diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 167a93f..0000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Deploy Website to GitHub Pages - -# 触发条件: -# 1) 推送到 main / master 分支,且改动命中 website/**(只改后端 Java 代码不会触发) -# 2) Actions 页面手动触发(改配置后重发很方便) -on: - push: - branches: [main, master] - paths: - - 'website/**' - - '.github/workflows/deploy.yml' - workflow_dispatch: - -# 推送产物到 gh-pages 分支需要写权限 -permissions: - contents: write - -# 同一时间只允许一个部署任务,避免并发冲突 -concurrency: - group: pages - cancel-in-progress: false - -jobs: - deploy: - name: Build & Deploy - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: npm - cache-dependency-path: website/package-lock.json - - - name: Build website - working-directory: website - run: | - npm ci - npm run build - - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: website/build - user_name: github-actions[bot] - user_email: 41898282+github-actions[bot]@users.noreply.github.com diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 3b4b823..0000000 --- a/.gitignore +++ /dev/null @@ -1,49 +0,0 @@ -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/**/target/ -!**/src/test/**/target/ - -.idea/ - -### IntelliJ IDEA ### -.idea/modules.xml -.idea/jarRepositories.xml -.idea/compiler.xml -.idea/libraries/ -*.iws -*.iml -*.ipr - -### Eclipse ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ -!**/src/main/**/build/ -!**/src/test/**/build/ - -### VS Code ### -.vscode/ - -### Mac OS ### -.DS_Store - -reference/ - -logs/ - -### Local scripts and private deployment config ### -bin/local/ -bin/quick/deploy.conf -conf/static/front/ diff --git a/website/static/.nojekyll b/.nojekyll similarity index 100% rename from website/static/.nojekyll rename to .nojekyll diff --git a/404.html b/404.html new file mode 100644 index 0000000..dd92e75 --- /dev/null +++ b/404.html @@ -0,0 +1,4 @@ +找不到页面 | SqlParserX + + +
跳到主要内容

找不到页面

我们找不到您要找的页面。

请联系原始链接来源网站的所有者,并告知他们链接已损坏。

\ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index f09c378..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,34 +0,0 @@ -# Changelog - -记录 SqlParserX 的重要功能、兼容性变化和修复,按日期倒序维护。 - -## 2026-10-13 - -### 新增 - -- 增加基于 Druid AST 的 SQL 业务类型识别,覆盖查询、DML、DDL、SHOW、DESCRIBE、EXPLAIN、数据库及部分方言语句。 -- 增加 SELECT 变量参数配置期解析和运行期预编译,支持 `${变量}`、可选条件剪枝、`IN` 集合展开、有序占位符绑定,以及 MySQL/Doris 类型转换。 -- 增加参数字段到真实表列的定位,支持普通表、schema/catalog、表别名、JOIN、查询块作用域和裸字段唯一性消歧。 -- 增加嵌套参数解析与输出字段隔离:CTE、派生表和标量子查询继续收集输入参数;最终输出只取最外层投影,顶层 UNION 使用第一分支定义输出结构。 - -### 修复与完善 - -- 修复嵌套 SQL 的内部投影污染最终 API 输出的问题;复杂回归 SQL 的输出从错误累计的 30 列收敛为最外层实际的 7 列。 -- 遇到 JOIN 中无法唯一确定来源的裸字段时,不再根据元数据 Map 顺序猜测类型。 -- 精简参数结果模型,移除没有有效用途的字段,并将解析过程中的参数块状态收在内部实现中。 -- 补充参数输入/输出数量断言、默认值和配置值预编译测试,并把参数解析与 SQL 类型测试纳入聚合测试套件。 -- 补充变量参数解析、SQL 类型识别的能力支持矩阵和底层设计说明。 - -## 2026-10-10 - -- 统一 Core 与 Web 的数据源类型定义及解析器工厂管理方式。 -- 补充纯 Druid 变量参数解析与预编译实现方案,明确配置期和运行期接口边界。 - -## 2026-09-29 - -- 增加项目文档站和 GitHub Pages 自动发布流程,修复站点部署使用的分支配置。 - -## 2026-09-28 - -- 建立 `sqlparserx-syntax` 语法解析层与 `sqlparserx-core` 业务解析层的双层模块结构。 -- 补充中英文项目说明、模块扩展文档和架构设计资料。 diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 9c8f3ea..0000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 60a8516..0000000 --- a/README.md +++ /dev/null @@ -1,286 +0,0 @@ -![SqlParserX](docs/images/banner.png) - -> **English** | [简体中文](README_zh-CN.md) - -[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) -![Language: Java](https://img.shields.io/badge/Language-Java%208-blue.svg) -![Dialects](https://img.shields.io/badge/Dialects-15%2B-orange.svg) - -## Introduction - -> A multi-database SQL parsing engine and toolkit: table parsing, table/column lineage, function extraction, SQL splitting, row-level permission rewriting, with a Java Module, Web service and visualization frontend. - -SqlParserX is a "**Druid syntax parsing layer + SqlParserX business parsing layer**" SQL parsing middleware. - -SqlParserX originated from practical work on multi-datasource SQL parsing, AST unification and reusable business parsing. It gradually evolved from an internal parsing refactoring into an independent two-layer SQL parsing engine. For the project background, internal refactoring journey and design rationale, see the technical blog: [The Origin and Internal Refactoring of SqlParserX](docs/blogs/20260928:SqlParserX的诞生起源背景%26内部改造.md). - -## Core Capabilities - -| Problem | SqlParserX Solution | -|---|---| -| Different SQL dialects across databases | Unified AST through Druid dialect parsing and `DbType` routing | -| Real tables and DDL structure hidden in SQL text | **Table parsing** (main tables, real tables, CTEs, subqueries) and **CREATE TABLE parsing** (columns, comments, partitions, buckets, keys, properties) | -| Data processing lineage impossible to trace | **Table lineage** and **column lineage**, covering JOIN, UNION, subqueries, aggregates, CASE, window functions and CTEs | -| Want to know which functions a SQL uses | **Function extraction** of function names used in the SQL | -| Multi-statement scripts hard to process one by one | **Multi-statement parsing**, **SQL splitting** and **syntax validation** | -| Permission predicates manually stitched and error-prone | **Row-level permission rewriting**, injecting permission predicates into query/insert/update SQL | -| Dynamic variables in SQL hard to parameterize | **Parameter extraction & prepared-statement rewriting**, parsing `${var}` into JDBC `?` placeholders | -| Parsing capability hard to integrate into existing systems | Java Module, Web service and visualization frontend | - -SqlParserX's common parsing capabilities are built around the following core scenarios. For detailed support of each capability, see the [common parsing capability docs](docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表解析支持情况.md): - -## Quick Examples - -### Maven dependency - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -### 1. Table Lineage - -```java -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -TableLineageResult result = parser.parseTableLineages( - "INSERT INTO db1.table1 " + - "SELECT a.id, b.name FROM db2.table2 a JOIN db3.table3 b ON a.id = b.id"); -result.getTableLineages().forEach(System.out::println); -``` - -Output: - -```text -Target Tables: - db1.table1 -Source Tables: - db2.table2 - db3.table3 -``` - -### 2. Column Lineage - -```java -ColumnLineageResult result = parser.parseColumnLineages( - "CREATE TABLE db1.summary AS " + - "SELECT u.id AS user_id, SUM(o.amount) AS total_amount " + - "FROM db1.users u JOIN db1.orders o ON u.id = o.user_id " + - "GROUP BY u.id", - tableColumnsMap /* optional: real columns for `SELECT *` expansion */); - -result.printColumnLineage(); -``` - -Output: - -```text -db1.users.id -> db1.summary.user_id -db1.users.id, db1.orders.amount -> db1.summary.total_amount -``` - -Column lineage traces each target column back to its source columns through expressions, aggregates, `CASE`, window functions, `*` expansion and CTEs. - -### 3. SQL Parameter Extraction & Prepared-Statement Compilation - -SQL scripts often contain dynamic variables such as `${bizdate}`. SqlParserX provides two core entry points: **parameter extraction** (`parseParameterSql`, resolving variables with their positions and types) and **prepared-statement rewriting** (`buildSqlByPrepareCompile`, replacing `${var}` with `?` placeholders and returning the ordered parameter values): - -```java -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -String sql = "SELECT * FROM db1.table1 WHERE dt = '${bizdate}' AND region = '${region}'"; - -// 1. Extract dynamic variables (name, required flag, default value, bound table column, ...) -ParseParameterResult paramResult = parser.parseParameterSql(sql, false, null); -paramResult.getInputParams().forEach(p -> - System.out.println(p.getName() + " / " + p.getDataType() + " / " + p.getSqlPart())); - -// 2. Compile to a prepared statement with ordered parameter values -Map inParams = new HashMap<>(); -inParams.put("bizdate", "20240101"); -inParams.put("region", "hangzhou"); - -PrepareCompileResult compileResult = parser.buildSqlByPrepareCompile(sql, inParams, columns); -compileResult.getBeautifulSql(); // SELECT * FROM db1.table1 WHERE dt = ? AND region = ? -compileResult.getInputFields(); // [20240101, hangzhou] -``` - -Output: - -```text -bizdate / ... / dt = '${bizdate}' -region / ... / region = '${region}' - -SELECT * FROM db1.table1 WHERE dt = ? AND region = ? -[20240101, hangzhou] -``` - -See [`sqlparserx-core/README.md`](sqlparserx-engine/sqlparserx-core/README.md) for the complete runnable example. - -### Other Capabilities - -| Capability | Description | -|---|---| -| SQL type parsing | Identifying SQL statement types for routing and validation scenarios | -| SQL splitting | Multi-statement script splitting with Druid-native strategies | - -For detailed support of each capability per datasource, see the [common parsing capability docs](docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表解析支持情况.md) series and the [Support Datasource](#support-datasource) section. - -## Architecture - -SqlParserX adopts a layered, decoupled design with clear responsibilities per layer: - -![SqlParserX two-layer unified extension architecture](docs/架构设计/SqlParserX两层架构-en.png) - -```text -Access: sqlparserx-web (REST) / sqlparserx-ui - │ unified ISqlParser contract -Business layer: sqlparserx-core - │ SQL + DbType / SQLStatement AST -Syntax layer: sqlparserx-syntax (Druid 1.2.28) -``` - -**Business-layer internals**: `SqlParserFactory` (selects the dialect by Druid `DbType`) → `ISqlParser` (unified contract) → `BaseSqlParser` (dispatches AST to Clients) → dialect implementations (override table/lineage parsing as needed). For quick usage examples, see the [Core Capabilities](#core-capabilities) section above. - -| Module | Layer | Description | Technology | -|---|---|---|---| -| `sqlparserx-syntax` | Syntax parsing | SQL-to-AST, multi-statement parsing, SQL splitting and Druid dialect extensions | Java 8 + Druid 1.2.28 | -| `sqlparserx-core` | Business parsing | Tables, lineage, CREATE TABLE, functions and SQL rewriting | Java 8 + `sqlparserx-syntax` | -| `sqlparserx-web` | Access layer | Spring Boot REST service, providing HTTP API and hosting frontend assets | Spring Boot 2.3.12 + Java 8 | -| `sqlparserx-ui` | Access layer | Frontend toolkit (lineage visualization, parsing/validation/splitting tests) | Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5 | - -### Unified contract `ISqlParser` - -The unified business-layer contract implemented by all dialect parsers: - -```java -ParseTableResult parseTables(String sql); // table parsing -ParseCreateTableResult parseCreateTable(String sql); // CREATE TABLE parsing -ColumnLineageResult parseColumnLineages(String sql, Map> meta); // column lineage -TableLineageResult parseTableLineages(String sql); // table lineage -Set parseFunction(String sql); // function extraction -String getRowLevelPermissionSql(String sql, List<...> permissionParams); // row-level permission -ParseParameterResult parseParameterSql(String sql, Boolean isIgnoreSyntaxCheck, - Map> tableColumnsMap); // variable parameter parsing (config phase) -PrepareCompileResult buildSqlByPrepareCompile(String sql, Map inParams, - Map columns); // prepared-statement rewriting (runtime phase) -``` - -### Layered extension model - -Dialect implementations should extend `BaseSqlParser` and only override the corresponding Client when there is a real difference. For example, when the syntax layer adds `MySqlRenameTableStatement` that the generic `ParseTableClient` does not handle, you can define a `MySqlParseTableClient` under the `parser.mysql` package that extends and overrides `parseTables`. See [`sqlparserx-core/README.md`](sqlparserx-engine/sqlparserx-core/README.md) for details. - -## Support Datasource - -| Datasource | Business parsing documentation | Syntax parsing documentation | Support description | -|---|---|---|---| -| MySQL | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/mysql/SQL业务解析支持情况.md) | [Syntax](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/mysql/SQL语法解析支持情况.md) | Priority support; enhanced RENAME TABLE handling. | -| Doris | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/doris/SQL业务解析支持情况.md) | [Syntax](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/doris/SQL语法解析支持情况.md) | Strong support: CREATE TABLE, table/column lineage, case matching and CTE forward references, with dedicated tests. | -| StarRocks | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/starrocks/SQL业务解析支持情况.md) | [Syntax](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/starrocks/SQL语法解析支持情况.md) | Priority support: DISTRIBUTED BY, DUPLICATE KEY / AGGREGATE KEY DDL parsing. | -| Hive | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| ClickHouse | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| Oracle | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| DM | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| OceanBase | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| OceanBase (Oracle mode) | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| PostgreSQL | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| Greenplum | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| Spark | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| SQL Server | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| TiDB | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | -| Trino | [Business](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [Syntax](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Standard support: registered parser, mostly reuses Base implementation. | - -> Note: MySQL, Doris and StarRocks have dedicated datasource docs; the table above only lists officially registered dialects in SqlParserX Core. The Web `/api/datasource/types` keeps source-level validation with Core's `SqlParserFactory`; Web-only compatibility mappings are not included in the support list. - -## Parsing Capability Support - -SqlParserX capability support requires checking both "whether the syntax layer produces the correct AST" and "whether the business layer outputs stable results". Current capability docs are maintained at the following levels: - -| Documentation | Scope | -|---|---| -| [SQL syntax parsing support](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Druid version, official dialect grammar range and SqlParserX syntax-layer adaptation boundary | -| [SQL business parsing support](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | Datasource matrix, syntax/business two-layer adaptation, common parsing capabilities and dedicated doc index | -| [Module dependency design](docs/02、SQL业务层解析能力支撑情况/模块依赖包引用结构设计.md) | Dependency boundaries of `sqlparserx-syntax`, `sqlparserx-core` and `sqlparserx-engine` | -| [Architecture design](docs/架构设计/架构设计.md) | Unified extension model and collaboration boundary of the syntax and business layers | - -Current core parsing capabilities: - -| Capability | Description | -|---|---| -| Table parsing | Main tables, real tables, CTEs, subqueries and multiple DML/DDL scenarios | -| CREATE TABLE parsing | Table, columns, comments, partitions, buckets, keys and properties | -| Column lineage | INSERT/CTAS, JOIN, UNION, aggregates, CASE, window functions, `*` expansion and CTEs | -| Table lineage | Target tables, source tables and their relations, with CTE forward-reference inference | -| Function extraction | Function names used in the SQL | -| SQL splitting | Multi-statement script splitting with Druid-native strategies | -| SQL rewriting | Row-level permission predicate injection and related SQL filtering strategies | - -## Project Structure - -``` -SqlParserX -├── sqlparserx-engine/ # SQL parsing engine aggregate parent module (packaging=pom) -│ ├── sqlparserx-syntax/ # SQL syntax parsing layer (Java 8 + Druid) -│ └── sqlparserx-core/ # SQL business parsing layer (Java 8) -│ └── src/main/java/com/dtstack/sqlparserx/core -│ ├── parser/ # factory, unified interface, base class and 15 dialect implementations -│ │ ├── base/ # base implementations for tables/lineage/parameters/filtering -│ │ ├── mysql/ hive/ doris/ starrocks/ ... # dialect extensions -│ │ └── ... -│ ├── select/ # select tracing engine (shared by column/table lineage) -│ ├── enums/ # parsing strategy, matching strategy and column type enums -│ └── utils/ # SQL splitting, table source parsing and other utilities -├── sqlparserx-web/ # Spring Boot REST service (:8888) -├── sqlparserx-ui/ # Vue2 + Vite frontend toolkit -├── bin/ # start/stop scripts (centos-sqlparserx.sh / base.sh) -├── conf/ # external configuration: application.properties, logback.xml, static frontend assets -└── assembly.xml # directory-style deployment packaging descriptor -``` - -## Known Limitations - -- Parameter parsing (`parseParameterSql` / `buildSqlByPrepareCompile`) and `filterSortSelectField` are placeholder implementations at the base layer (returning empty); they are reserved capabilities without concrete logic yet. -- Maven surefire in `sqlparserx-core` defaults to `skipTests=true`; CI builds do not run tests by default. -- The frontend `sqlparserx-ui/README.md` contains default Vite template text; the actual stack is Vue 2.7 + Element UI 2.x. - -## Questions - -[FAQ Reference](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md). For usage questions, bugs or support requests, please open an issue with the datasource type, SQL sample, expected result and actual result, and we will follow up promptly. - -Recommended references for common questions: - -- [Architecture design](docs/架构设计/架构设计.md) -- [SQL syntax parsing support](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) -- [SQL business parsing support](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) - -## Contribution - -Contributions of any form are welcome: bug fixes, new dialect support, lineage parsing enhancements and documentation improvements. - -- **Open an Issue**: if you find a bug or want a new capability, please open an issue first with reproduction steps and expected behavior. -- **Submit a PR**: fork the repository, develop on a feature branch (e.g. `feat_1.0.x_x`), follow the existing layered extension model (add dialect implementations or override Clients under the `parser` package), add corresponding test cases, then open a pull request. -- **Development conventions**: keep the core library Java 8 compatible; prefer extending `BaseSqlParser` for new dialect implementations and only override methods when necessary; test cases can follow the suite organization in `AllTestsSuite`. - -Before submitting a merge request (MR) or pull request (PR), you must run a local build from the project root: - -```bash -mvn clean package -U -DskipTests -``` - -- `-U` (`--update-snapshots`): forces Maven to check remote repositories for the latest SNAPSHOT dependency updates. -- `-DskipTests`: skips test execution. - -Before submitting a pull request, please read the [Contributing Guide](docs/02、SQL业务层解析能力支撑情况/标准迭代维护扩展文档/SqlParserX解析能力标准迭代维护扩展指南.md) and the architecture, module dependency and capability support docs to make sure new logic is placed in the correct syntax or business layer. - -## Contributor - -Thanks to all contributors of code, tests, documentation and issue feedback. New contributors can join the project collaboration by opening issues or pull requests. - -[View project contributors and commit history](https://gitlab.prod.dtstack.cn/changlu/SqlParserX/-/graphs/master) - -## License - -SqlParserX is licensed under the [Apache License 2.0](LICENSE). See [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) for details. diff --git a/README_zh-CN.md b/README_zh-CN.md deleted file mode 100644 index da4db75..0000000 --- a/README_zh-CN.md +++ /dev/null @@ -1,298 +0,0 @@ -![SqlParserX](docs/images/banner.png) - -> [English](README.md) | **简体中文** - -[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) -![Language: Java](https://img.shields.io/badge/Language-Java%208-blue.svg) -![Dialects](https://img.shields.io/badge/Dialects-15%2B-orange.svg) - -## 介绍 - -> 多数据库方言 SQL 解析引擎与工具集:表解析、表/字段血缘解析、函数解析、SQL 切分、行级权限 SQL 过滤,并提供 Java Module、Web 服务与可视化前端。 - -SqlParserX 是一套「**Druid 语法解析层 + SqlParserX 业务解析层**」的 SQL 解析中间件。 - -SqlParserX 起源于对多数据源 SQL 解析、AST 统一和业务解析复用问题的持续实践,项目在内部解析能力改造的基础上逐步沉淀为独立的双层 SQL 解析引擎。关于项目为什么诞生、内部改造过程及设计思考,可阅读技术博客:[SqlParserX 的诞生起源背景 & 内部改造](docs/blogs/20260928:SqlParserX的诞生起源背景%26内部改造.md)。 - -## 核心提供能力 - -| 使用问题 | SqlParserX 解决方式 | -|---|---| -| 不同数据库 SQL 方言不一致 | 通过 Druid 方言解析和 `DbType` 路由统一生成 AST | -| 只拿到 SQL 文本,难以识别真实表和建表结构 | 提供**表解析**(主表、真实表、CTE、子查询)和**建表解析**(字段、注释、分区、分桶、Key、properties) | -| 数据加工链路无法追溯 | 提供**表血缘**和**字段血缘**,覆盖 JOIN、UNION、子查询、聚合、CASE、窗口函数和 CTE | -| 想了解 SQL 用到了哪些函数 | 提供**函数解析**,提取 SQL 中使用的函数名称 | -| 多条 SQL 脚本难以逐条处理 | 提供**多语句解析**、**SQL 切分**和**语法校验** | -| 权限条件需要手工拼接且容易出错 | 提供**行级权限改写**,向查询、写入和更新 SQL 注入行级权限条件 | -| SQL 中的动态变量难以参数化 | 提供**参数提取与预编译改写**,解析 `${变量}` 并改写为 JDBC `?` 占位符 | -| 解析能力难以接入现有系统或工具 | 提供 Java Module、Web 服务和可视化前端 | - -SqlParserX 的通用解析能力围绕以下核心场景构建,各能力的详细支持情况见 [通用解析能力文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表解析支持情况.md): - -## 快速示例 - -### 引入pom依赖 - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -### 1. 表血缘 - -```java -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -TableLineageResult result = parser.parseTableLineages( - "INSERT INTO db1.table1 " + - "SELECT a.id, b.name FROM db2.table2 a JOIN db3.table3 b ON a.id = b.id"); -result.getTableLineages().forEach(System.out::println); -``` - -输出: - -```text -Target Tables: - db1.table1 -Source Tables: - db2.table2 - db3.table3 -``` - -### 2. 字段血缘 - -```java -ColumnLineageResult result = parser.parseColumnLineages( - "CREATE TABLE db1.summary AS " + - "SELECT u.id AS user_id, SUM(o.amount) AS total_amount " + - "FROM db1.users u JOIN db1.orders o ON u.id = o.user_id " + - "GROUP BY u.id", - tableColumnsMap /* 可选:传入真实表字段信息,用于 `SELECT *` 展开 */); - -result.printColumnLineage(); -``` - -输出: - -```text -db1.users.id -> db1.summary.user_id -db1.users.id, db1.orders.amount -> db1.summary.total_amount -``` - -字段血缘将每个目标字段追溯到其来源字段,覆盖表达式、聚合、`CASE`、窗口函数、`*` 展开和 CTE。 - -### 3. SQL 参数提取与预编译 - -SQL 脚本中常包含 `${bizdate}` 这类动态变量。SqlParserX 提供两个核心入口:**参数提取**(`parseParameterSql`,解析脚本中的变量及其位置、类型信息)与**预编译改写**(`buildSqlByPrepareCompile`,将 `${var}` 替换为预编译占位符并生成参数值列表): - -```java -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -String sql = "SELECT * FROM db1.table1 WHERE dt = '${bizdate}' AND region = '${region}'"; - -// 1、参数提取:解析 SQL 中的动态变量(名称、是否必填、默认值、绑定的表字段等) -ParseParameterResult paramResult = parser.parseParameterSql(sql, false, null); -paramResult.getInputParams().forEach(p -> - System.out.println(p.getName() + " / " + p.getDataType() + " / " + p.getSqlPart())); - -// 2、预编译:传入参数值,得到 ? 占位符 SQL 与按序参数列表 -Map inParams = new HashMap<>(); -inParams.put("bizdate", "20240101"); -inParams.put("region", "hangzhou"); - -PrepareCompileResult compileResult = parser.buildSqlByPrepareCompile(sql, inParams, columns); -compileResult.getBeautifulSql(); // SELECT * FROM db1.table1 WHERE dt = ? AND region = ? -compileResult.getInputFields(); // [20240101, hangzhou] -``` - -输出: - -```text -bizdate / ... / dt = '${bizdate}' -region / ... / region = '${region}' - -SELECT * FROM db1.table1 WHERE dt = ? AND region = ? -[20240101, hangzhou] -``` - -完整可运行示例见 [`sqlparserx-core/README.md`](sqlparserx-engine/sqlparserx-core/README.md)。 - -### 其他能力 - -| 能力 | 说明 | -|---|---| -| SQL 类型解析 | 识别 SQL 语句类型,支撑路由与校验场景 | -| SQL 切分 | 支持多语句脚本切分及 Druid 原生切分策略 | - -各能力在各数据源下的详细支持情况,见 [通用解析能力文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表解析支持情况.md) 系列与 [数据源支持](#support-datasource数据源支持) 章节。 - -## 架构 - -SqlParserX 采用分层解耦设计,各层职责清晰、可独立演进: - -![SqlParserX 双层统一扩展架构](docs/架构设计/SqlParserX两层架构.png) - -> Draw.io 源文件与完整设计说明见:[双层架构设计](docs/架构设计/架构设计.md)|[SqlParserX两层架构.drawio](docs/架构设计/SqlParserX两层架构.drawio)。 - -``` -┌──────────────────────────────────────────────────────────┐ -│ 能力出口层 │ -│ sqlparserx-web (REST :8888) │ sqlparserx-ui (Vue + ECharts) │ -│ sqlparserx-ui (Vue2 + ECharts 血缘可视化) │ -└───────────────────────────┬──────────────────────────────┘ - │ 依赖统一契约 ISqlParser -┌───────────────────────────▼──────────────────────────────┐ -│ 解析业务层(本项目自研) sqlparserx-core │ -│ 工厂 → 接口 → 基类 → 方言扩展 │ -│ 表解析 / 血缘 / 建表 / 函数 / 切分 / 行级权限过滤 │ -└───────────────────────────┬──────────────────────────────┘ - │ SQL + DbType / SQLStatement AST -┌───────────────────────────▼──────────────────────────────┐ -│ 语法解析层 sqlparserx-syntax │ -│ 统一语法 API / Druid 1.2.28 / 方言 Lexer·Parser·AST 扩展 │ -└──────────────────────────────────────────────────────────┘ -``` - -**业务层内部分层**:`SqlParserFactory`(按 Druid `DbType` 选择方言)→ `ISqlParser`(统一契约)→ `BaseSqlParser`(AST 分发到各 Client)→ 各方言实现(按需重写表/血缘解析)。各能力的快速使用示例见上方 [核心能力](#核心能力) 章节。 - -| 模块 | 层次 | 说明 | 技术栈 | -|---|---|---|---| -| `sqlparserx-syntax` | 语法解析层 | SQL→AST、多语句解析、SQL 切分及 Druid 方言语法扩展 | Java 8 + Druid 官方 1.2.28 | -| `sqlparserx-core` | 解析业务层 | 表、血缘、建表、函数和 SQL 改写等业务解析能力 | Java 8 + `sqlparserx-syntax` | -| `sqlparserx-web` | 能力出口层 | Spring Boot REST 服务,提供 HTTP API 并托管前端静态资源 | Spring Boot 2.3.12 + Java 8 | -| `sqlparserx-ui` | 能力出口层 | 前端工具集(血缘可视化、解析/校验/切分测试) | Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5 | - -### 核心契约 `ISqlParser` - -业务层对外统一契约,所有方言解析器均实现该接口: - -```java -ParseTableResult parseTables(String sql); // 表解析 -ParseCreateTableResult parseCreateTable(String sql); // 建表解析 -ColumnLineageResult parseColumnLineages(String sql, Map> meta); // 字段血缘 -TableLineageResult parseTableLineages(String sql); // 表血缘 -Set parseFunction(String sql); // 函数解析 -String getRowLevelPermissionSql(String sql, List<...> permissionParams); // 行级权限过滤 -ParseParameterResult parseParameterSql(String sql, Boolean isIgnoreSyntaxCheck, - Map> tableColumnsMap); // 变量参数解析(配置期) -PrepareCompileResult buildSqlByPrepareCompile(String sql, Map inParams, - Map columns); // 预编译改写(运行期) -``` - -### 分层扩展模式 - -方言实现优先继承 `BaseSqlParser`,仅在确有差异时重写对应 Client。例如当 Druid 语法层新增了 `MySqlRenameTableStatement`,而通用 `ParseTableClient` 未处理时,可在 `parser.mysql` 包下自定义 `MySqlParseTableClient` 继承并重写 `parseTables`。详见 [`sqlparserx-core/README.md`](sqlparserx-engine/sqlparserx-core/README.md)。 - -## Support Datasource(数据源支持) - -| 数据源名称 | 业务解析文档 | 语法解析文档 | 支持说明 | -|---|---|---|---| -| MySQL | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/mysql/SQL业务解析支持情况.md) | [语法解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/mysql/SQL语法解析支持情况.md) | 重点支持:补充 RENAME TABLE 真实表识别,其余能力主要复用通用实现。 | -| Doris | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/doris/SQL业务解析支持情况.md) | [语法解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/doris/SQL语法解析支持情况.md) | 重度支持:覆盖建表、表/字段血缘、大小写匹配和 CTE 前向引用,并有专项测试。 | -| StarRocks | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/starrocks/SQL业务解析支持情况.md) | [语法解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/datasource/starrocks/SQL语法解析支持情况.md) | 重点支持:扩展 DISTRIBUTED BY、DUPLICATE KEY / AGGREGATE KEY 建表解析。 | -| Hive | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| ClickHouse | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| Oracle | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| DM(达梦) | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| OceanBase | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| OceanBase(Oracle 模式) | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| PostgreSQL | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| Greenplum | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| Spark | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| SQL Server | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| TiDB | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | -| Trino | [业务解析文档](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | [语法解析文档](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | 标准支持:已注册独立业务解析器,主要复用 Base 实现,当前以通用测试为主。 | - -> 说明:MySQL、Doris、StarRocks 已建立数据源专项文档;当前表仅列出 SqlParserX Core 已注册的正式方言。Web 的 `/api/datasource/types` 与 Core 的 `SqlParserFactory` 保持同源校验,Web-only 兼容映射数据源不纳入支持列表。 - -## 解析能力支持 - -SqlParserX 的能力支持需要同时检查“语法层能否生成正确 AST”和“业务层能否输出稳定结果”。当前能力文档按以下层次维护: - -| 文档 | 内容 | -|---|---| -| [SQL 语法层解析能力支撑情况](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) | Druid 版本、官方方言语法范围及 SqlParserX 语法层适配边界 | -| [SQL 业务层解析能力支撑导航](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) | 数据源总表、语法/业务双层适配情况、通用解析能力与专项文档索引 | -| [模块依赖包引用结构设计](docs/02、SQL业务层解析能力支撑情况/模块依赖包引用结构设计.md) | `sqlparserx-syntax`、`sqlparserx-core` 及 `sqlparserx-engine` 的依赖边界 | -| [双层架构设计](docs/架构设计/架构设计.md) | 语法解析层与业务解析层的统一扩展模式和协作边界 | - -当前核心解析能力包括: - -| 能力 | 说明 | -|---|---| -| 表解析 | 识别主表、真实表、CTE、子查询及多种 DML/DDL 场景 | -| 建表解析 | 提取表、字段、注释、分区、分桶、Key 和 properties 等结构信息 | -| 字段血缘 | 支持 INSERT/CTAS、JOIN、UNION、聚合、CASE、窗口函数、`*` 展开和 CTE | -| 表血缘 | 输出目标表、来源表及表间关系,支持 CTE 前向引用推断 | -| 函数解析 | 提取 SQL 中使用的函数名称 | -| SQL 切分 | 支持多语句脚本切分及 Druid 原生切分策略 | -| SQL 改写 | 支持行级权限条件注入及相关 SQL 过滤策略 | -## 目录结构 - -``` -SqlParserX -├── sqlparserx-engine/ # SQL 解析引擎聚合父模块(packaging=pom) -│ ├── sqlparserx-syntax/ # SQL 语法解析层(Java 8 + Druid) -│ └── sqlparserx-core/ # SQL 业务解析层(Java 8) -│ └── src/main/java/com/dtstack/sqlparserx/core -│ ├── parser/ # 工厂、统一接口、基类与 15 种方言实现 -│ │ ├── base/ # 表/血缘/参数/过滤的基础实现 -│ │ ├── mysql/ hive/ doris/ starrocks/ ... # 方言扩展 -│ │ └── ... -│ ├── select/ # select 追溯引擎(字段/表血缘共用) -│ ├── enums/ # 解析策略、匹配策略、字段类型枚举 -│ └── utils/ # SQL 切分、表源解析等工具 -├── sqlparserx-web/ # Spring Boot REST 服务(:8888) -├── sqlparserx-ui/ # Vue2 + Vite 前端工具集 -├── bin/ # 启停脚本(centos-sqlparserx.sh / base.sh) -├── conf/ # 外部配置:application.properties、logback.xml、static 前端产物 -└── assembly.xml # 目录式部署打包描述 -``` - -## 已知限制 - -- 参数解析(`parseParameterSql` / `buildSqlByPrepareCompile`)与 `filterSortSelectField` 在 base 层为占位实现(返回空),属于预留能力,尚未落地具体逻辑。 -- `sqlparserx-core` 的 Maven surefire 默认 `skipTests=true`,CI 构建默认不执行测试。 -- 前端 `sqlparserx-ui/README.md` 为 Vite 模板默认文案,实际技术栈为 Vue 2.7 + Element UI 2.x,与模板文案不符。 - -## Questions - -[FAQ Reference](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md)。如有使用问题、Bug 或支持需求,请提交 Issue,并附上数据源类型、SQL 示例、期望结果和实际结果,我们会及时跟进。 - -常见问题可优先参考: - -- [架构设计](docs/架构设计/架构设计.md) -- [SQL 语法层解析能力支撑情况](docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) -- [SQL 业务层解析能力支撑导航](docs/02、SQL业务层解析能力支撑情况/能力支持情况/README.md) - -## Contribution - -欢迎任何形式的贡献:Bug 修复、新方言支持、血缘解析增强、文档改进等。 - -- **提 Issue**:使用中发现 Bug 或希望新增能力,请先提交 Issue 描述复现步骤与期望行为。 -- **提 PR**:Fork 本仓库,在功能分支(如 `feat_1.0.x_x`)上开发,遵循现有分层扩展模式(在 `parser` 包下新增方言实现或重写对应 Client),补充对应测试用例后提交 Pull Request。 -- **开发规范**:核心库保持 Java 8 兼容;新增方言实现优先继承 `BaseSqlParser`,仅在确有差异时重写方法;测试用例可参考 `AllTestsSuite` 的套件组织方式。 - -提交 Merge Request(MR)前,必须在项目根目录执行一次本地编译打包: - -```bash -mvn clean package -U -DskipTests -``` - -- `-U`(`--update-snapshots`):强制检查远程仓库中的 SNAPSHOT 依赖是否有最新更新。 -- `-DskipTests`:跳过测试执行。 - -提交 Pull Request 前,请先阅读 [Contributing Guide](docs/02、SQL业务层解析能力支撑情况/标准迭代维护扩展文档/SqlParserX解析能力标准迭代维护扩展指南.md) 以及项目中的架构设计、模块依赖和能力支持文档,确保新增逻辑放在正确的语法层或业务层。 - -## Contributor - -感谢所有参与代码、测试、文档和问题反馈的贡献者。新增贡献者可通过提交 Issue 或 Pull Request 加入项目协作。 - -[查看项目贡献者与提交记录](https://gitlab.prod.dtstack.cn/changlu/SqlParserX/-/graphs/master) - -## License - -SqlParserX 采用 [Apache License 2.0](LICENSE),许可证详情参见 [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)。 diff --git a/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/controller/ParameterController.java b/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/controller/ParameterController.java deleted file mode 100644 index da7d796..0000000 --- a/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/controller/ParameterController.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.controller; - -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult; -import com.dtstack.sqlparserx.domain.ResponseResult; -import com.dtstack.sqlparserx.enums.DataSourceType2DbType; -import com.dtstack.sqlparserx.vo.ParameterParseRequest; -import com.dtstack.sqlparserx.vo.PrepareCompileRequest; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Collections; - -@RestController -@RequestMapping("/api/parameter") -public class ParameterController { - - private static final Logger log = LoggerFactory.getLogger(ParameterController.class); - - @PostMapping("/parse") - public ResponseResult parseParameters(@RequestBody ParameterParseRequest request) { - if (request == null || !isValid(request.getDatasourceType()) || isBlank(request.getSql())) { - return ResponseResult.error("请提供有效的数据源类型和 SQL 语句"); - } - try { - ISqlParser parser = getParser(request.getDatasourceType()); - ParseParameterResult result = parser.parseParameterSql(request.getSql(), - request.getIgnoreSyntaxCheck(), request.getTableColumnsMap() == null - ? Collections.emptyMap() - : request.getTableColumnsMap()); - return ResponseResult.success(result); - } catch (Exception e) { - log.error("parseParameters error", e); - return ResponseResult.error(errorMessage(e)); - } - } - - @PostMapping("/prepareCompile") - public ResponseResult prepareCompile(@RequestBody PrepareCompileRequest request) { - if (request == null || !isValid(request.getDatasourceType()) || isBlank(request.getSql())) { - return ResponseResult.error("请提供有效的数据源类型和 SQL 语句"); - } - try { - ISqlParser parser = getParser(request.getDatasourceType()); - PrepareCompileResult result = parser.buildSqlByPrepareCompile(request.getSql(), request.getInParams(), - request.getColumns()); - return ResponseResult.success(result); - } catch (Exception e) { - log.error("prepareCompile error", e); - return ResponseResult.error(errorMessage(e)); - } - } - - private ISqlParser getParser(Integer datasourceType) { - return SqlParserFactory.getSqlParser(DataSourceType2DbType.getSqlParserDataSourceType(datasourceType)); - } - - private boolean isValid(Integer datasourceType) { - return datasourceType != null && DataSourceType2DbType.isCoreSupported(datasourceType); - } - - private boolean isBlank(String value) { - return value == null || value.trim().isEmpty(); - } - - private String errorMessage(Exception exception) { - return exception.getMessage() == null ? "SQL 参数处理失败" : exception.getMessage(); - } -} diff --git a/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/enums/DataSourceType2DbType.java b/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/enums/DataSourceType2DbType.java deleted file mode 100644 index a31bdd2..0000000 --- a/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/enums/DataSourceType2DbType.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.enums; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; - -import com.alibaba.druid.DbType; - -import java.util.Arrays; -import java.util.Collections; -import java.util.Set; -import java.util.stream.Collectors; - -/** - * 将前端传入的数字值映射到 SqlParserX Core 数据源类型。 - * - *

这里只注册 Core 已有独立解析器实现的数据源,Druid DbType 仅由 Core - * 数据源类型派生,不作为前端支持范围的判断依据。

- */ -public enum DataSourceType2DbType { - MYSQL(SqlParserDataSourceType.MYSQL), HIVE(SqlParserDataSourceType.HIVE), TRINO( - SqlParserDataSourceType.TRINO), ORACLE(SqlParserDataSourceType.ORACLE), GREENPLUM( - SqlParserDataSourceType.GREENPLUM), TIDB(SqlParserDataSourceType.TIDB), POSTGRESQL( - SqlParserDataSourceType.POSTGRESQL), SQLSERVER( - SqlParserDataSourceType.SQLSERVER), STARROCKS( - SqlParserDataSourceType.STARROCKS), DORIS( - SqlParserDataSourceType.DORIS), OCEANBASE( - SqlParserDataSourceType.OCEANBASE), OCEANBASE_ORACLE( - SqlParserDataSourceType.OCEANBASE_ORACLE), DM( - SqlParserDataSourceType.DM), CLICKHOUSE( - SqlParserDataSourceType.CLICKHOUSE), SPARK( - SqlParserDataSourceType.SPARK); - - private final Set codes; - private final SqlParserDataSourceType sqlParserDataSourceType; - - DataSourceType2DbType(SqlParserDataSourceType dataSourceType) { - this.sqlParserDataSourceType = dataSourceType; - this.codes = Collections.singleton(dataSourceType.getValue()); - } - - public Set getCodes() { - return codes; - } - - public DbType getDbType() { - return sqlParserDataSourceType.getDbType(); - } - - public SqlParserDataSourceType getSqlParserDataSourceType() { - return sqlParserDataSourceType; - } - - /** Returns true only when the code maps one-to-one to a parser in core. */ - public static boolean isCoreSupported(int dataSourceType) { - return findByCode(dataSourceType) != null; - } - - /** The Web option list is derived from the core parser registry. */ - public static Set getCoreSupportedCodes() { - return Collections.unmodifiableSet(Arrays.stream(values()) - .flatMap(type -> type.codes.stream()) - .collect(Collectors.toSet())); - } - - /** Returns the mapped DbType, preserving the historical MySQL fallback. */ - public static DbType getDbType(int dataSourceType) { - DataSourceType2DbType mapping = findByCode(dataSourceType); - return mapping == null ? DbType.mysql : mapping.getDbType(); - } - - public static SqlParserDataSourceType getSqlParserDataSourceType(int dataSourceType) { - DataSourceType2DbType mapping = findByCode(dataSourceType); - return mapping == null ? SqlParserDataSourceType.MYSQL : mapping.sqlParserDataSourceType; - } - - public static DataSourceType2DbType getByCode(int dataSourceType) { - DataSourceType2DbType mapping = findByCode(dataSourceType); - return mapping == null ? MYSQL : mapping; - } - - private static DataSourceType2DbType findByCode(int dataSourceType) { - return Arrays.stream(values()) - .filter(type -> type.codes.contains(dataSourceType)) - .findFirst() - .orElse(null); - } -} diff --git a/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/vo/ParameterParseRequest.java b/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/vo/ParameterParseRequest.java deleted file mode 100644 index f4c50eb..0000000 --- a/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/vo/ParameterParseRequest.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.vo; - -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.DataTypeColumn; - -import lombok.Data; - -import java.util.List; -import java.util.Map; - -/** Request payload for extracting SQL parameters and output fields. */ -@Data -public class ParameterParseRequest { - private Integer datasourceType; - private String sql; - private Boolean ignoreSyntaxCheck; - private Map> tableColumnsMap; -} diff --git a/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/vo/PrepareCompileRequest.java b/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/vo/PrepareCompileRequest.java deleted file mode 100644 index adbdf4c..0000000 --- a/SqlParserX-web/src/main/java/com/dtstack/sqlparserx/vo/PrepareCompileRequest.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.vo; - -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ParamInfo; - -import lombok.Data; - -import java.util.Map; - -/** Request payload for building a parameterized SQL statement. */ -@Data -public class PrepareCompileRequest { - private Integer datasourceType; - private String sql; - private Map inParams; - private Map columns; -} diff --git a/SqlParserX-web/src/test/java/com/dtstack/sqlparserx/enums/DatasourceTypeEnumTest.java b/SqlParserX-web/src/test/java/com/dtstack/sqlparserx/enums/DatasourceTypeEnumTest.java deleted file mode 100644 index a287f1e..0000000 --- a/SqlParserX-web/src/test/java/com/dtstack/sqlparserx/enums/DatasourceTypeEnumTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.enums; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; - -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -import java.util.Arrays; -import java.util.Set; -import java.util.stream.Collectors; - -class DatasourceTypeEnumTest { - - @Test - void shouldMapEveryCoreDataSourceToOneWebEnumValue() { - Set webTypes = Arrays.stream(DatasourceTypeEnum.values()) - .map(DatasourceTypeEnum::getSqlParserDataSourceType) - .collect(Collectors.toSet()); - - Assertions.assertEquals(SqlParserDataSourceType.values().length, DatasourceTypeEnum.values().length); - Assertions.assertEquals(SqlParserDataSourceType.values().length, webTypes.size()); - Assertions.assertEquals(Arrays.stream(SqlParserDataSourceType.values()).collect(Collectors.toSet()), webTypes); - } -} diff --git a/assembly.xml b/assembly.xml deleted file mode 100644 index 41287c4..0000000 --- a/assembly.xml +++ /dev/null @@ -1,29 +0,0 @@ - - dt_public_service - true - - - - dir - - - - - - true - - - com.dtstack:SqlParserX-* - - lib - ${artifact.groupId}-${artifact.artifactId}.${artifact.extension} - runtime - - - - \ No newline at end of file diff --git a/assets/css/styles.325f5414.css b/assets/css/styles.325f5414.css new file mode 100644 index 0000000..a2babab --- /dev/null +++ b/assets/css/styles.325f5414.css @@ -0,0 +1 @@ +@layer docusaurus.infima{:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-500:var(--ifm-color-gray-500);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:.2s;--ifm-transition-slow:.4s;--ifm-transition-timing-default:cubic-bezier(.08,.52,.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:.1rem;--ifm-code-padding-vertical:.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:.875rem;--ifm-h6-font-size:.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:.8rem;--ifm-breadcrumb-padding-vertical:.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url("data:image/svg+xml;utf8,");--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-color:var(--ifm-font-color-base-inverse);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:.5rem;--ifm-toc-padding-horizontal:.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:.75rem;--ifm-menu-link-padding-vertical:.375rem;--ifm-menu-link-sublist-icon:url("data:image/svg+xml;utf8,");--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:.75rem;--ifm-navbar-item-padding-vertical:.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-hover-color:var(--ifm-color-primary);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url("data:image/svg+xml;utf8,");--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}*{box-sizing:border-box}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base)var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{word-wrap:break-word;margin:0}iframe{color-scheme:normal;border:0}.container{max-width:var(--ifm-container-width);padding:0 var(--ifm-spacing-horizontal);width:100%;margin:0 auto}.container--fluid{max-width:inherit}.row{margin:0 calc(var(--ifm-spacing-horizontal)*-1);flex-wrap:wrap;display:flex}.row--no-gutters{margin-left:0;margin-right:0}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;max-width:var(--ifm-col-width);padding:0 var(--ifm-spacing-horizontal);flex:1 0;width:100%;margin-left:0}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:calc(1/12*100%)}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:calc(2/12*100%)}.col--offset-2{margin-left:16.6667%}.col--3{--ifm-col-width:calc(3/12*100%)}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:calc(4/12*100%)}.col--offset-4{margin-left:33.3333%}.col--5{--ifm-col-width:calc(5/12*100%)}.col--offset-5{margin-left:41.6667%}.col--6{--ifm-col-width:calc(6/12*100%)}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:calc(7/12*100%)}.col--offset-7{margin-left:58.3333%}.col--8{--ifm-col-width:calc(8/12*100%)}.col--offset-8{margin-left:66.6667%}.col--9{--ifm-col-width:calc(9/12*100%)}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:calc(10/12*100%)}.col--offset-10{margin-left:83.3333%}.col--11{--ifm-col-width:calc(11/12*100%)}.col--offset-11{margin-left:91.6667%}.col--12{--ifm-col-width:calc(12/12*100%)}.col--offset-12{margin-left:100%}.margin--none{margin:0!important}.margin-top--none{margin-top:0!important}.margin-left--none{margin-left:0!important}.margin-bottom--none{margin-bottom:0!important}.margin-right--none{margin-right:0!important}.margin-vert--none{margin-top:0!important;margin-bottom:0!important}.margin-horiz--none{margin-left:0!important;margin-right:0!important}.margin--xs{margin:.25rem!important}.margin-top--xs{margin-top:.25rem!important}.margin-left--xs{margin-left:.25rem!important}.margin-bottom--xs{margin-bottom:.25rem!important}.margin-right--xs{margin-right:.25rem!important}.margin-vert--xs{margin-top:.25rem!important;margin-bottom:.25rem!important}.margin-horiz--xs{margin-left:.25rem!important;margin-right:.25rem!important}.margin--sm{margin:.5rem!important}.margin-top--sm{margin-top:.5rem!important}.margin-left--sm{margin-left:.5rem!important}.margin-bottom--sm{margin-bottom:.5rem!important}.margin-right--sm{margin-right:.5rem!important}.margin-vert--sm{margin-top:.5rem!important;margin-bottom:.5rem!important}.margin-horiz--sm{margin-left:.5rem!important;margin-right:.5rem!important}.margin--md{margin:1rem!important}.margin-top--md{margin-top:1rem!important}.margin-left--md{margin-left:1rem!important}.margin-bottom--md{margin-bottom:1rem!important}.margin-right--md{margin-right:1rem!important}.margin-vert--md{margin-top:1rem!important;margin-bottom:1rem!important}.margin-horiz--md{margin-left:1rem!important;margin-right:1rem!important}.margin--lg{margin:2rem!important}.margin-top--lg{margin-top:2rem!important}.margin-left--lg{margin-left:2rem!important}.margin-bottom--lg{margin-bottom:2rem!important}.margin-right--lg{margin-right:2rem!important}.margin-vert--lg{margin-top:2rem!important;margin-bottom:2rem!important}.margin-horiz--lg{margin-left:2rem!important;margin-right:2rem!important}.margin--xl{margin:5rem!important}.margin-top--xl{margin-top:5rem!important}.margin-left--xl{margin-left:5rem!important}.margin-bottom--xl{margin-bottom:5rem!important}.margin-right--xl{margin-right:5rem!important}.margin-vert--xl{margin-top:5rem!important;margin-bottom:5rem!important}.margin-horiz--xl{margin-left:5rem!important;margin-right:5rem!important}.padding--none{padding:0!important}.padding-top--none{padding-top:0!important}.padding-left--none{padding-left:0!important}.padding-bottom--none{padding-bottom:0!important}.padding-right--none{padding-right:0!important}.padding-vert--none{padding-top:0!important;padding-bottom:0!important}.padding-horiz--none{padding-left:0!important;padding-right:0!important}.padding--xs{padding:.25rem!important}.padding-top--xs{padding-top:.25rem!important}.padding-left--xs{padding-left:.25rem!important}.padding-bottom--xs{padding-bottom:.25rem!important}.padding-right--xs{padding-right:.25rem!important}.padding-vert--xs{padding-top:.25rem!important;padding-bottom:.25rem!important}.padding-horiz--xs{padding-left:.25rem!important;padding-right:.25rem!important}.padding--sm{padding:.5rem!important}.padding-top--sm{padding-top:.5rem!important}.padding-left--sm{padding-left:.5rem!important}.padding-bottom--sm{padding-bottom:.5rem!important}.padding-right--sm{padding-right:.5rem!important}.padding-vert--sm{padding-top:.5rem!important;padding-bottom:.5rem!important}.padding-horiz--sm{padding-left:.5rem!important;padding-right:.5rem!important}.padding--md{padding:1rem!important}.padding-top--md{padding-top:1rem!important}.padding-left--md{padding-left:1rem!important}.padding-bottom--md{padding-bottom:1rem!important}.padding-right--md{padding-right:1rem!important}.padding-vert--md{padding-top:1rem!important;padding-bottom:1rem!important}.padding-horiz--md{padding-left:1rem!important;padding-right:1rem!important}.padding--lg{padding:2rem!important}.padding-top--lg{padding-top:2rem!important}.padding-left--lg{padding-left:2rem!important}.padding-bottom--lg{padding-bottom:2rem!important}.padding-right--lg{padding-right:2rem!important}.padding-vert--lg{padding-top:2rem!important;padding-bottom:2rem!important}.padding-horiz--lg{padding-left:2rem!important;padding-right:2rem!important}.padding--xl{padding:5rem!important}.padding-top--xl{padding-top:5rem!important}.padding-left--xl{padding-left:5rem!important}.padding-bottom--xl{padding-bottom:5rem!important}.padding-right--xl{padding-right:5rem!important}.padding-vert--xl{padding-top:5rem!important;padding-bottom:5rem!important}.padding-horiz--xl{padding-left:5rem!important;padding-right:5rem!important}code{background-color:var(--ifm-code-background);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical)var(--ifm-code-padding-horizontal);vertical-align:middle;border:.1rem solid rgba(0,0,0,.1)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height)var(--ifm-font-family-monospace);margin:0 0 var(--ifm-spacing-vertical);padding:var(--ifm-pre-padding);overflow:auto}pre code{font-size:100%;line-height:inherit;background-color:transparent;border:none;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);border-radius:.2rem;padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top)0 var(--ifm-heading-margin-bottom)0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:before{content:"";display:table}.markdown:after{clear:both;content:"";display:table}.markdown>:last-child{margin-bottom:0!important}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>pre,.markdown>ul,.markdown>p{margin-bottom:var(--ifm-leading)}.markdown li{word-wrap:break-word}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ul,ol{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ul ul,ul ol,ol ol,ol ul{margin:0}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}table{border-collapse:collapse;margin-bottom:var(--ifm-spacing-vertical);display:block;overflow:auto}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead{background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width)solid var(--ifm-table-border-color)}table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table th,table td{border:var(--ifm-table-border-width)solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);-webkit-text-decoration:var(--ifm-link-decoration);text-decoration:var(--ifm-link-decoration);transition:color var(--ifm-transition-fast)var(--ifm-transition-timing-default)}a:hover{color:var(--ifm-link-hover-color);-webkit-text-decoration:var(--ifm-link-hover-decoration);text-decoration:var(--ifm-link-hover-decoration)}a:not([href]){-webkit-text-decoration:none;text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width)solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);margin:0 0 var(--ifm-spacing-vertical);padding:var(--ifm-blockquote-padding-vertical)var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical)0;border:0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text--break{word-wrap:break-word!important;word-break:break-word!important}.text--no-decoration,.text--no-decoration:hover{-webkit-text-decoration:none;text-decoration:none}.clean-btn{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.clean-list{padding-left:0;list-style:none}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width)solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);color:var(--ifm-alert-foreground-color);padding:var(--ifm-alert-padding-vertical)var(--ifm-alert-padding-horizontal)}.alert__heading{font:bold var(--ifm-h5-font-size)/var(--ifm-heading-line-height)var(--ifm-heading-font-family);text-transform:uppercase;align-items:center;margin-bottom:.5rem;display:flex}.alert__icon{margin-right:.4em;display:inline-flex}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{color:var(--ifm-alert-foreground-color);margin:calc(var(--ifm-alert-padding-vertical)*-1)calc(var(--ifm-alert-padding-horizontal)*-1)0 0;opacity:.75}.alert .close:hover,.alert .close:focus{opacity:1}.alert a{-webkit-text-decoration-color:var(--ifm-alert-border-color);text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size);border-radius:50%;display:block;overflow:hidden}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{text-align:var(--ifm-avatar-intro-alignment);flex-direction:column;flex:1;justify-content:center;display:flex}.avatar__name{font:bold var(--ifm-h4-font-size)/var(--ifm-heading-line-height)var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:.5rem;flex-direction:column;align-items:center}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width)solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);padding:var(--ifm-badge-padding-vertical)var(--ifm-badge-padding-horizontal);line-height:1;display:inline-block}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);--ifm-badge-border-color:var(--ifm-badge-background-color);color:var(--ifm-color-black)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger);--ifm-badge-border-color:var(--ifm-badge-background-color)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item{display:inline-block}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator)center;content:" ";filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));display:inline-block}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);color:var(--ifm-font-color-base);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier))calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-property:background,color;transition-duration:var(--ifm-transition-fast);transition-timing-function:var(--ifm-transition-timing-default);display:inline-block}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width)solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);color:var(--ifm-button-color);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier))calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;transition-property:color,background,border-color;transition-duration:var(--ifm-button-transition-duration);transition-timing-function:var(--ifm-transition-timing-default);line-height:1.5;display:inline-block}.button:hover{color:var(--ifm-button-color);-webkit-text-decoration:none;text-decoration:none}.button--outline{--ifm-button-background-color:transparent;--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--outline:hover,.button--outline:active,.button--outline.button--active{--ifm-button-color:var(--ifm-font-color-base-inverse)}.button--link{--ifm-button-background-color:transparent;--ifm-button-border-color:transparent;color:var(--ifm-link-color);-webkit-text-decoration:var(--ifm-link-decoration);text-decoration:var(--ifm-link-decoration)}.button--link:hover,.button--link:active,.button--link.button--active{color:var(--ifm-link-hover-color);-webkit-text-decoration:var(--ifm-link-hover-decoration);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{width:100%;display:block}.button.button--secondary{color:var(--ifm-color-gray-900)}.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary:active,.button--primary.button--active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary:active,.button--secondary.button--active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success:active,.button--success.button--active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info:active,.button--info.button--active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning:active,.button--warning.button--active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger:active,.button--danger.button--active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{gap:var(--ifm-button-group-spacing);display:inline-flex}.button-group>.button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.button-group>.button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.button-group--block{justify-content:stretch;display:flex}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);flex-direction:column;display:flex;overflow:hidden}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__header,.card__body,.card__footer{padding:var(--ifm-card-vertical-spacing)var(--ifm-card-horizontal-spacing)}.card__header:not(:last-child),.card__body:not(:last-child),.card__footer:not(:last-child){padding-bottom:0}.card__header>:last-child,.card__body>:last-child,.card__footer>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{padding:var(--ifm-toc-padding-vertical)0;margin-bottom:0;font-size:.8rem}.table-of-contents,.table-of-contents ul{padding-left:var(--ifm-toc-padding-horizontal);list-style:none}.table-of-contents li{margin:var(--ifm-toc-padding-vertical)var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link:hover,.table-of-contents__link:hover code,.table-of-contents__link--active,.table-of-contents__link--active code{color:var(--ifm-color-primary);-webkit-text-decoration:none;text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);opacity:.5;transition:opacity var(--ifm-transition-fast)var(--ifm-transition-timing-default);padding:1rem;line-height:1}.close:hover{opacity:.7}.close:focus{opacity:.8}.dropdown{font-weight:var(--ifm-dropdown-font-weight);vertical-align:top;display:inline-flex;position:relative}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;visibility:visible;transform:translateY(-1px)}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);opacity:0;pointer-events:none;min-width:10rem;max-height:80vh;left:0;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);visibility:hidden;z-index:var(--ifm-z-index-dropdown);transition-property:opacity,transform,visibility;transition-duration:var(--ifm-transition-fast);transition-timing-function:var(--ifm-transition-timing-default);padding:.5rem;list-style:none;position:absolute;overflow-y:auto;transform:translateY(-.625rem)}.dropdown__link{color:var(--ifm-dropdown-link-color);white-space:nowrap;border-radius:.25rem;margin-top:.2rem;padding:.25rem .5rem;font-size:.875rem;display:block}.dropdown__link:hover,.dropdown__link--active{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);-webkit-text-decoration:none;text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{content:"";border:.4em solid transparent;border-top-color:currentColor;border-bottom:0 solid;margin-left:.3em;display:inline-block;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical)var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{max-width:var(--ifm-footer-logo-max-width);margin-top:1rem}.footer__title{color:var(--ifm-footer-title-color);font:bold var(--ifm-h4-font-size)/var(--ifm-heading-line-height)var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.footer__item{margin-top:0}.footer__items{margin-bottom:0}[type=checkbox]{padding:0}.hero{background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);align-items:center;padding:4rem 2rem;display:flex}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu{font-weight:var(--ifm-font-weight-semibold);overflow-x:hidden}.menu__list{margin:0;padding-left:0;list-style:none}.menu__list .menu__list{padding-left:var(--ifm-menu-link-padding-horizontal);flex:0 0 100%;margin-top:.25rem}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.menu__list-item--collapsed .menu__link--sublist:after,.menu__list-item--collapsed .menu__caret:before{transform:rotate(90deg)}.menu__list-item-collapsible{transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.25rem;flex-wrap:wrap;display:flex;position:relative}.menu__list-item-collapsible:hover,.menu__list-item-collapsible--active{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link:hover,.menu__list-item-collapsible .menu__link--active{background:0 0!important}.menu__link,.menu__caret{transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.25rem;align-items:center;display:flex}.menu__link:hover,.menu__caret:hover{background:var(--ifm-menu-color-background-hover)}.menu__link{color:var(--ifm-menu-color);padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);transition:color var(--ifm-transition-fast)var(--ifm-transition-timing-default);-webkit-text-decoration:none;text-decoration:none}.menu__link--sublist-caret:after{content:"";background:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem;min-width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast)linear;margin-left:auto;transform:rotate(180deg)}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret{padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal)}.menu__caret:before{content:"";background:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast)linear;transform:rotate(180deg)}html[data-theme=dark],.navbar--dark{--ifm-menu-link-sublist-icon-filter:invert(100%)sepia(94%)saturate(17%)hue-rotate(223deg)brightness(104%)contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical)var(--ifm-navbar-padding-horizontal);display:flex}.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{z-index:var(--ifm-z-index-fixed);position:sticky;top:0}.navbar__inner{flex-wrap:wrap;justify-content:space-between;width:100%;display:flex}.navbar__brand{color:var(--ifm-navbar-link-color);align-items:center;min-width:0;margin-right:1rem;display:flex}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);-webkit-text-decoration:none;text-decoration:none}.navbar__title{flex:auto}.navbar__toggle{margin-right:.5rem;display:none}.navbar__logo{flex:none;height:2rem;margin-right:.5rem}.navbar__logo img{height:100%}.navbar__items{flex:1;align-items:center;min-width:0;display:flex}.navbar__items--center{flex:none}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:none;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{padding:var(--ifm-navbar-item-padding-vertical)var(--ifm-navbar-item-padding-horizontal);display:inline-block}.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link{color:var(--ifm-navbar-link-color);font-weight:var(--ifm-font-weight-semibold)}.navbar__link:hover,.navbar__link--active{color:var(--ifm-navbar-link-hover-color);-webkit-text-decoration:none;text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:rgba(255,255,255,.1);--ifm-navbar-search-input-placeholder-color:rgba(255,255,255,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-navbar-link-hover-color:var(--ifm-color-primary);--ifm-menu-color-background-active:rgba(255,255,255,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color)var(--ifm-navbar-search-input-icon)no-repeat .75rem center/1rem 1rem;color:var(--ifm-navbar-search-input-color);cursor:text;border:none;border-radius:2rem;width:12.5rem;height:2rem;padding:0 .5rem 0 2.25rem;font-size:1rem;display:inline-block}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);opacity:0;visibility:hidden;width:var(--ifm-navbar-sidebar-width);transition-property:opacity,visibility,transform;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;transform:translate(-100%)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar--show .navbar-sidebar{transform:translate(0,0)}.navbar-sidebar__backdrop{opacity:0;visibility:hidden;transition-property:opacity,visibility;transition-duration:var(--ifm-transition-fast);background-color:rgba(0,0,0,.6);transition-timing-function:ease-in-out;position:fixed;inset:0}.navbar-sidebar__brand{box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical)var(--ifm-navbar-padding-horizontal);flex:1;align-items:center;display:flex}.navbar-sidebar__items{height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast)ease-in-out;display:flex;transform:translateZ(0)}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{width:calc(var(--ifm-navbar-sidebar-width));flex-shrink:0;padding:.5rem}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);text-align:left;width:calc(100% + 1rem);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;top:-.5rem}.navbar-sidebar__close{margin-left:auto;display:flex}.pagination{column-gap:var(--ifm-pagination-page-spacing);font-size:var(--ifm-pagination-font-size);padding-left:0;display:flex}.pagination--sm{--ifm-pagination-font-size:.8rem;--ifm-pagination-padding-horizontal:.8rem;--ifm-pagination-padding-vertical:.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{background:var(--ifm-pagination-item-active-background);color:var(--ifm-pagination-color-active)}.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);padding:var(--ifm-pagination-padding-vertical)var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);display:inline-block}.pagination__link:hover{-webkit-text-decoration:none;text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr);display:grid}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast)var(--ifm-transition-timing-default);display:block}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);-webkit-text-decoration:none;text-decoration:none}.pagination-nav__link--next{text-align:right;grid-column:2/3}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills{gap:var(--ifm-pills-spacing);padding-left:0;display:flex}.pills__item{cursor:pointer;font-weight:var(--ifm-font-weight-bold);transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.5rem;padding:.25rem 1rem;display:inline-block}.pills__item--active{background:var(--ifm-pills-color-background-active);color:var(--ifm-pills-color-active)}.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{text-align:center;flex-grow:1}.tabs{color:var(--ifm-tabs-color);font-weight:var(--ifm-font-weight-bold);margin-bottom:0;padding-left:0;display:flex;overflow-x:auto}.tabs__item{border-radius:var(--ifm-global-radius);cursor:pointer;padding:var(--ifm-tabs-padding-vertical)var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-bottom:3px solid transparent;display:inline-flex}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);color:var(--ifm-tabs-color-active);border-bottom-right-radius:0;border-bottom-left-radius:0}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-500:var(--ifm-color-gray-500);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:rgba(255,255,255,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%)sepia(11%)saturate(0%)hue-rotate(149deg)brightness(99%)contrast(95%);--ifm-code-background:rgba(255,255,255,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:rgba(255,255,255,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}@media (width>=1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (width<=996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.footer__link-separator{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{width:max-content;display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__item{display:none}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}}@media (width<=576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0s;--ifm-transition-slow:0s}}@media print{.table-of-contents,.footer,.menu,.navbar,.pagination-nav{display:none}.tabs{page-break-inside:avoid}}}@layer docusaurus.theme-common{.themedComponent_mlkZ{display:none}[data-theme=light] .themedComponent--light_NVdE,[data-theme=dark] .themedComponent--dark_xIcU,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}.errorBoundaryError_a6uf{white-space:pre-wrap;color:red}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.anchorTargetStickyNavbar_Vzrq{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorTargetHideOnScrollNavbar_vjPI{scroll-margin-top:.5rem}.details_lb9f{--docusaurus-details-summary-arrow-size:.38rem;--docusaurus-details-transition:transform .2s ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;padding-left:1rem;list-style:none;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{content:"";border-width:var(--docusaurus-details-summary-arrow-size);border-style:solid;border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);transition:var(--docusaurus-details-transition);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2)50%;position:absolute;top:.45rem;left:0;transform:rotate(0)}.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before{transform:rotate(90deg)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child{margin-bottom:0}}@layer docusaurus.theme-classic{:root{--docusaurus-progress-bar-color:var(--ifm-color-primary)}#nprogress{pointer-events:none}#nprogress .bar{background:var(--docusaurus-progress-bar-color);z-index:1031;width:100%;height:2px;position:fixed;top:0;left:0}#nprogress .peg{width:100px;height:100%;box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);opacity:1;position:absolute;right:0;transform:rotate(3deg)translateY(-4px)}.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1);padding:calc(var(--ifm-global-spacing)/2)var(--ifm-global-spacing);color:var(--ifm-color-emphasis-900);background-color:var(--ifm-background-surface-color);position:fixed;top:1rem;left:100%}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{padding:0;line-height:0}.content_knG7{text-align:center;padding:5px 0;font-size:85%}.content_knG7 a{color:inherit;-webkit-text-decoration:underline;text-decoration:underline}:root{--docusaurus-announcement-bar-height:auto}.announcementBar_mb4j{height:var(--docusaurus-announcement-bar-height);background-color:var(--ifm-color-white);color:var(--ifm-color-black);border-bottom:1px solid var(--ifm-color-emphasis-100);align-items:center;display:flex}html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{flex:0 0 30px;align-self:stretch}.announcementBarContent_xLdY{flex:auto}@media print{.announcementBar_mb4j{display:none}}@media (width>=997px){:root{--docusaurus-announcement-bar-height:30px}.announcementBarPlaceholder_vyr4,.announcementBarClose_gvF7{flex-basis:50px}}.toggle_vylO{width:2rem;height:2rem}.toggleButton_gllP{-webkit-tap-highlight-color:transparent;width:100%;height:100%;transition:background var(--ifm-transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleIcon_g3eP{display:none}[data-theme-choice=system] .systemToggleIcon_QzmC,[data-theme-choice=light] .lightToggleIcon_pyhR,[data-theme-choice=dark] .darkToggleIcon_wfgR{display:initial}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}.iconExternalLink_nPIU{margin-left:.3rem}.dropdownNavbarItemMobile_J0Sd{cursor:pointer}.iconLanguage_nlXk{vertical-align:text-bottom;margin-right:5px}.navbarSearchContainer_Bca1:empty{display:none}@media (width<=996px){.navbarSearchContainer_Bca1{right:var(--ifm-navbar-padding-horizontal);position:absolute}}@media (width>=997px){.navbarSearchContainer_Bca1{padding:0 var(--ifm-navbar-item-padding-horizontal)}}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast)ease}.navbarHidden_jGov{transform:translateY(calc(-100% - 2px))}@media (width<=996px){.colorModeToggle_DEke{display:none}}.navbar__items--right>:last-child{padding-right:0}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast)var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover{opacity:1}.hash-link{opacity:0;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none;padding-left:.5rem}.hash-link:before{content:"#"}.hash-link:focus,:hover>.hash-link{opacity:1}html,body{height:100%}.mainWrapper_z2l0{flex-direction:column;flex:1 0 auto;display:flex}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{flex-direction:column;min-height:100%;display:flex}.sidebar_re4s{max-height:calc(100vh - (var(--ifm-navbar-height) + 2rem));top:calc(var(--ifm-navbar-height) + 2rem);position:sticky;overflow-y:auto}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.sidebarItemList_Yudw{font-size:.9rem}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLink_mo7H:hover{-webkit-text-decoration:none;text-decoration:none}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}@media (width<=996px){.sidebar_re4s{display:none}}.yearGroupHeading_rMGB{margin-top:1.6rem;margin-bottom:.4rem}.yearGroupHeading_QT03{margin:1rem .75rem .5rem}.title_f1Hy{font-size:3rem}@media (width<=576px){.title_f1Hy{font-size:2rem}}.container_mt6G{font-size:.9rem}[data-theme=dark] .githubSvg_Uu4N{fill:var(--light)}[data-theme=light] .githubSvg_Uu4N{fill:var(--dark)}[data-theme=dark] .xSvg_y3PF{fill:var(--light)}[data-theme=light] .xSvg_y3PF{fill:var(--dark)}[data-theme=dark] .linkedinSvg_FCgI{fill:var(--light)}[data-theme=light] .linkedinSvg_FCgI{fill:var(--dark)}[data-theme=dark] .blueskySvg_AzZw{fill:var(--light)}[data-theme=light] .blueskySvg_AzZw{fill:var(--dark)}[data-theme=dark] .instagramSvg_YC40{fill:var(--light)}[data-theme=light] .instagramSvg_YC40{fill:var(--dark)}[data-theme=dark] .threadsSvg_PTXY{fill:var(--light)}[data-theme=light] .threadsSvg_PTXY{fill:var(--dark)}:root{--docusaurus-blog-social-icon-size:1rem}.authorSocials_rSDt{height:var(--docusaurus-blog-social-icon-size);line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;flex-wrap:wrap;align-items:center;line-height:0;display:flex;overflow:hidden}.authorSocialLink_owbf{height:var(--docusaurus-blog-social-icon-size);width:var(--docusaurus-blog-social-icon-size);margin-right:.4rem;line-height:0}.authorSocialIcon_XYv3{width:var(--docusaurus-blog-social-icon-size);height:var(--docusaurus-blog-social-icon-size)}.authorImage_XqGP{--ifm-avatar-photo-size:3.6rem}.author-as-h1_n9oJ .authorImage_XqGP{--ifm-avatar-photo-size:7rem}.author-as-h2_gXvM .authorImage_XqGP{--ifm-avatar-photo-size:5.4rem}.authorDetails_lV9A{flex-direction:column;justify-content:space-around;align-items:flex-start;display:flex}.authorName_yefp{flex-direction:row;font-size:1.1rem;line-height:1.1rem;display:flex}.author-as-h1_n9oJ .authorName_yefp{font-size:2.4rem;line-height:2.4rem;display:inline}.author-as-h2_gXvM .authorName_yefp{font-size:1.4rem;line-height:1.4rem;display:inline}.authorTitle_nd0D{line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.8rem;line-height:1rem;display:-webkit-box;overflow:hidden}.author-as-h1_n9oJ .authorTitle_nd0D{font-size:1.2rem;line-height:1.6rem}.author-as-h2_gXvM .authorTitle_nd0D{font-size:1rem;line-height:1.3rem}.authorBlogPostCount_iiJ5{background:var(--ifm-color-secondary);color:var(--ifm-color-black);border-radius:var(--ifm-global-radius);margin-left:.3rem;padding:.1rem .4rem;font-size:.8rem;line-height:1.2}.authorCol_Hf19{max-width:inherit!important}.imageOnlyAuthorRow_pa_O{flex-flow:wrap;display:flex}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.authorListItem_n3yI{margin-bottom:2rem;list-style-type:none}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);width:3rem;height:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1);box-shadow:var(--ifm-global-shadow-lw);transition:all var(--ifm-transition-fast)var(--ifm-transition-timing-default);opacity:0;visibility:hidden;border-radius:50%;position:fixed;bottom:1.3rem;right:1.3rem;transform:scale(0)}.backToTopButton_sjWU:after{content:" ";-webkit-mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;-webkit-mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;background-color:var(--ifm-color-emphasis-1000);width:100%;height:100%;display:inline-block}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}.backToTopButtonShow_xfvO{opacity:1;visibility:visible;transform:scale(1)}:root{--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1)}[data-theme=dark]:root{--docusaurus-collapse-button-bg:rgba(255,255,255,.05);--docusaurus-collapse-button-bg-hover:rgba(255,255,255,.1)}@media (width>=997px){.collapseSidebarButton_PEFL{background-color:var(--docusaurus-collapse-button-bg);border:1px solid var(--ifm-toc-border-color);border-radius:0;height:40px;position:sticky;bottom:0;display:block!important}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:hover,.collapseSidebarButton_PEFL:focus{background-color:var(--docusaurus-collapse-button-bg-hover)}}.collapseSidebarButton_PEFL{margin:0;display:none}.menuExternalLink_NmtK{align-items:center}.linkLabel_WmDU{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.categoryLink_byQd{overflow:hidden}.menu__link--sublist-caret:after{margin-left:var(--ifm-menu-link-padding-vertical)}.categoryLinkLabel_W154{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}@media (width>=997px){.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{scrollbar-gutter:stable;padding:.5rem 0 .5rem .5rem}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width);flex-direction:column;display:flex}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{margin:0 var(--ifm-navbar-padding-horizontal);min-height:var(--ifm-navbar-height);max-height:var(--ifm-navbar-height);align-items:center;color:inherit!important;-webkit-text-decoration:none!important;text-decoration:none!important;display:flex!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}}.sidebarLogo_isFc{display:none}@media (width>=997px){.expandButton_TmdG{width:100%;height:100%;transition:background-color var(--ifm-transition-fast)ease;background-color:var(--docusaurus-collapse-button-bg);justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.expandButton_TmdG:hover,.expandButton_TmdG:focus{background-color:var(--docusaurus-collapse-button-bg-hover)}.expandButtonIcon_i1dp{transform:rotate(0)}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}}:root{--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.docSidebarContainer_YfHR{display:none}@media (width>=997px){.docSidebarContainer_YfHR{width:var(--doc-sidebar-width);margin-top:calc(-1*var(--ifm-navbar-height));border-right:1px solid var(--ifm-toc-border-color);will-change:width;transition:width var(--ifm-transition-fast)ease;clip-path:inset(0);display:block}.docSidebarContainerHidden_DPk8{width:var(--doc-sidebar-hidden-width);cursor:pointer}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}}.docMainContainer_TBSr{width:100%;display:flex}@media (width>=997px){.docMainContainer_TBSr{max-width:calc(100% - var(--doc-sidebar-width));flex-grow:1}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}.docRoot_UBD9{width:100%;display:flex}.docsWrapper_hBAB{flex:1 0 auto;display:flex}.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color);margin-bottom:var(--ifm-leading);box-shadow:var(--ifm-global-shadow-lw);border-radius:var(--ifm-code-border-radius)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockStandalone_MEMb{padding:0}.codeBlockLines_e6Vv{font:inherit;float:left;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{padding:var(--ifm-pre-padding)0;display:table}@media print{.codeBlockLines_e6Vv{white-space:pre-wrap}}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);margin:0 calc(-1*var(--ifm-pre-padding));padding:0 var(--ifm-pre-padding);display:block}.codeLine_lJS_{counter-increment:line-count;display:table-row}.codeLineNumber_Tfdd{text-align:right;width:1%;padding:0 var(--ifm-pre-padding);background:var(--ifm-pre-background);overflow-wrap:normal;display:table-cell;position:sticky;left:0}.codeLineNumber_Tfdd:before{content:counter(line-count);opacity:.4}.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_Vdqa{opacity:1!important}.copyButtonIcons_IEyt{width:1.125rem;height:1.125rem;position:relative}.copyButtonIcon_TrPX,.copyButtonSuccessIcon_cVMy{fill:currentColor;opacity:inherit;width:inherit;height:inherit;transition:all var(--ifm-transition-fast)ease;position:absolute;top:0;left:0}.copyButtonSuccessIcon_cVMy{opacity:0;color:#00d600;top:50%;left:50%;transform:translate(-50%,-50%)scale(.33)}.copyButtonCopied_Vdqa .copyButtonIcon_TrPX{opacity:0;transform:scale(.33)}.copyButtonCopied_Vdqa .copyButtonSuccessIcon_cVMy{opacity:1;transition-delay:75ms;transform:translate(-50%,-50%)scale(1)}.wordWrapButtonIcon_b1P5{width:1.2rem;height:1.2rem}.wordWrapButtonEnabled_uzNF .wordWrapButtonIcon_b1P5{color:var(--ifm-color-primary)}.buttonGroup_M5ko{right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2);column-gap:.2rem;display:flex;position:absolute}.buttonGroup_M5ko button{background:var(--prism-background-color);color:var(--prism-color);border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);transition:opacity var(--ifm-transition-fast)ease-in-out;opacity:0;align-items:center;padding:.4rem;line-height:0;display:flex}.buttonGroup_M5ko button:hover{opacity:1!important}.buttonGroup_M5ko button:focus-visible{opacity:1!important}.theme-code-block:hover .buttonGroup_M5ko button{opacity:.4}.codeBlockContent_QJqH{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_OeMC{border-bottom:1px solid var(--ifm-color-emphasis-300);font-size:var(--ifm-code-font-size);padding:.75rem var(--ifm-pre-padding);border-top-left-radius:inherit;border-top-right-radius:inherit;font-weight:500}.codeBlockTitle_OeMC+.codeBlockContent_QJqH .codeBlock_a8dz{border-top-left-radius:0;border-top-right-radius:0}:root{--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);-webkit-text-decoration:none;text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);padding:.2rem .5rem .3rem;font-size:90%}.tagWithCount_h2kH{border-left:0;align-items:center;padding:0 .5rem 0 1rem;display:flex;position:relative}.tagWithCount_h2kH:before,.tagWithCount_h2kH:after{content:"";border:1px solid var(--docusaurus-tag-list-border);transition:inherit;position:absolute;top:50%}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;width:1.18rem;height:1.18rem;right:100%;transform:translate(50%,-50%)rotate(-45deg)}.tagWithCount_h2kH:after{border-radius:50%;width:.5rem;height:.5rem;left:0;transform:translateY(-50%)}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);color:var(--ifm-color-black);border-radius:var(--ifm-global-radius);margin-left:.3rem;padding:.1rem .4rem;font-size:.7rem;line-height:1.2}.tag_Nnez{margin:.5rem .5rem 0 1rem;display:inline-block}.tags_jXut{display:inline}.tag_QGVx{margin:0 .4rem .5rem 0;display:inline-block}.iconEdit_Z9Sw{vertical-align:sub;margin-right:.3em}.lastUpdated_JAkA{margin-top:.2rem;font-size:smaller;font-style:italic}@media (width>=997px){.lastUpdated_JAkA{text-align:right}}@media print{.noPrint_WFHX{display:none}}.tocCollapsibleButton_TO0P{font-size:inherit;justify-content:space-between;align-items:center;width:100%;padding:.4rem .8rem;display:flex}.tocCollapsibleButton_TO0P:after{content:"";background:var(--ifm-menu-link-sublist-icon)50% 50%/2rem 2rem no-repeat;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast);transform:rotate(180deg)}.tocCollapsibleButtonExpanded_MG3E:after{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);padding:.2rem 0;font-size:15px}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tocCollapsibleExpanded_sAul{transform:none}@media (width>=997px){.tocMobile_ITEo{display:none}}@media print{.tocMobile_ITEo{display:none}}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast)ease;margin:0 0 var(--ifm-spacing-vertical);border:1px solid var(--ifm-alert-border-color)}.containsTaskList_mC6p{list-style:none}:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.img_ev3q{height:auto}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight)var(--ifm-h5-font-size)/var(--ifm-heading-line-height)var(--ifm-heading-font-family);text-transform:uppercase}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{vertical-align:middle;margin-right:.4em;display:inline-block}.admonitionIcon_Rf37 svg{width:1.6em;height:1.6em;fill:var(--ifm-alert-foreground-color);display:inline-block}.admonitionContent_BuS1>:last-child{margin-bottom:0}.tableOfContents_bqdL{max-height:calc(100vh - (var(--ifm-navbar-height) + 2rem));top:calc(var(--ifm-navbar-height) + 1rem);position:sticky;overflow-y:auto}@media (width<=996px){.tableOfContents_bqdL{display:none}.docItemContainer_F8PC{padding:0 .3rem}}.breadcrumbHomeIcon_YNFT{vertical-align:top;width:1.1rem;height:1.1rem;position:relative;top:1px}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:.8;margin-bottom:.8rem}.docItemContainer_Djhp header+*,.docItemContainer_Djhp article>:first-child{margin-top:0}@media (width>=997px){.docItemCol_VOVn{max-width:75%!important}}}@layer docusaurus.core{#__docusaurus-base-url-issue-banner-container{display:none}}@layer docusaurus.plugin-debug;@layer docusaurus.theme-mermaid{.container_lyt7,.container_lyt7>svg{max-width:100%}}@layer docusaurus.theme-live-codeblock,docusaurus.theme-search-algolia.docsearch,docusaurus.theme-search-algolia;:root{--ifm-color-primary:#1684ff;--ifm-color-primary-dark:#0872eb;--ifm-color-primary-darker:#066bdc;--ifm-color-primary-darkest:#0758b4;--ifm-color-primary-light:#3495ff;--ifm-color-primary-lighter:#43a0ff;--ifm-color-primary-lightest:#7abfff;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:rgba(0,0,0,.1);--ifm-navbar-background-color:rgba(255,255,255,.85);--ifm-background-surface-color:#fff;--ifm-color-content:#1f2430;--ifm-color-content-secondary:#6b7280;--banner-gradient-from:#f8fbff;--banner-gradient-to:#ecfeff;--home-border:rgba(15,23,42,.08);--home-border-strong:rgba(15,23,42,.16);--home-hero-bg:linear-gradient(180deg,#f7fbff 0%,#fff 72%);--home-grid-image:linear-gradient(rgba(22,132,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(22,132,255,.055) 1px,transparent 1px);--home-glow-a:rgba(22,132,255,.28);--home-glow-b:rgba(17,201,232,.2);--home-brand-gradient:linear-gradient(120deg,#11c9e8 0%,#1684ff 52%,#073de1 100%);--home-primary-glow:rgba(22,132,255,.35);--home-badge-bg:rgba(22,132,255,.075);--home-badge-border:rgba(22,132,255,.18);--home-badge-text-dark:#0864c8;--home-window-bg:#fff;--home-window-bar:#f8fafc;--home-window-shadow:0 30px 60px -20px rgba(15,23,42,.25);--home-code-kw:#2563eb;--home-code-tbl:#0891b2;--home-tag-bg:rgba(22,132,255,.1);--home-tag-warm-bg:rgba(245,158,11,.14);--home-tag-warm-text:#b45309;--home-soft-bg:#f8fafc;--home-cta-bg:linear-gradient(120deg,#0b72e7 0%,#1684ff 52%,#08b9d7 100%)}[data-theme=dark]{--ifm-color-primary:#53a8ff;--ifm-color-primary-dark:#2993ff;--ifm-color-primary-darker:#1689ff;--ifm-color-primary-darkest:#0070df;--ifm-color-primary-light:#7dbdff;--ifm-color-primary-lighter:#91c7ff;--ifm-color-primary-lightest:#cbe5ff;--docusaurus-highlighted-code-line-bg:rgba(255,255,255,.1);--ifm-background-color:#0f1220;--ifm-background-surface-color:#171a2b;--ifm-navbar-background-color:rgba(15,18,32,.85);--ifm-color-content:#e7e9f3;--ifm-color-content-secondary:#9aa0b5;--banner-gradient-from:#12162a;--banner-gradient-to:#0f1220;--home-border:rgba(255,255,255,.08);--home-border-strong:rgba(255,255,255,.16);--home-hero-bg:linear-gradient(180deg,#0c0f1d 0%,#0f1220 100%);--home-grid-image:linear-gradient(rgba(56,189,248,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.09) 1px,transparent 1px);--home-glow-a:rgba(22,132,255,.34);--home-glow-b:rgba(17,201,232,.22);--home-brand-gradient:linear-gradient(120deg,#22d3ee 0%,#53a8ff 50%,#4770ff 100%);--home-primary-glow:rgba(22,132,255,.46);--home-badge-bg:rgba(83,168,255,.12);--home-badge-border:rgba(83,168,255,.28);--home-badge-text-dark:#bae0ff;--home-window-bg:#12162a;--home-window-bar:#0d101d;--home-window-shadow:0 30px 60px -20px rgba(0,0,0,.6);--home-code-kw:#7dbdff;--home-code-tbl:#38bdf8;--home-tag-bg:rgba(83,168,255,.16);--home-tag-warm-bg:rgba(245,158,11,.18);--home-tag-warm-text:#fbbf24;--home-soft-bg:#10131f;--home-cta-bg:linear-gradient(120deg,#075fc4 0%,#137fe8 52%,#078da8 100%)}table{width:100%;display:table}table thead tr{border-bottom:none}.navbar{-webkit-backdrop-filter:saturate(180%)blur(8px);backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--home-border);box-shadow:0 4px 18px rgba(15,67,120,.043)}.navbar__logo{width:38px;height:38px}.navbar__logo img{object-fit:contain;width:100%;height:100%}.navbar__title{letter-spacing:-.025em;font-weight:800}.header-github-link:hover{opacity:.6}.header-github-link:before{content:"";background:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;width:24px;height:24px;display:flex}[data-theme=dark] .header-github-link:before{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat}.main_mXnJ{max-width:1100px;margin:0 auto;padding:3rem 1rem 5rem}.hero_Xgt0{text-align:center;margin-bottom:3rem}.title_P3Qk{margin-bottom:.75rem;font-size:2.4rem}.subtitle_E8C4{color:var(--ifm-color-content-secondary);font-size:1.1rem}.grid_N3Zu{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.card_SFkr{border:1px solid var(--ifm-color-emphasis-200);background:var(--ifm-background-surface-color);border-radius:12px;flex-direction:column;gap:.6rem;padding:1.75rem;display:flex}.icon_ZV17{font-size:2rem}.cardTitle_tde4{margin:0}.cardDesc_eKeg{color:var(--ifm-color-content-secondary);flex:1}.hero_reY0{border-bottom:1px solid var(--home-border);background:var(--home-hero-bg);padding:6rem 1.5rem 5rem;position:relative;overflow:hidden}.gridBg_zRbt{background-image:var(--home-grid-image);pointer-events:none;background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,transparent 100%);mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,transparent 100%)}.glowA_dnBZ,.glowB_NjYj{filter:blur(90px);opacity:.55;pointer-events:none;border-radius:50%;position:absolute}.glowA_dnBZ{background:var(--home-glow-a);width:460px;height:460px;top:-180px;right:6%}.glowB_NjYj{background:var(--home-glow-b);width:380px;height:380px;bottom:-200px;left:-80px}.inner_IGGz{z-index:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:3.5rem;max-width:1200px;margin:0 auto;display:grid;position:relative}.left_uKTZ{text-align:left}.badge_D9jF{letter-spacing:.01em;color:var(--ifm-color-primary-dark);background:var(--home-badge-bg);border:1px solid var(--home-badge-border);border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.35rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}[data-theme=dark] .badge_D9jF{color:var(--home-badge-text-dark)}.badgeDot_ycdE{background:var(--ifm-color-primary);width:7px;height:7px;box-shadow:0 0 0 3px var(--home-glow-a);border-radius:50%}.title_DbXn{letter-spacing:-.035em;align-items:center;gap:0;margin:0 0 .5rem;font-size:4.25rem;font-weight:900;line-height:1.02;display:flex}.brandLogo_fzYv{object-fit:contain;width:74px;height:74px;margin-right:.7rem}.titleGrad_wsmG{background:var(--home-brand-gradient);-webkit-text-fill-color:transparent;color:transparent;-webkit-background-clip:text;background-clip:text}@media (width<=600px){.title_DbXn{font-size:3rem}.brandLogo_fzYv{width:56px;height:56px;margin-right:.45rem}}.tagline_Omcq{color:var(--ifm-color-content);margin:0 0 .85rem;font-size:1.55rem;font-weight:700}.desc_oE5c{color:var(--ifm-color-content-secondary);max-width:34rem;margin:0 0 2rem;font-size:1.05rem;line-height:1.7}.actions_BPoi{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.ctaPrimary_nzdu{background:var(--home-brand-gradient);box-shadow:0 10px 24px -8px var(--home-primary-glow);border:none;transition:transform .18s,box-shadow .18s}.ctaPrimary_nzdu:hover{box-shadow:0 16px 32px -8px var(--home-primary-glow);background:var(--home-brand-gradient);transform:translateY(-2px)}.arrow_ohpH{margin-left:.5rem;transition:transform .18s;display:inline-block}.ctaPrimary_nzdu:hover .arrow_ohpH{transform:translate(3px)}.ctaSecondary_ioAi{border:1px solid var(--home-border-strong);color:var(--ifm-color-content);background:0 0}.ctaSecondary_ioAi:hover{border-color:var(--ifm-color-primary);color:var(--ifm-color-primary);background:0 0}.ghLink_HXFT{color:var(--ifm-color-content-secondary);font-weight:600;-webkit-text-decoration:none;text-decoration:none}.ghLink_HXFT:hover{color:var(--ifm-color-primary);-webkit-text-decoration:none;text-decoration:none}.stats_UghV{border-top:1px solid var(--home-border);flex-wrap:wrap;gap:2.25rem;margin:3rem 0 0;padding:1.75rem 0 0;list-style:none;display:flex}.stats_UghV li{flex-direction:column;gap:.2rem;display:flex}.stats_UghV strong{letter-spacing:-.02em;color:var(--ifm-color-content);background:var(--home-brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800}.stats_UghV span{color:var(--ifm-color-content-secondary);font-size:.85rem}.right_YUha{perspective:1200px}.window_mZAp{border:1px solid var(--home-border);background:var(--home-window-bg);box-shadow:var(--home-window-shadow);border-radius:16px;transition:transform .4s;overflow:hidden;transform:rotateY(-2deg)rotateX(1deg)}.window_mZAp:hover{transform:rotateY(0)rotateX(0)}.windowBar_IG7S{border-bottom:1px solid var(--home-border);background:var(--home-window-bar);align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex}.dots_dSgu{gap:6px;display:inline-flex}.dots_dSgu i{border-radius:50%;width:11px;height:11px;display:block}.dots_dSgu i:first-child{background:#ff5f57}.dots_dSgu i:nth-child(2){background:#febc2e}.dots_dSgu i:nth-child(3){background:#28c840}.windowTitle_C7Wi{font-size:.82rem;font-family:var(--ifm-font-family-monospace);color:var(--ifm-color-content-secondary)}.pane_IGTq{padding:1.1rem 1.25rem}.paneLabel_AJ3a{text-transform:uppercase;letter-spacing:.08em;color:var(--ifm-color-content-secondary);margin-bottom:.6rem;font-size:.72rem;font-weight:700}.code_ciTM{font-family:var(--ifm-font-family-monospace);white-space:pre;color:var(--ifm-color-content);font-size:.88rem;line-height:1.85;overflow-x:auto}.kw_CYEt{color:var(--home-code-kw);font-weight:700}.tbl_ICwn{color:var(--home-code-tbl)}.divider_ybTj{text-transform:uppercase;letter-spacing:.08em;color:var(--ifm-color-content-secondary);background:var(--home-window-bar);border-top:1px solid var(--home-border);border-bottom:1px solid var(--home-border);align-items:center;gap:.5rem;margin:0;padding:.55rem 1.25rem;font-size:.72rem;font-weight:700;display:flex}.dividerDot_PbM6{background:#28c840;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px rgba(40,200,64,.18)}.result_UYmE{flex-direction:column;gap:.55rem;display:flex}.resLine_Yxvh{font-family:var(--ifm-font-family-monospace);color:var(--ifm-color-content);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.check_W2bt{color:#22c55e;font-weight:800}.tag_bkpi{color:var(--ifm-color-primary-dark);background:var(--home-tag-bg);border-radius:6px;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.tagWarm_CVvE{color:var(--home-tag-warm-text);background:var(--home-tag-warm-bg);border-radius:6px;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.arrowSm_NRI0{color:var(--ifm-color-content-secondary)}@media (width<=996px){.hero_reY0{padding:4.5rem 1.25rem 3.5rem}.inner_IGGz{grid-template-columns:1fr;gap:2.5rem}.title_DbXn{font-size:3.25rem}.tagline_Omcq{font-size:1.3rem}.stats_UghV{gap:1.75rem}.window_mZAp{transform:none}}@media (width<=600px){.title_DbXn{font-size:2.6rem}.stats_UghV li{min-width:40%}}.section_eBTT{text-align:center;max-width:1160px;margin:0 auto;padding:0 1.5rem 1rem}.lead_wHuz{letter-spacing:.06em;text-transform:uppercase;color:var(--ifm-color-content-secondary);margin-bottom:1.75rem;font-size:.85rem;font-weight:600}.row_w6Q8{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.item_Mtdw{border:1px solid var(--home-border);background:var(--ifm-background-surface-color);color:var(--ifm-color-content-secondary);border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;transition:transform .18s,border-color .18s,color .18s;display:flex}.item_Mtdw:hover{border-color:var(--home-border-strong);color:var(--ifm-color-content);transform:translateY(-3px)}.item_Mtdw img{object-fit:contain;filter:grayscale();opacity:.75;width:20px;height:20px;transition:filter .18s,opacity .18s}.fallbackIcon_XJXT{width:20px;height:20px;color:var(--ifm-color-primary);opacity:.72;place-items:center;font-size:.65rem;display:grid}.item_Mtdw:hover img{filter:grayscale(0%);opacity:1}@media (width<=600px){.item_Mtdw span{display:none}.item_Mtdw{padding:.55rem}}.section_R2J0{max-width:1160px;margin:0 auto;padding:5.5rem 1.5rem 4.5rem}.header_nMSq{text-align:center;max-width:640px;margin:0 auto 3rem}.eyebrow_KQpq{letter-spacing:.1em;text-transform:uppercase;color:var(--ifm-color-primary);margin-bottom:.75rem;font-size:.8rem;font-weight:700;display:inline-block}.heading_fnW7{letter-spacing:-.02em;margin:0 0 .75rem;font-size:2.15rem;font-weight:800}.subheading_cJ8g{color:var(--ifm-color-content-secondary);margin:0;font-size:1.05rem}.grid_vg4X{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.card_ooQ2{border:1px solid var(--home-border);background:var(--ifm-background-surface-color);border-radius:16px;padding:1.85rem 1.6rem;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.card_ooQ2:before{content:"";background:var(--home-brand-gradient);opacity:0;height:3px;transition:opacity .2s;position:absolute;inset:0 0 auto}.card_ooQ2:hover{box-shadow:0 18px 40px -18px var(--home-primary-glow);border-color:transparent;transform:translateY(-5px)}.card_ooQ2:hover:before{opacity:1}.iconWrap_ISBW{background:var(--home-badge-bg);border:1px solid var(--home-badge-border);border-radius:13px;place-items:center;width:48px;height:48px;margin-bottom:1.1rem;display:grid}.iconWrap_ISBW svg{width:27px;height:27px;color:var(--ifm-color-primary)}.iconAccent_kca4{stroke-width:2.15px}.cardTitle_FpVF{margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.cardDesc_Hcpx{color:var(--ifm-color-content-secondary);margin:0;font-size:.95rem;line-height:1.65}@media (width<=996px){.grid_vg4X{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.section_R2J0{padding:3.5rem 1.25rem 3rem}.heading_fnW7{font-size:1.7rem}.grid_vg4X{grid-template-columns:1fr}}.section_XM3Q{max-width:1160px;margin:0 auto;padding:1rem 1.5rem 5rem}.row_mLVB{align-items:center;gap:3.5rem;margin:4rem 0;display:flex}.reverse_tY76{flex-direction:row-reverse}.info_rZXn{flex:1}.eyebrow_cIXQ{letter-spacing:.1em;text-transform:uppercase;color:var(--ifm-color-primary);margin-bottom:.6rem;font-size:.78rem;font-weight:700;display:inline-block}.title_ULaK{letter-spacing:-.02em;margin-bottom:1rem;font-size:1.75rem;font-weight:800}.desc_yXFq{color:var(--ifm-color-content-secondary);margin-bottom:1.5rem;font-size:1rem;line-height:1.75}.steps_EEbF{counter-reset:step;flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.step_eGvK{color:var(--ifm-color-content);align-items:center;gap:.7rem;font-size:.95rem;display:flex}.stepNo_MhRk{color:#fff;background:var(--home-brand-gradient);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.78rem;font-weight:700;display:grid}.showcase_mNzI{flex:1.15}.showcase_mNzI img{border:1px solid var(--home-border);background:var(--ifm-background-surface-color);width:100%;box-shadow:0 24px 50px -28px var(--home-primary-glow);border-radius:16px}@media (width<=996px){.row_mLVB,.reverse_tY76{flex-direction:column;gap:2rem;margin:3rem 0}.showcase_mNzI{width:100%}}.band_iMg9{max-width:1160px;margin:0 auto 5rem;padding:0 1.5rem}.inner_s1W7{text-align:center;background:var(--home-cta-bg);color:#fff;border-radius:24px;padding:4rem 2rem;position:relative;overflow:hidden}.inner_s1W7:before{content:"";pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70% at 50% 0,#000 20%,transparent 80%);mask-image:radial-gradient(70% 70% at 50% 0,#000 20%,transparent 80%)}.title_Xeao{letter-spacing:-.02em;color:#fff;margin:0 0 .75rem;font-size:2rem;font-weight:800;position:relative}.desc_fTY7{color:rgba(255,255,255,.85);margin:0 0 2rem;font-size:1.05rem;position:relative}.actions_AcwB{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex;position:relative}.primary_lgmO{color:#4f46e5;background:#fff;border:none;font-weight:700}.primary_lgmO:hover{color:#4f46e5;background:#f1f0ff}.secondary_m1GY{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);font-weight:700}.secondary_m1GY:hover{color:#fff;background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.7)}@media (width<=600px){.inner_s1W7{padding:3rem 1.25rem}.title_Xeao{font-size:1.5rem}}.main_iUjq{background:var(--ifm-background-color)} \ No newline at end of file diff --git a/docs/blogs/assets/01-parser-market.png b/assets/images/01-parser-market-69347f790ddfccf38bcd49b4df85e909.png similarity index 100% rename from docs/blogs/assets/01-parser-market.png rename to assets/images/01-parser-market-69347f790ddfccf38bcd49b4df85e909.png diff --git a/docs/blogs/assets/02-legacy-architecture.png b/assets/images/02-legacy-architecture-8c0e245dcac8e3570e5a686b9f58b9d9.png similarity index 100% rename from docs/blogs/assets/02-legacy-architecture.png rename to assets/images/02-legacy-architecture-8c0e245dcac8e3570e5a686b9f58b9d9.png diff --git a/docs/blogs/assets/03-calcite-layered-article.png b/assets/images/03-calcite-layered-article-1d0e86b355eba0e53d237d95afd4d3a6.png similarity index 100% rename from docs/blogs/assets/03-calcite-layered-article.png rename to assets/images/03-calcite-layered-article-1d0e86b355eba0e53d237d95afd4d3a6.png diff --git a/docs/blogs/assets/04-druid-syntax-layer.png b/assets/images/04-druid-syntax-layer-815515eac5295f9f772e1beb97f04c11.png similarity index 100% rename from docs/blogs/assets/04-druid-syntax-layer.png rename to assets/images/04-druid-syntax-layer-815515eac5295f9f772e1beb97f04c11.png diff --git a/docs/blogs/assets/05-druid-layer-structure.png b/assets/images/05-druid-layer-structure-5737c5a7826cff1a2874cf2b927ccd34.png similarity index 100% rename from docs/blogs/assets/05-druid-layer-structure.png rename to assets/images/05-druid-layer-structure-5737c5a7826cff1a2874cf2b927ccd34.png diff --git a/docs/blogs/assets/06-business-layer.png b/assets/images/06-business-layer-46c84fa8b5f3c12f0316fc058e9daf15.png similarity index 100% rename from docs/blogs/assets/06-business-layer.png rename to assets/images/06-business-layer-46c84fa8b5f3c12f0316fc058e9daf15.png diff --git a/docs/blogs/assets/07-application-components.png b/assets/images/07-application-components-3fa01967e1605c21791788f2a06212eb.png similarity index 100% rename from docs/blogs/assets/07-application-components.png rename to assets/images/07-application-components-3fa01967e1605c21791788f2a06212eb.png diff --git a/docs/blogs/assets/08-inherit-baseclient.png b/assets/images/08-inherit-baseclient-cb4fb84bd3af91ceb7d6b08e4ec7d466.png similarity index 100% rename from docs/blogs/assets/08-inherit-baseclient.png rename to assets/images/08-inherit-baseclient-cb4fb84bd3af91ceb7d6b08e4ec7d466.png diff --git a/docs/blogs/assets/09-register-client.png b/assets/images/09-register-client-c6216b08439b96af51fda129de838a4e.png similarity index 100% rename from docs/blogs/assets/09-register-client.png rename to assets/images/09-register-client-c6216b08439b96af51fda129de838a4e.png diff --git a/docs/blogs/assets/10-after-refactor.png b/assets/images/10-after-refactor-c8b89cd447d9cea7894354ffea6a2fdf.png similarity index 100% rename from docs/blogs/assets/10-after-refactor.png rename to assets/images/10-after-refactor-c8b89cd447d9cea7894354ffea6a2fdf.png diff --git a/docs/blogs/assets/11-function-visitor.png b/assets/images/11-function-visitor-43a9830686ce367f536545b5691f504f.png similarity index 100% rename from docs/blogs/assets/11-function-visitor.png rename to assets/images/11-function-visitor-43a9830686ce367f536545b5691f504f.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.png" "b/assets/images/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-c7796d93ff72c04ff0bb409eba10ae82.png" similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.png" rename to "assets/images/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-c7796d93ff72c04ff0bb409eba10ae82.png" diff --git a/assets/js/01a85c17.35e1a59a.js b/assets/js/01a85c17.35e1a59a.js new file mode 100644 index 0000000..7e05143 --- /dev/null +++ b/assets/js/01a85c17.35e1a59a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9786"],{7645(e,t,a){a.d(t,{J_:()=>b,x:()=>i,Gx:()=>_,Ki:()=>k,kJ:()=>x,OU:()=>C,e7:()=>m,in:()=>c});var s=a(4848),r=a(6540),l=a(2260),n=a(8491);function i(){let e=(0,n.A)(),t=e?.data?.blogMetadata;if(!t)throw Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}let o=r.createContext(null);function c({children:e,content:t,isBlogPostPage:a=!1}){let l=function({content:e,isBlogPostPage:t}){return(0,r.useMemo)(()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,toc:e.toc,isBlogPostPage:t}),[e,t])}({content:t,isBlogPostPage:a});return(0,s.jsx)(o.Provider,{value:l,children:e})}function m(){let e=(0,r.useContext)(o);if(null===e)throw new l.dV("BlogPostProvider");return e}var u=a(6497),d=a(898);let g=e=>new Date(e).toISOString();function h(e){let t=e.map(j);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:function({imageUrl:e,caption:t}){return{"@type":"ImageObject","@id":e,url:e,contentUrl:e,caption:t}}({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function x(e){let{siteConfig:t}=(0,d.A)(),{withBaseUrl:a}=(0,u.hH)(),{metadata:{blogDescription:s,blogTitle:r,permalink:l}}=e,n=`${t.url}${l}`;return{"@context":"https://schema.org","@type":"Blog","@id":n,mainEntityOfPage:n,headline:r,description:s,blogPost:e.items.map(e=>(function(e,t,a){let{assets:s,frontMatter:r,metadata:l}=e,{date:n,title:i,description:o,lastUpdatedAt:c}=l,m=s.image??r.image,u=r.keywords??[],d=`${t.url}${l.permalink}`,x=c?g(c):void 0;return{"@type":"BlogPosting","@id":d,mainEntityOfPage:d,url:d,headline:i,name:i,description:o,datePublished:n,...x?{dateModified:x}:{},...h(l.authors),...p(m,a,i),...u?{keywords:u}:{}}})(e.content,t,a))}}function b(){let e=i(),{assets:t,metadata:a}=m(),{siteConfig:s}=(0,d.A)(),{withBaseUrl:r}=(0,u.hH)(),{date:l,title:n,description:o,frontMatter:c,lastUpdatedAt:x}=a,b=t.image??c.image,j=c.keywords??[],f=x?g(x):void 0,v=`${s.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":v,mainEntityOfPage:v,url:v,headline:n,name:n,description:o,datePublished:l,...f?{dateModified:f}:{},...h(a.authors),...p(b,r,n),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}var f=a(6347),v=a(5310),N=a(618),A=a(9209);function _(e){let{pathname:t}=(0,f.zy)();return(0,r.useMemo)(()=>e.filter(e=>!e.unlisted||!!(0,A.ys)(e.permalink,t)),[e,t])}function k(e){let t=Object.entries((0,N.$z)(e,e=>`${new Date(e.date).getFullYear()}`));return t.reverse(),t}function C({items:e,ulClassName:t,liClassName:a,linkClassName:r,linkActiveClassName:l}){return(0,s.jsx)("ul",{className:t,children:e.map(e=>(0,s.jsx)("li",{className:a,children:(0,s.jsx)(v.A,{isNavLink:!0,to:e.permalink,className:r,activeClassName:l,children:e.title})},e.permalink))})}},8579(e,t,a){a.d(t,{A:()=>N});var s=a(4848),r=a(6540),l=a(4164),n=a(6525),i=a(3741),o=a(568),c=a(7645),m=a(1022),u=a(2072);function d({year:e,yearGroupHeadingClassName:t,children:a}){return(0,s.jsxs)("div",{role:"group",children:[(0,s.jsx)(u.A,{as:"h3",className:t,children:e}),a]})}let g=(0,r.memo)(function({items:e,yearGroupHeadingClassName:t,ListComponent:a}){if(!(0,m.p)().blog.sidebar.groupByYear)return(0,s.jsx)(a,{items:e});{let r=(0,c.Ki)(e);return(0,s.jsx)(s.Fragment,{children:r.map(([e,r])=>(0,s.jsx)(d,{year:e,yearGroupHeadingClassName:t,children:(0,s.jsx)(a,{items:r})},e))})}}),h=({items:e})=>(0,s.jsx)(c.OU,{items:e,ulClassName:(0,l.A)("sidebarItemList_Yudw","clean-list"),liClassName:"sidebarItem__DBe",linkClassName:"sidebarItemLink_mo7H",linkActiveClassName:"sidebarItemLinkActive_I1ZP"}),p=(0,r.memo)(function({sidebar:e}){let t=(0,c.Gx)(e.items);return(0,s.jsx)("aside",{className:"col col--3",children:(0,s.jsxs)("nav",{className:(0,l.A)("sidebar_re4s","thin-scrollbar"),"aria-label":(0,o.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,s.jsx)("div",{className:(0,l.A)("sidebarItemTitle_pO2u","margin-bottom--md"),children:e.title}),(0,s.jsx)(g,{items:t,ListComponent:h,yearGroupHeadingClassName:"yearGroupHeading_rMGB"})]})})});var x=a(7e3);let b=({items:e})=>(0,s.jsx)(c.OU,{items:e,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"});function j({sidebar:e}){let t=(0,c.Gx)(e.items);return(0,s.jsx)(g,{items:t,ListComponent:b,yearGroupHeadingClassName:"yearGroupHeading_QT03"})}let f=(0,r.memo)(function(e){return(0,s.jsx)(x.GX,{component:j,props:e})});function v({sidebar:e}){let t=(0,i.l)();return e?.items.length?"mobile"===t?(0,s.jsx)(f,{sidebar:e}):(0,s.jsx)(p,{sidebar:e}):null}function N(e){let{sidebar:t,toc:a,children:r,...i}=e,o=t&&t.items.length>0;return(0,s.jsx)(n.A,{...i,children:(0,s.jsx)("div",{className:"container margin-vert--lg",children:(0,s.jsxs)("div",{className:"row",children:[(0,s.jsx)(v,{sidebar:t}),(0,s.jsx)("main",{className:(0,l.A)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:r}),a&&(0,s.jsx)("div",{className:"col col--2",children:a})]})})})}},3456(e,t,a){a.r(t),a.d(t,{default:()=>h});var s=a(4848);a(6540);var r=a(4164),l=a(568),n=a(4308),i=a(8287),o=a(8579),c=a(535),m=a(2072);function u({letterEntry:e}){return(0,s.jsxs)("article",{children:[(0,s.jsx)(m.A,{as:"h2",id:e.letter,children:e.letter}),(0,s.jsx)("ul",{className:"padding--none",children:e.tags.map(e=>(0,s.jsx)("li",{className:"tag_Nnez",children:(0,s.jsx)(c.A,{...e})},e.permalink))}),(0,s.jsx)("hr",{})]})}function d({tags:e}){let t,a=(t={},Object.values(e).forEach(e=>{let a=e.label[0].toUpperCase();t[a]??=[],t[a].push(e)}),Object.entries(t).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({letter:e,tags:t.sort((e,t)=>e.label.localeCompare(t.label))})));return(0,s.jsx)("section",{className:"margin-vert--lg",children:a.map(e=>(0,s.jsx)(u,{letterEntry:e},e.letter))})}var g=a(4175);function h({tags:e,sidebar:t}){let a=(0,l.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});return(0,s.jsxs)(n.e3,{className:(0,r.A)(i.G.wrapper.blogPages,i.G.page.blogTagsListPage),children:[(0,s.jsx)(n.be,{title:a}),(0,s.jsx)(g.A,{tag:"blog_tags_list"}),(0,s.jsxs)(o.A,{sidebar:t,children:[(0,s.jsx)(m.A,{as:"h1",children:a}),(0,s.jsx)(d,{tags:e})]})]})}},535(e,t,a){a.d(t,{A:()=>n});var s=a(4848);a(6540);var r=a(4164),l=a(5310);function n({permalink:e,label:t,count:a,description:i}){return(0,s.jsxs)(l.A,{rel:"tag",href:e,title:i,className:(0,r.A)("tag_zVej",a?"tagWithCount_h2kH":"tagRegular_sFm0"),children:[t,a&&(0,s.jsx)("span",{children:a})]})}}}]); \ No newline at end of file diff --git a/assets/js/06409a0f.691e787f.js b/assets/js/06409a0f.691e787f.js new file mode 100644 index 0000000..c1e5930 --- /dev/null +++ b/assets/js/06409a0f.691e787f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7310"],{5032(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"1.0","label":"1.0","banner":null,"badge":true,"noIndex":false,"className":"docs-version-1.0","isLast":true,"docsSidebars":{"docs":[{"type":"link","href":"/SqlParserX/docs/intro","label":"\u6587\u6863\u5BFC\u8BFB","docId":"intro","unlisted":false},{"type":"category","label":"\u5173\u4E8E SqlParserX","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/docs/about/introduction","label":"SqlParserX\u4ECB\u7ECD","docId":"about/introduction","unlisted":false},{"type":"link","href":"/SqlParserX/docs/about/architecture","label":"\u67B6\u6784\u8BBE\u8BA1","docId":"about/architecture","unlisted":false}],"collapsible":true},{"type":"category","label":"\u5FEB\u901F\u5F00\u59CB","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/docs/quickstart/setup","label":"\u73AF\u5883\u51C6\u5907\u4E0E\u6784\u5EFA","docId":"quickstart/setup","unlisted":false}],"collapsible":true},{"type":"category","label":"\u6838\u5FC3\u89E3\u6790\u80FD\u529B\u4F7F\u7528","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/docs/core/sql-type","label":"SQL \u7C7B\u578B\u8BC6\u522B","docId":"core/sql-type","unlisted":false},{"type":"link","href":"/SqlParserX/docs/core/field-lineage","label":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","docId":"core/field-lineage","unlisted":false},{"type":"link","href":"/SqlParserX/docs/core/table-lineage","label":"\u8868\u8840\u7F18\u89E3\u6790","docId":"core/table-lineage","unlisted":false},{"type":"link","href":"/SqlParserX/docs/core/table-parse","label":"\u8868\u89E3\u6790","docId":"core/table-parse","unlisted":false},{"type":"link","href":"/SqlParserX/docs/core/function-parse","label":"\u51FD\u6570\u89E3\u6790","docId":"core/function-parse","unlisted":false},{"type":"link","href":"/SqlParserX/docs/core/parameter-compile","label":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","docId":"core/parameter-compile","unlisted":false}],"collapsible":true},{"type":"category","label":"\u8D21\u732E\u6307\u5357","collapsed":true,"items":[{"type":"link","href":"/SqlParserX/docs/contributing","label":"\u8D21\u732E\u6307\u5357","docId":"contributing","unlisted":false}],"collapsible":true}]},"docs":{"about/architecture":{"id":"about/architecture","title":"\u67B6\u6784\u8BBE\u8BA1","description":"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784","sidebar":"docs"},"about/introduction":{"id":"about/introduction","title":"SqlParserX \u4ECB\u7ECD","description":"SqlParserX \u7684\u5B9A\u4F4D\u3001\u80FD\u529B\u4E0E\u6A21\u5757\u7EC4\u6210","sidebar":"docs"},"contributing":{"id":"contributing","title":"\u8D21\u732E\u6307\u5357","description":"\u53C2\u4E0E SqlParserX \u5F00\u53D1\u7684\u6D41\u7A0B\u4E0E\u89C4\u8303","sidebar":"docs"},"core/field-lineage":{"id":"core/field-lineage","title":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","description":"\u4ECE SQL \u63A8\u5BFC\u6765\u6E90\u8868.\u6765\u6E90\u5B57\u6BB5 \u2192 \u76EE\u6807\u8868.\u76EE\u6807\u5B57\u6BB5 \u7684\u5B57\u6BB5\u7EA7\u8840\u7F18\u5173\u7CFB","sidebar":"docs"},"core/function-parse":{"id":"core/function-parse","title":"\u51FD\u6570\u89E3\u6790","description":"\u63D0\u53D6 SQL \u4E2D\u4F7F\u7528\u7684\u51FD\u6570\u53CA\u5176\u53C2\u6570\u4E0E\u4E0A\u4E0B\u6587","sidebar":"docs"},"core/parameter-compile":{"id":"core/parameter-compile","title":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","description":"\u63D0\u53D6 SELECT \u52A8\u6001\u53C2\u6570\u5E76\u751F\u6210 JDBC \u9884\u7F16\u8BD1 SQL","sidebar":"docs"},"core/sql-type":{"id":"core/sql-type","title":"SQL \u7C7B\u578B\u8BC6\u522B","description":"\u57FA\u4E8E\u89E3\u6790\u540E\u7684\u8BED\u6CD5\u6811\u8BC6\u522B SQL \u4E1A\u52A1\u7C7B\u578B","sidebar":"docs"},"core/table-lineage":{"id":"core/table-lineage","title":"\u8868\u8840\u7F18\u89E3\u6790","description":"\u89E3\u6790 SQL \u4E2D\u6765\u6E90\u8868\u5230\u76EE\u6807\u8868\u7684\u8840\u7F18\u5173\u7CFB","sidebar":"docs"},"core/table-parse":{"id":"core/table-parse","title":"\u8868\u89E3\u6790","description":"\u4ECE SQL \u6587\u672C\u4E2D\u89E3\u6790\u771F\u5B9E\u8868\u3001CTE\u3001CREATE TABLE\u3001\u5206\u533A\u4E0E\u5C5E\u6027","sidebar":"docs"},"intro":{"id":"intro","title":"SqlParserX \u6587\u6863","description":"SqlParserX \u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305\u7684\u6587\u6863\u5165\u53E3","sidebar":"docs"},"quickstart/setup":{"id":"quickstart/setup","title":"\u5FEB\u901F\u5F00\u59CB","description":"\u5F15\u5165\u4F9D\u8D56\u3001\u6784\u5EFA\u5E76\u5728\u672C\u5730\u8FD0\u884C SqlParserX \u7684\u5B8C\u6574\u793A\u4F8B","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.58d81394.js b/assets/js/0e384e19.58d81394.js new file mode 100644 index 0000000..96c8ac5 --- /dev/null +++ b/assets/js/0e384e19.58d81394.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5217"],{4316(e,r,s){s.r(r),s.d(r,{metadata:()=>n,default:()=>h,frontMatter:()=>i,contentTitle:()=>c,toc:()=>o,assets:()=>d});var n=JSON.parse('{"id":"intro","title":"SqlParserX \u6587\u6863","description":"SqlParserX \u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305\u7684\u6587\u6863\u5165\u53E3","source":"@site/docs/intro.md","sourceDirName":".","slug":"/intro","permalink":"/SqlParserX/docs/next/intro","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/intro.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"SqlParserX \u6587\u6863","description":"SqlParserX \u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305\u7684\u6587\u6863\u5165\u53E3","slug":"/intro","sidebar_label":"\u6587\u6863\u5BFC\u8BFB","sidebar_position":1},"sidebar":"docs","next":{"title":"SqlParserX\u4ECB\u7ECD","permalink":"/SqlParserX/docs/next/about/introduction"}}'),t=s(4848),l=s(8453);let i={title:"SqlParserX \u6587\u6863",description:"SqlParserX \u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305\u7684\u6587\u6863\u5165\u53E3",slug:"/intro",sidebar_label:"\u6587\u6863\u5BFC\u8BFB",sidebar_position:1},c="\u6B22\u8FCE\u4F7F\u7528 SqlParserX",d={},o=[{value:"\u4ECE\u8FD9\u91CC\u5F00\u59CB",id:"\u4ECE\u8FD9\u91CC\u5F00\u59CB",level:2},{value:"\u6587\u6863\u7ED3\u6784",id:"\u6587\u6863\u7ED3\u6784",level:2}];function a(e){let r={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"\u6B22\u8FCE\u4F7F\u7528-sqlparserx",children:"\u6B22\u8FCE\u4F7F\u7528 SqlParserX"})}),"\n",(0,t.jsxs)(r.p,{children:["SqlParserX \u662F\u4E00\u4E2A",(0,t.jsx)(r.strong,{children:"\u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305"}),"\uFF0C\u9762\u5411 SQL \u7C7B\u578B\u8BC6\u522B\u3001\u8868/DDL \u89E3\u6790\u3001\u8868\u4E0E\u5B57\u6BB5\u8840\u7F18\u3001\u51FD\u6570\u63D0\u53D6\u4EE5\u53CA\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1\u7B49\u573A\u666F\u3002"]}),"\n",(0,t.jsxs)(r.p,{children:["\u9879\u76EE\u91C7\u7528\u4E24\u5C42\u67B6\u6784\uFF1A",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"})," \u8D1F\u8D23\u628A SQL \u89E3\u6790\u4E3A Druid AST \u5E76\u627F\u8F7D\u8BED\u6CD5\u6269\u5C55\uFF1B",(0,t.jsx)(r.code,{children:"sqlparserx-core"})," \u901A\u8FC7\u7EDF\u4E00\u7684 ",(0,t.jsx)(r.code,{children:"ISqlParser"})," \u5951\u7EA6\u6D88\u8D39 AST\uFF0C\u4EA7\u51FA\u4E1A\u52A1\u89E3\u6790\u7ED3\u679C\u3002",(0,t.jsx)(r.code,{children:"sqlparserx-web"})," \u4E0E ",(0,t.jsx)(r.code,{children:"sqlparserx-ui"})," \u63D0\u4F9B\u670D\u52A1\u5316\u4E0E\u53EF\u89C6\u5316\u8BBF\u95EE\u80FD\u529B\u3002"]}),"\n",(0,t.jsx)(r.h2,{id:"\u4ECE\u8FD9\u91CC\u5F00\u59CB",children:"\u4ECE\u8FD9\u91CC\u5F00\u59CB"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:["\u{1F680} ",(0,t.jsx)(r.a,{href:"/SqlParserX/docs/next/quickstart/setup",children:"\u5FEB\u901F\u5F00\u59CB"})]}),"\n",(0,t.jsxs)(r.li,{children:["\u{1F4D6} ",(0,t.jsx)(r.a,{href:"/SqlParserX/docs/next/about/introduction",children:"SqlParserX \u4ECB\u7ECD"})]}),"\n",(0,t.jsxs)(r.li,{children:["\u{1F3D7}\uFE0F ",(0,t.jsx)(r.a,{href:"/SqlParserX/docs/next/about/architecture",children:"\u67B6\u6784\u8BBE\u8BA1"})]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"\u6587\u6863\u7ED3\u6784",children:"\u6587\u6863\u7ED3\u6784"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.strong,{children:"\u5173\u4E8E SqlParserX"}),"\uFF1A\u9879\u76EE\u4ECB\u7ECD\u4E0E\u4E24\u5C42\u67B6\u6784\u8BBE\u8BA1"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.strong,{children:"\u5FEB\u901F\u5F00\u59CB"}),"\uFF1A\u73AF\u5883\u51C6\u5907\u3001\u6784\u5EFA\u4E0E\u8FD0\u884C"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.strong,{children:"\u6838\u5FC3\u89E3\u6790\u80FD\u529B\u4F7F\u7528"}),"\uFF1ASQL \u7C7B\u578B\u8BC6\u522B\u3001\u5B57\u6BB5\u8840\u7F18\u3001\u8868\u8840\u7F18\u3001\u8868\u89E3\u6790\u3001\u51FD\u6570\u89E3\u6790\u3001\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.strong,{children:"\u8D21\u732E\u6307\u5357"}),"\uFF1A\u53C2\u4E0E\u8D21\u732E\u7684\u6D41\u7A0B\u4E0E\u89C4\u8303"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:[":::tip \u63D0\u793A\n\u672C\u7AD9\u53F3\u4FA7\u5BFC\u822A\u680F\u53EF\u5207\u6362",(0,t.jsx)(r.strong,{children:"\u7248\u672C"}),"\uFF08",(0,t.jsx)(r.code,{children:"1.0"})," / ",(0,t.jsx)(r.code,{children:"Next"}),"\uFF09\u4E0E",(0,t.jsx)(r.strong,{children:"\u8BED\u8A00"}),"\uFF08\u7B80\u4F53\u4E2D\u6587 / English\uFF09\u3002\n:::"]})]})}function h(e={}){let{wrapper:r}={...(0,l.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},8453(e,r,s){s.d(r,{R:()=>i,x:()=>c});var n=s(6540);let t={},l=n.createContext(t);function i(e){let r=n.useContext(l);return n.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),n.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1016.1b255e6a.js b/assets/js/1016.1b255e6a.js new file mode 100644 index 0000000..f522f17 --- /dev/null +++ b/assets/js/1016.1b255e6a.js @@ -0,0 +1 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1016"],{8426(e,t){function n(e){let t,n=[];for(let s of e.split(",").map(e=>e.trim()))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,r]=t;if(s&&r){let e=(s=parseInt(s))<(r=parseInt(r))?1:-1;("-"===a||".."===a||"\u2025"===a)&&(r+=e);for(let t=s;t!==r;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},7444(e,t,n){"use strict";n.d(t,{A:()=>y});var s=n(4848),a=n(6540),r=n(4164),i=n(568),l=n(8287);function c({type:e,className:t,children:n,id:a}){return(0,s.jsx)("div",{className:(0,r.A)(l.G.common.admonition,l.G.common.admonitionType(e),"admonition_xJq3",t),id:a,children:n})}function o({icon:e,title:t}){return(0,s.jsxs)("div",{className:"admonitionHeading_Gvgb",children:[(0,s.jsx)("span",{className:"admonitionIcon_Rf37",children:e}),t]})}function d({children:e}){return e?(0,s.jsx)("div",{className:"admonitionContent_BuS1",children:e}):null}function u(e){let{type:t,icon:n,title:a,children:r,className:i,id:l}=e;return(0,s.jsxs)(c,{type:t,className:i,id:l,children:[a||n?(0,s.jsx)(o,{title:a,icon:n}):null,(0,s.jsx)(d,{children:r})]})}let m={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function h(e){return(0,s.jsx)(u,{...m,...e,className:(0,r.A)("alert alert--secondary",e.className),children:e.children})}let f={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function p(e){return(0,s.jsx)(u,{...f,...e,className:(0,r.A)("alert alert--success",e.className),children:e.children})}let x={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})},{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function j(e){return(0,s.jsx)(u,{...x,...e,className:(0,r.A)("alert alert--info",e.className),children:e.children})}function g(e){return(0,s.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let b={icon:(0,s.jsx)(g,{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},v={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},N={icon:(0,s.jsx)(g,{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})},A={note:h,tip:p,info:j,warning:function(e){return(0,s.jsx)(u,{...b,...e,className:(0,r.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,s.jsx)(u,{...v,...e,className:(0,r.A)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,s.jsx)(h,{title:"secondary",...e}),important:e=>(0,s.jsx)(j,{title:"important",...e}),success:e=>(0,s.jsx)(p,{title:"success",...e}),caution:function(e){return(0,s.jsx)(u,{...N,...e,className:(0,r.A)("alert alert--warning",e.className),children:e.children})}};function y(e){var t;let n,r=function(e){var t;let n,r,i,{mdxAdmonitionTitle:l,rest:c}=(t=e.children,r=(n=a.Children.toArray(t)).find(e=>a.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),i=n.filter(e=>e!==r),{mdxAdmonitionTitle:r?.props.children,rest:i.length>0?(0,s.jsx)(s.Fragment,{children:i}):null}),o=e.title??l;return{...e,...o&&{title:o},children:c}}(e),i=(n=A[t=r.type])||(console.warn(`No admonition component found for admonition type "${t}". Using Info as fallback.`),A.info);return(0,s.jsx)(i,{...r})}},7410(e,t,n){"use strict";n.d(t,{A:()=>f});var s=n(4848);n(6540);var a=n(4164),r=n(568),i=n(8287),l=n(5310);function c({className:e,...t}){return(0,s.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,a.A)("iconEdit_Z9Sw",e),"aria-hidden":"true",...t,children:(0,s.jsx)("g",{children:(0,s.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function o({editUrl:e}){return(0,s.jsxs)(l.A,{to:e,className:i.G.common.editThisPage,children:[(0,s.jsx)(c,{}),(0,s.jsx)(r.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var d=n(7954);function u({lastUpdatedAt:e}){let t=new Date(e),n=(0,d.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(t);return(0,s.jsx)(r.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,s.jsx)("b",{children:(0,s.jsx)("time",{dateTime:t.toISOString(),itemProp:"dateModified",children:n})})},children:" on {date}"})}function m({lastUpdatedBy:e}){return(0,s.jsx)(r.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,s.jsx)("b",{children:e})},children:" by {user}"})}function h({lastUpdatedAt:e,lastUpdatedBy:t}){return(0,s.jsxs)("span",{className:i.G.common.lastUpdated,children:[(0,s.jsx)(r.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:e?(0,s.jsx)(u,{lastUpdatedAt:e}):"",byUser:t?(0,s.jsx)(m,{lastUpdatedBy:t}):""},children:"Last updated{atDate}{byUser}"}),!1]})}function f({className:e,editUrl:t,lastUpdatedAt:n,lastUpdatedBy:r}){return(0,s.jsxs)("div",{className:(0,a.A)("row",e),children:[(0,s.jsx)("div",{className:(0,a.A)("col","noPrint_WFHX"),children:t&&(0,s.jsx)(o,{editUrl:t})}),(0,s.jsx)("div",{className:(0,a.A)("col","lastUpdated_JAkA"),children:(n||r)&&(0,s.jsx)(h,{lastUpdatedAt:n,lastUpdatedBy:r})})]})}},4743(e,t,n){"use strict";n.d(t,{A:()=>eg});var s=n(4848),a=n(6540),r=n(8453),i=n(3572),l=n(9863),c=n(4164),o=n(3941),d=n(1022);function u(){let{prism:e}=(0,d.p)(),{colorMode:t}=(0,o.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var m=n(8287),h=n(8426),f=n.n(h),p=n(2260);let x=/title=(?["'])(?.*?)\1/,j=/\{(?<range>[\d,-]+)\}/,g={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},b={...g,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},v=Object.keys(g);function N(e,t){let n=e.map(e=>{let{start:n,end:s}=b[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}let A=(0,a.createContext)(null);function y({metadata:e,wordWrap:t,children:n}){let r=(0,a.useMemo)(()=>({metadata:e,wordWrap:t}),[e,t]);return(0,s.jsx)(A.Provider,{value:r,children:n})}function w(){let e=(0,a.useContext)(A);if(null===e)throw new p.dV("CodeBlockContextProvider");return e}function k({as:e,...t}){let n,a,r=(n={color:"--prism-color",backgroundColor:"--prism-background-color"},a={},Object.entries(u().plain).forEach(([e,t])=>{let s=n[e];s&&"string"==typeof t&&(a[s]=t)}),a);return(0,s.jsx)(e,{...t,style:r,className:(0,c.A)(t.className,"codeBlockContainer_Ckt0",m.G.common.codeBlock)})}let C="codeBlockLines_e6Vv";function _({children:e,className:t}){return(0,s.jsx)(k,{as:"pre",tabIndex:0,className:(0,c.A)("codeBlockStandalone_MEMb","thin-scrollbar",t),children:(0,s.jsx)("code",{className:C,children:e})})}let B={attributes:!0,characterData:!0,childList:!0,subtree:!0};function T({children:e}){return e}var L=n(1765);function E({line:e,token:t,...n}){return(0,s.jsx)("span",{...n})}function M(){return(0,s.jsx)("br",{})}function S({line:e,classNames:t,showLineNumbers:n,getLineProps:a,getTokenProps:r}){let i,l=(i=1===e.length&&"\n"===e[0].content?e[0]:void 0)?[{...i,content:""}]:e,o=a({line:l,className:(0,c.A)(t,n&&"codeLine_lJS_")}),d=l.map((e,t)=>{let n=r({token:e});return(0,s.jsx)(E,{...n,line:l,token:e,children:n.children},t)});return(0,s.jsxs)("div",{...o,children:[n?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"codeLineNumber_Tfdd"}),(0,s.jsx)("span",{className:"codeLineContent_feaV",children:d})]}):d,(0,s.jsx)(M,{})]})}let z=a.forwardRef((e,t)=>(0,s.jsx)("pre",{ref:t,tabIndex:0,...e,className:(0,c.A)(e.className,"codeBlock_bY9V","thin-scrollbar")}));function I(e){let{metadata:t}=w();return(0,s.jsx)("code",{...e,className:(0,c.A)(e.className,C,void 0!==t.lineNumbersStart&&"codeBlockLinesWithNumbering_o6Pm"),style:{...e.style,counterReset:void 0===t.lineNumbersStart?void 0:`line-count ${t.lineNumbersStart-1}`}})}function H({className:e}){let{metadata:t,wordWrap:n}=w(),a=u(),{code:r,language:i,lineNumbersStart:l,lineClassNames:o}=t;return(0,s.jsx)(L.f4,{theme:a,code:r,language:i,children:({className:t,style:a,tokens:r,getLineProps:i,getTokenProps:d})=>(0,s.jsx)(z,{ref:n.codeBlockRef,className:(0,c.A)(e,t),style:a,children:(0,s.jsx)(I,{children:r.map((e,t)=>(0,s.jsx)(S,{line:e,getLineProps:i,getTokenProps:d,classNames:o[t],showLineNumbers:void 0!==l},t))})})})}function V({children:e,fallback:t}){return(0,l.A)()?(0,s.jsx)(s.Fragment,{children:e?.()}):t??null}var R=n(568);function U({className:e,...t}){return(0,s.jsx)("button",{type:"button",...t,className:(0,c.A)("clean-btn",e)})}function $(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function q(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let D={copyButtonCopied:"copyButtonCopied_Vdqa",copyButtonIcons:"copyButtonIcons_IEyt",copyButtonIcon:"copyButtonIcon_TrPX",copyButtonSuccessIcon:"copyButtonSuccessIcon_cVMy"};async function P(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);let{default:t}=await n.e("3693").then(n.bind(n,3436));return t(e)}function F({className:e}){let{copyCode:t,isCopied:n}=function(){let{metadata:{code:e}}=w(),[t,n]=(0,a.useState)(!1),s=(0,a.useRef)(void 0),r=(0,a.useCallback)(()=>{P(e).then(()=>{n(!0),s.current=window.setTimeout(()=>{n(!1)},1e3)})},[e]);return(0,a.useEffect)(()=>()=>window.clearTimeout(s.current),[]),{copyCode:r,isCopied:t}}();return(0,s.jsx)(U,{"aria-label":n?(0,R.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,R.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,R.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,c.A)(e,D.copyButton,n&&D.copyButtonCopied),onClick:t,children:(0,s.jsxs)("span",{className:D.copyButtonIcons,"aria-hidden":"true",children:[(0,s.jsx)($,{className:D.copyButtonIcon}),(0,s.jsx)(q,{className:D.copyButtonSuccessIcon})]})})}function O(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}function W({className:e}){let{wordWrap:t}=w();if(!(t.isEnabled||t.isCodeScrollable))return!1;let n=(0,R.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,s.jsx)(U,{onClick:()=>t.toggle(),className:(0,c.A)(e,t.isEnabled&&"wordWrapButtonEnabled_uzNF"),"aria-label":n,title:n,children:(0,s.jsx)(O,{className:"wordWrapButtonIcon_b1P5","aria-hidden":"true"})})}function G({className:e}){return(0,s.jsx)(V,{children:()=>(0,s.jsxs)("div",{className:(0,c.A)(e,"buttonGroup_M5ko"),children:[(0,s.jsx)(W,{}),(0,s.jsx)(F,{})]})})}function J({className:e}){let{metadata:t}=w();return(0,s.jsxs)(k,{as:"div",className:(0,c.A)(e,t.className),children:[t.title&&(0,s.jsx)("div",{className:"codeBlockTitle_OeMC",children:(0,s.jsx)(T,{children:t.title})}),(0,s.jsxs)("div",{className:"codeBlockContent_QJqH",children:[(0,s.jsx)(H,{}),(0,s.jsx)(G,{})]})]})}function Z(e){let t=function(e){let{prism:t}=(0,d.p)();return function(e){var t,n,s,a,r;let i,l=(n=(t={language:e.language,defaultLanguage:e.defaultLanguage,className:e.className}).language??function(e){if(!e)return;let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(t.className)??t.defaultLanguage,n?.toLowerCase()??"text"),{lineClassNames:o,code:d}=(s=e.code,a={metastring:e.metastring,magicComments:e.magicComments,language:l},function(e,{metastring:t,magicComments:n}){if(t&&j.test(t)){let s=t.match(j).groups.range;if(0===n.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${t}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let a=n[0].className;return{lineClassNames:Object.fromEntries(f()(s).filter(e=>e>0).map(e=>[e-1,[a]])),code:e}}return null}(i=s.replace(/\r?\n$/,""),{...a})??function(e,t){let{language:n,magicComments:s}=t;if(void 0===n)return{lineClassNames:{},code:e};let a=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return N(["js","jsBlock"],t);case"jsx":case"tsx":return N(["js","jsBlock","jsx"],t);case"html":return N(["js","jsBlock","html"],t);case"python":case"py":case"bash":return N(["bash"],t);case"markdown":case"md":return N(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return N(["tex"],t);case"lua":case"haskell":return N(["lua"],t);case"sql":return N(["lua","jsBlock"],t);case"wasm":return N(["wasm"],t);case"vb":case"vba":case"visual-basic":return N(["vb","rem"],t);case"vbnet":return N(["vbnet","rem"],t);case"batch":return N(["rem"],t);case"basic":return N(["rem","f90"],t);case"fsharp":return N(["js","ml"],t);case"ocaml":case"sml":return N(["ml"],t);case"fortran":return N(["f90"],t);case"cobol":return N(["cobol"],t);default:return N(v,t)}}(n,s),r=e.split(/\r?\n/),i=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),l=Object.fromEntries(s.filter(e=>e.line).map(({className:e,line:t})=>[t,e])),c=Object.fromEntries(s.filter(e=>e.block).map(({className:e,block:t})=>[t.start,e])),o=Object.fromEntries(s.filter(e=>e.block).map(({className:e,block:t})=>[t.end,e]));for(let e=0;e<r.length;){let t=r[e].match(a);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);l[n]?i[l[n]].range+=`${e},`:c[n]?i[c[n]].start=e:o[n]&&(i[o[n]].range+=`${i[o[n]].start}-${e-1},`),r.splice(e,1)}let d={};return Object.entries(i).forEach(([e,{range:t}])=>{f()(t).forEach(t=>{d[t]??=[],d[t].push(e)})}),{code:r.join("\n"),lineClassNames:d}}(i,{...a})),u=function({className:e,language:t}){return(0,c.A)(e,t&&!e?.includes(`language-${t}`)&&`language-${t}`)}({className:e.className,language:l}),m=(r=e.metastring,(r?.match(x)?.groups.title??"")||e.title),h=function({showLineNumbers:e,metastring:t}){if("boolean"==typeof e)return e?1:void 0;if("number"==typeof e)return e;let n=t?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}({showLineNumbers:e.showLineNumbers,metastring:e.metastring});return{codeInput:e.code,code:d,className:u,language:l,title:m,lineNumbersStart:h,lineClassNames:o}}({code:e.children,className:e.className,metastring:e.metastring,magicComments:t.magicComments,defaultLanguage:t.defaultLanguage,language:e.language,title:e.title,showLineNumbers:e.showLineNumbers})}(e),n=function(){let[e,t]=(0,a.useState)(!1),[n,s]=(0,a.useState)(!1),r=(0,a.useRef)(null),i=(0,a.useCallback)(()=>{let n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[r,e]),l=(0,a.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=r.current;s(e>t||r.current.querySelector("code").hasAttribute("style"))},[r]);return!function(e,t){let[n,s]=(0,a.useState)(),r=(0,a.useCallback)(()=>{s(e.current?.closest("[role=tabpanel][hidden]"))},[e,s]);(0,a.useEffect)(()=>{r()},[r]),function(e,t,n=B){let s=(0,p._q)(t),r=(0,p.Be)(n);(0,a.useEffect)(()=>{let t=new MutationObserver(s);return e&&t.observe(e,r),()=>t.disconnect()},[e,s,r])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(r,l),(0,a.useEffect)(()=>{l()},[e,l]),(0,a.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:i}}();return(0,s.jsx)(y,{metadata:t,wordWrap:n,children:(0,s.jsx)(J,{})})}function X({children:e,...t}){let n=(0,l.A)(),r=a.Children.toArray(e).some(e=>(0,a.isValidElement)(e))?e:Array.isArray(e)?e.join(""):e;return(0,s.jsx)("string"==typeof r?Z:_,{...t,children:r},String(n))}function Q(e){return(0,s.jsx)("code",{...e})}var Y=n(5310),K=n(4727),ee=n(5916),et=n(9510);function en(e){return!!e&&("SUMMARY"===e.tagName||en(e.parentElement))}function es({summary:e,children:t,...n}){(0,ee.A)().collectAnchor(n.id);let r=(0,l.A)(),i=(0,a.useRef)(null),{collapsed:o,setCollapsed:d}=(0,et.u)({initialState:!n.open}),[u,m]=(0,a.useState)(n.open),h=a.isValidElement(e)?e:(0,s.jsx)("summary",{children:e??"Details"});return(0,s.jsxs)("details",{...n,ref:i,open:u,"data-collapsed":o,className:(0,c.A)("details_lb9f",r&&"isBrowser_bmU9",n.className),onMouseDown:e=>{en(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;en(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,i.current)&&(e.preventDefault(),o?(d(!1),m(!0)):d(!0))},children:[h,(0,s.jsx)(et.N,{lazy:!1,collapsed:o,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,s.jsx)("div",{className:"collapsibleContent_i85q",children:t})})]})}function ea({...e}){return(0,s.jsx)(es,{...e,className:(0,c.A)("alert alert--info","details_b_Ee",e.className)})}function er(e){let t=a.Children.toArray(e.children),n=t.find(e=>a.isValidElement(e)&&"summary"===e.type),r=(0,s.jsx)(s.Fragment,{children:t.filter(e=>e!==n)});return(0,s.jsx)(ea,{...e,summary:n,children:r})}var ei=n(2072);function el(e){return(0,s.jsx)(ei.A,{...e})}var ec=n(7444),eo=n(1701),ed=n(3072);async function eu(){return(await n.e("1134").then(n.bind(n,2346))).default}let em=null;async function eh(){return em||(em=eu()),em}async function ef({id:e,text:t,config:n}){let s=await eh();s.initialize(n);try{return await s.render(e,t)}catch(t){throw document.querySelector(`#d${e}`)?.remove(),t}}function ep({renderResult:e}){let t=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let n=t.current;e.bindFunctions?.(n)},[e]),(0,s.jsx)("div",{ref:t,className:"docusaurus-mermaid-container container_lyt7",dangerouslySetInnerHTML:{__html:e.svg}})}function ex({value:e}){let t=function({text:e,config:t}){let[n,s]=(0,a.useState)(null),r=(0,a.useState)(`mermaid-svg-${Math.round(1e7*Math.random())}`)[0],i=function(){let{colorMode:e}=(0,o.G)(),t=(0,d.p)().mermaid,n=t.theme[e],{options:s}=t;return(0,a.useMemo)(()=>({startOnLoad:!1,...s,theme:n}),[n,s])}(),l=t??i;return(0,a.useEffect)(()=>{ef({id:r,text:e,config:l}).then(s).catch(e=>{s(()=>{throw e})})},[r,e,l]),n}({text:e});return null===t?null:(0,s.jsx)(ep,{renderResult:t})}let ej={Head:i.A,details:er,Details:er,code:function(e){return void 0!==e.children&&a.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,s.jsx)(Q,{...e}):(0,s.jsx)(X,{...e})},a:function(e){let t=(0,K.v)(e.id);return(0,s.jsx)(Y.A,{...e,className:(0,c.A)(t,e.className)})},pre:function(e){return(0,s.jsx)(s.Fragment,{children:e.children})},ul:function(e){return(0,s.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,c.A)(e,e?.includes("contains-task-list")&&"containsTaskList_mC6p")}(e.className)})},li:function(e){(0,ee.A)().collectAnchor(e.id);let t=(0,K.v)(e.id);return(0,s.jsx)("li",{className:(0,c.A)(t,e.className),...e})},img:function(e){var t;return(0,s.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,c.A)(t,"img_ev3q"))})},h1:e=>(0,s.jsx)(el,{as:"h1",...e}),h2:e=>(0,s.jsx)(el,{as:"h2",...e}),h3:e=>(0,s.jsx)(el,{as:"h3",...e}),h4:e=>(0,s.jsx)(el,{as:"h4",...e}),h5:e=>(0,s.jsx)(el,{as:"h5",...e}),h6:e=>(0,s.jsx)(el,{as:"h6",...e}),admonition:ec.A,mermaid:function(e){return(0,s.jsx)(eo.A,{fallback:e=>(0,s.jsx)(ed.MN,{...e}),children:(0,s.jsx)(ex,{...e})})}};function eg({children:e}){return(0,s.jsx)(r.x,{components:ej,children:e})}},7174(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n(4848);n(6540);var a=n(4164),r=n(5310);function i(e){let{permalink:t,title:n,subLabel:i,isNext:l}=e;return(0,s.jsxs)(r.A,{className:(0,a.A)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[i&&(0,s.jsx)("div",{className:"pagination-nav__sublabel",children:i}),(0,s.jsx)("div",{className:"pagination-nav__label",children:n})]})}},535(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n(4848);n(6540);var a=n(4164),r=n(5310);function i({permalink:e,label:t,count:n,description:l}){return(0,s.jsxs)(r.A,{rel:"tag",href:e,title:l,className:(0,a.A)("tag_zVej",n?"tagWithCount_h2kH":"tagRegular_sFm0"),children:[t,n&&(0,s.jsx)("span",{children:n})]})}},4999(e,t,n){"use strict";n.d(t,{A:()=>l});var s=n(4848);n(6540);var a=n(4164),r=n(568),i=n(535);function l({tags:e}){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("b",{children:(0,s.jsx)(r.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,s.jsx)("ul",{className:(0,a.A)("tags_jXut","padding--none","margin-left--sm"),children:e.map(e=>(0,s.jsx)("li",{className:"tag_QGVx",children:(0,s.jsx)(i.A,{...e})},e.permalink))})]})}},7954(e,t,n){"use strict";n.d(t,{i:()=>a});var s=n(898);function a(e={}){let{i18n:{currentLocale:t}}=(0,s.A)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},8453(e,t,n){"use strict";n.d(t,{R:()=>i,x:()=>l});var s=n(6540);let a={},r=s.createContext(a);function i(e){let t=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1134.9de6afc4.js b/assets/js/1134.9de6afc4.js new file mode 100644 index 0000000..6eb49b8 --- /dev/null +++ b/assets/js/1134.9de6afc4.js @@ -0,0 +1,256 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1134"],{9119(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BLANK_URL=e.relativeFirstCharacters=e.whitespaceEscapeCharsRegex=e.urlSchemeRegex=e.ctrlCharactersRegex=e.htmlCtrlEntityRegex=e.htmlEntitiesRegex=e.invalidProtocolRegex=void 0,e.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,e.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,e.htmlCtrlEntityRegex=/&(newline|tab);/gi,e.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,e.urlSchemeRegex=/^.+(:|:)/gim,e.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,e.relativeFirstCharacters=[".","/"],e.BLANK_URL="about:blank"},6750(t,e,r){"use strict";e.sanitizeUrl=function(t){if(!t)return i.BLANK_URL;var e,r=o(t.trim());do e=(r=o(r=r.replace(i.ctrlCharactersRegex,"").replace(i.htmlEntitiesRegex,function(t,e){return String.fromCharCode(e)}).replace(i.htmlCtrlEntityRegex,"").replace(i.ctrlCharactersRegex,"").replace(i.whitespaceEscapeCharsRegex,"").trim())).match(i.ctrlCharactersRegex)||r.match(i.htmlEntitiesRegex)||r.match(i.htmlCtrlEntityRegex)||r.match(i.whitespaceEscapeCharsRegex);while(e&&e.length>0)var a=r;if(!a)return i.BLANK_URL;if(i.relativeFirstCharacters.indexOf(a[0])>-1)return a;var n=a.trimStart(),s=n.match(i.urlSchemeRegex);if(!s)return a;var l=s[0].toLowerCase().trim();if(i.invalidProtocolRegex.test(l))return i.BLANK_URL;var h=n.replace(/\\/g,"/");if("mailto:"===l||l.includes("://"))return h;if("http:"===l||"https:"===l){if(!URL.canParse(h))return i.BLANK_URL;var c=new URL(h);return c.protocol=c.protocol.toLowerCase(),c.hostname=c.hostname.toLowerCase(),c.toString()}return h};var i=r(9119);function o(t){try{return decodeURIComponent(t)}catch(e){return t}}},4353(t){t.exports=function(){"use strict";var t="millisecond",e="second",r="minute",i="hour",o="week",a="month",n="quarter",s="year",l="date",h="Invalid Date",c=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=function(t,e,r){var i=String(t);return!i||i.length>=e?t:""+Array(e+1-i.length).join(r)+t},p="en",g={};g[p]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],r=t%100;return"["+t+(e[(r-20)%10]||e[r]||e[0])+"]"}};var f="$isDayjsObject",y=function(t){return t instanceof b||!(!t||!t[f])},m=function t(e,r,i){var o;if(!e)return p;if("string"==typeof e){var a=e.toLowerCase();g[a]&&(o=a),r&&(g[a]=r,o=a);var n=e.split("-");if(!o&&n.length>1)return t(n[0])}else{var s=e.name;g[s]=e,o=s}return!i&&o&&(p=o),o||!i&&p},x=function(t,e){if(y(t))return t.clone();var r="object"==typeof e?e:{};return r.date=t,r.args=arguments,new b(r)},C={s:u,z:function(t){var e=-t.utcOffset(),r=Math.abs(e);return(e<=0?"+":"-")+u(Math.floor(r/60),2,"0")+":"+u(r%60,2,"0")},m:function t(e,r){if(e.date()<r.date())return-t(r,e);var i=12*(r.year()-e.year())+(r.month()-e.month()),o=e.clone().add(i,a),n=r-o<0,s=e.clone().add(i+(n?-1:1),a);return+(-(i+(r-o)/(n?o-s:s-o))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(h){return({M:a,y:s,w:o,d:"day",D:l,h:i,m:r,s:e,ms:t,Q:n})[h]||String(h||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}};C.l=m,C.i=y,C.w=function(t,e){return x(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var b=function(){function u(t){this.$L=m(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[f]=!0}var p=u.prototype;return p.parse=function(t){this.$d=function(t){var e=t.date,r=t.utc;if(null===e)return new Date(NaN);if(C.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(c);if(i){var o=i[2]-1||0,a=(i[7]||"0").substring(0,3);return r?new Date(Date.UTC(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,a)):new Date(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,a)}}return new Date(e)}(t),this.init()},p.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},p.$utils=function(){return C},p.isValid=function(){return this.$d.toString()!==h},p.isSame=function(t,e){var r=x(t);return this.startOf(e)<=r&&r<=this.endOf(e)},p.isAfter=function(t,e){return x(t)<this.startOf(e)},p.isBefore=function(t,e){return this.endOf(e)<x(t)},p.$g=function(t,e,r){return C.u(t)?this[e]:this.set(r,t)},p.unix=function(){return Math.floor(this.valueOf()/1e3)},p.valueOf=function(){return this.$d.getTime()},p.startOf=function(t,n){var h=this,c=!!C.u(n)||n,d=C.p(t),u=function(t,e){var r=C.w(h.$u?Date.UTC(h.$y,e,t):new Date(h.$y,e,t),h);return c?r:r.endOf("day")},p=function(t,e){return C.w(h.toDate()[t].apply(h.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(e)),h)},g=this.$W,f=this.$M,y=this.$D,m="set"+(this.$u?"UTC":"");switch(d){case s:return c?u(1,0):u(31,11);case a:return c?u(1,f):u(0,f+1);case o:var x=this.$locale().weekStart||0,b=(g<x?g+7:g)-x;return u(c?y-b:y+(6-b),f);case"day":case l:return p(m+"Hours",0);case i:return p(m+"Minutes",1);case r:return p(m+"Seconds",2);case e:return p(m+"Milliseconds",3);default:return this.clone()}},p.endOf=function(t){return this.startOf(t,!1)},p.$set=function(o,n){var h,c=C.p(o),d="set"+(this.$u?"UTC":""),u=((h={}).day=d+"Date",h[l]=d+"Date",h[a]=d+"Month",h[s]=d+"FullYear",h[i]=d+"Hours",h[r]=d+"Minutes",h[e]=d+"Seconds",h[t]=d+"Milliseconds",h)[c],p="day"===c?this.$D+(n-this.$W):n;if(c===a||c===s){var g=this.clone().set(l,1);g.$d[u](p),g.init(),this.$d=g.set(l,Math.min(this.$D,g.daysInMonth())).$d}else u&&this.$d[u](p);return this.init(),this},p.set=function(t,e){return this.clone().$set(t,e)},p.get=function(t){return this[C.p(t)]()},p.add=function(t,n){var l,h=this;t=Number(t);var c=C.p(n),d=function(e){var r=x(h);return C.w(r.date(r.date()+Math.round(e*t)),h)};if(c===a)return this.set(a,this.$M+t);if(c===s)return this.set(s,this.$y+t);if("day"===c)return d(1);if(c===o)return d(7);var u=((l={})[r]=6e4,l[i]=36e5,l[e]=1e3,l)[c]||1,p=this.$d.getTime()+t*u;return C.w(p,this)},p.subtract=function(t,e){return this.add(-1*t,e)},p.format=function(t){var e=this,r=this.$locale();if(!this.isValid())return r.invalidDate||h;var i=t||"YYYY-MM-DDTHH:mm:ssZ",o=C.z(this),a=this.$H,n=this.$m,s=this.$M,l=r.weekdays,c=r.months,u=r.meridiem,p=function(t,r,o,a){return t&&(t[r]||t(e,i))||o[r].slice(0,a)},g=function(t){return C.s(a%12||12,t,"0")},f=u||function(t,e,r){var i=t<12?"AM":"PM";return r?i.toLowerCase():i};return i.replace(d,function(t,i){return i||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return C.s(e.$y,4,"0");case"M":return s+1;case"MM":return C.s(s+1,2,"0");case"MMM":return p(r.monthsShort,s,c,3);case"MMMM":return p(c,s);case"D":return e.$D;case"DD":return C.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return p(r.weekdaysMin,e.$W,l,2);case"ddd":return p(r.weekdaysShort,e.$W,l,3);case"dddd":return l[e.$W];case"H":return String(a);case"HH":return C.s(a,2,"0");case"h":return g(1);case"hh":return g(2);case"a":return f(a,n,!0);case"A":return f(a,n,!1);case"m":return String(n);case"mm":return C.s(n,2,"0");case"s":return String(e.$s);case"ss":return C.s(e.$s,2,"0");case"SSS":return C.s(e.$ms,3,"0");case"Z":return o}return null}(t)||o.replace(":","")})},p.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},p.diff=function(t,l,h){var c,d=this,u=C.p(l),p=x(t),g=(p.utcOffset()-this.utcOffset())*6e4,f=this-p,y=function(){return C.m(d,p)};switch(u){case s:c=y()/12;break;case a:c=y();break;case n:c=y()/3;break;case o:c=(f-g)/6048e5;break;case"day":c=(f-g)/864e5;break;case i:c=f/36e5;break;case r:c=f/6e4;break;case e:c=f/1e3;break;default:c=f}return h?c:C.a(c)},p.daysInMonth=function(){return this.endOf(a).$D},p.$locale=function(){return g[this.$L]},p.locale=function(t,e){if(!t)return this.$L;var r=this.clone(),i=m(t,e,!0);return i&&(r.$L=i),r},p.clone=function(){return C.w(this.$d,this)},p.toDate=function(){return new Date(this.valueOf())},p.toJSON=function(){return this.isValid()?this.toISOString():null},p.toISOString=function(){return this.$d.toISOString()},p.toString=function(){return this.$d.toUTCString()},u}(),k=b.prototype;return x.prototype=k,[["$ms",t],["$s",e],["$m",r],["$H",i],["$W","day"],["$M",a],["$y",s],["$D",l]].forEach(function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),x.extend=function(t,e){return t.$i||(t(e,b,x),t.$i=!0),x},x.locale=m,x.isDayjs=y,x.unix=function(t){return x(1e3*t)},x.en=g[p],x.Ls=g,x.p={},x}()},2274(t,e,r){"use strict";function i(t,e,r){if(t&&t.length){let[i,o]=e,a=Math.PI/180*r,n=Math.cos(a),s=Math.sin(a);for(let e of t){let[t,r]=e;e[0]=(t-i)*n-(r-o)*s+i,e[1]=(t-i)*s+(r-o)*n+o}}}function o(t,e){var r;let o=e.hachureAngle+90,a=e.hachureGap;a<0&&(a=4*e.strokeWidth),a=Math.round(Math.max(a,.1));let n=1;return e.roughness>=1&&((null==(r=e.randomizer)?void 0:r.next())||Math.random())>.7&&(n=a),function(t,e,r,o=1){let a=Math.max(e,.1),n=t[0]&&t[0][0]&&"number"==typeof t[0][0]?[t]:t,s=[0,0];if(r)for(let t of n)i(t,s,r);let l=function(t,e,r){let i=[];for(let e of t){var o,a;let t=[...e];o=t[0],a=t[t.length-1],o[0]===a[0]&&o[1]===a[1]||t.push([t[0][0],t[0][1]]),t.length>2&&i.push(t)}let n=[];e=Math.max(e,.1);let s=[];for(let t of i)for(let e=0;e<t.length-1;e++){let r=t[e],i=t[e+1];if(r[1]!==i[1]){let t=Math.min(r[1],i[1]);s.push({ymin:t,ymax:Math.max(r[1],i[1]),x:t===r[1]?r[0]:i[0],islope:(i[0]-r[0])/(i[1]-r[1])})}}if(s.sort((t,e)=>t.ymin<e.ymin?-1:t.ymin>e.ymin?1:t.x<e.x?-1:t.x>e.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax)),!s.length)return n;let l=[],h=s[0].ymin,c=0;for(;l.length||s.length;){if(s.length){let t=-1;for(let e=0;e<s.length&&!(s[e].ymin>h);e++)t=e;s.splice(0,t+1).forEach(t=>{l.push({s:h,edge:t})})}if((l=l.filter(t=>!(t.edge.ymax<=h))).sort((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x)),(1!==r||c%e==0)&&l.length>1)for(let t=0;t<l.length;t+=2){let e=t+1;if(e>=l.length)break;let r=l[t].edge,i=l[e].edge;n.push([[Math.round(r.x),h],[Math.round(i.x),h]])}h+=r,l.forEach(t=>{t.edge.x=t.edge.x+r*t.edge.islope}),c++}return n}(n,a,o);if(r){let t;for(let t of n)i(t,s,-r);t=[],l.forEach(e=>t.push(...e)),i(t,s,-r)}return l}(t,a,o,n||1)}r.d(e,{A:()=>X});class a{constructor(t){this.helper=t}fillPolygons(t,e){return this._fillPolygons(t,e)}_fillPolygons(t,e){let r=o(t,e);return{type:"fillSketch",ops:this.renderLines(r,e)}}renderLines(t,e){let r=[];for(let i of t)r.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],e));return r}}function n(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class s extends a{fillPolygons(t,e){let r=e.hachureGap;r<0&&(r=4*e.strokeWidth);let i=o(t,Object.assign({},e,{hachureGap:r=Math.max(r,.1)})),a=Math.PI/180*e.hachureAngle,s=[],l=.5*r*Math.cos(a),h=.5*r*Math.sin(a);for(let[t,e]of i)n([t,e])&&s.push([[t[0]-l,t[1]+h],[...e]],[[t[0]+l,t[1]-h],[...e]]);return{type:"fillSketch",ops:this.renderLines(s,e)}}}class l extends a{fillPolygons(t,e){let r=this._fillPolygons(t,e),i=Object.assign({},e,{hachureAngle:e.hachureAngle+90}),o=this._fillPolygons(t,i);return r.ops=r.ops.concat(o.ops),r}}class h{constructor(t){this.helper=t}fillPolygons(t,e){let r=o(t,e=Object.assign({},e,{hachureAngle:0}));return this.dotsOnLines(r,e)}dotsOnLines(t,e){let r=[],i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.max(i,.1);let o=e.fillWeight;o<0&&(o=e.strokeWidth/2);let a=i/4;for(let s of t){let t=n(s),l=Math.ceil(t/i)-1,h=t-l*i,c=(s[0][0]+s[1][0])/2-i/4,d=Math.min(s[0][1],s[1][1]);for(let t=0;t<l;t++){let n=c-a+2*Math.random()*a,s=d+h+t*i-a+2*Math.random()*a,l=this.helper.ellipse(n,s,o,o,e);r.push(...l.ops)}}return{type:"fillSketch",ops:r}}}class c{constructor(t){this.helper=t}fillPolygons(t,e){let r=o(t,e);return{type:"fillSketch",ops:this.dashedLine(r,e)}}dashedLine(t,e){let r=e.dashOffset<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashOffset,i=e.dashGap<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashGap,o=[];return t.forEach(t=>{let a=n(t),s=Math.floor(a/(r+i)),l=(a+i-s*(r+i))/2,h=t[0],c=t[1];h[0]>c[0]&&(h=t[1],c=t[0]);let d=Math.atan((c[1]-h[1])/(c[0]-h[0]));for(let t=0;t<s;t++){let a=t*(r+i),n=a+r,s=[h[0]+a*Math.cos(d)+l*Math.cos(d),h[1]+a*Math.sin(d)+l*Math.sin(d)],c=[h[0]+n*Math.cos(d)+l*Math.cos(d),h[1]+n*Math.sin(d)+l*Math.sin(d)];o.push(...this.helper.doubleLineOps(s[0],s[1],c[0],c[1],e))}}),o}}class d{constructor(t){this.helper=t}fillPolygons(t,e){let r=e.hachureGap<0?4*e.strokeWidth:e.hachureGap,i=e.zigzagOffset<0?r:e.zigzagOffset,a=o(t,e=Object.assign({},e,{hachureGap:r+i}));return{type:"fillSketch",ops:this.zigzagLines(a,i,e)}}zigzagLines(t,e,r){let i=[];return t.forEach(t=>{let o=Math.round(n(t)/(2*e)),a=t[0],s=t[1];a[0]>s[0]&&(a=t[1],s=t[0]);let l=Math.atan((s[1]-a[1])/(s[0]-a[0]));for(let t=0;t<o;t++){let o=2*t*e,n=2*(t+1)*e,s=Math.sqrt(2*Math.pow(e,2)),h=[a[0]+o*Math.cos(l),a[1]+o*Math.sin(l)],c=[a[0]+n*Math.cos(l),a[1]+n*Math.sin(l)],d=[h[0]+s*Math.cos(l+Math.PI/4),h[1]+s*Math.sin(l+Math.PI/4)];i.push(...this.helper.doubleLineOps(h[0],h[1],d[0],d[1],r),...this.helper.doubleLineOps(d[0],d[1],c[0],c[1],r))}}),i}}let u={};class p{constructor(t){this.seed=t}next(){return this.seed?(0x80000000-1&(this.seed=Math.imul(48271,this.seed)))/0x80000000:Math.random()}}let g={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function f(t){let e=[],r=function(t){let e=[];for(;""!==t;)if(t.match(/^([ \t\r\n,]+)/))t=t.substr(RegExp.$1.length);else if(t.match(/^([aAcChHlLmMqQsStTvVzZ])/))e[e.length]={type:0,text:RegExp.$1},t=t.substr(RegExp.$1.length);else{if(!t.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e[e.length]={type:1,text:`${parseFloat(RegExp.$1)}`},t=t.substr(RegExp.$1.length)}return e[e.length]={type:2,text:""},e}(t),i="BOD",o=0,a=r[0];for(;2!==a.type;){let n=0,s=[];if("BOD"===i){if("M"!==a.text&&"m"!==a.text)return f("M0,0"+t);o++,n=g[a.text],i=a.text}else 1===a.type?n=g[i]:(o++,n=g[a.text],i=a.text);if(!(o+n<r.length))throw Error("Path data ended short");for(let t=o;t<o+n;t++){let e=r[t];if(1!==e.type)throw Error("Param not a number: "+i+","+e.text);s[s.length]=+e.text}if("number"!=typeof g[i])throw Error("Bad segment: "+i);{let t={key:i,data:s};e.push(t),o+=n,a=r[o],"M"===i&&(i="L"),"m"===i&&(i="l")}}return e}function y(t){let e=0,r=0,i=0,o=0,a=[];for(let{key:n,data:s}of t)switch(n){case"M":a.push({key:"M",data:[...s]}),[e,r]=s,[i,o]=s;break;case"m":e+=s[0],r+=s[1],a.push({key:"M",data:[e,r]}),i=e,o=r;break;case"L":a.push({key:"L",data:[...s]}),[e,r]=s;break;case"l":e+=s[0],r+=s[1],a.push({key:"L",data:[e,r]});break;case"C":a.push({key:"C",data:[...s]}),e=s[4],r=s[5];break;case"c":{let t=s.map((t,i)=>i%2?t+r:t+e);a.push({key:"C",data:t}),e=t[4],r=t[5];break}case"Q":a.push({key:"Q",data:[...s]}),e=s[2],r=s[3];break;case"q":{let t=s.map((t,i)=>i%2?t+r:t+e);a.push({key:"Q",data:t}),e=t[2],r=t[3];break}case"A":a.push({key:"A",data:[...s]}),e=s[5],r=s[6];break;case"a":e+=s[5],r+=s[6],a.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],e,r]});break;case"H":a.push({key:"H",data:[...s]}),e=s[0];break;case"h":e+=s[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...s]}),r=s[0];break;case"v":r+=s[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...s]}),e=s[2],r=s[3];break;case"s":{let t=s.map((t,i)=>i%2?t+r:t+e);a.push({key:"S",data:t}),e=t[2],r=t[3];break}case"T":a.push({key:"T",data:[...s]}),e=s[0],r=s[1];break;case"t":e+=s[0],r+=s[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=i,r=o}return a}function m(t){let e=[],r="",i=0,o=0,a=0,n=0,s=0,l=0;for(let{key:h,data:c}of t){switch(h){case"M":e.push({key:"M",data:[...c]}),[i,o]=c,[a,n]=c;break;case"C":e.push({key:"C",data:[...c]}),i=c[4],o=c[5],s=c[2],l=c[3];break;case"L":e.push({key:"L",data:[...c]}),[i,o]=c;break;case"H":i=c[0],e.push({key:"L",data:[i,o]});break;case"V":o=c[0],e.push({key:"L",data:[i,o]});break;case"S":{let t=0,a=0;"C"===r||"S"===r?(t=i+(i-s),a=o+(o-l)):(t=i,a=o),e.push({key:"C",data:[t,a,...c]}),s=c[0],l=c[1],i=c[2],o=c[3];break}case"T":{let[t,a]=c,n=0,h=0;"Q"===r||"T"===r?(n=i+(i-s),h=o+(o-l)):(n=i,h=o);let d=i+2*(n-i)/3,u=o+2*(h-o)/3,p=t+2*(n-t)/3,g=a+2*(h-a)/3;e.push({key:"C",data:[d,u,p,g,t,a]}),s=n,l=h,i=t,o=a;break}case"Q":{let[t,r,a,n]=c,h=i+2*(t-i)/3,d=o+2*(r-o)/3,u=a+2*(t-a)/3,p=n+2*(r-n)/3;e.push({key:"C",data:[h,d,u,p,a,n]}),s=t,l=r,i=a,o=n;break}case"A":{let t=Math.abs(c[0]),r=Math.abs(c[1]),a=c[2],n=c[3],s=c[4],l=c[5],h=c[6];0===t||0===r?(e.push({key:"C",data:[i,o,l,h,l,h]}),i=l,o=h):(i!==l||o!==h)&&((function t(e,r,i,o,a,n,s,l,h,c){let d=Math.PI*s/180,u=[],p=0,g=0,f=0,y=0;if(c)[p,g,f,y]=c;else{[e,r]=x(e,r,-d),[i,o]=x(i,o,-d);let t=(e-i)/2,s=(r-o)/2,c=t*t/(a*a)+s*s/(n*n);c>1&&(a*=c=Math.sqrt(c),n*=c);let u=a*a,m=n*n,C=(l===h?-1:1)*Math.sqrt(Math.abs((u*m-u*s*s-m*t*t)/(u*s*s+m*t*t)));f=C*a*s/n+(e+i)/2,y=-(C*n)*t/a+(r+o)/2,p=Math.asin(parseFloat(((r-y)/n).toFixed(9))),g=Math.asin(parseFloat(((o-y)/n).toFixed(9))),e<f&&(p=Math.PI-p),i<f&&(g=Math.PI-g),p<0&&(p=2*Math.PI+p),g<0&&(g=2*Math.PI+g),h&&p>g&&(p-=2*Math.PI),!h&&g>p&&(g-=2*Math.PI)}let m=g-p;if(Math.abs(m)>120*Math.PI/180){let e=g,r=i,l=o;u=t(i=f+a*Math.cos(g=h&&g>p?p+120*Math.PI/180*1:p+-(120*Math.PI/180*1)),o=y+n*Math.sin(g),r,l,a,n,s,0,h,[g,e,f,y])}m=g-p;let C=Math.cos(p),b=Math.cos(g),k=Math.tan(m/4),w=4/3*a*k,T=4/3*n*k,B=[e,r],S=[e+w*Math.sin(p),r-T*C],v=[i+w*Math.sin(g),o-T*b],_=[i,o];if(S[0]=2*B[0]-S[0],S[1]=2*B[1]-S[1],c)return[S,v,_].concat(u);{u=[S,v,_].concat(u);let t=[];for(let e=0;e<u.length;e+=3){let r=x(u[e][0],u[e][1],d),i=x(u[e+1][0],u[e+1][1],d),o=x(u[e+2][0],u[e+2][1],d);t.push([r[0],r[1],i[0],i[1],o[0],o[1]])}return t}})(i,o,l,h,t,r,a,n,s).forEach(function(t){e.push({key:"C",data:t})}),i=l,o=h);break}case"Z":e.push({key:"Z",data:[]}),i=a,o=n}r=h}return e}function x(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}let C={randOffset:function(t,e){return $(t,e)},randOffsetWithRange:function(t,e,r){return M(t,e,r)},ellipse:function(t,e,r,i,o){let a=T(r,i,o);return B(t,e,o,a).opset},doubleLineOps:function(t,e,r,i,o){return E(t,e,r,i,o,!0)}};function b(t,e,r,i,o){return{type:"path",ops:E(t,e,r,i,o)}}function k(t,e,r){let i=(t||[]).length;if(i>2){let o=[];for(let e=0;e<i-1;e++)o.push(...E(t[e][0],t[e][1],t[e+1][0],t[e+1][1],r));return e&&o.push(...E(t[i-1][0],t[i-1][1],t[0][0],t[0][1],r)),{type:"path",ops:o}}return 2===i?b(t[0][0],t[0][1],t[1][0],t[1][1],r):{type:"path",ops:[]}}function w(t,e){if(t.length){let r="number"==typeof t[0][0]?[t]:t,i=D(r[0],+(1+.2*e.roughness),e),o=e.disableMultiStroke?[]:D(r[0],1.5*(1+.22*e.roughness),A(e));for(let t=1;t<r.length;t++){let a=r[t];if(a.length){let t=D(a,+(1+.2*e.roughness),e),r=e.disableMultiStroke?[]:D(a,1.5*(1+.22*e.roughness),A(e));for(let e of t)"move"!==e.op&&i.push(e);for(let t of r)"move"!==t.op&&o.push(t)}}return{type:"path",ops:i.concat(o)}}return{type:"path",ops:[]}}function T(t,e,r){let i=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t/2,2)+Math.pow(e/2,2))/2)),o=2*Math.PI/Math.ceil(Math.max(r.curveStepCount,r.curveStepCount/Math.sqrt(200)*i)),a=Math.abs(t/2),n=Math.abs(e/2),s=1-r.curveFitting;return a+=$(a*s,r),n+=$(n*s,r),{increment:o,rx:a,ry:n}}function B(t,e,r,i){let[o,a]=I(i.increment,t,e,i.rx,i.ry,1,i.increment*M(.1,M(.4,1,r),r),r),n=K(o,null,r);if(!r.disableMultiStroke&&0!==r.roughness){let[o]=I(i.increment,t,e,i.rx,i.ry,1.5,0,r),a=K(o,null,r);n=n.concat(a)}return{estimatedPoints:a,opset:{type:"path",ops:n}}}function S(t,e,r,i,o,a,n,s,l){let h=Math.abs(r/2),c=Math.abs(i/2);h+=$(.01*h,l),c+=$(.01*c,l);let d=o,u=a;for(;d<0;)d+=2*Math.PI,u+=2*Math.PI;u-d>2*Math.PI&&(d=0,u=2*Math.PI);let p=Math.min(2*Math.PI/l.curveStepCount/2,(u-d)/2),g=q(p,t,e,h,c,d,u,1,l);if(!l.disableMultiStroke){let r=q(p,t,e,h,c,d,u,1.5,l);g.push(...r)}return n&&(s?g.push(...E(t,e,t+h*Math.cos(d),e+c*Math.sin(d),l),...E(t,e,t+h*Math.cos(u),e+c*Math.sin(u),l)):g.push({op:"lineTo",data:[t,e]},{op:"lineTo",data:[t+h*Math.cos(d),e+c*Math.sin(d)]})),{type:"path",ops:g}}function v(t,e){let r=m(y(f(t))),i=[],o=[0,0],a=[0,0];for(let{key:t,data:n}of r)switch(t){case"M":a=[n[0],n[1]],o=[n[0],n[1]];break;case"L":i.push(...E(a[0],a[1],n[0],n[1],e)),a=[n[0],n[1]];break;case"C":{let[t,r,o,s,l,h]=n;i.push(...function(t,e,r,i,o,a,n,s){let l=[],h=[s.maxRandomnessOffset||1,(s.maxRandomnessOffset||1)+.3],c=[0,0],d=s.disableMultiStroke?1:2,u=s.preserveVertices;for(let p=0;p<d;p++)0===p?l.push({op:"move",data:[n[0],n[1]]}):l.push({op:"move",data:[n[0]+(u?0:$(h[0],s)),n[1]+(u?0:$(h[0],s))]}),c=u?[o,a]:[o+$(h[p],s),a+$(h[p],s)],l.push({op:"bcurveTo",data:[t+$(h[p],s),e+$(h[p],s),r+$(h[p],s),i+$(h[p],s),c[0],c[1]]});return l}(t,r,o,s,l,h,a,e)),a=[l,h];break}case"Z":i.push(...E(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]]}return{type:"path",ops:i}}function _(t,e){let r=[];for(let i of t)if(i.length){let t=e.maxRandomnessOffset||0,o=i.length;if(o>2){r.push({op:"move",data:[i[0][0]+$(t,e),i[0][1]+$(t,e)]});for(let a=1;a<o;a++)r.push({op:"lineTo",data:[i[a][0]+$(t,e),i[a][1]+$(t,e)]})}}return{type:"fillPath",ops:r}}function F(t,e){return(function(t,e){let r=t.fillStyle||"hachure";if(!u[r])switch(r){case"zigzag":u[r]||(u[r]=new s(e));break;case"cross-hatch":u[r]||(u[r]=new l(e));break;case"dots":u[r]||(u[r]=new h(e));break;case"dashed":u[r]||(u[r]=new c(e));break;case"zigzag-line":u[r]||(u[r]=new d(e));break;default:u[r="hachure"]||(u[r]=new a(e))}return u[r]})(e,C).fillPolygons(t,e)}function A(t){let e=Object.assign({},t);return e.randomizer=void 0,t.seed&&(e.seed=t.seed+1),e}function L(t){return t.randomizer||(t.randomizer=new p(t.seed||0)),t.randomizer.next()}function M(t,e,r,i=1){return r.roughness*i*(L(r)*(e-t)+t)}function $(t,e,r=1){return M(-t,t,e,r)}function E(t,e,r,i,o,a=!1){let n=a?o.disableMultiStrokeFill:o.disableMultiStroke,s=O(t,e,r,i,o,!0,!1);if(n)return s;let l=O(t,e,r,i,o,!0,!0);return s.concat(l)}function O(t,e,r,i,o,a,n){let s=Math.pow(t-r,2)+Math.pow(e-i,2),l=Math.sqrt(s),h=1;h=l<200?1:l>500?.4:-.0016668*l+1.233334;let c=o.maxRandomnessOffset||0;c*c*100>s&&(c=l/10);let d=c/2,u=.2+.2*L(o),p=o.bowing*o.maxRandomnessOffset*(i-e)/200,g=o.bowing*o.maxRandomnessOffset*(t-r)/200;p=$(p,o,h),g=$(g,o,h);let f=[],y=o.preserveVertices;return a&&(n?f.push({op:"move",data:[t+(y?0:$(d,o,h)),e+(y?0:$(d,o,h))]}):f.push({op:"move",data:[t+(y?0:$(c,o,h)),e+(y?0:$(c,o,h))]})),n?f.push({op:"bcurveTo",data:[p+t+(r-t)*u+$(d,o,h),g+e+(i-e)*u+$(d,o,h),p+t+2*(r-t)*u+$(d,o,h),g+e+2*(i-e)*u+$(d,o,h),r+(y?0:$(d,o,h)),i+(y?0:$(d,o,h))]}):f.push({op:"bcurveTo",data:[p+t+(r-t)*u+$(c,o,h),g+e+(i-e)*u+$(c,o,h),p+t+2*(r-t)*u+$(c,o,h),g+e+2*(i-e)*u+$(c,o,h),r+(y?0:$(c,o,h)),i+(y?0:$(c,o,h))]}),f}function D(t,e,r){if(!t.length)return[];let i=[];i.push([t[0][0]+$(e,r),t[0][1]+$(e,r)]),i.push([t[0][0]+$(e,r),t[0][1]+$(e,r)]);for(let o=1;o<t.length;o++)i.push([t[o][0]+$(e,r),t[o][1]+$(e,r)]),o===t.length-1&&i.push([t[o][0]+$(e,r),t[o][1]+$(e,r)]);return K(i,null,r)}function K(t,e,r){let i=t.length,o=[];if(i>3){let a=[],n=1-r.curveTightness;o.push({op:"move",data:[t[1][0],t[1][1]]});for(let e=1;e+2<i;e++){let r=t[e];a[0]=[r[0],r[1]],a[1]=[r[0]+(n*t[e+1][0]-n*t[e-1][0])/6,r[1]+(n*t[e+1][1]-n*t[e-1][1])/6],a[2]=[t[e+1][0]+(n*t[e][0]-n*t[e+2][0])/6,t[e+1][1]+(n*t[e][1]-n*t[e+2][1])/6],a[3]=[t[e+1][0],t[e+1][1]],o.push({op:"bcurveTo",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(e&&2===e.length){let t=r.maxRandomnessOffset;o.push({op:"lineTo",data:[e[0]+$(t,r),e[1]+$(t,r)]})}}else 3===i?(o.push({op:"move",data:[t[1][0],t[1][1]]}),o.push({op:"bcurveTo",data:[t[1][0],t[1][1],t[2][0],t[2][1],t[2][0],t[2][1]]})):2===i&&o.push(...O(t[0][0],t[0][1],t[1][0],t[1][1],r,!0,!0));return o}function I(t,e,r,i,o,a,n,s){let l=[],h=[];if(0===s.roughness){t/=4,h.push([e+i*Math.cos(-t),r+o*Math.sin(-t)]);for(let a=0;a<=2*Math.PI;a+=t){let t=[e+i*Math.cos(a),r+o*Math.sin(a)];l.push(t),h.push(t)}h.push([e+ +i,r+0*o]),h.push([e+i*Math.cos(t),r+o*Math.sin(t)])}else{let c=$(.5,s)-Math.PI/2;h.push([$(a,s)+e+.9*i*Math.cos(c-t),$(a,s)+r+.9*o*Math.sin(c-t)]);let d=2*Math.PI+c-.01;for(let n=c;n<d;n+=t){let t=[$(a,s)+e+i*Math.cos(n),$(a,s)+r+o*Math.sin(n)];l.push(t),h.push(t)}h.push([$(a,s)+e+i*Math.cos(c+2*Math.PI+.5*n),$(a,s)+r+o*Math.sin(c+2*Math.PI+.5*n)]),h.push([$(a,s)+e+.98*i*Math.cos(c+n),$(a,s)+r+.98*o*Math.sin(c+n)]),h.push([$(a,s)+e+.9*i*Math.cos(c+.5*n),$(a,s)+r+.9*o*Math.sin(c+.5*n)])}return[h,l]}function q(t,e,r,i,o,a,n,s,l){let h=a+$(.1,l),c=[];c.push([$(s,l)+e+.9*i*Math.cos(h-t),$(s,l)+r+.9*o*Math.sin(h-t)]);for(let a=h;a<=n;a+=t)c.push([$(s,l)+e+i*Math.cos(a),$(s,l)+r+o*Math.sin(a)]);return c.push([e+i*Math.cos(n),r+o*Math.sin(n)]),c.push([e+i*Math.cos(n),r+o*Math.sin(n)]),K(c,null,l)}function R(t,e=0){let r=t.length;if(r<3)throw Error("A curve must have at least three points.");let i=[];if(3===r)i.push([...t[0]],[...t[1]],[...t[2]],[...t[2]]);else{let r=[];r.push(t[0],t[0]);for(let e=1;e<t.length;e++)r.push(t[e]),e===t.length-1&&r.push(t[e]);let o=[],a=1-e;i.push([...r[0]]);for(let t=1;t+2<r.length;t++){let e=r[t];o[0]=[e[0],e[1]],o[1]=[e[0]+(a*r[t+1][0]-a*r[t-1][0])/6,e[1]+(a*r[t+1][1]-a*r[t-1][1])/6],o[2]=[r[t+1][0]+(a*r[t][0]-a*r[t+2][0])/6,r[t+1][1]+(a*r[t][1]-a*r[t+2][1])/6],o[3]=[r[t+1][0],r[t+1][1]],i.push(o[1],o[2],o[3])}}return i}function P(t,e){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function z(t,e,r){return[t[0]+(e[0]-t[0])*r,t[1]+(e[1]-t[1])*r]}function W(t,e,r,i,o){let a=o||[],n=t[e],s=t[r-1],l=0,h=1;for(let i=e+1;i<r-1;++i){let e=function(t,e,r){let i=P(e,r);if(0===i)return P(t,e);let o=((t[0]-e[0])*(r[0]-e[0])+(t[1]-e[1])*(r[1]-e[1]))/i;return P(t,z(e,r,o=Math.max(0,Math.min(1,o))))}(t[i],n,s);e>l&&(l=e,h=i)}return Math.sqrt(l)>i?(W(t,e,h+1,i,a),W(t,h,r,i,a)):(a.length||a.push(n),a.push(s)),a}function N(t,e=.15,r){let i=[],o=(t.length-1)/3;for(let r=0;r<o;r++)!function t(e,r,i,o){let a,n,s,l,h,c,d,u,p=o||[];if(a=e[r+0],n=e[r+1],s=e[r+2],l=e[r+3],h=3*n[0]-2*a[0]-l[0],h*=h,c=3*n[1]-2*a[1]-l[1],c*=c,d=3*s[0]-2*l[0]-a[0],d*=d,u=3*s[1]-2*l[1]-a[1],u*=u,h<d&&(h=d),c<u&&(c=u),h+c<i){let t=e[r+0];p.length?Math.sqrt(P(p[p.length-1],t))>1&&p.push(t):p.push(t),p.push(e[r+3])}else{let o=e[r+0],a=e[r+1],n=e[r+2],s=e[r+3],l=z(o,a,.5),h=z(a,n,.5),c=z(n,s,.5),d=z(l,h,.5),u=z(h,c,.5),g=z(d,u,.5);t([o,l,d,g],0,i,p),t([g,u,c,s],0,i,p)}return p}(t,3*r,e,i);return r&&r>0?W(i,0,i.length,r):i}let j="none";class H{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(0x80000000*Math.random())}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,e,r){return{shape:t,sets:e||[],options:r||this.defaultOptions}}line(t,e,r,i,o){let a=this._o(o);return this._d("line",[b(t,e,r,i,a)],a)}rectangle(t,e,r,i,o){var a,n,s,l;let h=this._o(o),c=[],d=k([[a=t,n=e],[a+(s=r),n],[a+s,n+(l=i)],[a,n+l]],!0,h);if(h.fill){let o=[[t,e],[t+r,e],[t+r,e+i],[t,e+i]];"solid"===h.fillStyle?c.push(_([o],h)):c.push(F([o],h))}return h.stroke!==j&&c.push(d),this._d("rectangle",c,h)}ellipse(t,e,r,i,o){let a=this._o(o),n=[],s=T(r,i,a),l=B(t,e,a,s);if(a.fill)if("solid"===a.fillStyle){let r=B(t,e,a,s).opset;r.type="fillPath",n.push(r)}else n.push(F([l.estimatedPoints],a));return a.stroke!==j&&n.push(l.opset),this._d("ellipse",n,a)}circle(t,e,r,i){let o=this.ellipse(t,e,r,r,i);return o.shape="circle",o}linearPath(t,e){let r=this._o(e);return this._d("linearPath",[k(t,!1,r)],r)}arc(t,e,r,i,o,a,n=!1,s){let l=this._o(s),h=[],c=S(t,e,r,i,o,a,n,!0,l);if(n&&l.fill)if("solid"===l.fillStyle){let n=Object.assign({},l);n.disableMultiStroke=!0;let s=S(t,e,r,i,o,a,!0,!1,n);s.type="fillPath",h.push(s)}else h.push(function(t,e,r,i,o,a,n){let s=Math.abs(r/2),l=Math.abs(i/2);s+=$(.01*s,n),l+=$(.01*l,n);let h=o,c=a;for(;h<0;)h+=2*Math.PI,c+=2*Math.PI;c-h>2*Math.PI&&(h=0,c=2*Math.PI);let d=(c-h)/n.curveStepCount,u=[];for(let r=h;r<=c;r+=d)u.push([t+s*Math.cos(r),e+l*Math.sin(r)]);return u.push([t+s*Math.cos(c),e+l*Math.sin(c)]),u.push([t,e]),F([u],n)}(t,e,r,i,o,a,l));return l.stroke!==j&&h.push(c),this._d("arc",h,l)}curve(t,e){let r=this._o(e),i=[],o=w(t,r);if(r.fill&&r.fill!==j)if("solid"===r.fillStyle){let e=w(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else{let e=[];if(t.length)for(let i of"number"==typeof t[0][0]?[t]:t)i.length<3?e.push(...i):3===i.length?e.push(...N(R([i[0],i[0],i[1],i[2]]),10,(1+r.roughness)/2)):e.push(...N(R(i),10,(1+r.roughness)/2));e.length&&i.push(F([e],r))}return r.stroke!==j&&i.push(o),this._d("curve",i,r)}polygon(t,e){let r=this._o(e),i=[],o=k(t,!0,r);return r.fill&&("solid"===r.fillStyle?i.push(_([t],r)):i.push(F([t],r))),r.stroke!==j&&i.push(o),this._d("polygon",i,r)}path(t,e){let r=this._o(e),i=[];if(!t)return this._d("path",i,r);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let o=r.fill&&"transparent"!==r.fill&&r.fill!==j,a=r.stroke!==j,n=!!(r.simplification&&r.simplification<1),s=function(t,e){let r=m(y(f(t))),i=[],o=[],a=[0,0],n=[],s=()=>{n.length>=4&&o.push(...N(n,1)),n=[]},l=()=>{s(),o.length&&(i.push(o),o=[])};for(let{key:t,data:e}of r)switch(t){case"M":l(),a=[e[0],e[1]],o.push(a);break;case"L":s(),o.push([e[0],e[1]]);break;case"C":if(!n.length){let t=o.length?o[o.length-1]:a;n.push([t[0],t[1]])}n.push([e[0],e[1]]),n.push([e[2],e[3]]),n.push([e[4],e[5]]);break;case"Z":s(),o.push([a[0],a[1]])}if(l(),!e)return i;let h=[];for(let t of i){let r=W(t,0,t.length,e);r.length&&h.push(r)}return h}(t,n?4-4*(r.simplification||1):(1+r.roughness)/2),l=v(t,r);if(o)if("solid"===r.fillStyle)if(1===s.length){let e=v(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else i.push(_(s,r));else i.push(F(s,r));return a&&(n?s.forEach(t=>{i.push(k(t,!1,r))}):i.push(l)),this._d("path",i,r)}opsToPath(t,e){let r="";for(let i of t.ops){let t="number"==typeof e&&e>=0?i.data.map(t=>+t.toFixed(e)):i.data;switch(i.op){case"move":r+=`M${t[0]} ${t[1]} `;break;case"bcurveTo":r+=`C${t[0]} ${t[1]}, ${t[2]} ${t[3]}, ${t[4]} ${t[5]} `;break;case"lineTo":r+=`L${t[0]} ${t[1]} `}}return r.trim()}toPaths(t){let e=t.sets||[],r=t.options||this.defaultOptions,i=[];for(let t of e){let e=null;switch(t.type){case"path":e={d:this.opsToPath(t),stroke:r.stroke,strokeWidth:r.strokeWidth,fill:j};break;case"fillPath":e={d:this.opsToPath(t),stroke:j,strokeWidth:0,fill:r.fill||j};break;case"fillSketch":e=this.fillSketch(t,r)}e&&i.push(e)}return i}fillSketch(t,e){let r=e.fillWeight;return r<0&&(r=e.strokeWidth/2),{d:this.opsToPath(t),stroke:e.fill||j,strokeWidth:r,fill:j}}_mergedShape(t){return t.filter((t,e)=>0===e||"move"!==t.op)}}class U{constructor(t,e){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new H(e)}draw(t){let e=t.sets||[],r=t.options||this.getDefaultOptions(),i=this.ctx,o=t.options.fixedDecimalPlaceDigits;for(let a of e)switch(a.type){case"path":i.save(),i.strokeStyle="none"===r.stroke?"transparent":r.stroke,i.lineWidth=r.strokeWidth,r.strokeLineDash&&i.setLineDash(r.strokeLineDash),r.strokeLineDashOffset&&(i.lineDashOffset=r.strokeLineDashOffset),this._drawToContext(i,a,o),i.restore();break;case"fillPath":{i.save(),i.fillStyle=r.fill||"";let e="curve"===t.shape||"polygon"===t.shape||"path"===t.shape?"evenodd":"nonzero";this._drawToContext(i,a,o,e),i.restore();break}case"fillSketch":this.fillSketch(i,a,r)}}fillSketch(t,e,r){let i=r.fillWeight;i<0&&(i=r.strokeWidth/2),t.save(),r.fillLineDash&&t.setLineDash(r.fillLineDash),r.fillLineDashOffset&&(t.lineDashOffset=r.fillLineDashOffset),t.strokeStyle=r.fill||"",t.lineWidth=i,this._drawToContext(t,e,r.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,e,r,i="nonzero"){for(let i of(t.beginPath(),e.ops)){let e="number"==typeof r&&r>=0?i.data.map(t=>+t.toFixed(r)):i.data;switch(i.op){case"move":t.moveTo(e[0],e[1]);break;case"bcurveTo":t.bezierCurveTo(e[0],e[1],e[2],e[3],e[4],e[5]);break;case"lineTo":t.lineTo(e[0],e[1])}}"fillPath"===e.type?t.fill(i):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,e,r,i,o){let a=this.gen.line(t,e,r,i,o);return this.draw(a),a}rectangle(t,e,r,i,o){let a=this.gen.rectangle(t,e,r,i,o);return this.draw(a),a}ellipse(t,e,r,i,o){let a=this.gen.ellipse(t,e,r,i,o);return this.draw(a),a}circle(t,e,r,i){let o=this.gen.circle(t,e,r,i);return this.draw(o),o}linearPath(t,e){let r=this.gen.linearPath(t,e);return this.draw(r),r}polygon(t,e){let r=this.gen.polygon(t,e);return this.draw(r),r}arc(t,e,r,i,o,a,n=!1,s){let l=this.gen.arc(t,e,r,i,o,a,n,s);return this.draw(l),l}curve(t,e){let r=this.gen.curve(t,e);return this.draw(r),r}path(t,e){let r=this.gen.path(t,e);return this.draw(r),r}}let Y="http://www.w3.org/2000/svg";class G{constructor(t,e){this.svg=t,this.gen=new H(e)}draw(t){let e=t.sets||[],r=t.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,o=i.createElementNS(Y,"g"),a=t.options.fixedDecimalPlaceDigits;for(let n of e){let e=null;switch(n.type){case"path":(e=i.createElementNS(Y,"path")).setAttribute("d",this.opsToPath(n,a)),e.setAttribute("stroke",r.stroke),e.setAttribute("stroke-width",r.strokeWidth+""),e.setAttribute("fill","none"),r.strokeLineDash&&e.setAttribute("stroke-dasharray",r.strokeLineDash.join(" ").trim()),r.strokeLineDashOffset&&e.setAttribute("stroke-dashoffset",`${r.strokeLineDashOffset}`);break;case"fillPath":(e=i.createElementNS(Y,"path")).setAttribute("d",this.opsToPath(n,a)),e.setAttribute("stroke","none"),e.setAttribute("stroke-width","0"),e.setAttribute("fill",r.fill||""),"curve"!==t.shape&&"polygon"!==t.shape||e.setAttribute("fill-rule","evenodd");break;case"fillSketch":e=this.fillSketch(i,n,r)}e&&o.appendChild(e)}return o}fillSketch(t,e,r){let i=r.fillWeight;i<0&&(i=r.strokeWidth/2);let o=t.createElementNS(Y,"path");return o.setAttribute("d",this.opsToPath(e,r.fixedDecimalPlaceDigits)),o.setAttribute("stroke",r.fill||""),o.setAttribute("stroke-width",i+""),o.setAttribute("fill","none"),r.fillLineDash&&o.setAttribute("stroke-dasharray",r.fillLineDash.join(" ").trim()),r.fillLineDashOffset&&o.setAttribute("stroke-dashoffset",`${r.fillLineDashOffset}`),o}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,e){return this.gen.opsToPath(t,e)}line(t,e,r,i,o){let a=this.gen.line(t,e,r,i,o);return this.draw(a)}rectangle(t,e,r,i,o){let a=this.gen.rectangle(t,e,r,i,o);return this.draw(a)}ellipse(t,e,r,i,o){let a=this.gen.ellipse(t,e,r,i,o);return this.draw(a)}circle(t,e,r,i){let o=this.gen.circle(t,e,r,i);return this.draw(o)}linearPath(t,e){let r=this.gen.linearPath(t,e);return this.draw(r)}polygon(t,e){let r=this.gen.polygon(t,e);return this.draw(r)}arc(t,e,r,i,o,a,n=!1,s){let l=this.gen.arc(t,e,r,i,o,a,n,s);return this.draw(l)}curve(t,e){let r=this.gen.curve(t,e);return this.draw(r)}path(t,e){let r=this.gen.path(t,e);return this.draw(r)}}var X={canvas:(t,e)=>new U(t,e),svg:(t,e)=>new G(t,e),generator:t=>new H(t),newSeed:()=>H.newSeed()}},7829(t,e,r){"use strict";function i(t,e){let r;if(void 0===e)for(let e of t)null!=e&&(r<e||void 0===r&&e>=e)&&(r=e);else{let i=-1;for(let o of t)null!=(o=e(o,++i,t))&&(r<o||void 0===r&&o>=o)&&(r=o)}return r}function o(t,e){let r;if(void 0===e)for(let e of t)null!=e&&(r>e||void 0===r&&e>=e)&&(r=e);else{let i=-1;for(let o of t)null!=(o=e(o,++i,t))&&(r>o||void 0===r&&o>=o)&&(r=o)}return r}function a(t){return t}function n(t){return"translate("+t+",0)"}function s(t){return"translate(0,"+t+")"}function l(){return!this.__axis}function h(t,e){var r=[],i=null,o=null,h=6,c=6,d=3,u="u">typeof window&&window.devicePixelRatio>1?0:.5,p=1===t||4===t?-1:1,g=4===t||2===t?"x":"y",f=1===t||3===t?n:s;function y(n){var s=null==i?e.ticks?e.ticks.apply(e,r):e.domain():i,y=null==o?e.tickFormat?e.tickFormat.apply(e,r):a:o,m=Math.max(h,0)+d,x=e.range(),C=+x[0]+u,b=+x[x.length-1]+u,k=(e.bandwidth?function(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}:function(t){return e=>+t(e)})(e.copy(),u),w=n.selection?n.selection():n,T=w.selectAll(".domain").data([null]),B=w.selectAll(".tick").data(s,e).order(),S=B.exit(),v=B.enter().append("g").attr("class","tick"),_=B.select("line"),F=B.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),B=B.merge(v),_=_.merge(v.append("line").attr("stroke","currentColor").attr(g+"2",p*h)),F=F.merge(v.append("text").attr("fill","currentColor").attr(g,p*m).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),n!==w&&(T=T.transition(n),B=B.transition(n),_=_.transition(n),F=F.transition(n),S=S.transition(n).attr("opacity",1e-6).attr("transform",function(t){return isFinite(t=k(t))?f(t+u):this.getAttribute("transform")}),v.attr("opacity",1e-6).attr("transform",function(t){var e=this.parentNode.__axis;return f((e&&isFinite(e=e(t))?e:k(t))+u)})),S.remove(),T.attr("d",4===t||2===t?c?"M"+p*c+","+C+"H"+u+"V"+b+"H"+p*c:"M"+u+","+C+"V"+b:c?"M"+C+","+p*c+"V"+u+"H"+b+"V"+p*c:"M"+C+","+u+"H"+b),B.attr("opacity",1).attr("transform",function(t){return f(k(t)+u)}),_.attr(g+"2",p*h),F.attr(g,p*m).text(y),w.filter(l).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),w.each(function(){this.__axis=k})}return y.scale=function(t){return arguments.length?(e=t,y):e},y.ticks=function(){return r=Array.from(arguments),y},y.tickArguments=function(t){return arguments.length?(r=null==t?[]:Array.from(t),y):r.slice()},y.tickValues=function(t){return arguments.length?(i=null==t?null:Array.from(t),y):i&&i.slice()},y.tickFormat=function(t){return arguments.length?(o=t,y):o},y.tickSize=function(t){return arguments.length?(h=c=+t,y):h},y.tickSizeInner=function(t){return arguments.length?(h=+t,y):h},y.tickSizeOuter=function(t){return arguments.length?(c=+t,y):c},y.tickPadding=function(t){return arguments.length?(d=+t,y):d},y.offset=function(t){return arguments.length?(u=+t,y):u},y}function c(t){return h(1,t)}function d(t){return h(3,t)}function u(){}function p(t){return null==t?u:function(){return this.querySelector(t)}}function g(){return[]}function f(t){return null==t?g:function(){return this.querySelectorAll(t)}}function y(t){return function(){return this.matches(t)}}function m(t){return function(e){return e.matches(t)}}r.d(e,{wXd:()=>rq,Ui6:()=>r8,Agd:()=>rP,YPH:()=>rU,UAC:()=>rW,T9B:()=>i,rGn:()=>rQ,hkb:()=>eQ,Lx9:()=>ak,Wi0:()=>ar,Mol:()=>rZ,y8u:()=>al,Sk5:()=>eW,rLf:()=>o2,GuW:()=>rX,olC:()=>ac,JLW:()=>oY,m4Y:()=>function t(){var e,r=r$();return r.copy=function(){return rM(r,t())},rn.apply(r,arguments),e=r.domain,r.ticks=function(t){var r=e();return function(t,e,r){if(e*=1,t*=1,!((r*=1)>0))return[];if(t===e)return[t];let i=e<t,[o,a,n]=i?rf(e,t,r):rf(t,e,r);if(!(a>=o))return[];let s=a-o+1,l=Array(s);if(i)if(n<0)for(let t=0;t<s;++t)l[t]=-((a-t)/n);else for(let t=0;t<s;++t)l[t]=(a-t)*n;else if(n<0)for(let t=0;t<s;++t)l[t]=-((o+t)/n);else for(let t=0;t<s;++t)l[t]=(o+t)*n;return l}(r[0],r[r.length-1],null==t?10:t)},r.tickFormat=function(t,r){var i=e();return function(t,e,r,i){var o,a,n=rm(t,e,r);switch((i=eO(null==i?",f":i)).type){case"s":var s=Math.max(Math.abs(t),Math.abs(e));return null!=i.precision||isNaN(a=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(e$(s)/3)))-e$(Math.abs(n))))||(i.precision=a),ts(i,s);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(a=Math.max(0,e$(Math.abs(Math.max(Math.abs(t),Math.abs(e)))-(o=Math.abs(o=n)))-e$(o))+1)||(i.precision=a-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(a=Math.max(0,-e$(Math.abs(n))))||(i.precision=a-("%"===i.type)*2)}return tn(i)}(i[0],i[i.length-1],null==t?10:t,r)},r.nice=function(t){null==t&&(t=10);var i,o,a=e(),n=0,s=a.length-1,l=a[n],h=a[s],c=10;for(h<l&&(o=l,l=h,h=o,o=n,n=s,s=o);c-- >0;){if((o=ry(l,h,t))===i)return a[n]=l,a[s]=h,e(a);if(o>0)l=Math.floor(l/o)*o,h=Math.ceil(h/o)*o;else if(o<0)l=Math.ceil(l*o)/o,h=Math.floor(h*o)/o;else break;i=o}return r},r},cVp:()=>aC,Q7f:()=>am,n8j:()=>oJ,zt:()=>ok,Xf2:()=>a$,DCK:()=>th,TUC:()=>rV,dyv:()=>aD,GPZ:()=>tn,IrU:()=>au,OEq:()=>aa,lUB:()=>oZ,nVG:()=>aF,WH:()=>function t(){var e,r,i=rd().unknown(void 0),o=i.domain,a=i.range,n=0,s=1,l=!1,h=0,c=0,d=.5;function u(){var t=o().length,i=s<n,u=i?s:n,p=i?n:s;e=(p-u)/Math.max(1,t-h+2*c),l&&(e=Math.floor(e)),u+=(p-u-e*(t-h))*d,r=e*(1-h),l&&(u=Math.round(u),r=Math.round(r));var g=(function(t,e,r){t*=1,e*=1,r=(o=arguments.length)<2?(e=t,t=0,1):o<3?1:+r;for(var i=-1,o=0|Math.max(0,Math.ceil((e-t)/r)),a=Array(o);++i<o;)a[i]=t+i*r;return a})(t).map(function(t){return u+e*t});return a(i?g.reverse():g)}return delete i.unknown,i.domain=function(t){return arguments.length?(o(t),u()):o()},i.range=function(t){return arguments.length?([n,s]=t,n*=1,s*=1,u()):[n,s]},i.rangeRound=function(t){return[n,s]=t,n*=1,s*=1,l=!0,u()},i.bandwidth=function(){return r},i.step=function(){return e},i.round=function(t){return arguments.length?(l=!!t,u()):l},i.padding=function(t){return arguments.length?(h=Math.min(1,c=+t),u()):h},i.paddingInner=function(t){return arguments.length?(h=Math.min(1,t),u()):h},i.paddingOuter=function(t){return arguments.length?(c=+t,u()):c},i.align=function(t){return arguments.length?(d=Math.max(0,Math.min(1,t)),u()):d},i.copy=function(){return t(o(),[n,s]).round(l).paddingInner(h).paddingOuter(c).align(d)},rn.apply(u(),arguments)},ABi:()=>rY,qrM:()=>o6,PGu:()=>rG,oDi:()=>af,ucG:()=>rI,UMr:()=>rd,Ltv:()=>ow,UPb:()=>aK,w7C:()=>ob,IA3:()=>at,bEH:()=>ra,GZz:()=>aO,jkA:()=>o,l78:()=>d,Yu4:()=>o7,uxU:()=>aA,t6C:()=>rK,PGM:()=>ai,tlR:()=>c});var x=Array.prototype.find;function C(){return this.firstElementChild}var b=Array.prototype.filter;function k(){return Array.from(this.children)}function w(t){return Array(t.length)}function T(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function B(t,e,r,i,o,a){for(var n,s=0,l=e.length,h=a.length;s<h;++s)(n=e[s])?(n.__data__=a[s],i[s]=n):r[s]=new T(t,a[s]);for(;s<l;++s)(n=e[s])&&(o[s]=n)}function S(t,e,r,i,o,a,n){var s,l,h,c=new Map,d=e.length,u=a.length,p=Array(d);for(s=0;s<d;++s)(l=e[s])&&(p[s]=h=n.call(l,l.__data__,s,e)+"",c.has(h)?o[s]=l:c.set(h,l));for(s=0;s<u;++s)h=n.call(t,a[s],s,a)+"",(l=c.get(h))?(i[s]=l,l.__data__=a[s],c.delete(h)):r[s]=new T(t,a[s]);for(s=0;s<d;++s)(l=e[s])&&c.get(p[s])===l&&(o[s]=l)}function v(t){return t.__data__}function _(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}T.prototype={constructor:T,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var F="http://www.w3.org/1999/xhtml";let A={svg:"http://www.w3.org/2000/svg",xhtml:F,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function L(t){var e=t+="",r=e.indexOf(":");return r>=0&&"xmlns"!==(e=t.slice(0,r))&&(t=t.slice(r+1)),A.hasOwnProperty(e)?{space:A[e],local:t}:t}function M(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function $(t,e){return t.style.getPropertyValue(e)||M(t).getComputedStyle(t,null).getPropertyValue(e)}function E(t){return t.trim().split(/^|\s+/)}function O(t){return t.classList||new D(t)}function D(t){this._node=t,this._names=E(t.getAttribute("class")||"")}function K(t,e){for(var r=O(t),i=-1,o=e.length;++i<o;)r.add(e[i])}function I(t,e){for(var r=O(t),i=-1,o=e.length;++i<o;)r.remove(e[i])}function q(){this.textContent=""}function R(){this.innerHTML=""}function P(){this.nextSibling&&this.parentNode.appendChild(this)}function z(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function W(t){var e=L(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===F&&e.documentElement.namespaceURI===F?e.createElement(t):e.createElementNS(r,t)}})(e)}function N(){return null}function j(){var t=this.parentNode;t&&t.removeChild(this)}function H(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function U(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Y(t){return function(){var e=this.__on;if(e){for(var r,i=0,o=-1,a=e.length;i<a;++i)(r=e[i],t.type&&r.type!==t.type||r.name!==t.name)?e[++o]=r:this.removeEventListener(r.type,r.listener,r.options);++o?e.length=o:delete this.__on}}}function G(t,e,r){return function(){var i,o=this.__on,a=function(t){e.call(this,t,this.__data__)};if(o){for(var n=0,s=o.length;n<s;++n)if((i=o[n]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=r),i.value=e;return}}this.addEventListener(t.type,a,r),i={type:t.type,name:t.name,value:e,listener:a,options:r},o?o.push(i):this.__on=[i]}}function X(t,e,r){var i=M(t),o=i.CustomEvent;"function"==typeof o?o=new o(e,r):(o=i.document.createEvent("Event"),r?(o.initEvent(e,r.bubbles,r.cancelable),o.detail=r.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}D.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var Z=[null];function V(t,e){this._groups=t,this._parents=e}function Q(){return new V([[document.documentElement]],Z)}V.prototype=Q.prototype={constructor:V,select:function(t){"function"!=typeof t&&(t=p(t));for(var e=this._groups,r=e.length,i=Array(r),o=0;o<r;++o)for(var a,n,s=e[o],l=s.length,h=i[o]=Array(l),c=0;c<l;++c)(a=s[c])&&(n=t.call(a,a.__data__,c,s))&&("__data__"in a&&(n.__data__=a.__data__),h[c]=n);return new V(i,this._parents)},selectAll:function(t){if("function"==typeof t){var e;e=t,t=function(){var t;return t=e.apply(this,arguments),null==t?[]:Array.isArray(t)?t:Array.from(t)}}else t=f(t);for(var r=this._groups,i=r.length,o=[],a=[],n=0;n<i;++n)for(var s,l=r[n],h=l.length,c=0;c<h;++c)(s=l[c])&&(o.push(t.call(s,s.__data__,c,l)),a.push(s));return new V(o,a)},selectChild:function(t){var e;return this.select(null==t?C:(e="function"==typeof t?t:m(t),function(){return x.call(this.children,e)}))},selectChildren:function(t){var e;return this.selectAll(null==t?k:(e="function"==typeof t?t:m(t),function(){return b.call(this.children,e)}))},filter:function(t){"function"!=typeof t&&(t=y(t));for(var e=this._groups,r=e.length,i=Array(r),o=0;o<r;++o)for(var a,n=e[o],s=n.length,l=i[o]=[],h=0;h<s;++h)(a=n[h])&&t.call(a,a.__data__,h,n)&&l.push(a);return new V(i,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,v);var r=e?S:B,i=this._parents,o=this._groups;"function"!=typeof t&&(x=t,t=function(){return x});for(var a=o.length,n=Array(a),s=Array(a),l=Array(a),h=0;h<a;++h){var c=i[h],d=o[h],u=d.length,p="object"==typeof(m=t.call(c,c&&c.__data__,h,i))&&"length"in m?m:Array.from(m),g=p.length,f=s[h]=Array(g),y=n[h]=Array(g);r(c,d,f,y,l[h]=Array(u),p,e);for(var m,x,C,b,k=0,w=0;k<g;++k)if(C=f[k]){for(k>=w&&(w=k+1);!(b=y[w])&&++w<g;);C._next=b||null}}return(n=new V(n,i))._enter=s,n._exit=l,n},enter:function(){return new V(this._enter||this._groups.map(w),this._parents)},exit:function(){return new V(this._exit||this._groups.map(w),this._parents)},join:function(t,e,r){var i=this.enter(),o=this,a=this.exit();return"function"==typeof t?(i=t(i))&&(i=i.selection()):i=i.append(t+""),null!=e&&(o=e(o))&&(o=o.selection()),null==r?a.remove():r(a),i&&o?i.merge(o).order():o},merge:function(t){for(var e=t.selection?t.selection():t,r=this._groups,i=e._groups,o=r.length,a=i.length,n=Math.min(o,a),s=Array(o),l=0;l<n;++l)for(var h,c=r[l],d=i[l],u=c.length,p=s[l]=Array(u),g=0;g<u;++g)(h=c[g]||d[g])&&(p[g]=h);for(;l<o;++l)s[l]=r[l];return new V(s,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,r=t.length;++e<r;)for(var i,o=t[e],a=o.length-1,n=o[a];--a>=0;)(i=o[a])&&(n&&4^i.compareDocumentPosition(n)&&n.parentNode.insertBefore(i,n),n=i);return this},sort:function(t){function e(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}t||(t=_);for(var r=this._groups,i=r.length,o=Array(i),a=0;a<i;++a){for(var n,s=r[a],l=s.length,h=o[a]=Array(l),c=0;c<l;++c)(n=s[c])&&(h[c]=n);h.sort(e)}return new V(o,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var i=t[e],o=0,a=i.length;o<a;++o){var n=i[o];if(n)return n}return null},size:function(){let t=0;for(let e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,r=0,i=e.length;r<i;++r)for(var o,a=e[r],n=0,s=a.length;n<s;++n)(o=a[n])&&t.call(o,o.__data__,n,a);return this},attr:function(t,e){var r=L(t);if(arguments.length<2){var i=this.node();return r.local?i.getAttributeNS(r.space,r.local):i.getAttribute(r)}return this.each((null==e?r.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof e?r.local?function(t,e){return function(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}:function(t,e){return function(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}}:r.local?function(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}:function(t,e){return function(){this.setAttribute(t,e)}})(r,e))},style:function(t,e,r){return arguments.length>1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,r){return function(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,r)}}:function(t,e,r){return function(){this.style.setProperty(t,e,r)}})(t,e,null==r?"":r)):$(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var r=E(t+"");if(arguments.length<2){for(var i=O(this.node()),o=-1,a=r.length;++o<a;)if(!i.contains(r[o]))return!1;return!0}return this.each(("function"==typeof e?function(t,e){return function(){(e.apply(this,arguments)?K:I)(this,t)}}:e?function(t){return function(){K(this,t)}}:function(t){return function(){I(this,t)}})(r,e))},text:function(t){return arguments.length?this.each(null==t?q:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?R:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(P)},lower:function(){return this.each(z)},append:function(t){var e="function"==typeof t?t:W(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})},insert:function(t,e){var r="function"==typeof t?t:W(t),i=null==e?N:"function"==typeof e?e:p(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),i.apply(this,arguments)||null)})},remove:function(){return this.each(j)},clone:function(t){return this.select(t?U:H)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,r){var i,o,a=(t+"").trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");return r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),{type:t,name:e}}),n=a.length;if(arguments.length<2){var s=this.node().__on;if(s){for(var l,h=0,c=s.length;h<c;++h)for(i=0,l=s[h];i<n;++i)if((o=a[i]).type===l.type&&o.name===l.name)return l.value}return}for(i=0,s=e?G:Y;i<n;++i)this.each(s(a[i],e,r));return this},dispatch:function(t,e){return this.each(("function"==typeof e?function(t,e){return function(){return X(this,t,e.apply(this,arguments))}}:function(t,e){return function(){return X(this,t,e)}})(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var i,o=t[e],a=0,n=o.length;a<n;++a)(i=o[a])&&(yield i)}};var J={value:()=>{}};function tt(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+"")||t in i||/[\s.]/.test(t))throw Error("illegal type: "+t);i[t]=[]}return new te(i)}function te(t){this._=t}function tr(t,e,r){for(var i=0,o=t.length;i<o;++i)if(t[i].name===e){t[i]=J,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=r&&t.push({name:e,value:r}),t}te.prototype=tt.prototype={constructor:te,on:function(t,e){var r,i=this._,o=(t+"").trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!i.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:e}}),a=-1,n=o.length;if(arguments.length<2){for(;++a<n;)if((r=(t=o[a]).type)&&(r=function(t,e){for(var r,i=0,o=t.length;i<o;++i)if((r=t[i]).name===e)return r.value}(i[r],t.name)))return r;return}if(null!=e&&"function"!=typeof e)throw Error("invalid callback: "+e);for(;++a<n;)if(r=(t=o[a]).type)i[r]=tr(i[r],t.name,e);else if(null==e)for(r in i)i[r]=tr(i[r],t.name,null);return this},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new te(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,i,o=Array(r),a=0;a<r;++a)o[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(i=this._[t],a=0,r=i.length;a<r;++a)i[a].value.apply(e,o)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var i=this._[t],o=0,a=i.length;o<a;++o)i[o].value.apply(e,r)}};var ti,to,ta,tn,ts,tl,th,tc,td,tu=0,tp=0,tg=0,tf=0,ty=0,tm=0,tx="object"==typeof performance&&performance.now?performance:Date,tC="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tb(){return ty||(tC(tk),ty=tx.now()+tm)}function tk(){ty=0}function tw(){this._call=this._time=this._next=null}function tT(t,e,r){var i=new tw;return i.restart(t,e,r),i}function tB(){ty=(tf=tx.now())+tm,tu=tp=0;try{tb(),++tu;for(var t,e=tc;e;)(t=ty-e._time)>=0&&e._call.call(void 0,t),e=e._next;--tu}finally{tu=0,function(){for(var t,e,r=tc,i=1/0;r;)r._call?(i>r._time&&(i=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:tc=e);td=t,tv(i)}(),ty=0}}function tS(){var t=tx.now(),e=t-tf;e>1e3&&(tm-=e,tf=t)}function tv(t){!tu&&(tp&&(tp=clearTimeout(tp)),t-ty>24?(t<1/0&&(tp=setTimeout(tB,t-tx.now()-tm)),tg&&(tg=clearInterval(tg))):(tg||(tf=tx.now(),tg=setInterval(tS,1e3)),tu=1,tC(tB)))}function t_(t,e,r){var i=new tw;return e=null==e?0:+e,i.restart(r=>{i.stop(),t(r+e)},e,r),i}tw.prototype=tT.prototype={constructor:tw,restart:function(t,e,r){if("function"!=typeof t)throw TypeError("callback is not a function");r=(null==r?tb():+r)+(null==e?0:+e),this._next||td===this||(td?td._next=this:tc=this,td=this),this._call=t,this._time=r,tv()},stop:function(){this._call&&(this._call=null,this._time=1/0,tv())}};var tF=tt("start","end","cancel","interrupt"),tA=[];function tL(t,e,r,i,o,a){var n=t.__transition;if(n){if(r in n)return}else t.__transition={};!function(t,e,r){var i,o=t.__transition;function a(l){var h,c,d,u;if(1!==r.state)return s();for(h in o)if((u=o[h]).name===r.name){if(3===u.state)return t_(a);4===u.state?(u.state=6,u.timer.stop(),u.on.call("interrupt",t,t.__data__,u.index,u.group),delete o[h]):+h<e&&(u.state=6,u.timer.stop(),u.on.call("cancel",t,t.__data__,u.index,u.group),delete o[h])}if(t_(function(){3===r.state&&(r.state=4,r.timer.restart(n,r.delay,r.time),n(l))}),r.state=2,r.on.call("start",t,t.__data__,r.index,r.group),2===r.state){for(h=0,r.state=3,i=Array(d=r.tween.length),c=-1;h<d;++h)(u=r.tween[h].value.call(t,t.__data__,r.index,r.group))&&(i[++c]=u);i.length=c+1}}function n(e){for(var o=e<r.duration?r.ease.call(null,e/r.duration):(r.timer.restart(s),r.state=5,1),a=-1,n=i.length;++a<n;)i[a].call(t,o);5===r.state&&(r.on.call("end",t,t.__data__,r.index,r.group),s())}function s(){for(var i in r.state=6,r.timer.stop(),delete o[e],o)return;delete t.__transition}o[e]=r,r.timer=tT(function(t){r.state=1,r.timer.restart(a,r.delay,r.time),r.delay<=t&&a(t-r.delay)},0,r.time)}(t,r,{name:e,index:i,group:o,on:tF,tween:tA,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function tM(t,e){var r=tE(t,e);if(r.state>0)throw Error("too late; already scheduled");return r}function t$(t,e){var r=tE(t,e);if(r.state>3)throw Error("too late; already running");return r}function tE(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw Error("transition not found");return r}function tO(t,e){return t*=1,e*=1,function(r){return t*(1-r)+e*r}}var tD=180/Math.PI,tK={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function tI(t,e,r,i,o,a){var n,s,l;return(n=Math.sqrt(t*t+e*e))&&(t/=n,e/=n),(l=t*r+e*i)&&(r-=t*l,i-=e*l),(s=Math.sqrt(r*r+i*i))&&(r/=s,i/=s,l/=s),t*i<e*r&&(t=-t,e=-e,l=-l,n=-n),{translateX:o,translateY:a,rotate:Math.atan2(e,t)*tD,skewX:Math.atan(l)*tD,scaleX:n,scaleY:s}}function tq(t,e,r,i){function o(t){return t.length?t.pop()+" ":""}return function(a,n){var s,l,h,c,d=[],u=[];return a=t(a),n=t(n),!function(t,i,o,a,n,s){if(t!==o||i!==a){var l=n.push("translate(",null,e,null,r);s.push({i:l-4,x:tO(t,o)},{i:l-2,x:tO(i,a)})}else(o||a)&&n.push("translate("+o+e+a+r)}(a.translateX,a.translateY,n.translateX,n.translateY,d,u),s=a.rotate,l=n.rotate,s!==l?(s-l>180?l+=360:l-s>180&&(s+=360),u.push({i:d.push(o(d)+"rotate(",null,i)-2,x:tO(s,l)})):l&&d.push(o(d)+"rotate("+l+i),h=a.skewX,c=n.skewX,h!==c?u.push({i:d.push(o(d)+"skewX(",null,i)-2,x:tO(h,c)}):c&&d.push(o(d)+"skewX("+c+i),!function(t,e,r,i,a,n){if(t!==r||e!==i){var s=a.push(o(a)+"scale(",null,",",null,")");n.push({i:s-4,x:tO(t,r)},{i:s-2,x:tO(e,i)})}else(1!==r||1!==i)&&a.push(o(a)+"scale("+r+","+i+")")}(a.scaleX,a.scaleY,n.scaleX,n.scaleY,d,u),a=n=null,function(t){for(var e,r=-1,i=u.length;++r<i;)d[(e=u[r]).i]=e.x(t);return d.join("")}}}var tR=tq(function(t){let e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?tK:tI(e.a,e.b,e.c,e.d,e.e,e.f)},"px, ","px)","deg)"),tP=tq(function(t){return null==t?tK:(ti||(ti=document.createElementNS("http://www.w3.org/2000/svg","g")),ti.setAttribute("transform",t),t=ti.transform.baseVal.consolidate())?tI((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):tK},", ",")",")");function tz(t,e,r){var i=t._id;return t.each(function(){var t=t$(this,i);(t.value||(t.value={}))[e]=r.apply(this,arguments)}),function(t){return tE(t,i).value[e]}}function tW(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function tN(t,e){var r=Object.create(t.prototype);for(var i in e)r[i]=e[i];return r}function tj(){}var tH="\\s*([+-]?\\d+)\\s*",tU="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",tY="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tG=/^#([0-9a-f]{3,8})$/,tX=RegExp(`^rgb\\(${tH},${tH},${tH}\\)$`),tZ=RegExp(`^rgb\\(${tY},${tY},${tY}\\)$`),tV=RegExp(`^rgba\\(${tH},${tH},${tH},${tU}\\)$`),tQ=RegExp(`^rgba\\(${tY},${tY},${tY},${tU}\\)$`),tJ=RegExp(`^hsl\\(${tU},${tY},${tY}\\)$`),t0=RegExp(`^hsla\\(${tU},${tY},${tY},${tU}\\)$`),t1={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function t2(){return this.rgb().formatHex()}function t5(){return this.rgb().formatRgb()}function t3(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=tG.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?t4(e):3===r?new t9(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?t6(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?t6(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=tX.exec(t))?new t9(e[1],e[2],e[3],1):(e=tZ.exec(t))?new t9(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=tV.exec(t))?t6(e[1],e[2],e[3],e[4]):(e=tQ.exec(t))?t6(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=tJ.exec(t))?ea(e[1],e[2]/100,e[3]/100,1):(e=t0.exec(t))?ea(e[1],e[2]/100,e[3]/100,e[4]):t1.hasOwnProperty(t)?t4(t1[t]):"transparent"===t?new t9(NaN,NaN,NaN,0):null}function t4(t){return new t9(t>>16&255,t>>8&255,255&t,1)}function t6(t,e,r,i){return i<=0&&(t=e=r=NaN),new t9(t,e,r,i)}function t8(t){return(t instanceof tj||(t=t3(t)),t)?new t9((t=t.rgb()).r,t.g,t.b,t.opacity):new t9}function t7(t,e,r,i){return 1==arguments.length?t8(t):new t9(t,e,r,null==i?1:i)}function t9(t,e,r,i){this.r=+t,this.g=+e,this.b=+r,this.opacity=+i}function et(){return`#${eo(this.r)}${eo(this.g)}${eo(this.b)}`}function ee(){let t=er(this.opacity);return`${1===t?"rgb(":"rgba("}${ei(this.r)}, ${ei(this.g)}, ${ei(this.b)}${1===t?")":`, ${t})`}`}function er(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ei(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function eo(t){return((t=ei(t))<16?"0":"")+t.toString(16)}function ea(t,e,r,i){return i<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new es(t,e,r,i)}function en(t){if(t instanceof es)return new es(t.h,t.s,t.l,t.opacity);if(t instanceof tj||(t=t3(t)),!t)return new es;if(t instanceof es)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,o=Math.min(e,r,i),a=Math.max(e,r,i),n=NaN,s=a-o,l=(a+o)/2;return s?(n=e===a?(r-i)/s+(r<i)*6:r===a?(i-e)/s+2:(e-r)/s+4,s/=l<.5?a+o:2-a-o,n*=60):s=l>0&&l<1?0:n,new es(n,s,l,t.opacity)}function es(t,e,r,i){this.h=+t,this.s=+e,this.l=+r,this.opacity=+i}function el(t){return(t=(t||0)%360)<0?t+360:t}function eh(t){return Math.max(0,Math.min(1,t||0))}function ec(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function ed(t,e,r,i,o){var a=t*t,n=a*t;return((1-3*t+3*a-n)*e+(4-6*a+3*n)*r+(1+3*t+3*a-3*n)*i+n*o)/6}tW(tj,t3,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:t2,formatHex:t2,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return en(this).formatHsl()},formatRgb:t5,toString:t5}),tW(t9,t7,tN(tj,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new t9(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new t9(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new t9(ei(this.r),ei(this.g),ei(this.b),er(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:et,formatHex:et,formatHex8:function(){return`#${eo(this.r)}${eo(this.g)}${eo(this.b)}${eo((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:ee,toString:ee})),tW(es,function(t,e,r,i){return 1==arguments.length?en(t):new es(t,e,r,null==i?1:i)},tN(tj,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new es(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new es(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*e,o=2*r-i;return new t9(ec(t>=240?t-240:t+120,o,i),ec(t,o,i),ec(t<120?t+240:t-120,o,i),this.opacity)},clamp(){return new es(el(this.h),eh(this.s),eh(this.l),er(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(){let t=er(this.opacity);return`${1===t?"hsl(":"hsla("}${el(this.h)}, ${100*eh(this.s)}%, ${100*eh(this.l)}%${1===t?")":`, ${t})`}`}}));let eu=t=>()=>t;function ep(t,e){return function(r){return t+r*e}}function eg(t,e){var r=e-t;return r?ep(t,r):eu(isNaN(t)?e:t)}let ef=function t(e){var r,i=1==(r=+e)?eg:function(t,e){var i,o,a;return e-t?(i=t,o=e,i=Math.pow(i,a=r),o=Math.pow(o,a)-i,a=1/a,function(t){return Math.pow(i+t*o,a)}):eu(isNaN(t)?e:t)};function o(t,e){var r=i((t=t7(t)).r,(e=t7(e)).r),o=i(t.g,e.g),a=i(t.b,e.b),n=eg(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=o(e),t.b=a(e),t.opacity=n(e),t+""}}return o.gamma=t,o}(1);function ey(t){return function(e){var r,i,o=e.length,a=Array(o),n=Array(o),s=Array(o);for(r=0;r<o;++r)i=t7(e[r]),a[r]=i.r||0,n[r]=i.g||0,s[r]=i.b||0;return a=t(a),n=t(n),s=t(s),i.opacity=1,function(t){return i.r=a(t),i.g=n(t),i.b=s(t),i+""}}}ey(function(t){var e=t.length-1;return function(r){var i=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),o=t[i],a=t[i+1],n=i>0?t[i-1]:2*o-a,s=i<e-1?t[i+2]:2*a-o;return ed((r-i/e)*e,n,o,a,s)}}),ey(function(t){var e=t.length;return function(r){var i=Math.floor(((r%=1)<0?++r:r)*e),o=t[(i+e-1)%e],a=t[i%e],n=t[(i+1)%e],s=t[(i+2)%e];return ed((r-i/e)*e,o,a,n,s)}});var em=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ex=RegExp(em.source,"g");function eC(t,e){var r,i,o,a,n,s=em.lastIndex=ex.lastIndex=0,l=-1,h=[],c=[];for(t+="",e+="";(o=em.exec(t))&&(a=ex.exec(e));)(n=a.index)>s&&(n=e.slice(s,n),h[l]?h[l]+=n:h[++l]=n),(o=o[0])===(a=a[0])?h[l]?h[l]+=a:h[++l]=a:(h[++l]=null,c.push({i:l,x:tO(o,a)})),s=ex.lastIndex;return s<e.length&&(n=e.slice(s),h[l]?h[l]+=n:h[++l]=n),h.length<2?c[0]?(r=c[0].x,function(t){return r(t)+""}):(i=e,function(){return i}):(e=c.length,function(t){for(var r,i=0;i<e;++i)h[(r=c[i]).i]=r.x(t);return h.join("")})}function eb(t,e){var r;return("number"==typeof e?tO:e instanceof t3?ef:(r=t3(e))?(e=r,ef):eC)(t,e)}var ek=Q.prototype.constructor;function ew(t){return function(){this.style.removeProperty(t)}}var eT=0;function eB(t,e,r,i){this._groups=t,this._parents=e,this._name=r,this._id=i}var eS=Q.prototype;eB.prototype=(function(t){return Q().transition(t)}).prototype={constructor:eB,select:function(t){var e=this._name,r=this._id;"function"!=typeof t&&(t=p(t));for(var i=this._groups,o=i.length,a=Array(o),n=0;n<o;++n)for(var s,l,h=i[n],c=h.length,d=a[n]=Array(c),u=0;u<c;++u)(s=h[u])&&(l=t.call(s,s.__data__,u,h))&&("__data__"in s&&(l.__data__=s.__data__),d[u]=l,tL(d[u],e,r,u,d,tE(s,r)));return new eB(a,this._parents,e,r)},selectAll:function(t){var e=this._name,r=this._id;"function"!=typeof t&&(t=f(t));for(var i=this._groups,o=i.length,a=[],n=[],s=0;s<o;++s)for(var l,h=i[s],c=h.length,d=0;d<c;++d)if(l=h[d]){for(var u,p=t.call(l,l.__data__,d,h),g=tE(l,r),y=0,m=p.length;y<m;++y)(u=p[y])&&tL(u,e,r,y,p,g);a.push(p),n.push(l)}return new eB(a,n,e,r)},selectChild:eS.selectChild,selectChildren:eS.selectChildren,filter:function(t){"function"!=typeof t&&(t=y(t));for(var e=this._groups,r=e.length,i=Array(r),o=0;o<r;++o)for(var a,n=e[o],s=n.length,l=i[o]=[],h=0;h<s;++h)(a=n[h])&&t.call(a,a.__data__,h,n)&&l.push(a);return new eB(i,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var e=this._groups,r=t._groups,i=e.length,o=r.length,a=Math.min(i,o),n=Array(i),s=0;s<a;++s)for(var l,h=e[s],c=r[s],d=h.length,u=n[s]=Array(d),p=0;p<d;++p)(l=h[p]||c[p])&&(u[p]=l);for(;s<i;++s)n[s]=e[s];return new eB(n,this._parents,this._name,this._id)},selection:function(){return new ek(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,r=++eT,i=this._groups,o=i.length,a=0;a<o;++a)for(var n,s=i[a],l=s.length,h=0;h<l;++h)if(n=s[h]){var c=tE(n,e);tL(n,t,r,h,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new eB(i,this._parents,t,r)},call:eS.call,nodes:eS.nodes,node:eS.node,size:eS.size,empty:eS.empty,each:eS.each,on:function(t,e){var r,i,o,a,n,s,l=this._id;return arguments.length<2?tE(this.node(),l).on.on(t):this.each((r=l,i=t,o=e,s=(i+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})?tM:t$,function(){var t=s(this,r),e=t.on;e!==a&&(n=(a=e).copy()).on(i,o),t.on=n}))},attr:function(t,e){var r=L(t),i="transform"===r?tP:eb;return this.attrTween(t,"function"==typeof e?(r.local?function(t,e,r){var i,o,a;return function(){var n,s,l=r(this);return null==l?void this.removeAttributeNS(t.space,t.local):(n=this.getAttributeNS(t.space,t.local))===(s=l+"")?null:n===i&&s===o?a:(o=s,a=e(i=n,l))}}:function(t,e,r){var i,o,a;return function(){var n,s,l=r(this);return null==l?void this.removeAttribute(t):(n=this.getAttribute(t))===(s=l+"")?null:n===i&&s===o?a:(o=s,a=e(i=n,l))}})(r,i,tz(this,"attr."+t,e)):null==e?(r.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(r):(r.local?function(t,e,r){var i,o,a=r+"";return function(){var n=this.getAttributeNS(t.space,t.local);return n===a?null:n===i?o:o=e(i=n,r)}}:function(t,e,r){var i,o,a=r+"";return function(){var n=this.getAttribute(t);return n===a?null:n===i?o:o=e(i=n,r)}})(r,i,e))},attrTween:function(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw Error();var i=L(t);return this.tween(r,(i.local?function(t,e){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e){this.setAttributeNS(t.space,t.local,o.call(this,e))}),r}return o._value=e,o}:function(t,e){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e){this.setAttribute(t,o.call(this,e))}),r}return o._value=e,o})(i,e))},style:function(t,e,r){var i,o,a,n,s,l,h,c,d,u,p,g,f,y,m,x,C,b,k,w,T,B="transform"==(t+="")?tR:eb;return null==e?this.styleTween(t,(i=t,function(){var t=$(this,i),e=(this.style.removeProperty(i),$(this,i));return t===e?null:t===o&&e===a?n:n=B(o=t,a=e)})).on("end.style."+t,ew(t)):"function"==typeof e?this.styleTween(t,(s=t,l=tz(this,"style."+t,e),function(){var t=$(this,s),e=l(this),r=e+"";return null==e&&(this.style.removeProperty(s),r=e=$(this,s)),t===r?null:t===h&&r===c?d:(c=r,d=B(h=t,e))})).each((u=this._id,C="end."+(x="style."+(p=t)),function(){var t=t$(this,u),e=t.on,r=null==t.value[x]?m||(m=ew(p)):void 0;(e!==g||y!==r)&&(f=(g=e).copy()).on(C,y=r),t.on=f})):this.styleTween(t,(b=t,T=e+"",function(){var t=$(this,b);return t===T?null:t===k?w:w=B(k=t,e)}),r).on("end.style."+t,null)},styleTween:function(t,e,r){var i="style."+(t+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==e)return this.tween(i,null);if("function"!=typeof e)throw Error();return this.tween(i,function(t,e,r){var i,o;function a(){var a=e.apply(this,arguments);return a!==o&&(i=(o=a)&&function(e){this.style.setProperty(t,a.call(this,e),r)}),i}return a._value=e,a}(t,e,null==r?"":r))},text:function(t){var e,r;return this.tween("text","function"==typeof t?(e=tz(this,"text",t),function(){var t=e(this);this.textContent=null==t?"":t}):(r=null==t?"":t+"",function(){this.textContent=r}))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw Error();return this.tween(e,function(t){var e,r;function i(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&function(t){this.textContent=i.call(this,t)}),e}return i._value=t,i}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}))},tween:function(t,e){var r=this._id;if(t+="",arguments.length<2){for(var i,o=tE(this.node(),r).tween,a=0,n=o.length;a<n;++a)if((i=o[a]).name===t)return i.value;return null}return this.each((null==e?function(t,e){var r,i;return function(){var o=t$(this,t),a=o.tween;if(a!==r){i=r=a;for(var n=0,s=i.length;n<s;++n)if(i[n].name===e){(i=i.slice()).splice(n,1);break}}o.tween=i}}:function(t,e,r){var i,o;if("function"!=typeof r)throw Error();return function(){var a=t$(this,t),n=a.tween;if(n!==i){o=(i=n).slice();for(var s={name:e,value:r},l=0,h=o.length;l<h;++l)if(o[l].name===e){o[l]=s;break}l===h&&o.push(s)}a.tween=o}})(r,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){tM(this,t).delay=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){tM(this,t).delay=e}})(e,t)):tE(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){t$(this,t).duration=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){t$(this,t).duration=e}})(e,t)):tE(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw Error();return function(){t$(this,t).ease=e}}(e,t)):tE(this.node(),e).ease},easeVarying:function(t){var e;if("function"!=typeof t)throw Error();return this.each((e=this._id,function(){var r=t.apply(this,arguments);if("function"!=typeof r)throw Error();t$(this,e).ease=r}))},end:function(){var t,e,r=this,i=r._id,o=r.size();return new Promise(function(a,n){var s={value:n},l={value:function(){0==--o&&a()}};r.each(function(){var r=t$(this,i),o=r.on;o!==t&&((e=(t=o).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),r.on=e}),0===o&&a()})},[Symbol.iterator]:eS[Symbol.iterator]};var ev={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};Q.prototype.interrupt=function(t){return this.each(function(){!function(t,e){var r,i,o,a=t.__transition,n=!0;if(a){for(o in e=null==e?null:e+"",a){if((r=a[o]).name!==e){n=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete a[o]}n&&delete t.__transition}}(this,t)})},Q.prototype.transition=function(t){var e,r;t instanceof eB?(e=t._id,t=t._name):(e=++eT,(r=ev).time=tb(),t=null==t?null:t+"");for(var i=this._groups,o=i.length,a=0;a<o;++a)for(var n,s=i[a],l=s.length,h=0;h<l;++h)(n=s[h])&&tL(n,t,e,h,s,r||function(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw Error(`transition ${e} not found`);return r}(n,e));return new eB(i,this._parents,t,e)};let{abs:e_,max:eF,min:eA}=Math;function eL(t){return{type:t}}function eM(t,e){if(!isFinite(t)||0===t)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),i=t.slice(0,r);return[i.length>1?i[0]+i.slice(2):i,+t.slice(r+1)]}function e$(t){return(t=eM(Math.abs(t)))?t[1]:NaN}["w","e"].map(eL),["n","s"].map(eL),["n","w","e","s","nw","ne","sw","se"].map(eL);var eE=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function eO(t){var e;if(!(e=eE.exec(t)))throw Error("invalid format: "+t);return new eD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function eD(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function eK(t,e){var r=eM(t,e);if(!r)return t+"";var i=r[0],o=r[1];return o<0?"0."+Array(-o).join("0")+i:i.length>o+1?i.slice(0,o+1)+"."+i.slice(o+1):i+Array(o-i.length+2).join("0")}eO.prototype=eD.prototype,eD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};let eI={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>eK(100*t,e),r:eK,s:function(t,e){var r=eM(t,e);if(!r)return to=void 0,t.toPrecision(e);var i=r[0],o=r[1],a=o-(to=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,n=i.length;return a===n?i:a>n?i+Array(a-n+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+Array(1-a).join("0")+eM(t,Math.max(0,e+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function eq(t){return t}var eR=Array.prototype.map,eP=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function ez(t){var e=0,r=t.children,i=r&&r.length;if(i)for(;--i>=0;)e+=r[i].value;else e=1;t.value=e}function eW(t,e){t instanceof Map?(t=[void 0,t],void 0===e&&(e=ej)):void 0===e&&(e=eN);for(var r,i,o,a,n,s=new eY(t),l=[s];r=l.pop();)if((o=e(r.data))&&(n=(o=Array.from(o)).length))for(r.children=o,a=n-1;a>=0;--a)l.push(i=o[a]=new eY(o[a])),i.parent=r,i.depth=r.depth+1;return s.eachBefore(eU)}function eN(t){return t.children}function ej(t){return Array.isArray(t)?t[1]:null}function eH(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function eU(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function eY(t){this.data=t,this.depth=this.height=0,this.parent=null}function eG(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}tn=(ta=function(t){var e,r,i,o=void 0===t.grouping||void 0===t.thousands?eq:(e=eR.call(t.grouping,Number),r=t.thousands+"",function(t,i){for(var o=t.length,a=[],n=0,s=e[0],l=0;o>0&&s>0&&(l+s+1>i&&(s=Math.max(1,i-l)),a.push(t.substring(o-=s,o+s)),!((l+=s+1)>i));)s=e[n=(n+1)%e.length];return a.reverse().join(r)}),a=void 0===t.currency?"":t.currency[0]+"",n=void 0===t.currency?"":t.currency[1]+"",s=void 0===t.decimal?".":t.decimal+"",l=void 0===t.numerals?eq:(i=eR.call(t.numerals,String),function(t){return t.replace(/[0-9]/g,function(t){return i[+t]})}),h=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"\u2212":t.minus+"",d=void 0===t.nan?"NaN":t.nan+"";function u(t,e){var r=(t=eO(t)).fill,i=t.align,u=t.sign,p=t.symbol,g=t.zero,f=t.width,y=t.comma,m=t.precision,x=t.trim,C=t.type;"n"===C?(y=!0,C="g"):eI[C]||(void 0===m&&(m=12),x=!0,C="g"),(g||"0"===r&&"="===i)&&(g=!0,r="0",i="=");var b=(e&&void 0!==e.prefix?e.prefix:"")+("$"===p?a:"#"===p&&/[boxX]/.test(C)?"0"+C.toLowerCase():""),k=("$"===p?n:/[%p]/.test(C)?h:"")+(e&&void 0!==e.suffix?e.suffix:""),w=eI[C],T=/[defgprs%]/.test(C);function B(t){var e,a,n,h=b,p=k;if("c"===C)p=w(t)+p,t="";else{var B=(t*=1)<0||1/t<0;if(t=isNaN(t)?d:w(Math.abs(t),m),x&&(t=function(t){t:for(var e,r=t.length,i=1,o=-1;i<r;++i)switch(t[i]){case".":o=e=i;break;case"0":0===o&&(o=i),e=i;break;default:if(!+t[i])break t;o>0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t}(t)),B&&0==+t&&"+"!==u&&(B=!1),h=(B?"("===u?u:c:"-"===u||"("===u?"":u)+h,p=("s"!==C||isNaN(t)||void 0===to?"":eP[8+to/3])+p+(B&&"("===u?")":""),T){for(e=-1,a=t.length;++e<a;)if(48>(n=t.charCodeAt(e))||n>57){p=(46===n?s+t.slice(e+1):t.slice(e))+p,t=t.slice(0,e);break}}}y&&!g&&(t=o(t,1/0));var S=h.length+t.length+p.length,v=S<f?Array(f-S+1).join(r):"";switch(y&&g&&(t=o(v+t,v.length?f-p.length:1/0),v=""),i){case"<":t=h+t+p+v;break;case"=":t=h+v+t+p;break;case"^":t=v.slice(0,S=v.length>>1)+h+t+p+v.slice(S);break;default:t=v+h+t+p}return l(t)}return m=void 0===m?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),B.toString=function(){return t+""},B}return{format:u,formatPrefix:function(t,e){var r=3*Math.max(-8,Math.min(8,Math.floor(e$(e)/3))),i=Math.pow(10,-r),o=u(((t=eO(t)).type="f",t),{suffix:eP[8+r/3]});return function(t){return o(i*t)}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,ts=ta.formatPrefix,eY.prototype=eW.prototype={constructor:eY,count:function(){return this.eachAfter(ez)},each:function(t,e){let r=-1;for(let i of this)t.call(e,i,++r,this);return this},eachAfter:function(t,e){for(var r,i,o,a=this,n=[a],s=[],l=-1;a=n.pop();)if(s.push(a),r=a.children)for(i=0,o=r.length;i<o;++i)n.push(r[i]);for(;a=s.pop();)t.call(e,a,++l,this);return this},eachBefore:function(t,e){for(var r,i,o=this,a=[o],n=-1;o=a.pop();)if(t.call(e,o,++n,this),r=o.children)for(i=r.length-1;i>=0;--i)a.push(r[i]);return this},find:function(t,e){let r=-1;for(let i of this)if(t.call(e,i,++r,this))return i},sum:function(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,i=e.children,o=i&&i.length;--o>=0;)r+=i[o].value;e.value=r})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),i=e.ancestors(),o=null;for(t=r.pop(),e=i.pop();t===e;)o=t,t=r.pop(),e=i.pop();return o}(e,t),i=[e];e!==r;)i.push(e=e.parent);for(var o=i.length;t!==r;)i.splice(o,0,t),t=t.parent;return i},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e},copy:function(){return eW(this).eachBefore(eH)},[Symbol.iterator]:function*(){var t,e,r,i,o=this,a=[o];do for(t=a.reverse(),a=[];o=t.pop();)if(yield o,e=o.children)for(r=0,i=e.length;r<i;++r)a.push(e[r]);while(a.length)}};let eX=function t(e){function r(t,r,i,o,a){!function(t,e,r,i,o,a){for(var n,s,l,h,c,d,u,p,g,f,y,m=[],x=e.children,C=0,b=0,k=x.length,w=e.value;C<k;){l=o-r,h=a-i;do c=x[b++].value;while(!c&&b<k)for(d=u=c,g=Math.max(u/(y=c*c*(f=Math.max(h/l,l/h)/(w*t))),y/d);b<k;++b){if(c+=s=x[b].value,s<d&&(d=s),s>u&&(u=s),(p=Math.max(u/(y=c*c*f),y/d))>g){c-=s;break}g=p}m.push(n={value:c,dice:l<h,children:x.slice(C,b)}),n.dice?function(t,e,r,i,o){for(var a,n=t.children,s=-1,l=n.length,h=t.value&&(i-e)/t.value;++s<l;)(a=n[s]).y0=r,a.y1=o,a.x0=e,a.x1=e+=a.value*h}(n,r,i,o,w?i+=h*c/w:a):function(t,e,r,i,o){for(var a,n=t.children,s=-1,l=n.length,h=t.value&&(o-r)/t.value;++s<l;)(a=n[s]).x0=e,a.x1=i,a.y0=r,a.y1=r+=a.value*h}(n,r,i,w?r+=l*c/w:o,a),w-=c,C=b}}(e,t,r,i,o,a)}return r.ratio=function(e){return t((e*=1)>1?e:1)},r}((1+Math.sqrt(5))/2);function eZ(){return 0}function eV(t){return function(){return t}}function eQ(){var t=eX,e=!1,r=1,i=1,o=[0],a=eZ,n=eZ,s=eZ,l=eZ,h=eZ;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=i,t.eachBefore(d),o=[0],e&&t.eachBefore(eG),t}function d(e){var r=o[e.depth],i=e.x0+r,c=e.y0+r,d=e.x1-r,u=e.y1-r;d<i&&(i=d=(i+d)/2),u<c&&(c=u=(c+u)/2),e.x0=i,e.y0=c,e.x1=d,e.y1=u,e.children&&(r=o[e.depth+1]=a(e)/2,i+=h(e)-r,c+=n(e)-r,d-=s(e)-r,u-=l(e)-r,d<i&&(i=d=(i+d)/2),u<c&&(c=u=(c+u)/2),t(e,i,c,d,u))}return c.round=function(t){return arguments.length?(e=!!t,c):e},c.size=function(t){return arguments.length?(r=+t[0],i=+t[1],c):[r,i]},c.tile=function(e){return arguments.length?(t=function(t){if("function"!=typeof t)throw Error();return t}(e),c):t},c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()},c.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:eV(+t),c):a},c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()},c.paddingTop=function(t){return arguments.length?(n="function"==typeof t?t:eV(+t),c):n},c.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:eV(+t),c):s},c.paddingBottom=function(t){return arguments.length?(l="function"==typeof t?t:eV(+t),c):l},c.paddingLeft=function(t){return arguments.length?(h="function"==typeof t?t:eV(+t),c):h},c}let eJ=Math.PI/180,e0=180/Math.PI,e1=4/29,e2=6/29,e5=6/29*3*(6/29),e3=6/29*(6/29)*(6/29);function e4(t){if(t instanceof e6)return new e6(t.l,t.a,t.b,t.opacity);if(t instanceof rr)return ri(t);t instanceof t9||(t=t8(t));var e,r,i=rt(t.r),o=rt(t.g),a=rt(t.b),n=e8((.2225045*i+.7168786*o+.0606169*a)/1);return i===o&&o===a?e=r=n:(e=e8((.4360747*i+.3850649*o+.1430804*a)/.96422),r=e8((.0139322*i+.0971045*o+.7141733*a)/.82521)),new e6(116*n-16,500*(e-n),200*(n-r),t.opacity)}function e6(t,e,r,i){this.l=+t,this.a=+e,this.b=+r,this.opacity=+i}function e8(t){return t>e3?Math.pow(t,1/3):t/e5+e1}function e7(t){return t>e2?t*t*t:e5*(t-e1)}function e9(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function rt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function re(t,e,r,i){return 1==arguments.length?function(t){if(t instanceof rr)return new rr(t.h,t.c,t.l,t.opacity);if(t instanceof e6||(t=e4(t)),0===t.a&&0===t.b)return new rr(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*e0;return new rr(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new rr(t,e,r,null==i?1:i)}function rr(t,e,r,i){this.h=+t,this.c=+e,this.l=+r,this.opacity=+i}function ri(t){if(isNaN(t.h))return new e6(t.l,0,0,t.opacity);var e=t.h*eJ;return new e6(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}function ro(t){return function(e,r){var i=t((e=re(e)).h,(r=re(r)).h),o=eg(e.c,r.c),a=eg(e.l,r.l),n=eg(e.opacity,r.opacity);return function(t){return e.h=i(t),e.c=o(t),e.l=a(t),e.opacity=n(t),e+""}}}tW(e6,function(t,e,r,i){return 1==arguments.length?e4(t):new e6(t,e,r,null==i?1:i)},tN(tj,{brighter(t){return new e6(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker(t){return new e6(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=.96422*e7(e),new t9(e9(3.1338561*e-1.6168667*(t=+e7(t))-.4906146*(r=.82521*e7(r))),e9(-.9787684*e+1.9161415*t+.033454*r),e9(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),tW(rr,re,tN(tj,{brighter(t){return new rr(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker(t){return new rr(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb(){return ri(this).rgb()}}));let ra=ro(function(t,e){var r=e-t;return r?ep(t,r>180||r<-180?r-360*Math.round(r/360):r):eu(isNaN(t)?e:t)});function rn(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}ro(eg);class rs extends Map{constructor(t,e=rh){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(let[e,r]of t)this.set(e,r)}get(t){return super.get(rl(this,t))}has(t){return super.has(rl(this,t))}set(t,e){return super.set(function({_intern:t,_key:e},r){let i=e(r);return t.has(i)?t.get(i):(t.set(i,r),r)}(this,t),e)}delete(t){return super.delete(function({_intern:t,_key:e},r){let i=e(r);return t.has(i)&&(r=t.get(i),t.delete(i)),r}(this,t))}}function rl({_intern:t,_key:e},r){let i=e(r);return t.has(i)?t.get(i):r}function rh(t){return null!==t&&"object"==typeof t?t.valueOf():t}let rc=Symbol("implicit");function rd(){var t=new rs,e=[],r=[],i=rc;function o(o){let a=t.get(o);if(void 0===a){if(i!==rc)return i;t.set(o,a=e.push(o)-1)}return r[a%r.length]}return o.domain=function(r){if(!arguments.length)return e.slice();for(let i of(e=[],t=new rs,r))t.has(i)||t.set(i,e.push(i)-1);return o},o.range=function(t){return arguments.length?(r=Array.from(t),o):r.slice()},o.unknown=function(t){return arguments.length?(i=t,o):i},o.copy=function(){return rd(e,r).unknown(i)},rn.apply(o,arguments),o}let ru=Math.sqrt(50),rp=Math.sqrt(10),rg=Math.sqrt(2);function rf(t,e,r){let i,o,a,n=(e-t)/Math.max(0,r),s=Math.floor(Math.log10(n)),l=n/Math.pow(10,s),h=l>=ru?10:l>=rp?5:l>=rg?2:1;return(s<0?(i=Math.round(t*(a=Math.pow(10,-s)/h)),o=Math.round(e*a),i/a<t&&++i,o/a>e&&--o,a=-a):(i=Math.round(t/(a=Math.pow(10,s)*h)),o=Math.round(e/a),i*a<t&&++i,o*a>e&&--o),o<i&&.5<=r&&r<2)?rf(t,e,2*r):[i,o,a]}function ry(t,e,r){return rf(t*=1,e*=1,r*=1)[2]}function rm(t,e,r){e*=1,t*=1,r*=1;let i=e<t,o=i?ry(e,t,r):ry(t,e,r);return(i?-1:1)*(o<0?-(1/o):o)}function rx(t,e){return null==t||null==e?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function rC(t,e){return null==t||null==e?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function rb(t){let e,r,i;function o(t,i,a=0,n=t.length){if(a<n){if(0!==e(i,i))return n;do{let e=a+n>>>1;0>r(t[e],i)?a=e+1:n=e}while(a<n)}return a}return 2!==t.length?(e=rx,r=(e,r)=>rx(t(e),r),i=(e,r)=>t(e)-r):(e=t===rx||t===rC?t:rk,r=t,i=t),{left:o,center:function(t,e,r=0,a=t.length){let n=o(t,e,r,a-1);return n>r&&i(t[n-1],e)>-i(t[n],e)?n-1:n},right:function(t,i,o=0,a=t.length){if(o<a){if(0!==e(i,i))return a;do{let e=o+a>>>1;0>=r(t[e],i)?o=e+1:a=e}while(o<a)}return o}}}function rk(){return 0}let rw=rb(rx),rT=rw.right;rw.left,rb(function(t){return null===t?NaN:+t}).center;function rB(t,e){return t*=1,e*=1,function(r){return Math.round(t*(1-r)+e*r)}}function rS(t){return+t}var rv=[0,1];function r_(t){return t}function rF(t,e){var r;return(e-=t*=1)?function(r){return(r-t)/e}:(r=isNaN(e)?NaN:.5,function(){return r})}function rA(t,e,r){var i=t[0],o=t[1],a=e[0],n=e[1];return o<i?(i=rF(o,i),a=r(n,a)):(i=rF(i,o),a=r(a,n)),function(t){return a(i(t))}}function rL(t,e,r){var i=Math.min(t.length,e.length)-1,o=Array(i),a=Array(i),n=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++n<i;)o[n]=rF(t[n],t[n+1]),a[n]=r(e[n],e[n+1]);return function(e){var r=rT(t,e,1,i)-1;return a[r](o[r](e))}}function rM(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function r$(){return(function(){var t,e,r,i,o,a,n=rv,s=rv,l=function t(e,r){var i,o,a=typeof r;return null==r||"boolean"===a?eu(r):("number"===a?tO:"string"===a?(o=t3(r))?(r=o,ef):eC:r instanceof t3?ef:r instanceof Date?function(t,e){var r=new Date;return t*=1,e*=1,function(i){return r.setTime(t*(1-i)+e*i),r}}:!ArrayBuffer.isView(i=r)||i instanceof DataView?Array.isArray(r)?function(e,r){var i,o=r?r.length:0,a=e?Math.min(o,e.length):0,n=Array(a),s=Array(o);for(i=0;i<a;++i)n[i]=t(e[i],r[i]);for(;i<o;++i)s[i]=r[i];return function(t){for(i=0;i<a;++i)s[i]=n[i](t);return s}}:"function"!=typeof r.valueOf&&"function"!=typeof r.toString||isNaN(r)?function(e,r){var i,o={},a={};for(i in(null===e||"object"!=typeof e)&&(e={}),(null===r||"object"!=typeof r)&&(r={}),r)i in e?o[i]=t(e[i],r[i]):a[i]=r[i];return function(t){for(i in o)a[i]=o[i](t);return a}}:tO:function(t,e){e||(e=[]);var r,i=t?Math.min(e.length,t.length):0,o=e.slice();return function(a){for(r=0;r<i;++r)o[r]=t[r]*(1-a)+e[r]*a;return o}})(e,r)},h=r_;function c(){var t,e,r,l=Math.min(n.length,s.length);return h!==r_&&(t=n[0],e=n[l-1],t>e&&(r=t,t=e,e=r),h=function(r){return Math.max(t,Math.min(e,r))}),i=l>2?rL:rA,o=a=null,d}function d(e){return null==e||isNaN(e*=1)?r:(o||(o=i(n.map(t),s,l)))(t(h(e)))}return d.invert=function(r){return h(e((a||(a=i(s,n.map(t),tO)))(r)))},d.domain=function(t){return arguments.length?(n=Array.from(t,rS),c()):n.slice()},d.range=function(t){return arguments.length?(s=Array.from(t),c()):s.slice()},d.rangeRound=function(t){return s=Array.from(t),l=rB,c()},d.clamp=function(t){return arguments.length?(h=!!t||r_,c()):h!==r_},d.interpolate=function(t){return arguments.length?(l=t,c()):l},d.unknown=function(t){return arguments.length?(r=t,d):r},function(r,i){return t=r,e=i,c()}})()(r_,r_)}let rE=new Date,rO=new Date;function rD(t,e,r,i){function o(e){return t(e=0==arguments.length?new Date:new Date(+e)),e}return o.floor=e=>(t(e=new Date(+e)),e),o.ceil=r=>(t(r=new Date(r-1)),e(r,1),t(r),r),o.round=t=>{let e=o(t),r=o.ceil(t);return t-e<r-t?e:r},o.offset=(t,r)=>(e(t=new Date(+t),null==r?1:Math.floor(r)),t),o.range=(r,i,a)=>{let n,s=[];if(r=o.ceil(r),a=null==a?1:Math.floor(a),!(r<i)||!(a>0))return s;do s.push(n=new Date(+r)),e(r,a),t(r);while(n<r&&r<i)return s},o.filter=r=>rD(e=>{if(e>=e)for(;t(e),!r(e);)e.setTime(e-1)},(t,i)=>{if(t>=t)if(i<0)for(;++i<=0;)for(;e(t,-1),!r(t););else for(;--i>=0;)for(;e(t,1),!r(t););}),r&&(o.count=(e,i)=>(rE.setTime(+e),rO.setTime(+i),t(rE),t(rO),Math.floor(r(rE,rO))),o.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?o.filter(i?e=>i(e)%t==0:e=>o.count(0,e)%t==0):o:null),o}let rK=rD(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);rK.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?rD(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):rK:null,rK.range;let rI=rD(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+1e3*e)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds());rI.range;let rq=rD(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getMinutes());rq.range;let rR=rD(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes());rR.range;let rP=rD(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getHours());rP.range;let rz=rD(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours());rz.range;let rW=rD(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1);rW.range;let rN=rD(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1);rN.range;let rj=rD(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5));function rH(t){return rD(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(t,e)=>{t.setDate(t.getDate()+7*e)},(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}rj.range;let rU=rH(0),rY=rH(1),rG=rH(2),rX=rH(3),rZ=rH(4),rV=rH(5),rQ=rH(6);function rJ(t){return rD(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)},(t,e)=>(e-t)/6048e5)}rU.range,rY.range,rG.range,rX.range,rZ.range,rV.range,rQ.range;let r0=rJ(0),r1=rJ(1),r2=rJ(2),r5=rJ(3),r3=rJ(4),r4=rJ(5),r6=rJ(6);r0.range,r1.range,r2.range,r5.range,r3.range,r4.range,r6.range;let r8=rD(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());r8.range;let r7=rD(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());r7.range;let r9=rD(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());r9.every=t=>isFinite(t=Math.floor(t))&&t>0?rD(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)}):null,r9.range;let it=rD(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());function ie(t,e,r,i,o,a){let n=[[rI,1,1e3],[rI,5,5e3],[rI,15,15e3],[rI,30,3e4],[a,1,6e4],[a,5,3e5],[a,15,9e5],[a,30,18e5],[o,1,36e5],[o,3,108e5],[o,6,216e5],[o,12,432e5],[i,1,864e5],[i,2,1728e5],[r,1,6048e5],[e,1,2592e6],[e,3,7776e6],[t,1,31536e6]];function s(e,r,i){let o=Math.abs(r-e)/i,a=rb(([,,t])=>t).right(n,o);if(a===n.length)return t.every(rm(e/31536e6,r/31536e6,i));if(0===a)return rK.every(Math.max(rm(e,r,i),1));let[s,l]=n[o/n[a-1][2]<n[a][2]/o?a-1:a];return s.every(l)}return[function(t,e,r){let i=e<t;i&&([t,e]=[e,t]);let o=r&&"function"==typeof r.range?r:s(t,e,r),a=o?o.range(t,+e+1):[];return i?a.reverse():a},s]}it.every=t=>isFinite(t=Math.floor(t))&&t>0?rD(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)}):null,it.range;let[ir,ii]=ie(it,r7,r0,rj,rz,rR),[io,ia]=ie(r9,r8,rU,rW,rP,rq);function is(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function il(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ih(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}var ic={"-":"",_:" ",0:"0"},id=/^\s*\d+/,iu=/^%/,ip=/[\\^$*+?|[\]().{}]/g;function ig(t,e,r){var i=t<0?"-":"",o=(i?-t:t)+"",a=o.length;return i+(a<r?Array(r-a+1).join(e)+o:o)}function iy(t){return t.replace(ip,"\\$&")}function im(t){return RegExp("^(?:"+t.map(iy).join("|")+")","i")}function ix(t){return new Map(t.map((t,e)=>[t.toLowerCase(),e]))}function iC(t,e,r){var i=id.exec(e.slice(r,r+1));return i?(t.w=+i[0],r+i[0].length):-1}function ib(t,e,r){var i=id.exec(e.slice(r,r+1));return i?(t.u=+i[0],r+i[0].length):-1}function ik(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.U=+i[0],r+i[0].length):-1}function iw(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.V=+i[0],r+i[0].length):-1}function iT(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.W=+i[0],r+i[0].length):-1}function iB(t,e,r){var i=id.exec(e.slice(r,r+4));return i?(t.y=+i[0],r+i[0].length):-1}function iS(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),r+i[0].length):-1}function iv(t,e,r){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),r+i[0].length):-1}function i_(t,e,r){var i=id.exec(e.slice(r,r+1));return i?(t.q=3*i[0]-3,r+i[0].length):-1}function iF(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.m=i[0]-1,r+i[0].length):-1}function iA(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.d=+i[0],r+i[0].length):-1}function iL(t,e,r){var i=id.exec(e.slice(r,r+3));return i?(t.m=0,t.d=+i[0],r+i[0].length):-1}function iM(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.H=+i[0],r+i[0].length):-1}function i$(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.M=+i[0],r+i[0].length):-1}function iE(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.S=+i[0],r+i[0].length):-1}function iO(t,e,r){var i=id.exec(e.slice(r,r+3));return i?(t.L=+i[0],r+i[0].length):-1}function iD(t,e,r){var i=id.exec(e.slice(r,r+6));return i?(t.L=Math.floor(i[0]/1e3),r+i[0].length):-1}function iK(t,e,r){var i=iu.exec(e.slice(r,r+1));return i?r+i[0].length:-1}function iI(t,e,r){var i=id.exec(e.slice(r));return i?(t.Q=+i[0],r+i[0].length):-1}function iq(t,e,r){var i=id.exec(e.slice(r));return i?(t.s=+i[0],r+i[0].length):-1}function iR(t,e){return ig(t.getDate(),e,2)}function iP(t,e){return ig(t.getHours(),e,2)}function iz(t,e){return ig(t.getHours()%12||12,e,2)}function iW(t,e){return ig(1+rW.count(r9(t),t),e,3)}function iN(t,e){return ig(t.getMilliseconds(),e,3)}function ij(t,e){return iN(t,e)+"000"}function iH(t,e){return ig(t.getMonth()+1,e,2)}function iU(t,e){return ig(t.getMinutes(),e,2)}function iY(t,e){return ig(t.getSeconds(),e,2)}function iG(t){var e=t.getDay();return 0===e?7:e}function iX(t,e){return ig(rU.count(r9(t)-1,t),e,2)}function iZ(t){var e=t.getDay();return e>=4||0===e?rZ(t):rZ.ceil(t)}function iV(t,e){return t=iZ(t),ig(rZ.count(r9(t),t)+(4===r9(t).getDay()),e,2)}function iQ(t){return t.getDay()}function iJ(t,e){return ig(rY.count(r9(t)-1,t),e,2)}function i0(t,e){return ig(t.getFullYear()%100,e,2)}function i1(t,e){return ig((t=iZ(t)).getFullYear()%100,e,2)}function i2(t,e){return ig(t.getFullYear()%1e4,e,4)}function i5(t,e){var r=t.getDay();return ig((t=r>=4||0===r?rZ(t):rZ.ceil(t)).getFullYear()%1e4,e,4)}function i3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+ig(e/60|0,"0",2)+ig(e%60,"0",2)}function i4(t,e){return ig(t.getUTCDate(),e,2)}function i6(t,e){return ig(t.getUTCHours(),e,2)}function i8(t,e){return ig(t.getUTCHours()%12||12,e,2)}function i7(t,e){return ig(1+rN.count(it(t),t),e,3)}function i9(t,e){return ig(t.getUTCMilliseconds(),e,3)}function ot(t,e){return i9(t,e)+"000"}function oe(t,e){return ig(t.getUTCMonth()+1,e,2)}function or(t,e){return ig(t.getUTCMinutes(),e,2)}function oi(t,e){return ig(t.getUTCSeconds(),e,2)}function oo(t){var e=t.getUTCDay();return 0===e?7:e}function oa(t,e){return ig(r0.count(it(t)-1,t),e,2)}function on(t){var e=t.getUTCDay();return e>=4||0===e?r3(t):r3.ceil(t)}function os(t,e){return t=on(t),ig(r3.count(it(t),t)+(4===it(t).getUTCDay()),e,2)}function ol(t){return t.getUTCDay()}function oh(t,e){return ig(r1.count(it(t)-1,t),e,2)}function oc(t,e){return ig(t.getUTCFullYear()%100,e,2)}function od(t,e){return ig((t=on(t)).getUTCFullYear()%100,e,2)}function ou(t,e){return ig(t.getUTCFullYear()%1e4,e,4)}function op(t,e){var r=t.getUTCDay();return ig((t=r>=4||0===r?r3(t):r3.ceil(t)).getUTCFullYear()%1e4,e,4)}function og(){return"+0000"}function of(){return"%"}function oy(t){return+t}function om(t){return Math.floor(t/1e3)}function ox(t){return new Date(t)}function oC(t){return t instanceof Date?+t:+new Date(+t)}function ob(){return rn.apply((function t(e,r,i,o,a,n,s,l,h,c){var d=r$(),u=d.invert,p=d.domain,g=c(".%L"),f=c(":%S"),y=c("%I:%M"),m=c("%I %p"),x=c("%a %d"),C=c("%b %d"),b=c("%B"),k=c("%Y");function w(t){return(h(t)<t?g:l(t)<t?f:s(t)<t?y:n(t)<t?m:o(t)<t?a(t)<t?x:C:i(t)<t?b:k)(t)}return d.invert=function(t){return new Date(u(t))},d.domain=function(t){return arguments.length?p(Array.from(t,oC)):p().map(ox)},d.ticks=function(t){var r=p();return e(r[0],r[r.length-1],null==t?10:t)},d.tickFormat=function(t,e){return null==e?w:c(e)},d.nice=function(t){var e,i,o,a,n,s,l,h=p();return t&&"function"==typeof t.range||(t=r(h[0],h[h.length-1],null==t?10:t)),t?p((e=h,i=t,e=e.slice(),a=0,n=e.length-1,s=e[a],(l=e[n])<s&&(o=a,a=n,n=o,o=s,s=l,l=o),e[a]=i.floor(s),e[n]=i.ceil(l),e)):d},d.copy=function(){return rM(d,t(e,r,i,o,a,n,s,l,h,c))},d})(io,ia,r9,r8,rU,rW,rP,rq,rI,th).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}th=(tl=function(t){var e=t.dateTime,r=t.date,i=t.time,o=t.periods,a=t.days,n=t.shortDays,s=t.months,l=t.shortMonths,h=im(o),c=ix(o),d=im(a),u=ix(a),p=im(n),g=ix(n),f=im(s),y=ix(s),m=im(l),x=ix(l),C={a:function(t){return n[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:iR,e:iR,f:ij,g:i1,G:i5,H:iP,I:iz,j:iW,L:iN,m:iH,M:iU,p:function(t){return o[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:oy,s:om,S:iY,u:iG,U:iX,V:iV,w:iQ,W:iJ,x:null,X:null,y:i0,Y:i2,Z:i3,"%":of},b={a:function(t){return n[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:i4,e:i4,f:ot,g:od,G:op,H:i6,I:i8,j:i7,L:i9,m:oe,M:or,p:function(t){return o[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:oy,s:om,S:oi,u:oo,U:oa,V:os,w:ol,W:oh,x:null,X:null,y:oc,Y:ou,Z:og,"%":of},k={a:function(t,e,r){var i=p.exec(e.slice(r));return i?(t.w=g.get(i[0].toLowerCase()),r+i[0].length):-1},A:function(t,e,r){var i=d.exec(e.slice(r));return i?(t.w=u.get(i[0].toLowerCase()),r+i[0].length):-1},b:function(t,e,r){var i=m.exec(e.slice(r));return i?(t.m=x.get(i[0].toLowerCase()),r+i[0].length):-1},B:function(t,e,r){var i=f.exec(e.slice(r));return i?(t.m=y.get(i[0].toLowerCase()),r+i[0].length):-1},c:function(t,r,i){return B(t,e,r,i)},d:iA,e:iA,f:iD,g:iS,G:iB,H:iM,I:iM,j:iL,L:iO,m:iF,M:i$,p:function(t,e,r){var i=h.exec(e.slice(r));return i?(t.p=c.get(i[0].toLowerCase()),r+i[0].length):-1},q:i_,Q:iI,s:iq,S:iE,u:ib,U:ik,V:iw,w:iC,W:iT,x:function(t,e,i){return B(t,r,e,i)},X:function(t,e,r){return B(t,i,e,r)},y:iS,Y:iB,Z:iv,"%":iK};function w(t,e){return function(r){var i,o,a,n=[],s=-1,l=0,h=t.length;for(r instanceof Date||(r=new Date(+r));++s<h;)37===t.charCodeAt(s)&&(n.push(t.slice(l,s)),null!=(o=ic[i=t.charAt(++s)])?i=t.charAt(++s):o="e"===i?" ":"0",(a=e[i])&&(i=a(r,o)),n.push(i),l=s+1);return n.push(t.slice(l,s)),n.join("")}}function T(t,e){return function(r){var i,o,a=ih(1900,void 0,1);if(B(a,t,r+="",0)!=r.length)return null;if("Q"in a)return new Date(a.Q);if("s"in a)return new Date(1e3*a.s+("L"in a?a.L:0));if(!e||"Z"in a||(a.Z=0),"p"in a&&(a.H=a.H%12+12*a.p),void 0===a.m&&(a.m="q"in a?a.q:0),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(i=(o=(i=il(ih(a.y,0,1))).getUTCDay())>4||0===o?r1.ceil(i):r1(i),i=rN.offset(i,(a.V-1)*7),a.y=i.getUTCFullYear(),a.m=i.getUTCMonth(),a.d=i.getUTCDate()+(a.w+6)%7):(i=(o=(i=is(ih(a.y,0,1))).getDay())>4||0===o?rY.ceil(i):rY(i),i=rW.offset(i,(a.V-1)*7),a.y=i.getFullYear(),a.m=i.getMonth(),a.d=i.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:+("W"in a)),o="Z"in a?il(ih(a.y,0,1)).getUTCDay():is(ih(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(o+5)%7:a.w+7*a.U-(o+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,il(a)):is(a)}}function B(t,e,r,i){for(var o,a,n=0,s=e.length,l=r.length;n<s;){if(i>=l)return -1;if(37===(o=e.charCodeAt(n++))){if(!(a=k[(o=e.charAt(n++))in ic?e.charAt(n++):o])||(i=a(t,r,i))<0)return -1}else if(o!=r.charCodeAt(i++))return -1}return i}return C.x=w(r,C),C.X=w(i,C),C.c=w(e,C),b.x=w(r,b),b.X=w(i,b),b.c=w(e,b),{format:function(t){var e=w(t+="",C);return e.toString=function(){return t},e},parse:function(t){var e=T(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=w(t+="",b);return e.toString=function(){return t},e},utcParse:function(t){var e=T(t+="",!0);return e.toString=function(){return t},e}}}({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"]})).format,tl.parse,tl.utcFormat,tl.utcParse;let ok=function(t){for(var e=t.length/6|0,r=Array(e),i=0;i<e;)r[i]="#"+t.slice(6*i,6*++i);return r}("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function ow(t){return"string"==typeof t?new V([[document.querySelector(t)]],[document.documentElement]):new V([[t]],Z)}function oT(t){return function(){return t}}let oB=Math.abs,oS=Math.atan2,ov=Math.cos,o_=Math.max,oF=Math.min,oA=Math.sin,oL=Math.sqrt,oM=Math.PI,o$=oM/2,oE=2*oM;function oO(t){return t>=1?o$:t<=-1?-o$:Math.asin(t)}let oD=Math.PI,oK=2*oD,oI=oK-1e-6;function oq(t){this._+=t[0];for(let e=1,r=t.length;e<r;++e)this._+=arguments[e]+t[e]}class oR{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?oq:function(t){let e=Math.floor(t);if(!(e>=0))throw Error(`invalid digits: ${t}`);if(e>15)return oq;let r=10**e;return function(t){this._+=t[0];for(let e=1,i=t.length;e<i;++e)this._+=Math.round(arguments[e]*r)/r+t[e]}}(t)}moveTo(t,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,e){this._append`L${this._x1=+t},${this._y1=+e}`}quadraticCurveTo(t,e,r,i){this._append`Q${+t},${+e},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(t,e,r,i,o,a){this._append`C${+t},${+e},${+r},${+i},${this._x1=+o},${this._y1=+a}`}arcTo(t,e,r,i,o){if(t*=1,e*=1,r*=1,i*=1,(o*=1)<0)throw Error(`negative radius: ${o}`);let a=this._x1,n=this._y1,s=r-t,l=i-e,h=a-t,c=n-e,d=h*h+c*c;if(null===this._x1)this._append`M${this._x1=t},${this._y1=e}`;else if(d>1e-6)if(Math.abs(c*s-l*h)>1e-6&&o){let u=r-a,p=i-n,g=s*s+l*l,f=Math.sqrt(g),y=Math.sqrt(d),m=o*Math.tan((oD-Math.acos((g+d-(u*u+p*p))/(2*f*y)))/2),x=m/y,C=m/f;Math.abs(x-1)>1e-6&&this._append`L${t+x*h},${e+x*c}`,this._append`A${o},${o},0,0,${+(c*u>h*p)},${this._x1=t+C*s},${this._y1=e+C*l}`}else this._append`L${this._x1=t},${this._y1=e}`}arc(t,e,r,i,o,a){if(t*=1,e*=1,r*=1,a=!!a,r<0)throw Error(`negative radius: ${r}`);let n=r*Math.cos(i),s=r*Math.sin(i),l=t+n,h=e+s,c=1^a,d=a?i-o:o-i;null===this._x1?this._append`M${l},${h}`:(Math.abs(this._x1-l)>1e-6||Math.abs(this._y1-h)>1e-6)&&this._append`L${l},${h}`,r&&(d<0&&(d=d%oK+oK),d>oI?this._append`A${r},${r},0,1,${c},${t-n},${e-s}A${r},${r},0,1,${c},${this._x1=l},${this._y1=h}`:d>1e-6&&this._append`A${r},${r},0,${+(d>=oD)},${c},${this._x1=t+r*Math.cos(o)},${this._y1=e+r*Math.sin(o)}`)}rect(t,e,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${r*=1}v${+i}h${-r}Z`}toString(){return this._}}function oP(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(null==r)e=null;else{let t=Math.floor(r);if(!(t>=0))throw RangeError(`invalid digits: ${r}`);e=t}return t},()=>new oR(e)}function oz(t){return t.innerRadius}function oW(t){return t.outerRadius}function oN(t){return t.startAngle}function oj(t){return t.endAngle}function oH(t){return t&&t.padAngle}function oU(t,e,r,i,o,a,n){var s=t-r,l=e-i,h=(n?a:-a)/oL(s*s+l*l),c=h*l,d=-h*s,u=t+c,p=e+d,g=r+c,f=i+d,y=(u+g)/2,m=(p+f)/2,x=g-u,C=f-p,b=x*x+C*C,k=o-a,w=u*f-g*p,T=(C<0?-1:1)*oL(o_(0,k*k*b-w*w)),B=(w*C-x*T)/b,S=(-w*x-C*T)/b,v=(w*C+x*T)/b,_=(-w*x+C*T)/b,F=B-y,A=S-m,L=v-y,M=_-m;return F*F+A*A>L*L+M*M&&(B=v,S=_),{cx:B,cy:S,x01:-c,y01:-d,x11:B*(o/k-1),y11:S*(o/k-1)}}function oY(){var t=oz,e=oW,r=oT(0),i=null,o=oN,a=oj,n=oH,s=null,l=oP(h);function h(){var h,c,d=+t.apply(this,arguments),u=+e.apply(this,arguments),p=o.apply(this,arguments)-o$,g=a.apply(this,arguments)-o$,f=oB(g-p),y=g>p;if(s||(s=h=l()),u<d&&(c=u,u=d,d=c),u>1e-12)if(f>oE-1e-12)s.moveTo(u*ov(p),u*oA(p)),s.arc(0,0,u,p,g,!y),d>1e-12&&(s.moveTo(d*ov(g),d*oA(g)),s.arc(0,0,d,g,p,y));else{var m,x,C=p,b=g,k=p,w=g,T=f,B=f,S=n.apply(this,arguments)/2,v=S>1e-12&&(i?+i.apply(this,arguments):oL(d*d+u*u)),_=oF(oB(u-d)/2,+r.apply(this,arguments)),F=_,A=_;if(v>1e-12){var L=oO(v/d*oA(S)),M=oO(v/u*oA(S));(T-=2*L)>1e-12?(L*=y?1:-1,k+=L,w-=L):(T=0,k=w=(p+g)/2),(B-=2*M)>1e-12?(M*=y?1:-1,C+=M,b-=M):(B=0,C=b=(p+g)/2)}var $=u*ov(C),E=u*oA(C),O=d*ov(w),D=d*oA(w);if(_>1e-12){var K,I=u*ov(b),q=u*oA(b),R=d*ov(k),P=d*oA(k);if(f<oM)if(K=function(t,e,r,i,o,a,n,s){var l=r-t,h=i-e,c=n-o,d=s-a,u=d*l-c*h;if(!(u*u<1e-12))return u=(c*(e-a)-d*(t-o))/u,[t+u*l,e+u*h]}($,E,R,P,I,q,O,D)){var z,W=$-K[0],N=E-K[1],j=I-K[0],H=q-K[1],U=1/oA(((z=(W*j+N*H)/(oL(W*W+N*N)*oL(j*j+H*H)))>1?0:z<-1?oM:Math.acos(z))/2),Y=oL(K[0]*K[0]+K[1]*K[1]);F=oF(_,(d-Y)/(U-1)),A=oF(_,(u-Y)/(U+1))}else F=A=0}B>1e-12?A>1e-12?(m=oU(R,P,$,E,u,A,y),x=oU(I,q,O,D,u,A,y),s.moveTo(m.cx+m.x01,m.cy+m.y01),A<_?s.arc(m.cx,m.cy,A,oS(m.y01,m.x01),oS(x.y01,x.x01),!y):(s.arc(m.cx,m.cy,A,oS(m.y01,m.x01),oS(m.y11,m.x11),!y),s.arc(0,0,u,oS(m.cy+m.y11,m.cx+m.x11),oS(x.cy+x.y11,x.cx+x.x11),!y),s.arc(x.cx,x.cy,A,oS(x.y11,x.x11),oS(x.y01,x.x01),!y))):(s.moveTo($,E),s.arc(0,0,u,C,b,!y)):s.moveTo($,E),d>1e-12&&T>1e-12?F>1e-12?(m=oU(O,D,I,q,d,-F,y),x=oU($,E,R,P,d,-F,y),s.lineTo(m.cx+m.x01,m.cy+m.y01),F<_?s.arc(m.cx,m.cy,F,oS(m.y01,m.x01),oS(x.y01,x.x01),!y):(s.arc(m.cx,m.cy,F,oS(m.y01,m.x01),oS(m.y11,m.x11),!y),s.arc(0,0,d,oS(m.cy+m.y11,m.cx+m.x11),oS(x.cy+x.y11,x.cx+x.x11),y),s.arc(x.cx,x.cy,F,oS(x.y11,x.x11),oS(x.y01,x.x01),!y))):s.arc(0,0,d,w,k,y):s.lineTo(O,D)}else s.moveTo(0,0);if(s.closePath(),h)return s=null,h+""||null}return h.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,i=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-oM/2;return[ov(i)*r,oA(i)*r]},h.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:oT(+e),h):t},h.outerRadius=function(t){return arguments.length?(e="function"==typeof t?t:oT(+t),h):e},h.cornerRadius=function(t){return arguments.length?(r="function"==typeof t?t:oT(+t),h):r},h.padRadius=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:oT(+t),h):i},h.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:oT(+t),h):o},h.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:oT(+t),h):a},h.padAngle=function(t){return arguments.length?(n="function"==typeof t?t:oT(+t),h):n},h.context=function(t){return arguments.length?(s=null==t?null:t,h):s},h}function oG(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function oX(t){this._context=t}function oZ(t){return new oX(t)}function oV(t){return t[0]}function oQ(t){return t[1]}function oJ(t,e){var r=oT(!0),i=null,o=oZ,a=null,n=oP(s);function s(s){var l,h,c,d=(s=oG(s)).length,u=!1;for(null==i&&(a=o(c=n())),l=0;l<=d;++l)!(l<d&&r(h=s[l],l,s))===u&&((u=!u)?a.lineStart():a.lineEnd()),u&&a.point(+t(h,l,s),+e(h,l,s));if(c)return a=null,c+""||null}return t="function"==typeof t?t:void 0===t?oV:oT(t),e="function"==typeof e?e:void 0===e?oQ:oT(e),s.x=function(e){return arguments.length?(t="function"==typeof e?e:oT(+e),s):t},s.y=function(t){return arguments.length?(e="function"==typeof t?t:oT(+t),s):e},s.defined=function(t){return arguments.length?(r="function"==typeof t?t:oT(!!t),s):r},s.curve=function(t){return arguments.length?(o=t,null!=i&&(a=o(i)),s):o},s.context=function(t){return arguments.length?(null==t?i=a=null:a=o(i=t),s):i},s}function o0(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function o1(t){return t}function o2(){var t=o1,e=o0,r=null,i=oT(0),o=oT(oE),a=oT(0);function n(n){var s,l,h,c,d,u=(n=oG(n)).length,p=0,g=Array(u),f=Array(u),y=+i.apply(this,arguments),m=Math.min(oE,Math.max(-oE,o.apply(this,arguments)-y)),x=Math.min(Math.abs(m)/u,a.apply(this,arguments)),C=x*(m<0?-1:1);for(s=0;s<u;++s)(d=f[g[s]=s]=+t(n[s],s,n))>0&&(p+=d);for(null!=e?g.sort(function(t,r){return e(f[t],f[r])}):null!=r&&g.sort(function(t,e){return r(n[t],n[e])}),s=0,h=p?(m-u*C)/p:0;s<u;++s,y=c)c=y+((d=f[l=g[s]])>0?d*h:0)+C,f[l]={data:n[l],index:s,value:d,startAngle:y,endAngle:c,padAngle:x};return f}return n.value=function(e){return arguments.length?(t="function"==typeof e?e:oT(+e),n):t},n.sortValues=function(t){return arguments.length?(e=t,r=null,n):e},n.sort=function(t){return arguments.length?(r=t,e=null,n):r},n.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:oT(+t),n):i},n.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:oT(+t),n):o},n.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:oT(+t),n):a},n}function o5(){}function o3(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function o4(t){this._context=t}function o6(t){return new o4(t)}function o8(t){this._context=t}function o7(t){return new o8(t)}function o9(t){this._context=t}function at(t){return new o9(t)}oR.prototype,Array.prototype.slice,oX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},o4.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:o3(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:o3(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},o8.prototype={areaStart:o5,areaEnd:o5,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)}},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:o3(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},o9.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,i):this._context.moveTo(r,i);break;case 3:this._point=4;default:o3(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class ae{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function ar(t){return new ae(t,!0)}function ai(t){return new ae(t,!1)}function ao(t,e){this._basis=new o4(t),this._beta=e}ao.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var i,o=t[0],a=e[0],n=t[r]-o,s=e[r]-a,l=-1;++l<=r;)i=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(o+i*n),this._beta*e[l]+(1-this._beta)*(a+i*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};let aa=function t(e){function r(t){return 1===e?new o4(t):new ao(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function an(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function as(t,e){this._context=t,this._k=(1-e)/6}as.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:an(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:an(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let al=function t(e){function r(t){return new as(t,e)}return r.tension=function(e){return t(+e)},r}(0);function ah(t,e){this._context=t,this._k=(1-e)/6}ah.prototype={areaStart:o5,areaEnd:o5,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)}},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:an(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let ac=function t(e){function r(t){return new ah(t,e)}return r.tension=function(e){return t(+e)},r}(0);function ad(t,e){this._context=t,this._k=(1-e)/6}ad.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,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:an(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let au=function t(e){function r(t){return new ad(t,e)}return r.tension=function(e){return t(+e)},r}(0);function ap(t,e,r){var i=t._x1,o=t._y1,a=t._x2,n=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,o=(o*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>1e-12){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/c,n=(n*h+t._y1*t._l23_2a-r*t._l12_2a)/c}t._context.bezierCurveTo(i,o,a,n,t._x2,t._y2)}function ag(t,e){this._context=t,this._alpha=e}ag.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)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t*=1,e*=1,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:ap(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let af=function t(e){function r(t){return e?new ag(t,e):new as(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function ay(t,e){this._context=t,this._alpha=e}ay.prototype={areaStart:o5,areaEnd:o5,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)}},point:function(t,e){if(t*=1,e*=1,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:ap(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let am=function t(e){function r(t){return e?new ay(t,e):new ah(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function ax(t,e){this._context=t,this._alpha=e}ax.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t*=1,e*=1,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,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:ap(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let aC=function t(e){function r(t){return e?new ax(t,e):new ad(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function ab(t){this._context=t}function ak(t){return new ab(t)}function aw(t,e,r){var i=t._x1-t._x0,o=e-t._x1,a=(t._y1-t._y0)/(i||o<0&&-0),n=(r-t._y1)/(o||i<0&&-0);return((a<0?-1:1)+(n<0?-1:1))*Math.min(Math.abs(a),Math.abs(n),.5*Math.abs((a*o+n*i)/(i+o)))||0}function aT(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function aB(t,e,r){var i=t._x0,o=t._y0,a=t._x1,n=t._y1,s=(a-i)/3;t._context.bezierCurveTo(i+s,o+s*e,a-s,n-s*r,a,n)}function aS(t){this._context=t}function av(t){this._context=new a_(t)}function a_(t){this._context=t}function aF(t){return new aS(t)}function aA(t){return new av(t)}function aL(t){this._context=t}function aM(t){var e,r,i=t.length-1,o=Array(i),a=Array(i),n=Array(i);for(o[0]=0,a[0]=2,n[0]=t[0]+2*t[1],e=1;e<i-1;++e)o[e]=1,a[e]=4,n[e]=4*t[e]+2*t[e+1];for(o[i-1]=2,a[i-1]=7,n[i-1]=8*t[i-1]+t[i],e=1;e<i;++e)r=o[e]/a[e-1],a[e]-=r,n[e]-=r*n[e-1];for(o[i-1]=n[i-1]/a[i-1],e=i-2;e>=0;--e)o[e]=(n[e]-o[e+1])/a[e];for(e=0,a[i-1]=(t[i]+o[i-1])/2;e<i-1;++e)a[e]=2*t[e+1]-o[e+1];return[o,a]}function a$(t){return new aL(t)}function aE(t,e){this._context=t,this._t=e}function aO(t){return new aE(t,.5)}function aD(t){return new aE(t,0)}function aK(t){return new aE(t,1)}function aI(t,e,r){this.k=t,this.x=e,this.y=r}ab.prototype={areaStart:o5,areaEnd:o5,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t*=1,e*=1,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},aS.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:aB(this,this._t0,aT(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e*=1,(t*=1)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,aB(this,aT(this,r=aw(this,t,e)),r);break;default:aB(this,this._t0,r=aw(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(av.prototype=Object.create(aS.prototype)).point=function(t,e){aS.prototype.point.call(this,e,t)},a_.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,i,o,a){this._context.bezierCurveTo(e,t,i,r,a,o)}},aL.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var i=aM(t),o=aM(e),a=0,n=1;n<r;++a,++n)this._context.bezierCurveTo(i[0][a],o[0][a],i[1][a],o[1][a],t[n],e[n]);(this._line||0!==this._line&&1===r)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},aE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},aI.prototype={constructor:aI,scale:function(t){return 1===t?this:new aI(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new aI(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};new aI(1,0,0);aI.prototype},9418(t,e,r){"use strict";let i;function o(t,e){this.v=t,this.k=e}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,i=Array(e);r<e;r++)i[r]=t[r];return i}function n(t){var e,r;function i(e,r){try{var n=t[e](r),s=n.value,l=s instanceof o;Promise.resolve(l?s.v:s).then(function(r){if(l){var o="return"===e&&s.k?e:"next";if(!s.k||r.done)return i(o,r);r=t[o](r).value}a(!!n.done,r)},function(t){i("throw",t)})}catch(t){a(2,t)}}function a(t,o){2===t?e.reject(o):e.resolve({value:o,done:t}),(e=e.next)?i(e.key,e.arg):r=null}this._invoke=function(t,o){return new Promise(function(a,n){var s={key:t,arg:o,resolve:a,reject:n,next:null};r?r=r.next=s:(e=r=s,i(t,o))})},"function"!=typeof t.return&&(this.return=void 0)}r.d(e,{A:()=>tk}),n.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},n.prototype.next=function(t){return this._invoke("next",t)},n.prototype.throw=function(t){return this._invoke("throw",t)},n.prototype.return=function(t){return this._invoke("return",t)};let s=Object.entries,l=Object.setPrototypeOf,h=Object.isFrozen,c=Object.getPrototypeOf,d=Object.getOwnPropertyDescriptor,u=Object.freeze,p=Object.seal,g=Object.create,f="u">typeof Reflect&&Reflect,y=f.apply,m=f.construct;u||(u=function(t){return t}),p||(p=function(t){return t}),y||(y=function(t,e){for(var r=arguments.length,i=Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return t.apply(e,i)}),m||(m=function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];return new t(...r)});let x=q(Array.prototype.forEach);Array.prototype.indexOf;let C=q(Array.prototype.lastIndexOf),b=q(Array.prototype.pop),k=q(Array.prototype.push);Array.prototype.slice;let w=q(Array.prototype.splice),T=Array.isArray,B=q(String.prototype.toLowerCase),S=q(String.prototype.toString),v=q(String.prototype.match),_=q(String.prototype.replace),F=q(String.prototype.indexOf),A=q(String.prototype.trim),L=q(Number.prototype.toString),M=q(Boolean.prototype.toString),$="u"<typeof BigInt?null:q(BigInt.prototype.toString),E="u"<typeof Symbol?null:q(Symbol.prototype.toString),O=q(Object.prototype.hasOwnProperty),D=q(Object.prototype.toString),K=q(RegExp.prototype.test),I=(tb=TypeError,function(){for(var t=arguments.length,e=Array(t),r=0;r<t;r++)e[r]=arguments[r];return m(tb,e)});function q(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var r=arguments.length,i=Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return y(t,e,i)}}function R(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:B;if(l&&l(t,null),!T(e))return t;let i=e.length;for(;i--;){let o=e[i];if("string"==typeof o){let t=r(o);t!==o&&(h(e)||(e[i]=t),o=t)}t[o]=!0}return t}function P(t){let e=g(null);for(let i of s(t)){var r=function(t){if(Array.isArray(t))return t}(i)||function(t){var e=null==t?null:"u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var r,i,o,a,n=[],s=!0,l=!1;try{o=(e=e.call(t)).next,!1;for(;!(s=(r=o.call(e)).done)&&(n.push(r.value),2!==n.length);s=!0);}catch(t){l=!0,i=t}finally{try{if(!s&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(l)throw i}}return n}}(i)||function(t){if(t){if("string"==typeof t)return a(t,2);var e=({}).toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?a(t,2):void 0}}(i)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();let o=r[0],n=r[1];O(t,o)&&(T(n)?e[o]=function(t){for(let e=0;e<t.length;e++)O(t,e)||(t[e]=null);return t}(n):n&&"object"==typeof n&&n.constructor===Object?e[o]=P(n):e[o]=n)}return e}function z(t,e){for(;null!==t;){let r=d(t,e);if(r){if(r.get)return q(r.get);if("function"==typeof r.value)return q(r.value)}t=c(t)}return function(){return null}}let W=u(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),N=u(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),j=u(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),H=u(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),U=u(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Y=u(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),G=u(["#text"]),X=u(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Z=u(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),V=u(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Q=u(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),J=p(/{{[\w\W]*|^[\w\W]*}}/g),tt=p(/<%[\w\W]*|^[\w\W]*%>/g),te=p(/\${[\w\W]*/g),tr=p(/^data-[\-\w.\u00B7-\uFFFF]+$/),ti=p(/^aria-[\-\w]+$/),to=p(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ta=p(/^(?:\w+script|data):/i),tn=p(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ts=p(/^html$/i),tl=p(/^[a-z][.\w]*(-[.\w]+)+$/i),th=p(/<[/\w!]/g),tc=p(/<[/\w]/g),td=p(/<\/no(script|embed|frames)/i),tu=p(/\/>/i),tp=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],tg=u(R({},tp)),tf=(i={},x(tp,t=>{i[t]=p(RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),u(i)),ty=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let r=null,i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(r=e.getAttribute(i));let o="dompurify"+(r?"#"+r:"");try{return t.createPolicy(o,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+o+" could not be created."),null}},tm=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},tx=function(t,e,r,i){return O(t,e)&&T(t[e])?R(i.base?P(i.base):{},t[e],i.transform):r},tC=function(t,e,r){let i=O(t,e)?t[e]:void 0;return i&&"object"==typeof i?P(i):r()};var tb,tk=function t(){let e,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"u"<typeof window?null:window,o=e=>t(e);if(o.version="3.4.16",o.removed=[],!i||!i.document||9!==i.document.nodeType||!i.Element)return o.isSupported=!1,o;let a=i.document,n=a,l=n.currentScript;i.DocumentFragment;let h=i.HTMLTemplateElement,c=i.Node,d=i.Element,f=i.NodeFilter;void 0===i.NamedNodeMap&&(i.NamedNodeMap||i.MozNamedAttrMap),i.HTMLFormElement;let y=i.DOMParser,m=i.trustedTypes,q=d.prototype,tp=z(q,"cloneNode"),tb=z(q,"remove"),tk=z(q,"removeAttributeNode"),tw=z(q,"nextSibling"),tT=z(q,"childNodes"),tB=z(q,"parentNode"),tS=z(q,"shadowRoot"),tv=z(q,"attributes"),t_=c&&c.prototype?z(c.prototype,"nodeType"):null,tF=c&&c.prototype?z(c.prototype,"nodeName"):null,tA=c&&c.prototype?z(c.prototype,"ownerDocument"):null,tL=function(t){return t_?t_(t):t.nodeType},tM=function(t){return tF?tF(t):t.nodeName};if("function"==typeof h){let t=a.createElement("template");t.content&&t.content.ownerDocument&&(a=t.content.ownerDocument)}let t$="",tE=!1,tO=0,tD=function(){if(tO>0)throw I('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},tK=function(t){tD(),tO++;try{return e.createHTML(t)}finally{tO--}},tI=function(t){tD(),tO++;try{return e.createScriptURL(t)}finally{tO--}},tq=a,tR=tq.implementation,tP=tq.createNodeIterator,tz=tq.createDocumentFragment,tW=tq.getElementsByTagName,tN=n.importNode,tj=tm();o.isSupported="function"==typeof s&&"function"==typeof tB&&tR&&void 0!==tR.createHTMLDocument;let tH=to,tU=null,tY=R({},[...W,...N,...j,...U,...G]),tG=null,tX=R({},[...X,...Z,...V,...Q]),tZ=Object.seal(g(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}})),tV=null,tQ=null,tJ=Object.seal(g(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),t0=!0,t1=!0,t2=!1,t5=!0,t3=!1,t4=!0,t6=!1,t8=!1,t7=null,t9=null,et=!1,ee=!1,er=!1,ei=!1,eo=!0,ea=!1,en="user-content-",es=!0,el=!1,eh={},ec=null,ed=R({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),eu=null,ep=R({},["audio","video","img","source","image","track"]),eg=null,ef=R({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ey="http://www.w3.org/1998/Math/MathML",em="http://www.w3.org/2000/svg",ex="http://www.w3.org/1999/xhtml",eC=ex,eb=!1,ek=null,ew=R({},[ey,em,ex],S),eT=u(["mi","mo","mn","ms","mtext"]),eB=R({},eT),eS=u(["annotation-xml"]),ev=R({},eS),e_=R({},["title","style","font","a","script"]),eF=null,eA=["application/xhtml+xml","text/html"],eL=null,eM=null,e$=a.createElement("form"),eE=function(t){return t instanceof RegExp||t instanceof Function},eO=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(eM&&eM===t)return;t&&"object"==typeof t||(t={}),t=P(t),eL="application/xhtml+xml"===(eF=-1===eA.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE)?S:B,tU=tx(t,"ALLOWED_TAGS",tY,{transform:eL}),tG=tx(t,"ALLOWED_ATTR",tX,{transform:eL}),ek=tx(t,"ALLOWED_NAMESPACES",ew,{transform:S}),eg=tx(t,"ADD_URI_SAFE_ATTR",ef,{transform:eL,base:ef}),eu=tx(t,"ADD_DATA_URI_TAGS",ep,{transform:eL,base:ep}),ec=tx(t,"FORBID_CONTENTS",ed,{transform:eL}),tV=tx(t,"FORBID_TAGS",P({}),{transform:eL}),tQ=tx(t,"FORBID_ATTR",P({}),{transform:eL}),eh=!!O(t,"USE_PROFILES")&&(t.USE_PROFILES&&"object"==typeof t.USE_PROFILES?P(t.USE_PROFILES):t.USE_PROFILES),t0=!1!==t.ALLOW_ARIA_ATTR,t1=!1!==t.ALLOW_DATA_ATTR,t2=t.ALLOW_UNKNOWN_PROTOCOLS||!1,t5=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,t3=t.SAFE_FOR_TEMPLATES||!1,t4=!1!==t.SAFE_FOR_XML,t6=t.WHOLE_DOCUMENT||!1,ee=t.RETURN_DOM||!1,er=t.RETURN_DOM_FRAGMENT||!1,ei=t.RETURN_TRUSTED_TYPE||!1,et=t.FORCE_BODY||!1,eo=!1!==t.SANITIZE_DOM,ea=t.SANITIZE_NAMED_PROPS||!1,es=!1!==t.KEEP_CONTENT,el=t.IN_PLACE||!1,tH=!function(t){try{return K(t,""),!0}catch(t){return!1}}(t.ALLOWED_URI_REGEXP)?to:t.ALLOWED_URI_REGEXP,eC="string"==typeof t.NAMESPACE?t.NAMESPACE:ex,eB=tC(t,"MATHML_TEXT_INTEGRATION_POINTS",()=>R({},eT)),ev=tC(t,"HTML_INTEGRATION_POINTS",()=>R({},eS));let i=tC(t,"CUSTOM_ELEMENT_HANDLING",()=>g(null));if(tZ=g(null),O(i,"tagNameCheck")&&eE(i.tagNameCheck)&&(tZ.tagNameCheck=i.tagNameCheck),O(i,"attributeNameCheck")&&eE(i.attributeNameCheck)&&(tZ.attributeNameCheck=i.attributeNameCheck),O(i,"allowCustomizedBuiltInElements")&&"boolean"==typeof i.allowCustomizedBuiltInElements&&(tZ.allowCustomizedBuiltInElements=i.allowCustomizedBuiltInElements),p(tZ),t3&&(t1=!1),er&&(ee=!0),eh&&(tU=R({},G),tG=g(null),!0===eh.html&&(R(tU,W),R(tG,X)),!0===eh.svg&&(R(tU,N),R(tG,Z),R(tG,Q)),!0===eh.svgFilters&&(R(tU,j),R(tG,Z),R(tG,Q)),!0===eh.mathMl&&(R(tU,U),R(tG,V),R(tG,Q))),tJ.tagCheck=null,tJ.attributeCheck=null,O(t,"ADD_TAGS")&&("function"==typeof t.ADD_TAGS?tJ.tagCheck=t.ADD_TAGS:T(t.ADD_TAGS)&&(tU===tY&&(tU=P(tU)),R(tU,t.ADD_TAGS,eL))),O(t,"ADD_ATTR")&&("function"==typeof t.ADD_ATTR?tJ.attributeCheck=t.ADD_ATTR:T(t.ADD_ATTR)&&(tG===tX&&(tG=P(tG)),R(tG,t.ADD_ATTR,eL))),O(t,"ADD_FORBID_CONTENTS")&&T(t.ADD_FORBID_CONTENTS)&&(ec===ed&&(ec=P(ec)),R(ec,t.ADD_FORBID_CONTENTS,eL)),es&&(tU["#text"]=!0),t6&&R(tU,["html","head","body"]),tU.table&&(R(tU,["tbody"]),delete tV.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw I('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw I('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let r=e;e=t.TRUSTED_TYPES_POLICY;try{t$=tK("")}catch(t){throw e=r,t}}else null===t.TRUSTED_TYPES_POLICY?(e=void 0,t$=""):(void 0===e&&(tE||(r=ty(m,l),tE=!0),e=r),e&&"string"==typeof t$&&(t$=tK("")));u&&u(t),eM=t},eD=R({},[...N,...j,...H]),eK=R({},[...U,...Y]),eI=function(t){var e,r,i;let o=tB(t);o&&o.tagName||(o={namespaceURI:eC,tagName:"template"});let a=B(t.tagName),n=B(o.tagName);return!!ek[t.namespaceURI]&&(t.namespaceURI===em?(e=o).namespaceURI===ex?"svg"===a:e.namespaceURI===ey?"svg"===a&&("annotation-xml"===n||eB[n]):!!eD[a]:t.namespaceURI===ey?(r=o).namespaceURI===ex?"math"===a:r.namespaceURI===em?"math"===a&&ev[n]:!!eK[a]:t.namespaceURI===ex?((i=o).namespaceURI!==em||!!ev[n])&&(i.namespaceURI!==ey||!!eB[n])&&!eK[a]&&(e_[a]||!eD[a]):"application/xhtml+xml"===eF&&!!ek[t.namespaceURI])},eq=function(t){k(o.removed,{element:t});try{tB(t).removeChild(t)}catch(e){if(tb(t),!tB(t))throw I("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},eR=function(t,e,r){try{tk(t,e)}catch(e){try{t.removeAttribute(r)}catch(t){}}},eP=function(t){eN(t);let e=tT(t);if(e){let t=[];x(e,e=>{k(t,e)}),x(t,t=>{try{tb(t)}catch(t){}})}let r=tv(t);if(r)for(let e=r.length-1;e>=0;--e){let i=r[e],o=i&&i.name;"string"==typeof o&&eR(t,i,o)}},ez=function(t,e,r){if(!r)try{r=e.getAttributeNode(t)}catch(t){r=null}k(o.removed,{attribute:r||null,from:e});try{r?tk(e,r):e.removeAttribute(t)}catch(r){try{e.removeAttribute(t)}catch(t){}}if("is"===t)if(ee||er)try{eq(e)}catch(t){}else try{e.setAttribute(t,"")}catch(t){}},eW=function(t){let e=tv(t);if(e)for(let r=e.length-1;r>=0;--r){let i=e[r],o=i&&i.name;"string"!=typeof o||tG[eL(o)]||eR(t,i,o)}},eN=function(t){let e=[t];for(;e.length>0;){let t=e.pop();1===tL(t)&&eW(t);let r=tT(t);if(r)for(let t=r.length-1;t>=0;--t)e.push(r[t])}},ej=function(t,e){return!!t4&&("patchsrc"===t||"for"===t&&"label"!==e&&"output"!==e)},eH=function(t){if(!t4)return;let e=[t];for(;e.length>0;){let t=e.pop(),r=tL(t);if(7===r||8===r&&K(tc,t.data)){try{tb(t)}catch(t){}continue}if(1===r){let e=eL(tM(t));try{t.hasAttribute&&t.hasAttribute("patchsrc")&&t.removeAttribute("patchsrc"),t.hasAttribute&&t.hasAttribute("for")&&ej("for",e)&&t.removeAttribute("for")}catch(t){}}let i=tT(t);if(i)for(let t=i.length-1;t>=0;--t)e.push(i[t])}},eU=function(t){let r=null,i=null;if(et)t="<remove></remove>"+t;else{let e=v(t,/^[\r\n\t ]+/);i=e&&e[0]}"application/xhtml+xml"===eF&&eC===ex&&(t='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+t+"</body></html>");let o=e?tK(t):t;if(eC===ex)try{r=new y().parseFromString(o,eF)}catch(t){}if(!r||!r.documentElement){r=tR.createDocument(eC,"template",null);try{r.documentElement.innerHTML=eb?t$:o}catch(t){}}let n=r.body||r.documentElement;return(t&&i&&n.insertBefore(a.createTextNode(i),n.childNodes[0]||null),eC===ex)?tW.call(r,t6?"html":"body")[0]:t6?r.documentElement:n},eY=function(t){let e=tA?tA(t):t.ownerDocument;return tP.call(e||t,t,f.SHOW_ELEMENT|f.SHOW_COMMENT|f.SHOW_TEXT|f.SHOW_PROCESSING_INSTRUCTION|f.SHOW_CDATA_SECTION,null)},eG=function(t){return t=_(t,J," "),t=_(t,tt," "),t=_(t,te," ")},eX=function(t){var e;t.normalize();let r=tA?tA(t):t.ownerDocument,i=tP.call(r||t,t,f.SHOW_TEXT|f.SHOW_COMMENT|f.SHOW_CDATA_SECTION|f.SHOW_PROCESSING_INSTRUCTION,null),o=i.nextNode();for(;o;)o.data=eG(o.data),o=i.nextNode();let a=null==(e=t.querySelectorAll)?void 0:e.call(t,"template");a&&x(a,t=>{eV(t.content)&&eX(t.content)})},eZ=function(t){let e=tF?tF(t):null;return"string"==typeof e&&"form"===eL(e)&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||t.attributes!==tv(t)||"function"!=typeof t.removeAttribute||"function"!=typeof t.removeAttributeNode||"function"!=typeof t.getAttributeNode||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes||t.nodeType!==t_(t)||t.childNodes!==tT(t))},eV=function(t){if(!t_||"object"!=typeof t||null===t)return!1;try{return 11===t_(t)}catch(t){return!1}},eQ=function(t){if(!t_||"object"!=typeof t||null===t)return!1;try{return"number"==typeof t_(t)}catch(t){return!1}};function eJ(t,e,r){0!==t.length&&x(t,t=>{t.call(o,e,r,eM)})}let e0=function(t,e){if(t instanceof RegExp)return K(t,e);if(t instanceof Function){for(var r=arguments.length,i=Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return!!t(e,...i)}return!1},e1=function(t,e,r){if(!tV[e]&&e8(e)&&e0(tZ.tagNameCheck,e))return!1;if(es&&!ec[e]){let e=tB(t),i=tT(t);if(i&&e){let o=i.length;for(let a=o-1;a>=0;--a){let o=t===r?tp(i[a],!0):i[a];e.insertBefore(o,tw(t))}}}return eq(t),!0},e2=function(t,e,r,i){return 0===t.length?e:e===r||e===i?P(e):e},e5=function(t,e){return t!==e&&null===tB(t)&&(el&&eN(t),!0)},e3=function(t,e){if(eJ(tj.beforeSanitizeElements,t,null),e5(t,e))return!0;if(eZ(t))return eq(t),!0;let r=eL(tM(t));if(tU=e2(tj.uponSanitizeElement,tU,tY,t7),eJ(tj.uponSanitizeElement,t,{tagName:r,allowedTags:tU}),e5(t,e))return!0;if(t4&&t.hasChildNodes()&&!eQ(t.firstElementChild)&&K(th,t.textContent)&&K(th,t.innerHTML)||t4&&t.namespaceURI===ex&&tg[r]&&(eQ(t.firstElementChild)||"string"==typeof t.textContent&&K(tf[r],t.textContent))||7===t.nodeType||t4&&8===t.nodeType&&K(tc,t.data))return eq(t),!0;if(tV[r]||!(tJ.tagCheck instanceof Function&&tJ.tagCheck(r))&&!tU[r]){let i=e1(t,r,e);return!!(!1===i&&(eJ(tj.afterSanitizeElements,t,null),e5(t,e)))||i}if(1===tL(t)&&!eI(t)||("noscript"===r||"noembed"===r||"noframes"===r)&&K(td,t.innerHTML))return eq(t),!0;if(t3&&3===t.nodeType){let e=eG(t.textContent);t.textContent!==e&&(k(o.removed,{element:t.cloneNode()}),t.textContent=e)}return eJ(tj.afterSanitizeElements,t,null),e5(t,e)},e4=function(t,e,r){if(tQ[e]||ej(e,t)||eo&&("id"===e||"name"===e)&&(r in a||r in e$))return!1;let i=tG[e]||tJ.attributeCheck instanceof Function&&tJ.attributeCheck(e,t);return!!(t1&&K(tr,e)||t0&&K(ti,e))||(i?!(!(eg[e]||K(tH,_(r,tn,"")))&&("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==F(r,"data:")||!eu[t])&&(!t2||K(ta,_(r,tn,""))))||!r:e8(t)&&e0(tZ.tagNameCheck,t)&&e0(tZ.attributeNameCheck,e,t)||"is"===e&&tZ.allowCustomizedBuiltInElements&&e0(tZ.tagNameCheck,r))},e6=R({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),e8=function(t){return!e6[B(t)]&&K(tl,t)},e7=function(t,r,i,o){if(e&&"object"==typeof m&&"function"==typeof m.getAttributeType&&!i)switch(m.getAttributeType(t,r)){case"TrustedHTML":return tK(o);case"TrustedScriptURL":return tI(o)}return o},e9=function(t,e,r,i){try{if(r?t.setAttributeNS(r,e,i):t.setAttribute(e,i),eZ(t))return eq(t),!1;return!0}catch(r){return ez(e,t),!1}},rt=function(t,e){if(eJ(tj.beforeSanitizeAttributes,t,null),e5(t,e))return;let r=t.attributes;if(!r||eZ(t))return;let i={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:tG=e2(tj.uponSanitizeAttribute,tG,tX,t9),forceKeepAttr:void 0},a=r.length,n=eL(t.nodeName);for(;a--;){let e=r[a],s=e.name,l=e.namespaceURI,h=e.value,c=eL(s),d="value"===s?h:A(h),u=!1;if(i.attrName=c,i.attrValue=d,i.keepAttr=!0,i.forceKeepAttr=void 0,eJ(tj.uponSanitizeAttribute,t,i),d=i.attrValue,ea&&("id"===c||"name"===c)&&0!==F(d,en)&&(ez(s,t,e),d=en+d,u=!0),t4&&K(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)||"attributename"===c&&v(d,"href")){ez(s,t,e);continue}if(!i.forceKeepAttr){if(!i.keepAttr||!t5&&K(tu,d)||(t3&&(d=eG(d)),!e4(n,c,d))){ez(s,t,e);continue}(d=e7(n,c,l,d))!==h&&e9(t,s,l,d)&&u&&b(o.removed)}}eJ(tj.afterSanitizeAttributes,t,null),e5(t,e)},re=function(t){let e=null,r=eY(t);for(eJ(tj.beforeSanitizeShadowDOM,t,null);e=r.nextNode();)if(eJ(tj.uponSanitizeShadowNode,e,null),e3(e,t),rt(e,t),eV(e.content)&&re(e.content),1===tL(e)){let t=tS(e);eV(t)&&(rr(t),re(t))}eJ(tj.afterSanitizeShadowDOM,t,null)},rr=function(t){let e=[{node:t,shadow:null}];for(;e.length>0;){let t=e.pop();if(t.shadow){re(t.shadow);continue}let r=t.node,i=1===tL(r),o=tT(r);if(o)for(let t=o.length-1;t>=0;--t)e.push({node:o[t],shadow:null});if(i){let t=tF?tF(r):null;if("string"==typeof t&&"template"===eL(t)){let t=r.content;eV(t)&&e.push({node:t,shadow:null})}}if(i){let t=tS(r);eV(t)&&e.push({node:null,shadow:t},{node:t,shadow:null})}}};return o.sanitize=function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null,a=null,s=null,l=null;if((eb=!t)&&(t="\x3c!--\x3e"),"string"!=typeof t&&!eQ(t)&&"string"!=typeof(t=function(t){switch(typeof t){case"string":return t;case"number":return L(t);case"boolean":return M(t);case"bigint":return $?$(t):"0";case"symbol":return E?E(t):"Symbol()";case"undefined":default:return D(t);case"function":case"object":{if(null===t)return D(t);let e=z(t,"toString");if("function"==typeof e){let r=e(t);return"string"==typeof r?r:D(r)}return D(t)}}}(t)))throw I("dirty is not a string, aborting");if(!o.isSupported)return t;t8?(tU=t7,tG=t9):eO(r),(tj.uponSanitizeElement.length>0||tj.uponSanitizeAttribute.length>0)&&(tU=P(tU)),tj.uponSanitizeAttribute.length>0&&(tG=P(tG)),o.removed=[];let h=el&&"string"!=typeof t&&eQ(t);if(h){eH(t);let e=tM(t);if("string"==typeof e){let r=eL(e);if(!tU[r]||tV[r])throw eP(t),I("root node is forbidden and cannot be sanitized in-place")}if(eZ(t))throw eP(t),I("root node is clobbered and cannot be sanitized in-place");try{rr(t)}catch(e){throw eP(t),e}}else if(eQ(t))1===(a=(i=eU("\x3c!----\x3e")).ownerDocument.importNode(t,!0)).nodeType&&"BODY"===a.nodeName||"HTML"===a.nodeName?i=a:i.appendChild(a),rr(i);else{if(!ee&&!t3&&!t6&&-1===t.indexOf("<"))return e&&ei?tK(t):t;if(!(i=eU(t)))return ee?null:ei?t$:""}i&&et&&eq(i.firstChild);let c=h?t:i;try{let t=eY(c);for(;s=t.nextNode();)e3(s,c),rt(s,c),eV(s.content)&&re(s.content)}catch(e){throw h&&(eP(t),x(o.removed,t=>{t.element&&eN(t.element)})),e}if(h){let e=!1;if(x(o.removed,r=>{r.element&&(r.element===t&&(e=!0),eN(r.element))}),e)throw I("a node selected for removal could not be safely returned; refusing to sanitize in place");return t3&&eX(t),t}if(ee){if(t3&&eX(i),er)for(l=tz.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(tG.shadowroot||tG.shadowrootmode)&&(l=tN.call(n,l,!0)),l}let d=t6?i.outerHTML:i.innerHTML;return t6&&tU["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&K(ts,i.ownerDocument.doctype.name)&&(d="<!DOCTYPE "+i.ownerDocument.doctype.name+">\n"+d),t3&&(d=eG(d)),e&&ei?tK(d):d},o.setConfig=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};eO(t),t8=!0,t7=tU,t9=tG},o.clearConfig=function(){eM=null,t8=!1,t7=null,t9=null,e=r,t$=""},o.isValidAttribute=function(t,e,r){return eM||eO({}),e4(eL(t),eL(e),r)},o.addHook=function(t,e){"function"!=typeof e||O(tj,t)&&k(tj[t],e)},o.removeHook=function(t,e){if(O(tj,t)){if(void 0!==e){let r=C(tj[t],e);return -1===r?void 0:w(tj[t],r,1)[0]}return b(tj[t])}},o.removeHooks=function(t){O(tj,t)&&(tj[t]=[])},o.removeAllHooks=function(){tj=tm()},o}()},9125(t,e,r){"use strict";function i(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}r.d(e,{b:()=>i})},9826(t,e,r){"use strict";r.d(e,{$V:()=>n,Av:()=>i,GX:()=>g,ML:()=>B,NA:()=>d,OG:()=>o,Qb:()=>y,R_:()=>s,Uw:()=>u,VP:()=>l,XZ:()=>b,ZR:()=>C,_u:()=>w,cT:()=>p,i1:()=>k,iq:()=>f,kj:()=>a,pj:()=>c,q:()=>m,ri:()=>T,vC:()=>h,x6:()=>x});let i="[object RegExp]",o="[object String]",a="[object Number]",n="[object Boolean]",s="[object Arguments]",l="[object Symbol]",h="[object Date]",c="[object Map]",d="[object Set]",u="[object Array]",p="[object ArrayBuffer]",g="[object Object]",f="[object DataView]",y="[object Uint8Array]",m="[object Uint8ClampedArray]",x="[object Uint16Array]",C="[object Uint32Array]",b="[object Int8Array]",k="[object Int16Array]",w="[object Int32Array]",T="[object Float32Array]",B="[object Float64Array]"},4608(t,e,r){"use strict";r.d(e,{N:()=>o});var i=r(9125);function o(t){return null!==t&&"object"==typeof t&&"[object Arguments]"===(0,i.b)(t)}},9480(t,e,r){"use strict";function i(t){var e;return null!=t&&"function"!=typeof t&&Number.isSafeInteger(e=t.length)&&e>=0}r.d(e,{X:()=>i})},9663(t,e,r){"use strict";r.d(e,{i:()=>o});var i=r(2796);function o(t){return(0,i.i)(t)}},1069(t,e,r){"use strict";r.d(e,{P:()=>o});let i="object"==typeof globalThis&&globalThis||"object"==typeof window&&window||"object"==typeof self&&self||"object"==typeof global&&global||function(){return this}();function o(t){return void 0!==i.Buffer&&i.Buffer.isBuffer(t)}},7110(t,e,r){"use strict";function i(t){return null==t||"object"!=typeof t&&"function"!=typeof t}r.d(e,{s:()=>i})},2796(t,e,r){"use strict";function i(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}r.d(e,{i:()=>i})},1665(t,e,r){"use strict";r.d(e,{A:()=>n});var i=r(1553),o=r(3122);let a=class{constructor(){this.type=o.Z.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=o.Z.ALL}is(t){return this.type===t}},n=new class{constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new a}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=o.Z.ALL,this}_ensureHSL(){let t=this.data,{h:e,s:r,l:o}=t;void 0===e&&(t.h=i.A.channel.rgb2hsl(t,"h")),void 0===r&&(t.s=i.A.channel.rgb2hsl(t,"s")),void 0===o&&(t.l=i.A.channel.rgb2hsl(t,"l"))}_ensureRGB(){let t=this.data,{r:e,g:r,b:o}=t;void 0===e&&(t.r=i.A.channel.hsl2rgb(t,"r")),void 0===r&&(t.g=i.A.channel.hsl2rgb(t,"g")),void 0===o&&(t.b=i.A.channel.hsl2rgb(t,"b"))}get r(){let t=this.data,e=t.r;return this.type.is(o.Z.HSL)||void 0===e?(this._ensureHSL(),i.A.channel.hsl2rgb(t,"r")):e}get g(){let t=this.data,e=t.g;return this.type.is(o.Z.HSL)||void 0===e?(this._ensureHSL(),i.A.channel.hsl2rgb(t,"g")):e}get b(){let t=this.data,e=t.b;return this.type.is(o.Z.HSL)||void 0===e?(this._ensureHSL(),i.A.channel.hsl2rgb(t,"b")):e}get h(){let t=this.data,e=t.h;return this.type.is(o.Z.RGB)||void 0===e?(this._ensureRGB(),i.A.channel.rgb2hsl(t,"h")):e}get s(){let t=this.data,e=t.s;return this.type.is(o.Z.RGB)||void 0===e?(this._ensureRGB(),i.A.channel.rgb2hsl(t,"s")):e}get l(){let t=this.data,e=t.l;return this.type.is(o.Z.RGB)||void 0===e?(this._ensureRGB(),i.A.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set(o.Z.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(o.Z.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(o.Z.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(o.Z.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(o.Z.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(o.Z.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}({r:0,g:0,b:0,a:0},"transparent")},6408(t,e,r){"use strict";r.d(e,{A:()=>c});var i=r(1665),o=r(3122);let a={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(35!==t.charCodeAt(0))return;let e=t.match(a.re);if(!e)return;let r=e[1],o=parseInt(r,16),n=r.length,s=n%4==0,l=n>4,h=l?1:17,c=l?8:4,d=s?0:-1,u=l?255:15;return i.A.set({r:(o>>c*(d+3)&u)*h,g:(o>>c*(d+2)&u)*h,b:(o>>c*(d+1)&u)*h,a:s?(o&u)*h/255:1},t)},stringify:t=>{let{r:e,g:r,b:i,a}=t;return a<1?`#${o.Y[Math.round(e)]}${o.Y[Math.round(r)]}${o.Y[Math.round(i)]}${o.Y[Math.round(255*a)]}`:`#${o.Y[Math.round(e)]}${o.Y[Math.round(r)]}${o.Y[Math.round(i)]}`}};var n=r(1553);let s={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{let e=t.match(s.hueRe);if(e){let[,t,r]=e;switch(r){case"grad":return n.A.channel.clamp.h(.9*parseFloat(t));case"rad":return n.A.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return n.A.channel.clamp.h(360*parseFloat(t))}}return n.A.channel.clamp.h(parseFloat(t))},parse:t=>{let e=t.charCodeAt(0);if(104!==e&&72!==e)return;let r=t.match(s.re);if(!r)return;let[,o,a,l,h,c]=r;return i.A.set({h:s._hue2deg(o),s:n.A.channel.clamp.s(parseFloat(a)),l:n.A.channel.clamp.l(parseFloat(l)),a:h?n.A.channel.clamp.a(c?parseFloat(h)/100:parseFloat(h)):1},t)},stringify:t=>{let{h:e,s:r,l:i,a:o}=t;return o<1?`hsla(${n.A.lang.round(e)}, ${n.A.lang.round(r)}%, ${n.A.lang.round(i)}%, ${o})`:`hsl(${n.A.lang.round(e)}, ${n.A.lang.round(r)}%, ${n.A.lang.round(i)}%)`}},l={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();let e=l.colors[t];if(e)return a.parse(e)},stringify:t=>{let e=a.stringify(t);for(let t in l.colors)if(l.colors[t]===e)return t}},h={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{let e=t.charCodeAt(0);if(114!==e&&82!==e)return;let r=t.match(h.re);if(!r)return;let[,o,a,s,l,c,d,u,p]=r;return i.A.set({r:n.A.channel.clamp.r(a?2.55*parseFloat(o):parseFloat(o)),g:n.A.channel.clamp.g(l?2.55*parseFloat(s):parseFloat(s)),b:n.A.channel.clamp.b(d?2.55*parseFloat(c):parseFloat(c)),a:u?n.A.channel.clamp.a(p?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{let{r:e,g:r,b:i,a:o}=t;return o<1?`rgba(${n.A.lang.round(e)}, ${n.A.lang.round(r)}, ${n.A.lang.round(i)}, ${n.A.lang.round(o)})`:`rgb(${n.A.lang.round(e)}, ${n.A.lang.round(r)}, ${n.A.lang.round(i)})`}},c={format:{keyword:l,hex:a,rgb:h,rgba:h,hsl:s,hsla:s},parse:t=>{if("string"!=typeof t)return t;let e=a.parse(t)||h.parse(t)||s.parse(t)||l.parse(t);if(e)return e;throw Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(o.Z.HSL)||void 0===t.data.r?s.stringify(t):!(t.a<1)&&Number.isInteger(t.r)&&Number.isInteger(t.g)&&Number.isInteger(t.b)?a.stringify(t):h.stringify(t)}},3122(t,e,r){"use strict";r.d(e,{Y:()=>o,Z:()=>a});var i=r(1553);let o={};for(let t=0;t<=255;t++)o[t]=i.A.unit.dec2hex(t);let a={ALL:0,RGB:1,HSL:2}},5635(t,e,r){"use strict";r.d(e,{A:()=>a});var i=r(1553),o=r(6408);let a=(t,e,r)=>{let a=o.A.parse(t),n=a[e],s=i.A.channel.clamp[e](n+r);return n!==s&&(a[e]=s),o.A.stringify(a)}},8232(t,e,r){"use strict";r.d(e,{A:()=>a});var i=r(1553),o=r(6408);let a=(t,e)=>{let r=o.A.parse(t);for(let t in e)r[t]=i.A.channel.clamp[t](e[t]);return o.A.stringify(r)}},5263(t,e,r){"use strict";r.d(e,{A:()=>o});var i=r(5635);let o=(t,e)=>(0,i.A)(t,"l",-e)},4682(t,e,r){"use strict";r.d(e,{A:()=>a});var i=r(1553),o=r(6408);let a=t=>!((t=>{let{r:e,g:r,b:a}=o.A.parse(t),n=.2126*i.A.channel.toLinear(e)+.7152*i.A.channel.toLinear(r)+.0722*i.A.channel.toLinear(a);return i.A.lang.round(n)})(t)>=.5)},8041(t,e,r){"use strict";r.d(e,{A:()=>o});var i=r(5635);let o=(t,e)=>(0,i.A)(t,"l",e)},5582(t,e,r){"use strict";r.d(e,{A:()=>s});var i=r(1553),o=r(1665),a=r(6408),n=r(8232);let s=(t,e,r=0,s=1)=>{if("number"!=typeof t)return(0,n.A)(t,{a:e});let l=o.A.set({r:i.A.channel.clamp.r(t),g:i.A.channel.clamp.g(e),b:i.A.channel.clamp.b(r),a:i.A.channel.clamp.a(s)});return a.A.stringify(l)}},1553(t,e,r){"use strict";r.d(e,{A:()=>o});let i={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6)?t+(e-t)*6*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t,hsl2rgb:({h:t,s:e,l:r},o)=>{if(!e)return 2.55*r;t/=360,e/=100;let a=(r/=100)<.5?r*(1+e):r+e-r*e,n=2*r-a;switch(o){case"r":return 255*i.hue2rgb(n,a,t+1/3);case"g":return 255*i.hue2rgb(n,a,t);case"b":return 255*i.hue2rgb(n,a,t-1/3)}},rgb2hsl:({r:t,g:e,b:r},i)=>{let o=Math.max(t/=255,e/=255,r/=255),a=Math.min(t,e,r),n=(o+a)/2;if("l"===i)return 100*n;if(o===a)return 0;let s=o-a;if("s"===i)return 100*(n>.5?s/(2-o-a):s/(o+a));switch(o){case t:return((e-r)/s+6*(e<r))*60;case e:return((r-t)/s+2)*60;case r:return((t-e)/s+4)*60;default:return -1}}},o={channel:i,lang:{clamp:(t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(1e10*t)/1e10},unit:{dec2hex:t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}}},7827(t,e,r){"use strict";r.d(e,{IU:()=>d,Oi:()=>s,U7:()=>c,U_:()=>u,on:()=>h});var i=r(3002),o=r(6348),a=r(1293),n=r(6827),s=(0,n.K)(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:e+r}},"getSubGraphTitleMargins"),l=new Map;async function h(t,e,r){let a,n;"rect"===e.shape&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let s=e.shape?i.nq[e.shape]:void 0;if(!s)throw Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let i;"sandbox"===r.config.securityLevel?i="_top":e.linkTarget&&(i=e.linkTarget||"_blank"),a=t.insert("svg:a").attr("xlink:href",e.link).attr("target",i??null),n=await s(a,e,r)}else a=n=await s(t,e,r);return a.attr("data-look",(0,o.KL)(e.look)),e.tooltip&&n.attr("title",e.tooltip),l.set(e.id,a),e.haveCallback&&a.attr("class",a.attr("class")+" clickable"),a}(0,n.K)(h,"insertNode");var c=(0,n.K)((t,e)=>{l.set(e.id,t)},"setNodeElem"),d=(0,n.K)(()=>{l.clear()},"clear"),u=(0,n.K)(t=>{let e=l.get(t.id);a.R.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r},"positionNode")},4924(t,e,r){"use strict";r.d(e,{D:()=>n});var i=r(1177),o=r(6827),a=r(7829),n=(0,o.K)(t=>{let{securityLevel:e}=(0,i.D7)(),r=(0,a.Ltv)("body");if("sandbox"===e){let e=(0,a.Ltv)(`#i${t}`),i=e.node()?.contentDocument??document;r=(0,a.Ltv)(i.body)}return r.select(`#${t}`)},"selectSvgElement")},2217(t,e,r){"use strict";r.d(e,{WY:()=>S,dn:()=>B,pC:()=>w,Gc:()=>C});var i=r(1177),o=r(1293),a=r(6827);let n=(t,e)=>!!t&&!!((e&&""===t.prefix||t.prefix)&&t.name),s=Object.freeze({left:0,top:0,width:16,height:16}),l=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),h=Object.freeze({...s,...l}),c=Object.freeze({...h,body:"",hidden:!1});function d(t,e){let r,i,o=(r={},!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0),(i=((t.rotate||0)+(e.rotate||0))%4)&&(r.rotate=i),r);for(let r in c)r in l?r in t&&!(r in o)&&(o[r]=l[r]):r in e?o[r]=e[r]:r in t&&(o[r]=t[r]);return o}function u(t,e,r){let i=t.icons,o=t.aliases||Object.create(null),a={};function n(t){a=d(i[t]||o[t],a)}return n(e),r.forEach(n),d(t,a)}let p=Object.freeze({...Object.freeze({width:null,height:null}),...l}),g=/(-?[0-9.]*[0-9]+[0-9.]*)/g,f=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function y(t,e,r){if(1===e)return t;if(r=r||100,"number"==typeof t)return Math.ceil(t*e*r)/r;if("string"!=typeof t)return t;let i=t.split(g);if(null===i||!i.length)return t;let o=[],a=i.shift(),n=f.test(a);for(;;){if(n){let t=parseFloat(a);isNaN(t)?o.push(a):o.push(Math.ceil(t*e*r)/r)}else o.push(a);if(void 0===(a=i.shift()))return o.join("");n=!n}}let m=/\sid="(\S+)"/g,x=new Map;var C={body:'<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/><text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text></g>',height:80,width:80},b=new Map,k=new Map,w=(0,a.K)(t=>{for(let e of t){if(!e.name)throw Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(o.R.debug("Registering icon pack:",e.name),"loader"in e)k.set(e.name,e.loader);else if("icons"in e)b.set(e.name,e.icons);else throw o.R.error("Invalid icon loader:",e),Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),T=(0,a.K)(async(t,e)=>{let r=((t,e,r,i="")=>{let o=t.split(":");if("@"===t.slice(0,1)){if(o.length<2||o.length>3)return null;i=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){let t=o.pop(),r=o.pop(),a={provider:o.length>0?o[0]:i,prefix:r,name:t};return e&&!n(a)?null:a}let a=o[0],s=a.split("-");if(s.length>1){let t={provider:i,prefix:s.shift(),name:s.join("-")};return e&&!n(t)?null:t}if(r&&""===i){let t={provider:i,prefix:"",name:a};return e&&!n(t,r)?null:t}return null})(t,!0,void 0!==e);if(!r)throw Error(`Invalid icon name: ${t}`);let i=r.prefix||e;if(!i)throw Error(`Icon name must contain a prefix: ${t}`);let a=b.get(i);if(!a){let t=k.get(i);if(!t)throw Error(`Icon set not found: ${r.prefix}`);try{a={...await t(),prefix:i},b.set(i,a)}catch(t){throw o.R.error(t),Error(`Failed to load icon set: ${r.prefix}`)}}let s=function(t,e){var r;let i,o,a;if(t.icons[e])return u(t,e,[]);let n=(r=[e],i=t.icons,o=t.aliases||Object.create(null),a=Object.create(null),(r||Object.keys(i).concat(Object.keys(o))).forEach(function t(e){if(i[e])return a[e]=[];if(!(e in a)){a[e]=null;let r=o[e]&&o[e].parent,i=r&&t(r);i&&(a[e]=[r].concat(i))}return a[e]}),a)[e];return n?u(t,e,n):null}(a,r.name);if(!s)throw Error(`Icon not found: ${t}`);return s},"getRegisteredIconData"),B=(0,a.K)(async t=>{try{return await T(t),!0}catch{return!1}},"isIconAvailable"),S=(0,a.K)(async(t,e,r)=>{var a;let n,s,l,c,d,u,g,f,b,k,w,B,S,v;try{n=await T(t,e?.fallbackPrefix)}catch(t){o.R.error(t),n=C}let _=(a=n,c={...h,...a},d={...p,...e},u={left:c.left,top:c.top,width:c.width,height:c.height},g=c.body,[c,d].forEach(t=>{var e,r,i,o;let a,n,s=[],l=t.hFlip,h=t.vFlip,c=t.rotate;switch(l?h?c+=2:(s.push("translate("+(u.width+u.left).toString()+" "+(0-u.top).toString()+")"),s.push("scale(-1 1)"),u.top=u.left=0):h&&(s.push("translate("+(0-u.left).toString()+" "+(u.height+u.top).toString()+")"),s.push("scale(1 -1)"),u.top=u.left=0),c<0&&(c-=4*Math.floor(c/4)),c%=4){case 1:s.unshift("rotate(90 "+(a=u.height/2+u.top).toString()+" "+a.toString()+")");break;case 2:s.unshift("rotate(180 "+(u.width/2+u.left).toString()+" "+(u.height/2+u.top).toString()+")");break;case 3:s.unshift("rotate(-90 "+(a=u.width/2+u.left).toString()+" "+a.toString()+")")}c%2==1&&(u.left!==u.top&&(a=u.left,u.left=u.top,u.top=a),u.width!==u.height&&(a=u.width,u.width=u.height,u.height=a)),s.length&&(e=g,r='<g transform="'+s.join(" ")+'">',i=(n=function(t,e="defs"){let r="",i=t.indexOf("<"+e);for(;i>=0;){let o=t.indexOf(">",i),a=t.indexOf("</"+e);if(-1===o||-1===a)break;let n=t.indexOf(">",a);if(-1===n)break;r+=t.slice(o+1,a).trim(),t=t.slice(0,i).trim()+t.slice(n+1)}return{defs:r,content:t}}(e)).defs,o=r+n.content+"</g>",g=i?"<defs>"+i+"</defs>"+o:o)}),f=d.width,b=d.height,k=u.width,w=u.height,null===f?s=y(l=null===b?"1em":"auto"===b?w:b,k/w):(s="auto"===f?k:f,l=null===b?y(s,w/k):"auto"===b?w:b),B={},(S=(t,e)=>{"unset"!==e&&"undefined"!==e&&"none"!==e&&(B[t]=e.toString())})("width",s),S("height",l),B.viewBox=(v=[u.left,u.top,k,w]).join(" "),{attributes:B,viewBox:v,body:g}),F=function(t,e){let r=-1===t.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let t in e)r+=" "+t+'="'+e[t]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+r+">"+t+"</svg>"}(function(t){let e,r=[];for(;e=m.exec(t);)r.push(e[1]);if(!r.length)return t;let i="suffix"+(0x1000000*Math.random()|Date.now()).toString(16);return r.forEach(e=>{var r;let o,a=(r=(r=e).replace(/[0-9]+$/,"")||"a",o=x.get(r)||0,x.set(r,o+1),o?`${r}${o}`:r),n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(RegExp('([#;"])('+n+')([")]|\\.[a-z])',"g"),"$1"+a+i+"$3")}),t=t.replace(RegExp(i,"g"),"")}(_.body),{..._.attributes,...r});return(0,i.jZ)(F,(0,i.zj)())},"getIconSVG")},3002(t,e,r){"use strict";r.d(e,{DA:()=>O,FA:()=>E,I7:()=>$,Zk:()=>m,aP:()=>eY,lC:()=>C,nM:()=>S,nq:()=>eU});var i=r(739),o=r(6320),a=r(2217),n=r(2941),s=r(6348),l=r(1177),h=r(1293),c=r(6827),d=r(7829),u=r(2274);async function p(t){let e=t.getElementsByTagName("img");if(!e||0===e.length)return;let r=!g(t);await Promise.all([...e].map(t=>new Promise(e=>{function i(){if(t.style.display="flex",t.style.flexDirection="column",r){let e=(0,l.D7)().fontSize?(0,l.D7)().fontSize:window.getComputedStyle(document.body).fontSize,[r=l.UI.fontSize]=(0,s.I5)(e),i=5*r+"px";t.style.minWidth=i,t.style.maxWidth=i}else t.style.width="100%";e(t)}(0,c.K)(i,"setupImage"),setTimeout(()=>{t.complete&&i()}),t.addEventListener("error",i),t.addEventListener("load",i)})))}function g(t){return 3===t.nodeType?t.textContent?.trim()!=="":1===t.nodeType&&"img"!==t.tagName.toLowerCase()&&[...t.childNodes].some(g)}(0,c.K)(p,"configureLabelImages"),(0,c.K)(g,"hasTextBesidesImages");var f=(0,c.K)(async(t,e,r)=>{let i=(0,l.D7)(),a=t.insert("g").attr("class",r??"node default").attr("id",e.domId||e.id),n=a.insert("g").attr("class","label").attr("style",(0,s.KL)(e.labelStyle)),h=[{text:"string"==typeof e.label?e.label:e.label?.[0]??"",cssClass:"c4-name"},{text:e.stereotype,cssClass:"c4-type"},...(e.description??[]).map(t=>({text:t,cssClass:"c4-descr"}))].filter(t=>t.text),c=e.width?Math.max(e.width-2*(e.padding??0),32):(0,l.D7)().flowchart?.wrappingWidth??200,u=i.c4?.wrap??!0?c:1/0,p=await Promise.all(h.map(async t=>{let r=n.append("g").attr("class",t.cssClass),a=await (0,o.GZ)(r,(0,l.jZ)((0,s.Sm)(t.text??""),i),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:u,style:e.labelStyle},i);return(0,d.Ltv)(a).selectAll("tspan.text-outer-tspan").attr("text-anchor","middle"),(0,d.Ltv)(a).selectAll("tspan.text-inner-tspan").attr("font-weight",null).attr("font-style",null),{el:r,box:r.node().getBBox()}})),g=Math.max(...p.map(({box:t})=>t.width),0),f=0;for(let{el:t,box:e}of p)t.attr("transform",`translate(${g/2-e.x-e.width/2}, ${f-e.y})`),f+=e.height+3;let y=p.length>0?f-3:0;return n.insert("rect",":first-child"),n.attr("transform",`translate(${-g/2}, ${-y/2})`),{shapeSvg:a,bbox:n.node().getBBox(),halfPadding:(e.padding??0)/2,label:n}},"c4LabelHelper"),y=(0,c.K)((t,e)=>{let{x:r,y:i,width:o,height:a}=t;return o>=e?t:"left"in t?{x:r,y:i,width:e,height:a,top:i,left:r,bottom:i+a,right:r+e,toJSON:(0,c.K)(()=>({}),"toJSON")}:{x:r-(e-o)/2,y:i,width:e,height:a}},"withMinWidth"),m=(0,c.K)(async(t,e,r)=>{let i,a,n;if(void 0!==e.stereotype)return f(t,e,r);let h=e.useHtmlLabels||(0,l._3)((0,l.D7)()?.htmlLabels);i=r||"node default";let c=t.insert("g").attr("class",i).attr("id",e.domId||e.id),u=c.insert("g").attr("class","label").attr("style",(0,s.KL)(e.labelStyle));a=void 0===e.label?"":"string"==typeof e.label?e.label:e.label[0];let g=!!e.icon||!!e.img,m="markdown"===e.labelType,x=a&&!e.width?e.minWidth??0:0,C=await (0,o.GZ)(u,(0,l.jZ)((0,s.Sm)(a),(0,l.D7)()),{useHtmlLabels:h,width:e.width||e.wrappingWidth||(0,l.D7)().flowchart?.wrappingWidth,minWidth:x,classes:m?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:g,markdown:m},(0,l.D7)()),b=(e?.padding??0)/2;if(h){let t=C.children[0],e=(0,d.Ltv)(C);await p(t),n=y(n=await o.lT.measure(()=>t.getBoundingClientRect()),x),e.attr("width",n.width),e.attr("height",n.height)}else n=y(n=await o.lT.measure(()=>C.getBBox()),x);return h?u.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"):u.attr("transform","translate(0, "+-n.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:c,bbox:n,halfPadding:b,label:u}},"labelHelper"),x=(0,c.K)(async(t,e,r)=>{let i,a=r.useHtmlLabels??(0,l.E)((0,l.D7)()),n=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),h=await (0,o.GZ)(n,(0,l.jZ)((0,s.Sm)(e),(0,l.D7)()),{useHtmlLabels:a,width:r.width||(0,l.D7)()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),c=r.padding/2;if((0,l.E)((0,l.D7)())){let t=h.children[0],e=(0,d.Ltv)(h);i=await o.lT.measure(()=>t.getBoundingClientRect()),e.attr("width",i.width),e.attr("height",i.height)}else i=await o.lT.measure(()=>h.getBBox());return a?n.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"):n.attr("transform","translate(0, "+-i.height/2+")"),r.centerLabel&&n.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:t,bbox:i,halfPadding:c,label:n}},"insertLabel"),C=(0,c.K)((t,e,r)=>{if(r){t.width=r.width,t.height=r.height;return}let i=e.node().getBBox();t.width=i.width,t.height=i.height},"updateNodeBounds"),b=(0,c.K)((t,e)=>("handDrawn"===t.look?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function k(t){let e=t.map((t,e)=>`${0===e?"M":"L"}${t.x},${t.y}`);return e.push("Z"),e.join(" ")}function w(t,e,r,i,o,a){let n=[],s=r-t,l=2*Math.PI/(s/a),h=e+(i-e)/2;for(let e=0;e<=50;e++){let r=t+e/50*s,i=h+o*Math.sin(l*(r-t));n.push({x:r,y:i})}return n}function T(t,e,r,i,o,a){let n=[],s=o*Math.PI/180,l=(a*Math.PI/180-s)/(i-1);for(let o=0;o<i;o++){let i=s+o*l,a=t+r*Math.cos(i),h=e+r*Math.sin(i);n.push({x:-a,y:-h})}return n}function B(t){let e=Array.from(t.childNodes).filter(t=>"path"===t.tagName),r=document.createElementNS("http://www.w3.org/2000/svg","path"),i=e.map(t=>t.getAttribute("d")).filter(t=>null!==t).join(" ");r.setAttribute("d",i);let o=e.find(t=>"none"!==t.getAttribute("fill")),a=e.find(t=>"none"!==t.getAttribute("stroke")),n=(0,c.K)((t,e)=>t?.getAttribute(e)??void 0,"getAttr");o&&Object.entries({fill:n(o,"fill"),"fill-opacity":n(o,"fill-opacity")??"1"}).forEach(([t,e])=>{e&&r.setAttribute(t,e)}),a&&Object.entries({stroke:n(a,"stroke"),"stroke-width":n(a,"stroke-width")??"1","stroke-opacity":n(a,"stroke-opacity")??"1"}).forEach(([t,e])=>{e&&r.setAttribute(t,e)});let s=document.createElementNS("http://www.w3.org/2000/svg","g");return s.appendChild(r),s}(0,c.K)(k,"createPathFromPoints"),(0,c.K)(w,"generateFullSineWavePoints"),(0,c.K)(T,"generateCirclePoints"),(0,c.K)(B,"mergePaths");var S=(0,c.K)((t,e)=>{var r,i,o=t.x,a=t.y,n=e.x-o,s=e.y-a,l=t.width/2,h=t.height/2;return Math.abs(s)*l>Math.abs(n)*h?(s<0&&(h=-h),r=0===s?0:h*n/s,i=h):(n<0&&(l=-l),r=l,i=0===n?0:l*s/n),{x:o+r,y:a+i}},"intersectRect");function v(t,e){return t.intersect(e)}function _(t,e,r,i){var o=t.x,a=t.y,n=o-i.x,s=a-i.y,l=Math.sqrt(e*e*s*s+r*r*n*n),h=Math.abs(e*r*n/l);i.x<o&&(h=-h);var c=Math.abs(e*r*s/l);return i.y<a&&(c=-c),{x:o+h,y:a+c}}function F(t,e,r){return _(t,e,e,r)}function A(t,e,r,i){{let o=e.y-t.y,a=t.x-e.x,n=e.x*t.y-t.x*e.y,s=o*r.x+a*r.y+n,l=o*i.x+a*i.y+n;if(0!==s&&0!==l&&L(s,l))return;let h=i.y-r.y,c=r.x-i.x,d=i.x*r.y-r.x*i.y,u=h*t.x+c*t.y+d,p=h*e.x+c*e.y+d;if(1e-6>Math.abs(u)&&1e-6>Math.abs(p)&&L(u,p))return;let g=o*c-h*a;if(0===g)return;return{x:(a*d-c*n)/g,y:(h*n-o*d)/g}}}function L(t,e){return t*e>0}function M(t,e,r){let i=t.x,o=t.y,a=[],n=1/0,s=1/0;"function"==typeof e.forEach?e.forEach(function(t){n=Math.min(n,t.x),s=Math.min(s,t.y)}):(n=Math.min(n,e.x),s=Math.min(s,e.y));let l=i-t.width/2-n,h=o-t.height/2-s;for(let i=0;i<e.length;i++){let o=e[i],n=e[i<e.length-1?i+1:0],s=A(t,r,{x:l+o.x,y:h+o.y},{x:l+n.x,y:h+n.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(t,e){let i=t.x-r.x,o=t.y-r.y,a=Math.sqrt(i*i+o*o),n=e.x-r.x,s=e.y-r.y,l=Math.sqrt(n*n+s*s);return a<l?-1:+(a!==l)}),a[0]):t}(0,c.K)(v,"intersectNode"),(0,c.K)(_,"intersectEllipse"),(0,c.K)(F,"intersectCircle"),(0,c.K)(A,"intersectLine"),(0,c.K)(L,"sameSign"),(0,c.K)(M,"intersectPolygon");var $={node:v,circle:F,ellipse:_,polygon:M,rect:S},E=(0,c.K)((t,e,r,i,o)=>["M",t+o,e,"H",t+r-o,"A",o,o,"0 0 1",t+r,e+o,"V",e+i-o,"A",o,o,"0 0 1",t+r-o,e+i,"H",t+o,"A",o,o,"0 0 1",t,e+i-o,"V",e+o,"A",o,o,"0 0 1",t+o,e,"Z"].join(" "),"createRoundedRectPathD"),O=(0,c.K)(async(t,e,r,i=!1,a=!1)=>{let n=e||"";"object"==typeof n&&(n=n[0]);let s=(0,l.D7)(),h=(0,l.E)(s);return await (0,o.GZ)(t,n,{style:r,isTitle:i,useHtmlLabels:h,markdown:!1,isNode:a,width:1/0},s)},"createLabel");function D(t,e){let{labelStyles:r}=(0,i.GX)(e);e.labelStyle=r;let o=b(e),a=o;o||(a="anchor");let n=t.insert("g").attr("class",a).attr("id",e.domId||e.id),{cssStyles:l}=e,c=u.A.svg(n),d=(0,i.Fr)(e,{fill:"black",stroke:"none",fillStyle:"solid"});"handDrawn"!==e.look&&(d.roughness=0);let p=c.circle(0,0,2,d),g=n.insert(()=>p,":first-child");return g.attr("class","anchor").attr("style",(0,s.KL)(l)),C(e,g),e.intersect=function(t){return h.R.info("Circle intersect",e,1,t),$.circle(e,1,t)},n}function K(t,e,r,i,o,a,n){let s=Math.atan2(i-e,r-t),l=Math.sqrt(((r-t)/2/o)**2+((i-e)/2/a)**2);if(l>1)throw Error("The given radii are too small to create an arc between the points.");let h=Math.sqrt(1-l**2),c=(t+r)/2+h*a*Math.sin(s)*(n?-1:1),d=(e+i)/2-h*o*Math.cos(s)*(n?-1:1),u=Math.atan2((e-d)/a,(t-c)/o),p=Math.atan2((i-d)/a,(r-c)/o)-u;n&&p<0&&(p+=2*Math.PI),!n&&p>0&&(p-=2*Math.PI);let g=[];for(let t=0;t<20;t++){let e=u+t/19*p,r=c+o*Math.cos(e),i=d+a*Math.sin(e);g.push({x:r,y:i})}return g}function I(t,e,r){let[i,o]=[e,r].sort((t,e)=>e-t);return o*(1-Math.sqrt(1-(t/i/2)**2))}async function q(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a,l=(0,c.K)(t=>t+s,"calcTotalHeight"),h=(0,c.K)(t=>{let e=t/2;return[e/(2.5+t/50),e]},"calcEllipseRadius"),{shapeSvg:d,bbox:p}=await m(t,e,b(e)),g=l(e?.height?e?.height:p.height),[f,y]=h(g),x=I(g,f,y),w=(e?.width?e?.width:p.width)+2*n+x-x,{cssStyles:T}=e,B=[{x:w/2,y:-g/2},{x:-w/2,y:-g/2},...K(-w/2,-g/2,-w/2,g/2,f,y,!1),{x:w/2,y:g/2},...K(w/2,g/2,w/2,-g/2,f,y,!0)],S=u.A.svg(d),v=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");let _=k(B),F=S.path(_,v),A=d.insert(()=>F,":first-child");return A.attr("class","basic label-container outer-path"),T&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",T),o&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",o),A.attr("transform",`translate(${f/2}, 0)`),C(e,A),e.intersect=function(t){return $.polygon(e,B,t)},d}async function R(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:s,label:l}=await m(t,e,b(e)),h=r?.nodeBorder??r?.lineColor??"currentColor",d=e.padding??12,p=Math.max(s.width+2*d,e.width??0,80),g=Math.max(Math.min(.08*p,12),5),f=Math.max(s.height+2*d+g,e.height??0),y=-f/2+g,x=f/2,k=.72*p,w=`M${-p/2},${y} L${-k/2},${x} A${k/2},${g} 0 0 0 ${k/2},${x} L${p/2},${y} A${p/2},${g} 0 0 0 ${-p/2},${y} Z`,{cssStyles:T}=e,B=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=u.A.svg(n).path(w,(0,i.Fr)(e,{}));B.node()?.appendChild(t),T&&B.attr("style",T)}else B.append("path").attr("d",w).attr("style",a);B.append("ellipse").attr("cx",0).attr("cy",y).attr("rx",p/2).attr("ry",g).attr("style",`fill:none;stroke:${h};stroke-width:1px`),C(e,B);let S=y+(x-y)/2;l.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${S-s.height/2-(s.y-(s.top??0))})`);let v=(0,c.K)((t,e,r)=>Array.from({length:13},(i,o)=>{let a=Math.PI-o*Math.PI/12;return{x:t*Math.cos(a),y:e+r*g*Math.sin(a)}}),"arc"),_=[...v(p/2,y,-1),...v(k/2,x,1).reverse()];return e.intersect=function(t){return $.polygon(e,_,t)},n}function P(t){let{themeVariables:e}=(0,l.D7)(),r=e.clusterBkg,i=e.clusterBorder;return"flow"===t?{rx:10,fill:"none",stroke:e.flowContainerStroke||e.secondaryBorderColor,strokeWidth:.75,cssClass:"flow-collapsed"}:{rx:8,fill:r,stroke:i,cssClass:"collapsed-group"}}async function z(t,e){let r,o=P(e.metadata?.containerType),{fill:a,stroke:h}=o,{nodeStyles:c}=(0,i.GX)(e),{shapeSvg:d,bbox:p}=await m(t,e,b(e)),{theme:g,themeVariables:f}=(0,l.D7)();(0,n.XE)(d,e.colorIndex,g,f.borderColorArray);let y=e.padding??8,x=p.height,k=Math.max(p.width+2*y,80,e?.width??0),w=Math.max(x+8+20+2*y,e?.height??0),T=-k/2,B=-w/2,S=d.select(".label");if(S&&(e.useHtmlLabels??(0,l.E)((0,l.D7)())?S.attr("transform",`translate(${-p.width/2}, ${-p.height/2+-14})`):S.attr("transform",`translate(0, ${-p.height/2+-14})`)),"handDrawn"===e.look){let t=u.A.svg(d),n=(0,i.Fr)(e,{fill:a,stroke:h,...void 0===o.strokeWidth?{}:{strokeWidth:o.strokeWidth},..."none"===a?{fillWeight:0}:{fillStyle:"solid"}}),l=t.path(E(T,B,k,w,o.rx),n);(r=d.insert(()=>l,":first-child")).attr("class","basic label-container "+o.cssClass).attr("style",(0,s.KL)(e.cssStyles))}else(r=d.insert("rect",":first-child")).attr("class","basic label-container "+o.cssClass).attr("style",c).attr("rx",o.rx).attr("ry",o.rx).attr("x",T).attr("y",B).attr("width",k).attr("height",w).attr("fill",a).attr("stroke",h),void 0!==o.strokeWidth&&r.attr("stroke-width",o.strokeWidth+"px");let v=B+y+x+8;d.append("line").attr("class","collapsed-separator").attr("x1",T+8).attr("y1",v).attr("x2",T+k-8).attr("y2",v).attr("stroke",h).attr("stroke-dasharray","3, 3");let _=v+10;for(let t=-1;t<=1;t++)d.append("circle").attr("class","collapsed-indicator").attr("cx",10*t).attr("cy",_).attr("r",2.5).attr("fill",h);return C(e,r),e.calcIntersect=function(t,e){return $.rect(t,e)},e.intersect=function(t){return $.rect(e,t)},d}function W(t,e,r,i){return t.insert("polygon",":first-child").attr("points",i.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}(0,c.K)(D,"anchor"),(0,c.K)(K,"generateArcPoints"),(0,c.K)(I,"calculateArcSagitta"),(0,c.K)(q,"bowTieRect"),(0,c.K)(R,"bucket"),(0,c.K)(P,"getCollapsedStyle"),(0,c.K)(z,"collapsedGroup"),(0,c.K)(W,"insertPolygonShape");var N=["right","left","up","down"],j="point",H=(0,c.K)(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r)}return e},"expandAndDeduplicateDirections"),U=(0,c.K)(t=>N.filter(e=>t.has(e)).join("|")||j,"getDirectionKey"),Y={"right|left|up|down":(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:0,y:0},{x:e,y:0},{x:i/2,y:2*r},{x:i-e,y:0},{x:i,y:0},{x:i,y:-t/3},{x:i+2*r,y:-t/2},{x:i,y:-2*t/3},{x:i,y:-t},{x:i-e,y:-t},{x:i/2,y:-t-2*r},{x:e,y:-t},{x:0,y:-t},{x:0,y:-2*t/3},{x:-2*r,y:-t/2},{x:0,y:-t/3}],"right|left|up|down"),"right|left|up":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:e,y:0},{x:r-e,y:0},{x:r,y:-t/2},{x:r-e,y:-t},{x:e,y:-t},{x:0,y:-t/2}],"right|left|up"),"right|left|down":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:0,y:0},{x:e,y:-t},{x:r-e,y:-t},{x:r,y:0}],"right|left|down"),"right|up|down":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:0,y:0},{x:r,y:-e},{x:r,y:-t+e},{x:0,y:-t}],"right|up|down"),"left|up|down":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:r,y:0},{x:0,y:-e},{x:0,y:-t+e},{x:r,y:-t}],"left|up|down"),"right|left":(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:e,y:0},{x:e,y:-r},{x:i-e,y:-r},{x:i-e,y:0},{x:i,y:-t/2},{x:i-e,y:-t},{x:i-e,y:-t+r},{x:e,y:-t+r},{x:e,y:-t},{x:0,y:-t/2}],"right|left"),"up|down":(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:i/2,y:0},{x:0,y:-r},{x:e,y:-r},{x:e,y:-t+r},{x:0,y:-t+r},{x:i/2,y:-t},{x:i,y:-t+r},{x:i-e,y:-t+r},{x:i-e,y:-r},{x:i,y:-r}],"up|down"),"right|up":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:0,y:0},{x:r,y:-e},{x:0,y:-t}],"right|up"),"right|down":(0,c.K)(({height:t,width:e})=>[{x:0,y:0},{x:e,y:0},{x:0,y:-t}],"right|down"),"left|up":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:r,y:0},{x:0,y:-e},{x:r,y:-t}],"left|up"),"left|down":(0,c.K)(({height:t,width:e})=>[{x:e,y:0},{x:0,y:0},{x:e,y:-t}],"left|down"),right:(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:e,y:-r},{x:e,y:-r},{x:i-e,y:-r},{x:i-e,y:0},{x:i,y:-t/2},{x:i-e,y:-t},{x:i-e,y:-t+r},{x:e,y:-t+r},{x:e,y:-t+r}],"right"),left:(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:e,y:0},{x:e,y:-r},{x:i-e,y:-r},{x:i-e,y:-t+r},{x:e,y:-t+r},{x:e,y:-t},{x:0,y:-t/2}],"left"),up:(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:e,y:-r},{x:e,y:-t+r},{x:0,y:-t+r},{x:i/2,y:-t},{x:i,y:-t+r},{x:i-e,y:-t+r},{x:i-e,y:-r}],"up"),down:(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:i/2,y:0},{x:0,y:-r},{x:e,y:-r},{x:e,y:-t+r},{x:i-e,y:-t+r},{x:i-e,y:-r},{x:i,y:-r}],"down"),[j]:()=>[{x:0,y:0}]},G=(0,c.K)((t,e,r,i)=>{let o=H(t),a=(r.padding??0)/2,n=e.height+4*a,s=n/2,l=i??e.width+2*s+2*a;return(Y[U(o)]??Y[j])({height:n,midpoint:s,padding:a,width:l})},"getArrowPoints");async function X(t,e){let{shapeSvg:r,bbox:i}=await m(t,e,b(e)),o=e.padding??0,a=i.height+2*o,n=a/2,s=i.width+2*n+o,l=e.width??0,h=e.positioned&&(e.widthInColumns??1)>1&&l>s?l:s,c=G(e.directions??[],i,e,h),d=W(r,h,a,c);return d.attr("style",e.style??null),C(e,d),e.intersect=function(t){return $.polygon(e,c,t)},r}async function Z(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:s,label:l}=await m(t,e,b(e)),h=r?.nodeBorder??r?.lineColor??"currentColor",c=e.padding??12,d=Math.max(s.width+2*c,e.width??0,90),p=Math.max(s.height+2*c+18,e.height??0),g=-p/2,{cssStyles:f}=e,y=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=u.A.svg(n).path(E(-d/2,g,d,p,12),(0,i.Fr)(e,{}));y.node()?.appendChild(t),f&&y.attr("style",f)}else y.append("rect").attr("x",-d/2).attr("y",g).attr("width",d).attr("height",p).attr("rx",12).attr("ry",12).attr("style",a);y.append("line").attr("x1",-d/2).attr("y1",g+18).attr("x2",d/2).attr("y2",g+18).attr("style",`stroke:${h};stroke-width:1px`);for(let t=0;t<3;t++)y.append("circle").attr("cx",-d/2+12+9*t).attr("cy",g+9).attr("r",2.5).attr("style",`fill:${h};stroke:none`);y.append("rect").attr("class","browser-address-bar").attr("x",-d/2+44).attr("y",g+4).attr("width",Math.max(d-56,10)).attr("height",10).attr("rx",3).attr("ry",3).attr("style",`fill:none;stroke:${h};stroke-width:1px;opacity:0.6`),C(e,y);let x=g+18+(p-18)/2;return l.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return $.rect(e,t)},n}async function V(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,s="neo"===e.look?28:n,l="neo"===e.look?24:n,{shapeSvg:h,bbox:c}=await m(t,e,b(e)),d=(e?.width??c.width)+("neo"===e.look?2*s:s+12),p=(e?.height??c.height)+("neo"===e.look?2*l:l),g=-p,f=[{x:12,y:g},{x:d,y:g},{x:d,y:0},{x:0,y:0},{x:0,y:g+12},{x:12,y:g}],{cssStyles:y}=e;if("handDrawn"===e.look){let t=u.A.svg(h),o=(0,i.Fr)(e,{}),a=k(f),n=t.path(a,o);r=h.insert(()=>n,":first-child").attr("transform",`translate(${-d/2}, ${p/2})`),y&&r.attr("style",y)}else r=W(h,d,p,f);return a&&r.attr("style",a),C(e,r),e.intersect=function(t){return $.polygon(e,f,t)},h}function Q(t,e){let{nodeStyles:r}=(0,i.GX)(e);e.label="";let o=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,n=Math.max(28,e.width??0),s=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}],l=u.A.svg(o),h=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(h.roughness=0,h.fillStyle="solid");let c=k(s),d=l.path(c,h),p=o.insert(()=>d,":first-child");return a&&"handDrawn"!==e.look&&p.selectAll("path").attr("style",a),r&&"handDrawn"!==e.look&&p.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(t){return $.polygon(e,s,t)},o}async function J(t,e,r){let o,{labelStyles:a,nodeStyles:n}=(0,i.GX)(e);e.labelStyle=a;let{shapeSvg:l,bbox:c,halfPadding:d}=await m(t,e,b(e)),p=r?.padding??d,g=Math.sqrt(c.width**2+c.height**2)/2,f="neo"===e.look?g+32:g+p,{cssStyles:y}=e;if("handDrawn"===e.look){let t=u.A.svg(l),r=(0,i.Fr)(e,{}),a=t.circle(0,0,2*f,r);(o=l.insert(()=>a,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(y))}else o=l.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",f).attr("cx",0).attr("cy",0);return C(e,o),e.calcIntersect=function(t,e){let r=t.width/2;return $.circle(t,r,e)},e.intersect=function(t){return h.R.info("Circle intersect",e,f,t),$.circle(e,f,t)},l}async function tt(t,e){let r=["node",e.cssClasses,e.class].filter(Boolean).join(" "),{shapeSvg:i,bbox:o,halfPadding:a}=await m(t,e,r),n=i.insert("rect",":first-child"),s=e.padding??0,l=e.positioned?e.width??0:o.width+s,h=e.positioned?e.height??0:o.height+s,c=e.positioned?-l/2:-o.width/2-a,d=e.positioned?-h/2:-o.height/2-a;return n.attr("class","basic cluster composite label-container").attr("style",e.style??null).attr("rx",e.rx??null).attr("ry",e.ry??null).attr("x",c).attr("y",d).attr("width",l).attr("height",h),C(e,n),e.intersect=function(t){return $.rect(e,t)},i}async function te(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:s,label:l}=await m(t,e,b(e)),h=r?.nodeBorder??r?.lineColor??"currentColor",c=e.padding??12,d=Math.max(s.width+2*c,e.width??0,90),p=Math.max(s.height+2*c+20,e.height??0),g=-p/2,{cssStyles:f}=e,y=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=u.A.svg(n).path(E(-d/2,g,d,p,12),(0,i.Fr)(e,{}));y.node()?.appendChild(t),f&&y.attr("style",f)}else y.append("rect").attr("x",-d/2).attr("y",g).attr("width",d).attr("height",p).attr("rx",12).attr("ry",12).attr("style",a);y.append("text").attr("x",-d/2+12).attr("y",g+16).attr("class","console-glyph").attr("style",`font-family:monospace;font-weight:bold;font-size:14px;fill:${h}`).text(">_"),C(e,y);let x=g+20+(p-20)/2;return l.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return $.rect(e,t)},n}function tr(t){let e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),i=2*t,o={x:i/2*e,y:i/2*r},a={x:-(i/2)*e,y:i/2*r},n={x:-(i/2)*e,y:-(i/2)*r},s={x:i/2*e,y:-(i/2)*r};return`M ${a.x},${a.y} L ${s.x},${s.y} + M ${o.x},${o.y} L ${n.x},${n.y}`}function ti(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r,e.label="";let a=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),n=Math.max(30,e?.width??0),{cssStyles:s}=e,l=u.A.svg(a),c=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(c.roughness=0,c.fillStyle="solid");let d=l.circle(0,0,2*n,c),p=tr(n),g=l.path(p,c),f=a.insert(()=>d,":first-child");return f.insert(()=>g),f.attr("class","outer-path"),s&&"handDrawn"!==e.look&&f.selectAll("path").attr("style",s),o&&"handDrawn"!==e.look&&f.selectAll("path").attr("style",o),C(e,f),e.intersect=function(t){return h.R.info("crossedCircle intersect",e,{radius:n,point:t}),$.circle(e,n,t)},a}function to(t,e,r,i=100,o=0,a=180){let n=[],s=o*Math.PI/180,l=(a*Math.PI/180-s)/(i-1);for(let o=0;o<i;o++){let i=s+o*l,a=t+r*Math.cos(i),h=e+r*Math.sin(i);n.push({x:-a,y:-h})}return n}async function ta(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l="neo"===e.look?18:e.padding??0,h="neo"===e.look?12:e.padding??0,c=n.width+l,d=n.height+h,p=Math.max(5,.1*d),{cssStyles:g}=e,f=[...to(c/2,-d/2,p,30,-90,0),{x:-c/2-p,y:p},...to(c/2+2*p,-p,p,20,-180,-270),...to(c/2+2*p,p,p,20,-90,-180),{x:-c/2-p,y:-d/2},...to(c/2,d/2,p,20,0,90)],y=[{x:c/2,y:-d/2-p},{x:-c/2,y:-d/2-p},...to(c/2,-d/2,p,20,-90,0),{x:-c/2-p,y:-p},...to(c/2+.1*c,-p,p,20,-180,-270),...to(c/2+.1*c,p,p,20,-90,-180),{x:-c/2-p,y:d/2},...to(c/2,d/2,p,20,0,90),{x:-c/2,y:d/2+p},{x:c/2,y:d/2+p}],x=u.A.svg(a),w=(0,i.Fr)(e,{fill:"none"});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=k(f).replace("Z",""),B=x.path(T,w),S=k(y),v=x.path(S,{...w}),_=a.insert("g",":first-child");return _.insert(()=>v,":first-child").attr("stroke-opacity",0),_.insert(()=>B,":first-child"),_.attr("class","text"),g&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",g),o&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",o),_.attr("transform",`translate(${p}, 0)`),s.attr("transform",`translate(${-c/2+p-(n.x-(n.left??0))},${-d/2+(e.padding??0)/2-(n.y-(n.top??0))})`),C(e,_),e.intersect=function(t){return $.polygon(e,y,t)},a}function tn(t,e,r,i=100,o=0,a=180){let n=[],s=o*Math.PI/180,l=(a*Math.PI/180-s)/(i-1);for(let o=0;o<i;o++){let i=s+o*l,a=t+r*Math.cos(i),h=e+r*Math.sin(i);n.push({x:a,y:h})}return n}async function ts(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l="neo"===e.look?18:e.padding??0,h="neo"===e.look?12:e.padding??0,c=n.width+("neo"===e.look?2*l:l),d=n.height+("neo"===e.look?2*h:h),p=Math.max(5,.1*d),{cssStyles:g}=e,f=[...tn(c/2,-d/2,p,20,-90,0),{x:c/2+p,y:-p},...tn(c/2+2*p,-p,p,20,-180,-270),...tn(c/2+2*p,p,p,20,-90,-180),{x:c/2+p,y:d/2},...tn(c/2,d/2,p,20,0,90)],y=[{x:-c/2,y:-d/2-p},{x:c/2,y:-d/2-p},...tn(c/2,-d/2,p,20,-90,0),{x:c/2+p,y:-p},...tn(c/2+2*p,-p,p,20,-180,-270),...tn(c/2+2*p,p,p,20,-90,-180),{x:c/2+p,y:d/2},...tn(c/2,d/2,p,20,0,90),{x:c/2,y:d/2+p},{x:-c/2,y:d/2+p}],x=u.A.svg(a),w=(0,i.Fr)(e,{fill:"none"});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=k(f).replace("Z",""),B=x.path(T,w),S=k(y),v=x.path(S,{...w}),_=a.insert("g",":first-child");return _.insert(()=>v,":first-child").attr("stroke-opacity",0),_.insert(()=>B,":first-child"),_.attr("class","text"),g&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",g),o&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",o),_.attr("transform",`translate(${-p}, 0)`),s.attr("transform",`translate(${-c/2+(e.padding??0)/2-(n.x-(n.left??0))},${-d/2+(e.padding??0)/2-(n.y-(n.top??0))})`),C(e,_),e.intersect=function(t){return $.polygon(e,y,t)},a}function tl(t,e,r,i=100,o=0,a=180){let n=[],s=o*Math.PI/180,l=(a*Math.PI/180-s)/(i-1);for(let o=0;o<i;o++){let i=s+o*l,a=t+r*Math.cos(i),h=e+r*Math.sin(i);n.push({x:-a,y:-h})}return n}async function th(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l="neo"===e.look?18:e.padding??0,h="neo"===e.look?12:e.padding??0,c=n.width+("neo"===e.look?2*l:l),d=n.height+("neo"===e.look?2*h:h),p=Math.max(5,.1*d),{cssStyles:g}=e,f=[...tl(c/2,-d/2,p,30,-90,0),{x:-c/2-p,y:p},...tl(c/2+2*p,-p,p,20,-180,-270),...tl(c/2+2*p,p,p,20,-90,-180),{x:-c/2-p,y:-d/2},...tl(c/2,d/2,p,20,0,90)],y=[...tl(-c/2+p+p/2,-d/2,p,20,-90,-180),{x:c/2-p/2,y:p},...tl(-c/2-p/2,-p,p,20,0,90),...tl(-c/2-p/2,p,p,20,-90,0),{x:c/2-p/2,y:-p},...tl(-c/2+p+p/2,d/2,p,30,-180,-270)],x=[{x:c/2,y:-d/2-p},{x:-c/2,y:-d/2-p},...tl(c/2,-d/2,p,20,-90,0),{x:-c/2-p,y:-p},...tl(c/2+2*p,-p,p,20,-180,-270),...tl(c/2+2*p,p,p,20,-90,-180),{x:-c/2-p,y:d/2},...tl(c/2,d/2,p,20,0,90),{x:-c/2,y:d/2+p},{x:c/2-p-p/2,y:d/2+p},...tl(-c/2+p+p/2,-d/2,p,20,-90,-180),{x:c/2-p/2,y:p},...tl(-c/2-p/2,-p,p,20,0,90),...tl(-c/2-p/2,p,p,20,-90,0),{x:c/2-p/2,y:-p},...tl(-c/2+p+p/2,d/2,p,30,-180,-270)],w=u.A.svg(a),T=(0,i.Fr)(e,{fill:"none"});"handDrawn"!==e.look&&(T.roughness=0,T.fillStyle="solid");let B=k(f).replace("Z",""),S=w.path(B,T),v=k(y).replace("Z",""),_=w.path(v,T),F=k(x),A=w.path(F,{...T}),L=a.insert("g",":first-child");return L.insert(()=>A,":first-child").attr("stroke-opacity",0),L.insert(()=>S,":first-child"),L.insert(()=>_,":first-child"),L.attr("class","text"),g&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",g),o&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",o),L.attr("transform",`translate(${p-p/4}, 0)`),s.attr("transform",`translate(${-c/2+(e.padding??0)/2-(n.x-(n.left??0))},${-d/2+(e.padding??0)/2-(n.y-(n.top??0))})`),C(e,L),e.intersect=function(t){return $.polygon(e,x,t)},a}async function tc(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a,{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=Math.max(5,h.height+2*s,e?.height??0),d=c/2,p=Math.max(c/4,d-Math.sqrt(Math.max(0,d**2-(h.height/2)**2))),g=Math.max(20,h.width+2*n+2*p,(h.width+2*n)*1.25,e?.width??0),{cssStyles:f}=e,y=u.A.svg(l),x=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let w=g-d,B=c/4,S=[{x:w,y:0},{x:B,y:0},{x:0,y:c/2},{x:B,y:c},{x:w,y:c},...T(-w,-c/2,d,50,270,90)],v=k(S),_=y.path(v,x),F=l.insert(()=>_,":first-child");return F.attr("class","basic label-container outer-path"),f&&"handDrawn"!==e.look&&F.selectChildren("path").attr("style",f),o&&"handDrawn"!==e.look&&F.selectChildren("path").attr("style",o),F.attr("transform",`translate(${-g/2}, ${-c/2})`),C(e,F),e.intersect=function(t){return $.polygon(e,S,t)},l}async function td(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l=e.padding??20,h=Math.max(n.width+2*l,e.width??0,100),c=Math.min(Math.max(.23*h,16),56),d=.27*c,p=Math.max(n.height+2*l,e.height?e.height-(2*c-d):0),g=Math.min(.177*h,.45*p),f=p+2*c-d,y=-f/2,x=y+2*c-d,k=a.insert("g",":first-child").attr("class","basic label-container"),{cssStyles:w}=e;if("handDrawn"===e.look){let t=u.A.svg(a),r=(0,i.Fr)(e,{}),o=t.path(E(-h/2,x,h,p,g),r),n=t.circle(0,y+c,2*c,r);k.insert(()=>n,":first-child"),k.insert(()=>o,":first-child"),w&&k.attr("style",w)}else k.append("rect").attr("x",-h/2).attr("y",x).attr("width",h).attr("height",p).attr("rx",g).attr("ry",g).attr("style",o),k.append("circle").attr("cx",0).attr("cy",y+c).attr("r",c).attr("style",o);C(e,k);let B=x+p/2;s.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${B-n.height/2-(n.y-(n.top??0))})`);let S=y+c,v=180*Math.asin(Math.min(1,(x-S)/c))/Math.PI,_=[...T(0,-S,c,24,180+v,-v),...T(-(-h/2+g),-(x+g),g,12,90,0),...T(-(-h/2+g),-(f/2-g),g,12,360,270),...T(-(h/2-g),-(f/2-g),g,12,270,180),...T(-(h/2-g),-(x+g),g,12,180,90)];return e.intersect=function(t){return $.polygon(e,_,t)},a}(0,c.K)(X,"block_arrow"),(0,c.K)(Z,"browser"),(0,c.K)(V,"card"),(0,c.K)(Q,"choice"),(0,c.K)(J,"circle"),(0,c.K)(tt,"composite"),(0,c.K)(te,"consoleWindow"),(0,c.K)(tr,"createLine"),(0,c.K)(ti,"crossedCircle"),(0,c.K)(to,"generateCirclePoints"),(0,c.K)(ta,"curlyBraceLeft"),(0,c.K)(tn,"generateCirclePoints"),(0,c.K)(ts,"curlyBraceRight"),(0,c.K)(tl,"generateCirclePoints"),(0,c.K)(th,"curlyBraces"),(0,c.K)(tc,"curvedTrapezoid"),(0,c.K)(td,"person");var tu=(0,c.K)((t,e,r,i,o,a)=>`M${t},${e+a} a${o},${a} 0,0,0 ${r},0 a${o},${a} 0,0,0 ${-r},0 l0,${i} a${o},${a} 0,0,0 ${r},0 l0,${-i}`,"createCylinderPathD"),tp=(0,c.K)((t,e,r,i,o,a)=>`M${t},${e+a} M${t+r},${e+a} a${o},${a} 0,0,0 ${-r},0 l0,${i} a${o},${a} 0,0,0 ${r},0 l0,${-i}`,"createOuterCylinderPathD"),tg=(0,c.K)((t,e,r,i,o,a)=>`M${t-r/2},${-i/2} a${o},${a} 0,0,0 ${r},0`,"createInnerCylinderPathD");async function tf(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,l="neo"===e.look?24:n,h="neo"===e.look?24:n,c=e.width??0;e.width&&(e.width=e.width-h,e.width<8&&(e.width=8)),e.height&&(e.height=e.height-l-c/2/(2.5+c/50)*3,e.height<8&&(e.height=8));let{shapeSvg:d,bbox:p,label:g}=await m(t,e,b(e)),f=Math.max(e.width??0,p.width)+h,y=f/2,x=y/(2.5+f/50),k=Math.max(e.height??0,p.height)+l+x,{cssStyles:w}=e;if("handDrawn"===e.look){let t=u.A.svg(d),o=tp(0,0,f,k,y,x),a=tg(0,x,f,k,y,x),n=(0,i.Fr)(e,{}),s=t.path(o,n),l=t.path(a,(0,i.Fr)(e,{fill:"none"}));r=d.insert(()=>l,":first-child"),(r=d.insert(()=>s,":first-child")).attr("class","basic label-container"),w&&r.attr("style",w)}else{let t=tu(0,0,f,k,y,x);r=d.insert("path",":first-child").attr("d",t).attr("class","basic label-container outer-path").attr("style",(0,s.KL)(w)).attr("style",a)}return r.attr("label-offset-y",x),r.attr("transform",`translate(${-f/2}, ${-(k/2+x)})`),C(e,r),g.attr("transform",`translate(${-(p.width/2)-(p.x-(p.left??0))}, ${-(p.height/2)+(e.padding??0)/1.5-(p.y-(p.top??0))})`),e.intersect=function(t){let r=$.rect(e,t),i=r.x-(e.x??0);if(0!=y&&(Math.abs(i)<(e.width??0)/2||Math.abs(i)==(e.width??0)/2&&Math.abs(r.y-(e.y??0))>(e.height??0)/2-x)){let o=x*x*(1-i*i/(y*y));o>0&&(o=Math.sqrt(o)),o=x-o,t.y-(e.y??0)>0&&(o=-o),r.y+=o}return r},d}async function ty(t,e,r){let o,{labelStyles:a,nodeStyles:n}=(0,i.GX)(e);e.labelStyle=a;let{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=Math.max(h.width+2*r.labelPaddingX,e?.width||0),d=Math.max(h.height+2*r.labelPaddingY,e?.height||0),p=-c/2,g=-d/2,{rx:f,ry:y}=e,{cssStyles:x}=e;if(r?.rx&&r.ry&&(f=r.rx,y=r.ry),"handDrawn"===e.look){let t=u.A.svg(l),r=(0,i.Fr)(e,{}),a=f||y?t.path(E(p,g,c,d,f||0),r):t.rectangle(p,g,c,d,r);(o=l.insert(()=>a,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(x))}else(o=l.insert("rect",":first-child")).attr("class","basic label-container").attr("style",n).attr("rx",(0,s.KL)(f)).attr("ry",(0,s.KL)(y)).attr("x",p).attr("y",g).attr("width",c).attr("height",d);return C(e,o,"handDrawn"===e.look?void 0:{width:c,height:d}),e.calcIntersect=function(t,e){return $.rect(t,e)},e.intersect=function(t){return $.rect(e,t)},l}async function tm(t,e){let{cssClasses:r,labelPaddingX:o,labelPaddingY:a,padding:n,width:s,height:l}=e,h=await ty(t,e,{rx:0,ry:0,classes:r??"",labelPaddingX:o??(n??0)*2,labelPaddingY:a??n??0});if("handDrawn"===e.look){let t=u.A.svg(h),r=(0,i.Fr)(e,{}),o=h.select(".basic.label-container > path:nth-child(2)"),a=o.node();if(!a)return h;let n=null;return a instanceof SVGGraphicsElement&&(n=a.getBBox(),h.insert(()=>t.line(n.x,n.y,n.x+n.width,n.y,r),".basic.label-container g.label"),h.insert(()=>t.line(n.x,n.y+n.height,n.x+n.width,n.y+n.height,r),".basic.label-container g.label"),o.remove()),h}let c=h.select(".basic.label-container"),d=(Number(c.attr("width"))||s)??0,p=(Number(c.attr("height"))||l)??0;return d>0&&p>0&&c.attr("stroke-dasharray",`${d} ${p}`),h}async function tx(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a="neo"===e.look?16:e.padding??0,n="neo"===e.look?16:e.padding??0,{shapeSvg:s,bbox:l,label:h}=await m(t,e,b(e)),c=l.width+a,d=l.height+n,p=.2*d,g=-c/2,f=-d/2-p/2,{cssStyles:y}=e,x=u.A.svg(s),k=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");let w=x.polygon([{x:g,y:f+p},{x:-g,y:f+p},{x:-g,y:-f},{x:g,y:-f},{x:g,y:f},{x:-g,y:f},{x:-g,y:f+p}].map(t=>[t.x,t.y]),k),T=s.insert(()=>w,":first-child");return T.attr("class","basic label-container outer-path"),y&&"handDrawn"!==e.look&&T.selectAll("path").attr("style",y),o&&"handDrawn"!==e.look&&T.selectAll("path").attr("style",o),h.attr("transform",`translate(${g+(e.padding??0)/2-(l.x-(l.left??0))}, ${f+p+(e.padding??0)/2-(l.y-(l.top??0))})`),C(e,T),e.intersect=function(t){return $.rect(e,t)},s}async function tC(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e),n="neo"===e.look?12:5;e.labelStyle=o;let l=e.padding??0,c="neo"===e.look?16:l,{shapeSvg:d,bbox:p}=await m(t,e,b(e)),g=Math.sqrt(p.width**2+p.height**2)/2,f=(e?.width?e?.width/2:g)+(c??0),y=f+n,{cssStyles:x}=e;if("handDrawn"===e.look){let t=u.A.svg(d),o=(0,i.Fr)(e,{roughness:.2,strokeWidth:2.5}),a=(0,i.Fr)(e,{roughness:.2,strokeWidth:1.5}),n=t.circle(0,0,2*y,o),l=t.circle(0,0,2*f,a);(r=d.insert("g",":first-child")).attr("class",(0,s.KL)(e.cssClasses)).attr("style",(0,s.KL)(x)),r.node()?.appendChild(n),r.node()?.appendChild(l)}else{let t=(r=d.insert("g",":first-child")).insert("circle",":first-child"),e=r.insert("circle");r.attr("class","basic label-container").attr("style",a),t.attr("class","outer-circle").attr("style",a).attr("r",y).attr("cx",0).attr("cy",0),e.attr("class","inner-circle").attr("style",a).attr("r",f).attr("cx",0).attr("cy",0)}return C(e,r),e.intersect=function(t){return h.R.info("DoubleCircle intersect",e,y,t),$.circle(e,y,t)},d}async function tb(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:s,bbox:h,halfPadding:c}=await m(t,e,b(e)),{theme:d,themeVariables:p}=(0,l.D7)();(0,n.XE)(s,e.colorIndex,d,p.borderColorArray);let g=c??10,f=h.width/2+2*g,y=h.height/2+2*g,{cssStyles:x}=e;if("handDrawn"===e.look){let t=u.A.svg(s),o=(0,i.Fr)(e,{}),a=t.ellipse(0,0,2*f,2*y,o);(r=s.insert(()=>a,":first-child")).attr("class","basic label-container"),x&&r.attr("style",x)}else r=s.insert("ellipse",":first-child").attr("class","basic label-container").attr("style",a).attr("rx",f).attr("ry",y).attr("cx",0).attr("cy",0);return e.width=2*f,e.height=2*y,C(e,r),e.calcIntersect=function(t,e){let r=t.width/2,i=t.height/2;return $.ellipse(t,r,i,e)},e.intersect=function(t){return $.ellipse(e,f,y,t)},s}function tk(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.label="",e.labelStyle=o;let n=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:s}=e,l=u.A.svg(n),{nodeBorder:c}=r,d=(0,i.Fr)(e,{fillStyle:"solid"});"handDrawn"!==e.look&&(d.roughness=0);let p=l.circle(0,0,14,d),g=n.insert(()=>p,":first-child");return g.selectAll("path").attr("style",`fill: ${c} !important;`),s&&s.length>0&&"handDrawn"!==e.look&&g.selectAll("path").attr("style",s),a&&"handDrawn"!==e.look&&g.selectAll("path").attr("style",a),C(e,g),e.intersect=function(t){return h.R.info("filledCircle intersect",e,{radius:7,point:t}),$.circle(e,7,t)},n}async function tw(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?2*a:a;(e.width||e.height)&&(e.height=e?.height??0,e.height<10&&(e.height=10),e.width=(e?.width??0)-n-n/2,e.width<10&&(e.width=10));let{shapeSvg:s,bbox:l,label:c}=await m(t,e,b(e)),d=(e?.width?e?.width:l.width)+(n??0),p=e?.height?e?.height:d+l.height,g=[{x:0,y:-p},{x:p,y:-p},{x:p/2,y:0}],{cssStyles:f}=e,y=u.A.svg(s),x=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let w=k(g),T=y.path(w,x),B=s.insert(()=>T,":first-child").attr("transform",`translate(${-p/2}, ${p/2})`).attr("class","outer-path");return f&&"handDrawn"!==e.look&&B.selectChildren("path").attr("style",f),o&&"handDrawn"!==e.look&&B.selectChildren("path").attr("style",o),e.width=d,e.height=p,C(e,B),c.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${-p/2+(e.padding??0)/2+(l.y-(l.top??0))})`),e.intersect=function(t){return h.R.info("Triangle intersect",e,g,t),$.polygon(e,g,t)},s}async function tT(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:s,label:l}=await m(t,e,b(e)),h=e.padding??12,c=Math.max(s.width+2*h,e.width??0,90),d=s.height+2*h,p=Math.max(Math.min(.16*d,14),8),g=Math.max(d+p,e.height??0),f=g-p,y=Math.max(.38*c,28),x=-g/2,k=[{x:-c/2,y:x},{x:-c/2+y,y:x},{x:-c/2+y,y:x+p},{x:c/2,y:x+p},{x:c/2,y:g/2},{x:-c/2,y:g/2}],w=[`M${k[0].x},${k[0].y}`,...k.slice(1).map(t=>`L${t.x},${t.y}`),"Z"].join(" "),{cssStyles:T}=e;if("handDrawn"===e.look){let t=u.A.svg(n).path(w,(0,i.Fr)(e,{}));r=n.insert(()=>t,":first-child").attr("class","basic label-container"),T&&r.attr("style",T)}else r=n.insert("path",":first-child").attr("d",w).attr("class","basic label-container").attr("style",a);return"handDrawn"===e.look?C(e,r):C(e,r,{width:c,height:g}),l.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x+p+f/2-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return $.polygon(e,k,t)},n}function tB(t,e,{dir:r,config:{state:o,themeVariables:a}}){let{nodeStyles:n}=(0,i.GX)(e);e.label="";let s=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:l}=e,h=Math.max(70,e?.width??0),c=Math.max(10,e?.height??0);("LR"===r||"RL"===r)&&(h=Math.max(10,e?.width??0),c=Math.max(70,e?.height??0));let d=-1*h/2,p=-1*c/2,g=u.A.svg(s),f=(0,i.Fr)(e,{stroke:a.lineColor,fill:a.lineColor});"handDrawn"!==e.look&&(f.roughness=0,f.fillStyle="solid");let y=g.rectangle(d,p,h,c,f),m=s.insert(()=>y,":first-child");l&&"handDrawn"!==e.look&&m.selectAll("path").attr("style",l),n&&"handDrawn"!==e.look&&m.selectAll("path").attr("style",n),C(e,m);let x=o?.padding??0;return e.width&&e.height&&(e.width+=x/2||0,e.height+=x/2||0),e.intersect=function(t){return $.rect(e,t)},s}async function tS(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a="neo"===e.look?16:e.padding??0,n="neo"===e.look?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-2*n,e.height<10&&(e.height=10),e.width=(e?.width??0)-2*a,e.width<15&&(e.width=15));let{shapeSvg:s,bbox:l}=await m(t,e,b(e)),c=(e?.height?e?.height:Math.max(10,l.height))+2*n,d=c/2,p=d-Math.sqrt(Math.max(0,d**2-(l.height/2)**2)),g=(e?.width?e?.width:Math.max(15,l.width)+2*p)+2*a,{cssStyles:f}=e,y=u.A.svg(s),x=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let w=[{x:-g/2,y:-c/2},{x:g/2-d,y:-c/2},...T(-g/2+d,0,d,50,90,270),{x:g/2-d,y:c/2},{x:-g/2,y:c/2}],B=k(w),S=y.path(B,x),v=s.insert(()=>S,":first-child");return v.attr("class","basic label-container outer-path"),f&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",f),o&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",o),C(e,v),e.intersect=function(t){return h.R.info("Pill intersect",e,{radius:d,point:t}),$.polygon(e,w,t)},s}(0,c.K)(tf,"cylinder"),(0,c.K)(ty,"drawRect"),(0,c.K)(tm,"datastore"),(0,c.K)(tx,"dividedRectangle"),(0,c.K)(tC,"doublecircle"),(0,c.K)(tb,"usecaseEllipse"),(0,c.K)(tk,"filledCircle"),(0,c.K)(tw,"flippedTriangle"),(0,c.K)(tT,"folder"),(0,c.K)(tB,"forkJoin"),(0,c.K)(tS,"halfRoundedRectangle");var tv=(0,c.K)((t,e,r,i,o)=>`M${t+o},${e} L${t+r-o},${e} L${t+r},${e-i/2} L${t+r-o},${e-i} L${t+o},${e-i} L${t},${e-i/2} Z`,"createHexagonPathD");async function t_(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e),n="neo"===e.look?3.5:4;e.labelStyle=o;let s=e.padding??0,l="neo"===e.look?70:s,h="neo"===e.look?32:s;if(e.width||e.height){let t=e.height??0;e.width=(e?.width??0)-t/n*2-h,e.height=(e.height??0)-l}let{shapeSvg:c,bbox:d}=await m(t,e,b(e)),p=(e?.height?e?.height:d.height)+l,g=p/n,f=(e?.width?e?.width:d.width)+2*g+h,y=[{x:g,y:0},{x:f-g,y:0},{x:f,y:-p/2},{x:f-g,y:-p},{x:g,y:-p},{x:0,y:-p/2}],{cssStyles:x}=e;if("handDrawn"===e.look){let t=u.A.svg(c),o=(0,i.Fr)(e,{}),a=tv(0,0,f,p,g),n=t.path(a,o);r=c.insert(()=>n,":first-child").attr("transform",`translate(${-f/2}, ${p/2})`),x&&r.attr("style",x)}else r=W(c,f,p,y);return a&&r.attr("style",a),e.width=f,e.height=p,C(e,r),e.intersect=function(t){return $.polygon(e,y,t)},c}async function tF(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.label="",e.labelStyle=r;let{shapeSvg:a}=await m(t,e,b(e)),n=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,c=u.A.svg(a),d=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(d.roughness=0,d.fillStyle="solid");let p=[{x:0,y:0},{x:n,y:0},{x:0,y:s},{x:n,y:s}],g=k(p),f=c.path(g,d),y=a.insert(()=>f,":first-child");return y.attr("class","basic label-container outer-path"),l&&"handDrawn"!==e.look&&y.selectChildren("path").attr("style",l),o&&"handDrawn"!==e.look&&y.selectChildren("path").attr("style",o),y.attr("transform",`translate(${-n/2}, ${-s/2})`),C(e,y),e.intersect=function(t){return h.R.info("Pill intersect",e,{points:p}),$.polygon(e,p,t)},a}async function tA(t,e,{config:{themeVariables:r,flowchart:o}}){let{labelStyles:n}=(0,i.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,o?.wrappingWidth??0);let{shapeSvg:l,bbox:c,label:d}=await m(t,e,"icon-shape default"),p="t"===e.pos,{nodeBorder:g}=r,{stylesMap:f}=(0,i.WW)(e),y=-s/2,x=-s/2,b=8*!!e.label,k=u.A.svg(l),w=(0,i.Fr)(e,{stroke:"none",fill:"none"});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=k.rectangle(y,x,s,s,w),B=Math.max(s,c.width),S=s+c.height+b,v=k.rectangle(-B/2,-S/2,B,S,{...w,fill:"transparent",stroke:"none"}),_=l.insert(()=>T,":first-child"),F=l.insert(()=>v);if(e.icon){let t=l.append("g");t.html(`<g>${await (0,a.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let r=t.node().getBBox(),i=r.width,o=r.height,n=r.x,h=r.y;t.attr("transform",`translate(${-i/2-n},${p?c.height/2+b/2-o/2-h:-c.height/2-b/2-o/2-h})`),t.attr("style",`color: ${f.get("stroke")??g};`)}return d.attr("transform",`translate(${-c.width/2-(c.x-(c.left??0))},${p?-S/2:S/2-c.height})`),_.attr("transform",`translate(0,${p?c.height/2+b/2:-c.height/2-b/2})`),C(e,F),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return $.rect(e,t);let r=e.x??0,i=e.y??0,o=e.height??0,a=[];return a=p?[{x:r-c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2+c.height+b},{x:r+s/2,y:i-o/2+c.height+b},{x:r+s/2,y:i+o/2},{x:r-s/2,y:i+o/2},{x:r-s/2,y:i-o/2+c.height+b},{x:r-c.width/2,y:i-o/2+c.height+b}]:[{x:r-s/2,y:i-o/2},{x:r+s/2,y:i-o/2},{x:r+s/2,y:i-o/2+s},{x:r+c.width/2,y:i-o/2+s},{x:r+c.width/2/2,y:i+o/2},{x:r-c.width/2,y:i+o/2},{x:r-c.width/2,y:i-o/2+s},{x:r-s/2,y:i-o/2+s}],$.polygon(e,a,t)},l}async function tL(t,e,{config:{themeVariables:r,flowchart:o}}){let{labelStyles:n}=(0,i.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,o?.wrappingWidth??0);let{shapeSvg:l,bbox:c,label:d}=await m(t,e,"icon-shape default"),p=8*!!e.label,g="t"===e.pos,{nodeBorder:f,mainBkg:y}=r,{stylesMap:x}=(0,i.WW)(e),b=u.A.svg(l),k=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid"),k.stroke=x.get("fill")??y;let w=l.append("g");e.icon&&w.html(`<g>${await (0,a.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let T=w.node().getBBox(),B=T.width,S=T.height,v=T.x,_=T.y,F=Math.max(B,S)*Math.SQRT2+40,A=b.circle(0,0,F,k),L=Math.max(F,c.width),M=F+c.height+p,E=b.rectangle(-L/2,-M/2,L,M,{...k,fill:"transparent",stroke:"none"}),O=l.insert(()=>A,":first-child"),D=l.insert(()=>E);return w.attr("transform",`translate(${-B/2-v},${g?c.height/2+p/2-S/2-_:-c.height/2-p/2-S/2-_})`),w.attr("style",`color: ${x.get("stroke")??f};`),d.attr("transform",`translate(${-c.width/2-(c.x-(c.left??0))},${g?-M/2:M/2-c.height})`),O.attr("transform",`translate(0,${g?c.height/2+p/2:-c.height/2-p/2})`),C(e,D),e.intersect=function(t){return h.R.info("iconSquare intersect",e,t),$.rect(e,t)},l}async function tM(t,e,{config:{themeVariables:r,flowchart:o}}){let{labelStyles:n}=(0,i.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,o?.wrappingWidth??0);let{shapeSvg:l,bbox:c,halfPadding:d,label:p}=await m(t,e,"icon-shape default"),g="t"===e.pos,f=s+2*d,y=s+2*d,{nodeBorder:x,mainBkg:b}=r,{stylesMap:k}=(0,i.WW)(e),w=8*!!e.label,T=u.A.svg(l),B=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(B.roughness=0,B.fillStyle="solid"),B.stroke=k.get("fill")??b;let S=T.path(E(-y/2,-f/2,y,f,5),B),v=Math.max(y,c.width),_=f+c.height+w,F=T.rectangle(-v/2,-_/2,v,_,{...B,fill:"transparent",stroke:"none"}),A=l.insert(()=>S,":first-child").attr("class","icon-shape2"),L=l.insert(()=>F);if(e.icon){let t=l.append("g");t.html(`<g>${await (0,a.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let r=t.node().getBBox(),i=r.width,o=r.height,n=r.x,h=r.y;t.attr("transform",`translate(${-i/2-n},${g?c.height/2+w/2-o/2-h:-c.height/2-w/2-o/2-h})`),t.attr("style",`color: ${k.get("stroke")??x};`)}return p.attr("transform",`translate(${-c.width/2-(c.x-(c.left??0))},${g?-_/2:_/2-c.height})`),A.attr("transform",`translate(0,${g?c.height/2+w/2:-c.height/2-w/2})`),C(e,L),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return $.rect(e,t);let r=e.x??0,i=e.y??0,o=e.height??0,a=[];return a=g?[{x:r-c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2+c.height+w},{x:r+y/2,y:i-o/2+c.height+w},{x:r+y/2,y:i+o/2},{x:r-y/2,y:i+o/2},{x:r-y/2,y:i-o/2+c.height+w},{x:r-c.width/2,y:i-o/2+c.height+w}]:[{x:r-y/2,y:i-o/2},{x:r+y/2,y:i-o/2},{x:r+y/2,y:i-o/2+f},{x:r+c.width/2,y:i-o/2+f},{x:r+c.width/2/2,y:i+o/2},{x:r-c.width/2,y:i+o/2},{x:r-c.width/2,y:i-o/2+f},{x:r-y/2,y:i-o/2+f}],$.polygon(e,a,t)},l}async function t$(t,e,{config:{themeVariables:r,flowchart:o}}){let{labelStyles:n}=(0,i.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,o?.wrappingWidth??0);let{shapeSvg:l,bbox:c,halfPadding:d,label:p}=await m(t,e,"icon-shape default"),g="t"===e.pos,f=s+2*d,y=s+2*d,{nodeBorder:x,mainBkg:b}=r,{stylesMap:k}=(0,i.WW)(e),w=8*!!e.label,T=u.A.svg(l),B=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(B.roughness=0,B.fillStyle="solid"),B.stroke=k.get("fill")??b;let S=T.path(E(-y/2,-f/2,y,f,.1),B),v=Math.max(y,c.width),_=f+c.height+w,F=T.rectangle(-v/2,-_/2,v,_,{...B,fill:"transparent",stroke:"none"}),A=l.insert(()=>S,":first-child"),L=l.insert(()=>F);if(e.icon){let t=l.append("g");t.html(`<g>${await (0,a.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let r=t.node().getBBox(),i=r.width,o=r.height,n=r.x,h=r.y;t.attr("transform",`translate(${-i/2-n},${g?c.height/2+w/2-o/2-h:-c.height/2-w/2-o/2-h})`),t.attr("style",`color: ${k.get("stroke")??x};`)}return p.attr("transform",`translate(${-c.width/2-(c.x-(c.left??0))},${g?-_/2:_/2-c.height})`),A.attr("transform",`translate(0,${g?c.height/2+w/2:-c.height/2-w/2})`),C(e,L),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return $.rect(e,t);let r=e.x??0,i=e.y??0,o=e.height??0,a=[];return a=g?[{x:r-c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2+c.height+w},{x:r+y/2,y:i-o/2+c.height+w},{x:r+y/2,y:i+o/2},{x:r-y/2,y:i+o/2},{x:r-y/2,y:i-o/2+c.height+w},{x:r-c.width/2,y:i-o/2+c.height+w}]:[{x:r-y/2,y:i-o/2},{x:r+y/2,y:i-o/2},{x:r+y/2,y:i-o/2+f},{x:r+c.width/2,y:i-o/2+f},{x:r+c.width/2/2,y:i+o/2},{x:r-c.width/2,y:i+o/2},{x:r-c.width/2,y:i-o/2+f},{x:r-y/2,y:i-o/2+f}],$.polygon(e,a,t)},l}async function tE(t,e,{config:{flowchart:r}}){let o=new Image;o.src=e?.img??"",await o.decode();let a=Number(o.naturalWidth.toString().replace("px","")),n=Number(o.naturalHeight.toString().replace("px",""));e.imageAspectRatio=a/n;let{labelStyles:s}=(0,i.GX)(e);e.labelStyle=s;let l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;let c=Math.max(e.label?l??0:0,e?.assetWidth??a),d="on"===e.constraint&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:c,p="on"===e.constraint?d/e.imageAspectRatio:e?.assetHeight??n;e.width=Math.max(d,l??0);let{shapeSvg:g,bbox:f,label:y}=await m(t,e,"image-shape default"),x="t"===e.pos,b=-d/2,k=8*!!e.label,w=u.A.svg(g),T=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(T.roughness=0,T.fillStyle="solid");let B=w.rectangle(b,-p/2,d,p,T),S=Math.max(d,f.width),v=p+f.height+k,_=w.rectangle(-S/2,-v/2,S,v,{...T,fill:"none",stroke:"none"}),F=g.insert(()=>B,":first-child"),A=g.insert(()=>_);if(e.img){let t=g.append("image");t.attr("href",e.img),t.attr("width",d),t.attr("height",p),t.attr("preserveAspectRatio","none"),t.attr("transform",`translate(${-d/2},${x?v/2-p:-v/2})`)}return y.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${x?-p/2-f.height/2-k/2:p/2-f.height/2+k/2})`),F.attr("transform",`translate(0,${x?f.height/2+k/2:-f.height/2-k/2})`),C(e,A),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return $.rect(e,t);let r=e.x??0,i=e.y??0,o=e.height??0,a=[];return a=x?[{x:r-f.width/2,y:i-o/2},{x:r+f.width/2,y:i-o/2},{x:r+f.width/2,y:i-o/2+f.height+k},{x:r+d/2,y:i-o/2+f.height+k},{x:r+d/2,y:i+o/2},{x:r-d/2,y:i+o/2},{x:r-d/2,y:i-o/2+f.height+k},{x:r-f.width/2,y:i-o/2+f.height+k}]:[{x:r-d/2,y:i-o/2},{x:r+d/2,y:i-o/2},{x:r+d/2,y:i-o/2+p},{x:r+f.width/2,y:i-o/2+p},{x:r+f.width/2/2,y:i+o/2},{x:r-f.width/2,y:i+o/2},{x:r-f.width/2,y:i-o/2+p},{x:r-d/2,y:i-o/2+p}],$.polygon(e,a,t)},g}async function tO(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,s="neo"===e.look?2*n:n,{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=Math.max(h.height+2*n,e.height??0),d=Math.max(h.width+2*s,(e.width??0)-c),p=[{x:0,y:0},{x:d,y:0},{x:d+3*c/6,y:-c},{x:-3*c/6,y:-c}],{cssStyles:g}=e;if("handDrawn"===e.look){let t=u.A.svg(l),o=(0,i.Fr)(e,{}),a=k(p),n=t.path(a,o);r=l.insert(()=>n,":first-child").attr("transform",`translate(${-d/2}, ${c/2})`),g&&r.attr("style",g)}else r=W(l,d,c,p);return a&&r.attr("style",a),e.width=d,e.height=c,C(e,r),e.intersect=function(t){return $.polygon(e,p,t)},l}async function tD(t,e){let{shapeSvg:r,bbox:i,label:o}=await m(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),o.attr("transform",`translate(${-(i.width/2)-(i.x-(i.left??0))}, ${-(i.height/2)-(i.y-(i.top??0))})`),C(e,a),e.intersect=function(t){return $.rect(e,t)},r}async function tK(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,s="neo"===e.look?2*n:n,{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=Math.max(h.height+n,e.height??0),d=Math.max(h.width+s,(e.width??0)-c),p=[{x:0,y:0},{x:d+3*c/6,y:0},{x:d,y:-c},{x:-(3*c)/6,y:-c}],{cssStyles:g}=e;if("handDrawn"===e.look){let t=u.A.svg(l),o=(0,i.Fr)(e,{}),a=k(p),n=t.path(a,o);r=l.insert(()=>n,":first-child").attr("transform",`translate(${-d/2}, ${c/2})`),g&&r.attr("style",g)}else r=W(l,d,c,p);return a&&r.attr("style",a),e.width=d,e.height=c,C(e,r),e.intersect=function(t){return $.polygon(e,p,t)},l}async function tI(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,s="neo"===e.look?2*n:n,{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=Math.max(h.height+n,e.height??0),d=Math.max(h.width+s,(e.width??0)-c),p=[{x:-3*c/6,y:0},{x:d,y:0},{x:d+3*c/6,y:-c},{x:0,y:-c}],{cssStyles:g}=e;if("handDrawn"===e.look){let t=u.A.svg(l),o=(0,i.Fr)(e,{}),a=k(p),n=t.path(a,o);r=l.insert(()=>n,":first-child").attr("transform",`translate(${-d/2}, ${c/2})`),g&&r.attr("style",g)}else r=W(l,d,c,p);return a&&r.attr("style",a),e.width=d,e.height=c,C(e,r),e.intersect=function(t){return $.polygon(e,p,t)},l}function tq(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.label="",e.labelStyle=r;let a=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:n}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),c=[{x:s,y:0},{x:0,y:l+3.5},{x:s-14,y:l+3.5},{x:0,y:2*l},{x:s,y:l-3.5},{x:14,y:l-3.5}],d=u.A.svg(a),p=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(p.roughness=0,p.fillStyle="solid");let g=k(c),f=d.path(g,p),y=a.insert(()=>f,":first-child");return y.attr("class","outer-path"),n&&"handDrawn"!==e.look&&y.selectAll("path").attr("style",n),o&&"handDrawn"!==e.look&&y.selectAll("path").attr("style",o),y.attr("transform",`translate(-${s/2},${-l})`),C(e,y),e.intersect=function(t){return h.R.info("lightningBolt intersect",e,t),$.polygon(e,c,t)},a}(0,c.K)(t_,"hexagon"),(0,c.K)(tF,"hourglass"),(0,c.K)(tA,"icon"),(0,c.K)(tL,"iconCircle"),(0,c.K)(tM,"iconRounded"),(0,c.K)(t$,"iconSquare"),(0,c.K)(tE,"imageSquare"),(0,c.K)(tO,"inv_trapezoid"),(0,c.K)(tD,"labelRect"),(0,c.K)(tK,"lean_left"),(0,c.K)(tI,"lean_right"),(0,c.K)(tq,"lightningBolt");var tR=(0,c.K)((t,e,r,i,o,a,n)=>`M${t},${e+a} a${o},${a} 0,0,0 ${r},0 a${o},${a} 0,0,0 ${-r},0 l0,${i} a${o},${a} 0,0,0 ${r},0 l0,${-i} M${t},${e+a+n} a${o},${a} 0,0,0 ${r},0`,"createCylinderPathD"),tP=(0,c.K)((t,e,r,i,o,a,n)=>`M${t},${e+a} M${t+r},${e+a} a${o},${a} 0,0,0 ${-r},0 l0,${i} a${o},${a} 0,0,0 ${r},0 l0,${-i} M${t},${e+a+n} a${o},${a} 0,0,0 ${r},0`,"createOuterCylinderPathD"),tz=(0,c.K)((t,e,r,i,o,a)=>`M${t-r/2},${-i/2} a${o},${a} 0,0,0 ${r},0`,"createInnerCylinderPathD");async function tW(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,l="neo"===e.look?16:n,h="neo"===e.look?24:n;if(e.width||e.height){let t=e.width??0;e.width=(e.width??0)-l,e.width<10&&(e.width=10),e.height=(e.height??0)-h-t/2/(2.5+t/50)*3,e.height<10&&(e.height=10)}let{shapeSvg:c,bbox:d,label:p}=await m(t,e,b(e)),g=(e?.width?e?.width:d.width)+2*l,f=g/2,y=f/(2.5+g/50),x=(e?.height?e?.height:d.height)+y+2*h,k=.1*x,{cssStyles:w}=e;if("handDrawn"===e.look){let t=u.A.svg(c),o=tP(0,0,g,x,f,y,k),a=tz(0,y,g,x,f,y),n=(0,i.Fr)(e,{}),s=t.path(o,n),l=t.path(a,n);c.insert(()=>l,":first-child").attr("class","line"),(r=c.insert(()=>s,":first-child")).attr("class","basic label-container"),w&&r.attr("style",w)}else{let t=tR(0,0,g,x,f,y,k);r=c.insert("path",":first-child").attr("d",t).attr("class","basic label-container outer-path").attr("style",(0,s.KL)(w)).attr("style",a)}return r.attr("label-offset-y",y),r.attr("transform",`translate(${-g/2}, ${-(x/2+y)})`),C(e,r),p.attr("transform",`translate(${-(d.width/2)-(d.x-(d.left??0))}, ${-(d.height/2)+y-(d.y-(d.top??0))})`),e.intersect=function(t){let r=$.rect(e,t),i=r.x-(e.x??0);if(0!=f&&(Math.abs(i)<(e.width??0)/2||Math.abs(i)==(e.width??0)/2&&Math.abs(r.y-(e.y??0))>(e.height??0)/2-y)){let o=y*y*(1-i*i/(f*f));o>0&&(o=Math.sqrt(o)),o=y-o,t.y-(e.y??0)>0&&(o=-o),r.y+=o}return r},c}async function tN(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a;if(e.width||e.height){let t=e.width;e.width=(t??0)*10/11-2*n,e.width<10&&(e.width=10),e.height=(e?.height??0)-2*s,e.height<10&&(e.height=10)}let{shapeSvg:l,bbox:h,label:c}=await m(t,e,b(e)),d=(e?.width?e?.width:h.width)+(n??0)*2,p=(e?.height?e?.height:h.height)+(s??0)*2,g="neo"===e.look?p/4:p/8,f=p+g,{cssStyles:y}=e,x=u.A.svg(l),k=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");let T=[{x:-d/2-d/2*.1,y:-f/2},{x:-d/2-d/2*.1,y:f/2},...w(-d/2-d/2*.1,f/2,d/2+d/2*.1,f/2,g,.8),{x:d/2+d/2*.1,y:-f/2},{x:-d/2-d/2*.1,y:-f/2},{x:-d/2,y:-f/2},{x:-d/2,y:f/2*1.1},{x:-d/2,y:-f/2}],B=x.polygon(T.map(t=>[t.x,t.y]),k),S=l.insert(()=>B,":first-child");return S.attr("class","basic label-container outer-path"),y&&"handDrawn"!==e.look&&S.selectAll("path").attr("style",y),o&&"handDrawn"!==e.look&&S.selectAll("path").attr("style",o),S.attr("transform",`translate(0,${-g/2})`),c.attr("transform",`translate(${-d/2+(e.padding??0)+d/2*.1/2-(h.x-(h.left??0))},${-p/2+(e.padding??0)-g-(h.y-(h.top??0))})`),C(e,S),e.intersect=function(t){return $.polygon(e,T,t)},l}(0,c.K)(tW,"linedCylinder"),(0,c.K)(tN,"linedWaveEdgedRect");var tj={normal:"usecase-actor-shape usecase-actor-normal",hollow:"usecase-actor-hollow",awesome:"usecase-actor-awesome",icon:"usecase-actor-icon"},tH=Math.PI/3,tU=(0,c.K)((t,e)=>{let r=.6*e,i=e*Math.sqrt(.64),o=Math.cos(tH),a=-Math.sin(tH),n=-(r*a),s=t+r*o,l=i*o,h=i*a;return`M ${n-l} ${s-h} L ${n+l} ${s+h}`},"businessMarkerPathForCircle"),tY={normal:tU(-24,12),hollow:tU(-23,9),awesome:tU(-21,13),icon:"M 12 -8 L 26 -26"},tG=(0,c.K)((t,e,r)=>{let i=(e.x??0)-(e.left??0),o=(e.y??0)-(e.top??0);t.attr("transform",`translate(${-e.width/2-i},${r-e.height/2-o})`)},"positionLabel"),tX=(0,c.K)((t,e,r,o,a=!1)=>{if("handDrawn"===e.look){let n=u.A.svg(t).path(r,(0,i.Fr)(e,a?{fill:"none"}:{}));return t.insert(()=>n,":first-child").attr("class",o)}let n=t.append("path").attr("class",o).attr("d",r);return a&&n.attr("fill","none"),n},"appendActorPath"),tZ=(0,c.K)((t,e,r,o,a,n,s=!1)=>{if("handDrawn"===e.look){let l=u.A.svg(t).circle(r,o,2*a,(0,i.Fr)(e,s?{fill:"none"}:{}));return t.insert(()=>l,":first-child").attr("class",n)}let l=t.append("circle").attr("class",n).attr("cx",r).attr("cy",o).attr("r",a);return s&&l.attr("fill","none"),l},"appendActorCircle"),tV=(0,c.K)((t,e,r)=>{e.business&&t.append("path").attr("class","usecase-business-marker usecase-actor-business-marker").attr("d",tY[r]).attr("fill","none").attr("style","stroke: inherit !important; stroke-width: inherit !important")},"appendBusinessActorMarker");async function tQ(t,e,r,o){let a,s,{labelStyles:h,nodeStyles:c}=(0,i.GX)(e);e.labelStyle=h;let d="icon"===r||void 0!==e.stereotype?{...e,icon:"icon"===r?void 0:e.icon,stereotype:void 0}:e,{shapeSvg:u,bbox:p,label:g}=await m(t,d,b(e,`usecase-actor-variant usecase-actor-${r}`)),f=e.accessibleName??e.label;f&&u.attr("role","img").attr("aria-label",f),g.attr("class","label actor-label usecase-actor-label");let{theme:y,themeVariables:k}=(0,l.D7)();if((0,n.XE)(u,e.colorIndex,y,k.borderColorArray),e.stereotype){let t=await x(u,`\xab${e.stereotype}\xbb`,{labelStyle:h,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0,width:e.wrappingWidth});a=t.label.attr("class","label usecase-stereotype"),s=t.bbox}let w=u.append("g").attr("class",`usecase-actor-glyph ${tj[r]}`).attr("style",c||null);await o(w,e),tV(w,e,r);let T=e.padding??8,B=s?.height??0,S=80+p.height+(s?B+2:0),v=Math.max(56,p.width,s?.width??0)+2*T,_=S+2*T,F=-S/2;w.attr("transform",`translate(0,${F+36})`);let A=F+72+8;return a&&s&&(tG(a,s,A+=B/2),A+=B/2+2),tG(g,p,A+p.height/2),C(e,u.insert("rect",":first-child").attr("class","usecase-actor-outline").attr("x",-v/2).attr("y",-_/2).attr("width",v).attr("height",_).attr("opacity",0).attr("aria-hidden","true")),e.intersect=t=>$.rect(e,t),u}async function tJ(t,e){return tQ(t,e,"normal",(t,e)=>{tX(t,e,"M 0 -12 C 6.627 -12 12 -17.373 12 -24 C 12 -30.627 6.627 -36 0 -36 C -6.627 -36 -12 -30.627 -12 -24 C -12 -17.373 -6.627 -12 0 -12 Z M 0 -12 V 8 M -17 -5 H 17 M 0 8 L -15 28 M 0 8 L 15 28","usecase-actor-stick")})}async function t0(t,e){return tQ(t,e,"awesome",(t,e)=>{tX(t,e,"M 0 -34 C 7.18 -34 13 -28.18 13 -21 C 13 -13.82 7.18 -8 0 -8 C -7.18 -8 -13 -13.82 -13 -21 C -13 -28.18 -7.18 -34 0 -34 Z M -24 25 C -24 7 -14 -3 0 -3 C 14 -3 24 7 24 25 C 24 28 21 30 18 30 H -18 C -21 30 -24 28 -24 25 Z","usecase-actor-awesome-silhouette")})}async function t1(t,e){return tQ(t,e,"hollow",(t,e)=>{tZ(t,e,0,-23,9,"usecase-actor-hollow-head",!0),tX(t,e,"M -22 -10 H 22 V 0 H 6 L 22 17 L 13 28 L 0 13 L -13 28 L -22 17 L -6 0 H -22 Z","usecase-actor-hollow-body",!0)})}(0,c.K)(tQ,"renderUsecaseActor"),(0,c.K)(tJ,"usecaseActor"),(0,c.K)(t0,"usecaseActorAwesome"),(0,c.K)(t1,"usecaseActorHollow");var t2=(0,c.K)(async(t,e)=>{if("handDrawn"===e.look){let r=u.A.svg(t).rectangle(-26,-28,52,52,(0,i.Fr)(e,{}));t.insert(()=>r,":first-child").attr("class","usecase-actor-icon-frame")}else t.append("rect").attr("class","usecase-actor-icon-frame").attr("x",-26).attr("y",-28).attr("width",52).attr("height",52).attr("rx",4).attr("ry",4);let r=e.icon??"",o=await (0,a.dn)(r.includes(":")?r:`fa:${r}`),n=await (0,a.WY)(r,{height:42,width:42,fallbackPrefix:"fa"}),s=t.append("g").attr("class",`usecase-actor-icon-symbol${o?"":" usecase-actor-icon-fallback"}`).attr("aria-hidden","true").html(`<g>${n}</g>`),l=s.node()?.getBBox();l&&s.attr("transform",`translate(${-l.width/2-l.x},${-2-l.height/2-l.y})`)},"drawIconActor");async function t5(t,e){return tQ(t,e,"icon",t2)}(0,c.K)(t5,"usecaseActorIcon");var t3=(0,c.K)((t,e,r)=>{let i=(e.x??0)-(e.left??0),o=(e.y??0)-(e.top??0);t.attr("transform",`translate(${-e.width/2-i},${r-e.height/2-o})`)},"positionLabel");async function t4(t,e){let r,o,a,{labelStyles:s,nodeStyles:h}=(0,i.GX)(e);e.labelStyle=s;let c=e.stereotype?{...e,stereotype:void 0}:e,{shapeSvg:d,bbox:p,halfPadding:g,label:f}=await m(t,c,b(e,"usecase-business-shape"));f.attr("class","label usecase-label");let{theme:y,themeVariables:k}=(0,l.D7)();if((0,n.XE)(d,e.colorIndex,y,k.borderColorArray),e.stereotype){let t=await x(d,`\xab${e.stereotype}\xbb`,{labelStyle:s,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0,width:e.wrappingWidth});r=t.label.attr("class","label usecase-stereotype"),o=t.bbox}let w=2*!!o,T=p.height+(o?.height??0)+w,B=Math.max(p.width,o?.width??0),S=g??10,v=B/2+2*S,_=T/2+2*S,F=Math.min(Math.max(S/5,1),S/2),A=B/2+F,L=v-F,M=A/v,E=L/v,O=_*Math.sqrt(Math.max(0,1-M*M)),D=-_*Math.sqrt(Math.max(0,1-E*E));if(r&&o&&t3(r,o,-T/2+o.height/2),t3(f,p,T/2-p.height/2),"handDrawn"===e.look){let t=u.A.svg(d).ellipse(0,0,2*v,2*_,(0,i.Fr)(e,{}));a=d.insert(()=>t,":first-child").attr("class","basic label-container usecase-business-ellipse")}else a=d.insert("ellipse",":first-child").attr("class","basic label-container usecase-business-ellipse").attr("style",h).attr("rx",v).attr("ry",_).attr("cx",0).attr("cy",0);d.append("path").attr("class","usecase-business-marker").attr("d",`M ${A} ${O} L ${L} ${D}`).attr("fill","none").attr("style",h||null);let K=e.accessibleName??e.label;return K&&d.attr("role","img").attr("aria-label",K),C(e,a),e.calcIntersect=(t,e)=>$.ellipse(t,t.width/2,t.height/2,e),e.intersect=t=>$.ellipse(e,v,_,t),d}(0,c.K)(t4,"usecaseBusiness");var t6=(0,c.K)((t,e,r,i)=>{let o=(e.x??0)-(e.left??0),a=(e.y??0)-(e.top??0);t.attr("transform",`translate(${r-e.width/2-o},${i-e.height/2-a})`)},"positionLabel"),t8=(0,c.K)(t=>{let e=Number.parseFloat(t??"");return Number.isFinite(e)&&e>=0?e:1},"numericStrokeWidth");async function t7(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e),{stylesMap:a}=(0,i.WW)(e);e.labelStyle=r;let{shapeSvg:n,bbox:s,label:l}=await m(t,e,b(e,"usecase-json-table"));n.attr("role","img"),e.accessibleName&&n.attr("aria-label",e.accessibleName),l.attr("class","label usecase-json-title");let h=n.append("g").attr("class","usecase-json-table-grid"),d=[];for(let t of e.jsonRows??[]){let i=await x(h,t.key,{labelStyle:r,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0}),o=await x(h,t.value,{labelStyle:r,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0});d.push({key:{label:i.label.attr("class","label usecase-json-key"),bbox:i.bbox},value:{label:o.label.attr("class","label usecase-json-value"),bbox:o.bbox}})}let p=Math.max(0,...d.map(({key:t})=>t.bbox.width))+16,g=Math.max(0,...d.map(({value:t})=>t.bbox.width))+16,f=Math.max(s.width+16,p+g),y=g+Math.max(0,f-p-g),k=s.height+8,w=d.map(({key:t,value:e})=>Math.max(t.bbox.height,e.bbox.height)+8),T=k+w.reduce((t,e)=>t+e,0),B=t8(a.get("stroke-width")),S=f+2*B,v=T+2*B,_=-f/2,F=-T/2,A="handDrawn"===e.look?u.A.svg(n):void 0,L=A?(0,i.Fr)(e,{}):void 0,M=(0,c.K)((t,e,r,i,a,n)=>{if(A&&L){let o=A.rectangle(r,i,a,n,L);return t.insert(()=>o,":first-child").attr("class",e)}return t.insert("rect",":first-child").attr("class",e).attr("x",r).attr("y",i).attr("width",a).attr("height",n).attr("style",o)},"insertCell"),E=M(n,"label-container usecase-json-border",-S/2,-v/2,S,v);M(h,"usecase-json-cell usecase-json-title-cell",_,F,f,k),h.node()?.append(l.node()),t6(l,s,0,F+k/2);let O=F+k;return d.forEach(({key:t,value:e},r)=>{let i=w[r],o=h.append("g").attr("class","usecase-json-row").attr("data-row-index",r).attr("transform",`translate(0,${O})`);M(o,"usecase-json-cell usecase-json-key-cell",_,0,p,i),M(o,"usecase-json-cell usecase-json-value-cell",_+p,0,y,i),o.node()?.append(t.label.node(),e.label.node()),t6(t.label,t.bbox,_+p/2,i/2),t6(e.label,e.bbox,_+p+y/2,i/2),O+=i}),C(e,E),e.intersect=t=>$.rect(e,t),n}async function t9(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a,l="neo"===e.look?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-2*n-2*l,10),e.height=Math.max((e?.height??0)-2*s-2*l,10));let{shapeSvg:h,bbox:c,label:d}=await m(t,e,b(e)),p=(e?.width?e?.width:c.width)+2*n+2*l,g=(e?.height?e?.height:c.height)+2*s+2*l,f=p-2*l,y=g-2*l,x=-f/2,w=-y/2,{cssStyles:T}=e,S=u.A.svg(h),v=(0,i.Fr)(e,{}),_=[{x:x-l,y:w+l},{x:x-l,y:w+y+l},{x:x+f-l,y:w+y+l},{x:x+f-l,y:w+y},{x:x+f,y:w+y},{x:x+f,y:w+y-l},{x:x+f+l,y:w+y-l},{x:x+f+l,y:w-l},{x:x+l,y:w-l},{x:x+l,y:w},{x,y:w},{x,y:w+l}];"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");let F=k(_),A=S.path(F,v),L=k([{x,y:w+l},{x:x+f-l,y:w+l},{x:x+f-l,y:w+y},{x:x+f,y:w+y},{x:x+f,y:w},{x,y:w}]),M=S.path(L,v);"handDrawn"!==e.look&&(A=B(A),M=B(M));let E=h.insert("g",":first-child");return E.insert(()=>A),E.insert(()=>M),E.attr("class","basic label-container outer-path"),T&&"handDrawn"!==e.look&&E.selectAll("path").attr("style",T),o&&"handDrawn"!==e.look&&E.selectAll("path").attr("style",o),d.attr("transform",`translate(${-(c.width/2)-l-(c.x-(c.left??0))}, ${-(c.height/2)+l-(c.y-(c.top??0))})`),C(e,E),e.intersect=function(t){return $.polygon(e,_,t)},h}async function et(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l=e.padding??0,h="neo"===e.look?16:l,c="neo"===e.look?12:l,d=!0;(e.width||e.height)&&(d=!1,e.width=(e?.width??0)-2*h,e.height=(e?.height??0)-3*c);let p=Math.max(n.width,e?.width??0)+2*h,g=Math.max(n.height,e?.height??0)+3*c,f="neo"===e.look?g/4:g/8,y=g+(d?f/2:-f/2),x=-p/2,T=-y/2,{cssStyles:B}=e,S=w(x-10,T+y+10,x+p-10,T+y+10,f,.8),v=S?.[S.length-1],_=[{x:x-10,y:T+10},{x:x-10,y:T+y+10},...S,{x:x+p-10,y:v.y-10},{x:x+p,y:v.y-10},{x:x+p,y:v.y-20},{x:x+p+10,y:v.y-20},{x:x+p+10,y:T-10},{x:x+10,y:T-10},{x:x+10,y:T},{x,y:T},{x,y:T+10}],F=[{x,y:T+10},{x:x+p-10,y:T+10},{x:x+p-10,y:v.y-10},{x:x+p,y:v.y-10},{x:x+p,y:T},{x,y:T}],A=u.A.svg(a),L=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(L.roughness=0,L.fillStyle="solid");let M=k(_),E=A.path(M,L),O=k(F),D=A.path(O,L),K=a.insert(()=>E,":first-child");return K.insert(()=>D),K.attr("class","basic label-container outer-path"),B&&"handDrawn"!==e.look&&K.selectAll("path").attr("style",B),o&&"handDrawn"!==e.look&&K.selectAll("path").attr("style",o),K.attr("transform",`translate(0,${-f/2})`),s.attr("transform",`translate(${-(n.width/2)-10-(n.x-(n.left??0))}, ${-(n.height/2)+10-f-(n.y-(n.top??0))})`),C(e,K),e.intersect=function(t){return $.polygon(e,_,t)},a}async function ee(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o,e.useHtmlLabels||(0,l.E)((0,l.zj)())||(e.centerLabel=!0);let{shapeSvg:n,bbox:s,label:h}=await m(t,e,b(e)),c=Math.max(s.width+(e.padding??0)*2,e?.width??0),d=Math.max(s.height+(e.padding??0)*2,e?.height??0),{cssStyles:p}=e,g=u.A.svg(n),f=(0,i.Fr)(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});"handDrawn"!==e.look&&(f.roughness=0,f.fillStyle="solid");let y=g.rectangle(-c/2,-d/2,c,d,f),x=n.insert(()=>y,":first-child");return x.attr("class","basic label-container outer-path"),h.attr("class","label noteLabel"),p&&"handDrawn"!==e.look&&x.selectAll("path").attr("style",p),a&&"handDrawn"!==e.look&&x.selectAll("path").attr("style",a),h.attr("transform",`translate(${-s.width/2-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),C(e,x),e.intersect=function(t){return $.rect(e,t)},n}(0,c.K)(t7,"usecaseJsonTable"),(0,c.K)(t9,"multiRect"),(0,c.K)(et,"multiWaveEdgedRectangle"),(0,c.K)(ee,"note");var er=(0,c.K)((t,e,r)=>`M${t+r/2},${e} L${t+r},${e-r/2} L${t+r/2},${e-r} L${t},${e-r/2} Z`,"createDecisionBoxPathD");async function ei(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:s}=await m(t,e,b(e)),l=s.width+(e.padding??0)+(s.height+(e.padding??0)),h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}],{cssStyles:c}=e;if("handDrawn"===e.look){let t=u.A.svg(n),o=(0,i.Fr)(e,{}),a=er(0,0,l),s=t.path(a,o);r=n.insert(()=>s,":first-child").attr("transform",`translate(${-l/2+.5}, ${l/2})`),c&&r.attr("style",c)}else(r=W(n,l,l,h)).attr("transform",`translate(${-l/2+.5}, ${l/2})`);return a&&r.attr("style",a),C(e,r),e.calcIntersect=function(t,e){let r=t.width;return $.polygon(t,[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}],e)},e.intersect=function(t){return this.calcIntersect(e,t)},n}async function eo(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?21:a??0,s="neo"===e.look?12:a??0,{shapeSvg:l,bbox:h,label:c}=await m(t,e,b(e)),d=h.width+("neo"===e.look?2*n:n),p=Math.max(h.height+("neo"===e.look?2*s:s),e.height??0),g=-Math.max(d,(e.width??0)-p/4)/2,f=-p/2,y=f/2,x=[{x:g+y,y:f},{x:g,y:0},{x:g+y,y:-f},{x:-g,y:-f},{x:-g,y:f}],{cssStyles:w}=e,T=u.A.svg(l),B=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(B.roughness=0,B.fillStyle="solid");let S=k(x),v=T.path(S,B),_=l.insert(()=>v,":first-child");return _.attr("class","basic label-container outer-path"),w&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",w),o&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",o),_.attr("transform",`translate(${-y/2},0)`),c.attr("transform",`translate(${-y/2-h.width/2-(h.x-(h.left??0))}, ${-(h.height/2)-(h.y-(h.top??0))})`),C(e,_),e.intersect=function(t){return $.polygon(e,x,t)},l}async function ea(t,e){let r,o,a,{labelStyles:n,nodeStyles:s}=(0,i.GX)(e);e.labelStyle=n,r=e.cssClasses?"node "+e.cssClasses:"node default";let c=t.insert("g").attr("class",r).attr("id",e.domId||e.id),p=c.insert("g"),g=c.insert("g").attr("class","label").attr("style",s),f=e.description,y=e.label,m=await O(g,y,e.labelStyle,!0,!0),x={width:0,height:0};if((0,l.E)((0,l.D7)())){let t=m.children[0],e=(0,d.Ltv)(m);x=t.getBoundingClientRect(),e.attr("width",x.width),e.attr("height",x.height)}h.R.info("Text 2",f);let b=f||[],k=m.getBBox(),w=await O(g,Array.isArray(b)?b.join("<br/>"):b,e.labelStyle,!0,!0),T=w.children[0],B=(0,d.Ltv)(w);x=T.getBoundingClientRect(),B.attr("width",x.width),B.attr("height",x.height);let S=(e.padding||0)/2;(0,d.Ltv)(w).attr("transform","translate( "+(x.width>k.width?0:(k.width-x.width)/2)+", "+(k.height+S+5)+")"),(0,d.Ltv)(m).attr("transform","translate( "+(x.width<k.width?0:-(k.width-x.width)/2)+", 0)"),x=g.node().getBBox(),g.attr("transform","translate("+-x.width/2+", "+(-x.height/2-S+3)+")");let v=x.width+(e.padding||0),_=x.height+(e.padding||0),F=-x.width/2-S,A=-x.height/2-S;if("handDrawn"===e.look){let t=u.A.svg(c),r=(0,i.Fr)(e,{}),n=t.path(E(F,A,v,_,e.rx||0),r),s=t.line(-x.width/2-S,-x.height/2-S+k.height+S,x.width/2+S,-x.height/2-S+k.height+S,r);a=c.insert(()=>(h.R.debug("Rough node insert CXC",n),s),":first-child"),o=c.insert(()=>(h.R.debug("Rough node insert CXC",n),n),":first-child")}else o=p.insert("rect",":first-child"),a=p.insert("line"),o.attr("class","outer title-state").attr("style",s).attr("x",-x.width/2-S).attr("y",-x.height/2-S).attr("width",x.width+(e.padding||0)).attr("height",x.height+(e.padding||0)),a.attr("class","divider").attr("x1",-x.width/2-S).attr("x2",x.width/2+S).attr("y1",-x.height/2-S+k.height+S).attr("y2",-x.height/2-S+k.height+S);return C(e,o),e.intersect=function(t){return $.rect(e,t)},c}async function en(t,e,{config:{themeVariables:r}}){let i=r?.radius??5,o={rx:i,ry:i,classes:"",labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return ty(t,e,o)}async function es(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a="neo"===e.look?16:e.padding??0,n="neo"===e.look?12:e.padding??0,{shapeSvg:l,bbox:h,label:c}=await m(t,e,b(e)),d=(e?.width??h.width)+2*a+("neo"===e.look?8:16),p=(e?.height??h.height)+2*n,g=d-8,f=8-d/2,y=-p/2,{cssStyles:x}=e,k=u.A.svg(l),w=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=k.polygon([{x:f,y},{x:f+g,y},{x:f+g,y:y+p},{x:f-8,y:y+p},{x:f-8,y},{x:f,y},{x:f,y:y+p}].map(t=>[t.x,t.y]),w),B=l.insert(()=>T,":first-child");return B.attr("class","basic label-container outer-path").attr("style",(0,s.KL)(x)),o&&"handDrawn"!==e.look&&B.selectAll("path").attr("style",o),x&&"handDrawn"!==e.look&&B.selectAll("path").attr("style",o),c.attr("transform",`translate(${4-h.width/2-(h.x-(h.left??0))}, ${-(h.height/2)-(h.y-(h.top??0))})`),C(e,B),e.intersect=function(t){return $.rect(e,t)},l}async function el(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-2*n,10),e.height=Math.max((e?.height??0)/1.5-2*s,10));let{shapeSvg:l,bbox:h,label:c}=await m(t,e,b(e)),d=(e?.width?e?.width:h.width)+2*n,p=((e?.height?e?.height:h.height)+2*s)*1.5/1.5,g=-d/2,f=-p/2,{cssStyles:y}=e,x=u.A.svg(l),w=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=[{x:g,y:f},{x:g,y:f+p},{x:g+d,y:f+p},{x:g+d,y:f-p/2}],B=k(T),S=x.path(B,w),v=l.insert(()=>S,":first-child");return v.attr("class","basic label-container outer-path"),y&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",y),o&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",o),v.attr("transform",`translate(0, ${p/4})`),c.attr("transform",`translate(${-d/2+(e.padding??0)-(h.x-(h.left??0))}, ${-p/4+(e.padding??0)-(h.y-(h.top??0))})`),C(e,v),e.intersect=function(t){return $.polygon(e,T,t)},l}async function eh(t,e){let r=e.padding??0,i="neo"===e.look?16:2*r,o="neo"===e.look?12:r,a={rx:0,ry:0,classes:"",labelPaddingX:e.labelPaddingX??i,labelPaddingY:o},s=await ty(t,e,a);if(void 0!==e.colorIndex){let{theme:t,themeVariables:r}=(0,l.D7)();(0,n.XE)(s,e.colorIndex,t,r.borderColorArray)}return s}(0,c.K)(ei,"question"),(0,c.K)(eo,"rect_left_inv_arrow"),(0,c.K)(ea,"rectWithTitle"),(0,c.K)(en,"roundedRect"),(0,c.K)(es,"shadedProcess"),(0,c.K)(el,"slopedRect"),(0,c.K)(eh,"squareRect");var ec=(0,c.K)((t,e,r)=>{let i=t.height+r,o=i*Math.cos(Math.PI/98),a=Math.sqrt(Math.max(0,o**2-t.height**2));return{w:Math.max(t.width+i/4+e,1.5*i+(i-o),t.width+e+i-a),h:i}},"stadiumDimensions");async function ed(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?40:a,s="neo"===e.look?24:a,{shapeSvg:l,bbox:h}=await m(t,e,b(e)),{w:c,h:d}=ec(h,n,s),p=d/2,{cssStyles:g}=e,f=u.A.svg(l),y=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(y.roughness=0,y.fillStyle="solid");let x=[{x:-c/2+p,y:-d/2},{x:c/2-p,y:-d/2},...T(-c/2+p,0,p,50,90,270),{x:c/2-p,y:d/2},...T(c/2-p,0,p,50,270,450)],w=k(x),B=f.path(w,y),S=l.insert(()=>B,":first-child");return S.attr("class","basic label-container outer-path"),g&&"handDrawn"!==e.look&&S.selectChildren("path").attr("style",g),o&&"handDrawn"!==e.look&&S.selectChildren("path").attr("style",o),C(e,S),e.intersect=function(t){return $.polygon(e,x,t)},l}async function eu(t,e){let r={rx:"neo"===e.look?3:5,ry:"neo"===e.look?3:5,classes:"flowchart-node"};return ty(t,e,r)}function ep(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{cssStyles:n}=e,{lineColor:s,stateBorder:l,nodeBorder:h,nodeShadow:c}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);let d=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),p=u.A.svg(d),g=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(g.roughness=0,g.fillStyle="solid");let f=p.circle(0,0,e.width,{...g,stroke:s,strokeWidth:2}),y=l??h,m=(e.width??0)*5/14,x=p.circle(0,0,m,{...g,fill:y,stroke:y,strokeWidth:2,fillStyle:"solid"}),b=d.insert(()=>f,":first-child");if(b.insert(()=>x),"handDrawn"!==e.look&&b.attr("class","outer-path"),n&&b.selectAll("path").attr("style",n),a&&b.selectAll("path").attr("style",a),e.width<25&&c&&"handDrawn"!==e.look){let e=t.node()?.ownerSVGElement?.id??"",r=e?`${e}-drop-shadow-small`:"drop-shadow-small";b.attr("style",`filter:url(#${r})`)}return C(e,b),e.intersect=function(t){return $.circle(e,(e.width??0)/2,t)},d}function eg(t,e,{config:{themeVariables:r}}){let o,{lineColor:a,nodeShadow:n}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);let s=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);if("handDrawn"===e.look){let t=u.A.svg(s).circle(0,0,e.width,(0,i.ue)(a));(o=s.insert(()=>t)).attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else(o=s.insert("circle",":first-child")).attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&n&&"handDrawn"!==e.look){let e=t.node()?.ownerSVGElement?.id??"",r=e?`${e}-drop-shadow-small`:"drop-shadow-small";o.attr("style",`filter:url(#${r})`)}return C(e,o),e.intersect=function(t){return $.circle(e,(e.width??7)/2,t)},s}async function ef(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e?.padding??8,n="neo"===e.look?28:a,l="neo"===e.look?12:a,{shapeSvg:h,bbox:c}=await m(t,e,b(e)),d=Math.max(c.width+16+n,e.width??0),p=Math.max(c.height+l,e.height??0),g=d-16,f=-d/2,y=-p/2,x=[{x:0,y:0},{x:g,y:0},{x:g,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:g+8,y:0},{x:g+8,y:-p},{x:-8,y:-p},{x:-8,y:0}];if("handDrawn"===e.look){let t=u.A.svg(h),r=(0,i.Fr)(e,{}),o=t.rectangle(f,y,g+16,p,r),a=t.line(f+8,y,f+8,y+p,r),n=t.line(f+8+g,y,f+8+g,y+p,r);h.insert(()=>a,":first-child"),h.insert(()=>n,":first-child");let l=h.insert(()=>o,":first-child"),{cssStyles:c}=e;l.attr("class","basic label-container").attr("style",(0,s.KL)(c)),C(e,l)}else{let t=W(h,g,p,x);o&&t.attr("style",o),C(e,t)}return e.intersect=function(t){return $.polygon(e,x,t)},h}async function ey(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-2*s,10),e.width=Math.max((e?.width??0)-2*n-.2*(e.height+2*s),10));let{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=(e?.height?e?.height:h.height)+2*s,d=.2*c,p=(e?.width?e?.width:h.width)+2*n+d-d,g=-p/2,f=-c/2,{cssStyles:y}=e,x=u.A.svg(l),w=(0,i.Fr)(e,{}),T=[{x:g-d/2,y:f},{x:g+p+d/2,y:f},{x:g+p+d/2,y:f+c},{x:g-d/2,y:f+c}];"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let B=k(T),S=x.path(B,w),v=k([{x:g+p-d/2,y:f+c},{x:g+p+d/2,y:f+c},{x:g+p+d/2,y:f+c-.2*c}]),_=x.path(v,{...w,fillStyle:"solid"}),F=l.insert(()=>_,":first-child");return F.insert(()=>S,":first-child"),F.attr("class","basic label-container outer-path"),y&&"handDrawn"!==e.look&&F.selectAll("path").attr("style",y),o&&"handDrawn"!==e.look&&F.selectAll("path").attr("style",o),C(e,F),e.intersect=function(t){return $.polygon(e,T,t)},l}async function em(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l=Math.max(n.width+(e.padding??0)*2,e?.width??0),h=Math.max(n.height+(e.padding??0)*2,e?.height??0),c=h/8,d=.2*l,p=.2*h,g=h+c,{cssStyles:f}=e,y=u.A.svg(a),x=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let T=[{x:-l/2-l/2*.1,y:g/2},...w(-l/2-l/2*.1,g/2,l/2+l/2*.1,g/2,c,.8),{x:l/2+l/2*.1,y:-g/2},{x:-l/2-l/2*.1,y:-g/2}],B=-l/2+l/2*.1,S=-g/2-.4*p,v=[{x:B+l-d,y:(S+h)*1.3},{x:B+l,y:S+h-p},{x:B+l,y:(S+h)*.9},...w(B+l,(S+h)*1.25,B+l-d,(S+h)*1.3,-(.02*h),.5)],_=k(T),F=y.path(_,x),A=k(v),L=y.path(A,{...x,fillStyle:"solid"}),M=a.insert(()=>L,":first-child");return M.insert(()=>F,":first-child"),M.attr("class","basic label-container outer-path"),f&&"handDrawn"!==e.look&&M.selectAll("path").attr("style",f),o&&"handDrawn"!==e.look&&M.selectAll("path").attr("style",o),M.attr("transform",`translate(0,${-c/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(n.x-(n.left??0))},${-h/2+(e.padding??0)-c/2-(n.y-(n.top??0))})`),C(e,M),e.intersect=function(t){return $.polygon(e,T,t)},a}async function ex(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n}=await m(t,e,b(e)),s=Math.max(n.width+(e.padding??0),e?.width||0),l=Math.max(n.height+(e.padding??0),e?.height||0),h=a.insert("rect",":first-child");return h.attr("class","text").attr("style",o).attr("rx",0).attr("ry",0).attr("x",-s/2).attr("y",-l/2).attr("width",s).attr("height",l),C(e,h),e.intersect=function(t){return $.rect(e,t)},a}(0,c.K)(ed,"stadium"),(0,c.K)(eu,"state"),(0,c.K)(ep,"stateEnd"),(0,c.K)(eg,"stateStart"),(0,c.K)(ef,"subroutine"),(0,c.K)(ey,"taggedRect"),(0,c.K)(em,"taggedWaveEdgedRectangle"),(0,c.K)(ex,"text");var eC=(0,c.K)((t,e,r,i,o,a)=>`M${t},${e} + a${o},${a} 0,0,1 0,${-i} + l${r},0 + a${o},${a} 0,0,1 0,${i} + M${r},${-i} + a${o},${a} 0,0,0 0,${i} + l${-r},0`,"createCylinderPathD"),eb=(0,c.K)((t,e,r,i,o,a)=>`M${t},${e} M${t+r},${e} a${o},${a} 0,0,0 0,${-i} l${-r},0 a${o},${a} 0,0,0 0,${i} l${r},0`,"createOuterCylinderPathD"),ek=(0,c.K)((t,e,r,i,o,a)=>`M${t+r/2},${-i/2} a${o},${a} 0,0,0 0,${i}`,"createInnerCylinderPathD");async function ew(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,l="neo"===e.look?12:n/2,h=e.height??0;e.height&&(e.height=e.height-l,e.height<5&&(e.height=5)),e.width&&(e.width=e.width-l-h/2/(2.5+h/50)*3,e.width<10&&(e.width=10));let{shapeSvg:c,bbox:d,label:p}=await m(t,e,b(e)),g=Math.max(e.height??0,d.height)+l,f=g/2,y=f/(2.5+g/50),x=Math.max(e.width??0,d.width)+y+l,{cssStyles:k}=e;if("handDrawn"===e.look){let t=u.A.svg(c),o=eb(0,0,x,g,y,f),a=ek(0,0,x,g,y,f),n=t.path(o,(0,i.Fr)(e,{})),s=t.path(a,(0,i.Fr)(e,{fill:"none"}));r=c.insert(()=>s,":first-child"),(r=c.insert(()=>n,":first-child")).attr("class","basic label-container"),k&&r.attr("style",k)}else{let t=eC(0,0,x,g,y,f);(r=c.insert("path",":first-child").attr("d",t).attr("class","basic label-container").attr("style",(0,s.KL)(k)).attr("style",a)).attr("class","basic label-container outer-path"),k&&r.selectAll("path").attr("style",k),a&&r.selectAll("path").attr("style",a)}return r.attr("label-offset-x",y),r.attr("transform",`translate(${-x/2}, ${g/2} )`),p.attr("transform",`translate(${-(d.width/2)-y-(d.x-(d.left??0))}, ${-(d.height/2)-(d.y-(d.top??0))})`),C(e,r),e.intersect=function(t){let r=$.rect(e,t),i=r.y-(e.y??0);if(0!=f&&(Math.abs(i)<(e.height??0)/2||Math.abs(i)==(e.height??0)/2&&Math.abs(r.x-(e.x??0))>(e.width??0)/2-y)){let o=y*y*(1-i*i/(f*f));0!=o&&(o=Math.sqrt(Math.abs(o))),o=y-o,t.x-(e.x??0)>0&&(o=-o),r.x+=o}return r},c}async function eT(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,s=(e.look,n),l="neo"===e.look?2*n:n,{shapeSvg:h,bbox:c}=await m(t,e,b(e)),d=Math.max(c.height+s,e.height??0),p=Math.max(c.width+l,(e.width??0)-d),g=[{x:-3*d/6,y:0},{x:p+3*d/6,y:0},{x:p,y:-d},{x:0,y:-d}],{cssStyles:f}=e;if("handDrawn"===e.look){let t=u.A.svg(h),o=(0,i.Fr)(e,{}),a=k(g),n=t.path(a,o);r=h.insert(()=>n,":first-child").attr("transform",`translate(${-p/2}, ${d/2})`),f&&r.attr("style",f)}else r=W(h,p,d,g);return a&&r.attr("style",a),e.width=p,e.height=d,C(e,r),e.intersect=function(t){return $.polygon(e,g,t)},h}async function eB(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a;(e.width||e.height)&&(e.height=(e.height??0)-2*s,e.height<5&&(e.height=5),e.width=(e.width??0)-2*n,e.width<15&&(e.width=15));let{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=(e?.width?e?.width:h.width)+2*n,d=(e?.height?e?.height:h.height)+2*s,{cssStyles:p}=e,g=u.A.svg(l),f=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(f.roughness=0,f.fillStyle="solid");let y=[{x:-c/2*.8,y:-d/2},{x:c/2*.8,y:-d/2},{x:c/2,y:-d/2*.6},{x:c/2,y:d/2},{x:-c/2,y:d/2},{x:-c/2,y:-d/2*.6}],x=k(y),w=g.path(x,f),T=l.insert(()=>w,":first-child");return T.attr("class","basic label-container outer-path"),p&&"handDrawn"!==e.look&&T.selectChildren("path").attr("style",p),o&&"handDrawn"!==e.look&&T.selectChildren("path").attr("style",o),C(e,T),e.intersect=function(t){return $.polygon(e,y,t)},l}async function eS(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?2*a:a;(e.width||e.height)&&(e.width=((e?.width??0)-n)/2,e.width<10&&(e.width=10),e.height=e?.height??0,e.height<10&&(e.height=10));let{shapeSvg:s,bbox:c,label:d}=await m(t,e,b(e)),p=(0,l._3)((0,l.D7)().flowchart?.htmlLabels),g=(e?.width?e?.width:c.width)+n,f=e?.height?e?.height:g+c.height,y=[{x:0,y:0},{x:f,y:0},{x:f/2,y:-f}],{cssStyles:x}=e,w=u.A.svg(s),T=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(T.roughness=0,T.fillStyle="solid");let B=k(y),S=w.path(B,T),v=s.insert(()=>S,":first-child").attr("transform",`translate(${-f/2}, ${f/2})`).attr("class","outer-path");return x&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",x),o&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",o),e.width=g,e.height=f,C(e,v),d.attr("transform",`translate(${-c.width/2-(c.x-(c.left??0))}, ${f/2-(c.height+(e.padding??0)/(p?2:1)-(c.y-(c.top??0)))})`),e.intersect=function(t){return h.R.info("Triangle intersect",e,y,t),$.polygon(e,y,t)},s}async function ev(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a,l=!0;(e.width||e.height)&&(l=!1,e.width=(e?.width??0)-2*n,e.width<10&&(e.width=10),e.height=(e?.height??0)-2*s,e.height<10&&(e.height=10));let{shapeSvg:h,bbox:c,label:d}=await m(t,e,b(e)),p=(e?.width?e?.width:c.width)+(n??0)*2,g=(e?.height?e?.height:c.height)+(s??0)*2,f="neo"===e.look?g/4:g/8,y=g+(l?f:-f),{cssStyles:x}=e,T=14-p,B=T>0?T/2:0,S=u.A.svg(h),v=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");let _=[{x:-p/2-B,y:y/2},...w(-p/2-B,y/2,p/2+B,y/2,f,.8),{x:p/2+B,y:-y/2},{x:-p/2-B,y:-y/2}],F=k(_),A=S.path(F,v),L=h.insert(()=>A,":first-child");return L.attr("class","basic label-container outer-path"),x&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",x),o&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",o),L.attr("transform",`translate(0,${-f/2})`),d.attr("transform",`translate(${-p/2+(e.padding??0)-(c.x-(c.left??0))},${-g/2+(e.padding??0)-f-(c.y-(c.top??0))})`),C(e,L),e.intersect=function(t){return $.polygon(e,_,t)},h}async function e_(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?20:a;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);let t=Math.min(.2*e.height,e.height/4);e.height=Math.ceil(e.height-s-20/9*t),e.width=e.width-2*n}let{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=(e?.width?e?.width:h.width)+2*n,d=(e?.height?e?.height:h.height)+s,p=d/8,g=d+2*p,{cssStyles:f}=e,y=u.A.svg(l),x=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let T=[{x:-c/2,y:g/2},...w(-c/2,g/2,c/2,g/2,p,1),{x:c/2,y:-g/2},...w(c/2,-g/2,-c/2,-g/2,p,-1)],B=k(T),S=y.path(B,x),v=l.insert(()=>S,":first-child");return v.attr("class","basic label-container"),f&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",f),o&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",o),C(e,v),e.intersect=function(t){return $.polygon(e,T,t)},l}async function eF(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a="neo"===e.look?16:e.padding??0,n="neo"===e.look?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-2*a-10,10),e.height=Math.max((e?.height??0)-2*n-10,10));let{shapeSvg:s,bbox:l,label:h}=await m(t,e,b(e)),c=(e?.width?e?.width:l.width)+2*a+10,d=(e?.height?e?.height:l.height)+2*n+10,p=c-10,g=d-10,f=-p/2,y=-g/2,{cssStyles:x}=e,k=u.A.svg(s),w=(0,i.Fr)(e,{}),T=[{x:f-10,y:y-10},{x:f-10,y:y+g},{x:f+p,y:y+g},{x:f+p,y:y-10}],B=`M${f-10},${y-10} L${f+p},${y-10} L${f+p},${y+g} L${f-10},${y+g} L${f-10},${y-10} + M${f-10},${y} L${f+p},${y} + M${f},${y-10} L${f},${y+g}`;"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let S=k.path(B,w),v=s.insert(()=>S,":first-child");return v.attr("transform","translate(5, 5)"),v.attr("class","basic label-container outer-path"),x&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",x),o&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",o),h.attr("transform",`translate(${-(l.width/2)+5-(l.x-(l.left??0))}, ${-(l.height/2)+5-(l.y-(l.top??0))})`),C(e,v),e.intersect=function(t){return $.polygon(e,T,t)},s}(0,c.K)(ew,"tiltedCylinder"),(0,c.K)(eT,"trapezoid"),(0,c.K)(eB,"trapezoidalPentagon"),(0,c.K)(eS,"triangle"),(0,c.K)(ev,"waveEdgedRectangle"),(0,c.K)(e_,"waveRectangle"),(0,c.K)(eF,"windowPane");var eA=new Set(["redux-color","redux-dark-color"]),eL=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function eM(t,e){e.alias&&(e.label=e.alias);let{theme:r,themeVariables:o}=(0,l.zj)(),{rowEven:a,rowOdd:n,nodeBorder:h,borderColorArray:c}=o;if("handDrawn"===e.look){let{themeVariables:r}=(0,l.zj)(),{background:i}=r,o={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${i}`]};await eM(t,o)}let p=(0,l.zj)();e.useHtmlLabels=p.htmlLabels;let g=p.er?.diagramPadding??10,f=p.er?.entityPadding??6,{cssStyles:y}=e,{labelStyles:m,nodeStyles:x}=(0,i.GX)(e);if(0===e.attributes.length&&e.label){let i={rx:0,ry:0,labelPaddingX:g,labelPaddingY:1.5*g,classes:""};(0,s.Un)(e.label,p)+2*i.labelPaddingX<p.er.minEntityWidth&&(e.width=p.er.minEntityWidth);let o=await ty(t,e,i);if(null!=r&&eA.has(r)){let t=e.colorIndex??0;o.attr("data-color-id",`color-${t%c.length}`)}if(!(0,l._3)(p.htmlLabels)){let t=o.select("text"),e=t.node()?.getBBox();t.attr("transform",`translate(${-e.width/2}, 0)`)}return o}p.htmlLabels||(g*=1.25,f*=1.25);let k=b(e);k||(k="node default");let w=t.insert("g").attr("class",k).attr("id",e.domId||e.id),T=await e$(w,e.label??"",p,0,0,["name"],m);T.height+=f;let B=0,S=[],v=[],_=0,F=0,A=0,L=0,M=!0,E=!0;for(let t of e.attributes){let e=await e$(w,t.type,p,0,B,["attribute-type"],m);_=Math.max(_,e.width+g);let r=await e$(w,t.name,p,0,B,["attribute-name"],m);F=Math.max(F,r.width+g);let i=await e$(w,t.keys.join(),p,0,B,["attribute-keys"],m);A=Math.max(A,i.width+g);let o=await e$(w,t.comment,p,0,B,["attribute-comment"],m);L=Math.max(L,o.width+g);let a=Math.max(e.height,r.height,i.height,o.height)+f;v.push({yOffset:B,rowHeight:a}),B+=a}let O=4;A<=g&&(M=!1,A=0,O--),L<=g&&(E=!1,L=0,O--);let D=w.node().getBBox();if(T.width+2*g-(_+F+A+L)>0){let t=T.width+2*g-(_+F+A+L);_+=t/O,F+=t/O,A>0&&(A+=t/O),L>0&&(L+=t/O)}let K=_+F+A+L,I=u.A.svg(w),q=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(q.roughness=0,q.fillStyle="solid");let R=0;v.length>0&&(R=v.reduce((t,e)=>t+(e?.rowHeight??0),0));let P=Math.max(D.width+2*g,e?.width||0,K),z=Math.max((R??0)+T.height,e?.height||0),W=-P/2,N=-z/2;if(w.selectAll("g:not(:first-child)").each((t,e,r)=>{let i=(0,d.Ltv)(r[e]),o=i.attr("transform"),a=0,n=0;if(o){let t=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(o);t&&(a=parseFloat(t[1]),n=parseFloat(t[2]),i.attr("class").includes("attribute-name")?a+=_:i.attr("class").includes("attribute-keys")?a+=_+F:i.attr("class").includes("attribute-comment")&&(a+=_+F+A))}i.attr("transform",`translate(${W+g/2+a}, ${n+N+T.height+f/2})`)}),w.select(".name").attr("transform","translate("+-T.width/2+", "+(N+f/2)+")"),null!=r&&eA.has(r)){let t=e.colorIndex??0;w.attr("data-color-id",`color-${t%c.length}`)}let j=I.rectangle(W,N,P,z,q),H=w.insert(()=>j,":first-child").attr("class","outer-path").attr("style",y.join(""));for(let[t,e]of(S.push(0),v.entries())){let r=(t+1)%2==0&&0!==e.yOffset,i=I.rectangle(W,T.height+N+e?.yOffset,P,e?.rowHeight,{...q,fill:r?a:n,stroke:h});w.insert(()=>i,"g.label").attr("style",y.join("")).attr("class",`row-rect-${r?"even":"odd"}`)}let U=eE(W,T.height+N,P+W,T.height+N,1e-4),Y=I.polygon(U.map(t=>[t.x,t.y]),q);if(w.insert(()=>Y).attr("class","divider"),U=eE(_+W,T.height+N,_+W,z+N,1e-4),Y=I.polygon(U.map(t=>[t.x,t.y]),q),w.insert(()=>Y).attr("class","divider"),M){let t=_+F+W;U=eE(t,T.height+N,t,z+N,1e-4),Y=I.polygon(U.map(t=>[t.x,t.y]),q),w.insert(()=>Y).attr("class","divider")}if(E){let t=_+F+A+W;U=eE(t,T.height+N,t,z+N,1e-4),Y=I.polygon(U.map(t=>[t.x,t.y]),q),w.insert(()=>Y).attr("class","divider")}for(let t of S){let e=T.height+N+t;U=eE(W,e,P+W,e,1e-4),Y=I.polygon(U.map(t=>[t.x,t.y]),q),w.insert(()=>Y).attr("class","divider")}if(C(e,H),x&&"handDrawn"!==e.look)if(null!=r&&eL.has(r))w.selectAll("path").attr("style",x);else{let t=x.split(";"),e=t?.filter(t=>t.includes("stroke"))?.map(t=>`${t}`).join("; ");w.selectAll("path").attr("style",e??""),w.selectAll(".row-rect-even path").attr("style",x)}return e.intersect=function(t){return $.rect(e,t)},w}async function e$(t,e,r,i=0,a=0,n=[],h=""){let c=t.insert("g").attr("class",`label ${n.join(" ")}`).attr("transform",`translate(${i}, ${a})`).attr("style",h);e!==(0,l.QO)(e)&&(e=(e=(0,l.QO)(e)).replaceAll("<","<").replaceAll(">",">"));let u=c.node().appendChild(await (0,o.GZ)(c,e,{width:(0,s.Un)(e,r)+100,style:h,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let t=u.children[0];for(t.textContent=t.textContent.replaceAll("<","<").replaceAll(">",">");t.childNodes[0];)(t=t.childNodes[0]).textContent=t.textContent.replaceAll("<","<").replaceAll(">",">")}let p=u.getBBox();if((0,l._3)(r.htmlLabels)){let t=u.children[0];t.style.textAlign="start";let e=(0,d.Ltv)(u);p=t.getBoundingClientRect(),e.attr("width",p.width),e.attr("height",p.height)}return p}function eE(t,e,r,i,o){return t===r?[{x:t-o/2,y:e},{x:t+o/2,y:e},{x:r+o/2,y:i},{x:r-o/2,y:i}]:[{x:t,y:e-o/2},{x:t,y:e+o/2},{x:r,y:i+o/2},{x:r,y:i-o/2}]}async function eO(t,e,r,i,o=r.class.padding??12){let a=3*!i,n=t.insert("g").attr("class",b(e)).attr("id",e.domId||e.id),s=null,l=null,h=null,c=null,d=0,u=0,p=0;if(s=n.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let t=e.annotations[0];await eD(s,{text:`\xab${t}\xbb`},0),d=s.node().getBBox().height}l=n.insert("g").attr("class","label-group text"),await eD(l,e,0,["font-weight: bolder"]);let g=l.node().getBBox();u=g.height,h=n.insert("g").attr("class","members-group text");let f=0;for(let t of e.members){let e=await eD(h,t,f,[t.parseClassifier()]);f+=e+a}(p=h.node().getBBox().height)<=0&&(p=o/2),c=n.insert("g").attr("class","methods-group text");let y=0;for(let t of e.methods){let e=await eD(c,t,y,[t.parseClassifier()]);y+=e+a}let m=n.node().getBBox();if(null!==s){let t=s.node().getBBox();s.attr("transform",`translate(${-t.width/2})`)}return l.attr("transform",`translate(${-g.width/2}, ${d})`),m=n.node().getBBox(),h.attr("transform",`translate(0, ${d+u+2*o})`),m=n.node().getBBox(),c.attr("transform",`translate(0, ${d+u+(p?p+4*o:2*o)})`),m=n.node().getBBox(),{shapeSvg:n,bbox:m}}async function eD(t,e,r,i=[]){let a,n=t.insert("g").attr("class","label").attr("style",i.join("; ")),h=(0,l.zj)(),c="useHtmlLabels"in e?e.useHtmlLabels:(0,l._3)(h.htmlLabels)??!0,u="";u="text"in e?e.text:e.label,!c&&u.startsWith("\\")&&(u=u.substring(1)),(0,l.Wi)(u)&&(c=!0);let g=await (0,o.GZ)(n,(0,l.oB)((0,s.Sm)(u)),{width:(0,s.Un)(u,h)+50,classes:"markdown-node-label",useHtmlLabels:c},h),f=1;if(c){let t=g.children[0],e=(0,d.Ltv)(g);f=t.innerHTML.split("<br>").length,t.innerHTML.includes("</math>")&&(f+=t.innerHTML.split("<mrow>").length-1),await p(t),a=t.getBoundingClientRect(),e.attr("width",a.width),e.attr("height",a.height)}else{i.includes("font-weight: bolder")&&(0,d.Ltv)(g).selectAll("tspan").attr("font-weight",""),f=g.children.length;let t=g.children[0];(""===g.textContent||g.textContent.includes(">"))&&(t.textContent=u[0]+u.substring(1).replaceAll(">",">").replaceAll("<","<").trim()," "===u[1]&&(t.textContent=t.textContent[0]+" "+t.textContent.substring(1))),"undefined"===t.textContent&&(t.textContent=""),a=g.getBBox()}return n.attr("transform","translate(0,"+(-a.height/(2*f)+r)+")"),a.height}async function eK(t,e){let r=(0,l.D7)(),{theme:o,themeVariables:a}=r,{useGradient:s,borderColorArray:h}=a,c=r.class.padding??12,p=e.useHtmlLabels??(0,l._3)(r.htmlLabels)??!0;e.annotations=e.annotations??[],e.members=e.members??[],e.methods=e.methods??[];let{shapeSvg:g,bbox:f}=await eO(t,e,r,p,c);(0,n.XE)(g,e.colorIndex,o,h);let{labelStyles:y,nodeStyles:m}=(0,i.GX)(e);e.labelStyle=y,e.cssStyles=e.styles||"";let x=e.styles?.join(";")||m||"";e.cssStyles||(e.cssStyles=x.replaceAll("!important","").split(";"));let b=0===e.members.length&&0===e.methods.length&&!r.class?.hideEmptyMembersBox,k=u.A.svg(g),w=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=Math.max(e.width??0,f.width),B=Math.max(e.height??0,f.height),S=(e.height??0)>f.height;0===e.members.length&&0===e.methods.length?B+=c:e.members.length>0&&0===e.methods.length&&(B+=2*c);let v=-T/2,_=-B/2,F=b?2*c:0===e.members.length&&0===e.methods.length?-c:0;S&&(F=2*c);let A=k.rectangle(v-c,_-c-(b?c:0===e.members.length&&0===e.methods.length?-c/2:0),T+2*c,B+2*c+F,w),L=g.insert(()=>A,":first-child");L.attr("class","basic label-container outer-path");let M=L.node().getBBox(),E=g.select(".annotation-group").node().getBBox().height-(b?c/2:0)||0,O=g.select(".label-group").node().getBBox().height-(b?c/2:0)||0,D=g.select(".members-group").node().getBBox().height-(b?c/2:0)||0,K=(E+O+_+c-(_-c-(b?c:0===e.members.length&&0===e.methods.length?-c/2:0)))/2;if(g.selectAll(".text").each((t,i,o)=>{let a=(0,d.Ltv)(o[i]),n=a.attr("transform"),s=0;if(n){let t=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(n);t&&(s=parseFloat(t[2]))}let l=s+_+c-(b?c:0===e.members.length&&0===e.methods.length?-c/2:0);if(a.attr("class").includes("methods-group")){let t=Math.max(D,c/2);l=S?Math.max(K,E+O+t+_+2*c+c)+2*c:E+O+t+_+4*c+c}0===e.members.length&&0===e.methods.length&&r.class?.hideEmptyMembersBox&&(l=e.annotations.length>0?s-c:s),p||(l-=4);let h=v;(a.attr("class").includes("label-group")||a.attr("class").includes("annotation-group"))&&(h=-a.node()?.getBBox().width/2||0,g.selectAll("text").each(function(t,e,r){"middle"===window.getComputedStyle(r[e]).textAnchor&&(h=0)})),a.attr("transform",`translate(${h}, ${l})`)}),e.members.length>0||e.methods.length>0||b){let t=E+O+_+c,r=k.line(M.x,t,M.x+M.width,t+.001,w);g.insert(()=>r).attr("class",`divider${"neo"===e.look&&!s?" neo-line":""}`).attr("style",x)}if(b||e.members.length>0||e.methods.length>0){let t=E+O+D+_+2*c+c,r=k.line(M.x,S?Math.max(K,t):t,M.x+M.width,(S?Math.max(K,t):t)+.001,w);g.insert(()=>r).attr("class",`divider${"neo"===e.look&&!s?" neo-line":""}`).attr("style",x)}if("handDrawn"!==e.look&&g.selectAll("path").attr("style",x),L.select(":nth-child(2)").attr("style",x),g.selectAll(".divider").select("path").attr("style",x),e.labelStyle?g.selectAll("span").attr("style",e.labelStyle):g.selectAll("span").attr("style",x),!p){let t=RegExp(/color\s*:\s*([^;]*)/),e=t.exec(x);if(e){let t=e[0].replace("color","fill");g.selectAll("tspan").attr("style",t)}else if(y){let e=t.exec(y);if(e){let t=e[0].replace("color","fill");g.selectAll("tspan").attr("style",t)}}}return C(e,L),e.intersect=function(t){return $.rect(e,t)},g}async function eI(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n="verifyMethod"in e,s=b(e),h=(0,l.D7)(),{themeVariables:c}=h,{borderColorArray:p,requirementEdgeLabelBackground:g}=c,f="elk"===h.layout?"start":"center",y=t.insert("g").attr("class",s).attr("id",e.domId??e.id),m=r=n?await eq(y,`<<${e.type}>>`,0,e.labelStyle):await eq(y,"<<Element>>",0,e.labelStyle),x=await eq(y,e.name,m,e.labelStyle+"; font-weight: bold;");if(m+=x+20,n){let t=await eq(y,`${e.requirementId?`ID: ${e.requirementId}`:""}`,m,e.labelStyle,f);m+=t;let r=await eq(y,`${e.text?`Text: ${e.text}`:""}`,m,e.labelStyle,f);m+=r;let i=await eq(y,`${e.risk?`Risk: ${e.risk}`:""}`,m,e.labelStyle,f);m+=i,await eq(y,`${e.verifyMethod?`Verification: ${e.verifyMethod}`:""}`,m,e.labelStyle,f)}else{let t=await eq(y,`${e.type?`Type: ${e.type}`:""}`,m,e.labelStyle,f);m+=t,await eq(y,`${e.docRef?`Doc Ref: ${e.docRef}`:""}`,m,e.labelStyle,f)}let k=(y.node()?.getBBox().width??200)+20,w=(y.node()?.getBBox().height??200)+20,T=-k/2,B=-w/2,S=u.A.svg(y),v=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");let _=S.rectangle(T,B,k,w,v),F=y.insert(()=>_,":first-child");if(F.attr("class","basic label-container outer-path").attr("style",a),p?.length){let t=e.colorIndex??0;y.attr("data-color-id",`color-${t%p.length}`)}if(y.selectAll(".label").each((t,e,r)=>{let i=(0,d.Ltv)(r[e]),o=i.attr("transform"),a=0,n=0;if(o){let t=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(o);t&&(a=parseFloat(t[1]),n=parseFloat(t[2]))}let s=n-w/2,l=T+10;(0===e||1===e)&&(l=a),i.attr("transform",`translate(${l}, ${s+20})`)}),m>r+x+20){let t,i=B+r+x+20;if("neo"===e.look){let e=[[T,i],[T+k,i],[T+k,i+.001],[T,i+.001]];t=S.polygon(e,v)}else t=S.line(T,i,T+k,i,v);y.insert(()=>t).attr("class","divider")}return C(e,F),e.intersect=function(t){return $.rect(e,t)},a&&"handDrawn"!==e.look&&(g||p?.length)&&y.selectAll("path").attr("style",a),y}async function eq(t,e,r,i="",a="center"){let n;if(""===e)return 0;let h=t.insert("g").attr("class","label").attr("style",i),c=(0,l.D7)(),u=c.htmlLabels??!0,p=await (0,o.GZ)(h,(0,l.oB)((0,s.Sm)(e)),{width:(0,s.Un)(e,c)+50,classes:"markdown-node-label",useHtmlLabels:u,style:i},c);if(u){let t=p.children[0],e=(0,d.Ltv)(p);"start"===a&&(0,d.Ltv)(t).style("text-align","left"),n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}else{let t=p.children[0];for(let e of t.children)i&&e.setAttribute("style",i);if("start"===a)for(let e of(t.setAttribute("text-anchor","start"),t.children))e.setAttribute("text-anchor","start");n=p.getBBox(),n.height+=6}return h.attr("transform",`translate(${-n.width/2},${-n.height/2+r})`),n.height}(0,c.K)(eM,"erBox"),(0,c.K)(e$,"addText"),(0,c.K)(eE,"lineToPolygon"),(0,c.K)(eO,"textHelper"),(0,c.K)(eD,"addText"),(0,c.K)(eK,"classBox"),(0,c.K)(eI,"requirementBox"),(0,c.K)(eq,"addText");var eR=(0,c.K)(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function eP(t,e,{config:r}){let o,a,n,s,{labelStyles:l,nodeStyles:h}=(0,i.GX)(e);e.labelStyle=l||"";let c=e.width;e.width=(e.width??200)-10;let{shapeSvg:d,bbox:p,label:g}=await m(t,e,b(e)),f=e.padding||10,y="";"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(y=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),o=d.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",y).attr("target","_blank"));let k={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};o?{label:a,bbox:n}=await x(o,"ticket"in e&&e.ticket||"",k):{label:a,bbox:n}=await x(d,"ticket"in e&&e.ticket||"",k);let{label:w,bbox:T}=await x(d,"assigned"in e&&e.assigned||"",k);e.width=c;let B=e?.width||0,S=Math.max(n.height,T.height)/2,v=Math.max(p.height+20,e?.height||0)+S,_=-B/2,F=-v/2;g.attr("transform","translate("+(f-B/2)+", "+(-S-p.height/2)+")"),a.attr("transform","translate("+(f-B/2)+", "+(-S+p.height/2)+")"),w.attr("transform","translate("+(f+B/2-T.width-20)+", "+(-S+p.height/2)+")");let{rx:A,ry:L}=e,{cssStyles:M}=e;if("handDrawn"===e.look){let t=u.A.svg(d),r=(0,i.Fr)(e,{}),o=A||L?t.path(E(_,F,B,v,A||0),r):t.rectangle(_,F,B,v,r);(s=d.insert(()=>o,":first-child")).attr("class","basic label-container").attr("style",M||null)}else{(s=d.insert("rect",":first-child")).attr("class","basic label-container __APA__").attr("style",h).attr("rx",A??5).attr("ry",L??5).attr("x",_).attr("y",F).attr("width",B).attr("height",v);let t="priority"in e&&e.priority;if(t){let e=d.append("line"),r=_+2,i=F+Math.floor((A??0)/2),o=F+v-Math.floor((A??0)/2);e.attr("x1",r).attr("y1",i).attr("x2",r).attr("y2",o).attr("stroke-width","4").attr("stroke",eR(t))}}return C(e,s),e.height=v,e.intersect=function(t){return $.rect(e,t)},d}async function ez(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:l,halfPadding:c,label:d}=await m(t,e,b(e)),p=l.width+10*c,g=l.height+8*c,f=.15*p,{cssStyles:y}=e,x=l.width+20,k=l.height+20,w=Math.max(p,x),T=Math.max(g,k);d.attr("transform",`translate(${-l.width/2}, ${-l.height/2})`);let B=`M0 0 + a${f},${f} 1 0,0 ${.25*w},${-1*T*.1} + a${f},${f} 1 0,0 ${.25*w},0 + a${f},${f} 1 0,0 ${.25*w},0 + a${f},${f} 1 0,0 ${.25*w},${.1*T} + + a${f},${f} 1 0,0 ${.15*w},${.33*T} + a${.8*f},${.8*f} 1 0,0 0,${.34*T} + a${f},${f} 1 0,0 ${-1*w*.15},${.33*T} + + a${f},${f} 1 0,0 ${-1*w*.25},${.15*T} + a${f},${f} 1 0,0 ${-1*w*.25},0 + a${f},${f} 1 0,0 ${-1*w*.25},0 + a${f},${f} 1 0,0 ${-1*w*.25},${-1*T*.15} + + a${f},${f} 1 0,0 ${-1*w*.1},${-1*T*.33} + a${.8*f},${.8*f} 1 0,0 0,${-1*T*.34} + a${f},${f} 1 0,0 ${.1*w},${-1*T*.33} + H0 V0 Z`;if("handDrawn"===e.look){let t=u.A.svg(n),o=(0,i.Fr)(e,{}),a=t.path(B,o);(r=n.insert(()=>a,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(y))}else r=n.insert("path",":first-child").attr("class","basic label-container").attr("style",a).attr("d",B);return r.attr("transform",`translate(${-w/2}, ${-T/2})`),C(e,r),e.calcIntersect=function(t,e){return $.rect(t,e)},e.intersect=function(t){return h.R.info("Bang intersect",e,t),$.rect(e,t)},n}async function eW(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:l,halfPadding:c,label:d}=await m(t,e,b(e)),p=l.width+2*c,g=l.height+2*c,f=.15*p,y=.25*p,x=.35*p,k=.2*p,{cssStyles:w}=e,T=`M0 0 + a${f},${f} 0 0,1 ${.25*p},${-1*p*.1} + a${x},${x} 1 0,1 ${.4*p},${-1*p*.1} + a${y},${y} 1 0,1 ${.35*p},${.2*p} + + a${f},${f} 1 0,1 ${.15*p},${.35*g} + a${k},${k} 1 0,1 ${-1*p*.15},${.65*g} + + a${y},${f} 1 0,1 ${-1*p*.25},${.15*p} + a${x},${x} 1 0,1 ${-1*p*.5},0 + a${f},${f} 1 0,1 ${-1*p*.25},${-1*p*.15} + + a${f},${f} 1 0,1 ${-1*p*.1},${-1*g*.35} + a${k},${k} 1 0,1 ${.1*p},${-1*g*.65} + H0 V0 Z`;if("handDrawn"===e.look){let t=u.A.svg(n),o=(0,i.Fr)(e,{}),a=t.path(T,o);(r=n.insert(()=>a,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(w))}else r=n.insert("path",":first-child").attr("class","basic label-container").attr("style",a).attr("d",T);return d.attr("transform",`translate(${-l.width/2}, ${-l.height/2})`),r.attr("transform",`translate(${-p/2}, ${-g/2})`),C(e,r),e.calcIntersect=function(t,e){return $.rect(t,e)},e.intersect=function(t){return h.R.info("Cloud intersect",e,t),$.rect(e,t)},n}async function eN(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,halfPadding:s,label:l}=await m(t,e,b(e)),h=n.width+8*s,c=n.height+2*s,d="neo"===e.look?` + M${-h/2} ${c/2-5} + v${-c+10} + q0,-5 5,-5 + h${h-10} + q5,0 5,5 + v${c-5} + H${-h/2} + Z + `:` + M${-h/2} ${c/2-5} + v${-c+10} + q0,-5 5,-5 + h${h-10} + q5,0 5,5 + v${c-10} + q0,5 -5,5 + h${-(h-10)} + q-5,0 -5,-5 + Z + `;if(!e.domId)throw Error(`defaultMindmapNode: node "${e.id}" is missing a domId \u2014 was render.ts domId prefixing skipped?`);let u=a.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",o).attr("d",d);return a.append("line").attr("class","node-line-").attr("x1",-h/2).attr("y1",c/2).attr("x2",h/2).attr("y2",c/2),l.attr("transform",`translate(${-n.width/2}, ${-n.height/2})`),a.append(()=>l.node()),C(e,u),e.calcIntersect=function(t,e){return $.rect(t,e)},e.intersect=function(t){return $.rect(e,t)},a}async function ej(t,e){let r={padding:e.padding??0};return J(t,e,r)}(0,c.K)(eP,"kanbanItem"),(0,c.K)(ez,"bang"),(0,c.K)(eW,"cloud"),(0,c.K)(eN,"defaultMindmapNode"),(0,c.K)(ej,"mindmapCircle");var eH=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:eh},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:en},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:ed},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:ef},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:tf},{semanticName:"Data Store",name:"Data Store",shortName:"datastore",description:"Data flow diagram data store",aliases:["data-store"],handler:tm},{semanticName:"Folder",name:"Folder",shortName:"folder",description:"Folder or directory",aliases:["directory"],handler:tT},{semanticName:"Bucket",name:"Bucket",shortName:"bucket",description:"Object storage bucket",handler:R},{semanticName:"Console",name:"Console (terminal window)",shortName:"console",description:"Terminal or console window",handler:te},{semanticName:"Browser",name:"Browser",shortName:"browser",description:"Browser window",handler:Z},{semanticName:"Person",name:"Person",shortName:"person",description:"Person (circular head above a rounded body)",handler:td},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:J},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:ez},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:eW},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:ei},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:t_},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:tI},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:tK},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:eT},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:tO},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:tC},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:ex},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:V},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:es},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:eg},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:ep},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:tB},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:tF},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:ta},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:ts},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:th},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:tq},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:ev},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:tS},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:ew},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:tW},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:tc},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:tx},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:eS},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:eF},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:tk},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:eB},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:tw},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:el},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:et},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:t9},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:q},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:ti},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:em},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:ey},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:e_},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:eo},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:tN}],eU=(0,c.K)(()=>Object.fromEntries([...Object.entries({state:eu,choice:Q,note:ee,composite:tt,rectWithTitle:ea,labelRect:tD,block_arrow:X,collapsedGroup:z,iconSquare:t$,iconCircle:tL,icon:tA,iconRounded:tM,imageSquare:tE,anchor:D,kanbanItem:eP,mindmapCircle:ej,defaultMindmapNode:eN,classBox:eK,erBox:eM,requirementBox:eI,usecaseActor:tJ,usecaseActorHollow:t1,usecaseActorAwesome:t0,usecaseActorIcon:t5,usecaseBusiness:t4,usecaseEllipse:tb,usecaseJsonTable:t7}),...eH.flatMap(t=>[t.shortName,..."aliases"in t?t.aliases:[],..."internalAliases"in t?t.internalAliases:[]].map(e=>[e,t.handler]))]),"generateShapeMap")();function eY(t){return t in eU}(0,c.K)(eY,"isValidShape")},739(t,e,r){"use strict";r.d(e,{Fr:()=>d,GX:()=>c,KX:()=>h,WW:()=>s,ue:()=>a});var i=r(1177),o=r(6827),a=(0,o.K)(t=>{let{handDrawnSeed:e}=(0,i.D7)();return{fill:t,hachureAngle:120,hachureGap:1.5,fillWeight:1.5,roughness:.7,stroke:t,seed:e}},"solidStateFill"),n=(0,o.K)(t=>Array.isArray(t)?t:t?t.split(";").map(t=>t.trim()).filter(Boolean):[],"normalizeStyleList"),s=(0,o.K)(t=>{let e=l([...t.cssCompiledStyles||[],...t.cssStyles||[],...n(t.labelStyle)]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),l=(0,o.K)(t=>{let e=new Map;return t.forEach(t=>{let[r,i]=t.split(":");e.set(r.trim(),i?.trim())}),e},"styles2Map"),h=(0,o.K)(t=>"color"===t||"font-size"===t||"font-family"===t||"font-weight"===t||"font-style"===t||"text-decoration"===t||"text-align"===t||"text-transform"===t||"line-height"===t||"letter-spacing"===t||"word-spacing"===t||"text-shadow"===t||"text-overflow"===t||"white-space"===t||"word-wrap"===t||"word-break"===t||"overflow-wrap"===t||"hyphens"===t,"isLabelStyle"),c=(0,o.K)(t=>{let{stylesArray:e}=s(t),r=[],i=[],o=[],a=[];return e.forEach(t=>{let e=t[0];h(e)?r.push(t.join(":")+" !important"):(i.push(t.join(":")+" !important"),e.includes("stroke")&&o.push(t.join(":")+" !important"),"fill"===e&&a.push(t.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:i.join(";"),stylesArray:e,borderStyles:o,backgroundStyles:a}},"styles2String"),d=(0,o.K)((t,e)=>{let{themeVariables:r,handDrawnSeed:o}=(0,i.D7)(),{nodeBorder:a,mainBkg:n}=r,{stylesMap:l}=s(t);return Object.assign({roughness:.7,fill:l.get("fill")||n,fillStyle:"hachure",fillWeight:1.5,hachureGap:1.5,stroke:l.get("stroke")||a,seed:o,strokeWidth:l.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:u(l.get("stroke-dasharray"))},e)},"userNodeOverrides"),u=(0,o.K)(t=>{if(!t)return[0,0];let e=t.trim().split(/\s+/).map(Number);if(1===e.length){let t=isNaN(e[0])?0:e[0];return[t,t]}return[isNaN(e[0])?0:e[0],isNaN(e[1])?0:e[1]]},"getStrokeDashArray")},3247(t,e,r){"use strict";r.d(e,{F:()=>o});var i=r(6827),o=(0,i.K)((t,e)=>{let{theme:r,themeVariables:o}=e,{useGradient:a,gradientStart:n,gradientStop:s}=o??{},l=t.attr("id"),h=r?.includes("dark")?"#FFFFFF":"#000000",c=(0,i.K)((e,r,i)=>t.append("defs").append("filter").attr("id",e).attr("height",r).attr("width",r).append("feDropShadow").attr("dx",i).attr("dy",i).attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",h),"dropShadow");if(c(`${l}-drop-shadow`,"130%","4"),c(`${l}-drop-shadow-small`,"150%","2"),!a)return;let d=t.append("linearGradient").attr("id",`${l}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");d.append("svg:stop").attr("offset","0%").attr("stop-color",n).attr("stop-opacity",1),d.append("svg:stop").attr("offset","100%").attr("stop-color",s).attr("stop-opacity",1)},"insertLookDefs")},2391(t,e,r){"use strict";r.d(e,{XX:()=>m,q7:()=>C,sO:()=>f});var i=r(3247),o=r(5616),a=r(6163),n=r(7827),s=r(3002),l=r(6348),h=r(1177),c=r(1293),d=r(6827),u={common:h.Y2,getConfig:h.zj,insertCluster:o.U,insertEdge:a.Jo,insertEdgeLabel:a.jP,insertMarkers:a.g0,insertNode:n.on,interpolateToCurve:l.Ib,labelHelper:s.Zk,log:c.R,positionEdgeLabel:a.T_},p=["elk.stress","elk.force","elk.mrtree","elk.sporeOverlap","elk.box","elk.rectpacking"],g=Object.create(null),f=(0,d.K)(t=>{for(let e of t)g[e.name]=e},"registerLayoutLoaders"),y=(0,d.K)(()=>{let t=(0,d.K)(async()=>await Promise.all([r.e("2107"),r.e("5250"),r.e("5576"),r.e("5651")]).then(r.bind(r,510)),"loader");return[{name:"elk",loader:t,algorithm:"elk.layered"},...p.map(e=>({name:e,loader:t,algorithm:e}))]},"elkLayoutLoaders");(0,d.K)(()=>{f([{name:"dagre",loader:(0,d.K)(async()=>await Promise.all([r.e("2107"),r.e("5250"),r.e("5576"),r.e("7472"),r.e("7693")]).then(r.bind(r,5308)),"loader")},{name:"swimlane",loader:(0,d.K)(async()=>await Promise.all([r.e("2107"),r.e("5250"),r.e("5576"),r.e("896")]).then(r.bind(r,6483)),"loader")},{name:"cose-bilkent",loader:(0,d.K)(async()=>await Promise.all([r.e("4950"),r.e("8645")]).then(r.bind(r,2180)),"loader")},...y()])},"registerDefaultLayoutLoaders")();var m=(0,d.K)(async(t,e)=>{if(!Object.hasOwn(g,t.layoutAlgorithm))throw Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(let e of t.nodes){let r=e.domId||e.id;e.domId=`${t.diagramId}-${r}`}let r=g[t.layoutAlgorithm],o=await r.loader();return(0,i.F)(e,t.config),o.render(t,e,u,{algorithm:r.algorithm})},"render"),x="dagre",C=(0,d.K)((t="",{fallback:e=x}={})=>{if(Object.hasOwn(g,t))return t;for(let r of[e,x])if(Object.hasOwn(g,r))return c.R.warn(`Layout algorithm ${t} is not registered. Using ${r} as fallback.`),r;throw Error(`Neither layout algorithm ${t}, ${e}, nor ${x} is registered.`)},"getRegisteredLayoutAlgorithm")},2941(t,e,r){"use strict";r.d(e,{Fx:()=>o,Hu:()=>h,Ic:()=>a,P1:()=>n,XE:()=>d,nw:()=>c,rq:()=>l});var i=r(6827),o=new Set(["redux-color","redux-dark-color"]),a=(0,i.K)(t=>Array.isArray(t)&&t.length>0,"hasPalette"),n=(0,i.K)((t,e)=>null!=t&&o.has(t)&&a(e),"isColorTheme"),s=/^[\w-]+$/,l=(0,i.K)(t=>{let e="string"==typeof t||"number"==typeof t?String(t):"";return s.test(e)?e:"classic"},"safeLook"),h=(0,i.K)(t=>a(t)?t.length:0,"paletteSlotCount"),c=(0,i.K)((t,e)=>a(e)?h(e):"number"==typeof t&&Number.isInteger(t)&&t>0&&t<=64?t:12,"colorSlotCount"),d=(0,i.K)((t,e,r,i)=>{if(void 0===e||!n(r,i))return;let o=e%h(i);t.attr("data-color-id",`color-${o}`)},"stampColorSlot")},841(t,e,r){"use strict";r.d(e,{H:()=>t_,r:()=>tv});var i,o,a,n,s,l,h,c,d,u,p,g,f,y,m,x,C,b,k,w,T,B,S,v,_,F,A,L,M,$,E,O,D,K,I,q,R,P,z,W,N,j,H,U,Y,G,X=r(6827);function Z(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}(0,X.K)(Z,"getDefaultExportFromCjs");var V={},Q={},J={};function tt(){if(i)return J;function t(t){return null==t}function e(t){return"object"==typeof t&&null!==t}function r(e){return Array.isArray(e)?e:t(e)?[]:[e]}function o(t,e){if(e){let r=Object.keys(e);for(let i=0,o=r.length;i<o;i+=1){let o=r[i];t[o]=e[o]}}return t}function a(t,e){let r="";for(let i=0;i<e;i+=1)r+=t;return r}function n(t){return 0===t&&-1/0==1/t}return i=1,(0,X.K)(t,"isNothing"),(0,X.K)(e,"isObject"),(0,X.K)(r,"toArray"),(0,X.K)(o,"extend"),(0,X.K)(a,"repeat"),(0,X.K)(n,"isNegativeZero"),J.isNothing=t,J.isObject=e,J.toArray=r,J.repeat=a,J.isNegativeZero=n,J.extend=o,J}function te(){if(a)return o;function t(t,e){let r="",i=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(r+='in "'+t.mark.name+'" '),r+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(r+="\n\n"+t.mark.snippet),i+" "+r):i}function e(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=t(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack||""}return a=1,(0,X.K)(t,"formatError"),(0,X.K)(e,"YAMLException2"),e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e.prototype.toString=(0,X.K)(function(e){return this.name+": "+t(this,e)},"toString"),o=e}function tr(){if(s)return n;s=1;let t=tt();function e(t,e,r,i,o){let a="",n="",s=Math.floor(o/2)-1;return i-e>s&&(e=i-s+(a=" ... ").length),r-i>s&&(r=i+s-(n=" ...").length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+n,pos:i-e+a.length}}function r(e,r){return t.repeat(" ",r-e.length)+e}function i(i,o){let a;if(o=Object.create(o||null),!i.buffer)return null;o.maxLength||(o.maxLength=79),"number"!=typeof o.indent&&(o.indent=1),"number"!=typeof o.linesBefore&&(o.linesBefore=3),"number"!=typeof o.linesAfter&&(o.linesAfter=2);let n=/\r?\n|\r|\0/g,s=[0],l=[],h=-1;for(;a=n.exec(i.buffer);)l.push(a.index),s.push(a.index+a[0].length),i.position<=a.index&&h<0&&(h=s.length-2);h<0&&(h=s.length-1);let c="",d=Math.min(i.line+o.linesAfter,l.length).toString().length,u=o.maxLength-(o.indent+d+3);for(let a=1;a<=o.linesBefore&&!(h-a<0);a++){let n=e(i.buffer,s[h-a],l[h-a],i.position-(s[h]-s[h-a]),u);c=t.repeat(" ",o.indent)+r((i.line-a+1).toString(),d)+" | "+n.str+"\n"+c}let p=e(i.buffer,s[h],l[h],i.position,u);c+=t.repeat(" ",o.indent)+r((i.line+1).toString(),d)+" | "+p.str+"\n"+t.repeat("-",o.indent+d+3+p.pos)+"^\n";for(let a=1;a<=o.linesAfter&&!(h+a>=l.length);a++){let n=e(i.buffer,s[h+a],l[h+a],i.position-(s[h]-s[h+a]),u);c+=t.repeat(" ",o.indent)+r((i.line+a+1).toString(),d)+" | "+n.str+"\n"}return c.replace(/\n$/,"")}return(0,X.K)(e,"getLine"),(0,X.K)(r,"padStart"),(0,X.K)(i,"makeSnippet"),n=i}function ti(){if(h)return l;h=1;let t=te(),e=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],r=["scalar","sequence","mapping"];function i(t){let e={};return null!==t&&Object.keys(t).forEach(function(r){t[r].forEach(function(t){e[String(t)]=r})}),e}function o(o,a){if(Object.keys(a=a||{}).forEach(function(r){if(-1===e.indexOf(r))throw new t('Unknown option "'+r+'" is met in definition of "'+o+'" YAML type.')}),this.options=a,this.tag=o,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(t){return t},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=i(a.styleAliases||null),-1===r.indexOf(this.kind))throw new t('Unknown kind "'+this.kind+'" is specified for "'+o+'" YAML type.')}return(0,X.K)(i,"compileStyleAliases"),(0,X.K)(o,"Type2"),l=o}function to(){if(d)return c;d=1;let t=te(),e=ti();function r(t,e){let r=[];return t[e].forEach(function(t){let e=r.length;r.forEach(function(r,i){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=i)}),r[e]=t}),r}function i(){let t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function e(e){e.multi?(t.multi[e.kind].push(e),t.multi.fallback.push(e)):t[e.kind][e.tag]=t.fallback[e.tag]=e}(0,X.K)(e,"collectType");for(let t=0,r=arguments.length;t<r;t+=1)arguments[t].forEach(e);return t}function o(t){return this.extend(t)}return(0,X.K)(r,"compileList"),(0,X.K)(i,"compileMap"),(0,X.K)(o,"Schema2"),o.prototype.extend=(0,X.K)(function(a){let n=[],s=[];if(a instanceof e)s.push(a);else if(Array.isArray(a))s=s.concat(a);else if(a&&(Array.isArray(a.implicit)||Array.isArray(a.explicit)))a.implicit&&(n=n.concat(a.implicit)),a.explicit&&(s=s.concat(a.explicit));else throw new t("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");n.forEach(function(r){if(!(r instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(r.loadKind&&"scalar"!==r.loadKind)throw new t("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(r.multi)throw new t("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),s.forEach(function(r){if(!(r instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.")});let l=Object.create(o.prototype);return l.implicit=(this.implicit||[]).concat(n),l.explicit=(this.explicit||[]).concat(s),l.compiledImplicit=r(l,"implicit"),l.compiledExplicit=r(l,"explicit"),l.compiledTypeMap=i(l.compiledImplicit,l.compiledExplicit),l},"extend"),c=o}function ta(){return p?u:(p=1,u=new(ti())("tag:yaml.org,2002:str",{kind:"scalar",construct:(0,X.K)(function(t){return null!==t?t:""},"construct")}))}function tn(){return f?g:(f=1,g=new(ti())("tag:yaml.org,2002:seq",{kind:"sequence",construct:(0,X.K)(function(t){return null!==t?t:[]},"construct")}))}function ts(){return m?y:(m=1,y=new(ti())("tag:yaml.org,2002:map",{kind:"mapping",construct:(0,X.K)(function(t){return null!==t?t:{}},"construct")}))}function tl(){return C?x:(C=1,x=new(to())({explicit:[ta(),tn(),ts()]}))}function th(){if(k)return b;k=1;let t=ti();function e(t){if(null===t)return!0;let e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)}function r(){return null}function i(t){return null===t}return(0,X.K)(e,"resolveYamlNull"),(0,X.K)(r,"constructYamlNull"),(0,X.K)(i,"isNull"),b=new t("tag:yaml.org,2002:null",{kind:"scalar",resolve:e,construct:r,predicate:i,represent:{canonical:(0,X.K)(function(){return"~"},"canonical"),lowercase:(0,X.K)(function(){return"null"},"lowercase"),uppercase:(0,X.K)(function(){return"NULL"},"uppercase"),camelcase:(0,X.K)(function(){return"Null"},"camelcase"),empty:(0,X.K)(function(){return""},"empty")},defaultStyle:"lowercase"})}function tc(){if(T)return w;T=1;let t=ti();function e(t){if(null===t)return!1;let e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)}function r(t){return"true"===t||"True"===t||"TRUE"===t}function i(t){return"[object Boolean]"===Object.prototype.toString.call(t)}return(0,X.K)(e,"resolveYamlBoolean"),(0,X.K)(r,"constructYamlBoolean"),(0,X.K)(i,"isBoolean"),w=new t("tag:yaml.org,2002:bool",{kind:"scalar",resolve:e,construct:r,predicate:i,represent:{lowercase:(0,X.K)(function(t){return t?"true":"false"},"lowercase"),uppercase:(0,X.K)(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:(0,X.K)(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"})}function td(){if(S)return B;S=1;let t=tt(),e=ti();function r(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function i(t){return t>=48&&t<=55}function o(t){return t>=48&&t<=57}function a(t){if(null===t)return!1;let e=t.length,a=0,s=!1;if(!e)return!1;let l=t[a];if(("-"===l||"+"===l)&&(l=t[++a]),"0"===l){if(a+1===e)return!0;if("b"===(l=t[++a])){for(a++;a<e;a++){if("0"!==(l=t[a])&&"1"!==l)return!1;s=!0}return s&&isFinite(n(t))}if("x"===l){for(a++;a<e;a++){if(!r(t.charCodeAt(a)))return!1;s=!0}return s&&isFinite(n(t))}if("o"===l){for(a++;a<e;a++){if(!i(t.charCodeAt(a)))return!1;s=!0}return s&&isFinite(n(t))}}for(;a<e;a++){if(!o(t.charCodeAt(a)))return!1;s=!0}return!!s&&isFinite(n(t))}function n(t){let e=t,r=1,i=e[0];if(("-"===i||"+"===i)&&("-"===i&&(r=-1),i=(e=e.slice(1))[0]),"0"===e)return 0;if("0"===i){if("b"===e[1])return r*parseInt(e.slice(2),2);if("x"===e[1])return r*parseInt(e.slice(2),16);if("o"===e[1])return r*parseInt(e.slice(2),8)}return r*parseInt(e,10)}function s(t){return n(t)}function l(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!t.isNegativeZero(e)}return(0,X.K)(r,"isHexCode"),(0,X.K)(i,"isOctCode"),(0,X.K)(o,"isDecCode"),(0,X.K)(a,"resolveYamlInteger"),(0,X.K)(n,"parseYamlInteger"),(0,X.K)(s,"constructYamlInteger"),(0,X.K)(l,"isInteger"),B=new e("tag:yaml.org,2002:int",{kind:"scalar",resolve:a,construct:s,predicate:l,represent:{binary:(0,X.K)(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:(0,X.K)(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:(0,X.K)(function(t){return t.toString(10)},"decimal"),hexadecimal:(0,X.K)(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})}function tu(){if(_)return v;_=1;let t=tt(),e=ti(),r=RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),i=RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function o(t){return null!==t&&!!r.test(t)&&(!!isFinite(parseFloat(t,10))||i.test(t))}function a(t){let e=t.toLowerCase(),r="-"===e[0]?-1:1;return("+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e)?1===r?1/0:-1/0:".nan"===e?NaN:r*parseFloat(e,10)}(0,X.K)(o,"resolveYamlFloat"),(0,X.K)(a,"constructYamlFloat");let n=/^[-+]?[0-9]+e/;function s(e,r){if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(1/0===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(-1/0===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(t.isNegativeZero(e))return"-0.0";let i=e.toString(10);return n.test(i)?i.replace("e",".e"):i}function l(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||t.isNegativeZero(e))}return(0,X.K)(s,"representYamlFloat"),(0,X.K)(l,"isFloat"),v=new e("tag:yaml.org,2002:float",{kind:"scalar",resolve:o,construct:a,predicate:l,represent:s,defaultStyle:"lowercase"})}function tp(){return A?F:(A=1,F=tl().extend({implicit:[th(),tc(),td(),tu()]}))}function tg(){return M?L:(M=1,L=tp())}function tf(){if(E)return $;E=1;let t=ti(),e=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),r=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 i(t){return null!==t&&(null!==e.exec(t)||null!==r.exec(t))}function o(t){let i=0,o=null,a=e.exec(t);if(null===a&&(a=r.exec(t)),null===a)throw Error("Date resolve error");let n=+a[1],s=a[2]-1,l=+a[3];if(!a[4])return new Date(Date.UTC(n,s,l));let h=+a[4],c=+a[5],d=+a[6];if(a[7]){for(i=a[7].slice(0,3);i.length<3;)i+="0";i*=1}a[9]&&(o=(60*a[10]+ +(a[11]||0))*6e4,"-"===a[9]&&(o=-o));let u=new Date(Date.UTC(n,s,l,h,c,d,i));return o&&u.setTime(u.getTime()-o),u}function a(t){return t.toISOString()}return(0,X.K)(i,"resolveYamlTimestamp"),(0,X.K)(o,"constructYamlTimestamp"),(0,X.K)(a,"representYamlTimestamp"),$=new t("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:i,construct:o,instanceOf:Date,represent:a})}function ty(){if(D)return O;D=1;let t=ti();function e(t){return"<<"===t||null===t}return(0,X.K)(e,"resolveYamlMerge"),O=new t("tag:yaml.org,2002:merge",{kind:"scalar",resolve:e})}function tm(){if(I)return K;I=1;let t=ti(),e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function r(t){if(null===t)return!1;let r=0,i=t.length;for(let o=0;o<i;o++){let i=e.indexOf(t.charAt(o));if(!(i>64)){if(i<0)return!1;r+=6}}return r%8==0}function i(t){let r=t.replace(/[\r\n=]/g,""),i=r.length,o=0,a=[];for(let t=0;t<i;t++)t%4==0&&t&&(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|e.indexOf(r.charAt(t));let n=i%4*6;return 0===n?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===n?(a.push(o>>10&255),a.push(o>>2&255)):12===n&&a.push(o>>4&255),new Uint8Array(a)}function o(t){let r="",i=0,o=t.length;for(let a=0;a<o;a++)a%3==0&&a&&(r+=e[i>>18&63],r+=e[i>>12&63],r+=e[i>>6&63],r+=e[63&i]),i=(i<<8)+t[a];let a=o%3;return 0===a?(r+=e[i>>18&63],r+=e[i>>12&63],r+=e[i>>6&63],r+=e[63&i]):2===a?(r+=e[i>>10&63],r+=e[i>>4&63],r+=e[i<<2&63],r+=e[64]):1===a&&(r+=e[i>>2&63],r+=e[i<<4&63],r+=e[64],r+=e[64]),r}function a(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)}return(0,X.K)(r,"resolveYamlBinary"),(0,X.K)(i,"constructYamlBinary"),(0,X.K)(o,"representYamlBinary"),(0,X.K)(a,"isBinary"),K=new t("tag:yaml.org,2002:binary",{kind:"scalar",resolve:r,construct:i,predicate:a,represent:o})}function tx(){if(R)return q;R=1;let t=ti(),e=Object.prototype.hasOwnProperty,r=Object.prototype.toString;function i(t){if(null===t)return!0;let i=[];for(let o=0,a=t.length;o<a;o+=1){let a,n=t[o],s=!1;if("[object Object]"!==r.call(n))return!1;for(a in n)if(e.call(n,a))if(s)return!1;else s=!0;if(!s||-1!==i.indexOf(a))return!1;i.push(a)}return!0}function o(t){return null!==t?t:[]}return(0,X.K)(i,"resolveYamlOmap"),(0,X.K)(o,"constructYamlOmap"),q=new t("tag:yaml.org,2002:omap",{kind:"sequence",resolve:i,construct:o})}function tC(){if(z)return P;z=1;let t=ti(),e=Object.prototype.toString;function r(t){if(null===t)return!0;let r=Array(t.length);for(let i=0,o=t.length;i<o;i+=1){let o=t[i];if("[object Object]"!==e.call(o))return!1;let a=Object.keys(o);if(1!==a.length)return!1;r[i]=[a[0],o[a[0]]]}return!0}function i(t){if(null===t)return[];let e=Array(t.length);for(let r=0,i=t.length;r<i;r+=1){let i=t[r],o=Object.keys(i);e[r]=[o[0],i[o[0]]]}return e}return(0,X.K)(r,"resolveYamlPairs"),(0,X.K)(i,"constructYamlPairs"),P=new t("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:r,construct:i})}function tb(){if(N)return W;N=1;let t=ti(),e=Object.prototype.hasOwnProperty;function r(t){if(null===t)return!0;for(let r in t)if(e.call(t,r)&&null!==t[r])return!1;return!0}function i(t){return null!==t?t:{}}return(0,X.K)(r,"resolveYamlSet"),(0,X.K)(i,"constructYamlSet"),W=new t("tag:yaml.org,2002:set",{kind:"mapping",resolve:r,construct:i})}function tk(){return H?j:(H=1,j=tg().extend({implicit:[tf(),ty()],explicit:[tm(),tx(),tC(),tb()]}))}function tw(){if(U)return Q;U=1;let t=tt(),e=te(),r=tr(),i=tk(),o=Object.prototype.hasOwnProperty,a=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=/[\x85\u2028\u2029]/,s=/[,\[\]{}]/,l=/^(?:!|!!|![0-9A-Za-z-]+!)$/,h=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function c(t){return Object.prototype.toString.call(t)}function d(t){return 10===t||13===t}function u(t){return 9===t||32===t}function p(t){return 9===t||32===t||10===t||13===t}function g(t){return 44===t||91===t||93===t||123===t||125===t}function f(t){if(t>=48&&t<=57)return t-48;let e=32|t;return e>=97&&e<=102?e-97+10:-1}function y(t){return 120===t?2:117===t?4:8*(85===t)}function m(t){return t>=48&&t<=57?t-48:-1}function x(t){switch(t){case 48:return"\0";case 97:return"\x07";case 98:return"\b";case 116:case 9:return" ";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1b";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xa0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}function C(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}function b(t,e,r){"__proto__"===e?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}(0,X.K)(c,"_class"),(0,X.K)(d,"isEol"),(0,X.K)(u,"isWhiteSpace"),(0,X.K)(p,"isWsOrEol"),(0,X.K)(g,"isFlowIndicator"),(0,X.K)(f,"fromHexCode"),(0,X.K)(y,"escapedHexLen"),(0,X.K)(m,"fromDecimalCode"),(0,X.K)(x,"simpleEscapeSequence"),(0,X.K)(C,"charFromCodepoint"),(0,X.K)(b,"setProperty");let k=Array(256),w=Array(256);for(let t=0;t<256;t++)k[t]=+!!x(t),w[t]=x(t);function T(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||i,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.maxDepth="number"==typeof e.maxDepth?e.maxDepth:100,this.maxTotalMergeKeys="number"==typeof e.maxTotalMergeKeys?e.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}function B(t,i){let o={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return o.snippet=r(o),new e(i,o)}function S(t,e){throw B(t,e)}function v(t,e){t.onWarning&&t.onWarning.call(null,B(t,e))}function _(t,e,r){let i=t.anchorMapTransactions;if(0!==i.length){let r=i[i.length-1];o.call(r,e)||(r[e]={existed:o.call(t.anchorMap,e),value:t.anchorMap[e]})}t.anchorMap[e]=r}function F(t){t.anchorMapTransactions.push(Object.create(null))}function A(t){let e=t.anchorMapTransactions.pop(),r=t.anchorMapTransactions;if(0===r.length)return;let i=r[r.length-1],a=Object.keys(e);for(let t=0,r=a.length;t<r;t+=1){let r=a[t];o.call(i,r)||(i[r]=e[r])}}function L(t){let e=t.anchorMapTransactions.pop(),r=Object.keys(e);for(let i=r.length-1;i>=0;i-=1){let o=e[r[i]];o.existed?t.anchorMap[r[i]]=o.value:delete t.anchorMap[r[i]]}}function M(t){return{position:t.position,line:t.line,lineStart:t.lineStart,lineIndent:t.lineIndent,firstTabInLine:t.firstTabInLine,tag:t.tag,anchor:t.anchor,kind:t.kind,result:t.result}}function $(t,e){t.position=e.position,t.line=e.line,t.lineStart=e.lineStart,t.lineIndent=e.lineIndent,t.firstTabInLine=e.firstTabInLine,t.tag=e.tag,t.anchor=e.anchor,t.kind=e.kind,t.result=e.result}(0,X.K)(T,"State"),(0,X.K)(B,"generateError"),(0,X.K)(S,"throwError"),(0,X.K)(v,"throwWarning"),(0,X.K)(_,"storeAnchor"),(0,X.K)(F,"beginAnchorTransaction"),(0,X.K)(A,"commitAnchorTransaction"),(0,X.K)(L,"rollbackAnchorTransaction"),(0,X.K)(M,"snapshotState"),(0,X.K)($,"restoreState");let E={YAML:(0,X.K)(function(t,e,r){null!==t.version&&S(t,"duplication of %YAML directive"),1!==r.length&&S(t,"YAML directive accepts exactly one argument");let i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]);null===i&&S(t,"ill-formed argument of the YAML directive");let o=parseInt(i[1],10),a=parseInt(i[2],10);1!==o&&S(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=a<2,1!==a&&2!==a&&v(t,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:(0,X.K)(function(t,e,r){let i;2!==r.length&&S(t,"TAG directive accepts exactly two arguments");let a=r[0];i=r[1],l.test(a)||S(t,"ill-formed tag handle (first argument) of the TAG directive"),o.call(t.tagMap,a)&&S(t,'there is a previously declared suffix for "'+a+'" tag handle'),h.test(i)||S(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(e){S(t,"tag prefix is malformed: "+i)}t.tagMap[a]=i},"handleTagDirective")};function O(t,e,r,i){if(e<r){let o=t.input.slice(e,r);if(i)for(let e=0,r=o.length;e<r;e+=1){let r=o.charCodeAt(e);9===r||r>=32&&r<=1114111||S(t,"expected valid JSON character")}else a.test(o)&&S(t,"the stream contains non-printable characters");t.result+=o}}function D(e,r,i,a){t.isObject(i)||S(e,"cannot merge mappings; the provided source object is unacceptable");let n=Object.keys(i);for(let t=0,s=n.length;t<s;t+=1){let s=n[t];-1!==e.maxTotalMergeKeys&&++e.totalMergeKeys>e.maxTotalMergeKeys&&S(e,"merge keys exceeded maxTotalMergeKeys ("+e.maxTotalMergeKeys+")"),o.call(r,s)||(b(r,s,i[s]),a[s]=!0)}}function K(t,e,r,i,a,n,s,l,h){if(Array.isArray(a)){a=Array.prototype.slice.call(a);for(let e=0,r=a.length;e<r;e+=1)Array.isArray(a[e])&&S(t,"nested arrays are not supported inside keys"),"object"==typeof a&&"[object Object]"===c(a[e])&&(a[e]="[object Object]")}if("object"==typeof a&&"[object Object]"===c(a)&&(a="[object Object]"),a=String(a),null===e&&(e={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(n))for(let i=0,o=n.length;i<o;i+=1)D(t,e,n[i],r);else D(t,e,n,r);else!t.json&&!o.call(r,a)&&o.call(e,a)&&(t.line=s||t.line,t.lineStart=l||t.lineStart,t.position=h||t.position,S(t,"duplicated mapping key")),b(e,a,n),delete r[a];return e}function I(t){let e=t.input.charCodeAt(t.position);10===e?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):S(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function q(t,e,r){let i=0,o=t.input.charCodeAt(t.position);for(;0!==o;){for(;u(o);)9===o&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),o=t.input.charCodeAt(++t.position);if(e&&35===o)do o=t.input.charCodeAt(++t.position);while(10!==o&&13!==o&&0!==o)if(d(o))for(I(t),o=t.input.charCodeAt(t.position),i++,t.lineIndent=0;32===o;)t.lineIndent++,o=t.input.charCodeAt(++t.position);else break}return -1!==r&&0!==i&&t.lineIndent<r&&v(t,"deficient indentation"),i}function R(t){let e=t.position,r=t.input.charCodeAt(e);return!!((45===r||46===r)&&r===t.input.charCodeAt(e+1)&&r===t.input.charCodeAt(e+2)&&(e+=3,0===(r=t.input.charCodeAt(e))||p(r)))||!1}function P(e,r){1===r?e.result+=" ":r>1&&(e.result+=t.repeat("\n",r-1))}function z(t,e,r){let i,o,a,n,s,l,h=t.kind,c=t.result,f=t.input.charCodeAt(t.position);if(p(f)||g(f)||35===f||38===f||42===f||33===f||124===f||62===f||39===f||34===f||37===f||64===f||96===f)return!1;if(63===f||45===f){let e=t.input.charCodeAt(t.position+1);if(p(e)||r&&g(e))return!1}for(t.kind="scalar",t.result="",i=o=t.position,a=!1;0!==f;){if(58===f){let e=t.input.charCodeAt(t.position+1);if(p(e)||r&&g(e))break}else if(35===f){if(p(t.input.charCodeAt(t.position-1)))break}else if(t.position===t.lineStart&&R(t)||r&&g(f))break;else if(d(f)){if(n=t.line,s=t.lineStart,l=t.lineIndent,q(t,!1,-1),t.lineIndent>=e){a=!0,f=t.input.charCodeAt(t.position);continue}t.position=o,t.line=n,t.lineStart=s,t.lineIndent=l;break}a&&(O(t,i,o,!1),P(t,t.line-n),i=o=t.position,a=!1),u(f)||(o=t.position+1),f=t.input.charCodeAt(++t.position)}return O(t,i,o,!1),!!t.result||(t.kind=h,t.result=c,!1)}function W(t,e){let r,i,o=t.input.charCodeAt(t.position);if(39!==o)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(o=t.input.charCodeAt(t.position));)if(39===o){if(O(t,r,t.position,!0),39!==(o=t.input.charCodeAt(++t.position)))return!0;r=t.position,t.position++,i=t.position}else d(o)?(O(t,r,i,!0),P(t,q(t,!1,e)),r=i=t.position):t.position===t.lineStart&&R(t)?S(t,"unexpected end of the document within a single quoted scalar"):(t.position++,u(o)||(i=t.position));S(t,"unexpected end of the stream within a single quoted scalar")}function N(t,e){let r,i,o,a=t.input.charCodeAt(t.position);if(34!==a)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(a=t.input.charCodeAt(t.position));)if(34===a)return O(t,r,t.position,!0),t.position++,!0;else if(92===a){if(O(t,r,t.position,!0),d(a=t.input.charCodeAt(++t.position)))q(t,!1,e);else if(a<256&&k[a])t.result+=w[a],t.position++;else if((o=y(a))>0){let e=o,r=0;for(;e>0;e--)(o=f(a=t.input.charCodeAt(++t.position)))>=0?r=(r<<4)+o:S(t,"expected hexadecimal character");t.result+=C(r),t.position++}else S(t,"unknown escape sequence");r=i=t.position}else d(a)?(O(t,r,i,!0),P(t,q(t,!1,e)),r=i=t.position):t.position===t.lineStart&&R(t)?S(t,"unexpected end of the document within a double quoted scalar"):(t.position++,u(a)||(i=t.position));S(t,"unexpected end of the stream within a double quoted scalar")}function j(t,e){let r,i,o,a,n,s,l,h,c,d,u,g=!0,f=t.tag,y=t.anchor,m=Object.create(null),x=t.input.charCodeAt(t.position);if(91===x)n=93,h=!1,a=[];else{if(123!==x)return!1;n=125,h=!0,a={}}for(null!==t.anchor&&_(t,t.anchor,a),x=t.input.charCodeAt(++t.position);0!==x;){if(q(t,!0,e),(x=t.input.charCodeAt(t.position))===n)return t.position++,t.tag=f,t.anchor=y,t.kind=h?"mapping":"sequence",t.result=a,!0;g?44===x&&S(t,"expected the node content, but found ','"):S(t,"missed comma between flow collection entries"),d=c=u=null,s=l=!1,63===x&&p(t.input.charCodeAt(t.position+1))&&(s=l=!0,t.position++,q(t,!0,e)),r=t.line,i=t.lineStart,o=t.position,to(t,e,1,!1,!0),d=t.tag,c=t.result,q(t,!0,e),x=t.input.charCodeAt(t.position),(l||t.line===r)&&58===x&&(s=!0,x=t.input.charCodeAt(++t.position),q(t,!0,e),to(t,e,1,!1,!0),u=t.result),h?K(t,a,m,d,c,u,r,i,o):s?a.push(K(t,null,m,d,c,u,r,i,o)):a.push(c),q(t,!0,e),44===(x=t.input.charCodeAt(t.position))?(g=!0,x=t.input.charCodeAt(++t.position)):g=!1}S(t,"unexpected end of the stream within a flow collection")}function H(e,r){let i,o,a=1,n=!1,s=!1,l=r,h=0,c=!1,p=e.input.charCodeAt(e.position);if(124===p)i=!1;else{if(62!==p)return!1;i=!0}for(e.kind="scalar",e.result="";0!==p;)if(43===(p=e.input.charCodeAt(++e.position))||45===p)1===a?a=43===p?3:2:S(e,"repeat of a chomping mode identifier");else if((o=m(p))>=0)0===o?S(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?S(e,"repeat of an indentation width identifier"):(l=r+o-1,s=!0);else break;if(u(p)){do p=e.input.charCodeAt(++e.position);while(u(p))if(35===p)do p=e.input.charCodeAt(++e.position);while(!d(p)&&0!==p)}for(;0!==p;){for(I(e),e.lineIndent=0,p=e.input.charCodeAt(e.position);(!s||e.lineIndent<l)&&32===p;)e.lineIndent++,p=e.input.charCodeAt(++e.position);if(!s&&e.lineIndent>l&&(l=e.lineIndent),d(p)){h++;continue}if(s||0!==l||S(e,"missing indentation for block scalar"),e.lineIndent<l){3===a?e.result+=t.repeat("\n",n?1+h:h):1===a&&n&&(e.result+="\n");break}i?u(p)?(c=!0,e.result+=t.repeat("\n",n?1+h:h)):c?(c=!1,e.result+=t.repeat("\n",h+1)):0===h?n&&(e.result+=" "):e.result+=t.repeat("\n",h):e.result+=t.repeat("\n",n?1+h:h),n=!0,s=!0,h=0;let r=e.position;for(;!d(p)&&0!==p;)p=e.input.charCodeAt(++e.position);O(e,r,e.position,!1)}return!0}function Y(t,e){let r=t.tag,i=t.anchor,o=[],a=!1;if(-1!==t.firstTabInLine)return!1;null!==t.anchor&&_(t,t.anchor,o);let n=t.input.charCodeAt(t.position);for(;0!==n&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,S(t,"tab characters must not be used in indentation")),45===n&&p(t.input.charCodeAt(t.position+1)));){if(a=!0,t.position++,q(t,!0,-1)&&t.lineIndent<=e){o.push(null),n=t.input.charCodeAt(t.position);continue}let r=t.line;if(to(t,e,3,!1,!0),o.push(t.result),q(t,!0,-1),n=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==n)S(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return!!a&&(t.tag=r,t.anchor=i,t.kind="sequence",t.result=o,!0)}function G(t,e,r){let i,o,a,n,s=t.tag,l=t.anchor,h={},c=Object.create(null),d=null,g=null,f=null,y=!1,m=!1;if(-1!==t.firstTabInLine)return!1;null!==t.anchor&&_(t,t.anchor,h);let x=t.input.charCodeAt(t.position);for(;0!==x;){y||-1===t.firstTabInLine||(t.position=t.firstTabInLine,S(t,"tab characters must not be used in indentation"));let C=t.input.charCodeAt(t.position+1),b=t.line;if((63===x||58===x)&&p(C))63===x?(y&&(K(t,h,c,d,g,null,o,a,n),d=g=f=null),m=!0,y=!0,i=!0):y?(y=!1,i=!0):S(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,x=C;else{if(o=t.line,a=t.lineStart,n=t.position,!to(t,r,2,!1,!0))break;if(t.line===b){for(x=t.input.charCodeAt(t.position);u(x);)x=t.input.charCodeAt(++t.position);if(58===x)p(x=t.input.charCodeAt(++t.position))||S(t,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(K(t,h,c,d,g,null,o,a,n),d=g=f=null),m=!0,y=!1,i=!1,d=t.tag,g=t.result;else{if(!m)return t.tag=s,t.anchor=l,!0;S(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!m)return t.tag=s,t.anchor=l,!0;S(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}if((t.line===b||t.lineIndent>e)&&(y&&(o=t.line,a=t.lineStart,n=t.position),to(t,e,4,!0,i)&&(y?g=t.result:f=t.result),y||(K(t,h,c,d,g,f,o,a,n),d=g=f=null),q(t,!0,-1),x=t.input.charCodeAt(t.position)),(t.line===b||t.lineIndent>e)&&0!==x)S(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return y&&K(t,h,c,d,g,null,o,a,n),m&&(t.tag=s,t.anchor=l,t.kind="mapping",t.result=h),m}function Z(t){let e,r,i=!1,a=!1,n=t.input.charCodeAt(t.position);if(33!==n)return!1;null!==t.tag&&S(t,"duplication of a tag property"),60===(n=t.input.charCodeAt(++t.position))?(i=!0,n=t.input.charCodeAt(++t.position)):33===n?(a=!0,e="!!",n=t.input.charCodeAt(++t.position)):e="!";let c=t.position;if(i){do n=t.input.charCodeAt(++t.position);while(0!==n&&62!==n)t.position<t.length?(r=t.input.slice(c,t.position),n=t.input.charCodeAt(++t.position)):S(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==n&&!p(n);)33===n&&(a?S(t,"tag suffix cannot contain exclamation marks"):(e=t.input.slice(c-1,t.position+1),l.test(e)||S(t,"named tag handle cannot contain such characters"),a=!0,c=t.position+1)),n=t.input.charCodeAt(++t.position);r=t.input.slice(c,t.position),s.test(r)&&S(t,"tag suffix cannot contain flow indicator characters")}r&&!h.test(r)&&S(t,"tag name cannot contain such characters: "+r);try{r=decodeURIComponent(r)}catch(e){S(t,"tag name is malformed: "+r)}return i?t.tag=r:o.call(t.tagMap,e)?t.tag=t.tagMap[e]+r:"!"===e?t.tag="!"+r:"!!"===e?t.tag="tag:yaml.org,2002:"+r:S(t,'undeclared tag handle "'+e+'"'),!0}function V(t){let e=t.input.charCodeAt(t.position);if(38!==e)return!1;null!==t.anchor&&S(t,"duplication of an anchor property"),e=t.input.charCodeAt(++t.position);let r=t.position;for(;0!==e&&!p(e)&&!g(e);)e=t.input.charCodeAt(++t.position);return t.position===r&&S(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(r,t.position),!0}function J(t){let e=t.input.charCodeAt(t.position);if(42!==e)return!1;e=t.input.charCodeAt(++t.position);let r=t.position;for(;0!==e&&!p(e)&&!g(e);)e=t.input.charCodeAt(++t.position);t.position===r&&S(t,"name of an alias node must contain at least one character");let i=t.input.slice(r,t.position);return o.call(t.anchorMap,i)||S(t,'unidentified alias "'+i+'"'),t.result=t.anchorMap[i],q(t,!0,-1),!0}function ti(t,e,r,i){let o=M(t);return(F(t),$(t,e),t.tag=null,t.anchor=null,t.kind=null,t.result=null,G(t,r,i)&&"mapping"===t.kind)?(A(t),!0):(L(t),$(t,o),!1)}function to(t,e,r,i,a){let n,s,l,h,c,d=1,u=!1,p=!1,g=null;t.depth>=t.maxDepth&&S(t,"nesting exceeded maxDepth ("+t.maxDepth+")"),t.depth+=1,null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null;let f=n=s=4===r||3===r;if(i&&q(t,!0,-1)&&(u=!0,t.lineIndent>e?d=1:t.lineIndent===e?d=0:t.lineIndent<e&&(d=-1)),1===d)for(;;){let r=t.input.charCodeAt(t.position),i=M(t);if(u&&(33===r&&null!==t.tag||38===r&&null!==t.anchor)||!Z(t)&&!V(t))break;null===g&&(g=i),q(t,!0,-1)?(u=!0,s=f,t.lineIndent>e?d=1:t.lineIndent===e?d=0:t.lineIndent<e&&(d=-1)):s=!1}if(s&&(s=u||a),1===d||4===r)if(h=1===r||2===r?e:e+1,c=t.position-t.lineStart,1===d)if(s&&(Y(t,c)||G(t,c,h))||j(t,h))p=!0;else{let e=t.input.charCodeAt(t.position);null!==g&&f&&!s&&124!==e&&62!==e&&ti(t,g,g.position-g.lineStart,h)||n&&H(t,h)||W(t,h)||N(t,h)?p=!0:J(t)?(p=!0,(null!==t.tag||null!==t.anchor)&&S(t,"alias node should not have any properties")):z(t,h,1===r)&&(p=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&_(t,t.anchor,t.result)}else 0===d&&(p=s&&Y(t,c));if(null===t.tag)null!==t.anchor&&_(t,t.anchor,t.result);else if("?"===t.tag){null!==t.result&&"scalar"!==t.kind&&S(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"');for(let e=0,r=t.implicitTypes.length;e<r;e+=1)if((l=t.implicitTypes[e]).resolve(t.result)){t.result=l.construct(t.result),t.tag=l.tag,null!==t.anchor&&_(t,t.anchor,t.result);break}}else if("!"!==t.tag){if(o.call(t.typeMap[t.kind||"fallback"],t.tag))l=t.typeMap[t.kind||"fallback"][t.tag];else{l=null;let e=t.typeMap.multi[t.kind||"fallback"];for(let r=0,i=e.length;r<i;r+=1)if(t.tag.slice(0,e[r].tag.length)===e[r].tag){l=e[r];break}}l||S(t,"unknown tag !<"+t.tag+">"),null!==t.result&&l.kind!==t.kind&&S(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+l.kind+'", not "'+t.kind+'"'),l.resolve(t.result,t.tag)?(t.result=l.construct(t.result,t.tag),null!==t.anchor&&_(t,t.anchor,t.result)):S(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),t.depth-=1,null!==t.tag||null!==t.anchor||p}function ta(t){let e,r=t.position,i=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(e=t.input.charCodeAt(t.position))&&(q(t,!0,-1),e=t.input.charCodeAt(t.position),!(t.lineIndent>0)&&37===e);){i=!0,e=t.input.charCodeAt(++t.position);let r=t.position;for(;0!==e&&!p(e);)e=t.input.charCodeAt(++t.position);let a=t.input.slice(r,t.position),n=[];for(a.length<1&&S(t,"directive name must not be less than one character in length");0!==e;){for(;u(e);)e=t.input.charCodeAt(++t.position);if(35===e){do e=t.input.charCodeAt(++t.position);while(0!==e&&!d(e))break}if(d(e))break;for(r=t.position;0!==e&&!p(e);)e=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}0!==e&&I(t),o.call(E,a)?E[a](t,a,n):v(t,'unknown document directive "'+a+'"')}if(q(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,q(t,!0,-1)):i&&S(t,"directives end mark is expected"),to(t,t.lineIndent-1,4,!1,!0),q(t,!0,-1),t.checkLineBreaks&&n.test(t.input.slice(r,t.position))&&v(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&R(t)){46===t.input.charCodeAt(t.position)&&(t.position+=3,q(t,!0,-1));return}t.position<t.length-1&&S(t,"end of the stream or a document separator is expected")}function tn(t,e){t=String(t),e=e||{},0!==t.length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));let r=new T(t,e),i=t.indexOf("\0");for(-1!==i&&(r.position=i,S(r,"null byte is not allowed in input")),r.input+="\0";32===r.input.charCodeAt(r.position);)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)ta(r);return r.documents}function ts(t,e,r){null!==e&&"object"==typeof e&&void 0===r&&(r=e,e=null);let i=tn(t,r);if("function"!=typeof e)return i;for(let t=0,r=i.length;t<r;t+=1)e(i[t])}function tl(t,r){let i=tn(t,r);if(0!==i.length){if(1===i.length)return i[0];throw new e("expected a single document in the stream, but found more")}}return(0,X.K)(O,"captureSegment"),(0,X.K)(D,"mergeMappings"),(0,X.K)(K,"storeMappingPair"),(0,X.K)(I,"readLineBreak"),(0,X.K)(q,"skipSeparationSpace"),(0,X.K)(R,"testDocumentSeparator"),(0,X.K)(P,"writeFoldedLines"),(0,X.K)(z,"readPlainScalar"),(0,X.K)(W,"readSingleQuotedScalar"),(0,X.K)(N,"readDoubleQuotedScalar"),(0,X.K)(j,"readFlowCollection"),(0,X.K)(H,"readBlockScalar"),(0,X.K)(Y,"readBlockSequence"),(0,X.K)(G,"readBlockMapping"),(0,X.K)(Z,"readTagProperty"),(0,X.K)(V,"readAnchorProperty"),(0,X.K)(J,"readAlias"),(0,X.K)(ti,"tryReadBlockMappingFromProperty"),(0,X.K)(to,"composeNode"),(0,X.K)(ta,"readDocument"),(0,X.K)(tn,"loadDocuments"),(0,X.K)(ts,"loadAll2"),(0,X.K)(tl,"load2"),Q.loadAll=ts,Q.load=tl,Q}(0,X.K)(tt,"requireCommon"),(0,X.K)(te,"requireException"),(0,X.K)(tr,"requireSnippet"),(0,X.K)(ti,"requireType"),(0,X.K)(to,"requireSchema"),(0,X.K)(ta,"requireStr"),(0,X.K)(tn,"requireSeq"),(0,X.K)(ts,"requireMap"),(0,X.K)(tl,"requireFailsafe"),(0,X.K)(th,"require_null"),(0,X.K)(tc,"requireBool"),(0,X.K)(td,"requireInt"),(0,X.K)(tu,"requireFloat"),(0,X.K)(tp,"requireJson"),(0,X.K)(tg,"requireCore"),(0,X.K)(tf,"requireTimestamp"),(0,X.K)(ty,"requireMerge"),(0,X.K)(tm,"requireBinary"),(0,X.K)(tx,"requireOmap"),(0,X.K)(tC,"requirePairs"),(0,X.K)(tb,"requireSet"),(0,X.K)(tk,"require_default"),(0,X.K)(tw,"requireLoader");var tT={};function tB(){if(Y)return tT;Y=1;let t=tt(),e=te(),r=tk(),i=Object.prototype.toString,o=Object.prototype.hasOwnProperty,a={};a[0]="\\0",a[7]="\\a",a[8]="\\b",a[9]="\\t",a[10]="\\n",a[11]="\\v",a[12]="\\f",a[13]="\\r",a[27]="\\e",a[34]='\\"',a[92]="\\\\",a[133]="\\N",a[160]="\\_",a[8232]="\\L",a[8233]="\\P";let n=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],s=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function l(t,e){if(null===e)return{};let r={},i=Object.keys(e);for(let a=0,n=i.length;a<n;a+=1){let n=i[a],s=String(e[n]);"!!"===n.slice(0,2)&&(n="tag:yaml.org,2002:"+n.slice(2));let l=t.compiledTypeMap.fallback[n];l&&o.call(l.styleAliases,s)&&(s=l.styleAliases[s]),r[n]=s}return r}function h(r){let i,o,a=r.toString(16).toUpperCase();if(r<=255)i="x",o=2;else if(r<=65535)i="u",o=4;else if(r<=0xffffffff)i="U",o=8;else throw new e("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+i+t.repeat("0",o-a.length)+a}function c(e){this.schema=e.schema||r,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=t.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=l(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType='"'===e.quotingType?2:1,this.forceQuotes=e.forceQuotes||!1,this.replacer="function"==typeof e.replacer?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function d(e,r){let i=t.repeat(" ",r),o=0,a="",n=e.length;for(;o<n;){let t,r=e.indexOf("\n",o);-1===r?(t=e.slice(o),o=n):(t=e.slice(o,r+1),o=r+1),t.length&&"\n"!==t&&(a+=i),a+=t}return a}function u(e,r){return"\n"+t.repeat(" ",e.indent*r)}function p(t,e){for(let r=0,i=t.implicitTypes.length;r<i;r+=1)if(t.implicitTypes[r].resolve(e))return!0;return!1}function g(t){return 32===t||9===t}function f(t){return t>=32&&t<=126||t>=161&&t<=55295&&8232!==t&&8233!==t||t>=57344&&t<=65533&&65279!==t||t>=65536&&t<=1114111}function y(t){return f(t)&&65279!==t&&13!==t&&10!==t}function m(t,e,r){let i=y(t),o=i&&!g(t);return(r?i:i&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t)&&35!==t&&!(58===e&&!o)||y(e)&&!g(e)&&35===t||58===e&&o}function x(t){return f(t)&&65279!==t&&!g(t)&&45!==t&&63!==t&&58!==t&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t&&35!==t&&38!==t&&42!==t&&33!==t&&124!==t&&61!==t&&62!==t&&39!==t&&34!==t&&37!==t&&64!==t&&96!==t}function C(t){return!g(t)&&58!==t}function b(t,e){let r,i=t.charCodeAt(e);return i>=55296&&i<=56319&&e+1<t.length&&(r=t.charCodeAt(e+1))>=56320&&r<=57343?(i-55296)*1024+r-56320+65536:i}function k(t){return/^\n* /.test(t)}function w(t,e,r,i,o,a,n,s){let l,h=0,c=null,d=!1,u=!1,p=-1!==i,g=-1,y=x(b(t,0))&&C(b(t,t.length-1));if(e||n)for(l=0;l<t.length;h>=65536?l+=2:l++){if(!f(h=b(t,l)))return 5;y=y&&m(h,c,s),c=h}else{for(l=0;l<t.length;h>=65536?l+=2:l++){if(10===(h=b(t,l)))d=!0,p&&(u=u||l-g-1>i&&" "!==t[g+1],g=l);else if(!f(h))return 5;y=y&&m(h,c,s),c=h}u=u||p&&l-g-1>i&&" "!==t[g+1]}return d||u?r>9&&k(t)?5:n?2===a?5:2:u?4:3:!y||n||o(t)?2===a?5:2:1}function T(t,r,i,o,a){t.dump=function(){if(0===r.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==n.indexOf(r)||s.test(r)))return 2===t.quotingType?'"'+r+'"':"'"+r+"'";let l=t.indent*Math.max(1,i),h=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-l),c=o||t.flowLevel>-1&&i>=t.flowLevel;function u(e){return p(t,e)}switch((0,X.K)(u,"testAmbiguity"),w(r,c,t.indent,h,u,t.quotingType,t.forceQuotes&&!o,a)){case 1:return r;case 2:return"'"+r.replace(/'/g,"''")+"'";case 3:return"|"+B(r,t.indent)+S(d(r,l));case 4:return">"+B(r,t.indent)+S(d(v(r,h),l));case 5:return'"'+F(r)+'"';default:throw new e("impossible error: invalid scalar style")}}()}function B(t,e){let r=k(t)?String(e):"",i="\n"===t[t.length-1];return r+(i&&("\n"===t[t.length-2]||"\n"===t)?"+":i?"":"-")+"\n"}function S(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function v(t,e){let r,i,o,a=/(\n+)([^\n]*)/g,n=(a.lastIndex=o=-1!==(o=t.indexOf("\n"))?o:t.length,_(t.slice(0,o),e)),s="\n"===t[0]||" "===t[0];for(;i=a.exec(t);){let t=i[1],o=i[2];r=" "===o[0],n+=t+(s||r||""===o?"":"\n")+_(o,e),s=r}return n}function _(t,e){let r,i;if(""===t||" "===t[0])return t;let o=/ [^ ]/g,a=0,n=0,s=0,l="";for(;r=o.exec(t);)(s=r.index)-a>e&&(i=n>a?n:s,l+="\n"+t.slice(a,i),a=i+1),n=s;return l+="\n",t.length-a>e&&n>a?l+=t.slice(a,n)+"\n"+t.slice(n+1):l+=t.slice(a),l.slice(1)}function F(t){let e="",r=0;for(let i=0;i<t.length;r>=65536?i+=2:i++){let o=a[r=b(t,i)];!o&&f(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=o||h(r)}return e}function A(t,e,r){let i="",o=t.tag;for(let o=0,a=r.length;o<a;o+=1){let a=r[o];t.replacer&&(a=t.replacer.call(r,String(o),a)),(O(t,e,a,!1,!1)||void 0===a&&O(t,e,null,!1,!1))&&(""!==i&&(i+=","+(t.condenseFlow?"":" ")),i+=t.dump)}t.tag=o,t.dump="["+i+"]"}function L(t,e,r,i){let o="",a=t.tag;for(let a=0,n=r.length;a<n;a+=1){let n=r[a];t.replacer&&(n=t.replacer.call(r,String(a),n)),(O(t,e+1,n,!0,!0,!1,!0)||void 0===n&&O(t,e+1,null,!0,!0,!1,!0))&&(i&&""===o||(o+=u(t,e)),t.dump&&10===t.dump.charCodeAt(0)?o+="-":o+="- ",o+=t.dump)}t.tag=a,t.dump=o||"[]"}function M(t,e,r){let i="",o=t.tag,a=Object.keys(r);for(let o=0,n=a.length;o<n;o+=1){let n="";""!==i&&(n+=", "),t.condenseFlow&&(n+='"');let s=a[o],l=r[s];t.replacer&&(l=t.replacer.call(r,s,l)),O(t,e,s,!1,!1)&&(t.dump.length>1024&&(n+="? "),n+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),O(t,e,l,!1,!1)&&(n+=t.dump,i+=n))}t.tag=o,t.dump="{"+i+"}"}function $(t,r,i,o){let a="",n=t.tag,s=Object.keys(i);if(!0===t.sortKeys)s.sort();else if("function"==typeof t.sortKeys)s.sort(t.sortKeys);else if(t.sortKeys)throw new e("sortKeys must be a boolean or a function");for(let e=0,n=s.length;e<n;e+=1){let n="";o&&""===a||(n+=u(t,r));let l=s[e],h=i[l];if(t.replacer&&(h=t.replacer.call(i,l,h)),!O(t,r+1,l,!0,!0,!0))continue;let c=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024;c&&(t.dump&&10===t.dump.charCodeAt(0)?n+="?":n+="? "),n+=t.dump,c&&(n+=u(t,r)),O(t,r+1,h,!0,c)&&(t.dump&&10===t.dump.charCodeAt(0)?n+=":":n+=": ",n+=t.dump,a+=n)}t.tag=n,t.dump=a||"{}"}function E(t,r,a){let n=a?t.explicitTypes:t.implicitTypes;for(let s=0,l=n.length;s<l;s+=1){let l=n[s];if((l.instanceOf||l.predicate)&&(!l.instanceOf||"object"==typeof r&&r instanceof l.instanceOf)&&(!l.predicate||l.predicate(r))){if(a?l.multi&&l.representName?t.tag=l.representName(r):t.tag=l.tag:t.tag="?",l.represent){let a,n=t.styleMap[l.tag]||l.defaultStyle;if("[object Function]"===i.call(l.represent))a=l.represent(r,n);else if(o.call(l.represent,n))a=l.represent[n](r,n);else throw new e("!<"+l.tag+'> tag resolver accepts not "'+n+'" style');t.dump=a}return!0}}return!1}function O(t,r,o,a,n,s,l){let h,c;t.tag=null,t.dump=o,E(t,o,!1)||E(t,o,!0);let d=i.call(t.dump),u=a;a&&(a=t.flowLevel<0||t.flowLevel>r);let p="[object Object]"===d||"[object Array]"===d;if(p&&(c=-1!==(h=t.duplicates.indexOf(o))),(null!==t.tag&&"?"!==t.tag||c||2!==t.indent&&r>0)&&(n=!1),c&&t.usedDuplicates[h])t.dump="*ref_"+h;else{if(p&&c&&!t.usedDuplicates[h]&&(t.usedDuplicates[h]=!0),"[object Object]"===d)a&&0!==Object.keys(t.dump).length?($(t,r,t.dump,n),c&&(t.dump="&ref_"+h+t.dump)):(M(t,r,t.dump),c&&(t.dump="&ref_"+h+" "+t.dump));else if("[object Array]"===d)a&&0!==t.dump.length?(t.noArrayIndent&&!l&&r>0?L(t,r-1,t.dump,n):L(t,r,t.dump,n),c&&(t.dump="&ref_"+h+t.dump)):(A(t,r,t.dump),c&&(t.dump="&ref_"+h+" "+t.dump));else if("[object String]"===d)"?"!==t.tag&&T(t,t.dump,r,s,u);else{if("[object Undefined]"===d||t.skipInvalid)return!1;throw new e("unacceptable kind of an object to dump "+d)}if(null!==t.tag&&"?"!==t.tag){let e=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21");e="!"===t.tag[0]?"!"+e:"tag:yaml.org,2002:"===e.slice(0,18)?"!!"+e.slice(18):"!<"+e+">",t.dump=e+" "+t.dump}}return!0}function D(t,e){let r=[],i=[];K(t,r,i);let o=i.length;for(let t=0;t<o;t+=1)e.duplicates.push(r[i[t]]);e.usedDuplicates=Array(o)}function K(t,e,r){if(null!==t&&"object"==typeof t){let i=e.indexOf(t);if(-1!==i)-1===r.indexOf(i)&&r.push(i);else if(e.push(t),Array.isArray(t))for(let i=0,o=t.length;i<o;i+=1)K(t[i],e,r);else{let i=Object.keys(t);for(let o=0,a=i.length;o<a;o+=1)K(t[i[o]],e,r)}}}function I(t,e){let r=new c(e=e||{});r.noRefs||D(t,r);let i=t;return(r.replacer&&(i=r.replacer.call({"":i},"",i)),O(r,0,i,!0,!0))?r.dump+"\n":""}return(0,X.K)(l,"compileStyleMap"),(0,X.K)(h,"encodeHex"),(0,X.K)(c,"State"),(0,X.K)(d,"indentString"),(0,X.K)(u,"generateNextLine"),(0,X.K)(p,"testImplicitResolving"),(0,X.K)(g,"isWhitespace"),(0,X.K)(f,"isPrintable"),(0,X.K)(y,"isNsCharOrWhitespace"),(0,X.K)(m,"isPlainSafe"),(0,X.K)(x,"isPlainSafeFirst"),(0,X.K)(C,"isPlainSafeLast"),(0,X.K)(b,"codePointAt"),(0,X.K)(k,"needIndentIndicator"),(0,X.K)(w,"chooseScalarStyle"),(0,X.K)(T,"writeScalar"),(0,X.K)(B,"blockHeader"),(0,X.K)(S,"dropEndingNewline"),(0,X.K)(v,"foldString"),(0,X.K)(_,"foldLine"),(0,X.K)(F,"escapeString"),(0,X.K)(A,"writeFlowSequence"),(0,X.K)(L,"writeBlockSequence"),(0,X.K)(M,"writeFlowMapping"),(0,X.K)($,"writeBlockMapping"),(0,X.K)(E,"detectType"),(0,X.K)(O,"writeNode"),(0,X.K)(D,"getDuplicateReferences"),(0,X.K)(K,"inspectNode"),(0,X.K)(I,"dump2"),tT.dump=I,tT}function tS(){if(G)return V;G=1;let t=tw(),e=tB();function r(t,e){return function(){throw Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}return(0,X.K)(r,"renamed"),V.Type=ti(),V.Schema=to(),V.FAILSAFE_SCHEMA=tl(),V.JSON_SCHEMA=tp(),V.CORE_SCHEMA=tg(),V.DEFAULT_SCHEMA=tk(),V.load=t.load,V.loadAll=t.loadAll,V.dump=e.dump,V.YAMLException=te(),V.types={binary:tm(),float:tu(),map:ts(),null:th(),pairs:tC(),set:tb(),timestamp:tf(),bool:tc(),int:td(),merge:ty(),omap:tx(),seq:tn(),str:ta()},V.safeLoad=r("safeLoad","load"),V.safeLoadAll=r("safeLoadAll","loadAll"),V.safeDump=r("safeDump","dump"),V}(0,X.K)(tB,"requireDumper"),(0,X.K)(tS,"requireJsYaml");var{JSON_SCHEMA:tv,load:t_}=Z(tS())},6320(t,e,r){"use strict";r.d(e,{lT:()=>tP,W6:()=>tZ,O6:()=>tL,GZ:()=>t1});var i=r(2217),o=r(6348),a=r(1177),n=r(1293),s=r(6827);function l(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var h=l(),c={exec:()=>null};function d(t,e=""){let r="string"==typeof t?t:t.source,i={replace:(t,e)=>{let o="string"==typeof e?e:e.source;return o=o.replace(p.caret,"$1"),r=r.replace(t,o),i},getRegex:()=>new RegExp(r,e)};return i}var u=(()=>{try{return!!RegExp("(?<=1)(?<!1)")}catch{return!1}})(),p={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},g=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,f=/(?:[*+-]|\d{1,9}[.)])/,y=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,m=d(y).replace(/bull/g,f).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),x=d(y).replace(/bull/g,f).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),C=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,b=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,k=d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",b).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),w=d(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,f).getRegex(),T="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",B=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,S=d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",B).replace("tag",T).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),v=d(C).replace("hr",g).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",T).getRegex(),_={blockquote:d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",v).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:k,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:g,html:S,lheading:m,list:w,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:v,table:c,text:/^[^\n]+/},F=d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",g).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",T).getRegex(),A={..._,lheading:x,table:F,paragraph:d(C).replace("hr",g).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",F).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",T).getRegex()},L={..._,html:d("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",B).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:c,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:d(C).replace("hr",g).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",m).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},M=/^( {2,}|\\)\n(?!\s*$)/,$=/[\p{P}\p{S}]/u,E=/[\s\p{P}\p{S}]/u,O=/[^\s\p{P}\p{S}]/u,D=d(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,E).getRegex(),K=/(?!~)[\p{P}\p{S}]/u,I=d(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",u?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),q=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,R=d(q,"u").replace(/punct/g,$).getRegex(),P=d(q,"u").replace(/punct/g,K).getRegex(),z="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",W=d(z,"gu").replace(/notPunctSpace/g,O).replace(/punctSpace/g,E).replace(/punct/g,$).getRegex(),N=d(z,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,K).getRegex(),j=d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,O).replace(/punctSpace/g,E).replace(/punct/g,$).getRegex(),H=d(/\\(punct)/,"gu").replace(/punct/g,$).getRegex(),U=d(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Y=d(B).replace("(?:--\x3e|$)","--\x3e").getRegex(),G=d("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Y).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),X=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Z=d(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",X).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),V=d(/^!?\[(label)\]\[(ref)\]/).replace("label",X).replace("ref",b).getRegex(),Q=d(/^!?\[(ref)\](?:\[\])?/).replace("ref",b).getRegex(),J=d("reflink|nolink(?!\\()","g").replace("reflink",V).replace("nolink",Q).getRegex(),tt=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,te={_backpedal:c,anyPunctuation:H,autolink:U,blockSkip:I,br:M,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:c,emStrongLDelim:R,emStrongRDelimAst:W,emStrongRDelimUnd:j,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:Z,nolink:Q,punctuation:D,reflink:V,reflinkSearch:J,tag:G,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:c},tr={...te,link:d(/^!?\[(label)\]\((.*?)\)/).replace("label",X).getRegex(),reflink:d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",X).getRegex()},ti={...te,emStrongRDelimAst:N,emStrongLDelim:P,url:d(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",tt).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:d(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",tt).getRegex()},to={...ti,br:d(M).replace("{2,}","*").getRegex(),text:d(ti.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ta={normal:_,gfm:A,pedantic:L},tn={normal:te,gfm:ti,breaks:to,pedantic:tr},ts={"&":"&","<":"<",">":">",'"':""","'":"'"},tl=t=>ts[t];function th(t,e){if(e){if(p.escapeTest.test(t))return t.replace(p.escapeReplace,tl)}else if(p.escapeTestNoEncode.test(t))return t.replace(p.escapeReplaceNoEncode,tl);return t}function tc(t){try{t=encodeURI(t).replace(p.percentDecode,"%")}catch{return null}return t}function td(t,e){let r=t.replace(p.findPipe,(t,e,r)=>{let i=!1,o=e;for(;--o>=0&&"\\"===r[o];)i=!i;return i?"|":" |"}).split(p.splitPipe),i=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length<e;)r.push("");for(;i<r.length;i++)r[i]=r[i].trim().replace(p.slashPipe,"|");return r}function tu(t,e,r){let i=t.length;if(0===i)return"";let o=0;for(;o<i;){let a=t.charAt(i-o-1);if(a!==e||r)if(a!==e&&r)o++;else break;else o++}return t.slice(0,i-o)}function tp(t,e,r,i,o){let a=e.href,n=e.title||null,s=t[1].replace(o.other.outputLinkReplace,"$1");i.state.inLink=!0;let l={type:"!"===t[0].charAt(0)?"image":"link",raw:r,href:a,title:n,text:s,tokens:i.inlineTokens(s)};return i.state.inLink=!1,l}var tg=class{options;rules;lexer;constructor(t){this.options=t||h}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let t=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:tu(t,` +`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let t=e[0],r=function(t,e,r){let i=t.match(r.other.indentCodeCompensation);if(null===i)return e;let o=i[1];return e.split(` +`).map(t=>{let e=t.match(r.other.beginningSpace);if(null===e)return t;let[i]=e;return i.length>=o.length?t.slice(o.length):t}).join(` +`)}(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:r}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let e=tu(t,"#");(this.options.pedantic||!e||this.rules.other.endingSpaceChar.test(e))&&(t=e.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:tu(e[0],` +`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let t=tu(e[0],` +`).split(` +`),r="",i="",o=[];for(;t.length>0;){let e=!1,a=[],n;for(n=0;n<t.length;n++)if(this.rules.other.blockquoteStart.test(t[n]))a.push(t[n]),e=!0;else if(e)break;else a.push(t[n]);t=t.slice(n);let s=a.join(` +`),l=s.replace(this.rules.other.blockquoteSetextReplace,` + $1`).replace(this.rules.other.blockquoteSetextReplace2,"");r=r?`${r} +${s}`:s,i=i?`${i} +${l}`:l;let h=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,o,!0),this.lexer.state.top=h,0===t.length)break;let c=o.at(-1);if(c?.type==="code")break;if(c?.type==="blockquote"){let e=c.raw+` +`+t.join(` +`),a=this.blockquote(e);o[o.length-1]=a,r=r.substring(0,r.length-c.raw.length)+a.raw,i=i.substring(0,i.length-c.text.length)+a.text;break}if(c?.type==="list"){let e=c.raw+` +`+t.join(` +`),a=this.list(e);o[o.length-1]=a,r=r.substring(0,r.length-c.raw.length)+a.raw,i=i.substring(0,i.length-c.raw.length)+a.raw,t=e.substring(o.at(-1).raw.length).split(` +`);continue}}return{type:"blockquote",raw:r,tokens:o,text:i}}}list(t){let e=this.rules.block.list.exec(t);if(e){let r=e[1].trim(),i=r.length>1,o={type:"list",raw:"",ordered:i,start:i?+r.slice(0,-1):"",loose:!1,items:[]};r=i?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=i?r:"[*+-]");let a=this.rules.other.listItemRegex(r),n=!1;for(;t;){let r=!1,i="",s="";if(!(e=a.exec(t))||this.rules.block.hr.test(t))break;i=e[0],t=t.substring(i.length);let l=e[2].split(` +`,1)[0].replace(this.rules.other.listReplaceTabs,t=>" ".repeat(3*t.length)),h=t.split(` +`,1)[0],c=!l.trim(),d=0;if(this.options.pedantic?(d=2,s=l.trimStart()):c?d=e[1].length+1:(d=(d=e[2].search(this.rules.other.nonSpaceChar))>4?1:d,s=l.slice(d),d+=e[1].length),c&&this.rules.other.blankLine.test(h)&&(i+=h+` +`,t=t.substring(h.length+1),r=!0),!r){let e=this.rules.other.nextBulletRegex(d),r=this.rules.other.hrRegex(d),o=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),n=this.rules.other.htmlBeginRegex(d);for(;t;){let u=t.split(` +`,1)[0],p;if(h=u,p=this.options.pedantic?h=h.replace(this.rules.other.listReplaceNesting," "):h.replace(this.rules.other.tabCharGlobal," "),o.test(h)||a.test(h)||n.test(h)||e.test(h)||r.test(h))break;if(p.search(this.rules.other.nonSpaceChar)>=d||!h.trim())s+=` +`+p.slice(d);else{if(c||l.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||o.test(l)||a.test(l)||r.test(l))break;s+=` +`+h}c||h.trim()||(c=!0),i+=u+` +`,t=t.substring(u.length+1),l=p.slice(d)}}o.loose||(n?o.loose=!0:this.rules.other.doubleBlankLine.test(i)&&(n=!0));let u=null,p;this.options.gfm&&(u=this.rules.other.listIsTask.exec(s))&&(p="[ ] "!==u[0],s=s.replace(this.rules.other.listReplaceTask,"")),o.items.push({type:"list_item",raw:i,task:!!u,checked:p,loose:!1,text:s,tokens:[]}),o.raw+=i}let s=o.items.at(-1);if(!s)return;s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd(),o.raw=o.raw.trimEnd();for(let t=0;t<o.items.length;t++)if(this.lexer.state.top=!1,o.items[t].tokens=this.lexer.blockTokens(o.items[t].text,[]),!o.loose){let e=o.items[t].tokens.filter(t=>"space"===t.type);o.loose=e.length>0&&e.some(t=>this.rules.other.anyLine.test(t.raw))}if(o.loose)for(let t=0;t<o.items.length;t++)o.items[t].loose=!0;return o}}html(t){let e=this.rules.block.html.exec(t);if(e)return{type:"html",block:!0,raw:e[0],pre:"pre"===e[1]||"script"===e[1]||"style"===e[1],text:e[0]}}def(t){let e=this.rules.block.def.exec(t);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:r,title:i}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let r=td(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),o=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(` +`):[],a={type:"table",raw:e[0],header:[],align:[],rows:[]};if(r.length===i.length){for(let t of i)this.rules.other.tableAlignRight.test(t)?a.align.push("right"):this.rules.other.tableAlignCenter.test(t)?a.align.push("center"):this.rules.other.tableAlignLeft.test(t)?a.align.push("left"):a.align.push(null);for(let t=0;t<r.length;t++)a.header.push({text:r[t],tokens:this.lexer.inline(r[t]),header:!0,align:a.align[t]});for(let t of o)a.rows.push(td(t,a.header.length).map((t,e)=>({text:t,tokens:this.lexer.inline(t),header:!1,align:a.align[e]})));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let t=e[1].charAt(e[1].length-1)===` +`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let e=tu(t.slice(0,-1),"\\");if((t.length-e.length)%2==0)return}else{let t=function(t){if(-1===t.indexOf(")"))return -1;let e=0;for(let r=0;r<t.length;r++)if("\\"===t[r])r++;else if("("===t[r])e++;else if(")"===t[r]&&--e<0)return r;return e>0?-2:-1}(e[2]);if(-2===t)return;if(t>-1){let r=(0===e[0].indexOf("!")?5:4)+e[1].length+t;e[2]=e[2].substring(0,t),e[0]=e[0].substring(0,r).trim(),e[3]=""}}let r=e[2],i="";if(this.options.pedantic){let t=this.rules.other.pedanticHrefTitle.exec(r);t&&(r=t[1],i=t[3])}else i=e[3]?e[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(r=this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?r.slice(1):r.slice(1,-1)),tp(e,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let t=e[(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!t){let t=r[0].charAt(0);return{type:"text",raw:t,text:t}}return tp(r,t,r[0],this.lexer,this.rules)}}emStrong(t,e,r=""){let i=this.rules.inline.emStrongLDelim.exec(t);if(!(!i||i[3]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!r||this.rules.inline.punctuation.exec(r))){let r=[...i[0]].length-1,o,a,n=r,s=0,l="*"===i[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,e=e.slice(-1*t.length+r);null!=(i=l.exec(e));){if(!(o=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]))continue;if(a=[...o].length,i[3]||i[4]){n+=a;continue}if((i[5]||i[6])&&r%3&&!((r+a)%3)){s+=a;continue}if((n-=a)>0)continue;a=Math.min(a,a+n+s);let e=[...i[0]][0].length,l=t.slice(0,r+i.index+e+a);if(Math.min(r,a)%2){let t=l.slice(1,-1);return{type:"em",raw:l,text:t,tokens:this.lexer.inlineTokens(t)}}let h=l.slice(2,-2);return{type:"strong",raw:l,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(t),i=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return r&&i&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let t,r;return r="@"===e[2]?"mailto:"+(t=e[1]):t=e[1],{type:"link",raw:e[0],text:t,href:r,tokens:[{type:"text",raw:t,text:t}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let t,r;if("@"===e[2])r="mailto:"+(t=e[0]);else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0])t=e[0],r="www."===e[1]?"http://"+e[0]:e[0]}return{type:"link",raw:e[0],text:t,href:r,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},tf=class t{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||h,this.options.tokenizer=this.options.tokenizer||new tg,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={other:p,block:ta.normal,inline:tn.normal};this.options.pedantic?(e.block=ta.pedantic,e.inline=tn.pedantic):this.options.gfm&&(e.block=ta.gfm,this.options.breaks?e.inline=tn.breaks:e.inline=tn.gfm),this.tokenizer.rules=e}static get rules(){return{block:ta,inline:tn}}static lex(e,r){return new t(r).lex(e)}static lexInline(e,r){return new t(r).inlineTokens(e)}lex(t){t=t.replace(p.carriageReturn,` +`),this.blockTokens(t,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let e=this.inlineQueue[t];this.inlineTokens(e.src,e.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,e=[],r=!1){for(this.options.pedantic&&(t=t.replace(p.tabCharGlobal," ").replace(p.spaceLine,""));t;){let i;if(this.options.extensions?.block?.some(r=>!!(i=r.call({lexer:this},t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)))continue;if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length);let r=e.at(-1);1===i.raw.length&&void 0!==r?r.raw+=` +`:e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length);let r=e.at(-1);r?.type==="paragraph"||r?.type==="text"?(r.raw+=(r.raw.endsWith(` +`)?"":` +`)+i.raw,r.text+=` +`+i.text,this.inlineQueue.at(-1).src=r.text):e.push(i);continue}if((i=this.tokenizer.fences(t))||(i=this.tokenizer.heading(t))||(i=this.tokenizer.hr(t))||(i=this.tokenizer.blockquote(t))||(i=this.tokenizer.list(t))||(i=this.tokenizer.html(t))){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.def(t)){t=t.substring(i.raw.length);let r=e.at(-1);r?.type==="paragraph"||r?.type==="text"?(r.raw+=(r.raw.endsWith(` +`)?"":` +`)+i.raw,r.text+=` +`+i.raw,this.inlineQueue.at(-1).src=r.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},e.push(i));continue}if((i=this.tokenizer.table(t))||(i=this.tokenizer.lheading(t))){t=t.substring(i.raw.length),e.push(i);continue}let o=t;if(this.options.extensions?.startBlock){let e=1/0,r=t.slice(1),i;this.options.extensions.startBlock.forEach(t=>{"number"==typeof(i=t.call({lexer:this},r))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(o=t.substring(0,e+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){let a=e.at(-1);r&&a?.type==="paragraph"?(a.raw+=(a.raw.endsWith(` +`)?"":` +`)+i.raw,a.text+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):e.push(i),r=o.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length);let r=e.at(-1);r?.type==="text"?(r.raw+=(r.raw.endsWith(` +`)?"":` +`)+i.raw,r.text+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):e.push(i);continue}if(t){let e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw Error(e)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let r,i=t,o=null;if(this.tokens.links){let t=Object.keys(this.tokens.links);if(t.length>0)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(i));)t.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.anyPunctuation.exec(i));)i=i.slice(0,o.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(i));)r=o[2]?o[2].length:0,i=i.slice(0,o.index+r)+"["+"a".repeat(o[0].length-r-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=this.options.hooks?.emStrongMask?.call({lexer:this},i)??i;let a=!1,n="";for(;t;){let r;if(a||(n=""),a=!1,this.options.extensions?.inline?.some(i=>!!(r=i.call({lexer:this},t,e))&&(t=t.substring(r.raw.length),e.push(r),!0)))continue;if((r=this.tokenizer.escape(t))||(r=this.tokenizer.tag(t))||(r=this.tokenizer.link(t))){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(r.raw.length);let i=e.at(-1);"text"===r.type&&i?.type==="text"?(i.raw+=r.raw,i.text+=r.text):e.push(r);continue}if((r=this.tokenizer.emStrong(t,i,n))||(r=this.tokenizer.codespan(t))||(r=this.tokenizer.br(t))||(r=this.tokenizer.del(t))||(r=this.tokenizer.autolink(t))||!this.state.inLink&&(r=this.tokenizer.url(t))){t=t.substring(r.raw.length),e.push(r);continue}let o=t;if(this.options.extensions?.startInline){let e=1/0,r=t.slice(1),i;this.options.extensions.startInline.forEach(t=>{"number"==typeof(i=t.call({lexer:this},r))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(o=t.substring(0,e+1))}if(r=this.tokenizer.inlineText(o)){t=t.substring(r.raw.length),"_"!==r.raw.slice(-1)&&(n=r.raw.slice(-1)),a=!0;let i=e.at(-1);i?.type==="text"?(i.raw+=r.raw,i.text+=r.text):e.push(r);continue}if(t){let e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw Error(e)}}return e}},ty=class{options;parser;constructor(t){this.options=t||h}space(t){return""}code({text:t,lang:e,escaped:r}){let i=(e||"").match(p.notSpaceStart)?.[0],o=t.replace(p.endingNewline,"")+` +`;return i?'<pre><code class="language-'+th(i)+'">'+(r?o:th(o,!0))+`</code></pre> +`:"<pre><code>"+(r?o:th(o,!0))+`</code></pre> +`}blockquote({tokens:t}){return`<blockquote> +${this.parser.parse(t)}</blockquote> +`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:e}){return`<h${e}>${this.parser.parseInline(t)}</h${e}> +`}hr(t){return`<hr> +`}list(t){let e=t.ordered,r=t.start,i="";for(let e=0;e<t.items.length;e++){let r=t.items[e];i+=this.listitem(r)}let o=e?"ol":"ul";return"<"+o+(e&&1!==r?' start="'+r+'"':"")+`> +`+i+"</"+o+`> +`}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens[0]?.type==="paragraph"?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=r+" "+th(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" ",escaped:!0}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`<li>${e}</li> +`}checkbox({checked:t}){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:t}){return`<p>${this.parser.parseInline(t)}</p> +`}table(t){let e="",r="";for(let e=0;e<t.header.length;e++)r+=this.tablecell(t.header[e]);e+=this.tablerow({text:r});let i="";for(let e=0;e<t.rows.length;e++){let o=t.rows[e];r="";for(let t=0;t<o.length;t++)r+=this.tablecell(o[t]);i+=this.tablerow({text:r})}return i&&(i=`<tbody>${i}</tbody>`),`<table> +<thead> +`+e+`</thead> +`+i+`</table> +`}tablerow({text:t}){return`<tr> +${t}</tr> +`}tablecell(t){let e=this.parser.parseInline(t.tokens),r=t.header?"th":"td";return(t.align?`<${r} align="${t.align}">`:`<${r}>`)+e+`</${r}> +`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${th(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,tokens:r}){let i=this.parser.parseInline(r),o=tc(t);if(null===o)return i;let a='<a href="'+(t=o)+'"';return e&&(a+=' title="'+th(e)+'"'),a+=">"+i+"</a>"}image({href:t,title:e,text:r,tokens:i}){i&&(r=this.parser.parseInline(i,this.parser.textRenderer));let o=tc(t);if(null===o)return th(r);t=o;let a=`<img src="${t}" alt="${r}"`;return e&&(a+=` title="${th(e)}"`),a+=">"}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:th(t.text)}},tm=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}},tx=class t{options;renderer;textRenderer;constructor(t){this.options=t||h,this.options.renderer=this.options.renderer||new ty,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new tm}static parse(e,r){return new t(r).parse(e)}static parseInline(e,r){return new t(r).parseInline(e)}parse(t,e=!0){let r="";for(let i=0;i<t.length;i++){let o=t[i];if(this.options.extensions?.renderers?.[o.type]){let t=this.options.extensions.renderers[o.type].call({parser:this},o);if(!1!==t||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(o.type)){r+=t||"";continue}}switch(o.type){case"space":r+=this.renderer.space(o);continue;case"hr":r+=this.renderer.hr(o);continue;case"heading":r+=this.renderer.heading(o);continue;case"code":r+=this.renderer.code(o);continue;case"table":r+=this.renderer.table(o);continue;case"blockquote":r+=this.renderer.blockquote(o);continue;case"list":r+=this.renderer.list(o);continue;case"html":r+=this.renderer.html(o);continue;case"def":r+=this.renderer.def(o);continue;case"paragraph":r+=this.renderer.paragraph(o);continue;case"text":{let a=o,n=this.renderer.text(a);for(;i+1<t.length&&"text"===t[i+1].type;)a=t[++i],n+=` +`+this.renderer.text(a);e?r+=this.renderer.paragraph({type:"paragraph",raw:n,text:n,tokens:[{type:"text",raw:n,text:n,escaped:!0}]}):r+=n;continue}default:{let t='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw Error(t)}}}return r}parseInline(t,e=this.renderer){let r="";for(let i=0;i<t.length;i++){let o=t[i];if(this.options.extensions?.renderers?.[o.type]){let t=this.options.extensions.renderers[o.type].call({parser:this},o);if(!1!==t||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){r+=t||"";continue}}switch(o.type){case"escape":case"text":r+=e.text(o);break;case"html":r+=e.html(o);break;case"link":r+=e.link(o);break;case"image":r+=e.image(o);break;case"strong":r+=e.strong(o);break;case"em":r+=e.em(o);break;case"codespan":r+=e.codespan(o);break;case"br":r+=e.br(o);break;case"del":r+=e.del(o);break;default:{let t='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw Error(t)}}}return r}},tC=class{options;block;constructor(t){this.options=t||h}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(){return this.block?tf.lex:tf.lexInline}provideParser(){return this.block?tx.parse:tx.parseInline}},tb=new class{defaults=l();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=tx;Renderer=ty;TextRenderer=tm;Lexer=tf;Tokenizer=tg;Hooks=tC;constructor(...t){this.use(...t)}walkTokens(t,e){let r=[];for(let i of t)switch(r=r.concat(e.call(this,i)),i.type){case"table":for(let t of i.header)r=r.concat(this.walkTokens(t.tokens,e));for(let t of i.rows)for(let i of t)r=r.concat(this.walkTokens(i.tokens,e));break;case"list":r=r.concat(this.walkTokens(i.items,e));break;default:{let t=i;this.defaults.extensions?.childTokens?.[t.type]?this.defaults.extensions.childTokens[t.type].forEach(i=>{let o=t[i].flat(1/0);r=r.concat(this.walkTokens(o,e))}):t.tokens&&(r=r.concat(this.walkTokens(t.tokens,e)))}}return r}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(t=>{let r={...t};if(r.async=this.defaults.async||r.async||!1,t.extensions&&(t.extensions.forEach(t=>{if(!t.name)throw Error("extension name required");if("renderer"in t){let r=e.renderers[t.name];r?e.renderers[t.name]=function(...e){let i=t.renderer.apply(this,e);return!1===i&&(i=r.apply(this,e)),i}:e.renderers[t.name]=t.renderer}if("tokenizer"in t){if(!t.level||"block"!==t.level&&"inline"!==t.level)throw Error("extension level must be 'block' or 'inline'");let r=e[t.level];r?r.unshift(t.tokenizer):e[t.level]=[t.tokenizer],t.start&&("block"===t.level?e.startBlock?e.startBlock.push(t.start):e.startBlock=[t.start]:"inline"===t.level&&(e.startInline?e.startInline.push(t.start):e.startInline=[t.start]))}"childTokens"in t&&t.childTokens&&(e.childTokens[t.name]=t.childTokens)}),r.extensions=e),t.renderer){let e=this.defaults.renderer||new ty(this.defaults);for(let r in t.renderer){if(!(r in e))throw Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;let i=t.renderer[r],o=e[r];e[r]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=o.apply(e,t)),r||""}}r.renderer=e}if(t.tokenizer){let e=this.defaults.tokenizer||new tg(this.defaults);for(let r in t.tokenizer){if(!(r in e))throw Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;let i=t.tokenizer[r],o=e[r];e[r]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=o.apply(e,t)),r}}r.tokenizer=e}if(t.hooks){let e=this.defaults.hooks||new tC;for(let r in t.hooks){if(!(r in e))throw Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;let i=t.hooks[r],o=e[r];tC.passThroughHooks.has(r)?e[r]=t=>{if(this.defaults.async&&tC.passThroughHooksRespectAsync.has(r))return(async()=>{let r=await i.call(e,t);return o.call(e,r)})();let a=i.call(e,t);return o.call(e,a)}:e[r]=(...t)=>{if(this.defaults.async)return(async()=>{let r=await i.apply(e,t);return!1===r&&(r=await o.apply(e,t)),r})();let r=i.apply(e,t);return!1===r&&(r=o.apply(e,t)),r}}r.hooks=e}if(t.walkTokens){let e=this.defaults.walkTokens,i=t.walkTokens;r.walkTokens=function(t){let r=[];return r.push(i.call(this,t)),e&&(r=r.concat(e.call(this,t))),r}}this.defaults={...this.defaults,...r}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return tf.lex(t,e??this.defaults)}parser(t,e){return tx.parse(t,e??this.defaults)}parseMarkdown(t){return(e,r)=>{let i={...r},o={...this.defaults,...i},a=this.onError(!!o.silent,!!o.async);if(!0===this.defaults.async&&!1===i.async)return a(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||null===e)return a(Error("marked(): input parameter is undefined or null"));if("string"!=typeof e)return a(Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(o.hooks&&(o.hooks.options=o,o.hooks.block=t),o.async)return(async()=>{let r=o.hooks?await o.hooks.preprocess(e):e,i=await (o.hooks?await o.hooks.provideLexer():t?tf.lex:tf.lexInline)(r,o),a=o.hooks?await o.hooks.processAllTokens(i):i;o.walkTokens&&await Promise.all(this.walkTokens(a,o.walkTokens));let n=await (o.hooks?await o.hooks.provideParser():t?tx.parse:tx.parseInline)(a,o);return o.hooks?await o.hooks.postprocess(n):n})().catch(a);try{o.hooks&&(e=o.hooks.preprocess(e));let r=(o.hooks?o.hooks.provideLexer():t?tf.lex:tf.lexInline)(e,o);o.hooks&&(r=o.hooks.processAllTokens(r)),o.walkTokens&&this.walkTokens(r,o.walkTokens);let i=(o.hooks?o.hooks.provideParser():t?tx.parse:tx.parseInline)(r,o);return o.hooks&&(i=o.hooks.postprocess(i)),i}catch(t){return a(t)}}}onError(t,e){return r=>{if(r.message+=` +Please report this to https://github.com/markedjs/marked.`,t){let t="<p>An error occurred:</p><pre>"+th(r.message+"",!0)+"</pre>";return e?Promise.resolve(t):t}if(e)return Promise.reject(r);throw r}}};function tk(t,e){return tb.parse(t,e)}tk.options=tk.setOptions=function(t){return tb.setOptions(t),tk.defaults=tb.defaults,h=tk.defaults,tk},tk.getDefaults=l,tk.defaults=h,tk.use=function(...t){return tb.use(...t),tk.defaults=tb.defaults,h=tk.defaults,tk},tk.walkTokens=function(t,e){return tb.walkTokens(t,e)},tk.parseInline=tb.parseInline,tk.Parser=tx,tk.parser=tx.parse,tk.Renderer=ty,tk.TextRenderer=tm,tk.Lexer=tf,tk.lexer=tf.lex,tk.Tokenizer=tg,tk.Hooks=tC,tk.parse=tk,tk.options,tk.setOptions,tk.use,tk.walkTokens,tk.parseInline,tx.parse,tf.lex;var tw=r(8908),tT=r(7829),tB="u">typeof performance&&"function"==typeof performance.now,tS=(0,s.K)(()=>tB?performance.now():0,"now"),tv="\u{1F9DC} ",t_={parse:"tertiary",prepare:"secondary",measure:"primary",layout:"primary-dark",layoutCore:"error",draw:"primary-light",paint:"secondary-dark",serialize:"tertiary-dark",render:"primary-light"};function tF(t,{markdownAutoWrap:e}){let r=t.replace(/<br\/>/g,"\n").replace(/\n{2,}/g,"\n");return(0,tw.T)(r)}function tA(t){return t.split(/\\n|\n|<br\s*\/?>/gi).map(t=>t.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(t=>({content:t,type:"normal"}))??[])}function tL(t,e={}){let r=tF(t,e),i=tk.lexer(r),o=[[]],a=0;function n(t,e="normal"){"text"===t.type?t.text.split("\n").forEach((t,r)=>{0!==r&&(a++,o.push([])),t.split(" ").forEach(t=>{(t=t.replace(/'/g,"'"))&&o[a].push({content:t,type:e})})}):"strong"===t.type||"em"===t.type?t.tokens.forEach(e=>{n(e,t.type)}):"html"===t.type&&o[a].push({content:t.text,type:"normal"})}return(0,s.K)(n,"processNode"),i.forEach(t=>{"paragraph"===t.type?t.tokens?.forEach(t=>{n(t)}):"html"===t.type?o[a].push({content:t.text,type:"normal"}):o[a].push({content:t.raw,type:"normal"})}),o}function tM(t){return t?`<p>${t.replace(/\\n|\n/g,"<br />")}</p>`:""}function t$(t,{markdownAutoWrap:e}={}){let r=tk.lexer(t);function i(t){if("text"===t.type)return!1===e?t.text.replace(/\n */g,"<br/>").replace(/ /g," "):t.text.replace(/\n */g,"<br/>");if("strong"===t.type)return`<strong>${t.tokens?.map(i).join("")}</strong>`;if("em"===t.type)return`<em>${t.tokens?.map(i).join("")}</em>`;if("paragraph"===t.type)return`<p>${t.tokens?.map(i).join("")}</p>`;if("space"===t.type)return"";else if("html"===t.type)return`${t.text}`;else if("escape"===t.type)return t.text;return n.R.warn(`Unsupported markdown: ${t.type}`),t.raw}return(0,s.K)(i,"output"),r.map(i).join("")}(class{constructor(){this.enabled=!1,this.autoPrint=!0,this.records=[],this.maxRecords=200,this.roots=[],this.stack=[],this.buckets={}}static{(0,s.K)(this,"Profiler")}enable(){return this.enabled=!0,this}disable(){return this.enabled=!1,this}start(t){this.enabled&&(this.roots=[],this.stack=[],this.buckets={},this.begin(t))}tickSync(t,e){if(!this.enabled)return e();let r=tS();try{return e()}finally{this.buckets[t]=(this.buckets[t]??0)+(tS()-r)}}async tick(t,e){if(!this.enabled)return e();let r=tS();try{return await e()}finally{this.buckets[t]=(this.buckets[t]??0)+(tS()-r)}}stop(){if(!this.enabled)return;for(;this.stack.length>0;)this.end();let t=this.roots.at(-1),e=this.runLabel??t?.name;return t&&(this.records.push({label:e??t.name,tree:t,buckets:{...this.buckets}}),this.records.length>this.maxRecords&&this.records.splice(0,this.records.length-this.maxRecords),this.autoPrint&&this.printSummary(t,e)),this.runLabel=void 0,t}begin(t){if(!this.enabled)return;let e={name:t,start:tS(),duration:-1,children:[]},r=this.stack.at(-1);if(r?r.children.push(e):this.roots.push(e),this.stack.push(e),tB&&"function"==typeof performance.mark)try{performance.mark(`${tv}${t} \u25B6`)}catch{}}end(){if(!this.enabled)return;let t=this.stack.pop();if(!t)return;let e=tS();if(t.duration=e-t.start,tB&&"function"==typeof performance.measure)try{performance.measure(`${tv}${t.name}`,{start:t.start,end:e,detail:{devtools:{dataType:"track-entry",track:"Mermaid render",trackGroup:"Mermaid",color:t_[t.name]??"primary",tooltipText:`${t.name} \u2014 ${t.duration.toFixed(1)} ms`}}})}catch{}}async span(t,e){if(!this.enabled)return e();this.begin(t);try{return await e()}finally{this.end()}}report(){return this.records.at(-1)?.tree??this.roots.at(-1)}clear(){this.records.length=0,this.roots=[],this.stack=[],this.runLabel=void 0}reset(){this.roots=[],this.stack=[]}printSummary(t=this.report(),e){if(!t)return;let r=t.duration,i=e&&e!==t.name?`${t.name} [${e}]`:t.name,o=["ms % phase"],a=(0,s.K)((t,e)=>{let i=" ".repeat(e),n=t.duration.toFixed(1).padStart(8),s=r>0?`${(t.duration/r*100).toFixed(0).padStart(3)}%`:" -";for(let r of(o.push(`${n} ${s} ${i}${t.name}`),t.children))a(r,e+1);if(t.children.length>0){let e=t.children.reduce((t,e)=>t+e.duration,0),r=t.duration-e;if(r>.5){let t=r.toFixed(1).padStart(8);o.push(`${t} ${i} (self)`)}}},"walk");a(t,0);let n=Object.keys(this.buckets);if(n.length>0)for(let t of(o.push("\u2014\u2014 buckets (summed) \u2014\u2014"),n))o.push(`${this.buckets[t].toFixed(1).padStart(8)} ${t}`);console.log(`${tv}mermaid render profile \xb7 ${i} +${o.join("\n")}`)}}),globalThis.injected??={includeLargeFeatures:!0,profiling:!1,version:"0.0.0"},(0,s.K)(tF,"preprocessMarkdown"),(0,s.K)(tA,"nonMarkdownToLines"),(0,s.K)(tL,"markdownToLines"),(0,s.K)(tM,"nonMarkdownToHTML"),(0,s.K)(t$,"markdownToHTML");var tE=function(t){var e=function(){},r=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.msRequestAnimationFrame||function(t){return setTimeout(t,16)};function i(){this.reads=[],this.writes=[],this.raf=r.bind(t),e("initialized",this)}function o(t){t.scheduled||(t.scheduled=!0,t.raf(a.bind(null,t)),e("flush scheduled"))}function a(t){e("flush");var r,i=t.writes,a=t.reads;try{e("flushing reads",a.length),t.runTasks(a),e("flushing writes",i.length),t.runTasks(i)}catch(t){r=t}if(t.scheduled=!1,(a.length||i.length)&&o(t),r)if(e("task errored",r.message),t.catch)t.catch(r);else throw r}function n(t,e){var r=t.indexOf(e);return!!~r&&!!t.splice(r,1)}function l(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])}return(0,s.K)(i,"FastDom"),i.prototype={constructor:i,runTasks:(0,s.K)(function(t){var r;for(e("run tasks");r=t.shift();)r()},"runTasks"),measure:(0,s.K)(function(t,r){e("measure");var i=r?t.bind(r):t;return this.reads.push(i),o(this),i},"measure"),mutate:(0,s.K)(function(t,r){e("mutate");var i=r?t.bind(r):t;return this.writes.push(i),o(this),i},"mutate"),clear:(0,s.K)(function(t){return e("clear",t),n(this.reads,t)||n(this.writes,t)},"clear"),extend:(0,s.K)(function(t){if(e("extend",t),"object"!=typeof t)throw Error("expected object");var r=Object.create(this);return l(r,t),r.fastdom=this,r.initialize&&r.initialize(),r},"extend"),catch:null},(0,s.K)(o,"scheduleFlush"),(0,s.K)(a,"flush"),(0,s.K)(n,"remove"),(0,s.K)(l,"mixin"),t.fastdom=t.fastdom||new i}("u">typeof window?window:globalThis),tO={initialize:(0,s.K)(function(){this._tasks=new Map},"initialize"),mutate:(0,s.K)(function(t,e){return tD(this,"mutate",t,e)},"mutate"),measure:(0,s.K)(function(t,e){return tD(this,"measure",t,e)},"measure"),clear:(0,s.K)(function(t){var e=this._tasks,r=e.get(t);this.fastdom.clear(r),e.delete(t)},"clear")};function tD(t,e,r,i){var o,a=t._tasks,n=t.fastdom,s=new Promise(function(t,l){o=n[e](function(){a.delete(s);try{t(i?r.call(i):r())}catch(t){l(t)}},i)});return a.set(s,o),s}(0,s.K)(tD,"create");var{initialize:tK,mutate:tI,measure:tq,clear:tR}=tO,tP=tE.extend({raf(t){"function"==typeof queueMicrotask?queueMicrotask(t):setTimeout(t,0)}}).extend(tO);function tz(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(t=>t.segment):[...t]}function tW(t,e){return tN(t,[],tz(e.content),e.type)}function tN(t,e,r,i){if(0===r.length)return[{content:e.join(""),type:i},{content:"",type:i}];let[o,...a]=r,n=[...e,o];return t([{content:n.join(""),type:i}])?tN(t,n,a,i):(0===e.length&&o&&(e.push(o),r.shift()),[{content:e.join(""),type:i},{content:r.join(""),type:i}])}function tj(t,e){if(t.some(({content:t})=>t.includes("\n")))throw Error("splitLineToFitWidth does not support newlines in the line");return tH(t,e)}function tH(t,e,r=[],i=[]){if(0===t.length)return i.length>0&&r.push(i),r.length>0?r:[];let o="";" "===t[0].content&&(o=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},n=[...i];if(""!==o&&n.push({content:o,type:"normal"}),n.push(a),e(n))return tH(t,e,r,n);if(i.length>0)r.push(i),t.unshift(a);else if(a.content){let[i,o]=tW(e,a);r.push([i]),o.content&&t.unshift(o)}return tH(t,e,r)}function tU(t,e){e&&t.attr("style",e)}async function tY(t,e,r,i,o=!1,n=(0,a.zj)(),s=0){let l=t.append("foreignObject");l.attr("width",`${Math.min(10*r,16384)}px`),l.attr("height",`${Math.min(10*r,16384)}px`);let h=l.append("xhtml:div"),c=(0,a.Wi)(e.label)?await (0,a.dj)(e.label.replace(a.Y2.lineBreakRegex,"\n"),n):(0,a.jZ)(e.label,n),d=e.isNode?"nodeLabel":"edgeLabel",u=h.append("span");u.html(c),tU(u,e.labelStyle),u.attr("class",`${d} ${i}`),tU(h,e.labelStyle),h.style("display","table-cell"),h.style("white-space","nowrap"),h.style("line-height","1.5"),r!==1/0&&(h.style("max-width",r+"px"),h.style("text-align","center")),h.attr("xmlns","http://www.w3.org/1999/xhtml"),o&&h.attr("class","labelBkg");let p=await tP.measure(()=>h.node().getBoundingClientRect());return p.width===r?(h.style("display","table"),h.style("white-space","break-spaces"),h.style("width",r+"px")):p.width<s&&(h.style("display","table"),h.style("width",s+"px"),h.style("text-align","center")),l.node()}function tG(t,e,r,i=!1){let o=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return i&&o.attr("text-anchor","middle"),o}function tX(t,e,r){let i=t.append("text"),o=tG(i,1,e);tJ(o,r);let a=o.node().getComputedTextLength();return i.remove(),a}function tZ(t,e,r){let i=t.append("text"),o=tG(i,1,e);tJ(o,[{content:r,type:"normal"}]);let a=o.node()?.getBoundingClientRect();return a&&i.remove(),a}function tV(t,e,r,i=!1,o=!1){let a=e.append("g"),n=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1");o&&l.attr("text-anchor","middle");let h=0;for(let e of r){let r=(0,s.K)(e=>tX(a,1.1,e)<=t,"checkWidth");for(let t of r(e)?[e]:tj(e,r))tJ(tG(l,h,1.1,o),t),h++}if(!i)return l.node();{let t=l.node().getBBox();return n.attr("x",t.x-2).attr("y",t.y-2).attr("width",t.width+4).attr("height",t.height+4),a.node()}}function tQ(t){return t.replace(/&(amp|lt|gt);/g,(t,e)=>{switch(e){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return t}})}function tJ(t,e){t.text(""),e.forEach((e,r)=>{let i=t.append("tspan").attr("font-style","em"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===r?i.text(tQ(e.content)):i.text(" "+tQ(e.content))})}async function t0(t,e={}){let r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(t,o,n)=>(r.push((async()=>{let r=`${o}:${n}`;return await (0,i.dn)(r)?await (0,i.WY)(r,void 0,{class:"label-icon"}):`<i class='${(0,a.jZ)(t,e).replace(":"," ")}'></i>`})()),t));let o=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>o.shift()??"")}(0,s.K)(tz,"splitTextToChars"),(0,s.K)(tW,"splitWordToFitWidth"),(0,s.K)(tN,"splitWordToFitWidthRecursion"),(0,s.K)(tj,"splitLineToFitWidth"),(0,s.K)(tH,"splitLineToFitWidthRecursion"),(0,s.K)(tU,"applyStyle"),(0,s.K)(tY,"addHtmlSpan"),(0,s.K)(tG,"createTspan"),(0,s.K)(tX,"computeWidthOfText"),(0,s.K)(tZ,"computeDimensionOfText"),(0,s.K)(tV,"createFormattedText"),(0,s.K)(tQ,"decodeHTMLEntities"),(0,s.K)(tJ,"updateTextContentAndStyles"),(0,s.K)(t0,"replaceIconSubstring");var t1=(0,s.K)(async(t,e="",{style:r="",isTitle:i=!1,classes:s="",useHtmlLabels:l=!0,markdown:h=!0,isNode:c=!0,width:d=200,minWidth:u=0,addSvgBackground:p=!1}={},g)=>{if(n.R.debug("XYZ createText",e,r,i,s,l,c,"addSvgBackground: ",p),l){let i=h?t$(e,g):tM(e),n=await t0((0,o.Sm)(i),g),l=e.replace(/\\\\/g,"\\"),f={isNode:c,label:(0,a.Wi)(e)?l:n,labelStyle:r.replace("fill:","color:")};return await tY(t,f,d,s,p,g,u)}{let a=(0,o.Sm)(e.replace(/<br\s*\/?>/g,"<br/>")),n=tV(d,t,h?tL(a.replace("<br>","<br/>"),g):tA(a),!!e&&p,!c);if(c){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let t=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");(0,tT.Ltv)(n).attr("style",t)}else{let t=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");(0,tT.Ltv)(n).select("rect").attr("style",t.replace(/background:/g,"fill:"));let e=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");(0,tT.Ltv)(n).select("text").attr("style",e)}return i?(0,tT.Ltv)(n).selectAll("tspan.text-outer-tspan").classed("title-row",!0):(0,tT.Ltv)(n).selectAll("tspan.text-outer-tspan").classed("row",!0),n}},"createText")},1177(t,e,r){"use strict";let i;r.d(e,{Q2:()=>t_,UU:()=>tB,EI:()=>eC,KG:()=>es,mW:()=>w,Y2:()=>ee,DB:()=>x,Gs:()=>eE,ID:()=>tQ,Wt:()=>ed,QO:()=>t1,TM:()=>tI,wZ:()=>tS,UI:()=>to,D7:()=>eS,mj:()=>eA,Wi:()=>t8,B6:()=>tv,xA:()=>tM,C0:()=>k,m7:()=>eb,ab:()=>ew,Nk:()=>tF,IU:()=>ey,H1:()=>tR,Xd:()=>B,hH:()=>F,zj:()=>tA,iN:()=>ex,dj:()=>et,Df:()=>tc,E:()=>tq,oB:()=>eF,ME:()=>e_,ke:()=>ek,ot:()=>ea,tM:()=>ec,a$:()=>eo,Ch:()=>T,SV:()=>em,H$:()=>J,P$:()=>I,sb:()=>td,_3:()=>ty,cL:()=>t$,$i:()=>th,XV:()=>ev,Dl:()=>t7,jZ:()=>tU,yj:()=>tT,EJ:()=>m,J$:()=>v,Js:()=>e$});var o,a,n=r(1293),s=r(6827),l=r(6408),h=r(8232);let c=(t,e)=>{let r=l.A.parse(t),i={};for(let t in e)e[t]&&(i[t]=r[t]+e[t]);return(0,h.A)(t,i)};var d=r(5582);let u=(t,e=100)=>{let r=l.A.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,((t,e,r=50)=>{let{r:i,g:o,b:a,a:n}=l.A.parse(t),{r:s,g:h,b:c,a:u}=l.A.parse(e),p=r/100,g=2*p-1,f=n-u,y=((g*f==-1?g:(g+f)/(1+g*f))+1)/2,m=1-y;return(0,d.A)(i*y+s*m,o*y+h*m,a*y+c*m,n*p+u*(1-p))})(r,t,e)};var p=r(5263),g=r(8041),f=r(4682),y=r(9418),m=/^([^\S\n\r]*)-{3}\s*[\n\r](.*?)[\n\r]\1-{3}\s*[\n\r]+/s,x=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,C=/\s/,b=(0,s.K)(t=>{let e="",r=0,i=0;for(;i<t.length;){let o=t.indexOf("%%",i);if(-1===o)break;let a=t.indexOf("\n",o);if(-1===a)break;let n=o;for(;n>r&&C.test(t[n-1]);)n--;e+=t.slice(r,n)+"\n",i=r=a+1}return e+t.slice(r)},"stripAnyComments"),k=class extends Error{static{(0,s.K)(this,"UnknownDiagramError")}constructor(t){super(t),this.name="UnknownDiagramError"}},w={},T=(0,s.K)(function(t,e){for(let[r,{detector:i}]of(t=b(t.replace(m,"").replace(x,"")),Object.entries(w)))if(i(t,e))return r;throw new k(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),B=(0,s.K)((...t)=>{for(let{id:e,detector:r,loader:i}of t)S(e,r,i)},"registerLazyLoadedDiagrams"),S=(0,s.K)((t,e,r)=>{w[t]&&n.R.warn(`Detector with key ${t} already exists. Overwriting.`),w[t]={detector:e,loader:r},n.R.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),v=(0,s.K)(t=>w[t].loader,"getDiagramLoader"),_=(0,s.K)((t,e,{depth:r=2}={})=>{let i={depth:r};if(Array.isArray(e)&&!Array.isArray(t))return e.forEach(e=>_(t,e,i)),t;if(Array.isArray(e)&&Array.isArray(t))return e.forEach(e=>{t.includes(e)||t.push(e)}),t;if(null==t||r<=0)if(null!=t&&"object"==typeof t&&"object"==typeof e)return Object.assign(t,e);else return e;return null!=e&&"object"==typeof t&&"object"==typeof e&&Object.entries(e).forEach(([e,i])=>{"object"==typeof i?null!==i&&(Object.hasOwn(t,e)||Object.defineProperty(t,e,{value:void 0,writable:!0,enumerable:!0,configurable:!0}),void 0===t[e]&&(t[e]=Array.isArray(i)?[]:{}),"object"==typeof t[e]&&(t[e]=_(t[e],i,{depth:r-1}))):"object"!=typeof t[e]&&(Object.hasOwn(t,e)?t[e]=i:Object.defineProperty(t,e,{value:i,writable:!0,enumerable:!0,configurable:!0}))}),t},"assignWithDepth"),F=_,A="#ffffff",L="#f2f2f2",M=(0,s.K)((t,e)=>e?c(t,{s:-40,l:10}):c(t,{s:-40,l:-10}),"mkBorder"),$=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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||(0,g.A)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||(0,p.A)(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||(0,p.A)(this.mainBkg,10)):(this.rowOdd=this.rowOdd||(0,g.A)(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||(0,g.A)(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let t=this.darkMode?-4:-1;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(5+3*e)}),this["surfacePeer"+e]=this["surfacePeer"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(8+3*e)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||c(this.primaryColor,{h:64}),this.fillType3=this.fillType3||c(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||c(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||c(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||c(this.primaryColor,{h:128}),this.fillType7=this.fillType7||c(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||c(this.primaryColor,{l:-10}),this.pie5=this.pie5||c(this.secondaryColor,{l:-10}),this.pie6=this.pie6||c(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||c(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||c(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||c(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||c(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||c(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||c(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??c(this.primaryColor,{l:-30}),this.venn2=this.venn2??c(this.secondaryColor,{l:-30}),this.venn3=this.venn3??c(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??c(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??c(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??c(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??c(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??c(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B0000",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#E8F5E9",complicatedBg:this.cynefin?.complicatedBg||"#E3F2FD",chaoticBg:this.cynefin?.chaoticBg||"#FBE9E7",clearBg:this.cynefin?.clearBg||"#FFF8E1",confusionBg:this.cynefin?.confusionBg||"#F3E5F5",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.archEdgeColor=this.archEdgeColor||"#777",this.archEdgeArrowColor=this.archEdgeArrowColor||"#777",this.archEdgeWidth=this.archEdgeWidth||"3",this.archGroupBorderColor=this.archGroupBorderColor||"#000",this.archGroupBorderWidth=this.archGroupBorderWidth||"2px",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||c(this.primaryColor,{h:-30}),this.git4=this.git4||c(this.primaryColor,{h:-60}),this.git5=this.git5||c(this.primaryColor,{h:-90}),this.git6=this.git6||c(this.primaryColor,{h:60}),this.git7=this.git7||c(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]}),Object.hasOwn(t,"nodeBorder")&&!Object.hasOwn(t,"useGradient")&&(this.useGradient=!1)}},E=(0,s.K)(t=>{let e=new $;return e.calculate(t),e},"getThemeVariables"),O=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,g.A)(this.primaryColor,16),this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=u(this.background),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,g.A)(u("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=(0,d.A)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=(0,p.A)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=(0,p.A)(this.sectionBkgColor,10),this.taskBorderColor=(0,d.A)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=(0,d.A)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||(0,g.A)(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||(0,p.A)(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=(0,g.A)(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=(0,g.A)(this.labelBackground,25),this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.background,this.taskBkgColor=(0,g.A)(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=u(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=c(this.primaryColor,{h:64}),this.fillType3=c(this.secondaryColor,{h:64}),this.fillType4=c(this.primaryColor,{h:-64}),this.fillType5=c(this.secondaryColor,{h:-64}),this.fillType6=c(this.primaryColor,{h:128}),this.fillType7=c(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||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10);for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:30,s:-30,l:-(-10+4*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:30,s:-30,l:-(-7+4*t)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.mainContrastColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.mainContrastColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let t=0;t<8;t++)this["venn"+(t+1)]=this["venn"+(t+1)]??(0,g.A)(this["cScale"+t],30);this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#FF6B6B",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#1B5E20",complicatedBg:this.cynefin?.complicatedBg||"#0D47A1",chaoticBg:this.cynefin?.chaoticBg||"#BF360C",clearBg:this.cynefin?.clearBg||"#F57F17",confusionBg:this.cynefin?.confusionBg||"#4A148C",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.background},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#ff6b6b",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.mainBkg,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.mainBkg},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,g.A)(this.secondaryColor,20),this.git1=(0,g.A)(this.pie2||this.secondaryColor,20),this.git2=(0,g.A)(this.pie3||this.tertiaryColor,20),this.git3=(0,g.A)(this.pie4||c(this.primaryColor,{h:-30}),20),this.git4=(0,g.A)(this.pie5||c(this.primaryColor,{h:-60}),20),this.git5=(0,g.A)(this.pie6||c(this.primaryColor,{h:-90}),10),this.git6=(0,g.A)(this.pie7||c(this.primaryColor,{h:60}),10),this.git7=(0,g.A)(this.pie8||c(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||u(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||u(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"#2d2d2d",this.emUiStroke=this.emUiStroke||"#555",this.emProcessorFill=this.emProcessorFill||(0,g.A)("#5a3d5c",10),this.emProcessorStroke=this.emProcessorStroke||"#8a6d8c",this.emReadModelFill=this.emReadModelFill||(0,g.A)("#3d5a2d",10),this.emReadModelStroke=this.emReadModelStroke||"#6d8c5c",this.emCommandFill=this.emCommandFill||(0,g.A)("#2d3d5a",10),this.emCommandStroke=this.emCommandStroke||"#5c6d8c",this.emEventFill=this.emEventFill||(0,g.A)("#5a452d",10),this.emEventStroke=this.emEventStroke||"#8c755c",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||(0,g.A)(this.background,5),this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||(0,g.A)(this.background,12),this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||(0,g.A)(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||(0,g.A)(this.background,2),this.nodeBorder=this.nodeBorder||"#999"}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},D=(0,s.K)(t=>{let e=new O;return e.calculate(t),e},"getThemeVariables"),K=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=c(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.primaryColor,this.darkMode),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=M(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=(0,d.A)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,p.A)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,p.A)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||c(this["cScale"+t],{h:180});for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:30,l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:30,l:-(7+5*t)});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||u(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||u(this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||(0,g.A)(this.primaryColor,75)||"#ffffff",this.rowEven=this.rowEven||(0,g.A)(this.primaryColor,1),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=c(this.primaryColor,{h:64}),this.fillType3=c(this.secondaryColor,{h:64}),this.fillType4=c(this.primaryColor,{h:-64}),this.fillType5=c(this.secondaryColor,{h:-64}),this.fillType6=c(this.primaryColor,{h:128}),this.fillType7=c(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||c(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||c(this.primaryColor,{l:-10}),this.pie5=this.pie5||c(this.secondaryColor,{l:-30}),this.pie6=this.pie6||c(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||c(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||c(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||c(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||c(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||c(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||c(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??c(this.primaryColor,{l:-30}),this.venn2=this.venn2??c(this.secondaryColor,{l:-30}),this.venn3=this.venn3??c(this.tertiaryColor,{l:-40}),this.venn4=this.venn4??c(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??c(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??c(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??c(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??c(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B0000",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#E8F5E9",complicatedBg:this.cynefin?.complicatedBg||"#E3F2FD",chaoticBg:this.cynefin?.chaoticBg||"#FBE9E7",clearBg:this.cynefin?.clearBg||"#FFF8E1",confusionBg:this.cynefin?.confusionBg||"#F3E5F5",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||c(this.primaryColor,{h:-30}),this.git4=this.git4||c(this.primaryColor,{h:-60}),this.git5=this.git5||c(this.primaryColor,{h:-90}),this.git6=this.git6||c(this.primaryColor,{h:60}),this.git7=this.git7||c(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||(0,p.A)(u(this.git0),25),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||u(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||u(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if(Object.keys(this).forEach(t=>{"calculated"===this[t]&&(this[t]=void 0)}),"object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},I=(0,s.K)(t=>{let e=new K;return e.calculate(t),e},"getThemeVariables"),q=class{static{(0,s.K)(this,"Theme")}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=(0,g.A)("#cde498",10),this.primaryBorderColor=M(this.primaryColor,this.darkMode),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.primaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=(0,p.A)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,p.A)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,p.A)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||c(this["cScale"+t],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:30,s:-30,l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:30,s:-30,l:-(8+5*t)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||(0,g.A)(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||(0,g.A)(this.mainBkg,20),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=c(this.primaryColor,{h:64}),this.fillType3=c(this.secondaryColor,{h:64}),this.fillType4=c(this.primaryColor,{h:-64}),this.fillType5=c(this.secondaryColor,{h:-64}),this.fillType6=c(this.primaryColor,{h:128}),this.fillType7=c(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||c(this.primaryColor,{l:-30}),this.pie5=this.pie5||c(this.secondaryColor,{l:-30}),this.pie6=this.pie6||c(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||c(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||c(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||c(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||c(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||c(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||c(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??c(this.primaryColor,{l:-30}),this.venn2=this.venn2??c(this.secondaryColor,{l:-30}),this.venn3=this.venn3??c(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??c(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??c(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??c(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??c(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??c(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B4513",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#C8E6C9",complicatedBg:this.cynefin?.complicatedBg||"#DCEDC8",chaoticBg:this.cynefin?.chaoticBg||"#FFE0B2",clearBg:this.cynefin?.clearBg||"#FFF9C4",confusionBg:this.cynefin?.confusionBg||"#D7CCC8",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.mainBkg},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||c(this.primaryColor,{h:-30}),this.git4=this.git4||c(this.primaryColor,{h:-60}),this.git5=this.git5||c(this.primaryColor,{h:-90}),this.git6=this.git6||c(this.primaryColor,{h:60}),this.git7=this.git7||c(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||u(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||u(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},R=(0,s.K)(t=>{let e=new q;return e.calculate(t),e},"getThemeVariables"),P=class{static{(0,s.K)(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=(0,g.A)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.primaryColor,this.darkMode),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||(0,g.A)(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=(0,g.A)(this.contrast,55),this.border2=this.contrast,this.actorBorder=(0,g.A)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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 t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{l:-(8+5*t)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.sectionBkgColor=(0,g.A)(this.contrast,30),this.sectionBkgColor2=(0,g.A)(this.contrast,30),this.taskBorderColor=(0,p.A)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=(0,g.A)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=(0,p.A)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.vertLineColor=this.critBkgColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||"#000",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||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=c(this.primaryColor,{h:64}),this.fillType3=c(this.secondaryColor,{h:64}),this.fillType4=c(this.primaryColor,{h:-64}),this.fillType5=c(this.secondaryColor,{h:-64}),this.fillType6=c(this.primaryColor,{h:128}),this.fillType7=c(this.secondaryColor,{h:128});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let t=0;t<8;t++)this["venn"+(t+1)]=this["venn"+(t+1)]??this["cScale"+t];this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B0000",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#E8F5E9",complicatedBg:this.cynefin?.complicatedBg||"#E3F2FD",chaoticBg:this.cynefin?.chaoticBg||"#FBE9E7",clearBg:this.cynefin?.clearBg||"#FFF8E1",confusionBg:this.cynefin?.confusionBg||"#F3E5F5",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,p.A)(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||c(this.primaryColor,{h:-30}),this.git4=this.pie5||c(this.primaryColor,{h:-60}),this.git5=this.pie6||c(this.primaryColor,{h:-90}),this.git6=this.pie7||c(this.primaryColor,{h:60}),this.git7=this.pie8||c(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},z=(0,s.K)(t=>{let e=new P;return e.calculate(t),e},"getThemeVariables"),W=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=M(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||((0,f.A)(this.background)?(0,g.A)(this.background,4):(0,p.A)(this.background,4));let t="#ECECFE",e="#E9E9F1",r=c(t,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||r,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||e,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,g.A)(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||t,this.cScale1=this.cScale1||e,this.cScale2=this.cScale2||r,this.cScale3=this.cScale3||c(t,{h:30}),this.cScale4=this.cScale4||c(t,{h:60}),this.cScale5=this.cScale5||c(t,{h:90}),this.cScale6=this.cScale6||c(t,{h:120}),this.cScale7=this.cScale7||c(t,{h:150}),this.cScale8=this.cScale8||c(t,{h:210,l:150}),this.cScale9=this.cScale9||c(t,{h:270}),this.cScale10=this.cScale10||c(t,{h:300}),this.cScale11=this.cScale11||c(t,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let i=this.darkMode?-4:-1;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:180,s:-15,l:i*(5+3*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:180,s:-15,l:i*(8+3*t)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||t,this.fillType1=this.fillType1||e,this.fillType2=this.fillType2||c(t,{h:64}),this.fillType3=this.fillType3||c(e,{h:64}),this.fillType4=this.fillType4||c(t,{h:-64}),this.fillType5=this.fillType5||c(e,{h:-64}),this.fillType6=this.fillType6||c(t,{h:128}),this.fillType7=this.fillType7||c(e,{h:128}),this.pie1=this.pie1||t,this.pie2=this.pie2||e,this.pie3=this.pie3||r,this.pie4=this.pie4||c(t,{l:-10}),this.pie5=this.pie5||c(e,{l:-10}),this.pie6=this.pie6||c(r,{l:-10}),this.pie7=this.pie7||c(t,{h:60,l:-10}),this.pie8=this.pie8||c(t,{h:-60,l:-10}),this.pie9=this.pie9||c(t,{h:120,l:0}),this.pie10=this.pie10||c(t,{h:60,l:-20}),this.pie11=this.pie11||c(t,{h:-60,l:-20}),this.pie12=this.pie12||c(t,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||t,this.quadrant2Fill=this.quadrant2Fill||c(t,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(t,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(t,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||t,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||t,this.git1=this.git1||e,this.git2=this.git2||r,this.git3=this.git3||c(t,{h:-30}),this.git4=this.git4||c(t,{h:-60}),this.git5=this.git5||c(t,{h:-90}),this.git6=this.git6||c(t,{h:60}),this.git7=this.git7||c(t,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},N=(0,s.K)(t=>{let e=new W;return e.calculate(t),e},"getThemeVariables"),j=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,g.A)(this.primaryColor,16),this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=u(this.background),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,g.A)(u("#323D47"),10),this.border1="#ccc",this.border2=(0,d.A)(255,255,255,.25),this.arrowheadColor=u(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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.secondBkg="calculated"===this.secondBkg?(0,g.A)(this.mainBkg,16):this.secondBkg,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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||(0,g.A)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||this.secondBkg,this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let t=this.darkMode?-4:-1;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(5+3*e)}),this["surfacePeer"+e]=this["surfacePeer"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(8+3*e)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||c(this.primaryColor,{h:64}),this.fillType3=this.fillType3||c(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||c(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||c(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||c(this.primaryColor,{h:128}),this.fillType7=this.fillType7||c(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||c(this.primaryColor,{l:-10}),this.pie5=this.pie5||c(this.secondaryColor,{l:-10}),this.pie6=this.pie6||c(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||c(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||c(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||c(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||c(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||c(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||c(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||"#0b0000",this.git1=this.git1||"#4d1037",this.git2=this.git2||"#3f5258",this.git3=this.git3||"#4f2f1b",this.git4=this.git4||"#6e0a0a",this.git5=this.git5||"#3b0048",this.git6=this.git6||"#995a01",this.git7=this.git7||"#154706",this.gitDarkMode=!0,this.gitDarkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},H=(0,s.K)(t=>{let e=new j;return e.calculate(t),e},"getThemeVariables"),U=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=M("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||((0,f.A)(this.background)?(0,g.A)(this.background,4):(0,p.A)(this.background,4));let t="#ECECFE",e="#E9E9F1",r=c(t,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||r,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||e,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,g.A)(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=this.mainBkg;if(this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let i=this.darkMode?-4:-1;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:180,s:-15,l:i*(5+3*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:180,s:-15,l:i*(8+3*t)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||t,this.fillType1=this.fillType1||e,this.fillType2=this.fillType2||c(t,{h:64}),this.fillType3=this.fillType3||c(e,{h:64}),this.fillType4=this.fillType4||c(t,{h:-64}),this.fillType5=this.fillType5||c(e,{h:-64}),this.fillType6=this.fillType6||c(t,{h:128}),this.fillType7=this.fillType7||c(e,{h:128}),this.pie1=this.pie1||t,this.pie2=this.pie2||e,this.pie3=this.pie3||r,this.pie4=this.pie4||c(t,{l:-10}),this.pie5=this.pie5||c(e,{l:-10}),this.pie6=this.pie6||c(r,{l:-10}),this.pie7=this.pie7||c(t,{h:60,l:-10}),this.pie8=this.pie8||c(t,{h:-60,l:-10}),this.pie9=this.pie9||c(t,{h:120,l:0}),this.pie10=this.pie10||c(t,{h:60,l:-20}),this.pie11=this.pie11||c(t,{h:-60,l:-20}),this.pie12=this.pie12||c(t,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||t,this.quadrant2Fill=this.quadrant2Fill||c(t,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(t,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(t,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||t,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#FFFFFF",this.git0=this.git0||t,this.git1=this.git1||e,this.git2=this.git2||r,this.git3=this.git3||c(t,{h:-30}),this.git4=this.git4||c(t,{h:-60}),this.git5=this.git5||c(t,{h:-90}),this.git6=this.git6||c(t,{h:60}),this.git7=this.git7||c(t,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},Y=(0,s.K)(t=>{let e=new U;return e.calculate(t),e},"getThemeVariables"),G=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,g.A)(this.primaryColor,16),this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=u(this.background),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,g.A)(u("#323D47"),10),this.border1="#ccc",this.border2=(0,d.A)(255,255,255,.25),this.arrowheadColor=u(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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.secondBkg="calculated"===this.secondBkg?(0,g.A)(this.mainBkg,16):this.secondBkg,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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||(0,g.A)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||this.secondBkg,this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let t=this.darkMode?-4:-1;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(5+3*e)}),this["surfacePeer"+e]=this["surfacePeer"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(8+3*e)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||c(this.primaryColor,{h:64}),this.fillType3=this.fillType3||c(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||c(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||c(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||c(this.primaryColor,{h:128}),this.fillType7=this.fillType7||c(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||c(this.primaryColor,{l:-10}),this.pie5=this.pie5||c(this.secondaryColor,{l:-10}),this.pie6=this.pie6||c(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||c(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||c(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||c(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||c(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||c(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||c(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#16141F",this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||c(this.primaryColor,{h:-30}),this.git4=this.git4||c(this.primaryColor,{h:-60}),this.git5=this.git5||c(this.primaryColor,{h:-90}),this.git6=this.git6||c(this.primaryColor,{h:60}),this.git7=this.git7||c(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},X=(0,s.K)(t=>{let e=new G;return e.calculate(t),e},"getThemeVariables"),Z=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=M("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.usecaseActorBorder="#A78BFA",this.usecaseActorBkg="#F5F3FF",this.usecaseBorder="#2DD4BF",this.usecaseBkg="#F0FDFA",this.usecaseBoundaryBorder="#BDBCCC",this.usecaseBoundaryBkg="#FAFAFC",this.usecaseIncludeLine="#38BDF8",this.usecaseExtendLine="#FB923C",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||((0,f.A)(this.background)?(0,g.A)(this.background,4):(0,p.A)(this.background,4));let t="#ECECFE",e=c(t,{h:180,l:5});this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,g.A)(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateEdgeLabelBackground=this.stateEdgeLabelBackground||"#FFFFFF",this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#F9F9FB",this.compositeTitleBackground=this.compositeTitleBackground||"#F9F9FB",this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad",this.sectionBkgColor=this.sectionBkgColor||this.cScale0,this.sectionBkgColor2=this.sectionBkgColor2||this.cScale1,this.altSectionBkgColor=this.altSectionBkgColor||"white";for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let r=this.darkMode?-4:-1;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:180,s:-15,l:r*(5+3*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:180,s:-15,l:r*(8+3*t)});this.classText=this.classText||this.textColor;for(let t=0;t<8;t++)this["fillType"+t]=this["fillType"+t]||this.bkgColorArray[t];for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+(t+1)]=this["pie"+(t+1)]||this["cScale"+t];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let t=0;t<8;t++)this["venn"+(t+1)]=this["venn"+(t+1)]??this.borderColorArray[t%this.borderColorArray.length];this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||t,this.quadrant2Fill=this.quadrant2Fill||c(t,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(t,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(t,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||t,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#FFFFFF",this.git0=this.git0||t,this.git1=this.git1||"#E9E9F1",this.git2=this.git2||e,this.git3=this.git3||c(t,{h:-30}),this.git4=this.git4||c(t,{h:-60}),this.git5=this.git5||c(t,{h:-90}),this.git6=this.git6||c(t,{h:60}),this.git7=this.git7||c(t,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLineColor=this.commitLineColor??"#BDBCCC",this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.fontWeight=600,this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},V=(0,s.K)(t=>{let e=new Z;return e.calculate(t),e},"getThemeVariables"),Q=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,g.A)(this.primaryColor,16),this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=u(this.background),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,g.A)(u("#323D47"),10),this.border1="#ccc",this.border2=(0,d.A)(255,255,255,.25),this.arrowheadColor=u(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.usecaseActorBorder="#A78BFA",this.usecaseBorder="#2DD4BF",this.usecaseBoundaryBorder="#BDBCCC",this.usecaseIncludeLine="#38BDF8",this.usecaseExtendLine="#FB923C",this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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.secondBkg="calculated"===this.secondBkg?(0,g.A)(this.mainBkg,16):this.secondBkg,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.rootLabelColor="#FFFFFF",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||(0,g.A)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||this.secondBkg,this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateEdgeLabelBackground=this.stateEdgeLabelBackground||"#16141F",this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||"#16141F",this.altBackground=this.altBackground||"#16141F",this.compositeTitleBackground=this.compositeTitleBackground||"#16141F",this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad",this.sectionBkgColor=this.sectionBkgColor||this.cScale0,this.sectionBkgColor2=this.sectionBkgColor2||this.cScale1,this.altSectionBkgColor=this.altSectionBkgColor||this.background;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=(0,p.A)(this["cScale"+t],75);let t=this.darkMode?-4:-1;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(5+3*e)}),this["surfacePeer"+e]=this["surfacePeer"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(8+3*e)});this.classText=this.classText||this.textColor,["#701a75","#134e4a","#7c2d12","#581c87","#14532d","#4c1d95","#7f1d1d","#713f12"].forEach((t,e)=>{this["fillType"+e]=this["fillType"+e]||t});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+(t+1)]=this["pie"+(t+1)]||this["cScale"+t];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||"#28253D",this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let t=0;t<8;t++)this["venn"+(t+1)]=this["venn"+(t+1)]??this.borderColorArray[t%this.borderColorArray.length];this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#16141F",this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||c(this.primaryColor,{h:-30}),this.git4=this.git4||c(this.primaryColor,{h:-60}),this.git5=this.git5||c(this.primaryColor,{h:-90}),this.git6=this.git6||c(this.primaryColor,{h:60}),this.git7=this.git7||c(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.fontWeight=600,this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},J={base:{getThemeVariables:E},dark:{getThemeVariables:D},default:{getThemeVariables:I},forest:{getThemeVariables:R},neutral:{getThemeVariables:z},neo:{getThemeVariables:N},"neo-dark":{getThemeVariables:H},redux:{getThemeVariables:Y},"redux-dark":{getThemeVariables:X},"redux-color":{getThemeVariables:V},"redux-dark-color":{getThemeVariables:(0,s.K)(t=>{let e=new Q;return e.calculate(t),e},"getThemeVariables")}},tt={flowchart:{useMaxWidth:!0,theme:"redux-color",look:"neo",titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,wrappingWidth:120,minNodeWidth:120,inheritDir:!1},swimlane:{useMaxWidth:!0,theme:"redux-color",look:"neo",layout:"swimlane",lineHops:"arc",ignoreCrossLaneEdges:!0,optimizeRanksByCrossings:!0,automaticLaneOrdering:!1},agentflow:{useMaxWidth:!0,theme:"redux-color",look:"neo",titleTopMargin:25,diagramPadding:8,nodeSpacing:50,rankSpacing:50,wrappingWidth:120,minNodeWidth:120},sequence:{useMaxWidth:!0,theme:"redux-color",look:"neo",hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,theme:"redux-color",look:"neo",titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,htmlLabels:!1,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},state:{useMaxWidth:!0,theme:"redux-color",look:"neo",layout:"elk",wrappingWidth:120,minNodeWidth:120,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},er:{useMaxWidth:!0,theme:"redux-color",look:"neo",titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75,donutHole:0,legendPosition:"right",highlightSlice:""},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,showLegend:!0,legendFontSize:14,legendPadding:10,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,labelRotation:0},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,labelRotation:0},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,theme:"redux-color",look:"neo",rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:"",nodeWidth:10,nodePadding:12,labelStyle:"legacy"},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1,showIcons:!1,defaultIconPack:"",filenameIcons:{},extensionIcons:{}},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1,nodeSeparation:75,idealEdgeLengthMultiplier:1.5,edgeElasticity:.45,numIter:2500,seed:1},eventmodeling:{useMaxWidth:!0,padding:30,rowHeight:32},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},usecase:{useMaxWidth:!0,theme:"redux-color",look:"neo",wrappingWidth:120,minNodeWidth:120,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:"normal",usecaseFontSize:12,usecaseFontFamily:'"Open Sans", sans-serif',usecaseFontWeight:"normal",nodeSpacing:50,rankSpacing:50,diagramPadding:20,colorScheme:"role"},venn:{useMaxWidth:!0,theme:"redux-color",look:"neo",width:800,height:450,padding:8,useDebugLayout:!1},cynefin:{useMaxWidth:!0,width:800,height:600,padding:40,showDomainDescriptions:!0,boundaryAmplitude:8,seed:0},theme:"default",look:"classic",handDrawnSeed:0,layout:"elk",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},te={...tt,deterministicIDSeed:void 0,elk:{mergeEdges:!1,straightenEdges:!0,lineHops:!0,preset:"default",nodePlacementStrategy:void 0,layeringStrategy:void 0,cycleBreakingStrategy:void 0,layeringLayerBound:4,nodePlacementAlignment:void 0,forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES",keepEntryNodeOnTop:!1},themeCSS:void 0,themeVariables:J.default.getThemeVariables(),sequence:{...tt.sequence,messageFont:(0,s.K)(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:(0,s.K)(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:(0,s.K)(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{theme:tt.class?.theme,look:tt.class?.look,layout:tt.class?.layout,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},gantt:{...tt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...tt.c4,useWidth:void 0,personFont:(0,s.K)(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...tt.flowchart,inheritDir:!1},external_personFont:(0,s.K)(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:(0,s.K)(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:(0,s.K)(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:(0,s.K)(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:(0,s.K)(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:(0,s.K)(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:(0,s.K)(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:(0,s.K)(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:(0,s.K)(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:(0,s.K)(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:(0,s.K)(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:(0,s.K)(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:(0,s.K)(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:(0,s.K)(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:(0,s.K)(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:(0,s.K)(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:(0,s.K)(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:(0,s.K)(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:(0,s.K)(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:(0,s.K)(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:(0,s.K)(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...tt.pie,useWidth:984},xyChart:{...tt.xyChart,useWidth:void 0},requirement:{...tt.requirement,useWidth:void 0},packet:{...tt.packet},eventmodeling:{...tt.eventmodeling},treeView:{...tt.treeView,useWidth:void 0},radar:{...tt.radar},usecase:{...tt.usecase},railroad:{...tt.railroad,fontSize:void 0,fontFamily:void 0,terminalFill:void 0,terminalStroke:void 0,terminalTextColor:void 0,nonTerminalFill:void 0,nonTerminalStroke:void 0,nonTerminalTextColor:void 0,lineColor:void 0,markerFill:void 0,commentFill:void 0,commentStroke:void 0,commentTextColor:void 0,specialFill:void 0,specialStroke:void 0,ruleNameColor:void 0},ishikawa:{...tt.ishikawa},sankey:{...tt.sankey,nodeColors:void 0},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...tt.venn},cynefin:{...tt.cynefin}},tr=(0,s.K)((t,e="")=>Object.keys(t).reduce((r,i)=>Array.isArray(t[i])?r:"object"==typeof t[i]&&null!==t[i]?[...r,e+i,...tr(t[i],"")]:[...r,e+i],[]),"keyify"),ti=new Set(tr(te,"")),to=te,ta={"flowchart-v2":"flowchart","flowchart-elk":"flowchart",classDiagram:"class",stateDiagram:"state",xychart:"xyChart",railroadAbnf:"railroad",railroadEbnf:"railroad",railroadPeg:"railroad"},tn=(0,s.K)(t=>ta[t]??t,"getDiagramConfigKey"),ts={nodeColors:/^#[\da-f]{3,8}$|^rgb\([\d\s%,.]+\)$|^hsl\([\d\s%,.]+\)$|^[a-z]+$/i,filenameIcons:/^[\w-]+(?::[\w-]+)?$/,extensionIcons:/^[\w-]+(?::[\w-]+)?$/},tl=(0,s.K)((t,e)=>{for(let r of Object.keys(t)){let i=t[r];(r.startsWith("__")||r.includes("proto")||r.includes("constr")||"string"!=typeof i||!e.test(i))&&(n.R.debug("sanitize deleting dictionary entry:",r,i),delete t[r])}},"sanitizeDictionaryConfig"),th=(0,s.K)(t=>{if(n.R.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t){if(Array.isArray(t))return void t.forEach(t=>th(t));for(let e of Object.keys(t)){if(n.R.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!ti.has(e)||null==t[e]){n.R.debug("sanitize deleting key: ",e),delete t[e];continue}if("object"==typeof t[e]){let r=ts[e];r?tl(t[e],r):(n.R.debug("sanitizing object",e),th(t[e]));continue}for(let r of["themeCSS","fontFamily","altFontFamily"])e.includes(r)&&(n.R.debug("sanitizing css option",e),t[e]=tc(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}n.R.debug("After sanitization",t)}},"sanitizeDirective"),tc=(0,s.K)(t=>{let e=0,r=0;for(let i of t){if(e<r)return"{ /* ERROR: Unbalanced CSS */ }";"{"===i?e++:"}"===i&&r++}return e!==r?"{ /* ERROR: Unbalanced CSS */ }":t},"sanitizeCss"),td=Object.freeze(to),tu=["theme","look","layout"],tp=new Set(["classic","handDrawn","neo"]),tg=(0,s.K)((t,e)=>"theme"===t?"null"===e||Object.hasOwn(J,e):"look"!==t||tp.has(e),"isUsableAppearance"),tf=(0,s.K)((t,e,r)=>{if(!t)return;let i=t[e];return[i?.[r],t[r]].find(t=>void 0!==t&&tg(r,t))},"readAppearance"),ty=(0,s.K)(t=>!(!1===t||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),tm=F({},td),tx={},tC=[],tb=F({},td),tk=(0,s.K)((t,e)=>{if(!a)return;let r=[e,...[...tC].reverse(),tx,td],i=t[a];for(let e of tu)for(let o of r){let r=tf(o,a,e);if(void 0!==r){t[e]=r,i?.[e]!==void 0&&(i[e]=r);break}}},"resolveAppearance"),tw=(0,s.K)((t,e)=>{let r=F({},t),i={};for(let t of e)tL(t),i=F(i,t);if(tk(r=F(r,i),i),(i.theme||r.theme!==t.theme)&&r.theme&&Object.hasOwn(J,r.theme)){let t=F({},o),e=F(t.themeVariables||{},i.themeVariables);r.themeVariables=J[r.theme].getThemeVariables(e)}return tK(tb=r),tb},"updateCurrentConfig"),tT=(0,s.K)(t=>{a=void 0===t?void 0:tn(t),tw(tm,tC)},"setDiagramConfigScope"),tB=(0,s.K)(t=>(tm=F({},td),tm=F(tm,t),tx=F({},t),t.theme&&Object.hasOwn(J,t.theme)&&(tm.themeVariables=J[t.theme].getThemeVariables(t.themeVariables)),tw(tm,tC),tm),"setSiteConfig"),tS=(0,s.K)(t=>{o=F({},t)},"saveConfigFromInitialize"),tv=(0,s.K)(t=>(tm=F(tm,t),tx=F(tx,t),tw(tm,tC),tm),"updateSiteConfig"),t_=(0,s.K)(()=>F({},tm),"getSiteConfig"),tF=(0,s.K)(t=>(tw(tb,[t]),tA()),"setConfig"),tA=(0,s.K)(()=>F({},tb),"getConfig"),tL=(0,s.K)(t=>{t&&(["secure",...tm.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(n.R.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&tL(t[e])}))},"sanitize"),tM=(0,s.K)(t=>{th(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),tC.push(t),tw(tm,tC)},"addDirective"),t$=(0,s.K)((t=tm)=>{a=void 0,tw(t,tC=[])},"reset"),tE={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},tO={},tD=(0,s.K)(t=>{tO[t]||(n.R.warn(tE[t]),tO[t]=!0)},"issueWarning"),tK=(0,s.K)(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&tD("LAZY_LOAD_DEPRECATED")},"checkConfig"),tI=(0,s.K)(()=>{let t={};for(let e of(o&&(t=F(t,o)),tC))t=F(t,e);return t},"getUserDefinedConfig"),tq=(0,s.K)(t=>(t.flowchart?.htmlLabels!=void 0&&tD("FLOWCHART_HTML_LABELS_DEPRECATED"),ty(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),tR=/<\/?br\s*\/?>/gi,tP=RegExp(tR.source,"i"),tz=(0,s.K)(t=>t?tV(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),tW=(i=!1,()=>{i||(tN(),i=!0)});function tN(){let t="data-temp-href-target";y.A.addHook("beforeSanitizeAttributes",e=>{"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),y.A.addHook("afterSanitizeAttributes",e=>{"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),"_blank"===e.getAttribute("target")&&e.setAttribute("rel","noopener"))})}(0,s.K)(tN,"setupDompurifyHooks");var tj=(0,s.K)(t=>(tW(),y.A.sanitize(t)),"removeScript"),tH=(0,s.K)((t,e)=>{if(tq(e)){let r=e.securityLevel;"antiscript"===r||"strict"===r||"sandbox"===r?t=tj(t):"loose"!==r&&(t=tZ(t=(t=(t=tV(t)).replace(/</g,"<").replace(/>/g,">")).replace(/=/g,"=")))}return t},"sanitizeMore"),tU=(0,s.K)((t,e)=>t?t=e.dompurifyConfig?y.A.sanitize(tH(t,e),e.dompurifyConfig).toString():y.A.sanitize(tH(t,e),{FORBID_TAGS:["style"]}).toString():t,"sanitizeText"),tY=(0,s.K)((t,e)=>"string"==typeof t?tU(t,e):t.flat().map(t=>tU(t,e)),"sanitizeTextOrArray"),tG=(0,s.K)(t=>tP.test(t),"hasBreaks"),tX=(0,s.K)(t=>t.split(tR),"splitBreaks"),tZ=(0,s.K)(t=>t.replace(/#br#/g,"<br/>"),"placeholderToBreak"),tV=(0,s.K)(t=>t.replace(tR,"#br#"),"breakToPlaceholder"),tQ=(0,s.K)(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),tJ=(0,s.K)(function(...t){return Math.max(...t.filter(t=>!isNaN(t)))},"getMax"),t0=(0,s.K)(function(...t){return Math.min(...t.filter(t=>!isNaN(t)))},"getMin"),t1=(0,s.K)(function(t){let e=t.split(/(,)/),r=[];for(let t=0;t<e.length;t++){let i=e[t];if(","===i&&t>0&&t+1<e.length){let o=e[t-1],a=e[t+1];t5(o,a)&&(i=o+","+a,t++,r.pop())}r.push(t3(i))}return r.join("")},"parseGenericTypes"),t2=(0,s.K)((t,e)=>Math.max(0,t.split(e).length-1),"countOccurrence"),t5=(0,s.K)((t,e)=>{let r=t2(t,"~"),i=t2(e,"~");return 1===r&&1===i},"shouldCombineSets"),t3=(0,s.K)(t=>{let e=t2(t,"~"),r=!1;if(e<=1)return t;e%2!=0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let i=[...t],o=i.indexOf("~"),a=i.lastIndexOf("~");for(;-1!==o&&-1!==a&&o!==a;)i[o]="<",i[a]=">",o=i.indexOf("~"),a=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),t4=(0,s.K)(()=>void 0!==window.MathMLElement,"isMathMLSupported"),t6=/\$\$(.*?)\$\$/g,t8=(0,s.K)(t=>(t.match(t6)?.length??0)>0,"hasKatex"),t7=(0,s.K)(async(t,e)=>{let r=document.createElement("div");r.innerHTML=await et(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0";let i=document.querySelector("body");i?.insertAdjacentElement("beforeend",r);let o={width:r.clientWidth,height:r.clientHeight};return r.remove(),o},"calculateMathMLDimensions"),t9=(0,s.K)(async(t,e)=>{if(!t8(t))return t;if(!(t4()||e.legacyMathML||e.forceLegacyMathML))return t.replace(t6,"MathML is unsupported in this environment.");{let{default:i}=await r.e("3535").then(r.bind(r,2130)),o=e.forceLegacyMathML||!t4()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(tR).map(t=>t8(t)?`<div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">${t}</div>`:`<div>${t}</div>`).join("").replace(t6,(t,e)=>i.renderToString(e,{throwOnError:!0,displayMode:!0,output:o}).replace(/\n/g," ").replace(/<annotation.*<\/annotation>/g,""))}},"renderKatexUnsanitized"),et=(0,s.K)(async(t,e)=>tU(await t9(t,e),e),"renderKatexSanitized"),ee={getRows:tz,sanitizeText:tU,sanitizeTextOrArray:tY,hasBreaks:tG,splitBreaks:tX,lineBreakRegex:tR,removeScript:tj,getUrl:tQ,evaluate:ty,getMax:tJ,getMin:t0},er=(0,s.K)(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),ei=(0,s.K)(function(t,e,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${e}px;`)):(i.set("height",t),i.set("width",e)),i},"calculateSvgSizeAttrs"),eo=(0,s.K)(function(t,e,r,i){er(t,ei(e,r,i))},"configureSvgSize"),ea=(0,s.K)(function(t,e,r,i){let o=e.node().getBBox(),a=o.width,s=o.height;n.R.info(`SVG bounds: ${a}x${s}`,o);let l=0,h=0;n.R.info(`Graph bounds: ${l}x${h}`,t),l=a+2*r,h=s+2*r,n.R.info(`Calculated bounds: ${l}x${h}`),eo(e,h,l,i);let c=`${o.x-r} ${o.y-r} ${o.width+2*r} ${o.height+2*r}`;e.attr("viewBox",c)},"setupGraphViewbox"),en={};function es(t){return[...t.cssRules].map(t=>t.cssText).join("\n")}(0,s.K)(es,"cssStyleSheetToString");var el=(0,s.K)((t,e,r,i)=>{let o="";return t in en&&en[t]?o=en[t]({...r,svgId:i}):n.R.warn(`No theme found for ${t}`),`& { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + fill: ${r.textColor} + } + @keyframes edge-animation-frame { + from { + stroke-dashoffset: 0; + } + } + @keyframes dash { + to { + stroke-dashoffset: 0; + } + } + & .edge-animation-slow { + stroke-dasharray: 9,5 !important; + stroke-dashoffset: 900; + animation: dash 50s linear infinite; + stroke-linecap: round; + } + & .edge-animation-fast { + stroke-dasharray: 9,5 !important; + stroke-dashoffset: 900; + animation: dash 20s linear infinite; + stroke-linecap: round; + } + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${r.errorBkgColor}; + } + & .error-text { + fill: ${r.errorTextColor}; + stroke: ${r.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: ${r.strokeWidth??1}px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + } + & .marker.cross { + stroke: ${r.lineColor}; + } + + & svg { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + } + & p { + margin: 0 + } + + ${o} + .node .neo-node { + stroke: ${r.nodeBorder}; + } + + [data-look="neo"].node rect, [data-look="neo"].cluster rect, [data-look="neo"].node polygon { + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + [data-look="neo"].swimlane.cluster rect { + filter: none; + } + + + [data-look="neo"].node path { + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + stroke-width: ${r.strokeWidth??1}px; + } + + [data-look="neo"].node .outer-path { + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + [data-look="neo"].node .neo-line path { + stroke: ${r.nodeBorder}; + filter: none; + } + + [data-look="neo"].node circle{ + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + [data-look="neo"].node circle .state-start{ + fill: #000000; + } + + [data-look="neo"].icon-shape .icon { + fill: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + [data-look="neo"].icon-shape .icon-neo path { + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + ${e} +`},"getStyles"),eh=(0,s.K)((t,e)=>{void 0!==e&&(en[t]=e)},"addStylesForDiagram"),ec=el,ed={};(0,s.V)(ed,{clear:()=>ey,getAccDescription:()=>eb,getAccTitle:()=>ex,getDiagramTitle:()=>ew,setAccDescription:()=>eC,setAccTitle:()=>em,setDiagramTitle:()=>ek});var eu="",ep="",eg="",ef=(0,s.K)(t=>tU(t,tA()),"sanitizeText"),ey=(0,s.K)(()=>{eu="",eg="",ep=""},"clear"),em=(0,s.K)(t=>{eu=ef(t).replace(/^\s+/g,"")},"setAccTitle"),ex=(0,s.K)(()=>eu,"getAccTitle"),eC=(0,s.K)(t=>{eg=ef(t).replace(/\n\s+/g,"\n")},"setAccDescription"),eb=(0,s.K)(()=>eg,"getAccDescription"),ek=(0,s.K)(t=>{ep=ef(t)},"setDiagramTitle"),ew=(0,s.K)(()=>ep,"getDiagramTitle"),eT=n.R,eB=n.H,eS=tA,ev=tF,e_=td,eF=(0,s.K)(t=>tU(t,eS()),"sanitizeText"),eA=ea,eL=(0,s.K)(()=>ed,"getCommonDb"),eM={},e$=(0,s.K)((t,e,r)=>{eM[t]&&eT.warn(`Diagram with id ${t} already registered. Overwriting.`),eM[t]=e,r&&S(t,r),eh(t,e.styles),e.injectUtils?.(eT,eB,eS,eF,eA,eL(),()=>{})},"registerDiagram"),eE=(0,s.K)(t=>{if(t in eM)return eM[t];throw new eO(t)},"getDiagram"),eO=class extends Error{static{(0,s.K)(this,"DiagramNotFoundError")}constructor(t){super(`Diagram ${t} not found.`)}}},5616(t,e,r){"use strict";r.d(e,{IU:()=>_,U:()=>v,qV:()=>B});var i=r(7827),o=r(3002),a=r(739),n=r(6320),s=r(2941),l=r(1177),h=r(1293),c=r(6827),d=r(7829),u=r(2274),p=(0,c.K)(async(t,e)=>{let r,i,c=(0,l.D7)(),{theme:p,themeVariables:g,handDrawnSeed:f}=c,{clusterBkg:y,clusterBorder:m,borderColorArray:x}=g,{labelStyles:C,nodeStyles:b,borderStyles:k,backgroundStyles:w}=(0,a.GX)(e),T=t.insert("g").attr("class","cluster swimlane "+(e.cssClasses||"")).attr("id",e.id).attr("data-id",e.id).attr("data-et","cluster").attr("data-look",e.look);(0,s.XE)(T,e.colorIndex,p,x);let B=(0,l._3)(c.flowchart.htmlLabels),S="LR"===e.direction,v=T.insert("g").attr("class","cluster-label swimlane-label"),_=await (0,n.GZ)(v,e.label,{style:e.labelStyle,useHtmlLabels:B,isNode:!0,width:e.width}),F=_.getBBox();if(B){let t=_.children[0],e=(0,d.Ltv)(_);F=t.getBoundingClientRect(),e.attr("width",F.width),e.attr("height",F.height)}let A=e.padding??0,L=e.width<=F.width+A?F.width+A:e.width;e.width<=F.width+A?e.diff=(L-e.width)/2-A:e.diff=-A;let M=e.height,$=e.y-M/2,E=e.y+M/2,O=e.x-L/2,D=void 0!==e.swimlaneContentTop?e.swimlaneContentTop:$+M/3,K=4*!!S,I=F.height+2*K;if(S){let t=Math.max(I,F.height+2*K),o=O+t,n=Math.max(0,L-t);if("handDrawn"===e.look){let s=u.A.svg(T),l=(0,a.Fr)(e,{roughness:.7,fill:y,stroke:m,seed:f}),h=(0,a.Fr)(e,{roughness:.7,fill:"none",stroke:m,seed:f}),c=s.rectangle(O,$,t,M,l);r=T.insert(()=>c,":first-child").attr("class","swimlane-title");let d=s.rectangle(o,$,n,M,h);i=T.insert(()=>d,":first-child").attr("class","swimlane-body"),r.select("path:nth-child(2)").attr("style",k.join(";")),r.select("path").attr("style",w.join(";").replace("fill","stroke"))}else r=T.insert("rect",":first-child"),i=T.insert("rect",":first-child"),r.attr("class","swimlane-title").attr("style",b).attr("x",O).attr("y",$).attr("width",t).attr("height",M).attr("fill",y).attr("stroke",m),i.attr("class","swimlane-body").attr("style",b).attr("x",o).attr("y",$).attr("width",n).attr("height",M).attr("fill","none").attr("stroke",m);let s=O+t/2,l=e.y;v.attr("transform",`translate(${s}, ${l}) rotate(-90) translate(${-F.width/2}, ${-F.height/2})`)}else{let t=Math.min(I,Math.max(0,D-$)),o=$+t,n=Math.max(0,E-o),s=e.x-L/2;if("handDrawn"===e.look){let l=u.A.svg(T),h=(0,a.Fr)(e,{roughness:.7,fill:y,stroke:m,fillWeight:3,seed:f}),c=(0,a.Fr)(e,{roughness:.7,fill:"none",stroke:m,seed:f}),d=l.rectangle(s,$,L,t,h);r=T.insert(()=>d,":first-child").attr("class","swimlane-title");let p=l.rectangle(s,o,L,n,c);i=T.insert(()=>p,":first-child").attr("class","swimlane-body"),r.select("path:nth-child(2)").attr("style",k.join(";")),r.select("path").attr("style",w.join(";").replace("fill","stroke"))}else r=T.insert("rect",":first-child"),i=T.insert("rect",":first-child"),r.attr("class","swimlane-title").attr("style",b).attr("x",s).attr("y",$).attr("width",L).attr("height",t).attr("fill",y).attr("stroke",m),i.attr("class","swimlane-body").attr("style",b).attr("x",s).attr("y",o).attr("width",L).attr("height",n).attr("fill","none").attr("stroke",m);let l=e.x-F.width/2,h=$+(t-F.height)/2;v.attr("transform",`translate(${l}, ${h})`)}if(h.R.trace("Swimlane data ",e,JSON.stringify(e)),C){let t=v.select("span");t&&t.attr("style",C)}return e.offsetX=0,e.width=L,e.height=M,e.offsetY=F.height-A/2,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:T,labelBBox:F}},"swimlane"),g=(0,c.K)(async(t,e)=>{let r,c;h.R.info("Creating subgraph rect for ",e.id,e);let p=(0,l.D7)(),{theme:g,themeVariables:f,handDrawnSeed:y}=p,{clusterBkg:m,clusterBorder:x,borderColorArray:C}=f,{labelStyles:b,nodeStyles:k,borderStyles:w,backgroundStyles:T}=(0,a.GX)(e),B=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look);(0,s.XE)(B,e.colorIndex,g,C);let S=(0,l.E)(p),v=B.insert("g").attr("class","cluster-label "),_=(r="markdown"===e.labelType?await (0,n.GZ)(v,e.label,{style:e.labelStyle,useHtmlLabels:S,isNode:!0,width:e.width}):await (0,o.DA)(v,e.label,e.labelStyle||"",!1,!0)).getBBox();if((0,l.E)(p)){let t=r.children[0],e=(0,d.Ltv)(r);_=t.getBoundingClientRect(),e.attr("width",_.width),e.attr("height",_.height)}let F=e.width<=_.width+e.padding?_.width+e.padding:e.width;e.width<=_.width+e.padding?e.diff=(F-e.width)/2-e.padding:e.diff=-e.padding;let A=e.height,L=e.x-F/2,M=e.y-A/2;if(h.R.trace("Data ",e,JSON.stringify(e)),"handDrawn"===e.look){let t=u.A.svg(B),r=(0,a.Fr)(e,{roughness:.7,fill:m,stroke:x,fillWeight:3,seed:y}),i=t.path((0,o.FA)(L,M,F,A,0),r);(c=B.insert(()=>(h.R.debug("Rough node insert CXC",i),i),":first-child")).select("path:nth-child(2)").attr("style",w.join(";")),c.select("path").attr("style",T.join(";").replace("fill","stroke"))}else(c=B.insert("rect",":first-child")).attr("style",k).attr("rx",e.rx).attr("ry",e.ry).attr("x",L).attr("y",M).attr("width",F).attr("height",A);let{subGraphTitleTopMargin:$}=(0,i.Oi)(p);if(v.attr("transform",`translate(${e.x-_.width/2}, ${e.y-e.height/2+$})`),b){let t=v.select("span");t&&t.attr("style",b)}let E=c.node().getBBox();return e.offsetX=0,e.width=E.width,e.height=E.height,e.offsetY=_.height-e.padding/2,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:B,labelBBox:_}},"rect"),f=(0,c.K)((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),i=r.insert("rect",":first-child"),a=0*e.padding,n=a/2;i.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-n).attr("y",e.y-e.height/2-n).attr("width",e.width+a).attr("height",e.height+a).attr("fill","none");let s=i.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),y=(0,c.K)(async(t,e)=>{let r,i=(0,l.D7)(),{theme:a,themeVariables:n,handDrawnSeed:h}=i,{altBackground:c,borderColorArray:p,compositeBackground:g,compositeTitleBackground:f,nodeBorder:y}=n,m=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look);(0,s.XE)(m,e.colorIndex,a,p);let x=m.insert("g",":first-child"),C=m.insert("g").attr("class","cluster-label"),b=m.append("rect"),k=await (0,o.DA)(C,e.label,e.labelStyle,void 0,!0),w=k.getBBox();if((0,l.E)(i)){let t=k.children[0],e=(0,d.Ltv)(k);w=t.getBoundingClientRect(),e.attr("width",w.width),e.attr("height",w.height)}let T=0*e.padding,B=(e.width<=w.width+e.padding?w.width+e.padding:e.width)+T;e.width<=w.width+e.padding?e.diff=(B-e.width)/2-e.padding:e.diff=-e.padding;let S=e.height+T,v=e.height+T-w.height-6,_=e.x-B/2,F=e.y-S/2;e.width=B;let A=e.y-e.height/2-T/2+w.height+2;if("handDrawn"===e.look){let t=e.cssClasses.includes("statediagram-cluster-alt"),i=u.A.svg(m),a=e.rx||e.ry?i.path((0,o.FA)(_,F,B,S,10),{roughness:.7,fill:f,fillStyle:"solid",stroke:y,seed:h}):i.rectangle(_,F,B,S,{seed:h});r=m.insert(()=>a,":first-child");let n=i.rectangle(_,A,B,v,{fill:t?c:g,fillStyle:t?"hachure":"solid",stroke:y,seed:h});r=m.insert(()=>a,":first-child"),b=m.insert(()=>n),r.attr("class","outer"),b.attr("class","inner")}else(r=x.insert("rect",":first-child")).attr("class","outer").attr("x",_).attr("y",F).attr("width",B).attr("height",S).attr("data-look",e.look),b.attr("class","inner").attr("x",_).attr("y",A).attr("width",B).attr("height",v);return C.attr("transform",`translate(${e.x-w.width/2}, ${F+1-3*!(0,l.E)(i)})`),e.height=r.node().getBBox().height,e.offsetX=0,e.offsetY=w.height-e.padding/2,e.labelBBox=w,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:m,labelBBox:w}},"roundedWithTitle"),m=(0,c.K)(async(t,e)=>{let r;h.R.info("Creating subgraph rect for ",e.id,e);let s=(0,l.D7)(),{themeVariables:c,handDrawnSeed:p}=s,{clusterBkg:g,clusterBorder:f}=c,{labelStyles:y,nodeStyles:m,borderStyles:x,backgroundStyles:C}=(0,a.GX)(e),b=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),k=(0,l.E)(s),w=b.insert("g").attr("class","cluster-label "),T=await (0,n.GZ)(w,e.label,{style:e.labelStyle,useHtmlLabels:k,isNode:!0,width:e.width}),B=T.getBBox();if((0,l.E)(s)){let t=T.children[0],e=(0,d.Ltv)(T);B=t.getBoundingClientRect(),e.attr("width",B.width),e.attr("height",B.height)}let S=e.width<=B.width+e.padding?B.width+e.padding:e.width;e.width<=B.width+e.padding?e.diff=(S-e.width)/2-e.padding:e.diff=-e.padding;let v=e.height,_=e.x-S/2,F=e.y-v/2;if(h.R.trace("Data ",e,JSON.stringify(e)),"handDrawn"===e.look){let t=u.A.svg(b),i=(0,a.Fr)(e,{roughness:.7,fill:g,stroke:f,fillWeight:4,seed:p}),n=t.path((0,o.FA)(_,F,S,v,e.rx),i);(r=b.insert(()=>(h.R.debug("Rough node insert CXC",n),n),":first-child")).select("path:nth-child(2)").attr("style",x.join(";")),r.select("path").attr("style",C.join(";").replace("fill","stroke"))}else(r=b.insert("rect",":first-child")).attr("style",m).attr("rx",e.rx).attr("ry",e.ry).attr("x",_).attr("y",F).attr("width",S).attr("height",v);let{subGraphTitleTopMargin:A}=(0,i.Oi)(s);if(w.attr("transform",`translate(${e.x-B.width/2}, ${e.y-e.height/2+A})`),y){let t=w.select("span");t&&t.attr("style",y)}let L=r.node().getBBox();return e.offsetX=0,e.width=L.width,e.height=L.height,e.offsetY=B.height-e.padding/2,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:b,labelBBox:B}},"kanbanSection"),x=(0,c.K)((t,e)=>{let r,{theme:i,themeVariables:a,handDrawnSeed:n}=(0,l.D7)(),{altBackground:h,nodeBorder:c,borderColorArray:d}=a,p=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look);(0,s.XE)(p,e.colorIndex,i,d);let g=p.insert("g",":first-child"),f=0*e.padding,y=e.width+f;e.diff=-e.padding;let m=e.height+f,x=e.x-y/2,C=e.y-m/2;if(e.width=y,"handDrawn"===e.look){let t=u.A.svg(p).rectangle(x,C,y,m,{fill:h??"#efefef",fillStyle:"solid",roughness:.5,strokeLineDash:[5],stroke:c,seed:n});r=p.insert(()=>t,":first-child").attr("class","divider")}else{r=g.insert("rect",":first-child");let t="outer";e.look,t="divider",r.attr("class",t).attr("x",x).attr("y",C).attr("width",y).attr("height",m).attr("data-look",e.look)}return e.height=r.node().getBBox().height,e.offsetX=0,e.offsetY=0,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:p,labelBBox:{}}},"divider"),C=(0,c.K)(async(t,e,r)=>{let c;h.R.info(`Creating ${r.cssClass} for `,e.id,e);let p=(0,l.D7)(),{theme:g,themeVariables:f,handDrawnSeed:y}=p,{borderColorArray:m}=f,{labelStyles:x,borderStyles:C}=(0,a.GX)(e),b=t.insert("g").attr("class","cluster "+r.cssClass+" "+e.cssClasses).attr("id",e.domId??e.id).attr("data-look",e.look);(0,s.XE)(b,e.colorIndex,g,m);let k=(0,l.E)(p),w=b.insert("g").attr("class","cluster-label"),T={width:0,height:0},B=e.label?.trim();if(B){let t;if(T=(t="markdown"===e.labelType?await (0,n.GZ)(w,e.label,{style:e.labelStyle,useHtmlLabels:k,isNode:!0,width:e.width}):await (0,o.DA)(w,e.label,e.labelStyle||"",!1,!0)).getBBox(),k){let e=t.children[0],r=(0,d.Ltv)(t);T=e.getBoundingClientRect(),r.attr("width",T.width),r.attr("height",T.height)}}let S=e.width<=T.width+e.padding?T.width+e.padding:e.width;e.width<=T.width+e.padding?e.diff=(S-e.width)/2-e.padding:e.diff=-e.padding;let v=e.height,_=e.x-S/2,F=e.y-v/2;if("handDrawn"===e.look){let t=u.A.svg(b),i=(0,a.Fr)(e,{roughness:r.roughness,fill:r.fill,stroke:r.stroke,strokeWidth:r.strokeWidth,seed:y,..."none"===r.fill?{fillWeight:0}:{fillStyle:"solid"},...r.strokeDash?{strokeLineDash:r.strokeDash}:{}}),n=t.path((0,o.FA)(_,F,S,v,r.rx),i);(c=b.insert(()=>n,":first-child")).select("path:nth-child(2)").attr("style",C.join(";"))}else(c=b.insert("rect",":first-child")).attr("rx",r.rx).attr("ry",r.rx).attr("x",_).attr("y",F).attr("width",S).attr("height",v).attr("fill",r.fill).attr("stroke",r.stroke).attr("stroke-width",r.strokeWidth+"px"),r.strokeDash&&c.attr("stroke-dasharray",r.strokeDash.join(", "));if(B){let{subGraphTitleTopMargin:t}=(0,i.Oi)(p);if(w.attr("transform",`translate(${e.x-T.width/2}, ${e.y-e.height/2+t})`),x){let t=w.select("span");t&&t.attr("style",x)}}let A=c.node().getBBox();return e.offsetX=0,e.width=A.width,e.height=A.height,e.offsetY=T.height-e.padding/2,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:b,labelBBox:T}},"createContainerGroup"),b=(0,c.K)(async(t,e)=>{let{themeVariables:r}=(0,l.D7)();return C(t,e,{cssClass:"flow-cluster",rx:10,fill:"none",stroke:r.flowContainerStroke||r.secondaryBorderColor,strokeWidth:.75,roughness:.7})},"flowGroup"),k=(0,c.K)((t,e)=>{let r=t.boundaryType||"rect",i="package"===r?20:t.padding,o="package"===r?e.height+10:0,a=Math.max(t.width,e.width+i),n="package"===r?Math.max(t.height,o+2*t.padding):t.height,s=t.x-a/2,l=t.y-n/2;return{boundaryType:r,width:a,height:n,x:s,y:l,bodyY:l+o,bodyHeight:n-o,tabHeight:o,tabWidth:"package"===r?Math.min(a,Math.max(80,e.width+20)):0}},"getUsecaseSystemBoundaryGeometry"),w={rect:g,squareRect:g,roundedWithTitle:y,noteGroup:f,divider:x,kanbanSection:m,flowGroup:b,usecaseSystemBoundary:(0,c.K)(async(t,e)=>{h.R.info("Creating usecase system boundary for ",e.id,e);let r=(0,l.D7)(),{theme:c,themeVariables:p,handDrawnSeed:g}=r,{clusterBkg:f,clusterBorder:y,borderColorArray:m}=p,{labelStyles:x,nodeStyles:C}=(0,a.GX)(e),{stylesMap:b}=(0,a.WW)(e),w=e.boundaryType||"rect",T=t.insert("g").attr("class",`cluster usecase-system-boundary usecase-system-boundary-${w} ${e.cssClasses}`).attr("id","string"==typeof e.domId?e.domId:e.id).attr("data-boundary-type",w).attr("data-look",e.look);(0,s.XE)(T,e.colorIndex,c,m);let B=(0,l.E)(r),S=T.insert("g").attr("class","cluster-label system-boundary-title"),v=await (0,n.GZ)(S,e.label,{style:x,useHtmlLabels:B,isNode:!0}),_=v.getBBox();if(B){let t=v.children[0],e=(0,d.Ltv)(v);_=t.getBoundingClientRect(),e.attr("width",_.width),e.attr("height",_.height)}let{width:F,height:A,x:L,y:M,bodyY:$,bodyHeight:E,tabHeight:O,tabWidth:D}=k(e,_);e.diff=e.width<=_.width+e.padding?(F-e.width)/2-e.padding:-e.padding;let K=(0,a.Fr)(e,{fill:b.get("fill")||f,stroke:b.get("stroke")||y,strokeWidth:b.get("stroke-width")?.replace("px","")||1,seed:g});if("handDrawn"===e.look){let t=u.A.svg(T),e=t.rectangle(L,$,F,E,K);if(T.insert(()=>e,":first-child").attr("class","boundary-body label-container"),"package"===w){let e=t.rectangle(L,M,D,O,K);T.insert(()=>e,":first-child").attr("class","boundary-tab system-boundary-package-tab label-container")}}else T.insert("rect",":first-child").attr("class","boundary-body label-container").attr("style",C).attr("x",L).attr("y",$).attr("width",F).attr("height",E),"package"===w&&T.insert("rect",":first-child").attr("class","boundary-tab system-boundary-package-tab label-container").attr("style",C).attr("x",L).attr("y",M).attr("width",D).attr("height",O);let{subGraphTitleTopMargin:I}=(0,i.Oi)(r);return"package"===w?S.attr("transform",`translate(${L+(D-_.width)/2}, ${M+(O-_.height)/2})`):S.attr("transform",`translate(${e.x-_.width/2}, ${M+I})`),x&&(S.attr("style",x),S.select("span").attr("style",x)),e.offsetX=0,e.width=F,e.height=A,e.offsetY=_.height-e.padding/2,e.labelBBox=_,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:T,labelBBox:_}},"usecaseSystemBoundary"),swimlane:p},T=new Set(["noteGroup","divider"]),B=(0,c.K)(t=>!T.has(t??"rect"),"clusterPaintsTitle"),S=new Map,v=(0,c.K)(async(t,e)=>{let r=e.shape||"rect",i=await w[r](t,e);return S.set(e.id,i),i},"insertCluster"),_=(0,c.K)(()=>{S=new Map},"clear")},1293(t,e,r){"use strict";r.d(e,{H:()=>s,R:()=>n});var i=r(6827),o=r(4353),a={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},n={trace:(0,i.K)((...t)=>{},"trace"),debug:(0,i.K)((...t)=>{},"debug"),info:(0,i.K)((...t)=>{},"info"),warn:(0,i.K)((...t)=>{},"warn"),error:(0,i.K)((...t)=>{},"error"),fatal:(0,i.K)((...t)=>{},"fatal")},s=(0,i.K)(function(t="fatal"){let e=a.fatal;"string"==typeof t?t.toLowerCase()in a&&(e=a[t]):"number"==typeof t&&(e=t),n.trace=()=>{},n.debug=()=>{},n.info=()=>{},n.warn=()=>{},n.error=()=>{},n.fatal=()=>{},e<=a.fatal&&(n.fatal=console.error?console.error.bind(console,l("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",l("FATAL"))),e<=a.error&&(n.error=console.error?console.error.bind(console,l("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",l("ERROR"))),e<=a.warn&&(n.warn=console.warn?console.warn.bind(console,l("WARN"),"color: orange"):console.log.bind(console,"\x1b[33m",l("WARN"))),e<=a.info&&(n.info=console.info?console.info.bind(console,l("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",l("INFO"))),e<=a.debug&&(n.debug=console.debug?console.debug.bind(console,l("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",l("DEBUG"))),e<=a.trace&&(n.trace=console.debug?console.debug.bind(console,l("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",l("TRACE")))},"setLogLevel"),l=(0,i.K)(t=>{let e=o().format("ss.SSS");return`%c${e} : ${t} : `},"format")},6827(t,e,r){"use strict";r.d(e,{K:()=>o,V:()=>a});var i=Object.defineProperty,o=(t,e)=>i(t,"name",{value:e,configurable:!0}),a=(t,e)=>{for(var r in e)i(t,r,{get:e[r],enumerable:!0})}},6163(t,e,r){"use strict";r.d(e,{IU:()=>v,Jo:()=>P,Nq:()=>f,T_:()=>M,UQ:()=>S,a6:()=>_,g0:()=>tg,hq:()=>g,jP:()=>A,lP:()=>B});var i=r(7827),o=r(3002),a=r(739),n=r(6320),s=r(6348),l=r(1177),h=r(1293),c=r(6827),d=r(7829),u=r(2274),p=(0,c.K)((t,e)=>{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";let r=t.x??0,i=t.y??0;return"translate("+-(r+t.width/2)+", "+-(i+t.height/2)+")"},"computeLabelTransform"),g={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},f={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function y(t,e){if(void 0===t||void 0===e)return{angle:0,deltaX:0,deltaY:0};t=m(t),e=m(e);let[r,i]=[t.x,t.y],[o,a]=[e.x,e.y],n=o-r,s=a-i;return{angle:Math.atan(s/n),deltaX:n,deltaY:s}}(0,c.K)(y,"calculateDeltaAndAngle");var m=(0,c.K)(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),x=(0,c.K)(t=>({x:(0,c.K)(function(e,r,i){let o=0,a=m(i[0]).x<m(i[i.length-1]).x?"left":"right";if(0===r&&Object.hasOwn(g,t.arrowTypeStart)){let{angle:e,deltaX:r}=y(i[0],i[1]);o=g[t.arrowTypeStart]*Math.cos(e)*(r>=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(g,t.arrowTypeEnd)){let{angle:e,deltaX:r}=y(i[i.length-1],i[i.length-2]);o=g[t.arrowTypeEnd]*Math.cos(e)*(r>=0?1:-1)}let n=Math.abs(m(e).x-m(i[i.length-1]).x),s=Math.abs(m(e).y-m(i[i.length-1]).y),l=Math.abs(m(e).x-m(i[0]).x),h=Math.abs(m(e).y-m(i[0]).y),c=g[t.arrowTypeStart],d=g[t.arrowTypeEnd];if(n<d&&n>0&&s<d){let t=d+1-n;t*="right"===a?-1:1,o-=t}if(l<c&&l>0&&h<c){let t=c+1-l;t*="right"===a?-1:1,o+=t}return m(e).x+o},"x"),y:(0,c.K)(function(e,r,i){let o=0,a=m(i[0]).y<m(i[i.length-1]).y?"down":"up";if(0===r&&Object.hasOwn(g,t.arrowTypeStart)){let{angle:e,deltaY:r}=y(i[0],i[1]);o=g[t.arrowTypeStart]*Math.abs(Math.sin(e))*(r>=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(g,t.arrowTypeEnd)){let{angle:e,deltaY:r}=y(i[i.length-1],i[i.length-2]);o=g[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(r>=0?1:-1)}let n=Math.abs(m(e).y-m(i[i.length-1]).y),s=Math.abs(m(e).x-m(i[i.length-1]).x),l=Math.abs(m(e).y-m(i[0]).y),h=Math.abs(m(e).x-m(i[0]).x),c=g[t.arrowTypeStart],d=g[t.arrowTypeEnd];if(n<d&&n>0&&s<d){let t=d+1-n;t*="up"===a?-1:1,o-=t}if(l<c&&l>0&&h<c){let t=c+1-l;t*="up"===a?-1:1,o+=t}return m(e).y+o},"y")}),"getLineFunctionsWithOffset"),C=(0,c.K)((t,e,r,i,o,a=!1,n)=>{e.arrowTypeStart&&w(t,"start",e.arrowTypeStart,r,i,o,a,n),e.arrowTypeEnd&&w(t,"end",e.arrowTypeEnd,r,i,o,a,n)},"addEdgeMarkers"),b={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},arrow_hierarchy:{type:"hierarchy",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},k=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],w=(0,c.K)((t,e,r,i,o,a,n=!1,s)=>{if(!r||"none"===r)return;let l=b[r],c=l&&k.includes(l.type);if(!l)return void h.R.warn(`Unknown arrow type: ${r}`);let d=l.type,u=`${o}_${a}-${d}${"start"===e?"Start":"End"}${n&&c?"-margin":""}`;if(s&&""!==s.trim()){let r=s.replace(/[^\dA-Za-z]/g,"_"),o=`${u}_${r}`;if(!document.getElementById(o)){let t=document.getElementById(u);if(t){let e=t.cloneNode(!0);e.id=o,e.querySelectorAll("path, circle, line").forEach(t=>{t.setAttribute("stroke",s),l.fill&&t.setAttribute("fill",s)}),t.parentNode?.appendChild(e)}}t.attr(`marker-${e}`,`url(${i}#${o})`)}else t.attr(`marker-${e}`,`url(${i}#${u})`)},"addEdgeMarker"),T=(0,c.K)(t=>"string"==typeof t?t:(0,l.D7)()?.flowchart?.curve,"resolveEdgeCurveType"),B=new Map,S=new Map,v=(0,c.K)(()=>{B.clear(),S.clear()},"clear"),_=(0,c.K)(t=>!!(t.label||t.startLabelLeft||t.startLabelRight||t.endLabelLeft||t.endLabelRight),"hasEdgeLabel"),F=(0,c.K)(t=>t?"string"==typeof t?t:t.reduce((t,e)=>t+";"+e,""):"","getLabelStyles"),A=(0,c.K)(async(t,e)=>{let r,i,s,c=(0,l.D7)(),u=(0,l.E)(c),{labelStyles:g}=(0,a.GX)(e);e.labelStyle=g;let f=t.insert("g").attr("class","edgeLabel"),y=f.insert("g").attr("class","label").attr("data-id",e.id),m="markdown"===e.labelType,x=await (0,n.GZ)(t,e.label,{style:F(e.labelStyle),useHtmlLabels:u,addSvgBackground:!0,isNode:!1,markdown:m,width:void 0},c);if(y.node().appendChild(x),h.R.info("abc82",e,e.labelType),u){let t=x.children[0],e=(0,d.Ltv)(x);i=r=await n.lT.measure(()=>t.getBoundingClientRect()),e.attr("width",r.width),e.attr("height",r.height)}else{let t=(0,d.Ltv)(x).select("text").node();await n.lT.measure(()=>{r=x.getBBox(),i=t&&"function"==typeof t.getBBox?t.getBBox():r})}if(y.attr("transform",p(i,u)),B.set(e.id,f),e.width=r.width,e.height=r.height,e.startLabelLeft){let r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner"),a=await (0,o.DA)(i,e.startLabelLeft,F(e.labelStyle)||"",!1,!1);s=a;let n=a.getBBox();if(u){let t=a.children[0],e=(0,d.Ltv)(a);n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}i.attr("transform",p(n,u)),S.get(e.id)||S.set(e.id,{}),S.get(e.id).startLeft=r,L(s,e.startLabelLeft)}if(e.startLabelRight){let r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner"),a=await (0,o.DA)(i,e.startLabelRight,F(e.labelStyle)||"",!1,!1);s=a;let n=a.getBBox();if(u){let t=a.children[0],e=(0,d.Ltv)(a);n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}i.attr("transform",p(n,u)),S.get(e.id)||S.set(e.id,{}),S.get(e.id).startRight=r,L(s,e.startLabelRight)}if(e.endLabelLeft){let r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner"),a=await (0,o.DA)(r,e.endLabelLeft,F(e.labelStyle)||"",!1,!1);s=a;let n=a.getBBox();if(u){let t=a.children[0],e=(0,d.Ltv)(a);n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}i.attr("transform",p(n,u)),S.get(e.id)||S.set(e.id,{}),S.get(e.id).endLeft=r,L(s,e.endLabelLeft)}if(e.endLabelRight){let r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner"),a=await (0,o.DA)(r,e.endLabelRight,F(e.labelStyle)||"",!1,!1);s=a;let n=a.getBBox();if(u){let t=a.children[0],e=(0,d.Ltv)(a);n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}i.attr("transform",p(n,u)),S.get(e.id)||S.set(e.id,{}),S.get(e.id).endRight=r,L(s,e.endLabelRight)}return x},"insertEdgeLabel");function L(t,e){(0,l.E)((0,l.D7)())&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}(0,c.K)(L,"setTerminalWidth");var M=(0,c.K)((t,e)=>{h.R.debug("Moving label abc88 ",t.id,t.label,B.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,o=(0,l.D7)(),{subGraphTitleTotalMargin:a}=(0,i.Oi)(o);if(t.label){let i=B.get(t.id),o=t.x,n=t.y;if(r){let i=s._K.calcLabelPosition(r);h.R.debug("Moving label "+t.label+" from (",o,",",n,") to (",i.x,",",i.y,") abc88"),e.updatedPath&&(o=i.x,n=i.y)}i.attr("transform",`translate(${o}, ${n+a/2})`)}if(t.startLabelLeft){let e=S.get(t.id).startLeft,i=t.x,o=t.y;if(r){let e=s._K.calcTerminalLabelPosition(10*!!t.arrowTypeStart,"start_left",r);i=e.x,o=e.y}e.attr("transform",`translate(${i}, ${o})`)}if(t.startLabelRight){let e=S.get(t.id).startRight,i=t.x,o=t.y;if(r){let e=s._K.calcTerminalLabelPosition(10*!!t.arrowTypeStart,"start_right",r);i=e.x,o=e.y}e.attr("transform",`translate(${i}, ${o})`)}if(t.endLabelLeft){let e=S.get(t.id).endLeft,i=t.x,o=t.y;if(r){let e=s._K.calcTerminalLabelPosition(10*!!t.arrowTypeEnd,"end_left",r);i=e.x,o=e.y}e.attr("transform",`translate(${i}, ${o})`)}if(t.endLabelRight){let e=S.get(t.id).endRight,i=t.x,o=t.y;if(r){let e=s._K.calcTerminalLabelPosition(10*!!t.arrowTypeEnd,"end_right",r);i=e.x,o=e.y}e.attr("transform",`translate(${i}, ${o})`)}},"positionEdgeLabel"),$=(0,c.K)((t,e)=>{if(!t?.isLabelEdge||!t?.id?.endsWith("-to-label")||!Array.isArray(e)||2!==e.length)return e;let[r,i]=e,o=Math.abs(i.x-r.x),a=Math.abs(i.y-r.y);return o<.001||a<.001?e:a>=o?[r,{x:r.x,y:i.y},i]:[r,{x:i.x,y:r.y},i]},"orthogonalizeToLabelClippedPoints"),E=(0,c.K)((t,e)=>{let r=t.x,i=t.y,o=Math.abs(e.x-r),a=Math.abs(e.y-i),n=t.width/2,s=t.height/2;return o>=n||a>=s},"outsideNode"),O=(0,c.K)((t,e,r)=>{h.R.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let i=t.x,o=t.y,a=Math.abs(i-r.x),n=t.width/2,s=r.x<e.x?n-a:n+a,l=t.height/2,c=Math.abs(e.y-r.y),d=Math.abs(e.x-r.x);if(Math.abs(o-e.y)*n>Math.abs(i-e.x)*l){let t=r.y<e.y?e.y-l-o:o-l-e.y;s=d*t/c;let i={x:r.x<e.x?r.x+s:r.x-d+s,y:r.y<e.y?r.y+c-t:r.y-c+t};return 0===s&&(i.x=e.x,i.y=e.y),0===d&&(i.x=e.x),0===c&&(i.y=e.y),h.R.debug(`abc89 top/bottom calc, Q ${c}, q ${t}, R ${d}, r ${s}`,i),i}{let t=c*(s=r.x<e.x?e.x-n-i:i-n-e.x)/d,o=r.x<e.x?r.x+d-s:r.x-d+s,a=r.y<e.y?r.y+t:r.y-t;return h.R.debug(`sides calc abc89, Q ${c}, q ${t}, R ${d}, r ${s}`,{_x:o,_y:a}),0===s&&(o=e.x,a=e.y),0===d&&(o=e.x),0===c&&(a=e.y),{x:o,y:a}}},"intersection"),D=(0,c.K)((t,e)=>{h.R.warn("abc88 cutPathAtIntersect",t,e);let r=[],i=t[0],o=!1;return t.forEach(t=>{if(h.R.info("abc88 checking point",t,e),E(e,t)||o)h.R.warn("abc88 outside",t,i),i=t,o||r.push(t);else{let a=O(e,i,t);h.R.debug("abc88 inside",t,i,a),h.R.debug("abc88 intersection",a,e);let n=!1;r.forEach(t=>{n=n||t.x===a.x&&t.y===a.y}),r.some(t=>t.x===a.x&&t.y===a.y)?h.R.warn("abc88 no intersect",a,r):r.push(a),o=!0}}),h.R.debug("returning points",r),r},"cutPathAtIntersect");function K(t){let e=[],r=[];for(let i=1;i<t.length-1;i++){let o=t[i-1],a=t[i],n=t[i+1];o.x===a.x&&a.y===n.y&&Math.abs(a.x-n.x)>5&&Math.abs(a.y-o.y)>5?(e.push(a),r.push(i)):o.y===a.y&&a.x===n.x&&Math.abs(a.x-o.x)>5&&Math.abs(a.y-n.y)>5&&(e.push(a),r.push(i))}return{cornerPoints:e,cornerPointPositions:r}}(0,c.K)(K,"extractCornerPoints");var I=(0,c.K)(function(t,e,r){let i=e.x-t.x,o=e.y-t.y,a=r/Math.sqrt(i*i+o*o);return{x:e.x-a*i,y:e.y-a*o}},"findAdjacentPoint"),q=(0,c.K)(function(t){let{cornerPointPositions:e}=K(t),r=[];for(let i=0;i<t.length;i++)if(e.includes(i)){let e=t[i-1],o=t[i+1],a=t[i],n=I(e,a,5),s=I(o,a,5),l=s.x-n.x,c=s.y-n.y;r.push(n);let d=2*Math.sqrt(2),u={x:a.x,y:a.y};Math.abs(o.x-e.x)>10&&Math.abs(o.y-e.y)>=10?(h.R.debug("Corner point fixing",Math.abs(o.x-e.x),Math.abs(o.y-e.y)),u=a.x===n.x?{x:l<0?n.x-5+d:n.x+5-d,y:c<0?n.y-d:n.y+d}:{x:l<0?n.x-d:n.x+d,y:c<0?n.y-5+d:n.y+5-d}):h.R.debug("Corner point skipping fixing",Math.abs(o.x-e.x),Math.abs(o.y-e.y)),r.push(u,s)}else r.push(t[i]);return r},"fixCorners"),R=(0,c.K)((t,e,r)=>{let i=Math.floor((t-e-r)/4),o=Array(Number.isFinite(i)?Math.max(0,i):0).fill("2 2").join(" ");return`0 ${e} ${o} ${r}`},"generateDashArray"),P=(0,c.K)(function(t,e,r,i,o,n,c,p=!1){let g,y;if(!c)throw Error(`insertEdge: missing diagramId for edge "${e.id}" \u2014 edge IDs require a diagram prefix for uniqueness`);let{handDrawnSeed:m,layout:b}=(0,l.D7)(),k=e.points,w=!1,B=[];for(let t in e.cssCompiledStyles)(0,a.KX)(t)||B.push(e.cssCompiledStyles[t]);if("swimlane"===b){if(n.intersect&&o.intersect&&Array.isArray(k)&&k.length>=2)if(2===k.length)k=[o.intersect(k[0]),n.intersect(k[1])];else{let t=k.slice(1,-1),e=t[0],r=t[t.length-1],i=.5>Math.abs(k[k.length-1].x-r.x)&&.5>Math.abs(k[k.length-1].y-r.y),a=o.intersect(e),s=i?r:n.intersect(r),l=.5>Math.abs(s.x-r.x)&&.5>Math.abs(s.y-r.y);k=[....5>Math.abs(a.x-e.x)&&.5>Math.abs(a.y-e.y)?[]:[a],...t,...l?[]:[s]]}k=$(e,k)}else n.intersect&&o.intersect&&!p&&((k=k.slice(1,e.points.length-1)).unshift(o.intersect(k[0])),k.push(n.intersect(k[k.length-1])));let S=btoa(JSON.stringify(k));e.toCluster&&(h.R.info("to cluster abc88",r.get(e.toCluster)),k=D(e.points,r.get(e.toCluster).node),w=!0),e.fromCluster&&(h.R.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(k,null,2)),k=D(k.reverse(),r.get(e.fromCluster).node).reverse(),w=!0);let v=k.filter(t=>!Number.isNaN(t.y)),_=T(e.curve);"rounded"!==_&&(v=q(v));let F=d.lUB;switch(_){case"linear":case"rounded":F=d.lUB;break;case"basis":default:F=d.qrM;break;case"cardinal":F=d.y8u;break;case"bumpX":F=d.Wi0;break;case"bumpY":F=d.PGM;break;case"catmullRom":F=d.oDi;break;case"monotoneX":F=d.nVG;break;case"monotoneY":F=d.uxU;break;case"natural":F=d.Xf2;break;case"step":F=d.GZz;break;case"stepAfter":F=d.UPb;break;case"stepBefore":F=d.dyv}let{x:A,y:L}=x(e),M=(0,d.n8j)().x(A).y(L).curve(F);switch(e.thickness){case"normal":default:g="edge-thickness-normal";break;case"thick":g="edge-thickness-thick";break;case"invisible":g="edge-thickness-invisible"}switch(e.pattern){case"solid":default:g+=" edge-pattern-solid";break;case"dotted":g+=" edge-pattern-dotted";break;case"dashed":g+=" edge-pattern-dashed"}let E="rounded"===_?z(N(v,e),5):M(v),O=Array.isArray(e.style)?e.style:[e.style],K=O.find(t=>t?.startsWith("stroke:")),I="";e.animate&&(I="edge-animation-fast"),e.animation&&(I="edge-animation-"+e.animation);let P=!1;if("handDrawn"===e.look){let r=u.A.svg(t);Object.assign([],v);let i=r.path(E,{roughness:.3,seed:m});g+=" transition";let o=(y=(0,d.Ltv)(i).select("path").attr("id",`${c}-${e.id}`).attr("class"," "+g+(e.classes?" "+e.classes:"")+(I?" "+I:"")).attr("style",O?O.reduce((t,e)=>t+";"+e,""):"")).attr("d");y.attr("d",o),t.node().appendChild(y.node())}else{let r=B.join(";"),i=O?O.reduce((t,e)=>t+e+";",""):"",o=(r?r+";"+i+";":i)+";"+(O?O.reduce((t,e)=>t+";"+e,""):"");y=t.append("path").attr("d",E).attr("id",`${c}-${e.id}`).attr("class"," "+g+(e.classes?" "+e.classes:"")+(I?" "+I:"")).attr("style",o),K=o.match(/stroke:([^;]+)/)?.[1],P=!0===e.animate||!!e.animation||r.includes("animation");let a=y.node(),n="function"==typeof a.getTotalLength?a.getTotalLength():0,s=f[e.arrowTypeStart]||0,l=f[e.arrowTypeEnd]||0;if("neo"===e.look&&!P){let t="dotted"===e.pattern||"dashed"===e.pattern?R(n,s,l):`0 ${s} ${n-s-l} ${l}`,r=`stroke-dasharray: ${t}; stroke-dashoffset: 0;`;y.attr("style",r+y.attr("style"))}}y.attr("data-edge",!0),y.attr("data-et","edge"),y.attr("data-id",e.id),y.attr("data-points",S),y.attr("data-look",(0,s.KL)(e.look)),e.showPoints&&v.forEach(e=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",e.x).attr("cy",e.y)});let W="";((0,l.D7)().flowchart.arrowMarkerAbsolute||(0,l.D7)().state.arrowMarkerAbsolute)&&(W=(W=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(").replace(/\)/g,"\\)")),h.R.info("arrowTypeStart",e.arrowTypeStart),h.R.info("arrowTypeEnd",e.arrowTypeEnd);let j=!P&&e?.look==="neo";C(y,e,W,c,i,j,K);let H=Math.floor(k.length/2),U=k[H];s._K.isLabelCoordinateInPath(U,y.attr("d"))||(w=!0);let Y={};return w&&(Y.updatedPath=k),Y.originalPath=e.points,Y},"insertEdge");function z(t,e){if(t.length<2)return"";let r="",i=t.length;for(let o=0;o<i;o++){let a=t[o],n=t[o-1],s=t[o+1];if(0===o)r+=`M${a.x},${a.y}`;else if(o===i-1)r+=`L${a.x},${a.y}`;else{let t=a.x-n.x,i=a.y-n.y,o=s.x-a.x,l=s.y-a.y,h=Math.hypot(t,i),c=Math.hypot(o,l);if(h<1e-5||c<1e-5){r+=`L${a.x},${a.y}`;continue}let d=t/h,u=i/h,p=o/c,g=l/c,f=Math.acos(Math.max(-1,Math.min(1,d*p+u*g)));if(f<1e-5||1e-5>Math.abs(Math.PI-f)){r+=`L${a.x},${a.y}`;continue}let y=Math.min(e/Math.sin(f/2),h/2,c/2),m=a.x-d*y,x=a.y-u*y,C=a.x+p*y,b=a.y+g*y;r+=`L${m},${x}Q${a.x},${a.y} ${C},${b}`}}return r}function W(t,e){if(!t||!e)return{angle:0,deltaX:0,deltaY:0};let r=e.x-t.x,i=e.y-t.y;return{angle:Math.atan2(i,r),deltaX:r,deltaY:i}}function N(t,e){let r=t.map(t=>({...t}));if(t.length>=2&&g[e.arrowTypeStart]){let i=g[e.arrowTypeStart],o=t[0],{angle:a}=W(o,t[1]),n=i*Math.cos(a),s=i*Math.sin(a);r[0].x=o.x+n,r[0].y=o.y+s}let i=t.length;if(i>=2&&g[e.arrowTypeEnd]){let o=g[e.arrowTypeEnd],a=t[i-1],{angle:n}=W(t[i-2],a),s=o*Math.cos(n),l=o*Math.sin(n);r[i-1].x=a.x-s,r[i-1].y=a.y-l}return r}(0,c.K)(z,"generateRoundedPath"),(0,c.K)(W,"calculateDeltaAndAngle"),(0,c.K)(N,"applyMarkerOffsetsToPoints");var j=(0,c.K)((t,e,r,i)=>{e.forEach(e=>{tp[e](t,r,i)})},"insertMarkers"),H=(0,c.K)((t,e,r)=>{h.R.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),U=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Y=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),G=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),X=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),Z=(0,c.K)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),V=(0,c.K)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),Q=(0,c.K)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),J=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),tt=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{transitionColor:o}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${o}`)},"barbNeo"),te=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),tr=(0,c.K)((t,e,r)=>{let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),i.append("path").attr("d","M9,0 L9,18");let o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");o.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),o.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),ti=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),to=(0,c.K)((t,e,r)=>{let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),i.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");o.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),o.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),ta=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${o}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${o}`)},"only_one_neo"),tn=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o,mainBkg:a}=i,n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");n.append("circle").attr("fill",a??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${o}`).attr("r",6),n.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${o}`);let s=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");s.append("circle").attr("fill",a??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${o}`).attr("r",6),s.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${o}`)},"zero_or_one_neo"),ts=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${o}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${o}`)},"one_or_more_neo"),tl=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o,mainBkg:a}=i,n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");n.append("circle").attr("fill",a??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${o}`),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${o}`);let s=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");s.append("circle").attr("fill",a??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${o}`),s.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${o}`)},"zero_or_more_neo"),th=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 + L20,10 + M20,10 + L0,20`)},"requirement_arrow"),tc=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${o}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 + L20,10 + M20,10 + L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),td=(0,c.K)((t,e,r)=>{let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),tu=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o}=i,a=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");a.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),a.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),a.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),a.selectAll("*").attr("stroke-width",`${o}`)},"requirement_contains_neo"),tp={extension:H,composition:U,aggregation:Y,dependency:G,lollipop:X,point:Z,circle:V,cross:Q,barb:J,barbNeo:tt,hierarchy:(0,c.K)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-hierarchyEnd").attr("class","marker hierarchy "+e).attr("viewBox","0 0 12 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 0 0 L 6 5 L 0 10 M 4 0 L 10 5 L 4 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none"),t.append("marker").attr("id",r+"_"+e+"-hierarchyStart").attr("class","marker hierarchy "+e).attr("viewBox","0 0 12 10").attr("refX",2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 12 0 L 6 5 L 12 10 M 8 0 L 2 5 L 8 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none")},"hierarchy"),only_one:te,zero_or_one:tr,one_or_more:ti,zero_or_more:to,only_one_neo:ta,zero_or_one_neo:tn,one_or_more_neo:ts,zero_or_more_neo:tl,requirement_arrow:th,requirement_contains:td,requirement_arrow_neo:tc,requirement_contains_neo:tu},tg=j},6348(t,e,r){"use strict";r.d(e,{yT:()=>U,PX:()=>J,vU:()=>L,rY:()=>th,pe:()=>S,KL:()=>tc,Ib:()=>$,I5:()=>to,bH:()=>X,$C:()=>j,$t:()=>ta,ru:()=>V,dq:()=>tr,Sm:()=>tl,C4:()=>ts,sM:()=>W,_K:()=>tn,Un:()=>Q});var i,o=r(1177),a=r(1293),n=r(6827),s=r(6750),l=r(7829);function h(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw TypeError("Expected a function");let r=function(...i){let o=e?e.apply(this,i):i[0],a=r.cache;if(a.has(o))return a.get(o);let n=t.apply(this,i);return r.cache=a.set(o,n)||a,n};return r.cache=new(h.Cache||Map),r}function c(){}h.Cache=Map;var d=r(7110),u=r(2796);function p(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}var g=r(1069);function f(t){if("object"!=typeof t||null==t)return!1;if(null===Object.getPrototypeOf(t))return!0;if("[object Object]"!==Object.prototype.toString.call(t)){let e=t[Symbol.toStringTag];return null!=e&&!!Object.getOwnPropertyDescriptor(t,Symbol.toStringTag)?.writable&&t.toString()===`[object ${e}]`}let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}var y=r(9125),m=r(9826);function x(t,e,r,i=new Map,o){let a=o?.(t,e,r,i);if(void 0!==a)return a;if((0,d.s)(t))return t;if(i.has(t))return i.get(t);if(Array.isArray(t)){let e=Array(t.length);i.set(t,e);for(let a=0;a<t.length;a++)e[a]=x(t[a],a,r,i,o);return Object.hasOwn(t,"index")&&(e.index=t.index),Object.hasOwn(t,"input")&&(e.input=t.input),e}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){let e=new RegExp(t.source,t.flags);return e.lastIndex=t.lastIndex,e}if(t instanceof Map){let e=new Map;for(let[a,n]of(i.set(t,e),t))e.set(a,x(n,a,r,i,o));return e}if(t instanceof Set){let e=new Set;for(let a of(i.set(t,e),t))e.add(x(a,void 0,r,i,o));return e}if((0,g.P)(t))return t.subarray();if((0,u.i)(t)){let e=new(Object.getPrototypeOf(t)).constructor(t.length);i.set(t,e);for(let a=0;a<t.length;a++)e[a]=x(t[a],a,r,i,o);return e}if(t instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){let e=new DataView(t.buffer.slice(0),t.byteOffset,t.byteLength);return i.set(t,e),C(e,t,r,i,o),e}if("u">typeof File&&t instanceof File){let e=new File([t],t.name,{type:t.type});return i.set(t,e),C(e,t,r,i,o),e}if("u">typeof Blob&&t instanceof Blob){let e=new Blob([t],{type:t.type});return i.set(t,e),C(e,t,r,i,o),e}if(t instanceof Error){let e=structuredClone(t);return i.set(t,e),e.message=t.message,e.name=t.name,e.stack=t.stack,e.cause=t.cause,e.constructor=t.constructor,C(e,t,r,i,o),e}if(t instanceof Boolean){let e=new Boolean(t.valueOf());return i.set(t,e),C(e,t,r,i,o),e}if(t instanceof Number){let e=new Number(t.valueOf());return i.set(t,e),C(e,t,r,i,o),e}if(t instanceof String){let e=new String(t.valueOf());return i.set(t,e),C(e,t,r,i,o),e}if("object"==typeof t&&function(t){switch((0,y.b)(t)){case m.R_:case m.Uw:case m.cT:case m.iq:case m.$V:case m.vC:case m.ri:case m.ML:case m.XZ:case m.i1:case m._u:case m.pj:case m.kj:case m.GX:case m.Av:case m.NA:case m.OG:case m.VP:case m.Qb:case m.q:case m.x6:case m.ZR:return!0;default:return!1}}(t)){let e=Object.create(Object.getPrototypeOf(t));return i.set(t,e),C(e,t,r,i,o),e}return t}function C(t,e,r=t,i,o){let a=[...Object.keys(e),...p(e)];for(let n=0;n<a.length;n++){let s=a[n],l=Object.getOwnPropertyDescriptor(t,s);(null==l||l.writable)&&(t[s]=x(e[s],s,r,i,o))}}function b(t){var e;return e=(e,r,i,o)=>{let a;if(void 0!==a)return a;if("object"==typeof t){if("[object Object]"===(0,y.b)(t)&&"function"!=typeof t.constructor){let e={};return o.set(t,e),C(e,t,i,o),e}switch(Object.prototype.toString.call(t)){case m.kj:case m.OG:case m.$V:{let e=new t.constructor(t?.valueOf());return C(e,t),e}case m.R_:{let e={};return C(e,t),e.length=t.length,e[Symbol.iterator]=t[Symbol.iterator],e}default:return}}},x(t,void 0,t,new Map,e)}var k=r(4608);function w(t){return"object"==typeof t&&null!==t}var T=r(9480),B=r(9663),S="\u200B",v={curveBasis:l.qrM,curveBasisClosed:l.Yu4,curveBasisOpen:l.IA3,curveBumpX:l.Wi0,curveBumpY:l.PGM,curveBundle:l.OEq,curveCardinalClosed:l.olC,curveCardinalOpen:l.IrU,curveCardinal:l.y8u,curveCatmullRomClosed:l.Q7f,curveCatmullRomOpen:l.cVp,curveCatmullRom:l.oDi,curveLinear:l.lUB,curveLinearClosed:l.Lx9,curveMonotoneX:l.nVG,curveMonotoneY:l.uxU,curveNatural:l.Xf2,curveStep:l.GZz,curveStepAfter:l.UPb,curveStepBefore:l.dyv},_=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,F=(0,n.K)(function(t,e){let r=A(t,/(?:init\b)|(?:initialize\b)/),i={};if(Array.isArray(r)){let t=r.map(t=>t.args);(0,o.$i)(t),i=(0,o.hH)(i,[...t])}else i=r.args;if(!i)return;let a=(0,o.Ch)(t,e),n="config";return void 0!==i[n]&&("flowchart-v2"===a&&(a="flowchart"),i[a]=i[n],delete i[n]),i},"detectInit"),A=(0,n.K)(function(t,e=null){try{let r,i=RegExp(`[%]{2}(?![{]${_.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),a.R.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);let n=[];for(;null!==(r=o.DB.exec(t));)if(r.index===o.DB.lastIndex&&o.DB.lastIndex++,r&&!e||e&&r[1]?.match(e)||e&&r[2]?.match(e)){let t=r[1]?r[1]:r[2],e=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:t,args:e})}if(0===n.length)return{type:t,args:null};return 1===n.length?n[0]:n}catch(r){return a.R.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),L=(0,n.K)(function(t){return t.replace(o.DB,"")},"removeDirectives"),M=(0,n.K)(function(t,e){for(let[r,i]of e.entries())if(i.match(t))return r;return -1},"isSubstringInArray");function $(t,e){return t?v[`curve${t.charAt(0).toUpperCase()+t.slice(1)}`]??e:e}function E(t,e){let r=t.trim();if(r)return"loose"!==e.securityLevel?(0,s.sanitizeUrl)(r):r}(0,n.K)($,"interpolateToCurve"),(0,n.K)(E,"formatUrl");var O=(0,n.K)((t,...e)=>{let r=t.split("."),i=r.length-1,o=r[i],n=window;for(let e=0;e<i;e++)if(!(n=n[r[e]]))return void a.R.error(`Function name: ${t} not found in window`);n[o](...e)},"runFunc");function D(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}function K(t){let e,r=0;return t.forEach(t=>{r+=D(t,e),e=t}),R(t,r/2)}function I(t){return 1===t.length?t[0]:K(t)}(0,n.K)(D,"distance"),(0,n.K)(K,"traverseEdge"),(0,n.K)(I,"calcLabelPosition");var q=(0,n.K)((t,e=2)=>{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),R=(0,n.K)((t,e)=>{let r,i=e;for(let e of t){if(r){let t=D(e,r);if(0===t)return r;if(t<i)i-=t;else{let o=i/t;if(o<=0)return r;if(o>=1)return{x:e.x,y:e.y};if(o>0&&o<1)return{x:q((1-o)*r.x+o*e.x,5),y:q((1-o)*r.y+o*e.y,5)}}}r=e}throw Error("Could not find a suitable point for the given distance")},"calculatePoint"),P=(0,n.K)((t,e,r)=>{a.R.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=R(e,25),o=t?10:5,n=Math.atan2(e[0].y-i.y,e[0].x-i.x),s={x:0,y:0};return s.x=Math.sin(n)*o+(e[0].x+i.x)/2,s.y=-Math.cos(n)*o+(e[0].y+i.y)/2,s},"calcCardinalityPosition");function z(t,e,r){let i=structuredClone(r);a.R.info("our points",i),"start_left"!==e&&"start_right"!==e&&i.reverse();let o=R(i,25+t),n=10+.5*t,s=Math.atan2(i[0].y-o.y,i[0].x-o.x),l={x:0,y:0};return"start_left"===e?(l.x=Math.sin(s+Math.PI)*n+(i[0].x+o.x)/2,l.y=-Math.cos(s+Math.PI)*n+(i[0].y+o.y)/2):"end_right"===e?(l.x=Math.sin(s-Math.PI)*n+(i[0].x+o.x)/2-5,l.y=-Math.cos(s-Math.PI)*n+(i[0].y+o.y)/2-5):"end_left"===e?(l.x=Math.sin(s)*n+(i[0].x+o.x)/2-5,l.y=-Math.cos(s)*n+(i[0].y+o.y)/2-5):(l.x=Math.sin(s)*n+(i[0].x+o.x)/2,l.y=-Math.cos(s)*n+(i[0].y+o.y)/2),l}function W(t){let e="",r="";for(let i of t)void 0!==i&&(i.startsWith("color:")||i.startsWith("text-align:")?r=r+i+";":e=e+i+";");return{style:e,labelStyle:r}}(0,n.K)(z,"calcTerminalLabelPosition"),(0,n.K)(W,"getStylesFromArray");var N=0,j=(0,n.K)(()=>(N++,"id-"+Math.random().toString(36).substr(2,12)+"-"+N),"generateId");function H(t){let e="",r="0123456789abcdef",i=r.length;for(let o=0;o<t;o++)e+=r.charAt(Math.floor(Math.random()*i));return e}(0,n.K)(H,"makeRandomHex");var U=(0,n.K)(t=>H(t.length),"random"),Y=(0,n.K)(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),G=(0,n.K)(function(t,e){let r=e.text.replace(o.Y2.lineBreakRegex," "),[,i]=to(e.fontSize),a=t.append("text");a.attr("x",e.x),a.attr("y",e.y),a.style("text-anchor",e.anchor),a.style("font-family",e.fontFamily),a.style("font-size",i),a.style("font-weight",e.fontWeight),a.attr("fill",e.fill),void 0!==e.class&&a.attr("class",e.class);let n=a.append("tspan");return n.attr("x",e.x+2*e.textMargin),n.attr("fill",e.fill),n.text(r),a},"drawSimpleText"),X=h((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},r),o.Y2.hasBreaks(t)))return t;let i=t.split(" ").filter(Boolean),a=[],n="";return i.forEach((t,o)=>{let s=Q(`${t} `,r),l=Q(n,r);if(s>e){let{hyphenatedStrings:i,remainingWord:o}=Z(t,e,"-",r);a.push(n,...i),n=o}else l+s>=e?(a.push(n),n=t):n=[n,t].filter(Boolean).join(" ");o+1===i.length&&a.push(n)}),a.filter(t=>""!==t).join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),Z=h((t,e,r="-",i)=>{i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},i);let o=[...t],a=[],n="";return o.forEach((t,s)=>{let l=`${n}${t}`;if(Q(l,i)>=e){let t=o.length===s+1,e=`${l}${r}`;a.push(t?l:e),n=""}else n=l}),{hyphenatedStrings:a,remainingWord:n}},(t,e,r="-",i)=>`${t}${e}${r}${i.fontSize}${i.fontWeight}${i.fontFamily}`);function V(t,e){return J(t,e).height}function Q(t,e){return J(t,e).width}(0,n.K)(V,"calculateTextHeight"),(0,n.K)(Q,"calculateTextWidth");var J=h((t,e)=>{let{fontSize:r=12,fontFamily:i="Arial",fontWeight:a=400}=e;if(!t)return{width:0,height:0};let[,n]=to(r),s=t.split(o.Y2.lineBreakRegex),h=[],c=(0,l.Ltv)("body");if(!c.remove)return{width:0,height:0,lineHeight:0};let d=c.append("svg");for(let t of["sans-serif",i]){let e=0,r={width:0,height:0,lineHeight:0};for(let i of s){let o=Y();o.text=i||S;let s=G(d,o).style("font-size",n).style("font-weight",a).style("font-family",t),l=(s._groups||s)[0][0].getBBox();if(0===l.width&&0===l.height)throw Error("svg element not in render tree");r.width=Math.round(Math.max(r.width,l.width)),e=Math.round(l.height),r.height+=e,r.lineHeight=Math.round(Math.max(r.lineHeight,e))}h.push(r)}d.remove();let u=isNaN(h[1].height)||isNaN(h[1].width)||isNaN(h[1].lineHeight)||h[0].height>h[1].height&&h[0].width>h[1].width&&h[0].lineHeight>h[1].lineHeight?0:1;return h[u]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),tt=class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}static{(0,n.K)(this,"InitIDGenerator")}},te=(0,n.K)(function(t){return i=i||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),i.innerHTML=t,unescape(i.textContent)},"entityDecode");function tr(t){return"str"in t}(0,n.K)(tr,"isDetailedError");var ti=(0,n.K)((t,e,r,i)=>{if(!i)return;let o=t.node()?.getBBox();o&&t.append("text").text(i).attr("text-anchor","middle").attr("x",o.x+o.width/2).attr("y",-r).attr("class",e)},"insertTitle"),to=(0,n.K)(t=>{if("number"==typeof t)return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function ta(t,e){return function(t,...e){return function(t,...e){let r=e.slice(0,-1),i=e[e.length-1],o=t;for(let t=0;t<r.length;t++)o=function t(e,r,i,o){if((0,d.s)(e)&&(e=Object(e)),null==r||"object"!=typeof r)return e;if(o.has(r))return function(t){if((0,d.s)(t))return t;if(Array.isArray(t)||(0,u.i)(t)||t instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&t instanceof SharedArrayBuffer)return t.slice(0);let e=Object.getPrototypeOf(t);if(null==e)return Object.assign(Object.create(e),t);let r=e.constructor;if(t instanceof Date||t instanceof Map||t instanceof Set)return new r(t);if(t instanceof RegExp){let e=new r(t);return e.lastIndex=t.lastIndex,e}if(t instanceof DataView)return new r(t.buffer.slice(0));if(t instanceof Error){let e;return(e=t instanceof AggregateError?new r(t.errors,t.message,{cause:t.cause}):new r(t.message,{cause:t.cause})).stack=t.stack,Object.assign(e,t),e}return"u">typeof File&&t instanceof File?new r([t],t.name,{type:t.type,lastModified:t.lastModified}):"object"==typeof t?Object.assign(Object.create(e),t):t}(o.get(r));if(o.set(r,e),Array.isArray(r)){r=r.slice();for(let t=0;t<r.length;t++)t in r||(r[t]=void 0)}let a=[...Object.keys(r),...p(r)];for(let s=0;s<a.length;s++){let l=a[s];if("__proto__"===l)continue;let h=r[l],c=e[l];if((0,k.N)(h)&&(h={...h}),(0,k.N)(c)&&(c={...c}),(0,g.P)(h)&&(h=b(h)),Array.isArray(h))if(Array.isArray(c)){let t=[],e=Reflect.ownKeys(c);for(let r=0;r<e.length;r++){let i=e[r];t[i]=c[i]}c=t}else{var n;if(w(n=c)&&(0,T.X)(n)){let t=[];for(let e=0;e<c.length;e++)t[e]=c[e];c=t}else c=[]}let d=i(c,h,l,e,r,o);void 0!==d?e[l]=d:Array.isArray(h)||w(c)&&w(h)&&(f(c)||f(h)||(0,B.i)(c)||(0,B.i)(h))?e[l]=t(c,h,i,o):null==c&&f(h)?e[l]=t({},h,i,o):null==c&&(0,B.i)(h)?e[l]=b(h):(void 0===c||void 0!==h)&&(e[l]=h)}return e}(o,r[t],i,new Map);return o}(t,...e,c)}({},t,e)}(0,n.K)(ta,"cleanAndMerge");var tn={assignWithDepth:o.hH,wrapLabel:X,calculateTextHeight:V,calculateTextWidth:Q,calculateTextDimensions:J,cleanAndMerge:ta,detectInit:F,detectDirective:A,isSubstringInArray:M,interpolateToCurve:$,calcLabelPosition:I,calcCardinalityPosition:P,calcTerminalLabelPosition:z,formatUrl:E,getStylesFromArray:W,generateId:j,random:U,runFunc:O,entityDecode:te,insertTitle:ti,isLabelCoordinateInPath:td,parseFontSize:to,InitIDGenerator:tt},ts=(0,n.K)(function(t){let e=t;return(e=(e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/#\w+;/g,function(t){let e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"\uFB02\xb0\xb0"+e+"\xb6\xdf":"\uFB02\xb0"+e+"\xb6\xdf"})},"encodeEntities"),tl=(0,n.K)(function(t){return t.replace(/\ufb02\xb0\xb0/g,"&#").replace(/\ufb02\xb0/g,"&").replace(/\xb6\xdf/g,";")},"decodeEntities"),th=(0,n.K)((t,e,{counter:r=0,prefix:i,suffix:o},a)=>a||`${i?`${i}_`:""}${t}_${e}_${r}${o?`_${o}`:""}`,"getEdgeId");function tc(t){return t??null}function td(t,e){let r=Math.round(t.x),i=Math.round(t.y),o=e.replace(/(\d+\.\d+)/g,t=>Math.round(parseFloat(t)).toString());return o.includes(r.toString())||o.includes(i.toString())}(0,n.K)(tc,"handleUndefinedAttr"),(0,n.K)(td,"isLabelCoordinateInPath")},2346(t,e,r){"use strict";r.r(e),r.d(e,{default:()=>r0});var i=r(4924),o=r(841),a=r(2391);r(3247),r(5616),r(6163),r(7827),r(3002),r(739),r(6320);var n=r(2217);r(2941);var s=r(6348),l=r(1177),h=r(1293),c=r(6827),d=r(8908),u=r(7829),p="comm",g="rule",f="decl",y="@keyframes",m="@layer",x=Math.abs,C=String.fromCharCode;function b(t,e,r){return t.replace(e,r)}function k(t,e){return 0|t.charCodeAt(e)}function w(t,e,r){return t.slice(e,r)}function T(t){return t.length}function B(t,e){return e.push(t),t}function S(t,e){for(var r="",i=0;i<t.length;i++)r+=e(t[i],i,t,e)||"";return r}function v(t,e,r,i){switch(t.type){case m:if(t.children.length)break;case"@import":case"@namespace":case f:return t.return=t.return||t.value;case p:return"";case y:return t.return=t.value+"{"+S(t.children,i)+"}";case g:if(!T(t.value=t.props.join(",")))return""}return T(r=S(t.children,i))?t.return=t.value+"{"+r+"}":""}var _=1,F=1,A=0,L=0,M=0,$="";function E(t,e,r,i,o,a,n,s){return{value:t,root:e,parent:r,type:i,props:o,children:a,line:_,column:F,length:n,return:"",siblings:s}}function O(){return M=L<A?k($,L++):0,F++,10===M&&(F=1,_++),M}function D(){return k($,L)}function K(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function I(t){var e,r;return(e=L-1,r=function t(e){for(;O();)switch(M){case e:return L;case 34:case 39:34!==e&&39!==e&&t(M);break;case 40:41===e&&t(e);break;case 92:O()}return L}(91===t?t+2:40===t?t+1:t),w($,e,r)).trim()}function q(t,e,r,i,o,a,n,s,l,h,c,d){for(var u=o-1,p=0===o?a:[""],f=p.length,y=0,m=0,C=0;y<i;++y)for(var k=0,T=w(t,u+1,u=x(m=n[y])),B=t;k<f;++k)(B=(m>0?p[k]+" "+T:b(T,/&\f/g,p[k])).trim())&&(l[C++]=B);return E(t,e,r,0===o?g:s,l,h,c,d)}function R(t,e,r,i,o){return E(t,e,r,f,w(t,0,i),w(t,i+1,-1),i,o)}var P=r(9418),z=r(1069),W=r(9480),N=r(4608),j=r(9663);function H(t){if(null==t)return!0;if((0,W.X)(t))return("function"==typeof t.splice||"string"==typeof t||!!(0,z.P)(t)||!!(0,j.i)(t)||!!(0,N.N)(t))&&0===t.length;if("object"==typeof t||"function"==typeof t){let e;if(t instanceof Map||t instanceof Set)return 0===t.size;let r=Object.keys(t);return(e=t?.constructor,t===("function"==typeof e?e.prototype:Object.prototype))?0===r.filter(t=>"constructor"!==t).length:0===r.length}return!0}var U={id:"c4",detector:(0,c.K)(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),loader:(0,c.K)(async()=>{let{diagram:t}=await r.e("1862").then(r.bind(r,9301));return{id:"c4",diagram:t}},"loader")},Y="flowchart-v2",G=(0,c.K)(t=>/^\s*(graph|flowchart)/.test(t),"detector"),X=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("5505"),r.e("7874")]).then(r.bind(r,5289));return{id:Y,diagram:t}},"loader"),Z={id:Y,detector:G,loader:X},V="agentflow",Q=(0,c.K)(t=>/^\s*agentflow-beta\b/.test(t),"detector"),J=(0,c.K)(async()=>{let{diagram:t}=await r.e("5783").then(r.bind(r,4810));return{id:V,diagram:t}},"loader"),tt={id:V,detector:Q,loader:J},te="swimlane",tr=(0,c.K)(t=>/^\s*swimlane-beta\b/.test(t),"detector"),ti=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("5505"),r.e("1567")]).then(r.bind(r,5698));return{id:te,diagram:t}},"loader"),to={id:te,detector:tr,loader:ti},ta={id:"er",detector:(0,c.K)(t=>/^\s*erDiagram/.test(t),"detector"),loader:(0,c.K)(async()=>{let{diagram:t}=await r.e("3636").then(r.bind(r,7599));return{id:"er",diagram:t}},"loader")},tn="gitGraph",ts=(0,c.K)(t=>/^\s*gitGraph/.test(t),"detector"),tl=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("4137")]).then(r.bind(r,2208));return{id:tn,diagram:t}},"loader"),th={id:tn,detector:ts,loader:tl},tc="gantt",td=(0,c.K)(t=>/^\s*gantt/.test(t),"detector"),tu=(0,c.K)(async()=>{let{diagram:t}=await r.e("6374").then(r.bind(r,6389));return{id:tc,diagram:t}},"loader"),tp={id:tc,detector:td,loader:tu},tg="info",tf=(0,c.K)(t=>/^\s*info/.test(t),"detector"),ty=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("6184")]).then(r.bind(r,1019));return{id:tg,diagram:t}},"loader"),tm={id:tg,detector:tf,loader:ty},tx={id:"pie",detector:(0,c.K)(t=>/^\s*pie/.test(t),"detector"),loader:(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("2951")]).then(r.bind(r,7834));return{id:"pie",diagram:t}},"loader")},tC="quadrantChart",tb=(0,c.K)(t=>/^\s*quadrantChart/.test(t),"detector"),tk=(0,c.K)(async()=>{let{diagram:t}=await r.e("9948").then(r.bind(r,791));return{id:tC,diagram:t}},"loader"),tw={id:tC,detector:tb,loader:tk},tT="xychart",tB=(0,c.K)(t=>/^\s*xychart(-beta)?/.test(t),"detector"),tS=(0,c.K)(async()=>{let{diagram:t}=await r.e("4875").then(r.bind(r,1238));return{id:tT,diagram:t}},"loader"),tv={id:tT,detector:tB,loader:tS},t_="requirement",tF=(0,c.K)(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),tA=(0,c.K)(async()=>{let{diagram:t}=await r.e("6856").then(r.bind(r,1819));return{id:t_,diagram:t}},"loader"),tL={id:t_,detector:tF,loader:tA},tM="sequence",t$=(0,c.K)(t=>/^\s*sequenceDiagram/.test(t),"detector"),tE=(0,c.K)(async()=>{let{diagram:t}=await r.e("4617").then(r.bind(r,7280));return{id:tM,diagram:t}},"loader"),tO={id:tM,detector:t$,loader:tE},tD="classDiagram",tK=(0,c.K)(t=>/^\s*classDiagram/.test(t),"detector"),tI=(0,c.K)(async()=>{let{diagram:t}=await r.e("8683").then(r.bind(r,8726));return{id:tD,diagram:t}},"loader"),tq={id:tD,detector:tK,loader:tI},tR="stateDiagram",tP=(0,c.K)(t=>/^\s*stateDiagram/.test(t),"detector"),tz=(0,c.K)(async()=>{let{diagram:t}=await r.e("2268").then(r.bind(r,7335));return{id:tR,diagram:t}},"loader"),tW={id:tR,detector:tP,loader:tz},tN="journey",tj=(0,c.K)(t=>/^\s*journey/.test(t),"detector"),tH=(0,c.K)(async()=>{let{diagram:t}=await r.e("2358").then(r.bind(r,1493));return{id:tN,diagram:t}},"loader"),tU={id:tN,detector:tj,loader:tH},tY={draw:(0,c.K)((t,e,r)=>{h.R.debug("rendering svg for syntax error\n");let o=(0,i.D)(e),a=o.append("g");o.attr("viewBox","0 0 2412 512"),(0,l.a$)(o,100,512,!0),a.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"),a.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"),a.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"),a.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"),a.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"),a.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"),a.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"),a.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw")},tG={db:{},renderer:tY,parser:{parse:(0,c.K)(()=>{},"parse")}},tX="flowchart-elk",tZ=(0,c.K)((t,e={})=>!!/^\s*flowchart-elk/.test(t)&&(e.layout="elk",!0),"detector"),tV=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("5505"),r.e("5493")]).then(r.bind(r,5289));return{id:tX,diagram:t}},"loader"),tQ={id:tX,detector:tZ,loader:tV},tJ="timeline",t0=(0,c.K)(t=>/^\s*timeline/.test(t),"detector"),t1=(0,c.K)(async()=>{let{diagram:t}=await r.e("181").then(r.bind(r,6180));return{id:tJ,diagram:t}},"loader"),t2={id:tJ,detector:t0,loader:t1},t5="mindmap",t3=(0,c.K)(t=>/^\s*mindmap/.test(t),"detector"),t4=(0,c.K)(async()=>{let{diagram:t}=await r.e("8272").then(r.bind(r,1123));return{id:t5,diagram:t}},"loader"),t6={id:t5,detector:t3,loader:t4},t8="kanban",t7=(0,c.K)(t=>/^\s*kanban/.test(t),"detector"),t9=(0,c.K)(async()=>{let{diagram:t}=await r.e("6326").then(r.bind(r,4773));return{id:t8,diagram:t}},"loader"),et={id:t8,detector:t7,loader:t9},ee="sankey",er=(0,c.K)(t=>/^\s*sankey(-beta)?/.test(t),"detector"),ei=(0,c.K)(async()=>{let{diagram:t}=await r.e("4892").then(r.bind(r,6247));return{id:ee,diagram:t}},"loader"),eo={id:ee,detector:er,loader:ei},ea="packet",en=(0,c.K)(t=>/^\s*packet(-beta)?/.test(t),"detector"),es=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("7256")]).then(r.bind(r,6699));return{id:ea,diagram:t}},"loader"),el={id:ea,detector:en,loader:es},eh="radar",ec=(0,c.K)(t=>/^\s*radar-beta/.test(t),"detector"),ed=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("4788")]).then(r.bind(r,5487));return{id:eh,diagram:t}},"loader"),eu={id:eh,detector:ec,loader:ed},ep="block",eg=(0,c.K)(t=>/^\s*block(-beta)?/.test(t),"detector"),ef=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("2107"),r.e("5250"),r.e("3851")]).then(r.bind(r,9734));return{id:ep,diagram:t}},"loader"),ey={id:ep,detector:eg,loader:ef},em="treeView",ex=(0,c.K)(t=>/^\s*treeView-beta/.test(t),"detector"),eC=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("1491")]).then(r.bind(r,4638));return{id:em,diagram:t}},"loader"),eb={id:em,detector:ex,loader:eC},ek="architecture",ew=(0,c.K)(t=>/^\s*architecture/.test(t),"detector"),eT=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("4950"),r.e("6832")]).then(r.bind(r,9827));return{id:ek,diagram:t}},"loader"),eB={id:ek,detector:ew,loader:eT},eS="eventmodeling",ev=(0,c.K)(t=>/^\s*eventmodeling/.test(t),"detector"),e_=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("6073")]).then(r.bind(r,944));return{id:eS,diagram:t}},"loader"),eF={id:eS,detector:ev,loader:e_},eA="ishikawa",eL=(0,c.K)(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),eM=(0,c.K)(async()=>{let{diagram:t}=await r.e("9729").then(r.bind(r,459));return{id:eA,diagram:t}},"loader"),e$={id:eA,detector:eL,loader:eM},eE="venn",eO=(0,c.K)(t=>/^\s*venn-beta/.test(t),"detector"),eD=(0,c.K)(async()=>{let{diagram:t}=await r.e("3788").then(r.bind(r,3367));return{id:eE,diagram:t}},"loader"),eK={id:eE,detector:eO,loader:eD},eI="treemap",eq=(0,c.K)(t=>/^\s*treemap/.test(t),"detector"),eR=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("8927")]).then(r.bind(r,4738));return{id:eI,diagram:t}},"loader"),eP={id:eI,detector:eq,loader:eR},ez="usecase",eW=(0,c.K)(t=>/^\s*usecase-beta(?:\s|$)/.test(t),"detector"),eN=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("2107"),r.e("7472"),r.e("9956")]).then(r.bind(r,463));return{id:ez,diagram:t}},"loader"),ej={id:ez,detector:eW,loader:eN},eH="wardley",eU=(0,c.K)(t=>/^\s*wardley-beta/i.test(t),"detector"),eY=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("2881")]).then(r.bind(r,5448));return{id:eH,diagram:t}},"loader"),eG={id:eH,detector:eU,loader:eY},eX="cynefin",eZ=(0,c.K)(t=>/^\s*cynefin-beta(?:[\s:]|$)/.test(t),"detector"),eV=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("480")]).then(r.bind(r,7475));return{id:eX,diagram:t}},"loader"),eQ={id:eX,detector:eZ,loader:eV},eJ="railroad",e0=(0,c.K)(t=>/^\s*railroad-beta/i.test(t),"detector"),e1=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("8738"),r.e("4709")]).then(r.bind(r,6871));return{id:eJ,diagram:t}},"loader"),e2={id:eJ,detector:e0,loader:e1},e5="railroadEbnf",e3=(0,c.K)(t=>/^\s*railroad-ebnf-beta/i.test(t),"detector"),e4=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("8738"),r.e("9156")]).then(r.bind(r,5567));return{id:e5,diagram:t}},"loader"),e6={id:e5,detector:e3,loader:e4},e8="railroadAbnf",e7=(0,c.K)(t=>/^\s*railroad-abnf-beta/i.test(t),"detector"),e9=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("8738"),r.e("4551")]).then(r.bind(r,7034));return{id:e8,diagram:t}},"loader"),rt={id:e8,detector:e7,loader:e9},re="railroadPeg",rr=(0,c.K)(t=>/^\s*railroad-peg-beta/i.test(t),"detector"),ri=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("8738"),r.e("2240")]).then(r.bind(r,8931));return{id:re,diagram:t}},"loader"),ro={id:re,detector:rr,loader:ri},ra=!1,rn=(0,c.K)(()=>{ra||(ra=!0,(0,l.Js)("error",tG,t=>"error"===t.toLowerCase().trim()),(0,l.Js)("---",{db:{clear:(0,c.K)(()=>{},"clear")},styles:{},renderer:{draw:(0,c.K)(()=>{},"draw")},parser:{parse:(0,c.K)(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:(0,c.K)(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),(0,l.Xd)(tQ,t6,eB),(0,l.Xd)(tt,U,et,tq,ta,tp,tm,tx,tL,tO,to,Z,t2,th,tW,tU,tw,eo,el,tv,ey,eF,eb,eu,e$,eP,e2,e6,rt,ro,eK,eG,eQ,ej))},"addDiagrams"),rs=(0,c.K)(async()=>{h.R.debug("Loading registered diagrams");let t=(await Promise.allSettled(Object.entries(l.mW).map(async([t,{detector:e,loader:r}])=>{if(r)try{(0,l.Gs)(t)}catch{try{let{diagram:t,id:i}=await r();(0,l.Js)(i,t,e)}catch(e){throw h.R.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete l.mW[t],e}}}))).filter(t=>"rejected"===t.status);if(t.length>0){for(let e of(h.R.error(`Failed to load ${t.length} external diagrams`),t))h.R.error(e);throw Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams");function rl(t,e){t.attr("role","graphics-document document"),""!==e&&t.attr("aria-roledescription",e)}function rh(t,e,r,i){if(void 0!==t.insert){if(r){let e=`chart-desc-${i}`;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(r)}if(e){let r=`chart-title-${i}`;t.attr("aria-labelledby",r),t.insert("title",":first-child").attr("id",r).text(e)}}}(0,c.K)(rl,"setA11yDiagramInfo"),(0,c.K)(rh,"addSVGa11yTitleDescription");var rc=class t{constructor(t,e,r,i,o){this.type=t,this.text=e,this.db=r,this.parser=i,this.renderer=o}static{(0,c.K)(this,"Diagram")}static async fromText(e,r={}){let i="string"==typeof e?{raw:e,cleaned:e}:e,o=(0,l.zj)(),a=(0,l.Ch)(i.cleaned,o);try{(0,l.Gs)(a)}catch{let t=(0,l.J$)(a);if(!t)throw new l.C0(`Diagram ${a} not found.`);let{id:e,diagram:r}=await t();(0,l.Js)(e,r)}let{db:n,parser:c,renderer:d,init:u}=(0,l.Gs)(a);c.parser&&(c.parser.yy=n),n.clear?.(),u?.(o),r.title&&n.setDiagramTitle?.(r.title);let p=i.cleaned;if(n.preserveCommentsWhenParsing&&i.withComments){let t=o.maxTextSize??l.UI.maxTextSize;i.withComments.length>t?h.R.warn(`Comment-preserving source exceeds maxTextSize (${i.withComments.length} > ${t}); parsing the comment-stripped text instead. Reported source positions will not account for comment lines.`):p=i.withComments}let g=(0,s.C4)(p)+"\n";return i.frontmatterLineOffset&&n.setFrontmatterLineOffset?.(i.frontmatterLineOffset),await c.parse(g),new t(a,g,n,c,d)}async render(t,e){await this.renderer.draw(this.text,t,e,this)}getParser(){return this.parser}getType(){return this.type}},rd=[],ru=(0,c.K)(()=>{rd.forEach(t=>{t()}),rd=[]},"attachFunctions"),rp=(0,c.K)(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function rg(t){let e=t.match(l.EJ);if(!e)return{text:t,metadata:{}};let r=e[1],i=r?e[2].split("\n").map(t=>t.startsWith(r)?t.slice(r.length):t).join("\n"):e[2],a=(0,o.H)(i,{schema:o.r})??{};a="object"!=typeof a||Array.isArray(a)?{}:a;let n={};return a.displayMode&&(n.displayMode=a.displayMode.toString()),a.title&&(n.title=a.title.toString()),a.config&&(n.config=a.config),{text:t.slice(e[0].length),metadata:n}}(0,c.K)(rg,"extractFrontMatter");var rf=(0,c.K)(t=>t.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,(t,e,r)=>"<"+e+r.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),ry=(0,c.K)(t=>{let{text:e,metadata:r}=rg(t),{displayMode:i,title:o,config:a={}}=r;return i&&(a.gantt||(a.gantt={}),a.gantt.displayMode=i),{title:o,config:a,text:e}},"processFrontmatter"),rm=(0,c.K)(t=>{let e=s._K.detectInit(t)??{},r=s._K.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:t})=>"wrap"===t):r?.type==="wrap"&&(e.wrap=!0),{text:(0,s.vU)(t),directive:e}},"processDirectives");function rx(t){let e=rf(t),r=ry(e),i=rm(r.text),o=(0,s.$t)(r.config,i.directive),a=i.text;return{code:{raw:t,cleaned:rp(a),withComments:a,frontmatterLineOffset:e.length>r.text.length?(e.substring(0,e.length-r.text.length).match(/\n/g)??[]).length:0},title:r.title,config:o}}function rC(t){return btoa(Array.from(new TextEncoder().encode(t),t=>String.fromCodePoint(t)).join(""))}(0,c.K)(rx,"preprocessDiagram"),(0,c.K)(rC,"toBase64");var rb=["foreignobject"],rk=["dominant-baseline"];function rw(t){let e,r=rx(t);(0,l.cL)();try{e=(0,l.Ch)(r.code.cleaned,(0,l.zj)())}catch{e=void 0}return(0,l.yj)(e),(0,l.xA)(r.config??{}),r}async function rT(t,e){rn();try{let{code:e,config:r}=rw(t);return{diagramType:(await rc.fromText(e)).type,config:r}}catch(t){if(e?.suppressErrors)return!1;throw t}finally{(0,l.yj)(void 0)}}(0,c.K)(rw,"processAndSetConfigs"),(0,c.K)(rT,"parse");var rB=(0,c.K)((t,e,r=[])=>{let i=(0,l.Df)(`{ ${r.join(" !important; ")} !important; }`);return`.${t} ${e} ${i}`},"cssImportantStyles"),rS=(0,c.K)((t,e=new Map)=>{let r=new CSSStyleSheet;if(void 0!==t.fontFamily&&r.insertRule(`:root { --mermaid-font-family: ${t.fontFamily}}`,r.cssRules.length),void 0!==t.altFontFamily&&r.insertRule(`:root { --mermaid-alt-font-family: ${t.altFontFamily}}`,r.cssRules.length),e instanceof Map){let i=(0,l.E)(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(t=>{H(t.styles)||i.forEach(e=>{r.insertRule(rB(t.id,e,t.styles),r.cssRules.length)}),H(t.textStyles)||r.insertRule(rB(t.id,"tspan",(t?.textStyles||[]).map(t=>t.replace("color","fill"))),r.cssRules.length)})}let i="";if(void 0!==t.themeCSS)if("function"==typeof r.replaceSync){let e=new CSSStyleSheet;e.replaceSync(t.themeCSS),i=(0,l.KG)(e)+"\n"}else i+=`${t.themeCSS} +`;return i+(0,l.KG)(r)},"createCssStyles"),rv=(0,c.K)((t,e)=>{var r,i,o,a,n;return S((o=function t(e,r,i,o,a,n,s,l,h){for(var c,d,u,g,f=0,y=0,m=s,x=0,S=0,v=0,A=1,P=1,z=1,W=0,N=0,j="",H=a,U=n,Y=o,G=j;P;)switch(v=N,N=O()){case 40:108!=v&&58==k(G,m-1)?(W++,G+="("):G+=I(N);break;case 41:W--,G+=")";break;case 34:case 39:case 91:G+=I(N);break;case 9:case 10:case 13:case 32:if(W>0){G+=C(N);break}G+=function(t){for(;M=D();)if(M<33)O();else break;return K(t)>2||K(M)>3?"":" "}(v);break;case 92:G+=function(t,e){for(var r;--e&&O()&&!(M<48)&&!(M>102)&&(!(M>57)||!(M<65))&&(!(M>70)||!(M<97)););return r=L+(e<6&&32==D()&&32==O()),w($,t,r)}(L-1,7);continue;case 47:switch(D()){case 42:case 47:B((c=function(t,e){for(;O();)if(t+M===57)break;else if(t+M===84&&47===D())break;return"/*"+w($,e,L-1)+"*"+C(47===t?t:O())}(O(),L),d=r,u=i,g=h,E(c,d,u,p,C(M),w(c,2,-2),0,g)),h),(5==K(v||1)||5==K(D()||1))&&T(G)&&" "!==w(G,-1,void 0)&&(G+=" ");break;default:G+="/"}break;case 123*A:l[f++]=T(G)*z;case 125*A:case 59:case 0:if(W>0&&N){G+=C(N);break}switch(N){case 0:case 125:P=0;case 59+y:-1==z&&(G=b(G,/\f/g,"")),S>0&&(T(G)-m||0===A)&&B(S>32?R(G+";",o,i,m-1,h):R(b(G," ","")+";",o,i,m-2,h),h);break;case 59:G+=";";default:if(B(Y=q(G,r,i,f,y,a,l,j,H=[],U=[],m,n),n),123===N)if(0===y)t(G,r,Y,Y,H,n,m,l,U);else{switch(x){case 99:if(110===k(G,3))break;case 108:if(97===k(G,2))break;default:y=0;case 100:case 109:case 115:}y?t(e,Y,Y,o&&B(q(e,Y,Y,0,0,a,l,j,a,H=[],m,U),U),a,U,m,l,o?H:U):t(G,Y,Y,Y,[""],U,0,l,U)}}f=y=S=0,A=z=1,j=G="",m=s;break;case 58:m=1+T(G),S=v;default:if(A<1){if(123==N)--A;else if(125==N&&0==A++&&125==(M=L>0?k($,--L):0,F--,10===M&&(F=1,_--),M))continue}switch(G+=C(N),N*A){case 38:z=y>0?1:(G+="\f",-1);break;case 44:if(W>0)break;l[f++]=(T(G)-1)*z,z=1;break;case 64:45===D()&&(G+=I(O())),x=D(),y=m=T(j=G+=function(t){for(;!K(D());)O();return w($,t,L)}(L)),N++;break;case 45:45===v&&2==T(G)&&(A=0)}}return n}("",null,null,null,[""],(i=r=`${t}{${e}}`,_=F=1,A=T($=i),L=0,r=[]),0,[0],r),$="",o),(n=(a=[(0,c.K)(function(e,r,i,o){"rule"===e.type&&Array.isArray(e.props)?e.parent&&e.parent.type===y||(e.props=e.props.map(r=>r===t&&Array.isArray(e.children)&&e.children.every(t=>"decl"===t.type&&new Set(["font-family","font-size","fill"]).has(t.props))||(r.startsWith(`${t} `)||r.startsWith(`${t}>`))&&!r.startsWith(`${t} ||`)?r:`${t} ${r}`)):e.type.startsWith("@")&&(["@media","@supports",m,"@scope","@container","@starting-style",y].includes(e.type)||(h.R.warn(`Removing unsupported at-rule ${e.type} from CSS`),e.type=p))},"addNamespace"),v]).length,function(t,e,r,i){for(var o="",s=0;s<n;s++)o+=a[s](t,e,r,i)||"";return o}))},"compileCSS"),r_=(0,c.K)((t,e,r,i)=>{let o=rS(t,r),a=(0,l.tM)(e,o,{...t.themeVariables,theme:t.theme,look:t.look},i);return rv(i,a)},"createUserStyles"),rF=(0,c.K)((t="",e,r)=>{let i=t;return r||e||(i=i.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),i=(i=(0,s.Sm)(i)).replace(/<br>/g,"<br/>")},"cleanUpSvgCode"),rA=(0,c.K)((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":"100%",i=rC(`<body style="margin:0">${t}</body>`);return`<iframe style="width:100%;height:${r};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${i}" sandbox="allow-top-navigation-by-user-activation allow-popups"> + The "iframe" tag is not supported by your browser. +</iframe>`},"putIntoIFrame"),rL=(0,c.K)((t,e,r,i,o)=>{let a=t.append("div");a.attr("id",r),i&&a.attr("style",i);let n=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return o&&n.attr("xmlns:xlink",o),n.append("g"),t},"appendDivSvgG");function rM(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}(0,c.K)(rM,"sandboxedIframe");var r$=(0,c.K)((t,e,r,i)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(i)?.remove()},"removeExistingElements"),rE=(0,c.K)(async function(t,e,r){let i,o;rn();let a=rw(e),n=a.code;e=n.cleaned;let s=(0,l.zj)();h.R.debug(s),e.length>(s?.maxTextSize??5e4)&&(n={raw:e="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",cleaned:e});let d=`#${t}`,p="i"+t,g="#"+p,f="d"+t,y="#"+f,m=(0,c.K)(()=>{let t=C?g:y,e=(0,u.Ltv)(t).node();e&&"remove"in e&&e.remove()},"removeTempElements"),x=(0,u.Ltv)(document.body),C="sandbox"===s.securityLevel,b="loose"===s.securityLevel,k=s.fontFamily;if(void 0!==r){if(r&&(r.innerHTML=""),C){let t=rM((0,u.Ltv)(r),p);(x=(0,u.Ltv)(t.nodes()[0].contentDocument.body)).node().style.margin="0"}else x=(0,u.Ltv)(r);rL(x,t,f,`font-family: ${k}`,"http://www.w3.org/1999/xlink")}else{if(r$(document,t,f,p),C){let t=rM((0,u.Ltv)(document.body),p);(x=(0,u.Ltv)(t.nodes()[0].contentDocument.body)).node().style.margin="0"}else x=(0,u.Ltv)("body");rL(x,t,f)}try{i=await rc.fromText(n,{title:a.title})}catch(t){if(s.suppressErrorRendering)throw m(),t;i=await rc.fromText("error"),o=t}let w=x.select(y).node(),T=i.type,B=w.firstChild,S=B.firstChild,v=r_(s,T,i.renderer.getClasses?.(e,i),d),_=document.createElement("style");_.innerHTML=v,B.insertBefore(_,S);try{await i.renderer.draw(e,t,"12.0.0",i)}catch(r){throw s.suppressErrorRendering?m():tY.draw(e,t,"12.0.0"),r}rI(T,x.select(`${y} svg`),i.db.getAccTitle?.(),i.db.getAccDescription?.());let F=(0,c.K)(()=>{x.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let e=x.select(y).node().innerHTML;return h.R.debug("config.arrowMarkerAbsolute",s.arrowMarkerAbsolute),e=rF(e,C,(0,l._3)(s.arrowMarkerAbsolute)),C?e=rA(e,x.select(y+" svg").node()):b||(e=P.A.sanitize(e,{ADD_TAGS:rb,ADD_ATTR:rk,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),ru(),e},"serializeSvg")();if(o)throw o;return m(),{diagramType:T,svg:F,bindFunctions:i.db.bindFunctions}},"renderDiagram"),rO=(0,c.K)(async function(t,e,r){try{return await rE(t,e,r)}finally{(0,l.yj)(void 0)}},"render");function rD(t={}){let e=(0,l.hH)({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),(0,l.wZ)(e);let r=l.sb.theme;e?.theme&&Object.hasOwn(l.H$,e.theme)?e.themeVariables=l.H$[e.theme].getThemeVariables(e.themeVariables):e&&(null!=e.theme&&"null"!==e.theme&&(e.theme=r),e.themeVariables=l.H$[r].getThemeVariables(e.themeVariables));let i="object"==typeof e?(0,l.UU)(e):(0,l.Q2)();(0,h.H)(i.logLevel),rn()}(0,c.K)(rD,"initialize");var rK=(0,c.K)((t,e={})=>{let{code:r}=rx(t);return rc.fromText(r,e)},"getDiagramFromText");function rI(t,e,r,i){rl(e,t),rh(e,r,i,e.attr("id"))}(0,c.K)(rI,"addA11yInfo");var rq=Object.freeze({render:rO,parse:rT,getDiagramFromText:rK,initialize:rD,getConfig:l.zj,setConfig:l.Nk,getSiteConfig:l.Q2,updateSiteConfig:l.B6,reset:(0,c.K)(()=>{(0,l.cL)()},"reset"),globalReset:(0,c.K)(()=>{(0,l.cL)(l.sb)},"globalReset"),defaultConfig:l.sb});(0,h.H)((0,l.zj)().logLevel),(0,l.cL)((0,l.zj)());var rR=(0,c.K)((t,e,r)=>{h.R.warn(t),(0,s.dq)(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),rP=(0,c.K)(async function(t={querySelector:".mermaid"}){try{await rz(t)}catch(e){if((0,s.dq)(e)&&h.R.error(e.str),rJ.parseError&&rJ.parseError(e),!t.suppressErrors)throw h.R.error("Use the suppressErrors option to suppress these errors"),e}},"run"),rz=(0,c.K)(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let i,o,a=rq.getConfig();if(h.R.debug(`${!t?"No ":""}Callback function found`),r)i=r;else if(e)i=document.querySelectorAll(e);else throw Error("Nodes and querySelector are both undefined");h.R.debug(`Found ${i.length} diagrams`),a?.startOnLoad!==void 0&&(h.R.debug("Start On Load: "+a?.startOnLoad),rq.updateSiteConfig({startOnLoad:a?.startOnLoad}));let n=new s._K.InitIDGenerator(a.deterministicIds,a.deterministicIDSeed),l=[];for(let e of Array.from(i)){if(h.R.info("Rendering diagram: "+e.id),e.getAttribute("data-processed"))continue;e.setAttribute("data-processed","true");let r=`mermaid-${n.next()}`;o=e.innerHTML,o=(0,d.T)(s._K.entityDecode(o)).trim().replace(/<br\s*\/?>/gi,"<br/>");let i=s._K.detectInit(o);i&&h.R.debug("Detected early reinit: ",i);try{let{svg:i,bindFunctions:a}=await rV(r,o,e);e.innerHTML=i,t&&await t(r),a&&a(e)}catch(t){rR(t,l,rJ.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),rW=(0,c.K)(function(t){rq.initialize(t)},"initialize"),rN=(0,c.K)(async function(t,e,r){h.R.warn("mermaid.init is deprecated. Please use run instead."),t&&rW(t);let i={postRenderCallback:r,querySelector:".mermaid"};"string"==typeof e?i.querySelector=e:e&&(e instanceof HTMLElement?i.nodes=[e]:i.nodes=e),await rP(i)},"init"),rj=(0,c.K)(async(t,{lazyLoad:e=!0}={})=>{rn(),(0,l.Xd)(...t),!1===e&&await rs()},"registerExternalDiagrams"),rH=(0,c.K)(function(){if(rJ.startOnLoad){let{startOnLoad:t}=rq.getConfig();t&&rJ.run().catch(t=>h.R.error("Mermaid failed to initialize",t))}},"contentLoaded");"u">typeof document&&window.addEventListener("load",rH,!1);var rU=(0,c.K)(function(t){rJ.parseError=t},"setParseErrorHandler"),rY=[],rG=!1,rX=(0,c.K)(async()=>{if(!rG){for(rG=!0;rY.length>0;){let t=rY.shift();if(t)try{await t()}catch(t){h.R.error("Error executing queue",t)}}rG=!1}},"executeQueue"),rZ=(0,c.K)(async(t,e)=>new Promise((r,i)=>{let o=(0,c.K)(()=>new Promise((o,a)=>{rq.parse(t,e).then(t=>{o(t),r(t)},t=>{h.R.error("Error parsing",t),rJ.parseError?.(t),a(t),i(t)})}),"performCall");rY.push(o),rX().catch(i)}),"parse"),rV=(0,c.K)((t,e,r)=>new Promise((i,o)=>{let a=(0,c.K)(()=>new Promise((a,n)=>{rq.render(t,e,r).then(t=>{a(t),i(t)},t=>{h.R.error("Error parsing",t),rJ.parseError?.(t),n(t),o(t)})}),"performCall");rY.push(a),rX().catch(o)}),"render"),rQ=(0,c.K)(()=>Object.keys(l.mW).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),rJ={startOnLoad:!0,mermaidAPI:rq,parse:rZ,render:rV,init:rN,run:rP,registerExternalDiagrams:rj,registerLayoutLoaders:a.sO,initialize:rW,parseError:void 0,contentLoaded:rH,setParseErrorHandler:rU,detectType:l.Ch,registerIconPacks:n.pC,getRegisteredDiagramsMetadata:rQ},r0=rJ},8908(t,e,r){"use strict";function i(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var i=Array.from("string"==typeof t?[t]:t);i[i.length-1]=i[i.length-1].replace(/\r?\n([\t ]*)$/,"");var o=i.reduce(function(t,e){var r=e.match(/\n([\t ]+|(?!\s).)/g);return r?t.concat(r.map(function(t){var e,r;return null!=(r=null==(e=t.match(/[\t ]/g))?void 0:e.length)?r:0})):t},[]);if(o.length){var a=RegExp("\n[ ]{".concat(Math.min.apply(Math,o),"}"),"g");i=i.map(function(t){return t.replace(a,"\n")})}i[0]=i[0].replace(/^\r?\n/,"");var n=i[0];return e.forEach(function(t,e){var r=n.match(/(?:^|\n)( *)$/),o=r?r[1]:"",a=t;"string"==typeof t&&t.includes("\n")&&(a=String(t).split("\n").map(function(t,e){return 0===e?t:"".concat(o).concat(t)}).join("\n")),n+=a+i[e+1]}),n}r.d(e,{T:()=>i})}}]); \ No newline at end of file diff --git a/assets/js/13e6baf5.1ded3d92.js b/assets/js/13e6baf5.1ded3d92.js new file mode 100644 index 0000000..5832cbd --- /dev/null +++ b/assets/js/13e6baf5.1ded3d92.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7599"],{3118(e){e.exports=JSON.parse('{"metadata":{"permalink":"/SqlParserX/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/1491.cb46ae3f.js b/assets/js/1491.cb46ae3f.js new file mode 100644 index 0000000..49b05a8 --- /dev/null +++ b/assets/js/1491.cb46ae3f.js @@ -0,0 +1,27 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1491"],{5350(e,t,i){i.d(t,{m:()=>n});var r=i(6827),n=class{constructor(e){this.init=e,this.records=this.init()}static{(0,r.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},7454(e,t,i){function r(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}i.d(t,{S:()=>r}),(0,i(6827).K)(r,"populateCommonDb")},4638(e,t,i){i.d(t,{diagram:()=>j});var r=i(5350),n=i(7454),o=i(4924),s=i(2217),a=i(6348),l=i(1177),d=i(1293),c=i(6827),h=i(8731),p=/[\u2500\u2501\u2502\u2503\u2514\u2517\u251c\u2523]/,f=/[\u2514\u2517\u251c\u2523]/,g=/[\u2500\u2501]/,u=/^[\s\u2502\u2503]+$/,w=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,x=/^\s*%%/;function m(e){return e.some(e=>p.test(e))}function b(e){for(let t of e){let e=f.exec(t);if(e?.index&&e.index>0)return e.index}return 4}function y(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,i)=>{let r=parseInt(i,10),n=t.get(r);return n?`line ${n}`:e})}function $(e){let t=e.split("\n"),i=new Map,r=-1;for(let[e,i]of t.entries())if("treeView-beta"===i.trim()){r=e;break}if(-1===r)return{text:e,lineMap:i};let n=[];for(let e=r+1;e<t.length;e++){let i=t[e];!(""===i.trim()||x.test(i)||w.test(i))&&(u.test(i)||n.push(i.replace(/\t/g," ")))}if(!m(n))return{text:e,lineMap:i};let o=b(n),s=[],a=0;for(let e=0;e<=r;e++)s.push(t[e]),a++,i.set(a,e+1);for(let e=r+1;e<t.length;e++){let r=t[e],n=r.trim(),l=e+1;if(""===n||x.test(r)||w.test(r)){s.push(r),a++,i.set(a,l);continue}if(u.test(r))continue;let d=r.replace(/\t/g," "),c=f.exec(d);if(c?.index!==void 0){let e=c.index,t=Math.round(e/o)+1,r=e+1;for(;r<d.length&&g.test(d[r]);)r++;for(;r<d.length&&" "===d[r];)r++;let n=d.slice(r).trimEnd();if(!n)throw Error(`Line ${l}: Empty node \u2014 expected a filename or directory name after the box-drawing prefix`);let h=" ".repeat(t);s.push(h+n),a++,i.set(a,l)}else if(/^[\s\u2500\u2501\u2502\u2503\u2514\u2517\u251c\u2523]+$/.test(d))continue;else if(p.test(d))s.push(r),a++,i.set(a,l);else if(/^\s+/.test(d))throw Error(`Line ${l}: Unexpected indentation without box-drawing characters. In box-drawing format, use \u251C\u2500\u2500 or \u2514\u2500\u2500 prefixes for indented nodes.`);else s.push(r),a++,i.set(a,l)}return{text:s.join("\n"),lineMap:i}}(0,c.K)(m,"isBoxDrawingFormat"),(0,c.K)(b,"inferSegmentWidth"),(0,c.K)(y,"remapErrorLines"),(0,c.K)($,"preprocessBoxDrawing");var k=new r.m(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),K=(0,c.K)(()=>{k.reset(),(0,l.IU)()},"clear"),v=(0,c.K)(()=>k.records.stack[0],"getRoot"),V=(0,c.K)(()=>k.records.cnt,"getCount"),B=l.UI.treeView,C=(0,c.K)(()=>(0,a.$t)(B,(0,l.zj)().treeView),"getConfig"),I={clear:K,addNode:(0,c.K)((e,t,i,r,n,o)=>{for(;e<=k.records.stack[k.records.stack.length-1].level;)k.records.stack.pop();let s={id:k.records.cnt++,level:e,name:t,nodeType:i,icon:n,cssClass:r,description:o,children:[]};k.records.stack[k.records.stack.length-1].children.push(s),k.records.stack.push(s)},"addNode"),getRoot:v,getCount:V,getConfig:C,getAccTitle:l.iN,getAccDescription:l.m7,getDiagramTitle:l.ab,setAccDescription:l.EI,setAccTitle:l.SV,setDiagramTitle:l.ke},T=(0,c.K)(e=>{for(let t of((0,n.S)(e,I),e.nodes)){let e="number"==typeof t.indent?t.indent:0,i=t.name,r=i.endsWith("/");r&&(i=i.slice(0,-1));let n=r?"directory":"file",o=t.classAnnotation||void 0,s=t.iconAnnotation,a=void 0!==s?s||"none":void 0,d=t.descAnnotation||void 0,c=d?(0,l.jZ)(d,(0,l.zj)()):void 0;I.addNode(e,i,n,o,a,c)}},"populate"),D={parse:(0,c.K)(async e=>{let{text:t,lineMap:i}=$(e);try{let e=await (0,h.qg)("treeView",t);d.R.debug(e),T(e)}catch(e){throw i.size>0&&e instanceof Error&&(e.message=y(e.message,i)),e}},"parse")},A={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function E(e,t){let i=t?.filenameIcons?.[e];if(i)return i;let r=e.lastIndexOf(".");if(r>0){let i=e.substring(r).toLowerCase(),n=t?.extensionIcons;return n?.[i]??n?.[i.slice(1)]}}function M(e,t){return e.includes(":")?e:e in A.icons||!t?`${A.prefix}:${e}`:`${t}:${e}`}function N(e,t){if("none"!==e.icon){if(e.icon)return M(e.icon,t.defaultIconPack);if(t.showIcons){if("file"===e.nodeType){let i=E(e.name,t);if("none"===i)return;if(i)return M(i,t.defaultIconPack)}return`${A.prefix}:${"directory"===e.nodeType?"folder":"file"}`}}}(0,c.K)(E,"detectIcon"),(0,c.K)(M,"qualifyIcon"),(0,c.K)(N,"getNodeIcon"),(0,s.pC)([{name:A.prefix,icons:A}]);var z=(0,c.K)(async(e,t)=>{let i=[],r=(0,c.K)(e=>{let n=N(e,t);n&&i.push({icon:n,node:e}),e.children.forEach(r)},"collect");return r(e),new Map((await Promise.all(i.map(async({icon:e,node:t})=>({id:t.id,svg:await (0,s.WY)(e,{height:14,width:14})})))).map(({id:e,svg:t})=>[e,t]))},"resolveNodeIcons"),S=(0,c.K)((e,t,i,r,n,o)=>{let s=r.append("g"),a="treeView-node-label";"directory"===i.nodeType&&(a+=" treeView-node-dir"),i.cssClass&&(a+=` ${i.cssClass}`);let l=N(i,n),d=void 0!==l;l&&s.append("g").attr("class","treeView-node-icon").attr("transform",`translate(${e+n.paddingX}, ${t+n.paddingY})`).html(o.get(i.id)??"");let c=s.append("text").text(i.name).attr("dominant-baseline","middle").attr("class",a),{height:h,width:p}=c.node().getBBox(),f=h+2*n.paddingY,g=e+n.paddingX+18*!!d;c.attr("x",g),c.attr("y",t+f/2);let u=g+p;return i.BBox={x:e,y:t,width:p+2*n.paddingX+18*!!d,height:f},i.cssClass?.split(/\s+/).includes("highlight")&&s.insert("rect",":first-child").attr("x",e).attr("y",t+1).attr("width",0).attr("height",f-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:i,nodeGroup:s,labelRightEdge:u,centerY:t+f/2}},"positionLabel"),X=(0,c.K)((e,t,i,r,n,o)=>e.append("line").attr("x1",t).attr("y1",i).attr("x2",r).attr("y2",n).attr("stroke-width",o).attr("class","treeView-node-line"),"positionLine"),L=(0,c.K)((e,t,i,r)=>{let n=0,o=0,s=[],a=(0,c.K)((e,t,i,a)=>{let l=a*(i.rowIndent+i.paddingX),d=S(l,n,t,e,i,r);s.push(d);let{height:c,width:h}=t.BBox;X(e,l-i.rowIndent,n+c/2,l,n+c/2,i.lineThickness),o=Math.max(o,l+h),n+=c},"drawNode"),l=(0,c.K)((t,r=0)=>{a(e,t,i,r),t.children.forEach(e=>{l(e,r+1)});let{x:n,y:o,height:s}=t.BBox;if(t.children.length){let{y:r,height:a}=t.children[t.children.length-1].BBox;X(e,n+i.paddingX,o+s,n+i.paddingX,r+a/2+i.lineThickness/2,i.lineThickness)}},"processNode");l(t);let d=s.filter(e=>e.node.description);if(d.length>0){let e=Math.max(...s.map(e=>e.labelRightEdge))+16;for(let t of d){let r=t.nodeGroup.append("text").text(t.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",e).attr("y",t.centerY).node().getBBox();o=Math.max(o,e+r.width+i.paddingX)}}for(let e of s)if(e.node.cssClass?.split(/\s+/).includes("highlight")){let t=e.nodeGroup.select(".treeView-highlight-bg");if(!t.empty()){let i=o-e.node.BBox.x+8;t.attr("width",i),o=Math.max(o,e.node.BBox.x+i+2)}}return{totalHeight:n,totalWidth:o}},"drawTree"),R=(0,c.K)(async(e,t,i,r)=>{d.R.debug("Rendering treeView diagram\n"+e);let n=r.db,s=n.getRoot(),a=n.getConfig(),c=(0,o.D)(t),h=c.append("g");h.attr("class","tree-view");let p=await z(s,a),{totalHeight:f,totalWidth:g}=L(h,s,a,p);c.attr("viewBox",`-${a.lineThickness/2} 0 ${g} ${f}`),(0,l.a$)(c,f,g,a.useMaxWidth)},"draw"),Y={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},j={db:I,renderer:{draw:R},parser:D,styles:(0,c.K)(({treeView:e})=>{let{labelFontSize:t,labelColor:i,lineColor:r,iconColor:n,descriptionColor:o,highlightBg:s,highlightStroke:l}=(0,a.$t)(Y,e);return` + .treeView-node-label { + font-size: ${t}; + fill: ${i}; + white-space: pre; + } + .treeView-node-dir { + font-weight: bold; + } + .treeView-node-line { + stroke: ${r}; + } + .treeView-node-icon { + color: ${n}; + } + .treeView-node-description { + font-size: ${t}; + fill: ${o}; + font-style: italic; + white-space: pre; + } + .treeView-highlight-bg { + fill: ${s}; + stroke: ${l}; + stroke-width: 1; + } + `},"styles")}}}]); \ No newline at end of file diff --git a/assets/js/1567.9f44ced9.js b/assets/js/1567.9f44ced9.js new file mode 100644 index 0000000..ea9e6ad --- /dev/null +++ b/assets/js/1567.9f44ced9.js @@ -0,0 +1,8 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1567"],{5698(e,r,t){t.d(r,{diagram:()=>l});var s=t(8312);t(4918),t(6755),t(5869),t(841),t(2391),t(3247),t(2735),t(5616),t(6163),t(7827),t(3002),t(739),t(6320),t(2217),t(2941),t(6348),t(1177),t(1293);var a=(0,t(6827).K)(e=>`${(0,s.tM)(e)} + .swimlane.cluster:not([data-color-id]) rect { + stroke: ${e.clusterBorder} !important; + } + [data-look="neo"].cluster rect { + filter: none; + } +`,"getStyles"),l=(0,s.ur)({styles:a})}}]); \ No newline at end of file diff --git a/assets/js/17896441.06353295.js b/assets/js/17896441.06353295.js new file mode 100644 index 0000000..f6c2b41 --- /dev/null +++ b/assets/js/17896441.06353295.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["106"],{1250(e,n,t){t.d(n,{A:()=>c});var s=t(4848);t(6540);var i=t(4164),r=t(3276),l=t(8287),a=t(7444);function o({className:e}){return(0,s.jsx)(a.A,{type:"caution",title:(0,s.jsx)(r.Rc,{}),className:(0,i.A)(e,l.G.common.unlistedBanner),children:(0,s.jsx)(r.Uh,{})})}function c(e){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.AE,{}),(0,s.jsx)(o,{...e})]})}},7502(e,n,t){t.d(n,{A:()=>d});var s=t(4848);t(6540);var i=t(4164),r=t(3276),l=t(8287),a=t(7444);function o({className:e}){return(0,s.jsx)(a.A,{type:"caution",title:(0,s.jsx)(r.Yh,{}),className:(0,i.A)(e,l.G.common.draftBanner),children:(0,s.jsx)(r.TT,{})})}var c=t(1250);function d({metadata:e}){let{unlisted:n,frontMatter:t}=e;return(0,s.jsxs)(s.Fragment,{children:[(n||t.unlisted)&&(0,s.jsx)(c.A,{}),t.draft&&(0,s.jsx)(o,{})]})}},280(e,n,t){t.r(n),t.d(n,{default:()=>ee});var s=t(4848),i=t(6540),r=t(4308),l=t(2260);let a=i.createContext(null);function o({children:e,content:n}){let t=(0,i.useMemo)(()=>({metadata:n.metadata,frontMatter:n.frontMatter,assets:n.assets,contentTitle:n.contentTitle,toc:n.toc}),[n]);return(0,s.jsx)(a.Provider,{value:t,children:e})}function c(){let e=(0,i.useContext)(a);if(null===e)throw new l.dV("DocProvider");return e}function d(){let{metadata:e,frontMatter:n,assets:t}=c();return(0,s.jsx)(r.be,{title:e.title,description:e.description,keywords:n.keywords,image:t.image??n.image})}var u=t(4164),h=t(3741),m=t(568),b=t(7174);function x(e){let{className:n,previous:t,next:i}=e;return(0,s.jsxs)("nav",{className:(0,u.A)(n,"pagination-nav"),"aria-label":(0,m.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,s.jsx)(b.A,{...t,subLabel:(0,s.jsx)(m.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),i&&(0,s.jsx)(b.A,{...i,subLabel:(0,s.jsx)(m.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function v(){let{metadata:e}=c();return(0,s.jsx)(x,{className:"docusaurus-mt-lg",previous:e.previous,next:e.next})}var f=t(898),j=t(5310),p=t(698),g=t(8287),A=t(2086),N=t(921);let _={unreleased:function({siteTitle:e,versionMetadata:n}){return(0,s.jsx)(m.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:e,versionLabel:(0,s.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function({siteTitle:e,versionMetadata:n}){return(0,s.jsx)(m.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:e,versionLabel:(0,s.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function L(e){let n=_[e.versionMetadata.banner];return(0,s.jsx)(n,{...e})}function T({versionLabel:e,to:n,onClick:t}){return(0,s.jsx)(m.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:e,latestVersionLink:(0,s.jsx)("b",{children:(0,s.jsx)(j.A,{to:n,onClick:t,children:(0,s.jsx)(m.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function k({className:e,versionMetadata:n}){let{siteConfig:{title:t}}=(0,f.A)(),{pluginId:i}=(0,p.vT)({failfast:!0}),{savePreferredVersionName:r}=(0,A.g1)(i),{latestDocSuggestion:l,latestVersionSuggestion:a}=(0,p.HW)(i),o=l??a.docs.find(e=>e.id===a.mainDocId);return(0,s.jsxs)("div",{className:(0,u.A)(e,g.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,s.jsx)("div",{children:(0,s.jsx)(L,{siteTitle:t,versionMetadata:n})}),(0,s.jsx)("div",{className:"margin-top--md",children:(0,s.jsx)(T,{versionLabel:a.label,to:o.path,onClick:()=>r(a.name)})})]})}function C({className:e}){let n=(0,N.r)();return n.banner?(0,s.jsx)(k,{className:e,versionMetadata:n}):null}function y({className:e}){let n=(0,N.r)();return n.badge?(0,s.jsx)("span",{className:(0,u.A)(e,g.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,s.jsx)(m.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}var w=t(4999),B=t(7410);function E(){let{metadata:e}=c(),{editUrl:n,lastUpdatedAt:t,lastUpdatedBy:i,tags:r}=e,l=r.length>0,a=!!(n||t||i);return l||a?(0,s.jsxs)("footer",{className:(0,u.A)(g.G.docs.docFooter,"docusaurus-mt-lg"),children:[l&&(0,s.jsx)("div",{className:(0,u.A)("row margin-top--sm",g.G.docs.docFooterTagsRow),children:(0,s.jsx)("div",{className:"col",children:(0,s.jsx)(w.A,{tags:r})})}),a&&(0,s.jsx)(B.A,{className:(0,u.A)("margin-top--sm",g.G.docs.docFooterEditMetaRow),editUrl:n,lastUpdatedAt:t,lastUpdatedBy:i})]}):null}var H=t(9510),M=t(254);function V({collapsed:e,...n}){return(0,s.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn","tocCollapsibleButton_TO0P",!e&&"tocCollapsibleButtonExpanded_MG3E",n.className),children:(0,s.jsx)(m.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}function I({toc:e,className:n,minHeadingLevel:t,maxHeadingLevel:i}){let{collapsed:r,toggleCollapsed:l}=(0,H.u)({initialState:!0});return(0,s.jsxs)("div",{className:(0,u.A)("tocCollapsible_ETCw",!r&&"tocCollapsibleExpanded_sAul",n),children:[(0,s.jsx)(V,{collapsed:r,onClick:l}),(0,s.jsx)(H.N,{lazy:!0,className:"tocCollapsibleContent_vkbj",collapsed:r,children:(0,s.jsx)(M.A,{toc:e,minHeadingLevel:t,maxHeadingLevel:i})})]})}function O(){let{toc:e,frontMatter:n}=c();return(0,s.jsx)(I,{toc:e,minHeadingLevel:n.toc_min_heading_level,maxHeadingLevel:n.toc_max_heading_level,className:(0,u.A)(g.G.docs.docTocMobile,"tocMobile_ITEo")})}var G=t(3242);function R(){let{toc:e,frontMatter:n}=c();return(0,s.jsx)(G.A,{toc:e,minHeadingLevel:n.toc_min_heading_level,maxHeadingLevel:n.toc_max_heading_level,className:g.G.docs.docTocDesktop})}var F=t(2072),U=t(4743);function D({children:e}){let n=function(){let{metadata:e,frontMatter:n,contentTitle:t}=c();return n.hide_title||void 0!==t?null:e.title}();return(0,s.jsxs)("div",{className:(0,u.A)(g.G.docs.docMarkdown,"markdown"),children:[n&&(0,s.jsx)("header",{children:(0,s.jsx)(F.A,{as:"h1",children:n})}),(0,s.jsx)(U.A,{children:e})]})}var S=t(8260),q=t(9209),$=t(6497);function z(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}function P(){let e=(0,$.Ay)("/");return(0,s.jsx)("li",{className:"breadcrumbs__item",children:(0,s.jsx)(j.A,{"aria-label":(0,m.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,s.jsx)(z,{className:"breadcrumbHomeIcon_YNFT"})})})}var Y=t(3572);function J(e){let n=function({breadcrumbs:e}){let{siteConfig:n}=(0,f.A)();return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:e.filter(e=>e.href).map((e,t)=>({"@type":"ListItem",position:t+1,name:e.label,item:`${n.url}${e.href}`}))}}({breadcrumbs:e.breadcrumbs});return(0,s.jsx)(Y.A,{children:(0,s.jsx)("script",{type:"application/ld+json",children:JSON.stringify(n)})})}function W({children:e,href:n,isLast:t}){let i="breadcrumbs__link";return t?(0,s.jsx)("span",{className:i,children:e}):n?(0,s.jsx)(j.A,{className:i,href:n,children:(0,s.jsx)("span",{children:e})}):(0,s.jsx)("span",{className:i,children:e})}function Z({children:e,active:n}){return(0,s.jsx)("li",{className:(0,u.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:e})}function K(){let e=(0,S.OF)(),n=(0,q.Dt)();return e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(J,{breadcrumbs:e}),(0,s.jsx)("nav",{className:(0,u.A)(g.G.docs.docBreadcrumbs,"breadcrumbsContainer_Z_bl"),"aria-label":(0,m.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,s.jsxs)("ul",{className:"breadcrumbs",children:[n&&(0,s.jsx)(P,{}),e.map((n,t)=>{let i=t===e.length-1,r="category"===n.type&&n.linkUnlisted?void 0:n.href;return(0,s.jsx)(Z,{active:i,children:(0,s.jsx)(W,{href:r,isLast:i,children:n.label})},t)})]})})]}):null}var Q=t(7502);function X({children:e}){let n=function(){let{frontMatter:e,toc:n}=c(),t=(0,h.l)(),i=e.hide_table_of_contents,r=!i&&n.length>0;return{hidden:i,mobile:r?(0,s.jsx)(O,{}):void 0,desktop:r&&("desktop"===t||"ssr"===t)?(0,s.jsx)(R,{}):void 0}}(),{metadata:t}=c();return(0,s.jsxs)("div",{className:"row",children:[(0,s.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&"docItemCol_VOVn"),children:[(0,s.jsx)(Q.A,{metadata:t}),(0,s.jsx)(C,{}),(0,s.jsxs)("div",{className:"docItemContainer_Djhp",children:[(0,s.jsxs)("article",{children:[(0,s.jsx)(K,{}),(0,s.jsx)(y,{}),n.mobile,(0,s.jsx)(D,{children:e}),(0,s.jsx)(E,{})]}),(0,s.jsx)(v,{})]})]}),n.desktop&&(0,s.jsx)("div",{className:"col col--3",children:n.desktop})]})}function ee(e){let n=`docs-doc-id-${e.content.metadata.id}`,t=e.content;return(0,s.jsx)(o,{content:e.content,children:(0,s.jsxs)(r.e3,{className:n,children:[(0,s.jsx)(d,{}),(0,s.jsx)(X,{children:(0,s.jsx)(t,{})})]})})}},3242(e,n,t){t.d(n,{A:()=>l});var s=t(4848);t(6540);var i=t(4164),r=t(254);function l({className:e,...n}){return(0,s.jsx)("div",{className:(0,i.A)("tableOfContents_bqdL","thin-scrollbar",e),children:(0,s.jsx)(r.A,{...n,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},254(e,n,t){t.d(n,{A:()=>c});var s=t(4848),i=t(6540),r=t(1022);function l(e){let n=e.getBoundingClientRect();return n.top===n.bottom?l(e.parentNode):n}var a=t(5310);let o=i.memo(function e({toc:n,className:t,linkClassName:i,isChild:r}){return n.length?(0,s.jsx)("ul",{className:r?void 0:t,children:n.map(n=>(0,s.jsxs)("li",{children:[(0,s.jsx)(a.A,{to:`#${n.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:n.value}}),(0,s.jsx)(e,{isChild:!0,toc:n.children,className:t,linkClassName:i})]},n.id))}):null});function c({toc:e,className:n="table-of-contents table-of-contents__left-border",linkClassName:t="table-of-contents__link",linkActiveClassName:a,minHeadingLevel:d,maxHeadingLevel:u,...h}){var m;let b,x,v=(0,r.p)(),f=d??v.tableOfContents.minHeadingLevel,j=u??v.tableOfContents.maxHeadingLevel,p=function({toc:e,minHeadingLevel:n,maxHeadingLevel:t}){return(0,i.useMemo)(()=>{let s,i,r;return function e({toc:n,minHeadingLevel:t,maxHeadingLevel:s}){return n.flatMap(n=>{let i=e({toc:n.children,minHeadingLevel:t,maxHeadingLevel:s});return n.level>=t&&n.level<=s?[{...n,children:i}]:i})}({toc:(s=e.map(e=>({...e,parentIndex:-1,children:[]})),i=Array(7).fill(-1),s.forEach((e,n)=>{let t=i.slice(2,e.level);e.parentIndex=Math.max(...t),i[e.level]=n}),r=[],s.forEach(e=>{let{parentIndex:n,...t}=e;n>=0?s[n].children.push(t):r.push(t)}),r),minHeadingLevel:n,maxHeadingLevel:t})},[e,n,t])}({toc:e,minHeadingLevel:f,maxHeadingLevel:j});return m=(0,i.useMemo)(()=>{if(t&&a)return{linkClassName:t,linkActiveClassName:a,minHeadingLevel:f,maxHeadingLevel:j}},[t,a,f,j]),b=(0,i.useRef)(void 0),x=function(){let e=(0,i.useRef)(0),{navbar:{hideOnScroll:n}}=(0,r.p)();return(0,i.useEffect)(()=>{e.current=n?0:document.querySelector(".navbar").clientHeight},[n]),e}(),(0,i.useEffect)(()=>{if(!m)return()=>{};let{linkClassName:e,linkActiveClassName:n,minHeadingLevel:t,maxHeadingLevel:s}=m;function i(){let i=Array.from(document.getElementsByClassName(e)),r=function(e,{anchorTopOffset:n}){let t=e.find(e=>l(e).top>=n);if(t){var s;return(s=l(t)).top>0&&s.bottom<window.innerHeight/2?t:e[e.indexOf(t)-1]??null}return e[e.length-1]??null}(function({minHeadingLevel:e,maxHeadingLevel:n}){let t=[];for(let s=e;s<=n;s+=1)t.push(`h${s}.anchor`);return Array.from(document.querySelectorAll(t.join()))}({minHeadingLevel:t,maxHeadingLevel:s}),{anchorTopOffset:x.current}),a=i.find(e=>r&&r.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));i.forEach(e=>{e===a?(b.current&&b.current!==e&&b.current.classList.remove(n),e.classList.add(n),b.current=e):e.classList.remove(n)})}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}},[m,x]),(0,s.jsx)(o,{toc:p,className:n,linkClassName:t,...h})}},3276(e,n,t){t.d(n,{AE:()=>o,Rc:()=>l,TT:()=>d,Uh:()=>a,Yh:()=>c});var s=t(4848);t(6540);var i=t(568),r=t(3572);function l(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function a(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,s.jsx)(r.A,{children:(0,s.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/assets/js/181.90e2d56b.js b/assets/js/181.90e2d56b.js new file mode 100644 index 0000000..9b352f0 --- /dev/null +++ b/assets/js/181.90e2d56b.js @@ -0,0 +1,115 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["181"],{6180(t,e,n){n.d(e,{diagram:()=>tn});var i=n(4924),r=n(2941),a=n(6348),s=n(1177),o=n(1293),l=n(6827),c=n(7829),h=n(4682),d=n(8041),u=n(5263),p=function(){var t=(0,l.K)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],a=[1,15],s=[1,16],o=[1,19],c=[1,20],h={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:(0,l.K)(function(t,e,n,i,r,a,s){var o=a.length-1;switch(r){case 1:return a[o-1];case 3:i.setDirection("LR");break;case 4:i.setDirection("TD");break;case 5:case 9:case 10:this.$=[];break;case 6:a[o-1].push(a[o]),this.$=a[o-1];break;case 7:case 8:this.$=a[o];break;case 11:i.getCommonDb().setDiagramTitle(a[o].substr(6)),this.$=a[o].substr(6);break;case 12:this.$=a[o].trim(),i.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=a[o].trim(),i.getCommonDb().setAccDescription(this.$);break;case 15:i.addSection(a[o].substr(8)),this.$=a[o].substr(8);break;case 18:i.addTask(a[o],0,""),this.$=a[o];break;case 19:i.addEvent(a[o].substr(2)),this.$=a[o]}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:a,20:s,21:17,22:18,23:o,24:c},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:n,15:i,17:r,19:a,20:s,21:17,22:18,23:o,24:c},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:(0,l.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,l.K)(function(t){var e=this,n=[0],i=[],r=[null],a=[],s=this.table,o="",c=0,h=0,d=0,u=a.slice.call(arguments,1),p=Object.create(this.lexer),g={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g[f]=this.yy[f]);p.setInput(t,g),g.lexer=p,g.parser=this,void 0===p.yylloc&&(p.yylloc={});var y=p.yylloc;a.push(y);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.parseError?this.parseError=g.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){n.length=n.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,l.K)(b,"lex");for(var x,k,_,w,$,v,K,S,E,R={};;){if(_=n[n.length-1],this.defaultActions[_]?w=this.defaultActions[_]:(null==x&&(x=b()),w=s[_]&&s[_][x]),void 0===w||!w.length||!w[0]){var I="";for(v in E=[],s[_])this.terminals_[v]&&v>2&&E.push("'"+this.terminals_[v]+"'");I=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(I,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:y,expected:E})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+x);switch(w[0]){case 1:n.push(x),r.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,k?(x=k,k=null):(h=p.yyleng,o=p.yytext,c=p.yylineno,y=p.yylloc,d>0&&d--);break;case 2:if(K=this.productions_[w[1]][1],R.$=r[r.length-K],R._$={first_line:a[a.length-(K||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(K||1)].first_column,last_column:a[a.length-1].last_column},m&&(R._$.range=[a[a.length-(K||1)].range[0],a[a.length-1].range[1]]),void 0!==($=this.performAction.apply(R,[o,h,c,g,w[1],r,a].concat(u))))return $;K&&(n=n.slice(0,-1*K*2),r=r.slice(0,-1*K),a=a.slice(0,-1*K)),n.push(this.productions_[w[1]][0]),r.push(R.$),a.push(R._$),S=s[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0},"parse")};function d(){this.yy={}}return h.lexer={EOF:1,parseError:(0,l.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,l.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var 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:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K)(function(t,e){var n,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,i,r=this._currentRules(),a=0;a<r.length;a++)if((n=this._input.match(this.rules[r[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,e,n,i){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 13;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}},(0,l.K)(d,"Parser"),d.prototype=h,h.Parser=d,new d}();p.parser=p;var g={};(0,l.V)(g,{addEvent:()=>I,addSection:()=>K,addTask:()=>R,addTaskOrg:()=>T,clear:()=>w,default:()=>L,getCommonDb:()=>_,getDirection:()=>v,getSections:()=>S,getTasks:()=>E,setDirection:()=>$});var f="",y=0,m="LR",b=[],x=[],k=[],_=(0,l.K)(()=>s.Wt,"getCommonDb"),w=(0,l.K)(function(){b.length=0,x.length=0,f="",k.length=0,m="LR",(0,s.IU)()},"clear"),$=(0,l.K)(function(t){m=t},"setDirection"),v=(0,l.K)(function(){return m},"getDirection"),K=(0,l.K)(function(t){f=t,b.push(t)},"addSection"),S=(0,l.K)(function(){return b},"getSections"),E=(0,l.K)(function(){let t=M(),e=0;for(;!t&&e<100;)t=M(),e++;return x.push(...k),x},"getTasks"),R=(0,l.K)(function(t,e,n){let i={id:y++,section:f,type:f,task:t,score:e||0,events:n?[n]:[]};k.push(i)},"addTask"),I=(0,l.K)(function(t){k.find(t=>t.id===y-1).events.push(t)},"addEvent"),T=(0,l.K)(function(t){let e={section:f,type:f,description:t,task:t,classes:[]};x.push(e)},"addTaskOrg"),M=(0,l.K)(function(){let t=(0,l.K)(function(t){return k[t].processed},"compileTask"),e=!0;for(let[n,i]of k.entries())t(n),e=e&&i.processed;return e},"compileTasks"),L={clear:w,getCommonDb:_,getDirection:v,setDirection:$,addSection:K,getSections:S,getTasks:E,addTask:R,addTaskOrg:T,addEvent:I},C=0,H=(0,l.K)(function(t,e){let n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},"drawRect"),A=(0,l.K)(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");function r(t){let n=(0,c.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function a(t){let n=(0,c.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function s(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return i.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,l.K)(r,"smile"),(0,l.K)(a,"sad"),(0,l.K)(s,"ambivalent"),e.score>3?r(i):e.score<3?a(i):s(i),n},"drawFace"),D=(0,l.K)(function(t,e){let n=e.text.replace(/<br\s*\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),void 0!==e.class&&i.attr("class",e.class);let r=i.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(n),i},"drawText"),O=-1,B=(0,l.K)(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),P=function(){function t(t,e,n,r,a,s,o,l){i(e.append("text").attr("x",n+a/2).attr("y",r+s/2+5).style("font-color",l).style("text-anchor","middle").text(t),o)}function e(t,e,n,r,a,s,o,l,c){let{taskFontSize:h,taskFontFamily:d}=l,u=t.split(/<br\s*\/?>/gi);for(let t=0;t<u.length;t++){let l=t*h-h*(u.length-1)/2,p=e.append("text").attr("x",n+a/2).attr("y",r).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",d);p.append("tspan").attr("x",n+a/2).attr("dy",l).text(u[t]),p.attr("y",r+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(p,o)}}function n(t,n,r,a,s,o,l,c){let h=n.append("switch"),d=h.append("foreignObject").attr("x",r).attr("y",a).attr("width",s).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,r,a,s,o,l,c),i(d,l)}function i(t,e){for(let n in e)n in e&&t.attr(n,e[n])}return(0,l.K)(t,"byText"),(0,l.K)(e,"byTspan"),(0,l.K)(n,"byFo"),(0,l.K)(i,"_setTextAttrs"),function(i){return"fo"===i.textPlacement?n:"old"===i.textPlacement?t:e}}(),W=(0,l.K)(function(t,e){C=0,O=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");function N(t,e){t.each(function(){var t,n=(0,c.Ltv)(this),i=n.text().split(/(\s+|<br>)/).reverse(),r=[],a=n.attr("y"),s=parseFloat(n.attr("dy")),o=n.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",s+"em");for(let s=0;s<i.length;s++)t=i[i.length-1-s],r.push(t),o.text(r.join(" ").trim()),(o.node().getComputedTextLength()>e||"<br>"===t)&&(r.pop(),o.text(r.join(" ").trim()),r="<br>"===t?[""]:[t],o=n.append("tspan").attr("x",0).attr("y",a).attr("dy","1.1em").text(t))})}(0,l.K)(N,"wrap");var z=(0,l.K)(function(t,e,n,i,r,a=!1){let{theme:s,look:o}=i,l=s?.includes("redux"),h=n%(i?.themeVariables?.THEME_COLOR_LIMIT??12)-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+h);let u=d.append("g"),p=d.append("g"),g=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(N,e.width).node().getBBox(),f=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;if(e.height=g.height+1.1*f*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),F(u,e,h,r,i),"neo"===o&&(d.attr("data-look","neo"),l)){let e=s.includes("dark"),n=t.node()?.ownerSVGElement??t.node(),i=(0,c.Ltv)(n),r=i.attr("id")??"",a=r?`${r}-drop-shadow`:"drop-shadow";if(i.select(`#${a}`).empty()){let t=i.select("defs");(t.empty()?i.append("defs"):t).append("filter").attr("id",a).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",e?"0.2":"0.06").attr("flood-color",e?"#FFFFFF":"#000000")}}return e},"drawNode"),j=(0,l.K)(function(t,e,n){let i=t.append("g"),r=i.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(N,e.width).node().getBBox(),a=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;return i.remove(),r.height+1.1*a*.5+e.padding},"getVirtualNodeHeight"),F=(0,l.K)(function(t,e,n,i,r){let{theme:a}=r,s=5*!a?.includes("redux"),o=s>0?`M0 ${e.height-5} v${-e.height+10} q0,-${s},${s},-${s} h${e.width-10} q${s},0,${s},${s} v${e.height-5} H0 Z`:`M0 ${e.height-5} v${-(e.height-5)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",i+"-node-"+C++).attr("class","node-bkg node-"+e.type).attr("d",o),a?.includes("redux")||t.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),V=(0,l.K)(function(t,e,n,i){let r,a=(0,s.D7)(),{look:l,theme:h,themeVariables:d}=a,{useGradient:u,gradientStart:p,gradientStop:g}=d,f=a.timeline?.leftMargin??50;o.R.debug("timeline",i.db);let y=a.securityLevel;"sandbox"===y&&(r=(0,c.Ltv)("#i"+e));let m=("sandbox"===y?(0,c.Ltv)(r.nodes()[0].contentDocument.body):(0,c.Ltv)("body")).select("#"+e);m.append("g");let b=i.db.getTasks(),x=i.db.getCommonDb().getDiagramTitle();o.R.debug("task",b),W(m,e);let k=i.db.getSections();o.R.debug("sections",k);let _=0,w=0,$=0,v=0,K=50+f,S=50;v=50;let E=0,R=!0;k.forEach(function(t){let e=j(m,{number:E,descr:t,section:E,width:150,padding:20,maxHeight:_},a);o.R.debug("sectionHeight before draw",e),_=Math.max(_,e+20)});let I=0,T=0;for(let[t,e]of(o.R.debug("tasks.length",b.length),b.entries())){let n=j(m,{number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:w},a);o.R.debug("taskHeight before draw",n),w=Math.max(w,n+20),I=Math.max(I,e.events.length);let i=0;for(let t of e.events)i+=j(m,{descr:t,section:e.section,number:e.section,width:150,padding:20,maxHeight:50},a);e.events.length>0&&(i+=(e.events.length-1)*10),T=Math.max(T,i)}o.R.debug("maxSectionHeight before draw",_),o.R.debug("maxTaskHeight before draw",w),k&&k.length>0?k.forEach(t=>{let n=b.filter(e=>e.section===t),i={number:E,descr:t,section:E,width:200*Math.max(n.length,1)-50,padding:20,maxHeight:_};o.R.debug("sectionNode",i);let r=m.append("g"),s=z(r,i,E,a,e);o.R.debug("sectionNode output",s),r.attr("transform",`translate(${K}, ${v})`),S+=_+50,n.length>0&&q(m,n,E,K,S,w,a,I,T,_,!1,e),K+=200*Math.max(n.length,1),S=v,E++}):(R=!1,q(m,b,E,K,S,w,a,I,T,_,!0,e));let M=m.node().getBBox();if(o.R.debug("bounds",M),x&&m.append("text").text(x).attr("x","neo"===l?2*M.x+f:M.width/2-f).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),$=R?_+w+150:w+100,m.append("g").attr("class","lineWrapper").append("line").attr("x1",f).attr("y1",$).attr("x2",M.width+3*f).attr("y2",$).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),"neo"===l&&u&&"neutral"!==h){let t=m.select("defs"),e=(t.empty()?m.append("defs"):t).append("linearGradient").attr("id",m.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");e.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),e.append("stop").attr("offset","100%").attr("stop-color",g).attr("stop-opacity",1)}(0,s.ot)(void 0,m,a.timeline?.padding??50,a.timeline?.useMaxWidth??!1)},"draw"),q=(0,l.K)(function(t,e,n,i,r,a,s,l,c,h,d,u){for(let l of e){let e={descr:l.task,section:n,number:n,width:150,padding:20,maxHeight:a};o.R.debug("taskNode",e);let h=t.append("g").attr("class","taskWrapper"),p=z(h,e,n,s,u).height;if(o.R.debug("taskHeight after draw",p),h.attr("transform",`translate(${i}, ${r})`),a=Math.max(a,p),l.events){let e=t.append("g").attr("class","lineWrapper");r+=100,G(t,l.events,n,i,r,s,u),r-=100,e.append("line").attr("x1",i+95).attr("y1",r+a).attr("x2",i+95).attr("y2",r+a+100+c+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${u}-arrowhead)`).attr("stroke-dasharray","5,5")}i+=200,d&&!s.timeline?.disableMulticolor&&n++}},"drawTasks"),G=(0,l.K)(function(t,e,n,i,r,a,s){let l=0,c=r;for(let c of(r+=100,e)){let e={descr:c,section:n,number:n,width:150,padding:20,maxHeight:50};o.R.debug("eventNode",e);let h=t.append("g").attr("class","eventWrapper"),d=z(h,e,n,a,s,!0).height;l+=d,h.attr("transform",`translate(${i}, ${r})`),r=r+10+d}return r=c,l},"drawEvents"),U={setConf:(0,l.K)(()=>{},"setConf"),draw:V},Z=(0,l.K)(function(t,e,n,r){let l=(0,s.D7)(),c=l.timeline?.leftMargin??50;o.R.debug("timeline",r.db);let h=(0,i.D)(e);h.append("g");let d=r.db.getTasks(),u=r.db.getCommonDb().getDiagramTitle();o.R.debug("task",d),W(h);let p=r.db.getSections();o.R.debug("sections",p);let g=0,f=0,y=50,m=230,b=0,x=p&&p.length>0,k=50+c+m,_=Math.max(50,m+360-10);p.forEach(function(t){let e=j(h,{number:b,descr:t,section:b,width:_,padding:5,maxHeight:g},l);o.R.debug("sectionHeight before draw",e),g=Math.max(g,e)});let w=0;for(let[t,e]of(o.R.debug("tasks.length",d.length),d.entries())){let n=j(h,{number:t,descr:e,section:e.section,width:200,padding:5,maxHeight:f},l);o.R.debug("taskHeight before draw",n),f=Math.max(f,n);let i=0;for(let t of e.events)i+=j(h,{descr:t,section:e.section,number:e.section,width:300,padding:5,maxHeight:50},l);e.events.length>0&&(i+=(e.events.length-1)*10),w=Math.max(w,i)+0}o.R.debug("maxSectionHeight before draw",g),o.R.debug("maxTaskHeight before draw",f);let $=Math.max(f,w)+30;x?p.forEach(t=>{let e=d.filter(e=>e.section===t),n={number:b,descr:t,section:b,width:_,padding:5,maxHeight:g};o.R.debug("sectionNode",n);let i=h.append("g"),r=z(i,n,b,l);o.R.debug("sectionNode output",r);let a=k-m;i.attr("transform",`translate(${a}, ${y})`);let s=y+r.height+20;e.length>0&&J(h,e,b,k,s,f,l,$,!1);let c=e.length,u=r.height+20+$*Math.max(c,1)-60*(c>0);y+=u,b++}):J(h,d,b,k,y,f,l,$,!0);let v=h.node()?.getBBox();if(!v)throw Error("bbox not found");if(o.R.debug("bounds",v),u){if(h.append("text").text(u).attr("x",v.width/2-c).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),!(v=h.node()?.getBBox()))throw Error("bbox not found");o.R.debug("bounds after title",v)}let[K]=(0,a.I5)(l.fontSize),S=h.append("g").attr("class","lineWrapper");S.append("line").attr("x1",k).attr("y1",50-(K??16)*2).attr("x2",k).attr("y2",v.y+v.height+((K??16)*.5+20)).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),S.lower(),(0,s.ot)(void 0,h,l.timeline?.padding??50,l.timeline?.useMaxWidth??!1)},"draw"),J=(0,l.K)(function(t,e,n,i,r,a,s,l,c){for(let h of e){let e={descr:h.task,section:n,number:n,width:200,padding:5,maxHeight:a};o.R.debug("taskNode",e);let d=t.append("g").attr("class","taskWrapper"),u=z(d,e,n,s),p=u.height;o.R.debug("taskHeight after draw",p);let g=i-20-u.width;if(d.attr("transform",`translate(${g}, ${r})`),a=Math.max(a,p),h.events&&h.events.length>0){let e=r,a=i+50;Y(t,h.events,n,i,a,e,s)}r+=l,c&&!s.timeline?.disableMulticolor&&n++}},"drawTasks"),Y=(0,l.K)(function(t,e,n,i,r,a,s){let l=a;for(let a of e){let e={descr:a,section:n,number:n,width:300,padding:5,maxHeight:0};o.R.debug("eventNode",e);let c=t.append("g").attr("class","eventWrapper"),h=z(c,e,n,s).height;c.attr("transform",`translate(${r}, ${l})`);let d=t.append("g").attr("class","lineWrapper"),u=l+h/2;d.append("line").attr("x1",i).attr("y1",u).attr("x2",r).attr("y2",u).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),l=l+h+10}return l-a},"drawEvents"),X={setConf:(0,l.K)(()=>{},"setConf"),draw:Z},Q=(0,l.K)(t=>{let{theme:e}=(0,s.zj)(),n=e?.includes("dark"),i=(0,r.P1)(e,t.borderColorArray),a=t.svgId?.replace(/^#/,"")??"",o=a?`url(#${a}-drop-shadow)`:t.dropShadow??"none",l="";for(let e=0;e<(0,r.nw)(t.THEME_COLOR_LIMIT);e++){let r=`${17-3*e}`,a=i?t.borderColorArray[e%t.borderColorArray.length]:void 0,s=a??t.mainBkg,c=a??t.nodeBorder;l+=` + .section-${e-1} rect, + .section-${e-1} path, + .section-${e-1} circle { + fill: ${n&&i?t.mainBkg:s}; + stroke: ${c}; + stroke-width: ${t.strokeWidth}; + filter: ${o}; + } + + .section-${e-1} text { + fill: ${t.nodeBorder}; + font-weight: ${t.fontWeight} + } + + .node-icon-${e-1} { + font-size: 40px; + color: ${t["cScaleLabel"+e]}; + } + + .section-edge-${e-1} { + stroke: ${t["cScale"+e]}; + } + + .edge-depth-${e-1} { + stroke-width: ${r}; + } + + .section-${e-1} line { + stroke: ${t["cScaleInv"+e]}; + stroke-width: 3; + } + + .lineWrapper line { + stroke: ${t.nodeBorder}; + stroke-width:${t.strokeWidth} + } + + .disabled, + .disabled circle, + .disabled text { + fill: ${t.tertiaryColor??"lightgray"}; + } + + .disabled text { + fill: ${t.clusterBorder??"#efefef"}; + } + `}return l},"genReduxSections"),tt=(0,l.K)(t=>{let e="",n=(0,r.nw)(t.THEME_COLOR_LIMIT);for(let e=0;e<n;e++)t["lineColor"+e]=t["lineColor"+e]??t["cScaleInv"+e],(0,h.A)(t["lineColor"+e])?t["lineColor"+e]=(0,d.A)(t["lineColor"+e],20):t["lineColor"+e]=(0,u.A)(t["lineColor"+e],20);for(let i=0;i<n;i++){let n=""+(17-3*i);e+=` + .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} path { + fill: ${t["cScale"+i]}; + } + .section-${i-1} text { + fill: ${t["cScaleLabel"+i]}; + } + .node-icon-${i-1} { + font-size: 40px; + color: ${t["cScaleLabel"+i]}; + } + .section-edge-${i-1}{ + stroke: ${t["cScale"+i]}; + } + .edge-depth-${i-1}{ + stroke-width: ${n}; + } + .section-${i-1} line { + stroke: ${t["cScaleInv"+i]} ; + stroke-width: 3; + } + + .lineWrapper line{ + stroke: ${t["cScaleLabel"+i]} ; + } + + .disabled, .disabled circle, .disabled text { + fill: ${t.tertiaryColor??"lightgray"}; + } + .disabled text { + fill: ${t.clusterBorder??"#efefef"}; + } + `}return e},"genSections"),te=(0,l.K)(t=>{let{theme:e}=(0,s.zj)(),n=e?.includes("redux"),i="neutral"===e,a=t.svgId?.replace(/^#/,"")??"",o="";if(t.useGradient&&a&&t.THEME_COLOR_LIMIT&&!i){let e=(0,r.nw)(t.THEME_COLOR_LIMIT);for(let n=0;n<e;n++)o+=` + .section-${n-1}[data-look="neo"] rect, + .section-${n-1}[data-look="neo"] path, + .section-${n-1}[data-look="neo"] circle { + fill: ${t.mainBkg}; + stroke: url(#${a}-gradient); + stroke-width: 2; + } + .section-${n-1}[data-look="neo"] line { + stroke: url(#${a}-gradient); + stroke-width: 2; + }`}return` + .edge { + stroke-width: 3; + } + ${n?Q(t):tt(t)} + ${o} + .section-root rect, .section-root path, .section-root circle { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`},"getStyles"),tn={db:g,renderer:{setConf:(0,l.K)(()=>{},"setConf"),draw:(0,l.K)((t,e,n,i)=>"TD"===(i?.db?.getDirection?.()??"LR")?X.draw(t,e,n,i):U.draw(t,e,n,i),"draw")},parser:p,styles:te}}}]); \ No newline at end of file diff --git a/assets/js/1862.1a43044f.js b/assets/js/1862.1a43044f.js new file mode 100644 index 0000000..240e782 --- /dev/null +++ b/assets/js/1862.1a43044f.js @@ -0,0 +1,32 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1862"],{9301(t,e,n){n.d(e,{diagram:()=>tq});var a,r=n(2735),i=n(3002);n(739),n(6320),n(2217),n(2941);var s=n(6348),l=n(1177),o=n(1293),h=n(6827),u=n(7829),d=function(){var t=(0,h.K)(function(t,e,n,a){for(n=n||{},a=t.length;a--;n[t[a]]=e);return n},"o"),e=[1,24],n=[1,25],a=[1,26],r=[1,27],i=[1,28],s=[1,63],l=[1,64],o=[1,65],u=[1,66],d=[1,67],p=[1,68],y=[1,69],b=[1,29],_=[1,30],f=[1,31],m=[1,32],g=[1,33],x=[1,34],E=[1,35],S=[1,36],T=[1,37],k=[1,38],C=[1,39],v=[1,40],O=[1,41],R=[1,42],w=[1,43],P=[1,44],D=[1,45],N=[1,46],K=[1,47],L=[1,48],A=[1,50],M=[1,51],$=[1,52],I=[1,53],B=[1,54],j=[1,55],Y=[1,56],U=[1,57],F=[1,58],z=[1,59],X=[1,60],q=[14,42],W=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Q=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],V=[1,82],H=[1,83],G=[1,84],Z=[1,85],J=[12,14,42],tt=[12,14,33,42],te=[12,14,33,42,76,77,79,80],tn=[12,33],ta=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],tr={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:(0,h.K)(function(t,e,n,a,r,i,s){var l=i.length-1;switch(r){case 3:a.setDirection("TB");break;case 4:a.setDirection("BT");break;case 5:a.setDirection("RL");break;case 6:a.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:a.setC4Type(i[l-3]);break;case 19:a.setTitle(i[l].substring(6)),this.$=i[l].substring(6);break;case 20:a.setAccDescription(i[l].substring(15)),this.$=i[l].substring(15);break;case 21:this.$=i[l].trim(),a.setTitle(this.$);break;case 22:case 23:this.$=i[l].trim(),a.setAccDescription(this.$);break;case 28:i[l].splice(2,0,"ENTERPRISE"),a.addPersonOrSystemBoundary(...i[l]),this.$=i[l];break;case 29:i[l].splice(2,0,"SYSTEM"),a.addPersonOrSystemBoundary(...i[l]),this.$=i[l];break;case 30:a.addPersonOrSystemBoundary(...i[l]),this.$=i[l];break;case 31:i[l].splice(2,0,"CONTAINER"),a.addContainerBoundary(...i[l]),this.$=i[l];break;case 32:a.addDeploymentNode("node",...i[l]),this.$=i[l];break;case 33:a.addDeploymentNode("nodeL",...i[l]),this.$=i[l];break;case 34:a.addDeploymentNode("nodeR",...i[l]),this.$=i[l];break;case 35:a.popBoundaryParseStack();break;case 39:a.addPersonOrSystem("person",...i[l]),this.$=i[l];break;case 40:a.addPersonOrSystem("external_person",...i[l]),this.$=i[l];break;case 41:a.addPersonOrSystem("system",...i[l]),this.$=i[l];break;case 42:a.addPersonOrSystem("system_db",...i[l]),this.$=i[l];break;case 43:a.addPersonOrSystem("system_queue",...i[l]),this.$=i[l];break;case 44:a.addPersonOrSystem("external_system",...i[l]),this.$=i[l];break;case 45:a.addPersonOrSystem("external_system_db",...i[l]),this.$=i[l];break;case 46:a.addPersonOrSystem("external_system_queue",...i[l]),this.$=i[l];break;case 47:a.addContainer("container",...i[l]),this.$=i[l];break;case 48:a.addContainer("container_db",...i[l]),this.$=i[l];break;case 49:a.addContainer("container_queue",...i[l]),this.$=i[l];break;case 50:a.addContainer("external_container",...i[l]),this.$=i[l];break;case 51:a.addContainer("external_container_db",...i[l]),this.$=i[l];break;case 52:a.addContainer("external_container_queue",...i[l]),this.$=i[l];break;case 53:a.addComponent("component",...i[l]),this.$=i[l];break;case 54:a.addComponent("component_db",...i[l]),this.$=i[l];break;case 55:a.addComponent("component_queue",...i[l]),this.$=i[l];break;case 56:a.addComponent("external_component",...i[l]),this.$=i[l];break;case 57:a.addComponent("external_component_db",...i[l]),this.$=i[l];break;case 58:a.addComponent("external_component_queue",...i[l]),this.$=i[l];break;case 60:a.addRel("rel",...i[l]),this.$=i[l];break;case 61:a.addRel("birel",...i[l]),this.$=i[l];break;case 62:a.addRel("rel_u",...i[l]),this.$=i[l];break;case 63:a.addRel("rel_d",...i[l]),this.$=i[l];break;case 64:a.addRel("rel_l",...i[l]),this.$=i[l];break;case 65:a.addRel("rel_r",...i[l]),this.$=i[l];break;case 66:a.addRel("rel_b",...i[l]),this.$=i[l];break;case 67:i[l].splice(0,1),a.addRel("rel",...i[l]),this.$=i[l];break;case 68:a.updateElStyle("update_el_style",...i[l]),this.$=i[l];break;case 69:a.updateRelStyle("update_rel_style",...i[l]),this.$=i[l];break;case 70:a.updateLayoutConfig("update_layout_config",...i[l]),this.$=i[l];break;case 71:this.$=[i[l]];break;case 72:i[l].unshift(i[l-1]),this.$=i[l];break;case 73:case 75:this.$=i[l].trim();break;case 74:let o={};o[i[l-1].trim()]=i[l].trim(),this.$=o;break;case 76:this.$=""}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:70,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:71,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:72,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:73,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{14:[1,74]},t(q,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:o,38:u,39:d,40:p,41:y,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X}),t(q,[2,14]),t(W,[2,16],{12:[1,76]}),t(q,[2,36],{12:[1,77]}),t(Q,[2,19]),t(Q,[2,20]),{25:[1,78]},{27:[1,79]},t(Q,[2,23]),{35:80,75:81,76:V,77:H,79:G,80:Z},{35:86,75:81,76:V,77:H,79:G,80:Z},{35:87,75:81,76:V,77:H,79:G,80:Z},{35:88,75:81,76:V,77:H,79:G,80:Z},{35:89,75:81,76:V,77:H,79:G,80:Z},{35:90,75:81,76:V,77:H,79:G,80:Z},{35:91,75:81,76:V,77:H,79:G,80:Z},{35:92,75:81,76:V,77:H,79:G,80:Z},{35:93,75:81,76:V,77:H,79:G,80:Z},{35:94,75:81,76:V,77:H,79:G,80:Z},{35:95,75:81,76:V,77:H,79:G,80:Z},{35:96,75:81,76:V,77:H,79:G,80:Z},{35:97,75:81,76:V,77:H,79:G,80:Z},{35:98,75:81,76:V,77:H,79:G,80:Z},{35:99,75:81,76:V,77:H,79:G,80:Z},{35:100,75:81,76:V,77:H,79:G,80:Z},{35:101,75:81,76:V,77:H,79:G,80:Z},{35:102,75:81,76:V,77:H,79:G,80:Z},{35:103,75:81,76:V,77:H,79:G,80:Z},{35:104,75:81,76:V,77:H,79:G,80:Z},t(J,[2,59]),{35:105,75:81,76:V,77:H,79:G,80:Z},{35:106,75:81,76:V,77:H,79:G,80:Z},{35:107,75:81,76:V,77:H,79:G,80:Z},{35:108,75:81,76:V,77:H,79:G,80:Z},{35:109,75:81,76:V,77:H,79:G,80:Z},{35:110,75:81,76:V,77:H,79:G,80:Z},{35:111,75:81,76:V,77:H,79:G,80:Z},{35:112,75:81,76:V,77:H,79:G,80:Z},{35:113,75:81,76:V,77:H,79:G,80:Z},{35:114,75:81,76:V,77:H,79:G,80:Z},{35:115,75:81,76:V,77:H,79:G,80:Z},{20:116,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{12:[1,118],33:[1,117]},{35:119,75:81,76:V,77:H,79:G,80:Z},{35:120,75:81,76:V,77:H,79:G,80:Z},{35:121,75:81,76:V,77:H,79:G,80:Z},{35:122,75:81,76:V,77:H,79:G,80:Z},{35:123,75:81,76:V,77:H,79:G,80:Z},{35:124,75:81,76:V,77:H,79:G,80:Z},{35:125,75:81,76:V,77:H,79:G,80:Z},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(q,[2,15]),t(W,[2,17],{21:22,19:130,22:e,23:n,24:a,26:r,28:i}),t(q,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:n,24:a,26:r,28:i,34:s,36:l,37:o,38:u,39:d,40:p,41:y,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X}),t(Q,[2,21]),t(Q,[2,22]),t(J,[2,39]),t(tt,[2,71],{75:81,35:132,76:V,77:H,79:G,80:Z}),t(te,[2,73]),{78:[1,133]},t(te,[2,75]),t(te,[2,76]),t(J,[2,40]),t(J,[2,41]),t(J,[2,42]),t(J,[2,43]),t(J,[2,44]),t(J,[2,45]),t(J,[2,46]),t(J,[2,47]),t(J,[2,48]),t(J,[2,49]),t(J,[2,50]),t(J,[2,51]),t(J,[2,52]),t(J,[2,53]),t(J,[2,54]),t(J,[2,55]),t(J,[2,56]),t(J,[2,57]),t(J,[2,58]),t(J,[2,60]),t(J,[2,61]),t(J,[2,62]),t(J,[2,63]),t(J,[2,64]),t(J,[2,65]),t(J,[2,66]),t(J,[2,67]),t(J,[2,68]),t(J,[2,69]),t(J,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(tn,[2,28]),t(tn,[2,29]),t(tn,[2,30]),t(tn,[2,31]),t(tn,[2,32]),t(tn,[2,33]),t(tn,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(W,[2,18]),t(q,[2,38]),t(tt,[2,72]),t(te,[2,74]),t(J,[2,24]),t(J,[2,35]),t(ta,[2,25]),t(ta,[2,26],{12:[1,138]}),t(ta,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:(0,h.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,h.K)(function(t){var e=this,n=[0],a=[],r=[null],i=[],s=this.table,l="",o=0,u=0,d=0,p=i.slice.call(arguments,1),y=Object.create(this.lexer),b={};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(b[_]=this.yy[_]);y.setInput(t,b),b.lexer=y,b.parser=this,void 0===y.yylloc&&(y.yylloc={});var f=y.yylloc;i.push(f);var m=y.options&&y.options.ranges;function g(){var t;return"number"!=typeof(t=a.pop()||y.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof b.parseError?this.parseError=b.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){n.length=n.length-2*t,r.length=r.length-t,i.length=i.length-t},"popStack"),(0,h.K)(g,"lex");for(var x,E,S,T,k,C,v,O,R,w={};;){if(S=n[n.length-1],this.defaultActions[S]?T=this.defaultActions[S]:(null==x&&(x=g()),T=s[S]&&s[S][x]),void 0===T||!T.length||!T[0]){var P="";for(C in R=[],s[S])this.terminals_[C]&&C>2&&R.push("'"+this.terminals_[C]+"'");P=y.showPosition?"Parse error on line "+(o+1)+":\n"+y.showPosition()+"\nExpecting "+R.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(P,{text:y.match,token:this.terminals_[x]||x,line:y.yylineno,loc:f,expected:R})}if(T[0]instanceof Array&&T.length>1)throw Error("Parse Error: multiple actions possible at state: "+S+", token: "+x);switch(T[0]){case 1:n.push(x),r.push(y.yytext),i.push(y.yylloc),n.push(T[1]),x=null,E?(x=E,E=null):(u=y.yyleng,l=y.yytext,o=y.yylineno,f=y.yylloc,d>0&&d--);break;case 2:if(v=this.productions_[T[1]][1],w.$=r[r.length-v],w._$={first_line:i[i.length-(v||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(v||1)].first_column,last_column:i[i.length-1].last_column},m&&(w._$.range=[i[i.length-(v||1)].range[0],i[i.length-1].range[1]]),void 0!==(k=this.performAction.apply(w,[l,u,o,b,T[1],r,i].concat(p))))return k;v&&(n=n.slice(0,-1*v*2),r=r.slice(0,-1*v),i=i.slice(0,-1*v)),n.push(this.productions_[T[1]][0]),r.push(w.$),i.push(w._$),O=s[n[n.length-2]][n[n.length-1]],n.push(O);break;case 3:return!0}}return!0},"parse")};function ti(){this.yy={}}return tr.lexer={EOF:1,parseError:(0,h.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.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:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var n,a,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))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var i in r)this[i]=r[i];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,a,r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!e||n[0].length>e[0].length)){if(e=n,a=i,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[i])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,h.K)(function(t,e,n,a){switch(n){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:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;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: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:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58: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:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80: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 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}},(0,h.K)(ti,"Parser"),ti.prototype=tr,tr.Parser=ti,new ti}();d.parser=d;var p=(0,h.K)(t=>(0,l.D7)()[t],"getRequiredConfig"),y=new Set(["label","descr","techn","type"]),b=(0,h.K)((t,e)=>{for(let[n,a]of Object.entries(e))if(void 0!==a)if("object"==typeof a){let[e,n]=Object.entries(a)[0];t[e]=y.has(e)?{text:n}:n}else t[n]=a},"assignAttributes"),_=(0,h.K)(()=>({alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}),"createGlobalBoundary"),f=[],m=[""],g="global",x="",E=[_()],S=[],T="",k=!1,C=4,v=2,O=(0,h.K)(function(){return a},"getC4Type"),R=(0,h.K)(function(t){a=(0,l.jZ)(t,(0,l.D7)())},"setC4Type"),w=(0,h.K)(function(t,e,n,a,r,i,s,l,o){if(null==t||null==e||null==n||null==a)return;let h={},u=S.find(t=>t.from===e&&t.to===n);if(u?h=u:S.push(h),h.type=t,h.from=e,h.to=n,h.label={text:a},null==r)h.techn??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];h[t]=y.has(t)?{text:e}:e}else h.techn={text:r};if(null==i)h.descr??={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];h[t]=y.has(t)?{text:e}:e}else h.descr={text:i};b(h,{sprite:s,tags:l,link:o}),h.wrap=G()},"addRel"),P=(0,h.K)(function(t,e,n,a,r,i,s){if(null===e||null===n)return;let l={},o=f.find(t=>t.alias===e);if(o&&e===o.alias?l=o:(l.alias=e,f.push(l)),null==n?l.label={text:""}:l.label={text:n},null==a)l.descr??={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=y.has(t)?{text:e}:e}else l.descr={text:a};b(l,{sprite:r,tags:i,link:s}),l.typeC4Shape={text:t},l.parentBoundary=g,l.wrap=G()},"addPersonOrSystem"),D=(0,h.K)(function(t,e,n,a,r,i,s,l){if(null===e||null===n)return;let o={},h=f.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,f.push(o)),null==n?o.label={text:""}:o.label={text:n},null==a)o.techn??={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=y.has(t)?{text:e}:e}else o.techn={text:a};if(null==r)o.descr??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=y.has(t)?{text:e}:e}else o.descr={text:r};b(o,{sprite:i,tags:s,link:l}),o.wrap=G(),o.typeC4Shape={text:t},o.parentBoundary=g},"addContainer"),N=(0,h.K)(function(t,e,n,a,r,i,s,l){if(null===e||null===n)return;let o={},h=f.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,f.push(o)),null==n?o.label={text:""}:o.label={text:n},null==a)o.techn??={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=y.has(t)?{text:e}:e}else o.techn={text:a};if(null==r)o.descr??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=y.has(t)?{text:e}:e}else o.descr={text:r};b(o,{sprite:i,tags:s,link:l}),o.wrap=G(),o.typeC4Shape={text:t},o.parentBoundary=g},"addComponent"),K=(0,h.K)(function(t,e,n,a,r){if(null===t||null===e)return;let i={},s=E.find(e=>e.alias===t);if(s&&t===s.alias?i=s:(i.alias=t,E.push(i)),null==e?i.label={text:""}:i.label={text:e},null==n)i.type={text:"system"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];i[t]=y.has(t)?{text:e}:e}else i.type={text:n};b(i,{tags:a,link:r}),i.parentBoundary=g,i.wrap=G(),x=g,g=t,m.push(x)},"addPersonOrSystemBoundary"),L=(0,h.K)(function(t,e,n,a,r){if(null===t||null===e)return;let i={},s=E.find(e=>e.alias===t);if(s&&t===s.alias?i=s:(i.alias=t,E.push(i)),null==e?i.label={text:""}:i.label={text:e},null==n)i.type={text:"container"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];i[t]=y.has(t)?{text:e}:e}else i.type={text:n};b(i,{tags:a,link:r}),i.parentBoundary=g,i.wrap=G(),x=g,g=t,m.push(x)},"addContainerBoundary"),A=(0,h.K)(function(t,e,n,a,r,i,s,l){if(null===e||null===n)return;let o={},h=E.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,E.push(o)),null==n?o.label={text:""}:o.label={text:n},null==a)o.type={text:"node"};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=y.has(t)?{text:e}:e}else o.type={text:a};if(null==r)o.descr??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=y.has(t)?{text:e}:e}else o.descr={text:r};b(o,{tags:s,link:l}),o.nodeType=t,o.parentBoundary=g,o.wrap=G(),x=g,g=e,m.push(x)},"addDeploymentNode"),M=(0,h.K)(function(){g=x,m.pop(),x=m.pop(),m.push(x)},"popBoundaryParseStack"),$=(0,h.K)(function(t,e,n,a,r,i,s,l,o,h,u){let d=f.find(t=>t.alias===e);if(void 0!==d||void 0!==(d=E.find(t=>t.alias===e))){if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];d[t]=e}else d.bgColor=n;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];d[t]=e}else d.fontColor=a;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];d[t]=e}else d.borderColor=r;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];d[t]=e}else d.shadowing=i;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];d[t]=e}else d.shape=s;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];d[t]=e}else d.sprite=l;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];d[t]=e}else d.techn=o;if(null!=h)if("object"==typeof h){let[t,e]=Object.entries(h)[0];d[t]=e}else d.legendText=h;if(null!=u)if("object"==typeof u){let[t,e]=Object.entries(u)[0];d[t]=e}else d.legendSprite=u}},"updateElStyle"),I=(0,h.K)(function(t,e,n,a,r,i,s){let l=S.find(t=>t.from===e&&t.to===n);if(void 0!==l){if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.textColor=a;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=e}else l.lineColor=r;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=parseInt(e)}else l.offsetX=parseInt(i);if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=parseInt(e)}else l.offsetY=parseInt(s)}},"updateRelStyle"),B=(0,h.K)(function(t,e,n){let a=C,r=v;a="object"==typeof e?parseInt(Object.values(e)[0]):parseInt(e),r="object"==typeof n?parseInt(Object.values(n)[0]):parseInt(n),a>=1&&(C=a),r>=1&&(v=r)},"updateLayoutConfig"),j=(0,h.K)(function(){return C},"getC4ShapeInRow"),Y=(0,h.K)(function(){return v},"getC4BoundaryInRow"),U=(0,h.K)(function(){return g},"getCurrentBoundaryParse"),F=(0,h.K)(function(){return x},"getParentBoundaryParse"),z=(0,h.K)(function(t){return null==t?f:f.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),X=(0,h.K)(function(t){return f.find(e=>e.alias===t)??E.find(e=>e.alias===t)},"getC4Shape"),q=(0,h.K)(function(t){return Object.keys(z(t))},"getC4ShapeKeys"),W=(0,h.K)(function(t){return null==t?E:E.filter(e=>e.parentBoundary===t)},"getBoundaries"),Q=(0,h.K)(function(){return S},"getRels"),V=(0,h.K)(function(){return T},"getTitle"),H=(0,h.K)(function(t){k=t},"setWrap"),G=(0,h.K)(function(){return k},"autoWrap"),Z=(0,h.K)(function(){f=[],E=[_()],x="",g="global",m=[""],S=[],m=[""],T="",k=!1,C=4,v=2},"clear"),J=(0,h.K)(function(t){T=(0,l.jZ)(t,(0,l.D7)())},"setTitle"),tt={addPersonOrSystem:P,addPersonOrSystemBoundary:K,addContainer:D,addContainerBoundary:L,addComponent:N,addDeploymentNode:A,popBoundaryParseStack:M,addRel:w,updateElStyle:$,updateRelStyle:I,updateLayoutConfig:B,autoWrap:G,setWrap:H,getC4ShapeArray:z,getC4Shape:X,getC4ShapeKeys:q,getBoundaries:W,getBoundarys:W,getCurrentBoundaryParse:U,getParentBoundaryParse:F,getRels:Q,getTitle:V,getC4Type:O,getC4ShapeInRow:j,getC4BoundaryInRow:Y,setAccTitle:l.SV,getAccTitle:l.iN,getAccDescription:l.m7,setAccDescription:l.EI,getConfig:(0,h.K)(()=>p("c4"),"getConfig"),clear:Z,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:J,setC4Type:R},te=(0,h.K)(function(t,e){return(0,r.tk)(t,e)},"drawRect"),tn=(0,h.K)((t,e,n,a)=>{let r=t.append("g"),i=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",s=t.lineColor?t.lineColor:"#444444",l=t.offsetX?parseInt(String(t.offsetX)):0,o=t.offsetY?parseInt(String(t.offsetY)):0;if(0===i){let e=r.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",s),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url(#"+a+"-arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#"+a+"-arrowend)"),i=-1}else{let e=r.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",s).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url(#"+a+"-arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#"+a+"-arrowend)")}let h=t.label.width,u=n.messageFont();tu(n)(t.label.text,r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+l,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+o,h,t.label.height,{fill:e},u),t.techn&&""!==t.techn.text&&(u=n.messageFont(),tu(n)("["+t.techn.text+"]",r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+l,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+n.messageFontSize+5+o,Math.max(h,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},u))}},"drawRels"),ta=(0,h.K)(function(t,e,n){let a=t.append("g"),r=e.bgColor?e.bgColor:"none",i=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1}),te(a,{x:e.x,y:e.y,fill:r,stroke:i,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l});let o=n.boundaryFont();o.fontWeight="bold",o.fontSize=o.fontSize+2,o.fontColor=s,tu(n)(e.label.text,a,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},o),e.type&&""!==e.type.text&&((o=n.boundaryFont()).fontColor=s,tu(n)(e.type.text,a,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},o)),e.descr&&""!==e.descr.text&&((o=n.boundaryFont()).fontSize=o.fontSize-2,o.fontColor=s,tu(n)(e.descr.text,a,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},o))},"drawBoundary"),tr=(0,h.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),ti=(0,h.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),ts=(0,h.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),tl=(0,h.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),to=(0,h.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),tc=(0,h.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),th=(0,h.K)(function(t,e){let n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),tu=function(){function t(t,e,n,r,i,s,l){a(e.append("text").attr("x",n+i/2).attr("y",r+s/2+5).style("text-anchor","middle").text(t),l)}function e(t,e,n,r,i,s,o,h){let{fontSize:u,fontFamily:d,fontWeight:p}=h,y=t.split(l.Y2.lineBreakRegex);for(let t=0;t<y.length;t++){let s=t*u-u*(y.length-1)/2,l=e.append("text").attr("x",n+i/2).attr("y",r).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",u).style("font-weight",p).style("font-family",d);l.append("tspan").attr("dy",s).text(y[t]).attr("alignment-baseline","mathematical"),a(l,o)}}function n(t,n,r,i,s,l,o,h){let u=n.append("switch"),d=u.append("foreignObject").attr("x",r).attr("y",i).attr("width",s).attr("height",l).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,u,r,i,s,l,o,h),a(d,o)}function a(t,e){for(let n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return(0,h.K)(t,"byText"),(0,h.K)(e,"byTspan"),(0,h.K)(n,"byFo"),(0,h.K)(a,"_setTextAttrs"),function(a){return"fo"===a.textPlacement?n:"old"===a.textPlacement?t:e}}(),td=(0,h.K)((t,e)=>{if("sandbox"===e){let e=(0,u.Ltv)("#i"+t),n=e.node()?.contentDocument;if(!n)throw Error(`Sandbox iframe #i${t} is missing its content document`);return{root:(0,u.Ltv)(n.body),doc:n}}return{root:(0,u.Ltv)("body"),doc:document}},"getDiagramRoot"),tp=new Set(["system_queue","external_system_queue","container_queue","external_container_queue","component_queue","external_component_queue"]),ty=new Set(["system_db","external_system_db","container_db","external_container_db","component_db","external_component_db"]),tb={person:"person",box:"rounded",rounded:"rounded",cylinder:"cylinder",database:"cylinder",db:"cylinder",queue:"h-cyl",pipe:"h-cyl",component:"fr-rect"},t_=(0,h.K)(t=>t?tb[t.toLowerCase()]:void 0,"keywordShape"),tf=(0,h.K)(t=>{let e=t_(t.shape)??t_(t.sprite);if(e)return e;if(t.tags)for(let e of t.tags.split(",")){let t=t_(e.trim());if(t)return t}let n=t.typeC4Shape.text;return"person"===n||"external_person"===n?"person":ty.has(n)?"cylinder":tp.has(n)?"h-cyl":"rounded"},"resolveNodeShape"),tm={person:"Person",system:"Software System",container:"Container",component:"Component"},tg=(0,h.K)(t=>{let e=t.replace(/^external_/,"").replace(/_(db|queue)$/,"");return tm[e]??e.replace(/_/g," ")},"stereotypeLabel"),tx=(0,h.K)(t=>t.startsWith("external_"),"isExternal"),tE=(0,h.K)(t=>{let e=tg(t.typeC4Shape.text);return t.techn?.text?`[${e}: ${t.techn.text}]`:`[${e}]`},"stereotypeText"),tS=["person","system","system_db","system_queue","container","container_db","container_queue","component","component_db","component_queue"].flatMap(t=>[t,`external_${t}`]),tT=new Set(tS),tk=(0,h.K)(t=>tT.has(t),"isC4ElementType"),tC=(0,h.K)((t,e)=>{let n=t.typeC4Shape.text,a=t.bgColor??(tk(n)&&e[`${n}_bg_color`]),r=t.borderColor??(tk(n)&&e[`${n}_border_color`]),i=[];return a&&i.push(`fill:${a}`),r&&i.push(`stroke:${r}`),i.push(`color:${t.fontColor??"#FFFFFF"}`),i},"elementCssStyles"),tv=(0,h.K)((t,e,n,a,r)=>{let i=t.typeC4Shape.text,s=["c4-shape",`c4-${i}`];tx(i)&&s.push("c4-external");let l=tf(t),o=tC(t,e);return("rounded"===l||"fr-rect"===l)&&o.push("rx:12px","ry:12px"),{id:t.alias,label:t.label.text,stereotype:tE(t),description:t.descr?.text?[t.descr.text]:void 0,labelType:"string",isGroup:!1,shape:l,cssClasses:s.join(" "),cssStyles:o,padding:n,look:a,useHtmlLabels:!1,width:r}},"buildC4Node"),tO=0,tR=0,tw=4,tP=2;d.yy=tt;var tD={},tN=class{static{(0,h.K)(this,"Bounds")}constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,tK(t.db.getConfig())}setData(t,e,n,a){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=a}updateVal(t,e,n,a){void 0===t[e]?t[e]=n:t[e]=a(n,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.stopx,n=this.data.widthLimit,a=this.nextData.startx===this.nextData.stopx?e+t.margin:e+2*t.margin,r=a+t.width,i=this.nextData.starty+2*t.margin,s=i+t.height;(a>=n||r>=n||this.nextData.cnt>tw)&&(a=this.nextData.startx+t.margin+tD.nextLinePaddingX,i=this.nextData.stopy+2*t.margin,this.nextData.stopx=r=a+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=s=i+t.height,this.nextData.cnt=1),t.x=a,t.y=i,this.updateVal(this.data,"startx",a,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",r,Math.max),this.updateVal(this.data,"stopy",s,Math.max),this.updateVal(this.nextData,"startx",a,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",r,Math.max),this.updateVal(this.nextData,"stopy",s,Math.max)}init(t){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},tK(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},tK=(0,h.K)(function(t){(0,l.hH)(tD,t),t?.fontFamily&&(tD.personFontFamily=tD.systemFontFamily=tD.messageFontFamily=t.fontFamily),t?.fontSize&&(tD.personFontSize=tD.systemFontSize=tD.messageFontSize=t.fontSize),t?.fontWeight&&(tD.personFontWeight=tD.systemFontWeight=tD.messageFontWeight=t.fontWeight)},"setConf"),tL=(0,h.K)(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),tA=(0,h.K)(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function tM(t,e,n,a,r){let i=e[t];if(!i.width)if(n)i.text=(0,s.bH)(i.text,r,a),i.textLines=i.text.split(l.Y2.lineBreakRegex).length,i.width=r,i.height=(0,s.ru)(i.text,a);else{let t=i.text.split(l.Y2.lineBreakRegex);i.textLines=t.length;let e=0;for(let n of(i.height=0,i.width=0,t))i.width=Math.max((0,s.Un)(n,a),i.width),e=(0,s.ru)(n,a),i.height=i.height+e}return i}(0,h.K)(tM,"calcC4ShapeTextWH");var t$=(0,h.K)(function(t,e,n){let a=n.data.startx,r=n.data.starty;e.x=a,e.y=r,e.width=n.data.stopx-a,e.height=n.data.stopy-r,e.intersect=t=>i.I7.rect({x:e.x+e.width/2,y:e.y+e.height/2,width:e.width,height:e.height},t),e.label.y=tD.c4ShapeMargin-35;let l=e.wrap&&tD.wrap,o=tL(tD);o.fontSize=o.fontSize+2,o.fontWeight="bold";let h=(0,s.Un)(e.label.text,o);tM("label",e,l,o,h),ta(t,e,tD)},"drawBoundary"),tI=(0,h.K)(async function(t,e,n,a){let r=(0,l.D7)(),s=r.look??"classic",o={config:r},u=e.attr("id")??"",d=a.map(t=>n[Number(t)]),p=(0,h.K)(t=>{let e=t.shape?i.nq[t.shape]:void 0;if(!e)throw Error(`C4: no shape handler for "${t.shape}"`);return e},"shapeHandlerFor");for(let n of(await Promise.all(d.map(async t=>{let n=tv(t,tD,tD.c4ShapePadding,s,tD.width);n.domId=`${u}-${n.id}`;let a=await p(n)(e,n,o);t.width=n.width??tD.width,t.height=n.height??tD.height,t.margin=tD.c4ShapeMargin,a.remove()})),d))t.insert(n);await Promise.all(d.map(async t=>{let n=tv(t,tD,tD.c4ShapePadding,s,tD.width);n.domId=`${u}-${n.id}`,n.x=t.x+t.width/2,n.y=t.y+t.height/2;let a=e.append("g").attr("transform",`translate(${t.x+t.width/2}, ${t.y+t.height/2})`);await p(n)(a,n,o),t.intersect=n.intersect})),t.bumpLastMargin(tD.c4ShapeMargin)},"drawC4ShapeArray"),tB=class{static{(0,h.K)(this,"Point")}constructor(t,e){this.x=t,this.y=e}},tj=(0,h.K)(function(t,e){if(!t.intersect)throw Error(`C4 element "${t.alias}" has no intersect function. Please report this to https://github.com/mermaid-js/mermaid/issues`);let{x:n,y:a}=t.intersect(e);return new tB(n,a)},"getIntersectPoint"),tY=(0,h.K)(function(t,e){let n={x:0,y:0};n.x=e.x+e.width/2,n.y=e.y+e.height/2;let a=tj(t,n);return n.x=t.x+t.width/2,n.y=t.y+t.height/2,{startPoint:a,endPoint:tj(e,n)}},"getIntersectPoints"),tU=(0,h.K)(function(t,e,n,a,r){let i=a.db.getC4Type(),l=0;for(let t of e){l+=1;let e=t.wrap&&tD.wrap,a=tA(tD);"C4Dynamic"===i&&(t.label.text=l+": "+t.label.text);let r=(0,s.Un)(t.label.text,a);tM("label",t,e,a,r),t.techn&&""!==t.techn.text&&(r=(0,s.Un)(t.techn.text,a),tM("techn",t,e,a,r)),t.descr&&""!==t.descr.text&&(r=(0,s.Un)(t.descr.text,a),tM("descr",t,e,a,r));let o=n(t.from),h=n(t.to);if(!o||!h)throw Error(`C4 rel "${t.from}" -> "${t.to}" references an unknown shape or boundary`);let u=tY(o,h);if(!u.startPoint||!u.endPoint)throw Error(`Could not calculate intersection points for rel "${t.from}" -> "${t.to}"`);t.startPoint=u.startPoint,t.endPoint=u.endPoint}tn(t,e,tD,r)},"drawRels");async function tF(t,e,n,a,r){let i=r.db,s=new tN(r);for(let[l,o]of(s.data.widthLimit=n.data.widthLimit/Math.min(tP,a.length),a.entries())){let a=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=a,a=o.image.Y+o.image.height);let h=o.wrap&&tD.wrap,u=tL(tD);u.fontSize=u.fontSize+2,u.fontWeight="bold";let d=tM("label",o,h,u,s.data.widthLimit);if(d.Y=a+8,a=d.Y+d.height,o.type&&""!==o.type.text){o.type.text="["+o.type.text+"]";let t=tM("type",o,h,tL(tD),s.data.widthLimit);t.Y=a+5,a=t.Y+t.height}if(o.descr&&""!==o.descr.text){let t=tL(tD);t.fontSize=t.fontSize-2;let e=tM("descr",o,h,t,s.data.widthLimit);e.Y=a+20,a=e.Y+e.height}if(0==l||l%tP==0){let t=n.data.startx+tD.diagramMarginX,e=n.data.stopy+tD.diagramMarginY+a;s.setData(t,t,e,e)}else{let t=s.data.stopx!==s.data.startx?s.data.stopx+tD.diagramMarginX:s.data.startx,e=s.data.starty;s.setData(t,t,e,e)}s.name=o.alias;let p=i.getC4ShapeArray(o.alias),y=i.getC4ShapeKeys(o.alias);y.length>0&&await tI(s,t,p,y),e=o.alias;let b=i.getBoundaries(e);b.length>0&&await tF(t,e,s,b,r),"global"!==o.alias&&t$(t,o,s),n.data.stopy=Math.max(s.data.stopy+tD.c4ShapeMargin,n.data.stopy),n.data.stopx=Math.max(s.data.stopx+tD.c4ShapeMargin,n.data.stopx),tO=Math.max(tO,n.data.stopx),tR=Math.max(tR,n.data.stopy)}}(0,h.K)(tF,"drawInsideBoundary");var tz={drawPersonOrSystemArray:tI,drawBoundary:t$,setConf:tK,draw:(0,h.K)(async function(t,e,n,a){tD=p("c4");let{root:r}=td(e,(0,l.D7)().securityLevel),i=a.db;i.setWrap(tD.wrap),tw=i.getC4ShapeInRow(),tP=i.getC4BoundaryInRow(),o.R.debug(`C:${JSON.stringify(tD,null,2)}`);let s=r.select(`[id="${e}"]`);ti(s,e),tr(s,e),ts(s,e);let h=new tN(a);h.setData(tD.diagramMarginX,tD.diagramMarginX,tD.diagramMarginY,tD.diagramMarginY),h.data.widthLimit=screen.availWidth,tO=tD.diagramMarginX,tR=tD.diagramMarginY;let u=i.getTitle(),d=i.getBoundaries("");await tF(s,"",h,d,a),tl(s,e),to(s,e),th(s,e),tc(s,e),tU(s,i.getRels(),i.getC4Shape,a,e),h.data.stopx=tO,h.data.stopy=tR;let y=h.data,b=y.startx,_=y.starty,f=tR-_+2*tD.diagramMarginY,m=tO-b,g=m+2*tD.diagramMarginX;u&&s.append("text").text(u).attr("x",m/2-4*tD.diagramMarginX).attr("y",_+tD.diagramMarginY),(0,l.a$)(s,f,g,tD.useMaxWidth);let x=60*!!u;s.attr("viewBox",b-tD.diagramMarginX+" -"+(tD.diagramMarginY+x)+" "+g+" "+(f+x)),o.R.debug("models:",y)},"draw")},tX=(0,h.K)(()=>{let t=(0,l.D7)().c4??{},e=new CSSStyleSheet;for(let n of tS){let a=e.cssRules[e.insertRule(`.c4-shape.c4-${n} .label {}`,e.cssRules.length)],r=t[`${n}FontFamily`],i=t[`${n}FontSize`],s=t[`${n}FontWeight`];r&&a.style.setProperty("font-family",r),i&&a.style.setProperty("font-size","number"==typeof i?`${i}px`:i),s&&a.style.setProperty("font-weight",String(s))}return[...e.cssRules].filter(t=>t.style.length>0).map(t=>` ${t.cssText}`).join("\n")},"elementFontStyles"),tq={parser:d,db:tt,renderer:tz,styles:(0,h.K)(t=>`.person { + stroke: ${t.personBorder}; + fill: ${t.personBkg}; + } +${tX()} + + /* The element font colour is set inline per element (default white); the + label text takes it via currentColor. */ + .c4-shape .label, + .c4-shape .label text { + color: inherit; + fill: currentColor; + } + /* Structurizr typography: bold name, smaller stereotype/type and description lines. */ + .c4-shape .label .c4-name { + font-weight: bold; + } + .c4-shape .label .c4-type { + font-size: 0.75em; + } + .c4-shape .label .c4-descr { + font-size: 0.82em; + } + .c4-shape .basic, + .c4-shape rect, + .c4-shape path, + .c4-shape circle, + .c4-shape ellipse, + .c4-shape line { + stroke-width: 2px; + } +`,"getStyles"),init:(0,h.K)(({c4:t,wrap:e})=>{tz.setConf(t),tt.setWrap(e)},"init")}},2735(t,e,n){n.d(e,{CP:()=>d,Ck:()=>b,HT:()=>y,PB:()=>p,aC:()=>u,lC:()=>o,m:()=>h,tk:()=>l});var a=n(1177),r=n(6827),i=n(6750),s=n(7829),l=(0,r.K)((t,e)=>{let n=t.append("rect");if(n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),e.name&&n.attr("name",e.name),e.rx&&n.attr("rx",e.rx),e.ry&&n.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)n.attr(t,e.attrs[t]);return e.class&&n.attr("class",e.class),n},"drawRect"),o=(0,r.K)((t,e)=>{l(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),h=(0,r.K)((t,e)=>{let n=e.text.replace(a.H1," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let i=r.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.text(n),r},"drawText"),u=(0,r.K)((t,e,n,a)=>{let r=t.append("image");r.attr("x",e),r.attr("y",n);let s=(0,i.sanitizeUrl)(a);r.attr("xlink:href",s)},"drawImage"),d=(0,r.K)((t,e,n,a)=>{let r=t.append("use");r.attr("x",e),r.attr("y",n);let s=(0,i.sanitizeUrl)(a);r.attr("xlink:href",`#${s}`)},"drawEmbeddedImage"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),y=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),b=(0,r.K)(()=>{let t=(0,s.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,s.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")}}]); \ No newline at end of file diff --git a/assets/js/190.c766b1ae.js b/assets/js/190.c766b1ae.js new file mode 100644 index 0000000..e918b38 --- /dev/null +++ b/assets/js/190.c766b1ae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["190"],{6445(e,s,r){r.d(s,{createInfoServices:()=>a.v});var a=r(4614);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/1f1ca1a6.cf742e62.js b/assets/js/1f1ca1a6.cf742e62.js new file mode 100644 index 0000000..cdcb487 --- /dev/null +++ b/assets/js/1f1ca1a6.cf742e62.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7214"],{820(e,r,s){s.r(r),s.d(r,{metadata:()=>n,default:()=>x,frontMatter:()=>d,contentTitle:()=>i,toc:()=>c,assets:()=>a});var n=JSON.parse('{"id":"about/architecture","title":"\u67B6\u6784\u8BBE\u8BA1","description":"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784","source":"@site/docs/about/architecture.md","sourceDirName":"about","slug":"/about/architecture","permalink":"/SqlParserX/docs/next/about/architecture","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/about/architecture.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"title":"\u67B6\u6784\u8BBE\u8BA1","description":"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784","sidebar_label":"\u67B6\u6784\u8BBE\u8BA1","sidebar_position":2},"sidebar":"docs","previous":{"title":"SqlParserX\u4ECB\u7ECD","permalink":"/SqlParserX/docs/next/about/introduction"},"next":{"title":"\u73AF\u5883\u51C6\u5907\u4E0E\u6784\u5EFA","permalink":"/SqlParserX/docs/next/quickstart/setup"}}'),t=s(4848),l=s(8453);let d={title:"\u67B6\u6784\u8BBE\u8BA1",description:"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784",sidebar_label:"\u67B6\u6784\u8BBE\u8BA1",sidebar_position:2},i="SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784",a={},c=[{value:"\u603B\u4F53\u67B6\u6784",id:"\u603B\u4F53\u67B6\u6784",level:2},{value:"\u4E24\u5C42\u804C\u8D23",id:"\u4E24\u5C42\u804C\u8D23",level:2},{value:"\u6A21\u5757\u4F9D\u8D56",id:"\u6A21\u5757\u4F9D\u8D56",level:2}];function o(e){let r={code:"code",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",mermaid:"mermaid",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"sqlparserx-\u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784",children:"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784"})}),"\n",(0,t.jsx)(r.p,{children:"SqlParserX \u7684\u89E3\u6790\u5185\u6838\u7531\u4E24\u5957\u76F8\u4E92\u8854\u63A5\u3001\u7ED3\u6784\u5BF9\u79F0\u7684\u6269\u5C55\u4F53\u7CFB\u7EC4\u6210\uFF0C\u5206\u522B\u843D\u5728\u4E24\u4E2A\u72EC\u7ACB Jar Module\uFF1A"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:[(0,t.jsxs)(r.strong,{children:["SQL \u8BED\u6CD5\u89E3\u6790\u5C42\uFF08",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"}),"\uFF09"]}),"\uFF1A\u57FA\u4E8E\u5B98\u65B9 Druid\uFF0C\u901A\u8FC7\u7EDF\u4E00\u7684\u65B9\u8A00\u8DEF\u7531\u3001Parser \u57FA\u5EA7\u548C AST \u6A21\u578B\uFF0C\u6269\u5C55\u4E0D\u540C\u6570\u636E\u6E90\u7684 Lexer\u3001StatementParser \u4E0E AST Node\u3002"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsxs)(r.strong,{children:["SqlParserX \u4E1A\u52A1\u89E3\u6790\u5C42\uFF08",(0,t.jsx)(r.code,{children:"sqlparserx-core"}),"\uFF09"]}),"\uFF1A\u901A\u8FC7\u7EDF\u4E00\u7684\u65B9\u8A00\u8DEF\u7531\u3001",(0,t.jsx)(r.code,{children:"ISqlParser"})," \u5951\u7EA6\u548C\u4E1A\u52A1 Client\uFF0C\u6269\u5C55\u4E0D\u540C\u6570\u636E\u6E90\u7684\u8868\u89E3\u6790\u3001\u8840\u7F18\u89E3\u6790\u4E0E SQL \u6539\u5199\u903B\u8F91\u3002"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["\u4E24\u5C42\u90FD\u9075\u5FAA\u201C",(0,t.jsx)(r.strong,{children:"\u7EDF\u4E00\u5165\u53E3 \u2192 \u901A\u7528\u57FA\u5EA7 \u2192 \u7EDF\u4E00\u6269\u5C55\u70B9 \u2192 \u6570\u636E\u6E90\u5B9E\u73B0 \u2192 \u7EDF\u4E00\u7ED3\u679C"}),"\u201D\u7684\u6A21\u5F0F\u3002\u65B0\u589E\u6570\u636E\u6E90\u65F6\uFF0C\u8BED\u6CD5\u5DEE\u5F02\u5728 Druid \u5C42\u6269\u5C55\uFF0C\u4E1A\u52A1\u5DEE\u5F02\u5728 SqlParserX \u5C42\u6269\u5C55\uFF0C\u4E0A\u4E0B\u4E24\u5C42\u901A\u8FC7 ",(0,t.jsx)(r.code,{children:"DbType"})," \u548C Druid AST \u5BF9\u9F50\u3002"]}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.img,{alt:"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784",src:s(1440).A+"",width:"1745",height:"1361"})}),"\n",(0,t.jsx)(r.h2,{id:"\u603B\u4F53\u67B6\u6784",children:"\u603B\u4F53\u67B6\u6784"}),"\n",(0,t.jsx)(r.mermaid,{value:"flowchart TB\n subgraph Business[sqlparserx-core\uFF5CSqlParserX \u4E1A\u52A1\u89E3\u6790\u5C42]\n direction LR\n B_ROUTE[\u7EDF\u4E00\u65B9\u8A00\u8DEF\u7531<br/>SqlParserFactory]\n B_BASE[\u7EDF\u4E00\u4E1A\u52A1\u57FA\u5EA7<br/>ISqlParser \xb7 BaseSqlParser \xb7 Base Client]\n B_EXT[\u7EDF\u4E00\u6269\u5C55\u70B9<br/>\u65B9\u8A00 Client \xb7 \u89E3\u6790\u7B56\u7565]\n B_DIALECT[\u6570\u636E\u6E90\u4E1A\u52A1\u5B9E\u73B0<br/>MySQL \xb7 Doris \xb7 StarRocks \xb7 ...]\n B_RESULT[\u7EDF\u4E00\u4E1A\u52A1\u7ED3\u679C<br/>\u8868 \xb7 \u5EFA\u8868\u7ED3\u6784 \xb7 \u8840\u7F18 \xb7 SQL]\n B_ROUTE --\x3e B_BASE --\x3e B_EXT --\x3e B_DIALECT --\x3e B_RESULT\n end\n\n subgraph Syntax[sqlparserx-syntax\uFF5CSQL \u8BED\u6CD5\u89E3\u6790\u5C42\uFF0C\u57FA\u4E8E Druid]\n direction LR\n S_ROUTE[\u7EDF\u4E00\u65B9\u8A00\u8DEF\u7531<br/>SqlSyntaxParserFactory \xb7 DbType]\n S_BASE[\u7EDF\u4E00\u8BED\u6CD5\u57FA\u5EA7<br/>Lexer \xb7 StatementParser \xb7 AST]\n S_EXT[\u7EDF\u4E00\u6269\u5C55\u70B9<br/>\u65B9\u8A00 Lexer \xb7 Parser \xb7 AST Node]\n S_DIALECT[\u6570\u636E\u6E90\u8BED\u6CD5\u5B9E\u73B0<br/>MySQL \xb7 Doris \xb7 Oracle \xb7 ...]\n S_RESULT[\u7EDF\u4E00\u8BED\u6CD5\u7ED3\u679C<br/>SQLStatement AST]\n S_ROUTE --\x3e S_BASE --\x3e S_EXT --\x3e S_DIALECT --\x3e S_RESULT\n end\n\n B_ROUTE -. DbType \u5BF9\u9F50 .-> S_ROUTE\n B_DIALECT -. \u540C\u4E00\u6570\u636E\u6E90\u65B9\u8A00 .-> S_DIALECT\n B_BASE --\x3e|SQL + DbType| S_BASE\n S_RESULT --\x3e|SQLStatement AST| B_BASE"}),"\n",(0,t.jsx)(r.h2,{id:"\u4E24\u5C42\u804C\u8D23",children:"\u4E24\u5C42\u804C\u8D23"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u7EDF\u4E00\u6269\u5C55\u9636\u6BB5"}),(0,t.jsxs)(r.th,{children:["SQL \u8BED\u6CD5\u89E3\u6790\u5C42\uFF08",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"}),"\uFF09"]}),(0,t.jsxs)(r.th,{children:["SqlParserX \u4E1A\u52A1\u89E3\u6790\u5C42\uFF08",(0,t.jsx)(r.code,{children:"sqlparserx-core"}),"\uFF09"]})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u7EDF\u4E00\u65B9\u8A00\u8DEF\u7531"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"SqlSyntaxParserFactory"})," \u6309 ",(0,t.jsx)(r.code,{children:"DbType"})," \u9009\u62E9\u5BF9\u5E94\u8BED\u6CD5\u65B9\u8A00"]}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"SqlParserFactory"})," \u6839\u636E\u540C\u4E00\u4E2A ",(0,t.jsx)(r.code,{children:"DbType"})," \u9009\u62E9\u4E1A\u52A1\u89E3\u6790\u5668"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u901A\u7528\u57FA\u5EA7"}),(0,t.jsx)(r.td,{children:"\u901A\u7528 Lexer\u3001StatementParser \u548C AST"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"ISqlParser"}),"\u3001",(0,t.jsx)(r.code,{children:"BaseSqlParser"})," \u548C Base Client"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u7EDF\u4E00\u6269\u5C55\u70B9"}),(0,t.jsx)(r.td,{children:"\u65B9\u8A00 Lexer\u3001\u65B9\u8A00 StatementParser\u3001\u65B9\u8A00 AST Node"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"IParseTableClient"}),"\u3001",(0,t.jsx)(r.code,{children:"IColumnLineageClient"}),"\u3001",(0,t.jsx)(r.code,{children:"ITableLineageClient"}),"\u3001\u89E3\u6790\u7B56\u7565\u7B49"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u6570\u636E\u6E90\u5B9E\u73B0"}),(0,t.jsx)(r.td,{children:"MySQL\u3001Doris\u3001Oracle\u3001Hive \u7B49 Druid \u65B9\u8A00\u5B9E\u73B0"}),(0,t.jsx)(r.td,{children:"MySQL\u3001Doris\u3001StarRocks\u3001Hive \u7B49\u4E1A\u52A1\u65B9\u8A00\u5B9E\u73B0"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u7EDF\u4E00\u7ED3\u679C"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"SQLStatement"})," AST"]}),(0,t.jsx)(r.td,{children:"\u8868\u3001\u5EFA\u8868\u7ED3\u6784\u3001\u5B57\u6BB5\u8840\u7F18\u3001\u8868\u8840\u7F18\u3001\u51FD\u6570\u53CA\u6539\u5199\u540E\u7684 SQL"})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"\u6A21\u5757\u4F9D\u8D56",children:"\u6A21\u5757\u4F9D\u8D56"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"Access: sqlparserx-web (REST) / sqlparserx-ui\n \u2502 unified ISqlParser contract\nBusiness layer: sqlparserx-core\n \u2502 SQL + DbType / SQLStatement AST\nSyntax layer: sqlparserx-syntax (Druid 1.2.28)\n"})}),"\n",(0,t.jsxs)(r.p,{children:["\u4E1A\u52A1\u6269\u5C55\u9075\u5FAA ",(0,t.jsx)(r.code,{children:"SqlParserFactory"})," \u2192 ",(0,t.jsx)(r.code,{children:"ISqlParser"})," \u2192 ",(0,t.jsx)(r.code,{children:"BaseSqlParser"})," \u2192 \u65B9\u8A00\u5B9E\u73B0\u7684\u6A21\u5F0F\u3002\u5B8C\u6574\u7684\u6A21\u5757\u4F9D\u8D56\u4E0E\u5305\u7ED3\u6784\u89C1 ",(0,t.jsx)(r.code,{children:"sqlparserx-core"})," \u6A21\u5757\u7684 README\u3002"]})]})}function x(e={}){let{wrapper:r}={...(0,l.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},1440(e,r,s){s.d(r,{A:()=>n});let n=s.p+"assets/images/SqlParserX\u4E24\u5C42\u67B6\u6784-c7796d93ff72c04ff0bb409eba10ae82.png"},8453(e,r,s){s.d(r,{R:()=>d,x:()=>i});var n=s(6540);let t={},l=n.createContext(t);function d(e){let r=n.useContext(l);return n.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),n.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f362aa0.9247c25c.js b/assets/js/1f362aa0.9247c25c.js new file mode 100644 index 0000000..64cfe51 --- /dev/null +++ b/assets/js/1f362aa0.9247c25c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9054"],{8141(e,r,n){n.r(r),n.d(r,{metadata:()=>s,default:()=>h,frontMatter:()=>c,contentTitle:()=>i,toc:()=>o,assets:()=>l});var s=JSON.parse('{"id":"core/function-parse","title":"\u51FD\u6570\u89E3\u6790","description":"\u63D0\u53D6 SQL \u4E2D\u4F7F\u7528\u7684\u51FD\u6570\u53CA\u5176\u53C2\u6570\u4E0E\u4E0A\u4E0B\u6587","source":"@site/docs/core/function-parse.md","sourceDirName":"core","slug":"/core/function-parse","permalink":"/SqlParserX/docs/next/core/function-parse","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/function-parse.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"title":"\u51FD\u6570\u89E3\u6790","description":"\u63D0\u53D6 SQL \u4E2D\u4F7F\u7528\u7684\u51FD\u6570\u53CA\u5176\u53C2\u6570\u4E0E\u4E0A\u4E0B\u6587","sidebar_label":"\u51FD\u6570\u89E3\u6790","sidebar_position":4},"sidebar":"docs","previous":{"title":"\u8868\u89E3\u6790","permalink":"/SqlParserX/docs/next/core/table-parse"},"next":{"title":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","permalink":"/SqlParserX/docs/next/core/parameter-compile"}}'),t=n(4848),d=n(8453);let c={title:"\u51FD\u6570\u89E3\u6790",description:"\u63D0\u53D6 SQL \u4E2D\u4F7F\u7528\u7684\u51FD\u6570\u53CA\u5176\u53C2\u6570\u4E0E\u4E0A\u4E0B\u6587",sidebar_label:"\u51FD\u6570\u89E3\u6790",sidebar_position:4},i="\u51FD\u6570\u89E3\u6790",l={},o=[{value:"1. \u5F15\u5165\u4F9D\u8D56",id:"1-\u5F15\u5165\u4F9D\u8D56",level:2},{value:"2. \u5B8C\u6574\u793A\u4F8B",id:"2-\u5B8C\u6574\u793A\u4F8B",level:2},{value:"3. \u5B9E\u73B0\u76EE\u6807",id:"3-\u5B9E\u73B0\u76EE\u6807",level:2},{value:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",level:2},{value:"5. \u652F\u6301\u7C92\u5EA6",id:"5-\u652F\u6301\u7C92\u5EA6",level:2}];function a(e){let r={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"\u51FD\u6570\u89E3\u6790",children:"\u51FD\u6570\u89E3\u6790"})}),"\n",(0,t.jsx)(r.h2,{id:"1-\u5F15\u5165\u4F9D\u8D56",children:"1. \u5F15\u5165\u4F9D\u8D56"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"sqlparserx-core"})," \u5DF2\u4F20\u9012\u4F9D\u8D56 ",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"})," \u4E0E Druid\uFF0C\u65E0\u9700\u989D\u5916\u5F15\u5165\u3002"]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"2-\u5B8C\u6574\u793A\u4F8B",children:"2. \u5B8C\u6574\u793A\u4F8B"}),"\n",(0,t.jsxs)(r.p,{children:["\u6CBF\u7528\u5B98\u65B9 ",(0,t.jsx)(r.code,{children:"sqlparserx-core/README.md"})," \u7684\u793A\u4F8B SQL\uFF0C\u63D0\u53D6 SQL \u4E2D\u51FA\u73B0\u7684\u51FD\u6570\u96C6\u5408\uFF1A"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-java",metastring:'title="FunctionParseDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.Set;\n\npublic class FunctionParseDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1\u3001\u83B7\u53D6\u89E3\u6790\u5668\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2\u3001\u89E3\u6790 SQL \u4E2D\u51FA\u73B0\u7684\u51FD\u6570\n Set<String> functions = parser.parseFunction(sql);\n\n // 3\u3001\u8BFB\u53D6\u7ED3\u679C\n System.out.println("\u51FD\u6570\u96C6\u5408: " + functions);\n }\n}\n'})}),"\n",(0,t.jsx)(r.p,{children:"\u63A7\u5236\u53F0\u8F93\u51FA\uFF08\u793A\u4F8B\uFF09\uFF1A"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"\u51FD\u6570\u96C6\u5408: [sum, count]\n"})}),"\n",(0,t.jsx)(r.h2,{id:"3-\u5B9E\u73B0\u76EE\u6807",children:"3. \u5B9E\u73B0\u76EE\u6807"}),"\n",(0,t.jsxs)(r.p,{children:["\u4ECE SQL \u4E2D\u63D0\u53D6",(0,t.jsx)(r.strong,{children:"\u51FD\u6570\u8C03\u7528"}),"\u4FE1\u606F\uFF0C\u8FD4\u56DE\u53BB\u91CD\u540E\u7684\u51FD\u6570\u540D\u96C6\u5408\uFF0C\u4FBF\u4E8E\u505A\u51FD\u6570\u7EA7\u6CBB\u7406\u4E0E\u4F9D\u8D56\u5206\u6790\u3002"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"SQLStatement AST\n \u2192 BaseSqlParser.parseFunction\n \u2192 \u904D\u5386 AST \u6536\u96C6\u51FD\u6570\u8868\u8FBE\u5F0F\n \u2192 Set<String> \u51FD\u6570\u96C6\u5408\n"})}),"\n",(0,t.jsx)(r.h2,{id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",children:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u9879\u76EE"}),(0,t.jsx)(r.th,{children:"\u5185\u5BB9"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Core \u5165\u53E3"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"ISqlParser.parseFunction(sql)"})})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u9ED8\u8BA4\u5B9E\u73B0"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"BaseSqlParser.parseFunction"})})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u8FD4\u56DE\u7C7B\u578B"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"Set<String>"}),"\uFF08\u51FD\u6570\u540D\u96C6\u5408\uFF0C\u7EDF\u4E00\u5C0F\u5199\uFF09"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u8986\u76D6\u8303\u56F4"}),(0,t.jsx)(r.td,{children:"\u5185\u7F6E\u51FD\u6570\u3001\u805A\u5408\u51FD\u6570\u3001\u7A97\u53E3\u51FD\u6570\u3001\u81EA\u5B9A\u4E49\u51FD\u6570"})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"5-\u652F\u6301\u7C92\u5EA6",children:"5. \u652F\u6301\u7C92\u5EA6"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u80FD\u529B\u9879"}),(0,t.jsx)(r.th,{children:"\u652F\u6301\u60C5\u51B5"}),(0,t.jsx)(r.th,{children:"\u8BF4\u660E"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u666E\u901A\u51FD\u6570\u8C03\u7528"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsxs)(r.td,{children:["\u5982 ",(0,t.jsx)(r.code,{children:"substr(name, 1, 3)"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u805A\u5408\u51FD\u6570"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsxs)(r.td,{children:["\u5982 ",(0,t.jsx)(r.code,{children:"sum"}),"\u3001",(0,t.jsx)(r.code,{children:"count"}),"\u3001",(0,t.jsx)(r.code,{children:"max"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u7A97\u53E3\u51FD\u6570"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsxs)(r.td,{children:["\u5982 ",(0,t.jsx)(r.code,{children:"row_number() over(...)"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u5D4C\u5957\u51FD\u6570"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u9012\u5F52\u6536\u96C6\u5185\u5916\u5C42\u51FD\u6570"})]})]})]}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:["\u66F4\u591A\u51FD\u6570\u573A\u666F\u4E0E\u6570\u636E\u6E90\u5DEE\u5F02\uFF0C\u4EE5\u9879\u76EE ",(0,t.jsx)(r.code,{children:"docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u80FD\u529B\u652F\u6301\u60C5\u51B5/\u901A\u7528\u89E3\u6790\u80FD\u529B/\u51FD\u6570\u89E3\u6790\u652F\u6301\u60C5\u51B5.md"})," \u4E3A\u51C6\u3002"]}),"\n"]})]})}function h(e={}){let{wrapper:r}={...(0,d.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},8453(e,r,n){n.d(r,{R:()=>c,x:()=>i});var s=n(6540);let t={},d=s.createContext(t);function c(e){let r=s.useContext(d);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),s.createElement(d.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f434cef.90aca92f.js b/assets/js/1f434cef.90aca92f.js new file mode 100644 index 0000000..df8b55b --- /dev/null +++ b/assets/js/1f434cef.90aca92f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2052"],{7508(e,n,r){r.r(n),r.d(n,{metadata:()=>s,default:()=>h,frontMatter:()=>d,contentTitle:()=>i,toc:()=>c,assets:()=>a});var s=JSON.parse('{"id":"core/field-lineage","title":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","description":"\u4ECE SQL \u63A8\u5BFC\u6765\u6E90\u8868.\u6765\u6E90\u5B57\u6BB5 \u2192 \u76EE\u6807\u8868.\u76EE\u6807\u5B57\u6BB5 \u7684\u5B57\u6BB5\u7EA7\u8840\u7F18\u5173\u7CFB","source":"@site/versioned_docs/version-1.0/core/field-lineage.md","sourceDirName":"core","slug":"/core/field-lineage","permalink":"/SqlParserX/docs/core/field-lineage","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/field-lineage.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","description":"\u4ECE SQL \u63A8\u5BFC\u6765\u6E90\u8868.\u6765\u6E90\u5B57\u6BB5 \u2192 \u76EE\u6807\u8868.\u76EE\u6807\u5B57\u6BB5 \u7684\u5B57\u6BB5\u7EA7\u8840\u7F18\u5173\u7CFB","sidebar_label":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","sidebar_position":1},"sidebar":"docs","previous":{"title":"SQL \u7C7B\u578B\u8BC6\u522B","permalink":"/SqlParserX/docs/core/sql-type"},"next":{"title":"\u8868\u8840\u7F18\u89E3\u6790","permalink":"/SqlParserX/docs/core/table-lineage"}}'),l=r(4848),t=r(8453);let d={title:"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",description:"\u4ECE SQL \u63A8\u5BFC\u6765\u6E90\u8868.\u6765\u6E90\u5B57\u6BB5 \u2192 \u76EE\u6807\u8868.\u76EE\u6807\u5B57\u6BB5 \u7684\u5B57\u6BB5\u7EA7\u8840\u7F18\u5173\u7CFB",sidebar_label:"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",sidebar_position:1},i="\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",a={},c=[{value:"1. \u5F15\u5165\u4F9D\u8D56",id:"1-\u5F15\u5165\u4F9D\u8D56",level:2},{value:"2. \u5B8C\u6574\u793A\u4F8B",id:"2-\u5B8C\u6574\u793A\u4F8B",level:2},{value:"3. \u5B9E\u73B0\u76EE\u6807",id:"3-\u5B9E\u73B0\u76EE\u6807",level:2},{value:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",level:2},{value:"5. \u652F\u6301\u7C92\u5EA6\u4E0E\u6DF1\u5EA6",id:"5-\u652F\u6301\u7C92\u5EA6\u4E0E\u6DF1\u5EA6",level:2},{value:"\u5B57\u6BB5\u573A\u666F",id:"\u5B57\u6BB5\u573A\u666F",level:3}];function o(e){let n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",children:"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790"})}),"\n",(0,l.jsx)(n.h2,{id:"1-\u5F15\u5165\u4F9D\u8D56",children:"1. \u5F15\u5165\u4F9D\u8D56"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.code,{children:"sqlparserx-core"})," \u5DF2\u4F20\u9012\u4F9D\u8D56 ",(0,l.jsx)(n.code,{children:"sqlparserx-syntax"})," \u4E0E Druid\uFF0C\u65E0\u9700\u989D\u5916\u5F15\u5165\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"2-\u5B8C\u6574\u793A\u4F8B",children:"2. \u5B8C\u6574\u793A\u4F8B"}),"\n",(0,l.jsxs)(n.p,{children:["\u4ECE\u83B7\u53D6\u89E3\u6790\u5668\u3001\u6784\u9020\u5143\u6570\u636E\u5230\u6253\u5370\u5B57\u6BB5\u8840\u7F18\u7684",(0,l.jsx)(n.strong,{children:"\u5B8C\u6574\u53EF\u8FD0\u884C"}),"\u7C7B\uFF1A"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-java",metastring:'title="FieldLineageDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.Arrays;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\npublic class FieldLineageDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1\u3001\u51C6\u5907\u5143\u6570\u636E\uFF1A\u8868 -> \u5B57\u6BB5\u5217\u8868\uFF08\u7528\u4E8E select * / \u5B57\u6BB5\u5C55\u5F00\uFF09\n Map<String, List<Column>> tableColumnsMap = new HashMap<>();\n tableColumnsMap.put("users", Arrays.asList(\n new Column("id", 0), new Column("name", 1)));\n tableColumnsMap.put("orders", Arrays.asList(\n new Column("amount", 0), new Column("id", 1)));\n\n // 2\u3001\u83B7\u53D6\u89E3\u6790\u5668\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 3\u3001\u89E3\u6790\u5B57\u6BB5\u8840\u7F18\n ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap);\n\n // 4\u3001\u6253\u5370\u7ED3\u679C\uFF1A\u76EE\u6807\u8868 + \u76EE\u6807\u5B57\u6BB5 -> \u6765\u6E90\u5B57\u6BB5\n System.out.println("\u76EE\u6807\u8868: " + result.getTargetTable());\n result.printColumnLineage();\n }\n}\n'})}),"\n",(0,l.jsx)(n.p,{children:"\u63A7\u5236\u53F0\u8F93\u51FA\uFF08\u793A\u4F8B\uFF09\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"\u76EE\u6807\u8868: user_order_summary\nusers.id -> user_order_summary.user_id\nusers.name -> user_order_summary.name\norders.amount -> user_order_summary.total_amount\norders.id -> user_order_summary.order_count\n"})}),"\n",(0,l.jsx)(n.h2,{id:"3-\u5B9E\u73B0\u76EE\u6807",children:"3. \u5B9E\u73B0\u76EE\u6807"}),"\n",(0,l.jsxs)(n.p,{children:["\u4ECE SQL \u4E2D\u63A8\u5BFC ",(0,l.jsx)(n.strong,{children:"\u6765\u6E90\u8868.\u6765\u6E90\u5B57\u6BB5 \u2192 \u76EE\u6807\u8868.\u76EE\u6807\u5B57\u6BB5"})," \u7684\u5B57\u6BB5\u7EA7\u8840\u7F18\u5173\u7CFB\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:["\u6838\u5FC3\u601D\u8DEF\uFF1A\u628A\u300C\u6765\u6E90 select \u5B57\u6BB5\u5217\u8868\u300D\u4E0E\u300C\u76EE\u6807\u5B57\u6BB5\u5217\u8868\u300D\u5404\u81EA\u5F52\u4E00\u4E3A ",(0,l.jsx)(n.code,{children:"(\u771F\u5B9E\u5B57\u6BB5, \u522B\u540D\u5B57\u6BB5, \u771F\u5B9E\u8868\u540D)"})," \u7684\u4E09\u5143\u7EC4\u96C6\u5408\uFF0C\u518D\u6309\u56FA\u5B9A\u5339\u914D\u89C4\u5219\u751F\u6210\u8840\u7F18\u3002\u5B57\u6BB5\u8840\u7F18\u7684\u8F93\u5165\u662F\u63D2\u5165/\u5EFA\u8868\u7C7B SQL\uFF0C\u7EAF\u67E5\u8BE2 SQL \u4E0D\u4EA7\u751F\u8840\u7F18\u3002"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"SQLInsertStatement / SQLCreateTableStatement(AS SELECT)\n \u2192 ColumnLineageClient.parseColumnLineages\n \u2192 \u76EE\u6807\u5B57\u6BB5\u5217\u8868 + \u6765\u6E90 select \u5B57\u6BB5\u5217\u8868\n \u2192 addColumnRelations \u9010\u6761\u5339\u914D\n \u2192 ColumnLineageResult\n"})}),"\n",(0,l.jsx)(n.h2,{id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",children:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u9879\u76EE"}),(0,l.jsx)(n.th,{children:"\u5185\u5BB9"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Core \u5165\u53E3"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"ISqlParser.parseColumnLineages(sql, tableColumnsMap)"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u9ED8\u8BA4\u5B9E\u73B0"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"BaseSqlParser.parseColumnLineages"})," \u2192 ",(0,l.jsx)(n.code,{children:"ColumnLineageClient"})]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u8FD4\u56DE\u7C7B\u578B"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"ColumnLineageResult"}),"\uFF08",(0,l.jsx)(n.code,{children:"getColumnRelations()"})," + ",(0,l.jsx)(n.code,{children:"getColumnLineages()"}),"\uFF09"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u9002\u7528\u8BED\u53E5"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"SQLInsertStatement"}),"\u3001",(0,l.jsx)(n.code,{children:"SQLCreateTableStatement"}),"\uFF08AS SELECT\uFF09"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u5143\u6570\u636E\u8F93\u5165"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"Map<String, List<Column>> tableColumnsMap"}),"\uFF08\u8868 \u2192 \u5B57\u6BB5\u5217\u8868\uFF09"]})]})]})]}),"\n",(0,l.jsx)(n.h2,{id:"5-\u652F\u6301\u7C92\u5EA6\u4E0E\u6DF1\u5EA6",children:"5. \u652F\u6301\u7C92\u5EA6\u4E0E\u6DF1\u5EA6"}),"\n",(0,l.jsx)(n.h3,{id:"\u5B57\u6BB5\u573A\u666F",children:"\u5B57\u6BB5\u573A\u666F"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u80FD\u529B\u9879"}),(0,l.jsx)(n.th,{children:"\u652F\u6301\u60C5\u51B5"}),(0,l.jsx)(n.th,{children:"\u8BF4\u660E"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"catalog.db.table.column"})," \u5B57\u6BB5\u8BC6\u522B"]}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsx)(n.td,{children:"\u652F\u6301 Hive/Trino/StarRocks \u7B49\u591A catalog \u573A\u666F"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"db.table.column"})," \u5B57\u6BB5\u8BC6\u522B"]}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsx)(n.td,{children:"MySQL/PostgreSQL \u7B49\u6807\u51C6\u7528\u6CD5"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsxs)(n.td,{children:["\u5B57\u6BB5\u8868\u8FBE\u5F0F\u8BA1\u7B97\uFF08",(0,l.jsx)(n.code,{children:"SQLBinaryOpExpr"}),"\uFF09"]}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsxs)(n.td,{children:["\u5982 ",(0,l.jsx)(n.code,{children:"t5.level + 1"}),"\uFF0C\u5DE6\u53F3\u9012\u5F52\u6536\u96C6\u5B57\u6BB5"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"*"})," / ",(0,l.jsx)(n.code,{children:"xx.*"})," \u5C55\u5F00"]}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsxs)(n.td,{children:["\u4F9D\u636E\u5143\u6570\u636E ",(0,l.jsx)(n.code,{children:"tableColumnsMap"})," \u8BFB\u53D6\u5B57\u6BB5\uFF1B\u65E0\u5143\u6570\u636E\u4FDD\u7559 ",(0,l.jsx)(n.code,{children:"*"})]})]})]})]}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsxs)(n.p,{children:["\u66F4\u591A\u5B57\u6BB5\u573A\u666F\u3001\u8868\u8FBE\u5F0F\u4E0E\u5B50\u67E5\u8BE2\u7684\u8986\u76D6\u60C5\u51B5\uFF0C\u4EE5\u9879\u76EE ",(0,l.jsx)(n.code,{children:"docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u80FD\u529B\u652F\u6301\u60C5\u51B5/\u901A\u7528\u89E3\u6790\u80FD\u529B/\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\u652F\u6301\u60C5\u51B5.md"})," \u4E3A\u51C6\u3002"]}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(o,{...e})}):o(e)}},8453(e,n,r){r.d(n,{R:()=>d,x:()=>i});var s=r(6540);let l={},t=s.createContext(l);function d(e){let n=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:d(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/207a8b88.b873bba7.js b/assets/js/207a8b88.b873bba7.js new file mode 100644 index 0000000..383904a --- /dev/null +++ b/assets/js/207a8b88.b873bba7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["984"],{7820(n){n.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"origin-of-sqlparserx","metadata":{"permalink":"/SqlParserX/blog/origin-of-sqlparserx","editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/blog/2026-09-28-origin-of-sqlparserx.md","source":"@site/blog/2026-09-28-origin-of-sqlparserx.md","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002","date":"2026-09-28T00:00:00.000Z","tags":[{"inline":false,"label":"\u8D77\u6E90\u4E0E\u80CC\u666F","permalink":"/SqlParserX/blog/tags/origin","description":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u4E0E\u5185\u90E8\u6539\u9020\u5386\u7A0B"}],"readingTime":16.44,"hasTruncateMarker":true,"authors":[{"name":"changlu","title":"SqlParserX \u7EF4\u62A4\u8005","url":"https://github.com/DTStack/SqlParserX","page":{"permalink":"/SqlParserX/blog/authors/changlu"},"socials":{"github":"https://github.com/DTStack"},"imageURL":"https://github.com/github.png","key":"changlu"}],"frontMatter":{"slug":"origin-of-sqlparserx","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","authors":["changlu"],"tags":["origin"],"date":"2026-09-28T00:00:00.000Z","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002"},"unlisted":false},"content":"> \u4F5C\u8005\uFF1Achanglu \uFF5C \u65E5\u671F\uFF1A2026-09-28\\n>\\n> \u8FD9\u662F\u4E00\u7BC7\u5173\u4E8E SqlParserX \u8D77\u6E90\u7684\u6280\u672F\u535A\u5BA2\u3002\u5B83\u8BB0\u5F55\u4E86\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002\\n> \u9879\u76EE\u5730\u5740\u4E0E\u4F7F\u7528\u65B9\u5F0F\u89C1 [SqlParserX \u4ED3\u5E93](https://github.com/DTStack/SqlParserX)\uFF0C\u53CC\u5C42\u67B6\u6784\u8BBE\u8BA1\u89C1 [\u67B6\u6784\u8BBE\u8BA1](/docs/about/architecture)\u3002\\n\\n{/* truncate */}\\n\\n## \u4E00\u3001\u4E3A\u4EC0\u4E48\u9700\u8981\u61C2\u89E3\u6790\u5668\\n\\n### 1.1 \u4EC0\u4E48\u662F\u89E3\u6790\u5668\\n\\n\u89E3\u6790\u5668\u662F\u8BA1\u7B97\u673A\u79D1\u5B66\u548C\u7F16\u7A0B\u8BED\u8A00\u9886\u57DF\u4E2D\u81F3\u5173\u91CD\u8981\u7684\u5DE5\u5177\uFF0C\u5176\u6838\u5FC3\u4F5C\u7528\u662F**\u5C06\u4EBA\u7C7B\u53EF\u7406\u89E3\u7684\u300C\u5F62\u5F0F\u5316\u8BED\u8A00\u300D\uFF08\u5982\u4EE3\u7801\u3001\u6570\u636E\u683C\u5F0F\u3001\u8868\u8FBE\u5F0F\u7B49\uFF09\u8F6C\u6362\u4E3A\u673A\u5668\u53EF\u5904\u7406\u7684\u7ED3\u6784**\uFF0C\u4ECE\u800C\u5B9E\u73B0\u4FE1\u606F\u7684\u89E3\u6790\u3001\u9A8C\u8BC1\u548C\u540E\u7EED\u5904\u7406\u3002\\n\\n\u4EBA\u7C7B\u4F7F\u7528\u7684\u8BED\u8A00\uFF08\u65E0\u8BBA\u662F\u7F16\u7A0B\u8BED\u8A00\u5982 Python\u3001\u6570\u636E\u683C\u5F0F\u5982 JSON\uFF0C\u8FD8\u662F\u67E5\u8BE2\u8BED\u53E5\u5982 SQL\uFF09\u672C\u8D28\u662F**\u7ED3\u6784\u5316\u7684\u5B57\u7B26\u4E32**\uFF0C\u4F46\u673A\u5668\u65E0\u6CD5\u76F4\u63A5\u7406\u89E3\u8FD9\u79CD\u5B57\u7B26\u4E32\u7684\u903B\u8F91\u542B\u4E49\u3002\\n\\n\u4F8B\u5982\uFF0C\u7A0B\u5E8F\u5458\u5199\u7684 `x = (a + b) * 3` \u662F\u4E00\u4E32\u5B57\u7B26\uFF0C\u4F46\u673A\u5668\u9700\u8981\u77E5\u9053\u8FD9\u662F\u300C\u5148\u7B97 `a + b`\uFF0C\u518D\u4E58\u4EE5 3\uFF0C\u6700\u540E\u8D4B\u503C\u7ED9 `x`\u300D\u7684\u8FD0\u7B97\u903B\u8F91\u3002\u89E3\u6790\u5668\u628A\u8FD9\u4E2A\u5B57\u7B26\u4E32\u89E3\u6790\u4E3A\u4E00\u68F5\u8BED\u6CD5\u6811\uFF0C\u518D\u6309\u89C4\u5219\u4E00\u6B65\u6B65\u8FD0\u7B97\u3002\\n\\n```sql\\n// \u89E3\u6790\u5668 \u626B\u63CF\u89E3\u6790\u65B9\u7A0B x = (a + b) * 3 \u5F97\u5230\u7684\u8BED\u6CD5\u6811 AST\\n\\n [=]\\n / \\\\\\n [x] [*]\\n / \\\\\\n [+] [3]\\n / \\\\\\n [a] [b]\\n\\n\u89E3\u91CA\u6267\u884C\u6B65\u9AA4\uFF1A\\n1\u3001\u4ECE\u6839\u8282\u70B9 = \u5F00\u59CB\uFF0C\u8868\u793A\u8FD9\u662F\u4E00\u4E2A\u8D4B\u503C\u64CD\u4F5C\u3002\\n2\u3001\u5DE6\u5B50\u6811 x \u662F\u8D4B\u503C\u76EE\u6807\uFF0C\u53F3\u5B50\u6811 * \u662F\u8BA1\u7B97\u5185\u5BB9\u3002\\n3\u3001\u8BA1\u7B97 * \u65F6\uFF0C\u5148\u8BA1\u7B97\u5DE6\u5B50\u6811 +\uFF08a + b\uFF09\uFF0C\u518D\u4E58\u4EE5\u53F3\u5B50\u6811 3\u3002\\n4\u3001\u6700\u540E\u5C06\u7ED3\u679C\u8D4B\u503C\u7ED9 x\u3002\\n```\\n\\n\u7F16\u7A0B\u8BED\u8A00\u540C\u7406\uFF0C\u5982 C\u3001Java \u7B49\u90FD\u6709\u7279\u5B9A\u7684\u8BED\u6CD5\u89C4\u5219\uFF0C\u901A\u8FC7\u89E3\u6790\u5668\u628A\u4EE3\u7801\u8F6C\u4E3A AST \u8BED\u6CD5\u6811\uFF0C\u518D\u7F16\u8BD1\u5B57\u8282\u7801\u3001\u673A\u5668\u7801\u6765\u6267\u884C\u3002\\n\\n```sql\\n// \u89E3\u6790\u5668 \u626B\u63CF\u89E3\u6790 Java \u4EE3\u7801 if (x > 0) { y = 10; } \u5F97\u5230\u7684\u8BED\u6CD5\u6811 AST\\n [if]\\n / \\\\\\n [>] [block]\\n / \\\\ \\\\\\n[x] [0] [=]\\n / \\\\\\n [y] [10]\\n\\n\u89E3\u6790\u6267\u884C\u6B65\u9AA4\uFF1A\\n1\u3001\u6839\u8282\u70B9 if \u8868\u793A\u6761\u4EF6\u5224\u65AD\u3002\\n2\u3001\u5148\u8BA1\u7B97\u6761\u4EF6 >\uFF08x > 0\uFF09\uFF0C\u5982\u679C\u4E3A\u771F\uFF1A\\n3\u3001\u8FDB\u5165 block \u6267\u884C\u5185\u90E8\u8BED\u53E5 y = 10\u3002\\n4\u3001\u5982\u679C\u4E3A\u5047\uFF0C\u8DF3\u8FC7\u6574\u4E2A block\u3002\\n```\\n\\n**\u89E3\u6790\u5668\u7684\u4F5C\u7528**\uFF0C\u5C31\u662F\u628A\u8FD9\u79CD\u5B57\u7B26\u4E32\u300C\u62C6\u89E3\u300D\u4E3A\u6709\u610F\u4E49\u7684\u8BED\u6CD5\u7ED3\u6784\uFF08\u5982\u62BD\u8C61\u8BED\u6CD5\u6811 AST\uFF09\uFF0C\u8BA9\u673A\u5668\u80FD\u6309\u89C4\u5219\u6267\u884C\u3002\\n\\n### 1.2 \u5982\u4F55\u5B9E\u73B0\u89E3\u6790\u5668\\n\\n\u5728\u7F16\u8BD1\u5668\u5B9E\u73B0\u4E2D\uFF0C\u4E3B\u8981\u8981\u505A\u7684\u662F**\u8BCD\u6CD5\u5206\u6790\u548C\u8BED\u6CD5\u5206\u6790**\uFF1A\\n\\n- **\u8BCD\u6CD5\u5206\u6790**\uFF1A\u89E3\u6790\u4EE3\u7801\u5E76\u751F\u6210 Token\uFF08\u4E00\u4E2A\u5355\u8BCD\u7684\u5B57\u9762\u548C\u5B83\u7684\u79CD\u7C7B\u53CA\u8BED\u4E49\u503C\uFF09\u5E8F\u5217\uFF0C\u5B9E\u73B0\u4E00\u822C\u79F0\u4E3A\u626B\u63CF\u5668\uFF08Scanner\uFF09\u3002\u6838\u5FC3\u903B\u8F91\u662F\u5B9A\u4E49 token\uFF08\u8BED\u4E49\uFF09\u4E0E scanner\uFF08\u626B\u63CF token\uFF09\u3002\\n- **\u8BED\u6CD5\u5206\u6790**\uFF1A\u5229\u7528\u626B\u63CF\u5668\u751F\u6210\u7684 Token \u5E8F\u5217\u751F\u6210\u62BD\u8C61\u8BED\u6CD5\u6811\uFF0C\u5B9E\u73B0\u4E00\u822C\u79F0\u4E3A\u89E3\u6790\u5668\uFF08Parser\uFF09\u3002\u6838\u5FC3\u903B\u8F91\u662F\u8FDB\u884C\u8BED\u6CD5\u68C0\u67E5\uFF0C\u5E76\u6784\u5EFA\u7531\u8F93\u5165\u5355\u8BCD\u7EC4\u6210\u7684\u5C42\u6B21\u5316\u6570\u636E\u7ED3\u6784\uFF08\u8BED\u6CD5\u5206\u6790\u6811\u3001\u62BD\u8C61\u8BED\u6CD5\u6811\u7B49\uFF09\u3002\\n\\n```sql\\n\u6570\u5B66\u8868\u8FBE\u5F0F\uFF1A1 + 2 * 3\\n\\n// \u9996\u5148\u5728\u8FDB\u884C\u8BCD\u6CD5\u3001\u8BED\u6CD5\u5206\u6790\u524D\uFF0C\u6211\u4EEC\u5148\u5B9A\u4E49\u597D token\\n\u5355\u8BCD\u5B57\u9762 Token \u7C7B\u578B \u8BF4\u660E\\n1 INTEGER \u6574\u6570 1\\n+ ADD_OP \u52A0\u6CD5\u8FD0\u7B97\u7B26\\n2 INTEGER \u6574\u6570 2\\n* MUL_OP \u4E58\u6CD5\u8FD0\u7B97\u7B26\\n3 INTEGER \u6574\u6570 3\\n\\n// 1\u3001\u8BCD\u6CD5\u5206\u6790\uFF1A\u4ECE\u524D\u5F80\u540E\u626B\u63CF\u5F97\u5230\u4E00\u7EC4 Token \u6D41\\n[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)]\\n\\n// 2\u3001\u8BED\u6CD5\u5206\u6790\uFF1A\u6839\u636E\u8FD0\u7B97\u7B26\u4F18\u5148\u7EA7\uFF08* \u4F18\u5148\u4E8E +\uFF09\u548C Token \u6D41\u6784\u5EFA AST\\n [+]\\n / \\\\\\n 1 [*]\\n / \\\\\\n 2 3\\n```\\n\\n\u5B9E\u73B0\u4E00\u79CD\u89C4\u5219\u7684\u89E3\u6790\u5668\u6709\u4E24\u79CD\u65B9\u5F0F\uFF1A\\n\\n- **\u65B9\u5F0F\u4E00**\uFF1A\u4E0D\u4F9D\u8D56\u4EFB\u4F55\u5DE5\u5177\uFF0C\u624B\u5199\u626B\u63CF\u5668\u548C\u89E3\u6790\u5668\u3002\\n- **\u65B9\u5F0F\u4E8C**\uFF1A\u4F7F\u7528\u73B0\u6210\u7684\u89E3\u6790\u5668\u751F\u6210\u5668\uFF08Yacc\u3001ANTLR\u3001JavaCC \u7B49\uFF09\uFF0C\u6839\u636E\u81EA\u5B9A\u4E49\u8BED\u6CD5\u89C4\u5219\u6587\u4EF6\u81EA\u52A8\u751F\u6210\u89E3\u6790\u5668\u4EE3\u7801\uFF0C\u4ECE\u800C\u4E13\u6CE8\u4E8E\u8BED\u6CD5\u89C4\u5219\u8BBE\u8BA1\u3002\\n\\n### 1.3 \u4EC0\u4E48\u662F SQL \u89E3\u6790\u5668\\n\\nSQL \u89E3\u6790\u5668\u662F**\u80FD\u591F\u5C06 SQL \u8BED\u53E5\u8F6C\u6362\u4E3A\u8BA1\u7B97\u673A\u53EF\u7406\u89E3\u548C\u6267\u884C\u7ED3\u6784\u7684\u7A0B\u5E8F\u7EC4\u4EF6**\u3002\u5B83\u5C06\u6587\u672C\u5F62\u5F0F\u7684 SQL \u8F6C\u6362\u4E3A\u62BD\u8C61\u8BED\u6CD5\u6811\uFF08AST\uFF09\uFF0C\u4E3A\u540E\u7EED\u7684\u67E5\u8BE2\u4F18\u5316\u548C\u6267\u884C\u63D0\u4F9B\u57FA\u7840\u3002\u901A\u4FD7\u5730\u8BF4\uFF0C\u5C31\u662F\u80FD\u5BF9 SQL \u8FDB\u884C\u89E3\u6790\u3001\u8F6C\u6362\u6210\u8BED\u6CD5\u6811\u7684\u5DE5\u5177\u3002\\n\\n```sql\\n# \u67E5\u8BE2\\nSELECT * FROM users WHERE status = \'active\';\\n# \u63D2\u5165\\nINSERT INTO customers (name, email) VALUES (\'\u674E\u56DB\', \'lisi@example.com\');\\n# \u66F4\u65B0\\nUPDATE products SET price = 5999 WHERE id = 1001;\\n# \u5220\u9664\\nDELETE FROM logs WHERE create_time < \'2024-01-01\';\\n# \u521B\u5EFA\u8868\\nCREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2));\\n# \u4FEE\u6539\u8868\\nALTER TABLE employees ADD COLUMN department VARCHAR(20);\\n# \u5220\u9664\u8868\\nDROP TABLE temp_data;\\n# \u6388\u6743\\nGRANT SELECT ON customers TO user1;\\n```\\n\\n### 1.4 SQL \u89E3\u6790\u4F4D\u4E8E\u6574\u6761\u94FE\u8DEF\u7684\u54EA\u4E2A\u4F4D\u7F6E\\n\\n\u5E38\u89C1\u6570\u636E\u5E93\u6267\u884C SQL \u7684\u6574\u4E2A\u8FC7\u7A0B\uFF1A\\n\\n```text\\nSQL\u6587\u672C \u2192 \u8BCD\u6CD5\u5206\u6790\uFF08Tokenizer\uFF09\u2192 \u8BED\u6CD5\u5206\u6790\uFF08Parser\uFF09\u2192 AST \u2192 \u8BED\u4E49\u5206\u6790 \u2192 \u4F18\u5316SQL \u2192 \u4EA7\u751F\u6267\u884C\u8BA1\u5212/\u6267\u884C\u4EFB\u52A1\\n```\\n\\n\u800C SQL \u89E3\u6790\u4E2D\u95F4\u4EF6\u5173\u6CE8\u7684\u662F AST \u4E4B\u540E\u7684\u5E94\u7528\u5C42\u80FD\u529B\uFF1A\\n\\n```text\\nSQL\u6587\u672C \u2192 \u8BCD\u6CD5\u5206\u6790\uFF08Tokenizer\uFF09\u2192 \u8BED\u6CD5\u5206\u6790\uFF08Parser\uFF09\u2192 AST \u2192 \u5E94\u7528\u5C42\uFF08\u7C7B\u578B\u8BC6\u522B\u3001\u8868\u5B57\u6BB5\u8840\u7F18\u3001\u8868\u89E3\u6790\u3001SQL\u8131\u654F\uFF09\u2192 \u5B50\u4EA7\u54C1\u5E94\u7528\\n```\\n\\n**\u8FD9\u6B63\u662F SqlParserX \u7684\u5B9A\u4F4D**\uFF1A\u4E0D\u91CD\u590D\u5B9E\u73B0\u6570\u636E\u5E93\u5F15\u64CE\uFF0C\u53EA\u57FA\u4E8E\u4E00\u5957\u7EDF\u4E00\u7684 AST\uFF0C\u628A\u300C\u8868\u3001\u8840\u7F18\u3001\u51FD\u6570\u3001\u6743\u9650\u6539\u5199\u300D\u7B49\u89E3\u6790\u80FD\u529B\u505A\u6210\u53EF\u590D\u7528\u7684\u4E2D\u95F4\u4EF6\u3002\\n\\n---\\n\\n## \u4E8C\u3001\u5E02\u9762\u4E0A\u5E38\u89C1\u7684 SQL \u89E3\u6790\u65B9\u6848\\n\\n\u5728\u52A8\u624B\u4E4B\u524D\uFF0C\u6211\u4EEC\u5148\u6A2A\u5411\u6BD4\u8F83\u4E86\u4E3B\u6D41\u65B9\u6848\u3002\\n\\n![\u5E02\u9762\u4E0A\u5E38\u89C1\u7684\u89E3\u6790\u5668\u6574\u4F53\u4ECB\u7ECD](assets/01-parser-market.png)\\n\\n### 2.1 \u5E95\u5C42\u89E3\u6790\u5668\u4EF6\uFF1AJavaCC / ANTLR 3 / ANTLR 4\\n\\n| \u7279\u6027 | JavaCC | ANTLR 3 | ANTLR 4 |\\n|---|---|---|---|\\n| \u8BED\u6CD5\u5206\u6790\u7B97\u6CD5 | LL(k) | LL(*) | LL(*)\uFF08\u81EA\u9002\u5E94\u9884\u6D4B\uFF09 |\\n| \u5DE6\u9012\u5F52\u5904\u7406 | \u4E0D\u652F\u6301\uFF0C\u9700\u624B\u52A8\u8F6C\u6362 | \u9700\u624B\u52A8\u8F6C\u6362 | \u81EA\u52A8\u5904\u7406 |\\n| \u76EE\u6807\u8BED\u8A00 | Java | Java\u3001C#\u3001Python \u7B49 | \u540C ANTLR 3 |\\n| \u9519\u8BEF\u5904\u7406 | \u57FA\u7840\u9519\u8BEF\u6062\u590D | \u589E\u5F3A\u7684\u9519\u8BEF\u6062\u590D | \u667A\u80FD\u9519\u8BEF\u6062\u590D\u4E0E\u8BCA\u65AD |\\n| \u8BED\u6CD5\u590D\u6742\u5EA6 | \u7B80\u5355\u76F4\u89C2 | \u8F83\u590D\u6742 | \u7B80\u5316\uFF08\u76F8\u6BD4 ANTLR 3\uFF09 |\\n| \u5E94\u7528\u573A\u666F | \u5C0F\u578B\u9879\u76EE\u3001\u6559\u80B2 | \u4E2D\u5927\u578B\u9879\u76EE | \u5927\u578B\u9879\u76EE\u3001\u590D\u6742\u8BED\u6CD5 |\\n\\n### 2.2 SQL \u89E3\u6790\u5668\u811A\u624B\u67B6\uFF1ACalcite / hive-exec\\n\\n\u6240\u8C13\u811A\u624B\u67B6\uFF0C\u662F\u57FA\u4E8E JavaCC \u6216 ANTLR \u5DF2\u7ECF\u5B9E\u73B0\u4E86\u6807\u51C6 SQL \u7684\u8BCD\u6CD5\u3001\u8BED\u6CD5\u89C4\u5219\uFF0C\u6211\u4EEC\u53EA\u9700\u6309\u5176\u89C4\u8303\u6269\u5C55\uFF1A\\n\\n- **Calcite\uFF08\u57FA\u4E8E JavaCC\uFF09**\uFF1A\u6A21\u5757\u5316\u3001\u53EF\u6269\u5C55\u7684 SQL \u89E3\u6790\u4E0E\u4F18\u5316\u6846\u67B6\uFF0C\u5F88\u591A\u5F00\u6E90 SQL \u5F15\u64CE\u7528\u5B83\u6765\u505A\u6807\u51C6 SQL \u89E3\u6790\u4E0E\u4F18\u5316\u3002\\n- **hive-exec\uFF08\u57FA\u4E8E ANTLR3\uFF09**\uFF1AHive \u7684\u6838\u5FC3\u5305\uFF0C\u652F\u6301 Hive/Spark \u8BED\u6CD5\u89E3\u6790\u3002\\n\\n### 2.3 \u66F4\u300C\u5177\u8C61\u5316\u300D\u7684\u89E3\u6790\u5668\uFF1AJSqlParser / Druid\\n\\n- **JSqlParser**\uFF1A\u57FA\u4E8E JavaCC\uFF0C\u80FD\u5C06 SQL \u8F6C\u4E3A\u66F4\u8BED\u4E49\u5316\u7684\u7ED3\u6784\uFF08\u5982 `select` \u2192 `SelectStatement`\uFF09\uFF0C\u652F\u6301\u8BED\u6CD5\u6811\u7C7B\u7EE7\u627F\u3001JavaAPI \u6784\u5EFA SQL\u3001\u8BED\u6CD5\u6811\u8F6C SQL\uFF1B\u4F46 **API \u65E0\u660E\u663E\u7684\u7279\u5B9A\u65B9\u8A00\u89E3\u6790\u5206\u5C42\uFF0C\u652F\u6301\u7684\u6570\u636E\u6E90\u89E3\u6790\u80FD\u529B\u8F83\u5F31**\u3002\\n- **Druid**\uFF1A\u5B8C\u5168\u7528 Java \u81EA\u5B9E\u73B0\u626B\u63CF\u5668\u3001\u89E3\u6790\u5668\uFF0C\u89E3\u6790\u51FA\u7684\u8BED\u6CD5\u6811\u662F**\u5177\u8C61\u5316\u7684\u62BD\u8C61\u8BED\u6CD5\u6811\uFF08\u5177\u6709\u7EE7\u627F\u5173\u7CFB\uFF09**\uFF0C\u5E76\u4E14**\u652F\u6301\u6309\u6570\u636E\u6E90\u5206\u5C42\u6269\u5C55**\uFF08Lexer\u3001Parser \u626B\u63CF\u53EF\u5206\u5C42\u9694\u79BB\uFF09\u3002\\n\\n### 2.4 \u6838\u5FC3\u5BF9\u6BD4\u4E0E\u9009\u578B\u7ED3\u8BBA\\n\\n| \u5DE5\u5177 | \u4F9D\u8D56\u5DE5\u5177 | \u89E3\u6790 SQL \u80FD\u529B | \u8BED\u6CD5\u6811\u7C7B\u7EE7\u627F | \u4F18\u7F3A\u70B9 |\\n|---|---|---|---|---|\\n| JavaCC | \u539F\u751F\u5B9A\u4E49\u89E3\u6790\u89C4\u5219 | \u65E0 | \u65E0 | \u9700\u4ECE\u96F6\u5B9A\u4E49 SQL \u89C4\u5219 |\\n| ANTLR4 | \u539F\u751F\u5B9A\u4E49\u89E3\u6790\u89C4\u5219 | \u6709\uFF0C\u5B98\u65B9\u8BED\u6CD5\u751F\u6001\u6781\u597D | \u65E0 | \u8BED\u6CD5\u751F\u6001\u5F3A\uFF0C\u4F46\u89E3\u6790\u8BED\u6CD5\u6811\u65E0\u62BD\u8C61\u7EE7\u627F\u5173\u7CFB |\\n| Calcite | \u57FA\u4E8E JavaCC | \u6807\u51C6 SQL\uFF0C\u591A\u65B9\u8A00\u6269\u5C55\u3001\u751F\u6001\u8F83\u5F31 | \u6709 | \u9700\u624B\u52A8\u6269\u5C55\u5206\u5C42\u5199\u8BED\u6CD5\u89C4\u5219\uFF0C\u6210\u672C\u5927 |\\n| hive-exec | \u57FA\u4E8E ANTLR3 | \u4EC5 Hive\u3001Spark | \u65E0 | \u65E0\u6CD5\u6269\u5C55\u5206\u5C42\u5230\u5176\u4ED6\u6570\u636E\u6E90 |\\n| JSqlParser | \u57FA\u4E8E JavaCC | \u6807\u51C6 SQL\uFF0C\u90E8\u5206\u65B9\u8A00 | \u6709 | API \u65E0\u660E\u663E\u6570\u636E\u6E90\u5206\u5C42 |\\n| **Druid** | \u539F\u751F Java \u5B9E\u73B0\u626B\u63CF\u3001\u89E3\u6790\u5668\u4EF6 | \u652F\u6301 MySQL\u3001Oracle\u3001Hive\u3001Spark\u3001Doris\u3001StarRocks \u7B49 | **\u6709\uFF08\u6781\u5F3A\uFF09** | \u6570\u636E\u6E90\u751F\u6001\u597D\u3001AST \u6709\u7EE7\u627F\u5173\u7CFB\uFF1B\u7F3A\u70B9\u662F Java \u81EA\u5B9E\u73B0\u626B\u63CF\u5668\uFF0C\u5165\u95E8\u6709\u96BE\u5EA6 |\\n\\n\u9762\u5411\u6570\u6808\u300C\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u90FD\u8981\u6709\u540C\u6837\u7EE7\u627F\u5173\u7CFB\u7684\u8BED\u6CD5\u6811\u300D\u7684\u573A\u666F\uFF0C\u9700\u8981\u62BD\u8C61\u5B9A\u4E49\u7EDF\u4E00\u7684 `Insert`\u3001`Select`\u3001`Update`\u3001`Delete` \u7B49\u7ED3\u6784\u3002\\n\\n**\u57FA\u4E8E Druid \u8FD9\u6837\u4E00\u5957\u6709\u7EE7\u627F\u5173\u7CFB\u7684 AST\uFF0C\u4E0D\u540C\u529F\u80FD\u53EA\u9700\u5B9E\u73B0\u4E00\u5957\u89E3\u6790\u903B\u8F91\u5373\u53EF\u5BF9\u5E94\u6240\u6709\u6570\u636E\u6E90\uFF0C\u90E8\u5206\u6570\u636E\u6E90\u518D\u5355\u72EC\u901A\u8FC7\u5206\u5C42\u517C\u5BB9\u5373\u53EF\u3002** \u8FD9\u6210\u4E3A\u540E\u7EED\u9009\u578B\u7684\u51B3\u5B9A\u6027\u7406\u7531\u3002\\n\\n### 2.5 \u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u7528 ANTLR4\\n\\nANTLR4 \u751F\u6001\u786E\u5B9E\u5F88\u597D\uFF08\u5B98\u65B9\u6709 grammars-v4\uFF09\uFF0C\u4F46\u5B83\u7684\u8BED\u6CD5\u6811**\u6CA1\u6709\u62BD\u8C61\u7EE7\u627F\u5173\u7CFB**\uFF0C\u96BE\u4EE5\u5728\u591A\u6570\u636E\u6E90\u4E0A\u6C89\u6DC0\u300C\u4E00\u5957\u4E1A\u52A1\u89E3\u6790\u903B\u8F91\u300D\uFF0C\u9700\u8981\u5728\u4E1A\u52A1\u5C42\u91CD\u65B0\u62BD\u8C61\u4E00\u5957\u7ED3\u6784\uFF0C\u53CD\u800C\u589E\u52A0\u7EF4\u62A4\u6210\u672C\u3002Druid \u7684 AST \u5929\u7136\u5E26\u7EE7\u627F\u4F53\u7CFB\uFF0C\u66F4\u5951\u5408\u6211\u4EEC\u7684\u76EE\u6807\u3002\\n\\n---\\n\\n## \u4E09\u3001\u5386\u53F2\u80CC\u666F\uFF1A\u6539\u9020\u524D\u7684 SQL \u89E3\u6790\u4E3A\u4EC0\u4E48\u96BE\u7EF4\u62A4\\n\\n### 3.1 \u5B50\u4EA7\u54C1\u5404\u81EA\u4E3A\u6218\\n\\n\u6539\u9020\u524D\uFF0CSQL \u89E3\u6790\u6563\u843D\u5728\u591A\u4E2A\u5B50\u4EA7\u54C1\u4E2D\uFF0C\u5404\u7528\u5404\u7684\u65B9\u6848\uFF1A\\n\\n```sql\\n\u79BB\u7EBF batchparser\uFF1ASQL \u7C7B\u578B\u8BC6\u522B\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001SQL \u8131\u654F\u3001\u884C\u5217\u7EA7\u6743\u9650\\n \u9762\u5411 SQL \u7C7B\u578B\uFF1Ardb\uFF08mysql\u3001oracle\u3001doris...\uFF09\u3001hive\u3001spark\u3001impala\\n \u5B9E\u73B0\uFF1Acalcite & hive-exec \u6A21\u5757\u89E3\u6790\u5668\uFF0C\u52A0\u4E0A druid \u515C\u5E95\u3010\u4E2D\u95F4\u5404\u79CD\u517C\u5BB9\u8BED\u6CD5\u6B63\u5219\u5339\u914D\u66FF\u6362\u903B\u8F91\u3011\\n\\nAPI apiparser\uFF1AAPI \u89E3\u6790\uFF08\u9884\u7F16\u8BD1\u3001\u975E\u9884\u7F16\u8BD1\uFF09\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001\u884C\u5217\u7EA7\u6743\u9650\\n \u9762\u5411 SQL \u7C7B\u578B\uFF1Ardb\\n \u5B9E\u73B0\uFF1Acalcite + druid\uFF0Cdruid \u515C\u5E95\\n\\nlabel labelparser\uFF1A\u6807\u7B7E\u89E3\u6790\\n \u5B9E\u73B0\uFF1Acalcite\\n\\n\u5B9E\u65F6 streamparser\\n StreamCreateTableParser \u76F4\u63A5\u4F7F\u7528\u6B63\u5219\u5339\u914D\u89E3\u6790\\n StreamCreateViewParser \u4F7F\u7528 hive-exec \u8FDB\u884C\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\\n StreamInsertParser \u4F7F\u7528 FlinkPlanner & hive parser \u8FDB\u884C\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\\n\\n\u8D44\u4EA7 sqlparser\uFF1A\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001SQL \u7C7B\u578B\u8BC6\u522B\\n \u5B9E\u73B0\uFF1A\u6BD4\u8F83\u6DF7\u4E71\uFF0Ccalcite\u3001druid \u4EE5\u53CA hive parser \u6DF7\u7528\\n```\\n\\n\u6838\u5FC3\u95EE\u9898\u662F\uFF1A**\u5386\u53F2\u4E0A\u9488\u5BF9 SQL \u8BED\u6CD5\u5C42\u9762\u7684\u6269\u5C55\u5F88\u5C11**\uFF0C\u5BFC\u81F4\u8BED\u6CD5\u89E3\u6790\u300C\u4E00\u4E2A\u4E0D\u884C\u5C31\u6362\u53E6\u4E00\u4E2A\u300D\uFF0C\u5404\u79CD\u515C\u5E95\uFF1B\u505A\u8FC7\u8BED\u6CD5\u6269\u5C55\u7684\u4E3B\u8981\u662F\u57FA\u4E8E Calcite \u6269\u5C55\u4E86\u5C11\u91CF\u8BED\u6CD5\uFF08limit\u3001starrocks \u7B49\uFF09\u3002\\n\\n### 3.2 \u5386\u53F2\u8BBE\u8BA1\u67B6\u6784\\n\\n\u6539\u9020\u524D\u4E3B\u8981\u9488\u5BF9 Calcite\uFF08rdb \u7C7B\u578B\uFF09\u3001hive-exec\uFF08spark\u3001hive\uFF09\u4E24\u7C7B SQL\uFF0CDruid \u4E0E\u6B63\u5219\u65B9\u5F0F\u4F5C\u4E3A\u515C\u5E95\u3002\\n\\n![\u6539\u9020\u524D\u7684\u5386\u53F2\u8BBE\u8BA1\u67B6\u6784](assets/02-legacy-architecture.png)\\n\\n\u4E1A\u52A1\u903B\u8F91\u53EF\u4EE5\u5206\u4E3A\u4E24\u7C7B\uFF1A\\n\\n**\u4E00\u7C7B\uFF1ASQL \u7C7B\u578B\u8BC6\u522B\u3001\u8868\u89E3\u6790\u3001SQL \u8131\u654F\u3001\u884C\u5217\u7EA7\u6743\u9650**\\n\\n1. \u6839\u636E SQL \u7C7B\u578B\u7528 Calcite\u3001hive-exec \u89E3\u6790\u5F97\u5230\u8BED\u6CD5\u6811\uFF1B\\n2. \u57FA\u4E8E\u8BED\u6CD5\u6811\u505A\u4E0A\u8FF0\u4E1A\u52A1\u3002\\n\\n**\u53E6\u4E00\u7C7B\uFF1A\u8840\u7F18\u5B9E\u73B0**\\n\\n1. \u7528 Calcite\u3001hive-exec \u89E3\u6790\u5F97\u5230\u8BED\u6CD5\u6811\uFF1B\\n2. **\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811**\uFF0C\u5B9E\u73B0\u4E24\u5957\u8F6C\u6362\u5668\uFF08Calcite AST \u2192 \u81EA\u5B9A\u4E49 AST\u3001hive-exec AstNode \u2192 \u81EA\u5B9A\u4E49 AST\uFF09\uFF1B\\n3. \u9488\u5BF9\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811\u5199\u4E00\u5957\u8840\u7F18\u89E3\u6790\u903B\u8F91\u3002\\n\\n> \u95EE\u9898\uFF1A\u8F6C\u6362\u4E0E\u89E3\u6790\u626B\u63CF\u8FC7\u7A0B\u4E2D\uFF0C\u5386\u53F2\u4E0A\u66FE\u51FA\u73B0\u6B7B\u5FAA\u73AF\u5BFC\u81F4\u5B50\u4EA7\u54C1\u670D\u52A1\u6302\u6389\u7B49\u5404\u79CD\u60C5\u51B5\u3002\\n\\n![Calcite \u5206\u5C42\u6269\u5C55\u6587\u7AE0\u7684\u63A2\u7D22](assets/03-calcite-layered-article.png)\\n\\n### 3.3 \u4E3B\u8981\u95EE\u9898\\n\\n1. **\u4E0D\u540C\u6570\u636E\u6E90\u8BED\u6CD5\u89E3\u6790\u6269\u5C55\u80FD\u529B\u5F31**\uFF1A\u4E0D\u540C rdb \u8BED\u6CD5\u9700\u8981\u6B63\u5219\u524D\u7F6E\u5904\u7406\uFF0C\u6216\u5355\u72EC\u53BB\u6269\u5C55\u8BED\u6CD5\uFF0C\u4E14\u6269\u5C55\u8BED\u6CD5\u96C6\u4E2D\u5728\u4E00\u4E2A\u6A21\u5757\uFF1B\\n2. **\u4F7F\u7528\u591A\u79CD\u89E3\u6790\u6846\u67B6\u3001\u5404\u79CD\u515C\u5E95\uFF0C\u4EE3\u7801\u7EF4\u62A4\u96BE**\uFF1A\u62FF\u5230\u8BED\u6CD5\u6811\u540E\u7684\u5E94\u7528\u5C42\u89E3\u6790\u903B\u8F91\u4E5F\u5197\u4F59\u5728\u4E00\u8D77\uFF0C\u5230\u5904\u662F `if` \u5224\u65AD\u6570\u636E\u6E90\u517C\u5BB9\u903B\u8F91\uFF0C\u6539\u4E00\u4E2A\u5730\u65B9\u53EF\u80FD\u5F71\u54CD\u5176\u4ED6\u5730\u65B9\uFF0C\u96BE\u4EE5\u7EF4\u62A4\uFF1B\\n3. **\u8840\u7F18\u89E3\u6790\u6269\u5C55\u5F31\u3001\u5B66\u4E60\u6210\u672C\u6781\u9AD8**\uFF1A\u9700\u8981\u5148\u4E86\u89E3 Calcite / AstNode \u7684\u8282\u70B9\u5B9A\u4E49\uFF0C\u518D\u5177\u5907\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811\u80FD\u529B\uFF0C\u7136\u540E\u6269\u5C55\u4E24\u5C42\u8F6C\u6362\u903B\u8F91\uFF08\u8FD8\u5BB9\u6613\u6B7B\u5FAA\u73AF\uFF09\uFF0C\u6700\u540E\u624D\u5230\u8840\u7F18\u89E3\u6790\u672C\u8EAB\u3002\\n\\n---\\n\\n## \u56DB\u3001\u6280\u672F\u6539\u9020\uFF1A\u53CC\u5C42\u5206\u5C42\\n\\n\u6280\u672F\u6539\u9020\u56F4\u7ED5\u4E24\u4E2A\u5C42\u9762\u5206\u5C42\uFF1A**\u8BED\u6CD5\u89E3\u6790\u5C42** \u4E0E **\u4E1A\u52A1\u89E3\u6790\u5C42**\u3002\\n\\n### 4.1 \u8BED\u6CD5\u89E3\u6790\u5C42\uFF08\u57FA\u4E8E Druid\uFF09\\n\\n![\u8BED\u6CD5\u89E3\u6790\u5C42\u5206\u5C42](assets/04-druid-syntax-layer.png)\\n\\n\u5206\u5C42\u5B9E\u73B0\u540E\uFF0C\u626B\u63CF\u5668\u3001\u89E3\u6790\u5668\u90FD\u652F\u6301\u7EE7\u627F\u590D\u7528\uFF0C\u4E14\u76F8\u4E92\u72EC\u7ACB\u3001\u4E92\u4E0D\u5F71\u54CD\uFF0C\u7ED3\u6784\u7C7B\u53EF\u81EA\u5B9A\u4E49\u6269\u5C55\uFF1A\\n\\n![Druid \u5206\u5C42\u7ED3\u6784\u7C7B](assets/05-druid-layer-structure.png)\\n\\n```java\\n// \u5DE5\u5177\u7C7B\u6307\u5B9A\u6570\u636E\u6E90\u7C7B\u578B\u5B9E\u73B0\u89E3\u6790\\nSQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris);\\nSQLStatement statement = parser.parseStatement();\\n\\n// \u6216\u76F4\u63A5 new \u7279\u5B9A Parser\\nDorisStatementParser statementParser = new DorisStatementParser(sql);\\nSQLStatement sqlStatement = statementParser.parseStatement();\\n```\\n\\n### 4.2 \u4E1A\u52A1\u89E3\u6790\u5C42\\n\\n- **\u89E3\u6790\u5C42**\uFF1A\u4E0D\u540C\u6570\u636E\u6E90 \u2192 \u7EDF\u4E00\u62BD\u8C61\u7ED3\u6784\u8BED\u6CD5\u6811\uFF1B\\n- **\u5E94\u7528\u5C42**\uFF1A\u9488\u5BF9\u7EDF\u4E00 AST \u5B9E\u73B0\u4E00\u5957\u89E3\u6790\u65B9\u6CD5\uFF1B\u7279\u5B9A\u6570\u636E\u6E90\u5728 AST \u4E2D\u81EA\u5B9A\u4E49\u4E86\u90E8\u5206\u8282\u70B9\u65F6\uFF0C\u5E94\u7528\u5C42\u518D\u9488\u5BF9\u8BE5\u6570\u636E\u6E90\u7684\u8282\u70B9\u505A\u5206\u5C42\u5904\u7406\u3002\\n\\n![\u4E1A\u52A1\u89E3\u6790\u5206\u5C42](assets/06-business-layer.png)\\n\\n\u9488\u5BF9\u62BD\u8C61\u8BED\u6CD5\u6811\u5B9E\u73B0\u901A\u7528\u89E3\u6790\u7EC4\u4EF6\uFF1A\\n\\n![\u5E94\u7528\u5C42\u901A\u7528\u89E3\u6790\u7EC4\u4EF6](assets/07-application-components.png)\\n\\n\u540E\u7EED\u6269\u5C55\u65F6\uFF0C\u82E5\u5728\u8BED\u6CD5\u5C42\u5355\u72EC\u5B9E\u73B0\u4E86\u67D0\u4E2A\u8282\u70B9\uFF0C\u53EA\u9700\u7EE7\u627F `BaseXxxClient`\uFF0C\u5355\u72EC\u5B9E\u73B0\u5DEE\u5F02\u65B9\u6CD5\u5373\u53EF\uFF0C\u91CD\u590D\u903B\u8F91\u590D\u7528\uFF1A\\n\\n![\u7EE7\u627F BaseXxxClient \u6269\u5C55](assets/08-inherit-baseclient.png)\\n\\n\u521B\u5EFA Client \u540E\uFF0C\u5728\u5BF9\u5E94 `XxxSqlParser` \u4E2D\u6CE8\u518C\uFF1A\\n\\n![\u5728\u65B9\u8A00\u89E3\u6790\u5668\u4E2D\u6CE8\u518C Client](assets/09-register-client.png)\\n\\n\u793A\u4F8B\uFF1A\\n\\n```java\\n// \u51C6\u5907 SQL\\nString sql = getSql();\\n\\n// 1\u3001\u83B7\u53D6\u89E3\u6790\u5668\uFF08\u5DE5\u5382\u65B9\u5F0F\uFF09\\nISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql);\\n\\n// 2.1\u3001\u89E3\u6790\u8868\\nParseTableResult parseTableResult = sqlParser.parseTables(sql);\\nSystem.out.println(parseTableResult.getMainTable()); // \u4E3B\u8868\\nSystem.out.println(parseTableResult.getAllTableName()); // \u6240\u6709\u8868\\n\\n// 2.2\u3001\u89E3\u6790\u5B57\u6BB5\u8840\u7F18\uFF08select * \u573A\u666F\u53EF\u4F20\u5165 tableColumnsMap \u63D0\u4F9B\u5B57\u6BB5\u5143\u6570\u636E\uFF09\\nColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap);\\n\\n// 2.3\u3001\u89E3\u6790\u8868\u8840\u7F18\\nTableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql);\\n\\n// 2.4\u3001\u89E3\u6790\u51FD\u6570\\nSet<String> functions = sqlParser.parseFunction(sql);\\n```\\n\\n### 4.3 \u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0\\n\\n\u540E\u7EED\u8BED\u6CD5\u89E3\u6790\u3001\u4E1A\u52A1\u5C42\u89E3\u6790\u90FD\u53EF\u72EC\u7ACB\u6269\u5C55\uFF1A\\n\\n![\u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0](assets/10-after-refactor.png)\\n\\n---\\n\\n## \u4E94\u3001\u4E1A\u52A1\u5C42\u89E3\u6790\u7684\u91CD\u65B0\u5B9E\u73B0\\n\\n\u5386\u53F2\u4E0A\u57FA\u4E8E Druid \u7684\u4E1A\u52A1\u5C42\u5B9E\u73B0\u5F88\u5C11\uFF08\u4EC5 API \u89E3\u6790\u3001\u79BB\u7EBF\u90E8\u5206\u89E3\u6790\u7528 Druid \u515C\u5E95\uFF09\uFF0C\u56E0\u6B64\u8868\u89E3\u6790\u3001\u8840\u7F18\u89E3\u6790\u90FD\u9700\u8981\u91CD\u65B0\u5B9E\u73B0\u3002\\n\\n**\u6709\u8840\u7F18\u7279\u5F81\u7684 SQL \u7C7B\u578B**\uFF1A`insert into/overwrite ... select`\u3001`create ... select`\u3001`with as ... insert`\u3002\\n\\n### 5.1 \u5B57\u6BB5\u8840\u7F18\u89E3\u6790\\n\\n\u6838\u5FC3\u601D\u8DEF\u662F**\u628A\u6765\u6E90\u4E0E\u76EE\u6807\u5404\u81EA\u5F52\u4E00\u4E3A\u4E00\u5F20\u4E8C\u7EF4\u8868**\u3002\\n\\n\u4EE5\u4E00\u6761 `insert select` \u4E3A\u4F8B\uFF1A\\n\\n```sql\\ninsert into new_table (id, name)\\nselect a.id as aid, b.name as bname\\nfrom old_table as a\\nleft join old_table2 b on a.id = b.id\\n```\\n\\n1. \u62C6\u6210\u4E24\u4E2A\u90E8\u5206\uFF1A`insert` \u76EE\u6807\u7AEF\u3001`select` \u6765\u6E90\u7AEF\uFF1B\\n2. \u5404\u81EA\u8FFD\u6EAF\u5F97\u5230\u4E00\u7EC4\u5217\u8868\uFF1A\\n\\n```text\\n# \u76EE\u6807\u7AEF\\n\u771F\u5B9E\u5B57\u6BB5 \u522B\u540D\u5B57\u6BB5 \u771F\u5B9E\u8868\u540D\\n id id new_table\\n name name new_table\\n\\n# \u6765\u6E90\u7AEF\\n\u771F\u5B9E\u5B57\u6BB5 \u522B\u540D\u5B57\u6BB5 \u771F\u5B9E\u8868\u540D\\n id aid old_table\\n name bname old_table2\\n```\\n\\n3. \u4E24\u7EC4\u6309\u56FA\u5B9A\u89C4\u5219\u5339\u914D\uFF0C\u5373\u5F97\u5B57\u6BB5\u8840\u7F18\uFF1A\\n\\n```text\\n# \u7B2C\u4E00\u6761\\nadmin \u76EE\u6807\u7AEF new_table.id \u2190 \u6765\u6E90\u7AEF old_table.id\\n# \u7B2C\u4E8C\u6761\\n\u76EE\u6807\u7AEF new_table.name \u2190 \u6765\u6E90\u7AEF old_table2.name\\n```\\n\\n\u6765\u6E90\u7AEF\u7684\u300C\u771F\u5B9E\u8868\u540D \u2192 \u6765\u6E90\u8868\u300D\u300C\u771F\u5B9E\u5B57\u6BB5 \u2192 \u6765\u6E90\u5B57\u6BB5\u300D\uFF0C\u76EE\u6807\u7AEF\u7684\u300C\u522B\u540D\u5B57\u6BB5 \u2192 \u76EE\u6807\u5B57\u6BB5\u300D\u3002\\n\\n\u5BF9\u4E8E `with as` \u573A\u666F\uFF0C\u6BCF\u4E2A CTE \u7684 `()` \u4F5C\u4E3A\u4E00\u7EC4\u540C\u6837\u5F52\u4E00\u4E3A\u4E8C\u7EF4\u8868\u518D\u5339\u914D\uFF1B\u5BF9\u4E8E**\u5355\u5217\u6765\u6E90\u4E8E\u591A\u5B57\u6BB5**\u7684\u573A\u666F\uFF08\u5982 `concat(t1.name, t2.name)`\uFF09\uFF0C\u771F\u5B9E\u5B57\u6BB5\u4E0E\u771F\u5B9E\u8868\u540D\u4EE5 `,` \u5408\u5E76\uFF0C\u6700\u7EC8\u62C6\u6210\u591A\u6761\u8840\u7F18\u3002\\n\\n### 5.2 \u8868\u8840\u7F18\u89E3\u6790\\n\\n\u672C\u8D28\u4E0E\u5B57\u6BB5\u8840\u7F18\u7C7B\u4F3C\uFF0C\u66F4\u591A\u662F\u5BF9\u8868\u8FDB\u884C\u5206\u7EC4\u5217\u8868\uFF0C\u4E00\u4E2A `select` \u540C\u6837\u5F97\u5230\u4E00\u7EC4\u300C\u8868\u3001\u8868\u522B\u540D\u300D\u7684\u4E8C\u7EF4\u8868\uFF0C\u6700\u7EC8\u4E0E `insert` \u76EE\u6807\u8868\u5339\u914D\u5373\u53EF\u5B8C\u6210\u8868\u8840\u7F18\u3002\\n\\n### 5.3 \u8868\u89E3\u6790\\n\\n\u4E0E\u8868\u8840\u7F18\u7C7B\u4F3C\uFF0C\u9700\u8981\u89E3\u6790\u51FA\u6240\u6709\u771F\u5B9E\u8868\uFF1B\u9664\u4E86\u8FFD\u6EAF\u771F\u5B9E\u8868\u7684\u8FC7\u7A0B\uFF0C\u8FD8\u8981\u5408\u5E76\u6CA1\u6709\u88AB\u8FFD\u6EAF\u5230\u7684\u771F\u5B9E\u8868\uFF0C\u540C\u65F6\u8986\u76D6\u6BD4\u8868\u8840\u7F18\u66F4\u591A\u7684 SQL \u7ED3\u6784\uFF08`select`\u3001`update`\u3001`delete`\u3001`insert`\u3001`drop`\u3001`rename` \u7B49\uFF09\u3002\\n\\n### 5.4 \u51FD\u6570\u89E3\u6790\\n\\n\u51FD\u6570\u4E0E\u8840\u7F18\u65E0\u5173\uFF0C\u76F4\u63A5\u4F7F\u7528 **Visitor \u6A21\u5F0F**\u6536\u96C6\u6240\u6709\u51FD\u6570\u5373\u53EF\uFF1A\\n\\n![\u57FA\u4E8E Visitor \u7684\u51FD\u6570\u89E3\u6790](assets/11-function-visitor.png)\\n\\n### 5.5 \u5176\u4ED6\u4E1A\u52A1\u80FD\u529B\\n\\n- **SQL \u8131\u654F\uFF08\u79BB\u7EBF\uFF09**\uFF1A\u590D\u7528\u5B57\u6BB5\u8840\u7F18\u7684 select column \u7EC4\u4EF6\u62FF\u5230\u5B57\u6BB5\u5217\u8868\uFF0C\u518D\u7ED3\u5408\u8BED\u6CD5\u5C42\u4F4D\u70B9\u80FD\u529B\u8FDB\u884C\u6539\u5199\uFF1B\u96BE\u70B9\u662F Druid \u65E0\u7CBE\u786E\u539F\u59CB SQL \u4F4D\u70B9\uFF0C\u9700\u8981\u6269\u5C55\u3002\\n- **\u884C\u7EA7\u6743\u9650\u6539\u5199 SQL**\uFF1A\u5229\u7528 Druid API \u8865\u5145 AST \u8282\u70B9\uFF0C\u518D\u8F6C\u56DE SQL\uFF0C\u672C\u8D28\u662F\u6839\u636E\u4E3B\u4F53 select \u5C01\u88C5/\u8865\u5145\u6761\u4EF6\u8282\u70B9\u540E\u91CD\u65B0\u8F93\u51FA\u3002\\n\\n---\\n\\n## \u516D\u3001SqlParserX \u7684\u8BDE\u751F\\n\\n\u5728\u5185\u90E8\u53CC\u5C42\u6539\u9020\u9A8C\u8BC1\u843D\u5730\u4E4B\u540E\uFF0C\u4E00\u4E2A\u66F4\u6E05\u6670\u7684\u60F3\u6CD5\u51FA\u73B0\u4E86\uFF1A**\u80FD\u4E0D\u80FD\u628A\u300C\u57FA\u4E8E Druid \u7684 SQL \u89E3\u6790\u300D\u505A\u6210\u4E00\u4E2A\u7EAF\u51C0\u3001\u53EF\u72EC\u7ACB\u6F14\u8FDB\u7684\u5F00\u6E90\u9879\u76EE\uFF1F**\\n\\n\u4E8E\u662F\u6709\u4E86 **SqlParserX** \u2014\u2014 \u4E00\u4E2A\u65E0\u9700\u4F9D\u8D56 Calcite\u3001ANTLR \u7B49\u5176\u4ED6\u89E3\u6790\u7EC4\u4EF6\uFF0C**\u5B8C\u5168\u57FA\u4E8E Druid \u5B9E\u73B0\u5404\u7C7B\u4E0D\u540C SQL \u89E3\u6790**\u7684\u5F00\u6E90\u9879\u76EE\u3002\\n\\n### 6.1 \u53CC\u5C42\u67B6\u6784\\n\\nSqlParserX \u5C06\u89E3\u6790\u5185\u6838\u62C6\u5206\u4E3A\u4E24\u4E2A\u72EC\u7ACB Jar Module\uFF0C\u7ED3\u6784\u5BF9\u79F0\u3001\u804C\u8D23\u6E05\u6670\uFF1A\\n\\n```text\\nSqlParserX\uFF08\u6839 Reactor\uFF09\\n\u251C\u2500\u2500 sqlparserx-engine\uFF08\u805A\u5408\u7236\u6A21\u5757\uFF0Cpackaging=pom\uFF09\\n\u2502 \u251C\u2500\u2500 sqlparserx-syntax\uFF08jar\uFF0C\u8BED\u6CD5\u89E3\u6790\u5C42\uFF0C\u57FA\u4E8E Druid\uFF09 \u2190 \u53EA\u7BA1 SQL \u2192 AST\\n\u2502 \u2514\u2500\u2500 sqlparserx-core\uFF08jar\uFF0C\u4E1A\u52A1\u89E3\u6790\u5C42\uFF0C\u4F9D\u8D56 syntax\uFF09 \u2190 \u53EA\u7BA1 AST \u2192 \u4E1A\u52A1\u7ED3\u679C\\n\u251C\u2500\u2500 sqlparserx-web\uFF08HTTP \u670D\u52A1\uFF09\\n\u251C\u2500\u2500 sqlparserx-mcp-server-sse\uFF08MCP Server\uFF09\\n\u2514\u2500\u2500 sqlparserx-ui\uFF08\u524D\u7AEF\uFF09\\n```\\n\\n- **\u8BED\u6CD5\u89E3\u6790\u5C42\uFF08`sqlparserx-syntax`\uFF09**\uFF1A\u7EDF\u4E00\u7EF4\u62A4 Druid \u4F9D\u8D56\u3001SQL\u2192AST\u3001\u591A\u8BED\u53E5\u89E3\u6790\u4E0E\u5207\u5206\uFF0C\u4EE5\u53CA\u540E\u7EED\u6570\u636E\u6E90 Lexer / StatementParser / AST Node \u6269\u5C55\uFF1B\\n- **\u4E1A\u52A1\u89E3\u6790\u5C42\uFF08`sqlparserx-core`\uFF09**\uFF1A\u57FA\u4E8E\u7EDF\u4E00 AST \u5B9E\u73B0\u771F\u5B9E\u8868\u3001\u5EFA\u8868\u7ED3\u6784\u3001\u8868/\u5B57\u6BB5\u8840\u7F18\u3001\u51FD\u6570\u4E0E SQL \u6743\u9650\u6539\u5199\u3002\\n\\n\u4E24\u5C42\u4EE5 `DbType + SQLStatement AST` \u4F5C\u4E3A\u8FDE\u63A5\u5951\u7EA6\uFF0C**\u4E0D\u989D\u5916\u590D\u5236\u4E00\u5957 AST**\uFF0C\u907F\u514D\u957F\u671F\u8F6C\u6362\u4E0E\u540C\u6B65\u3002\u8BE6\u7EC6\u8BBE\u8BA1\u89C1 [\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1](https://github.com/DTStack/SqlParserX/blob/master/docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1.md)\u3002\\n\\n### 6.2 \u4ECE\u5185\u90E8\u4E8C\u5F00\u8D70\u5411\u5B98\u65B9 Druid\\n\\n\u9879\u76EE\u65E9\u671F\u4F9D\u8D56\u5185\u90E8\u4E8C\u5F00\u7684 Druid \u7248\u672C\uFF0C\u968F\u7740\u80FD\u529B\u6C89\u6DC0\uFF0CSqlParserX \u5DF2\u7EDF\u4E00\u4E3A**\u5B98\u65B9 Druid 1.2.28**\uFF0C\u964D\u4F4E\u7EF4\u62A4\u6210\u672C\u3001\u65B9\u4FBF\u793E\u533A\u534F\u4F5C\u3002\u8BED\u6CD5\u5C42\u575A\u6301\u300C**\u4E0D\u5728\u4E1A\u52A1\u5C42\u7528\u5927\u91CF\u6B63\u5219\u66FF\u6362\u89C4\u907F\u8BED\u6CD5\u95EE\u9898**\u300D\uFF0C\u65B9\u8A00\u8BED\u6CD5\u5DEE\u5F02\u4E00\u5F8B\u56DE\u5230\u8BED\u6CD5\u5C42\u6309 Druid \u7684\u65B9\u5F0F\u6269\u5C55\u3002\\n\\n### 6.3 \u80FD\u529B\u4E0E\u6587\u6863\u4F53\u7CFB\\n\\nSqlParserX \u4E0D\u4EC5\u63D0\u4F9B\u4EE3\u7801\uFF0C\u4E5F\u63D0\u4F9B\u4E86\u4E00\u5957\u53EF\u7EF4\u62A4\u7684\u6587\u6863\u4F53\u7CFB\uFF1A\\n\\n- [\u53CC\u5C42\u67B6\u6784\u8BBE\u8BA1](/docs/about/architecture)\\n- [\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1](https://github.com/DTStack/SqlParserX/blob/master/docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1.md)\\n- [Druid \u7248\u672C\u4E0E SQL \u8BED\u6CD5\u652F\u6301\u60C5\u51B5](https://github.com/DTStack/SqlParserX/blob/master/docs/01\u3001SQL\u8BED\u6CD5\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/Druid\u7248\u672C\u4E0ESQL\u8BED\u6CD5\u652F\u6301\u60C5\u51B5.md)\\n- [\u80FD\u529B\u652F\u6301\u60C5\u51B5\uFF08\u6570\u636E\u6E90 + \u901A\u7528\u89E3\u6790\u80FD\u529B\uFF09](https://github.com/DTStack/SqlParserX/tree/master/docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u80FD\u529B\u652F\u6301\u60C5\u51B5)\\n- [\u89E3\u6790\u80FD\u529B\u6807\u51C6\u8FED\u4EE3\u7EF4\u62A4\u6269\u5C55\u6307\u5357](https://github.com/DTStack/SqlParserX/blob/master/docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u6807\u51C6\u8FED\u4EE3\u7EF4\u62A4\u6269\u5C55\u6587\u6863/SqlParserX\u89E3\u6790\u80FD\u529B\u6807\u51C6\u8FED\u4EE3\u7EF4\u62A4\u6269\u5C55\u6307\u5357.md)\\n\\n### 6.4 \u76EE\u6807\\n\\n- \u65E0\u9700\u4F9D\u8D56 Calcite\u3001ANTLR \u7B49\u5176\u4ED6\u89E3\u6790\u7EC4\u4EF6\uFF0C**\u5B8C\u5168\u57FA\u4E8E Druid** \u5B9E\u73B0\u5404\u79CD\u6570\u636E\u6E90\u7684 SQL \u89E3\u6790\uFF1B\\n- **\u8BED\u6CD5\u95EE\u9898\u6269\u5C55 Druid\uFF0C\u4E1A\u52A1\u8BED\u4E49\u6269\u5C55 SqlParserX**\uFF1B\u901A\u7528\u80FD\u529B\u6C89\u6DC0 Base\uFF0C\u6570\u636E\u6E90\u5DEE\u5F02\u6309\u65B9\u8A00\u8986\u76D6\uFF1B\\n- \u65B0\u589E\u6570\u636E\u6E90\u65F6\uFF0C\u8BED\u6CD5\u5DEE\u5F02\u5728\u8BED\u6CD5\u5C42\u6269\u5C55\uFF0C\u4E1A\u52A1\u5DEE\u5F02\u5728\u4E1A\u52A1\u5C42\u6269\u5C55\uFF0C\u4E0A\u4E0B\u4E24\u5C42\u901A\u8FC7 `DbType` \u4E0E AST \u5BF9\u9F50\u3002\\n\\n---\\n\\n## \u4E03\u3001\u7ED3\u8BED\\n\\n\u4ECE\u300C\u6563\u843D\u5404\u5904\u7684\u89E3\u6790\u5668 + \u5404\u79CD\u515C\u5E95\u300D\u5230\u300C\u7EDF\u4E00 AST + \u53CC\u5C42\u5206\u5C42\u300D\uFF0C\u518D\u5230\u300C\u4E00\u4E2A\u7EAF\u51C0\u3001\u53EA\u4F9D\u8D56 Druid \u7684\u5F00\u6E90\u9879\u76EE\u300D\uFF0CSqlParserX \u7684\u8BDE\u751F\u4E0D\u662F\u4E00\u6B21\u6027\u7684\u91CD\u6784\uFF0C\u800C\u662F\u4E00\u6B21\u6B21\u628A\u95EE\u9898\u653E\u56DE\u6B63\u786E\u5C42\u6B21\u7684\u53D6\u820D\uFF1A\\n\\n> **\u8BED\u6CD5\u95EE\u9898\u6269\u5C55 Druid\uFF0C\u4E1A\u52A1\u8BED\u4E49\u6269\u5C55 SqlParserX\uFF1B\u901A\u7528\u80FD\u529B\u6C89\u6DC0 Base\uFF0C\u6570\u636E\u6E90\u5DEE\u5F02\u6309\u65B9\u8A00\u8986\u76D6\u3002**\\n\\n\u5982\u679C\u4F60\u5728\u505A\u591A\u6570\u636E\u6E90\u7684 SQL \u89E3\u6790\u3001\u8840\u7F18\u3001\u8868\u89E3\u6790\u76F8\u5173\u5DE5\u4F5C\uFF0C\u6B22\u8FCE\u4E00\u8D77\u4EA4\u6D41\u4E0E\u5171\u5EFA\u3002\\n\\n---\\n\\n> \u4F5C\u8005\uFF1Achanglu \uFF5C 2026-09-28\\n>\\n> \u672C\u6587\u56FE\u7247\u4F4D\u4E8E `assets/` \u76EE\u5F55\uFF0C\u4ED3\u5E93\u5185\u4EE5\u76F8\u5BF9\u8DEF\u5F84\u5F15\u7528\u3002"}]}}')}}]); \ No newline at end of file diff --git a/assets/js/2107.f3b80883.js b/assets/js/2107.f3b80883.js new file mode 100644 index 0000000..4580ff1 --- /dev/null +++ b/assets/js/2107.f3b80883.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2107"],{9346(t,e,r){r.d(e,{A:()=>i});var n=r(6984);let o=function(t,e){for(var r=t.length;r--;)if((0,n.A)(t[r][0],e))return r;return -1};var u=Array.prototype.splice;function a(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}a.prototype.clear=function(){this.__data__=[],this.size=0},a.prototype.delete=function(t){var e=this.__data__,r=o(e,t);return!(r<0)&&(r==e.length-1?e.pop():u.call(e,r,1),--this.size,!0)},a.prototype.get=function(t){var e=this.__data__,r=o(e,t);return r<0?void 0:e[r][1]},a.prototype.has=function(t){return o(this.__data__,t)>-1},a.prototype.set=function(t,e){var r=this.__data__,n=o(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};let i=a},8335(t,e,r){r.d(e,{A:()=>u});var n=r(8983),o=r(1917);let u=(0,n.A)(o.A,"Map")},1046(t,e,r){r.d(e,{A:()=>s});var n=(0,r(8983).A)(Object,"create"),o=Object.prototype.hasOwnProperty,u=Object.prototype.hasOwnProperty;function a(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}a.prototype.clear=function(){this.__data__=n?n(null):{},this.size=0},a.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=!!e,e},a.prototype.get=function(t){var e=this.__data__;if(n){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(e,t)?e[t]:void 0},a.prototype.has=function(t){var e=this.__data__;return n?void 0!==e[t]:u.call(e,t)},a.prototype.set=function(t,e){var r=this.__data__;return this.size+=+!this.has(t),r[t]=n&&void 0===e?"__lodash_hash_undefined__":e,this};var i=r(9346),c=r(8335);let l=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t},f=function(t,e){var r=t.__data__;return l(e)?r["string"==typeof e?"string":"hash"]:r.map};function A(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}A.prototype.clear=function(){this.size=0,this.__data__={hash:new a,map:new(c.A||i.A),string:new a}},A.prototype.delete=function(t){var e=f(this,t).delete(t);return this.size-=!!e,e},A.prototype.get=function(t){return f(this,t).get(t)},A.prototype.has=function(t){return f(this,t).has(t)},A.prototype.set=function(t,e){var r=f(this,t),n=r.size;return r.set(t,e),this.size+=+(r.size!=n),this};let s=A},9857(t,e,r){r.d(e,{A:()=>u});var n=r(8983),o=r(1917);let u=(0,n.A)(o.A,"Set")},674(t,e,r){r.d(e,{A:()=>u});var n=r(1046);function o(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new n.A;++e<r;)this.add(t[e])}o.prototype.add=o.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},o.prototype.has=function(t){return this.__data__.has(t)};let u=o},13(t,e,r){r.d(e,{A:()=>i});var n=r(9346),o=r(8335),u=r(1046);function a(t){var e=this.__data__=new n.A(t);this.size=e.size}a.prototype.clear=function(){this.__data__=new n.A,this.size=0},a.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},a.prototype.get=function(t){return this.__data__.get(t)},a.prototype.has=function(t){return this.__data__.has(t)},a.prototype.set=function(t,e){var r=this.__data__;if(r instanceof n.A){var a=r.__data__;if(!o.A||a.length<199)return a.push([t,e]),this.size=++r.size,this;r=this.__data__=new u.A(a)}return r.set(t,e),this.size=r.size,this};let i=a},241(t,e,r){r.d(e,{A:()=>n});let n=r(1917).A.Symbol},3988(t,e,r){r.d(e,{A:()=>n});let n=r(1917).A.Uint8Array},2641(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}},2634(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,u=[];++r<n;){var a=t[r];e(a,r,t)&&(u[o++]=a)}return u}},5530(t,e,r){r.d(e,{A:()=>o});var n=r(4428);let o=function(t,e){return!!(null==t?0:t.length)&&(0,n.A)(t,e,0)>-1}},7809(t,e,r){r.d(e,{A:()=>n});let n=function(t,e,r){for(var n=-1,o=null==t?0:t.length;++n<o;)if(r(e,t[n]))return!0;return!1}},1463(t,e,r){r.d(e,{A:()=>f});let n=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var o=r(18),u=r(2049),a=r(5254),i=r(5353),c=r(9415),l=Object.prototype.hasOwnProperty;let f=function(t,e){var r=(0,u.A)(t),f=!r&&(0,o.A)(t),A=!r&&!f&&(0,a.A)(t),s=!r&&!f&&!A&&(0,c.A)(t),v=r||f||A||s,p=v?n(t.length,String):[],d=p.length;for(var h in t)(e||l.call(t,h))&&!(v&&("length"==h||A&&("offset"==h||"parent"==h)||s&&("buffer"==h||"byteLength"==h||"byteOffset"==h)||(0,i.A)(h,d)))&&p.push(h);return p}},5572(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o}},6912(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}},3736(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}},5045(t,e,r){r.d(e,{A:()=>a});var n,o=r(9841),u=r(8446);let a=(n=o.A,function(t,e){if(null==t)return t;if(!(0,u.A)(t))return n(t,e);for(var r=t.length,o=-1,a=Object(t);++o<r&&!1!==e(a[o],o,a););return t})},1790(t,e,r){r.d(e,{A:()=>o});var n=r(5045);let o=function(t,e){var r=[];return(0,n.A)(t,function(t,n,o){e(t,n,o)&&r.push(t)}),r}},5707(t,e,r){r.d(e,{A:()=>n});let n=function(t,e,r,n){for(var o=t.length,u=r+(n?1:-1);n?u--:++u<o;)if(e(t[u],u,t))return u;return -1}},6335(t,e,r){r.d(e,{A:()=>l});var n=r(6912),o=r(241),u=r(18),a=r(2049),i=o.A?o.A.isConcatSpreadable:void 0;let c=function(t){return(0,a.A)(t)||(0,u.A)(t)||!!(i&&t&&t[i])},l=function t(e,r,o,u,a){var i=-1,l=e.length;for(o||(o=c),a||(a=[]);++i<l;){var f=e[i];r>0&&o(f)?r>1?t(f,r-1,o,u,a):(0,n.A)(a,f):u||(a[a.length]=f)}return a}},3816(t,e,r){r.d(e,{A:()=>n});let n=function(t,e,r){for(var n=-1,o=Object(t),u=r(t),a=u.length;a--;){var i=u[++n];if(!1===e(o[i],i,o))break}return t}},9841(t,e,r){r.d(e,{A:()=>u});var n=r(3816),o=r(7422);let u=function(t,e){return t&&(0,n.A)(t,e,o.A)}},6318(t,e,r){r.d(e,{A:()=>u});var n=r(4548),o=r(901);let u=function(t,e){e=(0,n.A)(e,t);for(var r=0,u=e.length;null!=t&&r<u;)t=t[(0,o.A)(e[r++])];return r&&r==u?t:void 0}},3831(t,e,r){r.d(e,{A:()=>u});var n=r(6912),o=r(2049);let u=function(t,e,r){var u=e(t);return(0,o.A)(t)?u:(0,n.A)(u,r(t))}},8348(t,e,r){r.d(e,{A:()=>A});var n=r(241),o=Object.prototype,u=o.hasOwnProperty,a=o.toString,i=n.A?n.A.toStringTag:void 0;let c=function(t){var e=u.call(t,i),r=t[i];try{t[i]=void 0;var n=!0}catch(t){}var o=a.call(t);return n&&(e?t[i]=r:delete t[i]),o};var l=Object.prototype.toString,f=n.A?n.A.toStringTag:void 0;let A=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":f&&f in Object(t)?c(t):l.call(t)}},4428(t,e,r){r.d(e,{A:()=>a});var n=r(5707);let o=function(t){return t!=t},u=function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return -1},a=function(t,e,r){return e==e?u(t,e,r):(0,n.A)(t,o,r)}},1990(t,e,r){r.d(e,{A:()=>W});var n=r(13),o=r(674),u=r(3736),a=r(4099);let i=function(t,e,r,n,i,c){var l=1&r,f=t.length,A=e.length;if(f!=A&&!(l&&A>f))return!1;var s=c.get(t),v=c.get(e);if(s&&v)return s==e&&v==t;var p=-1,d=!0,h=2&r?new o.A:void 0;for(c.set(t,e),c.set(e,t);++p<f;){var b=t[p],y=e[p];if(n)var _=l?n(y,b,p,e,t,c):n(b,y,p,t,e,c);if(void 0!==_){if(_)continue;d=!1;break}if(h){if(!(0,u.A)(e,function(t,e){if(!(0,a.A)(h,e)&&(b===t||i(b,t,r,n,c)))return h.push(e)})){d=!1;break}}else if(!(b===y||i(b,y,r,n,c))){d=!1;break}}return c.delete(t),c.delete(e),d};var c=r(241),l=r(3988),f=r(6984);let A=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var s=r(9959),v=c.A?c.A.prototype:void 0,p=v?v.valueOf:void 0;let d=function(t,e,r,n,o,u,a){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)break;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":if(t.byteLength!=e.byteLength||!u(new l.A(t),new l.A(e)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,f.A)(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var c=A;case"[object Set]":var v=1&n;if(c||(c=s.A),t.size!=e.size&&!v)break;var d=a.get(t);if(d)return d==e;n|=2,a.set(t,e);var h=i(c(t),c(e),n,o,u,a);return a.delete(t),h;case"[object Symbol]":if(p)return p.call(t)==p.call(e)}return!1};var h=r(9042),b=Object.prototype.hasOwnProperty;let y=function(t,e,r,n,o,u){var a=1&r,i=(0,h.A)(t),c=i.length;if(c!=(0,h.A)(e).length&&!a)return!1;for(var l=c;l--;){var f=i[l];if(!(a?f in e:b.call(e,f)))return!1}var A=u.get(t),s=u.get(e);if(A&&s)return A==e&&s==t;var v=!0;u.set(t,e),u.set(e,t);for(var p=a;++l<c;){var d=t[f=i[l]],y=e[f];if(n)var _=a?n(y,d,f,e,t,u):n(d,y,f,t,e,u);if(!(void 0===_?d===y||o(d,y,r,n,u):_)){v=!1;break}p||(p="constructor"==f)}if(v&&!p){var g=t.constructor,j=e.constructor;g!=j&&"constructor"in t&&"constructor"in e&&!("function"==typeof g&&g instanceof g&&"function"==typeof j&&j instanceof j)&&(v=!1)}return u.delete(t),u.delete(e),v};var _=r(3231),g=r(2049),j=r(5254),O=r(9415),w="[object Arguments]",m="[object Array]",z="[object Object]",S=Object.prototype.hasOwnProperty;let x=function(t,e,r,o,u,a){var c=(0,g.A)(t),l=(0,g.A)(e),f=c?m:(0,_.A)(t),A=l?m:(0,_.A)(e);f=f==w?z:f,A=A==w?z:A;var s=f==z,v=A==z,p=f==A;if(p&&(0,j.A)(t)){if(!(0,j.A)(e))return!1;c=!0,s=!1}if(p&&!s)return a||(a=new n.A),c||(0,O.A)(t)?i(t,e,r,o,u,a):d(t,e,f,r,o,u,a);if(!(1&r)){var h=s&&S.call(t,"__wrapped__"),b=v&&S.call(e,"__wrapped__");if(h||b){var x=h?t.value():t,k=b?e.value():e;return a||(a=new n.A),u(x,k,r,o,a)}}return!!p&&(a||(a=new n.A),y(t,e,r,o,u,a))};var k=r(3098);let P=function t(e,r,n,o,u){return e===r||(null!=e&&null!=r&&((0,k.A)(e)||(0,k.A)(r))?x(e,r,n,o,t,u):e!=e&&r!=r)},E=function(t,e,r,o){var u=r.length,a=u,i=!o;if(null==t)return!a;for(t=Object(t);u--;){var c=r[u];if(i&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++u<a;){var l=(c=r[u])[0],f=t[l],A=c[1];if(i&&c[2]){if(void 0===f&&!(l in t))return!1}else{var s=new n.A;if(o)var v=o(f,A,l,t,e,s);if(!(void 0===v?P(A,f,3,o,s):v))return!1}}return!0};var $=r(3149);let F=function(t){return t==t&&!(0,$.A)(t)};var M=r(7422);let T=function(t){for(var e=(0,M.A)(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,F(o)]}return e},C=function(t,e){return function(r){return null!=r&&r[t]===e&&(void 0!==e||t in Object(r))}},B=function(t){var e=T(t);return 1==e.length&&e[0][2]?C(e[0][0],e[0][1]):function(r){return r===t||E(r,t,e)}};var D=r(6318);let I=function(t,e,r){var n=null==t?void 0:(0,D.A)(t,e);return void 0===n?r:n};var U=r(6953),L=r(6586),q=r(901),R=r(9008),V=r(805);let N=function(t){return(0,L.A)(t)?(0,V.A)((0,q.A)(t)):function(e){return(0,D.A)(e,t)}},W=function(t){if("function"==typeof t)return t;if(null==t)return R.A;if("object"==typeof t){var e,r;return(0,g.A)(t)?(e=t[0],r=t[1],(0,L.A)(e)&&F(r)?C((0,q.A)(e),r):function(t){var n=I(t,e);return void 0===n&&n===r?(0,U.A)(t,e):P(r,n,3)}):B(t)}return N(t)}},4065(t,e,r){r.d(e,{A:()=>a});var n=r(7271),o=(0,r(367).A)(Object.keys,Object),u=Object.prototype.hasOwnProperty;let a=function(t){if(!(0,n.A)(t))return o(t);var e=[];for(var r in Object(t))u.call(t,r)&&"constructor"!=r&&e.push(r);return e}},805(t,e,r){r.d(e,{A:()=>n});let n=function(t){return function(e){return null==e?void 0:e[t]}}},4326(t,e,r){r.d(e,{A:()=>a});var n=r(9008),o=r(3310),u=r(7211);let a=function(t,e){return(0,u.A)((0,o.A)(t,e,n.A),t+"")}},2789(t,e,r){r.d(e,{A:()=>n});let n=function(t){return function(e){return t(e)}}},449(t,e,r){r.d(e,{A:()=>A});var n=r(674),o=r(5530),u=r(7809),a=r(4099),i=r(9857),c=r(2302),l=r(9959),f=i.A&&1/(0,l.A)(new i.A([,-0]))[1]==1/0?function(t){return new i.A(t)}:c.A;let A=function(t,e,r){var i=-1,c=o.A,A=t.length,s=!0,v=[],p=v;if(r)s=!1,c=u.A;else if(A>=200){var d=e?null:f(t);if(d)return(0,l.A)(d);s=!1,c=a.A,p=new n.A}else p=e?[]:v;t:for(;++i<A;){var h=t[i],b=e?e(h):h;if(h=r||0!==h?h:0,s&&b==b){for(var y=p.length;y--;)if(p[y]===b)continue t;e&&p.push(b),v.push(h)}else c(p,b,r)||(p!==v&&p.push(b),v.push(h))}return v}},4099(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){return t.has(e)}},9922(t,e,r){r.d(e,{A:()=>o});var n=r(9008);let o=function(t){return"function"==typeof t?t:n.A}},4548(t,e,r){r.d(e,{A:()=>v});var n,o,u=r(2049),a=r(6586),i=r(1046);function c(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],u=r.cache;if(u.has(o))return u.get(o);var a=t.apply(this,n);return r.cache=u.set(o,a)||u,a};return r.cache=new(c.Cache||i.A),r}c.Cache=i.A;var l=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,f=/\\(\\)?/g,A=(o=(n=c(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(l,function(t,r,n,o){e.push(n?o.replace(f,"$1"):r||t)}),e},function(t){return 500===o.size&&o.clear(),t})).cache,n),s=r(4898);let v=function(t,e){return(0,u.A)(t)?t:(0,a.A)(t,e)?[t]:A((0,s.A)(t))}},4171(t,e,r){r.d(e,{A:()=>o});var n=r(8983);let o=function(){try{var t=(0,n.A)(Object,"defineProperty");return t({},"",{}),t}catch(t){}}()},2136(t,e,r){r.d(e,{A:()=>n});let n="object"==typeof global&&global&&global.Object===Object&&global},9042(t,e,r){r.d(e,{A:()=>a});var n=r(3831),o=r(4792),u=r(7422);let a=function(t){return(0,n.A)(t,u.A,o.A)}},8983(t,e,r){r.d(e,{A:()=>d});var n,o=r(9610),u=r(1917).A["__core-js_shared__"],a=(n=/[^.]+$/.exec(u&&u.keys&&u.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",i=r(3149),c=r(1121),l=/^\[object .+?Constructor\]$/,f=Object.prototype,A=Function.prototype.toString,s=f.hasOwnProperty,v=RegExp("^"+A.call(s).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let p=function(t){return!!(0,i.A)(t)&&(!a||!(a in t))&&((0,o.A)(t)?v:l).test((0,c.A)(t))},d=function(t,e){var r=null==t?void 0:t[e];return p(r)?r:void 0}},4792(t,e,r){r.d(e,{A:()=>i});var n=r(2634),o=r(3153),u=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols;let i=a?function(t){return null==t?[]:(t=Object(t),(0,n.A)(a(t),function(e){return u.call(t,e)}))}:o.A},3231(t,e,r){r.d(e,{A:()=>w});var n=r(8983),o=r(1917),u=(0,n.A)(o.A,"DataView"),a=r(8335),i=(0,n.A)(o.A,"Promise"),c=r(9857),l=(0,n.A)(o.A,"WeakMap"),f=r(8348),A=r(1121),s="[object Map]",v="[object Promise]",p="[object Set]",d="[object WeakMap]",h="[object DataView]",b=(0,A.A)(u),y=(0,A.A)(a.A),_=(0,A.A)(i),g=(0,A.A)(c.A),j=(0,A.A)(l),O=f.A;(u&&O(new u(new ArrayBuffer(1)))!=h||a.A&&O(new a.A)!=s||i&&O(i.resolve())!=v||c.A&&O(new c.A)!=p||l&&O(new l)!=d)&&(O=function(t){var e=(0,f.A)(t),r="[object Object]"==e?t.constructor:void 0,n=r?(0,A.A)(r):"";if(n)switch(n){case b:return h;case y:return s;case _:return v;case g:return p;case j:return d}return e});let w=O},5054(t,e,r){r.d(e,{A:()=>l});var n=r(4548),o=r(18),u=r(2049),a=r(5353),i=r(2873),c=r(901);let l=function(t,e,r){e=(0,n.A)(e,t);for(var l=-1,f=e.length,A=!1;++l<f;){var s=(0,c.A)(e[l]);if(!(A=null!=t&&r(t,s)))break;t=t[s]}return A||++l!=f?A:!!(f=null==t?0:t.length)&&(0,i.A)(f)&&(0,a.A)(s,f)&&((0,u.A)(t)||(0,o.A)(t))}},5353(t,e,r){r.d(e,{A:()=>o});var n=/^(?:0|[1-9]\d*)$/;let o=function(t,e){var r=typeof t;return!!(e=null==e?0x1fffffffffffff:e)&&("number"==r||"symbol"!=r&&n.test(t))&&t>-1&&t%1==0&&t<e}},6586(t,e,r){r.d(e,{A:()=>i});var n=r(2049),o=r(1882),u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;let i=function(t,e){if((0,n.A)(t))return!1;var r=typeof t;return!!("number"==r||"symbol"==r||"boolean"==r||null==t||(0,o.A)(t))||a.test(t)||!u.test(t)||null!=e&&t in Object(e)}},7271(t,e,r){r.d(e,{A:()=>o});var n=Object.prototype;let o=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},4841(t,e,r){r.d(e,{A:()=>i});var n=r(2136),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,u=o&&"object"==typeof module&&module&&!module.nodeType&&module,a=u&&u.exports===o&&n.A.process;let i=function(){try{var t=u&&u.require&&u.require("util").types;if(t)return t;return a&&a.binding&&a.binding("util")}catch(t){}}()},367(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){return function(r){return t(e(r))}}},3310(t,e,r){r.d(e,{A:()=>u});let n=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)};var o=Math.max;let u=function(t,e,r){return e=o(void 0===e?t.length-1:e,0),function(){for(var u=arguments,a=-1,i=o(u.length-e,0),c=Array(i);++a<i;)c[a]=u[e+a];a=-1;for(var l=Array(e+1);++a<e;)l[a]=u[a];return l[e]=r(c),n(t,this,l)}}},1917(t,e,r){r.d(e,{A:()=>u});var n=r(2136),o="object"==typeof self&&self&&self.Object===Object&&self;let u=n.A||o||Function("return this")()},9959(t,e,r){r.d(e,{A:()=>n});let n=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}},7211(t,e,r){r.d(e,{A:()=>f});var n,o,u=r(9142),a=r(4171),i=r(9008),c=a.A?function(t,e){return(0,a.A)(t,"toString",{configurable:!0,enumerable:!1,value:(0,u.A)(e),writable:!0})}:i.A,l=Date.now;let f=(n=0,o=0,function(){var t=l(),e=16-(t-o);if(o=t,e>0){if(++n>=800)return arguments[0]}else n=0;return c.apply(void 0,arguments)})},901(t,e,r){r.d(e,{A:()=>u});var n=r(1882),o=1/0;let u=function(t){if("string"==typeof t||(0,n.A)(t))return t;var e=t+"";return"0"==e&&1/t==-o?"-0":e}},1121(t,e,r){r.d(e,{A:()=>o});var n=Function.prototype.toString;let o=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},9142(t,e,r){r.d(e,{A:()=>n});let n=function(t){return function(){return t}}},6984(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){return t===e||t!=t&&e!=e}},4092(t,e,r){r.d(e,{A:()=>i});var n=r(2634),o=r(1790),u=r(1990),a=r(2049);let i=function(t,e){return((0,a.A)(t)?n.A:o.A)(t,(0,u.A)(e,3))}},8058(t,e,r){r.d(e,{A:()=>i});var n=r(2641),o=r(5045),u=r(9922),a=r(2049);let i=function(t,e){return((0,a.A)(t)?n.A:o.A)(t,(0,u.A)(e))}},6953(t,e,r){r.d(e,{A:()=>u});let n=function(t,e){return null!=t&&e in Object(t)};var o=r(5054);let u=function(t,e){return null!=t&&(0,o.A)(t,e,n)}},9008(t,e,r){r.d(e,{A:()=>n});let n=function(t){return t}},18(t,e,r){r.d(e,{A:()=>l});var n=r(8348),o=r(3098);let u=function(t){return(0,o.A)(t)&&"[object Arguments]"==(0,n.A)(t)};var a=Object.prototype,i=a.hasOwnProperty,c=a.propertyIsEnumerable;let l=u(function(){return arguments}())?u:function(t){return(0,o.A)(t)&&i.call(t,"callee")&&!c.call(t,"callee")}},2049(t,e,r){r.d(e,{A:()=>n});let n=Array.isArray},8446(t,e,r){r.d(e,{A:()=>u});var n=r(9610),o=r(2873);let u=function(t){return null!=t&&(0,o.A)(t.length)&&!(0,n.A)(t)}},3533(t,e,r){r.d(e,{A:()=>u});var n=r(8446),o=r(3098);let u=function(t){return(0,o.A)(t)&&(0,n.A)(t)}},5254(t,e,r){r.d(e,{A:()=>i});var n=r(1917),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,u=o&&"object"==typeof module&&module&&!module.nodeType&&module,a=u&&u.exports===o?n.A.Buffer:void 0;let i=(a?a.isBuffer:void 0)||function(){return!1}},6401(t,e,r){r.d(e,{A:()=>s});var n=r(4065),o=r(3231),u=r(18),a=r(2049),i=r(8446),c=r(5254),l=r(7271),f=r(9415),A=Object.prototype.hasOwnProperty;let s=function(t){if(null==t)return!0;if((0,i.A)(t)&&((0,a.A)(t)||"string"==typeof t||"function"==typeof t.splice||(0,c.A)(t)||(0,f.A)(t)||(0,u.A)(t)))return!t.length;var e=(0,o.A)(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if((0,l.A)(t))return!(0,n.A)(t).length;for(var r in t)if(A.call(t,r))return!1;return!0}},9610(t,e,r){r.d(e,{A:()=>u});var n=r(8348),o=r(3149);let u=function(t){if(!(0,o.A)(t))return!1;var e=(0,n.A)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},2873(t,e,r){r.d(e,{A:()=>n});let n=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=0x1fffffffffffff}},3149(t,e,r){r.d(e,{A:()=>n});let n=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},3098(t,e,r){r.d(e,{A:()=>n});let n=function(t){return null!=t&&"object"==typeof t}},1882(t,e,r){r.d(e,{A:()=>u});var n=r(8348),o=r(3098);let u=function(t){return"symbol"==typeof t||(0,o.A)(t)&&"[object Symbol]"==(0,n.A)(t)}},9415(t,e,r){r.d(e,{A:()=>f});var n=r(8348),o=r(2873),u=r(3098),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1;var i=r(2789),c=r(4841),l=c.A&&c.A.isTypedArray;let f=l?(0,i.A)(l):function(t){return(0,u.A)(t)&&(0,o.A)(t.length)&&!!a[(0,n.A)(t)]}},9592(t,e,r){r.d(e,{A:()=>n});let n=function(t){return void 0===t}},7422(t,e,r){r.d(e,{A:()=>a});var n=r(1463),o=r(4065),u=r(8446);let a=function(t){return(0,u.A)(t)?(0,n.A)(t):(0,o.A)(t)}},2302(t,e,r){r.d(e,{A:()=>n});let n=function(){}},4039(t,e,r){r.d(e,{A:()=>c});let n=function(t,e,r,n){var o=-1,u=null==t?0:t.length;for(n&&u&&(r=t[++o]);++o<u;)r=e(r,t[o],o,t);return r};var o=r(5045),u=r(1990);let a=function(t,e,r,n,o){return o(t,function(t,o,u){r=n?(n=!1,t):e(r,t,o,u)}),r};var i=r(2049);let c=function(t,e,r){var c=(0,i.A)(t)?n:a,l=arguments.length<3;return c(t,(0,u.A)(e,4),r,l,o.A)}},3153(t,e,r){r.d(e,{A:()=>n});let n=function(){return[]}},4898(t,e,r){r.d(e,{A:()=>A});var n=r(241),o=r(5572),u=r(2049),a=r(1882),i=1/0,c=n.A?n.A.prototype:void 0,l=c?c.toString:void 0;let f=function t(e){if("string"==typeof e)return e;if((0,u.A)(e))return(0,o.A)(e,t)+"";if((0,a.A)(e))return l?l.call(e):"";var r=e+"";return"0"==r&&1/e==-i?"-0":r},A=function(t){return null==t?"":f(t)}},2888(t,e,r){r.d(e,{A:()=>u});var n=r(5572),o=r(7422);let u=function(t){var e;return null==t?[]:(e=(0,o.A)(t),(0,n.A)(e,function(e){return t[e]}))}}}]); \ No newline at end of file diff --git a/assets/js/2240.925a2a48.js b/assets/js/2240.925a2a48.js new file mode 100644 index 0000000..a5d8bd6 --- /dev/null +++ b/assets/js/2240.925a2a48.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2240"],{8931(e,r,t){t.d(r,{diagram:()=>g});var a=t(1578),n=t(7454);t(4924),t(1177);var s=t(1293),l=t(6827),p=t(8731),i=(0,p.Pz)().RailroadPeg.parser.LangiumParser,o=(0,l.K)(e=>{let r=e.alternatives.map(u);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),u=(0,l.K)(e=>{let r=e.elements.map(m);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),m=(0,l.K)(e=>{let r=c(e.suffix);return e.operator?{type:"special",text:"&"===e.operator?`&${d(r)}`:`!${d(r)}`}:r},"transformPrefix"),d=(0,l.K)(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),c=(0,l.K)(e=>{let r=f(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),f=(0,l.K)(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return o(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=(0,l.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),P=(0,l.K)(e=>{(0,n.S)(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(e=>a.db.addRule(y(e)))},"populateDb"),g={parser:{parse:(0,l.K)(e=>{a.db.clear(),s.R.debug("[PEG Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;s.R.debug("[PEG Parser] Parsed rules:",t.rules.length),P(t),s.R.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.U,styles:a.$}}}]); \ No newline at end of file diff --git a/assets/js/2268.485f02c6.js b/assets/js/2268.485f02c6.js new file mode 100644 index 0000000..1cdd60c --- /dev/null +++ b/assets/js/2268.485f02c6.js @@ -0,0 +1,286 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2268"],{2735(t,e,s){s.d(e,{CP:()=>d,Ck:()=>y,HT:()=>p,PB:()=>u,aC:()=>h,lC:()=>l,m:()=>c,tk:()=>o});var i=s(1177),r=s(6827),a=s(6750),n=s(7829),o=(0,r.K)((t,e)=>{let s=t.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),e.name&&s.attr("name",e.name),e.rx&&s.attr("rx",e.rx),e.ry&&s.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)s.attr(t,e.attrs[t]);return e.class&&s.attr("class",e.class),s},"drawRect"),l=(0,r.K)((t,e)=>{o(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),c=(0,r.K)((t,e)=>{let s=e.text.replace(i.H1," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(s),r},"drawText"),h=(0,r.K)((t,e,s,i)=>{let r=t.append("image");r.attr("x",e),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",n)},"drawImage"),d=(0,r.K)((t,e,s,i)=>{let r=t.append("use");r.attr("x",e),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),u=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),y=(0,r.K)(()=>{let t=(0,n.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},5869(t,e,s){s.d(e,{P:()=>n});var i=s(1177),r=s(1293),a=s(6827),n=(0,a.K)((t,e,s,a)=>{t.attr("class",s);let{width:n,height:c,x:h,y:d}=o(t,e);(0,i.a$)(t,c,n,a);let u=l(h,d,n,c,e);t.attr("viewBox",u),r.R.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),o=(0,a.K)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,a.K)((t,e,s,i,r)=>`${t-r} ${e-r} ${s} ${i}`,"createViewBox")},6755(t,e,s){s.d(e,{A:()=>a});var i=s(6827),r=s(7829),a=(0,i.K)((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ltv)("#i"+t)),("sandbox"===e?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},7335(t,e,s){s.d(e,{diagram:()=>td});var i=s(6755),r=s(5869),a=s(2391);s(3247);var n=s(2735);s(5616),s(6163),s(7827),s(3002),s(739),s(6320),s(2217);var o=s(2941),l=s(6348),c=s(1177),h=s(1293),d=s(6827),u=s(7829),p=s(9418),y=function(){var t=(0,d.K)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[1,2],s=[1,3],i=[1,4],r=[2,4],a=[1,9],n=[1,11],o=[1,16],l=[1,17],c=[1,18],h=[1,19],u=[1,33],p=[1,20],y=[1,21],g=[1,22],f=[1,23],m=[1,24],S=[1,26],k=[1,27],b=[1,28],T=[1,29],_=[1,30],x=[1,31],E=[1,32],$=[1,35],D=[1,36],C=[1,37],v=[1,38],w=[1,34],I=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],A=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],L=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],R={trace:(0,d.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:(0,d.K)(function(t,e,s,i,r,a,n){var o=a.length-1;switch(r){case 3:return i.setRootDoc(a[o]),a[o];case 4:this.$=[];break;case 5:"nl"!=a[o]&&(a[o-1].push(a[o]),this.$=a[o-1]);break;case 6:case 7:case 12:this.$=a[o];break;case 8:this.$="nl";break;case 13:let l=a[o-1];l.description=i.trimColon(a[o]),this.$=l;break;case 14:this.$={stmt:"relation",state1:a[o-2],state2:a[o]};break;case 15:let c=i.trimColon(a[o]);this.$={stmt:"relation",state1:a[o-3],state2:a[o-1],description:c};break;case 19:this.$={stmt:"state",id:a[o-3],type:"default",description:"",doc:a[o-1]};break;case 20:var h=a[o],d=a[o-2].trim();if(a[o].match(":")){var u=a[o].split(":");h=u[0],d=[d,u[1]]}this.$={stmt:"state",id:h,type:"default",description:d};break;case 21:this.$={stmt:"state",id:a[o-3],type:"default",description:a[o-5],doc:a[o-1]};break;case 22:this.$={stmt:"state",id:a[o],type:"fork"};break;case 23:this.$={stmt:"state",id:a[o],type:"join"};break;case 24:this.$={stmt:"state",id:a[o],type:"choice"};break;case 25:this.$={stmt:"state",id:i.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:a[o-1].trim(),note:{position:a[o-2].trim(),text:a[o].trim()}};break;case 29:this.$=a[o].trim(),i.setAccTitle(this.$);break;case 30:case 31:this.$=a[o].trim(),i.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:a[o-3],url:a[o-2],tooltip:a[o-1]};break;case 33:this.$={stmt:"click",id:a[o-3],url:a[o-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:a[o-1].trim(),classes:a[o].trim()};break;case 36:this.$={stmt:"style",id:a[o-1].trim(),styleClass:a[o].trim()};break;case 37:this.$={stmt:"applyClass",id:a[o-1].trim(),styleClass:a[o].trim()};break;case 38:i.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:i.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:i.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:i.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:a[o].trim(),type:"default",description:""};break;case 46:case 47:this.$={stmt:"state",id:a[o-2].trim(),classes:[a[o].trim()],type:"default",description:""}}},"anonymous"),table:[{3:1,4:e,5:s,6:i},{1:[3]},{3:5,4:e,5:s,6:i},{3:6,4:e,5:s,6:i},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:n,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:c,22:h,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:k,37:b,38:T,41:_,45:x,48:E,51:$,52:D,53:C,54:v,57:w},t(I,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:c,22:h,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:k,37:b,38:T,41:_,45:x,48:E,51:$,52:D,53:C,54:v,57:w},t(I,[2,7]),t(I,[2,8]),t(I,[2,9]),t(I,[2,10]),t(I,[2,11]),t(I,[2,12],{14:[1,40],15:[1,41]}),t(I,[2,16]),{18:[1,42]},t(I,[2,18],{20:[1,43]}),{23:[1,44]},t(I,[2,22]),t(I,[2,23]),t(I,[2,24]),t(I,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(I,[2,28]),{34:[1,49]},{36:[1,50]},t(I,[2,31]),{13:51,24:u,57:w},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(A,[2,44],{58:[1,56]}),t(A,[2,45],{58:[1,57]}),t(I,[2,38]),t(I,[2,39]),t(I,[2,40]),t(I,[2,41]),t(I,[2,6]),t(I,[2,13]),{13:58,24:u,57:w},t(I,[2,17]),t(L,r,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(I,[2,29]),t(I,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(I,[2,14],{14:[1,71]}),{4:a,5:n,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:c,21:[1,72],22:h,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:k,37:b,38:T,41:_,45:x,48:E,51:$,52:D,53:C,54:v,57:w},t(I,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(I,[2,34]),t(I,[2,35]),t(I,[2,36]),t(I,[2,37]),t(A,[2,46]),t(A,[2,47]),t(I,[2,15]),t(I,[2,19]),t(L,r,{7:78}),t(I,[2,26]),t(I,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:n,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:c,21:[1,81],22:h,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:k,37:b,38:T,41:_,45:x,48:E,51:$,52:D,53:C,54:v,57:w},t(I,[2,32]),t(I,[2,33]),t(I,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:(0,d.K)(function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},"parseError"),parse:(0,d.K)(function(t){var e=this,s=[0],i=[],r=[null],a=[],n=this.table,o="",l=0,c=0,h=0,u=a.slice.call(arguments,1),p=Object.create(this.lexer),y={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y[g]=this.yy[g]);p.setInput(t,y),y.lexer=p,y.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;a.push(f);var m=p.options&&p.options.ranges;function S(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.parseError?this.parseError=y.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,d.K)(function(t){s.length=s.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,d.K)(S,"lex");for(var k,b,T,_,x,E,$,D,C,v={};;){if(T=s[s.length-1],this.defaultActions[T]?_=this.defaultActions[T]:(null==k&&(k=S()),_=n[T]&&n[T][k]),void 0===_||!_.length||!_[0]){var w="";for(E in C=[],n[T])this.terminals_[E]&&E>2&&C.push("'"+this.terminals_[E]+"'");w=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(w,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:f,expected:C})}if(_[0]instanceof Array&&_.length>1)throw Error("Parse Error: multiple actions possible at state: "+T+", token: "+k);switch(_[0]){case 1:s.push(k),r.push(p.yytext),a.push(p.yylloc),s.push(_[1]),k=null,b?(k=b,b=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,f=p.yylloc,h>0&&h--);break;case 2:if($=this.productions_[_[1]][1],v.$=r[r.length-$],v._$={first_line:a[a.length-($||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-($||1)].first_column,last_column:a[a.length-1].last_column},m&&(v._$.range=[a[a.length-($||1)].range[0],a[a.length-1].range[1]]),void 0!==(x=this.performAction.apply(v,[o,c,l,y,_[1],r,a].concat(u))))return x;$&&(s=s.slice(0,-1*$*2),r=r.slice(0,-1*$),a=a.slice(0,-1*$)),s.push(this.productions_[_[1]][0]),r.push(v.$),a.push(v._$),D=n[s[s.length-2]][s[s.length-1]],s.push(D);break;case 3:return!0}}return!0},"parse")};function N(){this.yy={}}return R.lexer={EOF:1,parseError:(0,d.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,d.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,d.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,d.K)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,d.K)(function(){return this._more=!0,this},"more"),reject:(0,d.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,d.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,d.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,d.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,d.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,d.K)(function(t,e){var s,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,d.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,r=this._currentRules(),a=0;a<r.length;a++)if((s=this._input.match(this.rules[r[a]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,d.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,d.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,d.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,d.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,d.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,d.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,d.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,d.K)(function(t,e,s,i){function r(){let s=e.yytext.indexOf("%%");if(0===s)return!1;if(s>0){let i=e.yytext.slice(0,s),r=e.yytext.slice(s);r&&t.lexer.unput(r),e.yytext=i}return!0}switch((0,d.K)(r,"processId"),s){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:case 43:return 51;case 5:case 44:return 52;case 6:case 45:return 53;case 7:case 46:return 54;case 8:case 78:return 5;case 9:case 10:case 11:case 12:case 57:case 63:break;case 13:case 33:return this.pushState("SCALE"),17;case 14:case 34:return 18;case 15:case 21:case 35:case 50:case 54:this.popState();break;case 16:return this.begin("acc_title"),33;case 17:return this.popState(),"acc_title_value";case 18:return this.begin("acc_descr"),35;case 19:return this.popState(),"acc_descr_value";case 20:this.begin("acc_descr_multiline");break;case 22:return"acc_descr_multiline_value";case 23:return this.pushState("CLASSDEF"),41;case 24:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 25:return this.popState(),this.pushState("CLASSDEFID"),42;case 26:return this.popState(),43;case 27:return this.pushState("CLASS"),48;case 28:return this.popState(),this.pushState("CLASS_STYLE"),49;case 29:return this.popState(),50;case 30:return this.pushState("STYLE"),45;case 31:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 32:return this.popState(),47;case 36:this.pushState("STATE");break;case 37:case 40:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 38:case 41:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),26;case 39:case 42:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),27;case 47:this.pushState("STATE_STRING");break;case 48:return this.pushState("STATE_ID"),"AS";case 49:case 65:if(!r())return;return this.popState(),"ID";case 51:return"STATE_DESCR";case 52:throw Error('Error: State name must be a single word. Found: "'+e.yytext.trim()+'"');case 53:return 19;case 55:return this.popState(),this.pushState("struct"),20;case 56:return this.popState(),21;case 58:return this.begin("NOTE"),29;case 59:return this.popState(),this.pushState("NOTE_ID"),59;case 60:return this.popState(),this.pushState("NOTE_ID"),60;case 61:this.popState(),this.pushState("FLOATING_NOTE");break;case 62:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 64:return"NOTE_TEXT";case 66:if(!r())return;return this.popState(),this.pushState("NOTE_TEXT"),24;case 67:return this.popState(),e.yytext=e.yytext.substr(2).trim(),31;case 68:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),31;case 69:case 70:return 6;case 71:return 16;case 72:return 57;case 73:if(!r())return;return 24;case 74:return e.yytext=e.yytext.trim(),14;case 75:return 15;case 76:return 28;case 77:return 58;case 79:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/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,/^(?:\w+\s+\w+.*?\{)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/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]*?\n\s*end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[10,11,12],inclusive:!1},struct:{rules:[10,11,12,23,27,30,36,43,44,45,46,56,57,58,72,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[65],inclusive:!1},FLOATING_NOTE:{rules:[62,63,64],inclusive:!1},NOTE_TEXT:{rules:[67,68],inclusive:!1},NOTE_ID:{rules:[66],inclusive:!1},NOTE:{rules:[59,60,61],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[32],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[31],inclusive:!1},CLASS_STYLE:{rules:[29],inclusive:!1},CLASS:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[26],inclusive:!1},CLASSDEF:{rules:[24,25],inclusive:!1},acc_descr_multiline:{rules:[21,22],inclusive:!1},acc_descr:{rules:[19],inclusive:!1},acc_title:{rules:[17],inclusive:!1},SCALE:{rules:[14,15,34,35],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[49],inclusive:!1},STATE_STRING:{rules:[50,51],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[10,11,12,37,38,39,40,41,42,47,48,52,53,54,55],inclusive:!1},ID:{rules:[10,11,12],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,12,13,16,18,20,23,27,30,33,36,55,58,69,70,71,72,73,74,75,77,78,79],inclusive:!0}}},(0,d.K)(N,"Parser"),N.prototype=R,R.Parser=N,new N}();y.parser=y;var g="TB",f="state",m="root",S="relation",k="default",b="divider",T="fill:none",_="fill: #333",x="markdown",E="normal",$="rect",D="rectWithTitle",C="divider",v="roundedWithTitle",w="statediagram",I=`${w}-state`,A="transition",L=`${A} note-edge`,R=`${w}-note`,N=`${w}-cluster`,K=`${w}-cluster-alt`,O="parent",B="note",F="----",P=`${F}${B}`,Y=`${F}${O}`,G=new Map,j=0,W=0,z=new Map,M=(0,d.K)((t,e,s,i)=>{if(t===C&&s?.id!==void 0&&z.has(s.id)){let t=z.get(s.id);return z.set(e,t),t}let r=W++,a=i?void 0:r;return z.set(e,a),a},"colorSlotFor");function U(t="",e=0,s="",i=F){let r=null!==s&&s.length>0?`${i}${s}`:"";return`state-${t}${r}-${e}`}(0,d.K)(U,"stateDomId");var H=(0,d.K)((t,e,s,i,r,a,n,o)=>{h.R.trace("items",e),e.forEach(e=>{switch(e.stmt){case f:case k:Q(t,e,s,i,r,a,n,o);break;case S:{Q(t,e.state1,s,i,r,a,n,o),Q(t,e.state2,s,i,r,a,n,o);let l="neo"===n,h={id:"edge"+j,start:e.state1.id,end:e.state2.id,arrowhead:"normal",arrowTypeEnd:l?"arrow_barb_neo":"arrow_barb",style:T,labelStyle:"",label:c.Y2.sanitizeText(e.description??"",(0,c.D7)()),arrowheadStyle:_,labelpos:"c",labelType:x,thickness:E,classes:A,look:n};r.push(h),j++}}})},"setupDoc"),X=(0,d.K)((t,e=g)=>{let s=e;if(t.doc)for(let e of t.doc)"dir"===e.stmt&&(s=e.value);return s},"getDir");function V(t,e,s){if(!e.id||"</join></fork>"===e.id||"</choice>"===e.id)return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(t=>{let i=s.get(t);i&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...i.styles])}));let i=t.find(t=>t.id===e.id);i?Object.assign(i,e):t.push(e)}function q(t){return t?.classes?.join(" ")??""}function J(t){return t?.styles??[]}(0,d.K)(V,"insertOrUpdateNode"),(0,d.K)(q,"getClassesFromDbInfo"),(0,d.K)(J,"getStylesFromDbInfo");var Q=(0,d.K)((t,e,s,i,r,a,n,o)=>{let l=e.id,d=s.get(l),u=q(d),p=J(d),y=(0,c.D7)(),g=""!==u.trim()||p.length>0;if(h.R.info("dataFetcher parsedItem",e,d,p),"root"!==l){let s=$;!0===e.start?s="stateStart":!1===e.start&&(s="stateEnd"),e.type!==k&&(s=e.type),G.get(l)||G.set(l,{id:l,shape:s,description:c.Y2.sanitizeText(l,y),cssClasses:`${u} ${I}`,cssStyles:p});let d=G.get(l);e.description&&(Array.isArray(d.description)?(d.shape=D,d.description.push(e.description)):d.description?.length&&d.description.length>0?(d.shape=D,d.description===l?d.description=[e.description]:d.description=[d.description,e.description]):(d.shape=$,d.description=e.description),d.description=c.Y2.sanitizeTextOrArray(d.description,y)),d.description?.length===1&&d.shape===D&&("group"===d.type?d.shape=v:d.shape=$),!d.type&&e.doc&&(h.R.info("Setting cluster for XCX",l,X(e)),d.type="group",d.isGroup=!0,d.dir=X(e),d.shape=e.type===b?C:v,d.colorIndex=M(d.shape,l,t,g),d.cssClasses=`${d.cssClasses} ${N} ${a?K:""}`);let f={labelStyle:"",shape:d.shape,label:d.description,cssClasses:d.cssClasses,cssCompiledStyles:[],cssStyles:d.cssStyles,id:l,dir:d.dir,domId:U(l,j),type:d.type,isGroup:"group"===d.type,colorIndex:d.colorIndex,padding:8,rx:10,ry:10,look:n,labelType:"markdown"};if(f.shape===C&&(f.label=""),t&&"root"!==t.id&&(h.R.trace("Setting node ",l," to be child of its parent ",t.id),f.parentId=t.id),f.centerLabel=!0,e.note){let t={labelStyle:"",shape:"note",label:e.note.text,labelType:"markdown",cssClasses:R,cssStyles:[],cssCompiledStyles:[],id:l+P+"-"+j,domId:U(l,j,B),type:"node",isGroup:!1,padding:y.flowchart?.padding,look:n,position:e.note.position},s=l+Y,a={labelStyle:"",shape:"noteGroup",label:e.note.text,cssClasses:d.cssClasses,cssStyles:[],id:l+Y,domId:U(l,j,O),type:"group",isGroup:!0,padding:16,look:n,position:e.note.position};j++,a.id=s,t.parentId=s,V(i,a,o),V(i,t,o),V(i,f,o);let c=l,h=t.id;"left of"===e.note.position&&(c=t.id,h=l),r.push({id:c+"-"+h,start:c,end:h,arrowhead:"none",arrowTypeEnd:"",style:T,labelStyle:"",classes:L,pattern:"dashed",arrowheadStyle:_,labelpos:"c",labelType:x,thickness:E,look:n})}else V(i,f,o)}e.doc&&(h.R.trace("Adding nodes children "),H(e,e.doc,s,i,r,!a,n,o))},"dataFetcher"),Z=(0,d.K)(()=>{G.clear(),j=0,W=0,z.clear()},"reset"),tt=(0,d.K)((t,e=g)=>{if(!t.doc)return e;let s=e;for(let e of t.doc)"dir"===e.stmt&&(s=e.value);return s},"getDir"),te=(0,d.K)(function(t,e){return e.db.getClasses()},"getClasses"),ts=(0,d.K)(async function(t,e,s,n){h.R.info("REF0:"),h.R.info("Drawing state diagram (v2)",e);let{securityLevel:o,state:d,layout:u}=(0,c.D7)();n.db.extract(n.db.getRootDocV2());let p=n.db.getData(),y=(0,i.A)(e,o);p.type=n.type,p.layoutAlgorithm=(0,a.q7)(u),p.nodeSpacing=d?.nodeSpacing||50,p.rankSpacing=d?.rankSpacing||50,"neo"===(0,c.D7)().look?p.markers=["barbNeo"]:p.markers=["barb"],p.diagramId=e,await (0,a.XX)(p,y);try{("function"==typeof n.db.getLinks?n.db.getLinks():new Map).forEach((t,e)=>{let s,i="string"==typeof e?e:"string"==typeof e?.id?e.id:"",r=p.nodes.find(t=>t.id===i);if(!i)return void h.R.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(e));let a=y.node()?.querySelectorAll("g.node, g.rough-node");if(a?.forEach(t=>{let e=t.textContent?.trim();(t.id===r?.domId||e===i)&&(s=t)}),!s)return void h.R.warn("\u26A0\uFE0F Could not find node matching text:",i);let n=s.parentNode;if(!n)return void h.R.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",i);let o=document.createElementNS("http://www.w3.org/2000/svg","a"),l=t.url.replace(/^"+|"+$/g,"");if(o.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l),o.setAttribute("target","_blank"),t.tooltip){let e=t.tooltip.replace(/^"+|"+$/g,"");o.setAttribute("title",e),s.setAttribute("title",e)}n.replaceChild(o,s),o.appendChild(s),h.R.info("\u{1F517} Wrapped node in <a> tag for:",i,t.url)})}catch(t){h.R.error("\u274C Error injecting clickable links:",t)}l._K.insertTitle(y,"statediagramTitleText",d?.titleTopMargin??25,n.db.getDiagramTitle()),(0,r.P)(y,8,w,d?.useMaxWidth??!0)},"draw"),ti="start",tr="color",ta="fill",tn=(0,d.K)(()=>new Map,"newClassesList"),to=(0,d.K)(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),tl=(0,d.K)(t=>JSON.parse(JSON.stringify(t)),"clone"),tc=class{constructor(t){this.version=t,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=tn(),this.documents={root:to()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.funs=[],this.getAccTitle=c.iN,this.setAccTitle=c.SV,this.getAccDescription=c.m7,this.setAccDescription=c.EI,this.setDiagramTitle=c.ke,this.getDiagramTitle=c.ab,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this),this.bindFunctions=this.bindFunctions.bind(this)}static{(0,d.K)(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(t){for(let e of(this.clear(!0),Array.isArray(t)?t:t.doc))switch(e.stmt){case f:this.addState(e.id.trim(),e.type,e.doc,e.description,e.note);break;case S:this.addRelation(e.state1,e.state2,e.description);break;case"classDef":this.addStyleClass(e.id.trim(),e.classes);break;case"style":this.handleStyleDef(e);break;case"applyClass":this.setCssClass(e.id.trim(),e.styleClass);break;case"click":this.addLink(e.id,e.url,e.tooltip)}let e=this.getStates(),s=(0,c.D7)();for(let t of(Z(),Q(void 0,this.getRootDocV2(),e,this.nodes,this.edges,!0,s.look,this.classes),this.nodes))if(Array.isArray(t.label)){if(t.description=t.label.slice(1),t.isGroup&&t.description.length>0)throw Error(`Group nodes can only have label. Remove the additional description for node [${t.id}]`);t.label=t.label[0]}}handleStyleDef(t){let e=t.id.trim().split(","),s=t.styleClass.split(",");for(let t of e){let e=this.getState(t);if(!e){let s=t.trim();this.addState(s),e=this.getState(s)}e&&(e.styles=s.map(t=>t.replace(/;/g,"")?.trim()))}}setRootDoc(t){h.R.info("Setting root doc",t),this.rootDoc=t,1===this.version?this.extract(t):this.extract(this.getRootDocV2())}docTranslator(t,e,s){if(e.stmt===S){this.docTranslator(t,e.state1,!0),this.docTranslator(t,e.state2,!1);return}if(e.stmt===f&&("[*]"===e.id?(e.id=t.id+(s?"_start":"_end"),e.start=s):e.id=e.id.trim()),e.stmt!==m&&e.stmt!==f||!e.doc)return;let i=[],r=[];for(let t of e.doc)if(t.type===b){let e=tl(t);e.doc=tl(r),i.push(e),r=[]}else r.push(t);if(i.length>0&&r.length>0){let t={stmt:f,id:(0,l.$C)(),type:"divider",doc:tl(r)};i.push(tl(t)),e.doc=i}e.doc.forEach(t=>this.docTranslator(e,t,!0))}getRootDocV2(){return this.docTranslator({id:m,stmt:m},{id:m,stmt:m,doc:this.rootDoc},!0),{id:m,doc:this.rootDoc}}addState(t,e=k,s,i,r,a,n,o){let l=t?.trim();if(this.currentDocument.states.has(l)){let t=this.currentDocument.states.get(l);if(!t)throw Error(`State not found: ${l}`);t.doc||(t.doc=s),t.type||(t.type=e)}else h.R.info("Adding state ",l,i),this.currentDocument.states.set(l,{stmt:f,id:l,descriptions:[],type:e,doc:s,note:r,classes:[],styles:[],textStyles:[]});if(i&&(h.R.info("Setting state description",l,i),(Array.isArray(i)?i:[i]).forEach(t=>this.addDescription(l,t.trim()))),r){let t=this.currentDocument.states.get(l);if(!t)throw Error(`State not found: ${l}`);t.note=r,t.note.text=c.Y2.sanitizeText(t.note.text,(0,c.D7)())}a&&(h.R.info("Setting state classes",l,a),(Array.isArray(a)?a:[a]).forEach(t=>this.setCssClass(l,t.trim()))),n&&(h.R.info("Setting state styles",l,n),(Array.isArray(n)?n:[n]).forEach(t=>this.setStyle(l,t.trim()))),o&&(h.R.info("Setting state styles",l,n),(Array.isArray(o)?o:[o]).forEach(t=>this.setTextStyle(l,t.trim())))}clear(t){this.nodes=[],this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.documents={root:to()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=tn(),t||(this.links=new Map,(0,c.IU)())}getState(t){return this.currentDocument.states.get(t)}getStates(){return this.currentDocument.states}logDocuments(){h.R.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(t,e,s){this.links.set(t,{url:e,tooltip:s}),h.R.warn("Adding link",t,e,s)}getLinks(){return this.links}startIdIfNeeded(t=""){return"[*]"===t?(this.startEndCount++,`${ti}${this.startEndCount}`):t}startTypeIfNeeded(t="",e=k){return"[*]"===t?ti:e}endIdIfNeeded(t=""){return"[*]"===t?(this.startEndCount++,`end${this.startEndCount}`):t}endTypeIfNeeded(t="",e=k){return"[*]"===t?"end":e}addRelationObjs(t,e,s=""){let i=this.startIdIfNeeded(t.id.trim()),r=this.startTypeIfNeeded(t.id.trim(),t.type),a=this.startIdIfNeeded(e.id.trim()),n=this.startTypeIfNeeded(e.id.trim(),e.type);this.addState(i,r,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),this.addState(a,n,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.currentDocument.relations.push({id1:i,id2:a,relationTitle:c.Y2.sanitizeText(s,(0,c.D7)())})}addRelation(t,e,s){if("object"==typeof t&&"object"==typeof e)this.addRelationObjs(t,e,s);else if("string"==typeof t&&"string"==typeof e){let i=this.startIdIfNeeded(t.trim()),r=this.startTypeIfNeeded(t),a=this.endIdIfNeeded(e.trim()),n=this.endTypeIfNeeded(e);this.addState(i,r),this.addState(a,n),this.currentDocument.relations.push({id1:i,id2:a,relationTitle:s?c.Y2.sanitizeText(s,(0,c.D7)()):void 0})}}addDescription(t,e){let s=this.currentDocument.states.get(t),i=e.startsWith(":")?e.replace(":","").trim():e;s?.descriptions?.push(c.Y2.sanitizeText(i,(0,c.D7)()))}cleanupLabel(t){return t.startsWith(":")?t.slice(2).trim():t.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(t,e=""){this.classes.has(t)||this.classes.set(t,{id:t,styles:[],textStyles:[]});let s=this.classes.get(t);e&&s&&e.split(",").forEach(t=>{let e=t.replace(/([^;]*);/,"$1").trim();if(RegExp(tr).exec(t)){let t=e.replace(ta,"bgFill").replace(tr,ta);s.textStyles.push(t)}s.styles.push(e)})}getClasses(){return this.classes}setupToolTips(t){let e=(0,n.Ck)();(0,u.Ltv)(t).select("svg").selectAll("g.node, g.rough-node").on("mouseover",t=>{let s=(0,u.Ltv)(t.currentTarget),i=s.attr("title");if(null===i)return;let r=t.currentTarget?.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.style("left",window.scrollX+r.left+(r.right-r.left)/2+"px").style("top",window.scrollY+r.bottom+"px"),e.html(p.A.sanitize(i)),s.classed("hover",!0)}).on("mouseout",t=>{e.transition().duration(500).style("opacity",0),(0,u.Ltv)(t.currentTarget).classed("hover",!1)})}setCssClass(t,e){t.split(",").forEach(t=>{let s=this.getState(t);if(!s){let e=t.trim();this.addState(e),s=this.getState(e)}s?.classes?.push(e)})}setStyle(t,e){this.getState(t)?.styles?.push(e)}setTextStyle(t,e){this.getState(t)?.textStyles?.push(e)}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirectionStatement(){return this.rootDoc.find(t=>"dir"===t.stmt)}getDirection(){return this.getDirectionStatement()?.value??"TB"}setDirection(t){let e=this.getDirectionStatement();e?e.value=t:this.rootDoc.unshift({stmt:"dir",value:t})}trimColon(t){return t.startsWith(":")?t.slice(1).trim():t.trim()}getData(){let t=(0,c.D7)();for(let e of this.nodes)e.wrappingWidth??=t.state?.wrappingWidth,e.isGroup||(e.minWidth??=t.state?.minNodeWidth);return{nodes:this.nodes,edges:this.edges,other:{},config:t,direction:tt(this.getRootDocV2())}}getConfig(){return(0,c.D7)().state}},th=(0,d.K)(t=>{let{theme:e,bkgColorArray:s,borderColorArray:i}=t;if(!(0,o.P1)(e,i))return"";let r=(0,o.rq)(t.look),a=(0,o.Ic)(s),n="";for(let t=0;t<(0,o.Hu)(i);t++){let e=i[t],o=a?`fill: ${s[t%s.length]};`:"",l=`[data-look="${r}"][data-color-id="color-${t}"]`;n+=` + + /* The title strip: \`rect.outer\` spans the whole composite and \`rect.inner\` covers + the body, so what stays visible of \`outer\` is the band behind the label. */ + ${l}.statediagram-cluster rect.outer { + stroke: ${e}; + ${o} + } + + ${l}.statediagram-cluster rect.inner { + stroke: ${e}; + } + + /* Concurrency regions. Siblings of one composite share a slot, so a divided composite + reads as one thing split into parts rather than as several composites. */ + ${l}.statediagram-cluster rect.divider { + stroke: ${e}; + ${o} + } + + /* handDrawn draws the same container as roughjs shapes rather than plain rects, so it + needs its own rules. \`roundedWithTitle\` and \`divider\` name those groups \`outer\`, + \`inner\` and \`divider\` to match the classic branch, which is what lets these + discriminate -- a bare \`.statediagram-cluster path\` rule reached the body as well and + tinted the whole composite, losing \`compositeBackground\` and diverging from what + classic and neo do. + + roughjs emits two paths per shape and marks them: the filled shape carries + \`stroke="none"\` and the sketched outline carries \`fill="none"\`. Splitting on that is + what keeps \`fill\` off the outline -- a rough outline is open squiggles, not a closed + region, so filling it produces smears -- and keeps \`stroke\` off the fill shape, which + would otherwise gain an edge it was drawn without. */ + ${l}.statediagram-cluster .outer path[stroke='none'] { + ${o} + } + + ${l}.statediagram-cluster .outer path[fill='none'] { + stroke: ${e}; + } + + /* No \`.inner\` rule on purpose. The body shape is left entirely alone under handDrawn, + where a rect's \`inner\` counterpart cannot be recoloured safely: roughjs draws a + hachure fill as *stroked* lines, so its fill paths carry \`fill="none"\` exactly like + the outline and no selector separates them. An \`.inner\` stroke rule therefore + repainted the hatching of every alt composite in the palette colour instead of + leaving it on \`altBackground\`. The container still reads as palette-coloured: the + \`outer\` shape spans the whole composite, so its outline already frames the body. */ + + /* Regions split the same way, which is why \`divider\` fills solid rather than taking + roughjs's default hachure -- see the note on that call. Hatched, both of its paths + carried \`fill="none"\` and these two rules degenerated: the tint matched nothing and + the border rule repainted the hatching. */ + ${l}.statediagram-cluster .divider path[stroke='none'] { + ${o} + } + + ${l}.statediagram-cluster .divider path[fill='none'] { + stroke: ${e}; + } + `}return n},"genColor"),td={parser:y,get db(){return new tc(2)},renderer:{getClasses:te,draw:ts,getDir:tt},styles:(0,d.K)(t=>` +${th(t)} +defs [id$="-barbEnd"] { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth||1}; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: ${t.strokeWidth||1}; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor||t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor||t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground||t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg||t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: ${t.strokeWidth||1}px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: ${t.strokeWidth||1}px; +} +[id$="-barbEnd"] { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: ${t.strokeWidth||1}px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // line-height: 1; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder||t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground||t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground?t.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: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +[id$="-dependencyStart"], [id$="-dependencyEnd"] { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth||1}; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} + +[data-look="neo"].statediagram-cluster rect { + fill: ${t.mainBkg}; + stroke: ${t.useGradient?"url("+t.svgId+"-gradient)":t.stateBorder||t.nodeBorder}; + stroke-width: ${t.strokeWidth??1}; +} +[data-look="neo"].statediagram-cluster rect.outer { + rx: ${t.radius}px; + ry: ${t.radius}px; + filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"} +} +`,"getStyles"),init:(0,d.K)(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}}}]); \ No newline at end of file diff --git a/assets/js/2358.f2f121b1.js b/assets/js/2358.f2f121b1.js new file mode 100644 index 0000000..487df9e --- /dev/null +++ b/assets/js/2358.f2f121b1.js @@ -0,0 +1,148 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2358"],{4918(t,e,i){i.d(e,{o:()=>r});var r=(0,i(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")},2735(t,e,i){i.d(e,{CP:()=>u,Ck:()=>d,HT:()=>y,PB:()=>p,aC:()=>h,lC:()=>o,m:()=>c,tk:()=>l});var r=i(1177),n=i(6827),s=i(6750),a=i(7829),l=(0,n.K)((t,e)=>{let i=t.append("rect");if(i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),e.name&&i.attr("name",e.name),e.rx&&i.attr("rx",e.rx),e.ry&&i.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)i.attr(t,e.attrs[t]);return e.class&&i.attr("class",e.class),i},"drawRect"),o=(0,n.K)((t,e)=>{l(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),c=(0,n.K)((t,e)=>{let i=e.text.replace(r.H1," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let s=n.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(i),n},"drawText"),h=(0,n.K)((t,e,i,r)=>{let n=t.append("image");n.attr("x",e),n.attr("y",i);let a=(0,s.sanitizeUrl)(r);n.attr("xlink:href",a)},"drawImage"),u=(0,n.K)((t,e,i,r)=>{let n=t.append("use");n.attr("x",e),n.attr("y",i);let a=(0,s.sanitizeUrl)(r);n.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),p=(0,n.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),y=(0,n.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),d=(0,n.K)(()=>{let t=(0,a.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,a.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},1493(t,e,i){i.d(e,{diagram:()=>q});var r=i(4918),n=i(2735),s=i(1177);i(1293);var a=i(6827),l=i(7829),o=function(){var t=(0,a.K)(function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},"o"),e=[6,8,10,11,12,14,16,17,18],i=[1,9],r=[1,10],n=[1,11],s=[1,12],l=[1,13],o=[1,14],c={trace:(0,a.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:(0,a.K)(function(t,e,i,r,n,s,a){var l=s.length-1;switch(n){case 1:return s[l-1];case 2:case 6:case 7:this.$=[];break;case 3:s[l-1].push(s[l]),this.$=s[l-1];break;case 4:case 5:this.$=s[l];break;case 8:r.setDiagramTitle(s[l].substr(6)),this.$=s[l].substr(6);break;case 9:this.$=s[l].trim(),r.setAccTitle(this.$);break;case 10:case 11:this.$=s[l].trim(),r.setAccDescription(this.$);break;case 12:r.addSection(s[l].substr(8)),this.$=s[l].substr(8);break;case 13:r.addTask(s[l-1],s[l]),this.$="task"}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:r,14:n,16:s,17:l,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:r,14:n,16:s,17:l,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:(0,a.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,a.K)(function(t){var e=this,i=[0],r=[],n=[null],s=[],l=this.table,o="",c=0,h=0,u=0,p=s.slice.call(arguments,1),y=Object.create(this.lexer),d={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d[f]=this.yy[f]);y.setInput(t,d),d.lexer=y,d.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;s.push(g);var x=y.options&&y.options.ranges;function m(){var t;return"number"!=typeof(t=r.pop()||y.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.K)(function(t){i.length=i.length-2*t,n.length=n.length-t,s.length=s.length-t},"popStack"),(0,a.K)(m,"lex");for(var k,b,_,v,w,K,$,M,T,S={};;){if(_=i[i.length-1],this.defaultActions[_]?v=this.defaultActions[_]:(null==k&&(k=m()),v=l[_]&&l[_][k]),void 0===v||!v.length||!v[0]){var C="";for(K in T=[],l[_])this.terminals_[K]&&K>2&&T.push("'"+this.terminals_[K]+"'");C=y.showPosition?"Parse error on line "+(c+1)+":\n"+y.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(C,{text:y.match,token:this.terminals_[k]||k,line:y.yylineno,loc:g,expected:T})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+k);switch(v[0]){case 1:i.push(k),n.push(y.yytext),s.push(y.yylloc),i.push(v[1]),k=null,b?(k=b,b=null):(h=y.yyleng,o=y.yytext,c=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if($=this.productions_[v[1]][1],S.$=n[n.length-$],S._$={first_line:s[s.length-($||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-($||1)].first_column,last_column:s[s.length-1].last_column},x&&(S._$.range=[s[s.length-($||1)].range[0],s[s.length-1].range[1]]),void 0!==(w=this.performAction.apply(S,[o,h,c,d,v[1],n,s].concat(p))))return w;$&&(i=i.slice(0,-1*$*2),n=n.slice(0,-1*$),s=s.slice(0,-1*$)),i.push(this.productions_[v[1]][0]),n.push(S.$),s.push(S._$),M=l[i[i.length-2]][i[i.length-1]],i.push(M);break;case 3:return!0}}return!0},"parse")};function h(){this.yy={}}return c.lexer={EOF:1,parseError:(0,a.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,a.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,a.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,a.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.K)(function(){return this._more=!0,this},"more"),reject:(0,a.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,a.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,a.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,a.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,a.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,a.K)(function(t,e){var i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},"test_match"),next:(0,a.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,a.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,a.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,a.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,a.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,a.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,a.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.K)(function(t,e,i,r){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}},(0,a.K)(h,"Parser"),h.prototype=c,c.Parser=h,new h}();o.parser=o;var c="",h=[],u=[],p=[],y=(0,a.K)(function(){h.length=0,u.length=0,c="",p.length=0,(0,s.IU)()},"clear"),d=(0,a.K)(function(t){c=t,h.push(t)},"addSection"),f=(0,a.K)(function(){return h},"getSections"),g=(0,a.K)(function(){let t=b(),e=0;for(;!t&&e<100;)t=b(),e++;return u.push(...p),u},"getTasks"),x=(0,a.K)(function(){let t=[];return u.forEach(e=>{e.people&&t.push(...e.people)}),[...new Set(t)].sort()},"updateActors"),m=(0,a.K)(function(t,e){let i=e.substr(1).split(":"),r=0,n=[];1===i.length?(r=Number(i[0]),n=[]):(r=Number(i[0]),n=i[1].split(","));let s=n.map(t=>t.trim()),a={section:c,type:c,people:s,task:t,score:r};p.push(a)},"addTask"),k=(0,a.K)(function(t){let e={section:c,type:c,description:t,task:t,classes:[]};u.push(e)},"addTaskOrg"),b=(0,a.K)(function(){let t=(0,a.K)(function(t){return p[t].processed},"compileTask"),e=!0;for(let[i,r]of p.entries())t(i),e=e&&r.processed;return e},"compileTasks"),_=(0,a.K)(function(){return x()},"getActors"),v={getConfig:(0,a.K)(()=>(0,s.D7)().journey,"getConfig"),clear:y,setDiagramTitle:s.ke,getDiagramTitle:s.ab,setAccTitle:s.SV,getAccTitle:s.iN,setAccDescription:s.EI,getAccDescription:s.m7,addSection:d,getSections:f,getTasks:g,addTask:m,addTaskOrg:k,getActors:_},w=(0,a.K)(t=>`.label { + font-family: ${t.fontFamily}; + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + font-family: ${t.fontFamily}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePaths .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0?`fill: ${t.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${t.fillType0?`fill: ${t.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${t.fillType0?`fill: ${t.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${t.fillType0?`fill: ${t.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${t.fillType0?`fill: ${t.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${t.fillType0?`fill: ${t.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${t.fillType0?`fill: ${t.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${t.fillType0?`fill: ${t.fillType7}`:""}; + } + + .actor-0 { + ${t.actor0?`fill: ${t.actor0}`:""}; + } + .actor-1 { + ${t.actor1?`fill: ${t.actor1}`:""}; + } + .actor-2 { + ${t.actor2?`fill: ${t.actor2}`:""}; + } + .actor-3 { + ${t.actor3?`fill: ${t.actor3}`:""}; + } + .actor-4 { + ${t.actor4?`fill: ${t.actor4}`:""}; + } + .actor-5 { + ${t.actor5?`fill: ${t.actor5}`:""}; + } + ${(0,r.o)()} +`,"getStyles"),K=(0,a.K)(function(t,e){return(0,n.tk)(t,e)},"drawRect"),$=(0,a.K)(function(t,e){let i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");function n(t){let i=(0,l.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function s(t){let i=(0,l.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function o(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return r.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,a.K)(n,"smile"),(0,a.K)(s,"sad"),(0,a.K)(o,"ambivalent"),e.score>3?n(r):e.score<3?s(r):o(r),i},"drawFace"),M=(0,a.K)(function(t,e){let i=t.append("circle");return i.attr("cx",e.cx),i.attr("cy",e.cy),i.attr("class","actor-"+e.pos),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("r",e.r),void 0!==i.class&&i.attr("class",i.class),void 0!==e.title&&i.append("title").text(e.title),i},"drawCircle"),T=(0,a.K)(function(t,e){return(0,n.m)(t,e)},"drawText"),S=(0,a.K)(function(t,e,i){let r=t.append("g"),s=(0,n.PB)();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=i.width*e.taskCount+i.diagramMarginX*(e.taskCount-1),s.height=i.height,s.class="journey-section section-type-"+e.num,s.rx=3,s.ry=3,K(r,s),I(i)(e.text,r,s.x,s.y,s.width,s.height,{class:"journey-section section-type-"+e.num},i,e.colour)},"drawSection"),C=-1,E=(0,a.K)(function(t,e,i,r){let s=e.x+i.width/2,a=t.append("g");C++,a.append("line").attr("id",r+"-task"+C).attr("x1",s).attr("y1",e.y).attr("x2",s).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),$(a,{cx:s,cy:300+(5-e.score)*30,score:e.score});let l=(0,n.PB)();l.x=e.x,l.y=e.y,l.fill=e.fill,l.width=i.width,l.height=i.height,l.class="task task-type-"+e.num,l.rx=3,l.ry=3,K(a,l);let o=e.x+14;e.people.forEach(t=>{let i=e.actors[t].color;M(a,{cx:o,cy:e.y,r:7,fill:i,stroke:"#000",title:t,pos:e.actors[t].position}),o+=10}),I(i)(e.task,a,l.x,l.y,l.width,l.height,{class:"task"},i,e.colour)},"drawTask"),I=function(){function t(t,e,i,n,s,a,l,o){r(e.append("text").attr("x",i+s/2).attr("y",n+a/2+5).style("font-color",o).style("text-anchor","middle").text(t),l)}function e(t,e,i,n,s,a,l,o,c){let{taskFontSize:h,taskFontFamily:u}=o,p=t.split(/<br\s*\/?>/gi);for(let t=0;t<p.length;t++){let o=t*h-h*(p.length-1)/2,y=e.append("text").attr("x",i+s/2).attr("y",n).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",u);y.append("tspan").attr("x",i+s/2).attr("dy",o).text(p[t]),y.attr("y",n+a/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(y,l)}}function i(t,i,n,s,a,l,o,c){let h=i.append("switch"),u=h.append("foreignObject").attr("x",n).attr("y",s).attr("width",a).attr("height",l).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,n,s,a,l,o,c),r(u,o)}function r(t,e){for(let i in e)i in e&&t.attr(i,e[i])}return(0,a.K)(t,"byText"),(0,a.K)(e,"byTspan"),(0,a.K)(i,"byFo"),(0,a.K)(r,"_setTextAttrs"),function(r){return"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}(),P=(0,a.K)(function(t,e){C=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics"),A=(0,a.K)(function(t){Object.keys(t).forEach(function(e){V[e]=t[e]})},"setConf"),j={},L=0;function D(t){let e=(0,s.D7)().journey,i=e.maxLabelWidth;L=0;let r=60;Object.keys(j).forEach(n=>{let s=j[n].color;M(t,{cx:20,cy:r,r:7,fill:s,stroke:"#000",pos:j[n].position});let a=t.append("text").attr("visibility","hidden").text(n),l=a.node().getBoundingClientRect().width;a.remove();let o=[];if(l<=i)o=[n];else{let e=n.split(" "),r="";a=t.append("text").attr("visibility","hidden"),e.forEach(t=>{let e=r?`${r} ${t}`:t;if(a.text(e),a.node().getBoundingClientRect().width>i){if(r&&o.push(r),r=t,a.text(t),a.node().getBoundingClientRect().width>i){let e="";for(let r of t)e+=r,a.text(e+"-"),a.node().getBoundingClientRect().width>i&&(o.push(e.slice(0,-1)+"-"),e=r);r=e}}else r=e}),r&&o.push(r),a.remove()}o.forEach((i,n)=>{let s=T(t,{x:40,y:r+7+20*n,fill:"#666",text:i,textMargin:e.boxTextMargin??5}).node().getBoundingClientRect().width;s>L&&s>e.leftMargin-s&&(L=s)}),r+=Math.max(20,20*o.length)})}(0,a.K)(D,"drawActorLegend");var V=(0,s.D7)().journey,B=0,F=(0,a.K)(function(t,e,i,r){let n,a=(0,s.D7)(),o=a.journey.titleColor,c=a.journey.titleFontSize,h=a.journey.titleFontFamily,u=a.securityLevel;"sandbox"===u&&(n=(0,l.Ltv)("#i"+e));let p="sandbox"===u?(0,l.Ltv)(n.nodes()[0].contentDocument.body):(0,l.Ltv)("body");R.init();let y=p.select("#"+e);P(y,e);let d=r.db.getTasks(),f=r.db.getDiagramTitle(),g=r.db.getActors();for(let t in j)delete j[t];let x=0;g.forEach(t=>{j[t]={color:V.actorColours[x%V.actorColours.length],position:x},x++}),D(y),B=V.leftMargin+L,R.insert(0,0,B,50*Object.keys(j).length),z(y,d,0,e);let m=R.getBounds();f&&y.append("text").text(f).attr("x",B).attr("font-size",c).attr("font-weight","bold").attr("y",25).attr("fill",o).attr("font-family",h);let k=m.stopy-m.starty+2*V.diagramMarginY,b=B+m.stopx+2*V.diagramMarginX;(0,s.a$)(y,k,b,V.useMaxWidth),y.append("line").attr("x1",B).attr("y1",4*V.height).attr("x2",b-B-4).attr("y2",4*V.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");let _=70*!!f;y.attr("viewBox",`${m.startx} -25 ${b} ${k+_}`),y.attr("preserveAspectRatio","xMinYMin meet"),y.attr("height",k+_+25)},"draw"),R={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:(0,a.K)(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:(0,a.K)(function(t,e,i,r){void 0===t[e]?t[e]=i:t[e]=r(i,t[e])},"updateVal"),updateBounds:(0,a.K)(function(t,e,i,r){let n=(0,s.D7)().journey,l=this,o=0;function c(s){return(0,a.K)(function(a){o++;let c=l.sequenceItems.length-o+1;l.updateVal(a,"starty",e-c*n.boxMargin,Math.min),l.updateVal(a,"stopy",r+c*n.boxMargin,Math.max),l.updateVal(R.data,"startx",t-c*n.boxMargin,Math.min),l.updateVal(R.data,"stopx",i+c*n.boxMargin,Math.max),"activation"!==s&&(l.updateVal(a,"startx",t-c*n.boxMargin,Math.min),l.updateVal(a,"stopx",i+c*n.boxMargin,Math.max),l.updateVal(R.data,"starty",e-c*n.boxMargin,Math.min),l.updateVal(R.data,"stopy",r+c*n.boxMargin,Math.max))},"updateItemBounds")}(0,a.K)(c,"updateFn"),this.sequenceItems.forEach(c())},"updateBounds"),insert:(0,a.K)(function(t,e,i,r){let n=Math.min(t,i),s=Math.max(t,i),a=Math.min(e,r),l=Math.max(e,r);this.updateVal(R.data,"startx",n,Math.min),this.updateVal(R.data,"starty",a,Math.min),this.updateVal(R.data,"stopx",s,Math.max),this.updateVal(R.data,"stopy",l,Math.max),this.updateBounds(n,a,s,l)},"insert"),bumpVerticalPos:(0,a.K)(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:(0,a.K)(function(){return this.verticalPos},"getVerticalPos"),getBounds:(0,a.K)(function(){return this.data},"getBounds")},O=V.sectionFills,N=V.sectionColours,z=(0,a.K)(function(t,e,i,r){let n=(0,s.D7)().journey,a="",l=i+(2*n.height+n.diagramMarginY),o=0,c="#CCC",h="black",u=0;for(let[i,s]of e.entries()){if(a!==s.section){c=O[o%O.length],u=o%O.length,h=N[o%N.length];let r=0,l=s.section;for(let t=i;t<e.length;t++)if(e[t].section==l)r+=1;else break;S(t,{x:i*n.taskMargin+i*n.width+B,y:50,text:s.section,fill:c,num:u,colour:h,taskCount:r},n),a=s.section,o++}let p=s.people.reduce((t,e)=>(j[e]&&(t[e]=j[e]),t),{});s.x=i*n.taskMargin+i*n.width+B,s.y=l,s.width=n.diagramMarginX,s.height=n.diagramMarginY,s.colour=h,s.fill=c,s.num=u,s.actors=p,E(t,s,n,r),R.insert(s.x,s.y,s.x+s.width+n.taskMargin,450)}},"drawTasks"),W={setConf:A,draw:F},q={parser:o,db:v,renderer:W,styles:w,init:(0,a.K)(t=>{W.setConf(t.journey),v.clear()},"init")}}}]); \ No newline at end of file diff --git a/assets/js/2395.66d8d46d.js b/assets/js/2395.66d8d46d.js new file mode 100644 index 0000000..87e2e6d --- /dev/null +++ b/assets/js/2395.66d8d46d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2395"],{9590(e,s,r){r.d(s,{createPieServices:()=>a.f});var a=r(6041);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/255.9c291378.js b/assets/js/255.9c291378.js new file mode 100644 index 0000000..f318cd6 --- /dev/null +++ b/assets/js/255.9c291378.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["255"],{7636(e,s,r){r.d(s,{createCynefinServices:()=>a.t});var a=r(3279);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/26f3b9ac.6771eee5.js b/assets/js/26f3b9ac.6771eee5.js new file mode 100644 index 0000000..d1c6c5f --- /dev/null +++ b/assets/js/26f3b9ac.6771eee5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5342"],{1265(e,r,t){t.r(r),t.d(r,{metadata:()=>a,default:()=>d,frontMatter:()=>l,contentTitle:()=>i,toc:()=>c,assets:()=>o});var a=JSON.parse('{"id":"core/parameter-compile","title":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","description":"\u63D0\u53D6 SELECT \u52A8\u6001\u53C2\u6570\u5E76\u751F\u6210 JDBC \u9884\u7F16\u8BD1 SQL","source":"@site/versioned_docs/version-1.0/core/parameter-compile.md","sourceDirName":"core","slug":"/core/parameter-compile","permalink":"/SqlParserX/docs/core/parameter-compile","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/parameter-compile.md","tags":[],"version":"1.0","sidebarPosition":6,"frontMatter":{"title":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","description":"\u63D0\u53D6 SELECT \u52A8\u6001\u53C2\u6570\u5E76\u751F\u6210 JDBC \u9884\u7F16\u8BD1 SQL","sidebar_label":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","sidebar_position":6},"sidebar":"docs","previous":{"title":"\u51FD\u6570\u89E3\u6790","permalink":"/SqlParserX/docs/core/function-parse"},"next":{"title":"\u8D21\u732E\u6307\u5357","permalink":"/SqlParserX/docs/contributing"}}'),s=t(4848),n=t(8453);let l={title:"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1",description:"\u63D0\u53D6 SELECT \u52A8\u6001\u53C2\u6570\u5E76\u751F\u6210 JDBC \u9884\u7F16\u8BD1 SQL",sidebar_label:"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1",sidebar_position:6},i="\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1",o={},c=[{value:"\u8FD4\u56DE\u5185\u5BB9",id:"\u8FD4\u56DE\u5185\u5BB9",level:2}];function p(e){let r={code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1",children:"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1"})}),"\n",(0,s.jsxs)(r.p,{children:["SqlParserX \u53EF\u8BC6\u522B SELECT \u4E2D\u7684 ",(0,s.jsx)(r.code,{children:"${\u53D8\u91CF}"}),"\uFF0C\u8FD4\u56DE\u8F93\u5165\u53C2\u6570\u548C\u8F93\u51FA\u5B57\u6BB5\uFF1B\u4F20\u5165\u53C2\u6570\u503C\u540E\uFF0C\u53EF\u751F\u6210 JDBC ",(0,s.jsx)(r.code,{children:"?"})," \u5360\u4F4D\u7B26 SQL \u4E0E\u6309\u51FA\u73B0\u987A\u5E8F\u6392\u5217\u7684\u7ED1\u5B9A\u503C\u3002"]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-java",metastring:'title="ParameterCompileDemo.java"',children:'import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType;\nimport com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult;\nimport com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult;\n\nimport java.util.Collections;\nimport java.util.HashMap;\nimport java.util.Map;\n\nISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);\nString sql = "SELECT id, name FROM users "\n + "WHERE dt = \'${bizdate}\' AND region = \'${region}\'";\n\n// \u7B2C\u4E00\u6B65\uFF1A\u63D0\u53D6\u8F93\u5165\u53C2\u6570\u4E0E\u8F93\u51FA\u5B57\u6BB5\nParseParameterResult parsed = parser.parseParameterSql(\n sql, false, Collections.emptyMap());\nparsed.getInputParams().forEach(param ->\n System.out.println(param.getName() + " / " + param.getSqlPart()));\n\n// \u7B2C\u4E8C\u6B65\uFF1A\u4F20\u5165\u53C2\u6570\u503C\u5E76\u751F\u6210\u9884\u7F16\u8BD1 SQL\nMap<String, Object> values = new HashMap<>();\nvalues.put("bizdate", "20261014");\nvalues.put("region", "hangzhou");\n\nPrepareCompileResult compiled = parser.buildSqlByPrepareCompile(\n sql, values, Collections.emptyMap());\nSystem.out.println(compiled.getBeautifulSql());\nSystem.out.println(compiled.getInputFields());\n'})}),"\n",(0,s.jsx)(r.p,{children:"\u8F93\u51FA\u793A\u4F8B\uFF1A"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-text",children:"SELECT id, name FROM users WHERE dt = ? AND region = ?\n[20261014, hangzhou]\n"})}),"\n",(0,s.jsx)(r.h2,{id:"\u8FD4\u56DE\u5185\u5BB9",children:"\u8FD4\u56DE\u5185\u5BB9"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"\u9636\u6BB5"}),(0,s.jsx)(r.th,{children:"\u8FD4\u56DE\u5185\u5BB9"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"\u53C2\u6570\u63D0\u53D6"}),(0,s.jsx)(r.td,{children:"\u8F93\u5165\u53C2\u6570\u540D\u79F0\u3001\u7C7B\u578B\u3001\u662F\u5426\u5FC5\u586B\u3001\u9ED8\u8BA4\u503C\u3001SQL \u7247\u6BB5\u4EE5\u53CA\u8F93\u51FA\u5B57\u6BB5"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"\u9884\u7F16\u8BD1"}),(0,s.jsx)(r.td,{children:"\u683C\u5F0F\u5316\u540E\u7684\u5360\u4F4D\u7B26 SQL \u4E0E\u6709\u5E8F\u7ED1\u5B9A\u503C\u5217\u8868"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"\u5F53\u524D\u901A\u7528\u5B9E\u73B0\u9762\u5411 SELECT\uFF1B\u6392\u5E8F\u3001\u5206\u7EC4\u7B49\u6807\u8BC6\u7B26\u4F4D\u7F6E\u7684\u53D8\u91CF\u4F1A\u4EE5\u5185\u8054\u65B9\u5F0F\u5904\u7406\u3002"})]})}function d(e={}){let{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453(e,r,t){t.d(r,{R:()=>l,x:()=>i});var a=t(6540);let s={},n=a.createContext(s);function l(e){let r=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),a.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2853.1bd4804e.js b/assets/js/2853.1bd4804e.js new file mode 100644 index 0000000..be8f5c3 --- /dev/null +++ b/assets/js/2853.1bd4804e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2853"],{884(e,s,r){r.d(s,{createTreemapServices:()=>a.d});var a=r(6527);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/2881.cdbfd8a4.js b/assets/js/2881.cdbfd8a4.js new file mode 100644 index 0000000..44a6e2d --- /dev/null +++ b/assets/js/2881.cdbfd8a4.js @@ -0,0 +1,77 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2881"],{7454(t,e,a){function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(6827).K)(r,"populateCommonDb")},5448(t,e,a){a.d(e,{diagram:()=>F});var r=a(7454),o=a(4924),n=a(6348),i=a(1177),l=a(1293),s=a(6827),d=a(8731),c=(0,s.K)((t,e)=>{let a=t<=1?100*t:t;if(a<0||a>100)throw Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return a},"toPercent"),p=(0,s.K)((t,e,a)=>({x:c(e,`${a} evolution`),y:c(t,`${a} visibility`)}),"toCoordinates"),h=(0,s.K)(t=>{if(t){if("+<>"===t)return"bidirectional";if("+<"===t)return"backward";if("+>"===t)return"forward"}},"getFlowFromPort"),x=(0,s.K)(t=>{if(!t?.startsWith("+"))return{};let e=/^\+'([^']*)'/.exec(t),a=e?.[1];return t.includes("<>")?{flow:"bidirectional",label:a}:t.includes("<")?{flow:"backward",label:a}:t.includes(">")?{flow:"forward",label:a}:{label:a}},"extractFlowFromArrow"),y=(0,s.K)((t,e)=>{if((0,r.S)(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){let a=t.evolution.stages.map(t=>t.secondName?`${t.name.trim()} / ${t.secondName.trim()}`:t.name.trim()),r=t.evolution.stages.filter(t=>void 0!==t.boundary).map(t=>t.boundary);e.updateAxes({stages:a,stageBoundaries:r})}if(t.anchors.forEach(t=>{let a=p(t.visibility,t.evolution,`Anchor "${t.name}"`);e.addNode(t.name,t.name,a.x,a.y,"anchor")}),t.components.forEach(t=>{let a=p(t.visibility,t.evolution,`Component "${t.name}"`),r=t.label?(t.label.negX?-1:1)*t.label.offsetX:void 0,o=t.label?(t.label.negY?-1:1)*t.label.offsetY:void 0,n=t.decorator?.strategy;e.addNode(t.name,t.name,a.x,a.y,"component",r,o,t.inertia,n)}),t.notes.forEach(t=>{let a=p(t.visibility,t.evolution,`Note "${t.text}"`);e.addNote(t.text,a.x,a.y)}),t.pipelines.forEach(t=>{let a=e.getNode(t.parent);if(!a||"number"!=typeof a.y)throw Error(`Pipeline "${t.parent}" must reference an existing component with coordinates.`);let r=a.y;e.startPipeline(t.parent),t.components.forEach(a=>{let o=`${t.parent}_${a.name}`,n=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,i=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,l=c(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(o,a.name,l,r,"pipeline-component",n,i),e.addPipelineComponent(t.parent,o)})}),t.links.forEach(t=>{let a=!!t.arrow&&(t.arrow.includes("-.->")||t.arrow.includes(".-.")),r=h(t.fromPort)??h(t.toPort),{flow:o,label:n}=x(t.arrow);!r&&o&&(r=o);let i=t.linkLabel;e.addLink(e.resolveNodeId(t.from),e.resolveNodeId(t.to),a,n??i,r)}),t.evolves.forEach(t=>{let a=e.getNode(t.component);if(a?.y!==void 0){let r=c(t.target,`Evolve target for "${t.component}"`);e.addTrend(t.component,r,a.y)}}),t.annotations.length>0){let a=t.annotations[0],r=p(a.x,a.y,"Annotations box");e.setAnnotationsBox(r.x,r.y)}t.annotation.forEach(t=>{let a=p(t.x,t.y,`Annotation ${t.number}`);e.addAnnotation(t.number,[{x:a.x,y:a.y}],t.text)}),t.accelerators.forEach(t=>{let a=p(t.x,t.y,`Accelerator "${t.name}"`);e.addAccelerator(t.name,a.x,a.y)}),t.deaccelerators.forEach(t=>{let a=p(t.x,t.y,`Deaccelerator "${t.name}"`);e.addDeaccelerator(t.name,a.x,a.y)})},"populateDb"),f={parser:{yy:void 0},parse:(0,s.K)(async t=>{let e=await (0,d.qg)("wardley",t);l.R.debug(e);let a=f.parser?.yy;if(!a||"function"!=typeof a.addNode)throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");y(e,a)},"parse")},g=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{(0,s.K)(this,"WardleyBuilder")}addNode(t){let e=this.nodes.get(t.id)??{id:t.id,label:t.label},a={...e,...t,className:t.className??e.className,labelOffsetX:t.labelOffsetX??e.labelOffsetX,labelOffsetY:t.labelOffsetY??e.labelOffsetY};this.nodes.set(t.id,a)}addLink(t){this.links.push(t)}addTrend(t){this.trends.set(t.nodeId,t)}startPipeline(t){this.pipelines.set(t,{nodeId:t,componentIds:[]});let e=this.nodes.get(t);e&&(e.isPipelineParent=!0)}addPipelineComponent(t,e){let a=this.pipelines.get(t);a&&a.componentIds.push(e);let r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(t){this.annotations.push(t)}addNote(t){this.notes.push(t)}addAccelerator(t){this.accelerators.push(t)}addDeaccelerator(t){this.deaccelerators.push(t)}setAnnotationsBox(t,e){this.annotationsBox={x:t,y:e}}setAxes(t){this.axes={...this.axes,...t}}setSize(t,e){this.size={width:t,height:e}}getNode(t){return this.nodes.get(t)}resolveNodeId(t){if(this.nodes.has(t))return t;for(let[e,a]of this.nodes)if(a.label===t)return e;return t}build(){let t=[];for(let e of this.nodes.values()){if("number"!=typeof e.x||"number"!=typeof e.y)throw Error(`Node "${e.label}" is missing coordinates`);t.push(e)}return{nodes:t,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function u(){return(0,i.D7)()["wardley-beta"]}function w(t,e,a,r,o,n,i,l,s){g.addNode({id:t,label:e,x:a,y:r,className:o,labelOffsetX:n,labelOffsetY:i,inertia:l,sourceStrategy:s})}function m(t,e,a=!1,r,o){g.addLink({source:t,target:e,dashed:a,label:r,flow:o})}function k(t,e,a){g.addTrend({nodeId:t,targetX:e,targetY:a})}function b(t,e,a){g.addAnnotation({number:t,coordinates:e,text:a})}function $(t,e,a){g.addNote({text:t,x:e,y:a})}function S(t,e,a){g.addAccelerator({name:t,x:e,y:a})}function v(t,e,a){g.addDeaccelerator({name:t,x:e,y:a})}function C(t,e){g.setAnnotationsBox(t,e)}function M(t,e){g.setSize(t,e)}function P(t){g.startPipeline(t)}function N(t,e){g.addPipelineComponent(t,e)}function T(t){g.setAxes(t)}function z(t){return g.getNode(t)}function L(t){return g.resolveNodeId(t)}function A(){return g.build()}function E(){g.clear(),(0,i.IU)()}(0,s.K)(u,"getConfig"),(0,s.K)(w,"addNode"),(0,s.K)(m,"addLink"),(0,s.K)(k,"addTrend"),(0,s.K)(b,"addAnnotation"),(0,s.K)($,"addNote"),(0,s.K)(S,"addAccelerator"),(0,s.K)(v,"addDeaccelerator"),(0,s.K)(C,"setAnnotationsBox"),(0,s.K)(M,"setSize"),(0,s.K)(P,"startPipeline"),(0,s.K)(N,"addPipelineComponent"),(0,s.K)(T,"updateAxes"),(0,s.K)(z,"getNode"),(0,s.K)(L,"resolveNodeId"),(0,s.K)(A,"getWardleyData"),(0,s.K)(E,"clear");var K={getConfig:u,addNode:w,addLink:m,addTrend:k,addAnnotation:b,addNote:$,addAccelerator:S,addDeaccelerator:v,setAnnotationsBox:C,setSize:M,startPipeline:P,addPipelineComponent:N,updateAxes:T,getNode:z,resolveNodeId:L,getWardleyData:A,clear:E,setAccTitle:i.SV,getAccTitle:i.iN,setDiagramTitle:i.ke,getDiagramTitle:i.ab,getAccDescription:i.m7,setAccDescription:i.EI},I=["Genesis","Custom Built","Product","Commodity"],R=(0,s.K)(()=>{let{themeVariables:t}=(0,i.D7)();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),D=(0,s.K)(()=>{let t=(0,i.D7)()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),F={parser:f,db:K,renderer:{draw:(0,s.K)((t,e,a,r)=>{l.R.debug("Rendering Wardley map\n"+t);let n=D(),d=R(),c=1.6*n.nodeRadius,p=r.db,h=p.getWardleyData(),x=p.getDiagramTitle(),y=h.size?.width??n.width,f=h.size?.height??n.height,g=(0,o.D)(e);g.selectAll("*").remove(),(0,i.a$)(g,f,y,n.useMaxWidth),g.attr("viewBox",`0 0 ${y} ${f}`);let u=g.append("g").attr("class","wardley-map"),w=g.append("defs");w.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),w.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),w.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),u.append("rect").attr("class","wardley-background").attr("width",y).attr("height",f).attr("fill",d.backgroundColor);let m=y-2*n.padding,k=f-2*n.padding;x&&u.append("text").attr("class","wardley-title").attr("x",y/2).attr("y",n.padding/2).attr("fill",d.axisTextColor).attr("font-size",1.05*n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(x);let b=(0,s.K)(t=>n.padding+t/100*m,"projectX"),$=(0,s.K)(t=>f-n.padding-t/100*k,"projectY"),S=u.append("g").attr("class","wardley-axes");S.append("line").attr("x1",n.padding).attr("x2",y-n.padding).attr("y1",f-n.padding).attr("y2",f-n.padding).attr("stroke",d.axisColor).attr("stroke-width",1),S.append("line").attr("x1",n.padding).attr("x2",n.padding).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke",d.axisColor).attr("stroke-width",1);let v=h.axes.xLabel??"Evolution",C=h.axes.yLabel??"Visibility";S.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",n.padding+m/2).attr("y",f-n.padding/4).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(v),S.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",n.padding/3).attr("y",n.padding+k/2).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${n.padding/3} ${n.padding+k/2})`).text(C);let M=h.axes.stages&&h.axes.stages.length>0?h.axes.stages:I;if(M.length>0){let t=u.append("g").attr("class","wardley-stages"),e=h.axes.stageBoundaries,a=[];if(e&&e.length===M.length){let t=0;e.forEach(e=>{a.push({start:t,end:e}),t=e})}else{let t=1/M.length;M.forEach((e,r)=>{a.push({start:r*t,end:(r+1)*t})})}M.forEach((e,r)=>{let o=a[r],i=n.padding+o.start*m,l=(i+(n.padding+o.end*m))/2;r>0&&t.append("line").attr("x1",i).attr("x2",i).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",l).attr("y",f-n.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize-2).attr("text-anchor","middle").text(e)})}if(n.showGrid){let t=u.append("g").attr("class","wardley-grid");for(let e=1;e<4;e++){let a=e/4,r=n.padding+m*a;t.append("line").attr("x1",r).attr("x2",r).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",n.padding).attr("x2",y-n.padding).attr("y1",f-n.padding-k*a).attr("y2",f-n.padding-k*a).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}let P=new Map;if(h.nodes.forEach(t=>{P.set(t.id,{x:b(t.x),y:$(t.y),node:t})}),h.pipelines.length>0){let t=u.append("g").attr("class","wardley-pipelines"),e=u.append("g").attr("class","wardley-pipeline-links");h.pipelines.forEach(a=>{if(0===a.componentIds.length)return;let r=a.componentIds.map(t=>({id:t,pos:P.get(t),node:h.nodes.find(e=>e.id===t)})).filter(t=>t.pos&&t.node).sort((t,e)=>t.node.x-e.node.x);for(let t=0;t<r.length-1;t++){let a=r[t],o=r[t+1];e.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",a.pos.x).attr("y1",a.pos.y).attr("x2",o.pos.x).attr("y2",o.pos.y).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let o=1/0,i=-1/0,l=0;if(a.componentIds.forEach(t=>{let e=P.get(t);e&&(o=Math.min(o,e.x),i=Math.max(i,e.x),l=e.y)}),o!==1/0&&i!==-1/0){let e=4*n.nodeRadius,r=l-e/2,s=P.get(a.nodeId);s&&(s.x=(o+i)/2,s.y=r-c/6),t.append("rect").attr("class","wardley-pipeline-box").attr("x",o-15).attr("y",r).attr("width",i-o+30).attr("height",e).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let N=u.append("g").attr("class","wardley-links"),T=new Map;h.pipelines.forEach(t=>{T.set(t.nodeId,new Set(t.componentIds))});let z=h.links.filter(t=>{if(!P.has(t.source)||!P.has(t.target))return!1;let e=T.get(t.target);return!e?.has(t.source)});N.selectAll("line").data(z).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.source).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=a.x-e.x,i=a.y-e.y,l=Math.sqrt(o*o+i*i);return e.x+o/l*r}).attr("y1",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.source).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=a.x-e.x,i=a.y-e.y,l=Math.sqrt(o*o+i*i);return e.y+i/l*r}).attr("x2",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.target).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=e.x-a.x,i=e.y-a.y,l=Math.sqrt(o*o+i*i);return a.x+o/l*r}).attr("y2",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.target).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=e.x-a.x,i=e.y-a.y,l=Math.sqrt(o*o+i*i);return a.y+i/l*r}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>"forward"===t.flow||"bidirectional"===t.flow?`url(#link-arrow-end-${e})`:null).attr("marker-start",t=>"backward"===t.flow||"bidirectional"===t.flow?`url(#link-arrow-start-${e})`:null),N.selectAll("text").data(z.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.x+a.x)/2,o=a.y-e.y,n=a.x-e.x,i=Math.sqrt(n*n+o*o);return r+o/i*8}).attr("y",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.y+a.y)/2,o=a.x-e.x,n=a.y-e.y,i=Math.sqrt(o*o+n*n);return r+-o/i*8}).attr("fill",d.axisTextColor).attr("font-size",n.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.x+a.x)/2,o=(e.y+a.y)/2,n=a.x-e.x,i=a.y-e.y,l=Math.sqrt(n*n+i*i),s=180*Math.atan2(i,n)/Math.PI;return(s>90||s<-90)&&(s+=180),`rotate(${s} ${r+i/l*8} ${o+-n/l*8})`}).text(t=>t.label);let L=u.append("g").attr("class","wardley-trends"),A=h.trends.map(t=>{let e=P.get(t.nodeId);if(!e)return null;let a=b(t.targetX),r=$(t.targetY),o=a-e.x,i=r-e.y,l=Math.sqrt(o*o+i*i),s=n.nodeRadius+2;return{origin:e,targetX:a,targetY:r,adjustedX2:l>s?a-o/l*s:a,adjustedY2:l>s?r-i/l*s:r}}).filter(t=>null!==t);L.selectAll("line").data(A).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);let E=u.append("g").attr("class","wardley-nodes").selectAll("g").data(h.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));E.filter(t=>"outsource"===t.sourceStrategy).append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),E.filter(t=>"buy"===t.sourceStrategy).append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),E.filter(t=>"build"===t.sourceStrategy).append("circle").attr("class","wardley-build-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let K=E.filter(t=>"market"===t.sourceStrategy);K.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),E.filter(t=>!t.isPipelineParent&&"market"!==t.sourceStrategy&&"anchor"!==t.className).append("circle").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",n.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);let F=.7*n.nodeRadius,B=1.2*n.nodeRadius;if(K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x).attr("y1",t=>P.get(t.id).y-B).attr("x2",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("y2",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("y1",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("x2",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("y2",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("y1",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("x2",t=>P.get(t.id).x).attr("y2",t=>P.get(t.id).y-B).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y-B).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("cy",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("cy",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),E.filter(t=>!0===t.isPipelineParent).append("rect").attr("x",t=>P.get(t.id).x-c/2).attr("y",t=>P.get(t.id).y-c/2).attr("width",c).attr("height",c).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),E.filter(t=>!0===t.inertia).append("line").attr("class","wardley-inertia").attr("x1",t=>{let e=P.get(t.id),a=t.isPipelineParent?c/2+15:n.nodeRadius+15;return t.sourceStrategy&&(a+=n.nodeRadius+10),e.x+a}).attr("y1",t=>{let e=P.get(t.id),a=t.isPipelineParent?c:2*n.nodeRadius;return e.y-a/2}).attr("x2",t=>{let e=P.get(t.id),a=t.isPipelineParent?c/2+15:n.nodeRadius+15;return t.sourceStrategy&&(a+=n.nodeRadius+10),e.x+a}).attr("y2",t=>{let e=P.get(t.id),a=t.isPipelineParent?c:2*n.nodeRadius;return e.y+a/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),E.append("text").attr("x",t=>{let e=P.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetX?e.x+t.labelOffsetX:e.x;let a=n.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetX&&(a+=10);let r=t.labelOffsetX??a;return e.x+r}).attr("y",t=>{let e=P.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetY?e.y+t.labelOffsetY:e.y-3;let a=-n.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetY&&(a-=10);let r=t.labelOffsetY??a;return e.y+r}).attr("class","wardley-node-label").attr("fill",t=>"evolved"===t.className?d.evolutionStroke:"anchor"===t.className?"#000":d.componentLabelColor).attr("font-size",n.labelFontSize).attr("font-weight",t=>"anchor"===t.className?"bold":"normal").attr("text-anchor",t=>"anchor"===t.className?"middle":"start").attr("dominant-baseline",t=>"anchor"===t.className?"middle":"auto").text(t=>t.label),h.annotations.length>0){let t=u.append("g").attr("class","wardley-annotations");if(h.annotations.forEach(e=>{let a=e.coordinates.map(t=>({x:b(t.x),y:$(t.y)}));if(a.length>1)for(let e=0;e<a.length-1;e++)t.append("line").attr("class","wardley-annotation-line").attr("x1",a[e].x).attr("y1",a[e].y).attr("x2",a[e+1].x).attr("y2",a[e+1].y).attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");a.forEach(a=>{let r=t.append("g").attr("class","wardley-annotation");r.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),r.append("text").attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.number)})}),h.annotationsBox){let e=b(h.annotationsBox.x),a=$(h.annotationsBox.y),r=t.append("g").attr("class","wardley-annotations-box"),o=[...h.annotations].filter(t=>t.text).sort((t,e)=>t.number-e.number),i=[];if(o.forEach((t,o)=>{let n=r.append("text").attr("x",e+10).attr("y",a+10+(o+1)*16).attr("font-size",11).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${t.number}. ${t.text}`);i.push(n)}),i.length>0){let t=0,l=0;i.forEach(e=>{let a=e.node(),r=a.getComputedTextLength();t=Math.max(t,r);let o=a.getBBox();l=Math.max(l,o.height)});let s=t+20+105,c=16*o.length+20+l/2,p=n.padding,h=y-n.padding-s,x=n.padding,g=f-n.padding-c;e=Math.max(p,Math.min(e,h)),a=Math.max(x,Math.min(a,g)),i.forEach((t,r)=>{t.attr("x",e+10).attr("y",a+10+(r+1)*16)}),r.insert("rect","text").attr("x",e).attr("y",a).attr("width",s).attr("height",c).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(h.notes.length>0){let t=u.append("g").attr("class","wardley-notes");h.notes.forEach(e=>{let a=b(e.x),r=$(e.y);t.append("text").attr("x",a).attr("y",r).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.text)})}if(h.accelerators.length>0){let t=u.append("g").attr("class","wardley-accelerators");h.accelerators.forEach(e=>{let a=b(e.x),r=$(e.y),o=` + M ${a} ${r-15} + L ${a+60-20} ${r-15} + L ${a+60-20} ${r-15-8} + L ${a+60} ${r} + L ${a+60-20} ${r+15+8} + L ${a+60-20} ${r+15} + L ${a} ${r+15} + Z + `;t.append("path").attr("d",o).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.name)})}if(h.deaccelerators.length>0){let t=u.append("g").attr("class","wardley-deaccelerators");h.deaccelerators.forEach(e=>{let a=b(e.x),r=$(e.y),o=` + M ${a+60} ${r-15} + L ${a+20} ${r-15} + L ${a+20} ${r-15-8} + L ${a} ${r} + L ${a+20} ${r+15+8} + L ${a+20} ${r+15} + L ${a+60} ${r+15} + Z + `;t.append("path").attr("d",o).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.name)})}},"draw")},styles:(0,s.K)(({wardley:t}={})=>{let e=(0,i.P$)(),a=(0,i.zj)(),r=(0,n.$t)(e,a.themeVariables),o=(0,n.$t)(r.wardley,t);return` + .wardley-background { + fill: ${o.backgroundColor}; + } + .wardley-axes line, .wardley-axes path { + stroke: ${o.axisColor}; + } + .wardley-axis-label { + fill: ${o.axisTextColor}; + } + .wardley-stage-label { + fill: ${o.axisTextColor}; + } + .wardley-grid line { + stroke: ${o.gridColor}; + } + .wardley-node circle { + fill: ${o.componentFill}; + stroke: ${o.componentStroke}; + } + .wardley-node-label { + fill: ${o.componentLabelColor}; + } + .wardley-link { + stroke: ${o.linkStroke}; + } + .wardley-link--dashed { + stroke-dasharray: 4 4; + } + .wardley-link-label { + fill: ${o.axisTextColor}; + } + .wardley-trend line { + stroke: ${o.evolutionStroke}; + } + .wardley-annotation-line { + stroke: ${o.annotationStroke}; + } + .wardley-annotation circle { + fill: ${o.annotationFill}; + stroke: ${o.annotationStroke}; + } + .wardley-annotation text { + fill: ${o.annotationTextColor}; + } + .wardley-annotations-box rect { + fill: ${o.annotationFill}; + stroke: ${o.annotationStroke}; + } + .wardley-annotations-box text { + fill: ${o.annotationTextColor}; + } + .wardley-pipeline-box { + stroke: ${o.componentStroke}; + } + .wardley-notes text { + fill: ${o.axisTextColor}; + } + `},"styles")}}}]); \ No newline at end of file diff --git a/assets/js/2951.c9b9b0af.js b/assets/js/2951.c9b9b0af.js new file mode 100644 index 0000000..d971e5d --- /dev/null +++ b/assets/js/2951.c9b9b0af.js @@ -0,0 +1,38 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2951"],{7454(e,t,a){function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>i}),(0,a(6827).K)(i,"populateCommonDb")},7834(e,t,a){a.d(t,{diagram:()=>v});var i=a(7454),l=a(4924),r=a(6348),s=a(1177),n=a(1293),o=a(6827),c=a(8731),p=a(7829),d=s.UI.pie,h={sections:new Map,showData:!1,config:d},g=h.sections,u=h.showData,f=structuredClone(d),m=(0,o.K)(()=>structuredClone(f),"getConfig"),x=(0,o.K)(()=>{g=new Map,u=h.showData,(0,s.IU)()},"clear"),$=(0,o.K)(({label:e,value:t})=>{if(t<0)throw Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);g.has(e)||(g.set(e,t),n.R.debug(`added new section: ${e}, with value: ${t}`))},"addSection"),w=(0,o.K)(()=>g,"getSections"),S=(0,o.K)(e=>{u=e},"setShowData"),y=(0,o.K)(()=>u,"getShowData"),b={getConfig:m,clear:x,setDiagramTitle:s.ke,getDiagramTitle:s.ab,setAccTitle:s.SV,getAccTitle:s.iN,setAccDescription:s.EI,getAccDescription:s.m7,addSection:$,getSections:w,setShowData:S,getShowData:y},C=(0,o.K)((e,t)=>{(0,i.S)(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),D={parse:(0,o.K)(async e=>{let t=await (0,c.qg)("pie",e);n.R.debug(t),C(t,b)},"parse")},T=(0,o.K)(e=>` + .pieCircle{ + stroke: ${e.pieStrokeColor}; + stroke-width : ${e.pieStrokeWidth}; + opacity : ${e.pieOpacity}; + } + .pieCircle.highlighted{ + scale: 1.05; + opacity: 1; + } + .pieCircle.highlightedOnHover:hover{ + transition-duration: 250ms; + scale: 1.05; + opacity: 1; + } + .pieOuterCircle{ + stroke: ${e.pieOuterStrokeColor}; + stroke-width: ${e.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${e.pieTitleTextSize}; + fill: ${e.pieTitleTextColor}; + font-family: ${e.fontFamily}; + } + .slice { + font-family: ${e.fontFamily}; + fill: ${e.pieSectionTextColor}; + font-size:${e.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${e.pieLegendTextColor}; + font-family: ${e.fontFamily}; + font-size: ${e.pieLegendTextSize}; + } +`,"getStyles"),k=(0,o.K)(e=>{let t=[...e.values()].reduce((e,t)=>e+t,0),a=[...e.entries()].map(([e,t])=>({label:e,value:t})).filter(e=>e.value/t*100>=1);return(0,p.rLf)().value(e=>e.value).sort(null)(a)},"createPieArcs"),v={parser:D,db:b,renderer:{draw:(0,o.K)((e,t,a,i)=>{n.R.debug("rendering pie chart\n"+e);let o=i.db,c=(0,s.D7)(),d=(0,r.$t)(o.getConfig(),c.pie),h=(0,l.D)(t),g=h.append("g");g.attr("transform","translate(225,225)");let{themeVariables:u}=c,[f]=(0,r.I5)(u.pieOuterStrokeWidth);f??=2;let m=d.legendPosition,x=d.textPosition,$=d.donutHole>0&&d.donutHole<=.9?d.donutHole:0,w=(0,p.JLW)().innerRadius(185*$).outerRadius(185),S=(0,p.JLW)().innerRadius(185*x).outerRadius(185*x),y=g.append("g");y.append("circle").attr("cx",0).attr("cy",0).attr("r",185+f/2).attr("class","pieOuterCircle");let b=o.getSections(),C=k(b),D=[u.pie1,u.pie2,u.pie3,u.pie4,u.pie5,u.pie6,u.pie7,u.pie8,u.pie9,u.pie10,u.pie11,u.pie12],T=0;b.forEach(e=>{T+=e});let v=C.filter(e=>"0"!==(e.data.value/T*100).toFixed(0)),A=(0,p.UMr)(D).domain([...b.keys()]);y.selectAll("mySlices").data(v).enter().append("path").attr("d",w).attr("fill",e=>A(e.data.label)).attr("class",e=>{let t="pieCircle";return"hover"===d.highlightSlice?t+=" highlightedOnHover":d.highlightSlice===e.data.label&&(t+=" highlighted"),t}),y.selectAll("mySlices").data(v).enter().append("text").text(e=>(e.data.value/T*100).toFixed(0)+"%").attr("transform",e=>"translate("+S.centroid(e)+")").style("text-anchor","middle").attr("class","slice");let K=g.append("text").text(o.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText"),R=[...b.entries()].map(([e,t])=>({label:e,value:t})),O=g.selectAll(".legend").data(R).enter().append("g").attr("class","legend");O.append("rect").attr("width",18).attr("height",18).style("fill",e=>A(e.label)).style("stroke",e=>A(e.label)),O.append("text").attr("x",22).attr("y",14).text(e=>o.getShowData()?`${e.label} [${e.value}]`:e.label);let M=Math.max(...O.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0)),z=450,W=490,F=22*R.length;switch(m){case"center":O.attr("transform",(e,t)=>"translate("+(-M/2-22)+","+(22*t-22*R.length/2)+")");break;case"top":z+=F,O.attr("transform",(e,t)=>`translate(${-M/2-22}, ${22*t-185})`),y.attr("transform",()=>`translate(0, ${F+22})`);break;case"bottom":z+=F,O.attr("transform",(e,t)=>"translate("+(-M/2-22)+","+(22*t- -207)+")");break;case"left":W+=22+M,O.attr("transform",(e,t)=>"translate(-207,"+(22*t-22*R.length/2)+")"),y.attr("transform",()=>`translate(${M+18+4}, 0)`);break;default:W+=22+M,O.attr("transform",(e,t)=>"translate(216,"+(22*t-22*R.length/2)+")")}let H=K.node()?.getBoundingClientRect().width??0,L=Math.min(0,225-H/2),I=Math.max(W,225+H/2)-L;h.attr("viewBox",`${L} 0 ${I} ${z}`),(0,s.a$)(h,z,I,d.useMaxWidth)},"draw")},styles:T}}}]); \ No newline at end of file diff --git a/assets/js/3009.12978314.js b/assets/js/3009.12978314.js new file mode 100644 index 0000000..0a6fdab --- /dev/null +++ b/assets/js/3009.12978314.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3009"],{5784(e,s,r){r.d(s,{createRailroadPegServices:()=>a.P});var a=r(3245);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/3017.e8b74ccb.js b/assets/js/3017.e8b74ccb.js new file mode 100644 index 0000000..fb2476b --- /dev/null +++ b/assets/js/3017.e8b74ccb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3017"],{7632(e,s,r){r.d(s,{createWardleyServices:()=>a.J});var a=r(9427);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/3312.b999d1ad.js b/assets/js/3312.b999d1ad.js new file mode 100644 index 0000000..2786f3b --- /dev/null +++ b/assets/js/3312.b999d1ad.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3312"],{2355(e,s,r){r.d(s,{createEventModelingServices:()=>a.g});var a=r(2688);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/33fc5bb8.3fe0f57b.js b/assets/js/33fc5bb8.3fe0f57b.js new file mode 100644 index 0000000..60429fa --- /dev/null +++ b/assets/js/33fc5bb8.3fe0f57b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["48"],{2242(e,t,r){r.r(t),r.d(t,{default:()=>b});var s=r(4848);r(6540);var a=r(4164),n=r(4308),l=r(8287),o=r(9365),i=r(5310),c=r(7645),d=r(8579),u=r(4553),h=r(4175),g=r(284),m=r(6947);function p({author:e}){let t=(0,o.wI)(e);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.be,{title:t}),(0,s.jsx)(h.A,{tag:"blog_authors_posts"})]})}function x(){let{authorsListPath:e}=(0,c.x)();return(0,s.jsx)(i.A,{href:e,children:(0,s.jsx)(o.np,{})})}function j({author:e,items:t,sidebar:r,listMetadata:a}){return(0,s.jsxs)(d.A,{sidebar:r,children:[(0,s.jsxs)("header",{className:"margin-bottom--xl",children:[(0,s.jsx)(m.A,{as:"h1",author:e}),e.description&&(0,s.jsx)("p",{children:e.description}),(0,s.jsx)(x,{})]}),0===t.length?(0,s.jsx)("p",{children:(0,s.jsx)(o.Y4,{})}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("hr",{}),(0,s.jsx)(g.A,{items:t}),(0,s.jsx)(u.A,{metadata:a})]})]})}function b(e){return(0,s.jsxs)(n.e3,{className:(0,a.A)(l.G.wrapper.blogPages,l.G.page.blogAuthorsPostsPage),children:[(0,s.jsx)(p,{...e}),(0,s.jsx)(j,{...e})]})}},4553(e,t,r){r.d(t,{A:()=>l});var s=r(4848);r(6540);var a=r(568),n=r(7174);function l(e){let{metadata:t}=e,{previousPage:r,nextPage:l}=t;return(0,s.jsxs)("nav",{className:"pagination-nav","aria-label":(0,a.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[r&&(0,s.jsx)(n.A,{permalink:r,title:(0,s.jsx)(a.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),l&&(0,s.jsx)(n.A,{permalink:l,title:(0,s.jsx)(a.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},4533(e,t,r){r.d(t,{A:()=>_});var s=r(4848);r(6540);var a=r(4164),n=r(7645);function l({children:e,className:t}){return(0,s.jsx)("article",{className:t,children:e})}var o=r(5310);function i({className:e}){let{metadata:t,isBlogPostPage:r}=(0,n.e7)(),{permalink:l,title:c}=t;return(0,s.jsx)(r?"h1":"h2",{className:(0,a.A)("title_f1Hy",e),children:r?c:(0,s.jsx)(o.A,{to:l,children:c})})}var c=r(568),d=r(8878),u=r(7954);function h({readingTime:e}){let t=function(){let{selectMessage:e}=(0,d.W)();return t=>{let r=Math.ceil(t);return e(r,(0,c.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:r}))}}();return(0,s.jsx)(s.Fragment,{children:t(e)})}function g({date:e,formattedDate:t}){return(0,s.jsx)("time",{dateTime:e,children:t})}function m(){return(0,s.jsx)(s.Fragment,{children:" \xb7 "})}function p({className:e}){let{metadata:t}=(0,n.e7)(),{date:r,readingTime:l}=t,o=(0,u.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,s.jsxs)("div",{className:(0,a.A)("container_mt6G","margin-vert--md",e),children:[(0,s.jsx)(g,{date:r,formattedDate:o.format(new Date(r))}),void 0!==l&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(m,{}),(0,s.jsx)(h,{readingTime:l})]})]})}var x=r(6947);function j({className:e}){let{metadata:{authors:t},assets:r}=(0,n.e7)();if(0===t.length)return null;let l=t.every(({name:e})=>!e),o=1===t.length;return(0,s.jsx)("div",{className:(0,a.A)("margin-top--md margin-bottom--sm",l?"imageOnlyAuthorRow_pa_O":"row",e),children:t.map((e,t)=>(0,s.jsx)("div",{className:(0,a.A)(!l&&(o?"col col--12":"col col--6"),l?"imageOnlyAuthorCol_G86a":"authorCol_Hf19"),children:(0,s.jsx)(x.A,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t))})}function b(){return(0,s.jsxs)("header",{children:[(0,s.jsx)(i,{}),(0,s.jsx)(p,{}),(0,s.jsx)(j,{})]})}var f=r(5248),A=r(4743);function v({children:e,className:t}){let{isBlogPostPage:r}=(0,n.e7)();return(0,s.jsx)("div",{id:r?f.blogPostContainerID:void 0,className:(0,a.A)("markdown",t),children:(0,s.jsx)(A.A,{children:e})})}var T=r(8287),w=r(7410),N=r(4999);function y(){return(0,s.jsx)("b",{children:(0,s.jsx)(c.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function k(e){let{blogPostTitle:t,...r}=e;return(0,s.jsx)(o.A,{"aria-label":(0,c.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...r,children:(0,s.jsx)(y,{})})}function P(){let{metadata:e,isBlogPostPage:t}=(0,n.e7)(),{tags:r,title:l,editUrl:o,hasTruncateMarker:i,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&i,h=r.length>0;if(!(h||u||o))return null;if(!t)return(0,s.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[h&&(0,s.jsx)("div",{className:(0,a.A)("col",{"col--9":u}),children:(0,s.jsx)(N.A,{tags:r})}),u&&(0,s.jsx)("div",{className:(0,a.A)("col text--right",{"col--3":h}),children:(0,s.jsx)(k,{blogPostTitle:l,to:e.permalink})})]});{let e=!!(o||d||c);return(0,s.jsxs)("footer",{className:"docusaurus-mt-lg",children:[h&&(0,s.jsx)("div",{className:(0,a.A)("row","margin-top--sm",T.G.blog.blogFooterEditMetaRow),children:(0,s.jsx)("div",{className:"col",children:(0,s.jsx)(N.A,{tags:r})})}),e&&(0,s.jsx)(w.A,{className:(0,a.A)("margin-top--sm",T.G.blog.blogFooterEditMetaRow),editUrl:o,lastUpdatedAt:d,lastUpdatedBy:c})]})}}function _({children:e,className:t}){let r=function(){let{isBlogPostPage:e}=(0,n.e7)();return e?void 0:"margin-bottom--xl"}();return(0,s.jsxs)(l,{className:(0,a.A)(r,t),children:[(0,s.jsx)(b,{}),(0,s.jsx)(v,{children:e}),(0,s.jsx)(P,{})]})}},284(e,t,r){r.d(t,{A:()=>l});var s=r(4848);r(6540);var a=r(7645),n=r(4533);function l({items:e,component:t=n.A}){return(0,s.jsx)(s.Fragment,{children:e.map(({content:e})=>(0,s.jsx)(a.in,{content:e,children:(0,s.jsx)(t,{children:(0,s.jsx)(e,{})})},e.metadata.permalink))})}},9365(e,t,r){r.d(t,{Y4:()=>u,ZD:()=>o,np:()=>d,uz:()=>c,wI:()=>i});var s=r(4848);r(6540);var a=r(568),n=r(8878);function l(){let{selectMessage:e}=(0,n.W)();return t=>e(t,(0,a.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function o(e){let t=l();return(0,a.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function i(e){let t=l();return(0,a.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}let c=()=>(0,a.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function d(){return(0,s.jsx)(a.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function u(){return(0,s.jsx)(a.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}}}]); \ No newline at end of file diff --git a/assets/js/3535.18db5811.js b/assets/js/3535.18db5811.js new file mode 100644 index 0000000..90bedb3 --- /dev/null +++ b/assets/js/3535.18db5811.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3535"],{2130(e,t,r){r.d(t,{default:()=>aZ});class a extends Error{constructor(e,t){var r="KaTeX parse error: "+e,n=t&&t.loc;if(n&&n.start<=n.end){var i,s,o=n.lexer.input;i=n.start,s=n.end,i===o.length?r+=" at end of input: ":r+=" at position "+(i+1)+": ";var l=o.slice(i,s).replace(/[^]/g,"$&\u0332");r+=(i>15?"\u2026"+o.slice(i-15,i):o.slice(0,i))+l+(s+15<o.length?o.slice(s,s+15)+"\u2026":o.slice(s))}super(r),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,a.prototype),this.position=i,null!=i&&null!=s&&(this.length=s-i),this.rawMessage=e}}var n,i,s,o=/([A-Z])/g,l=e=>e.replace(o,"-$1").toLowerCase(),h={"&":"&",">":">","<":"<",'"':""","'":"'"},m=/[&><"']/g,c=e=>String(e).replace(m,e=>h[e]),u=e=>{if("ordgroup"===e.type||"color"===e.type)if(1===e.body.length)return u(e.body[0]);else return e;return"font"===e.type?u(e.body):e},p=new Set(["mathord","textord","atom"]),d=e=>p.has(u(e).type),g={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 <type>"},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 <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:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},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:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",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:e=>Math.max(0,e),cli:"-s, --max-size <n>",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:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};class f{constructor(e){for(var t of(void 0===e&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{},Object.keys(g))){var r=g[t];r&&function(e,t,r,a){var n=r[t];e[t]=void 0!==n?a.processor?a.processor(n):n:function(e){if(void 0!==e.default)return e.default;var t=Array.isArray(e.type)?e.type[0]:e.type;if("string"!=typeof t)return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw Error("Unexpected schema type; settings must declare an explicit default.")}}(a)}(this,t,e,r)}}reportNonstrict(e,t,r){var n=this.strict;if("function"==typeof n&&(n=n(e,t,r)),n&&"ignore"!==n){if(!0===n||"error"===n)throw new a("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" [")+e+"]",r);"warn"===n?"u">typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" [")+e+"]"):"u">typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+t+" [")+e+"]")}}useStrictBehavior(e,t,r){var a=this.strict;if("function"==typeof a)try{a=a(e,t,r)}catch(e){a="error"}return!!a&&"ignore"!==a&&(!0===a||"error"===a||("warn"===a?("u">typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" [")+e+"]"),!1):("u">typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+a+"': "+t+" [")+e+"]"),!1)))}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var t,r,a=(t=e.url,(r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t))?":"===r[2]&&/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?r[1].toLowerCase():null:"_relative");if(null==a)return!1;e.protocol=a}return!!("function"==typeof this.trust?this.trust(e):this.trust)}}class v{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return b[y[this.id]]}sub(){return b[x[this.id]]}fracNum(){return b[w[this.id]]}fracDen(){return b[k[this.id]]}cramp(){return b[z[this.id]]}text(){return b[S[this.id]]}isTight(){return this.size>=2}}var b=[new v(0,0,!1),new v(1,0,!0),new v(2,1,!1),new v(3,1,!0),new v(4,2,!1),new v(5,2,!0),new v(6,3,!1),new v(7,3,!0)],y=[4,5,4,5,6,7,6,7],x=[5,5,5,5,7,7,7,7],w=[2,3,4,5,6,7,6,7],k=[3,3,5,5,7,7,7,7],z=[1,1,3,3,5,5,7,7],S=[0,1,2,3,2,3,2,3],M={DISPLAY:b[0],TEXT:b[2],SCRIPT:b[4],SCRIPTSCRIPT:b[6]},A=[{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]]}],T=[];function C(e){for(var t=0;t<T.length;t+=2)if(e>=T[t]&&e<=T[t+1])return!0;return!1}A.forEach(e=>e.blocks.forEach(e=>T.push(...e)));var B=function(e,t,r){t*=1e3;var a,n,i,s,o,l,h="";switch(e){case"sqrtMain":h="M95,"+(622+(a=t)+80)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.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\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+a/2.075+" -"+a+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+a)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+a)+" 80h400000v"+(40+a)+"h-400000z";break;case"sqrtSize1":h="M263,"+(601+(n=t)+80)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+n/2.084+" -"+n+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+n)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+n)+" 80h400000v"+(40+n)+"h-400000z";break;case"sqrtSize2":h="M983 "+(10+(i=t)+80)+"\nl"+i/3.13+" -"+i+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+i)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+i)+" 80h400000v"+(40+i)+"h-400000z";break;case"sqrtSize3":h="M424,"+(2398+(s=t)+80)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-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\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+s/4.223+" -"+s+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+s)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+s)+" 80\nh400000v"+(40+s)+"h-400000z";break;case"sqrtSize4":h="M473,"+(2713+(o=t)+80)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+o/5.298+" -"+o+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+o)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-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\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+o)+" 80h400000v"+(40+o)+"H1017.7z";break;case"sqrtTall":h="M702 "+((l=t)+80)+"H400000"+(40+l)+"\nH742v"+(r-54-80-l)+"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\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 80H400000v"+(40+l)+"H742z"}return h},q=function(e,t){switch(e){case"\u239C":let r;return(r="M291 0 H417 V"+t+" H291z")+" "+r;case"\u2223":let a;return(a="M145 0 H188 V"+t+" H145z")+" "+a;case"\u2225":let n,i;return(n="M145 0 H188 V"+t+" H145z")+" "+n+((i="M367 0 H410 V"+t+" H367z")+" ")+i;case"\u239F":let s;return(s="M457 0 H583 V"+t+" H457z")+" "+s;case"\u23A2":let o;return(o="M319 0 H403 V"+t+" H319z")+" "+o;case"\u23A5":let l;return(l="M263 0 H347 V"+t+" H263z")+" "+l;case"\u23AA":let h;return(h="M384 0 H504 V"+t+" H384z")+" "+h;case"\u23D0":let m;return(m="M312 0 H355 V"+t+" H312z")+" "+m;case"\u2016":let c,u;return(c="M257 0 H300 V"+t+" H257z")+" "+c+((u="M478 0 H521 V"+t+" H478z")+" ")+u;default:return""}},I={doubleleftarrow:"M262 157\nl10-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\n 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\n 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\nc2 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\n 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\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-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\n 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\n-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\n-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\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-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\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 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\n-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\nc-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\n 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\n 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\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 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\n 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\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 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\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-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\n-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\n-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\n 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\n-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\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 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\n-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\n 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\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-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\n-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\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z M40 281 V428 H0 V94 H40 V241 H400000 v40z",leftbracketunder:"M0 0 h120 V290 H399995 v120 H0z M0 0 h120 V290 H399995 v120 H0z",leftbracketover:"M0 440 h120 V150 H399995 v-120 H0z M0 440 h120 V150 H399995 v-120 H0z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z M40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.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\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z M0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-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\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 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\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.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\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 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\n-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\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.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\n60.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\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 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\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.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\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 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\n-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\n 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\n 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\n-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\n-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\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-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\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.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\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-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\n 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\n 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\n-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\n-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\n 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\n-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\n 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\nm0 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\n 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\n-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\n-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\n 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\n 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\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-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\n 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\n-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\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z M399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightbracketunder:"M399995 0 h-120 V290 H0 v120 H400000z M399995 0 h-120 V290 H0 v120 H400000z",rightbracketover:"M399995 440 h-120 V150 H0 v-120 H399995z 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\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-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\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 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\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 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\nc-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\n 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\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 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\n-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\n 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\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-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\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 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\n 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\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -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\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-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\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-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\n-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\n-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\n-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,\n-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,\n-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,\n-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,\n-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\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-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\ns-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\n121.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\ns2.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\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-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\n13.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\n-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\n-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\n-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\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,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\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-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\nc-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\nM0 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\nc1.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,\n1c0,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,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 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\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-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\nc-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\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},H=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 v84 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" 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\nc-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,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.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\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-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,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-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\nc-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\nc0,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\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw Error("Unknown stretchy delimiter.")}};class R{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){return this.children.map(e=>{if("toText"in e)return e.toText();throw Error("Expected MathDomNode with toText, got "+e.constructor.name)}).join("")}}var E={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},O={ex:!0,em:!0,mu:!0},D=function(e){return"string"!=typeof e&&(e=e.unit),e in E||e in O||"ex"===e},N=function(e,t){var r,n;if(e.unit in E)r=E[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{if(n=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=n.fontMetrics().xHeight;else if("em"===e.unit)r=n.fontMetrics().quad;else throw new a("Invalid unit: '"+e.unit+"'");n!==t&&(r*=n.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},L=function(e){return+e.toFixed(4)+"em"},F=function(e){return e.filter(e=>e).join(" ")},P=function(e){var t="";for(var r of Object.keys(e)){var a=e[r];void 0!==a&&(t+=l(r)+":"+a+";")}return t},V=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");var a=t.getColor();a&&(this.style.color=a)}},G=function(e){var t=document.createElement(e);for(var r of(t.className=F(this.classes),Object.assign(t.style,this.style),Object.keys(this.attributes)))t.setAttribute(r,this.attributes[r]);for(var a=0;a<this.children.length;a++)t.appendChild(this.children[a].toNode());return t},U=/[\s"'>/=\x00-\x1f]/,X=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+c(F(this.classes))+'"');var r=P(this.style);for(var n of(r&&(t+=' style="'+c(r)+'"'),Object.keys(this.attributes))){if(U.test(n))throw new a("Invalid attribute name '"+n+"'");t+=" "+n+'="'+c(this.attributes[n])+'"'}t+=">";for(var i=0;i<this.children.length;i++)t+=this.children[i].toMarkup();return t+("</"+e+">")};class Y{constructor(e,t,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,V.call(this,e,r,a),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return G.call(this,"span")}toMarkup(){return X.call(this,"span")}}class j{constructor(e,t,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,V.call(this,t,a),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return G.call(this,"a")}toMarkup(){return X.call(this,"a")}}class W{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=r}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");return e.src=this.src,e.alt=this.alt,e.className="mord",Object.assign(e.style,this.style),e}toMarkup(){var e='<img src="'+c(this.src)+'" alt="'+c(this.alt)+'"',t=P(this.style);return t&&(e+=' style="'+c(t)+'"'),e+="'/>"}}var _={"\xee":"\u0131\u0302","\xef":"\u0131\u0308","\xed":"\u0131\u0301","\xec":"\u0131\u0300"};class ${constructor(e,t,r,a,n,i,s,o){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=r||0,this.italic=a||0,this.skew=n||0,this.width=i||0,this.classes=s||[],this.style=o||{},this.maxFontSize=0;var l=function(e){for(var t=0;t<A.length;t++)for(var r=A[t],a=0;a<r.blocks.length;a++){var n=r.blocks[a];if(e>=n[0]&&e<=n[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=_[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;return(this.italic>0&&((t=document.createElement("span")).style.marginRight=L(this.italic)),this.classes.length>0&&((t=t||document.createElement("span")).className=F(this.classes)),Object.keys(this.style).length>0&&Object.assign((t=t||document.createElement("span")).style,this.style),t)?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="<span";this.classes.length&&(e=!0,t+=' class="',t+=c(F(this.classes)),t+='"');var r="";this.italic>0&&(r+="margin-right:"+L(this.italic)+";"),(r+=P(this.style))&&(e=!0,t+=' style="'+c(r)+'"');var a=c(this.text);return e?(t+=">",t+=a,t+="</span>"):a}}class Z{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);for(var r=0;r<this.children.length;r++)e.appendChild(this.children[r].toNode());return e}toMarkup(){var e='<svg xmlns="http://www.w3.org/2000/svg"';for(var t of Object.keys(this.attributes))e+=" "+t+'="'+c(this.attributes[t])+'"';e+=">";for(var r=0;r<this.children.length;r++)e+=this.children[r].toMarkup();return e+"</svg>"}}class K{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?e.setAttribute("d",this.alternate):e.setAttribute("d",I[this.pathName]),e}toMarkup(){return this.alternate?'<path d="'+c(this.alternate)+'"/>':'<path d="'+c(I[this.pathName])+'"/>'}}class J{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","line");for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e="<line";for(var t of Object.keys(this.attributes))e+=" "+t+'="'+c(this.attributes[t])+'"';return e+"/>"}}var Q={"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]}},ee={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]},et={"\xc5":"A","\xd0":"D","\xde":"o","\xe5":"a","\xf0":"d","\xfe":"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};function er(e,t,r){if(!Q[t])throw Error("Font metrics not found for font: "+t+".");var a=e.charCodeAt(0),n=Q[t][a];if(!n&&e[0]in et&&(a=et[e[0]].charCodeAt(0),n=Q[t][a]),!n&&"text"===r&&C(a)&&(n=Q[t][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var ea={},en={math:{},text:{}};function ei(e,t,r,a,n,i){en[e][n]={font:t,group:r,replace:a},i&&a&&(en[e][a]=en[e][n])}var es="math",eo="text",el="main",eh="accent-token",em="close",ec="inner",eu="mathord",ep="op-token",ed="open",eg="punct",ef="spacing",ev="textord";ei(es,el,"rel","\u2261","\\equiv",!0),ei(es,el,"rel","\u227A","\\prec",!0),ei(es,el,"rel","\u227B","\\succ",!0),ei(es,el,"rel","\u223C","\\sim",!0),ei(es,el,"rel","\u22A5","\\perp"),ei(es,el,"rel","\u2AAF","\\preceq",!0),ei(es,el,"rel","\u2AB0","\\succeq",!0),ei(es,el,"rel","\u2243","\\simeq",!0),ei(es,el,"rel","\u2223","\\mid",!0),ei(es,el,"rel","\u226A","\\ll",!0),ei(es,el,"rel","\u226B","\\gg",!0),ei(es,el,"rel","\u224D","\\asymp",!0),ei(es,el,"rel","\u2225","\\parallel"),ei(es,el,"rel","\u22C8","\\bowtie",!0),ei(es,el,"rel","\u2323","\\smile",!0),ei(es,el,"rel","\u2291","\\sqsubseteq",!0),ei(es,el,"rel","\u2292","\\sqsupseteq",!0),ei(es,el,"rel","\u2250","\\doteq",!0),ei(es,el,"rel","\u2322","\\frown",!0),ei(es,el,"rel","\u220B","\\ni",!0),ei(es,el,"rel","\u221D","\\propto",!0),ei(es,el,"rel","\u22A2","\\vdash",!0),ei(es,el,"rel","\u22A3","\\dashv",!0),ei(es,el,"rel","\u220B","\\owns"),ei(es,el,eg,".","\\ldotp"),ei(es,el,eg,"\u22C5","\\cdotp"),ei(es,el,eg,"\u22C5","\xb7"),ei(eo,el,ev,"\u22C5","\xb7"),ei(es,el,ev,"#","\\#"),ei(eo,el,ev,"#","\\#"),ei(es,el,ev,"&","\\&"),ei(eo,el,ev,"&","\\&"),ei(es,el,ev,"\u2135","\\aleph",!0),ei(es,el,ev,"\u2200","\\forall",!0),ei(es,el,ev,"\u210F","\\hbar",!0),ei(es,el,ev,"\u2203","\\exists",!0),ei(es,el,ev,"\u2207","\\nabla",!0),ei(es,el,ev,"\u266D","\\flat",!0),ei(es,el,ev,"\u2113","\\ell",!0),ei(es,el,ev,"\u266E","\\natural",!0),ei(es,el,ev,"\u2663","\\clubsuit",!0),ei(es,el,ev,"\u2118","\\wp",!0),ei(es,el,ev,"\u266F","\\sharp",!0),ei(es,el,ev,"\u2662","\\diamondsuit",!0),ei(es,el,ev,"\u211C","\\Re",!0),ei(es,el,ev,"\u2661","\\heartsuit",!0),ei(es,el,ev,"\u2111","\\Im",!0),ei(es,el,ev,"\u2660","\\spadesuit",!0),ei(es,el,ev,"\xa7","\\S",!0),ei(eo,el,ev,"\xa7","\\S"),ei(es,el,ev,"\xb6","\\P",!0),ei(eo,el,ev,"\xb6","\\P"),ei(es,el,ev,"\u2020","\\dag"),ei(eo,el,ev,"\u2020","\\dag"),ei(eo,el,ev,"\u2020","\\textdagger"),ei(es,el,ev,"\u2021","\\ddag"),ei(eo,el,ev,"\u2021","\\ddag"),ei(eo,el,ev,"\u2021","\\textdaggerdbl"),ei(es,el,em,"\u23B1","\\rmoustache",!0),ei(es,el,ed,"\u23B0","\\lmoustache",!0),ei(es,el,em,"\u27EF","\\rgroup",!0),ei(es,el,ed,"\u27EE","\\lgroup",!0),ei(es,el,"bin","\u2213","\\mp",!0),ei(es,el,"bin","\u2296","\\ominus",!0),ei(es,el,"bin","\u228E","\\uplus",!0),ei(es,el,"bin","\u2293","\\sqcap",!0),ei(es,el,"bin","\u2217","\\ast"),ei(es,el,"bin","\u2294","\\sqcup",!0),ei(es,el,"bin","\u25EF","\\bigcirc",!0),ei(es,el,"bin","\u2219","\\bullet",!0),ei(es,el,"bin","\u2021","\\ddagger"),ei(es,el,"bin","\u2240","\\wr",!0),ei(es,el,"bin","\u2A3F","\\amalg"),ei(es,el,"bin","&","\\And"),ei(es,el,"rel","\u27F5","\\longleftarrow",!0),ei(es,el,"rel","\u21D0","\\Leftarrow",!0),ei(es,el,"rel","\u27F8","\\Longleftarrow",!0),ei(es,el,"rel","\u27F6","\\longrightarrow",!0),ei(es,el,"rel","\u21D2","\\Rightarrow",!0),ei(es,el,"rel","\u27F9","\\Longrightarrow",!0),ei(es,el,"rel","\u2194","\\leftrightarrow",!0),ei(es,el,"rel","\u27F7","\\longleftrightarrow",!0),ei(es,el,"rel","\u21D4","\\Leftrightarrow",!0),ei(es,el,"rel","\u27FA","\\Longleftrightarrow",!0),ei(es,el,"rel","\u21A6","\\mapsto",!0),ei(es,el,"rel","\u27FC","\\longmapsto",!0),ei(es,el,"rel","\u2197","\\nearrow",!0),ei(es,el,"rel","\u21A9","\\hookleftarrow",!0),ei(es,el,"rel","\u21AA","\\hookrightarrow",!0),ei(es,el,"rel","\u2198","\\searrow",!0),ei(es,el,"rel","\u21BC","\\leftharpoonup",!0),ei(es,el,"rel","\u21C0","\\rightharpoonup",!0),ei(es,el,"rel","\u2199","\\swarrow",!0),ei(es,el,"rel","\u21BD","\\leftharpoondown",!0),ei(es,el,"rel","\u21C1","\\rightharpoondown",!0),ei(es,el,"rel","\u2196","\\nwarrow",!0),ei(es,el,"rel","\u21CC","\\rightleftharpoons",!0),ei(es,"ams","rel","\u226E","\\nless",!0),ei(es,"ams","rel","\uE010","\\@nleqslant"),ei(es,"ams","rel","\uE011","\\@nleqq"),ei(es,"ams","rel","\u2A87","\\lneq",!0),ei(es,"ams","rel","\u2268","\\lneqq",!0),ei(es,"ams","rel","\uE00C","\\@lvertneqq"),ei(es,"ams","rel","\u22E6","\\lnsim",!0),ei(es,"ams","rel","\u2A89","\\lnapprox",!0),ei(es,"ams","rel","\u2280","\\nprec",!0),ei(es,"ams","rel","\u22E0","\\npreceq",!0),ei(es,"ams","rel","\u22E8","\\precnsim",!0),ei(es,"ams","rel","\u2AB9","\\precnapprox",!0),ei(es,"ams","rel","\u2241","\\nsim",!0),ei(es,"ams","rel","\uE006","\\@nshortmid"),ei(es,"ams","rel","\u2224","\\nmid",!0),ei(es,"ams","rel","\u22AC","\\nvdash",!0),ei(es,"ams","rel","\u22AD","\\nvDash",!0),ei(es,"ams","rel","\u22EA","\\ntriangleleft"),ei(es,"ams","rel","\u22EC","\\ntrianglelefteq",!0),ei(es,"ams","rel","\u228A","\\subsetneq",!0),ei(es,"ams","rel","\uE01A","\\@varsubsetneq"),ei(es,"ams","rel","\u2ACB","\\subsetneqq",!0),ei(es,"ams","rel","\uE017","\\@varsubsetneqq"),ei(es,"ams","rel","\u226F","\\ngtr",!0),ei(es,"ams","rel","\uE00F","\\@ngeqslant"),ei(es,"ams","rel","\uE00E","\\@ngeqq"),ei(es,"ams","rel","\u2A88","\\gneq",!0),ei(es,"ams","rel","\u2269","\\gneqq",!0),ei(es,"ams","rel","\uE00D","\\@gvertneqq"),ei(es,"ams","rel","\u22E7","\\gnsim",!0),ei(es,"ams","rel","\u2A8A","\\gnapprox",!0),ei(es,"ams","rel","\u2281","\\nsucc",!0),ei(es,"ams","rel","\u22E1","\\nsucceq",!0),ei(es,"ams","rel","\u22E9","\\succnsim",!0),ei(es,"ams","rel","\u2ABA","\\succnapprox",!0),ei(es,"ams","rel","\u2246","\\ncong",!0),ei(es,"ams","rel","\uE007","\\@nshortparallel"),ei(es,"ams","rel","\u2226","\\nparallel",!0),ei(es,"ams","rel","\u22AF","\\nVDash",!0),ei(es,"ams","rel","\u22EB","\\ntriangleright"),ei(es,"ams","rel","\u22ED","\\ntrianglerighteq",!0),ei(es,"ams","rel","\uE018","\\@nsupseteqq"),ei(es,"ams","rel","\u228B","\\supsetneq",!0),ei(es,"ams","rel","\uE01B","\\@varsupsetneq"),ei(es,"ams","rel","\u2ACC","\\supsetneqq",!0),ei(es,"ams","rel","\uE019","\\@varsupsetneqq"),ei(es,"ams","rel","\u22AE","\\nVdash",!0),ei(es,"ams","rel","\u2AB5","\\precneqq",!0),ei(es,"ams","rel","\u2AB6","\\succneqq",!0),ei(es,"ams","rel","\uE016","\\@nsubseteqq"),ei(es,"ams","bin","\u22B4","\\unlhd"),ei(es,"ams","bin","\u22B5","\\unrhd"),ei(es,"ams","rel","\u219A","\\nleftarrow",!0),ei(es,"ams","rel","\u219B","\\nrightarrow",!0),ei(es,"ams","rel","\u21CD","\\nLeftarrow",!0),ei(es,"ams","rel","\u21CF","\\nRightarrow",!0),ei(es,"ams","rel","\u21AE","\\nleftrightarrow",!0),ei(es,"ams","rel","\u21CE","\\nLeftrightarrow",!0),ei(es,"ams","rel","\u25B3","\\vartriangle"),ei(es,"ams",ev,"\u210F","\\hslash"),ei(es,"ams",ev,"\u25BD","\\triangledown"),ei(es,"ams",ev,"\u25CA","\\lozenge"),ei(es,"ams",ev,"\u24C8","\\circledS"),ei(es,"ams",ev,"\xae","\\circledR"),ei(eo,"ams",ev,"\xae","\\circledR"),ei(es,"ams",ev,"\u2221","\\measuredangle",!0),ei(es,"ams",ev,"\u2204","\\nexists"),ei(es,"ams",ev,"\u2127","\\mho"),ei(es,"ams",ev,"\u2132","\\Finv",!0),ei(es,"ams",ev,"\u2141","\\Game",!0),ei(es,"ams",ev,"\u2035","\\backprime"),ei(es,"ams",ev,"\u25B2","\\blacktriangle"),ei(es,"ams",ev,"\u25BC","\\blacktriangledown"),ei(es,"ams",ev,"\u25A0","\\blacksquare"),ei(es,"ams",ev,"\u29EB","\\blacklozenge"),ei(es,"ams",ev,"\u2605","\\bigstar"),ei(es,"ams",ev,"\u2222","\\sphericalangle",!0),ei(es,"ams",ev,"\u2201","\\complement",!0),ei(es,"ams",ev,"\xf0","\\eth",!0),ei(eo,el,ev,"\xf0","\xf0"),ei(es,"ams",ev,"\u2571","\\diagup"),ei(es,"ams",ev,"\u2572","\\diagdown"),ei(es,"ams",ev,"\u25A1","\\square"),ei(es,"ams",ev,"\u25A1","\\Box"),ei(es,"ams",ev,"\u25CA","\\Diamond"),ei(es,"ams",ev,"\xa5","\\yen",!0),ei(eo,"ams",ev,"\xa5","\\yen",!0),ei(es,"ams",ev,"\u2713","\\checkmark",!0),ei(eo,"ams",ev,"\u2713","\\checkmark"),ei(es,"ams",ev,"\u2136","\\beth",!0),ei(es,"ams",ev,"\u2138","\\daleth",!0),ei(es,"ams",ev,"\u2137","\\gimel",!0),ei(es,"ams",ev,"\u03DD","\\digamma",!0),ei(es,"ams",ev,"\u03F0","\\varkappa"),ei(es,"ams",ed,"\u250C","\\@ulcorner",!0),ei(es,"ams",em,"\u2510","\\@urcorner",!0),ei(es,"ams",ed,"\u2514","\\@llcorner",!0),ei(es,"ams",em,"\u2518","\\@lrcorner",!0),ei(es,"ams","rel","\u2266","\\leqq",!0),ei(es,"ams","rel","\u2A7D","\\leqslant",!0),ei(es,"ams","rel","\u2A95","\\eqslantless",!0),ei(es,"ams","rel","\u2272","\\lesssim",!0),ei(es,"ams","rel","\u2A85","\\lessapprox",!0),ei(es,"ams","rel","\u224A","\\approxeq",!0),ei(es,"ams","bin","\u22D6","\\lessdot"),ei(es,"ams","rel","\u22D8","\\lll",!0),ei(es,"ams","rel","\u2276","\\lessgtr",!0),ei(es,"ams","rel","\u22DA","\\lesseqgtr",!0),ei(es,"ams","rel","\u2A8B","\\lesseqqgtr",!0),ei(es,"ams","rel","\u2251","\\doteqdot"),ei(es,"ams","rel","\u2253","\\risingdotseq",!0),ei(es,"ams","rel","\u2252","\\fallingdotseq",!0),ei(es,"ams","rel","\u223D","\\backsim",!0),ei(es,"ams","rel","\u22CD","\\backsimeq",!0),ei(es,"ams","rel","\u2AC5","\\subseteqq",!0),ei(es,"ams","rel","\u22D0","\\Subset",!0),ei(es,"ams","rel","\u228F","\\sqsubset",!0),ei(es,"ams","rel","\u227C","\\preccurlyeq",!0),ei(es,"ams","rel","\u22DE","\\curlyeqprec",!0),ei(es,"ams","rel","\u227E","\\precsim",!0),ei(es,"ams","rel","\u2AB7","\\precapprox",!0),ei(es,"ams","rel","\u22B2","\\vartriangleleft"),ei(es,"ams","rel","\u22B4","\\trianglelefteq"),ei(es,"ams","rel","\u22A8","\\vDash",!0),ei(es,"ams","rel","\u22AA","\\Vvdash",!0),ei(es,"ams","rel","\u2323","\\smallsmile"),ei(es,"ams","rel","\u2322","\\smallfrown"),ei(es,"ams","rel","\u224F","\\bumpeq",!0),ei(es,"ams","rel","\u224E","\\Bumpeq",!0),ei(es,"ams","rel","\u2267","\\geqq",!0),ei(es,"ams","rel","\u2A7E","\\geqslant",!0),ei(es,"ams","rel","\u2A96","\\eqslantgtr",!0),ei(es,"ams","rel","\u2273","\\gtrsim",!0),ei(es,"ams","rel","\u2A86","\\gtrapprox",!0),ei(es,"ams","bin","\u22D7","\\gtrdot"),ei(es,"ams","rel","\u22D9","\\ggg",!0),ei(es,"ams","rel","\u2277","\\gtrless",!0),ei(es,"ams","rel","\u22DB","\\gtreqless",!0),ei(es,"ams","rel","\u2A8C","\\gtreqqless",!0),ei(es,"ams","rel","\u2256","\\eqcirc",!0),ei(es,"ams","rel","\u2257","\\circeq",!0),ei(es,"ams","rel","\u225C","\\triangleq",!0),ei(es,"ams","rel","\u223C","\\thicksim"),ei(es,"ams","rel","\u2248","\\thickapprox"),ei(es,"ams","rel","\u2AC6","\\supseteqq",!0),ei(es,"ams","rel","\u22D1","\\Supset",!0),ei(es,"ams","rel","\u2290","\\sqsupset",!0),ei(es,"ams","rel","\u227D","\\succcurlyeq",!0),ei(es,"ams","rel","\u22DF","\\curlyeqsucc",!0),ei(es,"ams","rel","\u227F","\\succsim",!0),ei(es,"ams","rel","\u2AB8","\\succapprox",!0),ei(es,"ams","rel","\u22B3","\\vartriangleright"),ei(es,"ams","rel","\u22B5","\\trianglerighteq"),ei(es,"ams","rel","\u22A9","\\Vdash",!0),ei(es,"ams","rel","\u2223","\\shortmid"),ei(es,"ams","rel","\u2225","\\shortparallel"),ei(es,"ams","rel","\u226C","\\between",!0),ei(es,"ams","rel","\u22D4","\\pitchfork",!0),ei(es,"ams","rel","\u221D","\\varpropto"),ei(es,"ams","rel","\u25C0","\\blacktriangleleft"),ei(es,"ams","rel","\u2234","\\therefore",!0),ei(es,"ams","rel","\u220D","\\backepsilon"),ei(es,"ams","rel","\u25B6","\\blacktriangleright"),ei(es,"ams","rel","\u2235","\\because",!0),ei(es,"ams","rel","\u22D8","\\llless"),ei(es,"ams","rel","\u22D9","\\gggtr"),ei(es,"ams","bin","\u22B2","\\lhd"),ei(es,"ams","bin","\u22B3","\\rhd"),ei(es,"ams","rel","\u2242","\\eqsim",!0),ei(es,el,"rel","\u22C8","\\Join"),ei(es,"ams","rel","\u2251","\\Doteq",!0),ei(es,"ams","bin","\u2214","\\dotplus",!0),ei(es,"ams","bin","\u2216","\\smallsetminus"),ei(es,"ams","bin","\u22D2","\\Cap",!0),ei(es,"ams","bin","\u22D3","\\Cup",!0),ei(es,"ams","bin","\u2A5E","\\doublebarwedge",!0),ei(es,"ams","bin","\u229F","\\boxminus",!0),ei(es,"ams","bin","\u229E","\\boxplus",!0),ei(es,"ams","bin","\u22C7","\\divideontimes",!0),ei(es,"ams","bin","\u22C9","\\ltimes",!0),ei(es,"ams","bin","\u22CA","\\rtimes",!0),ei(es,"ams","bin","\u22CB","\\leftthreetimes",!0),ei(es,"ams","bin","\u22CC","\\rightthreetimes",!0),ei(es,"ams","bin","\u22CF","\\curlywedge",!0),ei(es,"ams","bin","\u22CE","\\curlyvee",!0),ei(es,"ams","bin","\u229D","\\circleddash",!0),ei(es,"ams","bin","\u229B","\\circledast",!0),ei(es,"ams","bin","\u22C5","\\centerdot"),ei(es,"ams","bin","\u22BA","\\intercal",!0),ei(es,"ams","bin","\u22D2","\\doublecap"),ei(es,"ams","bin","\u22D3","\\doublecup"),ei(es,"ams","bin","\u22A0","\\boxtimes",!0),ei(es,"ams","rel","\u21E2","\\dashrightarrow",!0),ei(es,"ams","rel","\u21E0","\\dashleftarrow",!0),ei(es,"ams","rel","\u21C7","\\leftleftarrows",!0),ei(es,"ams","rel","\u21C6","\\leftrightarrows",!0),ei(es,"ams","rel","\u21DA","\\Lleftarrow",!0),ei(es,"ams","rel","\u219E","\\twoheadleftarrow",!0),ei(es,"ams","rel","\u21A2","\\leftarrowtail",!0),ei(es,"ams","rel","\u21AB","\\looparrowleft",!0),ei(es,"ams","rel","\u21CB","\\leftrightharpoons",!0),ei(es,"ams","rel","\u21B6","\\curvearrowleft",!0),ei(es,"ams","rel","\u21BA","\\circlearrowleft",!0),ei(es,"ams","rel","\u21B0","\\Lsh",!0),ei(es,"ams","rel","\u21C8","\\upuparrows",!0),ei(es,"ams","rel","\u21BF","\\upharpoonleft",!0),ei(es,"ams","rel","\u21C3","\\downharpoonleft",!0),ei(es,el,"rel","\u22B6","\\origof",!0),ei(es,el,"rel","\u22B7","\\imageof",!0),ei(es,"ams","rel","\u22B8","\\multimap",!0),ei(es,"ams","rel","\u21AD","\\leftrightsquigarrow",!0),ei(es,"ams","rel","\u21C9","\\rightrightarrows",!0),ei(es,"ams","rel","\u21C4","\\rightleftarrows",!0),ei(es,"ams","rel","\u21A0","\\twoheadrightarrow",!0),ei(es,"ams","rel","\u21A3","\\rightarrowtail",!0),ei(es,"ams","rel","\u21AC","\\looparrowright",!0),ei(es,"ams","rel","\u21B7","\\curvearrowright",!0),ei(es,"ams","rel","\u21BB","\\circlearrowright",!0),ei(es,"ams","rel","\u21B1","\\Rsh",!0),ei(es,"ams","rel","\u21CA","\\downdownarrows",!0),ei(es,"ams","rel","\u21BE","\\upharpoonright",!0),ei(es,"ams","rel","\u21C2","\\downharpoonright",!0),ei(es,"ams","rel","\u21DD","\\rightsquigarrow",!0),ei(es,"ams","rel","\u21DD","\\leadsto"),ei(es,"ams","rel","\u21DB","\\Rrightarrow",!0),ei(es,"ams","rel","\u21BE","\\restriction"),ei(es,el,ev,"\u2018","`"),ei(es,el,ev,"$","\\$"),ei(eo,el,ev,"$","\\$"),ei(eo,el,ev,"$","\\textdollar"),ei(es,el,ev,"%","\\%"),ei(eo,el,ev,"%","\\%"),ei(es,el,ev,"_","\\_"),ei(eo,el,ev,"_","\\_"),ei(eo,el,ev,"_","\\textunderscore"),ei(es,el,ev,"\u2220","\\angle",!0),ei(es,el,ev,"\u221E","\\infty",!0),ei(es,el,ev,"\u2032","\\prime"),ei(es,el,ev,"\u25B3","\\triangle"),ei(es,el,ev,"\u0393","\\Gamma",!0),ei(es,el,ev,"\u0394","\\Delta",!0),ei(es,el,ev,"\u0398","\\Theta",!0),ei(es,el,ev,"\u039B","\\Lambda",!0),ei(es,el,ev,"\u039E","\\Xi",!0),ei(es,el,ev,"\u03A0","\\Pi",!0),ei(es,el,ev,"\u03A3","\\Sigma",!0),ei(es,el,ev,"\u03A5","\\Upsilon",!0),ei(es,el,ev,"\u03A6","\\Phi",!0),ei(es,el,ev,"\u03A8","\\Psi",!0),ei(es,el,ev,"\u03A9","\\Omega",!0),ei(es,el,ev,"A","\u0391"),ei(es,el,ev,"B","\u0392"),ei(es,el,ev,"E","\u0395"),ei(es,el,ev,"Z","\u0396"),ei(es,el,ev,"H","\u0397"),ei(es,el,ev,"I","\u0399"),ei(es,el,ev,"K","\u039A"),ei(es,el,ev,"M","\u039C"),ei(es,el,ev,"N","\u039D"),ei(es,el,ev,"O","\u039F"),ei(es,el,ev,"P","\u03A1"),ei(es,el,ev,"T","\u03A4"),ei(es,el,ev,"X","\u03A7"),ei(es,el,ev,"\xac","\\neg",!0),ei(es,el,ev,"\xac","\\lnot"),ei(es,el,ev,"\u22A4","\\top"),ei(es,el,ev,"\u22A5","\\bot"),ei(es,el,ev,"\u2205","\\emptyset"),ei(es,"ams",ev,"\u2205","\\varnothing"),ei(es,el,eu,"\u03B1","\\alpha",!0),ei(es,el,eu,"\u03B2","\\beta",!0),ei(es,el,eu,"\u03B3","\\gamma",!0),ei(es,el,eu,"\u03B4","\\delta",!0),ei(es,el,eu,"\u03F5","\\epsilon",!0),ei(es,el,eu,"\u03B6","\\zeta",!0),ei(es,el,eu,"\u03B7","\\eta",!0),ei(es,el,eu,"\u03B8","\\theta",!0),ei(es,el,eu,"\u03B9","\\iota",!0),ei(es,el,eu,"\u03BA","\\kappa",!0),ei(es,el,eu,"\u03BB","\\lambda",!0),ei(es,el,eu,"\u03BC","\\mu",!0),ei(es,el,eu,"\u03BD","\\nu",!0),ei(es,el,eu,"\u03BE","\\xi",!0),ei(es,el,eu,"\u03BF","\\omicron",!0),ei(es,el,eu,"\u03C0","\\pi",!0),ei(es,el,eu,"\u03C1","\\rho",!0),ei(es,el,eu,"\u03C3","\\sigma",!0),ei(es,el,eu,"\u03C4","\\tau",!0),ei(es,el,eu,"\u03C5","\\upsilon",!0),ei(es,el,eu,"\u03D5","\\phi",!0),ei(es,el,eu,"\u03C7","\\chi",!0),ei(es,el,eu,"\u03C8","\\psi",!0),ei(es,el,eu,"\u03C9","\\omega",!0),ei(es,el,eu,"\u03B5","\\varepsilon",!0),ei(es,el,eu,"\u03D1","\\vartheta",!0),ei(es,el,eu,"\u03D6","\\varpi",!0),ei(es,el,eu,"\u03F1","\\varrho",!0),ei(es,el,eu,"\u03C2","\\varsigma",!0),ei(es,el,eu,"\u03C6","\\varphi",!0),ei(es,el,"bin","\u2217","*",!0),ei(es,el,"bin","+","+"),ei(es,el,"bin","\u2212","-",!0),ei(es,el,"bin","\u22C5","\\cdot",!0),ei(es,el,"bin","\u2218","\\circ",!0),ei(es,el,"bin","\xf7","\\div",!0),ei(es,el,"bin","\xb1","\\pm",!0),ei(es,el,"bin","\xd7","\\times",!0),ei(es,el,"bin","\u2229","\\cap",!0),ei(es,el,"bin","\u222A","\\cup",!0),ei(es,el,"bin","\u2216","\\setminus",!0),ei(es,el,"bin","\u2227","\\land"),ei(es,el,"bin","\u2228","\\lor"),ei(es,el,"bin","\u2227","\\wedge",!0),ei(es,el,"bin","\u2228","\\vee",!0),ei(es,el,ev,"\u221A","\\surd"),ei(es,el,ed,"\u27E8","\\langle",!0),ei(es,el,ed,"\u2223","\\lvert"),ei(es,el,ed,"\u2225","\\lVert"),ei(es,el,em,"?","?"),ei(es,el,em,"!","!"),ei(es,el,em,"\u27E9","\\rangle",!0),ei(es,el,em,"\u2223","\\rvert"),ei(es,el,em,"\u2225","\\rVert"),ei(es,el,"rel","=","="),ei(es,el,"rel",":",":"),ei(es,el,"rel","\u2248","\\approx",!0),ei(es,el,"rel","\u2245","\\cong",!0),ei(es,el,"rel","\u2265","\\ge"),ei(es,el,"rel","\u2265","\\geq",!0),ei(es,el,"rel","\u2190","\\gets"),ei(es,el,"rel",">","\\gt",!0),ei(es,el,"rel","\u2208","\\in",!0),ei(es,el,"rel","\uE020","\\@not"),ei(es,el,"rel","\u2282","\\subset",!0),ei(es,el,"rel","\u2283","\\supset",!0),ei(es,el,"rel","\u2286","\\subseteq",!0),ei(es,el,"rel","\u2287","\\supseteq",!0),ei(es,"ams","rel","\u2288","\\nsubseteq",!0),ei(es,"ams","rel","\u2289","\\nsupseteq",!0),ei(es,el,"rel","\u22A8","\\models"),ei(es,el,"rel","\u2190","\\leftarrow",!0),ei(es,el,"rel","\u2264","\\le"),ei(es,el,"rel","\u2264","\\leq",!0),ei(es,el,"rel","<","\\lt",!0),ei(es,el,"rel","\u2192","\\rightarrow",!0),ei(es,el,"rel","\u2192","\\to"),ei(es,"ams","rel","\u2271","\\ngeq",!0),ei(es,"ams","rel","\u2270","\\nleq",!0),ei(es,el,ef,"\xa0","\\ "),ei(es,el,ef,"\xa0","\\space"),ei(es,el,ef,"\xa0","\\nobreakspace"),ei(eo,el,ef,"\xa0","\\ "),ei(eo,el,ef,"\xa0"," "),ei(eo,el,ef,"\xa0","\\space"),ei(eo,el,ef,"\xa0","\\nobreakspace"),ei(es,el,ef,"","\\nobreak"),ei(es,el,ef,"","\\allowbreak"),ei(es,el,eg,",",","),ei(es,el,eg,";",";"),ei(es,"ams","bin","\u22BC","\\barwedge",!0),ei(es,"ams","bin","\u22BB","\\veebar",!0),ei(es,el,"bin","\u2299","\\odot",!0),ei(es,el,"bin","\u2295","\\oplus",!0),ei(es,el,"bin","\u2297","\\otimes",!0),ei(es,el,ev,"\u2202","\\partial",!0),ei(es,el,"bin","\u2298","\\oslash",!0),ei(es,"ams","bin","\u229A","\\circledcirc",!0),ei(es,"ams","bin","\u22A1","\\boxdot",!0),ei(es,el,"bin","\u25B3","\\bigtriangleup"),ei(es,el,"bin","\u25BD","\\bigtriangledown"),ei(es,el,"bin","\u2020","\\dagger"),ei(es,el,"bin","\u22C4","\\diamond"),ei(es,el,"bin","\u22C6","\\star"),ei(es,el,"bin","\u25C3","\\triangleleft"),ei(es,el,"bin","\u25B9","\\triangleright"),ei(es,el,ed,"{","\\{"),ei(eo,el,ev,"{","\\{"),ei(eo,el,ev,"{","\\textbraceleft"),ei(es,el,em,"}","\\}"),ei(eo,el,ev,"}","\\}"),ei(eo,el,ev,"}","\\textbraceright"),ei(es,el,ed,"{","\\lbrace"),ei(es,el,em,"}","\\rbrace"),ei(es,el,ed,"[","\\lbrack",!0),ei(eo,el,ev,"[","\\lbrack",!0),ei(es,el,em,"]","\\rbrack",!0),ei(eo,el,ev,"]","\\rbrack",!0),ei(es,el,ed,"(","\\lparen",!0),ei(es,el,em,")","\\rparen",!0),ei(eo,el,ev,"<","\\textless",!0),ei(eo,el,ev,">","\\textgreater",!0),ei(es,el,ed,"\u230A","\\lfloor",!0),ei(es,el,em,"\u230B","\\rfloor",!0),ei(es,el,ed,"\u2308","\\lceil",!0),ei(es,el,em,"\u2309","\\rceil",!0),ei(es,el,ev,"\\","\\backslash"),ei(es,el,ev,"\u2223","|"),ei(es,el,ev,"\u2223","\\vert"),ei(eo,el,ev,"|","\\textbar",!0),ei(es,el,ev,"\u2225","\\|"),ei(es,el,ev,"\u2225","\\Vert"),ei(eo,el,ev,"\u2225","\\textbardbl"),ei(eo,el,ev,"~","\\textasciitilde"),ei(eo,el,ev,"\\","\\textbackslash"),ei(eo,el,ev,"^","\\textasciicircum"),ei(es,el,"rel","\u2191","\\uparrow",!0),ei(es,el,"rel","\u21D1","\\Uparrow",!0),ei(es,el,"rel","\u2193","\\downarrow",!0),ei(es,el,"rel","\u21D3","\\Downarrow",!0),ei(es,el,"rel","\u2195","\\updownarrow",!0),ei(es,el,"rel","\u21D5","\\Updownarrow",!0),ei(es,el,ep,"\u2210","\\coprod"),ei(es,el,ep,"\u22C1","\\bigvee"),ei(es,el,ep,"\u22C0","\\bigwedge"),ei(es,el,ep,"\u2A04","\\biguplus"),ei(es,el,ep,"\u22C2","\\bigcap"),ei(es,el,ep,"\u22C3","\\bigcup"),ei(es,el,ep,"\u222B","\\int"),ei(es,el,ep,"\u222B","\\intop"),ei(es,el,ep,"\u222C","\\iint"),ei(es,el,ep,"\u222D","\\iiint"),ei(es,el,ep,"\u220F","\\prod"),ei(es,el,ep,"\u2211","\\sum"),ei(es,el,ep,"\u2A02","\\bigotimes"),ei(es,el,ep,"\u2A01","\\bigoplus"),ei(es,el,ep,"\u2A00","\\bigodot"),ei(es,el,ep,"\u222E","\\oint"),ei(es,el,ep,"\u222F","\\oiint"),ei(es,el,ep,"\u2230","\\oiiint"),ei(es,el,ep,"\u2A06","\\bigsqcup"),ei(es,el,ep,"\u222B","\\smallint"),ei(eo,el,ec,"\u2026","\\textellipsis"),ei(es,el,ec,"\u2026","\\mathellipsis"),ei(eo,el,ec,"\u2026","\\ldots",!0),ei(es,el,ec,"\u2026","\\ldots",!0),ei(es,el,ec,"\u22EF","\\@cdots",!0),ei(es,el,ec,"\u22F1","\\ddots",!0),ei(es,el,ev,"\u22EE","\\varvdots"),ei(eo,el,ev,"\u22EE","\\varvdots"),ei(es,el,eh,"\u02CA","\\acute"),ei(es,el,eh,"\u02CB","\\grave"),ei(es,el,eh,"\xa8","\\ddot"),ei(es,el,eh,"~","\\tilde"),ei(es,el,eh,"\u02C9","\\bar"),ei(es,el,eh,"\u02D8","\\breve"),ei(es,el,eh,"\u02C7","\\check"),ei(es,el,eh,"^","\\hat"),ei(es,el,eh,"\u20D7","\\vec"),ei(es,el,eh,"\u02D9","\\dot"),ei(es,el,eh,"\u02DA","\\mathring"),ei(es,el,eu,"\uE131","\\@imath"),ei(es,el,eu,"\uE237","\\@jmath"),ei(es,el,ev,"\u0131","\u0131"),ei(es,el,ev,"\u0237","\u0237"),ei(eo,el,ev,"\u0131","\\i",!0),ei(eo,el,ev,"\u0237","\\j",!0),ei(eo,el,ev,"\xdf","\\ss",!0),ei(eo,el,ev,"\xe6","\\ae",!0),ei(eo,el,ev,"\u0153","\\oe",!0),ei(eo,el,ev,"\xf8","\\o",!0),ei(eo,el,ev,"\xc6","\\AE",!0),ei(eo,el,ev,"\u0152","\\OE",!0),ei(eo,el,ev,"\xd8","\\O",!0),ei(eo,el,eh,"\u02CA","\\'"),ei(eo,el,eh,"\u02CB","\\`"),ei(eo,el,eh,"\u02C6","\\^"),ei(eo,el,eh,"\u02DC","\\~"),ei(eo,el,eh,"\u02C9","\\="),ei(eo,el,eh,"\u02D8","\\u"),ei(eo,el,eh,"\u02D9","\\."),ei(eo,el,eh,"\xb8","\\c"),ei(eo,el,eh,"\u02DA","\\r"),ei(eo,el,eh,"\u02C7","\\v"),ei(eo,el,eh,"\xa8",'\\"'),ei(eo,el,eh,"\u02DD","\\H"),ei(eo,el,eh,"\u25EF","\\textcircled");var eb={"--":!0,"---":!0,"``":!0,"''":!0};ei(eo,el,ev,"\u2013","--",!0),ei(eo,el,ev,"\u2013","\\textendash"),ei(eo,el,ev,"\u2014","---",!0),ei(eo,el,ev,"\u2014","\\textemdash"),ei(eo,el,ev,"\u2018","`",!0),ei(eo,el,ev,"\u2018","\\textquoteleft"),ei(eo,el,ev,"\u2019","'",!0),ei(eo,el,ev,"\u2019","\\textquoteright"),ei(eo,el,ev,"\u201C","``",!0),ei(eo,el,ev,"\u201C","\\textquotedblleft"),ei(eo,el,ev,"\u201D","''",!0),ei(eo,el,ev,"\u201D","\\textquotedblright"),ei(es,el,ev,"\xb0","\\degree",!0),ei(eo,el,ev,"\xb0","\\degree"),ei(eo,el,ev,"\xb0","\\textdegree",!0),ei(es,el,ev,"\xa3","\\pounds"),ei(es,el,ev,"\xa3","\\mathsterling",!0),ei(eo,el,ev,"\xa3","\\pounds"),ei(eo,el,ev,"\xa3","\\textsterling",!0),ei(es,"ams",ev,"\u2720","\\maltese"),ei(eo,"ams",ev,"\u2720","\\maltese");for(var ey='0123456789/@."',ex=0;ex<ey.length;ex++){var ew=ey.charAt(ex);ei(es,el,ev,ew,ew)}for(var ek='0123456789!@*()-=+";:?/.,',ez=0;ez<ek.length;ez++){var eS=ek.charAt(ez);ei(eo,el,ev,eS,eS)}for(var eM="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",eA=0;eA<eM.length;eA++){var eT=eM.charAt(eA);ei(es,el,eu,eT,eT),ei(eo,el,ev,eT,eT)}ei(es,"ams",ev,"C","\u2102"),ei(eo,"ams",ev,"C","\u2102"),ei(es,"ams",ev,"H","\u210D"),ei(eo,"ams",ev,"H","\u210D"),ei(es,"ams",ev,"N","\u2115"),ei(eo,"ams",ev,"N","\u2115"),ei(es,"ams",ev,"P","\u2119"),ei(eo,"ams",ev,"P","\u2119"),ei(es,"ams",ev,"Q","\u211A"),ei(eo,"ams",ev,"Q","\u211A"),ei(es,"ams",ev,"R","\u211D"),ei(eo,"ams",ev,"R","\u211D"),ei(es,"ams",ev,"Z","\u2124"),ei(eo,"ams",ev,"Z","\u2124"),ei(es,el,eu,"h","\u210E"),ei(eo,el,eu,"h","\u210E");for(var eC=0;eC<eM.length;eC++){var eB=eM.charAt(eC);ei(es,el,eu,eB,s=String.fromCharCode(55349,56320+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56372+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56424+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56580+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56684+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56736+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56788+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56840+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56944+eC)),ei(eo,el,ev,eB,s),eC<26&&(ei(es,el,eu,eB,s=String.fromCharCode(55349,56632+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56476+eC)),ei(eo,el,ev,eB,s))}ei(es,el,eu,"k",s=String.fromCharCode(55349,56668)),ei(eo,el,ev,"k",s);for(var eq=0;eq<10;eq++){var eI=eq.toString();ei(es,el,eu,eI,s=String.fromCharCode(55349,57294+eq)),ei(eo,el,ev,eI,s),ei(es,el,eu,eI,s=String.fromCharCode(55349,57314+eq)),ei(eo,el,ev,eI,s),ei(es,el,eu,eI,s=String.fromCharCode(55349,57324+eq)),ei(eo,el,ev,eI,s),ei(es,el,eu,eI,s=String.fromCharCode(55349,57334+eq)),ei(eo,el,ev,eI,s)}for(var eH="\xd0\xde\xfe",eR=0;eR<eH.length;eR++){var eE=eH.charAt(eR);ei(es,el,eu,eE,eE),ei(eo,el,ev,eE,eE)}var eO={mathClass:"mathbf",textClass:"textbf",font:"Main-Bold"},eD={mathClass:"mathnormal",textClass:"textit",font:"Math-Italic"},eN={mathClass:"boldsymbol",textClass:"boldsymbol",font:"Main-BoldItalic"},eL={mathClass:"",textClass:"",font:""},eF={mathClass:"mathfrak",textClass:"textfrak",font:"Fraktur-Regular"},eP={mathClass:"mathbb",textClass:"textbb",font:"AMS-Regular"},eV={mathClass:"mathboldfrak",textClass:"textboldfrak",font:"Fraktur-Regular"},eG={mathClass:"mathsf",textClass:"textsf",font:"SansSerif-Regular"},eU={mathClass:"mathboldsf",textClass:"textboldsf",font:"SansSerif-Bold"},eX={mathClass:"mathitsf",textClass:"textitsf",font:"SansSerif-Italic"},eY={mathClass:"mathtt",textClass:"texttt",font:"Typewriter-Regular"},ej=[eO,eO,eD,eD,eN,eN,{mathClass:"mathscr",textClass:"textscr",font:"Script-Regular"},eL,eL,eL,eF,eF,eP,eP,eV,eV,eG,eG,eU,eU,eX,eX,eL,eL,eY,eY],eW=[eO,eL,eG,eU,eY],e_=function(e,t,r){if(en[r][e]){var a=en[r][e].replace;a&&(e=a)}return{value:e,metrics:er(e,t,r)}},e$=function(e,t,r,a,n){var i,s=e_(e,t,r),o=s.metrics;if(e=s.value,o){var l=o.italic;("text"===r||a&&"mathit"===a.font)&&(l=0),i=new $(e,o.height,o.depth,l,o.skew,o.width,n)}else"u">typeof console&&console.warn("No character metrics "+("for '"+e+"' in style '"+t+"' and mode '")+r+"'"),i=new $(e,0,0,0,0,0,n);if(a){i.maxFontSize=a.sizeMultiplier,a.style.isTight()&&i.classes.push("mtight");var h=a.getColor();h&&(i.style.color=h)}return i},eZ=function(e,t,r,a){return(void 0===a&&(a=[]),"boldsymbol"===r.font&&e_(e,"Main-Bold",t).metrics)?e$(e,"Main-Bold",t,r,a.concat(["mathbf"])):"\\"===e||"main"===en[t][e].font?e$(e,"Main-Regular",t,r,a):e$(e,"AMS-Regular",t,r,a.concat(["amsrm"]))},eK=function(e,t,r){var n=e.mode,i=e.text,s=["mord"],{font:o,fontFamily:l,fontWeight:h,fontShape:m}=t,c="math"===n||"text"===n&&!!o,u=c?o:l,p="",d="";if(55349===i.charCodeAt(0)){var g=(e=>{var t=(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320)+65536;if(119808<=t&&t<120484)return ej[Math.floor((t-119808)/26)];if(120782<=t&&t<=120831)return eW[Math.floor((t-120782)/10)];if(120485===t||120486===t)return ej[0];if(120486<t&&t<120782)return eL;throw new a("Unsupported character: "+e)})(i);p=g.font,d=g[n+"Class"]}if(p)return e$(i,p,n,t,s.concat(d));if(u){if("boldsymbol"===u){var f,v,b="textord"!==r&&e_(i,"Math-BoldItalic",n).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"};f=b.fontName,v=[b.fontClass]}else c?(f=tt[o].fontName,v=[o]):(f=te(l,h,m),v=[l,h,m]);if(e_(i,f,n).metrics)return e$(i,f,n,t,s.concat(v));if(eb.hasOwnProperty(i)&&"Typewriter"===f.slice(0,10)){for(var y=[],x=0;x<i.length;x++)y.push(e$(i[x],f,n,t,s.concat(v)));return e7(y)}}if("mathord"===r)return e$(i,"Math-Italic",n,t,s.concat(["mathnormal"]));if("textord"===r){var w=en[n][i]&&en[n][i].font;if("ams"===w)return e$(i,te("amsrm",h,m),n,t,s.concat("amsrm",h,m));if("main"===w||!w)return e$(i,te("textrm",h,m),n,t,s.concat(h,m));var k=te(w,h,m);return e$(i,k,n,t,s.concat(k,h,m))}throw Error("unexpected type: "+r+" in makeOrd")},eJ=(e,t)=>{if(F(e.classes)!==F(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||0!==e.italic&&e.hasClass("mathnormal"))return!1;if(1===e.classes.length){var r=e.classes[0];if("mbin"===r||"mord"===r)return!1}for(var a of Object.keys(e.style))if(e.style[a]!==t.style[a])return!1;for(var n of Object.keys(t.style))if(e.style[n]!==t.style[n])return!1;return!0},eQ=e=>{for(var t=0;t<e.length-1;t++){var r=e[t],a=e[t+1];r instanceof $&&a instanceof $&&eJ(r,a)&&(r.text+=a.text,r.height=Math.max(r.height,a.height),r.depth=Math.max(r.depth,a.depth),r.italic=a.italic,e.splice(t+1,1),t--)}return e},e0=function(e){for(var t=0,r=0,a=0,n=0;n<e.children.length;n++){var i=e.children[n];i.height>t&&(t=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>a&&(a=i.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=a},e1=function(e,t,r,a){var n=new Y(e,t,r,a);return e0(n),n},e4=(e,t,r,a)=>new Y(e,t,r,a),e5=function(e,t,r){var a=e1([e],[],t);return a.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),a.style.borderBottomWidth=L(a.height),a.maxFontSize=1,a},e6=function(e,t,r,a){var n=new j(e,t,r,a);return e0(n),n},e7=function(e){var t=new R(e);return e0(t),t},e3=function(e,t){return e instanceof R?e1([],[e],t):e},e8=function(e){if("individualShift"===e.positionType){for(var t,r=e.children,a=[r[0]],n=-r[0].shift-r[0].elem.depth,i=n,s=1;s<r.length;s++){var o=-r[s].shift-i-r[s].elem.depth,l=o-(r[s-1].elem.height+r[s-1].elem.depth);i+=o,a.push({type:"kern",size:l}),a.push(r[s])}return{children:a,depth:n}}if("top"===e.positionType){for(var h=e.positionData,m=0;m<e.children.length;m++){var c=e.children[m];h-="kern"===c.type?c.size:c.elem.height+c.elem.depth}t=h}else if("bottom"===e.positionType)t=-e.positionData;else{var u=e.children[0];if("elem"!==u.type)throw Error('First child must have type "elem".');if("shift"===e.positionType)t=-u.elem.depth-e.positionData;else if("firstBaseline"===e.positionType)t=-u.elem.depth;else throw Error("Invalid positionType "+e.positionType+".")}return{children:e.children,depth:t}},e2=function(e,t){for(var r,{children:a,depth:n}=e8(e),i=0,s=0;s<a.length;s++){var o=a[s];if("elem"===o.type){var l=o.elem;i=Math.max(i,l.maxFontSize,l.height)}}i+=2;var h=e1(["pstrut"],[]);h.style.height=L(i);for(var m=[],c=n,u=n,p=n,d=0;d<a.length;d++){var g=a[d];if("kern"===g.type)p+=g.size;else{var f=g.elem,v=e1(g.wrapperClasses||[],[h,f],void 0,g.wrapperStyle||{});v.style.top=L(-i-p-f.depth),g.marginLeft&&(v.style.marginLeft=g.marginLeft),g.marginRight&&(v.style.marginRight=g.marginRight),m.push(v),p+=f.height+f.depth}c=Math.min(c,p),u=Math.max(u,p)}var b=e1(["vlist"],m);if(b.style.height=L(u),c<0){var y=e1([],[]),x=e1(["vlist"],[y]);x.style.height=L(-c);var w=e1(["vlist-s"],[new $("\u200B")]);r=[e1(["vlist-r"],[b,w]),e1(["vlist-r"],[x])]}else r=[e1(["vlist-r"],[b])];var k=e1(["vlist-t"],r);return 2===r.length&&k.classes.push("vlist-t2"),k.height=u,k.depth=-c,k},e9=(e,t)=>{var r=e1(["mspace"],[],t),a=N(e,t);return r.style.marginRight=L(a),r},te=(e,t,r)=>{var a;switch(e){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=e}return a+"-"+("textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===r?"Italic":"Regular")},tt={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"}},tr={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},ta=function(e,t){var[r,a,n]=tr[e],i=e4(["overlay"],[new Z([new K(r)],{width:L(a),height:L(n),style:"width:"+L(a),viewBox:"0 0 "+1e3*a+" "+1e3*n,preserveAspectRatio:"xMinYMin"})],t);return i.height=n,i.style.height=L(n),i.style.width=L(a),i},tn={number:3,unit:"mu"},ti={number:4,unit:"mu"},ts={number:5,unit:"mu"},to={mord:{mop:tn,mbin:ti,mrel:ts,minner:tn},mop:{mord:tn,mop:tn,mrel:ts,minner:tn},mbin:{mord:ti,mop:ti,mopen:ti,minner:ti},mrel:{mord:ts,mop:ts,mopen:ts,minner:ts},mopen:{},mclose:{mop:tn,mbin:ti,mrel:ts,minner:tn},mpunct:{mord:tn,mop:tn,mrel:ts,mopen:tn,mclose:tn,mpunct:tn,minner:tn},minner:{mord:tn,mop:tn,mbin:ti,mrel:ts,mopen:tn,mpunct:tn,minner:tn}},tl={mord:{mop:tn},mop:{mord:tn,mop:tn},mbin:{},mrel:{},mopen:{},mclose:{mop:tn},mpunct:{},minner:{mop:tn}},th={},tm={},tc={};function tu(e){for(var{type:t,names:r,props:a,handler:n,htmlBuilder:i,mathmlBuilder:s}=e,o={type:t,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:void 0===a.allowedInMath||a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:n},l=0;l<r.length;++l)th[r[l]]=o;t&&(i&&(tm[t]=i),s&&(tc[t]=s))}function tp(e){var{type:t,htmlBuilder:r,mathmlBuilder:a}=e;tu({type:t,names:[],props:{numArgs:0},handler(){throw Error("Should never be called.")},htmlBuilder:r,mathmlBuilder:a})}var td=function(e){return"ordgroup"===e.type&&1===e.body.length?e.body[0]:e},tg=function(e){return"ordgroup"===e.type?e.body:[e]},tf=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),tv=new Set(["rightmost","mrel","mclose","mpunct"]),tb={display:M.DISPLAY,text:M.TEXT,script:M.SCRIPT,scriptscript:M.SCRIPTSCRIPT},ty={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},tx=function(e,t,r,a){void 0===a&&(a=[null,null]);for(var n=[],i=0;i<e.length;i++){var s=tA(e[i],t);if(s instanceof R){var o=s.children;n.push(...o)}else n.push(s)}if(eQ(n),!r)return n;var l=t;if(1===e.length){var h=e[0];"sizing"===h.type?l=t.havingSize(h.size):"styling"===h.type&&(l=t.havingStyle(tb[h.style]))}var m=e1([a[0]||"leftmost"],[],t),c=e1([a[1]||"rightmost"],[],t),u="root"===r;return tw(n,(e,t)=>{var r=t.classes[0],a=e.classes[0];"mbin"===r&&tv.has(a)?t.classes[0]="mord":"mbin"===a&&tf.has(r)&&(e.classes[0]="mord")},{node:m},c,u),tw(n,(e,t)=>{var r,a,n=tS(t),i=tS(e),s=n&&i?e.hasClass("mtight")?null==(r=tl[n])?void 0:r[i]:null==(a=to[n])?void 0:a[i]:null;if(s)return e9(s,l)},{node:m},c,u),n},tw=function(e,t,r,a,n){a&&e.push(a);for(var i=0;i<e.length;i++){let a;var s=e[i],o=tk(s);if(o){tw(o.children,t,r,null,n);continue}var l=!s.hasClass("mspace");if(l){var h=t(s,r.node);h&&(r.insertAfter?r.insertAfter(h):(e.unshift(h),i++))}l?r.node=s:n&&s.hasClass("newline")&&(r.node=e1(["leftmost"])),a=i,r.insertAfter=t=>{e.splice(a+1,0,t),i++}}a&&e.pop()},tk=function(e){return e instanceof R||e instanceof j||e instanceof Y&&e.hasClass("enclosing")?e:null},tz=function(e,t){var r=tk(e);if(r){var a=r.children;if(a.length){if("right"===t)return tz(a[a.length-1],"right");else if("left"===t)return tz(a[0],"left")}}return e},tS=function(e,t){return e?(t&&(e=tz(e,t)),ty[e.classes[0]]||null):null},tM=function(e,t){var r=["nulldelimiter"].concat(e.baseSizingClasses());return e1(t.concat(r))},tA=function(e,t,r){if(!e)return e1();if(tm[e.type]){var n=tm[e.type](e,t);if(r&&t.size!==r.size){n=e1(t.sizingClasses(r),[n],t);var i=t.sizeMultiplier/r.sizeMultiplier;n.height*=i,n.depth*=i}return n}throw new a("Got group of unknown type: '"+e.type+"'")};function tT(e,t){var r=e1(["base"],e,t),a=e1(["strut"]);return a.style.height=L(r.height+r.depth),r.depth&&(a.style.verticalAlign=L(-r.depth)),r.children.unshift(a),r}function tC(e,t){var r,a,n=null;1===e.length&&"tag"===e[0].type&&(n=e[0].tag,e=e[0].body);var i=tx(e,t,"root");2===i.length&&i[1].hasClass("tag")&&(r=i.pop());for(var s=[],o=[],l=0;l<i.length;l++)if(o.push(i[l]),i[l].hasClass("mbin")||i[l].hasClass("mrel")||i[l].hasClass("allowbreak")){for(var h=!1;l<i.length-1&&i[l+1].hasClass("mspace")&&!i[l+1].hasClass("newline");)l++,o.push(i[l]),i[l].hasClass("nobreak")&&(h=!0);h||(s.push(tT(o,t)),o=[])}else i[l].hasClass("newline")&&(o.pop(),o.length>0&&(s.push(tT(o,t)),o=[]),s.push(i[l]));o.length>0&&s.push(tT(o,t)),n?((a=tT(tx(n,t,!0),t)).classes=["tag"],s.push(a)):r&&s.push(r);var m=e1(["katex-html"],s);if(m.setAttribute("aria-hidden","true"),a){var c=a.children[0];c.style.height=L(m.height+m.depth),m.depth&&(c.style.verticalAlign=L(-m.depth))}return m}class tB{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=F(this.classes));for(var r=0;r<this.children.length;r++)if(this.children[r]instanceof tq&&this.children[r+1]instanceof tq){for(var a=this.children[r].toText()+this.children[++r].toText();this.children[r+1]instanceof tq;)a+=this.children[++r].toText();e.appendChild(new tq(a).toNode())}else e.appendChild(this.children[r].toNode());return e}toMarkup(){var e="<"+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="',e+=c(this.attributes[t]),e+='"');this.classes.length>0&&(e+=' class ="'+c(F(this.classes))+'"'),e+=">";for(var r=0;r<this.children.length;r++)e+=this.children[r].toMarkup();return e+("</"+this.type+">")}toText(){return this.children.map(e=>e.toText()).join("")}}class tq{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return c(this.toText())}toText(){return this.text}}class tI{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",L(this.width)),e}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+L(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var tH=new Set(["\\imath","\\jmath"]),tR=new Set(["mrow","mtable"]),tE=function(e,t,r){return en[t][e]&&en[t][e].replace&&55349!==e.charCodeAt(0)&&!(eb.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6)))&&(e=en[t][e].replace),new tq(e)},tO=function(e){return 1===e.length?e[0]:new tB("mrow",e)},tD={mathit:"italic",boldsymbol:e=>"textord"===e.type?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},tN=(e,t)=>{if("text"===e.mode){if("texttt"===t.fontFamily)return"monospace";else if("textsf"===t.fontFamily)if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"sans-serif-bold-italic";else if("textit"===t.fontShape)return"sans-serif-italic";else if("textbf"===t.fontWeight)return"bold-sans-serif";else return"sans-serif";else if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";else if("textit"===t.fontShape)return"italic";else if("textbf"===t.fontWeight)return"bold"}var r=t.font;if(!r||"mathnormal"===r)return null;var a=e.mode,n=tD[r];if(n)return"function"==typeof n?n(e):n;var i=e.text;if(tH.has(i))return null;if(en[a][i]){var s=en[a][i].replace;s&&(i=s)}return er(i,tt[r].fontName,a)?tt[r].variant:null};function tL(e){if(!e)return!1;if("mi"===e.type&&1===e.children.length){var t=e.children[0];return t instanceof tq&&"."===t.text}if("mo"!==e.type||1!==e.children.length||"true"!==e.getAttribute("separator")||"0em"!==e.getAttribute("lspace")||"0em"!==e.getAttribute("rspace"))return!1;var r=e.children[0];return r instanceof tq&&","===r.text}var tF=function(e,t,r){if(1===e.length){var a,n=tV(e[0],t);return r&&n instanceof tB&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var i=[],s=0;s<e.length;s++){var o=tV(e[s],t);if(o instanceof tB&&a instanceof tB){if("mtext"===o.type&&"mtext"===a.type&&o.getAttribute("mathvariant")===a.getAttribute("mathvariant")){a.children.push(...o.children);continue}else if("mn"===o.type&&"mn"===a.type){a.children.push(...o.children);continue}else if(tL(o)&&"mn"===a.type){a.children.push(...o.children);continue}else if("mn"===o.type&&tL(a))o.children=[...a.children,...o.children],i.pop();else if(("msup"===o.type||"msub"===o.type)&&o.children.length>=1&&("mn"===a.type||tL(a))){var l=o.children[0];l instanceof tB&&"mn"===l.type&&(l.children=[...a.children,...l.children],i.pop())}else if("mi"===a.type&&1===a.children.length){var h=a.children[0];if(h instanceof tq&&"\u0338"===h.text&&("mo"===o.type||"mi"===o.type||"mn"===o.type)){var m=o.children[0];m instanceof tq&&m.text.length>0&&(m.text=m.text.slice(0,1)+"\u0338"+m.text.slice(1),i.pop())}}}i.push(o),a=o}return i},tP=function(e,t,r){return tO(tF(e,t,r))},tV=function(e,t){if(!e)return new tB("mrow");if(tc[e.type])return tc[e.type](e,t);throw new a("Got group of unknown type: '"+e.type+"'")};function tG(e,t,r,a,n){var i,s=tF(e,r);i=1===s.length&&s[0]instanceof tB&&tR.has(s[0].type)?s[0]:new tB("mrow",s);var o=new tB("annotation",[new tq(t)]);o.setAttribute("encoding","application/x-tex");var l=new tB("semantics",[i,o]),h=new tB("math",[l]);return h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&h.setAttribute("display","block"),e1([n?"katex":"katex-mathml"],[h])}var tU=[[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]],tX=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],tY=function(e,t){return t.size<2?e:tU[e-1][t.size-1]};class tj{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||tj.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=tX[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={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(t,e),new tj(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:tY(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:tX[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=tY(tj.BASESIZE,e);return this.size===t&&this.textSize===tj.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==tj.BASESIZE?["sizing","reset-size"+this.size,"size"+tj.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){var t;if(!ea[t=e>=5?0:e>=3?1:2]){var r=ea[t]={cssEmPerMu:ee.quad[t]/18};for(var a in ee)ee.hasOwnProperty(a)&&(r[a]=ee[a][t])}return ea[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}tj.BASESIZE=6;var tW=function(e){return new tj({style:e.displayMode?M.DISPLAY:M.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},t_=function(e,t){if(t.displayMode){var r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=e1(r,[e])}return e},t$=function(e,t,r){var a=tW(r);return"mathml"===r.output?tG(e,t,a,r.displayMode,!0):t_("html"===r.output?e1(["katex"],[tC(e,a)]):e1(["katex"],[tG(e,t,a,r.displayMode,!1),tC(e,a)]),r)},tZ={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",underbracket:"\u23B5",overbracket:"\u23B4",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},tK=function(e){var t=new tB("mo",[new tq(tZ[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},tJ={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]},tQ=new Set(["widehat","widecheck","widetilde","utilde"]),t0=function(e,t){var{span:r,minWidth:a,height:n}=function(){var r=4e5,a=e.label.slice(1);if(tQ.has(a)&&"base"in e){var n,i,s,o="ordgroup"===e.base.type?e.base.body.length:1;if(o>5)"widehat"===a||"widecheck"===a?(n=420,r=2364,s=.42,i=a+"4"):(n=312,r=2340,s=.34,i="tilde4");else{var l=[1,1,2,2,3,3][o];"widehat"===a||"widecheck"===a?(r=[0,1062,2364,2364,2364][l],n=[0,239,300,360,420][l],s=[0,.24,.3,.3,.36,.42][l],i=a+l):(r=[0,600,1033,2339,2340][l],n=[0,260,286,306,312][l],s=[0,.26,.286,.3,.306,.34][l],i="tilde"+l)}return{span:e4([],[new Z([new K(i)],{width:"100%",height:L(s),viewBox:"0 0 "+r+" "+n,preserveAspectRatio:"none"})],t),minWidth:0,height:s}}var h,m,c=[],u=tJ[a];if(!u)throw Error('No SVG data for "'+a+'".');var[p,d,g]=u,f=g/1e3,v=p.length;if(1===v){if(4!==u.length)throw Error('Expected 4-tuple for single-path SVG data "'+a+'".');h=["hide-tail"],m=[u[3]]}else if(2===v)h=["halfarrow-left","halfarrow-right"],m=["xMinYMin","xMaxYMin"];else if(3===v)h=["brace-left","brace-center","brace-right"],m=["xMinYMin","xMidYMin","xMaxYMin"];else throw Error("Correct katexImagesData or update code here to support\n "+v+" children.");for(var b=0;b<v;b++){var y=new Z([new K(p[b])],{width:"400em",height:L(f),viewBox:"0 0 "+r+" "+g,preserveAspectRatio:m[b]+" slice"}),x=e4([h[b]],[y],t);if(1===v)return{span:x,minWidth:d,height:f};x.style.height=L(f),c.push(x)}return{span:e1(["stretchy"],c,t),minWidth:d,height:f}}();return r.height=n,r.style.height=L(n),a>0&&(r.style.minWidth=L(a)),r},t1=function(e,t,r,a,n){var i,s=e.height+e.depth+r+a;if(/fbox|color|angl/.test(t)){if(i=e1(["stretchy",t],[],n),"fbox"===t){var o=n.color&&n.getColor();o&&(i.style.borderColor=o)}}else{var l=[];/^[bx]cancel$/.test(t)&&l.push(new J({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&l.push(new J({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"})),i=e4([],[new Z(l,{width:"100%",height:L(s)})],n)}return i.height=s,i.style.height=L(s),i},t4={bin:1,close:1,inner:1,open:1,punct:1,rel:1},t5={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};function t6(e,t){if(!e||e.type!==t)throw Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function t7(e){var t=t3(e);if(!t)throw Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function t3(e){return e&&("atom"===e.type||t5.hasOwnProperty(e.type))?e:null}var t8=e=>e instanceof $?e:(e instanceof Y||e instanceof j||e instanceof R)&&1===e.children.length?t8(e.children[0]):void 0,t2=(e,t)=>{e&&"supsub"===e.type?(o=(l=t6(e.base,"accent")).base,e.base=o,h=function(e){if(e instanceof Y)return e;throw Error("Expected span<HtmlDomNode> but got "+String(e)+".")}(tA(e,t)),e.base=l):o=(l=t6(e,"accent")).base;var r=tA(o,t.havingCrampedStyle()),a=l.isShifty&&d(o),n=0;a&&(n=null!=(m=null==(c=t8(r))?void 0:c.skew)?m:0);var i="\\c"===l.label,s=i?r.height+r.depth:Math.min(r.height,t.fontMetrics().xHeight);if(l.isStretchy)g=e2({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"elem",elem:g=t0(l,t),wrapperClasses:["svg-align"],wrapperStyle:n>0?{width:"calc(100% - "+L(2*n)+")",marginLeft:L(2*n)}:void 0}]});else{"\\vec"===l.label?(u=ta("vec",t),p=tr.vec[1]):((u=function(e){if(e instanceof $)return e;throw Error("Expected symbolNode but got "+String(e)+".")}(u=eK({type:"textord",mode:l.mode,text:l.label},t,"textord"))).italic=0,p=u.width,i&&(s+=u.depth));var o,l,h,m,c,u,p,g=e1(["accent-body"],[u]),f="\\textcircled"===l.label;f&&(g.classes.push("accent-full"),s=r.height);var v=n;f||(v-=p/2),g.style.left=L(v),"\\textcircled"===l.label&&(g.style.top=".2em"),g=e2({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:-s},{type:"elem",elem:g}]})}var b=e1(["mord","accent"],[g],t);return h?(h.children[0]=b,h.height=Math.max(b.height,h.height),h.classes[0]="mord",h):b},t9=(e,t)=>{var r=e.isStretchy?tK(e.label):new tB("mo",[tE(e.label,e.mode)]),a=new tB("mover",[tV(e.base,t),r]);return a.setAttribute("accent","true"),a},re=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|"));tu({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:(e,t)=>{var r=td(t[0]),a=!re.test(e.funcName),n=!a||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,isShifty:n,base:r}},htmlBuilder:t2,mathmlBuilder:t9}),tu({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{var r=t[0],a=e.parser.mode;return"math"===a&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:t2,mathmlBuilder:t9}),tu({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"accentUnder",mode:r.mode,label:a,base:n}},htmlBuilder:(e,t)=>{var r=tA(e.base,t),a=t0(e,t),n=.12*("\\utilde"===e.label);return e1(["mord","accentunder"],[e2({positionType:"top",positionData:r.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:r}]})],t)},mathmlBuilder:(e,t)=>{var r=tK(e.label),a=new tB("munder",[tV(e.base,t),r]);return a.setAttribute("accentunder","true"),a}});var rt=e=>{var t=new tB("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};function rr(e,t){var r=tx(e.body,t,!0);return e1([e.mclass],r,t)}function ra(e,t){var r,a=tF(e.body,t);return"minner"===e.mclass?r=new tB("mpadded",a):"mord"===e.mclass?e.isCharacterBox?(r=a[0]).type="mi":r=new tB("mi",a):(e.isCharacterBox?(r=a[0]).type="mo":r=new tB("mo",a),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}tu({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(e,t,r){var{parser:a,funcName:n}=e;return{type:"xArrow",mode:a.mode,label:n,body:t[0],below:r[0]}},htmlBuilder(e,t){var r,a,n=t.style,i=t.havingStyle(n.sup()),s=e3(tA(e.body,i,t),t),o="\\x"===e.label.slice(0,2)?"x":"cd";s.classes.push(o+"-arrow-pad"),e.below&&(i=t.havingStyle(n.sub()),(r=e3(tA(e.below,i,t),t)).classes.push(o+"-arrow-pad"));var l=t0(e,t),h=-t.fontMetrics().axisHeight+.5*l.height,m=-t.fontMetrics().axisHeight-.5*l.height-.111;if((s.depth>.25||"\\xleftequilibrium"===e.label)&&(m-=s.depth),r){var c=-t.fontMetrics().axisHeight+r.height+.5*l.height+.111;a=e2({positionType:"individualShift",children:[{type:"elem",elem:s,shift:m},{type:"elem",elem:l,shift:h,wrapperClasses:["svg-align"]},{type:"elem",elem:r,shift:c}]})}else a=e2({positionType:"individualShift",children:[{type:"elem",elem:s,shift:m},{type:"elem",elem:l,shift:h,wrapperClasses:["svg-align"]}]});return e1(["mrel","x-arrow"],[a],t)},mathmlBuilder(e,t){var r,a=tK(e.label);if(a.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){var n=rt(tV(e.body,t));r=e.below?new tB("munderover",[a,rt(tV(e.below,t)),n]):new tB("mover",[a,n])}else r=e.below?new tB("munder",[a,rt(tV(e.below,t))]):new tB("mover",[a,r=rt()]);return r}}),tu({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+a.slice(5),body:tg(n),isCharacterBox:d(n)}},htmlBuilder:rr,mathmlBuilder:ra});var rn=e=>{var t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"===t.type&&("bin"===t.family||"rel"===t.family)?"m"+t.family:"mord"};tu({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){var{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:rn(t[0]),body:tg(t[1]),isCharacterBox:d(t[1])}}}),tu({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){var r,{parser:a,funcName:n}=e,i=t[1],s=t[0];r="\\stackrel"!==n?rn(i):"mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:tg(i)},l={type:"supsub",mode:s.mode,base:o,sup:"\\underset"===n?null:s,sub:"\\underset"===n?s:null};return{type:"mclass",mode:a.mode,mclass:r,body:[l],isCharacterBox:d(l)}},htmlBuilder:rr,mathmlBuilder:ra}),tu({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:rn(t[0]),body:tg(t[0])}},htmlBuilder(e,t){var r=tx(e.body,t,!0),a=e1([e.mclass],r,t);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(e,t){var r=new tB("mstyle",tF(e.body,t));return r.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),r}});var ri={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},rs=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),ro=e=>"textord"===e.type&&"@"===e.text,rl=(e,t)=>("mathord"===e.type||"atom"===e.type)&&e.text===t;tu({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e;return{type:"cdlabel",mode:r.mode,side:a.slice(4),label:t[0]}},htmlBuilder(e,t){var r=t.havingStyle(t.style.sup()),a=e3(tA(e.label,r,t),t);return a.classes.push("cd-label-"+e.side),a.style.bottom=L(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(e,t){var r=new tB("mrow",[tV(e.label,t)]);return(r=new tB("mpadded",[r])).setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),(r=new tB("mstyle",[r])).setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),tu({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){var{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){var r=e3(tA(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder:(e,t)=>new tB("mrow",[tV(e.fragment,t)])}),tu({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){for(var r,{parser:n}=e,i=t6(t[0],"ordgroup").body,s="",o=0;o<i.length;o++)s+=t6(i[o],"textord").text;var l=parseInt(s);if(isNaN(l))throw new a("\\@char has non-numeric argument "+s);if(l<0||l>=1114111)throw new a("\\@char with invalid code point "+s);return l<=65535?r=String.fromCharCode(l):(l-=65536,r=String.fromCharCode((l>>10)+55296,(1023&l)+56320)),{type:"textord",mode:n.mode,text:r}}});var rh=(e,t)=>e7(tx(e.body,t.withColor(e.color),!1)),rm=(e,t)=>{var r=new tB("mstyle",tF(e.body,t.withColor(e.color)));return r.setAttribute("mathcolor",e.color),r};tu({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){var{parser:r}=e,a=t6(t[0],"color-token").color,n=t[1];return{type:"color",mode:r.mode,color:a,body:tg(n)}},htmlBuilder:rh,mathmlBuilder:rm}),tu({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){var{parser:r,breakOnTokenText:a}=e,n=t6(t[0],"color-token").color;r.gullet.macros.set("\\current@color",n);var i=r.parseExpression(!0,a);return{type:"color",mode:r.mode,color:n,body:i}},htmlBuilder:rh,mathmlBuilder:rm}),tu({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){var{parser:a}=e,n="["===a.gullet.future().text?a.parseSizeGroup(!0):null,i=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:i,size:n&&t6(n,"size").value}},htmlBuilder(e,t){var r=e1(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=L(N(e.size,t)))),r},mathmlBuilder(e,t){var r=new tB("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",L(N(e.size,t)))),r}});var rc={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},ru=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new a("Expected a control sequence",e);return t},rp=(e,t,r,a)=>{var n=e.gullet.macros.get(r.text);null==n&&(r.noexpand=!0,n={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,n,a)};tu({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t,funcName:r}=e;t.consumeSpaces();var n=t.fetch();if(rc[n.text])return("\\global"===r||"\\\\globallong"===r)&&(n.text=rc[n.text]),t6(t.parseFunction(),"internal");throw new a("Invalid token after macro prefix",n)}}),tu({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var t,{parser:r,funcName:n}=e,i=r.gullet.popToken(),s=i.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new a("Expected a control sequence",i);for(var o=0,l=[[]];"{"!==r.gullet.future().text;)if("#"===(i=r.gullet.popToken()).text){if("{"===r.gullet.future().text){t=r.gullet.future(),l[o].push("{");break}if(i=r.gullet.popToken(),!/^[1-9]$/.test(i.text))throw new a('Invalid argument number "'+i.text+'"');if(parseInt(i.text)!==o+1)throw new a('Argument number "'+i.text+'" out of order');o++,l.push([])}else if("EOF"===i.text)throw new a("Expected a macro definition");else l[o].push(i.text);var{tokens:h}=r.gullet.consumeArg();return t&&h.unshift(t),("\\edef"===n||"\\xdef"===n)&&(h=r.gullet.expandTokens(h)).reverse(),r.gullet.macros.set(s,{tokens:h,numArgs:o,delimiters:l},n===rc[n]),{type:"internal",mode:r.mode}}}),tu({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var t,{parser:r,funcName:a}=e,n=ru(r.gullet.popToken());r.gullet.consumeSpaces();var i=("="===(t=r.gullet.popToken()).text&&" "===(t=r.gullet.popToken()).text&&(t=r.gullet.popToken()),t);return rp(r,n,i,"\\\\globallet"===a),{type:"internal",mode:r.mode}}}),tu({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:r}=e,a=ru(t.gullet.popToken()),n=t.gullet.popToken(),i=t.gullet.popToken();return rp(t,a,i,"\\\\globalfuture"===r),t.gullet.pushToken(i),t.gullet.pushToken(n),{type:"internal",mode:t.mode}}});var rd=function(e,t,r){var a=er(en.math[e]&&en.math[e].replace||e,t,r);if(!a)throw Error("Unsupported symbol "+e+" and font size "+t+".");return a},rg=function(e,t,r,a){var n=r.havingBaseStyle(t),i=e1(a.concat(n.sizingClasses(r)),[e],r),s=n.sizeMultiplier/r.sizeMultiplier;return i.height*=s,i.depth*=s,i.maxFontSize=n.sizeMultiplier,i},rf=function(e,t,r){var a=t.havingBaseStyle(r),n=(1-t.sizeMultiplier/a.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=L(n),e.height-=n,e.depth+=n},rv=function(e,t,r,a,n,i){var s=rg(e$(e,"Main-Regular",n,a),t,a,i);return r&&rf(s,a,t),s},rb=function(e,t,r,a,n,i){var s=e$(e,"Size"+t+"-Regular",n,a),o=rg(e1(["delimsizing","size"+t],[s],a),M.TEXT,a,i);return r&&rf(o,a,M.TEXT),o},ry=function(e,t,r){return{type:"elem",elem:e1(["delimsizinginner","Size1-Regular"===t?"delim-size1":"delim-size4"],[e1([],[e$(e,t,r)])])}},rx=function(e,t,r){var a=Q["Size4-Regular"][e.charCodeAt(0)]?Q["Size4-Regular"][e.charCodeAt(0)][4]:Q["Size1-Regular"][e.charCodeAt(0)][4],n=e4([],[new Z([new K("inner",q(e,Math.round(1e3*t)))],{width:L(a),height:L(t),style:"width:"+L(a),viewBox:"0 0 "+1e3*a+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"})],r);return n.height=t,n.style.height=L(t),n.style.width=L(a),{type:"elem",elem:n}},rw={type:"kern",size:-.008},rk=new Set(["|","\\lvert","\\rvert","\\vert"]),rz=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),rS=function(e,t,r,a,n,i){var s,o,l,h,m="",c=0;s=l=h=e,o=null;var u="Size1-Regular";"\\uparrow"===e?l=h="\u23D0":"\\Uparrow"===e?l=h="\u2016":"\\downarrow"===e?s=l="\u23D0":"\\Downarrow"===e?s=l="\u2016":"\\updownarrow"===e?(s="\\uparrow",l="\u23D0",h="\\downarrow"):"\\Updownarrow"===e?(s="\\Uparrow",l="\u2016",h="\\Downarrow"):rk.has(e)?(l="\u2223",m="vert",c=333):rz.has(e)?(l="\u2225",m="doublevert",c=556):"["===e||"\\lbrack"===e?(s="\u23A1",l="\u23A2",h="\u23A3",u="Size4-Regular",m="lbrack",c=667):"]"===e||"\\rbrack"===e?(s="\u23A4",l="\u23A5",h="\u23A6",u="Size4-Regular",m="rbrack",c=667):"\\lfloor"===e||"\u230A"===e?(l=s="\u23A2",h="\u23A3",u="Size4-Regular",m="lfloor",c=667):"\\lceil"===e||"\u2308"===e?(s="\u23A1",l=h="\u23A2",u="Size4-Regular",m="lceil",c=667):"\\rfloor"===e||"\u230B"===e?(l=s="\u23A5",h="\u23A6",u="Size4-Regular",m="rfloor",c=667):"\\rceil"===e||"\u2309"===e?(s="\u23A4",l=h="\u23A5",u="Size4-Regular",m="rceil",c=667):"("===e||"\\lparen"===e?(s="\u239B",l="\u239C",h="\u239D",u="Size4-Regular",m="lparen",c=875):")"===e||"\\rparen"===e?(s="\u239E",l="\u239F",h="\u23A0",u="Size4-Regular",m="rparen",c=875):"\\{"===e||"\\lbrace"===e?(s="\u23A7",o="\u23A8",h="\u23A9",l="\u23AA",u="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(s="\u23AB",o="\u23AC",h="\u23AD",l="\u23AA",u="Size4-Regular"):"\\lgroup"===e||"\u27EE"===e?(s="\u23A7",h="\u23A9",l="\u23AA",u="Size4-Regular"):"\\rgroup"===e||"\u27EF"===e?(s="\u23AB",h="\u23AD",l="\u23AA",u="Size4-Regular"):"\\lmoustache"===e||"\u23B0"===e?(s="\u23A7",h="\u23AD",l="\u23AA",u="Size4-Regular"):("\\rmoustache"===e||"\u23B1"===e)&&(s="\u23AB",h="\u23A9",l="\u23AA",u="Size4-Regular");var p=rd(s,u,n),d=p.height+p.depth,g=rd(l,u,n),f=g.height+g.depth,v=rd(h,u,n),b=v.height+v.depth,y=0,x=1;if(null!==o){var w=rd(o,u,n);y=w.height+w.depth,x=2}var k=d+b+y,z=Math.max(0,Math.ceil((t-k)/(x*f))),S=k+z*x*f,A=a.fontMetrics().axisHeight;r&&(A*=a.sizeMultiplier);var T=S/2-A,C=[];if(m.length>0){var B=Math.round(1e3*S),q=H(m,Math.round(1e3*(S-d-b))),I=new K(m,q),R=L(c/1e3),E=L(B/1e3),O=e4([],[new Z([I],{width:R,height:E,viewBox:"0 0 "+c+" "+B})],a);O.height=B/1e3,O.style.width=R,O.style.height=E,C.push({type:"elem",elem:O})}else{if(C.push(ry(h,u,n)),C.push(rw),null===o)C.push(rx(l,S-d-b+.016,a));else{var D=(S-d-b-y)/2+.016;C.push(rx(l,D,a)),C.push(rw),C.push(ry(o,u,n)),C.push(rw),C.push(rx(l,D,a))}C.push(rw),C.push(ry(s,u,n))}var N=a.havingBaseStyle(M.TEXT);return rg(e1(["delimsizing","mult"],[e2({positionType:"bottom",positionData:T,children:C})],N),M.TEXT,a,i)},rM=function(e,t,r,a,n){var i=B(e,a,r);return e4(["hide-tail"],[new Z([new K(e,i)],{width:"400em",height:L(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"})],n)},rA=function(e,t){var r,a,n,i,s,o=t.havingBaseSizing(),l=rD("\\surd",e*o.sizeMultiplier,rE,o),h=o.sizeMultiplier,m=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness);return"small"===l.type?(i=1e3+1e3*m+80,e<1?h=1:e<1.4&&(h=.7),a=(1+m+.08)/h,n=(1+m)/h,(r=rM("sqrtMain",a,i,m,t)).style.minWidth="0.853em",s=.833/h):"large"===l.type?(i=1080*rq[l.size],n=(rq[l.size]+m)/h,a=(rq[l.size]+m+.08)/h,(r=rM("sqrtSize"+l.size,a,i,m,t)).style.minWidth="1.02em",s=1/h):(a=e+m+.08,n=e+m,(r=rM("sqrtTall",a,i=Math.floor(1e3*e+m)+80,m,t)).style.minWidth="0.742em",s=1.056),r.height=n,r.style.height=L(a),{span:r,advanceWidth:s,ruleWidth:(t.fontMetrics().sqrtRuleThickness+m)*h}},rT=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"]),rC=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"]),rB=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),rq=[0,1.2,1.8,2.4,3],rI=function(e,t,r,n,i){if("<"===e||"\\lt"===e||"\u27E8"===e?e="\\langle":(">"===e||"\\gt"===e||"\u27E9"===e)&&(e="\\rangle"),rT.has(e)||rB.has(e))return rb(e,t,!1,r,n,i);if(rC.has(e))return rS(e,rq[t],!1,r,n,i);throw new a("Illegal delimiter: '"+e+"'")},rH=[{type:"small",style:M.SCRIPTSCRIPT},{type:"small",style:M.SCRIPT},{type:"small",style:M.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],rR=[{type:"small",style:M.SCRIPTSCRIPT},{type:"small",style:M.SCRIPT},{type:"small",style:M.TEXT},{type:"stack"}],rE=[{type:"small",style:M.SCRIPTSCRIPT},{type:"small",style:M.SCRIPT},{type:"small",style:M.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],rO=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw Error("Add support for delim type '"+e.type+"' here.")},rD=function(e,t,r,a){for(var n=Math.min(2,3-a.style.size),i=n;i<r.length;i++){var s=r[i];if("stack"===s.type)break;var o=rd(e,rO(s),"math"),l=o.height+o.depth;if("small"===s.type&&(l*=a.havingBaseStyle(s.style).sizeMultiplier),l>t)return s}return r[r.length-1]},rN=function(e,t,r,a,n,i){"<"===e||"\\lt"===e||"\u27E8"===e?e="\\langle":(">"===e||"\\gt"===e||"\u27E9"===e)&&(e="\\rangle");var s=rB.has(e)?rH:rT.has(e)?rE:rR,o=rD(e,t,s,a);return"small"===o.type?rv(e,o.style,r,a,n,i):"large"===o.type?rb(e,o.size,r,a,n,i):rS(e,t,r,a,n,i)},rL=function(e,t,r,a,n,i){var s=a.fontMetrics().axisHeight*a.sizeMultiplier,o=5/a.fontMetrics().ptPerEm,l=Math.max(t-s,r+s);return rN(e,Math.max(l/500*901,2*l-o),!0,a,n,i)},rF={"\\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}},rP=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function rV(e){return"isMiddle"in e}function rG(e,t){var r=t3(e);if(r&&rP.has(r.text))return r;if(r)throw new a("Invalid delimiter '"+r.text+"' after '"+t.funcName+"'",e);throw new a("Invalid delimiter type '"+e.type+"'",e)}function rU(e){if(!e.body)throw Error("Bug: The leftright ParseNode wasn't fully parsed.")}tu({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:(e,t)=>{var r=rG(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:rF[e.funcName].size,mclass:rF[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?e1([e.mclass]):rI(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];"."!==e.delim&&t.push(tE(e.delim,e.mode));var r=new tB("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var a=L(rq[e.size]);return r.setAttribute("minsize",a),r.setAttribute("maxsize",a),r}}),tu({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new a("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:rG(t[0],e).text,color:r}}}),tu({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=rG(t[0],e),a=e.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var i=t6(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:(e,t)=>{rU(e);for(var r,a,n=tx(e.body,t,!0,["mopen","mclose"]),i=0,s=0,o=!1,l=0;l<n.length;l++)rV(n[l])?o=!0:(i=Math.max(n[l].height,i),s=Math.max(n[l].depth,s));if(i*=t.sizeMultiplier,s*=t.sizeMultiplier,r="."===e.left?tM(t,["mopen"]):rL(e.left,i,s,t,e.mode,["mopen"]),n.unshift(r),o)for(var h=1;h<n.length;h++){var m=n[h];if(rV(m)){var c=m.isMiddle;n[h]=rL(c.delim,i,s,c.options,e.mode,[])}}if("."===e.right)a=tM(t,["mclose"]);else{var u=e.rightColor?t.withColor(e.rightColor):t;a=rL(e.right,i,s,u,e.mode,["mclose"])}return n.push(a),e1(["minner"],n,t)},mathmlBuilder:(e,t)=>{rU(e);var r=tF(e.body,t);if("."!==e.left){var a=new tB("mo",[tE(e.left,e.mode)]);a.setAttribute("fence","true"),r.unshift(a)}if("."!==e.right){var n=new tB("mo",[tE(e.right,e.mode)]);n.setAttribute("fence","true"),e.rightColor&&n.setAttribute("mathcolor",e.rightColor),r.push(n)}return tO(r)}}),tu({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=rG(t[0],e);if(!e.parser.leftrightDepth)throw new a("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{var r;return"."===e.delim?r=tM(t,[]):(r=rI(e.delim,1,t,e.mode,[])).isMiddle={delim:e.delim,options:t},r},mathmlBuilder:(e,t)=>{var r=new tB("mo",["\\vert"===e.delim||"|"===e.delim?tE("|","text"):tE(e.delim,e.mode)]);return r.setAttribute("fence","true"),r.setAttribute("lspace","0.05em"),r.setAttribute("rspace","0.05em"),r}});var rX=(e,t)=>{var r,a=e3(tA(e.body,t),t),n=e.label.slice(1),i=t.sizeMultiplier,s=d(e.body);if("sout"===n)(c=e1(["stretchy","sout"])).height=t.fontMetrics().defaultRuleThickness/i,u=-.5*t.fontMetrics().xHeight;else if("phase"===n){var o=N({number:.6,unit:"pt"},t),l=N({number:.35,unit:"ex"},t);i/=t.havingBaseSizing().sizeMultiplier;var h=a.height+a.depth+o+l;a.style.paddingLeft=L(h/2+o);var m=Math.floor(1e3*h*i);(c=e4(["hide-tail"],[new Z([new K("phase","M400000 "+m+" H0 L"+m/2+" 0 l65 45 L145 "+(m-80)+" H400000z")],{width:"400em",height:L(m/1e3),viewBox:"0 0 400000 "+m,preserveAspectRatio:"xMinYMin slice"})],t)).style.height=L(h),u=a.depth+o+l}else{/cancel/.test(n)?s||a.classes.push("cancel-pad"):"angl"===n?a.classes.push("anglpad"):a.classes.push("boxpad");var c,u,p,g,f=0;/box/.test(n)?(f=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),g=p=t.fontMetrics().fboxsep+("colorbox"===n?0:f)):"angl"===n?(p=4*(f=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness)),g=Math.max(0,.25-a.depth)):g=p=.2*!!s,c=t1(a,n,p,g,t),/fbox|boxed|fcolorbox/.test(n)?(c.style.borderStyle="solid",c.style.borderWidth=L(f)):"angl"===n&&.049!==f&&(c.style.borderTopWidth=L(f),c.style.borderRightWidth=L(f)),u=a.depth+g,e.backgroundColor&&(c.style.backgroundColor=e.backgroundColor,e.borderColor&&(c.style.borderColor=e.borderColor))}return(r=e.backgroundColor?e2({positionType:"individualShift",children:[{type:"elem",elem:c,shift:u},{type:"elem",elem:a,shift:0}]}):e2({positionType:"individualShift",children:[{type:"elem",elem:a,shift:0},{type:"elem",elem:c,shift:u,wrapperClasses:/cancel|phase/.test(n)?["svg-align"]:[]}]}),/cancel/.test(n)&&(r.height=a.height,r.depth=a.depth),/cancel/.test(n)&&!s)?e1(["mord","cancel-lap"],[r],t):e1(["mord"],[r],t)},rY=(e,t)=>{var r,a=new tB(e.label.includes("colorbox")?"mpadded":"menclose",[tV(e.body,t)]);switch(e.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*r+"pt"),a.setAttribute("height","+"+2*r+"pt"),a.setAttribute("lspace",r+"pt"),a.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){var n=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);a.setAttribute("style","border: "+L(n)+" solid "+e.borderColor)}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};tu({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","hbox"]},handler(e,t,r){var{parser:a,funcName:n}=e,i=t6(t[0],"color-token").color,s=t[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:i,body:s}},htmlBuilder:rX,mathmlBuilder:rY}),tu({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"]},handler(e,t,r){var{parser:a,funcName:n}=e,i=t6(t[0],"color-token").color,s=t6(t[1],"color-token").color,o=t[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:s,borderColor:i,body:o}},htmlBuilder:rX,mathmlBuilder:rY}),tu({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),tu({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"enclose",mode:r.mode,label:a,body:n}},htmlBuilder:rX,mathmlBuilder:rY}),tu({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e;"math"===r.mode&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var n=t[0];return{type:"enclose",mode:r.mode,label:a,body:n}},htmlBuilder:rX,mathmlBuilder:rY}),tu({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){var{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});var rj={};function rW(e){for(var{type:t,names:r,props:a,handler:n,htmlBuilder:i,mathmlBuilder:s}=e,o={type:t,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:n},l=0;l<r.length;++l)rj[r[l]]=o;i&&(tm[t]=i),s&&(tc[t]=s)}var r_={};class r${constructor(e,t,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=r}static range(e,t){return t?e&&e.loc&&t.loc&&e.loc.lexer===t.loc.lexer?new r$(e.loc.lexer,e.loc.start,t.loc.end):null:e&&e.loc}}class rZ{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new rZ(t,r$.range(this,e))}}function rK(e){var t=[];e.consumeSpaces();var r=e.fetch().text;for("\\relax"===r&&(e.consume(),e.consumeSpaces(),r=e.fetch().text);"\\hline"===r||"\\hdashline"===r;)e.consume(),t.push("\\hdashline"===r),e.consumeSpaces(),r=e.fetch().text;return t}var rJ=e=>{if(!e.parser.settings.displayMode)throw new a("{"+e.envName+"} can be used only in display mode.")},rQ=new Set(["gather","gather*"]);function r0(e){if(!e.includes("ed"))return!e.includes("*")}function r1(e,t,r){var{hskipBeforeAndAfter:n,addJot:i,cols:s,arraystretch:o,colSeparationType:l,autoTag:h,singleRow:m,emptySingleRow:c,maxNumCols:u,leqno:p}=t;if(e.gullet.beginGroup(),m||e.gullet.macros.set("\\cr","\\\\\\relax"),!o){var d=e.gullet.expandMacroAsText("\\arraystretch");if(null==d)o=1;else if(!(o=parseFloat(d))||o<0)throw new a("Invalid \\arraystretch: "+d)}e.gullet.beginGroup();var g=[],f=[g],v=[],b=[],y=null!=h?[]:void 0;function x(){h&&e.gullet.macros.set("\\@eqnsw","1",!0)}function w(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new rZ("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(!!h&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(x(),b.push(rK(e));;){var k=e.parseExpression(!1,m?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup();var z={type:"ordgroup",mode:e.mode,body:k};r&&(z={type:"styling",mode:e.mode,style:r,resetFont:!0,body:[z]}),g.push(z);var S=e.fetch().text;if("&"===S){if(u&&g.length===u)if(m||l)throw new a("Too many tab characters: &",e.nextToken);else e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.");e.consume()}else if("\\end"===S){w(),1===g.length&&"styling"===z.type&&1===z.body.length&&"ordgroup"===z.body[0].type&&0===z.body[0].body.length&&(f.length>1||!c)&&f.pop(),b.length<f.length+1&&b.push([]);break}else if("\\\\"===S){e.consume();var M=void 0;" "!==e.gullet.future().text&&(M=e.parseSizeGroup(!0)),v.push(M?M.value:null),w(),b.push(rK(e)),g=[],f.push(g),x()}else throw new a("Expected & or \\\\ or \\cr or \\end",e.nextToken)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:"array",mode:e.mode,addJot:i,arraystretch:o,body:f,cols:s,rowGaps:v,hskipBeforeAndAfter:n,hLinesBeforeRow:b,colSeparationType:l,tags:y,leqno:p}}function r4(e){return"d"===e.slice(0,1)?"display":"text"}var r5=function(e,t){var r=e.body.length,n=e.hLinesBeforeRow,i=0,s=Array(r),o=[],l=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),h=1/t.fontMetrics().ptPerEm,m=5*h;e.colSeparationType&&"small"===e.colSeparationType&&(m=.2778*(t.havingStyle(M.SCRIPT).sizeMultiplier/t.sizeMultiplier));var c="CD"===e.colSeparationType?N({number:3,unit:"ex"},t):12*h,u=3*h,p=e.arraystretch*c,d=.7*p,g=.3*p,f=0;function v(e){for(var t=0;t<e.length;++t)t>0&&(f+=.25),o.push({pos:f,isDashed:e[t]})}for(v(n[0]),E=0;E<e.body.length;++E){var b=e.body[E],y=d,x=g;i<b.length&&(i=b.length);var w={cells:Array(b.length),height:0,depth:0,pos:0};for(O=0;O<b.length;++O){var k=tA(b[O],t);x<k.depth&&(x=k.depth),y<k.height&&(y=k.height),w.cells[O]=k}var z=e.rowGaps[E],S=0;z&&(S=N(z,t))>0&&(x<(S+=g)&&(x=S),S=0),e.addJot&&E<e.body.length-1&&(x+=u),w.height=y,w.depth=x,w.pos=f+=y,f+=x+S,s[E]=w,v(n[E+1])}var A=f/2+t.fontMetrics().axisHeight,T=e.cols||[],C=[],B=[];if(e.tags&&e.tags.some(e=>e))for(E=0;E<r;++E){var q=s[E],I=q.pos-A,H=e.tags[E],R=void 0;(R=!0===H?e1(["eqn-num"],[],t):!1===H?e1([],[],t):e1([],tx(H,t,!0),t)).depth=q.depth,R.height=q.height,B.push({type:"elem",elem:R,shift:I})}for(O=0,F=0;O<i||F<T.length;++O,++F){for(var E,O,D,F,P,V,G,U,X,Y,j=T[F],W=!0;(null==(V=j)?void 0:V.type)==="separator";){if(W||((D=e1(["arraycolsep"],[])).style.width=L(t.fontMetrics().doubleRuleSep),C.push(D)),"|"===j.separator||":"===j.separator){var _="|"===j.separator?"solid":"dashed",$=e1(["vertical-separator"],[],t);$.style.height=L(f),$.style.borderRightWidth=L(l),$.style.borderRightStyle=_,$.style.margin="0 "+L(-l/2);var Z=f-A;Z&&($.style.verticalAlign=L(-Z)),C.push($)}else throw new a("Invalid separator type: "+j.separator);j=T[++F],W=!1}if(!(O>=i)){var K=void 0;(O>0||e.hskipBeforeAndAfter)&&0!==(K=null!=(G=null==(U=j)?void 0:U.pregap)?G:m)&&((D=e1(["arraycolsep"],[])).style.width=L(K),C.push(D));var J=[];for(E=0;E<r;++E){var Q=s[E],ee=Q.cells[O];if(ee){var et=Q.pos-A;ee.depth=Q.depth,ee.height=Q.height,J.push({type:"elem",elem:ee,shift:et})}}var er=e2({positionType:"individualShift",children:J}),ea=e1(["col-align-"+((null==(P=j)?void 0:P.align)||"c")],[er]);C.push(ea),(O<i-1||e.hskipBeforeAndAfter)&&0!==(K=null!=(X=null==(Y=j)?void 0:Y.postgap)?X:m)&&((D=e1(["arraycolsep"],[])).style.width=L(K),C.push(D))}}var en=e1(["mtable"],C);if(o.length>0){for(var ei=e5("hline",t,l),es=e5("hdashline",t,l),eo=[{type:"elem",elem:en,shift:0}];o.length>0;){var el=o.pop(),eh=el.pos-A;el.isDashed?eo.push({type:"elem",elem:es,shift:eh}):eo.push({type:"elem",elem:ei,shift:eh})}en=e2({positionType:"individualShift",children:eo})}return 0===B.length?e1(["mord"],[en],t):e7([en,e1(["tag"],[e2({positionType:"individualShift",children:B})],t)])},r6={c:"center ",l:"left ",r:"right "},r7=function(e,t){for(var r=[],a=new tB("mtd",[],["mtr-glue"]),n=new tB("mtd",[],["mml-eqn-num"]),i=0;i<e.body.length;i++){for(var s=e.body[i],o=[],l=0;l<s.length;l++)o.push(new tB("mtd",[tV(s[l],t)]));e.tags&&e.tags[i]&&(o.unshift(a),o.push(a),e.leqno?o.unshift(n):o.push(n)),r.push(new tB("mtr",o))}var h=new tB("mtable",r),m=.5===e.arraystretch?.1:.16+e.arraystretch-1+.09*!!e.addJot;h.setAttribute("rowspacing",L(m));var c="",u="";if(e.cols&&e.cols.length>0){var p=e.cols,d="",g=!1,f=0,v=p.length;"separator"===p[0].type&&(c+="top ",f=1),"separator"===p[p.length-1].type&&(c+="bottom ",v-=1);for(var b=f;b<v;b++){var y=p[b];"align"===y.type?(u+=r6[y.align],g&&(d+="none "),g=!0):"separator"===y.type&&g&&(d+="|"===y.separator?"solid ":"dashed ",g=!1)}h.setAttribute("columnalign",u.trim()),/[sd]/.test(d)&&h.setAttribute("columnlines",d.trim())}if("align"===e.colSeparationType){for(var x=e.cols||[],w="",k=1;k<x.length;k++)w+=k%2?"0em ":"1em ";h.setAttribute("columnspacing",w.trim())}else"alignat"===e.colSeparationType||"gather"===e.colSeparationType?h.setAttribute("columnspacing","0em"):"small"===e.colSeparationType?h.setAttribute("columnspacing","0.2778em"):"CD"===e.colSeparationType?h.setAttribute("columnspacing","0.5em"):h.setAttribute("columnspacing","1em");var z="",S=e.hLinesBeforeRow;c+=(S[0].length>0?"left ":"")+(S[S.length-1].length>0?"right ":"");for(var M=1;M<S.length-1;M++)z+=0===S[M].length?"none ":S[M][0]?"dashed ":"solid ";return/[sd]/.test(z)&&h.setAttribute("rowlines",z.trim()),""!==c&&(h=new tB("menclose",[h])).setAttribute("notation",c.trim()),e.arraystretch&&e.arraystretch<1&&(h=new tB("mstyle",[h])).setAttribute("scriptlevel","1"),h},r3=function(e,t){e.envName.includes("ed")||rJ(e);var r=[],n=e.envName.includes("at")?"alignat":"align",i="split"===e.envName,s=r1(e.parser,{cols:r,addJot:!0,autoTag:i?void 0:r0(e.envName),emptySingleRow:!0,colSeparationType:n,maxNumCols:i?2:void 0,leqno:e.parser.settings.leqno},"display"),o=0,l=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var m="",c=0;c<t[0].body.length;c++)m+=t6(t[0].body[c],"textord").text;l=2*(o=Number(m))}var u=!l;s.body.forEach(function(e){for(var t=1;t<e.length;t+=2){var r=t6(e[t],"styling");t6(r.body[0],"ordgroup").body.unshift(h)}if(u)l<e.length&&(l=e.length);else{var n=e.length/2;if(o<n)throw new a("Too many math in a row: expected "+o+", but got "+n,e[0])}});for(var p=0;p<l;++p){var d="r",g=0;p%2==1?d="l":p>0&&u&&(g=1),r[p]={type:"align",align:d,pregap:g,postgap:0}}return s.colSeparationType=u?"align":"alignat",s};rW({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){var r=(t3(t[0])?[t[0]]:t6(t[0],"ordgroup").body).map(function(e){var t=t7(e).text;if("lcr".includes(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new a("Unknown column alignment: "+t,e)}),n={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return r1(e.parser,n,r4(e.envName))},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var i=e.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new a("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var s=r1(e.parser,n,r4(e.envName)),o=Math.max(0,...s.body.map(e=>e.length));return s.cols=Array(o).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){var t=r1(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){var r=(t3(t[0])?[t[0]]:t6(t[0],"ordgroup").body).map(function(e){var t=t7(e).text;if("lc".includes(t))return{type:"align",align:t};throw new a("Unknown column alignment: "+t,e)});if(r.length>1)throw new a("{subarray} can contain only one column");var n=r1(e.parser,{cols:r,hskipBeforeAndAfter:!1,arraystretch:.5},"script");if(n.body.length>0&&n.body[0].length>1)throw new a("{subarray} can contain only one column");return n},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){var t=r1(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r4(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.includes("r")?".":"\\{",right:e.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:r3,htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){rQ.has(e.envName)&&rJ(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:r0(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return r1(e.parser,t,"display")},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:r3,htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){rJ(e);var t={autoTag:r0(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return r1(e.parser,t,"display")},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["CD"],props:{numArgs:0},handler:e=>(rJ(e),function(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var r=e.fetch().text;if("&"===r||"\\\\"===r)e.consume();else if("\\end"===r){0===t[t.length-1].length&&t.pop();break}else throw new a("Expected \\\\ or \\cr or \\end",e.nextToken)}for(var n=[],i=[n],s=0;s<t.length;s++){for(var o=t[s],l=rs(),h=0;h<o.length;h++)if(ro(o[h])){n.push(l);var m=t7(o[h+=1]).text,c=[,,];if(c[0]={type:"ordgroup",mode:"math",body:[]},c[1]={type:"ordgroup",mode:"math",body:[]},"=|.".includes(m));else if("<>AV".includes(m))for(var u=0;u<2;u++){for(var p=!0,d=h+1;d<o.length;d++){if(rl(o[d],m)){p=!1,h=d;break}if(ro(o[d]))throw new a("Missing a "+m+" character to complete a CD arrow.",o[d]);c[u].body.push(o[d])}if(p)throw new a("Missing a "+m+" character to complete a CD arrow.",o[h])}else throw new a('Expected one of "<>AV=|." after @',o[h]);var g={type:"styling",body:[function(e,t,r){var a=ri[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var n=r.callFunction("\\\\cdleft",[t[0]],[]),i=r.callFunction("\\Big",[{type:"atom",text:a,mode:"math",family:"rel"}],[]),s=r.callFunction("\\\\cdright",[t[1]],[]);return r.callFunction("\\\\cdparent",[{type:"ordgroup",mode:"math",body:[n,i,s]}],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}(m,c,e)],mode:"math",style:"display",resetFont:!0};n.push(g),l=rs()}else l.body.push(o[h]);s%2==0?n.push(l):n.shift(),n=[],i.push(n)}e.gullet.endGroup(),e.gullet.endGroup();var f=Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:f,colSeparationType:"CD",hLinesBeforeRow:Array(i.length+1).fill([])}}(e.parser)),htmlBuilder:r5,mathmlBuilder:r7}),r_["\\nonumber"]="\\gdef\\@eqnsw{0}",r_["\\notag"]="\\nonumber",tu({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(e,t){throw new a(e.funcName+" valid only within array environment")}}),tu({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(e,t){var{parser:r,funcName:n}=e,i=t[0];if("ordgroup"!==i.type)throw new a("Invalid environment name",i);for(var s="",o=0;o<i.body.length;++o)s+=t6(i.body[o],"textord").text;if("\\begin"===n){if(!rj.hasOwnProperty(s))throw new a("No such environment: "+s,i);var l=rj[s],{args:h,optArgs:m}=r.parseArguments("\\begin{"+s+"}",l),c={mode:r.mode,envName:s,parser:r},u=l.handler(c,h,m);r.expect("\\end",!1);var p=r.nextToken,d=t6(r.parseFunction(),"environment");if(d.name!==s)throw new a("Mismatch: \\begin{"+s+"} matched by \\end{"+d.name+"}",p);return u}return{type:"environment",mode:r.mode,name:s,nameGroup:i}}});var r8=(e,t)=>{var r=e.font,a=t.withFont(r);return tA(e.body,a)},r2=(e,t)=>{var r=e.font,a=t.withFont(r);return tV(e.body,a)},r9={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};tu({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=td(t[0]),i=a;return i in r9&&(i=r9[i]),{type:"font",mode:r.mode,font:i.slice(1),body:n}},htmlBuilder:r8,mathmlBuilder:r2}),tu({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"mclass",mode:r.mode,mclass:rn(a),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:a}],isCharacterBox:d(a)}}}),tu({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{parser:r,funcName:a,breakOnTokenText:n}=e,{mode:i}=r,s=r.parseExpression(!0,n);return{type:"font",mode:i,font:"math"+a.slice(1),body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:r8,mathmlBuilder:r2});var ae=(e,t)=>t?{type:"styling",mode:e.mode,style:t,body:[e]}:e;tu({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{var r,{parser:a,funcName:n}=e,i=t[0],s=t[1],o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":r=!0;break;case"\\\\atopfrac":r=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":r=!1,o="(",l=")";break;case"\\\\bracefrac":r=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":r=!1,o="[",l="]";break;default:throw Error("Unrecognized genfrac command")}var h="\\cfrac"===n,m=null;return h||n.startsWith("\\d")?m="display":n.startsWith("\\t")&&(m="text"),ae({type:"genfrac",mode:a.mode,numer:i,denom:s,continued:h,hasBarLine:r,leftDelim:o,rightDelim:l,barSize:null},m)},htmlBuilder:(e,t)=>{var r,a,n,i,s,o,l,h,m,c,u,p=t.style,d=p.fracNum(),g=p.fracDen();r=t.havingStyle(d);var f=tA(e.numer,r,t);if(e.continued){var v=8.5/t.fontMetrics().ptPerEm,b=3.5/t.fontMetrics().ptPerEm;f.height=f.height<v?v:f.height,f.depth=f.depth<b?b:f.depth}r=t.havingStyle(g);var y=tA(e.denom,r,t);if(e.hasBarLine?(e.barSize?(n=N(e.barSize,t),a=e5("frac-line",t,n)):a=e5("frac-line",t),n=a.height,i=a.height):(a=null,n=0,i=t.fontMetrics().defaultRuleThickness),p.size===M.DISPLAY.size?(s=t.fontMetrics().num1,o=n>0?3*i:7*i,l=t.fontMetrics().denom1):(n>0?(s=t.fontMetrics().num2,o=i):(s=t.fontMetrics().num3,o=3*i),l=t.fontMetrics().denom2),a){var x=t.fontMetrics().axisHeight;s-f.depth-(x+.5*n)<o&&(s+=o-(s-f.depth-(x+.5*n))),x-.5*n-(y.height-l)<o&&(l+=o-(x-.5*n-(y.height-l))),h=e2({positionType:"individualShift",children:[{type:"elem",elem:y,shift:l},{type:"elem",elem:a,shift:-(x-.5*n)},{type:"elem",elem:f,shift:-s}]})}else{var w=s-f.depth-(y.height-l);w<o&&(s+=.5*(o-w),l+=.5*(o-w)),h=e2({positionType:"individualShift",children:[{type:"elem",elem:y,shift:l},{type:"elem",elem:f,shift:-s}]})}return r=t.havingStyle(p),h.height*=r.sizeMultiplier/t.sizeMultiplier,h.depth*=r.sizeMultiplier/t.sizeMultiplier,m=p.size===M.DISPLAY.size?t.fontMetrics().delim1:p.size===M.SCRIPTSCRIPT.size?t.havingStyle(M.SCRIPT).fontMetrics().delim2:t.fontMetrics().delim2,c=null==e.leftDelim?tM(t,["mopen"]):rN(e.leftDelim,m,!0,t.havingStyle(p),e.mode,["mopen"]),u=e.continued?e1([]):null==e.rightDelim?tM(t,["mclose"]):rN(e.rightDelim,m,!0,t.havingStyle(p),e.mode,["mclose"]),e1(["mord"].concat(r.sizingClasses(t)),[c,e1(["mfrac"],[h]),u],t)},mathmlBuilder:(e,t)=>{var r=new tB("mfrac",[tV(e.numer,t),tV(e.denom,t)]);if(e.hasBarLine){if(e.barSize){var a=N(e.barSize,t);r.setAttribute("linethickness",L(a))}}else r.setAttribute("linethickness","0px");if(null!=e.leftDelim||null!=e.rightDelim){var n=[];if(null!=e.leftDelim){var i=new tB("mo",[new tq(e.leftDelim.replace("\\",""))]);i.setAttribute("fence","true"),n.push(i)}if(n.push(r),null!=e.rightDelim){var s=new tB("mo",[new tq(e.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),n.push(s)}return tO(n)}return r}}),tu({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){var t,{parser:r,funcName:a,token:n}=e;switch(a){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:n}}});var at=["display","text","script","scriptscript"],ar=function(e){var t=null;return e.length>0&&(t="."===(t=e)?null:t),t};tu({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){var r,{parser:a}=e,n=t[4],i=t[5],s=td(t[0]),o="atom"===s.type&&"open"===s.family?ar(s.text):null,l=td(t[1]),h="atom"===l.type&&"close"===l.family?ar(l.text):null,m=t6(t[2],"size"),c=null;r=!!m.isBlank||(c=m.value).number>0;var u=null,p=t[3];return"ordgroup"===p.type?p.body.length>0&&(u=at[Number(t6(p.body[0],"textord").text)]):u=at[Number((p=t6(p,"textord")).text)],ae({type:"genfrac",mode:a.mode,numer:n,denom:i,continued:!1,hasBarLine:r,barSize:c,leftDelim:o,rightDelim:h},u)}}),tu({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){var{parser:r,funcName:a,token:n}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:t6(t[0],"size").value,token:n}}}),tu({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0],i=t6(t[1],"infix").size;if(!i)throw Error("\\\\abovefrac expected size, but got "+String(i));var s=t[2],o=i.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:s,continued:!1,hasBarLine:o,barSize:i,leftDelim:null,rightDelim:null}}});var aa=(e,t)=>{var r,a,n,i=t.style;"supsub"===e.type?(r=e.sup?tA(e.sup,t.havingStyle(i.sup()),t):tA(e.sub,t.havingStyle(i.sub()),t),a=t6(e.base,"horizBrace")):a=t6(e,"horizBrace");var s=tA(a.base,t.havingBaseStyle(M.DISPLAY)),o=t0(a,t);if(n=a.isOver?e2({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o,wrapperClasses:["svg-align"]}]}):e2({positionType:"bottom",positionData:s.depth+.1+o.height,children:[{type:"elem",elem:o,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:s}]}),r){var l=e1(["minner",a.isOver?"mover":"munder"],[n],t);n=a.isOver?e2({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]}):e2({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]})}return e1(["minner",a.isOver?"mover":"munder"],[n],t)};tu({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e;return{type:"horizBrace",mode:r.mode,label:a,isOver:a.includes("\\over"),base:t[0]}},htmlBuilder:aa,mathmlBuilder:(e,t)=>{var r=tK(e.label);return new tB(e.isOver?"mover":"munder",[tV(e.base,t),r])}}),tu({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[1],n=t6(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:r.mode,href:n,body:tg(a)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{var r=tx(e.body,t,!1);return e6(e.href,[],r,t)},mathmlBuilder:(e,t)=>{var r=tP(e.body,t);return r instanceof tB||(r=new tB("mrow",[r])),r.setAttribute("href",e.href),r}}),tu({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t6(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:a}))return r.formatUnsupportedCmd("\\url");for(var n=[],i=0;i<a.length;i++){var s=a[i];"~"===s&&(s="\\textasciitilde"),n.push({type:"textord",mode:"text",text:s})}var o={type:"text",mode:r.mode,font:"\\texttt",body:n};return{type:"href",mode:r.mode,href:a,body:tg(o)}}}),tu({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(e,t){var{parser:r}=e;return{type:"hbox",mode:r.mode,body:tg(t[0])}},htmlBuilder:(e,t)=>e7(tx(e.body,t.withFont(""),!1)),mathmlBuilder:(e,t)=>new tB("mrow",tF(e.body,t.withFont("")))}),tu({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(e,t)=>{var r,{parser:n,funcName:i,token:s}=e,o=t6(t[0],"raw").string,l=t[1];n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var h={};switch(i){case"\\htmlClass":h.class=o,r={command:"\\htmlClass",class:o};break;case"\\htmlId":h.id=o,r={command:"\\htmlId",id:o};break;case"\\htmlStyle":h.style=o,r={command:"\\htmlStyle",style:o};break;case"\\htmlData":for(var m=o.split(","),c=0;c<m.length;c++){var u=m[c],p=u.indexOf("=");if(p<0)throw new a("\\htmlData key/value '"+u+"' missing equals sign");var d=u.slice(0,p),g=u.slice(p+1);h["data-"+d.trim()]=g}r={command:"\\htmlData",attributes:h};break;default:throw Error("Unrecognized html command")}return n.settings.isTrusted(r)?{type:"html",mode:n.mode,attributes:h,body:tg(l)}:n.formatUnsupportedCmd(i)},htmlBuilder:(e,t)=>{var r=tx(e.body,t,!1),a=["enclosing"];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/));var n=e1(a,r,t);for(var i in e.attributes)"class"!==i&&e.attributes.hasOwnProperty(i)&&n.setAttribute(i,e.attributes[i]);return n},mathmlBuilder:(e,t)=>tP(e.body,t)}),tu({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:tg(t[0]),mathml:tg(t[1])}},htmlBuilder:(e,t)=>e7(tx(e.html,t,!1)),mathmlBuilder:(e,t)=>tP(e.mathml,t)});var an=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new a("Invalid size: '"+e+"' in \\includegraphics");var r={number:+(t[1]+t[2]),unit:t[3]};if(!D(r))throw new a("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r};tu({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{var{parser:n}=e,i={number:0,unit:"em"},s={number:.9,unit:"em"},o={number:0,unit:"em"},l="";if(r[0])for(var h=t6(r[0],"raw").string.split(","),m=0;m<h.length;m++){var c=h[m].split("=");if(2===c.length){var u=c[1].trim();switch(c[0].trim()){case"alt":l=u;break;case"width":i=an(u);break;case"height":s=an(u);break;case"totalheight":o=an(u);break;default:throw new a("Invalid key: '"+c[0]+"' in \\includegraphics.")}}}var p=t6(t[0],"url").url;return(""===l&&(l=(l=(l=p).replace(/^.*[\\/]/,"")).substring(0,l.lastIndexOf("."))),n.settings.isTrusted({command:"\\includegraphics",url:p}))?{type:"includegraphics",mode:n.mode,alt:l,width:i,height:s,totalheight:o,src:p}:n.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(e,t)=>{var r=N(e.height,t),a=0;e.totalheight.number>0&&(a=N(e.totalheight,t)-r);var n=0;e.width.number>0&&(n=N(e.width,t));var i={height:L(r+a)};n>0&&(i.width=L(n)),a>0&&(i.verticalAlign=L(-a));var s=new W(e.src,e.alt,i);return s.height=r,s.depth=a,s},mathmlBuilder:(e,t)=>{var r=new tB("mglyph",[]);r.setAttribute("alt",e.alt);var a=N(e.height,t),n=0;if(e.totalheight.number>0&&(n=N(e.totalheight,t)-a,r.setAttribute("valign",L(-n))),r.setAttribute("height",L(a+n)),e.width.number>0){var i=N(e.width,t);r.setAttribute("width",L(i))}return r.setAttribute("src",e.src),r}}),tu({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t6(t[0],"size");if(r.settings.strict){var i="m"===a[1],s="mu"===n.value.unit;i?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, not "+n.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:n.value}},htmlBuilder:(e,t)=>e9(e.dimension,t),mathmlBuilder:(e,t)=>new tI(N(e.dimension,t))}),tu({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"lap",mode:r.mode,alignment:a.slice(5),body:n}},htmlBuilder:(e,t)=>{"clap"===e.alignment?(r=e1([],[tA(e.body,t)]),r=e1(["inner"],[r],t)):r=e1(["inner"],[tA(e.body,t)]);var r,a=e1(["fix"],[]),n=e1([e.alignment],[r,a],t),i=e1(["strut"]);return i.style.height=L(n.height+n.depth),n.depth&&(i.style.verticalAlign=L(-n.depth)),n.children.unshift(i),n=e1(["thinbox"],[n],t),e1(["mord","vbox"],[n],t)},mathmlBuilder:(e,t)=>{var r=new tB("mpadded",[tV(e.body,t)]);if("rlap"!==e.alignment){var a="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",a+"width")}return r.setAttribute("width","0px"),r}}),tu({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){var{funcName:r,parser:a}=e,n=a.mode;a.switchMode("math");var i="\\("===r?"\\)":"$",s=a.parseExpression(!1,i);return a.expect(i),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",resetFont:!0,body:s}}}),tu({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new a("Mismatched "+e.funcName)}});var ai=(e,t)=>{switch(t.style.size){case M.DISPLAY.size:return e.display;case M.TEXT.size:return e.text;case M.SCRIPT.size:return e.script;case M.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};tu({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{var{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:tg(t[0]),text:tg(t[1]),script:tg(t[2]),scriptscript:tg(t[3])}},htmlBuilder:(e,t)=>e7(tx(ai(e,t),t,!1)),mathmlBuilder:(e,t)=>tP(ai(e,t),t)});var as=(e,t,r,a,n,i,s)=>{e=e1([],[e]);var o,l,h,m=r&&d(r);if(t){var c=tA(t,a.havingStyle(n.sup()),a);l={elem:c,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-c.depth)}}if(r){var u=tA(r,a.havingStyle(n.sub()),a);o={elem:u,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-u.height)}}if(l&&o)h=e2({positionType:"bottom",positionData:a.fontMetrics().bigOpSpacing5+o.elem.height+o.elem.depth+o.kern+e.depth+s,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:L(-i)},{type:"kern",size:o.kern},{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:L(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]});else if(o)h=e2({positionType:"top",positionData:e.height-s,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:L(-i)},{type:"kern",size:o.kern},{type:"elem",elem:e}]});else{if(!l)return e;h=e2({positionType:"bottom",positionData:e.depth+s,children:[{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:L(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}var p=[h];if(o&&0!==i&&!m){var g=e1(["mspace"],[],a);g.style.marginRight=L(i),p.unshift(g)}return e1(["mop","op-limits"],p,a)},ao=new Set(["\\smallint"]),al=(e,t)=>{var r,a,n,i,s,o,l=!1;"supsub"===e.type?(r=e.sup,a=e.sub,n=t6(e.base,"op"),l=!0):n=t6(e,"op");var h=t.style,m=!1;if(h.size===M.DISPLAY.size&&n.symbol&&!ao.has(n.name)&&(m=!0),n.symbol){var c=m?"Size2-Regular":"Size1-Regular",u="";("\\oiint"===n.name||"\\oiiint"===n.name)&&(u=n.name.slice(1),n.name="oiint"===u?"\\iint":"\\iiint"),s=(i=e$(n.name,c,"math",t,["mop","op-symbol",m?"large-op":"small-op"])).italic,u.length>0&&(i=e2({positionType:"individualShift",children:[{type:"elem",elem:i,shift:0},{type:"elem",elem:ta(u+"Size"+(m?"2":"1"),t),shift:.08*!!m}]}),n.name="\\"+u,i.classes.unshift("mop"),i.italic=s)}else if(n.body){var p=tx(n.body,t,!0);1===p.length&&p[0]instanceof $?(i=p[0]).classes[0]="mop":i=e1(["mop"],p,t)}else{for(var d=[],g=1;g<n.name.length;g++)d.push(eZ(n.name[g],n.mode,t));i=e1(["mop"],d,t)}var f=0,v=0;return((i instanceof $||"\\oiint"===n.name||"\\oiiint"===n.name)&&!n.suppressBaseShift&&(f=(i.height-i.depth)/2-t.fontMetrics().axisHeight,v=null!=(o=i.italic)?o:0),l)?as(i,r,a,t,h,v,f):(f&&(i.style.position="relative",i.style.top=L(f)),i)},ah=(e,t)=>{var r;if(e.symbol)r=new tB("mo",[tE(e.name,e.mode)]),ao.has(e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new tB("mo",tF(e.body,t));else{r=new tB("mi",[new tq(e.name.slice(1))]);var a=new tB("mo",[tE("\u2061","text")]);r=e.parentIsSupSub?new tB("mrow",[r,a]):new R([r,a])}return r},am={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};tu({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=a;return 1===n.length&&(n=am[n]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:al,mathmlBuilder:ah}),tu({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:tg(a)}},htmlBuilder:al,mathmlBuilder:ah});var ac={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};tu({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(e){var{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:al,mathmlBuilder:ah}),tu({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:al,mathmlBuilder:ah}),tu({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0,allowedInArgument:!0},handler(e){var{parser:t,funcName:r}=e,a=r;return 1===a.length&&(a=ac[a]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:al,mathmlBuilder:ah});var au=(e,t)=>{var r,a,n,i,s=!1;if("supsub"===e.type?(r=e.sup,a=e.sub,n=t6(e.base,"operatorname"),s=!0):n=t6(e,"operatorname"),n.body.length>0){for(var o=tx(n.body.map(e=>{var t="text"in e?e.text:void 0;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e}),t.withFont("mathrm"),!0),l=0;l<o.length;l++){var h=o[l];h instanceof $&&(h.text=h.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}i=e1(["mop"],o,t)}else i=e1(["mop"],[],t);return s?as(i,r,a,t,t.style,0,0):i};function ap(e,t,r){for(var a=tx(e,t,!1),n=t.sizeMultiplier/r.sizeMultiplier,i=0;i<a.length;i++){var s=a[i].classes.indexOf("sizing");s<0?Array.prototype.push.apply(a[i].classes,t.sizingClasses(r)):a[i].classes[s+1]==="reset-size"+t.size&&(a[i].classes[s+1]="reset-size"+r.size),a[i].height*=n,a[i].depth*=n}return e7(a)}tu({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"operatorname",mode:r.mode,body:tg(n),alwaysHandleSupSub:"\\operatornamewithlimits"===a,limits:!1,parentIsSupSub:!1}},htmlBuilder:au,mathmlBuilder:(e,t)=>{for(var r=tF(e.body,t.withFont("mathrm")),a=!0,n=0;n<r.length;n++){var i=r[n];if(i instanceof tI);else if(i instanceof tB)switch(i.type){case"mi":case"mn":case"mspace":case"mtext":break;case"mo":var s=i.children[0];1===i.children.length&&s instanceof tq?s.text=s.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):a=!1;break;default:a=!1}else a=!1}a&&(r=[new tq(r.map(e=>e.toText()).join(""))]);var o=new tB("mi",r);o.setAttribute("mathvariant","normal");var l=new tB("mo",[tE("\u2061","text")]);return e.parentIsSupSub?new tB("mrow",[o,l]):new R([o,l])}}),r_["\\operatorname"]="\\@ifstar\\operatornamewithlimits\\operatorname@",tp({type:"ordgroup",htmlBuilder:(e,t)=>e.semisimple?e7(tx(e.body,t,!1)):e1(["mord"],tx(e.body,t,!0),t),mathmlBuilder:(e,t)=>tP(e.body,t,!0)}),tu({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){var{parser:r}=e,a=t[0];return{type:"overline",mode:r.mode,body:a}},htmlBuilder(e,t){var r=tA(e.body,t.havingCrampedStyle()),a=e5("overline-line",t),n=t.fontMetrics().defaultRuleThickness;return e1(["mord","overline"],[e2({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*n},{type:"elem",elem:a},{type:"kern",size:n}]})],t)},mathmlBuilder(e,t){var r=new tB("mo",[new tq("\u203E")]);r.setAttribute("stretchy","true");var a=new tB("mover",[tV(e.body,t),r]);return a.setAttribute("accent","true"),a}}),tu({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"phantom",mode:r.mode,body:tg(a)}},htmlBuilder:(e,t)=>e7(tx(e.body,t.withPhantom(),!1)),mathmlBuilder:(e,t)=>new tB("mphantom",tF(e.body,t))}),r_["\\hphantom"]="\\smash{\\phantom{#1}}",tu({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"vphantom",mode:r.mode,body:a}},htmlBuilder:(e,t)=>{var r=e1(["inner"],[tA(e.body,t.withPhantom())]),a=e1(["fix"],[]);return e1(["mord","rlap"],[r,a],t)},mathmlBuilder:(e,t)=>{var r=new tB("mphantom",tF(tg(e.body),t)),a=new tB("mpadded",[r]);return a.setAttribute("width","0px"),a}}),tu({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){var{parser:r}=e,a=t6(t[0],"size").value,n=t[1];return{type:"raisebox",mode:r.mode,dy:a,body:n}},htmlBuilder(e,t){var r=tA(e.body,t);return e2({positionType:"shift",positionData:-N(e.dy,t),children:[{type:"elem",elem:r}]})},mathmlBuilder(e,t){var r=new tB("mpadded",[tV(e.body,t)]),a=e.dy.number+e.dy.unit;return r.setAttribute("voffset",a),r}}),tu({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(e){var{parser:t}=e;return{type:"internal",mode:t.mode}}}),tu({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(e,t,r){var{parser:a}=e,n=r[0],i=t6(t[0],"size"),s=t6(t[1],"size");return{type:"rule",mode:a.mode,shift:n&&t6(n,"size").value,width:i.value,height:s.value}},htmlBuilder(e,t){var r=e1(["mord","rule"],[],t),a=N(e.width,t),n=N(e.height,t),i=e.shift?N(e.shift,t):0;return r.style.borderRightWidth=L(a),r.style.borderTopWidth=L(n),r.style.bottom=L(i),r.width=a,r.height=n+i,r.depth=-i,r.maxFontSize=1.125*n*t.sizeMultiplier,r},mathmlBuilder(e,t){var r=N(e.width,t),a=N(e.height,t),n=e.shift?N(e.shift,t):0,i=t.color&&t.getColor()||"black",s=new tB("mspace");s.setAttribute("mathbackground",i),s.setAttribute("width",L(r)),s.setAttribute("height",L(a));var o=new tB("mpadded",[s]);return n>=0?o.setAttribute("height",L(n)):(o.setAttribute("height",L(n)),o.setAttribute("depth",L(-n))),o.setAttribute("voffset",L(n)),o}});var ad=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];tu({type:"sizing",names:ad,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{breakOnTokenText:r,funcName:a,parser:n}=e,i=n.parseExpression(!1,r);return{type:"sizing",mode:n.mode,size:ad.indexOf(a)+1,body:i}},htmlBuilder:(e,t)=>{var r=t.havingSize(e.size);return ap(e.body,r,t)},mathmlBuilder:(e,t)=>{var r=t.havingSize(e.size),a=new tB("mstyle",tF(e.body,r));return a.setAttribute("mathsize",L(r.sizeMultiplier)),a}}),tu({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{var a,{parser:n}=e,i=!1,s=!1,o=r[0]&&t6(r[0],"ordgroup");if(o)for(var l=0;l<o.body.length;++l)if("t"===(a=t7(o.body[l]).text))i=!0;else if("b"===a)s=!0;else{i=!1,s=!1;break}else i=!0,s=!0;var h=t[0];return{type:"smash",mode:n.mode,body:h,smashHeight:i,smashDepth:s}},htmlBuilder:(e,t)=>{var r=e1([],[tA(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0),e.smashDepth&&(r.depth=0),e.smashHeight&&e.smashDepth)return e1(["mord","smash"],[r],t);if(r.children)for(var a=0;a<r.children.length;a++)e.smashHeight&&(r.children[a].height=0),e.smashDepth&&(r.children[a].depth=0);return e1(["mord"],[e2({positionType:"firstBaseline",children:[{type:"elem",elem:r}]})],t)},mathmlBuilder:(e,t)=>{var r=new tB("mpadded",[tV(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),tu({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){var{parser:a}=e,n=r[0],i=t[0];return{type:"sqrt",mode:a.mode,body:i,index:n}},htmlBuilder(e,t){var r=tA(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=e3(r,t);var a=t.fontMetrics().defaultRuleThickness,n=a;t.style.id<M.TEXT.id&&(n=t.fontMetrics().xHeight);var i=a+n/4,{span:s,ruleWidth:o,advanceWidth:l}=rA(r.height+r.depth+i+a,t),h=s.height-o;h>r.height+r.depth+i&&(i=(i+h-r.height-r.depth)/2);var m=s.height-r.height-i-o;r.style.paddingLeft=L(l);var c=e2({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+m)},{type:"elem",elem:s},{type:"kern",size:o}]});if(!e.index)return e1(["mord","sqrt"],[c],t);var u=t.havingStyle(M.SCRIPTSCRIPT),p=tA(e.index,u,t),d=e1(["root"],[e2({positionType:"shift",positionData:-(.6*(c.height-c.depth)),children:[{type:"elem",elem:p}]})]);return e1(["mord","sqrt"],[d,c],t)},mathmlBuilder(e,t){var{body:r,index:a}=e;return a?new tB("mroot",[tV(r,t),tV(a,t)]):new tB("msqrt",[tV(r,t)])}});var ag={display:M.DISPLAY,text:M.TEXT,script:M.SCRIPT,scriptscript:M.SCRIPTSCRIPT};tu({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){var{breakOnTokenText:r,funcName:a,parser:n}=e,i=n.parseExpression(!0,r),s=a.slice(1,a.length-5);if(!(s in ag))throw Error("Unknown style: "+s);return{type:"styling",mode:n.mode,style:s,body:i}},htmlBuilder(e,t){var r=ag[e.style],a=t.havingStyle(r);return e.resetFont&&(a=a.withFont("")),ap(e.body,a,t)},mathmlBuilder(e,t){var r=ag[e.style],a=t.havingStyle(r);e.resetFont&&(a=a.withFont(""));var n=new tB("mstyle",tF(e.body,a)),i={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return n.setAttribute("scriptlevel",i[0]),n.setAttribute("displaystyle",i[1]),n}});var af=function(e,t){var r=e.base;if(!r)return null;if("op"===r.type)return r.limits&&(t.style.size===M.DISPLAY.size||r.alwaysHandleSupSub)?al:null;if("operatorname"===r.type)return r.alwaysHandleSupSub&&(t.style.size===M.DISPLAY.size||r.limits)?au:null;if("accent"===r.type)return d(r.base)?t2:null;if("horizBrace"===r.type)return!e.sub===r.isOver?aa:null;else return null};tp({type:"supsub",htmlBuilder(e,t){var r,a=af(e,t);if(a)return a(e,t);var{base:n,sup:i,sub:s}=e,o=tA(n,t),l=t.fontMetrics(),h=0,m=0,c=n&&d(n);if(i){var u=t.havingStyle(t.style.sup());b=tA(i,u,t),c||(h=o.height-u.fontMetrics().supDrop*u.sizeMultiplier/t.sizeMultiplier)}if(s){var p=t.havingStyle(t.style.sub());y=tA(s,p,t),c||(m=o.depth+p.fontMetrics().subDrop*p.sizeMultiplier/t.sizeMultiplier)}x=t.style===M.DISPLAY?l.sup1:t.style.cramped?l.sup3:l.sup2;var g=t.sizeMultiplier,f=L(.5/l.ptPerEm/g),v=null;if(y){var b,y,x,w,k=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(o instanceof $||k)&&(v=L(-(null!=(w=o.italic)?w:0)))}if(b&&y){h=Math.max(h,x,b.depth+.25*l.xHeight),m=Math.max(m,l.sub2);var z=4*l.defaultRuleThickness;if(h-b.depth-(y.height-m)<z){m=z-(h-b.depth)+y.height;var S=.8*l.xHeight-(h-b.depth);S>0&&(h+=S,m-=S)}r=e2({positionType:"individualShift",children:[{type:"elem",elem:y,shift:m,marginRight:f,marginLeft:v},{type:"elem",elem:b,shift:-h,marginRight:f}]})}else if(y)r=e2({positionType:"shift",positionData:m=Math.max(m,l.sub1,y.height-.8*l.xHeight),children:[{type:"elem",elem:y,marginLeft:v,marginRight:f}]});else if(b)r=e2({positionType:"shift",positionData:-(h=Math.max(h,x,b.depth+.25*l.xHeight)),children:[{type:"elem",elem:b,marginRight:f}]});else throw Error("supsub must have either sup or sub.");return e1([tS(o,"right")||"mord"],[o,e1(["msupsub"],[r])],t)},mathmlBuilder(e,t){var r,a,n=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(n=!0,r=e.base.isOver),e.base&&("op"===e.base.type||"operatorname"===e.base.type)&&(e.base.parentIsSupSub=!0);var i=[tV(e.base,t)];if(e.sub&&i.push(tV(e.sub,t)),e.sup&&i.push(tV(e.sup,t)),n)a=r?"mover":"munder";else if(e.sub)if(e.sup){var s=e.base;a=s&&"op"===s.type&&s.limits&&t.style===M.DISPLAY||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(t.style===M.DISPLAY||s.limits)?"munderover":"msubsup"}else{var o=e.base;a=o&&"op"===o.type&&o.limits&&(t.style===M.DISPLAY||o.alwaysHandleSupSub)||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(o.limits||t.style===M.DISPLAY)?"munder":"msub"}else{var l=e.base;a=l&&"op"===l.type&&l.limits&&(t.style===M.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===M.DISPLAY)?"mover":"msup"}return new tB(a,i)}}),tp({type:"atom",htmlBuilder:(e,t)=>eZ(e.text,e.mode,t,["m"+e.family]),mathmlBuilder(e,t){var r=new tB("mo",[tE(e.text,e.mode)]);if("bin"===e.family){var a=tN(e,t);"bold-italic"===a&&r.setAttribute("mathvariant",a)}else"punct"===e.family?r.setAttribute("separator","true"):("open"===e.family||"close"===e.family)&&r.setAttribute("stretchy","false");return r}});var av={mi:"italic",mn:"normal",mtext:"normal"};tp({type:"mathord",htmlBuilder:(e,t)=>eK(e,t,"mathord"),mathmlBuilder(e,t){var r=new tB("mi",[tE(e.text,e.mode,t)]),a=tN(e,t)||"italic";return a!==av[r.type]&&r.setAttribute("mathvariant",a),r}}),tp({type:"textord",htmlBuilder:(e,t)=>eK(e,t,"textord"),mathmlBuilder(e,t){var r,a=tE(e.text,e.mode,t),n=tN(e,t)||"normal";return n!==av[(r="text"===e.mode?new tB("mtext",[a]):/[0-9]/.test(e.text)?new tB("mn",[a]):"\\prime"===e.text?new tB("mo",[a]):new tB("mi",[a])).type]&&r.setAttribute("mathvariant",n),r}});var ab={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},ay={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};tp({type:"spacing",htmlBuilder(e,t){if(ay.hasOwnProperty(e.text)){var r=ay[e.text].className||"";if("text"!==e.mode)return e1(["mspace",r],[eZ(e.text,e.mode,t)],t);var n=eK(e,t,"textord");return n.classes.push(r),n}if(ab.hasOwnProperty(e.text))return e1(["mspace",ab[e.text]],[],t);throw new a('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){var r;if(ay.hasOwnProperty(e.text))r=new tB("mtext",[new tq("\xa0")]);else if(ab.hasOwnProperty(e.text))return new tB("mspace");else throw new a('Unknown type of space "'+e.text+'"');return r}});var ax=()=>{var e=new tB("mtd",[]);return e.setAttribute("width","50%"),e};tp({type:"tag",mathmlBuilder(e,t){var r=new tB("mtable",[new tB("mtr",[ax(),new tB("mtd",[tP(e.body,t)]),ax(),new tB("mtd",[tP(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var aw={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},ak={"\\textbf":"textbf","\\textmd":"textmd"},az={"\\textit":"textit","\\textup":"textup"},aS=(e,t)=>{var r=e.font;return r?aw[r]?t.withTextFontFamily(aw[r]):ak[r]?t.withTextFontWeight(ak[r]):"\\emph"===r?"textit"===t.fontShape?t.withTextFontShape("textup"):t.withTextFontShape("textit"):t.withTextFontShape(az[r]):t};tu({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"text",mode:r.mode,body:tg(n),font:a}},htmlBuilder(e,t){var r=aS(e,t);return e1(["mord","text"],tx(e.body,r,!0),r)},mathmlBuilder(e,t){var r=aS(e,t);return tP(e.body,r)}}),tu({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){var r=tA(e.body,t),a=e5("underline-line",t),n=t.fontMetrics().defaultRuleThickness;return e1(["mord","underline"],[e2({positionType:"top",positionData:r.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:r}]})],t)},mathmlBuilder(e,t){var r=new tB("mo",[new tq("\u203E")]);r.setAttribute("stretchy","true");var a=new tB("munder",[tV(e.body,t),r]);return a.setAttribute("accentunder","true"),a}}),tu({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){var{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){var r=tA(e.body,t),a=t.fontMetrics().axisHeight;return e2({positionType:"shift",positionData:.5*(r.height-a-(r.depth+a)),children:[{type:"elem",elem:r}]})},mathmlBuilder(e,t){var r=new tB("mpadded",[tV(e.body,t)],["vcenter"]);return new tB("mrow",[r])}}),tu({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new a("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){for(var r=aM(e),a=[],n=t.havingStyle(t.style.text()),i=0;i<r.length;i++){var s=r[i];"~"===s&&(s="\\textasciitilde"),a.push(e$(s,"Typewriter-Regular",e.mode,n,["mord","texttt"]))}return e1(["mord","text"].concat(n.sizingClasses(t)),eQ(a),n)},mathmlBuilder(e,t){var r=new tB("mtext",[new tq(aM(e))]);return r.setAttribute("mathvariant","monospace"),r}});var aM=e=>e.body.replace(/ /g,e.star?"\u2423":"\xa0"),aA="[ \r\n ]",aT="[\u0300-\u036F]",aC=RegExp(aT+"+$"),aB="("+aA+"+)|\\\\(\n|[ \r ]+\n?)[ \r ]*|([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+aT+"*|[\uD800-\uDBFF][\uDC00-\uDFFF]"+aT+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|(\\\\[a-zA-Z@]+)"+aA+"*|\\\\[^\uD800-\uDFFF])";class aq{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=RegExp(aB,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new rZ("EOF",new r$(this,t,t));var r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new a("Unexpected character: '"+e[t]+"'",new rZ(e[t],new r$(this,t,t+1)));var n=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[n]){var i=e.indexOf("\n",this.tokenRegex.lastIndex);return -1===i?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=i+1,this.lex()}return new rZ(n,new r$(this,t,this.tokenRegex.lastIndex))}}class aI{constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new a("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(var a=0;a<this.undefStack.length;a++)delete this.undefStack[a][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(e)&&(n[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}r_["\\noexpand"]=function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}},r_["\\expandafter"]=function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}},r_["\\@firstoftwo"]=function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}},r_["\\@secondoftwo"]=function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}},r_["\\@ifnextchar"]=function(e){var t=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}},r_["\\@ifstar"]="\\@ifnextchar *{\\@firstoftwo{#1}}",r_["\\TextOrMath"]=function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}};var aH={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};r_["\\char"]=function(e){var t,r,n=e.popToken(),i=0;if("'"===n.text)t=8,n=e.popToken();else if('"'===n.text)t=16,n=e.popToken();else if("`"===n.text)if("\\"===(n=e.popToken()).text[0])i=n.text.charCodeAt(1);else if("EOF"===n.text)throw new a("\\char` missing argument");else i=n.text.charCodeAt(0);else t=10;if(t){if(null==(i=aH[n.text])||i>=t)throw new a("Invalid base-"+t+" digit "+n.text);for(;null!=(r=aH[e.future().text])&&r<t;)i*=t,i+=r,e.popToken()}return"\\@char{"+i+"}"};var aR=(e,t,r,n)=>{var i=e.consumeArg().tokens;if(1!==i.length)throw new a("\\newcommand's first argument must be a macro name");var s=i[0].text,o=e.isDefined(s);if(o&&!t)throw new a("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!o&&!r)throw new a("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var l=0;if(1===(i=e.consumeArg().tokens).length&&"["===i[0].text){for(var h="",m=e.expandNextToken();"]"!==m.text&&"EOF"!==m.text;)h+=m.text,m=e.expandNextToken();if(!h.match(/^\s*[0-9]+\s*$/))throw new a("Invalid number of arguments: "+h);l=parseInt(h),i=e.consumeArg().tokens}return o&&n||e.macros.set(s,{tokens:i,numArgs:l}),""};r_["\\newcommand"]=e=>aR(e,!1,!0,!1),r_["\\renewcommand"]=e=>aR(e,!0,!1,!1),r_["\\providecommand"]=e=>aR(e,!0,!0,!0),r_["\\message"]=e=>(console.log(e.consumeArgs(1)[0].reverse().map(e=>e.text).join("")),""),r_["\\errmessage"]=e=>(console.error(e.consumeArgs(1)[0].reverse().map(e=>e.text).join("")),""),r_["\\show"]=e=>{var t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),th[r],en.math[r],en.text[r]),""},r_["\\bgroup"]="{",r_["\\egroup"]="}",r_["~"]="\\nobreakspace",r_["\\lq"]="`",r_["\\rq"]="'",r_["\\aa"]="\\r a",r_["\\AA"]="\\r A",r_["\\textcopyright"]="\\html@mathml{\\textcircled{c}}{\\char`\xa9}",r_["\\copyright"]="\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}",r_["\\textregistered"]="\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}",r_["\u212C"]="\\mathscr{B}",r_["\u2130"]="\\mathscr{E}",r_["\u2131"]="\\mathscr{F}",r_["\u210B"]="\\mathscr{H}",r_["\u2110"]="\\mathscr{I}",r_["\u2112"]="\\mathscr{L}",r_["\u2133"]="\\mathscr{M}",r_["\u211B"]="\\mathscr{R}",r_["\u212D"]="\\mathfrak{C}",r_["\u210C"]="\\mathfrak{H}",r_["\u2128"]="\\mathfrak{Z}",r_["\\Bbbk"]="\\Bbb{k}",r_["\\llap"]="\\mathllap{\\textrm{#1}}",r_["\\rlap"]="\\mathrlap{\\textrm{#1}}",r_["\\clap"]="\\mathclap{\\textrm{#1}}",r_["\\mathstrut"]="\\vphantom{(}",r_["\\underbar"]="\\underline{\\text{#1}}",r_["\\not"]='\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}',r_["\\neq"]="\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}",r_["\\ne"]="\\neq",r_["\u2260"]="\\neq",r_["\\notin"]="\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}",r_["\u2209"]="\\notin",r_["\u2258"]="\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}",r_["\u2259"]="\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}",r_["\u225A"]="\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}",r_["\u225B"]="\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}",r_["\u225D"]="\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}",r_["\u225E"]="\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}",r_["\u225F"]="\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}",r_["\u27C2"]="\\perp",r_["\u203C"]="\\mathclose{!\\mkern-0.8mu!}",r_["\u220C"]="\\notni",r_["\u231C"]="\\ulcorner",r_["\u231D"]="\\urcorner",r_["\u231E"]="\\llcorner",r_["\u231F"]="\\lrcorner",r_["\xa9"]="\\copyright",r_["\xae"]="\\textregistered",r_["\\ulcorner"]='\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}',r_["\\urcorner"]='\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}',r_["\\llcorner"]='\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}',r_["\\lrcorner"]='\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}',r_["\\vdots"]="{\\varvdots\\rule{0pt}{15pt}}",r_["\u22EE"]="\\vdots",r_["\\varGamma"]="\\mathit{\\Gamma}",r_["\\varDelta"]="\\mathit{\\Delta}",r_["\\varTheta"]="\\mathit{\\Theta}",r_["\\varLambda"]="\\mathit{\\Lambda}",r_["\\varXi"]="\\mathit{\\Xi}",r_["\\varPi"]="\\mathit{\\Pi}",r_["\\varSigma"]="\\mathit{\\Sigma}",r_["\\varUpsilon"]="\\mathit{\\Upsilon}",r_["\\varPhi"]="\\mathit{\\Phi}",r_["\\varPsi"]="\\mathit{\\Psi}",r_["\\varOmega"]="\\mathit{\\Omega}",r_["\\substack"]="\\begin{subarray}{c}#1\\end{subarray}",r_["\\colon"]="\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax",r_["\\boxed"]="\\fbox{$\\displaystyle{#1}$}",r_["\\iff"]="\\DOTSB\\;\\Longleftrightarrow\\;",r_["\\implies"]="\\DOTSB\\;\\Longrightarrow\\;",r_["\\impliedby"]="\\DOTSB\\;\\Longleftarrow\\;",r_["\\dddot"]="{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}",r_["\\ddddot"]="{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}";var aE={",":"\\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"},aO=new Set(["bin","rel"]);r_["\\dots"]=function(e){var t="\\dotso",r=e.expandAfterFuture().text;return r in aE?t=aE[r]:"\\not"===r.slice(0,4)?t="\\dotsb":r in en.math&&aO.has(en.math[r].group)&&(t="\\dotsb"),t};var aD={")":!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};r_["\\dotso"]=function(e){return e.future().text in aD?"\\ldots\\,":"\\ldots"},r_["\\dotsc"]=function(e){var t=e.future().text;return t in aD&&","!==t?"\\ldots\\,":"\\ldots"},r_["\\cdots"]=function(e){return e.future().text in aD?"\\@cdots\\,":"\\@cdots"},r_["\\dotsb"]="\\cdots",r_["\\dotsm"]="\\cdots",r_["\\dotsi"]="\\!\\cdots",r_["\\dotsx"]="\\ldots\\,",r_["\\DOTSI"]="\\relax",r_["\\DOTSB"]="\\relax",r_["\\DOTSX"]="\\relax",r_["\\tmspace"]="\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax",r_["\\,"]="\\tmspace+{3mu}{.1667em}",r_["\\thinspace"]="\\,",r_["\\>"]="\\mskip{4mu}",r_["\\:"]="\\tmspace+{4mu}{.2222em}",r_["\\medspace"]="\\:",r_["\\;"]="\\tmspace+{5mu}{.2777em}",r_["\\thickspace"]="\\;",r_["\\!"]="\\tmspace-{3mu}{.1667em}",r_["\\negthinspace"]="\\!",r_["\\negmedspace"]="\\tmspace-{4mu}{.2222em}",r_["\\negthickspace"]="\\tmspace-{5mu}{.277em}",r_["\\enspace"]="\\kern.5em ",r_["\\enskip"]="\\hskip.5em\\relax",r_["\\quad"]="\\hskip1em\\relax",r_["\\qquad"]="\\hskip2em\\relax",r_["\\tag"]="\\@ifstar\\tag@literal\\tag@paren",r_["\\tag@paren"]="\\tag@literal{({#1})}",r_["\\tag@literal"]=e=>{if(e.macros.get("\\df@tag"))throw new a("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"},r_["\\bmod"]="\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}",r_["\\pod"]="\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)",r_["\\pmod"]="\\pod{{\\rm mod}\\mkern6mu#1}",r_["\\mod"]="\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1",r_["\\newline"]="\\\\\\relax",r_["\\TeX"]="\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}";var aN=L(Q["Main-Regular"][84][1]-.7*Q["Main-Regular"][65][1]);r_["\\LaTeX"]="\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+aN+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}",r_["\\KaTeX"]="\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+aN+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}",r_["\\hspace"]="\\@ifstar\\@hspacer\\@hspace",r_["\\@hspace"]="\\hskip #1\\relax",r_["\\@hspacer"]="\\rule{0pt}{0pt}\\hskip #1\\relax",r_["\\ordinarycolon"]=":",r_["\\vcentcolon"]="\\mathrel{\\mathop\\ordinarycolon}",r_["\\dblcolon"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}',r_["\\coloneqq"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}',r_["\\Coloneqq"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}',r_["\\coloneq"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}',r_["\\Coloneq"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}',r_["\\eqqcolon"]='\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}',r_["\\Eqqcolon"]='\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}',r_["\\eqcolon"]='\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}',r_["\\Eqcolon"]='\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}',r_["\\colonapprox"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}',r_["\\Colonapprox"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}',r_["\\colonsim"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}',r_["\\Colonsim"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}',r_["\u2237"]="\\dblcolon",r_["\u2239"]="\\eqcolon",r_["\u2254"]="\\coloneqq",r_["\u2255"]="\\eqqcolon",r_["\u2A74"]="\\Coloneqq",r_["\\ratio"]="\\vcentcolon",r_["\\coloncolon"]="\\dblcolon",r_["\\colonequals"]="\\coloneqq",r_["\\coloncolonequals"]="\\Coloneqq",r_["\\equalscolon"]="\\eqqcolon",r_["\\equalscoloncolon"]="\\Eqqcolon",r_["\\colonminus"]="\\coloneq",r_["\\coloncolonminus"]="\\Coloneq",r_["\\minuscolon"]="\\eqcolon",r_["\\minuscoloncolon"]="\\Eqcolon",r_["\\coloncolonapprox"]="\\Colonapprox",r_["\\coloncolonsim"]="\\Colonsim",r_["\\simcolon"]="\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}",r_["\\simcoloncolon"]="\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}",r_["\\approxcolon"]="\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}",r_["\\approxcoloncolon"]="\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}",r_["\\notni"]="\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}",r_["\\limsup"]="\\DOTSB\\operatorname*{lim\\,sup}",r_["\\liminf"]="\\DOTSB\\operatorname*{lim\\,inf}",r_["\\injlim"]="\\DOTSB\\operatorname*{inj\\,lim}",r_["\\projlim"]="\\DOTSB\\operatorname*{proj\\,lim}",r_["\\varlimsup"]="\\DOTSB\\operatorname*{\\overline{lim}}",r_["\\varliminf"]="\\DOTSB\\operatorname*{\\underline{lim}}",r_["\\varinjlim"]="\\DOTSB\\operatorname*{\\underrightarrow{lim}}",r_["\\varprojlim"]="\\DOTSB\\operatorname*{\\underleftarrow{lim}}",r_["\\gvertneqq"]="\\html@mathml{\\@gvertneqq}{\u2269}",r_["\\lvertneqq"]="\\html@mathml{\\@lvertneqq}{\u2268}",r_["\\ngeqq"]="\\html@mathml{\\@ngeqq}{\u2271}",r_["\\ngeqslant"]="\\html@mathml{\\@ngeqslant}{\u2271}",r_["\\nleqq"]="\\html@mathml{\\@nleqq}{\u2270}",r_["\\nleqslant"]="\\html@mathml{\\@nleqslant}{\u2270}",r_["\\nshortmid"]="\\html@mathml{\\@nshortmid}{\u2224}",r_["\\nshortparallel"]="\\html@mathml{\\@nshortparallel}{\u2226}",r_["\\nsubseteqq"]="\\html@mathml{\\@nsubseteqq}{\u2288}",r_["\\nsupseteqq"]="\\html@mathml{\\@nsupseteqq}{\u2289}",r_["\\varsubsetneq"]="\\html@mathml{\\@varsubsetneq}{\u228A}",r_["\\varsubsetneqq"]="\\html@mathml{\\@varsubsetneqq}{\u2ACB}",r_["\\varsupsetneq"]="\\html@mathml{\\@varsupsetneq}{\u228B}",r_["\\varsupsetneqq"]="\\html@mathml{\\@varsupsetneqq}{\u2ACC}",r_["\\imath"]="\\html@mathml{\\@imath}{\u0131}",r_["\\jmath"]="\\html@mathml{\\@jmath}{\u0237}",r_["\\llbracket"]="\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}",r_["\\rrbracket"]="\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}",r_["\u27E6"]="\\llbracket",r_["\u27E7"]="\\rrbracket",r_["\\lBrace"]="\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}",r_["\\rBrace"]="\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}",r_["\u2983"]="\\lBrace",r_["\u2984"]="\\rBrace",r_["\\minuso"]="\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}",r_["\u29B5"]="\\minuso",r_["\\darr"]="\\downarrow",r_["\\dArr"]="\\Downarrow",r_["\\Darr"]="\\Downarrow",r_["\\lang"]="\\langle",r_["\\rang"]="\\rangle",r_["\\uarr"]="\\uparrow",r_["\\uArr"]="\\Uparrow",r_["\\Uarr"]="\\Uparrow",r_["\\N"]="\\mathbb{N}",r_["\\R"]="\\mathbb{R}",r_["\\Z"]="\\mathbb{Z}",r_["\\alef"]="\\aleph",r_["\\alefsym"]="\\aleph",r_["\\Alpha"]="\\mathrm{A}",r_["\\Beta"]="\\mathrm{B}",r_["\\bull"]="\\bullet",r_["\\Chi"]="\\mathrm{X}",r_["\\clubs"]="\\clubsuit",r_["\\cnums"]="\\mathbb{C}",r_["\\Complex"]="\\mathbb{C}",r_["\\Dagger"]="\\ddagger",r_["\\diamonds"]="\\diamondsuit",r_["\\empty"]="\\emptyset",r_["\\Epsilon"]="\\mathrm{E}",r_["\\Eta"]="\\mathrm{H}",r_["\\exist"]="\\exists",r_["\\harr"]="\\leftrightarrow",r_["\\hArr"]="\\Leftrightarrow",r_["\\Harr"]="\\Leftrightarrow",r_["\\hearts"]="\\heartsuit",r_["\\image"]="\\Im",r_["\\infin"]="\\infty",r_["\\Iota"]="\\mathrm{I}",r_["\\isin"]="\\in",r_["\\Kappa"]="\\mathrm{K}",r_["\\larr"]="\\leftarrow",r_["\\lArr"]="\\Leftarrow",r_["\\Larr"]="\\Leftarrow",r_["\\lrarr"]="\\leftrightarrow",r_["\\lrArr"]="\\Leftrightarrow",r_["\\Lrarr"]="\\Leftrightarrow",r_["\\Mu"]="\\mathrm{M}",r_["\\natnums"]="\\mathbb{N}",r_["\\Nu"]="\\mathrm{N}",r_["\\Omicron"]="\\mathrm{O}",r_["\\plusmn"]="\\pm",r_["\\rarr"]="\\rightarrow",r_["\\rArr"]="\\Rightarrow",r_["\\Rarr"]="\\Rightarrow",r_["\\real"]="\\Re",r_["\\reals"]="\\mathbb{R}",r_["\\Reals"]="\\mathbb{R}",r_["\\Rho"]="\\mathrm{P}",r_["\\sdot"]="\\cdot",r_["\\sect"]="\\S",r_["\\spades"]="\\spadesuit",r_["\\sub"]="\\subset",r_["\\sube"]="\\subseteq",r_["\\supe"]="\\supseteq",r_["\\Tau"]="\\mathrm{T}",r_["\\thetasym"]="\\vartheta",r_["\\weierp"]="\\wp",r_["\\Zeta"]="\\mathrm{Z}",r_["\\argmin"]="\\DOTSB\\operatorname*{arg\\,min}",r_["\\argmax"]="\\DOTSB\\operatorname*{arg\\,max}",r_["\\plim"]="\\DOTSB\\mathop{\\operatorname{plim}}\\limits",r_["\\bra"]="\\mathinner{\\langle{#1}|}",r_["\\ket"]="\\mathinner{|{#1}\\rangle}",r_["\\braket"]="\\mathinner{\\langle{#1}\\rangle}",r_["\\Bra"]="\\left\\langle#1\\right|",r_["\\Ket"]="\\left|#1\\right\\rangle";var aL=e=>t=>{var r=t.consumeArg().tokens,a=t.consumeArg().tokens,n=t.consumeArg().tokens,i=t.consumeArg().tokens,s=t.macros.get("|"),o=t.macros.get("\\|");t.macros.beginGroup();var l=t=>r=>{e&&(r.macros.set("|",s),n.length&&r.macros.set("\\|",o));var i=t;return!t&&n.length&&"|"===r.future().text&&(r.popToken(),i=!0),{tokens:i?n:a,numArgs:0}};t.macros.set("|",l(!1)),n.length&&t.macros.set("\\|",l(!0));var h=t.consumeArg().tokens,m=t.expandTokens([...i,...h,...r]);return t.macros.endGroup(),{tokens:m.reverse(),numArgs:0}};n=aL(!1),r_["\\bra@ket"]=n,i=aL(!0),r_["\\bra@set"]=i,r_["\\Braket"]="\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}",r_["\\Set"]="\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}",r_["\\set"]="\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}",r_["\\angln"]="{\\angl n}",r_["\\blue"]="\\textcolor{##6495ed}{#1}",r_["\\orange"]="\\textcolor{##ffa500}{#1}",r_["\\pink"]="\\textcolor{##ff00af}{#1}",r_["\\red"]="\\textcolor{##df0030}{#1}",r_["\\green"]="\\textcolor{##28ae7b}{#1}",r_["\\gray"]="\\textcolor{gray}{#1}",r_["\\purple"]="\\textcolor{##9d38bd}{#1}",r_["\\blueA"]="\\textcolor{##ccfaff}{#1}",r_["\\blueB"]="\\textcolor{##80f6ff}{#1}",r_["\\blueC"]="\\textcolor{##63d9ea}{#1}",r_["\\blueD"]="\\textcolor{##11accd}{#1}",r_["\\blueE"]="\\textcolor{##0c7f99}{#1}",r_["\\tealA"]="\\textcolor{##94fff5}{#1}",r_["\\tealB"]="\\textcolor{##26edd5}{#1}",r_["\\tealC"]="\\textcolor{##01d1c1}{#1}",r_["\\tealD"]="\\textcolor{##01a995}{#1}",r_["\\tealE"]="\\textcolor{##208170}{#1}",r_["\\greenA"]="\\textcolor{##b6ffb0}{#1}",r_["\\greenB"]="\\textcolor{##8af281}{#1}",r_["\\greenC"]="\\textcolor{##74cf70}{#1}",r_["\\greenD"]="\\textcolor{##1fab54}{#1}",r_["\\greenE"]="\\textcolor{##0d923f}{#1}",r_["\\goldA"]="\\textcolor{##ffd0a9}{#1}",r_["\\goldB"]="\\textcolor{##ffbb71}{#1}",r_["\\goldC"]="\\textcolor{##ff9c39}{#1}",r_["\\goldD"]="\\textcolor{##e07d10}{#1}",r_["\\goldE"]="\\textcolor{##a75a05}{#1}",r_["\\redA"]="\\textcolor{##fca9a9}{#1}",r_["\\redB"]="\\textcolor{##ff8482}{#1}",r_["\\redC"]="\\textcolor{##f9685d}{#1}",r_["\\redD"]="\\textcolor{##e84d39}{#1}",r_["\\redE"]="\\textcolor{##bc2612}{#1}",r_["\\maroonA"]="\\textcolor{##ffbde0}{#1}",r_["\\maroonB"]="\\textcolor{##ff92c6}{#1}",r_["\\maroonC"]="\\textcolor{##ed5fa6}{#1}",r_["\\maroonD"]="\\textcolor{##ca337c}{#1}",r_["\\maroonE"]="\\textcolor{##9e034e}{#1}",r_["\\purpleA"]="\\textcolor{##ddd7ff}{#1}",r_["\\purpleB"]="\\textcolor{##c6b9fc}{#1}",r_["\\purpleC"]="\\textcolor{##aa87ff}{#1}",r_["\\purpleD"]="\\textcolor{##7854ab}{#1}",r_["\\purpleE"]="\\textcolor{##543b78}{#1}",r_["\\mintA"]="\\textcolor{##f5f9e8}{#1}",r_["\\mintB"]="\\textcolor{##edf2df}{#1}",r_["\\mintC"]="\\textcolor{##e0e5cc}{#1}",r_["\\grayA"]="\\textcolor{##f6f7f7}{#1}",r_["\\grayB"]="\\textcolor{##f0f1f2}{#1}",r_["\\grayC"]="\\textcolor{##e3e5e6}{#1}",r_["\\grayD"]="\\textcolor{##d6d8da}{#1}",r_["\\grayE"]="\\textcolor{##babec2}{#1}",r_["\\grayF"]="\\textcolor{##888d93}{#1}",r_["\\grayG"]="\\textcolor{##626569}{#1}",r_["\\grayH"]="\\textcolor{##3b3e40}{#1}",r_["\\grayI"]="\\textcolor{##21242c}{#1}",r_["\\kaBlue"]="\\textcolor{##314453}{#1}",r_["\\kaGreen"]="\\textcolor{##71B307}{#1}";var aF={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class aP{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new aI(r_,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new aq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,r,a;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),{tokens:a,end:r}=this.consumeArg(["]"])}else({tokens:a,start:t,end:r}=this.consumeArg());return this.pushToken(new rZ("EOF",r.loc)),this.pushTokens(a),new rZ("",r$.range(t,r))}consumeSpaces(){for(;;)if(" "===this.future().text)this.stack.pop();else break}consumeArg(e){var t,r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),s=0,o=0;do{if(t=this.popToken(),r.push(t),"{"===t.text)++s;else if("}"===t.text){if(-1==--s)throw new a("Extra }",t)}else if("EOF"===t.text)throw new a("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",t);if(e&&n)if((0===s||1===s&&"{"===e[o])&&t.text===e[o]){if(++o===e.length){r.splice(-o,o);break}}else o=0}while(0!==s||n)return"{"===i.text&&"}"===r[r.length-1].text&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:t}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new a("The length of delimiters doesn't match the number of args!");for(var r=t[0],n=0;n<r.length;n++){var i=this.popToken();if(r[n]!==i.text)throw new a("Use of the macro doesn't match its definition",i)}}for(var s=[],o=0;o<e;o++)s.push(this.consumeArg(t&&t[o+1]).tokens);return s}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new a("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),r=t.text,n=t.noexpand?null:this._getExpansion(r);if(null==n||e&&n.unexpandable){if(e&&null==n&&"\\"===r[0]&&!this.isDefined(r))throw new a("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);var i=n.tokens,s=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs){i=i.slice();for(var o=i.length-1;o>=0;--o){var l=i[o];if("#"===l.text){if(0===o)throw new a("Incomplete placeholder at end of macro body",l);if("#"===(l=i[--o]).text)i.splice(o+1,1);else if(/^[1-9]$/.test(l.text))i.splice(o,2,...s[l.text-1]);else throw new a("Not a valid argument number",l)}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new rZ(e)]):void 0}expandTokens(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){var a=this.stack.pop();a.treatAsRelax&&(a.noexpand=!1,a.treatAsRelax=!1),t.push(a)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t?t.map(e=>e.text).join(""):t}_getExpansion(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){var r=this.lexer.catcodes[e];if(null!=r&&13!==r)return}var a="function"==typeof t?t(this):t;if("string"==typeof a){var n=0;if(a.includes("#"))for(var i=a.replace(/##/g,"");i.includes("#"+(n+1));)++n;for(var s=new aq(a,this.settings),o=[],l=s.lex();"EOF"!==l.text;)o.push(l),l=s.lex();return o.reverse(),{tokens:o,numArgs:n}}return a}isDefined(e){return this.macros.has(e)||th.hasOwnProperty(e)||en.math.hasOwnProperty(e)||en.text.hasOwnProperty(e)||aF.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:th.hasOwnProperty(e)&&!th[e].primitive}}var aV=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,aG=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9",\u2090:"a",\u2091:"e",\u2095:"h",\u1D62:"i",\u2C7C:"j",\u2096:"k",\u2097:"l",\u2098:"m",\u2099:"n",\u2092:"o",\u209A:"p",\u1D63:"r",\u209B:"s",\u209C:"t",\u1D64:"u",\u1D65:"v",\u2093:"x",\u1D66:"\u03B2",\u1D67:"\u03B3",\u1D68:"\u03C1",\u1D69:"\u03D5",\u1D6A:"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9",\u1D2C:"A",\u1D2E:"B",\u1D30:"D",\u1D31:"E",\u1D33:"G",\u1D34:"H",\u1D35:"I",\u1D36:"J",\u1D37:"K",\u1D38:"L",\u1D39:"M",\u1D3A:"N",\u1D3C:"O",\u1D3E:"P",\u1D3F:"R",\u1D40:"T",\u1D41:"U",\u2C7D:"V",\u1D42:"W",\u1D43:"a",\u1D47:"b",\u1D9C:"c",\u1D48:"d",\u1D49:"e",\u1DA0:"f",\u1D4D:"g",\u02B0:"h",\u2071:"i",\u02B2:"j",\u1D4F:"k",\u02E1:"l",\u1D50:"m",\u207F:"n",\u1D52:"o",\u1D56:"p",\u02B3:"r",\u02E2:"s",\u1D57:"t",\u1D58:"u",\u1D5B:"v",\u02B7:"w",\u02E3:"x",\u02B8:"y",\u1DBB:"z",\u1D5D:"\u03B2",\u1D5E:"\u03B3",\u1D5F:"\u03B4",\u1D60:"\u03D5",\u1D61:"\u03C7",\u1DBF:"\u03B8"}),aU={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},aX={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308",\u01DF:"a\u0308\u0304","\xe3":"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C","\xe2":"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304","\xe5":"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307","\xe7":"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C","\xea":"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C","\xee":"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300","\xf1":"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308",\u022B:"o\u0308\u0304","\xf5":"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C","\xf4":"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C","\xfb":"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307","\xfd":"y\u0301",\u1EF3:"y\u0300","\xff":"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308",\u01DE:"A\u0308\u0304","\xc3":"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C","\xc2":"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304","\xc5":"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307","\xc7":"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C","\xca":"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C","\xce":"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300","\xd1":"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308",\u022A:"O\u0308\u0304","\xd5":"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C","\xd4":"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C","\xdb":"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307","\xdd":"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"};class aY{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new aP(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new a("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new rZ("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){for(var r=[];;){"math"===this.mode&&this.consumeSpaces();var a=this.fetch();if(aY.endOfExpression.has(a.text)||t&&a.text===t||e&&th[a.text]&&th[a.text].infix)break;var n=this.parseAtom(t);if(n){if("internal"===n.type)continue}else break;r.push(n)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,r=0;r<e.length;r++){var n=e[r];if("infix"===n.type){if(-1!==t)throw new a("only one infix operator per group",n.token);t=r,i=n.replaceWith}}if(-1===t||!i)return e;var i,s,o,l=e.slice(0,t),h=e.slice(t+1);return s=1===l.length&&"ordgroup"===l[0].type?l[0]:{type:"ordgroup",mode:this.mode,body:l},o=1===h.length&&"ordgroup"===h[0].type?h[0]:{type:"ordgroup",mode:this.mode,body:h},["\\\\abovefrac"===i?this.callFunction(i,[s,e[t],o],[]):this.callFunction(i,[s,o],[])]}handleSupSubscript(e){var t,r=this.fetch(),n=r.text;this.consume(),this.consumeSpaces();do t=this.parseGroup(e);while((null==t?void 0:t.type)==="internal")if(!t)throw new a("Expected group after '"+n+"'",r);return t}formatUnsupportedCmd(e){for(var t=[],r=0;r<e.length;r++)t.push({type:"textord",mode:"text",text:e[r]});var a={type:"text",mode:this.mode,body:t};return{type:"color",mode:this.mode,color:this.settings.errorColor,body:[a]}}parseAtom(e){var t,r,n=this.parseGroup("atom",e);if((null==n?void 0:n.type)==="internal"||"text"===this.mode)return n;for(;;){this.consumeSpaces();var i=this.fetch();if("\\limits"===i.text||"\\nolimits"===i.text){if(n&&"op"===n.type)n.limits="\\limits"===i.text,n.alwaysHandleSupSub=!0;else if(n&&"operatorname"===n.type)n.alwaysHandleSupSub&&(n.limits="\\limits"===i.text);else throw new a("Limit controls must follow a math operator",i);this.consume()}else if("^"===i.text){if(t)throw new a("Double superscript",i);t=this.handleSupSubscript("superscript")}else if("_"===i.text){if(r)throw new a("Double subscript",i);r=this.handleSupSubscript("subscript")}else if("'"===i.text){if(t)throw new a("Double superscript",i);var s={type:"textord",mode:this.mode,text:"\\prime"},o=[s];for(this.consume();"'"===this.fetch().text;)o.push(s),this.consume();"^"===this.fetch().text&&o.push(this.handleSupSubscript("superscript")),t={type:"ordgroup",mode:this.mode,body:o}}else if(aG[i.text]){var l=aV.test(i.text),h=[];for(h.push(new rZ(aG[i.text])),this.consume();;){var m=this.fetch().text;if(!aG[m]||aV.test(m)!==l)break;h.unshift(new rZ(aG[m])),this.consume()}var c=this.subparse(h);l?r={type:"ordgroup",mode:"math",body:c}:t={type:"ordgroup",mode:"math",body:c}}else break}return t||r?{type:"supsub",mode:this.mode,base:n,sup:t,sub:r}:n}parseFunction(e,t){var r=this.fetch(),n=r.text,i=th[n];if(!i)return null;if(this.consume(),t&&"atom"!==t&&!i.allowedInArgument)throw new a("Got function '"+n+"' with no arguments"+(t?" as "+t:""),r);if("text"!==this.mode||i.allowedInText){if("math"===this.mode&&!1===i.allowedInMath)throw new a("Can't use function '"+n+"' in math mode",r)}else throw new a("Can't use function '"+n+"' in text mode",r);var{args:s,optArgs:o}=this.parseArguments(n,i);return this.callFunction(n,s,o,r,e)}callFunction(e,t,r,n,i){var s=th[e];if(s&&s.handler)return s.handler({funcName:e,parser:this,token:n,breakOnTokenText:i},t,r);throw new a("No function handler for "+e)}parseArguments(e,t){var r=t.numArgs+t.numOptionalArgs;if(0===r)return{args:[],optArgs:[]};for(var n=[],i=[],s=0;s<r;s++){var o=t.argTypes&&t.argTypes[s],l=s<t.numOptionalArgs;("primitive"in t&&t.primitive&&null==o||"sqrt"===t.type&&1===s&&null==i[0])&&(o="primitive");var h=this.parseGroupOfType("argument to '"+e+"'",o,l);if(l)i.push(h);else if(null!=h)n.push(h);else throw new a("Null argument, please report this as a bug")}return{args:n,optArgs:i}}parseGroupOfType(e,t,r){switch(t){case"color":return this.parseColorGroup(r);case"size":return this.parseSizeGroup(r);case"url":return this.parseUrlGroup(r);case"math":case"text":return this.parseArgumentGroup(r,t);case"hbox":var n=this.parseArgumentGroup(r,"text");return null!=n?{type:"styling",mode:n.mode,body:[n],style:"text",resetFont:!0}:null;case"raw":var i=this.parseStringGroup("raw",r);return null!=i?{type:"raw",mode:"text",string:i.text}:null;case"primitive":if(r)throw new a("A primitive argument cannot be optional");var s=this.parseGroup(e);if(null==s)throw new a("Expected group as "+e,this.fetch());return s;case"original":case null:case void 0:return this.parseArgumentGroup(r);default:throw new a("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;" "===this.fetch().text;)this.consume()}parseStringGroup(e,t){var r,a=this.gullet.scanArgument(t);if(null==a)return null;for(var n="";"EOF"!==(r=this.fetch()).text;)n+=r.text,this.consume();return this.consume(),a.text=n,a}parseRegexGroup(e,t){for(var r,n=this.fetch(),i=n,s="";"EOF"!==(r=this.fetch()).text&&e.test(s+r.text);)s+=(i=r).text,this.consume();if(""===s)throw new a("Invalid "+t+": '"+n.text+"'",n);return n.range(i,s)}parseColorGroup(e){var t=this.parseStringGroup("color",e);if(null==t)return null;var r=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!r)throw new a("Invalid color: '"+t.text+"'",t);var n=r[0];return/^[0-9a-f]{6}$/i.test(n)&&(n="#"+n),{type:"color-token",mode:this.mode,color:n}}parseSizeGroup(e){var t,r=!1;if(this.gullet.consumeSpaces(),!(t=e||"{"===this.gullet.future().text?this.parseStringGroup("size",e):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;e||0!==t.text.length||(t.text="0pt",r=!0);var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!n)throw new a("Invalid size: '"+t.text+"'",t);var i={number:+(n[1]+n[2]),unit:n[3]};if(!D(i))throw new a("Invalid unit: '"+i.unit+"'",t);return{type:"size",mode:this.mode,value:i,isBlank:r}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup("url",e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),null==t)return null;var r=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:r}}parseArgumentGroup(e,t){var r=this.gullet.scanArgument(e);if(null==r)return null;var a=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var n=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var i={type:"ordgroup",mode:this.mode,loc:r.loc,body:n};return t&&this.switchMode(a),i}parseGroup(e,t){var r,n=this.fetch(),i=n.text;if("{"===i||"\\begingroup"===i){this.consume();var s="{"===i?"}":"\\endgroup";this.gullet.beginGroup();var o=this.parseExpression(!1,s),l=this.fetch();this.expect(s),this.gullet.endGroup(),r={type:"ordgroup",mode:this.mode,loc:r$.range(n,l),body:o,semisimple:"\\begingroup"===i||void 0}}else if(null==(r=this.parseFunction(t,e)||this.parseSymbol())&&"\\"===i[0]&&!aF.hasOwnProperty(i)){if(this.settings.throwOnError)throw new a("Undefined control sequence: "+i,n);r=this.formatUnsupportedCmd(i),this.consume()}return r}formLigatures(e){for(var t=e.length-1,r=0;r<t;++r){var a=e[r];if("textord"===a.type){var n=a.text,i=e[r+1];if(i&&"textord"===i.type){if("-"===n&&"-"===i.text){var s=e[r+2];r+1<t&&s&&"textord"===s.type&&"-"===s.text?(e.splice(r,3,{type:"textord",mode:"text",loc:r$.range(a,s),text:"---"}),t-=2):(e.splice(r,2,{type:"textord",mode:"text",loc:r$.range(a,i),text:"--"}),t-=1)}("'"===n||"`"===n)&&i.text===n&&(e.splice(r,2,{type:"textord",mode:"text",loc:r$.range(a,i),text:n+n}),t-=1)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var r=t.slice(5),n="*"===r.charAt(0);if(n&&(r=r.slice(1)),r.length<2||r.charAt(0)!==r.slice(-1))throw new a("\\verb assertion failed --\n please report what input caused this bug");return{type:"verb",mode:"text",body:r=r.slice(1,-1),star:n}}aX.hasOwnProperty(t[0])&&!en[this.mode][t[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=aX[t[0]]+t.slice(1));var i=aC.exec(t);if(i&&("i"===(t=t.substring(0,i.index))?t="\u0131":"j"===t&&(t="\u0237")),en[this.mode][t]){this.settings.strict&&"math"===this.mode&&eH.includes(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var s,o,l=en[this.mode][t].group,h=r$.range(e);s=o=l in t4?{type:"atom",mode:this.mode,family:l,loc:h,text:t}:{type:l,mode:this.mode,loc:h,text:t}}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(C(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),s={type:"textord",mode:"text",loc:r$.range(e),text:t}}if(this.consume(),i)for(var m=0;m<i[0].length;m++){var c=i[0][m];if(!aU[c])throw new a("Unknown accent ' "+c+"'",e);var u=aU[c][this.mode]||aU[c].text;if(!u)throw new a("Accent "+c+" unsupported in "+this.mode+" mode",e);s={type:"accent",mode:this.mode,loc:r$.range(e),label:u,isStretchy:!1,isShifty:!0,base:s}}return s}}aY.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var aj=function(e,t){if(!("string"==typeof e||e instanceof String))throw TypeError("KaTeX can only parse string typed expression");var r=new aY(e,t);delete r.gullet.macros.current["\\df@tag"];var n=r.parse();if(delete r.gullet.macros.current["\\current@color"],delete r.gullet.macros.current["\\color"],r.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new a("\\tag works only in display equations");n=[{type:"tag",mode:"text",body:n,tag:r.subparse([new rZ("\\df@tag")])}]}return n},aW=function(e,t,r){t.textContent="";var a=a$(e,r).toNode();t.appendChild(a)};"u">typeof document&&"CSS1Compat"!==document.compatMode&&("u">typeof console&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),aW=function(){throw new a("KaTeX doesn't work in quirks mode.")});var a_=function(e,t,r){if(r.throwOnError||!(e instanceof a))throw e;var n=e1(["katex-error"],[new $(t)]);return n.setAttribute("title",e.toString()),n.setAttribute("style","color:"+r.errorColor),n},a$=function(e,t){var r=new f(t);try{var a=aj(e,r);return t$(a,e,r)}catch(t){return a_(t,e,r)}},aZ={version:"0.16.47",render:aW,renderToString:function(e,t){return a$(e,t).toMarkup()},ParseError:a,SETTINGS_SCHEMA:g,__parse:function(e,t){return aj(e,new f(t))},__renderToDomTree:a$,__renderToHTMLTree:function(e,t){var r,a=new f(t);try{return r=aj(e,a),t_(e1(["katex"],[tC(r,tW(a))]),a)}catch(t){return a_(t,e,a)}},__setFontMetrics:function(e,t){Q[e]=t},__defineSymbol:ei,__defineFunction:tu,__defineMacro:function(e,t){r_[e]=t},__domTree:{Span:Y,Anchor:j,SymbolNode:$,SvgNode:Z,PathNode:K,LineNode:J}}}}]); \ No newline at end of file diff --git a/assets/js/3636.d70391ac.js b/assets/js/3636.d70391ac.js new file mode 100644 index 0000000..2d2b76c --- /dev/null +++ b/assets/js/3636.d70391ac.js @@ -0,0 +1,94 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3636"],{5937(t,e,s){s.d(e,{A:()=>a});var i=s(1553),r=s(6408);let a=(t,e)=>i.A.lang.round(r.A.parse(t)[e])},5869(t,e,s){s.d(e,{P:()=>n});var i=s(1177),r=s(1293),a=s(6827),n=(0,a.K)((t,e,s,a)=>{t.attr("class",s);let{width:n,height:c,x:h,y:u}=l(t,e);(0,i.a$)(t,c,n,a);let d=o(h,u,n,c,e);t.attr("viewBox",d),r.R.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),l=(0,a.K)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),o=(0,a.K)((t,e,s,i,r)=>`${t-r} ${e-r} ${s} ${i}`,"createViewBox")},6755(t,e,s){s.d(e,{A:()=>a});var i=s(6827),r=s(7829),a=(0,i.K)((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ltv)("#i"+t)),("sandbox"===e?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},7599(t,e,s){s.d(e,{diagram:()=>k});var i=s(6755),r=s(5869),a=s(2391);s(3247),s(5616),s(6163),s(7827),s(3002),s(739),s(6320),s(2217);var n=s(2941),l=s(6348),o=s(1177),c=s(1293),h=s(6827),u=s(7829),d=s(5937),y=s(5582),p=function(){var t=(0,h.K)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[6,9,21,23,25,27,34,37,38,39,40,41,43,46,47,51,53,54,55],s=[2,2],i=[1,7],r=[1,9],a=[1,10],n=[1,11],l=[1,12],o=[1,30],c=[1,23],u=[1,24],d=[1,25],y=[1,26],p=[1,27],b=[1,19],g=[1,28],_=[1,29],f=[1,20],m=[1,18],k=[1,21],E=[1,22],S=[2,6],$=[6,9,21,23,25,27,33,34,37,38,39,40,41,43,46,47,51,53,54,55],T=[1,36],O=[1,37],x=[1,38],N=[1,39],C=[1,40],A=[6,9,12,14,16,19,20,21,23,25,27,33,34,37,38,39,40,41,43,46,47,50,51,53,54,55,69,70,71,72,73],R=[1,46],I=[1,47],D=[1,57],v=[43,51,53,54,55,74,75],L=[1,70],w=[1,68],K=[1,65],M=[1,69],B=[1,71],G=[6,9,12,16,21,23,25,27,33,34,37,38,39,40,41,43,44,45,46,47,51,52,53,54,55,69,70,71,72,73],F=[1,78],Y=[1,77],P=[1,76],z=[69,70,71,72,73],U=[1,91],Z=[6,9,45,50],j=[6,9,12,44,45,50,51,52],q=[1,101],W=[1,100],X=[1,99],V=[18,61],H=[1,110],Q=[1,109],J=[20,43,51,53,54,55],tt=[18,61,64,66],te={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,statement:8,NEWLINE:9,entityName:10,relSpec:11,COLON:12,role:13,STYLE_SEPARATOR:14,idList:15,BLOCK_START:16,attributes: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,direction:28,classDefStatement:29,classStatement:30,styleStatement:31,subgraphHeader:32,END:33,SUBGRAPH:34,separator:35,subgraphTitle:36,direction_tb:37,direction_bt:38,direction_rl:39,direction_lr:40,CLASSDEF:41,stylesOpt:42,UNICODE_TEXT:43,STYLE_TEXT:44,COMMA:45,CLASS:46,STYLE:47,style:48,styleComponent:49,SEMI:50,NUM:51,BRKT:52,ENTITY_NAME:53,DECIMAL_NUM:54,ENTITY_ONE:55,attribute:56,attributeType:57,attributeName:58,attributeKeyTypeList:59,attributeComment:60,ATTRIBUTE_WORD:61,"?":62,attributeKeyType:63,",":64,ATTRIBUTE_KEY:65,COMMENT:66,cardinality:67,relType:68,ZERO_OR_ONE:69,ZERO_OR_MORE:70,ONE_OR_MORE:71,ONLY_ONE:72,MD_PARENT:73,NON_IDENTIFYING:74,IDENTIFYING:75,WORD:76,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"NEWLINE",12:"COLON",14:"STYLE_SEPARATOR",16:"BLOCK_START",18:"BLOCK_STOP",19:"SQS",20:"SQE",21:"title",22:"title_value",23:"acc_title",24:"acc_title_value",25:"acc_descr",26:"acc_descr_value",27:"acc_descr_multiline_value",33:"END",34:"SUBGRAPH",37:"direction_tb",38:"direction_bt",39:"direction_rl",40:"direction_lr",41:"CLASSDEF",43:"UNICODE_TEXT",44:"STYLE_TEXT",45:"COMMA",46:"CLASS",47:"STYLE",50:"SEMI",51:"NUM",52:"BRKT",53:"ENTITY_NAME",54:"DECIMAL_NUM",55:"ENTITY_ONE",61:"ATTRIBUTE_WORD",62:"?",64:",",65:"ATTRIBUTE_KEY",66:"COMMENT",69:"ZERO_OR_ONE",70:"ZERO_OR_MORE",71:"ONE_OR_MORE",72:"ONLY_ONE",73:"MD_PARENT",74:"NON_IDENTIFYING",75:"IDENTIFYING",76:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[7,1],[8,5],[8,9],[8,7],[8,7],[8,4],[8,6],[8,3],[8,5],[8,1],[8,3],[8,7],[8,9],[8,6],[8,8],[8,4],[8,6],[8,2],[8,2],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,3],[32,3],[32,6],[36,1],[36,2],[28,1],[28,1],[28,1],[28,1],[29,4],[15,1],[15,1],[15,3],[15,3],[30,3],[31,4],[42,1],[42,3],[48,1],[48,2],[35,1],[35,1],[35,1],[49,1],[49,1],[49,1],[49,1],[10,1],[10,1],[10,1],[10,1],[10,1],[17,1],[17,2],[56,2],[56,3],[56,3],[56,4],[57,1],[57,2],[58,1],[59,1],[59,3],[63,1],[60,1],[11,3],[67,1],[67,1],[67,1],[67,1],[67,1],[68,1],[68,1],[13,1],[13,1],[13,1]],performAction:(0,h.K)(function(t,e,s,i,r,a,n){var l=a.length-1;switch(r){case 1:break;case 2:case 5:case 6:this.$=[];break;case 3:this.$=a[l-1].concat(a[l]);break;case 4:case 34:case 59:case 60:case 61:case 62:case 86:case 69:case 71:case 74:this.$=a[l];break;case 7:i.addEntity(a[l-4]),i.addEntity(a[l-2]),i.addRelationship(a[l-4],a[l],a[l-2],a[l-3]),this.$=[a[l-4],a[l-2]];break;case 8:i.addEntity(a[l-8]),i.addEntity(a[l-4]),i.addRelationship(a[l-8],a[l],a[l-4],a[l-5]),i.setClass([a[l-8]],a[l-6]),i.setClass([a[l-4]],a[l-2]),this.$=[a[l-8],a[l-4]];break;case 9:i.addEntity(a[l-6]),i.addEntity(a[l-2]),i.addRelationship(a[l-6],a[l],a[l-2],a[l-3]),i.setClass([a[l-6]],a[l-4]),this.$=[a[l-6],a[l-2]];break;case 10:i.addEntity(a[l-6]),i.addEntity(a[l-4]),i.addRelationship(a[l-6],a[l],a[l-4],a[l-5]),i.setClass([a[l-4]],a[l-2]),this.$=[a[l-6],a[l-4]];break;case 11:i.addEntity(a[l-3]),i.addAttributes(a[l-3],a[l-1]),this.$=[a[l-3]];break;case 12:i.addEntity(a[l-5]),i.addAttributes(a[l-5],a[l-1]),i.setClass([a[l-5]],a[l-3]),this.$=[a[l-5]];break;case 13:i.addEntity(a[l-2]),this.$=[a[l-2]];break;case 14:i.addEntity(a[l-4]),i.setClass([a[l-4]],a[l-2]),this.$=[a[l-4]];break;case 15:i.addEntity(a[l]),this.$=[a[l]];break;case 16:i.addEntity(a[l-2]),i.setClass([a[l-2]],a[l]),this.$=[a[l-2]];break;case 17:i.addEntity(a[l-6],a[l-4]),i.addAttributes(a[l-6],a[l-1]),this.$=[a[l-6]];break;case 18:i.addEntity(a[l-8],a[l-6]),i.addAttributes(a[l-8],a[l-1]),i.setClass([a[l-8]],a[l-3]),this.$=[a[l-8]];break;case 19:i.addEntity(a[l-5],a[l-3]),this.$=[a[l-5]];break;case 20:i.addEntity(a[l-7],a[l-5]),i.setClass([a[l-7]],a[l-2]),this.$=[a[l-7]];break;case 21:i.addEntity(a[l-3],a[l-1]);break;case 22:i.addEntity(a[l-5],a[l-3]),i.setClass([a[l-5]],a[l]);break;case 23:case 24:this.$=a[l].trim(),i.setAccTitle(this.$);break;case 25:case 26:this.$=a[l].trim(),i.setAccDescription(this.$);break;case 27:i.subgraphDepth?this.$=a[l]:(i.setDirection(a[l].value),this.$=[]);break;case 31:i.subgraphDepth=(i.subgraphDepth||1)-1,this.$=i.addSubGraph({text:a[l-2].id},a[l-1],{text:a[l-2].text});break;case 32:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:a[l-1],text:a[l-1]};break;case 33:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:a[l-4],text:a[l-2]};break;case 35:this.$=a[l-1]+" "+a[l];break;case 36:this.$={stmt:"dir",value:"TB"};break;case 37:this.$={stmt:"dir",value:"BT"};break;case 38:this.$={stmt:"dir",value:"RL"};break;case 39:this.$={stmt:"dir",value:"LR"};break;case 40:this.$=a[l-3],i.addClass(a[l-2],a[l-1]);break;case 41:case 42:case 63:case 72:case 47:this.$=[a[l]];break;case 43:case 44:this.$=a[l-2].concat([a[l]]);break;case 45:this.$=a[l-2],i.setClass(a[l-1],a[l]);break;case 46:this.$=a[l-3],i.addCssStyles(a[l-2],a[l-1]);break;case 48:case 73:a[l-2].push(a[l]),this.$=a[l-2];break;case 50:case 70:this.$=a[l-1]+a[l];break;case 58:case 84:case 85:case 75:this.$=a[l].replace(/"/g,"");break;case 64:a[l].push(a[l-1]),this.$=a[l];break;case 65:this.$={type:a[l-1],name:a[l]};break;case 66:this.$={type:a[l-2],name:a[l-1],keys:a[l]};break;case 67:this.$={type:a[l-2],name:a[l-1],comment:a[l]};break;case 68:this.$={type:a[l-3],name:a[l-2],keys:a[l-1],comment:a[l]};break;case 76:this.$={cardA:a[l],relType:a[l-1],cardB:a[l-2]};break;case 77:this.$=i.Cardinality.ZERO_OR_ONE;break;case 78:this.$=i.Cardinality.ZERO_OR_MORE;break;case 79:this.$=i.Cardinality.ONE_OR_MORE;break;case 80:this.$=i.Cardinality.ONLY_ONE;break;case 81:this.$=i.Cardinality.MD_PARENT;break;case 82:this.$=i.Identification.NON_IDENTIFYING;break;case 83:this.$=i.Identification.IDENTIFYING}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,s,{5:3}),{6:[1,4],7:5,8:6,9:i,10:8,21:r,23:a,25:n,27:l,28:13,29:14,30:15,31:16,32:17,34:o,37:c,38:u,39:d,40:y,41:p,43:b,46:g,47:_,51:f,53:m,54:k,55:E},t(e,S,{1:[2,1]}),t($,[2,3]),t($,[2,4]),t($,[2,5]),t($,[2,15],{11:31,67:35,14:[1,32],16:[1,33],19:[1,34],69:T,70:O,71:x,72:N,73:C}),{22:[1,41]},{24:[1,42]},{26:[1,43]},t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),t($,s,{5:44}),t(A,[2,58]),t(A,[2,59]),t(A,[2,60]),t(A,[2,61]),t(A,[2,62]),t($,[2,36]),t($,[2,37]),t($,[2,38]),t($,[2,39]),{15:45,43:R,44:I},{15:48,43:R,44:I},{15:49,43:R,44:I},{10:50,43:b,51:f,53:m,54:k,55:E},{10:51,43:b,51:f,53:m,54:k,55:E},{15:52,43:R,44:I},{17:53,18:[1,54],56:55,57:56,61:D},{10:58,43:b,51:f,53:m,54:k,55:E},{68:59,74:[1,60],75:[1,61]},t(v,[2,77]),t(v,[2,78]),t(v,[2,79]),t(v,[2,80]),t(v,[2,81]),t($,[2,23]),t($,[2,24]),t($,[2,25]),{6:[1,63],7:5,8:6,9:i,10:8,21:r,23:a,25:n,27:l,28:13,29:14,30:15,31:16,32:17,33:[1,62],34:o,37:c,38:u,39:d,40:y,41:p,43:b,46:g,47:_,51:f,53:m,54:k,55:E},{12:L,42:64,44:w,45:K,48:66,49:67,51:M,52:B},t(G,[2,41]),t(G,[2,42]),{15:72,43:R,44:I,45:K},{12:L,42:73,44:w,45:K,48:66,49:67,51:M,52:B},{6:F,9:Y,19:[1,75],35:74,50:P},{12:[1,79],14:[1,80]},t($,[2,16],{67:35,11:81,16:[1,82],45:K,69:T,70:O,71:x,72:N,73:C}),{18:[1,83]},t($,[2,13]),{17:84,18:[2,63],56:55,57:56,61:D},{58:85,61:[1,86]},{61:[2,69],62:[1,87]},{20:[1,88]},{67:89,69:T,70:O,71:x,72:N,73:C},t(z,[2,82]),t(z,[2,83]),t($,[2,31]),t($,S),{6:F,9:Y,35:90,45:U,50:P},{43:[1,92],44:[1,93]},t(Z,[2,47],{49:94,12:L,44:w,51:M,52:B}),t(j,[2,49]),t(j,[2,54]),t(j,[2,55]),t(j,[2,56]),t(j,[2,57]),t($,[2,45],{45:K}),{6:F,9:Y,35:95,45:U,50:P},t($,[2,32]),{10:97,36:96,43:b,51:f,53:m,54:k,55:E},t($,[2,51]),t($,[2,52]),t($,[2,53]),{13:98,43:q,53:W,76:X},{15:102,43:R,44:I},{10:103,43:b,51:f,53:m,54:k,55:E},{17:104,18:[1,105],56:55,57:56,61:D},t($,[2,11]),{18:[2,64]},t(V,[2,65],{59:106,60:107,63:108,65:H,66:Q}),t([18,61,65,66],[2,71]),{61:[2,70]},t($,[2,21],{14:[1,112],16:[1,111]}),t([43,51,53,54,55],[2,76]),t($,[2,40]),{12:L,44:w,48:113,49:67,51:M,52:B},t(G,[2,43]),t(G,[2,44]),t(j,[2,50]),t($,[2,46]),{10:115,20:[1,114],43:b,51:f,53:m,54:k,55:E},t(J,[2,34]),t($,[2,7]),t($,[2,84]),t($,[2,85]),t($,[2,86]),{12:[1,116],45:K},{12:[1,118],14:[1,117]},{18:[1,119]},t($,[2,14]),t(V,[2,66],{60:120,64:[1,121],66:Q}),t(V,[2,67]),t(tt,[2,72]),t(V,[2,75]),t(tt,[2,74]),{17:122,18:[1,123],56:55,57:56,61:D},{15:124,43:R,44:I},t(Z,[2,48],{49:94,12:L,44:w,51:M,52:B}),{6:F,9:Y,35:125,50:P},t(J,[2,35]),{13:126,43:q,53:W,76:X},{15:127,43:R,44:I},{13:128,43:q,53:W,76:X},t($,[2,12]),t(V,[2,68]),{63:129,65:H},{18:[1,130]},t($,[2,19]),t($,[2,22],{16:[1,131],45:K}),t($,[2,33]),t($,[2,10]),{12:[1,132],45:K},t($,[2,9]),t(tt,[2,73]),t($,[2,17]),{17:133,18:[1,134],56:55,57:56,61:D},{13:135,43:q,53:W,76:X},{18:[1,136]},t($,[2,20]),t($,[2,8]),t($,[2,18])],defaultActions:{84:[2,64],87:[2,70]},parseError:(0,h.K)(function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},"parseError"),parse:(0,h.K)(function(t){var e=this,s=[0],i=[],r=[null],a=[],n=this.table,l="",o=0,c=0,u=0,d=a.slice.call(arguments,1),y=Object.create(this.lexer),p={};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(p[b]=this.yy[b]);y.setInput(t,p),p.lexer=y,p.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;a.push(g);var _=y.options&&y.options.ranges;function f(){var t;return"number"!=typeof(t=i.pop()||y.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){s.length=s.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,h.K)(f,"lex");for(var m,k,E,S,$,T,O,x,N,C={};;){if(E=s[s.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==m&&(m=f()),S=n[E]&&n[E][m]),void 0===S||!S.length||!S[0]){var A="";for(T in N=[],n[E])this.terminals_[T]&&T>2&&N.push("'"+this.terminals_[T]+"'");A=y.showPosition?"Parse error on line "+(o+1)+":\n"+y.showPosition()+"\nExpecting "+N.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:y.match,token:this.terminals_[m]||m,line:y.yylineno,loc:g,expected:N})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+m);switch(S[0]){case 1:s.push(m),r.push(y.yytext),a.push(y.yylloc),s.push(S[1]),m=null,k?(m=k,k=null):(c=y.yyleng,l=y.yytext,o=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(O=this.productions_[S[1]][1],C.$=r[r.length-O],C._$={first_line:a[a.length-(O||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(O||1)].first_column,last_column:a[a.length-1].last_column},_&&(C._$.range=[a[a.length-(O||1)].range[0],a[a.length-1].range[1]]),void 0!==($=this.performAction.apply(C,[l,c,o,p,S[1],r,a].concat(d))))return $;O&&(s=s.slice(0,-1*O*2),r=r.slice(0,-1*O),a=a.slice(0,-1*O)),s.push(this.productions_[S[1]][0]),r.push(C.$),a.push(C._$),x=n[s[s.length-2]][s[s.length-1]],s.push(x);break;case 3:return!0}}return!0},"parse")};function ts(){this.yy={}}return te.lexer={EOF:1,parseError:(0,h.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var s,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,r=this._currentRules(),a=0;a<r.length;a++)if((s=this._input.match(this.rules[r[a]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K)(function(t,e,s,i){switch(s){case 0:return this.begin("acc_title"),23;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),25;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 28:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 37;case 8:return 38;case 9:return 39;case 10:return 40;case 11:case 22:case 30:case 37:break;case 12:return 9;case 13:return 53;case 14:return 76;case 15:return 4;case 16:return this.begin("block"),16;case 17:case 18:case 40:return 52;case 19:case 39:return 45;case 20:return 14;case 21:case 38:return 12;case 23:return 65;case 24:case 25:case 27:return 61;case 26:this.begin("block_bq");break;case 29:return 66;case 31:return this.popState(),18;case 32:case 81:return e.yytext[0];case 33:return 19;case 34:return 20;case 35:return this.begin("style"),47;case 36:return this.popState(),9;case 41:return this.begin("style"),41;case 42:return 46;case 43:return 34;case 44:return 33;case 45:case 49:case 50:case 68:return 69;case 46:case 47:case 48:case 56:case 58:case 70:return 71;case 51:case 52:case 53:case 54:case 55:case 57:case 69:return 70;case 59:case 60:case 62:case 63:case 64:case 67:return 72;case 61:return 54;case 65:return 55;case 66:return 51;case 71:return 73;case 72:case 75:case 76:case 77:return 74;case 73:case 74:return 75;case 78:return 44;case 79:return 50;case 80:return 43;case 82:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[ \t\r]+)/i,/^(?:[\n]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:subgraph\b)/i,/^(?:end\b\s*)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[36,37,38,39,40,78,79],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[27,28],inclusive:!1},block:{rules:[22,23,24,25,26,29,30,31,32],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,33,34,35,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82],inclusive:!0}}},(0,h.K)(ts,"Parser"),ts.prototype=te,te.Parser=ts,new ts}();p.parser=p;var b=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.subgraphDepth=0,this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setAccDescription=o.EI,this.getAccDescription=o.m7,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getConfig=(0,h.K)(()=>(0,o.D7)().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this),this.addSubGraph=this.addSubGraph.bind(this)}static{(0,h.K)(this,"ErDB")}addEntity(t,e=""){return this.entities.has(t)?!this.entities.get(t)?.alias&&e&&(this.entities.get(t).alias=e,c.R.info(`Add alias '${e}' to entity '${t}'`)):(this.entities.set(t,{id:`entity-${t}-${this.entities.size}`,label:t,attributes:[],alias:e,shape:"erBox",look:(0,o.D7)().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),c.R.info("Added new entity :",t)),this.entities.get(t)}getEntity(t){return this.entities.get(t)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(t,e){let s,i=this.addEntity(t);for(s=e.length-1;s>=0;s--)e[s].keys||(e[s].keys=[]),e[s].comment||(e[s].comment=""),i.attributes.push(e[s]),c.R.debug("Added attribute ",e[s].name)}addRelationship(t,e,s,i){let r,a;if(this.subGraphLookup.has(t))r=t;else{let e=this.addEntity(t);if(!e)return;r=e.id}if(this.subGraphLookup.has(s))a=s;else{let t=this.addEntity(s);if(!t)return;a=t.id}let n={entityA:r,roleA:e,entityB:a,relSpec:i};this.relationships.push(n),c.R.debug("Added new relationship :",n)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(t){this.direction=t}getCompiledStyles(t){let e=[];for(let s of t){let t=this.classes.get(s);t?.styles&&(e=[...e,...t.styles??[]].map(t=>t.trim())),t?.textStyles&&(e=[...e,...t.textStyles??[]].map(t=>t.trim()))}return e}addCssStyles(t,e){for(let s of t){let t=this.entities.get(s),i=this.subGraphLookup.get(s);if(e){if(t)for(let s of e)t.cssStyles.push(s);if(i)for(let t of(i.cssStyles||(i.cssStyles=[]),e))i.cssStyles.push(t)}}}addClass(t,e){t.forEach(t=>{let s=this.classes.get(t);void 0===s&&(s={id:t,styles:[],textStyles:[]},this.classes.set(t,s)),e&&e.forEach(function(t){if(/color/.exec(t)){let e=t.replace("fill","bgFill");s.textStyles.push(e)}s.styles.push(t)})})}addSubGraph(t,e,s){let i=t.text.trim(),r=s.text,a=(0,h.K)(t=>{let e,s=new Set;return{nodeList:t.filter(t=>{if(t?.stmt)return"dir"===t.stmt&&(e=t.value),!1;if("string"!=typeof t)return!1;let i=t.trim();return!(!i||s.has(i))&&(s.add(i),!0)}),dir:e}},"uniq")(e.flat()),n=a.nodeList,l=a.dir;i=i??"subGraph"+this.subCount,r=r||"",r=this.sanitizeText(r),this.subCount=this.subCount+1;let o={id:i,nodes:n,title:r.trim(),classes:[],cssStyles:[],dir:l,labelType:this.sanitizeNodeLabelType(s?.type)};return c.R.info("Adding",o.id,o.nodes,o.dir),o.nodes=this.makeUniq(o,this.subGraphs).nodes,this.subGraphs.push(o),this.subGraphLookup.set(i,o),i}getSubGraphs(){return this.subGraphs}setClass(t,e){for(let s of t){let t=this.entities.get(s);if(t)for(let s of e)t.cssClasses+=" "+s;let i=this.subGraphLookup.get(s);if(i)for(let t of e)i.classes.push(t)}}subgraphNodeCache(t){let e=new Set;for(let s of t)for(let t of s.nodes)e.add(t);return e}makeUniq(t,e){let s=this.subgraphNodeCache(e),i=[];return t.nodes.forEach((e,r)=>{s.has(e)?c.R.warn(`Entity '${e}' already belongs to another subgraph and will be ignored`):i.push(t.nodes[r])}),{nodes:i}}sanitizeText(t){return o.Y2.sanitizeText(t,(0,o.D7)())}sanitizeNodeLabelType(t){switch(t){case"markdown":case"string":case"text":return t;default:return"markdown"}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.subgraphDepth=0,(0,o.IU)()}getData(){let t=[],e=[],s=(0,o.D7)(),i=this.getSubGraphs(),r=new Map,a=new Map;for(let t=i.length-1;t>=0;t--){let e=i[t];for(let t of(e.nodes.length>0&&a.set(e.id,!0),e.nodes))r.set(t,e.id)}for(let e=i.length-1;e>=0;e--){let a=i[e];t.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssStyles:a.cssStyles,cssClasses:a.classes.join(" "),shape:"rect",dir:a.dir,isGroup:!0,look:s.look})}let n=new Set(i.map(t=>t.id)),c=0;for(let e of this.entities.keys()){if(n.has(e))continue;let s=this.entities.get(e);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),s.colorIndex=c++,t.push({...s,parentId:r.get(e),isGroup:!1}))}let h=0;for(let t of this.relationships){let i={id:(0,l.rY)(t.entityA,t.entityB,{prefix:"id",counter:h++}),type:"normal",curve:"basis",start:t.entityA,end:t.entityB,label:t.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:t.relSpec.cardB.toLowerCase(),arrowTypeEnd:t.relSpec.cardA.toLowerCase(),pattern:"IDENTIFYING"==t.relSpec.relType?"solid":"dashed",look:s.look,labelType:"markdown"};e.push(i)}return{nodes:t,edges:e,other:{},config:s,direction:this.direction}}},g={};(0,h.V)(g,{draw:()=>_});var _=(0,h.K)(async function(t,e,s,n){c.R.info("REF0:"),c.R.info("Drawing er diagram (unified)",e);let{securityLevel:h,er:d,layout:y}=(0,o.D7)(),p=n.db.getData(),b=(0,i.A)(e,h);p.type=n.type,p.layoutAlgorithm=(0,a.q7)(y),p.config.flowchart.nodeSpacing=d?.nodeSpacing||140,p.config.flowchart.rankSpacing=d?.rankSpacing||80,p.direction=n.db.getDirection();let{config:g}=p,{look:_}=g;"neo"===_?p.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:p.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],p.diagramId=e,await (0,a.XX)(p,b);let f=b.selectAll('[id*="-background"]');Array.from(f).length>0&&f.each(function(){let t=(0,u.Ltv)(this),e=t.attr("id").replace("-background",""),s=b.select(`#${CSS.escape(e)}`);if(!s.empty()){let e=s.attr("transform");t.attr("transform",e)}}),l._K.insertTitle(b,"erDiagramTitleText",d?.titleTopMargin??25,n.db.getDiagramTitle()),(0,r.P)(b,8,"erDiagram",d?.useMaxWidth??!0)},"draw"),f=(0,h.K)((t,e)=>{let s=d.A,i=s(t,"r"),r=s(t,"g"),a=s(t,"b");return y.A(i,r,a,e)},"fade"),m=(0,h.K)(t=>{let{theme:e,bkgColorArray:s,borderColorArray:i}=t;if(!(0,n.P1)(e,i))return"";let r=(0,n.rq)(t.look),a=(0,n.Ic)(s),l="";for(let t=0;t<(0,n.Hu)(i);t++){let e=i[t],n=a?`fill: ${s[t%s.length]};`:"";l+=` + + [data-look="${r}"][data-color-id="color-${t}"].node path { + stroke: ${e}; + ${n} + } + + [data-look="${r}"][data-color-id="color-${t}"].node rect { + stroke: ${e}; + ${n} + } + `}return l},"genColor"),k={parser:p,get db(){return new b},renderer:g,styles:(0,h.K)(t=>{let{look:e,theme:s,erEdgeLabelBackground:i,strokeWidth:r}=t;return` + ${m(t)} + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .labelBkg { + background-color: ${n.Fx.has(s)&&i?i:f(t.tertiaryColor,.5)}; + } + + .edgeLabel { + background-color: ${n.Fx.has(s)&&i?i:t.edgeLabelBackground}; + } + .edgeLabel .label rect { + fill: ${n.Fx.has(s)&&i?i:t.edgeLabelBackground}; + } + .edgeLabel .label text { + fill: ${t.textColor}; + } + + .edgeLabel .label { + fill: ${t.nodeBorder}; + font-size: 14px; + } + + .label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + + .edge-pattern-dashed { + stroke-dasharray: 8,8; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon + { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: ${"neo"===e?r:"1px"}; + } + + .relationshipLine { + stroke: ${t.lineColor}; + stroke-width: ${"neo"===e?r:"1px"}; + fill: none; + } + + .marker { + fill: none !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + [data-look=neo].labelBkg { + background-color: ${f(t.tertiaryColor,.5)}; + } + + .cluster rect { + fill: ${t.clusterBkg??t.mainBkg}; + stroke: ${t.clusterBorder??t.nodeBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor??t.textColor}; + } + + .cluster-label text { + fill: ${t.titleColor??t.textColor}; + } +`},"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/3693.178dfbe0.js b/assets/js/3693.178dfbe0.js new file mode 100644 index 0000000..14def1a --- /dev/null +++ b/assets/js/3693.178dfbe0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3693"],{3436(e,t,n){n.d(t,{default:()=>l});function l(e,{target:t=document.body}={}){if("string"!=typeof e)throw TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);let n=document.createElement("textarea"),o=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.all="unset",n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.width="2em",n.style.height="2em",n.style.padding="0",n.style.border="none",n.style.outline="none",n.style.boxShadow="none",n.style.background="transparent",n.style.fontSize="12pt",n.style.whiteSpace="pre";let s=document.getSelection(),a=s.rangeCount>0&&s.getRangeAt(0);t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let r=!1;try{r=document.execCommand("copy")}catch{}return n.remove(),a&&(s.removeAllRanges(),s.addRange(a)),o&&o.focus(),r}}}]); \ No newline at end of file diff --git a/assets/js/36994c47.a19db22c.js b/assets/js/36994c47.a19db22c.js new file mode 100644 index 0000000..ad549f2 --- /dev/null +++ b/assets/js/36994c47.a19db22c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["191"],{5516(s){s.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/3788.070794c2.js b/assets/js/3788.070794c2.js new file mode 100644 index 0000000..17e4b36 --- /dev/null +++ b/assets/js/3788.070794c2.js @@ -0,0 +1,23 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3788"],{3367(t,e,n){n.d(e,{diagram:()=>tp});var s,i=n(4924),r=n(6348),l=n(1177);n(1293);var a=n(6827),o=n(7829),h=n(4682),c=n(5635);let u=(t,e)=>(0,c.A)(t,"a",-e);var f=n(8041),d=n(5263);function y(t,e){let n=function(t){let e=[];for(let n=0;n<t.length;++n)for(let s=n+1;s<t.length;++s)for(let i of m(t[n],t[s]))i.parentIndex=[n,s],e.push(i);return e}(t),s=n.filter(e=>{var n;return n=e,t.every(t=>x(n,t)<t.radius+1e-10)}),i=0,r=0,l=[];if(s.length>1){let e=b(s);for(let t=0;t<s.length;++t){let n=s[t];n.angle=Math.atan2(n.x-e.x,n.y-e.y)}s.sort((t,e)=>e.angle-t.angle);let n=s[s.length-1];for(let e=0;e<s.length;++e){let a=s[e];r+=(n.x+a.x)*(a.y-n.y);let o={x:(a.x+n.x)/2,y:(a.y+n.y)/2},h=null;for(let e=0;e<a.parentIndex.length;++e)if(n.parentIndex.includes(a.parentIndex[e])){let s=t[a.parentIndex[e]],i=Math.atan2(a.x-s.x,a.y-s.y),r=Math.atan2(n.x-s.x,n.y-s.y),l=r-i;l<0&&(l+=2*Math.PI);let c=r-l/2,u=x(o,{x:s.x+s.radius*Math.sin(c),y:s.y+s.radius*Math.cos(c)});u>2*s.radius&&(u=2*s.radius),(null==h||h.width>u)&&(h={circle:s,width:u,p1:a,p2:n,large:u>s.radius,sweep:!0})}null!=h&&(l.push(h),i+=g(h.circle.radius,h.width),n=a)}}else{let e=t[0];for(let n=1;n<t.length;++n)t[n].radius<e.radius&&(e=t[n]);let n=!1;for(let s=0;s<t.length;++s)if(x(t[s],e)>Math.abs(e.radius-t[s].radius)){n=!0;break}n?i=r=0:(i=e.radius*e.radius*Math.PI,l.push({circle:e,p1:{x:e.x,y:e.y+e.radius},p2:{x:e.x-1e-10,y:e.y+e.radius},width:2*e.radius,large:!0,sweep:!0}))}return r/=2,e&&(e.area=i+r,e.arcArea=i,e.polygonArea=r,e.arcs=l,e.innerPoints=s,e.intersectionPoints=n),i+r}function g(t,e){return t*t*Math.acos(1-e/t)-(t-e)*Math.sqrt(e*(2*t-e))}function x(t,e){return Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y))}function p(t,e,n){return n>=t+e?0:n<=Math.abs(t-e)?Math.PI*Math.min(t,e)*Math.min(t,e):g(t,t-(n*n-e*e+t*t)/(2*n))+g(e,e-(n*n-t*t+e*e)/(2*n))}function m(t,e){let n=x(t,e),s=t.radius,i=e.radius;if(n>=s+i||n<=Math.abs(s-i))return[];let r=(s*s-i*i+n*n)/(2*n),l=Math.sqrt(s*s-r*r),a=t.x+r*(e.x-t.x)/n,o=t.y+r*(e.y-t.y)/n,h=-(e.y-t.y)*(l/n),c=-(e.x-t.x)*(l/n);return[{x:a+h,y:o-c},{x:a-h,y:o+c}]}function b(t){let e={x:0,y:0};for(let n of t)e.x+=n.x,e.y+=n.y;return e.x/=t.length,e.y/=t.length,e}function v(t){let e=Array(t);for(let n=0;n<t;++n)e[n]=0;return e}function M(t,e){return v(t).map(()=>v(e))}function I(t,e){let n=0;for(let s=0;s<t.length;++s)n+=t[s]*e[s];return n}function k(t){return Math.sqrt(I(t,t))}function _(t,e,n){for(let s=0;s<e.length;++s)t[s]=e[s]*n}function w(t,e,n,s,i){for(let r=0;r<t.length;++r)t[r]=e*n[r]+s*i[r]}function S(t,e,n){let s,i=(n=n||{}).maxIterations||200*e.length,r=n.nonZeroDelta||1.05,l=n.zeroDelta||.001,a=n.minErrorDelta||1e-6,o=n.minErrorDelta||1e-5,h=void 0!==n.rho?n.rho:1,c=void 0!==n.chi?n.chi:2,u=void 0!==n.psi?n.psi:-.5,f=void 0!==n.sigma?n.sigma:.5,d=e.length,y=Array(d+1);y[0]=e,y[0].fx=t(e),y[0].id=0;for(let n=0;n<d;++n){let s=e.slice();s[n]=s[n]?s[n]*r:l,y[n+1]=s,y[n+1].fx=t(s),y[n+1].id=n+1}function g(t){for(let e=0;e<t.length;e++)y[d][e]=t[e];y[d].fx=t.fx}let x=(t,e)=>t.fx-e.fx,p=e.slice(),m=e.slice(),b=e.slice(),v=e.slice();for(let e=0;e<i;++e){if(y.sort(x),n.history){let t=y.map(t=>{let e=t.slice();return e.fx=t.fx,e.id=t.id,e});t.sort((t,e)=>t.id-e.id),n.history.push({x:y[0].slice(),fx:y[0].fx,simplex:t})}s=0;for(let t=0;t<d;++t)s=Math.max(s,Math.abs(y[0][t]-y[1][t]));if(Math.abs(y[0].fx-y[d].fx)<a&&s<o)break;for(let t=0;t<d;++t){p[t]=0;for(let e=0;e<d;++e)p[t]+=y[e][t];p[t]/=d}let e=y[d];if(w(m,1+h,p,-h,e),m.fx=t(m),m.fx<y[0].fx)w(v,1+c,p,-c,e),v.fx=t(v),g(v.fx<m.fx?v:m);else if(m.fx>=y[d-1].fx){let n=!1;if(m.fx>e.fx?(w(b,1+u,p,-u,e),b.fx=t(b),b.fx<e.fx?g(b):n=!0):(w(b,1-u*h,p,u*h,e),b.fx=t(b),b.fx<m.fx?g(b):n=!0),n){if(f>=1)break;for(let e=1;e<y.length;++e)w(y[e],1-f,y[0],f,y[e]),y[e].fx=t(y[e])}}else g(m)}return y.sort(x),{fx:y[0].fx,x:y[0]}}function E(t,e={}){e.maxIterations=e.maxIterations||500;let n=e.initialLayout||T,s=e.lossFunction||A,i=function(t,e={}){let n=e.distinct,s=t.map(t=>Object.assign({},t));function i(t){return t.join(";")}if(n){let t=new Map;for(let e of s)for(let n=0;n<e.sets.length;n++){let s=String(e.sets[n]);t.set(s,e.size+(t.get(s)||0));for(let i=n+1;i<e.sets.length;i++){let n=String(e.sets[i]),r=`${s};${n}`,l=`${n};${s}`;t.set(r,e.size+(t.get(r)||0)),t.set(l,e.size+(t.get(l)||0))}}for(let e of s)e.sets.length<3&&(e.size=t.get(i(e.sets)))}let r=[],l=new Set;for(let t of s)if(1===t.sets.length)r.push(t.sets[0]);else if(2===t.sets.length){let e=t.sets[0],n=t.sets[1];l.add(i(t.sets)),l.add(i([n,e]))}r.sort((t,e)=>t===e?0:t<e?-1:1);for(let t=0;t<r.length;++t){let e=r[t];for(let n=t+1;n<r.length;++n){let t=r[n];l.has(i([e,t]))||s.push({sets:[e,t],size:0})}}return s}(t,e),r=n(i,e),l=Object.keys(r),a=[];for(let t of l)a.push(r[t].x),a.push(r[t].y);let o=S(t=>{let e={};for(let n=0;n<l.length;++n){let s=l[n];e[s]={x:t[2*n],y:t[2*n+1],radius:r[s].radius}}return s(e,i)},a,e).x;for(let t=0;t<l.length;++t){let e=l[t];r[e].x=o[2*t],r[e].y=o[2*t+1]}return r}function z(t,e,n){return Math.min(t,e)*Math.min(t,e)*Math.PI<=n+1e-10?Math.abs(t-e):function(t,e,n,s){let i=(s=s||{}).maxIterations||100,r=s.tolerance||1e-10,l=t(e),a=t(n),o=n-e;if(l*a>0)throw"Initial bisect points must have opposite signs";if(0===l)return e;if(0===a)return n;for(let n=0;n<i;++n){let n=e+(o/=2),s=t(n);if(s*l>=0&&(e=n),Math.abs(o)<r||0===s)return n}return e+o}(s=>p(t,e,s)-n,0,t+e)}function T(t,e={}){let n=function(t,e){let n=e&&e.lossFunction?e.lossFunction:A,s={},i={};for(let e of t)if(1===e.sets.length){let t=e.sets[0];s[t]={x:1e10,y:1e10,rowid:s.length,size:e.size,radius:Math.sqrt(e.size/Math.PI)},i[t]=[]}for(let e of t=t.filter(t=>2===t.sets.length)){let t=null!=e.weight?e.weight:1,n=e.sets[0],r=e.sets[1];e.size+1e-10>=Math.min(s[n].size,s[r].size)&&(t=0),i[n].push({set:r,size:e.size,weight:t}),i[r].push({set:n,size:e.size,weight:t})}let r=[];function l(t,e){return e.size-t.size}Object.keys(i).forEach(t=>{let e=0;for(let n=0;n<i[t].length;++n)e+=i[t][n].size*i[t][n].weight;r.push({set:t,size:e})}),r.sort(l);let a={};function o(t){return t.set in a}function h(t,e){s[e].x=t.x,s[e].y=t.y,a[e]=!0}h({x:0,y:0},r[0].set);for(let e=1;e<r.length;++e){let a=r[e].set,u=i[a].filter(o),f=s[a];if(u.sort(l),0===u.length)throw"ERROR: missing pairwise overlap information";let d=[];for(var c=0;c<u.length;++c){let t=s[u[c].set],e=z(f.radius,t.radius,u[c].size);d.push({x:t.x+e,y:t.y}),d.push({x:t.x-e,y:t.y}),d.push({y:t.y+e,x:t.x}),d.push({y:t.y-e,x:t.x});for(let n=c+1;n<u.length;++n){let i=s[u[n].set],r=z(f.radius,i.radius,u[n].size),l=m({x:t.x,y:t.y,radius:e},{x:i.x,y:i.y,radius:r});d.push(...l)}}let y=1e50,g=d[0];for(let e of d){s[a].x=e.x,s[a].y=e.y;let i=n(s,t);i<y&&(y=i,g=e)}h(g,a)}return s}(t,e),s=e.lossFunction||A;if(t.length>=8){let i=function(t,e={}){let n,s,i=e.restarts||10,r=[],l={};for(let e of t)1===e.sets.length&&(l[e.sets[0]]=r.length,r.push(e));let{distances:a,constraints:o}=(n=M(r.length,r.length),s=M(r.length,r.length),t.filter(t=>2===t.sets.length).forEach(t=>{let e=l[t.sets[0]],i=l[t.sets[1]],a=z(Math.sqrt(r[e].size/Math.PI),Math.sqrt(r[i].size/Math.PI),t.size);n[e][i]=n[i][e]=a;let o=0;t.size+1e-10>=Math.min(r[e].size,r[i].size)?o=1:t.size<=1e-10&&(o=-1),s[e][i]=s[i][e]=o}),{distances:n,constraints:s}),h=k(a.map(k))/a.length;a=a.map(t=>t.map(t=>t/h));let c=(t,e)=>(function(t,e,n,s){for(let t=0;t<e.length;++t)e[t]=0;let i=0;for(let r=0;r<n.length;++r){let l=t[2*r],a=t[2*r+1];for(let o=r+1;o<n.length;++o){let h=t[2*o],c=t[2*o+1],u=n[r][o],f=s[r][o],d=(h-l)*(h-l)+(c-a)*(c-a),y=Math.sqrt(d),g=d-u*u;f>0&&y<=u||f<0&&y>=u||(i+=2*g*g,e[2*r]+=4*g*(l-h),e[2*r+1]+=4*g*(a-c),e[2*o]+=4*g*(h-l),e[2*o+1]+=4*g*(c-a))}}return i})(t,e,a,o),u=null;for(let t=0;t<i;++t){let t=function(t,e,n){let s,i,r,l={x:e.slice(),fx:0,fxprime:e.slice()},a={x:e.slice(),fx:0,fxprime:e.slice()},o=e.slice(),h=1;r=(n=n||{}).maxIterations||20*e.length,l.fx=t(l.x,l.fxprime),_(s=l.fxprime.slice(),l.fxprime,-1);for(let e=0;e<r;++e){if(h=function(t,e,n,s,i,r,l){let a=n.fx,o=I(n.fxprime,e),h=a,c=a,u=o,f=0;function d(c,f,d){for(let y=0;y<16;++y)if(i=(c+f)/2,w(s.x,1,n.x,i,e),h=s.fx=t(s.x,s.fxprime),u=I(s.fxprime,e),h>a+r*i*o||h>=d)f=i;else{if(Math.abs(u)<=-l*o)return i;u*(f-c)>=0&&(f=c),c=i,d=h}return 0}i=i||1,r=r||1e-6,l=l||.1;for(let y=0;y<10;++y){if(w(s.x,1,n.x,i,e),h=s.fx=t(s.x,s.fxprime),u=I(s.fxprime,e),h>a+r*i*o||y&&h>=c)return d(f,i,c);if(Math.abs(u)<=-l*o)break;if(u>=0)return d(i,f,h);c=h,f=i,i*=2}return i}(t,s,l,a,h),n.history&&n.history.push({x:l.x.slice(),fx:l.fx,fxprime:l.fxprime.slice(),alpha:h}),h){w(o,1,a.fxprime,-1,l.fxprime);let t=I(l.fxprime,l.fxprime);w(s,Math.max(0,I(o,a.fxprime)/t),s,-1,a.fxprime),i=l,l=a,a=i}else _(s,l.fxprime,-1);if(1e-5>=k(l.fxprime))break}return n.history&&n.history.push({x:l.x.slice(),fx:l.fx,fxprime:l.fxprime.slice(),alpha:h}),l}(c,v(2*a.length).map(Math.random),e);(!u||t.fx<u.fx)&&(u=t)}let f=u.x,d={};for(let t=0;t<r.length;++t){let e=r[t];d[e.sets[0]]={x:f[2*t]*h,y:f[2*t+1]*h,radius:Math.sqrt(e.size/Math.PI)}}if(e.history)for(let t of e.history)_(t.x,h);return d}(t,e);s(i,t)+1e-8<s(n,t)&&(n=i)}return n}function A(t,e){let n=0;for(let s of e){let e;if(1!==s.sets.length){if(2===s.sets.length){let n=t[s.sets[0]],i=t[s.sets[1]];e=p(n.radius,i.radius,x(n,i))}else e=y(s.sets.map(e=>t[e]));n+=(null!=s.weight?s.weight:1)*(e-s.size)*(e-s.size)}}return n}function K(t,e){let n=0;for(let s of e){let e;if(1===s.sets.length)continue;if(2===s.sets.length){let n=t[s.sets[0]],i=t[s.sets[1]];e=p(n.radius,i.radius,x(n,i))}else e=y(s.sets.map(e=>t[e]));let i=null!=s.weight?s.weight:1,r=Math.log((e+1)/(s.size+1));n+=i*r*r}return n}function R(t){let e=e=>({max:t.reduce((t,n)=>Math.max(t,n[e]+n.radius),-1/0),min:t.reduce((t,n)=>Math.min(t,n[e]-n.radius),1/0)});return{xRange:e("x"),yRange:e("y")}}function $(t,e,n){null==e&&(e=Math.PI/2);let s=C(t).map(t=>Object.assign({},t)),i=function(t){function e(t){return t.parent!==t&&(t.parent=e(t.parent)),t.parent}t.forEach(t=>{t.parent=t});for(let i=0;i<t.length;++i)for(let r=i+1;r<t.length;++r){var n,s;let l=t[i].radius+t[r].radius;x(t[i],t[r])+1e-10<l&&(n=t[r],s=t[i],e(n).parent=e(s))}let i=new Map;for(let n=0;n<t.length;++n){let s=e(t[n]).parent.setid;i.has(s)||i.set(s,[]),i.get(s).push(t[n])}return t.forEach(t=>{delete t.parent}),Array.from(i.values())}(s);for(let t of i){!function(t,e,n){if(null==n?t.sort((t,e)=>e.radius-t.radius):t.sort(n),t.length>0){let e=t[0].x,n=t[0].y;for(let s of t)s.x-=e,s.y-=n}if(2===t.length&&x(t[0],t[1])<Math.abs(t[1].radius-t[0].radius)&&(t[1].x=t[0].x+t[0].radius-t[1].radius-1e-10,t[1].y=t[0].y),t.length>1){let n=Math.atan2(t[1].x,t[1].y)-e,s=Math.cos(n),i=Math.sin(n);for(let e of t){let t=e.x,n=e.y;e.x=s*t-i*n,e.y=i*t+s*n}}if(t.length>2){let n=Math.atan2(t[2].x,t[2].y)-e;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let e=t[1].y/(1e-10+t[1].x);for(let n of t){var s=(n.x+e*n.y)/(1+e*e);n.x=2*s-n.x,n.y=2*s*e-n.y}}}}(t,e,n);let s=R(t);t.size=(s.xRange.max-s.xRange.min)*(s.yRange.max-s.yRange.min),t.bounds=s}i.sort((t,e)=>e.size-t.size);let r=(s=i[0]).bounds,l=(r.xRange.max-r.xRange.min)/50;function a(t,e,n){let i,a;if(!t)return;let o=t.bounds;if(e)i=r.xRange.max-o.xRange.min+l;else{i=r.xRange.max-o.xRange.max;let t=(o.xRange.max-o.xRange.min)/2-(r.xRange.max-r.xRange.min)/2;t<0&&(i+=t)}if(n)a=r.yRange.max-o.yRange.min+l;else{a=r.yRange.max-o.yRange.max;let t=(o.yRange.max-o.yRange.min)/2-(r.yRange.max-r.yRange.min)/2;t<0&&(a+=t)}for(let e of t)e.x+=i,e.y+=a,s.push(e)}let o=1;for(;o<i.length;)a(i[o],!0,!1),a(i[o+1],!1,!0),a(i[o+2],!0,!0),o+=3,r=R(s);return O(s)}function N(t,e,n,s,i){let r,l,a=C(t);e-=2*s,n-=2*s;let{xRange:o,yRange:h}=R(a);if(o.max===o.min||h.max===h.min)return console.log("not scaling solution: zero size detected"),t;if(i){let t=2*Math.sqrt(i/Math.PI);r=e/t,l=n/t}else r=e/(o.max-o.min),l=n/(h.max-h.min);let c=Math.min(l,r),u=(e-(o.max-o.min)*c)/2,f=(n-(h.max-h.min)*c)/2;return O(a.map(t=>({radius:c*t.radius,x:s+u+(t.x-o.min)*c,y:s+f+(t.y-h.min)*c,setid:t.setid})))}function O(t){let e={};for(let n of t)e[n.setid]=n;return e}function C(t){return Object.keys(t).map(e=>Object.assign(t[e],{setid:e}))}function D(t,e){return function(n){let s=this,i=t[n.sets[0]].radius||50,r=e(n)||"",l=r.split(/\s+/).reverse(),a=(r.length+l.length)/3,o=l.pop(),h=[o],c=0;s.textContent=null;let u=[];function f(t){let e=s.ownerDocument.createElementNS(s.namespaceURI,"tspan");return e.textContent=t,u.push(e),s.append(e),e}let d=f(o);for(;o=l.pop();){h.push(o);let t=h.join(" ");d.textContent=t,t.length>a&&d.getComputedTextLength()>i&&(h.pop(),d.textContent=h.join(" "),h=[o],d=f(o),c++)}let y=.35-1.1*c/2,g=s.getAttribute("x"),x=s.getAttribute("y");u.forEach((t,e)=>{t.setAttribute("x",g),t.setAttribute("y",x),t.setAttribute("dy",`${y+1.1*e}em`)})}}function F(t,e,n){let s=e[0].radius-x(e[0],t);for(let n=1;n<e.length;++n){let i=e[n].radius-x(e[n],t);i<=s&&(s=i)}for(let e=0;e<n.length;++e){let i=x(n[e],t)-n[e].radius;i<=s&&(s=i)}return s}function j(t,e,n){let s={},i=function(t){let e={},n=Object.keys(t);for(let t of n)e[t]=[];for(let s=0;s<n.length;s++){let i=n[s],r=t[i];for(let l=s+1;l<n.length;++l){let s=n[l],a=t[s],o=x(r,a);o+a.radius<=r.radius+1e-10?e[s].push(i):o+r.radius<=a.radius+1e-10&&e[i].push(s)}}return e}(t);for(let r=0;r<e.length;++r){let l=e[r].sets,a={},o={};for(let t=0;t<l.length;++t){a[l[t]]=!0;let e=i[l[t]];for(let t=0;t<e.length;++t)o[e[t]]=!0}let h=[],c=[];for(let e in t)e in a?h.push(t[e]):e in o||c.push(t[e]);let u=function t(e,n,s){let i=[];for(let t of e)i.push({x:t.x,y:t.y}),i.push({x:t.x+t.radius/2,y:t.y}),i.push({x:t.x-t.radius/2,y:t.y}),i.push({x:t.x,y:t.y+t.radius/2}),i.push({x:t.x,y:t.y-t.radius/2});let r=i[0],l=F(i[0],e,n);for(let t=1;t<i.length;++t){let s=F(i[t],e,n);s>=l&&(r=i[t],l=s)}let a=S(t=>-1*F({x:t[0],y:t[1]},e,n),[r.x,r.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:s?0:a[0],y:a[1]},h=!0;for(let t of e)if(x(o,t)>t.radius){h=!1;break}for(let t of n)if(x(o,t)<t.radius){h=!1;break}if(h)return o;if(1==e.length)return{x:e[0].x,y:e[0].y};let c={};return(y(e,c),0===c.arcs.length)?{x:0,y:-1e3,disjoint:!0}:1==c.arcs.length?{x:c.arcs[0].circle.x,y:c.arcs[0].circle.y}:n.length?t(e,[]):b(c.arcs.map(t=>t.p1))}(h,c,n);s[l]=u,u.disjoint&&e[r].size>0&&console.log("WARNING: area "+l+" not represented on screen")}return s}function L(t){if(0===t.length)return[];let e={};return y(t,e),e.arcs}function P(t,e){if(0===t.length)return"M 0 0";let n=Math.pow(10,e||0),s=null!=e?t=>Math.round(t*n)/n:t=>t;if(1==t.length){var i,r,l;let e,n=t[0].circle;return i=s(n.x),r=s(n.y),l=s(n.radius),(e=[]).push("\nM",i,r),e.push("\nm",-l,0),e.push("\na",l,l,0,1,0,2*l,0),e.push("\na",l,l,0,1,0,-(2*l),0),e.join(" ")}let a=["\nM",s(t[0].p2.x),s(t[0].p2.y)];for(let e of t){let t=s(e.circle.radius);a.push("\nA",t,t,0,+!!e.large,+!!e.sweep,s(e.p1.x),s(e.p1.y))}return a.join(" ")}var q=n(2274),U=function(){var t=(0,a.K)(function(t,e,n,s){for(n=n||{},s=t.length;s--;n[t[s]]=e);return n},"o"),e=[5,8],n=[7,8,11,12,17,19,22,24],s=[1,17],i=[1,18],r=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],l=[1,31],o=[1,39],h=[7,8,11,12,17,19,22,24,27],c=[1,57],u=[1,56],f=[1,58],d=[1,59],y=[1,60],g=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],x={trace:(0,a.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:(0,a.K)(function(t,e,n,s,i,r,l){var a=r.length-1;switch(i){case 1:return r[a-1];case 2:case 3:case 4:case 6:this.$=[];break;case 5:case 35:r[a-1].push(r[a]),this.$=r[a-1];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:case 43:case 44:this.$=r[a];break;case 8:s.setDiagramTitle(r[a].substr(6)),this.$=r[a].substr(6);break;case 9:s.addSubsetData([r[a]],void 0,void 0),s.setIndentMode&&s.setIndentMode(!0);break;case 10:s.addSubsetData([r[a-1]],r[a],void 0),s.setIndentMode&&s.setIndentMode(!0);break;case 11:s.addSubsetData([r[a-2]],void 0,parseFloat(r[a])),s.setIndentMode&&s.setIndentMode(!0);break;case 12:s.addSubsetData([r[a-3]],r[a-2],parseFloat(r[a])),s.setIndentMode&&s.setIndentMode(!0);break;case 13:if(r[a].length<2)throw Error("union requires multiple identifiers");s.validateUnionIdentifiers&&s.validateUnionIdentifiers(r[a]),s.addSubsetData(r[a],void 0,void 0),s.setIndentMode&&s.setIndentMode(!0);break;case 14:if(r[a-1].length<2)throw Error("union requires multiple identifiers");s.validateUnionIdentifiers&&s.validateUnionIdentifiers(r[a-1]),s.addSubsetData(r[a-1],r[a],void 0),s.setIndentMode&&s.setIndentMode(!0);break;case 15:if(r[a-2].length<2)throw Error("union requires multiple identifiers");s.validateUnionIdentifiers&&s.validateUnionIdentifiers(r[a-2]),s.addSubsetData(r[a-2],void 0,parseFloat(r[a])),s.setIndentMode&&s.setIndentMode(!0);break;case 16:if(r[a-3].length<2)throw Error("union requires multiple identifiers");s.validateUnionIdentifiers&&s.validateUnionIdentifiers(r[a-3]),s.addSubsetData(r[a-3],r[a-2],parseFloat(r[a])),s.setIndentMode&&s.setIndentMode(!0);break;case 17:case 18:case 19:s.addTextData(r[a-1],r[a],void 0);break;case 20:case 21:s.addTextData(r[a-2],r[a-1],r[a]);break;case 23:s.addStyleData(r[a-1],r[a]);break;case 24:case 25:case 26:var o=s.getCurrentSets();if(!o)throw Error("text requires set");s.addTextData(o,r[a],void 0);break;case 27:case 28:var o=s.getCurrentSets();if(!o)throw Error("text requires set");s.addTextData(o,r[a-1],r[a]);break;case 29:case 41:case 34:this.$=[r[a]];break;case 30:case 42:this.$=[...r[a-2],r[a]];break;case 31:this.$=[r[a-2],r[a]];break;case 33:this.$=r[a].join(" ")}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(n,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(n,[2,5]),t(n,[2,6]),t(n,[2,7]),t(n,[2,8]),{13:16,20:s,21:i},{13:20,18:19,20:s,21:i},{13:20,18:21,20:s,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:s,21:i},t(n,[2,9],{14:[1,27],15:[1,28]}),t(r,[2,43]),t(r,[2,44]),t(n,[2,13],{14:[1,29],15:[1,30],27:l}),t(r,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:l},t(n,[2,22]),t(n,[2,24],{14:[1,35]}),t(n,[2,25],{14:[1,36]}),t(n,[2,26]),{20:o,25:37,26:38,27:l},t(n,[2,10],{15:[1,40]}),{16:[1,41]},t(n,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:s,21:i},t(n,[2,17],{14:[1,45]}),t(n,[2,18],{14:[1,46]}),t(n,[2,19]),t(n,[2,27]),t(n,[2,28]),t(n,[2,23],{27:[1,47]}),t(h,[2,29]),{15:[1,48]},{16:[1,49]},t(n,[2,11]),{16:[1,50]},t(n,[2,15]),t(r,[2,42]),t(n,[2,20]),t(n,[2,21]),{20:o,26:51},{16:c,20:u,21:[1,53],28:52,29:54,30:55,31:f,32:d,33:y},t(n,[2,12]),t(n,[2,16]),t(h,[2,30]),t(h,[2,31]),t(h,[2,32]),t(h,[2,33],{30:61,16:c,20:u,31:f,32:d,33:y}),t(g,[2,34]),t(g,[2,36]),t(g,[2,37]),t(g,[2,38]),t(g,[2,39]),t(g,[2,40]),t(g,[2,35])],defaultActions:{6:[2,1]},parseError:(0,a.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,a.K)(function(t){var e=this,n=[0],s=[],i=[null],r=[],l=this.table,o="",h=0,c=0,u=0,f=r.slice.call(arguments,1),d=Object.create(this.lexer),y={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y[g]=this.yy[g]);d.setInput(t,y),y.lexer=d,y.parser=this,void 0===d.yylloc&&(d.yylloc={});var x=d.yylloc;r.push(x);var p=d.options&&d.options.ranges;function m(){var t;return"number"!=typeof(t=s.pop()||d.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.parseError?this.parseError=y.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.K)(function(t){n.length=n.length-2*t,i.length=i.length-t,r.length=r.length-t},"popStack"),(0,a.K)(m,"lex");for(var b,v,M,I,k,_,w,S,E,z={};;){if(M=n[n.length-1],this.defaultActions[M]?I=this.defaultActions[M]:(null==b&&(b=m()),I=l[M]&&l[M][b]),void 0===I||!I.length||!I[0]){var T="";for(_ in E=[],l[M])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");T=d.showPosition?"Parse error on line "+(h+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(T,{text:d.match,token:this.terminals_[b]||b,line:d.yylineno,loc:x,expected:E})}if(I[0]instanceof Array&&I.length>1)throw Error("Parse Error: multiple actions possible at state: "+M+", token: "+b);switch(I[0]){case 1:n.push(b),i.push(d.yytext),r.push(d.yylloc),n.push(I[1]),b=null,v?(b=v,v=null):(c=d.yyleng,o=d.yytext,h=d.yylineno,x=d.yylloc,u>0&&u--);break;case 2:if(w=this.productions_[I[1]][1],z.$=i[i.length-w],z._$={first_line:r[r.length-(w||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(w||1)].first_column,last_column:r[r.length-1].last_column},p&&(z._$.range=[r[r.length-(w||1)].range[0],r[r.length-1].range[1]]),void 0!==(k=this.performAction.apply(z,[o,c,h,y,I[1],i,r].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),r=r.slice(0,-1*w)),n.push(this.productions_[I[1]][0]),i.push(z.$),r.push(z._$),S=l[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0},"parse")};function p(){this.yy={}}return x.lexer={EOF:1,parseError:(0,a.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,a.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,a.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,a.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.K)(function(){return this._more=!0,this},"more"),reject:(0,a.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,a.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,a.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,a.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,a.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,a.K)(function(t,e){var n,s,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var r in i)this[r]=i[r];return!1},"test_match"),next:(0,a.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,s,i=this._currentRules(),r=0;r<i.length;r++)if((n=this._input.match(this.rules[i[r]]))&&(!e||n[0].length>e[0].length)){if(e=n,s=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,a.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,a.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,a.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,a.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,a.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,a.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.K)(function(t,e,n,s){switch(n){case 0:case 1:case 2:case 4:case 7:case 8:break;case 3:if(t.getIndentMode&&t.getIndentMode())return t.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 5:t.setIndentMode&&t.setIndentMode(!1),this.begin("INITIAL"),this.unput(e.yytext);break;case 6:return this.begin("bol"),8;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(!t.consumeIndentText)return 19;t.consumeIndentText=!1;break;case 15:return 24;case 16:return e.yytext=e.yytext.slice(2,-2),14;case 17:return e.yytext=e.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}},(0,a.K)(p,"Parser"),p.prototype=x,x.Parser=p,new p}();U.parser=U;var B=[],G=[],W=[],V=new Set,X=!1,Y=(0,a.K)((t,e,n)=>{let i=tn(t).sort(),r=n??10/Math.pow(t.length,2);s=i,1===i.length&&V.add(i[0]),B.push({sets:i,size:r,label:e?H(e):void 0})},"addSubsetData"),Z=(0,a.K)(()=>B,"getSubsetData"),H=(0,a.K)(t=>{let e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),J=(0,a.K)(t=>t?H(t):t,"normalizeStyleValue"),Q=(0,a.K)((t,e,n)=>{let s=H(e);G.push({sets:tn(t).sort(),id:s,label:n?H(n):void 0})},"addTextData"),tt=(0,a.K)((t,e)=>{let n=tn(t).sort(),s={};for(let[t,n]of e)s[t]=J(n)??n;W.push({targets:n,styles:s})},"addStyleData"),te=(0,a.K)(()=>W,"getStyleData"),tn=(0,a.K)(t=>t.map(t=>H(t)),"normalizeIdentifierList"),ts=(0,a.K)(t=>{let e=tn(t).filter(t=>!V.has(t));if(e.length>0)throw Error(`unknown set identifier: ${e.join(", ")}`)},"validateUnionIdentifiers"),ti=(0,a.K)(()=>G,"getTextData"),tr=(0,a.K)(()=>s,"getCurrentSets"),tl=(0,a.K)(()=>X,"getIndentMode"),ta=(0,a.K)(t=>{X=t},"setIndentMode"),to=l.UI.venn;function th(){return(0,r.$t)(to,(0,l.zj)().venn)}(0,a.K)(th,"getConfig");var tc={getConfig:th,clear:(0,a.K)(()=>{(0,l.IU)(),B.length=0,G.length=0,W.length=0,V.clear(),s=void 0,X=!1},"customClear"),setAccTitle:l.SV,getAccTitle:l.iN,setDiagramTitle:l.ke,getDiagramTitle:l.ab,getAccDescription:l.m7,setAccDescription:l.EI,addSubsetData:Y,getSubsetData:Z,addTextData:Q,addStyleData:tt,validateUnionIdentifiers:ts,getTextData:ti,getStyleData:te,getCurrentSets:tr,getIndentMode:tl,setIndentMode:ta},tu=(0,a.K)(t=>` + .venn-title { + font-size: 32px; + fill: ${t.vennTitleTextColor}; + font-family: ${t.fontFamily}; + } + + .venn-circle text { + font-size: 48px; + font-family: ${t.fontFamily}; + } + + .venn-intersection text { + font-size: 48px; + fill: ${t.vennSetTextColor}; + font-family: ${t.fontFamily}; + } + + .venn-text-node { + font-family: ${t.fontFamily}; + color: ${t.vennSetTextColor}; + } +`,"getStyles");function tf(t){let e=new Map;for(let n of t){let t=n.targets.join("|"),s=e.get(t);s?Object.assign(s,n.styles):e.set(t,{...n.styles})}return e}(0,a.K)(tf,"buildStyleByKey");var td=(0,a.K)((t,e,n,s)=>{let r=s.db,a=r.getConfig?.(),{themeVariables:c,look:y,handDrawnSeed:g}=(0,l.zj)(),x="handDrawn"===y,p=[c.venn1,c.venn2,c.venn3,c.venn4,c.venn5,c.venn6,c.venn7,c.venn8].filter(Boolean),m=r.getDiagramTitle?.(),b=r.getSubsetData(),v=r.getTextData(),M=tf(r.getStyleData()),I=tx(b),k=a?.width??800,_=a?.height??450,w=k/1600,S=m?48*w:0,z=c.primaryTextColor??c.textColor,T=(0,i.D)(e);T.attr("viewBox",`0 0 ${k} ${_}`),m&&T.append("text").text(m).attr("class","venn-title").attr("font-size",`${32*w}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*w).style("fill",c.vennTitleTextColor||c.titleColor);let R=(0,o.Ltv)(document.createElement("div")),O=(function(t={}){let e=!1,n=600,s=350,i=15,r=1e3,l=Math.PI/2,a=!0,o=null,h=!0,c=!0,u=null,f=null,d=!1,y=null,g=!!t&&!!t.symmetricalTextCentre&&t.symmetricalTextCentre,x={},p=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],m=0,b=function(t){if(t in x)return x[t];var e=x[t]=p[m];return(m+=1)>=p.length&&(m=0),e},v=E,M=A;function I(x){let p=x.datum(),m=new Set;p.forEach(t=>{0==t.size&&1==t.sets.length&&m.add(t.sets[0])});let I={},k={};if((p=p.filter(t=>!t.sets.some(t=>m.has(t)))).length>0){let t=v(p,{lossFunction:M,distinct:d});a&&(t=$(t,l,f)),k=j(I=N(t,n,s,i,o),p,g)}let _={};function w(t){return t.sets in _?_[t.sets]:1==t.sets.length?""+t.sets[0]:void 0}p.forEach(t=>{t.label&&(_[t.sets]=t.label)}),x.selectAll("svg").data([I]).enter().append("svg");let S=x.select("svg");e?S.attr("viewBox",`0 0 ${n} ${s}`):S.attr("width",n).attr("height",s);let E={},z=!1;function T(t){return e=>{var i,r;return i=t.sets.map(t=>{let i=E[t],r=I[t];return i||(i={x:n/2,y:s/2,radius:1}),r||(r={x:n/2,y:s/2,radius:1}),{x:i.x*(1-e)+r.x*e,y:i.y*(1-e)+r.y*e,radius:i.radius*(1-e)+r.radius*e}}),r=y,P(L(i),r)}}S.selectAll(".venn-area path").each(function(t){let e,n=this.getAttribute("d");1==t.sets.length&&n&&!d&&(z=!0,E[t.sets[0]]={x:Number.parseFloat((e=n.split(" "))[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])})});let A=S.selectAll(".venn-area").data(p,t=>t.sets),K=A.enter().append("g").attr("class",t=>`venn-area venn-${1==t.sets.length?"circle":"intersection"}${t.colour||t.color?" venn-coloured":""}`).attr("data-venn-sets",t=>t.sets.join("_")),R=K.append("path"),O=K.append("text").attr("class","label").text(t=>w(t)).attr("text-anchor","middle").attr("dy",".35em").attr("x",n/2).attr("y",s/2);function C(t){return"function"==typeof t.transition?t.transition("venn").duration(r):t}c&&(R.style("fill-opacity","0").filter(t=>1==t.sets.length).style("fill",t=>t.colour?t.colour:t.color?t.color:b(t.sets)).style("fill-opacity",".25"),O.style("fill",e=>e.colour||e.color?"#FFF":t.textFill?t.textFill:1==e.sets.length?b(e.sets):"#444"));let F=x;z&&"function"==typeof F.transition?(F=C(x)).selectAll("path").attrTween("d",T):F.selectAll("path").attr("d",t=>P(L(t.sets.map(t=>I[t])),void 0),y);let q=F.selectAll("text").filter(t=>t.sets in k).text(t=>w(t)).attr("x",t=>Math.floor(k[t.sets].x)).attr("y",t=>Math.floor(k[t.sets].y));h&&(z?"on"in q?q.on("end",D(I,w)):q.each("end",D(I,w)):q.each(D(I,w)));let U=C(A.exit()).remove();"function"==typeof A.transition&&U.selectAll("path").attrTween("d",T);let B=U.selectAll("text").attr("x",n/2).attr("y",s/2);return null!==u&&(O.style("font-size","0px"),q.style("font-size",u),B.style("font-size","0px")),{circles:I,textCentres:k,nodes:A,enter:K,update:F,exit:U}}return I.wrap=function(t){return arguments.length?(h=t,I):h},I.useViewBox=function(){return e=!0,I},I.width=function(t){return arguments.length?(n=t,I):n},I.height=function(t){return arguments.length?(s=t,I):s},I.padding=function(t){return arguments.length?(i=t,I):i},I.distinct=function(t){return arguments.length?(d=t,I):d},I.colours=function(t){return arguments.length?(b=t,I):b},I.colors=function(t){return arguments.length?(b=t,I):b},I.fontSize=function(t){return arguments.length?(u=t,I):u},I.round=function(t){return arguments.length?(y=t,I):y},I.duration=function(t){return arguments.length?(r=t,I):r},I.layoutFunction=function(t){return arguments.length?(v=t,I):v},I.normalize=function(t){return arguments.length?(a=t,I):a},I.scaleToFit=function(t){return arguments.length?(o=t,I):o},I.styled=function(t){return arguments.length?(c=t,I):c},I.orientation=function(t){return arguments.length?(l=t,I):l},I.orientationOrder=function(t){return arguments.length?(f=t,I):f},I.lossFunction=function(t){return arguments.length?(M="default"===t?A:"logRatio"===t?K:t,I):M},I})().width(k).height(_-S);R.datum(I).call(O);let C=x?q.A.svg(R.select("svg").node()):void 0,F=function(t,e={}){let{lossFunction:n,layoutFunction:s=E,normalize:i=!0,orientation:r=Math.PI/2,orientationOrder:l,width:a=600,height:o=350,padding:h=15,scaleToFit:c=!1,symmetricalTextCentre:u=!1,distinct:f,round:d=2}=e,y=s(t,{lossFunction:"default"!==n&&n?"logRatio"===n?K:n:A,distinct:f});i&&(y=$(y,r,l));let g=N(y,a,o,h,c),x=j(g,t,u),p=new Map(Object.keys(g).map(t=>[t,{set:t,x:g[t].x,y:g[t].y,radius:g[t].radius}])),m=t.map(t=>{let e=t.sets.map(t=>p.get(t)),n=L(e),s=P(n,d);return{circles:e,arcs:n,path:s,area:t,has:new Set(t.sets)}});return m.map(({circles:t,arcs:e,path:n,area:s})=>({data:s,text:x[s.sets],circles:t,arcs:e,path:n,distinctPath:n+function(t){let e="";for(let n of m)n.has.size>t.length&&t.every(t=>n.has.has(t))&&(e+=" "+n.path);return e}(s.sets)}))}(I,{width:k,height:_-S,padding:a?.padding??15}),U=new Map;for(let t of F){let e=ty([...t.data.sets].sort());U.set(e,t)}v.length>0&&tg(a,U,R,v,w,M);let B=(0,h.A)(c.background||"#f4f4f4");R.selectAll(".venn-circle").each(function(t,e){let n=(0,o.Ltv)(this),s=ty([...t.sets].sort()),i=M.get(s),r=p.length>0?p[e%p.length]:void 0,l=i?.fill||r||c.primaryColor;n.classed(`venn-set-${e%8}`,!0);let a=i?.["fill-opacity"]??.1,h=i?.stroke||l,y=i?.["stroke-width"]||`${5*w}`;if(x&&C){let t=U.get(s);if(t&&t.circles.length>0){let s=t.circles[0],i=C.circle(s.x,s.y,2*s.radius,{roughness:.7,seed:g,fill:u(l,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+60*e,stroke:h,strokeWidth:parseFloat(String(y))});n.select("path").remove(),n.node()?.insertBefore(i,n.select("text").node())}}else n.select("path").style("fill",l).style("fill-opacity",a).style("stroke",h).style("stroke-width",y).style("stroke-opacity",.95);let m=i?.color||(B?(0,f.A)(l,30):(0,d.A)(l,30));n.select("text").style("font-size",`${48*w}px`).style("fill",m)}),x&&C?R.selectAll(".venn-intersection").each(function(t){let e=(0,o.Ltv)(this),n=ty([...t.sets].sort()),s=M.get(n),i=s?.fill;if(i){let t=e.select("path"),n=t.attr("d");if(n){let e=C.path(n,{roughness:.7,seed:g,fill:u(i,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),s=t.node();s?.parentNode?.insertBefore(e,s),t.remove()}}else e.select("path").style("fill-opacity",0);e.select("text").style("font-size",`${48*w}px`).style("fill",s?.color??c.vennSetTextColor??z)}):(R.selectAll(".venn-intersection text").style("font-size",`${48*w}px`).style("fill",t=>{let e=ty([...t.sets].sort());return M.get(e)?.color??c.vennSetTextColor??z}),R.selectAll(".venn-intersection path").style("fill-opacity",t=>{let e=ty([...t.sets].sort());return+!!M.get(e)?.fill}).style("fill",t=>{let e=ty([...t.sets].sort());return M.get(e)?.fill??"transparent"}));let G=T.append("g").attr("transform",`translate(0, ${S})`),W=R.select("svg").node();if(W&&"childNodes"in W)for(let t of[...W.childNodes])G.node()?.appendChild(t);(0,l.a$)(T,_,k,a?.useMaxWidth??!0)},"draw");function ty(t){return t.join("|")}function tg(t,e,n,s,i,r){let l=t?.useDebugLayout??!1,a=n.select("svg").append("g").attr("class","venn-text-nodes"),o=new Map;for(let t of s){let e=ty(t.sets),n=o.get(e);n?n.push(t):o.set(e,[t])}for(let[t,n]of o.entries()){let s=e.get(t);if(!s?.text)continue;let o=s.text.x,h=s.text.y,c=Math.min(...s.circles.map(t=>t.radius)),u=Math.min(...s.circles.map(t=>t.radius-Math.hypot(o-t.x,h-t.y))),f=Number.isFinite(u)?Math.max(0,u):0;0===f&&Number.isFinite(c)&&(f=.6*c);let d=a.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);l&&d.append("circle").attr("class","venn-text-debug-circle").attr("cx",o).attr("cy",h).attr("r",f).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);let y=Math.max(80*i,2*f*.95),g=Math.max(60*i,2*f*.95),x=(s.data.label&&s.data.label.length>0?Math.min(32*i,.25*f):0)+(n.length<=2?30*i:0),p=o-y/2,m=h-g/2+x,b=Math.max(1,Math.ceil(Math.sqrt(n.length))),v=Math.max(1,Math.ceil(n.length/b)),M=y/b,I=g/v;for(let[t,e]of n.entries()){let n=t%b,s=Math.floor(t/b),a=p+M*(n+.5),o=m+I*(s+.5);l&&d.append("rect").attr("class","venn-text-debug-cell").attr("x",p+M*n).attr("y",m+I*s).attr("width",M).attr("height",I).attr("fill","none").attr("stroke","teal").attr("stroke-width",+i).attr("stroke-dasharray",`${4*i} ${3*i}`);let h=.9*M,c=.9*I,u=d.append("foreignObject").attr("class","venn-text-node-fo").attr("width",h).attr("height",c).attr("x",a-h/2).attr("y",o-c/2).attr("overflow","visible"),f=r.get(e.id)?.color,y=u.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(e.label??e.id);f&&y.style("color",f)}}}function tx(t){let e=new Set(t.map(t=>[...t.sets].sort().join("|"))),n=new Map(t.filter(t=>1===t.sets.length&&void 0!==t.size).map(t=>[t.sets[0],t.size])),s=[];for(let i of t){if(i.sets.length<3)continue;let t=[...i.sets].sort();for(let i=0;i<t.length-1;i++)for(let r=i+1;r<t.length;r++){let l=[t[i],t[r]],a=l.join("|");if(!e.has(a)){e.add(a);let t=n.get(l[0]),i=n.get(l[1]),r=void 0!==t&&void 0!==i?Math.min(t,i)/4:2.5;s.push({sets:l,size:r,label:""})}}}return s.length>0?[...t,...s]:t}(0,a.K)(ty,"stableSetsKey"),(0,a.K)(tg,"renderTextNodes"),(0,a.K)(tx,"ensurePairwiseSubsets");var tp={parser:U,db:tc,renderer:{draw:td},styles:tu}}}]); \ No newline at end of file diff --git a/assets/js/37f774df.88809e17.js b/assets/js/37f774df.88809e17.js new file mode 100644 index 0000000..fa605f9 --- /dev/null +++ b/assets/js/37f774df.88809e17.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4796"],{7058(e,r,s){s.r(r),s.d(r,{metadata:()=>n,default:()=>h,frontMatter:()=>d,contentTitle:()=>a,toc:()=>i,assets:()=>c});var n=JSON.parse('{"id":"core/table-parse","title":"\u8868\u89E3\u6790","description":"\u4ECE SQL \u6587\u672C\u4E2D\u89E3\u6790\u771F\u5B9E\u8868\u3001CTE\u3001CREATE TABLE\u3001\u5206\u533A\u4E0E\u5C5E\u6027","source":"@site/versioned_docs/version-1.0/core/table-parse.md","sourceDirName":"core","slug":"/core/table-parse","permalink":"/SqlParserX/docs/core/table-parse","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/table-parse.md","tags":[],"version":"1.0","sidebarPosition":3,"frontMatter":{"title":"\u8868\u89E3\u6790","description":"\u4ECE SQL \u6587\u672C\u4E2D\u89E3\u6790\u771F\u5B9E\u8868\u3001CTE\u3001CREATE TABLE\u3001\u5206\u533A\u4E0E\u5C5E\u6027","sidebar_label":"\u8868\u89E3\u6790","sidebar_position":3},"sidebar":"docs","previous":{"title":"\u8868\u8840\u7F18\u89E3\u6790","permalink":"/SqlParserX/docs/core/table-lineage"},"next":{"title":"\u51FD\u6570\u89E3\u6790","permalink":"/SqlParserX/docs/core/function-parse"}}'),t=s(4848),l=s(8453);let d={title:"\u8868\u89E3\u6790",description:"\u4ECE SQL \u6587\u672C\u4E2D\u89E3\u6790\u771F\u5B9E\u8868\u3001CTE\u3001CREATE TABLE\u3001\u5206\u533A\u4E0E\u5C5E\u6027",sidebar_label:"\u8868\u89E3\u6790",sidebar_position:3},a="\u8868\u89E3\u6790",c={},i=[{value:"1. \u5F15\u5165\u4F9D\u8D56",id:"1-\u5F15\u5165\u4F9D\u8D56",level:2},{value:"2. \u5B8C\u6574\u793A\u4F8B",id:"2-\u5B8C\u6574\u793A\u4F8B",level:2},{value:"3. \u5B9E\u73B0\u76EE\u6807",id:"3-\u5B9E\u73B0\u76EE\u6807",level:2},{value:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",level:2},{value:"5. \u652F\u6301\u7C92\u5EA6",id:"5-\u652F\u6301\u7C92\u5EA6",level:2}];function o(e){let r={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"\u8868\u89E3\u6790",children:"\u8868\u89E3\u6790"})}),"\n",(0,t.jsx)(r.h2,{id:"1-\u5F15\u5165\u4F9D\u8D56",children:"1. \u5F15\u5165\u4F9D\u8D56"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"sqlparserx-core"})," \u5DF2\u4F20\u9012\u4F9D\u8D56 ",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"})," \u4E0E Druid\uFF0C\u65E0\u9700\u989D\u5916\u5F15\u5165\u3002"]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"2-\u5B8C\u6574\u793A\u4F8B",children:"2. \u5B8C\u6574\u793A\u4F8B"}),"\n",(0,t.jsxs)(r.p,{children:["\u540C\u6837\u6CBF\u7528\u5B98\u65B9 ",(0,t.jsx)(r.code,{children:"sqlparserx-core/README.md"})," \u7684\u793A\u4F8B SQL\uFF0C\u6F14\u793A\u300C\u89E3\u6790\u771F\u5B9E\u8868\u300D\u4E0E\u300C\u89E3\u6790\u5EFA\u8868\u8BED\u53E5\u300D\uFF1A"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-java",metastring:'title="TableParseDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;\n\nimport com.alibaba.druid.DbType;\n\npublic class TableParseDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1\u3001\u83B7\u53D6\u89E3\u6790\u5668\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2\u3001\u89E3\u6790 SQL \u4E2D\u7684\u771F\u5B9E\u8868\n ParseTableResult tableResult = parser.parseTables(sql);\n System.out.println("\u4E3B\u8868: " + tableResult.getMainTable().getName());\n System.out.println("\u6240\u6709\u8868: " + tableResult.getAllTableName());\n\n // 3\u3001\u89E3\u6790 CREATE TABLE \u8BED\u53E5\u7ED3\u6784\n ParseCreateTableResult createResult = parser.parseCreateTable(sql);\n System.out.println("\u5EFA\u8868\u540D: " + createResult.getDb() + "." + createResult.getTableName());\n System.out.println("\u5B57\u6BB5\u6570: " + createResult.getTableElementList().size());\n }\n}\n'})}),"\n",(0,t.jsx)(r.p,{children:"\u63A7\u5236\u53F0\u8F93\u51FA\uFF08\u793A\u4F8B\uFF09\uFF1A"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"\u4E3B\u8868: users\n\u6240\u6709\u8868: [user_order_summary, users, orders]\n\u5EFA\u8868\u540D: null.user_order_summary\n\u5B57\u6BB5\u6570: 4\n"})}),"\n",(0,t.jsx)(r.h2,{id:"3-\u5B9E\u73B0\u76EE\u6807",children:"3. \u5B9E\u73B0\u76EE\u6807"}),"\n",(0,t.jsxs)(r.p,{children:["\u4ECE SQL \u6587\u672C\u4E2D\u8BC6\u522B",(0,t.jsx)(r.strong,{children:"\u771F\u5B9E\u8868"}),"\uFF0C\u5305\u62EC\u666E\u901A\u67E5\u8BE2\u7528\u8868\u3001CTE\u3001",(0,t.jsx)(r.code,{children:"CREATE TABLE"})," \u5B9A\u4E49\u3001\u5206\u533A\u4E0E\u8868\u5C5E\u6027\u7B49\u3002"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"SQLStatement AST\n \u2192 ParseTableClient.parseTables / parseCreateTable\n \u2192 \u6536\u96C6\u8868 / CTE / \u5EFA\u8868\u7ED3\u6784 / \u5206\u533A / \u5C5E\u6027\n \u2192 ParseTableResult / ParseCreateTableResult\n"})}),"\n",(0,t.jsx)(r.h2,{id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",children:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u9879\u76EE"}),(0,t.jsx)(r.th,{children:"\u5185\u5BB9"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Core \u5165\u53E3"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"ISqlParser.parseTables(sql)"}),"\u3001",(0,t.jsx)(r.code,{children:"ISqlParser.parseCreateTable(sql)"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u9ED8\u8BA4\u5B9E\u73B0"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"BaseSqlParser.parseTables"})," \u2192 ",(0,t.jsx)(r.code,{children:"ParseTableClient"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u8FD4\u56DE\u7C7B\u578B"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"ParseTableResult"}),"\u3001",(0,t.jsx)(r.code,{children:"ParseCreateTableResult"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u8986\u76D6\u5BF9\u8C61"}),(0,t.jsxs)(r.td,{children:["\u67E5\u8BE2\u7528\u8868\u3001CTE\u3001",(0,t.jsx)(r.code,{children:"CREATE TABLE"}),"\u3001\u5206\u533A\u3001\u8868\u5C5E\u6027"]})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"5-\u652F\u6301\u7C92\u5EA6",children:"5. \u652F\u6301\u7C92\u5EA6"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u80FD\u529B\u9879"}),(0,t.jsx)(r.th,{children:"\u652F\u6301\u60C5\u51B5"}),(0,t.jsx)(r.th,{children:"\u8BF4\u660E"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u67E5\u8BE2\u7528\u8868\u8BC6\u522B"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"SELECT / INSERT / UPDATE / DELETE"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"CTE \u8BC6\u522B"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"WITH \u5B9A\u4E49\u7684\u4E34\u65F6\u8868"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"CREATE TABLE"})," DDL"]}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u8868\u540D\u3001\u5B57\u6BB5\u3001\u7C7B\u578B\u3001\u6CE8\u91CA"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u5206\u533A\u4E0E\u8868\u5C5E\u6027"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u5404\u6570\u636E\u6E90\u65B9\u8A00\u5DEE\u5F02\u5185\u805A\u5728\u8BED\u6CD5\u5C42"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"catalog.db.table"})," \u591A\u7EA7\u547D\u540D"]}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u591A catalog \u573A\u666F"})]})]})]}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:["\u66F4\u591A\u8868\u89E3\u6790\u573A\u666F\u4E0E\u6570\u636E\u6E90\u5DEE\u5F02\uFF0C\u4EE5\u9879\u76EE ",(0,t.jsx)(r.code,{children:"docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u80FD\u529B\u652F\u6301\u60C5\u51B5/\u901A\u7528\u89E3\u6790\u80FD\u529B/\u8868\u89E3\u6790\u652F\u6301\u60C5\u51B5.md"})," \u4E3A\u51C6\u3002"]}),"\n"]})]})}function h(e={}){let{wrapper:r}={...(0,l.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},8453(e,r,s){s.d(r,{R:()=>d,x:()=>a});var n=s(6540);let t={},l=n.createContext(t);function d(e){let r=n.useContext(l);return n.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function a(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),n.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3851.7f972b73.js b/assets/js/3851.7f972b73.js new file mode 100644 index 0000000..1253c70 --- /dev/null +++ b/assets/js/3851.7f972b73.js @@ -0,0 +1,149 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3851"],{5937(e,t,s){s.d(t,{A:()=>n});var i=s(1553),r=s(6408);let n=(e,t)=>i.A.lang.round(r.A.parse(e)[t])},9734(e,t,s){s.d(t,{diagram:()=>eL});var i=s(4918),r=s(3247),n=s(6163),a=s(7827);s(3002),s(739),s(6320),s(2217);var o=s(2941),l=s(6348),c=s(1177),h=s(1293),u=s(6827),g=s(7110),d=s(9125),y=s(9826),p=s(9663);function b(e,t){for(let s in t)Object.hasOwn(t,s)&&(e[s]=t[s])}var f=s(5937),x=s(5582),S=s(7829),m=s(697),L=function(){var e=(0,u.K)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,15],s=[1,7],i=[1,13],r=[1,14],n=[1,19],a=[1,16],o=[1,17],l=[1,18],c=[8,30],h=[8,10,21,28,29,30,31,39,43,46],g=[1,23],d=[1,24],y=[8,10,15,16,21,28,29,30,31,39,43,46],p=[8,10,15,16,21,27,28,29,30,31,39,43,46],b=[1,49],f={trace:(0,u.K)(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:(0,u.K)(function(e,t,s,i,r,n,a){var o=n.length-1;switch(r){case 4:i.getLogger().debug("Rule: separator (NL) ");break;case 5:i.getLogger().debug("Rule: separator (Space) ");break;case 6:i.getLogger().debug("Rule: separator (EOF) ");break;case 7:i.getLogger().debug("Rule: hierarchy: ",n[o-1]),i.setHierarchy(n[o-1]);break;case 8:i.getLogger().debug("Stop NL ");break;case 9:i.getLogger().debug("Stop EOF ");break;case 10:i.getLogger().debug("Stop NL2 ");break;case 11:i.getLogger().debug("Stop EOF2 ");break;case 12:i.getLogger().debug("Rule: statement: ",n[o]),"number"==typeof n[o].length?this.$=n[o]:this.$=[n[o]];break;case 13:i.getLogger().debug("Rule: statement #2: ",n[o-1]),this.$=[n[o-1]].concat(n[o]);break;case 14:i.getLogger().debug("Rule: link: ",n[o],e),this.$={edgeTypeStr:n[o],label:""};break;case 15:i.getLogger().debug("Rule: LABEL link: ",n[o-3],n[o-1],n[o]),this.$={edgeTypeStr:n[o],label:n[o-1]};break;case 18:let l=parseInt(n[o]),c=i.generateId();this.$={id:c,type:"space",label:"",width:l,children:[]};break;case 23:i.getLogger().debug("Rule: (nodeStatement link node) ",n[o-2],n[o-1],n[o]," typestr: ",n[o-1].edgeTypeStr);let h=i.edgeStrToEdgeData(n[o-1].edgeTypeStr),u=i.edgeStrToEdgeStartData(n[o-1].edgeTypeStr),g=i.edgeStrToThickness(n[o-1].edgeTypeStr),d=i.edgeStrToPattern(n[o-1].edgeTypeStr);this.$=[{id:n[o-2].id,label:n[o-2].label,type:n[o-2].type,directions:n[o-2].directions},{id:n[o-2].id+"-"+n[o].id,start:n[o-2].id,end:n[o].id,label:n[o-1].label,type:"edge",thickness:g,pattern:d,directions:n[o].directions,arrowTypeEnd:h,arrowTypeStart:u},{id:n[o].id,label:n[o].label,type:i.typeStr2Type(n[o].typeStr),directions:n[o].directions}];break;case 24:i.getLogger().debug("Rule: nodeStatement (abc88 node size) ",n[o-1],n[o]),this.$={id:n[o-1].id,label:n[o-1].label,type:i.typeStr2Type(n[o-1].typeStr),directions:n[o-1].directions,widthInColumns:parseInt(n[o],10)};break;case 25:i.getLogger().debug("Rule: nodeStatement (node) ",n[o]),this.$={id:n[o].id,label:n[o].label,type:i.typeStr2Type(n[o].typeStr),directions:n[o].directions,widthInColumns:1};break;case 26:i.getLogger().debug("APA123",this?this:"na"),i.getLogger().debug("COLUMNS: ",n[o]),this.$={type:"column-setting",columns:"auto"===n[o]?-1:parseInt(n[o])};break;case 27:i.getLogger().debug("Rule: id-block statement : ",n[o-2],n[o-1]),i.generateId(),this.$={...n[o-2],type:"composite",children:n[o-1]};break;case 28:i.getLogger().debug("Rule: blockStatement : ",n[o-2],n[o-1],n[o]);let y=i.generateId();this.$={id:y,type:"composite",label:"",children:n[o-1]};break;case 29:i.getLogger().debug("Rule: node (NODE_ID separator): ",n[o]),this.$={id:n[o]};break;case 30:i.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",n[o-1],n[o]),this.$={id:n[o-1],label:n[o].label,typeStr:n[o].typeStr,directions:n[o].directions};break;case 31:i.getLogger().debug("Rule: dirList: ",n[o]),this.$=[n[o]];break;case 32:i.getLogger().debug("Rule: dirList: ",n[o-1],n[o]),this.$=[n[o-1]].concat(n[o]);break;case 33:i.getLogger().debug("Rule: nodeShapeNLabel: ",n[o-2],n[o-1],n[o]),this.$={typeStr:n[o-2]+n[o],label:n[o-1]};break;case 34:i.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",n[o-3],n[o-2]," #3:",n[o-1],n[o]),this.$={typeStr:n[o-3]+n[o],label:n[o-2],directions:n[o-1]};break;case 35:case 36:this.$={type:"classDef",id:n[o-1].trim(),css:n[o].trim()};break;case 37:this.$={type:"applyClass",id:n[o-1].trim(),styleClass:n[o].trim()};break;case 38:this.$={type:"applyStyles",id:n[o-1].trim(),stylesStr:n[o].trim()}}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:i,29:r,31:n,39:a,43:o,46:l},{8:[1,20]},e(c,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:s,28:i,29:r,31:n,39:a,43:o,46:l}),e(h,[2,16],{14:22,15:g,16:d}),e(h,[2,17]),e(h,[2,18]),e(h,[2,19]),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(y,[2,25],{27:[1,25]}),e(h,[2,26]),{19:26,26:12,31:n},{10:t,11:27,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:i,29:r,31:n,39:a,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(p,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(c,[2,13]),{26:35,31:n},{31:[2,14]},{17:[1,36]},e(y,[2,24]),{10:t,11:37,13:4,14:22,15:g,16:d,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:i,29:r,31:n,39:a,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(p,[2,30]),{18:[1,43]},{18:[1,44]},e(y,[2,23]),{18:[1,45]},{30:[1,46]},e(h,[2,28]),e(h,[2,35]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),{36:[1,47]},{33:48,34:b},{15:[1,50]},e(h,[2,27]),e(p,[2,33]),{38:[1,51]},{33:52,34:b,38:[2,31]},{31:[2,15]},e(p,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:(0,u.K)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,u.K)(function(e){var t=this,s=[0],i=[],r=[null],n=[],a=this.table,o="",l=0,c=0,h=0,g=n.slice.call(arguments,1),d=Object.create(this.lexer),y={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(y[p]=this.yy[p]);d.setInput(e,y),y.lexer=d,y.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;n.push(b);var f=d.options&&d.options.ranges;function x(){var e;return"number"!=typeof(e=i.pop()||d.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof y.parseError?this.parseError=y.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,u.K)(function(e){s.length=s.length-2*e,r.length=r.length-e,n.length=n.length-e},"popStack"),(0,u.K)(x,"lex");for(var S,m,L,k,_,w,E,D,$,I={};;){if(L=s[s.length-1],this.defaultActions[L]?k=this.defaultActions[L]:(null==S&&(S=x()),k=a[L]&&a[L][S]),void 0===k||!k.length||!k[0]){var N="";for(w in $=[],a[L])this.terminals_[w]&&w>2&&$.push("'"+this.terminals_[w]+"'");N=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+$.join(", ")+", got '"+(this.terminals_[S]||S)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==S?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(N,{text:d.match,token:this.terminals_[S]||S,line:d.yylineno,loc:b,expected:$})}if(k[0]instanceof Array&&k.length>1)throw Error("Parse Error: multiple actions possible at state: "+L+", token: "+S);switch(k[0]){case 1:s.push(S),r.push(d.yytext),n.push(d.yylloc),s.push(k[1]),S=null,m?(S=m,m=null):(c=d.yyleng,o=d.yytext,l=d.yylineno,b=d.yylloc,h>0&&h--);break;case 2:if(E=this.productions_[k[1]][1],I.$=r[r.length-E],I._$={first_line:n[n.length-(E||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(E||1)].first_column,last_column:n[n.length-1].last_column},f&&(I._$.range=[n[n.length-(E||1)].range[0],n[n.length-1].range[1]]),void 0!==(_=this.performAction.apply(I,[o,c,l,y,k[1],r,n].concat(g))))return _;E&&(s=s.slice(0,-1*E*2),r=r.slice(0,-1*E),n=n.slice(0,-1*E)),s.push(this.productions_[k[1]][0]),r.push(I.$),n.push(I._$),D=a[s[s.length-2]][s[s.length-1]],s.push(D);break;case 3:return!0}}return!0},"parse")};function x(){this.yy={}}return f.lexer={EOF:1,parseError:(0,u.K)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,u.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,u.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,u.K)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,u.K)(function(){return this._more=!0,this},"more"),reject:(0,u.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,u.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,u.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,u.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,u.K)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,u.K)(function(e,t){var s,i,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))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var n in r)this[n]=r[n];return!1},"test_match"),next:(0,u.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,r=this._currentRules(),n=0;n<r.length;n++)if((s=this._input.match(this.rules[r[n]]))&&(!t||s[0].length>t[0].length)){if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[n])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,u.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,u.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,u.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,u.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,u.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,u.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,u.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,u.K)(function(e,t,s,i){switch(s){case 0:return e.getLogger().debug("Found block-beta"),10;case 1:return e.getLogger().debug("Found id-block"),29;case 2:return e.getLogger().debug("Found block"),10;case 3:e.getLogger().debug(".",t.yytext);break;case 4:e.getLogger().debug("_",t.yytext);break;case 5:return 5;case 6:return t.yytext=-1,28;case 7:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 8:case 76:case 77:case 99:this.pushState("md_string");break;case 9:return"MD_STR";case 10:case 34:case 79:this.popState();break;case 11:this.pushState("string");break;case 12:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 13:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 14:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 15:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:case 38:case 40:case 41:case 44:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 42:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:case 49:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:case 59:case 60:case 61:case 64:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 62:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 65:case 66:case 67:case 68:case 69:case 70:case 71:return this.pushState("NODE"),35;case 72:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),37;case 74:return e.getLogger().debug("Lex: NODE_ID",t.yytext),31;case 75:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 78:return"NODE_DESCR";case 80:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:e.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return e.getLogger().debug("LEX: NODE_DESCR:",t.yytext),"NODE_DESCR";case 83:e.getLogger().debug("LEX POPPING"),this.popState();break;case 84:e.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (right): dir:",t.yytext),"DIR";case 86:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (left):",t.yytext),"DIR";case 87:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (x):",t.yytext),"DIR";case 88:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (y):",t.yytext),"DIR";case 89:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (up):",t.yytext),"DIR";case 90:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (down):",t.yytext),"DIR";case 91:return t.yytext="]>",e.getLogger().debug("Lex (ARROW_DIR end):",t.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 93:case 94:case 95:return e.getLogger().debug("Lex: LINK",t.yytext),15;case 96:case 97:case 98:return e.getLogger().debug("Lex: START_LINK",t.yytext),this.pushState("LLABEL"),16;case 100:return e.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 102:case 103:return this.popState(),e.getLogger().debug("Lex: LINK",t.yytext),15;case 104:return e.getLogger().debug("Lex: COLON",t.yytext),t.yytext=t.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:=]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}},(0,u.K)(x,"Parser"),x.prototype=f,f.Parser=x,new x}();L.parser=L;var k=new Map,_=[],w=new Map,E="color",D="fill",$=new Map,I="",N=(0,u.K)(e=>c.Y2.sanitizeText(e,(0,c.D7)()),"sanitizeText"),T=(0,u.K)(function(e,t=""){let s=$.get(e);s||(s={id:e,styles:[],textStyles:[]},$.set(e,s)),null!=t&&t.split(",").forEach(e=>{let t=e.replace(/([^;]*);/,"$1").trim();if(RegExp(E).exec(e)){let e=t.replace(D,"bgFill").replace(E,D);s.textStyles.push(e)}s.styles.push(t)})},"addStyleClass"),O=(0,u.K)(function(e,t=""){let s=k.get(e);null!=t&&(s.styles=t.split(","))},"addStyle2Node"),R=(0,u.K)(function(e,t){e.split(",").forEach(function(e){let s=k.get(e);if(void 0===s){let t=e.trim();s={id:t,type:"na",children:[]},k.set(t,s)}s.classes||(s.classes=[]),s.classes.push(t)})},"setCssClass"),z=0,C=(0,u.K)((e,t)=>{let s=e.flat(),i=[],r=s.find(e=>e?.type==="column-setting"),n=r?.columns??-1;for(let e of s){if("number"==typeof n&&n>0&&"column-setting"!==e.type&&"number"==typeof e.widthInColumns&&e.widthInColumns>n&&h.R.warn(`Block ${e.id} width ${e.widthInColumns} exceeds configured column width ${n}`),e.label&&(e.label=N(e.label)),"classDef"===e.type){T(e.id,e.css);continue}if("applyClass"===e.type){R(e.id,e?.styleClass??"");continue}if("applyStyles"===e.type){e?.stylesStr&&O(e.id,e?.stylesStr);continue}if("column-setting"===e.type)t.columns=e.columns??-1;else if("edge"===e.type){let t=(w.get(e.id)??0)+1;w.set(e.id,t),e.id=t+"-"+e.id,_.push(e)}else{e.label||("composite"===e.type?e.label="":e.label=e.id);let t=k.get(e.id);if(void 0===t?("composite"===e.type&&(e.colorIndex=z++),k.set(e.id,e)):("na"!==e.type&&(t.type=e.type),e.label!==e.id&&(t.label=e.label)),e.children&&C(e.children,e),"space"===e.type){let t=e.width??1;for(let s=0;s<t;s++){let t=function(e){if((0,g.s)(e))return e;let t=(0,d.b)(e);if(!function(e){switch((0,d.b)(e)){case y.R_:case y.Uw:case y.cT:case y.iq:case y.$V:case y.vC:case y.ri:case y.ML:case y.XZ:case y.i1:case y._u:case y.pj:case y.kj:case y.GX:case y.Av:case y.NA:case y.OG:case y.VP:case y.Qb:case y.q:case y.x6:case y.ZR:return!0;default:return!1}}(e))return{};if(Array.isArray(e)){let t=Array.from(e);return e.length>0&&"string"==typeof e[0]&&Object.hasOwn(e,"index")&&(t.index=e.index,t.input=e.input),t}if((0,p.i)(e))return new e.constructor(e.buffer,e.byteOffset,e.length);if("[object ArrayBuffer]"===t)return new ArrayBuffer(e.byteLength);if("[object DataView]"===t){let t=e.buffer,s=e.byteOffset,i=e.byteLength,r=new ArrayBuffer(i),n=new Uint8Array(t,s,i);return new Uint8Array(r).set(n),new DataView(r)}if("[object Boolean]"===t||"[object Number]"===t||"[object String]"===t){let s=new e.constructor(e.valueOf());return"[object String]"===t?function(e,t){let s=t.valueOf().length;for(let i in t)Object.hasOwn(t,i)&&(Number.isNaN(Number(i))||Number(i)>=s)&&(e[i]=t[i])}(s,e):b(s,e),s}if("[object Date]"===t)return new Date(Number(e));if("[object RegExp]"===t){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if("[object Symbol]"===t)return Object(Symbol.prototype.valueOf.call(e));if("[object Map]"===t){let t=new Map;return e.forEach((e,s)=>{t.set(s,e)}),t}if("[object Set]"===t){let t=new Set;return e.forEach(e=>{t.add(e)}),t}if("[object Arguments]"===t){let t={};return b(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}let s={};return function(e,t){let s=Object.getPrototypeOf(t);null!==s&&"function"==typeof t.constructor&&Object.setPrototypeOf(e,s)}(s,e),b(s,e),function(e,t){let s=Object.getOwnPropertySymbols(t);for(let i=0;i<s.length;i++){let r=s[i];Object.prototype.propertyIsEnumerable.call(t,r)&&(e[r]=t[r])}}(s,e),s}(e);t.id=t.id+"-"+s,k.set(t.id,t),i.push(t)}}else void 0===t&&i.push(e)}}t.children=i},"populateBlockDatabase"),A=[],K={id:"root",type:"composite",children:[],columns:-1},v=(0,u.K)(()=>{h.R.debug("Clear called"),(0,c.IU)(),k=new Map([["root",K={id:"root",type:"composite",children:[],columns:-1}]]),A=[],$=new Map,_=[],w=new Map,I="",z=0},"clear");function B(e){switch(h.R.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return h.R.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 P(e){return(h.R.debug("typeStr2Type",e),"=="===e)?"thick":"normal"}function F(e){switch(e.trim().slice(-1)){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}function j(e){switch(e.trim().charAt(0)){case"x":return"arrow_cross";case"o":return"arrow_circle";case"<":return"arrow_point";default:return"arrow_open"}}function M(e){return e.includes("==")?"thick":"normal"}function Y(e){return e.includes(".-")?"dotted":"solid"}(0,u.K)(B,"typeStr2Type"),(0,u.K)(P,"edgeTypeStr2Type"),(0,u.K)(F,"edgeStrToEdgeData"),(0,u.K)(j,"edgeStrToEdgeStartData"),(0,u.K)(M,"edgeStrToThickness"),(0,u.K)(Y,"edgeStrToPattern");var W=0,X=(0,u.K)(()=>(W++,"id-"+Math.random().toString(36).substr(2,12)+"-"+W),"generateId"),U=(0,u.K)(e=>{K.children=e,C(e,K),A=K.children},"setHierarchy"),q=(0,u.K)(e=>{let t=k.get(e);return t?t.columns?t.columns:t.children?t.children.length:-1:-1},"getColumns"),G=(0,u.K)(()=>[...k.values()],"getBlocksFlat"),H=(0,u.K)(()=>A||[],"getBlocks"),V=(0,u.K)(()=>_,"getEdges"),Z=(0,u.K)(e=>k.get(e),"getBlock"),J=(0,u.K)(e=>{k.set(e.id,e)},"setBlock"),Q=(0,u.K)(e=>{I=e},"setDiagramId"),ee=(0,u.K)(()=>I,"getDiagramId"),et=(0,u.K)(()=>h.R,"getLogger"),es=(0,u.K)(function(){return $},"getClasses"),ei={getConfig:(0,u.K)(()=>(0,c.zj)().block,"getConfig"),typeStr2Type:B,edgeTypeStr2Type:P,edgeStrToEdgeData:F,edgeStrToEdgeStartData:j,edgeStrToThickness:M,edgeStrToPattern:Y,getLogger:et,getBlocksFlat:G,getBlocks:H,getEdges:V,setHierarchy:U,getBlock:Z,setBlock:J,getColumns:q,getClasses:es,clear:v,generateId:X,setDiagramId:Q,getDiagramId:ee},er=(0,u.K)(e=>{let{theme:t,bkgColorArray:s,borderColorArray:i}=e;if(!(0,o.P1)(t,i))return"";let r=(0,o.rq)(e.look),n=(0,o.Ic)(s),a="";for(let t=0;t<(0,o.nw)(e.THEME_COLOR_LIMIT,i);t++){let e=i[t%i.length],o=n?`fill: ${s[t%s.length]};`:"",l=`[data-look="${r}"][data-color-id="color-${t}"]`;a+=` + + ${l}.node rect.composite { + stroke: ${e}; + ${o} + } +`}return a},"genColor"),en=(0,u.K)((e,t)=>{let s=f.A,i=s(e,"r"),r=s(e,"g"),n=s(e,"b");return x.A(i,r,n,t)},"fade"),ea=(0,u.K)(e=>`${er(e)} + .label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span { + color: ${e.titleColor}; + } + + + + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + /* From the theme, as every other diagram does. Pinned at 1px here, so block drew a + thinner border than an identical flowchart node under any theme asking for more -- + the neo theme asks for 2. Nothing downstream corrected it: the neo rules set stroke + and filter, never stroke-width. */ + stroke-width: ${e.strokeWidth??1}px; + } + .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: ${e.arrowheadColor}; + } + + .edgePaths .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + /* + * This is for backward compatibility with existing code that didn't + * add a \`<p>\` around edge labels. + * + * TODO: We should probably remove this in a future release. + */ + p { + margin: 0; + padding: 0; + display: inline; + } + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${e.edgeLabelBackground}; + } + + .node .cluster { + // fill: ${en(e.mainBkg,.5)}; + fill: ${en(e.clusterBkg,.5)}; + stroke: ${en(e.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: ${e.titleColor}; + } + + .cluster span { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } + ${(0,i.o)()} +`,"getStyles");function eo(e,t){if(0===e||!Number.isInteger(e))throw Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw Error("Position must be a non-negative integer."+t);return e<0?{px:t,py:0}:1===e?{px:0,py:t}:{px:t%e,py:Math.floor(t/e)}}(0,u.K)(eo,"calculateBlockPosition");var el=(0,u.K)(e=>{let t=0,s=0;for(let i of e.children){let{width:e,height:r,x:n,y:a}=i.size??{width:0,height:0,x:0,y:0};if(h.R.debug("getMaxChildSize abc95 child:",i.id,"width:",e,"height:",r,"x:",n,"y:",a,i.type),"space"===i.type)continue;let o=e/(i.widthInColumns??1);o>t&&(t=o),r>s&&(s=r)}return{width:t,height:s}},"getMaxChildSize");function ec(e,t,s=0,i=0,r=8){h.R.debug("setBlockSizes abc95 (start)",e.id,e?.size?.x,"block width =",e?.size,"siblingWidth",s),e?.size?.width||(e.size={width:s,height:i,x:0,y:0});let n=0,a=0;if(e.children?.length>0){for(let s of e.children)ec(s,t,0,0,r);let o=el(e);for(let t of(n=o.width,a=o.height,h.R.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",n,a),e.children))t.size&&(h.R.debug(`abc95 Setting size of children of ${e.id} id=${t.id} ${n} ${a} ${JSON.stringify(t.size)}`),t.size.width=n*(t.widthInColumns??1)+r*((t.widthInColumns??1)-1),t.size.height=a,t.size.x=0,t.size.y=0,h.R.debug(`abc95 updating size of ${e.id} children child:${t.id} maxWidth:${n} maxHeight:${a}`));for(let s of e.children)ec(s,t,n,a,r);let l=e.columns??-1,c=0;for(let t of e.children)c+=t.widthInColumns??1;let u=e.children.length;l>0&&l<c&&(u=l);let g=Math.ceil(c/u),d=u*(n+r)+r,y=g*(a+r)+r;if(d<s){h.R.debug(`Detected to small sibling: abc95 ${e.id} siblingWidth ${s} siblingHeight ${i} width ${d}`),d=s,y=i;let t=(s-u*r-r)/u,o=(i-g*r-r)/g;for(let s of(h.R.debug("Size indata abc88",e.id,"childWidth",t,"maxWidth",n),h.R.debug("Size indata abc88",e.id,"childHeight",o,"maxHeight",a),h.R.debug("Size indata abc88 xSize",u,"padding",r),e.children))s.size&&(s.size.width=t,s.size.height=o,s.size.x=0,s.size.y=0)}if(h.R.debug(`abc95 (finale calc) ${e.id} xSize ${u} ySize ${g} columns ${l}${e.children.length} width=${Math.max(d,e.size?.width||0)}`),d<(e?.size?.width||0)){d=e?.size?.width||0;let t=l>0?Math.min(e.children.length,l):e.children.length;if(t>0){let s=(d-t*r-r)/t;for(let t of(h.R.debug("abc95 (growing to fit) width",e.id,d,e.size?.width,s),e.children))t.size&&(t.size.width=s)}}e.size={width:d,height:y,x:0,y:0}}h.R.debug("setBlockSizes abc94 (done)",e.id,e?.size?.x,e?.size?.width,e?.size?.y,e?.size?.height)}function eh(e,t,s=8){h.R.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`);let i=e.columns??-1;if(h.R.debug("layoutBlocks columns abc95",e.id,"=>",i,e),e.children&&e.children.length>0){let r=e?.children[0]?.size?.width??0,n=e.children.length*r+(e.children.length-1)*s;h.R.debug("widthOfChildren 88",n,"posX");let a=new Map;{let t=0;for(let s of e.children){if(!s.size)continue;let{py:e}=eo(i,t),r=a.get(e)??0;s.size.height>r&&a.set(e,s.size.height);let n=s?.widthInColumns??1;i>0&&(n=Math.min(n,i-t%i)),t+=n}}let o=new Map;{let e=0;for(let t of[...a.keys()].sort((e,t)=>e-t))o.set(t,e),e+=(a.get(t)??0)+s}let l=0;h.R.debug("abc91 block?.size?.x",e.id,e?.size?.x);let c=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-s,u=0;for(let r of e.children){if(!r.size)continue;let{width:n,height:g}=r.size,{px:d,py:y}=eo(i,l);if(y!=u&&(u=y,c=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-s,h.R.debug("New row in layout for block",e.id," and child ",r.id,u)),h.R.debug(`abc89 layout blocks (child) id: ${r.id} Pos: ${l} (px, py) ${d},${y} (${e?.size?.x},${e?.size?.y}) parent: ${e.id} width: ${n}${s}`),e.size){let t=n/2;r.size.x=c+s+t,h.R.debug(`abc91 layout blocks (calc) px, pyid:${r.id} startingPos=X${c} new startingPosX${r.size.x} ${t} padding=${s} width=${n} halfWidth=${t} => x:${r.size.x} y:${r.size.y} ${r.widthInColumns} (width * (child?.w || 1)) / 2 ${n*(r?.widthInColumns??1)/2}`),c=r.size.x+t;let i=o.get(y)??0,l=a.get(y)??g;r.size.y=e.size.y-e.size.height/2+i+l/2+s,h.R.debug(`abc88 layout blocks (calc) px, pyid:${r.id}startingPosX${c}${s}${t}=>x:${r.size.x}y:${r.size.y}${r.widthInColumns}(width * (child?.w || 1)) / 2${n*(r?.widthInColumns??1)/2}`)}r.children&&eh(r,t,s);let p=r?.widthInColumns??1;i>0&&(p=Math.min(p,i-l%i)),l+=p,h.R.debug("abc88 columnsPos",r,l)}}h.R.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`)}function eu(e,{minX:t,minY:s,maxX:i,maxY:r}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&"root"!==e.id){let{x:n,y:a,width:o,height:l}=e.size;n-o/2<t&&(t=n-o/2),a-l/2<s&&(s=a-l/2),n+o/2>i&&(i=n+o/2),a+l/2>r&&(r=a+l/2)}if(e.children)for(let n of e.children)({minX:t,minY:s,maxX:i,maxY:r}=eu(n,{minX:t,minY:s,maxX:i,maxY:r}));return{minX:t,minY:s,maxX:i,maxY:r}}function eg(e){let t=e.getBlock("root");if(!t)return;let s=(0,c.D7)()?.block?.padding??8;ec(t,e,0,0,s),eh(t,e,s),h.R.debug("getBlocks",JSON.stringify(t,null,2));let{minX:i,minY:r,maxX:n,maxY:a}=eu(t);return{x:i,y:r,width:n-i,height:a-r}}function ed(e,t,s=!1){let i,r="default";(e?.classes?.length||0)>0&&(r=(e?.classes??[]).join(" ")),r+=" flowchart-label";let n=(e?.classes??[]).flatMap(e=>t.getClasses().get(e)?.styles??[]),a=0,o="rect";switch(e.type){case"round":a=5,o="rect";break;case"composite":a=0,o="composite",i=0;break;case"square":case"group":default:o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"block_arrow":o="block_arrow";break;case"odd":case"rect_left_inv_arrow":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"doublecircle":o="doublecircle"}let h=(0,l.sM)(e?.styles??[]),u=e.label,g=e.size??{width:0,height:0,x:0,y:0},d=t.getDiagramId();return{labelStyle:h.labelStyle,shape:o,label:u,labelText:u,rx:a,ry:a,class:r,cssClasses:r,cssStyles:e?.styles??[],cssCompiledStyles:n,style:h.style,id:e.id,domId:d?`${d}-${e.id}`:e.id,isGroup:!1,directions:e.directions,width:g.width||void 0,height:g.height||void 0,wrappingWidth:g.width||1/0,x:g.x,y:g.y,positioned:s,intersect:void 0,padding:i??(0,c.zj)()?.block?.padding??0,widthInColumns:e.widthInColumns??1,colorIndex:e.colorIndex,look:(0,c.zj)().look}}async function ey(e,t,s){let i=ed(t,s,!1);if("group"===t.type)return;let r=(0,c.zj)(),n=await (0,a.on)(e,i,{config:r}),o=n.node()?.getBBox()??{width:0,height:0},l=s.getBlock(i.id);l.size={width:o.width,height:o.height,x:0,y:0,node:n},s.setBlock(l),n.remove()}async function ep(e,t,s){let i=ed(t,s,!0);if("space"!==s.getBlock(i.id).type){let s=(0,c.zj)(),r=await (0,a.on)(e,i,{config:s});void 0!==i.colorIndex&&(0,o.XE)(r,i.colorIndex,s.theme,s.themeVariables?.borderColorArray),t.intersect=i?.intersect,(0,a.U_)(i)}}async function eb(e,t,s,i){for(let r of t)await i(e,r,s),r.children&&await eb(e,r.children,s,i)}async function ef(e,t,s){await eb(e,t,s,ey)}async function ex(e,t,s){await eb(e,t,s,ep)}async function eS(e,t,s,i,r){let a=new m.T({multigraph:!0,compound:!0});for(let e of(a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8}),s))e.size&&a.setNode(e.id,{width:e.size.width,height:e.size.height,intersect:e.intersect});for(let s of t)if(s.start&&s.end){let t=i.getBlock(s.start),o=i.getBlock(s.end);if(t?.size&&o?.size){let i=t.size,l=o.size,c=[{x:i.x,y:i.y},{x:i.x+(l.x-i.x)/2,y:i.y+(l.y-i.y)/2},{x:l.x,y:l.y}],h=r?`${r}-${s.id}`:s.id,u="thick"===s.thickness?"edge-thickness-thick":"edge-thickness-normal",g="dotted"===s.pattern?"edge-pattern-dotted":"edge-pattern-solid",d=`${u} ${g} flowchart-link LS-a1 LE-b1`;(0,n.Jo)(e,{...s,id:h,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:c,classes:d},{},"block",a.node(s.start),a.node(s.end),r),s.label&&(await (0,n.jP)(e,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:c,classes:d}),(0,n.T_)({...s,x:c[1].x,y:c[1].y},{originalPath:c}))}}}(0,u.K)(ec,"setBlockSizes"),(0,u.K)(eh,"layoutBlocks"),(0,u.K)(eu,"findBounds"),(0,u.K)(eg,"layout"),(0,u.K)(ed,"getNodeFromBlock"),(0,u.K)(ey,"calculateBlockSize"),(0,u.K)(ep,"insertBlockPositioned"),(0,u.K)(eb,"performOperations"),(0,u.K)(ef,"calculateBlockSizes"),(0,u.K)(ex,"insertBlocks"),(0,u.K)(eS,"insertEdges");var em=(0,u.K)(function(e,t){return t.db.getClasses()},"getClasses"),eL={parser:L,db:ei,renderer:{draw:(0,u.K)(async function(e,t,s,i){let a,{securityLevel:o,block:l}=(0,c.zj)(),u=i.db;u.setDiagramId(t),"sandbox"===o&&(a=(0,S.Ltv)("#i"+t));let g="sandbox"===o?(0,S.Ltv)(a.nodes()[0].contentDocument.body):(0,S.Ltv)("body"),d="sandbox"===o?g.select(`[id="${t}"]`):(0,S.Ltv)(`[id="${t}"]`);(0,r.F)(d,(0,c.zj)()),(0,n.g0)(d,["point","circle","cross"],i.type,t);let y=u.getBlocks(),p=u.getBlocksFlat(),b=u.getEdges(),f=d.insert("g").attr("class","block");await ef(f,y,u);let x=eg(u);await ex(f,y,u),await eS(f,b,p,u,t);let m=f.node()?.getBBox(),L=m&&Number.isFinite(m.width)&&Number.isFinite(m.height)?m:x;if(L){let e=Math.max(1,Math.round(.125*(L.width/L.height))),t=L.height+e+10,s=L.width+10,{useMaxWidth:i}=l;(0,c.a$)(d,t,s,!!i),h.R.debug("Here Bounds",x,L),d.attr("viewBox",`${L.x-5} ${L.y-5} ${L.width+10} ${L.height+10}`)}},"draw"),getClasses:em},styles:ea}},4918(e,t,s){s.d(t,{o:()=>i});var i=(0,s(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")}}]); \ No newline at end of file diff --git a/assets/js/4137.1b2a1b68.js b/assets/js/4137.1b2a1b68.js new file mode 100644 index 0000000..d24f8ac --- /dev/null +++ b/assets/js/4137.1b2a1b68.js @@ -0,0 +1,104 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4137"],{5350(t,e,r){r.d(e,{m:()=>a});var o=r(6827),a=class{constructor(t){this.init=t,this.records=this.init()}static{(0,o.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},7454(t,e,r){function o(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}r.d(e,{S:()=>o}),(0,r(6827).K)(o,"populateCommonDb")},2208(t,e,r){r.d(e,{diagram:()=>tM});var o=r(5350),a=r(7454),i=r(6348),n=r(1177),s=r(1293),c=r(6827),d=r(8731),l=r(7829),h={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},$=n.UI.gitGraph,m=(0,c.K)(()=>(0,i.$t)({...$,...(0,n.zj)().gitGraph}),"getConfig"),g=new o.m(()=>{let t=m(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function p(){return(0,i.yT)({length:7})}function y(t,e){let r=Object.create(null);return t.reduce((t,o)=>{let a=e(o);return r[a]||(r[a]=!0,t.push(o)),t},[])}(0,c.K)(p,"getID"),(0,c.K)(y,"uniqBy");var f=(0,c.K)(function(t){g.records.direction=t},"setDirection"),x=(0,c.K)(function(t){s.R.debug("options str",t),t=(t=t?.trim())||"{}";try{g.records.options=JSON.parse(t)}catch(t){s.R.error("error while parsing gitGraph options",t.message)}},"setOptions"),u=(0,c.K)(function(){return g.records.options},"getOptions"),b=(0,c.K)(function(t){let e=t.msg,r=t.id,o=t.type,a=t.tags;s.R.info("commit",e,r,o,a),s.R.debug("Entering commit:",e,r,o,a);let i=m();r=n.Y2.sanitizeText(r,i),e=n.Y2.sanitizeText(e,i),a=a?.map(t=>n.Y2.sanitizeText(t,i));let c={id:r||g.records.seq+"-"+p(),message:e,seq:g.records.seq++,type:o??h.NORMAL,tags:a??[],parents:null==g.records.head?[]:[g.records.head.id],branch:g.records.currBranch};g.records.head=c,s.R.info("main branch",i.mainBranchName),g.records.commits.has(c.id)&&s.R.warn(`Commit ID ${c.id} already exists`),g.records.commits.set(c.id,c),g.records.branches.set(g.records.currBranch,c.id),s.R.debug("in pushCommit "+c.id)},"commit"),k=(0,c.K)(function(t){let e=t.name,r=t.order;if(e=n.Y2.sanitizeText(e,m()),g.records.branches.has(e))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);g.records.branches.set(e,null!=g.records.head?g.records.head.id:null),g.records.branchConfig.set(e,{name:e,order:r}),E(e),s.R.debug("in createBranch")},"branch"),B=(0,c.K)(t=>{let e=t.branch,r=t.id,o=t.type,a=t.tags,i=m();e=n.Y2.sanitizeText(e,i),r&&(r=n.Y2.sanitizeText(r,i));let c=g.records.branches.get(g.records.currBranch),d=g.records.branches.get(e),l=c?g.records.commits.get(c):void 0,$=d?g.records.commits.get(d):void 0;if(l&&$&&l.branch===e)throw Error(`Cannot merge branch '${e}' into itself.`);if(g.records.currBranch===e){let t=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(void 0===l||!l){let t=Error(`Incorrect usage of "merge". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},t}if(!g.records.branches.has(e)){let t=Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},t}if(void 0===$||!$){let t=Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},t}if(l===$){let t=Error('Incorrect usage of "merge". Both branches have same head');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(r&&g.records.commits.has(r)){let t=Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw t.hash={text:`merge ${e} ${r} ${o} ${a?.join(" ")}`,token:`merge ${e} ${r} ${o} ${a?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${o} ${a?.join(" ")}`]},t}let y={id:r||`${g.records.seq}-${p()}`,message:`merged branch ${e} into ${g.records.currBranch}`,seq:g.records.seq++,parents:null==g.records.head?[]:[g.records.head.id,d||""],branch:g.records.currBranch,type:h.MERGE,customType:o,customId:!!r,tags:a??[]};g.records.head=y,g.records.commits.set(y.id,y),g.records.branches.set(g.records.currBranch,y.id),s.R.debug(g.records.branches),s.R.debug("in mergeBranch")},"merge"),w=(0,c.K)(function(t){let e=t.id,r=t.targetId,o=t.tags,a=t.parent;s.R.debug("Entering cherryPick:",e,r,o);let i=m();if(e=n.Y2.sanitizeText(e,i),r=n.Y2.sanitizeText(r,i),o=o?.map(t=>n.Y2.sanitizeText(t,i)),a=n.Y2.sanitizeText(a,i),!e||!g.records.commits.has(e)){let t=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let c=g.records.commits.get(e);if(void 0===c||!c)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(a&&!(Array.isArray(c.parents)&&c.parents.includes(a)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let d=c.branch;if(c.type===h.MERGE&&!a)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!g.records.commits.has(r)){if(d===g.records.currBranch){let t=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let t=g.records.branches.get(g.records.currBranch);if(void 0===t||!t){let t=Error(`Incorrect usage of "cherry-pick". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let i=g.records.commits.get(t);if(void 0===i||!i){let t=Error(`Incorrect usage of "cherry-pick". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let n={id:g.records.seq+"-"+p(),message:`cherry-picked ${c?.message} into ${g.records.currBranch}`,seq:g.records.seq++,parents:null==g.records.head?[]:[g.records.head.id,c.id],branch:g.records.currBranch,type:h.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${c.id}${c.type===h.MERGE?`|parent:${a}`:""}`]};g.records.head=n,g.records.commits.set(n.id,n),g.records.branches.set(g.records.currBranch,n.id),s.R.debug(g.records.branches),s.R.debug("in cherryPick")}},"cherryPick"),E=(0,c.K)(function(t){if(t=n.Y2.sanitizeText(t,m()),g.records.branches.has(t)){g.records.currBranch=t;let e=g.records.branches.get(g.records.currBranch);void 0!==e&&e?g.records.head=g.records.commits.get(e)??null:g.records.head=null}else{let e=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T(t,e,r){let o=t.indexOf(e);-1===o?t.push(r):t.splice(o,1,r)}function C(t){let e=t.reduce((t,e)=>t.seq>e.seq?t:e,t[0]),r="";t.forEach(function(t){t===e?r+=" *":r+=" |"});let o=[r,e.id,e.seq];for(let t in g.records.branches)g.records.branches.get(t)===e.id&&o.push(t);if(s.R.debug(o.join(" ")),e.parents&&2==e.parents.length&&e.parents[0]&&e.parents[1]){let r=g.records.commits.get(e.parents[0]);T(t,e,r),e.parents[1]&&t.push(g.records.commits.get(e.parents[1]))}else if(0==e.parents.length)return;else if(e.parents[0]){let r=g.records.commits.get(e.parents[0]);T(t,e,r)}C(t=y(t,t=>t.id))}(0,c.K)(T,"upsert"),(0,c.K)(C,"prettyPrintCommitHistory");var L=(0,c.K)(function(){s.R.debug(g.records.commits),C([I()[0]])},"prettyPrint"),K=(0,c.K)(function(){g.reset(),(0,n.IU)()},"clear"),M=(0,c.K)(function(){return[...g.records.branchConfig.values()].map((t,e)=>null!==t.order&&void 0!==t.order?t:{...t,order:parseFloat(`0.${e}`)}).sort((t,e)=>(t.order??0)-(e.order??0)).map(({name:t})=>({name:t}))},"getBranchesAsObjArray"),R=(0,c.K)(function(){return g.records.branches},"getBranches"),v=(0,c.K)(function(){return g.records.commits},"getCommits"),I=(0,c.K)(function(){let t=[...g.records.commits.values()];return t.forEach(function(t){s.R.debug(t.id)}),t.sort((t,e)=>t.seq-e.seq),t},"getCommitsArray"),P={commitType:h,getConfig:m,setDirection:f,setOptions:x,getOptions:u,commit:b,branch:k,merge:B,cherryPick:w,checkout:E,prettyPrint:L,clear:K,getBranchesAsObjArray:M,getBranches:R,getCommits:v,getCommitsArray:I,getCurrentBranch:(0,c.K)(function(){return g.records.currBranch},"getCurrentBranch"),getDirection:(0,c.K)(function(){return g.records.direction},"getDirection"),getHead:(0,c.K)(function(){return g.records.head},"getHead"),setAccTitle:n.SV,getAccTitle:n.iN,getAccDescription:n.m7,setAccDescription:n.EI,setDiagramTitle:n.ke,getDiagramTitle:n.ab},O=(0,c.K)((t,e)=>{for(let r of((0,a.S)(t,e),t.dir&&e.setDirection(t.dir),t.statements))A(r,e)},"populate"),A=(0,c.K)((t,e)=>{let r={Commit:(0,c.K)(t=>e.commit(G(t)),"Commit"),Branch:(0,c.K)(t=>e.branch(S(t)),"Branch"),Merge:(0,c.K)(t=>e.merge(q(t)),"Merge"),Checkout:(0,c.K)(t=>e.checkout(H(t)),"Checkout"),CherryPicking:(0,c.K)(t=>e.cherryPick(D(t)),"CherryPicking")}[t.$type];r?r(t):s.R.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),G=(0,c.K)(t=>({id:t.id,msg:t.message??"",type:void 0!==t.type?h[t.type]:h.NORMAL,tags:t.tags??void 0}),"parseCommit"),S=(0,c.K)(t=>({name:t.name,order:t.order??0}),"parseBranch"),q=(0,c.K)(t=>({branch:t.branch,id:t.id??"",type:void 0!==t.type?h[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),H=(0,c.K)(t=>t.branch,"parseCheckout"),D=(0,c.K)(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),W={parse:(0,c.K)(async t=>{let e=await (0,d.qg)("gitGraph",t);s.R.debug(e),O(e,P)},"parse")},z=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),_=new Set(["redux-color","redux-dark-color"]),Y=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),j=(0,c.K)((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),F=new Map,N=new Map,U=new Map,V=[],J=0,Q="LR",X=(0,c.K)(()=>{F.clear(),N.clear(),U.clear(),J=0,V=[],Q="LR"},"clear"),Z=(0,c.K)(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return("string"==typeof t?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(t=>{let r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),r.setAttribute("class","row"),r.textContent=t.trim(),e.appendChild(r)}),e},"drawText"),tt=(0,c.K)(t=>{let e,r,o;return"BT"===Q?(r=(0,c.K)((t,e)=>t<=e,"comparisonFunc"),o=1/0):(r=(0,c.K)((t,e)=>t>=e,"comparisonFunc"),o=0),t.forEach(t=>{let a="TB"===Q||"BT"==Q?N.get(t)?.y:N.get(t)?.x;void 0!==a&&r(a,o)&&(e=t,o=a)}),e},"findClosestParent"),te=(0,c.K)(t=>{let e="",r=1/0;return t.forEach(t=>{let o=N.get(t).y;o<=r&&(e=t,r=o)}),e||void 0},"findClosestParentBT"),tr=(0,c.K)((t,e,r)=>{let o=r,a=r,i=[];t.forEach(t=>{let r=e.get(t);if(!r)throw Error(`Commit not found for key ${t}`);r.parents.length?a=Math.max(o=ta(r),a):i.push(r),ti(r,o)}),o=a,i.forEach(t=>{tn(t,o,r)}),t.forEach(t=>{let r=e.get(t);if(r?.parents.length){let t=te(r.parents);(o=N.get(t).y-40)<=a&&(a=o);let e=F.get(r.branch).pos,i=o-10;N.set(r.id,{x:e,y:i})}})},"setParallelBTPos"),to=(0,c.K)(t=>{let e=tt(t.parents.filter(t=>null!==t));if(!e)throw Error(`Closest parent not found for commit ${t.id}`);let r=N.get(e)?.y;if(void 0===r)throw Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),ta=(0,c.K)(t=>to(t)+40,"calculateCommitPosition"),ti=(0,c.K)((t,e)=>{let r=F.get(t.branch);if(!r)throw Error(`Branch not found for commit ${t.id}`);let o=r.pos,a=e+10;return N.set(t.id,{x:o,y:a}),{x:o,y:a}},"setCommitPosition"),tn=(0,c.K)((t,e,r)=>{let o=F.get(t.branch);if(!o)throw Error(`Branch not found for commit ${t.id}`);let a=o.pos;N.set(t.id,{x:a,y:e+r})},"setRootPosition"),ts=(0,c.K)((t,e,r,o,a,i)=>{let{theme:s}=(0,n.D7)(),c=z.has(s??""),d=_.has(s??""),l=Y.has(s??"");if(i===h.HIGHLIGHT)t.append("rect").attr("x",r.x-10+3*!!c).attr("y",r.y-10+3*!!c).attr("width",c?14:20).attr("height",c?14:20).attr("class",`commit ${e.id} commit-highlight${j(a,8,d)} ${o}-outer`),t.append("rect").attr("x",r.x-6+2*!!c).attr("y",r.y-6+2*!!c).attr("width",c?8:12).attr("height",c?8:12).attr("class",`commit ${e.id} commit${j(a,8,d)} ${o}-inner`);else if(i===h.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",c?7:10).attr("class",`commit ${e.id} ${o}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",c?2.5:2.75).attr("fill",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",c?2.5:2.75).attr("fill",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`);else{let n=t.append("circle");if(n.attr("cx",r.x),n.attr("cy",r.y),n.attr("r",c?7:10),n.attr("class",`commit ${e.id} commit${j(a,8,d)}`),i===h.MERGE){let i=t.append("circle");i.attr("cx",r.x),i.attr("cy",r.y),i.attr("r",c?5:6),i.attr("class",`commit ${o} ${e.id} commit${j(a,8,d)}`)}if(i===h.REVERSE){let i=t.append("path"),n=c?4:5;i.attr("d",`M ${r.x-n},${r.y-n}L${r.x+n},${r.y+n}M${r.x-n},${r.y+n}L${r.x+n},${r.y-n}`).attr("class",`commit ${o} ${e.id} commit${j(a,8,d)}`)}}},"drawCommitBullet"),tc=(0,c.K)((t,e,r,o,a)=>{if(e.type!==h.CHERRY_PICK&&(e.customId&&e.type===h.MERGE||e.type!==h.MERGE)&&a.showCommitLabel){let i=t.append("g"),n=i.insert("rect").attr("class","commit-label-bkg"),s=i.append("text").attr("x",o).attr("y",r.y+25).attr("class","commit-label").text(e.id),c=s.node()?.getBBox();if(c&&(n.attr("x",r.posWithOffset-c.width/2-2).attr("y",r.y+13.5).attr("width",c.width+4).attr("height",c.height+4),"TB"===Q||"BT"===Q?(n.attr("x",r.x-(c.width+16+5)).attr("y",r.y-12),s.attr("x",r.x-(c.width+16)).attr("y",r.y+c.height-12)):s.attr("x",r.posWithOffset-c.width/2),a.rotateCommitLabel))if("TB"===Q||"BT"===Q)s.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),n.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let t=-7.5-(c.width+10)/25*9.5,e=10+c.width/25*8.5;i.attr("transform","translate("+t+", "+e+") rotate(-45, "+o+", "+r.y+")")}}},"drawCommitLabel"),td=(0,c.K)((t,e,r,o)=>{if(e.tags.length>0){let a=0,i=0,n=0,s=[];for(let o of e.tags.reverse()){let e=t.insert("polygon"),c=t.append("circle"),d=t.append("text").attr("y",r.y-16-a).attr("class","tag-label").text(o),l=d.node()?.getBBox();if(!l)throw Error("Tag bbox not found");i=Math.max(i,l.width),n=Math.max(n,l.height),d.attr("x",r.posWithOffset-l.width/2),s.push({tag:d,hole:c,rect:e,yOffset:a}),a+=20}for(let{tag:t,hole:e,rect:a,yOffset:c}of s){let s=n/2,d=r.y-19.2-c;if(a.attr("class","tag-label-bkg").attr("points",` + ${o-i/2-2},${d+2} + ${o-i/2-2},${d-2} + ${r.posWithOffset-i/2-4},${d-s-2} + ${r.posWithOffset+i/2+4},${d-s-2} + ${r.posWithOffset+i/2+4},${d+s+2} + ${r.posWithOffset-i/2-4},${d+s+2}`),e.attr("cy",d).attr("cx",o-i/2+2).attr("r",1.5).attr("class","tag-hole"),"TB"===Q||"BT"===Q){let n=o+c;a.attr("class","tag-label-bkg").attr("points",` + ${r.x},${n+2} + ${r.x},${n-2} + ${r.x+10},${n-s-2} + ${r.x+10+i+4},${n-s-2} + ${r.x+10+i+4},${n+s+2} + ${r.x+10},${n+s+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+o+")"),e.attr("cx",r.x+2).attr("cy",n).attr("transform","translate(12,12) rotate(45, "+r.x+","+o+")"),t.attr("x",r.x+5).attr("y",n+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+o+")")}}}},"drawCommitTags"),tl=(0,c.K)(t=>{switch(t.customType??t.type){case h.NORMAL:return"commit-normal";case h.REVERSE:return"commit-reverse";case h.HIGHLIGHT:return"commit-highlight";case h.MERGE:return"commit-merge";case h.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),th=(0,c.K)((t,e,r,o)=>{let a={x:0,y:0};if(t.parents.length>0){let r=tt(t.parents);if(r){let i=o.get(r)??a;return"TB"===e?i.y+40:"BT"===e?(o.get(t.id)??a).y-40:i.x+40}}else if("TB"===e)return 30;else if("BT"===e)return(o.get(t.id)??a).y-40;return 0},"calculatePosition"),t$=(0,c.K)((t,e,r)=>{let o="BT"===Q&&r?e:e+10,a=F.get(t.branch)?.pos,i="TB"===Q||"BT"===Q?F.get(t.branch)?.pos:o;if(void 0===i||void 0===a)throw Error(`Position were undefined for commit ${t.id}`);let s=z.has((0,n.D7)().theme??"");return{x:i,y:"TB"===Q||"BT"===Q?o:a+(s?7:-2),posWithOffset:o}},"getCommitPosition"),tm=(0,c.K)((t,e,r,o)=>{let a=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),n=30*("TB"===Q||"BT"===Q),s=[...e.keys()],d=o.parallelCommits??!1,l=s.sort((0,c.K)((t,r)=>{let o=e.get(t)?.seq,a=e.get(r)?.seq;return void 0!==o&&void 0!==a?o-a:0},"sortKeys"));"BT"===Q&&(d&&tr(l,e,n),l=l.reverse()),l.forEach(t=>{let s=e.get(t);if(!s)throw Error(`Commit not found for key ${t}`);d&&(n=th(s,Q,n,N));let c=t$(s,n,d);if(r){let t=tl(s),e=s.customType??s.type,r=F.get(s.branch)?.index??0;ts(a,s,c,t,r,e),tc(i,s,c,n,o),td(i,s,c,n)}"TB"===Q||"BT"===Q?N.set(s.id,{x:c.x,y:c.posWithOffset}):N.set(s.id,{x:c.posWithOffset,y:c.y}),(n="BT"===Q&&d?n+40:n+40+10)>J&&(J=n)})},"drawCommits"),tg=(0,c.K)((t,e,r,o,a)=>{let i=("TB"===Q||"BT"===Q?r.x<o.x:r.y<o.y)?e.branch:t.branch,n=(0,c.K)(t=>t.branch===i,"isOnBranchToGetCurve"),s=(0,c.K)(r=>r.seq>t.seq&&r.seq<e.seq,"isBetweenCommits");return[...a.values()].some(t=>s(t)&&n(t))},"shouldRerouteArrow"),tp=(0,c.K)((t,e,r=0)=>{let o=t+Math.abs(t-e)/2;if(r>5)return o;if(V.every(t=>Math.abs(t-o)>=10))return V.push(o),o;let a=Math.abs(t-e);return tp(t,e-a/5,r+1)},"findLane"),ty=(0,c.K)((t,e,r,o)=>{let a,{theme:i}=(0,n.D7)(),s=_.has(i??""),c=N.get(e.id),d=N.get(r.id);if(void 0===c||void 0===d)throw Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let l=tg(e,r,c,d,o),$="",m="",g=0,p=0,y=F.get(r.branch)?.index;if(r.type===h.MERGE&&e.id!==r.parents[0]&&(y=F.get(e.branch)?.index),l){$="A 10 10, 0, 0, 0,",m="A 10 10, 0, 0, 1,",g=10,p=10;let t=c.y<d.y?tp(c.y,d.y):tp(d.y,c.y),r=c.x<d.x?tp(c.x,d.x):tp(d.x,c.x);"TB"===Q?c.x<d.x?a=`M ${c.x} ${c.y} L ${r-g} ${c.y} ${m} ${r} ${c.y+p} L ${r} ${d.y-g} ${$} ${r+p} ${d.y} L ${d.x} ${d.y}`:(y=F.get(e.branch)?.index,a=`M ${c.x} ${c.y} L ${r+g} ${c.y} ${$} ${r} ${c.y+p} L ${r} ${d.y-g} ${m} ${r-p} ${d.y} L ${d.x} ${d.y}`):"BT"===Q?c.x<d.x?a=`M ${c.x} ${c.y} L ${r-g} ${c.y} ${$} ${r} ${c.y-p} L ${r} ${d.y+g} ${m} ${r+p} ${d.y} L ${d.x} ${d.y}`:(y=F.get(e.branch)?.index,a=`M ${c.x} ${c.y} L ${r+g} ${c.y} ${m} ${r} ${c.y-p} L ${r} ${d.y+g} ${$} ${r-p} ${d.y} L ${d.x} ${d.y}`):c.y<d.y?a=`M ${c.x} ${c.y} L ${c.x} ${t-g} ${$} ${c.x+p} ${t} L ${d.x-g} ${t} ${m} ${d.x} ${t+p} L ${d.x} ${d.y}`:(y=F.get(e.branch)?.index,a=`M ${c.x} ${c.y} L ${c.x} ${t+g} ${m} ${c.x+p} ${t} L ${d.x-g} ${t} ${$} ${d.x} ${t-p} L ${d.x} ${d.y}`)}else $="A 20 20, 0, 0, 0,",m="A 20 20, 0, 0, 1,",g=20,p=20,"TB"===Q?(c.x<d.x&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y-g} ${$} ${c.x+p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${m} ${d.x} ${c.y+p} L ${d.x} ${d.y}`),c.x>d.x&&($="A 20 20, 0, 0, 0,",m="A 20 20, 0, 0, 1,",g=20,p=20,a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y-g} ${m} ${c.x-p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x+g} ${c.y} ${$} ${d.x} ${c.y+p} L ${d.x} ${d.y}`),c.x===d.x&&(a=`M ${c.x} ${c.y} L ${d.x} ${d.y}`)):"BT"===Q?(c.x<d.x&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y+g} ${m} ${c.x+p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${$} ${d.x} ${c.y-p} L ${d.x} ${d.y}`),c.x>d.x&&($="A 20 20, 0, 0, 0,",m="A 20 20, 0, 0, 1,",g=20,p=20,a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y+g} ${$} ${c.x-p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x+g} ${c.y} ${m} ${d.x} ${c.y-p} L ${d.x} ${d.y}`),c.x===d.x&&(a=`M ${c.x} ${c.y} L ${d.x} ${d.y}`)):(c.y<d.y&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${m} ${d.x} ${c.y+p} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${c.x} ${d.y-g} ${$} ${c.x+p} ${d.y} L ${d.x} ${d.y}`),c.y>d.y&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${$} ${d.x} ${c.y-p} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${c.x} ${d.y+g} ${m} ${c.x+p} ${d.y} L ${d.x} ${d.y}`),c.y===d.y&&(a=`M ${c.x} ${c.y} L ${d.x} ${d.y}`));if(void 0===a)throw Error("Line definition not found");t.append("path").attr("d",a).attr("class","arrow arrow"+j(y,8,s))},"drawArrow"),tf=(0,c.K)((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(t=>{let o=e.get(t);o.parents&&o.parents.length>0&&o.parents.forEach(t=>{ty(r,e.get(t),o,e)})})},"drawArrows"),tx=(0,c.K)((t,e,r,o)=>{let{look:a,theme:i,themeVariables:s}=(0,n.D7)(),{dropShadow:c,THEME_COLOR_LIMIT:d}=s,l=z.has(i??""),h=_.has(i??""),$=t.append("g");e.forEach((t,e)=>{let i=j(e,l?d:8,h),n=F.get(t.name)?.pos;if(void 0===n)throw Error(`Position not found for branch ${t.name}`);let s="TB"===Q||"BT"===Q?n:l?n+6+1:n-2,m=$.append("line");m.attr("x1",0),m.attr("y1",s),m.attr("x2",J),m.attr("y2",s),m.attr("class","branch branch"+i),"TB"===Q?(m.attr("y1",30),m.attr("x1",n),m.attr("y2",J),m.attr("x2",n)):"BT"===Q&&(m.attr("y1",J),m.attr("x1",n),m.attr("y2",30),m.attr("x2",n)),V.push(s);let g=Z(t.name),p=$.insert("rect"),y=$.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+i);y.node().appendChild(g);let f=g.getBBox(),x=4*!l,u=16*!!l,b=12*!!l;"neo"===a&&p.attr("data-look","neo"),p.attr("class","branchLabelBkg label"+i).attr("style","neo"===a?`filter:${l?`url(#${o}-drop-shadow)`:c}`:"").attr("rx",x).attr("ry",x).attr("x",-f.width-4-30*(!0===r.rotateCommitLabel)).attr("y",-f.height/2+10).attr("width",f.width+18+u).attr("height",f.height+4+b),y.attr("transform","translate("+(-f.width-14-30*(!0===r.rotateCommitLabel)+u/2)+", "+(s-f.height/2-2)+")"),"TB"===Q?(p.attr("x",n-f.width/2-10).attr("y",0),y.attr("transform","translate("+(n-f.width/2-5)+", 0)"),l&&(p.attr("transform",`translate(${-u/2-3}, ${-b-10})`),y.attr("transform","translate("+(n-f.width/2-5)+", "+(-(2*b)+7)+")"))):"BT"===Q?(p.attr("x",n-f.width/2-10).attr("y",J),y.attr("transform","translate("+(n-f.width/2-5)+", "+J+")"),l&&(p.attr("transform",`translate(${-u/2-3}, ${b+10})`),y.attr("transform","translate("+(n-f.width/2-5)+", "+(J+2*b+4)+")"))):p.attr("transform","translate(-19, "+(s-12-b/2)+")")})},"drawBranches"),tu=(0,c.K)(function(t,e,r,o,a){return F.set(t,{pos:e,index:r}),e+=50+40*!!a+("TB"===Q||"BT"===Q?o.width/2:0)},"setBranchPosition"),tb=(0,c.K)(function(t,e,r,o){X(),s.R.debug("in gitgraph renderer",t+"\n","id:",e,r);let a=o.db;if(!a.getConfig)return void s.R.error("getConfig method is not available on db");let c=a.getConfig(),d=c.rotateCommitLabel??!1;U=a.getCommits();let h=a.getBranchesAsObjArray();Q=a.getDirection();let $=(0,l.Ltv)(`[id="${e}"]`),{look:m,theme:g,themeVariables:p}=(0,n.D7)(),{useGradient:y,gradientStart:f,gradientStop:x,filterColor:u}=p;if(y){let t=$.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");t.append("stop").attr("offset","0%").attr("stop-color",f).attr("stop-opacity",1),t.append("stop").attr("offset","100%").attr("stop-color",x).attr("stop-opacity",1)}"neo"===m&&z.has(g??"")&&$.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",u);let b=0;h.forEach((t,e)=>{let r=Z(t.name),o=$.append("g"),a=o.insert("g").attr("class","branchLabel"),i=a.insert("g").attr("class","label branch-label");i.node()?.appendChild(r);let n=r.getBBox();b=tu(t.name,b,e,n,d),i.remove(),a.remove(),o.remove()}),tm($,U,!1,c),c.showBranches&&tx($,h,c,e),tf($,U),tm($,U,!0,c),i._K.insertTitle($,"gitTitleText",c.titleTopMargin??0,a.getDiagramTitle()),(0,n.mj)(void 0,$,c.diagramPadding,c.useMaxWidth)},"draw"),tk=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),tB=new Set(["redux-color","redux-dark-color"]),tw=new Set(["neo","neo-dark"]),tE=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),tT=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),tC=(0,c.K)(t=>{let{svgId:e}=t,r="";if(t.useGradient&&e)for(let o=0;o<t.THEME_COLOR_LIMIT;o++)r+=` + .label${o} { fill: ${t.mainBkg}; stroke: url(${e}-gradient); stroke-width: ${t.strokeWidth};} + `;return r},"genGitGraphGradient"),tL=(0,c.K)(t=>{let{theme:e,themeVariables:r}=(0,n.zj)(),{borderColorArray:o}=r,a=tk.has(e);if(tw.has(e)){let e="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++)if(0===r)e+=` + .branch-label${r} { fill: ${t.nodeBorder};} + .commit${r} { stroke: ${t.nodeBorder}; } + .commit-highlight${r} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; } + .arrow${r} { stroke: ${t.nodeBorder}; } + .commit-bullets { fill: ${t.nodeBorder}; } + .commit-cherry-pick${r} { stroke: ${t.nodeBorder}; } + ${tC(t)}`;else{let o=r%8;e+=` + .branch-label${r} { fill: ${t["gitBranchLabel"+o]}; } + .commit${r} { stroke: ${t["git"+o]}; fill: ${t["git"+o]}; } + .commit-highlight${r} { stroke: ${t["gitInv"+o]}; fill: ${t["gitInv"+o]}; } + .arrow${r} { stroke: ${t["git"+o]}; } + `}return e}if(tB.has(e)){let r="";for(let i=0;i<t.THEME_COLOR_LIMIT;i++)if(0===i)r+=` + .branch-label${i} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} } + .commit${i} { stroke: ${t.nodeBorder}; } + .commit-highlight${i} { stroke: ${t.nodeBorder}; fill: ${t.mainBkg}; } + .label${i} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${a?`font-weight:${t.noteFontWeight}`:""} } + .arrow${i} { stroke: ${t.nodeBorder}; } + .commit-bullets { fill: ${t.nodeBorder}; } + `;else{let n=i%o.length;r+=` + .branch-label${i} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} } + .commit${i} { stroke: ${o[n]}; fill: ${o[n]}; } + .commit-highlight${i} { stroke: ${o[n]}; fill: ${o[n]}; } + .label${i} { fill: ${tE.has(e)?t.mainBkg:o[n]}; stroke: ${o[n]}; stroke-width: ${t.strokeWidth}; } + .arrow${i} { stroke: ${o[n]}; } + `}return r}{let e="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++)e+=` + .branch-label${r} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} } + .commit${r} { stroke: ${t.nodeBorder}; } + .commit-highlight${r} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; } + .label${r} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${a?`font-weight:${t.noteFontWeight}`:""}} + .arrow${r} { stroke: ${t.nodeBorder}; } + .commit-bullets { fill: ${t.nodeBorder}; } + .commit-cherry-pick${r} { stroke: ${t.nodeBorder}; } + `;return e}},"genColor"),tK=(0,c.K)(t=>`${Array.from({length:t.THEME_COLOR_LIMIT},(t,e)=>e).map(e=>{let r=e%8;return` + .branch-label${e} { fill: ${t["gitBranchLabel"+r]}; } + .commit${e} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; } + .commit-highlight${e} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; } + .label${e} { fill: ${t["git"+r]}; } + .arrow${e} { stroke: ${t["git"+r]}; } + `}).join("\n")}`,"normalTheme"),tM={parser:W,db:P,renderer:{draw:tb},styles:(0,c.K)(t=>{let{theme:e}=(0,n.zj)(),r=tT.has(e);return` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + + ${r?tL(t):tK(t)} + + .branch { + stroke-width: ${t.strokeWidth}; + stroke: ${t.commitLineColor??t.lineColor}; + stroke-dasharray: ${r?"4 2":"2"}; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${r?t.nodeBorder:t.commitLabelColor}; ${r?`font-weight:${t.noteFontWeight};`:""}} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${r?"transparent":t.commitLabelBackground}; opacity: ${r?"":.5}; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${r?t.mainBkg:t.tagLabelBackground}; stroke: ${r?t.nodeBorder:t.tagLabelBorder}; ${r?`filter:${t.dropShadow}`:""} } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${r?t.mainBkg:t.primaryColor}; + fill: ${r?t.mainBkg:t.primaryColor}; + } + .commit-reverse { + stroke: ${r?t.mainBkg:t.primaryColor}; + fill: ${r?t.mainBkg:t.primaryColor}; + stroke-width: ${r?t.strokeWidth:3}; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${r?t.mainBkg:t.primaryColor}; + fill: ${r?t.mainBkg:t.primaryColor}; + } + + .arrow { + /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */ + stroke-width: ${tk.has(e)?t.strokeWidth:8}; + stroke-linecap: round; + fill: none + } + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`},"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/4277cc0d.3e705d44.js b/assets/js/4277cc0d.3e705d44.js new file mode 100644 index 0000000..9a141b5 --- /dev/null +++ b/assets/js/4277cc0d.3e705d44.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3658"],{3975(e,r,n){n.r(r),n.d(r,{metadata:()=>s,default:()=>h,frontMatter:()=>c,contentTitle:()=>i,toc:()=>o,assets:()=>l});var s=JSON.parse('{"id":"core/function-parse","title":"\u51FD\u6570\u89E3\u6790","description":"\u63D0\u53D6 SQL \u4E2D\u4F7F\u7528\u7684\u51FD\u6570\u53CA\u5176\u53C2\u6570\u4E0E\u4E0A\u4E0B\u6587","source":"@site/versioned_docs/version-1.0/core/function-parse.md","sourceDirName":"core","slug":"/core/function-parse","permalink":"/SqlParserX/docs/core/function-parse","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/function-parse.md","tags":[],"version":"1.0","sidebarPosition":4,"frontMatter":{"title":"\u51FD\u6570\u89E3\u6790","description":"\u63D0\u53D6 SQL \u4E2D\u4F7F\u7528\u7684\u51FD\u6570\u53CA\u5176\u53C2\u6570\u4E0E\u4E0A\u4E0B\u6587","sidebar_label":"\u51FD\u6570\u89E3\u6790","sidebar_position":4},"sidebar":"docs","previous":{"title":"\u8868\u89E3\u6790","permalink":"/SqlParserX/docs/core/table-parse"},"next":{"title":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","permalink":"/SqlParserX/docs/core/parameter-compile"}}'),t=n(4848),d=n(8453);let c={title:"\u51FD\u6570\u89E3\u6790",description:"\u63D0\u53D6 SQL \u4E2D\u4F7F\u7528\u7684\u51FD\u6570\u53CA\u5176\u53C2\u6570\u4E0E\u4E0A\u4E0B\u6587",sidebar_label:"\u51FD\u6570\u89E3\u6790",sidebar_position:4},i="\u51FD\u6570\u89E3\u6790",l={},o=[{value:"1. \u5F15\u5165\u4F9D\u8D56",id:"1-\u5F15\u5165\u4F9D\u8D56",level:2},{value:"2. \u5B8C\u6574\u793A\u4F8B",id:"2-\u5B8C\u6574\u793A\u4F8B",level:2},{value:"3. \u5B9E\u73B0\u76EE\u6807",id:"3-\u5B9E\u73B0\u76EE\u6807",level:2},{value:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",level:2},{value:"5. \u652F\u6301\u7C92\u5EA6",id:"5-\u652F\u6301\u7C92\u5EA6",level:2}];function a(e){let r={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"\u51FD\u6570\u89E3\u6790",children:"\u51FD\u6570\u89E3\u6790"})}),"\n",(0,t.jsx)(r.h2,{id:"1-\u5F15\u5165\u4F9D\u8D56",children:"1. \u5F15\u5165\u4F9D\u8D56"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"sqlparserx-core"})," \u5DF2\u4F20\u9012\u4F9D\u8D56 ",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"})," \u4E0E Druid\uFF0C\u65E0\u9700\u989D\u5916\u5F15\u5165\u3002"]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"2-\u5B8C\u6574\u793A\u4F8B",children:"2. \u5B8C\u6574\u793A\u4F8B"}),"\n",(0,t.jsxs)(r.p,{children:["\u6CBF\u7528\u5B98\u65B9 ",(0,t.jsx)(r.code,{children:"sqlparserx-core/README.md"})," \u7684\u793A\u4F8B SQL\uFF0C\u63D0\u53D6 SQL \u4E2D\u51FA\u73B0\u7684\u51FD\u6570\u96C6\u5408\uFF1A"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-java",metastring:'title="FunctionParseDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.Set;\n\npublic class FunctionParseDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1\u3001\u83B7\u53D6\u89E3\u6790\u5668\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2\u3001\u89E3\u6790 SQL \u4E2D\u51FA\u73B0\u7684\u51FD\u6570\n Set<String> functions = parser.parseFunction(sql);\n\n // 3\u3001\u8BFB\u53D6\u7ED3\u679C\n System.out.println("\u51FD\u6570\u96C6\u5408: " + functions);\n }\n}\n'})}),"\n",(0,t.jsx)(r.p,{children:"\u63A7\u5236\u53F0\u8F93\u51FA\uFF08\u793A\u4F8B\uFF09\uFF1A"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"\u51FD\u6570\u96C6\u5408: [sum, count]\n"})}),"\n",(0,t.jsx)(r.h2,{id:"3-\u5B9E\u73B0\u76EE\u6807",children:"3. \u5B9E\u73B0\u76EE\u6807"}),"\n",(0,t.jsxs)(r.p,{children:["\u4ECE SQL \u4E2D\u63D0\u53D6",(0,t.jsx)(r.strong,{children:"\u51FD\u6570\u8C03\u7528"}),"\u4FE1\u606F\uFF0C\u8FD4\u56DE\u53BB\u91CD\u540E\u7684\u51FD\u6570\u540D\u96C6\u5408\uFF0C\u4FBF\u4E8E\u505A\u51FD\u6570\u7EA7\u6CBB\u7406\u4E0E\u4F9D\u8D56\u5206\u6790\u3002"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"SQLStatement AST\n \u2192 BaseSqlParser.parseFunction\n \u2192 \u904D\u5386 AST \u6536\u96C6\u51FD\u6570\u8868\u8FBE\u5F0F\n \u2192 Set<String> \u51FD\u6570\u96C6\u5408\n"})}),"\n",(0,t.jsx)(r.h2,{id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",children:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u9879\u76EE"}),(0,t.jsx)(r.th,{children:"\u5185\u5BB9"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Core \u5165\u53E3"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"ISqlParser.parseFunction(sql)"})})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u9ED8\u8BA4\u5B9E\u73B0"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"BaseSqlParser.parseFunction"})})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u8FD4\u56DE\u7C7B\u578B"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"Set<String>"}),"\uFF08\u51FD\u6570\u540D\u96C6\u5408\uFF0C\u7EDF\u4E00\u5C0F\u5199\uFF09"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u8986\u76D6\u8303\u56F4"}),(0,t.jsx)(r.td,{children:"\u5185\u7F6E\u51FD\u6570\u3001\u805A\u5408\u51FD\u6570\u3001\u7A97\u53E3\u51FD\u6570\u3001\u81EA\u5B9A\u4E49\u51FD\u6570"})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"5-\u652F\u6301\u7C92\u5EA6",children:"5. \u652F\u6301\u7C92\u5EA6"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u80FD\u529B\u9879"}),(0,t.jsx)(r.th,{children:"\u652F\u6301\u60C5\u51B5"}),(0,t.jsx)(r.th,{children:"\u8BF4\u660E"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u666E\u901A\u51FD\u6570\u8C03\u7528"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsxs)(r.td,{children:["\u5982 ",(0,t.jsx)(r.code,{children:"substr(name, 1, 3)"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u805A\u5408\u51FD\u6570"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsxs)(r.td,{children:["\u5982 ",(0,t.jsx)(r.code,{children:"sum"}),"\u3001",(0,t.jsx)(r.code,{children:"count"}),"\u3001",(0,t.jsx)(r.code,{children:"max"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u7A97\u53E3\u51FD\u6570"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsxs)(r.td,{children:["\u5982 ",(0,t.jsx)(r.code,{children:"row_number() over(...)"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u5D4C\u5957\u51FD\u6570"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u9012\u5F52\u6536\u96C6\u5185\u5916\u5C42\u51FD\u6570"})]})]})]}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:["\u66F4\u591A\u51FD\u6570\u573A\u666F\u4E0E\u6570\u636E\u6E90\u5DEE\u5F02\uFF0C\u4EE5\u9879\u76EE ",(0,t.jsx)(r.code,{children:"docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u80FD\u529B\u652F\u6301\u60C5\u51B5/\u901A\u7528\u89E3\u6790\u80FD\u529B/\u51FD\u6570\u89E3\u6790\u652F\u6301\u60C5\u51B5.md"})," \u4E3A\u51C6\u3002"]}),"\n"]})]})}function h(e={}){let{wrapper:r}={...(0,d.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},8453(e,r,n){n.d(r,{R:()=>c,x:()=>i});var s=n(6540);let t={},d=s.createContext(t);function c(e){let r=s.useContext(d);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),s.createElement(d.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4551.88d2b179.js b/assets/js/4551.88d2b179.js new file mode 100644 index 0000000..daab225 --- /dev/null +++ b/assets/js/4551.88d2b179.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4551"],{7034(e,r,t){t.d(r,{diagram:()=>y});var a=t(1578),n=t(7454);t(4924),t(1177);var l=t(1293),s=t(6827),p=t(8731),i=(0,p.sB)().RailroadAbnf.parser.LangiumParser,u=(0,s.K)(e=>{let r=e.alternatives.map(m);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),m=(0,s.K)(e=>{let r=e.elements.map(d);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),o=(0,s.K)(e=>{if(e.includes("*")){let[r,t]=e.split("*");return{min:r?parseInt(r,10):0,max:t?parseInt(t,10):1/0}}let r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),d=(0,s.K)(e=>{let r=b(e.primary);if(!e.repeat)return r;let{min:t,max:a}=o(e.repeat);return 0===t&&1===a?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:a}},"transformElement"),b=(0,s.K)(e=>{switch(e.$type){case"AbnfStringLiteral":case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return u(e.element);case"AbnfOptionalGroup":return{type:"optional",element:u(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),f=(0,s.K)(e=>({name:e.name,definition:u(e.definition)}),"transformRule"),c=(0,s.K)(e=>{(0,n.S)(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(e=>a.db.addRule(f(e)))},"populateDb"),y={parser:{parse:(0,s.K)(e=>{a.db.clear(),l.R.debug("[ABNF Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;l.R.debug("[ABNF Parser] Parsed rules:",t.rules.length),c(t),l.R.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.U,styles:a.$}}}]); \ No newline at end of file diff --git a/assets/js/4617.6e66f439.js b/assets/js/4617.6e66f439.js new file mode 100644 index 0000000..0196117 --- /dev/null +++ b/assets/js/4617.6e66f439.js @@ -0,0 +1,160 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4617"],{5350(t,e,a){a.d(e,{m:()=>i});var r=a(6827),i=class{constructor(t){this.init=t,this.records=this.init()}static{(0,r.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},2735(t,e,a){a.d(e,{CP:()=>h,Ck:()=>E,HT:()=>T,PB:()=>p,aC:()=>d,lC:()=>c,m:()=>l,tk:()=>o});var r=a(1177),i=a(6827),s=a(6750),n=a(7829),o=(0,i.K)((t,e)=>{let a=t.append("rect");if(a.attr("x",e.x),a.attr("y",e.y),a.attr("fill",e.fill),a.attr("stroke",e.stroke),a.attr("width",e.width),a.attr("height",e.height),e.name&&a.attr("name",e.name),e.rx&&a.attr("rx",e.rx),e.ry&&a.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)a.attr(t,e.attrs[t]);return e.class&&a.attr("class",e.class),a},"drawRect"),c=(0,i.K)((t,e)=>{o(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),l=(0,i.K)((t,e)=>{let a=e.text.replace(r.H1," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class&&i.attr("class",e.class);let s=i.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(a),i},"drawText"),d=(0,i.K)((t,e,a,r)=>{let i=t.append("image");i.attr("x",e),i.attr("y",a);let n=(0,s.sanitizeUrl)(r);i.attr("xlink:href",n)},"drawImage"),h=(0,i.K)((t,e,a,r)=>{let i=t.append("use");i.attr("x",e),i.attr("y",a);let n=(0,s.sanitizeUrl)(r);i.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),p=(0,i.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),T=(0,i.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),E=(0,i.K)(()=>{let t=(0,n.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},7280(t,e,a){a.d(e,{diagram:()=>tF});var r=a(5350),i=a(841),s=a(2735),n=a(6348),o=a(1177),c=a(1293),l=a(6827),d=a(7829),h=a(6750),p=function(){var t=(0,l.K)(function(t,e,a,r){for(a=a||{},r=t.length;r--;a[t[r]]=e);return a},"o"),e=[1,2],a=[1,3],r=[1,4],i=[2,4],s=[1,9],n=[1,11],o=[1,12],c=[1,14],d=[1,15],h=[1,17],p=[1,18],T=[1,19],E=[1,25],g=[1,26],u=[1,27],y=[1,28],x=[1,29],_=[1,30],O=[1,31],m=[1,32],b=[1,33],I=[1,34],f=[1,35],R=[1,36],L=[1,37],P=[1,38],w=[1,39],S=[1,40],D=[1,42],N=[1,43],A=[1,44],k=[1,45],M=[1,46],C=[1,47],v=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],Y=[1,74],K=[1,80],B=[1,81],$=[1,82],V=[1,83],W=[1,84],F=[1,85],q=[1,86],H=[1,87],z=[1,88],j=[1,89],U=[1,90],G=[1,91],X=[1,92],Z=[1,93],J=[1,94],Q=[1,95],tt=[1,96],te=[1,97],ta=[1,98],tr=[1,99],ti=[1,100],ts=[1,101],tn=[1,102],to=[1,103],tc=[1,104],tl=[1,105],td=[2,78],th=[4,5,17,51,53,54],tp=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],tT=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],tE=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],tg=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],tu=[5,52],ty=[70,71,72,73],tx=[1,151],t_={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:(0,l.K)(function(t,e,a,r,i,s,n){var o=s.length-1;switch(i){case 3:return r.apply(s[o]),s[o];case 4:case 10:case 8:case 9:case 14:this.$=[];break;case 5:case 11:s[o-1].push(s[o]),this.$=s[o-1];break;case 6:case 7:case 12:case 13:case 67:this.$=s[o];break;case 16:s[o].type="createParticipant",this.$=s[o];break;case 17:s[o-1].unshift({type:"boxStart",boxData:r.parseBoxData(s[o-2])}),s[o-1].push({type:"boxEnd",boxText:s[o-2]}),this.$=s[o-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-2]),sequenceIndexStep:Number(s[o-1]),sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:r.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:s[o-1].actor};break;case 24:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:s[o-1].actor};break;case 30:r.setDiagramTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 31:r.setDiagramTitle(s[o].substring(7)),this.$=s[o].substring(7);break;case 32:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 33:case 34:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 35:s[o-1].unshift({type:"loopStart",loopText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.LOOP_START}),s[o-1].push({type:"loopEnd",loopText:s[o-2],signalType:r.LINETYPE.LOOP_END}),this.$=s[o-1];break;case 36:s[o-1].unshift({type:"rectStart",color:r.parseMessage(s[o-2]),signalType:r.LINETYPE.RECT_START}),s[o-1].push({type:"rectEnd",color:r.parseMessage(s[o-2]),signalType:r.LINETYPE.RECT_END}),this.$=s[o-1];break;case 37:s[o-1].unshift({type:"optStart",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.OPT_START}),s[o-1].push({type:"optEnd",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.OPT_END}),this.$=s[o-1];break;case 38:s[o-1].unshift({type:"altStart",altText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.ALT_START}),s[o-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=s[o-1];break;case 39:s[o-1].unshift({type:"parStart",parText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.PAR_START}),s[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=s[o-1];break;case 40:s[o-1].unshift({type:"parStart",parText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.PAR_OVER_START}),s[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=s[o-1];break;case 41:s[o-1].unshift({type:"criticalStart",criticalText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.CRITICAL_START}),s[o-1].push({type:"criticalEnd",signalType:r.LINETYPE.CRITICAL_END}),this.$=s[o-1];break;case 42:s[o-1].unshift({type:"breakStart",breakText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.BREAK_START}),s[o-1].push({type:"breakEnd",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.BREAK_END}),this.$=s[o-1];break;case 44:this.$=s[o-3].concat([{type:"option",optionText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.CRITICAL_OPTION},s[o]]);break;case 46:this.$=s[o-3].concat([{type:"and",parText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.PAR_AND},s[o]]);break;case 48:this.$=s[o-3].concat([{type:"else",altText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.ALT_ELSE},s[o]]);break;case 49:case 54:s[o-3].draw="participant",s[o-3].type="addParticipant",s[o-3].description=r.parseMessage(s[o-1]),this.$=s[o-3];break;case 50:case 55:s[o-1].draw="participant",s[o-1].type="addParticipant",this.$=s[o-1];break;case 51:case 56:s[o-3].draw="actor",s[o-3].type="addParticipant",s[o-3].description=r.parseMessage(s[o-1]),this.$=s[o-3];break;case 52:case 57:s[o-1].draw="actor",s[o-1].type="addParticipant",this.$=s[o-1];break;case 53:s[o-1].type="destroyParticipant",this.$=s[o-1];break;case 58:this.$=[s[o-1],{type:"addNote",placement:s[o-2],actor:s[o-1].actor,text:s[o]}];break;case 59:s[o-2]=[].concat(s[o-1],s[o-1]).slice(0,2),s[o-2][0]=s[o-2][0].actor,s[o-2][1]=s[o-2][1].actor,this.$=[s[o-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:s[o-2].slice(0,2),text:s[o]}];break;case 60:this.$=[s[o-1],{type:"addLinks",actor:s[o-1].actor,text:s[o]}];break;case 61:this.$=[s[o-1],{type:"addALink",actor:s[o-1].actor,text:s[o]}];break;case 62:this.$=[s[o-1],{type:"addProperties",actor:s[o-1].actor,text:s[o]}];break;case 63:this.$=[s[o-1],{type:"addDetails",actor:s[o-1].actor,text:s[o]}];break;case 66:this.$=[s[o-2],s[o]];break;case 68:this.$=r.PLACEMENT.LEFTOF;break;case 69:this.$=r.PLACEMENT.RIGHTOF;break;case 70:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o],activate:!0},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:s[o-1].actor}];break;case 71:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:s[o-4].actor}];break;case 72:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o],activate:!0,centralConnection:r.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:r.LINETYPE.CENTRAL_CONNECTION,actor:s[o-1].actor}];break;case 73:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-2],msg:s[o],activate:!1,centralConnection:r.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:r.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:s[o-4].actor}];break;case 74:this.$=[s[o-5],s[o-1],{type:"addMessage",from:s[o-5].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o],activate:!0,centralConnection:r.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:r.LINETYPE.CENTRAL_CONNECTION,actor:s[o-1].actor},{type:"centralConnectionReverse",signalType:r.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:s[o-5].actor}];break;case 75:this.$=[s[o-3],s[o-1],{type:"addMessage",from:s[o-3].actor,to:s[o-1].actor,signalType:s[o-2],msg:s[o]}];break;case 76:this.$={type:"addParticipant",actor:s[o-1],config:s[o]};break;case 77:this.$=s[o-1].trim();break;case 78:this.$={type:"addParticipant",actor:s[o]};break;case 79:this.$=r.LINETYPE.SOLID_OPEN;break;case 80:this.$=r.LINETYPE.DOTTED_OPEN;break;case 81:this.$=r.LINETYPE.SOLID;break;case 82:this.$=r.LINETYPE.SOLID_TOP;break;case 83:this.$=r.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=r.LINETYPE.STICK_TOP;break;case 85:this.$=r.LINETYPE.STICK_BOTTOM;break;case 86:this.$=r.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=r.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=r.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=r.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=r.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=r.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=r.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=r.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=r.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=r.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=r.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=r.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=r.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=r.LINETYPE.DOTTED;break;case 100:this.$=r.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=r.LINETYPE.SOLID_CROSS;break;case 102:this.$=r.LINETYPE.DOTTED_CROSS;break;case 103:this.$=r.LINETYPE.SOLID_POINT;break;case 104:this.$=r.LINETYPE.DOTTED_POINT;break;case 105:this.$=r.parseMessage(s[o].trim().substring(1))}},"anonymous"),table:[{3:1,4:e,5:a,6:r},{1:[3]},{3:5,4:e,5:a,6:r},{3:6,4:e,5:a,6:r},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},t(v,[2,5]),{9:48,13:13,14:c,15:d,18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},t(v,[2,7]),t(v,[2,8]),t(v,[2,9]),t(v,[2,15]),{13:49,51:P,53:w,54:S},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:C},{23:56,73:C},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(v,[2,30]),t(v,[2,31]),{33:[1,62]},{35:[1,63]},t(v,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:Y},{23:75,55:76,73:Y},{23:77,73:C},{69:78,72:[1,79],78:K,79:B,80:$,81:V,82:W,83:F,84:q,85:H,86:z,87:j,88:U,89:G,90:X,91:Z,92:J,93:Q,94:tt,95:te,96:ta,97:tr,98:ti,99:ts,100:tn,101:to,102:tc,103:tl},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:C},{23:111,73:C},{23:112,73:C},{23:113,73:C},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],td),t(v,[2,6]),t(v,[2,16]),t(th,[2,10],{11:114}),t(v,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(v,[2,22]),{5:[1,118]},{5:[1,119]},t(v,[2,25]),t(v,[2,26]),t(v,[2,27]),t(v,[2,28]),t(v,[2,29]),t(v,[2,32]),t(v,[2,33]),t(tp,i,{7:120}),t(tp,i,{7:121}),t(tp,i,{7:122}),t(tT,i,{41:123,7:124}),t(tE,i,{43:125,7:126}),t(tE,i,{7:126,43:127}),t(tg,i,{46:128,7:129}),t(tp,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(tu,td,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:C},{69:146,78:K,79:B,80:$,81:V,82:W,83:F,84:q,85:H,86:z,87:j,88:U,89:G,90:X,91:Z,92:J,93:Q,94:tt,95:te,96:ta,97:tr,98:ti,99:ts,100:tn,101:to,102:tc,103:tl},t(ty,[2,79]),t(ty,[2,80]),t(ty,[2,81]),t(ty,[2,82]),t(ty,[2,83]),t(ty,[2,84]),t(ty,[2,85]),t(ty,[2,86]),t(ty,[2,87]),t(ty,[2,88]),t(ty,[2,89]),t(ty,[2,90]),t(ty,[2,91]),t(ty,[2,92]),t(ty,[2,93]),t(ty,[2,94]),t(ty,[2,95]),t(ty,[2,96]),t(ty,[2,97]),t(ty,[2,98]),t(ty,[2,99]),t(ty,[2,100]),t(ty,[2,101]),t(ty,[2,102]),t(ty,[2,103]),t(ty,[2,104]),{23:147,73:C},{23:149,60:148,73:C},{73:[2,68]},{73:[2,69]},{58:150,104:tx},{58:152,104:tx},{58:153,104:tx},{58:154,104:tx},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:P,53:w,54:S},{5:[1,160]},t(v,[2,20]),t(v,[2,21]),t(v,[2,23]),t(v,[2,24]),{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[1,161],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[1,162],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[1,163],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{17:[1,164]},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[2,47],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,50:[1,165],51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{17:[1,166]},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[2,45],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,49:[1,167],51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{17:[1,168]},{17:[1,169]},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[2,43],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,48:[1,170],51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[1,171],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{16:[1,172]},t(v,[2,50]),{16:[1,173]},t(v,[2,55]),t(tu,[2,76]),{76:[1,174]},{16:[1,175]},t(v,[2,52]),{16:[1,176]},t(v,[2,57]),t(v,[2,53]),{23:177,73:C},{23:178,73:C},{23:179,73:C},{58:180,104:tx},{23:181,72:[1,182],73:C},{58:183,104:tx},{58:184,104:tx},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(v,[2,17]),t(th,[2,11]),{13:186,51:P,53:w,54:S},t(th,[2,13]),t(th,[2,14]),t(v,[2,19]),t(v,[2,35]),t(v,[2,36]),t(v,[2,37]),t(v,[2,38]),{16:[1,187]},t(v,[2,39]),{16:[1,188]},t(v,[2,40]),t(v,[2,41]),{16:[1,189]},t(v,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:tx},{58:196,104:tx},{58:197,104:tx},{5:[2,75]},{58:198,104:tx},{23:199,73:C},{5:[2,58]},{5:[2,59]},{23:200,73:C},t(th,[2,12]),t(tT,i,{7:124,41:201}),t(tE,i,{7:126,43:202}),t(tg,i,{7:129,46:203}),t(v,[2,49]),t(v,[2,54]),t(tu,[2,77]),t(v,[2,51]),t(v,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:tx},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:(0,l.K)(function(t,e){if(e.recoverable)this.trace(t);else{var a=Error(t);throw a.hash=e,a}},"parseError"),parse:(0,l.K)(function(t){var e=this,a=[0],r=[],i=[null],s=[],n=this.table,o="",c=0,d=0,h=0,p=s.slice.call(arguments,1),T=Object.create(this.lexer),E={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(E[g]=this.yy[g]);T.setInput(t,E),E.lexer=T,E.parser=this,void 0===T.yylloc&&(T.yylloc={});var u=T.yylloc;s.push(u);var y=T.options&&T.options.ranges;function x(){var t;return"number"!=typeof(t=r.pop()||T.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof E.parseError?this.parseError=E.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){a.length=a.length-2*t,i.length=i.length-t,s.length=s.length-t},"popStack"),(0,l.K)(x,"lex");for(var _,O,m,b,I,f,R,L,P,w={};;){if(m=a[a.length-1],this.defaultActions[m]?b=this.defaultActions[m]:(null==_&&(_=x()),b=n[m]&&n[m][_]),void 0===b||!b.length||!b[0]){var S="";for(f in P=[],n[m])this.terminals_[f]&&f>2&&P.push("'"+this.terminals_[f]+"'");S=T.showPosition?"Parse error on line "+(c+1)+":\n"+T.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(S,{text:T.match,token:this.terminals_[_]||_,line:T.yylineno,loc:u,expected:P})}if(b[0]instanceof Array&&b.length>1)throw Error("Parse Error: multiple actions possible at state: "+m+", token: "+_);switch(b[0]){case 1:a.push(_),i.push(T.yytext),s.push(T.yylloc),a.push(b[1]),_=null,O?(_=O,O=null):(d=T.yyleng,o=T.yytext,c=T.yylineno,u=T.yylloc,h>0&&h--);break;case 2:if(R=this.productions_[b[1]][1],w.$=i[i.length-R],w._$={first_line:s[s.length-(R||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(R||1)].first_column,last_column:s[s.length-1].last_column},y&&(w._$.range=[s[s.length-(R||1)].range[0],s[s.length-1].range[1]]),void 0!==(I=this.performAction.apply(w,[o,d,c,E,b[1],i,s].concat(p))))return I;R&&(a=a.slice(0,-1*R*2),i=i.slice(0,-1*R),s=s.slice(0,-1*R)),a.push(this.productions_[b[1]][0]),i.push(w.$),s.push(w._$),L=n[a[a.length-2]][a[a.length-1]],a.push(L);break;case 3:return!0}}return!0},"parse")};function tO(){this.yy={}}return t_.lexer={EOF:1,parseError:(0,l.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,l.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var e=t.length,a=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var i=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===r.length?this.yylloc.first_column:0)+r[r.length-a.length].length-a[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K)(function(t,e){var a,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],a=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack)for(var s in i)this[s]=i[s];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,a,r,i=this._currentRules(),s=0;s<i.length;s++)if((a=this._input.match(this.rules[i[s]]))&&(!e||a[0].length>e[0].length)){if(e=a,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(a,i[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,e,a,r){switch(a){case 0:case 59:case 92:return 5;case 1:case 2:case 3:case 4:case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:case 60:return e.yytext=e.yytext.trim(),73;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),73;case 13:return e.yytext=e.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return e.yytext=e.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:([0-9]+(\.[0-9]{1,2})?|\.[0-9]{1,2})(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}},(0,l.K)(tO,"Parser"),tO.prototype=t_,t_.Parser=tO,new tO}();p.parser=p;var T={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},E={FILLED:0,OPEN:1},g={LEFTOF:0,RIGHTOF:1,OVER:2},u=class{constructor(){this.state=new r.m(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=o.SV,this.setAccDescription=o.EI,this.setDiagramTitle=o.ke,this.getAccTitle=o.iN,this.getAccDescription=o.m7,this.getDiagramTitle=o.ab,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap((0,o.D7)().wrap),this.LINETYPE=T,this.ARROWTYPE=E,this.PLACEMENT=g}static{(0,l.K)(this,"SequenceDB")}addBox(t){this.state.records.boxes.push({name:t.text,wrap:t.wrap??this.autoWrap(),fill:t.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(t,e,a,r,s){let n,o=this.state.records.currentBox;if(void 0!==s){let t;t=s.includes("\n")?s+"\n":"{\n"+s+"\n}",n=(0,i.H)(t,{schema:i.r})}r=n?.type??r,n?.alias&&(!a||a.text===e)&&(a={text:n.alias,wrap:a?.wrap,type:r});let c=this.state.records.actors.get(t);if(c){if(this.state.records.currentBox&&c.box&&this.state.records.currentBox!==c.box)throw Error(`A same participant should only be defined in one Box: ${c.name} can't be in '${c.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(o=c.box?c.box:this.state.records.currentBox,c.box=o,c&&e===c.name&&null==a)return}if(a?.text==null&&(a={text:e,type:r}),(null==r||null==a.text)&&(a={text:e,type:r}),this.state.records.actors.set(t,{box:o,name:e,description:a.text,wrap:a.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:r??"participant"}),this.state.records.prevActor){let e=this.state.records.actors.get(this.state.records.prevActor);e&&(e.nextActor=t)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(t),this.state.records.prevActor=t}activationCount(t){let e,a=0;if(!t)return 0;for(e=0;e<this.state.records.messages.length;e++)this.state.records.messages[e].type===this.LINETYPE.ACTIVE_START&&this.state.records.messages[e].from===t&&a++,this.state.records.messages[e].type===this.LINETYPE.ACTIVE_END&&this.state.records.messages[e].from===t&&a--;return a}addMessage(t,e,a,r){this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:t,to:e,message:a.text,wrap:a.wrap??this.autoWrap(),answer:r})}addSignal(t,e,a,r,i=!1,s){if(r===this.LINETYPE.ACTIVE_END&&1>this.activationCount(t??"")){let e=Error("Trying to inactivate an inactive participant ("+t+")");throw e.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:t,to:e,message:a?.text??"",wrap:a?.wrap??this.autoWrap(),type:r,activate:i,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(t=>t.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(t){return this.state.records.actors.get(t)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(t){this.state.records.wrapEnabled=t}extractWrap(t){if(void 0===t)return{};t=t.trim();let e=null!==/^:?wrap:/.exec(t)||null===/^:?nowrap:/.exec(t)&&void 0;return{cleanedText:(void 0===e?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}}autoWrap(){return void 0!==this.state.records.wrapEnabled?this.state.records.wrapEnabled:(0,o.D7)().sequence?.wrap??!1}clear(){this.state.reset(),(0,o.IU)()}parseMessage(t){let e=t.trim(),{wrap:a,cleanedText:r}=this.extractWrap(e),i={text:r,wrap:a};return c.R.debug(`parseMessage: ${JSON.stringify(i)}`),i}parseBoxData(t){let e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),a=e?.[1]?e[1].trim():"transparent",r=e?.[2]?e[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",a)||(a="transparent",r=t.trim());else{let e=new Option().style;e.color=a,e.color!==a&&(a="transparent",r=t.trim())}let{wrap:i,cleanedText:s}=this.extractWrap(r);return{text:s?(0,o.jZ)(s,(0,o.D7)()):void 0,color:a,wrap:i}}addNote(t,e,a){let r={actor:t,placement:e,message:a.text,wrap:a.wrap??this.autoWrap()},i=[].concat(t,t);this.state.records.notes.push(r),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:i[0],to:i[1],message:a.text,wrap:a.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:e})}addLinks(t,e){let a=this.getActor(t);try{let t=(0,o.jZ)(e.text,(0,o.D7)());t=(t=t.replace(/=/g,"=")).replace(/&/g,"&");let r=JSON.parse(t);this.insertLinks(a,r)}catch(t){c.R.error("error while parsing actor link text",t)}}addALink(t,e){let a=this.getActor(t);try{let t={},r=(0,o.jZ)(e.text,(0,o.D7)()),i=r.indexOf("@"),s=(r=(r=r.replace(/=/g,"=")).replace(/&/g,"&")).slice(0,i-1).trim(),n=r.slice(i+1).trim();t[s]=n,this.insertLinks(a,t)}catch(t){c.R.error("error while parsing actor link text",t)}}insertLinks(t,e){if(null==t.links)t.links=e;else for(let a in e)t.links[a]=e[a]}addProperties(t,e){let a=this.getActor(t);try{let t=(0,o.jZ)(e.text,(0,o.D7)()),r=JSON.parse(t);this.insertProperties(a,r)}catch(t){c.R.error("error while parsing actor properties text",t)}}insertProperties(t,e){if(null==t.properties)t.properties=e;else for(let a in e)t.properties[a]=e[a]}boxEnd(){this.state.records.currentBox=void 0}addDetails(t,e){let a=this.getActor(t),r=document.getElementById(e.text);try{let t=r.innerHTML,e=JSON.parse(t);e.properties&&this.insertProperties(a,e.properties),e.links&&this.insertLinks(a,e.links)}catch(t){c.R.error("error while parsing actor details text",t)}}getActorProperty(t,e){if(t?.properties!==void 0)return t.properties[e]}apply(t){if(Array.isArray(t))t.forEach(t=>{this.apply(t)});else switch(t.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":this.addActor(t.actor,t.actor,t.description,t.draw,t.config);break;case"createParticipant":if(this.state.records.actors.has(t.actor))throw Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=t.actor,this.addActor(t.actor,t.actor,t.description,t.draw,t.config),this.state.records.createdActors.set(t.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=t.actor,this.state.records.destroyedActors.set(t.actor,this.state.records.messages.length);break;case"activeStart":case"centralConnection":case"centralConnectionReverse":case"activeEnd":this.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":this.addNote(t.actor,t.placement,t.text);break;case"addLinks":this.addLinks(t.actor,t.text);break;case"addALink":this.addALink(t.actor,t.text);break;case"addProperties":this.addProperties(t.actor,t.text);break;case"addDetails":this.addDetails(t.actor,t.text);break;case"addMessage":if(this.state.records.lastCreated)if(t.to!==this.state.records.lastCreated)throw Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");else this.state.records.lastCreated=void 0;else if(this.state.records.lastDestroyed)if(t.to!==this.state.records.lastDestroyed&&t.from!==this.state.records.lastDestroyed)throw Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");else this.state.records.lastDestroyed=void 0;this.addSignal(t.from,t.to,t.msg,t.signalType,t.activate,t.centralConnection);break;case"boxStart":this.addBox(t.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":this.addSignal(void 0,void 0,void 0,t.signalType);break;case"rectStart":this.addSignal(void 0,void 0,t.color,t.signalType);break;case"optStart":this.addSignal(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":this.addSignal(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":(0,o.SV)(t.text);break;case"parStart":case"and":this.addSignal(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,t.criticalText,t.signalType);break;case"option":this.addSignal(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":this.addSignal(void 0,void 0,t.breakText,t.signalType)}}getConfig(){return(0,o.D7)().sequence}},y=(0,l.K)(t=>{let e=t.dropShadow??"none",{look:a}=(0,o.D7)();return`.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: ${t.strokeWidth??1}; + } + + rect.actor.outer-path[data-look="neo"] { + filter: ${e}; + } + + rect.note[data-look="neo"] { + stroke:${t.noteBorderColor}; + fill:${t.noteBkgColor}; + filter: ${e}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .innerArc { + stroke-width: 1.5; + stroke-dasharray: none; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + [id$="-arrowhead"] path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + [id$="-sequencenumber"] { + fill: ${t.signalColor}; + } + + [id$="-crosshead"] path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + filter: ${"neo"===a?e:"none"}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .sectionTitle, .sectionTitle > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + /* + * No font-weight here, deliberately. Note text renders inside tspan elements, and a weight emitted at + * tspan level outranks the inline style drawText puts on the parent text element from the + * sequence.noteFontWeight config key -- so that documented key would never reach the glyphs. + * The theme variable formerly emitted here is a different value from that config key, and + * git/styles.js reads it as its own bold-label weight under redux and neo, so it cannot be + * lowered there either. + */ + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.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 circle, line { + fill: ${t.actorBkg}; + stroke-width: 2px; + } + + g rect.rect { + filter: ${e}; + stroke: ${t.nodeBorder}; + } +`},"getStyles"),x=(0,l.K)((t,e)=>t.actorTextHeight??n._K.calculateTextDimensions(t.description??"",{fontFamily:e.actorFontFamily,fontSize:e.actorFontSize,fontWeight:e.actorFontWeight}).height,"actorLabelHeight"),_=(0,l.K)(t=>50+t+6,"actorStackHeight"),O=(0,l.K)((t,e,a)=>{let r=t+e;return{lifelineStartY:r,glyphBottomY:r-6-a-6,labelCenterY:r-6-a/2}},"headerBands"),m=(0,l.K)((t,e)=>{let a=t+6,r=a+44;return{glyphTopY:a,glyphBottomY:r,labelCenterY:r+6+e/2,stackHeight:_(e)}},"footerBands"),b=(0,l.K)((t,e,a,r)=>{if("neo"!==e.look)return null;let i=x(t,e);return a?m(r,i):O(r,t.height,i)},"neoBands"),I="actor-top",f="actor-bottom",R="actor-box",L="actor-man",P=new Set(["redux-color","redux-dark-color"]),w=(0,l.K)((t,e)=>t?.length?t[e%t.length]:void 0,"paletteColor"),S=(0,l.K)(function(t,e){let a=(0,s.tk)(t,e);return"neo"===(0,o.zj)().look&&a.attr("data-look","neo"),a},"drawRect"),D=(0,l.K)(function(t,e,a,r,i){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return{height:0,width:0};let s=e.links,n=e.actorCnt,o=e.rectData;var c="none";i&&(c="block !important");let l=t.append("g");l.attr("id","actor"+n+"_popup"),l.attr("class","actorPopupMenu"),l.attr("display",c);var d="";void 0!==o.class&&(d=" "+o.class);let p=o.width>a?o.width:a,T=l.append("rect");if(T.attr("class","actorPopupMenuPanel"+d),T.attr("x",o.x),T.attr("y",o.height),T.attr("fill",o.fill),T.attr("stroke",o.stroke),T.attr("width",p),T.attr("height",o.height),T.attr("rx",o.rx),T.attr("ry",o.ry),null!=s){var E=20;for(let t in s){var g=l.append("a"),u=(0,h.sanitizeUrl)(s[t]);g.attr("xlink:href",u),g.attr("target","_blank"),tl(r)(t,g,o.x+10,o.height+E,p,20,{class:"actor"},r),E+=30}}return T.attr("height",E),{height:o.height+E,width:p}},"drawPopup"),N=(0,l.K)(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),A=(0,l.K)(async function(t,e,a=null){let r=t.append("foreignObject"),i=await (0,o.dj)(e.text,(0,o.zj)()),s=r.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(r.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),"noteText"===e.class){let a=t.node().firstChild;a.setAttribute("height",s.height+2*e.textMargin);let i=a.getBBox();r.attr("x",Math.round(i.x+i.width/2-s.width/2)).attr("y",Math.round(i.y+i.height/2-s.height/2))}else if(a){let{startx:t,stopx:i,starty:n}=a;if(t>i){let e=t;t=i,i=e}r.attr("x",Math.round(t+Math.abs(t-i)/2-s.width/2)),"loopText"===e.class?r.attr("y",Math.round(n)):r.attr("y",Math.round(n-s.height))}return[r]},"drawKatex"),k=(0,l.K)(function(t,e){let a=0,r=0,i=e.text.split(o.Y2.lineBreakRegex),[s,c]=(0,n.I5)(e.fontSize),d=[],h=0,p=(0,l.K)(()=>e.y,"yfunc");if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":p=(0,l.K)(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":p=(0,l.K)(()=>Math.round(e.y+(a+r+e.textMargin)/2),"yfunc");break;case"bottom":case"end":p=(0,l.K)(()=>Math.round(e.y+(a+r+2*e.textMargin)-e.textMargin),"yfunc")}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle"}for(let[o,l]of i.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==s&&(h=o*s);let i=t.append("text");i.attr("x",e.x),i.attr("y",p()),void 0!==e.anchor&&i.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&i.style("font-family",e.fontFamily),void 0!==c&&i.style("font-size",c),void 0!==e.fontWeight&&i.style("font-weight",e.fontWeight),void 0!==e.fill&&i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class),void 0!==e.dy?i.attr("dy",e.dy):0!==h&&i.attr("dy",h);let T=l||n.pe;if(e.tspan){let t=i.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(T)}else i.text(T);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(r+=(i._groups||i)[0][0].getBBox().height,a=r),d.push(i)}return d},"drawText"),M=(0,l.K)(function(t,e){function a(t,e,a,r,i){return t+","+e+" "+(t+a)+","+e+" "+(t+a)+","+(e+r-i)+" "+(t+a-1.2*i)+","+(e+r)+" "+t+","+(e+r)}(0,l.K)(a,"genPoints");let r=t.append("polygon");return r.attr("points",a(e.x,e.y,e.width,e.height,7)),r.attr("class","labelBox"),e.y=e.y+e.height/2,k(t,e),r},"drawLabel"),C=-1,v=(0,l.K)((t,e,a,r)=>{t.select&&a.forEach(a=>{let i=e.get(a),s=t.select("#actor"+i.actorCnt);!r.mirrorActors&&i.stopy?s.attr("y2",i.stopy+i.height/2):r.mirrorActors&&s.attr("y2",i.stopy)})},"fixLifeLineHeights"),Y=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=c+e.height,{look:h,theme:p,themeVariables:T}=a,{bkgColorArray:E,borderColorArray:g}=T,u=t.append("g").lower();var y=u;r||(C++,Object.keys(e.links||{}).length&&!a.forceMenus&&y.attr("onclick",N(`actor${C}_popup`)).attr("cursor","pointer"),y.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",d).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),y=u.append("g"),e.actorCnt=C,null!=e.links&&y.attr("id","root-"+C),"neo"===h&&y.attr("data-look","neo"));let x=(0,s.PB)();var _="actor";e.properties?.class?_=e.properties.class:x.fill="#eaeaea",r?_+=` ${f}`:_+=` ${I}`,x.x=e.x,x.y=c,x.width=e.width,x.height=e.height,x.class=_,x.rx=3,x.ry=3,x.name=e.name,"neo"===h&&(x.rx=6,x.ry=6);let O=S(y,x),m=n.get(e.name)??0;if(P.has(p)&&(O.style("stroke",w(g,m)),O.style("fill",w(E,m))),"neo"===h&&O.attr("filter",`url(#${ti(i)})`),e.rectData=x,e.properties?.icon){let t=e.properties.icon.trim();"@"===t.charAt(0)?(0,s.CP)(y,x.x+x.width-20,x.y+10,t.substr(1)):(0,s.aC)(y,x.x+x.width-20,x.y+10,t)}r||(y.attr("data-et","participant"),y.attr("data-type","participant"),y.attr("data-id",e.name)),tc(a,(0,o.Wi)(e.description))(e.description,y,x.x,x.y,x.width,x.height,{class:`actor ${R}`},a);let b=e.height;if(O.node){let t=O.node().getBBox();"neo"!==a.look&&(e.height=t.height,b=t.height)}return b},"drawActorTypeParticipant"),K=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=c+e.height,{look:h,theme:p,themeVariables:T}=a,{bkgColorArray:E,borderColorArray:g}=T,u=t.append("g").lower();var y=u;r||(C++,Object.keys(e.links||{}).length&&!a.forceMenus&&y.attr("onclick",N(`actor${C}_popup`)).attr("cursor","pointer"),y.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",d).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),y=u.append("g"),e.actorCnt=C,null!=e.links&&y.attr("id","root-"+C),"neo"===h&&y.attr("data-look","neo"));let x=(0,s.PB)();var _="actor";e.properties?.class?_=e.properties.class:x.fill="#eaeaea",r?_+=` ${f}`:_+=` ${I}`,x.x=e.x,x.y=c,x.width=e.width,x.height=e.height,x.class=_,x.name=e.name,"neo"===a.look&&(x.height=e.height-6);let O={...x,x:x.x+-6,y:x.y+6,class:"actor"},m=S(y,x),b=S(y,O);e.rectData=x,"neo"===h&&y.attr("filter",`url(#${ti(i)})`);let L=n.get(e.name)??0;if(P.has(p)&&(m.style("stroke",w(g,L)),m.style("fill",w(E,L)),b.style("stroke",w(g,L)),b.style("fill",w(E,L))),e.properties?.icon){let t=e.properties.icon.trim();"@"===t.charAt(0)?(0,s.CP)(y,x.x+x.width-20,x.y+10,t.substr(1)):(0,s.aC)(y,x.x+x.width-20,x.y+10,t)}tc(a,(0,o.Wi)(e.description))(e.description,y,x.x-6,x.y+6,x.width,x.height,{class:`actor ${R}`},a);let D=e.height;if(m.node){let t=m.node().getBBox();"neo"!==a.look&&(e.height=t.height,D=t.height)}return r||(y.attr("data-et","participant"),y.attr("data-type","collections"),y.attr("data-id",e.name)),D},"drawActorTypeCollections"),B=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=c+e.height,{look:h,theme:p,themeVariables:T}=a,{bkgColorArray:E,borderColorArray:g}=T,u=t.append("g").lower(),y=u;r||(C++,Object.keys(e.links||{}).length&&!a.forceMenus&&y.attr("onclick",N(`actor${C}_popup`)).attr("cursor","pointer"),y.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",d).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),y=u.append("g"),e.actorCnt=C,null!=e.links&&y.attr("id","root-"+C),"neo"===h&&y.attr("data-look","neo"));let x=(0,s.PB)(),_="actor";e.properties?.class?_=e.properties.class:x.fill="#eaeaea",r?_+=` ${f}`:_+=` ${I}`,y.attr("class",_),x.x=e.x,x.y=c,x.width=e.width,x.height=e.height,x.name=e.name;let O=x.height/2,m=O/(2.5+x.height/50),b=y.append("g"),L=y.append("g"),S=`M ${x.x},${x.y+O} + a ${m},${O} 0 0 0 0,${x.height} + h ${x.width-2*m} + a ${m},${O} 0 0 0 0,-${x.height} + Z + `;b.append("path").attr("d",S),L.append("path").attr("d",`M ${x.x},${x.y+O} + a ${m},${O} 0 0 0 0,${x.height}`),b.attr("transform",`translate(${m}, ${-(x.height/2)})`),L.attr("transform",`translate(${x.width-m}, ${-x.height/2})`),e.rectData=x,"neo"===h&&b.attr("filter",`url(#${ti(i)})`);let D=n.get(e.name)??0;if(P.has(p)&&(b.style("stroke",w(g,D)),b.style("fill",w(E,D)),L.style("stroke",w(g,D)),L.style("fill",w(E,D))),e.properties?.icon){let t=e.properties.icon.trim(),a=x.x+x.width-20,r=x.y+10;"@"===t.charAt(0)?(0,s.CP)(y,a,r,t.substr(1)):(0,s.aC)(y,a,r,t)}tc(a,(0,o.Wi)(e.description))(e.description,y,x.x,x.y,x.width,x.height,{class:`actor ${R}`},a);let A=e.height,k=b.select("path:last-child");if(k.node()){let t=k.node().getBBox();"neo"!==a.look&&(e.height=t.height,A=t.height)}return r||(y.attr("data-et","participant"),y.attr("data-type","queue"),y.attr("data-id",e.name)),A},"drawActorTypeQueue"),$=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=b(e,a,r,c),h=d?d.lifelineStartY:c+75,{look:p,theme:T,themeVariables:E}=a,{bkgColorArray:g,borderColorArray:u,actorBorder:y,actorBkg:x}=E,_=t.append("g").lower();r||(C++,_.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",h).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=C);let O=t.append("g"),m=L;r?m+=` ${f}`:m+=` ${I}`,O.attr("class",m),O.attr("name",e.name);let R=(0,s.PB)();R.x=e.x,R.y=c,R.fill="#eaeaea",R.width=e.width,R.height=e.height,R.class="actor";let S=e.x+e.width/2,D=d?d.glyphBottomY-22:c+32;O.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),O.append("circle").attr("cx",S).attr("cy",D).attr("r",22).attr("filter",`${"neo"===p?`url(#${ti(i)})`:""}`),O.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${S}, ${D-22})`);let N=n.get(e.name)??0;return P.has(T)?(O.style("stroke",w(u,N)),O.style("fill",w(g,N))):(O.style("stroke",y),O.style("fill",x)),d||(e.height=O.node().getBBox().height+2*(a?.sequence?.labelBoxHeight??0)),tc(a,(0,o.Wi)(e.description))(e.description,O,R.x,d?d.labelCenterY-R.height/2:R.y+22+(r?5:12),R.width,R.height,{class:`actor ${L}`},a),r||(O.attr("data-et","participant"),O.attr("data-type","control"),O.attr("data-id",e.name)),e.height},"drawActorTypeControl"),V=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=b(e,a,r,c),h=d?d.lifelineStartY:c+75,{look:p,theme:T,themeVariables:E}=a,{bkgColorArray:g,borderColorArray:u}=E,y=t.append("g").lower(),x=t.append("g"),_="actor";r?_+=` ${f}`:_+=` ${I}`,x.attr("class",_),x.attr("name",e.name);let O=(0,s.PB)();O.x=e.x,O.y=c,O.fill="#eaeaea",O.width=e.width,O.height=e.height,O.class="actor";let m=e.x+e.width/2,R=d?d.glyphBottomY-22:c+(r?10:25);x.append("circle").attr("cx",m).attr("cy",R).attr("r",22).attr("width",e.width).attr("height",e.height),x.append("line").attr("x1",m-22).attr("x2",m+22).attr("y1",R+22).attr("y2",R+22).attr("stroke-width",2),"neo"===p&&x.attr("filter",`url(#${ti(i)})`);let S=n.get(e.name)??0;return P.has(T)&&(x.style("stroke",w(u,S)),x.style("fill",w(g,S))),d||(e.height=x.node().getBBox().height+(a?.sequence?.labelBoxHeight??0)),r||(C++,y.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",h).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=C),tc(a,(0,o.Wi)(e.description))(e.description,x,O.x,d?d.labelCenterY-O.height/2:O.y+(r?15:30),O.width,O.height,{class:`actor ${L}`},a),d||x.attr("transform",`translate(0, ${r?22:6})`),r||(x.attr("data-et","participant"),x.attr("data-type","entity"),x.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),W=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=b(e,a,r,c),h=d?d.lifelineStartY:c+e.height+2*a.boxTextMargin,{theme:p,themeVariables:T,look:E}=a,{bkgColorArray:g,borderColorArray:u,actorBorder:y}=T,x=t.append("g").lower(),_=x;r||(C++,Object.keys(e.links||{}).length&&!a.forceMenus&&_.attr("onclick",N(`actor${C}_popup`)).attr("cursor","pointer"),_.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",h).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),_=x.append("g"),e.actorCnt=C,null!=e.links&&_.attr("id","root-"+C),"neo"===E&&_.attr("data-look","neo"));let O=(0,s.PB)(),m="actor";e.properties?.class?m=e.properties.class:O.fill="#eaeaea",r?m+=` ${f}`:m+=` ${I}`,O.x=e.x,O.y=c,O.width=e.width,O.height=e.height,O.class=m,O.name=e.name,O.x=e.x,O.y=c;let L=O.width/3,S=L/2,D=S/(2.5+L/50),A=d?44:O.width/3,k=d?d.glyphBottomY-A-D:O.y,M=_.append("g");M.attr("class",m);let v=` + M ${O.x},${k+D} + a ${S},${D} 0 0 0 ${L},0 + a ${S},${D} 0 0 0 -${L},0 + l 0,${A-2*D} + a ${S},${D} 0 0 0 ${L},0 + l 0,-${A-2*D} +`;M.append("path").attr("d",v),"neo"===E&&M.attr("filter",`url(#${ti(i)})`);let Y=n.get(e.name)??0;if(P.has(p)?(M.style("stroke",w(u,Y)),M.style("fill",w(g,Y))):M.style("stroke",y),M.attr("transform",`translate(${L}, ${D})`),e.rectData=O,tc(a,(0,o.Wi)(e.description))(e.description,_,O.x,d?d.labelCenterY-O.height/2:O.y+35,O.width,O.height,{class:`actor ${R}`},a),!d){let t=M.select("path:last-child");t.node()&&(e.height=t.node().getBBox().height+(a.sequence.labelBoxHeight??0))}return r||(_.attr("data-et","participant"),_.attr("data-type","database"),_.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),F=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=b(e,a,r,c),h=d?d.lifelineStartY:c+80,p=d?d.glyphBottomY-22:c+12,T=t.append("g").lower(),{look:E,theme:g,themeVariables:u}=a,{bkgColorArray:y,borderColorArray:x,actorBorder:_}=u;r||(C++,T.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",h).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=C);let O=t.append("g"),m=L;r?m+=` ${f}`:m+=` ${I}`,O.attr("class",m),O.attr("name",e.name);let R=(0,s.PB)();R.x=e.x,R.y=c,R.fill="#eaeaea",R.width=e.width,R.height=e.height,R.class="actor",O.append("line").attr("id","actor-man-torso"+C).attr("x1",e.x+e.width/2-55).attr("y1",p).attr("x2",e.x+e.width/2-15).attr("y2",p),O.append("line").attr("id","actor-man-arms"+C).attr("x1",e.x+e.width/2-55).attr("y1",p-10).attr("x2",e.x+e.width/2-55).attr("y2",p+10),O.append("circle").attr("cx",e.x+e.width/2).attr("cy",p).attr("r",22),"neo"===E&&O.attr("filter",`url(#${ti(i)})`);let S=n.get(e.name)??0;return P.has(g)?(O.style("stroke",w(x,S)),O.style("fill",w(y,S))):O.style("stroke",_),d||(e.height=O.node().getBBox().height+(a.sequence.labelBoxHeight??0)),tc(a,(0,o.Wi)(e.description))(e.description,O,R.x,d?d.labelCenterY-R.height/2:R.y+15,R.width,R.height,{class:`actor ${L}`},a),d||O.attr("transform","translate(0,21)"),r||(O.attr("data-et","participant"),O.attr("data-type","boundary"),O.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),q=(0,l.K)(function(t,e,a,r,i){let n=r?e.stopy:e.starty,c=e.x+e.width/2,d=b(e,a,r,n),h=d?d.lifelineStartY:n+80,{theme:p,themeVariables:T}=a,{bkgColorArray:E,borderColorArray:g,actorBorder:u}=T,y=t.append("g").lower();r||(C++,y.append("line").attr("id","actor"+C).attr("x1",c).attr("y1",h).attr("x2",c).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=C);let x=t.append("g"),_=L;r?_+=` ${f}`:_+=` ${I}`,x.attr("class",_),x.attr("name",e.name),r||x.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);let O=d?.676923076923077:1,m=(0,l.K)(t=>d?d.glyphBottomY-(60-t)*O:n+t,"gy"),R=(0,l.K)(t=>c+t*O,"gx");x.append("line").attr("id","actor-man-torso"+C).attr("x1",c).attr("y1",m(25)).attr("x2",c).attr("y2",m(45)),x.append("line").attr("id","actor-man-arms"+C).attr("x1",R(-18)).attr("y1",m(33)).attr("x2",R(18)).attr("y2",m(33)),x.append("line").attr("x1",R(-18)).attr("y1",m(60)).attr("x2",c).attr("y2",m(45)),x.append("line").attr("x1",c).attr("y1",m(45)).attr("x2",R(16)).attr("y2",m(60));let S=x.append("circle");S.attr("cx",e.x+e.width/2),S.attr("cy",m(10)),S.attr("r",15*O),S.attr("width",e.width),S.attr("height",e.height),d||(e.height=65);let D=(0,s.PB)();D.x=e.x,D.y=n,D.fill="#eaeaea",D.width=e.width,D.height=e.height,D.class="actor",D.rx=3,D.ry=3;let N=i.get(e.name)??0;return P.has(p)?(x.style("stroke",w(g,N)),x.style("fill",w(E,N))):x.style("stroke",u),tc(a,(0,o.Wi)(e.description))(e.description,x,D.x,d?d.labelCenterY-D.height/2:n+35,D.width,D.height,{class:`actor ${L}`},a),e.height},"drawActorTypeActor"),H=(0,l.K)(async function(t,e,a,r,i,s,n){let o=n??new Map([...s.db.getActors().values()].map((t,e)=>[t.name,e]));switch(e.type){case"actor":return await q(t,e,a,r,o);case"participant":return await Y(t,e,a,r,i,o);case"boundary":return await F(t,e,a,r,i,o);case"control":return await $(t,e,a,r,i,o);case"entity":return await V(t,e,a,r,i,o);case"database":return await W(t,e,a,r,i,o);case"collections":return await K(t,e,a,r,i,o);case"queue":return await B(t,e,a,r,i,o)}},"drawActor"),z=(0,l.K)(function(t,e,a){let r=t.append("g");X(r,e),e.name&&tc(a)(e.name,r,e.x,e.y+a.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},a),r.lower()},"drawBox"),j=(0,l.K)(function(t){return t.append("g")},"anchorElement"),U=(0,l.K)(function(t,e,a,r,i,n,o){let{theme:c,themeVariables:l}=r,{bkgColorArray:d,borderColorArray:h,mainBkg:p}=l,T=(0,s.PB)(),E=e.anchored,g=e.actor;T.x=e.startx,T.y=e.starty,T.class="activation"+i%3,T.width=e.stopx-e.startx,T.height=a-e.starty;let u=S(E,T),y=(o??new Map([...n.db.getActors().values()].map((t,e)=>[t.name,e]))).get(g)??0;P.has(c)&&(u.style("stroke",w(h,y)),u.style("fill",w(d,y)??p))},"drawActivation"),G=(0,l.K)(async function(t,e,a,r,i){let{boxMargin:n,boxTextMargin:c,labelBoxHeight:d,labelBoxWidth:h,messageFontFamily:p,messageFontSize:T,messageFontWeight:E}=r,g=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),u=(0,l.K)(function(t,e,a,r){return g.append("line").attr("x1",t).attr("y1",e).attr("x2",a).attr("y2",r).attr("class","loopLine")},"drawLoopLine");u(e.startx,e.starty,e.stopx,e.starty),u(e.stopx,e.starty,e.stopx,e.stopy),u(e.startx,e.stopy,e.stopx,e.stopy),u(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach(function(t){u(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")});let y=(0,s.HT)();y.text=a,y.x=e.startx,y.y=e.starty,y.fontFamily=p,y.fontSize=T,y.fontWeight=E,y.anchor="middle",y.valign="middle",y.tspan=!1,y.width=Math.max(h??0,50),y.height=d+15*("neo"===r.look)||20,y.textMargin=c,y.class="labelText",M(g,y),(y=tn()).text=e.title,y.x=e.startx+h/2+(e.stopx-e.startx)/2,y.y=e.starty+n+c,y.anchor="middle",y.valign="middle",y.textMargin=c,y.class="loopText",y.fontFamily=p,y.fontSize=T,y.fontWeight=E,y.wrap=!0;let x=(0,o.Wi)(y.text)?await A(g,y,e):k(g,y);if(void 0!==e.sectionTitles){for(let[t,a]of Object.entries(e.sectionTitles))if(a.message){y.text=a.message,y.x=e.startx+(e.stopx-e.startx)/2,y.y=e.sections[t].y+n+c,y.class="sectionTitle",y.anchor="middle",y.valign="middle",y.tspan=!1,y.fontFamily=p,y.fontSize=T,y.fontWeight=E,y.wrap=e.wrap,(0,o.Wi)(y.text)?(e.starty=e.sections[t].y,await A(g,y,e)):k(g,y);let r=Math.round(x.map(t=>(t._groups||t)[0][0].getBBox().height).reduce((t,e)=>t+e));e.sections[t].height+=r-(n+c)}}return e.height=Math.round(e.stopy-e.starty),g},"drawLoop"),X=(0,l.K)(function(t,e){(0,s.lC)(t,e)},"drawBackgroundRect"),Z=(0,l.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),J=(0,l.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),Q=(0,l.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),tt=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),te=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),ta=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),tr=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),ti=(0,l.K)(t=>t?`${t}-drop-shadow`:"drop-shadow","dropShadowId"),ts=(0,l.K)(function(t,e,a){let{theme:r}=e;t.append("defs").append("filter").attr("id",ti(a)).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${"redux"===r||"redux-color"===r?"#000000":"#FFFFFF"}`)},"insertDropShadow"),tn=(0,l.K)(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),to=(0,l.K)(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),tc=function(){function t(t,e,a,r,s,n,o){i(e.append("text").attr("x",a+s/2).attr("y",r+n/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,a,r,s,c,l,d){let{actorFontSize:h,actorFontFamily:p,actorFontWeight:T}=d,[E,g]=(0,n.I5)(h),u=t.split(o.Y2.lineBreakRegex);for(let t=0;t<u.length;t++){let n=t*E-E*(u.length-1)/2,o=e.append("text").attr("x",a+s/2).attr("y",r).style("text-anchor","middle").style("font-size",g).style("font-weight",T).style("font-family",p);o.append("tspan").attr("x",a+s/2).attr("dy",n).text(u[t]),o.attr("y",r+c/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(o,l)}}function a(t,a,r,s,n,o,c,l){let d=a.append("switch"),h=d.append("foreignObject").attr("x",r).attr("y",s).attr("width",n).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,d,r,s,n,o,c,l),i(h,c)}async function r(t,a,r,s,n,c,l,d){let h=await (0,o.Dl)(t,(0,o.zj)()),p=a.append("switch"),T=p.append("foreignObject").attr("x",r+n/2-h.width/2).attr("y",s+c/2-h.height/2).attr("width",h.width).attr("height",h.height).append("xhtml:div").style("height","100%").style("width","100%");T.append("div").style("text-align","center").style("vertical-align","middle").html(await (0,o.dj)(t,(0,o.zj)())),e(t,p,r,s,n,c,l,d),i(T,l)}function i(t,e){for(let a in e)e.hasOwnProperty(a)&&t.attr(a,e[a])}return(0,l.K)(t,"byText"),(0,l.K)(e,"byTspan"),(0,l.K)(a,"byFo"),(0,l.K)(r,"byKatex"),(0,l.K)(i,"_setTextAttrs"),function(i,s=!1){return s?r:"fo"===i.textPlacement?a:"old"===i.textPlacement?t:e}}(),tl=function(){function t(t,e,a,i,s,n,o){r(e.append("text").attr("x",a).attr("y",i).style("text-anchor","start").text(t),o)}function e(t,e,a,i,s,n,c,l){let{actorFontSize:d,actorFontFamily:h,actorFontWeight:p}=l,T=t.split(o.Y2.lineBreakRegex);for(let t=0;t<T.length;t++){let s=t*d-d*(T.length-1)/2,o=e.append("text").attr("x",a).attr("y",i).style("text-anchor","start").style("font-size",d).style("font-weight",p).style("font-family",h);o.append("tspan").attr("x",a).attr("dy",s).text(T[t]),o.attr("y",i+n/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(o,c)}}function a(t,a,i,s,n,o,c,l){let d=a.append("switch"),h=d.append("foreignObject").attr("x",i).attr("y",s).attr("width",n).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,d,i,s,n,o,c,l),r(h,c)}function r(t,e){for(let a in e)e.hasOwnProperty(a)&&t.attr(a,e[a])}return(0,l.K)(t,"byText"),(0,l.K)(e,"byTspan"),(0,l.K)(a,"byFo"),(0,l.K)(r,"_setTextAttrs"),function(r){return"fo"===r.textPlacement?a:"old"===r.textPlacement?t:e}}(),td=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-solidTopArrowHead").attr("refX",7.9).attr("refY",7.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 8 L 0 8 z")},"insertSolidTopArrowHead"),th=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-solidBottomArrowHead").attr("refX",7.9).attr("refY",.75).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 0 L 0 8 z")},"insertSolidBottomArrowHead"),tp=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-stickTopArrowHead").attr("refX",7.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 7 7").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickTopArrowHead"),tT=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-stickBottomArrowHead").attr("refX",7.5).attr("refY",0).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 7 L 7 0").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickBottomArrowHead"),tE={drawRect:S,drawText:k,drawLabel:M,drawActor:H,drawBox:z,drawPopup:D,anchorElement:j,drawActivation:U,drawLoop:G,drawBackgroundRect:X,insertArrowHead:tt,insertArrowFilledHead:te,insertSequenceNumber:ta,insertArrowCrossHead:tr,insertDatabaseIcon:Z,insertComputerIcon:J,insertClockIcon:Q,getTextObj:tn,getNoteRect:to,fixLifeLineHeights:v,sanitizeUrl:h.sanitizeUrl,insertDropShadow:ts,insertSolidTopArrowHead:td,insertSolidBottomArrowHead:th,insertStickTopArrowHead:tp,insertStickBottomArrowHead:tT},tg={},tu={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:(0,l.K)(function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map(t=>t.height||0))+(0===this.loops.length?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(0===this.messages.length?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(0===this.notes.length?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:(0,l.K)(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:(0,l.K)(function(t){this.boxes.push(t)},"addBox"),addActor:(0,l.K)(function(t){this.actors.push(t)},"addActor"),addLoop:(0,l.K)(function(t){this.loops.push(t)},"addLoop"),addMessage:(0,l.K)(function(t){this.messages.push(t)},"addMessage"),addNote:(0,l.K)(function(t){this.notes.push(t)},"addNote"),lastActor:(0,l.K)(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:(0,l.K)(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:(0,l.K)(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:(0,l.K)(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:(0,l.K)(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,tP((0,o.D7)())},"init"),updateVal:(0,l.K)(function(t,e,a,r){void 0===t[e]?t[e]=a:t[e]=r(a,t[e])},"updateVal"),updateBounds:(0,l.K)(function(t,e,a,r){let i=this,s=0;function n(n){return(0,l.K)(function(o){s++;let c=i.sequenceItems.length-s+1;i.updateVal(o,"starty",e-c*tg.boxMargin,Math.min),i.updateVal(o,"stopy",r+c*tg.boxMargin,Math.max),i.updateVal(tu.data,"startx",t-c*tg.boxMargin,Math.min),i.updateVal(tu.data,"stopx",a+c*tg.boxMargin,Math.max),"activation"!==n&&(i.updateVal(o,"startx",t-c*tg.boxMargin,Math.min),i.updateVal(o,"stopx",a+c*tg.boxMargin,Math.max),i.updateVal(tu.data,"starty",e-c*tg.boxMargin,Math.min),i.updateVal(tu.data,"stopy",r+c*tg.boxMargin,Math.max))},"updateItemBounds")}(0,l.K)(n,"updateFn"),this.sequenceItems.forEach(n()),this.activations.forEach(n("activation"))},"updateBounds"),insert:(0,l.K)(function(t,e,a,r){let i=o.Y2.getMin(t,a),s=o.Y2.getMax(t,a),n=o.Y2.getMin(e,r),c=o.Y2.getMax(e,r);this.updateVal(tu.data,"startx",i,Math.min),this.updateVal(tu.data,"starty",n,Math.min),this.updateVal(tu.data,"stopx",s,Math.max),this.updateVal(tu.data,"stopy",c,Math.max),this.updateBounds(i,n,s,c)},"insert"),newActivation:(0,l.K)(function(t,e,a){let r=a.get(t.from),i=tw(t.from).length||0,s=r.x+r.width/2+(i-1)*tg.activationWidth/2;this.activations.push({startx:s,starty:this.verticalPos+2,stopx:s+tg.activationWidth,stopy:void 0,actor:t.from,anchored:tE.anchorElement(e)})},"newActivation"),endActivation:(0,l.K)(function(t){let e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:(0,l.K)(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:(0,l.K)(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:(0,l.K)(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:(0,l.K)(function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap},"isLoopOverlap"),addSectionToLoop:(0,l.K)(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:tu.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:(0,l.K)(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:(0,l.K)(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:(0,l.K)(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=o.Y2.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:(0,l.K)(function(){return this.verticalPos},"getVerticalPos"),getBounds:(0,l.K)(function(){return{bounds:this.data,models:this.models}},"getBounds")},ty=(0,l.K)(async function(t,e,a){tu.bumpVerticalPos(tg.boxMargin),e.height=tg.boxMargin,e.starty=tu.getVerticalPos();let r=(0,s.PB)();r.x=e.startx,r.y=e.starty,r.width=e.width||tg.width,r.class="note";let i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+a);let n=tE.drawRect(i,r),c=(0,s.HT)();c.x=e.startx,c.y=e.starty,c.width=r.width,c.dy="1em",c.text=e.message,c.class="noteText",c.fontFamily=tg.noteFontFamily,c.fontSize=tg.noteFontSize,c.fontWeight=tg.noteFontWeight,c.anchor=tg.noteAlign,c.textMargin=tg.noteMargin,c.valign="center";let l=Math.round(((0,o.Wi)(c.text)?await A(i,c):k(i,c)).map(t=>(t._groups||t)[0][0].getBBox().height).reduce((t,e)=>t+e));n.attr("height",l+2*tg.noteMargin),e.height+=l+2*tg.noteMargin,tu.bumpVerticalPos(l+2*tg.noteMargin),e.stopy=e.starty+l+2*tg.noteMargin,e.stopx=e.startx+r.width,tu.insert(e.startx,e.starty,e.stopx,e.stopy),tu.models.addNote(e)},"drawNote"),tx=(0,l.K)(function(t,e,a,r,i,s,n){let o=r.db.getActors(),c=o.get(e.from),d=o.get(e.to),h=a.sequenceVisible,p=c.x+c.width/2,T=d.x+d.width/2,E=p<=T,g=tB(e,r),u=t.append("g"),y=(0,l.K)((t,e)=>{let a=t?16.5:-16.5;return e?-a:a},"getCircleOffset"),x=(0,l.K)(t=>{u.append("circle").attr("cx",t).attr("cy",n).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:_,CENTRAL_CONNECTION_REVERSE:O,CENTRAL_CONNECTION_DUAL:m}=r.db.LINETYPE;if(h)switch(e.centralConnection){case _:g&&(T+=y(E,!0));break;case O:g||(p+=y(E,!1));break;case m:g?T+=y(E,!0):p+=y(E,!1)}switch(e.centralConnection){case _:x(T);break;case O:x(p);break;case m:x(p),x(T)}},"drawCentralConnection"),t_=(0,l.K)(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),tO=(0,l.K)(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),tm=(0,l.K)(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function tb(t,e){let a;tu.bumpVerticalPos(10);let{startx:r,stopx:i,message:s}=e,c=o.Y2.splitBreaks(s).length,l=(0,o.Wi)(s),d=l?await (0,o.Dl)(s,(0,o.D7)()):n._K.calculateTextDimensions(s,t_(tg));if(!l){let t=d.height/c;e.height+=t,tu.bumpVerticalPos(t)}let h=d.height-10,p=d.width;if(r===i){a=tu.getVerticalPos()+h,tg.rightAngles||(h+=tg.boxMargin,a=tu.getVerticalPos()+h),h+=30;let t=o.Y2.getMax(p/2,tg.width/2);tu.insert(r-t,tu.getVerticalPos()-10+h,i+t,tu.getVerticalPos()+30+h)}else h+=tg.boxMargin,a=tu.getVerticalPos()+h,tu.insert(r,a-10,i,a);return tu.bumpVerticalPos(h),e.height+=h,e.stopy=e.starty+e.height,tu.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),a}(0,l.K)(tb,"boundMessage");var tI=(0,l.K)(async function(t,e,a,r,i,c){let l,{startx:d,stopx:h,starty:p,message:T,type:E,sequenceIndex:g,sequenceVisible:u}=e,y=n._K.calculateTextDimensions(T,t_(tg)),x=(0,s.HT)();x.x=Math.min(d,h),x.y=p+10,x.width=Math.abs(h-d),x.class="messageText",x.dy="1em",x.text=T,x.fontFamily=tg.messageFontFamily,x.fontSize=tg.messageFontSize,x.fontWeight=tg.messageFontWeight,x.anchor=tg.messageAlign,x.valign="center",x.textMargin=tg.wrapPadding,x.tspan=!1,(0,o.Wi)(x.text)?await A(t,x,{startx:d,stopx:h,starty:a}):k(t,x);let _=y.width;if(d===h){let s=u||tg.showSequenceNumbers,n=tB(i,r),c=t$(i,r),p=d+(s&&(n||c)?10:0);l=tg.rightAngles?t.append("path").attr("d",`M ${p},${a} H ${d+o.Y2.getMax(tg.width/2,_/2)} V ${a+25} H ${d}`):t.append("path").attr("d","M "+p+","+a+" C "+(p+60)+","+(a-10)+" "+(d+60)+","+(a+30)+" "+d+","+(a+20)),tY(i,r)&&tx(t,i,e,r,d,h,a)}else(l=t.append("line")).attr("x1",d),l.attr("y1",a),l.attr("x2",h),l.attr("y2",a),tY(i,r)&&tx(t,i,e,r,d,h,a);E===r.db.LINETYPE.DOTTED||E===r.db.LINETYPE.DOTTED_CROSS||E===r.db.LINETYPE.DOTTED_POINT||E===r.db.LINETYPE.DOTTED_OPEN||E===r.db.LINETYPE.BIDIRECTIONAL_DOTTED||E===r.db.LINETYPE.SOLID_TOP_DOTTED||E===r.db.LINETYPE.SOLID_BOTTOM_DOTTED||E===r.db.LINETYPE.STICK_TOP_DOTTED||E===r.db.LINETYPE.STICK_BOTTOM_DOTTED||E===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||E===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||E===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||E===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(l.style("stroke-dasharray","3, 3"),l.attr("class","messageLine1")):l.attr("class","messageLine0"),l.attr("data-et","message"),l.attr("data-id","i"+e.id),l.attr("data-from",e.from),l.attr("data-to",e.to);let O="";if(tg.arrowMarkerAbsolute&&(O=(0,o.ID)(!0)),l.attr("stroke-width",2),l.attr("stroke","none"),l.style("fill","none"),(E===r.db.LINETYPE.SOLID_TOP||E===r.db.LINETYPE.SOLID_TOP_DOTTED)&&l.attr("marker-end","url("+O+"#"+c+"-solidTopArrowHead)"),(E===r.db.LINETYPE.SOLID_BOTTOM||E===r.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&l.attr("marker-end","url("+O+"#"+c+"-solidBottomArrowHead)"),(E===r.db.LINETYPE.STICK_TOP||E===r.db.LINETYPE.STICK_TOP_DOTTED)&&l.attr("marker-end","url("+O+"#"+c+"-stickTopArrowHead)"),(E===r.db.LINETYPE.STICK_BOTTOM||E===r.db.LINETYPE.STICK_BOTTOM_DOTTED)&&l.attr("marker-end","url("+O+"#"+c+"-stickBottomArrowHead)"),(E===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||E===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&l.attr("marker-start","url("+O+"#"+c+"-solidBottomArrowHead)"),(E===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||E===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&l.attr("marker-start","url("+O+"#"+c+"-solidTopArrowHead)"),(E===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE||E===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&l.attr("marker-start","url("+O+"#"+c+"-stickBottomArrowHead)"),(E===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||E===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&l.attr("marker-start","url("+O+"#"+c+"-stickTopArrowHead)"),(E===r.db.LINETYPE.SOLID||E===r.db.LINETYPE.DOTTED)&&l.attr("marker-end","url("+O+"#"+c+"-arrowhead)"),(E===r.db.LINETYPE.BIDIRECTIONAL_SOLID||E===r.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(l.attr("marker-start","url("+O+"#"+c+"-arrowhead)"),l.attr("marker-end","url("+O+"#"+c+"-arrowhead)")),(E===r.db.LINETYPE.SOLID_POINT||E===r.db.LINETYPE.DOTTED_POINT)&&l.attr("marker-end","url("+O+"#"+c+"-filled-head)"),(E===r.db.LINETYPE.SOLID_CROSS||E===r.db.LINETYPE.DOTTED_CROSS)&&l.attr("marker-end","url("+O+"#"+c+"-crosshead)"),u||tg.showSequenceNumbers){let s=E===r.db.LINETYPE.BIDIRECTIONAL_SOLID||E===r.db.LINETYPE.BIDIRECTIONAL_DOTTED,n=E===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||E===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||E===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||E===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||E===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE||E===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||E===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||E===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,o=tY(i,r),p=d,T=h;s?(p=d<h?d+12:d-6+(o?-5:0)+(i?.centralConnection===r.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===r.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),l.attr("x1",p)):n?(h>d?T=h-12:(T=h-6,p+=i?.centralConnection===r.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===r.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),T+=15*!!o,l.attr("x2",T),l.attr("x1",p)):l.attr("x1",d+6);let u=0,y=d===h,x=d<=h;u=y?e.fromBounds+1:n?x?e.toBounds-1:e.fromBounds+1:x?e.fromBounds+1:e.toBounds-1;let _="12px",m=g.toString().length;m>5?_="7px":m>3&&(_="9px"),t.append("line").attr("x1",u).attr("y1",a).attr("x2",u).attr("y2",a).attr("stroke-width",0).attr("marker-start","url("+O+"#"+c+"-sequencenumber)"),t.append("text").attr("x",u).attr("y",a+4).attr("font-family","sans-serif").attr("font-size",_).attr("text-anchor","middle").attr("class","sequenceNumber").text(g)}},"drawMessage"),tf=(0,l.K)(function(t,e,a,r,i,s,n){let c,l=0,d=0,h=0;for(let t of r){let r=e.get(t),s=r.box;c&&c!=s&&(n||tu.models.addBox(c),d+=tg.boxMargin+c.margin),s&&s!=c&&(n||(s.x=l+d,s.y=i),d+=s.margin),r.width=o.Y2.getMax(r.width||tg.width,tg.width),r.height=o.Y2.getMax(r.height||tg.height,tg.height),r.margin=r.margin||tg.actorMargin,h=o.Y2.getMax(h,r.height),a.get(r.name)&&(d+=r.width/2),r.x=l+d,r.starty=tu.getVerticalPos(),tu.insert(r.x,i,r.x+r.width,r.height),l+=r.width+d,r.box&&(r.box.width=l+s.margin-r.box.x),d=r.margin,c=r.box,tu.models.addActor(r)}c&&!n&&tu.models.addBox(c),tu.bumpVerticalPos(h)},"addActorRenderingData"),tR=(0,l.K)(async function(t,e,a,r,i,s,n){if(r){let r=0;for(let c of(tu.bumpVerticalPos(2*tg.boxMargin),a)){let a=e.get(c);a.stopy||(a.stopy=tu.getVerticalPos());let l=await tE.drawActor(t,a,tg,!0,i,s,n);r=o.Y2.getMax(r,l)}tu.bumpVerticalPos(r+tg.boxMargin)}else for(let r of a){let a=e.get(r);await tE.drawActor(t,a,tg,!1,i,s,n)}},"drawActors"),tL=(0,l.K)(function(t,e,a,r){let i=0,s=0;for(let n of a){let a=e.get(n),o=tM(a),c=tE.drawPopup(t,a,o,tg,tg.forceMenus,r);c.height>i&&(i=c.height),c.width+a.x>s&&(s=c.width+a.x)}return{maxHeight:i,maxWidth:s}},"drawActorsPopup"),tP=(0,l.K)(function(t){(0,o.hH)(tg,t),t.fontFamily&&(tg.actorFontFamily=tg.noteFontFamily=tg.messageFontFamily=t.fontFamily),t.fontSize&&(tg.actorFontSize=tg.noteFontSize=tg.messageFontSize=t.fontSize),t.fontWeight&&(tg.actorFontWeight=tg.noteFontWeight=tg.messageFontWeight=t.fontWeight)},"setConf"),tw=(0,l.K)(function(t){return tu.activations.filter(function(e){return e.actor===t})},"actorActivations"),tS=(0,l.K)(function(t,e){let a=e.get(t),r=tw(t);return[r.reduce(function(t,e){return o.Y2.getMin(t,e.startx)},a.x+a.width/2-1),r.reduce(function(t,e){return o.Y2.getMax(t,e.stopx)},a.x+a.width/2+1)]},"activationBounds");function tD(t,e,a,r,i){tu.bumpVerticalPos(a);let s=r;if(e.id&&e.message&&t[e.id]){let a=t[e.id].width,i=t_(tg);e.message=n._K.wrapLabel(`[${e.message}]`,a-2*tg.wrapPadding,i),e.width=a,e.wrap=!0;let l=n._K.calculateTextDimensions(e.message,i),d=o.Y2.getMax(l.height,tg.labelBoxHeight);s=r+d,c.R.debug(`${d} - ${e.message}`)}i(e),tu.bumpVerticalPos(s)}function tN(t,e,a,r,i,s,n){function o(a,r){a.x<i.get(t.from).x?(tu.insert(e.stopx-r,e.starty,e.startx,e.stopy+a.height/2+tg.noteMargin),e.stopx=e.stopx+r):(tu.insert(e.startx,e.starty,e.stopx+r,e.stopy+a.height/2+tg.noteMargin),e.stopx=e.stopx-r)}function c(a,r){a.x<i.get(t.to).x?(tu.insert(e.startx-r,e.starty,e.stopx,e.stopy+a.height/2+tg.noteMargin),e.startx=e.startx+r):(tu.insert(e.stopx,e.starty,e.startx+r,e.stopy+a.height/2+tg.noteMargin),e.startx=e.startx-r)}(0,l.K)(o,"receiverAdjustment"),(0,l.K)(c,"senderAdjustment");let d=["actor","control","entity","database"];if(s.get(t.to)==r){let e=i.get(t.to),r=d.includes(e.type)?21:e.width/2+3;o(e,r),e.starty=a-e.height/2,tu.bumpVerticalPos(e.height/2)}else if(n.get(t.from)==r){let e=i.get(t.from);if(tg.mirrorActors){let t=d.includes(e.type)?18:e.width/2;c(e,t)}e.stopy=a-e.height/2,tu.bumpVerticalPos(e.height/2)}else if(n.get(t.to)==r){let e=i.get(t.to);if(tg.mirrorActors){let t=d.includes(e.type)?21:e.width/2+3;o(e,t)}e.stopy=a-e.height/2,tu.bumpVerticalPos(e.height/2)}}(0,l.K)(tD,"adjustLoopHeightForWrap"),(0,l.K)(tN,"adjustCreatedDestroyedData");var tA=(0,l.K)(async function(t,e,a,r){let i,{securityLevel:s,sequence:n,look:h,themeVariables:p}=(0,o.D7)();tg=n,"sandbox"===s&&(i=(0,d.Ltv)("#i"+e));let T="sandbox"===s?(0,d.Ltv)(i.nodes()[0].contentDocument.body):(0,d.Ltv)("body"),E="sandbox"===s?i.nodes()[0].contentDocument:document;tu.init(),c.R.debug(r.db);let g="sandbox"===s?T.select(`[id="${e}"]`):(0,d.Ltv)(`[id="${e}"]`),u=r.db.getActors(),y=r.db.getCreatedActors(),x=r.db.getDestroyedActors(),_=r.db.getBoxes(),O=r.db.getActorKeys(),m=r.db.getMessages(),b=r.db.getDiagramTitle(),I=r.db.hasAtLeastOneBox(),f=r.db.hasAtLeastOneBoxWithTitle(),R=await tk(u,m,r);if(tg.height=await tC(u,R,_),tE.insertComputerIcon(g,e),tE.insertDatabaseIcon(g,e),tE.insertClockIcon(g,e),I&&(tu.bumpVerticalPos(tg.boxMargin),f&&tu.bumpVerticalPos(_[0].textMaxHeight)),!0===tg.hideUnusedParticipants){let t=new Set;m.forEach(e=>{t.add(e.from),t.add(e.to)}),O=O.filter(e=>t.has(e))}let L=new Map(O.map((t,e)=>[u.get(t)?.name??t,e]));tf(g,u,y,O,0,m,!1);let P=await tW(m,u,R,r);function w(t,e){let a=tu.endActivation(t);a.starty+18>e&&(a.starty=e-6,e+=12),tE.drawActivation(g,a,e,tg,tw(t.from).length,r,L),tu.insert(a.startx,e-10,a.stopx,e)}tE.insertArrowHead(g,e),tE.insertArrowCrossHead(g,e),tE.insertArrowFilledHead(g,e),tE.insertSequenceNumber(g,e),tE.insertSolidTopArrowHead(g,e),tE.insertSolidBottomArrowHead(g,e),tE.insertStickTopArrowHead(g,e),tE.insertStickBottomArrowHead(g,e),"neo"===h&&tE.insertDropShadow(g,tg,e),(0,l.K)(w,"activeEnd");let S=1,D=1,N=[],A=[],k=0;for(let t of m){let e,a,i;switch(t.type){case r.db.LINETYPE.NOTE:tu.resetVerticalPos(),a=t.noteModel,await ty(g,a,t.id);break;case r.db.LINETYPE.ACTIVE_START:case r.db.LINETYPE.CENTRAL_CONNECTION:case r.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:tu.newActivation(t,g,u);break;case r.db.LINETYPE.ACTIVE_END:w(t,tu.getVerticalPos());break;case r.db.LINETYPE.LOOP_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t));break;case r.db.LINETYPE.LOOP_END:e=tu.endLoop(),await tE.drawLoop(g,e,"loop",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;case r.db.LINETYPE.RECT_START:tD(P,t,tg.boxMargin,tg.boxMargin,t=>{let e=t.message;e||(e=p?.rectBkgColor||p?.actorBkg||"rgba(128, 128, 128, 0.5)"),tu.newLoop(void 0,e)});break;case r.db.LINETYPE.RECT_END:e=tu.endLoop(),A.push(e),tu.models.addLoop(e),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos());break;case r.db.LINETYPE.OPT_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t));break;case r.db.LINETYPE.OPT_END:e=tu.endLoop(),await tE.drawLoop(g,e,"opt",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;case r.db.LINETYPE.ALT_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t));break;case r.db.LINETYPE.ALT_ELSE:tD(P,t,tg.boxMargin+tg.boxTextMargin,tg.boxMargin,t=>tu.addSectionToLoop(t));break;case r.db.LINETYPE.ALT_END:e=tu.endLoop(),await tE.drawLoop(g,e,"alt",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t)),tu.saveVerticalPos();break;case r.db.LINETYPE.PAR_AND:tD(P,t,tg.boxMargin+tg.boxTextMargin,tg.boxMargin,t=>tu.addSectionToLoop(t));break;case r.db.LINETYPE.PAR_END:e=tu.endLoop(),await tE.drawLoop(g,e,"par",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;case r.db.LINETYPE.AUTONUMBER:S=t.message.start||S,D=t.message.step||D,t.message.visible?r.db.enableSequenceNumbers():r.db.disableSequenceNumbers();break;case r.db.LINETYPE.CRITICAL_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t));break;case r.db.LINETYPE.CRITICAL_OPTION:tD(P,t,tg.boxMargin+tg.boxTextMargin,tg.boxMargin,t=>tu.addSectionToLoop(t));break;case r.db.LINETYPE.CRITICAL_END:e=tu.endLoop(),await tE.drawLoop(g,e,"critical",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;case r.db.LINETYPE.BREAK_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t));break;case r.db.LINETYPE.BREAK_END:e=tu.endLoop(),await tE.drawLoop(g,e,"break",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;default:try{(i=t.msgModel).starty=tu.getVerticalPos(),i.sequenceIndex=S,i.sequenceVisible=r.db.showSequenceNumbers(),i.id=t.id,i.from=t.from,i.to=t.to;let e=await tb(g,i);tN(t,i,e,k,u,y,x),N.push({messageModel:i,lineStartY:e,msg:t}),tu.models.addMessage(i)}catch(t){c.R.error("error while drawing message",t)}}[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.SOLID_TOP,r.db.LINETYPE.SOLID_BOTTOM,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.SOLID_TOP_DOTTED,r.db.LINETYPE.SOLID_BOTTOM_DOTTED,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT,r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(S=Math.round((S+D)*100)/100),k++}for(let t of(c.R.debug("createdActors",y),c.R.debug("destroyedActors",x),await tR(g,u,O,!1,e,r,L),N))await tI(g,t.messageModel,t.lineStartY,r,t.msg,e);for(let t of(tg.mirrorActors&&await tR(g,u,O,!0,e,r,L),A.forEach(t=>tE.drawBackgroundRect(g,t)),v(g,u,O,tg),tu.models.boxes)){t.height=tu.getVerticalPos()-t.y,tu.insert(t.x,t.y,t.x+t.width,t.height);let e=2*tg.boxMargin;t.startx=t.x-e,t.starty=t.y-.25*e,t.stopx=t.startx+t.width+2*e,t.stopy=t.starty+t.height+.75*e,t.stroke="rgb(0,0,0, 0.5)",tE.drawBox(g,t,tg)}I&&tu.bumpVerticalPos(tg.boxMargin);let M=tL(g,u,O,E),{bounds:C}=tu.getBounds();void 0===C.startx&&(C.startx=0),void 0===C.starty&&(C.starty=0),void 0===C.stopx&&(C.stopx=0),void 0===C.stopy&&(C.stopy=0);let Y=C.stopy-C.starty;Y<M.maxHeight&&(Y=M.maxHeight);let K=Y+2*tg.diagramMarginY;tg.mirrorActors&&(K=K-tg.boxMargin+tg.bottomMarginAdj);let B=C.stopx-C.startx;B<M.maxWidth&&(B=M.maxWidth);let $=B+2*tg.diagramMarginX;b&&g.append("text").text(b).attr("x",(C.stopx-C.startx)/2-2*tg.diagramMarginX).attr("y",-25),(0,o.a$)(g,K,$,tg.useMaxWidth);let V=40*!!b,W=u.size&&"neo"===h?30:0;g.attr("viewBox",C.startx-tg.diagramMarginX+" -"+(tg.diagramMarginY+V)+" "+$+" "+(K+V+W)),c.R.debug("models:",tu.models)},"draw");async function tk(t,e,a){let r={};for(let i of e)if(t.get(i.to)&&t.get(i.from)){let e=t.get(i.to);if(i.placement===a.db.PLACEMENT.LEFTOF&&!e.prevActor||i.placement===a.db.PLACEMENT.RIGHTOF&&!e.nextActor)continue;let s=void 0!==i.placement,c=!s,l=s?tO(tg):t_(tg),d=i.wrap?n._K.wrapLabel(i.message,tg.width-2*tg.wrapPadding,l):i.message,h=((0,o.Wi)(d)?await (0,o.Dl)(i.message,(0,o.D7)()):n._K.calculateTextDimensions(d,l)).width+2*tg.wrapPadding;c&&i.from===e.nextActor?r[i.to]=o.Y2.getMax(r[i.to]||0,h):c&&i.from===e.prevActor?r[i.from]=o.Y2.getMax(r[i.from]||0,h):c&&i.from===i.to?(r[i.from]=o.Y2.getMax(r[i.from]||0,h/2),r[i.to]=o.Y2.getMax(r[i.to]||0,h/2)):i.placement===a.db.PLACEMENT.RIGHTOF?r[i.from]=o.Y2.getMax(r[i.from]||0,h):i.placement===a.db.PLACEMENT.LEFTOF?r[e.prevActor]=o.Y2.getMax(r[e.prevActor]||0,h):i.placement===a.db.PLACEMENT.OVER&&(e.prevActor&&(r[e.prevActor]=o.Y2.getMax(r[e.prevActor]||0,h/2)),e.nextActor&&(r[i.from]=o.Y2.getMax(r[i.from]||0,h/2)))}return c.R.debug("maxMessageWidthPerActor:",r),r}(0,l.K)(tk,"getMaxMessageWidthPerActor");var tM=(0,l.K)(function(t){let e=0,a=tm(tg);for(let r in t.links){let t=n._K.calculateTextDimensions(r,a).width+2*tg.wrapPadding+2*tg.boxMargin;e<t&&(e=t)}return e},"getRequiredPopupWidth");async function tC(t,e,a){let r=0;for(let e of t.keys()){let a=t.get(e);a.wrap&&(a.description=n._K.wrapLabel(a.description,tg.width-2*tg.wrapPadding,tm(tg)));let i=(0,o.Wi)(a.description)?await (0,o.Dl)(a.description,(0,o.D7)()):n._K.calculateTextDimensions(a.description,tm(tg));a.width=a.wrap?tg.width:o.Y2.getMax(tg.width,i.width+2*tg.wrapPadding),"neo"===(0,o.D7)().look?(a.actorTextHeight=i.height,a.height=o.Y2.getMax(_(i.height),tg.height)):a.height=a.wrap?o.Y2.getMax(i.height,tg.height):tg.height,r=o.Y2.getMax(r,a.height)}for(let a in e){let r=t.get(a);if(!r)continue;let i=t.get(r.nextActor);if(!i){let t=e[a]+tg.actorMargin-r.width/2;r.margin=o.Y2.getMax(t,tg.actorMargin);continue}let s=e[a]+tg.actorMargin-r.width/2-i.width/2;r.margin=o.Y2.getMax(s,tg.actorMargin)}let i=0;return a.forEach(e=>{let a=t_(tg),r=e.actorKeys.reduce((e,a)=>e+=t.get(a).width+(t.get(a).margin||0),0);r+=8*tg.boxMargin,r-=2*tg.boxTextMargin,e.wrap&&(e.name=n._K.wrapLabel(e.name,r-2*tg.wrapPadding,a));let s=n._K.calculateTextDimensions(e.name,a);i=o.Y2.getMax(s.height,i);let c=o.Y2.getMax(r,s.width+2*tg.wrapPadding);if(e.margin=tg.boxTextMargin,r<c){let t=(c-r)/2;e.margin+=t}}),a.forEach(t=>t.textMaxHeight=i),o.Y2.getMax(r,tg.height)}(0,l.K)(tC,"calculateActorMargins");var tv=(0,l.K)(async function(t,e,a){let r=e.get(t.from),i=e.get(t.to),s=r.x,l=i.x,d=t.wrap&&t.message,h=(0,o.Wi)(t.message)?await (0,o.Dl)(t.message,(0,o.D7)()):n._K.calculateTextDimensions(d?n._K.wrapLabel(t.message,tg.width,tO(tg)):t.message,tO(tg)),p={width:d?tg.width:o.Y2.getMax(tg.width,h.width+2*tg.noteMargin),height:0,startx:r.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===a.db.PLACEMENT.RIGHTOF?(p.width=d?o.Y2.getMax(tg.width,h.width):o.Y2.getMax(r.width/2+i.width/2,h.width+2*tg.noteMargin),p.startx=s+(r.width+tg.actorMargin)/2):t.placement===a.db.PLACEMENT.LEFTOF?(p.width=d?o.Y2.getMax(tg.width,h.width+2*tg.noteMargin):o.Y2.getMax(r.width/2+i.width/2,h.width+2*tg.noteMargin),p.startx=s-p.width+(r.width-tg.actorMargin)/2):t.to===t.from?(h=n._K.calculateTextDimensions(d?n._K.wrapLabel(t.message,o.Y2.getMax(tg.width,r.width),tO(tg)):t.message,tO(tg)),p.width=d?o.Y2.getMax(tg.width,r.width):o.Y2.getMax(r.width,tg.width,h.width+2*tg.noteMargin),p.startx=s+(r.width-p.width)/2):(p.width=Math.abs(s+r.width/2-(l+i.width/2))+tg.actorMargin,p.startx=s<l?s+r.width/2-tg.actorMargin/2:l+i.width/2-tg.actorMargin/2),d&&(p.message=n._K.wrapLabel(t.message,p.width-2*tg.wrapPadding,tO(tg))),c.R.debug(`NM:[${p.startx},${p.stopx},${p.starty},${p.stopy}:${p.width},${p.height}=${t.message}]`),p},"buildNoteModel"),tY=(0,l.K)(function(t,e){let{CENTRAL_CONNECTION:a,CENTRAL_CONNECTION_REVERSE:r,CENTRAL_CONNECTION_DUAL:i}=e.db.LINETYPE;return[a,r,i].includes(t.centralConnection)},"hasCentralConnection"),tK=(0,l.K)(function(t,e,a){let{CENTRAL_CONNECTION_REVERSE:r,CENTRAL_CONNECTION_DUAL:i,BIDIRECTIONAL_SOLID:s,BIDIRECTIONAL_DOTTED:n}=e.db.LINETYPE,o=0;return(t.centralConnection===r||t.centralConnection===i)&&(o+=4),(t.centralConnection===r||t.centralConnection===i)&&(t.type===s||t.type===n)&&(o+=a?0:-6),o},"calculateCentralConnectionOffset"),tB=(0,l.K)(function(t,e){let{SOLID_ARROW_TOP_REVERSE:a,SOLID_ARROW_TOP_REVERSE_DOTTED:r,SOLID_ARROW_BOTTOM_REVERSE:i,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:s,STICK_ARROW_TOP_REVERSE:n,STICK_ARROW_TOP_REVERSE_DOTTED:o,STICK_ARROW_BOTTOM_REVERSE:c,STICK_ARROW_BOTTOM_REVERSE_DOTTED:l}=e.db.LINETYPE;return[a,r,i,s,n,o,c,l].includes(t.type)},"isReverseArrowType"),t$=(0,l.K)(function(t,e){let{BIDIRECTIONAL_SOLID:a,BIDIRECTIONAL_DOTTED:r}=e.db.LINETYPE;return[a,r].includes(t.type)},"isBidirectionalArrowType"),tV=(0,l.K)(function(t,e,a){let{look:r}=(0,o.D7)();if(![a.db.LINETYPE.SOLID_OPEN,a.db.LINETYPE.DOTTED_OPEN,a.db.LINETYPE.SOLID,a.db.LINETYPE.SOLID_TOP,a.db.LINETYPE.SOLID_BOTTOM,a.db.LINETYPE.STICK_TOP,a.db.LINETYPE.STICK_BOTTOM,a.db.LINETYPE.SOLID_TOP_DOTTED,a.db.LINETYPE.SOLID_BOTTOM_DOTTED,a.db.LINETYPE.STICK_TOP_DOTTED,a.db.LINETYPE.STICK_BOTTOM_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,a.db.LINETYPE.STICK_ARROW_TOP_REVERSE,a.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.DOTTED,a.db.LINETYPE.SOLID_CROSS,a.db.LINETYPE.DOTTED_CROSS,a.db.LINETYPE.SOLID_POINT,a.db.LINETYPE.DOTTED_POINT,a.db.LINETYPE.BIDIRECTIONAL_SOLID,a.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type))return{};let[i,s]=tS(t.from,e),[c,d]=tS(t.to,e),h=i<=c,p=h?s:i,T=h?c:d;"neo"===r&&(t.type!==a.db.LINETYPE.SOLID_OPEN&&(T+=h?-3:3),(t.type===a.db.LINETYPE.BIDIRECTIONAL_SOLID||t.type===a.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(p+=h?3:-3)),p+=tK(t,a,h);let E=Math.abs(c-d)>2,g=(0,l.K)(t=>h?-t:t,"adjustValue");t.from===t.to?T=p:(t.activate&&!E&&(T+=g(tg.activationWidth/2-1)),[a.db.LINETYPE.SOLID_OPEN,a.db.LINETYPE.DOTTED_OPEN,a.db.LINETYPE.STICK_TOP,a.db.LINETYPE.STICK_BOTTOM,a.db.LINETYPE.STICK_TOP_DOTTED,a.db.LINETYPE.STICK_BOTTOM_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.STICK_ARROW_TOP_REVERSE,a.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,a.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(T+=g(3)),[a.db.LINETYPE.BIDIRECTIONAL_SOLID,a.db.LINETYPE.BIDIRECTIONAL_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(p-=g(3)));let u=[i,s,c,d],y=Math.abs(p-T);t.wrap&&t.message&&(t.message=n._K.wrapLabel(t.message,o.Y2.getMax(y+2*tg.wrapPadding,tg.width),t_(tg)));let x=n._K.calculateTextDimensions(t.message,t_(tg));return{width:o.Y2.getMax(t.wrap?0:x.width+2*tg.wrapPadding,y+2*tg.wrapPadding,tg.width),height:0,startx:p,stopx:T,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,u),toBounds:Math.max.apply(null,u)}},"buildMessageModel"),tW=(0,l.K)(async function(t,e,a,r){let i,s,n,l={},d=[];for(let a of t){switch(a.type){case r.db.LINETYPE.LOOP_START:case r.db.LINETYPE.ALT_START:case r.db.LINETYPE.OPT_START:case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:case r.db.LINETYPE.CRITICAL_START:case r.db.LINETYPE.BREAK_START:d.push({id:a.id,msg:a.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case r.db.LINETYPE.ALT_ELSE:case r.db.LINETYPE.PAR_AND:case r.db.LINETYPE.CRITICAL_OPTION:a.message&&(l[(i=d.pop()).id]=i,l[a.id]=i,d.push(i));break;case r.db.LINETYPE.LOOP_END:case r.db.LINETYPE.ALT_END:case r.db.LINETYPE.OPT_END:case r.db.LINETYPE.PAR_END:case r.db.LINETYPE.CRITICAL_END:case r.db.LINETYPE.BREAK_END:l[(i=d.pop()).id]=i;break;case r.db.LINETYPE.ACTIVE_START:{let t=e.get(a.from?a.from:a.to.actor),r=tw(a.from?a.from:a.to.actor).length,i=t.x+t.width/2+(r-1)*tg.activationWidth/2,s={startx:i,stopx:i+tg.activationWidth,actor:a.from,enabled:!0};tu.activations.push(s)}break;case r.db.LINETYPE.ACTIVE_END:{let t=tu.activations.map(t=>t.actor).lastIndexOf(a.from);tu.activations.splice(t,1).splice(0,1)}}void 0!==a.placement?(s=await tv(a,e,r),a.noteModel=s,d.forEach(t=>{(i=t).from=o.Y2.getMin(i.from,s.startx),i.to=o.Y2.getMax(i.to,s.startx+s.width),i.width=o.Y2.getMax(i.width,Math.abs(i.from-i.to))-tg.labelBoxWidth})):(n=tV(a,e,r),a.msgModel=n,n.startx&&n.stopx&&d.length>0&&d.forEach(t=>{if(i=t,n.startx===n.stopx){let t=e.get(a.from),r=e.get(a.to);i.from=o.Y2.getMin(t.x-n.width/2,t.x-t.width/2,i.from),i.to=o.Y2.getMax(r.x+n.width/2,r.x+t.width/2,i.to),i.width=o.Y2.getMax(i.width,Math.abs(i.to-i.from))-tg.labelBoxWidth}else i.from=o.Y2.getMin(n.startx,i.from),i.to=o.Y2.getMax(n.stopx,i.to),i.width=o.Y2.getMax(i.width,n.width)-tg.labelBoxWidth}))}return tu.activations=[],c.R.debug("Loop type widths:",l),l},"calculateLoopBounds"),tF={parser:p,get db(){return new u},renderer:{bounds:tu,drawActors:tR,drawActorsPopup:tL,setConf:tP,draw:tA},styles:y,init:(0,l.K)(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,(0,o.XV)({sequence:{wrap:t.wrap}}))},"init")}}}]); \ No newline at end of file diff --git a/assets/js/4709.1ea5418e.js b/assets/js/4709.1ea5418e.js new file mode 100644 index 0000000..5d22c81 --- /dev/null +++ b/assets/js/4709.1ea5418e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4709"],{6871(e,r,a){a.d(r,{diagram:()=>m});var t=a(1578),l=a(7454);a(4924),a(1177);var n=a(1293),s=a(6827),i=a(8731),p=(0,i.lz)().Railroad.parser.LangiumParser,o=(0,s.K)(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{let r=e.elements.map(o);return 1===r.length?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{let r=e.alternatives.map(o);return 1===r.length?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:o(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:o(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),d=(0,s.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),u=(0,s.K)(e=>{(0,l.S)(e,t.db),e.title&&t.db.setTitle(e.title),e.rules.map(e=>t.db.addRule(d(e)))},"populateDb"),m={parser:{parse:(0,s.K)(e=>{t.db.clear(),n.R.debug("[Railroad Parser] Starting Langium parse");let r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new i.zg(r);let a=r.value;n.R.debug("[Railroad Parser] Parsed rules:",a.rules.length),u(a),n.R.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t.db}},db:t.db,renderer:t.U,styles:t.$}}}]); \ No newline at end of file diff --git a/assets/js/4788.eef239cb.js b/assets/js/4788.eef239cb.js new file mode 100644 index 0000000..da30b16 --- /dev/null +++ b/assets/js/4788.eef239cb.js @@ -0,0 +1,41 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4788"],{7454(t,e,a){function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(6827).K)(r,"populateCommonDb")},5487(t,e,a){a.d(e,{diagram:()=>R});var r=a(7454),i=a(4924),l=a(6348),n=a(1177),s=a(1293),o=a(6827),c=a(8731),d={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},g={axes:[],curves:[],options:d},u=structuredClone(g),p=n.UI.radar,x=(0,o.K)(()=>(0,l.$t)({...p,...(0,n.zj)().radar}),"getConfig"),h=(0,o.K)(()=>u.axes,"getAxes"),m=(0,o.K)(()=>u.curves,"getCurves"),$=(0,o.K)(()=>u.options,"getOptions"),f=(0,o.K)(t=>{u.axes=t.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),y=(0,o.K)(t=>{u.curves=t.map(t=>({name:t.name,label:t.label??t.name,entries:v(t.entries)}))},"setCurves"),v=(0,o.K)(t=>{if(void 0==t[0].axis)return t.map(t=>t.value);let e=h();if(0===e.length)throw Error("Axes must be populated before curves for reference entries");return e.map(e=>{let a=t.find(t=>t.axis?.$refText===e.name);if(void 0===a)throw Error("Missing entry for axis "+e.label);return a.value})},"computeCurveEntries"),w={getAxes:h,getCurves:m,getOptions:$,setAxes:f,setCurves:y,setOptions:(0,o.K)(t=>{let e=t.reduce((t,e)=>(t[e.name]=e,t),{});u.options={showLegend:e.showLegend?.value??d.showLegend,ticks:e.ticks?.value??d.ticks,max:e.max?.value??d.max,min:e.min?.value??d.min,graticule:e.graticule?.value??d.graticule},u.options.ticks>32&&(s.R.warn(`Radar diagram ticks (${u.options.ticks}) exceeds maximum allowed (32). Using 32 instead.`),u.options.ticks=32)},"setOptions"),getConfig:x,clear:(0,o.K)(()=>{(0,n.IU)(),u=structuredClone(g)},"clear"),setAccTitle:n.SV,getAccTitle:n.iN,setDiagramTitle:n.ke,getDiagramTitle:n.ab,getAccDescription:n.m7,setAccDescription:n.EI},b=(0,o.K)(t=>{(0,r.S)(t,w);let{axes:e,curves:a,options:i}=t;w.setAxes(e),w.setCurves(a),w.setOptions(i)},"populate"),C={parse:(0,o.K)(async t=>{let e=await (0,c.qg)("radar",t);s.R.debug(e),b(e)},"parse")},k=(0,o.K)((t,e,a,r)=>{let l=r.db,n=l.getAxes(),s=l.getCurves(),o=l.getOptions(),c=l.getConfig(),d=l.getDiagramTitle(),g=K((0,i.D)(e),c),u=o.max??Math.max(...s.map(t=>Math.max(...t.entries))),p=o.min,x=Math.min(c.width,c.height)/2;M(g,n,x,o.ticks,o.graticule),L(g,n,x,c),T(g,n,s,p,u,o.graticule,c),I(g,s,o.showLegend,c),g.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),K=(0,o.K)((t,e)=>{let a=e.width+e.marginLeft+e.marginRight,r=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return(0,n.a$)(t,r,a,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${a} ${r}`).attr("overflow","visible"),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),M=(0,o.K)((t,e,a,r,i)=>{if("circle"===i)for(let e=0;e<r;e++){let i=a*(e+1)/r;t.append("circle").attr("r",i).attr("class","radarGraticule")}else if("polygon"===i){let i=e.length;for(let l=0;l<r;l++){let n=a*(l+1)/r,s=e.map((t,e)=>{let a=2*e*Math.PI/i-Math.PI/2,r=n*Math.cos(a),l=n*Math.sin(a);return`${r},${l}`}).join(" ");t.append("polygon").attr("points",s).attr("class","radarGraticule")}}},"drawGraticule"),L=(0,o.K)((t,e,a,r)=>{let i=e.length;for(let l=0;l<i;l++){let n=e[l].label,s=2*l*Math.PI/i-Math.PI/2,o=Math.cos(s),c=Math.sin(s);t.append("line").attr("x1",0).attr("y1",0).attr("x2",a*r.axisScaleFactor*o).attr("y2",a*r.axisScaleFactor*c).attr("class","radarAxisLine");let d=o>.01?"start":o<-.01?"end":"middle",g=c>.01?"hanging":c<-.01?"auto":"central";t.append("text").text(n).attr("x",a*r.axisLabelFactor*o+4*o).attr("y",a*r.axisLabelFactor*c+4*c).attr("text-anchor",d).attr("dominant-baseline",g).attr("class","radarAxisLabel")}},"drawAxes");function T(t,e,a,r,i,l,n){let s=e.length,o=Math.min(n.width,n.height)/2;a.forEach((e,a)=>{if(e.entries.length!==s)return;let c=e.entries.map((t,e)=>{let a=2*Math.PI*e/s-Math.PI/2,l=A(t,r,i,o);return{x:l*Math.cos(a),y:l*Math.sin(a)}});"circle"===l?t.append("path").attr("d",S(c,n.curveTension)).attr("class",`radarCurve-${a}`):"polygon"===l&&t.append("polygon").attr("points",c.map(t=>`${t.x},${t.y}`).join(" ")).attr("class",`radarCurve-${a}`)})}function A(t,e,a,r){return r*(Math.min(Math.max(t,e),a)-e)/(a-e)}function S(t,e){let a=t.length,r=`M${t[0].x},${t[0].y}`;for(let i=0;i<a;i++){let l=t[(i-1+a)%a],n=t[i],s=t[(i+1)%a],o=t[(i+2)%a],c={x:n.x+(s.x-l.x)*e,y:n.y+(s.y-l.y)*e},d={x:s.x-(o.x-n.x)*e,y:s.y-(o.y-n.y)*e};r+=` C${c.x},${c.y} ${d.x},${d.y} ${s.x},${s.y}`}return`${r} Z`}function I(t,e,a,r){if(!a)return;let i=(r.width/2+r.marginRight)*3/4,l=-(3*(r.height/2+r.marginTop))/4;e.forEach((e,a)=>{let r=t.append("g").attr("transform",`translate(${i}, ${l+20*a})`);r.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${a}`),r.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}(0,o.K)(T,"drawCurves"),(0,o.K)(A,"relativeRadius"),(0,o.K)(S,"closedRoundCurve"),(0,o.K)(I,"drawLegend");var D=(0,o.K)((t,e)=>{let a="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++){let i=t[`cScale${r}`];a+=` + .radarCurve-${r} { + color: ${i}; + fill: ${i}; + fill-opacity: ${e.curveOpacity}; + stroke: ${i}; + stroke-width: ${e.curveStrokeWidth}; + } + .radarLegendBox-${r} { + fill: ${i}; + fill-opacity: ${e.curveOpacity}; + stroke: ${i}; + } + `}return a},"genIndexStyles"),O=(0,o.K)(t=>{let e=(0,n.P$)(),a=(0,n.zj)(),r=(0,l.$t)(e,a.themeVariables),i=(0,l.$t)(r.radar,t);return{themeVariables:r,radarOptions:i}},"buildRadarStyleOptions"),R={parser:C,db:w,renderer:{draw:k},styles:(0,o.K)(({radar:t}={})=>{let{themeVariables:e,radarOptions:a}=O(t);return` + .radarTitle { + font-size: ${e.fontSize}; + color: ${e.titleColor}; + dominant-baseline: hanging; + text-anchor: middle; + } + .radarAxisLine { + stroke: ${a.axisColor}; + stroke-width: ${a.axisStrokeWidth}; + } + .radarAxisLabel { + font-size: ${a.axisLabelFontSize}px; + color: ${a.axisColor}; + } + .radarGraticule { + fill: ${a.graticuleColor}; + fill-opacity: ${a.graticuleOpacity}; + stroke: ${a.graticuleColor}; + stroke-width: ${a.graticuleStrokeWidth}; + } + .radarLegendText { + text-anchor: start; + font-size: ${a.legendFontSize}px; + dominant-baseline: hanging; + } + ${D(e,a)} + `},"styles")}}}]); \ No newline at end of file diff --git a/assets/js/480.1eb9a3a7.js b/assets/js/480.1eb9a3a7.js new file mode 100644 index 0000000..34fec64 --- /dev/null +++ b/assets/js/480.1eb9a3a7.js @@ -0,0 +1,62 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["480"],{7454(t,e,a){function n(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>n}),(0,a(6827).K)(n,"populateCommonDb")},7475(t,e,a){a.d(e,{diagram:()=>B});var n=a(7454),r=a(4924),i=a(6348),o=a(1177),l=a(1293),c=a(6827),s=a(8731),d=(0,c.K)(()=>({domains:new Map,transitions:[]}),"createDefaultData"),f=d(),p=(0,c.K)(()=>f.domains,"getDomains"),y={getDomains:p,getTransitions:(0,c.K)(()=>f.transitions,"getTransitions"),setDomains:(0,c.K)(t=>{if(t)for(let e of t){let t=e.domain,a=(e.items??[]).map(t=>({label:t.label}));f.domains.set(t,{name:t,items:a})}},"setDomains"),setTransitions:(0,c.K)(t=>{t&&(f.transitions=t.filter(t=>t.from!==t.to||(l.R.warn(`Cynefin: self-loop transition on domain "${t.from}" is not meaningful and will be skipped.`),!1)).map(t=>({from:t.from,to:t.to,label:t.label||void 0})))},"setTransitions"),getConfig:(0,c.K)(()=>(0,i.$t)({...o.UI.cynefin,...(0,o.zj)().cynefin}),"getConfig"),clear:(0,c.K)(()=>{(0,o.IU)(),f=d()},"clear"),setAccTitle:o.SV,getAccTitle:o.iN,setDiagramTitle:o.ke,getDiagramTitle:o.ab,getAccDescription:o.m7,setAccDescription:o.EI},m=(0,c.K)(t=>{(0,n.S)(t,y),y.setDomains(t.domains),y.setTransitions(t.transitions)},"populate"),x={parse:(0,c.K)(async t=>{let e=await (0,s.qg)("cynefin",t);l.R.debug(e),m(e)},"parse")};function h(t){let e=t+0x6d2b79f5|0;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000}function $(t){let e=0;for(let a=0;a<t.length;a++)e=(e<<5)-e+t.charCodeAt(a)|0;return e}function g(t,e){return"number"==typeof t&&Number.isFinite(t)&&0!==t?t:$(e)}function u(t,e,a,n){let r=t/2,i=n??.015*t,o=e/7,l=[];for(let t=0;t<=7;t++){let e=h(a+17*t)*i*2-i;l.push({x:r+e,y:t*o})}let c=`M${l[0].x},${l[0].y}`;for(let t=0;t<l.length-1;t++){let e=l[t],n=l[t+1],r=(e.y+n.y)/2,o=1.5*i*(t%2==0?1:-1)*h(a+31*t+7),s=e.x+o,d=n.x-o;c+=` C${s},${r} ${d},${r} ${n.x},${n.y}`}return c}function b(t,e,a,n){let r=e/2,i=n??.015*e,o=t/7,l=[];for(let t=0;t<=7;t++){let e=h(a+23*t)*i*2-i;l.push({x:t*o,y:r+e})}let c=`M${l[0].x},${l[0].y}`;for(let t=0;t<l.length-1;t++){let e=l[t],n=l[t+1],r=(e.x+n.x)/2,o=1.5*i*(t%2==0?1:-1)*h(a+37*t+11),s=e.y+o,d=n.y-o;c+=` C${r},${s} ${r},${d} ${n.x},${n.y}`}return c}function w(t,e){let a=t/2,n=.5*e,r=.03*t;return`M${a},${n} C${a+r},${n+(e-n)*.2} ${a-1.5*r},${n+(e-n)*.55} ${a+.5*r},${n+(e-n)*.75} C${a-r},${n+(e-n)*.85} ${a+.3*r},${n+(e-n)*.95} ${a},${e}`}function C(t,e,a,n){return`M${t-a},${e} A${a},${n} 0 1,1 ${t+a},${e} A${a},${n} 0 1,1 ${t-a},${e} Z`}(0,c.K)(h,"seededRandom"),(0,c.K)($,"hashString"),(0,c.K)(g,"resolveSeed"),(0,c.K)(u,"generateFoldPath"),(0,c.K)(b,"generateHorizontalBoundary"),(0,c.K)(w,"generateCliffPath"),(0,c.K)(C,"generateConfusionPath");var k={complex:{model:"Probe \u2192 Sense \u2192 Respond",practice:"Emergent Practices"},complicated:{model:"Sense \u2192 Analyse \u2192 Respond",practice:"Good Practices"},clear:{model:"Sense \u2192 Categorise \u2192 Respond",practice:"Best Practices"},chaotic:{model:"Act \u2192 Sense \u2192 Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},D=(0,c.K)((t,e)=>{let a=t/2,n=e/2;return{complex:{cx:a/2,cy:n/2,x:0,y:0,w:a,h:n},complicated:{cx:a+a/2,cy:n/2,x:a,y:0,w:a,h:n},chaotic:{cx:a/2,cy:n+n/2,x:0,y:n,w:a,h:n},clear:{cx:a+a/2,cy:n+n/2,x:a,y:n,w:a,h:n},confusion:{cx:a,cy:n,x:.7*a,y:.7*n,w:.6*a,h:.6*n}}},"getDomainLayouts"),K=(0,c.K)(()=>{let t=(0,o.P$)(),e=(0,o.zj)();return(0,i.$t)(t,e.themeVariables).cynefin},"getCynefinDomainColors"),T=(0,c.K)((t,e,a,n)=>{let i=n.db,c=i.getDomains(),s=i.getTransitions(),d=i.getDiagramTitle(),f=i.getAccTitle(),p=i.getAccDescription(),y=i.getConfig(),m=K();l.R.debug("Rendering Cynefin diagram");let x=y.width,h=y.height,$=y.padding,T=y.showDomainDescriptions,A=y.boundaryAmplitude,B=x+2*$,S=h+2*$,z={complex:m.complexBg,complicated:m.complicatedBg,clear:m.clearBg,chaotic:m.chaoticBg,confusion:m.confusionBg},v=(0,r.D)(e);(0,o.a$)(v,S,B,y.useMaxWidth??!0),v.attr("viewBox",`0 0 ${B} ${S}`),f&&v.append("title").text(f),p&&v.append("desc").text(p);let M=v.append("g").attr("transform",`translate(${$}, ${$})`),I=D(x,h),L=g(y.seed,e),P=M.append("g").attr("class","cynefin-backgrounds"),R=["complex","complicated","chaotic","clear"];for(let t of R){let e=I[t];P.append("rect").attr("class","cynefinDomain").attr("x",e.x).attr("y",e.y).attr("width",e.w).attr("height",e.h).attr("fill",z[t]).attr("fill-opacity",.4).attr("stroke","none")}let F=M.append("g").attr("class","cynefin-boundaries");F.append("path").attr("class","cynefinBoundary").attr("d",u(x,h,L,A)).attr("fill","none"),F.append("path").attr("class","cynefinBoundary").attr("d",b(x,h,L+100,A)).attr("fill","none"),F.append("path").attr("class","cynefinCliff").attr("d",w(x,h)).attr("fill","none");let W=.15*x,q=.15*h;M.append("path").attr("class","cynefinConfusion").attr("d",C(x/2,h/2,W,q)).attr("fill",z.confusion).attr("fill-opacity",.5);let E=M.append("g").attr("class","cynefin-labels");for(let t of R){let e=I[t];E.append("text").attr("class","cynefinDomainLabel").attr("x",e.cx).attr("y",T?e.cy-30:e.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(t.charAt(0).toUpperCase()+t.slice(1))}if(E.append("text").attr("class","cynefinDomainLabel").attr("x",x/2).attr("y",T?h/2-10:h/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),T){let t=M.append("g").attr("class","cynefin-subtitles");for(let e of R){let a=I[e],n=k[e];t.append("text").attr("class","cynefinSubtitle").attr("x",a.cx).attr("y",a.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n.model),t.append("text").attr("class","cynefinSubtitle").attr("x",a.cx).attr("y",a.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n.practice)}t.append("text").attr("class","cynefinSubtitle").attr("x",x/2).attr("y",h/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(k.confusion.practice)}let H=M.append("g").attr("class","cynefin-items");for(let t of["complex","complicated","chaotic","clear","confusion"]){let e,a=c.get(t);if(!a||0===a.items.length)continue;let n=I[t],r="confusion"===t,i=a.items,o=0;if(r&&a.items.length>3&&(o=a.items.length-3,i=a.items.slice(0,3)),r){let t=T?22:14;e=n.cy+t}else e=n.cy+(T?25:15);if([...i].forEach((a,r)=>{let i=e+30*r,o=H.append("g"),l=o.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(a.label),c=7*a.label.length,s=l.node();if(s&&"function"==typeof s.getBBox){let t=s.getBBox();t.width>0&&(c=t.width)}let d=c+20,f=n.cx-d/2;o.attr("transform",`translate(${f}, ${i})`),o.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",d).attr("height",26).attr("rx",4).attr("ry",4).attr("fill",z[t]).attr("fill-opacity",.95),l.attr("x",d/2).attr("y",13)}),o>0){let a=e+30*i.length,r=`+${o} more`,l=H.append("g"),c=l.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(r),s=7*r.length,d=c.node();if(d&&"function"==typeof d.getBBox){let t=d.getBBox();t.width>0&&(s=t.width)}let f=s+20,p=n.cx-f/2;l.attr("transform",`translate(${p}, ${a})`),l.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",f).attr("height",26).attr("rx",4).attr("ry",4).attr("fill",z[t]).attr("fill-opacity",.6),c.attr("x",f/2).attr("y",13)}}if(s.length>0){let t=v.select("defs").empty()?v.append("defs"):v.select("defs"),a=`cynefin-arrow-${e}`;t.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");let n=M.append("g").attr("class","cynefin-arrows");s.forEach(t=>{let e=I[t.from],r=I[t.to];if(!e||!r)return;if(t.from===t.to)return void l.R.warn(`Cynefin renderer: skipping self-loop on domain "${t.from}"`);let i=e.cx,o=e.cy,c=r.cx,s=r.cy,d=c-i,f=s-o,p=Math.sqrt(d*d+f*f),y=.15*p,m=(i+c)/2+-f/p*y,x=(o+s)/2+d/p*y;n.append("path").attr("class","cynefinArrowLine").attr("d",`M${i},${o} Q${m},${x} ${c},${s}`).attr("fill","none").attr("marker-end",`url(#${a})`),t.label&&n.append("text").attr("class","cynefinArrowLabel").attr("x",m).attr("y",x-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(t.label)})}d&&M.append("text").attr("class","cynefinTitle").attr("x",x/2).attr("y",-$/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d)},"draw"),A=(0,c.K)(()=>{let t=(0,o.P$)(),e=(0,o.zj)();return(0,i.$t)(t,e.themeVariables).cynefin},"getCynefinTheme"),B={parser:x,db:y,renderer:{draw:T},styles:(0,c.K)(()=>{let t=A();return` + .cynefinDomain { + stroke: none; + } + .cynefinDomainLabel { + font-size: ${t.domainFontSize}px; + font-weight: bold; + fill: ${t.labelColor}; + } + .cynefinSubtitle { + font-size: ${t.itemFontSize-1}px; + fill: ${t.textColor}; + font-style: italic; + } + .cynefinItem { + fill-opacity: 0.95; + stroke: ${t.boundaryColor}; + stroke-width: 1; + } + .cynefinItemText { + font-size: ${t.itemFontSize}px; + fill: ${t.textColor}; + } + .cynefinItemOverflow { + fill-opacity: 0.6; + stroke: ${t.boundaryColor}; + stroke-width: 1; + stroke-dasharray: 3 2; + } + .cynefinBoundary { + stroke: ${t.boundaryColor}; + stroke-width: ${t.boundaryWidth}; + stroke-dasharray: 6 3; + } + .cynefinCliff { + stroke: ${t.cliffColor}; + stroke-width: ${t.cliffWidth}; + } + .cynefinConfusion { + stroke: ${t.boundaryColor}; + stroke-width: 1.5; + stroke-dasharray: 4 2; + } + .cynefinArrowLine { + stroke: ${t.arrowColor}; + stroke-width: ${t.arrowWidth}; + fill: none; + } + .cynefinArrowHead { + fill: ${t.arrowColor}; + stroke: none; + } + .cynefinArrowLabel { + font-size: ${t.itemFontSize-1}px; + fill: ${t.textColor}; + } + .cynefinTitle { + font-size: ${t.domainFontSize+2}px; + font-weight: bold; + fill: ${t.labelColor}; + } + `},"styles")}}}]); \ No newline at end of file diff --git a/assets/js/4875.484cb0fc.js b/assets/js/4875.484cb0fc.js new file mode 100644 index 0000000..2065381 --- /dev/null +++ b/assets/js/4875.484cb0fc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4875"],{1238(t,i,e){e.d(i,{diagram:()=>tn});var s,a=e(4924),n=e(6320);e(2217);var h=e(6348),o=e(1177),r=e(1293),l=e(6827),c=e(7829),g=function(){var t=(0,l.K)(function(t,i,e,s){for(e=e||{},s=t.length;s--;e[t[s]]=i);return e},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],a=[1,5],n=[1,6],h=[1,7],o=[1,5,10,12,14,16,18,19,21,23,36,37,38],r=[1,25],c=[1,26],g=[1,28],u=[1,29],x=[1,30],d=[1,31],p=[1,32],f=[1,33],m=[1,34],y=[1,35],b=[1,36],w=[1,37],A=[1,43],C=[1,42],S=[1,47],k=[1,50],R=[1,10,12,14,16,18,19,21,23,36,37,38],_=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],T=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],D=[1,65],L=[26,28],P={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$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",28:"COMMA",29:"NUMBER_WITH_DECIMAL",30:"STR",33:"ARROW_DELIMITER",36:"NEWLINE",37:"SEMI",38:"EOF",40:"MD_STR",42:"AMP",43:"NUM",44:"ALPHA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"MINUS",51:"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],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:(0,l.K)(function(t,i,e,s,a,n,h){var o=n.length-1;switch(a){case 5:s.setOrientation(n[o]);break;case 9:s.setDiagramTitle(n[o].text.trim());break;case 12:s.setLineData({text:"",type:"text"},n[o]);break;case 13:s.setLineData(n[o-1],n[o]);break;case 14:s.setBarData({text:"",type:"text"},n[o]);break;case 15:s.setBarData(n[o-1],n[o]);break;case 16:this.$=n[o].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=n[o].trim(),s.setAccDescription(this.$);break;case 19:case 29:this.$=n[o-1];break;case 20:case 30:this.$=[n[o-2],...n[o]];break;case 21:case 31:this.$=[n[o]];break;case 22:this.$={value:Number(n[o-1]),label:n[o]};break;case 23:this.$={value:Number(n[o]),label:""};break;case 24:s.setXAxisTitle(n[o]);break;case 25:s.setXAxisTitle(n[o-1]);break;case 26:s.setXAxisTitle({type:"text",text:""});break;case 27:s.setXAxisBand(n[o]);break;case 28:s.setXAxisRangeData(Number(n[o-2]),Number(n[o]));break;case 32:s.setYAxisTitle(n[o]);break;case 33:s.setYAxisTitle(n[o-1]);break;case 34:s.setYAxisTitle({type:"text",text:""});break;case 35:s.setYAxisRangeData(Number(n[o-2]),Number(n[o]));break;case 39:case 40:this.$={text:n[o],type:"text"};break;case 41:this.$={text:n[o],type:"markdown"};break;case 42:this.$=n[o];break;case 43:this.$=n[o-1]+""+n[o]}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,36:a,37:n,38:h}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,36:a,37:n,38:h}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],36:a,37:n,38:h}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,36]),t(o,[2,37]),t(o,[2,38]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,36:a,37:n,38:h}),{1:[2,3]},t(o,[2,5]),t(i,[2,7],{4:22,36:a,37:n,38:h}),{11:23,30:r,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},{11:39,13:38,24:A,29:C,30:r,31:40,32:41,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},{11:45,15:44,29:S,30:r,35:46,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},{11:49,17:48,24:k,30:r,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},{11:52,17:51,24:k,30:r,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},{20:[1,53]},{22:[1,54]},t(R,[2,18]),{1:[2,2]},t(R,[2,8]),t(R,[2,9]),t(_,[2,39],{41:55,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w}),t(_,[2,40]),t(_,[2,41]),t(T,[2,42]),t(T,[2,44]),t(T,[2,45]),t(T,[2,46]),t(T,[2,47]),t(T,[2,48]),t(T,[2,49]),t(T,[2,50]),t(T,[2,51]),t(T,[2,52]),t(T,[2,53]),t(R,[2,10]),t(R,[2,24],{32:41,31:56,24:A,29:C}),t(R,[2,26]),t(R,[2,27]),{33:[1,57]},{11:59,30:r,34:58,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},t(R,[2,11]),t(R,[2,32],{35:60,29:S}),t(R,[2,34]),{33:[1,61]},t(R,[2,12]),{17:62,24:k},{25:63,27:64,29:D},t(R,[2,14]),{17:66,24:k},t(R,[2,16]),t(R,[2,17]),t(T,[2,43]),t(R,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},t(R,[2,33]),{29:[1,70]},t(R,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},t(L,[2,23],{30:[1,73]}),t(R,[2,15]),t(R,[2,28]),t(R,[2,29]),{11:59,30:r,34:74,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},t(R,[2,35]),t(R,[2,19]),{25:75,27:64,29:D},t(L,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:(0,l.K)(function(t,i){if(i.recoverable)this.trace(t);else{var e=Error(t);throw e.hash=i,e}},"parseError"),parse:(0,l.K)(function(t){var i=this,e=[0],s=[],a=[null],n=[],h=this.table,o="",r=0,c=0,g=0,u=n.slice.call(arguments,1),x=Object.create(this.lexer),d={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d[p]=this.yy[p]);x.setInput(t,d),d.lexer=x,d.parser=this,void 0===x.yylloc&&(x.yylloc={});var f=x.yylloc;n.push(f);var m=x.options&&x.options.ranges;function y(){var t;return"number"!=typeof(t=s.pop()||x.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=i.symbols_[t]||t),t}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){e.length=e.length-2*t,a.length=a.length-t,n.length=n.length-t},"popStack"),(0,l.K)(y,"lex");for(var b,w,A,C,S,k,R,_,T,D={};;){if(A=e[e.length-1],this.defaultActions[A]?C=this.defaultActions[A]:(null==b&&(b=y()),C=h[A]&&h[A][b]),void 0===C||!C.length||!C[0]){var L="";for(k in T=[],h[A])this.terminals_[k]&&k>2&&T.push("'"+this.terminals_[k]+"'");L=x.showPosition?"Parse error on line "+(r+1)+":\n"+x.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(r+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(L,{text:x.match,token:this.terminals_[b]||b,line:x.yylineno,loc:f,expected:T})}if(C[0]instanceof Array&&C.length>1)throw Error("Parse Error: multiple actions possible at state: "+A+", token: "+b);switch(C[0]){case 1:e.push(b),a.push(x.yytext),n.push(x.yylloc),e.push(C[1]),b=null,w?(b=w,w=null):(c=x.yyleng,o=x.yytext,r=x.yylineno,f=x.yylloc,g>0&&g--);break;case 2:if(R=this.productions_[C[1]][1],D.$=a[a.length-R],D._$={first_line:n[n.length-(R||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(R||1)].first_column,last_column:n[n.length-1].last_column},m&&(D._$.range=[n[n.length-(R||1)].range[0],n[n.length-1].range[1]]),void 0!==(S=this.performAction.apply(D,[o,c,r,d,C[1],a,n].concat(u))))return S;R&&(e=e.slice(0,-1*R*2),a=a.slice(0,-1*R),n=n.slice(0,-1*R)),e.push(this.productions_[C[1]][0]),a.push(D.$),n.push(D._$),_=h[e[e.length-2]][e[e.length-1]],e.push(_);break;case 3:return!0}}return!0},"parse")};function v(){this.yy={}}return P.lexer={EOF:1,parseError:(0,l.K)(function(t,i){if(this.yy.parser)this.yy.parser.parseError(t,i);else throw Error(t)},"parseError"),setInput:(0,l.K)(function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var i=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var s=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===s.length?this.yylloc.first_column:0)+s[s.length-e.length].length-e[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),i=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"},"showPosition"),test_match:(0,l.K)(function(t,i){var e,s,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))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack)for(var n in a)this[n]=a[n];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,i,e,s,a=this._currentRules(),n=0;n<a.length;n++)if((e=this._input.match(this.rules[a[n]]))&&(!i||e[0].length>i[0].length)){if(i=e,s=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,a[n])))return t;if(!this._backtrack)return!1;i=!1;continue}if(!this.options.flex)break}return i?!1!==(t=this.test_match(i,a[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,i,e,s){switch(e){case 0:case 1:case 5:case 44:break;case 2:case 3:return this.popState(),36;case 4:return 36;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:case 26:case 28:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 33;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 29;case 25:return this.popState(),26;case 27:this.pushState("string");break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 44;case 33:return"COLON";case 34:return 45;case 35:return 28;case 36:return 46;case 37:return 47;case 38:return 49;case 39:return 51;case 40:return 48;case 41:return 42;case 42:return 50;case 43:return 43;case 45:return 37;case 46:return 38}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}},(0,l.K)(v,"Parser"),v.prototype=P,P.Parser=v,new v}();function u(t){return"bar"===t.type}function x(t){return"band"===t.type}function d(t){return"linear"===t.type}g.parser=g,(0,l.K)(u,"isBarPlot"),(0,l.K)(x,"isBandAxisData"),(0,l.K)(d,"isLinearAxisData");var p=class{constructor(t){this.parentGroup=t}static{(0,l.K)(this,"TextDimensionCalculatorWithFont")}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((t,i)=>Math.max(i.length,t),0)*i,height:i};let e={width:0,height:0},s=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(let a of t){let t=(0,n.W6)(s,1,a),h=t?t.width:a.length*i,o=t?t.height:i;e.width=Math.max(e.width,h),e.height=Math.max(e.height,o)}return s.remove(),e}},f=class{constructor(t,i,e,s){this.axisConfig=t,this.title=i,this.textDimensionCalculator=e,this.axisThemeConfig=s,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.normalizedLabelRotationInRad=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.normalizedLabelRotationInRad=this.axisConfig.labelRotation>=-90&&this.axisConfig.labelRotation<=90?this.axisConfig.labelRotation*Math.PI/180:0}static{(0,l.K)(this,"BaseAxis")}setRange(t){this.range=t,"left"===this.axisPosition||"right"===this.axisPosition?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){let t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>2*this.outerPadding&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),s=.2*t.width;this.outerPadding=Math.min(e.width/2,s);let a=e.height;"bottom"===this.axisPosition&&0!==this.normalizedLabelRotationInRad&&(a=Math.max(a,Math.abs(Math.sin(this.normalizedLabelRotationInRad)*e.width)+Math.abs(Math.cos(this.normalizedLabelRotationInRad)*e.height))),a+=2*this.axisConfig.labelPadding,this.labelTextHeight=e.height,a<=i&&(i-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),s=.2*t.height;this.outerPadding=Math.min(e.height/2,s);let a=e.width+2*this.axisConfig.labelPadding;a<=i&&(i-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return"left"===this.axisPosition||"right"===this.axisPosition?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateOffsetByRotation(t){let i=this.normalizedLabelRotationInRad;return 0===i?0:Math.sin(i)*this.getLabelDimension()[t]/2}getDrawableElementsForLeftAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(t=>({text:t.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(t),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${i},${this.getScaleValue(t)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(t)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.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"}]}),t}getDrawableElementsForBottomAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.getScaleValue(t)+this.calculateOffsetByRotation("height"),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0)+Math.abs(this.calculateOffsetByRotation("width")),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:180*this.normalizedLabelRotationInRad/Math.PI,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${this.getScaleValue(t)},${i} L ${this.getScaleValue(t)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.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"}]}),t}getDrawableElementsForTopAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+2*this.axisConfig.titlePadding:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${this.getScaleValue(t)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(t)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.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"}]}),t}getDrawableElements(){if("left"===this.axisPosition)return this.getDrawableElementsForLeftAxis();if("right"===this.axisPosition)throw Error("Drawing of right axis is not implemented");return"bottom"===this.axisPosition?this.getDrawableElementsForBottomAxis():"top"===this.axisPosition?this.getDrawableElementsForTopAxis():[]}},m=class extends f{static{(0,l.K)(this,"BandAxis")}constructor(t,i,e,s,a){super(t,s,a,i),this.categories=e,this.scale=(0,c.WH)().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=(0,c.WH)().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),r.R.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},y=class extends f{static{(0,l.K)(this,"LinearAxis")}constructor(t,i,e,s,a){super(t,s,a,i),this.domain=e,this.scale=(0,c.m4Y)().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=(0,c.m4Y)().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}};function b(t,i,e,s){let a=new p(s);return x(t)?new m(i,e,t.categories,t.title,a):new y(i,e,[t.min,t.max],t.title,a)}(0,l.K)(b,"getAxis");var w=class{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{(0,l.K)(this,"ChartTitle")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){let i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),e=Math.max(i.width,t.width),s=i.height+2*this.chartConfig.titlePadding;return i.width<=e&&i.height<=s&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=e,this.boundingRect.height=s,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let t=[];return this.showChartTitle&&t.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}]}),t}};function A(t,i,e,s){return new w(new p(s),t,i,e)}function C(t){return{fontSize:t,markerSize:.75*t,markerSpacing:.35*t,itemSpacing:.5*t}}(0,l.K)(A,"getChartTitleComponent"),(0,l.K)(C,"getLegendLayout");var S=class{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.visiblePlots=[]}static{(0,l.K)(this,"ChartLegend")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){if(this.visiblePlots=this.chartConfig.showLegend?this.chartData.plots.filter(t=>t.title):[],0===this.visiblePlots.length)return this.boundingRect.width=0,this.boundingRect.height=0,{width:0,height:0};let{fontSize:i,markerSize:e,markerSpacing:s,itemSpacing:a}=C(this.chartConfig.legendFontSize),n=this.textDimensionCalculator.getMaxDimension(this.visiblePlots.map(t=>t.title),i),h=2*this.chartConfig.legendPadding+e+s+n.width,o=2*this.chartConfig.legendPadding+this.visiblePlots.length*i+(this.visiblePlots.length-1)*a;return h<=t.width&&o<=t.height?(this.boundingRect.width=h,this.boundingRect.height=o):(this.visiblePlots=[],this.boundingRect.width=0,this.boundingRect.height=0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(0===this.visiblePlots.length)return[];let{fontSize:t,markerSize:i,markerSpacing:e,itemSpacing:s}=C(this.chartConfig.legendFontSize),a=t+s,n=this.boundingRect.x+this.chartConfig.legendPadding,h=this.boundingRect.y+this.chartConfig.legendPadding,o=[],r=[];for(let[t,e]of this.visiblePlots.entries())if(u(e))o.push({x:n,y:h+t*a,width:i,height:i,fill:e.fill,strokeFill:e.fill,strokeWidth:0});else{let s=h+t*a+i/2;r.push({path:`M ${n},${s} L ${n+i},${s}`,strokeFill:e.strokeFill,strokeWidth:e.strokeWidth})}return[{groupTexts:["legend","markers"],type:"rect",data:o},{groupTexts:["legend","markers"],type:"path",data:r},{groupTexts:["legend","label"],type:"text",data:this.visiblePlots.map((s,o)=>({text:s.title,x:n+i+e,y:h+o*a+i/2,fill:this.chartThemeConfig.legendTextColor,fontSize:t,rotation:0,verticalPos:"middle",horizontalPos:"left"}))}]}};function k(t,i,e,s){return new S(new p(s),t,i,e)}(0,l.K)(k,"getChartLegendComponent");var R=class{constructor(t,i,e,s,a){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=s,this.plotIndex=a}static{(0,l.K)(this,"LinePlot")}getDrawableElement(){let t,i=this.plotData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]);if(!(t="horizontal"===this.orientation?(0,c.n8j)().y(t=>t[0]).x(t=>t[1])(i):(0,c.n8j)().x(t=>t[0]).y(t=>t[1])(i)))return[];let e=[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:t,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}];if(this.plotData.pointLabels&&this.plotData.pointLabels.length>0){let t=[];for(let[e,[s,a]]of i.entries()){let i=this.plotData.pointLabels[e];i&&("horizontal"===this.orientation?t.push({x:a+10,y:s,text:i,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"left",fontSize:12,rotation:0}):t.push({x:s,y:a-10,text:i,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"center",fontSize:12,rotation:0}))}t.length>0&&e.push({groupTexts:["plot",`line-plot-${this.plotIndex}`,"labels"],type:"text",data:t})}return e}},_=class{constructor(t,i,e,s,a,n){this.barData=t,this.boundingRect=i,this.xAxis=e,this.yAxis=s,this.orientation=a,this.plotIndex=n}static{(0,l.K)(this,"BarPlot")}getDrawableElement(){let t=this.barData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]),i=.95*Math.min(2*this.xAxis.getAxisOuterPadding(),this.xAxis.getTickDistance()),e=i/2;return"horizontal"===this.orientation?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(t=>({x:this.boundingRect.x,y:t[0]-e,height:i,width:t[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(t=>({x:t[0]-e,y:t[1],width:i,height:this.boundingRect.y+this.boundingRect.height-t[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},T=class{constructor(t,i,e){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=e,this.boundingRect={x:0,y:0,width:0,height:0}}static{(0,l.K)(this,"BasePlot")}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let t=[];for(let[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{let s=new R(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break;case"bar":{let s=new _(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}}return t}};function D(t,i,e){return new T(t,i,e)}(0,l.K)(D,"getPlotComponent");var L=class{constructor(t,i,e,s){this.chartConfig=t,this.chartData=i,this.componentStore={title:A(t,i,e,s),plot:D(t,i,e),legend:k(t,i,e,s),xAxis:b(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},s),yAxis:b(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},s)}}static{(0,l.K)(this,"Orchestrator")}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,a={width:0,height:0},n=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),h=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:n,height:h});t-=o.width,i-=o.height,s=(o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i})).height,i-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=o.height,this.componentStore.yAxis.setAxisPosition("left"),e=(o=this.componentStore.yAxis.calculateSpace({width:t,height:i})).width,t-=o.width,a=this.componentStore.legend.calculateSpace({width:t,height:h}),(t-=a.width)>0&&(n+=t,t=0),i>0&&(h+=i,i=0),this.componentStore.plot.calculateSpace({width:n,height:h}),this.componentStore.plot.setBoundingBoxXY({x:e,y:s}),this.componentStore.legend.setBoundingBoxXY({x:e+n,y:s+Math.max((h-a.height)/2,0)}),this.componentStore.xAxis.setRange([e,e+n]),this.componentStore.xAxis.setBoundingBoxXY({x:e,y:s+h}),this.componentStore.yAxis.setRange([s,s+h]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:s}),this.chartData.plots.some(t=>u(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,a=0,n={width:0,height:0},h=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),r=this.componentStore.plot.calculateSpace({width:h,height:o});t-=r.width,i-=r.height,e=(r=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i})).height,i-=r.height,this.componentStore.xAxis.setAxisPosition("left"),r=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=r.width,s=r.width,this.componentStore.yAxis.setAxisPosition("top"),r=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=r.height,a=e+r.height,n=this.componentStore.legend.calculateSpace({width:t,height:o}),(t-=n.width)>0&&(h+=t,t=0),i>0&&(o+=i,i=0),this.componentStore.plot.calculateSpace({width:h,height:o}),this.componentStore.plot.setBoundingBoxXY({x:s,y:a}),this.componentStore.legend.setBoundingBoxXY({x:s+h,y:a+Math.max((o-n.height)/2,0)}),this.componentStore.yAxis.setRange([s,s+h]),this.componentStore.yAxis.setBoundingBoxXY({x:s,y:e}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(t=>u(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let t=[];for(let i of(this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis),Object.values(this.componentStore)))t.push(...i.getDrawableElements());return t}},P=class{static{(0,l.K)(this,"XYChartBuilder")}static build(t,i,e,s){return new L(t,i,e,s).getDrawableElement()}},v=0,E=W(),K=B(),I=F(),M=K.plotColorPalette.split(",").map(t=>t.trim()),z=!1,$=!1;function B(){let t=(0,o.P$)(),i=(0,o.zj)();return(0,h.$t)(t.xyChart,i.themeVariables.xyChart)}function W(){let t=(0,o.zj)();return(0,h.$t)(o.UI.xyChart,t.xyChart)}function F(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function O(t){let i=(0,o.zj)();return(0,o.jZ)(t.trim(),i)}function X(t){s=t}function N(t){"horizontal"===t?E.chartOrientation="horizontal":E.chartOrientation="vertical"}function V(t){I.xAxis.title=O(t.text)}function Y(t,i){I.xAxis={type:"linear",title:I.xAxis.title,min:t,max:i},z=!0}function H(t){I.xAxis={type:"band",title:I.xAxis.title,categories:t.map(t=>O(t.text))},z=!0}function U(t){I.yAxis.title=O(t.text)}function j(t,i){I.yAxis={type:"linear",title:I.yAxis.title,min:t,max:i},$=!0}function G(t){let i=Math.min(...t),e=Math.max(...t),s=d(I.yAxis)?I.yAxis.min:1/0,a=d(I.yAxis)?I.yAxis.max:-1/0;I.yAxis={type:"linear",title:I.yAxis.title,min:Math.min(s,i),max:Math.max(a,e)}}function Q(t){let i=[];if(0===t.length)return i;if(z||Y(Math.min(d(I.xAxis)?I.xAxis.min:1/0,1),Math.max(d(I.xAxis)?I.xAxis.max:-1/0,t.length)),x(I.xAxis)&&t.length>I.xAxis.categories.length&&(t=t.slice(0,I.xAxis.categories.length)),$||G(t),x(I.xAxis)&&(i=I.xAxis.categories.map((i,e)=>[i,t[e]])),d(I.xAxis)){let e=I.xAxis.min,s=I.xAxis.max;if(1===t.length)i=[[`${e}`,t[0]]];else{let a=(s-e)/(t.length-1);i=t.map((t,i)=>[`${e+i*a}`,t])}}return i}function q(t){return M[0===t?0:t%M.length]}function Z(t,i){let e=i.map(t=>t.value),s=i.map(t=>t.label?O(t.label):""),a=Q(e),n=s.some(t=>""!==t);I.plots.push({type:"line",title:O(t.text),strokeFill:q(v),strokeWidth:2,data:a,...n?{pointLabels:s}:{}}),v++}function J(t,i){let e=Q(i.map(t=>t.value));I.plots.push({type:"bar",title:O(t.text),fill:q(v),data:e}),v++}function tt(){if(0===I.plots.length)throw Error("No Plot to render, please provide a plot with some data");return I.title=(0,o.ab)(),P.build(E,I,K,s)}function ti(){return K}function te(){return E}function ts(){return I}(0,l.K)(B,"getChartDefaultThemeConfig"),(0,l.K)(W,"getChartDefaultConfig"),(0,l.K)(F,"getChartDefaultData"),(0,l.K)(O,"textSanitizer"),(0,l.K)(X,"setTmpSVGG"),(0,l.K)(N,"setOrientation"),(0,l.K)(V,"setXAxisTitle"),(0,l.K)(Y,"setXAxisRangeData"),(0,l.K)(H,"setXAxisBand"),(0,l.K)(U,"setYAxisTitle"),(0,l.K)(j,"setYAxisRangeData"),(0,l.K)(G,"setYAxisRangeFromPlotData"),(0,l.K)(Q,"transformDataWithoutCategory"),(0,l.K)(q,"getPlotColorFromPalette"),(0,l.K)(Z,"setLineData"),(0,l.K)(J,"setBarData"),(0,l.K)(tt,"getDrawableElem"),(0,l.K)(ti,"getChartThemeConfig"),(0,l.K)(te,"getChartConfig"),(0,l.K)(ts,"getXYChartData");var ta={getDrawableElem:tt,clear:(0,l.K)(function(){(0,o.IU)(),v=0,E=W(),I=F(),M=(K=B()).plotColorPalette.split(",").map(t=>t.trim()),z=!1,$=!1},"clear"),setAccTitle:o.SV,getAccTitle:o.iN,setDiagramTitle:o.ke,getDiagramTitle:o.ab,getAccDescription:o.m7,setAccDescription:o.EI,setOrientation:N,setXAxisTitle:V,setXAxisRangeData:Y,setXAxisBand:H,setYAxisTitle:U,setYAxisRangeData:j,setLineData:Z,setBarData:J,setTmpSVGG:X,getChartThemeConfig:ti,getChartConfig:te,getXYChartData:ts},tn={parser:g,db:ta,renderer:{draw:(0,l.K)((t,i,e,s)=>{let n=s.db,h=n.getChartThemeConfig(),c=n.getChartConfig(),g=n.getXYChartData().plots[0].data.map(t=>t[1]);function u(t){return"top"===t?"text-before-edge":"middle"}function x(t){return"left"===t?"start":"right"===t?"end":"middle"}function d(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,l.K)(u,"getDominantBaseLine"),(0,l.K)(x,"getTextAnchor"),(0,l.K)(d,"getTextTransformation"),r.R.debug("Rendering xychart chart\n"+t);let p=(0,a.D)(i),f=p.append("g").attr("class","main"),m=f.append("rect").attr("width",c.width).attr("height",c.height).attr("class","background");(0,o.a$)(p,c.height,c.width,!0),p.attr("viewBox",`0 0 ${c.width} ${c.height}`),m.attr("fill",h.backgroundColor),n.setTmpSVGG(p.append("g").attr("class","mermaid-tmp-group"));let y=n.getDrawableElem(),b={};function w(t){let i=f,e="";for(let[s]of t.entries()){let a=f;s>0&&b[e]&&(a=b[e]),e+=t[s],(i=b[e])||(i=b[e]=a.append("g").attr("class",t[s]))}return i}for(let t of((0,l.K)(w,"getGroup"),y)){if(0===t.data.length)continue;let i=w(t.groupTexts);switch(t.type){case"rect":if(i.selectAll("rect").data(t.data).enter().append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeFill).attr("stroke-width",t=>t.strokeWidth),c.showDataLabel){let e=c.showDataLabelOutsideBar;if("horizontal"===c.chartOrientation){let s=function(t,i){let{data:e,label:s}=t;return i*s.length*a<=e.width-n};(0,l.K)(s,"fitsHorizontally");let a=.7,n=10,o=t.data.map((t,i)=>({data:t,label:g[i].toString()})).filter(t=>t.data.width>0&&t.data.height>0),r=Math.floor(Math.min(...o.map(t=>{let{data:i}=t,e=.7*i.height;for(;!s(t,e)&&e>0;)e-=1;return e}))),c=(0,l.K)(t=>e?t.data.x+t.data.width+n:t.data.x+t.data.width-n,"determineLabelXPosition");i.selectAll("text").data(o).enter().append("text").attr("x",c).attr("y",t=>t.data.y+t.data.height/2).attr("text-anchor",e?"start":"end").attr("dominant-baseline","middle").attr("fill",h.dataLabelColor).attr("font-size",`${r}px`).text(t=>t.label)}else{let s=function(t,i,e){let{data:s,label:a}=t,n=i*a.length*.7,h=s.x+s.width/2,o=h-n/2,r=h+n/2,l=o>=s.x&&r<=s.x+s.width,c=s.y+e+i<=s.y+s.height;return l&&c};(0,l.K)(s,"fitsInBar");let a=t.data.map((t,i)=>({data:t,label:g[i].toString()})).filter(t=>t.data.width>0&&t.data.height>0),n=Math.floor(Math.min(...a.map(t=>{let{data:i,label:e}=t,a=i.width/(.7*e.length);for(;!s(t,a,10)&&a>0;)a-=1;return a}))),o=(0,l.K)(t=>e?t.data.y-10:t.data.y+10,"determineLabelYPosition");i.selectAll("text").data(a).enter().append("text").attr("x",t=>t.data.x+t.data.width/2).attr("y",o).attr("text-anchor","middle").attr("dominant-baseline",e?"auto":"hanging").attr("fill",h.dataLabelColor).attr("font-size",`${n}px`).text(t=>t.label)}}break;case"text":i.selectAll("text").data(t.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>u(t.verticalPos)).attr("text-anchor",t=>x(t.horizontalPos)).attr("transform",t=>d(t)).text(t=>t.text);break;case"path":i.selectAll("path").data(t.data).enter().append("path").attr("d",t=>t.path).attr("fill",t=>t.fill?t.fill:"none").attr("stroke",t=>t.strokeFill).attr("stroke-width",t=>t.strokeWidth)}}},"draw")}}}}]); \ No newline at end of file diff --git a/assets/js/4892.beb61f34.js b/assets/js/4892.beb61f34.js new file mode 100644 index 0000000..20cc5e9 --- /dev/null +++ b/assets/js/4892.beb61f34.js @@ -0,0 +1,34 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4892"],{6247(t,e,n){n.d(e,{diagram:()=>te});var i=n(1177);n(1293);var r=n(6827),s=n(7829);function o(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}function l(t){return t.target.depth}function a(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t,e){let n=0;if(void 0===e)for(let e of t)(e*=1)&&(n+=e);else{let i=-1;for(let r of t)(r=+e(r,++i,t))&&(n+=r)}return n}function c(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}function u(t){return function(){return t}}function f(t,e){return d(t.source,e.source)||t.index-e.index}function y(t,e){return d(t.target,e.target)||t.index-e.index}function d(t,e){return t.y0-e.y0}function p(t){return t.value}function g(t){return t.index}function _(t){return t.nodes}function x(t){return t.links}function k(t,e){let n=t.get(e);if(!n)throw Error("missing: "+e);return n}function m({nodes:t}){for(let e of t){let t=e.y0,n=t;for(let n of e.sourceLinks)n.y0=t+n.width/2,t+=n.width;for(let t of e.targetLinks)t.y1=n+t.width/2,n+=t.width}}var b=Math.PI,v=2*b,S=v-1e-6;function E(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function w(){return new E}E.prototype=w.prototype={constructor:E,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i)},bezierCurveTo:function(t,e,n,i,r,s){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+r)+","+(this._y1=+s)},arcTo:function(t,e,n,i,r){t*=1,e*=1,n*=1,i*=1,r*=1;var s=this._x1,o=this._y1,l=n-t,a=i-e,h=s-t,c=o-e,u=h*h+c*c;if(r<0)throw Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(u>1e-6)if(Math.abs(c*l-a*h)>1e-6&&r){var f=n-s,y=i-o,d=l*l+a*a,p=Math.sqrt(d),g=Math.sqrt(u),_=r*Math.tan((b-Math.acos((d+u-(f*f+y*y))/(2*p*g)))/2),x=_/g,k=_/p;Math.abs(x-1)>1e-6&&(this._+="L"+(t+x*h)+","+(e+x*c)),this._+="A"+r+","+r+",0,0,"+ +(c*f>h*y)+","+(this._x1=t+k*l)+","+(this._y1=e+k*a)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,n,i,r,s){t*=1,e*=1,n*=1,s=!!s;var o=n*Math.cos(i),l=n*Math.sin(i),a=t+o,h=e+l,c=1^s,u=s?i-r:r-i;if(n<0)throw Error("negative radius: "+n);null===this._x1?this._+="M"+a+","+h:(Math.abs(this._x1-a)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+="L"+a+","+h),n&&(u<0&&(u=u%v+v),u>S?this._+="A"+n+","+n+",0,1,"+c+","+(t-o)+","+(e-l)+"A"+n+","+n+",0,1,"+c+","+(this._x1=a)+","+(this._y1=h):u>1e-6&&(this._+="A"+n+","+n+",0,"+ +(u>=b)+","+c+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var K=Array.prototype.slice;function L(t){return function(){return t}}function A(t){return t[0]}function M(t){return t[1]}function I(t){return t.source}function T(t){return t.target}function P(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function C(t){return[t.source.x1,t.y0]}function $(t){return[t.target.x0,t.y1]}var N=function(){var t=(0,r.K)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[1,9],n=[1,10],i=[1,5,10,12],s={trace:(0,r.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:(0,r.K)(function(t,e,n,i,r,s,o){var l=s.length-1;switch(r){case 7:let a=i.findOrCreateNode(s[l-4].trim().replaceAll('""','"')),h=i.findOrCreateNode(s[l-2].trim().replaceAll('""','"')),c=parseFloat(s[l].trim());i.addLink(a,h,c);break;case 8:case 9:case 11:this.$=s[l];break;case 10:this.$=s[l-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:n},{1:[2,6],7:11,10:[1,12]},t(n,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(i,[2,8]),t(i,[2,9]),{19:[1,16]},t(i,[2,11]),{1:[2,1]},{1:[2,5]},t(n,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:n},{15:18,16:7,17:8,18:e,20:n},{18:[1,19]},t(n,[2,3]),{12:[1,20]},t(i,[2,10]),{15:21,16:7,17:8,18:e,20:n},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:(0,r.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,r.K)(function(t){var e=this,n=[0],i=[],s=[null],o=[],l=this.table,a="",h=0,c=0,u=0,f=o.slice.call(arguments,1),y=Object.create(this.lexer),d={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d[p]=this.yy[p]);y.setInput(t,d),d.lexer=y,d.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;o.push(g);var _=y.options&&y.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||y.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.K)(function(t){n.length=n.length-2*t,s.length=s.length-t,o.length=o.length-t},"popStack"),(0,r.K)(x,"lex");for(var k,m,b,v,S,E,w,K,L,A={};;){if(b=n[n.length-1],this.defaultActions[b]?v=this.defaultActions[b]:(null==k&&(k=x()),v=l[b]&&l[b][k]),void 0===v||!v.length||!v[0]){var M="";for(E in L=[],l[b])this.terminals_[E]&&E>2&&L.push("'"+this.terminals_[E]+"'");M=y.showPosition?"Parse error on line "+(h+1)+":\n"+y.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(M,{text:y.match,token:this.terminals_[k]||k,line:y.yylineno,loc:g,expected:L})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+k);switch(v[0]){case 1:n.push(k),s.push(y.yytext),o.push(y.yylloc),n.push(v[1]),k=null,m?(k=m,m=null):(c=y.yyleng,a=y.yytext,h=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(w=this.productions_[v[1]][1],A.$=s[s.length-w],A._$={first_line:o[o.length-(w||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(w||1)].first_column,last_column:o[o.length-1].last_column},_&&(A._$.range=[o[o.length-(w||1)].range[0],o[o.length-1].range[1]]),void 0!==(S=this.performAction.apply(A,[a,c,h,d,v[1],s,o].concat(f))))return S;w&&(n=n.slice(0,-1*w*2),s=s.slice(0,-1*w),o=o.slice(0,-1*w)),n.push(this.productions_[v[1]][0]),s.push(A.$),o.push(A._$),K=l[n[n.length-2]][n[n.length-1]],n.push(K);break;case 3:return!0}}return!0},"parse")};function o(){this.yy={}}return s.lexer={EOF:1,parseError:(0,r.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,r.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,r.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,r.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var 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:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,r.K)(function(){return this._more=!0,this},"more"),reject:(0,r.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,r.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,r.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,r.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,r.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,r.K)(function(t,e){var n,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var s in r)this[s]=r[s];return!1},"test_match"),next:(0,r.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,i,r=this._currentRules(),s=0;s<r.length;s++)if((n=this._input.match(this.rules[r[s]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,r.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,r.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,r.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,r.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,r.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,r.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,r.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.K)(function(t,e,n,i){switch(n){case 0:case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}},(0,r.K)(o,"Parser"),o.prototype=s,s.Parser=o,new o}();N.parser=N;var D=[],O=[],j=new Map,z=(0,r.K)(()=>{D=[],O=[],j=new Map,(0,i.IU)()},"clear"),F=class{constructor(t,e,n=0){this.source=t,this.target=e,this.value=n}static{(0,r.K)(this,"SankeyLink")}},U=(0,r.K)((t,e,n)=>{D.push(new F(t,e,n))},"addLink"),W=class{constructor(t){this.ID=t}static{(0,r.K)(this,"SankeyNode")}},q=(0,r.K)(t=>{t=i.Y2.sanitizeText(t,(0,i.D7)());let e=j.get(t);return void 0===e&&(e=new W(t),j.set(t,e),O.push(e)),e},"findOrCreateNode"),V=(0,r.K)(()=>O,"getNodes"),G=(0,r.K)(()=>D,"getLinks"),X=(0,r.K)(()=>({nodes:O.map(t=>({id:t.ID})),links:D.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),Y={nodesMap:j,getConfig:(0,r.K)(()=>(0,i.D7)().sankey,"getConfig"),getNodes:V,getLinks:G,getGraph:X,addLink:U,findOrCreateNode:q,getAccTitle:i.iN,setAccTitle:i.SV,getAccDescription:i.m7,setAccDescription:i.EI,getDiagramTitle:i.ab,setDiagramTitle:i.ke,clear:z},B=class t{static{(0,r.K)(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}},Q={left:function(t){return t.depth},right:function(t,e){return e-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?o(t.sourceLinks,l)-1:0},justify:a},R=(0,r.K)(t=>{let e=0,n=0;for(let i of t){let t=i.value??0;t>e&&(e=t,n=i.layer??0)}return n},"findCentralNodeLayer"),Z=(0,r.K)(function(t,e,n,l){let b,v,{securityLevel:S,sankey:E}=(0,i.D7)(),N=i.ME.sankey;"sandbox"===S&&(b=(0,s.Ltv)("#i"+e));let D="sandbox"===S?(0,s.Ltv)(b.nodes()[0].contentDocument.body):(0,s.Ltv)("body"),O="sandbox"===S?D.select(`[id="${e}"]`):(0,s.Ltv)(`[id="${e}"]`),j=E?.width??N.width,z=E?.height??N.width,F=E?.useMaxWidth??N.useMaxWidth,U=E?.nodeAlignment??N.nodeAlignment,W=E?.prefix??N.prefix,q=E?.suffix??N.suffix,V=E?.showValues??N.showValues,G=E?.nodeWidth??N.nodeWidth??10,X=E?.nodePadding??N.nodePadding??12,Y=E?.labelStyle??N.labelStyle??"legacy",Z=E?.nodeColors??{},H=l.db.getGraph(),J=Q[U];(function(){let t,e,n=0,i=0,r=1,s=1,l=24,b=8,v,S=g,E=a,w=_,K=x,L=6;function A(){let a={nodes:w.apply(null,arguments),links:K.apply(null,arguments)};return function({nodes:t,links:n}){for(let[e,n]of t.entries())n.index=e,n.sourceLinks=[],n.targetLinks=[];let i=new Map(t.map((e,n)=>[S(e,n,t),e]));for(let[t,e]of n.entries()){e.index=t;let{source:n,target:r}=e;"object"!=typeof n&&(n=e.source=k(i,n)),"object"!=typeof r&&(r=e.target=k(i,r)),n.sourceLinks.push(e),r.targetLinks.push(e)}if(null!=e)for(let{sourceLinks:n,targetLinks:i}of t)n.sort(e),i.sort(e)}(a),function({nodes:t}){for(let e of t)e.value=void 0===e.fixedValue?Math.max(h(e.sourceLinks,p),h(e.targetLinks,p)):e.fixedValue}(a),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{target:e}of(t.depth=r,t.sourceLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(a),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{source:e}of(t.height=r,t.targetLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(a),function(a){let u=function({nodes:e}){let i=c(e,t=>t.depth)+1,s=(r-n-l)/(i-1),o=Array(i);for(let t of e){let e=Math.max(0,Math.min(i-1,Math.floor(E.call(null,t,i))));t.layer=e,t.x0=n+e*s,t.x1=t.x0+l,o[e]?o[e].push(t):o[e]=[t]}if(t)for(let e of o)e.sort(t);return o}(a);v=Math.min(b,(s-i)/(c(u,t=>t.length)-1));let g=o(u,t=>(s-i-(t.length-1)*v)/h(t,p));for(let t of u){let n=i;for(let e of t)for(let t of(e.y0=n,e.y1=n+e.value*g,n=e.y1+v,e.sourceLinks))t.width=t.value*g;n=(s-n+v)/(t.length+1);for(let e=0;e<t.length;++e){let i=t[e];i.y0+=n*(e+1),i.y1+=n*(e+1)}var _=t;if(void 0===e)for(let{sourceLinks:t,targetLinks:e}of _)t.sort(y),e.sort(f)}for(let e=0;e<L;++e){let n=Math.pow(.99,e),i=Math.max(1-n,(e+1)/L);(function(e,n,i){for(let r=e.length,s=r-2;s>=0;--s){let r=e[s];for(let t of r){let e=0,i=0;for(let{target:n,value:r}of t.sourceLinks){let s=r*(n.layer-t.layer);e+=function(t,e){let n=e.y0-(e.targetLinks.length-1)*v/2;for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n+=r+v}for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n-=r}return n}(t,n)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,P(t)}void 0===t&&r.sort(d),M(r,i)}})(u,n,i),function(e,n,i){for(let r=1,s=e.length;r<s;++r){let s=e[r];for(let t of s){let e=0,i=0;for(let{source:n,value:r}of t.targetLinks){let s=r*(t.layer-n.layer);e+=function(t,e){let n=t.y0-(t.sourceLinks.length-1)*v/2;for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n+=r+v}for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n-=r}return n}(n,t)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,P(t)}void 0===t&&s.sort(d),M(s,i)}}(u,n,i)}}(a),m(a),a}function M(t,e){let n=t.length>>1,r=t[n];T(t,r.y0-v,n-1,e),I(t,r.y1+v,n+1,e),T(t,s,t.length-1,e),I(t,i,0,e)}function I(t,e,n,i){for(;n<t.length;++n){let r=t[n],s=(e-r.y0)*i;s>1e-6&&(r.y0+=s,r.y1+=s),e=r.y1+v}}function T(t,e,n,i){for(;n>=0;--n){let r=t[n],s=(r.y1-e)*i;s>1e-6&&(r.y0-=s,r.y1-=s),e=r.y0-v}}function P({sourceLinks:t,targetLinks:n}){if(void 0===e){for(let{source:{sourceLinks:t}}of n)t.sort(y);for(let{target:{targetLinks:e}}of t)e.sort(f)}}return A.update=function(t){return m(t),t},A.nodeId=function(t){return arguments.length?(S="function"==typeof t?t:u(t),A):S},A.nodeAlign=function(t){return arguments.length?(E="function"==typeof t?t:u(t),A):E},A.nodeSort=function(e){return arguments.length?(t=e,A):t},A.nodeWidth=function(t){return arguments.length?(l=+t,A):l},A.nodePadding=function(t){return arguments.length?(b=v=+t,A):b},A.nodes=function(t){return arguments.length?(w="function"==typeof t?t:u(t),A):w},A.links=function(t){return arguments.length?(K="function"==typeof t?t:u(t),A):K},A.linkSort=function(t){return arguments.length?(e=t,A):e},A.size=function(t){return arguments.length?(n=i=0,r=+t[0],s=+t[1],A):[r-n,s-i]},A.extent=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],i=+t[0][1],s=+t[1][1],A):[[n,i],[r,s]]},A.iterations=function(t){return arguments.length?(L=+t,A):L},A})().nodeId(t=>t.id).nodeWidth(G).nodePadding(X+15*!!V).nodeAlign(J).extent([[0,0],[j,z]])(H);let tt=R(H.nodes),te=(0,s.UMr)(s.zt),tn=(0,r.K)(t=>Z[t]??te(t),"getNodeColor");O.append("g").attr("class","nodes").selectAll(".node").data(H.nodes).join("g").attr("class","node").attr("id",t=>(t.uid=B.next("node-")).id).attr("transform",function(t){return"translate("+t.x0+","+t.y0+")"}).attr("x",t=>t.x0).attr("y",t=>t.y0).append("rect").attr("height",t=>t.y1-t.y0).attr("width",t=>t.x1-t.x0).attr("fill",t=>tn(t.id));let ti=(0,r.K)(({id:t,value:e})=>V?`${t} +${W}${Math.round(100*e)/100}${q}`:t,"getText"),tr=(0,r.K)(t=>"outlined"===Y?(t.layer??0)<tt?{x:t.x0-6,anchor:"end"}:{x:t.x1+6,anchor:"start"}:t.x0<j/2?{x:t.x1+6,anchor:"start"}:{x:t.x0-6,anchor:"end"},"getLabelPosition"),ts=O.append("g").attr("class","node-labels").attr("font-size",14),to=(0,r.K)(t=>ts.selectAll(t?`.${t}`:"text").data(H.nodes).join("text").attr("class",t??null).attr("x",t=>tr(t).x).attr("y",t=>(t.y1+t.y0)/2).attr("dy",`${V?"0":"0.35"}em`).attr("text-anchor",t=>tr(t).anchor).text(ti),"appendLabel");"outlined"===Y?(to("sankey-label-bg"),to("sankey-label-fg")):to();let tl=O.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(H.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),ta=E?.linkColor??"gradient";if("gradient"===ta){let t=tl.append("linearGradient").attr("id",t=>(t.uid=B.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",t=>t.source.x1).attr("x2",t=>t.target.x0);t.append("stop").attr("offset","0%").attr("stop-color",t=>tn(t.source.id)),t.append("stop").attr("offset","100%").attr("stop-color",t=>tn(t.target.id))}switch(ta){case"gradient":v=(0,r.K)(t=>t.uid,"coloring");break;case"source":v=(0,r.K)(t=>tn(t.source.id),"coloring");break;case"target":v=(0,r.K)(t=>tn(t.target.id),"coloring");break;default:v=ta}tl.append("path").attr("d",(function(t){var e=I,n=T,i=A,r=M,s=null;function o(){var o,l=K.call(arguments),a=e.apply(this,l),h=n.apply(this,l);if(s||(s=o=w()),t(s,+i.apply(this,(l[0]=a,l)),+r.apply(this,l),+i.apply(this,(l[0]=h,l)),+r.apply(this,l)),o)return s=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(i="function"==typeof t?t:L(+t),o):i},o.y=function(t){return arguments.length?(r="function"==typeof t?t:L(+t),o):r},o.context=function(t){return arguments.length?(s=null==t?null:t,o):s},o})(P).source(C).target($)).attr("stroke",v).attr("stroke-width",t=>Math.max(1,t.width)),(0,i.ot)(void 0,O,0,F)},"draw"),H=(0,r.K)(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim(),"prepareTextForParsing"),J=(0,r.K)(t=>`.label { + font-family: ${t.fontFamily}; + } + + .node-labels { + font-family: ${t.fontFamily}; + } + + /* Outlined label style - background stroke for better readability */ + .sankey-label-bg { + stroke: ${t.mainBkg||t.background||"#fff"}; + stroke-width: 4px; + stroke-linejoin: round; + paint-order: stroke; + } + + /* Foreground label text */ + .sankey-label-fg { + fill: ${t.textColor}; + } + + /* Node styling */ + .node rect { + shape-rendering: crispEdges; + } + + /* Link styling */ + .link { + fill: none; + stroke-opacity: 0.5; + mix-blend-mode: multiply; + } +`,"getStyles"),tt=N.parse.bind(N);N.parse=t=>tt(H(t));var te={styles:J,parser:N,db:Y,renderer:{draw:Z}}}}]); \ No newline at end of file diff --git a/assets/js/4936.2ebabc8b.js b/assets/js/4936.2ebabc8b.js new file mode 100644 index 0000000..1d00cd1 --- /dev/null +++ b/assets/js/4936.2ebabc8b.js @@ -0,0 +1,82 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4936"],{4916(e,t,r){r.d(t,{W:()=>l});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadEbnfTokenBuilder")}constructor(){super(["railroad-ebnf-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadEbnfValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){return"EBNF_STRING"===e.name?a(t):"EBNF_SPECIAL_SEQUENCE"===e.name?t.slice(1,-1).trim():void 0}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.U4,o);return t.ServiceRegistry.register(r),{shared:t,RailroadEbnf:r}}(0,n.K2)(l,"createRailroadEbnfServices")},6041(e,t,r){r.d(t,{f:()=>o});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},a=class extends n.dg{static{(0,n.K2)(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.D_,s);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}(0,n.K2)(o,"createPieServices")},4614(e,t,r){r.d(t,{v:()=>s});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.FZ,a);return t.ServiceRegistry.register(r),{shared:t,Info:r}}(0,n.K2)(s,"createInfoServices")},5796(e,t,r){r.d(t,{S:()=>o});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},a=class extends n.dg{static{(0,n.K2)(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){if("ARCH_ICON"===e.name)return t.replace(/[()]/g,"").trim();if("ARCH_TEXT_ICON"===e.name)return t.replace(/["()]/g,"");if("ARCH_TITLE"===e.name){let e=t.replace(/^\[|]$/g,"").trim();return(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))&&(e=(e=e.slice(1,-1)).replace(/\\"/g,'"').replace(/\\'/g,"'")),e.trim()}}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.wV,s);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}(0,n.K2)(o,"createArchitectureServices")},2688(e,t,r){r.d(t,{g:()=>d});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"EventModelingTokenBuilder")}constructor(){super(["eventmodeling"])}},a=new Set(["cmd","command"]),s=new Set(["evt","event"]),o=new Set(["rmo","readmodel"]),l=new Set(["pcr","processor"]),u=new Set(["ui"]);function c(e){let t=e.validation.EventModelingValidator,r=e.validation.ValidationRegistry;if(r){let e={EmTimeFrame:t.checkSourceFrameTypes.bind(t),EmResetFrame:t.checkSourceFrameTypes.bind(t)};r.register(e,t)}}(0,n.K2)(c,"registerValidationChecks");var p=class{static{(0,n.K2)(this,"EventModelingValidator")}checkSourceFrameTypes(e,t){0!==e.sourceFrames.length&&(a.has(e.modelEntityType)?this.validateSources(e,new Set([...u,...l]),"command","ui or processor",t):s.has(e.modelEntityType)?this.validateSources(e,a,"event","command",t):o.has(e.modelEntityType)?this.validateSources(e,s,"read model","event",t):l.has(e.modelEntityType)?this.validateSources(e,o,"processor","read model",t):u.has(e.modelEntityType)&&this.validateSources(e,o,"ui","read model",t))}validateSources(e,t,r,n,i){for(let a of e.sourceFrames){let s=a.ref;void 0===s||t.has(s.modelEntityType)||i("error",`A ${r} can only receive input from a ${n}, not from '${s.modelEntityType}'.`,{node:e,property:"sourceFrames"})}}},f={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")},validation:{EventModelingValidator:(0,n.K2)(()=>new p,"EventModelingValidator")}};function d(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.x0,f);return t.ServiceRegistry.register(r),c(r),{shared:t,EventModel:r}}(0,n.K2)(d,"createEventModelingServices")},6527(e,t,r){r.d(t,{d:()=>c});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},a=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,s=class extends n.dg{static{(0,n.K2)(this,"TreemapValueConverter")}runCustomConverter(e,t,r){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name)return t.substring(1,t.length-1);if("STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;let e=a.exec(t);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function o(e){let t=e.validation.TreemapValidator,r=e.validation.ValidationRegistry;if(r){let e={Treemap:t.checkSingleRoot.bind(t)};r.register(e,t)}}(0,n.K2)(o,"registerValidationChecks");var l=class{static{(0,n.K2)(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(let n of e.TreemapRows)n.item&&(void 0===r&&void 0===n.indent?r=0:void 0===n.indent?t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):void 0!==r&&r>=parseInt(n.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},u={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")},validation:{TreemapValidator:(0,n.K2)(()=>new l,"TreemapValidator")}};function c(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.XE,u);return t.ServiceRegistry.register(r),o(r),{shared:t,Treemap:r}}(0,n.K2)(c,"createTreemapServices")},3279(e,t,r){r.d(t,{t:()=>s});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"CynefinTokenBuilder")}constructor(){super(["cynefin-beta"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Jn,a);return t.ServiceRegistry.register(r),{shared:t,Cynefin:r}}(0,n.K2)(s,"createCynefinServices")},3245(e,t,r){r.d(t,{P:()=>l});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadPegTokenBuilder")}constructor(){super(["railroad-peg-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadPegValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){if("PEG_STRING"===e.name)return a(t)}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.dj,o);return t.ServiceRegistry.register(r),{shared:t,RailroadPeg:r}}(0,n.K2)(l,"createRailroadPegServices")},4954(e,t,r){let n,i;r.d(t,{Bg:()=>Ex,Bi:()=>EI,CZ:()=>EO,DD:()=>Rd,D_:()=>Ek,F5:()=>RO,FZ:()=>EC,Jn:()=>EE,K2:()=>tD,Tm:()=>Ej,U4:()=>Ew,WQ:()=>Rt,XE:()=>EP,Xr:()=>ED,d$:()=>EA,dg:()=>EM,dj:()=>E_,mR:()=>EF,oI:()=>EN,p5:()=>ES,sr:()=>E$,tG:()=>$8,uM:()=>Re,wV:()=>ER,x0:()=>Eb});var a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C,S,k,x,N,w,I,_,P,O,D,L,M,j,F,G,z,K,q,U,B,W,V,H,Y,Q,Z,X,J,ee,et,er,en,ei,ea,es,eo,el,eu,ec,ep,ef,ed,em,eh,ey,eg,eT,ev,e$,eR,eE,eb,eA,eC,eS,ek,ex,eN,ew,eI,e_,eP,eO,eD,eL,eM,ej,eF,eG,ez,eK,eq,eU,eB,eW,eV,eH,eY,eQ,eZ,eX,eJ,e0,e1,e2,e3,e4,e9,e5,e6,e7,e8,te,tt,tr,tn,ti,ta,ts,to,tl,tu,tc,tp,tf,td,tm,th,ty,tg,tT,tv,t$,tR,tE,tb,tA,tC,tS,tk,tx,tN=Object.create,tw=Object.defineProperty,tI=Object.getOwnPropertyDescriptor,t_=Object.getOwnPropertyNames,tP=Object.getPrototypeOf,tO=Object.prototype.hasOwnProperty,tD=(e,t)=>tw(e,"name",{value:t,configurable:!0}),tL=(e,t)=>function(){return t||(0,e[t_(e)[0]])((t={exports:{}}).exports,t),t.exports},tM=(e,t)=>{for(var r in t)tw(e,r,{get:t[r],enumerable:!0})},tj=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of t_(t))tO.call(e,i)||i===r||tw(e,i,{get:()=>t[i],enumerable:!(n=tI(t,i))||n.enumerable});return e},tF=(e,t,r)=>(tj(e,t,"default"),r&&tj(r,t,"default")),tG=(e,t,r)=>(r=null!=e?tN(tP(e)):{},tj(!t&&e&&e.__esModule?r:tw(r,"default",{value:e,enumerable:!0}),e)),tz=e=>tj(tw({},"__esModule",{value:!0}),e),tK={};tM(tK,{AnnotatedTextEdit:()=>j,ChangeAnnotation:()=>L,ChangeAnnotationIdentifier:()=>M,CodeAction:()=>eR,CodeActionContext:()=>e$,CodeActionKind:()=>eT,CodeActionTriggerKind:()=>ev,CodeDescription:()=>_,CodeLens:()=>eE,Color:()=>A,ColorInformation:()=>C,ColorPresentation:()=>S,Command:()=>O,CompletionItem:()=>ea,CompletionItemKind:()=>J,CompletionItemLabelDetails:()=>ei,CompletionItemTag:()=>et,CompletionList:()=>es,CreateFile:()=>G,DeleteFile:()=>K,Diagnostic:()=>P,DiagnosticRelatedInformation:()=>N,DiagnosticSeverity:()=>w,DiagnosticTag:()=>I,DocumentHighlight:()=>ef,DocumentHighlightKind:()=>ep,DocumentLink:()=>eA,DocumentSymbol:()=>eg,DocumentUri:()=>y,EOL:()=>eq,FoldingRange:()=>x,FoldingRangeKind:()=>k,FormattingOptions:()=>eb,Hover:()=>el,InlayHint:()=>eD,InlayHintKind:()=>eP,InlayHintLabelPart:()=>eO,InlineCompletionContext:()=>ez,InlineCompletionItem:()=>eM,InlineCompletionList:()=>ej,InlineCompletionTriggerKind:()=>eF,InlineValueContext:()=>e_,InlineValueEvaluatableExpression:()=>eI,InlineValueText:()=>eN,InlineValueVariableLookup:()=>ew,InsertReplaceEdit:()=>er,InsertTextFormat:()=>ee,InsertTextMode:()=>en,Location:()=>E,LocationLink:()=>b,MarkedString:()=>eo,MarkupContent:()=>X,MarkupKind:()=>Z,OptionalVersionedTextDocumentIdentifier:()=>Y,ParameterInformation:()=>eu,Position:()=>$,Range:()=>R,RenameFile:()=>z,SelectedCompletionInfo:()=>eG,SelectionRange:()=>eC,SemanticTokenModifiers:()=>ek,SemanticTokenTypes:()=>eS,SemanticTokens:()=>ex,SignatureInformation:()=>ec,StringValue:()=>eL,SymbolInformation:()=>eh,SymbolKind:()=>ed,SymbolTag:()=>em,TextDocument:()=>eU,TextDocumentEdit:()=>F,TextDocumentIdentifier:()=>V,TextDocumentItem:()=>Q,TextEdit:()=>D,URI:()=>g,VersionedTextDocumentIdentifier:()=>H,WorkspaceChange:()=>W,WorkspaceEdit:()=>q,WorkspaceFolder:()=>eK,WorkspaceSymbol:()=>ey,integer:()=>T,uinteger:()=>v});var tq=(n={"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var e,t,r,n,i,a,s,o,l,u,c,p,f,d=y||(y={});function m(e){return"string"==typeof e}tD(m,"is"),d.is=m;var h=g||(g={});function eV(e){return"string"==typeof e}tD(eV,"is"),h.is=eV;var eH=T||(T={});function eY(e){return"number"==typeof e&&eH.MIN_VALUE<=e&&e<=eH.MAX_VALUE}eH.MIN_VALUE=-0x80000000,eH.MAX_VALUE=0x7fffffff,tD(eY,"is"),eH.is=eY;var eQ=v||(v={});function eZ(e){return"number"==typeof e&&eQ.MIN_VALUE<=e&&e<=eQ.MAX_VALUE}eQ.MIN_VALUE=0,eQ.MAX_VALUE=0x7fffffff,tD(eZ,"is"),eQ.is=eZ;var eX=$||($={});function eJ(e,t){return e===Number.MAX_VALUE&&(e=v.MAX_VALUE),t===Number.MAX_VALUE&&(t=v.MAX_VALUE),{line:e,character:t}}function e0(e){return eW.objectLiteral(e)&&eW.uinteger(e.line)&&eW.uinteger(e.character)}tD(eJ,"create"),eX.create=eJ,tD(e0,"is"),eX.is=e0;var e1=R||(R={});function e2(e,t,r,n){if(eW.uinteger(e)&&eW.uinteger(t)&&eW.uinteger(r)&&eW.uinteger(n))return{start:$.create(e,t),end:$.create(r,n)};if($.is(e)&&$.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)}function e3(e){return eW.objectLiteral(e)&&$.is(e.start)&&$.is(e.end)}tD(e2,"create"),e1.create=e2,tD(e3,"is"),e1.is=e3;var e4=E||(E={});function e9(e,t){return{uri:e,range:t}}function e5(e){return eW.objectLiteral(e)&&R.is(e.range)&&(eW.string(e.uri)||eW.undefined(e.uri))}tD(e9,"create"),e4.create=e9,tD(e5,"is"),e4.is=e5;var e6=b||(b={});function e7(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}}function e8(e){return eW.objectLiteral(e)&&R.is(e.targetRange)&&eW.string(e.targetUri)&&R.is(e.targetSelectionRange)&&(R.is(e.originSelectionRange)||eW.undefined(e.originSelectionRange))}tD(e7,"create"),e6.create=e7,tD(e8,"is"),e6.is=e8;var te=A||(A={});function tt(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}}function tr(e){return eW.objectLiteral(e)&&eW.numberRange(e.red,0,1)&&eW.numberRange(e.green,0,1)&&eW.numberRange(e.blue,0,1)&&eW.numberRange(e.alpha,0,1)}tD(tt,"create"),te.create=tt,tD(tr,"is"),te.is=tr;var tn=C||(C={});function ti(e,t){return{range:e,color:t}}function ta(e){return eW.objectLiteral(e)&&R.is(e.range)&&A.is(e.color)}tD(ti,"create"),tn.create=ti,tD(ta,"is"),tn.is=ta;var ts=S||(S={});function to(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}}function tl(e){return eW.objectLiteral(e)&&eW.string(e.label)&&(eW.undefined(e.textEdit)||D.is(e))&&(eW.undefined(e.additionalTextEdits)||eW.typedArray(e.additionalTextEdits,D.is))}tD(to,"create"),ts.create=to,tD(tl,"is"),ts.is=tl,(e=k||(k={})).Comment="comment",e.Imports="imports",e.Region="region";var tu=x||(x={});function tc(e,t,r,n,i,a){let s={startLine:e,endLine:t};return eW.defined(r)&&(s.startCharacter=r),eW.defined(n)&&(s.endCharacter=n),eW.defined(i)&&(s.kind=i),eW.defined(a)&&(s.collapsedText=a),s}function tp(e){return eW.objectLiteral(e)&&eW.uinteger(e.startLine)&&eW.uinteger(e.startLine)&&(eW.undefined(e.startCharacter)||eW.uinteger(e.startCharacter))&&(eW.undefined(e.endCharacter)||eW.uinteger(e.endCharacter))&&(eW.undefined(e.kind)||eW.string(e.kind))}tD(tc,"create"),tu.create=tc,tD(tp,"is"),tu.is=tp;var tf=N||(N={});function td(e,t){return{location:e,message:t}}function tm(e){return eW.defined(e)&&E.is(e.location)&&eW.string(e.message)}tD(td,"create"),tf.create=td,tD(tm,"is"),tf.is=tm,(t=w||(w={})).Error=1,t.Warning=2,t.Information=3,t.Hint=4,(r=I||(I={})).Unnecessary=1,r.Deprecated=2;var th=_||(_={});function ty(e){return eW.objectLiteral(e)&&eW.string(e.href)}tD(ty,"is"),th.is=ty;var tg=P||(P={});function tT(e,t,r,n,i,a){let s={range:e,message:t};return eW.defined(r)&&(s.severity=r),eW.defined(n)&&(s.code=n),eW.defined(i)&&(s.source=i),eW.defined(a)&&(s.relatedInformation=a),s}function tv(e){var t;return eW.defined(e)&&R.is(e.range)&&eW.string(e.message)&&(eW.number(e.severity)||eW.undefined(e.severity))&&(eW.integer(e.code)||eW.string(e.code)||eW.undefined(e.code))&&(eW.undefined(e.codeDescription)||eW.string(null==(t=e.codeDescription)?void 0:t.href))&&(eW.string(e.source)||eW.undefined(e.source))&&(eW.undefined(e.relatedInformation)||eW.typedArray(e.relatedInformation,N.is))}tD(tT,"create"),tg.create=tT,tD(tv,"is"),tg.is=tv;var t$=O||(O={});function tR(e,t,...r){let n={title:e,command:t};return eW.defined(r)&&r.length>0&&(n.arguments=r),n}function tE(e){return eW.defined(e)&&eW.string(e.title)&&eW.string(e.command)}tD(tR,"create"),t$.create=tR,tD(tE,"is"),t$.is=tE,function(e){function t(e,t){return{range:e,newText:t}}function r(e,t){return{range:{start:e,end:e},newText:t}}function n(e){return{range:e,newText:""}}function i(e){return eW.objectLiteral(e)&&eW.string(e.newText)&&R.is(e.range)}tD(t,"replace"),e.replace=t,tD(r,"insert"),e.insert=r,tD(n,"del"),e.del=n,tD(i,"is"),e.is=i}(D||(D={}));var tb=L||(L={});function tA(e,t,r){let n={label:e};return void 0!==t&&(n.needsConfirmation=t),void 0!==r&&(n.description=r),n}function tC(e){return eW.objectLiteral(e)&&eW.string(e.label)&&(eW.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(eW.string(e.description)||void 0===e.description)}tD(tA,"create"),tb.create=tA,tD(tC,"is"),tb.is=tC;var tS=M||(M={});function tk(e){return eW.string(e)}tD(tk,"is"),tS.is=tk,function(e){function t(e,t,r){return{range:e,newText:t,annotationId:r}}function r(e,t,r){return{range:{start:e,end:e},newText:t,annotationId:r}}function n(e,t){return{range:e,newText:"",annotationId:t}}function i(e){return D.is(e)&&(L.is(e.annotationId)||M.is(e.annotationId))}tD(t,"replace"),e.replace=t,tD(r,"insert"),e.insert=r,tD(n,"del"),e.del=n,tD(i,"is"),e.is=i}(j||(j={}));var tx=F||(F={});function tN(e,t){return{textDocument:e,edits:t}}function tw(e){return eW.defined(e)&&Y.is(e.textDocument)&&Array.isArray(e.edits)}tD(tN,"create"),tx.create=tN,tD(tw,"is"),tx.is=tw;var tI=G||(G={});function t_(e,t,r){let n={kind:"create",uri:e};return void 0!==t&&(void 0!==t.overwrite||void 0!==t.ignoreIfExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n}function tP(e){return e&&"create"===e.kind&&eW.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||eW.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||eW.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tD(t_,"create"),tI.create=t_,tD(tP,"is"),tI.is=tP;var tO=z||(z={});function tL(e,t,r,n){let i={kind:"rename",oldUri:e,newUri:t};return void 0!==r&&(void 0!==r.overwrite||void 0!==r.ignoreIfExists)&&(i.options=r),void 0!==n&&(i.annotationId=n),i}function tM(e){return e&&"rename"===e.kind&&eW.string(e.oldUri)&&eW.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||eW.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||eW.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tD(tL,"create"),tO.create=tL,tD(tM,"is"),tO.is=tM;var tj=K||(K={});function tF(e,t,r){let n={kind:"delete",uri:e};return void 0!==t&&(void 0!==t.recursive||void 0!==t.ignoreIfNotExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n}function tG(e){return e&&"delete"===e.kind&&eW.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||eW.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||eW.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tD(tF,"create"),tj.create=tF,tD(tG,"is"),tj.is=tG;var tz=q||(q={});function tK(e){return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every(e=>eW.string(e.kind)?G.is(e)||z.is(e)||K.is(e):F.is(e)))}tD(tK,"is"),tz.is=tK,U=class{static{tD(this,"TextEditChangeImpl")}constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,i;if(void 0===r?n=D.insert(e,t):M.is(r)?(i=r,n=j.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=j.insert(e,t,i)),this.edits.push(n),void 0!==i)return i}replace(e,t,r){let n,i;if(void 0===r?n=D.replace(e,t):M.is(r)?(i=r,n=j.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=j.replace(e,t,i)),this.edits.push(n),void 0!==i)return i}delete(e,t){let r,n;if(void 0===t?r=D.del(e):M.is(t)?(n=t,r=j.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),r=j.del(e,n)),this.edits.push(r),void 0!==n)return n}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(void 0===e)throw Error("Text edit change is not configured to manage change annotations.")}},B=class{static{tD(this,"ChangeAnnotations")}constructor(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,t){let r;if(M.is(e)?r=e:(r=this.nextId(),t=e),void 0!==this._annotations[r])throw Error(`Id ${r} is already in use.`);if(void 0===t)throw Error(`No annotation provided for id ${r}`);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}},W=class{static{tD(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new B(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(e=>{if(F.is(e)){let t=new U(e.edits,this._changeAnnotations);this._textEditChanges[e.textDocument.uri]=t}})):e.changes&&Object.keys(e.changes).forEach(t=>{let r=new U(e.changes[t]);this._textEditChanges[t]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Y.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");let t={uri:e.uri,version:e.version},r=this._textEditChanges[t.uri];if(!r){let e=[];this._workspaceEdit.documentChanges.push({textDocument:t,edits:e}),r=new U(e,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}{if(this.initChanges(),void 0===this._workspaceEdit.changes)throw Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];if(!t){let r=[];this._workspaceEdit.changes[e]=r,t=new U(r),this._textEditChanges[e]=t}return t}}initDocumentChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new B,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,t,r){let n,i,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(t)||M.is(t)?n=t:r=t,void 0===n?i=G.create(e,r):(a=M.is(n)?n:this._changeAnnotations.manage(n),i=G.create(e,r,a)),this._workspaceEdit.documentChanges.push(i),void 0!==a)return a}renameFile(e,t,r,n){let i,a,s;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(r)||M.is(r)?i=r:n=r,void 0===i?a=z.create(e,t,n):(s=M.is(i)?i:this._changeAnnotations.manage(i),a=z.create(e,t,n,s)),this._workspaceEdit.documentChanges.push(a),void 0!==s)return s}deleteFile(e,t,r){let n,i,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(t)||M.is(t)?n=t:r=t,void 0===n?i=K.create(e,r):(a=M.is(n)?n:this._changeAnnotations.manage(n),i=K.create(e,r,a)),this._workspaceEdit.documentChanges.push(i),void 0!==a)return a}};var tq=V||(V={});function tU(e){return{uri:e}}function tB(e){return eW.defined(e)&&eW.string(e.uri)}tD(tU,"create"),tq.create=tU,tD(tB,"is"),tq.is=tB;var tW=H||(H={});function tV(e,t){return{uri:e,version:t}}function tH(e){return eW.defined(e)&&eW.string(e.uri)&&eW.integer(e.version)}tD(tV,"create"),tW.create=tV,tD(tH,"is"),tW.is=tH;var tY=Y||(Y={});function tQ(e,t){return{uri:e,version:t}}function tZ(e){return eW.defined(e)&&eW.string(e.uri)&&(null===e.version||eW.integer(e.version))}tD(tQ,"create"),tY.create=tQ,tD(tZ,"is"),tY.is=tZ;var tX=Q||(Q={});function tJ(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}}function t0(e){return eW.defined(e)&&eW.string(e.uri)&&eW.string(e.languageId)&&eW.integer(e.version)&&eW.string(e.text)}tD(tJ,"create"),tX.create=tJ,tD(t0,"is"),tX.is=t0;var t1=Z||(Z={});function t2(e){return e===t1.PlainText||e===t1.Markdown}t1.PlainText="plaintext",t1.Markdown="markdown",tD(t2,"is"),t1.is=t2;var t3=X||(X={});function t4(e){return eW.objectLiteral(e)&&Z.is(e.kind)&&eW.string(e.value)}tD(t4,"is"),t3.is=t4,(n=J||(J={})).Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25,(i=ee||(ee={})).PlainText=1,i.Snippet=2,(et||(et={})).Deprecated=1;var t9=er||(er={});function t5(e,t,r){return{newText:e,insert:t,replace:r}}function t6(e){return e&&eW.string(e.newText)&&R.is(e.insert)&&R.is(e.replace)}tD(t5,"create"),t9.create=t5,tD(t6,"is"),t9.is=t6,(a=en||(en={})).asIs=1,a.adjustIndentation=2;var t7=ei||(ei={});function t8(e){return e&&(eW.string(e.detail)||void 0===e.detail)&&(eW.string(e.description)||void 0===e.description)}tD(t8,"is"),t7.is=t8;var re=ea||(ea={});function rt(e){return{label:e}}tD(rt,"create"),re.create=rt;var rr=es||(es={});function rn(e,t){return{items:e||[],isIncomplete:!!t}}tD(rn,"create"),rr.create=rn;var ri=eo||(eo={});function ra(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function rs(e){return eW.string(e)||eW.objectLiteral(e)&&eW.string(e.language)&&eW.string(e.value)}tD(ra,"fromPlainText"),ri.fromPlainText=ra,tD(rs,"is"),ri.is=rs;var ro=el||(el={});function rl(e){return!!e&&eW.objectLiteral(e)&&(X.is(e.contents)||eo.is(e.contents)||eW.typedArray(e.contents,eo.is))&&(void 0===e.range||R.is(e.range))}tD(rl,"is"),ro.is=rl;var ru=eu||(eu={});function rc(e,t){return t?{label:e,documentation:t}:{label:e}}tD(rc,"create"),ru.create=rc;var rp=ec||(ec={});function rf(e,t,...r){let n={label:e};return eW.defined(t)&&(n.documentation=t),eW.defined(r)?n.parameters=r:n.parameters=[],n}tD(rf,"create"),rp.create=rf,(s=ep||(ep={})).Text=1,s.Read=2,s.Write=3;var rd=ef||(ef={});function rm(e,t){let r={range:e};return eW.number(t)&&(r.kind=t),r}tD(rm,"create"),rd.create=rm,(o=ed||(ed={})).File=1,o.Module=2,o.Namespace=3,o.Package=4,o.Class=5,o.Method=6,o.Property=7,o.Field=8,o.Constructor=9,o.Enum=10,o.Interface=11,o.Function=12,o.Variable=13,o.Constant=14,o.String=15,o.Number=16,o.Boolean=17,o.Array=18,o.Object=19,o.Key=20,o.Null=21,o.EnumMember=22,o.Struct=23,o.Event=24,o.Operator=25,o.TypeParameter=26,(em||(em={})).Deprecated=1;var rh=eh||(eh={});function ry(e,t,r,n,i){let a={name:e,kind:t,location:{uri:n,range:r}};return i&&(a.containerName=i),a}tD(ry,"create"),rh.create=ry;var rg=ey||(ey={});function rT(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}}tD(rT,"create"),rg.create=rT;var rv=eg||(eg={});function r$(e,t,r,n,i,a){let s={name:e,detail:t,kind:r,range:n,selectionRange:i};return void 0!==a&&(s.children=a),s}function rR(e){return e&&eW.string(e.name)&&eW.number(e.kind)&&R.is(e.range)&&R.is(e.selectionRange)&&(void 0===e.detail||eW.string(e.detail))&&(void 0===e.deprecated||eW.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))}tD(r$,"create"),rv.create=r$,tD(rR,"is"),rv.is=rR,(l=eT||(eT={})).Empty="",l.QuickFix="quickfix",l.Refactor="refactor",l.RefactorExtract="refactor.extract",l.RefactorInline="refactor.inline",l.RefactorRewrite="refactor.rewrite",l.Source="source",l.SourceOrganizeImports="source.organizeImports",l.SourceFixAll="source.fixAll",(u=ev||(ev={})).Invoked=1,u.Automatic=2;var rE=e$||(e$={});function rb(e,t,r){let n={diagnostics:e};return null!=t&&(n.only=t),null!=r&&(n.triggerKind=r),n}function rA(e){return eW.defined(e)&&eW.typedArray(e.diagnostics,P.is)&&(void 0===e.only||eW.typedArray(e.only,eW.string))&&(void 0===e.triggerKind||e.triggerKind===ev.Invoked||e.triggerKind===ev.Automatic)}tD(rb,"create"),rE.create=rb,tD(rA,"is"),rE.is=rA;var rC=eR||(eR={});function rS(e,t,r){let n={title:e},i=!0;return"string"==typeof t?(i=!1,n.kind=t):O.is(t)?n.command=t:n.edit=t,i&&void 0!==r&&(n.kind=r),n}function rk(e){return e&&eW.string(e.title)&&(void 0===e.diagnostics||eW.typedArray(e.diagnostics,P.is))&&(void 0===e.kind||eW.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||O.is(e.command))&&(void 0===e.isPreferred||eW.boolean(e.isPreferred))&&(void 0===e.edit||q.is(e.edit))}tD(rS,"create"),rC.create=rS,tD(rk,"is"),rC.is=rk;var rx=eE||(eE={});function rN(e,t){let r={range:e};return eW.defined(t)&&(r.data=t),r}function rw(e){return eW.defined(e)&&R.is(e.range)&&(eW.undefined(e.command)||O.is(e.command))}tD(rN,"create"),rx.create=rN,tD(rw,"is"),rx.is=rw;var rI=eb||(eb={});function r_(e,t){return{tabSize:e,insertSpaces:t}}function rP(e){return eW.defined(e)&&eW.uinteger(e.tabSize)&&eW.boolean(e.insertSpaces)}tD(r_,"create"),rI.create=r_,tD(rP,"is"),rI.is=rP;var rO=eA||(eA={});function rD(e,t,r){return{range:e,target:t,data:r}}function rL(e){return eW.defined(e)&&R.is(e.range)&&(eW.undefined(e.target)||eW.string(e.target))}tD(rD,"create"),rO.create=rD,tD(rL,"is"),rO.is=rL;var rM=eC||(eC={});function rj(e,t){return{range:e,parent:t}}function rF(e){return eW.objectLiteral(e)&&R.is(e.range)&&(void 0===e.parent||rM.is(e.parent))}tD(rj,"create"),rM.create=rj,tD(rF,"is"),rM.is=rF,(c=eS||(eS={})).namespace="namespace",c.type="type",c.class="class",c.enum="enum",c.interface="interface",c.struct="struct",c.typeParameter="typeParameter",c.parameter="parameter",c.variable="variable",c.property="property",c.enumMember="enumMember",c.event="event",c.function="function",c.method="method",c.macro="macro",c.keyword="keyword",c.modifier="modifier",c.comment="comment",c.string="string",c.number="number",c.regexp="regexp",c.operator="operator",c.decorator="decorator",(p=ek||(ek={})).declaration="declaration",p.definition="definition",p.readonly="readonly",p.static="static",p.deprecated="deprecated",p.abstract="abstract",p.async="async",p.modification="modification",p.documentation="documentation",p.defaultLibrary="defaultLibrary";var rG=ex||(ex={});function rz(e){return eW.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])}tD(rz,"is"),rG.is=rz;var rK=eN||(eN={});function rq(e,t){return{range:e,text:t}}function rU(e){return null!=e&&R.is(e.range)&&eW.string(e.text)}tD(rq,"create"),rK.create=rq,tD(rU,"is"),rK.is=rU;var rB=ew||(ew={});function rW(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}}function rV(e){return null!=e&&R.is(e.range)&&eW.boolean(e.caseSensitiveLookup)&&(eW.string(e.variableName)||void 0===e.variableName)}tD(rW,"create"),rB.create=rW,tD(rV,"is"),rB.is=rV;var rH=eI||(eI={});function rY(e,t){return{range:e,expression:t}}function rQ(e){return null!=e&&R.is(e.range)&&(eW.string(e.expression)||void 0===e.expression)}tD(rY,"create"),rH.create=rY,tD(rQ,"is"),rH.is=rQ;var rZ=e_||(e_={});function rX(e,t){return{frameId:e,stoppedLocation:t}}function rJ(e){return eW.defined(e)&&R.is(e.stoppedLocation)}tD(rX,"create"),rZ.create=rX,tD(rJ,"is"),rZ.is=rJ;var r0=eP||(eP={});function r1(e){return 1===e||2===e}r0.Type=1,r0.Parameter=2,tD(r1,"is"),r0.is=r1;var r2=eO||(eO={});function r3(e){return{value:e}}function r4(e){return eW.objectLiteral(e)&&(void 0===e.tooltip||eW.string(e.tooltip)||X.is(e.tooltip))&&(void 0===e.location||E.is(e.location))&&(void 0===e.command||O.is(e.command))}tD(r3,"create"),r2.create=r3,tD(r4,"is"),r2.is=r4;var r9=eD||(eD={});function r5(e,t,r){let n={position:e,label:t};return void 0!==r&&(n.kind=r),n}function r6(e){return eW.objectLiteral(e)&&$.is(e.position)&&(eW.string(e.label)||eW.typedArray(e.label,eO.is))&&(void 0===e.kind||eP.is(e.kind))&&void 0===e.textEdits||eW.typedArray(e.textEdits,D.is)&&(void 0===e.tooltip||eW.string(e.tooltip)||X.is(e.tooltip))&&(void 0===e.paddingLeft||eW.boolean(e.paddingLeft))&&(void 0===e.paddingRight||eW.boolean(e.paddingRight))}tD(r5,"create"),r9.create=r5,tD(r6,"is"),r9.is=r6;var r7=eL||(eL={});function r8(e){return{kind:"snippet",value:e}}tD(r8,"createSnippet"),r7.createSnippet=r8;var ne=eM||(eM={});function nt(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}}tD(nt,"create"),ne.create=nt;var nr=ej||(ej={});function nn(e){return{items:e}}tD(nn,"create"),nr.create=nn,(f=eF||(eF={})).Invoked=0,f.Automatic=1;var ni=eG||(eG={});function na(e,t){return{range:e,text:t}}tD(na,"create"),ni.create=na;var ns=ez||(ez={});function no(e,t){return{triggerKind:e,selectedCompletionInfo:t}}tD(no,"create"),ns.create=no;var nl=eK||(eK={});function nu(e){return eW.objectLiteral(e)&&g.is(e.uri)&&eW.string(e.name)}tD(nu,"is"),nl.is=nu,eq=["\n","\r\n","\r"],function(e){function t(e,t,r,n){return new eB(e,t,r,n)}function r(e){return!!(eW.defined(e)&&eW.string(e.uri)&&(eW.undefined(e.languageId)||eW.string(e.languageId))&&eW.uinteger(e.lineCount)&&eW.func(e.getText)&&eW.func(e.positionAt)&&eW.func(e.offsetAt))}function n(e,t){let r=e.getText(),n=i(t,(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),a=r.length;for(let t=n.length-1;t>=0;t--){let i=n[t],s=e.offsetAt(i.range.start),o=e.offsetAt(i.range.end);if(o<=a)r=r.substring(0,s)+i.newText+r.substring(o,r.length);else throw Error("Overlapping edit");a=s}return r}function i(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);i(n,t),i(a,t);let s=0,o=0,l=0;for(;s<n.length&&o<a.length;)0>=t(n[s],a[o])?e[l++]=n[s++]:e[l++]=a[o++];for(;s<n.length;)e[l++]=n[s++];for(;o<a.length;)e[l++]=a[o++];return e}tD(t,"create"),e.create=t,tD(r,"is"),e.is=r,tD(n,"applyEdits"),e.applyEdits=n,tD(i,"mergeSort")}(eU||(eU={})),eB=class{static{tD(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,r=!0;for(let n=0;n<t.length;n++){r&&(e.push(n),r=!1);let i=t.charAt(n);r="\r"===i||"\n"===i,"\r"===i&&n+1<t.length&&"\n"===t.charAt(n+1)&&n++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return $.create(0,e);for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return $.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,n),r)}get lineCount(){return this.getLineOffsets().length}},function(e){let t=Object.prototype.toString;function r(e){return void 0!==e}function n(e){return void 0===e}function i(e){return!0===e||!1===e}function a(e){return"[object String]"===t.call(e)}function s(e){return"[object Number]"===t.call(e)}function o(e,r,n){return"[object Number]"===t.call(e)&&r<=e&&e<=n}function l(e){return"[object Number]"===t.call(e)&&-0x80000000<=e&&e<=0x7fffffff}function u(e){return"[object Number]"===t.call(e)&&0<=e&&e<=0x7fffffff}function c(e){return"[object Function]"===t.call(e)}function p(e){return null!==e&&"object"==typeof e}function f(e,t){return Array.isArray(e)&&e.every(t)}tD(r,"defined"),e.defined=r,tD(n,"undefined"),e.undefined=n,tD(i,"boolean"),e.boolean=i,tD(a,"string"),e.string=a,tD(s,"number"),e.number=s,tD(o,"numberRange"),e.numberRange=o,tD(l,"integer"),e.integer=l,tD(u,"uinteger"),e.uinteger=u,tD(c,"func"),e.func=c,tD(p,"objectLiteral"),e.objectLiteral=p,tD(f,"typedArray"),e.typedArray=f}(eW||(eW={}))}},function(){return n&&(i=(0,n[t_(n)[0]])(n=0)),i}),tU=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(e){function t(){if(void 0===r)throw Error("No runtime abstraction layer installed");return r}Object.defineProperty(e,"__esModule",{value:!0}),tD(t,"RAL");var r,n=t||(t={});function i(e){if(void 0===e)throw Error("No runtime abstraction layer provided");r=e}tD(i,"install"),n.install=i,e.default=t}}),tB=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(e){function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function i(e){return e instanceof Error}function a(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,tD(t,"boolean"),e.boolean=t,tD(r,"string"),e.string=r,tD(n,"number"),e.number=n,tD(i,"error"),e.error=i,tD(a,"func"),e.func=a,tD(s,"array"),e.array=s,tD(o,"stringArray"),e.stringArray=o}}),tW=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(e){let t;Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var r,n,i=tU();r=n||(e.Event=n={}),t={dispose(){}},r.None=function(){return t};var a=class{static{tD(this,"CallbackList")}add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:tD(()=>this.remove(e,t),"dispose")})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e)if(this._contexts[n]===t){this._callbacks.splice(n,1),this._contexts.splice(n,1);return}else r=!0;if(r)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],r=this._callbacks.slice(0),n=this._contexts.slice(0);for(let a=0,s=r.length;a<s;a++)try{t.push(r[a].apply(n[a],e))}catch(e){(0,i.default)().console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}},s=class e{static{tD(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(t,r,n)=>{this._callbacks||(this._callbacks=new a),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,r);let i={dispose:tD(()=>{this._callbacks&&(this._callbacks.remove(t,r),i.dispose=e._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};e.Emitter=s,s._noop=function(){}}}),tV=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t,r=tU(),n=tB(),i=tW(),a=t||(e.CancellationToken=t={});function s(e){return e&&(e===a.None||e===a.Cancelled||n.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)}a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i.Event.None}),tD(s,"is"),a.is=s;var o=Object.freeze(function(e,t){let n=(0,r.default)().timer.setTimeout(e.bind(t),0);return{dispose(){n.dispose()}}}),l=class{static{tD(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){!this._isCancelled&&(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}};e.CancellationTokenSource=class{static{tD(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=t.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=t.None}}}}),tH=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;var t,r,n,i=tB();(t=r||(e.ErrorCodes=r={})).ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3,e.ResponseError=class e extends Error{static{tD(this,"ResponseError")}constructor(t,n,a){super(n),this.code=i.number(t)?t:r.UnknownErrorCode,this.data=a,Object.setPrototypeOf(this,e.prototype)}toJson(){let e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}};var a=class e{static{tD(this,"ParameterStructures")}constructor(e){this.kind=e}static is(t){return t===e.auto||t===e.byName||t===e.byPosition}toString(){return this.kind}};e.ParameterStructures=a,a.auto=new a("auto"),a.byPosition=new a("byPosition"),a.byName=new a("byName");var s=class{static{tD(this,"AbstractMessageSignature")}constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return a.auto}};e.AbstractMessageSignature=s,e.RequestType0=class extends s{static{tD(this,"RequestType0")}constructor(e){super(e,0)}},e.RequestType=class extends s{static{tD(this,"RequestType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType1=class extends s{static{tD(this,"RequestType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType2=class extends s{static{tD(this,"RequestType2")}constructor(e){super(e,2)}},e.RequestType3=class extends s{static{tD(this,"RequestType3")}constructor(e){super(e,3)}},e.RequestType4=class extends s{static{tD(this,"RequestType4")}constructor(e){super(e,4)}},e.RequestType5=class extends s{static{tD(this,"RequestType5")}constructor(e){super(e,5)}},e.RequestType6=class extends s{static{tD(this,"RequestType6")}constructor(e){super(e,6)}},e.RequestType7=class extends s{static{tD(this,"RequestType7")}constructor(e){super(e,7)}},e.RequestType8=class extends s{static{tD(this,"RequestType8")}constructor(e){super(e,8)}},e.RequestType9=class extends s{static{tD(this,"RequestType9")}constructor(e){super(e,9)}},e.NotificationType=class extends s{static{tD(this,"NotificationType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType0=class extends s{static{tD(this,"NotificationType0")}constructor(e){super(e,0)}},e.NotificationType1=class extends s{static{tD(this,"NotificationType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType2=class extends s{static{tD(this,"NotificationType2")}constructor(e){super(e,2)}},e.NotificationType3=class extends s{static{tD(this,"NotificationType3")}constructor(e){super(e,3)}},e.NotificationType4=class extends s{static{tD(this,"NotificationType4")}constructor(e){super(e,4)}},e.NotificationType5=class extends s{static{tD(this,"NotificationType5")}constructor(e){super(e,5)}},e.NotificationType6=class extends s{static{tD(this,"NotificationType6")}constructor(e){super(e,6)}},e.NotificationType7=class extends s{static{tD(this,"NotificationType7")}constructor(e){super(e,7)}},e.NotificationType8=class extends s{static{tD(this,"NotificationType8")}constructor(e){super(e,8)}},e.NotificationType9=class extends s{static{tD(this,"NotificationType9")}constructor(e){super(e,9)}},function(e){function t(e){return e&&i.string(e.method)&&(i.string(e.id)||i.number(e.id))}function r(e){return e&&i.string(e.method)&&void 0===e.id}function n(e){return e&&(void 0!==e.result||!!e.error)&&(i.string(e.id)||i.number(e.id)||null===e.id)}tD(t,"isRequest"),e.isRequest=t,tD(r,"isNotification"),e.isNotification=r,tD(n,"isResponse"),e.isResponse=n}(n||(e.Message=n={}))}}),tY=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0,(t=n||(e.Touch=n={})).None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last;var t,r,n,i=class{static{tD(this,"LinkedMap")}constructor(){this[r]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=n.None){let r=this._map.get(e);if(r)return t!==n.None&&this.touch(r,t),r.value}set(e,t,r=n.None){let i=this._map.get(e);if(i)i.value=t,r!==n.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==r)throw Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tD(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.key,done:!1};return t=t.next,e}},"next")};return r}values(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tD(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.value,done:!1};return t=t.next,e}},"next")};return r}entries(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tD(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:[t.key,t.value],done:!1};return t=t.next,e}},"next")};return r}[(r=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail)if(this._head)e.next=this._head,this._head.previous=e;else throw Error("Invalid list");else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail)if(this._tail)e.previous=this._tail,this._tail.next=e;else throw Error("Invalid list");else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw Error("Invalid list");if(t===n.First||t===n.Last){if(t===n.First){if(e===this._head)return;let t=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(t.previous=r,r.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;let t=e.next,r=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=r,r.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){for(let[t,r]of(this.clear(),e))this.set(t,r)}};e.LinkedMap=i,e.LRUCache=class extends i{static{tD(this,"LRUCache")}constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}}}),tQ=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0;var t,r=t||(e.Disposable=t={});function n(e){return{dispose:e}}tD(n,"create"),r.create=n}}),tZ=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t,r,n=tV();(t=r||(r={})).Continue=0,t.Cancelled=1,e.SharedArraySenderStrategy=class{static{tD(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(null===e.id)return;let t=new SharedArrayBuffer(4);new Int32Array(t,0,1)[0]=r.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let n=this.buffers.get(t);if(void 0===n)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,r.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};var i=class{static{tD(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===r.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},a=class{static{tD(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new i(e)}cancel(){}dispose(){}};e.SharedArrayReceiverStrategy=class{static{tD(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let t=e.$cancellationData;return void 0===t?new n.CancellationTokenSource:new a(t)}}}}),tX=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;var t=tU();e.Semaphore=class{static{tD(this,"Semaphore")}constructor(e=1){if(e<=0)throw Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(t=>{this._active--,e.resolve(t),this.runNext()},t=>{this._active--,e.reject(t),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}}}),tJ=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var t,r,n=tU(),i=tB(),a=tW(),s=tX(),o=t||(e.MessageReader=t={});function l(e){return e&&i.func(e.listen)&&i.func(e.dispose)&&i.func(e.onError)&&i.func(e.onClose)&&i.func(e.onPartialMessage)}tD(l,"is"),o.is=l;var u=class{static{tD(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new a.Emitter,this.closeEmitter=new a.Emitter,this.partialMessageEmitter=new a.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:Error(`Reader received error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageReader=u;var c=r||(r={});function p(e){let t,r,i,a=new Map,s=new Map;if(void 0===e||"string"==typeof e)t=e??"utf-8";else{if(t=e.charset??"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,a.set(r.name,r)),void 0!==e.contentDecoders)for(let t of e.contentDecoders)a.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(i=e.contentTypeDecoder,s.set(i.name,i)),void 0!==e.contentTypeDecoders)for(let t of e.contentTypeDecoders)s.set(t.name,t)}return void 0===i&&(i=(0,n.default)().applicationJson.decoder,s.set(i.name,i)),{charset:t,contentDecoder:r,contentDecoders:a,contentTypeDecoder:i,contentTypeDecoders:s}}tD(p,"fromOptions"),c.fromOptions=p,e.ReadableStreamMessageReader=class extends u{static{tD(this,"ReadableStreamMessageReader")}constructor(e,t){super(),this.readable=e,this.options=r.fromOptions(t),this.buffer=(0,n.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new s.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(e=>{this.onData(e)});return this.readable.onError(e=>this.fireError(e)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(-1===this.nextMessageLength){let e=this.buffer.tryReadHeaders(!0);if(!e)return;let t=e.get("content-length");if(!t)return void this.fireError(Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(e))}`));let r=parseInt(t);if(isNaN(r))return void this.fireError(Error(`Content-Length value must be a number. Got ${t}`));this.nextMessageLength=r}let e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let t=void 0!==this.options.contentDecoder?await this.options.contentDecoder.decode(e):e,r=await this.options.contentTypeDecoder.decode(t,this.options);this.callback(r)}).catch(e=>{this.fireError(e)})}}catch(e){this.fireError(e)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,n.default)().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}}}),t0=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;var t,r,n=tU(),i=tB(),a=tX(),s=tW(),o=t||(e.MessageWriter=t={});function l(e){return e&&i.func(e.dispose)&&i.func(e.onClose)&&i.func(e.onError)&&i.func(e.write)}tD(l,"is"),o.is=l;var u=class{static{tD(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,r){this.errorEmitter.fire([this.asError(e),t,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:Error(`Writer received error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageWriter=u;var c=r||(r={});function p(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,n.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,n.default)().applicationJson.encoder}}tD(p,"fromOptions"),c.fromOptions=p,e.WriteableStreamMessageWriter=class extends u{static{tD(this,"WriteableStreamMessageWriter")}constructor(e,t){super(),this.writable=e,this.options=r.fromOptions(t),this.errorCount=0,this.writeSemaphore=new a.Semaphore(1),this.writable.onError(e=>this.fireError(e)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e).then(t=>{let r=[];return r.push("Content-Length: ",t.byteLength.toString(),"\r\n"),r.push("\r\n"),this.doWrite(e,r,t)},e=>{throw this.fireError(e),e}))}async doWrite(e,t,r){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(r)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}}}),t1=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMessageBuffer=void 0,e.AbstractMessageBuffer=class{static{tD(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(e=!1){if(0===this._chunks.length)return;let t=0,r=0,n=0,i=0;e:for(;r<this._chunks.length;){let e=this._chunks[r];for(n=0;n<e.length;){switch(e[n]){case 13:switch(t){case 0:t=1;break;case 2:t=3;break;default:t=0}break;case 10:switch(t){case 1:t=2;break;case 3:t=4,n++;break e;default:t=0}break;default:t=0}n++}i+=e.byteLength,r++}if(4!==t)return;let a=this._read(i+n),s=new Map,o=this.toString(a,"ascii").split("\r\n");if(o.length<2)return s;for(let t=0;t<o.length-2;t++){let r=o[t],n=r.indexOf(":");if(-1===n)throw Error(`Message header must separate key and value using ':' +${r}`);let i=r.substr(0,n),a=r.substr(n+1).trim();s.set(e?i.toLowerCase():i,a)}return s}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(0===e)return this.emptyBuffer();if(e>this._totalLength)throw Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){let t=this._chunks[0],r=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,r}let t=this.allocNative(e),r=0;for(;e>0;){let n=this._chunks[0];if(n.byteLength>e){let i=n.slice(0,e);t.set(i,r),r+=e,this._chunks[0]=n.slice(e),this._totalLength-=e,e-=e}else t.set(n,r),r+=n.byteLength,this._chunks.shift(),this._totalLength-=n.byteLength,e-=n.byteLength}return t}}}}),t2=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C=tU(),S=tB(),k=tH(),x=tY(),N=tW(),w=tV();(s||(s={})).type=new k.NotificationType("$/cancelRequest");var I=o||(e.ProgressToken=o={});function _(e){return"string"==typeof e||"number"==typeof e}tD(_,"is"),I.is=_,(l||(l={})).type=new k.NotificationType("$/progress"),e.ProgressType=class{static{tD(this,"ProgressType")}};var P=u||(u={});function O(e){return S.func(e)}tD(O,"is"),P.is=O,e.NullLogger=Object.freeze({error:tD(()=>{},"error"),warn:tD(()=>{},"warn"),info:tD(()=>{},"info"),log:tD(()=>{},"log")}),(t=c||(e.Trace=c={}))[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose",(r=p||(e.TraceValues=p={})).Off="off",r.Messages="messages",r.Compact="compact",r.Verbose="verbose";var D=c||(e.Trace=c={});function L(e){if(!S.string(e))return D.Off;switch(e=e.toLowerCase()){case"off":default:return D.Off;case"messages":return D.Messages;case"compact":return D.Compact;case"verbose":return D.Verbose}}function M(e){switch(e){case D.Off:return"off";case D.Messages:return"messages";case D.Compact:return"compact";case D.Verbose:return"verbose";default:return"off"}}tD(L,"fromString"),D.fromString=L,tD(M,"toString"),D.toString=M,(n=f||(e.TraceFormat=f={})).Text="text",n.JSON="json";var j=f||(e.TraceFormat=f={});function F(e){return S.string(e)&&"json"===(e=e.toLowerCase())?j.JSON:j.Text}tD(F,"fromString"),j.fromString=F,(d||(e.SetTraceNotification=d={})).type=new k.NotificationType("$/setTrace"),(m||(e.LogTraceNotification=m={})).type=new k.NotificationType("$/logTrace"),(i=h||(e.ConnectionErrors=h={}))[i.Closed=1]="Closed",i[i.Disposed=2]="Disposed",i[i.AlreadyListening=3]="AlreadyListening";var G=class e extends Error{static{tD(this,"ConnectionError")}constructor(t,r){super(r),this.code=t,Object.setPrototypeOf(this,e.prototype)}};e.ConnectionError=G;var z=y||(e.ConnectionStrategy=y={});function K(e){return e&&S.func(e.cancelUndispatched)}tD(K,"is"),z.is=K;var q=g||(e.IdCancellationReceiverStrategy=g={});function U(e){return e&&(void 0===e.kind||"id"===e.kind)&&S.func(e.createCancellationTokenSource)&&(void 0===e.dispose||S.func(e.dispose))}tD(U,"is"),q.is=U;var B=T||(e.RequestCancellationReceiverStrategy=T={});function W(e){return e&&"request"===e.kind&&S.func(e.createCancellationTokenSource)&&(void 0===e.dispose||S.func(e.dispose))}tD(W,"is"),B.is=W;var V=v||(e.CancellationReceiverStrategy=v={});function H(e){return g.is(e)||T.is(e)}V.Message=Object.freeze({createCancellationTokenSource:e=>new w.CancellationTokenSource}),tD(H,"is"),V.is=H;var Y=$||(e.CancellationSenderStrategy=$={});function Q(e){return e&&S.func(e.sendCancellation)&&S.func(e.cleanup)}Y.Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(s.type,{id:t}),cleanup(e){}}),tD(Q,"is"),Y.is=Q;var Z=R||(e.CancellationStrategy=R={});function X(e){return e&&v.is(e.receiver)&&$.is(e.sender)}Z.Message=Object.freeze({receiver:v.Message,sender:$.Message}),tD(X,"is"),Z.is=X;var J=E||(e.MessageStrategy=E={});function ee(e){return e&&S.func(e.handleMessage)}tD(ee,"is"),J.is=ee;var et=b||(e.ConnectionOptions=b={});function er(e){return e&&(R.is(e.cancellationStrategy)||y.is(e.connectionStrategy)||E.is(e.messageStrategy))}function en(t,r,n,i){let a,p,y,T,v=void 0!==n?n:e.NullLogger,$=0,b=0,I=0,_=new Map,P=new Map,O=new Map,D=new x.LinkedMap,L=new Map,M=new Set,j=new Map,F=c.Off,z=f.Text,K=A.New,q=new N.Emitter,U=new N.Emitter,B=new N.Emitter,W=new N.Emitter,V=new N.Emitter,H=i&&i.cancellationStrategy?i.cancellationStrategy:R.Message;function Y(e){if(null===e)throw Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function Q(e){return null===e?"res-unknown-"+(++I).toString():"res-"+e.toString()}function Z(){return"not-"+(++b).toString()}function X(e,t){k.Message.isRequest(t)?e.set(Y(t.id),t):k.Message.isResponse(t)?e.set(Q(t.id),t):e.set(Z(),t)}function J(e){}function ee(){return K===A.Listening}function et(){return K===A.Closed}function er(){return K===A.Disposed}function en(){(K===A.New||K===A.Listening)&&(K=A.Closed,U.fire(void 0))}function ei(e){q.fire([e,void 0,void 0])}function ea(e){q.fire(e)}function es(){a||0===D.size||(a=(0,C.default)().timer.setImmediate(()=>{a=void 0,el()}))}function eo(e){k.Message.isRequest(e)?ec(e):k.Message.isNotification(e)?ef(e):k.Message.isResponse(e)?ep(e):ed(e)}function el(){if(0===D.size)return;let e=D.shift();try{let t=i?.messageStrategy;E.is(t)?t.handleMessage(e,eo):eo(e)}finally{es()}}tD(Y,"createRequestQueueKey"),tD(Q,"createResponseQueueKey"),tD(Z,"createNotificationQueueKey"),tD(X,"addMessageToQueue"),tD(J,"cancelUndispatched"),tD(ee,"isListening"),tD(et,"isClosed"),tD(er,"isDisposed"),tD(en,"closeHandler"),tD(ei,"readErrorHandler"),tD(ea,"writeErrorHandler"),t.onClose(en),t.onError(ei),r.onClose(en),r.onError(ea),tD(es,"triggerMessageQueue"),tD(eo,"handleMessage"),tD(el,"processMessageQueue");let eu=tD(e=>{try{if(k.Message.isNotification(e)&&e.method===s.type.method){let t=e.params.id,n=Y(t),a=D.get(n);if(k.Message.isRequest(a)){let s=i?.connectionStrategy,o=s&&s.cancelUndispatched?s.cancelUndispatched(a,J):J(a);if(o&&(void 0!==o.error||void 0!==o.result)){D.delete(n),j.delete(t),o.id=a.id,eg(o,e.method,Date.now()),r.write(o).catch(()=>v.error("Sending response for canceled message failed."));return}}let s=j.get(t);if(void 0!==s){s.cancel(),ev(e);return}M.add(t)}X(D,e)}finally{es()}},"callback");function ec(e){let t,n;if(er())return;function i(t,n,i){let a={jsonrpc:"2.0",id:e.id};t instanceof k.ResponseError?a.error=t.toJson():a.result=void 0===t?null:t,eg(a,n,i),r.write(a).catch(()=>v.error("Sending response failed."))}function a(t,n,i){let a={jsonrpc:"2.0",id:e.id,error:t.toJson()};eg(a,n,i),r.write(a).catch(()=>v.error("Sending response failed."))}function s(t,n,i){void 0===t&&(t=null);let a={jsonrpc:"2.0",id:e.id,result:t};eg(a,n,i),r.write(a).catch(()=>v.error("Sending response failed."))}tD(i,"reply"),tD(a,"replyError"),tD(s,"replySuccess"),eT(e);let o=_.get(e.method);o&&(t=o.type,n=o.handler);let l=Date.now();if(n||y){let r=e.id??String(Date.now()),o=g.is(H.receiver)?H.receiver.createCancellationTokenSource(r):H.receiver.createCancellationTokenSource(e);null!==e.id&&M.has(e.id)&&o.cancel(),null!==e.id&&j.set(r,o);try{let u;if(n)if(void 0===e.params){if(void 0!==t&&0!==t.numberOfParams)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines ${t.numberOfParams} params but received none.`),e.method,l);u=n(o.token)}else if(Array.isArray(e.params)){if(void 0!==t&&t.parameterStructures===k.ParameterStructures.byName)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,l);u=n(...e.params,o.token)}else{if(void 0!==t&&t.parameterStructures===k.ParameterStructures.byPosition)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,l);u=n(e.params,o.token)}else y&&(u=y(e.method,e.params,o.token));let c=u;u?c.then?c.then(t=>{j.delete(r),i(t,e.method,l)},t=>{j.delete(r),t instanceof k.ResponseError?a(t,e.method,l):t&&S.string(t.message)?a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}):(j.delete(r),i(u,e.method,l)):(j.delete(r),s(u,e.method,l))}catch(t){j.delete(r),t instanceof k.ResponseError?i(t,e.method,l):t&&S.string(t.message)?a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}}else a(new k.ResponseError(k.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,l)}function ep(e){if(!er())if(null===e.id)e.error?v.error(`Received response message without id: Error is: +${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{let t=e.id,r=L.get(t);if(e$(e,r),void 0!==r){L.delete(t);try{if(e.error){let t=e.error;r.reject(new k.ResponseError(t.code,t.message,t.data))}else if(void 0!==e.result)r.resolve(e.result);else throw Error("Should never happen.")}catch(e){e.message?v.error(`Response handler '${r.method}' failed with message: ${e.message}`):v.error(`Response handler '${r.method}' failed unexpectedly.`)}}}}function ef(e){let t,r;if(!er()){if(e.method===s.type.method){let t=e.params.id;M.delete(t),ev(e);return}{let n=P.get(e.method);n&&(t=n.handler,r=n.type)}if(t||T)try{if(ev(e),t)if(void 0===e.params)void 0!==r&&0!==r.numberOfParams&&r.parameterStructures!==k.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${r.numberOfParams} params but received none.`),t();else if(Array.isArray(e.params)){let n=e.params;e.method===l.type.method&&2===n.length&&o.is(n[0])?t({token:n[0],value:n[1]}):(void 0!==r&&(r.parameterStructures===k.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),r.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${r.numberOfParams} params but received ${n.length} arguments`)),t(...n))}else void 0!==r&&r.parameterStructures===k.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),t(e.params);else T&&T(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else B.fire(e)}}function ed(e){if(!e)return void v.error("Received empty message.");if(v.error(`Received message which is neither a response nor a notification message: +${JSON.stringify(e,null,4)}`),S.string(e.id)||S.number(e.id)){let t=e.id,r=L.get(t);r&&r.reject(Error("The received response has neither a result nor an error property."))}}function em(e){if(null!=e)switch(F){case c.Verbose:return JSON.stringify(e,null,4);case c.Compact:return JSON.stringify(e);default:return}}function eh(e){if(F!==c.Off&&p)if(z===f.Text){let t;(F===c.Verbose||F===c.Compact)&&e.params&&(t=`Params: ${em(e.params)} + +`),p.log(`Sending request '${e.method} - (${e.id})'.`,t)}else eR("send-request",e)}function ey(e){if(F!==c.Off&&p)if(z===f.Text){let t;(F===c.Verbose||F===c.Compact)&&(t=e.params?`Params: ${em(e.params)} + +`:"No parameters provided.\n\n"),p.log(`Sending notification '${e.method}'.`,t)}else eR("send-notification",e)}function eg(e,t,r){if(F!==c.Off&&p)if(z===f.Text){let n;(F===c.Verbose||F===c.Compact)&&(e.error&&e.error.data?n=`Error data: ${em(e.error.data)} + +`:e.result?n=`Result: ${em(e.result)} + +`:void 0===e.error&&(n="No result returned.\n\n")),p.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-r}ms`,n)}else eR("send-response",e)}function eT(e){if(F!==c.Off&&p)if(z===f.Text){let t;(F===c.Verbose||F===c.Compact)&&e.params&&(t=`Params: ${em(e.params)} + +`),p.log(`Received request '${e.method} - (${e.id})'.`,t)}else eR("receive-request",e)}function ev(e){if(F!==c.Off&&p&&e.method!==m.type.method)if(z===f.Text){let t;(F===c.Verbose||F===c.Compact)&&(t=e.params?`Params: ${em(e.params)} + +`:"No parameters provided.\n\n"),p.log(`Received notification '${e.method}'.`,t)}else eR("receive-notification",e)}function e$(e,t){if(F!==c.Off&&p)if(z===f.Text){let r;if((F===c.Verbose||F===c.Compact)&&(e.error&&e.error.data?r=`Error data: ${em(e.error.data)} + +`:e.result?r=`Result: ${em(e.result)} + +`:void 0===e.error&&(r="No result returned.\n\n")),t){let n=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";p.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${n}`,r)}else p.log(`Received response ${e.id} without active response promise.`,r)}else eR("receive-response",e)}function eR(e,t){if(!p||F===c.Off)return;let r={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};p.log(r)}function eE(){if(et())throw new G(h.Closed,"Connection is closed.");if(er())throw new G(h.Disposed,"Connection is disposed.")}function eb(){if(ee())throw new G(h.AlreadyListening,"Connection is already listening")}function eA(){if(!ee())throw Error("Call listen() first.")}function eC(e){return void 0===e?null:e}function eS(e){if(null!==e)return e}function ek(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function ex(e,t){switch(e){case k.ParameterStructures.auto:if(ek(t))return eS(t);return[eC(t)];case k.ParameterStructures.byName:if(!ek(t))throw Error("Received parameters by name but param is not an object literal.");return eS(t);case k.ParameterStructures.byPosition:return[eC(t)];default:throw Error(`Unknown parameter structure ${e.toString()}`)}}function eN(e,t){let r,n=e.numberOfParams;switch(n){case 0:r=void 0;break;case 1:r=ex(e.parameterStructures,t[0]);break;default:r=[];for(let e=0;e<t.length&&e<n;e++)r.push(eC(t[e]));if(t.length<n)for(let e=t.length;e<n;e++)r.push(null)}return r}tD(ec,"handleRequest"),tD(ep,"handleResponse"),tD(ef,"handleNotification"),tD(ed,"handleInvalidMessage"),tD(em,"stringifyTrace"),tD(eh,"traceSendingRequest"),tD(ey,"traceSendingNotification"),tD(eg,"traceSendingResponse"),tD(eT,"traceReceivedRequest"),tD(ev,"traceReceivedNotification"),tD(e$,"traceReceivedResponse"),tD(eR,"logLSPMessage"),tD(eE,"throwIfClosedOrDisposed"),tD(eb,"throwIfListening"),tD(eA,"throwIfNotListening"),tD(eC,"undefinedToNull"),tD(eS,"nullToUndefined"),tD(ek,"isNamedParam"),tD(ex,"computeSingleParam"),tD(eN,"computeMessageParams");let ew={sendNotification:tD((e,...t)=>{let n,i;if(eE(),S.string(e)){n=e;let r=t[0],a=0,s=k.ParameterStructures.auto;k.ParameterStructures.is(r)&&(a=1,s=r);let o=t.length,l=o-a;switch(l){case 0:i=void 0;break;case 1:i=ex(s,t[a]);break;default:if(s===k.ParameterStructures.byName)throw Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);i=t.slice(a,o).map(e=>eC(e))}}else n=e.method,i=eN(e,t);let a={jsonrpc:"2.0",method:n,params:i};return ey(a),r.write(a).catch(e=>{throw v.error("Sending notification failed."),e})},"sendNotification"),onNotification:tD((e,t)=>{let r;return eE(),S.func(e)?T=e:t&&(S.string(e)?(r=e,P.set(e,{type:void 0,handler:t})):(r=e.method,P.set(e.method,{type:e,handler:t}))),{dispose:tD(()=>{void 0!==r?P.delete(r):T=void 0},"dispose")}},"onNotification"),onProgress:tD((e,t,r)=>{if(O.has(t))throw Error(`Progress handler for token ${t} already registered`);return O.set(t,r),{dispose:tD(()=>{O.delete(t)},"dispose")}},"onProgress"),sendProgress:tD((e,t,r)=>ew.sendNotification(l.type,{token:t,value:r}),"sendProgress"),onUnhandledProgress:W.event,sendRequest:tD((e,...t)=>{let n,i,a,s;if(eE(),eA(),S.string(e)){n=e;let r=t[0],a=t[t.length-1],o=0,l=k.ParameterStructures.auto;k.ParameterStructures.is(r)&&(o=1,l=r);let u=t.length;w.CancellationToken.is(a)&&(u-=1,s=a);let c=u-o;switch(c){case 0:i=void 0;break;case 1:i=ex(l,t[o]);break;default:if(l===k.ParameterStructures.byName)throw Error(`Received ${c} parameters for 'by Name' request parameter structure.`);i=t.slice(o,u).map(e=>eC(e))}}else{n=e.method,i=eN(e,t);let r=e.numberOfParams;s=w.CancellationToken.is(t[r])?t[r]:void 0}let o=$++;s&&(a=s.onCancellationRequested(()=>{let e=H.sender.sendCancellation(ew,o);return void 0===e?(v.log(`Received no promise from cancellation strategy when cancelling id ${o}`),Promise.resolve()):e.catch(()=>{v.log(`Sending cancellation messages for id ${o} failed`)})}));let l={jsonrpc:"2.0",id:o,method:n,params:i};return eh(l),"function"==typeof H.sender.enableCancellation&&H.sender.enableCancellation(l),new Promise(async(e,t)=>{let i=tD(t=>{e(t),H.sender.cleanup(o),a?.dispose()},"resolveWithCleanup"),s=tD(e=>{t(e),H.sender.cleanup(o),a?.dispose()},"rejectWithCleanup"),u={method:n,timerStart:Date.now(),resolve:i,reject:s};try{await r.write(l),L.set(o,u)}catch(e){throw v.error("Sending request failed."),u.reject(new k.ResponseError(k.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),e}})},"sendRequest"),onRequest:tD((e,t)=>{eE();let r=null;return u.is(e)?(r=void 0,y=e):S.string(e)?(r=null,void 0!==t&&(r=e,_.set(e,{handler:t,type:void 0}))):void 0!==t&&(r=e.method,_.set(e.method,{type:e,handler:t})),{dispose:tD(()=>{null!==r&&(void 0!==r?_.delete(r):y=void 0)},"dispose")}},"onRequest"),hasPendingResponse:tD(()=>L.size>0,"hasPendingResponse"),trace:tD(async(e,t,r)=>{let n=!1,i=f.Text;void 0!==r&&(S.boolean(r)?n=r:(n=r.sendNotification||!1,i=r.traceFormat||f.Text)),F=e,z=i,p=F===c.Off?void 0:t,!n||et()||er()||await ew.sendNotification(d.type,{value:c.toString(e)})},"trace"),onError:q.event,onClose:U.event,onUnhandledNotification:B.event,onDispose:V.event,end:tD(()=>{r.end()},"end"),dispose:tD(()=>{if(er())return;K=A.Disposed,V.fire(void 0);let e=new k.ResponseError(k.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let t of L.values())t.reject(e);L=new Map,j=new Map,M=new Set,D=new x.LinkedMap,S.func(r.dispose)&&r.dispose(),S.func(t.dispose)&&t.dispose()},"dispose"),listen:tD(()=>{eE(),eb(),K=A.Listening,t.listen(eu)},"listen"),inspect:tD(()=>{(0,C.default)().console.log("inspect")},"inspect")};return ew.onNotification(m.type,e=>{if(F===c.Off||!p)return;let t=F===c.Verbose||F===c.Compact;p.log(e.message,t?e.verbose:void 0)}),ew.onNotification(l.type,e=>{let t=O.get(e.token);t?t(e.value):W.fire(e)}),ew}tD(er,"is"),et.is=er,(a=A||(A={}))[a.New=1]="New",a[a.Listening=2]="Listening",a[a.Closed=3]="Closed",a[a.Disposed=4]="Disposed",tD(en,"createMessageConnection"),e.createMessageConnection=en}}),t3=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;var t=tH();Object.defineProperty(e,"Message",{enumerable:!0,get:tD(function(){return t.Message},"get")}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:tD(function(){return t.RequestType},"get")}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:tD(function(){return t.RequestType0},"get")}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:tD(function(){return t.RequestType1},"get")}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:tD(function(){return t.RequestType2},"get")}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:tD(function(){return t.RequestType3},"get")}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:tD(function(){return t.RequestType4},"get")}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:tD(function(){return t.RequestType5},"get")}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:tD(function(){return t.RequestType6},"get")}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:tD(function(){return t.RequestType7},"get")}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:tD(function(){return t.RequestType8},"get")}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:tD(function(){return t.RequestType9},"get")}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:tD(function(){return t.ResponseError},"get")}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:tD(function(){return t.ErrorCodes},"get")}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:tD(function(){return t.NotificationType},"get")}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:tD(function(){return t.NotificationType0},"get")}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:tD(function(){return t.NotificationType1},"get")}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:tD(function(){return t.NotificationType2},"get")}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:tD(function(){return t.NotificationType3},"get")}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:tD(function(){return t.NotificationType4},"get")}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:tD(function(){return t.NotificationType5},"get")}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:tD(function(){return t.NotificationType6},"get")}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:tD(function(){return t.NotificationType7},"get")}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:tD(function(){return t.NotificationType8},"get")}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:tD(function(){return t.NotificationType9},"get")}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:tD(function(){return t.ParameterStructures},"get")});var r=tY();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:tD(function(){return r.LinkedMap},"get")}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:tD(function(){return r.LRUCache},"get")}),Object.defineProperty(e,"Touch",{enumerable:!0,get:tD(function(){return r.Touch},"get")});var n=tQ();Object.defineProperty(e,"Disposable",{enumerable:!0,get:tD(function(){return n.Disposable},"get")});var i=tW();Object.defineProperty(e,"Event",{enumerable:!0,get:tD(function(){return i.Event},"get")}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:tD(function(){return i.Emitter},"get")});var a=tV();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:tD(function(){return a.CancellationTokenSource},"get")}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:tD(function(){return a.CancellationToken},"get")});var s=tZ();Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:tD(function(){return s.SharedArraySenderStrategy},"get")}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:tD(function(){return s.SharedArrayReceiverStrategy},"get")});var o=tJ();Object.defineProperty(e,"MessageReader",{enumerable:!0,get:tD(function(){return o.MessageReader},"get")}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:tD(function(){return o.AbstractMessageReader},"get")}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:tD(function(){return o.ReadableStreamMessageReader},"get")});var l=t0();Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:tD(function(){return l.MessageWriter},"get")}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:tD(function(){return l.AbstractMessageWriter},"get")}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:tD(function(){return l.WriteableStreamMessageWriter},"get")});var u=t1();Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:tD(function(){return u.AbstractMessageBuffer},"get")});var c=t2();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:tD(function(){return c.ConnectionStrategy},"get")}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:tD(function(){return c.ConnectionOptions},"get")}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:tD(function(){return c.NullLogger},"get")}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:tD(function(){return c.createMessageConnection},"get")}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:tD(function(){return c.ProgressToken},"get")}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:tD(function(){return c.ProgressType},"get")}),Object.defineProperty(e,"Trace",{enumerable:!0,get:tD(function(){return c.Trace},"get")}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:tD(function(){return c.TraceValues},"get")}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:tD(function(){return c.TraceFormat},"get")}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:tD(function(){return c.SetTraceNotification},"get")}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:tD(function(){return c.LogTraceNotification},"get")}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:tD(function(){return c.ConnectionErrors},"get")}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:tD(function(){return c.ConnectionError},"get")}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:tD(function(){return c.CancellationReceiverStrategy},"get")}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:tD(function(){return c.CancellationSenderStrategy},"get")}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:tD(function(){return c.CancellationStrategy},"get")}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:tD(function(){return c.MessageStrategy},"get")}),e.RAL=tU().default}}),t4=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=t3(),r=class e extends t.AbstractMessageBuffer{static{tD(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(e,t){return new TextEncoder().encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}};r.emptyBuffer=new Uint8Array(0);var n=class{static{tD(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new t.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then(e=>{this._onData.fire(new Uint8Array(e))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),t.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),t.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),t.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},i=class{static{tD(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),t.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),t.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),t.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},a=new TextEncoder,s=Object.freeze({messageBuffer:Object.freeze({create:tD(e=>new r(e),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:tD((e,t)=>{if("utf-8"!==t.charset)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t.charset}`);return Promise.resolve(a.encode(JSON.stringify(e,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:tD((e,t)=>{if(!(e instanceof Uint8Array))throw Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))},"decode")})}),stream:Object.freeze({asReadableStream:tD(e=>new n(e),"asReadableStream"),asWritableStream:tD(e=>new i(e),"asWritableStream")}),console,timer:Object.freeze({setTimeout(e,t,...r){let n=setTimeout(e,t,...r);return{dispose:tD(()=>clearTimeout(n),"dispose")}},setImmediate(e,...t){let r=setTimeout(e,0,...t);return{dispose:tD(()=>clearTimeout(r),"dispose")}},setInterval(e,t,...r){let n=setInterval(e,t,...r);return{dispose:tD(()=>clearInterval(n),"dispose")}}})});function o(){return s}tD(o,"RIL");var l=o||(o={});function u(){t.RAL.install(s)}tD(u,"install"),l.install=u,e.default=o}}),t9=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tD(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0,t4().default.install();var n=t3();function i(e,t,r,i){return void 0===r&&(r=n.NullLogger),n.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,n.createMessageConnection)(e,t,r,i)}r(t3(),e),e.BrowserMessageReader=class extends n.AbstractMessageReader{static{tD(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new n.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",e=>this.fireError(e)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}},e.BrowserMessageWriter=class extends n.AbstractMessageWriter{static{tD(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",e=>this.fireError(e))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}},tD(i,"createMessageConnection"),e.createMessageConnection=i}}),t5=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(e,t){t.exports=t9()}}),t6=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t,r,n=t9();(t=r||(e.MessageDirection=r={})).clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both",e.RegistrationType=class{static{tD(this,"RegistrationType")}constructor(e){this.method=e}},e.ProtocolRequestType0=class extends n.RequestType0{static{tD(this,"ProtocolRequestType0")}constructor(e){super(e)}},e.ProtocolRequestType=class extends n.RequestType{static{tD(this,"ProtocolRequestType")}constructor(e){super(e,n.ParameterStructures.byName)}},e.ProtocolNotificationType0=class extends n.NotificationType0{static{tD(this,"ProtocolNotificationType0")}constructor(e){super(e)}},e.ProtocolNotificationType=class extends n.NotificationType{static{tD(this,"ProtocolNotificationType")}constructor(e){super(e,n.ParameterStructures.byName)}}}}),t7=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(e){function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function i(e){return e instanceof Error}function a(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}function l(e,t){return Array.isArray(e)&&e.every(t)}function u(e){return null!==e&&"object"==typeof e}Object.defineProperty(e,"__esModule",{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,tD(t,"boolean"),e.boolean=t,tD(r,"string"),e.string=r,tD(n,"number"),e.number=n,tD(i,"error"),e.error=i,tD(a,"func"),e.func=a,tD(s,"array"),e.array=s,tD(o,"stringArray"),e.stringArray=o,tD(l,"typedArray"),e.typedArray=l,tD(u,"objectLiteral"),e.objectLiteral=u}}),t8=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;var t,r,n=t6();(t=r||(e.ImplementationRequest=r={})).method="textDocument/implementation",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),re=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;var t,r,n=t6();(t=r||(e.TypeDefinitionRequest=r={})).method="textDocument/typeDefinition",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rt=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t,r,n,i,a=t6();(t=n||(e.WorkspaceFoldersRequest=n={})).method="workspace/workspaceFolders",t.messageDirection=a.MessageDirection.serverToClient,t.type=new a.ProtocolRequestType0(t.method),(r=i||(e.DidChangeWorkspaceFoldersNotification=i={})).method="workspace/didChangeWorkspaceFolders",r.messageDirection=a.MessageDirection.clientToServer,r.type=new a.ProtocolNotificationType(r.method)}}),rr=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;var t,r,n=t6();(t=r||(e.ConfigurationRequest=r={})).method="workspace/configuration",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}}),rn=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t,r,n,i,a=t6();(t=n||(e.DocumentColorRequest=n={})).method="textDocument/documentColor",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.ColorPresentationRequest=i={})).method="textDocument/colorPresentation",r.messageDirection=a.MessageDirection.clientToServer,r.type=new a.ProtocolRequestType(r.method)}}),ri=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t,r,n,i,a=t6();(t=n||(e.FoldingRangeRequest=n={})).method="textDocument/foldingRange",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.FoldingRangeRefreshRequest=i={})).method="workspace/foldingRange/refresh",r.messageDirection=a.MessageDirection.serverToClient,r.type=new a.ProtocolRequestType0(r.method)}}),ra=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;var t,r,n=t6();(t=r||(e.DeclarationRequest=r={})).method="textDocument/declaration",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rs=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;var t,r,n=t6();(t=r||(e.SelectionRangeRequest=r={})).method="textDocument/selectionRange",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),ro=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t,r,n,i,a,s=t9(),o=t6(),l=n||(e.WorkDoneProgress=n={});function u(e){return e===l.type}l.type=new s.ProgressType,tD(u,"is"),l.is=u,(t=i||(e.WorkDoneProgressCreateRequest=i={})).method="window/workDoneProgress/create",t.messageDirection=o.MessageDirection.serverToClient,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.WorkDoneProgressCancelNotification=a={})).method="window/workDoneProgress/cancel",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolNotificationType(r.method)}}),rl=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o=t6();(t=i||(e.CallHierarchyPrepareRequest=i={})).method="textDocument/prepareCallHierarchy",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.CallHierarchyIncomingCallsRequest=a={})).method="callHierarchy/incomingCalls",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.CallHierarchyOutgoingCallsRequest=s={})).method="callHierarchy/outgoingCalls",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),ru=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t,r,n,i,a,s,o,l,u,c,p,f=t6();(s||(e.TokenFormat=s={})).Relative="relative",(t=o||(e.SemanticTokensRegistrationType=o={})).method="textDocument/semanticTokens",t.type=new f.RegistrationType(t.method),(r=l||(e.SemanticTokensRequest=l={})).method="textDocument/semanticTokens/full",r.messageDirection=f.MessageDirection.clientToServer,r.type=new f.ProtocolRequestType(r.method),r.registrationMethod=o.method,(n=u||(e.SemanticTokensDeltaRequest=u={})).method="textDocument/semanticTokens/full/delta",n.messageDirection=f.MessageDirection.clientToServer,n.type=new f.ProtocolRequestType(n.method),n.registrationMethod=o.method,(i=c||(e.SemanticTokensRangeRequest=c={})).method="textDocument/semanticTokens/range",i.messageDirection=f.MessageDirection.clientToServer,i.type=new f.ProtocolRequestType(i.method),i.registrationMethod=o.method,(a=p||(e.SemanticTokensRefreshRequest=p={})).method="workspace/semanticTokens/refresh",a.messageDirection=f.MessageDirection.serverToClient,a.type=new f.ProtocolRequestType0(a.method)}}),rc=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;var t,r,n=t6();(t=r||(e.ShowDocumentRequest=r={})).method="window/showDocument",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}}),rp=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;var t,r,n=t6();(t=r||(e.LinkedEditingRangeRequest=r={})).method="textDocument/linkedEditingRange",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rf=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h=t6();(t=l||(e.FileOperationPatternKind=l={})).file="file",t.folder="folder",(r=u||(e.WillCreateFilesRequest=u={})).method="workspace/willCreateFiles",r.messageDirection=h.MessageDirection.clientToServer,r.type=new h.ProtocolRequestType(r.method),(n=c||(e.DidCreateFilesNotification=c={})).method="workspace/didCreateFiles",n.messageDirection=h.MessageDirection.clientToServer,n.type=new h.ProtocolNotificationType(n.method),(i=p||(e.WillRenameFilesRequest=p={})).method="workspace/willRenameFiles",i.messageDirection=h.MessageDirection.clientToServer,i.type=new h.ProtocolRequestType(i.method),(a=f||(e.DidRenameFilesNotification=f={})).method="workspace/didRenameFiles",a.messageDirection=h.MessageDirection.clientToServer,a.type=new h.ProtocolNotificationType(a.method),(s=d||(e.DidDeleteFilesNotification=d={})).method="workspace/didDeleteFiles",s.messageDirection=h.MessageDirection.clientToServer,s.type=new h.ProtocolNotificationType(s.method),(o=m||(e.WillDeleteFilesRequest=m={})).method="workspace/willDeleteFiles",o.messageDirection=h.MessageDirection.clientToServer,o.type=new h.ProtocolRequestType(o.method)}}),rd=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t,r,n,i,a,s,o=t6();(t=i||(e.UniquenessLevel=i={})).document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global",(r=a||(e.MonikerKind=a={})).$import="import",r.$export="export",r.local="local",(n=s||(e.MonikerRequest=s={})).method="textDocument/moniker",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),rm=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o=t6();(t=i||(e.TypeHierarchyPrepareRequest=i={})).method="textDocument/prepareTypeHierarchy",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.TypeHierarchySupertypesRequest=a={})).method="typeHierarchy/supertypes",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.TypeHierarchySubtypesRequest=s={})).method="typeHierarchy/subtypes",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),rh=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t,r,n,i,a=t6();(t=n||(e.InlineValueRequest=n={})).method="textDocument/inlineValue",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.InlineValueRefreshRequest=i={})).method="workspace/inlineValue/refresh",r.messageDirection=a.MessageDirection.serverToClient,r.type=new a.ProtocolRequestType0(r.method)}}),ry=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t,r,n,i,a,s,o=t6();(t=i||(e.InlayHintRequest=i={})).method="textDocument/inlayHint",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.InlayHintResolveRequest=a={})).method="inlayHint/resolve",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.InlayHintRefreshRequest=s={})).method="workspace/inlayHint/refresh",n.messageDirection=o.MessageDirection.serverToClient,n.type=new o.ProtocolRequestType0(n.method)}}),rg=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var t,r,n,i,a,s,o,l,u,c=t9(),p=t7(),f=t6(),d=a||(e.DiagnosticServerCancellationData=a={});function m(e){return e&&p.boolean(e.retriggerRequest)}tD(m,"is"),d.is=m,(t=s||(e.DocumentDiagnosticReportKind=s={})).Full="full",t.Unchanged="unchanged",(r=o||(e.DocumentDiagnosticRequest=o={})).method="textDocument/diagnostic",r.messageDirection=f.MessageDirection.clientToServer,r.type=new f.ProtocolRequestType(r.method),r.partialResult=new c.ProgressType,(n=l||(e.WorkspaceDiagnosticRequest=l={})).method="workspace/diagnostic",n.messageDirection=f.MessageDirection.clientToServer,n.type=new f.ProtocolRequestType(n.method),n.partialResult=new c.ProgressType,(i=u||(e.DiagnosticRefreshRequest=u={})).method="workspace/diagnostic/refresh",i.messageDirection=f.MessageDirection.serverToClient,i.type=new f.ProtocolRequestType0(i.method)}}),rT=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y=(tq(),tz(tK)),g=t7(),T=t6(),v=s||(e.NotebookCellKind=s={});function $(e){return 1===e||2===e}v.Markup=1,v.Code=2,tD($,"is"),v.is=$,function(e){function t(e,t){let r={executionOrder:e};return(!0===t||!1===t)&&(r.success=t),r}function r(e){return g.objectLiteral(e)&&y.uinteger.is(e.executionOrder)&&(void 0===e.success||g.boolean(e.success))}function n(e,t){return e===t||null!=e&&null!=t&&e.executionOrder===t.executionOrder&&e.success===t.success}tD(t,"create"),e.create=t,tD(r,"is"),e.is=r,tD(n,"equals"),e.equals=n}(o||(e.ExecutionSummary=o={})),function(e){function t(e,t){return{kind:e,document:t}}function r(e){return g.objectLiteral(e)&&s.is(e.kind)&&y.DocumentUri.is(e.document)&&(void 0===e.metadata||g.objectLiteral(e.metadata))}function n(e,t){let r=new Set;return e.document!==t.document&&r.add("document"),e.kind!==t.kind&&r.add("kind"),e.executionSummary!==t.executionSummary&&r.add("executionSummary"),void 0===e.metadata&&void 0===t.metadata||i(e.metadata,t.metadata)||r.add("metadata"),void 0===e.executionSummary&&void 0===t.executionSummary||o.equals(e.executionSummary,t.executionSummary)||r.add("executionSummary"),r}function i(e,t){if(e===t)return!0;if(null==e||null==t||typeof e!=typeof t||"object"!=typeof e)return!1;let r=Array.isArray(e),n=Array.isArray(t);if(r!==n)return!1;if(r&&n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!i(e[r],t[r]))return!1}if(g.objectLiteral(e)&&g.objectLiteral(t)){let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length||(r.sort(),n.sort(),!i(r,n)))return!1;for(let n=0;n<r.length;n++){let a=r[n];if(!i(e[a],t[a]))return!1}}return!0}tD(t,"create"),e.create=t,tD(r,"is"),e.is=r,tD(n,"diff"),e.diff=n,tD(i,"equalsMetadata")}(l||(e.NotebookCell=l={}));var R=u||(e.NotebookDocument=u={});function E(e,t,r,n){return{uri:e,notebookType:t,version:r,cells:n}}function b(e){return g.objectLiteral(e)&&g.string(e.uri)&&y.integer.is(e.version)&&g.typedArray(e.cells,l.is)}tD(E,"create"),R.create=E,tD(b,"is"),R.is=b,(t=c||(e.NotebookDocumentSyncRegistrationType=c={})).method="notebookDocument/sync",t.messageDirection=T.MessageDirection.clientToServer,t.type=new T.RegistrationType(t.method),(r=p||(e.DidOpenNotebookDocumentNotification=p={})).method="notebookDocument/didOpen",r.messageDirection=T.MessageDirection.clientToServer,r.type=new T.ProtocolNotificationType(r.method),r.registrationMethod=c.method;var A=f||(e.NotebookCellArrayChange=f={});function C(e){return g.objectLiteral(e)&&y.uinteger.is(e.start)&&y.uinteger.is(e.deleteCount)&&(void 0===e.cells||g.typedArray(e.cells,l.is))}function S(e,t,r){let n={start:e,deleteCount:t};return void 0!==r&&(n.cells=r),n}tD(C,"is"),A.is=C,tD(S,"create"),A.create=S,(n=d||(e.DidChangeNotebookDocumentNotification=d={})).method="notebookDocument/didChange",n.messageDirection=T.MessageDirection.clientToServer,n.type=new T.ProtocolNotificationType(n.method),n.registrationMethod=c.method,(i=m||(e.DidSaveNotebookDocumentNotification=m={})).method="notebookDocument/didSave",i.messageDirection=T.MessageDirection.clientToServer,i.type=new T.ProtocolNotificationType(i.method),i.registrationMethod=c.method,(a=h||(e.DidCloseNotebookDocumentNotification=h={})).method="notebookDocument/didClose",a.messageDirection=T.MessageDirection.clientToServer,a.type=new T.ProtocolNotificationType(a.method),a.registrationMethod=c.method}}),rv=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionRequest=void 0;var t,r,n=t6();(t=r||(e.InlineCompletionRequest=r={})).method="textDocument/inlineCompletion",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),r$=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=e.CodeActionRequest=e.DocumentSymbolRequest=e.DocumentHighlightRequest=e.ReferencesRequest=e.DefinitionRequest=e.SignatureHelpRequest=e.SignatureHelpTriggerKind=e.HoverRequest=e.CompletionResolveRequest=e.CompletionRequest=e.CompletionTriggerKind=e.PublishDiagnosticsNotification=e.WatchKind=e.RelativePattern=e.FileChangeType=e.DidChangeWatchedFilesNotification=e.WillSaveTextDocumentWaitUntilRequest=e.WillSaveTextDocumentNotification=e.TextDocumentSaveReason=e.DidSaveTextDocumentNotification=e.DidCloseTextDocumentNotification=e.DidChangeTextDocumentNotification=e.TextDocumentContentChangeEvent=e.DidOpenTextDocumentNotification=e.TextDocumentSyncKind=e.TelemetryEventNotification=e.LogMessageNotification=e.ShowMessageRequest=e.ShowMessageNotification=e.MessageType=e.DidChangeConfigurationNotification=e.ExitNotification=e.ShutdownRequest=e.InitializedNotification=e.InitializeErrorCodes=e.InitializeRequest=e.WorkDoneProgressOptions=e.TextDocumentRegistrationOptions=e.StaticRegistrationOptions=e.PositionEncodingKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.WillRenameFilesRequest=e.DidRenameFilesNotification=e.WillCreateFilesRequest=e.DidCreateFilesNotification=e.FileOperationPatternKind=e.LinkedEditingRangeRequest=e.ShowDocumentRequest=e.SemanticTokensRegistrationType=e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.TokenFormat=e.CallHierarchyPrepareRequest=e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=e.SelectionRangeRequest=e.DeclarationRequest=e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=e.ColorPresentationRequest=e.DocumentColorRequest=e.ConfigurationRequest=e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=e.TypeDefinitionRequest=e.ImplementationRequest=e.ApplyWorkspaceEditRequest=e.ExecuteCommandRequest=e.PrepareRenameRequest=e.RenameRequest=e.PrepareSupportDefaultBehavior=e.DocumentOnTypeFormattingRequest=e.DocumentRangesFormattingRequest=e.DocumentRangeFormattingRequest=e.DocumentFormattingRequest=e.DocumentLinkResolveRequest=e.DocumentLinkRequest=e.CodeLensRefreshRequest=e.CodeLensResolveRequest=e.CodeLensRequest=e.WorkspaceSymbolResolveRequest=void 0,e.InlineCompletionRequest=e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=e.InlineValueRefreshRequest=e.InlineValueRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchySubtypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C,S,k,x,N,w,I,_,P,O,D,L,M,j,F,G,z,K,q,U,B,W,V,H,Y,Q,Z,X,J,ee,et,er,en,ei,ea,es,eo,el,eu,ec,ep,ef,ed,em,eh,ey,eg,eT,ev,e$,eR,eE,eb,eA,eC,eS,ek,ex,eN,ew,eI,e_,eP,eO,eD,eL,eM,ej,eF,eG,ez,eK,eq,eU,eB,eW,eV,eH,eY,eQ,eZ,eX,eJ,e0,e1,e2,e3,e4,e9,e5,e6,e7,e8,te,tt,tr=t6(),tn=(tq(),tz(tK)),ti=t7(),ta=t8();Object.defineProperty(e,"ImplementationRequest",{enumerable:!0,get:tD(function(){return ta.ImplementationRequest},"get")});var ts=re();Object.defineProperty(e,"TypeDefinitionRequest",{enumerable:!0,get:tD(function(){return ts.TypeDefinitionRequest},"get")});var to=rt();Object.defineProperty(e,"WorkspaceFoldersRequest",{enumerable:!0,get:tD(function(){return to.WorkspaceFoldersRequest},"get")}),Object.defineProperty(e,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:tD(function(){return to.DidChangeWorkspaceFoldersNotification},"get")});var tl=rr();Object.defineProperty(e,"ConfigurationRequest",{enumerable:!0,get:tD(function(){return tl.ConfigurationRequest},"get")});var tu=rn();Object.defineProperty(e,"DocumentColorRequest",{enumerable:!0,get:tD(function(){return tu.DocumentColorRequest},"get")}),Object.defineProperty(e,"ColorPresentationRequest",{enumerable:!0,get:tD(function(){return tu.ColorPresentationRequest},"get")});var tc=ri();Object.defineProperty(e,"FoldingRangeRequest",{enumerable:!0,get:tD(function(){return tc.FoldingRangeRequest},"get")}),Object.defineProperty(e,"FoldingRangeRefreshRequest",{enumerable:!0,get:tD(function(){return tc.FoldingRangeRefreshRequest},"get")});var tp=ra();Object.defineProperty(e,"DeclarationRequest",{enumerable:!0,get:tD(function(){return tp.DeclarationRequest},"get")});var tf=rs();Object.defineProperty(e,"SelectionRangeRequest",{enumerable:!0,get:tD(function(){return tf.SelectionRangeRequest},"get")});var td=ro();Object.defineProperty(e,"WorkDoneProgress",{enumerable:!0,get:tD(function(){return td.WorkDoneProgress},"get")}),Object.defineProperty(e,"WorkDoneProgressCreateRequest",{enumerable:!0,get:tD(function(){return td.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(e,"WorkDoneProgressCancelNotification",{enumerable:!0,get:tD(function(){return td.WorkDoneProgressCancelNotification},"get")});var tm=rl();Object.defineProperty(e,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:tD(function(){return tm.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:tD(function(){return tm.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyPrepareRequest",{enumerable:!0,get:tD(function(){return tm.CallHierarchyPrepareRequest},"get")});var th=ru();Object.defineProperty(e,"TokenFormat",{enumerable:!0,get:tD(function(){return th.TokenFormat},"get")}),Object.defineProperty(e,"SemanticTokensRequest",{enumerable:!0,get:tD(function(){return th.SemanticTokensRequest},"get")}),Object.defineProperty(e,"SemanticTokensDeltaRequest",{enumerable:!0,get:tD(function(){return th.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(e,"SemanticTokensRangeRequest",{enumerable:!0,get:tD(function(){return th.SemanticTokensRangeRequest},"get")}),Object.defineProperty(e,"SemanticTokensRefreshRequest",{enumerable:!0,get:tD(function(){return th.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(e,"SemanticTokensRegistrationType",{enumerable:!0,get:tD(function(){return th.SemanticTokensRegistrationType},"get")});var ty=rc();Object.defineProperty(e,"ShowDocumentRequest",{enumerable:!0,get:tD(function(){return ty.ShowDocumentRequest},"get")});var tg=rp();Object.defineProperty(e,"LinkedEditingRangeRequest",{enumerable:!0,get:tD(function(){return tg.LinkedEditingRangeRequest},"get")});var tT=rf();Object.defineProperty(e,"FileOperationPatternKind",{enumerable:!0,get:tD(function(){return tT.FileOperationPatternKind},"get")}),Object.defineProperty(e,"DidCreateFilesNotification",{enumerable:!0,get:tD(function(){return tT.DidCreateFilesNotification},"get")}),Object.defineProperty(e,"WillCreateFilesRequest",{enumerable:!0,get:tD(function(){return tT.WillCreateFilesRequest},"get")}),Object.defineProperty(e,"DidRenameFilesNotification",{enumerable:!0,get:tD(function(){return tT.DidRenameFilesNotification},"get")}),Object.defineProperty(e,"WillRenameFilesRequest",{enumerable:!0,get:tD(function(){return tT.WillRenameFilesRequest},"get")}),Object.defineProperty(e,"DidDeleteFilesNotification",{enumerable:!0,get:tD(function(){return tT.DidDeleteFilesNotification},"get")}),Object.defineProperty(e,"WillDeleteFilesRequest",{enumerable:!0,get:tD(function(){return tT.WillDeleteFilesRequest},"get")});var tv=rd();Object.defineProperty(e,"UniquenessLevel",{enumerable:!0,get:tD(function(){return tv.UniquenessLevel},"get")}),Object.defineProperty(e,"MonikerKind",{enumerable:!0,get:tD(function(){return tv.MonikerKind},"get")}),Object.defineProperty(e,"MonikerRequest",{enumerable:!0,get:tD(function(){return tv.MonikerRequest},"get")});var t$=rm();Object.defineProperty(e,"TypeHierarchyPrepareRequest",{enumerable:!0,get:tD(function(){return t$.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(e,"TypeHierarchySubtypesRequest",{enumerable:!0,get:tD(function(){return t$.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(e,"TypeHierarchySupertypesRequest",{enumerable:!0,get:tD(function(){return t$.TypeHierarchySupertypesRequest},"get")});var tR=rh();Object.defineProperty(e,"InlineValueRequest",{enumerable:!0,get:tD(function(){return tR.InlineValueRequest},"get")}),Object.defineProperty(e,"InlineValueRefreshRequest",{enumerable:!0,get:tD(function(){return tR.InlineValueRefreshRequest},"get")});var tE=ry();Object.defineProperty(e,"InlayHintRequest",{enumerable:!0,get:tD(function(){return tE.InlayHintRequest},"get")}),Object.defineProperty(e,"InlayHintResolveRequest",{enumerable:!0,get:tD(function(){return tE.InlayHintResolveRequest},"get")}),Object.defineProperty(e,"InlayHintRefreshRequest",{enumerable:!0,get:tD(function(){return tE.InlayHintRefreshRequest},"get")});var tb=rg();Object.defineProperty(e,"DiagnosticServerCancellationData",{enumerable:!0,get:tD(function(){return tb.DiagnosticServerCancellationData},"get")}),Object.defineProperty(e,"DocumentDiagnosticReportKind",{enumerable:!0,get:tD(function(){return tb.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(e,"DocumentDiagnosticRequest",{enumerable:!0,get:tD(function(){return tb.DocumentDiagnosticRequest},"get")}),Object.defineProperty(e,"WorkspaceDiagnosticRequest",{enumerable:!0,get:tD(function(){return tb.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(e,"DiagnosticRefreshRequest",{enumerable:!0,get:tD(function(){return tb.DiagnosticRefreshRequest},"get")});var tA=rT();Object.defineProperty(e,"NotebookCellKind",{enumerable:!0,get:tD(function(){return tA.NotebookCellKind},"get")}),Object.defineProperty(e,"ExecutionSummary",{enumerable:!0,get:tD(function(){return tA.ExecutionSummary},"get")}),Object.defineProperty(e,"NotebookCell",{enumerable:!0,get:tD(function(){return tA.NotebookCell},"get")}),Object.defineProperty(e,"NotebookDocument",{enumerable:!0,get:tD(function(){return tA.NotebookDocument},"get")}),Object.defineProperty(e,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:tD(function(){return tA.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(e,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:tD(function(){return tA.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(e,"NotebookCellArrayChange",{enumerable:!0,get:tD(function(){return tA.NotebookCellArrayChange},"get")}),Object.defineProperty(e,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:tD(function(){return tA.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:tD(function(){return tA.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:tD(function(){return tA.DidCloseNotebookDocumentNotification},"get")});var tC=rv();Object.defineProperty(e,"InlineCompletionRequest",{enumerable:!0,get:tD(function(){return tC.InlineCompletionRequest},"get")});var tS=et||(e.TextDocumentFilter=et={});function tk(e){return ti.string(e)||ti.string(e.language)||ti.string(e.scheme)||ti.string(e.pattern)}tD(tk,"is"),tS.is=tk;var tx=er||(e.NotebookDocumentFilter=er={});function tN(e){return ti.objectLiteral(e)&&(ti.string(e.notebookType)||ti.string(e.scheme)||ti.string(e.pattern))}tD(tN,"is"),tx.is=tN;var tw=en||(e.NotebookCellTextDocumentFilter=en={});function tI(e){return ti.objectLiteral(e)&&(ti.string(e.notebook)||er.is(e.notebook))&&(void 0===e.language||ti.string(e.language))}tD(tI,"is"),tw.is=tI;var t_=ei||(e.DocumentSelector=ei={});function tP(e){if(!Array.isArray(e))return!1;for(let t of e)if(!ti.string(t)&&!et.is(t)&&!en.is(t))return!1;return!0}tD(tP,"is"),t_.is=tP,(t=ea||(e.RegistrationRequest=ea={})).method="client/registerCapability",t.messageDirection=tr.MessageDirection.serverToClient,t.type=new tr.ProtocolRequestType(t.method),(r=es||(e.UnregistrationRequest=es={})).method="client/unregisterCapability",r.messageDirection=tr.MessageDirection.serverToClient,r.type=new tr.ProtocolRequestType(r.method),(n=eo||(e.ResourceOperationKind=eo={})).Create="create",n.Rename="rename",n.Delete="delete",(i=el||(e.FailureHandlingKind=el={})).Abort="abort",i.Transactional="transactional",i.TextOnlyTransactional="textOnlyTransactional",i.Undo="undo",(a=eu||(e.PositionEncodingKind=eu={})).UTF8="utf-8",a.UTF16="utf-16",a.UTF32="utf-32";var tO=ec||(e.StaticRegistrationOptions=ec={});function tL(e){return e&&ti.string(e.id)&&e.id.length>0}tD(tL,"hasId"),tO.hasId=tL;var tM=ep||(e.TextDocumentRegistrationOptions=ep={});function tj(e){return e&&(null===e.documentSelector||ei.is(e.documentSelector))}tD(tj,"is"),tM.is=tj;var tF=ef||(e.WorkDoneProgressOptions=ef={});function tG(e){return ti.objectLiteral(e)&&(void 0===e.workDoneProgress||ti.boolean(e.workDoneProgress))}function tU(e){return e&&ti.boolean(e.workDoneProgress)}tD(tG,"is"),tF.is=tG,tD(tU,"hasWorkDoneProgress"),tF.hasWorkDoneProgress=tU,(s=ed||(e.InitializeRequest=ed={})).method="initialize",s.messageDirection=tr.MessageDirection.clientToServer,s.type=new tr.ProtocolRequestType(s.method),(em||(e.InitializeErrorCodes=em={})).unknownProtocolVersion=1,(o=eh||(e.InitializedNotification=eh={})).method="initialized",o.messageDirection=tr.MessageDirection.clientToServer,o.type=new tr.ProtocolNotificationType(o.method),(l=ey||(e.ShutdownRequest=ey={})).method="shutdown",l.messageDirection=tr.MessageDirection.clientToServer,l.type=new tr.ProtocolRequestType0(l.method),(u=eg||(e.ExitNotification=eg={})).method="exit",u.messageDirection=tr.MessageDirection.clientToServer,u.type=new tr.ProtocolNotificationType0(u.method),(c=eT||(e.DidChangeConfigurationNotification=eT={})).method="workspace/didChangeConfiguration",c.messageDirection=tr.MessageDirection.clientToServer,c.type=new tr.ProtocolNotificationType(c.method),(p=ev||(e.MessageType=ev={})).Error=1,p.Warning=2,p.Info=3,p.Log=4,p.Debug=5,(f=e$||(e.ShowMessageNotification=e$={})).method="window/showMessage",f.messageDirection=tr.MessageDirection.serverToClient,f.type=new tr.ProtocolNotificationType(f.method),(d=eR||(e.ShowMessageRequest=eR={})).method="window/showMessageRequest",d.messageDirection=tr.MessageDirection.serverToClient,d.type=new tr.ProtocolRequestType(d.method),(m=eE||(e.LogMessageNotification=eE={})).method="window/logMessage",m.messageDirection=tr.MessageDirection.serverToClient,m.type=new tr.ProtocolNotificationType(m.method),(h=eb||(e.TelemetryEventNotification=eb={})).method="telemetry/event",h.messageDirection=tr.MessageDirection.serverToClient,h.type=new tr.ProtocolNotificationType(h.method),(y=eA||(e.TextDocumentSyncKind=eA={})).None=0,y.Full=1,y.Incremental=2,(g=eC||(e.DidOpenTextDocumentNotification=eC={})).method="textDocument/didOpen",g.messageDirection=tr.MessageDirection.clientToServer,g.type=new tr.ProtocolNotificationType(g.method);var tB=eS||(e.TextDocumentContentChangeEvent=eS={});function tW(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}function tV(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}tD(tW,"isIncremental"),tB.isIncremental=tW,tD(tV,"isFull"),tB.isFull=tV,(T=ek||(e.DidChangeTextDocumentNotification=ek={})).method="textDocument/didChange",T.messageDirection=tr.MessageDirection.clientToServer,T.type=new tr.ProtocolNotificationType(T.method),(v=ex||(e.DidCloseTextDocumentNotification=ex={})).method="textDocument/didClose",v.messageDirection=tr.MessageDirection.clientToServer,v.type=new tr.ProtocolNotificationType(v.method),($=eN||(e.DidSaveTextDocumentNotification=eN={})).method="textDocument/didSave",$.messageDirection=tr.MessageDirection.clientToServer,$.type=new tr.ProtocolNotificationType($.method),(R=ew||(e.TextDocumentSaveReason=ew={})).Manual=1,R.AfterDelay=2,R.FocusOut=3,(E=eI||(e.WillSaveTextDocumentNotification=eI={})).method="textDocument/willSave",E.messageDirection=tr.MessageDirection.clientToServer,E.type=new tr.ProtocolNotificationType(E.method),(b=e_||(e.WillSaveTextDocumentWaitUntilRequest=e_={})).method="textDocument/willSaveWaitUntil",b.messageDirection=tr.MessageDirection.clientToServer,b.type=new tr.ProtocolRequestType(b.method),(A=eP||(e.DidChangeWatchedFilesNotification=eP={})).method="workspace/didChangeWatchedFiles",A.messageDirection=tr.MessageDirection.clientToServer,A.type=new tr.ProtocolNotificationType(A.method),(C=eO||(e.FileChangeType=eO={})).Created=1,C.Changed=2,C.Deleted=3;var tH=eD||(e.RelativePattern=eD={});function tY(e){return ti.objectLiteral(e)&&(tn.URI.is(e.baseUri)||tn.WorkspaceFolder.is(e.baseUri))&&ti.string(e.pattern)}tD(tY,"is"),tH.is=tY,(S=eL||(e.WatchKind=eL={})).Create=1,S.Change=2,S.Delete=4,(k=eM||(e.PublishDiagnosticsNotification=eM={})).method="textDocument/publishDiagnostics",k.messageDirection=tr.MessageDirection.serverToClient,k.type=new tr.ProtocolNotificationType(k.method),(x=ej||(e.CompletionTriggerKind=ej={})).Invoked=1,x.TriggerCharacter=2,x.TriggerForIncompleteCompletions=3,(N=eF||(e.CompletionRequest=eF={})).method="textDocument/completion",N.messageDirection=tr.MessageDirection.clientToServer,N.type=new tr.ProtocolRequestType(N.method),(w=eG||(e.CompletionResolveRequest=eG={})).method="completionItem/resolve",w.messageDirection=tr.MessageDirection.clientToServer,w.type=new tr.ProtocolRequestType(w.method),(I=ez||(e.HoverRequest=ez={})).method="textDocument/hover",I.messageDirection=tr.MessageDirection.clientToServer,I.type=new tr.ProtocolRequestType(I.method),(_=eK||(e.SignatureHelpTriggerKind=eK={})).Invoked=1,_.TriggerCharacter=2,_.ContentChange=3,(P=eq||(e.SignatureHelpRequest=eq={})).method="textDocument/signatureHelp",P.messageDirection=tr.MessageDirection.clientToServer,P.type=new tr.ProtocolRequestType(P.method),(O=eU||(e.DefinitionRequest=eU={})).method="textDocument/definition",O.messageDirection=tr.MessageDirection.clientToServer,O.type=new tr.ProtocolRequestType(O.method),(D=eB||(e.ReferencesRequest=eB={})).method="textDocument/references",D.messageDirection=tr.MessageDirection.clientToServer,D.type=new tr.ProtocolRequestType(D.method),(L=eW||(e.DocumentHighlightRequest=eW={})).method="textDocument/documentHighlight",L.messageDirection=tr.MessageDirection.clientToServer,L.type=new tr.ProtocolRequestType(L.method),(M=eV||(e.DocumentSymbolRequest=eV={})).method="textDocument/documentSymbol",M.messageDirection=tr.MessageDirection.clientToServer,M.type=new tr.ProtocolRequestType(M.method),(j=eH||(e.CodeActionRequest=eH={})).method="textDocument/codeAction",j.messageDirection=tr.MessageDirection.clientToServer,j.type=new tr.ProtocolRequestType(j.method),(F=eY||(e.CodeActionResolveRequest=eY={})).method="codeAction/resolve",F.messageDirection=tr.MessageDirection.clientToServer,F.type=new tr.ProtocolRequestType(F.method),(G=eQ||(e.WorkspaceSymbolRequest=eQ={})).method="workspace/symbol",G.messageDirection=tr.MessageDirection.clientToServer,G.type=new tr.ProtocolRequestType(G.method),(z=eZ||(e.WorkspaceSymbolResolveRequest=eZ={})).method="workspaceSymbol/resolve",z.messageDirection=tr.MessageDirection.clientToServer,z.type=new tr.ProtocolRequestType(z.method),(K=eX||(e.CodeLensRequest=eX={})).method="textDocument/codeLens",K.messageDirection=tr.MessageDirection.clientToServer,K.type=new tr.ProtocolRequestType(K.method),(q=eJ||(e.CodeLensResolveRequest=eJ={})).method="codeLens/resolve",q.messageDirection=tr.MessageDirection.clientToServer,q.type=new tr.ProtocolRequestType(q.method),(U=e0||(e.CodeLensRefreshRequest=e0={})).method="workspace/codeLens/refresh",U.messageDirection=tr.MessageDirection.serverToClient,U.type=new tr.ProtocolRequestType0(U.method),(B=e1||(e.DocumentLinkRequest=e1={})).method="textDocument/documentLink",B.messageDirection=tr.MessageDirection.clientToServer,B.type=new tr.ProtocolRequestType(B.method),(W=e2||(e.DocumentLinkResolveRequest=e2={})).method="documentLink/resolve",W.messageDirection=tr.MessageDirection.clientToServer,W.type=new tr.ProtocolRequestType(W.method),(V=e3||(e.DocumentFormattingRequest=e3={})).method="textDocument/formatting",V.messageDirection=tr.MessageDirection.clientToServer,V.type=new tr.ProtocolRequestType(V.method),(H=e4||(e.DocumentRangeFormattingRequest=e4={})).method="textDocument/rangeFormatting",H.messageDirection=tr.MessageDirection.clientToServer,H.type=new tr.ProtocolRequestType(H.method),(Y=e9||(e.DocumentRangesFormattingRequest=e9={})).method="textDocument/rangesFormatting",Y.messageDirection=tr.MessageDirection.clientToServer,Y.type=new tr.ProtocolRequestType(Y.method),(Q=e5||(e.DocumentOnTypeFormattingRequest=e5={})).method="textDocument/onTypeFormatting",Q.messageDirection=tr.MessageDirection.clientToServer,Q.type=new tr.ProtocolRequestType(Q.method),(e6||(e.PrepareSupportDefaultBehavior=e6={})).Identifier=1,(Z=e7||(e.RenameRequest=e7={})).method="textDocument/rename",Z.messageDirection=tr.MessageDirection.clientToServer,Z.type=new tr.ProtocolRequestType(Z.method),(X=e8||(e.PrepareRenameRequest=e8={})).method="textDocument/prepareRename",X.messageDirection=tr.MessageDirection.clientToServer,X.type=new tr.ProtocolRequestType(X.method),(J=te||(e.ExecuteCommandRequest=te={})).method="workspace/executeCommand",J.messageDirection=tr.MessageDirection.clientToServer,J.type=new tr.ProtocolRequestType(J.method),(ee=tt||(e.ApplyWorkspaceEditRequest=tt={})).method="workspace/applyEdit",ee.messageDirection=tr.MessageDirection.serverToClient,ee.type=new tr.ProtocolRequestType("workspace/applyEdit")}}),rR=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var t=t9();function r(e,r,n,i){return t.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,t.createMessageConnection)(e,r,n,i)}tD(r,"createProtocolConnection"),e.createProtocolConnection=r}}),rE=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(e){var t,r,n=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tD(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=e&&e.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,i(t9(),e),i((tq(),tz(tK)),e),i(t6(),e),i(r$(),e);var a=rR();Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:tD(function(){return a.createProtocolConnection},"get")}),(t=r||(e.LSPErrorCodes=r={})).lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800}}),rb=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tD(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var n=t5();function i(e,t,r,i){return(0,n.createMessageConnection)(e,t,r,i)}r(t5(),e),r(rE(),e),tD(i,"createProtocolConnection"),e.createProtocolConnection=i}}),rA={};tM(rA,{AbstractAstReflection:()=>rI,AbstractCstNode:()=>TZ,AbstractLangiumParser:()=>T9,AbstractParserErrorMessageProvider:()=>T6,AbstractThreadedAsyncParser:()=>$9,AstUtils:()=>rK,BiMap:()=>vJ,Cancellation:()=>vS,CompositeCstNodeImpl:()=>TJ,ContextCache:()=>v6,CstNodeBuilder:()=>TQ,CstUtils:()=>rC,DEFAULT_TOKENIZE_OPTIONS:()=>$A,DONE_RESULT:()=>rF,DatatypeSymbol:()=>T2,DefaultAstNodeDescriptionProvider:()=>$f,DefaultAstNodeLocator:()=>$m,DefaultAsyncParser:()=>$4,DefaultCommentProvider:()=>$3,DefaultConfigurationProvider:()=>$y,DefaultDocumentBuilder:()=>$$,DefaultDocumentValidator:()=>$l,DefaultHydrator:()=>$7,DefaultIndexManager:()=>$R,DefaultJsonSerializer:()=>$n,DefaultLangiumDocumentFactory:()=>vB,DefaultLangiumDocuments:()=>vW,DefaultLangiumProfiler:()=>RT,DefaultLexer:()=>$C,DefaultLexerErrorMessageProvider:()=>$b,DefaultLinker:()=>vH,DefaultNameProvider:()=>vQ,DefaultReferenceDescriptionProvider:()=>$d,DefaultReferences:()=>vZ,DefaultScopeComputation:()=>v0,DefaultScopeProvider:()=>$e,DefaultServiceRegistry:()=>$i,DefaultTokenBuilder:()=>vA,DefaultValueConverter:()=>vC,DefaultWorkspaceLock:()=>$6,DefaultWorkspaceManager:()=>$E,Deferred:()=>vD,Disposable:()=>e5,DisposableCache:()=>v9,DocumentCache:()=>v7,DocumentState:()=>e3,DocumentValidator:()=>e9,EMPTY_SCOPE:()=>v4,EMPTY_STREAM:()=>rj,EmptyFileSystem:()=>Rd,EmptyFileSystemProvider:()=>Rf,ErrorWithLocation:()=>i9,GrammarAST:()=>r3,GrammarUtils:()=>i4,IndentationAwareLexer:()=>Rc,IndentationAwareTokenBuilder:()=>Ru,JSDocDocumentationProvider:()=>$2,LangiumCompletionParser:()=>T8,LangiumParser:()=>T5,LangiumParserErrorMessageProvider:()=>T7,LeafCstNodeImpl:()=>TX,LexingMode:()=>e7,MapScope:()=>v2,Module:()=>e6,MultiMap:()=>vX,MultiMapScope:()=>v3,OperationCancelled:()=>v_,ParserWorker:()=>$5,ProfilingTask:()=>Rv,Reduction:()=>eV,RefResolving:()=>vV,RegExpUtils:()=>i7,RootCstNodeImpl:()=>T1,SimpleCache:()=>v5,StreamImpl:()=>rD,StreamScope:()=>v1,TextDocument:()=>e0,TreeStreamImpl:()=>rz,URI:()=>vK,UriTrie:()=>vU,UriUtils:()=>e2,VALIDATE_EACH_NODE:()=>$o,ValidationCategory:()=>e4,ValidationRegistry:()=>$s,ValueConverter:()=>eJ,WorkspaceCache:()=>v8,assertCondition:()=>i6,assertUnreachable:()=>i5,createCompletionParser:()=>vR,createDefaultCoreModule:()=>$8,createDefaultSharedCoreModule:()=>Re,createGrammarConfig:()=>a7,createLangiumParser:()=>vE,createParser:()=>vn,delayNextTick:()=>vk,diagnosticData:()=>$a,eagerLoad:()=>Rn,getDiagnosticRange:()=>$u,indentationBuilderDefaultOptions:()=>Rl,inject:()=>Rt,interruptAndCheck:()=>vO,isAstNode:()=>rS,isAstNodeDescription:()=>rN,isAstNodeWithComment:()=>$t,isCompositeCstNode:()=>r_,isIMultiModeLexerDefinition:()=>$k,isJSDoc:()=>$w,isLeafCstNode:()=>rP,isLinkingError:()=>rw,isMultiReference:()=>rx,isNamed:()=>vY,isOperationCancelled:()=>vP,isReference:()=>rk,isRootCstNode:()=>rO,isTokenTypeArray:()=>$S,isTokenTypeDictionary:()=>$x,loadGrammarFromJson:()=>Rg,parseJSDoc:()=>$N,prepareLangiumParser:()=>vb,setInterruptionPeriod:()=>vI,startCancelableOperation:()=>vw,stream:()=>rG,toDiagnosticData:()=>$p,toDiagnosticSeverity:()=>$c});var rC={};function rS(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function rk(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"ref"in e}function rx(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"items"in e}function rN(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function rw(e){return"object"==typeof e&&null!==e&&"object"==typeof e.info&&"string"==typeof e.message}tM(rC,{DefaultNameRegexp:()=>iB,RangeComparison:()=>eH,compareRange:()=>iq,findCommentNode:()=>iV,findDeclarationNodeAtOffset:()=>iW,findLeafNodeAtOffset:()=>iY,findLeafNodeBeforeOffset:()=>iQ,flattenCst:()=>iF,getDatatypeNode:()=>iM,getInteriorNodes:()=>i1,getNextNode:()=>iJ,getPreviousNode:()=>iX,getStartlineNode:()=>i0,inRange:()=>iU,isChildNode:()=>iG,isCommentNode:()=>iH,streamCst:()=>ij,toDocumentSegment:()=>iK,tokenToRange:()=>iz}),tD(rS,"isAstNode"),tD(rk,"isReference"),tD(rx,"isMultiReference"),tD(rN,"isAstNodeDescription"),tD(rw,"isLinkingError");var rI=class{static{tD(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let t=this.types[e.container.$type];if(!t)throw Error(`Type ${e.container.$type||"undefined"} not found.`);let r=t.properties[e.property]?.referenceType;if(!r)throw Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){let t=this.types[e];return t||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return rS(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(void 0!==n)return n;{let n=this.types[e],i=!!n&&n.superTypes.some(e=>this.isSubtype(e,t));return r[t]=i,i}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),r=[];for(let n of t)this.isSubtype(n,e)&&r.push(n);return this.allSubtypes[e]=r,r}}};function r_(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function rP(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function rO(e){return r_(e)&&"string"==typeof e.fullText}tD(r_,"isCompositeCstNode"),tD(rP,"isLeafCstNode"),tD(rO,"isRootCstNode");var rD=class e{static{tD(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:tD(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e,t=[],r=this.iterator();do void 0!==(e=r.next()).value&&t.push(e.value);while(!e.done)return t}toSet(){return new Set(this)}toMap(e,t){return new Map(this.map(r=>[e?e(r):r,t?t(r):r]))}toString(){return this.join()}concat(t){return new e(()=>({first:this.startFn(),firstDone:!1,iterator:t[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do if(!(t=this.nextFn(e.first)).done)return t;while(!t.done)e.firstDone=!0}do if(!(t=e.iterator.next()).done)return t;while(!t.done)return rF})}join(e=","){let t,r=this.iterator(),n="",i=!1;do(t=r.next()).done||(i&&(n+=e),n+=rL(t.value)),i=!0;while(!t.done)return n}indexOf(e,t=0){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(n>=t&&i.value===e)return n;i=r.next(),n++}return -1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(t){return new e(this.startFn,e=>{let{done:r,value:n}=this.nextFn(e);return r?rF:{done:!1,value:t(n)}})}filter(t){return new e(this.startFn,e=>{let r;do if(!(r=this.nextFn(e)).done&&t(r.value))return r;while(!r.done)return rF})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let r=this.iterator(),n=t,i=r.next();for(;!i.done;)n=void 0===n?i.value:e(n,i.value),i=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let n=e.next();if(n.done)return r;let i=this.recursiveReduce(e,t,r);return void 0===i?n.value:t(i,n.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return -1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(t){return new e(()=>({this:this.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:r,value:n}=this.nextFn(e.this);if(!r){let r=t(n);if(!rM(r))return{done:!1,value:r};e.iterator=r[Symbol.iterator]()}}while(e.iterator)return rF})}flat(t){if(void 0===t&&(t=1),t<=0)return this;let r=t>1?this.flat(t-1):this;return new e(()=>({this:r.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:t,value:n}=r.nextFn(e.this);if(!t)if(!rM(n))return{done:!1,value:n};else e.iterator=n[Symbol.iterator]()}while(e.iterator)return rF})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(t=1){return new e(()=>{let e=this.startFn();for(let r=0;r<t&&!this.nextFn(e).done;r++);return e},this.nextFn)}limit(t){return new e(()=>({size:0,state:this.startFn()}),e=>(e.size++,e.size>t)?rF:this.nextFn(e.state))}distinct(t){return new e(()=>({set:new Set,internalState:this.startFn()}),e=>{let r;do if(!(r=this.nextFn(e.internalState)).done){let n=t?t(r.value):r.value;if(!e.set.has(n))return e.set.add(n),r}while(!r.done)return rF})}exclude(e,t){let r=new Set;for(let n of e){let e=t?t(n):n;r.add(e)}return this.filter(e=>{let n=t?t(e):e;return!r.has(n)})}};function rL(e){return"string"==typeof e?e:void 0===e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function rM(e){return!!e&&"function"==typeof e[Symbol.iterator]}tD(rL,"toString"),tD(rM,"isIterable");var rj=new rD(()=>void 0,()=>rF),rF=Object.freeze({done:!0,value:void 0});function rG(...e){if(1===e.length){let t=e[0];if(t instanceof rD)return t;if(rM(t))return new rD(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new rD(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:rF)}return e.length>1?new rD(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let r=e[t.collIndex++];rM(r)?t.iterator=r[Symbol.iterator]():r&&"number"==typeof r.length&&(t.array=r)}}while(t.iterator||t.array||t.collIndex<e.length)return rF}):rj}tD(rG,"stream");var rz=class extends rD{static{tD(this,"TreeStreamImpl")}constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){let r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return rF})}iterator(){let e={state:this.startFn(),next:tD(()=>this.nextFn(e.state),"next"),prune:tD(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};!function(e){function t(e){return e.reduce((e,t)=>e+t,0)}function r(e){return e.reduce((e,t)=>e*t,0)}function n(e){return e.reduce((e,t)=>Math.min(e,t))}function i(e){return e.reduce((e,t)=>Math.max(e,t))}tD(t,"sum"),e.sum=t,tD(r,"product"),e.product=r,tD(n,"min"),e.min=n,tD(i,"max"),e.max=i}(eV||(eV={}));var rK={};function rq(e,t={}){for(let[r,n]of Object.entries(e))!r.startsWith("$")&&(Array.isArray(n)?n.forEach((n,i)=>{rS(n)&&(n.$container=e,n.$containerProperty=r,n.$containerIndex=i,t.deep&&rq(n,t))}):rS(n)&&(n.$container=e,n.$containerProperty=r,t.deep&&rq(n,t)))}function rU(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function rB(e,t){let r=e;for(;r;){if(t(r))return!0;r=r.$container}return!1}function rW(e){let t=rV(e).$document;if(!t)throw Error("AST node has no document.");return t}function rV(e){for(;e.$container;)e=e.$container;return e}function rH(e){return rk(e)?e.ref?[e.ref]:[]:rx(e)?e.items.map(e=>e.ref):[]}function rY(e,t){if(!e)throw Error("Node must be an AstNode.");let r=t?.range;return new rD(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let n=t.keys[t.keyIndex];if(!n.startsWith("$")){let i=e[n];if(rS(i)){if(t.keyIndex++,rX(i,r))return{done:!1,value:i}}else if(Array.isArray(i)){for(;t.arrayIndex<i.length;){let e=i[t.arrayIndex++];if(rS(e)&&rX(e,r))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return rF})}function rQ(e,t){if(!e)throw Error("Root node must be an AstNode.");return new rz(e,e=>rY(e,t))}function rZ(e,t){if(e){if(t?.range&&!rX(e,t.range))return new rz(e,()=>[])}else throw Error("Root node must be an AstNode.");return new rz(e,e=>rY(e,t),{includeRoot:!0})}function rX(e,t){if(!t)return!0;let r=e.$cstNode?.range;return!!r&&iU(r,t)}function rJ(e){return new rD(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith("$")){let n=e[r];if(rk(n)||rx(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){let i=t.arrayIndex++,a=n[i];if(rk(a)||rx(n))return{done:!1,value:{reference:a,container:e,property:r,index:i}}}t.arrayIndex=0}}t.keyIndex++}return rF})}function r0(e,t){for(let r of Object.values(e.getTypeMetaData(t.$type).properties))void 0!==r.defaultValue&&void 0===t[r.name]&&(t[r.name]=r1(r.defaultValue))}function r1(e){return Array.isArray(e)?[...e.map(r1)]:e}function r2(e,t,r){let n={$type:e.$type};for(let[i,a]of(r&&(r.set(e,n),r.set(n,e)),Object.entries(e)))if(!i.startsWith("$"))if(rS(a))n[i]=r2(a,t,r);else if(rk(a))n[i]=t(n,i,a.$refNode,a.$refText,a);else if(Array.isArray(a)){let e=[];for(let s of a)rS(s)?e.push(r2(s,t,r)):rk(s)?e.push(t(n,i,s.$refNode,s.$refText,s)):e.push(s);n[i]=e}else n[i]=a;return rq(n,{deep:!0}),n}tM(rK,{assignMandatoryProperties:()=>r0,copyAstNode:()=>r2,findRootNode:()=>rV,getContainerOfType:()=>rU,getDocument:()=>rW,getReferenceNodes:()=>rH,hasContainerOfType:()=>rB,linkContentToContainer:()=>rq,streamAllContents:()=>rQ,streamAst:()=>rZ,streamContents:()=>rY,streamReferences:()=>rJ}),tD(rq,"linkContentToContainer"),tD(rU,"getContainerOfType"),tD(rB,"hasContainerOfType"),tD(rW,"getDocument"),tD(rV,"findRootNode"),tD(rH,"getReferenceNodes"),tD(rY,"streamContents"),tD(rQ,"streamAllContents"),tD(rZ,"streamAst"),tD(rX,"isAstNodeInRange"),tD(rJ,"streamReferences"),tD(r0,"assignMandatoryProperties"),tD(r1,"copyDefaultValue"),tD(r2,"copyAstNode");var r3={};tM(r3,{AbstractElement:()=>r9,AbstractParserRule:()=>r6,AbstractRule:()=>r8,AbstractType:()=>nt,Action:()=>nn,Alternatives:()=>na,ArrayLiteral:()=>no,ArrayType:()=>nu,Assignment:()=>np,BooleanLiteral:()=>nd,CharacterRange:()=>nh,Condition:()=>ng,Conjunction:()=>nv,CrossReference:()=>nR,Disjunction:()=>nb,EndOfFile:()=>nC,Grammar:()=>nk,GrammarImport:()=>nN,Group:()=>nI,InferredType:()=>nP,InfixRule:()=>nD,InfixRuleOperatorList:()=>nM,InfixRuleOperators:()=>nF,Interface:()=>nz,Keyword:()=>nq,LangiumGrammarAstReflection:()=>iD,LangiumGrammarTerminals:()=>r4,NamedArgument:()=>nB,NegatedToken:()=>nV,Negation:()=>nY,NumberLiteral:()=>nZ,Parameter:()=>nJ,ParameterReference:()=>n1,ParserRule:()=>n3,ReferenceType:()=>n9,RegexToken:()=>n6,ReturnType:()=>n8,RuleCall:()=>it,SimpleType:()=>ii,StringLiteral:()=>is,TerminalAlternatives:()=>il,TerminalElement:()=>ic,TerminalGroup:()=>id,TerminalRule:()=>ih,TerminalRuleCall:()=>ig,Type:()=>iv,TypeAttribute:()=>iR,TypeDefinition:()=>ib,UnionType:()=>iC,UnorderedGroup:()=>ik,UntilToken:()=>iN,ValueLiteral:()=>iI,Wildcard:()=>iP,isAbstractElement:()=>r5,isAbstractParserRule:()=>r7,isAbstractRule:()=>ne,isAbstractType:()=>nr,isAction:()=>ni,isAlternatives:()=>ns,isArrayLiteral:()=>nl,isArrayType:()=>nc,isAssignment:()=>nf,isBooleanLiteral:()=>nm,isCharacterRange:()=>ny,isCondition:()=>nT,isConjunction:()=>n$,isCrossReference:()=>nE,isDisjunction:()=>nA,isEndOfFile:()=>nS,isGrammar:()=>nx,isGrammarImport:()=>nw,isGroup:()=>n_,isInferredType:()=>nO,isInfixRule:()=>nL,isInfixRuleOperatorList:()=>nj,isInfixRuleOperators:()=>nG,isInterface:()=>nK,isKeyword:()=>nU,isNamedArgument:()=>nW,isNegatedToken:()=>nH,isNegation:()=>nQ,isNumberLiteral:()=>nX,isParameter:()=>n0,isParameterReference:()=>n2,isParserRule:()=>n4,isReferenceType:()=>n5,isRegexToken:()=>n7,isReturnType:()=>ie,isRuleCall:()=>ir,isSimpleType:()=>ia,isStringLiteral:()=>io,isTerminalAlternatives:()=>iu,isTerminalElement:()=>ip,isTerminalGroup:()=>im,isTerminalRule:()=>iy,isTerminalRuleCall:()=>iT,isType:()=>i$,isTypeAttribute:()=>iE,isTypeDefinition:()=>iA,isUnionType:()=>iS,isUnorderedGroup:()=>ix,isUntilToken:()=>iw,isValueLiteral:()=>i_,isWildcard:()=>iO,reflection:()=>iL});var r4={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},r9={$type:"AbstractElement",cardinality:"cardinality"};function r5(e){return iL.isInstance(e,r9.$type)}tD(r5,"isAbstractElement");var r6={$type:"AbstractParserRule"};function r7(e){return iL.isInstance(e,r6.$type)}tD(r7,"isAbstractParserRule");var r8={$type:"AbstractRule"};function ne(e){return iL.isInstance(e,r8.$type)}tD(ne,"isAbstractRule");var nt={$type:"AbstractType"};function nr(e){return iL.isInstance(e,nt.$type)}tD(nr,"isAbstractType");var nn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function ni(e){return iL.isInstance(e,nn.$type)}tD(ni,"isAction");var na={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function ns(e){return iL.isInstance(e,na.$type)}tD(ns,"isAlternatives");var no={$type:"ArrayLiteral",elements:"elements"};function nl(e){return iL.isInstance(e,no.$type)}tD(nl,"isArrayLiteral");var nu={$type:"ArrayType",elementType:"elementType"};function nc(e){return iL.isInstance(e,nu.$type)}tD(nc,"isArrayType");var np={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function nf(e){return iL.isInstance(e,np.$type)}tD(nf,"isAssignment");var nd={$type:"BooleanLiteral",true:"true"};function nm(e){return iL.isInstance(e,nd.$type)}tD(nm,"isBooleanLiteral");var nh={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function ny(e){return iL.isInstance(e,nh.$type)}tD(ny,"isCharacterRange");var ng={$type:"Condition"};function nT(e){return iL.isInstance(e,ng.$type)}tD(nT,"isCondition");var nv={$type:"Conjunction",left:"left",right:"right"};function n$(e){return iL.isInstance(e,nv.$type)}tD(n$,"isConjunction");var nR={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function nE(e){return iL.isInstance(e,nR.$type)}tD(nE,"isCrossReference");var nb={$type:"Disjunction",left:"left",right:"right"};function nA(e){return iL.isInstance(e,nb.$type)}tD(nA,"isDisjunction");var nC={$type:"EndOfFile",cardinality:"cardinality"};function nS(e){return iL.isInstance(e,nC.$type)}tD(nS,"isEndOfFile");var nk={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function nx(e){return iL.isInstance(e,nk.$type)}tD(nx,"isGrammar");var nN={$type:"GrammarImport",path:"path"};function nw(e){return iL.isInstance(e,nN.$type)}tD(nw,"isGrammarImport");var nI={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function n_(e){return iL.isInstance(e,nI.$type)}tD(n_,"isGroup");var nP={$type:"InferredType",name:"name"};function nO(e){return iL.isInstance(e,nP.$type)}tD(nO,"isInferredType");var nD={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function nL(e){return iL.isInstance(e,nD.$type)}tD(nL,"isInfixRule");var nM={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function nj(e){return iL.isInstance(e,nM.$type)}tD(nj,"isInfixRuleOperatorList");var nF={$type:"InfixRuleOperators",precedences:"precedences"};function nG(e){return iL.isInstance(e,nF.$type)}tD(nG,"isInfixRuleOperators");var nz={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function nK(e){return iL.isInstance(e,nz.$type)}tD(nK,"isInterface");var nq={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function nU(e){return iL.isInstance(e,nq.$type)}tD(nU,"isKeyword");var nB={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function nW(e){return iL.isInstance(e,nB.$type)}tD(nW,"isNamedArgument");var nV={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function nH(e){return iL.isInstance(e,nV.$type)}tD(nH,"isNegatedToken");var nY={$type:"Negation",value:"value"};function nQ(e){return iL.isInstance(e,nY.$type)}tD(nQ,"isNegation");var nZ={$type:"NumberLiteral",value:"value"};function nX(e){return iL.isInstance(e,nZ.$type)}tD(nX,"isNumberLiteral");var nJ={$type:"Parameter",name:"name"};function n0(e){return iL.isInstance(e,nJ.$type)}tD(n0,"isParameter");var n1={$type:"ParameterReference",parameter:"parameter"};function n2(e){return iL.isInstance(e,n1.$type)}tD(n2,"isParameterReference");var n3={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function n4(e){return iL.isInstance(e,n3.$type)}tD(n4,"isParserRule");var n9={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function n5(e){return iL.isInstance(e,n9.$type)}tD(n5,"isReferenceType");var n6={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function n7(e){return iL.isInstance(e,n6.$type)}tD(n7,"isRegexToken");var n8={$type:"ReturnType",name:"name"};function ie(e){return iL.isInstance(e,n8.$type)}tD(ie,"isReturnType");var it={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function ir(e){return iL.isInstance(e,it.$type)}tD(ir,"isRuleCall");var ii={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function ia(e){return iL.isInstance(e,ii.$type)}tD(ia,"isSimpleType");var is={$type:"StringLiteral",value:"value"};function io(e){return iL.isInstance(e,is.$type)}tD(io,"isStringLiteral");var il={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function iu(e){return iL.isInstance(e,il.$type)}tD(iu,"isTerminalAlternatives");var ic={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function ip(e){return iL.isInstance(e,ic.$type)}tD(ip,"isTerminalElement");var id={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function im(e){return iL.isInstance(e,id.$type)}tD(im,"isTerminalGroup");var ih={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function iy(e){return iL.isInstance(e,ih.$type)}tD(iy,"isTerminalRule");var ig={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function iT(e){return iL.isInstance(e,ig.$type)}tD(iT,"isTerminalRuleCall");var iv={$type:"Type",name:"name",type:"type"};function i$(e){return iL.isInstance(e,iv.$type)}tD(i$,"isType");var iR={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function iE(e){return iL.isInstance(e,iR.$type)}tD(iE,"isTypeAttribute");var ib={$type:"TypeDefinition"};function iA(e){return iL.isInstance(e,ib.$type)}tD(iA,"isTypeDefinition");var iC={$type:"UnionType",types:"types"};function iS(e){return iL.isInstance(e,iC.$type)}tD(iS,"isUnionType");var ik={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function ix(e){return iL.isInstance(e,ik.$type)}tD(ix,"isUnorderedGroup");var iN={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function iw(e){return iL.isInstance(e,iN.$type)}tD(iw,"isUntilToken");var iI={$type:"ValueLiteral"};function i_(e){return iL.isInstance(e,iI.$type)}tD(i_,"isValueLiteral");var iP={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function iO(e){return iL.isInstance(e,iP.$type)}tD(iO,"isWildcard");var iD=class extends rI{static{tD(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:r9.$type,properties:{cardinality:{name:r9.cardinality}},superTypes:[]},AbstractParserRule:{name:r6.$type,properties:{},superTypes:[r8.$type,nt.$type]},AbstractRule:{name:r8.$type,properties:{},superTypes:[]},AbstractType:{name:nt.$type,properties:{},superTypes:[]},Action:{name:nn.$type,properties:{cardinality:{name:nn.cardinality},feature:{name:nn.feature},inferredType:{name:nn.inferredType},operator:{name:nn.operator},type:{name:nn.type,referenceType:nt.$type}},superTypes:[r9.$type]},Alternatives:{name:na.$type,properties:{cardinality:{name:na.cardinality},elements:{name:na.elements,defaultValue:[]}},superTypes:[r9.$type]},ArrayLiteral:{name:no.$type,properties:{elements:{name:no.elements,defaultValue:[]}},superTypes:[iI.$type]},ArrayType:{name:nu.$type,properties:{elementType:{name:nu.elementType}},superTypes:[ib.$type]},Assignment:{name:np.$type,properties:{cardinality:{name:np.cardinality},feature:{name:np.feature},operator:{name:np.operator},predicate:{name:np.predicate},terminal:{name:np.terminal}},superTypes:[r9.$type]},BooleanLiteral:{name:nd.$type,properties:{true:{name:nd.true,defaultValue:!1}},superTypes:[ng.$type,iI.$type]},CharacterRange:{name:nh.$type,properties:{cardinality:{name:nh.cardinality},left:{name:nh.left},lookahead:{name:nh.lookahead},parenthesized:{name:nh.parenthesized,defaultValue:!1},right:{name:nh.right}},superTypes:[ic.$type]},Condition:{name:ng.$type,properties:{},superTypes:[]},Conjunction:{name:nv.$type,properties:{left:{name:nv.left},right:{name:nv.right}},superTypes:[ng.$type]},CrossReference:{name:nR.$type,properties:{cardinality:{name:nR.cardinality},deprecatedSyntax:{name:nR.deprecatedSyntax,defaultValue:!1},isMulti:{name:nR.isMulti,defaultValue:!1},terminal:{name:nR.terminal},type:{name:nR.type,referenceType:nt.$type}},superTypes:[r9.$type]},Disjunction:{name:nb.$type,properties:{left:{name:nb.left},right:{name:nb.right}},superTypes:[ng.$type]},EndOfFile:{name:nC.$type,properties:{cardinality:{name:nC.cardinality}},superTypes:[r9.$type]},Grammar:{name:nk.$type,properties:{imports:{name:nk.imports,defaultValue:[]},interfaces:{name:nk.interfaces,defaultValue:[]},isDeclared:{name:nk.isDeclared,defaultValue:!1},name:{name:nk.name},rules:{name:nk.rules,defaultValue:[]},types:{name:nk.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:nN.$type,properties:{path:{name:nN.path}},superTypes:[]},Group:{name:nI.$type,properties:{cardinality:{name:nI.cardinality},elements:{name:nI.elements,defaultValue:[]},guardCondition:{name:nI.guardCondition},predicate:{name:nI.predicate}},superTypes:[r9.$type]},InferredType:{name:nP.$type,properties:{name:{name:nP.name}},superTypes:[nt.$type]},InfixRule:{name:nD.$type,properties:{call:{name:nD.call},dataType:{name:nD.dataType},inferredType:{name:nD.inferredType},name:{name:nD.name},operators:{name:nD.operators},parameters:{name:nD.parameters,defaultValue:[]},returnType:{name:nD.returnType,referenceType:nt.$type}},superTypes:[r6.$type]},InfixRuleOperatorList:{name:nM.$type,properties:{associativity:{name:nM.associativity},operators:{name:nM.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:nF.$type,properties:{precedences:{name:nF.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:nz.$type,properties:{attributes:{name:nz.attributes,defaultValue:[]},name:{name:nz.name},superTypes:{name:nz.superTypes,defaultValue:[],referenceType:nt.$type}},superTypes:[nt.$type]},Keyword:{name:nq.$type,properties:{cardinality:{name:nq.cardinality},predicate:{name:nq.predicate},value:{name:nq.value}},superTypes:[r9.$type]},NamedArgument:{name:nB.$type,properties:{calledByName:{name:nB.calledByName,defaultValue:!1},parameter:{name:nB.parameter,referenceType:nJ.$type},value:{name:nB.value}},superTypes:[]},NegatedToken:{name:nV.$type,properties:{cardinality:{name:nV.cardinality},lookahead:{name:nV.lookahead},parenthesized:{name:nV.parenthesized,defaultValue:!1},terminal:{name:nV.terminal}},superTypes:[ic.$type]},Negation:{name:nY.$type,properties:{value:{name:nY.value}},superTypes:[ng.$type]},NumberLiteral:{name:nZ.$type,properties:{value:{name:nZ.value}},superTypes:[iI.$type]},Parameter:{name:nJ.$type,properties:{name:{name:nJ.name}},superTypes:[]},ParameterReference:{name:n1.$type,properties:{parameter:{name:n1.parameter,referenceType:nJ.$type}},superTypes:[ng.$type]},ParserRule:{name:n3.$type,properties:{dataType:{name:n3.dataType},definition:{name:n3.definition},entry:{name:n3.entry,defaultValue:!1},fragment:{name:n3.fragment,defaultValue:!1},inferredType:{name:n3.inferredType},name:{name:n3.name},parameters:{name:n3.parameters,defaultValue:[]},returnType:{name:n3.returnType,referenceType:nt.$type}},superTypes:[r6.$type]},ReferenceType:{name:n9.$type,properties:{isMulti:{name:n9.isMulti,defaultValue:!1},referenceType:{name:n9.referenceType}},superTypes:[ib.$type]},RegexToken:{name:n6.$type,properties:{cardinality:{name:n6.cardinality},lookahead:{name:n6.lookahead},parenthesized:{name:n6.parenthesized,defaultValue:!1},regex:{name:n6.regex}},superTypes:[ic.$type]},ReturnType:{name:n8.$type,properties:{name:{name:n8.name}},superTypes:[]},RuleCall:{name:it.$type,properties:{arguments:{name:it.arguments,defaultValue:[]},cardinality:{name:it.cardinality},predicate:{name:it.predicate},rule:{name:it.rule,referenceType:r8.$type}},superTypes:[r9.$type]},SimpleType:{name:ii.$type,properties:{primitiveType:{name:ii.primitiveType},stringType:{name:ii.stringType},typeRef:{name:ii.typeRef,referenceType:nt.$type}},superTypes:[ib.$type]},StringLiteral:{name:is.$type,properties:{value:{name:is.value}},superTypes:[iI.$type]},TerminalAlternatives:{name:il.$type,properties:{cardinality:{name:il.cardinality},elements:{name:il.elements,defaultValue:[]},lookahead:{name:il.lookahead},parenthesized:{name:il.parenthesized,defaultValue:!1}},superTypes:[ic.$type]},TerminalElement:{name:ic.$type,properties:{cardinality:{name:ic.cardinality},lookahead:{name:ic.lookahead},parenthesized:{name:ic.parenthesized,defaultValue:!1}},superTypes:[r9.$type]},TerminalGroup:{name:id.$type,properties:{cardinality:{name:id.cardinality},elements:{name:id.elements,defaultValue:[]},lookahead:{name:id.lookahead},parenthesized:{name:id.parenthesized,defaultValue:!1}},superTypes:[ic.$type]},TerminalRule:{name:ih.$type,properties:{definition:{name:ih.definition},fragment:{name:ih.fragment,defaultValue:!1},hidden:{name:ih.hidden,defaultValue:!1},name:{name:ih.name},type:{name:ih.type}},superTypes:[r8.$type]},TerminalRuleCall:{name:ig.$type,properties:{cardinality:{name:ig.cardinality},lookahead:{name:ig.lookahead},parenthesized:{name:ig.parenthesized,defaultValue:!1},rule:{name:ig.rule,referenceType:ih.$type}},superTypes:[ic.$type]},Type:{name:iv.$type,properties:{name:{name:iv.name},type:{name:iv.type}},superTypes:[nt.$type]},TypeAttribute:{name:iR.$type,properties:{defaultValue:{name:iR.defaultValue},isOptional:{name:iR.isOptional,defaultValue:!1},name:{name:iR.name},type:{name:iR.type}},superTypes:[]},TypeDefinition:{name:ib.$type,properties:{},superTypes:[]},UnionType:{name:iC.$type,properties:{types:{name:iC.types,defaultValue:[]}},superTypes:[ib.$type]},UnorderedGroup:{name:ik.$type,properties:{cardinality:{name:ik.cardinality},elements:{name:ik.elements,defaultValue:[]}},superTypes:[r9.$type]},UntilToken:{name:iN.$type,properties:{cardinality:{name:iN.cardinality},lookahead:{name:iN.lookahead},parenthesized:{name:iN.parenthesized,defaultValue:!1},terminal:{name:iN.terminal}},superTypes:[ic.$type]},ValueLiteral:{name:iI.$type,properties:{},superTypes:[]},Wildcard:{name:iP.$type,properties:{cardinality:{name:iP.cardinality},lookahead:{name:iP.lookahead},parenthesized:{name:iP.parenthesized,defaultValue:!1}},superTypes:[ic.$type]}}}},iL=new iD;function iM(e){let t=e,r=!1;for(;t;){let e=rU(t.grammarSource,n4);if(e&&e.dataType)t=t.container,r=!0;else if(r)return t;else break}}function ij(e){return new rz(e,e=>r_(e)?e.content:[],{includeRoot:!0})}function iF(e){return ij(e).filter(rP)}function iG(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}function iz(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function iK(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}function iq(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return eH.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return eH.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return r&&n?eH.Inside:r?eH.OverlapBack:n?eH.OverlapFront:eH.Outside}function iU(e,t){return iq(e,t)>eH.After}tD(iM,"getDatatypeNode"),tD(ij,"streamCst"),tD(iF,"flattenCst"),tD(iG,"isChildNode"),tD(iz,"tokenToRange"),tD(iK,"toDocumentSegment"),(a=eH||(eH={}))[a.Before=0]="Before",a[a.After=1]="After",a[a.OverlapFront=2]="OverlapFront",a[a.OverlapBack=3]="OverlapBack",a[a.Inside=4]="Inside",a[a.Outside=5]="Outside",tD(iq,"compareRange"),tD(iU,"inRange");var iB=/^[\w\p{L}]$/u;function iW(e,t,r=iB){if(e){if(t>0){let n=t-e.offset,i=e.text.charAt(n);!r.test(i)&&t--}return iY(e,t)}}function iV(e,t){if(e){let r=iX(e,!0);if(r&&iH(r,t))return r;if(rO(e)){let r=e.content.findIndex(e=>!e.hidden);for(let n=r-1;n>=0;n--){let r=e.content[n];if(iH(r,t))return r}}}}function iH(e,t){return rP(e)&&t.includes(e.tokenType.name)}function iY(e,t){if(rP(e))return e;if(r_(e)){let r=iZ(e,t,!1);if(r)return iY(r,t)}}function iQ(e,t){if(rP(e))return e;if(r_(e)){let r=iZ(e,t,!0);if(r)return iQ(r,t)}}function iZ(e,t,r){let n,i=0,a=e.content.length-1;for(;i<=a;){let s=Math.floor((i+a)/2),o=e.content[s];if(o.offset<=t&&o.end>t)return o;o.end<=t?(n=r?o:void 0,i=s+1):a=s-1}return n}function iX(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let e=r.content[n];if(t||!e.hidden)return e}e=r}}function iJ(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e),i=r.content.length-1;for(;n<i;){n++;let e=r.content[n];if(t||!e.hidden)return e}e=r}}function i0(e){let t;if(0===e.range.start.character)return e;let r=e.range.start.line,n=e;for(;e.container;){let i=e.container,a=t??i.content.indexOf(e);if(0===a?(e=i,t=void 0):(t=a-1,e=i.content[t]),e.range.start.line!==r)break;n=e}return n}function i1(e,t){let r=i2(e,t);return r?r.parent.content.slice(r.a+1,r.b):[]}function i2(e,t){let r,n=i3(e),i=i3(t);for(let e=0;e<n.length&&e<i.length;e++){let t=n[e],a=i[e];if(t.parent===a.parent)r={parent:t.parent,a:t.index,b:a.index};else break}return r}function i3(e){let t=[];for(;e.container;){let r=e.container,n=r.content.indexOf(e);t.push({parent:r,index:n}),e=r}return t.reverse()}tD(iW,"findDeclarationNodeAtOffset"),tD(iV,"findCommentNode"),tD(iH,"isCommentNode"),tD(iY,"findLeafNodeAtOffset"),tD(iQ,"findLeafNodeBeforeOffset"),tD(iZ,"binarySearch"),tD(iX,"getPreviousNode"),tD(iJ,"getNextNode"),tD(i0,"getStartlineNode"),tD(i1,"getInteriorNodes"),tD(i2,"getCommonParent"),tD(i3,"getParentChain");var i4={};tM(i4,{findAssignment:()=>aL,findNameAssignment:()=>aM,findNodeForKeyword:()=>aO,findNodeForProperty:()=>aI,findNodesForKeyword:()=>aP,findNodesForKeywordInternal:()=>aD,findNodesForProperty:()=>aw,getActionAtElement:()=>aF,getActionType:()=>aY,getAllReachableRules:()=>aC,getAllRulesUsedForCrossReferences:()=>ak,getCrossReferenceTerminal:()=>ax,getEntryRule:()=>ab,getExplicitRuleType:()=>aV,getHiddenRules:()=>aA,getRuleType:()=>aZ,getRuleTypeName:()=>aQ,getTypeName:()=>aH,isArrayCardinality:()=>az,isArrayOperator:()=>aK,isCommentTerminal:()=>aN,isDataType:()=>aB,isDataTypeRule:()=>aq,isOptionalCardinality:()=>aG,terminalRegex:()=>aX});var i9=class extends Error{static{tD(this,"ErrorWithLocation")}constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function i5(e,t="Error: Got unexpected value."){throw Error(t)}function i6(e,t="Error: Condition is violated."){if(!e)throw Error(t)}tD(i5,"assertUnreachable"),tD(i6,"assertCondition");var i7={};function i8(e){return e.charCodeAt(0)}function ae(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function at(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function ar(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function an(){throw Error("Internal Error - Should never get here!")}function ai(e){return"Character"===e.type}tM(i7,{NEWLINE_REGEXP:()=>ad,escapeRegExp:()=>a$,getTerminalParts:()=>ay,isMultilineComment:()=>ag,isWhitespace:()=>av,partialMatches:()=>aR,partialRegExp:()=>aE,whitespaceCharacters:()=>aT}),tD(i8,"cc"),tD(ae,"insertToSet"),tD(at,"addFlag"),tD(ar,"ASSERT_EXISTS"),tD(an,"ASSERT_NEVER_REACH_HERE"),tD(ai,"isCharacter");var aa=[];for(let e=i8("0");e<=i8("9");e++)aa.push(e);var as=[i8("_")].concat(aa);for(let e=i8("a");e<=i8("z");e++)as.push(e);for(let e=i8("A");e<=i8("Z");e++)as.push(e);var ao=[i8(" "),i8("\f"),i8("\n"),i8("\r"),i8(" "),i8("\v"),i8(" "),i8("\xa0"),i8("\u1680"),i8("\u2000"),i8("\u2001"),i8("\u2002"),i8("\u2003"),i8("\u2004"),i8("\u2005"),i8("\u2006"),i8("\u2007"),i8("\u2008"),i8("\u2009"),i8("\u200A"),i8("\u2028"),i8("\u2029"),i8("\u202F"),i8("\u205F"),i8("\u3000"),i8("\uFEFF")],al=/[0-9a-fA-F]/,au=/[0-9]/,ac=/[1-9]/,ap=class{static{tD(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":at(r,"global");break;case"i":at(r,"ignoreCase");break;case"m":at(r,"multiLine");break;case"u":at(r,"unicode");break;case"y":at(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}}ar(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return an()}quantifier(e=!1){let t,r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;ar(t)}if((!0!==e||void 0!==t)&&ar(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),ar(e))?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):an()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[i8("\n"),i8("\r"),i8("\u2028"),i8("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=aa;break;case"D":e=aa,t=!0;break;case"s":e=ao;break;case"S":e=ao,t=!0;break;case"w":e=as;break;case"W":e=as,t=!0}return ar(e)?{type:"Set",value:e,complement:t}:an()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=i8("\f");break;case"n":e=i8("\n");break;case"r":e=i8("\r");break;case"t":e=i8(" ");break;case"v":e=i8("\v")}return ar(e)?{type:"Character",value:e}:an()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:i8("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:i8(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:i8(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,ai(t)&&this.isRangeDash()){this.consumeChar("-");let r=this.classAtom();if(r.type,ai(r)){if(r.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:r.value})}else ae(t.value,e),e.push(i8("-")),ae(r.value,e)}else ae(t.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:i8("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),"?"===this.peekChar(0)?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let t=this.disjunction();this.consumeChar(")");let r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(!1===ac.test(e))throw Error("Expecting a positive integer");for(;au.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===au.test(e))throw Error("Expecting an integer");for(;au.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:i8(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return au.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2)||"<"===this.peekChar(2)&&("="===this.peekChar(3)||"!"===this.peekChar(3)));default:return!1}}isQuantifier(){let e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let r=0;r<e;r++){let e=this.popChar();if(!1===al.test(e))throw Error("Expecting a HexDecimal digits");t+=e}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}},af=class{static{tD(this,"BaseRegExpVisitor")}visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},ad=/\r?\n/gm,am=new ap,ah=new class extends af{static{tD(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=a$(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=new RegExp(this.regex.substring(e.loc.begin,e.loc.end));this.multiline=!!"\n".match(t)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}};function ay(e){try{"string"!=typeof e&&(e=e.source),e=`/${e}/`;let t=am.pattern(e),r=[];for(let n of t.value.value)ah.reset(e),ah.visit(n),r.push({start:ah.startRegexp,end:ah.endRegex});return r}catch{return[]}}function ag(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),ah.reset(e),ah.visit(am.pattern(e)),ah.multiline}catch{return!1}}tD(ay,"getTerminalParts"),tD(ag,"isMultilineComment");var aT="\f\n\r \v \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF".split("");function av(e){let t="string"==typeof e?new RegExp(e):e;return aT.some(e=>t.test(e))}function a$(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function aR(e,t){let r=aE(e),n=t.match(r);return!!n&&n[0].length>0}function aE(e){"string"==typeof e&&(e=new RegExp(e));let t=e,r=e.source,n=0;function i(){let e="",a;function s(t){e+=r.substr(n,t),n+=t}function o(t){e+="(?:"+r.substr(n,t)+"|$)",n+=t}for(tD(s,"appendRaw"),tD(o,"appendOptional");n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":o(3);break;case"x":o(4);break;case"u":o(t.unicode?"{"===r[n+2]?r.indexOf("}",n)-n+1:6:2);break;case"p":case"P":o(t.unicode?r.indexOf("}",n)-n+1:2);break;case"k":o(r.indexOf(">",n)-n+1);break;default:o(2)}break;case"[":(a=/\[(?:\\.|.)*?\]/g).lastIndex=n,o((a=a.exec(r)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":(a=/\{\d+,?\d*\}/g).lastIndex=n,(a=a.exec(r))?s(a[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":e+="(?:",n+=3,e+=i()+"|$)";break;case"=":e+="(?=",n+=3,e+=i()+")";break;case"!":a=n,n+=3,i(),e+=r.substr(a,n-a);break;case"<":switch(r[n+3]){case"=":case"!":a=n,n+=4,i(),e+=r.substr(a,n-a);break;default:s(r.indexOf(">",n)-n+1),e+=i()+"|$)"}}else s(1),e+=i()+"|$)";break;case")":return++n,e;default:o(1)}return e}return tD(i,"process"),new RegExp(i(),e.flags)}function ab(e){return e.rules.find(e=>n4(e)&&e.entry)}function aA(e){return e.rules.filter(e=>iy(e)&&e.hidden)}function aC(e,t){let r=new Set,n=ab(e);if(!n)return new Set(e.rules);for(let i of[n].concat(aA(e)))aS(i,r,t);let i=new Set;for(let t of e.rules)(r.has(t.name)||iy(t)&&t.hidden)&&i.add(t);return i}function aS(e,t,r){t.add(e.name),rQ(e).forEach(e=>{if(ir(e)||r&&iT(e)){let n=e.rule.ref;n&&!t.has(n.name)&&aS(n,t,r)}})}function ak(e){let t=new Set;return rQ(e).forEach(e=>{nE(e)&&(n4(e.type.ref)&&t.add(e.type.ref),nO(e.type.ref)&&n4(e.type.ref.$container)&&t.add(e.type.ref.$container))}),t}function ax(e){if(e.terminal)return e.terminal;if(e.type.ref){let t=aM(e.type.ref);return t?.terminal}}function aN(e){return e.hidden&&!av(aX(e))}function aw(e,t){return e&&t?a_(e,t,e.astNode,!0):[]}function aI(e,t,r){if(!e||!t)return;let n=a_(e,t,e.astNode,!0);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function a_(e,t,r,n){if(!n){let r=rU(e.grammarSource,nf);if(r&&r.feature===t)return[e]}return r_(e)&&e.astNode===r?e.content.flatMap(e=>a_(e,t,r,!1)):[]}function aP(e,t){return e?aD(e,t,e?.astNode):[]}function aO(e,t,r){if(!e)return;let n=aD(e,t,e?.astNode);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function aD(e,t,r){let n;if(e.astNode!==r)return[];if(nU(e.grammarSource)&&e.grammarSource.value===t)return[e];let i=ij(e).iterator(),a=[];do if(!(n=i.next()).done){let e=n.value;e.astNode===r?nU(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):i.prune()}while(!n.done)return a}function aL(e){let t=e.astNode;for(;t===e.container?.astNode;){let t=rU(e.grammarSource,nf);if(t)return t;e=e.container}}function aM(e){let t=e;return nO(t)&&(ni(t.$container)?t=t.$container.$container:r7(t.$container)?t=t.$container:i5(t.$container)),aj(e,t,new Map)}function aj(e,t,r){function n(t,n){let i;return rU(t,nf)||(i=aj(n,n,r)),r.set(e,i),i}if(tD(n,"go"),r.has(e))return r.get(e);for(let i of(r.set(e,void 0),rQ(t)))if(nf(i)&&"name"===i.feature.toLowerCase())return r.set(e,i),i;else if(ir(i)&&n4(i.rule.ref))return n(i,i.rule.ref);else if(ia(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}function aF(e){let t=e.$container;if(n_(t)){let r=t.elements,n=r.indexOf(e);for(let e=n-1;e>=0;e--){let t=r[e];if(ni(t))return t;{let t=rQ(r[e]).find(ni);if(t)return t}}}return r5(t)?aF(t):void 0}function aG(e,t){return"?"===e||"*"===e||n_(t)&&!!t.guardCondition}function az(e){return"*"===e||"+"===e}function aK(e){return"+="===e}function aq(e){return aU(e,new Set)}function aU(e,t){if(t.has(e))return!0;for(let r of(t.add(e),rQ(e)))if(ir(r)){if(!r.rule.ref||n4(r.rule.ref)&&!aU(r.rule.ref,t)||nL(r.rule.ref))return!1}else if(nf(r))return!1;else if(ni(r))return!1;return!!e.definition}function aB(e){return aW(e.type,new Set)}function aW(e,t){if(t.has(e))return!0;if(t.add(e),nc(e)||n5(e))return!1;if(iS(e))return e.types.every(e=>aW(e,t));{if(!ia(e))return!1;if(void 0!==e.primitiveType||void 0!==e.stringType)return!0;if(void 0===e.typeRef)return!1;let r=e.typeRef.ref;return!!i$(r)&&aW(r.type,t)}}function aV(e){if(!iy(e)){if(e.inferredType)return e.inferredType.name;else if(e.dataType)return e.dataType;else if(e.returnType){let t=e.returnType.ref;if(t)return t.name}}}function aH(e){if(r7(e))return n4(e)&&aq(e)?e.name:aV(e)??e.name;if(nK(e)||i$(e)||ie(e))return e.name;if(ni(e)){let t=aY(e);if(t)return t}else if(nO(e))return e.name;throw Error("Cannot get name of Unknown Type")}function aY(e){return e.inferredType?e.inferredType.name:e.type?.ref?aH(e.type.ref):void 0}function aQ(e){return iy(e)?e.type?.name??"string":n4(e)&&aq(e)?e.name:aV(e)??e.name}function aZ(e){return iy(e)?e.type?.name??"string":aV(e)??e.name}function aX(e){let t={s:!1,i:!1,u:!1};return new RegExp(a0(e.definition,t),Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(""))}tD(av,"isWhitespace"),tD(a$,"escapeRegExp"),tD(aR,"partialMatches"),tD(aE,"partialRegExp"),tD(ab,"getEntryRule"),tD(aA,"getHiddenRules"),tD(aC,"getAllReachableRules"),tD(aS,"ruleDfs"),tD(ak,"getAllRulesUsedForCrossReferences"),tD(ax,"getCrossReferenceTerminal"),tD(aN,"isCommentTerminal"),tD(aw,"findNodesForProperty"),tD(aI,"findNodeForProperty"),tD(a_,"findNodesForPropertyInternal"),tD(aP,"findNodesForKeyword"),tD(aO,"findNodeForKeyword"),tD(aD,"findNodesForKeywordInternal"),tD(aL,"findAssignment"),tD(aM,"findNameAssignment"),tD(aj,"findNameAssignmentInternal"),tD(aF,"getActionAtElement"),tD(aG,"isOptionalCardinality"),tD(az,"isArrayCardinality"),tD(aK,"isArrayOperator"),tD(aq,"isDataTypeRule"),tD(aU,"isDataTypeRuleInternal"),tD(aB,"isDataType"),tD(aW,"isDataTypeInternal"),tD(aV,"getExplicitRuleType"),tD(aH,"getTypeName"),tD(aY,"getActionType"),tD(aQ,"getRuleTypeName"),tD(aZ,"getRuleType"),tD(aX,"terminalRegex");var aJ=/[\s\S]/.source;function a0(e,t){if(iu(e))return a1(e);if(im(e))return a2(e);if(ny(e))return a9(e);if(iT(e)){let t=e.rule.ref;if(!t)throw Error("Missing rule reference.");return a6(a0(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}if(nH(e))return a4(e);else if(iw(e))return a3(e);else if(n7(e)){let r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),i=e.regex.substring(r+1);return t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),a6(n,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}else if(iO(e))return a6(aJ,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});else throw Error(`Invalid terminal element: ${e?.$type}, ${e?.$cstNode?.text}`)}function a1(e){return a6(e.elements.map(e=>a0(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a2(e){return a6(e.elements.map(e=>a0(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a3(e){return a6(`${aJ}*?${a0(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function a4(e){return a6(`(?!${a0(e.terminal)})${aJ}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function a9(e){return e.right?a6(`[${a5(e.left)}-${a5(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):a6(a5(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a5(e){return a$(e.value)}function a6(e,t){if(t.parenthesized||t.lookahead||!1!==t.wrap){let r=t.lookahead??(t.parenthesized?"":"?:");e=`(${r}${e})`}return t.cardinality?`${e}${t.cardinality}`:e}function a7(e){let t=[];for(let r of e.Grammar.rules)iy(r)&&aN(r)&&ag(aX(r))&&t.push(r.name);return{multilineCommentRules:t,nameRegexp:iB}}tD(a0,"abstractElementToRegex"),tD(a1,"terminalAlternativesToRegex"),tD(a2,"terminalGroupToRegex"),tD(a3,"untilTokenToRegex"),tD(a4,"negateTokenToRegex"),tD(a9,"characterRangeToRegex"),tD(a5,"keywordToRegex"),tD(a6,"withCardinality"),tD(a7,"createGrammarConfig");var a8="object"==typeof global&&global&&global.Object===Object&&global,se="object"==typeof self&&self&&self.Object===Object&&self,st=a8||se||Function("return this")(),sr=st.Symbol,sn=Object.prototype,si=sn.hasOwnProperty,sa=sn.toString,ss=sr?sr.toStringTag:void 0;function so(e){var t=si.call(e,ss),r=e[ss];try{e[ss]=void 0;var n=!0}catch(e){}var i=sa.call(e);return n&&(t?e[ss]=r:delete e[ss]),i}tD(so,"getRawTag");var sl=Object.prototype.toString;function su(e){return sl.call(e)}tD(su,"objectToString");var sc=sr?sr.toStringTag:void 0;function sp(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":sc&&sc in Object(e)?so(e):su(e)}function sf(e){return null!=e&&"object"==typeof e}function sd(e){return"symbol"==typeof e||sf(e)&&"[object Symbol]"==sp(e)}function sm(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}tD(sp,"baseGetTag"),tD(sf,"isObjectLike"),tD(sd,"isSymbol"),tD(sm,"arrayMap");var sh=Array.isArray,sy=1/0,sg=sr?sr.prototype:void 0,sT=sg?sg.toString:void 0;function sv(e){if("string"==typeof e)return e;if(sh(e))return sm(e,sv)+"";if(sd(e))return sT?sT.call(e):"";var t=e+"";return"0"==t&&1/e==-sy?"-0":t}tD(sv,"baseToString");var s$=/\s/;function sR(e){for(var t=e.length;t--&&s$.test(e.charAt(t)););return t}tD(sR,"trimmedEndIndex");var sE=/^\s+/;function sb(e){return e?e.slice(0,sR(e)+1).replace(sE,""):e}function sA(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}tD(sb,"baseTrim"),tD(sA,"isObject");var sC=0/0,sS=/^[-+]0x[0-9a-f]+$/i,sk=/^0b[01]+$/i,sx=/^0o[0-7]+$/i,sN=parseInt;function sw(e){if("number"==typeof e)return e;if(sd(e))return sC;if(sA(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=sA(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=sb(e);var r=sk.test(e);return r||sx.test(e)?sN(e.slice(2),r?2:8):sS.test(e)?sC:+e}tD(sw,"toNumber");var sI=1/0;function s_(e){return e?(e=sw(e))===sI||e===-sI?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}function sP(e){var t=s_(e),r=t%1;return t==t?r?t-r:t:0}function sO(e){return e}function sD(e){if(!sA(e))return!1;var t=sp(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}tD(s_,"toFinite"),tD(sP,"toInteger"),tD(sO,"identity"),tD(sD,"isFunction");var sL=st["__core-js_shared__"],sM=(s=/[^.]+$/.exec(sL&&sL.keys&&sL.keys.IE_PROTO||""))?"Symbol(src)_1."+s:"";function sj(e){return!!sM&&sM in e}tD(sj,"isMasked");var sF=Function.prototype.toString;function sG(e){if(null!=e){try{return sF.call(e)}catch(e){}try{return e+""}catch(e){}}return""}tD(sG,"toSource");var sz=/^\[object .+?Constructor\]$/,sK=Object.prototype,sq=Function.prototype.toString,sU=sK.hasOwnProperty,sB=RegExp("^"+sq.call(sU).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sW(e){return!(!sA(e)||sj(e))&&(sD(e)?sB:sz).test(sG(e))}function sV(e,t){return null==e?void 0:e[t]}function sH(e,t){var r=sV(e,t);return sW(r)?r:void 0}tD(sW,"baseIsNative"),tD(sV,"getValue"),tD(sH,"getNative");var sY=sH(st,"WeakMap"),sQ=Object.create,sZ=function(){function e(){}return tD(e,"object"),function(t){if(!sA(t))return{};if(sQ)return sQ(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function sX(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function sJ(){}function s0(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}tD(sX,"apply"),tD(sJ,"noop"),tD(s0,"copyArray");var s1=Date.now;function s2(e){var t=0,r=0;return function(){var n=s1(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function s3(e){return function(){return e}}tD(s2,"shortOut"),tD(s3,"constant");var s4=function(){try{var e=sH(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),s9=s2(s4?function(e,t){return s4(e,"toString",{configurable:!0,enumerable:!1,value:s3(t),writable:!0})}:sO);function s5(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function s6(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a<i;)if(t(e[a],a,e))return a;return -1}function s7(e){return e!=e}function s8(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return -1}function oe(e,t,r){return t==t?s8(e,t,r):s6(e,s7,r)}function ot(e,t){return!!(null==e?0:e.length)&&oe(e,t,0)>-1}tD(s5,"arrayEach"),tD(s6,"baseFindIndex"),tD(s7,"baseIsNaN"),tD(s8,"strictIndexOf"),tD(oe,"baseIndexOf"),tD(ot,"arrayIncludes");var or=/^(?:0|[1-9]\d*)$/;function on(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&or.test(e))&&e>-1&&e%1==0&&e<t}function oi(e,t,r){"__proto__"==t&&s4?s4(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function oa(e,t){return e===t||e!=e&&t!=t}tD(on,"isIndex"),tD(oi,"baseAssignValue"),tD(oa,"eq");var os=Object.prototype.hasOwnProperty;function oo(e,t,r){var n=e[t];os.call(e,t)&&oa(n,r)&&(void 0!==r||t in e)||oi(e,t,r)}function ol(e,t,r,n){var i=!r;r||(r={});for(var a=-1,s=t.length;++a<s;){var o=t[a],l=n?n(r[o],e[o],o,r,e):void 0;void 0===l&&(l=e[o]),i?oi(r,o,l):oo(r,o,l)}return r}tD(oo,"assignValue"),tD(ol,"copyObject");var ou=Math.max;function oc(e,t,r){return t=ou(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=ou(n.length-t,0),s=Array(a);++i<a;)s[i]=n[t+i];i=-1;for(var o=Array(t+1);++i<t;)o[i]=n[i];return o[t]=r(s),sX(e,this,o)}}function op(e,t){return s9(oc(e,t,sO),e+"")}function of(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}function od(e){return null!=e&&of(e.length)&&!sD(e)}function om(e,t,r){if(!sA(r))return!1;var n=typeof t;return("number"==n?!!(od(r)&&on(t,r.length)):"string"==n&&t in r)&&oa(r[t],e)}function oh(e){return op(function(t,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,s&&om(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),t=Object(t);++n<i;){var o=r[n];o&&e(t,o,n,a)}return t})}tD(oc,"overRest"),tD(op,"baseRest"),tD(of,"isLength"),tD(od,"isArrayLike"),tD(om,"isIterateeCall"),tD(oh,"createAssigner");var oy=Object.prototype;function og(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||oy)}function oT(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function ov(e){return sf(e)&&"[object Arguments]"==sp(e)}tD(og,"isPrototype"),tD(oT,"baseTimes"),tD(ov,"baseIsArguments");var o$=Object.prototype,oR=o$.hasOwnProperty,oE=o$.propertyIsEnumerable,ob=ov(function(){return arguments}())?ov:function(e){return sf(e)&&oR.call(e,"callee")&&!oE.call(e,"callee")};function oA(){return!1}tD(oA,"stubFalse");var oC="object"==typeof exports&&exports&&!exports.nodeType&&exports,oS=oC&&"object"==typeof module&&module&&!module.nodeType&&module,ok=oS&&oS.exports===oC?st.Buffer:void 0,ox=(ok?ok.isBuffer:void 0)||oA,oN={};function ow(e){return sf(e)&&of(e.length)&&!!oN[sp(e)]}function oI(e){return function(t){return e(t)}}oN["[object Float32Array]"]=oN["[object Float64Array]"]=oN["[object Int8Array]"]=oN["[object Int16Array]"]=oN["[object Int32Array]"]=oN["[object Uint8Array]"]=oN["[object Uint8ClampedArray]"]=oN["[object Uint16Array]"]=oN["[object Uint32Array]"]=!0,oN["[object Arguments]"]=oN["[object Array]"]=oN["[object ArrayBuffer]"]=oN["[object Boolean]"]=oN["[object DataView]"]=oN["[object Date]"]=oN["[object Error]"]=oN["[object Function]"]=oN["[object Map]"]=oN["[object Number]"]=oN["[object Object]"]=oN["[object RegExp]"]=oN["[object Set]"]=oN["[object String]"]=oN["[object WeakMap]"]=!1,tD(ow,"baseIsTypedArray"),tD(oI,"baseUnary");var o_="object"==typeof exports&&exports&&!exports.nodeType&&exports,oP=o_&&"object"==typeof module&&module&&!module.nodeType&&module,oO=oP&&oP.exports===o_&&a8.process,oD=function(){try{var e=oP&&oP.require&&oP.require("util").types;if(e)return e;return oO&&oO.binding&&oO.binding("util")}catch(e){}}(),oL=oD&&oD.isTypedArray,oM=oL?oI(oL):ow,oj=Object.prototype.hasOwnProperty;function oF(e,t){var r=sh(e),n=!r&&ob(e),i=!r&&!n&&ox(e),a=!r&&!n&&!i&&oM(e),s=r||n||i||a,o=s?oT(e.length,String):[],l=o.length;for(var u in e)(t||oj.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||on(u,l)))&&o.push(u);return o}function oG(e,t){return function(r){return e(t(r))}}tD(oF,"arrayLikeKeys"),tD(oG,"overArg");var oz=oG(Object.keys,Object),oK=Object.prototype.hasOwnProperty;function oq(e){if(!og(e))return oz(e);var t=[];for(var r in Object(e))oK.call(e,r)&&"constructor"!=r&&t.push(r);return t}function oU(e){return od(e)?oF(e):oq(e)}tD(oq,"baseKeys"),tD(oU,"keys");var oB=Object.prototype.hasOwnProperty,oW=oh(function(e,t){if(og(t)||od(t))return void ol(t,oU(t),e);for(var r in t)oB.call(t,r)&&oo(e,r,t[r])});function oV(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}tD(oV,"nativeKeysIn");var oH=Object.prototype.hasOwnProperty;function oY(e){if(!sA(e))return oV(e);var t=og(e),r=[];for(var n in e)"constructor"==n&&(t||!oH.call(e,n))||r.push(n);return r}function oQ(e){return od(e)?oF(e,!0):oY(e)}tD(oY,"baseKeysIn"),tD(oQ,"keysIn");var oZ=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,oX=/^\w*$/;function oJ(e,t){if(sh(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||sd(e))||oX.test(e)||!oZ.test(e)||null!=t&&e in Object(t)}tD(oJ,"isKey");var o0=sH(Object,"create");function o1(){this.__data__=o0?o0(null):{},this.size=0}function o2(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}tD(o1,"hashClear"),tD(o2,"hashDelete");var o3=Object.prototype.hasOwnProperty;function o4(e){var t=this.__data__;if(o0){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o3.call(t,e)?t[e]:void 0}tD(o4,"hashGet");var o9=Object.prototype.hasOwnProperty;function o5(e){var t=this.__data__;return o0?void 0!==t[e]:o9.call(t,e)}function o6(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=o0&&void 0===t?"__lodash_hash_undefined__":t,this}function o7(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function o8(){this.__data__=[],this.size=0}function le(e,t){for(var r=e.length;r--;)if(oa(e[r][0],t))return r;return -1}tD(o5,"hashHas"),tD(o6,"hashSet"),tD(o7,"Hash"),o7.prototype.clear=o1,o7.prototype.delete=o2,o7.prototype.get=o4,o7.prototype.has=o5,o7.prototype.set=o6,tD(o8,"listCacheClear"),tD(le,"assocIndexOf");var lt=Array.prototype.splice;function lr(e){var t=this.__data__,r=le(t,e);return!(r<0)&&(r==t.length-1?t.pop():lt.call(t,r,1),--this.size,!0)}function ln(e){var t=this.__data__,r=le(t,e);return r<0?void 0:t[r][1]}function li(e){return le(this.__data__,e)>-1}function la(e,t){var r=this.__data__,n=le(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function ls(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}tD(lr,"listCacheDelete"),tD(ln,"listCacheGet"),tD(li,"listCacheHas"),tD(la,"listCacheSet"),tD(ls,"ListCache"),ls.prototype.clear=o8,ls.prototype.delete=lr,ls.prototype.get=ln,ls.prototype.has=li,ls.prototype.set=la;var lo=sH(st,"Map");function ll(){this.size=0,this.__data__={hash:new o7,map:new(lo||ls),string:new o7}}function lu(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function lc(e,t){var r=e.__data__;return lu(t)?r["string"==typeof t?"string":"hash"]:r.map}function lp(e){var t=lc(this,e).delete(e);return this.size-=!!t,t}function lf(e){return lc(this,e).get(e)}function ld(e){return lc(this,e).has(e)}function lm(e,t){var r=lc(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this}function lh(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function ly(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=tD(function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(ly.Cache||lh),r}function lg(e){var t=ly(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}tD(ll,"mapCacheClear"),tD(lu,"isKeyable"),tD(lc,"getMapData"),tD(lp,"mapCacheDelete"),tD(lf,"mapCacheGet"),tD(ld,"mapCacheHas"),tD(lm,"mapCacheSet"),tD(lh,"MapCache"),lh.prototype.clear=ll,lh.prototype.delete=lp,lh.prototype.get=lf,lh.prototype.has=ld,lh.prototype.set=lm,tD(ly,"memoize"),ly.Cache=lh,tD(lg,"memoizeCapped");var lT=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,lv=/\\(\\)?/g,l$=lg(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(lT,function(e,r,n,i){t.push(n?i.replace(lv,"$1"):r||e)}),t});function lR(e){return null==e?"":sv(e)}function lE(e,t){return sh(e)?e:oJ(e,t)?[e]:l$(lR(e))}tD(lR,"toString"),tD(lE,"castPath");var lb=1/0;function lA(e){if("string"==typeof e||sd(e))return e;var t=e+"";return"0"==t&&1/e==-lb?"-0":t}function lC(e,t){t=lE(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[lA(t[r++])];return r&&r==n?e:void 0}function lS(e,t,r){var n=null==e?void 0:lC(e,t);return void 0===n?r:n}function lk(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}tD(lA,"toKey"),tD(lC,"baseGet"),tD(lS,"get"),tD(lk,"arrayPush");var lx=sr?sr.isConcatSpreadable:void 0;function lN(e){return sh(e)||ob(e)||!!(lx&&e&&e[lx])}function lw(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=lN),i||(i=[]);++a<s;){var o=e[a];t>0&&r(o)?t>1?lw(o,t-1,r,n,i):lk(i,o):n||(i[i.length]=o)}return i}function lI(e){return(null==e?0:e.length)?lw(e,1):[]}tD(lN,"isFlattenable"),tD(lw,"baseFlatten"),tD(lI,"flatten");var l_=oG(Object.getPrototypeOf,Object);function lP(e,t,r){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var a=Array(i);++n<i;)a[n]=e[n+t];return a}function lO(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function lD(){this.__data__=new ls,this.size=0}function lL(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function lM(e){return this.__data__.get(e)}function lj(e){return this.__data__.has(e)}function lF(e,t){var r=this.__data__;if(r instanceof ls){var n=r.__data__;if(!lo||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new lh(n)}return r.set(e,t),this.size=r.size,this}function lG(e){var t=this.__data__=new ls(e);this.size=t.size}function lz(e,t){return e&&ol(t,oU(t),e)}function lK(e,t){return e&&ol(t,oQ(t),e)}tD(lP,"baseSlice"),tD(lO,"arrayReduce"),tD(lD,"stackClear"),tD(lL,"stackDelete"),tD(lM,"stackGet"),tD(lj,"stackHas"),tD(lF,"stackSet"),tD(lG,"Stack"),lG.prototype.clear=lD,lG.prototype.delete=lL,lG.prototype.get=lM,lG.prototype.has=lj,lG.prototype.set=lF,tD(lz,"baseAssign"),tD(lK,"baseAssignIn");var lq="object"==typeof exports&&exports&&!exports.nodeType&&exports,lU=lq&&"object"==typeof module&&module&&!module.nodeType&&module,lB=lU&&lU.exports===lq?st.Buffer:void 0,lW=lB?lB.allocUnsafe:void 0;function lV(e,t){if(t)return e.slice();var r=e.length,n=lW?lW(r):new e.constructor(r);return e.copy(n),n}function lH(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function lY(){return[]}tD(lV,"cloneBuffer"),tD(lH,"arrayFilter"),tD(lY,"stubArray");var lQ=Object.prototype.propertyIsEnumerable,lZ=Object.getOwnPropertySymbols,lX=lZ?function(e){return null==e?[]:lH(lZ(e=Object(e)),function(t){return lQ.call(e,t)})}:lY;function lJ(e,t){return ol(e,lX(e),t)}tD(lJ,"copySymbols");var l0=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)lk(t,lX(e)),e=l_(e);return t}:lY;function l1(e,t){return ol(e,l0(e),t)}function l2(e,t,r){var n=t(e);return sh(e)?n:lk(n,r(e))}function l3(e){return l2(e,oU,lX)}function l4(e){return l2(e,oQ,l0)}tD(l1,"copySymbolsIn"),tD(l2,"baseGetAllKeys"),tD(l3,"getAllKeys"),tD(l4,"getAllKeysIn");var l9=sH(st,"DataView"),l5=sH(st,"Promise"),l6=sH(st,"Set"),l7="[object Map]",l8="[object Promise]",ue="[object Set]",ut="[object WeakMap]",ur="[object DataView]",un=sG(l9),ui=sG(lo),ua=sG(l5),us=sG(l6),uo=sG(sY),ul=sp;(l9&&ul(new l9(new ArrayBuffer(1)))!=ur||lo&&ul(new lo)!=l7||l5&&ul(l5.resolve())!=l8||l6&&ul(new l6)!=ue||sY&&ul(new sY)!=ut)&&(ul=tD(function(e){var t=sp(e),r="[object Object]"==t?e.constructor:void 0,n=r?sG(r):"";if(n)switch(n){case un:return ur;case ui:return l7;case ua:return l8;case us:return ue;case uo:return ut}return t},"getTag"));var uu=ul,uc=Object.prototype.hasOwnProperty;function up(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&uc.call(e,"index")&&(r.index=e.index,r.input=e.input),r}tD(up,"initCloneArray");var uf=st.Uint8Array;function ud(e){var t=new e.constructor(e.byteLength);return new uf(t).set(new uf(e)),t}function um(e,t){var r=t?ud(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}tD(ud,"cloneArrayBuffer"),tD(um,"cloneDataView");var uh=/\w*$/;function uy(e){var t=new e.constructor(e.source,uh.exec(e));return t.lastIndex=e.lastIndex,t}tD(uy,"cloneRegExp");var ug=sr?sr.prototype:void 0,uT=ug?ug.valueOf:void 0;function uv(e){return uT?Object(uT.call(e)):{}}function u$(e,t){var r=t?ud(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function uR(e,t,r){var n=e.constructor;switch(t){case"[object ArrayBuffer]":return ud(e);case"[object Boolean]":case"[object Date]":return new n(+e);case"[object DataView]":return um(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return u$(e,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(e);case"[object RegExp]":return uy(e);case"[object Symbol]":return uv(e)}}function uE(e){return"function"!=typeof e.constructor||og(e)?{}:sZ(l_(e))}function ub(e){return sf(e)&&"[object Map]"==uu(e)}tD(uv,"cloneSymbol"),tD(u$,"cloneTypedArray"),tD(uR,"initCloneByTag"),tD(uE,"initCloneObject"),tD(ub,"baseIsMap");var uA=oD&&oD.isMap,uC=uA?oI(uA):ub;function uS(e){return sf(e)&&"[object Set]"==uu(e)}tD(uS,"baseIsSet");var uk=oD&&oD.isSet,ux=uk?oI(uk):uS,uN="[object Arguments]",uw="[object Function]",uI="[object Object]",u_={};function uP(e,t,r,n,i,a){var s,o=1&t,l=2&t,u=4&t;if(r&&(s=i?r(e,n,i,a):r(e)),void 0!==s)return s;if(!sA(e))return e;var c=sh(e);if(c){if(s=up(e),!o)return s0(e,s)}else{var p=uu(e),f=p==uw||"[object GeneratorFunction]"==p;if(ox(e))return lV(e,o);if(p==uI||p==uN||f&&!i){if(s=l||f?{}:uE(e),!o)return l?l1(e,lK(s,e)):lJ(e,lz(s,e))}else{if(!u_[p])return i?e:{};s=uR(e,p,o)}}a||(a=new lG);var d=a.get(e);if(d)return d;a.set(e,s),ux(e)?e.forEach(function(n){s.add(uP(n,t,r,n,e,a))}):uC(e)&&e.forEach(function(n,i){s.set(i,uP(n,t,r,i,e,a))});var m=u?l?l4:l3:l?oQ:oU,h=c?void 0:m(e);return s5(h||e,function(n,i){h&&(n=e[i=n]),oo(s,i,uP(n,t,r,i,e,a))}),s}function uO(e){return uP(e,4)}function uD(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var a=e[t];a&&(i[n++]=a)}return i}function uL(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}function uM(e){return this.__data__.has(e)}function uj(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new lh;++t<r;)this.add(e[t])}function uF(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function uG(e,t){return e.has(t)}function uz(e,t,r,n,i,a){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var p=-1,f=!0,d=2&r?new uj:void 0;for(a.set(e,t),a.set(t,e);++p<o;){var m=e[p],h=t[p];if(n)var y=s?n(h,m,p,t,e,a):n(m,h,p,e,t,a);if(void 0!==y){if(y)continue;f=!1;break}if(d){if(!uF(t,function(e,t){if(!uG(d,t)&&(m===e||i(m,e,r,n,a)))return d.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,r,n,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function uK(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function uq(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}u_[uN]=u_["[object Array]"]=u_["[object ArrayBuffer]"]=u_["[object DataView]"]=u_["[object Boolean]"]=u_["[object Date]"]=u_["[object Float32Array]"]=u_["[object Float64Array]"]=u_["[object Int8Array]"]=u_["[object Int16Array]"]=u_["[object Int32Array]"]=u_["[object Map]"]=u_["[object Number]"]=u_[uI]=u_["[object RegExp]"]=u_["[object Set]"]=u_["[object String]"]=u_["[object Symbol]"]=u_["[object Uint8Array]"]=u_["[object Uint8ClampedArray]"]=u_["[object Uint16Array]"]=u_["[object Uint32Array]"]=!0,u_["[object Error]"]=u_[uw]=u_["[object WeakMap]"]=!1,tD(uP,"baseClone"),tD(uO,"clone"),tD(uD,"compact"),tD(uL,"setCacheAdd"),tD(uM,"setCacheHas"),tD(uj,"SetCache"),uj.prototype.add=uj.prototype.push=uL,uj.prototype.has=uM,tD(uF,"arraySome"),tD(uG,"cacheHas"),tD(uz,"equalArrays"),tD(uK,"mapToArray"),tD(uq,"setToArray");var uU=sr?sr.prototype:void 0,uB=uU?uU.valueOf:void 0;function uW(e,t,r,n,i,a,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!a(new uf(e),new uf(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return oa(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=uK;case"[object Set]":var l=1&n;if(o||(o=uq),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var c=uz(o(e),o(t),n,i,a,s);return s.delete(e),c;case"[object Symbol]":if(uB)return uB.call(e)==uB.call(t)}return!1}tD(uW,"equalByTag");var uV=Object.prototype.hasOwnProperty;function uH(e,t,r,n,i,a){var s=1&r,o=l3(e),l=o.length;if(l!=l3(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:uV.call(t,c)))return!1}var p=a.get(e),f=a.get(t);if(p&&f)return p==t&&f==e;var d=!0;a.set(e,t),a.set(t,e);for(var m=s;++u<l;){var h=e[c=o[u]],y=t[c];if(n)var g=s?n(y,h,c,t,e,a):n(h,y,c,e,t,a);if(!(void 0===g?h===y||i(h,y,r,n,a):g)){d=!1;break}m||(m="constructor"==c)}if(d&&!m){var T=e.constructor,v=t.constructor;T!=v&&"constructor"in e&&"constructor"in t&&!("function"==typeof T&&T instanceof T&&"function"==typeof v&&v instanceof v)&&(d=!1)}return a.delete(e),a.delete(t),d}tD(uH,"equalObjects");var uY="[object Arguments]",uQ="[object Array]",uZ="[object Object]",uX=Object.prototype.hasOwnProperty;function uJ(e,t,r,n,i,a){var s=sh(e),o=sh(t),l=s?uQ:uu(e),u=o?uQ:uu(t);l=l==uY?uZ:l,u=u==uY?uZ:u;var c=l==uZ,p=u==uZ,f=l==u;if(f&&ox(e)){if(!ox(t))return!1;s=!0,c=!1}if(f&&!c)return a||(a=new lG),s||oM(e)?uz(e,t,r,n,i,a):uW(e,t,l,r,n,i,a);if(!(1&r)){var d=c&&uX.call(e,"__wrapped__"),m=p&&uX.call(t,"__wrapped__");if(d||m){var h=d?e.value():e,y=m?t.value():t;return a||(a=new lG),i(h,y,r,n,a)}}return!!f&&(a||(a=new lG),uH(e,t,r,n,i,a))}function u0(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(sf(e)||sf(t))?uJ(e,t,r,n,u0,i):e!=e&&t!=t)}function u1(e,t,r,n){var i=r.length,a=i,s=!n;if(null==e)return!a;for(e=Object(e);i--;){var o=r[i];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<a;){var l=(o=r[i])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p=new lG;if(n)var f=n(u,c,l,e,t,p);if(!(void 0===f?u0(c,u,3,n,p):f))return!1}}return!0}function u2(e){return e==e&&!sA(e)}function u3(e){for(var t=oU(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,u2(i)]}return t}function u4(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}function u9(e){var t=u3(e);return 1==t.length&&t[0][2]?u4(t[0][0],t[0][1]):function(r){return r===e||u1(r,e,t)}}function u5(e,t){return null!=e&&t in Object(e)}function u6(e,t,r){t=lE(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=lA(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&of(i)&&on(s,i)&&(sh(e)||ob(e))}function u7(e,t){return null!=e&&u6(e,t,u5)}function u8(e,t){return oJ(e)&&u2(t)?u4(lA(e),t):function(r){var n=lS(r,e);return void 0===n&&n===t?u7(r,e):u0(t,n,3)}}function ce(e){return function(t){return null==t?void 0:t[e]}}function ct(e){return function(t){return lC(t,e)}}function cr(e){return oJ(e)?ce(lA(e)):ct(e)}function cn(e){return"function"==typeof e?e:null==e?sO:"object"==typeof e?sh(e)?u8(e[0],e[1]):u9(e):cr(e)}function ci(e,t,r,n){for(var i=-1,a=null==e?0:e.length;++i<a;){var s=e[i];t(n,s,r(s),e)}return n}function ca(e){return function(t,r,n){for(var i=-1,a=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++i];if(!1===r(a[l],l,a))break}return t}}tD(uJ,"baseIsEqualDeep"),tD(u0,"baseIsEqual"),tD(u1,"baseIsMatch"),tD(u2,"isStrictComparable"),tD(u3,"getMatchData"),tD(u4,"matchesStrictComparable"),tD(u9,"baseMatches"),tD(u5,"baseHasIn"),tD(u6,"hasPath"),tD(u7,"hasIn"),tD(u8,"baseMatchesProperty"),tD(ce,"baseProperty"),tD(ct,"basePropertyDeep"),tD(cr,"property"),tD(cn,"baseIteratee"),tD(ci,"arrayAggregator"),tD(ca,"createBaseFor");var cs=ca();function co(e,t){return e&&cs(e,t,oU)}function cl(e,t){return function(r,n){if(null==r)return r;if(!od(r))return e(r,n);for(var i=r.length,a=t?i:-1,s=Object(r);(t?a--:++a<i)&&!1!==n(s[a],a,s););return r}}tD(co,"baseForOwn"),tD(cl,"createBaseEach");var cu=cl(co);function cc(e,t,r,n){return cu(e,function(e,i,a){t(n,e,r(e),a)}),n}function cp(e,t){return function(r,n){var i=sh(r)?ci:cc,a=t?t():{};return i(r,e,cn(n,2),a)}}tD(cc,"baseAggregator"),tD(cp,"createAggregator");var cf=Object.prototype,cd=cf.hasOwnProperty,cm=op(function(e,t){e=Object(e);var r=-1,n=t.length,i=n>2?t[2]:void 0;for(i&&om(t[0],t[1],i)&&(n=1);++r<n;)for(var a=t[r],s=oQ(a),o=-1,l=s.length;++o<l;){var u=s[o],c=e[u];(void 0===c||oa(c,cf[u])&&!cd.call(e,u))&&(e[u]=a[u])}return e});function ch(e){return sf(e)&&od(e)}function cy(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function cg(e,t,r,n){var i=-1,a=ot,s=!0,o=e.length,l=[],u=t.length;if(!o)return l;r&&(t=sm(t,oI(r))),n?(a=cy,s=!1):t.length>=200&&(a=uG,s=!1,t=new uj(t));t:for(;++i<o;){var c=e[i],p=null==r?c:r(c);if(c=n||0!==c?c:0,s&&p==p){for(var f=u;f--;)if(t[f]===p)continue t;l.push(c)}else a(t,p,n)||l.push(c)}return l}tD(ch,"isArrayLikeObject"),tD(cy,"arrayIncludesWith"),tD(cg,"baseDifference");var cT=op(function(e,t){return ch(e)?cg(e,lw(t,1,ch,!0)):[]});function cv(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function c$(e,t,r){var n=null==e?0:e.length;return n?lP(e,(t=r||void 0===t?1:sP(t))<0?0:t,n):[]}function cR(e,t,r){var n=null==e?0:e.length;return n?lP(e,0,(t=n-(t=r||void 0===t?1:sP(t)))<0?0:t):[]}function cE(e){return"function"==typeof e?e:sO}function cb(e,t){return(sh(e)?s5:cu)(e,cE(t))}function cA(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}function cC(e,t){var r=!0;return cu(e,function(e,n,i){return r=!!t(e,n,i)}),r}function cS(e,t,r){var n=sh(e)?cA:cC;return r&&om(e,t,r)&&(t=void 0),n(e,cn(t,3))}function ck(e,t){var r=[];return cu(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function cx(e,t){return(sh(e)?lH:ck)(e,cn(t,3))}function cN(e){return function(t,r,n){var i=Object(t);if(!od(t)){var a=cn(r,3);t=oU(t),r=tD(function(e){return a(i[e],e,i)},"predicate")}var s=e(t,r,n);return s>-1?i[a?t[s]:s]:void 0}}tD(cv,"last"),tD(c$,"drop"),tD(cR,"dropRight"),tD(cE,"castFunction"),tD(cb,"forEach"),tD(cA,"arrayEvery"),tD(cC,"baseEvery"),tD(cS,"every"),tD(ck,"baseFilter"),tD(cx,"filter"),tD(cN,"createFind");var cw=Math.max;function cI(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:sP(r);return i<0&&(i=cw(n+i,0)),s6(e,cn(t,3),i)}tD(cI,"findIndex");var c_=cN(cI);function cP(e){return e&&e.length?e[0]:void 0}function cO(e,t){var r=-1,n=od(e)?Array(e.length):[];return cu(e,function(e,i,a){n[++r]=t(e,i,a)}),n}function cD(e,t){return(sh(e)?sm:cO)(e,cn(t,3))}function cL(e,t){return lw(cD(e,t),1)}tD(cP,"head"),tD(cO,"baseMap"),tD(cD,"map"),tD(cL,"flatMap");var cM=Object.prototype.hasOwnProperty,cj=cp(function(e,t,r){cM.call(e,r)?e[r].push(t):oi(e,r,[t])}),cF=Object.prototype.hasOwnProperty;function cG(e,t){return null!=e&&cF.call(e,t)}function cz(e,t){return null!=e&&u6(e,t,cG)}function cK(e){return"string"==typeof e||!sh(e)&&sf(e)&&"[object String]"==sp(e)}function cq(e,t){return sm(t,function(t){return e[t]})}function cU(e){return null==e?[]:cq(e,oU(e))}tD(cG,"baseHas"),tD(cz,"has"),tD(cK,"isString"),tD(cq,"baseValues"),tD(cU,"values");var cB=Math.max;function cW(e,t,r,n){e=od(e)?e:cU(e),r=r&&!n?sP(r):0;var i=e.length;return r<0&&(r=cB(i+r,0)),cK(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&oe(e,t,r)>-1}tD(cW,"includes");var cV=Math.max;function cH(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:sP(r);return i<0&&(i=cV(n+i,0)),oe(e,t,i)}tD(cH,"indexOf");var cY=Object.prototype.hasOwnProperty;function cQ(e){if(null==e)return!0;if(od(e)&&(sh(e)||"string"==typeof e||"function"==typeof e.splice||ox(e)||oM(e)||ob(e)))return!e.length;var t=uu(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(og(e))return!oq(e).length;for(var r in e)if(cY.call(e,r))return!1;return!0}function cZ(e){return sf(e)&&"[object RegExp]"==sp(e)}tD(cQ,"isEmpty"),tD(cZ,"baseIsRegExp");var cX=oD&&oD.isRegExp,cJ=cX?oI(cX):cZ;function c0(e){return void 0===e}function c1(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function c2(e,t,r,n){if(!sA(e))return e;t=lE(t,e);for(var i=-1,a=t.length,s=a-1,o=e;null!=o&&++i<a;){var l=lA(t[i]),u=r;if("__proto__"===l||"constructor"===l||"prototype"===l)break;if(i!=s){var c=o[l];void 0===(u=n?n(c,l,o):void 0)&&(u=sA(c)?c:on(t[i+1])?[]:{})}oo(o,l,u),o=o[l]}return e}function c3(e,t,r){for(var n=-1,i=t.length,a={};++n<i;){var s=t[n],o=lC(e,s);r(o,s)&&c2(a,lE(s,e),o)}return a}function c4(e,t){if(null==e)return{};var r=sm(l4(e),function(e){return[e]});return t=cn(t),c3(e,r,function(e,r){return t(e,r[0])})}function c9(e,t,r,n,i){return i(e,function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)}),r}function c5(e,t,r){var n=sh(e)?lO:c9,i=arguments.length<3;return n(e,cn(t,4),r,i,cu)}function c6(e,t){return(sh(e)?lH:ck)(e,c1(cn(t,3)))}function c7(e,t){var r;return cu(e,function(e,n,i){return!(r=t(e,n,i))}),!!r}function c8(e,t,r){var n=sh(e)?uF:c7;return r&&om(e,t,r)&&(t=void 0),n(e,cn(t,3))}tD(c0,"isUndefined"),tD(c1,"negate"),tD(c2,"baseSet"),tD(c3,"basePickBy"),tD(c4,"pickBy"),tD(c9,"baseReduce"),tD(c5,"reduce"),tD(c6,"reject"),tD(c7,"baseSome"),tD(c8,"some");var pe=l6&&1/uq(new l6([,-0]))[1]==1/0?function(e){return new l6(e)}:sJ;function pt(e,t,r){var n=-1,i=ot,a=e.length,s=!0,o=[],l=o;if(r)s=!1,i=cy;else if(a>=200){var u=t?null:pe(e);if(u)return uq(u);s=!1,i=uG,l=new uj}else l=t?[]:o;t:for(;++n<a;){var c=e[n],p=t?t(c):c;if(c=r||0!==c?c:0,s&&p==p){for(var f=l.length;f--;)if(l[f]===p)continue t;t&&l.push(p),o.push(c)}else i(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}function pr(e){return e&&e.length?pt(e):[]}function pn(e){console&&console.error&&console.error(`Error: ${e}`)}function pi(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function pa(e){let t=new Date().getTime(),r=e();return{time:new Date().getTime()-t,value:r}}function ps(e){function t(){}tD(t,"FakeConstructor"),t.prototype=e;let r=new t;function n(){return typeof r.bar}return tD(n,"fakeAccess"),n(),n(),e}function po(e){return pl(e)?e.LABEL:e.name}function pl(e){return cK(e.LABEL)&&""!==e.LABEL}tD(pt,"baseUniq"),tD(pr,"uniq"),tD(pn,"PRINT_ERROR"),tD(pi,"PRINT_WARNING"),tD(pa,"timer"),tD(ps,"toFastProperties"),tD(po,"tokenLabel"),tD(pl,"hasTokenLabel");var pu=class{static{tD(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),cb(this.definition,t=>{t.accept(e)})}},pc=class extends pu{static{tD(this,"NonTerminal")}constructor(e){super([]),this.idx=1,oW(this,c4(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}},pp=class extends pu{static{tD(this,"Rule")}constructor(e){super(e.definition),this.orgText="",oW(this,c4(e,e=>void 0!==e))}},pf=class extends pu{static{tD(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,oW(this,c4(e,e=>void 0!==e))}},pd=class extends pu{static{tD(this,"Option")}constructor(e){super(e.definition),this.idx=1,oW(this,c4(e,e=>void 0!==e))}},pm=class extends pu{static{tD(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,oW(this,c4(e,e=>void 0!==e))}},ph=class extends pu{static{tD(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,oW(this,c4(e,e=>void 0!==e))}},py=class extends pu{static{tD(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,oW(this,c4(e,e=>void 0!==e))}},pg=class extends pu{static{tD(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,oW(this,c4(e,e=>void 0!==e))}},pT=class extends pu{static{tD(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,oW(this,c4(e,e=>void 0!==e))}},pv=class{static{tD(this,"Terminal")}constructor(e){this.idx=1,oW(this,c4(e,e=>void 0!==e))}accept(e){e.visit(this)}};function p$(e){return cD(e,pR)}function pR(e){function t(e){return cD(e,pR)}if(tD(t,"convertDefinition"),e instanceof pc){let t={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return cK(e.label)&&(t.label=e.label),t}if(e instanceof pf)return{type:"Alternative",definition:t(e.definition)};if(e instanceof pd)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof pm)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof ph)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:pR(new pv({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof pg)return{type:"RepetitionWithSeparator",idx:e.idx,separator:pR(new pv({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof py)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};else if(e instanceof pT)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};else if(e instanceof pv){let t={type:"Terminal",name:e.terminalType.name,label:po(e.terminalType),idx:e.idx};cK(e.label)&&(t.terminalLabel=e.label);let r=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=cJ(r)?r.source:r),t}else if(e instanceof pp)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};else throw Error("non exhaustive match")}tD(p$,"serializeGrammar"),tD(pR,"serializeProduction");var pE=class{static{tD(this,"GAstVisitor")}visit(e){switch(e.constructor){case pc:return this.visitNonTerminal(e);case pf:return this.visitAlternative(e);case pd:return this.visitOption(e);case pm:return this.visitRepetitionMandatory(e);case ph:return this.visitRepetitionMandatoryWithSeparator(e);case pg:return this.visitRepetitionWithSeparator(e);case py:return this.visitRepetition(e);case pT:return this.visitAlternation(e);case pv:return this.visitTerminal(e);case pp:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function pb(e){return e instanceof pf||e instanceof pd||e instanceof py||e instanceof pm||e instanceof ph||e instanceof pg||e instanceof pv||e instanceof pp}function pA(e,t=[]){return e instanceof pd||e instanceof py||e instanceof pg||(e instanceof pT?c8(e.definition,e=>pA(e,t)):!(e instanceof pc&&cW(t,e))&&e instanceof pu&&(e instanceof pc&&t.push(e),cS(e.definition,e=>pA(e,t))))}function pC(e){return e instanceof pT}function pS(e){if(e instanceof pc)return"SUBRULE";if(e instanceof pd)return"OPTION";if(e instanceof pT)return"OR";if(e instanceof pm)return"AT_LEAST_ONE";if(e instanceof ph)return"AT_LEAST_ONE_SEP";else if(e instanceof pg)return"MANY_SEP";else if(e instanceof py)return"MANY";else if(e instanceof pv)return"CONSUME";else throw Error("non exhaustive match")}tD(pb,"isSequenceProd"),tD(pA,"isOptionalProd"),tD(pC,"isBranchingProd"),tD(pS,"getProductionDslName");var pk=class{static{tD(this,"RestWalker")}walk(e,t=[]){cb(e.definition,(r,n)=>{let i=c$(e.definition,n+1);if(r instanceof pc)this.walkProdRef(r,i,t);else if(r instanceof pv)this.walkTerminal(r,i,t);else if(r instanceof pf)this.walkFlat(r,i,t);else if(r instanceof pd)this.walkOption(r,i,t);else if(r instanceof pm)this.walkAtLeastOne(r,i,t);else if(r instanceof ph)this.walkAtLeastOneSep(r,i,t);else if(r instanceof pg)this.walkManySep(r,i,t);else if(r instanceof py)this.walkMany(r,i,t);else if(r instanceof pT)this.walkOr(r,i,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new pd({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=px(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new pd({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=px(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);cb(e.definition,e=>{let t=new pf({definition:[e]});this.walk(t,n)})}};function px(e,t,r){return[new pd({definition:[new pv({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}function pN(e){if(e instanceof pc)return pN(e.referencedRule);if(e instanceof pv)return p_(e);if(pb(e))return pw(e);if(pC(e))return pI(e);throw Error("non exhaustive match")}function pw(e){let t,r=[],n=e.definition,i=0,a=n.length>i,s=!0;for(;a&&s;)s=pA(t=n[i]),r=r.concat(pN(t)),i+=1,a=n.length>i;return pr(r)}function pI(e){return pr(lI(cD(e.definition,e=>pN(e))))}function p_(e){return[e.terminalType]}tD(px,"restForRepetitionWithSeparator"),tD(pN,"first"),tD(pw,"firstForSequence"),tD(pI,"firstForBranching"),tD(p_,"firstForTerminal");var pP="_~IN~_",pO=class extends pk{static{tD(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){let n=pL(e.referencedRule,e.idx)+this.topProd.name,i=pN(new pf({definition:t.concat(r)}));this.follows[n]=i}};function pD(e){let t={};return cb(e,e=>{oW(t,new pO(e).startWalking())}),t}function pL(e,t){return e.name+t+pP}tD(pD,"computeAllProdsFollows"),tD(pL,"buildBetweenProdsFollowPrefix");var pM={},pj=new ap;function pF(e){let t=e.toString();if(pM.hasOwnProperty(t))return pM[t];{let e=pj.pattern(t);return pM[t]=e,e}}function pG(){pM={}}tD(pF,"getRegExpAst"),tD(pG,"clearRegExpParserCache");var pz="Complement Sets are not supported for first char optimization",pK='Unable to use "first char" lexer optimizations:\n';function pq(e,t=!1){try{let t=pF(e);return pU(t.value,{},t.flags.ignoreCase)}catch(r){if(r.message===pz)t&&pi(`${pK} Unable to optimize: < ${e.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";t&&(r="\n This will disable the lexer's first char optimizations.\n See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),pn(`${pK} + Failed parsing: < ${e.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function pU(e,t,r){switch(e.type){case"Disjunction":for(let n=0;n<e.value.length;n++)pU(e.value[n],t,r);break;case"Alternative":let n=e.value;for(let e=0;e<n.length;e++){let i=n[e];switch(i.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}switch(i.type){case"Character":pB(i.value,t,r);break;case"Set":if(!0===i.complement)throw Error(pz);cb(i.value,e=>{if("number"==typeof e)pB(e,t,r);else if(!0===r)for(let n=e.from;n<=e.to;n++)pB(n,t,r);else{for(let n=e.from;n<=e.to&&n<fv;n++)pB(n,t,r);if(e.to>=fv){let r=e.from>=fv?e.from:fv,n=e.to,i=fR(r),a=fR(n);for(let e=i;e<=a;e++)t[e]=e}}});break;case"Group":pU(i.value,t,r);break;default:throw Error("Non Exhaustive Match")}let a=void 0!==i.quantifier&&0===i.quantifier.atLeast;if("Group"===i.type&&!1===pH(i)||"Group"!==i.type&&!1===a)break}break;default:throw Error("non exhaustive match!")}return cU(t)}function pB(e,t,r){let n=fR(e);t[n]=n,!0===r&&pW(e,t)}function pW(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let e=fR(n.charCodeAt(0));t[e]=e}else{let e=r.toLowerCase();if(e!==r){let r=fR(e.charCodeAt(0));t[r]=r}}}function pV(e,t){return c_(e.value,e=>"number"==typeof e?cW(t,e):void 0!==c_(t,t=>e.from<=t&&t<=e.to))}function pH(e){let t=e.quantifier;return!!t&&0===t.atLeast||!!e.value&&(sh(e.value)?cS(e.value,pH):pH(e.value))}tD(pq,"getOptimizedStartCodesIndices"),tD(pU,"firstCharOptimizedIndices"),tD(pB,"addOptimizedIdxToResult"),tD(pW,"handleIgnoreCase"),tD(pV,"findCode"),tD(pH,"isWholeOptional");var pY=class extends af{static{tD(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){cW(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===pV(e,this.targetCharCodes)&&(this.found=!0):void 0!==pV(e,this.targetCharCodes)&&(this.found=!0)}};function pQ(e,t){if(!(t instanceof RegExp))return void 0!==c_(t,t=>cW(e,t.charCodeAt(0)));{let r=pF(t),n=new pY(e);return n.visit(r),n.found}}tD(pQ,"canMatchCharCode");var pZ="PATTERN",pX="defaultMode",pJ="modes";function p0(e,t){let r,n,i,a,s,o,l,u,c,p,f,d,m=(t=cm(t,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:tD((e,t)=>t(),"tracer")})).tracer;m("initCharCodeToOptimizedIndexMap",()=>{fE()}),m("Reject Lexer.NA",()=>{r=c6(e,e=>e[pZ]===fG.NA)});let h=!1;m("Transform Patterns",()=>{h=!1,n=cD(r,e=>{let t=e[pZ];if(cJ(t)){let e=t.source;return 1!==e.length||"^"===e||"$"===e||"."===e||t.ignoreCase?2!==e.length||"\\"!==e[0]||cW(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?fl(t):e[1]:e}if(sD(t))return h=!0,{exec:t};if("object"==typeof t)return h=!0,t;if("string"==typeof t)if(1===t.length)return t;else return fl(new RegExp(t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")));throw Error("non exhaustive match")})}),m("misc mapping",()=>{i=cD(r,e=>e.tokenTypeIdx),a=cD(r,e=>{let t=e.GROUP;if(t!==fG.SKIPPED){if(cK(t))return t;if(c0(t))return!1;throw Error("non exhaustive match")}}),s=cD(r,e=>{let t=e.LONGER_ALT;if(t)return sh(t)?cD(t,e=>cH(r,e)):[cH(r,t)]}),o=cD(r,e=>e.PUSH_MODE),l=cD(r,e=>cz(e,"POP_MODE"))}),m("Line Terminator Handling",()=>{let e=fg(t.lineTerminatorCharacters);u=cD(r,e=>!1),"onlyOffset"!==t.positionTracking&&(u=cD(r,t=>cz(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===fh(t,e)&&pQ(e,t.PATTERN)))}),m("Misc Mapping #2",()=>{c=cD(r,ff),p=cD(n,fd),f=c5(r,(e,t)=>{let r=t.GROUP;return cK(r)&&r!==fG.SKIPPED&&(e[r]=[]),e},{}),d=cD(n,(e,t)=>({pattern:n[t],longerAlt:s[t],canLineTerminator:u[t],isCustom:c[t],short:p[t],group:a[t],push:o[t],pop:l[t],tokenTypeIdx:i[t],tokenType:r[t]}))});let y=!0,g=[];return t.safeMode||m("First Char Optimization",()=>{g=c5(r,(e,r,n)=>{if("string"==typeof r.PATTERN)fT(e,fR(r.PATTERN.charCodeAt(0)),d[n]);else if(sh(r.START_CHARS_HINT)){let t;cb(r.START_CHARS_HINT,r=>{let i=fR("string"==typeof r?r.charCodeAt(0):r);t!==i&&(t=i,fT(e,i,d[n]))})}else if(cJ(r.PATTERN))if(r.PATTERN.unicode)y=!1,t.ensureOptimizations&&pn(`${pK} Unable to analyze < ${r.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let i=pq(r.PATTERN,t.ensureOptimizations);cQ(i)&&(y=!1),cb(i,t=>{fT(e,t,d[n])})}else t.ensureOptimizations&&pn(`${pK} TokenType: <${r.name}> is using a custom token pattern without providing <start_chars_hint> parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return e},[])}),{emptyGroups:f,patternIdxToConfig:d,charCodeToPatternIdxToConfig:g,hasCustom:h,canBeOptimized:y}}function p1(e,t){let r=[],n=p3(e);r=r.concat(n.errors);let i=p4(n.valid),a=i.valid;return(r=(r=(r=(r=r.concat(i.errors)).concat(p2(a))).concat(fr(a))).concat(fn(a,t))).concat(fi(a))}function p2(e){let t=[],r=cx(e,e=>cJ(e[pZ]));return(t=(t=(t=(t=t.concat(p5(r))).concat(p8(r))).concat(fe(r))).concat(ft(r))).concat(p6(r))}function p3(e){let t=cx(e,e=>!cz(e,pZ));return{errors:cD(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:eY.MISSING_PATTERN,tokenTypes:[e]})),valid:cT(e,t)}}function p4(e){let t=cx(e,e=>{let t=e[pZ];return!cJ(t)&&!sD(t)&&!cz(t,"exec")&&!cK(t)});return{errors:cD(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:eY.INVALID_PATTERN,tokenTypes:[e]})),valid:cT(e,t)}}tD(p0,"analyzeTokenTypes"),tD(p1,"validatePatterns"),tD(p2,"validateRegExpPattern"),tD(p3,"findMissingPatterns"),tD(p4,"findInvalidPatterns");var p9=/[^\\][$]/;function p5(e){class t extends af{static{tD(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return cD(cx(e,e=>{let r=e.PATTERN;try{let e=pF(r),n=new t;return n.visit(e),n.found}catch(e){return p9.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:eY.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function p6(e){return cD(cx(e,e=>e.PATTERN.test("")),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:eY.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}tD(p5,"findEndOfInputAnchor"),tD(p6,"findEmptyMatchRegExps");var p7=/[^\\[][\^]|^\^/;function p8(e){class t extends af{static{tD(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return cD(cx(e,e=>{let r=e.PATTERN;try{let e=pF(r),n=new t;return n.visit(e),n.found}catch(e){return p7.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:eY.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function fe(e){return cD(cx(e,e=>{let t=e[pZ];return t instanceof RegExp&&(t.multiline||t.global)}),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:eY.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function ft(e){let t=[],r=cD(e,r=>c5(e,(e,n)=>(r.PATTERN.source!==n.PATTERN.source||cW(t,n)||n.PATTERN===fG.NA||(t.push(n),e.push(n)),e),[]));return cD(cx(r=uD(r),e=>e.length>1),e=>{let t=cD(e,e=>e.name),r=cP(e).PATTERN;return{message:`The same RegExp pattern ->${r}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:eY.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function fr(e){return cD(cx(e,e=>{if(!cz(e,"GROUP"))return!1;let t=e.GROUP;return t!==fG.SKIPPED&&t!==fG.NA&&!cK(t)}),e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:eY.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function fn(e,t){return cD(cx(e,e=>void 0!==e.PUSH_MODE&&!cW(t,e.PUSH_MODE)),e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:eY.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function fi(e){let t=[],r=c5(e,(e,t,r)=>{let n=t.PATTERN;return n===fG.NA||(cK(n)?e.push({str:n,idx:r,tokenType:t}):cJ(n)&&fs(n)&&e.push({str:n.source,idx:r,tokenType:t})),e},[]);return cb(e,(e,n)=>{cb(r,({str:r,idx:i,tokenType:a})=>{if(n<i&&fa(r,e.PATTERN)){let r=`Token: ->${a.name}<- can never be matched. +Because it appears AFTER the Token Type ->${e.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:r,type:eY.UNREACHABLE_PATTERN,tokenTypes:[e,a]})}})}),t}function fa(e,t){if(cJ(t)){if(fo(t))return!1;let r=t.exec(e);return null!==r&&0===r.index}if(sD(t))return t(e,0,[],{});if(cz(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}function fs(e){return void 0===c_([".","\\","[","]","|","^","$","(",")","?","*","+","{"],t=>-1!==e.source.indexOf(t))}function fo(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(e.source)}function fl(e){let t=e.ignoreCase?"iy":"y";return RegExp(`${e.source}`,t)}function fu(e,t,r){let n=[];return cz(e,pX)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+pX+"> property in its definition\n",type:eY.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),cz(e,pJ)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+pJ+"> property in its definition\n",type:eY.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),cz(e,pJ)&&cz(e,pX)&&!cz(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${pX}: <${e.defaultMode}>which does not exist +`,type:eY.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),cz(e,pJ)&&cb(e.modes,(e,t)=>{cb(e,(r,i)=>{c0(r)?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${i}> +`,type:eY.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):cz(r,"LONGER_ALT")&&cb(sh(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT],i=>{c0(i)||cW(e,i)||n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${t}> +`,type:eY.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function fc(e,t,r){let n=[],i=!1,a=c6(uD(lI(cU(e.modes))),e=>e[pZ]===fG.NA),s=fg(r);return t&&cb(a,e=>{let t=fh(e,s);if(!1!==t){let r={message:fy(e,t),type:t.issue,tokenType:e};n.push(r)}else cz(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):pQ(s,e.PATTERN)&&(i=!0)}),t&&!i&&n.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:eY.NO_LINE_BREAKS_FLAGS}),n}function fp(e){let t={};return cb(oU(e),r=>{if(sh(e[r]))t[r]=[];else throw Error("non exhaustive match")}),t}function ff(e){let t=e.PATTERN;if(cJ(t))return!1;if(sD(t))return!0;if(cz(t,"exec"))return!0;if(cK(t))return!1;throw Error("non exhaustive match")}function fd(e){return!!cK(e)&&1===e.length&&e.charCodeAt(0)}tD(p8,"findStartOfInputAnchor"),tD(fe,"findUnsupportedFlags"),tD(ft,"findDuplicatePatterns"),tD(fr,"findInvalidGroupType"),tD(fn,"findModesThatDoNotExist"),tD(fi,"findUnreachablePatterns"),tD(fa,"tryToMatchStrToPattern"),tD(fs,"noMetaChar"),tD(fo,"usesLookAheadOrBehind"),tD(fl,"addStickyFlag"),tD(fu,"performRuntimeChecks"),tD(fc,"performWarningRuntimeChecks"),tD(fp,"cloneEmptyGroups"),tD(ff,"isCustomPattern"),tD(fd,"isShortPattern");var fm={test:tD(function(e){let t=e.length;for(let r=this.lastIndex;r<t;r++){let t=e.charCodeAt(r);if(10===t)return this.lastIndex=r+1,!0;if(13===t)return 10===e.charCodeAt(r+1)?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},"test"),lastIndex:0};function fh(e,t){if(cz(e,"LINE_BREAKS"))return!1;if(cJ(e.PATTERN)){try{pQ(t,e.PATTERN)}catch(e){return{issue:eY.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(cK(e.PATTERN))return!1;if(ff(e))return{issue:eY.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function fy(e,t){if(t.issue===eY.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. + The problem is in the <${e.name}> Token Type + Root cause: ${t.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===eY.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option. + The problem is in the <${e.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function fg(e){return cD(e,e=>cK(e)?e.charCodeAt(0):e)}function fT(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}tD(fh,"checkLineBreaksIssues"),tD(fy,"buildLineBreakIssueMessage"),tD(fg,"getCharCodes"),tD(fT,"addToMapOfArrays");var fv=256,f$=[];function fR(e){return e<fv?e:f$[e]}function fE(){if(cQ(f$)){f$=Array(65536);for(let e=0;e<65536;e++)f$[e]=e>255?255+~~(e/255):e}}function fb(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function fA(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}tD(fR,"charCodeToOptimizedIndex"),tD(fE,"initCharCodeToOptimizedIndexMap"),tD(fb,"tokenStructuredMatcher"),tD(fA,"tokenStructuredMatcherNoCategories");var fC=1,fS={};function fk(e){let t=fx(e);fN(t),fI(t),fw(t),cb(t,e=>{e.isParent=e.categoryMatches.length>0})}function fx(e){let t=uO(e),r=e,n=!0;for(;n;){let e=cT(r=uD(lI(cD(r,e=>e.CATEGORIES))),t);t=t.concat(e),cQ(e)?n=!1:r=e}return t}function fN(e){cb(e,e=>{fP(e)||(fS[fC]=e,e.tokenTypeIdx=fC++),fO(e)&&!sh(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),fO(e)||(e.CATEGORIES=[]),fD(e)||(e.categoryMatches=[]),fL(e)||(e.categoryMatchesMap={})})}function fw(e){cb(e,e=>{e.categoryMatches=[],cb(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(fS[r].tokenTypeIdx)})})}function fI(e){cb(e,e=>{f_([],e)})}function f_(e,t){cb(e,e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),cb(t.CATEGORIES,r=>{let n=e.concat(t);cW(n,r)||f_(n,r)})}function fP(e){return cz(e,"tokenTypeIdx")}function fO(e){return cz(e,"CATEGORIES")}function fD(e){return cz(e,"categoryMatches")}function fL(e){return cz(e,"categoryMatchesMap")}function fM(e){return cz(e,"tokenTypeIdx")}tD(fk,"augmentTokenTypes"),tD(fx,"expandCategories"),tD(fN,"assignTokenDefaultProps"),tD(fw,"assignCategoriesTokensProp"),tD(fI,"assignCategoriesMapProp"),tD(f_,"singleAssignCategoriesToksMap"),tD(fP,"hasShortKeyProperty"),tD(fO,"hasCategoriesProperty"),tD(fD,"hasExtendingTokensTypesProperty"),tD(fL,"hasExtendingTokensTypesMapProperty"),tD(fM,"isTokenType");var fj={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,i,a)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`};(o=eY||(eY={}))[o.MISSING_PATTERN=0]="MISSING_PATTERN",o[o.INVALID_PATTERN=1]="INVALID_PATTERN",o[o.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",o[o.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",o[o.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",o[o.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",o[o.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",o[o.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",o[o.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",o[o.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",o[o.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",o[o.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",o[o.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",o[o.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",o[o.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",o[o.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",o[o.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",o[o.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";var fF={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:fj,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(fF);var fG=class{static{tD(this,"Lexer")}constructor(e,t=fF){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=pa(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=oW({},fF,t);let r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let r,n=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===fF.lineTerminatorsPattern)this.config.lineTerminatorsPattern=fm;else if(this.config.lineTerminatorCharacters===fF.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),sh(e)?r={modes:{defaultMode:uO(e)},defaultMode:pX}:(n=!1,r=uO(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(fu(r,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(fc(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),r.modes=r.modes?r.modes:{},cb(r.modes,(e,t)=>{r.modes[t]=c6(e,e=>c0(e))});let i=oU(r.modes);if(cb(r.modes,(e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(p1(e,i))}),cQ(this.lexerDefinitionErrors)){let n;fk(e),this.TRACE_INIT("analyzeTokenTypes",()=>{n=p0(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=oW({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,!cQ(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+cD(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));cb(this.lexerDefinitionWarning,e=>{pi(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(n&&(this.handleModes=sJ),!1===this.trackStartLines&&(this.computeNewColumn=sO),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=sJ),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let e=c5(this.canModeBeOptimized,(e,t,r)=>(!1===t&&e.push(r),e),[]);if(t.ensureOptimizations&&!cQ(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{pG()}),this.TRACE_INIT("toFastProperties",()=>{ps(this)})})}tokenize(e,t=this.defaultMode){if(!cQ(this.lexerDefinitionErrors))throw Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+cD(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,i,a,s,o,l,u,c,p,f,d,m,h,y,g,T=e.length,v=0,$=0,R=Array(this.hasCustom?0:Math.floor(e.length/10)),E=[],b=this.trackStartLines?1:void 0,A=this.trackStartLines?1:void 0,C=fp(this.emptyGroups),S=this.trackStartLines,k=this.config.lineTerminatorsPattern,x=0,N=[],w=[],I=[],_=[];Object.freeze(_);let P=!1,O=tD(e=>{if(1===I.length&&void 0===e.tokenType.PUSH_MODE){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);E.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{I.pop();let e=cv(I);N=this.patternIdxToConfig[e],w=this.charCodeToPatternIdxToConfig[e],x=N.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;P=!!w&&!!t}},"pop_mode");function D(e){I.push(e),w=this.charCodeToPatternIdxToConfig[e],x=(N=this.patternIdxToConfig[e]).length,x=N.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;P=!!w&&!!t}tD(D,"push_mode"),D.call(this,t);let L=this.config.recoveryEnabled;for(;v<T;){let t;o=null,c=-1;let M=e.charCodeAt(v);if(P){let e=w[fR(M)];t=void 0!==e?e:_}else t=N;let j=t.length;for(r=0;r<j;r++){let n=(g=t[r]).pattern;l=null;let p=g.short;if(!1!==p?M===p&&(c=1,o=n):!0===g.isCustom?null!==(y=n.exec(e,v,R,C))?(c=(o=y[0]).length,void 0!==y.payload&&(l=y.payload)):o=null:(n.lastIndex=v,c=this.matchLength(n,e,v)),-1!==c){if(void 0!==(s=g.longerAlt)){o=e.substring(v,v+c);let t=s.length;for(i=0;i<t;i++){let t=N[s[i]],r=t.pattern;if(u=null,!0===t.isCustom?null!==(y=r.exec(e,v,R,C))?(a=y[0],void 0!==y.payload&&(u=y.payload)):a=null:(r.lastIndex=v,a=this.match(r,e,v)),a&&a.length>o.length){o=a,c=a.length,l=u,g=t;break}}}break}}if(-1!==c){if(void 0!==(p=g.group)&&(o=null!==o?o:e.substring(v,v+c),f=g.tokenTypeIdx,d=this.createTokenInstance(o,v,f,g.tokenType,b,A,c),this.handlePayload(d,l),!1===p?$=this.addToken(R,$,d):C[p].push(d)),!0===S&&!0===g.canLineTerminator){let t,r,n=0;k.lastIndex=0;do o=null!==o?o:e.substring(v,v+c),!0===(t=k.test(o))&&(r=k.lastIndex-1,n++);while(!0===t)0!==n?(b+=n,A=c-r,this.updateTokenEndLineColumnLocation(d,p,r,n,b,A,c)):A=this.computeNewColumn(A,c)}else A=this.computeNewColumn(A,c);v+=c,this.handleModes(g,O,D,d)}else{let t=v,r=b,i=A,a=!1===L;for(;!1===a&&v<T;)for(v++,n=0;n<x;n++){let t=N[n],r=t.pattern,i=t.short;if(!1!==i?e.charCodeAt(v)===i&&(a=!0):!0===t.isCustom?a=null!==r.exec(e,v,R,C):(r.lastIndex=v,a=null!==r.exec(e)),!0===a)break}if(m=v-t,A=this.computeNewColumn(A,m),h=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(e,t,m,r,i,cv(I)),E.push({offset:t,line:r,column:i,length:m,message:h}),!1===L)break}}return this.hasCustom||(R.length=$),{tokens:R,groups:C,errors:E}}handleModes(e,t,r,n){if(!0===e.pop){let i=e.push;t(n),void 0!==i&&r.call(this,i)}else void 0!==e.push&&r.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,r,n,i,a,s){let o,l;void 0!==t&&(l=(o=r===s-1)?-1:0,(1!==n||!0!==o)&&(e.endLine=i+l,e.endColumn=a-1+-l))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}}createStartOnlyToken(e,t,r,n,i,a){return{image:e,startOffset:t,startLine:i,startColumn:a,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,i,a,s){return{image:e,startOffset:t,endOffset:t+s-1,startLine:i,endLine:i,startColumn:a,endColumn:a+s-1,tokenTypeIdx:r,tokenType:n}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}match(e,t,r){return!0===e.test(t)?t.substring(r,e.lastIndex):null}matchLength(e,t,r){return!0===e.test(t)?e.lastIndex-r:-1}};function fz(e){return fK(e)?e.LABEL:e.name}function fK(e){return cK(e.LABEL)&&""!==e.LABEL}fG.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",fG.NA=/NOT_APPLICABLE/,tD(fz,"tokenLabel"),tD(fK,"hasTokenLabel");var fq="categories",fU="label",fB="group",fW="push_mode",fV="pop_mode",fH="longer_alt",fY="line_breaks",fQ="start_chars_hint";function fZ(e){return fX(e)}function fX(e){let t=e.pattern,r={};if(r.name=e.name,c0(t)||(r.PATTERN=t),cz(e,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return cz(e,fq)&&(r.CATEGORIES=e[fq]),fk([r]),cz(e,fU)&&(r.LABEL=e[fU]),cz(e,fB)&&(r.GROUP=e[fB]),cz(e,fV)&&(r.POP_MODE=e[fV]),cz(e,fW)&&(r.PUSH_MODE=e[fW]),cz(e,fH)&&(r.LONGER_ALT=e[fH]),cz(e,fY)&&(r.LINE_BREAKS=e[fY]),cz(e,fQ)&&(r.START_CHARS_HINT=e[fQ]),r}tD(fZ,"createToken"),tD(fX,"createTokenInternal");var fJ=fZ({name:"EOF",pattern:fG.NA});function f0(e,t,r,n,i,a,s,o){return{image:t,startOffset:r,endOffset:n,startLine:i,endLine:a,startColumn:s,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function f1(e,t){return fb(e,t)}fk([fJ]),tD(f0,"createTokenInstance"),tD(f1,"tokenMatcher");var f2={buildMismatchTokenMessage({expected:e,actual:t,previous:r,ruleName:n}){let i=fK(e)?`--> ${fz(e)} <--`:`token of type --> ${e.name} <--`;return`Expecting ${i} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",s="\nbut found: '"+cP(t).image+"'";if(n)return a+n+s;{let t=cD(c5(e,(e,t)=>e.concat(t),[]),e=>`[${cD(e,e=>fz(e)).join(", ")}]`),r=cD(t,(e,t)=>` ${t+1}. ${e}`);return a+`one of these possible Token sequences: +${r.join("\n")}`+s}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){let i="Expecting: ",a="\nbut found: '"+cP(t).image+"'";if(r)return i+r+a;{let t=cD(e,e=>`[${cD(e,e=>fz(e)).join(",")}]`);return i+`expecting at least one iteration which starts with one of these possible Token sequences:: + <${t.join(" ,")}>`+a}}};Object.freeze(f2);var f3={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},f4={buildDuplicateFoundError(e,t){function r(e){return e instanceof pv?e.terminalType.name:e instanceof pc?e.nonTerminalName:""}tD(r,"getExtraProductionArgument");let n=e.name,i=cP(t),a=i.idx,s=pS(i),o=r(i),l=`->${s}${a>0?a:""}<- ${o?`with argument: ->${o}<-`:""} + appears more than once (${t.length} times) in the top level rule: ->${n}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return(l=l.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:e=>`Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){let t=cD(e.prefixPath,e=>fz(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in <OR${r}> inside <${e.topLevelRule.name}> Rule, +<${t}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`},buildAlternationAmbiguityError(e){let t=0===e.alternation.idx?"":e.alternation.idx,r=0===e.prefixPath.length,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${e.topLevelRule.name}> Rule, +`;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable. +Only the last alternative may be empty. +`;else{let t=cD(e.prefixPath,e=>fz(e)).join(", ");n+=`<${t}> may appears as a prefix path in all these alternatives. +`}return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`},buildEmptyRepetitionError(e){let t=pS(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives: +<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. + has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){let t=e.topLevelRule.name,r=cD(e.leftRecursionPath,e=>e.name),n=`${t} --> ${r.concat([t]).join(" --\x3e ")}`;return`Left Recursion found in grammar. +rule: <${t}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${n} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof pp?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function f9(e,t){let r=new f5(e,t);return r.resolveRefs(),r.errors}tD(f9,"resolveGrammar");var f5=class extends pE{static{tD(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){cb(cU(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:eX.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},f6=class extends pk{static{tD(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=uO(this.path.ruleStack).reverse(),this.occurrenceStack=uO(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){cQ(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},f7=class extends f6{static{tD(this,"NextAfterTokenWalker")}constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new pf({definition:t.concat(r)});this.possibleTokTypes=pN(e),this.found=!0}}},f8=class extends pk{static{tD(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},de=class extends f8{static{tD(this,"NextTerminalAfterManyWalker")}walkMany(e,t,r){if(e.idx===this.occurrence){let e=cP(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pv&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,r)}},dt=class extends f8{static{tD(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,r){if(e.idx===this.occurrence){let e=cP(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pv&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,r)}},dr=class extends f8{static{tD(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let e=cP(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pv&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,r)}},dn=class extends f8{static{tD(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let e=cP(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pv&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,r)}};function di(e,t,r=[]){r=uO(r);let n=[],i=0;function a(t){return t.concat(c$(e,i+1))}function s(e){let i=di(a(e),t,r);return n.concat(i)}for(tD(a,"remainingPathWith"),tD(s,"getAlternativesForProd");r.length<t&&i<e.length;){let t=e[i];if(t instanceof pf)return s(t.definition);if(t instanceof pc)return s(t.definition);if(t instanceof pd)n=s(t.definition);else if(t instanceof pm)return s(t.definition.concat([new py({definition:t.definition})]));else if(t instanceof ph)return s([new pf({definition:t.definition}),new py({definition:[new pv({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof pg)n=s(t.definition.concat([new py({definition:[new pv({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof py)n=s(t.definition.concat([new py({definition:t.definition})]));else if(t instanceof pT)return cb(t.definition,e=>{!1===cQ(e.definition)&&(n=s(e.definition))}),n;else if(t instanceof pv)r.push(t.terminalType);else throw Error("non exhaustive match");i++}return n.push({partialPath:r,suffixDef:c$(e,i)}),n}function da(e,t,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",o=!1,l=t.length,u=l-n-1,c=[],p=[];for(p.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!cQ(p);){let e=p.pop();if(e===s){o&&cv(p).idx<=u&&p.pop();continue}let n=e.def,f=e.idx,d=e.ruleStack,m=e.occurrenceStack;if(cQ(n))continue;let h=n[0];if(h===i){let e={idx:f,def:c$(n),ruleStack:cR(d),occurrenceStack:cR(m)};p.push(e)}else if(h instanceof pv)if(f<l-1){let e=f+1;if(r(t[e],h.terminalType)){let t={idx:e,def:c$(n),ruleStack:d,occurrenceStack:m};p.push(t)}}else if(f===l-1)c.push({nextTokenType:h.terminalType,nextTokenOccurrence:h.idx,ruleStack:d,occurrenceStack:m}),o=!0;else throw Error("non exhaustive match");else if(h instanceof pc){let e=uO(d);e.push(h.nonTerminalName);let t=uO(m);t.push(h.idx);let r={idx:f,def:h.definition.concat(a,c$(n)),ruleStack:e,occurrenceStack:t};p.push(r)}else if(h instanceof pd){let e={idx:f,def:c$(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t={idx:f,def:h.definition.concat(c$(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof pm){let e=new py({definition:h.definition,idx:h.idx}),t={idx:f,def:h.definition.concat([e],c$(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof ph){let e=new py({definition:[new pv({terminalType:h.separator})].concat(h.definition),idx:h.idx}),t={idx:f,def:h.definition.concat([e],c$(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof pg){let e={idx:f,def:c$(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t=new py({definition:[new pv({terminalType:h.separator})].concat(h.definition),idx:h.idx}),r={idx:f,def:h.definition.concat([t],c$(n)),ruleStack:d,occurrenceStack:m};p.push(r)}else if(h instanceof py){let e={idx:f,def:c$(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t=new py({definition:h.definition,idx:h.idx}),r={idx:f,def:h.definition.concat([t],c$(n)),ruleStack:d,occurrenceStack:m};p.push(r)}else if(h instanceof pT)for(let e=h.definition.length-1;e>=0;e--){let t={idx:f,def:h.definition[e].definition.concat(c$(n)),ruleStack:d,occurrenceStack:m};p.push(t),p.push(s)}else if(h instanceof pf)p.push({idx:f,def:h.definition.concat(c$(n)),ruleStack:d,occurrenceStack:m});else if(h instanceof pp)p.push(ds(h,f,d,m));else throw Error("non exhaustive match")}return c}function ds(e,t,r,n){let i=uO(r);i.push(e.name);let a=uO(n);return a.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:a}}function dl(e){if(e instanceof pd||"Option"===e)return eQ.OPTION;if(e instanceof py||"Repetition"===e)return eQ.REPETITION;if(e instanceof pm||"RepetitionMandatory"===e)return eQ.REPETITION_MANDATORY;if(e instanceof ph||"RepetitionMandatoryWithSeparator"===e)return eQ.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof pg||"RepetitionWithSeparator"===e)return eQ.REPETITION_WITH_SEPARATOR;else if(e instanceof pT||"Alternation"===e)return eQ.ALTERNATION;else throw Error("non exhaustive match")}function du(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:i}=e,a=dl(n);return a===eQ.ALTERNATION?d$(t,r,i):dR(t,r,a,i)}function dc(e,t,r,n,i,a){let s=d$(e,t,r),o=dA(s)?fA:fb;return a(s,n,o,i)}function dp(e,t,r,n,i,a){let s=dR(e,t,i,r),o=dA(s)?fA:fb;return a(s[0],o,n)}function df(e,t,r,n){let i=e.length,a=cS(e,e=>cS(e,e=>1===e.length));if(t)return function(t){let n=cD(t,e=>e.GATE);for(let t=0;t<i;t++){let i=e[t],a=i.length,s=n[t];if(void 0===s||!1!==s.call(this))r:for(let e=0;e<a;e++){let n=i[e],a=n.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),n[e]))continue r;return t}}};if(!a||n)return function(){for(let t=0;t<i;t++){let n=e[t],i=n.length;r:for(let e=0;e<i;e++){let i=n[e],a=i.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),i[e]))continue r;return t}}};{let t=c5(cD(e,e=>lI(e)),(e,t,r)=>(cb(t,t=>{cz(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),cb(t.categoryMatches,t=>{cz(e,t)||(e[t]=r)})}),e),{});return function(){return t[this.LA(1).tokenTypeIdx]}}}function dd(e,t,r){let n=cS(e,e=>1===e.length),i=e.length;if(!n||r)return function(){r:for(let r=0;r<i;r++){let n=e[r],i=n.length;for(let e=0;e<i;e++)if(!1===t(this.LA(e+1),n[e]))continue r;return!0}return!1};{let t=lI(e);if(1===t.length&&cQ(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=c5(t,(e,t,r)=>(e[t.tokenTypeIdx]=!0,cb(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}tD(di,"possiblePathsFrom"),tD(da,"nextPossibleTokensAfter"),tD(ds,"expandTopLevelRule"),(l=eQ||(eQ={}))[l.OPTION=0]="OPTION",l[l.REPETITION=1]="REPETITION",l[l.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",l[l.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",l[l.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",l[l.ALTERNATION=5]="ALTERNATION",tD(dl,"getProdType"),tD(du,"getLookaheadPaths"),tD(dc,"buildLookaheadFuncForOr"),tD(dp,"buildLookaheadFuncForOptionalProd"),tD(df,"buildAlternativesLookAheadFunc"),tD(dd,"buildSingleAlternativeLookaheadFunction");var dm=class extends pk{static{tD(this,"RestDefinitionFinderWalker")}constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,eQ.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,eQ.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,eQ.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,eQ.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}},dh=class extends pE{static{tD(this,"InsideDefinitionFinderVisitor")}constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,eQ.OPTION)}visitRepetition(e){this.checkIsTarget(e,eQ.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,eQ.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,eQ.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,eQ.ALTERNATION)}};function dy(e){let t=Array(e);for(let r=0;r<e;r++)t[r]=[];return t}function dg(e){let t=[""];for(let r=0;r<e.length;r++){let n=e[r],i=[];for(let e=0;e<t.length;e++){let r=t[e];i.push(r+"_"+n.tokenTypeIdx);for(let e=0;e<n.categoryMatches.length;e++){let t="_"+n.categoryMatches[e];i.push(r+t)}}t=i}return t}function dT(e,t,r){for(let n=0;n<e.length;n++){if(n===r)continue;let i=e[n];for(let e=0;e<t.length;e++)if(!0===i[t[e]])return!1}return!0}function dv(e,t){let r=cD(e,e=>di([e],1)),n=dy(r.length),i=cD(r,e=>{let t={};return cb(e,e=>{cb(dg(e.partialPath),e=>{t[e]=!0})}),t}),a=r;for(let e=1;e<=t;e++){let r=a;a=dy(r.length);for(let s=0;s<r.length;s++){let o=r[s];for(let r=0;r<o.length;r++){let l=o[r].partialPath,u=o[r].suffixDef,c=dg(l);if(dT(i,c,s)||cQ(u)||l.length===t){let e=n[s];if(!1===dE(e,l)){e.push(l);for(let e=0;e<c.length;e++){let t=c[e];i[s][t]=!0}}}else{let t=di(u,e+1,l);a[s]=a[s].concat(t),cb(t,e=>{cb(dg(e.partialPath),e=>{i[s][e]=!0})})}}}}return n}function d$(e,t,r,n){let i=new dh(e,eQ.ALTERNATION,n);return t.accept(i),dv(i.result,r)}function dR(e,t,r,n){let i=new dh(e,r);t.accept(i);let a=i.result,s=new dm(t,e,r).startWalking();return dv([new pf({definition:a}),new pf({definition:s})],n)}function dE(e,t){n:for(let r=0;r<e.length;r++){let n=e[r];if(n.length===t.length){for(let e=0;e<n.length;e++){let r=t[e],i=n[e];if(!1==(r===i||void 0!==i.categoryMatchesMap[r.tokenTypeIdx]))continue n}return!0}}return!1}function db(e,t){return e.length<t.length&&cS(e,(e,r)=>{let n=t[r];return e===n||n.categoryMatchesMap[e.tokenTypeIdx]})}function dA(e){return cS(e,e=>cS(e,e=>cS(e,e=>cQ(e.categoryMatches))))}function dC(e){return cD(e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),e=>Object.assign({type:eX.CUSTOM_LOOKAHEAD_VALIDATION},e))}function dS(e,t,r,n){let i=cL(e,e=>dk(e,r)),a=dq(e,t,r),s=cL(e,e=>dF(e,r)),o=cL(e,t=>dI(t,e,n,r));return i.concat(a,s,o)}function dk(e,t){let r=new dw;return e.accept(r),cD(cU(c4(cj(r.allProductions,dx),e=>e.length>1)),r=>{let n=cP(r),i=t.buildDuplicateFoundError(e,r),a=pS(n),s={message:i,type:eX.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:n.idx},o=dN(n);return o&&(s.parameter=o),s})}function dx(e){return`${pS(e)}_#_${e.idx}_#_${dN(e)}`}function dN(e){return e instanceof pv?e.terminalType.name:e instanceof pc?e.nonTerminalName:""}tD(dy,"initializeArrayOfArrays"),tD(dg,"pathToHashKeys"),tD(dT,"isUniquePrefixHash"),tD(dv,"lookAheadSequenceFromAlternatives"),tD(d$,"getLookaheadPathsForOr"),tD(dR,"getLookaheadPathsForOptionalProd"),tD(dE,"containsPath"),tD(db,"isStrictPrefixOfPath"),tD(dA,"areTokenCategoriesNotUsed"),tD(dC,"validateLookahead"),tD(dS,"validateGrammar"),tD(dk,"validateDuplicateProductions"),tD(dx,"identifyProductionForDuplicates"),tD(dN,"getExtraProductionArgument");var dw=class extends pE{static{tD(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function dI(e,t,r,n){let i=[];if(c5(t,(t,r)=>r.name===e.name?t+1:t,0)>1){let t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});i.push({message:t,type:eX.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}function d_(e,t,r){let n=[];return cW(t,e)||n.push({message:`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,type:eX.INVALID_RULE_OVERRIDE,ruleName:e}),n}function dP(e,t,r,n=[]){let i=[],a=dO(t.definition);if(cQ(a))return[];{let t=e.name;cW(a,e)&&i.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:eX.LEFT_RECURSION,ruleName:t});let s=cL(cT(a,n.concat([e])),t=>{let i=uO(n);return i.push(t),dP(e,t,r,i)});return i.concat(s)}}function dO(e){let t=[];if(cQ(e))return t;let r=cP(e);if(r instanceof pc)t.push(r.referencedRule);else if(r instanceof pf||r instanceof pd||r instanceof pm||r instanceof ph||r instanceof pg||r instanceof py)t=t.concat(dO(r.definition));else if(r instanceof pT)t=lI(cD(r.definition,e=>dO(e.definition)));else if(r instanceof pv);else throw Error("non exhaustive match");let n=pA(r),i=e.length>1;if(!n||!i)return t;{let r=c$(e);return t.concat(dO(r))}}tD(dI,"validateRuleDoesNotAlreadyExist"),tD(d_,"validateRuleIsOverridden"),tD(dP,"validateNoLeftRecursion"),tD(dO,"getFirstNoneTerminal");var dD=class extends pE{static{tD(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function dL(e,t){let r=new dD;return e.accept(r),cL(r.alternations,r=>cL(cR(r.definition),(n,i)=>cQ(da([n],[],fb,1))?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:i}),type:eX.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:i+1}]:[]))}function dM(e,t,r){let n=new dD;e.accept(n);let i=n.alternations;return cL(i=c6(i,e=>!0===e.ignoreAmbiguities),n=>{let i=d$(n.idx,e,n.maxLookahead||t,n),a=dz(i,n,e,r),s=dK(i,n,e,r);return a.concat(s)})}tD(dL,"validateEmptyOrAlternative"),tD(dM,"validateAmbiguousAlternationAlternatives");var dj=class extends pE{static{tD(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function dF(e,t){let r=new dD;return e.accept(r),cL(r.alternations,r=>r.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:eX.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[])}function dG(e,t,r){let n=[];return cb(e,e=>{let i=new dj;e.accept(i),cb(i.allProductions,i=>{let a=dl(i),s=i.maxLookahead||t;if(cQ(lI(dR(i.idx,e,a,s)[0]))){let t=r.buildEmptyRepetitionError({topLevelRule:e,repetition:i});n.push({message:t,type:eX.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),n}function dz(e,t,r,n){let i=[];return cD(c5(e,(r,n,a)=>(!0===t.definition[a].ignoreAmbiguities||cb(n,n=>{let s=[a];cb(e,(e,r)=>{a!==r&&dE(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&s.push(r)}),s.length>1&&!dE(i,n)&&(i.push(n),r.push({alts:s,path:n}))}),r),[]),e=>{let i=cD(e.alts,e=>e+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:eX.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}})}function dK(e,t,r,n){let i=c5(e,(e,t,r)=>{let n=cD(t,e=>({idx:r,path:e}));return e.concat(n)},[]);return uD(cL(i,e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];let a=e.idx,s=e.path;return cD(cx(i,e=>!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<a&&db(e.path,s)),e=>{let i=[e.idx+1,a+1],s=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:eX.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:s,alternatives:i}})}))}function dq(e,t,r){let n=[],i=cD(t,e=>e.name);return cb(e,e=>{let t=e.name;if(cW(i,t)){let i=r.buildNamespaceConflictError(e);n.push({message:i,type:eX.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),n}function dU(e){let t=cm(e,{errMsgProvider:f3}),r={};return cb(e.rules,e=>{r[e.name]=e}),f9(r,t.errMsgProvider)}function dB(e){return dS((e=cm(e,{errMsgProvider:f4})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}tD(dF,"validateTooManyAlts"),tD(dG,"validateSomeNonEmptyLookaheadPath"),tD(dz,"checkAlternativesAmbiguities"),tD(dK,"checkPrefixAlternativesAmbiguities"),tD(dq,"checkTerminalAndNoneTerminalsNameSpace"),tD(dU,"resolveGrammar"),tD(dB,"validateGrammar");var dW="MismatchedTokenException",dV="NoViableAltException",dH="EarlyExitException",dY="NotAllInputParsedException",dQ=[dW,dV,dH,dY];function dZ(e){return cW(dQ,e.name)}Object.freeze(dQ),tD(dZ,"isRecognitionException");var dX=class extends Error{static{tD(this,"RecognitionException")}constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},dJ=class extends dX{static{tD(this,"MismatchedTokenException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dW}},d0=class extends dX{static{tD(this,"NoViableAltException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dV}},d1=class extends dX{static{tD(this,"NotAllInputParsedException")}constructor(e,t){super(e,t),this.name=dY}},d2=class extends dX{static{tD(this,"EarlyExitException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dH}},d3={},d4="InRuleRecoveryException",d9=class extends Error{static{tD(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=d4}},d5=class{static{tD(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=cz(e,"recoveryEnabled")?e.recoveryEnabled:mI.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=d6)}getTokenToInsert(e){let t=f0(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let i=this.findReSyncTokenType(),a=this.exportLexerState(),s=[],o=!1,l=this.LA(1),u=this.LA(1),c=tD(()=>{let e=this.LA(0),t=new dJ(this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=cR(s),this.SAVE_ERROR(t)},"generateErrorMessage");for(;!o;)if(this.tokenMatcher(u,n))return void c();else if(r.call(this)){c(),e.apply(this,t);return}else this.tokenMatcher(u,i)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(!1===r||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new d9("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||cQ(t))return!1;let r=this.LA(1);return void 0!==c_(t,e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return cW(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=c_(e,e=>f1(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return d3;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return cD(e,(r,n)=>0===n?d3:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){return lI(cD(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===d3)return[fJ];let t=e.ruleName+e.idxInCallingRule+pP+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,fJ)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return cR(t)}attemptInRepetitionRecovery(e,t,r,n,i,a,s){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:uO(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return cD(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function d6(e,t,r,n,i,a,s){let o=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence,p=l.isEndOfRule;1===this.RULE_STACK.length&&p&&void 0===u&&(u=fJ,c=1),void 0!==u&&void 0!==c&&this.shouldInRepetitionRecoveryBeTried(u,c,s)&&this.tryInRepetitionRecovery(e,t,r,u)}tD(d6,"attemptInRepetitionRecovery");function d7(e,t,r){return r|t|e}tD(d7,"getKeyForAutomaticLookahead");var d8=class{static{tD(this,"LLkLookaheadStrategy")}constructor(e){var t;this.maxLookahead=null!=(t=null==e?void 0:e.maxLookahead)?t:mI.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);return cQ(t)?[...t,...this.validateEmptyOrAlternatives(e.rules),...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]:t}validateNoLeftRecursion(e){return cL(e,e=>dP(e,e,f4))}validateEmptyOrAlternatives(e){return cL(e,e=>dL(e,f4))}validateAmbiguousAlternationAlternatives(e,t){return cL(e,e=>dM(e,t,f4))}validateSomeNonEmptyLookaheadPath(e,t){return dG(e,t,f4)}buildLookaheadForAlternation(e){return dc(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,df)}buildLookaheadForOptional(e){return dp(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,dl(e.prodType),dd)}},me=class{static{tD(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=cz(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:mI.dynamicTokensEnabled,this.maxLookahead=cz(e,"maxLookahead")?e.maxLookahead:mI.maxLookahead,this.lookaheadStrategy=cz(e,"lookaheadStrategy")?e.lookaheadStrategy:new d8({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){cb(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:r,option:n,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:s}=mr(e);cb(t,t=>{let r=0===t.idx?"":t.idx;this.TRACE_INIT(`${pS(t)}${r}`,()=>{let r=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),n=d7(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(n,r)})}),cb(r,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,pS(t))}),cb(n,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,pS(t))}),cb(i,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,pS(t))}),cb(a,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,pS(t))}),cb(s,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,pS(t))})})})}computeLookaheadFunc(e,t,r,n,i,a){this.TRACE_INIT(`${a}${0===t?"":t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),s=d7(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(s,a)})}getKeyForAutomaticLookahead(e,t){return d7(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},mt=new class extends pE{static{tD(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function mr(e){mt.reset(),e.accept(mt);let t=mt.dslMethods;return mt.reset(),t}function mn(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function mi(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function ma(e,t,r){void 0===e.children[r]?e.children[r]=[t]:e.children[r].push(t)}function ms(e,t,r){void 0===e.children[t]?e.children[t]=[r]:e.children[t].push(r)}function mo(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function ml(e,t){let r=oU(e),n=r.length;for(let i=0;i<n;i++){let n=e[r[i]],a=n.length;for(let e=0;e<a;e++){let r=n[e];void 0===r.tokenTypeIdx&&this[r.name](r.children,t)}}}function mu(e,t){let r=tD(function(){},"derivedConstructor");return mo(r,e+"BaseSemantics"),r.prototype={visit:tD(function(e,t){if(sh(e)&&(e=e[0]),!c0(e))return this[e.name](e.children,t)},"visit"),validateVisitor:tD(function(){let e=mp(this,t);if(!cQ(e)){let t=cD(e,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${t.join("\n\n").replace(/\n/g,"\n ")}`)}},"validateVisitor")},r.prototype.constructor=r,r._RULE_NAMES=t,r}function mc(e,t,r){let n=tD(function(){},"derivedConstructor");mo(n,e+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return cb(t,e=>{i[e]=ml}),n.prototype=i,n.prototype.constructor=n,n}function mp(e,t){return mf(e,t)}function mf(e,t){return uD(cD(cx(t,t=>!1===sD(e[t])),t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:eZ.MISSING_METHOD,methodName:t})))}tD(mr,"collectMethods"),tD(mn,"setNodeLocationOnlyOffset"),tD(mi,"setNodeLocationFull"),tD(ma,"addTerminalToCst"),tD(ms,"addNoneTerminalToCst"),tD(mo,"defineNameProp"),tD(ml,"defaultVisit"),tD(mu,"createBaseSemanticVisitorConstructor"),tD(mc,"createBaseVisitorConstructorWithDefaults"),(u=eZ||(eZ={}))[u.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",u[u.MISSING_METHOD=1]="MISSING_METHOD",tD(mp,"validateVisitor"),tD(mf,"validateMissingCstMethods");var md=class{static{tD(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=cz(e,"nodeLocationTracking")?e.nodeLocationTracking:mI.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=mi,this.setNodeLocationFromNode=mi,this.cstPostRule=sJ,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=sJ,this.setNodeLocationFromNode=sJ,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=mn,this.setNodeLocationFromNode=mn,this.cstPostRule=sJ,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=sJ,this.setNodeLocationFromNode=sJ,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=sJ,this.setNodeLocationFromNode=sJ,this.cstPostRule=sJ,this.setInitialNodeLocation=sJ;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);else this.cstInvocationStateUpdate=sJ,this.cstFinallyStateUpdate=sJ,this.cstPostTerminal=sJ,this.cstPostNonTerminal=sJ,this.cstPostRule=sJ}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];ma(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];ms(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(c0(this.baseCstVisitorConstructor)){let e=mu(this.className,oU(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(c0(this.baseCstVisitorWithDefaultsConstructor)){let e=mc(this.className,oU(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},mm=class{static{tD(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):mw}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?mw:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},mh=class{static{tD(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=m_){if(cW(this.definedRulesNames,e)){let t={message:f4.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:eX.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=m_){let n=d_(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let i=this.defineRule(e,t,r);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(dZ(e))return!1;throw e}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return p$(cU(this.gastProductionsCache))}},my=class{static{tD(this,"RecognizerEngine")}initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=fA,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},cz(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if(sh(e)){if(cQ(e))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if(sh(e))this.tokensMap=c5(e,(e,t)=>(e[t.name]=t,e),{});else if(cz(e,"modes")&&cS(lI(cU(e.modes)),fM)){let t=pr(lI(cU(e.modes)));this.tokensMap=c5(t,(e,t)=>(e[t.name]=t,e),{})}else if(sA(e))this.tokensMap=uO(e);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=fJ;let r=cS(cz(e,"modes")?lI(cU(e.modes)):cU(e),e=>cQ(e.categoryMatches));this.tokenMatcher=r?fA:fb,fk(cU(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n=cz(r,"resyncEnabled")?r.resyncEnabled:m_.resyncEnabled,i=cz(r,"recoveryValueFunc")?r.recoveryValueFunc:m_.recoveryValueFunc,a=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a,Object.assign(!0===this.outputCst?tD(function(...r){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r);let n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):tD(function(...r){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r)}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(dZ(e)){if(i){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return r(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(n)return this.moveToTerminatedState(),r(e)}throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=i;i=tD(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else n=e;if(!0===i.call(this))return n.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=tD(()=>e.call(this)&&t.call(this),"lookAheadFunc")}}else n=t;if(!0===i.call(this)){let e=this.doSingleRepetition(n);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(n)}else throw this.raiseEarlyExitException(e,eQ.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,dr)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=tD(()=>this.tokenMatcher(this.LA(1),i),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,dn],t,1536,e,dn)}else throw this.raiseEarlyExitException(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=tD(()=>e.call(this)&&t.call(this),"lookaheadFunction")}}else n=t;let a=!0;for(;!0===i.call(this)&&!0===a;)a=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,de,a)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=tD(()=>this.tokenMatcher(this.LA(1),i),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,dt],t,1280,e,dt)}}repetitionSepSecondInternal(e,t,r,n,i){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,i],r,1536,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),n=sh(e)?e:e.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new d1(t,e))}}subruleInternal(e,t,r){let n;try{let i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw dZ(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),n=t):this.consumeInternalError(e,t,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n,i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new dJ(n,t,i))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&"MismatchedTokenException"===r.name&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(e){if(e.name===d4)throw r;throw e}}throw r}saveRecogState(){let e=this.errors,t=uO(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),fJ)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},mg=class{static{tD(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=cz(e,"errorMessageProvider")?e.errorMessageProvider:mI.errorMessageProvider}SAVE_ERROR(e){if(dZ(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:uO(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return uO(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),i=dR(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:a,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new d2(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=d$(e,this.getGAstProductions()[r],this.maxLookahead),i=[];for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));let a=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:i,previous:a,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new d0(s,this.LA(1),a))}},mT=class{static{tD(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if(c0(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return da([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=cP(e.ruleStack);return new f7(this.getGAstProductions()[t],e).startWalking()}},mv={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(mv);var m$=fZ({name:"RECORDING_PHASE_TOKEN",pattern:fG.NA});fk([m$]);var mR=f0(m$,"This IToken indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(mR);var mE={name:"This CSTNode indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}},mb=class{static{tD(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(t,r){return this.consumeInternalRecord(t,e,r)},this[`SUBRULE${t}`]=function(t,r){return this.subruleInternalRecord(t,e,r)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return mw}topLevelRuleRecord(e,t){try{let r=new pp({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return mA.call(this,pd,e,t)}atLeastOneInternalRecord(e,t){mA.call(this,pm,t,e)}atLeastOneSepFirstInternalRecord(e,t){mA.call(this,ph,t,e,!0)}manyInternalRecord(e,t){mA.call(this,py,t,e)}manySepFirstInternalRecord(e,t){mA.call(this,pg,t,e,!0)}orInternalRecord(e,t){return mC.call(this,e,t)}subruleInternalRecord(e,t,r){if(mk(t),!e||!1===cz(e,"ruleName")){let r=Error(`<SUBRULE${mS(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=cv(this.recordingProdStack),i=new pc({idx:t,nonTerminalName:e.ruleName,label:null==r?void 0:r.LABEL,referencedRule:void 0});return n.definition.push(i),this.outputCst?mE:mv}consumeInternalRecord(e,t,r){if(mk(t),!fP(e)){let r=Error(`<CONSUME${mS(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=cv(this.recordingProdStack),i=new pv({idx:t,terminalType:e,label:null==r?void 0:r.LABEL});return n.definition.push(i),mR}};function mA(e,t,r,n=!1){mk(r);let i=cv(this.recordingProdStack),a=sD(t)?t:t.DEF,s=new e({definition:[],idx:r});return n&&(s.separator=t.SEP),cz(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),mv}function mC(e,t){mk(t);let r=cv(this.recordingProdStack),n=!1===sh(e),i=!1===n?e:e.DEF,a=new pT({definition:[],idx:t,ignoreAmbiguities:n&&!0===e.IGNORE_AMBIGUITIES});return cz(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),a.hasPredicates=c8(i,e=>sD(e.GATE)),r.definition.push(a),cb(i,e=>{let t=new pf({definition:[]});a.definition.push(t),cz(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:cz(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),mv}function mS(e){return 0===e?"":`${e}`}function mk(e){if(e<0||e>255){let t=Error(`Invalid DSL Method idx value: <${e}> + Idx value must be a none negative value smaller than ${256}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}tD(mA,"recordProd"),tD(mC,"recordOrProd"),tD(mS,"getIdxSuffix"),tD(mk,"assertMethodIdxIsValid");var mx=class{static{tD(this,"PerformanceTracer")}initPerformanceTracer(e){if(cz(e,"traceInitPerf")){let t=e.traceInitPerf,r="number"==typeof t;this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=mI.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=pa(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}}};function mN(e,t){t.forEach(t=>{let r=t.prototype;Object.getOwnPropertyNames(r).forEach(n=>{if("constructor"===n)return;let i=Object.getOwnPropertyDescriptor(r,n);i&&(i.get||i.set)?Object.defineProperty(e.prototype,n,i):e.prototype[n]=t.prototype[n]})})}tD(mN,"applyMixins");var mw=f0(fJ,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(mw);var mI=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:f2,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),m_=Object.freeze({recoveryValueFunc:tD(()=>void 0,"recoveryValueFunc"),resyncEnabled:!0});function mP(e){return function(){return e}}(c=eX||(eX={}))[c.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",c[c.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",c[c.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",c[c.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",c[c.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",c[c.LEFT_RECURSION=5]="LEFT_RECURSION",c[c.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",c[c.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",c[c.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",c[c.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",c[c.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",c[c.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",c[c.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",c[c.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION",tD(mP,"EMPTY_ALT");var mO=class e{static{tD(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let t;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{ps(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),cb(this.definedRulesNames,e=>{let t,r=this[e].originalGrammarAction;this.TRACE_INIT(`${e} Rule`,()=>{t=this.topLevelRuleRecord(e,r)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=dU({rules:cU(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(cQ(n)&&!1===this.skipValidations){let e=dB({rules:cU(this.gastProductionsCache),tokenTypes:cU(this.tokensMap),errMsgProvider:f4,grammarName:r}),t=dC({lookaheadStrategy:this.lookaheadStrategy,rules:cU(this.gastProductionsCache),tokenTypes:cU(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(e,t)}}),cQ(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let e=pD(cU(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null==(t=(e=this.lookaheadStrategy).initialize)||t.call(e,{rules:cU(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(cU(this.gastProductionsCache))})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&!cQ(this.definitionErrors))throw t=cD(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected: + ${t.join("\n-------------------------------\n")}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),cz(t,"ignoredIssues"))throw Error("The <ignoredIssues> IParserConfig property has been deprecated.\n Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=cz(t,"skipValidations")?t.skipValidations:mI.skipValidations}};mO.DEFER_DEFINITION_ERRORS_HANDLING=!1,mN(mO,[d5,me,md,mm,my,mh,mg,mT,mb,mx]);var mD=class extends mO{static{tD(this,"EmbeddedActionsParser")}constructor(e,t=mI){let r=uO(t);r.outputCst=!1,super(e,r)}};function mL(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}function mM(){this.__data__=[],this.size=0}function mj(e,t){return e===t||e!=e&&t!=t}function mF(e,t){for(var r=e.length;r--;)if(mj(e[r][0],t))return r;return -1}tD(mL,"arrayMap"),tD(mM,"listCacheClear"),tD(mj,"eq"),tD(mF,"assocIndexOf");var mG=Array.prototype.splice;function mz(e){var t=this.__data__,r=mF(t,e);return!(r<0)&&(r==t.length-1?t.pop():mG.call(t,r,1),--this.size,!0)}function mK(e){var t=this.__data__,r=mF(t,e);return r<0?void 0:t[r][1]}function mq(e){return mF(this.__data__,e)>-1}function mU(e,t){var r=this.__data__,n=mF(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function mB(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function mW(){this.__data__=new mB,this.size=0}function mV(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function mH(e){return this.__data__.get(e)}function mY(e){return this.__data__.has(e)}tD(mz,"listCacheDelete"),tD(mK,"listCacheGet"),tD(mq,"listCacheHas"),tD(mU,"listCacheSet"),tD(mB,"ListCache"),mB.prototype.clear=mM,mB.prototype.delete=mz,mB.prototype.get=mK,mB.prototype.has=mq,mB.prototype.set=mU,tD(mW,"stackClear"),tD(mV,"stackDelete"),tD(mH,"stackGet"),tD(mY,"stackHas");var mQ="object"==typeof global&&global&&global.Object===Object&&global,mZ="object"==typeof self&&self&&self.Object===Object&&self,mX=mQ||mZ||Function("return this")(),mJ=mX.Symbol,m0=Object.prototype,m1=m0.hasOwnProperty,m2=m0.toString,m3=mJ?mJ.toStringTag:void 0;function m4(e){var t=m1.call(e,m3),r=e[m3];try{e[m3]=void 0;var n=!0}catch(e){}var i=m2.call(e);return n&&(t?e[m3]=r:delete e[m3]),i}tD(m4,"getRawTag");var m9=Object.prototype.toString;function m5(e){return m9.call(e)}tD(m5,"objectToString");var m6=mJ?mJ.toStringTag:void 0;function m7(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":m6&&m6 in Object(e)?m4(e):m5(e)}function m8(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function he(e){if(!m8(e))return!1;var t=m7(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}tD(m7,"baseGetTag"),tD(m8,"isObject"),tD(he,"isFunction");var ht=mX["__core-js_shared__"],hr=(p=/[^.]+$/.exec(ht&&ht.keys&&ht.keys.IE_PROTO||""))?"Symbol(src)_1."+p:"";function hn(e){return!!hr&&hr in e}tD(hn,"isMasked");var hi=Function.prototype.toString;function ha(e){if(null!=e){try{return hi.call(e)}catch(e){}try{return e+""}catch(e){}}return""}tD(ha,"toSource");var hs=/^\[object .+?Constructor\]$/,ho=Object.prototype,hl=Function.prototype.toString,hu=ho.hasOwnProperty,hc=RegExp("^"+hl.call(hu).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function hp(e){return!(!m8(e)||hn(e))&&(he(e)?hc:hs).test(ha(e))}function hf(e,t){return null==e?void 0:e[t]}function hd(e,t){var r=hf(e,t);return hp(r)?r:void 0}tD(hp,"baseIsNative"),tD(hf,"getValue"),tD(hd,"getNative");var hm=hd(mX,"Map"),hh=hd(Object,"create");function hy(){this.__data__=hh?hh(null):{},this.size=0}function hg(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}tD(hy,"hashClear"),tD(hg,"hashDelete");var hT=Object.prototype.hasOwnProperty;function hv(e){var t=this.__data__;if(hh){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return hT.call(t,e)?t[e]:void 0}tD(hv,"hashGet");var h$=Object.prototype.hasOwnProperty;function hR(e){var t=this.__data__;return hh?void 0!==t[e]:h$.call(t,e)}function hE(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=hh&&void 0===t?"__lodash_hash_undefined__":t,this}function hb(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function hA(){this.size=0,this.__data__={hash:new hb,map:new(hm||mB),string:new hb}}function hC(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function hS(e,t){var r=e.__data__;return hC(t)?r["string"==typeof t?"string":"hash"]:r.map}function hk(e){var t=hS(this,e).delete(e);return this.size-=!!t,t}function hx(e){return hS(this,e).get(e)}function hN(e){return hS(this,e).has(e)}function hw(e,t){var r=hS(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this}function hI(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function h_(e,t){var r=this.__data__;if(r instanceof mB){var n=r.__data__;if(!hm||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new hI(n)}return r.set(e,t),this.size=r.size,this}function hP(e){var t=this.__data__=new mB(e);this.size=t.size}function hO(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}function hD(e){return this.__data__.has(e)}function hL(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new hI;++t<r;)this.add(e[t])}function hM(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function hj(e,t){return e.has(t)}function hF(e,t,r,n,i,a){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var p=-1,f=!0,d=2&r?new hL:void 0;for(a.set(e,t),a.set(t,e);++p<o;){var m=e[p],h=t[p];if(n)var y=s?n(h,m,p,t,e,a):n(m,h,p,e,t,a);if(void 0!==y){if(y)continue;f=!1;break}if(d){if(!hM(t,function(e,t){if(!hj(d,t)&&(m===e||i(m,e,r,n,a)))return d.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,r,n,a))){f=!1;break}}return a.delete(e),a.delete(t),f}tD(hR,"hashHas"),tD(hE,"hashSet"),tD(hb,"Hash"),hb.prototype.clear=hy,hb.prototype.delete=hg,hb.prototype.get=hv,hb.prototype.has=hR,hb.prototype.set=hE,tD(hA,"mapCacheClear"),tD(hC,"isKeyable"),tD(hS,"getMapData"),tD(hk,"mapCacheDelete"),tD(hx,"mapCacheGet"),tD(hN,"mapCacheHas"),tD(hw,"mapCacheSet"),tD(hI,"MapCache"),hI.prototype.clear=hA,hI.prototype.delete=hk,hI.prototype.get=hx,hI.prototype.has=hN,hI.prototype.set=hw,tD(h_,"stackSet"),tD(hP,"Stack"),hP.prototype.clear=mW,hP.prototype.delete=mV,hP.prototype.get=mH,hP.prototype.has=mY,hP.prototype.set=h_,tD(hO,"setCacheAdd"),tD(hD,"setCacheHas"),tD(hL,"SetCache"),hL.prototype.add=hL.prototype.push=hO,hL.prototype.has=hD,tD(hM,"arraySome"),tD(hj,"cacheHas"),tD(hF,"equalArrays");var hG=mX.Uint8Array;function hz(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function hK(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}tD(hz,"mapToArray"),tD(hK,"setToArray");var hq=mJ?mJ.prototype:void 0,hU=hq?hq.valueOf:void 0;function hB(e,t,r,n,i,a,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!a(new hG(e),new hG(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return mj(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=hz;case"[object Set]":var l=1&n;if(o||(o=hK),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var c=hF(o(e),o(t),n,i,a,s);return s.delete(e),c;case"[object Symbol]":if(hU)return hU.call(e)==hU.call(t)}return!1}function hW(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}tD(hB,"equalByTag"),tD(hW,"arrayPush");var hV=Array.isArray;function hH(e,t,r){var n=t(e);return hV(e)?n:hW(n,r(e))}function hY(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function hQ(){return[]}tD(hH,"baseGetAllKeys"),tD(hY,"arrayFilter"),tD(hQ,"stubArray");var hZ=Object.prototype.propertyIsEnumerable,hX=Object.getOwnPropertySymbols,hJ=hX?function(e){return null==e?[]:hY(hX(e=Object(e)),function(t){return hZ.call(e,t)})}:hQ;function h0(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function h1(e){return null!=e&&"object"==typeof e}function h2(e){return h1(e)&&"[object Arguments]"==m7(e)}tD(h0,"baseTimes"),tD(h1,"isObjectLike"),tD(h2,"baseIsArguments");var h3=Object.prototype,h4=h3.hasOwnProperty,h9=h3.propertyIsEnumerable,h5=h2(function(){return arguments}())?h2:function(e){return h1(e)&&h4.call(e,"callee")&&!h9.call(e,"callee")};function h6(){return!1}tD(h6,"stubFalse");var h7="object"==typeof exports&&exports&&!exports.nodeType&&exports,h8=h7&&"object"==typeof module&&module&&!module.nodeType&&module,ye=h8&&h8.exports===h7?mX.Buffer:void 0,yt=(ye?ye.isBuffer:void 0)||h6,yr=/^(?:0|[1-9]\d*)$/;function yn(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&yr.test(e))&&e>-1&&e%1==0&&e<t}function yi(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}tD(yn,"isIndex"),tD(yi,"isLength");var ya={};function ys(e){return h1(e)&&yi(e.length)&&!!ya[m7(e)]}function yo(e){return function(t){return e(t)}}ya["[object Float32Array]"]=ya["[object Float64Array]"]=ya["[object Int8Array]"]=ya["[object Int16Array]"]=ya["[object Int32Array]"]=ya["[object Uint8Array]"]=ya["[object Uint8ClampedArray]"]=ya["[object Uint16Array]"]=ya["[object Uint32Array]"]=!0,ya["[object Arguments]"]=ya["[object Array]"]=ya["[object ArrayBuffer]"]=ya["[object Boolean]"]=ya["[object DataView]"]=ya["[object Date]"]=ya["[object Error]"]=ya["[object Function]"]=ya["[object Map]"]=ya["[object Number]"]=ya["[object Object]"]=ya["[object RegExp]"]=ya["[object Set]"]=ya["[object String]"]=ya["[object WeakMap]"]=!1,tD(ys,"baseIsTypedArray"),tD(yo,"baseUnary");var yl="object"==typeof exports&&exports&&!exports.nodeType&&exports,yu=yl&&"object"==typeof module&&module&&!module.nodeType&&module,yc=yu&&yu.exports===yl&&mQ.process,yp=function(){try{var e=yu&&yu.require&&yu.require("util").types;if(e)return e;return yc&&yc.binding&&yc.binding("util")}catch(e){}}(),yf=yp&&yp.isTypedArray,yd=yf?yo(yf):ys,ym=Object.prototype.hasOwnProperty;function yh(e,t){var r=hV(e),n=!r&&h5(e),i=!r&&!n&&yt(e),a=!r&&!n&&!i&&yd(e),s=r||n||i||a,o=s?h0(e.length,String):[],l=o.length;for(var u in e)(t||ym.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||yn(u,l)))&&o.push(u);return o}tD(yh,"arrayLikeKeys");var yy=Object.prototype;function yg(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||yy)}function yT(e,t){return function(r){return e(t(r))}}tD(yg,"isPrototype"),tD(yT,"overArg");var yv=yT(Object.keys,Object),y$=Object.prototype.hasOwnProperty;function yR(e){if(!yg(e))return yv(e);var t=[];for(var r in Object(e))y$.call(e,r)&&"constructor"!=r&&t.push(r);return t}function yE(e){return null!=e&&yi(e.length)&&!he(e)}function yb(e){return yE(e)?yh(e):yR(e)}function yA(e){return hH(e,yb,hJ)}tD(yR,"baseKeys"),tD(yE,"isArrayLike"),tD(yb,"keys"),tD(yA,"getAllKeys");var yC=Object.prototype.hasOwnProperty;function yS(e,t,r,n,i,a){var s=1&r,o=yA(e),l=o.length;if(l!=yA(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:yC.call(t,c)))return!1}var p=a.get(e),f=a.get(t);if(p&&f)return p==t&&f==e;var d=!0;a.set(e,t),a.set(t,e);for(var m=s;++u<l;){var h=e[c=o[u]],y=t[c];if(n)var g=s?n(y,h,c,t,e,a):n(h,y,c,e,t,a);if(!(void 0===g?h===y||i(h,y,r,n,a):g)){d=!1;break}m||(m="constructor"==c)}if(d&&!m){var T=e.constructor,v=t.constructor;T!=v&&"constructor"in e&&"constructor"in t&&!("function"==typeof T&&T instanceof T&&"function"==typeof v&&v instanceof v)&&(d=!1)}return a.delete(e),a.delete(t),d}tD(yS,"equalObjects");var yk=hd(mX,"DataView"),yx=hd(mX,"Promise"),yN=hd(mX,"Set"),yw=hd(mX,"WeakMap"),yI="[object Map]",y_="[object Promise]",yP="[object Set]",yO="[object WeakMap]",yD="[object DataView]",yL=ha(yk),yM=ha(hm),yj=ha(yx),yF=ha(yN),yG=ha(yw),yz=m7;(yk&&yz(new yk(new ArrayBuffer(1)))!=yD||hm&&yz(new hm)!=yI||yx&&yz(yx.resolve())!=y_||yN&&yz(new yN)!=yP||yw&&yz(new yw)!=yO)&&(yz=tD(function(e){var t=m7(e),r="[object Object]"==t?e.constructor:void 0,n=r?ha(r):"";if(n)switch(n){case yL:return yD;case yM:return yI;case yj:return y_;case yF:return yP;case yG:return yO}return t},"getTag"));var yK=yz,yq="[object Arguments]",yU="[object Array]",yB="[object Object]",yW=Object.prototype.hasOwnProperty;function yV(e,t,r,n,i,a){var s=hV(e),o=hV(t),l=s?yU:yK(e),u=o?yU:yK(t);l=l==yq?yB:l,u=u==yq?yB:u;var c=l==yB,p=u==yB,f=l==u;if(f&&yt(e)){if(!yt(t))return!1;s=!0,c=!1}if(f&&!c)return a||(a=new hP),s||yd(e)?hF(e,t,r,n,i,a):hB(e,t,l,r,n,i,a);if(!(1&r)){var d=c&&yW.call(e,"__wrapped__"),m=p&&yW.call(t,"__wrapped__");if(d||m){var h=d?e.value():e,y=m?t.value():t;return a||(a=new hP),i(h,y,r,n,a)}}return!!f&&(a||(a=new hP),yS(e,t,r,n,i,a))}function yH(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(h1(e)||h1(t))?yV(e,t,r,n,yH,i):e!=e&&t!=t)}function yY(e,t,r,n){var i=r.length,a=i,s=!n;if(null==e)return!a;for(e=Object(e);i--;){var o=r[i];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<a;){var l=(o=r[i])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p=new hP;if(n)var f=n(u,c,l,e,t,p);if(!(void 0===f?yH(c,u,3,n,p):f))return!1}}return!0}function yQ(e){return e==e&&!m8(e)}function yZ(e){for(var t=yb(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,yQ(i)]}return t}function yX(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}function yJ(e){var t=yZ(e);return 1==t.length&&t[0][2]?yX(t[0][0],t[0][1]):function(r){return r===e||yY(r,e,t)}}function y0(e){return"symbol"==typeof e||h1(e)&&"[object Symbol]"==m7(e)}tD(yV,"baseIsEqualDeep"),tD(yH,"baseIsEqual"),tD(yY,"baseIsMatch"),tD(yQ,"isStrictComparable"),tD(yZ,"getMatchData"),tD(yX,"matchesStrictComparable"),tD(yJ,"baseMatches"),tD(y0,"isSymbol");var y1=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y2=/^\w*$/;function y3(e,t){if(hV(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||y0(e))||y2.test(e)||!y1.test(e)||null!=t&&e in Object(t)}function y4(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=tD(function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(y4.Cache||hI),r}function y9(e){var t=y4(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}tD(y3,"isKey"),tD(y4,"memoize"),y4.Cache=hI,tD(y9,"memoizeCapped");var y5=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,y6=/\\(\\)?/g,y7=y9(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(y5,function(e,r,n,i){t.push(n?i.replace(y6,"$1"):r||e)}),t}),y8=1/0,ge=mJ?mJ.prototype:void 0,gt=ge?ge.toString:void 0;function gr(e){if("string"==typeof e)return e;if(hV(e))return mL(e,gr)+"";if(y0(e))return gt?gt.call(e):"";var t=e+"";return"0"==t&&1/e==-y8?"-0":t}function gn(e){return null==e?"":gr(e)}function gi(e,t){return hV(e)?e:y3(e,t)?[e]:y7(gn(e))}tD(gr,"baseToString"),tD(gn,"toString"),tD(gi,"castPath");var ga=1/0;function gs(e){if("string"==typeof e||y0(e))return e;var t=e+"";return"0"==t&&1/e==-ga?"-0":t}function go(e,t){t=gi(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[gs(t[r++])];return r&&r==n?e:void 0}function gl(e,t,r){var n=null==e?void 0:go(e,t);return void 0===n?r:n}function gu(e,t){return null!=e&&t in Object(e)}function gc(e,t,r){t=gi(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=gs(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&yi(i)&&yn(s,i)&&(hV(e)||h5(e))}function gp(e,t){return null!=e&&gc(e,t,gu)}function gf(e,t){return y3(e)&&yQ(t)?yX(gs(e),t):function(r){var n=gl(r,e);return void 0===n&&n===t?gp(r,e):yH(t,n,3)}}function gd(e){return e}function gm(e){return function(t){return null==t?void 0:t[e]}}function gh(e){return function(t){return go(t,e)}}function gy(e){return y3(e)?gm(gs(e)):gh(e)}function gg(e){return"function"==typeof e?e:null==e?gd:"object"==typeof e?hV(e)?gf(e[0],e[1]):yJ(e):gy(e)}function gT(e){return function(t,r,n){for(var i=-1,a=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++i];if(!1===r(a[l],l,a))break}return t}}tD(gs,"toKey"),tD(go,"baseGet"),tD(gl,"get"),tD(gu,"baseHasIn"),tD(gc,"hasPath"),tD(gp,"hasIn"),tD(gf,"baseMatchesProperty"),tD(gd,"identity"),tD(gm,"baseProperty"),tD(gh,"basePropertyDeep"),tD(gy,"property"),tD(gg,"baseIteratee"),tD(gT,"createBaseFor");var gv=gT();function g$(e,t){return e&&gv(e,t,yb)}function gR(e,t){return function(r,n){if(null==r)return r;if(!yE(r))return e(r,n);for(var i=r.length,a=t?i:-1,s=Object(r);(t?a--:++a<i)&&!1!==n(s[a],a,s););return r}}tD(g$,"baseForOwn"),tD(gR,"createBaseEach");var gE=gR(g$);function gb(e,t){var r=-1,n=yE(e)?Array(e.length):[];return gE(e,function(e,i,a){n[++r]=t(e,i,a)}),n}function gA(e,t){return(hV(e)?mL:gb)(e,gg(t,3))}function gC(e,t){var r=[];return gE(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function gS(e,t){return(hV(e)?hY:gC)(e,gg(t,3))}function gk(e,t,r){return`${e.name}_${t}_${r}`}tD(gb,"baseMap"),tD(gA,"map"),tD(gC,"baseFilter"),tD(gS,"filter"),tD(gk,"buildATNKey");var gx=class{static{tD(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},gN=class extends gx{static{tD(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},gw=class extends gx{static{tD(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},gI=class extends gx{static{tD(this,"RuleTransition")}constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}};function g_(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};gP(t,e);let r=e.length;for(let n=0;n<r;n++){let r=e[n],i=gz(t,r,r);void 0!==i&&gZ(t,r,i)}return t}function gP(e,t){let r=t.length;for(let n=0;n<r;n++){let r=t[n],i=gJ(e,r,void 0,{type:2}),a=gJ(e,r,void 0,{type:7});i.stop=a,e.ruleToStartState.set(r,i),e.ruleToStopState.set(r,a)}}function gO(e,t,r){if(r instanceof pv)return gY(e,t,r.terminalType,r);if(r instanceof pc)return gQ(e,t,r);if(r instanceof pT)return gF(e,t,r);if(r instanceof pd)return gG(e,t,r);if(r instanceof py)return gD(e,t,r);else if(r instanceof pg)return gL(e,t,r);else if(r instanceof pm)return gM(e,t,r);else if(r instanceof ph)return gj(e,t,r);else return gz(e,t,r)}function gD(e,t,r){let n=gJ(e,t,r,{type:5});gB(e,n);let i=gW(e,t,n,r,gz(e,t,r));return gq(e,t,r,i)}function gL(e,t,r){let n=gJ(e,t,r,{type:5});gB(e,n);let i=gW(e,t,n,r,gz(e,t,r)),a=gY(e,t,r.separator,r);return gq(e,t,r,i,a)}function gM(e,t,r){let n=gJ(e,t,r,{type:4});gB(e,n);let i=gW(e,t,n,r,gz(e,t,r));return gK(e,t,r,i)}function gj(e,t,r){let n=gJ(e,t,r,{type:4});gB(e,n);let i=gW(e,t,n,r,gz(e,t,r)),a=gY(e,t,r.separator,r);return gK(e,t,r,i,a)}function gF(e,t,r){let n=gJ(e,t,r,{type:1});gB(e,n);let i=gA(r.definition,r=>gO(e,t,r));return gW(e,t,n,r,...i)}function gG(e,t,r){let n=gJ(e,t,r,{type:1});gB(e,n);let i=gW(e,t,n,r,gz(e,t,r));return gU(e,t,r,i)}function gz(e,t,r){let n=gS(gA(r.definition,r=>gO(e,t,r)),e=>void 0!==e);return 1===n.length?n[0]:0===n.length?void 0:gH(e,n)}function gK(e,t,r,n,i){let a=n.left,s=n.right,o=gJ(e,t,r,{type:11});gB(e,o);let l=gJ(e,t,r,{type:12});return a.loopback=o,l.loopback=o,e.decisionMap[gk(t,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,gX(s,o),void 0===i?(gX(o,a),gX(o,l)):(gX(o,l),gX(o,i.left),gX(i.right,a)),{left:a,right:l}}function gq(e,t,r,n,i){let a=n.left,s=n.right,o=gJ(e,t,r,{type:10});gB(e,o);let l=gJ(e,t,r,{type:12}),u=gJ(e,t,r,{type:9});return o.loopback=u,l.loopback=u,gX(o,a),gX(o,l),gX(s,u),void 0!==i?(gX(u,l),gX(u,i.left),gX(i.right,a)):gX(u,o),e.decisionMap[gk(t,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function gU(e,t,r,n){let i=n.left;return gX(i,n.right),e.decisionMap[gk(t,"Option",r.idx)]=i,n}function gB(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function gW(e,t,r,n,...i){let a=gJ(e,t,n,{type:8,start:r});for(let e of(r.end=a,i))void 0!==e?(gX(r,e.left),gX(e.right,a)):gX(r,a);return e.decisionMap[gk(t,gV(n),n.idx)]=r,{left:r,right:a}}function gV(e){if(e instanceof pT)return"Alternation";if(e instanceof pd)return"Option";if(e instanceof py)return"Repetition";if(e instanceof pg)return"RepetitionWithSeparator";if(e instanceof pm)return"RepetitionMandatory";else if(e instanceof ph)return"RepetitionMandatoryWithSeparator";else throw Error("Invalid production type encountered")}function gH(e,t){let r=t.length;for(let n=0;n<r-1;n++){let r,i=t[n];1===i.left.transitions.length&&(r=i.left.transitions[0]);let a=r instanceof gI,s=r,o=t[n+1].left;1===i.left.type&&1===i.right.type&&void 0!==r&&(a&&s.followState===i.right||r.target===i.right)?(a?s.followState=o:r.target=o,g1(e,i.right)):gX(i.right,o)}let n=t[0],i=t[r-1];return{left:n.left,right:i.right}}function gY(e,t,r,n){let i=gJ(e,t,n,{type:1}),a=gJ(e,t,n,{type:1});return g0(i,new gN(a,r)),{left:i,right:a}}function gQ(e,t,r){let n=r.referencedRule,i=e.ruleToStartState.get(n),a=gJ(e,t,r,{type:1}),s=gJ(e,t,r,{type:1});return g0(a,new gI(i,n,s)),{left:a,right:s}}function gZ(e,t,r){let n=e.ruleToStartState.get(t);gX(n,r.left);let i=e.ruleToStopState.get(t);return gX(r.right,i),{left:n,right:i}}function gX(e,t){g0(e,new gw(t))}function gJ(e,t,r,n){let i=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function g0(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function g1(e,t){e.states.splice(e.states.indexOf(t),1)}tD(g_,"createATN"),tD(gP,"createRuleStartAndStopATNStates"),tD(gO,"atom"),tD(gD,"repetition"),tD(gL,"repetitionSep"),tD(gM,"repetitionMandatory"),tD(gj,"repetitionMandatorySep"),tD(gF,"alternation"),tD(gG,"option"),tD(gz,"block"),tD(gK,"plus"),tD(gq,"star"),tD(gU,"optional"),tD(gB,"defineDecisionState"),tD(gW,"makeAlts"),tD(gV,"getProdType"),tD(gH,"makeBlock"),tD(gY,"tokenRef"),tD(gQ,"ruleRef"),tD(gZ,"buildRuleHandle"),tD(gX,"epsilon"),tD(gJ,"newState"),tD(g0,"addTransition"),tD(g1,"removeState");var g2={},g3=class{static{tD(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=g4(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return gA(this.configs,e=>e.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}};function g4(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}function g9(e,t,r){for(var n=-1,i=e.length;++n<i;){var a=e[n],s=t(a);if(null!=s&&(void 0===o?s==s&&!y0(s):r(s,o)))var o=s,l=a}return l}function g5(e,t){return e<t}function g6(e){return e&&e.length?g9(e,gd,g5):void 0}tD(g4,"getATNConfigKey"),tD(g9,"baseExtremum"),tD(g5,"baseLt"),tD(g6,"min");var g7=mJ?mJ.isConcatSpreadable:void 0;function g8(e){return hV(e)||h5(e)||!!(g7&&e&&e[g7])}function Te(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=g8),i||(i=[]);++a<s;){var o=e[a];t>0&&r(o)?t>1?Te(o,t-1,r,n,i):hW(i,o):n||(i[i.length]=o)}return i}function Tt(e,t){return Te(gA(e,t),1)}function Tr(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a<i;)if(t(e[a],a,e))return a;return -1}function Tn(e){return e!=e}function Ti(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return -1}function Ta(e,t,r){return t==t?Ti(e,t,r):Tr(e,Tn,r)}function Ts(e,t){return!!(null==e?0:e.length)&&Ta(e,t,0)>-1}function To(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function Tl(){}tD(g8,"isFlattenable"),tD(Te,"baseFlatten"),tD(Tt,"flatMap"),tD(Tr,"baseFindIndex"),tD(Tn,"baseIsNaN"),tD(Ti,"strictIndexOf"),tD(Ta,"baseIndexOf"),tD(Ts,"arrayIncludes"),tD(To,"arrayIncludesWith"),tD(Tl,"noop");var Tu=yN&&1/hK(new yN([,-0]))[1]==1/0?function(e){return new yN(e)}:Tl;function Tc(e,t,r){var n=-1,i=Ts,a=e.length,s=!0,o=[],l=o;if(r)s=!1,i=To;else if(a>=200){var u=t?null:Tu(e);if(u)return hK(u);s=!1,i=hj,l=new hL}else l=t?[]:o;t:for(;++n<a;){var c=e[n],p=t?t(c):c;if(c=r||0!==c?c:0,s&&p==p){for(var f=l.length;f--;)if(l[f]===p)continue t;t&&l.push(p),o.push(c)}else i(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}function Tp(e,t){return e&&e.length?Tc(e,gg(t,2)):[]}function Tf(e){return(null==e?0:e.length)?Te(e,1):[]}function Td(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function Tm(e){return"function"==typeof e?e:gd}function Th(e,t){return(hV(e)?Td:gE)(e,Tm(t))}tD(Tc,"baseUniq"),tD(Tp,"uniqBy"),tD(Tf,"flatten"),tD(Td,"arrayEach"),tD(Tm,"castFunction"),tD(Th,"forEach");var Ty=Object.prototype.hasOwnProperty;function Tg(e){if(null==e)return!0;if(yE(e)&&(hV(e)||"string"==typeof e||"function"==typeof e.splice||yt(e)||yd(e)||h5(e)))return!e.length;var t=yK(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(yg(e))return!yR(e).length;for(var r in e)if(Ty.call(e,r))return!1;return!0}function TT(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function Tv(e,t,r,n,i){return i(e,function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)}),r}function T$(e,t,r){var n=hV(e)?TT:Tv,i=arguments.length<3;return n(e,gg(t,4),r,i,gE)}function TR(e,t){let r={};return n=>{let i=n.toString(),a=r[i];return void 0!==a||(a={atnStartState:e,decision:t,states:{}},r[i]=a),a}}tD(Tg,"isEmpty"),tD(TT,"arrayReduce"),tD(Tv,"baseReduce"),tD(T$,"reduce"),tD(TR,"createDFACache");var TE=class{static{tD(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;r<t;r++)e+=!0===this.predicates[r]?"1":"0";return e}},Tb=new TE,TA=class extends d8{static{tD(this,"LLStarLookaheadStrategy")}constructor(e){var t;super(),this.logging=null!=(t=null==e?void 0:e.logging)?t:e=>console.log(e)}initialize(e){this.atn=g_(e.rules),this.dfas=TS(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=gk(r,"Alternation",t),l=this.atn.decisionMap[o].decision,u=gA(du({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),e=>gA(e,e=>e[0]));if(TC(u,!1)&&!i){let e=T$(u,(e,t,r)=>(Th(t,t=>{t&&(e[t.tokenTypeIdx]=r,Th(t.categoryMatches,t=>{e[t]=r}))}),e),{});return n?function(t){var r;let n=e[this.LA(1).tokenTypeIdx];if(void 0!==t&&void 0!==n){let e=null==(r=t[n])?void 0:r.GATE;if(void 0!==e&&!1===e.call(this))return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}return n?function(e){let t=new TE,r=void 0===e?0:e.length;for(let n=0;n<r;n++){let r=null==e?void 0:e[n].GATE;t.set(n,void 0===r||r.call(this))}let n=Tk.call(this,a,l,t,s);return"number"==typeof n?n:void 0}:function(){let e=Tk.call(this,a,l,Tb,s);return"number"==typeof e?e:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:r,prodType:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=gk(r,n,t),l=this.atn.decisionMap[o].decision,u=gA(du({maxLookahead:1,occurrence:t,prodType:n,rule:r}),e=>gA(e,e=>e[0]));if(TC(u)&&u[0][0]&&!i){let e=Tf(u[0]);if(1===e.length&&Tg(e[0].categoryMatches)){let t=e[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===t}}{let t=T$(e,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,Th(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return!0===t[this.LA(1).tokenTypeIdx]}}}return function(){let e=Tk.call(this,a,l,Tb,s);return"object"!=typeof e&&0===e}}};function TC(e,t=!0){let r=new Set;for(let n of e){let e=new Set;for(let i of n){if(void 0===i)if(!t)return!1;else break;for(let t of[i.tokenTypeIdx].concat(i.categoryMatches))if(r.has(t)){if(!e.has(t))return!1}else r.add(t),e.add(t)}}return!0}function TS(e){let t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=TR(e.decisionStates[n],n);return r}function Tk(e,t,r,n){let i=e[t](r),a=i.start;if(void 0===a){let e=Tz(i.atnStartState);a=TG(i,Tj(e)),i.start=a}return Tx.apply(this,[i,a,r,n])}function Tx(e,t,r,n){let i=t,a=1,s=[],o=this.LA(a++);for(;;){let t=TO(i,o);if(void 0===t&&(t=TN.apply(this,[e,i,o,a,r,n])),t===g2)return TP(s,i,o);if(!0===t.isAcceptState)return t.prediction;i=t,s.push(o),o=this.LA(a++)}}function TN(e,t,r,n,i,a){let s=TD(t.configs,r,i);if(0===s.size)return TF(e,t,r,g2),g2;let o=Tj(s),l=TM(s,i);if(void 0!==l)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(TW(s)){let t=g6(s.alts);o.isAcceptState=!0,o.prediction=t,o.configs.uniqueAlt=t,Tw.apply(this,[e,n,s.alts,a])}return TF(e,t,r,o)}function Tw(e,t,r,n){let i=[];for(let e=1;e<=t;e++)i.push(this.LA(e).tokenType);let a=e.atnStartState;n(TI({topLevelRule:a.rule,ambiguityIndices:r,production:a.production,prefixPath:i}))}function TI(e){let t=gA(e.prefixPath,e=>fz(e)).join(", "),r=0===e.production.idx?"":e.production.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${T_(e.production)}${r}> inside <${e.topLevelRule.name}> Rule, +<${t}> may appears as a prefix path in all these alternatives. +`;return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`}function T_(e){if(e instanceof pc)return"SUBRULE";if(e instanceof pd)return"OPTION";if(e instanceof pT)return"OR";if(e instanceof pm)return"AT_LEAST_ONE";if(e instanceof ph)return"AT_LEAST_ONE_SEP";else if(e instanceof pg)return"MANY_SEP";else if(e instanceof py)return"MANY";else if(e instanceof pv)return"CONSUME";else throw Error("non exhaustive match")}function TP(e,t,r){return{actualToken:r,possibleTokenTypes:Tp(Tt(t.configs.elements,e=>e.state.transitions).filter(e=>e instanceof gN).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function TO(e,t){return e.edges[t.tokenTypeIdx]}function TD(e,t,r){let n,i=new g3,a=[];for(let n of e.elements){if(!1===r.is(n.alt))continue;if(7===n.state.type){a.push(n);continue}let e=n.state.transitions.length;for(let r=0;r<e;r++){let e=TL(n.state.transitions[r],t);void 0!==e&&i.add({state:e,alt:n.alt,stack:n.stack})}}if(0===a.length&&1===i.size&&(n=i),void 0===n)for(let e of(n=new g3,i.elements))TK(e,n);if(a.length>0&&!TU(n))for(let e of a)n.add(e);return n}function TL(e,t){if(e instanceof gN&&f1(t,e.tokenType))return e.target}function TM(e,t){let r;for(let n of e.elements)if(!0===t.is(n.alt)){if(void 0===r)r=n.alt;else if(r!==n.alt)return}return r}function Tj(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function TF(e,t,r,n){return n=TG(e,n),t.edges[r.tokenTypeIdx]=n,n}function TG(e,t){if(t===g2)return t;let r=t.configs.key,n=e.states[r];return void 0!==n?n:(t.configs.finalize(),e.states[r]=t,t)}function Tz(e){let t=new g3,r=e.transitions.length;for(let n=0;n<r;n++)TK({state:e.transitions[n].target,alt:n,stack:[]},t);return t}function TK(e,t){let r=e.state;if(7===r.type){if(e.stack.length>0){let r=[...e.stack];TK({state:r.pop(),alt:e.alt,stack:r},t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let i=0;i<n;i++){let n=Tq(e,r.transitions[i]);void 0!==n&&TK(n,t)}}function Tq(e,t){if(t instanceof gw)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof gI){let r=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:r}}}function TU(e){for(let t of e.elements)if(7===t.state.type)return!0;return!1}function TB(e){for(let t of e.elements)if(7!==t.state.type)return!1;return!0}function TW(e){if(TB(e))return!0;let t=TV(e.elements);return TH(t)&&!TY(t)}function TV(e){let t=new Map;for(let r of e){let e=g4(r,!1),n=t.get(e);void 0===n&&(n={},t.set(e,n)),n[r.alt]=!0}return t}function TH(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}function TY(e){for(let t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}tD(TC,"isLL1Sequence"),tD(TS,"initATNSimulator"),tD(Tk,"adaptivePredict"),tD(Tx,"performLookahead"),tD(TN,"computeLookaheadTarget"),tD(Tw,"reportLookaheadAmbiguity"),tD(TI,"buildAmbiguityError"),tD(T_,"getProductionDslName"),tD(TP,"buildAdaptivePredictError"),tD(TO,"getExistingTargetState"),tD(TD,"computeReachSet"),tD(TL,"getReachableTarget"),tD(TM,"getUniqueAlt"),tD(Tj,"newDFAState"),tD(TF,"addDFAEdge"),tD(TG,"addDFAState"),tD(Tz,"computeStartState"),tD(TK,"closure"),tD(Tq,"getEpsilonTarget"),tD(TU,"hasConfigInRuleStopState"),tD(TB,"allConfigsInRuleStopStates"),tD(TW,"hasConflictTerminatingPrediction"),tD(TV,"getConflictingAltSets"),tD(TH,"hasConflictingAltSet"),tD(TY,"hasStateAssociatedWithOneAlt"),tq();var TQ=class{static{tD(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new T1(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new TJ;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new TX(e.startOffset,e.image.length,iz(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){let t=e.container;if(t){let r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){let t=[];for(let r of e){let e=new TX(r.startOffset,r.image.length,iz(r),r.tokenType,!0);e.root=this.rootNode,t.push(e)}let r=this.current,n=!1;if(r.content.length>0)return void r.content.push(...t);for(;r.container;){let e=r.container.content.indexOf(r);if(e>0){r.container.content.splice(e,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;"string"!=typeof e.$type||e.$infixName||(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}},TZ=class{static{tD(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e="string"==typeof this._astNode?.$type?this._astNode:this.container?.astNode;if(!e)throw Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},TX=class extends TZ{static{tD(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,n,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=n,this._length=t,this._range=r}},TJ=class extends TZ{static{tD(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new T0(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(!e||!t)return{start:$.create(0,0),end:$.create(0,0)};if(void 0===this._rangeCache){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line<r.start.line?r.start:n.end}}return this._rangeCache}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},T0=class e extends Array{static{tD(this,"CstNodeContainer")}constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,e.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(let t of e)t.container=this.parent}},T1=class extends TJ{static{tD(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}},T2=Symbol("Datatype");function T3(e){return e.$type===T2}tD(T3,"isDataTypeNode");var T4=tD(e=>e.endsWith("\u200B")?e:e+"\u200B","withRuleSuffix"),T9=class{static{tD(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,r="production"===e.LanguageMetaData.mode;e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new vr(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new vt(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},T5=class extends T9{static{tD(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new TQ,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let r,n=this.computeRuleType(e);nL(e)&&(r=e.name,this.registerPrecedenceMap(e));let i=this.wrapper.DEFINE_RULE(T4(e.name),this.startImplementation(n,r,t).bind(this));return this.allRules.set(e.name,i),n4(e)&&e.entry&&(this.mainRule=i),i}registerPrecedenceMap(e){let t=e.name,r=new Map;for(let t=0;t<e.operators.precedences.length;t++){let n=e.operators.precedences[t];for(let e of n.operators)r.set(e.value,{precedence:t,rightAssoc:"right"===n.associativity})}this.operatorPrecedence.set(t,r)}computeRuleType(e){if(nL(e))return aH(e);if(!e.fragment)if(aq(e))return T2;else return aH(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=t.rule?this.allRules.get(t.rule):this.mainRule;if(!n)throw Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let i=this.doParse(n);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,rq(i,{deep:!0}),{value:i,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let t=this.wrapper.rule(e);if(this.stack.length>0&&(t=this.construct()),void 0===t)throw Error("No result from parser");if(this.stack.length>0)throw Error("Parser stack is not empty after parsing");return t}startImplementation(e,t,r){return n=>{let i=!this.isRecording()&&void 0!==e;if(i){let r={$type:e};this.stack.push(r),e===T2?r.value="":void 0!==t&&(r.$infixName=t)}return r(n),i?this.construct():void 0}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let e=0;e<t.length;e++)if(t[e].startOffset>r)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let e=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(e);let t=this.nodeBuilder.buildLeafNode(n,r),{assignment:i,crossRef:a}=this.getAssignment(r),s=this.current;if(i){let e=nU(r)?n.image:this.converter.convert(n.image,t);this.assign(i.operator,i.feature,e,t,a)}else if(T3(s)){let e=n.image;nU(r)||(e=this.converter.convert(e,t).toString()),s.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n,i){let a,s;this.isRecording()||r||(a=this.nodeBuilder.buildCompositeNode(n));try{s=this.wrapper.wrapSubrule(e,t,i)}finally{!this.isRecording()&&(void 0!==s||r||(s=this.construct()),void 0!==s&&a&&a.length>0&&this.performSubruleAssignment(s,n,a))}}performSubruleAssignment(e,t,r){let{assignment:n,crossRef:i}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,i);else if(!n){let t=this.current;if(T3(t))t.value+=e.toString();else if("object"==typeof e&&e){let r=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(r)}}}action(e,t){if(!this.isRecording()){let r=this.current;t.feature&&t.operator?(r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode),this.stack.push({$type:e}),this.assign(t.operator,t.feature,r,r.$cstNode)):r.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return(this.nodeBuilder.construct(e),"$infixName"in e)?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):T3(e)?this.converter.convert(e.value,e.$cstNode):(r0(this.astReflection,e),e)}constructInfix(e,t){let r=e.parts;if(!Array.isArray(r)||0===r.length)return;let n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let i=0,a=-1;for(let e=0;e<n.length;e++){let r=n[e],s=t.get(r)??{precedence:1/0,rightAssoc:!1};s.precedence>a?(a=s.precedence,i=e):s.precedence!==a||s.rightAssoc||(i=e)}let s=n.slice(0,i),o=n.slice(i+1),l=r.slice(0,i+1),u=r.slice(i+1),c={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:s},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f=this.constructInfix(c,t),d=this.constructInfix(p,t);return{$type:e.$type,$cstNode:e.$cstNode,left:f,operator:n[i],right:d}}getAssignment(e){if(!this.assignmentMap.has(e)){let t=rU(e,nf);this.assignmentMap.set(e,{assignment:t,crossRef:t&&nE(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,r,n,i){let a,s=this.current;switch(a="single"===i&&"string"==typeof r?this.linker.buildReference(s,t,n,r):"multi"===i&&"string"==typeof r?this.linker.buildMultiReference(s,t,n,r):r,e){case"=":s[t]=a;break;case"?=":s[t]=!0;break;case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(a)}}assignWithoutOverride(e,t){for(let[r,n]of Object.entries(t)){let t=e[r];void 0===t?e[r]=n:Array.isArray(t)&&Array.isArray(n)&&(n.push(...t),e[r]=n)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},T6=class{static{tD(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return f2.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return f2.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return f2.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return f2.buildEarlyExitMessage(e)}},T7=class extends T6{static{tD(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:t}){let r=e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`;return`Expecting ${r} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},T8=class extends T9{static{tD(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){let r=this.wrapper.DEFINE_RULE(T4(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,t,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},ve={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new T7},vt=class extends mD{static{tD(this,"ChevrotainWrapper")}constructor(e,t){let r=t&&"maxLookahead"in t;super(e,{...ve,lookaheadStrategy:r?new d8({maxLookahead:t.maxLookahead}):new TA({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,r){return this.RULE(e,t,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}},vr=class extends vt{static{tD(this,"ProfilerWrapper")}constructor(e,t,r){super(e,t),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}};function vn(e,t,r){return vi({parser:t,tokens:r,ruleNames:new Map},e),t}function vi(e,t){let r=aC(t,!1);for(let n of rG(t.rules).filter(n4).filter(e=>r.has(e))){let t={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(n,vs(t,n.definition))}for(let n of rG(t.rules).filter(nL).filter(e=>r.has(e)))e.parser.rule(n,va(e,n))}function va(e,t){let r,n=t.call.rule.ref;if(!n)throw Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if(iy(n))throw Error("Cannot use terminal rule in infix expression");let i=t.operators.precedences.flatMap(e=>e.operators),a={$type:"Group",elements:[]},s={$container:a,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call},o={$container:a,$type:"Group",elements:[],cardinality:"*"};a.elements.push(s,o);let l={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:i}},u={...s,$container:o};o.elements.push(l,u);let c=i.map(t=>e.tokens[t.value]).map((t,r)=>({ALT:tD(()=>e.parser.consume(r,t,l),"ALT")}));return t=>{r??(r=vT(e,n)),e.parser.subrule(0,r,!1,s,t),e.parser.many(0,{DEF:tD(()=>{e.parser.alternatives(0,c),e.parser.subrule(1,r,!1,u,t)},"DEF")})}}function vs(e,t,r=!1){let n;if(nU(t))n=vy(e,t);else if(ni(t))n=vo(e,t);else if(nf(t))n=vs(e,t.terminal);else if(nE(t))n=vh(e,t);else if(ir(t))n=vl(e,t);else if(ns(t))n=vp(e,t);else if(ix(t))n=vf(e,t);else if(n_(t))n=vd(e,t);else if(nS(t)){let r=e.consume++;n=tD(()=>e.parser.consume(r,fJ,t),"method")}else throw new i9(t.$cstNode,`Unexpected element type: ${t.$type}`);return vg(e,r?void 0:vm(t),n,t.cardinality)}function vo(e,t){let r=aH(t);return()=>e.parser.action(r,t)}function vl(e,t){let r=t.rule.ref;if(r7(r)){let n,i=e.subrule++,a=n4(r)&&r.fragment,s=t.arguments.length>0?vu(r,t.arguments):()=>({});return o=>{n??(n=vT(e,r)),e.parser.subrule(i,n,a,t,s(o))}}if(iy(r)){let n=e.consume++,i=v$(e,r.name);return()=>e.parser.consume(n,i,t)}if(r)i5(r);else throw new i9(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}function vu(e,t){if(t.some(e=>e.calledByName)){let e=t.map(e=>({parameterName:e.parameter?.ref?.name,predicate:vc(e.value)}));return t=>{let r={};for(let{parameterName:n,predicate:i}of e)n&&(r[n]=i(t));return r}}{let r=t.map(e=>vc(e.value));return t=>{let n={};for(let i=0;i<r.length;i++)if(i<e.parameters.length){let a=e.parameters[i].name,s=r[i];n[a]=s(t)}return n}}}function vc(e){if(nA(e)){let t=vc(e.left),r=vc(e.right);return e=>t(e)||r(e)}if(n$(e)){let t=vc(e.left),r=vc(e.right);return e=>t(e)&&r(e)}if(nQ(e)){let t=vc(e.value);return e=>!t(e)}if(n2(e)){let t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(nm(e)){let t=!!e.true;return()=>t}i5(e)}function vp(e,t){if(1===t.elements.length)return vs(e,t.elements[0]);{let r=[];for(let n of t.elements){let t={ALT:vs(e,n,!0)},i=vm(n);i&&(t.GATE=vc(i)),r.push(t)}let n=e.or++;return t=>e.parser.alternatives(n,r.map(e=>{let r={ALT:tD(()=>e.ALT(t),"ALT")},n=e.GATE;return n&&(r.GATE=()=>n(t)),r}))}}function vf(e,t){if(1===t.elements.length)return vs(e,t.elements[0]);let r=[];for(let n of t.elements){let t={ALT:vs(e,n,!0)},i=vm(n);i&&(t.GATE=vc(i)),r.push(t)}let n=e.or++,i=tD((e,t)=>{let r=t.getRuleStack().join("-");return`uGroup_${e}_${r}`},"idFunc"),a=tD(t=>e.parser.alternatives(n,r.map((r,a)=>{let s={ALT:tD(()=>!0,"ALT")},o=e.parser;s.ALT=()=>{if(r.ALT(t),!o.isRecording()){let e=i(n,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);let t=o.unorderedGroups.get(e);void 0===t?.[a]&&(t[a]=!0)}};let l=r.GATE;return l?s.GATE=()=>l(t):s.GATE=()=>{let e=o.unorderedGroups.get(i(n,o));return!e?.[a]},s})),"alternatives"),s=vg(e,vm(t),a,"*");return t=>{s(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(i(n,e.parser))}}function vd(e,t){let r=t.elements.map(t=>vs(e,t));return e=>r.forEach(t=>t(e))}function vm(e){if(n_(e))return e.guardCondition}function vh(e,t,r=t.terminal){if(r)if(ir(r)&&n4(r.rule.ref)){let n,i=r.rule.ref,a=e.subrule++;return r=>{n??(n=vT(e,i)),e.parser.subrule(a,n,!1,t,r)}}else if(ir(r)&&iy(r.rule.ref)){let n=e.consume++,i=v$(e,r.rule.ref.name);return()=>e.parser.consume(n,i,t)}else if(nU(r)){let n=e.consume++,i=v$(e,r.value);return()=>e.parser.consume(n,i,t)}else throw Error("Could not build cross reference parser");{if(!t.type.ref)throw Error("Could not resolve reference to type: "+t.type.$refText);let r=aM(t.type.ref),n=r?.terminal;if(!n)throw Error("Could not find name assignment for type: "+aH(t.type.ref));return vh(e,t,n)}}function vy(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}function vg(e,t,r,n){let i=t&&vc(t);if(!n)if(!i)return r;else{let t=e.or++;return n=>e.parser.alternatives(t,[{ALT:tD(()=>r(n),"ALT"),GATE:tD(()=>i(n),"GATE")},{ALT:mP(),GATE:tD(()=>!i(n),"GATE")}])}if("*"===n){let t=e.many++;return n=>e.parser.many(t,{DEF:tD(()=>r(n),"DEF"),GATE:i?()=>i(n):void 0})}if("+"===n){let t=e.many++;if(!i)return n=>e.parser.atLeastOne(t,{DEF:tD(()=>r(n),"DEF")});{let n=e.or++;return a=>e.parser.alternatives(n,[{ALT:tD(()=>e.parser.atLeastOne(t,{DEF:tD(()=>r(a),"DEF")}),"ALT"),GATE:tD(()=>i(a),"GATE")},{ALT:mP(),GATE:tD(()=>!i(a),"GATE")}])}}if("?"===n){let t=e.optional++;return n=>e.parser.optional(t,{DEF:tD(()=>r(n),"DEF"),GATE:i?()=>i(n):void 0})}i5(n)}function vT(e,t){let r=vv(e,t),n=e.parser.getRule(r);if(!n)throw Error(`Rule "${r}" not found."`);return n}function vv(e,t){if(r7(t))return t.name;{if(e.ruleNames.has(t))return e.ruleNames.get(t);let r=t,n=r.$container,i=t.$type;for(;!n4(n);)(n_(n)||ns(n)||ix(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,e.ruleNames.set(t,i),i}}function v$(e,t){let r=e.tokens[t];if(!r)throw Error(`Token "${t}" not found."`);return r}function vR(e){let t=e.Grammar,r=e.parser.Lexer,n=new T8(e);return vn(t,n,r.definition),n.finalize(),n}function vE(e){let t=vb(e);return t.finalize(),t}function vb(e){let t=e.Grammar,r=e.parser.Lexer;return vn(t,new T5(e),r.definition)}tD(vn,"createParser"),tD(vi,"buildRules"),tD(va,"buildInfixRule"),tD(vs,"buildElement"),tD(vo,"buildAction"),tD(vl,"buildRuleCall"),tD(vu,"buildRuleCallPredicate"),tD(vc,"buildPredicate"),tD(vp,"buildAlternatives"),tD(vf,"buildUnorderedGroup"),tD(vd,"buildGroup"),tD(vm,"getGuardCondition"),tD(vh,"buildCrossReference"),tD(vy,"buildKeyword"),tD(vg,"wrap"),tD(vT,"getRule"),tD(vv,"getRuleName"),tD(v$,"getToken"),tD(vR,"createCompletionParser"),tD(vE,"createLangiumParser"),tD(vb,"prepareLangiumParser");var vA=class{static{tD(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,t){let r=rG(aC(e,!1)),n=this.buildTerminalTokens(r),i=this.buildKeywordTokens(r,n,t);return i.push(...n),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(iy).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=aX(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return"function"==typeof r&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=av(t)?fG.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let t=RegExp(e,e.flags+"y");return(e,r)=>(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(r7).flatMap(e=>rQ(e).filter(nU)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){let n=this.buildKeywordPattern(e,r),i={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return"function"==typeof n&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){return t?RegExp(a$(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{let n=r?.PATTERN;return n?.source&&aR("^"+n.source+"$",e.value)&&t.push(r),t},[])}},vC=class{static{tD(this,"DefaultValueConverter")}convert(e,t){let r=t.grammarSource;if(nE(r)&&(r=ax(r)),ir(r)){let n=r.rule.ref;if(!n)throw Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return eJ.convertInt(t);case"STRING":return eJ.convertString(t);case"ID":return eJ.convertID(t)}switch(aZ(e)?.toLowerCase()){case"number":return eJ.convertNumber(t);case"boolean":return eJ.convertBoolean(t);case"bigint":return eJ.convertBigint(t);case"date":return eJ.convertDate(t);default:return t}}};!function(e){function t(e){let t="";for(let n=1;n<e.length-1;n++){let i=e.charAt(n);"\\"===i?t+=r(e.charAt(++n)):t+=i}return t}function r(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return e}}function n(e){return"^"===e.charAt(0)?e.substring(1):e}function i(e){return parseInt(e)}function a(e){return BigInt(e)}function s(e){return new Date(e)}function o(e){return Number(e)}function l(e){return"true"===e.toLowerCase()}tD(t,"convertString"),e.convertString=t,tD(r,"convertEscapeCharacter"),tD(n,"convertID"),e.convertID=n,tD(i,"convertInt"),e.convertInt=i,tD(a,"convertBigint"),e.convertBigint=a,tD(s,"convertDate"),e.convertDate=s,tD(o,"convertNumber"),e.convertNumber=o,tD(l,"convertBoolean"),e.convertBoolean=l}(eJ||(eJ={}));var vS={};function vk(){return new Promise(e=>{"u"<typeof setImmediate?setTimeout(e,0):setImmediate(e)})}tF(vS,tG(tV(),1)),tD(vk,"delayNextTick");var vx=0,vN=10;function vw(){return vx=performance.now(),new vS.CancellationTokenSource}function vI(e){vN=e}tD(vw,"startCancelableOperation"),tD(vI,"setInterruptionPeriod");var v_=Symbol("OperationCancelled");function vP(e){return e===v_}async function vO(e){if(e===vS.CancellationToken.None)return;let t=performance.now();if(t-vx>=vN&&(vx=t,await vk(),vx=performance.now()),e.isCancellationRequested)throw v_}tD(vP,"isOperationCancelled"),tD(vO,"interruptAndCheck");var vD=class{static{tD(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}},vL=class e{static{tD(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(t,r){for(let r of t)if(e.isIncremental(r)){let e=vG(r.range),t=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,t)+r.text+this._content.substring(n,this._content.length);let i=Math.max(e.start.line,0),a=Math.max(e.end.line,0),s=this._lineOffsets,o=vj(r.text,!1,t);if(a-i===o.length)for(let e=0,t=o.length;e<t;e++)s[e+i+1]=o[e];else o.length<1e4?s.splice(i+1,a-i,...o):this._lineOffsets=s=s.slice(0,i+1).concat(o,s.slice(a+1));let l=r.text.length-(n-t);if(0!==l)for(let e=i+1+o.length,t=s.length;e<t;e++)s[e]=s[e]+l}else if(e.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw Error("Unknown change event received");this._version=r}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=vj(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return{line:0,character:e};for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line];if(e.character<=0)return r;let n=e.line+1<t.length?t[e.line+1]:this._content.length,i=Math.min(r+e.character,n);return this.ensureBeforeEOL(i,r)}ensureBeforeEOL(e,t){for(;e>t&&vF(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}};function vM(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),i=e.slice(r);vM(n,t),vM(i,t);let a=0,s=0,o=0;for(;a<n.length&&s<i.length;)0>=t(n[a],i[s])?e[o++]=n[a++]:e[o++]=i[s++];for(;a<n.length;)e[o++]=n[a++];for(;s<i.length;)e[o++]=i[s++];return e}function vj(e,t,r=0){let n=t?[r]:[];for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);vF(i)&&(13===i&&t+1<e.length&&10===e.charCodeAt(t+1)&&t++,n.push(r+t+1))}return n}function vF(e){return 13===e||10===e}function vG(e){let t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function vz(e){let t=vG(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){function t(e,t,r,n){return new vL(e,t,r,n)}function r(e,t,r){if(e instanceof vL)return e.update(t,r),e;throw Error("TextDocument.update: document must be created by TextDocument.create")}function n(e,t){let r=e.getText(),n=vM(t.map(vz),(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=0,a=[];for(let t of n){let n=e.offsetAt(t.range.start);if(n<i)throw Error("Overlapping edit");n>i&&a.push(r.substring(i,n)),t.newText.length&&a.push(t.newText),i=e.offsetAt(t.range.end)}return a.push(r.substr(i)),a.join("")}tD(t,"create"),e.create=t,tD(r,"update"),e.update=r,tD(n,"applyEdits"),e.applyEdits=n}(e0||(e0={})),tD(vM,"mergeSort"),tD(vj,"computeLineOffsets"),tD(vF,"isEOL"),tD(vG,"getWellformedRange"),tD(vz,"getWellformedEdit"),(()=>{let e;var t,r,n={975:e=>{function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",i=0,a=-1,s=0,o=0;o<=e.length;++o){if(o<e.length)r=e.charCodeAt(o);else{if(47===r)break;r=47}if(47===r){if(a===o-1||1===s);else if(a!==o-1&&2===s){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2)){if(n.length>2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=o,s=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=o,s=0;continue}}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),i=o-a-1;a=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}tD(t,"e"),tD(r,"r");var n={resolve:tD(function(){for(var e,n,i="",a=!1,s=arguments.length-1;s>=-1&&!a;s--)s>=0?e=arguments[s]:(void 0===n&&(n=process.cwd()),e=n),t(e),0!==e.length&&(i=e+"/"+i,a=47===e.charCodeAt(0));return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},"resolve"),normalize:tD(function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&i&&(e+="/"),n?"/"+e:e},"normalize"),isAbsolute:tD(function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},"isAbsolute"),join:tD(function(){if(0==arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var i=arguments[r];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":n.normalize(e)},"join"),relative:tD(function(e,r){if(t(e),t(r),e===r||(e=n.resolve(e))===(r=n.resolve(r)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var a=e.length,s=a-i,o=1;o<r.length&&47===r.charCodeAt(o);++o);for(var l=r.length-o,u=s<l?s:l,c=-1,p=0;p<=u;++p){if(p===u){if(l>u){if(47===r.charCodeAt(o+p))return r.slice(o+p+1);if(0===p)return r.slice(o+p)}else s>u&&(47===e.charCodeAt(i+p)?c=p:0===p&&(c=0));break}var f=e.charCodeAt(i+p);if(f!==r.charCodeAt(o+p))break;47===f&&(c=p)}var d="";for(p=i+c+1;p<=a;++p)p!==a&&47!==e.charCodeAt(p)||(0===d.length?d+="..":d+="/..");return d.length>0?d+r.slice(o+c):(o+=c,47===r.charCodeAt(o)&&++o,r.slice(o))},"relative"),_makeLong:tD(function(e){return e},"_makeLong"),dirname:tD(function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,i=-1,a=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!a){i=s;break}}else a=!1;return -1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},"dirname"),basename:tD(function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var n,i=0,a=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var o=r.length-1,l=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(47===u){if(!s){i=n+1;break}}else -1===l&&(s=!1,l=n+1),o>=0&&(u===r.charCodeAt(o)?-1==--o&&(a=n):(o=-1,a=l))}return i===a?a=l:-1===a&&(a=e.length),e.slice(i,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){i=n+1;break}}else -1===a&&(s=!1,a=n+1);return -1===a?"":e.slice(i,a)},"basename"),extname:tD(function(e){t(e);for(var r=-1,n=0,i=-1,a=!0,s=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(47!==l)-1===i&&(a=!1,i=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!a){n=o+1;break}}return -1===r||-1===i||0===s||1===s&&r===i-1&&r===n+1?"":e.slice(r,i)},"extname"),format:tD(function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},"format"),parse:tD(function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,i=e.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var s=-1,o=0,l=-1,u=!0,c=e.length-1,p=0;c>=n;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===s?s=c:1!==p&&(p=1):-1!==s&&(p=-1);else if(!u){o=c+1;break}return -1===s||-1===l||0===p||1===p&&s===l-1&&s===o+1?-1!==l&&(r.base=r.name=0===o&&a?e.slice(1,l):e.slice(o,l)):(0===o&&a?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),o>0?r.dir=e.slice(0,o-1):a&&(r.dir="/"),r},"parse"),sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,a),r.exports}tD(a,"r"),a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(a.r(s),a.d(s,{URI:tD(()=>f,"URI"),Utils:tD(()=>r,"Utils")}),"object"==typeof process)?e="win32"===process.platform:"object"==typeof navigator&&(e=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//;function c(e,t){if(!e.scheme&&t)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!o.test(e.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!l.test(e.path))throw Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}tD(c,"a");let p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static{tD(this,"l")}static isUri(e){return e instanceof f||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,i,a=!1){"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||a?e:"file",this.authority=t||"",this.path=function(e,t){switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t}(this.scheme,r||""),this.query=n||"",this.fragment=i||"",c(this,a))}get fsPath(){return T(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:i,fragment:a}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===i?i=this.query:null===i&&(i=""),void 0===a?a=this.fragment:null===a&&(a=""),t===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&a===this.fragment?this:new m(t,r,n,i,a)}static parse(e,t=!1){let r=p.exec(e);return r?new m(r[2]||"",E(r[4]||""),E(r[5]||""),E(r[7]||""),E(r[9]||""),t):new m("","","","","")}static file(t){let r="";if(e&&(t=t.replace(/\\/g,"/")),"/"===t[0]&&"/"===t[1]){let e=t.indexOf("/",2);-1===e?(r=t.substring(2),t="/"):(r=t.substring(2,e),t=t.substring(e)||"/")}return new m("file",r,t,"","")}static from(e){let t=new m(e.scheme,e.authority,e.path,e.query,e.fragment);return c(t,!0),t}toString(e=!1){return v(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof f)return e;{let t=new m(e);return t._formatted=e.external,t._fsPath=e._sep===d?e.fsPath:null,t}}return e}}let d=e?1:void 0;class m extends f{static{tD(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=T(this,!1)),this._fsPath}toString(e=!1){return e?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}let h={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function y(e,t,r){let n,i=-1;for(let a=0;a<e.length;a++){let s=e.charCodeAt(a);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s||r&&91===s||r&&93===s||r&&58===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),void 0!==n&&(n+=e.charAt(a));else{void 0===n&&(n=e.substr(0,a));let t=h[s];void 0!==t?(-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),n+=t):-1===i&&(i=a)}}return -1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function g(e){let t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);35===n||63===n?(void 0===t&&(t=e.substr(0,r)),t+=h[n]):void 0!==t&&(t+=e[r])}return void 0!==t?t:e}function T(t,r){let n;return n=t.authority&&t.path.length>1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&90>=t.path.charCodeAt(1)||t.path.charCodeAt(1)>=97&&122>=t.path.charCodeAt(1))&&58===t.path.charCodeAt(2)?r?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(n=n.replace(/\//g,"\\")),n}function v(e,t){let r=t?g:y,n="",{scheme:i,authority:a,path:s,query:o,fragment:l}=e;if(i&&(n+=i,n+=":"),(a||"file"===i)&&(n+="/",n+="/"),a){let e=a.indexOf("@");if(-1!==e){let t=a.substr(0,e);a=a.substr(e+1),-1===(e=t.lastIndexOf(":"))?n+=r(t,!1,!1):(n+=r(t.substr(0,e),!1,!1),n+=":",n+=r(t.substr(e+1),!1,!0)),n+="@"}-1===(e=(a=a.toLowerCase()).lastIndexOf(":"))?n+=r(a,!1,!0):(n+=r(a.substr(0,e),!1,!0),n+=a.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){let e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){let e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}n+=r(s,!0,!1)}return o&&(n+="?",n+=r(o,!1,!1)),l&&(n+="#",n+=t?l:y(l,!1,!1)),n}function $(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+$(e.substr(3)):e}}tD(y,"m"),tD(g,"y"),tD(T,"v"),tD(v,"b"),tD($,"C");let R=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E(e){return e.match(R)?e.replace(R,e=>$(e)):e}tD(E,"w");var b=a(975);let A=b.posix||b;(t=r||(r={})).joinPath=function(e,...t){return e.with({path:A.join(e.path,...t)})},t.resolvePath=function(e,...t){let r=e.path,n=!1;"/"!==r[0]&&(r="/"+r,n=!0);let i=A.resolve(r,...t);return n&&"/"===i[0]&&!e.authority&&(i=i.substring(1)),e.with({path:i})},t.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=A.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},t.basename=function(e){return A.basename(e.path)},t.extname=function(e){return A.extname(e.path)},e1=s})();var{URI:vK,Utils:vq}=e1;!function(e){e.basename=vq.basename,e.dirname=vq.dirname,e.extname=vq.extname,e.joinPath=vq.joinPath,e.resolvePath=vq.resolvePath;let t="object"==typeof process&&process?.platform==="win32";function r(e,t){return e?.toString()===t?.toString()}function n(e,r){let n="string"==typeof e?vK.parse(e).path:e.path,i="string"==typeof r?vK.parse(r).path:r.path,a=n.split("/").filter(e=>e.length>0),s=i.split("/").filter(e=>e.length>0);if(t){let e=/^[A-Z]:$/;if(a[0]&&e.test(a[0])&&(a[0]=a[0].toLowerCase()),s[0]&&e.test(s[0])&&(s[0]=s[0].toLowerCase()),a[0]!==s[0])return i.substring(1)}let o=0;for(;o<a.length&&a[o]===s[o];o++);return"../".repeat(a.length-o)+s.slice(o).join("/")}function i(e){return vK.parse(e.toString()).toString()}function a(e,t){let r="string"==typeof e?e:e.path,n="string"==typeof t?t:t.path;return"/"===n.charAt(n.length-1)&&(n=n.slice(0,-1)),"/"===r.charAt(r.length-1)&&(r=r.slice(0,-1)),n===r||!(n.length<r.length)&&"/"===n.charAt(r.length)&&n.startsWith(r)}tD(r,"equals"),e.equals=r,tD(n,"relative"),e.relative=n,tD(i,"normalize"),e.normalize=i,tD(a,"contains"),e.contains=a}(e2||(e2={}));var vU=class{static{tD(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return e2.normalize(e)}clear(){this.root.children.clear()}insert(e,t){this.getNode(this.normalizeUri(e),!0).element=t}delete(e){let t=this.getNode(this.normalizeUri(e),!1);t?.parent&&t.parent.children.delete(t.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return void 0!==this.getNode(this.normalizeUri(e),!1)}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);if(r)return{name:r.name,uri:e2.joinPath(vK.parse(t),r.name).toString(),element:r.element}}findChildren(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);return r?Array.from(r.children.values()).map(e=>({name:e.name,uri:e2.joinPath(vK.parse(t),e.name).toString(),element:e.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let t=this.getNode(e2.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){let r=e.split("/");"/"===e.charAt(e.length-1)&&r.pop();let n=this.root;for(let e of r){let r=n.children.get(e);if(!r)if(!t)return;else r={name:e,children:new Map,parent:n},n.children.set(e,r);n=r}return n}collectValues(e){let t=[];for(let r of(e.element&&t.push(e.element),e.children.values()))t.push(...this.collectValues(r));return t}};(f=e3||(e3={}))[f.Changed=0]="Changed",f[f.Parsed=1]="Parsed",f[f.IndexedContent=2]="IndexedContent",f[f.ComputedScopes=3]="ComputedScopes",f[f.Linked=4]="Linked",f[f.IndexedReferences=5]="IndexedReferences",f[f.Validated=6]="Validated";var vB=class{static{tD(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=vS.CancellationToken.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return(t=t??vK.parse(e.uri),vS.CancellationToken.is(r))?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return vS.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if("string"==typeof t){let n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}if("$model"in t){let r={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,e)}{let n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if("string"==typeof t){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let i;if(r)i={parseResult:e,uri:t,state:e3.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(t,n);i={parseResult:e,uri:t,state:e3.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=i,i}async update(e,t){let r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),i=n?n.getText():await this.fileSystemProvider.readFile(e.uri);if(n)Object.defineProperty(e,"textDocument",{value:n});else{let t=this.createTextDocumentGetter(e.uri,i);Object.defineProperty(e,"textDocument",{get:t})}return r!==i&&(e.parseResult=await this.parseAsync(e.uri,i,t),e.parseResult.value.$document=e),e.state=e3.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r,n=this.serviceRegistry;return()=>r??(r=e0.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??""))}},vW=class{static{tD(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new vU,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return rG(this.documentTrie.all())}addDocument(e){let t=e.uri.toString();if(this.documentTrie.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){let t=e.toString();return this.documentTrie.find(t)}getDocuments(e){let t=e.toString();return this.documentTrie.findAll(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r)),r}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(e=>(this.addDocument(e),e));{let r=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(r),r}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&this.documentBuilder().resetToState(r,e3.Changed),r}deleteDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&(r.state=e3.Changed,this.documentTrie.delete(t)),r}deleteDocuments(e){let t=e.toString(),r=this.documentTrie.findAll(t);for(let e of r)e.state=e3.Changed;return this.documentTrie.delete(t),r}},vV=Symbol("RefResolving"),vH=class{static{tD(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,t=vS.CancellationToken.None){if(this.profiler?.isActive("linking")){let r=this.profiler.createTask("linking",this.languageId);r.start();try{for(let n of rZ(e.parseResult.value))await vO(t),rJ(n).forEach(t=>{let i=`${n.$type}:${t.property}`;r.startSubTask(i);try{this.doLink(t,e)}finally{r.stopSubTask(i)}})}finally{r.stop()}}else for(let r of rZ(e.parseResult.value))await vO(t),rJ(r).forEach(t=>this.doLink(t,e))}doLink(e,t){let r=e.reference;if("_ref"in r&&void 0===r._ref){r._ref=vV;try{let t=this.getCandidate(e);rw(t)?r._ref=t:(r._nodeDescription=t,r._ref=this.loadAstNode(t)??this.createLinkingError(e,t))}catch(n){console.error(`An error occurred while resolving reference to '${r.$refText}':`,n);let t=n.message??String(n);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`}}t.references.push(r)}else if("_items"in r&&void 0===r._items){r._items=vV;try{let t=this.getCandidates(e),n=[];if(rw(t))r._linkingError=t;else for(let e of t){let t=this.loadAstNode(e);t&&n.push({ref:t,$nodeDescription:e})}r._items=n}catch(t){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`},r._items=[]}t.references.push(r)}}unlink(e){for(let t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let t=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(e=>`${e.documentUri}#${e.path}`).toArray();return t.length>0?t:this.createLinkingError(e)}buildReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,_ref:void 0,get ref(){if(rS(this._ref))return this._ref;if(rN(this._nodeDescription)){let r=i.loadAstNode(this._nodeDescription);this._ref=r??i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=vV;let r=rV(e).$document,n=i.getLinkedNode({reference:a,container:e,property:t});if(n.error&&r&&r.state<e3.ComputedScopes)return this._ref=void 0;this._ref=n.node??n.error,this._nodeDescription=n.descr,r?.references.push(this)}else this._ref===vV&&i.throwCyclicReferenceError(e,t,n);return rS(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return rw(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(void 0===this._items){this._items=vV;let r=rV(e).$document,n=i.getCandidates({reference:a,container:e,property:t}),s=[];if(rw(n))this._linkingError=n;else for(let e of n){let t=i.loadAstNode(e);t&&s.push({ref:t,$nodeDescription:e})}this._items=s,r?.references.push(this)}else this._items===vV&&i.throwCyclicReferenceError(e,t,n);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(this.items.length>0)return;return this._linkingError=i.createLinkingError({reference:a,container:e,property:t})}};return a}throwCyclicReferenceError(e,t,r){throw Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{let t=this.getCandidate(e);if(rw(t))return{error:t};let r=this.loadAstNode(t);if(r)return{node:r,descr:t};return{descr:t,error:this.createLinkingError(e,t)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let t=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${t}`}}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let r=rV(e.container).$document;r&&r.state<e3.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);let n=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${n} named '${e.reference.$refText}'.`,targetDescription:t}}};function vY(e){return"string"==typeof e.name}tD(vY,"isNamed");var vQ=class{static{tD(this,"DefaultNameProvider")}getName(e){if(vY(e))return e.name}getNameNode(e){return aI(e.$cstNode,"name")}},vZ=class{static{tD(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=rZ(e.Grammar).some(e=>nE(e)&&e.isMulti)}findDeclarations(e){if(e){let t=aL(e),r=e.astNode;if(t&&r){let n=r[t.feature];if(rk(n)||rx(n))return rH(n);if(Array.isArray(n)){for(let t of n)if((rk(t)||rx(t))&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return rH(t)}}if(r){let t=this.nameProvider.getNameNode(r);if(t&&(t===e||iG(e,t)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(!this.hasMultiReference)return[e];{let t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(t.head());if(r){for(let t of rJ(r))if(rx(t.reference)&&t.reference.items.some(t=>t.ref===e))return t.reference.items.map(e=>e.ref)}return[e]}}getNodeFromReferenceDescription(e){if(!e)return;let t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let t=this.findDeclarations(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e)??e.$cstNode;t&&r.push(t)}return r}findReferences(e,t){let r=[];t.includeDeclaration&&r.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(e=>e2.equals(e.sourceUri,t.documentUri))),r.push(...n),rG(r)}getSelfReferences(e){let t=this.getSelfNodes(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e);if(t){let n=rW(e),i=this.nodeLocator.getAstNodePath(e);r.push({sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:iK(t),local:!0})}}return r}},vX=class{static{tD(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return eV.sum(rG(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return 1===r.length?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let t=this.map.get(e);return t?rG(t):rj}has(e,t){if(void 0===t)return this.map.has(e);{let r=this.map.get(e);return!!r&&r.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(t=>e(t,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return rG(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return rG(this.map.keys())}values(){return rG(this.map.values()).flat()}entriesGroupedByKey(){return rG(this.map.entries())}},vJ=class{static{tD(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}},v0=class{static{tD(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=vS.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=rY,n=vS.CancellationToken.None){let i=[];for(let a of(this.addExportedSymbol(e,i,t),r(e)))await vO(n),this.addExportedSymbol(a,i,t);return i}addExportedSymbol(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=vS.CancellationToken.None){let r=e.parseResult.value,n=new vX;for(let i of rQ(r))await vO(t),this.addLocalSymbol(i,e,n);return n}addLocalSymbol(e,t,r){let n=e.$container;if(n){let i=this.nameProvider.getName(e);i&&r.add(n,this.descriptions.createDescription(e,i,t))}}},v1=class{static{tD(this,"StreamScope")}constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(e=>e.name.toLowerCase()===t):this.elements.find(t=>t.name===e);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(e=>e.name.toLowerCase()===t):this.elements.filter(t=>t.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}},v2=class{static{tD(this,"MapScope")}constructor(e,t,r){for(let t of(this.elements=new Map,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t),n=r?[r]:[];return(this.concatOuterScope||n.length>0)&&this.outerScope?rG(n).concat(this.outerScope.getElements(e)):rG(n)}getAllElements(){let e=rG(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},v3=class{static{tD(this,"MultiMapScope")}constructor(e,t,r){for(let t of(this.elements=new vX,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.add(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t)[0];return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return(this.concatOuterScope||0===r.length)&&this.outerScope?rG(r).concat(this.outerScope.getElements(e)):rG(r)}getAllElements(){let e=rG(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},v4={getElement(){},getElements:()=>rj,getAllElements:()=>rj},v9=class{static{tD(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error("This cache has already been disposed")}},v5=class extends v9{static{tD(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},v6=class extends v9{static{tD(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(e=>e)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let e=r();return n.set(t,e),e}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}},v7=class extends v6{static{tD(this,"DocumentCache")}constructor(e,t){super(e=>e.toString()),t?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(t,e=>{this.clear(e.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(let e of t)this.clear(e)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(let r of e.concat(t))this.clear(r)}))}},v8=class extends v5{static{tD(this,"WorkspaceCache")}constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},$e=class{static{tD(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new v8(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=rW(e.container).localSymbols;if(n){let i=e.container;do n.has(i)&&t.push(n.getStream(i).filter(e=>this.reflection.isSubtype(e.type,r))),i=i.$container;while(i)}let i=this.getGlobalScope(r,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,r){return new v1(rG(e),t,r)}createScopeForNodes(e,t,r){return new v1(rG(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new v3(this.indexManager.allElements(e)))}};function $t(e){return"string"==typeof e.$comment}function $r(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}tD($t,"isAstNodeWithComment"),tD($r,"isIntermediateReference");var $n=class{static{tD(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){let r=t??{},n=t?.replacer,i=tD((e,t)=>this.replacer(e,t,r),"defaultReplacer"),a=n?(e,t)=>n(e,t,i):i;try{return this.currentDocument=rW(e),JSON.stringify(e,a,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=JSON.parse(e);return this.linkNode(r,r,t??{}),r}replacer(e,t,{refText:r,sourceText:n,textRegions:i,comments:a,uriConverter:s}){if(!this.ignoreProperties.has(e)){if(rk(t)){let e=t.ref,n=r?t.$refText:void 0;if(!e)return{$error:t.error?.message??"Could not resolve reference",$refText:n};{let t=rW(e),r="";this.currentDocument&&this.currentDocument!==t&&(r=s?s(t.uri,e):t.uri.toString());let i=this.astNodeLocator.getAstNodePath(e);return{$ref:`${r}#${i}`,$refText:n}}}if(rx(t)){let e=r?t.$refText:void 0,n=[];for(let e of t.items){let t=e.ref,r=rW(e.ref),i="";this.currentDocument&&this.currentDocument!==r&&(i=s?s(r.uri,t):r.uri.toString());let a=this.astNodeLocator.getAstNodePath(t);n.push(`${i}#${a}`)}return{$refs:n,$refText:e}}{let r;if(!rS(t))return t;if(i&&(r=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&r?.$textRegion&&(r.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&(r??(r={...t}),r.$sourceText=t.$cstNode?.text),a){r??(r={...t});let e=this.commentProvider.getComment(t);e&&(r.$comment=e.replace(/\r/g,""))}return r??t}}}addAstNodeRegionWithAssignmentsTo(e){let t=tD(e=>({offset:e.offset,end:e.end,length:e.length,range:e.range}),"createDocumentSegment");if(e.$cstNode){let r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{let i=aw(e.$cstNode,n).map(t);0!==i.length&&(r[n]=i)}),e}}linkNode(e,t,r,n,i,a){for(let[n,i]of Object.entries(e))if(Array.isArray(i))for(let a=0;a<i.length;a++){let s=i[a];$r(s)?i[a]=this.reviveReference(e,n,t,s,r):rS(s)&&this.linkNode(s,t,r,e,n,a)}else $r(i)?e[n]=this.reviveReference(e,n,t,i,r):rS(i)&&this.linkNode(i,t,r,e,n);e.$container=n,e.$containerProperty=i,e.$containerIndex=a}reviveReference(e,t,r,n,i){let a,s=n.$refText,o=n.$error;if(n.$ref){let e=this.getRefNode(r,n.$ref,i.uriConverter);if(rS(e))return s||(s=this.nameProvider.getName(e)),{$refText:s??"",ref:e};o=e}else if(n.$refs){let e=[];for(let t of n.$refs){let n=this.getRefNode(r,t,i.uriConverter);rS(n)&&e.push({ref:n})}if(0!==e.length)return{$refText:s??"",items:e};a={$refText:s??"",items:e},o??(o="Could not resolve multi-reference")}return o?(a??(a={$refText:s??"",ref:void 0}),a.error={info:{container:e,property:t,reference:a},message:o},a):void 0}getRefNode(e,t,r){try{let n=t.indexOf("#");if(0===n){let r=this.astNodeLocator.getAstNode(e,t.substring(1));if(!r)return"Could not resolve path: "+t;return r}if(n<0){let e=r?r(t):vK.parse(t),n=this.langiumDocuments.getDocument(e);if(!n)return"Could not find document for URI: "+t;return n.parseResult.value}let i=r?r(t.substring(0,n)):vK.parse(t.substring(0,n)),a=this.langiumDocuments.getDocument(i);if(!a)return"Could not find document for URI: "+t;if(n===t.length-1)return a.parseResult.value;let s=this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(n+1));if(!s)return"Could not resolve URI: "+t;return s}catch(e){return String(e)}}},$i=class{static{tD(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let t=e.LanguageMetaData;for(let r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);if(t.fileNames)for(let r of t.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(t.languageId,e)}getServices(e){if(0===this.languageIdMap.size)throw Error("The service registry is empty. Use `register` to register the services of a language.");let t=this.textDocuments?.get(e)?.languageId;if(void 0!==t){let e=this.languageIdMap.get(t);if(e)return e}let r=e2.extname(e),n=e2.basename(e),i=this.fileNameMap.get(n)??this.fileExtensionMap.get(r);if(!i)if(t)throw Error(`The service registry contains no services for the extension '${r}' for language '${t}'.`);else throw Error(`The service registry contains no services for the extension '${r}'.`);return i}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function $a(e){return{code:e}}tD($a,"diagnosticData"),(d=e4||(e4={})).defaults=["fast","slow","built-in"],d.all=d.defaults;var $s=class{static{tD(this,"ValidationRegistry")}constructor(e){this.entries=new vX,this.knownCategories=new Set(e4.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if("built-in"===r)throw Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[n,i]of(this.knownCategories.add(r),Object.entries(e)))if(Array.isArray(i))for(let e of i){let i={check:this.wrapValidationException(e,t),category:r};this.addEntry(n,i)}else if("function"==typeof i){let e={check:this.wrapValidationException(i,t),category:r};this.addEntry(n,e)}else i5(i)}wrapValidationException(e,t){return async(r,n,i)=>{await this.handleException(()=>e.call(t,r,n,i),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(i){if(vP(i))throw i;console.error(`${t}:`,i),i instanceof Error&&i.stack&&console.error(i.stack);let e=i instanceof Error?i.message:String(i);r("error",`${t}: ${e}`,{node:n})}}addEntry(e,t){if("AstNode"===e)return void this.entries.add("AstNode",t);for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=rG(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(e=>t.includes(e.category))),r.map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,i,a,s)=>{await this.handleException(()=>e.call(r,n,i,a,s),t,i,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},$o=Object.freeze({validateNode:!0,validateChildren:!0}),$l=class{static{tD(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,t={},r=vS.CancellationToken.None){let n=e.parseResult,i=[];if((await vO(r),!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,i,t),t.stopAfterLexingErrors&&i.some(e=>e.data?.code===e9.LexingError)||(this.processParsingErrors(n,i,t),t.stopAfterParsingErrors&&i.some(e=>e.data?.code===e9.ParsingError))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>e.data?.code===e9.LinkingError))))return i;try{i.push(...await this.validateAst(n.value,t,r))}catch(e){if(vP(e))throw e;console.error("An error occurred during validation:",e)}return await vO(r),i}processLexingErrors(e,t,r){for(let r of[...e.lexerErrors,...e.lexerReport?.diagnostics??[]]){let e=r.severity??"error",n={severity:$c(e),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:$p(e),source:this.getSource()};t.push(n)}}processParsingErrors(e,t,r){for(let r of e.parserErrors){let e;if(isNaN(r.token.startOffset)){if("previousToken"in r){let t=r.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let r={line:t.endLine-1,character:t.endColumn};e={start:r,end:r}}}}else e=iz(r.token);if(e){let n={severity:$c("error"),range:e,message:r.message,data:$a(e9.ParsingError),source:this.getSource()};t.push(n)}}}processLinkingErrors(e,t,r){for(let r of e.references){let e=r.error;if(e){let n={node:e.info.container,range:r.$refNode?.range,property:e.info.property,index:e.info.index,data:{code:e9.LinkingError,containerType:e.info.container.$type,property:e.info.property,refText:e.info.reference.$refText}};t.push(this.toDiagnostic("error",e.message,n))}}}async validateAst(e,t,r=vS.CancellationToken.None){let n=[],i=tD((e,t,r)=>{n.push(this.toDiagnostic(e,t,r))},"acceptor");return await this.validateAstBefore(e,t,i,r),await this.validateAstNodes(e,t,i,r),await this.validateAstAfter(e,t,i,r),n}async validateAstBefore(e,t,r,n=vS.CancellationToken.None){for(let i of this.validationRegistry.checksBefore)await vO(n),await i(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=vS.CancellationToken.None){if(this.profiler?.isActive("validating")){let i=this.profiler.createTask("validating",this.languageId);i.start();try{let a=rZ(e).iterator();for(let e of a){i.startSubTask(e.$type);let s=this.validateSingleNodeOptions(e,t);if(s.validateNode)try{for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n)}finally{i.stopSubTask(e.$type)}s.validateChildren||a.prune()}}finally{i.stop()}}else{let i=rZ(e).iterator();for(let e of i){await vO(n);let a=this.validateSingleNodeOptions(e,t);if(a.validateNode)for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n);a.validateChildren||i.prune()}}}validateSingleNodeOptions(e,t){return $o}async validateAstAfter(e,t,r,n=vS.CancellationToken.None){for(let i of this.validationRegistry.checksAfter)await vO(n),await i(e,r,t.categories??[],n)}toDiagnostic(e,t,r){return{message:t,range:$u(r),severity:$c(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function $u(e){let t;return e.range?e.range:("string"==typeof e.property?t=aI(e.node.$cstNode,e.property,e.index):"string"==typeof e.keyword&&(t=aO(e.node.$cstNode,e.keyword,e.index)),t??(t=e.node.$cstNode),t)?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function $c(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+e)}}function $p(e){switch(e){case"error":return $a(e9.LexingError);case"warning":return $a(e9.LexingWarning);case"info":return $a(e9.LexingInfo);case"hint":return $a(e9.LexingHint);default:throw Error("Invalid diagnostic severity: "+e)}}tD($u,"getDiagnosticRange"),tD($c,"toDiagnosticSeverity"),tD($p,"toDiagnosticData"),(m=e9||(e9={})).LexingError="lexing-error",m.LexingWarning="lexing-warning",m.LexingInfo="lexing-info",m.LexingHint="lexing-hint",m.ParsingError="parsing-error",m.LinkingError="linking-error";var $f=class{static{tD(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let n,i=r??rW(e);t??(t=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${a} has no name.`);let s=tD(()=>n??(n=iK(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return s()},selectionSegment:iK(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},$d=class{static{tD(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=vS.CancellationToken.None){let r=[];for(let n of rZ(e.parseResult.value))await vO(t),rJ(n).forEach(e=>{e.reference.error||r.push(...this.createInfoDescriptions(e))});return r}createInfoDescriptions(e){let t=e.reference;if(t.error||!t.$refNode)return[];let r=[];rk(t)&&t.$nodeDescription?r=[t.$nodeDescription]:rx(t)&&(r=t.items.map(e=>e.$nodeDescription).filter(e=>void 0!==e));let n=rW(e.container).uri,i=this.nodeLocator.getAstNodePath(e.container),a=[],s=iK(t.$refNode);for(let e of r)a.push({sourceUri:n,sourcePath:i,targetUri:e.documentUri,targetPath:e.path,segment:s,local:e2.equals(e.documentUri,n)});return a}},$m=class{static{tD(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||0===t.length)return e;let r=t.indexOf(this.indexSeparator);if(r>0){let n=t.substring(0,r),i=parseInt(t.substring(r+1)),a=e[n];return a?.[i]}return e[t]},e)}},$h={};tF($h,tG(tW(),1));var $y=class{static{tD(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new vD,this.onConfigurationSectionUpdateEmitter=new $h.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,r[t])})}}this._ready.resolve()}updateConfiguration(e){"object"==typeof e.settings&&null!==e.settings&&Object.entries(e.settings).forEach(([e,t])=>{this.updateSectionConfiguration(e,t),this.onConfigurationSectionUpdateEmitter.fire({section:e,configuration:t})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},$g=tG(rb(),1),$T=e5||(e5={});function $v(e){return{dispose:tD(async()=>await e(),"dispose")}}tD($v,"create"),$T.create=$v;var $$=class{static{tD(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new vX,this.documentPhaseListeners=new vX,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=e3.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=vS.CancellationToken.None){for(let r of e){let e=r.uri.toString();if(r.state===e3.Validated){if("boolean"==typeof t.validation&&t.validation)this.resetToState(r,e3.IndexedReferences);else if("object"==typeof t.validation){let n=this.findMissingValidationCategories(r,t);n.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:{categories:n}},result:this.buildState.get(e)?.result}),r.state=e3.IndexedReferences)}}else this.buildState.delete(e)}this.currentState=e3.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=vS.CancellationToken.None){this.currentState=e3.Changed;let n=[];for(let e of t)for(let t of this.langiumDocuments.deleteDocuments(e))n.push(t.uri),this.cleanUpDeleted(t);let i=(await Promise.all(e.map(e=>this.findChangedUris(e)))).flat();for(let e of i){let t=this.langiumDocuments.getDocument(e);void 0===t&&((t=this.langiumDocumentFactory.fromModel({$type:"INVALID"},e)).state=e3.Changed,this.langiumDocuments.addDocument(t)),this.resetToState(t,e3.Changed)}let a=rG(i).concat(n).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!a.has(e.uri.toString())&&this.shouldRelink(e,a)).forEach(e=>this.resetToState(e,e3.ComputedScopes)),await this.emitUpdate(i,n),await vO(r);let s=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state<e3.Validated||!this.buildState.get(e.uri.toString())?.completed||this.resultsAreIncomplete(e,this.updateBuildOptions)).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}resultsAreIncomplete(e,t){return this.findMissingValidationCategories(e,t).length>=1}findMissingValidationCategories(e,t){let r=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),i=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?n:new Set;return rG(void 0===t||!0===t.validation?n:"object"==typeof t.validation?t.validation.categories??n:[]).filter(e=>!i.has(e)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let t=await this.fileSystemProvider.stat(e);if(t.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(t))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,t){return!!e.references.some(e=>void 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),e5.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case e3.Changed:case e3.Parsed:this.indexManager.removeContent(e.uri);case e3.IndexedContent:e.localSymbols=void 0;case e3.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case e3.Linked:this.indexManager.removeReferences(e.uri);case e3.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case e3.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=e3.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,e3.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,e3.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,e3.ComputedScopes,r,async e=>{let t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.localSymbols=await t.collectLocalSymbols(e,r)});let n=e.filter(e=>this.shouldLink(e));await this.runCancelable(n,e3.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(n,e3.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r));let i=e.filter(e=>!!this.shouldValidate(e)||(this.markAsCompleted(e),!1));await this.runCancelable(i,e3.Validated,r,async e=>{await this.validate(e,r),this.markAsCompleted(e)})}markAsCompleted(e){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(let r of e){let e=r.uri.toString(),n=this.buildState.get(e);(!n||n.completed)&&this.buildState.set(e,{completed:!1,options:t,result:n?.result})}}async runCancelable(e,t,r,n){for(let i of e)i.state<t&&(await vO(r),await n(i),i.state=t,await this.notifyDocumentPhase(i,t,r));let i=e.filter(e=>e.state===t);await this.notifyBuildPhase(i,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),e5.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),e5.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return(t&&"path"in t?n=t:r=t,r??(r=vS.CancellationToken.None),n)?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){let n=this.langiumDocuments.getDocument(t);return n?n.state>=e?Promise.resolve(t):r.isCancellationRequested?Promise.reject(v_):this.currentState>=e&&e>n.state?Promise.reject(new $g.ResponseError($g.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${e3[n.state]}, requiring ${e3[e]}, but workspace state is already ${e3[this.currentState]}. Returning undefined.`)):new Promise((n,i)=>{let a=this.onDocumentPhase(e,e=>{e2.equals(e.uri,t)&&(a.dispose(),s.dispose(),n(e.uri))}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(v_)})}):Promise.reject(new $g.ResponseError($g.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`))}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(v_):new Promise((r,n)=>{let i=this.onBuildPhase(e,()=>{i.dispose(),a.dispose(),r()}),a=t.onCancellationRequested(()=>{i.dispose(),a.dispose(),n(v_)})})}async notifyDocumentPhase(e,t,r){for(let n of this.documentPhaseListeners.get(t).slice())try{await vO(r),await n(e,r)}catch(e){if(!vP(e))throw e}}async notifyBuildPhase(e,t,r){if(0!==e.length)for(let n of this.buildPhaseListeners.get(t).slice())await vO(r),await n(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),i="object"==typeof n.validation?{...n.validation}:{};i.categories=this.findMissingValidationCategories(e,n);let a=await r.validateDocument(e,i,t);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;let s=this.buildState.get(e.uri.toString());s&&(s.result??(s.result={}),s.result.validationChecks?s.result.validationChecks=rG(s.result.validationChecks).concat(i.categories).distinct().toArray():s.result.validationChecks=[...i.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},$R=class{static{tD(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new v6,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=rW(e).uri,n=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{e2.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),rG(n)}allElements(e,t){let r=rG(this.symbolIndex.keys());return t&&(r=r.filter(e=>!t||t.has(e))),r.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(e=>this.astReflection.isSubtype(e.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){let t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=vS.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.references.ScopeComputation.collectExportedSymbols(e,t),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=vS.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return!!r&&r.some(e=>!e.local&&t.has(e.targetUri.toString()))}},$E=class{static{tD(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new vD,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(e=>this.initializeWorkspace(this.folders??[],e))}async initializeWorkspace(e,t=vS.CancellationToken.None){let r=await this.performStartup(e);await vO(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=[],r=tD(e=>{t.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)},"collector");await this.loadAdditionalDocuments(e,r);let n=[];await Promise.all(e.map(e=>this.getRootFolder(e)).map(async e=>this.traverseFolder(e,n)));let i=rG(n).distinct(e=>e.toString()).filter(e=>!this.langiumDocuments.hasDocument(e));return await this.loadWorkspaceDocuments(i,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async e=>{t(await this.langiumDocuments.getOrCreateDocument(e))}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return vK.parse(e.uri)}async traverseFolder(e,t){try{let r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async e=>{this.shouldIncludeEntry(e)&&(e.isDirectory?await this.traverseFolder(e.uri,t):e.isFile&&t.push(e.uri))}))}catch(t){console.error("Failure to read directory content of "+e.toString(!0),t)}}async searchFolder(e){let t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){let t=e2.basename(e.uri);return!t.startsWith(".")&&(e.isDirectory?"node_modules"!==t&&"out"!==t:!!e.isFile&&this.serviceRegistry.hasServices(e.uri))}},$b=class{static{tD(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,t,r,n,i){return fj.buildUnexpectedCharactersMessage(e,t,r,n,i)}buildUnableToPopLexerModeMessage(e){return fj.buildUnableToPopLexerModeMessage(e)}},$A={mode:"full"},$C=class{static{tD(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=$x(t)?Object.values(t):t,n="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new fG(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=$A){let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if($x(e))return e;let t=$k(e)?Object.values(e.modes).flat():e,r={};return t.forEach(e=>r[e.name]=e),r}};function $S(e){return Array.isArray(e)&&(0===e.length||"name"in e[0])}function $k(e){return e&&"modes"in e&&"defaultMode"in e}function $x(e){return!$S(e)&&!$k(e)}function $N(e,t,r){let n,i;return"string"==typeof e?(i=t,n=r):(i=e.range.start,n=t),i||(i=$.create(0,0)),$G({index:0,tokens:$O({lines:$I(e),position:i,options:$V(n)}),position:i})}function $w(e,t){let r=$V(t),n=$I(e);if(0===n.length)return!1;let i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function $I(e){return("string"==typeof e?e:e.text).split(ad)}tD($S,"isTokenTypeArray"),tD($k,"isIMultiModeLexerDefinition"),tD($x,"isTokenTypeDictionary"),tq(),tD($N,"parseJSDoc"),tD($w,"isJSDoc"),tD($I,"getLines");var $_=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,$P=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function $O(e){let t=[],r=e.position.line,n=e.position.character;for(let i=0;i<e.lines.length;i++){let a=0===i,s=i===e.lines.length-1,o=e.lines[i],l=0;if(a&&e.options.start){let t=e.options.start?.exec(o);t&&(l=t.index+t[0].length)}else{let t=e.options.line?.exec(o);t&&(l=t.index+t[0].length)}if(s){let t=e.options.end?.exec(o);t&&(o=o.substring(0,t.index))}if($j(o=o.substring(0,$F(o)),l)>=o.length){if(t.length>0){let e=$.create(r,n);t.push({type:"break",content:"",range:R.create(e,e)})}}else{$_.lastIndex=l;let e=$_.exec(o);if(e){let i=e[0],a=e[1],s=$.create(r,n+l),u=$.create(r,n+l+i.length);t.push({type:"tag",content:a,range:R.create(s,u)}),l+=i.length,l=$j(o,l)}if(l<o.length){let e=o.substring(l),i=Array.from(e.matchAll($P));t.push(...$D(i,e,r,n+l))}}r++,n=0}return t.length>0&&"break"===t[t.length-1].type?t.slice(0,-1):t}function $D(e,t,r,n){let i=[];if(0===e.length){let e=$.create(r,n),a=$.create(r,n+t.length);i.push({type:"text",content:t,range:R.create(e,a)})}else{let a=0;for(let s of e){let e=s.index,o=t.substring(a,e);o.length>0&&i.push({type:"text",content:t.substring(a,e),range:R.create($.create(r,a+n),$.create(r,e+n))});let l=o.length+1,u=s[1];if(i.push({type:"inline-tag",content:u,range:R.create($.create(r,a+l+n),$.create(r,a+l+u.length+n))}),l+=u.length,4===s.length){l+=s[2].length;let e=s[3];i.push({type:"text",content:e,range:R.create($.create(r,a+l+n),$.create(r,a+l+e.length+n))})}else i.push({type:"text",content:"",range:R.create($.create(r,a+l+n),$.create(r,a+l+n))});a=e+s[0].length}let s=t.substring(a);s.length>0&&i.push({type:"text",content:s,range:R.create($.create(r,a+n),$.create(r,a+n+s.length))})}return i}tD($O,"tokenize"),tD($D,"buildInlineTokens");var $L=/\S/,$M=/\s*$/;function $j(e,t){let r=e.substring(t).match($L);return r?t+r.index:e.length}function $F(e){let t=e.match($M);if(t&&"number"==typeof t.index)return t.index}function $G(e){let t=$.create(e.position.line,e.position.character);if(0===e.tokens.length)return new $Y([],R.create(t,t));let r=[];for(;e.index<e.tokens.length;){let t=$z(e,r[r.length-1]);t&&r.push(t)}let n=r[0]?.range.start??t,i=r[r.length-1]?.range.end??t;return new $Y(r,R.create(n,i))}function $z(e,t){let r=e.tokens[e.index];return"tag"===r.type?$B(e,!1):"text"===r.type||"inline-tag"===r.type?$q(e):($K(r,t),void e.index++)}function $K(e,t){if(t){let r=new $0("",e.range);"inlines"in t?t.inlines.push(r):t.content.inlines.push(r)}}function $q(e){let t=e.tokens[e.index],r=t,n=t,i=[];for(;t&&"break"!==t.type&&"tag"!==t.type;)i.push($U(e)),n=t,t=e.tokens[e.index];return new $J(i,R.create(r.range.start,n.range.end))}function $U(e){return"inline-tag"===e.tokens[e.index].type?$B(e,!0):$W(e)}function $B(e,t){let r=e.tokens[e.index++],n=r.content.substring(1),i=e.tokens[e.index];if(i?.type==="text")if(t){let i=$W(e);return new $Q(n,new $J([i],i.range),t,R.create(r.range.start,i.range.end))}else{let i=$q(e);return new $Q(n,i,t,R.create(r.range.start,i.range.end))}{let e=r.range;return new $Q(n,new $J([],e),t,e)}}function $W(e){let t=e.tokens[e.index++];return new $0(t.content,t.range)}function $V(e){if(!e)return $V({start:"/**",end:"*/",line:"*"});let{start:t,end:r,line:n}=e;return{start:$H(t,!0),end:$H(r,!1),line:$H(n,!0)}}function $H(e,t){if("string"!=typeof e&&"object"!=typeof e)return e;{let r="string"==typeof e?a$(e):e.source;return t?RegExp(`^\\s*${r}`):RegExp(`\\s*${r}\\s*$`)}}tD($j,"skipWhitespace"),tD($F,"lastCharacter"),tD($G,"parseJSDocComment"),tD($z,"parseJSDocElement"),tD($K,"appendEmptyLine"),tD($q,"parseJSDocText"),tD($U,"parseJSDocInline"),tD($B,"parseJSDocTag"),tD($W,"parseJSDocLine"),tD($V,"normalizeOptions"),tD($H,"normalizeOption");var $Y=class{static{tD(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(0===e.length)e=t.toString();else{let r=t.toString();e+=$1(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(0===t.length)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=$1(t)+n}return t.trim()}},$Q=class{static{tD(this,"JSDocTagImpl")}constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return(1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e} +${t}`),this.inline)?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let r=$Z(this.name,t,e??{});if("string"==typeof r)return r}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return(1===this.content.inlines.length?n=`${n} \u2014 ${t}`:this.content.inlines.length>1&&(n=`${n} +${t}`),this.inline)?`{${n}}`:n}};function $Z(e,t,r){if("linkplain"===e||"linkcode"===e||"link"===e){let n=t.indexOf(" "),i=t;if(n>0){let e=$j(t,n);i=t.substring(e),t=t.substring(0,n)}return("linkcode"===e||"link"===e&&"code"===r.link)&&(i=`\`${i}\``),r.renderLink?.(t,i)??$X(t,i)}}function $X(e,t){try{return vK.parse(e,!0),`[${t}](${e})`}catch{return e}}tD($Z,"renderInlineTag"),tD($X,"renderLinkDefault");var $J=class{static{tD(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){let r=this.inlines[t],n=this.inlines[t+1];e+=r.toString(),n&&n.range.start.line>r.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];t+=n.toMarkdown(e),i&&i.range.start.line>n.range.start.line&&(t+="\n")}return t}},$0=class{static{tD(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function $1(e){return e.endsWith("\n")?"\n":"\n\n"}tD($1,"fillNewlines");var $2=class{static{tD(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&$w(t))return $N(t).toMarkdown({renderLink:tD((t,r)=>this.documentationLinkRenderer(e,t,r),"renderLink"),renderTag:tD(t=>this.documentationTagRenderer(e,t),"renderTag")})}documentationLinkRenderer(e,t,r){let n=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(n&&n.nameSegment){let e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,i=n.documentUri.with({fragment:`L${e},${t}`});return`[${r}](${i.toString()})`}}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){let r=rW(e).localSymbols;if(!r)return;let n=e;do{let e=r.getStream(n).find(e=>e.name===t);if(e)return e;n=n.$container}while(n)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}},$3=class{static{tD(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return $t(e)?e.$comment:iV(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},$4=class{static{tD(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},$9=class{static{tD(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let t=this.queue.shift();t&&(e.lock(),t.resolve(e))}}),this.workerPool.push(e)}}async parse(e,t){let r,n=await this.acquireParserWorker(t),i=new vD,a=t.onCancellationRequested(()=>{r=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(e=>{let t=this.hydrator.hydrate(e);i.resolve(t)}).catch(e=>{i.reject(e)}).finally(()=>{a.dispose(),clearTimeout(r)}),i.promise}terminateWorker(e){e.terminate();let t=this.workerPool.indexOf(e);t>=0&&this.workerPool.splice(t,1)}async acquireParserWorker(e){for(let e of(this.initializeWorkers(),this.workerPool))if(e.ready)return e.lock(),e;let t=new vD;return e.onCancellationRequested(()=>{let e=this.queue.indexOf(t);e>=0&&this.queue.splice(e,1),t.reject(v_)}),this.queue.push(t),t.promise}},$5=class{static{tD(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,r,n){this.onReadyEmitter=new $h.Emitter,this.deferred=new vD,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(e=>{this.deferred.resolve(e),this.unlock()}),r(e=>{this.deferred.reject(e),this.unlock()})}terminate(){this.deferred.reject(v_),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw Error("Parser worker is busy");return this._parsing=!0,this.deferred=new vD,this.sendMessage(e),this.deferred.promise}},$6=class{static{tD(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new vS.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=vw();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=vS.CancellationToken.None){let n=new vD;return e.push({action:t,deferred:n,cancellationToken:r}),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:r})=>{try{let n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(e){vP(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},$7=class{static{tD(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new vJ,this.tokenTypeIdMap=new vJ,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>({...e,message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,r=new Map;for(let r of rZ(e))t.set(r,{});if(e.$cstNode)for(let t of ij(e.$cstNode))r.set(t,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))rS(a)?e.push(this.dehydrateAstNode(a,t)):rk(a)?e.push(this.dehydrateReference(a,t)):e.push(a)}else rS(i)?r[n]=this.dehydrateAstNode(i,t):rk(i)?r[n]=this.dehydrateReference(i,t):void 0!==i&&(r[n]=i);return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return rO(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),r_(e)?r.content=e.content.map(e=>this.dehydrateCstNode(e,t)):rP(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t,r=new Map,n=new Map;for(let t of rZ(e))r.set(t,{});if(e.$cstNode)for(let r of ij(e.$cstNode)){let e;"fullText"in r?t=e=new T1(r.fullText):"content"in r?e=new TJ:"tokenType"in r&&(e=this.hydrateCstLeafNode(r)),e&&(n.set(r,e),e.root=t)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))rS(a)?e.push(this.setParent(this.hydrateAstNode(a,t),r)):rk(a)?e.push(this.hydrateReference(a,r,n,t)):e.push(a)}else rS(i)?r[n]=this.setParent(this.hydrateAstNode(i,t),r):rk(i)?r[n]=this.hydrateReference(i,r,n,t):void 0!==i&&(r[n]=i);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),r_(n))for(let i of e.content){let e=this.hydrateCstNode(i,t,r++);n.content.push(e)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType);return new TX(e.offset,e.length,{start:{line:e.startLine,character:e.startColumn},end:{line:e.endLine,character:e.endColumn}},t,e.hidden)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of rZ(this.grammar))r5(t)&&this.grammarElementIdMap.set(t,e++)}};function $8(e){return{documentation:{CommentProvider:tD(e=>new $3(e),"CommentProvider"),DocumentationProvider:tD(e=>new $2(e),"DocumentationProvider")},parser:{AsyncParser:tD(e=>new $4(e),"AsyncParser"),GrammarConfig:tD(e=>a7(e),"GrammarConfig"),LangiumParser:tD(e=>vE(e),"LangiumParser"),CompletionParser:tD(e=>vR(e),"CompletionParser"),ValueConverter:tD(()=>new vC,"ValueConverter"),TokenBuilder:tD(()=>new vA,"TokenBuilder"),Lexer:tD(e=>new $C(e),"Lexer"),ParserErrorMessageProvider:tD(()=>new T7,"ParserErrorMessageProvider"),LexerErrorMessageProvider:tD(()=>new $b,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:tD(()=>new $m,"AstNodeLocator"),AstNodeDescriptionProvider:tD(e=>new $f(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:tD(e=>new $d(e),"ReferenceDescriptionProvider")},references:{Linker:tD(e=>new vH(e),"Linker"),NameProvider:tD(()=>new vQ,"NameProvider"),ScopeProvider:tD(e=>new $e(e),"ScopeProvider"),ScopeComputation:tD(e=>new v0(e),"ScopeComputation"),References:tD(e=>new vZ(e),"References")},serializer:{Hydrator:tD(e=>new $7(e),"Hydrator"),JsonSerializer:tD(e=>new $n(e),"JsonSerializer")},validation:{DocumentValidator:tD(e=>new $l(e),"DocumentValidator"),ValidationRegistry:tD(e=>new $s(e),"ValidationRegistry")},shared:tD(()=>e.shared,"shared")}}function Re(e){return{ServiceRegistry:tD(e=>new $i(e),"ServiceRegistry"),workspace:{LangiumDocuments:tD(e=>new vW(e),"LangiumDocuments"),LangiumDocumentFactory:tD(e=>new vB(e),"LangiumDocumentFactory"),DocumentBuilder:tD(e=>new $$(e),"DocumentBuilder"),IndexManager:tD(e=>new $R(e),"IndexManager"),WorkspaceManager:tD(e=>new $E(e),"WorkspaceManager"),FileSystemProvider:tD(t=>e.fileSystemProvider(t),"FileSystemProvider"),WorkspaceLock:tD(()=>new $6,"WorkspaceLock"),ConfigurationProvider:tD(e=>new $y(e),"ConfigurationProvider")},profilers:{}}}function Rt(e,t,r,n,i,a,s,o,l){return Ri([e,t,r,n,i,a,s,o,l].reduce(Ro,{}))}tD($8,"createDefaultCoreModule"),tD(Re,"createDefaultSharedCoreModule"),(e6||(e6={})).merge=(e,t)=>Ro(Ro({},e),t),tD(Rt,"inject");var Rr=Symbol("isProxy");function Rn(e){if(e&&e[Rr])for(let t of Object.values(e))Rn(t);return e}function Ri(e,t){let r=new Proxy({},{deleteProperty:tD(()=>!1,"deleteProperty"),set:tD(()=>{throw Error("Cannot set property on injected service container")},"set"),get:tD((n,i)=>i===Rr||Rs(n,i,e,t||r),"get"),getOwnPropertyDescriptor:tD((n,i)=>(Rs(n,i,e,t||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:tD((t,r)=>r in e,"has"),ownKeys:tD(()=>[...Object.getOwnPropertyNames(e)],"ownKeys")});return r}tD(Rn,"eagerLoad"),tD(Ri,"_inject");var Ra=Symbol();function Rs(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===Ra)throw Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){let i=r[t];e[t]=Ra;try{e[t]="function"==typeof i?i(n):Ri(i,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function Ro(e,t){if(t){for(let[r,n]of Object.entries(t))if(null!=n)if("object"==typeof n){let t=e[r];"object"==typeof t&&null!==t?e[r]=Ro(t,n):e[r]=Ro({},n)}else e[r]=n}return e}tD(Rs,"_resolve"),tD(Ro,"_merge");var Rl={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(h=e7||(e7={})).REGULAR="indentation-sensitive",h.IGNORE_INDENTATION="ignore-indentation";var Ru=class extends vA{static{tD(this,"IndentationAwareTokenBuilder")}constructor(e=Rl){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...Rl,...e},this.indentTokenType=fZ({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=fZ({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){let r,n,i,a=super.buildTokens(e,t);if(!$S(a))throw Error("Invalid tokens built by default builder");let{indentTokenName:s,dedentTokenName:o,whitespaceTokenName:l,ignoreIndentationDelimiters:u}=this.options,c=[];for(let e of a){for(let[t,r]of u)e.name===t?e.PUSH_MODE=e7.IGNORE_INDENTATION:e.name===r&&(e.POP_MODE=!0);e.name===o?r=e:e.name===s?n=e:e.name===l?i=e:c.push(e)}if(!r||!n||!i)throw Error("Some indentation/whitespace tokens not found!");return u.length>0?{modes:{[e7.REGULAR]:[r,n,...c,i],[e7.IGNORE_INDENTATION]:[...c,i]},defaultMode:e7.REGULAR}:[r,n,i,...c]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,t){return 0===t||"\r\n".includes(e[t-1])}matchWhitespace(e,t,r,n){this.whitespaceRegExp.lastIndex=t;let i=this.whitespaceRegExp.exec(e);return{currIndentLevel:i?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:i}}createIndentationTokenInstance(e,t,r,n){let i=this.getLineNumber(t,n);return f0(e,r,n,n+r.length,i,i,1,r.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:i,prevIndentLevel:a,match:s}=this.matchWhitespace(e,t,r,n);return i<=a?null:(this.indentationStack.push(i),s)}dedentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:i,prevIndentLevel:a,match:s}=this.matchWhitespace(e,t,r,n);if(i>=a)return null;let o=this.indentationStack.lastIndexOf(i);if(-1===o)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${i} at offset: ${t}. Current indentation stack: ${this.indentationStack}`,offset:t,length:s?.[0]?.length??0,line:this.getLineNumber(e,t),column:1}),null;let l=this.indentationStack.length-o-1,u=e.substring(0,t).match(/[\r\n]+$/)?.[0].length??1;for(let n=0;n<l;n++){let n=this.createIndentationTokenInstance(this.dedentTokenType,e,"",t-(u-1));r.push(n),this.indentationStack.pop()}return null}buildTerminalToken(e){let t=super.buildTerminalToken(e),{indentTokenName:r,dedentTokenName:n,whitespaceTokenName:i}=this.options;return t.name===r?this.indentTokenType:t.name===n?this.dedentTokenType:t.name===i?fZ({name:i,pattern:this.whitespaceRegExp,group:fG.SKIPPED}):t}flushRemainingDedents(e){let t=[];for(;this.indentationStack.length>1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},Rc=class extends $C{static{tD(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ru)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=$A){let r=super.tokenize(e),n=r.report;t?.mode==="full"&&r.tokens.push(...n.remainingDedents),n.remainingDedents=[];let{indentTokenType:i,dedentTokenType:a}=this.indentationTokenBuilder,s=i.tokenTypeIdx,o=a.tokenTypeIdx,l=[],u=r.tokens.length-1;for(let e=0;e<u;e++){let t=r.tokens[e],n=r.tokens[e+1];if(t.tokenTypeIdx===s&&n.tokenTypeIdx===o){e++;continue}l.push(t)}return u>=0&&l.push(r.tokens[u]),r.tokens=l,r}},Rp={};tM(Rp,{AstUtils:()=>rK,BiMap:()=>vJ,Cancellation:()=>vS,ContextCache:()=>v6,CstUtils:()=>rC,DONE_RESULT:()=>rF,Deferred:()=>vD,Disposable:()=>e5,DisposableCache:()=>v9,DocumentCache:()=>v7,EMPTY_STREAM:()=>rj,ErrorWithLocation:()=>i9,GrammarUtils:()=>i4,MultiMap:()=>vX,OperationCancelled:()=>v_,Reduction:()=>eV,RegExpUtils:()=>i7,SimpleCache:()=>v5,StreamImpl:()=>rD,TreeStreamImpl:()=>rz,URI:()=>vK,UriTrie:()=>vU,UriUtils:()=>e2,WorkspaceCache:()=>v8,assertCondition:()=>i6,assertUnreachable:()=>i5,delayNextTick:()=>vk,interruptAndCheck:()=>vO,isOperationCancelled:()=>vP,loadGrammarFromJson:()=>Rg,setInterruptionPeriod:()=>vI,startCancelableOperation:()=>vw,stream:()=>rG}),tF(Rp,$h);var Rf=class{static{tD(this,"EmptyFileSystemProvider")}stat(e){throw Error("No file system is available.")}statSync(e){throw Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw Error("No file system is available.")}readBinarySync(){throw Error("No file system is available.")}readFile(){throw Error("No file system is available.")}readFileSync(){throw Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},Rd={fileSystemProvider:tD(()=>new Rf,"fileSystemProvider")},Rm={Grammar:tD(()=>void 0,"Grammar"),LanguageMetaData:tD(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Rh={AstReflection:tD(()=>new iD,"AstReflection")};function Ry(){let e=Rt(Re(Rd),Rh),t=Rt($8({shared:e}),Rm);return e.ServiceRegistry.register(t),t}function Rg(e){let t=Ry(),r=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,vK.parse(`memory:/${r.name??"grammar"}.langium`)),r}tD(Ry,"createMinimalGrammarServices"),tD(Rg,"loadGrammarFromJson"),tF(rA,Rp);var RT=class{static{tD(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new vX}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(e=>this.activeCategories.add(e)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(e=>this.activeCategories.delete(e)):this.activeCategories.clear()}createTask(e,t){if(!this.isActive(e))throw Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${t}'.`),new Rv(t=>this.records.add(e,this.dumpRecord(e,t)),t)}dumpRecord(e,t){console.info(`Task ${e}.${t.identifier} executed in ${t.duration.toFixed(2)}ms and ended at ${t.date.toISOString()}`);let r=[];for(let e of t.entries.keys()){let n=t.entries.get(e),i=n.reduce((e,t)=>e+t);r.push({name:`${t.identifier}.${e}`,count:n.length,duration:i})}let n=t.duration-r.map(e=>e.duration).reduce((e,t)=>e+t,0);function i(e){return Math.round(100*e)/100}return r.push({name:t.identifier,count:1,duration:n}),r.sort((e,t)=>t.duration-e.duration),tD(i,"Round"),console.table(r.map(e=>({Element:e.name,Count:e.count,"Self %":i(100*e.duration/t.duration),"Time (ms)":i(e.duration)}))),t}getRecords(...e){return 0===e.length?this.records.values():this.records.entries().filter(t=>e.some(e=>e===t[0])).flatMap(e=>e[1])}},Rv=class{static{tD(this,"ProfilingTask")}constructor(e,t){this.stack=[],this.entries=new vX,this.addRecord=e,this.identifier=t}start(){if(void 0!==this.startTime)throw Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(void 0===this.startTime)throw Error(`Task "${this.identifier}" was not started.`);if(0!==this.stack.length)throw Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(e=>e.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let t=this.stack.pop();if(!t)throw Error(`Task "${this.identifier}.${e}" was not started.`);if(t.id!==e)throw Error(`Sub-Task "${t.id}" is not already stopped.`);let r=performance.now()-t.start;void 0!==this.stack.at(-1)&&(this.stack[this.stack.length-1].content+=r);let n=r-t.content;this.entries.add(e,n)}};(e8||(e8={})).Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[^\[\]\r\n]+)\]/},(te||(te={})).Terminals={DOMAIN_NAME:/complex|complicated|clear|chaotic|confusion/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(tt||(tt={})).Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/},(tr||(tr={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/},(tn||(tn={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ti||(ti={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ta||(ta={})).Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ts||(ts={})).Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(to||(to={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ABNF_RULENAME:/[A-Za-z][A-Za-z0-9-]*/,ABNF_STRING:/"[^"]*"/,ABNF_NUMVAL:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/,ABNF_REPEAT:/[0-9]*\*[0-9]*/,ABNF_EXACT_REPEAT:/[0-9]+/,ABNF_WHITESPACE:/[\t \r\n]+/,ABNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,ABNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,ABNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ABNF_COMMENT:/;[^\n\r]*/},(tl||(tl={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EBNF_ID:/[A-Z_a-z][\w-]*/,EBNF_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,EBNF_SPECIAL_SEQUENCE:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/,EBNF_WHITESPACE:/[\t \r\n]+/,EBNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EBNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EBNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EBNF_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//,EBNF_ISO_COMMENT:/\(\*[\s\S]*?\*\)/},(tu||(tu={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,RR_ID:/[A-Z_a-z][\w-]*/,RR_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,RR_WHITESPACE:/[\t \r\n]+/,RR_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,RR_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,RR_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,RR_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//},(tc||(tc={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,PEG_ID:/[A-Z_a-z][\w-]*/,PEG_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,PEG_WHITESPACE:/[\t \r\n]+/,PEG_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,PEG_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,PEG_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,PEG_LINE_COMMENT:/#[^\n\r]*/},(tp||(tp={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/},(tf||(tf={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,CLASS_ANNOTATION:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/,ICON_ANNOTATION:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/,DESC_ANNOTATION:/[ \t]+##[^\n\r]*/,INDENTATION:/[ \t]{1,}/,QUOTED_NAME:/"[^"]*"|'[^']*'/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,BARE_NAME:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/},(td||(td={})).Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},e8.Terminals,te.Terminals,tt.Terminals,tr.Terminals,tn.Terminals,ti.Terminals,ta.Terminals,ts.Terminals,to.Terminals,tl.Terminals,tu.Terminals,tc.Terminals,tf.Terminals,tp.Terminals,td.Terminals;var R$="AbnfPrimary",RR="Architecture";tD(function(e){return RJ.isInstance(e,RR)},"isArchitecture");var RE="Axis",Rb="Branch";tD(function(e){return RJ.isInstance(e,Rb)},"isBranch");var RA="Commit";tD(function(e){return RJ.isInstance(e,RA)},"isCommit");var RC="Cynefin";tD(function(e){return RJ.isInstance(e,RC)},"isCynefin");var RS="DomainBlock";tD(function(e){return RJ.isInstance(e,RS)},"isDomainBlock");var Rk="DomainItem";tD(function(e){return RJ.isInstance(e,Rk)},"isDomainItem");var Rx="EbnfPostfix",RN="EbnfPrimary",Rw="EmDataEntity",RI="EmFrame",R_="EmModelEntity";tD(function(e){return"rmo"===e||"readmodel"===e||"ui"===e||"cmd"===e||"command"===e||"evt"===e||"event"===e||"pcr"===e||"processor"===e},"isEmModelEntityType");var RP="EmResetFrame";function RO(e){return RJ.isInstance(e,RP)}tD(RO,"isEmResetFrame");var RD="GitGraph";tD(function(e){return RJ.isInstance(e,RD)},"isGitGraph");var RL="Info";tD(function(e){return RJ.isInstance(e,RL)},"isInfo");var RM="Item",Rj="Merge";tD(function(e){return RJ.isInstance(e,Rj)},"isMerge");var RF="Packet";tD(function(e){return RJ.isInstance(e,RF)},"isPacket");var RG="PacketBlock";tD(function(e){return RJ.isInstance(e,RG)},"isPacketBlock");var Rz="PegPrimary";tD(function(e){return RJ.isInstance(e,"Pie")},"isPie");var RK="PieSection";tD(function(e){return RJ.isInstance(e,RK)},"isPieSection");var Rq="Railroad";tD(function(e){return RJ.isInstance(e,Rq)},"isRailroad");var RU="RailroadAbnf";tD(function(e){return RJ.isInstance(e,RU)},"isRailroadAbnf");var RB="RailroadEbnf";tD(function(e){return RJ.isInstance(e,RB)},"isRailroadEbnf");var RW="RailroadExpression",RV="RailroadPeg";tD(function(e){return RJ.isInstance(e,RV)},"isRailroadPeg");var RH="Statement",RY="Transition";tD(function(e){return RJ.isInstance(e,RY)},"isTransition");var RQ="Treemap";tD(function(e){return RJ.isInstance(e,RQ)},"isTreemap");var RZ="Wardley";tD(function(e){return RJ.isInstance(e,RZ)},"isWardley");var RX=class extends rI{constructor(){super(...arguments),this.types={AbnfAlternation:{name:"AbnfAlternation",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},AbnfConcatenation:{name:"AbnfConcatenation",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},AbnfElement:{name:"AbnfElement",properties:{primary:{name:"primary"},repeat:{name:"repeat"}},superTypes:[]},AbnfGroup:{name:"AbnfGroup",properties:{element:{name:"element"}},superTypes:[R$]},AbnfNumVal:{name:"AbnfNumVal",properties:{value:{name:"value"}},superTypes:[R$]},AbnfOptionalGroup:{name:"AbnfOptionalGroup",properties:{element:{name:"element"}},superTypes:[R$]},AbnfPrimary:{name:R$,properties:{},superTypes:[]},AbnfRule:{name:"AbnfRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},AbnfRuleName:{name:"AbnfRuleName",properties:{name:{name:"name"}},superTypes:[R$]},AbnfStringLiteral:{name:"AbnfStringLiteral",properties:{value:{name:"value"}},superTypes:[R$]},Accelerator:{name:"Accelerator",properties:{name:{name:"name"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Alignment:{name:"Alignment",properties:{direction:{name:"direction"},members:{name:"members",defaultValue:[]}},superTypes:[]},Anchor:{name:"Anchor",properties:{evolution:{name:"evolution"},name:{name:"name"},visibility:{name:"visibility"}},superTypes:[]},Annotation:{name:"Annotation",properties:{number:{name:"number"},text:{name:"text"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Annotations:{name:"Annotations",properties:{x:{name:"x"},y:{name:"y"}},superTypes:[]},Architecture:{name:RR,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},alignments:{name:"alignments",defaultValue:[]},edges:{name:"edges",defaultValue:[]},groups:{name:"groups",defaultValue:[]},junctions:{name:"junctions",defaultValue:[]},services:{name:"services",defaultValue:[]},title:{name:"title"}},superTypes:[]},Axis:{name:RE,properties:{label:{name:"label"},name:{name:"name"}},superTypes:[]},Branch:{name:Rb,properties:{name:{name:"name"},order:{name:"order"}},superTypes:[RH]},Checkout:{name:"Checkout",properties:{branch:{name:"branch"}},superTypes:[RH]},CherryPicking:{name:"CherryPicking",properties:{id:{name:"id"},parent:{name:"parent"},tags:{name:"tags",defaultValue:[]}},superTypes:[RH]},ClassDefStatement:{name:"ClassDefStatement",properties:{className:{name:"className"},styleText:{name:"styleText"}},superTypes:[]},Commit:{name:RA,properties:{id:{name:"id"},message:{name:"message"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[RH]},Common:{name:"Common",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Component:{name:"Component",properties:{decorator:{name:"decorator"},evolution:{name:"evolution"},inertia:{name:"inertia",defaultValue:!1},label:{name:"label"},name:{name:"name"},visibility:{name:"visibility"}},superTypes:[]},Curve:{name:"Curve",properties:{entries:{name:"entries",defaultValue:[]},label:{name:"label"},name:{name:"name"}},superTypes:[]},Cynefin:{name:RC,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},domains:{name:"domains",defaultValue:[]},title:{name:"title"},transitions:{name:"transitions",defaultValue:[]}},superTypes:[]},Deaccelerator:{name:"Deaccelerator",properties:{name:{name:"name"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Decorator:{name:"Decorator",properties:{strategy:{name:"strategy"}},superTypes:[]},Direction:{name:"Direction",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dir:{name:"dir"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[RD]},DomainBlock:{name:RS,properties:{domain:{name:"domain"},items:{name:"items",defaultValue:[]}},superTypes:[]},DomainItem:{name:Rk,properties:{label:{name:"label"}},superTypes:[]},EbnfChoice:{name:"EbnfChoice",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},EbnfExceptionPostfix:{name:"EbnfExceptionPostfix",properties:{except:{name:"except"}},superTypes:[Rx]},EbnfGroup:{name:"EbnfGroup",properties:{element:{name:"element"}},superTypes:[RN]},EbnfNonTerminal:{name:"EbnfNonTerminal",properties:{name:{name:"name"}},superTypes:[RN]},EbnfOneOrMorePostfix:{name:"EbnfOneOrMorePostfix",properties:{operator:{name:"operator"}},superTypes:[Rx]},EbnfOptional:{name:"EbnfOptional",properties:{element:{name:"element"}},superTypes:[RN]},EbnfOptionalPostfix:{name:"EbnfOptionalPostfix",properties:{operator:{name:"operator"}},superTypes:[Rx]},EbnfPostfix:{name:Rx,properties:{},superTypes:[]},EbnfPrimary:{name:RN,properties:{},superTypes:[]},EbnfRepetition:{name:"EbnfRepetition",properties:{element:{name:"element"}},superTypes:[RN]},EbnfRule:{name:"EbnfRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},EbnfSequence:{name:"EbnfSequence",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},EbnfSpecial:{name:"EbnfSpecial",properties:{text:{name:"text"}},superTypes:[RN]},EbnfTerm:{name:"EbnfTerm",properties:{base:{name:"base"},postfixes:{name:"postfixes",defaultValue:[]}},superTypes:[]},EbnfTerminal:{name:"EbnfTerminal",properties:{value:{name:"value"}},superTypes:[RN]},EbnfZeroOrMorePostfix:{name:"EbnfZeroOrMorePostfix",properties:{operator:{name:"operator"}},superTypes:[Rx]},Edge:{name:"Edge",properties:{lhsDir:{name:"lhsDir"},lhsGroup:{name:"lhsGroup",defaultValue:!1},lhsId:{name:"lhsId"},lhsInto:{name:"lhsInto",defaultValue:!1},rhsDir:{name:"rhsDir"},rhsGroup:{name:"rhsGroup",defaultValue:!1},rhsId:{name:"rhsId"},rhsInto:{name:"rhsInto",defaultValue:!1},title:{name:"title"}},superTypes:[]},EmDataEntity:{name:Rw,properties:{dataBlockValue:{name:"dataBlockValue"},dataType:{name:"dataType"},name:{name:"name"}},superTypes:[]},EmFrame:{name:RI,properties:{},superTypes:[]},EmGwt:{name:"EmGwt",properties:{givenStatements:{name:"givenStatements",defaultValue:[]},sourceFrame:{name:"sourceFrame",referenceType:RI},thenStatements:{name:"thenStatements",defaultValue:[]},whenStatements:{name:"whenStatements",defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:"EmGwtStatement",properties:{entityIdentifier:{name:"entityIdentifier",referenceType:R_}},superTypes:[]},EmModelEntity:{name:R_,properties:{name:{name:"name"}},superTypes:[]},EmNoteEntity:{name:"EmNoteEntity",properties:{dataBlockValue:{name:"dataBlockValue"},dataType:{name:"dataType"},sourceFrame:{name:"sourceFrame",referenceType:RI}},superTypes:[]},EmResetFrame:{name:RP,properties:{dataInlineValue:{name:"dataInlineValue"},dataReference:{name:"dataReference",referenceType:Rw},dataType:{name:"dataType"},entityIdentifier:{name:"entityIdentifier"},modelEntityType:{name:"modelEntityType"},name:{name:"name"},sourceFrames:{name:"sourceFrames",defaultValue:[],referenceType:RI}},superTypes:[RI]},EmTimeFrame:{name:"EmTimeFrame",properties:{dataInlineValue:{name:"dataInlineValue"},dataReference:{name:"dataReference",referenceType:Rw},dataType:{name:"dataType"},entityIdentifier:{name:"entityIdentifier"},modelEntityType:{name:"modelEntityType"},name:{name:"name"},sourceFrames:{name:"sourceFrames",defaultValue:[],referenceType:RI}},superTypes:[RI]},Entry:{name:"Entry",properties:{axis:{name:"axis",referenceType:RE},value:{name:"value"}},superTypes:[]},EventModel:{name:"EventModel",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dataEntities:{name:"dataEntities",defaultValue:[]},frames:{name:"frames",defaultValue:[]},gwtEntities:{name:"gwtEntities",defaultValue:[]},modelEntities:{name:"modelEntities",defaultValue:[]},noteEntities:{name:"noteEntities",defaultValue:[]},title:{name:"title"}},superTypes:[]},Evolution:{name:"Evolution",properties:{stages:{name:"stages",defaultValue:[]}},superTypes:[]},EvolutionStage:{name:"EvolutionStage",properties:{boundary:{name:"boundary"},name:{name:"name"},secondName:{name:"secondName"}},superTypes:[]},Evolve:{name:"Evolve",properties:{component:{name:"component"},target:{name:"target"}},superTypes:[]},GitGraph:{name:RD,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[]},Group:{name:"Group",properties:{icon:{name:"icon"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Info:{name:RL,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Item:{name:RM,properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[]},Junction:{name:"Junction",properties:{id:{name:"id"},in:{name:"in"}},superTypes:[]},Label:{name:"Label",properties:{negX:{name:"negX",defaultValue:!1},negY:{name:"negY",defaultValue:!1},offsetX:{name:"offsetX"},offsetY:{name:"offsetY"}},superTypes:[]},Leaf:{name:"Leaf",properties:{classSelector:{name:"classSelector"},name:{name:"name"},value:{name:"value"}},superTypes:[RM]},Link:{name:"Link",properties:{arrow:{name:"arrow"},from:{name:"from"},fromPort:{name:"fromPort"},linkLabel:{name:"linkLabel"},to:{name:"to"},toPort:{name:"toPort"}},superTypes:[]},Merge:{name:Rj,properties:{branch:{name:"branch"},id:{name:"id"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[RH]},Note:{name:"Note",properties:{evolution:{name:"evolution"},text:{name:"text"},visibility:{name:"visibility"}},superTypes:[]},Option:{name:"Option",properties:{name:{name:"name"},value:{name:"value",defaultValue:!1}},superTypes:[]},Packet:{name:RF,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},blocks:{name:"blocks",defaultValue:[]},title:{name:"title"}},superTypes:[]},PacketBlock:{name:RG,properties:{bits:{name:"bits"},end:{name:"end"},label:{name:"label"},start:{name:"start"}},superTypes:[]},PegAny:{name:"PegAny",properties:{dot:{name:"dot"}},superTypes:[Rz]},PegGroup:{name:"PegGroup",properties:{element:{name:"element"}},superTypes:[Rz]},PegIdentifier:{name:"PegIdentifier",properties:{name:{name:"name"}},superTypes:[Rz]},PegLiteral:{name:"PegLiteral",properties:{value:{name:"value"}},superTypes:[Rz]},PegOrderedChoice:{name:"PegOrderedChoice",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},PegPrefix:{name:"PegPrefix",properties:{operator:{name:"operator"},suffix:{name:"suffix"}},superTypes:[]},PegPrimary:{name:Rz,properties:{},superTypes:[]},PegRule:{name:"PegRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},PegSequence:{name:"PegSequence",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},PegSuffix:{name:"PegSuffix",properties:{operator:{name:"operator"},primary:{name:"primary"}},superTypes:[]},Pie:{name:"Pie",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},sections:{name:"sections",defaultValue:[]},showData:{name:"showData",defaultValue:!1},title:{name:"title"}},superTypes:[]},PieSection:{name:RK,properties:{label:{name:"label"},value:{name:"value"}},superTypes:[]},Pipeline:{name:"Pipeline",properties:{components:{name:"components",defaultValue:[]},parent:{name:"parent"}},superTypes:[]},PipelineComponent:{name:"PipelineComponent",properties:{evolution:{name:"evolution"},label:{name:"label"},name:{name:"name"}},superTypes:[]},Radar:{name:"Radar",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},axes:{name:"axes",defaultValue:[]},curves:{name:"curves",defaultValue:[]},options:{name:"options",defaultValue:[]},title:{name:"title"}},superTypes:[]},Railroad:{name:Rq,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadAbnf:{name:RU,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadChoiceExpr:{name:"RailroadChoiceExpr",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[RW]},RailroadEbnf:{name:RB,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadExpression:{name:RW,properties:{},superTypes:[]},RailroadNonTerminalExpr:{name:"RailroadNonTerminalExpr",properties:{name:{name:"name"}},superTypes:[RW]},RailroadOneOrMoreExpr:{name:"RailroadOneOrMoreExpr",properties:{element:{name:"element"}},superTypes:[RW]},RailroadOptionalExpr:{name:"RailroadOptionalExpr",properties:{element:{name:"element"}},superTypes:[RW]},RailroadPeg:{name:RV,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadRule:{name:"RailroadRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},RailroadSequenceExpr:{name:"RailroadSequenceExpr",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[RW]},RailroadSpecialExpr:{name:"RailroadSpecialExpr",properties:{text:{name:"text"}},superTypes:[RW]},RailroadTerminalExpr:{name:"RailroadTerminalExpr",properties:{value:{name:"value"}},superTypes:[RW]},RailroadZeroOrMoreExpr:{name:"RailroadZeroOrMoreExpr",properties:{element:{name:"element"}},superTypes:[RW]},Section:{name:"Section",properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[RM]},Service:{name:"Service",properties:{icon:{name:"icon"},iconText:{name:"iconText"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Size:{name:"Size",properties:{height:{name:"height"},width:{name:"width"}},superTypes:[]},Statement:{name:RH,properties:{},superTypes:[]},Transition:{name:RY,properties:{from:{name:"from"},label:{name:"label"},to:{name:"to"}},superTypes:[]},TreeNode:{name:"TreeNode",properties:{classAnnotation:{name:"classAnnotation"},descAnnotation:{name:"descAnnotation"},iconAnnotation:{name:"iconAnnotation"},indent:{name:"indent"},name:{name:"name"}},superTypes:[]},TreeView:{name:"TreeView",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},nodes:{name:"nodes",defaultValue:[]},title:{name:"title"}},superTypes:[]},Treemap:{name:RQ,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"},TreemapRows:{name:"TreemapRows",defaultValue:[]}},superTypes:[]},TreemapRow:{name:"TreemapRow",properties:{indent:{name:"indent"},item:{name:"item"}},superTypes:[]},Wardley:{name:RZ,properties:{accDescr:{name:"accDescr"},accelerators:{name:"accelerators",defaultValue:[]},accTitle:{name:"accTitle"},anchors:{name:"anchors",defaultValue:[]},annotation:{name:"annotation",defaultValue:[]},annotations:{name:"annotations",defaultValue:[]},components:{name:"components",defaultValue:[]},deaccelerators:{name:"deaccelerators",defaultValue:[]},evolution:{name:"evolution"},evolves:{name:"evolves",defaultValue:[]},links:{name:"links",defaultValue:[]},notes:{name:"notes",defaultValue:[]},pipelines:{name:"pipelines",defaultValue:[]},size:{name:"size"},title:{name:"title"}},superTypes:[]}}}static{tD(this,"MermaidAstReflection")}},RJ=new RX,R0=tD(()=>tm??(tm=Rg('{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"alignments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Alignment","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"align"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"row"},{"$type":"Keyword","value":"column"}]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@20"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'|[^\\\\[\\\\]\\\\r\\\\n]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}')),"ArchitectureGrammarGrammar"),R1=tD(()=>th??(th=Rg('{"$type":"Grammar","isDeclared":true,"name":"CynefinGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Cynefin","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"cynefin-beta"},{"$type":"Keyword","value":"cynefin-beta:"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"domains","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"transitions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"domain","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainItem","definition":{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Transition","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":"--\x3e"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"DOMAIN_NAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complex"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complicated"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"clear"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"chaotic"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"confusion"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"CynefinGrammarGrammar"),R2=tD(()=>ty??(ty=Rg('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),R3=tD(()=>tg??(tg=Rg('{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}')),"GitGraphGrammarGrammar"),R4=tD(()=>tT??(tT=Rg('{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"InfoGrammarGrammar"),R9=tD(()=>tv??(tv=Rg('{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"PacketGrammarGrammar"),R5=tD(()=>t$??(t$=Rg('{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"PieGrammarGrammar"),R6=tD(()=>tR??(tR=Rg('{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}')),"RadarGrammarGrammar"),R7=tD(()=>tE??(tE=Rg('{"$type":"Grammar","isDeclared":true,"name":"RailroadAbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_RULENAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Za-z][A-Za-z0-9-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_NUMVAL","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\\\\.[0-9A-Fa-f]+)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]*\\\\*[0-9]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_EXACT_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_COMMENT","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadAbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-abnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfAlternation","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfConcatenation","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfElement","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfStringLiteral","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfNumVal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRuleName","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfOptionalGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadAbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfAlternation","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfConcatenation","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfElement","attributes":[{"$type":"TypeAttribute","name":"repeat","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"AbnfStringLiteral","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfNumVal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfRuleName","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"AbnfOptionalGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadAbnfGrammarGrammar"),R8=tD(()=>tb??(tb=Rg('{"$type":"Grammar","isDeclared":true,"name":"RailroadEbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_SPECIAL_SEQUENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\?(?=[^?;]*[^?\\\\s;][^?;]*\\\\?)[^?;]*\\\\?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_ISO_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\(\\\\*[\\\\s\\\\S]*?\\\\*\\\\)/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadEbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-ebnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"::="}]},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":",","cardinality":"?"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerm","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"base","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"postfixes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerminal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfNonTerminal","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSpecial","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptional","returnType":{"$ref":"#/interfaces@11"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRepetition","returnType":{"$ref":"#/interfaces@12"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPostfix","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptionalPostfix","returnType":{"$ref":"#/interfaces@13"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfZeroOrMorePostfix","returnType":{"$ref":"#/interfaces@14"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOneOrMorePostfix","returnType":{"$ref":"#/interfaces@15"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfExceptionPostfix","returnType":{"$ref":"#/interfaces@16"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"except","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadEbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfTerm","attributes":[{"$type":"TypeAttribute","name":"base","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false},{"$type":"TypeAttribute","name":"postfixes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfPostfix","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfNonTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfSpecial","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptional","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfRepetition","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptionalPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfZeroOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfOneOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfExceptionPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"except","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadEbnfGrammarGrammar"),Ee=tD(()=>tA??(tA=Rg('{"$type":"Grammar","isDeclared":true,"name":"RailroadGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"RR_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Railroad","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadExpression","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSequenceExpr","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"sequence"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadChoiceExpr","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"choice"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOptionalExpr","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"optional"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOneOrMoreExpr","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"oneOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadZeroOrMoreExpr","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"zeroOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadTerminalExpr","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadNonTerminalExpr","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"nonterminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSpecialExpr","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"special"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"Railroad","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadExpression","attributes":[],"superTypes":[]},{"$type":"Interface","name":"RailroadSequenceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadChoiceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOptionalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOneOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadZeroOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadNonTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadSpecialExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadGrammarGrammar"),Et=tD(()=>tC??(tC=Rg('{"$type":"Grammar","isDeclared":true,"name":"RailroadPegGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/#[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadPeg","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-peg-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"<-"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegOrderedChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrefix","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"&"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"!"}}],"cardinality":"?"},{"$type":"Assignment","feature":"suffix","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSuffix","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrimary","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegLiteral","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegIdentifier","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegAny","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Assignment","feature":"dot","operator":"=","terminal":{"$type":"Keyword","value":"."}},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadPeg","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegOrderedChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegPrefix","attributes":[{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"suffix","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSuffix","attributes":[{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}},"isOptional":false},{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"PegPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"PegLiteral","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegIdentifier","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegGroup","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"PegAny","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"dot","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadPegGrammarGrammar"),Er=tD(()=>tS??(tS=Rg('{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}')),"TreemapGrammarGrammar"),En=tD(()=>tk??(tk=Rg('{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"CLASS_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+:::[ \\\\t]*[A-Za-z_][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ICON_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+icon\\\\([\\\\w-]*(?::[\\\\w-]+)?\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DESC_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+##[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"QUOTED_NAME","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"BARE_NAME","definition":{"$type":"RegexToken","regex":"/(?!:::|icon\\\\(|##)[^ \\\\t\\\\n\\\\r\\"\'](?:(?![ \\\\t]+:::[ \\\\t]*[A-Za-z_]|[ \\\\t]+icon\\\\(|[ \\\\t]+##)[^\\\\n\\\\r])*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"classAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"iconAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"descAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n *\\n * Supports both quoted labels (\\"my file\\") and bare labels (index.js).\\n * Annotations (:::class, icon(), ## description) are parsed directly into\\n * AST fields by the grammar. Value conversion for stripping quotes, extracting\\n * class names, icon names, and description text happens in valueConverter.ts.\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treeView keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}')),"TreeViewGrammarGrammar"),Ei=tD(()=>tx??(tx=Rg('{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"--\x3e"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \\\\t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"WardleyGrammarGrammar"),Ea={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Es={languageId:"cynefin",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eo={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},El={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eu={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ec={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ep={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ef={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ed={languageId:"railroadAbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Em={languageId:"railroadEbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eh={languageId:"railroad",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ey={languageId:"railroadPeg",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eg={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ET={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ev={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},E$={AstReflection:tD(()=>new RX,"AstReflection")},ER={Grammar:tD(()=>R0(),"Grammar"),LanguageMetaData:tD(()=>Ea,"LanguageMetaData"),parser:{}},EE={Grammar:tD(()=>R1(),"Grammar"),LanguageMetaData:tD(()=>Es,"LanguageMetaData"),parser:{}},Eb={Grammar:tD(()=>R2(),"Grammar"),LanguageMetaData:tD(()=>Eo,"LanguageMetaData"),parser:{}},EA={Grammar:tD(()=>R3(),"Grammar"),LanguageMetaData:tD(()=>El,"LanguageMetaData"),parser:{}},EC={Grammar:tD(()=>R4(),"Grammar"),LanguageMetaData:tD(()=>Eu,"LanguageMetaData"),parser:{}},ES={Grammar:tD(()=>R9(),"Grammar"),LanguageMetaData:tD(()=>Ec,"LanguageMetaData"),parser:{}},Ek={Grammar:tD(()=>R5(),"Grammar"),LanguageMetaData:tD(()=>Ep,"LanguageMetaData"),parser:{}},Ex={Grammar:tD(()=>R6(),"Grammar"),LanguageMetaData:tD(()=>Ef,"LanguageMetaData"),parser:{}},EN={Grammar:tD(()=>R7(),"Grammar"),LanguageMetaData:tD(()=>Ed,"LanguageMetaData"),parser:{}},Ew={Grammar:tD(()=>R8(),"Grammar"),LanguageMetaData:tD(()=>Em,"LanguageMetaData"),parser:{}},EI={Grammar:tD(()=>Ee(),"Grammar"),LanguageMetaData:tD(()=>Eh,"LanguageMetaData"),parser:{}},E_={Grammar:tD(()=>Et(),"Grammar"),LanguageMetaData:tD(()=>Ey,"LanguageMetaData"),parser:{}},EP={Grammar:tD(()=>Er(),"Grammar"),LanguageMetaData:tD(()=>Eg,"LanguageMetaData"),parser:{}},EO={Grammar:tD(()=>En(),"Grammar"),LanguageMetaData:tD(()=>ET,"LanguageMetaData"),parser:{}},ED={Grammar:tD(()=>Ei(),"Grammar"),LanguageMetaData:tD(()=>Ev,"LanguageMetaData"),parser:{}},EL={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},EM=class extends vC{static{tD(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return(void 0===n&&(n=this.runCustomConverter(e,t,r)),void 0===n)?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=EL[e.name];if(void 0===n)return;let i=n.exec(t);if(null!==i){if(void 0!==i[1])return i[1].trim().replace(/[\t ]{2,}/gm," ");if(void 0!==i[2])return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n")}}},Ej=class extends EM{static{tD(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},EF=class extends vA{static{tD(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}};(class extends EF{static{tD(this,"CommonTokenBuilder")}})},5552(e,t,r){r.d(t,{f:()=>s});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Bg,a);return t.ServiceRegistry.register(r),{shared:t,Radar:r}}(0,n.K2)(s,"createRadarServices")},9427(e,t,r){r.d(t,{J:()=>s});var n=r(4954),i=class extends n.dg{static{(0,n.K2)(this,"WardleyValueConverter")}runCustomConverter(e,t,r){return"LINK_LABEL"===e.name.toUpperCase()?t.substring(1).trim():void 0}},a={parser:{ValueConverter:(0,n.K2)(()=>new i,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Xr,a);return t.ServiceRegistry.register(r),{shared:t,Wardley:r}}(0,n.K2)(s,"createWardleyServices")},145(e,t,r){r.d(t,{I:()=>o});var n=r(4954),i=class extends n.dg{static{(0,n.K2)(this,"TreeViewValueConverter")}runCustomConverter(e,t,r){if("INDENTATION"===e.name)return t?.length||0;if("QUOTED_NAME"===e.name)return t.substring(1,t.length-1);if("BARE_NAME"===e.name)return t.replace(/[\t ]+$/,"");if("CLASS_ANNOTATION"===e.name)return t.trim().substring(3).trim();if("ICON_ANNOTATION"===e.name){let e=t.trim();return e.substring(5,e.length-1)}if("DESC_ANNOTATION"===e.name)return t.trim().substring(2).trim()}},a=class extends n.mR{static{(0,n.K2)(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},s={parser:{TokenBuilder:(0,n.K2)(()=>new a,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new i,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.CZ,s);return t.ServiceRegistry.register(r),{shared:t,TreeView:r}}(0,n.K2)(o,"createTreeViewServices")},1721(e,t,r){r.d(t,{b:()=>s});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.d$,a);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}(0,n.K2)(s,"createGitGraphServices")},6045(e,t,r){r.d(t,{l:()=>l});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadTokenBuilder")}constructor(){super(["railroad-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){if("RR_STRING"===e.name)return a(t)}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Bi,o);return t.ServiceRegistry.register(r),{shared:t,Railroad:r}}(0,n.K2)(l,"createRailroadServices")},3263(e,t,r){r.d(t,{$:()=>s});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.p5,a);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}(0,n.K2)(s,"createPacketServices")},9096(e,t,r){r.d(t,{s:()=>o});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadAbnfTokenBuilder")}constructor(){super(["railroad-abnf-beta"])}},a=class extends n.dg{static{(0,n.K2)(this,"RailroadAbnfValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return e.slice(1,-1)}return n}runCustomConverter(e,t,r){if("ABNF_STRING"===e.name)return t.slice(1,-1)}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.oI,s);return t.ServiceRegistry.register(r),{shared:t,RailroadAbnf:r}}(0,n.K2)(o,"createRailroadAbnfServices")},8731(e,t,r){r.d(t,{F5:()=>o.F5,Pz:()=>s.P,WG:()=>i.W,lz:()=>n.l,qg:()=>c,sB:()=>a.s,zg:()=>p}),r(5552);var n=r(6045),i=r(4916),a=r(9096),s=r(3245);r(6527),r(9427),r(3279),r(1721),r(4614),r(3263),r(6041),r(145),r(5796),r(2688);var o=r(4954),l={},u={info:(0,o.K2)(async()=>{let{createInfoServices:e}=await r.e("190").then(r.bind(r,6445));l.info=e().Info.parser.LangiumParser},"info"),packet:(0,o.K2)(async()=>{let{createPacketServices:e}=await r.e("612").then(r.bind(r,3327));l.packet=e().Packet.parser.LangiumParser},"packet"),pie:(0,o.K2)(async()=>{let{createPieServices:e}=await r.e("2395").then(r.bind(r,9590));l.pie=e().Pie.parser.LangiumParser},"pie"),treeView:(0,o.K2)(async()=>{let{createTreeViewServices:e}=await r.e("6771").then(r.bind(r,4142));l.treeView=e().TreeView.parser.LangiumParser},"treeView"),architecture:(0,o.K2)(async()=>{let{createArchitectureServices:e}=await r.e("6762").then(r.bind(r,7089));l.architecture=e().Architecture.parser.LangiumParser},"architecture"),gitGraph:(0,o.K2)(async()=>{let{createGitGraphServices:e}=await r.e("9010").then(r.bind(r,9945));l.gitGraph=e().GitGraph.parser.LangiumParser},"gitGraph"),eventmodeling:(0,o.K2)(async()=>{let{createEventModelingServices:e}=await r.e("3312").then(r.bind(r,2355));l.eventmodeling=e().EventModel.parser.LangiumParser},"eventmodeling"),radar:(0,o.K2)(async()=>{let{createRadarServices:e}=await r.e("718").then(r.bind(r,8365));l.radar=e().Radar.parser.LangiumParser},"radar"),railroad:(0,o.K2)(async()=>{let{createRailroadServices:e}=await r.e("5428").then(r.bind(r,2223));l.railroad=e().Railroad.parser.LangiumParser},"railroad"),railroadEbnf:(0,o.K2)(async()=>{let{createRailroadEbnfServices:e}=await r.e("6520").then(r.bind(r,9035));l.railroadEbnf=e().RailroadEbnf.parser.LangiumParser},"railroadEbnf"),railroadAbnf:(0,o.K2)(async()=>{let{createRailroadAbnfServices:e}=await r.e("8665").then(r.bind(r,6480));l.railroadAbnf=e().RailroadAbnf.parser.LangiumParser},"railroadAbnf"),railroadPeg:(0,o.K2)(async()=>{let{createRailroadPegServices:e}=await r.e("3009").then(r.bind(r,5784));l.railroadPeg=e().RailroadPeg.parser.LangiumParser},"railroadPeg"),treemap:(0,o.K2)(async()=>{let{createTreemapServices:e}=await r.e("2853").then(r.bind(r,884));l.treemap=e().Treemap.parser.LangiumParser},"treemap"),wardley:(0,o.K2)(async()=>{let{createWardleyServices:e}=await r.e("3017").then(r.bind(r,7632));l.wardley=e().Wardley.parser.LangiumParser},"wardley"),cynefin:(0,o.K2)(async()=>{let{createCynefinServices:e}=await r.e("255").then(r.bind(r,7636));l.cynefin=e().Cynefin.parser.LangiumParser},"cynefin")};async function c(e,t){let r=u[e];if(!r)throw Error(`Unknown diagram type: ${e}`);l[e]||await r();let n=l[e].parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new p(n);return n.value}(0,o.K2)(c,"parse");var p=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>{let t=void 0===e.line||isNaN(e.line)?"?":e.line,r=void 0===e.column||isNaN(e.column)?"?":e.column;return`Lexer error on line ${t}, column ${r}: ${e.message}`}).join("\n"),r=e.parserErrors.map(e=>{let t=void 0===e.token.startLine||isNaN(e.token.startLine)?"?":e.token.startLine,r=void 0===e.token.startColumn||isNaN(e.token.startColumn)?"?":e.token.startColumn;return`Parse error on line ${t}, column ${r}: ${e.message}`}).join("\n");super(`Parsing failed: ${t} ${r}`),this.result=e}static{(0,o.K2)(this,"MermaidParseError")}}}}]); \ No newline at end of file diff --git a/assets/js/4950.3fa51f56.js b/assets/js/4950.3fa51f56.js new file mode 100644 index 0000000..5b65e93 --- /dev/null +++ b/assets/js/4950.3fa51f56.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4950"],{165(e,t,n){function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function a(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,t){var n="u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=h(e))||t){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function s(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||h(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||h(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function h(e,t){if(e){if("string"==typeof e)return r(e,t);var n=({}).toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}n.d(t,{A:()=>cm});var f,p,g,v,y,b,x,w="u"<typeof window?null:window,E=w?w.navigator:null;w&&w.document;var k=d(""),T=d({}),C=d(function(){}),P="u"<typeof HTMLElement?"undefined":d(HTMLElement),S=function(e){return e&&e.instanceString&&D(e.instanceString)?e.instanceString():null},B=function(e){return null!=e&&d(e)==k},D=function(e){return null!=e&&d(e)===C},_=function(e){return!L(e)&&(Array.isArray?Array.isArray(e):null!=e&&e instanceof Array)},A=function(e){return null!=e&&d(e)===T&&!_(e)&&e.constructor===Object},M=function(e){return null!=e&&d(e)===d(1)&&!isNaN(e)},R=function(e){return M(e)&&Math.floor(e)===e},I=function(e){if("undefined"!==P)return null!=e&&e instanceof HTMLElement},L=function(e){return N(e)||z(e)},N=function(e){return"collection"===S(e)&&e._private.single},z=function(e){return"collection"===S(e)&&!e._private.single},O=function(e){return"core"===S(e)},V=function(e){return"stylesheet"===S(e)},F=function(e){return null==e||!!(""===e||e.match(/^\s+$/))},X=function(e){return null!=e&&d(e)===T&&D(e.then)},j=function(e,t){t||(t=function(){if(1==arguments.length)return arguments[0];if(0==arguments.length)return"undefined";for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);return e.join("$")});var n=function(){var r,i=arguments,a=t.apply(this,i),o=n.cache;return(r=o[a])||(r=o[a]=e.apply(this,i)),r};return n.cache={},n},Y=j(function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),q=j(function(e){return e.replace(/(-\w)/g,function(e){return e[1].toUpperCase()})}),W=j(function(e,t){return e+t[0].toUpperCase()+t.substring(1)},function(e,t){return e+"$"+t}),U=function(e){return F(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},H=function(e,t){return e.slice(-1*t.length)===t},K="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",G="rgb[a]?\\(("+K+"[%]?)\\s*,\\s*("+K+"[%]?)\\s*,\\s*("+K+"[%]?)(?:\\s*,\\s*("+K+"))?\\)",Z="rgb[a]?\\((?:"+K+"[%]?)\\s*,\\s*(?:"+K+"[%]?)\\s*,\\s*(?:"+K+"[%]?)(?:\\s*,\\s*(?:"+K+"))?\\)",$="hsl[a]?\\(("+K+")\\s*,\\s*("+K+"[%])\\s*,\\s*("+K+"[%])(?:\\s*,\\s*("+K+"))?\\)",Q="hsl[a]?\\((?:"+K+")\\s*,\\s*(?:"+K+"[%])\\s*,\\s*(?:"+K+"[%])(?:\\s*,\\s*(?:"+K+"))?\\)",J=function(e,t){return e<t?-1:+(e>t)},ee=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n<t.length;n++){var r=t[n];if(null!=r)for(var i=Object.keys(r),a=0;a<i.length;a++){var o=i[a];e[o]=r[o]}}return e},et=function(e){if((4===e.length||7===e.length)&&"#"===e[0]){var t,n,r;return 4===e.length?(t=parseInt(e[1]+e[1],16),n=parseInt(e[2]+e[2],16),r=parseInt(e[3]+e[3],16)):(t=parseInt(e[1]+e[2],16),n=parseInt(e[3]+e[4],16),r=parseInt(e[5]+e[6],16)),[t,n,r]}},en=function(e){function t(e,t,n){return(n<0&&(n+=1),n>1&&(n-=1),n<1/6)?e+(t-e)*6*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var n,r,i,a,o,s,l,u,c=RegExp("^"+$+"$").exec(e);if(c){if((r=parseInt(c[1]))<0?r=(360- -1*r%360)%360:r>360&&(r%=360),r/=360,(i=parseFloat(c[2]))<0||i>100||(i/=100,(a=parseFloat(c[3]))<0||a>100)||(a/=100,void 0!==(o=c[4])&&((o=parseFloat(o))<0||o>1)))return;if(0===i)s=l=u=Math.round(255*a);else{var d=a<.5?a*(1+i):a+i-a*i,h=2*a-d;s=Math.round(255*t(h,d,r+1/3)),l=Math.round(255*t(h,d,r)),u=Math.round(255*t(h,d,r-1/3))}n=[s,l,u,o]}return n},er=function(e){var t,n=RegExp("^"+G+"$").exec(e);if(n){t=[];for(var r=[],i=1;i<=3;i++){var a=n[i];if("%"===a[a.length-1]&&(r[i]=!0),a=parseFloat(a),r[i]&&(a=a/100*255),a<0||a>255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t},ei=function(e){return(_(e)?e:null)||ea[e.toLowerCase()]||et(e)||er(e)||en(e)},ea={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]},eo=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i<r;i++){var a=n[i];if(A(a))throw Error("Tried to set map with object key");i<n.length-1?(null==t[a]&&(t[a]={}),t=t[a]):t[a]=e.value}},es=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i<r;i++){var a=n[i];if(A(a))throw Error("Tried to get map with object key");if(null==(t=t[a]))break}return t},el="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{};function eu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ec(){return oo?oa:(oo=1,oa=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)})}function ed(){if(oc)return ou;oc=1;var e=ol?os:(ol=1,os="object"==typeof el&&el&&el.Object===Object&&el),t="object"==typeof self&&self&&self.Object===Object&&self;return ou=e||t||Function("return this")()}function eh(){return om?oy:(om=1,oy=ed().Symbol)}function ef(){if(oT)return ok;oT=1;var e=eh(),t=function(){if(ox)return ob;ox=1;var e=eh(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,i=e?e.toStringTag:void 0;return ob=function(e){var t=n.call(e,i),a=e[i];try{e[i]=void 0;var o=!0}catch(e){}var s=r.call(e);return o&&(t?e[i]=a:delete e[i]),s}}(),n=function(){if(oE)return ow;oE=1;var e=Object.prototype.toString;return ow=function(t){return e.call(t)}}(),r=e?e.toStringTag:void 0;return ok=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":r&&r in Object(e)?t(e):n(e)}}function ep(){if(oB)return oS;oB=1;var e=ef(),t=oP?oC:(oP=1,oC=function(e){return null!=e&&"object"==typeof e});return oS=function(n){return"symbol"==typeof n||t(n)&&"[object Symbol]"==e(n)}}var eg=eu(function(){if(oM)return oA;oM=1;var e=ec(),t=function(){if(oh)return od;oh=1;var e=ed();return od=function(){return e.Date.now()}}(),n=function(){if(o_)return oD;o_=1;var e=function(){if(ov)return og;ov=1;var e=function(){if(op)return of;op=1;var e=/\s/;return of=function(t){for(var n=t.length;n--&&e.test(t.charAt(n)););return n}}(),t=/^\s+/;return og=function(n){return n?n.slice(0,e(n)+1).replace(t,""):n}}(),t=ec(),n=ep(),r=0/0,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,o=/^0o[0-7]+$/i,s=parseInt;return oD=function(l){if("number"==typeof l)return l;if(n(l))return r;if(t(l)){var u="function"==typeof l.valueOf?l.valueOf():l;l=t(u)?u+"":u}if("string"!=typeof l)return 0===l?l:+l;l=e(l);var c=a.test(l);return c||o.test(l)?s(l.slice(2),c?2:8):i.test(l)?r:+l}}(),r=Math.max,i=Math.min;return oA=function(a,o,s){var l,u,c,d,h,f,p=0,g=!1,v=!1,y=!0;if("function"!=typeof a)throw TypeError("Expected a function");function b(e){var t=l,n=u;return l=u=void 0,p=e,d=a.apply(n,t)}function x(e){var t=e-f,n=e-p;return void 0===f||t>=o||t<0||v&&n>=c}function w(){var e,n,r,a=t();if(x(a))return E(a);h=setTimeout(w,(e=a-f,n=a-p,r=o-e,v?i(r,c-n):r))}function E(e){return(h=void 0,y&&l)?b(e):(l=u=void 0,d)}function k(){var e,n=t(),r=x(n);if(l=arguments,u=this,f=n,r){if(void 0===h)return p=e=f,h=setTimeout(w,o),g?b(e):d;if(v)return clearTimeout(h),h=setTimeout(w,o),b(f)}return void 0===h&&(h=setTimeout(w,o)),d}return o=n(o)||0,e(s)&&(g=!!s.leading,c=(v="maxWait"in s)?r(n(s.maxWait)||0,o):c,y="trailing"in s?!!s.trailing:y),k.cancel=function(){void 0!==h&&clearTimeout(h),p=0,l=f=u=h=void 0},k.flush=function(){return void 0===h?d:E(t())},k}}()),ev=w?w.performance:null,ey=ev&&ev.now?function(){return ev.now()}:function(){return Date.now()},em=function(){if(w){if(w.requestAnimationFrame)return function(e){w.requestAnimationFrame(e)};else if(w.mozRequestAnimationFrame)return function(e){w.mozRequestAnimationFrame(e)};else if(w.webkitRequestAnimationFrame)return function(e){w.webkitRequestAnimationFrame(e)};else if(w.msRequestAnimationFrame)return function(e){w.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout(function(){e(ey())},1e3/60)}}(),eb=function(e){return em(e)},ex=function(e){for(var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261,r=n;!(t=e.next()).done;)r=65599*r+t.value|0;return r},ew=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261;return 65599*t+e|0},eE=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5381;return(t<<5)+t+e|0},ek=function(e){return 2097152*e[0]+e[1]},eT=function(e,t){return[ew(e[0],t[0]),eE(e[1],t[1])]},eC=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return ex({next:function(){return r<i?n.value=e[r++]:n.done=!0,n}},t)},eP=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return ex({next:function(){return r<i?n.value=e.charCodeAt(r++):n.done=!0,n}},t)},eS=function(){return eB(arguments)},eB=function(e){for(var t,n=0;n<e.length;n++){var r=e[n];t=0===n?eP(r):eP(r,t)}return t},eD=!0,e_=null!=console.warn,eA=null!=console.trace,eM=Number.MAX_SAFE_INTEGER||0x1fffffffffffff,eR=function(){return!0},eI=function(){return!1},eL=function(){return 0},eN=function(){},ez=function(e){throw Error(e)},eO=function(e){if(void 0===e)return eD;eD=!!e},eV=function(e){eO()&&(e_?console.warn(e):(console.log(e),eA&&console.trace()))},eF=function(e){return null==e?e:_(e)?e.slice():A(e)?ee({},e):e},eX=function(e,t){for(t=e="";e++<36;t+=51*e&52?(15^e?8^Math.random()*(20^e?16:4):4).toString(16):"-");return t},ej={},eY=function(){return ej},eq=function(e){var t=Object.keys(e);return function(n){for(var r={},i=0;i<t.length;i++){var a=t[i],o=null==n?void 0:n[a];r[a]=void 0===o?e[a]:o}return r}},eW=function(e,t,n){for(var r=e.length-1;r>=0;r--)e[r]===t&&e.splice(r,1)},eU=function(e){e.splice(0,e.length)},eH=function(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.push(r)}},eK=function(e,t,n){return n&&(t=W(n,t)),e[t]},eG=function(e,t,n,r){n&&(t=W(n,t)),e[t]=r},eZ=a(function e(){i(this,e),this._obj={}},[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e$="u">typeof Map?Map:eZ,eQ=a(function e(t){if(i(this,e),this._obj=Object.create(null),this.size=0,null!=t){var n;n=null!=t.instanceString&&t.instanceString()===this.instanceString()?t.toArray():t;for(var r=0;r<n.length;r++)this.add(n[r])}},[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(e){var t=this._obj;1!==t[e]&&(t[e]=1,this.size++)}},{key:"delete",value:function(e){var t=this._obj;1===t[e]&&(t[e]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(e){return 1===this._obj[e]}},{key:"toArray",value:function(){var e=this;return Object.keys(this._obj).filter(function(t){return e.has(t)})}},{key:"forEach",value:function(e,t){return this.toArray().forEach(e,t)}}]),eJ=("u"<typeof Set?"undefined":d(Set))!=="undefined"?Set:eQ,e0=function(e,t){var n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(void 0===e||void 0===t||!O(e))return void ez("An element must have a core reference and parameters set");var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"!==r&&"edges"!==r)return void ez("An element must be of type `nodes` or `edges`; you specified `"+r+"`");this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new eJ,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.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(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var l=[];_(t.classes)?l=t.classes:B(t.classes)&&(l=t.classes.split(/\s+/));for(var u=0,c=l.length;u<c;u++){var d=l[u];d&&""!==d&&i.classes.add(d)}this.createEmitter(),(void 0===n||n)&&this.restore();var h=t.style||t.css;h&&(eV("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(h))},e1=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(t,n,r){A(t)&&!L(t)&&(t=(i=t).roots||i.root,n=i.visit,r=i.directed),r=2!=arguments.length||D(n)?r:n,n=D(n)?n:function(){};for(var i,a,o,s=this._private.cy,l=t=B(t)?this.filter(t):t,u=[],c=[],d={},h={},f={},p=0,g=this.byGroup(),v=g.nodes,y=g.edges,b=0;b<l.length;b++){var x=l[b],w=x.id();x.isNode()&&(u.unshift(x),e.bfs&&(f[w]=!0,c.push(x)),h[w]=0)}for(;0!==u.length&&(0===(o=function(){var t,i=e.bfs?u.shift():u.pop(),o=i.id();if(e.dfs){if(f[o])return 0;f[o]=!0,c.push(i)}var s=h[o],l=d[o],g=null!=l?l.source():null,b=null!=l?l.target():null,x=null==l?void 0:i.same(g)?b[0]:g[0];if(!0===(t=n(i,l,x,p++,s)))return a=i,1;if(!1===t)return 1;for(var w=i.connectedEdges().filter(function(e){return(!r||e.source().same(i))&&y.has(e)}),E=0;E<w.length;E++){var k=w[E],T=k.connectedNodes().filter(function(e){return!e.same(i)&&v.has(e)}),C=T.id();0===T.length||f[C]||(T=T[0],u.push(T),e.bfs&&(f[C]=!0,c.push(T)),d[C]=k,h[C]=h[o]+1)}}())||1!==o););for(var E=s.collection(),k=0;k<c.length;k++){var T=c[k],C=d[T.id()];null!=C&&E.push(C),E.push(T)}return{path:s.collection(E),found:s.collection(a)}}},e2={breadthFirstSearch:e1({bfs:!0}),depthFirstSearch:e1({dfs:!0})};e2.bfs=e2.breadthFirstSearch,e2.dfs=e2.depthFirstSearch;var e5={exports:{}},e3=e5.exports,e4=eu(oL?oI:(oL=1,oI=function(){return oR?e5.exports:(oR=1,(function(){var e,t,n,r,i,a,o,s,l,u,c,d,h,f;t=Math.floor,l=Math.min,e=function(e,t){return e<t?-1:+(e>t)},s=function(n,r,i,a,o){var s;if(null==i&&(i=0),null==o&&(o=e),i<0)throw Error("lo must be non-negative");for(null==a&&(a=n.length);i<a;)0>o(r,n[s=t((i+a)/2)])?a=s:i=s+1;return[].splice.apply(n,[i,i-i].concat(r)),r},i=function(t,n,r){return null==r&&(r=e),t.push(n),h(t,0,t.length-1,r)},r=function(t,n){var r,i;return null==n&&(n=e),r=t.pop(),t.length?(i=t[0],t[0]=r,f(t,0,n)):i=r,i},o=function(t,n,r){var i;return null==r&&(r=e),i=t[0],t[0]=n,f(t,0,r),i},a=function(t,n,r){var i;return null==r&&(r=e),t.length&&0>r(t[0],n)&&(n=(i=[t[0],n])[0],t[0]=i[1],f(t,0,r)),n},n=function(n,r){var i,a,o,s,l,u;for(null==r&&(r=e),s=(function(){u=[];for(var e=0,r=t(n.length/2);0<=r?e<r:e>r;0<=r?e++:e--)u.push(e);return u}).apply(this).reverse(),l=[],a=0,o=s.length;a<o;a++)i=s[a],l.push(f(n,i,r));return l},d=function(t,n,r){var i;if(null==r&&(r=e),-1!==(i=t.indexOf(n)))return h(t,0,i,r),f(t,i,r)},u=function(t,r,i){var o,s,l,u;if(null==i&&(i=e),!(o=t.slice(0,r)).length)return o;for(n(o,i),s=0,l=(u=t.slice(r)).length;s<l;s++)a(o,u[s],i);return o.sort(i).reverse()},c=function(t,i,a){var o,u,c,d,h,f,p,g,v;if(null==a&&(a=e),10*i<=t.length){if(!(c=t.slice(0,i).sort(a)).length)return c;for(d=0,u=c[c.length-1],f=(p=t.slice(i)).length;d<f;d++)0>a(o=p[d],u)&&(s(c,o,0,null,a),c.pop(),u=c[c.length-1]);return c}for(n(t,a),v=[],h=0,g=l(i,t.length);0<=g?h<g:h>g;0<=g?++h:--h)v.push(r(t,a));return v},h=function(t,n,r,i){var a,o,s;for(null==i&&(i=e),a=t[r];r>n;){if(0>i(a,o=t[s=r-1>>1])){t[r]=o,r=s;continue}break}return t[r]=a},f=function(t,n,r){var i,a,o,s,l;for(null==r&&(r=e),a=t.length,l=n,o=t[n],i=2*n+1;i<a;)(s=i+1)<a&&!(0>r(t[i],t[s]))&&(i=s),t[n]=t[i],i=2*(n=i)+1;return t[n]=o,h(t,l,n,r)},e5.exports=function(){function t(t){this.cmp=null!=t?t:e,this.nodes=[]}return t.push=i,t.pop=r,t.replace=o,t.pushpop=a,t.heapify=n,t.updateItem=d,t.nlargest=u,t.nsmallest=c,t.prototype.push=function(e){return i(this.nodes,e,this.cmp)},t.prototype.pop=function(){return r(this.nodes,this.cmp)},t.prototype.peek=function(){return this.nodes[0]},t.prototype.contains=function(e){return -1!==this.nodes.indexOf(e)},t.prototype.replace=function(e){return o(this.nodes,e,this.cmp)},t.prototype.pushpop=function(e){return a(this.nodes,e,this.cmp)},t.prototype.heapify=function(){return n(this.nodes,this.cmp)},t.prototype.updateItem=function(e){return d(this.nodes,e,this.cmp)},t.prototype.clear=function(){return this.nodes=[]},t.prototype.empty=function(){return 0===this.nodes.length},t.prototype.size=function(){return this.nodes.length},t.prototype.clone=function(){var e;return(e=new t).nodes=this.nodes.slice(0),e},t.prototype.toArray=function(){return this.nodes.slice(0)},t.prototype.insert=t.prototype.push,t.prototype.top=t.prototype.peek,t.prototype.front=t.prototype.peek,t.prototype.has=t.prototype.contains,t.prototype.copy=t.prototype.clone,t}()}).call(e3),e5.exports)}())),e9=eq({root:null,weight:function(e){return 1},directed:!1}),e6=eq({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),e8=eq({weight:function(e){return 1},directed:!1}),e7=eq({weight:function(e){return 1},directed:!1,root:null}),te=Math.sqrt(2),tt=function(e,t,n){0===n.length&&ez("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],l=n.length-1;l>=0;l--){var u=n[l],c=u[1],d=u[2];(t[c]===o&&t[d]===s||t[c]===s&&t[d]===o)&&n.splice(l,1)}for(var h=0;h<n.length;h++){var f=n[h];f[1]===s?(n[h]=f.slice(),n[h][1]=o):f[2]===s&&(n[h]=f.slice(),n[h][2]=o)}for(var p=0;p<t.length;p++)t[p]===s&&(t[p]=o);return n},tn=function(e,t,n,r){for(;n>r;)t=tt(Math.floor(Math.random()*t.length),e,t),n--;return t},tr=function(e,t,n){return{x:e.x*t+n.x,y:e.y*t+n.y}},ti=function(e,t,n){return{x:(e.x-n.x)/t,y:(e.y-n.y)/t}},ta=function(e){return{x:e[0],y:e[1]}},to=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i<n;i++){var a=e[i];isFinite(a)&&(r=Math.min(a,r))}return r},ts=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i<n;i++){var a=e[i];isFinite(a)&&(r=Math.max(a,r))}return r},tl=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a<n;a++){var o=e[a];isFinite(o)&&(r+=o,i++)}return r/i},tu=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=!(arguments.length>5)||void 0===arguments[5]||arguments[5];r?e=e.slice(t,n):(n<e.length&&e.splice(n,e.length-n),t>0&&e.splice(0,t));for(var o=0,s=e.length-1;s>=0;s--){var l=e[s];a?!isFinite(l)&&(e[s]=-1/0,o++):e.splice(s,1)}i&&e.sort(function(e,t){return e-t});var u=e.length,c=Math.floor(u/2);return u%2!=0?e[c+1+o]:(e[c-1+o]+e[c+o])/2},tc=function(e,t){return 0===t?e:tc(t,e%t)},td=function(e){for(var t=e[0],n=0;n<e.length;n++)if(!R(e[n]))return 0;else n>0&&(t=tc(t,e[n]));return t},th=function(e,t){return Math.atan2(t,e)-Math.PI/2},tf=Math.log2||function(e){return Math.log(e)/Math.log(2)},tp=function(e){return e>0?1:e<0?-1:0},tg=function(e,t){return Math.sqrt(tv(e,t))},tv=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},ty=function(e){for(var t=e.length,n=0,r=0;r<t;r++)n+=e[r];for(var i=0;i<t;i++)e[i]=e[i]/n;return e},tm=function(e,t,n,r){return(1-r)*(1-r)*e+2*(1-r)*r*t+r*r*n},tb=function(e,t,n,r){return{x:tm(e.x,t.x,n.x,r),y:tm(e.y,t.y,n.y,r)}},tx=function(e,t,n,r){var i={x:t.x-e.x,y:t.y-e.y},a=tg(e,t),o={x:i.x/a,y:i.y/a};return n=null==n?0:n,r=null!=r?r:n*a,{x:e.x+o.x*r,y:e.y+o.y*r}},tw=function(e,t,n){return Math.max(e,Math.min(n,t))},tE=function(e){if(null==e)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(null!=e.x1&&null!=e.y1){if(null!=e.x2&&null!=e.y2&&e.x2>=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};else if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},tk=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},tT=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},tC=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},tP=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},tS=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=l(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},tB=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},tD=function(e,t){return!(e.x1>t.x2)&&!(t.x1>e.x2)&&!(e.x2<t.x1)&&!(t.x2<e.x1)&&!(e.y2<t.y1)&&!(t.y2<e.y1)&&!(e.y1>t.y2)&&!(t.y1>e.y2)&&!0},t_=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},tA=function(e,t){return t_(e,t.x,t.y)},tM=function(e,t){return t_(e,t.x1,t.y1)&&t_(e,t.x2,t.y2)},tR=null!=(oN=Math.hypot)?oN:function(e,t){return Math.sqrt(e*e+t*t)},tI=function(e,t,n,r,i,a,o){var s,l,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",c="auto"===u?t3(i,a):u,d=i/2,h=a/2,f=(c=Math.min(c,d,h))!==d,p=c!==h;if(f){var g=n-d+c-o,v=r-h-o,y=n+d-c+o;if((s=tZ(e,t,n,r,g,v,y,v,!1)).length>0)return s}if(p){var b=n+d+o,x=r-h+c-o,w=r+h-c+o;if((s=tZ(e,t,n,r,b,x,b,w,!1)).length>0)return s}if(f){var E=n-d+c-o,k=r+h+o,T=n+d-c+o;if((s=tZ(e,t,n,r,E,k,T,k,!1)).length>0)return s}if(p){var C=n-d-o,P=r-h+c-o,S=r+h-c+o;if((s=tZ(e,t,n,r,C,P,C,S,!1)).length>0)return s}var B=n-d+c,D=r-h+c;if((l=tK(e,t,n,r,B,D,c+o)).length>0&&l[0]<=B&&l[1]<=D)return[l[0],l[1]];var _=n+d-c,A=r-h+c;if((l=tK(e,t,n,r,_,A,c+o)).length>0&&l[0]>=_&&l[1]<=A)return[l[0],l[1]];var M=n+d-c,R=r+h-c;if((l=tK(e,t,n,r,M,R,c+o)).length>0&&l[0]>=M&&l[1]>=R)return[l[0],l[1]];var I=n-d+c,L=r+h-c;return(l=tK(e,t,n,r,I,L,c+o)).length>0&&l[0]<=I&&l[1]>=L?[l[0],l[1]]:[]},tL=function(e,t,n,r,i,a,o){var s=Math.min(n,i),l=Math.max(n,i),u=Math.min(r,a),c=Math.max(r,a);return s-o<=e&&e<=l+o&&u-o<=t&&t<=c+o},tN=function(e,t,n,r,i,a,o,s,l){var u={x1:Math.min(n,o,i)-l,x2:Math.max(n,o,i)+l,y1:Math.min(r,s,a)-l,y2:Math.max(r,s,a)+l};return!(e<u.x1)&&!(e>u.x2)&&!(t<u.y1)&&!(t>u.y2)},tz=function(e,t,n,r){var i=t*t-4*e*(n-=r);if(i<0)return[];var a=Math.sqrt(i),o=2*e;return[(-t+a)/o,(-t-a)/o]},tO=function(e,t,n,r,i){var a,o,s,l,u,c,d,h;if(0===e&&(e=1e-5),t/=e,n/=e,r/=e,a=(o=(3*n-t*t)/9)*o*o+(s=(-(27*r)+t*(9*n-t*t*2))/54)*s,i[1]=0,d=t/3,a>0){u=(u=s+Math.sqrt(a))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),c=(c=s-Math.sqrt(a))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-d+u+c,d+=(u+c)/2,i[4]=i[2]=-d,d=Math.sqrt(3)*(-c+u)/2,i[3]=d,i[5]=-d;return}if(i[5]=i[3]=0,0===a){h=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),i[0]=-d+2*h,i[4]=i[2]=-(h+d);return}l=Math.acos(s/Math.sqrt(l=(o=-o)*o*o)),h=2*Math.sqrt(o),i[0]=-d+h*Math.cos(l/3),i[2]=-d+h*Math.cos((l+2*Math.PI)/3),i[4]=-d+h*Math.cos((l+4*Math.PI)/3)},tV=function(e,t,n,r,i,a,o,s){var l,u=[];tO(n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s,9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,u);for(var c=[],d=0;d<6;d+=2)1e-7>Math.abs(u[d+1])&&u[d]>=0&&u[d]<=1&&c.push(u[d]);c.push(1),c.push(0);for(var h=-1,f=0;f<c.length;f++)l=Math.pow(Math.pow(1-c[f],2)*n+2*(1-c[f])*c[f]*i+c[f]*c[f]*o-e,2)+Math.pow(Math.pow(1-c[f],2)*r+2*(1-c[f])*c[f]*a+c[f]*c[f]*s-t,2),h>=0?l<h&&(h=l):h=l;return h},tF=function(e,t,n,r,i,a){var o=[e-n,t-r],s=[i-n,a-r],l=s[0]*s[0]+s[1]*s[1],u=o[0]*o[0]+o[1]*o[1],c=o[0]*s[0]+o[1]*s[1],d=c*c/l;return c<0?u:d>l?(e-i)*(e-i)+(t-a)*(t-a):u-d},tX=function(e,t,n){for(var r,i,a,o,s=0,l=0;l<n.length/2;l++)if(r=n[2*l],i=n[2*l+1],l+1<n.length/2?(a=n[(l+1)*2],o=n[(l+1)*2+1]):(a=n[(l+1-n.length/2)*2],o=n[(l+1-n.length/2)*2+1]),r==e&&a==e);else{if((!(r>=e)||!(e>=a))&&(!(r<=e)||!(e<=a)))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},tj=function(e,t,n,r,i,a,o,s,l){var u,c=Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var d=Math.cos(-u),h=Math.sin(-u),f=0;f<c.length/2;f++)c[2*f]=a/2*(n[2*f]*d-n[2*f+1]*h),c[2*f+1]=o/2*(n[2*f+1]*d+n[2*f]*h),c[2*f]+=r,c[2*f+1]+=i;return tX(e,t,l>0?tq(tW(c,-l)):c)},tY=function(e,t,n,r,i,a,o,s){for(var l=Array(2*n.length),u=0;u<s.length;u++){var c=s[u];if(l[4*u+0]=c.startX,l[4*u+1]=c.startY,l[4*u+2]=c.stopX,l[4*u+3]=c.stopY,Math.pow(c.cx-e,2)+Math.pow(c.cy-t,2)<=Math.pow(c.radius,2))return!0}return tX(e,t,l)},tq=function(e){for(var t,n,r,i,a,o,s,l,u=Array(e.length/2),c=0;c<e.length/4;c++){t=e[4*c],n=e[4*c+1],r=e[4*c+2],i=e[4*c+3],c<e.length/4-1?(a=e[(c+1)*4],o=e[(c+1)*4+1],s=e[(c+1)*4+2],l=e[(c+1)*4+3]):(a=e[0],o=e[1],s=e[2],l=e[3]);var d=tZ(t,n,r,i,a,o,s,l,!0);u[2*c]=d[0],u[2*c+1]=d[1]}return u},tW=function(e,t){for(var n,r,i,a,o=Array(2*e.length),s=0;s<e.length/2;s++){n=e[2*s],r=e[2*s+1],s<e.length/2-1?(i=e[(s+1)*2],a=e[(s+1)*2+1]):(i=e[0],a=e[1]);var l=a-r,u=-(i-n),c=Math.sqrt(l*l+u*u),d=l/c,h=u/c;o[4*s]=n+d*t,o[4*s+1]=r+h*t,o[4*s+2]=i+d*t,o[4*s+3]=a+h*t}return o},tU=function(e,t,n,r,i,a){var o=n-e,s=r-t,l=Math.sqrt((o/=i)*o+(s/=a)*s),u=l-1;if(u<0)return[];var c=u/l;return[(n-e)*c+e,(r-t)*c+t]},tH=function(e,t,n,r,i,a,o){return e-=i,t-=a,(e/=n/2+o)*e+(t/=r/2+o)*t<=1},tK=function(e,t,n,r,i,a,o){var s=[n-e,r-t],l=[e-i,t-a],u=s[0]*s[0]+s[1]*s[1],c=2*(l[0]*s[0]+l[1]*s[1]),d=c*c-4*u*(l[0]*l[0]+l[1]*l[1]-o*o);if(d<0)return[];var h=(-c+Math.sqrt(d))/(2*u),f=(-c-Math.sqrt(d))/(2*u),p=Math.min(h,f),g=Math.max(h,f),v=[];if(p>=0&&p<=1&&v.push(p),g>=0&&g<=1&&v.push(g),0===v.length)return[];var y=v[0]*s[0]+e,b=v[0]*s[1]+t;return v.length>1?v[0]==v[1]?[y,b]:[y,b,v[1]*s[0]+e,v[1]*s[1]+t]:[y,b]},tG=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},tZ=function(e,t,n,r,i,a,o,s,l){var u=e-i,c=n-e,d=o-i,h=t-a,f=r-t,p=s-a,g=d*h-p*u,v=c*h-f*u,y=p*c-d*f;if(0!==y){var b=g/y,x=v/y;return -.001<=b&&b<=1.001&&-.001<=x&&x<=1.001||l?[e+b*c,t+b*f]:[]}return 0!==g&&0!==v?[]:tG(e,n,o)===o?[o,s]:tG(e,n,i)===i?[i,a]:tG(i,o,n)===n?[n,r]:[]},t$=function(e,t,n,r,i){var a=[],o=r/2,s=i/2;a.push({x:t+o*e[0],y:n+s*e[1]});for(var l=1;l<e.length/2;l++)a.push({x:t+o*e[2*l],y:n+s*e[2*l+1]});return a},tQ=function(e,t,n,r,i,a,o,s){var l,u,c,d,h,f,p=[],g=Array(n.length),v=!0;if(null==a&&(v=!1),v){for(var y=0;y<g.length/2;y++)g[2*y]=n[2*y]*a+r,g[2*y+1]=n[2*y+1]*o+i;u=s>0?tq(tW(g,-s)):g}else u=n;for(var b=0;b<u.length/2;b++)c=u[2*b],d=u[2*b+1],b<u.length/2-1?(h=u[(b+1)*2],f=u[(b+1)*2+1]):(h=u[0],f=u[1]),0!==(l=tZ(e,t,r,i,c,d,h,f)).length&&p.push(l[0],l[1]);return p},tJ=function(e,t,n,r,i,a,o,s,l){var u,c=[],d=Array(2*n.length);l.forEach(function(n,a){0===a?(d[d.length-2]=n.startX,d[d.length-1]=n.startY):(d[4*a-2]=n.startX,d[4*a-1]=n.startY),d[4*a]=n.stopX,d[4*a+1]=n.stopY,0!==(u=tK(e,t,r,i,n.cx,n.cy,n.radius)).length&&c.push(u[0],u[1])});for(var h=0;h<d.length/4;h++)0!==(u=tZ(e,t,r,i,d[4*h],d[4*h+1],d[4*h+2],d[4*h+3],!1)).length&&c.push(u[0],u[1]);if(c.length>2){for(var f=[c[0],c[1]],p=Math.pow(f[0]-e,2)+Math.pow(f[1]-t,2),g=1;g<c.length/2;g++){var v=Math.pow(c[2*g]-e,2)+Math.pow(c[2*g+1]-t,2);v<=p&&(f[0]=c[2*g],f[1]=c[2*g+1],p=v)}return f}return c},t0=function(e,t,n){var r=[e[0]-t[0],e[1]-t[1]],i=Math.sqrt(r[0]*r[0]+r[1]*r[1]),a=(i-n)/i;return a<0&&(a=1e-5),[t[0]+a*r[0],t[1]+a*r[1]]},t1=function(e,t){var n=t5(e,t);return t2(n)},t2=function(e){for(var t,n,r=e.length/2,i=1/0,a=1/0,o=-1/0,s=-1/0,l=0;l<r;l++)t=e[2*l],n=e[2*l+1],i=Math.min(i,t),o=Math.max(o,t),a=Math.min(a,n),s=Math.max(s,n);for(var u=2/(o-i),c=2/(s-a),d=0;d<r;d++)t=e[2*d]=e[2*d]*u,n=e[2*d+1]=e[2*d+1]*c,i=Math.min(i,t),o=Math.max(o,t),a=Math.min(a,n),s=Math.max(s,n);if(a<-1)for(var h=0;h<r;h++)n=e[2*h+1]=e[2*h+1]+(-1-a);return e},t5=function(e,t){var n,r=1/e*2*Math.PI,i=e%2==0?Math.PI/2+r/2:Math.PI/2;i+=t;for(var a=Array(2*e),o=0;o<e;o++)n=o*r+i,a[2*o]=Math.cos(n),a[2*o+1]=Math.sin(-n);return a},t3=function(e,t){return Math.min(e/4,t/4,8)},t4=function(e,t){return Math.min(e/10,t/10,8)},t9=function(){return 8},t6=function(e,t){return{heightOffset:Math.min(15,.05*t),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}};function t8(e,t){function n(e){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=e[(n+1)%e.length],a={x:i.x-r.x,y:i.y-r.y},o={x:-a.y,y:a.x},s=Math.sqrt(o.x*o.x+o.y*o.y);t.push({x:o.x/s,y:o.y/s})}return t}function r(e,t){var n,r=1/0,i=-1/0,a=o(e);try{for(a.s();!(n=a.n()).done;){var s=n.value,l=s.x*t.x+s.y*t.y;r=Math.min(r,l),i=Math.max(i,l)}}catch(e){a.e(e)}finally{a.f()}return{min:r,max:i}}var i,a=o([].concat(u(n(e)),u(n(t))));try{for(a.s();!(i=a.n()).done;){var s=i.value,l=r(e,s),c=r(t,s);if(l.max<c.min||c.max<l.min)return!1}}catch(e){a.e(e)}finally{a.f()}return!0}var t7=eq({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(e){return 1}}),ne=eq({root:null,weight:function(e){return 1},directed:!1,alpha:0}),nt={degreeCentralityNormalized:function(e){e=ne(e);var t=this.cy(),n=this.nodes(),r=n.length;if(e.directed){for(var i={},a={},o=0,s=0,l=0;l<r;l++){var u=n[l],c=u.id();e.root=u;var d=this.degreeCentrality(e);o<d.indegree&&(o=d.indegree),s<d.outdegree&&(s=d.outdegree),i[c]=d.indegree,a[c]=d.outdegree}return{indegree:function(e){return 0==o?0:(B(e)&&(e=t.filter(e)),i[e.id()]/o)},outdegree:function(e){return 0===s?0:(B(e)&&(e=t.filter(e)),a[e.id()]/s)}}}for(var h={},f=0,p=0;p<r;p++){var g=n[p];e.root=g;var v=this.degreeCentrality(e);f<v.degree&&(f=v.degree),h[g.id()]=v.degree}return{degree:function(e){return 0===f?0:(B(e)&&(e=t.filter(e)),h[e.id()]/f)}}},degreeCentrality:function(e){e=ne(e);var t=this.cy(),n=this,r=e,i=r.root,a=r.weight,o=r.directed,s=r.alpha;if(i=t.collection(i)[0],o){for(var l=i.connectedEdges(),u=l.filter(function(e){return e.target().same(i)&&n.has(e)}),c=l.filter(function(e){return e.source().same(i)&&n.has(e)}),d=u.length,h=c.length,f=0,p=0,g=0;g<u.length;g++)f+=a(u[g]);for(var v=0;v<c.length;v++)p+=a(c[v]);return{indegree:Math.pow(d,1-s)*Math.pow(f,s),outdegree:Math.pow(h,1-s)*Math.pow(p,s)}}for(var y=i.connectedEdges().intersection(n),b=y.length,x=0,w=0;w<y.length;w++)x+=a(y[w]);return{degree:Math.pow(b,1-s)*Math.pow(x,s)}}};nt.dc=nt.degreeCentrality,nt.dcn=nt.degreeCentralityNormalised=nt.degreeCentralityNormalized;var nn=eq({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),nr={closenessCentralityNormalized:function(e){for(var t=nn(e),n=t.harmonic,r=t.weight,i=t.directed,a=this.cy(),o={},s=0,l=this.nodes(),u=this.floydWarshall({weight:r,directed:i}),c=0;c<l.length;c++){for(var d=0,h=l[c],f=0;f<l.length;f++)if(c!==f){var p=u.distance(h,l[f]);n?d+=1/p:d+=p}n||(d=1/d),s<d&&(s=d),o[h.id()]=d}return{closeness:function(e){return 0==s?0:o[e=B(e)?a.filter(e)[0].id():e.id()]/s}}},closenessCentrality:function(e){var t=nn(e),n=t.root,r=t.weight,i=t.directed,a=t.harmonic;n=this.filter(n)[0];for(var o=this.dijkstra({root:n,weight:r,directed:i}),s=0,l=this.nodes(),u=0;u<l.length;u++){var c=l[u];if(!c.same(n)){var d=o.distanceTo(c);a?s+=1/d:s+=d}}return a?s:1/s}};nr.cc=nr.closenessCentrality,nr.ccn=nr.closenessCentralityNormalised=nr.closenessCentralityNormalized;var ni=eq({weight:null,directed:!1}),na={betweennessCentrality:function(e){for(var t=ni(e),n=t.directed,r=t.weight,i=null!=r,a=this.cy(),o=this.nodes(),s={},l={},u=0,c=function(e,t){l[e]=t,t>u&&(u=t)},d=function(e){return l[e]},h=0;h<o.length;h++){var f=o[h],p=f.id();n?s[p]=f.outgoers().nodes():s[p]=f.openNeighborhood().nodes(),c(p,0)}for(var g=0;g<o.length;g++)!function(){for(var e=o[g].id(),t=[],n={},l={},u={},h=new e4(function(e,t){return u[e]-u[t]}),f=0;f<o.length;f++){var p=o[f].id();n[p]=[],l[p]=0,u[p]=1/0}for(l[e]=1,u[e]=0,h.push(e);!h.empty();){var v=h.pop();if(t.push(v),i)for(var y=0;y<s[v].length;y++){var b=s[v][y],x=a.getElementById(v),w=r(x.edgesTo(b).length>0?x.edgesTo(b)[0]:b.edgesTo(x)[0]);u[b=b.id()]>u[v]+w&&(u[b]=u[v]+w,0>h.nodes.indexOf(b)?h.push(b):h.updateItem(b),l[b]=0,n[b]=[]),u[b]==u[v]+w&&(l[b]=l[b]+l[v],n[b].push(v))}else for(var E=0;E<s[v].length;E++){var k=s[v][E].id();u[k]==1/0&&(h.push(k),u[k]=u[v]+1),u[k]==u[v]+1&&(l[k]=l[k]+l[v],n[k].push(v))}}for(var T={},C=0;C<o.length;C++)T[o[C].id()]=0;for(;t.length>0;){for(var P=t.pop(),S=0;S<n[P].length;S++){var B=n[P][S];T[B]=T[B]+l[B]/l[P]*(1+T[P])}P!=o[g].id()&&c(P,d(P)+T[P])}}();var v={betweenness:function(e){return d(a.collection(e).id())},betweennessNormalized:function(e){return 0==u?0:d(a.collection(e).id())/u}};return v.betweennessNormalised=v.betweennessNormalized,v}};na.bc=na.betweennessCentrality;var no=eq({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(e){return 1}]}),ns=function(e,t){for(var n=0,r=0;r<t.length;r++)n+=t[r](e);return n},nl=function(e,t,n){for(var r=0;r<t;r++)e[r*t+r]=n},nu=function(e,t){for(var n,r=0;r<t;r++){n=0;for(var i=0;i<t;i++)n+=e[i*t+r];for(var a=0;a<t;a++)e[a*t+r]=e[a*t+r]/n}},nc=function(e,t,n){for(var r=Array(n*n),i=0;i<n;i++){for(var a=0;a<n;a++)r[i*n+a]=0;for(var o=0;o<n;o++)for(var s=0;s<n;s++)r[i*n+s]+=e[i*n+o]*t[o*n+s]}return r},nd=function(e,t,n){for(var r=e.slice(0),i=1;i<n;i++)e=nc(e,r,t);return e},nh=function(e,t,n){for(var r=Array(t*t),i=0;i<t*t;i++)r[i]=Math.pow(e[i],n);return nu(r,t),r},nf=function(e,t,n,r){for(var i=0;i<n;i++)if(Math.round(e[i]*Math.pow(10,r))/Math.pow(10,r)!=Math.round(t[i]*Math.pow(10,r))/Math.pow(10,r))return!1;return!0},np=function(e,t,n,r){for(var i=[],a=0;a<t;a++){for(var o=[],s=0;s<t;s++)Math.round(1e3*e[a*t+s])/1e3>0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i},ng=function(e,t){for(var n=0;n<e.length;n++)if(!t[n]||e[n].id()!==t[n].id())return!1;return!0},nv=function(e){for(var t=0;t<e.length;t++)for(var n=0;n<e.length;n++)t!=n&&ng(e[t],e[n])&&e.splice(n,1);return e},ny=function(e){for(var t=this.nodes(),n=this.edges(),r=this.cy(),i=no(e),a={},o=0;o<t.length;o++)a[t[o].id()]=o;for(var s,l=t.length,u=l*l,c=Array(u),d=0;d<u;d++)c[d]=0;for(var h=0;h<n.length;h++){var f=n[h],p=a[f.source().id()],g=a[f.target().id()],v=ns(f,i.attributes);c[p*l+g]+=v,c[g*l+p]+=v}nl(c,l,i.multFactor),nu(c,l);for(var y=!0,b=0;y&&b<i.maxIterations;)y=!1,nf(c=nh(s=nd(c,l,i.expandFactor),l,i.inflateFactor),s,u,4)||(y=!0),b++;var x=np(c,l,t,r);return nv(x)},nm=function(e){return e},nb=function(e,t){return Math.abs(t-e)},nx=function(e,t,n){return e+nb(t,n)},nw=function(e,t,n){return e+Math.pow(n-t,2)},nE=function(e){return Math.sqrt(e)},nk=function(e,t,n){return Math.max(e,nb(t,n))},nT=function(e,t,n,r,i){for(var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:nm,o=r,s=0;s<e;s++)o=i(o,t(s),n(s));return a(o)},nC={euclidean:function(e,t,n){return e>=2?nT(e,t,n,0,nw,nE):nT(e,t,n,0,nx)},squaredEuclidean:function(e,t,n){return nT(e,t,n,0,nw)},manhattan:function(e,t,n){return nT(e,t,n,0,nx)},max:function(e,t,n){return nT(e,t,n,-1/0,nk)}};function nP(e,t,n,r,i,a){var o;return(o=D(e)?e:nC[e]||nC.euclidean,0===t&&D(e))?o(i,a):o(t,n,r,i,a)}nC["squared-euclidean"]=nC.squaredEuclidean,nC.squaredeuclidean=nC.squaredEuclidean;var nS=eq({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),nB=function(e){return nS(e)},nD=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)};return nP(e,r.length,a,function(e){return r[e](t)},n,t)},n_=function(e,t,n){for(var r=n.length,i=Array(r),a=Array(r),o=Array(t),s=null,l=0;l<r;l++)i[l]=e.min(n[l]).value,a[l]=e.max(n[l]).value;for(var u=0;u<t;u++){s=[];for(var c=0;c<r;c++)s[c]=Math.random()*(a[c]-i[c])+i[c];o[u]=s}return o},nA=function(e,t,n,r,i){for(var a=1/0,o=0,s=0;s<t.length;s++){var l=nD(n,e,t[s],r,i);l<a&&(a=l,o=s)}return o},nM=function(e,t,n){for(var r=[],i=null,a=0;a<t.length;a++)n[(i=t[a]).id()]===e&&r.push(i);return r},nR=function(e,t,n){for(var r=0;r<e.length;r++)for(var i=0;i<e[r].length;i++)if(Math.abs(e[r][i]-t[r][i])>n)return!1;return!0},nI=function(e,t,n){for(var r=0;r<n;r++)if(e===t[r])return!0;return!1},nL=function(e,t){var n=Array(t);if(e.length<50)for(var r=0;r<t;r++){for(var i=e[Math.floor(Math.random()*e.length)];nI(i,n,r);)i=e[Math.floor(Math.random()*e.length)];n[r]=i}else for(var a=0;a<t;a++)n[a]=e[Math.floor(Math.random()*e.length)];return n},nN=function(e,t,n){for(var r=0,i=0;i<t.length;i++)r+=nD("manhattan",t[i],e,n,"kMedoids");return r},nz=function(e,t,n,r,i){for(var a,o,s=0;s<t.length;s++)for(var l=0;l<e.length;l++)r[s][l]=Math.pow(n[s][l],i.m);for(var u=0;u<e.length;u++)for(var c=0;c<i.attributes.length;c++){a=0,o=0;for(var d=0;d<t.length;d++)a+=r[d][u]*i.attributes[c](t[d]),o+=r[d][u];e[u][c]=a/o}},nO=function(e,t,n,r,i){for(var a,o=0;o<e.length;o++)t[o]=e[o].slice();for(var s=2/(i.m-1),l=0;l<n.length;l++)for(var u=0;u<r.length;u++){a=0;for(var c=0;c<n.length;c++)a+=Math.pow(nD(i.distance,r[u],n[l],i.attributes,"cmeans")/nD(i.distance,r[u],n[c],i.attributes,"cmeans"),s);e[u][l]=1/a}},nV=function(e,t,n,r){for(var i,a,o=Array(n.k),s=0;s<o.length;s++)o[s]=[];for(var l=0;l<t.length;l++){i=-1/0,a=-1;for(var u=0;u<t[0].length;u++)t[l][u]>i&&(i=t[l][u],a=u);o[a].push(e[l])}for(var c=0;c<o.length;c++)o[c]=r.collection(o[c]);return o},nF=function(e){var t,n,r,i,a=this.cy(),o=this.nodes(),s=nB(e);r=Array(o.length);for(var l=0;l<o.length;l++)r[l]=Array(s.k);n=Array(o.length);for(var u=0;u<o.length;u++)n[u]=Array(s.k);for(var c=0;c<o.length;c++){for(var d=0,h=0;h<s.k;h++)n[c][h]=Math.random(),d+=n[c][h];for(var f=0;f<s.k;f++)n[c][f]=n[c][f]/d}t=Array(s.k);for(var p=0;p<s.k;p++)t[p]=Array(s.attributes.length);i=Array(o.length);for(var g=0;g<o.length;g++)i[g]=Array(s.k);for(var v=!0,y=0;v&&y<s.maxIterations;)v=!1,nz(t,o,n,i,s),nO(n,r,t,o,s),nR(n,r,s.sensitivityThreshold)||(v=!0),y++;return{clusters:nV(o,n,s,a),degreeOfMembership:n}},nX=eq({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),nj={single:"min",complete:"max"},nY=function(e){var t=nX(e),n=nj[t.linkage];return null!=n&&(t.linkage=n),t},nq=function(e,t,n,r,i){for(var a,o,s=0,l=1/0,u=i.attributes,c=function(e,t){return nP(i.distance,u.length,function(t){return u[t](e)},function(e){return u[e](t)},e,t)},d=0;d<e.length;d++){var h=e[d].key,f=n[h][r[h]];f<l&&(s=h,l=f)}if("threshold"===i.mode&&l>=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var p=t[s],g=t[r[s]];o="dendrogram"===i.mode?{left:p,right:g,key:p.key}:{value:p.value.concat(g.value),key:p.key},e[p.index]=o,e.splice(g.index,1),t[p.key]=o;for(var v=0;v<e.length;v++){var y=e[v];p.key===y.key?a=1/0:"min"===i.linkage?(a=n[p.key][y.key],n[p.key][y.key]>n[g.key][y.key]&&(a=n[g.key][y.key])):"max"===i.linkage?(a=n[p.key][y.key],n[p.key][y.key]<n[g.key][y.key]&&(a=n[g.key][y.key])):a="mean"===i.linkage?(n[p.key][y.key]*p.size+n[g.key][y.key]*g.size)/(p.size+g.size):"dendrogram"===i.mode?c(y.value,p.value):c(y.value[0],p.value[0]),n[p.key][y.key]=n[y.key][p.key]=a}for(var b=0;b<e.length;b++){var x=e[b].key;if(r[x]===p.key||r[x]===g.key){for(var w=x,E=0;E<e.length;E++){var k=e[E].key;n[x][k]<n[x][w]&&(w=k)}r[x]=w}e[b].index=b}return p.key=g.key=p.index=g.index=null,!0},nW=function(e,t,n){e&&(e.value?t.push(e.value):(e.left&&nW(e.left,t),e.right&&nW(e.right,t)))},nU=function(e,t){if(!e)return"";if(e.left&&e.right){var n=nU(e.left,t),r=nU(e.right,t),i=t.add({group:"nodes",data:{id:n+","+r}});return t.add({group:"edges",data:{source:n,target:i.id()}}),t.add({group:"edges",data:{source:r,target:i.id()}}),i.id()}if(e.value)return e.value.id()},nH=function(e,t,n){if(!e)return[];var r=[],i=[],a=[];if(0===t)return e.left&&nW(e.left,r),e.right&&nW(e.right,i),a=r.concat(i),[n.collection(a)];if(1===t)if(e.value)return[n.collection(e.value)];else return e.left&&nW(e.left,r),e.right&&nW(e.right,i),[n.collection(r),n.collection(i)];return e.value?[n.collection(e.value)]:(e.left&&(r=nH(e.left,t-1,n)),e.right&&(i=nH(e.right,t-1,n)),r.concat(i))},nK=function(e){for(var t,n=this.cy(),r=this.nodes(),i=nY(e),a=i.attributes,o=function(e,t){return nP(i.distance,a.length,function(t){return a[t](e)},function(e){return a[e](t)},e,t)},s=[],l=[],u=[],c=[],d=0;d<r.length;d++){var h={value:"dendrogram"===i.mode?r[d]:[r[d]],key:d,index:d};s[d]=h,c[d]=h,l[d]=[],u[d]=0}for(var f=0;f<s.length;f++)for(var p=0;p<=f;p++){var g=void 0;g="dendrogram"===i.mode?f===p?1/0:o(s[f].value,s[p].value):f===p?1/0:o(s[f].value[0],s[p].value[0]),l[f][p]=g,l[p][f]=g,g<l[f][u[f]]&&(u[f]=p)}for(var v=nq(s,c,l,u,i);v;)v=nq(s,c,l,u,i);return"dendrogram"===i.mode?(t=nH(s[0],i.dendrogramDepth,n),i.addDendrogram&&nU(s[0],n)):(t=Array(s.length),s.forEach(function(e,r){e.key=e.index=null,t[r]=n.collection(e.value)})),t},nG=eq({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),nZ=function(e){var t=e.damping,n=e.preference;.5<=t&&t<1||ez("Damping must range on [0.5, 1). Got: ".concat(t));var r=["median","mean","min","max"];return r.some(function(e){return e===n})||M(n)||ez("Preference must be one of [".concat(r.map(function(e){return"'".concat(e,"'")}).join(", "),"] or a number. Got: ").concat(n)),nG(e)},n$=function(e,t,n,r){var i=function(e,t){return r[t](e)};return-nP(e,r.length,function(e){return i(t,e)},function(e){return i(n,e)},t,n)},nQ=function(e,t){return"median"===t?tu(e):"mean"===t?tl(e):"min"===t?to(e):"max"===t?ts(e):t},nJ=function(e,t,n){for(var r=[],i=0;i<e;i++)t[i*e+i]+n[i*e+i]>0&&r.push(i);return r},n0=function(e,t,n){for(var r=[],i=0;i<e;i++){for(var a=-1,o=-1/0,s=0;s<n.length;s++){var l=n[s];t[i*e+l]>o&&(a=l,o=t[i*e+l])}a>0&&r.push(a)}for(var u=0;u<n.length;u++)r[n[u]]=n[u];return r},n1=function(e,t,n){for(var r=n0(e,t,n),i=0;i<n.length;i++){for(var a=[],o=0;o<r.length;o++)r[o]===n[i]&&a.push(o);for(var s=-1,l=-1/0,u=0;u<a.length;u++){for(var c=0,d=0;d<a.length;d++)c+=t[a[d]*e+a[u]];c>l&&(s=u,l=c)}n[i]=a[s]}return n0(e,t,n)},n2=function(e){for(var t,n,r,i,a,o,s,l=this.cy(),u=this.nodes(),c=nZ(e),d={},h=0;h<u.length;h++)d[u[h].id()]=h;r=Array(n=(t=u.length)*t);for(var f=0;f<n;f++)r[f]=-1/0;for(var p=0;p<t;p++)for(var g=0;g<t;g++)p!==g&&(r[p*t+g]=n$(c.distance,u[p],u[g],c.attributes));i=nQ(r,c.preference);for(var v=0;v<t;v++)r[v*t+v]=i;a=Array(n);for(var y=0;y<n;y++)a[y]=0;o=Array(n);for(var b=0;b<n;b++)o[b]=0;for(var x=Array(t),w=Array(t),E=Array(t),k=0;k<t;k++)x[k]=0,w[k]=0,E[k]=0;for(var T=Array(t*c.minIterations),C=0;C<T.length;C++)T[C]=0;for(s=0;s<c.maxIterations;s++){for(var P=0;P<t;P++){for(var S=-1/0,B=-1/0,D=-1,_=0,A=0;A<t;A++)x[A]=a[P*t+A],(_=o[P*t+A]+r[P*t+A])>=S?(B=S,S=_,D=A):_>B&&(B=_);for(var M=0;M<t;M++)a[P*t+M]=(1-c.damping)*(r[P*t+M]-S)+c.damping*x[M];a[P*t+D]=(1-c.damping)*(r[P*t+D]-B)+c.damping*x[D]}for(var R=0;R<t;R++){for(var I=0,L=0;L<t;L++)x[L]=o[L*t+R],w[L]=Math.max(0,a[L*t+R]),I+=w[L];I-=w[R],w[R]=a[R*t+R],I+=w[R];for(var N=0;N<t;N++)o[N*t+R]=(1-c.damping)*Math.min(0,I-w[N])+c.damping*x[N];o[R*t+R]=(1-c.damping)*(I-w[R])+c.damping*x[R]}for(var z=0,O=0;O<t;O++){var V=+(o[O*t+O]+a[O*t+O]>0);T[s%c.minIterations*t+O]=V,z+=V}if(z>0&&(s>=c.minIterations-1||s==c.maxIterations-1)){for(var F=0,X=0;X<t;X++){E[X]=0;for(var j=0;j<c.minIterations;j++)E[X]+=T[j*t+X];(0===E[X]||E[X]===c.minIterations)&&F++}if(F===t)break}}for(var Y=nJ(t,a,o),q=n1(t,r,Y),W={},U=0;U<Y.length;U++)W[Y[U]]=[];for(var H=0;H<u.length;H++){var K=q[d[u[H].id()]];null!=K&&W[K].push(u[H])}for(var G=Array(Y.length),Z=0;Z<Y.length;Z++)G[Z]=l.collection(W[Y[Z]]);return G},n5=eq({root:void 0,directed:!1}),n3=function(){var e=this,t={},n=0,r=0,i=[],a=[],o={},s=function(n,r){for(var o=a.length-1,s=[],l=e.spawn();a[o].x!=n||a[o].y!=r;)s.push(a.pop().edge),o--;s.push(a.pop().edge),s.forEach(function(n){var r=n.connectedNodes().intersection(e);l.merge(n),r.forEach(function(n){var r=n.id(),i=n.connectedEdges().intersection(e);l.merge(n),t[r].cutVertex?l.merge(i.filter(function(e){return e.isLoop()})):l.merge(i)})}),i.push(l)},l=function(u,c,d){u===d&&(r+=1),t[c]={id:n,low:n++,cutVertex:!1};var h,f,p,g,v=e.getElementById(c).connectedEdges().intersection(e);0===v.size()?i.push(e.spawn(e.getElementById(c))):v.forEach(function(e){h=e.source().id(),f=e.target().id(),(p=h===c?f:h)!==d&&(o[g=e.id()]||(o[g]=!0,a.push({x:c,y:p,edge:e})),p in t?t[c].low=Math.min(t[c].low,t[p].id):(l(u,p,c),t[c].low=Math.min(t[c].low,t[p].low),t[c].id<=t[p].low&&(t[c].cutVertex=!0,s(c,p))))})};e.forEach(function(e){if(e.isNode()){var n=e.id();n in t||(r=0,l(n,n),t[n].cutVertex=r>1)}});var u=Object.keys(t).filter(function(e){return t[e].cutVertex}).map(function(t){return e.getElementById(t)});return{cut:e.spawn(u),components:i}},n4=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e),o=function(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach(function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))}),t[s].index===t[s].low){for(var l=e.spawn();;){var u=i.pop();if(l.merge(e.getElementById(u)),t[u].low=t[s].index,t[u].explored=!0,u===s)break}var c=l.edgesWith(l),d=l.merge(c);r.push(d),a=a.difference(d)}};return e.forEach(function(e){if(e.isNode()){var n=e.id();n in t||o(n)}}),{cut:a,components:r}},n9={};[e2,{dijkstra:function(e){if(!A(e)){var t=arguments;e={root:t[0],weight:t[1],directed:t[2]}}var n=e9(e),r=n.root,i=n.weight,a=n.directed,o=this,s=B(r)?this.filter(r)[0]:r[0],l={},u={},c={},d=this.byGroup(),h=d.nodes,f=d.edges;f.unmergeBy(function(e){return e.isLoop()});for(var p=function(e){return l[e.id()]},g=new e4(function(e,t){return p(e)-p(t)}),v=0;v<h.length;v++){var y=h[v];l[y.id()]=y.same(s)?0:1/0,g.push(y)}for(;g.size()>0;){var b=g.pop(),x=p(b);if(c[b.id()]=x,x!==1/0)for(var w=b.neighborhood().intersect(h),E=0;E<w.length;E++){var k=w[E],T=k.id(),C=function(e,t){for(var n,r=(a?e.edgesTo(t):e.edgesWith(t)).intersect(f),o=1/0,s=0;s<r.length;s++){var l=r[s],u=i(l);(u<o||!n)&&(o=u,n=l)}return{edge:n,dist:o}}(b,k),P=x+C.dist;P<p(k)&&(l[k.id()]=P,g.updateItem(k),u[T]={node:b,edge:C.edge})}}return{distanceTo:function(e){return c[(B(e)?h.filter(e)[0]:e[0]).id()]},pathTo:function(e){var t=B(e)?h.filter(e)[0]:e[0],n=[],r=t,i=r.id();if(t.length>0)for(n.unshift(t);u[i];){var a=u[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},{kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=Array(i),o=function(e){for(var t=0;t<a.length;t++)if(a[t].has(e))return t},s=0;s<i;s++)a[s]=this.spawn(n[s]);for(var l=r.sort(function(t,n){return e(t)-e(n)}),u=0;u<l.length;u++){var c=l[u],d=c.source()[0],h=c.target()[0],f=o(d),p=o(h),g=a[f],v=a[p];f!==p&&(n.merge(c),g.merge(v),a.splice(p,1))}return n}},{aStar:function(e){var t,n,r=this.cy(),i=e6(e),a=i.root,o=i.goal,s=i.heuristic,l=i.directed,u=i.weight;a=r.collection(a)[0],o=r.collection(o)[0];var c=a.id(),d=o.id(),h={},f={},p={},g=new e4(function(e,t){return f[e.id()]-f[t.id()]}),v=new eJ,y={},b={},x=function(e,t){g.push(e),v.add(t)};x(a,c),h[c]=0,f[c]=s(a);for(var w=0;g.size()>0;){if(n=(t=g.pop()).id(),v.delete(n),w++,n===d){for(var E=[],k=o,T=d,C=b[T];E.unshift(k),null!=C&&E.unshift(C),null!=(k=y[T]);)C=b[T=k.id()];return{found:!0,distance:h[n],path:this.spawn(E),steps:w}}p[n]=!0;for(var P=t._private.edges,S=0;S<P.length;S++){var B=P[S];if(this.hasElementWithId(B.id())&&(!l||B.data("source")===n)){var D=B.source(),_=B.target(),A=D.id()!==n?D:_,M=A.id();if(this.hasElementWithId(M)&&!p[M]){var R=h[n]+u(B);if(!v.has(M)){h[M]=R,f[M]=R+s(A),x(A,M),y[M]=t,b[M]=B;continue}R<h[M]&&(h[M]=R,f[M]=R+s(A),g.updateItem(A),y[M]=t,b[M]=B)}}}}return{found:!1,distance:void 0,path:void 0,steps:w}}},{floydWarshall:function(e){for(var t=this.cy(),n=e8(e),r=n.weight,i=n.directed,a=this.byGroup(),o=a.nodes,s=a.edges,l=o.length,u=l*l,c=function(e){return o.indexOf(e)},d=function(e){return o[e]},h=Array(u),f=0;f<u;f++){var p=f%l;(f-p)/l===p?h[f]=0:h[f]=1/0}for(var g=Array(u),v=Array(u),y=0;y<s.length;y++){var b=s[y],x=b.source()[0],w=b.target()[0];if(x!==w){var E=c(x),k=c(w),T=E*l+k,C=r(b);if(h[T]>C&&(h[T]=C,g[T]=k,v[T]=b),!i){var P=k*l+E;!i&&h[P]>C&&(h[P]=C,g[P]=E,v[P]=b)}}}for(var S=0;S<l;S++)for(var D=0;D<l;D++)for(var _=D*l+S,A=0;A<l;A++){var M=D*l+A,R=S*l+A;h[_]+h[R]<h[M]&&(h[M]=h[_]+h[R],g[M]=g[_])}var I=function(e){return c((B(e)?t.filter(e):e)[0])};return{distance:function(e,t){return h[I(e)*l+I(t)]},path:function(e,n){var r,i=I(e),a=I(n),o=d(i);if(i===a)return o.collection();if(null==g[i*l+a])return t.collection();var s=t.collection(),u=i;for(s.merge(o);i!==a;)u=i,i=g[i*l+a],r=v[u*l+i],s.merge(r),s.merge(d(i));return s}}}},{bellmanFord:function(e){var t=this,n=e7(e),r=n.weight,i=n.directed,a=n.root,o=this,s=this.cy(),l=this.byGroup(),u=l.edges,c=l.nodes,d=c.length,h=new e$,f=!1,p=[];a=s.collection(a)[0],u.unmergeBy(function(e){return e.isLoop()});for(var g=u.length,v=function(e){var t=h.get(e.id());return t||(t={},h.set(e.id(),t)),t},y=function(e){return(B(e)?s.$(e):e)[0]},b=0;b<d;b++){var x=c[b],w=v(x);x.same(a)?w.dist=0:w.dist=1/0,w.pred=null,w.edge=null}for(var E=!1,k=function(e,t,n,r,i,a){var o=r.dist+a;o<i.dist&&!n.same(r.edge)&&(i.dist=o,i.pred=e,i.edge=n,E=!0)},T=1;T<d;T++){E=!1;for(var C=0;C<g;C++){var P=u[C],S=P.source(),D=P.target(),_=r(P),A=v(S),M=v(D);k(S,D,P,A,M,_),i||k(D,S,P,M,A,_)}if(!E)break}if(E)for(var R=[],I=0;I<g;I++){var L=u[I],N=L.source(),z=L.target(),O=r(L),V=v(N).dist,F=v(z).dist;if(V+O<F||!i&&F+O<V)if(f||(eV("Graph contains a negative weight cycle for Bellman-Ford"),f=!0),!1!==e.findNegativeWeightCycles){var X=[];V+O<F&&X.push(N),!i&&F+O<V&&X.push(z);for(var j=X.length,Y=0;Y<j;Y++){var q=X[Y],W=[q];W.push(v(q).edge);for(var U=v(q).pred;-1===W.indexOf(U);)W.push(U),W.push(v(U).edge),U=v(U).pred;for(var H=(W=W.slice(W.indexOf(U)))[0].id(),K=0,G=2;G<W.length;G+=2)W[G].id()<H&&(H=W[G].id(),K=G);(W=W.slice(K).concat(W.slice(0,K))).push(W[0]);var Z=W.map(function(e){return e.id()}).join(",");-1===R.indexOf(Z)&&(p.push(o.spawn(W)),R.push(Z))}}else break}return{distanceTo:function(e){return v(y(e)).dist},pathTo:function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a,r=y(e),i=[],s=r;;){if(null==s)return t.spawn();var l=v(s),u=l.edge,c=l.pred;if(i.unshift(s[0]),s.same(n)&&i.length>0)break;null!=u&&i.unshift(u),s=c}return o.spawn(i)},hasNegativeWeightCycle:f,negativeWeightCycles:p}}},{kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy(function(e){return e.isLoop()});var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/te);if(i<2)return void ez("At least 2 nodes are required for Karger-Stein algorithm");for(var l=[],u=0;u<a;u++){var c=r[u];l.push([u,n.indexOf(c.source()),n.indexOf(c.target())])}for(var d=1/0,h=[],f=Array(i),p=Array(i),g=Array(i),v=function(e,t){for(var n=0;n<i;n++)t[n]=e[n]},y=0;y<=o;y++){for(var b=0;b<i;b++)p[b]=b;var x=tn(p,l.slice(),i,s),w=x.slice();v(p,g);var E=tn(p,x,s,2),k=tn(g,w,s,2);E.length<=k.length&&E.length<d?(d=E.length,h=E,v(p,f)):k.length<=E.length&&k.length<d&&(d=k.length,h=k,v(g,f))}for(var T=this.spawn(h.map(function(e){return r[e[0]]})),C=this.spawn(),P=this.spawn(),S=f[0],B=0;B<f.length;B++){var D=f[B],_=n[B];D===S?C.merge(_):P.merge(_)}var A=function(t){var n=e.spawn();return t.forEach(function(t){n.merge(t),t.connectedEdges().forEach(function(t){e.contains(t)&&!T.contains(t)&&n.merge(t)})}),n};return{cut:T,components:[A(C),A(P)],partition1:C,partition2:P}}},{pageRank:function(e){for(var t,n=t7(e),r=n.dampingFactor,i=n.precision,a=n.iterations,o=n.weight,s=this._private.cy,l=this.byGroup(),u=l.nodes,c=l.edges,d=u.length,h=d*d,f=c.length,p=Array(h),g=Array(d),v=(1-r)/d,y=0;y<d;y++){for(var b=0;b<d;b++)p[y*d+b]=0;g[y]=0}for(var x=0;x<f;x++){var w=c[x],E=w.data("source"),k=w.data("target");if(E!==k){var T=u.indexOfId(E),C=u.indexOfId(k),P=o(w),S=C*d+T;p[S]+=P,g[T]+=P}}for(var B=1/d+v,D=0;D<d;D++)if(0===g[D])for(var _=0;_<d;_++)p[_*d+D]=B;else for(var A=0;A<d;A++){var M=A*d+D;p[M]=p[M]/g[D]+v}for(var R=Array(d),I=Array(d),L=0;L<d;L++)R[L]=1;for(var N=0;N<a;N++){for(var z=0;z<d;z++)I[z]=0;for(var O=0;O<d;O++)for(var V=0;V<d;V++){var F=O*d+V;I[O]+=p[F]*R[V]}ty(I),t=R,R=I,I=t;for(var X=0,j=0;j<d;j++){var Y=t[j]-R[j];X+=Y*Y}if(X<i)break}return{rank:function(e){return e=s.collection(e)[0],R[u.indexOf(e)]}}}},nt,nr,na,{markovClustering:ny,mcl:ny},{kMeans:function(e){var t,n=this.cy(),r=this.nodes(),i=null,a=nB(e),o=Array(a.k),s={};a.testMode?"number"==typeof a.testCentroids?(a.testCentroids,t=n_(r,a.k,a.attributes)):t="object"===d(a.testCentroids)?a.testCentroids:n_(r,a.k,a.attributes):t=n_(r,a.k,a.attributes);for(var l=!0,u=0;l&&u<a.maxIterations;){for(var c=0;c<r.length;c++)s[(i=r[c]).id()]=nA(i,t,a.distance,a.attributes,"kMeans");l=!1;for(var h=0;h<a.k;h++){var f=nM(h,r,s);if(0!==f.length){for(var p=a.attributes.length,g=t[h],v=Array(p),y=Array(p),b=0;b<p;b++){y[b]=0;for(var x,w=0;w<f.length;w++)i=f[w],y[b]+=a.attributes[b](i);v[b]=y[b]/f.length,x=v[b],Math.abs(g[b]-x)<=a.sensitivityThreshold||(l=!0)}t[h]=v,o[h]=n.collection(f)}}u++}return o},kMedoids:function(e){var t,n,r=this.cy(),i=this.nodes(),a=null,o=nB(e),s=Array(o.k),l={},u=Array(o.k);o.testMode?"number"==typeof o.testCentroids||(t="object"===d(o.testCentroids)?o.testCentroids:nL(i,o.k)):t=nL(i,o.k);for(var c=!0,h=0;c&&h<o.maxIterations;){for(var f=0;f<i.length;f++)l[(a=i[f]).id()]=nA(a,t,o.distance,o.attributes,"kMedoids");c=!1;for(var p=0;p<t.length;p++){var g=nM(p,i,l);if(0!==g.length){u[p]=nN(t[p],g,o.attributes);for(var v=0;v<g.length;v++)(n=nN(g[v],g,o.attributes))<u[p]&&(u[p]=n,t[p]=g[v],c=!0);s[p]=r.collection(g)}}h++}return s},fuzzyCMeans:nF,fcm:nF},{hierarchicalClustering:nK,hca:nK},{affinityPropagation:n2,ap:n2},{hierholzer:function(e){if(!A(e)){var t,n,r,i=arguments;e={root:i[0],directed:i[1]}}var a=n5(e),o=a.root,s=a.directed,l=!1;o&&(r=B(o)?this.filter(o)[0].id():o[0].id());var u={},c={};s?this.forEach(function(e){var r=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?t?l=!0:t=r:1==s?n?l=!0:n=r:(s>1||o>1)&&(l=!0),u[r]=[],e.outgoers().forEach(function(e){e.isEdge()&&u[r].push(e.id())})}else c[r]=[void 0,e.target().id()]}):this.forEach(function(e){var r=e.id();e.isNode()?(e.degree(!0)%2&&(t?n?l=!0:n=r:t=r),u[r]=[],e.connectedEdges().forEach(function(e){return u[r].push(e.id())})):c[r]=[e.source().id(),e.target().id()]});var d={found:!1,trail:void 0};if(l)return d;if(n&&t)if(s){if(r&&n!=r)return d;r=n}else{if(r&&n!=r&&t!=r)return d;r||(r=n)}else r||(r=this[0].id());var h=function(e){for(var t,n,r,i=e,a=[e];u[i].length;)n=c[t=u[i].shift()][0],i!=(r=c[t][1])?(u[r]=u[r].filter(function(e){return e!=t}),i=r):s||i==n||(u[n]=u[n].filter(function(e){return e!=t}),i=n),a.unshift(t),a.unshift(i);return a},f=[],p=[];for(p=h(r);1!=p.length;)0==u[p[0]].length?(f.unshift(this.getElementById(p.shift())),f.unshift(this.getElementById(p.shift()))):p=h(p.shift()).concat(p);for(var g in f.unshift(this.getElementById(p.shift())),u)if(u[g].length)return d;return d.found=!0,d.trail=this.spawn(f,!0),d}},{hopcroftTarjanBiconnected:n3,htbc:n3,htb:n3,hopcroftTarjanBiconnectedComponents:n3},{tarjanStronglyConnected:n4,tsc:n4,tscc:n4,tarjanStronglyConnectedComponents:n4}].forEach(function(e){ee(n9,e)});var n6=function(e){if(!(this instanceof n6))return new n6(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};n6.prototype={fulfill:function(e){return n8(this,1,"fulfillValue",e)},reject:function(e){return n8(this,2,"rejectReason",e)},then:function(e,t){var n=new n6;return this.onFulfilled.push(rt(e,n,"fulfill")),this.onRejected.push(rt(t,n,"reject")),n7(this),n.proxy}};var n8=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,n7(e)),e},n7=function(e){1===e.state?re(e,"onFulfilled",e.fulfillValue):2===e.state&&re(e,"onRejected",e.rejectReason)},re=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e<r.length;e++)r[e](n)};"function"==typeof setImmediate?setImmediate(i):setTimeout(i,0)}},rt=function(e,t,n){return function(r){if("function"!=typeof e)t[n].call(t,r);else{var i;try{i=e(r)}catch(e){t.reject(e);return}rn(t,i)}}},rn=function(e,t){if(e===t||e.proxy===t)return void e.reject(TypeError("cannot resolve promise with itself"));if("object"===d(t)&&null!==t||"function"==typeof t)try{n=t.then}catch(t){e.reject(t);return}if("function"==typeof n){var n,r=!1;try{n.call(t,function(n){r||(r=!0,n===t?e.reject(TypeError("circular thenable chain")):rn(e,n))},function(t){r||(r=!0,e.reject(t))})}catch(t){r||e.reject(t)}return}e.fulfill(t)};n6.all=function(e){return new n6(function(t,n){for(var r=Array(e.length),i=0,a=function(n,a){r[n]=a,++i===e.length&&t(r)},o=0;o<e.length;o++)!function(t){var r=e[t];null!=r&&null!=r.then?r.then(function(e){a(t,e)},function(e){n(e)}):a(t,r)}(o)})},n6.resolve=function(e){return new n6(function(t,n){t(e)})},n6.reject=function(e){return new n6(function(t,n){n(e)})};var rr="u">typeof Promise?Promise:n6,ri=function(e,t,n){var r=O(e),i=this._private=ee({duration:1e3},t,n);if(i.target=e,i.style=i.style||i.css,i.started=!1,i.playing=!1,i.hooked=!1,i.applying=!1,i.progress=0,i.completes=[],i.frames=[],i.complete&&D(i.complete)&&i.completes.push(i.complete),!r){var a=e.position();i.startPosition=i.startPosition||{x:a.x,y:a.y},i.startStyle=i.startStyle||e.cy().style().getAnimationStartStyle(e,i.style)}if(r){var o=e.pan();i.startPan={x:o.x,y:o.y},i.startZoom=e.zoom()}this.length=1,this[0]=this},ra=ri.prototype;function ro(){return oO?oz:(oO=1,oz=Array.isArray)}function rs(){if(o0)return oJ;o0=1;var e=function(){if(oZ)return oG;oZ=1;var e=function(){if(oj)return oX;oj=1;var e=ef(),t=ec();return oX=function(n){if(!t(n))return!1;var r=e(n);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r}}(),t=function(){if(oU)return oW;oU=1;var e,t=oq?oY:(oq=1,oY=ed()["__core-js_shared__"]),n=(e=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"";return oW=function(e){return!!n&&n in e}}(),n=ec(),r=function(){if(oK)return oH;oK=1;var e=Function.prototype.toString;return oH=function(t){if(null!=t){try{return e.call(t)}catch(e){}try{return t+""}catch(e){}}return""}}(),i=/^\[object .+?Constructor\]$/,a=Object.prototype,o=Function.prototype.toString,s=a.hasOwnProperty,l=RegExp("^"+o.call(s).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return oG=function(a){return!(!n(a)||t(a))&&(e(a)?l:i).test(r(a))}}(),t=oQ?o$:(oQ=1,o$=function(e,t){return null==e?void 0:e[t]});return oJ=function(n,r){var i=t(n,r);return e(i)?i:void 0}}function rl(){return o2?o1:(o2=1,o1=rs()(Object,"create"))}function ru(){return sl?ss:(sl=1,ss=function(e,t){return e===t||e!=e&&t!=t})}function rc(){if(sc)return su;sc=1;var e=ru();return su=function(t,n){for(var r=t.length;r--;)if(e(t[r][0],n))return r;return -1}}function rd(){if(sB)return sS;sB=1;var e=sP?sC:(sP=1,sC=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e});return sS=function(t,n){var r=t.__data__;return e(n)?r["string"==typeof n?"string":"hash"]:r.map}}function rh(){if(sq)return sY;sq=1;var e=function(){if(sj)return sX;sj=1;var e=function(){if(sF)return sV;sF=1;var e=function(){if(sO)return sz;sO=1;var e=function(){if(sT)return sk;sT=1;var e=function(){if(si)return sr;si=1;var e=function(){if(o3)return o5;o3=1;var e=rl();return o5=function(){this.__data__=e?e(null):{},this.size=0}}(),t=o9?o4:(o9=1,o4=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}),n=function(){if(o8)return o6;o8=1;var e=rl(),t=Object.prototype.hasOwnProperty;return o6=function(n){var r=this.__data__;if(e){var i=r[n];return"__lodash_hash_undefined__"===i?void 0:i}return t.call(r,n)?r[n]:void 0}}(),r=function(){if(se)return o7;se=1;var e=rl(),t=Object.prototype.hasOwnProperty;return o7=function(n){var r=this.__data__;return e?void 0!==r[n]:t.call(r,n)}}(),i=function(){if(sn)return st;sn=1;var e=rl();return st=function(t,n){var r=this.__data__;return this.size+=+!this.has(t),r[t]=e&&void 0===n?"__lodash_hash_undefined__":n,this}}();function a(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=n,a.prototype.has=r,a.prototype.set=i,sr=a}(),t=function(){if(sx)return sb;sx=1;var e=so?sa:(so=1,sa=function(){this.__data__=[],this.size=0}),t=function(){if(sh)return sd;sh=1;var e=rc(),t=Array.prototype.splice;return sd=function(n){var r=this.__data__,i=e(r,n);return!(i<0)&&(i==r.length-1?r.pop():t.call(r,i,1),--this.size,!0)}}(),n=function(){if(sp)return sf;sp=1;var e=rc();return sf=function(t){var n=this.__data__,r=e(n,t);return r<0?void 0:n[r][1]}}(),r=function(){if(sv)return sg;sv=1;var e=rc();return sg=function(t){return e(this.__data__,t)>-1}}(),i=function(){if(sm)return sy;sm=1;var e=rc();return sy=function(t,n){var r=this.__data__,i=e(r,t);return i<0?(++this.size,r.push([t,n])):r[i][1]=n,this}}();function a(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=n,a.prototype.has=r,a.prototype.set=i,sb=a}(),n=sE?sw:(sE=1,sw=rs()(ed(),"Map"));return sk=function(){this.size=0,this.__data__={hash:new e,map:new(n||t),string:new e}}}(),t=function(){if(s_)return sD;s_=1;var e=rd();return sD=function(t){var n=e(this,t).delete(t);return this.size-=!!n,n}}(),n=function(){if(sM)return sA;sM=1;var e=rd();return sA=function(t){return e(this,t).get(t)}}(),r=function(){if(sI)return sR;sI=1;var e=rd();return sR=function(t){return e(this,t).has(t)}}(),i=function(){if(sN)return sL;sN=1;var e=rd();return sL=function(t,n){var r=e(this,t),i=r.size;return r.set(t,n),this.size+=+(r.size!=i),this}}();function a(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=n,a.prototype.has=r,a.prototype.set=i,sz=a}();function t(n,r){if("function"!=typeof n||null!=r&&"function"!=typeof r)throw TypeError("Expected a function");var i=function(){var e=arguments,t=r?r.apply(this,e):e[0],a=i.cache;if(a.has(t))return a.get(t);var o=n.apply(this,e);return i.cache=a.set(t,o)||a,o};return i.cache=new(t.Cache||e),i}return t.Cache=e,sV=t}();return sX=function(t){var n=e(t,function(e){return 500===r.size&&r.clear(),e}),r=n.cache;return n}}(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n=/\\(\\)?/g;return sY=e(function(e){var r=[];return 46===e.charCodeAt(0)&&r.push(""),e.replace(t,function(e,t,i,a){r.push(i?a.replace(n,"$1"):t||e)}),r})}function rf(){return sU?sW:(sU=1,sW=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i})}function rp(){if(sZ)return sG;sZ=1;var e=function(){if(sK)return sH;sK=1;var e=eh(),t=rf(),n=ro(),r=ep(),i=e?e.prototype:void 0,a=i?i.toString:void 0;return sH=function e(i){if("string"==typeof i)return i;if(n(i))return t(i,e)+"";if(r(i))return a?a.call(i):"";var o=i+"";return"0"==o&&1/i==-1/0?"-0":o}}();return sG=function(t){return null==t?"":e(t)}}function rg(){if(sQ)return s$;sQ=1;var e=ro(),t=function(){if(oF)return oV;oF=1;var e=ro(),t=ep(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;return oV=function(i,a){if(e(i))return!1;var o=typeof i;return!!("number"==o||"symbol"==o||"boolean"==o||null==i||t(i))||r.test(i)||!n.test(i)||null!=a&&i in Object(a)}}(),n=rh(),r=rp();return s$=function(i,a){return e(i)?i:t(i,a)?[i]:n(r(i))}}function rv(){if(s0)return sJ;s0=1;var e=ep();return sJ=function(t){if("string"==typeof t||e(t))return t;var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}}ee(ra,{instanceString:function(){return"animation"},hook:function(){var e=this._private;if(!e.hooked){var t=e.target._private.animation;(e.queue?t.queue:t.current).push(this),L(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},play:function(){var e=this._private;return 1===e.progress&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var e=this._private;return e.playing=!1,e.started=!1,this},stop:function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(e){var t=this._private;return void 0===e?t.progress*t.duration:this.progress(e/t.duration)},progress:function(e){var t=this._private,n=t.playing;return void 0===e?t.progress:(n&&this.pause(),t.progress=e,t.started=!1,n&&this.play(),this)},completed:function(){return 1===this._private.progress},reverse:function(){var e=this._private,t=e.playing;t&&this.pause(),e.progress=1-e.progress,e.started=!1;var n=function(t,n){var r=e[t];null!=r&&(e[t]=e[n],e[n]=r)};if(n("zoom","startZoom"),n("pan","startPan"),n("position","startPosition"),e.style)for(var r=0;r<e.style.length;r++){var i=e.style[r],a=i.name,o=e.startStyle[a];e.startStyle[a]=i,e.style[r]=o}return t&&this.play(),this},promise:function(e){var t,n=this._private;return t="frame"===e?n.frames:n.completes,new rr(function(e,n){t.push(function(){e()})})}}),ra.complete=ra.completed,ra.run=ra.play,ra.running=ra.playing;var ry=eu(function(){if(s3)return s5;s3=1;var e=function(){if(s2)return s1;s2=1;var e=rg(),t=rv();return s1=function(n,r){r=e(r,n);for(var i=0,a=r.length;null!=n&&i<a;)n=n[t(r[i++])];return i&&i==a?n:void 0}}();return s5=function(t,n,r){var i=null==t?void 0:e(t,n);return void 0===i?r:i}}()),rm=eu(function(){if(lo)return la;lo=1;var e=function(){if(li)return lr;li=1;var e=function(){if(le)return s7;le=1;var e=function(){if(s8)return s6;s8=1;var e=function(){if(s9)return s4;s9=1;var e=rs();return s4=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(e){}}()}();return s6=function(t,n,r){"__proto__"==n&&e?e(t,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[n]=r}}(),t=ru(),n=Object.prototype.hasOwnProperty;return s7=function(r,i,a){var o=r[i];n.call(r,i)&&t(o,a)&&(void 0!==a||i in r)||e(r,i,a)}}(),t=rg(),n=function(){if(ln)return lt;ln=1;var e=/^(?:0|[1-9]\d*)$/;return lt=function(t,n){var r=typeof t;return!!(n=null==n?0x1fffffffffffff:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t<n}}(),r=ec(),i=rv();return lr=function(a,o,s,l){if(!r(a))return a;o=t(o,a);for(var u=-1,c=o.length,d=c-1,h=a;null!=h&&++u<c;){var f=i(o[u]),p=s;if("__proto__"===f||"constructor"===f||"prototype"===f)break;if(u!=d){var g=h[f];void 0===(p=l?l(g,f,h):void 0)&&(p=r(g)?g:n(o[u+1])?[]:{})}e(h,f,p),h=h[f]}return a}}();return la=function(t,n,r){return null==t?t:e(t,n,r)}}()),rb=eu(function(){if(lc)return lu;lc=1;var e=rf(),t=ll?ls:(ll=1,ls=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}),n=ro(),r=ep(),i=rh(),a=rv(),o=rp();return lu=function(s){return n(s)?e(s,a):r(s)?[s]:t(i(o(s)))}}()),rx={};[{animated:function(){return function(){var e=void 0!==this.length;if(!(this._private.cy||this).styleEnabled())return!1;var t=(e?this:[this])[0];if(t)return t._private.animation.current.length>0}},clearQueue:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var t=0;t<e.length;t++)e[t]._private.animation.queue=[];return this}},delay:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animate({delay:e,duration:e,complete:t}):this}},delayAnimation:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animation({delay:e,duration:e,complete:t}):this}},animation:function(){return function(e,t){var n=void 0!==this.length,r=n?this:[this],i=this._private.cy||this,a=!n,o=!a;if(!i.styleEnabled())return this;var s=i.style();if(0===Object.keys(e=ee({},e,t)).length)return new ri(r[0],e);switch(void 0===e.duration&&(e.duration=400),e.duration){case"slow":e.duration=600;break;case"fast":e.duration=200}if(o&&(e.style=s.getPropsList(e.style||e.css),e.css=void 0),o&&null!=e.renderedPosition){var l=e.renderedPosition,u=i.pan(),c=i.zoom();e.position=ti(l,c,u)}if(a&&null!=e.panBy){var d=e.panBy,h=i.pan();e.pan={x:h.x+d.x,y:h.y+d.y}}var f=e.center||e.centre;if(a&&null!=f){var p=i.getCenterPan(f.eles,e.zoom);null!=p&&(e.pan=p)}if(a&&null!=e.fit){var g=e.fit,v=i.getFitViewport(g.eles||g.boundingBox,g.padding);null!=v&&(e.pan=v.pan,e.zoom=v.zoom)}if(a&&A(e.zoom)){var y=i.getZoomedViewport(e.zoom);null!=y?(y.zoomed&&(e.zoom=y.zoom),y.panned&&(e.pan=y.pan)):e.zoom=null}return new ri(r[0],e)}},animate:function(){return function(e,t){var n=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;t&&(e=ee({},e,t));for(var r=0;r<n.length;r++){var i=n[r],a=i.animated()&&(void 0===e.queue||e.queue);i.animation(e,a?{queue:!0}:void 0).play()}return this}},stop:function(){return function(e,t){var n=void 0!==this.length?this:[this],r=this._private.cy||this;if(!r.styleEnabled())return this;for(var i=0;i<n.length;i++){for(var a=n[i]._private,o=a.animation.current,s=0;s<o.length;s++){var l=o[s]._private;t&&(l.duration=0)}e&&(a.animation.queue=[]),t||(a.animation.current=[])}return r.notify("draw"),this}}},{data:function(e){return e=ee({},{field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(e){},beforeSet:function(e,t){},onSet:function(e){},canSet:function(e){return!0}},e),function(t,n){var r,i=e,a=void 0!==this.length,o=a?this:[this],l=a?this[0]:this;if(B(t)){var u,c=-1!==t.indexOf(".")&&rb(t);if(i.allowGetting&&void 0===n)return l&&(i.beforeGet(l),u=c&&void 0===l._private[i.field][t]?ry(l._private[i.field],c):l._private[i.field][t]),u;if(i.allowSetting&&void 0!==n&&!i.immutableKeys[t]){var d=s({},t,n);i.beforeSet(this,d);for(var h=0,f=o.length;h<f;h++){var p=o[h];i.canSet(p)&&(c&&void 0===l._private[i.field][t]?rm(p._private[i.field],c,n):p._private[i.field][t]=n)}i.updateStyle&&this.updateStyle(),i.onSet(this),i.settingTriggersEvent&&this[i.triggerFnName](i.settingEvent)}}else if(i.allowSetting&&A(t)){var g,v,y=Object.keys(t);i.beforeSet(this,t);for(var b=0;b<y.length;b++)if(v=t[g=y[b]],!i.immutableKeys[g])for(var x=0;x<o.length;x++){var w=o[x];i.canSet(w)&&(w._private[i.field][g]=v)}i.updateStyle&&this.updateStyle(),i.onSet(this),i.settingTriggersEvent&&this[i.triggerFnName](i.settingEvent)}else if(i.allowBinding&&D(t))this.on(i.bindingEvent,t);else if(i.allowGetting&&void 0===t)return l&&(i.beforeGet(l),r=l._private[i.field]),r;return this}},removeData:function(e){return e=ee({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},e),function(t){var n=e,r=void 0!==this.length?this:[this];if(B(t)){for(var i=t.split(/\s+/),a=i.length,o=0;o<a;o++){var s=i[o];if(!F(s)&&!n.immutableKeys[s])for(var l=0,u=r.length;l<u;l++)r[l]._private[n.field][s]=void 0}n.triggerEvent&&this[n.triggerFnName](n.event)}else if(void 0===t){for(var c=0,d=r.length;c<d;c++)for(var h=r[c]._private[n.field],f=Object.keys(h),p=0;p<f.length;p++){var g=f[p];n.immutableKeys[g]||(h[g]=void 0)}n.triggerEvent&&this[n.triggerFnName](n.event)}return this}}},{eventAliasesOn:function(e){e.addListener=e.listen=e.bind=e.on,e.unlisten=e.unbind=e.off=e.removeListener,e.trigger=e.emit,e.pon=e.promiseOn=function(e,t){var n=this,r=Array.prototype.slice.call(arguments,0);return new rr(function(e,t){var i=r.concat([function(t){n.off.apply(n,a),e(t)}]),a=i.concat([]);n.on.apply(n,i)})}}}].forEach(function(e){ee(rx,e)});var rw={animate:rx.animate(),animation:rx.animation(),animated:rx.animated(),clearQueue:rx.clearQueue(),delay:rx.delay(),delayAnimation:rx.delayAnimation(),stop:rx.stop()},rE={classes:function(e){if(void 0===e){var t=[];return this[0]._private.classes.forEach(function(e){return t.push(e)}),t}_(e)||(e=(e||"").match(/\S+/g)||[]);for(var n=[],r=new eJ(e),i=0;i<this.length;i++){for(var a=this[i],o=a._private,s=o.classes,l=!1,u=0;u<e.length;u++){var c=e[u];if(!s.has(c)){l=!0;break}}l||(l=s.size!==e.length),l&&(o.classes=r,n.push(a))}return n.length>0&&this.spawn(n).updateStyle().emit("class"),this},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){_(e)||(e=e.match(/\S+/g)||[]);for(var n=void 0===t,r=[],i=0,a=this.length;i<a;i++)for(var o=this[i],s=o._private.classes,l=!1,u=0;u<e.length;u++){var c=e[u],d=s.has(c),h=!1;t||n&&!d?(s.add(c),h=!0):(!t||n&&d)&&(s.delete(c),h=!0),!l&&h&&(r.push(o),l=!0)}return r.length>0&&this.spawn(r).updateStyle().emit("class"),this},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},t),n}};rE.className=rE.classNames=rE.classes;var rk={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:K,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};for(oi=0,rk.variable="(?:[\\w-.]|(?:\\\\"+rk.metaChar+"))+",rk.className="(?:[\\w-]|(?:\\\\"+rk.metaChar+"))+",rk.value=rk.string+"|"+rk.number,rk.id=rk.variable,on=rk.comparatorOp.split("|");oi<on.length;oi++)or=on[oi],rk.comparatorOp+="|@"+or;for(oi=0,on=rk.comparatorOp.split("|");oi<on.length;oi++)(or=on[oi]).indexOf("!")>=0||"="!==or&&(rk.comparatorOp+="|\\!"+or);var rT=function(){return{checks:[]}},rC=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(e,t){return -1*J(e.selector,t.selector)}),rP=function(){for(var e,t={},n=0;n<rC.length;n++)t[(e=rC[n]).selector]=e.matches;return t}(),rS="("+rC.map(function(e){return e.selector}).join("|")+")",rB=function(e){return e.replace(RegExp("\\\\("+rk.metaChar+")","g"),function(e,t){return t})},rD=function(e,t,n){e[e.length-1]=n},r_=[{name:"group",query:!0,regex:"("+rk.group+")",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:0,value:"*"===r?r:r+"s"})}},{name:"state",query:!0,regex:rS,populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:7,value:r})}},{name:"id",query:!0,regex:"\\#("+rk.id+")",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:8,value:rB(r)})}},{name:"className",query:!0,regex:"\\.("+rk.className+")",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:9,value:rB(r)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+rk.variable+")\\s*\\]",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:4,field:rB(r)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+rk.variable+")\\s*("+rk.comparatorOp+")\\s*("+rk.value+")\\s*\\]",populate:function(e,t,n){var r=l(n,3),i=r[0],a=r[1],o=r[2];o=null!=RegExp("^"+rk.string+"$").exec(o)?o.substring(1,o.length-1):parseFloat(o),t.checks.push({type:3,field:rB(i),operator:a,value:o})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+rk.boolOp+")\\s*("+rk.variable+")\\s*\\]",populate:function(e,t,n){var r=l(n,2),i=r[0],a=r[1];t.checks.push({type:5,field:rB(a),operator:i})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+rk.meta+")\\s*("+rk.comparatorOp+")\\s*("+rk.number+")\\s*\\]\\]",populate:function(e,t,n){var r=l(n,3),i=r[0],a=r[1],o=r[2];t.checks.push({type:6,field:rB(i),operator:a,value:parseFloat(o)})}},{name:"nextQuery",separator:!0,regex:rk.separator,populate:function(e,t){var n=e.currentSubject,r=e.edgeCount,i=e.compoundCount,a=e[e.length-1];return null!=n&&(a.subject=n,e.currentSubject=null),a.edgeCount=r,a.compoundCount=i,e.edgeCount=0,e.compoundCount=0,e[e.length++]=rT()}},{name:"directedEdge",separator:!0,regex:rk.directedEdge,populate:function(e,t){if(null==e.currentSubject){var n=rT(),r=rT();return n.checks.push({type:11,source:t,target:r}),rD(e,t,n),e.edgeCount++,r}var i=rT(),a=rT();return i.checks.push({type:12,source:t,target:a}),rD(e,t,i),e.edgeCount++,a}},{name:"undirectedEdge",separator:!0,regex:rk.undirectedEdge,populate:function(e,t){if(null==e.currentSubject){var n=rT(),r=rT();return n.checks.push({type:10,nodes:[t,r]}),rD(e,t,n),e.edgeCount++,r}var i=rT(),a=rT();return i.checks.push({type:14,node:t,neighbor:a}),rD(e,t,i),a}},{name:"child",separator:!0,regex:rk.child,populate:function(e,t){if(null==e.currentSubject){var n=rT(),r=rT(),i=e[e.length-1];return n.checks.push({type:15,parent:i,child:r}),rD(e,t,n),e.compoundCount++,r}if(e.currentSubject===t){var a=rT(),o=e[e.length-1],s=rT(),l=rT(),u=rT(),c=rT();return a.checks.push({type:19,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:20}],c.checks.push({type:20}),s.checks.push({type:17,parent:c,child:u}),rD(e,o,a),e.currentSubject=l,e.compoundCount++,u}var d=rT(),h=rT(),f=[{type:17,parent:d,child:h}];return d.checks=t.checks,t.checks=f,e.compoundCount++,h}},{name:"descendant",separator:!0,regex:rk.descendant,populate:function(e,t){if(null==e.currentSubject){var n=rT(),r=rT(),i=e[e.length-1];return n.checks.push({type:16,ancestor:i,descendant:r}),rD(e,t,n),e.compoundCount++,r}if(e.currentSubject===t){var a=rT(),o=e[e.length-1],s=rT(),l=rT(),u=rT(),c=rT();return a.checks.push({type:19,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:20}],c.checks.push({type:20}),s.checks.push({type:18,ancestor:c,descendant:u}),rD(e,o,a),e.currentSubject=l,e.compoundCount++,u}var d=rT(),h=rT(),f=[{type:18,ancestor:d,descendant:h}];return d.checks=t.checks,t.checks=f,e.compoundCount++,h}},{name:"subject",modifier:!0,regex:rk.subject,populate:function(e,t){if(null!=e.currentSubject&&e.currentSubject!==t)return eV("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=t;var n=e[e.length-1].checks[0],r=null==n?null:n.type;11===r?n.type=13:10===r&&(n.type=14,n.node=n.nodes[1],n.neighbor=n.nodes[0],n.nodes=null)}}];r_.forEach(function(e){return e.regexObj=RegExp("^"+e.regex)});var rA=function(e){for(var t,n,r,i=0;i<r_.length;i++){var a=r_[i],o=a.name,s=e.match(a.regexObj);if(null!=s){n=s,t=a,r=o;var l=s[0];e=e.substring(l.length);break}}return{expr:t,match:n,name:r,remaining:e}},rM=function(e){var t=e.match(/^\s+/);if(t){var n=t[0];e=e.substring(n.length)}return e},rR=function(e,t,n){var r,i,a,o=B(e),s=M(e),l=B(n),u=!1,c=!1,d=!1;switch(t.indexOf("!")>=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),u=!0),(o||l||u)&&(i=o||s?""+e:"",a=""+n),u&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e<n;break;case"<=":d=!0,r=e<=n;break;default:r=!1}return c&&(null!=e||!d)&&(r=!r),r},rI=function(e,t){switch(t){case"?":return!!e;case"!":return!e;case"^":return void 0===e}},rL=function(e,t){return e.data(t)},rN=[],rz=function(e,t){return e.checks.every(function(e){return rN[e.type](e,t)})};rN[0]=function(e,t){var n=e.value;return"*"===n||n===t.group()},rN[7]=function(e,t){var n;return n=e.value,rP[n](t)},rN[8]=function(e,t){var n=e.value;return t.id()===n},rN[9]=function(e,t){var n=e.value;return t.hasClass(n)},rN[6]=function(e,t){var n=e.field,r=e.operator,i=e.value;return rR(t[n](),r,i)},rN[3]=function(e,t){var n=e.field,r=e.operator,i=e.value;return rR(rL(t,n),r,i)},rN[5]=function(e,t){var n=e.field,r=e.operator;return rI(rL(t,n),r)},rN[4]=function(e,t){var n=e.field;return e.operator,void 0!==rL(t,n)},rN[10]=function(e,t){var n=e.nodes[0],r=e.nodes[1],i=t.source(),a=t.target();return rz(n,i)&&rz(r,a)||rz(r,i)&&rz(n,a)},rN[14]=function(e,t){return rz(e.node,t)&&t.neighborhood().some(function(t){return t.isNode()&&rz(e.neighbor,t)})},rN[11]=function(e,t){return rz(e.source,t.source())&&rz(e.target,t.target())},rN[12]=function(e,t){return rz(e.source,t)&&t.outgoers().some(function(t){return t.isNode()&&rz(e.target,t)})},rN[13]=function(e,t){return rz(e.target,t)&&t.incomers().some(function(t){return t.isNode()&&rz(e.source,t)})},rN[15]=function(e,t){return rz(e.child,t)&&rz(e.parent,t.parent())},rN[17]=function(e,t){return rz(e.parent,t)&&t.children().some(function(t){return rz(e.child,t)})},rN[16]=function(e,t){return rz(e.descendant,t)&&t.ancestors().some(function(t){return rz(e.ancestor,t)})},rN[18]=function(e,t){return rz(e.ancestor,t)&&t.descendants().some(function(t){return rz(e.descendant,t)})},rN[19]=function(e,t){return rz(e.subject,t)&&rz(e.left,t)&&rz(e.right,t)},rN[20]=function(){return!0},rN[1]=function(e,t){return e.value.has(t)},rN[2]=function(e,t){return(0,e.value)(t)};var rO=function(e){this.inputText=e,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,null==e||B(e)&&e.match(/^\s*$/)||(L(e)?this.addQuery({checks:[{type:1,value:e.collection()}]}):D(e)?this.addQuery({checks:[{type:2,value:e}]}):B(e)?this.parse(e)||(this.invalid=!0):ez("A selector must be created from a string; found "))},rV=rO.prototype;[{parse:function(e){var t=this.inputText=e,n=this[0]=rT();for(this.length=1,t=rM(t);;){var r=rA(t);if(null==r.expr)return eV("The selector `"+e+"`is invalid"),!1;var i=r.match.slice(1),a=r.expr.populate(this,n,i);if(!1===a)return!1;if(null!=a&&(n=a),(t=r.remaining).match(/^\s*$/))break}var o=this[this.length-1];null!=this.currentSubject&&(o.subject=this.currentSubject),o.edgeCount=this.edgeCount,o.compoundCount=this.compoundCount;for(var s=0;s<this.length;s++){var l=this[s];if(l.compoundCount>0&&l.edgeCount>0)return eV("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return eV("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&eV("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return B(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(r,a){var o=r.type,s=r.value;switch(o){case 0:var l=e(s);return l.substring(0,l.length-1);case 3:return"["+r.field+n(e(r.operator))+t(s)+"]";case 5:var u=r.operator,c=r.field;return"["+e(u)+c+"]";case 4:return"["+r.field+"]";case 6:var d=r.operator;return"[["+r.field+n(e(d))+t(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return i(r.parent,a)+n(">")+i(r.child,a);case 18:case 16:return i(r.ancestor,a)+" "+i(r.descendant,a);case 19:var h=i(r.left,a),f=i(r.subject,a),p=i(r.right,a);return h+(h.length>0?" ":"")+f+p;case 20:return""}},i=function(e,t){return e.checks.reduce(function(n,i,a){return n+(t===e&&0===a?"$":"")+r(i,t)},"")},a="",o=0;o<this.length;o++){var s=this[o];a+=i(s,s.subject),this.length>1&&o<this.length-1&&(a+=", ")}return this.toStringCache=a,a}},{matches:function(e){for(var t=0;t<this.length;t++)if(rz(this[t],e))return!0;return!1},filter:function(e){var t=this;if(1===t.length&&1===t[0].checks.length&&8===t[0].checks[0].type)return e.getElementById(t[0].checks[0].value).collection();var n=function(e){for(var n=0;n<t.length;n++)if(rz(t[n],e))return!0;return!1};return null==t.text()&&(n=function(){return!0}),e.filter(n)}}].forEach(function(e){return ee(rV,e)}),rV.text=function(){return this.inputText},rV.size=function(){return this.length},rV.eq=function(e){return this[e]},rV.sameText=function(e){return!this.invalid&&!e.invalid&&this.text()===e.text()},rV.addQuery=function(e){this[this.length++]=e},rV.selector=rV.toString;var rF={allAre:function(e){var t=new rO(e);return this.every(function(e){return t.matches(e)})},is:function(e){var t=new rO(e);return this.some(function(e){return t.matches(e)})},some:function(e,t){for(var n=0;n<this.length;n++)if(t?e.apply(t,[this[n],n,this]):e(this[n],n,this))return!0;return!1},every:function(e,t){for(var n=0;n<this.length;n++)if(!(t?e.apply(t,[this[n],n,this]):e(this[n],n,this)))return!1;return!0},same:function(e){if(this===e)return!0;e=this.cy().collection(e);var t=this.length;return t===e.length&&(1===t?this[0]===e[0]:this.every(function(t){return e.hasElementWithId(t.id())}))},anySame:function(e){return e=this.cy().collection(e),this.some(function(t){return e.hasElementWithId(t.id())})},allAreNeighbors:function(e){e=this.cy().collection(e);var t=this.neighborhood();return e.every(function(e){return t.hasElementWithId(e.id())})},contains:function(e){e=this.cy().collection(e);var t=this;return e.every(function(e){return t.hasElementWithId(e.id())})}};rF.allAreNeighbours=rF.allAreNeighbors,rF.has=rF.contains,rF.equal=rF.equals=rF.same;var rX=function(e,t){return function(n,r,i,a){if(null==n?o="":L(n)&&1===n.length&&(o=n.id()),1!==this.length||!o)return e.call(this,n,r,i,a);var o,s=this[0]._private,l=s.traversalCache=s.traversalCache||{},u=l[t]=l[t]||[],c=eP(o),d=u[c];return d||(u[c]=e.call(this,n,r,i,a))}},rj={parent:function(e){var t=[];if(1===this.length){var n=this[0]._private.parent;if(n)return n}for(var r=0;r<this.length;r++){var i=this[r]._private.parent;i&&t.push(i)}return this.spawn(t,!0).filter(e)},parents:function(e){for(var t=[],n=this.parent();n.nonempty();){for(var r=0;r<n.length;r++){var i=n[r];t.push(i)}n=n.parent()}return this.spawn(t,!0).filter(e)},commonAncestors:function(e){for(var t,n=0;n<this.length;n++){var r=this[n].parents();t=(t=t||r).intersect(r)}return t.filter(e)},orphans:function(e){return this.stdFilter(function(e){return e.isOrphan()}).filter(e)},nonorphans:function(e){return this.stdFilter(function(e){return e.isChild()}).filter(e)},children:rX(function(e){for(var t=[],n=0;n<this.length;n++)for(var r=this[n]._private.children,i=0;i<r.length;i++)t.push(r[i]);return this.spawn(t,!0).filter(e)},"children"),siblings:function(e){return this.parent().children().not(this).filter(e)},isParent:function(){var e=this[0];if(e)return e.isNode()&&0!==e._private.children.length},isChildless:function(){var e=this[0];if(e)return e.isNode()&&0===e._private.children.length},isChild:function(){var e=this[0];if(e)return e.isNode()&&null!=e._private.parent},isOrphan:function(){var e=this[0];if(e)return e.isNode()&&null==e._private.parent},descendants:function(e){var t=[];return!function e(n){for(var r=0;r<n.length;r++){var i=n[r];t.push(i),i.children().nonempty()&&e(i.children())}}(this.children()),this.spawn(t,!0).filter(e)}};function rY(e,t,n,r){for(var i=[],a=new eJ,o=e.cy().hasCompoundNodes(),s=0;s<e.length;s++){var l=e[s];n?i.push(l):o&&r(i,a,l)}for(;i.length>0;){var u=i.shift();t(u),a.add(u.id()),o&&r(i,a,u)}return e}function rq(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i<r.length;i++){var a=r[i];t.has(a.id())||e.push(a)}}function rW(e,t,n){if(n.isChild()){var r=n._private.parent;t.has(r.id())||e.push(r)}}function rU(e,t,n){rW(e,t,n),rq(e,t,n)}rj.forEachDown=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return rY(this,e,t,rq)},rj.forEachUp=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return rY(this,e,t,rW)},rj.forEachUpAndDown=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return rY(this,e,t,rU)},rj.ancestors=rj.parents,(ld=lh={data:rx.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:rx.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:rx.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:rx.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:rx.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:rx.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=ld.data,ld.removeAttr=ld.removeData;var rH={};function rK(e){return function(t){if(void 0===t&&(t=!0),0!==this.length)if(!this.isNode()||this.removed())return;else{for(var n=0,r=this[0],i=r._private.edges,a=0;a<i.length;a++){var o=i[a];!t&&o.isLoop()||(n+=e(r,o))}return n}}}function rG(e,t){return function(n){for(var r,i=this.nodes(),a=0;a<i.length;a++){var o=i[a][e](n);void 0!==o&&(void 0===r||t(o,r))&&(r=o)}return r}}ee(rH,{degree:rK(function(e,t){return t.source().same(t.target())?2:1}),indegree:rK(function(e,t){return+!!t.target().same(e)}),outdegree:rK(function(e,t){return+!!t.source().same(e)})}),ee(rH,{minDegree:rG("degree",function(e,t){return e<t}),maxDegree:rG("degree",function(e,t){return e>t}),minIndegree:rG("indegree",function(e,t){return e<t}),maxIndegree:rG("indegree",function(e,t){return e>t}),minOutdegree:rG("outdegree",function(e,t){return e<t}),maxOutdegree:rG("outdegree",function(e,t){return e>t})}),ee(rH,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r<n.length;r++)t+=n[r].degree(e);return t}});var rZ=function(e,t,n){for(var r=0;r<e.length;r++){var i=e[r];if(!i.locked()){var a=i._private.position,o={x:null!=t.x?t.x-a.x:0,y:null!=t.y?t.y-a.y:0};i.isParent()&&(0!==o.x||0!==o.y)&&i.children().shift(o,n),i.dirtyBoundingBoxCache()}}},r$={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(e){e.updateCompoundBounds()},beforeSet:function(e,t){rZ(e,t,!1)},onSet:function(e){e.dirtyCompoundBoundsCache()},canSet:function(e){return!e.locked()}};(lf=lp={position:rx.data(r$),silentPosition:rx.data(ee({},r$,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(e,t){rZ(e,t,!0)},onSet:function(e){e.dirtyCompoundBoundsCache()}})),positions:function(e,t){if(A(e))t?this.silentPosition(e):this.position(e);else if(D(e)){var n=this.cy();n.startBatch();for(var r=0;r<this.length;r++){var i=this[r],a=void 0;(a=e(i,r))&&(t?i.silentPosition(a):i.position(a))}n.endBatch()}return this},silentPositions:function(e){return this.positions(e,!0)},shift:function(e,t,n){var r;if(A(e)?(r={x:M(e.x)?e.x:0,y:M(e.y)?e.y:0},n=t):B(e)&&M(t)&&((r={x:0,y:0})[e]=t),null!=r){var i=this.cy();i.startBatch();for(var a=0;a<this.length;a++){var o=this[a];if(!(i.hasCompoundNodes()&&o.isChild()&&o.ancestors().anySame(this))){var s=o.position(),l={x:s.x+r.x,y:s.y+r.y};n?o.silentPosition(l):o.position(l)}}i.endBatch()}return this},silentShift:function(e,t){return A(e)?this.shift(e,!0):B(e)&&M(t)&&this.shift(e,t,!0),this},renderedPosition:function(e,t){var n=this[0],r=this.cy(),i=r.zoom(),a=r.pan(),o=A(e)?e:void 0,s=void 0!==o||void 0!==t&&B(e);if(n&&n.isNode())if(!s)return(o=tr(n.position(),i,a),void 0===e)?o:o[e];else for(var l=0;l<this.length;l++){var u=this[l];void 0!==t?u.position(e,(t-a[e])/i):void 0!==o&&u.position(ti(o,i,a))}else if(!s)return;return this},relativePosition:function(e,t){var n=this[0],r=this.cy(),i=A(e)?e:void 0,a=void 0!==i||void 0!==t&&B(e),o=r.hasCompoundNodes();if(n&&n.isNode())if(a)for(var s=0;s<this.length;s++){var l=this[s],u=o?l.parent():null,c=u&&u.length>0;c&&(u=u[0]);var d=c?u.position():{x:0,y:0};void 0!==t?l.position(e,t+d[e]):void 0!==i&&l.position({x:i.x+d.x,y:i.y+d.y})}else{var h=n.position(),f=o?n.parent():null,p=f&&f.length>0;p&&(f=f[0]);var g=p?f.position():{x:0,y:0};return(i={x:h.x-g.x,y:h.y-g.y},void 0===e)?i:i[e]}else if(!a)return;return this}}).modelPosition=lf.point=lf.position,lf.modelPositions=lf.points=lf.positions,lf.renderedPoint=lf.renderedPosition,lf.relativePoint=lf.relativePosition;var rQ=function(e){switch(e){case"left":case"right-inside":return"left";case"right":case"left-inside":return"right";default:return"center"}},rJ=function(e){switch(e){case"top":case"bottom-inside":return"top";case"bottom":case"top-inside":return"bottom";default:return"center"}},r0=function(e){switch(e){case"left":case"right-inside":return"right";case"right":case"left-inside":return"left";default:return"center"}};lg=lv={},lv.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,l=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:l,w:o-a,h:l-s}},lv.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()&&this.forEachUp(function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}}),this},lv.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes()||!e&&t.batching())return this;for(var n=0;n<this.length;n++){var r=this[n],i=r._private;(!i.compoundBoundsClean||e)&&(!function(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;(0===a.w||0===a.h)&&((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var l=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(l=100*l/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,l),h=d.biasDiff,f=d.biasComplementDiff,p=y(i.height.val-a.h,u,c),g=p.biasDiff,v=p.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"===n.units)switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}return"px"===n.units?n.pfValue:0}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+f)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-g+a.y1+a.y2+v)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}(r),t.batching()||(i.compoundBoundsClean=!0))}return this};var r1=function(e){return e===1/0||e===-1/0?0:e},r2=function(e,t,n,r,i){r-t==0||i-n==0||null!=t&&null!=n&&null!=r&&null!=i&&(e.x1=t<e.x1?t:e.x1,e.x2=r>e.x2?r:e.x2,e.y1=n<e.y1?n:e.y1,e.y2=i>e.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},r5=function(e,t){return null==t?e:r2(e,t.x1,t.y1,t.x2,t.y2)},r3=function(e,t,n){return eK(e,t,n)},r4=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var l=a.arrowBounds=a.arrowBounds||{},u=l[n]=l[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,tP(u,1),r2(e,u.x1,u.y1,u.x2,u.y2)}}},r9=function(e,t,n){if(!t.cy().headless()){a=n?n+"-":"";var r=t._private,i=r.rstyle;if(t.pstyle(a+"label").strValue){var a,o,s,l,u,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=r3(i,"labelWidth",n),f=r3(i,"labelHeight",n),p=r3(i,"labelX",n),g=r3(i,"labelY",n),v=t.pstyle(a+"text-margin-x").pfValue,y=t.pstyle(a+"text-margin-y").pfValue,b=t.isEdge(),x=t.pstyle(a+"text-rotation"),w=t.pstyle("text-outline-width").pfValue,E=t.pstyle("text-border-width").pfValue/2,k=t.pstyle("text-background-padding").pfValue,T=h/2,C=f/2;if(b)o=p-T,s=p+T,l=g-C,u=g+C;else{switch(rQ(c.value)){case"left":o=p-h,s=p;break;case"center":o=p-T,s=p+T;break;case"right":o=p,s=p+h}switch(rJ(d.value)){case"top":l=g-f,u=g;break;case"center":l=g-C,u=g+C;break;case"bottom":l=g,u=g+f}}var P=v-Math.max(w,E)-k-2,S=v+Math.max(w,E)+k+2,B=y-Math.max(w,E)-k-2,D=y+Math.max(w,E)+k+2;o+=P,s+=S,l+=B,u+=D;var _=n||"main",A=r.labelBounds,M=A[_]=A[_]||{};M.x1=o,M.y1=l,M.x2=s,M.y2=u,M.w=s-o,M.h=u-l,M.leftPad=P,M.rightPad=S,M.topPad=B,M.botPad=D;var R=b&&"autorotate"===x.strValue,I=null!=x.pfValue&&0!==x.pfValue;if(R||I){var L=R?r3(r.rstyle,"labelAngle",n):x.pfValue,N=Math.cos(L),z=Math.sin(L),O=(o+s)/2,V=(l+u)/2;if(!b){switch(rQ(c.value)){case"left":O=s;break;case"right":O=o}switch(rJ(d.value)){case"top":V=u;break;case"bottom":V=l}}var F=function(e,t){return{x:(e-=O)*N-(t-=V)*z+O,y:e*z+t*N+V}},X=F(o,l),j=F(o,u),Y=F(s,l),q=F(s,u);o=Math.min(X.x,j.x,Y.x,q.x),s=Math.max(X.x,j.x,Y.x,q.x),l=Math.min(X.y,j.y,Y.y,q.y),u=Math.max(X.y,j.y,Y.y,q.y)}var W=_+"Rot",U=A[W]=A[W]||{};U.x1=o,U.y1=l,U.x2=s,U.y2=u,U.w=s-o,U.h=u-l,r2(e,o,l,s,u),r2(r.labelBounds.all,o,l,s,u)}return e}},r6=function(e,t){if(!t.cy().headless()){var n=t.pstyle("outline-opacity").value,r=t.pstyle("outline-width").value+t.pstyle("outline-offset").value;r8(e,t,n,r,"outside",r/2)}},r8=function(e,t,n,r,i,a){if(0!==n&&!(r<=0)&&"inside"!==i){var o=t.cy().renderer(),s=o.nodeShapes[o.getNodeShape(t)];if(s){var l=t.position(),u=l.x,c=l.y,d=t.width(),h=t.height();s.hasMiterBounds?("center"===i&&(r/=2),r5(e,s.miterBounds(u,c,d,h,r))):null!=a&&a>0&&tS(e,[a,a,a,a])}}},r7=function(e,t){if(!t.cy().headless()){var n=t.pstyle("border-opacity").value,r=t.pstyle("border-width").pfValue,i=t.pstyle("border-position").value;r8(e,t,n,r,i)}},ie=function(e,t){var n=e._private.cy,r=n.styleEnabled(),i=n.headless(),a=tE(),o=e._private,s=e.isNode(),l=e.isEdge(),u=o.rstyle,c=s&&r?e.pstyle("bounds-expansion").pfValue:[0],d=function(e){return"none"!==e.pstyle("display").value},h=!r||d(e)&&(!l||d(e.source())&&d(e.target()));if(h){var f=0;r&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(f=e.pstyle("overlay-padding").value);var p=0;r&&t.includeUnderlays&&0!==e.pstyle("underlay-opacity").value&&(p=e.pstyle("underlay-padding").value);var g=Math.max(f,p),v=0;if(r&&(v=e.pstyle("width").pfValue/2),s&&t.includeNodes){var y=e.position();C=y.x,P=y.y;var b=e.outerWidth()/2,x=e.outerHeight()/2;w=C-b,E=C+b,r2(a,w,k=P-x,E,T=P+x),r&&r6(a,e),r&&t.includeOutlines&&!i&&r6(a,e),r&&r7(a,e)}else if(l&&t.includeEdges)if(r&&!i){var w,E,k,T,C,P,S,B=e.pstyle("curve-style").strValue;if(w=Math.min(u.srcX,u.midX,u.tgtX),E=Math.max(u.srcX,u.midX,u.tgtX),k=Math.min(u.srcY,u.midY,u.tgtY),T=Math.max(u.srcY,u.midY,u.tgtY),w-=v,E+=v,r2(a,w,k-=v,E,T+=v),"haystack"===B){var D=u.haystackPts;if(D&&2===D.length){if(w=D[0].x,k=D[0].y,E=D[1].x,T=D[1].y,w>E){var _=w;w=E,E=_}if(k>T){var A=k;k=T,T=A}r2(a,w-v,k-v,E+v,T+v)}}else if("bezier"===B||"unbundled-bezier"===B||H(B,"segments")||H(B,"taxi")){switch(B){case"bezier":case"unbundled-bezier":S=u.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":S=u.linePts}if(null!=S)for(var M=0;M<S.length;M++){var R=S[M];w=R.x-v,E=R.x+v,r2(a,w,k=R.y-v,E,T=R.y+v)}}}else{var I=e.source().position(),L=e.target().position();if(w=I.x,E=L.x,k=I.y,T=L.y,w>E){var N=w;w=E,E=N}if(k>T){var z=k;k=T,T=z}w-=v,E+=v,r2(a,w,k-=v,E,T+=v)}if(r&&t.includeEdges&&l&&(r4(a,e,"mid-source"),r4(a,e,"mid-target"),r4(a,e,"source"),r4(a,e,"target")),r&&"yes"===e.pstyle("ghost").value){var O=e.pstyle("ghost-offset-x").pfValue,V=e.pstyle("ghost-offset-y").pfValue;r2(a,a.x1+O,a.y1+V,a.x2+O,a.y2+V)}var F=o.bodyBounds=o.bodyBounds||{};tB(F,a),tS(F,c),tP(F,1),r&&(w=a.x1,E=a.x2,k=a.y1,T=a.y2,r2(a,w-g,k-g,E+g,T+g));var X=o.overlayBounds=o.overlayBounds||{};tB(X,a),tS(X,c),tP(X,1);var j=o.labelBounds=o.labelBounds||{};null!=j.all?tk(j.all):j.all=tE(),r&&t.includeLabels&&(t.includeMainLabels&&r9(a,e,null),l&&(t.includeSourceLabels&&r9(a,e,"source"),t.includeTargetLabels&&r9(a,e,"target")))}return a.x1=r1(a.x1),a.y1=r1(a.y1),a.x2=r1(a.x2),a.y2=r1(a.y2),a.w=r1(a.x2-a.x1),a.h=r1(a.y2-a.y1),a.w>0&&a.h>0&&h&&(tS(a,c),tP(a,1)),a},it=function(e){var t=0,n=function(e){return!!e<<t++};return 0+n(e.incudeNodes)+n(e.includeEdges)+n(e.includeLabels)+n(e.includeMainLabels)+n(e.includeSourceLabels)+n(e.includeTargetLabels)+n(e.includeOverlays)+n(e.includeOutlines)},ir=function(e){var t=function(e){return Math.round(e)};if(e.isEdge()){var n=e.source().position(),r=e.target().position();return eC([t(n.x),t(n.y),t(r.x),t(r.y)])}var i=e.position();return eC([t(i.x),t(i.y)])},ii=function(e,t){var n,r=e._private,i=e.isEdge(),a=null==t?io:it(t);if(null==r.bbCache?(r.bbCache=n=ie(e,ia),r.bbCachePosKey=ir(e)):n=r.bbCache,a!==io){var o=e.isNode();n=tE(),(t.includeNodes&&o||t.includeEdges&&!o)&&(t.includeOverlays?r5(n,r.overlayBounds):r5(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?r5(n,r.labelBounds.all):(t.includeMainLabels&&r5(n,r.labelBounds.mainRot),t.includeSourceLabels&&r5(n,r.labelBounds.sourceRot),t.includeTargetLabels&&r5(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ia={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},io=it(ia),is=eq(ia);lv.boundingBox=function(e){var t,n=void 0===e||void 0===e.useCache||!0===e.useCache,r=j(function(e){var t=e._private;return null==t.bbCache||t.styleDirty||t.bbCachePosKey!==ir(e)},function(e){return e.id()});if(n&&1===this.length&&!r(this[0]))e=void 0===e?ia:is(e),t=ii(this[0],e);else{t=tE();var i=is(e=e||ia),a=this.cy().styleEnabled();this.edges().forEach(r),this.nodes().forEach(r),a&&this.recalculateRenderedStyle(n),this.updateCompoundBounds(!n);for(var o=0;o<this.length;o++){var s=this[o];r(s)&&s.dirtyBoundingBoxCache(),r5(t,ii(s,i))}}return t.x1=r1(t.x1),t.y1=r1(t.y1),t.x2=r1(t.x2),t.y2=r1(t.y2),t.w=r1(t.x2-t.x1),t.h=r1(t.y2-t.y1),t},lv.dirtyBoundingBoxCache=function(){for(var e=0;e<this.length;e++){var t=this[e]._private;t.bbCache=null,t.bbCachePosKey=null,t.bodyBounds=null,t.overlayBounds=null,t.labelBounds.all=null,t.labelBounds.source=null,t.labelBounds.target=null,t.labelBounds.main=null,t.labelBounds.sourceRot=null,t.labelBounds.targetRot=null,t.labelBounds.mainRot=null,t.arrowBounds.source=null,t.arrowBounds.target=null,t.arrowBounds["mid-source"]=null,t.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},lv.boundingBoxAt=function(e){var t,n=this.nodes(),r=this.cy(),i=r.hasCompoundNodes(),a=r.collection();if(i&&(a=n.filter(function(e){return e.isParent()}),n=n.not(a)),A(e)){var o=e;e=function(){return o}}r.startBatch(),n.forEach(function(t,n){return t._private.bbAtOldPos=e(t,n)}).silentPositions(e),i&&(a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache(),a.updateCompoundBounds(!0));var s={x1:(t=this.boundingBox({useCache:!1})).x1,x2:t.x2,w:t.w,y1:t.y1,y2:t.y2,h:t.h};return n.silentPositions(function(e){return e._private.bbAtOldPos}),i&&(a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache(),a.updateCompoundBounds(!0)),r.endBatch(),s},lg.boundingbox=lg.bb=lg.boundingBox,lg.renderedBoundingbox=lg.renderedBoundingBox,ly=lm={};var il=function(e){e.uppercaseName=U(e.name),e.autoName="auto"+e.uppercaseName,e.labelName="label"+e.uppercaseName,e.outerName="outer"+e.uppercaseName,e.uppercaseOuterName=U(e.outerName),ly[e.name]=function(){var t=this[0],n=t._private,r=n.cy._private.styleEnabled;if(t)if(!r)return 1;else{if(t.isParent())return t.updateCompoundBounds(),n[e.autoName]||0;var i=t.pstyle(e.name);return"label"===i.strValue?(t.recalculateRenderedStyle(),n.rstyle[e.labelName]||0):i.pfValue}},ly["outer"+e.uppercaseName]=function(){var t=this[0],n=t._private.cy._private.styleEnabled;if(t)if(!n)return 1;else{var r=t[e.name](),i=t.pstyle("border-position").value;return r+("center"===i?t.pstyle("border-width").pfValue:"outside"===i?2*t.pstyle("border-width").pfValue:0)+2*t.padding()}},ly["rendered"+e.uppercaseName]=function(){var t=this[0];if(t)return t[e.name]()*this.cy().zoom()},ly["rendered"+e.uppercaseOuterName]=function(){var t=this[0];if(t)return t[e.outerName]()*this.cy().zoom()}};il({name:"width"}),il({name:"height"}),lm.padding=function(){var e=this[0],t=e._private;return e.isParent()&&(e.updateCompoundBounds(),void 0!==t.autoPadding)?t.autoPadding:e.pstyle("padding").pfValue},lm.paddedHeight=function(){var e=this[0];return e.height()+2*e.padding()},lm.paddedWidth=function(){var e=this[0];return e.width()+2*e.padding()};var iu=function(e,t){if(e.isEdge()&&e.takesUpSpace())return t(e)},ic=function(e,t){if(e.isEdge()&&e.takesUpSpace()){var n=e.cy();return tr(t(e),n.zoom(),n.pan())}},id=function(e,t){if(e.isEdge()&&e.takesUpSpace()){var n=e.cy(),r=n.pan(),i=n.zoom();return t(e).map(function(e){return tr(e,i,r)})}},ih={controlPoints:{get:function(e){return e.renderer().getControlPoints(e)},mult:!0},segmentPoints:{get:function(e){return e.renderer().getSegmentPoints(e)},mult:!0},sourceEndpoint:{get:function(e){return e.renderer().getSourceEndpoint(e)}},targetEndpoint:{get:function(e){return e.renderer().getTargetEndpoint(e)}},midpoint:{get:function(e){return e.renderer().getEdgeMidpoint(e)}}},ip=ee({},lp,lv,lm,Object.keys(ih).reduce(function(e,t){var n=ih[t],r="rendered"+t[0].toUpperCase()+t.substr(1);return e[t]=function(){return iu(this,n.get)},n.mult?e[r]=function(){return id(this,n.get)}:e[r]=function(){return ic(this,n.get)},e},{})),ig=function(e,t){this.recycle(e,t)};function iv(){return!1}function iy(){return!0}ig.prototype={instanceString:function(){return"event"},recycle:function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=iv,null!=e&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?iy:iv):null!=e&&e.type?t=e:this.type=e,null!=t&&(this.originalEvent=t.originalEvent,this.type=null!=t.type?t.type:this.type,this.cy=t.cy,this.target=t.target,this.position=t.position,this.renderedPosition=t.renderedPosition,this.namespace=t.namespace,this.layout=t.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var n=this.position,r=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:n.x*r+i.x,y:n.y*r+i.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=iy;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=iy;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=iy,this.stopPropagation()},isDefaultPrevented:iv,isPropagationStopped:iv,isImmediatePropagationStopped:iv};var im=/^([^.]+)(\.(?:[^.]+))?$/,ib={qualifierCompare:function(e,t){return e===t},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},ix=Object.keys(ib),iw={};function iE(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:iw,t=arguments.length>1?arguments[1]:void 0,n=0;n<ix.length;n++){var r=ix[n];this[r]=e[r]||ib[r]}this.context=t||this.context,this.listeners=[],this.emitting=0}var ik=iE.prototype,iT=function(e,t,n,r,i,a,o){D(r)&&(i=r,r=null),o&&(a=null==a?o:ee({},a,o));for(var s=_(n)?n:n.split(/\s+/),l=0;l<s.length;l++){var u=s[l];if(!F(u)){var c=u.match(im);if(c&&!1===t(e,u,c[1],c[2]?c[2]:null,r,i,a))break}}},iC=function(e,t){return e.addEventFields(e.context,t),new ig(t.type,t)},iP=function(e,t,n){if("event"===S(n))return void t(e,n);if(A(n))return void t(e,iC(e,n));for(var r=_(n)?n:n.split(/\s+/),i=0;i<r.length;i++){var a=r[i];if(!F(a)){var o=a.match(im);if(o){var s=iC(e,{type:o[1],namespace:o[2]?o[2]:null,target:e.context});t(e,s)}}}};ik.on=ik.addListener=function(e,t,n,r,i){return iT(this,function(e,t,n,r,i,a,o){D(a)&&e.listeners.push({event:t,callback:a,type:n,namespace:r,qualifier:i,conf:o})},e,t,n,r,i),this},ik.one=function(e,t,n,r){return this.on(e,t,n,r,{one:!0})},ik.removeListener=ik.off=function(e,t,n,r){var i=this;0!==this.emitting&&(this.listeners=this.listeners.slice());for(var a=this.listeners,o=function(o){var s=a[o];iT(i,function(t,n,r,i,l,u){if((s.type===r||"*"===e)&&(!i&&".*"!==s.namespace||s.namespace===i)&&(!l||t.qualifierCompare(s.qualifier,l))&&(!u||s.callback===u))return a.splice(o,1),!1},e,t,n,r)},s=a.length-1;s>=0;s--)o(s);return this},ik.removeAllListeners=function(){return this.removeListener("*")},ik.emit=ik.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,_(t)||(t=[t]),iP(this,function(e,a){null!=n&&(i=(r=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}]).length);for(var o=0;o<i;o++)!function(){var n=r[o];if(n.type===a.type&&(!n.namespace||n.namespace===a.namespace||".*"===n.namespace)&&e.eventMatches(e.context,n,a)){var i=[a];null!=t&&eH(i,t),e.beforeEmit(e.context,n,a),n.conf&&n.conf.one&&(e.listeners=e.listeners.filter(function(e){return e!==n}));var s=e.callbackContext(e.context,n,a),l=n.callback.apply(s,i);e.afterEmit(e.context,n,a),!1===l&&(a.stopPropagation(),a.preventDefault())}}();e.bubble(e.context)&&!a.isPropagationStopped()&&e.parent(e.context).emit(a,t)},e),this.emitting--,this};var iS={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&N(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e.cy(),t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e},beforeEmit:function(e,t){t.conf&&t.conf.once&&t.conf.onceCollection.removeListener(t.event,t.qualifier,t.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},iB=function(e){return B(e)?new rO(e):e},iD={createEmitter:function(){for(var e=0;e<this.length;e++){var t=this[e],n=t._private;n.emitter||(n.emitter=new iE(iS,t))}return this},emitter:function(){return this._private.emitter},on:function(e,t,n){for(var r=iB(t),i=0;i<this.length;i++)this[i].emitter().on(e,r,n);return this},removeListener:function(e,t,n){for(var r=iB(t),i=0;i<this.length;i++)this[i].emitter().removeListener(e,r,n);return this},removeAllListeners:function(){for(var e=0;e<this.length;e++)this[e].emitter().removeAllListeners();return this},one:function(e,t,n){for(var r=iB(t),i=0;i<this.length;i++)this[i].emitter().one(e,r,n);return this},once:function(e,t,n){for(var r=iB(t),i=0;i<this.length;i++)this[i].emitter().on(e,r,n,{once:!0,onceCollection:this})},emit:function(e,t){for(var n=0;n<this.length;n++)this[n].emitter().emit(e,t);return this},emitAndNotify:function(e,t){if(0!==this.length)return this.cy().notify(e,this),this.emit(e,t),this}};rx.eventAliasesOn(iD);var i_={nodes:function(e){return this.filter(function(e){return e.isNode()}).filter(e)},edges:function(e){return this.filter(function(e){return e.isEdge()}).filter(e)},byGroup:function(){for(var e=this.spawn(),t=this.spawn(),n=0;n<this.length;n++){var r=this[n];r.isNode()?e.push(r):t.push(r)}return{nodes:e,edges:t}},filter:function(e,t){if(void 0===e)return this;if(B(e)||L(e))return new rO(e).filter(this);if(D(e)){for(var n=this.spawn(),r=0;r<this.length;r++){var i=this[r];(t?e.apply(t,[i,r,this]):e(i,r,this))&&n.push(i)}return n}return this.spawn()},not:function(e){if(!e)return this;B(e)&&(e=this.filter(e));for(var t=this.spawn(),n=0;n<this.length;n++){var r=this[n];e.has(r)||t.push(r)}return t},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(e){if(B(e))return this.filter(e);for(var t=this.spawn(),n=this.length<e.length,r=n?this:e,i=n?e:this,a=0;a<r.length;a++){var o=r[a];i.has(o)&&t.push(o)}return t},xor:function(e){var t=this._private.cy;B(e)&&(e=t.$(e));var n=this.spawn(),r=e,i=function(e,t){for(var r=0;r<e.length;r++){var i=e[r],a=i._private.data.id;t.hasElementWithId(a)||n.push(i)}};return i(this,r),i(r,this),n},diff:function(e){var t=this._private.cy;B(e)&&(e=t.$(e));var n=this.spawn(),r=this.spawn(),i=this.spawn(),a=e,o=function(e,t,n){for(var r=0;r<e.length;r++){var a=e[r],o=a._private.data.id;t.hasElementWithId(o)?i.merge(a):n.push(a)}};return o(this,a,n),o(a,this,r),{left:n,right:r,both:i}},add:function(e){var t=this._private.cy;if(!e)return this;if(B(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=this.spawnSelf(),i=0;i<e.length;i++){var a=e[i];this.has(a)||r.push(a)}return r},merge:function(e){var t=this._private,n=t.cy;if(!e)return this;if(e&&B(e)){var r=e;e=n.mutableElements().filter(r)}for(var i=t.map,a=0;a<e.length;a++){var o=e[a],s=o._private.data.id;if(!i.has(s)){var l=this.length++;this[l]=o,i.set(s,{ele:o,index:l})}}return this},unmergeAt:function(e){var t=this[e].id(),n=this._private.map;this[e]=void 0,n.delete(t);var r=e===this.length-1;if(this.length>1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&B(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r<e.length;r++)this.unmergeOne(e[r]);return this},unmergeBy:function(e){for(var t=this.length-1;t>=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=0;r<this.length;r++){var i=this[r],a=t?e.apply(t,[i,r,this]):e(i,r,this);n.push(a)}return n},reduce:function(e,t){for(var n=t,r=0;r<this.length;r++)n=e(n,this[r],r,this);return n},max:function(e,t){for(var n,r=-1/0,i=0;i<this.length;i++){var a=this[i],o=t?e.apply(t,[a,i,this]):e(a,i,this);o>r&&(r=o,n=a)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=0;i<this.length;i++){var a=this[i],o=t?e.apply(t,[a,i,this]):e(a,i,this);o<r&&(r=o,n=a)}return{value:r,ele:n}}};i_.u=i_["|"]=i_["+"]=i_.union=i_.or=i_.add,i_["\\"]=i_["!"]=i_["-"]=i_.difference=i_.relativeComplement=i_.subtract=i_.not,i_.n=i_["&"]=i_["."]=i_.and=i_.intersection=i_.intersect,i_["^"]=i_["(+)"]=i_["(-)"]=i_.symmetricDifference=i_.symdiff=i_.xor,i_.fnFilter=i_.filterFn=i_.stdFilter=i_.filter,i_.complement=i_.abscomp=i_.absoluteComplement;var iA=function(e,t){var n=e.cy().hasCompoundNodes();function r(e){var t=e.pstyle("z-compound-depth");return"auto"===t.value?n?e.zDepth():0:"bottom"===t.value?-1:"top"===t.value?eM:0}var i=r(e)-r(t);if(0!==i)return i;function a(e){return"auto"===e.pstyle("z-index-compare").value?+!!e.isNode():0}var o=a(e)-a(t);if(0!==o)return o;var s=e.pstyle("z-index").value-t.pstyle("z-index").value;return 0!==s?s:e.poolIndex()-t.poolIndex()},iM={forEach:function(e,t){if(D(e))for(var n=this.length,r=0;r<n;r++){var i=this[r];if(!1===(t?e.apply(t,[i,r,this]):e(i,r,this)))break}return this},toArray:function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t]);return e},slice:function(e,t){var n=[],r=this.length;null==t&&(t=r),null==e&&(e=0),e<0&&(e=r+e),t<0&&(t=r+t);for(var i=e;i>=0&&i<t&&i<r;i++)n.push(this[i]);return this.spawn(n)},size:function(){return this.length},eq:function(e){return this[e]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return 0===this.length},nonempty:function(){return!this.empty()},sort:function(e){if(!D(e))return this;var t=this.toArray().sort(e);return this.spawn(t)},sortByZIndex:function(){return this.sort(iA)},zDepth:function(){var e=this[0];if(e){var t=e._private;if("nodes"===t.group){var n=t.data.parent?e.parents().size():0;return e.isParent()?n:eM-1}var r=t.source,i=t.target;return Math.max(r.zDepth(),i.zDepth(),0)}}};iM.each=iM.forEach,("u"<typeof Symbol?"undefined":d(Symbol))!="undefined"&&"undefined"!=d(Symbol.iterator)&&(iM[Symbol.iterator]=function(){var e=this,t={value:void 0,done:!1},n=0,r=this.length;return s({next:function(){return n<r?t.value=e[n++]:(t.value=void 0,t.done=!0),t}},Symbol.iterator,function(){return this})});var iR=eq({nodeDimensionsIncludeLabels:!1}),iI={layoutDimensions:function(e){if(e=iR(e),this.takesUpSpace())if(e.nodeDimensionsIncludeLabels){var t,n=this.boundingBox();t={w:n.w,h:n.h}}else t={w:this.outerWidth(),h:this.outerHeight()};else t={w:0,h:0};return(0===t.w||0===t.h)&&(t.w=t.h=1),t},layoutPositions:function(e,t,n){var r=this.nodes().filter(function(e){return!e.isParent()}),i=this.cy(),a=t.eles,o=function(e){return e.id()},s=j(n,o);e.emit({type:"layoutstart",layout:e}),e.animations=[];var l=function(e,t,n){var r={x:t.x1+t.w/2,y:t.y1+t.h/2},i={x:(n.x-r.x)*e,y:(n.y-r.y)*e};return{x:r.x+i.x,y:r.y+i.y}},u=t.spacingFactor&&1!==t.spacingFactor,c=function(){if(!u)return null;for(var e=tE(),t=0;t<r.length;t++){var n=s(r[t],t);tC(e,n.x,n.y)}return e}(),d=j(function(e,n){var r=s(e,n);return u&&(r=l(Math.abs(t.spacingFactor),c,r)),null!=t.transform&&(r=t.transform(e,r)),r},o);if(t.animate){for(var h=0;h<r.length;h++){var f=r[h],p=d(f,h);if(null==t.animateFilter||t.animateFilter(f,h)){var g=f.animation({position:p,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(g)}else f.position(p)}if(t.fit){var v=i.animation({fit:{boundingBox:a.boundingBoxAt(d),padding:t.padding},duration:t.animationDuration,easing:t.animationEasing});e.animations.push(v)}else if(void 0!==t.zoom&&void 0!==t.pan){var y=i.animation({zoom:t.zoom,pan:t.pan,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(y)}e.animations.forEach(function(e){return e.play()}),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),rr.all(e.animations.map(function(e){return e.promise()})).then(function(){e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e})})}else r.positions(d),t.fit&&i.fit(t.eles,t.padding),null!=t.zoom&&i.zoom(t.zoom),t.pan&&i.pan(t.pan),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e});return this},layout:function(e){return this.cy().makeLayout(ee({},e,{eles:this}))}};function iL(e,t,n){var r,i=n._private,a=i.styleCache=i.styleCache||[];return null!=(r=a[e])?r:r=a[e]=t(n)}function iN(e,t){return e=eP(e),function(n){return iL(e,t,n)}}function iz(e,t){e=eP(e);var n=function(e){return t.call(e)};return function(){var t=this[0];if(t)return iL(e,n,t)}}iI.createLayout=iI.makeLayout=iI.layout;var iO={recalculateRenderedStyle:function(e){var t=this.cy(),n=t.renderer(),r=t.styleEnabled();return n&&r&&n.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e,t=this.cy(),n=function(e){return e._private.styleCache=null};return t.hasCompoundNodes()?((e=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(e.connectedEdges()),e.forEach(n)):this.forEach(function(e){n(e),e.connectedEdges().forEach(n)}),this},updateStyle:function(e){var t=this._private.cy;if(!t.styleEnabled())return this;if(t.batching())return t._private.batchStyleEles.merge(this),this;var n=t.hasCompoundNodes(),r=this;e=!!e||void 0===e,n&&(r=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var i=r;return e?i.emitAndNotify("style"):i.emit("style"),r.forEach(function(e){return e._private.styleDirty=!0}),this},cleanStyle:function(){var e=this.cy();if(e.styleEnabled())for(var t=0;t<this.length;t++){var n=this[t];n._private.styleDirty&&(n._private.styleDirty=!1,e.style().apply(n))}},parsedStyle:function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,r.style().apply(n));var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];if(n)return t.style().getRenderedStyle(n,e)},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(A(e))r.applyBypass(this,e,!1),this.emitAndNotify("style");else if(B(e))if(void 0===t){var i=this[0];return i?r.getStylePropertyValue(i,e):void 0}else r.applyBypass(this,e,t,!1),this.emitAndNotify("style");else if(void 0===e){var a=this[0];return a?r.getRawStyle(a):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style();if(void 0===e)for(var r=0;r<this.length;r++){var i=this[r];n.removeAllBypasses(i,!1)}else{e=e.split(/\s+/);for(var a=0;a<this.length;a++){var o=this[a];n.removeBypasses(o,e,!1)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var t=e.hasCompoundNodes(),n=this[0];if(n){var r=n._private,i=n.pstyle("opacity").value;if(!t)return i;var a=r.data.parent?n.parents():null;if(a)for(var o=0;o<a.length;o++)i*=a[o].pstyle("opacity").value;return i}},transparent:function(){if(!this.cy().styleEnabled())return!1;var e=this[0],t=e.cy().hasCompoundNodes();if(e)if(!t)return 0===e.pstyle("opacity").value;else return 0===e.effectiveOpacity()},backgrounding:function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding}};function iV(e,t){var n=e._private.data.parent?e.parents():null;if(n){for(var r=0;r<n.length;r++)if(!t(n[r]))return!1}return!0}function iF(e){var t=e.ok,n=e.edgeOkViaNode||e.ok,r=e.parentOk||e.ok;return function(){var e=this.cy();if(!e.styleEnabled())return!0;var i=this[0],a=e.hasCompoundNodes();if(i){var o=i._private;if(!t(i))return!1;if(i.isNode())return!a||iV(i,r);var s=o.source,l=o.target;return n(s)&&(!a||iV(s,n))&&(s===l||n(l)&&(!a||iV(l,n)))}}}var iX=iN("eleTakesUpSpace",function(e){return"element"===e.pstyle("display").value&&0!==e.width()&&(!e.isNode()||0!==e.height())});iO.takesUpSpace=iz("takesUpSpace",iF({ok:iX})),iO.interactive=iz("interactive",iF({ok:iN("eleInteractive",function(e){return"yes"===e.pstyle("events").value&&"visible"===e.pstyle("visibility").value&&iX(e)}),parentOk:iN("parentInteractive",function(e){return"visible"===e.pstyle("visibility").value&&iX(e)}),edgeOkViaNode:iX})),iO.noninteractive=function(){var e=this[0];if(e)return!e.interactive()},iO.visible=iz("visible",iF({ok:iN("eleVisible",function(e){return"visible"===e.pstyle("visibility").value&&0!==e.pstyle("opacity").pfValue&&iX(e)}),edgeOkViaNode:iX})),iO.hidden=function(){var e=this[0];if(e)return!e.visible()},iO.isBundledBezier=iz("isBundledBezier",function(){return!!this.cy().styleEnabled()&&!this.removed()&&"bezier"===this.pstyle("curve-style").value&&this.takesUpSpace()}),iO.bypass=iO.css=iO.style,iO.renderedCss=iO.renderedStyle,iO.removeBypass=iO.removeCss=iO.removeStyle,iO.pstyle=iO.parsedStyle;var ij={};function iY(e){return function(){var t=arguments,n=[];if(2===t.length){var r=t[0],i=t[1];this.on(e.event,r,i)}else if(1===t.length&&D(t[0])){var a=t[0];this.on(e.event,a)}else if(0===t.length||1===t.length&&_(t[0])){for(var o=1===t.length?t[0]:null,s=0;s<this.length;s++){var l=this[s],u=!e.ableField||l._private[e.ableField],c=l._private[e.field]!=e.value;if(e.overrideAble){var d=e.overrideAble(l);if(void 0!==d&&(u=d,!d))return this}u&&(l._private[e.field]=e.value,c&&n.push(l))}var h=this.spawn(n);h.updateStyle(),h.emit(e.event),o&&h.emit(o)}return this}}function iq(e){ij[e.field]=function(){var t=this[0];if(t){if(e.overrideField){var n=e.overrideField(t);if(void 0!==n)return n}return t._private[e.field]}},ij[e.on]=iY({event:e.on,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!0}),ij[e.off]=iY({event:e.off,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!1})}iq({field:"locked",overrideField:function(e){return!!e.cy().autolock()||void 0},on:"lock",off:"unlock"}),iq({field:"grabbable",overrideField:function(e){return!(e.cy().autoungrabify()||e.pannable())&&void 0},on:"grabify",off:"ungrabify"}),iq({field:"selected",ableField:"selectable",overrideAble:function(e){return!e.cy().autounselectify()&&void 0},on:"select",off:"unselect"}),iq({field:"selectable",overrideField:function(e){return!e.cy().autounselectify()&&void 0},on:"selectify",off:"unselectify"}),ij.deselect=ij.unselect,ij.grabbed=function(){var e=this[0];if(e)return e._private.grabbed},iq({field:"active",on:"activate",off:"unactivate"}),iq({field:"pannable",on:"panify",off:"unpanify"}),ij.inactive=function(){var e=this[0];if(e)return!e._private.active};var iW={},iU=function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode()){for(var a=!1,o=i.connectedEdges(),s=0;s<o.length;s++){var l=o[s],u=l.source(),c=l.target();if(e.noIncomingEdges&&c===i&&u!==i||e.noOutgoingEdges&&u===i&&c!==i){a=!0;break}}a||n.push(i)}}return this.spawn(n,!0).filter(t)}},iH=function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode())for(var a=i.connectedEdges(),o=0;o<a.length;o++){var s=a[o],l=s.source(),u=s.target();e.outgoing&&l===i?(n.push(s),n.push(u)):e.incoming&&u===i&&(n.push(s),n.push(l))}}return this.spawn(n,!0).filter(t)}},iK=function(e){return function(t){for(var n=this,r=[],i={};;){var a=e.outgoing?n.outgoers():n.incomers();if(0===a.length)break;for(var o=!1,s=0;s<a.length;s++){var l=a[s],u=l.id();i[u]||(i[u]=!0,r.push(l),o=!0)}if(!o)break;n=a}return this.spawn(r,!0).filter(t)}};function iG(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r]._private[e.attr];i&&n.push(i)}return this.spawn(n,!0).filter(t)}}function iZ(e){return function(t){var n=[],r=this._private.cy,i=e||{};B(t)&&(t=r.$(t));for(var a=0;a<t.length;a++)for(var o=t[a]._private.edges,s=0;s<o.length;s++){var l=o[s],u=l._private.data,c=this.hasElementWithId(u.source)&&t.hasElementWithId(u.target),d=t.hasElementWithId(u.source)&&this.hasElementWithId(u.target);if(c||d){if((i.thisIsSrc||i.thisIsTgt)&&(i.thisIsSrc&&!c||i.thisIsTgt&&!d))continue;n.push(l)}}return this.spawn(n,!0)}}function i$(e){return e=ee({},{codirected:!1},e),function(t){for(var n=[],r=this.edges(),i=e,a=0;a<r.length;a++)for(var o=r[a]._private,s=o.source,l=s._private.data.id,u=o.data.target,c=s._private.edges,d=0;d<c.length;d++){var h=c[d],f=h._private.data,p=f.target,g=f.source,v=p===u&&g===l,y=l===p&&u===g;(i.codirected&&v||!i.codirected&&(v||y))&&n.push(h)}return this.spawn(n,!0).filter(t)}}iW.clearTraversalCache=function(){for(var e=0;e<this.length;e++)this[e]._private.traversalCache=null},ee(iW,{roots:iU({noIncomingEdges:!0}),leaves:iU({noOutgoingEdges:!0}),outgoers:rX(iH({outgoing:!0}),"outgoers"),successors:iK({outgoing:!0}),incomers:rX(iH({incoming:!0}),"incomers"),predecessors:iK({})}),ee(iW,{neighborhood:rX(function(e){for(var t=[],n=this.nodes(),r=0;r<n.length;r++)for(var i=n[r],a=i.connectedEdges(),o=0;o<a.length;o++){var s=a[o],l=s.source(),u=s.target(),c=i===l?u:l;c.length>0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),iW.neighbourhood=iW.neighborhood,iW.closedNeighbourhood=iW.closedNeighborhood,iW.openNeighbourhood=iW.openNeighborhood,ee(iW,{source:rX(function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t},"source"),target:rX(function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t},"target"),sources:iG({attr:"source"}),targets:iG({attr:"target"})}),ee(iW,{edgesWith:rX(iZ(),"edgesWith"),edgesTo:rX(iZ({thisIsSrc:!0}),"edgesTo")}),ee(iW,{connectedEdges:rX(function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];if(r.isNode())for(var i=r._private.edges,a=0;a<i.length;a++){var o=i[a];t.push(o)}}return this.spawn(t,!0).filter(e)},"connectedEdges"),connectedNodes:rX(function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];r.isEdge()&&(t.push(r.source()[0]),t.push(r.target()[0]))}return this.spawn(t,!0).filter(e)},"connectedNodes"),parallelEdges:rX(i$(),"parallelEdges"),codirectedEdges:rX(i$({codirected:!0}),"codirectedEdges")}),ee(iW,{components:function(e){var t=this,n=t.cy(),r=n.collection(),i=null==e?t.nodes():e.nodes(),a=[];null!=e&&i.empty()&&(i=e.sources());var o=function(e,t){r.merge(e),i.unmerge(e),t.merge(e)};if(i.empty())return t.spawn();do!function(){var e=n.collection();a.push(e);var r=i[0];o(r,e),t.bfs({directed:!1,roots:r,visit:function(t){return o(t,e)}}),e.forEach(function(n){n.connectedEdges().forEach(function(n){t.has(n)&&e.has(n.source())&&e.has(n.target())&&e.merge(n)})})}();while(i.length>0)return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),iW.componentsOf=iW.components;var iQ=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0===e)return void ez("A collection must have a reference to the core");var i=new e$,a=!1;if(t){if(t.length>0&&A(t[0])&&!N(t[0])){a=!0;for(var o=[],s=new eJ,l=0,u=t.length;l<u;l++){var c=t[l];null==c.data&&(c.data={});var d=c.data;if(null==d.id)d.id=eX();else if(e.hasElementWithId(d.id)||s.has(d.id))continue;var h=new e0(e,c,!1);o.push(h),s.add(d.id)}t=o}}else t=[];this.length=0;for(var f=0,p=t.length;f<p;f++){var g=t[f][0];if(null!=g){var v=g._private.data.id;(!n||!i.has(v))&&(n&&i.set(v,{index:this.length,ele:g}),this[this.length]=g,this.length++)}}this._private={eles:this,cy:e,get map(){return null==this.lazyMap&&this.rebuildMap(),this.lazyMap},set map(m){this.lazyMap=m},rebuildMap:function(){for(var e=this.lazyMap=new e$,t=this.eles,n=0;n<t.length;n++){var r=t[n];e.set(r.id(),{index:n,ele:r})}}},n&&(this._private.map=i),a&&!r&&this.restore()},iJ=e0.prototype=iQ.prototype=Object.create(Array.prototype);iJ.instanceString=function(){return"collection"},iJ.spawn=function(e,t){return new iQ(this.cy(),e,t)},iJ.spawnSelf=function(){return this.spawn(this)},iJ.cy=function(){return this._private.cy},iJ.renderer=function(){return this._private.cy.renderer()},iJ.element=function(){return this[0]},iJ.collection=function(){return z(this)?this:new iQ(this._private.cy,[this])},iJ.unique=function(){return new iQ(this._private.cy,this,!0)},iJ.hasElementWithId=function(e){return e=""+e,this._private.map.has(e)},iJ.getElementById=function(e){e=""+e;var t=this._private.cy,n=this._private.map.get(e);return n?n.ele:new iQ(t)},iJ.$id=iJ.getElementById,iJ.poolIndex=function(){var e=this._private.cy._private.elements,t=this[0]._private.data.id;return e._private.map.get(t).index},iJ.indexOf=function(e){var t=e[0]._private.data.id;return this._private.map.get(t).index},iJ.indexOfId=function(e){return e=""+e,this._private.map.get(e).index},iJ.json=function(e){var t=this.element(),n=this.cy();if(null==t&&e)return this;if(null!=t){var r=t._private;if(A(e)){if(n.startBatch(),e.data){t.data(e.data);var i=r.data;if(t.isEdge()){var a=!1,o={},s=e.data.source,l=e.data.target;null!=s&&s!=i.source&&(o.source=""+s,a=!0),null!=l&&l!=i.target&&(o.target=""+l,a=!0),a&&(t=t.move(o))}else{var u="parent"in e.data,c=e.data.parent;u&&(null!=c||null!=i.parent)&&c!=i.parent&&(void 0===c&&(c=null),null!=c&&(c=""+c),t=t.move({parent:c}))}}e.position&&t.position(e.position);var d=function(n,i,a){var o=e[n];null!=o&&o!==r[n]&&(o?t[i]():t[a]())};return d("removed","remove","restore"),d("selected","select","unselect"),d("selectable","selectify","unselectify"),d("locked","lock","unlock"),d("grabbable","grabify","ungrabify"),d("pannable","panify","unpanify"),null!=e.classes&&t.classes(e.classes),n.endBatch(),this}if(void 0===e){var h={data:eF(r.data),position:eF(r.position),group:r.group,removed:r.removed,selected:r.selected,selectable:r.selectable,locked:r.locked,grabbable:r.grabbable,pannable:r.pannable,classes:null};h.classes="";var f=0;return r.classes.forEach(function(e){return h.classes+=0==f++?e:" "+e}),h}}},iJ.jsons=function(){for(var e=[],t=0;t<this.length;t++){var n=this[t].json();e.push(n)}return e},iJ.clone=function(){for(var e=this.cy(),t=[],n=0;n<this.length;n++){var r=new e0(e,this[n].json(),!1);t.push(r)}return new iQ(e,t)},iJ.copy=iJ.clone,iJ.restore=function(){for(var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=this.cy(),r=n._private,i=[],a=[],o=0,s=this.length;o<s;o++){var l=this[o];(!t||l.removed())&&(l.isNode()?i.push(l):a.push(l))}R=i.concat(a);var u=function(){R.splice(I,1),I--};for(I=0;I<R.length;I++){var c=R[I],d=c._private,h=d.data;if(c.clearTraversalCache(),t||d.removed){if(void 0===h.id)h.id=eX();else if(M(h.id))h.id=""+h.id;else if(F(h.id)||!B(h.id)){ez("Can not create element with invalid string ID `"+h.id+"`"),u();continue}else if(n.hasElementWithId(h.id)){ez("Can not create second element with ID `"+h.id+"`"),u();continue}}var f=h.id;if(c.isNode()){var p=d.position;null==p.x&&(p.x=0),null==p.y&&(p.y=0)}if(c.isEdge()){for(var g=["source","target"],v=g.length,y=!1,b=0;b<v;b++){var x=g[b],w=h[x];M(w)&&(w=h[x]=""+h[x]),null==w||""===w?(ez("Can not create edge `"+f+"` with unspecified "+x),y=!0):n.hasElementWithId(w)||(ez("Can not create edge `"+f+"` with nonexistent "+x+" `"+w+"`"),y=!0)}if(y){u();continue}var E=n.getElementById(h.source),k=n.getElementById(h.target);E.same(k)?E._private.edges.push(c):(E._private.edges.push(c),k._private.edges.push(c)),c._private.source=E,c._private.target=k}d.map=new e$,d.map.set(f,{ele:c,index:0}),d.removed=!1,t&&n.addToPool(c)}for(var T=0;T<i.length;T++){var C=i[T],P=C._private.data;M(P.parent)&&(P.parent=""+P.parent);var S=P.parent;if(null!=S||C._private.parent){var D=C._private.parent?n.collection().merge(C._private.parent):n.getElementById(S);if(D.empty())P.parent=void 0;else if(D[0].removed())eV("Node added with missing parent, reference to parent removed"),P.parent=void 0,C._private.parent=null;else{for(var _=!1,A=D;!A.empty();){if(C.same(A)){_=!0,P.parent=void 0;break}A=A.parent()}_||(D[0]._private.children.push(C),C._private.parent=D[0],r.hasCompoundNodes=!0)}}}if(R.length>0){for(var R,I,L,N=R.length===this.length?this:new iQ(n,R),z=0;z<N.length;z++){var O=N[z];O.isNode()||(O.parallelEdges().clearTraversalCache(),O.source().clearTraversalCache(),O.target().clearTraversalCache())}(r.hasCompoundNodes?n.collection().merge(N).merge(N.connectedNodes()).merge(N.parent()):N).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(e),e?N.emitAndNotify("add"):t&&N.emit("add")}return this},iJ.removed=function(){var e=this[0];return e&&e._private.removed},iJ.inside=function(){var e=this[0];return e&&!e._private.removed},iJ.remove=function(){for(var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=[],r={},i=this._private.cy,a=0,o=this.length;a<o;a++)!function e(i){var a=r[i.id()];if(!(t&&i.removed())&&!a)if(r[i.id()]=!0,i.isNode()){n.push(i);for(var o=i._private.edges,s=0;s<o.length;s++)e(o[s]);for(var l=i._private.children,u=0;u<l.length;u++)e(l[u])}else n.unshift(i)}(this[a]);function s(e,t){eW(e._private.edges,t),e.clearTraversalCache()}var l=[];l.ids={},this.dirtyCompoundBoundsCache(),t&&i.removeFromPool(n);for(var u=0;u<n.length;u++){var c=n[u];if(c.isEdge()){var d=c.source()[0],h=c.target()[0];s(d,c),s(h,c);for(var f=c.parallelEdges(),p=0;p<f.length;p++){var g=f[p];g.clearTraversalCache(),g.isBundledBezier()&&g.dirtyBoundingBoxCache()}}else{var v=c.parent();0!==v.length&&function(e,t){t=t[0];var n=(e=e[0])._private.children,r=e.id();eW(n,t),t._private.parent=null,l.ids[r]||(l.ids[r]=!0,l.push(e))}(v,c)}t&&(c._private.removed=!0)}var y=i._private.elements;i._private.hasCompoundNodes=!1;for(var b=0;b<y.length;b++)if(y[b].isParent()){i._private.hasCompoundNodes=!0;break}var x=new iQ(this.cy(),n);x.size()>0&&(e?x.emitAndNotify("remove"):t&&x.emit("remove"));for(var w=0;w<l.length;w++){var E=l[w];t&&E.removed()||E.updateStyle()}return x},iJ.move=function(e){var t=this._private.cy,n=this,r=function(e){return null==e?e:""+e};if(void 0!==e.source||void 0!==e.target){var i=r(e.source),a=r(e.target),o=null!=i&&t.hasElementWithId(i),s=null!=a&&t.hasElementWithId(a);(o||s)&&(t.batch(function(){n.remove(!1,!1),n.emitAndNotify("moveout");for(var e=0;e<n.length;e++){var t=n[e],r=t._private.data;t.isEdge()&&(o&&(r.source=i),s&&(r.target=a))}n.restore(!1,!1)}),n.emitAndNotify("move"))}else if(void 0!==e.parent){var l=r(e.parent);if(null===l||t.hasElementWithId(l)){var u=null===l?void 0:l;t.batch(function(){var e=n.remove(!1,!1);e.emitAndNotify("moveout");for(var t=0;t<n.length;t++){var r=n[t],i=r._private.data;r.isNode()&&(i.parent=u)}e.restore(!1,!1)}),n.emitAndNotify("move")}}return this},[n9,rw,rE,rF,rj,lh,rH,ip,iD,i_,{isNode:function(){return"nodes"===this.group()},isEdge:function(){return"edges"===this.group()},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var e=this[0];if(e)return e._private.group}},iM,iI,iO,ij,iW].forEach(function(e){ee(iJ,e)});var i0=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}return function n(r,i,a){var o,s,l,u,c,d,h,f,p,g,v,y={x:-1,v:0,tension:null,friction:null},b=[0],x=0;for(r=parseFloat(r)||500,i=parseFloat(i)||20,a=a||null,y.tension=r,y.friction=i,g=(p=null!==a)?(x=n(r,i))/a*.016:.016;o=v||y,s=g,l={dx:o.v,dv:e(o)},u=t(o,.5*s,l),c=t(o,.5*s,u),d=t(o,s,c),h=1/6*(l.dx+2*(u.dx+c.dx)+d.dx),f=1/6*(l.dv+2*(u.dv+c.dv)+d.dv),o.x=o.x+h*s,o.v=o.v+f*s,v=o,b.push(1+v.x),x+=16,Math.abs(v.x)>1e-4&&Math.abs(v.v)>1e-4;);return p?function(e){return b[e*(b.length-1)|0]}:x}}(),i1=function(e,t,n,r){var i=function(e,t,n,r){var i="u">typeof Float32Array;if(4!=arguments.length)return!1;for(var a=0;a<4;++a)if("number"!=typeof arguments[a]||isNaN(arguments[a])||!isFinite(arguments[a]))return!1;e=Math.min(e,1),n=Math.min(n,1),e=Math.max(e,0),n=Math.max(n,0);var o=i?new Float32Array(11):Array(11);function s(e,t,n){return(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e}function l(e,t,n){return 3*(1-3*n+3*t)*e*e+2*(3*n-6*t)*e+3*t}var u=!1,c=function(i){return(u||(u=!0,(e!==t||n!==r)&&function(){for(var t=0;t<11;++t)o[t]=s(.1*t,e,n)}()),e===t&&n===r)?i:0===i?0:1===i?1:s(function(t){for(var r=0,i=1;10!==i&&o[i]<=t;++i)r+=.1;var a=r+(t-o[--i])/(o[i+1]-o[i])*.1,u=l(a,e,n);if(u>=.001){for(var c=a,d=0;d<4;++d){var h=l(c,e,n);if(0===h)break;var f=s(c,e,n)-t;c-=f/h}return c}return 0===u?a:function(t,r,i){var a,o,l=0;do(a=s(o=r+(i-r)/2,e,n)-t)>0?i=o:r=o;while(Math.abs(a)>1e-7&&++l<10)return o}(t,r,r+.1)}(i),t,r)};c.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var d="generateBezier("+[e,t,n,r]+")";return c.toString=function(){return d},c}(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},i2={linear:function(e,t,n){return e+(t-e)*n},ease:i1(.25,.1,.25,1),"ease-in":i1(.42,0,1,1),"ease-out":i1(0,0,.58,1),"ease-in-out":i1(.42,0,.58,1),"ease-in-sine":i1(.47,0,.745,.715),"ease-out-sine":i1(.39,.575,.565,1),"ease-in-out-sine":i1(.445,.05,.55,.95),"ease-in-quad":i1(.55,.085,.68,.53),"ease-out-quad":i1(.25,.46,.45,.94),"ease-in-out-quad":i1(.455,.03,.515,.955),"ease-in-cubic":i1(.55,.055,.675,.19),"ease-out-cubic":i1(.215,.61,.355,1),"ease-in-out-cubic":i1(.645,.045,.355,1),"ease-in-quart":i1(.895,.03,.685,.22),"ease-out-quart":i1(.165,.84,.44,1),"ease-in-out-quart":i1(.77,0,.175,1),"ease-in-quint":i1(.755,.05,.855,.06),"ease-out-quint":i1(.23,1,.32,1),"ease-in-out-quint":i1(.86,0,.07,1),"ease-in-expo":i1(.95,.05,.795,.035),"ease-out-expo":i1(.19,1,.22,1),"ease-in-out-expo":i1(1,0,0,1),"ease-in-circ":i1(.6,.04,.98,.335),"ease-out-circ":i1(.075,.82,.165,1),"ease-in-out-circ":i1(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return i2.linear;var r=i0(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":i1};function i5(e,t,n,r,i){if(1===r||t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function i3(e,t){return null==e.pfValue&&null==e.value?e:null!=e.pfValue&&(null==t||"%"!==t.type.units)?e.pfValue:e.value}function i4(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=i3(e,i),s=i3(t,i);if(M(o)&&M(s))return i5(a,o,s,n,r);if(_(o)&&_(s)){for(var l=[],u=0;u<s.length;u++){var c=o[u],d=s[u];if(null!=c&&null!=d){var h=i5(a,c,d,n,r);l.push(h)}else l.push(d)}return l}}function i9(e,t){return null!=e&&null!=t&&(!!(M(e)&&M(t))||!!e&&!!t)}function i6(e,t){var n=t._private.aniEles,r=[];function i(t,n){var i=t._private,a=i.animation.current,o=i.animation.queue,s=!1;if(0===a.length){var l=o.shift();l&&a.push(l)}for(var u=function(e){for(var t=e.length-1;t>=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;if(h.stopped){a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.frames);continue}(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||function(e,t){var n=e._private;n.started=!0,n.startTime=t-n.progress*n.duration}(d,e),function(e,t,n,r){var i,a,o,s,l=!r,u=e._private,c=t._private,d=c.easing,h=c.startTime,f=(r?e:e.cy()).style();c.easingImpl||(null==d?c.easingImpl=i2.linear:(i=B(d)?f.parse("transition-timing-function",d).value:d,B(i)?(a=i,o=[]):(a=i[1],o=i.slice(2).map(function(e){return+e})),o.length>0?("spring"===a&&o.push(c.duration),c.easingImpl=i2[a].apply(null,o)):c.easingImpl=i2[a]));var p=c.easingImpl;if(s=0===c.duration?1:(n-h)/c.duration,c.applying&&(s=c.progress),s<0?s=0:s>1&&(s=1),null==c.delay){var g=c.startPosition,v=c.position;if(v&&l&&!e.locked()){var y={};i9(g.x,v.x)&&(y.x=i4(g.x,v.x,s,p)),i9(g.y,v.y)&&(y.y=i4(g.y,v.y,s,p)),e.position(y)}var b=c.startPan,x=c.pan,w=u.pan,E=null!=x&&r;E&&(i9(b.x,x.x)&&(w.x=i4(b.x,x.x,s,p)),i9(b.y,x.y)&&(w.y=i4(b.y,x.y,s,p)),e.emit("pan"));var k=c.startZoom,T=c.zoom,C=null!=T&&r;C&&(i9(k,T)&&(u.zoom=tw(u.minZoom,i4(k,T,s,p),u.maxZoom)),e.emit("zoom")),(E||C)&&e.emit("viewport");var P=c.style;if(P&&P.length>0&&l){for(var S=0;S<P.length;S++){var D=P[S],_=D.name,A=c.startStyle[_],M=f.properties[A.name],R=i4(A,D,s,p,M);f.overrideBypass(e,_,R)}e.emit("style")}}c.progress=s}(t,d,e,n),h.applying&&(h.applying=!1),u(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o<n.length;o++){var s=i(n[o]);a=a||s}var l=i(t,!0);(a||l)&&(n.length>0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var i8={animate:rx.animate(),animation:rx.animation(),animated:rx.animated(),clearQueue:rx.clearQueue(),delay:rx.delay(),delayAnimation:rx.delayAnimation(),stop:rx.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender(function(t,n){i6(n,e)},t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&eb(function(n){i6(n,e),t()})}()}}},i7={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&N(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},ae=function(e){return B(e)?new rO(e):e},at={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new iE(i7,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,ae(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,ae(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,ae(t),n),this},once:function(e,t,n){return this.emitter().one(e,ae(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};rx.eventAliasesOn(at);var an={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};an.jpeg=an.jpg;var ar={layout:function(e){if(null==e)return void ez("Layout options must be specified to make a layout");if(null==e.name)return void ez("A `name` must be specified to make a layout");var t,n=e.name,r=this.extension("layout",n);return null==r?void ez("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?"):(t=B(e.eles)?this.$(e.eles):null!=e.eles?e.eles:this.$(),new r(ee({},e,{cy:this,eles:t})))}};ar.createLayout=ar.makeLayout=ar.layout;var ai=eq({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1,webgl:!1,webglDebug:!1,webglDebugShowAtlases:!1,webglTexSize:2048,webglTexRows:36,webglTexRowsNodes:18,webglBatchSize:2048,webglTexPerBatch:14,webglBgColor:[255,255,255]}),aa={renderTo:function(e,t,n,r){return this._private.renderer.renderTo(e,t,n,r),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(e){var t=this.extension("renderer",e.name);if(null==t)return void ez("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));void 0!==e.wheelSensitivity&&eV("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var n=ai(e);n.cy=this,this._private.renderer=new t(n),this.notify("init")},destroyRenderer:function(){this.notify("destroy");var e=this.container();if(e)for(e._cyreg=null;e.childNodes.length>0;)e.removeChild(e.childNodes[0]);this._private.renderer=null,this.mutableElements().forEach(function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};aa.invalidateDimensions=aa.resize;var ao={collection:function(e,t){return B(e)?this.$(e):L(e)?e.collection():_(e)?(t||(t={}),new iQ(this,e,t.unique,t.removed)):new iQ(this)},nodes:function(e){var t=this.$(function(e){return e.isNode()});return e?t.filter(e):t},edges:function(e){var t=this.$(function(e){return e.isEdge()});return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ao.elements=ao.filter=ao.$;var as={};as.apply=function(e){for(var t=this._private.cy.collection(),n=0;n<e.length;n++){var r=e[n],i=this.getContextMeta(r);if(!i.empty){var a=this.getContextStyle(i),o=this.applyContextStyle(i,a,r);r._private.appliedInitStyle?this.updateTransitions(r,o.diffProps):r._private.appliedInitStyle=!0,this.updateStyleHints(r)&&t.push(r)}}return t},as.getPropertiesDiff=function(e,t){var n=this._private.propDiffs=this._private.propDiffs||{},r=e+"-"+t,i=n[r];if(i)return i;for(var a=[],o={},s=0;s<this.length;s++){var l=this[s],u="t"===e[s],c="t"===t[s],d=u!==c,h=l.mappedProperties.length>0;if(d||c&&h){var f=void 0;d&&h||d?f=l.properties:h&&(f=l.mappedProperties);for(var p=0;p<f.length;p++){for(var g=f[p],v=g.name,y=!1,b=s+1;b<this.length;b++){var x=this[b];if("t"===t[b]&&(y=null!=x.properties[g.name]))break}o[v]||y||(o[v]=!0,a.push(v))}}}return n[r]=a,a},as.getContextMeta=function(e){for(var t,n="",r=e._private.styleCxtKey||"",i=0;i<this.length;i++){var a=this[i];a.selector&&a.selector.matches(e)?n+="t":n+="f"}return t=this.getPropertiesDiff(r,n),e._private.styleCxtKey=n,{key:n,diffPropNames:t,empty:0===t.length}},as.getContextStyle=function(e){var t=e.key,n=this._private.contextStyles=this._private.contextStyles||{};if(n[t])return n[t];for(var r={_private:{key:t}},i=0;i<this.length;i++){var a=this[i];if("t"===t[i])for(var o=0;o<a.properties.length;o++){var s=a.properties[o];r[s.name]=s}}return n[t]=r,r},as.applyContextStyle=function(e,t,n){for(var r=e.diffPropNames,i={},a=this.types,o=0;o<r.length;o++){var s=r[o],l=t[s],u=n.pstyle(s);if(!l)if(!u)continue;else l=u.bypass?{name:s,deleteBypassed:!0}:{name:s,delete:!0};if(u!==l){if(l.mapped===a.fn&&null!=u&&null!=u.mapping&&u.mapping.value===l.value){var c=u.mapping;if((c.fnValue=l.value(n))===c.prevFnValue)continue}var d=i[s]={prev:u};this.applyParsedProperty(n,l),d.next=n.pstyle(s),d.next&&d.next.bypass&&(d.next=d.next.bypassed)}}return{diffProps:i}},as.updateStyleHints=function(e){var t=e._private,n=this,r=n.propertyGroupNames,i=n.propertyGroupKeys,a=function(e,t,r){return n.getPropertiesHash(e,t,r)},o=t.styleKey;if(e.removed())return!1;var s="nodes"===t.group,l=e._private.style;r=Object.keys(l);for(var u=0;u<i.length;u++){var c=i[u];t.styleKeys[c]=[9261,5381]}for(var d=function(e,n){return t.styleKeys[n][0]=ew(e,t.styleKeys[n][0])},h=function(e,n){return t.styleKeys[n][1]=eE(e,t.styleKeys[n][1])},f=function(e,t){for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);d(r,t),h(r,t)}},p=0;p<r.length;p++){var g=r[p],v=l[g];if(null!=v){var y,b,x=this.properties[g],w=x.type,E=x.groupKey,k=void 0;null!=x.hashOverride?k=x.hashOverride(e,v):null!=v.pfValue&&(k=v.pfValue);var T=null==x.enums?v.value:null,C=null!=k,P=null!=T,S=C||P,B=v.units;w.number&&S&&!w.multiple?(d(b=-128<(y=C?k:T)&&y<128&&Math.floor(y)!==y?2e9-(1024*y|0):y,E),h(b,E),C||null==B||f(B,E)):f(v.strValue,E)}}for(var D=[9261,5381],_=0;_<i.length;_++){var A=i[_],M=t.styleKeys[A];D[0]=ew(M[0],D[0]),D[1]=eE(M[1],D[1])}t.styleKey=2097152*D[0]+D[1];var R=t.styleKeys;t.labelDimsKey=ek(R.labelDimensions);var I=a(e,["label"],R.labelDimensions);if(t.labelKey=ek(I),t.labelStyleKey=ek(eT(R.commonLabel,I)),!s){var L=a(e,["source-label"],R.labelDimensions);t.sourceLabelKey=ek(L),t.sourceLabelStyleKey=ek(eT(R.commonLabel,L));var N=a(e,["target-label"],R.labelDimensions);t.targetLabelKey=ek(N),t.targetLabelStyleKey=ek(eT(R.commonLabel,N))}if(s){var z=t.styleKeys,O=z.nodeBody,V=z.nodeBorder,F=z.nodeOutline,X=z.backgroundImage,j=z.compound,Y=z.pie,q=z.stripe;t.nodeKey=ek([O,V,F,X,j,Y,q].filter(function(e){return null!=e}).reduce(eT,[9261,5381])),t.hasPie=null!=Y&&9261!==Y[0]&&5381!==Y[1],t.hasStripe=null!=q&&9261!==q[0]&&5381!==q[1]}return o!==t.styleKey},as.clearStyleHints=function(e){var t=e._private;t.styleCxtKey="",t.styleKeys={},t.styleKey=null,t.labelKey=null,t.labelStyleKey=null,t.sourceLabelKey=null,t.sourceLabelStyleKey=null,t.targetLabelKey=null,t.targetLabelStyleKey=null,t.nodeKey=null,t.hasPie=null,t.hasStripe=null},as.applyParsedProperty=function(e,t){var n=this,r=t,i=e._private.style,a=n.types,o=n.properties[r.name].type,s=r.bypass,l=i[r.name],u=l&&l.bypass,c=e._private,d="mapping",h=function(e){return null==e?null:null!=e.pfValue?e.pfValue:e.value},f=function(){var t=h(l),i=h(r);n.checkTriggers(e,r.name,t,i)};if("curve-style"===t.name&&e.isEdge()&&("bezier"!==t.value&&e.isLoop()||"haystack"===t.value&&(e.source().isParent()||e.target().isParent()))&&(r=t=this.parse(t.name,"bezier",s)),r.delete)return i[r.name]=void 0,f(),!0;if(r.deleteBypassed)if(!l)return f(),!0;else if(l.bypass)return l.bypassed=void 0,f(),!0;else return!1;if(r.deleteBypass)if(!l)return f(),!0;else if(l.bypass)return i[r.name]=l.bypassed,f(),!0;else return!1;var p=function(){eV("Do not assign mappings to elements without corresponding data (i.e. ele `"+e.id()+"` has no mapping for property `"+r.name+"` with data field `"+r.field+"`); try a `["+r.field+"]` selector to limit scope to elements with `"+r.field+"` defined")};switch(r.mapped){case a.mapData:for(var g,v,y=r.field.split("."),b=c.data,x=0;x<y.length&&b;x++)b=b[y[x]];if(null==b)return p(),!1;if(!M(b))return eV("Do not use continuous mappers without specifying numeric data (i.e. `"+r.field+": "+b+"` for `"+e.id()+"` is non-numeric)"),!1;var w=r.fieldMax-r.fieldMin;if((v=0===w?0:(b-r.fieldMin)/w)<0?v=0:v>1&&(v=1),o.color){var E=r.valueMin[0],k=r.valueMax[0],T=r.valueMin[1],C=r.valueMax[1],P=r.valueMin[2],S=r.valueMax[2],B=null==r.valueMin[3]?1:r.valueMin[3],D=[Math.round(E+(k-E)*v),Math.round(T+(C-T)*v),Math.round(P+(S-P)*v),Math.round(B+((null==r.valueMax[3]?1:r.valueMax[3])-B)*v)];g={bypass:r.bypass,name:r.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!o.number)return!1;var _=r.valueMin+(r.valueMax-r.valueMin)*v;g=this.parse(r.name,_,r.bypass,d)}if(!g)return p(),!1;g.mapping=r,r=g;break;case a.data:for(var A=r.field.split("."),R=c.data,I=0;I<A.length&&R;I++)R=R[A[I]];if(null!=R&&(g=this.parse(r.name,R,r.bypass,d)),!g)return p(),!1;g.mapping=r,r=g;break;case a.fn:var L=r.value,N=null!=r.fnValue?r.fnValue:L(e);if(r.prevFnValue=N,null==N)return eV("Custom function mappers may not return null (i.e. `"+r.name+"` for ele `"+e.id()+"` is null)"),!1;if(!(g=this.parse(r.name,N,r.bypass,d)))return eV("Custom function mappers may not return invalid values for the property type (i.e. `"+r.name+"` for ele `"+e.id()+"` is invalid)"),!1;g.mapping=eF(r),r=g;break;case void 0:break;default:return!1}return s?(u?r.bypassed=l.bypassed:r.bypassed=l,i[r.name]=r):u?l.bypassed=r:i[r.name]=r,f(),!0},as.cleanElements=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(this.clearStyleHints(r),r.dirtyCompoundBoundsCache(),r.dirtyBoundingBoxCache(),t)for(var i=r._private.style,a=Object.keys(i),o=0;o<a.length;o++){var s=a[o],l=i[s];null!=l&&(l.bypass?l.bypassed=null:i[s]=null)}else r._private.style={}}},as.update=function(){this._private.cy.mutableElements().updateStyle()},as.updateTransitions=function(e,t){var n=this,r=e._private,i=e.pstyle("transition-property").value,a=e.pstyle("transition-duration").pfValue,o=e.pstyle("transition-delay").pfValue;if(i.length>0&&a>0){for(var s={},l=!1,u=0;u<i.length;u++){var c=i[u],d=e.pstyle(c),h=t[c];if(h){var f=h.prev,p=null!=h.next?h.next:d,g=!1,v=void 0;f&&(M(f.pfValue)&&M(p.pfValue)?(g=p.pfValue-f.pfValue,v=f.pfValue+1e-6*g):M(f.value)&&M(p.value)?(g=p.value-f.value,v=f.value+1e-6*g):_(f.value)&&_(p.value)&&(g=f.value[0]!==p.value[0]||f.value[1]!==p.value[1]||f.value[2]!==p.value[2],v=f.strValue),g&&(s[c]=p.strValue,this.applyBypass(e,c,v),l=!0))}}if(!l)return;r.transitioning=!0,new rr(function(t){o>0?e.delayAnimation(o).play().promise().then(t):t()}).then(function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1})}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},as.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);!e.removed()&&null!=s&&s(n,r,e)&&a(o)},as.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,function(e){return e.triggersZOrder},function(){i._private.cy.notify("zorder",e)})},as.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBounds},function(t){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache()})},as.checkConnectedEdgesBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBoundsOfConnectedEdges},function(t){e.connectedEdges().forEach(function(e){e.dirtyBoundingBoxCache()})})},as.checkParallelEdgesBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBoundsOfParallelEdges},function(t){e.parallelEdges().forEach(function(e){e.dirtyBoundingBoxCache()})})},as.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r),this.checkConnectedEdgesBoundsTrigger(e,t,n,r),this.checkParallelEdgesBoundsTrigger(e,t,n,r)};var al={};al.applyBypass=function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;a<this.properties.length;a++){var o=this.properties[a].name,s=this.parse(o,n,!0);s&&i.push(s)}}else if(B(t)){var l=this.parse(t,n,!0);l&&i.push(l)}else{if(!A(t))return!1;r=n;for(var u=Object.keys(t),c=0;c<u.length;c++){var d=u[c],h=t[d];if(void 0===h&&(h=t[q(d)]),void 0!==h){var f=this.parse(d,h,!0);f&&i.push(f)}}}if(0===i.length)return!1;for(var p=!1,g=0;g<e.length;g++){for(var v=e[g],y={},b=void 0,x=0;x<i.length;x++){var w=i[x];if(r){var E=v.pstyle(w.name);b=y[w.name]={prev:E}}p=this.applyParsedProperty(v,eF(w))||p,r&&(b.next=v.pstyle(w.name))}p&&this.updateStyleHints(v),r&&this.updateTransitions(v,y,!0)}return p},al.overrideBypass=function(e,t,n){t=Y(t);for(var r=0;r<e.length;r++){var i=e[r],a=i._private.style[t],o=this.properties[t].type,s=o.color,l=o.mutiple,u=a?null!=a.pfValue?a.pfValue:a.value:null;a&&a.bypass?(a.value=n,null!=a.pfValue&&(a.pfValue=n),s?a.strValue="rgb("+n.join(",")+")":l?a.strValue=n.join(" "):a.strValue=""+n,this.updateStyleHints(i)):this.applyBypass(i,t,n),this.checkTriggers(i,t,u,n)}},al.removeAllBypasses=function(e,t){return this.removeBypasses(e,this.propertyNames,t)},al.removeBypasses=function(e,t,n){for(var r=0;r<e.length;r++){for(var i=e[r],a={},o=0;o<t.length;o++){var s=t[o],l=this.properties[s],u=i.pstyle(l.name);if(u&&u.bypass){var c=this.parse(s,"",!0),d=a[l.name]={prev:u};this.applyParsedProperty(i,c),d.next=i.pstyle(l.name)}}this.updateStyleHints(i),n&&this.updateTransitions(i,a,!0)}};var au={};au.getEmSizeInPixels=function(){var e=this.containerCss("font-size");return null!=e?parseFloat(e):1},au.containerCss=function(e){var t=this._private.cy,n=t.container(),r=t.window();if(r&&n&&r.getComputedStyle)return r.getComputedStyle(n).getPropertyValue(e)};var ac={};ac.getRenderedStyle=function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)},ac.getRawStyle=function(e,t){if(e=e[0]){for(var n={},r=0;r<this.properties.length;r++){var i=this.properties[r],a=this.getStylePropertyValue(e,i.name,t);null!=a&&(n[i.name]=a,n[q(i.name)]=a)}return n}},ac.getIndexedStyle=function(e,t,n,r){var i=e.pstyle(t)[n][r];return null!=i?i:e.cy().style().getDefaultProperty(t)[n][0]},ac.getStylePropertyValue=function(e,t,n){if(e=e[0]){var r=this.properties[t];r.alias&&(r=r.pointsTo);var i=r.type,a=e.pstyle(r.name);if(a){var o=a.value,s=a.units,l=a.strValue;if(n&&i.number&&null!=o&&M(o)){var u=e.cy().zoom(),c=function(e){return e*u},d=function(e,t){return c(e)+t},h=_(o);if(h?s.every(function(e){return null!=e}):null!=s)if(h)return o.map(function(e,t){return d(e,s[t])}).join(" ");else return d(o,s);return h?o.map(function(e){return B(e)?e:""+c(e)}).join(" "):""+c(o)}if(null!=l)return l}return null}},ac.getAnimationStartStyle=function(e,t){for(var n={},r=0;r<t.length;r++){var i=t[r].name,a=e.pstyle(i);void 0!==a&&(a=A(a)?this.parse(i,a.strValue):this.parse(i,a)),a&&(n[i]=a)}return n},ac.getPropsList=function(e){var t=[],n=this.properties;if(e)for(var r=Object.keys(e),i=0;i<r.length;i++){var a=r[i],o=e[a],s=n[a]||n[Y(a)],l=this.parse(s.name,o);l&&t.push(l)}return t},ac.getNonDefaultPropertiesHash=function(e,t,n){var r,i,a,o,s,l,u=n.slice();for(s=0;s<t.length;s++)if(r=t[s],null!=(i=e.pstyle(r,!1)))if(null!=i.pfValue)u[0]=ew(o,u[0]),u[1]=eE(o,u[1]);else for(l=0,a=i.strValue;l<a.length;l++)o=a.charCodeAt(l),u[0]=ew(o,u[0]),u[1]=eE(o,u[1]);return u},ac.getPropertiesHash=ac.getNonDefaultPropertiesHash;var ad={};ad.appendFromJson=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n.selector,i=n.style||n.css,a=Object.keys(i);this.selector(r);for(var o=0;o<a.length;o++){var s=a[o],l=i[s];this.css(s,l)}}return this},ad.fromJson=function(e){return this.resetToDefault(),this.appendFromJson(e),this},ad.json=function(){for(var e=[],t=this.defaultLength;t<this.length;t++){for(var n=this[t],r=n.selector,i=n.properties,a={},o=0;o<i.length;o++){var s=i[o];a[s.name]=s.strValue}e.push({selector:r?r.toString():"core",style:a})}return e};var ah={};ah.appendFromString=function(e){var t,n,r,i=""+e;function a(){i=i.length>t.length?i.substr(t.length):""}function o(){n=n.length>r.length?n.substr(r.length):""}for(i=i.replace(/[/][*](\s|.)+?[*][/]/g,"");!i.match(/^\s*$/);){var s=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!s){eV("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}t=s[0];var l=s[1];if("core"!==l&&new rO(l).invalid){eV("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),a();continue}var u=s[2],c=!1;n=u;for(var d=[];!n.match(/^\s*$/);){var h=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!h){eV("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),c=!0;break}r=h[0];var f=h[1],p=h[2];if(!this.properties[f]){eV("Skipping property: Invalid property name in: "+r),o();continue}if(!this.parse(f,p)){eV("Skipping property: Invalid property definition in: "+r),o();continue}d.push({name:f,val:p}),o()}if(c){a();break}this.selector(l);for(var g=0;g<d.length;g++){var v=d[g];this.css(v.name,v.val)}a()}return this},ah.fromString=function(e){return this.resetToDefault(),this.appendFromString(e),this};var af={};!function(){var e=function(e){return"^"+e+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},t=function(e){var t=K+"|\\w+|"+Z+"|"+Q+"|\\#[0-9a-fA-F]{3}|\\#[0-9a-fA-F]{6}";return"^"+e+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+K+")\\s*\\,\\s*("+K+")\\s*,\\s*("+t+")\\s*\\,\\s*("+t+")\\)$"},n=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];af.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},axisDirectionExplicit:{enums:["leftward","rightward","upward","downward"]},axisDirectionPrimary:{enums:["horizontal","vertical"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},boxSelection:{enums:["contain","overlap","none"]},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle","circle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","top-inside","center","bottom","bottom-inside"]},halign:{enums:["left","left-inside","center","right","right-inside"]},justification:{enums:["left","center","right","auto"]},textMetrics:{enums:["font","glyph"]},text:{string:!0},data:{mapping:!0,regex:e("data")},layoutData:{mapping:!0,regex:e("layoutData")},scratch:{mapping:!0,regex:e("scratch")},mapData:{mapping:!0,regex:t("mapData")},mapLayoutData:{mapping:!0,regex:t("mapLayoutData")},mapScratch:{mapping:!0,regex:t("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:n,singleRegexMatchValue:!0},urls:{regexes:n,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(e,t){switch(e.length){case 2:return"deg"!==t[0]&&"rad"!==t[0]&&"deg"!==t[1]&&"rad"!==t[1];case 1:return B(e[0])||"deg"===t[0]||"rad"===t[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+K+")\\s*,\\s*("+K+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+K+")\\s*,\\s*("+K+")\\s*,\\s*("+K+")\\s*,\\s*("+K+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(e){var t=e.length;return 1===t||2===t||4===t}}};var r=function(e,t){return(null==e||null==t)&&e!==t||0==e&&0!=t||0!=e&&0==t},i=function(e,t){return e!=t},a=af.types,o=[{name:"label",type:a.text,triggersBounds:i,triggersZOrder:function(e,t){var n=F(e),r=F(t);return n&&!r||!n&&r}},{name:"text-rotation",type:a.textRotation,triggersBounds:i},{name:"text-margin-x",type:a.bidirectionalSize,triggersBounds:i},{name:"text-margin-y",type:a.bidirectionalSize,triggersBounds:i}],s=[{name:"source-label",type:a.text,triggersBounds:i},{name:"source-text-rotation",type:a.textRotation,triggersBounds:i},{name:"source-text-margin-x",type:a.bidirectionalSize,triggersBounds:i},{name:"source-text-margin-y",type:a.bidirectionalSize,triggersBounds:i},{name:"source-text-offset",type:a.size,triggersBounds:i}],l=[{name:"target-label",type:a.text,triggersBounds:i},{name:"target-text-rotation",type:a.textRotation,triggersBounds:i},{name:"target-text-margin-x",type:a.bidirectionalSize,triggersBounds:i},{name:"target-text-margin-y",type:a.bidirectionalSize,triggersBounds:i},{name:"target-text-offset",type:a.size,triggersBounds:i}],u=[{name:"font-family",type:a.fontFamily,triggersBounds:i},{name:"font-style",type:a.fontStyle,triggersBounds:i},{name:"font-weight",type:a.fontWeight,triggersBounds:i},{name:"font-size",type:a.size,triggersBounds:i},{name:"text-transform",type:a.textTransform,triggersBounds:i},{name:"text-wrap",type:a.textWrap,triggersBounds:i},{name:"text-overflow-wrap",type:a.textOverflowWrap,triggersBounds:i},{name:"text-max-width",type:a.size,triggersBounds:i},{name:"text-outline-width",type:a.size,triggersBounds:i},{name:"line-height",type:a.positiveNumber,triggersBounds:i}],c=[{name:"text-valign",type:a.valign,triggersBounds:i},{name:"text-halign",type:a.halign,triggersBounds:i},{name:"color",type:a.color},{name:"text-outline-color",type:a.color},{name:"text-outline-opacity",type:a.zeroOneNumber},{name:"text-background-color",type:a.color},{name:"text-background-opacity",type:a.zeroOneNumber},{name:"text-background-padding",type:a.size,triggersBounds:i},{name:"text-border-opacity",type:a.zeroOneNumber},{name:"text-border-color",type:a.color},{name:"text-border-width",type:a.size,triggersBounds:i},{name:"text-border-style",type:a.borderStyle,triggersBounds:i},{name:"text-background-shape",type:a.textBackgroundShape,triggersBounds:i},{name:"text-justification",type:a.justification},{name:"text-metrics",type:a.textMetrics},{name:"box-select-labels",type:a.bool,triggersBounds:i}],d=[{name:"events",type:a.bool,triggersZOrder:i},{name:"text-events",type:a.bool,triggersZOrder:i},{name:"box-selection",type:a.boxSelection,triggersZOrder:i}],h=[{name:"display",type:a.display,triggersZOrder:i,triggersBounds:i,triggersBoundsOfConnectedEdges:i,triggersBoundsOfParallelEdges:function(e,t,n){return e!==t&&"bezier"===n.pstyle("curve-style").value}},{name:"visibility",type:a.visibility,triggersZOrder:i},{name:"opacity",type:a.zeroOneNumber,triggersZOrder:r},{name:"text-opacity",type:a.zeroOneNumber},{name:"min-zoomed-font-size",type:a.size},{name:"z-compound-depth",type:a.zCompoundDepth,triggersZOrder:i},{name:"z-index-compare",type:a.zIndexCompare,triggersZOrder:i},{name:"z-index",type:a.number,triggersZOrder:i}],f=[{name:"overlay-padding",type:a.size,triggersBounds:i},{name:"overlay-color",type:a.color},{name:"overlay-opacity",type:a.zeroOneNumber,triggersBounds:r},{name:"overlay-shape",type:a.overlayShape,triggersBounds:i},{name:"overlay-corner-radius",type:a.cornerRadius}],p=[{name:"underlay-padding",type:a.size,triggersBounds:i},{name:"underlay-color",type:a.color},{name:"underlay-opacity",type:a.zeroOneNumber,triggersBounds:r},{name:"underlay-shape",type:a.overlayShape,triggersBounds:i},{name:"underlay-corner-radius",type:a.cornerRadius}],g=[{name:"transition-property",type:a.propList},{name:"transition-duration",type:a.time},{name:"transition-delay",type:a.time},{name:"transition-timing-function",type:a.easing}],v=function(e,t){return"label"===t.value?-e.poolIndex():t.pfValue},y=[{name:"height",type:a.nodeSize,triggersBounds:i,hashOverride:v},{name:"width",type:a.nodeSize,triggersBounds:i,hashOverride:v},{name:"shape",type:a.nodeShape,triggersBounds:i},{name:"shape-polygon-points",type:a.polygonPointList,triggersBounds:i},{name:"corner-radius",type:a.cornerRadius},{name:"background-color",type:a.color},{name:"background-fill",type:a.fill},{name:"background-opacity",type:a.zeroOneNumber},{name:"background-blacken",type:a.nOneOneNumber},{name:"background-gradient-stop-colors",type:a.colors},{name:"background-gradient-stop-positions",type:a.percentages},{name:"background-gradient-direction",type:a.gradientDirection},{name:"padding",type:a.sizeMaybePercent,triggersBounds:i},{name:"padding-relative-to",type:a.paddingRelativeTo,triggersBounds:i},{name:"bounds-expansion",type:a.boundsExpansion,triggersBounds:i}],b=[{name:"border-color",type:a.color},{name:"border-opacity",type:a.zeroOneNumber},{name:"border-width",type:a.size,triggersBounds:i},{name:"border-style",type:a.borderStyle},{name:"border-cap",type:a.lineCap},{name:"border-join",type:a.lineJoin},{name:"border-dash-pattern",type:a.numbers},{name:"border-dash-offset",type:a.number},{name:"border-position",type:a.linePosition}],x=[{name:"outline-color",type:a.color},{name:"outline-opacity",type:a.zeroOneNumber},{name:"outline-width",type:a.size,triggersBounds:i},{name:"outline-style",type:a.borderStyle},{name:"outline-offset",type:a.size,triggersBounds:i}],w=[{name:"background-image",type:a.urls},{name:"background-image-crossorigin",type:a.bgCrossOrigin},{name:"background-image-opacity",type:a.zeroOneNumbers},{name:"background-image-containment",type:a.bgContainment},{name:"background-image-smoothing",type:a.bools},{name:"background-position-x",type:a.bgPos},{name:"background-position-y",type:a.bgPos},{name:"background-width-relative-to",type:a.bgRelativeTo},{name:"background-height-relative-to",type:a.bgRelativeTo},{name:"background-repeat",type:a.bgRepeat},{name:"background-fit",type:a.bgFit},{name:"background-clip",type:a.bgClip},{name:"background-width",type:a.bgWH},{name:"background-height",type:a.bgWH},{name:"background-offset-x",type:a.bgPos},{name:"background-offset-y",type:a.bgPos}],E=[{name:"position",type:a.position,triggersBounds:i},{name:"compound-sizing-wrt-labels",type:a.compoundIncludeLabels,triggersBounds:i},{name:"min-width",type:a.size,triggersBounds:i},{name:"min-width-bias-left",type:a.sizeMaybePercent,triggersBounds:i},{name:"min-width-bias-right",type:a.sizeMaybePercent,triggersBounds:i},{name:"min-height",type:a.size,triggersBounds:i},{name:"min-height-bias-top",type:a.sizeMaybePercent,triggersBounds:i},{name:"min-height-bias-bottom",type:a.sizeMaybePercent,triggersBounds:i}],k=[{name:"line-style",type:a.lineStyle},{name:"line-color",type:a.color},{name:"line-fill",type:a.fill},{name:"line-cap",type:a.lineCap},{name:"line-opacity",type:a.zeroOneNumber},{name:"line-dash-pattern",type:a.numbers},{name:"line-dash-offset",type:a.number},{name:"line-outline-width",type:a.size},{name:"line-outline-color",type:a.color},{name:"line-gradient-stop-colors",type:a.colors},{name:"line-gradient-stop-positions",type:a.percentages},{name:"curve-style",type:a.curveStyle,triggersBounds:i,triggersBoundsOfParallelEdges:function(e,t){return e!==t&&("bezier"===e||"bezier"===t)}},{name:"haystack-radius",type:a.zeroOneNumber,triggersBounds:i},{name:"source-endpoint",type:a.edgeEndpoint,triggersBounds:i},{name:"target-endpoint",type:a.edgeEndpoint,triggersBounds:i},{name:"control-point-step-size",type:a.size,triggersBounds:i},{name:"control-point-distances",type:a.bidirectionalSizes,triggersBounds:i},{name:"control-point-weights",type:a.numbers,triggersBounds:i},{name:"segment-distances",type:a.bidirectionalSizes,triggersBounds:i},{name:"segment-weights",type:a.numbers,triggersBounds:i},{name:"segment-radii",type:a.numbers,triggersBounds:i},{name:"radius-type",type:a.radiusType,triggersBounds:i},{name:"taxi-turn",type:a.bidirectionalSizeMaybePercent,triggersBounds:i},{name:"taxi-turn-min-distance",type:a.size,triggersBounds:i},{name:"taxi-direction",type:a.axisDirection,triggersBounds:i},{name:"taxi-radius",type:a.number,triggersBounds:i},{name:"edge-distances",type:a.edgeDistances,triggersBounds:i},{name:"arrow-scale",type:a.positiveNumber,triggersBounds:i},{name:"loop-direction",type:a.angle,triggersBounds:i},{name:"loop-sweep",type:a.angle,triggersBounds:i},{name:"source-distance-from-node",type:a.size,triggersBounds:i},{name:"target-distance-from-node",type:a.size,triggersBounds:i}],T=[{name:"ghost",type:a.bool,triggersBounds:i},{name:"ghost-offset-x",type:a.bidirectionalSize,triggersBounds:i},{name:"ghost-offset-y",type:a.bidirectionalSize,triggersBounds:i},{name:"ghost-opacity",type:a.zeroOneNumber}],C=[{name:"selection-box-color",type:a.color},{name:"selection-box-opacity",type:a.zeroOneNumber},{name:"selection-box-border-color",type:a.color},{name:"selection-box-border-width",type:a.size},{name:"active-bg-color",type:a.color},{name:"active-bg-opacity",type:a.zeroOneNumber},{name:"active-bg-size",type:a.size},{name:"outside-texture-bg-color",type:a.color},{name:"outside-texture-bg-opacity",type:a.zeroOneNumber}],P=[];af.pieBackgroundN=16,P.push({name:"pie-size",type:a.sizeMaybePercent}),P.push({name:"pie-hole",type:a.sizeMaybePercent}),P.push({name:"pie-start-angle",type:a.angle});for(var S=1;S<=af.pieBackgroundN;S++)P.push({name:"pie-"+S+"-background-color",type:a.color}),P.push({name:"pie-"+S+"-background-size",type:a.percent}),P.push({name:"pie-"+S+"-background-opacity",type:a.zeroOneNumber});var D=[];af.stripeBackgroundN=16,D.push({name:"stripe-size",type:a.sizeMaybePercent}),D.push({name:"stripe-direction",type:a.axisDirectionPrimary});for(var _=1;_<=af.stripeBackgroundN;_++)D.push({name:"stripe-"+_+"-background-color",type:a.color}),D.push({name:"stripe-"+_+"-background-size",type:a.percent}),D.push({name:"stripe-"+_+"-background-opacity",type:a.zeroOneNumber});var A=[],M=af.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:a.arrowShape,triggersBounds:i},{name:"arrow-color",type:a.color},{name:"arrow-fill",type:a.arrowFill},{name:"arrow-width",type:a.arrowWidth}].forEach(function(e){M.forEach(function(t){var n=t+"-"+e.name,r=e.type,i=e.triggersBounds;A.push({name:n,type:r,triggersBounds:i})})},{});var R=af.properties=[].concat(d,g,h,f,p,T,c,u,o,s,l,y,b,x,w,P,D,E,k,A,C),I=af.propertyGroups={behavior:d,transition:g,visibility:h,overlay:f,underlay:p,ghost:T,commonLabel:c,labelDimensions:u,mainLabel:o,sourceLabel:s,targetLabel:l,nodeBody:y,nodeBorder:b,nodeOutline:x,backgroundImage:w,pie:P,stripe:D,compound:E,edgeLine:k,edgeArrow:A,core:C},L=af.propertyGroupNames={};(af.propertyGroupKeys=Object.keys(I)).forEach(function(e){L[e]=I[e].map(function(e){return e.name}),I[e].forEach(function(t){return t.groupKey=e})});var N=af.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];af.propertyNames=R.map(function(e){return e.name});for(var z=0;z<R.length;z++){var O=R[z];R[O.name]=O}for(var V=0;V<N.length;V++){var X=N[V],j=R[X.pointsTo],Y={name:X.name,alias:!0,pointsTo:j};R.push(Y),R[X.name]=Y}}(),af.getDefaultProperty=function(e){return this.getDefaultProperties()[e]},af.getDefaultProperties=function(){var e=this._private;if(null!=e.defaultProperties)return e.defaultProperties;for(var t=ee({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","box-selection":"contain","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","text-metrics":"font","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","box-select-labels":"no","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%","pie-hole":0,"pie-start-angle":"0deg"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(e,t){for(var n=1;n<=af.pieBackgroundN;n++){var r=t.name.replace("{{i}}",n),i=t.value;e[r]=i}return e},{}),{"stripe-size":"100%","stripe-direction":"horizontal"},[{name:"stripe-{{i}}-background-color",value:"black"},{name:"stripe-{{i}}-background-size",value:"0%"},{name:"stripe-{{i}}-background-opacity",value:1}].reduce(function(e,t){for(var n=1;n<=af.stripeBackgroundN;n++){var r=t.name.replace("{{i}}",n),i=t.value;e[r]=i}return e},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(e,t){return af.arrowPrefixes.forEach(function(n){var r=n+"-"+t.name,i=t.value;e[r]=i}),e},{})),n={},r=0;r<this.properties.length;r++){var i=this.properties[r];if(!i.pointsTo){var a=i.name,o=t[a],s=this.parse(a,o);n[a]=s}}return e.defaultProperties=n,e.defaultProperties},af.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var ap={};ap.parse=function(e,t,n,r){if(D(t))return this.parseImplWarn(e,t,n,r);var i,a=eS(e,""+t,n?"t":"f","mapping"===r||!0===r||!1===r||null==r?"dontcare":r),o=this.propCache=this.propCache||[];return(i=o[a])||(i=o[a]=this.parseImplWarn(e,t,n,r)),(n||"mapping"===r)&&(i=eF(i))&&(i.value=eF(i.value)),i},ap.parseImplWarn=function(e,t,n,r){var i=this.parseImpl(e,t,n,r);return i||null==t||eV("The style property `".concat(e,": ").concat(t,"` is invalid")),i&&("width"===i.name||"height"===i.name)&&"label"===t&&eV("The style value of `label` is deprecated for `"+i.name+"`"),i},ap.parseImpl=function(e,t,n,r){e=Y(e);var i=this.properties[e],a=t,o=this.types;if(!i||void 0===t)return null;i.alias&&(e=(i=i.pointsTo).name);var s=B(t);s&&(t=t.trim());var l=i.type;if(!l)return null;if(n&&(""===t||null===t))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(D(t))return{name:e,value:t,strValue:"fn",mapped:o.fn,bypass:n};if(!s||r||t.length<7||"a"!==t[1]);else if(t.length>=7&&"d"===t[0]&&(g=new RegExp(o.data.regex).exec(t))){if(n)return!1;var u=o.data;return{name:e,value:g,strValue:""+t,mapped:u,field:g[1],bypass:n}}else if(t.length>=10&&"m"===t[0]&&(v=new RegExp(o.mapData.regex).exec(t))){if(n||l.multiple)return!1;var c=o.mapData;if(!(l.color||l.number))return!1;var d=this.parse(e,v[4]);if(!d||d.mapped)return!1;var h=this.parse(e,v[5]);if(!h||h.mapped)return!1;if(d.pfValue===h.pfValue||d.strValue===h.strValue)return eV("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+d.strValue+"`"),this.parse(e,d.strValue);if(l.color){var f=d.value,p=h.value;if(f[0]===p[0]&&f[1]===p[1]&&f[2]===p[2]&&(f[3]===p[3]||(null==f[3]||1===f[3])&&(null==p[3]||1===p[3])))return!1}return{name:e,value:v,strValue:""+t,mapped:c,field:v[1],fieldMin:parseFloat(v[2]),fieldMax:parseFloat(v[3]),valueMin:d.value,valueMax:h.value,bypass:n}}if(l.multiple&&"multiple"!==r){if(y=s?t.split(/\s+/):_(t)?t:[t],l.evenMultiple&&y.length%2!=0)return null;for(var g,v,y,b=[],x=[],w=[],E="",k=!1,T=0;T<y.length;T++){var C=this.parse(e,y[T],n,"multiple");k=k||B(C.value),b.push(C.value),w.push(null!=C.pfValue?C.pfValue:C.value),x.push(C.units),E+=(T>0?" ":"")+C.strValue}if(l.validate&&!l.validate(b,x))return null;if(l.singleEnum&&k)if(1===b.length&&B(b[0]))return{name:e,value:b[0],strValue:b[0],bypass:n};else return null;return{name:e,value:b,pfValue:w,strValue:E,bypass:n,units:x}}var P=function(){for(var r=0;r<l.enums.length;r++)if(l.enums[r]===t)return{name:e,value:t,strValue:""+t,bypass:n};return null};if(l.number){var S,A="px";if(l.units&&(S=l.units),l.implicitUnits&&(A=l.implicitUnits),!l.unitless)if(s){var M="px|em"+(l.allowPercent?"|\\%":"");S&&(M=S);var I=t.match("^("+K+")("+M+")?$");I&&(t=I[1],S=I[2]||A)}else(!S||l.implicitUnits)&&(S=A);if(isNaN(t=parseFloat(t))&&void 0===l.enums)return null;if(isNaN(t)&&void 0!==l.enums)return t=a,P();if(l.integer&&!R(t)||void 0!==l.min&&(t<l.min||l.strictMin&&t===l.min)||void 0!==l.max&&(t>l.max||l.strictMax&&t===l.max))return null;var L={name:e,value:t,strValue:""+t+(S||""),units:S,bypass:n};return l.unitless||"px"!==S&&"em"!==S?L.pfValue=t:L.pfValue="px"!==S&&S?this.getEmSizeInPixels()*t:t,("ms"===S||"s"===S)&&(L.pfValue="ms"===S?t:1e3*t),("deg"===S||"rad"===S)&&(L.pfValue="rad"===S?t:Math.PI*t/180),"%"===S&&(L.pfValue=t/100),L}if(l.propList){var N=[],z=""+t;if("none"===z);else{for(var O=z.split(/\s*,\s*|\s+/),V=0;V<O.length;V++){var F=O[V].trim();this.properties[F]?N.push(F):eV("`"+F+"` is not a valid property name")}if(0===N.length)return null}return{name:e,value:N,strValue:0===N.length?"none":N.join(" "),bypass:n}}if(l.color){var X=ei(t);return X?{name:e,value:X,pfValue:X,strValue:"rgb("+X[0]+","+X[1]+","+X[2]+")",bypass:n}:null}if(l.regex||l.regexes){if(l.enums){var j=P();if(j)return j}for(var q=l.regexes?l.regexes:[l.regex],W=0;W<q.length;W++){var U=new RegExp(q[W]).exec(t);if(U)return{name:e,value:l.singleRegexMatchValue?U[1]:U,strValue:""+t,bypass:n}}return null}if(l.string)return{name:e,value:""+t,strValue:""+t,bypass:n};else if(l.enums)return P();else return null};var ag=function(e){return this instanceof ag?O(e)?void(this._private={cy:e,coreStyle:{}},this.length=0,this.resetToDefault()):void ez("A style must have a core reference"):new ag(e)},av=ag.prototype;av.instanceString=function(){return"style"},av.clear=function(){for(var e=this._private,t=e.cy.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,e.contextStyles={},e.propDiffs={},this.cleanElements(t,!0),t.forEach(function(e){var t=e[0]._private;t.styleDirty=!0,t.appliedInitStyle=!1}),this},av.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},av.core=function(e){return this._private.coreStyle[e]||this.getDefaultProperty(e)},av.selector=function(e){var t="core"===e?null:new rO(e),n=this.length++;return this[n]={selector:t,properties:[],mappedProperties:[],index:n},this},av.css=function(){var e=arguments;if(1===e.length)for(var t=e[0],n=0;n<this.properties.length;n++){var r=this.properties[n],i=t[r.name];void 0===i&&(i=t[q(r.name)]),void 0!==i&&this.cssRule(r.name,i)}else 2===e.length&&this.cssRule(e[0],e[1]);return this},av.style=av.css,av.cssRule=function(e,t){var n=this.parse(e,t);if(n){var r=this.length-1;this[r].properties.push(n),this[r].properties[n.name]=n,n.name.match(/pie-(\d+)-background-size/)&&n.value&&(this._private.hasPie=!0),n.name.match(/stripe-(\d+)-background-size/)&&n.value&&(this._private.hasStripe=!0),n.mapped&&this[r].mappedProperties.push(n),this[r].selector||(this._private.coreStyle[n.name]=n)}return this},av.append=function(e){return V(e)?e.appendToStyle(this):_(e)?this.appendFromJson(e):B(e)&&this.appendFromString(e),this},ag.fromJson=function(e,t){var n=new ag(e);return n.fromJson(t),n},ag.fromString=function(e,t){return new ag(e).fromString(t)},[as,al,au,ac,ad,ah,af,ap].forEach(function(e){ee(av,e)}),ag.types=av.types,ag.properties=av.properties,ag.propertyGroups=av.propertyGroups,ag.propertyGroupNames=av.propertyGroupNames,ag.propertyGroupKeys=av.propertyGroupKeys;var ay={autolock:function(e){return void 0===e?this._private.autolock:(this._private.autolock=!!e,this)},autoungrabify:function(e){return void 0===e?this._private.autoungrabify:(this._private.autoungrabify=!!e,this)},autounselectify:function(e){return void 0===e?this._private.autounselectify:(this._private.autounselectify=!!e,this)},selectionType:function(e){var t=this._private;return(null==t.selectionType&&(t.selectionType="single"),void 0===e)?t.selectionType:(("additive"===e||"single"===e)&&(t.selectionType=e),this)},panningEnabled:function(e){return void 0===e?this._private.panningEnabled:(this._private.panningEnabled=!!e,this)},userPanningEnabled:function(e){return void 0===e?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!e,this)},zoomingEnabled:function(e){return void 0===e?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!e,this)},userZoomingEnabled:function(e){return void 0===e?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!e,this)},boxSelectionEnabled:function(e){return void 0===e?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!e,this)},pan:function(){var e,t,n,r,i,a=arguments,o=this._private.pan;switch(a.length){case 0:return o;case 1:if(B(a[0]))return o[e=a[0]];if(A(a[0])){if(!this._private.panningEnabled)return this;r=(n=a[0]).x,i=n.y,M(r)&&(o.x=r),M(i)&&(o.y=i),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;e=a[0],t=a[1],("x"===e||"y"===e)&&M(t)&&(o[e]=t),this.emit("pan viewport")}return this.notify("viewport"),this},panBy:function(e,t){var n,r,i,a=arguments,o=this._private.pan;if(!this._private.panningEnabled)return this;switch(a.length){case 1:A(e)&&(r=(n=a[0]).x,i=n.y,M(r)&&(o.x+=r),M(i)&&(o.y+=i),this.emit("pan viewport"));break;case 2:("x"===e||"y"===e)&&M(t)&&(o[e]+=t),this.emit("pan viewport")}return this.notify("viewport"),this},gc:function(){this.notify("gc")},fit:function(e,t){var n=this.getFitViewport(e,t);if(n){var r=this._private;r.zoom=n.zoom,r.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(e,t){if(M(e)&&void 0===t&&(t=e,e=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){if(B(e)){var n,r,i,a=e;e=this.$(a)}else if(A(n=e)&&M(n.x1)&&M(n.x2)&&M(n.y1)&&M(n.y2)){var o=e;(r={x1:o.x1,y1:o.y1,x2:o.x2,y2:o.y2}).w=r.x2-r.x1,r.h=r.y2-r.y1}else L(e)||(e=this.mutableElements());if(!(L(e)&&e.empty())){r=r||e.boundingBox();var s=this.width(),l=this.height();if(t=M(t)?t:0,!isNaN(s)&&!isNaN(l)&&s>0&&l>0&&!isNaN(r.w)&&!isNaN(r.h)&&r.w>0&&r.h>0){i=(i=(i=Math.min((s-2*t)/r.w,(l-2*t)/r.h))>this._private.maxZoom?this._private.maxZoom:i)<this._private.minZoom?this._private.minZoom:i;var u={x:(s-i*(r.x1+r.x2))/2,y:(l-i*(r.y1+r.y2))/2};return{zoom:i,pan:u}}}}},zoomRange:function(e,t){var n=this._private;if(null==t){var r=e;e=r.min,t=r.max}return M(e)&&M(t)&&e<=t?(n.minZoom=e,n.maxZoom=t):M(e)&&void 0===t&&e<=n.maxZoom?n.minZoom=e:M(t)&&void 0===e&&t>=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),M(e)?n=e:A(e)&&(n=e.level,null!=e.position?t=tr(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)<r.minZoom?r.minZoom:n,o||!M(n)||n===a||null!=t&&(!M(t.x)||!M(t.y)))return null;if(null==t)return{zoomed:!0,panned:!1,zoom:n,pan:i};var s=n,l={x:-s/a*(t.x-i.x)+t.x,y:-s/a*(t.y-i.y)+t.y};return{zoomed:!0,panned:!0,zoom:s,pan:l}},zoom:function(e){if(void 0===e)return this._private.zoom;var t=this.getZoomedViewport(e),n=this._private;return null!=t&&t.zoomed&&(n.zoom=t.zoom,t.panned&&(n.pan.x=t.pan.x,n.pan.y=t.pan.y),this.emit("zoom"+(t.panned?" pan":"")+" viewport"),this.notify("viewport")),this},viewport:function(e){var t=this._private,n=!0,r=!0,i=[],a=!1,o=!1;if(!e||(M(e.zoom)||(n=!1),A(e.pan)||(r=!1),!n&&!r))return this;if(n){var s=e.zoom;s<t.minZoom||s>t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;M(l.x)&&(t.pan.x=l.x,o=!1),M(l.y)&&(t.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(B(e)){var n=e;e=this.mutableElements().filter(n)}else L(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled&&this.viewport({pan:{x:0,y:0},zoom:1}),this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};ay.centre=ay.center,ay.autolockNodes=ay.autolock,ay.autoungrabifyNodes=ay.autoungrabify;var am={data:rx.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:rx.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:rx.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:rx.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};am.attr=am.data,am.removeAttr=am.removeData;var ab=function(e){var t=this,n=(e=ee({},e)).container;n&&!I(n)&&I(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{}).cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==w&&void 0!==n&&!e.headless,o=e;o.layout=ee({name:a?"grid":"null"},o.layout),o.renderer=ee({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},l=this._private={container:n,ready:!1,options:o,elements:new iQ(this),listeners:[],aniEles:new iQ(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:M(o.zoom)?o.zoom:1,pan:{x:A(o.pan)&&M(o.pan.x)?o.pan.x:0,y:A(o.pan)&&M(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),l.styleEnabled&&t.setStyle([]);var u=ee({},o,o.renderer);t.initRenderer(u);var c=function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(A(e)||_(e))&&t.add(e),t.one("layoutready",function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")}).one("layoutstop",function(){t.one("done",r),t.emit("done")});var a=ee({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()};!function(e,t){if(e.some(X))return rr.all(e).then(t);t(e)}([o.style,o.elements],function(e){var n=e[0],a=e[1];l.styleEnabled&&t.style().append(n),c(a,function(){t.startAnimationLoop(),l.ready=!0,D(o.ready)&&t.on("ready",o.ready);for(var e=0;e<i.length;e++){var n=i[e];t.on("ready",n)}r&&(r.readies=[]),t.emit("ready")},o.done)})},ax=ab.prototype;ee(ax,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},destroy:function(){if(!this.destroyed())return this.stopAnimationLoop(),this.destroyRenderer(),this.emit("destroy"),this._private.destroyed=!0,this},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},window:function(){if(null==this._private.container)return w;var e=this._private.container.ownerDocument;return void 0===e||null==e?w:e.defaultView||w},mount:function(e){if(null!=e){var t=this._private,n=t.options;return!I(e)&&I(e[0])&&(e=e[0]),this.stopAnimationLoop(),this.destroyRenderer(),t.container=e,t.styleEnabled=!0,this.invalidateSize(),this.initRenderer(ee({},n,n.renderer,{name:"null"===n.renderer.name?"canvas":n.renderer.name})),this.startAnimationLoop(),this.style(n.style),this.emit("mount"),this}},unmount:function(){return this.stopAnimationLoop(),this.destroyRenderer(),this.initRenderer({name:"null"}),this.emit("unmount"),this},options:function(){return eF(this._private.options)},json:function(e){var t=this,n=t._private,r=t.mutableElements();if(A(e)){if(t.startBatch(),e.elements){var i={},a=function(e,n){for(var r=[],a=[],o=0;o<e.length;o++){var s=e[o];if(!s.data.id){eV("cy.json() cannot handle elements without an ID attribute");continue}var l=""+s.data.id,u=t.getElementById(l);i[l]=!0,0!==u.length?a.push({ele:u,json:s}):(n&&(s.group=n),r.push(s))}t.add(r);for(var c=0;c<a.length;c++){var d=a[c],h=d.ele,f=d.json;h.json(f)}};if(_(e.elements))a(e.elements);else for(var o=["nodes","edges"],s=0;s<o.length;s++){var l=o[s],u=e.elements[l];_(u)&&a(u,l)}var c=t.collection();r.filter(function(e){return!i[e.id()]}).forEach(function(e){e.isParent()?c.merge(e):e.remove()}),c.forEach(function(e){return e.children().move({parent:null})}),c.forEach(function(e){return t.getElementById(e.id()).remove()})}e.style&&t.style(e.style),null!=e.zoom&&e.zoom!==n.zoom&&t.zoom(e.zoom),e.pan&&(e.pan.x!==n.pan.x||e.pan.y!==n.pan.y)&&t.pan(e.pan),e.data&&t.data(e.data);for(var d=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],h=0;h<d.length;h++){var f=d[h];null!=e[f]&&t[f](e[f])}return t.endBatch(),this}var p={};e?p.elements=this.elements().map(function(e){return e.json()}):(p.elements={},r.forEach(function(e){var t=e.group();p.elements[t]||(p.elements[t]=[]),p.elements[t].push(e.json())})),this._private.styleEnabled&&(p.style=t.style().json()),p.data=eF(t.data());var g=n.options;return p.zoomingEnabled=n.zoomingEnabled,p.userZoomingEnabled=n.userZoomingEnabled,p.zoom=n.zoom,p.minZoom=n.minZoom,p.maxZoom=n.maxZoom,p.panningEnabled=n.panningEnabled,p.userPanningEnabled=n.userPanningEnabled,p.pan=eF(n.pan),p.boxSelectionEnabled=n.boxSelectionEnabled,p.renderer=eF(g.renderer),p.hideEdgesOnViewport=g.hideEdgesOnViewport,p.textureOnViewport=g.textureOnViewport,p.wheelSensitivity=g.wheelSensitivity,p.motionBlur=g.motionBlur,p.multiClickDebounceTime=g.multiClickDebounceTime,p}}),ax.$id=ax.getElementById,[{add:function(e){var t;if(L(e))if(e._private.cy===this)t=e.restore();else{for(var n=[],r=0;r<e.length;r++){var i=e[r];n.push(i.json())}t=new iQ(this,n)}else if(_(e))t=new iQ(this,e);else if(A(e)&&(_(e.nodes)||_(e.edges))){for(var a=[],o=["nodes","edges"],s=0,l=o.length;s<l;s++){var u=o[s],c=e[u];if(_(c))for(var d=0,h=c.length;d<h;d++){var f=ee({group:u},c[d]);a.push(f)}}t=new iQ(this,a)}else t=new e0(this,e).collection();return t},remove:function(e){if(L(e));else if(B(e)){var t=e;e=this.$(t)}return e.remove()}},i8,at,an,ar,{notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t);return}if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch(function(){for(var n=Object.keys(e),r=0;r<n.length;r++){var i=n[r],a=e[i];t.getElementById(i).data(a)}})}},aa,ao,{style:function(e){return e&&this.setStyle(e).update(),this._private.style},setStyle:function(e){var t=this._private;return V(e)?t.style=e.generateStyle(this):_(e)?t.style=ag.fromJson(this,e):B(e)?t.style=ag.fromString(this,e):t.style=ag(this),t.style},updateStyle:function(){this.mutableElements().updateStyle()}},ay,am].forEach(function(e){ee(ax,e)});var aw={fit:!0,directed:!1,direction:"downward",padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}},aE={maximal:!1,acyclic:!1},ak=function(e){return e.scratch("breadthfirst")},aT=function(e,t){return e.scratch("breadthfirst",t)};function aC(e){this.options=ee({},aw,aE,e)}aC.prototype.run=function(){var e,t=this.options,n=t.cy,r=t.eles,i=r.nodes().filter(function(e){return e.isChildless()}),a=t.directed,o=t.acyclic||t.maximal||t.maximalAdjustments>0,s=!!t.boundingBox,l=tE(s?t.boundingBox:structuredClone(n.extent()));if(L(t.roots))e=t.roots;else if(_(t.roots)){for(var u=[],c=0;c<t.roots.length;c++){var d=t.roots[c],h=n.getElementById(d);u.push(h)}e=n.collection(u)}else if(B(t.roots))e=n.$(t.roots);else if(a)e=i.roots();else{var f=r.components();e=n.collection();for(var p=0;p<f.length;p++)!function(){var t=f[p],n=t.maxDegree(!1),r=t.filter(function(e){return e.degree(!1)===n});e=e.add(r)}()}var g=[],v={},y=function(e,t){null==g[t]&&(g[t]=[]);var n=g[t].length;g[t].push(e),aT(e,{index:n,depth:t})},b=function(e,t){var n=ak(e),r=n.depth,i=n.index;g[r][i]=null,e.isChildless()&&y(e,t)};r.bfs({roots:e,directed:t.directed,visit:function(e,t,n,r,i){var a=e[0],o=a.id();a.isChildless()&&y(a,i),v[o]=!0}});for(var x=[],w=0;w<i.length;w++){var E=i[w];v[E.id()]||x.push(E)}var k=function(e){for(var t=g[e],n=0;n<t.length;n++){var r=t[n];if(null==r){t.splice(n,1),n--;continue}aT(r,{depth:e,index:n})}};if(a&&o){var T=[],C={},P=function(e){return T.push(e)};for(i.forEach(function(e){return T.push(e)});T.length>0;){var S=T.shift(),D=function(e,n){for(var i=ak(e),a=e.incomers().filter(function(e){return e.isNode()&&r.has(e)}),o=-1,s=e.id(),l=0;l<a.length;l++)o=Math.max(o,ak(a[l]).depth);if(i.depth<=o){if(!t.acyclic&&n[s])return null;var u=o+1;return b(e,u),n[s]=u,!0}return!1}(S,C);if(D)S.outgoers().filter(function(e){return e.isNode()&&r.has(e)}).forEach(P);else if(null===D){eV("Detected double maximal shift for node `"+S.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var A=0;if(t.avoidOverlap)for(var M=0;M<i.length;M++){var R=i[M].layoutDimensions(t),I=R.w,N=R.h;A=Math.max(A,I,N)}var z={},O=function(e){if(z[e.id()])return z[e.id()];for(var t=ak(e).depth,n=e.neighborhood(),r=0,a=0,o=0;o<n.length;o++){var s=n[o];if(!(s.isEdge()||s.isParent())&&i.has(s)){var l=ak(s);if(null!=l){var u=l.index,c=l.depth;if(null!=u&&null!=c){var d=g[c].length;c<t&&(r+=u/d,a++)}}}}return r/=a=Math.max(1,a),0===a&&(r=0),z[e.id()]=r,r},V=function(e,t){var n=O(e)-O(t);return 0===n?J(e.id(),t.id()):n};void 0!==t.depthSort&&(V=t.depthSort);for(var F=g.length,X=0;X<F;X++)g[X].sort(V),k(X);for(var j=[],Y=0;Y<x.length;Y++)j.push(x[Y]);if(j.length){g.unshift(j),F=g.length;for(var q=0;q<F;q++)k(q)}for(var W=0,U=0;U<F;U++)W=Math.max(g[U].length,W);var H={x:l.x1+l.w/2,y:l.y1+l.h/2},K=i.reduce(function(e,n){var r;return r=n.boundingBox({includeLabels:t.nodeDimensionsIncludeLabels}),{w:-1===e.w?r.w:(e.w+r.w)/2,h:-1===e.h?r.h:(e.h+r.h)/2}},{w:-1,h:-1}),G=Math.max(1===F?0:s?(l.h-2*t.padding-K.h)/(F-1):(l.h-2*t.padding-K.h)/(F+1),A),Z=g.reduce(function(e,t){return Math.max(e,t.length)},0),$=function(e){var n=ak(e),r=n.depth,i=n.index;if(t.circle){var a=Math.min(l.w/2/F,l.h/2/F),o=(a=Math.max(a,A))*r+a-(F>0&&g[0].length<=3?a/2:0),u=2*Math.PI/g[r].length*i;return 0===r&&1===g[0].length&&(o=1),{x:H.x+o*Math.cos(u),y:H.y+o*Math.sin(u)}}var c=g[r].length,d=Math.max(1===c?0:s?(l.w-2*t.padding-K.w)/((t.grid?Z:c)-1):(l.w-2*t.padding-K.w)/((t.grid?Z:c)+1),A);return{x:H.x+(i+1-(c+1)/2)*d,y:H.y+(r+1-(F+1)/2)*G}},Q={downward:0,leftward:90,upward:180,rightward:-90};return -1===Object.keys(Q).indexOf(t.direction)&&ez("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(Q).join(", "))),r.nodes().layoutPositions(this,t,function(e){return function(e,t,n){if(0===n)return e;var r,i,a,o,s=(t.x1+t.x2)/2,l=(t.y1+t.y2)/2,u=t.w/t.h,c=(r=e.x,i=e.y,{x:Math.cos(a=n*Math.PI/180)*(r-s)-Math.sin(a)*(i-l)+s,y:Math.sin(a)*(r-s)+Math.cos(a)*(i-l)+l}),d=(o=c.x,{x:(o-s)*u+s,y:(c.y-l)*(1/u)+l});return{x:d.x,y:d.y}}($(e),l,Q[t.direction])}),this};var aP={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function aS(e){this.options=ee({},aP,e)}aS.prototype.run=function(){var e,t=this.options,n=t.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o=tE(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),s={x:o.x1+o.w/2,y:o.y1+o.h/2},l=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),u=0,c=0;c<a.length;c++){var d=a[c].layoutDimensions(t);u=Math.max(u,d.w,d.h)}if(e=M(t.radius)?t.radius:a.length<=1?0:Math.min(o.h,o.w)/2-u,a.length>1&&t.avoidOverlap){var h=Math.cos(l)-1,f=Math.sin(l)-0;e=Math.max(Math.sqrt((u*=1.75)*u/(h*h+f*f)),e)}return r.nodes().layoutPositions(this,t,function(n,r){var a=t.startAngle+r*l*(i?1:-1),o=e*Math.cos(a),u=e*Math.sin(a);return{x:s.x+o,y:s.y+u}}),this};var aB={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function aD(e){this.options=ee({},aB,e)}aD.prototype.run=function(){for(var e=this.options,t=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,n=e.cy,r=e.eles,i=r.nodes().not(":parent"),a=tE(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:a.x1+a.w/2,y:a.y1+a.h/2},s=[],l=0,u=0;u<i.length;u++){var c=i[u],d=void 0;d=e.concentric(c),s.push({value:d,node:c}),c._private.scratch.concentric=d}i.updateStyle();for(var h=0;h<i.length;h++){var f=i[h].layoutDimensions(e);l=Math.max(l,f.w,f.h)}s.sort(function(e,t){return t.value-e.value});for(var p=e.levelWidth(i),g=[[]],v=g[0],y=0;y<s.length;y++){var b=s[y];v.length>0&&Math.abs(v[0].value-b.value)>=p&&(v=[],g.push(v)),v.push(b)}var x=l+e.minNodeSpacing;if(!e.avoidOverlap){var w=g.length>0&&g[0].length>1,E=(Math.min(a.w,a.h)/2-x)/(g.length+w?1:0);x=Math.min(x,E)}for(var k=0,T=0;T<g.length;T++){var C=g[T],P=void 0===e.sweep?2*Math.PI-2*Math.PI/C.length:e.sweep,S=C.dTheta=P/Math.max(1,C.length-1);if(C.length>1&&e.avoidOverlap){var B=Math.cos(S)-1,D=Math.sin(S)-0;k=Math.max(Math.sqrt(x*x/(B*B+D*D)),k)}C.r=k,k+=x}if(e.equidistant){for(var _=0,A=0,M=0;M<g.length;M++)_=Math.max(_,g[M].r-A);A=0;for(var R=0;R<g.length;R++){var I=g[R];0===R&&(A=I.r),I.r=A,A+=_}}for(var L={},N=0;N<g.length;N++)for(var z=g[N],O=z.dTheta,V=z.r,F=0;F<z.length;F++){var X=z[F],j=e.startAngle+(t?1:-1)*O*F,Y={x:o.x+V*Math.cos(j),y:o.y+V*Math.sin(j)};L[X.node.id()]=Y}return r.nodes().layoutPositions(this,e,function(e){return L[e.id()]}),this};var a_={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,t){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function aA(e){this.options=ee({},a_,e),this.options.layout=this;var t=this.options.eles.nodes(),n=this.options.eles.edges().filter(function(e){var n=e.source().data("id"),r=e.target().data("id"),i=t.some(function(e){return e.data("id")===n}),a=t.some(function(e){return e.data("id")===r});return!i||!a});this.options.eles=this.options.eles.not(n)}aA.prototype.run=function(){var e=this.options,t=e.cy,n=this;n.stopped=!1,(!0===e.animate||!1===e.animate)&&n.emit({type:"layoutstart",layout:n}),lb=!0===e.debug;var r=aM(t,n,e);lb&&lx(r),e.randomize&&aL(r);var i=ey(),a=function(){az(r,t,e),!0===e.fit&&t.fit(e.padding)},o=function(t){return!n.stopped&&!(t>=e.numIter)&&(aO(r,e),r.temperature=r.temperature*e.coolingFactor,!(r.temperature<e.minTemp))},s=function(){if(!0===e.animate||!1===e.animate)a(),n.one("layoutstop",e.stop),n.emit({type:"layoutstop",layout:n});else{var t=e.eles.nodes(),i=aN(r,e,t);t.layoutPositions(n,e,i)}},l=0,u=!0;if(!0===e.animate){var c=function(){for(var t=0;u&&t<e.refresh;)u=o(l),l++,t++;u?(ey()-i>=e.animationThreshold&&a(),eb(c)):(aZ(r,e),s())};c()}else{for(;u;)u=o(l),l++;aZ(r,e),s()}return this},aA.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},aA.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var aM=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=tE(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),l={},u=0;u<s.length;u++)for(var c=s[u],d=0;d<c.length;d++){var h=c[d];l[h.id()]=u}for(var u=0;u<o.nodeSize;u++){var f=i[u],p=f.layoutDimensions(n),g={};g.isLocked=f.locked(),g.id=f.data("id"),g.parentId=f.data("parent"),g.cmptId=l[f.id()],g.children=[],g.positionX=f.position("x"),g.positionY=f.position("y"),g.offsetX=0,g.offsetY=0,g.height=p.w,g.width=p.h,g.maxX=g.positionX+g.width/2,g.minX=g.positionX-g.width/2,g.maxY=g.positionY+g.height/2,g.minY=g.positionY-g.height/2,g.padLeft=parseFloat(f.style("padding")),g.padRight=parseFloat(f.style("padding")),g.padTop=parseFloat(f.style("padding")),g.padBottom=parseFloat(f.style("padding")),g.nodeRepulsion=D(n.nodeRepulsion)?n.nodeRepulsion(f):n.nodeRepulsion,o.layoutNodes.push(g),o.idToIndex[g.id]=u}for(var v=[],y=0,b=-1,x=[],u=0;u<o.nodeSize;u++){var f=o.layoutNodes[u],w=f.parentId;null!=w?o.layoutNodes[o.idToIndex[w]].children.push(f.id):(v[++b]=f.id,x.push(f.id))}for(o.graphSet.push(x);y<=b;){var E=v[y++],k=o.idToIndex[E],h=o.layoutNodes[k],T=h.children;if(T.length>0){o.graphSet.push(T);for(var u=0;u<T.length;u++)v[++b]=T[u]}}for(var u=0;u<o.graphSet.length;u++)for(var C=o.graphSet[u],d=0;d<C.length;d++){var P=o.idToIndex[C[d]];o.indexToGraph[P]=u}for(var u=0;u<o.edgeSize;u++){var S=r[u],B={};B.id=S.data("id"),B.sourceId=S.data("source"),B.targetId=S.data("target");var _=D(n.idealEdgeLength)?n.idealEdgeLength(S):n.idealEdgeLength,A=D(n.edgeElasticity)?n.edgeElasticity(S):n.edgeElasticity,M=o.idToIndex[B.sourceId],R=o.idToIndex[B.targetId];if(o.indexToGraph[M]!=o.indexToGraph[R]){for(var I=aR(B.sourceId,B.targetId,o),L=o.graphSet[I],N=0,g=o.layoutNodes[M];-1===L.indexOf(g.id);)g=o.layoutNodes[o.idToIndex[g.parentId]],N++;for(g=o.layoutNodes[R];-1===L.indexOf(g.id);)g=o.layoutNodes[o.idToIndex[g.parentId]],N++;_*=N*n.nestingFactor}B.idealLength=_,B.elasticity=A,o.layoutEdges.push(B)}return o},aR=function(e,t,n){var r=aI(e,t,0,n);return 2>r.count?0:r.graph},aI=function(e,t,n,r){var i=r.graphSet[n];if(-1<i.indexOf(e)&&-1<i.indexOf(t))return{count:2,graph:n};for(var a=0,o=0;o<i.length;o++){var s=i[o],l=r.idToIndex[s],u=r.layoutNodes[l].children;if(0!==u.length){var c=aI(e,t,r.indexToGraph[r.idToIndex[u[0]]],r);if(0===c.count)continue;if(1!==c.count)return c;if(2==++a)break}}return{count:a,graph:n}},aL=function(e,t){for(var n=e.clientWidth,r=e.clientHeight,i=0;i<e.nodeSize;i++){var a=e.layoutNodes[i];0!==a.children.length||a.isLocked||(a.positionX=Math.random()*n,a.positionY=Math.random()*r)}},aN=function(e,t,n){var r=e.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return t.boundingBox&&(n.forEach(function(t){var n=e.layoutNodes[e.idToIndex[t.data("id")]];i.x1=Math.min(i.x1,n.positionX),i.x2=Math.max(i.x2,n.positionX),i.y1=Math.min(i.y1,n.positionY),i.y2=Math.max(i.y2,n.positionY)}),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(n,a){var o=e.layoutNodes[e.idToIndex[n.data("id")]];if(!t.boundingBox)return{x:o.positionX,y:o.positionY};var s=0===i.w?.5:(o.positionX-i.x1)/i.w,l=0===i.h?.5:(o.positionY-i.y1)/i.h;return{x:r.x1+s*r.w,y:r.y1+l*r.h}}},az=function(e,t,n){var r=n.layout,i=n.eles.nodes(),a=aN(e,n,i);i.positions(a),!0!==e.ready&&(e.ready=!0,r.one("layoutready",n.ready),r.emit({type:"layoutready",layout:this}))},aO=function(e,t,n){aV(e,t),aq(e),aW(e,t),aU(e),aH(e)},aV=function(e,t){for(var n=0;n<e.graphSet.length;n++)for(var r=e.graphSet[n],i=r.length,a=0;a<i;a++)for(var o=e.layoutNodes[e.idToIndex[r[a]]],s=a+1;s<i;s++)aX(o,e.layoutNodes[e.idToIndex[r[s]]],e,t)},aF=function(e){return-e+2*e*Math.random()},aX=function(e,t,n,r){if(e.cmptId===t.cmptId||n.isCompound){var i=t.positionX-e.positionX,a=t.positionY-e.positionY;0===i&&0===a&&(i=aF(1),a=aF(1));var o=aj(e,t,i,a);if(o>0)var s=r.nodeOverlap*o,l=Math.sqrt(i*i+a*a),u=s*i/l,c=s*a/l;else var d=aY(e,i,a),h=aY(t,-1*i,-1*a),f=h.x-d.x,p=h.y-d.y,g=f*f+p*p,l=Math.sqrt(g),s=(e.nodeRepulsion+t.nodeRepulsion)/g,u=s*f/l,c=s*p/l;e.isLocked||(e.offsetX-=u,e.offsetY-=c),t.isLocked||(t.offsetX+=u,t.offsetY+=c)}},aj=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else var i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else var a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},aY=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,l=a/o,u={};return 0===t&&0<n||0===t&&0>n?(u.x=r,u.y=i+a/2):0<t&&-1*l<=s&&s<=l?(u.x=r+o/2,u.y=i+o*n/2/t):0>t&&-1*l<=s&&s<=l?(u.x=r-o/2,u.y=i-o*n/2/t):0<n&&(s<=-1*l||s>=l)?(u.x=r+a*t/2/n,u.y=i+a/2):0>n&&(s<=-1*l||s>=l)&&(u.x=r-a*t/2/n,u.y=i-a/2),u},aq=function(e,t){for(var n=0;n<e.edgeSize;n++){var r=e.layoutEdges[n],i=e.idToIndex[r.sourceId],a=e.layoutNodes[i],o=e.idToIndex[r.targetId],s=e.layoutNodes[o],l=s.positionX-a.positionX,u=s.positionY-a.positionY;if(0!==l||0!==u){var c=aY(a,l,u),d=aY(s,-1*l,-1*u),h=d.x-c.x,f=d.y-c.y,p=Math.sqrt(h*h+f*f),g=Math.pow(r.idealLength-p,2)/r.elasticity;if(0!==p)var v=g*h/p,y=g*f/p;else var v=0,y=0;a.isLocked||(a.offsetX+=v,a.offsetY+=y),s.isLocked||(s.offsetX-=v,s.offsetY-=y)}}},aW=function(e,t){if(0!==t.gravity)for(var n=0;n<e.graphSet.length;n++){var r=e.graphSet[n],i=r.length;if(0===n)var a=e.clientHeight/2,o=e.clientWidth/2;else var s=e.layoutNodes[e.idToIndex[r[0]]],l=e.layoutNodes[e.idToIndex[s.parentId]],a=l.positionX,o=l.positionY;for(var u=0;u<i;u++){var c=e.layoutNodes[e.idToIndex[r[u]]];if(!c.isLocked){var d=a-c.positionX,h=o-c.positionY,f=Math.sqrt(d*d+h*h);if(f>1){var p=t.gravity*d/f,g=t.gravity*h/f;c.offsetX+=p,c.offsetY+=g}}}}},aU=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],l=s.children;if(0<l.length&&!s.isLocked){for(var u=s.offsetX,c=s.offsetY,d=0;d<l.length;d++){var h=e.layoutNodes[e.idToIndex[l[d]]];h.offsetX+=u,h.offsetY+=c,n[++i]=l[d]}s.offsetX=0,s.offsetY=0}}},aH=function(e,t){for(var n=0;n<e.nodeSize;n++){var r=e.layoutNodes[n];0<r.children.length&&(r.maxX=void 0,r.minX=void 0,r.maxY=void 0,r.minY=void 0)}for(var n=0;n<e.nodeSize;n++){var r=e.layoutNodes[n];if(!(0<r.children.length)&&!r.isLocked){var i=aK(r.offsetX,r.offsetY,e.temperature);r.positionX+=i.x,r.positionY+=i.y,r.offsetX=0,r.offsetY=0,r.minX=r.positionX-r.width,r.maxX=r.positionX+r.width,r.minY=r.positionY-r.height,r.maxY=r.positionY+r.height,aG(r,e)}}for(var n=0;n<e.nodeSize;n++){var r=e.layoutNodes[n];0<r.children.length&&!r.isLocked&&(r.positionX=(r.maxX+r.minX)/2,r.positionY=(r.maxY+r.minY)/2,r.width=r.maxX-r.minX,r.height=r.maxY-r.minY)}},aK=function(e,t,n){var r=Math.sqrt(e*e+t*t);if(r>n)var i={x:n*e/r,y:n*t/r};else var i={x:e,y:t};return i},aG=function(e,t){var n=e.parentId;if(null!=n){var r=t.layoutNodes[t.idToIndex[n]],i=!1;if((null==r.maxX||e.maxX+r.padRight>r.maxX)&&(r.maxX=e.maxX+r.padRight,i=!0),(null==r.minX||e.minX-r.padLeft<r.minX)&&(r.minX=e.minX-r.padLeft,i=!0),(null==r.maxY||e.maxY+r.padBottom>r.maxY)&&(r.maxY=e.maxY+r.padBottom,i=!0),(null==r.minY||e.minY-r.padTop<r.minY)&&(r.minY=e.minY-r.padTop,i=!0),i)return aG(r,t)}},aZ=function(e,t){for(var n=e.layoutNodes,r=[],i=0;i<n.length;i++){var a=n[i],o=a.cmptId;(r[o]=r[o]||[]).push(a)}for(var s=0,i=0;i<r.length;i++){var l=r[i];if(l){l.x1=1/0,l.x2=-1/0,l.y1=1/0,l.y2=-1/0;for(var u=0;u<l.length;u++){var c=l[u];l.x1=Math.min(l.x1,c.positionX-c.width/2),l.x2=Math.max(l.x2,c.positionX+c.width/2),l.y1=Math.min(l.y1,c.positionY-c.height/2),l.y2=Math.max(l.y2,c.positionY+c.height/2)}l.w=l.x2-l.x1,l.h=l.y2-l.y1,s+=l.w*l.h}}r.sort(function(e,t){return t.w*t.h-e.w*e.h});for(var d=0,h=0,f=0,p=0,g=Math.sqrt(s)*e.clientWidth/e.clientHeight,i=0;i<r.length;i++){var l=r[i];if(l){for(var u=0;u<l.length;u++){var c=l[u];c.isLocked||(c.positionX+=d-l.x1,c.positionY+=h-l.y1)}d+=l.w+t.componentSpacing,f+=l.w+t.componentSpacing,p=Math.max(p,l.h),f>g&&(h+=p+t.componentSpacing,d=0,f=0,p=0)}}},a$={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function aQ(e){this.options=ee({},a$,e)}aQ.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=n.nodes().not(":parent");e.sort&&(r=r.sort(e.sort));var i=tE(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});if(0===i.h||0===i.w)n.nodes().layoutPositions(this,e,function(e){return{x:i.x1,y:i.y1}});else{var a=r.size(),o=Math.sqrt(a*i.h/i.w),s=Math.round(o),l=Math.round(i.w/i.h*o),u=function(e){if(null==e)return Math.min(s,l);Math.min(s,l)==s?s=e:l=e},c=function(e){if(null==e)return Math.max(s,l);Math.max(s,l)==s?s=e:l=e},d=e.rows,h=null!=e.cols?e.cols:e.columns;if(null!=d&&null!=h)s=d,l=h;else if(null!=d&&null==h)l=Math.ceil(a/(s=d));else if(null==d&&null!=h)s=Math.ceil(a/(l=h));else if(l*s>a){var f=u(),p=c();(f-1)*p>=a?u(f-1):(p-1)*f>=a&&c(p-1)}else for(;l*s<a;){var g=u(),v=c();(v+1)*g>=a?c(v+1):u(g+1)}var y=i.w/l,b=i.h/s;if(e.condense&&(y=0,b=0),e.avoidOverlap)for(var x=0;x<r.length;x++){var w=r[x],E=w._private.position;(null==E.x||null==E.y)&&(E.x=0,E.y=0);var k=w.layoutDimensions(e),T=e.avoidOverlapPadding,C=k.w+T,P=k.h+T;y=Math.max(y,C),b=Math.max(b,P)}for(var S={},B=function(e,t){return!!S["c-"+e+"-"+t]},D=function(e,t){S["c-"+e+"-"+t]=!0},_=0,A=0,M=function(){++A>=l&&(A=0,_++)},R={},I=0;I<r.length;I++){var L=r[I],N=e.position(L);if(N&&(void 0!==N.row||void 0!==N.col)){var z={row:N.row,col:N.col};if(void 0===z.col)for(z.col=0;B(z.row,z.col);)z.col++;else if(void 0===z.row)for(z.row=0;B(z.row,z.col);)z.row++;R[L.id()]=z,D(z.row,z.col)}}r.layoutPositions(this,e,function(e,t){if(e.locked()||e.isParent())return!1;var n,r,a=R[e.id()];if(a)n=a.col*y+y/2+i.x1,r=a.row*b+b/2+i.y1;else{for(;B(_,A);)M();n=A*y+y/2+i.x1,r=_*b+b/2+i.y1,D(_,A),M()}return{x:n,y:r}})}return this};var aJ={ready:function(){},stop:function(){}};function a0(e){this.options=ee({},aJ,e)}a0.prototype.run=function(){var e=this.options,t=e.eles;return e.cy,this.emit("layoutstart"),t.nodes().positions(function(){return{x:0,y:0}}),this.one("layoutready",e.ready),this.emit("layoutready"),this.one("layoutstop",e.stop),this.emit("layoutstop"),this},a0.prototype.stop=function(){return this};var a1={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a2(e){this.options=ee({},a1,e)}a2.prototype.run=function(){var e=this.options,t=e.eles.nodes(),n=D(e.positions);return t.layoutPositions(this,e,function(t,r){var i=function(t){if(null==e.positions){var r;return{x:(r=t.position()).x,y:r.y}}if(n)return e.positions(t);var i=e.positions[t._private.data.id];return null==i?null:i}(t);return!t.locked()&&null!=i&&i}),this};var a5={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a3(e){this.options=ee({},a5,e)}a3.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=tE(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});return n.nodes().layoutPositions(this,e,function(e,t){return{x:r.x1+Math.round(Math.random()*r.w),y:r.y1+Math.round(Math.random()*r.h)}}),this};var a4=[{name:"breadthfirst",impl:aC},{name:"circle",impl:aS},{name:"concentric",impl:aD},{name:"cose",impl:aA},{name:"grid",impl:aQ},{name:"null",impl:a0},{name:"preset",impl:a2},{name:"random",impl:a3}];function a9(e){this.options=e,this.notifications=0}var a6=function(){},a8=function(){throw Error("A headless instance can not render images")};a9.prototype={recalculateRenderedStyle:a6,notify:function(){this.notifications++},init:a6,isHeadless:function(){return!0},png:a8,jpg:a8};var a7={};a7.arrowShapeWidth=.3,a7.registerArrowShapes=function(){var e=this.arrowShapes={},t=this,n=function(e,t,n,r,i,a,o){var s=i.x-n/2-o,l=i.x+n/2+o,u=i.y-n/2-o,c=i.y+n/2+o;return s<=e&&e<=l&&u<=t&&t<=c},r=function(e,t,n,r,i){var a=e*Math.cos(r)-t*Math.sin(r),o=e*Math.sin(r)+t*Math.cos(r);return{x:a*n+i.x,y:o*n+i.y}},i=function(e,t,n,i){for(var a=[],o=0;o<e.length;o+=2){var s=e[o],l=e[o+1];a.push(r(s,l,t,n,i))}return a},a=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r.x,r.y)}return t},o=function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").pfValue*2},s=function(r,s){B(s)&&(s=e[s]),e[r]=ee({name:r,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(e,t,n,r,o,s){return tX(e,t,a(i(this.points,n+2*s,r,o)))},roughCollide:n,draw:function(e,n,r,a){var o=i(this.points,n,r,a);t.arrowShapeImpl("polygon")(e,o)},spacing:function(e){return 0},gap:o},s)};s("none",{collide:eI,roughCollide:eI,draw:eN,spacing:eL,gap:eL}),s("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),s("arrow","triangle"),s("triangle-backcurve",{points:e.triangle.points,controlPoint:[0,-.15],roughCollide:n,draw:function(e,n,a,o,s){var l=i(this.points,n,a,o),u=this.controlPoint,c=r(u[0],u[1],n,a,o);t.arrowShapeImpl(this.name)(e,l,c)},gap:function(e){return .8*o(e)}}),s("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(e,t,n,r,o,s,l){var u=a(i(this.points,n+2*l,r,o)),c=a(i(this.pointsTee,n+2*l,r,o));return tX(e,t,u)||tX(e,t,c)},draw:function(e,n,r,a,o){var s=i(this.points,n,r,a),l=i(this.pointsTee,n,r,a);t.arrowShapeImpl(this.name)(e,s,l)}}),s("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(e,t,n,r,o,s,l){var u=Math.pow(o.x-e,2)+Math.pow(o.y-t,2)<=Math.pow((n+2*l)*this.radius,2);return tX(e,t,a(i(this.points,n+2*l,r,o)))||u},draw:function(e,n,r,a,o){var s=i(this.pointsTr,n,r,a);t.arrowShapeImpl(this.name)(e,s,a.x,a.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),s("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(e,t){var n=this.baseCrossLinePts.slice(),r=t/e;return n[3]=n[3]-r,n[5]=n[5]-r,n},collide:function(e,t,n,r,o,s,l){var u=a(i(this.points,n+2*l,r,o)),c=a(i(this.crossLinePts(n,s),n+2*l,r,o));return tX(e,t,u)||tX(e,t,c)},draw:function(e,n,r,a,o){var s=i(this.points,n,r,a),l=i(this.crossLinePts(n,o),n,r,a);t.arrowShapeImpl(this.name)(e,s,l)}}),s("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(e){return .525*o(e)}}),s("circle",{radius:.15,collide:function(e,t,n,r,i,a,o){return Math.pow(i.x-e,2)+Math.pow(i.y-t,2)<=Math.pow((n+2*o)*this.radius,2)},draw:function(e,n,r,i,a){t.arrowShapeImpl(this.name)(e,i.x,i.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),s("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(e){return 1},gap:function(e){return 1}}),s("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),s("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}}),s("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(e){return .95*e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}})};var oe={};oe.projectIntoViewport=function(e,t){var n=this.cy,r=this.findContainerClientCoords(),i=r[0],a=r[1],o=r[4],s=n.pan(),l=n.zoom();return[((e-i)/o-s.x)/l,((t-a)/o-s.y)/l]},oe.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var e=this.container,t=e.getBoundingClientRect(),n=this.cy.window().getComputedStyle(e),r=function(e){return parseFloat(n.getPropertyValue(e))},i={left:r("padding-left"),right:r("padding-right"),top:r("padding-top"),bottom:r("padding-bottom")},a={left:r("border-left-width"),right:r("border-right-width"),top:r("border-top-width"),bottom:r("border-bottom-width")},o=e.clientWidth,s=e.clientHeight,l=i.left+i.right,u=i.top+i.bottom,c=a.left+a.right,d=t.width/(o+c),h=t.left+i.left+a.left,f=t.top+i.top+a.top;return this.containerBB=[h,f,o-l,s-u,d]},oe.invalidateContainerClientCoordsCache=function(){this.containerBB=null},oe.findNearestElement=function(e,t,n,r){return this.findNearestElements(e,t,n,r)[0]},oe.findNearestElements=function(e,t,n,r){var i,a,o=this,s=this,l=s.getCachedZSortedEles(),u=[],c=s.cy.zoom(),d=s.cy.hasCompoundNodes(),h=(r?24:8)/c,f=(r?8:2)/c,p=(r?8:2)/c,g=1/0;function v(e,t){if(e.isNode())if(a)return;else a=e,u.push(e);if(e.isEdge()&&(null==t||t<g))if(i){if(i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value&&i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value){for(var n=0;n<u.length;n++)if(u[n].isEdge()){u[n]=e,i=e,g=null!=t?t:g;break}}}else u.push(e),i=e,g=null!=t?t:g}function y(n){var r=n.outerWidth()+2*f,i=n.outerHeight()+2*f,a=r/2,l=i/2,u=n.position(),c="auto"===n.pstyle("corner-radius").value?"auto":n.pstyle("corner-radius").pfValue,d=n._private.rscratch;if(u.x-a<=e&&e<=u.x+a&&u.y-l<=t&&t<=u.y+l&&s.nodeShapes[o.getNodeShape(n)].checkPoint(e,t,0,r,i,u.x,u.y,c,d))return v(n,0),!0}n&&(l=l.interactive);function b(n,r){var i,a=n._private;i=r?r+"-":"",n.boundingBox();var o=a.labelBounds[r||"main"],s=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&s){var l=eK(a.rscratch,"labelX",r),u=eK(a.rscratch,"labelY",r),c=eK(a.rscratch,"labelAngle",r),d=n.pstyle(i+"text-margin-x").pfValue,h=n.pstyle(i+"text-margin-y").pfValue,f=o.x1-p-d,g=o.x2+p-d,y=o.y1-p-h,b=o.y2+p-h;if(c){var x=Math.cos(c),w=Math.sin(c),E=function(e,t){return{x:(e-=l)*x-(t-=u)*w+l,y:e*w+t*x+u}},k=E(f,y),T=E(f,b),C=E(g,y),P=E(g,b);if(tX(e,t,[k.x+d,k.y+h,C.x+d,C.y+h,P.x+d,P.y+h,T.x+d,T.y+h]))return v(n),!0}else if(t_(o,e,t))return v(n),!0}}for(var x=l.length-1;x>=0;x--){var w=l[x];w.isNode()?y(w)||b(w):function(n){var r,i=n._private,a=i.rscratch,l=n.pstyle("width").pfValue,c=n.pstyle("arrow-scale").value,f=l/2+h,p=f*f,g=2*f,b=i.source,x=i.target;if("segments"===a.edgeType||"straight"===a.edgeType||"haystack"===a.edgeType){for(var w=a.allpts,E=0;E+3<w.length;E+=2)if(tL(e,t,w[E],w[E+1],w[E+2],w[E+3],g)&&p>(r=tF(e,t,w[E],w[E+1],w[E+2],w[E+3])))return v(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType){for(var w=a.allpts,E=0;E+5<a.allpts.length;E+=4)if(tN(e,t,w[E],w[E+1],w[E+2],w[E+3],w[E+4],w[E+5],g)&&p>(r=tV(e,t,w[E],w[E+1],w[E+2],w[E+3],w[E+4],w[E+5])))return v(n,r),!0}for(var b=b||i.source,x=x||i.target,k=o.getArrowWidth(l,c),T=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}],E=0;E<T.length;E++){var C=T[E],P=s.arrowShapes[n.pstyle(C.name+"-arrow-shape").value],S=n.pstyle("width").pfValue;if(P.roughCollide(e,t,k,C.angle,{x:C.x,y:C.y},S,h)&&P.collide(e,t,k,C.angle,{x:C.x,y:C.y},S,h))return v(n),!0}d&&u.length>0&&(y(b),y(x))}(w)||b(w)||b(w,"source")||b(w,"target")}return u},oe.getAllInBox=function(e,t,n,r){var i=this.getCachedZSortedEles().interactive,a=2/this.cy.zoom(),o=[],s=Math.min(e,n),u=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r);e=s,n=u;var h=tE({x1:e,y1:t=c,x2:n,y2:r=d}),f=[{x:h.x1,y:h.y1},{x:h.x2,y:h.y1},{x:h.x2,y:h.y2},{x:h.x1,y:h.y2}],p=[[f[0],f[1]],[f[1],f[2]],[f[2],f[3]],[f[3],f[0]]];function g(e,t){var n=e._private;e.boundingBox();var r=n.labelBounds.main;if(!r)return null;var i=eK(n.rscratch,"labelX",t),o=eK(n.rscratch,"labelY",t),s=eK(n.rscratch,"labelAngle",t),l=e.pstyle("text-margin-x").pfValue,u=e.pstyle("text-margin-y").pfValue,c=r.x1-a-l,d=r.x2+a-l,h=r.y1-a-u,f=r.y2+a-u;if(!s)return[{x:c,y:h},{x:d,y:h},{x:d,y:f},{x:c,y:f}];var p=Math.cos(s),g=Math.sin(s),v=function(e,t){return{x:(e-=i)*p-(t-=o)*g+i,y:e*g+t*p+o}};return[v(c,h),v(d,h),v(d,f),v(c,f)]}for(var v=0;v<i.length;v++){var y=i[v];if(y.isNode()){var b="yes"===y.pstyle("text-events").strValue,x=y.pstyle("box-selection").strValue,w="yes"===y.pstyle("box-select-labels").strValue;if("none"===x)continue;var E=("overlap"===x||w)&&b,k=y.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:E});if("contain"===x){var T=!1;if(w&&b){var C=g(y);C&&t8(C,f)&&(o.push(y),T=!0)}!T&&tM(h,k)&&o.push(y)}else if("overlap"===x&&tD(h,k)){var P=y.boundingBox({includeNodes:!0,includeEdges:!0,includeLabels:!1,includeMainLabels:!1,includeSourceLabels:!1,includeTargetLabels:!1});if(t8([{x:P.x1,y:P.y1},{x:P.x2,y:P.y1},{x:P.x2,y:P.y2},{x:P.x1,y:P.y2}],f))o.push(y);else{var S=g(y);S&&t8(S,f)&&o.push(y)}}}else{var B=y._private,D=B.rscratch,_=y.pstyle("box-selection").strValue;if("none"===_)continue;if("contain"===_){if(null!=D.startX&&null!=D.startY&&!t_(h,D.startX,D.startY)||null!=D.endX&&null!=D.endY&&!t_(h,D.endX,D.endY))continue;if("bezier"===D.edgeType||"multibezier"===D.edgeType||"self"===D.edgeType||"compound"===D.edgeType||"segments"===D.edgeType||"haystack"===D.edgeType){for(var A=B.rstyle.bezierPts||B.rstyle.linePts||B.rstyle.haystackPts,M=!0,R=0;R<A.length;R++)if(!tA(h,A[R])){M=!1;break}M&&o.push(y)}else"straight"===D.edgeType&&o.push(y)}else if("overlap"===_){var I=!1;if(null!=D.startX&&null!=D.startY&&null!=D.endX&&null!=D.endY&&(t_(h,D.startX,D.startY)||t_(h,D.endX,D.endY)))o.push(y),I=!0;else if(!I&&"haystack"===D.edgeType){for(var L=B.rstyle.haystackPts,N=0;N<L.length;N++)if(tA(h,L[N])){o.push(y),I=!0;break}}if(!I){var z=B.rstyle.bezierPts||B.rstyle.linePts||B.rstyle.haystackPts;if((!z||z.length<2)&&"straight"===D.edgeType&&null!=D.startX&&null!=D.startY&&null!=D.endX&&null!=D.endY&&(z=[{x:D.startX,y:D.startY},{x:D.endX,y:D.endY}]),!z||z.length<2)continue;for(var O=0;O<z.length-1;O++){for(var V=z[O],F=z[O+1],X=0;X<p.length;X++){var j=l(p[X],2);if(function(e,t,n,r){function i(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}return i(e,n,r)!==i(t,n,r)&&i(e,t,n)!==i(e,t,r)}(V,F,j[0],j[1])){o.push(y),I=!0;break}}if(I)break}}}}}return o};var ot={};ot.calculateArrowAngles=function(e){var t=e._private.rscratch,n="haystack"===t.edgeType,r="bezier"===t.edgeType,i="multibezier"===t.edgeType,a="segments"===t.edgeType,o="compound"===t.edgeType,s="self"===t.edgeType;if(n?(y=t.haystackPts[0],b=t.haystackPts[1],x=t.haystackPts[2],w=t.haystackPts[3]):(y=t.arrowStartX,b=t.arrowStartY,x=t.arrowEndX,w=t.arrowEndY),d=t.midX,h=t.midY,a)g=y-t.segpts[0],v=b-t.segpts[1];else if(i||o||s||r){var l=t.allpts,u=tm(l[0],l[2],l[4],.1),c=tm(l[1],l[3],l[5],.1);g=y-u,v=b-c}else g=y-d,v=b-h;t.srcArrowAngle=th(g,v);var d=t.midX,h=t.midY;if(n&&(d=(y+x)/2,h=(b+w)/2),g=x-y,v=w-b,a){var l=t.allpts;if(l.length/2%2==0){var f=l.length/2,p=f-2;g=l[f]-l[p],v=l[f+1]-l[p+1]}else if(t.isRound)g=t.midVector[1],v=-t.midVector[0];else{var f=l.length/2-1,p=f-2;g=l[f]-l[p],v=l[f+1]-l[p+1]}}else if(i||o||s){var g,v,y,b,x,w,d,h,E,k,T,C,l=t.allpts;if(t.ctrlpts.length/2%2==0){var P=l.length/2-1,S=P+2,B=S+2;E=tm(l[P],l[S],l[B],0),k=tm(l[P+1],l[S+1],l[B+1],0),T=tm(l[P],l[S],l[B],1e-4),C=tm(l[P+1],l[S+1],l[B+1],1e-4)}else{var S=l.length/2-1,P=S-2,B=S+2;E=tm(l[P],l[S],l[B],.4999),k=tm(l[P+1],l[S+1],l[B+1],.4999),T=tm(l[P],l[S],l[B],.5),C=tm(l[P+1],l[S+1],l[B+1],.5)}g=T-E,v=C-k}if(t.midtgtArrowAngle=th(g,v),t.midDispX=g,t.midDispY=v,g*=-1,v*=-1,a){var l=t.allpts;if(l.length/2%2==0);else if(!t.isRound){var f=l.length/2-1,D=f+2;g=-(l[D]-l[f]),v=-(l[D+1]-l[f+1])}}if(t.midsrcArrowAngle=th(g,v),a)g=x-t.segpts[t.segpts.length-2],v=w-t.segpts[t.segpts.length-1];else if(i||o||s||r){var l=t.allpts,_=l.length,u=tm(l[_-6],l[_-4],l[_-2],.9),c=tm(l[_-5],l[_-3],l[_-1],.9);g=x-u,v=w-c}else g=x-d,v=w-h;t.tgtArrowAngle=th(g,v)},ot.getArrowWidth=ot.getArrowHeight=function(e,t){var n=this.arrowWidthCache=this.arrowWidthCache||{},r=n[e+", "+t];return r||(r=Math.max(Math.pow(13.37*e,.9),29)*t,n[e+", "+t]=r),r};var on,or,oi,oa,oo,os,ol,ou,oc,od,oh,of,op,og,ov,oy,om,ob,ox,ow,oE,ok,oT,oC,oP,oS,oB,oD,o_,oA,oM,oR,oI,oL,oN,oz,oO,oV,oF,oX,oj,oY,oq,oW,oU,oH,oK,oG,oZ,o$,oQ,oJ,o0,o1,o2,o5,o3,o4,o9,o6,o8,o7,se,st,sn,sr,si,sa,so,ss,sl,su,sc,sd,sh,sf,sp,sg,sv,sy,sm,sb,sx,sw,sE,sk,sT,sC,sP,sS,sB,sD,s_,sA,sM,sR,sI,sL,sN,sz,sO,sV,sF,sX,sj,sY,sq,sW,sU,sH,sK,sG,sZ,s$,sQ,sJ,s0,s1,s2,s5,s3,s4,s9,s6,s8,s7,le,lt,ln,lr,li,la,lo,ls,ll,lu,lc,ld,lh,lf,lp,lg,lv,ly,lm,lb,lx,lw,lE,lk,lT,lC,lP,lS,lB,lD,l_,lA,lM,lR={},lI={},lL=function(e,t,n){n.x=t.x-e.x,n.y=t.y-e.y,n.len=Math.sqrt(n.x*n.x+n.y*n.y),n.nx=n.x/n.len,n.ny=n.y/n.len,n.ang=Math.atan2(n.ny,n.nx)},lN=function(e,t){t.x=-1*e.x,t.y=-1*e.y,t.nx=-1*e.nx,t.ny=-1*e.ny,t.ang=e.ang>0?-(Math.PI-e.ang):Math.PI+e.ang},lz=function(e,t,n,r,i){if(e!==y?lL(t,e,lR):lN(lI,lR),lL(t,n,lI),lk=lR.nx*lI.ny-lR.ny*lI.nx,lT=lR.nx*lI.nx- -(lR.ny*lI.ny),1e-6>Math.abs(lS=Math.asin(Math.max(-1,Math.min(1,lk))))){lw=t.x,lE=t.y,lD=lA=0;return}lC=1,lP=!1,lT<0?lS<0?lS=Math.PI+lS:(lS=Math.PI-lS,lC=-1,lP=!0):lS>0&&(lC=-1,lP=!0),lA=void 0!==t.radius?t.radius:r,lB=lS/2,lM=Math.min(lR.len/2,lI.len/2),lD=i?(l_=Math.abs(Math.cos(lB)*lA/Math.sin(lB)))>lM?Math.abs((l_=lM)*Math.sin(lB)/Math.cos(lB)):lA:Math.abs((l_=Math.min(lM,lA))*Math.sin(lB)/Math.cos(lB)),g=t.x+lI.nx*l_,v=t.y+lI.ny*l_,lw=g-lI.ny*lD*lC,lE=v+lI.nx*lD*lC,f=t.x+lR.nx*l_,p=t.y+lR.ny*l_,y=t};function lO(e,t){0===t.radius?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}function lV(e,t,n,r){var i=!(arguments.length>4)||void 0===arguments[4]||arguments[4];return 0===r||0===t.radius?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(lz(e,t,n,r,i),{cx:lw,cy:lE,radius:lD,startX:f,startY:p,stopX:g,stopY:v,startAngle:lR.ang+Math.PI/2*lC,endAngle:lI.ang-Math.PI/2*lC,counterClockwise:lP})}var lF=Math.sqrt(.02),lX={};function lj(e){var t=[];if(null!=e){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1];t.push({x:r,y:i})}return t}}lX.findMidptPtsEtc=function(e,t){var n,r=t.posPts,i=t.intersectionPts,a=t.vectorNormInverse,o=e.pstyle("source-endpoint"),s=e.pstyle("target-endpoint"),u=null!=o.units&&null!=s.units;switch(e.pstyle("edge-distances").value){case"node-position":n=r;break;case"intersection":n=i;break;case"endpoints":if(u){var c,d,h,f=l(this.manualEndptToPx(e.source()[0],o),2),p=f[0],g=f[1],v=l(this.manualEndptToPx(e.target()[0],s),2),y=v[0],b=v[1];c=b-g,h=Math.sqrt((d=y-p)*d+c*c),a={x:-c/h,y:d/h},n={x1:p,y1:g,x2:y,y2:b}}else eV("Edge ".concat(e.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),n=i}return{midptPts:n,vectorNormInverse:a}},lX.findHaystackPoints=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n._private,i=r.rscratch;if(!i.haystack){var a=2*Math.random()*Math.PI;i.source={x:Math.cos(a),y:Math.sin(a)},i.target={x:Math.cos(a=2*Math.random()*Math.PI),y:Math.sin(a)}}var o=r.source,s=r.target,l=o.position(),u=s.position(),c=o.width(),d=s.width(),h=o.height(),f=s.height(),p=n.pstyle("haystack-radius").value/2;i.haystackPts=i.allpts=[i.source.x*c*p+l.x,i.source.y*h*p+l.y,i.target.x*d*p+u.x,i.target.y*f*p+u.y],i.midX=(i.allpts[0]+i.allpts[2])/2,i.midY=(i.allpts[1]+i.allpts[3])/2,i.edgeType="haystack",i.haystack=!0,this.storeEdgeProjections(n),this.calculateArrowAngles(n),this.recalculateEdgeLabelProjections(n),this.calculateLabelAngles(n)}},lX.findSegmentsPoints=function(e,t){var n=e._private.rscratch,r=e.pstyle("segment-weights"),i=e.pstyle("segment-distances"),a=e.pstyle("segment-radii"),o=e.pstyle("radius-type"),s=Math.min(r.pfValue.length,i.pfValue.length),l=a.pfValue[a.pfValue.length-1],u=o.pfValue[o.pfValue.length-1];n.edgeType="segments",n.segpts=[],n.radii=[],n.isArcRadius=[];for(var c=0;c<s;c++){var d=r.pfValue[c],h=i.pfValue[c],f=1-d,p=this.findMidptPtsEtc(e,t),g=p.midptPts,v=p.vectorNormInverse,y={x:g.x1*f+g.x2*d,y:g.y1*f+g.y2*d};n.segpts.push(y.x+v.x*h,y.y+v.y*h),n.radii.push(void 0!==a.pfValue[c]?a.pfValue[c]:l),n.isArcRadius.push((void 0!==o.pfValue[c]?o.pfValue[c]:u)==="arc-radius")}},lX.findLoopPoints=function(e,t,n,r){var i=e._private.rscratch,a=t.dirCounts,o=t.srcPos,s=e.pstyle("control-point-distances"),l=s?s.pfValue[0]:void 0,u=e.pstyle("loop-direction").pfValue,c=e.pstyle("loop-sweep").pfValue,d=e.pstyle("control-point-step-size").pfValue;i.edgeType="self";var h=n,f=d;r&&(h=0,f=l);var p=u-Math.PI/2,g=p-c/2,v=p+c/2,y=String(u+"_"+c);h=void 0===a[y]?a[y]=0:++a[y],i.ctrlpts=[o.x+1.4*Math.cos(g)*f*(h/3+1),o.y+1.4*Math.sin(g)*f*(h/3+1),o.x+1.4*Math.cos(v)*f*(h/3+1),o.y+1.4*Math.sin(v)*f*(h/3+1)]},lX.findCompoundLoopPoints=function(e,t,n,r){var i=e._private.rscratch;i.edgeType="compound";var a=t.srcPos,o=t.tgtPos,s=t.srcW,l=t.srcH,u=t.tgtW,c=t.tgtH,d=e.pstyle("control-point-step-size").pfValue,h=e.pstyle("control-point-distances"),f=h?h.pfValue[0]:void 0,p=n,g=d;r&&(p=0,g=f);var v={x:a.x-s/2,y:a.y-l/2},y={x:o.x-u/2,y:o.y-c/2},b={x:Math.min(v.x,y.x),y:Math.min(v.y,y.y)},x=Math.max(.5,Math.log(.01*s)),w=Math.max(.5,Math.log(.01*u));i.ctrlpts=[b.x,b.y-1.7995514309304248*g*(p/3+1)*x,b.x-1.7995514309304248*g*(p/3+1)*w,b.y]},lX.findStraightEdgePoints=function(e){e._private.rscratch.edgeType="straight"},lX.findBezierPoints=function(e,t,n,r,i){var a=e._private.rscratch,o=e.pstyle("control-point-step-size").pfValue,s=e.pstyle("control-point-distances"),l=e.pstyle("control-point-weights"),u=s&&l?Math.min(s.value.length,l.value.length):1,c=s?s.pfValue[0]:void 0,d=l.value[0];a.edgeType=r?"multibezier":"bezier",a.ctrlpts=[];for(var h=0;h<u;h++){var f=(.5-t.eles.length/2+n)*o*(i?-1:1),p=void 0,g=tp(f);r&&(c=s?s.pfValue[h]:o,d=l.value[h]);var v=void 0!==(p=r?c:void 0!==c?g*c:void 0)?p:f,y=1-d,b=d,x=this.findMidptPtsEtc(e,t),w=x.midptPts,E=x.vectorNormInverse,k={x:w.x1*y+w.x2*b,y:w.y1*y+w.y2*b};a.ctrlpts.push(k.x+E.x*v,k.y+E.y*v)}},lX.findTaxiPoints=function(e,t){var n,r=e._private.rscratch;r.edgeType="segments";var i="vertical",a="horizontal",o="leftward",s="rightward",l="downward",u="upward",c=t.posPts,d=t.srcW,h=t.srcH,f=t.tgtW,p=t.tgtH,g="node-position"!==e.pstyle("edge-distances").value,v=e.pstyle("taxi-direction").value,y=v,b=e.pstyle("taxi-turn"),x="%"===b.units,w=b.pfValue,E=e.pstyle("taxi-turn-min-distance").pfValue,k=c.x2-c.x1,T=c.y2-c.y1,C=function(e,t){return e>0?Math.max(e-t,0):Math.min(e+t,0)},P=C(k,g?(d+f)/2:0),S=C(T,g?(h+p)/2:0),B=!1;"auto"===y?v=Math.abs(P)>Math.abs(S)?a:i:y===u||y===l?(v=i,B=!0):(y===o||y===s)&&(v=a,B=!0);var D=v===i,_=D?S:P,A=D?T:k,M=tp(A),R=!1;!(B&&(x||w<0))&&(y===l&&A<0||y===u&&A>0||y===o&&A>0||y===s&&A<0)&&(M*=-1,_=M*Math.abs(_),R=!0);var I=function(e){return Math.abs(e)<E||Math.abs(e)>=Math.abs(_)},L=I(n=x?(w<0?1+w:w)*_:(w<0?_:0)+w*M),N=I(Math.abs(_)-Math.abs(n));if((L||N)&&!R)if(D){var z=Math.abs(k)<=f/2;if(Math.abs(A)<=h/2){var O=(c.x1+c.x2)/2;r.segpts=[O,c.y1,O,c.y2]}else if(z){var V=(c.y1+c.y2)/2;r.segpts=[c.x1,V,c.x2,V]}else r.segpts=[c.x1,c.y2]}else{var F=Math.abs(T)<=p/2;if(Math.abs(A)<=d/2){var X=(c.y1+c.y2)/2;r.segpts=[c.x1,X,c.x2,X]}else if(F){var j=(c.x1+c.x2)/2;r.segpts=[j,c.y1,j,c.y2]}else r.segpts=[c.x2,c.y1]}else if(D){var Y=c.y1+n+(g?h/2*M:0);r.segpts=[c.x1,Y,c.x2,Y]}else{var q=c.x1+n+(g?d/2*M:0);r.segpts=[q,c.y1,q,c.y2]}if(r.isRound){var W=e.pstyle("taxi-radius").value,U="arc-radius"===e.pstyle("radius-type").value[0];r.radii=Array(r.segpts.length/2).fill(W),r.isArcRadius=Array(r.segpts.length/2).fill(U)}},lX.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,l=t.tgtH,u=t.srcShape,c=t.tgtShape,d=t.srcCornerRadius,h=t.tgtCornerRadius,f=t.srcRs,p=t.tgtRs,g=!M(n.startX)||!M(n.startY),v=!M(n.arrowStartX)||!M(n.arrowStartY),y=!M(n.endX)||!M(n.endY),b=!M(n.arrowEndX)||!M(n.arrowEndY),x=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),w=tg({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),E=w<x,k=tg({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.endX,y:n.endY}),T=k<x,C=!1;if(g||v||E){C=!0;var P={x:n.ctrlpts[0]-r.x,y:n.ctrlpts[1]-r.y},S=Math.sqrt(P.x*P.x+P.y*P.y),B={x:P.x/S,y:P.y/S},D=Math.max(a,o),_={x:n.ctrlpts[0]+2*B.x*D,y:n.ctrlpts[1]+2*B.y*D},A=u.intersectLine(r.x,r.y,a,o,_.x,_.y,0,d,f);E?(n.ctrlpts[0]=n.ctrlpts[0]+B.x*(x-w),n.ctrlpts[1]=n.ctrlpts[1]+B.y*(x-w)):(n.ctrlpts[0]=A[0]+B.x*x,n.ctrlpts[1]=A[1]+B.y*x)}if(y||b||T){C=!0;var R={x:n.ctrlpts[0]-i.x,y:n.ctrlpts[1]-i.y},I=Math.sqrt(R.x*R.x+R.y*R.y),L={x:R.x/I,y:R.y/I},N=Math.max(a,o),z={x:n.ctrlpts[0]+2*L.x*N,y:n.ctrlpts[1]+2*L.y*N},O=c.intersectLine(i.x,i.y,s,l,z.x,z.y,0,h,p);T?(n.ctrlpts[0]=n.ctrlpts[0]+L.x*(x-k),n.ctrlpts[1]=n.ctrlpts[1]+L.y*(x-k)):(n.ctrlpts[0]=O[0]+L.x*x,n.ctrlpts[1]=O[1]+L.y*x)}C&&this.findEndpoints(e)}},lX.storeAllpts=function(e){var t=e._private.rscratch;if("multibezier"===t.edgeType||"bezier"===t.edgeType||"self"===t.edgeType||"compound"===t.edgeType){t.allpts=[],t.allpts.push(t.startX,t.startY);for(var n,r=0;r+1<t.ctrlpts.length;r+=2)t.allpts.push(t.ctrlpts[r],t.ctrlpts[r+1]),r+3<t.ctrlpts.length&&t.allpts.push((t.ctrlpts[r]+t.ctrlpts[r+2])/2,(t.ctrlpts[r+1]+t.ctrlpts[r+3])/2);(t.allpts.push(t.endX,t.endY),t.ctrlpts.length/2%2==0)?(n=t.allpts.length/2-1,t.midX=t.allpts[n],t.midY=t.allpts[n+1]):(n=t.allpts.length/2-3,t.midX=tm(t.allpts[n],t.allpts[n+2],t.allpts[n+4],.5),t.midY=tm(t.allpts[n+1],t.allpts[n+3],t.allpts[n+5],.5))}else if("straight"===t.edgeType)t.allpts=[t.startX,t.startY,t.endX,t.endY],t.midX=(t.startX+t.endX+t.arrowStartX+t.arrowEndX)/4,t.midY=(t.startY+t.endY+t.arrowStartY+t.arrowEndY)/4;else if("segments"===t.edgeType){if(t.allpts=[],t.allpts.push(t.startX,t.startY),t.allpts.push.apply(t.allpts,t.segpts),t.allpts.push(t.endX,t.endY),t.isRound){t.roundCorners=[];for(var i=2;i+3<t.allpts.length;i+=2){var a=t.radii[i/2-1],o=t.isArcRadius[i/2-1];t.roundCorners.push(lV({x:t.allpts[i-2],y:t.allpts[i-1]},{x:t.allpts[i],y:t.allpts[i+1],radius:a},{x:t.allpts[i+2],y:t.allpts[i+3]},a,o))}}if(t.segpts.length%4==0){var s=t.segpts.length/2,l=s-2;t.midX=(t.segpts[l]+t.segpts[s])/2,t.midY=(t.segpts[l+1]+t.segpts[s+1])/2}else{var u=t.segpts.length/2-1;if(t.isRound){var c={x:t.segpts[u],y:t.segpts[u+1]},d=t.roundCorners[u/2];if(0===d.radius){var h={x:t.segpts[u+2],y:t.segpts[u+3]};t.midX=c.x,t.midY=c.y,t.midVector=[c.y-h.y,h.x-c.x]}else{var f=[c.x-d.cx,c.y-d.cy],p=d.radius/Math.sqrt(Math.pow(f[0],2)+Math.pow(f[1],2));f=f.map(function(e){return e*p}),t.midX=d.cx+f[0],t.midY=d.cy+f[1],t.midVector=f}}else t.midX=t.segpts[u],t.midY=t.segpts[u+1]}}},lX.checkForInvalidEdgeWarning=function(e){var t=e[0]._private.rscratch;t.nodesOverlap||M(t.startX)&&M(t.startY)&&M(t.endX)&&M(t.endY)?t.loggedErr=!1:t.loggedErr||(t.loggedErr=!0,eV("Edge `"+e.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},lX.findEdgeControlPoints=function(e){var t=this;if(e&&0!==e.length){for(var n=this,r=n.cy.hasCompoundNodes(),i=new e$,a=function(e,t){return[].concat(u(e),[+!!t]).join("-")},o=[],s=[],l=0;l<e.length;l++){var c=e[l],d=c._private,h=c.pstyle("curve-style").value;if(!c.removed()&&c.takesUpSpace()){if("haystack"===h){s.push(c);continue}var f="unbundled-bezier"===h||H(h,"segments")||"straight"===h||"straight-triangle"===h||H(h,"taxi"),p="unbundled-bezier"===h||"bezier"===h,g=d.source,v=d.target,y=[g.poolIndex(),v.poolIndex()].sort(),b=a(y,f),x=i.get(b);null==x&&(x={eles:[]},o.push({pairId:y,edgeIsUnbundled:f}),i.set(b,x)),x.eles.push(c),f&&(x.hasUnbundled=!0),p&&(x.hasBezier=!0)}}for(var w=0;w<o.length;w++)!function(){var e,s=o[w],l=a(s.pairId,s.edgeIsUnbundled),u=i.get(l);if(!u.hasUnbundled){var c=u.eles[0].parallelEdges().filter(function(e){return e.isBundledBezier()});eU(u.eles),c.forEach(function(e){return u.eles.push(e)}),u.eles.sort(function(e,t){return e.poolIndex()-t.poolIndex()})}var d=u.eles[0],h=d.source(),f=d.target();if(h.poolIndex()>f.poolIndex()){var p=h;h=f,f=p}var g=u.srcPos=h.position(),v=u.tgtPos=f.position(),y=u.srcW=h.outerWidth(),b=u.srcH=h.outerHeight(),x=u.tgtW=f.outerWidth(),E=u.tgtH=f.outerHeight(),k=u.srcShape=n.nodeShapes[t.getNodeShape(h)],T=u.tgtShape=n.nodeShapes[t.getNodeShape(f)],C=u.srcCornerRadius="auto"===h.pstyle("corner-radius").value?"auto":h.pstyle("corner-radius").pfValue,P=u.tgtCornerRadius="auto"===f.pstyle("corner-radius").value?"auto":f.pstyle("corner-radius").pfValue,S=u.tgtRs=f._private.rscratch,B=u.srcRs=h._private.rscratch;u.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var D=0;D<u.eles.length;D++){var _=u.eles[D],A=_[0]._private.rscratch,R=_.pstyle("curve-style").value,I="unbundled-bezier"===R||H(R,"segments")||H(R,"taxi"),L=!h.same(_.source());if(!u.calculatedIntersection&&h!==f&&(u.hasBezier||u.hasUnbundled)){u.calculatedIntersection=!0;var N=k.intersectLine(g.x,g.y,y,b,v.x,v.y,0,C,B),z=u.srcIntn=N,O=T.intersectLine(v.x,v.y,x,E,g.x,g.y,0,P,S),V=u.tgtIntn=O,F=u.intersectionPts={x1:N[0],x2:O[0],y1:N[1],y2:O[1]},X=u.posPts={x1:g.x,x2:v.x,y1:g.y,y2:v.y},j=O[1]-N[1],Y=O[0]-N[0],q=Math.sqrt(Y*Y+j*j);M(q)&&q>=lF||(q=Math.sqrt(Math.max(Y*Y,.01)+Math.max(j*j,.01)));var W=u.vector={x:Y,y:j},U=u.vectorNorm={x:W.x/q,y:W.y/q},K={x:-U.y,y:U.x};u.nodesOverlap=!M(q)||T.checkPoint(N[0],N[1],0,x,E,v.x,v.y,P,S)||k.checkPoint(O[0],O[1],0,y,b,g.x,g.y,C,B),u.vectorNormInverse=K,e={nodesOverlap:u.nodesOverlap,dirCounts:u.dirCounts,calculatedIntersection:!0,hasBezier:u.hasBezier,hasUnbundled:u.hasUnbundled,eles:u.eles,srcPos:v,srcRs:S,tgtPos:g,tgtRs:B,srcW:x,srcH:E,tgtW:y,tgtH:b,srcIntn:V,tgtIntn:z,srcShape:T,tgtShape:k,posPts:{x1:X.x2,y1:X.y2,x2:X.x1,y2:X.y1},intersectionPts:{x1:F.x2,y1:F.y2,x2:F.x1,y2:F.y1},vector:{x:-W.x,y:-W.y},vectorNorm:{x:-U.x,y:-U.y},vectorNormInverse:{x:-K.x,y:-K.y}}}var G=L?e:u;A.nodesOverlap=G.nodesOverlap,A.srcIntn=G.srcIntn,A.tgtIntn=G.tgtIntn,A.isRound=R.startsWith("round"),r&&(h.isParent()||h.isChild()||f.isParent()||f.isChild())&&(h.parents().anySame(f)||f.parents().anySame(h)||h.same(f)&&h.isParent())?t.findCompoundLoopPoints(_,G,D,I):h===f?t.findLoopPoints(_,G,D,I):R.endsWith("segments")?t.findSegmentsPoints(_,G):R.endsWith("taxi")?t.findTaxiPoints(_,G):"straight"!==R&&(I||u.eles.length%2!=1||D!==Math.floor(u.eles.length/2))?t.findBezierPoints(_,G,D,I,L):t.findStraightEdgePoints(_),t.findEndpoints(_),t.tryToCorrectInvalidPoints(_,G),t.checkForInvalidEdgeWarning(_),t.storeAllpts(_),t.storeEdgeProjections(_),t.calculateArrowAngles(_),t.recalculateEdgeLabelProjections(_),t.calculateLabelAngles(_)}}();this.findHaystackPoints(s)}},lX.getSegmentPoints=function(e){var t=e[0]._private.rscratch;if(this.recalculateRenderedStyle(e),"segments"===t.edgeType)return lj(t.segpts)},lX.getControlPoints=function(e){var t=e[0]._private.rscratch;this.recalculateRenderedStyle(e);var n=t.edgeType;if("bezier"===n||"multibezier"===n||"self"===n||"compound"===n)return lj(t.ctrlpts)},lX.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),{x:t.midX,y:t.midY}};var lY={};lY.manualEndptToPx=function(e,t){var n=e.position(),r=e.outerWidth(),i=e.outerHeight(),a=e._private.rscratch;if(2===t.value.length){var o=[t.pfValue[0],t.pfValue[1]];return"%"===t.units[0]&&(o[0]=o[0]*r),"%"===t.units[1]&&(o[1]=o[1]*i),o[0]+=n.x,o[1]+=n.y,o}var s=t.pfValue[0];s=-Math.PI/2+s;var l=2*Math.max(r,i),u=[n.x+Math.cos(s)*l,n.y+Math.sin(s)*l];return this.nodeShapes[this.getNodeShape(e)].intersectLine(n.x,n.y,r,i,u[0],u[1],0,"auto"===e.pstyle("corner-radius").value?"auto":e.pstyle("corner-radius").pfValue,a)},lY.findEndpoints=function(e){var t,n,r,i,a,o,s,l,u,c=e.source()[0],d=e.target()[0],h=c.position(),f=d.position(),p=e.pstyle("target-arrow-shape").value,g=e.pstyle("source-arrow-shape").value,v=e.pstyle("target-distance-from-node").pfValue,y=e.pstyle("source-distance-from-node").pfValue,b=c._private.rscratch,x=d._private.rscratch,w=e.pstyle("curve-style").value,E=e._private.rscratch,k=E.edgeType,T=H(w,"taxi"),C="self"===k||"compound"===k,P="bezier"===k||"multibezier"===k||C,S="bezier"!==k,B="straight"===k||"segments"===k,D="segments"===k,_=C||T,A=e.pstyle("source-endpoint"),R=_?"outside-to-node":A.value,I="auto"===c.pstyle("corner-radius").value?"auto":c.pstyle("corner-radius").pfValue,L=e.pstyle("target-endpoint"),N=_?"outside-to-node":L.value,z="auto"===d.pstyle("corner-radius").value?"auto":d.pstyle("corner-radius").pfValue;E.srcManEndpt=A,E.tgtManEndpt=L;var O=null!=(t=(null==L||null==(n=L.pfValue)?void 0:n.length)===2?L.pfValue:null)?t:[0,0],V=null!=(r=(null==A||null==(i=A.pfValue)?void 0:i.length)===2?A.pfValue:null)?r:[0,0];if(P){var F=[E.ctrlpts[0],E.ctrlpts[1]];o=S?[E.ctrlpts[E.ctrlpts.length-2],E.ctrlpts[E.ctrlpts.length-1]]:F,s=F}else if(B){var X=D?E.segpts.slice(0,2):[f.x+O[0],f.y+O[1]];o=D?E.segpts.slice(E.segpts.length-2):[h.x+V[0],h.y+V[1]],s=X}if("inside-to-node"===N)a=[f.x,f.y];else if(L.units)a=this.manualEndptToPx(d,L);else if("outside-to-line"===N)a=E.tgtIntn;else if("outside-to-node"===N||"outside-to-node-or-label"===N?l=o:("outside-to-line"===N||"outside-to-line-or-label"===N)&&(l=[h.x,h.y]),a=this.nodeShapes[this.getNodeShape(d)].intersectLine(f.x,f.y,d.outerWidth(),d.outerHeight(),l[0],l[1],0,z,x),"outside-to-node-or-label"===N||"outside-to-line-or-label"===N){var j=d._private.rscratch,Y=j.labelWidth,q=j.labelHeight,W=j.labelX,U=j.labelY,K=Y/2,G=q/2,Z=d.pstyle("text-valign").value;"top"===(Z=rJ(Z))?U-=G:"bottom"===Z&&(U+=G);var $=d.pstyle("text-halign").value;"left"===($=rQ($))?W-=K:"right"===$&&(W+=K);var Q=tQ(l[0],l[1],[W-K,U-G,W+K,U-G,W+K,U+G,W-K,U+G],f.x,f.y);if(Q.length>0){var J=tv(h,ta(a)),ee=tv(h,ta(Q)),et=J;ee<J&&(a=Q,et=ee),Q.length>2&&tv(h,{x:Q[2],y:Q[3]})<et&&(a=[Q[2],Q[3]])}}var en=t0(a,o,this.arrowShapes[p].spacing(e)+v),er=t0(a,o,this.arrowShapes[p].gap(e)+v);if(E.endX=er[0],E.endY=er[1],E.arrowEndX=en[0],E.arrowEndY=en[1],"inside-to-node"===R)a=[h.x,h.y];else if(A.units)a=this.manualEndptToPx(c,A);else if("outside-to-line"===R)a=E.srcIntn;else if("outside-to-node"===R||"outside-to-node-or-label"===R?u=s:("outside-to-line"===R||"outside-to-line-or-label"===R)&&(u=[f.x,f.y]),a=this.nodeShapes[this.getNodeShape(c)].intersectLine(h.x,h.y,c.outerWidth(),c.outerHeight(),u[0],u[1],0,I,b),"outside-to-node-or-label"===R||"outside-to-line-or-label"===R){var ei=c._private.rscratch,ea=ei.labelWidth,eo=ei.labelHeight,es=ei.labelX,el=ei.labelY,eu=ea/2,ec=eo/2,ed=c.pstyle("text-valign").value;"top"===(ed=rJ(ed))?el-=ec:"bottom"===ed&&(el+=ec);var eh=c.pstyle("text-halign").value;"left"===(eh=rQ(eh))?es-=eu:"right"===eh&&(es+=eu);var ef=tQ(u[0],u[1],[es-eu,el-ec,es+eu,el-ec,es+eu,el+ec,es-eu,el+ec],h.x,h.y);if(ef.length>0){var ep=tv(f,ta(a)),eg=tv(f,ta(ef)),ev=ep;eg<ep&&(a=[ef[0],ef[1]],ev=eg),ef.length>2&&tv(f,{x:ef[2],y:ef[3]})<ev&&(a=[ef[2],ef[3]])}}var ey=t0(a,s,this.arrowShapes[g].spacing(e)+y),em=t0(a,s,this.arrowShapes[g].gap(e)+y);E.startX=em[0],E.startY=em[1],E.arrowStartX=ey[0],E.arrowStartY=ey[1],(P||S||B)&&(M(E.startX)&&M(E.startY)&&M(E.endX)&&M(E.endY)?E.badLine=!1:E.badLine=!0)},lY.getSourceEndpoint=function(e){var t=e[0]._private.rscratch;return(this.recalculateRenderedStyle(e),"haystack"===t.edgeType)?{x:t.haystackPts[0],y:t.haystackPts[1]}:{x:t.arrowStartX,y:t.arrowStartY}},lY.getTargetEndpoint=function(e){var t=e[0]._private.rscratch;return(this.recalculateRenderedStyle(e),"haystack"===t.edgeType)?{x:t.haystackPts[2],y:t.haystackPts[3]}:{x:t.arrowEndX,y:t.arrowEndY}};var lq={};lq.storeEdgeProjections=function(e){var t=e._private,n=t.rscratch,r=n.edgeType;if(t.rstyle.bezierPts=null,t.rstyle.linePts=null,t.rstyle.haystackPts=null,"multibezier"===r||"bezier"===r||"self"===r||"compound"===r){t.rstyle.bezierPts=[];for(var i=0;i+5<n.allpts.length;i+=4)!function(e,t,n){for(var r=function(e,t,n,r){return tm(e,t,n,r)},i=t._private.rstyle.bezierPts,a=0;a<e.bezierProjPcts.length;a++){var o=e.bezierProjPcts[a];i.push({x:r(n[0],n[2],n[4],o),y:r(n[1],n[3],n[5],o)})}}(this,e,n.allpts.slice(i,i+6))}else if("segments"===r)for(var a=t.rstyle.linePts=[],i=0;i+1<n.allpts.length;i+=2)a.push({x:n.allpts[i],y:n.allpts[i+1]});else if("haystack"===r){var o=n.haystackPts;t.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}t.rstyle.arrowWidth=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth},lq.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)};var lW={};lW.recalculateNodeLabelProjection=function(e){var t,n;if(!F(e.pstyle("label").strValue)){var r=e._private,i=e.width(),a=e.height(),o=e.padding(),s=e.position(),l=e.pstyle("text-halign").strValue,u=e.pstyle("text-valign").strValue,c=r.rscratch,d=r.rstyle;switch(l){case"left":t=s.x-i/2-o;break;case"left-inside":t=s.x-i/2+o;break;case"right":t=s.x+i/2+o;break;case"right-inside":t=s.x+i/2-o;break;default:t=s.x}switch(u){case"top":n=s.y-a/2-o;break;case"top-inside":n=s.y-a/2+o;break;case"bottom":n=s.y+a/2+o;break;case"bottom-inside":n=s.y+a/2-o;break;default:n=s.y}c.labelX=t,c.labelY=n,d.labelX=t,d.labelY=n,this.calculateLabelAngles(e),this.applyLabelDimensions(e)}};var lU=function(e,t){var n=Math.atan(t/e);return 0===e&&n<0&&(n*=-1),n},lH=function(e,t){return lU(t.x-e.x,t.y-e.y)},lK=function(e,t,n,r){var i=tw(0,r-.001,1),a=tw(0,r+.001,1);return lH(tb(e,t,n,i),tb(e,t,n,a))};lW.recalculateEdgeLabelProjections=function(e){var t,n=e._private,r=n.rscratch,i=this,a={mid:e.pstyle("label").strValue,source:e.pstyle("source-label").strValue,target:e.pstyle("target-label").strValue};if(a.mid||a.source||a.target){t={x:r.midX,y:r.midY};var o=function(e,t,r){eG(n.rscratch,e,t,r),eG(n.rstyle,e,t,r)};o("labelX",null,t.x),o("labelY",null,t.y),o("labelAutoAngle",null,lU(r.midDispX,r.midDispY));var s=function(){if(s.cache)return s.cache;for(var e=[],t=0;t+5<r.allpts.length;t+=4){var a={x:r.allpts[t],y:r.allpts[t+1]},o={x:r.allpts[t+2],y:r.allpts[t+3]},l={x:r.allpts[t+4],y:r.allpts[t+5]};e.push({p0:a,p1:o,p2:l,startDist:0,length:0,segments:[]})}var u=n.rstyle.bezierPts,c=i.bezierProjPcts.length;function d(e,t,n,r,i){var a=tg(t,n),o=e.segments[e.segments.length-1],s={p0:t,p1:n,t0:r,t1:i,startDist:o?o.startDist+o.length:0,length:a};e.segments.push(s),e.length+=a}for(var h=0;h<e.length;h++){var f=e[h],p=e[h-1];p&&(f.startDist=p.startDist+p.length),d(f,f.p0,u[h*c],0,i.bezierProjPcts[0]);for(var g=0;g<c-1;g++)d(f,u[h*c+g],u[h*c+g+1],i.bezierProjPcts[g],i.bezierProjPcts[g+1]);d(f,u[h*c+c-1],f.p2,i.bezierProjPcts[c-1],1)}return s.cache=e},l=function(n){var i="source"===n;if(a[n]){var l=e.pstyle(n+"-text-offset").pfValue;switch(r.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var u,c,d=s(),h=0,f=0,p=0;p<d.length;p++){for(var g=d[i?p:d.length-1-p],v=0;v<g.segments.length;v++){var y=g.segments[i?v:g.segments.length-1-v],b=p===d.length-1&&v===g.segments.length-1;if(h=f,(f+=y.length)>=l||b){c={cp:g,segment:y};break}}if(c)break}var x=c.cp,w=c.segment,E=(l-h)/w.length,k=w.t1-w.t0,T=i?w.t0+k*E:w.t1-k*E;T=tw(0,T,1),t=tb(x.p0,x.p1,x.p2,T),u=lK(x.p0,x.p1,x.p2,T);break;case"straight":case"segments":case"haystack":for(var C,P,S,B,D=0,_=r.allpts.length,A=0;A+3<_&&(i?(C={x:r.allpts[A],y:r.allpts[A+1]},P={x:r.allpts[A+2],y:r.allpts[A+3]}):(C={x:r.allpts[_-2-A],y:r.allpts[_-1-A]},P={x:r.allpts[_-4-A],y:r.allpts[_-3-A]}),S=tg(C,P),B=D,!((D+=S)>=l));A+=2);var M=(l-B)/S;t=tx(C,P,M=tw(0,M,1)),u=lH(C,P)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,u)}};l("source"),l("target"),this.applyLabelDimensions(e)}},lW.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},lW.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=eP(r,e._private.labelDimsKey);if(eK(n.rscratch,"prefixedLabelDimsKey",t)!==i){eG(n.rscratch,"prefixedLabelDimsKey",t,i);var a=this.calculateLabelDimensions(e,r),o=e.pstyle("line-height").pfValue,s=e.pstyle("font-size").pfValue,l=e.pstyle("text-wrap").strValue,u=eK(n.rscratch,"labelWrapCachedLines",t)||[],c="wrap"!==l?1:Math.max(u.length,1),d=a.width,h=a.height+(c-1)*(o-1)*s;eG(n.rstyle,"labelWidth",t,d),eG(n.rscratch,"labelWidth",t,d),eG(n.rstyle,"labelHeight",t,h),eG(n.rscratch,"labelHeight",t,h),eG(n.rscratch,"labelLineHeight",t,s*o),eG(n.rscratch,"labelActualDescent",t,a.labelActualDescent)}},lW.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,s=function(e,r){return r?(eG(n.rscratch,e,t,r),r):eK(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var l=e.pstyle("text-wrap").value;if("wrap"===l){var u=s("labelKey");if(null!=u&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var c=i.split("\n"),d=e.pstyle("text-max-width").pfValue,h="anywhere"===e.pstyle("text-overflow-wrap").value,f=[],p=/[\s\u200b]+|$/g,g=0;g<c.length;g++){var v=c[g],y=this.calculateLabelDimensions(e,v).width;if(h&&(v=v.split("").join("\u200B")),y>d){var b,x=v.matchAll(p),w="",E=0,k=o(x);try{for(k.s();!(b=k.n()).done;){var T=b.value,C=T[0],P=v.substring(E,T.index);E=T.index+C.length;var S=0===w.length?P:w+P+C;this.calculateLabelDimensions(e,S).width<=d?w+=P+C:(w&&f.push(w),w=P+C)}}catch(e){k.e(e)}finally{k.f()}w.match(/^[\s\u200b]+$/)||f.push(w)}else f.push(v)}s("labelWrapCachedLines",f),i=s("labelWrapCachedText",f.join("\n")),s("labelWrapKey",u)}else if("ellipsis"===l){var B=e.pstyle("text-max-width").pfValue,D="",_=!1;if(this.calculateLabelDimensions(e,i).width<B)return i;for(var A=0;A<i.length&&!(this.calculateLabelDimensions(e,D+i[A]+"\u2026").width>B);A++)D+=i[A],A===i.length-1&&(_=!0);return _||(D+="\u2026"),D}return i},lW.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;return"auto"!==t?t:e.isNode()?r0(n):"center"},lW.calculateLabelDimensions=function(e,t){var n=this.cy.window().document,r=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue,a=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,s=e.pstyle("text-metrics").strValue||"font",l=this.labelCalcCanvas,u=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=n.createElement("canvas"),u=this.labelCalcCanvasContext=l.getContext("2d");var c=l.style;c.position="absolute",c.left="-9999px",c.top="-9999px",c.zIndex="-1",c.visibility="hidden",c.pointerEvents="none"}u.font="".concat(r," ").concat(o," ").concat(i,"px ").concat(a);for(var d=0,h=0,f=t.split("\n"),p=f.length,g=0,v=0,y=0;y<p;y++){var b=f[y],x=u.measureText(b),w=Math.ceil(x.width);"glyph"===s&&(0===y&&(v=x.actualBoundingBoxAscent),y===p-1&&(g=x.actualBoundingBoxDescent)),d=Math.max(w,d),h+=i}return"glyph"===s&&(h-=i-v-g),{width:d+=0,height:h+=0,labelActualAscent:v,labelActualDescent:g}},lW.calculateLabelAngle=function(e,t){var n=e._private.rscratch,r=e.isEdge(),i=e.pstyle((t?t+"-":"")+"text-rotation"),a=i.strValue;return"none"===a?0:r&&"autorotate"===a?n.labelAutoAngle:"autorotate"===a?0:i.pfValue},lW.calculateLabelAngles=function(e){var t=e.isEdge(),n=e._private.rscratch;n.labelAngle=this.calculateLabelAngle(e),t&&(n.sourceLabelAngle=this.calculateLabelAngle(e,"source"),n.targetLabelAngle=this.calculateLabelAngle(e,"target"))};var lG={},lZ=!1;lG.getNodeShape=function(e){var t=e.pstyle("shape").value;if("cutrectangle"===t&&(28>e.width()||28>e.height()))return lZ||(eV("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),lZ=!0),"rectangle";if(e.isParent())if("rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t)return t;else return"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t};var l$={};l$.registerCalculationListeners=function(){var e=this.cy,t=e.collection(),n=this,r=function(e){var n=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(t.merge(e),n)for(var r=0;r<e.length;r++){var i=e[r]._private.rstyle;i.clean=!1,i.cleanConnected=!1}};n.binder(e).on("bounds.* dirty.*",function(e){r(e.target)}).on("style.* background.*",function(e){r(e.target,!1)});var i=function(i){if(i){var a=n.onUpdateEleCalcsFns;t.cleanStyle();for(var o=0;o<t.length;o++){var s=t[o],l=s._private.rstyle;s.isNode()&&!l.cleanConnected&&(r(s.connectedEdges()),l.cleanConnected=!0)}if(a)for(var u=0;u<a.length;u++)(0,a[u])(i,t);n.recalculateRenderedStyle(t),t=e.collection()}};n.flushRenderedStyleQueue=function(){i(!0)},n.beforeRender(i,n.beforeRenderPriorities.eleCalcs)},l$.onUpdateEleCalcs=function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},l$.recalculateRenderedStyle=function(e,t){var n=function(e){return e._private.rstyle.cleanConnected};if(0!==e.length){var r=[],i=[];if(!this.destroyed){void 0===t&&(t=!0);for(var a=0;a<e.length;a++){var o=e[a],s=o._private,l=s.rstyle;!o.isEdge()||n(o.source())&&n(o.target())||(l.clean=!1),o.isEdge()&&o.isBundledBezier()&&o.parallelEdges().some(function(e){return!e._private.rstyle.clean&&e.isBundledBezier()})&&(l.clean=!1),t&&l.clean||o.removed()||"none"!==o.pstyle("display").value&&("nodes"===s.group?i.push(o):r.push(o),l.clean=!0)}for(var u=0;u<i.length;u++){var c=i[u],d=c._private.rstyle,h=c.position();this.recalculateNodeLabelProjection(c),d.nodeX=h.x,d.nodeY=h.y,d.nodeW=c.pstyle("width").pfValue,d.nodeH=c.pstyle("height").pfValue}this.recalculateEdgeProjections(r);for(var f=0;f<r.length;f++){var p=r[f]._private,g=p.rstyle,v=p.rscratch;g.srcX=v.arrowStartX,g.srcY=v.arrowStartY,g.tgtX=v.arrowEndX,g.tgtY=v.arrowEndY,g.midX=v.midX,g.midY=v.midY,g.labelAngle=v.labelAngle,g.sourceLabelAngle=v.sourceLabelAngle,g.targetLabelAngle=v.targetLabelAngle}}}};var lQ={};lQ.updateCachedGrabbedEles=function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],n=0;n<e.length;n++){var r=e[n],i=r._private.rscratch;r.grabbed()&&!r.isParent()?t.push(r):i.inDragLayer?e.drag.push(r):e.nondrag.push(r)}for(var n=0;n<t.length;n++){var r=t[n];e.drag.push(r)}}},lQ.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},lQ.getCachedZSortedEles=function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(iA),t.interactive=t.filter(function(e){return e.interactive()}),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t};var lJ={};[oe,ot,lX,lY,lq,lW,lG,l$,lQ].forEach(function(e){ee(lJ,e)});var l0={};l0.getCachedImage=function(e,t,n){var r=this.imageCache=this.imageCache||{},i=r[e];if(i)return i.image.complete||i.image.addEventListener("load",n),i.image;var a=(i=r[e]=r[e]||{}).image=new Image;a.addEventListener("load",n),a.addEventListener("error",function(){a.error=!0});var o="data:";return e.substring(0,o.length).toLowerCase()!==o&&(a.crossOrigin=t="null"===t?null:t),a.src=e,a};var l1=function(e,t){var n=e[0];n&&n._private.grabbed!==t&&(n._private.grabbed=t,e.updateStyle(!1))},l2=function(e){l1(e,!0)},l5=function(e){l1(e,!1)},l3={};l3.registerBinding=function(e,t,n,r){var i=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(e)){for(var a=[],o=0;o<e.length;o++){var s=e[o];if(void 0!==s){var l=this.binder(s);a.push(l.on.apply(l,i))}}return a}var l=this.binder(e);return l.on.apply(l,i)},l3.binder=function(e){var t=this,n=t.cy.window(),r=e===n||e===n.document||e===n.document.body||!("u"<typeof HTMLElement)&&e instanceof HTMLElement;if(null==t.supportsPassiveEvents){var i=!1;try{var a=Object.defineProperty({},"passive",{get:function(){return i=!0,!0}});n.addEventListener("test",null,a)}catch(e){}t.supportsPassiveEvents=i}var o=function(n,i,a){var o=Array.prototype.slice.call(arguments);return r&&t.supportsPassiveEvents&&(o[2]={capture:null!=a&&a,passive:!1,once:!1}),t.bindings.push({target:e,args:o}),(e.addEventListener||e.on).apply(e,o),this};return{on:o,addEventListener:o,addListener:o,bind:o}},l3.nodeIsDraggable=function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},l3.nodeIsGrabbable=function(e){return this.nodeIsDraggable(e)&&e.interactive()},l3.load=function(){var e,t,n,r,i,a,o,s,l,u,c,d,h,f,p,g,v,y,b,x,w,E,k,T,C,P=this,S=P.cy.window(),B=function(e){return e.selected()},D=function(e,t,n,r){null==e&&(e=P.cy);for(var i=0;i<t.length;i++){var a=t[i];e.emit({originalEvent:n,type:a,position:r})}},_=function(e){return e.shiftKey||e.metaKey||e.ctrlKey},A=function(e,t){var n=!0;if(P.cy.hasCompoundNodes()&&e&&e.pannable())for(var r=0;t&&r<t.length;r++){var e=t[r];if(e.isNode()&&e.isParent()&&!e.pannable()){n=!1;break}}else n=!0;return n},R=function(e){e[0]._private.rscratch.inDragLayer=!0},I=function(e){e[0]._private.rscratch.inDragLayer=!1},L=function(e){e[0]._private.rscratch.isGrabTarget=!0},N=function(e){e[0]._private.rscratch.isGrabTarget=!1},z=function(e,t){var n=t.addToList;!n.has(e)&&e.grabbable()&&!e.locked()&&(n.merge(e),l2(e))},O=function(e,t){if(e.cy().hasCompoundNodes()&&(null!=t.inDragLayer||null!=t.addToList)){var n=e.descendants();t.inDragLayer&&(n.forEach(R),n.connectedEdges().forEach(R)),t.addToList&&z(n,t)}},V=function(e,t){t=t||{};var n=e.cy().hasCompoundNodes();t.inDragLayer&&(e.forEach(R),e.neighborhood().stdFilter(function(e){return!n||e.isEdge()}).forEach(R)),t.addToList&&e.forEach(function(e){z(e,t)}),O(e,t),X(e,{inDragLayer:t.inDragLayer}),P.updateCachedGrabbedEles()},F=function(e){e&&(P.getCachedZSortedEles().forEach(function(e){l5(e),I(e),N(e)}),P.updateCachedGrabbedEles())},X=function(e,t){if((null!=t.inDragLayer||null!=t.addToList)&&e.cy().hasCompoundNodes()){var n=e.ancestors().orphans();if(!n.same(e)){var r=n.descendants().spawnSelf().merge(n).unmerge(e).unmerge(e.descendants()),i=r.connectedEdges();t.inDragLayer&&(i.forEach(R),r.forEach(R)),t.addToList&&r.forEach(function(e){z(e,t)})}}},j=function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},Y="u">typeof MutationObserver,q="u">typeof ResizeObserver;Y?(P.removeObserver=new MutationObserver(function(e){for(var t=0;t<e.length;t++){var n=e[t].removedNodes;if(n){for(var r=0;r<n.length;r++)if(n[r]===P.container){P.destroy();break}}}}),P.container.parentNode&&P.removeObserver.observe(P.container.parentNode,{childList:!0})):P.registerBinding(P.container,"DOMNodeRemoved",function(e){P.destroy()});var W=eg(function(){P.cy.resize()},100);Y&&(P.styleObserver=new MutationObserver(W),P.styleObserver.observe(P.container,{attributes:!0})),P.registerBinding(S,"resize",W),q&&(P.resizeObserver=new ResizeObserver(W),P.resizeObserver.observe(P.container));for(var U=function(){P.invalidateContainerClientCoordsCache()},H=P.container;null!=H;){e=H,P.registerBinding(e,"transitionend",U),P.registerBinding(e,"animationend",U),P.registerBinding(e,"scroll",U),H=H.parentNode}P.registerBinding(P.container,"contextmenu",function(e){e.preventDefault()});var K=function(e){for(var t=P.findContainerClientCoords(),n=t[0],r=t[1],i=t[2],a=t[3],o=e.touches?e.touches:[e],s=!1,l=0;l<o.length;l++){var u=o[l];if(n<=u.clientX&&u.clientX<=n+i&&r<=u.clientY&&u.clientY<=r+a){s=!0;break}}if(!s)return!1;for(var c=P.container,d=e.target.parentNode,h=!1;d;){if(d===c){h=!0;break}d=d.parentNode}return!!h};P.registerBinding(P.container,"mousedown",function(e){if(K(e)&&(1!==P.hoverData.which||1===e.which)){e.preventDefault(),j(),P.hoverData.capture=!0,P.hoverData.which=e.which;var t=P.cy,n=[e.clientX,e.clientY],r=P.projectIntoViewport(n[0],n[1]),i=P.selection,a=P.findNearestElements(r[0],r[1],!0,!1),o=a[0],s=P.dragData.possibleDragElements;P.hoverData.mdownPos=r,P.hoverData.mdownGPos=n;var l=function(t){return{originalEvent:e,type:t,position:{x:r[0],y:r[1]}}};if(3==e.which){P.hoverData.cxtStarted=!0;var u={originalEvent:e,type:"cxttapstart",position:{x:r[0],y:r[1]}};o?(o.activate(),o.emit(u),P.hoverData.down=o):t.emit(u),P.hoverData.downTime=new Date().getTime(),P.hoverData.cxtDragged=!1}else if(1==e.which){if(o&&o.activate(),null!=o&&P.nodeIsGrabbable(o)){if(L(o),o.selected()){s=P.dragData.possibleDragElements=t.collection();var c=t.$(function(e){return e.isNode()&&e.selected()&&P.nodeIsGrabbable(e)});V(c,{addToList:s}),o.emit(l("grabon")),c.forEach(function(e){e.emit(l("grab"))})}else V(o,{addToList:s=P.dragData.possibleDragElements=t.collection()}),o.emit(l("grabon")).emit(l("grab"));P.redrawHint("eles",!0),P.redrawHint("drag",!0)}P.hoverData.down=o,P.hoverData.downs=a,P.hoverData.downTime=new Date().getTime(),D(o,["mousedown","tapstart","vmousedown"],e,{x:r[0],y:r[1]}),null==o?(i[4]=1,P.data.bgActivePosistion={x:r[0],y:r[1]},P.redrawHint("select",!0),P.redraw()):o.pannable()&&(i[4]=1),P.hoverData.tapholdCancelled=!1,clearTimeout(P.hoverData.tapholdTimeout),P.hoverData.tapholdTimeout=setTimeout(function(){if(!P.hoverData.tapholdCancelled){var e=P.hoverData.down;e?e.emit(l("taphold")):t.emit(l("taphold"))}},P.tapholdDuration)}i[0]=i[2]=r[0],i[1]=i[3]=r[1]}},!1);var G=function(e){var t=e.getRootNode();if(t&&11===t.nodeType&&void 0!==t.host)return t}(P.container);P.registerBinding([S,G],"mousemove",function(e){var t,n;if(P.hoverData.capture||K(e)){var r=!1,i=P.cy,a=i.zoom(),o=[e.clientX,e.clientY],s=P.projectIntoViewport(o[0],o[1]),l=P.hoverData.mdownPos,u=P.hoverData.mdownGPos,c=P.selection,d=null;P.hoverData.draggingEles||P.hoverData.dragging||P.hoverData.selecting||(d=P.findNearestElement(s[0],s[1],!0,!1));var h=P.hoverData.last,f=P.hoverData.down,p=[s[0]-c[2],s[1]-c[3]],g=P.dragData.possibleDragElements;if(u){var v=o[0]-u[0],y=o[1]-u[1];P.hoverData.isOverThresholdDrag=t=v*v+y*y>=P.desktopTapThreshold2}var b=_(e);t&&(P.hoverData.tapholdCancelled=!0),r=!0,D(d,["mousemove","vmousemove","tapdrag"],e,{x:s[0],y:s[1]});var x=function(t){return{originalEvent:e,type:t,position:{x:s[0],y:s[1]}}},w=function(){P.data.bgActivePosistion=void 0,P.hoverData.selecting||i.emit(x("boxstart")),c[4]=1,P.hoverData.selecting=!0,P.redrawHint("select",!0),P.redraw()};if(3===P.hoverData.which){if(t){var E=x("cxtdrag");f?f.emit(E):i.emit(E),P.hoverData.cxtDragged=!0,(!P.hoverData.cxtOver||d!==P.hoverData.cxtOver)&&(P.hoverData.cxtOver&&P.hoverData.cxtOver.emit(x("cxtdragout")),P.hoverData.cxtOver=d,d&&d.emit(x("cxtdragover")))}}else if(P.hoverData.dragging){if(r=!0,i.panningEnabled()&&i.userPanningEnabled()){if(P.hoverData.justStartedPan){var k=P.hoverData.mdownPos;n={x:(s[0]-k[0])*a,y:(s[1]-k[1])*a},P.hoverData.justStartedPan=!1}else n={x:p[0]*a,y:p[1]*a};i.panBy(n),i.emit(x("dragpan")),P.hoverData.dragged=!0}s=P.projectIntoViewport(e.clientX,e.clientY)}else if(1==c[4]&&(null==f||f.pannable()))t&&(!P.hoverData.dragging&&i.boxSelectionEnabled()&&(b||!i.panningEnabled()||!i.userPanningEnabled())?w():!P.hoverData.selecting&&i.panningEnabled()&&i.userPanningEnabled()&&A(f,P.hoverData.downs)&&(P.hoverData.dragging=!0,P.hoverData.justStartedPan=!0,c[4]=0,P.data.bgActivePosistion=ta(l),P.redrawHint("select",!0),P.redraw()),f&&f.pannable()&&f.active()&&f.unactivate());else{if(f&&f.pannable()&&f.active()&&f.unactivate(),f&&f.grabbed()||d==h||(h&&D(h,["mouseout","tapdragout"],e,{x:s[0],y:s[1]}),d&&D(d,["mouseover","tapdragover"],e,{x:s[0],y:s[1]}),P.hoverData.last=d),f)if(t){if(i.boxSelectionEnabled()&&b)f&&f.grabbed()&&(F(g),f.emit(x("freeon")),g.emit(x("free")),P.dragData.didDrag&&(f.emit(x("dragfreeon")),g.emit(x("dragfree")))),w();else if(f&&f.grabbed()&&P.nodeIsDraggable(f)){var T,C=!P.dragData.didDrag;C&&P.redrawHint("eles",!0),P.dragData.didDrag=!0,P.hoverData.draggingEles||V(g,{inDragLayer:!0});var S={x:0,y:0};if(M(p[0])&&M(p[1])&&(S.x+=p[0],S.y+=p[1],C)){var B=P.hoverData.dragDelta;B&&M(B[0])&&M(B[1])&&(S.x+=B[0],S.y+=B[1])}P.hoverData.draggingEles=!0,g.silentShift(S).emit(x("position")).emit(x("drag")),P.redrawHint("drag",!0),P.redraw()}}else 0===(T=P.hoverData.dragDelta=P.hoverData.dragDelta||[]).length?(T.push(p[0]),T.push(p[1])):(T[0]+=p[0],T[1]+=p[1]);r=!0}if(c[2]=s[0],c[3]=s[1],r)return e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1}},!1),P.registerBinding(S,"mouseup",function(e){if((1!==P.hoverData.which||1===e.which||!P.hoverData.capture)&&P.hoverData.capture){P.hoverData.capture=!1;var i=P.cy,a=P.projectIntoViewport(e.clientX,e.clientY),o=P.selection,s=P.findNearestElement(a[0],a[1],!0,!1),l=P.dragData.possibleDragElements,u=P.hoverData.down,c=_(e);P.data.bgActivePosistion&&(P.redrawHint("select",!0),P.redraw()),P.hoverData.tapholdCancelled=!0,P.data.bgActivePosistion=void 0,u&&u.unactivate();var d=function(t){return{originalEvent:e,type:t,position:{x:a[0],y:a[1]}}};if(3===P.hoverData.which){var h=d("cxttapend");if(u?u.emit(h):i.emit(h),!P.hoverData.cxtDragged){var f=d("cxttap");u?u.emit(f):i.emit(f)}P.hoverData.cxtDragged=!1,P.hoverData.which=null}else if(1===P.hoverData.which){if(D(s,["mouseup","tapend","vmouseup"],e,{x:a[0],y:a[1]}),P.dragData.didDrag||P.hoverData.dragged||P.hoverData.selecting||P.hoverData.isOverThresholdDrag||(D(u,["click","tap","vclick"],e,{x:a[0],y:a[1]}),n=!1,e.timeStamp-r<=i.multiClickDebounceTime()?(t&&clearTimeout(t),n=!0,r=null,D(u,["dblclick","dbltap","vdblclick"],e,{x:a[0],y:a[1]})):(t=setTimeout(function(){n||D(u,["oneclick","onetap","voneclick"],e,{x:a[0],y:a[1]})},i.multiClickDebounceTime()),r=e.timeStamp)),null!=u||P.dragData.didDrag||P.hoverData.selecting||P.hoverData.dragged||_(e)||(i.$(B).unselect(["tapunselect"]),l.length>0&&P.redrawHint("eles",!0),P.dragData.possibleDragElements=l=i.collection()),s!=u||P.dragData.didDrag||P.hoverData.selecting||null==s||!s._private.selectable||(P.hoverData.dragging||("additive"===i.selectionType()||c?s.selected()?s.unselect(["tapunselect"]):s.select(["tapselect"]):c||(i.$(B).unmerge(s).unselect(["tapunselect"]),s.select(["tapselect"]))),P.redrawHint("eles",!0)),P.hoverData.selecting){var p=i.collection(P.getAllInBox(o[0],o[1],o[2],o[3]));P.redrawHint("select",!0),p.length>0&&P.redrawHint("eles",!0),i.emit(d("boxend"));"additive"===i.selectionType()||c||i.$(B).unmerge(p).unselect(),p.emit(d("box")).stdFilter(function(e){return e.selectable()&&!e.selected()}).select().emit(d("boxselect")),P.redraw()}if(P.hoverData.dragging&&(P.hoverData.dragging=!1,P.redrawHint("select",!0),P.redrawHint("eles",!0),P.redraw()),!o[4]){P.redrawHint("drag",!0),P.redrawHint("eles",!0);var g=u&&u.grabbed();F(l),g&&(u.emit(d("freeon")),l.emit(d("free")),P.dragData.didDrag&&(u.emit(d("dragfreeon")),l.emit(d("dragfree"))))}}o[4]=0,P.hoverData.down=null,P.hoverData.cxtStarted=!1,P.hoverData.draggingEles=!1,P.hoverData.selecting=!1,P.hoverData.isOverThresholdDrag=!1,P.dragData.didDrag=!1,P.hoverData.dragged=!1,P.hoverData.dragDelta=[],P.hoverData.mdownPos=null,P.hoverData.mdownGPos=null,P.hoverData.which=null}},!1);var Z=[],$=1e5,Q=function(e){for(var t=Math.abs(e[0]),n=1;n<e.length;n++)if(Math.abs(e[n])!==t)return!1;return!0},J=function(e){var t=!1,n=e.deltaY;if((null==n&&(null!=e.wheelDeltaY?n=e.wheelDeltaY/4:null!=e.wheelDelta&&(n=e.wheelDelta/4)),0!==n)&&(null==i?Z.length>=4?(i=!1,Z[0]>=5&&(u=Q(Z)?Z[0]:td(Z))>1&&(i=!0,$=u)):(Z.push(Math.abs(n)),t=!0):i&&($=Math.min(Math.abs(n),$)),!P.scrollingPage)){var r=P.cy,a=r.zoom(),o=r.pan(),s=P.projectIntoViewport(e.clientX,e.clientY),l=[s[0]*a+o.x,s[1]*a+o.y];if(P.hoverData.draggingEles||P.hoverData.dragging||P.hoverData.cxtStarted||0!==P.selection[4])return void e.preventDefault();if(r.panningEnabled()&&r.userPanningEnabled()&&r.zoomingEnabled()&&r.userZoomingEnabled()){e.preventDefault(),P.data.wheelZooming=!0,clearTimeout(P.data.wheelTimeout),P.data.wheelTimeout=setTimeout(function(){P.data.wheelZooming=!1,P.redrawHint("eles",!0),P.redraw()},150),t&&Math.abs(n)>5&&(n=5*tp(n)),c=-(n/250),i&&(c/=$,c*=3),c*=P.wheelSensitivity,1===e.deltaMode&&(c*=33);var u,c,d=r.zoom()*Math.pow(10,c);"gesturechange"===e.type&&(d=P.gestureStartZoom*e.scale),r.zoom({level:d,renderedPosition:{x:l[0],y:l[1]}}),r.emit({type:"gesturechange"===e.type?"pinchzoom":"scrollzoom",originalEvent:e,position:{x:s[0],y:s[1]}})}}};P.registerBinding(P.container,"wheel",J,!0),P.registerBinding(S,"scroll",function(e){P.scrollingPage=!0,clearTimeout(P.scrollingPageTimeout),P.scrollingPageTimeout=setTimeout(function(){P.scrollingPage=!1},250)},!0),P.registerBinding(P.container,"gesturestart",function(e){P.gestureStartZoom=P.cy.zoom(),P.hasTouchStarted||e.preventDefault()},!0),P.registerBinding(P.container,"gesturechange",function(e){P.hasTouchStarted||J(e)},!0),P.registerBinding(P.container,"mouseout",function(e){var t=P.projectIntoViewport(e.clientX,e.clientY);P.cy.emit({originalEvent:e,type:"mouseout",position:{x:t[0],y:t[1]}})},!1),P.registerBinding(P.container,"mouseover",function(e){var t=P.projectIntoViewport(e.clientX,e.clientY);P.cy.emit({originalEvent:e,type:"mouseover",position:{x:t[0],y:t[1]}})},!1);var ee=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},et=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(P.registerBinding(P.container,"touchstart",b=function(e){if(P.hasTouchStarted=!0,K(e)){j(),P.touchData.capture=!0,P.data.bgActivePosistion=void 0;var t=P.cy,n=P.touchData.now,r=P.touchData.earlier;if(e.touches[0]){var i=P.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);n[0]=i[0],n[1]=i[1]}if(e.touches[1]){var i=P.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);n[2]=i[0],n[3]=i[1]}if(e.touches[2]){var i=P.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);n[4]=i[0],n[5]=i[1]}var b=function(t){return{originalEvent:e,type:t,position:{x:n[0],y:n[1]}}};if(e.touches[1]){P.touchData.singleTouchMoved=!0,F(P.dragData.touchDragEles);var x=P.findContainerClientCoords();f=x[0],p=x[1],g=x[2],v=x[3],a=e.touches[0].clientX-f,o=e.touches[0].clientY-p,s=e.touches[1].clientX-f,l=e.touches[1].clientY-p,y=0<=a&&a<=g&&0<=s&&s<=g&&0<=o&&o<=v&&0<=l&&l<=v;var w=t.pan(),E=t.zoom();if(u=ee(a,o,s,l),c=et(a,o,s,l),h=[((d=[(a+s)/2,(o+l)/2])[0]-w.x)/E,(d[1]-w.y)/E],c<4e4&&!e.touches[2]){var k=P.findNearestElement(n[0],n[1],!0,!0),T=P.findNearestElement(n[2],n[3],!0,!0);k&&k.isNode()?(k.activate().emit(b("cxttapstart")),P.touchData.start=k):T&&T.isNode()?(T.activate().emit(b("cxttapstart")),P.touchData.start=T):t.emit(b("cxttapstart")),P.touchData.start&&(P.touchData.start._private.grabbed=!1),P.touchData.cxt=!0,P.touchData.cxtDragged=!1,P.data.bgActivePosistion=void 0,P.redraw();return}}if(e.touches[2])t.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var C=P.findNearestElements(n[0],n[1],!0,!0),S=C[0];if(null!=S&&(S.activate(),P.touchData.start=S,P.touchData.starts=C,P.nodeIsGrabbable(S))){var B=P.dragData.touchDragEles=t.collection(),_=null;P.redrawHint("eles",!0),P.redrawHint("drag",!0),S.selected()?V(_=t.$(function(e){return e.selected()&&P.nodeIsGrabbable(e)}),{addToList:B}):V(S,{addToList:B}),L(S),S.emit(b("grabon")),_?_.forEach(function(e){e.emit(b("grab"))}):S.emit(b("grab"))}D(S,["touchstart","tapstart","vmousedown"],e,{x:n[0],y:n[1]}),null==S&&(P.data.bgActivePosistion={x:i[0],y:i[1]},P.redrawHint("select",!0),P.redraw()),P.touchData.singleTouchMoved=!1,P.touchData.singleTouchStartTime=+new Date,clearTimeout(P.touchData.tapholdTimeout),P.touchData.tapholdTimeout=setTimeout(function(){!1!==P.touchData.singleTouchMoved||P.pinching||P.touchData.selecting||D(P.touchData.start,["taphold"],e,{x:n[0],y:n[1]})},P.tapholdDuration)}if(e.touches.length>=1){for(var A=P.touchData.startPosition=[null,null,null,null,null,null],M=0;M<n.length;M++)A[M]=r[M]=n[M];var R=e.touches[0];P.touchData.startGPosition=[R.clientX,R.clientY]}}},!1),P.registerBinding(S,"touchmove",x=function(e){var t=P.touchData.capture;if(t||K(e)){var n=P.selection,r=P.cy,i=P.touchData.now,d=P.touchData.earlier,g=r.zoom();if(e.touches[0]){var v=P.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=v[0],i[1]=v[1]}if(e.touches[1]){var v=P.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);i[2]=v[0],i[3]=v[1]}if(e.touches[2]){var v=P.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);i[4]=v[0],i[5]=v[1]}var b=function(t){return{originalEvent:e,type:t,position:{x:i[0],y:i[1]}}},x=P.touchData.startGPosition;if(t&&e.touches[0]&&x){for(var w=[],E=0;E<i.length;E++)w[E]=i[E]-d[E];var k=e.touches[0].clientX-x[0],T=k*k,C=e.touches[0].clientY-x[1];ei=T+C*C>=P.touchTapThreshold2}if(t&&P.touchData.cxt){e.preventDefault();var S=e.touches[0].clientX-f,B=e.touches[0].clientY-p,_=e.touches[1].clientX-f,R=e.touches[1].clientY-p,I=et(S,B,_,R);if(I/c>=2.25||I>=22500){P.touchData.cxt=!1,P.data.bgActivePosistion=void 0,P.redrawHint("select",!0);var L=b("cxttapend");P.touchData.start?(P.touchData.start.unactivate().emit(L),P.touchData.start=null):r.emit(L)}}if(t&&P.touchData.cxt){var L=b("cxtdrag");P.data.bgActivePosistion=void 0,P.redrawHint("select",!0),P.touchData.start?P.touchData.start.emit(L):r.emit(L),P.touchData.start&&(P.touchData.start._private.grabbed=!1),P.touchData.cxtDragged=!0;var N=P.findNearestElement(i[0],i[1],!0,!0);(!P.touchData.cxtOver||N!==P.touchData.cxtOver)&&(P.touchData.cxtOver&&P.touchData.cxtOver.emit(b("cxtdragout")),P.touchData.cxtOver=N,N&&N.emit(b("cxtdragover")))}else if(t&&e.touches[2]&&r.boxSelectionEnabled())e.preventDefault(),P.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,P.touchData.selecting||r.emit(b("boxstart")),P.touchData.selecting=!0,P.touchData.didSelect=!0,n[4]=1,n&&0!==n.length&&void 0!==n[0]?(n[2]=(i[0]+i[2]+i[4])/3,n[3]=(i[1]+i[3]+i[5])/3):(n[0]=(i[0]+i[2]+i[4])/3,n[1]=(i[1]+i[3]+i[5])/3,n[2]=(i[0]+i[2]+i[4])/3+1,n[3]=(i[1]+i[3]+i[5])/3+1),P.redrawHint("select",!0),P.redraw();else if(t&&e.touches[1]&&!P.touchData.didSelect&&r.zoomingEnabled()&&r.panningEnabled()&&r.userZoomingEnabled()&&r.userPanningEnabled()){e.preventDefault(),P.data.bgActivePosistion=void 0,P.redrawHint("select",!0);var z=P.dragData.touchDragEles;if(z){P.redrawHint("drag",!0);for(var O=0;O<z.length;O++){var X=z[O]._private;X.grabbed=!1,X.rscratch.inDragLayer=!1}}var j=P.touchData.start,S=e.touches[0].clientX-f,B=e.touches[0].clientY-p,_=e.touches[1].clientX-f,R=e.touches[1].clientY-p,Y=ee(S,B,_,R),q=Y/u;if(y){var W=S-a,U=B-o,H=_-s,G=R-l,Z=r.zoom(),$=Z*q,Q=r.pan(),J=h[0]*Z+Q.x,en=h[1]*Z+Q.y,er={x:-$/Z*(J-Q.x-(W+H)/2)+J,y:-$/Z*(en-Q.y-(U+G)/2)+en};if(j&&j.active()){var z=P.dragData.touchDragEles;F(z),P.redrawHint("drag",!0),P.redrawHint("eles",!0),j.unactivate().emit(b("freeon")),z&&z.emit(b("free")),P.dragData.didDrag&&(j.emit(b("dragfreeon")),z&&z.emit(b("dragfree")))}r.viewport({zoom:$,pan:er,cancelOnFailedZoom:!0}),r.emit(b("pinchzoom")),u=Y,a=S,o=B,s=_,l=R,P.pinching=!0}if(e.touches[0]){var v=P.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=v[0],i[1]=v[1]}if(e.touches[1]){var v=P.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);i[2]=v[0],i[3]=v[1]}if(e.touches[2]){var v=P.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);i[4]=v[0],i[5]=v[1]}}else if(e.touches[0]&&!P.touchData.didSelect){var ei,N,ea=P.touchData.start,eo=P.touchData.last;if(P.hoverData.draggingEles||P.swipePanning||(N=P.findNearestElement(i[0],i[1],!0,!0)),t&&null!=ea&&e.preventDefault(),t&&null!=ea&&P.nodeIsDraggable(ea))if(ei){var z=P.dragData.touchDragEles,es=!P.dragData.didDrag;es&&V(z,{inDragLayer:!0}),P.dragData.didDrag=!0;var el={x:0,y:0};if(M(w[0])&&M(w[1])&&(el.x+=w[0],el.y+=w[1],es)){P.redrawHint("eles",!0);var eu=P.touchData.dragDelta;eu&&M(eu[0])&&M(eu[1])&&(el.x+=eu[0],el.y+=eu[1])}P.hoverData.draggingEles=!0,z.silentShift(el).emit(b("position")).emit(b("drag")),P.redrawHint("drag",!0),P.touchData.startPosition[0]==d[0]&&P.touchData.startPosition[1]==d[1]&&P.redrawHint("eles",!0),P.redraw()}else{var eu=P.touchData.dragDelta=P.touchData.dragDelta||[];0===eu.length?(eu.push(w[0]),eu.push(w[1])):(eu[0]+=w[0],eu[1]+=w[1])}if(D(ea||N,["touchmove","tapdrag","vmousemove"],e,{x:i[0],y:i[1]}),ea&&ea.grabbed()||N==eo||(eo&&eo.emit(b("tapdragout")),N&&N.emit(b("tapdragover"))),P.touchData.last=N,t)for(var O=0;O<i.length;O++)i[O]&&P.touchData.startPosition[O]&&ei&&(P.touchData.singleTouchMoved=!0);if(t&&(null==ea||ea.pannable())&&r.panningEnabled()&&r.userPanningEnabled()){A(ea,P.touchData.starts)&&(e.preventDefault(),P.data.bgActivePosistion||(P.data.bgActivePosistion=ta(P.touchData.startPosition)),P.swipePanning?(r.panBy({x:w[0]*g,y:w[1]*g}),r.emit(b("dragpan"))):ei&&(P.swipePanning=!0,r.panBy({x:k*g,y:C*g}),r.emit(b("dragpan")),ea&&(ea.unactivate(),P.redrawHint("select",!0),P.touchData.start=null)));var v=P.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=v[0],i[1]=v[1]}}for(var E=0;E<i.length;E++)d[E]=i[E];t&&e.touches.length>0&&!P.hoverData.draggingEles&&!P.swipePanning&&null!=P.data.bgActivePosistion&&(P.data.bgActivePosistion=void 0,P.redrawHint("select",!0),P.redraw())}},!1),P.registerBinding(S,"touchcancel",w=function(e){var t=P.touchData.start;P.touchData.capture=!1,t&&t.unactivate()}),P.registerBinding(S,"touchend",E=function(e){var t,n=P.touchData.start;if(P.touchData.capture){0===e.touches.length&&(P.touchData.capture=!1),e.preventDefault();var r=P.selection;P.swipePanning=!1,P.hoverData.draggingEles=!1;var i=P.cy,a=i.zoom(),o=P.touchData.now,s=P.touchData.earlier;if(e.touches[0]){var l=P.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);o[0]=l[0],o[1]=l[1]}if(e.touches[1]){var l=P.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);o[2]=l[0],o[3]=l[1]}if(e.touches[2]){var l=P.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);o[4]=l[0],o[5]=l[1]}var u=function(t){return{originalEvent:e,type:t,position:{x:o[0],y:o[1]}}};if(n&&n.unactivate(),P.touchData.cxt){if(t=u("cxttapend"),n?n.emit(t):i.emit(t),!P.touchData.cxtDragged){var c=u("cxttap");n?n.emit(c):i.emit(c)}P.touchData.start&&(P.touchData.start._private.grabbed=!1),P.touchData.cxt=!1,P.touchData.start=null,P.redraw();return}if(!e.touches[2]&&i.boxSelectionEnabled()&&P.touchData.selecting){P.touchData.selecting=!1;var d=i.collection(P.getAllInBox(r[0],r[1],r[2],r[3]));r[0]=void 0,r[1]=void 0,r[2]=void 0,r[3]=void 0,r[4]=0,P.redrawHint("select",!0),i.emit(u("boxend")),d.emit(u("box")).stdFilter(function(e){return e.selectable()&&!e.selected()}).select().emit(u("boxselect")),d.nonempty()&&P.redrawHint("eles",!0),P.redraw()}if(null!=n&&n.unactivate(),e.touches[2])P.data.bgActivePosistion=void 0,P.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){P.data.bgActivePosistion=void 0,P.redrawHint("select",!0);var h=P.dragData.touchDragEles;if(null!=n){var f=n._private.grabbed;F(h),P.redrawHint("drag",!0),P.redrawHint("eles",!0),f&&(n.emit(u("freeon")),h.emit(u("free")),P.dragData.didDrag&&(n.emit(u("dragfreeon")),h.emit(u("dragfree")))),D(n,["touchend","tapend","vmouseup","tapdragout"],e,{x:o[0],y:o[1]}),n.unactivate(),P.touchData.start=null}else D(P.findNearestElement(o[0],o[1],!0,!0),["touchend","tapend","vmouseup","tapdragout"],e,{x:o[0],y:o[1]});var p=P.touchData.startPosition[0]-o[0],g=P.touchData.startPosition[1]-o[1];P.touchData.singleTouchMoved||(n||i.$(":selected").unselect(["tapunselect"]),D(n,["tap","vclick"],e,{x:o[0],y:o[1]}),k=!1,e.timeStamp-C<=i.multiClickDebounceTime()?(T&&clearTimeout(T),k=!0,C=null,D(n,["dbltap","vdblclick"],e,{x:o[0],y:o[1]})):(T=setTimeout(function(){k||D(n,["onetap","voneclick"],e,{x:o[0],y:o[1]})},i.multiClickDebounceTime()),C=e.timeStamp)),null!=n&&!P.dragData.didDrag&&n._private.selectable&&(p*p+g*g)*a*a<P.touchTapThreshold2&&!P.pinching&&("single"===i.selectionType()?(i.$(B).unmerge(n).unselect(["tapunselect"]),n.select(["tapselect"])):n.selected()?n.unselect(["tapunselect"]):n.select(["tapselect"]),P.redrawHint("eles",!0)),P.touchData.singleTouchMoved=!0}for(var v=0;v<o.length;v++)s[v]=o[v];P.dragData.didDrag=!1,0===e.touches.length&&(P.touchData.dragDelta=[],P.touchData.startPosition=[null,null,null,null,null,null],P.touchData.startGPosition=null,P.touchData.didSelect=!1),e.touches.length<2&&(1===e.touches.length&&(P.touchData.startGPosition=[e.touches[0].clientX,e.touches[0].clientY]),P.pinching=!1,P.redrawHint("eles",!0),P.redraw())}},!1),"u"<typeof TouchEvent){var en=[],er=function(e){return{clientX:e.clientX,clientY:e.clientY,force:1,identifier:e.pointerId,pageX:e.pageX,pageY:e.pageY,radiusX:e.width/2,radiusY:e.height/2,screenX:e.screenX,screenY:e.screenY,target:e.target}},ei=function(e){en.push({event:e,touch:er(e)})},ea=function(e){for(var t=0;t<en.length;t++)if(en[t].event.pointerId===e.pointerId)return void en.splice(t,1)},eo=function(e){var t=en.filter(function(t){return t.event.pointerId===e.pointerId})[0];t.event=e,t.touch=er(e)},es=function(e){e.touches=en.map(function(e){return e.touch})},el=function(e){return"mouse"===e.pointerType||4===e.pointerType};P.registerBinding(P.container,"pointerdown",function(e){el(e)||(e.preventDefault(),ei(e),es(e),b(e))}),P.registerBinding(P.container,"pointerup",function(e){el(e)||(ea(e),es(e),E(e))}),P.registerBinding(P.container,"pointercancel",function(e){el(e)||(ea(e),es(e),w(e))}),P.registerBinding(P.container,"pointermove",function(e){el(e)||(e.preventDefault(),eo(e),es(e),x(e))})}};var l4={};l4.generatePolygon=function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl("polygon",e,t,n,r,i,this.points)},intersectLine:function(e,t,n,r,i,a,o,s){return tQ(i,a,this.points,e,t,n/2,r/2,o)},checkPoint:function(e,t,n,r,i,a,o,s){return tj(e,t,this.points,a,o,r,i,[0,-1],n)},hasMiterBounds:"rectangle"!==e,miterBounds:function(e,t,n,r,i,a){var o,s,l;return o=this.points,s=function(e,t){if(e.length<3)throw Error("Need at least 3 vertices");var n=function(e,t){return{x:e.x+t.x,y:e.y+t.y}},r=function(e,t){return{x:e.x-t.x,y:e.y-t.y}},i=function(e,t){return{x:e.x*t,y:e.y*t}},a=function(e,t){return e.x*t.y-e.y*t.x},o=e.map(function(e){return{x:e.x,y:e.y}});0>function(e){for(var t=0,n=0;n<e.length;n++){var r=e[n],i=e[(n+1)%e.length];t+=r.x*i.y-i.x*r.y}return t/2}(o)&&o.reverse();for(var s=o.length,l=[],u=0;u<s;u++){var c=o[u],d=r(o[(u+1)%s],c),h=function(e){var t=tR(e.x,e.y);return 0===t?{x:0,y:0}:{x:e.x/t,y:e.y/t}}({x:d.y,y:-d.x});l.push(h)}for(var f=l.map(function(e,r){return{p1:n(o[r],i(e,t)),p2:n(o[(r+1)%s],i(e,t))}}),p=[],g=0;g<s;g++){var v=f[(g-1+s)%s],y=f[g],b=function(e,t,o,s){var l=r(t,e),u=r(s,o),c=a(l,u);if(1e-9>Math.abs(c))return n(e,i(l,.5));var d=a(r(o,e),u)/c;return n(e,i(l,d))}(v.p1,v.p2,y.p1,y.p2);p.push(b)}return p}(t$(o,e,t,n,r),i),l=tE(),s.forEach(function(e){return tC(l,e.x,e.y)}),l}}},l4.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o,s){return tU(i,a,e,t,n/2+o,r/2+o)},checkPoint:function(e,t,n,r,i,a,o,s){return tH(e,t,r,i,a,o,n)}}},l4.generateRoundPolygon=function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,getOrCreateCorners:function(e,n,r,i,a,o,s){if(void 0!==o[s]&&o[s+"-cx"]===e&&o[s+"-cy"]===n&&o[s+"-w"]===r&&o[s+"-h"]===i&&o[s+"-corner-radius"]===a)return o[s];o[s]=Array(t.length/2),o[s+"-cx"]=e,o[s+"-cy"]=n,o[s+"-w"]=r,o[s+"-h"]=i,o[s+"-corner-radius"]=a;var l=r/2,u=i/2;a="auto"===a?t4(r,i):a;for(var c=Array(t.length/2),d=0;d<t.length/2;d++)c[d]={x:e+l*t[2*d],y:n+u*t[2*d+1]};var h,f,p,g,v=c.length;for(h=0,f=c[v-1];h<v;h++)p=c[h%v],g=c[(h+1)%v],o[s][h]=lV(f,p,g,a),f=p,p=g;return o[s]},draw:function(e,t,n,r,i,a,o){this.renderer.nodeShapeImpl("round-polygon",e,t,n,r,i,this.points,this.getOrCreateCorners(t,n,r,i,a,o,"drawCorners"))},intersectLine:function(e,t,n,r,i,a,o,s,l){return tJ(i,a,this.points,e,t,n,r,o,this.getOrCreateCorners(e,t,n,r,s,l,"corners"))},checkPoint:function(e,t,n,r,i,a,o,s,l){return tY(e,t,this.points,a,o,r,i,this.getOrCreateCorners(a,o,r,i,s,l,"corners"))}}},l4.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:t1(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,this.points,a)},intersectLine:function(e,t,n,r,i,a,o,s){return tI(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var l=r/2,u=i/2,c=2*(s=Math.min(l,u,s="auto"===s?t3(r,i):s));return!!(tj(e,t,this.points,a,o,r,i-c,[0,-1],n)||tj(e,t,this.points,a,o,r-c,i,[0,-1],n)||tH(e,t,c,c,a-l+s,o-u+s,n)||tH(e,t,c,c,a+l-s,o-u+s,n)||tH(e,t,c,c,a+l-s,o+u-s,n)||tH(e,t,c,c,a-l+s,o+u-s,n))}}},l4.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:t9(),points:t1(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,null,a)},generateCutTrianglePts:function(e,t,n,r,i){var a="auto"===i?this.cornerLength:i,o=t/2,s=e/2,l=n-s,u=n+s,c=r-o,d=r+o;return{topLeft:[l,c+a,l+a,c,l+a,c+a],topRight:[u-a,c,u,c+a,u-a,c+a],bottomRight:[u,d-a,u-a,d,u-a,d-a],bottomLeft:[l+a,d,l,d-a,l+a,d-a]}},intersectLine:function(e,t,n,r,i,a,o,s){var l=this.generateCutTrianglePts(n+2*o,r+2*o,e,t,s);return tQ(i,a,[].concat.apply([],[l.topLeft.splice(0,4),l.topRight.splice(0,4),l.bottomRight.splice(0,4),l.bottomLeft.splice(0,4)]),e,t)},checkPoint:function(e,t,n,r,i,a,o,s){var l="auto"===s?this.cornerLength:s;if(tj(e,t,this.points,a,o,r,i-2*l,[0,-1],n)||tj(e,t,this.points,a,o,r-2*l,i,[0,-1],n))return!0;var u=this.generateCutTrianglePts(r,i,a,o);return tX(e,t,u.topLeft)||tX(e,t,u.topRight)||tX(e,t,u.bottomRight)||tX(e,t,u.bottomLeft)}}},l4.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:t1(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o,s){var l=this.generateBarrelBezierPts(n+2*o,r+2*o,e,t),u=function(e){var t=tb({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.15),n=tb({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.5),r=tb({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.85);return[e[0],e[1],t.x,t.y,n.x,n.y,r.x,r.y,e[4],e[5]]};return tQ(i,a,[].concat(u(l.topLeft),u(l.topRight),u(l.bottomRight),u(l.bottomLeft)),e,t)},generateBarrelBezierPts:function(e,t,n,r){var i=t/2,a=e/2,o=n-a,s=n+a,l=r-i,u=r+i,c=t6(e,t),d=c.heightOffset,h=c.widthOffset,f=c.ctrlPtOffsetPct*e,p={topLeft:[o,l+d,o+f,l,o+h,l],topRight:[s-h,l,s-f,l,s,l+d],bottomRight:[s,u-d,s-f,u,s-h,u],bottomLeft:[o+h,u,o+f,u,o,u-d]};return p.topLeft.isTop=!0,p.topRight.isTop=!0,p.bottomLeft.isBottom=!0,p.bottomRight.isBottom=!0,p},checkPoint:function(e,t,n,r,i,a,o,s){var l=t6(r,i),u=l.heightOffset,c=l.widthOffset;if(tj(e,t,this.points,a,o,r,i-2*u,[0,-1],n)||tj(e,t,this.points,a,o,r-2*c,i,[0,-1],n))return!0;for(var d=this.generateBarrelBezierPts(r,i,a,o),h=Object.keys(d),f=0;f<h.length;f++){var p=d[h[f]],g=function(e,t,n){var r=n[4],i=n[2],a=n[0],o=n[5],s=n[1],l=Math.min(r,a),u=Math.max(r,a),c=Math.min(o,s),d=Math.max(o,s);if(l<=e&&e<=u&&c<=t&&t<=d){var h=[r-2*i+a,2*(i-r),r],f=tz(h[0],h[1],h[2],e).filter(function(e){return 0<=e&&e<=1});if(f.length>0)return f[0]}return null}(e,t,p);if(null!=g){var v=tm(p[5],p[3],p[1],g);if(p.isTop&&v<=t||p.isBottom&&t<=v)return!0}}return!1}}},l4.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:t1(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,this.points,a)},intersectLine:function(e,t,n,r,i,a,o,s){var l=e-(n/2+o),u=t-(r/2+o),c=e+(n/2+o),d=tZ(i,a,e,t,l,u,c,u,!1);return d.length>0?d:tI(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var l=2*(s="auto"===s?t3(r,i):s);if(tj(e,t,this.points,a,o,r,i-l,[0,-1],n)||tj(e,t,this.points,a,o,r-l,i,[0,-1],n))return!0;var u=r/2+2*n,c=i/2+2*n;return!!(tX(e,t,[a-u,o-c,a-u,o,a+u,o,a+u,o-c])||tH(e,t,l,l,a+r/2-s,o+i/2-s,n)||tH(e,t,l,l,a-r/2+s,o+i/2-s,n))}}},l4.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",t1(3,0)),this.generateRoundPolygon("round-triangle",t1(3,0)),this.generatePolygon("rectangle",t1(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",t1(5,0)),this.generateRoundPolygon("round-pentagon",t1(5,0)),this.generatePolygon("hexagon",t1(6,0)),this.generateRoundPolygon("round-hexagon",t1(6,0)),this.generatePolygon("heptagon",t1(7,0)),this.generateRoundPolygon("round-heptagon",t1(7,0)),this.generatePolygon("octagon",t1(8,0)),this.generateRoundPolygon("round-octagon",t1(8,0));var r=Array(20),i=t5(5,0),a=t5(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s<a.length/2;s++)a[2*s]*=o,a[2*s+1]*=o;for(var s=0;s<5;s++)r[4*s]=i[2*s],r[4*s+1]=i[2*s+1],r[4*s+2]=a[2*s],r[4*s+3]=a[2*s+1];r=t2(r),this.generatePolygon("star",r),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);var l=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",l),this.generateRoundPolygon("round-tag",l),e.makePolygon=function(e){var n,r="polygon-"+e.join("$");return(n=this[r])?n:t.generatePolygon(r,e)}};var l9={};l9.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},l9.redraw=function(e){e=e||eY(),void 0===this.averageRedrawTime&&(this.averageRedrawTime=0),void 0===this.lastRedrawTime&&(this.lastRedrawTime=0),void 0===this.lastDrawTime&&(this.lastDrawTime=0),this.requestedFrame=!0,this.renderOptions=e},l9.beforeRender=function(e,t){if(!this.destroyed){null==t&&ez("Priority is not optional for beforeRender");var n=this.beforeRenderCallbacks;n.push({fn:e,priority:t}),n.sort(function(e,t){return t.priority-e.priority})}};var l6=function(e,t,n){for(var r=e.beforeRenderCallbacks,i=0;i<r.length;i++)r[i].fn(t,n)};l9.startRenderLoop=function(){var e=this,t=e.cy;if(!e.renderLoopStarted){e.renderLoopStarted=!0;var n=function(r){if(!e.destroyed){if(t.batching());else if(e.requestedFrame&&!e.skipFrame){l6(e,!0,r);var i=ey();e.render(e.renderOptions);var a=e.lastDrawTime=ey();void 0===e.averageRedrawTime&&(e.averageRedrawTime=a-i),void 0===e.redrawCount&&(e.redrawCount=0),e.redrawCount++,void 0===e.redrawTotalTime&&(e.redrawTotalTime=0);var o=a-i;e.redrawTotalTime+=o,e.lastRedrawTime=o,e.averageRedrawTime=e.averageRedrawTime/2+o/2,e.requestedFrame=!1}else l6(e,!1,r);e.skipFrame=!1,eb(n)}};eb(n)}};var l8=function(e){this.init(e)},l7=l8.prototype;l7.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],l7.init=function(e){this.options=e,this.cy=e.cy;var t=this.container=e.cy.container(),n=this.cy.window();if(n){var r=n.document,i=r.head,a="__________cytoscape_stylesheet",o="__________cytoscape_container",s=null!=r.getElementById(a);if(0>t.className.indexOf(o)&&(t.className=(t.className||"")+" "+o),!s){var l=r.createElement("style");l.id=a,l.textContent="."+o+" { position: relative; }",i.insertBefore(l,i.children[0])}"static"===n.getComputedStyle(t).getPropertyValue("position")&&eV("A Cytoscape container has style position:static and so can not use UI extensions properly")}this.selection=[void 0,void 0,void 0,void 0,0],this.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],this.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},this.dragData={possibleDragElements:[]},this.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},this.redraws=0,this.showFps=e.showFps,this.debug=e.debug,this.webgl=e.webgl,this.hideEdgesOnViewport=e.hideEdgesOnViewport,this.textureOnViewport=e.textureOnViewport,this.wheelSensitivity=e.wheelSensitivity,this.motionBlurEnabled=e.motionBlur,this.forcedPixelRatio=M(e.pixelRatio)?e.pixelRatio:null,this.motionBlur=e.motionBlur,this.motionBlurOpacity=e.motionBlurOpacity,this.motionBlurTransparency=1-this.motionBlurOpacity,this.motionBlurPxRatio=1,this.mbPxRBlurry=1,this.minMbLowQualFrames=4,this.fullQualityMb=!1,this.clearedForMotionBlur=[],this.desktopTapThreshold=e.desktopTapThreshold,this.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,this.touchTapThreshold=e.touchTapThreshold,this.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,this.tapholdDuration=500,this.bindings=[],this.beforeRenderCallbacks=[],this.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},this.registerNodeShapes(),this.registerArrowShapes(),this.registerCalculationListeners()},l7.notify=function(e,t){var n=this.cy;if(!this.destroyed){if("init"===e)return void this.load();if("destroy"===e)return void this.destroy();("add"===e||"remove"===e||"move"===e&&n.hasCompoundNodes()||"load"===e||"zorder"===e||"mount"===e)&&this.invalidateCachedZSortedEles(),"viewport"===e&&this.redrawHint("select",!0),"gc"===e&&this.redrawHint("gc",!0),("load"===e||"resize"===e||"mount"===e)&&(this.invalidateContainerClientCoordsCache(),this.matchCanvasSize(this.container)),this.redrawHint("eles",!0),this.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},l7.destroy=function(){this.destroyed=!0,this.cy.stopAnimationLoop();for(var e=0;e<this.bindings.length;e++){var t=this.bindings[e],n=t.target;(n.off||n.removeEventListener).apply(n,t.args)}if(this.bindings=[],this.beforeRenderCallbacks=[],this.onUpdateEleCalcsFns=[],this.removeObserver&&this.removeObserver.disconnect(),this.styleObserver&&this.styleObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect(),this.labelCalcDiv)try{document.body.removeChild(this.labelCalcDiv)}catch(e){}},l7.isHeadless=function(){return!1},[a7,lJ,l0,l3,l4,l9].forEach(function(e){ee(l7,e)});var ue=1e3/60,ut=function(e){return function(){var t=this,n=this.renderer;if(!t.dequeueingSetup){t.dequeueingSetup=!0;var r=eg(function(){n.redrawHint("eles",!0),n.redrawHint("drag",!0),n.redraw()},e.deqRedrawThreshold),i=e.priority||eN;n.beforeRender(function(i,a){var o=ey(),s=n.averageRedrawTime,l=n.lastRedrawTime,u=[],c=n.cy.extent(),d=n.getPixelRatio();for(i||n.flushRenderedStyleQueue();;){var h=ey(),f=h-o,p=h-a;if(l<ue){var g=ue-(i?s:0);if(p>=e.deqFastCost*g)break}else if(i){if(f>=e.deqCost*l||f>=e.deqAvgCost*s)break}else if(p>=e.deqNoDrawCost*ue)break;var v=e.deq(t,d,c);if(v.length>0)for(var y=0;y<v.length;y++)u.push(v[y]);else break}u.length>0&&(e.onDeqd(t,u),!i&&e.shouldRedraw(t,u,d,c)&&r())},i(t))}}},un=a(function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:eI;i(this,e),this.idsByKey=new e$,this.keyForId=new e$,this.cachesByLvl=new e$,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n},[{key:"getIdsFor",value:function(e){null==e&&ez("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new eJ,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new e$,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach(function(n){return t.deleteCache(e,n)})}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),ur={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},ui=eq({getKey:null,doesEleInvalidateKey:eI,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:eR,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ua=function(e,t){this.renderer=e,this.onDequeues=[];var n=ui(t);ee(this,n),this.lookup=new un(n.getKey,n.doesEleInvalidateKey),this.setupDequeueing()},uo=ua.prototype;uo.reasons=ur,uo.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},uo.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},uo.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new e4(function(e,t){return t.reqs-e.reqs})},uo.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},uo.getElement=function(e,t,n,r,i){var a,o,s,l=this,u=this.renderer,c=u.cy.zoom(),d=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed()||!l.allowEdgeTxrCaching&&e.isEdge()||!l.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(tf(c*n))),r<-4)r=-4;else if(c>=7.99||r>3)return null;var h=Math.pow(2,r),f=t.h*h,p=t.w*h,g=u.eleTextBiggerThanMin(e,h);if(!this.isVisible(e,g))return null;var v=d.get(e,r);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;if(a=f<=25?25:f<=50?50:50*Math.ceil(f/50),f>1024||p>1024)return null;var y=l.getTextureQueue(a),b=y[y.length-2],x=function(){return l.recycleTexture(a,p)||l.addTexture(a,p)};b||(b=y[y.length-1]),b||(b=x()),b.width-b.usedWidth<p&&(b=x());for(var w=function(e){return e&&e.scaledLabelShown===g},E=i&&i===ur.dequeue,k=i&&i===ur.highQuality,T=i&&i===ur.downscale,C=r+1;C<=3;C++){var P=d.get(e,C);if(P){o=P;break}}var S=o&&o.level===r+1?o:null,B=function(){b.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,b.usedWidth,0,p,f)};if(b.context.setTransform(1,0,0,1,0,0),b.context.clearRect(b.usedWidth,0,p,a),w(S))B();else if(w(o))if(!k)return l.queueElement(e,o.level-1),o;else{for(var D=o.level;D>r;D--)S=l.getElement(e,t,n,D,ur.downscale);B()}else{if(!E&&!k&&!T)for(var _=r-1;_>=-4;_--){var A=d.get(e,_);if(A){s=A;break}}if(w(s))return l.queueElement(e,r),s;b.context.translate(b.usedWidth,0),b.context.scale(h,h),this.drawElement(b.context,e,t,g,!1),b.context.scale(1/h,1/h),b.context.translate(-b.usedWidth,0)}return v={x:b.usedWidth,texture:b,level:r,scale:h,width:p,height:f,scaledLabelShown:g},b.usedWidth+=Math.ceil(p+8),b.eleCaches.push(v),d.set(e,r,v),l.checkTextureFullness(b),v},uo.invalidateElements=function(e){for(var t=0;t<e.length;t++)this.invalidateElement(e[t])},uo.invalidateElement=function(e){var t=this.lookup,n=[];if(t.isInvalid(e)){for(var r=-4;r<=3;r++){var i=t.getForCachedKey(e,r);i&&n.push(i)}if(t.invalidate(e))for(var a=0;a<n.length;a++){var o=n[a],s=o.texture;s.invalidatedWidth+=o.width,o.invalidated=!0,this.checkTextureUtility(s)}this.removeFromQueue(e)}},uo.checkTextureUtility=function(e){e.invalidatedWidth>=.2*e.width&&this.retireTexture(e)},uo.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?eW(t,e):e.fullnessChecks++},uo.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;eW(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a<i.length;a++){var o=i[a];r.deleteCache(o.key,o.level)}eU(i),this.getRetiredTextureQueue(t).push(e)},uo.addTexture=function(e,t){var n=this.getTextureQueue(e),r={};return n.push(r),r.eleCaches=[],r.height=e,r.width=Math.max(1024,t),r.usedWidth=0,r.invalidatedWidth=0,r.fullnessChecks=0,r.canvas=this.renderer.makeOffscreenCanvas(r.width,r.height),r.context=r.canvas.getContext("2d"),r},uo.recycleTexture=function(e,t){for(var n=this.getTextureQueue(e),r=this.getRetiredTextureQueue(e),i=0;i<r.length;i++){var a=r[i];if(a.width>=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,eU(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),eW(r,a),n.push(a),a}},uo.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},uo.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=[],i=this.lookup,a=0;a<1;a++)if(t.size()>0){var o=t.pop(),s=o.key,l=o.eles[0],u=i.hasCache(l,o.level);if(n[s]=null,u)continue;r.push(o);var c=this.getBoundingBox(l);this.getElement(l,c,e,o.level,ur.dequeue)}else break;return r},uo.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=eM,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},uo.onDequeue=function(e){this.onDequeues.push(e)},uo.offDequeue=function(e){eW(this.onDequeues,e)},uo.setupDequeueing=ut({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n<e.onDequeues.length;n++)(0,e.onDequeues[n])(t)},shouldRedraw:function(e,t,n,r){for(var i=0;i<t.length;i++)for(var a=t[i].eles,o=0;o<a.length;o++)if(tD(a[o].boundingBox(),r))return!0;return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var us=function(e){var t=this,n=t.renderer=e,r=n.cy;t.layersByLevel={},t.firstGet=!0,t.lastInvalidationTime=ey()-500,t.skipping=!1,t.eleTxrDeqs=r.collection(),t.scheduleElementRefinement=eg(function(){t.refineElementTextures(t.eleTxrDeqs),t.eleTxrDeqs.unmerge(t.eleTxrDeqs)},50),n.beforeRender(function(e,n){n-t.lastInvalidationTime<=250?t.skipping=!0:t.skipping=!1},n.beforeRenderPriorities.lyrTxrSkip),t.layersQueue=new e4(function(e,t){return t.reqs-e.reqs}),t.setupDequeueing()},ul=us.prototype,uu=0;ul.makeLayer=function(e,t){var n=Math.pow(2,t),r=Math.ceil(e.w*n),i=Math.ceil(e.h*n),a=this.renderer.makeOffscreenCanvas(r,i),o={id:uu=++uu%0x1fffffffffffff,bb:e,level:t,width:r,height:i,canvas:a,context:a.getContext("2d"),eles:[],elesQueue:[],reqs:0},s=o.context,l=-o.bb.x1,u=-o.bb.y1;return s.scale(n,n),s.translate(l,u),o},ul.getLayers=function(e,t,n){var r,i,a=this,o=a.renderer.cy.zoom(),s=a.firstGet;if(a.firstGet=!1,null==n){if((n=Math.ceil(tf(o*t)))<-4)n=-4;else if(o>=3.99||n>2)return null}a.validateLayersElesOrdering(n,e);var l=a.layersByLevel,u=Math.pow(2,n),c=l[n]=l[n]||[];if(a.levelIsComplete(n,e))return c;var d=function(t){if(a.validateLayersElesOrdering(t,e),a.levelIsComplete(t,e))return i=l[t],!0},h=function(e){if(!i)for(var t=n+e;-4<=t&&t<=2&&!d(t);t+=e);};h(1),h(-1);for(var f=c.length-1;f>=0;f--){var p=c[f];p.invalid&&eW(c,p)}var g=function(){if(!r){r=tE();for(var t=0;t<e.length;t++)tT(r,e[t].boundingBox())}return r};if(a.skipping&&!s)return null;for(var v=null,y=e.length/1,b=!s,x=0;x<e.length;x++){var w=e[x],E=w._private.rscratch,k=E.imgLayerCaches=E.imgLayerCaches||{},T=k[n];if(T){v=T;continue}if((!v||v.eles.length>=y||!tM(v.bb,w.boundingBox()))&&!(v=function(e){var t=(e=e||{}).after;g();var i=Math.ceil(r.w*u),o=Math.ceil(r.h*u);if(i>32767||o>32767||i*o>16e6)return null;var s=a.makeLayer(r,n);if(null!=t){var l=c.indexOf(t)+1;c.splice(l,0,s)}else(void 0===e.insert||e.insert)&&c.unshift(s);return s}({insert:!0,after:v})))return null;i||b?a.queueLayer(v,w):a.drawEleInLayer(v,w,n,t),v.eles.push(w),k[n]=v}return i||(b?null:c)},ul.getEleLevelForLayerLevel=function(e,t){return e},ul.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},ul.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i<n.length;i++){var a=n[i];if(a.reqs>0||a.invalid)return!1;r+=a.eles.length}return r===t.length},ul.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r<n.length;r++){for(var i=n[r],a=-1,o=0;o<t.length;o++)if(i.eles[0]===t[o]){a=o;break}if(a<0){this.invalidateLayer(i);continue}for(var s=a,o=0;o<i.eles.length;o++)if(i.eles[o]!==t[s+o]){this.invalidateLayer(i);break}}},ul.updateElementsInLayers=function(e,t){for(var n=N(e[0]),r=0;r<e.length;r++)for(var i=n?null:e[r],a=n?e[r]:e[r].ele,o=a._private.rscratch,s=o.imgLayerCaches=o.imgLayerCaches||{},l=-4;l<=2;l++){var u=s[l];u&&(i&&this.getEleLevelForLayerLevel(u.level)!==i.level||t(u,a,i))}},ul.haveLayers=function(){for(var e=!1,t=-4;t<=2;t++){var n=this.layersByLevel[t];if(n&&n.length>0){e=!0;break}}return e},ul.invalidateElements=function(e){var t=this;0===e.length||(t.lastInvalidationTime=ey(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,function(e,n,r){t.invalidateLayer(e)}))},ul.invalidateLayer=function(e){if(this.lastInvalidationTime=ey(),!e.invalid){var t=e.level,n=e.eles;eW(this.layersByLevel[t],e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var r=0;r<n.length;r++){var i=n[r]._private.rscratch.imgLayerCaches;i&&(i[t]=null)}}},ul.refineElementTextures=function(e){var t=this;t.updateElementsInLayers(e,function(e,n,r){var i=e.replacement;if(i||((i=e.replacement=t.makeLayer(e.bb,e.level)).replaces=e,i.eles=e.eles),!i.reqs)for(var a=0;a<i.eles.length;a++)t.queueLayer(i,i.eles[a])})},ul.enqueueElementRefinement=function(e){this.eleTxrDeqs.merge(e),this.scheduleElementRefinement()},ul.queueLayer=function(e,t){var n=this.layersQueue,r=e.elesQueue,i=r.hasId=r.hasId||{};if(!e.replacement){if(t){if(i[t.id()])return;r.push(t),i[t.id()]=!0}e.reqs?(e.reqs++,n.updateItem(e)):(e.reqs=1,n.push(e))}},ul.dequeue=function(e){for(var t=this.layersQueue,n=[],r=0;r<1&&0!==t.size();){var i=t.peek();if(i.replacement||i.replaces&&i!==i.replaces.replacement||i.invalid){t.pop();continue}var a=i.elesQueue.shift();a&&(this.drawEleInLayer(i,a,i.level,e),r++),0===n.length&&n.push(!0),0===i.elesQueue.length&&(t.pop(),i.reqs=0,i.replaces&&this.applyLayerReplacement(i),this.requestRedraw())}return n},ul.applyLayerReplacement=function(e){var t=this.layersByLevel[e.level],n=e.replaces,r=t.indexOf(n);if(!(r<0)&&!n.invalid){t[r]=e;for(var i=0;i<e.eles.length;i++){var a=e.eles[i]._private,o=a.imgLayerCaches=a.imgLayerCaches||{};o&&(o[e.level]=e)}this.requestRedraw()}},ul.requestRedraw=eg(function(){var e=this.renderer;e.redrawHint("eles",!0),e.redrawHint("drag",!0),e.redraw()},100),ul.setupDequeueing=ut({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t){return e.dequeue(t)},onDeqd:eN,shouldRedraw:eR,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var uc={};function ud(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.lineTo(r.x,r.y)}}function uh(e,t,n){for(var r,i=0;i<t.length;i++){var a=t[i];0===i&&(r=a),e.lineTo(a.x,a.y)}e.quadraticCurveTo(n.x,n.y,r.x,r.y)}function uf(e,t,n){e.beginPath&&e.beginPath();for(var r=0;r<t.length;r++){var i=t[r];e.lineTo(i.x,i.y)}var a=n[0];e.moveTo(a.x,a.y);for(var r=1;r<n.length;r++){var i=n[r];e.lineTo(i.x,i.y)}e.closePath&&e.closePath()}function up(e,t,n,r,i){e.beginPath&&e.beginPath(),e.arc(n,r,i,0,2*Math.PI,!1);var a=t[0];e.moveTo(a.x,a.y);for(var o=0;o<t.length;o++){var s=t[o];e.lineTo(s.x,s.y)}e.closePath&&e.closePath()}function ug(e,t,n,r){e.arc(t,n,r,0,2*Math.PI,!1)}uc.arrowShapeImpl=function(e){return(b||(b={polygon:ud,"triangle-backcurve":uh,"triangle-tee":uf,"circle-triangle":up,"triangle-cross":uf,circle:ug}))[e]};var uv={};uv.drawElement=function(e,t,n,r,i,a){t.isNode()?this.drawNode(e,t,n,r,i,a):this.drawEdge(e,t,n,r,i,a)},uv.drawElementOverlay=function(e,t){t.isNode()?this.drawNodeOverlay(e,t):this.drawEdgeOverlay(e,t)},uv.drawElementUnderlay=function(e,t){t.isNode()?this.drawNodeUnderlay(e,t):this.drawEdgeUnderlay(e,t)},uv.drawCachedElementPortion=function(e,t,n,r,i,a,o,s){var l=n.getBoundingBox(t);if(0!==l.w&&0!==l.h){var u=n.getElement(t,l,r,i,a);if(null!=u){var c,d,h,f,p,g,v=s(this,t);if(0===v)return;var y=o(this,t),b=l.x1,x=l.y1,w=l.w,E=l.h;if(0!==y){var k=n.getRotationPoint(t);h=k.x,f=k.y,e.translate(h,f),e.rotate(y),(p=this.getImgSmoothing(e))||this.setImgSmoothing(e,!0);var T=n.getRotationOffset(t);c=T.x,d=T.y}else c=b,d=x;1!==v&&(g=e.globalAlpha,e.globalAlpha=g*v),e.drawImage(u.texture.canvas,u.x,0,u.width,u.height,c,d,w,E),1!==v&&(e.globalAlpha=g),0!==y&&(e.rotate(-y),e.translate(-h,-f),p||this.setImgSmoothing(e,!1))}else n.drawElement(e,t)}};var uy=function(){return 0},um=function(e,t){return e.getTextAngle(t,null)},ub=function(e,t){return e.getTextAngle(t,"source")},ux=function(e,t){return e.getTextAngle(t,"target")},uw=function(e,t){return t.effectiveOpacity()},uE=function(e,t){return t.pstyle("text-opacity").pfValue*t.effectiveOpacity()};uv.drawCachedElement=function(e,t,n,r,i,a){var o=this.data,s=o.eleTxrCache,l=o.lblTxrCache,u=o.slbTxrCache,c=o.tlbTxrCache,d=t.boundingBox(),h=!0===a?s.reasons.highQuality:null;if(0!==d.w&&0!==d.h&&t.visible()&&(!r||tD(d,r))){var f=t.isEdge(),p=t.element()._private.rscratch.badLine;this.drawElementUnderlay(e,t),this.drawCachedElementPortion(e,t,s,n,i,h,uy,uw),f&&p||this.drawCachedElementPortion(e,t,l,n,i,h,um,uE),f&&!p&&(this.drawCachedElementPortion(e,t,u,n,i,h,ub,uE),this.drawCachedElementPortion(e,t,c,n,i,h,ux,uE)),this.drawElementOverlay(e,t)}},uv.drawElements=function(e,t){for(var n=0;n<t.length;n++){var r=t[n];this.drawElement(e,r)}},uv.drawCachedElements=function(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i];this.drawCachedElement(e,a,n,r)}},uv.drawCachedNodes=function(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i];a.isNode()&&this.drawCachedElement(e,a,n,r)}},uv.drawLayeredElements=function(e,t,n,r){var i=this.data.lyrTxrCache.getLayers(t,n);if(i)for(var a=0;a<i.length;a++){var o=i[a],s=o.bb;0!==s.w&&0!==s.h&&e.drawImage(o.canvas,s.x1,s.y1,s.w,s.h)}else this.drawCachedElements(e,t,n,r)};var uk={};uk.drawEdge=function(e,t,n){var r,i=!(arguments.length>3)||void 0===arguments[3]||arguments[3],a=!(arguments.length>4)||void 0===arguments[4]||arguments[4],o=!(arguments.length>5)||void 0===arguments[5]||arguments[5],s=this,l=t._private.rscratch;if((!o||t.visible())&&!(l.badLine||null==l.allpts||isNaN(l.allpts[0]))){n&&(r=n,e.translate(-r.x1,-r.y1));var u=o?t.pstyle("opacity").value:1,c=o?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,g=t.pstyle("line-outline-width").value,v=t.pstyle("line-outline-color").value,y=u*c,b=u*c,x=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;"straight-triangle"===d?(s.eleStrokeStyle(e,t,n),s.drawEdgeTrianglePath(t,e,l.allpts)):(e.lineWidth=f,e.lineCap=p,s.eleStrokeStyle(e,t,n),s.drawEdgePath(t,e,l.allpts,h),e.lineCap="butt")},w=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b;s.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var E=t.pstyle("ghost-offset-x").pfValue,k=t.pstyle("ghost-offset-y").pfValue,T=y*t.pstyle("ghost-opacity").value;e.translate(E,k),x(T),w(T),e.translate(-E,-k)}else!function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;if(e.lineWidth=f+g,e.lineCap=p,g>0)s.colorStrokeStyle(e,v[0],v[1],v[2],n);else{e.lineCap="butt";return}"straight-triangle"===d?s.drawEdgeTrianglePath(t,e,l.allpts):(s.drawEdgePath(t,e,l.allpts,h),e.lineCap="butt")}();a&&s.drawEdgeUnderlay(e,t),x(),w(),a&&s.drawEdgeOverlay(e,t),s.drawElementText(e,t,null,i),n&&e.translate(r.x1,r.y1)}};var uT=function(e){if(!["overlay","underlay"].includes(e))throw Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this.usePaths(),a=n._private.rscratch,o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-color")).value;t.lineWidth=2*o,"self"!==a.edgeType||i?t.lineCap="round":t.lineCap="butt",this.colorStrokeStyle(t,s[0],s[1],s[2],r),this.drawEdgePath(n,t,a.allpts,"solid")}}}};uk.drawEdgeOverlay=uT("overlay"),uk.drawEdgeUnderlay=uT("underlay"),uk.drawEdgePath=function(e,t,n,r){var i=e._private.rscratch,a=t,s=!1,l=this.usePaths(),u=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(l){var d=n.join("$");i.pathCacheKey&&i.pathCacheKey===d?(p=t=i.pathCache,s=!0):(p=t=new Path2D,i.pathCacheKey=d,i.pathCache=p)}if(a.setLineDash)switch(r){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=c;break;case"solid":a.setLineDash([])}if(!s&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+3<n.length;h+=4)t.quadraticCurveTo(n[h],n[h+1],n[h+2],n[h+3]);break;case"straight":case"haystack":for(var f=2;f+1<n.length;f+=2)t.lineTo(n[f],n[f+1]);break;case"segments":if(i.isRound){var p,g,v=o(i.roundCorners);try{for(v.s();!(g=v.n()).done;){var y=g.value;lO(t,y)}}catch(e){v.e(e)}finally{v.f()}t.lineTo(n[n.length-2],n[n.length-1])}else for(var b=2;b+1<n.length;b+=2)t.lineTo(n[b],n[b+1])}t=a,l?t.stroke(p):t.stroke(),t.setLineDash&&t.setLineDash([])},uk.drawEdgeTrianglePath=function(e,t,n){t.fillStyle=t.strokeStyle;for(var r=e.pstyle("width").pfValue,i=0;i+1<n.length;i+=2){var a=[n[i+2]-n[i],n[i+3]-n[i+1]],o=Math.sqrt(a[0]*a[0]+a[1]*a[1]),s=[a[1]/o,-a[0]/o],l=[s[0]*r/2,s[1]*r/2];t.beginPath(),t.moveTo(n[i]-l[0],n[i+1]-l[1]),t.lineTo(n[i]+l[0],n[i+1]+l[1]),t.lineTo(n[i+2],n[i+3]),t.closePath(),t.fill()}},uk.drawArrowheads=function(e,t,n){var r=t._private.rscratch,i="haystack"===r.edgeType;i||this.drawArrowhead(e,t,"source",r.arrowStartX,r.arrowStartY,r.srcArrowAngle,n),this.drawArrowhead(e,t,"mid-target",r.midX,r.midY,r.midtgtArrowAngle,n),this.drawArrowhead(e,t,"mid-source",r.midX,r.midY,r.midsrcArrowAngle,n),i||this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,r.tgtArrowAngle,n)},uk.drawArrowhead=function(e,t,n,r,i,a,o){if(!(isNaN(r)||null==r||isNaN(i)||null==i||isNaN(a))&&null!=a){var s=t.pstyle(n+"-arrow-shape").value;if("none"!==s){var l="hollow"===t.pstyle(n+"-arrow-fill").value?"both":"filled",u=t.pstyle(n+"-arrow-fill").value,c=t.pstyle("width").pfValue,d=t.pstyle(n+"-arrow-width"),h="match-line"===d.value?c:d.pfValue;"%"===d.units&&(h*=c);var f=t.pstyle("opacity").value;void 0===o&&(o=f);var p=e.globalCompositeOperation;(1!==o||"hollow"===u)&&(e.globalCompositeOperation="destination-out",this.colorFillStyle(e,255,255,255,1),this.colorStrokeStyle(e,255,255,255,1),this.drawArrowShape(t,e,l,c,s,h,r,i,a),e.globalCompositeOperation=p);var g=t.pstyle(n+"-arrow-color").value;this.colorFillStyle(e,g[0],g[1],g[2],o),this.colorStrokeStyle(e,g[0],g[1],g[2],o),this.drawArrowShape(t,e,u,c,s,h,r,i,a)}}},uk.drawArrowShape=function(e,t,n,r,i,a,o,s,l){var u,c=this.usePaths()&&"triangle-cross"!==i,d=!1,h=t,f=e.pstyle("arrow-scale").value,p=this.getArrowWidth(r,f),g=this.arrowShapes[i];if(c){var v=this.arrowPathCache=this.arrowPathCache||[],y=eP(i),b=v[y];null!=b?(u=t=b,d=!0):(u=t=new Path2D,v[y]=u)}!d&&(t.beginPath&&t.beginPath(),c?g.draw(t,1,0,{x:0,y:0},1):g.draw(t,p,l,{x:o,y:s},r),t.closePath&&t.closePath()),t=h,c&&(t.translate(o,s),t.rotate(l),t.scale(p,p)),("filled"===n||"both"===n)&&(c?t.fill(u):t.fill()),("hollow"===n||"both"===n)&&(t.lineWidth=a/(c?p:1),t.lineJoin="miter",c?t.stroke(u):t.stroke()),c&&(t.scale(1/p,1/p),t.rotate(-l),t.translate(-o,-s))};var uC={};uC.safeDrawImage=function(e,t,n,r,i,a,o,s,l,u){if(!(i<=0)&&!(a<=0)&&!(l<=0)&&!(u<=0))try{e.drawImage(t,n,r,i,a,o,s,l,u)}catch(e){eV(e)}},uC.drawInscribedImage=function(e,t,n,r,i){var a=n.position(),o=a.x,s=a.y,l=n.cy().style(),u=l.getIndexedStyle.bind(l),c=u(n,"background-fit","value",r),d=u(n,"background-repeat","value",r),h=n.width(),f=n.height(),p=2*n.padding(),g=h+("inner"===u(n,"background-width-relative-to","value",r)?0:p),v=f+("inner"===u(n,"background-height-relative-to","value",r)?0:p),y=n._private.rscratch,b="node"===u(n,"background-clip","value",r),x=u(n,"background-image-opacity","value",r)*i,w=u(n,"background-image-smoothing","value",r),E=n.pstyle("corner-radius").value;"auto"!==E&&(E=n.pstyle("corner-radius").pfValue);var k=t.width||t.cachedW,T=t.height||t.cachedH;(null==k||null==T)&&(document.body.appendChild(t),k=t.cachedW=t.width||t.offsetWidth,T=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var C=k,P=T;if("auto"!==u(n,"background-width","value",r)&&(C="%"===u(n,"background-width","units",r)?u(n,"background-width","pfValue",r)*g:u(n,"background-width","pfValue",r)),"auto"!==u(n,"background-height","value",r)&&(P="%"===u(n,"background-height","units",r)?u(n,"background-height","pfValue",r)*v:u(n,"background-height","pfValue",r)),0!==C&&0!==P){if("contain"===c){var S=Math.min(g/C,v/P);C*=S,P*=S}else if("cover"===c){var S=Math.max(g/C,v/P);C*=S,P*=S}var B=o-g/2,D=u(n,"background-position-x","units",r),_=u(n,"background-position-x","pfValue",r);"%"===D?B+=(g-C)*_:B+=_;var A=u(n,"background-offset-x","units",r),M=u(n,"background-offset-x","pfValue",r);"%"===A?B+=(g-C)*M:B+=M;var R=s-v/2,I=u(n,"background-position-y","units",r),L=u(n,"background-position-y","pfValue",r);"%"===I?R+=(v-P)*L:R+=L;var N=u(n,"background-offset-y","units",r),z=u(n,"background-offset-y","pfValue",r);"%"===N?R+=(v-P)*z:R+=z,y.pathCache&&(B-=o,R-=s,o=0,s=0);var O=e.globalAlpha;e.globalAlpha=x;var V=this.getImgSmoothing(e),F=!1;if("no"===w&&V?(this.setImgSmoothing(e,!1),F=!0):"yes"!==w||V||(this.setImgSmoothing(e,!0),F=!0),"no-repeat"===d)b&&(e.save(),y.pathCache?e.clip(y.pathCache):(this.nodeShapes[this.getNodeShape(n)].draw(e,o,s,g,v,E,y),e.clip())),this.safeDrawImage(e,t,0,0,k,T,B,R,C,P),b&&e.restore();else{var X=e.createPattern(t,d);e.fillStyle=X,this.nodeShapes[this.getNodeShape(n)].draw(e,o,s,g,v,E,y),e.translate(B,R),e.fill(),e.translate(-B,-R)}e.globalAlpha=O,F&&this.setImgSmoothing(e,V)}};var uP={};function uS(e,t,n,r,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:5,o=Math.min(a,r/2,i/2);e.beginPath(),e.moveTo(t+o,n),e.lineTo(t+r-o,n),e.quadraticCurveTo(t+r,n,t+r,n+o),e.lineTo(t+r,n+i-o),e.quadraticCurveTo(t+r,n+i,t+r-o,n+i),e.lineTo(t+o,n+i),e.quadraticCurveTo(t,n+i,t,n+i-o),e.lineTo(t,n+o),e.quadraticCurveTo(t,n,t+o,n),e.closePath()}uP.eleTextBiggerThanMin=function(e,t){return t||(t=Math.pow(2,Math.ceil(tf(e.cy().zoom()*this.getPixelRatio())))),!(e.pstyle("font-size").pfValue*t<e.pstyle("min-zoomed-font-size").pfValue)},uP.drawElementText=function(e,t,n,r,i){var a,o=!(arguments.length>5)||void 0===arguments[5]||arguments[5];if(null==r){if(o&&!this.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var l=this.getLabelJustification(t),u="glyph"===t.pstyle("text-metrics").strValue;e.textAlign=l,e.textBaseline=u?"alphabetic":"bottom"}else{var c=t.element()._private.rscratch.badLine,d=t.pstyle("label"),h=t.pstyle("source-label"),f=t.pstyle("target-label");if(c||(!d||!d.value)&&(!h||!h.value)&&(!f||!f.value))return;e.textAlign="center",e.textBaseline="bottom"}var p=!n;n&&(a=n,e.translate(-a.x1,-a.y1)),null==i?(this.drawText(e,t,null,p,o),t.isEdge()&&(this.drawText(e,t,"source",p,o),this.drawText(e,t,"target",p,o))):this.drawText(e,t,i,p,o),n&&e.translate(a.x1,a.y1)},uP.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n<this.fontCaches.length;n++)if((t=this.fontCaches[n]).context===e)return t;return t={context:e},this.fontCaches.push(t),t},uP.setupTextStyle=function(e,t){var n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,l=t.pstyle("text-outline-opacity").value*s,u=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,u[0],u[1],u[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],l)},uP.getTextAngle=function(e,t){var n,r=e._private.rscratch,i=t?t+"-":"",a=e.pstyle(i+"text-rotation");if("autorotate"===a.strValue){var o=eK(r,"labelAngle",t);n=e.isEdge()?o:0}else n="none"===a.strValue?0:a.pfValue;return n},uP.drawText=function(e,t,n){var r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s=eK(a,"labelX",n),l=eK(a,"labelY",n),u=this.getLabelText(t,n);if(null!=u&&""!==u&&!isNaN(s)&&!isNaN(l)){this.setupTextStyle(e,t,i);var c,d,h,f=n?n+"-":"",p=eK(a,"labelWidth",n),g=eK(a,"labelHeight",n),v=eK(a,"labelActualDescent",n),y=t.pstyle(f+"text-margin-x").pfValue,b=t.pstyle(f+"text-margin-y").pfValue,x=t.isEdge(),w=t.pstyle("text-halign").value,E=t.pstyle("text-valign").value;x&&(w="center",E="center"),s+=y,l+=b,0!==(h=r?this.getTextAngle(t,n):0)&&(c=s,d=l,e.translate(c,d),e.rotate(h),s=0,l=0);var k=rQ(w),T=rJ(E);switch(T){case"top":break;case"center":l+=g/2;break;case"bottom":l+=g}var C=t.pstyle("text-background-opacity").value,P=t.pstyle("text-border-opacity").value,S=t.pstyle("text-border-width").pfValue,B=t.pstyle("text-background-padding").pfValue,D=t.pstyle("text-background-shape").strValue,_="round-rectangle"===D||"roundrectangle"===D;if(C>0||S>0&&P>0){var A,M,R=e.fillStyle,I=e.strokeStyle,L=e.lineWidth,N=t.pstyle("text-background-color").value,z=t.pstyle("text-border-color").value,O=t.pstyle("text-border-style").value,V=C>0,F=S>0&&P>0,X=s-B;switch(k){case"left":X-=p;break;case"center":X-=p/2}var j=l-g-B,Y=p+2*B,q=g+2*B;if(V&&(e.fillStyle="rgba(".concat(N[0],",").concat(N[1],",").concat(N[2],",").concat(C*o,")")),F&&(e.strokeStyle="rgba(".concat(z[0],",").concat(z[1],",").concat(z[2],",").concat(P*o,")"),e.lineWidth=S,e.setLineDash))switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=S/4,e.setLineDash([]);break;default:e.setLineDash([])}if(_?(e.beginPath(),uS(e,X,j,Y,q,2)):"circle"===D?(e.beginPath(),A=X,M=Math.min(Y,q),e.beginPath(),e.arc(A+Y/2,j+q/2,M/2,0,2*Math.PI),e.closePath()):(e.beginPath(),e.rect(X,j,Y,q)),V&&e.fill(),F&&e.stroke(),F&&"double"===O){var W=S/2;e.beginPath(),_?uS(e,X+W,j+W,Y-2*W,q-2*W,2):e.rect(X+W,j+W,Y-2*W,q-2*W),e.stroke()}e.fillStyle=R,e.strokeStyle=I,e.lineWidth=L,e.setLineDash&&e.setLineDash([])}var U=2*t.pstyle("text-outline-width").pfValue;if(U>0&&(e.lineWidth=U),l-=v,"wrap"===t.pstyle("text-wrap").value){var H=eK(a,"labelWrapCachedLines",n),K=eK(a,"labelLineHeight",n),G=p/2,Z=this.getLabelJustification(t);switch("auto"===Z||("left"===k?"left"===Z?s+=-p:"center"===Z&&(s+=-G):"center"===k?"left"===Z?s+=-G:"right"===Z&&(s+=G):"right"===k&&("center"===Z?s+=G:"right"===Z&&(s+=p))),T){case"top":case"center":case"bottom":l-=(H.length-1)*K}for(var $=0;$<H.length;$++)U>0&&e.strokeText(H[$],s,l),e.fillText(H[$],s,l),l+=K}else U>0&&e.strokeText(u,s,l),e.fillText(u,s,l);0!==h&&(e.rotate(-h),e.translate(-c,-d))}}};var uB={};uB.drawNode=function(e,t,n){var r,i,a,o,s=!(arguments.length>3)||void 0===arguments[3]||arguments[3],l=!(arguments.length>4)||void 0===arguments[4]||arguments[4],u=!(arguments.length>5)||void 0===arguments[5]||arguments[5],c=this,d=t._private,h=d.rscratch,f=t.position();if(M(f.x)&&M(f.y)&&(!u||t.visible())){var p=u?t.effectiveOpacity():1,g=c.usePaths(),v=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(o=n,e.translate(-o.x1,-o.y1));for(var b=t.pstyle("background-image").value,x=Array(b.length),w=Array(b.length),E=0,k=0;k<b.length;k++){var T=b[k];if(x[k]=null!=T&&"none"!==T){var C=t.cy().style().getIndexedStyle(t,"background-image-crossorigin","value",k);E++,w[k]=c.getCachedImage(T,C,function(){d.backgroundTimestamp=Date.now(),t.emitAndNotify("background")})}}var P=t.pstyle("background-blacken").value,S=t.pstyle("border-width").pfValue,B=t.pstyle("background-opacity").value*p,D=t.pstyle("border-color").value,_=t.pstyle("border-style").value,A=t.pstyle("border-join").value,R=t.pstyle("border-cap").value,I=t.pstyle("border-position").value,L=t.pstyle("border-dash-pattern").pfValue,N=t.pstyle("border-dash-offset").pfValue,z=t.pstyle("border-opacity").value*p,O=t.pstyle("outline-width").pfValue,V=t.pstyle("outline-color").value,F=t.pstyle("outline-style").value,X=t.pstyle("outline-opacity").value*p,j=t.pstyle("outline-offset").value,Y=t.pstyle("corner-radius").value;"auto"!==Y&&(Y=t.pstyle("corner-radius").pfValue);var q=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:B;c.eleFillStyle(e,t,n)},W=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;c.colorStrokeStyle(e,D[0],D[1],D[2],t)},U=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:X;c.colorStrokeStyle(e,V[0],V[1],V[2],t)},H=function(e,t,n,r){var i,a=c.nodePathCache=c.nodePathCache||[],o=eS("polygon"===n?n+","+r.join(","):n,""+t,""+e,""+Y),s=a[o],l=!1;return null!=s?(l=!0,h.pathCache=i=s):(i=new Path2D,a[o]=h.pathCache=i),{path:i,cacheHit:l}},K=t.pstyle("shape").strValue,G=t.pstyle("shape-polygon-points").pfValue;if(g){e.translate(f.x,f.y);var Z=H(r,i,K,G);a=Z.path,v=Z.cacheHit}var $=function(){if(!v){var n=f;g&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(t)].draw(a||e,n.x,n.y,r,i,Y,h)}g?e.fill(a):e.fill()},Q=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=d.backgrounding,a=0,o=0;o<w.length;o++){var s=t.cy().style().getIndexedStyle(t,"background-image-containment","value",o);if(r&&"over"===s||!r&&"inside"===s){a++;continue}x[o]&&w[o].complete&&!w[o].error&&(a++,c.drawInscribedImage(e,w[o],t,o,n))}d.backgrounding=a!==E,i!==d.backgrounding&&t.updateStyle(!1)},J=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasPie(t)&&(c.drawPie(e,t,a),n&&!g&&c.nodeShapes[c.getNodeShape(t)].draw(e,f.x,f.y,r,i,Y,h))},ee=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasStripe(t)&&(e.save(),g?e.clip(h.pathCache):(c.nodeShapes[c.getNodeShape(t)].draw(e,f.x,f.y,r,i,Y,h),e.clip()),c.drawStripe(e,t,a),e.restore(),n&&!g&&c.nodeShapes[c.getNodeShape(t)].draw(e,f.x,f.y,r,i,Y,h))},et=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,n=P>0?0:255;0!==P&&(c.colorFillStyle(e,n,n,n,(P>0?P:-P)*t),g?e.fill(a):e.fill())},en=function(){if(S>0){if(e.lineWidth=S,e.lineCap=R,e.lineJoin=A,e.setLineDash)switch(_){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash(L),e.lineDashOffset=N;break;case"solid":case"double":e.setLineDash([])}if("center"!==I){if(e.save(),e.lineWidth*=2,"inside"===I)g?e.clip(a):e.clip();else{var t=new Path2D;t.rect(-r/2-S,-i/2-S,r+2*S,i+2*S),t.addPath(a),e.clip(t,"evenodd")}g?e.stroke(a):e.stroke(),e.restore()}else g?e.stroke(a):e.stroke();if("double"===_){e.lineWidth=S/3;var n=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",g?e.stroke(a):e.stroke(),e.globalCompositeOperation=n}e.setLineDash&&e.setLineDash([])}},er=function(){if(O>0){if(e.lineWidth=O,e.lineCap="butt",e.setLineDash)switch(F){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=f;g&&(n={x:0,y:0});var a=c.getNodeShape(t),o=S;"inside"===I&&(o=0),"outside"===I&&(o*=2);var s=(r+o+(O+j))/r,l=(i+o+(O+j))/i,u=r*s,d=i*l,h=c.nodeShapes[a].points;if(g&&(C=H(u,d,a,h).path),"ellipse"===a)c.drawEllipsePath(C||e,n.x,n.y,u,d);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var p=0,v=0,y=0;"round-diamond"===a?p=(o+j+O)*1.4:"round-heptagon"===a?(p=(o+j+O)*1.075,y=-(o/2+j+O)/35):"round-hexagon"===a?p=(o+j+O)*1.12:"round-pentagon"===a?(p=(o+j+O)*1.13,y=-(o/2+j+O)/15):"round-tag"===a?(p=(o+j+O)*1.12,v=(o/2+O+j)*.07):"round-triangle"===a&&(p=Math.PI/2*(o+j+O),y=-(o+j/2+O)/Math.PI),0!==p&&(s=(r+p)/r,u=r*s,["round-hexagon","round-tag"].includes(a)||(l=(i+p)/i,d=i*l)),Y="auto"===Y?t4(u,d):Y;for(var b=u/2,x=d/2,w=Y+(o+O+j)/2,E=Array(h.length/2),k=Array(h.length/2),T=0;T<h.length/2;T++)E[T]={x:n.x+v+b*h[2*T],y:n.y+y+x*h[2*T+1]};var C,P,B,D,_,A=E.length;for(P=0,B=E[A-1];P<A;P++)D=E[P%A],_=E[(P+1)%A],k[P]=lV(B,D,_,w),B=D,D=_;c.drawRoundPolygonPath(C||e,n.x+v,n.y+y,r*s,i*l,h,k)}else["roundrectangle","round-rectangle"].includes(a)?(Y="auto"===Y?t3(u,d):Y,c.drawRoundRectanglePath(C||e,n.x,n.y,u,d,Y+(o+O+j)/2)):["cutrectangle","cut-rectangle"].includes(a)?(Y="auto"===Y?t9():Y,c.drawCutRectanglePath(C||e,n.x,n.y,u,d,null,Y+(o+O+j)/4)):["bottomroundrectangle","bottom-round-rectangle"].includes(a)?(Y="auto"===Y?t3(u,d):Y,c.drawBottomRoundRectanglePath(C||e,n.x,n.y,u,d,Y+(o+O+j)/2)):"barrel"===a?c.drawBarrelPath(C||e,n.x,n.y,u,d):(h=a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)?tq(tW(h,(o+O+j)/r)):tq(tW(h,-((o+O+j)/r))),c.drawPolygonPath(C||e,n.x,n.y,r,i,h));if(g?e.stroke(C):e.stroke(),"double"===F){e.lineWidth=o/3;var M=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",g?e.stroke(C):e.stroke(),e.globalCompositeOperation=M}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var ei=t.pstyle("ghost-offset-x").pfValue,ea=t.pstyle("ghost-offset-y").pfValue,eo=t.pstyle("ghost-opacity").value,es=eo*p;e.translate(ei,ea),U(),er(),q(eo*B),$(),Q(es,!0),W(eo*z),en(),J(0!==P||0!==S),ee(0!==P||0!==S),Q(es,!1),et(es),e.translate(-ei,-ea)}g&&e.translate(-f.x,-f.y),l&&c.drawNodeUnderlay(e,t,f,r,i),g&&e.translate(f.x,f.y),U(),er(),q(),$(),Q(p,!0),W(),en(),J(0!==P||0!==S),ee(0!==P||0!==S),Q(p,!1),et(),g&&e.translate(-f.x,-f.y),c.drawElementText(e,t,null,s),l&&c.drawNodeOverlay(e,t,f,r,i),n&&e.translate(o.x1,o.y1)}};var uD=function(e){if(!["overlay","underlay"].includes(e))throw Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,l=n.pstyle("".concat(e,"-color")).value,u=n.pstyle("".concat(e,"-shape")).value,c=n.pstyle("".concat(e,"-corner-radius")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var d=n.padding();i=n.width()+2*d,a=n.height()+2*d}this.colorFillStyle(t,l[0],l[1],l[2],s),this.nodeShapes[u].draw(t,r.x,r.y,i+2*o,a+2*o,c),t.fill()}}}};uB.drawNodeOverlay=uD("overlay"),uB.drawNodeUnderlay=uD("underlay"),uB.hasPie=function(e){return(e=e[0])._private.hasPie},uB.hasStripe=function(e){return(e=e[0])._private.hasStripe},uB.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i,a=t.cy().style(),o=t.pstyle("pie-size"),s=t.pstyle("pie-hole"),l=t.pstyle("pie-start-angle").pfValue,u=r.x,c=r.y,d=Math.min(t.width(),t.height())/2,h=0;if(this.usePaths()&&(u=0,c=0),"%"===o.units?d*=o.pfValue:void 0!==o.pfValue&&(d=o.pfValue/2),"%"===s.units?i=d*s.pfValue:void 0!==s.pfValue&&(i=s.pfValue/2),!(i>=d))for(var f=1;f<=a.pieBackgroundN;f++){var p=t.pstyle("pie-"+f+"-background-size").value,g=t.pstyle("pie-"+f+"-background-color").value,v=t.pstyle("pie-"+f+"-background-opacity").value*n,y=p/100;y+h>1&&(y=1-h);var b=1.5*Math.PI+2*Math.PI*h,x=2*Math.PI*y,w=(b+=l)+x;0===p||h>=1||h+y>1||(0===i?(e.beginPath(),e.moveTo(u,c),e.arc(u,c,d,b,w)):(e.beginPath(),e.arc(u,c,d,b,w),e.arc(u,c,i,w,b,!0)),e.closePath(),this.colorFillStyle(e,g[0],g[1],g[2],v),e.fill(),h+=y)}},uB.drawStripe=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=r.x,o=r.y,s=t.width(),l=t.height(),u=0,c=this.usePaths();e.save();var d=t.pstyle("stripe-direction").value,h=t.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":e.rotate(-Math.PI/2)}var f=s,p=l;"%"===h.units?(f*=h.pfValue,p*=h.pfValue):void 0!==h.pfValue&&(f=h.pfValue,p=h.pfValue),c&&(a=0,o=0),o-=f/2,a-=p/2;for(var g=1;g<=i.stripeBackgroundN;g++){var v=t.pstyle("stripe-"+g+"-background-size").value,y=t.pstyle("stripe-"+g+"-background-color").value,b=t.pstyle("stripe-"+g+"-background-opacity").value*n,x=v/100;x+u>1&&(x=1-u),0===v||u>=1||u+x>1||(e.beginPath(),e.rect(a,o+p*u,f,p*x),e.closePath(),this.colorFillStyle(e,y[0],y[1],y[2],b),e.fill(),u+=x)}e.restore()};var u_={};function uA(e,t,n){var r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS))throw Error(e.getShaderInfoLog(r));return r}function uM(e,t,n){void 0===n&&(n=t);var r=e.makeOffscreenCanvas(t,n),i=r.context=r.getContext("2d");return r.clear=function(){return i.clearRect(0,0,r.width,r.height)},r.clear(),r}function uR(e){var t=e.pixelRatio,n=e.cy.zoom(),r=e.cy.pan();return{zoom:n*t,pan:{x:r.x*t,y:r.y*t}}}function uI(e,t){return!!t.picking||"solid"===e.pstyle("background-fill").value&&"none"===e.pstyle("background-image").strValue&&(0===e.pstyle("border-width").value||0===e.pstyle("border-opacity").value||"solid"===e.pstyle("border-style").value)}function uL(e,t,n){var r=e[0]/255,i=e[1]/255,a=e[2]/255,o=n||[,,,,];return o[0]=r*t,o[1]=i*t,o[2]=a*t,o[3]=t,o}function uN(e,t){var n=t||[,,,,];return n[0]=(255&e)/255,n[1]=(e>>8&255)/255,n[2]=(e>>16&255)/255,n[3]=(e>>24&255)/255,n}function uz(e,t){switch(t){case"float":return[1,e.FLOAT,4];case"vec2":return[2,e.FLOAT,4];case"vec3":return[3,e.FLOAT,4];case"vec4":return[4,e.FLOAT,4];case"int":return[1,e.INT,4];case"ivec2":return[2,e.INT,4]}}function uO(e,t,n){switch(t){case e.FLOAT:return new Float32Array(n);case e.INT:return new Int32Array(n)}}function uV(e,t,n,r){var i=l(uz(e,n),3),a=i[0],o=i[1],s=i[2],u=uO(e,o,t*a),c=a*s,d=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,d),e.bufferData(e.ARRAY_BUFFER,t*c,e.DYNAMIC_DRAW),e.enableVertexAttribArray(r),o===e.FLOAT?e.vertexAttribPointer(r,a,o,!1,c,0):o===e.INT&&e.vertexAttribIPointer(r,a,o,c,0),e.vertexAttribDivisor(r,1),e.bindBuffer(e.ARRAY_BUFFER,null);for(var h=Array(t),f=0;f<t;f++)h[f]=function(e,t,n,r,i,a){switch(t){case e.FLOAT:return new Float32Array(n.buffer,a*r,i);case e.INT:return new Int32Array(n.buffer,a*r,i)}}(e,o,u,c,a,f);return d.dataArray=u,d.stride=c,d.size=a,d.getView=function(e){return h[e]},d.setPoint=function(e,t,n){var r=h[e];r[0]=t,r[1]=n},d.bufferSubData=function(t){e.bindBuffer(e.ARRAY_BUFFER,d),t?e.bufferSubData(e.ARRAY_BUFFER,0,u,0,t*a):e.bufferSubData(e.ARRAY_BUFFER,0,u)},d}u_.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=this.cy.window(),n=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(t.devicePixelRatio||1)/n},u_.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;i<n.length;i++)if((t=n[i]).context===e){r=!1;break}return r&&(t={context:e},n.push(t)),t},u_.createGradientStyleFor=function(e,t,n,r,i){var a,o=this.usePaths(),s=n.pstyle(t+"-gradient-stop-colors").value,l=n.pstyle(t+"-gradient-stop-positions").pfValue;if("radial-gradient"===r)if(n.isEdge()){var u=n.sourceEndpoint(),c=n.targetEndpoint(),d=n.midpoint(),h=tg(u,d),f=tg(c,d);a=e.createRadialGradient(d.x,d.y,0,d.x,d.y,Math.max(h,f))}else{var p=o?{x:0,y:0}:n.position(),g=n.paddedWidth(),v=n.paddedHeight();a=e.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(g,v))}else if(n.isEdge()){var y=n.sourceEndpoint(),b=n.targetEndpoint();a=e.createLinearGradient(y.x,y.y,b.x,b.y)}else{var x=o?{x:0,y:0}:n.position(),w=n.paddedWidth(),E=n.paddedHeight(),k=w/2,T=E/2;switch(n.pstyle("background-gradient-direction").value){case"to-bottom":a=e.createLinearGradient(x.x,x.y-T,x.x,x.y+T);break;case"to-top":a=e.createLinearGradient(x.x,x.y+T,x.x,x.y-T);break;case"to-left":a=e.createLinearGradient(x.x+k,x.y,x.x-k,x.y);break;case"to-right":a=e.createLinearGradient(x.x-k,x.y,x.x+k,x.y);break;case"to-bottom-right":case"to-right-bottom":a=e.createLinearGradient(x.x-k,x.y-T,x.x+k,x.y+T);break;case"to-top-right":case"to-right-top":a=e.createLinearGradient(x.x-k,x.y+T,x.x+k,x.y-T);break;case"to-bottom-left":case"to-left-bottom":a=e.createLinearGradient(x.x+k,x.y-T,x.x-k,x.y+T);break;case"to-top-left":case"to-left-top":a=e.createLinearGradient(x.x+k,x.y+T,x.x-k,x.y-T)}}if(!a)return null;for(var C=l.length===s.length,P=s.length,S=0;S<P;S++)a.addColorStop(C?l[S]:S/(P-1),"rgba("+s[S][0]+","+s[S][1]+","+s[S][2]+","+i+")");return a},u_.gradientFillStyle=function(e,t,n,r){var i=this.createGradientStyleFor(e,"background",t,n,r);if(!i)return null;e.fillStyle=i},u_.colorFillStyle=function(e,t,n,r,i){e.fillStyle="rgba("+t+","+n+","+r+","+i+")"},u_.eleFillStyle=function(e,t,n){var r=t.pstyle("background-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientFillStyle(e,t,r,n);else{var i=t.pstyle("background-color").value;this.colorFillStyle(e,i[0],i[1],i[2],n)}},u_.gradientStrokeStyle=function(e,t,n,r){var i=this.createGradientStyleFor(e,"line",t,n,r);if(!i)return null;e.strokeStyle=i},u_.colorStrokeStyle=function(e,t,n,r,i){e.strokeStyle="rgba("+t+","+n+","+r+","+i+")"},u_.eleStrokeStyle=function(e,t,n){var r=t.pstyle("line-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientStrokeStyle(e,t,r,n);else{var i=t.pstyle("line-color").value;this.colorStrokeStyle(e,i[0],i[1],i[2],n)}},u_.matchCanvasSize=function(e){var t,n=this.data,r=this.findContainerClientCoords(),i=r[2],a=r[3],o=this.getPixelRatio(),s=this.motionBlurPxRatio;(e===this.data.bufferCanvases[this.MOTIONBLUR_BUFFER_NODE]||e===this.data.bufferCanvases[this.MOTIONBLUR_BUFFER_DRAG])&&(o=s);var l=i*o,u=a*o;if(l!==this.canvasWidth||u!==this.canvasHeight){this.fontCaches=null;var c=n.canvasContainer;c.style.width=i+"px",c.style.height=a+"px";for(var d=0;d<this.CANVAS_LAYERS;d++)(t=n.canvases[d]).width=l,t.height=u,t.style.width=i+"px",t.style.height=a+"px";for(var d=0;d<this.BUFFER_COUNT;d++)(t=n.bufferCanvases[d]).width=l,t.height=u,t.style.width=i+"px",t.style.height=a+"px";this.textureMult=1,o<=1&&(t=n.bufferCanvases[this.TEXTURE_BUFFER],this.textureMult=2,t.width=l*this.textureMult,t.height=u*this.textureMult),this.canvasWidth=l,this.canvasHeight=u,this.pixelRatio=o}},u_.renderTo=function(e,t,n,r){this.render({forcedContext:e,forcedZoom:t,forcedPan:n,drawAllLayers:!0,forcedPxRatio:r})},u_.clearCanvas=function(){var e=this,t=e.data;function n(t){t.clearRect(0,0,e.canvasWidth,e.canvasHeight)}n(t.contexts[e.NODE]),n(t.contexts[e.DRAG])},u_.render=function(e){var t=this;e=e||eY();var n=t.cy,r=e.forcedContext,i=e.drawAllLayers,a=e.drawOnlyNodeLayer,o=e.forcedZoom,s=e.forcedPan,l=void 0===e.forcedPxRatio?this.getPixelRatio():e.forcedPxRatio,u=t.data,c=u.canvasNeedsRedraw,d=t.textureOnViewport&&!r&&(t.pinching||t.hoverData.dragging||t.swipePanning||t.data.wheelZooming),h=void 0!==e.motionBlur?e.motionBlur:t.motionBlur,f=t.motionBlurPxRatio,p=n.hasCompoundNodes(),g=t.hoverData.draggingEles,v=!!t.hoverData.selecting||!!t.touchData.selecting,y=h=h&&!r&&t.motionBlurEnabled&&!v;r||(t.prevPxRatio!==l&&(t.invalidateContainerClientCoordsCache(),t.matchCanvasSize(t.container),t.redrawHint("eles",!0),t.redrawHint("drag",!0)),t.prevPxRatio=l),!r&&t.motionBlurTimeout&&clearTimeout(t.motionBlurTimeout),h&&(null==t.mbFrames&&(t.mbFrames=0),t.mbFrames++,t.mbFrames<3&&(y=!1),t.mbFrames>t.minMbLowQualFrames&&(t.motionBlurPxRatio=t.mbPxRBlurry)),t.clearingMotionBlur&&(t.motionBlurPxRatio=1),t.textureDrawLastFrame&&!d&&(c[t.NODE]=!0,c[t.SELECT_BOX]=!0);var b=n.style(),x=n.zoom(),w=void 0!==o?o:x,E=n.pan(),k={x:E.x,y:E.y},T={zoom:x,pan:{x:E.x,y:E.y}},C=t.prevViewport;void 0===C||T.zoom!==C.zoom||T.pan.x!==C.pan.x||T.pan.y!==C.pan.y||g&&!p||(t.motionBlurPxRatio=1),s&&(k=s),w*=l,k.x*=l,k.y*=l;var P=t.getCachedZSortedEles();function S(e,n,r,i,a){var o=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",t.colorFillStyle(e,255,255,255,t.motionBlurTransparency),e.fillRect(n,r,i,a),e.globalCompositeOperation=o}function B(e,n){var a,l,c,d;t.clearingMotionBlur||e!==u.bufferContexts[t.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[t.MOTIONBLUR_BUFFER_DRAG]?(a=k,l=w,c=t.canvasWidth,d=t.canvasHeight):(a={x:E.x*f,y:E.y*f},l=x*f,c=t.canvasWidth*f,d=t.canvasHeight*f),e.setTransform(1,0,0,1,0,0),"motionBlur"===n?S(e,0,0,c,d):!r&&(void 0===n||n)&&e.clearRect(0,0,c,d),i||(e.translate(a.x,a.y),e.scale(l,l)),s&&e.translate(s.x,s.y),o&&e.scale(o,o)}if(d||(t.textureDrawLastFrame=!1),d){if(t.textureDrawLastFrame=!0,!t.textureCache){t.textureCache={},t.textureCache.bb=n.mutableElements().boundingBox(),t.textureCache.texture=t.data.bufferCanvases[t.TEXTURE_BUFFER];var D=t.data.bufferContexts[t.TEXTURE_BUFFER];D.setTransform(1,0,0,1,0,0),D.clearRect(0,0,t.canvasWidth*t.textureMult,t.canvasHeight*t.textureMult),t.render({forcedContext:D,drawOnlyNodeLayer:!0,forcedPxRatio:l*t.textureMult});var T=t.textureCache.viewport={zoom:n.zoom(),pan:n.pan(),width:t.canvasWidth,height:t.canvasHeight};T.mpan={x:(0-T.pan.x)/T.zoom,y:(0-T.pan.y)/T.zoom}}c[t.DRAG]=!1,c[t.NODE]=!1;var _=u.contexts[t.NODE],A=t.textureCache.texture,T=t.textureCache.viewport;_.setTransform(1,0,0,1,0,0),h?S(_,0,0,T.width,T.height):_.clearRect(0,0,T.width,T.height);var M=b.core("outside-texture-bg-color").value,R=b.core("outside-texture-bg-opacity").value;t.colorFillStyle(_,M[0],M[1],M[2],R),_.fillRect(0,0,T.width,T.height);var x=n.zoom();B(_,!1),_.clearRect(T.mpan.x,T.mpan.y,T.width/T.zoom/l,T.height/T.zoom/l),_.drawImage(A,T.mpan.x,T.mpan.y,T.width/T.zoom/l,T.height/T.zoom/l)}else t.textureOnViewport&&!r&&(t.textureCache=null);var I=n.extent(),L=t.pinching||t.hoverData.dragging||t.swipePanning||t.data.wheelZooming||t.hoverData.draggingEles||t.cy.animated(),N=t.hideEdgesOnViewport&&L,z=[];if(z[t.NODE]=!c[t.NODE]&&h&&!t.clearedForMotionBlur[t.NODE]||t.clearingMotionBlur,z[t.NODE]&&(t.clearedForMotionBlur[t.NODE]=!0),z[t.DRAG]=!c[t.DRAG]&&h&&!t.clearedForMotionBlur[t.DRAG]||t.clearingMotionBlur,z[t.DRAG]&&(t.clearedForMotionBlur[t.DRAG]=!0),c[t.NODE]||i||a||z[t.NODE]){var O=h&&!z[t.NODE]&&1!==f,_=r||(O?t.data.bufferContexts[t.MOTIONBLUR_BUFFER_NODE]:u.contexts[t.NODE]);B(_,h&&!O?"motionBlur":void 0),N?t.drawCachedNodes(_,P.nondrag,l,I):t.drawLayeredElements(_,P.nondrag,l,I),t.debug&&t.drawDebugPoints(_,P.nondrag),i||h||(c[t.NODE]=!1)}if(!a&&(c[t.DRAG]||i||z[t.DRAG])){var O=h&&!z[t.DRAG]&&1!==f,_=r||(O?t.data.bufferContexts[t.MOTIONBLUR_BUFFER_DRAG]:u.contexts[t.DRAG]);B(_,h&&!O?"motionBlur":void 0),N?t.drawCachedNodes(_,P.drag,l,I):t.drawCachedElements(_,P.drag,l,I),t.debug&&t.drawDebugPoints(_,P.drag),i||h||(c[t.DRAG]=!1)}if(this.drawSelectionRectangle(e,B),h&&1!==f){var V=u.contexts[t.NODE],F=t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE],X=u.contexts[t.DRAG],j=t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG],Y=function(e,n,r){e.setTransform(1,0,0,1,0,0),r||!y?e.clearRect(0,0,t.canvasWidth,t.canvasHeight):S(e,0,0,t.canvasWidth,t.canvasHeight),e.drawImage(n,0,0,t.canvasWidth*f,t.canvasHeight*f,0,0,t.canvasWidth,t.canvasHeight)};(c[t.NODE]||z[t.NODE])&&(Y(V,F,z[t.NODE]),c[t.NODE]=!1),(c[t.DRAG]||z[t.DRAG])&&(Y(X,j,z[t.DRAG]),c[t.DRAG]=!1)}t.prevViewport=T,t.clearingMotionBlur&&(t.clearingMotionBlur=!1,t.motionBlurCleared=!0,t.motionBlur=!0),h&&(t.motionBlurTimeout=setTimeout(function(){t.motionBlurTimeout=null,t.clearedForMotionBlur[t.NODE]=!1,t.clearedForMotionBlur[t.DRAG]=!1,t.motionBlur=!1,t.clearingMotionBlur=!d,t.mbFrames=0,c[t.NODE]=!0,c[t.DRAG]=!0,t.redraw()},100)),r||n.emit("render")},u_.drawSelectionRectangle=function(e,t){var n=this.cy,r=this.data,i=n.style(),a=e.drawOnlyNodeLayer,o=e.drawAllLayers,s=r.canvasNeedsRedraw,l=e.forcedContext;if(this.showFps||!a&&s[this.SELECT_BOX]&&!o){var u=l||r.contexts[this.SELECT_BOX];if(t(u),1==this.selection[4]&&(this.hoverData.selecting||this.touchData.selecting)){var c=this.cy.zoom(),d=i.core("selection-box-border-width").value/c;u.lineWidth=d,u.fillStyle="rgba("+i.core("selection-box-color").value[0]+","+i.core("selection-box-color").value[1]+","+i.core("selection-box-color").value[2]+","+i.core("selection-box-opacity").value+")",u.fillRect(this.selection[0],this.selection[1],this.selection[2]-this.selection[0],this.selection[3]-this.selection[1]),d>0&&(u.strokeStyle="rgba("+i.core("selection-box-border-color").value[0]+","+i.core("selection-box-border-color").value[1]+","+i.core("selection-box-border-color").value[2]+","+i.core("selection-box-opacity").value+")",u.strokeRect(this.selection[0],this.selection[1],this.selection[2]-this.selection[0],this.selection[3]-this.selection[1]))}if(r.bgActivePosistion&&!this.hoverData.selecting){var c=this.cy.zoom(),h=r.bgActivePosistion;u.fillStyle="rgba("+i.core("active-bg-color").value[0]+","+i.core("active-bg-color").value[1]+","+i.core("active-bg-color").value[2]+","+i.core("active-bg-opacity").value+")",u.beginPath(),u.arc(h.x,h.y,i.core("active-bg-size").pfValue/c,0,2*Math.PI),u.fill()}var f=this.lastRedrawTime;if(this.showFps&&f){var p=Math.round(1e3/(f=Math.round(f))),g="1 frame = "+f+" ms = "+p+" fps";u.setTransform(1,0,0,1,0,0),u.fillStyle="rgba(255, 0, 0, 0.75)",u.strokeStyle="rgba(255, 0, 0, 0.75)",u.font="30px Arial",x||(x=u.measureText(g).actualBoundingBoxAscent),u.fillText(g,0,x),u.strokeRect(0,x+10,250,20),u.fillRect(0,x+10,250*Math.min(p/60,1),20)}o||(s[this.SELECT_BOX]=!1)}};var uF="u">typeof Float32Array?Float32Array:Array;function uX(){var e=new uF(9);return uF!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function uj(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function uY(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=n[0],f=n[1];return e[0]=r,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=h*r+f*o+u,e[7]=h*i+f*s+c,e[8]=h*a+f*l+d,e}function uq(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=Math.sin(n),f=Math.cos(n);return e[0]=f*r+h*o,e[1]=f*i+h*s,e[2]=f*a+h*l,e[3]=f*o-h*r,e[4]=f*s-h*i,e[5]=f*l-h*a,e[6]=u,e[7]=c,e[8]=d,e}function uW(e,t,n){var r=n[0],i=n[1];return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var uU=a(function e(t,n,r,a){i(this,e),this.debugID=Math.floor(1e4*Math.random()),this.r=t,this.texSize=n,this.texRows=r,this.texHeight=Math.floor(n/r),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=a(t,n,n),this.scratch=a(t,n,this.texHeight,"scratch")},[{key:"lock",value:function(){this.locked=!0}},{key:"getKeys",value:function(){return new Set(this.keyToLocation.keys())}},{key:"getScale",value:function(e){var t=e.w,n=e.h,r=this.texHeight,i=this.texSize,a=r/n,o=t*a,s=n*a;return o>i&&(a=i/t,o=t*a,s=n*a),{scale:a,texW:o,texH:s}}},{key:"draw",value:function(e,t,n){var r,i,a,o,s,l,u,c=this;if(this.locked)throw Error("can't draw, atlas is locked");var d=this.texSize,h=this.texRows,f=this.texHeight,p=this.getScale(t),g=p.scale,v=p.texW,y=p.texH,b=function(e,r){if(n&&r){var i=r.context,a=e.x,o=f*e.row;i.save(),i.translate(a,o),i.scale(g,g),n(i,t),i.restore()}},x=[null,null],w=function(){b(c.freePointer,c.canvas),x[0]={x:c.freePointer.x,y:c.freePointer.row*f,w:v,h:y},x[1]={x:c.freePointer.x+v,y:c.freePointer.row*f,w:0,h:y},c.freePointer.x+=v,c.freePointer.x==d&&(c.freePointer.x=0,c.freePointer.row++)},E=function(){c.freePointer.x=0,c.freePointer.row++};if(this.freePointer.x+v<=d)w();else{if(this.freePointer.row>=h-1)return!1;this.freePointer.x===d?(E(),w()):this.enableWrapping?(r=c.scratch,i=c.canvas,r.clear(),b({x:0,row:0},r),o=v-(a=d-c.freePointer.x),s=c.freePointer.x,l=c.freePointer.row*f,i.context.drawImage(r,0,0,a,f,s,l,a,f),x[0]={x:s,y:l,w:a,h:y},u=(c.freePointer.row+1)*f,i&&i.context.drawImage(r,a,0,o,f,0,u,o,f),x[1]={x:0,y:u,w:o,h:y},c.freePointer.x=o,c.freePointer.row++):(E(),w())}return this.keyToLocation.set(e,x),this.needsBuffer=!0,x}},{key:"getOffsets",value:function(e){return this.keyToLocation.get(e)}},{key:"isEmpty",value:function(){return 0===this.freePointer.x&&0===this.freePointer.row}},{key:"canFit",value:function(e){if(this.locked)return!1;var t=this.texSize,n=this.texRows,r=this.getScale(e).texW;return!(this.freePointer.x+r>t)||this.freePointer.row<n-1}},{key:"bufferIfNeeded",value:function(e){var t;this.texture||(this.texture=(this.debugID,(t=e.createTexture()).buffer=function(n){e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_NEAREST),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n),e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null)},t.deleteTexture=function(){e.deleteTexture(t)},t)),this.needsBuffer&&(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked&&(this.canvas=null,this.scratch=null))}},{key:"dispose",value:function(){this.texture&&(this.texture.deleteTexture(),this.texture=null),this.canvas=null,this.scratch=null,this.locked=!0}}]),uH=a(function e(t,n,r,a){i(this,e),this.r=t,this.texSize=n,this.texRows=r,this.createTextureCanvas=a,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set},[{key:"getKeys",value:function(){return new Set(this.styleKeyToAtlas.keys())}},{key:"_createAtlas",value:function(){return new uU(this.r,this.texSize,this.texRows,this.createTextureCanvas)}},{key:"_getScratchCanvas",value:function(){if(!this.scratch){var e=this.r,t=this.texSize,n=this.texRows,r=this.createTextureCanvas,i=Math.floor(t/n);this.scratch=r(e,t,i,"scratch")}return this.scratch}},{key:"draw",value:function(e,t,n){var r=this.styleKeyToAtlas.get(e);return r||((r=this.atlases[this.atlases.length-1])&&r.canFit(t)||(r&&r.lock(),r=this._createAtlas(),this.atlases.push(r)),r.draw(e,t,n),this.styleKeyToAtlas.set(e,r)),r}},{key:"getAtlas",value:function(e){return this.styleKeyToAtlas.get(e)}},{key:"hasAtlas",value:function(e){return this.styleKeyToAtlas.has(e)}},{key:"markKeyForGC",value:function(e){this.markedKeys.add(e)}},{key:"gc",value:function(){var e=this,t=this.markedKeys;if(0===t.size)return void console.log("nothing to garbage collect");var n,r=[],i=new Map,a=null,s=o(this.atlases);try{for(s.s();!(n=s.n()).done;)if(function(){var s=n.value,c=s.getKeys(),d=function(e,t){return e.intersection?e.intersection(t):new Set(u(e).filter(function(e){return t.has(e)}))}(t,c);if(0===d.size)return r.push(s),c.forEach(function(e){return i.set(e,s)}),1;a||(a=e._createAtlas(),r.push(a));var h,f=o(c);try{for(f.s();!(h=f.n()).done;){var p=h.value;if(!d.has(p)){var g=s.getOffsets(p),v=l(g,2),y=v[0],b=v[1];a.canFit({w:y.w+b.w,h:y.h})||(a.lock(),a=e._createAtlas(),r.push(a)),s.canvas&&(e._copyTextureToNewAtlas(p,s,a),i.set(p,a))}}}catch(e){f.e(e)}finally{f.f()}s.dispose()}())continue}catch(e){s.e(e)}finally{s.f()}this.atlases=r,this.styleKeyToAtlas=i,this.markedKeys=new Set}},{key:"_copyTextureToNewAtlas",value:function(e,t,n){var r=l(t.getOffsets(e),2),i=r[0],a=r[1];if(0===a.w)n.draw(e,i,function(e){e.drawImage(t.canvas,i.x,i.y,i.w,i.h,0,0,i.w,i.h)});else{var o=this._getScratchCanvas();o.clear(),o.context.drawImage(t.canvas,i.x,i.y,i.w,i.h,0,0,i.w,i.h),o.context.drawImage(t.canvas,a.x,a.y,a.w,a.h,i.w,0,a.w,a.h);var s=i.w+a.w,u=i.h;n.draw(e,{w:s,h:u},function(e){e.drawImage(o,0,0,s,u,0,0,s,u)})}}},{key:"getCounts",value:function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}}}]),uK=a(function e(t,n){i(this,e),this.r=t,this.globalOptions=n,this.atlasSize=n.webglTexSize,this.maxAtlasesPerBatch=n.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map},[{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"addAtlasCollection",value:function(e,t){var n=this.globalOptions,r=n.webglTexSize,i=n.createTextureCanvas,a=t.texRows,o=this._cacheScratchCanvas(i),s=new uH(this.r,r,a,o);this.collections.set(e,s)}},{key:"addRenderType",value:function(e,t){var n=t.collection;if(!this.collections.has(n))throw Error("invalid atlas collection name '".concat(n,"'"));var r=ee({type:e,atlasCollection:this.collections.get(n)},t);this.renderTypes.set(e,r)}},{key:"getRenderTypeOpts",value:function(e){return this.renderTypes.get(e)}},{key:"getAtlasCollection",value:function(e){return this.collections.get(e)}},{key:"_cacheScratchCanvas",value:function(e){var t=-1,n=-1,r=null;return function(i,a,o,s){return s?(r&&a==t&&o==n||(t=a,n=o,r=e(i,a,o)),r):e(i,a,o)}}},{key:"_key",value:function(e,t){return"".concat(e,"-").concat(t)}},{key:"invalidate",value:function(e){var t,n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.forceRedraw,a=void 0!==i&&i,s=r.filterEle,l=void 0===s?function(){return!0}:s,u=r.filterType,c=void 0===u?function(){return!0}:u,d=!1,h=!1,f=o(e);try{for(f.s();!(t=f.n()).done;){var p=t.value;if(l(p)){var g,v=o(this.renderTypes.values());try{for(v.s();!(g=v.n()).done;)!function(){var e=g.value,t=e.type;if(c(t)){var r=n.collections.get(e.collection),i=e.getKey(p),o=Array.isArray(i)?i:[i];if(a)o.forEach(function(e){return r.markKeyForGC(e)}),h=!0;else{var s=e.getID?e.getID(p):p.id(),l=n._key(t,s),u=n.typeAndIdToKey.get(l);void 0!==u&&!function(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(o,u)&&(d=!0,n.typeAndIdToKey.delete(l),u.forEach(function(e){return r.markKeyForGC(e)}))}}}()}catch(e){v.e(e)}finally{v.f()}}}}catch(e){f.e(e)}finally{f.f()}return h&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var e,t=o(this.collections.values());try{for(t.s();!(e=t.n()).done;)e.value.gc()}catch(e){t.e(e)}finally{t.f()}}},{key:"getOrCreateAtlas",value:function(e,t,n,r){var i=this.renderTypes.get(t),a=this.collections.get(i.collection),o=!1,s=a.draw(r,n,function(t){i.drawClipped?(t.save(),t.beginPath(),t.rect(0,0,n.w,n.h),t.clip(),i.drawElement(t,e,n,!0,!0),t.restore()):i.drawElement(t,e,n,!0,!0),o=!0});if(o){var l=i.getID?i.getID(e):e.id(),u=this._key(t,l);this.typeAndIdToKey.has(u)?this.typeAndIdToKey.get(u).push(r):this.typeAndIdToKey.set(u,[r])}return s}},{key:"getAtlasInfo",value:function(e,t){var n=this,r=this.renderTypes.get(t),i=r.getKey(e);return(Array.isArray(i)?i:[i]).map(function(i){var a=r.getBoundingBox(e,i),o=n.getOrCreateAtlas(e,t,a,i),s=l(o.getOffsets(i),2),u=s[0];return{atlas:o,tex:u,tex1:u,tex2:s[1],bb:a}})}},{key:"getDebugInfo",value:function(){var e,t=[],n=o(this.collections);try{for(n.s();!(e=n.n()).done;){var r=l(e.value,2),i=r[0],a=r[1].getCounts(),s=a.keyCount,u=a.atlasCount;t.push({type:i,keyCount:s,atlasCount:u})}}catch(e){n.e(e)}finally{n.f()}return t}}]),uG=a(function e(t){i(this,e),this.globalOptions=t,this.atlasSize=t.webglTexSize,this.maxAtlasesPerBatch=t.webglTexPerBatch,this.batchAtlases=[]},[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(e,t){return t})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(e){return this.batchAtlases.length!==this.maxAtlasesPerBatch||this.batchAtlases.includes(e)}},{key:"getAtlasIndexForBatch",value:function(e){var t=this.batchAtlases.indexOf(e);if(t<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw Error("cannot add more atlases to batch");this.batchAtlases.push(e),t=this.batchAtlases.length-1}return t}}]),uZ={name:"screen",screen:!0},u$={name:"picking",picking:!0},uQ=a(function e(t,n,r){i(this,e),this.r=t,this.gl=n,this.maxInstances=r.webglBatchSize,this.atlasSize=r.webglTexSize,this.bgColor=r.bgColor,this.debug=r.webglDebug,this.batchDebugInfo=[],r.enableWrapping=!0,r.createTextureCanvas=uM,this.atlasManager=new uK(t,r),this.batchManager=new uG(r),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(uZ),this.pickingProgram=this._createShaderProgram(u$),this.vao=this._createVAO()},[{key:"addAtlasCollection",value:function(e,t){this.atlasManager.addAtlasCollection(e,t)}},{key:"addTextureAtlasRenderType",value:function(e,t){this.atlasManager.addRenderType(e,t)}},{key:"addSimpleShapeRenderType",value:function(e,t){this.simpleShapeOptions.set(e,t)}},{key:"invalidate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.type,r=this.atlasManager;return n?r.invalidate(e,{filterType:function(e){return e===n},forceRedraw:!0}):r.invalidate(e)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(e){var t=this.gl,n="#version 300 es\n precision highp float;\n\n uniform mat3 uPanZoomMatrix;\n uniform int uAtlasSize;\n \n // instanced\n in vec2 aPosition; // a vertex from the unit square\n \n in mat3 aTransform; // used to transform verticies, eg into a bounding box\n in int aVertType; // the type of thing we are rendering\n\n // the z-index that is output when using picking mode\n in vec4 aIndex;\n \n // For textures\n in int aAtlasId; // which shader unit/atlas to use\n in vec4 aTex; // x/y/w/h of texture in atlas\n\n // for edges\n in vec4 aPointAPointB;\n in vec4 aPointCPointD;\n in vec2 aLineWidth; // also used for node border width\n\n // simple shapes\n in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]\n in vec4 aColor; // also used for edges\n in vec4 aBorderColor; // aLineWidth is used for border width\n\n // output values passed to the fragment shader\n out vec2 vTexCoord;\n out vec4 vColor;\n out vec2 vPosition;\n // flat values are not interpolated\n flat out int vAtlasId; \n flat out int vVertType;\n flat out vec2 vTopRight;\n flat out vec2 vBotLeft;\n flat out vec4 vCornerRadius;\n flat out vec4 vBorderColor;\n flat out vec2 vBorderWidth;\n flat out vec4 vIndex;\n \n void main(void) {\n int vid = gl_VertexID;\n vec2 position = aPosition; // TODO make this a vec3, simplifies some code below\n\n if(aVertType == ".concat(0,") {\n float texX = aTex.x; // texture coordinates\n float texY = aTex.y;\n float texW = aTex.z;\n float texH = aTex.w;\n\n if(vid == 1 || vid == 2 || vid == 4) {\n texX += texW;\n }\n if(vid == 2 || vid == 4 || vid == 5) {\n texY += texH;\n }\n\n float d = float(uAtlasSize);\n vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(4," || aVertType == ").concat(7," \n || aVertType == ").concat(5," || aVertType == ").concat(6,") { // simple shapes\n\n // the bounding box is needed by the fragment shader\n vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat\n vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat\n vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated\n\n // calculations are done in the fragment shader, just pass these along\n vColor = aColor;\n vCornerRadius = aCornerRadius;\n vBorderColor = aBorderColor;\n vBorderWidth = aLineWidth;\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(1,") {\n vec2 source = aPointAPointB.xy;\n vec2 target = aPointAPointB.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n // stretch the unit square into a long skinny rectangle\n vec2 xBasis = target - source;\n vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));\n vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;\n\n gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);\n vColor = aColor;\n } \n else if(aVertType == ").concat(2,") {\n vec2 pointA = aPointAPointB.xy;\n vec2 pointB = aPointAPointB.zw;\n vec2 pointC = aPointCPointD.xy;\n vec2 pointD = aPointCPointD.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n vec2 p0, p1, p2, pos;\n if(position.x == 0.0) { // The left side of the unit square\n p0 = pointA;\n p1 = pointB;\n p2 = pointC;\n pos = position;\n } else { // The right side of the unit square, use same approach but flip the geometry upside down\n p0 = pointD;\n p1 = pointC;\n p2 = pointB;\n pos = vec2(0.0, -position.y);\n }\n\n vec2 p01 = p1 - p0;\n vec2 p12 = p2 - p1;\n vec2 p21 = p1 - p2;\n\n // Find the normal vector.\n vec2 tangent = normalize(normalize(p12) + normalize(p01));\n vec2 normal = vec2(-tangent.y, tangent.x);\n\n // Find the vector perpendicular to p0 -> p1.\n vec2 p01Norm = normalize(vec2(-p01.y, p01.x));\n\n // Determine the bend direction.\n float sigma = sign(dot(p01 + p21, normal));\n float width = aLineWidth[0];\n\n if(sign(pos.y) == -sigma) {\n // This is an intersecting vertex. Adjust the position so that there's no overlap.\n vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n } else {\n // This is a non-intersecting vertex. Treat it like a mitre join.\n vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n }\n\n vColor = aColor;\n } \n else if(aVertType == ").concat(3," && vid < 3) {\n // massage the first triangle into an edge arrow\n if(vid == 0)\n position = vec2(-0.15, -0.3);\n if(vid == 1)\n position = vec2( 0.0, 0.0);\n if(vid == 2)\n position = vec2( 0.15, -0.3);\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n vColor = aColor;\n }\n else {\n gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space\n }\n\n vAtlasId = aAtlasId;\n vVertType = aVertType;\n vIndex = aIndex;\n }\n "),r=this.batchManager.getIndexArray(),i=function(e,t,n){var r=uA(e,e.VERTEX_SHADER,t),i=uA(e,e.FRAGMENT_SHADER,n),a=e.createProgram();if(e.attachShader(a,r),e.attachShader(a,i),e.linkProgram(a),!e.getProgramParameter(a,e.LINK_STATUS))throw Error("Could not initialize shaders");return a}(t,n,"#version 300 es\n precision highp float;\n\n // declare texture unit for each texture atlas in the batch\n ".concat(r.map(function(e){return"uniform sampler2D uTexture".concat(e,";")}).join("\n "),"\n\n uniform vec4 uBGColor;\n uniform float uZoom;\n\n in vec2 vTexCoord;\n in vec4 vColor;\n in vec2 vPosition; // model coordinates\n\n flat in int vAtlasId;\n flat in vec4 vIndex;\n flat in int vVertType;\n flat in vec2 vTopRight;\n flat in vec2 vBotLeft;\n flat in vec4 vCornerRadius;\n flat in vec4 vBorderColor;\n flat in vec2 vBorderWidth;\n\n out vec4 outColor;\n\n ").concat("\n float circleSD(vec2 p, float r) {\n return distance(vec2(0), p) - r; // signed distance\n }\n","\n ").concat("\n float rectangleSD(vec2 p, vec2 b) {\n vec2 d = abs(p)-b;\n return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);\n }\n","\n ").concat("\n float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {\n cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;\n cr.x = (p.y > 0.0) ? cr.x : cr.y;\n vec2 q = abs(p) - b + cr.x;\n return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;\n }\n","\n ").concat("\n float ellipseSD(vec2 p, vec2 ab) {\n p = abs( p ); // symmetry\n\n // find root with Newton solver\n vec2 q = ab*(p-ab);\n float w = (q.x<q.y)? 1.570796327 : 0.0;\n for( int i=0; i<5; i++ ) {\n vec2 cs = vec2(cos(w),sin(w));\n vec2 u = ab*vec2( cs.x,cs.y);\n vec2 v = ab*vec2(-cs.y,cs.x);\n w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));\n }\n \n // compute final point and distance\n float d = length(p-ab*vec2(cos(w),sin(w)));\n \n // return signed distance\n return (dot(p/ab,p/ab)>1.0) ? d : -d;\n }\n","\n\n vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha\n return vec4( \n top.rgb + (bot.rgb * (1.0 - top.a)),\n top.a + (bot.a * (1.0 - top.a)) \n );\n }\n\n vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance\n // scale to the zoom level so that borders don't look blurry when zoomed in\n // note 1.5 is an aribitrary value chosen because it looks good\n return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); \n }\n\n void main(void) {\n if(vVertType == ").concat(0,") {\n // look up the texel from the texture unit\n ").concat(r.map(function(e){return"if(vAtlasId == ".concat(e,") outColor = texture(uTexture").concat(e,", vTexCoord);")}).join("\n else "),"\n } \n else if(vVertType == ").concat(3,") {\n // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';\n outColor = blend(vColor, uBGColor);\n outColor.a = 1.0; // make opaque, masks out line under arrow\n }\n else if(vVertType == ").concat(4," && vBorderWidth == vec2(0.0)) { // simple rectangle with no border\n outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done\n }\n else if(vVertType == ").concat(4," || vVertType == ").concat(7," \n || vVertType == ").concat(5," || vVertType == ").concat(6,") { // use SDF\n\n float outerBorder = vBorderWidth[0];\n float innerBorder = vBorderWidth[1];\n float borderPadding = outerBorder * 2.0;\n float w = vTopRight.x - vBotLeft.x - borderPadding;\n float h = vTopRight.y - vBotLeft.y - borderPadding;\n vec2 b = vec2(w/2.0, h/2.0); // half width, half height\n vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center\n\n float d; // signed distance\n if(vVertType == ").concat(4,") {\n d = rectangleSD(p, b);\n } else if(vVertType == ").concat(7," && w == h) {\n d = circleSD(p, b.x); // faster than ellipse\n } else if(vVertType == ").concat(7,") {\n d = ellipseSD(p, b);\n } else {\n d = roundRectangleSD(p, b, vCornerRadius.wzyx);\n }\n\n // use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling\n // we must smooth colors inwards, because we can't change pixels outside the shape's bounding box\n if(d > 0.0) {\n if(d > outerBorder) {\n discard;\n } else {\n outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);\n }\n } else {\n if(d > innerBorder) {\n vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;\n vec4 innerBorderColor = blend(vBorderColor, vColor);\n outColor = distInterp(innerBorderColor, outerColor, d);\n } \n else {\n vec4 outerColor;\n if(innerBorder == 0.0 && outerBorder == 0.0) {\n outerColor = vec4(0);\n } else if(innerBorder == 0.0) {\n outerColor = vBorderColor;\n } else {\n outerColor = blend(vBorderColor, vColor);\n }\n outColor = distInterp(vColor, outerColor, d - innerBorder);\n }\n }\n }\n else {\n outColor = vColor;\n }\n\n ").concat(e.picking?"if(outColor.a == 0.0) discard;\n else outColor = vIndex;":"","\n }\n "));i.aPosition=t.getAttribLocation(i,"aPosition"),i.aIndex=t.getAttribLocation(i,"aIndex"),i.aVertType=t.getAttribLocation(i,"aVertType"),i.aTransform=t.getAttribLocation(i,"aTransform"),i.aAtlasId=t.getAttribLocation(i,"aAtlasId"),i.aTex=t.getAttribLocation(i,"aTex"),i.aPointAPointB=t.getAttribLocation(i,"aPointAPointB"),i.aPointCPointD=t.getAttribLocation(i,"aPointCPointD"),i.aLineWidth=t.getAttribLocation(i,"aLineWidth"),i.aColor=t.getAttribLocation(i,"aColor"),i.aCornerRadius=t.getAttribLocation(i,"aCornerRadius"),i.aBorderColor=t.getAttribLocation(i,"aBorderColor"),i.uPanZoomMatrix=t.getUniformLocation(i,"uPanZoomMatrix"),i.uAtlasSize=t.getUniformLocation(i,"uAtlasSize"),i.uBGColor=t.getUniformLocation(i,"uBGColor"),i.uZoom=t.getUniformLocation(i,"uZoom"),i.uTextures=[];for(var a=0;a<this.batchManager.getMaxAtlasesPerBatch();a++)i.uTextures.push(t.getUniformLocation(i,"uTexture".concat(a)));return i}},{key:"_createVAO",value:function(){var e,t,n,r,i,a,o=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=o.length/2;var s=this.maxInstances,u=this.gl,c=this.program,d=u.createVertexArray();return u.bindVertexArray(d),e=c.aPosition,n=(t=l(uz(u,"vec2"),2))[0],i=uO(u,r=t[1],o),a=u.createBuffer(),u.bindBuffer(u.ARRAY_BUFFER,a),u.bufferData(u.ARRAY_BUFFER,i,u.STATIC_DRAW),r===u.FLOAT?u.vertexAttribPointer(e,n,r,!1,0,0):r===u.INT&&u.vertexAttribIPointer(e,n,r,0,0),u.enableVertexAttribArray(e),u.bindBuffer(u.ARRAY_BUFFER,null),this.transformBuffer=function(e,t,n){for(var r=new Float32Array(9*t),i=Array(t),a=0;a<t;a++){var o=9*a*4;i[a]=new Float32Array(r.buffer,o,9)}var s=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,r.byteLength,e.DYNAMIC_DRAW);for(var l=0;l<3;l++){var u=n+l;e.enableVertexAttribArray(u),e.vertexAttribPointer(u,3,e.FLOAT,!1,36,12*l),e.vertexAttribDivisor(u,1)}return e.bindBuffer(e.ARRAY_BUFFER,null),s.getMatrixView=function(e){return i[e]},s.setData=function(e,t){i[t].set(e,0)},s.bufferSubData=function(){e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferSubData(e.ARRAY_BUFFER,0,r)},s}(u,s,c.aTransform),this.indexBuffer=uV(u,s,"vec4",c.aIndex),this.vertTypeBuffer=uV(u,s,"int",c.aVertType),this.atlasIdBuffer=uV(u,s,"int",c.aAtlasId),this.texBuffer=uV(u,s,"vec4",c.aTex),this.pointAPointBBuffer=uV(u,s,"vec4",c.aPointAPointB),this.pointCPointDBuffer=uV(u,s,"vec4",c.aPointCPointD),this.lineWidthBuffer=uV(u,s,"vec2",c.aLineWidth),this.colorBuffer=uV(u,s,"vec4",c.aColor),this.cornerRadiusBuffer=uV(u,s,"vec4",c.aCornerRadius),this.borderColorBuffer=uV(u,s,"vec4",c.aBorderColor),u.bindVertexArray(null),d}},{key:"buffers",get:function(){var e=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(e){return H(e,"Buffer")}).map(function(t){return e[t]})),this._buffers}},{key:"startFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:uZ;this.panZoomMatrix=e,this.renderTarget=t,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(e,t){return!!e.visible()&&(!t||!t.isVisible||t.isVisible(e))}},{key:"drawTexture",value:function(e,t,n){var r=this.atlasManager,i=this.batchManager,a=r.getRenderTypeOpts(n);if(this._isVisible(e,a)&&(!e.isEdge()||this._isValidEdge(e))){if(this.renderTarget.picking&&a.getTexPickingMode){var s=a.getTexPickingMode(e);if(1===s)return;if(2==s)return void this.drawPickingRectangle(e,t,n)}var u,c=o(r.getAtlasInfo(e,n));try{for(c.s();!(u=c.n()).done;){var d=u.value,h=d.atlas,f=d.tex1,p=d.tex2;i.canAddToCurrentBatch(h)||this.endBatch();for(var g=i.getAtlasIndexForBatch(h),v=0,y=[[f,!0],[p,!1]];v<y.length;v++){var b=l(y[v],2),x=b[0],w=b[1];if(0!=x.w){var E=this.instanceCount;this.vertTypeBuffer.getView(E)[0]=0;var k=this.indexBuffer.getView(E);uN(t,k),this.atlasIdBuffer.getView(E)[0]=g;var T=this.texBuffer.getView(E);T[0]=x.x,T[1]=x.y,T[2]=x.w,T[3]=x.h;var C=this.transformBuffer.getMatrixView(E);this.setTransformMatrix(e,C,a,d,w),this.instanceCount++,!w&&this.wrappedCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}catch(e){c.e(e)}finally{c.f()}}}},{key:"setTransformMatrix",value:function(e,t,n,r){var i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=0;if(n.shapeProps&&n.shapeProps.padding&&(a=e.pstyle(n.shapeProps.padding).pfValue),r){var o=r.bb,s=r.tex1,l=r.tex2,u=s.w/(s.w+l.w);i||(u=1-u);var c=this._getAdjustedBB(o,a,i,u);this._applyTransformMatrix(t,c,n,e)}else{var d=n.getBoundingBox(e),h=this._getAdjustedBB(d,a,!0,1);this._applyTransformMatrix(t,h,n,e)}}},{key:"_applyTransformMatrix",value:function(e,t,n,r){uj(e);var i,a,o=n.getRotation?n.getRotation(r):0;if(0!==o){var s=n.getRotationPoint(r);uY(e,e,[s.x,s.y]),uq(e,e,o);var l=n.getRotationOffset(r);i=l.x+(t.xOffset||0),a=l.y+(t.yOffset||0)}else i=t.x1,a=t.y1;uY(e,e,[i,a]),uW(e,e,[t.w,t.h])}},{key:"_getAdjustedBB",value:function(e,t,n,r){var i=e.x1,a=e.y1,o=e.w,s=e.h,l=e.yOffset;t&&(i-=t,a-=t,o+=2*t,s+=2*t);var u=0,c=o*r;return n&&r<1?o=c:!n&&r<1&&(i+=u=o-c,o=c),{x1:i,y1:a,w:o,h:s,xOffset:u,yOffset:l}}},{key:"drawPickingRectangle",value:function(e,t,n){var r=this.atlasManager.getRenderTypeOpts(n),i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=4,uN(t,this.indexBuffer.getView(i)),uL([0,0,0],1,this.colorBuffer.getView(i));var a=this.transformBuffer.getMatrixView(i);this.setTransformMatrix(e,a,r),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(e,t,n){var r=this.simpleShapeOptions.get(n);if(this._isVisible(e,r)){var i=r.shapeProps,a=this._getVertTypeForShape(e,i.shape);if(void 0===a||r.isSimple&&!r.isSimple(e,this.renderTarget))return void this.drawTexture(e,t,n);var o=this.instanceCount;if(this.vertTypeBuffer.getView(o)[0]=a,5===a||6===a){var s=r.getBoundingBox(e),l=this._getCornerRadius(e,i.radius,s),u=this.cornerRadiusBuffer.getView(o);u[0]=l,u[1]=l,u[2]=l,u[3]=l,6===a&&(u[0]=0,u[2]=0)}uN(t,this.indexBuffer.getView(o));var c=this.renderTarget.picking?1:"node-body"===n?e.effectiveOpacity():1,d=this.renderTarget.picking?1:e.pstyle(i.opacity).value*c;uL(e.pstyle(i.color).value,d,this.colorBuffer.getView(o));var h=this.lineWidthBuffer.getView(o);if(h[0]=0,h[1]=0,i.border){var f=e.pstyle("border-width").value;if(f>0){uL(e.pstyle("border-color").value,c*e.pstyle("border-opacity").value,this.borderColorBuffer.getView(o));var p=e.pstyle("border-position").value;if("inside"===p)h[0]=0,h[1]=-f;else if("outside"===p)h[0]=f,h[1]=0;else{var g=f/2;h[0]=g,h[1]=-g}}}var v=this.transformBuffer.getMatrixView(o);this.setTransformMatrix(e,v,r),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(e,t){switch(e.pstyle(t).value){case"rectangle":return 4;case"ellipse":return 7;case"roundrectangle":case"round-rectangle":return 5;case"bottom-round-rectangle":return 6;default:return}}},{key:"_getCornerRadius",value:function(e,t,n){var r=n.w,i=n.h;return"auto"===e.pstyle(t).value?t3(r,i):Math.min(e.pstyle(t).pfValue,i/2,r/2)}},{key:"drawEdgeArrow",value:function(e,t,n){if(e.visible()){var r,i,a,o=e._private.rscratch;if(("source"===n?(r=o.arrowStartX,i=o.arrowStartY,a=o.srcArrowAngle):(r=o.arrowEndX,i=o.arrowEndY,a=o.tgtArrowAngle),!(isNaN(r)||null==r||isNaN(i)||null==i||isNaN(a))&&null!=a)&&"none"!==e.pstyle(n+"-arrow-shape").value){var s=e.pstyle(n+"-arrow-color").value,l=e.pstyle("opacity").value,u=e.pstyle("line-opacity").value,c=e.pstyle("width").pfValue,d=e.pstyle("arrow-scale").value,h=this.r.getArrowWidth(c,d),f=this.instanceCount,p=this.transformBuffer.getMatrixView(f);uj(p),uY(p,p,[r,i]),uW(p,p,[h,h]),uq(p,p,a),this.vertTypeBuffer.getView(f)[0]=3,uN(t,this.indexBuffer.getView(f)),uL(s,l*u,this.colorBuffer.getView(f)),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},{key:"drawEdgeLine",value:function(e,t){if(e.visible()){var n=this._getEdgePoints(e);if(n){var r=e.pstyle("opacity").value,i=e.pstyle("line-opacity").value,a=e.pstyle("width").pfValue,o=e.pstyle("line-color").value,s=r*i;if(n.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==n.length){var l=this.instanceCount;this.vertTypeBuffer.getView(l)[0]=1,uN(t,this.indexBuffer.getView(l)),uL(o,s,this.colorBuffer.getView(l)),this.lineWidthBuffer.getView(l)[0]=a;var u=this.pointAPointBBuffer.getView(l);u[0]=n[0],u[1]=n[1],u[2]=n[2],u[3]=n[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var c=0;c<n.length-2;c+=2){var d=this.instanceCount;this.vertTypeBuffer.getView(d)[0]=2,uN(t,this.indexBuffer.getView(d)),uL(o,s,this.colorBuffer.getView(d)),this.lineWidthBuffer.getView(d)[0]=a;var h=n[c-2],f=n[c-1],p=n[c],g=n[c+1],v=n[c+2],y=n[c+3],b=n[c+4],x=n[c+5];0==c&&(h=2*p-v+.001,f=2*g-y+.001),c==n.length-4&&(b=2*v-p+.001,x=2*y-g+.001);var w=this.pointAPointBBuffer.getView(d);w[0]=h,w[1]=f,w[2]=p,w[3]=g;var E=this.pointCPointDBuffer.getView(d);E[0]=v,E[1]=y,E[2]=b,E[3]=x,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(e){var t=e._private.rscratch;return!(t.badLine||null==t.allpts||isNaN(t.allpts[0]))}},{key:"_getEdgePoints",value:function(e){var t=e._private.rscratch;if(this._isValidEdge(e)){var n=t.allpts;if(4==n.length)return n;var r=this._getNumSegments(e);return this._getCurveSegmentPoints(n,r)}}},{key:"_getNumSegments",value:function(e){return Math.min(15,this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(e,t){if(4==e.length)return e;for(var n=Array((t+1)*2),r=0;r<=t;r++)if(0==r)n[0]=e[0],n[1]=e[1];else if(r==t)n[2*r]=e[e.length-2],n[2*r+1]=e[e.length-1];else{var i=r/t;this._setCurvePoint(e,i,n,2*r)}return n}},{key:"_setCurvePoint",value:function(e,t,n,r){if(e.length<=2)n[r]=e[0],n[r+1]=e[1];else{for(var i=Array(e.length-2),a=0;a<i.length;a+=2){var o=(1-t)*e[a]+t*e[a+2],s=(1-t)*e[a+1]+t*e[a+3];i[a]=o,i[a+1]=s}return this._setCurvePoint(i,t,n,r)}}},{key:"endBatch",value:function(){var e=this.gl,t=this.vao,n=this.vertexCount,r=this.instanceCount;if(0!==r){var i,a,s=this.renderTarget.picking?this.pickingProgram:this.program;e.useProgram(s),e.bindVertexArray(t);var l,u=o(this.buffers);try{for(u.s();!(l=u.n()).done;)l.value.bufferSubData(r)}catch(e){u.e(e)}finally{u.f()}for(var c=this.batchManager.getAtlases(),d=0;d<c.length;d++)c[d].bufferIfNeeded(e);for(var h=0;h<c.length;h++)e.activeTexture(e.TEXTURE0+h),e.bindTexture(e.TEXTURE_2D,c[h].texture),e.uniform1i(s.uTextures[h],h);e.uniform1f(s.uZoom,(a=(i=this.r).pixelRatio,i.cy.zoom()*a)),e.uniformMatrix3fv(s.uPanZoomMatrix,!1,this.panZoomMatrix),e.uniform1i(s.uAtlasSize,this.batchManager.getAtlasSize());var f=uL(this.bgColor,1);e.uniform4fv(s.uBGColor,f),e.drawArraysInstanced(e.TRIANGLES,0,n,r),e.bindVertexArray(null),e.bindTexture(e.TEXTURE_2D,null),this.debug&&this.batchDebugInfo.push({count:r,atlasCount:c.length}),this.startBatch()}}},{key:"getDebugInfo",value:function(){var e=this.atlasManager.getDebugInfo(),t=e.reduce(function(e,t){return e+t.atlasCount},0),n=this.batchDebugInfo,r=n.reduce(function(e,t){return e+t.count},0);return{atlasInfo:e,totalAtlases:t,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:n.length,batchInfo:n,totalInstances:r}}}]),uJ={};function u0(e,t){return eK(e._private.rscratch,"labelWrapCachedLines",t)||[]}uJ.initWebgl=function(e,t){var n,r,i,a,s,u,c,d,h=this,f=h.data.contexts[h.WEBGL];e.bgColor=ei((n=h.cy.container())&&n.style&&n.style.backgroundColor||"white"),e.webglTexSize=Math.min(e.webglTexSize,f.getParameter(f.MAX_TEXTURE_SIZE)),e.webglTexRows=Math.min(e.webglTexRows,54),e.webglTexRowsNodes=Math.min(e.webglTexRowsNodes,54),e.webglBatchSize=Math.min(e.webglBatchSize,16384),e.webglTexPerBatch=Math.min(e.webglTexPerBatch,f.getParameter(f.MAX_TEXTURE_IMAGE_UNITS)),h.webglDebug=e.webglDebug,h.webglDebugShowAtlases=e.webglDebugShowAtlases,c=f.createFramebuffer(),f.bindFramebuffer(f.FRAMEBUFFER,c),d=f.createTexture(),f.bindTexture(f.TEXTURE_2D,d),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MIN_FILTER,f.LINEAR),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_S,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_T,f.CLAMP_TO_EDGE),f.framebufferTexture2D(f.FRAMEBUFFER,f.COLOR_ATTACHMENT0,f.TEXTURE_2D,d,0),f.bindFramebuffer(f.FRAMEBUFFER,null),c.setFramebufferAttachmentSizes=function(e,t){f.bindTexture(f.TEXTURE_2D,d),f.texImage2D(f.TEXTURE_2D,0,f.RGBA,e,t,0,f.RGBA,f.UNSIGNED_BYTE,null)},h.pickingFrameBuffer=c,h.pickingFrameBuffer.needsDraw=!0,h.drawing=new uQ(h,f,e);var p=function(e){return function(t){return h.getTextAngle(t,e)}},g=function(e){return function(t){var n=t.pstyle(e);return n&&n.value}},v=function(e){return function(t){return t.pstyle("".concat(e,"-opacity")).value>0}},y=function(e){return"yes"===e.pstyle("text-events").strValue?2:1},b=function(e){var t=e.position(),n=t.x,r=t.y,i=e.outerWidth(),a=e.outerHeight();return{w:i,h:a,x1:n-i/2,y1:r-a/2}};h.drawing.addAtlasCollection("node",{texRows:e.webglTexRowsNodes}),h.drawing.addAtlasCollection("label",{texRows:e.webglTexRows}),h.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:t.getStyleKey,getBoundingBox:t.getElementBox,drawElement:t.drawElement}),h.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:b,isSimple:uI,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),h.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:b,isVisible:v("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),h.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:b,isVisible:v("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),h.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:y,getKey:u1(t.getLabelKey,null),getBoundingBox:u2(t.getLabelBox,null),drawClipped:!0,drawElement:t.drawLabel,getRotation:p(null),getRotationPoint:t.getLabelRotationPoint,getRotationOffset:t.getLabelRotationOffset,isVisible:g("label")}),h.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:y,getKey:u1(t.getSourceLabelKey,"source"),getBoundingBox:u2(t.getSourceLabelBox,"source"),drawClipped:!0,drawElement:t.drawSourceLabel,getRotation:p("source"),getRotationPoint:t.getSourceLabelRotationPoint,getRotationOffset:t.getSourceLabelRotationOffset,isVisible:g("source-label")}),h.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:y,getKey:u1(t.getTargetLabelKey,"target"),getBoundingBox:u2(t.getTargetLabelBox,"target"),drawClipped:!0,drawElement:t.drawTargetLabel,getRotation:p("target"),getRotationPoint:t.getTargetLabelRotationPoint,getRotationOffset:t.getTargetLabelRotationOffset,isVisible:g("target-label")});var x=eg(function(){console.log("garbage collect flag set"),h.data.gc=!0},1e4);h.onUpdateEleCalcs(function(e,t){var n=!1;t&&t.length>0&&(n|=h.drawing.invalidate(t)),n&&x()}),i=(r=h).render,r.render=function(e){e=e||{};var t,n,a,o,s=r.cy;r.webgl&&(s.zoom()>7.99?((n=(t=r).data.contexts[t.WEBGL]).clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.call(r,e)):(a=r,(o=function(e){e.save(),e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,a.canvasWidth,a.canvasHeight),e.restore()})(a.data.contexts[a.NODE]),o(a.data.contexts[a.DRAG]),u4(r,e,uZ)))},a=r.matchCanvasSize,r.matchCanvasSize=function(e){a.call(r,e),r.pickingFrameBuffer.setFramebufferAttachmentSizes(r.canvasWidth,r.canvasHeight),r.pickingFrameBuffer.needsDraw=!0},r.findNearestElements=function(e,t,n,i){return function(e,t,n){var r,i,a,s=function(e,t,n){var r=uR(e),i=r.pan,a=r.zoom,o=l((p=t*a+i.x,g=n*a+i.y,[p,g=Math.round(e.canvasHeight-g)]),2),s=o[0],u=o[1],c=e.data.contexts[e.WEBGL];c.bindFramebuffer(c.FRAMEBUFFER,e.pickingFrameBuffer),e.pickingFrameBuffer.needsDraw&&(c.viewport(0,0,c.canvas.width,c.canvas.height),u4(e,null,u$),e.pickingFrameBuffer.needsDraw=!1);var d=new Uint8Array(144);c.readPixels(s-3,u-3,6,6,c.RGBA,c.UNSIGNED_BYTE,d),c.bindFramebuffer(c.FRAMEBUFFER,null);for(var h=new Set,f=0;f<36;f++){var p,g,v,y=(v=d.slice(4*f,4*f+4))[0]+(v[1]<<8)+(v[2]<<16)+(v[3]<<24)-1;y>=0&&h.add(y)}return h}(e,t,n),u=e.getCachedZSortedEles(),c=o(s);try{for(c.s();!(a=c.n()).done;){var d=u[a.value];if(!r&&d.isNode()&&(r=d),!i&&d.isEdge()&&(i=d),r&&i)break}}catch(e){c.e(e)}finally{c.f()}return[r,i].filter(Boolean)}(r,e,t)},s=r.invalidateCachedZSortedEles,r.invalidateCachedZSortedEles=function(){s.call(r),r.pickingFrameBuffer.needsDraw=!0},u=r.notify,r.notify=function(e,t){u.call(r,e,t),"viewport"===e||"bounds"===e?r.pickingFrameBuffer.needsDraw=!0:"background"===e&&r.drawing.invalidate(t,{type:"node-body"})}};var u1=function(e,t){return function(n){var r=e(n),i=u0(n,t);return i.length>1?i.map(function(e,t){return"".concat(r,"_").concat(t)}):r}},u2=function(e,t){return function(n,r){var i=e(n);if("string"==typeof r){var a=r.indexOf("_");if(a>0){var o=Number(r.substring(a+1)),s=u0(n,t),l=i.h/s.length,u=l*o,c=i.y1+u;return{x1:i.x1,w:i.w,y1:c,h:l,yOffset:u}}}return i}};function u5(e,t){var n=e.canvasWidth,r=e.canvasHeight,i=uR(e),a=i.pan,o=i.zoom;t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,n,r),t.translate(a.x,a.y),t.scale(o,o)}function u3(e,t,n){var r=e.drawing;t+=1,n.isNode()?(r.drawNode(n,t,"node-underlay"),r.drawNode(n,t,"node-body"),r.drawTexture(n,t,"label"),r.drawNode(n,t,"node-overlay")):(r.drawEdgeLine(n,t),r.drawEdgeArrow(n,t,"source"),r.drawEdgeArrow(n,t,"target"),r.drawTexture(n,t,"label"),r.drawTexture(n,t,"edge-source-label"),r.drawTexture(n,t,"edge-target-label"))}function u4(e,t,n){e.webglDebug&&(H=performance.now());var r=e.drawing,i=0;if(n.screen&&e.data.canvasNeedsRedraw[e.SELECT_BOX]&&e.drawSelectionRectangle(t,function(t){return u5(e,t)}),e.data.canvasNeedsRedraw[e.NODE]||n.picking){var a,s,l,u,c,d,h,f,p,g,v,y,b,x,w,E,k,T,C,P,S,B,D,_,A,M,R,I,L,N,z,O=e.data.contexts[e.WEBGL];n.screen?(O.clearColor(0,0,0,0),O.enable(O.BLEND),O.blendFunc(O.ONE,O.ONE_MINUS_SRC_ALPHA)):O.disable(O.BLEND),O.clear(O.COLOR_BUFFER_BIT|O.DEPTH_BUFFER_BIT),O.viewport(0,0,O.canvas.width,O.canvas.height);var V=(a=e.canvasWidth,s=e.canvasHeight,u=(l=uR(e)).pan,c=l.zoom,uY(d=uX(),d,[u.x,u.y]),uW(d,d,[c,c]),f=h=uX(),f[0]=2/a,f[1]=0,f[2]=0,f[3]=0,f[4]=-2/s,f[5]=0,f[6]=-1,f[7]=1,f[8]=1,g=p=uX(),v=h[0],y=h[1],b=h[2],x=h[3],w=h[4],E=h[5],k=h[6],T=h[7],C=h[8],P=d[0],S=d[1],B=d[2],D=d[3],_=d[4],A=d[5],M=d[6],R=d[7],I=d[8],g[0]=P*v+S*x+B*k,g[1]=P*y+S*w+B*T,g[2]=P*b+S*E+B*C,g[3]=D*v+_*x+A*k,g[4]=D*y+_*w+A*T,g[5]=D*b+_*E+A*C,g[6]=M*v+R*x+I*k,g[7]=M*y+R*w+I*T,g[8]=M*b+R*E+I*C,p),F=e.getCachedZSortedEles();if(i=F.length,r.startFrame(V,n),n.screen){for(var X=0;X<F.nondrag.length;X++)u3(e,X,F.nondrag[X]);for(var j=0;j<F.drag.length;j++)u3(e,j,F.drag[j])}else if(n.picking)for(var Y=0;Y<F.length;Y++)u3(e,Y,F[Y]);r.endFrame(),n.screen&&e.webglDebugShowAtlases&&((L=e.data.contexts[e.NODE]).save(),u5(e,L),L.strokeStyle="rgba(0, 0, 0, 0.3)",L.beginPath(),L.moveTo(-1e3,0),L.lineTo(1e3,0),L.stroke(),L.beginPath(),L.moveTo(0,-1e3),L.lineTo(0,1e3),L.stroke(),L.restore(),z=0,(N=function(t,n,r){for(var i=t.atlasManager.getAtlasCollection(n),a=e.data.contexts[e.NODE],o=i.atlases,s=0;s<o.length;s++){var l=o[s].canvas;if(l){var u=l.width,c=l.height,d=u*s,h=l.height*r;a.save(),a.scale(.4,.4),a.drawImage(l,d,h),a.strokeStyle="black",a.rect(d,h,u,c),a.stroke(),a.restore()}}})(e.drawing,"node",z++),N(e.drawing,"label",z++)),e.data.canvasNeedsRedraw[e.NODE]=!1,e.data.canvasNeedsRedraw[e.DRAG]=!1}if(e.webglDebug){var q=Math.ceil(performance.now()-H),W=r.getDebugInfo(),U=["".concat(i," elements"),"".concat(W.totalInstances," instances"),"".concat(W.batchCount," batches"),"".concat(W.totalAtlases," atlases"),"".concat(W.wrappedCount," wrapped textures"),"".concat(W.simpleCount," simple shapes")].join(", ");console.log("WebGL (".concat(n.name,") - frame time ").concat(q,"ms")),console.log("Totals:"),console.log(" ".concat(U)),console.log("Texture Atlases Used:");var H,K,G=o(W.atlasInfo);try{for(G.s();!(K=G.n()).done;){var Z=K.value;console.log(" ".concat(Z.type,": ").concat(Z.keyCount," keys, ").concat(Z.atlasCount," atlases"))}}catch(e){G.e(e)}finally{G.f()}console.log("")}e.data.gc&&(console.log("Garbage Collect!"),e.data.gc=!1,r.gc())}var u9={};u9.drawPolygonPath=function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var l=1;l<a.length/2;l++)e.lineTo(t+o*a[2*l],n+s*a[2*l+1]);e.closePath()},u9.drawRoundPolygonPath=function(e,t,n,r,i,a,o){o.forEach(function(t){return lO(e,t)}),e.closePath()},u9.drawRoundRectanglePath=function(e,t,n,r,i,a){var o=r/2,s=i/2,l="auto"===a?t3(r,i):Math.min(a,s,o);e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.arcTo(t+o,n-s,t+o,n,l),e.arcTo(t+o,n+s,t,n+s,l),e.arcTo(t-o,n+s,t-o,n,l),e.arcTo(t-o,n-s,t,n-s,l),e.lineTo(t,n-s),e.closePath()},u9.drawBottomRoundRectanglePath=function(e,t,n,r,i,a){var o=r/2,s=i/2,l="auto"===a?t3(r,i):a;e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.lineTo(t+o,n-s),e.lineTo(t+o,n),e.arcTo(t+o,n+s,t,n+s,l),e.arcTo(t-o,n+s,t-o,n,l),e.lineTo(t-o,n-s),e.lineTo(t,n-s),e.closePath()},u9.drawCutRectanglePath=function(e,t,n,r,i,a,o){var s=r/2,l=i/2,u="auto"===o?t9():o;e.beginPath&&e.beginPath(),e.moveTo(t-s+u,n-l),e.lineTo(t+s-u,n-l),e.lineTo(t+s,n-l+u),e.lineTo(t+s,n+l-u),e.lineTo(t+s-u,n+l),e.lineTo(t-s+u,n+l),e.lineTo(t-s,n+l-u),e.lineTo(t-s,n-l+u),e.closePath()},u9.drawBarrelPath=function(e,t,n,r,i){var a=r/2,o=i/2,s=t-a,l=t+a,u=n-o,c=n+o,d=t6(r,i),h=d.widthOffset,f=d.heightOffset,p=d.ctrlPtOffsetPct*h;e.beginPath&&e.beginPath(),e.moveTo(s,u+f),e.lineTo(s,c-f),e.quadraticCurveTo(s+p,c,s+h,c),e.lineTo(l-h,c),e.quadraticCurveTo(l-p,c,l,c-f),e.lineTo(l,u+f),e.quadraticCurveTo(l-p,u,l-h,u),e.lineTo(s+h,u),e.quadraticCurveTo(s+p,u,s,u+f),e.closePath()};for(var u6={},u8={},u7=Math.PI/40,ce=0*Math.PI;ce<2*Math.PI;ce+=u7)u6[ce]=Math.sin(ce),u8[ce]=Math.cos(ce);u9.drawEllipsePath=function(e,t,n,r,i){if(e.beginPath&&e.beginPath(),e.ellipse)e.ellipse(t,n,r/2,i/2,0,0,2*Math.PI);else for(var a,o,s=r/2,l=i/2,u=0*Math.PI;u<2*Math.PI;u+=u7)a=t-s*u6[u]*0+s*u8[u]*1,o=n+l*u8[u]*0+l*u6[u]*1,0===u?e.moveTo(a,o):e.lineTo(a,o);e.closePath()};var ct={};function cn(e){var t=e.indexOf(",");return e.substr(t+1)}function cr(e,t,n){var r=function(){return t.toDataURL(n,e.quality)};switch(e.output){case"blob-promise":return new rr(function(r,i){try{t.toBlob(function(e){null!=e?r(e):i(Error("`canvas.toBlob()` sent a null value in its callback"))},n,e.quality)}catch(e){i(e)}});case"blob":return function(e,t){for(var n=atob(e),r=new ArrayBuffer(n.length),i=new Uint8Array(r),a=0;a<n.length;a++)i[a]=n.charCodeAt(a);return new Blob([r],{type:t})}(cn(r()),n);case"base64":return cn(r());default:return r()}}ct.createBuffer=function(e,t){var n=document.createElement("canvas");return n.width=e,n.height=t,[n,n.getContext("2d")]},ct.bufferCanvasImage=function(e){var t=this.cy,n=t.mutableElements().boundingBox(),r=this.findContainerClientCoords(),i=e.full?Math.ceil(n.w):r[2],a=e.full?Math.ceil(n.h):r[3],o=M(e.maxWidth)||M(e.maxHeight),s=this.getPixelRatio(),l=1;if(void 0!==e.scale)i*=e.scale,a*=e.scale,l=e.scale;else if(o){var u=1/0,c=1/0;M(e.maxWidth)&&(u=l*e.maxWidth/i),M(e.maxHeight)&&(c=l*e.maxHeight/a),i*=l=Math.min(u,c),a*=l}o||(i*=s,a*=s,l*=s);var d=document.createElement("canvas");d.width=i,d.height=a,d.style.width=i+"px",d.style.height=a+"px";var h=d.getContext("2d");if(i>0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*l,-n.y1*l),h.scale(l,l),this.drawElements(h,f),h.scale(1/l,1/l),h.translate(n.x1*l,n.y1*l);else{var p=t.pan(),g={x:p.x*l,y:p.y*l};l*=t.zoom(),h.translate(g.x,g.y),h.scale(l,l),this.drawElements(h,f),h.scale(1/l,1/l),h.translate(-g.x,-g.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},ct.png=function(e){return cr(e,this.bufferCanvasImage(e),"image/png")},ct.jpg=function(e){return cr(e,this.bufferCanvasImage(e),"image/jpeg")};var ci={};ci.nodeShapeImpl=function(e,t,n,r,i,a,o,s){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,a);case"polygon":return this.drawPolygonPath(t,n,r,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(t,n,r,i,a,o,s);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,i,a,s);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,i,a,o,s);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,a,s);case"barrel":return this.drawBarrelPath(t,n,r,i,a)}};var ca=co.prototype;function co(e){var t=this,n=t.cy.window().document;e.webgl&&(ca.CANVAS_LAYERS=t.CANVAS_LAYERS=4,console.log("webgl rendering enabled")),t.data={canvases:Array(ca.CANVAS_LAYERS),contexts:Array(ca.CANVAS_LAYERS),canvasNeedsRedraw:Array(ca.CANVAS_LAYERS),bufferCanvases:Array(ca.BUFFER_COUNT),bufferContexts:Array(ca.CANVAS_LAYERS)};var r="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";t.data.canvasContainer=n.createElement("div");var a=t.data.canvasContainer.style;t.data.canvasContainer.style[r]=i,a.position="relative",a.zIndex="0",a.overflow="hidden";var o=e.cy.container();o.appendChild(t.data.canvasContainer),o.style[r]=i;var s={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};E&&E.userAgent.match(/msie|trident|edge/i)&&(s["-ms-touch-action"]="none",s["touch-action"]="none");for(var l=0;l<ca.CANVAS_LAYERS;l++){var u=t.data.canvases[l]=n.createElement("canvas"),c=ca.CANVAS_TYPES[l];t.data.contexts[l]=u.getContext(c),t.data.contexts[l]||ez("Could not create canvas of type "+c),Object.keys(s).forEach(function(e){u.style[e]=s[e]}),u.style.position="absolute",u.setAttribute("data-id","layer"+l),u.style.zIndex=String(ca.CANVAS_LAYERS-l),t.data.canvasContainer.appendChild(u),t.data.canvasNeedsRedraw[l]=!1}t.data.topCanvas=t.data.canvases[0],t.data.canvases[ca.NODE].setAttribute("data-id","layer"+ca.NODE+"-node"),t.data.canvases[ca.SELECT_BOX].setAttribute("data-id","layer"+ca.SELECT_BOX+"-selectbox"),t.data.canvases[ca.DRAG].setAttribute("data-id","layer"+ca.DRAG+"-drag"),t.data.canvases[ca.WEBGL]&&t.data.canvases[ca.WEBGL].setAttribute("data-id","layer"+ca.WEBGL+"-webgl");for(var l=0;l<ca.BUFFER_COUNT;l++)t.data.bufferCanvases[l]=n.createElement("canvas"),t.data.bufferContexts[l]=t.data.bufferCanvases[l].getContext("2d"),t.data.bufferCanvases[l].style.position="absolute",t.data.bufferCanvases[l].setAttribute("data-id","buffer"+l),t.data.bufferCanvases[l].style.zIndex=String(-l-1),t.data.bufferCanvases[l].style.visibility="hidden";t.pathsEnabled=!0;var d=tE(),h=function(e){return{x:-e.w/2,y:-e.h/2}},f=function(e){return e[0]._private.nodeKey},p=function(e){return e[0]._private.labelStyleKey},g=function(e){return e[0]._private.sourceLabelStyleKey},v=function(e){return e[0]._private.targetLabelStyleKey},y=function(e,n,r,i,a){return t.drawElement(e,n,r,!1,!1,a)},b=function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"main",a)},x=function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"source",a)},w=function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"target",a)},k=function(e){return e.boundingBox(),e[0]._private.bodyBounds},T=function(e){return e.boundingBox(),e[0]._private.labelBounds.main||d},C=function(e){return e.boundingBox(),e[0]._private.labelBounds.source||d},P=function(e){return e.boundingBox(),e[0]._private.labelBounds.target||d},S=function(e,t){return t},B=function(e){var t;return{x:((t=k(e)).x1+t.x2)/2,y:(t.y1+t.y2)/2}},D=function(e,t,n){var r=e?e+"-":"";return{x:t.x+n.pstyle(r+"text-margin-x").pfValue,y:t.y+n.pstyle(r+"text-margin-y").pfValue}},_=function(e,t,n){var r=e[0]._private.rscratch;return{x:r[t],y:r[n]}},A=function(e){return D("",_(e,"labelX","labelY"),e)},M=function(e){return D("source",_(e,"sourceLabelX","sourceLabelY"),e)},R=function(e){return D("target",_(e,"targetLabelX","targetLabelY"),e)},I=function(e){return h(k(e))},L=function(e){return h(C(e))},N=function(e){return h(P(e))},z=function(e){var t=T(e),n=h(T(e));if(e.isNode()){switch(rQ(e.pstyle("text-halign").value)){case"left":n.x=-t.w-(t.leftPad||0);break;case"right":n.x=-(t.rightPad||0)}switch(rJ(e.pstyle("text-valign").value)){case"top":n.y=-t.h-(t.topPad||0);break;case"bottom":n.y=-(t.botPad||0)}}return n},O=t.data.eleTxrCache=new ua(t,{getKey:f,doesEleInvalidateKey:function(e){var t=e[0]._private;return t.oldBackgroundTimestamp!==t.backgroundTimestamp},drawElement:y,getBoundingBox:k,getRotationPoint:B,getRotationOffset:I,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),V=t.data.lblTxrCache=new ua(t,{getKey:p,drawElement:b,getBoundingBox:T,getRotationPoint:A,getRotationOffset:z,isVisible:S}),F=t.data.slbTxrCache=new ua(t,{getKey:g,drawElement:x,getBoundingBox:C,getRotationPoint:M,getRotationOffset:L,isVisible:S}),X=t.data.tlbTxrCache=new ua(t,{getKey:v,drawElement:w,getBoundingBox:P,getRotationPoint:R,getRotationOffset:N,isVisible:S}),j=t.data.lyrTxrCache=new us(t);t.onUpdateEleCalcs(function(e,t){O.invalidateElements(t),V.invalidateElements(t),F.invalidateElements(t),X.invalidateElements(t),j.invalidateElements(t);for(var n=0;n<t.length;n++){var r=t[n]._private;r.oldBackgroundTimestamp=r.backgroundTimestamp}});var Y=function(e){for(var t=0;t<e.length;t++)j.enqueueElementRefinement(e[t].ele)};O.onDequeue(Y),V.onDequeue(Y),F.onDequeue(Y),X.onDequeue(Y),e.webgl&&t.initWebgl(e,{getStyleKey:f,getLabelKey:p,getSourceLabelKey:g,getTargetLabelKey:v,drawElement:y,drawLabel:b,drawSourceLabel:x,drawTargetLabel:w,getElementBox:k,getLabelBox:T,getSourceLabelBox:C,getTargetLabelBox:P,getElementRotationPoint:B,getElementRotationOffset:I,getLabelRotationPoint:A,getSourceLabelRotationPoint:M,getTargetLabelRotationPoint:R,getLabelRotationOffset:z,getSourceLabelRotationOffset:L,getTargetLabelRotationOffset:N})}ca.CANVAS_LAYERS=3,ca.SELECT_BOX=0,ca.DRAG=1,ca.NODE=2,ca.WEBGL=3,ca.CANVAS_TYPES=["2d","2d","2d","webgl2"],ca.BUFFER_COUNT=3,ca.TEXTURE_BUFFER=0,ca.MOTIONBLUR_BUFFER_NODE=1,ca.MOTIONBLUR_BUFFER_DRAG=2,ca.redrawHint=function(e,t){switch(e){case"eles":this.data.canvasNeedsRedraw[ca.NODE]=t;break;case"drag":this.data.canvasNeedsRedraw[ca.DRAG]=t;break;case"select":this.data.canvasNeedsRedraw[ca.SELECT_BOX]=t;break;case"gc":this.data.gc=!0}};var cs="u">typeof Path2D;ca.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},ca.usePaths=function(){return cs&&this.pathsEnabled},ca.setImgSmoothing=function(e,t){null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled=t:(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t)},ca.getImgSmoothing=function(e){return null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled:e.webkitImageSmoothingEnabled||e.mozImageSmoothingEnabled||e.msImageSmoothingEnabled},ca.makeOffscreenCanvas=function(e,t){var n;return("u"<typeof OffscreenCanvas?"undefined":d(OffscreenCanvas))!=="undefined"?n=new OffscreenCanvas(e,t):((n=this.cy.window().document.createElement("canvas")).width=e,n.height=t),n},[uc,uv,uk,uC,uP,uB,u_,uJ,u9,ct,ci].forEach(function(e){ee(ca,e)});var cl=[{name:"null",impl:a9},{name:"base",impl:l8},{name:"canvas",impl:co}],cu={},cc={};function cd(e,t,n){var r=n,i=function(n){eV("Can not register `"+t+"` for `"+e+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===e)if(ab.prototype[t])return i(t);else ab.prototype[t]=n;else if("collection"===e)if(iQ.prototype[t])return i(t);else iQ.prototype[t]=n;else if("layout"===e){for(var a=function(e){this.options=e,n.call(this,e),A(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},o=a.prototype=Object.create(n.prototype),s=[],l=0;l<s.length;l++){var u=s[l];o[u]=o[u]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var c=n.prototype.stop;o.stop=function(){var e=this.options;if(e&&e.animate){var t=this.animations;if(t)for(var n=0;n<t.length;n++)t[n].stop()}return c?c.call(this):this.emit("layoutstop"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var d=function(e){return e._private.cy},h={addEventFields:function(e,t){t.layout=e,t.cy=d(e),t.target=e},bubble:function(){return!0},parent:function(e){return d(e)}};ee(o,{createEmitter:function(){return this._private.emitter=new iE(h,this),this},emitter:function(){return this._private.emitter},on:function(e,t){return this.emitter().on(e,t),this},one:function(e,t){return this.emitter().one(e,t),this},once:function(e,t){return this.emitter().one(e,t),this},removeListener:function(e,t){return this.emitter().removeListener(e,t),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(e,t){return this.emitter().emit(e,t),this}}),rx.eventAliasesOn(o),r=a}else if("renderer"===e&&"null"!==t&&"base"!==t){var f=ch("renderer","base"),p=f.prototype,g=n.prototype,v=function(){f.apply(this,arguments),n.apply(this,arguments)},y=v.prototype;for(var b in p){var x=p[b];if(null!=g[b])return i(b);y[b]=x}for(var w in g)y[w]=g[w];p.clientFunctions.forEach(function(e){y[e]=y[e]||function(){ez("Renderer does not implement `renderer."+e+"()` on its prototype")}}),r=v}else if("__proto__"===e||"constructor"===e||"prototype"===e)return ez(e+" is an illegal type to be registered, possibly lead to prototype pollutions");return eo({map:cu,keys:[e,t],value:r})}function ch(e,t){return es({map:cu,keys:[e,t]})}function cf(e,t,n,r,i){return eo({map:cc,keys:[e,t,n,r],value:i})}function cp(e,t,n,r){return es({map:cc,keys:[e,t,n,r]})}var cg=function(){return 2==arguments.length?ch.apply(null,arguments):3==arguments.length?cd.apply(null,arguments):4==arguments.length?cp.apply(null,arguments):5==arguments.length?cf.apply(null,arguments):void ez("Invalid extension access syntax")};ab.prototype.extension=cg,[{type:"layout",extensions:a4},{type:"renderer",extensions:cl}].forEach(function(e){e.extensions.forEach(function(t){cd(e.type,t.name,t.impl)})});var cv=function(){if(!(this instanceof cv))return new cv;this.length=0},cy=cv.prototype;cy.instanceString=function(){return"stylesheet"},cy.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},cy.css=function(e,t){var n=this.length-1;if(B(e))this[n].properties.push({name:e,value:t});else if(A(e))for(var r=Object.keys(e),i=0;i<r.length;i++){var a=r[i],o=e[a];if(null!=o){var s=ag.properties[a]||ag.properties[q(a)];if(null!=s){var l=s.name;this[n].properties.push({name:l,value:o})}}}return this},cy.style=cy.css,cy.generateStyle=function(e){var t=new ag(e);return this.appendToStyle(t)},cy.appendToStyle=function(e){for(var t=0;t<this.length;t++){var n=this[t],r=n.selector,i=n.properties;e.selector(r);for(var a=0;a<i.length;a++){var o=i[a];e.css(o.name,o.value)}}return e};var cm=function(e){return(void 0===e&&(e={}),A(e))?new ab(e):B(e)?cg.apply(cg,arguments):void 0};cm.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(cm),e.apply(null,t),this},cm.warnings=function(e){return eO(e)},cm.version="3.34.3",cm.stylesheet=cm.Stylesheet=cv}}]); \ No newline at end of file diff --git a/assets/js/4a65a190.37a16155.js b/assets/js/4a65a190.37a16155.js new file mode 100644 index 0000000..1b3be4b --- /dev/null +++ b/assets/js/4a65a190.37a16155.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2705"],{670(e,n,s){s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>c,default:()=>x,frontMatter:()=>d,metadata:()=>r,toc:()=>a});var r=s(5816),l=s(4848),i=s(8453);let d={slug:"origin-of-sqlparserx",title:"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020",authors:["changlu"],tags:["origin"],date:new Date("2026-09-28T00:00:00.000Z"),description:"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002"},c,t={authorsImageUrls:[void 0]},a=[{value:"\u4E00\u3001\u4E3A\u4EC0\u4E48\u9700\u8981\u61C2\u89E3\u6790\u5668",id:"\u4E00\u4E3A\u4EC0\u4E48\u9700\u8981\u61C2\u89E3\u6790\u5668",level:2},{value:"1.1 \u4EC0\u4E48\u662F\u89E3\u6790\u5668",id:"11-\u4EC0\u4E48\u662F\u89E3\u6790\u5668",level:3},{value:"1.2 \u5982\u4F55\u5B9E\u73B0\u89E3\u6790\u5668",id:"12-\u5982\u4F55\u5B9E\u73B0\u89E3\u6790\u5668",level:3},{value:"1.3 \u4EC0\u4E48\u662F SQL \u89E3\u6790\u5668",id:"13-\u4EC0\u4E48\u662F-sql-\u89E3\u6790\u5668",level:3},{value:"1.4 SQL \u89E3\u6790\u4F4D\u4E8E\u6574\u6761\u94FE\u8DEF\u7684\u54EA\u4E2A\u4F4D\u7F6E",id:"14-sql-\u89E3\u6790\u4F4D\u4E8E\u6574\u6761\u94FE\u8DEF\u7684\u54EA\u4E2A\u4F4D\u7F6E",level:3},{value:"\u4E8C\u3001\u5E02\u9762\u4E0A\u5E38\u89C1\u7684 SQL \u89E3\u6790\u65B9\u6848",id:"\u4E8C\u5E02\u9762\u4E0A\u5E38\u89C1\u7684-sql-\u89E3\u6790\u65B9\u6848",level:2},{value:"2.1 \u5E95\u5C42\u89E3\u6790\u5668\u4EF6\uFF1AJavaCC / ANTLR 3 / ANTLR 4",id:"21-\u5E95\u5C42\u89E3\u6790\u5668\u4EF6javacc--antlr-3--antlr-4",level:3},{value:"2.2 SQL \u89E3\u6790\u5668\u811A\u624B\u67B6\uFF1ACalcite / hive-exec",id:"22-sql-\u89E3\u6790\u5668\u811A\u624B\u67B6calcite--hive-exec",level:3},{value:"2.3 \u66F4\u300C\u5177\u8C61\u5316\u300D\u7684\u89E3\u6790\u5668\uFF1AJSqlParser / Druid",id:"23-\u66F4\u5177\u8C61\u5316\u7684\u89E3\u6790\u5668jsqlparser--druid",level:3},{value:"2.4 \u6838\u5FC3\u5BF9\u6BD4\u4E0E\u9009\u578B\u7ED3\u8BBA",id:"24-\u6838\u5FC3\u5BF9\u6BD4\u4E0E\u9009\u578B\u7ED3\u8BBA",level:3},{value:"2.5 \u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u7528 ANTLR4",id:"25-\u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u7528-antlr4",level:3},{value:"\u4E09\u3001\u5386\u53F2\u80CC\u666F\uFF1A\u6539\u9020\u524D\u7684 SQL \u89E3\u6790\u4E3A\u4EC0\u4E48\u96BE\u7EF4\u62A4",id:"\u4E09\u5386\u53F2\u80CC\u666F\u6539\u9020\u524D\u7684-sql-\u89E3\u6790\u4E3A\u4EC0\u4E48\u96BE\u7EF4\u62A4",level:2},{value:"3.1 \u5B50\u4EA7\u54C1\u5404\u81EA\u4E3A\u6218",id:"31-\u5B50\u4EA7\u54C1\u5404\u81EA\u4E3A\u6218",level:3},{value:"3.2 \u5386\u53F2\u8BBE\u8BA1\u67B6\u6784",id:"32-\u5386\u53F2\u8BBE\u8BA1\u67B6\u6784",level:3},{value:"3.3 \u4E3B\u8981\u95EE\u9898",id:"33-\u4E3B\u8981\u95EE\u9898",level:3},{value:"\u56DB\u3001\u6280\u672F\u6539\u9020\uFF1A\u53CC\u5C42\u5206\u5C42",id:"\u56DB\u6280\u672F\u6539\u9020\u53CC\u5C42\u5206\u5C42",level:2},{value:"4.1 \u8BED\u6CD5\u89E3\u6790\u5C42\uFF08\u57FA\u4E8E Druid\uFF09",id:"41-\u8BED\u6CD5\u89E3\u6790\u5C42\u57FA\u4E8E-druid",level:3},{value:"4.2 \u4E1A\u52A1\u89E3\u6790\u5C42",id:"42-\u4E1A\u52A1\u89E3\u6790\u5C42",level:3},{value:"4.3 \u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0",id:"43-\u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0",level:3},{value:"\u4E94\u3001\u4E1A\u52A1\u5C42\u89E3\u6790\u7684\u91CD\u65B0\u5B9E\u73B0",id:"\u4E94\u4E1A\u52A1\u5C42\u89E3\u6790\u7684\u91CD\u65B0\u5B9E\u73B0",level:2},{value:"5.1 \u5B57\u6BB5\u8840\u7F18\u89E3\u6790",id:"51-\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",level:3},{value:"5.2 \u8868\u8840\u7F18\u89E3\u6790",id:"52-\u8868\u8840\u7F18\u89E3\u6790",level:3},{value:"5.3 \u8868\u89E3\u6790",id:"53-\u8868\u89E3\u6790",level:3},{value:"5.4 \u51FD\u6570\u89E3\u6790",id:"54-\u51FD\u6570\u89E3\u6790",level:3},{value:"5.5 \u5176\u4ED6\u4E1A\u52A1\u80FD\u529B",id:"55-\u5176\u4ED6\u4E1A\u52A1\u80FD\u529B",level:3},{value:"\u516D\u3001SqlParserX \u7684\u8BDE\u751F",id:"\u516Dsqlparserx-\u7684\u8BDE\u751F",level:2},{value:"6.1 \u53CC\u5C42\u67B6\u6784",id:"61-\u53CC\u5C42\u67B6\u6784",level:3},{value:"6.2 \u4ECE\u5185\u90E8\u4E8C\u5F00\u8D70\u5411\u5B98\u65B9 Druid",id:"62-\u4ECE\u5185\u90E8\u4E8C\u5F00\u8D70\u5411\u5B98\u65B9-druid",level:3},{value:"6.3 \u80FD\u529B\u4E0E\u6587\u6863\u4F53\u7CFB",id:"63-\u80FD\u529B\u4E0E\u6587\u6863\u4F53\u7CFB",level:3},{value:"6.4 \u76EE\u6807",id:"64-\u76EE\u6807",level:3},{value:"\u4E03\u3001\u7ED3\u8BED",id:"\u4E03\u7ED3\u8BED",level:2}];function h(e){let n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:"\u4F5C\u8005\uFF1Achanglu \uFF5C \u65E5\u671F\uFF1A2026-09-28"}),"\n",(0,l.jsxs)(n.p,{children:["\u8FD9\u662F\u4E00\u7BC7\u5173\u4E8E SqlParserX \u8D77\u6E90\u7684\u6280\u672F\u535A\u5BA2\u3002\u5B83\u8BB0\u5F55\u4E86\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002\n\u9879\u76EE\u5730\u5740\u4E0E\u4F7F\u7528\u65B9\u5F0F\u89C1 ",(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX",children:"SqlParserX \u4ED3\u5E93"}),"\uFF0C\u53CC\u5C42\u67B6\u6784\u8BBE\u8BA1\u89C1 ",(0,l.jsx)(n.a,{href:"/docs/about/architecture",children:"\u67B6\u6784\u8BBE\u8BA1"}),"\u3002"]}),"\n"]}),"\n","\n",(0,l.jsx)(n.h2,{id:"\u4E00\u4E3A\u4EC0\u4E48\u9700\u8981\u61C2\u89E3\u6790\u5668",children:"\u4E00\u3001\u4E3A\u4EC0\u4E48\u9700\u8981\u61C2\u89E3\u6790\u5668"}),"\n",(0,l.jsx)(n.h3,{id:"11-\u4EC0\u4E48\u662F\u89E3\u6790\u5668",children:"1.1 \u4EC0\u4E48\u662F\u89E3\u6790\u5668"}),"\n",(0,l.jsxs)(n.p,{children:["\u89E3\u6790\u5668\u662F\u8BA1\u7B97\u673A\u79D1\u5B66\u548C\u7F16\u7A0B\u8BED\u8A00\u9886\u57DF\u4E2D\u81F3\u5173\u91CD\u8981\u7684\u5DE5\u5177\uFF0C\u5176\u6838\u5FC3\u4F5C\u7528\u662F",(0,l.jsx)(n.strong,{children:"\u5C06\u4EBA\u7C7B\u53EF\u7406\u89E3\u7684\u300C\u5F62\u5F0F\u5316\u8BED\u8A00\u300D\uFF08\u5982\u4EE3\u7801\u3001\u6570\u636E\u683C\u5F0F\u3001\u8868\u8FBE\u5F0F\u7B49\uFF09\u8F6C\u6362\u4E3A\u673A\u5668\u53EF\u5904\u7406\u7684\u7ED3\u6784"}),"\uFF0C\u4ECE\u800C\u5B9E\u73B0\u4FE1\u606F\u7684\u89E3\u6790\u3001\u9A8C\u8BC1\u548C\u540E\u7EED\u5904\u7406\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:["\u4EBA\u7C7B\u4F7F\u7528\u7684\u8BED\u8A00\uFF08\u65E0\u8BBA\u662F\u7F16\u7A0B\u8BED\u8A00\u5982 Python\u3001\u6570\u636E\u683C\u5F0F\u5982 JSON\uFF0C\u8FD8\u662F\u67E5\u8BE2\u8BED\u53E5\u5982 SQL\uFF09\u672C\u8D28\u662F",(0,l.jsx)(n.strong,{children:"\u7ED3\u6784\u5316\u7684\u5B57\u7B26\u4E32"}),"\uFF0C\u4F46\u673A\u5668\u65E0\u6CD5\u76F4\u63A5\u7406\u89E3\u8FD9\u79CD\u5B57\u7B26\u4E32\u7684\u903B\u8F91\u542B\u4E49\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:["\u4F8B\u5982\uFF0C\u7A0B\u5E8F\u5458\u5199\u7684 ",(0,l.jsx)(n.code,{children:"x = (a + b) * 3"})," \u662F\u4E00\u4E32\u5B57\u7B26\uFF0C\u4F46\u673A\u5668\u9700\u8981\u77E5\u9053\u8FD9\u662F\u300C\u5148\u7B97 ",(0,l.jsx)(n.code,{children:"a + b"}),"\uFF0C\u518D\u4E58\u4EE5 3\uFF0C\u6700\u540E\u8D4B\u503C\u7ED9 ",(0,l.jsx)(n.code,{children:"x"}),"\u300D\u7684\u8FD0\u7B97\u903B\u8F91\u3002\u89E3\u6790\u5668\u628A\u8FD9\u4E2A\u5B57\u7B26\u4E32\u89E3\u6790\u4E3A\u4E00\u68F5\u8BED\u6CD5\u6811\uFF0C\u518D\u6309\u89C4\u5219\u4E00\u6B65\u6B65\u8FD0\u7B97\u3002"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"// \u89E3\u6790\u5668 \u626B\u63CF\u89E3\u6790\u65B9\u7A0B x = (a + b) * 3 \u5F97\u5230\u7684\u8BED\u6CD5\u6811 AST\n\n [=]\n / \\\n [x] [*]\n / \\\n [+] [3]\n / \\\n [a] [b]\n\n\u89E3\u91CA\u6267\u884C\u6B65\u9AA4\uFF1A\n1\u3001\u4ECE\u6839\u8282\u70B9 = \u5F00\u59CB\uFF0C\u8868\u793A\u8FD9\u662F\u4E00\u4E2A\u8D4B\u503C\u64CD\u4F5C\u3002\n2\u3001\u5DE6\u5B50\u6811 x \u662F\u8D4B\u503C\u76EE\u6807\uFF0C\u53F3\u5B50\u6811 * \u662F\u8BA1\u7B97\u5185\u5BB9\u3002\n3\u3001\u8BA1\u7B97 * \u65F6\uFF0C\u5148\u8BA1\u7B97\u5DE6\u5B50\u6811 +\uFF08a + b\uFF09\uFF0C\u518D\u4E58\u4EE5\u53F3\u5B50\u6811 3\u3002\n4\u3001\u6700\u540E\u5C06\u7ED3\u679C\u8D4B\u503C\u7ED9 x\u3002\n"})}),"\n",(0,l.jsx)(n.p,{children:"\u7F16\u7A0B\u8BED\u8A00\u540C\u7406\uFF0C\u5982 C\u3001Java \u7B49\u90FD\u6709\u7279\u5B9A\u7684\u8BED\u6CD5\u89C4\u5219\uFF0C\u901A\u8FC7\u89E3\u6790\u5668\u628A\u4EE3\u7801\u8F6C\u4E3A AST \u8BED\u6CD5\u6811\uFF0C\u518D\u7F16\u8BD1\u5B57\u8282\u7801\u3001\u673A\u5668\u7801\u6765\u6267\u884C\u3002"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"// \u89E3\u6790\u5668 \u626B\u63CF\u89E3\u6790 Java \u4EE3\u7801 if (x > 0) { y = 10; } \u5F97\u5230\u7684\u8BED\u6CD5\u6811 AST\n [if]\n / \\\n [>] [block]\n / \\ \\\n[x] [0] [=]\n / \\\n [y] [10]\n\n\u89E3\u6790\u6267\u884C\u6B65\u9AA4\uFF1A\n1\u3001\u6839\u8282\u70B9 if \u8868\u793A\u6761\u4EF6\u5224\u65AD\u3002\n2\u3001\u5148\u8BA1\u7B97\u6761\u4EF6 >\uFF08x > 0\uFF09\uFF0C\u5982\u679C\u4E3A\u771F\uFF1A\n3\u3001\u8FDB\u5165 block \u6267\u884C\u5185\u90E8\u8BED\u53E5 y = 10\u3002\n4\u3001\u5982\u679C\u4E3A\u5047\uFF0C\u8DF3\u8FC7\u6574\u4E2A block\u3002\n"})}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"\u89E3\u6790\u5668\u7684\u4F5C\u7528"}),"\uFF0C\u5C31\u662F\u628A\u8FD9\u79CD\u5B57\u7B26\u4E32\u300C\u62C6\u89E3\u300D\u4E3A\u6709\u610F\u4E49\u7684\u8BED\u6CD5\u7ED3\u6784\uFF08\u5982\u62BD\u8C61\u8BED\u6CD5\u6811 AST\uFF09\uFF0C\u8BA9\u673A\u5668\u80FD\u6309\u89C4\u5219\u6267\u884C\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"12-\u5982\u4F55\u5B9E\u73B0\u89E3\u6790\u5668",children:"1.2 \u5982\u4F55\u5B9E\u73B0\u89E3\u6790\u5668"}),"\n",(0,l.jsxs)(n.p,{children:["\u5728\u7F16\u8BD1\u5668\u5B9E\u73B0\u4E2D\uFF0C\u4E3B\u8981\u8981\u505A\u7684\u662F",(0,l.jsx)(n.strong,{children:"\u8BCD\u6CD5\u5206\u6790\u548C\u8BED\u6CD5\u5206\u6790"}),"\uFF1A"]}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u8BCD\u6CD5\u5206\u6790"}),"\uFF1A\u89E3\u6790\u4EE3\u7801\u5E76\u751F\u6210 Token\uFF08\u4E00\u4E2A\u5355\u8BCD\u7684\u5B57\u9762\u548C\u5B83\u7684\u79CD\u7C7B\u53CA\u8BED\u4E49\u503C\uFF09\u5E8F\u5217\uFF0C\u5B9E\u73B0\u4E00\u822C\u79F0\u4E3A\u626B\u63CF\u5668\uFF08Scanner\uFF09\u3002\u6838\u5FC3\u903B\u8F91\u662F\u5B9A\u4E49 token\uFF08\u8BED\u4E49\uFF09\u4E0E scanner\uFF08\u626B\u63CF token\uFF09\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u8BED\u6CD5\u5206\u6790"}),"\uFF1A\u5229\u7528\u626B\u63CF\u5668\u751F\u6210\u7684 Token \u5E8F\u5217\u751F\u6210\u62BD\u8C61\u8BED\u6CD5\u6811\uFF0C\u5B9E\u73B0\u4E00\u822C\u79F0\u4E3A\u89E3\u6790\u5668\uFF08Parser\uFF09\u3002\u6838\u5FC3\u903B\u8F91\u662F\u8FDB\u884C\u8BED\u6CD5\u68C0\u67E5\uFF0C\u5E76\u6784\u5EFA\u7531\u8F93\u5165\u5355\u8BCD\u7EC4\u6210\u7684\u5C42\u6B21\u5316\u6570\u636E\u7ED3\u6784\uFF08\u8BED\u6CD5\u5206\u6790\u6811\u3001\u62BD\u8C61\u8BED\u6CD5\u6811\u7B49\uFF09\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"\u6570\u5B66\u8868\u8FBE\u5F0F\uFF1A1 + 2 * 3\n\n// \u9996\u5148\u5728\u8FDB\u884C\u8BCD\u6CD5\u3001\u8BED\u6CD5\u5206\u6790\u524D\uFF0C\u6211\u4EEC\u5148\u5B9A\u4E49\u597D token\n\u5355\u8BCD\u5B57\u9762 Token \u7C7B\u578B \u8BF4\u660E\n1 INTEGER \u6574\u6570 1\n+ ADD_OP \u52A0\u6CD5\u8FD0\u7B97\u7B26\n2 INTEGER \u6574\u6570 2\n* MUL_OP \u4E58\u6CD5\u8FD0\u7B97\u7B26\n3 INTEGER \u6574\u6570 3\n\n// 1\u3001\u8BCD\u6CD5\u5206\u6790\uFF1A\u4ECE\u524D\u5F80\u540E\u626B\u63CF\u5F97\u5230\u4E00\u7EC4 Token \u6D41\n[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)]\n\n// 2\u3001\u8BED\u6CD5\u5206\u6790\uFF1A\u6839\u636E\u8FD0\u7B97\u7B26\u4F18\u5148\u7EA7\uFF08* \u4F18\u5148\u4E8E +\uFF09\u548C Token \u6D41\u6784\u5EFA AST\n [+]\n / \\\n 1 [*]\n / \\\n 2 3\n"})}),"\n",(0,l.jsx)(n.p,{children:"\u5B9E\u73B0\u4E00\u79CD\u89C4\u5219\u7684\u89E3\u6790\u5668\u6709\u4E24\u79CD\u65B9\u5F0F\uFF1A"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u65B9\u5F0F\u4E00"}),"\uFF1A\u4E0D\u4F9D\u8D56\u4EFB\u4F55\u5DE5\u5177\uFF0C\u624B\u5199\u626B\u63CF\u5668\u548C\u89E3\u6790\u5668\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u65B9\u5F0F\u4E8C"}),"\uFF1A\u4F7F\u7528\u73B0\u6210\u7684\u89E3\u6790\u5668\u751F\u6210\u5668\uFF08Yacc\u3001ANTLR\u3001JavaCC \u7B49\uFF09\uFF0C\u6839\u636E\u81EA\u5B9A\u4E49\u8BED\u6CD5\u89C4\u5219\u6587\u4EF6\u81EA\u52A8\u751F\u6210\u89E3\u6790\u5668\u4EE3\u7801\uFF0C\u4ECE\u800C\u4E13\u6CE8\u4E8E\u8BED\u6CD5\u89C4\u5219\u8BBE\u8BA1\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"13-\u4EC0\u4E48\u662F-sql-\u89E3\u6790\u5668",children:"1.3 \u4EC0\u4E48\u662F SQL \u89E3\u6790\u5668"}),"\n",(0,l.jsxs)(n.p,{children:["SQL \u89E3\u6790\u5668\u662F",(0,l.jsx)(n.strong,{children:"\u80FD\u591F\u5C06 SQL \u8BED\u53E5\u8F6C\u6362\u4E3A\u8BA1\u7B97\u673A\u53EF\u7406\u89E3\u548C\u6267\u884C\u7ED3\u6784\u7684\u7A0B\u5E8F\u7EC4\u4EF6"}),"\u3002\u5B83\u5C06\u6587\u672C\u5F62\u5F0F\u7684 SQL \u8F6C\u6362\u4E3A\u62BD\u8C61\u8BED\u6CD5\u6811\uFF08AST\uFF09\uFF0C\u4E3A\u540E\u7EED\u7684\u67E5\u8BE2\u4F18\u5316\u548C\u6267\u884C\u63D0\u4F9B\u57FA\u7840\u3002\u901A\u4FD7\u5730\u8BF4\uFF0C\u5C31\u662F\u80FD\u5BF9 SQL \u8FDB\u884C\u89E3\u6790\u3001\u8F6C\u6362\u6210\u8BED\u6CD5\u6811\u7684\u5DE5\u5177\u3002"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"# \u67E5\u8BE2\nSELECT * FROM users WHERE status = 'active';\n# \u63D2\u5165\nINSERT INTO customers (name, email) VALUES ('\u674E\u56DB', 'lisi@example.com');\n# \u66F4\u65B0\nUPDATE products SET price = 5999 WHERE id = 1001;\n# \u5220\u9664\nDELETE FROM logs WHERE create_time < '2024-01-01';\n# \u521B\u5EFA\u8868\nCREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2));\n# \u4FEE\u6539\u8868\nALTER TABLE employees ADD COLUMN department VARCHAR(20);\n# \u5220\u9664\u8868\nDROP TABLE temp_data;\n# \u6388\u6743\nGRANT SELECT ON customers TO user1;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"14-sql-\u89E3\u6790\u4F4D\u4E8E\u6574\u6761\u94FE\u8DEF\u7684\u54EA\u4E2A\u4F4D\u7F6E",children:"1.4 SQL \u89E3\u6790\u4F4D\u4E8E\u6574\u6761\u94FE\u8DEF\u7684\u54EA\u4E2A\u4F4D\u7F6E"}),"\n",(0,l.jsx)(n.p,{children:"\u5E38\u89C1\u6570\u636E\u5E93\u6267\u884C SQL \u7684\u6574\u4E2A\u8FC7\u7A0B\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"SQL\u6587\u672C \u2192 \u8BCD\u6CD5\u5206\u6790\uFF08Tokenizer\uFF09\u2192 \u8BED\u6CD5\u5206\u6790\uFF08Parser\uFF09\u2192 AST \u2192 \u8BED\u4E49\u5206\u6790 \u2192 \u4F18\u5316SQL \u2192 \u4EA7\u751F\u6267\u884C\u8BA1\u5212/\u6267\u884C\u4EFB\u52A1\n"})}),"\n",(0,l.jsx)(n.p,{children:"\u800C SQL \u89E3\u6790\u4E2D\u95F4\u4EF6\u5173\u6CE8\u7684\u662F AST \u4E4B\u540E\u7684\u5E94\u7528\u5C42\u80FD\u529B\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"SQL\u6587\u672C \u2192 \u8BCD\u6CD5\u5206\u6790\uFF08Tokenizer\uFF09\u2192 \u8BED\u6CD5\u5206\u6790\uFF08Parser\uFF09\u2192 AST \u2192 \u5E94\u7528\u5C42\uFF08\u7C7B\u578B\u8BC6\u522B\u3001\u8868\u5B57\u6BB5\u8840\u7F18\u3001\u8868\u89E3\u6790\u3001SQL\u8131\u654F\uFF09\u2192 \u5B50\u4EA7\u54C1\u5E94\u7528\n"})}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"\u8FD9\u6B63\u662F SqlParserX \u7684\u5B9A\u4F4D"}),"\uFF1A\u4E0D\u91CD\u590D\u5B9E\u73B0\u6570\u636E\u5E93\u5F15\u64CE\uFF0C\u53EA\u57FA\u4E8E\u4E00\u5957\u7EDF\u4E00\u7684 AST\uFF0C\u628A\u300C\u8868\u3001\u8840\u7F18\u3001\u51FD\u6570\u3001\u6743\u9650\u6539\u5199\u300D\u7B49\u89E3\u6790\u80FD\u529B\u505A\u6210\u53EF\u590D\u7528\u7684\u4E2D\u95F4\u4EF6\u3002"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u4E8C\u5E02\u9762\u4E0A\u5E38\u89C1\u7684-sql-\u89E3\u6790\u65B9\u6848",children:"\u4E8C\u3001\u5E02\u9762\u4E0A\u5E38\u89C1\u7684 SQL \u89E3\u6790\u65B9\u6848"}),"\n",(0,l.jsx)(n.p,{children:"\u5728\u52A8\u624B\u4E4B\u524D\uFF0C\u6211\u4EEC\u5148\u6A2A\u5411\u6BD4\u8F83\u4E86\u4E3B\u6D41\u65B9\u6848\u3002"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u5E02\u9762\u4E0A\u5E38\u89C1\u7684\u89E3\u6790\u5668\u6574\u4F53\u4ECB\u7ECD",src:s(3519).A+"",width:"2884",height:"1540"})}),"\n",(0,l.jsx)(n.h3,{id:"21-\u5E95\u5C42\u89E3\u6790\u5668\u4EF6javacc--antlr-3--antlr-4",children:"2.1 \u5E95\u5C42\u89E3\u6790\u5668\u4EF6\uFF1AJavaCC / ANTLR 3 / ANTLR 4"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u7279\u6027"}),(0,l.jsx)(n.th,{children:"JavaCC"}),(0,l.jsx)(n.th,{children:"ANTLR 3"}),(0,l.jsx)(n.th,{children:"ANTLR 4"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u8BED\u6CD5\u5206\u6790\u7B97\u6CD5"}),(0,l.jsx)(n.td,{children:"LL(k)"}),(0,l.jsx)(n.td,{children:"LL(*)"}),(0,l.jsx)(n.td,{children:"LL(*)\uFF08\u81EA\u9002\u5E94\u9884\u6D4B\uFF09"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u5DE6\u9012\u5F52\u5904\u7406"}),(0,l.jsx)(n.td,{children:"\u4E0D\u652F\u6301\uFF0C\u9700\u624B\u52A8\u8F6C\u6362"}),(0,l.jsx)(n.td,{children:"\u9700\u624B\u52A8\u8F6C\u6362"}),(0,l.jsx)(n.td,{children:"\u81EA\u52A8\u5904\u7406"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u76EE\u6807\u8BED\u8A00"}),(0,l.jsx)(n.td,{children:"Java"}),(0,l.jsx)(n.td,{children:"Java\u3001C#\u3001Python \u7B49"}),(0,l.jsx)(n.td,{children:"\u540C ANTLR 3"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u9519\u8BEF\u5904\u7406"}),(0,l.jsx)(n.td,{children:"\u57FA\u7840\u9519\u8BEF\u6062\u590D"}),(0,l.jsx)(n.td,{children:"\u589E\u5F3A\u7684\u9519\u8BEF\u6062\u590D"}),(0,l.jsx)(n.td,{children:"\u667A\u80FD\u9519\u8BEF\u6062\u590D\u4E0E\u8BCA\u65AD"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u8BED\u6CD5\u590D\u6742\u5EA6"}),(0,l.jsx)(n.td,{children:"\u7B80\u5355\u76F4\u89C2"}),(0,l.jsx)(n.td,{children:"\u8F83\u590D\u6742"}),(0,l.jsx)(n.td,{children:"\u7B80\u5316\uFF08\u76F8\u6BD4 ANTLR 3\uFF09"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u5E94\u7528\u573A\u666F"}),(0,l.jsx)(n.td,{children:"\u5C0F\u578B\u9879\u76EE\u3001\u6559\u80B2"}),(0,l.jsx)(n.td,{children:"\u4E2D\u5927\u578B\u9879\u76EE"}),(0,l.jsx)(n.td,{children:"\u5927\u578B\u9879\u76EE\u3001\u590D\u6742\u8BED\u6CD5"})]})]})]}),"\n",(0,l.jsx)(n.h3,{id:"22-sql-\u89E3\u6790\u5668\u811A\u624B\u67B6calcite--hive-exec",children:"2.2 SQL \u89E3\u6790\u5668\u811A\u624B\u67B6\uFF1ACalcite / hive-exec"}),"\n",(0,l.jsx)(n.p,{children:"\u6240\u8C13\u811A\u624B\u67B6\uFF0C\u662F\u57FA\u4E8E JavaCC \u6216 ANTLR \u5DF2\u7ECF\u5B9E\u73B0\u4E86\u6807\u51C6 SQL \u7684\u8BCD\u6CD5\u3001\u8BED\u6CD5\u89C4\u5219\uFF0C\u6211\u4EEC\u53EA\u9700\u6309\u5176\u89C4\u8303\u6269\u5C55\uFF1A"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Calcite\uFF08\u57FA\u4E8E JavaCC\uFF09"}),"\uFF1A\u6A21\u5757\u5316\u3001\u53EF\u6269\u5C55\u7684 SQL \u89E3\u6790\u4E0E\u4F18\u5316\u6846\u67B6\uFF0C\u5F88\u591A\u5F00\u6E90 SQL \u5F15\u64CE\u7528\u5B83\u6765\u505A\u6807\u51C6 SQL \u89E3\u6790\u4E0E\u4F18\u5316\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"hive-exec\uFF08\u57FA\u4E8E ANTLR3\uFF09"}),"\uFF1AHive \u7684\u6838\u5FC3\u5305\uFF0C\u652F\u6301 Hive/Spark \u8BED\u6CD5\u89E3\u6790\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"23-\u66F4\u5177\u8C61\u5316\u7684\u89E3\u6790\u5668jsqlparser--druid",children:"2.3 \u66F4\u300C\u5177\u8C61\u5316\u300D\u7684\u89E3\u6790\u5668\uFF1AJSqlParser / Druid"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"JSqlParser"}),"\uFF1A\u57FA\u4E8E JavaCC\uFF0C\u80FD\u5C06 SQL \u8F6C\u4E3A\u66F4\u8BED\u4E49\u5316\u7684\u7ED3\u6784\uFF08\u5982 ",(0,l.jsx)(n.code,{children:"select"})," \u2192 ",(0,l.jsx)(n.code,{children:"SelectStatement"}),"\uFF09\uFF0C\u652F\u6301\u8BED\u6CD5\u6811\u7C7B\u7EE7\u627F\u3001JavaAPI \u6784\u5EFA SQL\u3001\u8BED\u6CD5\u6811\u8F6C SQL\uFF1B\u4F46 ",(0,l.jsx)(n.strong,{children:"API \u65E0\u660E\u663E\u7684\u7279\u5B9A\u65B9\u8A00\u89E3\u6790\u5206\u5C42\uFF0C\u652F\u6301\u7684\u6570\u636E\u6E90\u89E3\u6790\u80FD\u529B\u8F83\u5F31"}),"\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Druid"}),"\uFF1A\u5B8C\u5168\u7528 Java \u81EA\u5B9E\u73B0\u626B\u63CF\u5668\u3001\u89E3\u6790\u5668\uFF0C\u89E3\u6790\u51FA\u7684\u8BED\u6CD5\u6811\u662F",(0,l.jsx)(n.strong,{children:"\u5177\u8C61\u5316\u7684\u62BD\u8C61\u8BED\u6CD5\u6811\uFF08\u5177\u6709\u7EE7\u627F\u5173\u7CFB\uFF09"}),"\uFF0C\u5E76\u4E14",(0,l.jsx)(n.strong,{children:"\u652F\u6301\u6309\u6570\u636E\u6E90\u5206\u5C42\u6269\u5C55"}),"\uFF08Lexer\u3001Parser \u626B\u63CF\u53EF\u5206\u5C42\u9694\u79BB\uFF09\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"24-\u6838\u5FC3\u5BF9\u6BD4\u4E0E\u9009\u578B\u7ED3\u8BBA",children:"2.4 \u6838\u5FC3\u5BF9\u6BD4\u4E0E\u9009\u578B\u7ED3\u8BBA"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u5DE5\u5177"}),(0,l.jsx)(n.th,{children:"\u4F9D\u8D56\u5DE5\u5177"}),(0,l.jsx)(n.th,{children:"\u89E3\u6790 SQL \u80FD\u529B"}),(0,l.jsx)(n.th,{children:"\u8BED\u6CD5\u6811\u7C7B\u7EE7\u627F"}),(0,l.jsx)(n.th,{children:"\u4F18\u7F3A\u70B9"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"JavaCC"}),(0,l.jsx)(n.td,{children:"\u539F\u751F\u5B9A\u4E49\u89E3\u6790\u89C4\u5219"}),(0,l.jsx)(n.td,{children:"\u65E0"}),(0,l.jsx)(n.td,{children:"\u65E0"}),(0,l.jsx)(n.td,{children:"\u9700\u4ECE\u96F6\u5B9A\u4E49 SQL \u89C4\u5219"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"ANTLR4"}),(0,l.jsx)(n.td,{children:"\u539F\u751F\u5B9A\u4E49\u89E3\u6790\u89C4\u5219"}),(0,l.jsx)(n.td,{children:"\u6709\uFF0C\u5B98\u65B9\u8BED\u6CD5\u751F\u6001\u6781\u597D"}),(0,l.jsx)(n.td,{children:"\u65E0"}),(0,l.jsx)(n.td,{children:"\u8BED\u6CD5\u751F\u6001\u5F3A\uFF0C\u4F46\u89E3\u6790\u8BED\u6CD5\u6811\u65E0\u62BD\u8C61\u7EE7\u627F\u5173\u7CFB"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Calcite"}),(0,l.jsx)(n.td,{children:"\u57FA\u4E8E JavaCC"}),(0,l.jsx)(n.td,{children:"\u6807\u51C6 SQL\uFF0C\u591A\u65B9\u8A00\u6269\u5C55\u3001\u751F\u6001\u8F83\u5F31"}),(0,l.jsx)(n.td,{children:"\u6709"}),(0,l.jsx)(n.td,{children:"\u9700\u624B\u52A8\u6269\u5C55\u5206\u5C42\u5199\u8BED\u6CD5\u89C4\u5219\uFF0C\u6210\u672C\u5927"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"hive-exec"}),(0,l.jsx)(n.td,{children:"\u57FA\u4E8E ANTLR3"}),(0,l.jsx)(n.td,{children:"\u4EC5 Hive\u3001Spark"}),(0,l.jsx)(n.td,{children:"\u65E0"}),(0,l.jsx)(n.td,{children:"\u65E0\u6CD5\u6269\u5C55\u5206\u5C42\u5230\u5176\u4ED6\u6570\u636E\u6E90"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"JSqlParser"}),(0,l.jsx)(n.td,{children:"\u57FA\u4E8E JavaCC"}),(0,l.jsx)(n.td,{children:"\u6807\u51C6 SQL\uFF0C\u90E8\u5206\u65B9\u8A00"}),(0,l.jsx)(n.td,{children:"\u6709"}),(0,l.jsx)(n.td,{children:"API \u65E0\u660E\u663E\u6570\u636E\u6E90\u5206\u5C42"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"Druid"})}),(0,l.jsx)(n.td,{children:"\u539F\u751F Java \u5B9E\u73B0\u626B\u63CF\u3001\u89E3\u6790\u5668\u4EF6"}),(0,l.jsx)(n.td,{children:"\u652F\u6301 MySQL\u3001Oracle\u3001Hive\u3001Spark\u3001Doris\u3001StarRocks \u7B49"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"\u6709\uFF08\u6781\u5F3A\uFF09"})}),(0,l.jsx)(n.td,{children:"\u6570\u636E\u6E90\u751F\u6001\u597D\u3001AST \u6709\u7EE7\u627F\u5173\u7CFB\uFF1B\u7F3A\u70B9\u662F Java \u81EA\u5B9E\u73B0\u626B\u63CF\u5668\uFF0C\u5165\u95E8\u6709\u96BE\u5EA6"})]})]})]}),"\n",(0,l.jsxs)(n.p,{children:["\u9762\u5411\u6570\u6808\u300C\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u90FD\u8981\u6709\u540C\u6837\u7EE7\u627F\u5173\u7CFB\u7684\u8BED\u6CD5\u6811\u300D\u7684\u573A\u666F\uFF0C\u9700\u8981\u62BD\u8C61\u5B9A\u4E49\u7EDF\u4E00\u7684 ",(0,l.jsx)(n.code,{children:"Insert"}),"\u3001",(0,l.jsx)(n.code,{children:"Select"}),"\u3001",(0,l.jsx)(n.code,{children:"Update"}),"\u3001",(0,l.jsx)(n.code,{children:"Delete"})," \u7B49\u7ED3\u6784\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"\u57FA\u4E8E Druid \u8FD9\u6837\u4E00\u5957\u6709\u7EE7\u627F\u5173\u7CFB\u7684 AST\uFF0C\u4E0D\u540C\u529F\u80FD\u53EA\u9700\u5B9E\u73B0\u4E00\u5957\u89E3\u6790\u903B\u8F91\u5373\u53EF\u5BF9\u5E94\u6240\u6709\u6570\u636E\u6E90\uFF0C\u90E8\u5206\u6570\u636E\u6E90\u518D\u5355\u72EC\u901A\u8FC7\u5206\u5C42\u517C\u5BB9\u5373\u53EF\u3002"})," \u8FD9\u6210\u4E3A\u540E\u7EED\u9009\u578B\u7684\u51B3\u5B9A\u6027\u7406\u7531\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"25-\u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u7528-antlr4",children:"2.5 \u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u7528 ANTLR4"}),"\n",(0,l.jsxs)(n.p,{children:["ANTLR4 \u751F\u6001\u786E\u5B9E\u5F88\u597D\uFF08\u5B98\u65B9\u6709 grammars-v4\uFF09\uFF0C\u4F46\u5B83\u7684\u8BED\u6CD5\u6811",(0,l.jsx)(n.strong,{children:"\u6CA1\u6709\u62BD\u8C61\u7EE7\u627F\u5173\u7CFB"}),"\uFF0C\u96BE\u4EE5\u5728\u591A\u6570\u636E\u6E90\u4E0A\u6C89\u6DC0\u300C\u4E00\u5957\u4E1A\u52A1\u89E3\u6790\u903B\u8F91\u300D\uFF0C\u9700\u8981\u5728\u4E1A\u52A1\u5C42\u91CD\u65B0\u62BD\u8C61\u4E00\u5957\u7ED3\u6784\uFF0C\u53CD\u800C\u589E\u52A0\u7EF4\u62A4\u6210\u672C\u3002Druid \u7684 AST \u5929\u7136\u5E26\u7EE7\u627F\u4F53\u7CFB\uFF0C\u66F4\u5951\u5408\u6211\u4EEC\u7684\u76EE\u6807\u3002"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u4E09\u5386\u53F2\u80CC\u666F\u6539\u9020\u524D\u7684-sql-\u89E3\u6790\u4E3A\u4EC0\u4E48\u96BE\u7EF4\u62A4",children:"\u4E09\u3001\u5386\u53F2\u80CC\u666F\uFF1A\u6539\u9020\u524D\u7684 SQL \u89E3\u6790\u4E3A\u4EC0\u4E48\u96BE\u7EF4\u62A4"}),"\n",(0,l.jsx)(n.h3,{id:"31-\u5B50\u4EA7\u54C1\u5404\u81EA\u4E3A\u6218",children:"3.1 \u5B50\u4EA7\u54C1\u5404\u81EA\u4E3A\u6218"}),"\n",(0,l.jsx)(n.p,{children:"\u6539\u9020\u524D\uFF0CSQL \u89E3\u6790\u6563\u843D\u5728\u591A\u4E2A\u5B50\u4EA7\u54C1\u4E2D\uFF0C\u5404\u7528\u5404\u7684\u65B9\u6848\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"\u79BB\u7EBF batchparser\uFF1ASQL \u7C7B\u578B\u8BC6\u522B\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001SQL \u8131\u654F\u3001\u884C\u5217\u7EA7\u6743\u9650\n \u9762\u5411 SQL \u7C7B\u578B\uFF1Ardb\uFF08mysql\u3001oracle\u3001doris...\uFF09\u3001hive\u3001spark\u3001impala\n \u5B9E\u73B0\uFF1Acalcite & hive-exec \u6A21\u5757\u89E3\u6790\u5668\uFF0C\u52A0\u4E0A druid \u515C\u5E95\u3010\u4E2D\u95F4\u5404\u79CD\u517C\u5BB9\u8BED\u6CD5\u6B63\u5219\u5339\u914D\u66FF\u6362\u903B\u8F91\u3011\n\nAPI apiparser\uFF1AAPI \u89E3\u6790\uFF08\u9884\u7F16\u8BD1\u3001\u975E\u9884\u7F16\u8BD1\uFF09\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001\u884C\u5217\u7EA7\u6743\u9650\n \u9762\u5411 SQL \u7C7B\u578B\uFF1Ardb\n \u5B9E\u73B0\uFF1Acalcite + druid\uFF0Cdruid \u515C\u5E95\n\nlabel labelparser\uFF1A\u6807\u7B7E\u89E3\u6790\n \u5B9E\u73B0\uFF1Acalcite\n\n\u5B9E\u65F6 streamparser\n StreamCreateTableParser \u76F4\u63A5\u4F7F\u7528\u6B63\u5219\u5339\u914D\u89E3\u6790\n StreamCreateViewParser \u4F7F\u7528 hive-exec \u8FDB\u884C\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\n StreamInsertParser \u4F7F\u7528 FlinkPlanner & hive parser \u8FDB\u884C\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\n\n\u8D44\u4EA7 sqlparser\uFF1A\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001SQL \u7C7B\u578B\u8BC6\u522B\n \u5B9E\u73B0\uFF1A\u6BD4\u8F83\u6DF7\u4E71\uFF0Ccalcite\u3001druid \u4EE5\u53CA hive parser \u6DF7\u7528\n"})}),"\n",(0,l.jsxs)(n.p,{children:["\u6838\u5FC3\u95EE\u9898\u662F\uFF1A",(0,l.jsx)(n.strong,{children:"\u5386\u53F2\u4E0A\u9488\u5BF9 SQL \u8BED\u6CD5\u5C42\u9762\u7684\u6269\u5C55\u5F88\u5C11"}),"\uFF0C\u5BFC\u81F4\u8BED\u6CD5\u89E3\u6790\u300C\u4E00\u4E2A\u4E0D\u884C\u5C31\u6362\u53E6\u4E00\u4E2A\u300D\uFF0C\u5404\u79CD\u515C\u5E95\uFF1B\u505A\u8FC7\u8BED\u6CD5\u6269\u5C55\u7684\u4E3B\u8981\u662F\u57FA\u4E8E Calcite \u6269\u5C55\u4E86\u5C11\u91CF\u8BED\u6CD5\uFF08limit\u3001starrocks \u7B49\uFF09\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"32-\u5386\u53F2\u8BBE\u8BA1\u67B6\u6784",children:"3.2 \u5386\u53F2\u8BBE\u8BA1\u67B6\u6784"}),"\n",(0,l.jsx)(n.p,{children:"\u6539\u9020\u524D\u4E3B\u8981\u9488\u5BF9 Calcite\uFF08rdb \u7C7B\u578B\uFF09\u3001hive-exec\uFF08spark\u3001hive\uFF09\u4E24\u7C7B SQL\uFF0CDruid \u4E0E\u6B63\u5219\u65B9\u5F0F\u4F5C\u4E3A\u515C\u5E95\u3002"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u6539\u9020\u524D\u7684\u5386\u53F2\u8BBE\u8BA1\u67B6\u6784",src:s(6809).A+"",width:"16384",height:"5838"})}),"\n",(0,l.jsx)(n.p,{children:"\u4E1A\u52A1\u903B\u8F91\u53EF\u4EE5\u5206\u4E3A\u4E24\u7C7B\uFF1A"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"\u4E00\u7C7B\uFF1ASQL \u7C7B\u578B\u8BC6\u522B\u3001\u8868\u89E3\u6790\u3001SQL \u8131\u654F\u3001\u884C\u5217\u7EA7\u6743\u9650"})}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsx)(n.li,{children:"\u6839\u636E SQL \u7C7B\u578B\u7528 Calcite\u3001hive-exec \u89E3\u6790\u5F97\u5230\u8BED\u6CD5\u6811\uFF1B"}),"\n",(0,l.jsx)(n.li,{children:"\u57FA\u4E8E\u8BED\u6CD5\u6811\u505A\u4E0A\u8FF0\u4E1A\u52A1\u3002"}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"\u53E6\u4E00\u7C7B\uFF1A\u8840\u7F18\u5B9E\u73B0"})}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsx)(n.li,{children:"\u7528 Calcite\u3001hive-exec \u89E3\u6790\u5F97\u5230\u8BED\u6CD5\u6811\uFF1B"}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811"}),"\uFF0C\u5B9E\u73B0\u4E24\u5957\u8F6C\u6362\u5668\uFF08Calcite AST \u2192 \u81EA\u5B9A\u4E49 AST\u3001hive-exec AstNode \u2192 \u81EA\u5B9A\u4E49 AST\uFF09\uFF1B"]}),"\n",(0,l.jsx)(n.li,{children:"\u9488\u5BF9\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811\u5199\u4E00\u5957\u8840\u7F18\u89E3\u6790\u903B\u8F91\u3002"}),"\n"]}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:"\u95EE\u9898\uFF1A\u8F6C\u6362\u4E0E\u89E3\u6790\u626B\u63CF\u8FC7\u7A0B\u4E2D\uFF0C\u5386\u53F2\u4E0A\u66FE\u51FA\u73B0\u6B7B\u5FAA\u73AF\u5BFC\u81F4\u5B50\u4EA7\u54C1\u670D\u52A1\u6302\u6389\u7B49\u5404\u79CD\u60C5\u51B5\u3002"}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"Calcite \u5206\u5C42\u6269\u5C55\u6587\u7AE0\u7684\u63A2\u7D22",src:s(3784).A+"",width:"1710",height:"852"})}),"\n",(0,l.jsx)(n.h3,{id:"33-\u4E3B\u8981\u95EE\u9898",children:"3.3 \u4E3B\u8981\u95EE\u9898"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u4E0D\u540C\u6570\u636E\u6E90\u8BED\u6CD5\u89E3\u6790\u6269\u5C55\u80FD\u529B\u5F31"}),"\uFF1A\u4E0D\u540C rdb \u8BED\u6CD5\u9700\u8981\u6B63\u5219\u524D\u7F6E\u5904\u7406\uFF0C\u6216\u5355\u72EC\u53BB\u6269\u5C55\u8BED\u6CD5\uFF0C\u4E14\u6269\u5C55\u8BED\u6CD5\u96C6\u4E2D\u5728\u4E00\u4E2A\u6A21\u5757\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u4F7F\u7528\u591A\u79CD\u89E3\u6790\u6846\u67B6\u3001\u5404\u79CD\u515C\u5E95\uFF0C\u4EE3\u7801\u7EF4\u62A4\u96BE"}),"\uFF1A\u62FF\u5230\u8BED\u6CD5\u6811\u540E\u7684\u5E94\u7528\u5C42\u89E3\u6790\u903B\u8F91\u4E5F\u5197\u4F59\u5728\u4E00\u8D77\uFF0C\u5230\u5904\u662F ",(0,l.jsx)(n.code,{children:"if"})," \u5224\u65AD\u6570\u636E\u6E90\u517C\u5BB9\u903B\u8F91\uFF0C\u6539\u4E00\u4E2A\u5730\u65B9\u53EF\u80FD\u5F71\u54CD\u5176\u4ED6\u5730\u65B9\uFF0C\u96BE\u4EE5\u7EF4\u62A4\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u8840\u7F18\u89E3\u6790\u6269\u5C55\u5F31\u3001\u5B66\u4E60\u6210\u672C\u6781\u9AD8"}),"\uFF1A\u9700\u8981\u5148\u4E86\u89E3 Calcite / AstNode \u7684\u8282\u70B9\u5B9A\u4E49\uFF0C\u518D\u5177\u5907\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811\u80FD\u529B\uFF0C\u7136\u540E\u6269\u5C55\u4E24\u5C42\u8F6C\u6362\u903B\u8F91\uFF08\u8FD8\u5BB9\u6613\u6B7B\u5FAA\u73AF\uFF09\uFF0C\u6700\u540E\u624D\u5230\u8840\u7F18\u89E3\u6790\u672C\u8EAB\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u56DB\u6280\u672F\u6539\u9020\u53CC\u5C42\u5206\u5C42",children:"\u56DB\u3001\u6280\u672F\u6539\u9020\uFF1A\u53CC\u5C42\u5206\u5C42"}),"\n",(0,l.jsxs)(n.p,{children:["\u6280\u672F\u6539\u9020\u56F4\u7ED5\u4E24\u4E2A\u5C42\u9762\u5206\u5C42\uFF1A",(0,l.jsx)(n.strong,{children:"\u8BED\u6CD5\u89E3\u6790\u5C42"})," \u4E0E ",(0,l.jsx)(n.strong,{children:"\u4E1A\u52A1\u89E3\u6790\u5C42"}),"\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"41-\u8BED\u6CD5\u89E3\u6790\u5C42\u57FA\u4E8E-druid",children:"4.1 \u8BED\u6CD5\u89E3\u6790\u5C42\uFF08\u57FA\u4E8E Druid\uFF09"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u8BED\u6CD5\u89E3\u6790\u5C42\u5206\u5C42",src:s(3130).A+"",width:"2120",height:"712"})}),"\n",(0,l.jsx)(n.p,{children:"\u5206\u5C42\u5B9E\u73B0\u540E\uFF0C\u626B\u63CF\u5668\u3001\u89E3\u6790\u5668\u90FD\u652F\u6301\u7EE7\u627F\u590D\u7528\uFF0C\u4E14\u76F8\u4E92\u72EC\u7ACB\u3001\u4E92\u4E0D\u5F71\u54CD\uFF0C\u7ED3\u6784\u7C7B\u53EF\u81EA\u5B9A\u4E49\u6269\u5C55\uFF1A"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"Druid \u5206\u5C42\u7ED3\u6784\u7C7B",src:s(4037).A+"",width:"3080",height:"1824"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-java",children:"// \u5DE5\u5177\u7C7B\u6307\u5B9A\u6570\u636E\u6E90\u7C7B\u578B\u5B9E\u73B0\u89E3\u6790\nSQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris);\nSQLStatement statement = parser.parseStatement();\n\n// \u6216\u76F4\u63A5 new \u7279\u5B9A Parser\nDorisStatementParser statementParser = new DorisStatementParser(sql);\nSQLStatement sqlStatement = statementParser.parseStatement();\n"})}),"\n",(0,l.jsx)(n.h3,{id:"42-\u4E1A\u52A1\u89E3\u6790\u5C42",children:"4.2 \u4E1A\u52A1\u89E3\u6790\u5C42"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u89E3\u6790\u5C42"}),"\uFF1A\u4E0D\u540C\u6570\u636E\u6E90 \u2192 \u7EDF\u4E00\u62BD\u8C61\u7ED3\u6784\u8BED\u6CD5\u6811\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u5E94\u7528\u5C42"}),"\uFF1A\u9488\u5BF9\u7EDF\u4E00 AST \u5B9E\u73B0\u4E00\u5957\u89E3\u6790\u65B9\u6CD5\uFF1B\u7279\u5B9A\u6570\u636E\u6E90\u5728 AST \u4E2D\u81EA\u5B9A\u4E49\u4E86\u90E8\u5206\u8282\u70B9\u65F6\uFF0C\u5E94\u7528\u5C42\u518D\u9488\u5BF9\u8BE5\u6570\u636E\u6E90\u7684\u8282\u70B9\u505A\u5206\u5C42\u5904\u7406\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u4E1A\u52A1\u89E3\u6790\u5206\u5C42",src:s(3042).A+"",width:"3972",height:"2296"})}),"\n",(0,l.jsx)(n.p,{children:"\u9488\u5BF9\u62BD\u8C61\u8BED\u6CD5\u6811\u5B9E\u73B0\u901A\u7528\u89E3\u6790\u7EC4\u4EF6\uFF1A"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u5E94\u7528\u5C42\u901A\u7528\u89E3\u6790\u7EC4\u4EF6",src:s(4560).A+"",width:"9256",height:"1888"})}),"\n",(0,l.jsxs)(n.p,{children:["\u540E\u7EED\u6269\u5C55\u65F6\uFF0C\u82E5\u5728\u8BED\u6CD5\u5C42\u5355\u72EC\u5B9E\u73B0\u4E86\u67D0\u4E2A\u8282\u70B9\uFF0C\u53EA\u9700\u7EE7\u627F ",(0,l.jsx)(n.code,{children:"BaseXxxClient"}),"\uFF0C\u5355\u72EC\u5B9E\u73B0\u5DEE\u5F02\u65B9\u6CD5\u5373\u53EF\uFF0C\u91CD\u590D\u903B\u8F91\u590D\u7528\uFF1A"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u7EE7\u627F BaseXxxClient \u6269\u5C55",src:s(3694).A+"",width:"2324",height:"1252"})}),"\n",(0,l.jsxs)(n.p,{children:["\u521B\u5EFA Client \u540E\uFF0C\u5728\u5BF9\u5E94 ",(0,l.jsx)(n.code,{children:"XxxSqlParser"})," \u4E2D\u6CE8\u518C\uFF1A"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u5728\u65B9\u8A00\u89E3\u6790\u5668\u4E2D\u6CE8\u518C Client",src:s(3220).A+"",width:"2100",height:"648"})}),"\n",(0,l.jsx)(n.p,{children:"\u793A\u4F8B\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-java",children:"// \u51C6\u5907 SQL\nString sql = getSql();\n\n// 1\u3001\u83B7\u53D6\u89E3\u6790\u5668\uFF08\u5DE5\u5382\u65B9\u5F0F\uFF09\nISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n// 2.1\u3001\u89E3\u6790\u8868\nParseTableResult parseTableResult = sqlParser.parseTables(sql);\nSystem.out.println(parseTableResult.getMainTable()); // \u4E3B\u8868\nSystem.out.println(parseTableResult.getAllTableName()); // \u6240\u6709\u8868\n\n// 2.2\u3001\u89E3\u6790\u5B57\u6BB5\u8840\u7F18\uFF08select * \u573A\u666F\u53EF\u4F20\u5165 tableColumnsMap \u63D0\u4F9B\u5B57\u6BB5\u5143\u6570\u636E\uFF09\nColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap);\n\n// 2.3\u3001\u89E3\u6790\u8868\u8840\u7F18\nTableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql);\n\n// 2.4\u3001\u89E3\u6790\u51FD\u6570\nSet<String> functions = sqlParser.parseFunction(sql);\n"})}),"\n",(0,l.jsx)(n.h3,{id:"43-\u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0",children:"4.3 \u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0"}),"\n",(0,l.jsx)(n.p,{children:"\u540E\u7EED\u8BED\u6CD5\u89E3\u6790\u3001\u4E1A\u52A1\u5C42\u89E3\u6790\u90FD\u53EF\u72EC\u7ACB\u6269\u5C55\uFF1A"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0",src:s(4778).A+"",width:"5684",height:"2764"})}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u4E94\u4E1A\u52A1\u5C42\u89E3\u6790\u7684\u91CD\u65B0\u5B9E\u73B0",children:"\u4E94\u3001\u4E1A\u52A1\u5C42\u89E3\u6790\u7684\u91CD\u65B0\u5B9E\u73B0"}),"\n",(0,l.jsx)(n.p,{children:"\u5386\u53F2\u4E0A\u57FA\u4E8E Druid \u7684\u4E1A\u52A1\u5C42\u5B9E\u73B0\u5F88\u5C11\uFF08\u4EC5 API \u89E3\u6790\u3001\u79BB\u7EBF\u90E8\u5206\u89E3\u6790\u7528 Druid \u515C\u5E95\uFF09\uFF0C\u56E0\u6B64\u8868\u89E3\u6790\u3001\u8840\u7F18\u89E3\u6790\u90FD\u9700\u8981\u91CD\u65B0\u5B9E\u73B0\u3002"}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"\u6709\u8840\u7F18\u7279\u5F81\u7684 SQL \u7C7B\u578B"}),"\uFF1A",(0,l.jsx)(n.code,{children:"insert into/overwrite ... select"}),"\u3001",(0,l.jsx)(n.code,{children:"create ... select"}),"\u3001",(0,l.jsx)(n.code,{children:"with as ... insert"}),"\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"51-\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",children:"5.1 \u5B57\u6BB5\u8840\u7F18\u89E3\u6790"}),"\n",(0,l.jsxs)(n.p,{children:["\u6838\u5FC3\u601D\u8DEF\u662F",(0,l.jsx)(n.strong,{children:"\u628A\u6765\u6E90\u4E0E\u76EE\u6807\u5404\u81EA\u5F52\u4E00\u4E3A\u4E00\u5F20\u4E8C\u7EF4\u8868"}),"\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:["\u4EE5\u4E00\u6761 ",(0,l.jsx)(n.code,{children:"insert select"})," \u4E3A\u4F8B\uFF1A"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"insert into new_table (id, name)\nselect a.id as aid, b.name as bname\nfrom old_table as a\nleft join old_table2 b on a.id = b.id\n"})}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:["\u62C6\u6210\u4E24\u4E2A\u90E8\u5206\uFF1A",(0,l.jsx)(n.code,{children:"insert"})," \u76EE\u6807\u7AEF\u3001",(0,l.jsx)(n.code,{children:"select"})," \u6765\u6E90\u7AEF\uFF1B"]}),"\n",(0,l.jsx)(n.li,{children:"\u5404\u81EA\u8FFD\u6EAF\u5F97\u5230\u4E00\u7EC4\u5217\u8868\uFF1A"}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"# \u76EE\u6807\u7AEF\n\u771F\u5B9E\u5B57\u6BB5 \u522B\u540D\u5B57\u6BB5 \u771F\u5B9E\u8868\u540D\n id id new_table\n name name new_table\n\n# \u6765\u6E90\u7AEF\n\u771F\u5B9E\u5B57\u6BB5 \u522B\u540D\u5B57\u6BB5 \u771F\u5B9E\u8868\u540D\n id aid old_table\n name bname old_table2\n"})}),"\n",(0,l.jsxs)(n.ol,{start:"3",children:["\n",(0,l.jsx)(n.li,{children:"\u4E24\u7EC4\u6309\u56FA\u5B9A\u89C4\u5219\u5339\u914D\uFF0C\u5373\u5F97\u5B57\u6BB5\u8840\u7F18\uFF1A"}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"# \u7B2C\u4E00\u6761\nadmin \u76EE\u6807\u7AEF new_table.id \u2190 \u6765\u6E90\u7AEF old_table.id\n# \u7B2C\u4E8C\u6761\n\u76EE\u6807\u7AEF new_table.name \u2190 \u6765\u6E90\u7AEF old_table2.name\n"})}),"\n",(0,l.jsx)(n.p,{children:"\u6765\u6E90\u7AEF\u7684\u300C\u771F\u5B9E\u8868\u540D \u2192 \u6765\u6E90\u8868\u300D\u300C\u771F\u5B9E\u5B57\u6BB5 \u2192 \u6765\u6E90\u5B57\u6BB5\u300D\uFF0C\u76EE\u6807\u7AEF\u7684\u300C\u522B\u540D\u5B57\u6BB5 \u2192 \u76EE\u6807\u5B57\u6BB5\u300D\u3002"}),"\n",(0,l.jsxs)(n.p,{children:["\u5BF9\u4E8E ",(0,l.jsx)(n.code,{children:"with as"})," \u573A\u666F\uFF0C\u6BCF\u4E2A CTE \u7684 ",(0,l.jsx)(n.code,{children:"()"})," \u4F5C\u4E3A\u4E00\u7EC4\u540C\u6837\u5F52\u4E00\u4E3A\u4E8C\u7EF4\u8868\u518D\u5339\u914D\uFF1B\u5BF9\u4E8E",(0,l.jsx)(n.strong,{children:"\u5355\u5217\u6765\u6E90\u4E8E\u591A\u5B57\u6BB5"}),"\u7684\u573A\u666F\uFF08\u5982 ",(0,l.jsx)(n.code,{children:"concat(t1.name, t2.name)"}),"\uFF09\uFF0C\u771F\u5B9E\u5B57\u6BB5\u4E0E\u771F\u5B9E\u8868\u540D\u4EE5 ",(0,l.jsx)(n.code,{children:","})," \u5408\u5E76\uFF0C\u6700\u7EC8\u62C6\u6210\u591A\u6761\u8840\u7F18\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"52-\u8868\u8840\u7F18\u89E3\u6790",children:"5.2 \u8868\u8840\u7F18\u89E3\u6790"}),"\n",(0,l.jsxs)(n.p,{children:["\u672C\u8D28\u4E0E\u5B57\u6BB5\u8840\u7F18\u7C7B\u4F3C\uFF0C\u66F4\u591A\u662F\u5BF9\u8868\u8FDB\u884C\u5206\u7EC4\u5217\u8868\uFF0C\u4E00\u4E2A ",(0,l.jsx)(n.code,{children:"select"})," \u540C\u6837\u5F97\u5230\u4E00\u7EC4\u300C\u8868\u3001\u8868\u522B\u540D\u300D\u7684\u4E8C\u7EF4\u8868\uFF0C\u6700\u7EC8\u4E0E ",(0,l.jsx)(n.code,{children:"insert"})," \u76EE\u6807\u8868\u5339\u914D\u5373\u53EF\u5B8C\u6210\u8868\u8840\u7F18\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"53-\u8868\u89E3\u6790",children:"5.3 \u8868\u89E3\u6790"}),"\n",(0,l.jsxs)(n.p,{children:["\u4E0E\u8868\u8840\u7F18\u7C7B\u4F3C\uFF0C\u9700\u8981\u89E3\u6790\u51FA\u6240\u6709\u771F\u5B9E\u8868\uFF1B\u9664\u4E86\u8FFD\u6EAF\u771F\u5B9E\u8868\u7684\u8FC7\u7A0B\uFF0C\u8FD8\u8981\u5408\u5E76\u6CA1\u6709\u88AB\u8FFD\u6EAF\u5230\u7684\u771F\u5B9E\u8868\uFF0C\u540C\u65F6\u8986\u76D6\u6BD4\u8868\u8840\u7F18\u66F4\u591A\u7684 SQL \u7ED3\u6784\uFF08",(0,l.jsx)(n.code,{children:"select"}),"\u3001",(0,l.jsx)(n.code,{children:"update"}),"\u3001",(0,l.jsx)(n.code,{children:"delete"}),"\u3001",(0,l.jsx)(n.code,{children:"insert"}),"\u3001",(0,l.jsx)(n.code,{children:"drop"}),"\u3001",(0,l.jsx)(n.code,{children:"rename"})," \u7B49\uFF09\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"54-\u51FD\u6570\u89E3\u6790",children:"5.4 \u51FD\u6570\u89E3\u6790"}),"\n",(0,l.jsxs)(n.p,{children:["\u51FD\u6570\u4E0E\u8840\u7F18\u65E0\u5173\uFF0C\u76F4\u63A5\u4F7F\u7528 ",(0,l.jsx)(n.strong,{children:"Visitor \u6A21\u5F0F"}),"\u6536\u96C6\u6240\u6709\u51FD\u6570\u5373\u53EF\uFF1A"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u57FA\u4E8E Visitor \u7684\u51FD\u6570\u89E3\u6790",src:s(593).A+"",width:"2150",height:"1224"})}),"\n",(0,l.jsx)(n.h3,{id:"55-\u5176\u4ED6\u4E1A\u52A1\u80FD\u529B",children:"5.5 \u5176\u4ED6\u4E1A\u52A1\u80FD\u529B"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"SQL \u8131\u654F\uFF08\u79BB\u7EBF\uFF09"}),"\uFF1A\u590D\u7528\u5B57\u6BB5\u8840\u7F18\u7684 select column \u7EC4\u4EF6\u62FF\u5230\u5B57\u6BB5\u5217\u8868\uFF0C\u518D\u7ED3\u5408\u8BED\u6CD5\u5C42\u4F4D\u70B9\u80FD\u529B\u8FDB\u884C\u6539\u5199\uFF1B\u96BE\u70B9\u662F Druid \u65E0\u7CBE\u786E\u539F\u59CB SQL \u4F4D\u70B9\uFF0C\u9700\u8981\u6269\u5C55\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u884C\u7EA7\u6743\u9650\u6539\u5199 SQL"}),"\uFF1A\u5229\u7528 Druid API \u8865\u5145 AST \u8282\u70B9\uFF0C\u518D\u8F6C\u56DE SQL\uFF0C\u672C\u8D28\u662F\u6839\u636E\u4E3B\u4F53 select \u5C01\u88C5/\u8865\u5145\u6761\u4EF6\u8282\u70B9\u540E\u91CD\u65B0\u8F93\u51FA\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u516Dsqlparserx-\u7684\u8BDE\u751F",children:"\u516D\u3001SqlParserX \u7684\u8BDE\u751F"}),"\n",(0,l.jsxs)(n.p,{children:["\u5728\u5185\u90E8\u53CC\u5C42\u6539\u9020\u9A8C\u8BC1\u843D\u5730\u4E4B\u540E\uFF0C\u4E00\u4E2A\u66F4\u6E05\u6670\u7684\u60F3\u6CD5\u51FA\u73B0\u4E86\uFF1A",(0,l.jsx)(n.strong,{children:"\u80FD\u4E0D\u80FD\u628A\u300C\u57FA\u4E8E Druid \u7684 SQL \u89E3\u6790\u300D\u505A\u6210\u4E00\u4E2A\u7EAF\u51C0\u3001\u53EF\u72EC\u7ACB\u6F14\u8FDB\u7684\u5F00\u6E90\u9879\u76EE\uFF1F"})]}),"\n",(0,l.jsxs)(n.p,{children:["\u4E8E\u662F\u6709\u4E86 ",(0,l.jsx)(n.strong,{children:"SqlParserX"})," \u2014\u2014 \u4E00\u4E2A\u65E0\u9700\u4F9D\u8D56 Calcite\u3001ANTLR \u7B49\u5176\u4ED6\u89E3\u6790\u7EC4\u4EF6\uFF0C",(0,l.jsx)(n.strong,{children:"\u5B8C\u5168\u57FA\u4E8E Druid \u5B9E\u73B0\u5404\u7C7B\u4E0D\u540C SQL \u89E3\u6790"}),"\u7684\u5F00\u6E90\u9879\u76EE\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"61-\u53CC\u5C42\u67B6\u6784",children:"6.1 \u53CC\u5C42\u67B6\u6784"}),"\n",(0,l.jsx)(n.p,{children:"SqlParserX \u5C06\u89E3\u6790\u5185\u6838\u62C6\u5206\u4E3A\u4E24\u4E2A\u72EC\u7ACB Jar Module\uFF0C\u7ED3\u6784\u5BF9\u79F0\u3001\u804C\u8D23\u6E05\u6670\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"SqlParserX\uFF08\u6839 Reactor\uFF09\n\u251C\u2500\u2500 sqlparserx-engine\uFF08\u805A\u5408\u7236\u6A21\u5757\uFF0Cpackaging=pom\uFF09\n\u2502 \u251C\u2500\u2500 sqlparserx-syntax\uFF08jar\uFF0C\u8BED\u6CD5\u89E3\u6790\u5C42\uFF0C\u57FA\u4E8E Druid\uFF09 \u2190 \u53EA\u7BA1 SQL \u2192 AST\n\u2502 \u2514\u2500\u2500 sqlparserx-core\uFF08jar\uFF0C\u4E1A\u52A1\u89E3\u6790\u5C42\uFF0C\u4F9D\u8D56 syntax\uFF09 \u2190 \u53EA\u7BA1 AST \u2192 \u4E1A\u52A1\u7ED3\u679C\n\u251C\u2500\u2500 sqlparserx-web\uFF08HTTP \u670D\u52A1\uFF09\n\u251C\u2500\u2500 sqlparserx-mcp-server-sse\uFF08MCP Server\uFF09\n\u2514\u2500\u2500 sqlparserx-ui\uFF08\u524D\u7AEF\uFF09\n"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsxs)(n.strong,{children:["\u8BED\u6CD5\u89E3\u6790\u5C42\uFF08",(0,l.jsx)(n.code,{children:"sqlparserx-syntax"}),"\uFF09"]}),"\uFF1A\u7EDF\u4E00\u7EF4\u62A4 Druid \u4F9D\u8D56\u3001SQL\u2192AST\u3001\u591A\u8BED\u53E5\u89E3\u6790\u4E0E\u5207\u5206\uFF0C\u4EE5\u53CA\u540E\u7EED\u6570\u636E\u6E90 Lexer / StatementParser / AST Node \u6269\u5C55\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsxs)(n.strong,{children:["\u4E1A\u52A1\u89E3\u6790\u5C42\uFF08",(0,l.jsx)(n.code,{children:"sqlparserx-core"}),"\uFF09"]}),"\uFF1A\u57FA\u4E8E\u7EDF\u4E00 AST \u5B9E\u73B0\u771F\u5B9E\u8868\u3001\u5EFA\u8868\u7ED3\u6784\u3001\u8868/\u5B57\u6BB5\u8840\u7F18\u3001\u51FD\u6570\u4E0E SQL \u6743\u9650\u6539\u5199\u3002"]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["\u4E24\u5C42\u4EE5 ",(0,l.jsx)(n.code,{children:"DbType + SQLStatement AST"})," \u4F5C\u4E3A\u8FDE\u63A5\u5951\u7EA6\uFF0C",(0,l.jsx)(n.strong,{children:"\u4E0D\u989D\u5916\u590D\u5236\u4E00\u5957 AST"}),"\uFF0C\u907F\u514D\u957F\u671F\u8F6C\u6362\u4E0E\u540C\u6B65\u3002\u8BE6\u7EC6\u8BBE\u8BA1\u89C1 ",(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/blob/master/docs/02%E3%80%81SQL%E4%B8%9A%E5%8A%A1%E5%B1%82%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%94%AF%E6%92%91%E6%83%85%E5%86%B5/%E6%A8%A1%E5%9D%97%E4%BE%9D%E8%B5%96%E5%8C%85%E5%BC%95%E7%94%A8%E7%BB%93%E6%9E%84%E8%AE%BE%E8%AE%A1.md",children:"\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1"}),"\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"62-\u4ECE\u5185\u90E8\u4E8C\u5F00\u8D70\u5411\u5B98\u65B9-druid",children:"6.2 \u4ECE\u5185\u90E8\u4E8C\u5F00\u8D70\u5411\u5B98\u65B9 Druid"}),"\n",(0,l.jsxs)(n.p,{children:["\u9879\u76EE\u65E9\u671F\u4F9D\u8D56\u5185\u90E8\u4E8C\u5F00\u7684 Druid \u7248\u672C\uFF0C\u968F\u7740\u80FD\u529B\u6C89\u6DC0\uFF0CSqlParserX \u5DF2\u7EDF\u4E00\u4E3A",(0,l.jsx)(n.strong,{children:"\u5B98\u65B9 Druid 1.2.28"}),"\uFF0C\u964D\u4F4E\u7EF4\u62A4\u6210\u672C\u3001\u65B9\u4FBF\u793E\u533A\u534F\u4F5C\u3002\u8BED\u6CD5\u5C42\u575A\u6301\u300C",(0,l.jsx)(n.strong,{children:"\u4E0D\u5728\u4E1A\u52A1\u5C42\u7528\u5927\u91CF\u6B63\u5219\u66FF\u6362\u89C4\u907F\u8BED\u6CD5\u95EE\u9898"}),"\u300D\uFF0C\u65B9\u8A00\u8BED\u6CD5\u5DEE\u5F02\u4E00\u5F8B\u56DE\u5230\u8BED\u6CD5\u5C42\u6309 Druid \u7684\u65B9\u5F0F\u6269\u5C55\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"63-\u80FD\u529B\u4E0E\u6587\u6863\u4F53\u7CFB",children:"6.3 \u80FD\u529B\u4E0E\u6587\u6863\u4F53\u7CFB"}),"\n",(0,l.jsx)(n.p,{children:"SqlParserX \u4E0D\u4EC5\u63D0\u4F9B\u4EE3\u7801\uFF0C\u4E5F\u63D0\u4F9B\u4E86\u4E00\u5957\u53EF\u7EF4\u62A4\u7684\u6587\u6863\u4F53\u7CFB\uFF1A"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/about/architecture",children:"\u53CC\u5C42\u67B6\u6784\u8BBE\u8BA1"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/blob/master/docs/02%E3%80%81SQL%E4%B8%9A%E5%8A%A1%E5%B1%82%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%94%AF%E6%92%91%E6%83%85%E5%86%B5/%E6%A8%A1%E5%9D%97%E4%BE%9D%E8%B5%96%E5%8C%85%E5%BC%95%E7%94%A8%E7%BB%93%E6%9E%84%E8%AE%BE%E8%AE%A1.md",children:"\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/blob/master/docs/01%E3%80%81SQL%E8%AF%AD%E6%B3%95%E5%B1%82%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%94%AF%E6%92%91%E6%83%85%E5%86%B5/Druid%E7%89%88%E6%9C%AC%E4%B8%8ESQL%E8%AF%AD%E6%B3%95%E6%94%AF%E6%8C%81%E6%83%85%E5%86%B5.md",children:"Druid \u7248\u672C\u4E0E SQL \u8BED\u6CD5\u652F\u6301\u60C5\u51B5"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/tree/master/docs/02%E3%80%81SQL%E4%B8%9A%E5%8A%A1%E5%B1%82%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%94%AF%E6%92%91%E6%83%85%E5%86%B5/%E8%83%BD%E5%8A%9B%E6%94%AF%E6%8C%81%E6%83%85%E5%86%B5",children:"\u80FD\u529B\u652F\u6301\u60C5\u51B5\uFF08\u6570\u636E\u6E90 + \u901A\u7528\u89E3\u6790\u80FD\u529B\uFF09"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/blob/master/docs/02%E3%80%81SQL%E4%B8%9A%E5%8A%A1%E5%B1%82%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%94%AF%E6%92%91%E6%83%85%E5%86%B5/%E6%A0%87%E5%87%86%E8%BF%AD%E4%BB%A3%E7%BB%B4%E6%8A%A4%E6%89%A9%E5%B1%95%E6%96%87%E6%A1%A3/SqlParserX%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%A0%87%E5%87%86%E8%BF%AD%E4%BB%A3%E7%BB%B4%E6%8A%A4%E6%89%A9%E5%B1%95%E6%8C%87%E5%8D%97.md",children:"\u89E3\u6790\u80FD\u529B\u6807\u51C6\u8FED\u4EE3\u7EF4\u62A4\u6269\u5C55\u6307\u5357"})}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"64-\u76EE\u6807",children:"6.4 \u76EE\u6807"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\u65E0\u9700\u4F9D\u8D56 Calcite\u3001ANTLR \u7B49\u5176\u4ED6\u89E3\u6790\u7EC4\u4EF6\uFF0C",(0,l.jsx)(n.strong,{children:"\u5B8C\u5168\u57FA\u4E8E Druid"})," \u5B9E\u73B0\u5404\u79CD\u6570\u636E\u6E90\u7684 SQL \u89E3\u6790\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u8BED\u6CD5\u95EE\u9898\u6269\u5C55 Druid\uFF0C\u4E1A\u52A1\u8BED\u4E49\u6269\u5C55 SqlParserX"}),"\uFF1B\u901A\u7528\u80FD\u529B\u6C89\u6DC0 Base\uFF0C\u6570\u636E\u6E90\u5DEE\u5F02\u6309\u65B9\u8A00\u8986\u76D6\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:["\u65B0\u589E\u6570\u636E\u6E90\u65F6\uFF0C\u8BED\u6CD5\u5DEE\u5F02\u5728\u8BED\u6CD5\u5C42\u6269\u5C55\uFF0C\u4E1A\u52A1\u5DEE\u5F02\u5728\u4E1A\u52A1\u5C42\u6269\u5C55\uFF0C\u4E0A\u4E0B\u4E24\u5C42\u901A\u8FC7 ",(0,l.jsx)(n.code,{children:"DbType"})," \u4E0E AST \u5BF9\u9F50\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u4E03\u7ED3\u8BED",children:"\u4E03\u3001\u7ED3\u8BED"}),"\n",(0,l.jsx)(n.p,{children:"\u4ECE\u300C\u6563\u843D\u5404\u5904\u7684\u89E3\u6790\u5668 + \u5404\u79CD\u515C\u5E95\u300D\u5230\u300C\u7EDF\u4E00 AST + \u53CC\u5C42\u5206\u5C42\u300D\uFF0C\u518D\u5230\u300C\u4E00\u4E2A\u7EAF\u51C0\u3001\u53EA\u4F9D\u8D56 Druid \u7684\u5F00\u6E90\u9879\u76EE\u300D\uFF0CSqlParserX \u7684\u8BDE\u751F\u4E0D\u662F\u4E00\u6B21\u6027\u7684\u91CD\u6784\uFF0C\u800C\u662F\u4E00\u6B21\u6B21\u628A\u95EE\u9898\u653E\u56DE\u6B63\u786E\u5C42\u6B21\u7684\u53D6\u820D\uFF1A"}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"\u8BED\u6CD5\u95EE\u9898\u6269\u5C55 Druid\uFF0C\u4E1A\u52A1\u8BED\u4E49\u6269\u5C55 SqlParserX\uFF1B\u901A\u7528\u80FD\u529B\u6C89\u6DC0 Base\uFF0C\u6570\u636E\u6E90\u5DEE\u5F02\u6309\u65B9\u8A00\u8986\u76D6\u3002"})}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"\u5982\u679C\u4F60\u5728\u505A\u591A\u6570\u636E\u6E90\u7684 SQL \u89E3\u6790\u3001\u8840\u7F18\u3001\u8868\u89E3\u6790\u76F8\u5173\u5DE5\u4F5C\uFF0C\u6B22\u8FCE\u4E00\u8D77\u4EA4\u6D41\u4E0E\u5171\u5EFA\u3002"}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:"\u4F5C\u8005\uFF1Achanglu \uFF5C 2026-09-28"}),"\n",(0,l.jsxs)(n.p,{children:["\u672C\u6587\u56FE\u7247\u4F4D\u4E8E ",(0,l.jsx)(n.code,{children:"assets/"})," \u76EE\u5F55\uFF0C\u4ED3\u5E93\u5185\u4EE5\u76F8\u5BF9\u8DEF\u5F84\u5F15\u7528\u3002"]}),"\n"]})]})}function x(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},3519(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/01-parser-market-69347f790ddfccf38bcd49b4df85e909.png"},6809(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/02-legacy-architecture-8c0e245dcac8e3570e5a686b9f58b9d9.png"},3784(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/03-calcite-layered-article-1d0e86b355eba0e53d237d95afd4d3a6.png"},3130(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/04-druid-syntax-layer-815515eac5295f9f772e1beb97f04c11.png"},4037(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/05-druid-layer-structure-5737c5a7826cff1a2874cf2b927ccd34.png"},3042(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/06-business-layer-46c84fa8b5f3c12f0316fc058e9daf15.png"},4560(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/07-application-components-3fa01967e1605c21791788f2a06212eb.png"},3694(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/08-inherit-baseclient-cb4fb84bd3af91ceb7d6b08e4ec7d466.png"},3220(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/09-register-client-c6216b08439b96af51fda129de838a4e.png"},4778(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/10-after-refactor-c8b89cd447d9cea7894354ffea6a2fdf.png"},593(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/11-function-visitor-43a9830686ce367f536545b5691f504f.png"},8453(e,n,s){s.d(n,{R:()=>d,x:()=>c});var r=s(6540);let l={},i=r.createContext(l);function d(e){let n=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:d(e.components),r.createElement(i.Provider,{value:n},e.children)}},5816(e){e.exports=JSON.parse('{"permalink":"/SqlParserX/blog/origin-of-sqlparserx","editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/blog/2026-09-28-origin-of-sqlparserx.md","source":"@site/blog/2026-09-28-origin-of-sqlparserx.md","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002","date":"2026-09-28T00:00:00.000Z","tags":[{"inline":false,"label":"\u8D77\u6E90\u4E0E\u80CC\u666F","permalink":"/SqlParserX/blog/tags/origin","description":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u4E0E\u5185\u90E8\u6539\u9020\u5386\u7A0B"}],"readingTime":16.44,"hasTruncateMarker":true,"authors":[{"name":"changlu","title":"SqlParserX \u7EF4\u62A4\u8005","url":"https://github.com/DTStack/SqlParserX","page":{"permalink":"/SqlParserX/blog/authors/changlu"},"socials":{"github":"https://github.com/DTStack"},"imageURL":"https://github.com/github.png","key":"changlu"}],"frontMatter":{"slug":"origin-of-sqlparserx","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","authors":["changlu"],"tags":["origin"],"date":"2026-09-28T00:00:00.000Z","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002"},"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/4b0ae1c1.d8b39644.js b/assets/js/4b0ae1c1.d8b39644.js new file mode 100644 index 0000000..b4b302a --- /dev/null +++ b/assets/js/4b0ae1c1.d8b39644.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9375"],{8786(e,r,t){t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var s=t(5816),a=t(4848),n=t(8453);let o={slug:"origin-of-sqlparserx",title:"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020",authors:["changlu"],tags:["origin"],date:new Date("2026-09-28T00:00:00.000Z"),description:"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002"},l,i={authorsImageUrls:[void 0]},c=[];function u(e){let r={a:"a",blockquote:"blockquote",p:"p",...(0,n.R)(),...e.components};return(0,a.jsxs)(r.blockquote,{children:["\n",(0,a.jsx)(r.p,{children:"\u4F5C\u8005\uFF1Achanglu \uFF5C \u65E5\u671F\uFF1A2026-09-28"}),"\n",(0,a.jsxs)(r.p,{children:["\u8FD9\u662F\u4E00\u7BC7\u5173\u4E8E SqlParserX \u8D77\u6E90\u7684\u6280\u672F\u535A\u5BA2\u3002\u5B83\u8BB0\u5F55\u4E86\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002\n\u9879\u76EE\u5730\u5740\u4E0E\u4F7F\u7528\u65B9\u5F0F\u89C1 ",(0,a.jsx)(r.a,{href:"https://github.com/DTStack/SqlParserX",children:"SqlParserX \u4ED3\u5E93"}),"\uFF0C\u53CC\u5C42\u67B6\u6784\u8BBE\u8BA1\u89C1 ",(0,a.jsx)(r.a,{href:"/docs/about/architecture",children:"\u67B6\u6784\u8BBE\u8BA1"}),"\u3002"]}),"\n"]})}function p(e={}){let{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,a.jsx)(r,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},8453(e,r,t){t.d(r,{R:()=>o,x:()=>l});var s=t(6540);let a={},n=s.createContext(a);function o(e){let r=s.useContext(n);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(n.Provider,{value:r},e.children)}},5816(e){e.exports=JSON.parse('{"permalink":"/SqlParserX/blog/origin-of-sqlparserx","editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/blog/2026-09-28-origin-of-sqlparserx.md","source":"@site/blog/2026-09-28-origin-of-sqlparserx.md","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002","date":"2026-09-28T00:00:00.000Z","tags":[{"inline":false,"label":"\u8D77\u6E90\u4E0E\u80CC\u666F","permalink":"/SqlParserX/blog/tags/origin","description":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u4E0E\u5185\u90E8\u6539\u9020\u5386\u7A0B"}],"readingTime":16.44,"hasTruncateMarker":true,"authors":[{"name":"changlu","title":"SqlParserX \u7EF4\u62A4\u8005","url":"https://github.com/DTStack/SqlParserX","page":{"permalink":"/SqlParserX/blog/authors/changlu"},"socials":{"github":"https://github.com/DTStack"},"imageURL":"https://github.com/github.png","key":"changlu"}],"frontMatter":{"slug":"origin-of-sqlparserx","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","authors":["changlu"],"tags":["origin"],"date":"2026-09-28T00:00:00.000Z","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002"},"unlisted":false}')}}]); \ No newline at end of file diff --git a/assets/js/4d54d076.da3daff2.js b/assets/js/4d54d076.da3daff2.js new file mode 100644 index 0000000..c31186a --- /dev/null +++ b/assets/js/4d54d076.da3daff2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5936"],{7396(e,s,n){n.r(s),n.d(s,{metadata:()=>r,default:()=>h,frontMatter:()=>t,contentTitle:()=>c,toc:()=>o,assets:()=>d});var r=JSON.parse('{"id":"contributing","title":"\u8D21\u732E\u6307\u5357","description":"\u53C2\u4E0E SqlParserX \u5F00\u53D1\u7684\u6D41\u7A0B\u4E0E\u89C4\u8303","source":"@site/docs/contributing.md","sourceDirName":".","slug":"/contributing","permalink":"/SqlParserX/docs/next/contributing","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/contributing.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"\u8D21\u732E\u6307\u5357","description":"\u53C2\u4E0E SqlParserX \u5F00\u53D1\u7684\u6D41\u7A0B\u4E0E\u89C4\u8303","sidebar_label":"\u8D21\u732E\u6307\u5357","sidebar_position":1},"sidebar":"docs","previous":{"title":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","permalink":"/SqlParserX/docs/next/core/parameter-compile"}}'),i=n(4848),l=n(8453);let t={title:"\u8D21\u732E\u6307\u5357",description:"\u53C2\u4E0E SqlParserX \u5F00\u53D1\u7684\u6D41\u7A0B\u4E0E\u89C4\u8303",sidebar_label:"\u8D21\u732E\u6307\u5357",sidebar_position:1},c="\u8D21\u732E\u6307\u5357",d={},o=[{value:"\u53C2\u4E0E\u65B9\u5F0F",id:"\u53C2\u4E0E\u65B9\u5F0F",level:2},{value:"\u5F00\u53D1\u6D41\u7A0B",id:"\u5F00\u53D1\u6D41\u7A0B",level:2},{value:"\u4EE3\u7801\u7EA6\u5B9A",id:"\u4EE3\u7801\u7EA6\u5B9A",level:2},{value:"\u6587\u6863\u7EA6\u5B9A",id:"\u6587\u6863\u7EA6\u5B9A",level:2}];function a(e){let s={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,l.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"\u8D21\u732E\u6307\u5357",children:"\u8D21\u732E\u6307\u5357"})}),"\n",(0,i.jsx)(s.p,{children:"\u611F\u8C22\u4F60\u5BF9 SqlParserX \u7684\u5173\u6CE8\uFF01\u6B22\u8FCE\u901A\u8FC7 Issue\u3001Pull Request \u53C2\u4E0E\u5171\u5EFA\u3002"}),"\n",(0,i.jsx)(s.h2,{id:"\u53C2\u4E0E\u65B9\u5F0F",children:"\u53C2\u4E0E\u65B9\u5F0F"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\u63D0\u4EA4 Bug \u6216\u9700\u6C42\uFF1A",(0,i.jsx)(s.a,{href:"https://github.com/DTStack/SqlParserX/issues",children:"GitHub Issues"})]}),"\n",(0,i.jsxs)(s.li,{children:["\u63D0\u4EA4\u4EE3\u7801\uFF1A",(0,i.jsx)(s.a,{href:"https://github.com/DTStack/SqlParserX/pulls",children:"GitHub Pull Requests"})]}),"\n",(0,i.jsxs)(s.li,{children:["\u8BA8\u8BBA\u4EA4\u6D41\uFF1A\u89C1",(0,i.jsx)(s.a,{href:"/community",children:"\u793E\u533A"})]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"\u5F00\u53D1\u6D41\u7A0B",children:"\u5F00\u53D1\u6D41\u7A0B"}),"\n",(0,i.jsxs)(s.ol,{children:["\n",(0,i.jsxs)(s.li,{children:["Fork \u4ED3\u5E93\u5E76\u521B\u5EFA\u7279\u6027\u5206\u652F\uFF1A",(0,i.jsx)(s.code,{children:"git checkout -b feature/xxx"})]}),"\n",(0,i.jsxs)(s.li,{children:["\u672C\u5730\u6784\u5EFA\uFF1A",(0,i.jsx)(s.code,{children:"mvn clean install -DskipTests"})]}),"\n",(0,i.jsxs)(s.li,{children:["\u7F16\u5199\u4EE3\u7801\u4E0E\u6D4B\u8BD5\uFF0C\u786E\u4FDD ",(0,i.jsx)(s.code,{children:"mvn test"})," \u901A\u8FC7"]}),"\n",(0,i.jsx)(s.li,{children:"\u63D0\u4EA4\u5E76\u63A8\u9001\u5206\u652F\uFF0C\u53D1\u8D77 Pull Request"}),"\n",(0,i.jsx)(s.li,{children:"\u901A\u8FC7 CI \u4E0E Review \u540E\u5408\u5E76"}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"\u4EE3\u7801\u7EA6\u5B9A",children:"\u4EE3\u7801\u7EA6\u5B9A"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\u9075\u5FAA\u73B0\u6709\u6A21\u5757\u5206\u5C42\uFF1A\u8BED\u6CD5\u5DEE\u5F02\u6539 ",(0,i.jsx)(s.code,{children:"sqlparserx-syntax"}),"\uFF0C\u4E1A\u52A1\u5DEE\u5F02\u6539 ",(0,i.jsx)(s.code,{children:"sqlparserx-core"})]}),"\n",(0,i.jsx)(s.li,{children:"\u65B0\u589E\u6570\u636E\u6E90\u65F6\uFF0C\u540C\u6B65\u8865\u5145\u80FD\u529B\u652F\u6301\u6587\u6863\u4E0E\u56DE\u5F52\u6D4B\u8BD5"}),"\n",(0,i.jsx)(s.li,{children:"\u4FDD\u6301\u4E0E\u73B0\u6709\u4EE3\u7801\u98CE\u683C\u4E00\u81F4\uFF0C\u4E0D\u5F15\u5165\u65E0\u5173\u4F9D\u8D56"}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"\u6587\u6863\u7EA6\u5B9A",children:"\u6587\u6863\u7EA6\u5B9A"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\u6587\u6863\u7EDF\u4E00\u7EF4\u62A4\u5728\u9879\u76EE\u6839\u76EE\u5F55 ",(0,i.jsx)(s.code,{children:"docs/"}),"\uFF0C\u672C\u7AD9\u6587\u6863\u4ECE\u4E2D\u540C\u6B65"]}),"\n",(0,i.jsx)(s.li,{children:"\u65B0\u589E\u89E3\u6790\u80FD\u529B\u65F6\uFF0C\u66F4\u65B0\u5BF9\u5E94\u300C\u80FD\u529B\u652F\u6301\u60C5\u51B5\u300D\u6587\u6863"}),"\n",(0,i.jsxs)(s.li,{children:["\u53C2\u8003",(0,i.jsx)(s.a,{href:"/SqlParserX/docs/next/about/architecture",children:"\u67B6\u6784\u8BBE\u8BA1"}),"\u7406\u89E3\u4E24\u5C42\u6269\u5C55\u6A21\u5F0F"]}),"\n"]})]})}function h(e={}){let{wrapper:s}={...(0,l.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},8453(e,s,n){n.d(s,{R:()=>t,x:()=>c});var r=n(6540);let i={},l=r.createContext(i);function t(e){let s=r.useContext(l);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5062.689c71ca.js b/assets/js/5062.689c71ca.js new file mode 100644 index 0000000..5d1c5a9 --- /dev/null +++ b/assets/js/5062.689c71ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5062"],{955(e,t,n){n.d(t,{A:()=>a});var r=n(4848);n(6540);var i=n(4164),s=n(568),o=n(2072);function a({className:e}){return(0,r.jsx)("main",{className:(0,i.A)("container margin-vert--xl",e),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(s.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},629(e,t,n){n.r(t),n.d(t,{default:()=>l});var r=n(4848);n(6540);var i=n(568),s=n(4308),o=n(6525),a=n(955);function l(){let e=(0,i.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.be,{title:e}),(0,r.jsx)(o.A,{children:(0,r.jsx)(a.A,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/5082.46e3206e.js b/assets/js/5082.46e3206e.js new file mode 100644 index 0000000..c0891bf --- /dev/null +++ b/assets/js/5082.46e3206e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5082"],{5137(e,t,r){r.d(t,{captureNodeSizes:()=>u});var i=r(6827);function a(){if("u">typeof globalThis)return globalThis}function n(){return"u"<typeof location?"browser-dev":`${location.pathname}${location.search}`}function o(e,t){let r=a();if(!r)return;let i=t.node(),n=(i&&"ownerSVGElement"in i?i.ownerSVGElement:null)??i,o=n?.id??"(unknown)";r.mermaidCapturedSizes??=[];let u={svgId:o,sizes:e};r.mermaidCapturedSizes.push(u),r.mermaidLastCapturedSizes=u}function u(e,t){let r=[];for(let e of t.nodes)e.isGroup||r.push({id:e.id,width:e.width??0,height:e.height??0});0!==r.length&&o({metadata:{captureVersion:1,capturedAt:new Date().toISOString(),capturedFrom:n()},nodes:r},e)}(0,i.K)(a,"getCaptureGlobal"),(0,i.K)(function(){return!!a()?.mermaidCaptureSizes},"shouldCaptureSizes"),(0,i.K)(n,"capturedFromLocation"),(0,i.K)(o,"emitCapturedSizes"),(0,i.K)(u,"captureNodeSizes")}}]); \ No newline at end of file diff --git a/assets/js/51515e66.dde2f931.js b/assets/js/51515e66.dde2f931.js new file mode 100644 index 0000000..8163971 --- /dev/null +++ b/assets/js/51515e66.dde2f931.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4522"],{3817(e,r,s){s.r(r),s.d(r,{metadata:()=>d,default:()=>a,frontMatter:()=>l,contentTitle:()=>i,toc:()=>h,assets:()=>c});var d=JSON.parse('{"id":"about/introduction","title":"SqlParserX \u4ECB\u7ECD","description":"SqlParserX \u7684\u5B9A\u4F4D\u3001\u80FD\u529B\u4E0E\u6A21\u5757\u7EC4\u6210","source":"@site/docs/about/introduction.md","sourceDirName":"about","slug":"/about/introduction","permalink":"/SqlParserX/docs/next/about/introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/about/introduction.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"SqlParserX \u4ECB\u7ECD","description":"SqlParserX \u7684\u5B9A\u4F4D\u3001\u80FD\u529B\u4E0E\u6A21\u5757\u7EC4\u6210","sidebar_label":"SqlParserX\u4ECB\u7ECD","sidebar_position":1},"sidebar":"docs","previous":{"title":"\u6587\u6863\u5BFC\u8BFB","permalink":"/SqlParserX/docs/next/intro"},"next":{"title":"\u67B6\u6784\u8BBE\u8BA1","permalink":"/SqlParserX/docs/next/about/architecture"}}'),t=s(4848),n=s(8453);let l={title:"SqlParserX \u4ECB\u7ECD",description:"SqlParserX \u7684\u5B9A\u4F4D\u3001\u80FD\u529B\u4E0E\u6A21\u5757\u7EC4\u6210",sidebar_label:"SqlParserX\u4ECB\u7ECD",sidebar_position:1},i="SqlParserX \u4ECB\u7ECD",c={},h=[{value:"\u89E3\u51B3\u7684\u5178\u578B\u95EE\u9898",id:"\u89E3\u51B3\u7684\u5178\u578B\u95EE\u9898",level:2},{value:"\u6A21\u5757\u7EC4\u6210",id:"\u6A21\u5757\u7EC4\u6210",level:2},{value:"\u6570\u636E\u6E90\u652F\u6301",id:"\u6570\u636E\u6E90\u652F\u6301",level:2},{value:"\u5EF6\u4F38\u9605\u8BFB",id:"\u5EF6\u4F38\u9605\u8BFB",level:2}];function x(e){let r={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"sqlparserx-\u4ECB\u7ECD",children:"SqlParserX \u4ECB\u7ECD"})}),"\n",(0,t.jsxs)(r.p,{children:["SqlParserX \u662F\u4E00\u4E2A",(0,t.jsx)(r.strong,{children:"\u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305"}),"\uFF0C\u63D0\u4F9B SQL \u7C7B\u578B\u8BC6\u522B\u3001\u8868/DDL \u89E3\u6790\u3001\u8868\u4E0E\u5B57\u6BB5\u8840\u7F18\u3001\u51FD\u6570\u63D0\u53D6\u4EE5\u53CA\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1\u80FD\u529B\u3002"]}),"\n",(0,t.jsx)(r.h2,{id:"\u89E3\u51B3\u7684\u5178\u578B\u95EE\u9898",children:"\u89E3\u51B3\u7684\u5178\u578B\u95EE\u9898"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u95EE\u9898"}),(0,t.jsx)(r.th,{children:"\u65B9\u6848"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u4E0D\u540C SQL \u65B9\u8A00\u8BED\u6CD5\u5DEE\u5F02\u5927"}),(0,t.jsxs)(r.td,{children:["\u901A\u8FC7 ",(0,t.jsx)(r.code,{children:"DbType"})," \u8DEF\u7531 Druid \u65B9\u8A00\uFF0C\u7EDF\u4E00 AST"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u771F\u5B9E\u8868\u4E0E DDL \u85CF\u5728 SQL \u6587\u672C\u4E2D"}),(0,t.jsxs)(r.td,{children:["\u8868\u3001CTE\u3001",(0,t.jsx)(r.code,{children:"CREATE TABLE"}),"\u3001\u5206\u533A\u4E0E\u5C5E\u6027\u89E3\u6790"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u6570\u636E\u4F9D\u8D56\u96BE\u4EE5\u8FFD\u8E2A"}),(0,t.jsx)(r.td,{children:"\u8986\u76D6 JOIN\u3001UNION\u3001\u5B50\u67E5\u8BE2\u3001\u805A\u5408\u4E0E CTE \u7684\u8868/\u5B57\u6BB5\u8840\u7F18"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u811A\u672C\u4E2D\u5305\u542B\u591A\u6761\u8BED\u53E5"}),(0,t.jsx)(r.td,{children:"SQL \u62C6\u5206\u4E0E\u8BED\u6CD5\u6821\u9A8C"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u6743\u9650\u8C13\u8BCD\u96BE\u4EE5\u7EF4\u62A4"}),(0,t.jsx)(r.td,{children:"\u884C\u7EA7\u6743\u9650 SQL \u6539\u5199"})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"\u6A21\u5757\u7EC4\u6210",children:"\u6A21\u5757\u7EC4\u6210"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u6A21\u5757"}),(0,t.jsx)(r.th,{children:"\u5C42\u6B21"}),(0,t.jsx)(r.th,{children:"\u8BF4\u660E"}),(0,t.jsx)(r.th,{children:"\u6280\u672F\u6808"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"sqlparserx-syntax"})}),(0,t.jsx)(r.td,{children:"\u8BED\u6CD5\u89E3\u6790\u5C42"}),(0,t.jsx)(r.td,{children:"SQL \u8F6C AST\u3001\u6821\u9A8C\u3001\u62C6\u5206\u4E0E Druid \u65B9\u8A00\u6269\u5C55"}),(0,t.jsx)(r.td,{children:"Java 8 + Druid 1.2.28"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"sqlparserx-core"})}),(0,t.jsx)(r.td,{children:"\u4E1A\u52A1\u89E3\u6790\u5C42"}),(0,t.jsx)(r.td,{children:"\u8868\u3001\u8840\u7F18\u3001DDL\u3001\u51FD\u6570\u4E0E SQL \u6539\u5199"}),(0,t.jsxs)(r.td,{children:["Java 8 + ",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"sqlparserx-web"})}),(0,t.jsx)(r.td,{children:"\u8BBF\u95EE\u5C42"}),(0,t.jsx)(r.td,{children:"Spring Boot REST \u670D\u52A1"}),(0,t.jsx)(r.td,{children:"Spring Boot 2.3.12 + Java 8"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"sqlparserx-ui"})}),(0,t.jsx)(r.td,{children:"\u8BBF\u95EE\u5C42"}),(0,t.jsx)(r.td,{children:"\u8840\u7F18\u53EF\u89C6\u5316\u4E0E\u5728\u7EBF\u89E3\u6790\u5DE5\u5177"}),(0,t.jsx)(r.td,{children:"Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5"})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"\u6570\u636E\u6E90\u652F\u6301",children:"\u6570\u636E\u6E90\u652F\u6301"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u6570\u636E\u6E90"}),(0,t.jsx)(r.th,{children:"\u652F\u6301\u8BF4\u660E"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"MySQL"}),(0,t.jsxs)(r.td,{children:["\u91CD\u70B9\u652F\u6301\uFF0C\u589E\u5F3A ",(0,t.jsx)(r.code,{children:"RENAME TABLE"})," \u5904\u7406"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Doris"}),(0,t.jsx)(r.td,{children:"\u91CD\u5EA6\u652F\u6301\uFF0CDDL \u4E0E\u8840\u7F18\u6709\u4E13\u9879\u6D4B\u8BD5"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"StarRocks"}),(0,t.jsxs)(r.td,{children:["\u652F\u6301\u72EC\u7ACB\u7684 ",(0,t.jsx)(r.code,{children:"DISTRIBUTED BY"})," \u4E0E\u5173\u952E DDL"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Hive / ClickHouse / Oracle / DM"}),(0,t.jsx)(r.td,{children:"\u5DF2\u6CE8\u518C\u89E3\u6790\u5668\uFF0C\u901A\u7528\u4E1A\u52A1\u5B9E\u73B0"})]})]})]}),"\n",(0,t.jsxs)(r.p,{children:["\u5B8C\u6574\u7684\u8BED\u6CD5\u5C42\u4E0E\u4E1A\u52A1\u5C42\u652F\u6491\u77E9\u9635\u89C1",(0,t.jsx)(r.a,{href:"/SqlParserX/docs/next/core/field-lineage",children:"\u6838\u5FC3\u89E3\u6790\u80FD\u529B\u4F7F\u7528"}),"\u4E0E\u9879\u76EE ",(0,t.jsx)(r.code,{children:"docs/"})," \u76EE\u5F55\u4E0B\u7684\u80FD\u529B\u652F\u6301\u6587\u6863\u3002"]}),"\n",(0,t.jsx)(r.h2,{id:"\u5EF6\u4F38\u9605\u8BFB",children:"\u5EF6\u4F38\u9605\u8BFB"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.a,{href:"/SqlParserX/docs/next/about/architecture",children:"\u67B6\u6784\u8BBE\u8BA1"})}),"\n",(0,t.jsxs)(r.li,{children:["\u9879\u76EE\u80CC\u666F\uFF1A",(0,t.jsx)(r.a,{href:"/blog/origin-of-sqlparserx",children:"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F"})]}),"\n"]})]})}function a(e={}){let{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(x,{...e})}):x(e)}},8453(e,r,s){s.d(r,{R:()=>l,x:()=>i});var d=s(6540);let t={},n=d.createContext(t);function l(e){let r=d.useContext(n);return d.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:l(e.components),d.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5250.ce6f0efa.js b/assets/js/5250.ce6f0efa.js new file mode 100644 index 0000000..c762170 --- /dev/null +++ b/assets/js/5250.ce6f0efa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5250"],{9252(e,t,s){s.d(t,{T:()=>v});var i=s(9142),r=s(9610),n=s(7422),h=s(4092),o=s(6401),d=s(8058),u=s(9592),a=s(6335),_=s(4326),l=s(449),c=s(3533),p=(0,_.A)(function(e){return(0,l.A)((0,a.A)(e,1,c.A,!0))}),g=s(2888),f=s(4039);class v{constructor(e={}){this._isDirected=!Object.prototype.hasOwnProperty.call(e,"directed")||e.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(e,"multigraph")&&e.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(e,"compound")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=i.A(void 0),this._defaultEdgeLabelFn=i.A(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return r.A(e)||(e=i.A(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return n.A(this._nodes)}sources(){var e=this;return h.A(this.nodes(),function(t){return o.A(e._in[t])})}sinks(){var e=this;return h.A(this.nodes(),function(t){return o.A(e._out[t])})}setNodes(e,t){var s=arguments,i=this;return d.A(e,function(e){s.length>1?i.setNode(e,t):i.setNode(e)}),this}setNode(e,t){return Object.prototype.hasOwnProperty.call(this._nodes,e)?arguments.length>1&&(this._nodes[e]=t):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount),this}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var t=e=>this.removeEdge(this._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],d.A(this.children(e),e=>{this.setParent(e)}),delete this._children[e]),d.A(n.A(this._in[e]),t),delete this._in[e],delete this._preds[e],d.A(n.A(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(u.A(t))t="\0";else{t+="";for(var s=t;!u.A(s);s=this.parent(s))if(s===e)throw Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if("\0"!==t)return t}}children(e){if(u.A(e)&&(e="\0"),this._isCompound){var t=this._children[e];if(t)return n.A(t)}else if("\0"===e)return this.nodes();else if(this.hasNode(e))return[]}predecessors(e){var t=this._preds[e];if(t)return n.A(t)}successors(e){var t=this._sucs[e];if(t)return n.A(t)}neighbors(e){var t=this.predecessors(e);if(t)return p(t,this.successors(e))}isLeaf(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var s=this;d.A(this._nodes,function(s,i){e(i)&&t.setNode(i,s)}),d.A(this._edgeObjs,function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,s.edge(e))});var i={};return this._isCompound&&d.A(t.nodes(),function(e){t.setParent(e,function e(r){var n=s.parent(r);return void 0===n||t.hasNode(n)?(i[r]=n,n):n in i?i[n]:e(n)}(e))}),t}setDefaultEdgeLabel(e){return r.A(e)||(e=i.A(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return g.A(this._edgeObjs)}setPath(e,t){var s=this,i=arguments;return f.A(e,function(e,r){return i.length>1?s.setEdge(e,r,t):s.setEdge(e,r),r}),this}setEdge(){var e,t,s,i,r=!1,n=arguments[0];"object"==typeof n&&null!==n&&"v"in n?(e=n.v,t=n.w,s=n.name,2==arguments.length&&(i=arguments[1],r=!0)):(e=n,t=arguments[1],s=arguments[3],arguments.length>2&&(i=arguments[2],r=!0)),e=""+e,t=""+t,u.A(s)||(s=""+s);var h=m(this._isDirected,e,t,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return r&&(this._edgeLabels[h]=i),this;if(!u.A(s)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[h]=r?i:this._defaultEdgeLabelFn(e,t,s);var o=function(e,t,s,i){var r=""+t,n=""+s;if(!e&&r>n){var h=r;r=n,n=h}var o={v:r,w:n};return i&&(o.name=i),o}(this._isDirected,e,t,s);return e=o.v,t=o.w,Object.freeze(o),this._edgeObjs[h]=o,b(this._preds[t],e),b(this._sucs[e],t),this._in[t][h]=o,this._out[e][h]=o,this._edgeCount++,this}edge(e,t,s){var i=1==arguments.length?C(this._isDirected,arguments[0]):m(this._isDirected,e,t,s);return this._edgeLabels[i]}hasEdge(e,t,s){var i=1==arguments.length?C(this._isDirected,arguments[0]):m(this._isDirected,e,t,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,t,s){var i=1==arguments.length?C(this._isDirected,arguments[0]):m(this._isDirected,e,t,s),r=this._edgeObjs[i];return r&&(e=r.v,t=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],A(this._preds[t],e),A(this._sucs[e],t),delete this._in[t][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,t){var s=this._in[e];if(s){var i=g.A(s);return t?h.A(i,function(e){return e.v===t}):i}}outEdges(e,t){var s=this._out[e];if(s){var i=g.A(s);return t?h.A(i,function(e){return e.w===t}):i}}nodeEdges(e,t){var s=this.inEdges(e,t);if(s)return s.concat(this.outEdges(e,t))}}function b(e,t){e[t]?e[t]++:e[t]=1}function A(e,t){--e[t]||delete e[t]}function m(e,t,s,i){var r=""+t,n=""+s;if(!e&&r>n){var h=r;r=n,n=h}return r+"\x01"+n+"\x01"+(u.A(i)?"\0":i)}function C(e,t){return m(e,t.v,t.w,t.name)}v.prototype._nodeCount=0,v.prototype._edgeCount=0},697(e,t,s){s.d(t,{T:()=>i.T});var i=s(9252)}}]); \ No newline at end of file diff --git a/assets/js/53a1f56d.5f6ee735.js b/assets/js/53a1f56d.5f6ee735.js new file mode 100644 index 0000000..2ebf495 --- /dev/null +++ b/assets/js/53a1f56d.5f6ee735.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["677"],{9344(t){t.exports=JSON.parse('{"author":{"name":"changlu","title":"SqlParserX \u7EF4\u62A4\u8005","url":"https://github.com/DTStack/SqlParserX","page":{"permalink":"/SqlParserX/blog/authors/changlu"},"socials":{"github":"https://github.com/DTStack"},"imageURL":"https://github.com/github.png","key":"changlu","count":1},"listMetadata":{"permalink":"/SqlParserX/blog/authors/changlu","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/5428.8c0b8a2a.js b/assets/js/5428.8c0b8a2a.js new file mode 100644 index 0000000..f272afa --- /dev/null +++ b/assets/js/5428.8c0b8a2a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5428"],{2223(e,s,r){r.d(s,{createRailroadServices:()=>a.l});var a=r(6045);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/5493.5c969992.js b/assets/js/5493.5c969992.js new file mode 100644 index 0000000..cbb5547 --- /dev/null +++ b/assets/js/5493.5c969992.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5493"],{5289(s,a,e){e.d(a,{diagram:()=>r.AC});var r=e(8312);e(4918),e(6755),e(5869),e(841),e(2391),e(3247),e(2735),e(5616),e(6163),e(7827),e(3002),e(739),e(6320),e(2217),e(2941),e(6348),e(1177),e(1293),e(6827)}}]); \ No newline at end of file diff --git a/assets/js/5505.ad92f9fd.js b/assets/js/5505.ad92f9fd.js new file mode 100644 index 0000000..b050ab4 --- /dev/null +++ b/assets/js/5505.ad92f9fd.js @@ -0,0 +1,217 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5505"],{5937(t,e,s){s.d(e,{A:()=>a});var i=s(1553),r=s(6408);let a=(t,e)=>i.A.lang.round(r.A.parse(t)[e])},4918(t,e,s){s.d(e,{o:()=>i});var i=(0,s(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")},8312(t,e,s){s.d(e,{AC:()=>S,tM:()=>T,ur:()=>F});var i=s(4918),r=s(6755),a=s(5869),n=s(841),u=s(2391),l=s(2735),o=s(3002),c=s(2941),h=s(6348),d=s(1177),p=s(1293),g=s(6827),A=s(7829),b=s(9418),y=s(5937),k=s(5582),f=class{constructor(){this.vertexCounter=0,this.config=(0,d.D7)(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=d.SV,this.setAccDescription=d.EI,this.setDiagramTitle=d.ke,this.getAccTitle=d.iN,this.getAccDescription=d.m7,this.getDiagramTitle=d.ab,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{(0,g.K)(this,"FlowDB")}sanitizeText(t){return d.Y2.sanitizeText(t,this.config)}sanitizeNodeLabelType(t){switch(t){case"markdown":case"string":case"text":return t;default:return"markdown"}}setDiagramId(t){this.diagramId=t}lookUpDomId(t){for(let e of this.vertices.values())if(e.id===t)return this.diagramId?`${this.diagramId}-${e.domId}`:e.domId;return this.diagramId?`${this.diagramId}-${t}`:t}addVertex(t,e,s,i,r,a,u={},l){let c,h;if(!t||0===t.trim().length)return;if(void 0!==l){let t;t=l.includes("\n")?l+"\n":"{\n"+l+"\n}",c=(0,n.H)(t,{schema:n.r})}let g=this.subGraphLookup.get(t);if(g&&c){g.metadata={...g.metadata,...c};return}let A=this.edges.find(e=>e.id===t);if(A){let t=c;t?.animate!==void 0&&(A.animate=t.animate),t?.animation!==void 0&&(A.animation=t.animation),t?.curve!==void 0&&(A.interpolate=t.curve);return}let b=this.vertices.get(t);if(void 0===b&&(void 0===e&&void 0===s&&null!=i&&p.R.warn(`Style applied to unknown node "${t}". This may indicate a typo. The node will be created automatically.`),b={id:t,labelType:"text",domId:"flowchart-"+t+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(t,b)),this.vertexCounter++,void 0!==e?(this.config=(0,d.D7)(),h=this.sanitizeText(e.text.trim()),b.labelType=e.type,h.startsWith('"')&&h.endsWith('"')&&(h=h.substring(1,h.length-1)),b.text=h):void 0===b.text&&(b.text=t),void 0!==s&&(b.type=s),null!=i&&i.forEach(t=>{b.styles.push(t)}),null!=r&&r.forEach(t=>{b.classes.push(t)}),void 0!==a&&(b.dir=a),void 0===b.props?b.props=u:void 0!==u&&Object.assign(b.props,u),void 0!==c){if(c.shape){if(c.shape!==c.shape.toLowerCase()||c.shape.includes("_"))throw Error(`No such shape: ${c.shape}. Shape names should be lowercase.`);if(!(0,o.aP)(c.shape))throw Error(`No such shape: ${c.shape}.`);b.type=c?.shape}c?.label&&(b.text=c?.label,b.labelType=this.sanitizeNodeLabelType(c?.labelType)),c?.icon&&(b.icon=c?.icon,c.label?.trim()||b.text!==t||(b.text="")),c?.form&&(b.form=c?.form),c?.pos&&(b.pos=c?.pos),c?.img&&(b.img=c?.img,c.label?.trim()||b.text!==t||(b.text="")),c?.constraint&&(b.constraint=c.constraint),c.w&&(b.assetWidth=Number(c.w)),c.h&&(b.assetHeight=Number(c.h))}}addSingleLink(t,e,s,i){let r={start:t,end:e,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};p.R.info("abc78 Got edge...",r);let a=s.text;if(void 0!==a&&(r.text=this.sanitizeText(a.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=this.sanitizeNodeLabelType(a.type)),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=s.length>10?10:s.length),i&&!this.edges.some(t=>t.id===i))r.id=i,r.isUserDefinedId=!0;else{let t=this.edges.filter(t=>t.start===r.start&&t.end===r.end);0===t.length?r.id=(0,h.rY)(r.start,r.end,{counter:0,prefix:"L"}):r.id=(0,h.rY)(r.start,r.end,{counter:t.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))p.R.info("Pushing edge..."),this.edges.push(r);else throw Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)}isLinkData(t){return null!==t&&"object"==typeof t&&"id"in t&&"string"==typeof t.id}addLink(t,e,s){let i=this.isLinkData(s)?s.id.replace("@",""):void 0;for(let r of(p.R.info("addLink",t,e,i),t))for(let a of e){let n=r===t[t.length-1],u=a===e[0];n&&u?this.addSingleLink(r,a,s,i):this.addSingleLink(r,a,s,void 0)}}updateLinkInterpolate(t,e){t.forEach(t=>{"default"===t?this.edges.defaultInterpolate=e:this.edges[t].interpolate=e})}updateLink(t,e){t.forEach(t=>{if("number"==typeof t&&t>=this.edges.length)throw Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?this.edges.defaultStyle=e:(this.edges[t].style=e,(this.edges[t]?.style?.length??0)>0&&!this.edges[t]?.style?.some(t=>t?.startsWith("fill"))&&this.edges[t]?.style?.push("fill:none"))})}addClass(t,e){let s=e.join().replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/\xa7\xa7\xa7/g,",").split(";");t.split(",").forEach(t=>{let e=this.classes.get(t);void 0===e&&(e={id:t,styles:[],textStyles:[]},this.classes.set(t,e)),null!=s&&s.forEach(t=>{if(/color/.exec(t)){let s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)})})}setDirection(t){this.direction=t.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(t,e){for(let s of t.split(",")){let t=this.vertices.get(s);t&&t.classes.push(e);let i=this.edges.find(t=>t.id===s);i&&i.classes.push(e);let r=this.subGraphLookup.get(s);r&&r.classes.push(e)}}setTooltip(t,e){if(void 0!==e)for(let s of(e=this.sanitizeText(e),t.split(",")))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(s):s,e)}setClickFun(t,e,s){if("loose"!==(0,d.D7)().securityLevel||void 0===e)return;let i=[];if("string"==typeof s){i=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(t);let r=this.vertices.get(t);r&&(r.haveCallback=!0,this.funs.push(()=>{let s=this.lookUpDomId(t),r=document.querySelector(`[id="${s}"]`);null!==r&&r.addEventListener("click",()=>{h._K.runFunc(e,...i)},!1)}))}setLink(t,e,s){t.split(",").forEach(t=>{let i=this.vertices.get(t);void 0!==i&&(i.link=h._K.formatUrl(e,this.config),i.linkTarget=s)}),this.setClass(t,"clickable")}getTooltip(t){return this.tooltips.get(t)}setClickEvent(t,e,s){t.split(",").forEach(t=>{this.setClickFun(t,e,s)}),this.setClass(t,"clickable")}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(t){let e=(0,l.Ck)();(0,A.Ltv)(t).select("svg").selectAll("g.node").on("mouseover",t=>{let s=(0,A.Ltv)(t.currentTarget),i=s.attr("title");if(null===i)return;let r=t.currentTarget?.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(s.attr("title")).style("left",window.scrollX+r.left+(r.right-r.left)/2+"px").style("top",window.scrollY+r.bottom+"px"),e.html(b.A.sanitize(i)),s.classed("hover",!0)}).on("mouseout",t=>{e.transition().duration(500).style("opacity",0),(0,A.Ltv)(t.currentTarget).classed("hover",!1)})}clear(t="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=t,this.config=(0,d.D7)(),(0,d.IU)()}setGen(t){this.version=t||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(t,e,s){let i=t.text.trim(),r=s.text;t===s&&/\s/.exec(s.text)&&(i=void 0);let a=(0,g.K)(t=>{let e,s={boolean:{},number:{},string:{}},i=[];return{nodeList:t.filter(function(t){let r=typeof t;return t.stmt&&"dir"===t.stmt?(e=t.value,!1):""!==t.trim()&&(r in s?!s[r].hasOwnProperty(t)&&(s[r][t]=!0):!i.includes(t)&&i.push(t))}),dir:e}},"uniq")(e.flat()),n=a.nodeList,u=a.dir,l=(0,d.D7)().flowchart??{};if(u=u??(l.inheritDir?this.getDirection()??(0,d.D7)().direction??void 0:void 0),"gen-1"===this.version)for(let t=0;t<n.length;t++)n[t]=this.lookUpDomId(n[t]);i=i??"subGraph"+this.subCount,r=r||"",r=this.sanitizeText(r),this.subCount=this.subCount+1;let o={id:i,nodes:n,title:r.trim(),classes:[],dir:u,labelType:this.sanitizeNodeLabelType(s?.type)};return p.R.info("Adding",o.id,o.nodes,o.dir),o.nodes=this.makeUniq(o,this.subGraphs).nodes,this.subGraphs.push(o),this.subGraphLookup.set(i,o),i}getPosForId(t){for(let[e,s]of this.subGraphs.entries())if(s.id===t)return e;return -1}indexNodes2(t,e){let s=this.subGraphs[e].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=e,this.subGraphs[e].id===t)return{result:!0,count:0};let i=0,r=1;for(;i<s.length;){let e=this.getPosForId(s[i]);if(e>=0){let s=this.indexNodes2(t,e);if(s.result)return{result:!0,count:r+s.count};r+=s.count}i+=1}return{result:!1,count:r}}getDepthFirstPos(t){return this.posCrossRef[t]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return!!this.firstGraphFlag&&(this.firstGraphFlag=!1,!0)}destructStartLink(t){let e=t.trim(),s="arrow_open";switch(e[0]){case"<":s="arrow_point",e=e.slice(1);break;case"x":s="arrow_cross",e=e.slice(1);break;case"o":s="arrow_circle",e=e.slice(1)}let i="normal";return e.includes("=")&&(i="thick"),e.includes(".")&&(i="dotted"),{type:s,stroke:i}}countChar(t,e){let s=e.length,i=0;for(let r=0;r<s;++r)e[r]===t&&++i;return i}destructEndLink(t){let e=t.trim(),s=e.slice(0,-1),i="arrow_open";switch(e.slice(-1)){case"x":i="arrow_cross",e.startsWith("x")&&(i="double_"+i,s=s.slice(1));break;case">":i="arrow_point",e.startsWith("<")&&(i="double_"+i,s=s.slice(1));break;case"o":i="arrow_circle",e.startsWith("o")&&(i="double_"+i,s=s.slice(1))}let r="normal",a=s.length-1;s.startsWith("=")&&(r="thick"),s.startsWith("~")&&(r="invisible");let n=this.countChar(".",s);return n&&(r="dotted",a=n),{type:i,stroke:r,length:a}}destructLink(t,e){let s,i=this.destructEndLink(t);if(e){if((s=this.destructStartLink(e)).stroke!==i.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===s.type)s.type=i.type;else{if(s.type!==i.type)return{type:"INVALID",stroke:"INVALID"};s.type="double_"+s.type}return"double_arrow"===s.type&&(s.type="double_arrow_point"),s.length=i.length,s}return i}exists(t,e){for(let s of t)if(s.nodes.includes(e))return!0;return!1}makeUniq(t,e){let s=[];return t.nodes.forEach((i,r)=>{this.exists(e,i)||s.push(t.nodes[r])}),{nodes:s}}getTypeFromVertex(t){if(t.img)return"imageSquare";if(t.icon)return"circle"===t.form?"iconCircle":"square"===t.form?"iconSquare":"rounded"===t.form?"iconRounded":"icon";switch(t.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t.type}}findNode(t,e){return t.find(t=>t.id===e)}destructEdgeType(t){let e="none",s="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":s=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":s=e=t.replace("double_","")}return{arrowTypeStart:e,arrowTypeEnd:s}}addNodeFromVertex(t,e,s,i,r,a){let n=s.get(t.id),u=i.get(t.id)??!1,l=this.findNode(e,t.id);if(l)l.cssStyles=t.styles,l.cssCompiledStyles=this.getCompiledStyles(t.classes),l.cssClasses=t.classes.join(" ");else{let s={id:t.id,label:t.text,labelType:t.labelType,labelStyle:"",parentId:n,padding:r.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),dir:t.dir,domId:t.domId,look:a,link:t.link,linkTarget:t.linkTarget,tooltip:this.getTooltip(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint};u?e.push({...s,isGroup:!0,shape:"rect"}):e.push({...s,isGroup:!1,shape:this.getTypeFromVertex(t),minWidth:r.flowchart?.minNodeWidth})}}getCompiledStyles(t){let e=[];for(let s of t){let t=this.classes.get(s);t?.styles&&(e=[...e,...t.styles??[]].map(t=>t.trim())),t?.textStyles&&(e=[...e,...t.textStyles??[]].map(t=>t.trim()))}return e}getData(){let t=(0,d.D7)(),e=[],s=[],i=this.getSubGraphs(),r=new Map,a=new Map,n=new Map;for(let t of i)for(let e of t.nodes)this.subGraphLookup.has(e)&&n.set(e,t.id);let u=new Map,l=new Map;for(let t of i){let e=n.get(t.id);void 0!==e&&l.set(e,[...l.get(e)??[],t.id])}let o=0,c=(0,g.K)(t=>{for(let e of(u.set(t,o++),l.get(t)??[]))c(e)},"walk");for(let t of i)n.has(t.id)||c(t.id);let p=(0,g.K)(t=>this.subGraphLookup.get(t)?.metadata?.view==="collapsed","isCollapsed"),A=(0,g.K)(t=>{let e,s=new Set,i=t;for(;void 0!==i&&!s.has(i);)s.add(i),p(i)&&(e=i),i=n.get(i);return e},"outermostCollapsed"),b=new Set,y=new Map;for(let t of i){let e=A(t.id);if(void 0!==e)for(let s of(t.id!==e&&(b.add(t.id),y.set(t.id,e)),t.nodes))s!==e&&(b.add(s),y.set(s,e))}for(let t=i.length-1;t>=0;t--){let e=i[t];if(!b.has(e.id))for(let t of(e.nodes.length>0&&a.set(e.id,!0),e.nodes))r.set(t,e.id)}for(let s=i.length-1;s>=0;s--){let a=i[s];b.has(a.id)||(a.metadata?.view==="collapsed"?e.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssClasses:a.classes.join(" "),shape:"collapsedGroup",dir:a.dir,isGroup:!1,look:t.look,colorIndex:u.get(a.id)}):e.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssClasses:a.classes.join(" "),shape:"rect",dir:a.dir,isGroup:!0,look:t.look,colorIndex:u.get(a.id),metadata:a.metadata}))}this.getVertices().forEach(s=>{b.has(s.id)||this.addNodeFromVertex(s,e,r,a,t,t.look||"classic")});let k=this.getEdges();return k.forEach((e,i)=>{let{arrowTypeStart:r,arrowTypeEnd:a}=this.destructEdgeType(e.type),n=[...k.defaultStyle??[]],u=y.get(e.start)??e.start,l=y.get(e.end)??e.end;if(u===l&&(y.has(e.start)||y.has(e.end)))return;e.style&&n.push(...e.style);let o={id:(0,h.rY)(u,l,{counter:i,prefix:"L"},e.id),isUserDefinedId:e.isUserDefinedId,start:u,end:l,type:e.type??"normal",label:e.text,labelType:e.labelType,labelpos:"c",thickness:e.stroke,minlen:e.length,classes:e?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:e?.stroke==="invisible"||e?.type==="arrow_open"?"none":r,arrowTypeEnd:e?.stroke==="invisible"||e?.type==="arrow_open"?"none":a,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(e.classes),labelStyle:n,style:n,pattern:e.stroke,look:t.look,animate:e.animate,animation:e.animation,curve:e.interpolate||this.edges.defaultInterpolate||t.flowchart?.curve};s.push(o)}),{nodes:e,edges:s,other:{},config:t}}defaultConfig(){return d.ME.flowchart}},m={getClasses:(0,g.K)(function(t,e){return e.db.getClasses()},"getClasses"),draw:(0,g.K)(async function(t,e,s,i){p.R.info("REF0:"),p.R.info("Drawing state diagram (v2)",e);let{securityLevel:n,flowchart:l,layout:o}=(0,d.D7)();i.db.setDiagramId(e),p.R.debug("Before getData: ");let c=i.db.getData();p.R.debug("Data: ",c);let g=(0,r.A)(e,n),A=i.db.getDirection();c.type=i.type,c.layoutAlgorithm=(0,u.q7)(o),c.direction=A,c.nodeSpacing=l?.nodeSpacing||50,c.rankSpacing=l?.rankSpacing||50,c.markers=["point","circle","cross"],c.diagramId=e,p.R.debug("REF1:",c),await (0,u.XX)(c,g);let b=c.config.flowchart?.diagramPadding??8;h._K.insertTitle(g,"flowchartTitleText",l?.titleTopMargin||0,i.db.getDiagramTitle()),(0,a.P)(g,b,"flowchart",l?.useMaxWidth||!1)},"draw")},x=function(){var t=(0,g.K)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[1,4],s=[1,3],i=[1,5],r=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],n=[1,13],u=[1,14],l=[1,15],o=[1,16],c=[1,23],h=[1,25],d=[1,26],p=[1,27],A=[1,50],b=[1,49],y=[1,29],k=[1,30],f=[1,31],m=[1,32],x=[1,33],E=[1,45],C=[1,47],D=[1,43],T=[1,48],F=[1,44],S=[1,51],_=[1,46],v=[1,52],B=[1,53],$=[1,34],w=[1,35],L=[1,36],I=[1,37],R=[1,38],N=[1,58],K=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],G=[1,61],O=[1,63],M=[8,9,11,75,77,78],U=[1,79],V=[1,92],W=[1,97],z=[1,96],j=[1,93],Y=[1,89],H=[1,95],q=[1,91],X=[1,98],Q=[1,94],Z=[1,99],J=[1,90],tt=[8,9,10,11,40,75,77,78],te=[8,9,10,11,40,46,75,77,78],ts=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],ti=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],tr=[44,60,89,102,105,106,109,111,114,115,116],ta=[1,122],tn=[1,123],tu=[1,125],tl=[1,124],to=[44,60,62,74,89,102,105,106,109,111,114,115,116],tc=[1,134],th=[1,148],td=[1,149],tp=[1,150],tg=[1,151],tA=[1,136],tb=[1,138],ty=[1,142],tk=[1,143],tf=[1,144],tm=[1,145],tx=[1,146],tE=[1,147],tC=[1,152],tD=[1,153],tT=[1,132],tF=[1,133],tS=[1,140],t_=[1,135],tv=[1,139],tB=[1,137],t$=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],tw=[1,155],tL=[1,157],tI=[8,9,11],tR=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],tN=[1,177],tK=[1,173],tP=[1,174],tG=[1,178],tO=[1,175],tM=[1,176],tU=[77,116,119],tV=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],tW=[10,106],tz=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],tj=[1,248],tY=[1,246],tH=[1,250],tq=[1,244],tX=[1,245],tQ=[1,247],tZ=[1,249],tJ=[1,251],t1=[1,269],t0=[8,9,11,106],t2=[8,9,10,11,60,84,105,106,109,110,111,112],t8={trace:(0,g.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:(0,g.K)(function(t,e,s,i,r,a,n){var u=a.length-1;switch(r){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(a[u])||a[u].length>0)&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=a[u];break;case 11:i.setDirection("TB"),this.$="TB";break;case 12:i.setDirection(a[u-1]),this.$=a[u-1];break;case 27:this.$=a[u-1].nodes;break;case 33:this.$=i.addSubGraph(a[u-6],a[u-1],a[u-4]);break;case 34:this.$=i.addSubGraph(a[u-3],a[u-1],a[u-3]);break;case 35:this.$=i.addSubGraph(void 0,a[u-1],void 0);break;case 37:this.$=a[u].trim(),i.setAccTitle(this.$);break;case 38:case 39:this.$=a[u].trim(),i.setAccDescription(this.$);break;case 43:case 133:this.$=a[u-1]+a[u];break;case 45:i.addVertex(a[u-1][a[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[u]),i.addLink(a[u-3].stmt,a[u-1],a[u-2]),this.$={stmt:a[u-1],nodes:a[u-1].concat(a[u-3].nodes)};break;case 46:i.addLink(a[u-2].stmt,a[u],a[u-1]),this.$={stmt:a[u],nodes:a[u].concat(a[u-2].nodes)};break;case 47:i.addLink(a[u-3].stmt,a[u-1],a[u-2]),this.$={stmt:a[u-1],nodes:a[u-1].concat(a[u-3].nodes)};break;case 48:this.$={stmt:a[u-1],nodes:a[u-1]};break;case 49:i.addVertex(a[u-1][a[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[u]),this.$={stmt:a[u-1],nodes:a[u-1],shapeData:a[u]};break;case 50:this.$={stmt:a[u],nodes:a[u]};break;case 51:case 128:case 130:this.$=[a[u]];break;case 52:i.addVertex(a[u-5][a[u-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[u-4]),this.$=a[u-5].concat(a[u]);break;case 53:this.$=a[u-4].concat(a[u]);break;case 55:this.$=a[u-2],i.setClass(a[u-2],a[u]);break;case 56:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"square");break;case 57:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"doublecircle");break;case 58:this.$=a[u-5],i.addVertex(a[u-5],a[u-2],"circle");break;case 59:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"ellipse");break;case 60:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"stadium");break;case 61:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"subroutine");break;case 62:this.$=a[u-7],i.addVertex(a[u-7],a[u-1],"rect",void 0,void 0,void 0,Object.fromEntries([[a[u-5],a[u-3]]]));break;case 63:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"cylinder");break;case 64:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"round");break;case 65:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"diamond");break;case 66:this.$=a[u-5],i.addVertex(a[u-5],a[u-2],"hexagon");break;case 67:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"odd");break;case 68:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"trapezoid");break;case 69:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"inv_trapezoid");break;case 70:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"lean_right");break;case 71:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"lean_left");break;case 72:this.$=a[u],i.addVertex(a[u]);break;case 73:a[u-1].text=a[u],this.$=a[u-1];break;case 74:case 75:a[u-2].text=a[u-1],this.$=a[u-2];break;case 77:var l=i.destructLink(a[u],a[u-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:a[u-1]};break;case 78:var l=i.destructLink(a[u],a[u-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:a[u-1],id:a[u-3]};break;case 79:case 86:case 101:case 103:this.$={text:a[u],type:"text"};break;case 80:case 87:case 102:this.$={text:a[u-1].text+""+a[u],type:a[u-1].type};break;case 81:case 88:this.$={text:a[u],type:"string"};break;case 82:case 89:case 104:this.$={text:a[u],type:"markdown"};break;case 83:var l=i.destructLink(a[u]);this.$={type:l.type,stroke:l.stroke,length:l.length};break;case 84:var l=i.destructLink(a[u]);this.$={type:l.type,stroke:l.stroke,length:l.length,id:a[u-1]};break;case 85:this.$=a[u-1];break;case 105:this.$=a[u-4],i.addClass(a[u-2],a[u]);break;case 106:this.$=a[u-4],i.setClass(a[u-2],a[u]);break;case 107:case 115:this.$=a[u-1],i.setClickEvent(a[u-1],a[u]);break;case 108:case 116:this.$=a[u-3],i.setClickEvent(a[u-3],a[u-2]),i.setTooltip(a[u-3],a[u]);break;case 109:this.$=a[u-2],i.setClickEvent(a[u-2],a[u-1],a[u]);break;case 110:this.$=a[u-4],i.setClickEvent(a[u-4],a[u-3],a[u-2]),i.setTooltip(a[u-4],a[u]);break;case 111:this.$=a[u-2],i.setLink(a[u-2],a[u]);break;case 112:this.$=a[u-4],i.setLink(a[u-4],a[u-2]),i.setTooltip(a[u-4],a[u]);break;case 113:this.$=a[u-4],i.setLink(a[u-4],a[u-2],a[u]);break;case 114:this.$=a[u-6],i.setLink(a[u-6],a[u-4],a[u]),i.setTooltip(a[u-6],a[u-2]);break;case 117:this.$=a[u-1],i.setLink(a[u-1],a[u]);break;case 118:this.$=a[u-3],i.setLink(a[u-3],a[u-2]),i.setTooltip(a[u-3],a[u]);break;case 119:this.$=a[u-3],i.setLink(a[u-3],a[u-2],a[u]);break;case 120:this.$=a[u-5],i.setLink(a[u-5],a[u-4],a[u]),i.setTooltip(a[u-5],a[u-2]);break;case 121:this.$=a[u-4],i.addVertex(a[u-2],void 0,void 0,a[u]);break;case 122:this.$=a[u-4],i.updateLink([a[u-2]],a[u]);break;case 123:this.$=a[u-4],i.updateLink(a[u-2],a[u]);break;case 124:this.$=a[u-8],i.updateLinkInterpolate([a[u-6]],a[u-2]),i.updateLink([a[u-6]],a[u]);break;case 125:this.$=a[u-8],i.updateLinkInterpolate(a[u-6],a[u-2]),i.updateLink(a[u-6],a[u]);break;case 126:this.$=a[u-6],i.updateLinkInterpolate([a[u-4]],a[u]);break;case 127:this.$=a[u-6],i.updateLinkInterpolate(a[u-4],a[u]);break;case 129:case 131:a[u-2].push(a[u]),this.$=a[u-2];break;case 182:case 184:this.$=a[u-1]+""+a[u];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"}}},"anonymous"),table:[{3:1,4:2,9:e,10:s,12:i},{1:[3]},t(r,a,{5:6}),{4:7,9:e,10:s,12:i},{4:8,9:e,10:s,12:i},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,33:24,34:h,36:d,38:p,42:28,43:39,44:A,45:40,47:41,60:b,84:y,85:k,86:f,87:m,88:x,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B,121:$,122:w,123:L,124:I,125:R},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),{8:[1,55],9:[1,56],10:N,15:54,18:57},t(K,[2,3]),t(K,[2,4]),t(K,[2,5]),t(K,[2,6]),t(K,[2,7]),t(K,[2,8]),{8:P,9:G,11:O,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:G,11:O,21:68},{8:P,9:G,11:O,21:69},{8:P,9:G,11:O,21:70},{8:P,9:G,11:O,21:71},{8:P,9:G,11:O,21:72},{8:P,9:G,10:[1,73],11:O,21:74},t(K,[2,36]),{35:[1,75]},{37:[1,76]},t(K,[2,39]),t(M,[2,50],{18:77,39:78,10:N,40:U}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:V,44:W,60:z,80:[1,87],89:j,95:[1,84],97:[1,85],101:86,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J,120:88},t(K,[2,185]),t(K,[2,186]),t(K,[2,187]),t(K,[2,188]),t(K,[2,189]),t(tt,[2,51]),t(tt,[2,54],{46:[1,100]}),t(te,[2,72],{113:113,29:[1,101],44:A,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:b,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:E,102:C,105:D,106:T,109:F,111:S,114:_,115:v,116:B}),t(ts,[2,181]),t(ts,[2,142]),t(ts,[2,143]),t(ts,[2,144]),t(ts,[2,145]),t(ts,[2,146]),t(ts,[2,147]),t(ts,[2,148]),t(ts,[2,149]),t(ts,[2,150]),t(ts,[2,151]),t(ts,[2,152]),t(r,[2,12]),t(r,[2,18]),t(r,[2,19]),{9:[1,114]},t(ti,[2,26],{18:115,10:N}),t(K,[2,27]),{42:116,43:39,44:A,45:40,47:41,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},t(K,[2,40]),t(K,[2,41]),t(K,[2,42]),t(tr,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ta,81:tn,116:tu,119:tl},{75:[1,126],77:[1,127]},t(to,[2,83]),t(K,[2,28]),t(K,[2,29]),t(K,[2,30]),t(K,[2,31]),t(K,[2,32]),{10:tc,12:th,14:td,27:tp,28:128,32:tg,44:tA,60:tb,75:ty,80:[1,130],81:[1,131],83:141,84:tk,85:tf,86:tm,87:tx,88:tE,89:tC,90:tD,91:129,105:tT,109:tF,111:tS,114:t_,115:tv,116:tB},t(t$,a,{5:154}),t(K,[2,37]),t(K,[2,38]),t(M,[2,48],{44:tw}),t(M,[2,49],{18:156,10:N,40:tL}),t(tt,[2,44]),{44:A,47:158,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},{102:[1,159],103:160,105:[1,161]},{44:A,47:162,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},{44:A,47:163,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},t(tI,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(tI,[2,115],{120:168,10:[1,167],14:V,44:W,60:z,89:j,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J}),t(tI,[2,117],{10:[1,169]}),t(tR,[2,183]),t(tR,[2,170]),t(tR,[2,171]),t(tR,[2,172]),t(tR,[2,173]),t(tR,[2,174]),t(tR,[2,175]),t(tR,[2,176]),t(tR,[2,177]),t(tR,[2,178]),t(tR,[2,179]),t(tR,[2,180]),{44:A,47:170,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},{30:171,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:179,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:181,50:[1,180],67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:182,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:183,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:184,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{109:[1,185]},{30:186,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:187,65:[1,188],67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:189,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:190,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:191,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},t(ts,[2,182]),t(r,[2,20]),t(ti,[2,25]),t(M,[2,46],{39:192,18:193,10:N,40:U}),t(tr,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{77:[1,197],79:198,116:tu,119:tl},t(tU,[2,79]),t(tU,[2,81]),t(tU,[2,82]),t(tU,[2,168]),t(tU,[2,169]),{76:199,79:121,80:ta,81:tn,116:tu,119:tl},t(to,[2,84]),{8:P,9:G,10:tc,11:O,12:th,14:td,21:201,27:tp,29:[1,200],32:tg,44:tA,60:tb,75:ty,83:141,84:tk,85:tf,86:tm,87:tx,88:tE,89:tC,90:tD,91:202,105:tT,109:tF,111:tS,114:t_,115:tv,116:tB},t(tV,[2,101]),t(tV,[2,103]),t(tV,[2,104]),t(tV,[2,157]),t(tV,[2,158]),t(tV,[2,159]),t(tV,[2,160]),t(tV,[2,161]),t(tV,[2,162]),t(tV,[2,163]),t(tV,[2,164]),t(tV,[2,165]),t(tV,[2,166]),t(tV,[2,167]),t(tV,[2,90]),t(tV,[2,91]),t(tV,[2,92]),t(tV,[2,93]),t(tV,[2,94]),t(tV,[2,95]),t(tV,[2,96]),t(tV,[2,97]),t(tV,[2,98]),t(tV,[2,99]),t(tV,[2,100]),{6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,32:[1,203],33:24,34:h,36:d,38:p,42:28,43:39,44:A,45:40,47:41,60:b,84:y,85:k,86:f,87:m,88:x,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B,121:$,122:w,123:L,124:I,125:R},{10:N,18:204},{44:[1,205]},t(tt,[2,43]),{10:[1,206],44:A,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:113,114:_,115:v,116:B},{10:[1,207]},{10:[1,208],106:[1,209]},t(tW,[2,128]),{10:[1,210],44:A,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:113,114:_,115:v,116:B},{10:[1,211],44:A,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:113,114:_,115:v,116:B},{80:[1,212]},t(tI,[2,109],{10:[1,213]}),t(tI,[2,111],{10:[1,214]}),{80:[1,215]},t(tR,[2,184]),{80:[1,216],98:[1,217]},t(tt,[2,55],{113:113,44:A,60:b,89:E,102:C,105:D,106:T,109:F,111:S,114:_,115:v,116:B}),{31:[1,218],67:tN,82:219,116:tG,117:tO,118:tM},t(tz,[2,86]),t(tz,[2,88]),t(tz,[2,89]),t(tz,[2,153]),t(tz,[2,154]),t(tz,[2,155]),t(tz,[2,156]),{49:[1,220],67:tN,82:219,116:tG,117:tO,118:tM},{30:221,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{51:[1,222],67:tN,82:219,116:tG,117:tO,118:tM},{53:[1,223],67:tN,82:219,116:tG,117:tO,118:tM},{55:[1,224],67:tN,82:219,116:tG,117:tO,118:tM},{57:[1,225],67:tN,82:219,116:tG,117:tO,118:tM},{60:[1,226]},{64:[1,227],67:tN,82:219,116:tG,117:tO,118:tM},{66:[1,228],67:tN,82:219,116:tG,117:tO,118:tM},{30:229,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{31:[1,230],67:tN,82:219,116:tG,117:tO,118:tM},{67:tN,69:[1,231],71:[1,232],82:219,116:tG,117:tO,118:tM},{67:tN,69:[1,234],71:[1,233],82:219,116:tG,117:tO,118:tM},t(M,[2,45],{18:156,10:N,40:tL}),t(M,[2,47],{44:tw}),t(tr,[2,75]),t(tr,[2,74]),{62:[1,235],67:tN,82:219,116:tG,117:tO,118:tM},t(tr,[2,77]),t(tU,[2,80]),{77:[1,236],79:198,116:tu,119:tl},{30:237,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},t(t$,a,{5:238}),t(tV,[2,102]),t(K,[2,35]),{43:239,44:A,45:40,47:41,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},{10:N,18:240},{10:tj,60:tY,84:tH,92:241,105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},{10:tj,60:tY,84:tH,92:252,104:[1,253],105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},{10:tj,60:tY,84:tH,92:254,104:[1,255],105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},{105:[1,256]},{10:tj,60:tY,84:tH,92:257,105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},{44:A,47:258,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},t(tI,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(tI,[2,116]),t(tI,[2,118],{10:[1,262]}),t(tI,[2,119]),t(te,[2,56]),t(tz,[2,87]),t(te,[2,57]),{51:[1,263],67:tN,82:219,116:tG,117:tO,118:tM},t(te,[2,64]),t(te,[2,59]),t(te,[2,60]),t(te,[2,61]),{109:[1,264]},t(te,[2,63]),t(te,[2,65]),{66:[1,265],67:tN,82:219,116:tG,117:tO,118:tM},t(te,[2,67]),t(te,[2,68]),t(te,[2,70]),t(te,[2,69]),t(te,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(tr,[2,78]),{31:[1,266],67:tN,82:219,116:tG,117:tO,118:tM},{6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,32:[1,267],33:24,34:h,36:d,38:p,42:28,43:39,44:A,45:40,47:41,60:b,84:y,85:k,86:f,87:m,88:x,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B,121:$,122:w,123:L,124:I,125:R},t(tt,[2,53]),{43:268,44:A,45:40,47:41,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},t(tI,[2,121],{106:t1}),t(t0,[2,130],{108:270,10:tj,60:tY,84:tH,105:tq,109:tX,110:tQ,111:tZ,112:tJ}),t(t2,[2,132]),t(t2,[2,134]),t(t2,[2,135]),t(t2,[2,136]),t(t2,[2,137]),t(t2,[2,138]),t(t2,[2,139]),t(t2,[2,140]),t(t2,[2,141]),t(tI,[2,122],{106:t1}),{10:[1,271]},t(tI,[2,123],{106:t1}),{10:[1,272]},t(tW,[2,129]),t(tI,[2,105],{106:t1}),t(tI,[2,106],{113:113,44:A,60:b,89:E,102:C,105:D,106:T,109:F,111:S,114:_,115:v,116:B}),t(tI,[2,110]),t(tI,[2,112],{10:[1,273]}),t(tI,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:G,11:O,21:278},t(K,[2,34]),t(tt,[2,52]),{10:tj,60:tY,84:tH,105:tq,107:279,108:243,109:tX,110:tQ,111:tZ,112:tJ},t(t2,[2,133]),{14:V,44:W,60:z,89:j,101:280,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J,120:88},{14:V,44:W,60:z,89:j,101:281,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J,120:88},{98:[1,282]},t(tI,[2,120]),t(te,[2,58]),{30:283,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},t(te,[2,66]),t(t$,a,{5:284}),t(t0,[2,131],{108:270,10:tj,60:tY,84:tH,105:tq,109:tX,110:tQ,111:tZ,112:tJ}),t(tI,[2,126],{120:168,10:[1,285],14:V,44:W,60:z,89:j,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J}),t(tI,[2,127],{120:168,10:[1,286],14:V,44:W,60:z,89:j,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J}),t(tI,[2,114]),{31:[1,287],67:tN,82:219,116:tG,117:tO,118:tM},{6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,32:[1,288],33:24,34:h,36:d,38:p,42:28,43:39,44:A,45:40,47:41,60:b,84:y,85:k,86:f,87:m,88:x,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B,121:$,122:w,123:L,124:I,125:R},{10:tj,60:tY,84:tH,92:289,105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},{10:tj,60:tY,84:tH,92:290,105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},t(te,[2,62]),t(K,[2,33]),t(tI,[2,124],{106:t1}),t(tI,[2,125],{106:t1})],defaultActions:{},parseError:(0,g.K)(function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},"parseError"),parse:(0,g.K)(function(t){var e=this,s=[0],i=[],r=[null],a=[],n=this.table,u="",l=0,o=0,c=0,h=a.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(p[A]=this.yy[A]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var y=d.options&&d.options.ranges;function k(){var t;return"number"!=typeof(t=i.pop()||d.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,g.K)(function(t){s.length=s.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,g.K)(k,"lex");for(var f,m,x,E,C,D,T,F,S,_={};;){if(x=s[s.length-1],this.defaultActions[x]?E=this.defaultActions[x]:(null==f&&(f=k()),E=n[x]&&n[x][f]),void 0===E||!E.length||!E[0]){var v="";for(D in S=[],n[x])this.terminals_[D]&&D>2&&S.push("'"+this.terminals_[D]+"'");v=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(v,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:b,expected:S})}if(E[0]instanceof Array&&E.length>1)throw Error("Parse Error: multiple actions possible at state: "+x+", token: "+f);switch(E[0]){case 1:s.push(f),r.push(d.yytext),a.push(d.yylloc),s.push(E[1]),f=null,m?(f=m,m=null):(o=d.yyleng,u=d.yytext,l=d.yylineno,b=d.yylloc,c>0&&c--);break;case 2:if(T=this.productions_[E[1]][1],_.$=r[r.length-T],_._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(C=this.performAction.apply(_,[u,o,l,p,E[1],r,a].concat(h))))return C;T&&(s=s.slice(0,-1*T*2),r=r.slice(0,-1*T),a=a.slice(0,-1*T)),s.push(this.productions_[E[1]][0]),r.push(_.$),a.push(_._$),F=n[s[s.length-2]][s[s.length-1]],s.push(F);break;case 3:return!0}}return!0},"parse")};function t6(){this.yy={}}return t8.lexer={EOF:1,parseError:(0,g.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,g.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,g.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,g.K)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,g.K)(function(){return this._more=!0,this},"more"),reject:(0,g.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,g.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,g.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,g.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,g.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,g.K)(function(t,e){var s,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,g.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,r=this._currentRules(),a=0;a<r.length;a++)if((s=this._input.match(this.rules[r[a]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,g.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,g.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,g.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,g.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,g.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,g.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,g.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,g.K)(function(t,e,s,i){switch(s){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:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),e.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:return e.yytext=e.yytext.replace(/\n\s*/g,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 34:return 88;case 35:case 36:case 37:case 38:return t.lex.firstGraph()&&this.begin("dir"),12;case 39:return 27;case 40:return 32;case 41:case 42:case 43:case 44:return 98;case 45:return this.popState(),13;case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return this.popState(),14;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 124;case 60:return 125;case 61:return 78;case 62:return 105;case 63:case 104:return 111;case 64:return 46;case 65:return 60;case 66:case 105:return 44;case 67:return 8;case 68:return 106;case 69:case 103:return 115;case 70:case 73:case 76:return this.popState(),77;case 71:return this.pushState("edgeText"),75;case 72:case 75:case 78:return 119;case 74:return this.pushState("thickEdgeText"),75;case 77:return this.pushState("dottedEdgeText"),75;case 79:return 77;case 80:return this.popState(),53;case 81:case 117:return"TEXT";case 82:return this.pushState("ellipseText"),52;case 83:return this.popState(),55;case 84:return this.pushState("text"),54;case 85:return this.popState(),57;case 86:return this.pushState("text"),56;case 87:return 58;case 88:return this.pushState("text"),67;case 89:return this.popState(),64;case 90:return this.pushState("text"),63;case 91:return this.popState(),49;case 92:return this.pushState("text"),48;case 93:return this.popState(),69;case 94:return this.popState(),71;case 95:return 117;case 96:return this.pushState("trapText"),68;case 97:return this.pushState("trapText"),70;case 98:return 118;case 99:return 67;case 100:return 90;case 101:return"SEP";case 102:return 89;case 106:return 109;case 107:return 114;case 108:return 116;case 109:return this.popState(),62;case 110:return this.pushState("text"),62;case 111:return this.popState(),51;case 112:return this.pushState("text"),50;case 113:return this.popState(),31;case 114:return this.pushState("text"),29;case 115:return this.popState(),66;case 116:return this.pushState("text"),65;case 118:return"QUOTE";case 119:return 9;case 120:return 10;case 121:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:swimlane-beta\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:[^\S\n\r]+)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeData:{rules:[8,11,12,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackargs:{rules:[17,18,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackname:{rules:[14,15,16,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},href:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},click:{rules:[21,24,33,34,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dottedEdgeText:{rules:[21,24,76,78,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},thickEdgeText:{rules:[21,24,73,75,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},edgeText:{rules:[21,24,70,72,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},trapText:{rules:[21,24,79,82,84,86,90,92,93,94,95,96,97,110,112,114,116],inclusive:!1},ellipseText:{rules:[21,24,79,80,81,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},text:{rules:[21,24,79,82,83,84,85,86,89,90,91,92,96,97,109,110,111,112,113,114,115,116,117],inclusive:!1},vertex:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dir:{rules:[21,24,45,46,47,48,49,50,51,52,53,54,55,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr:{rules:[3,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_title:{rules:[1,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},md_string:{rules:[19,20,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},string:{rules:[21,22,23,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,76,77,79,82,84,86,87,88,90,92,96,97,98,99,100,101,102,103,104,105,106,107,108,110,112,114,116,118,119,120,121],inclusive:!0}}},(0,g.K)(t6,"Parser"),t6.prototype=t8,t8.Parser=t6,new t6}();x.parser=x;var E=Object.assign({},x);E.parse=t=>{let e=t.replace(/}\s*\n/g,"}\n");return x.parse(e)};var C=(0,g.K)(t=>{let{theme:e,bkgColorArray:s,borderColorArray:i}=t;if(!(0,c.P1)(e,i))return"";let r=(0,c.rq)(t.look),a=(0,c.Ic)(s),n="";for(let e=0;e<(0,c.nw)(t.THEME_COLOR_LIMIT,i);e++){let t=i[e%i.length],u=a?`fill: ${s[e%s.length]};`:"",l=`[data-look="${r}"][data-color-id="color-${e}"]`,o=(0,g.K)(t=>`${l}.node ${t}, ${l}.rough-node ${t}`,"collapsedRule"),c=(0,g.K)(t=>`${l}.swimlane.cluster .swimlane-title${t}, ${l}.swimlane.cluster .swimlane-body${t}`,"laneRule");n+=` + + ${l}.cluster:not(.swimlane) rect { + stroke: ${t}; + ${u} + } + + ${l}.cluster:not(.swimlane) path { + stroke: ${t}; + ${u} + } + + /* Lane, classic and neo. */ + ${l}.swimlane.cluster rect.swimlane-title, + ${l}.swimlane.cluster rect.swimlane-body { + stroke: ${t}; + ${u} + } + + /* Lane, handDrawn: roughjs emits the hachure fill first, then the outline. */ + ${c(" path:nth-of-type(2)")} { + stroke: ${t}; + } +${a?` + /* A roughjs fill is drawn as lines, so the lane fill is a stroke here. */ + ${c(" path:first-of-type")} { + stroke: ${s[e%s.length]}; + } +`:""} + ${o(".collapsed-group")}, + ${o(".collapsed-group path")} { + stroke: ${t}; + ${u} + } + + /* The ellipsis dots and the separator take clusterBorder further down, so without + these the container is palette-coloured while its own markers are not. */ + ${o(".collapsed-indicator")} { + fill: ${t}; + } + + ${o(".collapsed-separator")} { + stroke: ${t}; + } + `}return n},"genColor"),D=(0,g.K)((t,e)=>{let s=y.A,i=s(t,"r"),r=s(t,"g"),a=s(t,"b");return k.A(i,r,a,e)},"fade"),T=(0,g.K)(t=>`${C(t)} + .label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${t.nodeTextColor||t.textColor}; + color: ${t.nodeTextColor||t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: ${t.strokeWidth??1}px; + } + .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { + text-anchor: middle; + } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .rough-node .label,.node .label, .image-shape .label, .icon-shape .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + + .root .anchor path { + fill: ${t.lineColor} !important; + stroke-width: 0; + stroke: ${t.lineColor}; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePaths .path { + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth??2}px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${D(t.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + /* Collapsed subgraph node (@{ view: collapsed }) */ + .node .collapsed-indicator { + fill: ${t.clusterBorder}; + stroke: none; + opacity: 0.6; + } + + .node .collapsed-separator { + stroke: ${t.clusterBorder}; + stroke-width: 0.75px; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + + rect.text { + fill: none; + stroke-width: 0; + } + + .icon-shape, .image-shape { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + padding: 2px; + } + .label rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + ${(0,i.o)()} +`,"getStyles"),F=(0,g.K)(({styles:t=T}={})=>({parser:E,get db(){return new f},renderer:m,styles:t,init:(0,g.K)(t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,(0,d.XV)({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),S=F()},2735(t,e,s){s.d(e,{CP:()=>h,Ck:()=>g,HT:()=>p,PB:()=>d,aC:()=>c,lC:()=>l,m:()=>o,tk:()=>u});var i=s(1177),r=s(6827),a=s(6750),n=s(7829),u=(0,r.K)((t,e)=>{let s=t.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),e.name&&s.attr("name",e.name),e.rx&&s.attr("rx",e.rx),e.ry&&s.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)s.attr(t,e.attrs[t]);return e.class&&s.attr("class",e.class),s},"drawRect"),l=(0,r.K)((t,e)=>{u(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),o=(0,r.K)((t,e)=>{let s=e.text.replace(i.H1," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(s),r},"drawText"),c=(0,r.K)((t,e,s,i)=>{let r=t.append("image");r.attr("x",e),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",n)},"drawImage"),h=(0,r.K)((t,e,s,i)=>{let r=t.append("use");r.attr("x",e),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),d=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),g=(0,r.K)(()=>{let t=(0,n.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},5869(t,e,s){s.d(e,{P:()=>n});var i=s(1177),r=s(1293),a=s(6827),n=(0,a.K)((t,e,s,a)=>{t.attr("class",s);let{width:n,height:o,x:c,y:h}=u(t,e);(0,i.a$)(t,o,n,a);let d=l(c,h,n,o,e);t.attr("viewBox",d),r.R.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),u=(0,a.K)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,a.K)((t,e,s,i,r)=>`${t-r} ${e-r} ${s} ${i}`,"createViewBox")},6755(t,e,s){s.d(e,{A:()=>a});var i=s(6827),r=s(7829),a=(0,i.K)((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ltv)("#i"+t)),("sandbox"===e?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")}}]); \ No newline at end of file diff --git a/assets/js/5576.62e087a6.js b/assets/js/5576.62e087a6.js new file mode 100644 index 0000000..73bc58b --- /dev/null +++ b/assets/js/5576.62e087a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5576"],{3227(e,t,n){n.d(t,{B:()=>c,OS:()=>I,QV:()=>M,dc:()=>L,ju:()=>b,sc:()=>P,sv:()=>h,xY:()=>X});var r=n(5616),a=n(6163),i=n(7827),d=n(3002),o=n(6348),l=n(1177),s=n(1293),g=n(6827),u=n(697);function c(e,{edgePathsClass:t="edges edgePaths"}={}){let n=e.insert("g").attr("class","root"),r=n.insert("g").attr("class","clusters");return{clusters:r,edgePaths:n.insert("g").attr("class",t),edgeLabels:n.insert("g").attr("class","edgeLabels"),nodes:n.insert("g").attr("class","nodes"),rootGroups:n}}async function f(e,t,n){if(t.label){let{shapeSvg:r,bbox:a}=await (0,d.Zk)(e,void 0===n?t:{...t,width:n});t.labelBBox={width:a.width,height:a.height},r.remove()}else t.labelBBox={width:0,height:0}}async function h(e,t,n){let r=await (0,i.on)(e,t,n),a=r.node()?.getBBox()??{width:0,height:0};return t.width=a.width,t.height=a.height,r}function p(e,t,n){let r=e,a=new Set;for(;r;){if(r.dir)return r.dir;if(!r.parentId||a.has(r.parentId))break;a.add(r.parentId),r=t.get(r.parentId)}return n}async function w(e,t,r={}){let i=new u.T({multigraph:!0,compound:!0}),d=[...t.edges],o=(0,l.D7)(),s=c(e),{edgeLabels:g,nodes:b}=s,R=new Map,y=new Map(t.nodes.map(e=>[e.id,e])),m=t.direction,v=null!=e.node();for(let e of(await Promise.all(t.nodes.map(async e=>{if(e.isGroup){if(v){let t=r.unwrapGroupLabels&&"markdown"!==e.labelType;await f(b,e,t?1/0:void 0)}i.setNode(e.id,{...e})}else{if(v){let t=await h(b,e,{config:o,dir:p(e,y,m)});R.set(e.id,t)}i.setNode(e.id,{...e})}})),d))v&&(0,a.a6)(e)&&await (0,a.jP)(g,e),i.setEdge(e.start,e.end,{...e},e.id),t.edges.some(t=>t.id===e.id)||t.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:r}=await n.e("5082").then(n.bind(n,5137));r(e,t)}return{graph:i,groups:s,nodeElements:R}}(0,g.K)(c,"createLayoutElementGroups"),(0,g.K)(f,"measureGroupLabel"),(0,g.K)(h,"insertMeasuredNode"),(0,g.K)(p,"resolveNodeDir"),(0,g.K)(w,"createGraphWithElements");var b=new Map,R=new Map,y=new Map,m=(0,g.K)(()=>{R.clear(),y.clear(),b.clear()},"clear"),v=(0,g.K)((e,t)=>{let n=R.get(t)||[];return s.R.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),x=(0,g.K)((e,t)=>{let n=R.get(t)||[];return s.R.info("Descendants of ",t," is ",n),s.R.info("Edge is ",e),e.v!==t&&e.w!==t&&(n?n.includes(e.v)||v(e.v,t)||v(e.w,t)||n.includes(e.w):(s.R.debug("Tilt, ",t,",not in descendants"),!1))},"edgeInCluster"),K=(0,g.K)((e,t,n,r)=>{s.R.debug("Copying children of ",e,"root",r,"data",t.node(e),r);let a=t.children(e)||[];e!==r&&a.push(e),s.R.debug("Copying (nodes) clusterId",e,"nodes",a),a.forEach(a=>{if(t.children(a).length>0)K(a,t,n,r);else{let i=t.node(a);s.R.info("cp ",a," to ",r," with parent ",e),n.setNode(a,i),r!==t.parent(a)&&(s.R.debug("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(s.R.debug("Setting parent",a,e),n.setParent(a,e)):(s.R.info("In copy ",e,"root",r,"data",t.node(e),r),s.R.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));let d=t.edges(a);s.R.debug("Copying Edges",d),d.forEach(a=>{s.R.info("Edge",a);let i=t.edge(a.v,a.w,a.name);s.R.info("Edge data",i,r);try{x(a,r)?(s.R.info("Copying as ",a.v,a.w,i,a.name),n.setEdge(a.v,a.w,i,a.name),s.R.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.R.info("Skipping copy of edge ",a.v,"--\x3e",a.w," rootId: ",r," clusterId:",e)}catch(e){s.R.error(e)}})}s.R.debug("Removing node",a),t.removeNode(a)})},"copy"),C=(0,g.K)((e,t)=>{let n=t.children(e),r=[...n];for(let a of n)y.set(a,e),r=[...r,...C(a,t)];return r},"extractDescendants"),E=(0,g.K)((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),a=e.edges().filter(e=>e.v===n||e.w===n),i=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),d=a.map(e=>({v:e.v,w:e.w}));return i.filter(e=>d.some(t=>e.v===t.v&&e.w===t.w))},"findCommonEdges"),L=(0,g.K)((e,t,n)=>{let r,a=t.children(e);if(s.R.trace("Searching children of id ",e,a),a.length<1)return e;for(let e of a){let a=L(e,t,n),i=E(t,n,a);if(a)if(!(i.length>0))return a;else r=a}return r},"findNonClusterChild"),N=(0,g.K)(e=>b.has(e)&&b.get(e).externalConnections&&b.has(e)?b.get(e).id:e,"getAnchorId"),I=(0,g.K)((e,t)=>{if(!e||t>10)return void s.R.debug("Opting out, no graph ");for(let t of(s.R.debug("Opting in, graph "),e.nodes().forEach(function(t){e.children(t).length>0&&(s.R.debug("Cluster identified",t," Replacement id in edges: ",L(t,e,t)),R.set(t,C(t,e)),b.set(t,{id:L(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let n=e.children(t),r=e.edges();n.length>0?(s.R.debug("Cluster identified",t,R),r.forEach(e=>{v(e.v,t)^v(e.w,t)&&(s.R.debug("Edge: ",e," leaves cluster ",t),s.R.debug("Descendants of XXX ",t,": ",R.get(t)),b.get(t).externalConnections=!0)})):s.R.debug("Not a cluster ",t,R)}),b.keys())){let n=b.get(t).id,r=e.parent(n);r!==t&&b.has(r)&&!b.get(r).externalConnections&&(b.get(t).id=r);let a=e.edges().some(e=>e.v===t);if(n&&b.get(t)?.externalConnections&&a&&S(e,n,t)){let r=T(e,t,e.parent(n));r&&(b.get(t).id=r)}}e.edges().forEach(function(t){let n=e.edge(t);s.R.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),s.R.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let r=t.v,a=t.w;if(s.R.debug("Fix XXX",b,"ids:",t.v,t.w,"Translating: ",b.get(t.v)," --- ",b.get(t.w)),b.get(t.v)||b.get(t.w)){if(s.R.debug("Fixing and trying - removing XXX",t.v,t.w,t.name),r=N(t.v),a=N(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v){let a=e.parent(r);b.get(a).externalConnections=!0,n.fromCluster=t.v}if(a!==t.w){let r=e.parent(a);b.get(r).externalConnections=!0,n.toCluster=t.w}s.R.debug("Fix Replacing with XXX",r,a,t.name),e.setEdge(r,a,n,t.name)}}),k(e,0),s.R.trace(b)},"adjustClustersAndEdges"),k=(0,g.K)((e,t)=>{if(t>10)return void s.R.error("Bailing out");let n=e.nodes(),r=!1;for(let t of n){let n=e.children(t);r=r||n.length>0}if(!r)return void s.R.debug("Done, no node has children",e.nodes());for(let r of(s.R.debug("Nodes = ",n,t),n))if(s.R.debug("Extracting node",r,b,b.has(r)&&!b.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),b.has(r))if(!b.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){s.R.debug("Cluster without external connections, without a parent and with children",r,t);let n="TB"===e.graph().rankdir?"LR":"TB";b.get(r)?.clusterData?.dir&&(n=b.get(r).clusterData.dir,s.R.debug("Fixing dir",b.get(r).clusterData.dir,n));let a=new u.T({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});K(r,e,a,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:b.get(r).clusterData,label:b.get(r).label,graph:a})}else s.R.debug("Cluster ** ",r," **not meeting the criteria !externalConnections:",!b.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),s.R.debug(b);else s.R.debug("Not a cluster",r,t);for(let r of(n=e.nodes(),s.R.debug("New list of nodes",n),n)){let n=e.node(r);s.R.debug(" Now next level",r,n),n?.clusterNode&&k(n.graph,t+1)}},"extractor"),D=(0,g.K)((e,t)=>{if(0===t.length)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=e.children(t),a=D(e,r);n=[...n,...a]}),n},"sorter"),P=(0,g.K)(e=>D(e,e.children()),"sortNodesByHierarchy"),S=(0,g.K)((e,t,n)=>{let r=e.parent(t);for(;r&&r!==n;){let t=b.get(r);if(t&&!t.externalConnections)return!0;r=e.parent(r)}return!1},"isNodeInExtractableCluster"),T=(0,g.K)((e,t,n)=>{for(let r of e.children(t)??[]){if(r===n||v(r,n))continue;let a=L(r,e,t);if(a&&!S(e,a,t))return a}return null},"findSafeAnchorNode");function X({prepareLayout:e,measureLayout:t,runLayoutCore:n,paintLayout:r,afterPaint:i,paintOptions:d}){let o=t??M;return(0,g.K)(async function(t,l,s,g){let u=l.select("g");(s?.insertMarkers??a.g0)(u,t.markers,t.type,t.diagramId),B();let c={element:u,helpers:s,options:g};c.preparedLayout=await e?.(t,c);let f=await o(t,c),h=await n(t,c),p={...c,measure:f};r?await r(t,p,h):await _(t,p,d),await i?.(t,p,h)},"render")}function B(){(0,i.IU)(),(0,a.IU)(),(0,r.IU)(),m()}async function M(e,{element:t},n){return await w(t,e,n)}async function _(e,t,n={}){let{measure:r}=t,{groups:a}=r;for(let r of n.getNodes?.(e,t)??e.nodes)n.skipNode?.(r,t)||await U(a,r,t,n);let i=G(e.nodes);for(let r of e.edges)O(r,n)||await j(a,r,i,e,n,t)}async function U(e,t,n,a){t.clusterNode?(0,i.U_)(t):$(t,n,a)?await (0,r.U)(e.clusters,t):(0,i.U_)(t)}function $(e,t,n){return!0===e.isGroup&&(n.isCluster?.(e,t)??!0)}function G(e){let t=new Map;for(let n of e)n?.id&&t.set(n.id,n);return t}function O(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}async function j(e,t,n,r,i,d){let o=(0,a.Jo)(e.edgePaths,{...t},i.clusterDb??new Map,r.type,Q(t.start,t,n,d,i),Q(t.end,t,n,d,i),r.diagramId,A(t,i));(0,a.a6)(t)&&(a.lP.has(t.id)||await (0,a.jP)(e.edgeLabels,t),F(t,o))}function Q(e,t,n,r,a){return a.getEdgeNode?.(e,t,r)??(e?n.get(e)??{}:{})}function A(e,t){return"function"==typeof t.skipIntersect?t.skipIntersect(e):t.skipIntersect??!1}function F(e,t){let n=t?.updatedPath??t?.originalPath,r=(0,l.zj)(),{subGraphTitleTotalMargin:d}=(0,i.Oi)({flowchart:r.flowchart??{}});if(e.label){let r=a.lP.get(e.id),i=e.x,l=e.y;if(n){let r=o._K.calcLabelPosition(n);s.R.debug("Moving label "+e.label+" from (",i,",",l,") to (",r.x,",",r.y,") abc88"),t?.updatedPath&&(i=r.x,l=r.y)}r.attr("transform",`translate(${i}, ${l+d/2})`)}if(e?.startLabelLeft){let t=a.UQ.get(e.id).startLeft,r=e?.x,i=e?.y;if(n){let t=o._K.calcTerminalLabelPosition(10*!!e.arrowTypeStart,"start_left",n);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}if(e.startLabelRight){let t=a.UQ.get(e.id).startRight,r=e.x,i=e.y;if(n){let t=o._K.calcTerminalLabelPosition(10*!!e.arrowTypeStart,"start_right",n);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}if(e.endLabelLeft){let t=a.UQ.get(e.id).endLeft,r=e.x,i=e.y;if(n){let t=o._K.calcTerminalLabelPosition(10*!!e.arrowTypeEnd,"end_left",n);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}if(e.endLabelRight){let t=a.UQ.get(e.id).endRight,r=e.x,i=e.y;if(n){let t=o._K.calcTerminalLabelPosition(10*!!e.arrowTypeEnd,"end_right",n);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}}(0,g.K)(X,"createCommonLayoutRenderer"),(0,g.K)(B,"clearLayoutRenderState"),(0,g.K)(M,"defaultMeasureLayout"),(0,g.K)(_,"paintLayoutData"),(0,g.K)(U,"paintLayoutNode"),(0,g.K)($,"shouldPaintAsCluster"),(0,g.K)(G,"buildNodeLookup"),(0,g.K)(O,"shouldSkipPaintEdge"),(0,g.K)(j,"paintLayoutEdge"),(0,g.K)(Q,"getRenderedNode"),(0,g.K)(A,"shouldSkipIntersect"),(0,g.K)(F,"positionRenderedEdgeLabel")}}]); \ No newline at end of file diff --git a/assets/js/5651.49615f32.js b/assets/js/5651.49615f32.js new file mode 100644 index 0000000..561e5e4 --- /dev/null +++ b/assets/js/5651.49615f32.js @@ -0,0 +1 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5651"],{2954(n,t,e){n.exports=(function n(t,e,i){function r(c,o){if(!e[c]){if(!t[c]){if(a)return a(c,!0);var u=Error("Cannot find module '"+c+"'");throw u.code="MODULE_NOT_FOUND",u}var s=e[c]={exports:{}};t[c][0].call(s.exports,function(n){return r(t[c][1][n]||n)},s,s.exports,n,t,e,i)}return e[c].exports}for(var a=void 0,c=0;c<i.length;c++)r(i[c]);return r})({1:[function(n,t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function n(n,t){for(var e=0;e<t.length;e++){var i=t[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}}return function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}}();function r(n,t){if(!(n instanceof t))throw TypeError("Cannot call a class as a function")}e.default=function(){function n(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.defaultLayoutOptions,c=e.algorithms,o=e.workerFactory,u=e.workerUrl;if(r(this,n),this.defaultLayoutOptions=void 0===i?{}:i,this.initialized=!1,void 0===u&&void 0===o)throw Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var s=o;void 0!==u&&void 0===o&&(s=function(n){return new Worker(n)});var h=s(u);if("function"!=typeof h.postMessage)throw TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new a(h),this.worker.postMessage({cmd:"register",algorithms:void 0===c?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:c}).then(function(n){return t.initialized=!0}).catch(console.err)}return i(n,[{key:"layout",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.layoutOptions,i=void 0===e?this.defaultLayoutOptions:e,r=t.logging,a=t.measureExecutionTime;return n?this.worker.postMessage({cmd:"layout",graph:n,layoutOptions:i,options:{logging:void 0!==r&&r,measureExecutionTime:void 0!==a&&a}}):Promise.reject(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&&this.worker.terminate()}}]),n}();var a=function(){function n(t){var e=this;if(r(this,n),void 0===t)throw Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=t,this.worker.onmessage=function(n){setTimeout(function(){e.receive(e,n)},0)}}return i(n,[{key:"postMessage",value:function(n){var t=this.id||0;this.id=t+1,n.id=t;var e=this;return new Promise(function(i,r){e.resolvers[t]=function(n,t){n?(e.convertGwtStyleError(n),r(n)):i(t)},e.worker.postMessage(n)})}},{key:"receive",value:function(n,t){var e=t.data,i=n.resolvers[e.id];i&&(delete n.resolvers[e.id],e.error?i(e.error):i(null,e.data))}},{key:"terminate",value:function(){this.worker&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(n){if(n){var t=n.__java$exception;t&&(t.cause&&t.cause.backingJsObject&&(n.cause=t.cause.backingJsObject,this.convertGwtStyleError(n.cause)),delete n.__java$exception)}}}]),n}()},{}],2:[function(n,t,i){(function(n){(function(){"use strict";function e(){}function r(){}function a(){}function c(){}function o(){}function u(){}function s(){}function h(){}function f(){}function l(){}function b(){}function w(){}function d(){}function g(){}function p(){}function m(){}function v(){}function y(){}function k(){}function M(){}function E(){}function T(){}function j(){}function S(){}function P(){}function O(){}function C(){}function I(){}function A(){}function L(){}function N(){}function x(){}function $(){}function D(){}function R(){}function K(){}function F(){}function _(){}function B(){}function H(){}function U(){}function G(){}function q(){}function X(){}function z(){}function V(){}function W(){}function Q(){}function J(){}function Y(){}function Z(){}function nn(){}function nt(){}function ne(){}function ni(){}function nr(){}function na(){}function nc(){}function no(){}function nu(){}function ns(){}function nh(){}function nf(){}function nl(){}function nb(){}function nw(){}function nd(){}function ng(){}function np(){}function nm(){}function nv(){}function ny(){}function nk(){}function nM(){}function nE(){}function nT(){}function nj(){}function nS(){}function nP(){}function nO(){}function nC(){}function nI(){}function nA(){}function nL(){}function nN(){}function nx(){}function n$(){}function nD(){}function nR(){}function nK(){}function nF(){}function n_(){}function nB(){}function nH(){}function nU(){}function nG(){}function nq(){}function nX(){}function nz(){}function nV(){}function nW(){}function nQ(){}function nJ(){}function nY(){}function nZ(){}function n1(){}function n0(){}function n2(){}function n3(){}function n4(){}function n6(){}function n5(){}function n8(){}function n9(){}function n7(){}function tn(){}function tt(){}function te(){}function ti(){}function tr(){}function ta(){}function tc(){}function to(){}function tu(){}function ts(){}function th(){}function tf(){}function tl(){}function tb(){}function tw(){}function td(){}function tg(){}function tp(){}function tm(){}function tv(){}function ty(){}function tk(){}function tM(){}function tE(){}function tT(){}function tj(){}function tS(){}function tP(){}function tO(){}function tC(){}function tI(){}function tA(){}function tL(){}function tN(){}function tx(){}function t$(){}function tD(){}function tR(){}function tK(){}function tF(){}function t_(){}function tB(){}function tH(){}function tU(){}function tG(){}function tq(){}function tX(){}function tz(){}function tV(){}function tW(){}function tQ(){}function tJ(){}function tY(){}function tZ(){}function t1(){}function t0(){}function t2(){}function t3(){}function t4(){}function t6(){}function t5(){}function t8(){}function t9(){}function t7(){}function en(){}function et(){}function ee(){}function ei(){}function er(){}function ea(){}function ec(){}function eo(){}function eu(){}function es(){}function eh(){}function ef(){}function el(){}function eb(){}function ew(){}function ed(){}function eg(){}function ep(){}function em(){}function ev(){}function ey(){}function ek(){}function eM(){}function eE(){}function eT(){}function ej(){}function eS(){}function eP(){}function eO(){}function eC(){}function eI(){}function eA(){}function eL(){}function eN(){}function ex(){}function e$(){}function eD(){}function eR(){}function eK(){}function eF(){}function e_(){}function eB(){}function eH(){}function eU(){}function eG(){}function eq(){}function eX(){}function ez(){}function eV(){}function eW(){}function eQ(){}function eJ(){}function eY(){}function eZ(){}function e1(){}function e0(){}function e2(){}function e3(){}function e4(){}function e6(){}function e5(){}function e8(){}function e9(){}function e7(){}function it(){}function ie(){}function ii(){}function ir(){}function ia(){}function ic(){}function io(){}function iu(){}function is(){}function ih(){}function il(){}function ib(){}function iw(){}function id(){}function ig(){}function ip(){}function im(){}function iv(){}function iy(){}function ik(){}function iM(){}function iE(){}function iT(){}function ij(){}function iS(){}function iP(){}function iO(){}function iC(){}function iI(){}function iA(){}function iL(){}function iN(){}function ix(){}function i$(){}function iD(){}function iR(){}function iK(){}function iF(){}function i_(){}function iB(){}function iH(){}function iU(){}function iG(){}function iq(){}function iX(){}function iz(){}function iV(){}function iW(){}function iQ(){}function iJ(){}function iY(){}function iZ(){}function i1(){}function i0(){}function i2(){}function i3(){}function i4(){}function i6(){}function i5(){}function i8(){}function i9(){}function i7(){}function rn(){}function rt(){}function re(){}function ri(){}function rr(){}function ra(){}function rc(){}function ro(){}function ru(){}function rs(){}function rh(){}function rf(){}function rl(){}function rb(){}function rw(){}function rd(){}function rg(){}function rp(){}function rm(){}function rv(){}function ry(){}function rk(){}function rM(){}function rE(){}function rT(){}function rj(){}function rS(){}function rP(){}function rO(){}function rC(){}function rI(){}function rA(){}function rL(){}function rN(){}function rx(){}function r$(){}function rD(){}function rR(){}function rK(){}function rF(){}function r_(){}function rB(){}function rH(){}function rU(){}function rG(){}function rq(){}function rX(){}function rz(){}function rV(){}function rW(){}function rQ(){}function rJ(){}function rY(){}function rZ(){}function r1(){}function r0(){}function r2(){}function r3(){}function r4(){}function r6(){}function r5(){}function r8(){}function r9(){}function r7(){}function an(){}function at(){}function ae(){}function ai(){}function ar(){}function aa(){}function ac(){}function ao(){}function au(){}function as(){}function ah(){}function af(){}function al(){}function ab(){}function aw(){}function ad(){}function ag(){}function ap(){}function am(){}function av(){}function ay(){}function ak(){}function aM(){}function aE(){}function aT(){}function aj(){}function aS(){}function aP(){}function aO(){}function aC(){}function aI(){}function aA(){}function aL(){}function aN(){}function ax(){}function a$(){}function aD(){}function aR(){}function aK(){}function aF(){}function a_(){}function aB(){}function aH(){}function aU(){}function aG(){}function aq(){}function aX(){}function az(){}function aV(){}function aW(){}function aQ(){}function aJ(){}function aY(){}function aZ(){}function a1(){}function a0(){}function a2(){}function a3(){}function a4(){}function a6(){}function a5(){}function a8(){}function a9(){}function a7(){}function cn(){}function ct(){}function ce(){}function ci(){}function cr(){}function ca(){}function cc(){}function co(){}function cu(){}function cs(){}function ch(){}function cf(){}function cl(){}function cb(){}function cw(){}function cd(){}function cg(){}function cp(){}function cm(){}function cv(){}function cy(){}function ck(){}function cM(){}function cE(){}function cT(){}function cj(){}function cS(){}function cP(){}function cO(){}function cC(){}function cI(){}function cA(){}function cL(){}function cN(){}function cx(){}function c$(){}function cD(){}function cR(){}function cK(){}function cF(){}function c_(){}function cB(){}function cH(){}function cU(){}function cG(){}function cq(){}function cX(){}function cz(){}function cV(){}function cW(){}function cQ(){}function cJ(){}function cY(){}function cZ(){}function c1(){}function c0(){}function c2(){}function c3(){}function c4(){}function c6(){}function c5(){}function c8(){}function c9(){}function c7(){}function on(){}function ot(){}function oe(){}function oi(){}function or(){}function oa(){}function oc(){}function oo(){}function ou(){}function os(){}function oh(){}function of(){}function ol(){}function ob(){}function ow(){}function od(){}function og(){}function op(){}function om(){}function ov(){}function oy(){}function ok(){}function oM(){}function oE(){}function oT(){}function oj(){}function oS(){}function oP(){}function oO(){}function oC(){}function oI(){}function oA(){}function oL(){}function oN(){}function ox(){}function o$(){}function oD(){}function oR(){}function oK(){}function oF(){}function o_(){}function oB(){}function oH(){}function oU(){}function oG(){}function oq(){}function oX(){}function oz(){}function oV(){}function oW(){}function oQ(){}function oJ(){}function oY(){}function oZ(){}function o1(){}function o0(){}function o2(){}function o3(){}function o4(){}function o6(){}function o5(){}function o8(){}function o9(){}function o7(){}function un(){}function ut(){}function ue(){}function ui(){}function ur(){}function ua(){}function uc(){}function uo(){}function uu(){}function us(){}function uh(){}function uf(){}function ul(){}function ub(){}function uw(){}function ud(){}function ug(){}function up(){}function um(){}function uv(){}function uy(){}function uk(){}function uM(){}function uE(){}function uT(){}function uj(){}function uS(){}function uP(){}function uO(){}function uC(){}function uI(){}function uA(){}function uL(){}function uN(){}function ux(){}function u$(){}function uD(){}function uR(){}function uK(){}function uF(){}function u_(){}function uB(){}function uH(){}function uU(){}function uG(){}function uq(){}function uX(){}function uz(){}function uV(){}function uW(){}function uQ(){}function uJ(){}function uY(){}function uZ(){}function u1(){}function u0(){}function u2(){}function u3(){}function u4(){}function u6(){}function u5(){}function u8(){}function u9(){}function u7(){}function sn(){}function st(){}function se(){}function si(){}function sr(){}function sa(){}function sc(){}function so(){}function su(){}function ss(){}function sh(){}function sf(){}function sl(){}function sb(){}function sw(){}function sd(){}function sg(){}function sp(){}function sm(){}function sv(){}function sy(){}function sk(){}function sM(){}function sE(){}function sT(){}function sj(){}function sS(){}function sP(){}function sO(){}function sC(){}function sI(){}function sA(){}function sL(){}function sN(){}function sx(){}function s$(){}function sD(){}function sR(){}function sK(){}function sF(){}function s_(){}function sB(){}function sH(){}function sU(){}function sG(){}function sq(){}function sX(){}function sz(){}function sV(){}function sW(){}function sQ(){}function sJ(){}function sY(){}function sZ(){gY()}function s1(){yi()}function s0(){nes()}function s2(){Wz()}function s3(){Z7()}function s4(){nra()}function s6(){nsK()}function s5(){ntK()}function s8(){ntZ()}function s9(){yr()}function s7(){Ck()}function hn(){ya()}function ht(){X2()}function he(){Bb()}function hi(){qD()}function hr(){D9()}function ha(){qK()}function hc(){B8()}function ho(){D5()}function hu(){Wy()}function hs(){q_()}function hh(){qF()}function hf(){KF()}function hl(){qB()}function hb(){niY()}function hw(){yo()}function hd(){nlH()}function hg(){nlL()}function hp(){qH()}function hm(){X4()}function hv(){D7()}function hy(){ntH()}function hk(){Rt()}function hM(){nsM()}function hE(){ncl()}function hT(){G$()}function hj(){Jh()}function hS(){nhn()}function hP(){RC()}function hO(){Gx()}function hC(){nsn()}function hI(){nrh()}function hA(){nse()}function hL(){nuu()}function hN(){niB()}function hx(){nuP()}function h$(){nnG()}function hD(){Ca()}function hR(){Hg()}function hK(){niH()}function hF(){nl_()}function h_(){Wk()}function hB(){YY()}function hH(){X6()}function hU(){nhC()}function hG(){nsV()}function hq(n){this.a=n}function hX(n){this.a=n}function hz(n){this.a=n}function hV(n){this.a=n}function hW(n){this.a=n}function hQ(n){this.a=n}function hJ(n){this.a=n}function hY(n){this.a=n}function hZ(n){this.a=n}function h1(n){this.a=n}function h0(n){this.a=n}function h2(n){this.a=n}function h3(n){this.a=n}function h4(n){this.a=n}function h6(n){this.a=n}function h5(n){this.a=n}function h8(n){this.a=n}function h9(n){this.a=n}function h7(n){this.a=n}function fn(n){this.a=n}function ft(n){this.a=n}function fe(n){this.a=n}function fi(n){this.b=n}function fr(n){this.c=n}function fa(n){this.a=n}function fc(n){this.a=n}function fo(n){this.a=n}function fu(n){this.a=n}function fs(n){this.a=n}function fh(n){this.a=n}function ff(n){this.a=n}function fl(n){this.a=n}function fb(n){this.a=n}function fw(n){this.a=n}function fd(n){this.a=n}function fg(n){this.a=n}function fp(n){this.a=n}function fm(n){this.a=n}function fv(n){this.a=n}function fy(n){this.a=n}function fk(n){this.a=n}function fM(){this.a=[]}"u">typeof window?nP_=window:void 0!==n?nP_=n:"u">typeof self&&(nP_=self);function fE(n){this.a=n}function fT(n){this.a=n}function fj(n){this.a=n}function fS(n){this.a=n}function fP(n){this.a=n}function fO(n){this.a=n}function fC(n){this.a=n}function fI(n){this.a=n}function fA(n){this.a=n}function fL(n){this.a=n}function fN(n){this.a=n}function fx(n){this.a=n}function f$(n){this.a=n}function fD(n){this.a=n}function fR(n){this.b=n}function fK(n){this.b=n}function fF(n){this.b=n}function f_(n){this.a=n}function fB(n){this.a=n}function fH(n){this.c=n}function fU(n){this.c=n}function fG(n){this.c=n}function fq(n){this.d=n}function fX(n){this.a=n}function fz(n){this.a=n}function fV(n){this.a=n}function fW(n){this.a=n}function fQ(n){this.a=n}function fJ(n){this.a=n}function fY(n){this.a=n}function fZ(n){this.a=n}function f1(n){this.a=n}function f0(n){this.a=n}function f2(n){this.a=n}function f3(n){this.a=n}function f4(n){this.a=n}function f6(n){this.a=n}function f5(n){this.a=n}function f8(n){this.a=n}function f9(n){this.a=n}function f7(n){this.a=n}function ln(n){this.a=n}function lt(n){this.a=n}function le(n){this.a=n}function li(n){this.a=n}function lr(n){this.a=n}function la(n){this.a=n}function lc(n){this.a=n}function lo(n){this.a=n}function lu(n){this.a=n}function ls(n){this.a=n}function lh(n){this.a=n}function lf(n){this.a=n}function ll(n){this.a=n}function lb(n){this.a=n}function lw(n){this.a=n}function ld(n){this.a=n}function lg(n){this.a=n}function lp(n){this.a=n}function lm(n){this.a=n}function lv(n){this.a=n}function ly(n){this.a=n}function lk(n){this.a=n}function lM(n){this.a=n}function lE(n){this.a=n}function lT(n){this.a=n}function lj(n){this.a=n}function lS(n){this.a=n}function lP(n){this.a=n}function lO(n){this.a=n}function lC(n){this.a=n}function lI(n){this.e=n}function lA(n){this.a=n}function lL(n){this.a=n}function lN(n){this.a=n}function lx(n){this.a=n}function l$(n){this.a=n}function lD(n){this.a=n}function lR(n){this.a=n}function lK(n){this.a=n}function lF(n){this.a=n}function l_(n){this.a=n}function lB(n){this.a=n}function lH(n){this.a=n}function lU(n){this.a=n}function lG(n){this.a=n}function lq(n){this.a=n}function lX(n){this.a=n}function lz(n){this.a=n}function lV(n){this.a=n}function lW(n){this.a=n}function lQ(n){this.a=n}function lJ(n){this.a=n}function lY(n){this.a=n}function lZ(n){this.a=n}function l1(n){this.a=n}function l0(n){this.a=n}function l2(n){this.a=n}function l3(n){this.a=n}function l4(n){this.a=n}function l6(n){this.a=n}function l5(n){this.a=n}function l8(n){this.a=n}function l9(n){this.a=n}function l7(n){this.a=n}function bn(n){this.a=n}function bt(n){this.a=n}function be(n){this.a=n}function bi(n){this.a=n}function br(n){this.a=n}function ba(n){this.a=n}function bc(n){this.a=n}function bo(n){this.a=n}function bu(n){this.a=n}function bs(n){this.a=n}function bh(n){this.a=n}function bf(n){this.a=n}function bl(n){this.a=n}function bb(n){this.a=n}function bw(n){this.a=n}function bd(n){this.a=n}function bg(n){this.a=n}function bp(n){this.a=n}function bm(n){this.a=n}function bv(n){this.a=n}function by(n){this.a=n}function bk(n){this.c=n}function bM(n){this.b=n}function bE(n){this.a=n}function bT(n){this.a=n}function bj(n){this.a=n}function bS(n){this.a=n}function bP(n){this.a=n}function bO(n){this.a=n}function bC(n){this.a=n}function bI(n){this.a=n}function bA(n){this.a=n}function bL(n){this.a=n}function bN(n){this.a=n}function bx(n){this.a=n}function b$(n){this.a=n}function bD(n){this.a=n}function bR(n){this.a=n}function bK(n){this.a=n}function bF(n){this.a=n}function b_(n){this.a=n}function bB(n){this.a=n}function bH(n){this.a=n}function bU(n){this.a=n}function bG(n){this.a=n}function bq(n){this.a=n}function bX(n){this.a=n}function bz(n){this.a=n}function bV(n){this.a=n}function bW(n){this.a=n}function bQ(n){this.a=n}function bJ(n){this.a=n}function bY(n){this.a=n}function bZ(n){this.a=n}function b1(n){this.a=n}function b0(n){this.a=n}function b2(n){this.a=n}function b3(n){this.a=n}function b4(n){this.a=n}function b6(n){this.a=n}function b5(n){this.a=n}function b8(n){this.a=n}function b9(n){this.a=n}function b7(n){this.a=n}function wn(n){this.a=n}function wt(n){this.a=n}function we(n){this.a=n}function wi(n){this.a=n}function wr(n){this.a=n}function wa(n){this.a=n}function wc(n){this.a=n}function wo(n){this.a=n}function wu(n){this.a=n}function ws(n){this.a=n}function wh(n){this.a=n}function wf(n){this.a=n}function wl(n){this.a=n}function wb(n){this.a=n}function ww(n){this.a=n}function wd(n){this.f=n}function wg(n){this.a=n}function wp(n){this.a=n}function wm(n){this.a=n}function wv(n){this.a=n}function wy(n){this.a=n}function wk(n){this.a=n}function wM(n){this.a=n}function wE(n){this.a=n}function wT(n){this.a=n}function wj(n){this.a=n}function wS(n){this.a=n}function wP(n){this.a=n}function wO(n){this.a=n}function wC(n){this.a=n}function wI(n){this.a=n}function wA(n){this.a=n}function wL(n){this.a=n}function wN(n){this.a=n}function wx(n){this.a=n}function w$(n){this.a=n}function wD(n){this.a=n}function wR(n){this.a=n}function wK(n){this.a=n}function wF(n){this.a=n}function w_(n){this.a=n}function wB(n){this.a=n}function wH(n){this.a=n}function wU(n){this.a=n}function wG(n){this.a=n}function wq(n){this.a=n}function wX(n){this.b=n}function wz(n){this.a=n}function wV(n){this.a=n}function wW(n){this.a=n}function wQ(n){this.a=n}function wJ(n){this.a=n}function wY(n){this.a=n}function wZ(n){this.a=n}function w1(n){this.b=n}function w0(n){this.a=n}function w2(n){this.a=n}function w3(n){this.a=n}function w4(n){this.a=n}function w6(n){this.c=n}function w5(n){this.e=n}function w8(n){this.a=n}function w9(n){this.a=n}function w7(n){this.a=n}function dn(n){this.d=n}function dt(n){this.a=n}function de(n){this.a=n}function di(n){this.a=n}function dr(n){this.e=n}function da(){this.a=0}function dc(){LH(this)}function du(){TQ(this)}function ds(){xo(this)}function dh(){}function df(){this.c=n2$}function dl(n){return n.a}function db(n){return n.a}function dw(n){return n.a}function dd(n){return n.a}function dg(n){return n.a}function dp(){return null}function dm(){return null}function dv(n,t){n.b=t-n.b}function dy(n,t){n.a=t-n.a}function dk(n,t){n.push(t)}function dM(n,t){n.e=t,t.b=n}function dE(n){Co(),this.a=n}function dT(n){Co(),this.a=n}function dj(n){Co(),this.a=n}function dS(n){NA(),this.a=n}function dP(){dP=T,new dc}function dO(){SS.call(this)}function dC(){SS.call(this)}function dI(){dO.call(this)}function dA(){dO.call(this)}function dL(){dO.call(this)}function dN(){dO.call(this)}function dx(){dO.call(this)}function d$(){dO.call(this)}function dD(){dO.call(this)}function dR(){dO.call(this)}function dK(){dO.call(this)}function dF(){dO.call(this)}function d_(){dO.call(this)}function dB(){this.a=this}function dH(){this.Bb|=256}function dU(){this.b=new Tn}function dG(n,t){n.length=t}function dq(n,t){zP(n.e,t)}function dX(n){na5(n.c,n.b)}function dz(n){var t;this.a=(t=ni7(n))>34028234663852886e22?nwF:t<-34028234663852886e22?nw_:t}function dV(){this.a=new dc}function dW(){this.a=new dc}function dQ(){this.a=new vU}function dJ(){this.a=new du}function dY(){this.a=new du}function dZ(){this.a=new du}function d1(){this.a=new nm}function d0(){this.a=new _5}function d2(){this.a=new tn}function d3(){this.a=new D4}function d4(){this.a=new Of}function d6(){this.a=new du}function d5(){this.a=new du}function d8(){this.a=new du}function d9(){this.a=new du}function d7(){this.d=new du}function gn(){this.a=new R2}function gt(){this.a=new dV}function ge(){this.a=new dc}function gi(){this.b=new dc}function gr(){this.b=new du}function ga(){this.e=new du}function gc(){this.a=new hb}function go(){this.d=new du}function gu(){$Y.call(this)}function gs(){$Y.call(this)}function gh(){du.call(this)}function gf(){dI.call(this)}function gl(){dJ.call(this)}function gb(){Oy.call(this)}function gw(){d9.call(this)}function gd(){dh.call(this)}function gg(){gd.call(this)}function gp(){dh.call(this)}function gm(){gp.call(this)}function gv(){gU.call(this)}function gy(){gU.call(this)}function gk(){gU.call(this)}function gM(){gX.call(this)}function gE(){oK.call(this)}function gT(){oK.call(this)}function gj(){vq.call(this)}function gS(){gQ.call(this)}function gP(){gQ.call(this)}function gO(){dc.call(this)}function gC(){dc.call(this)}function gI(){dc.call(this)}function gA(){qz.call(this)}function gL(){dV.call(this)}function gN(){dH.call(this)}function gx(){j0.call(this)}function g$(){dc.call(this)}function gD(){j0.call(this)}function gR(){dc.call(this)}function gK(){dc.call(this)}function gF(){o1.call(this)}function g_(){gF.call(this)}function gB(){o1.call(this)}function gH(){sQ.call(this)}function gU(){this.a=new dV}function gG(){this.a=new dc}function gq(){this.a=new du}function gX(){this.a=new dc}function gz(){this.a=new vq}function gV(){this.j=new du}function gW(){this.a=new mz}function gQ(){this.a=new oZ}function gJ(){this.a=new cO}function gY(){gY=T,nPz=new r}function gZ(){gZ=T,nPV=new g2}function g1(){g1=T,nPW=new g0}function g0(){h5.call(this,"")}function g2(){h5.call(this,"")}function g3(n){Gv.call(this,n)}function g4(n){Gv.call(this,n)}function g6(n){hZ.call(this,n)}function g5(n){vO.call(this,n)}function g8(n){vO.call(this,n)}function g9(n){g5.call(this,n)}function g7(n){g5.call(this,n)}function pn(n){g5.call(this,n)}function pt(n){FD.call(this,n)}function pe(n){FD.call(this,n)}function pi(n){OJ.call(this,n)}function pr(n){vL.call(this,n)}function pa(n){v$.call(this,n)}function pc(n){v$.call(this,n)}function po(n){v$.call(this,n)}function pu(n){nrr.call(this,n)}function ps(n){pu.call(this,n)}function ph(n){Lc.call(this,n)}function pf(n){ph.call(this,n)}function pl(){fk.call(this,{})}function pb(){pb=T,nOn=new M}function pw(){pw=T,nPZ=new jC}function pd(){pd=T,nP2=new e}function pg(){pg=T,nP4=new g}function pp(){pp=T,nP8=new v}function pm(n){Sn(),this.a=n}function pv(n){X3(),this.a=n}function py(n){A_(),this.f=n}function pk(n){A_(),this.f=n}function pM(n){Cr(),this.a=n}function pE(n){n.b=null,n.c=0}function pT(n){return xf(n),n}function pj(n){return xf(n),n}function pS(n){return new fy(n)}function pP(n){return new NO(n)}function pO(n){ph.call(this,n)}function pC(n){ph.call(this,n)}function pI(n){ph.call(this,n)}function pA(n){Lc.call(this,n)}function pL(n){ph.call(this,n)}function pN(n){ph.call(this,n)}function px(n){ph.call(this,n)}function p$(n){ph.call(this,n)}function pD(n){ph.call(this,n)}function pR(n){ph.call(this,n)}function pK(n){ph.call(this,n)}function pF(n){ph.call(this,n)}function p_(n){ph.call(this,n)}function pB(n){ph.call(this,n)}function pH(n){ph.call(this,n)}function pU(n){xf(n),this.a=n}function pG(n){LY(n,n.length)}function pq(n){return n.b==n.c}function pX(n){return!!n&&n.b}function pz(n,t){n.be(t),t.ae(n)}function pV(n){Co(),this.a=NP(n)}function pW(){this.a=PA(NP(nl8))}function pQ(){throw(new dD).e}function pJ(){throw(new dD).e}function pY(){throw(new dD).e}function pZ(){pZ=T,$_()}function p1(){fO.call(this,"")}function p0(){fO.call(this,"")}function p2(){fO.call(this,"")}function p3(){fO.call(this,"")}function p4(n){pC.call(this,n)}function p6(n){pC.call(this,n)}function p5(n){pN.call(this,n)}function p8(n){fF.call(this,n)}function p9(n){p8.call(this,n)}function p7(n){SE.call(this,n)}function mn(n){SX.call(this,n,0)}function mt(){Rj.call(this,12,3)}function me(n,t){return n.c=t,n}function mi(n,t){return n.b=t,n}function mr(n,t){return n.d=t,n}function ma(n,t){return n.e=t,n}function mc(n,t){return n.g=t,n}function mo(n,t){return n.a=t,n}function mu(n,t){return n.i=t,n}function ms(n,t){return n.j=t,n}function mh(n){O5.call(this,n)}function mf(n){J9.call(this,n)}function ml(n){$t.call(this,n)}function mb(n){$t.call(this,n)}function mw(n){Gk.call(this,n)}function md(n){$m.call(this,n)}function mg(n){$m.call(this,n)}function mp(){jl.call(this,"")}function mm(){this.a=0,this.b=0}function mv(){this.b=0,this.a=0}function my(){my=T,nOW=typeof Map===nl2&&Map.prototype.entries&&function(){try{return(new Map).entries().next().done}catch(n){return!1}}()?Map:function(){function n(){this.obj=this.createObject()}return n.prototype.createObject=function(n){return Object.create(null)},n.prototype.get=function(n){return this.obj[n]},n.prototype.set=function(n,t){this.obj[n]=t},n.prototype[nw5]=function(n){delete this.obj[n]},n.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)},n.prototype.entries=function(){var n=this.keys(),t=this,e=0;return{next:function(){if(e>=n.length)return{done:!0};var i=n[e++];return{value:[i,t.get(i)],done:!1}}}},!function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var n="__proto__",t=Object.create(null);return void 0===t[n]&&0==Object.getOwnPropertyNames(t).length&&(t[n]=42,42===t[n]&&0!=Object.getOwnPropertyNames(t).length)}()&&(n.prototype.createObject=function(){return{}},n.prototype.get=function(n){return this.obj[":"+n]},n.prototype.set=function(n,t){this.obj[":"+n]=t},n.prototype[nw5]=function(n){delete this.obj[":"+n]},n.prototype.keys=function(){var n=[];for(var t in this.obj)58==t.charCodeAt(0)&&n.push(t.substring(1));return n}),n}()}function mk(){mk=T,n18=function(){var n,t;nhC();try{if(t=CY(neB((yM(),n2e),nE_),2113))return t}catch(t){if(jM(t=Vt(t),103))n=t,Nh((T9(),n));else throw t.e}return new oB}()}function mM(){var n,t,e,i,r,a,c,o,u,s;mM=T,n19=nNr?CY(ncz((yM(),n2e),nE_),2115):(n=CY(jM(Db((yM(),n2e),nE_),569)?Db(n2e,nE_):new ncb,569),nNr=!0,(t=n).q||(t.q=!0,t.p=zL(t,0),t.a=zL(t,1),XN(t.a,0),t.f=zL(t,2),XN(t.f,1),XL(t.f,2),t.n=zL(t,3),XL(t.n,3),XL(t.n,4),XL(t.n,5),XL(t.n,6),t.g=zL(t,4),XN(t.g,7),XL(t.g,8),t.c=zL(t,5),XN(t.c,7),XN(t.c,8),t.i=zL(t,6),XN(t.i,9),XN(t.i,10),XN(t.i,11),XN(t.i,12),XL(t.i,13),t.j=zL(t,7),XN(t.j,9),t.d=zL(t,8),XN(t.d,3),XN(t.d,4),XN(t.d,5),XN(t.d,6),XL(t.d,7),XL(t.d,8),XL(t.d,9),XL(t.d,10),t.b=zL(t,9),XL(t.b,0),XL(t.b,1),t.e=zL(t,10),XL(t.e,1),XL(t.e,2),XL(t.e,3),XL(t.e,4),XN(t.e,5),XN(t.e,6),XN(t.e,7),XN(t.e,8),XN(t.e,9),XN(t.e,10),XL(t.e,11),t.k=zL(t,11),XL(t.k,0),XL(t.k,1),t.o=zN(t,12),t.s=zN(t,13)),(e=n).r||(e.r=!0,XC(e,"graph"),XI(e,"graph"),XA(e,nE_),z8(e.o,"T"),B7($7(e.a),e.p),B7($7(e.f),e.a),B7($7(e.n),e.f),B7($7(e.g),e.n),B7($7(e.c),e.n),B7($7(e.i),e.c),B7($7(e.j),e.c),B7($7(e.d),e.f),B7($7(e.e),e.a),Kd(e.p,nCS,ngd,!0,!0,!1),s=Vf(u=WS(e.p,e.p,"setProperty")),i=$h(e.o),r=new df,B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),neJ(r,a=$f(s)),ne_(u,i,nEB),ne_(u,i=$f(s),nEH),s=Vf(u=WS(e.p,null,"getProperty")),i=$h(e.o),r=$f(s),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),ne_(u,i,nEB),(o=niM(u,i=$f(s),null))&&o.oj(),u=WS(e.p,e.wb.e,"hasProperty"),i=$h(e.o),r=new df,B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),ne_(u,i,nEB),nt$(u=WS(e.p,e.p,"copyProperties"),e.p,nEU),u=WS(e.p,null,"getAllProperties"),i=$h(e.wb.P),r=$h(e.o),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),a=new df,B7((r.d||(r.d=new jU(n00,r,1)),r.d),a),r=$h(e.wb.M),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),(c=niM(u,i,null))&&c.oj(),Kd(e.a,nL1,nEf,!0,!1,!0),ntN(CY(GO($x(e.a),0),19),e.k,null,nEG,0,-1,nL1,!1,!1,!0,!0,!1,!1,!1),Kd(e.f,nL2,nEb,!0,!1,!0),ntN(CY(GO($x(e.f),0),19),e.g,CY(GO($x(e.g),0),19),"labels",0,-1,nL2,!1,!1,!0,!0,!1,!1,!1),XW(CY(GO($x(e.f),1),35),e.wb._,nEq,null,0,1,nL2,!1,!1,!0,!1,!0,!1),Kd(e.n,nL3,"ElkShape",!0,!1,!0),XW(CY(GO($x(e.n),0),35),e.wb.t,nEX,nwQ,1,1,nL3,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.n),1),35),e.wb.t,nEz,nwQ,1,1,nL3,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.n),2),35),e.wb.t,"x",nwQ,1,1,nL3,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.n),3),35),e.wb.t,"y",nwQ,1,1,nL3,!1,!1,!0,!1,!0,!1),nt$(u=WS(e.n,null,"setDimensions"),e.wb.t,nEz),nt$(u,e.wb.t,nEX),nt$(u=WS(e.n,null,"setLocation"),e.wb.t,"x"),nt$(u,e.wb.t,"y"),Kd(e.g,nNt,nEv,!1,!1,!0),ntN(CY(GO($x(e.g),0),19),e.f,CY(GO($x(e.f),0),19),nEV,0,1,nNt,!1,!1,!0,!1,!1,!1,!1),XW(CY(GO($x(e.g),1),35),e.wb._,nEW,"",0,1,nNt,!1,!1,!0,!1,!0,!1),Kd(e.c,nL4,nEw,!0,!1,!0),ntN(CY(GO($x(e.c),0),19),e.d,CY(GO($x(e.d),1),19),"outgoingEdges",0,-1,nL4,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.c),1),19),e.d,CY(GO($x(e.d),2),19),"incomingEdges",0,-1,nL4,!1,!1,!0,!1,!0,!1,!1),Kd(e.i,nNe,nEy,!1,!1,!0),ntN(CY(GO($x(e.i),0),19),e.j,CY(GO($x(e.j),0),19),"ports",0,-1,nNe,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.i),1),19),e.i,CY(GO($x(e.i),2),19),nEQ,0,-1,nNe,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.i),2),19),e.i,CY(GO($x(e.i),1),19),nEV,0,1,nNe,!1,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.i),3),19),e.d,CY(GO($x(e.d),0),19),"containedEdges",0,-1,nNe,!1,!1,!0,!0,!1,!1,!1),XW(CY(GO($x(e.i),4),35),e.wb.e,nEJ,null,0,1,nNe,!0,!0,!1,!1,!0,!0),Kd(e.j,nNi,nEk,!1,!1,!0),ntN(CY(GO($x(e.j),0),19),e.i,CY(GO($x(e.i),0),19),nEV,0,1,nNi,!1,!1,!0,!1,!1,!1,!1),Kd(e.d,nL6,nEd,!1,!1,!0),ntN(CY(GO($x(e.d),0),19),e.i,CY(GO($x(e.i),3),19),"containingNode",0,1,nL6,!1,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.d),1),19),e.c,CY(GO($x(e.c),0),19),nEY,0,-1,nL6,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.d),2),19),e.c,CY(GO($x(e.c),1),19),nEZ,0,-1,nL6,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.d),3),19),e.e,CY(GO($x(e.e),5),19),nE1,0,-1,nL6,!1,!1,!0,!0,!1,!1,!1),XW(CY(GO($x(e.d),4),35),e.wb.e,"hyperedge",null,0,1,nL6,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.d),5),35),e.wb.e,nEJ,null,0,1,nL6,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.d),6),35),e.wb.e,"selfloop",null,0,1,nL6,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.d),7),35),e.wb.e,"connected",null,0,1,nL6,!0,!0,!1,!1,!0,!0),Kd(e.b,nL0,nEl,!1,!1,!0),XW(CY(GO($x(e.b),0),35),e.wb.t,"x",nwQ,1,1,nL0,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.b),1),35),e.wb.t,"y",nwQ,1,1,nL0,!1,!1,!0,!1,!0,!1),nt$(u=WS(e.b,null,"set"),e.wb.t,"x"),nt$(u,e.wb.t,"y"),Kd(e.e,nL5,nEg,!1,!1,!0),XW(CY(GO($x(e.e),0),35),e.wb.t,"startX",null,0,1,nL5,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.e),1),35),e.wb.t,"startY",null,0,1,nL5,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.e),2),35),e.wb.t,"endX",null,0,1,nL5,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.e),3),35),e.wb.t,"endY",null,0,1,nL5,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.e),4),19),e.b,null,nE0,0,-1,nL5,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.e),5),19),e.d,CY(GO($x(e.d),3),19),nEV,0,1,nL5,!1,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.e),6),19),e.c,null,nE2,0,1,nL5,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.e),7),19),e.c,null,nE3,0,1,nL5,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.e),8),19),e.e,CY(GO($x(e.e),9),19),nE4,0,-1,nL5,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.e),9),19),e.e,CY(GO($x(e.e),8),19),nE6,0,-1,nL5,!1,!1,!0,!1,!0,!1,!1),XW(CY(GO($x(e.e),10),35),e.wb._,nEq,null,0,1,nL5,!1,!1,!0,!1,!0,!1),nt$(u=WS(e.e,null,"setStartLocation"),e.wb.t,"x"),nt$(u,e.wb.t,"y"),nt$(u=WS(e.e,null,"setEndLocation"),e.wb.t,"x"),nt$(u,e.wb.t,"y"),Kd(e.k,nPl,"ElkPropertyToValueMapEntry",!1,!1,!1),i=$h(e.o),r=new df,B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),ncn(CY(GO($x(e.k),0),35),i,"key",nPl,!1,!1,!0,!1),XW(CY(GO($x(e.k),1),35),e.s,nEH,null,0,1,nPl,!1,!1,!0,!1,!0,!1),x_(e.o,nLO,"IProperty",!0),x_(e.s,nPa,"PropertyValue",!0),Ql(e,nE_)),ntL(n),Rr(n2e,nE_,n),n)}function mE(){mE=T,n0S=qk()}function mT(){mT=T,n2a=function(){var n,t;nhC();try{if(t=CY(neB((yM(),n2e),njz),2040))return t}catch(t){if(jM(t=Vt(t),103))n=t,Nh((T9(),n));else throw t.e}return new ub}()}function mj(){mj=T,n3h=function(){var n,t;HP();try{if(t=CY(neB((yM(),n2e),nSb),2122))return t}catch(t){if(jM(t=Vt(t),103))n=t,Nh((T9(),n));else throw t.e}return new u5}()}function mS(){var n,t,e,i,r;mS=T,n3f=n22?CY(ncz((yM(),n2e),nSb),2044):(Tf(n2Y,new ss),Tf(n2Z,new sy),Tf(n21,new sA),Tf(n20,new sH),Tf(nPL,new sX),Tf(DY(n4l,1),new sz),Tf(nPE,new sV),Tf(nPT,new sW),Tf(nPL,new u9),Tf(nPL,new u7),Tf(nPL,new sn),Tf(nPS,new st),Tf(nPL,new se),Tf(nPf,new si),Tf(nPf,new sr),Tf(nPL,new sa),Tf(nPP,new so),Tf(nPL,new su),Tf(nPL,new sh),Tf(nPL,new sf),Tf(nPL,new sl),Tf(nPL,new sb),Tf(DY(n4l,1),new sw),Tf(nPL,new sd),Tf(nPL,new sg),Tf(nPf,new sp),Tf(nPf,new sm),Tf(nPL,new sv),Tf(nPO,new sk),Tf(nPL,new sM),Tf(nPC,new sE),Tf(nPL,new sT),Tf(nPL,new sj),Tf(nPL,new sS),Tf(nPL,new sP),Tf(nPf,new sO),Tf(nPf,new sC),Tf(nPL,new sI),Tf(nPL,new sL),Tf(nPL,new sN),Tf(nPL,new sx),Tf(nPL,new s$),Tf(nPL,new sD),Tf(nPI,new sR),Tf(nPL,new sK),Tf(nPL,new sF),Tf(nPL,new s_),Tf(nPI,new sB),Tf(nPC,new sU),Tf(nPL,new sG),Tf(nPO,new sq),n=CY(jM(Db((yM(),n2e),nSb),594)?Db(n2e,nSb):new xy,594),n22=!0,(t=n).N||(t.N=!0,t.b=zL(t,0),XL(t.b,0),XL(t.b,1),XL(t.b,2),t.bb=zL(t,1),XL(t.bb,0),XL(t.bb,1),t.fb=zL(t,2),XL(t.fb,3),XL(t.fb,4),XN(t.fb,5),t.qb=zL(t,3),XL(t.qb,0),XN(t.qb,1),XN(t.qb,2),XL(t.qb,3),XL(t.qb,4),XN(t.qb,5),XL(t.qb,6),t.a=zN(t,4),t.c=zN(t,5),t.d=zN(t,6),t.e=zN(t,7),t.f=zN(t,8),t.g=zN(t,9),t.i=zN(t,10),t.j=zN(t,11),t.k=zN(t,12),t.n=zN(t,13),t.o=zN(t,14),t.p=zN(t,15),t.q=zN(t,16),t.s=zN(t,17),t.r=zN(t,18),t.t=zN(t,19),t.u=zN(t,20),t.v=zN(t,21),t.w=zN(t,22),t.B=zN(t,23),t.A=zN(t,24),t.C=zN(t,25),t.D=zN(t,26),t.F=zN(t,27),t.G=zN(t,28),t.H=zN(t,29),t.J=zN(t,30),t.I=zN(t,31),t.K=zN(t,32),t.M=zN(t,33),t.L=zN(t,34),t.P=zN(t,35),t.Q=zN(t,36),t.R=zN(t,37),t.S=zN(t,38),t.T=zN(t,39),t.U=zN(t,40),t.V=zN(t,41),t.X=zN(t,42),t.W=zN(t,43),t.Y=zN(t,44),t.Z=zN(t,45),t.$=zN(t,46),t._=zN(t,47),t.ab=zN(t,48),t.cb=zN(t,49),t.db=zN(t,50),t.eb=zN(t,51),t.gb=zN(t,52),t.hb=zN(t,53),t.ib=zN(t,54),t.jb=zN(t,55),t.kb=zN(t,56),t.lb=zN(t,57),t.mb=zN(t,58),t.nb=zN(t,59),t.ob=zN(t,60),t.pb=zN(t,61)),(e=n).O||(e.O=!0,XC(e,"type"),XI(e,"ecore.xml.type"),XA(e,nSb),i=CY(ncz((yM(),n2e),nSb),2044),B7($7(e.fb),e.b),Kd(e.b,n2Y,"AnyType",!1,!1,!0),XW(CY(GO($x(e.b),0),35),e.wb.D,njR,null,0,-1,n2Y,!1,!1,!0,!1,!1,!1),XW(CY(GO($x(e.b),1),35),e.wb.D,"any",null,0,-1,n2Y,!0,!0,!0,!1,!1,!0),XW(CY(GO($x(e.b),2),35),e.wb.D,"anyAttribute",null,0,-1,n2Y,!1,!1,!0,!1,!1,!1),Kd(e.bb,n2Z,nSm,!1,!1,!0),XW(CY(GO($x(e.bb),0),35),e.gb,"data",null,0,1,n2Z,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),1),35),e.gb,nTc,null,1,1,n2Z,!1,!1,!0,!1,!0,!1),Kd(e.fb,n21,nSv,!1,!1,!0),XW(CY(GO($x(e.fb),0),35),i.gb,"rawValue",null,0,1,n21,!0,!0,!0,!1,!0,!0),XW(CY(GO($x(e.fb),1),35),i.a,nEH,null,0,1,n21,!0,!0,!0,!1,!0,!0),ntN(CY(GO($x(e.fb),2),19),e.wb.q,null,"instanceType",1,1,n21,!1,!1,!0,!1,!1,!1,!1),Kd(e.qb,n20,nSy,!1,!1,!0),XW(CY(GO($x(e.qb),0),35),e.wb.D,njR,null,0,-1,null,!1,!1,!0,!1,!1,!1),ntN(CY(GO($x(e.qb),1),19),e.wb.ab,null,"xMLNSPrefixMap",0,-1,null,!0,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.qb),2),19),e.wb.ab,null,"xSISchemaLocation",0,-1,null,!0,!1,!0,!0,!1,!1,!1),XW(CY(GO($x(e.qb),3),35),e.gb,"cDATA",null,0,-2,null,!0,!0,!0,!1,!1,!0),XW(CY(GO($x(e.qb),4),35),e.gb,"comment",null,0,-2,null,!0,!0,!0,!1,!1,!0),ntN(CY(GO($x(e.qb),5),19),e.bb,null,nSq,0,-2,null,!0,!0,!0,!0,!1,!1,!0),XW(CY(GO($x(e.qb),6),35),e.gb,nEW,null,0,-2,null,!0,!0,!0,!1,!1,!0),x_(e.a,nPa,"AnySimpleType",!0),x_(e.c,nPL,"AnyURI",!0),x_(e.d,DY(n4l,1),"Base64Binary",!0),x_(e.e,n4h,"Boolean",!0),x_(e.f,nPE,"BooleanObject",!0),x_(e.g,n4l,"Byte",!0),x_(e.i,nPT,"ByteObject",!0),x_(e.j,nPL,"Date",!0),x_(e.k,nPL,"DateTime",!0),x_(e.n,nPN,"Decimal",!0),x_(e.o,n4b,"Double",!0),x_(e.p,nPS,"DoubleObject",!0),x_(e.q,nPL,"Duration",!0),x_(e.s,nPf,"ENTITIES",!0),x_(e.r,nPf,"ENTITIESBase",!0),x_(e.t,nPL,nSj,!0),x_(e.u,n4w,"Float",!0),x_(e.v,nPP,"FloatObject",!0),x_(e.w,nPL,"GDay",!0),x_(e.B,nPL,"GMonth",!0),x_(e.A,nPL,"GMonthDay",!0),x_(e.C,nPL,"GYear",!0),x_(e.D,nPL,"GYearMonth",!0),x_(e.F,DY(n4l,1),"HexBinary",!0),x_(e.G,nPL,"ID",!0),x_(e.H,nPL,"IDREF",!0),x_(e.J,nPf,"IDREFS",!0),x_(e.I,nPf,"IDREFSBase",!0),x_(e.K,n4s,"Int",!0),x_(e.M,nPx,"Integer",!0),x_(e.L,nPO,"IntObject",!0),x_(e.P,nPL,"Language",!0),x_(e.Q,n4f,"Long",!0),x_(e.R,nPC,"LongObject",!0),x_(e.S,nPL,"Name",!0),x_(e.T,nPL,nSS,!0),x_(e.U,nPx,"NegativeInteger",!0),x_(e.V,nPL,nSD,!0),x_(e.X,nPf,"NMTOKENS",!0),x_(e.W,nPf,"NMTOKENSBase",!0),x_(e.Y,nPx,"NonNegativeInteger",!0),x_(e.Z,nPx,"NonPositiveInteger",!0),x_(e.$,nPL,"NormalizedString",!0),x_(e._,nPL,"NOTATION",!0),x_(e.ab,nPL,"PositiveInteger",!0),x_(e.cb,nPL,"QName",!0),x_(e.db,n4d,"Short",!0),x_(e.eb,nPI,"ShortObject",!0),x_(e.gb,nPL,nb0,!0),x_(e.hb,nPL,"Time",!0),x_(e.ib,nPL,"Token",!0),x_(e.jb,n4d,"UnsignedByte",!0),x_(e.kb,nPI,"UnsignedByteObject",!0),x_(e.lb,n4f,"UnsignedInt",!0),x_(e.mb,nPC,"UnsignedIntObject",!0),x_(e.nb,nPx,"UnsignedLong",!0),x_(e.ob,n4s,"UnsignedShort",!0),x_(e.pb,nPO,"UnsignedShortObject",!0),Ql(e,nSb),ncY((r=e).a,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"anySimpleType"])),ncY(r.b,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"anyType",njF,njR])),ncY(CY(GO($x(r.b),0),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSc,nTh,":mixed"])),ncY(CY(GO($x(r.b),1),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSc,nSl,nSw,nTh,":1",nSM,"lax"])),ncY(CY(GO($x(r.b),2),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSr,nSl,nSw,nTh,":2",nSM,"lax"])),ncY(r.c,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"anyURI",nSf,nSo])),ncY(r.d,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"base64Binary",nSf,nSo])),ncY(r.e,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nlZ,nSf,nSo])),ncY(r.f,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"boolean:Object",njW,nlZ])),ncY(r.g,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njj])),ncY(r.i,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"byte:Object",njW,njj])),ncY(r.j,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"date",nSf,nSo])),ncY(r.k,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"dateTime",nSf,nSo])),ncY(r.n,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"decimal",nSf,nSo])),ncY(r.o,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njP,nSf,nSo])),ncY(r.p,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"double:Object",njW,njP])),ncY(r.q,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"duration",nSf,nSo])),ncY(r.s,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"ENTITIES",njW,nSE,nST,"1"])),ncY(r.r,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSE,nSu,nSj])),ncY(r.t,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSj,njW,nSS])),ncY(r.u,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njO,nSf,nSo])),ncY(r.v,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"float:Object",njW,njO])),ncY(r.w,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"gDay",nSf,nSo])),ncY(r.B,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"gMonth",nSf,nSo])),ncY(r.A,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"gMonthDay",nSf,nSo])),ncY(r.C,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"gYear",nSf,nSo])),ncY(r.D,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"gYearMonth",nSf,nSo])),ncY(r.F,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"hexBinary",nSf,nSo])),ncY(r.G,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"ID",njW,nSS])),ncY(r.H,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"IDREF",njW,nSS])),ncY(r.J,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"IDREFS",njW,nSP,nST,"1"])),ncY(r.I,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSP,nSu,"IDREF"])),ncY(r.K,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njC])),ncY(r.M,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSO])),ncY(r.L,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"int:Object",njW,njC])),ncY(r.P,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"language",njW,nSC,nSI,nSA])),ncY(r.Q,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njI])),ncY(r.R,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"long:Object",njW,njI])),ncY(r.S,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"Name",njW,nSC,nSI,nSL])),ncY(r.T,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSS,njW,"Name",nSI,nSN])),ncY(r.U,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"negativeInteger",njW,nSx,nS$,"-1"])),ncY(r.V,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSD,njW,nSC,nSI,"\\c+"])),ncY(r.X,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"NMTOKENS",njW,nSR,nST,"1"])),ncY(r.W,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSR,nSu,nSD])),ncY(r.Y,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSK,njW,nSO,nSF,"0"])),ncY(r.Z,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSx,njW,nSO,nS$,"0"])),ncY(r.$,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nS_,njW,nl0,nSf,"replace"])),ncY(r._,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"NOTATION",nSf,nSo])),ncY(r.ab,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"positiveInteger",njW,nSK,nSF,"1"])),ncY(r.bb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"processingInstruction_._type",njF,"empty"])),ncY(CY(GO($x(r.bb),0),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSi,nTh,"data"])),ncY(CY(GO($x(r.bb),1),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSi,nTh,nTc])),ncY(r.cb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"QName",nSf,nSo])),ncY(r.db,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njA])),ncY(r.eb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"short:Object",njW,njA])),ncY(r.fb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"simpleAnyType",njF,nSe])),ncY(CY(GO($x(r.fb),0),35),njK,Vw(DY(nPL,1),nby,2,6,[nTh,":3",njF,nSe])),ncY(CY(GO($x(r.fb),1),35),njK,Vw(DY(nPL,1),nby,2,6,[nTh,":4",njF,nSe])),ncY(CY(GO($x(r.fb),2),19),njK,Vw(DY(nPL,1),nby,2,6,[nTh,":5",njF,nSe])),ncY(r.gb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nl0,nSf,"preserve"])),ncY(r.hb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"time",nSf,nSo])),ncY(r.ib,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSC,njW,nS_,nSf,nSo])),ncY(r.jb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSB,nS$,"255",nSF,"0"])),ncY(r.kb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"unsignedByte:Object",njW,nSB])),ncY(r.lb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSH,nS$,"4294967295",nSF,"0"])),ncY(r.mb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"unsignedInt:Object",njW,nSH])),ncY(r.nb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"unsignedLong",njW,nSK,nS$,nSU,nSF,"0"])),ncY(r.ob,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSG,nS$,"65535",nSF,"0"])),ncY(r.pb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"unsignedShort:Object",njW,nSG])),ncY(r.qb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"",njF,njR])),ncY(CY(GO($x(r.qb),0),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSc,nTh,":mixed"])),ncY(CY(GO($x(r.qb),1),19),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSi,nTh,"xmlns:prefix"])),ncY(CY(GO($x(r.qb),2),19),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSi,nTh,"xsi:schemaLocation"])),ncY(CY(GO($x(r.qb),3),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSa,nTh,"cDATA",nSs,nSh])),ncY(CY(GO($x(r.qb),4),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSa,nTh,"comment",nSs,nSh])),ncY(CY(GO($x(r.qb),5),19),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSa,nTh,nSq,nSs,nSh])),ncY(CY(GO($x(r.qb),6),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSa,nTh,nEW,nSs,nSh]))),xM((yp(),n2r),n,new u8),ntL(n),Rr(n2e,nSb,n),n)}function mP(n){return n.e&&n.e()}function mO(n){return n.l|n.m<<22}function mC(n){return n?n.d:null}function mI(n){return PL(n),n.o}function mA(n,t){return n.a+=t,n}function mL(n,t){return n.a+=t,n}function mN(n,t){return n.a+=t,n}function mx(n,t){for(;n.Bd(t););}function m$(n){this.a=new vH(n)}function mD(){throw(new dD).e}function mR(){throw(new dD).e}function mK(){throw(new dD).e}function mF(){throw(new dD).e}function m_(){throw(new dD).e}function mB(){throw(new dD).e}function mH(n){this.a=new La(n)}function mU(){this.a=new noM(nLi)}function mG(){this.b=new noM(nA5)}function mq(){this.a=new noM(nLs)}function mX(){this.b=new noM(nLm)}function mz(){this.b=new noM(nLm)}function mV(n){this.a=0,this.b=n}function mW(n){nf2(),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(e=0,c=0,a=t.length,o=null,s=new p3,c<a&&(Rx(c,t.length),43==t.charCodeAt(c))&&(++c,++e,c<a&&(Rx(c,t.length),43==t.charCodeAt(c)||(Rx(c,t.length),45==t.charCodeAt(c)))))throw new p5(nwK+t+'"').e;for(;c<a&&(Rx(c,t.length),46!=t.charCodeAt(c))&&(Rx(c,t.length),101!=t.charCodeAt(c))&&(Rx(c,t.length),69!=t.charCodeAt(c));)++c;if(s.a+=""+Di(null==t?nbi:(xf(t),t),e,c),c<a&&(Rx(c,t.length),46==t.charCodeAt(c))){for(e=++c;c<a&&(Rx(c,t.length),101!=t.charCodeAt(c))&&(Rx(c,t.length),69!=t.charCodeAt(c));)++c;n.e=c-e,s.a+=""+Di(null==t?nbi:(xf(t),t),e,c)}else n.e=0;if(c<a&&(Rx(c,t.length),101==t.charCodeAt(c)||(Rx(c,t.length),69==t.charCodeAt(c)))&&(e=++c,c<a&&(Rx(c,t.length),43==t.charCodeAt(c))&&++c<a&&(Rx(c,t.length),45!=t.charCodeAt(c))&&++e,B2(e,a,t.length),o=t.substr(e,a-e),n.e=n.e-nsE(o,nbJ,nl3),n.e!=Dy(n.e)))throw new p5("Scale out of range.").e;if((u=s.a).length<16){if(null==nOC&&(nOC=RegExp("^[+-]?\\d*$","i")),n.f=nOC.test(u)?parseInt(u,10):NaN,isNaN(n.f))throw new p5(nwK+t+'"').e;n.a=naw(n.f)}else{n.c=h=new TV(u),n.a=0==(l=h).e?0:(b=l.d<<5,w=l.a[l.d-1],l.e<0&&zn(l)==l.d-1&&(--w,w|=0),b-=naK(w)),n.a<54&&(f=h.d>1?Kl(h.a[0],h.a[1]):Kl(h.a[0],0),n.f=KI(h.e>0?f:H4(f)))}for(r=0,n.d=s.a.length;r<s.a.length&&(45==(i=xq(s.a,r))||48==i);++r)--n.d;0==n.d&&(n.d=1)}(this,n)}function mQ(n){return xa(n),n.a}function mJ(n){return n.b!=n.d.c}function mY(n,t,e){n.splice(t,e)}function mZ(n,t){for(;n.Re(t););}function m1(n){n.c?nus(n):nuh(n)}function m0(){throw(new dD).e}function m2(){throw(new dD).e}function m3(){throw(new dD).e}function m4(){throw(new dD).e}function m6(){throw(new dD).e}function m5(){throw(new dD).e}function m8(){throw(new dD).e}function m9(){throw(new dD).e}function m7(){throw(new dD).e}function vn(){throw(new dD).e}function vt(n){this.a=new ve(n)}function ve(n){var t,e,i,r;t=this,e=n,i=function(){var n,t,e;for(n=0,t=0;n<1;n++){if(0==(e=nca((Rx(n,1),"X".charCodeAt(n)))))throw new pH((Rx(n,2),"Unknown Option: "+"X".substr(n))).e;t|=e}return t}(),t.b=e,t.a=i,r=(512&t.a)==512?new gH:new sQ,t.c=function(n,t,e){var i,r,a;if(n.e=e,n.d=0,n.b=0,n.f=1,n.i=t,(16&n.e)==16&&(n.i=function(n){var t,e,i,r,a;for(i=n.length,t=new p0,a=0;a<i;)if(9!=(e=xq(n,a++))&&10!=e&&12!=e&&13!=e&&32!=e){if(35==e){for(;a<i&&13!=(e=xq(n,a++))&&10!=e;);continue}92==e&&a<i?(35==(Rx(a,n.length),r=n.charCodeAt(a))||9==r||10==r||12==r||13==r||32==r||(t.a+="\\"),NQ(t,r&nb9),++a):NQ(t,e&nb9)}return t.a}(n.i)),n.j=n.i.length,nlN(n),a=Zf(n),n.d!=n.j)throw new pH(nlV((T9(),nTE))).e;if(n.g){for(i=0;i<n.g.a.c.length;i++)if(r=CY(N9(n.g,i),592),n.f<=r.a)throw new pH(nlV((T9(),nTT))).e;n.g.a.c.length=0}return a}(r,t.b,t.a)}function vi(n){return!n||xe(n)}function vr(n){return -1!=n3_[n]}function va(){0!=nPv&&(nPv=0),nPk=-1}function vc(){null==nPU&&(nPU=[])}function vo(n,t){j4.call(this,n,t)}function vu(n,t){vo.call(this,n,t)}function vs(n,t){this.a=n,this.b=t}function vh(n,t){this.a=n,this.b=t}function vf(n,t){this.a=n,this.b=t}function vl(n,t){this.a=n,this.b=t}function vb(n,t){this.a=n,this.b=t}function vw(n,t){this.a=n,this.b=t}function vd(n,t){this.a=n,this.b=t}function vg(n,t){this.e=n,this.d=t}function vp(n,t){this.b=n,this.c=t}function vm(n,t){this.b=n,this.a=t}function vv(n,t){this.b=n,this.a=t}function vy(n,t){this.b=n,this.a=t}function vk(n,t){this.b=n,this.a=t}function vM(n,t){this.a=n,this.b=t}function vE(n,t){this.a=n,this.b=t}function vT(n,t){this.a=n,this.f=t}function vj(n,t){this.g=n,this.i=t}function vS(n,t){this.f=n,this.g=t}function vP(n,t){this.b=n,this.c=t}function vO(n){j5(n.dc()),this.c=n}function vC(n,t){this.a=n,this.b=t}function vI(n,t){this.a=n,this.b=t}function vA(n){this.a=CY(NP(n),15)}function vL(n){this.a=CY(NP(n),15)}function vN(n){this.a=CY(NP(n),85)}function vx(n){this.b=CY(NP(n),85)}function v$(n){this.b=CY(NP(n),51)}function vD(){this.q=new nP_.Date}function vR(n,t){this.a=n,this.b=t}function vK(n,t){return n.b.Hc(t)}function vF(n,t){return n.a._b(t)}function v_(n){return n.f.c+n.i.c}function vB(n){return Nd(),n?nP7:nP9}function vH(n){VV.call(this,n,0)}function vU(){La.call(this,null)}function vG(n){this.c=n,UB(this)}function vq(){jg(this),$p(this)}function vX(){vX=T,nOk=new j}function vz(){vz=T,nOU=new O}function vV(){vV=T,nOZ=new E9}function vW(){vW=T,nO1=new E7}function vQ(){vQ=T,nCN=new H}function vJ(){B3.call(this,null)}function vY(){vY=T,nCF=new no}function vZ(n,t){xa(n),n.a.Nb(t)}function v1(n,t){return n.a.a=t,n}function v0(n,t){return n.a.d=t,n}function v2(n,t){return n.a.e=t,n}function v3(n,t){return n.a.g=t,n}function v4(n,t){return n.a.f=t,n}function v6(){v6=T,nC_=new nl}function v5(){v5=T,nNE=new Pw}function v8(){v8=T,nx1=new te}function v9(){v9=T,nx0=new th}function v7(){v7=T,nx4=new AD}function yn(){yn=T,n$a=new tw}function yt(){yt=T,n$b=new tj}function ye(){ye=T,n$w=new tS}function yi(){yi=T,n$C=new t0}function yr(){yr=T,n$O=new mm}function ya(){ya=T,nDC=new eC}function yc(){yc=T,nDG=new i3}function yo(){yo=T,nRf=new rm}function yu(){yu=T,nUY=new oP}function ys(){ys=T,nWW=new yb}function yh(){yh=T,nWJ=new Pb}function yf(){yf=T,nQL=new xk}function yl(){qR(),this.c=new mt}function yb(){vS.call(this,nmw,0)}function yw(n,t){Zq(n.c.c,t.b,t)}function yd(n,t){Zq(n.c.b,t.c,t)}function yg(n,t){return n.a=t.g,n}function yp(){yp=T,n2r=new gK}function ym(){ym=T,n2i=new gI}function yv(){yv=T,n16=new oO}function yy(){yy=T,n0h=new oG}function yk(){yk=T,n2t=new gC}function yM(){yM=T,n2e=new g$}function yE(){yE=T,n0C=new dc}function yT(){yT=T,n2D=new jP}function yj(){yj=T,n2R=new jO}function yS(){yS=T,n3t=new u4}function yP(){yP=T,n3i=new u6}function yO(){yO=T,nlJ=new sY}function yC(){yC=T,n2V=new du}function yI(n){return CY(n,44).ld()}function yA(n){return n.b<n.d.gc()}function yL(n,t){DZ.call(this,n,t)}function yN(n){NL(),OJ.call(this,n)}function yx(n,t){AL(n,n.length,t)}function y$(n,t){Ni(n,n.length,t)}function yD(n,t){return n.a.get(t)}function yR(n){this.a=CY(NP(n),229)}function yK(n){R$.call(this,n,21)}function yF(n,t){vS.call(this,n,t)}function y_(n,t){vS.call(this,n,t)}function yB(n,t){this.b=n,this.a=t}function yH(n,t){this.d=n,this.e=t}function yU(n,t){this.a=n,this.b=t}function yG(n,t){this.a=n,this.b=t}function yq(n,t){this.a=n,this.b=t}function yX(n,t){this.a=n,this.b=t}function yz(n,t){this.a=n,this.b=t}function yV(n,t){this.b=n,this.a=t}function yW(n,t){this.b=n,this.a=t}function yQ(n,t){vS.call(this,n,t)}function yJ(n,t){vS.call(this,n,t)}function yY(n,t){vS.call(this,n,t)}function yZ(n,t){vS.call(this,n,t)}function y1(n,t){vS.call(this,n,t)}function y0(n,t){vS.call(this,n,t)}function y2(n,t){vS.call(this,n,t)}function y3(n,t){this.b=n,this.a=t}function y4(n,t){vS.call(this,n,t)}function y6(n,t){this.b=n,this.a=t}function y5(n,t){vS.call(this,n,t)}function y8(n,t){this.b=n,this.a=t}function y9(n,t){vS.call(this,n,t)}function y7(n,t){vS.call(this,n,t)}function kn(n,t){vS.call(this,n,t)}function kt(n,t,e){n.splice(t,0,e)}function ke(n,t){vS.call(this,n,t)}function ki(n,t){vS.call(this,n,t)}function kr(n,t){vS.call(this,n,t)}function ka(n,t){vS.call(this,n,t)}function kc(n,t){vS.call(this,n,t)}function ko(n,t){vS.call(this,n,t)}function ku(n,t){this.a=n,this.b=t}function ks(n,t){this.a=n,this.b=t}function kh(n,t){this.a=n,this.b=t}function kf(n,t){this.a=n,this.b=t}function kl(n,t){this.a=n,this.b=t}function kb(n,t){this.a=n,this.b=t}function kw(n,t){this.b=n,this.a=t}function kd(n,t){this.b=n,this.a=t}function kg(n,t){this.b=n,this.a=t}function kp(n,t){this.c=n,this.d=t}function km(n,t){this.e=n,this.d=t}function kv(n,t){this.a=n,this.b=t}function ky(n,t){this.a=n,this.b=t}function kk(n,t){this.a=n,this.b=t}function kM(n,t){this.b=n,this.a=t}function kE(n,t){this.b=t,this.c=n}function kT(n,t){vS.call(this,n,t)}function kj(n,t){vS.call(this,n,t)}function kS(n,t){vS.call(this,n,t)}function kP(n,t){vS.call(this,n,t)}function kO(n,t){vS.call(this,n,t)}function kC(n,t){vS.call(this,n,t)}function kI(n,t){vS.call(this,n,t)}function kA(n,t){vS.call(this,n,t)}function kL(n,t){vS.call(this,n,t)}function kN(n,t){vS.call(this,n,t)}function kx(n,t){vS.call(this,n,t)}function k$(n,t){vS.call(this,n,t)}function kD(n,t){vS.call(this,n,t)}function kR(n,t){vS.call(this,n,t)}function kK(n,t){vS.call(this,n,t)}function kF(n,t){vS.call(this,n,t)}function k_(n,t){vS.call(this,n,t)}function kB(n,t){vS.call(this,n,t)}function kH(n,t){vS.call(this,n,t)}function kU(n,t){vS.call(this,n,t)}function kG(n,t){vS.call(this,n,t)}function kq(n,t){vS.call(this,n,t)}function kX(n,t){vS.call(this,n,t)}function kz(n,t){vS.call(this,n,t)}function kV(n,t){vS.call(this,n,t)}function kW(n,t){vS.call(this,n,t)}function kQ(n,t){vS.call(this,n,t)}function kJ(n,t){vS.call(this,n,t)}function kY(n,t){vS.call(this,n,t)}function kZ(n,t){vS.call(this,n,t)}function k1(n,t){vS.call(this,n,t)}function k0(n,t){vS.call(this,n,t)}function k2(n,t){vS.call(this,n,t)}function k3(n,t){this.b=n,this.a=t}function k4(n,t){vS.call(this,n,t)}function k6(n,t){this.a=n,this.b=t}function k5(n,t){this.a=n,this.b=t}function k8(n,t){this.a=n,this.b=t}function k9(n,t){vS.call(this,n,t)}function k7(n,t){vS.call(this,n,t)}function Mn(n,t){this.a=n,this.b=t}function Mt(n){return Px(n.a),n.b}function Me(n){return function(n,t){var e,i,r;for(e=new fU(n.a.a);e.a<e.c.c.length;)CY(RU(e),194).g=!0;for(r=new fU(n.a.b);r.a<r.c.c.length;)(i=CY(RU(r),86)).k=pT(PC(n.e.Kb(new Ea(i,t)))),i.d.g=i.d.g&pT(PC(n.e.Kb(new Ea(i,t))))}(n,n.c),n}function Mi(){CM(),this.a=new Ow}function Mr(){no$(),this.a=new dV}function Ma(){Re(),this.b=new dV}function Mc(n,t){this.b=n,this.d=t}function Mo(n,t){this.a=n,this.b=t}function Mu(n,t){this.a=n,this.b=t}function Ms(n,t){this.a=n,this.b=t}function Mh(n,t){this.b=n,this.a=t}function Mf(n,t){vS.call(this,n,t)}function Ml(n,t){vS.call(this,n,t)}function Mb(n,t){vS.call(this,n,t)}function Mw(n,t){vS.call(this,n,t)}function Md(n,t){vS.call(this,n,t)}function Mg(n,t){vS.call(this,n,t)}function Mp(n,t){vS.call(this,n,t)}function Mm(n,t){vS.call(this,n,t)}function Mv(n,t){vS.call(this,n,t)}function My(n,t){vS.call(this,n,t)}function Mk(n,t){vS.call(this,n,t)}function MM(n,t){vS.call(this,n,t)}function ME(n,t){vS.call(this,n,t)}function MT(n,t){vS.call(this,n,t)}function Mj(n,t){vS.call(this,n,t)}function MS(n,t){vS.call(this,n,t)}function MP(n,t){vS.call(this,n,t)}function MO(n,t){vS.call(this,n,t)}function MC(n,t){vS.call(this,n,t)}function MI(n,t){vS.call(this,n,t)}function MA(n,t){vS.call(this,n,t)}function ML(n,t){vS.call(this,n,t)}function MN(n,t){vS.call(this,n,t)}function Mx(n,t){vS.call(this,n,t)}function M$(n,t){this.b=n,this.a=t}function MD(n,t){this.b=n,this.a=t}function MR(n,t){this.b=n,this.a=t}function MK(n,t){this.b=n,this.a=t}function MF(n,t){this.a=n,this.b=t}function M_(n,t){this.a=n,this.b=t}function MB(n,t){this.a=n,this.b=t}function MH(n,t){this.a=n,this.b=t}function MU(n,t){vS.call(this,n,t)}function MG(n,t){vS.call(this,n,t)}function Mq(n,t){vS.call(this,n,t)}function MX(n,t){vS.call(this,n,t)}function Mz(n,t){vS.call(this,n,t)}function MV(n,t){vS.call(this,n,t)}function MW(n,t){vS.call(this,n,t)}function MQ(n,t){vS.call(this,n,t)}function MJ(n,t){vS.call(this,n,t)}function MY(n,t){vS.call(this,n,t)}function MZ(n,t){vS.call(this,n,t)}function M1(n,t){vS.call(this,n,t)}function M0(n,t){vS.call(this,n,t)}function M2(n,t){vS.call(this,n,t)}function M3(n,t){vS.call(this,n,t)}function M4(n,t){vS.call(this,n,t)}function M6(n,t){vS.call(this,n,t)}function M5(n,t){vS.call(this,n,t)}function M8(n,t){vS.call(this,n,t)}function M9(n,t){vS.call(this,n,t)}function M7(n,t){this.a=n,this.b=t}function En(n,t){this.a=n,this.b=t}function Et(n,t){this.a=n,this.b=t}function Ee(n,t){this.a=n,this.b=t}function Ei(n,t){this.a=n,this.b=t}function Er(n,t){this.a=n,this.b=t}function Ea(n,t){this.a=n,this.b=t}function Ec(n,t){this.a=n,this.b=t}function Eo(n,t){this.a=n,this.b=t}function Eu(n,t){this.a=n,this.b=t}function Es(n,t){this.a=n,this.b=t}function Eh(n,t){this.a=n,this.b=t}function Ef(n,t){this.a=n,this.b=t}function El(n,t){this.b=n,this.a=t}function Eb(n,t){this.b=n,this.a=t}function Ew(n,t){this.b=n,this.a=t}function Ed(n,t){this.b=n,this.a=t}function Eg(n,t){this.a=n,this.b=t}function Ep(n,t){this.a=n,this.b=t}function Em(n,t){vS.call(this,n,t)}function Ev(n,t){this.a=n,this.b=t}function Ey(n,t){this.a=n,this.b=t}function Ek(n,t){vS.call(this,n,t)}function EM(n,t){this.f=n,this.c=t}function EE(n,t){n.i=null,Xi(n,t)}function ET(n,t){var e,i;e=n.a,i=CY(t,12),CT(),jB(e,new Ea(i,Qx(i.e.c.length+i.g.c.length)))}function Ej(n,t){this.a=n,this.b=t}function ES(n,t){this.a=n,this.b=t}function EP(n,t){this.a=n,this.b=t}function EO(n,t){this.a=n,this.b=t}function EC(n,t){this.a=n,this.b=t}function EI(n,t){this.d=n,this.b=t}function EA(n,t){this.e=n,this.a=t}function EL(n,t){this.b=n,this.c=t}function EN(n,t){this.i=n,this.g=t}function Ex(n,t){this.d=n,this.e=t}function E$(n){return YI(n.c,n.b)}function ED(n){return n?n.md():null}function ER(n){return null==n?null:n}function EK(n){return typeof n===nl0}function EF(n){return typeof n===nlZ}function E_(n){return typeof n===nl1}function EB(n,t){return 0==Qv(n,t)}function EH(n,t){return Qv(n,t)>=0}function EU(n,t){return 0!=Qv(n,t)}function EG(n,t){var e=n.Kc(),i=t;for(NP(i);e.Ob();)if(!z3(CY(e.Pb(),10)))return!1;return!0}function Eq(n,t){return n.Rd().Xb(t)}function EX(n){return J8(n),n.d.gc()}function Ez(n){return IV(null==n),n}function EV(n,t){return n.a+=""+t,n}function EW(n,t){return n.a+=""+t,n}function EQ(n,t){return n.a+=""+t,n}function EJ(n,t){return n.a+=""+t,n}function EY(n,t){return n.a+=""+t,n}function EZ(n,t){return n.a+=""+t,n}function E1(n){LH(this),X7(this,n)}function E0(){D8(),AK.call(this)}function E2(n,t){Lr.call(this,n,t)}function E3(n,t){Lr.call(this,n,t)}function E4(n,t){Lr.call(this,n,t)}function E6(n,t){F_(n,t,n.c.b,n.c)}function E5(n,t){F_(n,t,n.a,n.a.a)}function E8(n){return RN(n,0),null}function E9(){this.b=0,this.a=!1}function E7(){this.b=0,this.a=!1}function Tn(){this.b=new vH(Ga(12))}function Tt(){Tt=T,nIR=W4(ZX())}function Te(){Te=T,nDO=W4(nok())}function Ti(){Ti=T,nXh=W4(zp())}function Tr(){Tr=T,dP(),nP5=new dc}function Ta(n){return n.a=0,n.b=0,n}function Tc(n,t){OR.call(this,n,t)}function To(n,t){P5.call(this,n,t)}function Tu(n,t){EN.call(this,n,t)}function Ts(n,t){SU.call(this,n,t)}function Th(n,t){zz.call(this,n,t)}function Tf(n,t){yE(),xM(n0C,n,t)}function Tl(n,t){n.q.setTime(KI(t))}function Tb(n,t){return Di(n.a,0,t)}function Tw(n){var t;return t=CY(n,74),$I(),DV(niU(t))==DV(niX(t))}function Td(n){return Dy((xf(n),n))}function Tg(n){return js(n.l,n.m,n.h)}function Tp(n,t){return n.indexOf(t)}function Tm(n,t){return n==t?0:n?1:-1}function Tv(n){return n<10?"0"+n:""+n}function Ty(n){return typeof n===nl1}function Tk(n){return H6(n.b.b,n,0)}function TM(){Ac.call(this,0,0,0,0)}function TE(){fW.call(this,new FF)}function TT(n,t){HM(n,0,n.length,t)}function Tj(n){this.a=(my(),new nOW),this.b=n}function TS(n){this.a=(my(),new nOW),this.b=n}function TP(n){this.a=n.a,this.b=n.b}function TO(n){this.a=n,sZ.call(this)}function TC(n){this.a=n,sZ.call(this)}function TI(){x4.call(this,0,0,0,0)}function TA(n){return zT(new xm,n)}function TL(n){return xx(CY(n,123))}function TN(n){return n.vh()&&n.wh()}function Tx(n){return n!=nZ1&&n!=nZ0}function T$(n){return n==nY8||n==nY9}function TD(n){return n==nZn||n==nY5}function TR(n){var t,e;return t=n.b.Kc(),e=n.a,NP(t),NP(e),new vk(t,e)}function TK(n,t){WH(n,t),G9(n,n.D)}function TF(n,t,e){G4(n,t),GW(n,e)}function T_(n,t,e){GY(n,t),GJ(n,e)}function TB(n,t,e){GZ(n,t),G1(n,e)}function TH(n,t,e){GQ(n,t),G2(n,e)}function TU(n,t,e){G0(n,t),G3(n,e)}function TG(n,t,e){PU.call(this,n,t,e)}function Tq(n){EM.call(this,n,!0)}function TX(){yF.call(this,"Tail",3)}function Tz(){yF.call(this,"Head",1)}function TV(n){nuY(),zt.call(this,n)}function TW(n){Ac.call(this,n,n,n,n)}function TQ(n){n.c=BJ(nPa,nl7,1,0,5,1)}function TJ(n){return n.b&&nhN(n),n.a}function TY(n){return n.b&&nhN(n),n.c}function TZ(n,t){P5.call(this,n.b,t)}function T1(n,t,e){NK(n.c[t.g],t.g,e)}function T0(n){Gd(n.Sf(),new lw(n))}function T2(n){return null!=n?XS(n):0}function T3(n){nlU(),dr.call(this,n)}function T4(n){this.a=n,Cq.call(this,n)}function T6(){T6=T,nP_.Math.log(2)}function T5(){T5=T,yy(),n2K=n0h}function T8(){T8=T,nqL=new J0(nLR)}function T9(){T9=T,new T7,new du}function T7(){new dc,new dc,new dc}function jn(n){this.a=n,vx.call(this,n)}function jt(n){this.a=n,vx.call(this,n)}function je(n,t){NA(),this.a=n,this.b=t}function ji(n,t){AO(n.c,n.c.length,t)}function jr(n){return n.a<n.c.c.length}function ja(n){return n.a<n.c.a.length}function jc(n,t){return n.a?n.b:t.We()}function jo(n,t){return n<t?-1:+(n>t)}function ju(n,t){return Qv(n,t)>0?n:t}function js(n,t,e){return{l:n,m:t,h:e}}function jh(n,t,e){return Y8(t,e,n.c)}function jf(n){$Z.call(this),this.b=n}function jl(n){Oh.call(this),this.a=n}function jb(){yF.call(this,"Range",2)}function jw(n){this.b=n,this.a=new du}function jd(n){this.b=new nZ,this.a=n}function jg(n){n.a=new D,n.c=new D}function jp(n){n.a=new dc,n.d=new dc}function jm(n){Rs(n,null),Rh(n,null)}function jv(n){return new MH(n.a,n.b)}function jy(n){return new MH(n.c,n.d)}function jk(n,t){return function(n,t,e){var i,r,a,c,o,u,s,h;if(0==e.gc())return!1;if(yP(),a=(o=CY(t,69).xk())?e:new Gk(e.gc()),noz(n.e,t)){if(t.Si())for(s=e.Kc();s.Ob();)!nhc(n,t,u=s.Pb(),jM(t,102)&&(CY(t,19).Bb&nwG)!=0)&&(r=Fy(t,u),a.Hc(r)||a.Fc(r));else if(!o)for(s=e.Kc();s.Ob();)r=Fy(t,u=s.Pb()),a.Fc(r)}else{if(e.gc()>1)throw new pN(nSg).e;for(c=0,h=nox(n.e.Dh(),t),i=CY(n.g,124);c<n.i;++c)if(r=i[c],h.am(r.Lk()))if(e.Hc(o?r:r.md()))return!1;else{for(s=e.Kc();s.Ob();)u=s.Pb(),CY(nnv(n,c,o?CY(u,76):Fy(t,u)),76);return!0}o||(r=Fy(t,e.Kc().Pb()),a.Fc(r))}return Nu(n,a)}(n.c,n.b,t)}function jM(n,t){return null!=n&&nnl(n,t)}function jE(n,t){return -1!=function(n,t){var e,i;for($A(t,"predicate"),i=0;n.Ob();i++)if(e=n.Pb(),t.Lb(e))return i;return -1}(n.Kc(),t)}function jT(n){return n.Ob()?n.Pb():null}function jj(n){this.b=($O(),new fH(n))}function jS(n){this.a=n,dc.call(this)}function jP(){SU.call(this,null,null)}function jO(){SG.call(this,null,null)}function jC(){vS.call(this,"INSTANCE",0)}function jI(){nep(),this.a=new noM(nI4)}function jA(n){return Za(n,0,n.length)}function jL(n,t){return null!=n.a.Bc(t)}function jN(n,t){nft(n),n.Gc(CY(t,15))}function jx(n,t){n.c&&(II(t),Dl(t))}function j$(n,t,e){return n.a[t.g][e.g]}function jD(n,t){return n.a[t.c.p][t.p]}function jR(n,t){return null!=n.a.Bc(t)}function jK(n,t){return n.a*t.a+n.b*t.b}function jF(n,t,e){n.a=1502^t,n.b=e^nw7}function j_(n,t){return n.a*=t,n.b*=t,n}function jB(n,t){return dk(n.c,t),!0}function jH(n,t,e){return NK(n.g,t,e),e}function jU(n,t,e){Ih.call(this,n,t,e)}function jG(n,t,e){jU.call(this,n,t,e)}function jq(n,t,e){If.call(this,n,t,e)}function jX(n,t,e){If.call(this,n,t,e)}function jz(n,t,e){jq.call(this,n,t,e)}function jV(n,t,e){jU.call(this,n,t,e)}function jW(n,t,e){jG.call(this,n,t,e)}function jQ(n,t,e){Ih.call(this,n,t,e)}function jJ(n,t,e){Ih.call(this,n,t,e)}function jY(n,t,e){jQ.call(this,n,t,e)}function jZ(n){n.j=BJ(nPA,nby,319,0,0,1)}function j1(){this.a=BJ(nPa,nl7,1,8,5,1)}function j0(){this.Bb|=256,this.Bb|=512}function j2(n){this.i=n,this.f=this.i.j}function j3(n){this.c=n,this.a=this.c.a}function j4(n,t){this.a=n,vx.call(this,t)}function j6(n,t){return function(n,t,e){try{var i=n,r=t,a=e;if(NP(r),a.Ob())for(EZ(r,xt(a.Pb()));a.Ob();)EZ(r,i.a),EZ(r,xt(a.Pb()))}catch(n){if(jM(n=Vt(n),606))throw new _N(n).e;throw n.e}return t}(n,new p2,t).a}function j5(n){if(!n)throw(new dN).e}function j8(n){if(!n)throw(new dx).e}function j9(){(j9=T)(),nCP=new F}function j7(){j7=T,yS(),n3e=new hG}function Sn(){Sn=T,nOY=new pm(null)}function St(n){n.a=CY(zA(n.b.a,4),129)}function Se(n){n.a=CY(zA(n.b.a,4),129)}function Si(n){n.b.Qb(),--n.d.f.d,Ak(n.d)}function Sr(n){this.a=n,fr.call(this,n.d)}function Sa(n,t){this.a=n,mn.call(this,t)}function Sc(n,t){this.a=n,mn.call(this,t)}function So(n,t){this.a=n,mn.call(this,t)}function Su(n,t){this.a=t,mn.call(this,n)}function Ss(n,t){this.a=t,FD.call(this,n)}function Sh(n,t){this.a=n,FD.call(this,t)}function Sf(n,t){this.a=t,v$.call(this,n)}function Sl(n,t){this.a=t,v$.call(this,n)}function Sb(n,t){return NP(t),new Sf(n,t)}function Sw(n,t){return new nrU(n.a,n.b,t)}function Sd(n,t,e){return n.indexOf(t,e)}function Sg(n,t){return n.lastIndexOf(t)}function Sp(n){return null==n?nbi:J2(n)}function Sm(n){fO.call(this,(xf(n),n))}function Sv(n){fO.call(this,(xf(n),n))}function Sy(n){h5.call(this,CY(NP(n),34))}function Sk(n){h5.call(this,CY(NP(n),34))}function SM(n){fW.call(this,new B6(n))}function SE(n){fF.call(this,n),this.a=n}function ST(n){fK.call(this,n),this.a=n}function Sj(n){p8.call(this,n),this.a=n}function SS(){jZ(this),$w(this),this.je()}function SP(n){this.a=n,fR.call(this,n)}function SO(n){return Px(null!=n.a),n.a}function SC(n,t){return jB(t.a,n.a),n.a}function SI(n,t){return jB(t.b,n.a),n.a}function SA(n,t){return jB(t.a,n.a),n.a}function SL(n,t,e){return zj(n,t,t,e),n}function SN(n,t){return++n.b,jB(n.a,t)}function Sx(n,t){return++n.b,H0(n.a,t)}function S$(n,t){return CY(_G(n.b,t),15)}function SD(n,t){return!!t&&n.b[t.g]==t}function SR(n){return jr(n.a)||jr(n.b)}function SK(n){return n.$H||(n.$H=++nCa)}function SF(){yc(),this.b=new l7(this)}function S_(){S_=T,nIF=new P5(ngn,0)}function SB(){SB=T,nOo=!1,nOu=!0}function SH(n){var t;t=n.a,n.a=n.b,n.b=t}function SU(n,t){yT(),this.a=n,this.b=t}function SG(n,t){yj(),this.b=n,this.c=t}function Sq(n,t){A_(),this.f=t,this.d=n}function SX(n,t){_z(t,n),this.d=n,this.c=t}function Sz(n,t){ZS.call(this,n,t,null)}function SV(n,t,e,i){Lu.call(this,n,t,e,i)}function SW(n){this.d=n,j2.call(this,n)}function SQ(n){this.c=n,j2.call(this,n)}function SJ(n){this.c=n,SW.call(this,n)}function SY(n){return qL(n,nbU),new Bf(n)}function SZ(n){return $_(),parseInt(n)||-1}function S1(n,t,e){return Sd(n,niT(t),e)}function S0(n,t){return new Oz(n,n.gc(),t)}function S2(n,t,e){n.fd(t).Rb(e)}function S3(n,t,e){CY(Uu(n,t),21).Fc(e)}function S4(n){jM(n,158)&&CY(n,158).pi()}function S6(n){C3.call(this,n,null,null)}function S5(n){vV(),this.b=n,this.a=!0}function S8(n){vW(),this.b=n,this.a=!0}function S9(n){return Px(0!=n.b),n.a.a.c}function S7(n){return Px(0!=n.b),n.c.b.c}function Pn(n,t){return!!n.q&&LR(n.q,t)}function Pt(n){return n.b=CY($g(n.a),44)}function Pe(n){return null!=n.f?n.f:""+n.g}function Pi(n,t){return CY(UC(n.a,t),34)}function Pr(n){n.d=new S6(n),n.e=new dc}function Pa(){this.a=new Ds,this.b=new Ds}function Pc(n){this.c=n,this.a=1,this.b=1}function Po(n){nlT(),this.b=new mt,this.Ff(n)}function Pu(n,t,e){return n.a+=t,n.b+=e,n}function Ps(n,t){return n.a=t.a,n.b=t.b,n}function Ph(n){return n.a=-n.a,n.b=-n.b,n}function Pf(n,t,e){return n.a-=t,n.b-=e,n}function Pl(n){vq.call(this),qC(this,n)}function Pb(){vS.call(this,"GROW_TREE",0)}function Pw(){vS.call(this,"POLYOMINO",0)}function Pd(n,t,e){Hs.call(this,n,t,e,2)}function Pg(n,t){yT(),SU.call(this,n,t)}function Pp(n,t){yj(),SG.call(this,n,t)}function Pm(n,t){yj(),Pp.call(this,n,t)}function Pv(n,t){yj(),SG.call(this,n,t)}function Py(n){this.c=n,GZ(n,0),G1(n,0)}function Pk(n,t){T5(),Ag.call(this,n,t)}function PM(n,t){T5(),Pk.call(this,n,t)}function PE(n,t){T5(),Pk.call(this,n,t)}function PT(n,t){T5(),Ag.call(this,n,t)}function Pj(n,t){T5(),PE.call(this,n,t)}function PS(n,t){T5(),PT.call(this,n,t)}function PP(n,t){T5(),Ag.call(this,n,t)}function PO(n,t){return Qk(n.e,CY(t,54))}function PC(n){return IV(null==n||EF(n)),n}function PI(n){return IV(null==n||E_(n)),n}function PA(n){return IV(null==n||EK(n)),n}function PL(n){null==n.o&&function(n){if(n.ze()){var t=n.c;t.Ae()?n.o="["+t.n:t.ze()?n.o="["+t.xe():n.o="[L"+t.xe()+";",n.b=t.we()+"[]",n.k=t.ye()+"[]";return}var e=n.j,i=n.d;n.o=Zn(".",[e,Zn("$",i=i.split("/"))]),n.b=Zn(".",[e,Zn(".",i)]),n.k=i[i.length-1]}(n)}function PN(n){if(!n)throw(new dN).e}function Px(n){if(!n)throw(new dF).e}function P$(n){if(!n)throw(new dx).e}function PD(n){if(!n)throw(new dR).e}function PR(){PR=T,n0O=new gS,new gP}function PK(){PK=T,nzA=new wX("root")}function PF(){qz.call(this),this.Bb|=nwG}function P_(n,t){this.d=n,this.c=this.d.d,this.b=t}function PB(n,t){B3.call(this,n),this.a=t}function PH(n,t){B3.call(this,n),this.a=t}function PU(n,t,e){Bc.call(this,n,t,e,null)}function PG(n,t,e){Bc.call(this,n,t,e,null)}function Pq(n,t){this.c=n,vg.call(this,n,t)}function PX(n,t){this.a=n,Pq.call(this,n,t)}function Pz(n){this.q=new nP_.Date(KI(n))}function PV(n){return CY(I0(n.a,n.b),294)}function PW(n){return new MH(n.c,n.d+n.a)}function PQ(n){return(xf(n),n)?1231:1237}function PJ(n){var t;return Rn(),(t=CY(n,203))==nGc||t==nGa}function PY(){PY=T,nIK=JP((YZ(),n1I))}function PZ(n,t,e){++n.j,n.tj(),BY(n,t,e)}function P1(n,t,e){++n.j,n.qj(t,n.Zi(t,e))}function P0(n,t){return $9(t,nd2),n.f=t,n}function P2(n,t){return(t&nl3)%n.d.length}function P3(n,t){this.c=n,Gk.call(this,t)}function P4(n,t){this.a=n,w1.call(this,t)}function P6(n,t){this.a=n,w1.call(this,t)}function P5(n,t){wX.call(this,n),this.a=t}function P8(n,t){w6.call(this,n),this.a=t}function P9(n,t){w6.call(this,n),this.a=t}function P7(n){YE.call(this,0,0),this.f=n}function On(n){return n.a||(n.a=new k),n.a}function Ot(n,t){var e;return e=n.e,n.e=t,e}function Oe(n,t){n.a.bd(n.b,t),++n.b,n.c=-1}function Oi(n){n.b?Oi(n.b):n.f.c.zc(n.e,n.d)}function Or(n){LH(n.e),n.d.b=n.d,n.d.a=n.d}function Oa(n,t,e){return LQ(n,CY(t,22),e)}function Oc(n,t){return Hk(Array(t),n)}function Oo(n){return String.fromCharCode(n)}function Ou(n,t,e,i){Ac.call(this,n,t,e,i)}function Os(){Oy.call(this),this.a=new mm}function Oh(){this.n=new mm,this.o=new mm}function Of(){this.b=new mm,this.c=new du}function Ol(){this.a=new du,this.b=new du}function Ob(){this.a=new tn,this.b=new dU}function Ow(){this.b=new FF,this.a=new FF}function Od(){this.b=new dV,this.a=new dV}function Og(){this.b=new dc,this.a=new dc}function Op(){this.b=new mG,this.a=new aS}function Om(){this.a=new hw,this.b=new rk}function Ov(){this.a=new du,this.d=new du}function Oy(){this.n=new gp,this.i=new TI}function Ok(n){this.a=(qL(n,nbU),new Bf(n))}function OM(n){this.a=(qL(n,nbU),new Bf(n))}function OE(n,t){return null==xM(n.a,t,"")}function OT(n,t){return n.a+=t.a,n.b+=t.b,n}function Oj(n,t){return n.a-=t.a,n.b-=t.b,n}function OS(n,t,e,i){Lk.call(this,n,t,e,i)}function OP(n,t,e,i){Lk.call(this,n,t,e,i)}function OO(n,t,e,i){OP.call(this,n,t,e,i)}function OC(n,t,e,i){LT.call(this,n,t,e,i)}function OI(n,t,e,i){LT.call(this,n,t,e,i)}function OA(n,t,e,i){LT.call(this,n,t,e,i)}function OL(n,t,e,i){OI.call(this,n,t,e,i)}function ON(n,t,e,i){OI.call(this,n,t,e,i)}function Ox(n,t,e,i){OA.call(this,n,t,e,i)}function O$(n,t,e,i){ON.call(this,n,t,e,i)}function OD(n,t,e,i){LI.call(this,n,t,e,i)}function OR(n,t){pC.call(this,njt+n+nTp+t)}function OK(n,t){return n.jk().wi().ri(n,t)}function OF(n,t){return n.jk().wi().ti(n,t)}function O_(n,t){return xf(n),ER(n)===ER(t)}function OB(n,t){return xf(n),ER(n)===ER(t)}function OH(n,t){return n.b.Bd(new yX(n,t))}function OU(n,t,e){return n.lastIndexOf(t,e)}function OG(n){return n.c?H6(n.c.a,n,0):-1}function Oq(n){return n==nZQ||n==nZY||n==nZJ}function OX(n,t){this.c=n,L0.call(this,n,t)}function Oz(n,t,e){this.a=n,SX.call(this,t,e)}function OV(n){this.c=n,E4.call(this,nbj,0)}function OW(n,t,e){this.c=t,this.b=e,this.a=n}function OQ(n){CT(),this.d=n,this.a=new j1}function OJ(n){Co(),this.a=($O(),new p8(n))}function OY(n,t){CZ.call(this,n,n.length,t)}function OZ(n,t){return jM(t,15)&&nup(n.c,t)}function O1(n,t,e){return CY(n.c,71).Xk(t,e)}function O0(n,t,e){var i;return i=CY(t,343),i.Al(n.e,n.c,e)}function O2(n,t,e){var i,r,a,c,o,u;return i=n,r=CY(t,343),a=e,c=r.Lk(),u=r.md(),o=c.Jk()?$6(i,4,c,u,null,nhv(i,c,u,jM(c,102)&&(CY(c,19).Bb&nwG)!=0),!0):$6(i,c.tk()?2:1,c,u,c.ik(),-1,!0),a?a.nj(o):a=o,a}function O3(n,t){return null==t?null:QH(n.b,t)}function O4(n){return E_(n)?(xf(n),n):n.ue()}function O6(n){return!isNaN(n)&&!isFinite(n)}function O5(n){jg(this),$p(this),Xx(this,n)}function O8(n){TQ(this),C6(this.c,0,n.Pc())}function O9(n,t,e){this.a=n,this.b=t,this.c=e}function O7(n,t,e){this.a=n,this.b=t,this.c=e}function Cn(n,t,e){this.d=n,this.b=e,this.a=t}function Ct(n){this.a=n,vX(),zF(Date.now())}function Ce(n){N6(n.a),BZ(n.c,n.b),n.b=null}function Ci(){Ci=T,nOQ=new R,nOJ=new K}function Cr(){Cr=T,n0P=BJ(nPa,nl7,1,0,5,1)}function Ca(){Ca=T,n2I=BJ(nPa,nl7,1,0,5,1)}function Cc(){Cc=T,n2A=BJ(nPa,nl7,1,0,5,1)}function Co(){Co=T,new dE(($O(),$O(),nO_))}function Cu(n,t){if(!n)throw new pN(t).e}function Cs(n){if(!n)throw new px(nbt).e}function Ch(n,t){if(n!=t)throw(new dR).e}function Cf(n,t,e){this.a=n,this.b=t,this.c=e}function Cl(n,t,e){this.a=n,this.b=t,this.c=e}function Cb(n,t,e){this.a=n,this.b=t,this.c=e}function Cw(n,t,e){this.b=n,this.a=t,this.c=e}function Cd(n,t,e){this.b=n,this.c=t,this.a=e}function Cg(n,t,e){this.a=n,this.b=t,this.c=e}function Cp(n,t,e){this.e=t,this.b=n,this.d=e}function Cm(n,t,e){this.b=n,this.a=t,this.c=e}function Cv(n){var t;return(t=new nv).e=n,t}function Cy(n){var t;return(t=new d7).b=n,t}function Ck(){Ck=T,n$N=new el,n$x=new eb}function CM(){CM=T,nDK=new e_,nDR=new eB}function CE(){CE=T,nDq=new iH,nDX=new iU}function CT(){CT=T,nf5(),nqw=n1y,nqd=n1n}function Cj(){Cj=T,n1X=new I_,n1z=new LS}function CS(n,t){this.c=n,this.a=t,this.b=t-n}function CP(n,t,e){this.a=n,this.b=t,this.c=e}function CO(n,t,e){this.a=n,this.b=t,this.c=e}function CC(n,t,e){this.a=n,this.b=t,this.c=e}function CI(n,t,e){this.a=n,this.b=t,this.c=e}function CA(n,t,e){this.a=n,this.b=t,this.c=e}function CL(n,t,e){this.a=n,this.b=t,this.c=e}function CN(n,t,e){this.e=n,this.a=t,this.c=e}function Cx(n,t,e){T5(),Df.call(this,n,t,e)}function C$(n,t,e){T5(),N0.call(this,n,t,e)}function CD(n,t,e){T5(),N0.call(this,n,t,e)}function CR(n,t,e){T5(),N0.call(this,n,t,e)}function CK(n,t,e){T5(),C$.call(this,n,t,e)}function CF(n,t,e){T5(),C$.call(this,n,t,e)}function C_(n,t,e){T5(),CF.call(this,n,t,e)}function CB(n,t,e){T5(),CD.call(this,n,t,e)}function CH(n,t,e){T5(),CR.call(this,n,t,e)}function CU(n){Ac.call(this,n.d,n.c,n.a,n.b)}function CG(n){Ac.call(this,n.d,n.c,n.a,n.b)}function Cq(n){var t;this.d=n,this.c=this.d.d,this.b=jM(t=n.d,15)?CY(t,15).ed():t.Kc()}function CX(n,t){return NP(n),NP(t),new vh(n,t)}function Cz(n,t){return NP(n),NP(t),new Iy(n,t)}function CV(n){return Px(0!=n.b),Gy(n,n.a.a)}function CW(n){var t;return UO(t=new du,n),t}function CQ(n){var t;return Xj(t=new dQ,n),t}function CJ(n){var t;return Xj(t=new vq,n),t}function CY(n,t){return IV(null==n||nnl(n,t)),n}function CZ(n,t,e){Li.call(this,t,e),this.a=n}function C1(n,t){this.c=n,this.b=t,this.a=!1}function C0(){this.a=";,;",this.b="",this.c=""}function C2(n,t,e){this.b=n,E2.call(this,t,e)}function C3(n,t,e){this.c=n,yH.call(this,t,e)}function C4(n,t,e){kp.call(this,n,t),this.b=e}function C6(n,t,e){naJ(e,0,n,t,e.length,!1)}function C5(n,t,e,i,r){n.b=t,n.c=e,n.d=i,n.a=r}function C8(n,t,e,i,r){n.d=t,n.c=e,n.a=i,n.b=r}function C9(n,t){if(!n)throw new pN(t).e}function C7(n,t){if(!n)throw new px(t).e}function In(n,t){if(!n)throw new pI(t).e}function It(n,t){return t&&N8(n,t.d)?t:null}function Ie(n){var t;return zC(js(~(t=Ty(n)?zB(n):n).l&nwO,~t.m&nwO,~t.h&nwC))}function Ii(n){return null!=n&&!J7(n,n0H,n0U)}function Ir(n,t,e,i,r){n.c=t,n.d=e,n.b=i,n.a=r}function Ia(n){var t,e;t=n.b,e=n.c,n.b=e,n.c=t}function Ic(n){var t,e;e=n.d,t=n.a,n.d=t,n.a=e}function Io(n,t){return t<0?n.g=-1:n.g=t,n}function Iu(n,t){var e,i;return e=n,(i=nP_.Math.sqrt(e.a*e.a+e.b*e.b))>0&&(e.a/=i,e.b/=i),n.a*=t,n.b*=t,n}function Is(n,t,e){Gm.call(this,t,e),this.d=n}function Ih(n,t,e){Ex.call(this,n,t),this.c=e}function If(n,t,e){Ex.call(this,n,t),this.c=e}function Il(n){Cc(),o1.call(this),this.ci(n)}function Ib(){Bu(),N3.call(this,(yM(),n2e))}function Iw(n){return nlU(),++n4c,new Ad(0,n)}function Id(){Id=T,$O(),n3r=new f_(nSw)}function Ig(){Ig=T,new nny((g1(),nPW),(gZ(),nPV))}function Ip(){Ip=T,nOb=BJ(nPO,nby,17,256,0,1)}function Im(){this.b=pj(PI(Z4((nsK(),nxb))))}function Iv(n){this.b=n,this.a=A1(this.b.a).Od()}function Iy(n,t){this.b=n,this.a=t,sZ.call(this)}function Ik(n,t){this.a=n,this.b=t,sZ.call(this)}function IM(n,t,e){this.a=n,Tu.call(this,t,e)}function IE(n,t,e){this.a=n,Tu.call(this,t,e)}function IT(n,t,e){U7(n,t,new NO(e))}function Ij(n,t,e){var i;return i=n[t],n[t]=e,i}function IS(n){return Hk(n.slice(),n)}function IP(n){var t;return t=n.n,n.a.b+t.d+t.a}function IO(n){var t;return t=n.n,n.e.b+t.d+t.a}function IC(n){var t;return t=n.n,n.e.a+t.b+t.c}function II(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function IA(n,t){return F_(n,t,n.c.b,n.c),!0}function IL(n,t){return neb(n,new kp(t.a,t.b))}function IN(n){return n.b.c.length-n.e.c.length}function Ix(n){return n.e.c.length-n.g.c.length}function I$(n){return n.e.c.length+n.g.c.length}function ID(n){return 0==n||isNaN(n)?n:n<0?-1:1}function IR(n,t,e,i){Zs.call(this,n,t,e,i,0,0)}function IK(n){Cc(),Il.call(this,n),this.a=-1}function IF(n,t){Li.call(this,t,1040),this.a=n}function I_(){M8.call(this,"COUNT_CHILDREN",0)}function IB(n,t){EL.call(this,n,t),this.a=this}function IH(n,t){var e;return(e=NS(n,t)).i=2,e}function IU(n,t){return++n.j,n.Cj(t)}function IG(n,t,e){return n.a=-1,S3(n,t.g,e),n}function Iq(n){return Gx(),BJ(nA9,ny3,40,n,0,1)}function IX(n){return n.e.Rd().gc()*n.c.Rd().gc()}function Iz(n,t,e){var i,r;return new OW((0>=(i=n)||0>(r=i-1)?new vJ:new PH(null,new _l(r+1,r)))._e(),e,t)}function IV(n){if(!n)throw new pL(null).e}function IW(n){if(n.c.e!=n.a)throw(new dR).e}function IQ(n){if(n.e.c!=n.b)throw(new dR).e}function IJ(n){for(NP(n);n.Ob();)n.Pb(),n.Qb()}function IY(n){NA(),this.a=($O(),new f_(NP(n)))}function IZ(n){this.c=n,this.b=this.c.d.vc().Kc()}function I1(n,t){return n.a+=Za(t,0,t.length),n}function I0(n,t){return RN(t,n.c.length),n.c[t]}function I2(n,t){return RN(t,n.a.length),n.a[t]}function I3(n,t,e,i,r,a){return function n(t,e,i,r,a,c,o){var u,s,h,f,l;if(f=a[c],l=ntf(u=(h=c==o-1)?r:0,f),10!=r&&Vw(DY(t,o-c),e[c],i[c],u,l),!h)for(++c,s=0;s<f;++s)l[s]=n(t,e,i,r,a,c,o);return l}(n,t,e,i,r,0,a)}function I4(n,t){var e,i;return e=CY(n,168),i=CY(t,168),ZE(JF(ZE(e.a).a,i.a))}function I6(){I6=T,nOd=BJ(nPC,nby,168,256,0,1)}function I5(){I5=T,nOy=BJ(nPI,nby,191,256,0,1)}function I8(){I8=T,nOh=BJ(nPT,nby,222,256,0,1)}function I9(){I9=T,nOl=BJ(nPj,nby,180,128,0,1)}function I7(){C5(this,!1,!1,!1,!1)}function An(n){fW.call(this,new FF),Xx(this,n)}function At(n){this.a=new vH(n.gc()),Xx(this,n)}function Ae(n){this.c=n,this.a=new vG(this.c.a)}function Ai(n){this.a=n,this.c=new dc,function(n){var t,e,i,r;for(e=n.a,i=0,r=e.length;i<r;++i)V2(n,t=e[i],(nf5(),n1m)),V2(n,t,n1t)}(this)}function Ar(){this.d=new MH(0,0),this.e=new dV}function Aa(n,t){vY(),B3.call(this,n),this.a=t}function Ac(n,t,e,i){C8(this,n,t,e,i)}function Ao(n,t,e){return nP_.Math.min(e/n,1/t)}function Au(n,t){return n?0:nP_.Math.max(0,t-1)}function As(n,t){return null==n?null==t:OB(n,t)}function Ah(n){return n.q?n.q:($O(),$O(),nOB)}function Af(n){return n.c-CY(I0(n.a,n.b),294).b}function Al(n){return n.c?n.c.f:n.e.b}function Ab(n){return n.c?n.c.g:n.e.a}function Aw(n,t){return nlU(),++n4c,new L5(n,t)}function Ad(n,t){nlU(),dr.call(this,n),this.a=t}function Ag(n,t){T5(),w5.call(this,t),this.a=n}function Ap(n,t,e){this.a=n,jU.call(this,t,e,2)}function Am(n){this.b=new vq,this.a=n,this.c=-1}function Av(n){SX.call(this,0,0),this.a=n,this.b=0}function Ay(n){Gk.call(this,n.gc()),Nu(this,n)}function Ak(n){n.b?Ak(n.b):n.d.dc()&&n.f.c.Bc(n.e)}function AM(n){return Array.isArray(n)&&n.Tm===E}function AE(n,t){return jM(t,22)&&SD(n,CY(t,22))}function AT(n,t){var e,i;return jM(t,22)&&(e=n,!!(i=CY(t,22))&&e.b[i.g]==i&&(NK(e.b,i.g,null),--e.c,!0))}function Aj(n,t){var e,i,r;return W2(n,t,(e=n,i=n.b.Ce(t),null==(r=e.a.get(i))?BJ(nPa,nl7,1,0,5,1):r))}function AS(n){return nc8(n,26)*nw8+nc8(n,27)*nw9}function AP(n,t){var e,i,r;return e=new Y,i=new f6(n),r=t,HZ(e,new f7(i),new nr,new ln(r),Vw(DY(nCi,1),nbG,108,0,[]))}function AO(n,t,e){WB(0,t,n.length),HM(n,0,t,e)}function AC(n,t,e){RL(t,n.c.length),kt(n.c,t,e)}function AI(n,t,e){var i;n&&((i=n.i).c=t,i.b=e)}function AA(n,t,e){var i;n&&((i=n.i).d=t,i.a=e)}function AL(n,t,e){var i;for(i=0;i<t;++i)n[i]=e}function AN(n,t){var e;return VW(e=JP(n),t),e}function Ax(n,t){OT(n.c,t),n.b.c+=t.a,n.b.d+=t.b}function A$(n,t){this.b=new vq,this.a=n,this.c=t}function AD(){this.b=new tb,this.c=new $Q(this)}function AR(){this.d=new ng,this.e=new $W(this)}function AK(){D8(),this.f=new vq,this.e=new vq}function AF(){Rn(),this.k=new dc,this.d=new dV}function A_(){A_=T,n15=new TZ((nl_(),nYm),0)}function AB(){AB=T,nPY=new Av(BJ(nPa,nl7,1,0,5,1))}function AH(n,t,e){this.a=n,jG.call(this,t,e,22)}function AU(n,t,e){this.a=n,jG.call(this,t,e,14)}function AG(n,t,e,i){T5(),Kr.call(this,n,t,e,i)}function Aq(n,t,e,i){T5(),Kr.call(this,n,t,e,i)}function AX(n,t,e){return n.a=-1,S3(n,t.g+1,e),n}function Az(n,t,e){return nsP(n,CY(t,54),7,e)}function AV(n,t,e){return nsP(n,CY(t,54),3,e)}function AW(n){return Ty(n)?0|n:mO(n)}function AQ(n){return nlU(),++n4c,new Dh(10,n,0)}function AJ(n){return n.f||(n.f=n.Dc())}function AY(n){return n.i||(n.i=n.bc())}function AZ(n){if(n.e.j!=n.d)throw(new dR).e}function A1(n){return n.c?n.c:n.c=n.Sd()}function A0(n){return n.d?n.d:n.d=n.Td()}function A2(n,t){return!function(n){var t,e;return n.b||(n.c=(e=n.e,!(t=n.a.qi(e.a))||!OB(nMI,YH((t.b||(t.b=new Pd((nlq(),n2S),n07,t)),t.b),"qualified"))),n.b=!0),n.c}(Ur(n,t))?null:t.zi()}function A3(n){return n.Qc(BJ(nPa,nl7,1,n.gc(),5,1))}function A4(n){return null!=n&&LB(n)&&n.Tm!==E}function A6(n){return!Array.isArray(n)&&n.Tm===E}function A5(n,t){return NP(t),n.a.Jd(t)&&!n.b.Jd(t)}function A8(n,t){return zC(ni9(Ty(n)?zB(n):n,t))}function A9(n,t){return zC(ncE(Ty(n)?zB(n):n,t))}function A7(n,t){var e,i,r,a,c,o;return zC((e=Ty(n)?zB(n):n,i=63&t,r=e.h&nwC,i<22?(o=r>>>i,c=e.m>>i|r<<22-i,a=e.l>>i|e.m<<22-i):i<44?(o=0,c=r>>>i-22,a=e.m>>i-22|e.h<<44-i):(o=0,c=0,a=r>>>i-44),js(a&nwO,c&nwO,o&nwC)))}function Ln(n,t){return Jj((xf(n),n),(xf(t),t))}function Lt(n){this.b=new Bf(11),this.a=($P(),n)}function Le(n){this.a=(AB(),nPY),this.d=CY(NP(n),51)}function Li(n,t){this.c=0,this.d=n,this.b=64|t|nbk}function Lr(n,t){this.e=n,this.d=(64&t)!=0?t|nbk:t}function La(n){this.b=null,this.a=($P(),n||nOG)}function Lc(n){jZ(this),this.g=n,$w(this),this.je()}function Lo(n){yO(),this.a=0,this.b=n-1,this.c=1}function Lu(n,t,e,i){this.a=n,Bc.call(this,n,t,e,i)}function Ls(n){n.d||(n.d=n.b.Kc(),n.c=n.b.gc())}function Lh(n,t){if(n<0||n>=t)throw(new gf).e}function Lf(n,t){return QW(n,(xf(t),new f2(t)))}function Ll(n,t){return QW(n,(xf(t),new f3(t)))}function Lb(n,t,e){return function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;if(i=t,u=e,n.b&&i.j==(nf5(),n1y)&&u.j==(nf5(),n1y)&&(m=i,i=u,u=m),LR(n.a,i)){if(vF(CY(NR(n.a,i),49),u))return 1}else xM(n.a,i,new dV);if(LR(n.a,u)){if(vF(CY(NR(n.a,u),49),i))return -1}else xM(n.a,u,new dV);if(LR(n.d,i)){if(vF(CY(NR(n.d,i),49),u))return -1}else xM(n.d,i,new dV);if(LR(n.d,u)){if(vF(CY(NR(n.a,u),49),i))return 1}else xM(n.d,u,new dV);if(i.j!=u.j)return v=i.j,y=u.j,-1==(p=jo(v.g,y.g))?nu3(n,u,i):nu3(n,i,u),p;if(0!=i.e.c.length&&0!=u.e.c.length){if(n.b&&0!=(p=W8(i,u)))return -1==p?nu3(n,u,i):1==p&&nu3(n,i,u),p;if((a=CY(I0(i.e,0),18).c.i)==(h=CY(I0(u.e,0),18).c.i))return(r=CY(niK(CY(I0(i.e,0),18),(nlF(),nK4)),17).a)>(s=CY(niK(CY(I0(u.e,0),18),nK4),17).a)?nu3(n,i,u):nu3(n,u,i),r<s?-1:+(r>s);for(w=n.c,d=0,g=w.length;d<g;++d){if((b=w[d])==a)return nu3(n,i,u),1;if(b==h)return nu3(n,u,i),-1}}if(0!=i.g.c.length&&0!=u.g.c.length)return(o=CY(niK(i,(nlF(),nK2)),10),l=CY(niK(u,nK2),10),n.e==(Zu(),nGI)&&o&&l&&Pn(o,nK4)&&Pn(l,nK4))?((r=CY(niK(o,nK4),17).a)>(s=CY(niK(l,nK4),17).a)?nu3(n,i,u):nu3(n,u,i),r<s?-1:+(r>s)):n.b&&0!=(p=W8(i,u))?(-1==p?nu3(n,u,i):1==p&&nu3(n,i,u),p):(c=0,f=0,Pn(CY(I0(i.g,0),18),nK4)&&(c=CY(niK(CY(I0(i.g,0),18),nK4),17).a),Pn(CY(I0(u.g,0),18),nK4)&&(f=CY(niK(CY(I0(i.g,0),18),nK4),17).a),o&&o==l)?pT(PC(niK(CY(I0(i.g,0),18),nFu)))&&!pT(PC(niK(CY(I0(u.g,0),18),nFu)))?(nu3(n,i,u),1):!pT(PC(niK(CY(I0(i.g,0),18),nFu)))&&pT(PC(niK(CY(I0(u.g,0),18),nFu)))?(nu3(n,u,i),-1):(c>f?nu3(n,i,u):nu3(n,u,i),c<f?-1:+(c>f)):(n.f&&(n.f._b(o)&&(c=CY(n.f.xc(o),17).a),n.f._b(l)&&(f=CY(n.f.xc(l),17).a)),c>f?nu3(n,i,u):nu3(n,u,i),c<f?-1:+(c>f));return 0!=i.e.c.length&&0!=u.g.c.length?(nu3(n,i,u),1):0!=i.g.c.length&&0!=u.e.c.length?(nu3(n,u,i),-1):Pn(i,(nlF(),nK4))&&Pn(u,nK4)?((r=CY(niK(i,nK4),17).a)>(s=CY(niK(u,nK4),17).a)?nu3(n,i,u):nu3(n,u,i),r<s?-1:+(r>s)):(nu3(n,u,i),-1)}(n,CY(t,12),CY(e,12))}function Lw(n){return X8(),0!=CY(n,12).g.c.length}function Ld(n){return X8(),0!=CY(n,12).e.c.length}function Lg(n,t,e){return nue(),za(n,t)&&za(n,e)}function Lp(n){return nap(),!n.Hc(nZ6)&&!n.Hc(nZ8)}function Lm(n){return Ty(n)?""+n:function n(t){var e,i,r,a;if(0==t.l&&0==t.m&&0==t.h)return"0";if(t.h==nwI&&0==t.m&&0==t.l)return"-9223372036854775808";if(t.h>>19!=0)return"-"+n(VL(t));for(i=t,r="";0!=i.l||0!=i.m||0!=i.h;){if(i=nfs(i,_R(nwN),!0),e=""+mO(nOe),0!=i.l||0!=i.m||0!=i.h)for(a=9-e.length;a>0;a--)e="0"+e;r=e+r}return r}(n)}function Lv(n){var t;for(t=n;t.f;)t=t.f;return t}function Ly(n,t,e,i){var r;(r=n.i).i=t,r.a=e,r.b=i}function Lk(n,t,e,i){jU.call(this,n,t,e),this.b=i}function LM(n,t,e,i,r){Hh.call(this,n,t,e,i,r,-1)}function LE(n,t,e,i,r){Hf.call(this,n,t,e,i,r,-1)}function LT(n,t,e,i){Ih.call(this,n,t,e),this.b=i}function Lj(n){EM.call(this,n,!1),this.a=!1}function LS(){M8.call(this,"LOOKAHEAD_LAYOUT",1)}function LP(n){this.b=n,SW.call(this,n),St(this)}function LO(n){this.b=n,SJ.call(this,n),Se(this)}function LC(n,t,e){this.a=n,OS.call(this,t,e,5,6)}function LI(n,t,e,i){this.b=n,jU.call(this,t,e,i)}function LA(n,t){this.b=n,fr.call(this,n.b),this.a=t}function LL(n){this.a=nng(n.a),this.b=new O8(n.b)}function LN(n,t){NA(),vC.call(this,n,QN(new pU(t)))}function Lx(n,t){return nlU(),++n4c,new N1(n,t,0)}function L$(n,t){return nlU(),++n4c,new N1(6,n,t)}function LD(n,t){for(xf(t);n.Ob();)t.Cd(n.Pb())}function LR(n,t){return EK(t)?$G(n,t):!!Aj(n.f,t)}function LK(n,t){return t.Vh()?Qk(n.b,CY(t,54)):t}function LF(n){return new Le(new Su(n.a.length,n.a))}function L_(n){return new MH(n.c+n.b/2,n.d+n.a/2)}function LB(n){return typeof n===nlY||typeof n===nl2}function LH(n){n.f=new Tj(n),n.i=new TS(n),++n.g}function LU(n){if(!n)throw(new dF).e;return n.d}function LG(n){var t;return Px(null!=(t=VJ(n))),t}function Lq(n,t){var e;return _z(t,e=n.a.gc()),e-t}function LX(n,t){return null==n.a.zc(t,n)}function Lz(n,t){return null==n.a.zc(t,(SB(),nOo))}function LV(n){var t,e;return new Aa(null,(t=n,function(n,t){if(0>n||n>t)throw new p6("fromIndex: 0, toIndex: "+n+ndi+t).e}(e=n.length,t.length),new IF(t,e)))}function LW(n,t,e){return function n(t,e,i){var r,a,c,o,u,s,h,f;return QY(i,t.b)||(t.b=i,c=new nW,o=CY(FB(xz(new Aa(null,new R$(i.f,16)),c),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCR),nCD]))),21),t.e=!0,t.f=!0,t.c=!0,t.d=!0,a=o.Hc((nno(),nIX)),r=o.Hc(nIz),a&&!r&&(t.f=!1),!a&&r&&(t.d=!1),a=o.Hc(nIq),r=o.Hc(nIV),a&&!r&&(t.c=!1),!a&&r&&(t.e=!1)),f=CY(t.a.Ve(e,i),42),s=CY(f.a,17).a,h=CY(f.b,17).a,u=!1,s<0?t.c||(u=!0):t.e||(u=!0),h<0?t.d||(u=!0):t.f||(u=!0),u?n(t,f,i):f}(n,CY(t,42),CY(e,176))}function LQ(n,t,e){return Xf(n.a,t),Ij(n.b,t.g,e)}function LJ(n,t,e,i){WB(t,e,n.length),function(n,t,e,i){var r;for(r=t;r<e;++r)n[r]=i}(n,t,e,i)}function LY(n,t){var e;for(e=0;e<t;++e)n[e]=!1}function LZ(n,t,e){nuY(),this.e=n,this.d=t,this.a=e}function L1(n,t,e){this.c=n,this.a=t,$O(),this.b=e}function L0(n,t){this.d=n,j2.call(this,n),this.e=t}function L2(n,t,e){return function(n,t,e){if(t<0)throw new pC(nME+t).e;t<n.j.c.length?_o(n.j,t,e):(Fo(n,t),jB(n.j,e))}(n,t.g,e),Xf(n.c,t),n}function L3(n){return n.j||(n.j=function(n,t){var e,i,r,a,c,o,u;if((e=t.qi(n.a))&&null!=(u=PA(YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),nSl)))){for(i=new du,a=ns7(u,"\\w"),c=0,o=a.length;c<o;++c)OB(r=a[c],"##other")?jB(i,"!##"+A2(n,GT(t.qk()))):OB(r,"##local")?i.c.push(null):OB(r,nSh)?jB(i,A2(n,GT(t.qk()))):dk(i.c,r);return i}return $O(),$O(),nO_}(n.g,n.b)),n.j}function L4(n){n.a=null,n.e=null,LH(n.b),n.d=0,++n.c}function L6(n){P$(-1!=n.b),_V(n.c,n.a=n.b),n.b=-1}function L5(n,t){dr.call(this,1),this.a=n,this.b=t}function L8(n,t){return 0>Qv(n,t)?-1:+(Qv(n,t)>0)}function L9(n,t){jN(n,jM(t,160)?t:CY(t,2036).Rl())}function L7(n,t){if(null==n)throw new pD(t).e}function Nn(n,t){return!!t&&Xx(n,t)}function Nt(n){return 0==n.e?n:new LZ(-n.e,n.d,n.a)}function Ne(n,t){F_(n.d,t,n.b.b,n.b),++n.a,n.c=null}function Ni(n,t,e){var i;for(i=0;i<t;++i)NK(n,i,e)}function Nr(n,t,e,i,r){for(;t<e;)i[r++]=xq(n,t++)}function Na(n,t,e,i,r){nim(n,CY(_G(t.k,e),15),e,i,r)}function Nc(n,t){vZ(xz(n.Oc(),new i9),new bu(t))}function No(n){return nP_.Math.abs(n.d.e-n.e.e)-n.a}function Nu(n,t){return n.Si()&&(t=DG(n,t)),n.Fi(t)}function Ns(n,t){return t=n.Yk(null,t),nip(n,null,t)}function Nh(n){var t;n?function n(t,e,i){var r,a,c,o,u,s,h;for(null==t.j&&($_(),t.j=function(n){var t;for(t=nP_.Math.min(n.length,5)-1;t>=0;t--)if(OB(n[t].d,"gA")||OB(n[t].d,"vz")){n.length>=t+1&&n.splice(0,t+1);break}return n}(nP6.me(t))),u=t.j,s=0,h=u.length;s<h;++s);for(null==t.k&&(t.k=BJ(nPp,nby,82,0,0,1)),r=t.k,a=0,c=r.length;a<c;++a)n(r[a],e," "+i);(o=t.f)&&n(o,e,i)}(n,(vX(),nOk),""):(t=(vX(),n))&&De(t,t.ie())}function Nf(n){this.d=(xf(n),n),this.a=0,this.c=nbj}function Nl(n,t){this.d=function(n){switch(n){case 0:return new gk;case 1:return new gv;case 2:return new gy;default:throw(new dN).e}}(n),this.c=t,this.a=.5*t}function Nb(n){$Z.call(this),this.a=n,jB(n.a,this)}function Nw(){FF.call(this),this.a=!0,this.b=!0}function Nd(){Nd=T,nP9=new fv(!1),nP7=new fv(!0)}function Ng(n){return n.g||(n.g=new hZ(n))}function Np(n){return n.k||(n.k=new h1(n))}function Nm(n){return n.k||(n.k=new h1(n))}function Nv(n){return n.f||(n.f=new Sr(n))}function Ny(n){return n.j||(n.j=new ff(n))}function Nk(n){return n.d||(n.d=new h8(n))}function NM(n,t,e){return nlU(),++n4c,new Rq(n,t,e)}function NE(n,t){return KO(t,n.c.b.c.gc()),new vs(n,t)}function NT(n,t){var e;return KO(t,e=n.a.gc()),e-1-t}function Nj(n,t,e){var i;return qi(e,i=NS(n,t)),i}function NS(n,t){var e;return(e=new VG).j=n,e.d=t,e}function NP(n){if(null==n)throw(new d$).e;return n}function NO(n){if(null==n)throw(new d$).e;this.a=n}function NC(n){dP(),this.b=new du,this.a=n,function(n,t){var e,i,r,a,c,o,u,s;for(a=0,e=new p3,c=!1;a<t.length;a++){if(Rx(a,t.length),32==(i=t.charCodeAt(a))){for(ZG(n,e,0),e.a+=" ",ZG(n,e,0);a+1<t.length&&(Rx(a+1,t.length),32==t.charCodeAt(a+1));)++a;continue}if(c){39==i?a+1<t.length&&(Rx(a+1,t.length),39==t.charCodeAt(a+1))?(e.a+=String.fromCharCode(i),++a):c=!1:e.a+=String.fromCharCode(i);continue}if(Tp("GyMLdkHmsSEcDahKzZv",niT(i))>0){ZG(n,e,0),e.a+=String.fromCharCode(i),ZG(n,e,r=function(n,t){var e,i;for(Rx(t,n.length),e=n.charCodeAt(t),i=t+1;i<n.length&&(Rx(i,n.length),n.charCodeAt(i)==e);)++i;return i-t}(t,a)),a+=r-1;continue}39==i?a+1<t.length&&(Rx(a+1,t.length),39==t.charCodeAt(a+1))?(e.a+="'",++a):c=!0:e.a+=String.fromCharCode(i)}for(ZG(n,e,0),u=0,o=!1,s=n.b.c.length;u<s;u++)V8(CY(I0(n.b,u),443))?!o&&u+1<s&&V8(CY(I0(n.b,u+1),443))&&(o=!0,CY(I0(n.b,u),443).a=!0):o=!1}(this,n)}function NI(n){this.b=n,this.a=CY(xh(this.b.a.e),227)}function NA(){NA=T,Co(),nPQ=new Dn(($O(),$O(),nO_))}function NL(){NL=T,Co(),nP0=new yN(($O(),$O(),nOH))}function NN(){var n,t,e,i,r,a,c,o,u,s,h,f;NN=T,yC(),n2c=n2W?CY(ncz((yM(),n2e),njz),2038):(Tf(nPl,new uY),Tf(n0W,new uj),Tf(n0X,new uD),Tf(n0J,new uz),Tf(n0Q,new uZ),Tf(n0Y,new u1),Tf(n0Z,new u0),Tf(n01,new u2),Tf(nL9,new u3),Tf(nL8,new ud),Tf(nL7,new ug),Tf(nLZ,new up),Tf(n02,new um),Tf(nNn,new uv),Tf(n03,new uy),Tf(n04,new uk),Tf(n0V,new uM),Tf(n0z,new uE),Tf(n07,new uT),Tf(n00,new uS),Tf(n06,new uP),Tf(nPE,new uO),Tf(DY(n4l,1),new uC),Tf(nPT,new uI),Tf(nPj,new uA),Tf(nPM,new uL),Tf(n4p,new uN),Tf(nPS,new ux),Tf(nNu,new u$),Tf(nNd,new uR),Tf(n2J,new uK),Tf(n08,new uF),Tf(nPP,new u_),Tf(nPO,new uB),Tf(nPc,new uH),Tf(nPC,new uU),Tf(nPu,new uG),Tf(n2Q,new uq),Tf(n4m,new uX),Tf(nPI,new uV),Tf(nPL,new uW),Tf(nNh,new uQ),Tf(n4v,new uJ),n=CY(jM(Db((yM(),n2e),njz),560)?Db(n2e,njz):new xv,560),n2W=!0,(t=n).gb||(t.gb=!0,t.b=zL(t,0),XL(t.b,18),XN(t.b,19),t.a=zL(t,1),XL(t.a,1),XN(t.a,2),XN(t.a,3),XN(t.a,4),XN(t.a,5),t.o=zL(t,2),XL(t.o,8),XL(t.o,9),XN(t.o,10),XN(t.o,11),XN(t.o,12),XN(t.o,13),XN(t.o,14),XN(t.o,15),XN(t.o,16),XN(t.o,17),XN(t.o,18),XN(t.o,19),XN(t.o,20),XN(t.o,21),XN(t.o,22),XN(t.o,23),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),t.p=zL(t,3),XL(t.p,2),XL(t.p,3),XL(t.p,4),XL(t.p,5),XN(t.p,6),XN(t.p,7),Ge(t.p),Ge(t.p),t.q=zL(t,4),XL(t.q,8),t.v=zL(t,5),XN(t.v,9),Ge(t.v),Ge(t.v),Ge(t.v),t.w=zL(t,6),XL(t.w,2),XL(t.w,3),XL(t.w,4),XN(t.w,5),t.B=zL(t,7),XN(t.B,1),Ge(t.B),Ge(t.B),Ge(t.B),t.Q=zL(t,8),XN(t.Q,0),Ge(t.Q),t.R=zL(t,9),XL(t.R,1),t.S=zL(t,10),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),t.T=zL(t,11),XN(t.T,10),XN(t.T,11),XN(t.T,12),XN(t.T,13),XN(t.T,14),Ge(t.T),Ge(t.T),t.U=zL(t,12),XL(t.U,2),XL(t.U,3),XN(t.U,4),XN(t.U,5),XN(t.U,6),XN(t.U,7),Ge(t.U),t.V=zL(t,13),XN(t.V,10),t.W=zL(t,14),XL(t.W,18),XL(t.W,19),XL(t.W,20),XN(t.W,21),XN(t.W,22),XN(t.W,23),t.bb=zL(t,15),XL(t.bb,10),XL(t.bb,11),XL(t.bb,12),XL(t.bb,13),XL(t.bb,14),XL(t.bb,15),XL(t.bb,16),XN(t.bb,17),Ge(t.bb),Ge(t.bb),t.eb=zL(t,16),XL(t.eb,2),XL(t.eb,3),XL(t.eb,4),XL(t.eb,5),XL(t.eb,6),XL(t.eb,7),XN(t.eb,8),XN(t.eb,9),t.ab=zL(t,17),XL(t.ab,0),XL(t.ab,1),t.H=zL(t,18),XN(t.H,0),XN(t.H,1),XN(t.H,2),XN(t.H,3),XN(t.H,4),XN(t.H,5),Ge(t.H),t.db=zL(t,19),XN(t.db,2),t.c=zN(t,20),t.d=zN(t,21),t.e=zN(t,22),t.f=zN(t,23),t.i=zN(t,24),t.g=zN(t,25),t.j=zN(t,26),t.k=zN(t,27),t.n=zN(t,28),t.r=zN(t,29),t.s=zN(t,30),t.t=zN(t,31),t.u=zN(t,32),t.fb=zN(t,33),t.A=zN(t,34),t.C=zN(t,35),t.D=zN(t,36),t.F=zN(t,37),t.G=zN(t,38),t.I=zN(t,39),t.J=zN(t,40),t.L=zN(t,41),t.M=zN(t,42),t.N=zN(t,43),t.O=zN(t,44),t.P=zN(t,45),t.X=zN(t,46),t.Y=zN(t,47),t.Z=zN(t,48),t.$=zN(t,49),t._=zN(t,50),t.cb=zN(t,51),t.K=zN(t,52)),(e=n).hb||(e.hb=!0,XC(e,"ecore"),XI(e,"ecore"),XA(e,njz),z8(e.fb,"E"),z8(e.L,"T"),z8(e.P,"K"),z8(e.P,"V"),z8(e.cb,"E"),B7($7(e.b),e.bb),B7($7(e.a),e.Q),B7($7(e.o),e.p),B7($7(e.p),e.R),B7($7(e.q),e.p),B7($7(e.v),e.q),B7($7(e.w),e.R),B7($7(e.B),e.Q),B7($7(e.R),e.Q),B7($7(e.T),e.eb),B7($7(e.U),e.R),B7($7(e.V),e.eb),B7($7(e.W),e.bb),B7($7(e.bb),e.eb),B7($7(e.eb),e.R),B7($7(e.db),e.R),Kd(e.b,n0W,njf,!1,!1,!0),XW(CY(GO($x(e.b),0),35),e.e,"iD",null,0,1,n0W,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.b),1),19),e.q,null,"eAttributeType",1,1,n0W,!0,!0,!1,!1,!0,!1,!0),Kd(e.a,n0X,nju,!1,!1,!0),XW(CY(GO($x(e.a),0),35),e._,nEU,null,0,1,n0X,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.a),1),19),e.ab,null,"details",0,-1,n0X,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.a),2),19),e.Q,CY(GO($x(e.Q),0),19),"eModelElement",0,1,n0X,!0,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.a),3),19),e.S,null,"contents",0,-1,n0X,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.a),4),19),e.S,null,"references",0,-1,n0X,!1,!1,!0,!1,!0,!1,!1),Kd(e.o,n0J,"EClass",!1,!1,!0),XW(CY(GO($x(e.o),0),35),e.e,"abstract",null,0,1,n0J,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.o),1),35),e.e,"interface",null,0,1,n0J,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.o),2),19),e.o,null,"eSuperTypes",0,-1,n0J,!1,!1,!0,!1,!0,!0,!1),ntN(CY(GO($x(e.o),3),19),e.T,CY(GO($x(e.T),0),19),"eOperations",0,-1,n0J,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.o),4),19),e.b,null,"eAllAttributes",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),5),19),e.W,null,"eAllReferences",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),6),19),e.W,null,"eReferences",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),7),19),e.b,null,"eAttributes",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),8),19),e.W,null,"eAllContainments",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),9),19),e.T,null,"eAllOperations",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),10),19),e.bb,null,"eAllStructuralFeatures",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),11),19),e.o,null,"eAllSuperTypes",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),12),19),e.b,null,"eIDAttribute",0,1,n0J,!0,!0,!1,!1,!1,!1,!0),ntN(CY(GO($x(e.o),13),19),e.bb,CY(GO($x(e.bb),7),19),"eStructuralFeatures",0,-1,n0J,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.o),14),19),e.H,null,"eGenericSuperTypes",0,-1,n0J,!1,!1,!0,!0,!1,!0,!1),ntN(CY(GO($x(e.o),15),19),e.H,null,"eAllGenericSuperTypes",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),nt$(s=qT(CY(GO($N(e.o),0),62),e.e,"isSuperTypeOf"),e.o,"someClass"),qT(CY(GO($N(e.o),1),62),e.I,"getFeatureCount"),nt$(s=qT(CY(GO($N(e.o),2),62),e.bb,njQ),e.I,"featureID"),nt$(s=qT(CY(GO($N(e.o),3),62),e.I,njJ),e.bb,njY),nt$(s=qT(CY(GO($N(e.o),4),62),e.bb,njQ),e._,"featureName"),qT(CY(GO($N(e.o),5),62),e.I,"getOperationCount"),nt$(s=qT(CY(GO($N(e.o),6),62),e.T,"getEOperation"),e.I,"operationID"),nt$(s=qT(CY(GO($N(e.o),7),62),e.I,njZ),e.T,nj1),nt$(s=qT(CY(GO($N(e.o),8),62),e.T,"getOverride"),e.T,nj1),nt$(s=qT(CY(GO($N(e.o),9),62),e.H,"getFeatureType"),e.bb,njY),Kd(e.p,n0Q,njl,!0,!1,!0),XW(CY(GO($x(e.p),0),35),e._,"instanceClassName",null,0,1,n0Q,!1,!0,!0,!0,!0,!1),i=$h(e.L),r=K$(),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),ncn(CY(GO($x(e.p),1),35),i,"instanceClass",n0Q,!0,!0,!1,!0),XW(CY(GO($x(e.p),2),35),e.M,nj0,null,0,1,n0Q,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.p),3),35),e._,"instanceTypeName",null,0,1,n0Q,!1,!0,!0,!0,!0,!1),ntN(CY(GO($x(e.p),4),19),e.U,CY(GO($x(e.U),3),19),"ePackage",0,1,n0Q,!0,!1,!1,!1,!0,!1,!1),ntN(CY(GO($x(e.p),5),19),e.db,null,nj2,0,-1,n0Q,!1,!1,!0,!0,!0,!1,!1),nt$(s=qT(CY(GO($N(e.p),0),62),e.e,nj3),e.M,nlY),qT(CY(GO($N(e.p),1),62),e.I,"getClassifierID"),Kd(e.q,n0Y,"EDataType",!1,!1,!0),XW(CY(GO($x(e.q),0),35),e.e,"serializable",nMC,0,1,n0Y,!1,!1,!0,!1,!0,!1),Kd(e.v,n0Z,"EEnum",!1,!1,!0),ntN(CY(GO($x(e.v),0),19),e.w,CY(GO($x(e.w),3),19),"eLiterals",0,-1,n0Z,!1,!1,!0,!0,!1,!1,!1),nt$(s=qT(CY(GO($N(e.v),0),62),e.w,nj4),e._,nTh),nt$(s=qT(CY(GO($N(e.v),1),62),e.w,nj4),e.I,nEH),nt$(s=qT(CY(GO($N(e.v),2),62),e.w,"getEEnumLiteralByLiteral"),e._,"literal"),Kd(e.w,n01,njb,!1,!1,!0),XW(CY(GO($x(e.w),0),35),e.I,nEH,null,0,1,n01,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.w),1),35),e.A,"instance",null,0,1,n01,!0,!1,!0,!1,!0,!1),XW(CY(GO($x(e.w),2),35),e._,"literal",null,0,1,n01,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.w),3),19),e.v,CY(GO($x(e.v),0),19),"eEnum",0,1,n01,!0,!1,!1,!1,!1,!1,!1),Kd(e.B,nL9,"EFactory",!1,!1,!0),ntN(CY(GO($x(e.B),0),19),e.U,CY(GO($x(e.U),2),19),"ePackage",1,1,nL9,!0,!1,!0,!1,!1,!1,!1),nt$(s=qT(CY(GO($N(e.B),0),62),e.S,"create"),e.o,"eClass"),nt$(s=qT(CY(GO($N(e.B),1),62),e.M,"createFromString"),e.q,"eDataType"),nt$(s,e._,"literalValue"),nt$(s=qT(CY(GO($N(e.B),2),62),e._,"convertToString"),e.q,"eDataType"),nt$(s,e.M,"instanceValue"),Kd(e.Q,nL8,nEp,!0,!1,!0),ntN(CY(GO($x(e.Q),0),19),e.a,CY(GO($x(e.a),2),19),"eAnnotations",0,-1,nL8,!1,!1,!0,!0,!1,!1,!1),nt$(s=qT(CY(GO($N(e.Q),0),62),e.a,"getEAnnotation"),e._,nEU),Kd(e.R,nL7,nEm,!0,!1,!0),XW(CY(GO($x(e.R),0),35),e._,nTh,null,0,1,nL7,!1,!1,!0,!1,!0,!1),Kd(e.S,nLZ,"EObject",!1,!1,!0),qT(CY(GO($N(e.S),0),62),e.o,"eClass"),qT(CY(GO($N(e.S),1),62),e.e,"eIsProxy"),qT(CY(GO($N(e.S),2),62),e.X,"eResource"),qT(CY(GO($N(e.S),3),62),e.S,"eContainer"),qT(CY(GO($N(e.S),4),62),e.bb,"eContainingFeature"),qT(CY(GO($N(e.S),5),62),e.W,"eContainmentFeature"),s=qT(CY(GO($N(e.S),6),62),null,"eContents"),i=$h(e.fb),r=$h(e.S),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),(c=niM(s,i,null))&&c.oj(),s=qT(CY(GO($N(e.S),7),62),null,"eAllContents"),i=$h(e.cb),r=$h(e.S),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),(o=niM(s,i,null))&&o.oj(),s=qT(CY(GO($N(e.S),8),62),null,"eCrossReferences"),i=$h(e.fb),r=$h(e.S),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),(u=niM(s,i,null))&&u.oj(),nt$(s=qT(CY(GO($N(e.S),9),62),e.M,"eGet"),e.bb,njY),nt$(s=qT(CY(GO($N(e.S),10),62),e.M,"eGet"),e.bb,njY),nt$(s,e.e,"resolve"),nt$(s=qT(CY(GO($N(e.S),11),62),null,"eSet"),e.bb,njY),nt$(s,e.M,"newValue"),nt$(s=qT(CY(GO($N(e.S),12),62),e.e,"eIsSet"),e.bb,njY),nt$(s=qT(CY(GO($N(e.S),13),62),null,"eUnset"),e.bb,njY),nt$(s=qT(CY(GO($N(e.S),14),62),e.M,"eInvoke"),e.T,nj1),i=$h(e.fb),r=K$(),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),ne_(s,i,"arguments"),h=s,f=e.K,B7((h.a||(h.a=new P6(h,h)),h.a),f),Kd(e.T,n02,njd,!1,!1,!0),ntN(CY(GO($x(e.T),0),19),e.o,CY(GO($x(e.o),3),19),nj6,0,1,n02,!0,!1,!1,!1,!1,!1,!1),ntN(CY(GO($x(e.T),1),19),e.db,null,nj2,0,-1,n02,!1,!1,!0,!0,!0,!1,!1),ntN(CY(GO($x(e.T),2),19),e.V,CY(GO($x(e.V),0),19),"eParameters",0,-1,n02,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.T),3),19),e.p,null,"eExceptions",0,-1,n02,!1,!1,!0,!1,!0,!0,!1),ntN(CY(GO($x(e.T),4),19),e.H,null,"eGenericExceptions",0,-1,n02,!1,!1,!0,!0,!1,!0,!1),qT(CY(GO($N(e.T),0),62),e.I,njZ),nt$(s=qT(CY(GO($N(e.T),1),62),e.e,"isOverrideOf"),e.T,"someOperation"),Kd(e.U,nNn,"EPackage",!1,!1,!0),XW(CY(GO($x(e.U),0),35),e._,"nsURI",null,0,1,nNn,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.U),1),35),e._,"nsPrefix",null,0,1,nNn,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.U),2),19),e.B,CY(GO($x(e.B),0),19),"eFactoryInstance",1,1,nNn,!0,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.U),3),19),e.p,CY(GO($x(e.p),4),19),"eClassifiers",0,-1,nNn,!1,!1,!0,!0,!0,!1,!1),ntN(CY(GO($x(e.U),4),19),e.U,CY(GO($x(e.U),5),19),"eSubpackages",0,-1,nNn,!1,!1,!0,!0,!0,!1,!1),ntN(CY(GO($x(e.U),5),19),e.U,CY(GO($x(e.U),4),19),"eSuperPackage",0,1,nNn,!0,!1,!1,!1,!0,!1,!1),nt$(s=qT(CY(GO($N(e.U),0),62),e.p,"getEClassifier"),e._,nTh),Kd(e.V,n03,njg,!1,!1,!0),ntN(CY(GO($x(e.V),0),19),e.T,CY(GO($x(e.T),2),19),"eOperation",0,1,n03,!0,!1,!1,!1,!1,!1,!1),Kd(e.W,n04,njp,!1,!1,!0),XW(CY(GO($x(e.W),0),35),e.e,"containment",null,0,1,n04,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.W),1),35),e.e,"container",null,0,1,n04,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.W),2),35),e.e,"resolveProxies",nMC,0,1,n04,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.W),3),19),e.W,null,"eOpposite",0,1,n04,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.W),4),19),e.o,null,"eReferenceType",1,1,n04,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.W),5),19),e.b,null,"eKeys",0,-1,n04,!1,!1,!0,!1,!0,!1,!1),Kd(e.bb,n0V,njh,!0,!1,!0),XW(CY(GO($x(e.bb),0),35),e.e,"changeable",nMC,0,1,n0V,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),1),35),e.e,"volatile",null,0,1,n0V,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),2),35),e.e,"transient",null,0,1,n0V,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),3),35),e._,"defaultValueLiteral",null,0,1,n0V,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),4),35),e.M,nj0,null,0,1,n0V,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.bb),5),35),e.e,"unsettable",null,0,1,n0V,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),6),35),e.e,"derived",null,0,1,n0V,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.bb),7),19),e.o,CY(GO($x(e.o),13),19),nj6,0,1,n0V,!0,!1,!1,!1,!1,!1,!1),qT(CY(GO($N(e.bb),0),62),e.I,njJ),s=qT(CY(GO($N(e.bb),1),62),null,"getContainerClass"),i=$h(e.L),r=K$(),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),(a=niM(s,i,null))&&a.oj(),Kd(e.eb,n0z,njs,!0,!1,!0),XW(CY(GO($x(e.eb),0),35),e.e,"ordered",nMC,0,1,n0z,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.eb),1),35),e.e,"unique",nMC,0,1,n0z,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.eb),2),35),e.I,"lowerBound",null,0,1,n0z,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.eb),3),35),e.I,"upperBound","1",0,1,n0z,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.eb),4),35),e.e,"many",null,0,1,n0z,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.eb),5),35),e.e,"required",null,0,1,n0z,!0,!0,!1,!1,!0,!0),ntN(CY(GO($x(e.eb),6),19),e.p,null,"eType",0,1,n0z,!1,!0,!0,!1,!0,!0,!1),ntN(CY(GO($x(e.eb),7),19),e.H,null,"eGenericType",0,1,n0z,!1,!0,!0,!0,!1,!0,!1),Kd(e.ab,nPl,"EStringToStringMapEntry",!1,!1,!1),XW(CY(GO($x(e.ab),0),35),e._,"key",null,0,1,nPl,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.ab),1),35),e._,nEH,null,0,1,nPl,!1,!1,!0,!1,!0,!1),Kd(e.H,n00,njw,!1,!1,!0),ntN(CY(GO($x(e.H),0),19),e.H,null,"eUpperBound",0,1,n00,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.H),1),19),e.H,null,"eTypeArguments",0,-1,n00,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.H),2),19),e.p,null,"eRawType",1,1,n00,!0,!1,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.H),3),19),e.H,null,"eLowerBound",0,1,n00,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.H),4),19),e.db,null,"eTypeParameter",0,1,n00,!1,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.H),5),19),e.p,null,"eClassifier",0,1,n00,!1,!1,!0,!1,!0,!1,!1),nt$(s=qT(CY(GO($N(e.H),0),62),e.e,nj3),e.M,nlY),Kd(e.db,n06,njm,!1,!1,!0),ntN(CY(GO($x(e.db),0),19),e.H,null,"eBounds",0,-1,n06,!1,!1,!0,!0,!1,!1,!1),x_(e.c,nPN,"EBigDecimal",!0),x_(e.d,nPx,"EBigInteger",!0),x_(e.e,n4h,"EBoolean",!0),x_(e.f,nPE,"EBooleanObject",!0),x_(e.i,n4l,"EByte",!0),x_(e.g,DY(n4l,1),"EByteArray",!0),x_(e.j,nPT,"EByteObject",!0),x_(e.k,n4u,"EChar",!0),x_(e.n,nPj,"ECharacterObject",!0),x_(e.r,nPM,"EDate",!0),x_(e.s,n4p,"EDiagnosticChain",!1),x_(e.t,n4b,"EDouble",!0),x_(e.u,nPS,"EDoubleObject",!0),x_(e.fb,nNu,"EEList",!1),x_(e.A,nNd,"EEnumerator",!1),x_(e.C,n2J,"EFeatureMap",!1),x_(e.D,n08,"EFeatureMapEntry",!1),x_(e.F,n4w,"EFloat",!0),x_(e.G,nPP,"EFloatObject",!0),x_(e.I,n4s,"EInt",!0),x_(e.J,nPO,"EIntegerObject",!0),x_(e.L,nPc,"EJavaClass",!0),x_(e.M,nPa,"EJavaObject",!0),x_(e.N,n4f,"ELong",!0),x_(e.O,nPC,"ELongObject",!0),x_(e.P,nPu,"EMap",!1),x_(e.X,n2Q,"EResource",!1),x_(e.Y,n4m,"EResourceSet",!1),x_(e.Z,n4d,"EShort",!0),x_(e.$,nPI,"EShortObject",!0),x_(e._,nPL,"EString",!0),x_(e.cb,nNh,"ETreeIterator",!1),x_(e.K,n4v,"EInvocationTargetException",!1),Ql(e,njz)),xM((yp(),n2r),n,new uw),Rr(n2e,njz,n),n),nlq(),n2u&&function(){var n,t,e;for(yC(),ncY((t=(NN(),n2c)).c,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#decimal"])),ncY(t.d,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#integer"])),ncY(t.e,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#boolean"])),ncY(t.f,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EBoolean",nTh,"EBoolean:Object"])),ncY(t.i,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#byte"])),ncY(t.g,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#hexBinary"])),ncY(t.j,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EByte",nTh,"EByte:Object"])),ncY(t.n,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EChar",nTh,"EChar:Object"])),ncY(t.t,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#double"])),ncY(t.u,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EDouble",nTh,"EDouble:Object"])),ncY(t.F,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#float"])),ncY(t.G,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EFloat",nTh,"EFloat:Object"])),ncY(t.I,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#int"])),ncY(t.J,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EInt",nTh,"EInt:Object"])),ncY(t.N,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#long"])),ncY(t.O,njK,Vw(DY(nPL,1),nby,2,6,[njW,"ELong",nTh,"ELong:Object"])),ncY(t.Z,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#short"])),ncY(t.$,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EShort",nTh,"EShort:Object"])),ncY(t._,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#string"])),ncY((e=n2c).b,njz,Vw(DY(nPL,1),nby,2,6,[njV,"ConsistentTransient"])),ncY(e.a,njz,Vw(DY(nPL,1),nby,2,6,[njV,"WellFormedSourceURI"])),ncY(e.o,njz,Vw(DY(nPL,1),nby,2,6,[njV,"InterfaceIsAbstract AtMostOneID UniqueFeatureNames UniqueOperationSignatures NoCircularSuperTypes WellFormedMapEntryClass ConsistentSuperTypes DisjointFeatureAndOperationSignatures"])),ncY(e.p,njz,Vw(DY(nPL,1),nby,2,6,[njV,"WellFormedInstanceTypeName UniqueTypeParameterNames"])),ncY(e.v,njz,Vw(DY(nPL,1),nby,2,6,[njV,"UniqueEnumeratorNames UniqueEnumeratorLiterals"])),ncY(e.R,njz,Vw(DY(nPL,1),nby,2,6,[njV,"WellFormedName"])),ncY(e.T,njz,Vw(DY(nPL,1),nby,2,6,[njV,"UniqueParameterNames UniqueTypeParameterNames NoRepeatingVoid"])),ncY(e.U,njz,Vw(DY(nPL,1),nby,2,6,[njV,"WellFormedNsURI WellFormedNsPrefix UniqueSubpackageNames UniqueClassifierNames UniqueNsURIs"])),ncY(e.W,njz,Vw(DY(nPL,1),nby,2,6,[njV,"ConsistentOpposite SingleContainer ConsistentKeys ConsistentUnique ConsistentContainer"])),ncY(e.bb,njz,Vw(DY(nPL,1),nby,2,6,[njV,"ValidDefaultValueLiteral"])),ncY(e.eb,njz,Vw(DY(nPL,1),nby,2,6,[njV,"ValidLowerBound ValidUpperBound ConsistentBounds ValidType"])),ncY(e.H,njz,Vw(DY(nPL,1),nby,2,6,[njV,"ConsistentType ConsistentBounds ConsistentArguments"])),ntL(n2c),nlq(),n2$=n2p,n=new fU(n2V);n.a<n.c.c.length;)nfH(CY(RU(n),248),n2p,null)}()}function Nx(n){n.s=NaN,n.c=NaN,ncc(n,n.e),ncc(n,n.j)}function N$(n){return(null==n.i&&nhr(n),n.i).length}function ND(n,t){return CY(A1(n.a).Md().Xb(t),44).ld()}function NR(n,t){return EK(t)?Db(n,t):ED(Aj(n.f,t))}function NK(n,t,e){if(!(null==e||function(n,t){var e;switch(UR(n)){case 6:return EK(t);case 7:return E_(t);case 8:return EF(t);case 3:return Array.isArray(t)&&!((e=UR(t))>=14&&e<=16);case 11:return null!=t&&typeof t===nl2;case 12:return null!=t&&(typeof t===nlY||typeof t==nl2);case 0:return nnl(t,n.__elementTypeId$);case 2:return LB(t)&&t.Tm!==E;case 1:return LB(t)&&t.Tm!==E||nnl(t,n.__elementTypeId$);default:return!0}}(n,e)))throw(new dA).e;return n[t]=e}function NF(n,t){return Rx(t,n.length+1),n.substr(t)}function N_(n,t){for(xf(t);n.c<n.d;)n.Se(t,n.c++)}function NB(n){this.d=n,this.c=n.a.d.a,this.b=n.a.e.g}function NH(n){this.c=n,this.a=new vq,this.b=new vq}function NU(n){this.c=new mm,this.a=new du,this.b=n}function NG(n){this.b=new du,this.a=new du,this.c=n}function Nq(n,t){var e;e=n.a.length,UA(n,e),FO(n,e,t)}function NX(n,t){console[n].call(console,t)}function Nz(n,t){var e;++n.j,e=n.Ej(),n.rj(n.Zi(e,t))}function NV(n,t,e){var i;return i=Xp(n,t,e),nuF(n,i)}function NW(n){return n.d||(n.d=new jU(n00,n,1)),n.d}function NQ(n,t){return n.a+=String.fromCharCode(t),n}function NJ(n,t){return n.a+=String.fromCharCode(t),n}function NY(n,t,e){this.a=n,w6.call(this,t),this.b=e}function NZ(n,t,e){this.a=n,KJ.call(this,8,t,null,e)}function N1(n,t,e){dr.call(this,n),this.a=t,this.b=e}function N0(n,t,e){w5.call(this,t),this.a=n,this.b=e}function N2(n){this.c=n,this.b=this.c.a,this.a=this.c.e}function N3(n){this.a=(xf(njK),njK),this.b=n,new g$}function N4(n){xJ(n.a),n.b=BJ(nPa,nl7,1,n.b.length,5,1)}function N6(n){P$(-1!=n.c),n.d.gd(n.c),n.b=n.c,n.c=-1}function N5(n){return nP_.Math.sqrt(n.a*n.a+n.b*n.b)}function N8(n,t){return ntx(n.c,n.f,t,n.b,n.a,n.e,n.d)}function N9(n,t){return Lh(t,n.a.c.length),I0(n.a,t)}function N7(n,t){return ER(n)===ER(t)||null!=n&&QY(n,t)}function xn(n){return jM(n,102)&&(CY(n,19).Bb&nEI)!=0}function xt(n){return xh(n),jM(n,484)?CY(n,484):J2(n)}function xe(n){return n?n.dc():!n.Kc().Ob()}function xi(n){return!n.a&&n.c?n.c.b:n.a}function xr(n){return jM(n,616)?n:new Dk(n)}function xa(n){n.c?xa(n.c):(JC(n),n.d=!0)}function xc(n){n.c?n.c.$e():(n.d=!0,function(n){var t,e,i,r,a,c,o;if(a=new du,Gd(n.b,new ls(a)),n.b.c.length=0,0!=a.c.length){for(RN(0,a.c.length),t=CY(a.c[0],82),e=1,i=a.c.length;e<i;++e){RN(e,a.c.length),(r=CY(a.c[e],82))!=t&&(c=t,L7(o=r,"Cannot suppress a null exception."),C9(o!=c,"Exception can not suppress itself."),c.i||(null==c.k?c.k=Vw(DY(nPp,1),nby,82,0,[o]):c.k[c.k.length]=o))}if(jM(t,63))throw CY(t,63).e;if(jM(t,296))throw CY(t,296).e}}(n))}function xo(n){n.b=!1,n.c=!1,n.d=!1,n.a=!1}function xu(n){return n.c.i.c==n.d.i.c}function xs(n,t){n.c<0||n.b.b<n.c?E6(n.b,t):n.a.tf(t)}function xh(n){if(null==n)throw(new d$).e;return n}function xf(n){if(null==n)throw(new d$).e;return n}function xl(n){return n.b||(n.b=new w8(new gR)),n.b}function xb(n){return -2==n.c&&(n.c=function(n,t){var e,i,r;if((e=t.qi(n.a))&&null!=(r=YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),njF))){for(i=1;i<(nrR(),n25).length;++i)if(OB(n25[i],r))return i}return 0}(n.g,n.b)),n.c}function xw(n,t){var e;return(e=NS("",n)).n=t,e.i=1,e}function xd(n,t,e,i){vj.call(this,n,e),this.a=t,this.f=i}function xg(n,t,e,i){vj.call(this,n,t),this.d=e,this.a=i}function xp(n,t){var e,i,r;jj.call(this,(e=NP(n),i=NP(t),$O(),r=new vH(1),EK(e)?Rr(r,e,i):nr3(r.f,e,i),new fH(r))),this.a=t}function xm(){gV.call(this),dG(this.j.c,0),this.a=-1}function xv(){var n;ni$.call(this,njz,(mT(),n2a)),n=this,n.b=null,n.a=null,n.o=null,n.q=null,n.v=null,n.w=null,n.B=null,n.p=null,n.Q=null,n.R=null,n.S=null,n.T=null,n.U=null,n.V=null,n.W=null,n.bb=null,n.eb=null,n.ab=null,n.H=null,n.db=null,n.c=null,n.d=null,n.f=null,n.n=null,n.r=null,n.s=null,n.u=null,n.G=null,n.J=null,n.e=null,n.j=null,n.i=null,n.g=null,n.k=null,n.t=null,n.F=null,n.I=null,n.L=null,n.M=null,n.O=null,n.P=null,n.$=null,n.N=null,n.Z=null,n.cb=null,n.K=null,n.D=null,n.A=null,n.C=null,n._=null,n.fb=null,n.X=null,n.Y=null,n.gb=!1,n.hb=!1}function xy(){var n;ni$.call(this,nSb,(mj(),n3h)),n=this,n.b=null,n.bb=null,n.fb=null,n.qb=null,n.a=null,n.c=null,n.d=null,n.e=null,n.f=null,n.n=null,n.M=null,n.L=null,n.Q=null,n.R=null,n.K=null,n.db=null,n.eb=null,n.g=null,n.i=null,n.j=null,n.k=null,n.gb=null,n.o=null,n.p=null,n.q=null,n.r=null,n.$=null,n.ib=null,n.S=null,n.T=null,n.t=null,n.s=null,n.u=null,n.v=null,n.w=null,n.B=null,n.A=null,n.C=null,n.D=null,n.F=null,n.G=null,n.H=null,n.I=null,n.J=null,n.P=null,n.Z=null,n.U=null,n.V=null,n.W=null,n.X=null,n.Y=null,n._=null,n.ab=null,n.cb=null,n.hb=null,n.nb=null,n.lb=null,n.mb=null,n.ob=null,n.pb=null,n.jb=null,n.kb=null,n.N=!1,n.O=!1}function xk(){vS.call(this,"DELAUNAY_TRIANGULATION",0)}function xM(n,t,e){return EK(t)?Rr(n,t,e):nr3(n.f,t,e)}function xE(n){return $O(),n?n.Oe():($P(),$P(),nOX)}function xT(n,t){return Ig(),new nny(new Sk(n),new Sy(t))}function xj(){xj=T,nPJ=new ps(Vw(DY(nPl,1),nbL,44,0,[]))}function xS(n){return n.d||(n.d=new fF(n.c.Cc())),n.d}function xP(n){return n.a||(n.a=new p9(n.c.vc())),n.a}function xO(n){return n.b||(n.b=new p8(n.c.ec())),n.b}function xC(n,t){for(;t-- >0;)n=n<<1|n<0;return n}function xI(n,t){var e;return e=new NU(n),dk(t.c,e),e}function xA(n,t){var e,i,r;n.u.Hc((nap(),nZ6))&&function(n,t){var e,i,r,a;for(e=(a=CY(xN(n.b,t),127)).a,r=CY(CY(_G(n.r,t),21),87).Kc();r.Ob();)(i=CY(r.Pb(),117)).c&&(e.a=nP_.Math.max(e.a,IC(i.c)));if(e.a>0)switch(t.g){case 2:a.n.c=n.s;break;case 4:a.n.b=n.s}}(n,t),e=n,i=t,e.C&&((r=CY(xN(e.b,i),127).n).d=e.C.d,r.a=e.C.a)}function xL(n,t){return ER(n)===ER(t)||null!=n&&QY(n,t)}function xN(n,t){return AE(n.a,t)?n.b[CY(t,22).g]:null}function xx(n){return n.n||(n.n=new Lk(nNt,n,1,7)),n.n}function x$(n){return n.c||(n.c=new Lk(nNi,n,9,9)),n.c}function xD(n){return n.c||(n.c=new Ox(nL4,n,5,8)),n.c}function xR(n){var t;return n.j.c.length=0,xJ(n.c),dG((t=n.a).j.c,0),t.a=-1,n}function xK(n){var t,e,i,r;return n.e==nSd&&(t=n.g,n.e=(i=(e=n.b).qi(t.a))&&null!=(r=PA(YH((i.b||(i.b=new Pd((nlq(),n2S),n07,i)),i.b),nTh)))?r:e.xe()),n.e}function xF(n){var t,e,i,r;return n.f==nSd&&(t=n.g,n.f=(i=(e=n.b).qi(t.a))?OB(nSh,r=PA(YH((i.b||(i.b=new Pd((nlq(),n2S),n07,i)),i.b),nSs)))?A2(t,GT(e.qk())):r:null),n.f}function x_(n,t,e,i){return zx(n,t,e,!1),Q6(n,i),n}function xB(n,t){this.b=n,L0.call(this,n,t),St(this)}function xH(n,t){this.b=n,OX.call(this,n,t),Se(this)}function xU(n){this.d=n,this.a=this.d.b,this.b=this.d.c}function xG(n,t){this.b=n,this.c=t,this.a=new vG(this.b)}function xq(n,t){return Rx(t,n.length),n.charCodeAt(t)}function xX(n,t){return JC(n),new Aa(n,new HU(t,n.a))}function xz(n,t){return JC(n),new Aa(n,new _0(t,n.a))}function xV(n,t){return JC(n),new PB(n,new _Z(t,n.a))}function xW(n,t){return JC(n),new PH(n,new _1(t,n.a))}function xQ(n,t,e){e.a?G1(n,t.b-n.f/2):GZ(n,t.a-n.g/2)}function xJ(n){var t;for(t=n.Kc();t.Ob();)t.Pb(),t.Qb()}function xY(n){var t;return(t=n.b)||(n.b=t=new h0(n)),t}function xZ(n){var t,e;return(t=jM(e=niK(n,(nlF(),nK6)),167)?function n(t){var e,i,r;if(i=t.jh())return jM(e=t.Eh(),167)&&null!=(r=n(CY(e,167)))?r+"."+i:i;return null}(CY(e,167)):null)?t:null}function x1(n,t){var e,i;return i=Dy(e=n/t),e>i&&++i,i}function x0(n,t,e,i){this.a=n,this.c=t,this.b=e,this.d=i}function x2(n,t,e,i){this.c=n,this.b=t,this.a=e,this.d=i}function x3(n,t,e,i){this.c=n,this.b=t,this.d=e,this.a=i}function x4(n,t,e,i){this.c=n,this.d=t,this.b=e,this.a=i}function x6(n,t,e,i){this.a=n,this.d=t,this.c=e,this.b=i}function x5(n,t,e,i){this.a=n,this.e=t,this.d=e,this.c=i}function x8(n,t,e,i){this.a=n,this.c=t,this.d=e,this.b=i}function x9(n,t,e){this.a=nb6,this.d=n,this.b=t,this.c=e}function x7(n,t,e,i){vS.call(this,n,t),this.a=e,this.b=i}function $n(n,t){this.d=(xf(n),n),this.a=16449,this.c=t}function $t(n){this.a=new du,this.e=BJ(n4s,nby,53,n,0,2)}function $e(){ph.call(this,"There is no more element.")}function $i(n,t,e,i){this.a=n,this.b=t,this.c=e,this.d=i}function $r(n,t,e,i){this.a=n,this.b=t,this.c=e,this.d=i}function $a(n,t,e,i){this.e=n,this.a=t,this.c=e,this.d=i}function $c(n,t,e,i){this.a=n,this.c=t,this.d=e,this.b=i}function $o(n,t,e,i){T5(),_2.call(this,t,e,i),this.a=n}function $u(n,t,e,i){T5(),_2.call(this,t,e,i),this.a=n}function $s(n,t,e){var i;return i=nlt(n),t.ti(e,i)}function $h(n){var t;return Gj(t=new df,n),t}function $f(n){var t;return niJ(t=new df,n),t}function $l(n){return n.b||(n.b=new Lk(nL6,n,12,3)),n.b}function $b(n){return IV(null==n||LB(n)&&n.Tm!==E),n}function $w(n){return n.n&&(n.e!==nbY&&n.je(),n.j=null),n}function $d(n){if(J8(n.d),n.d.d!=n.c)throw(new dR).e}function $g(n){return Px(n.b<n.d.gc()),n.d.Xb(n.c=n.b++)}function $p(n){n.a.a=n.c,n.c.b=n.a,n.a.b=n.c.a=null,n.b=0}function $m(n){this.f=n,this.c=this.f.e,n.f>0&&nem(this)}function $v(n,t){this.a=n,P_.call(this,n,CY(n.d,15).fd(t))}function $y(n,t){return n.b=t.b,n.c=t.c,n.d=t.d,n.a=t.a,n}function $k(n,t,e,i){this.b=n,this.c=i,E4.call(this,t,e)}function $M(n){return n.f||(n.f=new vg(n,n.c))}function $E(n,t){return QF(n.j,t.s,t.c)+QF(t.e,n.s,n.c)}function $T(){ni6(this,new hU),this.wb=(NN(),n2c),mT()}function $j(n){this.b=new du,Vc(this.b,this.b),this.a=n}function $S(n,t){new vq,this.a=new gj,this.b=n,this.c=t}function $P(){$P=T,nOG=new L,nOq=new L,nOX=new N}function $O(){$O=T,nO_=new P,nOB=new C,nOH=new I}function $C(){$C=T,nCB=new nb,nCU=new AR,nCH=new nw}function $I(){$I=T,nNG=new du,nNU=new dc,nNH=new du}function $A(n,t){if(null==n)throw new pD(t).e;return n}function $L(n){return n.a||(n.a=new Lk(nNe,n,10,11)),n.a}function $N(n){return n.q||(n.q=new Lk(n02,n,11,10)),n.q}function $x(n){return n.s||(n.s=new Lk(n0V,n,21,17)),n.s}function $$(n,t,e){U7(n,t,new fy(O4(e)))}function $D(n,t,e,i,r,a){Hf.call(this,n,t,e,i,r,a?-2:-1)}function $R(n,t,e,i){Ex.call(this,t,e),this.b=n,this.a=i}function $K(n,t){g9.call(this,new La(n)),this.a=n,this.b=t}function $F(n){this.b=n,this.c=n,n.e=null,n.c=null,this.a=1}function $_(){var n,t;$_=T,t=!(Error.stackTraceLimit>0?(nP_.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in Error()),n=new m,nP6=t?new p:n}function $B(n){return $O(),jM(n,59)?new p7(n):new SE(n)}function $H(n){var t,e;return jM(n,16)?new At(CY(n,16)):(t=n.Kc(),UO(e=new dV,t),e)}function $U(n){return n&&n.hashCode?n.hashCode():SK(n)}function $G(n,t){var e;return null==t?!!Aj(n.f,null):(e=n.i,void 0!==e.a.get(t))}function $q(n,t,e){return!!n.f&&n.f.ef(t,e)}function $X(n,t,e,i){NK(n.c[t.g],e.g,i),NK(n.c[e.g],t.g,i)}function $z(n,t,e,i){NK(n.c[t.g],t.g,e),NK(n.b[t.g],t.g,i)}function $V(n,t){this.g=n,this.d=Vw(DY(nAr,1),npU,10,0,[t])}function $W(n){this.c=n,this.b=new mH(CY(NP(new nd),50))}function $Q(n){this.c=n,this.b=new mH(CY(NP(new tl),50))}function $J(n){this.b=n,this.a=new mH(CY(NP(new nY),50))}function $Y(){this.b=new dV,this.d=new vq,this.e=new gl}function $Z(){this.c=new mm,this.d=new mm,this.e=new mm}function $1(){this.a=new gj,this.b=(qL(3,nbU),new Bf(3))}function $0(n,t){this.e=n,this.a=nPa,this.b=nu_(t),this.c=t}function $2(n){this.c=n.c,this.d=n.d,this.b=n.b,this.a=n.a}function $3(n,t,e,i,r,a){this.a=n,qX.call(this,t,e,i,r,a)}function $4(n,t,e,i,r,a){this.a=n,qX.call(this,t,e,i,r,a)}function $6(n,t,e,i,r,a,c){return new Fx(n.e,t,e,i,r,a,c)}function $5(n,t){return jM(t,149)&&OB(n.b,CY(t,149).Pg())}function $8(n,t){var e;return FH(e=n.b.Qc(t),n.b.gc()),e}function $9(n,t){if(null==n)throw new pD(t).e;return n}function $7(n){return n.u||(_v(n),n.u=new P4(n,n)),n.u}function Dn(n){this.a=($O(),jM(n,59)?new p7(n):new SE(n))}function Dt(n){return CY(zA(n,16),29)||n.ii()}function De(n,t){var e;return e=mI(n.Rm),null==t?e:e+": "+t}function Di(n,t,e){return B2(t,e,n.length),n.substr(t,e-t)}function Dr(n,t){Oy.call(this),GI(this),this.a=n,this.c=t}function Da(n,t,e,i){return e>=0?n.Uh(t,e,i):n.Ch(null,e,i)}function Dc(n){return 0==n.b.b?n.a.sf():CV(n.b)}function Do(n){return ER(n.a)===ER((X6(),n2x))&&function(n){var t,e,i,r,a,c,o,u,s,h;for(u=0,t=new o4,e=new o4,s=OB(njR,(r=nsA(n.b,njK))?PA(YH((r.b||(r.b=new Pd((nlq(),n2S),n07,r)),r.b),njF)):null);u<n.i;++u)jM(o=CY(n.g[u],179),102)?((c=CY(o,19)).Bb&nEI)!=0?(c.Bb&nbk)!=0&&(s||((a=nsA(c,njK))?PA(YH((a.b||(a.b=new Pd((nlq(),n2S),n07,a)),a.b),nTs)):null)!=null)||B7(t,c):(h=nnD(c))&&(h.Bb&nEI)!=0||(c.Bb&nbk)!=0&&(s||((i=nsA(c,njK))?PA(YH((i.b||(i.b=new Pd((nlq(),n2S),n07,i)),i.b),nTs)):null)!=null)||B7(e,c):(yP(),CY(o,69).xk()&&!o.sk()&&(B7(t,o),B7(e,o)));WG(t),WG(e),n.a=CY(t.g,254),CY(e.g,254)}(n),n.a}function Du(n,t){this.a=new MH(n.a,n.b),this.b=CJ(t)}function Ds(){g7.call(this,new vH(Ga(12))),j5(!0),this.a=2}function Dh(n,t,e){nlU(),dr.call(this,n),this.b=t,this.a=e}function Df(n,t,e){T5(),w5.call(this,t),this.a=n,this.b=e}function Dl(n){var t;t=n.c.d.b,n.b=t,n.a=n.c.d,t.a=n.c.d.b=n}function Db(n,t){return null==t?ED(Aj(n.f,null)):yD(n.i,t)}function Dw(n,t,e,i,r){return new nrd(n,(Hj(),nCI),t,e,i,r)}function Dd(n,t){var e,i,r,a;return FP(t),e=n,i=BJ(n4s,nwl,28,t,15,1),r=t,a=e.length,naJ(e,0,i,0,nP_.Math.min(r,a),!0),i}function Dg(n,t){return $A(n,"set1"),$A(t,"set2"),new vI(n,t)}function Dp(n,t){var e;return nfR(n,t,e=new _),e.d}function Dm(n,t,e,i){var r;r=new Os,t.a[e.g]=r,LQ(n.b,i,r)}function Dv(n){(function(n){var t;for(t=new fU(ntv(n));t.a<t.c.c.length;)CY(RU(t),695)._f()})(n.a),T0(n.a),Yc(new ld(n.a))}function Dy(n){return 0|Math.max(Math.min(n,nl3),-0x80000000)}function Dk(n){this.a=CY(NP(n),277),this.b=($O(),new Sj(n))}function DM(n,t,e){this.i=new du,this.b=n,this.g=t,this.a=e}function DE(n,t,e){this.a=new du,this.e=n,this.f=t,this.c=e}function DT(n,t,e){this.c=new du,this.e=n,this.f=t,this.b=e}function Dj(n){Oy.call(this),GI(this),this.a=n,this.c=!0}function DS(n){return n.Db>>16!=3?null:CY(n.Cb,27)}function DP(n){return n.Db>>16!=9?null:CY(n.Cb,27)}function DO(n){return n.Db>>16!=6?null:CY(n.Cb,74)}function DC(){DC=T,nq0=new Ml(nd1,0),nq2=new Ml(nd0,1)}function DI(){DI=T,nqS=new k9(nd0,0),nqj=new k9(nd1,1)}function DA(){DA=T,nqO=new k7(nge,0),nqC=new k7("UP",1)}function DL(){DL=T,nP1=W4((pw(),Vw(DY(nPd,1),nbG,549,0,[nPZ])))}function DN(n){var t;return VW(t=new m$(Ga(n.length)),n),t}function Dx(n,t){return n.b+=t.b,n.c+=t.c,n.d+=t.d,n.a+=t.a,n}function D$(n,t){var e,i,r,a,c;if(null==t)throw(new d$).e;return e=n,i=t,a=e.a,i=String(i),a.hasOwnProperty(i)&&(r=a[i]),(c=(VU(),nOt)[typeof r])?c(r):Qo(typeof r)}function DD(n,t){var e;e=n.q.getHours(),n.q.setDate(t),nhp(n,e)}function DR(n,t,e){var i;(i=n.Ih(t))>=0?n.bi(i,e):nc7(n,t,e)}function DK(n,t){var e;return(e=n.Ih(t))>=0?n.Wh(e):naN(n,t)}function DF(n,t){var e;for(NP(t),e=n.a;e;e=e.c)t.Yd(e.g,e.i)}function D_(n,t,e){var i;i=V3(n,t,e),n.b=new Xk(i.c.length)}function DB(n,t,e){D6(),n&&xM(n0j,n,t),n&&xM(n0T,n,e)}function DH(n,t){return nP_.Math.abs(n)<nP_.Math.abs(t)?n:t}function DU(n){var t;return t=n.d,t=n.bj(n.f),B7(n,t),t.Ob()}function DG(n,t){var e;return niI(e=new An(t),n),new O8(e)}function Dq(n){return n.Db>>16!=7?null:CY(n.Cb,241)}function DX(n){return n.Db>>16!=6?null:CY(n.Cb,241)}function Dz(n){return n.Db>>16!=7?null:CY(n.Cb,167)}function DV(n){return n.Db>>16!=11?null:CY(n.Cb,27)}function DW(n){return n.Db>>16!=17?null:CY(n.Cb,29)}function DQ(n){return n.Db>>16!=3?null:CY(n.Cb,155)}function DJ(n){return JC(n),xX(n,new lc(new dV))}function DY(n,t){var e=n.a=n.a||[];return e[t]||(e[t]=n.ve(t))}function DZ(n,t){jZ(this),this.f=t,this.g=n,$w(this),this.je()}function D1(n,t){this.a=n,this.c=jv(this.a),this.b=new $2(t)}function D0(n,t,e){this.a=t,this.c=n,this.b=(NP(e),new O8(e))}function D2(n,t,e){this.a=t,this.c=n,this.b=(NP(e),new O8(e))}function D3(n){this.a=n,this.b=BJ(nAW,nby,2043,n.e.length,0,2)}function D4(){this.a=new TE,this.e=new dV,this.g=0,this.i=0}function D6(){var n;D6=T,n0j=new dc,n0T=new dc,n=new oV,nPD&&xM(n0T,nPD,n)}function D5(){D5=T,nG6=AX(new xm,(niF(),nxY),(nlB(),nDv))}function D8(){D8=T,nG5=AX(new xm,(niF(),nxY),(nlB(),nDv))}function D9(){D9=T,nG9=AX(new xm,(niF(),nxY),(nlB(),nDv))}function D7(){D7=T,nqv=IG(new xm,(niF(),nxY),(nlB(),n$0))}function Rn(){Rn=T,nqE=IG(new xm,(niF(),nxY),(nlB(),n$0))}function Rt(){Rt=T,nqT=IG(new xm,(niF(),nxY),(nlB(),n$0))}function Re(){Re=T,nqA=IG(new xm,(niF(),nxY),(nlB(),n$0))}function Ri(n,t,e,i,r,a){return new Uh(n.e,t,n.Lj(),e,i,r,a)}function Rr(n,t,e){return null==t?nr3(n.f,null,e):JI(n.i,t,e)}function Ra(n,t){n.c&&H0(n.c.g,n),n.c=t,n.c&&jB(n.c.g,n)}function Rc(n,t){n.c&&H0(n.c.a,n),n.c=t,n.c&&jB(n.c.a,n)}function Ro(n,t){n.i&&H0(n.i.j,n),n.i=t,n.i&&jB(n.i.j,n)}function Ru(n,t){n.d&&H0(n.d.e,n),n.d=t,n.d&&jB(n.d.e,n)}function Rs(n,t){n.a&&H0(n.a.k,n),n.a=t,n.a&&jB(n.a.k,n)}function Rh(n,t){n.b&&H0(n.b.f,n),n.b=t,n.b&&jB(n.b.f,n)}function Rf(n,t){var e,i;e=n.b,i=n.c,CY(e.b,68),Gd(e.a,new CC(n,i,e)),CY(n.b.b,68),t&&CY(t.b,68).b}function Rl(n,t){jM(n.Cb,184)&&(CY(n.Cb,184).tb=null),XC(n,t)}function Rb(n,t){jM(n.Cb,90)&&nar(_v(CY(n.Cb,90)),4),XC(n,t)}function Rw(n){var t;return mT(),Gj(t=new df,n),t}function Rd(n){var t;return mT(),Gj(t=new df,n),t}function Rg(n){for(var t;;)if(t=n.Pb(),!n.Ob())return t}function Rp(n,t){return yP(),Uj(t)?new IB(t,n):new EL(t,n)}function Rm(n){return nuY(),Qv(n,0)>=0?Yq(n):Nt(Yq(H4(n)))}function Rv(n,t){var e;return(e=CY(QH($M(n.a),t),16))?e.gc():0}function Ry(n,t,e){var i;Q1(t,e,n.c.length),i=e-t,mY(n.c,t,i)}function Rk(n,t,e){Q1(t,e,n.gc()),this.c=n,this.a=t,this.b=e-t}function RM(n){this.c=new vq,this.b=n.b,this.d=n.c,this.a=n.a}function RE(n){this.a=nP_.Math.cos(n),this.b=nP_.Math.sin(n)}function RT(n,t,e,i){this.c=n,this.d=i,Rs(this,t),Rh(this,e)}function Rj(n,t){g8.call(this,new vH(Ga(n))),qL(t,nbv),this.a=t}function RS(n,t,e){return new nrd(n,(Hj(),nCC),null,!1,t,e)}function RP(n,t,e){return new nrd(n,(Hj(),nCA),t,e,null,!1)}function RO(n){return V4(Vw(DY(nLA,1),nby,8,0,[n.i.n,n.n,n.a]))}function RC(){RC=T,nzP=AX(new xm,(ntU(),nq5),(nsi(),nXn))}function RI(){RI=T,nzj=new Mp("DFS",0),nzT=new Mp("BFS",1)}function RA(n,t,e){var i;(i=new ao).b=t,i.a=e,++t.b,jB(n.d,i)}function RL(n,t){if(n<0||n>t)throw new pC(ndp+n+ndm+t).e}function RN(n,t){if(n<0||n>=t)throw new pC(ndp+n+ndm+t).e}function Rx(n,t){if(n<0||n>=t)throw new p4(ndp+n+ndm+t).e}function R$(n,t){this.b=(xf(n),n),this.a=(t&nwB)==0?64|t|nbk:t}function RD(n){return JC(n),$P(),$P(),Gs(n,nOq)}function RR(n){return NP(n),jM(n,16)?new O8(CY(n,16)):CW(n.Kc())}function RK(n,t){return n&&n.equals?n.equals(t):ER(n)===ER(t)}function RF(n,t){var e,i;return zC((e=Ty(n)?zB(n):n,i=Ty(t)?zB(t):t,js(e.l&i.l,e.m&i.m,e.h&i.h)))}function R_(n,t){var e,i;return zC((e=Ty(n)?zB(n):n,i=Ty(t)?zB(t):t,js(e.l|i.l,e.m|i.m,e.h|i.h)))}function RB(n,t){var e,i;return zC((e=Ty(n)?zB(n):n,i=Ty(t)?zB(t):t,js(e.l^i.l,e.m^i.m,e.h^i.h)))}function RH(n,t){var e,i;return i=Lq(n,t),e=n.a.fd(i),new vP(n,e)}function RU(n){return Px(n.a<n.c.c.length),n.b=n.a++,n.c.c[n.b]}function RG(n,t){LZ.call(this,1,2,Vw(DY(n4s,1),nwl,28,15,[n,t]))}function Rq(n,t,e){dr.call(this,25),this.b=n,this.a=t,this.c=e}function RX(n){nlU(),dr.call(this,n),this.c=!1,this.a=!1}function Rz(n){return n.d==(Bu(),n3n)&&(n.d=function(n,t){var e,i,r,a,c,o;if((e=t.qi(n.a))&&null!=(o=PA(YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),nTs))))switch(r=Sg(o,niT(35)),i=t.qk(),-1==r?(c=A2(n,GT(i)),a=o):0==r?(c=null,Rx(1,o.length+1),a=o.substr(1)):(B2(0,r,o.length),c=o.substr(0,r),Rx(r+1,o.length+1),a=o.substr(r+1)),xb(Ua(n,t))){case 2:case 3:var u,s,h,f,l,b,w=c,d=a;if(!(b=ncK(n,i,w,d))&&(u=n,s=w,h=d,b=(l=ncz(u.b,s))&&(f=CY(nhZ(Ur(u,l),""),29))?ncK(u,f,s,h):null)&&!nff(n,i,b))break;return b;case 0:case 4:case 5:case 6:var g,p=c,m=a;if(!(g=ncF(n,i,p,m))&&(g=Jc(n,p,m))&&!nff(n,i,g))break;return g}return null}(n.g,n.b)),n.d}function RV(n,t){return AT(n.a,t)?Ij(n.b,CY(t,22).g,null):null}function RW(n){return null==n.b||0==n.b.length?"n_"+n.a:"n_"+n.b}function RQ(n){return null==n.c||0==n.c.length?"n_"+n.g:"n_"+n.c}function RJ(n,t){var e;for(e=n+"";e.length<t;)e="0"+e;return e}function RY(n,t){var e;return e=H5(t),CY(NR(n.c,e),17).a}function RZ(n,t,e){var i;i=n.d[t.p],n.d[t.p]=n.d[e.p],n.d[e.p]=i}function R1(n,t){if(LX(n.a,t),t.d)throw new ph(ndT).e;t.d=n}function R0(n,t){this.a=new du,this.d=new du,this.f=n,this.c=t}function R2(){this.c=new jI,this.a=new _8,this.b=new gi,yt()}function R3(){Vy(),this.b=new dc,this.a=new dc,this.c=new du}function R4(n,t,e){this.d=n,this.j=t,this.e=e,this.o=-1,this.p=3}function R6(n,t,e){this.d=n,this.k=t,this.f=e,this.o=-1,this.p=5}function R5(n,t,e,i,r,a){qo.call(this,n,t,e,i,r),a&&(this.o=-2)}function R8(n,t,e,i,r,a){qu.call(this,n,t,e,i,r),a&&(this.o=-2)}function R9(n,t,e,i,r,a){_E.call(this,n,t,e,i,r),a&&(this.o=-2)}function R7(n,t,e,i,r,a){qf.call(this,n,t,e,i,r),a&&(this.o=-2)}function Kn(n,t,e,i,r,a){_T.call(this,n,t,e,i,r),a&&(this.o=-2)}function Kt(n,t,e,i,r,a){qs.call(this,n,t,e,i,r),a&&(this.o=-2)}function Ke(n,t,e,i,r,a){qh.call(this,n,t,e,i,r),a&&(this.o=-2)}function Ki(n,t,e,i,r,a){_j.call(this,n,t,e,i,r),a&&(this.o=-2)}function Kr(n,t,e,i){w5.call(this,e),this.b=n,this.c=t,this.d=i}function Ka(n,t){this.f=n,this.a=(Bu(),n27),this.c=n27,this.b=t}function Kc(n,t){this.g=n,this.d=(Bu(),n3n),this.a=n3n,this.b=t}function Ko(n,t){n.c||(n.c=new zE(n,0)),nhQ(n.c,(nfl(),n3O),t)}function Ku(n){return Iz(n.e.Rd().gc()*n.c.Rd().gc(),16,new hQ(n))}function Ks(n,t){return 0==t?!!n.o&&0!=n.o.f:Z2(n,t)}function Kh(n,t,e){var i;return!!(i=CY(n.Zb().xc(t),16))&&i.Mc(e)}function Kf(n,t){var e;return e=1-t,n.a[e]=Xl(n.a[e],e),Xl(n,t)}function Kl(n,t){var e;return e=RF(n,nwW),R_(A8(t,32),e)}function Kb(n,t,e){NP(n),function(n){var t,e,i;for($O(),ji(n.c,n.a),i=new fU(n.c);i.a<i.c.c.length;)for(e=RU(i),t=new fU(n.b);t.a<t.c.c.length;)CY(RU(t),693).bf(e)}(new D0(new O8(n),t,e))}function Kw(n,t,e){NP(n),function(n){var t,e,i;for($O(),ji(n.c,n.a),i=new fU(n.c);i.a<i.c.c.length;)for(e=RU(i),t=new fU(n.b);t.a<t.c.c.length;)CY(RU(t),382).bf(e)}(new D2(new O8(n),t,e))}function Kd(n,t,e,i,r,a){return zx(n,t,e,a),Q4(n,i),Q8(n,r),n}function Kg(n,t,e,i){return n.a+=""+Di(null==t?nbi:J2(t),e,i),n}function Kp(n,t){this.a=n,fq.call(this,n),RL(t,n.gc()),this.b=t}function Km(n){this.a=BJ(nPa,nl7,1,VN(nP_.Math.max(8,n))<<1,5,1)}function Kv(n){return CY(ZB(n,BJ(nAr,npU,10,n.c.length,0,1)),199)}function Ky(n){return CY(ZB(n,BJ(nAt,npH,18,n.c.length,0,1)),483)}function Kk(n){return n.a?0==n.e.length?n.a.a:n.a.a+""+n.e:n.c}function KM(n){for(;n.d>0&&0==n.a[--n.d];);0==n.a[n.d++]&&(n.e=0)}function KE(n){return Px(n.b.b!=n.d.a),n.c=n.b=n.b.b,--n.a,n.c.c}function KT(n,t){var e;n.e=new gJ,ji(e=no3(t),n.c),function n(t,e,i){var r,a,c,o,u,s;for(a=i,c=0,u=new fU(e);u.a<u.c.c.length;)nnh(o=CY(RU(u),27),(nrh(),nVs),Qx(a++)),s=no3(o),r=nP_.Math.atan2(o.j+o.f/2,o.i+o.g/2),(r+=r<0?nkf:0)<.7853981633974483||r>nkF?ji(s,t.b):r<=nkF&&r>nk_?ji(s,t.d):r<=nk_&&r>nkB?ji(s,t.c):r<=nkB&&ji(s,t.a),c=n(t,s,c);return a}(n,e,0)}function Kj(n,t,e,i){var r;(r=new c7).a=t,r.b=e,r.c=i,IA(n.a,r)}function KS(n,t,e,i){var r;(r=new c7).a=t,r.b=e,r.c=i,IA(n.b,r)}function KP(n,t,e){if(n<0||t<n||t>e){var i,r,a;throw new pC((i=n,r=t,a=e,i<0||i>a?nr8(i,a,"start index"):r<0||r>a?nr8(r,a,"end index"):nuK("end index (%s) must not be less than start index (%s)",Vw(DY(nPa,1),nl7,1,5,[Qx(r),Qx(i)])))).e}}function KO(n,t){if(n<0||n>=t)throw new pC(function(n,t){if(n<0)return nuK(nl9,Vw(DY(nPa,1),nl7,1,5,["index",Qx(n)]));if(t<0)throw new pN(nbn+t).e;return nuK("%s (%s) must be less than size (%s)",Vw(DY(nPa,1),nl7,1,5,["index",Qx(n),Qx(t)]))}(n,t)).e;return n}function KC(n){return(yc(),jM(n.g,10))?CY(n.g,10):null}function KI(n){return Ty(n)?-0==n?0:n:function(n){if(0>neu(n,(UT(),nOc))){var t;return-((t=VL(n)).l+t.m*nwA+t.h*nwL)}return n.l+n.m*nwA+n.h*nwL}(n)}function KA(n,t){return!!jM(t,44)&&ntn(n.a,CY(t,44))}function KL(n,t){return!!jM(t,44)&&ntn(n.a,CY(t,44))}function KN(n,t){return!!jM(t,44)&&ntn(n.a,CY(t,44))}function Kx(n){var t;return xa(n),t=new x,mZ(n.a,new li(t)),t}function K$(){var n;return n=new df,jB(n2V,n),n}function KD(n){var t;return xa(n),t=new $,mZ(n.a,new lr(t)),t}function KR(n){XX.call(this,n,(Hj(),nCO),null,!1,null,!1)}function KK(){KK=T,nNT=W4((v5(),Vw(DY(nI1,1),nbG,489,0,[nNE])))}function KF(){KF=T,nqa=xT(Qx(1),Qx(4)),nqr=xT(Qx(1),Qx(2))}function K_(n){return new Bf((qL(n,nbX),Gr(JF(JF(5,n),n/10|0))))}function KB(n){return CY(ZB(n,BJ(nAo,npG,12,n.c.length,0,1)),2042)}function KH(n,t){(function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;if(m=0,0==t.f.a)for(g=new fU(n);g.a<g.c.c.length;)w=CY(RU(g),10),m=nP_.Math.max(m,w.n.a+w.o.a+w.d.c);else m=t.f.a-t.c.a;for(m-=t.c.a,d=new fU(n);d.a<d.c.c.length;){switch(dy((w=CY(RU(d),10)).n,m-w.o.a),Ia(w.f),ntg(w),(!w.q?($O(),$O(),nOB):w.q)._b((nlL(),nUu))&&dy(CY(niK(w,nUu),8),m-w.o.a),CY(niK(w,nBR),255).g){case 1:VD(w,nBR,(nnS(),nJn));break;case 2:VD(w,nBR,(nnS(),nQ7))}for(p=w.o,y=new fU(w.j);y.a<y.c.c.length;){for(dy((v=CY(RU(y),12)).n,p.a-v.o.a),dy(v.a,v.o.a),nau(v,XZ(v.j)),(c=CY(niK(v,nUe),17))&&VD(v,nUe,Qx(-c.a)),a=new fU(v.g);a.a<a.c.c.length;){for(i=ZQ((r=CY(RU(a),18)).a,0);i.b!=i.d.c;)(e=CY(K0(i),8)).a=m-e.a;if(s=CY(niK(r,nHP),75))for(u=ZQ(s,0);u.b!=u.d.c;)(o=CY(K0(u),8)).a=m-o.a;for(l=new fU(r.b);l.a<l.c.c.length;)dy((h=CY(RU(l),72)).n,m-h.o.a)}for(b=new fU(v.f);b.a<b.c.c.length;)dy((h=CY(RU(b),72)).n,v.o.a-h.o.a)}if(w.k==(ni8(),n$g)){VD(w,(nlF(),nK_),XZ(CY(niK(w,nK_),64)));var k=w;switch(CY(niK(k,(nlL(),nHI)),171).g){case 1:VD(k,nHI,(Yb(),nFk));break;case 2:VD(k,nHI,(Yb(),nFM));break;case 3:VD(k,nHI,(Yb(),nFv));break;case 4:VD(k,nHI,(Yb(),nFy))}}for(f=new fU(w.b);f.a<f.c.c.length;)ntg(h=CY(RU(f),72)),dy(h.n,p.a-h.o.a)}})(t,n),Ia(n.d),Ia(CY(niK(n,(nlL(),nH_)),214))}function KU(n,t){(function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;if(m=0,0==t.f.b)for(g=new fU(n);g.a<g.c.c.length;)w=CY(RU(g),10),m=nP_.Math.max(m,w.n.b+w.o.b+w.d.a);else m=t.f.b-t.c.b;for(m-=t.c.b,d=new fU(n);d.a<d.c.c.length;){switch(dv((w=CY(RU(d),10)).n,m-w.o.b),Ic(w.f),ntp(w),(!w.q?($O(),$O(),nOB):w.q)._b((nlL(),nUu))&&dv(CY(niK(w,nUu),8),m-w.o.b),CY(niK(w,nBR),255).g){case 3:VD(w,nBR,(nnS(),nQ8));break;case 4:VD(w,nBR,(nnS(),nJt))}for(p=w.o,y=new fU(w.j);y.a<y.c.c.length;){for(dv((v=CY(RU(y),12)).n,p.b-v.o.b),dv(v.a,v.o.b),nau(v,X1(v.j)),(c=CY(niK(v,nUe),17))&&VD(v,nUe,Qx(-c.a)),a=new fU(v.g);a.a<a.c.c.length;){for(i=ZQ((r=CY(RU(a),18)).a,0);i.b!=i.d.c;)(e=CY(K0(i),8)).b=m-e.b;if(s=CY(niK(r,nHP),75))for(u=ZQ(s,0);u.b!=u.d.c;)(o=CY(K0(u),8)).b=m-o.b;for(l=new fU(r.b);l.a<l.c.c.length;)dv((h=CY(RU(l),72)).n,m-h.o.b)}for(b=new fU(v.f);b.a<b.c.c.length;)dv((h=CY(RU(b),72)).n,v.o.b-h.o.b)}if(w.k==(ni8(),n$g)){VD(w,(nlF(),nK_),X1(CY(niK(w,nK_),64)));var k=w;switch(CY(niK(k,(nlF(),nKz)),311).g){case 1:VD(k,nKz,(UM(),nKm));break;case 2:VD(k,nKz,(UM(),nKy))}}for(f=new fU(w.b);f.a<f.c.c.length;)ntp(h=CY(RU(f),72)),dv(h.n,p.b-h.o.b)}})(t,n),Ic(n.d),Ic(CY(niK(n,(nlL(),nH_)),214))}function KG(n,t){var e,i;return e=D$(n,t),i=null,e&&(i=e.pe()),i}function Kq(n,t){var e,i;return e=D$(n,t),i=null,e&&(i=e.se()),i}function KX(n,t){var e,i;return e=UA(n,t),i=null,e&&(i=e.se()),i}function Kz(n,t){var e,i;return e=D$(n,t),i=null,e&&(i=nrA(e)),i}function KV(n,t,e){this.d=new bv(this),this.e=n,this.i=t,this.f=e}function KW(n,t,e,i){this.e=null,this.c=n,this.d=t,this.a=e,this.b=i}function KQ(n,t,e,i){jp(this),this.c=n,this.e=t,this.f=e,this.b=i}function KJ(n,t,e,i){this.d=n,this.n=t,this.g=e,this.o=i,this.p=-1}function KY(n,t,e,i){return jM(e,59)?new SV(n,t,e,i):new Lu(n,t,e,i)}function KZ(n){return jM(n,16)?CY(n,16).dc():!n.Kc().Ob()}function K1(n){if(n.e.g!=n.b)throw(new dR).e;return!!n.c&&n.d>0}function K0(n){return Px(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function K2(n,t){xf(t),NK(n.a,n.c,t),n.c=n.c+1&n.a.length-1,ntP(n)}function K3(n,t){xf(t),n.b=n.b-1&n.a.length-1,NK(n.a,n.b,t),ntP(n)}function K4(n){var t;t=n.Gh(),this.a=jM(t,71)?CY(t,71).Ii():t.Kc()}function K6(){K6=T,nWQ=W4((ys(),Vw(DY(nLv,1),nbG,490,0,[nWW])))}function K5(){K5=T,nWY=W4((yh(),Vw(DY(nLy,1),nbG,558,0,[nWJ])))}function K8(){K8=T,nQN=W4((yf(),Vw(DY(nLE,1),nbG,539,0,[nQL])))}function K9(n,t){var e;return(e=CY(UC(n.b,t),67))||(e=new vq),e}function K7(n){return(yc(),jM(n.g,154))?CY(n.g,154):null}function Fn(){Fn=T,nKM=new kB(ndJ,0),nKE=new kB("TOP_LEFT",1)}function Ft(){Ft=T,nqp=new k4("UPPER",0),nqg=new k4("LOWER",1)}function Fe(n,t){return CY(SO(Lf(CY(_G(n.k,t),15).Oc(),nRf)),113)}function Fi(n,t){return CY(SO(Ll(CY(_G(n.k,t),15).Oc(),nRf)),113)}function Fr(n,t,e){return t<0?naN(n,e):CY(e,69).wk().Bk(n,n.hi(),t)}function Fa(n){var t;return mk(),t=new oF,n&&noo(t,n),t}function Fc(n){var t;return t=n.aj(n.i),n.i>0&&ns8(n.g,0,t,0,n.i),t}function Fo(n,t){var e;for(e=n.j.c.length;e<t;e++)jB(n.j,n.Ng())}function Fu(n,t,e,i){var r;return r=i[t.g][e.g],pj(PI(niK(n.a,r)))}function Fs(n,t){var e;return yE(),!(e=CY(NR(n0C,n),57))||e.fk(t)}function Fh(n,t){return 0==t.e||0==n.e?nO$:(nui(),function n(t,e){var i,r,a,c,o,u,s,h,f;return(nui(),e.d>t.d&&(u=t,t=e,e=u),e.d<63)?function(n,t){var e,i,r,a,c,o,u,s,h,f,l;return(o=(i=n.d)+(a=t.d),u=n.e!=t.e?-1:1,2==o)?(l=AW(h=J_(RF(n.a[0],nwW),RF(t.a[0],nwW))),0==(f=AW(A7(h,32)))?new FI(u,l):new LZ(u,2,Vw(DY(n4s,1),nwl,28,15,[l,f]))):(e=n.a,r=t.a,c=BJ(n4s,nwl,28,o,15,1),0!=i&&0!=a&&(1==i?c[a]=nnP(c,r,a,e[0]):1==a?c[i]=nnP(c,e,i,r[0]):function(n,t,e,i,r){var a,c,o,u;if(ER(n)===ER(t)&&i==r)return nsC(n,i,e);for(o=0;o<i;o++){for(u=0,c=0,a=n[o];u<r;u++)c=JF(JF(J_(RF(a,nwW),RF(t[u],nwW)),RF(e[o+u],nwW)),RF(AW(c),nwW)),e[o+u]=AW(c),c=A7(c,32);e[o+r]=AW(c)}}(e,r,c,i,a)),KM(s=new LZ(u,o,c)),s)}(t,e):(o=(-2&t.d)<<4,h=_A(t,o),f=_A(e,o),r=nh_(t,_L(h,o)),a=nh_(e,_L(f,o)),s=n(h,f),i=n(r,a),c=_L(c=nfh(nfh(c=n(nh_(h,r),nh_(a,f)),s),i),o),nfh(nfh(s=_L(s,o<<1),c),i))}(n,t))}function Ff(n,t){return ER(t)===ER(n)?"(this Map)":null==t?nbi:J2(t)}function Fl(n,t,e){n.i=0,n.e=0,t!=e&&(Wt(n,t,e),Wn(n,t,e))}function Fb(n,t,e,i,r){this.i=n,this.a=t,this.e=e,this.j=i,this.f=r}function Fw(n,t){$Z.call(this),this.a=n,this.b=t,jB(this.a.b,this)}function Fd(n){this.b=new dc,this.c=new dc,this.d=new dc,this.a=n}function Fg(n,t){var e;return e=new p3,n.Gd(e),e.a+="..",t.Hd(e),e.a}function Fp(n,t){var e;for(e=t;e;)Pu(n,e.i,e.j),e=DV(e);return n}function Fm(n,t,e){var i;return i=Zh(e),xM(n.b,i,t),xM(n.c,t,e),t}function Fv(n){var t;for(t=0;n.Ob();)n.Pb(),t=JF(t,1);return Gr(t)}function Fy(n,t){var e;return yP(),function(n,t){var e;if(null!=t&&!n.c.Hk().fk(t))throw e=jM(t,58)?CY(t,58).Dh().zb:mI(WZ(t)),new pL(nET+n.c.xe()+"'s type '"+n.c.Hk().xe()+"' does not permit a value of type '"+e+"'").e}(e=CY(n,69).vk(),t),e.xl(t)}function Fk(n,t){var e;e=n.q.getHours(),n.q.setFullYear(t+nwf),nhp(n,e)}function FM(n,t){return n==(ni8(),n$v)&&t==n$v?4:n==n$v||t==n$v?8:32}function FE(n,t,e){return nhc(n,t,e,jM(t,102)&&(CY(t,19).Bb&nwG)!=0)}function FT(n){n.b!=n.c&&(n.a=BJ(nPa,nl7,1,8,5,1),n.b=0,n.c=0)}function Fj(n){return Px(n.a<n.c.a.length),n.b=n.a,UB(n),n.c.b[n.b]}function FS(n){return n.n||(_v(n),n.n=new AH(n,n00,n),$7(n)),n.n}function FP(n){if(n<0)throw new p$("Negative array size: "+n).e}function FO(n,t,e){e=e?e.oe()(e):void 0,n.a[t]=e}function FC(n,t){var e;return(Wy(),0!=(e=n.j.g-t.j.g))?e:0}function FI(n,t){nuY(),LZ.call(this,n,1,Vw(DY(n4s,1),nwl,28,15,[t]))}function FA(n,t){nlU(),dr.call(this,n),this.a=t,this.c=-1,this.b=-1}function FL(n,t,e,i){R4.call(this,1,e,i),this.c=n,this.b=t}function FN(n,t,e,i){R6.call(this,1,e,i),this.c=n,this.b=t}function Fx(n,t,e,i,r,a,c){qX.call(this,t,i,r,a,c),this.c=n,this.a=e}function F$(n,t,e){this.e=n,this.a=nPa,this.b=nu_(t),this.c=t,this.d=e}function FD(n){this.e=n,this.c=this.e.a,this.b=this.e.g,this.d=this.e.i}function FR(n){this.d=n,this.b=this.d.a.entries(),this.a=this.b.next()}function FK(n){this.c=n,this.a=CY(nec(n),156),this.b=this.a.jk().wi()}function FF(){dc.call(this),Pr(this),this.d.b=this.d,this.d.a=this.d}function F_(n,t,e,i){var r;(r=new D).c=t,r.b=e,r.a=i,i.b=e.a=r,++n.b}function FB(n,t){return t.b.Kb(H2(n,t.c.Xe(),new lu(t)))}function FH(n,t){var e;for(e=0;e<t;++e)NK(n,e,new fX(CY(n[e],44)))}function FU(n){var t;return n?new An(n):(Xj(t=new TE,n),t)}function FG(n){nih(),jF(this,AW(RF(A9(n,24),nde)),AW(RF(n,nde)))}function Fq(){Fq=T,nCX=W4((ZJ(),Vw(DY(nCh,1),nbG,436,0,[nCq,nCG])))}function FX(){FX=T,nCW=W4((U2(),Vw(DY(nCf,1),nbG,435,0,[nCz,nCV])))}function Fz(){Fz=T,nN0=W4((U3(),Vw(DY(nI2,1),nbG,432,0,[nNZ,nN1])))}function FV(){FV=T,n$L=W4((X5(),Vw(DY(nAu,1),nbG,517,0,[n$A,n$I])))}function FW(){FW=T,nKT=W4((Fn(),Vw(DY(nAA,1),nbG,429,0,[nKM,nKE])))}function FQ(){FQ=T,nRK=W4((U4(),Vw(DY(nAM,1),nbG,428,0,[nRD,nRR])))}function FJ(){FJ=T,nRY=W4((HR(),Vw(DY(nAj,1),nbG,488,0,[nRJ,nRQ])))}function FY(){FY=T,nGx=W4((UE(),Vw(DY(nAF,1),nbG,430,0,[nGL,nGN])))}function FZ(){FZ=T,nqm=W4((Ft(),Vw(DY(nAY,1),nbG,531,0,[nqp,nqg])))}function F1(){F1=T,nRk=W4((Bg(),Vw(DY(nAm,1),nbG,431,0,[nRv,nRy])))}function F0(){F0=T,nzS=W4((RI(),Vw(DY(nLe,1),nbG,433,0,[nzj,nzT])))}function F2(){F2=T,nzx=W4((Xc(),Vw(DY(nLi,1),nbG,501,0,[nzL,nzN])))}function F3(){F3=T,nqP=W4((DI(),Vw(DY(nA2,1),nbG,523,0,[nqS,nqj])))}function F4(){F4=T,nqI=W4((DA(),Vw(DY(nA3,1),nbG,522,0,[nqO,nqC])))}function F6(){F6=T,nqW=W4((Bw(),Vw(DY(nA4,1),nbG,528,0,[nqV,nqz])))}function F5(){F5=T,nq3=W4((DC(),Vw(DY(nA6,1),nbG,465,0,[nq0,nq2])))}function F8(){F8=T,nzU=W4((Hp(),Vw(DY(nLa,1),nbG,434,0,[nzB,nzH])))}function F9(){F9=T,nWA=W4((_d(),Vw(DY(nLb,1),nbG,491,0,[nWC,nWI])))}function F7(){F7=T,nWK=W4((zY(),Vw(DY(nLd,1),nbG,492,0,[nWD,nWR])))}function _n(){_n=T,nW0=W4((Bd(),Vw(DY(nLk,1),nbG,438,0,[nW1,nWZ])))}function _t(){_t=T,nQD=W4((Vv(),Vw(DY(nLT,1),nbG,437,0,[nQ$,nQx])))}function _e(){_e=T,n1V=W4((Cj(),Vw(DY(nLW,1),nbG,347,0,[n1X,n1z])))}function _i(n){return n.c&&n.d?RW(n.c)+"->"+RW(n.d):"e_"+SK(n)}function _r(n,t){var e,i;for(xf(t),i=n.Kc();i.Ob();)e=i.Pb(),t.Cd(e)}function _a(n,t){var e;for(e=t;e;)Pu(n,-e.i,-e.j),e=DV(e);return n}function _c(n,t){var e,i;for(e=t,i=0;e>0;)i+=n.a[e],e-=e&-e;return i}function _o(n,t,e){var i;return RN(t,n.c.length),i=n.c[t],n.c[t]=e,i}function _u(n,t,e){n.a.c.length=0,function(n,t,e){var i,r,a,c,o,u,s,h,f;n.c=0,n.b=0,i=2*t.c.a.c.length+1;n:for(s=e.Kc();s.Ob();){if(c=(u=CY(s.Pb(),12)).j==(nf5(),n1t)||u.j==n1m,f=0,c){if(!(h=CY(niK(u,(nlF(),nFi)),10)))continue;f+=function(n,t,e,i){var r,a,c,o,u;for(r=!1,a=!1,o=new fU(i.j);o.a<o.c.c.length;)ER(niK(c=CY(RU(o),12),(nlF(),nK6)))===ER(e)&&(0==c.g.c.length?0==c.e.c.length||(r=!0):a=!0);return u=0,r&&r^a?u=e.j==(nf5(),n1t)?-n.e[i.c.p][i.p]:t-n.e[i.c.p][i.p]:a&&r^a?u=n.e[i.c.p][i.p]+1:r&&a&&(u=e.j==(nf5(),n1t)?0:t/2),u}(n,i,u,h)}else{for(o=new fU(u.g);o.a<o.c.c.length;){if((r=CY(RU(o),18).d).i.c==t.c){jB(n.a,u);continue n}f+=n.g[r.p]}for(a=new fU(u.e);a.a<a.c.c.length;){if((r=CY(RU(a),18).c).i.c==t.c){jB(n.a,u);continue n}f-=n.g[r.p]}}u.e.c.length+u.g.c.length>0?(n.f[u.p]=f/(u.e.c.length+u.g.c.length),n.c=nP_.Math.min(n.c,n.f[u.p]),n.b=nP_.Math.max(n.b,n.f[u.p])):c&&(n.f[u.p]=f)}}(n,t,e),0==n.a.c.length||function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(s=n.e[t.c.p][t.p]+1,u=t.c.a.c.length+1,o=new fU(n.a);o.a<o.c.c.length;){for(c=CY(RU(o),12),f=0,a=0,r=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(c),new lN(c)])));ncv(r);)(i=CY(_I(r),12)).i.c==t.c&&(f+=(l=i.i,n.e[l.c.p][l.p]+1),++a);e=f/a,(h=c.j)==(nf5(),n1n)?e<s?n.f[c.p]=n.c-e:n.f[c.p]=n.b+(u-e):h==n1y&&(e<s?n.f[c.p]=n.b+e:n.f[c.p]=n.c-(u-e))}}(n,t)}function _s(n){n.i=0,y$(n.b,null),y$(n.c,null),n.a=null,n.e=null,++n.g}function _h(){_h=T,nCn=!0,nO9=!1,nO7=!1,nCe=!1,nCt=!1}function _f(n){_h(),nCn||(this.c=n,this.e=!0,this.a=new du)}function _l(n,t){this.c=0,this.b=t,E3.call(this,n,17493),this.a=this.c}function _b(n){nl$(),this.b=new mt,this.a=new vq,WT(this,n),IA(this.a,n)}function _w(){TQ(this),this.b=new MH(nwF,nwF),this.a=new MH(nw_,nw_)}function _d(){_d=T,nWC=new MP(nmb,0),nWI=new MP("TARGET_WIDTH",1)}function _g(n,t){return(JC(n),mQ(new Aa(n,new HU(t,n.a)))).Bd(nCF)}function _p(n){return!!n.c&&!!n.d&&!!n.c.i&&n.c.i==n.d.i}function _m(n,t){return!!jM(t,143)&&OB(n.c,CY(t,143).c)}function _v(n){return n.t||(n.t=new wY(n),Jo(new pM(n),0,n.t)),n.t}function _y(n){this.b=n,j2.call(this,n),this.a=CY(zA(this.b.a,4),129)}function _k(n){this.b=n,SQ.call(this,n),this.a=CY(zA(this.b.a,4),129)}function _M(n,t,e,i,r){_3.call(this,t,i,r),this.c=n,this.b=e}function _E(n,t,e,i,r){R4.call(this,t,i,r),this.c=n,this.a=e}function _T(n,t,e,i,r){R6.call(this,t,i,r),this.c=n,this.a=e}function _j(n,t,e,i,r){_3.call(this,t,i,r),this.c=n,this.a=e}function _S(n,t){return CY(UC(n.d,t),23)||CY(UC(n.e,t),23)}function _P(n,t){var e,i;return e=t.ld(),!!(i=n.Fe(e))&&xL(i.e,t.md())}function _O(n,t){var e;return new vj(e=t.ld(),n.e.pc(e,CY(t.md(),16)))}function _C(n){var t;return t=n.length,OB(nwU.substr(nwU.length-t,t),n)}function _I(n){if(ncv(n))return n.c=n.a,n.a.Pb();throw(new dF).e}function _A(n,t){return 0==t||0==n.e?n:t>0?noq(n,t):Y5(n,-t)}function _L(n,t){return 0==t||0==n.e?n:t>0?Y5(n,t):noq(n,-t)}function _N(n){yL.call(this,null==n?nbi:J2(n),jM(n,82)?CY(n,82):null)}function _x(n){var t;return!n.c&&jM(t=n.r,90)&&(n.c=CY(t,29)),n.c}function _$(n){var t;return zU(t=new $1,n),VD(t,(nlL(),nHP),null),t}function _D(n){var t,e;return t=n.c.i,e=n.d.i,t.k==(ni8(),n$g)&&e.k==n$g}function _R(n){return js(n&nwO,n>>22&nwO,n<0?nwC:0)}function _K(n,t,e){var i;return(i=n.Ih(t))>=0?n.Lh(i,e,!0):naB(n,t,e)}function _F(n,t){n._i(n.i+1),jH(n,n.i,n.Zi(n.i,t)),n.Mi(n.i++,t),n.Ni()}function __(n){var t,e;++n.j,t=n.g,e=n.i,n.g=null,n.i=0,n.Oi(e,t),n.Ni()}function _B(n,t,e){var i;X7(i=new jS(n.a),n.a.a),nr3(i.f,t,e),n.a.a=i}function _H(n,t,e,i){var r;for(r=0;r<nCv;r++)AI(n.a[r][t.g],e,i[t.g])}function _U(n,t,e,i){var r;for(r=0;r<nCm;r++)AA(n.a[t.g][r],e,i[t.g])}function _G(n,t){var e;return(e=CY(n.c.xc(t),16))||(e=n.ic(t)),n.pc(t,e)}function _q(n){var t,e;return NP(n),qL(e=n.length,nbX),VW(t=new Bf(Gr(JF(JF(5,e),e/10|0))),n),t}function _X(n,t,e,i){var r;return function(n,t,e,i,r){var a,c;for(c=0,a=0;c<r;c++)a=JF(a,JB(RF(t[c],nwW),RF(i[c],nwW))),n[c]=AW(a),a=A9(a,32);for(;c<e;c++)a=JF(a,RF(t[c],nwW)),n[c]=AW(a),a=A9(a,32)}(r=BJ(n4s,nwl,28,t,15,1),n,t,e,i),r}function _z(n,t){if(n<0||n>t)throw new pC(nr8(n,t,"index")).e;return n}function _V(n,t){var e;return RN(t,n.c.length),e=n.c[t],mY(n.c,t,1),e}function _W(n,t){return xf(n),xf(t),n==t?0:n<t?-1:1}function _Q(n){var t;return isNaN(t=n.e+n.f)&&O6(n.d)?n.d:t}function _J(n,t){return n.a?EY(n.a,n.b):n.a=new Sv(n.d),EQ(n.a,t),n}function _Y(n,t){return EK(t)?null==t?nch(n.f,null):zG(n.i,t):nch(n.f,t)}function _Z(n,t){E2.call(this,t.zd(),-6&t.yd()),xf(n),this.a=n,this.b=t}function _1(n,t){E3.call(this,t.zd(),-6&t.yd()),xf(n),this.a=n,this.b=t}function _0(n,t){E4.call(this,t.zd(),-6&t.yd()),xf(n),this.a=n,this.b=t}function _2(n,t,e){w5.call(this,e),this.b=n,this.c=t,this.d=(YR(),n2X)}function _3(n,t,e){this.d=n,this.k=+!!t,this.f=+!!e,this.o=-1,this.p=0}function _4(n){this.c=n,this.a=new fU(this.c.a),this.b=new fU(this.c.b)}function _6(){this.e=new du,this.c=new du,this.d=new du,this.b=new du}function _5(){this.g=new dZ,this.b=new dZ,this.a=new du,this.k=new du}function _8(){this.a=new d9,this.b=new gw,this.d=new tg,this.e=new tE}function _9(n,t,e){this.a=n,this.c=t,this.d=e,jB(t.e,this),jB(e.b,this)}function _7(n,t,e){var i,r;for(r=0,i=0;r<t.length;r++)i+=n.tg(t[r],i,e)}function Bn(n){var t;return 0==(t=n.b).b?null:CY(nnt(t,0),65).b}function Bt(n){return n.a?n.e?Bt(n.e):null:n}function Be(n){var t;return!n.a&&jM(t=n.r,156)&&(n.a=CY(t,156)),n.a}function Bi(n,t){return!!LR(n.a,t)&&(_Y(n.a,t),!0)}function Br(n,t,e){return KO(t,n.e.Rd().gc()),KO(e,n.c.Rd().gc()),n.a[t][e]}function Ba(n,t,e){this.a=n,this.b=t,this.c=e,jB(n.t,this),jB(t.i,this)}function Bc(n,t,e,i){this.f=n,this.e=t,this.d=e,this.b=i,this.c=i?i.d:null}function Bo(){this.b=new vq,this.a=new vq,this.b=new vq,this.a=new vq}function Bu(){Bu=T,mT(),n27=new dH,n3n=new gA}function Bs(n){var t;for(xa(n),t=0;n.a.Bd(new nu);)t=JF(t,1);return t}function Bh(n,t){return xf(t),n.c<n.d&&(n.Se(t,n.c++),!0)}function Bf(n){TQ(this),C9(n>=0,"Initial capacity must not be negative")}function Bl(){Bl=T,nQ4=new wX("org.eclipse.elk.labels.labelManager")}function Bb(){Bb=T,nDA=new P5("separateLayerConnections",(Vd(),nD$))}function Bw(){Bw=T,nqV=new Mf("REGULAR",0),nqz=new Mf("CRITICAL",1)}function Bd(){Bd=T,nW1=new ML("FIXED",0),nWZ=new ML("CENTER_NODE",1)}function Bg(){Bg=T,nRv=new kP("QUADRATIC",0),nRy=new kP("SCANLINE",1)}function Bp(){Bp=T,nRj=W4((q$(),Vw(DY(nAv,1),nbG,322,0,[nRE,nRM,nRT])))}function Bm(){Bm=T,nRC=W4((qv(),Vw(DY(nAy,1),nbG,351,0,[nRS,nRO,nRP])))}function Bv(){Bv=T,nRt=W4((Xa(),Vw(DY(nAd,1),nbG,372,0,[nRn,nD7,nD9])))}function By(){By=T,nRH=W4((VH(),Vw(DY(nAE,1),nbG,460,0,[nR_,nRF,nRB])))}function Bk(){Bk=T,nKp=W4((zJ(),Vw(DY(nAC,1),nbG,299,0,[nKd,nKg,nKw])))}function BM(){BM=T,nKk=W4((UM(),Vw(DY(nAI,1),nbG,311,0,[nKv,nKy,nKm])))}function BE(){BE=T,nGr=W4((QS(),Vw(DY(nAx,1),nbG,390,0,[nGt,nGe,nGi])))}function BT(){BT=T,nGH=W4((zl(),Vw(DY(nAB,1),nbG,387,0,[nGF,nG_,nGB])))}function Bj(){Bj=T,nGX=W4((Wm(),Vw(DY(nAH,1),nbG,349,0,[nGq,nGU,nGG])))}function BS(){BS=T,nGK=W4((qy(),Vw(DY(nA_,1),nbG,463,0,[nGR,nG$,nGD])))}function BP(){BP=T,nGQ=W4((WQ(),Vw(DY(nAU,1),nbG,350,0,[nGz,nGV,nGW])))}function BO(){BO=T,nG1=W4((qm(),Vw(DY(nAG,1),nbG,352,0,[nGZ,nGJ,nGY])))}function BC(){BC=T,nG4=W4((Vm(),Vw(DY(nAq,1),nbG,388,0,[nG2,nG3,nG0])))}function BI(){BI=T,nXw=W4((Wv(),Vw(DY(nLn,1),nbG,392,0,[nXb,nXl,nXf])))}function BA(){BA=T,nzz=W4((WW(),Vw(DY(nLc,1),nbG,393,0,[nzG,nzq,nzX])))}function BL(){BL=T,nVO=W4((zf(),Vw(DY(nLu,1),nbG,300,0,[nVS,nVP,nVj])))}function BN(){BN=T,nVL=W4((Y1(),Vw(DY(nLs,1),nbG,445,0,[nVC,nVI,nVA])))}function Bx(){Bx=T,nVD=W4((nnj(),Vw(DY(nLh,1),nbG,456,0,[nVN,nV$,nVx])))}function B$(){B$=T,nVJ=W4((Jq(),Vw(DY(nLf,1),nbG,394,0,[nVW,nVQ,nVV])))}function BD(){BD=T,nW$=W4((HY(),Vw(DY(nLw,1),nbG,439,0,[nWL,nWx,nWN])))}function BR(){BR=T,nql=W4((qp(),Vw(DY(nAV,1),nbG,464,0,[nqs,nqh,nqf])))}function BK(){BK=T,nIh=W4((HS(),Vw(DY(nCy,1),nbG,471,0,[nIu,nIo,nIs])))}function BF(){BF=T,nIc=W4((GL(),Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa])))}function B_(){B_=T,nIw=W4((Uk(),Vw(DY(nCM,1),nbG,472,0,[nIb,nIl,nIf])))}function BB(){BB=T,nCK=W4((WJ(),Vw(DY(nCi,1),nbG,108,0,[nC$,nCD,nCR])))}function BH(){BH=T,nxG=W4((Uy(),Vw(DY(nI3,1),nbG,391,0,[nxH,nxB,nxU])))}function BU(){BU=T,nZO=W4((QO(),Vw(DY(nLF,1),nbG,346,0,[nZS,nZj,nZP])))}function BG(){BG=T,nWV=W4((Js(),Vw(DY(nLm,1),nbG,444,0,[nWq,nWX,nWz])))}function Bq(){Bq=T,nZa=W4((GN(),Vw(DY(nLD,1),nbG,278,0,[nZe,nZi,nZr])))}function BX(){BX=T,n1q=W4((QP(),Vw(DY(nLV,1),nbG,280,0,[n1U,n1H,n1G])))}function Bz(n,t){return n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),YA(n.o,t)}function BV(n){var t,e,i,r;r=n.d,t=n.a,e=n.b,i=n.c,n.d=e,n.a=i,n.b=r,n.c=t}function BW(n){return n.g||(n.g=new oY),n.g.c||(n.g.c=new wJ(n)),n.g.c}function BQ(n,t,e,i){var r;return function(n,t,e,i,r){var a,c;if(a=JF(RF(t[0],nwW),RF(i[0],nwW)),n[0]=AW(a),a=A9(a,32),e>=r){for(c=1;c<r;c++)a=JF(a,JF(RF(t[c],nwW),RF(i[c],nwW))),n[c]=AW(a),a=A9(a,32);for(;c<e;c++)a=JF(a,RF(t[c],nwW)),n[c]=AW(a),a=A9(a,32)}else{for(c=1;c<e;c++)a=JF(a,JF(RF(t[c],nwW),RF(i[c],nwW))),n[c]=AW(a),a=A9(a,32);for(;c<r;c++)a=JF(a,RF(i[c],nwW)),n[c]=AW(a),a=A9(a,32)}0!=Qv(a,0)&&(n[c]=AW(a))}(r=BJ(n4s,nwl,28,t+1,15,1),n,t,e,i),r}function BJ(n,t,e,i,r,a){var c;return c=ntf(r,i),10!=r&&Vw(DY(n,a),t,e,r,c),c}function BY(n,t,e){var i,r;if(null!=e)for(i=0;i<t;++i)r=e[i],n.Qi(i,r)}function BZ(n,t){var e;return(e=new _).c=!0,e.d=t.md(),nfR(n,t.ld(),e)}function B1(n,t){var e;return e=$B(CW(new H8(n,t))),IJ(new H8(n,t)),e}function B0(n,t,e){CY(n.b,68),CY(n.b,68),CY(n.b,68),Gd(n.a,new Cf(e,t,n))}function B2(n,t,e){if(n<0||t>e||t<n)throw new p4(ndw+n+ndg+t+ndi+e).e}function B3(n){n?(this.c=n,this.b=null):(this.c=null,this.b=new du)}function B4(n,t){yH.call(this,n,t),this.a=BJ(nO4,nbL,447,2,0,1),this.b=!0}function B6(n){VV.call(this,n,0),Pr(this),this.d.b=this.d,this.d.a=this.d}function B5(n){this.e=n,this.b=this.e.a.entries(),this.a=BJ(nPa,nl7,1,0,5,1)}function B8(){B8=T,nG8=AX(IG(new xm,(niF(),nxV),(nlB(),n$8)),nxY,nDv)}function B9(n){var t;return n.a||-1==n.b||(t=n.c.Dh(),n.a=Gt(t,n.b)),n.a}function B7(n,t){return!(n.Si()&&n.Hc(t))&&(n.Hi(t),!0)}function Hn(n,t){return $9(t,"Horizontal alignment cannot be null"),n.b=t,n}function Ht(n,t,e){var i;return nlU(),i=nlu(n,t),e&&i&&n4i&&$G(n4i,n)&&(i=null),i}function He(n,t,e){var i;i=n.b[e.c.p][e.p],i.b+=t.b,i.c+=t.c,i.a+=t.a,++i.a}function Hi(n,t,e){var i;n.d[t.g]=e,(i=n.g.c)[t.g]=nP_.Math.max(i[t.g],e+1)}function Hr(n,t){var e,i;return e=n.a-t.a,i=n.b-t.b,nP_.Math.sqrt(e*e+i*i)}function Ha(n,t){var e;for(e=t.Kc();e.Ob();)nsu(n,CY(e.Pb(),36),0,0)}function Hc(n,t,e){var i;for(i=n.Kc();i.Ob();)nuW(CY(i.Pb(),36),t,e)}function Ho(n,t){var e;return e=n.e,LR(e.e,t)||Zq(n.e,t,new ZY(t)),CY(UC(n.e,t),113)}function Hu(n,t,e,i){return xf(n),xf(t),xf(e),xf(i),new L1(n,t,new B)}function Hs(n,t,e,i){this.ak(),this.a=t,this.b=n,this.c=new LI(this,t,e,i)}function Hh(n,t,e,i,r,a){KJ.call(this,t,i,r,a),this.c=n,this.b=e}function Hf(n,t,e,i,r,a){KJ.call(this,t,i,r,a),this.c=n,this.a=e}function Hl(n,t){var e,i,r;return r=n.r,i=n.d,(e=nhL(n,t,!0)).b!=r||e.a!=i}function Hb(n,t,e){var i;return(i=ncz(n.b,t))?nhZ(Ur(n,i),e):null}function Hw(n,t){var e;return(e=n.Ih(t))>=0?n.Lh(e,!0,!0):naB(n,t,!0)}function Hd(n){return(NP(n),jM(n,204))?CY(n,204):new fe(n)}function Hg(){var n,t,e,i;Hg=T,nQF=new c3,nQB=new c4,n=(nl_(),nYM),t=nQF,e=nYt,i=nQB,xj(),nQ_=new ps(Vw(DY(nPl,1),nbL,44,0,[(nnV(n,t),new vj(n,t)),(nnV(e,i),new vj(e,i))]))}function Hp(){Hp=T,nzB=new My("LEAF_NUMBER",0),nzH=new My("NODE_SIZE",1)}function Hm(n){n.a=BJ(n4s,nwl,28,n.b+1,15,1),n.c=BJ(n4s,nwl,28,n.b,15,1),n.d=0}function Hv(n,t){if(null==n.g||t>=n.i)throw new Tc(t,n.i).e;return n.g[t]}function Hy(n,t,e){if(Wl(n,e),null!=e&&!n.fk(e))throw(new dA).e;return e}function Hk(n,t){return 10!=UR(t)&&Vw(WZ(t),t.Sm,t.__elementTypeId$,UR(t),n),n}function HM(n,t,e,i){$P(),i=i||nOG,function n(t,e,i,r,a,c){if(r-i<7)return void function(n,t,e,i){var r,a,c;for(r=t+1;r<e;++r)for(a=r;a>t&&i.Ne(n[a-1],n[a])>0;--a)c=n[a],NK(n,a,n[a-1]),NK(n,a-1,c)}(e,i,r,c);if(s=(u=i+a)+((o=r+a)-u>>1),n(e,t,u,s,-a,c),n(e,t,s,o,-a,c),0>=c.Ne(t[s-1],t[s])){for(;i<r;)NK(e,i++,t[u++]);return}var o,u,s,h,f=u,l=i;for(h=s;l<r;)h>=o||f<s&&0>=c.Ne(t[f],t[h])?NK(e,l++,t[f++]):NK(e,l++,t[h++])}(n.slice(t,e),n,t,e,-t,i)}function HE(n,t,e,i,r){return t<0?naB(n,e,i):CY(e,69).wk().yk(n,n.hi(),t,i,r)}function HT(){HT=T,nCL=W4((Hj(),Vw(DY(nO6,1),nbG,304,0,[nCO,nCC,nCI,nCA])))}function Hj(){Hj=T,nCO=new yF("All",0),nCC=new Tz,nCI=new jb,nCA=new TX}function HS(){HS=T,nIu=new y1(nd1,0),nIo=new y1(ndJ,1),nIs=new y1(nd0,2)}function HP(){HP=T,nhC(),n3R=nwF,n3D=nw_,n3F=new fA(nwF),n3K=new fA(nw_)}function HO(){HO=T,nIG=W4((zQ(),Vw(DY(nCT,1),nbG,417,0,[nIU,nI_,nIB,nIH])))}function HC(){HC=T,nNM=W4((nnc(),Vw(DY(nIZ,1),nbG,406,0,[nNv,nNm,nNy,nNk])))}function HI(){HI=T,nIW=W4((nno(),Vw(DY(nCj,1),nbG,332,0,[nIX,nIq,nIz,nIV])))}function HA(){HA=T,n$f=W4((ZT(),Vw(DY(nAn,1),nbG,389,0,[n$h,n$u,n$o,n$s])))}function HL(){HL=T,nx7=W4((Vp(),Vw(DY(nI7,1),nbG,416,0,[nx6,nx9,nx5,nx8])))}function HN(){HN=T,nDJ=W4((Vg(),Vw(DY(nAb,1),nbG,421,0,[nDz,nDV,nDW,nDQ])))}function Hx(){Hx=T,nDD=W4((Vd(),Vw(DY(nAf,1),nbG,371,0,[nD$,nDN,nDx,nDL])))}function H$(){H$=T,nGs=W4((nnT(),Vw(DY(nA$,1),nbG,203,0,[nGo,nGu,nGc,nGa])))}function HD(){HD=T,nGA=W4((Zu(),Vw(DY(nAK,1),nbG,284,0,[nGO,nGP,nGC,nGI])))}function HR(){HR=T,nRJ=new k$(npL,0),nRQ=new k$("IMPROVE_STRAIGHTNESS",1)}function HK(n,t){var e,i;return i=t/n.c.Rd().gc()|0,e=t%n.c.Rd().gc(),Br(n,i,e)}function HF(n){var t;if(n.nl())for(t=n.i-1;t>=0;--t)GO(n,t);return Fc(n)}function H_(n){var t,e;if(!n.b)return null;for(e=n.b;t=e.a[0];)e=t;return e}function HB(n){var t,e;if(!n.b)return null;for(e=n.b;t=e.a[1];)e=t;return e}function HH(n,t){if(t.a)throw new ph(ndT).e;LX(n.a,t),t.a=n,n.j||(n.j=t)}function HU(n,t){E4.call(this,t.zd(),-16449&t.yd()),xf(n),this.a=n,this.c=t}function HG(){HG=T,nVT=W4((nti(),Vw(DY(nLo,1),nbG,354,0,[nVE,nVk,nVM,nVy])))}function Hq(){Hq=T,nzE=W4((WV(),Vw(DY(nLt,1),nbG,353,0,[nzM,nzy,nzk,nzv])))}function HX(){HX=T,nq9=W4((ntU(),Vw(DY(nA5,1),nbG,405,0,[nq4,nq6,nq5,nq8])))}function Hz(){Hz=T,nZh=W4((JG(),Vw(DY(nLR,1),nbG,223,0,[nZs,nZo,nZc,nZu])))}function HV(){HV=T,nZN=W4((ntG(),Vw(DY(nL_,1),nbG,291,0,[nZL,nZC,nZI,nZA])))}function HW(){HW=T,n1A=W4((YZ(),Vw(DY(nLX,1),nbG,386,0,[n1C,n1I,n1O,n1P])))}function HQ(){HQ=T,n1Z=W4((Yw(),Vw(DY(nLQ,1),nbG,320,0,[n1Y,n1W,n1J,n1Q])))}function HJ(){HJ=T,n14=W4((Wp(),Vw(DY(nLY,1),nbG,415,0,[n10,n12,n11,n13])))}function HY(){HY=T,nWL=new MO(nkg,0),nWx=new MO(nyA,1),nWN=new MO(npL,2)}function HZ(n,t,e,i,r){return xf(n),xf(t),xf(e),xf(i),xf(r),new L1(n,t,i)}function H1(n,t){var e;return(e=CY(_Y(n.e,t),400))?(II(e),e.e):null}function H0(n,t){var e;return -1!=(e=H6(n,t,0))&&(_V(n,e),!0)}function H2(n,t,e){var i;return xa(n),(i=new nc).a=t,n.a.Nb(new yV(i,e)),i.a}function H3(n){var t;if(!q7(n))throw(new dF).e;return n.e=1,t=n.d,n.d=null,t}function H4(n){var t;return Ty(n)&&!isNaN(t=0-n)?t:zC(VL(n))}function H6(n,t,e){for(;e<n.c.length;++e)if(xL(t,n.c[e]))return e;return -1}function H5(n){var t;return t=CY(I0(n.j,0),12),CY(niK(t,(nlF(),nK6)),12)}function H8(n,t){var e;this.f=n,this.b=t,e=CY(NR(n.b,t),260),this.c=e?e.b:null}function H9(){CE(),this.b=new dc,this.f=new dc,this.g=new dc,this.e=new dc}function H7(n){jZ(this),this.g=n?De(n,n.ie()):null,this.f=n,$w(this),this.je()}function Un(n){var t;null!=(t=n.jj())&&-1!=n.d&&CY(t,94).xh(n),n.i&&n.i.oj()}function Ut(n){var t;for(t=n.p+1;t<n.c.a.c.length;++t)--CY(I0(n.c.a,t),10).p}function Ue(n){P$(!!n.c),Ch(n.f.g,n.d),n.c.Qb(),n.c=null,n.b=Vi(n),n.d=n.f.g}function Ui(n){return!n.b&&(n.b=new AU(n,n00,n),n.a||(n.a=new P6(n,n))),n.b}function Ur(n,t){var e,i;return(i=(e=CY(t,690)).xi())||e.Ai(i=new EA(n,t)),i}function Ua(n,t){var e,i;return(i=(e=CY(t,692)).$k())||e.cl(i=new Kc(n,t)),i}function Uc(n,t){var e,i;return yc(),e=K7(n),i=K7(t),!!e&&!!i&&!nnf(e.k,i.k)}function Uo(n,t){return xL(t,I0(n.f,0))||xL(t,I0(n.f,1))||xL(t,I0(n.f,2))}function Uu(n,t){if(t<0)throw new pC(nME+t).e;return Fo(n,t+1),I0(n.j,t)}function Us(n,t,e,i){if(!n)throw new pN(nuK(t,Vw(DY(nPa,1),nl7,1,5,[e,i]))).e}function Uh(n,t,e,i,r,a,c){qX.call(this,t,i,r,a,c),this.c=n,this.b=e}function Uf(n,t,e){var i,r;for(r=0,i=10;r<e-1;r++)t<i&&(n.a+="0"),i*=10;n.a+=t}function Ul(n){var t,e;return t=BJ(n4u,nb5,28,e=n.length,15,1),Nr(n,0,e,t,0),t}function Ub(n){var t,e;return I8(),(e=nOh[t=n+128])||(e=nOh[t]=new fC(n)),e}function Uw(n){return Ch(n.d.a.e.g,n.b),Px(n.c!=n.d.a.d),n.a=n.c,n.c=n.c.a,n.a}function Ud(n){(!this.q?($O(),$O(),nOB):this.q).Ac(n.q?n.q:($O(),$O(),nOB))}function Ug(n,t){var e;return(e=Ym(n.d,t))>=0?nnd(n,e,!0,!0):naB(n,t,!0)}function Up(n){var t;return null==(t=qr(zA(n,32)))&&(Zm(n),t=qr(zA(n,32))),t}function Um(n){var t;return n.Oh()||(t=N$(n.Dh())-n.ji(),n.$h().Mk(t)),n.zh()}function Uv(n,t){nIJ=new n1,nIY=t,CY((nIQ=n).b,68),B0(nIQ,nIJ,null),nfn(nIQ)}function Uy(){Uy=T,nxH=new y7("XY",0),nxB=new y7("X",1),nxU=new y7("Y",2)}function Uk(){Uk=T,nIb=new y0("TOP",0),nIl=new y0(ndJ,1),nIf=new y0(nd3,2)}function UM(){UM=T,nKv=new k_(npL,0),nKy=new k_("TOP",1),nKm=new k_(nd3,2)}function UE(){UE=T,nGL=new kW("INPUT_ORDER",0),nGN=new kW("PORT_DEGREE",1)}function UT(){UT=T,nOi=js(nwO,nwO,524287),nOr=js(0,0,nwI),nOa=_R(1),_R(2),nOc=_R(0)}function Uj(n){var t;return n.d!=n.r&&(t=nec(n),n.e=!!t&&t.lk()==njM,n.d=t),n.e}function US(n,t,e){var i;return i=n.g[t],jH(n,t,n.Zi(t,e)),n.Ri(t,e,i),n.Ni(),i}function UP(n,t){var e;return(e=n.dd(t))>=0&&(n.gd(e),!0)}function UO(n,t){var e;for(NP(n),NP(t),e=!1;t.Ob();)e|=n.Fc(t.Pb());return e}function UC(n,t){var e;return(e=CY(NR(n.e,t),400))?(jx(n,e),e.e):null}function UI(n){var t,e;return(t=n/60|0,0==(e=n%60))?""+t:""+t+":"+e}function UA(n,t){var e=n.a[t],i=(VU(),nOt)[typeof e];return i?i(e):Qo(typeof e)}function UL(n,t){var e;return JC(n),e=new OV(new _0(t,n.a)),new Aa(n,e)}function UN(n){var t;return null!=(t=0==n.b.c.length?null:I0(n.b,0))&&Xd(n,0),t}function Ux(n,t){var e;for(++n.d,++n.c[t],e=t+1;e<n.a.length;)++n.a[e],e+=e&-e}function U$(n,t,e,i){nlU(),dr.call(this,26),this.c=n,this.a=t,this.d=e,this.b=i}function UD(n,t){for(;t[0]<n.length&&Tp(" \r\n",niT(xq(n,t[0])))>=0;)++t[0]}function UR(n){return null==n.__elementTypeCategory$?10:n.__elementTypeCategory$}function UK(n,t){return t==(Ci(),Ci(),nOJ)?n.toLocaleLowerCase():n.toLowerCase()}function UF(n){if(!n.e)throw(new dF).e;return n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function U_(n){if(!n.c)throw(new dF).e;return n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function UB(n){var t;for(++n.a,t=n.c.a.length;n.a<t;++n.a)if(n.c.b[n.a])return}function UH(n){var t;return!!(t=CY(niK(n,(nlF(),nKP)),313))&&t.a==n}function UU(n){var t;return!!(t=CY(niK(n,(nlF(),nKP)),313))&&t.i==n}function UG(){UG=T,nxZ=W4((niF(),Vw(DY(nI4,1),nbG,367,0,[nxV,nxW,nxQ,nxJ,nxY])))}function Uq(){Uq=T,nD3=W4((ne2(),Vw(DY(nAw,1),nbG,375,0,[nDZ,nD0,nD2,nD1,nDY])))}function UX(){UX=T,nR$=W4((Zo(),Vw(DY(nAk,1),nbG,348,0,[nRA,nRI,nRN,nRx,nRL])))}function Uz(){Uz=T,nGd=W4((nna(),Vw(DY(nAD,1),nbG,323,0,[nGw,nGf,nGl,nGh,nGb])))}function UV(){UV=T,nFT=W4((Yb(),Vw(DY(nAL,1),nbG,171,0,[nFE,nFv,nFy,nFk,nFM])))}function UW(){UW=T,nz_=W4((nic(),Vw(DY(nLr,1),nbG,368,0,[nzK,nz$,nzF,nzD,nzR])))}function UQ(){UQ=T,nWG=W4((nol(),Vw(DY(nLp,1),nbG,373,0,[nW_,nWF,nWH,nWB,nWU])))}function UJ(){UJ=T,nW8=W4((nru(),Vw(DY(nLM,1),nbG,324,0,[nW2,nW3,nW5,nW4,nW6])))}function UY(){UY=T,nZt=W4((Ju(),Vw(DY(nL$,1),nbG,88,0,[nY7,nY9,nY8,nY5,nZn])))}function UZ(){UZ=T,nQV=W4((ZW(),Vw(DY(nLC,1),nbG,170,0,[nQX,nQq,nQU,nQz,nQG])))}function U1(){U1=T,nZW=W4((Z0(),Vw(DY(nLH,1),nbG,256,0,[nZX,nZV,nZG,nZq,nZz])))}function U0(){U0=T,n1k=W4((nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])))}function U2(){U2=T,nCz=new yJ("BY_SIZE",0),nCV=new yJ("BY_SIZE_AND_SHAPE",1)}function U3(){U3=T,nNZ=new y9("EADES",0),nN1=new y9("FRUCHTERMAN_REINGOLD",1)}function U4(){U4=T,nRD=new kL("READING_DIRECTION",0),nRR=new kL("ROTATION",1)}function U6(){U6=T,n$e=new td,n$i=new tv,n$n=new ty,n$t=new tm,n$r=new tk}function U5(n){this.b=new du,this.a=new du,this.c=new du,this.d=new du,this.e=n}function U8(n){this.g=n,this.f=new du,this.a=nP_.Math.min(this.g.c.c,this.g.d.c)}function U9(n,t,e){Oy.call(this),GI(this),this.a=n,this.c=e,this.b=t.d,this.f=t.e}function U7(n,t,e){if(null==t)throw(new d$).e;var i=D$(n,t);if(e){var r=e.oe();n.a[t]=r(e)}else delete n.a[t];return i}function Gn(n,t){var e;return(e=CY(NR(n.a,t),137))||(e=new nQ,xM(n.a,t,e)),e}function Gt(n,t){var e;return null==n.i&&nhr(n),e=n.i,t>=0&&t<e.length?e[t]:null}function Ge(n){var t;t=new gx,B7((n.q||(n.q=new Lk(n02,n,11,10)),n.q),t)}function Gi(n){return((2&n.i)!=0?"interface ":(1&n.i)!=0?"":"class ")+(PL(n),n.o)}function Gr(n){return Qv(n,nl3)>0?nl3:0>Qv(n,nbJ)?nbJ:AW(n)}function Ga(n){return n<3?(qL(n,nb_),n+1):n<nbH?Dy(n/.75+1):nl3}function Gc(n,t){return xf(t),Ls(n),!!n.d.Ob()&&(t.Cd(n.d.Pb()),!0)}function Go(n,t){return!!Xq(n,t,AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15))))}function Gu(n,t){var e;for(e=n.Kc();e.Ob();)VD(CY(e.Pb(),72),(nlF(),nKJ),t)}function Gs(n,t){var e;return JC(n),e=new $k(n,n.a.zd(),4|n.a.yd(),t),new Aa(n,e)}function Gh(n){var t;P$(!!n.c),t=n.c.a,Gy(n.d,n.c),n.b==n.c?n.b=t:--n.a,n.c=null}function Gf(n){return n.a>=-.01&&n.a<=nd5&&(n.a=0),n.b>=-.01&&n.b<=nd5&&(n.b=0),n}function Gl(n){var t,e;for(nue(),e=ny1,t=0;t<n.length;t++)n[t]>e&&(e=n[t]);return e}function Gb(n,t){var e;if(!(e=noS(n.Dh(),t)))throw new pN(nET+t+nEP).e;return e}function Gw(n,t){var e;for(e=n;DV(e);)if((e=DV(e))==t)return!0;return!1}function Gd(n,t){var e,i,r,a;for(xf(t),i=n.c,r=0,a=i.length;r<a;++r)e=i[r],t.Cd(e)}function Gg(n,t,e,i,r,a){var c;Ra(c=_$(i),r),Ru(c,a),naR(n.a,i,new Cw(c,t,e.f))}function Gp(n,t){nnh(n,(nuI(),nVG),t.f),nnh(n,nVB,t.e),nnh(n,nVU,t.d),nnh(n,nV_,t.c)}function Gm(n,t){this.a=new dc,this.e=new dc,this.b=(QS(),nGi),this.c=n,this.b=t}function Gv(n){this.d=n,this.c=n.c.vc().Kc(),this.b=null,this.a=null,this.e=(pw(),nPZ)}function Gy(n,t){var e;return e=t.c,t.a.b=t.b,t.b.a=t.a,t.a=t.b=null,t.c=null,--n.b,e}function Gk(n){if(n<0)throw new pN("Illegal Capacity: "+n).e;this.g=this.aj(n)}function GM(n,t){return T6(),qM(nbQ),nP_.Math.abs(n-t)<=nbQ||n==t||isNaN(n)&&isNaN(t)}function GE(n,t){var e,i,r,a;for(i=n.d,r=0,a=i.length;r<a;++r)e=i[r],jD(n.g,e).a=t}function GT(n){var t;return n.w?n.w:((t=n.Db>>16!=6?null:CY(ncs(n),241))&&!t.Vh()&&(n.w=t),t)}function Gj(n,t){var e,i,r,a,c,o,u;i=n.a,r=n,a=t,c=null,u=r.a,r.a=a,(4&r.Db)!=0&&(1&r.Db)==0&&(o=new LM(r,1,5,u,r.a),c?ne4(c,o):c=o),e=c,i==t||n.e||(e=nfH(n,t,e)),e&&e.oj()}function GS(n,t,e){var i,r;i=t;do r=pj(n.p[i.p])+e,n.p[i.p]=r,i=n.a[i.p];while(i!=t)}function GP(n,t,e){var i=function(){return n.apply(i,arguments)};return t.apply(i,e),i}function GO(n,t){if(null==n.g||t>=n.i)throw new Tc(t,n.i).e;return n.Wi(t,n.g[t])}function GC(n){return JC(n),C7(!0,"n may not be negative"),new Aa(n,new qV(n.a))}function GI(n){HS(),n.b=nIo,Uk(),n.f=nIl,qL(2,nbU),n.d=new Bf(2),n.e=new mm}function GA(n){this.b=(NP(n),new O8(n)),this.a=new du,this.d=new du,this.e=new mm}function GL(){GL=T,nIi=new yZ("BEGIN",0),nIr=new yZ(ndJ,1),nIa=new yZ("END",2)}function GN(){GN=T,nZe=new MV(ndJ,0),nZi=new MV("HEAD",1),nZr=new MV("TAIL",2)}function Gx(){Gx=T,nzO=Zg(Zg(Zg(yg(new xm,(ntU(),nq6)),(nsi(),nXs)),nXe),nXc)}function G$(){G$=T,nzI=Zg(Zg(Zg(yg(new xm,(ntU(),nq8)),(nsi(),nXr)),nq7),nXi)}function GD(){GD=T,nRm=W4((nr_(),Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl])))}function GR(){GR=T,nRW=W4((nrt(),Vw(DY(nAT,1),nbG,283,0,[nRG,nRU,nRX,nRq,nRV,nRz])))}function GK(){GK=T,nR6=W4((neR(),Vw(DY(nAS,1),nbG,281,0,[nR2,nR0,nR4,nR1,nR3,nRZ])))}function GF(){GF=T,nKe=W4((ni2(),Vw(DY(nAP,1),nbG,282,0,[nKn,nR8,nKt,nR7,nR9,nR5])))}function G_(){G_=T,n$k=W4((ni8(),Vw(DY(nAa,1),nbG,273,0,[n$v,n$m,n$g,n$y,n$p,n$d])))}function GB(){GB=T,nJe=W4((nnS(),Vw(DY(nLN,1),nbG,255,0,[nQ5,nQ7,nJn,nJt,nQ8,nQ9])))}function GH(){GH=T,nJk=W4((neW(),Vw(DY(nLx,1),nbG,298,0,[nJy,nJv,nJm,nJg,nJd,nJp])))}function GU(){GU=T,nZp=W4((nij(),Vw(DY(nLK,1),nbG,321,0,[nZd,nZb,nZg,nZf,nZw,nZl])))}function GG(){GG=T,nZ2=W4((nie(),Vw(DY(nLU,1),nbG,101,0,[nZ0,nZ1,nZZ,nZQ,nZY,nZJ])))}function Gq(){Gq=T,nZ7=W4((nap(),Vw(DY(nLG,1),nbG,279,0,[nZ8,nZ6,nZ5,nZ4,nZ3,nZ9])))}function GX(){GX=T,nCm=nCv=(GL(),Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa])).length}function Gz(n,t){var e;return(e=XG(n,t,AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15)))))?e.i:null}function GV(n,t){return T6(),qM(nbQ),nP_.Math.abs(n-t)<=nbQ||n==t||isNaN(n)&&isNaN(t)}function GW(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,1,e,n.b))}function GQ(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,3,e,n.b))}function GJ(n,t){var e;e=n.f,n.f=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,3,e,n.f))}function GY(n,t){var e;e=n.g,n.g=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,4,e,n.g))}function GZ(n,t){var e;e=n.i,n.i=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,5,e,n.i))}function G1(n,t){var e;e=n.j,n.j=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,6,e,n.j))}function G0(n,t){var e;e=n.j,n.j=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,1,e,n.j))}function G2(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,4,e,n.c))}function G3(n,t){var e;e=n.k,n.k=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,2,e,n.k))}function G4(n,t){var e;e=n.a,n.a=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,0,e,n.a))}function G6(n,t){var e;e=n.s,n.s=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FN(n,4,e,n.s))}function G5(n,t){var e;e=n.t,n.t=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FN(n,5,e,n.t))}function G8(n,t){var e;e=n.d,n.d=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FN(n,2,e,n.d))}function G9(n,t){var e;e=n.F,n.F=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,5,e,t))}function G7(n,t){var e;return(e=CY(NR((yE(),n0C),n),57))?e.gk(t):BJ(nPa,nl7,1,t,5,1)}function qn(n,t){var e;return t in n.a&&(e=D$(n,t).re())?e.a:null}function qt(n,t,e){if(Wl(n,e),!n.kl()&&null!=e&&!n.fk(e))throw(new dA).e;return e}function qe(n,t){return n.n=t,n.n?(n.f=new du,n.e=new du):(n.f=null,n.e=null),n}function qi(n,t){if(n){t.n=n;var e=t.Ae()?null:nPH[t.n];if(!e){nPH[n]=[t];return}e.Rm=t}}function qr(n){var t;return IV(null==n||Array.isArray(n)&&!((t=UR(n))>=14&&t<=16)),n}function qa(n,t){var e;return xf(t),C9(!!(e=n[":"+t]),"Enum constant undefined: "+t),e}function qc(n,t,e,i,r,a){var c;return qi(e,c=NS(n,t)),c.i=8*!!r,c.f=i,c.e=r,c.g=a,c}function qo(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=e}function qu(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=e}function qs(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=e}function qh(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=e}function qf(n,t,e,i,r){this.d=t,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=e}function ql(n,t){var e,i,r;for(i=0,r=t.length;i<r;++i)e=t[i],HH(n.a,e);return n}function qb(n){var t,e;for(t=0,e=n.length;t<e;++t)NP(n[t]);return new TC(n)}function qw(n){var t;return ned(t=Oj(jv(n.d.d),n.c.d),n.c.e.a,n.c.e.b),OT(t,n.c.d)}function qd(n){var t;return ned(t=Oj(jv(n.c.d),n.d.d),n.d.e.a,n.d.e.b),OT(t,n.d.d)}function qg(n,t,e){var i,r;for(r=t.Kc();r.Ob();)i=CY(r.Pb(),74),LX(n,CY(e.Kb(i),27))}function qp(){qp=T,nqs=new k2("BARYCENTER",0),nqh=new k2(np4,1),nqf=new k2(np6,2)}function qm(){qm=T,nGZ=new k1("NO",0),nGJ=new k1(nmb,1),nGY=new k1("LOOK_BACK",2)}function qv(){qv=T,nRS=new kI("ARD",0),nRO=new kI("MSD",1),nRP=new kI("MANUAL",2)}function qy(){qy=T,nGR=new kQ(nd6,0),nG$=new kQ("INPUT",1),nGD=new kQ("OUTPUT",2)}function qk(){return nQH||WM(nQH=new nuR,Vw(DY(nCl,1),nl7,134,0,[new hF])),nQH}function qM(n){if(!(n>=0))throw new pN("tolerance ("+n+") must be >= 0").e;return n}function qE(n,t){var e;return jM(t,44)?n.c.Mc(t):(e=YA(n,t),Zl(n,t),e)}function qT(n,t,e){return Qn(n,t),XC(n,e),G6(n,0),G5(n,1),Q5(n,!0),Q3(n,!0),n}function qj(n,t){var e;if(e=n.gc(),t<0||t>e)throw new OR(t,e).e;return new OX(n,t)}function qS(n,t){n.b=nP_.Math.max(n.b,t.d),n.e+=t.r+(0==n.a.c.length?0:n.c),jB(n.a,t)}function qP(n){P$(n.c>=0),0>function(n,t){if(i=n.a.length-1,e=t-n.b&i,r=n.c-t&i,PD(e<(n.c-n.b&i)),e>=r){var e,i,r,a,c,o=t;for(a=n.a.length-1,n.c=n.c-1&a;o!=n.c;)c=o+1&a,NK(n.a,o,n.a[c]),o=c;return NK(n.a,n.c,null),-1}var u,s,h=t;for(u=n.a.length-1;h!=n.b;)s=h-1&u,NK(n.a,h,n.a[s]),h=s;return NK(n.a,n.b,null),n.b=n.b+1&u,1}(n.d,n.c)&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function qO(n){var t;for(t=n.c.Cc().Kc();t.Ob();)CY(t.Pb(),16).$b();n.c.$b(),n.d=0}function qC(n,t){var e,i;for(e=0,i=t.length;e<i;++e)F_(n,t[e],n.c.b,n.c)}function qI(n,t){var e,i;for(e=0,i=n.gc();e<i;++e)if(xL(t,n.Xb(e)))return e;return -1}function qA(n){var t,e;if(0==n)return 32;for(t=1,e=0;(t&n)==0;t<<=1)++e;return e}function qL(n,t){if(n<0)throw new pN(t+" cannot be negative but was: "+n).e;return n}function qN(n,t){var e;return(e=Xq(n.a,t,AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15)))))?e.g:null}function qx(){qx=T,nOw=Vw(DY(n4s,1),nwl,28,15,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function q$(){q$=T,nRE=new kC("LAYER_SWEEP",0),nRM=new kC(nml,1),nRT=new kC(npL,2)}function qD(){qD=T,nG7=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function qR(){qR=T,nqn=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function qK(){qK=T,nqt=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function qF(){qF=T,nqe=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function q_(){q_=T,nqi=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function qB(){qB=T,nqc=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function qH(){qH=T,nqo=AX(IG(IG(new xm,(niF(),nxQ),(nlB(),nDs)),nxJ,n$7),nxY,nDu)}function qU(n){v8(),this.g=new dc,this.f=new dc,this.b=new dc,this.c=new Ds,this.i=n}function qG(){this.f=new mm,this.d=new gm,this.c=new mm,this.a=new du,this.b=new du}function qq(n,t,e,i){this.ak(),this.a=t,this.b=n,this.c=null,this.c=new OD(this,t,e,i)}function qX(n,t,e,i,r){this.d=n,this.n=t,this.g=e,this.o=i,this.p=-1,r||(this.o=-2-i-1)}function qz(){j0.call(this),this.n=-1,this.g=null,this.i=null,this.j=null,this.Bb|=nbB}function qV(n){E4.call(this,n.Ad(64)?ju(0,JB(n.zd(),1)):nbj,n.yd()),this.b=1,this.a=n}function qW(n,t){n.r>0&&n.c<n.r&&(n.c+=t,n.i&&n.i.d>0&&0!=n.g&&qW(n.i,t/n.r*n.i.d))}function qQ(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,1,e,n.c))}function qJ(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,4,e,n.c))}function qY(n,t){var e;e=n.k,n.k=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,2,e,n.k))}function qZ(n,t){var e;e=n.D,n.D=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,2,e,n.D))}function q1(n,t){var e;e=n.f,n.f=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,8,e,n.f))}function q0(n,t){var e;e=n.i,n.i=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,7,e,n.i))}function q2(n,t){var e;e=n.a,n.a=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,8,e,n.a))}function q3(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,0,e,n.b))}function q4(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,0,e,n.b))}function q6(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,1,e,n.c))}function q5(n,t){var e;e=n.d,n.d=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,1,e,n.d))}function q8(n,t){return noz(n.e,t)?(yP(),Uj(t)?new IB(t,n):new EL(t,n)):new EC(t,n)}function q9(n){var t;return(t=VN(n=nP_.Math.max(n,2)),n>t)?(t<<=1)>0?t:nbH:t}function q7(n){switch(j8(3!=n.e),n.e){case 2:return!1;case 0:return!0}return n.e=3,n.d=n.Yb(),2!=n.e&&(n.e=0,!0)}function Xn(n,t){var e;return!!jM(t,8)&&(e=CY(t,8),n.a==e.a&&n.b==e.b)}function Xt(n,t){var e,i;for(i=t.vc().Kc();i.Ob();)nej(n,(e=CY(i.Pb(),44)).ld(),e.md())}function Xe(n,t){var e;e=n.d,n.d=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,11,e,n.d))}function Xi(n,t){var e;e=n.j,n.j=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,13,e,n.j))}function Xr(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,21,e,n.b))}function Xa(){Xa=T,nRn=new kS("START",0),nD7=new kS("MIDDLE",1),nD9=new kS("END",2)}function Xc(){Xc=T,nzL=new Mm("P1_NODE_PLACEMENT",0),nzN=new Mm("P2_EDGE_ROUTING",1)}function Xo(){Xo=T,nxk=new wX(npl),nxM=new wX(npb),nxy=new wX(npw),nxv=new wX(npd)}function Xu(n){var t;return Ch(n.f.g,n.d),Px(n.b),n.c=n.a,t=CY(n.a.Pb(),44),n.b=Vi(n),t}function Xs(n){return null==n.b?(yj(),yj(),n2R):n.ul()?n.tl():n.sl()}function Xh(n,t){var e;return!((e=null==t?-1:H6(n.b,t,0))<0)&&(Xd(n,e),!0)}function Xf(n,t){var e;return xf(t),e=t.g,!n.b[e]&&(NK(n.b,e,t),++n.c,!0)}function Xl(n,t){var e,i;return e=1-t,i=n.a[e],n.a[e]=i.a[t],i.a[t]=n,n.b=!0,i.b=!1,i}function Xb(n,t,e){return RF(A7(n.n[e][t>>5],AW(A8(31&t,1))),3)}function Xw(n,t,e){var i,r,a;for(a=n.a.length-1,r=n.b,i=0;i<e;r=r+1&a,++i)NK(t,i,n.a[r])}function Xd(n,t){var e;e=_V(n.b,n.b.c.length-1),t<n.b.c.length&&(_o(n.b,t,e),naa(n,t))}function Xg(n,t){var e;return(e=CY(NR(n.c,t),467))||((e=new go).c=t,xM(n.c,e.c,e)),e}function Xp(n,t,e){var i;return noB(n,t,i=new du,e,!0,!0),n.b=new Xk(i.c.length),i}function Xm(n,t){var e,i;for(HM(e=n.Pc(),0,e.length,t),i=0;i<e.length;i++)n.hd(i,e[i])}function Xv(n){var t,e;for(e=new j2(n);e.e!=e.i.gc();)GZ(t=CY(Z6(e),27),0),G1(t,0)}function Xy(n){this.e=n,this.d=new m$(Ga(AY(this.e).gc())),this.c=this.e.a,this.b=this.e.c}function Xk(n){this.b=n,this.a=BJ(n4s,nwl,28,n+1,15,1),this.c=BJ(n4s,nwl,28,n,15,1),this.d=0}function XM(n,t,e){Gm.call(this,t,e),this.d=BJ(nAr,npU,10,n.a.c.length,0,1),ZB(n.a,this.d)}function XE(n,t,e){KV.call(this,n,t,e),this.a=new dc,this.b=new dc,this.d=new bP(this)}function XT(n){AR.call(this),this.b=pj(PI(niK(n,(nlL(),nUv)))),this.a=CY(niK(n,nHu),223)}function Xj(n,t){var e;return jM(t,16)?(e=CY(t,16),n.Gc(e)):UO(n,CY(NP(t),20).Kc())}function XS(n){return EK(n)?Wb(n):E_(n)?Td(n):EF(n)?PQ(n):A6(n)?n.Hb():AM(n)?SK(n):$U(n)}function XP(n){var t,e;for(e=n.c.a.ec().Kc();e.Ob();)(t=CY(e.Pb(),219)).a=new LL(t.f)}function XO(n){var t,e;for(e=n.c.a.ec().Kc();e.Ob();)(t=CY(e.Pb(),219)).f=new niZ(t.e)}function XC(n,t){var e;e=n.zb,n.zb=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,1,e,n.zb))}function XI(n,t){var e;e=n.xb,n.xb=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,3,e,n.xb))}function XA(n,t){var e;e=n.yb,n.yb=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,2,e,n.yb))}function XL(n,t){var e;(e=new gA).n=t,B7((n.s||(n.s=new Lk(n0V,n,21,17)),n.s),e)}function XN(n,t){var e;(e=new PF).n=t,B7((n.s||(n.s=new Lk(n0V,n,21,17)),n.s),e)}function Xx(n,t){var e,i,r;for(xf(t),e=!1,r=t.Kc();r.Ob();)i=r.Pb(),e|=n.Fc(i);return e}function X$(n){var t,e,i;for(t=0,i=n.Kc();i.Ob();)t+=null!=(e=i.Pb())?XS(e):0,t=~~t;return t}function XD(n,t){var e=n.a,i=0;for(var r in e)e.hasOwnProperty(r)&&(t[i++]=r);return t}function XR(n){var t;return 0==n?"UTC":(n<0?(n=-n,t="UTC+"):t="UTC-",t+UI(n))}function XK(n){return n.a<54?n.f<0?-1:+(n.f>0):(!n.c&&(n.c=Rm(zF(n.f))),n.c).e}function XF(n,t){t?null==n.B&&(n.B=n.D,n.D=null):null!=n.B&&(n.D=n.B,n.B=null)}function X_(n,t){return T6(),qM(nd5),nP_.Math.abs(0-t)<=nd5||0==t||isNaN(0)&&isNaN(t)?0:n/t}function XB(n,t){return pj(PI(SO(QW(xz(new Aa(null,new R$(n.c.b,16)),new bw(n)),t))))}function XH(n,t){return pj(PI(SO(QW(xz(new Aa(null,new R$(n.c.b,16)),new bb(n)),t))))}function XU(n,t,e){var i,r;for(r=ZQ(n,0);r.b!=r.d.c;)i=CY(K0(r),8),i.a+=t,i.b+=e;return n}function XG(n,t,e){var i;for(i=n.b[e&n.f];i;i=i.b)if(e==i.a&&N7(t,i.g))return i;return null}function Xq(n,t,e){var i;for(i=n.c[e&n.f];i;i=i.d)if(e==i.f&&N7(t,i.i))return i;return null}function XX(n,t,e,i,r,a){var c;this.c=n,function n(t,e,i,r,a,c,o,u){var s,h;r&&((s=r.a[0])&&n(t,e,i,s,a,c,o,u),ntx(t,i,r.d,a,c,o,u)&&e.Fc(r),(h=r.a[1])&&n(t,e,i,h,a,c,o,u))}(n,c=new du,t,n.b,e,i,r,a),this.a=new Kp(c,0)}function Xz(){this.c=new mV(0),this.b=new mV(nyQ),this.d=new mV(nyW),this.a=new mV(ngR)}function XV(n,t,e,i,r,a,c){vS.call(this,n,t),this.d=e,this.e=i,this.c=r,this.b=a,this.a=_q(c)}function XW(n,t,e,i,r,a,c,o,u,s,h,f,l){return nr5(n,t,e,i,r,a,c,o,u,s,h,f,l),Jx(n,!1),n}function XQ(n){return n.b.d.i.k==(ni8(),n$g)?CY(niK(n.b.d.i,(nlF(),nK6)),12):n.b.d}function XJ(n){var t;return EB((t=Kx(n)).a,0)?(vV(),vV(),nOZ):(vV(),new S5(t.b))}function XY(n){var t;return EB((t=Kx(n)).a,0)?(vV(),vV(),nOZ):(vV(),new S5(t.c))}function XZ(n){switch(n.g){case 2:return nf5(),n1y;case 4:return nf5(),n1n;default:return n}}function X1(n){switch(n.g){case 1:return nf5(),n1m;case 3:return nf5(),n1t;default:return n}}function X0(n){switch(n.g){case 0:return new cH;case 1:return new cU;default:return null}}function X2(){X2=T,nDI=new P5("edgelabelcenterednessanalysis.includelabel",(SB(),nOo))}function X3(){var n;X3=T,nqu=Zg(((n=IG(IG(new xm,(niF(),nxQ),(nlB(),nDs)),nxJ,n$7)).a=nxY.g+1,n),nDu)}function X4(){var n;X4=T,nqb=Zg(((n=IG(IG(new xm,(niF(),nxQ),(nlB(),nDs)),nxJ,n$7)).a=nxY.g+1,n),nDu)}function X6(){X6=T,n2L=new gL,n2x=Vw(DY(n0V,1),njN,179,0,[]),n2N=Vw(DY(n02,1),njx,62,0,[])}function X5(){X5=T,n$A=new ka("TO_INTERNAL_LTR",0),n$I=new ka("TO_INPUT_DIRECTION",1)}function X8(){X8=T,n$j=new tC,n$E=new tI,n$T=new tA,n$M=new tL,n$S=new tN,n$P=new tx}function X9(n,t){var e,i,r;return SB(),EK(n)?_W(n,PA(t)):E_(n)?Ln(n,PI(t)):EF(n)?(e=PC(t),xf(n),i=n,xf(e),r=e,SB(),i==r?0:i?1:-1):n.Fd(t)}function X7(n,t){var e,i;for(xf(t),i=t.vc().Kc();i.Ob();)e=CY(i.Pb(),44),n.zc(e.ld(),e.md())}function zn(n){var t;if(-2==n.b){if(0==n.e)t=-1;else for(t=0;0==n.a[t];t++);n.b=t}return n.b}function zt(n){if(xf(n),0==n.length)throw new p5("Zero length BigInteger").e;!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(u=b=t.length,Rx(0,t.length),45==t.charCodeAt(0)?(f=-1,l=1,--b):(f=1,l=0),r=b/(a=(nhF(),nOR)[10])|0,0!=(g=b%a)&&++r,o=BJ(n4s,nwl,28,r,15,1),e=nOD[8],c=0,w=l+(0==g?a:g),d=l;d<u;w=(d=w)+a)i=nsE((B2(d,w,t.length),t.substr(d,w-d)),nbJ,nl3),nui(),s=nnP(o,o,c,e)+function(n,t,e){var i,r;for(r=0,i=RF(e,nwW);0!=Qv(i,0)&&r<t;r++)i=JF(i,RF(n[r],nwW)),n[r]=AW(i),i=A9(i,32);return AW(i)}(o,c,i),o[c++]=s;h=c,n.e=f,n.d=h,n.a=o,KM(n)}(this,n)}function ze(n){this.i=n.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),n.Qc(this.g))}function zi(n,t,e){this.g=n,this.d=t,this.e=e,this.a=new du,function(n){var t,e,i,r;for(r=QU(n.d,n.e).Kc();r.Ob();)for(i=CY(r.Pb(),12),e=new fU(n.e==(nf5(),n1y)?i.e:i.g);e.a<e.c.c.length;)!_p(t=CY(RU(e),18))&&t.c.i.c!=t.d.i.c&&(!function(n,t){var e,i,r;e=n.e==(nf5(),n1y)?t.c:t.d,i=CY(NR(n.g.f,e),17).a,r=n.a.c.length-1,0!=n.a.c.length&&CY(I0(n.a,r),294).c==i?(++CY(I0(n.a,r),294).a,++CY(I0(n.a,r),294).b):jB(n.a,new Pc(i))}(n,t),++n.f,++n.c)}(this),$O(),ji(this.a,null)}function zr(n,t){t.q=n,n.d=nP_.Math.max(n.d,t.r),n.b+=t.d+(0==n.a.c.length?0:n.c),jB(n.a,t)}function za(n,t){var e,i,r,a;return r=n.c,e=n.c+n.b,a=n.d,i=n.d+n.a,t.a>r&&t.a<e&&t.b>a&&t.b<i}function zc(n,t){var e,i;for(i=ZQ(n,0);i.b!=i.d.c;)e=CY(K0(i),8),e.a+=t.a,e.b+=t.b;return n}function zo(n,t){var e;$$(e=CY(t,190),"x",n.i),$$(e,"y",n.j),$$(e,nEz,n.g),$$(e,nEX,n.f)}function zu(n,t){jM(t,85)?(CY(n.c,79).Gk(),Xt(n,CY(t,85))):CY(n.c,79).Wb(t)}function zs(n,t){var e,i;for(xf(t),i=n.vc().Kc();i.Ob();)e=CY(i.Pb(),44),t.Yd(e.ld(),e.md())}function zh(n,t){return HZ(new f5(n),new f8(t),new f9(t),new Z,Vw(DY(nCi,1),nbG,108,0,[]))}function zf(){zf=T,nVS=new ME(npL,0),nVP=new ME("POLAR_COORDINATE",1),nVj=new ME("ID",2)}function zl(){zl=T,nGF=new kJ("EQUALLY",0),nG_=new kJ(ngr,1),nGB=new kJ("NORTH_SOUTH",2)}function zb(){zb=T,nNg=new P5("debugSVG",(SB(),!1)),nNp=new P5("overlapsExisted",!0)}function zw(){zw=T,nQ3=W4((nrN(),Vw(DY(nLI,1),nbG,285,0,[nQ2,nQW,nQZ,nQ0,nQQ,nQJ,nQY,nQ1])))}function zd(){zd=T,n0E=W4((ncw(),Vw(DY(nNo,1),nbG,245,0,[n0M,n0v,n0y,n0m,n0k,n0g,n0d,n0p])))}function zg(){zg=T,nRh=W4((nut(),Vw(DY(nAg,1),nbG,276,0,[nRi,nRc,nRe,nRs,nRa,nRr,nRu,nRo])))}function zp(){return nsi(),Vw(DY(nA7,1),nbG,262,0,[nXs,nXe,nXc,nXo,nXa,nXt,nXu,nq7,nXr,nXi,nXn])}function zm(n,t,e){var i,r;return r=CY(O3(n.d,t),17),i=CY(O3(n.b,e),17),r&&i?Br(n,r.a,i.a):null}function zv(n,t){var e;return!!(e=nuX(qk(),n))&&(nnh(t,(nl_(),nYA),e),!0)}function zy(n){return(PY(),n.A.Hc((YZ(),n1P))&&!n.B.Hc((nsv(),n1D)))?YG(n):null}function zk(){this.a=CY(Z4((nsK(),nN6)),17).a,this.c=pj(PI(Z4(nxl))),this.b=pj(PI(Z4(nxu)))}function zM(n){this.f=n,this.e=new FR(this.f.i),this.a=this.e,this.b=Vi(this),this.d=this.f.g}function zE(n,t){If.call(this,n2n,n,t),this.b=this,this.a=nox(n.Dh(),Gt(this.e.Dh(),this.c))}function zT(n,t){var e;for(e=0;e<t.j.c.length;e++)CY(Uu(n,e),21).Gc(CY(Uu(t,e),16));return n}function zj(n,t,e,i){var r;e>(r=n.a.length)?e=r:Rx(t,e+1),n.a=Di(n.a,0,t)+""+i+NF(n.a,e)}function zS(n,t){n.a=JF(n.a,1),n.c=nP_.Math.min(n.c,t),n.b=nP_.Math.max(n.b,t),n.d=JF(n.d,t)}function zP(n,t){var e,i,r;if(null!=(e=n.th())&&n.wh())for(i=0,r=e.length;i<r;++i)e[i].dj(t)}function zO(n,t){var e,i;for(i=xi(e=n).e;i;){if((e=i)==t)return!0;i=xi(e).e}return!1}function zC(n){var t;return 0==(t=n.h)?n.l+n.m*nwA:t==nwC?n.l+n.m*nwA-nwL:n}function zI(n){var t;null==n.d?(++n.e,n.f=0,Qj(null)):(++n.e,t=n.d,n.d=null,n.f=0,Qj(t))}function zA(n,t){var e;return(n.Db&t)!=0?-1==(e=ntu(n,t))?n.Eb:qr(n.Eb)[e]:null}function zL(n,t){var e;return(e=new hH).G=t,n.rb||(n.rb=new LC(n,n0Q,n)),B7(n.rb,e),e}function zN(n,t){var e;return(e=new dH).G=t,n.rb||(n.rb=new LC(n,n0Q,n)),B7(n.rb,e),e}function zx(n,t,e,i){jM(n.Cb,184)&&(CY(n.Cb,184).tb=null),XC(n,e),t&&function(n,t){var e,i,r,a,c;if(t)if((4&t.i)!=0)for(i="[]",e=t.c;;e=e.c){if((4&e.i)==0){xf((PL(e),a=e.o+i)),qZ(n,r=a),G9(n,r);break}i+="[]"}else xf((PL(t),c=t.o)),qZ(n,r=c),G9(n,r);else qZ(n,null),G9(n,null);n.hl(t)}(n,t),i&&n.gl(!0)}function z$(n,t){n.c&&(nu5(n,t,!0),vZ(new Aa(null,new R$(t,16)),new by(n))),nu5(n,t,!1)}function zD(n){var t;if(n.g>1||n.Ob())return++n.a,n.g=0,t=n.i,n.Ob(),t;throw(new dF).e}function zR(n){switch(n.a.g){case 1:return new Mr;case 3:return new ntj;default:return new hM}}function zK(n,t){switch(t){case 1:return!!n.n&&0!=n.n.i;case 2:return null!=n.k}return Ks(n,t)}function zF(n){var t,e,i,r,a;return nwx<n&&n<nwL?n<0?nP_.Math.ceil(n):nP_.Math.floor(n):zC(isNaN(t=n)?(UT(),nOc):t<-0x8000000000000000?(UT(),nOr):t>=0x8000000000000000?(UT(),nOi):(r=!1,t<0&&(r=!0,t=-t),i=0,t>=nwL&&(i=Dy(t/nwL),t-=i*nwL),e=0,t>=nwA&&(e=Dy(t/nwA),t-=e*nwA),a=js(Dy(t),e,i),r&&V9(a),a))}function z_(n){var t;return n<128?(I9(),(t=nOl[n])||(t=nOl[n]=new fI(n)),t):new fI(n)}function zB(n){var t,e,i;return e=0,(i=n)<0&&(i+=nwL,e=nwC),t=Dy(i/nwA),js(Dy(i-t*nwA),t,e)}function zH(n){var t,e,i;for(i=0,e=new vG(n.a);e.a<e.c.a.length;)t=Fj(e),n.b.Hc(t)&&++i;return i}function zU(n,t){var e;return t&&((e=t.nf()).dc()||(n.q?X7(n.q,e):n.q=new E1(e))),n}function zG(n,t){var e;if(void 0===(e=n.a.get(t)))++n.d;else{var i=n.a;i[nw5].call(i,t),--n.c,++n.b.g}return e}function zq(n,t,e,i,r){NK(n.c[t.g],e.g,i),NK(n.c[e.g],t.g,i),NK(n.b[t.g],e.g,r),NK(n.b[e.g],t.g,r)}function zX(n,t,e){this.b=(xf(n),n),this.d=(xf(t),t),this.e=(xf(e),e),this.c=this.d+""+this.e}function zz(n,t){this.b=n,this.e=t,this.d=t.j,this.f=(yP(),CY(n,69).xk()),this.k=nox(t.e.Dh(),n)}function zV(n){this.n=new du,this.e=new vq,this.j=new vq,this.k=new du,this.f=new du,this.p=n}function zW(n){n.r=new dV,n.w=new dV,n.t=new du,n.i=new du,n.d=new dV,n.a=new TI,n.c=new dc}function zQ(){zQ=T,nIU=new y2("UP",0),nI_=new y2(nge,1),nIB=new y2(nd1,2),nIH=new y2(nd0,3)}function zJ(){zJ=T,nKd=new kF("ONE_SIDED",0),nKg=new kF("TWO_SIDED",1),nKw=new kF("OFF",2)}function zY(){zY=T,nWD=new MC("EQUAL_BETWEEN_STRUCTURES",0),nWR=new MC("TO_ASPECT_RATIO",1)}function zZ(){zZ=T,nGn=W4((noj(),Vw(DY(nAN,1),nbG,265,0,[nU9,nU6,nU5,nU2,nU4,nU7,nU8,nU0,nU3])))}function z1(){z1=T,n1B=W4((nsv(),Vw(DY(nLz,1),nbG,264,0,[n1x,n1D,n1N,n1R,n1K,n1_,n1F,n1$,n1L])))}function z0(){z0=T,nZU=W4((nc$(),Vw(DY(nLB,1),nbG,95,0,[nZ$,nZx,nZR,nZH,nZB,nZ_,nZK,nZF,nZD])))}function z2(){z2=T,nIe=W4((nuy(),Vw(DY(nCb,1),nbG,257,0,[nIt,nC5,nC8,nC6,nC7,nIn,nC9,nC4,nC3])))}function z3(n){var t;return t=CY(niK(n,(nlF(),nK_)),64),n.k==(ni8(),n$g)&&(t==(nf5(),n1y)||t==n1n)}function z4(n,t,e){var i,r,a,c;i=(c=xi(n)).d,r=c.c,a=n.n,t&&(a.a=a.a-i.b-r.a),e&&(a.b=a.b-i.d-r.b)}function z6(n){var t;return 0>Qv(n,0)&&(n=Ie(n)),64-(0!=(t=AW(A7(n,32)))?naK(t):naK(AW(n))+32)}function z5(n,t,e,i){return 1==e?(n.n||(n.n=new Lk(nNt,n,1,7)),nnw(n.n,t,i)):ni4(n,t,e,i)}function z8(n,t){var e;return XC(e=new ul,t),B7((n.A||(n.A=new jV(n06,n,7)),n.A),e),e}function z9(n){var t;return(!n.a||(1&n.Bb)==0&&n.a.Vh())&&jM(t=nec(n),156)&&(n.a=CY(t,156)),n.a}function z7(n,t){var e,i;for(xf(t),i=t.Kc();i.Ob();)if(e=i.Pb(),!n.Hc(e))return!1;return!0}function Vn(n,t){var e,i,r;return e=n.l-t.l,i=n.m-t.m+(e>>22),r=n.h-t.h+(i>>22),js(e&nwO,i&nwO,r&nwC)}function Vt(n){var t,e;return jM(n,82)?n:((t=n&&n.__java$exception)||(e=t=new Qr(n),$_(),nP6.le(e)),t)}function Ve(n){if(jM(n,193))return CY(n,123);if(n)return null;throw new pD(nTf).e}function Vi(n){return!!n.a.Ob()||n.a==n.e&&(n.a=new B5(n.f.f),n.a.Ob())}function Vr(n,t){if(null==t)return!1;for(;n.a!=n.b;)if(QY(t,Qd(n)))return!0;return!1}function Va(n,t){return!!n&&!!t&&n!=t&&Y7(n.d.c,t.d.c+t.d.b)&&Y7(t.d.c,n.d.c+n.d.b)}function Vc(n,t){var e;return 0!=(e=t.Pc()).length&&(C6(n.c,n.c.length,e),!0)}function Vo(n){var t,e;for(t=new vq,e=ZQ(n.d,0);e.b!=e.d.c;)IA(t,CY(K0(e),65).c);return t}function Vu(n,t){var e;for(e=new fU(n.b);e.a<e.c.c.length;)VD(CY(RU(e),72),(nlF(),nKJ),t)}function Vs(n,t){if(!n)throw new pN(nuK("value already present: %s",Vw(DY(nPa,1),nl7,1,5,[t]))).e}function Vh(n,t){var e;return e=SY(t.a.gc()),vZ(Gs(new Aa(null,new R$(t,1)),n.i),new MB(n,e)),e}function Vf(n){var t;return XC(t=new ul,"T"),B7((n.d||(n.d=new jV(n06,n,11)),n.d),t),t}function Vl(n){var t,e,i,r;for(e=0,t=1,r=n.gc();e<r;++e)t=31*t+(null==(i=n.Vi(e))?0:XS(i));return t}function Vb(n,t,e,i){var r;return KO(t,n.e.Rd().gc()),KO(e,n.c.Rd().gc()),r=n.a[t][e],NK(n.a[t],e,i),r}function Vw(n,t,e,i,r){return r.Rm=n,r.Sm=t,r.Tm=E,r.__elementTypeId$=e,r.__elementTypeCategory$=i,r}function Vd(){Vd=T,nD$=new ko(npL,0),nDN=new ko(np7,1),nDx=new ko(nmn,2),nDL=new ko("BOTH",3)}function Vg(){Vg=T,nDz=new kT(ndJ,0),nDV=new kT(nd1,1),nDW=new kT(nd0,2),nDQ=new kT("TOP",3)}function Vp(){Vp=T,nx6=new ke("Q1",0),nx9=new ke("Q4",1),nx5=new ke("Q2",2),nx8=new ke("Q3",3)}function Vm(){Vm=T,nG2=new k0("OFF",0),nG3=new k0("SINGLE_EDGE",1),nG0=new k0("MULTI_EDGE",2)}function Vv(){Vv=T,nQ$=new Mx("MINIMUM_SPANNING_TREE",0),nQx=new Mx("MAXIMUM_SPANNING_TREE",1)}function Vy(){Vy=T,new wX("org.eclipse.elk.addLayoutConfig"),nQK=new cJ,nQR=new cQ,new cY}function Vk(n){var t;return mk(),t=new o_,n&&B7((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),t),t}function VM(n){var t,e;for(e=new du,t=n.Kc();t.Ob();)Vc(e,no3(CY(t.Pb(),27)));return e}function VE(n,t){var e,i;if(i=0,n<64&&n<=t)for(t=t<64?t:63,e=n;e<=t;e++)i=R_(i,A8(1,e));return i}function VT(n){var t,e,i;for($O(),i=0,e=n.Kc();e.Ob();)i+=null!=(t=e.Pb())?XS(t):0,i|=0;return i}function Vj(n,t,e){var i;LH(n.a),Gd(e.i,new wa(n)),i=new jw(CY(NR(n.a,t.b),68)),function n(t,e,i){var r,a,c;for(c=new fU(i.a);c.a<c.c.c.length;)a=CY(RU(c),225),r=new jw(CY(NR(t.a,a.b),68)),jB(e.a,r),n(t,r,a)}(n,i,t),e.f=i}function VS(n){var t,e,i;return e=n.n,i=n.o,t=n.d,new x4(e.a-t.b,e.b-t.d,i.a+(t.b+t.c),i.b+(t.d+t.a))}function VP(n){switch(n.g){case 1:return nZI;case 2:return nZC;case 3:return nZA;default:return nZL}}function VO(n,t,e){switch(e.g){case 2:n.b=t;break;case 1:n.c=t;break;case 4:n.d=t;break;case 3:n.a=t}}function VC(n,t){if(0===t){n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),n.o.c.$b();return}nrI(n,t)}function VI(n,t,e){var i;if(t>(i=n.gc()))throw new OR(t,i).e;return n.Si()&&(e=DG(n,e)),n.Ei(t,e)}function VA(n,t,e,i,r){var a,c;for(c=e;c<=r;c++)for(a=t;a<=i;a++)nn6(n,a,c)||nuU(n,a,c,!0,!1)}function VL(n){var t,e,i;return t=~n.l+1&nwO,e=~n.m+ +(0==t)&nwO,i=~n.h+ +(0==t&&0==e)&nwC,js(t,e,i)}function VN(n){var t;if(n<0)return nbJ;if(0==n)return 0;for(t=nbH;(t&n)==0;t>>=1);return t}function Vx(n,t,e){return!(n>=128)&&(n<64?EU(RF(A8(1,n),e),0):EU(RF(A8(1,n-64),t),0))}function V$(n,t,e){return null==e?(n.q||(n.q=new dc),_Y(n.q,t)):(n.q||(n.q=new dc),xM(n.q,t,e)),n}function VD(n,t,e){return null==e?(n.q||(n.q=new dc),_Y(n.q,t)):(n.q||(n.q=new dc),xM(n.q,t,e)),n}function VR(n){var t,e;return zU(e=new _6,n),VD(e,(Xo(),nxk),n),function(n,t,e){var i,r,a,c,o;for(i=0,a=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));a.e!=a.i.gc();)r=CY(Z6(a),27),c="",0==(!r.n&&(r.n=new Lk(nNt,r,1,7)),r.n).i||(c=CY(GO((!r.n&&(r.n=new Lk(nNt,r,1,7)),r.n),0),135).a),zU(o=new jf(c),r),VD(o,(Xo(),nxk),r),o.a=i++,o.d.a=r.i+r.g/2,o.d.b=r.j+r.f/2,o.e.a=nP_.Math.max(r.g,1),o.e.b=nP_.Math.max(r.f,1),jB(t.e,o),nr3(e.f,r,o),CY(ncx(r,(nsK(),nxr)),101)==nie()}(n,e,t=new dc),function(n,t,e){var i,r,a,c,o,u,h,f;for(u=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));u.e!=u.i.gc();)for(r=new Le(Sb(nc5(o=CY(Z6(u),27)).a.Kc(),new s));ncv(r);){if((i=CY(_I(r),74)).b||(i.b=new Ox(nL4,i,4,7)),!(i.b.i<=1&&(i.c||(i.c=new Ox(nL4,i,5,8)),i.c.i<=1)))throw new pF("Graph must not contain hyperedges.").e;if(!nco(i)&&o!=niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84)))for(zU(h=new Ol,i),VD(h,(Xo(),nxk),i),h.c=CY(ED(Aj(e.f,o)),153),h.d=CY(NR(e,niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84))),153),jB(t.c,h),c=new j2((!i.n&&(i.n=new Lk(nNt,i,1,7)),i.n));c.e!=c.i.gc();)zU(f=new Fw(h,(a=CY(Z6(c),135)).a),a),VD(f,nxk,a),f.e.a=nP_.Math.max(a.g,1),f.e.b=nP_.Math.max(a.f,1),nhS(f),jB(t.d,f)}}(n,e,t),e}function VK(n){var t,e;return t=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,e=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,t||e}function VF(n,t){var e,i,r,a;for(a=0,e=!1,i=n.a[t].length;a<i-1;a++)r=a+1,e|=function(n,t,e,i){var r,a,c;return r=!1,function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;return l=n.c[t],b=n.c[e],!((w=CY(niK(l,(nlF(),nKW)),15))&&0!=w.gc()&&w.Hc(b))&&(d=l.k!=(ni8(),n$m)&&b.k!=n$m,m=(g=CY(niK(l,nKV),10))!=(p=CY(niK(b,nKV),10)),v=!!g&&g!=l||!!p&&p!=b,y=nn2(l,(nf5(),n1t)),k=nn2(b,n1m),v|=nn2(l,n1m)||nn2(b,n1t),M=v&&m||y||k,!d||!M)&&(l.k!=(ni8(),n$y)||b.k!=n$v)&&(b.k!=(ni8(),n$y)||l.k!=n$v)&&(h=n.c[t],a=n.c[e],r=neM(n.e,h,a,(nf5(),n1y)),u=neM(n.i,h,a,n1n),E=n.f,E.d=0,E.b=0,h.k==(ni8(),n$y)&&a.k==n$y&&CY(niK(h,(nlF(),nK6)),10)==CY(niK(a,nK6),10)&&(H5(h).j==(nf5(),n1t)?ncQ(E,h,a):ncQ(E,a,h)),h.k==n$y&&a.k==n$m?H5(h).j==(nf5(),n1t)?E.d=1:E.b=1:a.k==n$y&&h.k==n$m&&(H5(a).j==(nf5(),n1t)?E.b=1:E.d=1),h.k==(ni8(),n$v)&&a.k==n$m&&(E.d=QK(h,(nf5(),n1m)),E.b=QK(h,n1t)),a.k==n$v&&h.k==n$m&&(E.d=QK(a,(nf5(),n1t)),E.b=QK(a,n1m)),s=W$(n.b,h,a)+CY(r.a,17).a+CY(u.a,17).a+n.f.d,o=W$(n.b,a,h)+CY(r.b,17).a+CY(u.b,17).a+n.f.b,n.a&&(f=CY(niK(h,nK6),12),c=CY(niK(a,nK6),12),s+=CY((i=ntB(n.g,f,c)).a,17).a,o+=CY(i.b,17).a),s>o)}(n.f,e,i)&&(function(n,t,e){var i,r;niL(n.e,t,e,(nf5(),n1y)),niL(n.i,t,e,n1n),n.a&&(r=CY(niK(t,(nlF(),nK6)),12),i=CY(niK(e,nK6),12),RZ(n.g,r,i))}(n.f,n.a[t][e],n.a[t][i]),c=(a=n.a[t])[i],a[i]=a[e],a[e]=c,r=!0),r}(n,t,a,r);return e}function V_(){V_=T,nKb=W4((no7(),Vw(DY(nAO,1),nbG,259,0,[nKr,nKc,nKo,nKu,nKs,nKh,nKl,nKi,nKa,nKf])))}function VB(){VB=T,nGS=W4((nu7(),Vw(DY(nAR,1),nbG,243,0,[nGT,nGv,nGM,nGy,nGk,nGg,nGE,nGj,nGp,nGm])))}function VH(){VH=T,nR_=new kN(npL,0),nRF=new kN("INCOMING_ONLY",1),nRB=new kN("OUTGOING_ONLY",2)}function VU(){VU=T,nOt={boolean:vB,number:pS,string:pP,object:nan,function:nan,undefined:dm}}function VG(){++nPr,this.o=null,this.k=null,this.j=null,this.d=null,this.b=null,this.n=null,this.a=null}function Vq(n,t){this.c=n,this.d=t,this.b=this.d/this.c.c.Rd().gc()|0,this.a=this.d%this.c.c.Rd().gc()}function VX(n,t){this.b=n,Tu.call(this,(CY(GO($x((NN(),n2c).o),10),19),t.i),t.g),this.a=(X6(),n2x)}function Vz(n,t,e){this.q=new nP_.Date,this.q.setFullYear(n+nwf,t,e),this.q.setHours(0,0,0,0),nhp(this,0)}function VV(n,t){C9(n>=0,"Negative initial capacity"),C9(t>=0,"Non-positive load factor"),LH(this)}function VW(n,t){var e,i,r,a;for($O(),a=!1,i=0,r=t.length;i<r;++i)e=t[i],a|=n.Fc(e);return a}function VQ(n,t,e){var i,r;return i=new B4(t,e),r=new _,n.b=function n(t,e,i,r){var a,c;return e?0==(a=t.a.Ne(i.d,e.d))?(r.d=Ot(e,i.e),r.b=!0,e):(c=a<0?0:1,e.a[c]=n(t,e.a[c],i,r),pX(e.a[c])&&(pX(e.a[1-c])?(e.b=!0,e.a[0].b=!1,e.a[1].b=!1):pX(e.a[c].a[c])?e=Xl(e,1-c):pX(e.a[c].a[1-c])&&(e=Kf(e,1-c))),e):i}(n,n.b,i,r),r.b||++n.c,n.b.b=!1,r.d}function VJ(n){var t;return null==(t=n.a[n.b])?null:(NK(n.a,n.b,null),n.b=n.b+1&n.a.length-1,t)}function VY(n){var t,e;return 32==(e=naK(n.h))?32==(t=naK(n.m))?naK(n.l)+32:t+20-10:e-12}function VZ(n){var t;return(!n.c||(1&n.Bb)==0&&(64&n.c.Db)!=0)&&jM(t=nec(n),90)&&(n.c=CY(t,29)),n.c}function V1(n){var t,e;for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),60)).d.c=-t.d.c-t.d.b;nov(n)}function V0(n){var t,e;for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),86)).g.c=-t.g.c-t.g.b;noy(n)}function V2(n,t,e){var i,r,a,c;for(c=QU(t,e),a=0,r=c.Kc();r.Ob();)i=CY(r.Pb(),12),xM(n.c,i,Qx(a++))}function V3(n,t,e){var i;return noB(n,t,i=new du,(nf5(),n1n),!0,!1),noB(n,e,i,n1y,!1,!1),i}function V4(n){var t,e,i,r;for(t=new mm,i=0,r=n.length;i<r;++i)e=n[i],t.a+=e.a,t.b+=e.b;return t}function V6(n,t,e){var i,r;return r=KG(t,"labels"),function(n,t,e){var i,r,a,c;if(e)for(r=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);r.Ob();)(a=KX(e,CY(r.Pb(),17).a))&&(c=function(n,t){var e;return mk(),e=new oH,t&&noE(e,t),q2(e,n),e}(Kz(a,nEW),t),xM(n.f,c,a),nE9 in a.a&&qY(c,Kz(a,nE9)),nib(a,c),nai(a,c))}((i=new Eg(n,e)).a,i.b,r),r}function V5(n,t){var e;for(e=0;e<n.a.a.length;e++)if(!CY(I2(n.a,e),178).Lb(t))return!1;return!0}function V8(n){var t;return!(n.b<=0)&&((t=Tp("MLydhHmsSDkK",niT(xq(n.c,0))))>1||t>=0&&n.b<3)}function V9(n){var t,e,i;t=~n.l+1&nwO,e=~n.m+ +(0==t)&nwO,i=~n.h+ +(0==t&&0==e)&nwC,n.l=t,n.m=e,n.h=i}function V7(n){var t,e,i;for($O(),i=1,e=n.Kc();e.Ob();)i=31*i+(null!=(t=e.Pb())?XS(t):0)|0;return i}function Wn(n,t,e){n.g=nrF(n,t,(nf5(),n1n),n.b),n.d=nrF(n,e,n1n,n.b),0!=n.g.c&&0!=n.d.c&&ni1(n)}function Wt(n,t,e){n.g=nrF(n,t,(nf5(),n1y),n.j),n.d=nrF(n,e,n1y,n.j),0!=n.g.c&&0!=n.d.c&&ni1(n)}function We(n,t){switch(t){case 7:return!!n.e&&0!=n.e.i;case 8:return!!n.d&&0!=n.d.i}return Ys(n,t)}function Wi(n){if(0===n.g)return new cW;throw new pN(nMe+(null!=n.f?n.f:""+n.g)).e}function Wr(n){if(0===n.g)return new cz;throw new pN(nMe+(null!=n.f?n.f:""+n.g)).e}function Wa(n,t){return 0>=jK(Zz(CY(niK(t,(nhn(),nX0)),88)),new MH(n.c.e.a-n.b.e.a,n.c.e.b-n.b.e.b))}function Wc(n){var t,e;for(t=new fU(n.a.b);t.a<t.c.c.length;)CY(RU(t),86).f.$b();(e=n.b).a=n,function(n){for(function(n){var t;for(t=new fU(n.a.a.b);t.a<t.c.c.length;)CY(RU(t),86),xf(0)}(n),i=new du,e=new fU(n.a.a.b);e.a<e.c.c.length;)jB(i,new kg(t=CY(RU(e),86),!0)),jB(i,new kg(t,!1));var t,e,i,r,a,c=n.c;for(c.b.a.$b(),c.a=BJ(nI6,nl7,86,c.c.a.a.b.c.length,0,1),r=0,a=new fU(c.c.a.a.b);a.a<a.c.c.length;)CY(RU(a),86).i=r++;Kw(i,n.b,new pU(Vw(DY(nI8,1),nl7,382,0,[n.c]))),function(n){var t;for(t=new fU(n.a.a.b);t.a<t.c.c.length;)CY(RU(t),86),xf(0)}(n)}(e),noC(n)}function Wo(n){var t,e;for(t=new gj,e=ZQ(n,0);e.b!=e.d.c;)S2(t,0,new TP(CY(K0(e),8)));return t}function Wu(n){var t;return(xa(n),t=new nc,n.a.Bd(t))?(Sn(),new pm(xf(t.a))):(Sn(),Sn(),nOY)}function Ws(n,t,e){if(0===t){n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),zu(n.o,e);return}nr9(n,t,e)}function Wh(n,t,e){this.g=n,this.e=new mm,this.f=new mm,this.d=new vq,this.b=new vq,this.a=t,this.c=e}function Wf(n,t,e,i){this.b=new du,this.n=new du,this.i=i,this.j=e,this.s=n,this.t=t,this.r=0,this.d=0}function Wl(n,t){if(!n.Li()&&null==t)throw new pN("The 'no null' constraint is violated").e;return t}function Wb(n){var t,e;for(e=0,t=0;e<n.length;e++)t=(t<<5)-t+(Rx(e,n.length),n.charCodeAt(e))|0;return t}function Ww(n,t){var e,i,r;for(r=n.b;r;){if(0==(e=n.a.Ne(t,r.d)))return r;i=e<0?0:1,r=r.a[i]}return null}function Wd(n){return(jB(n.c,(Vy(),nQK)),GM(n.a,pj(PI(Z4((Yj(),nUZ))))))?new oI:new wf(n)}function Wg(n){switch(n.g){case 1:return nyW;default:case 2:return 0;case 3:return ngR;case 4:return nyQ}}function Wp(){Wp=T,n10=new Em("ELK",0),n12=new Em("JSON",1),n11=new Em("DOT",2),n13=new Em("SVG",3)}function Wm(){Wm=T,nGq=new kY("STACKED",0),nGU=new kY("REVERSE_STACKED",1),nGG=new kY("SEQUENCED",2)}function Wv(){Wv=T,nXb=new Md(npL,0),nXl=new Md("MIDDLE_TO_MIDDLE",1),nXf=new Md("AVOID_OVERLAP",2)}function Wy(){Wy=T,nDH=new e2,nDU=new e3,nDB=new e1,nD_=new e4,xf(new e0),nDF=new A}function Wk(){Wk=T,nZE=new TW(15),nZM=new TZ((nl_(),nYa),nZE),nZT=nYO,nZm=nJS,nZv=nJ5,nZk=nJ7,nZy=nJ9}function WM(n,t){var e,i,r,a;for(i=0,r=t.length;i<r;++i)e=t[i],a=new NH(n),e.hf(a),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(e=new fx(new fN(n.c.b).a.vc().Kc());e.a.Ob();)o=CY(e.a.Pb(),44),null==(r=(t=CY(o.md(),143)).a)&&(r=""),b=n.c,w=r,(i=CY(UC(b.c,w),233))||0!=r.length||(i=function(n){var t,e,i;return(t=CY(UC(n.c.c,""),233))||(t=new RM((((e=new c9).b="",i=e).c="Other",i)),Zq(n.c.c,"",t)),t}(n)),i&&!Yd(i.c,t,!1)&&IA(i.c,t);for(c=ZQ(n.a,0);c.b!=c.d.c;)a=CY(K0(c),487),s=_S(n.c,a.a),l=_S(n.c,a.b),s&&l&&IA(s.c,new Ea(l,a.c));for($p(n.a),f=ZQ(n.b,0);f.b!=f.d.c;)h=CY(K0(f),487),d=n.c,g=h.a,t=CY(UC(d.b,g),143),u=_S(n.c,h.b),t&&u&&(p=t,m=h.c,Rr(p.d,u.f,m));$p(n.b)}(a);LH(n.f)}function WE(n,t){var e;return t===n||!!jM(t,229)&&(e=CY(t,229),QY(n.Zb(),e.Zb()))}function WT(n,t){return!!nog(n,t)&&(naR(n.b,CY(niK(t,(nlF(),nKR)),21),t),IA(n.a,t),!0)}function Wj(n){return nCn?BJ(nO8,ndh,581,0,0,1):CY(ZB(n.a,BJ(nO8,ndh,581,n.a.c.length,0,1)),856)}function WS(n,t,e){var i;return qT(i=new gx,t,e),B7((n.q||(n.q=new Lk(n02,n,11,10)),n.q),i),i}function WP(n){var t,e,i,r,a;for(t=0,a=n0b,i=BJ(nPL,nby,2,e=(r=n.split(a)).length,6,1);t<e;++t)i[t]=r[t];return i}function WO(n,t,e){var i;for(i=e-1;i>=0&&n[i]===t[i];i--);return i<0?0:0>Qv(RF(n[i],nwW),RF(t[i],nwW))?-1:1}function WC(n,t,e){var i;this.g=n,this.c=t,this.a=this,this.d=this,i=BJ(nPg,nbF,227,q9(e),0,1),this.b=i}function WI(n,t,e,i,r){var a,c;for(c=e;c<=r;c++)for(a=t;a<=i;a++)if(nn6(n,a,c))return!0;return!1}function WA(n,t,e){var i,r,a,c;for(xf(e),c=!1,a=n.fd(t),r=e.Kc();r.Ob();)i=r.Pb(),a.Rb(i),c=!0;return c}function WL(n,t){var e,i;return i=CY(zA(n.a,4),129),e=BJ(nNl,nje,424,t,0,1),null!=i&&ns8(i,0,e,0,i.length),e}function WN(n,t){var e;return e=new nuE((256&n.f)!=0,n.i,n.a,n.d,(16&n.f)!=0,n.j,n.g,t),null!=n.e||(e.c=n),e}function Wx(n,t,e){var i,r;for(r=e.Kc();r.Ob();)if(i=CY(r.Pb(),44),n.Be(t,i.md()))return!0;return!1}function W$(n,t,e){return n.d[t.p][e.p]||(function(n,t,e){var i,r;if(n.e)switch(n.b){case 1:i=n.c,i.i=0,i.e=0,t!=e&&Wn(i,t,e);break;case 0:r=n.c,r.i=0,r.e=0,t!=e&&Wt(r,t,e)}else Fl(n.c,t,e);n.a[t.p][e.p]=n.c.i,n.a[e.p][t.p]=n.c.e}(n,t,e),n.d[t.p][e.p]=!0,n.d[e.p][t.p]=!0),n.a[t.p][e.p]}function WD(n){switch(n.i){case 2:return!0;case 1:return!1;case -1:++n.c;default:return n.$l()}}function WR(n){switch(n.i){case -2:return!0;case -1:return!1;case 1:--n.c;default:return n._l()}}function WK(n){DZ.call(this,"The given string does not match the expected format for individual spacings.",n)}function WF(n,t,e){var i,r;for(i=new vq,r=ZQ(e,0);r.b!=r.d.c;)IA(i,new TP(CY(K0(r),8)));WA(n,t,i)}function W_(n){var t;if((t=n.a.c.length)>0)return Lh(t-1,n.a.c.length),_V(n.a,t-1);throw(new dK).e}function WB(n,t,e){if(n>t)throw new pN(ndw+n+ndd+t).e;if(n<0||t>e)throw new p6(ndw+n+ndg+t+ndi+e).e}function WH(n,t){null==n.D&&null!=n.B&&(n.D=n.B,n.B=null),qZ(n,null==t?null:(xf(t),t)),n.C&&n.hl(null)}function WU(n,t){var e,i;if(0!=(i=n.c[t]))for(n.c[t]=0,n.d-=i,e=t+1;e<n.a.length;)n.a[e]-=i,e+=e&-e}function WG(n){var t;++n.j,0==n.i?n.g=null:n.i<n.g.length&&(t=n.g,n.g=n.aj(n.i),ns8(t,0,n.g,0,n.i))}function Wq(n){if(!n.a||(8&n.a.i)==0)throw new px("Enumeration class expected for layout option "+n.f).e}function WX(n){var t,e;return(n.a||(n.a=new Lk(n01,n,9,5)),0!=(t=n.a).i)?(e=CY(GO(t,0),694)).b?e.b:e.a:null}function Wz(){Wz=T,v5(),nNS=new To(ngS,nNP=nNE),nNj=new wX(ngP),nNO=new wX(ngO),nNC=new wX(ngC)}function WV(){WV=T,nzM=new Mg(npN,0),nzy=new Mg(ny5,1),nzk=new Mg("FAN",2),nzv=new Mg("CONSTRAINT",3)}function WW(){WW=T,nzG=new Mk(npL,0),nzq=new Mk("RADIAL_COMPACTION",1),nzX=new Mk("WEDGE_COMPACTION",2)}function WQ(){WQ=T,nGz=new kZ("CONSERVATIVE",0),nGV=new kZ("CONSERVATIVE_SOFT",1),nGW=new kZ("SLOPPY",2)}function WJ(){WJ=T,nC$=new y_("CONCURRENT",0),nCD=new y_("IDENTITY_FINISH",1),nCR=new y_("UNORDERED",2)}function WY(){WY=T,nx2=DN(Vw(DY(nL$,1),nbG,88,0,[(Ju(),nY8),nY9])),nx3=DN(Vw(DY(nL$,1),nbG,88,0,[nZn,nY5]))}function WZ(n){return EK(n)?nPL:E_(n)?nPS:EF(n)?nPE:A6(n)||AM(n)?n.Rm:n.Rm||Array.isArray(n)&&DY(nPm,1)||nPm}function W1(n){return(n.c!=n.b.b||n.i!=n.g.b)&&(dG(n.a.c,0),Vc(n.a,n.b),Vc(n.a,n.g),n.c=n.b.b,n.i=n.g.b),n.a}function W0(n,t,e){var i;return RL(t,n.c.length),0!=(i=e.Pc()).length&&(C6(n.c,t,i),!0)}function W2(n,t,e){var i,r,a;for(r=0,a=e.length;r<a;++r)if(i=e[r],n.b.Be(t,i.ld()))return i;return null}function W3(n){var t,e,i,r;for(r=1,e=0,i=n.length;e<i;++e)r=31*r+(null!=(t=n[e])?XS(t):0)|0;return r}function W4(n){var t,e,i,r;for(t={},i=0,r=n.length;i<r;++i)t[":"+(null!=(e=n[i]).f?e.f:""+e.g)]=e;return t}function W6(n,t){return!n||t&&!n.j||jM(n,127)&&0==CY(n,127).a.b?0:n.jf()}function W5(n,t){return!n||t&&!n.k||jM(n,127)&&0==CY(n,127).a.a?0:n.kf()}function W8(n,t){return Pn(n,(nlF(),nK4))&&Pn(t,nK4)?jo(CY(niK(n,nK4),17).a,CY(niK(t,nK4),17).a):0}function W9(n){var t,e,i;for(i=0,e=new Le(Sb(n.a.Kc(),new s));ncv(e);)(t=CY(_I(e),18)).c.i==t.d.i||++i;return i}function W7(n,t){var e,i,r;for(r=t-n.f,i=new fU(n.d);i.a<i.c.c.length;)YQ(e=CY(RU(i),315),e.e,e.f+r);n.f=t}function Qn(n,t){var e,i;e=n.Yk(t,null),i=null,t&&(mT(),Gj(i=new df,n.r)),(e=niM(n,i,e))&&e.oj()}function Qt(n,t){var e,i,r;for(e=n,r=0;;){if(e==t)return r;if(!(i=e.e))throw(new dN).e;e=xi(i),++r}}function Qe(n,t){var e;for(e=0;e<t.length;e++)if(n==(Rx(e,t.length),t.charCodeAt(e)))return!0;return!1}function Qi(n,t,e,i){jp(this),this.c=BJ(nAr,npU,10,n.a.c.length,0,1),this.e=t,ZB(n.a,this.c),this.f=e,this.b=i}function Qr(n){pd(),jZ(this),$w(this),this.e=n,noG(this,n),this.g=null==n?nbi:J2(n),this.a="",this.b=n,this.a=""}function Qa(){this.a=new cG,this.f=new b9(this),this.b=new b7(this),this.i=new wn(this),this.e=new wt(this)}function Qc(){pn.call(this,new B6(Ga(16))),qL(2,nbv),this.b=2,this.a=new xg(null,null,0,null),dM(this.a,this.a)}function Qo(n){throw VU(),new pf("Unexpected typeof result '"+n+"'; please report this bug to the GWT team").e}function Qu(n,t,e){return!!(nP_.Math.abs(t-n)<nyV||nP_.Math.abs(e-n)<nyV)||(t-n>nyV?n-e>nyV:e-n>nyV)}function Qs(n,t){var e;for(e=0;e<t.length;e++)if(n==(Rx(e,t.length),t.charCodeAt(e)))return!0;return!1}function Qh(n,t){var e,i,r;return i=!1,e=t.q.d,t.d<n.b&&(r=nop(t.q,n.b),t.q.d>r&&(neX(t.q,r),i=e!=t.q.d)),i}function Qf(n,t){var e,i,r,a,c,o,u;return o=t.i,u=t.j,i=(e=n.f).i,r=e.j,a=o-i,c=u-r,nP_.Math.sqrt(a*a+c*c)}function Ql(n,t){var e;return(e=Zy(n))||(n0w||(n0w=new un),nh0(),B7((e=new dn(function n(t){var e,i,r,a,c,o,u;return(nh0(),e=-1==(r=Tp(t,niT(35)))?t:(B2(0,r,t.length),t.substr(0,r)),i=-1==r?null:(Rx(r+1,t.length+1),t.substr(r+1)),c=n0L,a=CY(null==e?ED(Aj(c.f,null)):yD(c.i,e),288))?null!=i&&(a=WN(a,(xf(i),i))):(a=function(t){if(o=!0,l=null,r=null,a=null,e=!1,w=n0I,h=null,c=null,(s=Z_(t,u=0,n0_,n0B))<t.length&&(Rx(s,t.length),58==t.charCodeAt(s))&&(B2(u,s,t.length),l=t.substr(u,s-u),u=s+1),i=null!=l&&vK(n0A,l.toLowerCase())){if(-1==(s=t.lastIndexOf("!/")))throw new pN("no archive separator").e;o=!0,r=Di(t,u,++s),u=s}else u>=0&&OB(t.substr(u,2),"//")?(u+=2,s=Z_(t,u,n0H,n0U),B2(u,s,t.length),r=t.substr(u,s-u),u=s):null!=l&&(u==t.length||(Rx(u,t.length),47!=t.charCodeAt(u)))&&(o=!1,-1==(s=Sd(t,niT(35),u))&&(s=t.length),B2(u,s,t.length),r=t.substr(u,s-u),u=s);if(!i&&u<t.length&&(Rx(u,t.length),47==t.charCodeAt(u))&&(s=Z_(t,u+1,n0H,n0U),B2(u+1,s,t.length),(f=t.substr(u+1,s-(u+1))).length>0&&58==xq(f,f.length-1)&&(a=f,u=s)),u<t.length&&(Rx(u,t.length),47==t.charCodeAt(u))&&(++u,e=!0),u<t.length&&(Rx(u,t.length),63!=t.charCodeAt(u))&&(Rx(u,t.length),35!=t.charCodeAt(u))){for(b=new du;u<t.length&&(Rx(u,t.length),63!=t.charCodeAt(u))&&(Rx(u,t.length),35!=t.charCodeAt(u));)s=Z_(t,u,n0H,n0U),jB(b,(B2(u,s,t.length),t.substr(u,s-u))),(u=s)<t.length&&(Rx(u,t.length),47==t.charCodeAt(u))&&((d=++u)<t.length&&(Rx(d,t.length),63!=t.charCodeAt(d))&&(Rx(d,t.length),35!=t.charCodeAt(d))||b.c.push(""));w=BJ(nPL,nby,2,b.c.length,6,1),ZB(b,w)}u<t.length&&(Rx(u,t.length),63==t.charCodeAt(u))&&(-1==(s=S1(t,35,++u))&&(s=t.length),B2(u,s,t.length),h=t.substr(u,s-u),u=s),u<t.length&&(c=NF(t,++u));var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p=o,m=l,v=r,y=a,k=w,M=h;if(!(null==m||!J7(m,n0_,n0B)))throw new pN("invalid scheme: "+m).e;if(!p&&!(null!=v&&-1==Tp(v,niT(35))&&v.length>0&&(Rx(0,v.length),47!=v.charCodeAt(0))))throw new pN("invalid opaquePart: "+v).e;if(p&&!(null!=m&&vK(n0A,m.toLowerCase()))&&!(null==v||!J7(v,n0H,n0U))||p&&null!=m&&vK(n0A,m.toLowerCase())&&!function(t){var e;if(null!=t&&t.length>0&&33==xq(t,t.length-1))try{return e=n(Di(t,0,t.length-1)),null==e.e}catch(n){if(!jM(n=Vt(n),33))throw n.e}return!1}(v))throw new pN(njo+v).e;if(!(null==y||(g=y.length)>0&&(Rx(g-1,y.length),58==y.charCodeAt(g-1))&&!J7(y,n0H,n0U)))throw new pN("invalid device: "+y).e;if(!function(n){var t,e;if(null==n)return!1;for(t=0,e=n.length;t<e;t++)if(!Ii(n[t]))return!1;return!0}(k))throw new pN(null==k?"invalid segments: null":"invalid segment: "+function(n){var t,e;if(null==n)return null;for(t=0,e=n.length;t<e;t++)if(!Ii(n[t]))return n[t];return null}(k)).e;if(null!=M&&-1!=Tp(M,niT(35)))throw new pN("invalid query: "+M).e;return new nuE(o,l,r,a,e,w,h,c)}(e),o=n0L,u=a,CY(null==e?nr3(o.f,null,u):JI(o.i,e,u),288),null!=i&&(a=WN(a,i))),a}(t))).El(),n)),e}function Qb(n,t){var e,i;return(e=CY(n.c.Bc(t),16))?((i=n.hc()).Gc(e),n.d-=e.gc(),e.$b(),n.mc(i)):n.jc()}function Qw(n,t,e,i){var r;n.a=t,r=new nrv(n.c,n.a,e,+!i),n.f=new nuj(e,n.a,r,n.e,n.b,n.c==(qp(),nqh))}function Qd(n){var t;return Px(n.a!=n.b),t=n.d.a[n.a],PD(n.b==n.d.c&&null!=t),n.c=n.a,n.a=n.a+1&n.d.a.length-1,t}function Qg(n){var t;if(0!=n.c)return n.c;for(t=0;t<n.a.length;t++)n.c=33*n.c+(-1&n.a[t]);return n.c=n.c*n.e,n.c}function Qp(n){var t;return zU(t=new jl(n.a),n),VD(t,(nlF(),nK6),n),t.o.a=n.g,t.o.b=n.f,t.n.a=n.i,t.n.b=n.j,t}function Qm(n){return(nf5(),n1l).Hc(n.j)?pj(PI(niK(n,(nlF(),nFb)))):V4(Vw(DY(nLA,1),nby,8,0,[n.i.n,n.n,n.a])).b}function Qv(n,t){var e;return Ty(n)&&Ty(t)&&!isNaN(e=n-t)?e:neu(Ty(n)?zB(n):n,Ty(t)?zB(t):t)}function Qy(n,t){var e,i,r;for(r=1,e=n,i=t>=0?t:-t;i>0;)i%2==0?(e*=e,i=i/2|0):(r*=e,i-=1);return t<0?1/r:r}function Qk(n,t){var e,i,r;return(r=function n(t){var e,i,r,a,c;if(i=CY(t,54)._h())try{if(r=null,(e=ncz((yM(),n2e),nsO(null==i.e?i:(i.c||(i.c=new nuE((256&i.f)!=0,i.i,i.a,i.d,(16&i.f)!=0,i.j,i.g,null)),i.c))))&&(a=e.ai())&&(r=a.Fl((c=i.e,xf(c),c))),r&&r!=t)return n(r)}catch(n){if(!jM(n=Vt(n),63))throw n.e}return t}(((i=n?Zy(n):null)&&i.Gl(),t)))==t&&(e=Zy(n))&&e.Gl(),r}function QM(n,t,e){var i,r;return r=n.f,n.f=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,0,r,t),e?e.nj(i):e=i),e}function QE(n,t,e){var i,r;return r=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,3,r,t),e?e.nj(i):e=i),e}function QT(n,t,e){var i,r;return r=n.a,n.a=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,1,r,t),e?e.nj(i):e=i),e}function Qj(n){var t,e,i,r;if(null!=n){for(e=0;e<n.length;++e)if(t=n[e])for(CY(t.g,379),r=t.i,i=0;i<r;++i);}}function QS(){QS=T,nGt=new kG("DUMMY_NODE_OVER",0),nGe=new kG("DUMMY_NODE_UNDER",1),nGi=new kG("EQUAL",2)}function QP(){QP=T,n1U=new M5("PARALLEL_NODE",0),n1H=new M5("HIERARCHICAL_NODE",1),n1G=new M5("ROOT_NODE",2)}function QO(){QO=T,nZS=new MJ("INHERIT",0),nZj=new MJ("INCLUDE_CHILDREN",1),nZP=new MJ("SEPARATE_CHILDREN",2)}function QC(n,t){switch(t){case 1:n.n||(n.n=new Lk(nNt,n,1,7)),nft(n.n);return;case 2:qY(n,null);return}VC(n,t)}function QI(n){switch(n.g){case 0:return new cF;case 1:return new cB;case 2:return new c_;default:return null}}function QA(n){switch(Co(),n.c){case 0:return NL(),nP0;case 1:return new pV(naf(new vG(n)));default:return new pi(n)}}function QL(n){switch(Co(),n.gc()){case 0:return NL(),nP0;case 1:return new pV(n.Kc().Pb());default:return new yN(n)}}function QN(n){switch(n.gc()){case 0:return nPQ;case 1:return new IY(NP(n.Xb(0)));default:return new Dn(n)}}function Qx(n){var t,e;return n>-129&&n<128?(Ip(),(e=nOb[t=n+128])||(e=nOb[t]=new fE(n)),e):new fE(n)}function Q$(n){var t,e;return n>-129&&n<128?(I5(),(e=nOy[t=n+128])||(e=nOy[t]=new fj(n)),e):new fj(n)}function QD(n,t){n.a.c.length>0&&WT(CY(I0(n.a,n.a.c.length-1),579),t)||jB(n.a,new _b(t))}function QR(n){var t;return t=new p2,t.a+="VerticalSegment ",EJ(t,n.e),t.a+=" ",EY(t,j6(new pW,new fU(n.k))),t.a}function QK(n,t){var e,i;for(e=0,i=JH(n,t).Kc();i.Ob();)e+=+(null!=niK(CY(i.Pb(),12),(nlF(),nFi)));return e}function QF(n,t,e){var i,r,a;for(i=0,a=ZQ(n,0);a.b!=a.d.c&&!((r=pj(PI(K0(a))))>e);)r>=t&&++i;return i}function Q_(n,t){NP(n);try{return n._b(t)}catch(n){if(jM(n=Vt(n),212)||jM(n,169))return!1;throw n.e}}function QB(n,t){NP(n);try{return n.Hc(t)}catch(n){if(jM(n=Vt(n),212)||jM(n,169))return!1;throw n.e}}function QH(n,t){NP(n);try{return n.xc(t)}catch(n){if(jM(n=Vt(n),212)||jM(n,169))return null;throw n.e}}function QU(n,t){switch(t.g){case 2:case 1:return JH(n,t);case 3:case 4:return Yi(JH(n,t))}return $O(),$O(),nO_}function QG(n){var t;return(64&n.Db)!=0?ncG(n):(t=new Sm(ncG(n)),t.a+=" (name: ",EW(t,n.zb),t.a+=")",t.a)}function Qq(n,t,e){var i,r;return r=n.sb,n.sb=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,4,r,t),e?e.nj(i):e=i),e}function QX(n,t,e){var i,r;return r=n.r,n.r=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,8,r,n.r),e?e.nj(i):e=i),e}function Qz(n,t){var e,i;return(i=(e=CY(t,691)).el())||e.fl(i=jM(t,90)?new EI(n,CY(t,29)):new Ka(n,CY(t,156))),i}function QV(n,t,e){var i;n._i(n.i+1),i=n.Zi(t,e),t!=n.i&&ns8(n.g,t,n.g,t+1,n.i-t),NK(n.g,t,i),++n.i,n.Mi(t,e),n.Ni()}function QW(n,t){var e;return(e=new nc,n.a.Bd(e))?(Sn(),new pm(xf(H2(n,e.a,t)))):(xa(n),Sn(),Sn(),nOY)}function QQ(n,t){var e;0!=n.c.length&&(TT(e=CY(ZB(n,BJ(nAr,npU,10,n.c.length,0,1)),199),new eu),na_(e,t))}function QJ(n,t){var e;0!=n.c.length&&(TT(e=CY(ZB(n,BJ(nAr,npU,10,n.c.length,0,1)),199),new es),na_(e,t))}function QY(n,t){return EK(n)?OB(n,t):E_(n)?O_(n,t):EF(n)?(xf(n),ER(n)===ER(t)):A6(n)?n.Fb(t):AM(n)?ER(n)===ER(t):RK(n,t)}function QZ(n,t,e){if(t<0)nab(n,e);else{if(!e.rk())throw new pN(nET+e.xe()+nEj).e;CY(e,69).wk().Ek(n,n.hi(),t)}}function Q1(n,t,e){if(n<0||t>e)throw new pC(ndw+n+ndg+t+", size: "+e).e;if(n>t)throw new pN(ndw+n+ndd+t).e}function Q0(n){var t;return(64&n.Db)!=0?ncG(n):(t=new Sm(ncG(n)),t.a+=" (source: ",EW(t,n.d),t.a+=")",t.a)}function Q2(n){return n>=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function Q3(n,t){var e;e=(256&n.Bb)!=0,t?n.Bb|=256:n.Bb&=-257,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,2,e,t))}function Q4(n,t){var e;e=(256&n.Bb)!=0,t?n.Bb|=256:n.Bb&=-257,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,8,e,t))}function Q6(n,t){var e;e=(256&n.Bb)!=0,t?n.Bb|=256:n.Bb&=-257,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,8,e,t))}function Q5(n,t){var e;e=(512&n.Bb)!=0,t?n.Bb|=512:n.Bb&=-513,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,3,e,t))}function Q8(n,t){var e;e=(512&n.Bb)!=0,t?n.Bb|=512:n.Bb&=-513,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,9,e,t))}function Q9(n,t){var e;return -1==n.b&&n.a&&(e=n.a.pk(),n.b=e?n.c.Hh(n.a.Lj(),e):Ym(n.c.Dh(),n.a)),n.c.yh(n.b,t)}function Q7(n,t){var e,i;for(i=new j2(n);i.e!=i.i.gc();)if(e=CY(Z6(i),29),ER(t)===ER(e))return!0;return!1}function Jn(n){var t;return n.k==(ni8(),n$g)&&((t=CY(niK(n,(nlF(),nK_)),64))==(nf5(),n1t)||t==n1m)}function Jt(n){var t;return EB((t=Kx(n)).a,0)?(vV(),vV(),nOZ):(vV(),new S5(Qv(t.a,0)>0?_Q(t)/KI(t.a):0))}function Je(n,t){this.e=t,this.a=z6(n),this.a<54?this.f=KI(n):this.c=(nuY(),Qv(n,0)>=0?Yq(n):Nt(Yq(H4(n))))}function Ji(n,t,e,i,r,a){this.e=new du,this.f=(qy(),nGR),jB(this.e,n),this.d=t,this.a=e,this.b=i,this.f=r,this.c=a}function Jr(n){return n-=n>>1&0x55555555,n=((n=(n>>2&0x33333333)+(0x33333333&n))>>4)+n&0xf0f0f0f,n+=n>>8,63&(n+=n>>16)}function Ja(n,t){var e,i;for(i=new j2(n);i.e!=i.i.gc();)if(e=CY(Z6(i),142),ER(t)===ER(e))return!0;return!1}function Jc(n,t,e){var i,r;return(r=ncz(n.b,t))&&(i=CY(nhZ(Ur(n,r),""),29))?ncF(n,i,t,e):null}function Jo(n,t,e){var i;if(t>(i=n.gc()))throw new OR(t,i).e;if(n.Si()&&n.Hc(e))throw new pN(nTd).e;n.Gi(t,e)}function Ju(){Ju=T,nY7=new Mz(nd6,0),nY9=new Mz(nd0,1),nY8=new Mz(nd1,2),nY5=new Mz(nge,3),nZn=new Mz("UP",4)}function Js(){Js=T,nWq=new MA("P1_STRUCTURE",0),nWX=new MA("P2_PROCESSING_ORDER",1),nWz=new MA("P3_EXECUTION",2)}function Jh(){Jh=T,nzC=Zg(Zg(yg(Zg(Zg(yg(IG(new xm,(ntU(),nq6),(nsi(),nXs)),nq5),nXa),nXo),nq8),nXt),nXu)}function Jf(n){switch(n.g){case 2:return nY9;case 1:return nY8;case 4:return nY5;case 3:return nZn;default:return nY7}}function Jl(n,t){switch(n.b.g){case 0:case 1:return t;case 2:case 3:return new x4(t.d,0,t.a,t.b);default:return null}}function Jb(n){switch(n.g){case 1:return n1y;case 2:return n1t;case 3:return n1n;case 4:return n1m;default:return n1v}}function Jw(n){switch(n.g){case 1:return n1m;case 2:return n1y;case 3:return n1t;case 4:return n1n;default:return n1v}}function Jd(n){switch(n.g){case 1:return n1n;case 2:return n1m;case 3:return n1y;case 4:return n1t;default:return n1v}}function Jg(n,t,e,i){switch(t){case 1:return n.n||(n.n=new Lk(nNt,n,1,7)),n.n;case 2:return n.k}return ntA(n,t,e,i)}function Jp(n,t,e){var i,r;return n.Pj()?(r=n.Qj(),i=naD(n,t,e),n.Jj(n.Ij(7,Qx(e),i,t,r)),i):naD(n,t,e)}function Jm(n,t){var e,i,r,a,c,o;null==n.d?(++n.e,--n.f):(r=t.ld(),i=((e=t.Bi())&nl3)%n.d.length,a=n,c=i,o=ncX(n,i,e,r),++a.e,--a.f,CY(a.d[c].gd(o),136).md())}function Jv(n,t){var e;e=(n.Bb&nbB)!=0,t?n.Bb|=nbB:n.Bb&=-1025,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,10,e,t))}function Jy(n,t){var e;e=(n.Bb&nwB)!=0,t?n.Bb|=nwB:n.Bb&=-4097,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,12,e,t))}function Jk(n,t){var e;e=(n.Bb&njE)!=0,t?n.Bb|=njE:n.Bb&=-8193,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,15,e,t))}function JM(n,t){var e;e=(n.Bb&njT)!=0,t?n.Bb|=njT:n.Bb&=-2049,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,11,e,t))}function JE(n){var t,e;for(e=n.p.a.ec().Kc();e.Ob();)if((t=CY(e.Pb(),218)).f&&n.b[t.c]<-1e-10)return t;return null}function JT(n,t){var e,i;for(i=new fU(t);i.a<i.c.c.length;)e=CY(RU(i),42),H0(n.b.b,e.b),function(n,t){jL(n.a,t)&&(t.d=null)}(CY(e.a,194),CY(e.b,86))}function Jj(n,t){return n<t?-1:n>t?1:n==t?0==n?Jj(1/n,1/t):0:isNaN(n)?+!isNaN(t):-1}function JS(n,t){var e,i,r;for(xf(t),e=!1,i=new fU(n);i.a<i.c.c.length;)r=RU(i),t.Hc(r)&&(L6(i),e=!0);return e}function JP(n){var t,e,i,r;return Xf(e=new O9(t=CY(mP((r=(i=n.Rm).f)==nPw?i:r),9),CY(Oc(t,t.length),9),0),n),e}function JO(n){var t;return(t=CY(niK(n,(nlL(),nHt)),88))==(Ju(),nY7)?pj(PI(niK(n,nBF)))>=1?nY9:nY5:t}function JC(n){if(n.c)JC(n.c);else if(n.d)throw new px("Stream already terminated, can't be modified or used").e}function JI(n,t,e){var i;return i=n.a.get(t),n.a.set(t,void 0===e?null:e),void 0===i?(++n.c,++n.b.g):++n.d,i}function JA(n,t,e){var i;return i=0,t&&(TD(n.a)?i+=t.f.a/2:i+=t.f.b/2),e&&(TD(n.a)?i+=e.f.a/2:i+=e.f.b/2),i}function JL(n,t,e){var i;return mk(),G4(i=new oR,t),GW(i,e),n&&B7((n.a||(n.a=new jU(nL0,n,5)),n.a),i),i}function JN(n){var t;return(64&n.Db)!=0?ncG(n):(t=new Sm(ncG(n)),t.a+=" (identifier: ",EW(t,n.k),t.a+=")",t.a)}function Jx(n,t){var e;e=(n.Bb&nEI)!=0,t?n.Bb|=nEI:n.Bb&=-32769,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,18,e,t))}function J$(n,t){var e;e=(n.Bb&nEI)!=0,t?n.Bb|=nEI:n.Bb&=-32769,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,18,e,t))}function JD(n,t){var e;e=(n.Bb&nbk)!=0,t?n.Bb|=nbk:n.Bb&=-16385,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,16,e,t))}function JR(n,t){var e;e=(n.Bb&nwG)!=0,t?n.Bb|=nwG:n.Bb&=-65537,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,20,e,t))}function JK(n){var t;return t=BJ(n4u,nb5,28,2,15,1),n-=nwG,t[0]=(n>>10)+nwq&nb9,t[1]=(1023&n)+56320&nb9,Za(t,0,t.length)}function JF(n,t){var e,i,r,a,c,o;return Ty(n)&&Ty(t)&&nwx<(e=n+t)&&e<nwL?e:zC((i=Ty(n)?zB(n):n,r=Ty(t)?zB(t):t,a=i.l+r.l,c=i.m+r.m+(a>>22),o=i.h+r.h+(c>>22),js(a&nwO,c&nwO,o&nwC)))}function J_(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;if(Ty(n)&&Ty(t)&&nwx<(e=n*t)&&e<nwL)return e;return zC((i=Ty(n)?zB(n):n,r=Ty(t)?zB(t):t,a=8191&i.l,c=i.l>>13|(15&i.m)<<9,o=i.m>>4&8191,u=i.m>>17|(255&i.h)<<5,s=(1048320&i.h)>>8,h=8191&r.l,f=r.l>>13|(15&r.m)<<9,l=r.m>>4&8191,b=r.m>>17|(255&r.h)<<5,w=(1048320&r.h)>>8,m=a*h,v=c*h,y=o*h,k=u*h,M=s*h,0!=f&&(v+=a*f,y+=c*f,k+=o*f,M+=u*f),0!=l&&(y+=a*l,k+=c*l,M+=o*l),0!=b&&(k+=a*b,M+=c*b),0!=w&&(M+=a*w),d=(m&nwO)+((511&v)<<13),g=(m>>22)+(v>>9)+((262143&y)<<4)+((31&k)<<17),p=(y>>18)+(k>>5)+((4095&M)<<8),g+=d>>22,d&=nwO,p+=g>>22,js(d,g&=nwO,p&=nwC)))}function JB(n,t){var e;return Ty(n)&&Ty(t)&&nwx<(e=n-t)&&e<nwL?e:zC(Vn(Ty(n)?zB(n):n,Ty(t)?zB(t):t))}function JH(n,t){var e;return n.i||nal(n),(e=CY(xN(n.g,t),42))?new Rk(n.j,CY(e.a,17).a,CY(e.b,17).a):($O(),$O(),nO_)}function JU(n,t){return T6(),qM(nbQ),nP_.Math.abs(n-t)<=nbQ||n==t||isNaN(n)&&isNaN(t)?0:n<t?-1:n>t?1:Tm(isNaN(n),isNaN(t))}function JG(){JG=T,nZs=new MW(nd6,0),nZo=new MW("POLYLINE",1),nZc=new MW("ORTHOGONAL",2),nZu=new MW("SPLINES",3)}function Jq(){Jq=T,nVW=new MS("ASPECT_RATIO_DRIVEN",0),nVQ=new MS("MAX_SCALE_DRIVEN",1),nVV=new MS("AREA_DRIVEN",2)}function JX(n){var t,e;for(t=new du,e=new fU(n.j);e.a<e.c.c.length;)jB(t,CY(RU(e),12).b);return NP(t),new TO(t)}function Jz(n){var t,e;for(t=new du,e=new fU(n.j);e.a<e.c.c.length;)jB(t,CY(RU(e),12).e);return NP(t),new TO(t)}function JV(n){var t,e;for(t=new du,e=new fU(n.j);e.a<e.c.c.length;)jB(t,CY(RU(e),12).g);return NP(t),new TO(t)}function JW(n,t){var e,i;for(i=0,e=CY(t.Kb(n),20).Kc();e.Ob();)pT(PC(niK(CY(e.Pb(),18),(nlF(),nFu))))||++i;return i}function JQ(n){var t,e,i,r,a;for(t=new OM(n.Rd().gc()),r=0,i=Hd(n.Rd().Kc());i.Ob();)e=i.Pb(),a=Qx(r++),jB(t.a,(xj(),nnV(e,a),new vj(e,a)));return function(n){var t,e,i;switch(xj(),n.c.length){case 0:return nPJ;case 1:return e=(t=CY(naf(new fU(n)),44)).ld(),i=t.md(),xj(),nnV(e,i),new xp(e,i);default:return new pu(CY(ZB(n,BJ(nPl,nbL,44,n.c.length,0,1)),173))}}(t.a)}function JJ(n,t,e,i){var r,a,c,o;return xf(i),xf(e),null==(a=null==(r=n.xc(t))?e:(c=CY(r,15),o=CY(e,16),c.Gc(o),c))?n.Bc(t):n.zc(t,a),a}function JY(n,t){var e,i,r,a,c;if(e=t.f,Zq(n.c.d,e,t),null!=t.g)for(r=t.g,a=0,c=r.length;a<c;++a)i=r[a],Zq(n.c.e,i,t)}function JZ(n,t){var e,i;for(e=ZQ(n,0);e.b!=e.d.c;){if(xf(i=PI(K0(e))),i==t)return;if(i>t){KE(e);break}}Ne(e,t)}function J1(n,t){0==n.n.c.length&&jB(n.n,new DT(n.s,n.t,n.i)),jB(n.b,t),nn3(CY(I0(n.n,n.n.c.length-1),209),t),nhe(n,t)}function J0(n){var t;this.a=new O9(t=CY(n.e&&n.e(),9),CY(Oc(t,t.length),9),0),this.b=BJ(nPa,nl7,1,this.a.a.length,5,1)}function J2(n){return Array.isArray(n)&&n.Tm===E?mI(WZ(n))+"@"+(XS(n)>>>0).toString(16):n.toString()}function J3(n,t){switch(t.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function J4(n,t,e,i){switch(t){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return Jg(n,t,e,i)}function J6(n,t){if(t==n.d)return n.e;if(t==n.e)return n.d;throw new pN("Node "+t+" not part of edge "+n).e}function J5(n,t,e,i){if(t<0)nc7(n,e,i);else{if(!e.rk())throw new pN(nET+e.xe()+nEj).e;CY(e,69).wk().Ck(n,n.hi(),t,i)}}function J8(n){var t;if(n.b){if(J8(n.b),n.b.d!=n.c)throw(new dR).e}else n.d.dc()&&(t=CY(n.f.c.xc(n.e),16))&&(n.d=t)}function J9(n){var t,e,i;for(this.a=new TE,i=new fU(n);i.a<i.c.c.length;)e=CY(RU(i),16),function(n,t){var e,i;for(i=t.Kc();i.Ob();)e=CY(i.Pb(),272),n.b=!0,LX(n.e,e),e.b=n}(t=new Ar,e),LX(this.a,t)}function J7(n,t,e){var i,r;for(i=0,r=n.length;i<r;i++)if(Vx((Rx(i,n.length),n.charCodeAt(i)),t,e))return!0;return!1}function Yn(n,t,e,i,r){var a,c,o;for(c=r;t.b!=t.c;)a=CY(LG(t),10),o=CY(JH(a,i).Xb(0),12),n.d[o.p]=c++,dk(e.c,o);return c}function Yt(n,t){var e,i,r,a,c;for(i=0,e=0,a=0,c=t.length;a<c;++a)(r=t[a])>0&&(i+=r,++e);return e>1&&(i+=n.d*(e-1)),i}function Ye(n){var t,e,i;for(i=new p1,i.a+="[",t=0,e=n.gc();t<e;)EW(i,Sp(n.Vi(t))),++t<e&&(i.a+=nl8);return i.a+="]",i.a}function Yi(n){var t,e;return jM(n,307)?(NP(t=CY(n,307)),nrY(e=t?new O8(t):CW(t.Kc())),QN(e)):jM(n,441)?CY(n,441).a:jM(n,59)?new pr(n):new vL(n)}function Yr(n,t){var e;return ER(n)===ER(t)||!!jM(t,92)&&(e=CY(t,92),n.e==e.e&&n.d==e.d&&function(n,t){var e;for(e=n.d-1;e>=0&&n.a[e]===t[e];e--);return e<0}(n,e.a))}function Ya(n){switch(nf5(),n.g){case 4:return n1t;case 1:return n1n;case 3:return n1m;case 2:return n1y;default:return n1v}}function Yc(n){var t,e;for(e=pj(PI(n.a.of((nl_(),nYH)))),t=new fU(n.a.Sf());t.a<t.c.c.length;)nlc(n,CY(RU(t),695),e)}function Yo(n,t){var e,i;for(i=new fU(t);i.a<i.c.c.length;)e=CY(RU(i),42),jB(n.b.b,CY(e.b,86)),R1(CY(e.a,194),CY(e.b,86))}function Yu(n,t){var e;return n.d?LR(n.b,t)?CY(NR(n.b,t),47):(e=t.dg(),xM(n.b,t,e),e):t.dg()}function Ys(n,t){switch(t){case 3:return 0!=n.f;case 4:return 0!=n.g;case 5:return 0!=n.i;case 6:return 0!=n.j}return zK(n,t)}function Yh(n){switch(n.g){case 0:return new cT;case 1:return new cP;default:throw new pN(np5+(null!=n.f?n.f:""+n.g)).e}}function Yf(n){switch(n.g){case 0:return new gX;case 1:return new gM;default:throw new pN(nMe+(null!=n.f?n.f:""+n.g)).e}}function Yl(){var n,t,e;nih(),e=nO3+++Date.now(),n=Dy(nP_.Math.floor(e*ndn))&nde,t=Dy(e-n*ndt),this.a=1502^n,this.b=t^nw7}function Yb(){Yb=T,nFE=new kH(npL,0),nFv=new kH("FIRST",1),nFy=new kH(np7,2),nFk=new kH("LAST",3),nFM=new kH(nmn,4)}function Yw(){Yw=T,n1Y=new M9(nyA,0),n1W=new M9("GROUP_DEC",1),n1J=new M9("GROUP_MIXED",2),n1Q=new M9("GROUP_INC",3)}function Yd(n,t,e){var i,r;for(r=n.Kc();r.Ob();)if(i=r.Pb(),ER(t)===ER(i)||null!=t&&QY(t,i))return e&&r.Qb(),!0;return!1}function Yg(n,t){var e;if(!t)return!1;for(e=0;e<n.i;++e)if(CY(n.g[e],378).mj(t))return!1;return B7(n,t)}function Yp(n,t,e){var i,r;if(++n.j,e.dc())return!1;for(r=e.Kc();r.Ob();)i=r.Pb(),n.qj(t,n.Zi(t,i)),++t;return!0}function Ym(n,t){var e,i,r;if(null==n.i&&nhr(n),e=n.i,-1!=(i=t.Lj())){for(r=e.length;i<r;++i)if(e[i]==t)return i}return -1}function Yv(n){var t,e,i;for(t=new fM,i=new fK(n.b.Kc());i.b.Ob();)e=function(n){var t,e,i,r,a,c,o,u;if(jM(n,143))return function(n){var t,e,i,r,a;return a=nig(n),null!=n.a&&IT(a,"category",n.a),vi(new fS(n.d))||(U7(a,"knownOptions",i=new fM),t=new w_(i),_r(new fS(n.d),t)),vi(n.g)||(U7(a,"supportedFeatures",r=new fM),e=new wB(r),_r(n.g,e)),a}(CY(n,143));if(jM(n,233))return r=nig(t=CY(n,233)),vi(t.c)||(U7(r,"knownLayouters",i=new fM),e=new wH(i),_r(t.c,e)),r;if(jM(n,23))return u=nig(a=CY(n,23)),null!=a.e&&IT(u,nTs,a.e),a.k&&IT(u,"type",Pe(a.k)),vi(a.j)||(U7(u,nEZ,o=new fM),c=new wU(o),_r(a.j,c)),u;throw new pN(nTn+niV(new pU(Vw(DY(nPa,1),nl7,1,5,[n])))).e}(CY(i.b.Pb(),701)),function(n,t,e){UA(n,t),FO(n,t,e)}(t,t.a.length,e);return t.a}function Yy(n){var t;return n.c||(n.c=new nI),ji(n.d,new nL),function(n){var t,e,i,r,a,c,o;for(a=new mH(CY(NP(new nN),50)),o=nw_,e=new fU(n.d);e.a<e.c.c.length;){for(o=(t=CY(RU(e),226)).c.c;0!=a.a.gc();)if((c=CY(a.a.Tc(),226)).c.c+c.c.b<o)a.a.Bc(c);else break;for(r=a.a.ec().Kc();r.Ob();)IA((i=CY(r.Pb(),226)).b,t),IA(t.b,i);a.a.zc(t,(SB(),nOo))}}(n),t=function(n){var t,e,i,r,a,c,o,u,s,h;for(s=n.a,t=new dV,u=0,i=new fU(n.d);i.a<i.c.c.length;){for(e=CY(RU(i),226),h=0,Xm(e.b,new nA),c=ZQ(e.b,0);c.b!=c.d.c;)a=CY(K0(c),226),t.a._b(a)&&(r=e.c,h<(o=a.c).d+o.a+s&&h+r.a+s>o.d&&(h=o.d+o.a+s));e.c.d=h,t.a.zc(e,t),u=nP_.Math.max(u,e.c.d+e.c.a)}return u}(n),vZ(new Aa(null,new R$(n.d,16)),new lp(n)),t}function Yk(n){Yj(),this.c=_q(Vw(DY(nLS,1),nl7,845,0,[nUY])),this.b=new dc,this.a=n,xM(this.b,nUZ,1),Gd(nU1,new wh(this))}function YM(n,t,e){GX(),gb.call(this),this.a=I3(nCg,[nby,ndZ],[603,217],0,[nCv,nCm],2),this.c=new TI,this.g=n,this.f=t,this.d=e}function YE(n,t){this.n=I3(n4f,[nby,nwH],[376,28],14,[t,Dy(nP_.Math.ceil(n/32))],2),this.o=n,this.p=t,this.j=n-1>>1,this.k=t-1>>1}function YT(n){var t,e;t=n.d==(nr_(),nRb),e=ne0(n),t&&!e||!t&&e?VD(n.a,(nlL(),nBR),(nnS(),nJn)):VD(n.a,(nlL(),nBR),(nnS(),nQ7))}function Yj(){Yj=T,yu(),nlL(),nUZ=nUC,nU1=_q(Vw(DY(nLO,1),nyC,149,0,[nUm,nUv,nUk,nUM,nUj,nUS,nUP,nUO,nUA,nUN,nUy,nUE,nUI]))}function YS(n,t){var e,i;if(1>=(i=new f0(n.a.ad(t,!0))).a.gc())throw(new d$).e;return(e=i.a.ec().Kc()).Pb(),CY(e.Pb(),40)}function YP(n,t){return n.i>0&&(t.length<n.i&&(t=G7(WZ(t).c,n.i)),ns8(n.g,0,t,0,n.i)),t.length>n.i&&NK(t,n.i,null),t}function YO(n){var t;return(64&n.Db)!=0?QG(n):(t=new Sm(QG(n)),t.a+=" (instanceClassName: ",EW(t,n.D),t.a+=")",t.a)}function YC(n){var t,e,i,r;for(e=0,r=0,i=n.length;e<i;e++)Rx(e,n.length),(t=n.charCodeAt(e))<64&&(r=R_(r,A8(1,t)));return r}function YI(n,t){var e,i,r,a;for(r=0,a=nox(n.e.Dh(),t),e=CY(n.g,124);r<n.i;++r)if(i=e[r],a.am(i.Lk()))return!1;return!0}function YA(n,t){var e,i;return n.f>0&&(n._j(),i=((e=null==t?0:XS(t))&nl3)%n.d.length,-1!=ncX(n,i,e,t))}function YL(n,t){var e,i;n.a=JF(n.a,1),n.c=nP_.Math.min(n.c,t),n.b=nP_.Math.max(n.b,t),n.d+=t,e=t-n.f,i=n.e+e,n.f=i-n.e-e,n.e=i}function YN(n,t){switch(t){case 3:GJ(n,0);return;case 4:GY(n,0);return;case 5:GZ(n,0);return;case 6:G1(n,0);return}QC(n,t)}function Yx(n,t){switch(t.g){case 1:return Cz(n.j,(X8(),n$E));case 2:return Cz(n.j,(X8(),n$j));default:return $O(),$O(),nO_}}function Y$(n){var t;switch(NA(),(t=n.Pc()).length){case 0:return nPQ;case 1:return new IY(NP(t[0]));default:return new Dn(function(n){var t,e;for(t=0,e=n.length;t<e;t++)if(null==n[t])throw new pD("at index "+t).e;return new pU(n)}(t))}}function YD(n,t){n.Xj();try{n.d.bd(n.e++,t),n.f=n.d.j,n.g=-1}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}}function YR(){YR=T,n2X=new ue,n2F=new ui,n2_=new ur,n2B=new ua,n2H=new uc,n2U=new uo,n2G=new uu,n2q=new us,n2z=new uh}function YK(n,t){var e,i;return Tr(),e=On((pp(),pp(),nP8)),i=null,t==e&&(i=CY(Db(nP5,n),624)),i||(i=new NC(n),t==e&&Rr(nP5,n,i)),i}function YF(n){return nnT(),(!n.q?($O(),$O(),nOB):n.q)._b((nlL(),nHX))?CY(niK(n,nHX),203):CY(niK(xi(n),nHz),203)}function Y_(n,t){var e,i;return i=null,Pn(n,(nlL(),nUT))&&(e=CY(niK(n,nUT),96)).pf(t)&&(i=e.of(t)),null==i&&(i=niK(xi(n),t)),i}function YB(n,t){var e,i,r;return!!jM(t,44)&&(i=(e=CY(t,44)).ld(),N7(r=QH(n.Rc(),i),e.md())&&(null!=r||n.Rc()._b(i)))}function YH(n,t){var e,i,r;return n.f>0&&(n._j(),r=((i=null==t?0:XS(t))&nl3)%n.d.length,e=naH(n,r,i,t))?e.md():null}function YU(n,t,e){var i,r,a;return n.Pj()?(i=n.i,a=n.Qj(),QV(n,i,t),r=n.Ij(3,null,t,i,a),e?e.nj(r):e=r):QV(n,n.i,t),e}function YG(n){var t;return PY(),t=new TP(CY(n.e.of((nl_(),nJ7)),8)),n.B.Hc((nsv(),n1x))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function Yq(n){var t,e;return(nuY(),e=AW(n),0!=(t=AW(A7(n,32))))?new RG(e,t):e>10||e<0?new FI(1,e):nOL[e]}function YX(n,t){var e;return Ty(n)&&Ty(t)&&nwx<(e=n%t)&&e<nwL?e:zC((nfs(Ty(n)?zB(n):n,Ty(t)?zB(t):t,!0),nOe))}function Yz(n,t){var e;(function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w;for(l=new fU(n);l.a<l.c.c.length;){for(SH((f=CY(RU(l),10)).n),SH(f.o),BV(f.f),nuz(f),!function(n){var t,e,i;switch(t=CY(niK(n,(nlL(),nHJ)),8),VD(n,nHJ,new MH(t.b,t.a)),CY(niK(n,nBR),255).g){case 1:VD(n,nBR,(nnS(),nJt));break;case 2:VD(n,nBR,(nnS(),nQ8));break;case 3:VD(n,nBR,(nnS(),nQ7));break;case 4:VD(n,nBR,(nnS(),nJn))}(!n.q?($O(),$O(),nOB):n.q)._b(nUu)&&(i=(e=CY(niK(n,nUu),8)).a,e.a=e.b,e.b=i)}(f),w=new fU(f.j);w.a<w.c.c.length;){for(SH((b=CY(RU(w),12)).n),SH(b.a),SH(b.o),nau(b,nn0(b.j)),(r=CY(niK(b,(nlL(),nUe)),17))&&VD(b,nUe,Qx(-r.a)),i=new fU(b.g);i.a<i.c.c.length;){for(t=ZQ((e=CY(RU(i),18)).a,0);t.b!=t.d.c;)SH(CY(K0(t),8));if(c=CY(niK(e,nHP),75))for(a=ZQ(c,0);a.b!=a.d.c;)SH(CY(K0(a),8));for(s=new fU(e.b);s.a<s.c.c.length;)SH((o=CY(RU(s),72)).n),SH(o.o)}for(h=new fU(b.f);h.a<h.c.c.length;)SH((o=CY(RU(h),72)).n),SH(o.o)}for(f.k==(ni8(),n$g)&&(VD(f,(nlF(),nK_),nn0(CY(niK(f,nK_),64))),!function(n){var t,e;e=CY(niK(n,(nlL(),nHI)),171),t=CY(niK(n,(nlF(),nKz)),311),e==(Yb(),nFy)?(VD(n,nHI,nFE),VD(n,nKz,(UM(),nKy))):e==nFM?(VD(n,nHI,nFE),VD(n,nKz,(UM(),nKm))):t==(UM(),nKy)?(VD(n,nHI,nFy),VD(n,nKz,nKv)):t==nKm&&(VD(n,nHI,nFM),VD(n,nKz,nKv))}(f)),u=new fU(f.b);u.a<u.c.c.length;)nuz(o=CY(RU(u),72)),SH(o.o),SH(o.n)}})(t),(e=CY(niK(n,(nlL(),nHo)),283))&&VD(n,nHo,function(n){switch(n.g){case 0:return nRU;case 1:return nRG;case 2:return nRq;case 3:return nRX;case 4:return nRz;case 5:return nRV;default:return null}}(e)),SH(n.c),SH(n.f),BV(n.d),BV(CY(niK(n,nH_),214))}function YV(n){var t,e;0!=n.c&&(1==(t=CY(I0(n.a,n.b),294)).b?(++n.b,n.b<n.a.c.length&&((e=CY(I0(n.a,n.b),294)).b=e.a)):--t.b,--n.c)}function YW(n){this.e=BJ(n4s,nwl,28,n.length,15,1),this.c=BJ(n4h,ndV,28,n.length,16,1),this.b=BJ(n4h,ndV,28,n.length,16,1),this.f=0}function YQ(n,t,e){var i,r,a,c;for(a=t-n.e,c=e-n.f,r=new fU(n.a);r.a<r.c.c.length;)nnL(i=CY(RU(r),172),i.s+a,i.t+c);n.e=t,n.f=e}function YJ(n,t){var e,i;for(e=0,i=t.length;e<i;e+=2)no2(n,(Rx(e,t.length),t.charCodeAt(e)),(Rx(e+1,t.length),t.charCodeAt(e+1)))}function YY(){YY=T,n1T=new TW(15),n1E=new TZ((nl_(),nYa),n1T),n1S=new TZ(nYq,15),n1j=new TZ(nYI,Qx(0)),n1M=new TZ(nJj,ng0)}function YZ(){YZ=T,n1C=new M4("PORTS",0),n1I=new M4("PORT_LABELS",1),n1O=new M4("NODE_LABELS",2),n1P=new M4("MINIMUM_SIZE",3)}function Y1(){Y1=T,nVC=new MT("P1_WIDTH_APPROXIMATION",0),nVI=new MT("P2_PACKING",1),nVA=new MT("P3_WHITESPACE_ELIMINATION",2)}function Y0(n){if(null!=n.b)return!0;for(;n.a.Ob();)if(n.b=n.a.Pb(),!CY(n.b,54).Jh())return!0;return n.b=null,!1}function Y2(n,t,e){var i,r,a;for(r=null,a=n.b;a;){if(i=n.a.Ne(t,a.d),e&&0==i)return a;i>=0?a=a.a[1]:(r=a,a=a.a[0])}return r}function Y3(n,t,e){var i,r,a;for(r=null,a=n.b;a;){if(i=n.a.Ne(t,a.d),e&&0==i)return a;i<=0?a=a.a[0]:(r=a,a=a.a[1])}return r}function Y4(n,t,e){var i,r,a;for(r=CY(NR(n.b,e),183),i=0,a=new fU(t.j);a.a<a.c.c.length;)r[CY(RU(a),113).d.p]&&++i;return i}function Y6(n,t,e){var i,r;i=CY(Db(n3X,t),122),r=CY(Db(n3z,t),122),e?(Rr(n3X,n,i),Rr(n3z,n,r)):(Rr(n3z,n,i),Rr(n3X,n,r))}function Y5(n,t){var e,i,r,a;return e=t>>5,t&=31,function(n,t,e,i){var r,a,c;if(0==i)ns8(t,0,n,e,n.length-e);else for(c=32-i,n[n.length-1]=0,a=n.length-1;a>e;a--)n[a]|=t[a-e-1]>>>c,n[a-1]=t[a-e-1]<<i;for(r=0;r<e;r++)n[r]=0}(i=BJ(n4s,nwl,28,r=n.d+e+ +(0!=t),15,1),n.a,e,t),KM(a=new LZ(n.e,r,i)),a}function Y8(n,t,e){var i,r,a,c,o;return c=n.k,o=t.k,r=PI(Y_(n,i=e[c.g][o.g])),a=PI(Y_(t,i)),nP_.Math.max((xf(r),r),(xf(a),a))}function Y9(n,t){return T6(),T6(),qM(nbQ),(nP_.Math.abs(n-t)<=nbQ||n==t||isNaN(n)&&isNaN(t)?0:n<t?-1:n>t?1:Tm(isNaN(n),isNaN(t)))<0}function Y7(n,t){return T6(),T6(),qM(nbQ),(nP_.Math.abs(n-t)<=nbQ||n==t||isNaN(n)&&isNaN(t)?0:n<t?-1:n>t?1:Tm(isNaN(n),isNaN(t)))<=0}function Zn(n,t){for(var e=0;!t[e]||""==t[e];)e++;for(var i=t[e++];e<t.length;e++)t[e]&&""!=t[e]&&(i+=n+t[e]);return i}function Zt(n){var t,e;return null!=(t=CY(zA(n.a,4),129))?(e=BJ(nNl,nje,424,t.length,0,1),ns8(t,0,e,0,t.length),e):n0P}function Ze(n){var t,e,i,r;if(null==n)return null;for(r=new du,t=WP(n),e=0,i=t.length;e<i;++e)jB(r,nhB(t[e],!0));return r}function Zi(n){var t,e,i,r;if(null==n)return null;for(r=new du,t=WP(n),e=0,i=t.length;e<i;++e)jB(r,nhB(t[e],!0));return r}function Zr(n){var t,e,i,r;if(null==n)return null;for(r=new du,t=WP(n),e=0,i=t.length;e<i;++e)jB(r,nhB(t[e],!0));return r}function Za(n,t,e){var i,r,a,c,o;for(a=t+e,B2(t,a,n.length),c="",r=t;r<a;)i=nP_.Math.min(r+1e4,a),c+=(o=n.slice(r,i),String.fromCharCode.apply(null,o)),r=i;return c}function Zc(n){switch(n.g){case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:return!0;default:return!1}}function Zo(){Zo=T,nRA=new kA(nmb,0),nRI=new kA(nmw,1),nRN=new kA(nml,2),nRx=new kA(npN,3),nRL=new kA("GREEDY_MODEL_ORDER",4)}function Zu(){Zu=T,nGO=new kV(npL,0),nGP=new kV("NODES_AND_EDGES",1),nGC=new kV("PREFER_EDGES",2),nGI=new kV("PREFER_NODES",3)}function Zs(n,t,e,i,r,a){this.a=n,this.c=t,this.b=e,this.f=i,this.d=r,this.e=a,this.c>0&&this.b>0&&(this.g=Ao(this.c,this.b,this.a))}function Zh(n){if(!(nE9 in n.a))throw new p_("Every element must have an id.").e;return nak(D$(n,nE9))}function Zf(n){var t,e;for(e=nrT(n),t=null;2==n.c;)nlN(n),t||(nlU(),nlU(),++n4c,nh7(t=new T3(2),e),e=t),e.Jm(nrT(n));return e}function Zl(n,t){var e,i,r;return(n._j(),r=((i=null==t?0:XS(t))&nl3)%n.d.length,e=naH(n,r,i,t))?(qE(n,e),e.md()):null}function Zb(n,t){return n.e>t.e?1:n.e<t.e?-1:n.d>t.d?n.e:n.d<t.d?-t.e:n.e*WO(n.a,t.a,n.d)}function Zw(n){return n>=48&&n<48+nP_.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function Zd(n){switch(typeof n){case nl0:return Wb(n);case nl1:return Td(n);case nlZ:return PQ(n);default:return null==n?0:SK(n)}}function Zg(n,t){if(n.a<0)throw new px("Did not call before(...) or after(...) before calling add(...).").e;return S3(n,n.a,t),n}function Zp(n){return(D6(),jM(n,162))?CY(NR(n0T,nPD),295).Rg(n):LR(n0T,WZ(n))?CY(NR(n0T,WZ(n)),295).Rg(n):null}function Zm(n){var t;return(32&n.Db)==0&&0!=(t=N$(CY(zA(n,16),29)||n.ii())-N$(n.ii()))&&Zv(n,32,BJ(nPa,nl7,1,t,5,1)),n}function Zv(n,t,e){var i;(n.Db&t)!=0?null==e?function(n,t){var e,i,r,a,c,o,u;if(1==(i=Jr(254&n.Db)))n.Eb=null;else if(a=qr(n.Eb),2==i)r=ntu(n,t),n.Eb=a[+(0==r)];else{for(e=2,c=BJ(nPa,nl7,1,i-1,5,1),o=0,u=0;e<=128;e<<=1)e==t?++o:(n.Db&e)!=0&&(c[u++]=a[o++]);n.Eb=c}n.Db&=~t}(n,t):-1==(i=ntu(n,t))?n.Eb=e:NK(qr(n.Eb),i,e):null!=e&&function(n,t,e){var i,r,a,c,o,u;if(0==(r=Jr(254&n.Db)))n.Eb=e;else{if(1==r)c=BJ(nPa,nl7,1,2,5,1),0==ntu(n,t)?(c[0]=e,c[1]=n.Eb):(c[0]=n.Eb,c[1]=e);else for(i=2,c=BJ(nPa,nl7,1,r+1,5,1),a=qr(n.Eb),o=0,u=0;i<=128;i<<=1)i==t?c[u++]=e:(n.Db&i)!=0&&(c[u++]=a[o++]);n.Eb=c}n.Db|=t}(n,t,e)}function Zy(n){var t,e,i;if(!(i=n.Jh()))for(t=0,e=n.Ph();e;e=e.Ph()){if(++t>nwz)return e.Qh();if((i=e.Jh())||e==n)break}return i}function Zk(n,t){var e;return ER(t)===ER(n)||!!jM(t,21)&&(e=CY(t,21)).gc()==n.gc()&&n.Ic(e)}function ZM(n,t){return xf(n),null!=t&&(!!OB(n,t)||n.length==t.length&&OB(n.toLowerCase(),t.toLowerCase()))}function ZE(n){var t,e;return Qv(n,-129)>0&&0>Qv(n,128)?(I6(),(e=nOd[t=AW(n)+128])||(e=nOd[t]=new fT(n)),e):new fT(n)}function ZT(){ZT=T,n$h=new ki(npL,0),n$u=new ki("INSIDE_PORT_SIDE_GROUPS",1),n$o=new ki("GROUP_MODEL_ORDER",2),n$s=new ki(npN,3)}function Zj(n,t,e){t.b=nP_.Math.max(t.b,-e.a),t.c=nP_.Math.max(t.c,e.a-n.a),t.d=nP_.Math.max(t.d,-e.b),t.a=nP_.Math.max(t.a,e.b-n.b)}function ZS(n,t,e){this.c=n,this.f=new du,this.e=new mm,this.j=new I7,this.n=new I7,this.b=t,this.g=new x4(t.c,t.d,t.b,t.a),this.a=e}function ZP(n){var t,e,i;for(this.a=new TE,this.d=new dV,this.e=0,e=0,i=n.length;e<i;++e)t=n[e],this.f||(this.f=t),R1(this,t)}function ZO(n){(nuY(),0==n.length)?(this.e=0,this.d=1,this.a=Vw(DY(n4s,1),nwl,28,15,[0])):(this.e=1,this.d=n.length,this.a=n,KM(this))}function ZC(n,t,e){gb.call(this),this.a=BJ(nCg,ndZ,217,(GL(),Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa])).length,0,1),this.b=n,this.d=t,this.c=e}function ZI(n,t){var e,i;return(e=t.qi(n.a))&&null!=(i=PA(YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),nTh)))?i:t.xe()}function ZA(n,t,e){var i,r,a;i=t.c.p,a=t.p,n.b[i][a]=new $V(n,t),e&&(n.a[i][a]=new bk(t),(r=CY(niK(t,(nlF(),nKV)),10))&&naR(n.d,r,t))}function ZL(n,t){var e;e=!n.A.Hc((YZ(),n1I))||n.q==(nie(),nZJ),n.u.Hc((nap(),nZ6))?e?function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;if(f=CY(CY(_G(n.r,t),21),87),t==(nf5(),n1n)||t==n1y)return nf1(n,t);for(a=t==n1t?(zQ(),nI_):(zQ(),nIU),v=t==n1t?(Uk(),nIb):(Uk(),nIf),r=(i=(e=CY(xN(n.b,t),127)).i).c+Gl(Vw(DY(n4b,1),nwX,28,15,[e.n.b,n.C.b,n.k])),g=i.c+i.b-Gl(Vw(DY(n4b,1),nwX,28,15,[e.n.c,n.C.c,n.k])),(M=Cy(a)).a=n.t,p=t==n1t?nw_:nwF,h=f.Kc();h.Ob();)(u=CY(h.Pb(),117)).c&&!(u.c.d.c.length<=0)&&(d=u.b.Mf(),w=u.e,(b=(l=u.c).i).b=(o=l.n,l.e.a+o.b+o.c),b.a=(c=l.n,l.e.b+c.d+c.a),$9(v,nd2),l.f=v,Hn(l,(HS(),nIs)),b.c=w.a-(b.b-d.a)/2,y=nP_.Math.min(r,w.a),k=nP_.Math.max(g,w.a+d.a),b.c<y?b.c=y:b.c+b.b>k&&(b.c=k-b.b),jB(M.d,new A$(b,Jl(M,b))),p=t==n1t?nP_.Math.max(p,w.b+u.b.Mf().b):nP_.Math.min(p,w.b));for(p+=t==n1t?n.t:-n.t,(m=Yy((M.e=p,M)))>0&&(CY(xN(n.b,t),127).a.b=m),s=f.Kc();s.Ob();)(u=CY(s.Pb(),117)).c&&!(u.c.d.c.length<=0)&&(b=u.c.i,b.c-=u.e.a,b.d-=u.e.b)}(n,t):nf1(n,t):n.u.Hc(nZ8)&&(e?function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;if(2>=(s=CY(CY(_G(n.r,t),21),87)).gc()||t==(nf5(),n1n)||t==(nf5(),n1y))return nlh(n,t);for(w=n.u.Hc((nap(),nZ9)),e=t==(nf5(),n1t)?(zQ(),nIU):(zQ(),nI_),g=t==n1t?(Uk(),nIf):(Uk(),nIb),(p=Cy(e)).a=n.s,d=t==n1t?nwF:nw_,u=s.Kc();u.Ob();)(c=CY(u.Pb(),117)).c&&!(c.c.d.c.length<=0)&&(b=c.b.Mf(),l=c.e,(f=(h=c.c).i).b=(r=h.n,h.e.a+r.b+r.c),f.a=(a=h.n,h.e.b+a.d+a.a),w?(f.c=l.a-(i=h.n,h.e.a+i.b+i.c)-n.s,w=!1):f.c=l.a+b.a+n.s,$9(g,nd2),h.f=g,Hn(h,(HS(),nIs)),jB(p.d,new A$(f,Jl(p,f))),d=t==n1t?nP_.Math.min(d,l.b):nP_.Math.max(d,l.b+c.b.Mf().b));for(Yy((p.e=d+=t==n1t?-n.t:n.t,p)),o=s.Kc();o.Ob();)(c=CY(o.Pb(),117)).c&&!(c.c.d.c.length<=0)&&(f=c.c.i,f.c-=c.e.a,f.d-=c.e.b)}(n,t):nlh(n,t))}function ZN(n){var t;ER(ncx(n,(nl_(),nJq)))===ER((QO(),nZS))&&(DV(n)?(t=CY(ncx(DV(n),nJq),346),nnh(n,nJq,t)):nnh(n,nJq,nZP))}function Zx(n,t,e){return new x4(nP_.Math.min(n.a,t.a)-e/2,nP_.Math.min(n.b,t.b)-e/2,nP_.Math.abs(n.a-t.a)+e,nP_.Math.abs(n.b-t.b)+e)}function Z$(n){var t;this.d=new du,this.j=new mm,this.g=new mm,t=n.g.b,this.f=CY(niK(xi(t),(nlL(),nHt)),88),this.e=pj(PI(Z9(t,nUj)))}function ZD(n){this.d=new du,this.e=new FF,this.c=BJ(n4s,nwl,28,(nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])).length,15,1),this.b=n}function ZR(n,t,e){var i;switch(i=e[n.g][t],n.g){case 1:case 3:return new MH(0,i);case 2:case 4:return new MH(i,0);default:return null}}function ZK(n,t,e){var i;i=CY(Dc(t.f),205);try{i.rf(n,e),xs(t.f,i)}catch(n){throw jM(n=Vt(n),103),n.e}}function ZF(n,t,e){var i,r,a,c;return a=nfT(qk(),t),i=null,a&&(c=nfd(a,e),r=null,null!=c&&(r=n.qf(a,c)),i=r),i}function Z_(n,t,e,i){var r;if(t>=(r=n.length))return r;for(t=t>0?t:0;t<r&&!Vx((Rx(t,n.length),n.charCodeAt(t)),e,i);t++);return t}function ZB(n,t){var e,i;for(i=n.c.length,t.length<i&&(t=Hk(Array(i),t)),e=0;e<i;++e)NK(t,e,n.c[e]);return t.length>i&&NK(t,i,null),t}function ZH(n,t){var e,i;for(i=n.a.length,t.length<i&&(t=Hk(Array(i),t)),e=0;e<i;++e)NK(t,e,n.a[e]);return t.length>i&&NK(t,i,null),t}function ZU(n,t){var e,i;(++n.j,null!=t&&function(n,t){var e,i,r;if(ER(n)===ER(t))return!0;if(null==n||null==t||n.length!=t.length)return!1;for(e=0;e<n.length;++e)if(i=n[e],r=t[e],!(ER(i)===ER(r)||null!=i&&QY(i,r)))return!1;return!0}(t,e=jM(i=n.a.Cb,99)?CY(i,99).th():null))?Zv(n.a,4,e):Zv(n.a,4,CY(t,129))}function ZG(n,t,e){var i;t.a.length>0&&(jB(n.b,new C1(t.a,e)),0<(i=t.a.length)?t.a=Di(t.a,0,0):0>i&&(t.a+=jA(BJ(n4u,nb5,28,-i,15,1))))}function Zq(n,t,e){var i,r,a;return(r=CY(NR(n.e,t),400))?(a=Ot(r,e),jx(n,r),a):(i=new C3(n,t,e),xM(n.e,t,i),Dl(i),null)}function ZX(){return nlG(),Vw(DY(nCE,1),nbG,164,0,[nIx,nIN,nI$,nIj,nIT,nIS,nIC,nIO,nIP,nIL,nIA,nII,nIM,nIk,nIE,nIv,nIm,nIy,nIg,nId,nIp,nID])}function Zz(n){switch(n.g){case 4:return new MH(0,-1);case 1:return new MH(1,0);case 2:return new MH(-1,0);default:return new MH(0,1)}}function ZV(n){switch(n.g){case 1:return Ju(),nZn;case 4:return Ju(),nY8;case 2:return Ju(),nY9;case 3:return Ju(),nY5}return Ju(),nY7}function ZW(){ZW=T,nQX=new MG("PARENTS",0),nQq=new MG("NODES",1),nQU=new MG("EDGES",2),nQz=new MG("PORTS",3),nQG=new MG("LABELS",4)}function ZQ(n,t){var e,i;if(RL(t,n.b),t>=n.b>>1)for(i=n.c,e=n.b;e>t;--e)i=i.b;else for(e=0,i=n.a.a;e<t;++e)i=i.a;return new Cn(n,t,i)}function ZJ(){ZJ=T,nCq=new yQ("NUM_OF_EXTERNAL_SIDES_THAN_NUM_OF_EXTENSIONS_LAST",0),nCG=new yQ("CORNER_CASES_THAN_SINGLE_SIDE_LAST",1)}function ZY(n){this.b=new du,this.e=new du,this.d=n,this.a=!mQ(xX(new Aa(null,new Nf(new _4(n.b))),new f4(new rc))).Bd((vY(),nCF))}function ZZ(n,t){var e,i,r,a;for(e=0,r=new fU(t.a);r.a<r.c.c.length;)a=(i=CY(RU(r),10)).o.a+i.d.c+i.d.b+n.j,e=nP_.Math.max(e,a);return e}function Z1(n,t){var e,i,r;(i=(r=t.d.i).k)!=(ni8(),n$v)&&i!=n$d&&ncv(e=new Le(Sb(JV(r).a.Kc(),new s)))&&xM(n.k,t,CY(_I(e),18))}function Z0(){Z0=T,nZX=new M1("DISTRIBUTED",0),nZV=new M1("JUSTIFIED",1),nZG=new M1("BEGIN",2),nZq=new M1(ndJ,3),nZz=new M1("END",4)}function Z2(n,t){var e,i,r;return i=Gt(n.Dh(),t),(e=t-n.ji())<0?(r=n.Ih(i))>=0?n.Wh(r):naN(n,i):e<0?naN(n,i):CY(i,69).wk().Bk(n,n.hi(),e)}function Z3(n){var t,e;for(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),t=(e=n.o).c.Kc();t.e!=t.i.gc();)CY(t.Yj(),44).md();return BW(e)}function Z4(n){var t;if(!jM(n.a,4))return n.a;if(null==(t=Zp(n.a)))throw new px(nMA+n.b+"'. "+nMP+(PL(nNf),nNf.k)+nMO).e;return t}function Z6(n){var t;try{return t=n.i.Xb(n.e),n.Xj(),n.g=n.e++,t}catch(t){if(jM(t=Vt(t),77))throw n.Xj(),(new dF).e;throw t.e}}function Z5(n){var t;try{return t=n.c.Vi(n.e),n.Xj(),n.g=n.e++,t}catch(t){if(jM(t=Vt(t),77))throw n.Xj(),(new dF).e;throw t.e}}function Z8(n){var t,e,i,r;for(e=0,r=0,i=n.length;e<i;e++)Rx(e,n.length),(t=n.charCodeAt(e))>=64&&t<128&&(r=R_(r,A8(1,t-64)));return r}function Z9(n,t){var e,i;return i=null,Pn(n,(nl_(),nY_))&&(e=CY(niK(n,nY_),96)).pf(t)&&(i=e.of(t)),null==i&&xi(n)&&(i=niK(xi(n),t)),i}function Z7(){Z7=T,nl_(),nNB=nYD,nN$=nJH,nNI=nJj,nND=nYa,nes(),nNF=nCZ,nNK=nCJ,nN_=nC0,nNR=nCQ,Wz(),nNL=nNS,nNA=nNj,nNN=nNO,nNx=nNC}function nnn(n){switch(yn(),this.c=new du,this.d=n,n.g){case 0:case 2:this.a=xE(n$a),this.b=nwF;break;case 3:case 1:this.a=n$a,this.b=nw_}}function nnt(n,t){var e;e=n.fd(t);try{return e.Pb()}catch(n){if(jM(n=Vt(n),112))throw new pC("Can't get element "+t).e;throw n.e}}function nne(n,t){var e,i,r;for(e=n.o,r=CY(CY(_G(n.r,t),21),87).Kc();r.Ob();)(i=CY(r.Pb(),117)).e.a=function(n,t){var e;return(e=n.b).pf((nl_(),nYm))?e.ag()==(nf5(),n1y)?-e.Mf().a-pj(PI(e.of(nYm))):t+pj(PI(e.of(nYm))):e.ag()==(nf5(),n1y)?-e.Mf().a:t}(i,e.a),i.e.b=e.b*pj(PI(i.b.of(nIF)))}function nni(n){var t;return t=new p2,t.a+="n",n.k!=(ni8(),n$v)&&EY(EY((t.a+="(",t),Pe(n.k).toLowerCase()),")"),EY((t.a+="_",t),ntO(n)),t.a}function nnr(n,t){var e;switch(e=CY(xN(n.b,t),127).n,t.g){case 1:n.t>=0&&(e.d=n.t);break;case 3:n.t>=0&&(e.a=n.t)}n.C&&(e.b=n.C.b,e.c=n.C.c)}function nna(){nna=T,nGw=new kX(nyA,0),nGf=new kX(nml,1),nGl=new kX("LINEAR_SEGMENTS",2),nGh=new kX("BRANDES_KOEPF",3),nGb=new kX(nyI,4)}function nnc(){nnc=T,nNv=new y5(ngr,0),nNm=new y5(nga,1),nNy=new y5(ngc,2),nNk=new y5(ngo,3),nNv.a=!1,nNm.a=!0,nNy.a=!1,nNk.a=!0}function nno(){nno=T,nIX=new y4(ngr,0),nIq=new y4(nga,1),nIz=new y4(ngc,2),nIV=new y4(ngo,3),nIX.a=!1,nIq.a=!0,nIz.a=!1,nIV.a=!0}function nnu(n,t,e,i){var r;return e>=0?n.Sh(t,e,i):(n.Ph()&&(i=(r=n.Fh())>=0?n.Ah(i):n.Ph().Th(n,-1-r,null,i)),n.Ch(t,e,i))}function nns(n,t){switch(t){case 7:n.e||(n.e=new Ox(nL6,n,7,4)),nft(n.e);return;case 8:n.d||(n.d=new Ox(nL6,n,8,5)),nft(n.d);return}YN(n,t)}function nnh(n,t,e){return null==e?(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),Zl(n.o,t)):(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),nej(n.o,t,e)),n}function nnf(n,t){var e,i,r,a;for($O(),e=n,a=t,jM(n,21)&&!jM(t,21)&&(e=t,a=n),r=e.Kc();r.Ob();)if(i=r.Pb(),a.Hc(i))return!1;return!0}function nnl(n,t){return EK(n)?!!nPX[t]:n.Sm?!!n.Sm[t]:E_(n)?!!nPq[t]:!!EF(n)&&!!nPG[t]}function nnb(n,t){var e,i,r;for(r=n,i=new Le(Sb(Jz(t).a.Kc(),new s));ncv(i);)(e=CY(_I(i),18)).c.i.c&&(r=nP_.Math.max(r,e.c.i.c.p));return r}function nnw(n,t,e){var i,r,a,c;return -1!=(i=n.dd(t))&&(n.Pj()?(a=n.Qj(),c=ntD(n,i),r=n.Ij(4,c,null,i,a),e?e.nj(r):e=r):ntD(n,i)),e}function nnd(n,t,e,i){var r,a,c;return a=Gt(n.Dh(),t),(r=t-n.ji())<0?(c=n.Ih(a))>=0?n.Lh(c,e,!0):naB(n,a,e):CY(a,69).wk().yk(n,n.hi(),r,e,i)}function nng(n){var t,e;if(null==n)return null;for(t=0,e=BJ(nAr,nby,199,n.length,0,2);t<e.length;t++)e[t]=CY(function(n,t){var e;return FP(t),(e=n.slice(0,t)).length=t,Hk(e,n)}(n[t],n[t].length),199);return e}function nnp(n){var t;if(WD(n))return AZ(n),n.ul()&&(t=naA(n.e,n.b,n.c,n.a,n.j),n.j=t),n.g=n.a,++n.a,++n.c,n.i=0,n.j;throw(new dF).e}function nnm(n,t){var e,i;if((i=ntq(n,t))>=0)return i;if(n.ol()){for(e=0;e<n.i;++e)if(ER(n.pl(CY(n.g[e],58)))===ER(t))return e}return -1}function nnv(n,t,e){var i,r;if(t>=(r=n.gc()))throw new OR(t,r).e;if(n.Si()&&(i=n.dd(e))>=0&&i!=t)throw new pN(nTd).e;return n.Xi(t,e)}function nny(n,t){if(this.a=CY(NP(n),253),this.b=CY(NP(t),253),n.Ed(t)>0||n==(gZ(),nPV)||t==(g1(),nPW))throw new pN("Invalid range: "+Fg(n,t)).e}function nnk(n){var t,e;for(this.b=new du,this.c=n,this.a=!1,e=new fU(n.a);e.a<e.c.c.length;)t=CY(RU(e),10),this.a=this.a|t.k==(ni8(),n$v)}function nnM(n,t,e){e.Ug("Compound graph preprocessor",1),n.a=new Ds,function n(t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(r=new du,d=new fU(e.a);d.a<d.c.c.length;)if((b=(w=CY(RU(d),10)).e)&&(Vc(r,n(t,b,w)),!function(n,t,e){var i,r,a,c,o,u,s,h,f,l;if(pT(PC(niK(e,(nlL(),nHE)))))for(r=new fU(e.j);r.a<r.c.c.length;)for(u=Ky(CY(RU(r),12).g),c=0,o=u.length;c<o;++c)(a=u[c]).d.i==e&&pT(PC(niK(a,nHT)))&&(h=a.c,(s=CY(NR(n.b,h),10))||(VD(s=nll(h,(nie(),nZ1),h.j,-1,null,null,h.o,CY(niK(t,nHt),88),t),(nlF(),nK6),h),xM(n.b,h,s),jB(t.a,s)),l=a.d,(f=CY(NR(n.b,l),10))||(VD(f=nll(l,(nie(),nZ1),l.j,1,null,null,l.o,CY(niK(t,nHt),88),t),(nlF(),nK6),l),xM(n.b,l,f),jB(t.a,f)),Ra(i=_$(a),CY(I0(s.j,0),12)),Ru(i,CY(I0(f.j,0),12)),naR(n.a,a,new Cw(i,t,(qy(),nGD))),CY(niK(t,(nlF(),nKU)),21).Fc((no7(),nKc)))}(t,b,w),CY(niK(b,(nlF(),nKU)),21).Hc((no7(),nKc))))for(m=CY(niK(w,(nlL(),nUt)),101),l=CY(niK(w,nUr),181).Hc((nap(),nZ6)),p=new fU(w.j);p.a<p.c.c.length;)for(g=CY(RU(p),12),(a=CY(NR(t.b,g),10))||(VD(a=nll(g,m,g.j,-(g.e.c.length-g.g.c.length),null,new mm,g.o,CY(niK(b,nHt),88),b),nK6,g),xM(t.b,g,a),jB(b.a,a)),c=CY(I0(a.j,0),12),h=new fU(g.f);h.a<h.c.c.length;)s=CY(RU(h),72),(o=new mp).o.a=s.o.a,o.o.b=s.o.b,jB(c.f,o),l||(v=g.j,f=0,Lp(CY(niK(w,nUr),21))&&(f=naP(s.n,s.o,g.o,0,v)),m==(nie(),nZ1)||(nf5(),n1a).Hc(v)?o.o.a=f:o.o.b=f);return!function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g;for(a=new du,s=new fU(i);s.a<s.c.c.length;)if(o=CY(RU(s),453),c=null,o.f==(qy(),nGD))for(w=new fU(o.e);w.a<w.c.c.length;)xi(g=(b=CY(RU(w),18)).d.i)==t?Gg(n,t,o,b,o.b,b.d):!e||zO(g,e)?function(n,t,e,i,r){var a,c,o,u;for(u=null,o=new fU(i);o.a<o.c.c.length;)if((c=CY(RU(o),453))!=e&&-1!=H6(c.e,r,0)){u=c;break}Ra(a=_$(r),e.b),Ru(a,u.b),naR(n.a,r,new Cw(a,t,e.f))}(n,t,o,i,b):((l=nh1(n,t,e,b,o.b,nGD,c))!=c&&dk(a.c,l),l.c&&(c=l));else for(f=new fU(o.e);f.a<f.c.c.length;)if(xi(d=(h=CY(RU(f),18)).c.i)==t)Gg(n,t,o,h,h.c,o.b);else{if(!e||zO(d,e))continue;(l=nh1(n,t,e,h,o.b,nG$,c))!=c&&dk(a.c,l),l.c&&(c=l)}for(u=new fU(a);u.a<u.c.c.length;)o=CY(RU(u),453),-1!=H6(t.a,o.a,0)||jB(t.a,o.a),o.c&&dk(r.c,o)}(t,e,i,r,u=new du),i&&function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(o=new du,r=new fU(t.a);r.a<r.c.c.length;)for(c=new fU(CY(RU(r),10).j);c.a<c.c.c.length;){for(a=CY(RU(c),12),s=null,m=Ky(a.g),v=0,y=m.length;v<y;++v)!zO((p=m[v]).d.i,e)&&((g=nh1(n,t,e,p,p.c,(qy(),nGD),s))!=s&&dk(o.c,g),g.c&&(s=g));for(u=null,b=Ky(a.e),w=0,d=b.length;w<d;++w)!zO((l=b[w]).c.i,e)&&((g=nh1(n,t,e,l,l.d,(qy(),nG$),u))!=u&&dk(o.c,g),g.c&&(u=g))}for(f=new fU(o);f.a<f.c.c.length;)h=CY(RU(f),453),-1!=H6(t.a,h.a,0)||jB(t.a,h.a),h.c&&dk(i.c,h)}(t,e,i,u),u}(n,t,null),function(n,t){var e,i,r,a,c,o,u;for(c=AY(n.a).Kc();c.Ob();){if((a=CY(c.Pb(),18)).b.c.length>0)for(i=new O8(CY(_G(n.a,a),21)),$O(),ji(i,new lO(t)),r=new Kp(a.b,0);r.b<r.d.gc();){switch(Px(r.b<r.d.gc()),e=CY(r.d.Xb(r.c=r.b++),72),o=-1,CY(niK(e,(nlL(),nHc)),278).g){case 1:o=i.c.length-1;break;case 0:o=function(n){var t,e,i;for(i=-1,e=0,t=new fU(n);t.a<t.c.c.length;){if(CY(RU(t),249).c==(qy(),nG$)){i=0==e?0:e-1;break}e==n.c.length-1&&(i=e),e+=1}return i}(i);break;case 2:o=0}-1!=o&&(RN(o,i.c.length),jB((u=CY(i.c[o],249)).b.b,e),CY(niK(xi(u.b.c.i),(nlF(),nKU)),21).Fc((no7(),nKa)),CY(niK(xi(u.b.c.i),nKU),21).Fc(nKi),N6(r),VD(e,nK9,a))}Ra(a,null),Ru(a,null)}}(n,t),function(n){var t,e,i,r;for(i=new zM(new fP(n.b).a);i.b;)r=CY((e=Xu(i)).ld(),12),VD(t=CY(e.md(),10),(nlF(),nK6),r),VD(r,nFi,t),VD(r,nKX,(SB(),!0)),nau(r,CY(niK(t,nK_),64)),niK(t,nK_),VD(r.i,(nlL(),nUt),(nie(),nZZ)),CY(niK(xi(r.i),nKU),21).Fc((no7(),nKs))}(n),VD(t,(nlF(),nKL),n.a),n.a=null,LH(n.b),e.Vg()}function nnE(n,t,e){var i,r,a;for(r=new Le(Sb((t?Jz(n):JV(n)).a.Kc(),new s));ncv(r);)i=CY(_I(r),18),(a=t?i.c.i:i.d.i).k==(ni8(),n$p)&&Rc(a,e)}function nnT(){nnT=T,nGo=new kq(npL,0),nGu=new kq("PORT_POSITION",1),nGc=new kq("NODE_SIZE_WHERE_SPACE_PERMITS",2),nGa=new kq("NODE_SIZE",3)}function nnj(){nnj=T,nVN=new Mj("INTERACTIVE_NODE_REORDERER",0),nV$=new Mj("MIN_SIZE_PRE_PROCESSOR",1),nVx=new Mj("MIN_SIZE_POST_PROCESSOR",2)}function nnS(){nnS=T,nQ5=new MU("AUTOMATIC",0),nQ7=new MU(nd1,1),nJn=new MU(nd0,2),nJt=new MU("TOP",3),nQ8=new MU(nd3,4),nQ9=new MU(ndJ,5)}function nnP(n,t,e,i){var r,a;for(nui(),r=0,a=0;a<e;a++)r=JF(J_(RF(t[a],nwW),RF(i,nwW)),RF(AW(r),nwW)),n[a]=AW(r),r=A7(r,32);return AW(r)}function nnO(n,t,e){var i,r;for(i=0,r=0;i<nCm;i++)r=nP_.Math.max(r,W6(n.a[t.g][i],e));return t==(GL(),nIr)&&n.b&&(r=nP_.Math.max(r,n.b.b)),r}function nnC(n,t){var e,i;if(PN(t>0),(t&-t)==t)return Dy(t*nc8(n,31)*4656612873077393e-25);do i=(e=nc8(n,31))%t;while(e-i+(t-1)<0)return Dy(i)}function nnI(n,t,e,i){var r,a;for(r=t;r<n.c.length;r++){if(RN(r,n.c.length),a=CY(n.c[r],12),!e.Mb(a))return r;dk(i.c,a)}return n.c.length}function nnA(n){switch(n.g){case 0:return null;case 1:return new Xz;case 2:return new gJ;default:throw new pN(nky+(null!=n.f?n.f:""+n.g)).e}}function nnL(n,t,e){var i,r;for(!function(n,t,e){var i,r;for(r=new fU(n.b);r.a<r.c.c.length;)TB(i=CY(RU(r),27),i.i+t,i.j+e)}(n,t-n.s,e-n.t),r=new fU(n.n);r.a<r.c.c.length;)(i=CY(RU(r),209)).e=i.e+t-n.s,i.f=i.f+e-n.t;n.s=t,n.t=e}function nnN(n){var t;return new MH(t=pj(PI(ncx(n,(nl_(),nYJ))))*nP_.Math.sqrt((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a).i),t/pj(PI(ncx(n,nYQ))))}function nnx(n){var t;return n.f&&n.f.Vh()&&(t=CY(n.f,54),n.f=CY(Qk(n,t),84),n.f!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,8,t,n.f))),n.f}function nn$(n){var t;return n.i&&n.i.Vh()&&(t=CY(n.i,54),n.i=CY(Qk(n,t),84),n.i!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,7,t,n.i))),n.i}function nnD(n){var t;return n.b&&(64&n.b.Db)!=0&&(t=n.b,n.b=CY(Qk(n,t),19),n.b!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,21,t,n.b))),n.b}function nnR(n,t){var e,i,r;null==n.d?++n.e:(i=t.Bi(),function(n,t){var e,i,r,a,c,o,u,s,h,f;if(++n.e,t>(u=null==n.d?0:n.d.length)){for(a=0,h=n.d,n.d=BJ(nNs,njr,66,2*u+4,0,1);a<u;++a)if(s=h[a])for(o=0,i=s.g,f=s.i;o<f;++o)c=P2(n,(r=CY(i[o],136)).Bi()),(e=n.d[c])||(e=n.d[c]=n.dk()),e.Fc(r)}}(n,n.f+1),r=(i&nl3)%n.d.length,(e=n.d[r])||(e=n.d[r]=n.dk()),e.Fc(t)),++n.f}function nnK(n,t,e){var i;return!t.tk()&&(-2!=t.Ik()?null==(i=t.ik())?null==e:QY(i,e):t.qk()==n.e.Dh()&&null==e)}function nnF(){var n;qL(16,nb_),n=q9(16),this.b=BJ(nPb,nbF,303,n,0,1),this.c=BJ(nPb,nbF,303,n,0,1),this.a=null,this.e=null,this.i=0,this.f=n-1,this.g=0}function nn_(n){Oh.call(this),this.k=(ni8(),n$v),this.j=(qL(6,nbU),new Bf(6)),this.b=(qL(2,nbU),new Bf(2)),this.d=new gg,this.f=new gm,this.a=n}function nnB(n,t,e,i){var r;for(r=(i?CY(_G(n.a,t),21):CY(_G(n.b,t),21)).Kc();r.Ob();)if(nua(n,e,CY(r.Pb(),27)))return!0;return!1}function nnH(n){var t,e;for(e=new j2(n);e.e!=e.i.gc();)if((t=CY(Z6(e),89)).e||0!=(!t.d&&(t.d=new jU(n00,t,1)),t.d).i)return!0;return!1}function nnU(n){var t,e;for(e=new j2(n);e.e!=e.i.gc();)if((t=CY(Z6(e),89)).e||0!=(!t.d&&(t.d=new jU(n00,t,1)),t.d).i)return!0;return!1}function nnG(){nnG=T,nuP(),nQA=nQj,nQC=new TW(8),new TZ((nl_(),nYa),nQC),new TZ(nYq,8),nQI=nQE,nQP=nQb,nQO=nQw,nQS=new TZ(nJx,(SB(),!1))}function nnq(n,t,e,i){switch(t){case 7:return n.e||(n.e=new Ox(nL6,n,7,4)),n.e;case 8:return n.d||(n.d=new Ox(nL6,n,8,5)),n.d}return J4(n,t,e,i)}function nnX(n){var t;return n.a&&n.a.Vh()&&(t=CY(n.a,54),n.a=CY(Qk(n,t),142),n.a!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,5,t,n.a))),n.a}function nnz(n){return n<48||n>102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function nnV(n,t){if(null==n)throw new pD("null key in entry: null="+t).e;if(null==t)throw new pD("null value in entry: "+n+"=null").e}function nnW(n,t){var e;return e=Vw(DY(n4b,1),nwX,28,15,[W6(n.a[0],t),W6(n.a[1],t),W6(n.a[2],t)]),n.d&&(e[0]=nP_.Math.max(e[0],e[2]),e[2]=e[0]),e}function nnQ(n,t){var e;return e=Vw(DY(n4b,1),nwX,28,15,[W5(n.a[0],t),W5(n.a[1],t),W5(n.a[2],t)]),n.d&&(e[0]=nP_.Math.max(e[0],e[2]),e[2]=e[0]),e}function nnJ(n,t,e){Oq(CY(niK(t,(nlL(),nUt)),101))||(_u(n,t,nrs(t,e)),_u(n,t,nrs(t,(nf5(),n1m))),_u(n,t,nrs(t,n1t)),$O(),ji(t.j,new bm(n)))}function nnY(n){var t,e;for(n.c||function(n){var t,e,i,r,a,c;if(r=new Kp(n.e,0),i=new Kp(n.a,0),n.d)for(e=0;e<n.b;e++)Px(r.b<r.d.gc()),r.d.Xb(r.c=r.b++);else for(e=0;e<n.b-1;e++)Px(r.b<r.d.gc()),r.d.Xb(r.c=r.b++),N6(r);for(t=pj((Px(r.b<r.d.gc()),PI(r.d.Xb(r.c=r.b++))));n.f-t>nyq;){for(a=t,c=0;nP_.Math.abs(t-a)<nyq;)++c,t=pj((Px(r.b<r.d.gc()),PI(r.d.Xb(r.c=r.b++)))),Px(i.b<i.d.gc()),i.d.Xb(i.c=i.b++);c<n.b&&(Px(r.b>0),r.a.Xb(r.c=--r.b),function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b;for(o=0,f=function(n,t){var e,i,r;for(r=new Kp(n.e,0),e=0;r.b<r.d.gc()&&!((i=pj((Px(r.b<r.d.gc()),PI(r.d.Xb(r.c=r.b++))))-t)>nyq);)i>-1e-6&&++e;return e}(n,e);o<t;o++){for(Oe(r,e),l=new du,Px(i.b<i.d.gc()),b=CY(i.d.Xb(i.c=i.b++),418),s=f+o;s<n.b;s++)c=b,Px(i.b<i.d.gc()),jB(l,new noH(c,b=CY(i.d.Xb(i.c=i.b++),418),e));for(h=f+o;h<n.b;h++)Px(i.b>0),i.a.Xb(i.c=--i.b),h>f+o&&N6(i);for(a=new fU(l);a.a<a.c.c.length;)Oe(i,CY(RU(a),418));if(o<t-1)for(u=f+o;u<n.b;u++)Px(i.b>0),i.a.Xb(i.c=--i.b)}}(n,n.b-c,a,i,r),Px(r.b<r.d.gc()),r.d.Xb(r.c=r.b++)),Px(i.b>0),i.a.Xb(i.c=--i.b)}if(!n.d)for(e=0;e<n.b-1;e++)Px(r.b<r.d.gc()),r.d.Xb(r.c=r.b++),N6(r);n.d=!0,n.c=!0}(n),e=new gj,RU(t=new fU(n.a));t.a<t.c.c.length;)IA(e,CY(RU(t),418).a);return Px(0!=e.b),Gy(e,e.c.b),e}function nnZ(n){var t;if(t=function(n){var t;for(NP(n),Cu(!0,"numberToAdvance must be nonnegative"),t=0;t<0&&ncv(n);t++)_I(n);return t}(n),!ncv(n))throw new pC("position (0) must be less than the number of elements that remained ("+t+")").e;return _I(n)}function nn1(n,t,e){try{return nn6(n,t+n.j,e+n.k)}catch(n){if(jM(n=Vt(n),77))throw new pC(n.g+ngb+t+nl8+e+").").e;throw n.e}}function nn0(n){switch(n.g){case 1:return nf5(),n1y;case 4:return nf5(),n1t;case 3:return nf5(),n1n;case 2:return nf5(),n1m;default:return nf5(),n1v}}function nn2(n,t){var e,i;for(i=JH(n,t).Kc();i.Ob();)if(null!=niK(e=CY(i.Pb(),12),(nlF(),nFi))||SR(new _4(e.b)))return!0;return!1}function nn3(n,t){return GZ(t,n.e+n.d+(0==n.c.c.length?0:n.b)),G1(t,n.f),n.a=nP_.Math.max(n.a,t.f),n.d+=t.g+(0==n.c.c.length?0:n.b),jB(n.c,t),!0}function nn4(n,t){var e,i,r,a,c;for(e=t.gc(),n._i(n.i+e),a=t.Kc(),c=n.i,n.i+=e,i=c;i<n.i;++i)r=a.Pb(),jH(n,i,n.Zi(i,r)),n.Mi(i,r),n.Ni();return 0!=e}function nn6(n,t,e){try{return EB(Xb(n,t,e),1)}catch(i){if(jM(i=Vt(i),333))throw new pC(ngh+n.o+"*"+n.p+ngf+t+nl8+e+ngl).e;throw i.e}}function nn5(n,t,e){try{return EB(Xb(n,t,e),0)}catch(i){if(jM(i=Vt(i),333))throw new pC(ngh+n.o+"*"+n.p+ngf+t+nl8+e+ngl).e;throw i.e}}function nn8(n,t,e){try{return EB(Xb(n,t,e),2)}catch(i){if(jM(i=Vt(i),333))throw new pC(ngh+n.o+"*"+n.p+ngf+t+nl8+e+ngl).e;throw i.e}}function nn9(n,t){if(-1==n.g)throw(new dx).e;n.Xj();try{n.d.hd(n.g,t),n.f=n.d.j}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}}function nn7(n,t){var e,i,r,a;for(a=n.gc(),t.length<a&&(t=Hk(Array(a),t)),r=t,i=n.Kc(),e=0;e<a;++e)NK(r,e,i.Pb());return t.length>a&&NK(t,a,null),t}function ntn(n,t){var e,i,r;return e=t.ld(),r=t.md(),i=n.xc(e),!!(ER(r)===ER(i)||null!=r&&QY(r,i))&&(null!=i||!!n._b(e))}function ntt(n,t,e,i){var r,a;this.a=t,this.c=i,r=n.a,this.b=new MH(-r.c,-r.d),OT(this.b,e),a=i/2,t.a?Pf(this.b,0,a):Pf(this.b,a,0),jB(n.c,this)}function nte(n,t,e,i){var r;this.c=n,this.d=t,F_(r=new vq,e,r.c.b,r.c),this.a=r,this.b=CY(niK(i,(nhn(),nX0)),88),this.e=pj(PI(niK(i,nzh))),nlR(this)}function nti(){nti=T,nVE=new MM(npL,0),nVk=new MM(nmd,1),nVM=new MM("EDGE_LENGTH_BY_POSITION",2),nVy=new MM("CROSSING_MINIMIZATION_BY_POSITION",3)}function ntr(n,t){var e,i;if(e=CY(Gz(n.g,t),27))return e;if(i=CY(Gz(n.j,t),123))return i;throw new p_("Referenced shape does not exist: "+t).e}function nta(n,t){var e,i;if(jM(t,253)){i=CY(t,253);try{return e=n.Ed(i),0==e}catch(n){if(jM(n=Vt(n),212));else throw n.e}}return!1}function ntc(n,t,e,i,r,a){var c,o,u,s,h;for(h=0,c=function(n,t,e){var i,r;switch(i=(r=n.b).d,t.g){case 1:return-i.d-e;case 2:return r.o.a+i.c+e;case 3:return r.o.b+i.a+e;case 4:return-i.b-e;default:return -1}}(t,e,a),o=e==(nf5(),n1t)||e==n1y?-1:1,s=n[e.g];h<s.length;h++)(u=s[h])>0&&(u+=r),s[h]=c,c+=o*(u+i)}function nto(n){var t,e,i;for(t=0,i=n.f,n.n=BJ(n4b,nwX,28,i,15,1),n.d=BJ(n4b,nwX,28,i,15,1);t<i;t++)e=CY(I0(n.c.b,t),30),n.n[t]=ZZ(n,e),n.d[t]=nof(n,e)}function ntu(n,t){var e,i,r;for(i=2,r=0;i<t;i<<=1)(n.Db&i)!=0&&++r;if(0!=r)return r;for(e=t<<=1;e<=128;e<<=1)if((n.Db&e)!=0)return 0;return -1}function nts(n,t){var e,i,r,a,c;for(r=0,c=nox(n.e.Dh(),t),a=null,e=CY(n.g,124);r<n.i;++r)i=e[r],c.am(i.Lk())&&(a||(a=new oW),B7(a,i));a&&nlf(n,a)}function nth(n){var t,e;if(!n)return null;if(n.dc())return"";for(e=new p1,t=n.Kc();t.Ob();)EW(e,PA(t.Pb())),e.a+=" ";return Tb(e,e.a.length-1)}function ntf(n,t){var e,i=Array(t);switch(n){case 14:case 15:e=0;break;case 16:e=!1;break;default:return i}for(var r=0;r<t;++r)i[r]=e;return i}function ntl(n){var t;for(t=new fU(n.a.b);t.a<t.c.c.length;)CY(RU(t),60).c.$b();Gd(T$(n.d)?n.a.c:n.a.d,new lb(n)),n.c.df(n),noY(n)}function ntb(n){var t,e,i;for(e=new fU(n.e.c);e.a<e.c.c.length;){for(i=new fU((t=CY(RU(e),290)).b);i.a<i.c.c.length;)nhS(CY(RU(i),454));naI(t)}}function ntw(n){var t,e,i,r,a;for(i=0,a=0,r=0,e=new fU(n.a);e.a<e.c.c.length;)t=CY(RU(e),172),a=nP_.Math.max(a,t.r),i+=t.d+(r>0?n.c:0),++r;n.b=i,n.d=a}function ntd(n,t){var e;return e=Vw(DY(n4b,1),nwX,28,15,[nnO(n,(GL(),nIi),t),nnO(n,nIr,t),nnO(n,nIa,t)]),n.f&&(e[0]=nP_.Math.max(e[0],e[2]),e[2]=e[0]),e}function ntg(n){var t;Pn(n,(nlL(),nHB))&&((t=CY(niK(n,nHB),21)).Hc((nc$(),nZ$))?(t.Mc(nZ$),t.Fc(nZR)):t.Hc(nZR)&&(t.Mc(nZR),t.Fc(nZ$)))}function ntp(n){var t;Pn(n,(nlL(),nHB))&&((t=CY(niK(n,nHB),21)).Hc((nc$(),nZH))?(t.Mc(nZH),t.Fc(nZ_)):t.Hc(nZ_)&&(t.Mc(nZ_),t.Fc(nZH)))}function ntm(n,t,e,i){var r,a,c;return null==n.a&&function(n,t){var e,i,r,a;for(i=0,n.a=BJ(n4s,nwl,28,(a=t.b.j).c.length,15,1),r=0;i<a.c.length;i++)RN(i,a.c.length),0==(e=CY(a.c[i],12)).e.c.length&&0==e.g.c.length?r+=1:r+=3,n.a[i]=r}(n,t),c=t.b.j.c.length,a=e.d.p,(r=i.d.p-1)<0&&(r=c-1),a<=r?n.a[r]-n.a[a]:n.a[c-1]-n.a[a]+n.a[r]}function ntv(n){var t,e;if(!n.a)for(n.a=K_($L(CY(n.f,27)).i),e=new j2($L(CY(n.f,27)));e.e!=e.i.gc();)t=CY(Z6(e),27),jB(n.a,new Sq(n,t));return n.a}function nty(n){var t;if(!n.C&&(null!=n.D||null!=n.B))if(t=function(n){var t,e,i,r;if(-1!=(t=Tp(e=null!=n.D?n.D:n.B,niT(91)))){B2(0,t,e.length),i=e.substr(0,t),r=new p1;do r.a+="[";while(-1!=(t=S1(e,91,++t)))OB(i,nlZ)?r.a+="Z":OB(i,njj)?r.a+="B":OB(i,njS)?r.a+="C":OB(i,njP)?r.a+="D":OB(i,njO)?r.a+="F":OB(i,njC)?r.a+="I":OB(i,njI)?r.a+="J":OB(i,njA)?r.a+="S":(r.a+="L",r.a+=""+i,r.a+=";")}else if(-1==Tp(e,niT(46))){if(OB(e,nlZ))return n4h;else if(OB(e,njj))return n4l;else if(OB(e,njS))return n4u;else if(OB(e,njP))return n4b;else if(OB(e,njO))return n4w;else if(OB(e,njC))return n4s;else if(OB(e,njI))return n4f;else if(OB(e,njA))return n4d}return null}(n))n.hl(t);else try{n.hl(null)}catch(n){if(!jM(n=Vt(n),63))throw n.e}return n.C}function ntk(n,t){var e,i,r;for(r=new mm,i=n.Kc();i.Ob();)nuW(e=CY(i.Pb(),36),r.a,0),r.a+=e.f.a+t,r.b=nP_.Math.max(r.b,e.f.b);return r.b>0&&(r.b+=t),r}function ntM(n,t){var e,i,r;for(r=new mm,i=n.Kc();i.Ob();)nuW(e=CY(i.Pb(),36),0,r.b),r.b+=e.f.b+t,r.a=nP_.Math.max(r.a,e.f.a);return r.a>0&&(r.a+=t),r}function ntE(n){var t,e,i;for(i=nl3,e=new fU(n.a);e.a<e.c.c.length;)Pn(t=CY(RU(e),10),(nlF(),nK4))&&(i=nP_.Math.min(i,CY(niK(t,nK4),17).a));return i}function ntT(n,t){var e,i;if(0==t.length)return 0;for(i=0,e=NV(n.a,t[0],(nf5(),n1y))+NV(n.a,t[t.length-1],n1n);i<t.length;i++)e+=function(n,t,e){var i,r,a,c,o,u,s;return a=0,i=e[t],t<e.length-1&&((r=e[t+1],n.b[t])?a=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A,L,N,x,$,D,R,K,F,_,B,H,U,G,q,X,z,V,W,Q,J,Y,Z,nn,nt,ne;for(z=0,O=0,A=t.length;O<A;++O)for(F=new fU((S=t[O]).j);F.a<F.c.c.length;){for(K=CY(RU(F),12),B=0,o=new fU(K.g);o.a<o.c.c.length;)c=CY(RU(o),18),S.c!=c.d.i.c&&++B;B>0&&(n.a[K.p]=z++)}for(Y=0,C=0,L=e.length;C<L;++C){for(S=e[C],N=0,F=new fU(S.j);F.a<F.c.c.length;)if((K=CY(RU(F),12)).j==(nf5(),n1t)){for(o=new fU(K.e);o.a<o.c.c.length;)if(c=CY(RU(o),18),S.c!=c.c.i.c){++N;break}}else break;for($=0,H=new Kp(S.j,S.j.c.length);H.b>0;){for(Px(H.b>0),B=0,o=new fU((K=CY(H.a.Xb(H.c=--H.b),12)).e);o.a<o.c.c.length;)c=CY(RU(o),18),S.c!=c.c.i.c&&++B;B>0&&(K.j==(nf5(),n1t)?(n.a[K.p]=Y,++Y):(n.a[K.p]=Y+N+$,++$))}Y+=$}for(_=new dc,b=new TE,P=0,I=t.length;P<I;++P)for(Q=new fU((S=t[P]).j);Q.a<Q.c.c.length;)for(o=new fU((W=CY(RU(Q),12)).g);o.a<o.c.c.length;)if(nn=(c=CY(RU(o),18)).d,S.c!=nn.i.c)if(V=CY(ED(Aj(_.f,W)),478),Z=CY(ED(Aj(_.f,nn)),478),V||Z)if(V)if(Z)if(V==Z)jB(V.a,c);else{for(jB(V.a,c),R=new fU(Z.d);R.a<R.c.c.length;)D=CY(RU(R),12),nr3(_.f,D,V);Vc(V.a,Z.a),Vc(V.d,Z.d),b.a.Bc(Z)}else jB(V.a,c),jB(V.d,nn),nr3(_.f,nn,V);else jB(Z.a,c),jB(Z.d,W),nr3(_.f,W,Z);else l=new Ov,b.a.zc(l,b),jB(l.a,c),jB(l.d,W),nr3(_.f,W,l),jB(l.d,nn),nr3(_.f,nn,l);for(w=CY(nn7(b,BJ(nAQ,{3:1,4:1,5:1,2045:1},478,b.a.gc(),0,1)),2045),j=t[0].c,X=e[0].c,h=0,f=w.length;h<f;++h)for((s=w[h]).e=z,s.f=Y,F=new fU(s.d);F.a<F.c.c.length;)K=CY(RU(F),12),U=n.a[K.p],K.i.c==j?(U<s.e&&(s.e=U),U>s.b&&(s.b=U)):K.i.c==X&&(U<s.f&&(s.f=U),U>s.c&&(s.c=U));for(HM(w,0,w.length,null),J=BJ(n4s,nwl,28,w.length,15,1),i=BJ(n4s,nwl,28,Y+1,15,1),g=0;g<w.length;g++)J[g]=w[g].f,i[J[g]]=1;for(p=0,a=0;p<i.length;p++)1==i[p]?i[p]=a:--a;for(m=0,G=0;m<J.length;m++)J[m]+=i[J[m]],G=nP_.Math.max(G,J[m]+1);for(u=1;u<G;)u*=2;for(ne=2*u-1,u-=1,nt=BJ(n4s,nwl,28,ne,15,1),r=0,E=0;E<J.length;E++)for(M=J[E]+u,++nt[M];M>0;)M%2>0&&(r+=nt[M+1]),M=(M-1)/2|0,++nt[M];for(v=0,T=BJ(nAJ,nl7,374,2*w.length,0,1);v<w.length;v++)T[2*v]=new x0(w[v],w[v].e,w[v].b,(Ft(),nqp)),T[2*v+1]=new x0(w[v],w[v].b,w[v].e,nqg);for(HM(T,0,T.length,null),x=0,y=0;y<T.length;y++)switch(T[y].d.g){case 0:++x;break;case 1:r+=--x}for(k=0,q=BJ(nAJ,nl7,374,2*w.length,0,1);k<w.length;k++)q[2*k]=new x0(w[k],w[k].f,w[k].c,(Ft(),nqp)),q[2*k+1]=new x0(w[k],w[k].c,w[k].f,nqg);for(HM(q,0,q.length,null),x=0,d=0;d<q.length;d++)switch(q[d].d.g){case 0:++x;break;case 1:r+=--x}return r}(n.d,i,r)+NV(n.a,i,(nf5(),n1n))+NV(n.a,r,n1y):(o=V3(c=n.a,i,r),c.b=new Xk(o.c.length),a=no8(c,o))),n.c[t]&&(a+=(s=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;for(i=0,h=new du,f=new j1,a=null,r=0;i<t.length;++i){switch(l=a,b=e=t[i],l&&l!=b&&Pn(b,(nlF(),nKV))&&CY(niK(b,(nlF(),nKV)),10)!=l&&(r=Yn(n,f,h,nqd,r)),Pn(e,(nlF(),nKV))&&(a=CY(niK(e,nKV),10)),e.k.g){case 0:for(u=TR(Cz(JH(e,(nf5(),n1t)),new rz));q7(u);)c=CY(H3(u),12),n.d[c.p]=r++,dk(h.c,c);for(r=Yn(n,f,h,nqd,r),s=TR(Cz(JH(e,n1m),new rz));q7(s);)c=CY(H3(s),12),n.d[c.p]=r++,dk(h.c,c);break;case 3:JH(e,nqw).dc()||(c=CY(JH(e,nqw).Xb(0),12),n.d[c.p]=r++,dk(h.c,c)),JH(e,nqd).dc()||K3(f,e);break;case 1:for(o=JH(e,(nf5(),n1y)).Kc();o.Ob();)c=CY(o.Pb(),12),n.d[c.p]=r++,dk(h.c,c);JH(e,n1n).Jc(new k3(f,e))}}return Yn(n,f,h,nqd,r),h}(u=n.a,i),u.b=new Xk(s.c.length),function(n,t){var e,i,r,a,c,o,u,s,h,f;for(e=0,u=new du,a=new fU(t);a.a<a.c.c.length;){switch(r=CY(RU(a),12),WU(n.b,n.d[r.p]),u.c.length=0,r.i.k.g){case 0:Gd(CY(niK(r,(nlF(),nFi)),10).j,new bL(u));break;case 1:s=Wu(xX(new Aa(null,new R$(r.i.j,16)),new bN(r))),h=new bx(u),null!=s.a&&ET(h,s.a);break;case 3:jB(u,new Ea(CY(niK(r,(nlF(),nK6)),12),Qx(r.e.c.length+r.g.c.length)))}for(o=new fU(u);o.a<o.c.c.length;)c=CY(RU(o),42),f=CY(c.a,12),(i=n.d[f.p])>n.d[r.p]&&(e+=_c(n.b,i)*CY(c.b,17).a,K3(n.a,Qx(i)));for(;!pq(n.a);)Ux(n.b,CY(LG(n.a),17).a)}return e}(u,s))),a}(n,i,t);return e}function ntj(){noD(),this.c=new du,this.i=new du,this.e=new TE,this.f=new TE,this.g=new TE,this.j=new du,this.a=new du,this.b=new dc,this.k=new dc}function ntS(n,t){var e;return n.Db>>16==6?n.Cb.Th(n,5,nNn,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||n.ii(),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function ntP(n){var t,e,i;n.b==n.c&&(i=n.a.length,e=VN(nP_.Math.max(8,i))<<1,0!=n.b?(t=Oc(n.a,e),Xw(n,t,i),n.a=t,n.b=0):dG(n.a,e),n.c=i)}function ntO(n){var t;return 0!=n.b.c.length&&CY(I0(n.b,0),72).a?CY(I0(n.b,0),72).a:null!=(t=xZ(n))?t:""+(n.c?H6(n.c.a,n,0):-1)}function ntC(n){var t;return 0!=n.f.c.length&&CY(I0(n.f,0),72).a?CY(I0(n.f,0),72).a:null!=(t=xZ(n))?t:""+(n.i?H6(n.i.j,n,0):-1)}function ntI(n){var t,e,i,r,a;for(a=0,r=nw_,i=0,e=new fU(n.a);e.a<e.c.c.length;)a+=(t=CY(RU(e),172)).r+(i>0?n.c:0),r=nP_.Math.max(r,t.d),++i;n.e=a,n.b=r}function ntA(n,t,e,i){return 0==t?i?(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),n.o):(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),BW(n.o)):nnd(n,t,e,i)}function ntL(n){var t,e;if(n.rb)for(t=0,e=n.rb.i;t<e;++t)S4(GO(n.rb,t));if(n.vb)for(t=0,e=n.vb.i;t<e;++t)S4(GO(n.vb,t));A2((nrR(),n28),n),n.Bb|=1}function ntN(n,t,e,i,r,a,c,o,u,s,h,f,l,b){return nr5(n,t,i,null,r,a,c,o,u,s,l,!0,b),J$(n,h),jM(n.Cb,90)&&nar(_v(CY(n.Cb,90)),2),e&&Xr(n,e),JR(n,f),n}function ntx(n,t,e,i,r,a,c){var o,u;return!(t.Te()&&((u=n.a.Ne(e,i))<0||!r&&0==u)||t.Ue()&&((o=n.a.Ne(e,a))>0||!c&&0==o))}function nt$(n,t,e){var i;return Qn(i=new gD,t),XC(i,e),B7((n.c||(n.c=new Lk(n03,n,12,10)),n.c),i),G6(i,0),G5(i,1),Q5(i,!0),Q3(i,!0),i}function ntD(n,t){var e,i;if(t>=n.i)throw new Tc(t,n.i).e;return++n.j,e=n.g[t],(i=n.i-t-1)>0&&ns8(n.g,t+1,n.g,t,i),NK(n.g,--n.i,null),n.Qi(t,e),n.Ni(),e}function ntR(n,t){var e;return n.Db>>16==17?n.Cb.Th(n,21,n0J,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||n.ii(),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function ntK(){ntK=T,nxP=new To(npg,(SB(),!1)),nxE=new To(npp,100),Uy(),nxT=new To(npm,nxj=nxH),nxS=new To(npv,ngY),nxO=new To(npy,Qx(nl3))}function ntF(n,t,e){var i,r,a,c,o,u;for(u=0,i=n.a[t],r=0,a=i.length;r<a;++r)for(o=QU(i[r],e).Kc();o.Ob();)c=CY(o.Pb(),12),xM(n.f,c,Qx(u++))}function nt_(n){var t;return niY(),HM(t=CY(nn7(AY(n.k),BJ(nLq,npx,64,2,0,1)),126),0,t.length,null),t[0]==(nf5(),n1t)&&t[1]==n1y&&(NK(t,0,n1y),NK(t,1,n1t)),t}function ntB(n,t,e){var i,r,a;return r=function(n,t,e){var i,r,a,c,o,u,s;for(s=new mH(new bA(n)),c=Vw(DY(nAo,1),npG,12,0,[t,e]),o=0,u=c.length;o<u;++o)for(a=c[o],s.a.zc(a,(SB(),nOo)),r=new _4(a.b);jr(r.a)||jr(r.b);)(i=CY(jr(r.a)?RU(r.a):RU(r.b),18)).c==i.d||Lz(s,a==i.c?i.d:i.c);return NP(s),new O8(s)}(n,t,e),a=no8(n,r),Hm(n.b),RZ(n,t,e),$O(),ji(r,new bO(n)),i=no8(n,r),Hm(n.b),RZ(n,e,t),new Ea(Qx(a),Qx(i))}function ntH(){ntH=T,nqy=IG(new xm,(niF(),nxY),(nlB(),n$0)),nqk=new P5("linearSegments.inputPrio",Qx(0)),nqM=new P5("linearSegments.outputPrio",Qx(0))}function ntU(){ntU=T,nq4=new Mb("P1_TREEIFICATION",0),nq6=new Mb("P2_NODE_ORDERING",1),nq5=new Mb("P3_NODE_PLACEMENT",2),nq8=new Mb("P4_EDGE_ROUTING",3)}function ntG(){ntG=T,nZL=new MY("UNKNOWN",0),nZC=new MY("ABOVE",1),nZI=new MY("BELOW",2),nZA=new MY("INLINE",3),new P5("org.eclipse.elk.labelSide",nZL)}function ntq(n,t){var e;if(n.Yi()&&null!=t){for(e=0;e<n.i;++e)if(QY(t,n.g[e]))return e}else for(e=0;e<n.i;++e)if(ER(n.g[e])===ER(t))return e;return -1}function ntX(n,t,e){if(e&&(t<0||t>e.a.c.length))throw new pN("index must be >= 0 and <= layer node count").e;n.c&&H0(n.c.a,n),n.c=e,e&&AC(e.a,t,n)}function ntz(n,t){var e,i,r;for(i=new Le(Sb(JX(n).a.Kc(),new s));ncv(i);)return e=CY(_I(i),18),new hX(NP((r=CY(t.Kb(e),10)).n.b+r.o.b/2));return gY(),gY(),nPz}function ntV(n,t){this.c=new dc,this.a=n,this.b=t,this.d=CY(niK(n,(nlF(),nFf)),312),ER(niK(n,(nlL(),nHH)))===ER((HR(),nRQ))?this.e=new gs:this.e=new gu}function ntW(n,t){var e,i;return i=null,n.pf((nl_(),nY_))&&(e=CY(n.of(nY_),96)).pf(t)&&(i=e.of(t)),null==i&&n.Tf()&&(i=n.Tf().of(t)),null==i&&(i=Z4(t)),i}function ntQ(n,t){var e,i;e=n.fd(t);try{return i=e.Pb(),e.Qb(),i}catch(n){if(jM(n=Vt(n),112))throw new pC("Can't remove element "+t).e;throw n.e}}function ntJ(n,t){var e,i,r;if(0==(e=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;for(u=0,c=new neg,s=Vw(DY(n4s,1),nwl,28,15,[0]),r=-1,a=0,i=0;u<n.b.c.length;++u)if((h=CY(I0(n.b,u),443)).b>0){if(r<0&&h.a&&(r=u,a=s[0],i=0),r>=0){if(o=h.b,u==r&&0==(o-=i++))return 0;if(!nli(t,s,h,o,c)){u=r-1,s[0]=a;continue}}else if(r=-1,!nli(t,s,h,0,c))return 0}else{if(r=-1,32==xq(h.c,0)){if(f=s[0],UD(t,s),s[0]>f)continue}else if(l=h.c,(b=s[0])>=0&&OB(t.substr(b,l.length),l)){s[0]+=h.c.length;continue}return 0}return!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(0==n.e&&n.p>0&&(n.p=-(n.p-1)),n.p>nbJ&&Fk(t,n.p-nwf),c=t.q.getDate(),DD(t,1),n.k>=0&&(u=n.k,s=t.q.getHours(),t.q.setMonth(u),nhp(t,s)),n.c>=0?DD(t,n.c):n.k>=0?(i=35-new Vz(t.q.getFullYear()-nwf,t.q.getMonth(),35).q.getDate(),DD(t,nP_.Math.min(i,c))):DD(t,c),n.f<0&&(n.f=t.q.getHours()),n.b>0&&n.f<12&&(n.f+=12),h=24==n.f&&n.g?0:n.f,t.q.setHours(h),nhp(t,h),n.j>=0&&(f=n.j,l=t.q.getHours()+(f/60|0),t.q.setMinutes(f),nhp(t,l)),n.n>=0&&(b=n.n,w=t.q.getHours()+(b/3600|0),t.q.setSeconds(b),nhp(t,w)),n.i>=0&&Tl(t,JF(J_(neC(zF(t.q.getTime()),nb8),nb8),n.i)),n.a&&(Fk(r=new vD,r.q.getFullYear()-nwf-80),0>Qv(zF(t.q.getTime()),zF(r.q.getTime()))&&Fk(t,r.q.getFullYear()-nwf+100)),n.d>=0){if(-1==n.c)(e=(7+n.d-t.q.getDay())%7)>3&&(e-=7),o=t.q.getMonth(),DD(t,t.q.getDate()+e),t.q.getMonth()!=o&&DD(t,t.q.getDate()+(e>0?-7:7));else if(t.q.getDay()!=n.d)return!1}return n.o>nbJ&&(a=t.q.getTimezoneOffset(),Tl(t,JF(zF(t.q.getTime()),(n.o-a)*60*nb8))),!0}(c,e)?0:s[0]}(n,t,r=new Vz((i=new vD).q.getFullYear()-nwf,i.q.getMonth(),i.q.getDate())))||e<t.length)throw new pN(t).e;return r}function ntY(n,t){var e,i,r;for(xf(t),PN(t!=n),r=n.b.c.length,i=t.Kc();i.Ob();)e=i.Pb(),jB(n.b,xf(e));return r!=n.b.c.length&&(!function n(t,e){var i;2*e+1>=t.b.c.length||(n(t,2*e+1),(i=2*e+2)<t.b.c.length&&n(t,i),naa(t,e))}(n,0),!0)}function ntZ(){ntZ=T,nl_(),nxN=nJQ,new TZ(nJR,(SB(),!0)),nxD=nJ5,nxR=nJ7,nxK=nYt,nx$=nJ4,nxF=nYr,nx_=nYE,ntK(),nxL=nxP,nxI=nxT,nxA=nxS,nxx=nxO,nxC=nxE}function nt1(n,t,e,i){var r,a,c;for(Rc(t,CY(i.Xb(0),30)),c=i.kd(1,i.gc()),a=CY(e.Kb(t),20).Kc();a.Ob();)nt1(n,(r=CY(a.Pb(),18)).c.i==t?r.d.i:r.c.i,e,c)}function nt0(n){var t;return(t=new dc,Pn(n,(nlF(),nFg)))?CY(niK(n,nFg),85):(vZ(xX(new Aa(null,new R$(n.j,16)),new ij),new l6(t)),VD(n,nFg,t),t)}function nt2(n,t){var e,i,r,a,c;for(i=0,r=0,e=0,c=new fU(n);c.a<c.c.c.length;)a=CY(RU(c),186),i=nP_.Math.max(i,a.e),r+=a.b+(e>0?t:0),++e;return new MH(i,r)}function nt3(n,t){var e;return n.Db>>16==6?n.Cb.Th(n,6,nL6,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nly(),n0e),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt4(n,t){var e;return n.Db>>16==7?n.Cb.Th(n,1,nL2,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nly(),n0r),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt6(n,t){var e;return n.Db>>16==9?n.Cb.Th(n,9,nNe,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nly(),n0c),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt5(n,t){var e;return n.Db>>16==5?n.Cb.Th(n,9,n0Z,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nlq(),n2w),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt8(n,t){var e;return n.Db>>16==7?n.Cb.Th(n,6,nNn,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nlq(),n2E),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt9(n,t){var e;return n.Db>>16==3?n.Cb.Th(n,0,nL8,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nlq(),n2o),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt7(){this.a=new oX,this.g=new nnF,this.j=new nnF,this.b=new dc,this.d=new nnF,this.i=new nnF,this.k=new dc,this.c=new dc,this.e=new dc,this.f=new dc}function nen(n,t){var e,i;if(t){if(t==n)return!0;for(e=0,i=CY(t,54).Ph();i&&i!=t;i=i.Ph()){if(++e>nwz)return nen(n,i);if(i==n)return!0}}return!1}function net(n,t){var e,i,r;for(H0(n.a,t),n.e-=t.r+(0==n.a.c.length?0:n.c),r=nkb,i=new fU(n.a);i.a<i.c.c.length;)e=CY(RU(i),172),r=nP_.Math.max(r,e.d);n.b=r}function nee(n,t){var e;return n.Db>>16==3?n.Cb.Th(n,12,nNe,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nly(),n0t),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nei(n,t){var e;return n.Db>>16==11?n.Cb.Th(n,10,nNe,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nly(),n0a),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function ner(n,t){var e;return n.Db>>16==10?n.Cb.Th(n,11,n0J,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nlq(),n2k),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nea(n,t){var e;return n.Db>>16==10?n.Cb.Th(n,12,n02,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nlq(),n2T),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nec(n){var t;return(1&n.Bb)==0&&n.r&&n.r.Vh()&&(t=CY(n.r,54),n.r=CY(Qk(n,t),142),n.r!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,8,t,n.r))),n.r}function neo(n,t,e){var i;return i=Vw(DY(n4b,1),nwX,28,15,[niP(n,(GL(),nIi),t,e),niP(n,nIr,t,e),niP(n,nIa,t,e)]),n.f&&(i[0]=nP_.Math.max(i[0],i[2]),i[2]=i[0]),i}function neu(n,t){var e,i,r,a,c,o;return(c=n.h>>19)!=(o=t.h>>19)?o-c:(i=n.h)!=(a=t.h)?i-a:(e=n.m)!=(r=t.m)?e-r:n.l-t.l}function nes(){nes=T,nuy(),nC0=new To(ndB,nC2=nC7),U2(),nCZ=new To(ndH,nC1=nCV),ZJ(),nCJ=new To(ndU,nCY=nCq),nCQ=new To(ndG,(SB(),!0))}function neh(n,t,e){var i,r;i=t*e,jM(n.g,154)?(r=K7(n)).f.d?r.f.a||(n.d.a+=i+nd5):(n.d.d-=i+nd5,n.d.a+=i+nd5):jM(n.g,10)&&(n.d.d-=i,n.d.a+=2*i)}function nef(n,t,e){var i,r,a,c,o;for(r=n[e.g],o=new fU(t.d);o.a<o.c.c.length;)(a=(c=CY(RU(o),105)).i)&&a.i==e&&(r[i=c.d[e.g]]=nP_.Math.max(r[i],a.j.b))}function nel(n){var t,e,i,r;if(i=n.b,n.i>(r=i.length)&&r<nbH){for(n.b=BJ(nPb,nbF,303,e=2*i.length,0,1),n.c=BJ(nPb,nbF,303,e,0,1),n.f=e-1,n.i=0,t=n.a;t;t=t.c)nah(n,t,t);++n.g}}function neb(n,t){return n.b.a=nP_.Math.min(n.b.a,t.c),n.b.b=nP_.Math.min(n.b.b,t.d),n.a.a=nP_.Math.max(n.a.a,t.c),n.a.b=nP_.Math.max(n.a.b,t.d),dk(n.c,t),!0}function ned(n,t,e){var i,r,a,c,o,u;return nue(),c=t/2,a=e/2,i=nP_.Math.abs(n.a),r=nP_.Math.abs(n.b),o=1,u=1,i>c&&(o=c/i),r>a&&(u=a/r),j_(n,nP_.Math.min(o,u)),n}function neg(){vD.call(this),this.e=-1,this.a=!1,this.p=nbJ,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=nbJ}function nep(){nep=T,nxq=AX(IG(IG(IG(new xm,(niF(),nxJ),(nlB(),n$5)),nxJ,nDn),nxY,nDo),nxY,n$V),nxz=IG(IG(new xm,nxJ,n$K),nxJ,n$W),nxX=AX(new xm,nxY,n$J)}function nem(n){var t;if(n.f._j(),-1!=n.b){if(++n.b,t=n.f.d[n.a],n.b<t.i)return;++n.a}for(;n.a<n.f.d.length;++n.a)if((t=n.f.d[n.a])&&0!=t.i){n.b=0;return}n.b=-1}function nev(n,t){var e,i;for(i=new fU(t);i.a<i.c.c.length;)e=CY(RU(i),10),n.c[e.c.p][e.p].a=AS(n.i),n.c[e.c.p][e.p].d=pj(n.c[e.c.p][e.p].a),n.c[e.c.p][e.p].b=1}function ney(n,t){var e,i,r,a;for(a=0,r=CY(CY(_G(n.r,t),21),87).Kc();r.Ob();)i=CY(r.Pb(),117),a=nP_.Math.max(a,i.e.a+i.b.Mf().a);(e=CY(xN(n.b,t),127)).n.b=0,e.a.a=a}function nek(n,t){var e,i,r,a;for(e=0,a=CY(CY(_G(n.r,t),21),87).Kc();a.Ob();)r=CY(a.Pb(),117),e=nP_.Math.max(e,r.e.b+r.b.Mf().b);(i=CY(xN(n.b,t),127)).n.d=0,i.a.b=e}function neM(n,t,e,i){var r,a,c;return a=function(n,t,e,i){var r,a,c,o,u,s,h,f;for(f=new mH(new bI(n)),c=Vw(DY(nAr,1),npU,10,0,[t,e]),o=0,u=c.length;o<u;++o)for(h=QU(c[o],i).Kc();h.Ob();)for(a=new _4((s=CY(h.Pb(),12)).b);jr(a.a)||jr(a.b);)!_p(r=CY(jr(a.a)?RU(a.a):RU(a.b),18))&&(f.a.zc(s,(SB(),nOo)),xu(r)&&Lz(f,s==r.c?r.d:r.c));return NP(f),new O8(f)}(n,t,e,i),c=nuF(n,a),niL(n,t,e,i),Hm(n.b),$O(),ji(a,new bC(n)),r=nuF(n,a),niL(n,e,t,i),Hm(n.b),new Ea(Qx(c),Qx(r))}function neE(n,t,e,i){switch(e){case 7:return n.e||(n.e=new Ox(nL6,n,7,4)),YU(n.e,t,i);case 8:return n.d||(n.d=new Ox(nL6,n,8,5)),YU(n.d,t,i)}return niy(n,t,e,i)}function neT(n,t,e,i){switch(e){case 7:return n.e||(n.e=new Ox(nL6,n,7,4)),nnw(n.e,t,i);case 8:return n.d||(n.d=new Ox(nL6,n,8,5)),nnw(n.d,t,i)}return z5(n,t,e,i)}function nej(n,t,e){var i,r,a,c;return(n._j(),a=null==t?0:XS(t),n.f>0&&(c=(a&nl3)%n.d.length,r=naH(n,c,a,t)))?r.nd(e):(i=n.ck(a,t,e),n.c.Fc(i),null)}function neS(n,t){var e,i,r,a;switch(Qz(n,t).Kl()){case 3:case 2:for(r=0,a=(e=nhx(t)).i;r<a;++r)if(5==xb(Ua(n,i=CY(GO(e,r),35))))return i}return null}function neP(n){if(!(n<0))return n<nQ6.length?KI(nQ6[n]):nP_.Math.sqrt(nkf*n)*(function(n,t){var e,i,r;for(r=1,e=n,i=t>=0?t:-t;i>0;)i%2==0?(e*=e,i=i/2|0):(r*=e,i-=1);return t<0?1/r:r}(n,n)/Qy(2.718281828459045,n));throw new pN("The input must be positive").e}function neO(n,t){var e;if(n.Yi()&&null!=t){for(e=0;e<n.i;++e)if(QY(t,n.g[e]))return!0}else for(e=0;e<n.i;++e)if(ER(n.g[e])===ER(t))return!0;return!1}function neC(n,t){var e;return Ty(n)&&Ty(t)&&nwx<(e=n/t)&&e<nwL?e<0?nP_.Math.ceil(e):nP_.Math.floor(e):zC(nfs(Ty(n)?zB(n):n,Ty(t)?zB(t):t,!1))}function neI(n,t){if(t==n.c.i)return n.d.i;if(t==n.d.i)return n.c.i;throw new pN("'node' must either be the source node or target node of the edge.").e}function neA(n,t){var e,i;for(e=new Le(Sb((t?JV(n):Jz(n)).a.Kc(),new s));ncv(e);)if((i=neI(CY(_I(e),18),n)).k==(ni8(),n$m)&&i.c!=n.c)return i;return null}function neL(n,t,e){var i,r,a;for(a=new fU(t);a.a<a.c.c.length;)i=CY(RU(a),10),n.c[i.c.p][i.p].e=!1;for(r=new fU(t);r.a<r.c.c.length;)!function n(t,e,i){var r,a,c,o,u,s,h,f;if(!t.c[e.c.p][e.p].e){for(t.c[e.c.p][e.p].e=!0,t.c[e.c.p][e.p].b=0,t.c[e.c.p][e.p].d=0,t.c[e.c.p][e.p].a=null,f=new fU(e.j);f.a<f.c.c.length;)for(h=CY(RU(f),12),s=(i?new lA(h):new lN(h)).Kc();s.Ob();)(o=(u=CY(s.Pb(),12)).i).c==e.c?o!=e&&(n(t,o,i),t.c[e.c.p][e.p].b+=t.c[o.c.p][o.p].b,t.c[e.c.p][e.p].d+=t.c[o.c.p][o.p].d):(t.c[e.c.p][e.p].d+=t.g[u.p],++t.c[e.c.p][e.p].b);if(c=CY(niK(e,(nlF(),nKj)),15))for(a=c.Kc();a.Ob();)r=CY(a.Pb(),10),e.c==r.c&&(n(t,r,i),t.c[e.c.p][e.p].b+=t.c[r.c.p][r.p].b,t.c[e.c.p][e.p].d+=t.c[r.c.p][r.p].d);t.c[e.c.p][e.p].b>0&&(t.c[e.c.p][e.p].d+=nc8(t.i,24)*ndn*.07000000029802322-.03500000014901161,t.c[e.c.p][e.p].a=t.c[e.c.p][e.p].d/t.c[e.c.p][e.p].b)}}(n,i=CY(RU(r),10),e)}function neN(n,t,e){var i,r;(i=QF(t.j,e.s,e.c)+QF(e.e,t.s,t.c))==(r=QF(e.j,t.s,t.c)+QF(t.e,e.s,e.c))?i>0&&(n.b+=2,n.a+=i):(n.b+=1,n.a+=nP_.Math.min(i,r))}function nex(n){var t;t=CY(niK(CY(nnt(n.b,0),40),(nhn(),nzi)),107),VD(n,(nf3(),nXg),new MH(0,0)),nsm(new Bo,n,t.b+t.c-pj(PI(niK(n,nXE))),t.d+t.a-pj(PI(niK(n,nXj))))}function ne$(n,t){var e;if(e=!1,EK(t)&&(e=!0,Nq(n,new NO(PA(t)))),!e&&jM(t,242)&&(e=!0,Nq(n,new fy(O4(CY(t,242))))),!e)throw new pA(nE8).e}function neD(n){var t,e;switch(CY(niK(xi(n),(nlL(),nHS)),429).g){case 0:return t=n.n,e=n.o,new MH(t.a+e.a/2,t.b+e.b/2);case 1:return new TP(n.n);default:return null}}function neR(){neR=T,nR2=new kD(npL,0),nR0=new kD("LEFTUP",1),nR4=new kD("RIGHTUP",2),nR1=new kD("LEFTDOWN",3),nR3=new kD("RIGHTDOWN",4),nRZ=new kD("BALANCED",5)}function neK(n,t,e){switch(t){case 1:n.n||(n.n=new Lk(nNt,n,1,7)),nft(n.n),n.n||(n.n=new Lk(nNt,n,1,7)),Nu(n.n,CY(e,16));return;case 2:qY(n,PA(e));return}Ws(n,t,e)}function neF(n,t,e){switch(t){case 3:GJ(n,pj(PI(e)));return;case 4:GY(n,pj(PI(e)));return;case 5:GZ(n,pj(PI(e)));return;case 6:G1(n,pj(PI(e)));return}neK(n,t,e)}function ne_(n,t,e){var i,r;(i=niM(r=new gD,t,null))&&i.oj(),XC(r,e),B7((n.c||(n.c=new Lk(n03,n,12,10)),n.c),r),G6(r,0),G5(r,1),Q5(r,!0),Q3(r,!0)}function neB(n,t){var e,i;return jM(e=yD(n.i,t),241)?((i=CY(e,241)).zi(),i.wi()):jM(e,507)?i=CY(e,2037).b:null}function neH(n){if(-1==n.g)throw(new dx).e;n.Xj();try{n.i.gd(n.g),n.f=n.i.j,n.g<n.e&&--n.e,n.g=-1}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}}function neU(n){var t,e,i;for(e=new fU(n.a.b);e.a<e.c.c.length;)i=(t=CY(RU(e),60)).d.c,t.d.c=t.d.d,t.d.d=i,i=t.d.b,t.d.b=t.d.a,t.d.a=i,i=t.b.a,t.b.a=t.b.b,t.b.b=i;nov(n)}function neG(n){var t,e,i;for(e=new fU(n.a.b);e.a<e.c.c.length;)i=(t=CY(RU(e),86)).g.c,t.g.c=t.g.d,t.g.d=i,i=t.g.b,t.g.b=t.g.a,t.g.a=i,i=t.e.a,t.e.a=t.e.b,t.e.b=i;noy(n)}function neq(n,t){var e,i,r;if((i=CY(null!=(r=Wu(xX(new Aa(null,new R$(t.j,16)),new rE))).a?r.a:null,12))&&(e=CY(I0(i.e,0),18)))return CY(niK(e,(nlF(),nK4)),17).a;switch(n.b.g){case 0:return nl3;case 1:return -1;default:return 0}}function neX(n,t){var e,i,r,a,c;for(c=n.f,r=0,a=0,i=new fU(n.a);i.a<i.c.c.length;)nnL(e=CY(RU(i),172),n.e,c),Hl(e,t),a=nP_.Math.max(a,e.r),c+=e.d+n.c,r=c;n.d=a,n.b=r}function nez(n){var t,e;return KZ(e=nc6(n))?null:(NP(e),t=CY(nnZ(new Le(Sb(e.a.Kc(),new s))),74),niw(CY(GO((t.b||(t.b=new Ox(nL4,t,4,7)),t.b),0),84)))}function neV(n){return n.o||(n.uk()?n.o=new NY(n,n,null):n.al()?n.o=new P8(n,null):1==xb(Ua((nrR(),n28),n))?n.o=new FK(n):n.o=new P9(n,null)),n.o}function neW(){neW=T,nJy=new MX("V_TOP",0),nJv=new MX("V_CENTER",1),nJm=new MX("V_BOTTOM",2),nJg=new MX("H_LEFT",3),nJd=new MX("H_CENTER",4),nJp=new MX("H_RIGHT",5)}function neQ(n){var t;return(64&n.Db)!=0?YO(n):(t=new Sm(YO(n)),t.a+=" (abstract: ",mL(t,(256&n.Bb)!=0),t.a+=", interface: ",mL(t,(512&n.Bb)!=0),t.a+=")",t.a)}function neJ(n,t){var e;t!=n.b?(e=null,n.b&&(e=Da(n.b,n,-4,e)),t&&(e=nnu(t,n,-4,e)),(e=QE(n,t,e))&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,3,t,t))}function neY(n,t){var e;t!=n.f?(e=null,n.f&&(e=Da(n.f,n,-1,e)),t&&(e=nnu(t,n,-1,e)),(e=QM(n,t,e))&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,0,t,t))}function neZ(n){var t,e,i;if(null==n)return null;if((e=CY(n,15)).dc())return"";for(i=new p1,t=e.Kc();t.Ob();)EW(i,(nfl(),PA(t.Pb()))),i.a+=" ";return Tb(i,i.a.length-1)}function ne1(n){var t,e,i;if(null==n)return null;if((e=CY(n,15)).dc())return"";for(i=new p1,t=e.Kc();t.Ob();)EW(i,(nfl(),PA(t.Pb()))),i.a+=" ";return Tb(i,i.a.length-1)}function ne0(n){var t,e;return t=CY(_I(new Le(Sb(Jz(n.a).a.Kc(),new s))),18),e=CY(_I(new Le(Sb(JV(n.a).a.Kc(),new s))),18),pT(PC(niK(t,(nlF(),nFu))))||pT(PC(niK(e,nFu)))}function ne2(){ne2=T,nDZ=new kj("ONE_SIDE",0),nD0=new kj("TWO_SIDES_CORNER",1),nD2=new kj("TWO_SIDES_OPPOSING",2),nD1=new kj("THREE_SIDES",3),nDY=new kj("FOUR_SIDES",4)}function ne3(n,t){var e,i,r,a,c;for(a=new du,r=0,i=t.Kc();i.Ob();){for(e=Qx(CY(i.Pb(),17).a+r);e.a<n.f&&(c=e.a,null==n.a&&nuC(n),!n.a[c]);)e=Qx(e.a+1),++r;if(e.a>=n.f)break;dk(a.c,e)}return a}function ne4(n,t){return!!t&&!n.mj(t)&&(n.i?n.i.nj(t):jM(t,152)?(n.i=CY(t,152),!0):(n.i=new oQ,n.i.nj(t)))}function ne6(n,t,e){var i,r,a;return i=t.Lk(),a=t.md(),r=i.Jk()?$6(n,3,i,null,a,nhv(n,i,a,jM(i,102)&&(CY(i,19).Bb&nwG)!=0),!0):$6(n,1,i,i.ik(),a,-1,!0),e?e.nj(r):e=r,e}function ne5(n,t,e){var i,r,a;for(r=n.vc().Kc();r.Ob();)if(a=(i=CY(r.Pb(),44)).ld(),ER(t)===ER(a)||null!=t&&QY(t,a))return e&&(i=new yH(i.ld(),i.md()),r.Qb()),i;return null}function ne8(n){var t,e,i;for(i=BJ(nAr,nby,199,n.b.c.length,0,2),e=new Kp(n.b,0);e.b<e.d.gc();)Px(e.b<e.d.gc()),t=CY(e.d.Xb(e.c=e.b++),30),i[e.b-1]=Kv(t.a);return i}function ne9(n,t,e){var i,r;null!=(i=CY(UC(n.a,e),34))&&Yd(CY(UC(n.b,i),67),e,!0),(r=CY(UC(n.b,t),67))||(r=new vq,Zq(n.b,t,r)),F_(r,e,r.c.b,r.c),Zq(n.a,e,t)}function ne7(n,t,e,i,r){var a,c,o,u,s;for((u=Cy(function(n){switch(n.g){case 1:return zQ(),nIU;case 3:return zQ(),nI_;case 2:return zQ(),nIH;case 4:return zQ(),nIB;default:return null}}(e))).a=i,(s=u).e=function(n,t,e){var i,r;switch(r=n.o,i=n.d,t.g){case 1:return-i.d-e;case 3:return r.b+i.a+e;case 2:return r.a+i.c+e;case 4:return-i.b-e;default:return 0}}(n,e,r),o=nrs(n,e).Kc();o.Ob();)t[(c=CY(o.Pb(),12)).p]&&(a=t[c.p].i,jB(s.d,new A$(a,Jl(s,a))));Yy(s)}function nin(n,t){this.f=new dc,this.b=new dc,this.j=new dc,this.a=n,this.c=t,this.c>0&&ntF(this,this.c-1,(nf5(),n1n)),this.c<this.a.length-1&&ntF(this,this.c+1,(nf5(),n1y))}function nit(n){n.length>0&&n[0].length>0&&(this.c=pT(PC(niK(xi(n[0][0]),(nlF(),nKQ))))),this.a=BJ(nAX,nby,2117,n.length,0,2),this.b=BJ(nAz,nby,2118,n.length,0,2),this.d=new Qc}function nie(){nie=T,nZ0=new M0(nd6,0),nZ1=new M0("FREE",1),nZZ=new M0("FIXED_SIDE",2),nZQ=new M0("FIXED_ORDER",3),nZY=new M0("FIXED_RATIO",4),nZJ=new M0("FIXED_POS",5)}function nii(n){var t,e,i;for(i=new zX(nl8,"{","}"),e=n.vc().Kc();e.Ob();)_J(i,Ff(n,(t=CY(e.Pb(),44)).ld())+"="+Ff(n,t.md()));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}function nir(n,t){var e,i,r;for(e=null,r=CY(t.Kb(n),20).Kc();r.Ob();)if(i=CY(r.Pb(),18),e){if((i.c.i==n?i.d.i:i.c.i)!=e)return!1}else e=i.c.i==n?i.d.i:i.c.i;return!0}function nia(n,t){var e,i,r,a;for(i=new fU(nc9(n,!1,t));i.a<i.c.c.length;)0==(e=CY(RU(i),132)).d?(Rs(e,null),Rh(e,null)):(r=e.a,a=e.b,Rs(e,a),Rh(e,r))}function nic(){nic=T,nzK=new Mv("OVERLAP_REMOVAL",0),nz$=new Mv(nkg,1),nzF=new Mv("ROTATION",2),nzD=new Mv("GRAPH_SIZE_CALCULATION",3),nzR=new Mv("OUTGOING_EDGE_ANGLES",4)}function nio(n,t,e){var i,r;if(0==n.j)return e;if(r=CY(qt(n,t,e),76),!(i=e.Lk()).rk()||!n.a.am(i))throw new ph("Invalid entry feature '"+i.qk().zb+"."+i.xe()+"'").e;return r}function niu(n,t,e){var i;switch(Px(0!=t.b),i=CY(Gy(t,t.a.a),8),e.g){case 0:i.b=0;break;case 2:i.b=n.f;break;case 3:i.a=0;break;default:i.a=n.g}return Ne(ZQ(t,0),i),t}function nis(n,t,e,i){var r,a,c,o,u;switch(u=n.b,o=ZR(c=(a=t.d).j,u.d[c.g],e),r=OT(jv(a.n),a.a),a.j.g){case 1:case 3:o.a+=r.a;break;case 2:case 4:o.b+=r.b}F_(i,o,i.c.b,i.c)}function nih(){var n,t,e,i;for(t=32,nih=T,nO0=BJ(n4b,nwX,28,25,15,1),nO2=BJ(n4b,nwX,28,33,15,1),i=152587890625e-16;t>=0;t--)nO2[t]=i,i*=.5;for(n=24,e=1;n>=0;n--)nO0[n]=e,e*=.5}function nif(n,t){var e,i,r;if(LX(n.f,t)&&(t.b=n,i=t.c,-1!=H6(n.j,i,0)||jB(n.j,i),r=t.d,-1!=H6(n.j,r,0)||jB(n.j,r),0!=(e=t.a.b).c.length)){n.i||(n.i=new Z$(n));var a,c,o=n.i;for(c=new fU(e);c.a<c.c.c.length;)a=CY(RU(c),72),jB(o.d,a),function(n,t){var e;e=t.o,T$(n.f)?(n.j.a=nP_.Math.max(n.j.a,e.a),n.j.b+=e.b,n.d.c.length>1&&(n.j.b+=n.e)):(n.j.a+=e.a,n.j.b=nP_.Math.max(n.j.b,e.b),n.d.c.length>1&&(n.j.a+=n.e))}(o,a)}}function nil(n){var t;this.d=new dc,this.c=n.c,this.e=n.d,this.b=n.b,this.f=new Am(n.e),this.a=n.a,n.f?this.g=n.f:this.g=new O9(t=CY(mP(nNo),9),CY(Oc(t,t.length),9),0)}function nib(n,t){var e,i,r,a;(r=Kq(n,"layoutOptions"))||(r=Kq(n,nEG)),r&&(e=null,(a=r)&&(i=XD(a,BJ(nPL,nby,2,0,6,1)),e=new vR(a,i)),e&&_r(e,new Ew(a,t)))}function niw(n){if(jM(n,207))return CY(n,27);if(jM(n,193))return DP(CY(n,123));if(n)throw new pR("Only support nodes and ports.").e;throw new pD(nTf).e}function nid(n,t,e){if(n.b)throw new px("The task is already done.").e;return null==n.p&&(n.p=t,n.r=e,n.k&&(vX(),n.o=J_(zF(Date.now()),nb8)),!0)}function nig(n){var t;return t=new pl,null!=n.Pg()&&IT(t,nE9,n.Pg()),null!=n.xe()&&IT(t,nTh,n.xe()),null!=n.Og()&&IT(t,"description",n.Og()),t}function nip(n,t,e){var i,r,a;return a=n.q,n.q=t,(4&n.Db)!=0&&(1&n.Db)==0&&(r=new LM(n,1,9,a,t),e?e.nj(r):e=r),t?(i=t.c)!=n.r&&(e=n.Yk(i,e)):n.r&&(e=n.Yk(null,e)),e}function nim(n,t,e,i,r){var a,c;nrY(a=CY(FB(xX(t.Oc(),new rn),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15)),c=CY(zm(n.b,e,i),15),0==r?c.cd(0,a):c.Gc(a)}function niv(n){var t,e,i,r;for(t=null,r=new fU(n.Rf());r.a<r.c.c.length;)e=new x4((i=CY(RU(r),187)).Lf().a,i.Lf().b,i.Mf().a,i.Mf().b),t?nrx(t,e):t=e;return t||(t=new TI),t}function niy(n,t,e,i){return 1==e?(n.n||(n.n=new Lk(nNt,n,1,7)),YU(n.n,t,i)):CY(Gt(CY(zA(n,16),29)||n.ii(),e),69).wk().zk(n,Zm(n),e-N$(n.ii()),t,i)}function nik(n,t,e){var i,r,a,c,o;for(i=e.gc(),n._i(n.i+i),(o=n.i-t)>0&&ns8(n.g,t,n.g,t+i,o),c=e.Kc(),n.i+=i,r=0;r<i;++r)a=c.Pb(),jH(n,t,n.Zi(t,a)),n.Mi(t,a),n.Ni(),++t;return 0!=i}function niM(n,t,e){var i;return t!=n.q?(n.q&&(e=Da(n.q,n,-10,e)),t&&(e=nnu(t,n,-10,e)),e=nip(n,t,e)):(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,9,t,t),e?e.nj(i):e=i),e}function niE(n,t,e,i){return Cu((e&nbk)==0,"flatMap does not support SUBSIZED characteristic"),Cu((4&e)==0,"flatMap does not support SORTED characteristic"),NP(n),NP(t),new KW(n,t,e,i)}function niT(n){var t,e;return n>=nwG?(t=nwq+(n-nwG>>10&1023)&nb9,e=56320+(n-nwG&1023)&nb9,String.fromCharCode(t)+""+String.fromCharCode(e)):String.fromCharCode(n&nb9)}function nij(){nij=T,nZd=new MQ(npL,0),nZb=new MQ("DIRECTED",1),nZg=new MQ("UNDIRECTED",2),nZf=new MQ("ASSOCIATION",3),nZw=new MQ("GENERALIZATION",4),nZl=new MQ("DEPENDENCY",5)}function niS(n,t){var e,i;for(xf(t),i=n.b.c.length,jB(n.b,t);i>0;){if(e=i,i=(i-1)/2|0,0>=n.a.Ne(I0(n.b,i),t))return _o(n.b,e,t),!0;_o(n.b,e,I0(n.b,i))}return _o(n.b,i,t),!0}function niP(n,t,e,i){var r,a;if(r=0,e)r=W5(n.a[e.g][t.g],i);else for(a=0;a<nCv;a++)r=nP_.Math.max(r,W5(n.a[a][t.g],i));return t==(GL(),nIr)&&n.b&&(r=nP_.Math.max(r,n.b.a)),r}function niO(n){switch(n.g){case 0:return new cD;case 1:return new cK;default:throw new pN("No implementation is available for the width approximator "+(null!=n.f?n.f:""+n.g)).e}}function niC(n,t,e,i){var r;if(r=!1,EK(i)&&(r=!0,IT(t,e,PA(i))),!r&&EF(i)&&(r=!0,niC(n,t,e,i)),!r&&jM(i,242)&&(r=!0,$$(t,e,CY(i,242))),!r)throw new pA(nE8).e}function niI(n,t){var e,i,r,a;if(xf(t),(a=n.a.gc())<t.gc())for(e=n.a.ec().Kc();e.Ob();)i=e.Pb(),t.Hc(i)&&e.Qb();else for(r=t.Kc();r.Ob();)i=r.Pb(),n.a.Bc(i);return a!=n.a.gc()}function niA(n){var t,e;switch(e=jv(V4(Vw(DY(nLA,1),nby,8,0,[n.i.n,n.n,n.a]))),t=n.i.d,n.j.g){case 1:e.b-=t.d;break;case 2:e.a+=t.c;break;case 3:e.b+=t.a;break;case 4:e.a-=t.b}return e}function niL(n,t,e,i){var r,a,c;for(c=QU(t,i).Kc();c.Ob();)r=CY(c.Pb(),12),n.d[r.p]=n.d[r.p]+n.c[e.p];for(a=QU(e,i).Kc();a.Ob();)r=CY(a.Pb(),12),n.d[r.p]=n.d[r.p]-n.c[t.p]}function niN(n,t,e){var i,r;for(r=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));r.e!=r.i.gc();)TB(i=CY(Z6(r),27),i.i+t,i.j+e);_r((n.b||(n.b=new Lk(nL6,n,12,3)),n.b),new Ee(t,e))}function nix(n,t){var e,i,r,a;for(i=(1==t?nx3:nx2).a.ec().Kc();i.Ob();)for(e=CY(i.Pb(),88),a=CY(_G(n.f.c,e),21).Kc();a.Ob();)r=CY(a.Pb(),42),H0(n.b.b,r.b),H0(n.b.a,CY(r.b,86).d)}function ni$(n,t){jM(Db((yM(),n2e),n),507)?Rr(n2e,n,new EP(this,t)):Rr(n2e,n,this),ni6(this,t),t==(mT(),n2a)?(this.wb=CY(this,2038),CY(t,2040)):this.wb=(NN(),n2c)}function niD(){niD=T,nOz=Vw(DY(nPL,1),nby,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),nOV=Vw(DY(nPL,1),nby,2,6,["Jan","Feb","Mar","Apr",nwi,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])}function niR(n){var t,e;(t=OB(typeof t,ndf)?null:new ns)&&(vQ(),NX(e=900>=nb8?"error":"warn",n.a),n.b&&function n(t,e,i,r,a){var c,o,u,s,h,f,l;for(h=r+De(i,i.ie()),(!a&&null!=console.groupCollapsed?console.groupCollapsed:null!=console.group?console.group:console.log).call(console,h),NX(e,(f=i.e)&&(f.stack||((l=i[nb4])&&0!=l.length?" "+l.join("\n "):""))),(c=i.f)&&n(t,e,c,"Caused by: ",!1),null==i.k&&(i.k=BJ(nPp,nby,82,0,0,1)),o=i.k,u=0,s=o.length;u<s;++u)n(t,e,o[u],"Suppressed: ",!1);null!=console.groupEnd&&console.groupEnd.call(console)}(t,e,n.b,"Exception: ",!0))}function niK(n,t){var e,i;return(n.q||(n.q=new dc),null!=(i=NR(n.q,t)))?i:(jM(e=t.Sg(),4)&&(null==e?(n.q||(n.q=new dc),_Y(n.q,t)):(n.q||(n.q=new dc),xM(n.q,t,e))),e)}function niF(){niF=T,nxV=new kn("P1_CYCLE_BREAKING",0),nxW=new kn("P2_LAYERING",1),nxQ=new kn("P3_NODE_ORDERING",2),nxJ=new kn("P4_NODE_PLACEMENT",3),nxY=new kn("P5_EDGE_ROUTING",4)}function ni_(n,t){var e,i,r;if(niW(n,t))return!0;for(i=new fU(t);i.a<i.c.c.length;)if(r=nez(e=CY(RU(i),27)),nua(n,e,r)||Qf(n,e)-n.g<=n.a)return!0;return!1}function niB(){niB=T,nuP(),nQs=nQj,nQc=nQk,nQa=nQv,nQi=nQd,nQr=nQp,nQe=new TW(8),nQt=new TZ((nl_(),nYa),nQe),nQo=new TZ(nYq,8),nQu=nQE,nW9=nQh,nW7=nQl,nQn=new TZ(nJx,(SB(),!1))}function niH(){niH=T,nJl=new TW(15),nJf=new TZ((nl_(),nYa),nJl),nJw=new TZ(nYq,15),nJb=new TZ(nYC,Qx(0)),nJc=nJG,nJu=nJ5,nJh=nYt,nJi=new TZ(nJj,nMx),nJo=nJQ,nJs=nJ7,nJr=nJP,nJa=nJL}function niU(n){if(1!=(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i||1!=(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i)throw new pN(nTb).e;return niw(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84))}function niG(n){if(1!=(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i||1!=(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i)throw new pN(nTb).e;return Ve(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84))}function niq(n){if(1!=(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i||1!=(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i)throw new pN(nTb).e;return Ve(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84))}function niX(n){if(1!=(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i||1!=(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i)throw new pN(nTb).e;return niw(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84))}function niz(n,t,e){var i,r,a;if(++n.j,t>=(r=n.Ej())||t<0)throw new pC(nTg+t+nTp+r).e;if(e>=r||e<0)throw new pC(nTm+e+nTp+r).e;return t!=e?(a=n.Cj(e),n.qj(t,a),i=a):i=n.xj(e),i}function niV(n){var t,e,i;for(i=new zX(nl8,"[","]"),e=n.Kc();e.Ob();)_J(i,ER(t=e.Pb())===ER(n)?"(this Collection)":null==t?nbi:J2(t));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}function niW(n,t){var e,i;if(i=!1,2>t.gc())return!1;for(e=0;e<t.gc();e++)e<t.gc()-1?i|=nua(n,CY(t.Xb(e),27),CY(t.Xb(e+1),27)):i|=nua(n,CY(t.Xb(e),27),CY(t.Xb(0),27));return i}function niQ(n,t){var e;t!=n.a?(e=null,n.a&&(e=CY(n.a,54).Th(n,4,nNn,e)),t&&(e=CY(t,54).Rh(n,4,nNn,e)),(e=QT(n,t,e))&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,1,t,t))}function niJ(n,t){var e,i,r,a;t!=n.e?(n.e&&Bi(xl(n.e),n),t&&(t.b||(t.b=new w8(new gR)),OE(t.b,n)),i=null,a=n.e,n.e=t,(4&n.Db)!=0&&(1&n.Db)==0&&(r=new LM(n,1,4,a,t),i?i.nj(r):i=r),a!=t&&(i=t?nfH(n,non(n,t),i):nfH(n,n.a,i)),(e=i)&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,4,t,t))}function niY(){niY=T,nD6=Vw(DY(nLq,1),npx,64,0,[(nf5(),n1t),n1n,n1m]),nD4=Vw(DY(nLq,1),npx,64,0,[n1n,n1m,n1y]),nD5=Vw(DY(nLq,1),npx,64,0,[n1m,n1y,n1t]),nD8=Vw(DY(nLq,1),npx,64,0,[n1y,n1t,n1n])}function niZ(n){var t,e,i,r,a,c;for(this.a=nng(n),this.b=new du,e=0,i=n.length;e<i;++e)for(t=n[e],r=new du,jB(this.b,r),a=0,c=t.length;a<c;++a)jB(r,new O8(t[a].j))}function ni1(n){for(;0!=n.g.c&&0!=n.d.c;)PV(n.g).c>PV(n.d).c?(n.i+=n.g.c,YV(n.d)):PV(n.d).c>PV(n.g).c?(n.e+=n.d.c,YV(n.g)):(n.i+=Af(n.g),n.e+=Af(n.d),YV(n.g),YV(n.d))}function ni0(n,t,e,i){n.a.d=nP_.Math.min(t,e),n.a.a=nP_.Math.max(t,i)-n.a.d,t<e?(n.b=.5*(t+e),n.g=nyz*n.b+.9*t,n.f=nyz*n.b+.9*e):(n.b=.5*(t+i),n.g=nyz*n.b+.9*i,n.f=nyz*n.b+.9*t)}function ni2(){ni2=T,nKn=new kR(npL,0),nR8=new kR(nd1,1),nKt=new kR(nd0,2),nR7=new kR("LEFT_RIGHT_CONSTRAINT_LOCKING",3),nR9=new kR("LEFT_RIGHT_CONNECTION_LOCKING",4),nR5=new kR(nmd,5)}function ni3(n,t,e){var i,r,a,c,o,u,s;o=e.a/2,a=e.b/2,i=nP_.Math.abs(t.a-n.a),r=nP_.Math.abs(t.b-n.b),u=1,s=1,i>o&&(u=o/i),r>a&&(s=a/r),c=nP_.Math.min(u,s),n.a+=c*(t.a-n.a),n.b+=c*(t.b-n.b)}function ni4(n,t,e,i){return 0==e?(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),O1(n.o,t,i)):CY(Gt(CY(zA(n,16),29)||n.ii(),e),69).wk().Ak(n,Zm(n),e-N$(n.ii()),t,i)}function ni6(n,t){var e;t!=n.sb?(e=null,n.sb&&(e=CY(n.sb,54).Th(n,1,nL9,e)),t&&(e=CY(t,54).Rh(n,1,nL9,e)),(e=Qq(n,t,e))&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,4,t,t))}function ni5(n,t){var e,i;i=CY(niK(t,(nlL(),nUt)),101),VD(t,(nlF(),nFn),i),(e=t.e)&&(vZ(new Aa(null,new R$(e.a,16)),new lS(n)),vZ(UL(new Aa(null,new R$(e.b,16)),new ti),new lP(n)))}function ni8(){ni8=T,n$v=new kr("NORMAL",0),n$m=new kr("LONG_EDGE",1),n$g=new kr("EXTERNAL_PORT",2),n$y=new kr("NORTH_SOUTH_PORT",3),n$p=new kr("LABEL",4),n$d=new kr("BREAKING_POINT",5)}function ni9(n,t){var e,i,r;return(t&=63)<22?(e=n.l<<t,i=n.m<<t|n.l>>22-t,r=n.h<<t|n.m>>22-t):t<44?(e=0,i=n.l<<t-22,r=n.m<<t-22|n.l>>44-t):(e=0,i=0,r=n.l<<t-44),js(e&nwO,i&nwO,r&nwC)}function ni7(n){if(null==nOs&&(nOs=RegExp("^\\s*[+-]?(NaN|Infinity|((\\d+\\.?\\d*)|(\\.\\d+))([eE][+-]?\\d+)?[dDfF]?)\\s*$")),!nOs.test(n))throw new p5(nwK+n+'"').e;return parseFloat(n)}function nrn(n,t){var e,i,r,a;for(i=(1==t?nx3:nx2).a.ec().Kc();i.Ob();)for(e=CY(i.Pb(),88),a=CY(_G(n.f.c,e),21).Kc();a.Ob();)r=CY(a.Pb(),42),jB(n.b.b,CY(r.b,86)),jB(n.b.a,CY(r.b,86).d)}function nrt(){nrt=T,nRG=new kx("ALWAYS_UP",0),nRU=new kx("ALWAYS_DOWN",1),nRX=new kx("DIRECTION_UP",2),nRq=new kx("DIRECTION_DOWN",3),nRV=new kx("SMART_UP",4),nRz=new kx("SMART_DOWN",5)}function nre(n,t){var e,i,r,a;for(e=new Tq(n);null!=e.g||e.c?null==e.g||0!=e.i&&CY(e.g[e.i-1],51).Ob():DU(e);)if(jM(a=CY(nc0(e),58),167))for(r=0,i=CY(a,167);r<t.length;r++)t[r].Kg(i)}function nri(n){var t;return(64&n.Db)!=0?JN(n):(t=new Sm(JN(n)),t.a+=" (height: ",mA(t,n.f),t.a+=", width: ",mA(t,n.g),t.a+=", x: ",mA(t,n.i),t.a+=", y: ",mA(t,n.j),t.a+=")",t.a)}function nrr(n){var t,e,i,r,a;for(t=new FF,i=0,r=n.length;i<r;++i)if(null!=Zq(t,a=NP((e=n[i]).ld()),NP(e.md())))throw new pN("duplicate key: "+a).e;this.b=($O(),new fH(t))}function nra(){nra=T,U3(),nNX=new To(ngV,nNz=nN1),Qx(1),nNq=new To(ngW,Qx(300)),Qx(0),nNQ=new To(ngQ,Qx(0)),new da,nNJ=new To(ngJ,ngY),new da,nNV=new To(ngZ,5),nNY=nN1,nNW=nNZ}function nrc(n){var t,e;return e=nP_.Math.sqrt((null==n.k&&(n.k=XH(n,new rN)),pj(n.k)/(n.b*(null==n.g&&(n.g=XB(n,new rL)),pj(n.g))))),t=AW(zF(nP_.Math.round(e))),t=nP_.Math.min(t,n.f)}function nro(){X8(),Oh.call(this),this.j=(nf5(),n1v),this.a=new mm,new gg,this.f=(qL(2,nbU),new Bf(2)),this.e=(qL(4,nbU),new Bf(4)),this.g=(qL(4,nbU),new Bf(4)),this.b=new kh(this.e,this.g)}function nru(){nru=T,nW2=new MN("CENTER_DISTANCE",0),nW3=new MN("CIRCLE_UNDERLAP",1),nW5=new MN("RECTANGLE_UNDERLAP",2),nW4=new MN("INVERTED_OVERLAP",3),nW6=new MN("MINIMUM_ROOT_DISTANCE",4)}function nrs(n,t){switch(t.g){case 1:return Cz(n.j,(X8(),n$T));case 2:return Cz(n.j,(X8(),n$M));case 3:return Cz(n.j,(X8(),n$S));case 4:return Cz(n.j,(X8(),n$P));default:return $O(),$O(),nO_}}function nrh(){nrh=T,nl_(),nVf=nYO,nVm=nYq,nVr=nJ5,nVa=nJ7,nVc=nYt,nVi=nJ4,nVo=nYr,nVh=nYE,nsn(),nVt=nzW,nVe=nzQ,nVb=nz2,nVg=nz6,nVw=nz3,nVd=nz4,nVu=nzY,nVs=nz1,nVl=nz0,nVp=nz5,nVv=nz9,nVn=nzV}function nrf(n,t){var e,i,r,a,c,o,u;if(n.e<=t||(o=n.g,(u=nhL(n,o,!1)).b<=o&&u.a<=t))return n.g;for(a=n.r,i=n.g,c=n.r,r=(a-i)/2+i;i+1<a;)(e=nhL(n,r,!1)).b<=r&&e.a<=t?(c=r,a=r):i=r,r=(a-i)/2+i;return c}function nrl(n){if(null==n.p)throw new px("The task has not begun yet.").e;n.b||(n.k&&(vX(),n.q=1e-9*KI(JB(J_(zF(Date.now()),nb8),n.o))),n.c<n.r&&qW(n,n.r-n.c),n.b=!0)}function nrb(n){var t,e,i;for(IA(i=new gj,new MH(n.j,n.k)),e=new j2((!n.a&&(n.a=new jU(nL0,n,5)),n.a));e.e!=e.i.gc();)IA(i,new MH((t=CY(Z6(e),377)).a,t.b));return IA(i,new MH(n.b,n.c)),i}function nrw(n,t){var e;if(ER(n)===ER(t))return!0;if(jM(t,21)){e=CY(t,21);try{return n.gc()==e.gc()&&n.Ic(e)}catch(n){if(jM(n=Vt(n),169)||jM(n,212));else throw n.e}}return!1}function nrd(n,t,e,i,r,a){switch(this.c=n,t.g){case 2:if(0>n.a.Ne(r,e))throw new pN(nda+r+ndc+e).e;break;case 1:n.a.Ne(r,r);break;case 3:n.a.Ne(e,e)}this.f=t,this.b=e,this.a=i,this.e=r,this.d=a}function nrg(n,t){var e;jB(n.d,t),e=t.Mf(),n.c?(n.e.a=nP_.Math.max(n.e.a,e.a),n.e.b+=e.b,n.d.c.length>1&&(n.e.b+=n.a)):(n.e.a+=e.a,n.e.b=nP_.Math.max(n.e.b,e.b),n.d.c.length>1&&(n.e.a+=n.a))}function nrp(n,t,e,i,r){if(i<t||r<e)throw new pN("The highx must be bigger then lowx and the highy must be bigger then lowy").e;return n.a<t?n.a=t:n.a>i&&(n.a=i),n.b<e?n.b=e:n.b>r&&(n.b=r),n}function nrm(n,t,e,i){var r,a;if(t.k==(ni8(),n$m)){for(a=new Le(Sb(Jz(t).a.Kc(),new s));ncv(a);)if((r=CY(_I(a),18)).c.i.k==n$m&&n.c.a[r.c.i.c.p]==i&&n.c.a[t.c.p]==e)return!0}return!1}function nrv(n,t,e,i){var r;this.b=i,this.e=n==(qp(),nqh),r=t[e],this.d=I3(n4h,[nby,ndV],[183,28],16,[r.length,r.length],2),this.a=I3(n4s,[nby,nwl],[53,28],15,[r.length,r.length],2),this.c=new nin(t,e)}function nry(n,t){var e,i,r;LX(n.d,t),e=new aj,xM(n.c,t,e),e.f=Qm(t.c),e.a=Qm(t.d),noD(),e.d=(r=t.c.i.k)==(ni8(),n$v)||r==n$d,e.e=(i=t.d.i.k)==n$v||i==n$d,e.b=t.c.j==(nf5(),n1y),e.c=t.d.j==n1n}function nrk(n,t,e,i){var r,a,c,o,u,s,h;for(o=0,c=e.length,a=0,r=-1,s=UK((Rx(t,n.length+1),n.substr(t)),(Ci(),nOQ));o<c;++o)(u=e[o].length)>a&&(h=UK(e[o],nOQ),OB(s.substr(0,h.length),h))&&(r=o,a=u);return r>=0&&(i[0]=t+a),r}function nrM(n){var t;return(64&n.Db)!=0?nri(n):(t=new Sv(nEv),n.a&&EY(EY((t.a+=' "',t),n.a),'"'),EY(mN(EY(mN(EY(mN(EY(mN((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function nrE(n,t,e){var i,r,a,c,o;for(c=0,o=nox(n.e.Dh(),t),r=CY(n.g,124),i=0;c<n.i;++c)if(a=r[c],o.am(a.Lk())){if(i==e)return no9(n,c),yP(),CY(t,69).xk()?a:a.md();++i}throw new pC(njt+e+nTp+i).e}function nrT(n){var t,e,i;if(2==(t=n.c)||7==t||1==t)return nlU(),nlU(),n3Y;for(i=nlk(n),e=null;2!=(t=n.c)&&7!=t&&1!=t;)e||(nlU(),nlU(),++n4c,nh7(e=new T3(1),i),i=e),nh7(e,nlk(n));return i}function nrj(n,t){var e,i,r,a,c;for(i=0,r=n.length;i<r;i++){a=n[i];try{a[1]?a[0].Um()&&(c=t,c||(c=[]),c[c.length]=a,t=c):a[0].Um()}catch(n){if(jM(n=Vt(n),82))e=n,pZ(),function(n){pZ(),nP_.setTimeout(function(){throw n},0)}(jM(e,486)?CY(e,486).ke():e);else throw n.e}}return t}function nrS(n,t,e){var i,r,a;for(e!=t.c+t.b.gc()&&function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;for(g=n.c,p=t.c,e=H6(g.a,n,0),i=H6(p.a,t,0),w=CY(Yx(n,(qy(),nG$)).Kc().Pb(),12),y=CY(Yx(n,nGD).Kc().Pb(),12),d=CY(Yx(t,nG$).Kc().Pb(),12),k=CY(Yx(t,nGD).Kc().Pb(),12),l=Ky(w.e),m=Ky(y.g),b=Ky(d.e),v=Ky(k.g),ntX(n,i,p),a=0,s=b.length;a<s;++a)Ru(b[a],w);for(c=0,h=v.length;c<h;++c)Ra(v[c],y);for(ntX(t,e,g),o=0,f=l.length;o<f;++o)Ru(l[o],d);for(r=0,u=m.length;r<u;++r)Ra(m[r],k)}(t.a,(a=e-t.c)<t.b.gc()?CY(t.b.Xb(a),10):a==t.b.gc()?t.a:CY(I0(t.e,a-t.b.gc()-1),10)),r=t.a.c.p,n.a[r]=nP_.Math.max(n.a[r],t.a.o.a),i=CY(niK(t.a,(nlF(),nFo)),15).Kc();i.Ob();)VD(CY(i.Pb(),72),nDI,(SB(),!0))}function nrP(n){var t;this.c=new vq,this.f=n.e,this.e=n.d,this.i=n.g,this.d=n.c,this.b=n.b,this.k=n.j,this.a=n.a,n.i?this.j=n.i:this.j=new O9(t=CY(mP(nLC),9),CY(Oc(t,t.length),9),0),this.g=n.f}function nrO(n,t,e){var i,r,a;if(!(e<=t+2))for(i=0,r=(e-t)/2|0;i<r;++i)RN(t+i,n.c.length),a=CY(n.c[t+i],12),_o(n,t+i,(RN(e-i-1,n.c.length),CY(n.c[e-i-1],12))),RN(e-i-1,n.c.length),n.c[e-i-1]=a}function nrC(n){var t;this.j=new du,this.f=new dV,this.b=new O9(t=CY(mP(nLq),9),CY(Oc(t,t.length),9),0),this.d=BJ(n4s,nwl,28,(nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])).length,15,1),this.g=n}function nrI(n,t){var e,i,r;if(i=Gt(n.Dh(),t),(e=t-n.ji())<0)if(i)if(i.rk())(r=n.Ih(i))>=0?n.ki(r):nab(n,i);else throw new pN(nET+i.xe()+nEj).e;else throw new pN(nEO+t+nEC).e;else QZ(n,e,i)}function nrA(n){var t,e;if(e=null,t=!1,jM(n,211)&&(t=!0,e=CY(n,211).a),!t&&jM(n,263)&&(t=!0,e=""+CY(n,263).a),!t&&jM(n,493)&&(t=!0,e=""+CY(n,493).a),!t)throw new pA(nE8).e;return e}function nrL(n,t,e){var i,r,a,c,o,u;for(c=0,u=nox(n.e.Dh(),t),i=0,o=n.i,r=CY(n.g,124);c<n.i;++c)if(a=r[c],u.am(a.Lk())){if(e==i)return c;++i,o=c+1}if(e==i)return o;throw new pC(njt+e+nTp+i).e}function nrN(){nrN=T,nQ2=new Mq(nd6,0),nQW=new Mq("BOOLEAN",1),nQZ=new Mq("INT",2),nQ0=new Mq("STRING",3),nQQ=new Mq("DOUBLE",4),nQJ=new Mq("ENUM",5),nQY=new Mq("ENUMSET",6),nQ1=new Mq("OBJECT",7)}function nrx(n,t){var e,i,r,a,c;i=nP_.Math.min(n.c,t.c),a=nP_.Math.min(n.d,t.d),r=nP_.Math.max(n.c+n.b,t.c+t.b),c=nP_.Math.max(n.d+n.a,t.d+t.a),r<i&&(e=i,i=r,r=e),c<a&&(e=a,a=c,c=e),Ir(n,i,a,r-i,c-a)}function nr$(n,t){var e,i;if(!n.f)return t.Ob();for(;t.Ob();)if(jM(i=(e=CY(t.Pb(),76)).Lk(),102)&&(CY(i,19).Bb&nEI)!=0&&(!n.e||i.pk()!=nL1||0!=i.Lj())&&null!=e.md())return t.Ub(),!0;return!1}function nrD(n,t){var e,i;if(!n.f)return t.Sb();for(;t.Sb();)if(jM(i=(e=CY(t.Ub(),76)).Lk(),102)&&(CY(i,19).Bb&nEI)!=0&&(!n.e||i.pk()!=nL1||0!=i.Lj())&&null!=e.md())return t.Pb(),!0;return!1}function nrR(){nrR=T,n25=Vw(DY(nPL,1),nby,2,6,[nSt,nSe,nSi,nSr,nSa,nSc,nTs]),n26=Vw(DY(nPL,1),nby,2,6,[nSt,"empty",nSe,njR,"elementOnly"]),n29=Vw(DY(nPL,1),nby,2,6,[nSt,"preserve","replace",nSo]),n28=new Ib}function nrK(n,t,e){var i,r,a;if(t!=e){i=t;do OT(n,i.c),(r=i.e)&&(Pu(n,(a=i.d).b,a.d),OT(n,r.n),i=xi(r));while(r)i=e;do Oj(n,i.c),(r=i.e)&&(Pf(n,(a=i.d).b,a.d),Oj(n,r.n),i=xi(r));while(r)}}function nrF(n,t,e,i){var r,a,c,o,u,s;if(i.f.c+i.i.c==0)for(c=n.a[n.c],o=0,u=c.length;o<u;++o)xM(i,a=c[o],new zi(n,a,e));return(r=CY(ED(Aj(i.f,t)),677)).b=0,r.c=r.f,0==r.c||((s=CY(I0(r.a,r.b),294)).b=s.a),r}function nr_(){nr_=T,nRw=new kO("MEDIAN_LAYER",0),nRg=new kO("TAIL_LAYER",1),nRb=new kO("HEAD_LAYER",2),nRd=new kO("SPACE_EFFICIENT_LAYER",3),nRp=new kO("WIDEST_LAYER",4),nRl=new kO("CENTER_LAYER",5)}function nrB(n){var t,e,i,r;for(n.e=0,r=ZQ(n.f,0);r.b!=r.d.c;)(i=CY(K0(r),10)).p>=n.d.b.c.length&&((t=new NU(n.d)).p=i.p-1,jB(n.d.b,t),(e=new NU(n.d)).p=i.p,jB(n.d.b,e)),Rc(i,CY(I0(n.d.b,i.p),30))}function nrH(n,t){var e,i,r;if(jM(t,207))return e=CY(t,27),qN(Nk(n.g),e);if(jM(t,193))return i=CY(t,123),qN(Nk(n.j),i);if(jM(t,452))return r=CY(t,166),qN(Nk(n.d),r);throw new pN(nTn+niV(new pU(Vw(DY(nPa,1),nl7,1,5,[t])))).e}function nrU(n,t,e){var i,r;if(this.f=n,_z(e,r=(i=CY(NR(n.b,t),260))?i.a:0),e>=(r/2|0))for(this.e=i?i.c:null,this.d=r;e++<r;)UF(this);else for(this.c=i?i.b:null;e-- >0;)U_(this);this.b=t,this.a=null}function nrG(n,t){var e,i;if(e=CY(xN(n.b,t),127),CY(CY(_G(n.r,t),21),87).dc()){e.n.b=0,e.n.c=0;return}e.n.b=n.C.b,e.n.c=n.C.c,n.A.Hc((YZ(),n1I))&&nuN(n,t),i=function(n,t){var e,i,r;for(r=0,i=CY(CY(_G(n.r,t),21),87).Kc();i.Ob();)r+=(e=CY(i.Pb(),117)).d.b+e.b.Mf().a+e.d.c,i.Ob()&&(r+=n.w);return r}(n,t),nuc(n,t)==(Z0(),nZX)&&(i+=2*n.w),e.a.a=i}function nrq(n,t){var e,i;if(e=CY(xN(n.b,t),127),CY(CY(_G(n.r,t),21),87).dc()){e.n.d=0,e.n.a=0;return}e.n.d=n.C.d,e.n.a=n.C.a,n.A.Hc((YZ(),n1I))&&nux(n,t),i=function(n,t){var e,i,r;for(r=0,i=CY(CY(_G(n.r,t),21),87).Kc();i.Ob();)r+=(e=CY(i.Pb(),117)).d.d+e.b.Mf().b+e.d.a,i.Ob()&&(r+=n.w);return r}(n,t),nuc(n,t)==(Z0(),nZX)&&(i+=2*n.w),e.a.b=i}function nrX(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w;return o=n.a,f=n.b,u=t.a,l=t.b,s=e.a,b=e.b,h=i.a,w=i.b,a=o*l-f*u,c=s*w-b*h,r=(o-u)*(b-w)-(f-l)*(s-h),new MH((a*(s-h)-c*(o-u))/r,(a*(b-w)-c*(f-l))/r)}function nrz(n,t){var e,i,r;if(!n.d[t.p]){for(n.d[t.p]=!0,n.a[t.p]=!0,i=new Le(Sb(JV(t).a.Kc(),new s));ncv(i);)_p(e=CY(_I(i),18))||(r=e.d.i,n.a[r.p]?jB(n.b,e):nrz(n,r));n.a[t.p]=!1}}function nrV(n,t,e){var i;switch(i=0,CY(niK(t,(nlL(),nHI)),171).g){case 2:i=-(2*e)+n.a,++n.a;break;case 1:i=-e;break;case 3:i=e;break;case 4:i=2*e+n.b,++n.b}return Pn(t,(nlF(),nK4))&&(i+=CY(niK(t,nK4),17).a),i}function nrW(n){var t,e;return CY(ncx(n,(nl_(),nJ5)),21).Hc((YZ(),n1P))?(e=CY(ncx(n,nYt),21),t=new TP(CY(ncx(n,nJ7),8)),e.Hc((nsv(),n1x))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t):new mm}function nrQ(n){var t,e,i;if(!n.b){for(i=new o9,e=new SQ(nhP(n));e.e!=e.i.gc();)((t=CY(Z5(e),19)).Bb&nEI)!=0&&B7(i,t);WG(i),n.b=new Tu((CY(GO($x((NN(),n2c).o),8),19),i.i),i.g),_v(n).b&=-9}return n.b}function nrJ(n){var t,e,i;for(e=n.length,i=0;i<e&&(Rx(i,n.length),32>=n.charCodeAt(i));)++i;for(t=e;t>i&&(Rx(t-1,n.length),32>=n.charCodeAt(t-1));)--t;return i>0||t<e?(B2(i,t,n.length),n.substr(i,t-i)):n}function nrY(n){var t,e,i,r,a,c,o;if($O(),jM(n,59))for(a=0,r=n.gc()-1;a<r;++a,--r)t=n.Xb(a),n.hd(a,n.Xb(r)),n.hd(r,t);else for(e=n.ed(),c=n.fd(n.gc());e.Tb()<c.Vb();)i=e.Pb(),o=c.Ub(),e.Wb(o),c.Wb(i)}function nrZ(n,t){var e,i,r,a,c,o;for(o=0,K3(a=new j1,t);a.b!=a.c;)for(o+=ntT((c=CY(LG(a),219)).d,c.e),r=new fU(c.b);r.a<r.c.c.length;)i=CY(RU(r),36),(e=CY(I0(n.b,i.p),219)).s||(o+=nrZ(n,e));return o}function nr1(n,t,e,i,r){var a,c,o,u;if(t)for(c=t.Kc();c.Ob();)for(u=nuT(CY(c.Pb(),10),(qy(),nGD),e).Kc();u.Ob();)o=CY(u.Pb(),12),(a=CY(ED(Aj(r.f,o)),118))||(a=new zV(n.d),dk(i.c,a),function n(t,e,i){var r,a,c;for(i.zc(e,t),jB(t.n,e),c=t.p.zg(e),e.j==t.p.Ag()?JZ(t.e,c):JZ(t.j,c),Nx(t),a=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(e),new lN(e)])));ncv(a);)r=CY(_I(a),12),i._b(r)||n(t,r,i)}(a,o,r))}function nr0(n,t,e){var i,r;zW(this),t==(DC(),nq0)?LX(this.r,n.c):LX(this.w,n.c),e==nq0?LX(this.r,n.d):LX(this.w,n.d),nry(this,n),ni0(this,i=Qm(n.c),r=Qm(n.d),r),this.o=(noD(),.2>nP_.Math.abs(i-r))}function nr2(n,t,e){var i,r,a,c;if(null!=(a=CY(zA(n.a,8),2035)))for(i=0,r=a.length;i<r;++i)null.Um();(1&n.a.Db)==0&&(c=new NZ(n,e,t),e.dj(c)),jM(e,686)?CY(e,686).fj(n.a):e.cj()==n.a&&e.ej(null)}function nr3(n,t,e){var i,r,a,c;if(c=n.b.Ce(t),0==(r=null==(i=n.a.get(c))?BJ(nPa,nl7,1,0,5,1):i).length)n.a.set(c,r);else if(a=W2(n,t,r))return a.nd(e);return NK(r,r.length,new yH(t,e)),++n.c,++n.b.g,null}function nr4(n,t){for(r=new du,i=new fU(n.c.a.b);i.a<i.c.c.length;)e=CY(RU(i),60),t.Lb(e)&&(jB(r,new yW(e,!0)),jB(r,new yW(e,!1)));var e,i,r,a,c,o=n.e;for(o.b.a.$b(),o.a=BJ(nCu,nl7,60,o.c.c.a.b.c.length,0,1),a=0,c=new fU(o.c.c.a.b);c.a<c.c.c.length;)CY(RU(c),60).f=a++;Kb(r,n.d,new pU(Vw(DY(nCo,1),nl7,693,0,[n.e])))}function nr6(n,t,e){var i,r,a;i=CY(ncx(n,(nl_(),nJL)),21),r=0,a=0,t.a>e.a&&(i.Hc((neW(),nJd))?r=(t.a-e.a)/2:i.Hc(nJp)&&(r=t.a-e.a)),t.b>e.b&&(i.Hc((neW(),nJv))?a=(t.b-e.b)/2:i.Hc(nJm)&&(a=t.b-e.b)),niN(n,r,a)}function nr5(n,t,e,i,r,a,c,o,u,s,h,f,l){jM(n.Cb,90)&&nar(_v(CY(n.Cb,90)),4),XC(n,e),n.f=c,Jy(n,o),JM(n,u),Jv(n,s),Jk(n,h),Q5(n,f),JD(n,l),Q3(n,!0),G6(n,r),n.Zk(a),Qn(n,t),null!=i&&(n.i=null,Xi(n,i))}function nr8(n,t,e){if(n<0)return nuK(nl9,Vw(DY(nPa,1),nl7,1,5,[e,Qx(n)]));if(t<0)throw new pN(nbn+t).e;return nuK("%s (%s) must not be greater than size (%s)",Vw(DY(nPa,1),nl7,1,5,[e,Qx(n),Qx(t)]))}function nr9(n,t,e){var i,r,a;if(r=Gt(n.Dh(),t),(i=t-n.ji())<0)if(r)if(r.rk())(a=n.Ih(r))>=0?n.bi(a,e):nc7(n,r,e);else throw new pN(nET+r.xe()+nEj).e;else throw new pN(nEO+t+nEC).e;else J5(n,i,r,e)}function nr7(n){var t,e;if(!n.f)return n.n>0;for(;n.n>0;){if(jM(e=(t=CY(n.k.Xb(n.n-1),76)).Lk(),102)&&(CY(e,19).Bb&nEI)!=0&&(!n.e||e.pk()!=nL1||0!=e.Lj())&&null!=t.md())return!0;--n.n}return!1}function nan(n){if(!n)return pb(),nOn;var t=n.valueOf?n.valueOf():n;if(t!==n){var e=nOt[typeof t];return e?e(t):Qo(typeof t)}return n instanceof Array||n instanceof nP_.Array?new fm(n):new fk(n)}function nat(n,t,e){var i,r,a;switch(a=n.o,(r=(i=CY(xN(n.p,e),252)).i).b=naT(i),r.a=naE(i),r.b=nP_.Math.max(r.b,a.a),r.b>a.a&&!t&&(r.b=a.a),r.c=-(r.b-a.a)/2,e.g){case 1:r.d=-r.a;break;case 3:r.d=a.b}nht(i),nha(i)}function nae(n,t,e){var i,r,a;switch(a=n.o,(r=(i=CY(xN(n.p,e),252)).i).b=naT(i),r.a=naE(i),r.a=nP_.Math.max(r.a,a.b),r.a>a.b&&!t&&(r.a=a.b),r.d=-(r.a-a.b)/2,e.g){case 4:r.c=-r.b;break;case 2:r.c=a.a}nht(i),nha(i)}function nai(n,t){var e,i,r,a;return e=qn(n,"x"),GZ(new wP(t).a,null==e||O6((xf(e),e))||isNaN((xf(e),e))?0:(xf(e),e)),i=qn(n,"y"),G1(new wO(t).a,null==i||O6((xf(i),i))||isNaN((xf(i),i))?0:(xf(i),i)),r=qn(n,nEz),GY(new wC(t).a,null==r||O6((xf(r),r))||isNaN((xf(r),r))?0:(xf(r),r)),a=qn(n,nEX),GJ(new wI(t).a,null==a||O6((xf(a),a))||isNaN((xf(a),a))?0:(xf(a),a)),a}function nar(n,t){nuA(n,t),(1&n.b)!=0&&(n.a.a=null),(2&n.b)!=0&&(n.a.f=null),(4&n.b)!=0&&(n.a.g=null,n.a.i=null),(16&n.b)!=0&&(n.a.d=null,n.a.e=null),(8&n.b)!=0&&(n.a.b=null),(32&n.b)!=0&&(n.a.j=null,n.a.c=null)}function naa(n,t){var e,i,r,a,c,o;for(e=n.b.c.length,r=I0(n.b,t);2*t+1<e&&(c=(a=2*t+1)+1,o=a,c<e&&0>n.a.Ne(I0(n.b,c),I0(n.b,a))&&(o=c),i=o,!(0>n.a.Ne(r,I0(n.b,i))));)_o(n.b,t,I0(n.b,i)),t=i;_o(n.b,t,r)}function nac(n,t,e){var i,r;return(i=e.d,r=e.e,n.g[i.d]<=n.i[t.d]&&n.i[t.d]<=n.i[i.d]&&n.g[r.d]<=n.i[t.d]&&n.i[t.d]<=n.i[r.d])?!(n.i[i.d]<n.i[r.d]):n.i[i.d]<n.i[r.d]}function nao(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(u=nwF,a=new fU(noh(n.b));a.a<a.c.c.length;)for(r=CY(RU(a),177),o=new fU(noh(t.b));o.a<o.c.c.length;)c=CY(RU(o),177),s=r.a,h=r.b,f=c.a,l=c.b,nue(),i=nP_.Math.min(nfN(s,h,f,l,e),nfN(f,l,s,h,Ph(new MH(e.a,e.b)))),u=nP_.Math.min(u,i);return u}function nau(n,t){if(!t)throw(new d$).e;if(n.j=t,!n.d)switch(n.j.g){case 1:n.a.a=n.o.a/2,n.a.b=0;break;case 2:n.a.a=n.o.a,n.a.b=n.o.b/2;break;case 3:n.a.a=n.o.a/2,n.a.b=n.o.b;break;case 4:n.a.a=0,n.a.b=n.o.b/2}}function nas(n,t){var e,i;if(t.dc())return $O(),$O(),nO_;for(jB(i=new du,Qx(nbJ)),e=1;e<n.f;++e)null==n.a&&nuC(n),n.a[e]&&jB(i,Qx(e));return 1==i.c.length?($O(),$O(),nO_):(jB(i,Qx(nl3)),function(n,t){var e,i,r,a,c,o;for(r=new du,a=0,e=0,c=0;a<t.c.length-1&&e<n.gc();){for(i=CY(n.Xb(e),17).a+c;(RN(a+1,t.c.length),CY(t.c[a+1],17)).a<i;)++a;for(o=0,i-(RN(a,t.c.length),CY(t.c[a],17)).a>(RN(a+1,t.c.length),CY(t.c[a+1],17)).a-i&&++o,jB(r,(RN(a+o,t.c.length),CY(t.c[a+o],17))),c+=(RN(a+o,t.c.length),CY(t.c[a+o],17)).a-i,++e;e<n.gc()&&CY(n.Xb(e),17).a+c<=(RN(a+o,t.c.length),CY(t.c[a+o],17)).a;)++e;a+=1+o}return r}(t,i))}function nah(n,t,e){var i,r;i=t.a&n.f,t.b=n.b[i],n.b[i]=t,r=t.f&n.f,t.d=n.c[r],n.c[r]=t,e?(t.e=e.e,t.e?t.e.c=t:n.a=t,t.c=e.c,t.c?t.c.e=t:n.e=t):(t.e=n.e,t.c=null,n.e?n.e.c=t:n.a=t,n.e=t),++n.i,++n.g}function naf(n){var t,e,i;if(t=n.Pb(),!n.Ob())return t;for(e=0,i=EJ(EY(new p2,"expected one element but was: <"),t);e<4&&n.Ob();e++)EJ((i.a+=nl8,i),n.Pb());throw n.Ob()&&(i.a+=", ..."),i.a+=">",new pN(i.a).e}function nal(n){var t,e,i,r;for(n.g=new J0(CY(NP(nLq),297)),i=0,nf5(),e=n1t,t=0;t<n.j.c.length;t++)(r=CY(I0(n.j,t),12)).j!=e&&(i!=t&&LQ(n.g,e,new Ea(Qx(i),Qx(t))),e=r.j,i=t);LQ(n.g,e,new Ea(Qx(i),Qx(t)))}function nab(n,t){var e,i,r;if(r=nff((nrR(),n28),n.Dh(),t))yP(),CY(r,69).xk()||(r=Rz(Ua(n28,r))),i=CY((e=n.Ih(r))>=0?n.Lh(e,!0,!0):naB(n,r,!0),160),CY(i,220).Zl(t);else throw new pN(nET+t.xe()+nEj).e}function naw(n){var t,e;return n>-0x800000000000&&n<0x800000000000?0==n?0:((t=n<0)&&(n=-n),e=Dy(nP_.Math.floor(nP_.Math.log(n)/.6931471805599453)),(!t||n!=nP_.Math.pow(2,e))&&++e,e):z6(zF(n))}function nad(n,t){var e,i,r;return zU(i=new nn_(n),t),VD(i,(nlF(),nKF),t),VD(i,(nlL(),nUt),(nie(),nZJ)),VD(i,nBR,(nnS(),nQ9)),ni8(),i.k=n$g,Ro(e=new nro,i),nau(e,(nf5(),n1y)),Ro(r=new nro,i),nau(r,n1n),i}function nag(n){switch(n.g){case 0:return new pv((qp(),nqs));case 1:return new hp;case 2:return new hm;default:throw new pN("No implementation is available for the crossing minimizer "+(null!=n.f?n.f:""+n.g)).e}}function nap(){nap=T,nZ8=new M2("OUTSIDE",0),nZ6=new M2("INSIDE",1),nZ5=new M2("NEXT_TO_PORT_IF_POSSIBLE",2),nZ4=new M2("ALWAYS_SAME_SIDE",3),nZ3=new M2("ALWAYS_OTHER_SAME_SIDE",4),nZ9=new M2("SPACE_EFFICIENT",5)}function nam(n,t){var e,i,r;for(r=nl3,i=new fU(W1(t));i.a<i.c.c.length;)(e=CY(RU(i),218)).f&&!n.c[e.c]&&(n.c[e.c]=!0,r=nP_.Math.min(r,nam(n,J6(e,t))));return n.i[t.d]=n.j,n.g[t.d]=nP_.Math.min(r,n.j++),n.g[t.d]}function nav(n,t){var e,i,r;for(r=CY(CY(_G(n.r,t),21),87).Kc();r.Ob();)(i=CY(r.Pb(),117)).e.b=(e=i.b).pf((nl_(),nYm))?e.ag()==(nf5(),n1t)?-e.Mf().b-pj(PI(e.of(nYm))):pj(PI(e.of(nYm))):e.ag()==(nf5(),n1t)?-e.Mf().b:0}function nay(n){var t,e,i,r,a;t=n.a,e=n.b,r=n.c,i=new MH(e.e.a+e.f.a/2,e.e.b+e.f.b/2),a=new MH(r.e.a+r.f.a/2,r.e.b+r.f.b/2),F_(t,i,t.a,t.a.a),F_(t,a,t.c.b,t.c),ni3(i,CY(nnt(t,1),8),n.b.f),ni3(a,CY(nnt(t,t.b-2),8),n.c.f)}function nak(n){var t,e;if(t=!1,jM(n,211))return t=!0,CY(n,211).a;if(!t&&jM(n,263)&&CY(n,263).a%1==0)return t=!0,Qx(Dy((xf(e=CY(n,263).a),e)));throw new p_("Id must be a string or an integer: '"+n+"'.").e}function naM(n,t,e){var i,r,a,c,o;if(qL(e,"occurrences"),0==e)return(o=CY(QH($M(n.a),t),16))?o.gc():0;if(!(c=CY(QH($M(n.a),t),16)))return 0;if(e>=(a=c.gc()))c.$b();else for(i=0,r=c.Kc();i<e;i++)r.Pb(),r.Qb();return a}function naE(n){var t,e,i,r,a,c,o;if(c=0,0==n.b){for(a=nnW(n,!0),t=0,i=0,r=a.length;i<r;++i)(e=a[i])>0&&(c+=e,++t);t>1&&(c+=n.c*(t-1))}else c=(o=XJ(xV(xX(LV(n.a),new nM),new nE))).a?o.b:0;return c>0?c+n.n.d+n.n.a:0}function naT(n){var t,e,i,r,a,c,o;if(c=0,0==n.b)c=(o=XJ(xV(xX(LV(n.a),new ny),new nk))).a?o.b:0;else{for(a=nnQ(n,!0),t=0,i=0,r=a.length;i<r;++i)(e=a[i])>0&&(c+=e,++t);t>1&&(c+=n.c*(t-1))}return c>0?c+n.n.b+n.n.c:0}function naj(n){var t,e;return e=new p2,e.a+="e_",null!=(t=0!=n.b.c.length&&CY(I0(n.b,0),72).a?CY(I0(n.b,0),72).a:xZ(n))&&(e.a+=""+t),n.c&&n.d&&(EY((e.a+=" ",e),ntC(n.c)),EY(EJ((e.a+="[",e),n.c.i),"]"),EY((e.a+=npF,e),ntC(n.d)),EY(EJ((e.a+="[",e),n.d.i),"]")),e.a}function naS(n){switch(n.g){case 0:return new hP;case 1:return new hO;case 2:return new hj;case 3:return new hT;default:throw new pN("No implementation is available for the layout phase "+(null!=n.f?n.f:""+n.g)).e}}function naP(n,t,e,i,r){var a;switch(a=0,r.g){case 1:a=nP_.Math.max(0,t.b+n.b-(e.b+i));break;case 3:a=nP_.Math.max(0,-n.b-i);break;case 2:a=nP_.Math.max(0,-n.a-i);break;case 4:a=nP_.Math.max(0,t.a+n.a-(e.a+i))}return a}function naO(n){var t,e;switch(n.b){case -1:return!0;case 0:if((e=n.t)>1||-1==e||(t=nec(n))&&(yP(),t.lk()==njM))return n.b=-1,!0;return n.b=1,!1;default:return!1}}function naC(n,t){var e,i,r;if(nlN(n),0!=n.c||123!=n.a)throw new pH(nlV((T9(),nTD))).e;if(i=n.d,(e=S1(n.i,125,i))<0)throw new pH(nlV((T9(),nTR))).e;return r=Di(n.i,i,e),n.d=e+1,Ht(r,112==t,(512&n.e)==512)}function naI(n){var t,e,i,r,a,c,o;if((i=n.a.c.length)>0)for(c=n.c.d,r=j_(Oj(new MH((o=n.d.d).a,o.b),c),1/(i+1)),a=new MH(c.a,c.b),e=new fU(n.a);e.a<e.c.c.length;)(t=CY(RU(e),250)).d.a=a.a+r.a,t.d.b=a.b+r.b,OT(a,r)}function naA(n,t,e,i,r){var a,c,o,u;return ER(u=PO(n,CY(r,58)))!==ER(r)?(o=CY(n.g[e],76),jH(n,e,nio(n,e,a=Fy(t,u))),TN(n.e)&&(ne4(c=$6(n,9,a.Lk(),r,u,i,!1),new Uh(n.e,9,n.c,o,a,i,!1)),Un(c)),u):r}function naL(n,t){var e,i,r,a;try{return r=n.a,PN(!!(a=(xf(r),r).g)),xf(t),a(t)}catch(r){if(jM(r=Vt(r),33)){try{if(i=nsE(t,nbJ,nl3),e=mP(n.a),i>=0&&i<e.length)return e[i]}catch(n){if(!jM(n=Vt(n),130))throw n.e}return null}throw r.e}}function naN(n,t){var e,i,r;if(r=nff((nrR(),n28),n.Dh(),t))return yP(),CY(r,69).xk()||(r=Rz(Ua(n28,r))),i=CY((e=n.Ih(r))>=0?n.Lh(e,!0,!0):naB(n,r,!0),160),CY(i,220).Wl(t);throw new pN(nET+t.xe()+nEP).e}function nax(n,t){var e,i,r;if(r=0,(i=t[0])>=n.length)return -1;for(Rx(i,n.length),e=n.charCodeAt(i);e>=48&&e<=57&&(r=10*r+(e-48),!(++i>=n.length));)Rx(i,n.length),e=n.charCodeAt(i);return i>t[0]?t[0]=i:r=-1,r}function na$(n){var t,e,i;for(t=null,e=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(n.b||(n.b=new Ox(nL4,n,4,7)),n.b),(n.c||(n.c=new Ox(nL4,n,5,8)),n.c)])));ncv(e);)if(i=niw(CY(_I(e),84)),t){if(t!=i)return!1}else t=i;return!0}function naD(n,t,e){var i;if(++n.j,t>=n.i)throw new pC(nTg+t+nTp+n.i).e;if(e>=n.i)throw new pC(nTm+e+nTp+n.i).e;return i=n.g[e],t!=e&&(t<e?ns8(n.g,t,n.g,t+1,e-t):ns8(n.g,e+1,n.g,e,t-e),NK(n.g,t,i),n.Pi(t,i,e),n.Ni()),i}function naR(n,t,e){var i;if(i=CY(n.c.xc(t),16))if(i.Fc(e))return++n.d,!0;else return!1;if((i=n.ic(t)).Fc(e))return++n.d,n.c.zc(t,i),!0;throw new _N("New Collection violated the Collection spec").e}function naK(n){var t,e,i;return n<0?0:0==n?32:(e=16-(t=(i=-(n>>16))>>16&16),n>>=t,e+=t=(i=n-256)>>16&8,n<<=t,e+=t=(i=n-nwB)>>16&4,n<<=t,e+=t=(i=n-nbk)>>16&2,n<<=t,e+2-(t=(i=n>>14)&~(i>>1)))}function naF(n,t,e){var i,r,a,c;return jM(t,153)&&jM(e,153)?(a=CY(t,153),c=CY(e,153),n.a[a.a][c.a]+n.a[c.a][a.a]):jM(t,250)&&jM(e,250)&&(i=CY(t,250),r=CY(e,250),i.a==r.a)?CY(niK(r.a,(nsK(),nxc)),17).a:0}function na_(n,t){var e,i,r,a,c,o,u,s;for(o=1,s=pj(PI(niK(t,(nlL(),nUN)))),u=n[0].n.a+n[0].o.a+n[0].d.c+s;o<n.length;o++)i=n[o].n,r=n[o].o,e=n[o].d,(a=i.a-e.b-u)<0&&(i.a-=a),(c=t.f).a=nP_.Math.max(c.a,i.a+r.a),u=i.a+r.a+e.c+s}function naB(n,t,e){var i,r,a;if(a=nff((nrR(),n28),n.Dh(),t))return yP(),CY(a,69).xk()||(a=Rz(Ua(n28,a))),r=CY((i=n.Ih(a))>=0?n.Lh(i,!0,!0):naB(n,a,!0),160),CY(r,220).Sl(t,e);throw new pN(nET+t.xe()+nEP).e}function naH(n,t,e,i){var r,a,c,o,u;if(r=n.d[t]){if(a=r.g,u=r.i,null!=i){for(o=0;o<u;++o)if((c=CY(a[o],136)).Bi()==e&&QY(i,c.ld()))return c}else for(o=0;o<u;++o)if(ER((c=CY(a[o],136)).ld())===ER(i))return c}return null}function naU(n,t){if(t<0)throw new pO("Negative exponent").e;if(0==t)return nOA;if(1==t||Yr(n,nOA)||Yr(n,nO$))return n;if(!ncg(n,0)){for(e=1;!ncg(n,e);)++e;return Fh((i=e*t)<nOx.length?nOx[i]:((a=BJ(n4s,nwl,28,(r=i>>5)+1,15,1))[r]=1<<(31&i),new LZ(1,r+1,a)),naU(_A(n,e),t))}var e,i,r,a,c,o,u=t;for(nui(),nuY(),o=nOA,c=n;u>1;u>>=1)(1&u)!=0&&(o=Fh(o,c)),c=1==c.d?Fh(c,c):new ZO(nsC(c.a,c.d,BJ(n4s,nwl,28,c.d<<1,15,1)));return Fh(o,c)}function naG(n){var t,e,i;for(v7(),this.b=nx4,this.c=(Ju(),nY7),this.f=(v9(),nx0),this.a=n,this.e=new tf,noy(this),i=new fU(n.b);i.a<i.c.c.length;)(e=CY(RU(i),86)).d||(t=new ZP(Vw(DY(nI6,1),nl7,86,0,[e])),jB(n.a,t))}function naq(n){var t,e,i,r,a,c;for(TT(c=Kv(n.a),new ea),e=null,r=0,a=c.length;r<a&&(i=c[r]).k==(ni8(),n$g);++r)((t=CY(niK(i,(nlF(),nK_)),64))==(nf5(),n1y)||t==n1n)&&(e&&CY(niK(e,nKW),15).Fc(i),e=i)}function naX(n){var t;if(n.c||null!=n.g){if(null==n.g)return!0;if(0==n.i)return!1;t=CY(n.g[n.i-1],51)}else n.d=n.bj(n.f),B7(n,n.d),t=n.d;return t==n.b&&null.Vm>=null.Um()?(nc0(n),naX(n)):t.Ob()}function naz(n){if(this.a=n,n.c.i.k==(ni8(),n$g))this.c=n.c,this.d=CY(niK(n.c.i,(nlF(),nK_)),64);else if(n.d.i.k==n$g)this.c=n.d,this.d=CY(niK(n.d.i,(nlF(),nK_)),64);else throw new pN("Edge "+n+" is not an external edge.").e}function naV(n,t){var e,i,r;r=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,3,r,n.b)),t?t!=n&&(XC(n,t.zb),G8(n,t.d),qJ(n,null==(e=null==(i=t.c)?t.zb:i)||OB(e,t.zb)?null:e)):(XC(n,null),G8(n,0),qJ(n,null))}function naW(n,t){var e;this.e=(NA(),NP(n),NA(),Y$(n)),this.c=(NP(t),Y$(t)),j5(this.e.Rd().dc()==this.c.Rd().dc()),this.d=JQ(this.e),this.b=JQ(this.c),e=I3(nPa,[nby,nl7],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=e,function(n){var t,e,i,r;for(e=n.a,i=0,r=e.length;i<r;++i)Ni(t=e[i],t.length,null)}(this)}function naQ(n){var t;return nP3||((t=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"])[34]='\\"',t[92]="\\\\",t[173]="\\u00ad",t[1536]="\\u0600",t[1537]="\\u0601",t[1538]="\\u0602",t[1539]="\\u0603",t[1757]="\\u06dd",t[1807]="\\u070f",t[6068]="\\u17b4",t[6069]="\\u17b5",t[8203]="\\u200b",t[8204]="\\u200c",t[8205]="\\u200d",t[8206]="\\u200e",t[8207]="\\u200f",t[8232]="\\u2028",t[8233]="\\u2029",t[8234]="\\u202a",t[8235]="\\u202b",t[8236]="\\u202c",t[8237]="\\u202d",t[8238]="\\u202e",t[8288]="\\u2060",t[8289]="\\u2061",t[8290]="\\u2062",t[8291]="\\u2063",t[8292]="\\u2064",t[8298]="\\u206a",t[8299]="\\u206b",t[8300]="\\u206c",t[8301]="\\u206d",t[8302]="\\u206e",t[8303]="\\u206f",t[65279]="\\ufeff",t[65529]="\\ufff9",t[65530]="\\ufffa",t[65531]="\\ufffb",nP3=t),'"'+n.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(n){var t;return null==(t=nP3[n.charCodeAt(0)])?n:t})+'"'}function naJ(n,t,e,i,r,a){var c,o,u,s;if(0!=r)for(ER(n)===ER(e)&&(n=n.slice(t,t+r),t=0),o=t,u=t+r;o<u;)r=(c=nP_.Math.min(o+1e4,u))-o,(s=n.slice(o,c)).splice(0,0,i,a?r:0),Array.prototype.splice.apply(e,s),o=c,i+=r}function naY(n){var t,e;for($C(),this.b=nCB,this.c=nCU,this.g=(v6(),nC_),this.d=(Ju(),nY7),this.a=n,nov(this),e=new fU(n.b);e.a<e.c.c.length;)(t=CY(RU(e),60)).a||SC(ql(new d3,Vw(DY(nCu,1),nl7,60,0,[t])),n),t.e=new $2(t.d)}function naZ(n){var t,e;if(!n.f)return n.n<n.o;for(;n.n<n.o;){if(jM(e=(t=CY(n.j?n.j.$i(n.n):n.k.Xb(n.n),76)).Lk(),102)&&(CY(e,19).Bb&nEI)!=0&&(!n.e||e.pk()!=nL1||0!=e.Lj())&&null!=t.md())return!0;++n.n}return!1}function na1(){na1=T,n3u=CY(GO($x((mS(),n3f).qb),6),35),n3a=CY(GO($x(n3f.qb),3),35),n3c=CY(GO($x(n3f.qb),4),35),n3o=CY(GO($x(n3f.qb),5),19),neV(n3u),neV(n3a),neV(n3c),neV(n3o),n3s=new pU(Vw(DY(n0V,1),njN,179,0,[n3u,n3a]))}function na0(n,t){var e;this.d=new gd,this.b=t,this.e=new TP(t.Lf()),e=n.u.Hc((nap(),nZ5)),n.u.Hc(nZ6)?n.F?this.a=e&&!t.bg():this.a=!0:n.u.Hc(nZ8)&&e?this.a=!(t.Uf().Kc().Ob()||t.Wf().Kc().Ob()):this.a=!1}function na2(n,t){var e,i,r,a;for(e=n.o.a,a=CY(CY(_G(n.r,t),21),87).Kc();a.Ob();)(r=CY(a.Pb(),117)).e.a=(i=r.b).pf((nl_(),nYm))?i.ag()==(nf5(),n1y)?-i.Mf().a-pj(PI(i.of(nYm))):e+pj(PI(i.of(nYm))):i.ag()==(nf5(),n1y)?-i.Mf().a:e}function na3(n,t){var e,i,r;e=CY(niK(n,(nlL(),nHt)),88),r=CY(ncx(t,nUc),64),(i=CY(niK(n,nUt),101))!=(nie(),nZ1)&&i!=nZ0?r==(nf5(),n1v)&&(r=ns3(t,e))==n1v&&(r=Ya(e)):r=nh5(t)>0?Ya(e):Jw(Ya(e)),nnh(t,nUc,r)}function na4(n,t){var e,i,r,a;n.Pj()?(e=n.Ej(),a=n.Qj(),++n.j,n.qj(e,n.Zi(e,t)),i=n.Ij(3,null,t,e,a),n.Mj()&&(r=n.Nj(t,null))?(r.nj(i),r.oj()):n.Jj(i)):(Nz(n,t),n.Mj()&&(r=n.Nj(t,null))&&r.oj())}function na6(n,t,e){var i,r,a;n.Pj()?(a=n.Qj(),QV(n,t,e),i=n.Ij(3,null,e,t,a),n.Mj()?(r=n.Nj(e,null),n.Tj()&&(r=n.Uj(e,r)),r?(r.nj(i),r.oj()):n.Jj(i)):n.Jj(i)):(QV(n,t,e),n.Mj()&&(r=n.Nj(e,null))&&r.oj())}function na5(n,t){var e,i,r,a,c;for(c=nox(n.e.Dh(),t),r=new oW,e=CY(n.g,124),a=n.i;--a>=0;)i=e[a],c.am(i.Lk())&&B7(r,i);!nlf(n,r)&&TN(n.e)&&dq(n,t.Jk()?$6(n,6,t,($O(),nO_),null,-1,!1):$6(n,t.tk()?2:1,t,null,null,-1,!1))}function na8(n){var t,e,i,r,a,c;for(Re(),e=new FF,i=new fU(n.e.b);i.a<i.c.c.length;)for(a=new fU(CY(RU(i),30).a);a.a<a.c.c.length;)r=CY(RU(a),10),(t=CY(UC(e,c=n.g[r.p]),15))||Zq(e,c,t=new du),t.Fc(r);return e}function na9(n){var t;return(64&n.Db)!=0?ncG(n):(t=new Sm(ncG(n)),t.a+=" (startX: ",mA(t,n.j),t.a+=", startY: ",mA(t,n.k),t.a+=", endX: ",mA(t,n.b),t.a+=", endY: ",mA(t,n.c),t.a+=", identifier: ",EW(t,n.d),t.a+=")",t.a)}function na7(n){var t,e,i;return(64&n.Db)!=0?QG(n):(t=new Sm(QG(n)),t.a+=" (ordered: ",mL(t,(256&n.Bb)!=0),t.a+=", unique: ",mL(t,(512&n.Bb)!=0),t.a+=", lowerBound: ",e=n.s,t.a+=e,t.a+=", upperBound: ",i=n.t,t.a+=i,t.a+=")",t.a)}function ncn(n,t,e,i,r,a,c,o){var u;return jM(n.Cb,90)&&nar(_v(CY(n.Cb,90)),4),XC(n,e),n.f=i,Jy(n,r),JM(n,a),Jv(n,c),Jk(n,!1),Q5(n,!0),JD(n,o),Q3(n,!0),G6(n,0),n.b=0,G5(n,1),(u=niM(n,t,null))&&u.oj(),Jx(n,!1),n}function nct(n,t,e){var i,r,a,c,o;for(i=0,o=e,t||(i=e*(n.c.length-1),o*=-1),a=new fU(n);a.a<a.c.c.length;){for(VD(r=CY(RU(a),10),(nlL(),nBR),(nnS(),nQ9)),r.o.a=i,c=nrs(r,(nf5(),n1n)).Kc();c.Ob();)CY(c.Pb(),12).n.a=i;i+=o}}function nce(n,t,e){var i,r,a;return(a=n.pl(e))==e?e:(r=n.g[t],jH(n,t,n.Zi(t,a)),n.Ri(t,a,r),n.al()&&(i=n.Oj(e,null),CY(a,54).Ph()||(i=n.Nj(a,i)),i&&i.oj()),TN(n.e)&&dq(n,n.Ij(9,e,a,t,!1)),a)}function nci(n,t){var e;if(0!=n.c.length){if(2==n.c.length)nhE((RN(0,n.c.length),CY(n.c[0],10)),(ntG(),nZC)),nhE((RN(1,n.c.length),CY(n.c[1],10)),nZI);else for(e=new fU(n);e.a<e.c.c.length;)nhE(CY(RU(e),10),t);n.c.length=0}}function ncr(n){var t,e,i,r,a;if(e=new O9(t=CY(mP(nLq),9),CY(Oc(t,t.length),9),0),a=CY(niK(n,(nlF(),nFi)),10))for(r=new fU(a.j);r.a<r.c.c.length;)ER(niK(i=CY(RU(r),12),nK6))===ER(n)&&SR(new _4(i.b))&&Xf(e,i.j);return e}function nca(n){var t;switch(t=0,n){case 105:t=2;break;case 109:t=8;break;case 115:t=4;break;case 120:t=16;break;case 117:t=32;break;case 119:t=64;break;case 70:t=256;break;case 72:t=128;break;case 88:t=512;break;case 44:t=nbB}return t}function ncc(n,t){0!=t.b&&(isNaN(n.s)?n.s=pj((Px(0!=t.b),PI(t.a.a.c))):n.s=nP_.Math.min(n.s,pj((Px(0!=t.b),PI(t.a.a.c)))),isNaN(n.c)?n.c=pj((Px(0!=t.b),PI(t.c.b.c))):n.c=nP_.Math.max(n.c,pj((Px(0!=t.b),PI(t.c.b.c)))))}function nco(n){var t,e,i;for(t=null,e=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(n.b||(n.b=new Ox(nL4,n,4,7)),n.b),(n.c||(n.c=new Ox(nL4,n,5,8)),n.c)])));ncv(e);)if(i=niw(CY(_I(e),84)),t){if(t!=DV(i))return!0}else t=DV(i);return!1}function ncu(n,t){var e,i,r,a;n.Pj()?(e=n.i,a=n.Qj(),_F(n,t),i=n.Ij(3,null,t,e,a),n.Mj()?(r=n.Nj(t,null),n.Tj()&&(r=n.Uj(t,r)),r?(r.nj(i),r.oj()):n.Jj(i)):n.Jj(i)):(_F(n,t),n.Mj()&&(r=n.Nj(t,null))&&r.oj())}function ncs(n){var t,e,i,r,a;return(a=n.Ph())&&a.Vh()&&(r=Qk(n,a))!=a?(e=n.Fh(),i=(t=n.Fh())>=0?n.Ah(null):n.Ph().Th(n,-1-t,null,null),n.Bh(CY(r,54),e),i&&i.oj(),n.vh()&&n.wh()&&e>-1&&zP(n,new LM(n,9,e,a,r)),r):a}function nch(n,t){var e,i,r,a,c;for(c=0,a=n.b.Ce(t),i=null==(e=n.a.get(a))?BJ(nPa,nl7,1,0,5,1):e;c<i.length;c++)if(r=i[c],n.b.Be(t,r.ld())){if(1==i.length){i.length=0;var o=n.a;o[nw5].call(o,a)}else i.splice(c,1);return--n.c,++n.b.g,r.md()}return null}function ncf(n){var t,e,i,r,a,c,o;for(e=0,a=0,r=n.f.e;e<r.c.length;++e)for(RN(e,r.c.length),c=CY(r.c[e],153),i=e+1;i<r.c.length;++i)RN(i,r.c.length),o=CY(r.c[i],153),t=Hr(c.d,o.d)-n.a[c.a][o.a],a+=n.i[c.a][o.a]*t*t;return a}function ncl(){ncl=T,nXH=new To(ny8,(SB(),!1)),nXU=new To(ny9,7),Qx(0),nXW=new To(ny7,Qx(0)),nXX=new To(nkn,Qx(-1)),WV(),nXQ=new To(nkt,nXJ=nzM),Wv(),nXG=new To(nke,nXq=nXf),RI(),nXz=new To(nki,nXV=nzj)}function ncb(){ni$.call(this,nE_,(mk(),n18)),this.p=null,this.a=null,this.f=null,this.n=null,this.g=null,this.c=null,this.i=null,this.j=null,this.d=null,this.b=null,this.e=null,this.k=null,this.o=null,this.s=null,this.q=!1,this.r=!1}function ncw(){ncw=T,n0M=new Ek(nmg,0),n0v=new Ek("INSIDE_SELF_LOOPS",1),n0y=new Ek("MULTI_EDGES",2),n0m=new Ek("EDGE_LABELS",3),n0k=new Ek("PORTS",4),n0g=new Ek("COMPOUND",5),n0d=new Ek("CLUSTERS",6),n0p=new Ek("DISCONNECTED",7)}function ncd(n,t,e){var i,r,a;n.Pj()?(a=n.Qj(),++n.j,n.qj(t,n.Zi(t,e)),i=n.Ij(3,null,e,t,a),n.Mj()&&(r=n.Nj(e,null))?(r.nj(i),r.oj()):n.Jj(i)):(++n.j,n.qj(t,n.Zi(t,e)),n.Mj()&&(r=n.Nj(e,null))&&r.oj())}function ncg(n,t){var e,i,r;if(0==t)return(1&n.a[0])!=0;if(t<0)throw new pO("Negative bit address").e;if((r=t>>5)>=n.d)return n.e<0;if(e=n.a[r],t=1<<(31&t),n.e<0){if(r<(i=zn(n)))return!1;e=i==r?-e:~e}return(e&t)!=0}function ncp(n,t){var e,i,r,a,c,o,u;if(a=t.e){for(c=0,e=ncs(a),i=CY(n.g,689);c<n.i;++c)if(nnX(u=i[c])==e&&(u.d||(u.d=new jU(n00,u,1)),r=u.d,(o=CY(e.Mh(nst(a,a.Cb,a.Db>>16)),15).dd(a))<r.i))return ncp(n,CY(GO(r,o),89))}return t}function ncm(n,t,e){var i,r=nPH,a=r[n],c=a instanceof Array?a[0]:null;a&&!c?nPB=a:((i=t&&t.prototype)||(i=nPH[t]),(nPB=function(n){function t(){}return t.prototype=n||{},new t}(i)).Sm=e,t||(nPB.Tm=E),r[n]=nPB);for(var o=3;o<arguments.length;++o)arguments[o].prototype=nPB;c&&(nPB.Rm=c)}function ncv(n){for(var t;!CY(NP(n.a),51).Ob();){if(n.d=function(n){for(;!n.d||!n.d.Ob();)if(!n.b||pq(n.b))return null;else n.d=CY(LG(n.b),51);return n.d}(n),!n.d)return!1;if(n.a=CY(n.d.Pb(),51),jM(n.a,38)){if(t=CY(n.a,38),n.a=t.a,n.b||(n.b=new j1),K3(n.b,n.d),t.b)for(;!pq(t.b);)K3(n.b,CY(function(n){var t;return Px(null!=(t=function(n){var t;return null==(t=n.a[n.c-1&n.a.length-1])?null:(n.c=n.c-1&n.a.length-1,NK(n.a,n.c,null),t)}(n))),t}(t.b),51));n.d=t.d}}return!0}function ncy(n){var t,e,i,r,a;if(a=nsN(n,r=new du),t=CY(niK(n,(nlF(),nFi)),10))for(i=new fU(t.j);i.a<i.c.c.length;)ER(niK(e=CY(RU(i),12),nK6))===ER(n)&&(a=nP_.Math.max(a,nsN(e,r)));return 0==r.c.length||VD(n,nK3,a),-1!=a?r:null}function nck(n,t,e){var i,r,a,c,o,u;r=(i=(a=CY(I0(t.e,0),18).c).i).k,o=(c=(u=CY(I0(e.g,0),18).d).i).k,r==(ni8(),n$m)?VD(n,(nlF(),nK1),CY(niK(i,nK1),12)):VD(n,(nlF(),nK1),a),o==n$m?VD(n,(nlF(),nK0),CY(niK(c,nK0),12)):VD(n,(nlF(),nK0),u)}function ncM(n){var t,e,i;this.c=n,i=CY(niK(n,(nlL(),nHt)),88),t=pj(PI(niK(n,nBF))),e=pj(PI(niK(n,nUH))),i==(Ju(),nY8)||i==nY9||i==nY7?this.b=t*e:this.b=1/(t*e),this.j=pj(PI(niK(n,nUI))),this.e=pj(PI(niK(n,nUC))),this.f=n.b.c.length}function ncE(n,t){var e,i,r,a,c;return t&=63,(i=((e=n.h)&nwI)!=0)&&(e|=-1048576),t<22?(c=e>>t,a=n.m>>t|e<<22-t,r=n.l>>t|n.m<<22-t):t<44?(c=i?nwC:0,a=e>>t-22,r=n.m>>t-22|e<<44-t):(c=i?nwC:0,a=i?nwO:0,r=e>>t-44),js(r&nwO,a&nwO,c&nwC)}function ncT(n){var t,e,i,r,a,c;for(this.c=new du,this.d=n,i=nwF,r=nwF,t=nw_,e=nw_,c=ZQ(n,0);c.b!=c.d.c;)a=CY(K0(c),8),i=nP_.Math.min(i,a.a),r=nP_.Math.min(r,a.b),t=nP_.Math.max(t,a.a),e=nP_.Math.max(e,a.b);this.a=new x4(i,r,t-i,e-r)}function ncj(n,t){var e,i,r,a;for(i=new fU(n.b);i.a<i.c.c.length;)for(a=new fU(CY(RU(i),30).a);a.a<a.c.c.length;)for((r=CY(RU(a),10)).k==(ni8(),n$p)&&nhE(r,t),e=new Le(Sb(JV(r).a.Kc(),new s));ncv(e);)Vu(CY(_I(e),18),t)}function ncS(n,t,e){switch(t){case 7:n.e||(n.e=new Ox(nL6,n,7,4)),nft(n.e),n.e||(n.e=new Ox(nL6,n,7,4)),Nu(n.e,CY(e,16));return;case 8:n.d||(n.d=new Ox(nL6,n,8,5)),nft(n.d),n.d||(n.d=new Ox(nL6,n,8,5)),Nu(n.d,CY(e,16));return}neF(n,t,e)}function ncP(n,t){var e,i,r,a,c;if(ER(t)===ER(n))return!0;if(!jM(t,15)||(c=CY(t,15),n.gc()!=c.gc()))return!1;for(a=c.Kc(),i=n.Kc();i.Ob();)if(e=i.Pb(),r=a.Pb(),!(ER(e)===ER(r)||null!=e&&QY(e,r)))return!1;return!0}function ncO(n){switch(n.g){case 0:return new hk;case 1:return new hv;case 2:return new hy;case 3:return new Ma;case 4:return new AF;default:throw new pN("No implementation is available for the node placer "+(null!=n.f?n.f:""+n.g)).e}}function ncC(n){switch(n.g){case 0:return new AK;case 1:return new ho;case 2:return new hc;case 3:return new hr;case 4:return new E0;default:throw new pN("No implementation is available for the cycle breaker "+(null!=n.f?n.f:""+n.g)).e}}function ncI(n){var t,e,i,r,a;if(r=CY(FB(DJ(RD(n)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),i=ngK,r.gc()>=2)for(t=PI((e=r.Kc()).Pb());e.Ob();)a=t,t=PI(e.Pb()),i=nP_.Math.min(i,(xf(t),t-(xf(a),a)));return i}function ncA(n,t,e){var i,r,a,c,o;if((r=n.f)||(r=CY(n.a.a.ec().Kc().Pb(),60)),neh(r,t,e),1!=n.a.a.gc())for(i=t*e,c=n.a.a.ec().Kc();c.Ob();)(a=CY(c.Pb(),60))!=r&&((o=K7(a)).f.d?(a.d.d+=i+nd5,a.d.a-=i+nd5):o.f.a&&(a.d.a-=i+nd5))}function ncL(n,t,e,i,r){var a,c,o,u,s,h,f;return c=(a=nP_.Math.atan2(e-n,i-t))+ngR,o=a-ngR,u=r*nP_.Math.sin(c)+n,h=r*nP_.Math.cos(c)+t,s=r*nP_.Math.sin(o)+n,f=r*nP_.Math.cos(o)+t,_q(Vw(DY(nLA,1),nby,8,0,[new MH(u,h),new MH(s,f)]))}function ncN(n,t){var e;if(t.Ug("Equal Whitespace Eliminator",1),Bz(n,(nuI(),nVX)))!function(n,t,e){var i,r,a,c;for(i=e/n.gc(),r=0,c=n.Kc();c.Ob();)W7(a=CY(c.Pb(),186),a.f+i*r),function(n,t,e){var i,r,a,c,o;for(r=(t-n.e)/n.d.c.length,a=0,o=new fU(n.d);o.a<o.c.c.length;)c=CY(RU(o),315),i=n.b-c.b+e,YQ(c,c.e+a*r,c.f),function(n,t,e){var i,r,a,c;for(c=0,i=e/n.a.c.length,a=new fU(n.a);a.a<a.c.c.length;)nnL(r=CY(RU(a),172),r.s,r.t+c*i),function(n,t,e){var i,r,a,c;for(c=n.r+t,n.r+=t,n.d+=e,i=e/n.n.c.length,r=0,a=new fU(n.n);a.a<a.c.c.length;)(function(n,t,e,i){var r,a,c,o,u,s,h,f;for(r=(t-n.d)/n.c.c.length,a=0,n.a+=e,n.d=t,f=new fU(n.c);f.a<f.c.c.length;)s=(h=CY(RU(f),27)).g,u=h.f,GZ(h,h.i+a*r),G1(h,h.j+i*e),GY(h,h.g+r),GJ(h,n.a),++a,o=h.g,c=h.f,nr6(h,new MH(o,c),new MH(s,u))})(CY(RU(a),209),c,i,r),++r}(r,n.d-r.r+t,i),++c}(c,r,i),++a}(a,t,i),++r}(CY(ncx(n,nVX),15),pj(PI(ncx(n,nVF))),(e=pj(PI(ncx(n,nVR))),pj(PI(ncx(n,(nuu(),nWM)))),e));else throw new pK("The graph does not contain rows.").e;t.Vg()}function ncx(n,t){var e,i;return(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),null!=(i=YH(n.o,t)))?i:(jM(e=t.Sg(),4)&&(null==e?(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),Zl(n.o,t)):(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),nej(n.o,t,e))),e)}function nc$(){nc$=T,nZ$=new MZ("H_LEFT",0),nZx=new MZ("H_CENTER",1),nZR=new MZ("H_RIGHT",2),nZH=new MZ("V_TOP",3),nZB=new MZ("V_CENTER",4),nZ_=new MZ("V_BOTTOM",5),nZK=new MZ("INSIDE",6),nZF=new MZ("OUTSIDE",7),nZD=new MZ("H_PRIORITY",8)}function ncD(n,t){var e,i,r,a,c,o,u;return(c=(a=t.a).c.i==t.b?a.d:a.c,i=a.c.i==t.b?a.c:a.d,o=n.a,u=pj(o.p[c.i.p])+pj(o.d[c.i.p])+c.n.b+c.a.b,(r=pj(o.p[i.i.p])+pj(o.d[i.i.p])+i.n.b+i.a.b-u)>0&&r<ngK)?(e=function(n,t,e,i){var r,a,c,o,u,s,h;r=e,a=t;do a=n.a[a.p],h=n.g[a.p],o=pj(n.p[h.p])+pj(n.d[a.p])-a.d.d,(u=function(n,t){var e,i;return(e=n.c,(i=t.e[n.p])>0)?CY(I0(e.a,i-1),10):null}(a,i))&&(s=n.g[u.p],c=pj(n.p[s.p])+pj(n.d[u.p])+u.o.b+u.d.a,r=nP_.Math.min(r,o-(c+jh(n.k,a,u))));while(t!=a)return r}(n.a,i.i,r,n.c),GS(n.a,i.i,-e),e>0):r<0&&-r<ngK&&(e=function(n,t,e,i){var r,a,c,o,u,s,h;r=e,a=t;do a=n.a[a.p],h=n.g[a.p],c=pj(n.p[h.p])+pj(n.d[a.p])+a.o.b+a.d.a,(u=function(n,t){var e,i;return(e=n.c,(i=t.e[n.p])<e.a.c.length-1)?CY(I0(e.a,i+1),10):null}(a,i))&&(s=n.g[u.p],o=pj(n.p[s.p])+pj(n.d[u.p])-u.d.d,r=nP_.Math.min(r,o-(c+jh(n.k,a,u))));while(t!=a)return r}(n.a,i.i,-r,n.c),GS(n.a,i.i,e),e>0)}function ncR(n){var t,e,i,r,a,c,o;for(i=nwF,e=nw_,t=new fU(n.e.b);t.a<t.c.c.length;)for(a=new fU(CY(RU(t),30).a);a.a<a.c.c.length;)r=CY(RU(a),10),c=(o=pj(n.p[r.p]))+pj(n.b[n.g[r.p].p]),i=nP_.Math.min(i,o),e=nP_.Math.max(e,c);return e-i}function ncK(n,t,e,i){var r,a,c,o,u,s;for(o=0,u=null,s=(r=nsr(n,t)).gc();o<s;++o)if(OB(i,xK(Ua(n,a=CY(r.Xb(o),179)))))if(c=xF(Ua(n,a)),null==e)if(null==c)return a;else u||(u=a);else{if(OB(e,c))return a;null!=c||u||(u=a)}return null}function ncF(n,t,e,i){var r,a,c,o,u,s;for(o=0,u=null,s=(r=nsa(n,t)).gc();o<s;++o)if(OB(i,xK(Ua(n,a=CY(r.Xb(o),179)))))if(c=xF(Ua(n,a)),null==e)if(null==c)return a;else u||(u=a);else{if(OB(e,c))return a;null!=c||u||(u=a)}return null}function nc_(n){var t,e,i,r,a,c,o;if(n&&(t=n.qi(njz))&&null!=(c=PA(YH((t.b||(t.b=new Pd((nlq(),n2S),n07,t)),t.b),"conversionDelegates")))){for(o=new du,i=ns7(c,"\\w+"),r=0,a=i.length;r<a;++r)e=i[r],dk(o.c,e);return o}return $O(),$O(),nO_}function ncB(n,t){var e,i,r,a,c,o;for(a=(1==t?nx3:nx2).a.ec().Kc();a.Ob();)for(r=CY(a.Pb(),88),o=CY(_G(n.f.c,r),21).Kc();o.Ob();)switch(c=CY(o.Pb(),42),i=CY(c.b,86),e=CY(c.a,194).c,r.g){case 2:case 1:i.g.d+=e;break;case 4:case 3:i.g.c+=e}}function ncH(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(a=t.Kc();a.Ob();)h=(r=CY(a.Pb(),27)).i+r.g/2,l=r.j+r.f/2,c=(u=n.f).i+u.g/2,o=u.j+u.f/2,s=h-c,f=l-o,i=nP_.Math.sqrt(s*s+f*f),s*=n.e/i,f*=n.e/i,e?(h-=s,l-=f):(h+=s,l+=f),GZ(r,h-r.g/2),G1(r,l-r.f/2)}function ncU(n){var t,e,i;if(!n.c&&null!=n.b){for(t=n.b.length-4;t>=0;t-=2)for(e=0;e<=t;e+=2)(n.b[e]>n.b[e+2]||n.b[e]===n.b[e+2]&&n.b[e+1]>n.b[e+3])&&(i=n.b[e+2],n.b[e+2]=n.b[e],n.b[e]=i,i=n.b[e+3],n.b[e+3]=n.b[e+1],n.b[e+1]=i);n.c=!0}}function ncG(n){var t;return t=new Sv(mI(n.Rm)),t.a+="@",EY(t,(XS(n)>>>0).toString(16)),n.Vh()?(t.a+=" (eProxyURI: ",EJ(t,n._h()),n.Kh()&&(t.a+=" eClass: ",EJ(t,n.Kh())),t.a+=")"):n.Kh()&&(t.a+=" (eClass: ",EJ(t,n.Kh()),t.a+=")"),t.a}function ncq(n){var t,e,i;if(n.e)throw new px((PL(nCs),ndS+nCs.k+ndP)).e;for(n.d==(Ju(),nY7)&&nfX(n,nY8),e=new fU(n.a.a);e.a<e.c.c.length;)(t=CY(RU(e),316)).g=t.i;for(i=new fU(n.a.b);i.a<i.c.c.length;)CY(RU(i),60).i=nw_;return n.b.cf(n),n}function ncX(n,t,e,i){var r,a,c,o,u;if(null!=i){if(r=n.d[t]){for(o=0,a=r.g,u=r.i;o<u;++o)if((c=CY(a[o],136)).Bi()==e&&QY(i,c.ld()))return o}}else if(r=n.d[t]){for(o=0,a=r.g,u=r.i;o<u;++o)if(ER((c=CY(a[o],136)).ld())===ER(i))return o}return -1}function ncz(n,t){var e,i;return jM(e=null==t?ED(Aj(n.f,null)):yD(n.i,t),241)?((i=CY(e,241)).zi(),i):jM(e,507)?((i=CY(e,2037).a)&&(null==i.yb||(null==t?nr3(n.f,null,i):JI(n.i,t,i))),i):null}function ncV(n,t,e){var i,r,a;for(i=1;i<n.c.length;i++){for(RN(i,n.c.length),a=CY(n.c[i],10),r=i;r>0&&t.Ne((RN(r-1,n.c.length),CY(n.c[r-1],10)),a)>0;)_o(n,r,(RN(r-1,n.c.length),CY(n.c[r-1],10))),--r;RN(r,n.c.length),n.c[r]=a}e.a=new dc,e.b=new dc}function ncW(n,t,e){var i;if((n.c-n.b&n.a.length-1)==2)t==(nf5(),n1t)||t==n1n?(Gu(CY(VJ(n),15),(ntG(),nZC)),Gu(CY(VJ(n),15),nZI)):(Gu(CY(VJ(n),15),(ntG(),nZI)),Gu(CY(VJ(n),15),nZC));else for(i=new xU(n);i.a!=i.b;)Gu(CY(Qd(i),15),e)}function ncQ(n,t,e){var i,r,a,c;RY(n,t)>RY(n,e)?(n.d=(i=JH(e,(nf5(),n1n))).dc()?0:I$(CY(i.Xb(0),12)),n.b=(c=JH(t,n1y)).dc()?0:I$(CY(c.Xb(0),12))):(n.d=(r=JH(e,(nf5(),n1y))).dc()?0:I$(CY(r.Xb(0),12)),n.b=(a=JH(t,n1n)).dc()?0:I$(CY(a.Xb(0),12)))}function ncJ(n,t){var e,i,r,a;for(e=n.o.a,a=CY(CY(_G(n.r,t),21),87).Kc();a.Ob();)(r=CY(a.Pb(),117)).e.a=e*pj(PI(r.b.of(nIF))),r.e.b=(i=r.b).pf((nl_(),nYm))?i.ag()==(nf5(),n1t)?-i.Mf().b-pj(PI(i.of(nYm))):pj(PI(i.of(nYm))):i.ag()==(nf5(),n1t)?-i.Mf().b:0}function ncY(n,t,e){var i,r,a,c,o,u;for(q5(r=new o2,(xf(t),t)),r.b||(r.b=new Pd((nlq(),n2S),n07,r)),o=r.b,c=1;c<e.length;c+=2)nej(o,e[c-1],e[c]);for(n.Ab||(n.Ab=new Lk(n0X,n,0,3)),i=n.Ab,a=0;a<0;++a)(u=CY(GO(i,i.i-1),598)).a||(u.a=new jU(nLZ,u,4)),i=u.a;B7(i,r)}function ncZ(n,t,e){var i,r,a,c,o;for(P7.call(this,new du),this.a=t,this.b=e,this.e=n,n.b&&nhN(n),i=n.a,this.d=x1(i.a,this.a),this.c=x1(i.b,this.b),c=this.d,this.n=I3(n4f,[nby,nwH],[376,28],14,[o=this.c,Dy(nP_.Math.ceil(c/32))],2),this.o=c,this.p=o,this.j=c-1>>1,this.k=o-1>>1,!function(n){var t,e,i,r,a,c,o;for(o=0,e=TY(n.e),a=j_(Pf(jv(TJ(n.e)),n.d*n.a,n.c*n.b),-.5),t=e.a-a.a,r=e.b-a.b;o<n.c;o++){for(c=0,i=t;c<n.d;c++)(function(n,t){var e,i;for(i=n.e.a.ec().Kc();i.Ob();)if(function(n,t){var e,i,r,a;if(nue(),t.b<2)return!1;for(i=e=CY(K0(a=ZQ(t,0)),8);a.b!=a.d.c;){if(now(n,i,r=CY(K0(a),8)))return!0;i=r}return!!now(n,i,e)}(t,(e=CY(i.Pb(),272)).d)||function(n,t){var e,i,r,a;if(nue(),t.b<2)return!1;for(i=e=CY(K0(a=ZQ(t,0)),8);a.b!=a.d.c;){if(r=CY(K0(a),8),!(za(n,i)&&za(n,r)))return!1;i=r}return!!(za(n,i)&&za(n,e))}(t,e.d))return!0;return!1})(n.e,new x4(i,r,n.a,n.b))&&nuU(n,c,o,!1,!0),i+=n.a;r+=n.b}}(this),a=this.e.e.a.ec().Kc();a.Ob();)(r=CY(a.Pb(),272)).c.c.length>0&&function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(s=t.c,r=TY(n.e),f=j_(Pf(jv(TJ(n.e)),n.d*n.a,n.c*n.b),-.5),e=r.a-f.a,i=r.b-f.b,e=(c=t.a).c-e,i=c.d-i,u=new fU(s);u.a<u.c.c.length;){switch(b=e+(l=(o=CY(RU(u),407)).b).a,g=i+l.b,w=Dy(b/n.a),p=Dy(g/n.b),(a=o.a).g){case 0:nno(),h=nIX;break;case 1:nno(),h=nIq;break;case 2:nno(),h=nIz;break;default:nno(),h=nIV}a.a?(m=Dy((g+o.c)/n.b),jB(n.f,new Cl(h,Qx(p),Qx(m))),a==(nnc(),nNk)?VA(n,0,p,w,m):VA(n,w,p,n.d-1,m)):(d=Dy((b+o.c)/n.a),jB(n.f,new Cl(h,Qx(w),Qx(d))),a==(nnc(),nNv)?VA(n,w,0,d,p):VA(n,w,p,d,n.c-1))}}(this,r)}function nc1(n,t,e){var i,r,a;for(a=new fU(n.t);a.a<a.c.c.length;)(i=CY(RU(a),274)).b.s<0&&i.c>0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&IA(t,i.b));for(r=new fU(n.i);r.a<r.c.c.length;)(i=CY(RU(r),274)).a.s<0&&i.c>0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&IA(e,i.a))}function nc0(n){var t,e,i;if(null==n.g&&(n.d=n.bj(n.f),B7(n,n.d),n.c))return n.f;if(i=(t=CY(n.g[n.i-1],51)).Pb(),n.e=t,(e=n.bj(i)).Ob())n.d=e,B7(n,e);else for(n.d=null;!t.Ob()&&(NK(n.g,--n.i,null),0!=n.i);)t=CY(n.g[n.i-1],51);return i}function nc2(n){var t,e,i,r,a,c;for(t=0,e=new fU(n.a);e.a<e.c.c.length;)for(r=new Le(Sb(JV(CY(RU(e),10)).a.Kc(),new s));ncv(r);)n==(i=CY(_I(r),18)).d.i.c&&i.c.j==(nf5(),n1y)&&(a=RO(i.c).b,c=RO(i.d).b,t=nP_.Math.max(t,nP_.Math.abs(c-a)));return t}function nc3(n,t,e){var i,r,a,c,o,u,s;switch(e.Ug("ELK Force",1),pT(PC(ncx(t,(nsK(),nxt))))||Dv(new lh((yv(),new py(t)))),(u=CY(niK(o=c=VR(t),(nsK(),nxo)),17))?0==(s=u.a)?VD(o,(Xo(),nxM),new Yl):VD(o,(Xo(),nxM),new FG(s)):VD(o,(Xo(),nxM),new FG(1)),CY(niK(c,nN5),432).g){case 0:jM(n.b,641)||(n.b=new zk);break;case 1:jM(n.b,642)||(n.b=new Im)}for(r=(a=nhi(n.a,c)).Kc();r.Ob();)i=CY(r.Pb(),235),function(n,t,e){var i,r,a,c,o,u,s,h;for(e.Ug(ngX,1),n.vf(t),a=0;n.xf(a)&&!e.$g();){for(n.wf(),h=LF(qb(Vw(DY(nPs,1),nl7,20,0,[t.e,t.d,t.b])));ncv(h);)for(u=CY(_I(h),309),o=LF(qb(Vw(DY(nPs,1),nl7,20,0,[t.e,t.d,t.b])));ncv(o);)(c=CY(_I(o),309))!=u&&(r=n.uf(c,u))&&OT(u.c,r);for(s=LF(qb(Vw(DY(nPs,1),nl7,20,0,[t.e,t.d,t.b])));ncv(s);)nrp(i=(u=CY(_I(s),309)).c,-n.d,-n.d,n.d,n.d),OT(u.d,i),i.a=0,i.b=0;++a}e.Vg()}(n.b,i,e.eh(1/a.gc()));nlp(c=nlr(a)),e.Vg()}function nc4(n,t,e){switch(e.g){case 1:return new MH(t.a,nP_.Math.min(n.d.b,t.b));case 2:return new MH(nP_.Math.max(n.c.a,t.a),t.b);case 3:return new MH(t.a,nP_.Math.max(n.c.b,t.b));case 4:return new MH(nP_.Math.min(t.a,n.d.a),t.b)}return new MH(t.a,t.b)}function nc6(n){var t,e,i;for(jB(t=SY(1+(!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c).i),(n.d||(n.d=new Ox(nL6,n,8,5)),n.d)),i=new j2((!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c));i.e!=i.i.gc();)jB(t,((e=CY(Z6(i),123)).d||(e.d=new Ox(nL6,e,8,5)),e.d));return NP(t),new TO(t)}function nc5(n){var t,e,i;for(jB(t=SY(1+(!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c).i),(n.e||(n.e=new Ox(nL6,n,7,4)),n.e)),i=new j2((!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c));i.e!=i.i.gc();)jB(t,((e=CY(Z6(i),123)).e||(e.e=new Ox(nL6,e,7,4)),e.e));return NP(t),new TO(t)}function nc8(n,t){var e,i,r,a;return(r=n.a*nw7+1502*n.b,a=n.b*nw7+11,r+=e=nP_.Math.floor(a*ndn),a-=e*ndt,n.a=r%=ndt,n.b=a,t<=24)?nP_.Math.floor(n.a*nO0[t]):((i=n.a*(1<<t-24)+nP_.Math.floor(n.b*nO2[t]))>=0x80000000&&(i-=0x100000000),i)}function nc9(n,t,e){var i,r,a,c,o,u,s;for(a=new du,function(n,t,e,i){var r,a,c,o,u,s,h;for(o=-1,h=new fU(n);h.a<h.c.c.length;)(s=CY(RU(h),118)).g=o--,r=AW(KD(xW(xX(new Aa(null,new R$(s.f,16)),new al),new ab)).d),a=AW(KD(xW(xX(new Aa(null,new R$(s.k,16)),new aw),new ad)).d),c=r,u=a,i||(c=AW(KD(xW(new Aa(null,new R$(s.f,16)),new ag)).d),u=AW(KD(xW(new Aa(null,new R$(s.k,16)),new ah)).d)),s.d=c,s.a=r,s.i=u,s.b=a,0==u?F_(e,s,e.c.b,e.c):0==c&&F_(t,s,t.c.b,t.c)}(n,s=new vq,c=new vq,t),function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(v=CQ(n),u=new du,s=(a=n.c.length)-1,h=a+1;0!=v.a.gc();){for(;0!=e.b;)Px(0!=e.b),p=CY(Gy(e,e.a.a),118),v.a.Bc(p),p.g=s--,ns5(p,t,e,i);for(;0!=t.b;)Px(0!=t.b),m=CY(Gy(t,t.a.a),118),v.a.Bc(m),m.g=h++,ns5(m,t,e,i);for(o=nbJ,d=v.a.ec().Kc();d.Ob();){if(w=CY(d.Pb(),118),!i&&w.b>0&&w.a<=0){u.c.length=0,dk(u.c,w);break}(b=w.i-w.d)>=o&&(b>o&&(u.c.length=0,o=b),dk(u.c,w))}0!=u.c.length&&(c=CY(I0(u,nnC(r,u.c.length)),118),v.a.Bc(c),c.g=h++,ns5(c,t,e,i),u.c.length=0)}for(g=n.c.length+1,l=new fU(n);l.a<l.c.c.length;)(f=CY(RU(l),118)).g<a&&(f.g=f.g+g)}(n,s,c,t,e),u=new fU(n);u.a<u.c.c.length;)for(r=new fU((o=CY(RU(u),118)).k);r.a<r.c.c.length;)i=CY(RU(r),132),(!t||i.c==(Bw(),nqz))&&o.g>i.b.g&&dk(a.c,i);return a}function nc7(n,t,e){var i,r,a;if(a=nff((nrR(),n28),n.Dh(),t)){if(yP(),!CY(a,69).xk()&&!(a=Rz(Ua(n28,a))))throw new pN(nET+t.xe()+nEj).e;r=CY((i=n.Ih(a))>=0?n.Lh(i,!0,!0):naB(n,a,!0),160),CY(r,220).Xl(t,e)}else throw new pN(nET+t.xe()+nEj).e}function non(n,t){var e,i,r,a;if(!t)return null;for(a=!(r=jM(n.Cb,90)||jM(n.Cb,102))&&jM(n.Cb,331),e=new j2((!t.a&&(t.a=new Ap(t,n00,t)),t.a));e.e!=e.i.gc();)if(i=nsW(CY(Z6(e),89)),r?jM(i,90):a?jM(i,156):!!i)return i;return r?(nlq(),n2y):(nlq(),n2p)}function not(n){var t,e,i,r;if(!n.j){if(r=new o7,null==(t=n2L).a.zc(n,t)){for(i=new j2($7(n));i.e!=i.i.gc();)Nu(r,not(e=CY(Z6(i),29))),B7(r,e);t.a.Bc(n)}WG(r),n.j=new Tu((CY(GO($x((NN(),n2c).o),11),19),r.i),r.g),_v(n).b&=-33}return n.j}function noe(n,t){var e,i,r,a,c;for(r=t.a&n.f,a=null,i=n.b[r];;i=i.b){if(i==t){a?a.b=t.b:n.b[r]=t.b;break}a=i}for(c=t.f&n.f,a=null,e=n.c[c];;e=e.d){if(e==t){a?a.d=t.d:n.c[c]=t.d;break}a=e}t.e?t.e.c=t.c:n.a=t.c,t.c?t.c.e=t.e:n.e=t.e,--n.i,++n.g}function noi(n,t){var e,i,r,a;for(Px((a=new Kp(n,0)).b<a.d.gc()),e=CY(a.d.Xb(a.c=a.b++),148);a.b<a.d.gc();)Px(a.b<a.d.gc()),r=new C4((i=CY(a.d.Xb(a.c=a.b++),148)).c,e.d,t),Px(a.b>0),a.a.Xb(a.c=--a.b),Oe(a,r),Px(a.b<a.d.gc()),a.d.Xb(a.c=a.b++),r.a=!1,e=i}function nor(n){var t,e,i,r,a;for(i=CY(niK(n,(nlF(),nKO)),12),a=new fU(n.j);a.a<a.c.c.length;){for(e=new fU((r=CY(RU(a),12)).g);e.a<e.c.c.length;)return Ru(CY(RU(e),18),i),r;for(t=new fU(r.e);t.a<t.c.c.length;)return Ra(CY(RU(t),18),i),r}return null}function noa(n,t,e){var i,r,a,c,o;for(o=CY(Pi(n.a,t),17).a,e?ne9(n.a,Qx(o+1),t):ne9(n.a,Qx(o-1),t),c=new TE,r=new Le(Sb((e?JV(t):Jz(t)).a.Kc(),new s));ncv(r);)i=CY(_I(r),18),a=e?i.d.i:i.c.i,ER(Pi(n.a,a))===ER(Pi(n.a,t))&&c.a.zc(a,c);return c}function noc(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=6&&t){if(nen(n,t))throw new pN(nEx+na9(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt3(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnu(t,n,6,i)),(i=nsP(n,t,6,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,6,t,t))}function noo(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=3&&t){if(nen(n,t))throw new pN(nEx+nhG(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nee(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnu(t,n,12,i)),(i=nsP(n,t,3,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,3,t,t))}function nou(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=9&&t){if(nen(n,t))throw new pN(nEx+nuq(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt6(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnu(t,n,9,i)),(i=nsP(n,t,9,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,9,t,t))}function nos(n){var t,e,i,r,a;if(i=nec(n),null==(a=n.j)&&i)return n.Jk()?null:i.ik();if(jM(i,156)){if((e=i.jk())&&(r=e.wi())!=n.i){if((t=CY(i,156)).nk())try{n.g=r.ti(t,a)}catch(t){if(jM(t=Vt(t),82))n.g=null;else throw t.e}n.i=r}return n.g}return null}function noh(n){var t;return jB(t=new du,new yz(new MH(n.c,n.d),new MH(n.c+n.b,n.d))),jB(t,new yz(new MH(n.c,n.d),new MH(n.c,n.d+n.a))),jB(t,new yz(new MH(n.c+n.b,n.d+n.a),new MH(n.c+n.b,n.d))),jB(t,new yz(new MH(n.c+n.b,n.d+n.a),new MH(n.c,n.d+n.a))),t}function nof(n,t){var e,i,r,a,c,o;for(r=0,c=new fU(t.a);c.a<c.c.c.length;)for(r+=(a=CY(RU(c),10)).o.b+a.d.a+a.d.d+n.e,i=new Le(Sb(Jz(a).a.Kc(),new s));ncv(i);)(e=CY(_I(i),18)).c.i.k==(ni8(),n$y)&&(r+=(o=CY(niK(e.c.i,(nlF(),nK6)),10)).o.b+o.d.a+o.d.d);return r}function nol(){nol=T,nW_=new MI("CANDIDATE_POSITION_LAST_PLACED_RIGHT",0),nWF=new MI("CANDIDATE_POSITION_LAST_PLACED_BELOW",1),nWH=new MI("CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT",2),nWB=new MI("CANDIDATE_POSITION_WHOLE_DRAWING_BELOW",3),nWU=new MI("WHOLE_DRAWING",4)}function nob(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=11&&t){if(nen(n,t))throw new pN(nEx+nuG(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nei(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnu(t,n,10,i)),(i=nsP(n,t,11,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,11,t,t))}function now(n,t,e){return nue(),!(za(n,t)&&za(n,e))&&(nfq(new MH(n.c,n.d),new MH(n.c+n.b,n.d),t,e)||nfq(new MH(n.c+n.b,n.d),new MH(n.c+n.b,n.d+n.a),t,e)||nfq(new MH(n.c+n.b,n.d+n.a),new MH(n.c,n.d+n.a),t,e)||nfq(new MH(n.c,n.d+n.a),new MH(n.c,n.d),t,e))}function nod(n,t){var e,i,r,a;if(!n.dc()){for(e=0,i=n.gc();e<i;++e)if(null==(a=PA(n.Xb(e)))?null==t:OB(a.substr(0,3),"!##")?null!=t&&(r=t.length,!OB(a.substr(a.length-r,r),t)||a.length!=t.length+3)&&!OB(nSb,t):OB(a,nSw)&&!OB(nSb,t)||OB(a,t))return!0}return!1}function nog(n,t){var e,i,r,a,c,o;for(e=CY(niK(t,(nlF(),nKR)),21),c=CY(_G((nlT(),n$c),e),21),o=CY(_G(n$l,e),21),a=c.Kc();a.Ob();)if(i=CY(a.Pb(),21),!CY(_G(n.b,i),15).dc())return!1;for(r=o.Kc();r.Ob();)if(i=CY(r.Pb(),21),!CY(_G(n.b,i),15).dc())return!1;return!0}function nop(n,t){var e,i,r,a,c,o,u;if(1==n.a.c.length)return nrf(CY(I0(n.a,0),172),t);for(r=function(n){var t,e,i;for(i=0,e=new fU(n.a);e.a<e.c.c.length;)t=CY(RU(e),172),i=nP_.Math.max(i,t.g);return i}(n),c=0,o=n.d,i=r,u=n.d,a=(o-i)/2+i;i+1<o;){for(c=0,e=new fU(n.a);e.a<e.c.c.length;)c+=nhL(CY(RU(e),172),a,!1).a;c<t?(u=a,o=a):i=a,a=(o-i)/2+i}return u}function nom(n,t){var e,i,r,a,c;if(!t)return n;if(jM(t,342))for(r=CY(t,342),n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),a=n.o,i=r.gh().c.Kc();i.e!=i.i.gc();)c=(e=CY(i.Yj(),44)).md(),nej(a,CY(e.ld(),149),c);else n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),Xt(n.o,t.nf());return n}function nov(n){var t,e,i,r,a;for(e=new fU(n.a.a);e.a<e.c.c.length;){for((t=CY(RU(e),316)).j=null,a=t.a.a.ec().Kc();a.Ob();)Ta((i=CY(a.Pb(),60)).b),(!t.j||i.d.c<t.j.d.c)&&(t.j=i);for(r=t.a.a.ec().Kc();r.Ob();)(i=CY(r.Pb(),60)).b.a=i.d.c-t.j.d.c,i.b.b=i.d.d-t.j.d.d}return n}function noy(n){var t,e,i,r,a;for(e=new fU(n.a.a);e.a<e.c.c.length;){for((t=CY(RU(e),194)).f=null,a=t.a.a.ec().Kc();a.Ob();)Ta((i=CY(a.Pb(),86)).e),(!t.f||i.g.c<t.f.g.c)&&(t.f=i);for(r=t.a.a.ec().Kc();r.Ob();)(i=CY(r.Pb(),86)).e.a=i.g.c-t.f.g.c,i.e.b=i.g.d-t.f.g.d}return n}function nok(){return nlB(),Vw(DY(nAh,1),nbG,81,0,[n$G,n$B,n$q,n$8,nDg,nDt,nDM,nDc,nDw,n$2,nDh,nDa,nDd,n$Y,nDT,n$$,nDs,nDm,n$9,nDp,nDS,nDl,n$D,nDb,nDP,nDy,nDj,n$7,n$W,nDn,n$5,nDE,n$F,n$z,nDi,n$K,nDr,n$4,n$Z,nDo,n$0,n$H,n$_,n$6,n$1,nDu,nDk,n$R,nDf,n$3,nDe,n$Q,n$V,nDv,n$X,n$J,n$U])}function noM(n){var t;if(gV.call(this),this.i=new c2,this.g=n,this.f=CY(n.e&&n.e(),9).length,0==this.f)throw new pN("There must be at least one phase in the phase enumeration.").e;this.c=new O9(t=CY(mP(this.g),9),CY(Oc(t,t.length),9),0),this.a=new xm,this.b=new dc}function noE(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=7&&t){if(nen(n,t))throw new pN(nEx+nrM(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt4(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=CY(t,54).Rh(n,1,nL2,i)),(i=Az(n,t,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,7,t,t))}function noT(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=3&&t){if(nen(n,t))throw new pN(nEx+Q0(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt9(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=CY(t,54).Rh(n,0,nL8,i)),(i=AV(n,t,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,3,t,t))}function noj(){noj=T,nU9=new kU(nyI,0),nU6=new kU("LONGEST_PATH",1),nU5=new kU("LONGEST_PATH_SOURCE",2),nU2=new kU("COFFMAN_GRAHAM",3),nU4=new kU(nml,4),nU7=new kU("STRETCH_WIDTH",5),nU8=new kU("MIN_WIDTH",6),nU0=new kU("BF_MODEL_ORDER",7),nU3=new kU("DF_MODEL_ORDER",8)}function noS(n,t){var e,i,r,a,c;if((null==n.i&&nhr(n),n.i).length,!n.p){for(c=new vH((3*n.g.i/2|0)+1),r=new SQ(n.g);r.e!=r.i.gc();)a=(i=CY(Z5(r),179)).xe(),(e=CY(null==a?nr3(c.f,null,i):JI(c.i,a,i),179))&&(null==a?nr3(c.f,null,e):JI(c.i,a,e));n.p=c}return CY(Db(n.p,t),179)}function noP(n,t,e,i){var r,a,c,o;for(c=(o=t.e).length,a=t.q.ug(o,e?0:c-1,e)|nuL(n,o[e?0:c-1],e,i),r=e?1:c-2;e?r<c:r>=0;r+=e?1:-1)a|=t.c.lg(o,r,e,i&&!pT(PC(niK(t.j,(nlF(),nKH))))&&!pT(PC(niK(t.j,(nlF(),nFs))))),a|=t.q.ug(o,r,e),a|=nuL(n,o[r],e,i);return LX(n.c,t),a}function noO(n,t,e){var i,r,a,c,o,u,s,h;for(u=KB(n.j),s=0,h=u.length;s<h;++s){if(o=u[s],e==(qy(),nG$)||e==nGR)for(a=0,c=(r=Ky(o.g)).length;a<c;++a)(function(n,t){var e;return!pT(PC(niK(t,(nlF(),nFu))))&&(e=t.d.i,(n!=(Yb(),nFk)||e.k!=(ni8(),n$p))&&CY(niK(e,(nlL(),nHI)),171)!=nFM)})(t,i=r[a])&&nhf(i,!0);if(e==nGD||e==nGR)for(a=0,c=(r=Ky(o.e)).length;a<c;++a)(function(n,t){var e;return!pT(PC(niK(t,(nlF(),nFu))))&&(e=t.c.i,(n!=(Yb(),nFv)||e.k!=(ni8(),n$p))&&CY(niK(e,(nlL(),nHI)),171)!=nFy)})(t,i=r[a])&&nhf(i,!0)}}function noC(n){var t,e,i,r,a,c;for(r=new fU(n.a.a);r.a<r.c.c.length;)(e=CY(RU(r),194)).e=0,e.d.a.$b();for(i=new fU(n.a.a);i.a<i.c.c.length;)for(t=(e=CY(RU(i),194)).a.a.ec().Kc();t.Ob();)for(c=CY(t.Pb(),86).f.Kc();c.Ob();)(a=CY(c.Pb(),86)).d!=e&&(LX(e.d,a),++a.d.e)}function noI(n){if(!n.a.d||!n.a.e)throw new px((PL(nCw),nCw.k+" must have a source and target "+(PL(nCd),nCd.k)+" specified.")).e;if(n.a.d==n.a.e)throw new px("Network simplex does not support self-loops: "+n.a+" "+n.a.d+" "+n.a.e).e;return SN(n.a.d.g,n.a),SN(n.a.e.b,n.a),n.a}function noA(n,t,e){var i,r,a,c,o,u;if(i=0,0!=t.b&&0!=e.b){a=ZQ(t,0),c=ZQ(e,0),o=pj(PI(K0(a))),u=pj(PI(K0(c))),r=!0;do{if(o>u-n.b&&o<u+n.b)return -1;o>u-n.a&&o<u+n.a&&++i,o<=u&&a.b!=a.d.c?o=pj(PI(K0(a))):u<=o&&c.b!=c.d.c?u=pj(PI(K0(c))):r=!1}while(r)}return i}function noL(n,t){var e,i;return xR(n.a),L2(n.a,(Xc(),nzL),nzL),L2(n.a,nzN,nzN),IG(e=new xm,nzN,(nic(),nzK)),ER(ncx(t,(nrh(),nVe)))!==ER((WW(),nzG))&&IG(e,nzN,nz$),pT(PC(ncx(t,nVb)))&&IG(e,nzN,nzF),IG(e,nzN,nzD),pT(PC(ncx(t,nVd)))&&AX(e,nzN,nzR),i=n.a,zT(i.a,e),nfu(n.a,t)}function noN(n){var t,e;return t=new p0,(256&n)!=0&&(t.a+="F"),(128&n)!=0&&(t.a+="H"),(512&n)!=0&&(t.a+="X"),(2&n)!=0&&(t.a+="i"),(8&n)!=0&&(t.a+="m"),(4&n)!=0&&(t.a+="s"),(32&n)!=0&&(t.a+="u"),(64&n)!=0&&(t.a+="w"),(16&n)!=0&&(t.a+="x"),(n&nbB)!=0&&(t.a+=","),xf(e=t.a),e}function nox(n,t){var e,i,r,a;return(yP(),t)?t==(nfl(),n3N)||(t==n3d||t==n3b||t==n3w)&&n!=n3l?new nfZ(n,t):((e=(i=CY(t,692)).$k())||(xK(Ua((nrR(),n28),t)),e=i.$k()),e.i||(e.i=new dc),(r=CY(ED(Aj((a=e.i).f,n)),2041))||xM(a,n,r=new nfZ(n,t)),r):n3i}function no$(){no$=T,nqq=new af,nqB=IG(new xm,(niF(),nxQ),(nlB(),n$9)),nqG=AX(IG(new xm,nxQ,nDl),nxY,nDf),nqX=Zg(Zg(yg(AX(IG(new xm,nxV,nDM),nxY,nDk),nxJ),nDy),nDE),nqH=AX(IG(IG(IG(new xm,nxW,nDt),nxJ,nDi),nxJ,nDr),nxY,nDe),nqU=AX(IG(IG(new xm,nxJ,nDr),nxJ,n$z),nxY,n$X)}function noD(){noD=T,nqQ=IG(AX(new xm,(niF(),nxY),(nlB(),n$Q)),nxQ,n$9),nq1=Zg(Zg(yg(AX(IG(new xm,nxV,nDM),nxY,nDk),nxJ),nDy),nDE),nqJ=AX(IG(IG(IG(new xm,nxW,nDt),nxJ,nDi),nxJ,nDr),nxY,nDe),nqZ=IG(IG(new xm,nxQ,nDl),nxY,nDf),nqY=AX(IG(IG(new xm,nxJ,nDr),nxJ,n$z),nxY,n$X)}function noR(n,t){var e,i,r,a;for(e=(a=AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15))))&n.b.length-1,r=null,i=n.b[e];i;r=i,i=i.a)if(i.d==a&&N7(i.i,t))return r?r.a=i.a:n.b[e]=i.a,pz(CY(xh(i.c),604),CY(xh(i.f),604)),dM(CY(xh(i.b),227),CY(xh(i.e),227)),--n.f,++n.e,!0;return!1}function noK(n,t,e){var i,r,a,c;for(this.b=new du,r=0,i=0,c=new fU(n);c.a<c.c.c.length;)a=CY(RU(c),176),e&&function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w;for(s=0,i=BJ(n4s,nwl,28,c=n.o,15,1),r=BJ(n4s,nwl,28,c,15,1),t=BJ(n4s,nwl,28,e=n.p,15,1),a=BJ(n4s,nwl,28,e,15,1);s<c;s++){for(f=0;f<e&&!nn6(n,s,f);)++f;i[s]=f}for(h=0;h<c;h++){for(f=e-1;f>=0&&!nn6(n,h,f);)--f;r[h]=f}for(b=0;b<e;b++){for(o=0;o<c&&!nn6(n,o,b);)++o;t[b]=o}for(w=0;w<e;w++){for(o=c-1;o>=0&&!nn6(n,o,w);)--o;a[w]=o}for(u=0;u<c;u++)for(l=0;l<e;l++)u<a[l]&&u>t[l]&&l<r[u]&&l>i[u]&&nuU(n,u,l,!1,!0)}(a),jB(this.b,a),r+=a.o,i+=a.p;this.b.c.length>0&&(r+=(a=CY(I0(this.b,0),176)).o,i+=a.p),r*=2,i*=2,t>1?r=Dy(nP_.Math.ceil(r*t)):i=Dy(nP_.Math.ceil(i/t)),this.a=new YE(r,i)}function noF(n,t,e,i,r,a){var c,o,u,s,h,f,l,b,w,d,g;for(s=i,t.j&&t.o?(w=(l=CY(NR(n.f,t.A),60)).d.c+l.d.b,--s):w=t.a.c+t.a.b,h=r,e.q&&e.o?(u=(l=CY(NR(n.f,e.C),60)).d.c,++h):u=e.a.c,d=u-w,b=w+(o=d/nP_.Math.max(2,h-s)),f=s;f<h;++f)g=(c=CY(a.Xb(f),131)).a.b,c.a.c=b-g/2,b+=o}function no_(n,t){var e,i,r,a,c,o,u;i=t?new rP:new rO,r=!1;do for(r=!1,a=(t?Yi(n.b):n.b).Kc();a.Ob();)for(u=RR(CY(a.Pb(),30).a),t||Yi(u),o=new fU(u);o.a<o.c.c.length;)c=CY(RU(o),10),i.Mb(c)&&(e=CY(niK(c,(nlF(),nKP)),313),r=nuk(c,t?e.b:e.k,t,!1));while(r)}function noB(n,t,e,i,r,a){var c,o,u,s,h,f;for(s=e.c.length,a&&(n.c=BJ(n4s,nwl,28,t.length,15,1)),c=r?0:t.length-1;r?c<t.length:c>=0;c+=r?1:-1){for(o=t[c],u=i==(nf5(),n1n)?r?JH(o,i):Yi(JH(o,i)):r?Yi(JH(o,i)):JH(o,i),a&&(n.c[o.p]=u.gc()),f=u.Kc();f.Ob();)h=CY(f.Pb(),12),n.d[h.p]=s++;Vc(e,u)}}function noH(n,t,e){var i,r,a,c,o,u;for(i=pj(PI(n.b.Kc().Pb())),o=pj(PI(function(n){if(n){if(n.dc())throw(new dF).e;return n.Xb(n.gc()-1)}return Rg(n.Kc())}(t.b))),u=OT(j_(jv(n.a),o-e),j_(jv(t.a),e-i)),j_(u,1/(o-i)),this.a=u,this.b=new du,a=!0,(r=n.b.Kc()).Pb();r.Ob();)c=pj(PI(r.Pb())),a&&c-e>nyq&&(this.b.Fc(e),a=!1),this.b.Fc(c);a&&this.b.Fc(e)}function noU(n,t){var e,i,r;if(Vy(),e=_S(qk(),t.Pg())){if(i=e.j,jM(n,207))return((r=CY(n,27)).a||(r.a=new Lk(nNe,r,10,11)),r.a.i>0)?SD(i,(ZW(),nQq))||SD(i,nQX):SD(i,(ZW(),nQq));if(jM(n,326))return SD(i,(ZW(),nQU));if(jM(n,193))return SD(i,(ZW(),nQz));else if(jM(n,366))return SD(i,(ZW(),nQG))}return!0}function noG(n,t){if(t instanceof Object)try{if(t.__java$exception=n,-1!=navigator.userAgent.toLowerCase().indexOf("msie")&&$doc.documentMode<9)return;Object.defineProperties(t,{cause:{get:function(){var t=n.he();return t&&t.fe()}},suppressed:{get:function(){return n.ge()}}})}catch(n){}}function noq(n,t){var e,i,r,a,c;if(i=t>>5,t&=31,i>=n.d)return n.e<0?(nuY(),nOI):(nuY(),nO$);if(!function(n,t,e,i,r){var a,c,o;for(c=0,a=!0;c<i;c++)a&=0==e[c];if(0==r)ns8(e,i,n,0,t),c=t;else{for(o=32-r,a&=e[c]<<o==0,c=0;c<t-1;c++)n[c]=e[c+i]>>>r|e[c+i+1]<<o;n[c]=e[c+i]>>>r,++c}}(r=BJ(n4s,nwl,28,(a=n.d-i)+1,15,1),a,n.a,i,t),n.e<0){for(e=0;e<i&&0==n.a[e];e++);if(e<i||t>0&&n.a[e]<<32-t!=0){for(e=0;e<a&&-1==r[e];e++)r[e]=0;e==a&&++a,++r[e]}}return KM(c=new LZ(n.e,a,r)),c}function noX(n){var t,e,i,r;return e=new ly(r=DP(n)),i=new lk(r),Vc(t=new du,(n.d||(n.d=new Ox(nL6,n,8,5)),n.d)),Vc(t,(n.e||(n.e=new Ox(nL6,n,7,4)),n.e)),CY(FB(xz(xX(new Aa(null,new R$(t,16)),e),i),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCR),nCD]))),21)}function noz(n,t){var e,i,r;return yP(),!!t.Jk()||-2==t.Ik()&&(t==(na1(),n3u)||t==n3a||t==n3c||t==n3o||!(Ym(r=n.Dh(),t)>=0)&&(!(e=nff((nrR(),n28),r,t))||((i=e.Ik())>1||-1==i)&&3!=xb(Ua(n28,e))))}function noV(n,t,e){var i,r,a,c,o,u,s;if(u=n.length,a=n[e?u-1:0],s=a.length,a[r=e?0:s-1].k==(ni8(),n$g))for(i=0,o=t.j;i<o.c.length;i++)RN(i,o.c.length),c=CY(o.c[i],12),(e?c.j==(nf5(),n1n):c.j==(nf5(),n1y))&&pT(PC(niK(c,(nlF(),nKX))))&&(_o(o,i,CY(niK(a[r],(nlF(),nK6)),12)),r+=e?1:-1)}function noW(n){if(null==n.g)switch(n.p){case 0:n.g=!function(n){if(0!=n.p)throw(new dx).e;return EU(n.f,0)}(n)?(SB(),nOo):(SB(),nOu);break;case 1:n.g=Ub(function(n){if(1!=n.p)throw(new dx).e;return AW(n.f)<<24>>24}(n));break;case 2:n.g=z_(function(n){if(2!=n.p)throw(new dx).e;return AW(n.f)&nb9}(n));break;case 3:n.g=function(n){if(3!=n.p)throw(new dx).e;return n.e}(n);break;case 4:n.g=new fA(function(n){if(4!=n.p)throw(new dx).e;return n.e}(n));break;case 6:n.g=ZE(function(n){if(6!=n.p)throw(new dx).e;return n.f}(n));break;case 5:n.g=Qx(function(n){if(5!=n.p)throw(new dx).e;return AW(n.f)}(n));break;case 7:n.g=Q$(function(n){if(7!=n.p)throw(new dx).e;return AW(n.f)<<16>>16}(n))}return n.g}function noQ(n){if(null==n.n)switch(n.p){case 0:n.n=!function(n){if(0!=n.p)throw(new dx).e;return EU(n.k,0)}(n)?(SB(),nOo):(SB(),nOu);break;case 1:n.n=Ub(function(n){if(1!=n.p)throw(new dx).e;return AW(n.k)<<24>>24}(n));break;case 2:n.n=z_(function(n){if(2!=n.p)throw(new dx).e;return AW(n.k)&nb9}(n));break;case 3:n.n=function(n){if(3!=n.p)throw(new dx).e;return n.j}(n);break;case 4:n.n=new fA(function(n){if(4!=n.p)throw(new dx).e;return n.j}(n));break;case 6:n.n=ZE(function(n){if(6!=n.p)throw(new dx).e;return n.k}(n));break;case 5:n.n=Qx(function(n){if(5!=n.p)throw(new dx).e;return AW(n.k)}(n));break;case 7:n.n=Q$(function(n){if(7!=n.p)throw(new dx).e;return AW(n.k)<<16>>16}(n))}return n.n}function noJ(n,t,e,i){var r,a,c,o,u;if(yP(),o=CY(t,69).xk(),noz(n.e,t)){if(t.Si()&&nhc(n,t,i,jM(t,102)&&(CY(t,19).Bb&nwG)!=0))throw new pN(nTd).e}else for(c=0,u=nox(n.e.Dh(),t),r=CY(n.g,124);c<n.i;++c)if(a=r[c],u.am(a.Lk()))throw new pN(nSg).e;Jo(n,nrL(n,t,e),o?CY(i,76):Fy(t,i))}function noY(n){var t,e,i,r,a,c;for(r=new fU(n.a.a);r.a<r.c.c.length;)(e=CY(RU(r),316)).g=0,e.i=0,e.e.a.$b();for(i=new fU(n.a.a);i.a<i.c.c.length;)for(t=(e=CY(RU(i),316)).a.a.ec().Kc();t.Ob();)for(c=CY(t.Pb(),60).c.Kc();c.Ob();)(a=CY(c.Pb(),60)).a!=e&&(LX(e.e,a),++a.a.g,++a.a.i)}function noZ(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;for(h=n.d,(l=pj(PI(niK(n,(nlL(),nHd)))))<0&&VD(n,nHd,l=0),t.o.b=l,f=nP_.Math.floor(l/2),nau(u=new nro,(nf5(),n1y)),Ro(u,t),u.n.b=f,nau(s=new nro,n1n),Ro(s,t),s.n.b=f,Ru(n,u),zU(o=new $1,n),VD(o,nHP,null),Ra(o,s),Ru(o,h),e=t,i=n,r=o,a=i.c.i,c=r.d.i,a.k==(ni8(),n$m)?(VD(e,(nlF(),nK1),CY(niK(a,nK1),12)),VD(e,nK0,CY(niK(a,nK0),12)),VD(e,nKZ,PC(niK(a,nKZ)))):a.k==n$p?(VD(e,(nlF(),nK1),CY(niK(a,nK1),12)),VD(e,nK0,CY(niK(a,nK0),12)),VD(e,nKZ,(SB(),!0))):c.k==n$p?(VD(e,(nlF(),nK1),CY(niK(c,nK1),12)),VD(e,nK0,CY(niK(c,nK0),12)),VD(e,nKZ,(SB(),!0))):(VD(e,(nlF(),nK1),i.c),VD(e,nK0,r.d)),w=new Kp(n.b,0);w.b<w.d.gc();)Px(w.b<w.d.gc()),b=CY(w.d.Xb(w.c=w.b++),72),CY(niK(b,(nlL(),nHc)),278)==(GN(),nZi)&&(N6(w),jB(o.b,b),Pn(b,(nlF(),nKD))||VD(b,nKD,n));return o}function no1(n,t,e){var i,r,a,c;r=n.i,i=n.n,_H(n,(GL(),nIi),r.c+i.b,e),_H(n,nIa,r.c+r.b-i.c-e[2],e),c=r.b-i.b-i.c,e[0]>0&&(e[0]+=n.d,c-=e[0]),e[2]>0&&(e[2]+=n.d,c-=e[2]),a=nP_.Math.max(0,c),e[1]=nP_.Math.max(e[1],c),_H(n,nIr,r.c+i.b+e[0]-(e[1]-c)/2,e),t==nIr&&(n.c.b=a,n.c.c=r.c+i.b+(a-c)/2)}function no0(){this.c=BJ(n4b,nwX,28,(nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])).length,15,1),this.b=BJ(n4b,nwX,28,Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]).length,15,1),this.a=BJ(n4b,nwX,28,Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]).length,15,1),yx(this.c,nwF),yx(this.b,nw_),yx(this.a,nw_)}function no2(n,t,e){var i,r,a,c;if(t<=e?(r=t,a=e):(r=e,a=t),i=0,null==n.b)n.b=BJ(n4s,nwl,28,2,15,1),n.b[0]=r,n.b[1]=a,n.c=!0;else{if(i=n.b.length,n.b[i-1]+1==r){n.b[i-1]=a;return}c=BJ(n4s,nwl,28,i+2,15,1),ns8(n.b,0,c,0,i),n.b=c,n.b[i-1]>=r&&(n.c=!1,n.a=!1),n.b[i++]=r,n.b[i]=a,n.c||ncU(n)}}function no3(n){var t,e,i,r,a;for(r=new du,t=new At((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a)),i=new Le(Sb(nc5(n).a.Kc(),new s));ncv(i);)!jM(GO(((e=CY(_I(i),74)).b||(e.b=new Ox(nL4,e,4,7)),e.b),0),193)&&(a=niw(CY(GO((e.c||(e.c=new Ox(nL4,e,5,8)),e.c),0),84)),t.a._b(a)||dk(r.c,a));return r}function no4(n,t,e,i,r){var a,c,o;if(n.d&&n.d.Gg(r),nnB(n,e,CY(r.Xb(0),27),!1)||nnB(n,i,CY(r.Xb(r.gc()-1),27),!0)||niW(n,r))return!0;for(o=r.Kc();o.Ob();)for(c=CY(o.Pb(),27),a=t.Kc();a.Ob();)if(nua(n,c,CY(a.Pb(),27)))return!0;return!1}function no6(n,t,e){var i,r;if(0==(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i)return Vk(n);if(i=CY(GO((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),0),166),t&&(nft((i.a||(i.a=new jU(nL0,i,5)),i.a)),G0(i,0),G3(i,0),GQ(i,0),G2(i,0)),e)for(n.a||(n.a=new Lk(nL5,n,6,6)),r=n.a;r.i>1;)no9(r,r.i-1);return i}function no5(n,t){var e,i,r,a,c,o,u;for(e=new j1,a=new fU(n.b);a.a<a.c.c.length;){for(r=CY(RU(a),30),u=!0,i=0,o=new fU(r.a);o.a<o.c.c.length;)switch((c=CY(RU(o),10)).k.g){case 4:++i;case 1:K2(e,c);break;case 0:!function(n,t){var e,i,r,a,c;for(i=new Km(n.j.c.length),e=null,a=new fU(n.j);a.a<a.c.c.length;)(r=CY(RU(a),12)).j!=e&&(i.b==i.c||ncW(i,e,t),FT(i),e=r.j),(c=ncy(r))&&K2(i,c);i.b==i.c||ncW(i,e,t)}(c,t);default:e.b==e.c||nsj(e,i,u,!1,t),u=!1,i=0}e.b==e.c||nsj(e,i,u,!0,t)}}function no8(n,t){var e,i,r,a,c,o,u;for(e=0,o=new fU(t);o.a<o.c.c.length;){for(c=CY(RU(o),12),WU(n.b,n.d[c.p]),r=new _4(c.b);jr(r.a)||jr(r.b);)i=CY(jr(r.a)?RU(r.a):RU(r.b),18),u=c==i.c?i.d:i.c,(a=n.d[u.p])>n.d[c.p]&&(e+=_c(n.b,a),K3(n.a,Qx(a)));for(;!pq(n.a);)Ux(n.b,CY(LG(n.a),17).a)}return e}function no9(n,t){var e,i,r,a;return n.Pj()?(i=null,r=n.Qj(),n.Tj()&&(i=n.Vj(n.$i(t),null)),e=n.Ij(4,a=ntD(n,t),null,t,r),n.Mj()&&null!=a?(i=n.Oj(a,i))?(i.nj(e),i.oj()):n.Jj(e):i?(i.nj(e),i.oj()):n.Jj(e)):(a=ntD(n,t),n.Mj()&&null!=a&&(i=n.Oj(a,null))&&i.oj()),a}function no7(){no7=T,nKr=new kK("COMMENTS",0),nKc=new kK("EXTERNAL_PORTS",1),nKo=new kK("HYPEREDGES",2),nKu=new kK("HYPERNODES",3),nKs=new kK("NON_FREE_PORTS",4),nKh=new kK("NORTH_SOUTH_PORTS",5),nKl=new kK(nmg,6),nKi=new kK("CENTER_LABELS",7),nKa=new kK("END_LABELS",8),nKf=new kK("PARTITIONS",9)}function nun(n,t){var e,i,r;DV(n)&&(r=CY(niK(t,(nlL(),nHW)),181),ER(ncx(n,nUt))===ER((nie(),nZ0))&&nnh(n,nUt,nZ1),yv(),i=nfJ(new py(DV(n)),new Sq(!DV(n)?null:new py(DV(n)),n),!1,!0),Xf(r,(YZ(),n1P)),(e=CY(niK(t,nHJ),8)).a=nP_.Math.max(i.a,e.a),e.b=nP_.Math.max(i.b,e.b))}function nut(){nut=T,nRi=new x7(ngr,0,(nf5(),n1t),n1t),nRc=new x7(ngc,1,n1m,n1m),nRe=new x7(nga,2,n1n,n1n),nRs=new x7(ngo,3,n1y,n1y),nRa=new x7("NORTH_WEST_CORNER",4,n1y,n1t),nRr=new x7("NORTH_EAST_CORNER",5,n1t,n1n),nRu=new x7("SOUTH_WEST_CORNER",6,n1m,n1y),nRo=new x7("SOUTH_EAST_CORNER",7,n1n,n1m)}function nue(){nue=T,nQ6=Vw(DY(n4f,1),nwH,28,14,[1,1,2,6,24,120,720,5040,40320,362880,3628800,0x2611500,0x1c8cfc00,0x17328cc00,0x144c3b2800,1307674368e3,{l:3506176,m:794077,h:1},{l:884736,m:916411,h:20},{l:3342336,m:3912489,h:363},{l:589824,m:3034138,h:6914},{l:3407872,m:1962506,h:138294}]),nP_.Math.pow(2,-65)}function nui(){var n,t;for(t=0,nui=T,nOK=BJ(nPx,nby,92,32,0,1),nOF=BJ(nPx,nby,92,32,0,1),n=1;t<=18;t++)nOK[t]=(nuY(),Qv(n,0)>=0?Yq(n):Nt(Yq(H4(n)))),nOF[t]=EH(A8(n,t),0)?Yq(A8(n,t)):Nt(Yq(H4(A8(n,t)))),n=J_(n,5);for(;t<nOF.length;t++)nOK[t]=Fh(nOK[t-1],nOK[1]),nOF[t]=Fh(nOF[t-1],(nuY(),nON))}function nur(n,t){var e,i,r,a,c;if(0==n.c.length)return new Ea(Qx(0),Qx(0));for(e=(RN(0,n.c.length),CY(n.c[0],12)).j,c=0,a=t.g,i=t.g+1;c<n.c.length-1&&e.g<a;)e=(RN(++c,n.c.length),CY(n.c[c],12)).j;for(r=c;r<n.c.length-1&&e.g<i;)++r,e=(RN(c,n.c.length),CY(n.c[c],12)).j;return new Ea(Qx(c),Qx(r))}function nua(n,t,e){var i,r,a,c,o,u,s,h;return o=t.i-n.g/2,u=e.i-n.g/2,s=t.j-n.g/2,h=e.j-n.g/2,a=t.g+n.g,c=e.g+n.g,i=t.f+n.g,r=e.f+n.g,!!(o<u+c)&&!!(u<o)&&!!(s<h+r)&&!!(h<s)||!!(u<o+a)&&!!(o<u)&&!!(h<s+i)&&!!(s<h)||!!(o<u+c)&&!!(u<o)&&!!(s<h)&&!!(h<s+i)||!!(u<o+a)&&!!(o<u)&&!!(s<h+r)&&!!(h<s)||!1}function nuc(n,t){var e;switch(e=null,t.g){case 1:n.e.pf((nl_(),nYw))&&(e=CY(n.e.of(nYw),256));break;case 3:n.e.pf((nl_(),nYd))&&(e=CY(n.e.of(nYd),256));break;case 2:n.e.pf((nl_(),nYb))&&(e=CY(n.e.of(nYb),256));break;case 4:n.e.pf((nl_(),nYg))&&(e=CY(n.e.of(nYg),256))}return e||(e=CY(n.e.of((nl_(),nYf)),256)),e}function nuo(n,t,e,i){var r,a,c,o,u;for(r=(i.c+i.a)/2,$p(t.j),IA(t.j,r),$p(e.e),IA(e.e,r),u=new mv,c=new fU(n.f);c.a<c.c.c.length;)neN(u,t,o=CY(RU(c),132).a),neN(u,e,o);for(a=new fU(n.k);a.a<a.c.c.length;)neN(u,t,o=CY(RU(a),132).b),neN(u,e,o);return u.b+=2,u.a+=$E(t,n.q),u.a+=$E(n.q,e),u}function nuu(){nuu=T,nWi=new TZ((nl_(),nJj),1.3),nWl=new TZ(nJ9,(SB(),!1)),nWy=new TW(15),nWv=new TZ(nYa,nWy),nWM=new TZ(nYq,15),nWr=nJL,nWf=nJ5,nWb=nJ7,nWw=nYt,nWh=nJ4,nWd=nYr,nWk=nYE,nse(),nWS=nV9,nWj=nV8,nWO=nWe,nWP=nWn,nWm=nV3,nWp=nV2,nWg=nV0,nWT=nV5,nWo=nJQ,nWu=nJJ,nWc=nVZ,nWa=nVY,nWs=nV1,nWE=nV6}function nus(n){var t,e,i,r,a,c,o;for(e=n.i,t=n.n,o=e.d,n.f==(Uk(),nIl)?o+=(e.a-n.e.b)/2:n.f==nIf&&(o+=e.a-n.e.b),r=new fU(n.d);r.a<r.c.c.length;){switch(c=(i=CY(RU(r),187)).Mf(),(a=new mm).b=o,o+=c.b+n.a,n.b.g){case 0:a.a=e.c+t.b;break;case 1:a.a=e.c+t.b+(e.b-c.a)/2;break;case 2:a.a=e.c+e.b-t.c-c.a}i.Of(a)}}function nuh(n){var t,e,i,r,a,c,o;for(e=n.i,t=n.n,o=e.c,n.b==(HS(),nIo)?o+=(e.b-n.e.a)/2:n.b==nIs&&(o+=e.b-n.e.a),r=new fU(n.d);r.a<r.c.c.length;){switch(c=(i=CY(RU(r),187)).Mf(),(a=new mm).a=o,o+=c.a+n.a,n.f.g){case 0:a.b=e.d+t.d;break;case 1:a.b=e.d+t.d+(e.a-c.b)/2;break;case 2:a.b=e.d+e.a-t.a-c.b}i.Of(a)}}function nuf(n,t,e){var i,r;for(t<n.d.b.c.length?(n.b=CY(I0(n.d.b,t),30),n.a=CY(I0(n.d.b,t-1),30)):(n.a=new NU(n.d),n.a.p=t-1,jB(n.d.b,n.a),n.b=new NU(n.d),n.b.p=t,jB(n.d.b,n.b)),n.c=t,Rc(e,n.b),r=new Le(Sb(Jz(e).a.Kc(),new s));ncv(r);)(i=CY(_I(r),18)).c.i.c||i.c.i.k!=(ni8(),n$p)||Rc(i.c.i,n.a)}function nul(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nEr,e=t).d="ELK Randomizer",i=e).b='Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of "real" layout algorithms.',(r=i).e=new oM,r))),KS(n,nEr,ng$,n1T),KS(n,nEr,ng4,15),KS(n,nEr,ng5,Qx(0)),KS(n,nEr,ngx,ng0)}function nub(){var n,t,e,i,r,a;for(t=0,nub=T,n3H=BJ(n4l,nEK,28,255,15,1),n3U=BJ(n4u,nb5,28,16,15,1);t<255;t++)n3H[t]=-1;for(e=57;e>=48;e--)n3H[e]=e-48<<24>>24;for(i=70;i>=65;i--)n3H[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)n3H[r]=r-97+10<<24>>24;for(a=0;a<10;a++)n3U[a]=48+a&nb9;for(n=10;n<=15;n++)n3U[n]=65+n-10&nb9}function nuw(n){var t,e,i,r,a,c,o,u,s;if(!n.c){if(a=new o3,null==(t=n2L).a.zc(n,t)){for(i=new j2(FS(n));i.e!=i.i.gc();)jM(r=nsW(e=CY(Z6(i),89)),90)&&Nu(a,nuw(CY(r,29))),B7(a,e);t.a.Bc(n),t.a.gc()}for(o=CY(a.g,689),u=a.i-1;u>=0;--u)for(s=0,c=o[u];s<u;++s)if(function n(t,e,i){var r,a,c,o,u,s,h;if(e==i)return!0;if(e=ncp(t,e),i=ncp(t,i),!(r=nnX(e)))return e.e==i.e;if((s=nnX(i))!=r)if(!s)return!1;else return(o=r.mk())==s.mk()&&null!=o;if(e.d||(e.d=new jU(n00,e,1)),a=(c=e.d).i,i.d||(i.d=new jU(n00,i,1)),a==(h=i.d).i){for(u=0;u<a;++u)if(!n(t,CY(GO(c,u),89),CY(GO(h,u),89)))return!1}return!0}(a,c,o[s])){ntD(a,u);break}WG(a),n.c=new Tu((CY(GO($x((NN(),n2c).o),15),19),a.i),a.g),_v(n).b&=-33}return n.c}function nud(n){var t;if(10!=n.c)throw new pH(nlV((T9(),nTj))).e;switch(t=n.a){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 new pH(nlV((T9(),nT0))).e}return t}function nug(n,t,e,i){var r,a,c,o;if(Fv((Ck(),new Le(Sb(JX(t).a.Kc(),new s))))>=n.a||!nir(t,e))return -1;if(KZ(CY(i.Kb(t),20)))return 1;for(r=0,c=CY(i.Kb(t),20).Kc();c.Ob();)if(-1==(o=nug(n,(a=CY(c.Pb(),18)).c.i==t?a.d.i:a.c.i,e,i))||(r=nP_.Math.max(r,o))>n.c-1)return -1;return r+1}function nup(n,t){var e,i,r,a,c,o;if(ER(t)===ER(n))return!0;if(!jM(t,15)||(i=CY(t,15),o=n.gc(),i.gc()!=o))return!1;if(c=i.Kc(),n.Yi()){for(e=0;e<o;++e)if(r=n.Vi(e),a=c.Pb(),null==r?null!=a:!QY(r,a))return!1}else for(e=0;e<o;++e)if(r=n.Vi(e),a=c.Pb(),ER(r)!==ER(a))return!1;return!0}function num(n,t){var e,i,r,a,c,o;if(n.f>0){if(n._j(),null!=t){for(a=0;a<n.d.length;++a)if(e=n.d[a]){for(c=0,i=CY(e.g,379),o=e.i;c<o;++c)if(QY(t,(r=i[c]).md()))return!0}}else for(a=0;a<n.d.length;++a)if(e=n.d[a]){for(c=0,i=CY(e.g,379),o=e.i;c<o;++c)if(r=i[c],ER(t)===ER(r.md()))return!0}}return!1}function nuv(n){switch(n){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return n-48<<24>>24;case 97:case 98:case 99:case 100:case 101:case 102:return n-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return n-65+10<<24>>24;default:throw new p5("Invalid hexadecimal").e}}function nuy(){nuy=T,nIt=new yY("SPIRAL",0),nC5=new yY("LINE_BY_LINE",1),nC8=new yY("MANHATTAN",2),nC6=new yY("JITTER",3),nC7=new yY("QUADRANTS_LINE_BY_LINE",4),nIn=new yY("QUADRANTS_MANHATTAN",5),nC9=new yY("QUADRANTS_JITTER",6),nC4=new yY("COMBINE_LINE_BY_LINE_MANHATTAN",7),nC3=new yY("COMBINE_JITTER_MANHATTAN",8)}function nuk(n,t,e,i){var r,a,c,o,u,h;for(u=neA(n,e),h=neA(t,e),r=!1;u&&h;)if(i||function(n,t,e){var i,r,a,c,o;for(a=n.c,o=e?t:n,i=e?n:t,r=o.p+1;r<i.p;++r)if(!((c=CY(I0(a.a,r),10)).k==(ni8(),n$d)||function(n){var t,e;if(n.k==(ni8(),n$m)){for(e=new Le(Sb(JX(n).a.Kc(),new s));ncv(e);)if(!_p(t=CY(_I(e),18))&&n.c==neI(t,n).c)return!0}return!1}(c)))return!1;return!0}(u,h,e))c=neA(u,e),o=neA(h,e),Ut(t),Ut(n),a=u.c,nfw(u,!1),nfw(h,!1),e?(ntX(t,h.p,a),t.p=h.p,ntX(n,u.p+1,a),n.p=u.p):(ntX(n,u.p,a),n.p=u.p,ntX(t,h.p+1,a),t.p=h.p),Rc(u,null),Rc(h,null),u=c,h=o,r=!0;else break;return r}function nuM(n){switch(n.g){case 0:return new hl;case 1:return new hh;case 3:return new yl;case 4:return new r_;case 5:return new Od;case 6:return new hf;case 2:return new hs;case 7:return new hi;case 8:return new ha;default:throw new pN("No implementation is available for the layerer "+(null!=n.f?n.f:""+n.g)).e}}function nuE(n,t,e,i,r,a,c,o){var u,s,h;for(u=0,null!=t&&(u^=Wb(t.toLowerCase())),null!=e&&(u^=Wb(e)),null!=i&&(u^=Wb(i)),null!=c&&(u^=Wb(c)),null!=o&&(u^=Wb(o)),s=0,h=a.length;s<h;s++)u^=Wb(a[s]);n?u|=256:u&=-257,r?u|=16:u&=-17,this.f=u,this.i=null==t?null:(xf(t),t),this.a=e,this.d=i,this.j=a,this.g=c,this.e=o}function nuT(n,t,e){var i,r;switch(r=null,t.g){case 1:X8(),r=n$E;break;case 2:X8(),r=n$j}switch(i=null,e.g){case 1:X8(),i=n$T;break;case 2:X8(),i=n$M;break;case 3:X8(),i=n$S;break;case 4:X8(),i=n$P}return r&&i?Cz(n.j,new hq(new pU(Vw(DY(nPo,1),nl7,178,0,[CY(NP(r),178),CY(NP(i),178)])))):($O(),$O(),nO_)}function nuj(n,t,e,i,r,a){var c,o,u,s,h,f,l;if(this.b=e,this.d=r,n>=t.length)throw new pC("Greedy SwitchDecider: Free layer not in graph.").e;this.c=t[n],this.e=new OQ(i),Xp(this.e,this.c,(nf5(),n1y)),this.i=new OQ(i),Xp(this.i,this.c,n1n),this.f=new Ai(this.c),this.a=!a&&r.i&&!r.s&&this.c[0].k==(ni8(),n$g),this.a&&(c=t.length,f=(s=this.d.p).e,this.g=new OQ(s.r),o=(h=this.d.o.c.p)>0?f[h-1]:BJ(nAr,npU,10,0,0,1),u=f[h],l=h<f.length-1?f[h+1]:BJ(nAr,npU,10,0,0,1),n==c-1?D_(this.g,u,l):D_(this.g,o,u))}function nuS(n,t){var e,i,r,a,c,o,u,s,h;a=!n.B.Hc((nsv(),n1L)),c=n.B.Hc(n1$),n.a=new YM(c,a,n.c),n.n&&$y(n.a.n,n.n),u=n.g,GL(),s=nIr,h=n.a,u.a[s.g]=h,t||((i=new ZC(1,a,n.c)).n.a=n.k,LQ(n.p,(nf5(),n1t),i),(r=new ZC(1,a,n.c)).n.d=n.k,LQ(n.p,n1m,r),(o=new ZC(0,a,n.c)).n.c=n.k,LQ(n.p,n1y,o),(e=new ZC(0,a,n.c)).n.b=n.k,LQ(n.p,n1n,e))}function nuP(){nuP=T,nQj=new wX(nMc),yf(),nQE=new To(nMf,nQT=nQL),Vv(),nQk=new To(nMo,nQM=nQ$),nru(),nQv=new To(nMu,nQy=nW3),nQd=new To(nMs,null),Bd(),nQp=new To(nMh,nQm=nWZ),ys(),nQh=new To(nMl,nQf=nWW),nQl=new To(nMb,(SB(),!1)),nQb=new To(nMw,Qx(64)),nQw=new To(nMd,!0),nQg=nW1}function nuO(n,t){var e,i,r,a,c,o,u;for(n.p=1,i=n.c,u=new TE,o=Yx(n,(qy(),nGD)).Kc();o.Ob();)for(e=new fU(CY(o.Pb(),12).g);e.a<e.c.c.length;)n!=(c=CY(RU(e),18).d.i)&&c.c.p<=i.p&&((r=i.p+1)==t.b.c.length?((a=new NU(t)).p=r,jB(t.b,a),Rc(c,a)):Rc(c,a=CY(I0(t.b,r),30)),u.a.zc(c,u));return u}function nuC(n){var t,e,i,r,a;if(null==n.a)if(n.a=BJ(n4h,ndV,28,n.c.b.c.length,16,1),n.a[0]=!1,Pn(n.c,(nlL(),nUQ)))for(e=CY(niK(n.c,nUQ),15).Kc();e.Ob();)(t=CY(e.Pb(),17).a)>0&&t<n.a.length&&(n.a[t]=!1);else for((a=new fU(n.c.b)).a<a.c.c.length&&RU(a),i=1;a.a<a.c.c.length;)r=CY(RU(a),30),n.a[i++]=function(n){var t,e,i,r,a,c,o,u;t=!0,r=null,a=null;t:for(u=new fU(n.a);u.a<u.c.c.length;)for(i=new Le(Sb(Jz(o=CY(RU(u),10)).a.Kc(),new s));ncv(i);){if(e=CY(_I(i),18),r&&r!=o||(r=o,c=e.c.i,a&&a!=c)){t=!1;break t}a=c}return t}(r)}function nuI(){nuI=T,nVR=new wX("additionalHeight"),nVK=new wX("drawingHeight"),nVF=new wX("drawingWidth"),nVH=new wX("minHeight"),nVq=new wX("minWidth"),nVX=new wX("rows"),nVz=new wX("targetWidth"),nVG=new P5("minRowIncrease",0),nVB=new P5("maxRowIncrease",0),nVU=new P5("minRowDecrease",0),nV_=new P5("maxRowDecrease",0)}function nuA(n,t){var e,i;switch(i=n.b,t){case 1:n.b|=1,n.b|=4,n.b|=8;break;case 2:n.b|=2,n.b|=4,n.b|=8;break;case 4:n.b|=1,n.b|=2,n.b|=4,n.b|=8;break;case 3:n.b|=16,n.b|=8;break;case 0:n.b|=32,n.b|=16,n.b|=8,n.b|=1,n.b|=2,n.b|=4}if(n.b!=i&&n.c)for(e=new j2(n.c);e.e!=e.i.gc();)nar(_v(CY(Z6(e),482)),t)}function nuL(n,t,e,i){var r,a,c,o,u,s,h,f,l,b;for(r=!1,c=0,o=t.length;c<o;++c)a=t[c],pT((SB(),!!a.e))&&!CY(I0(n.b,a.e.p),219).s&&(r|=(u=a.e,h=(s=CY(I0(n.b,u.p),219)).e,b=h.length,h[f=e?0:b-1][0].k==(ni8(),n$g)?h[f]=function(n,t,e){var i,r,a,c,o;for(c=QU(n,e),o=BJ(nAr,npU,10,t.length,0,1),i=0,a=c.Kc();a.Ob();)pT(PC(niK(r=CY(a.Pb(),12),(nlF(),nKX))))&&(o[i++]=CY(niK(r,nFi),10));if(i<t.length)throw new px("Expected "+t.length+" hierarchical ports, but found only "+i+".").e;return o}(a,h[f],e?(nf5(),n1y):(nf5(),n1n)):s.c.mg(h,e),l=noP(n,s,e,i),noV(s.e,s.o,e),l));return r}function nuN(n,t){var e,i,r,a,c,o,u,s,h,f;if(c=CY(CY(_G(n.r,t),21),87),o=n.u.Hc((nap(),nZ8)),e=n.u.Hc(nZ4),i=n.u.Hc(nZ3),s=n.u.Hc(nZ9),f=n.B.Hc((nsv(),n1_)),h=!e&&!i&&(s||2==c.gc()),!function(n,t){var e,i,r,a,c,o;for(c=CY(CY(_G(n.r,t),21),87).Kc();c.Ob();)(e=(a=CY(c.Pb(),117)).c?IC(a.c):0)>0?a.a?e>(o=a.b.Mf().a)&&(r=(e-o)/2,a.d.b=r,a.d.c=r):a.d.c=n.s+e:Lp(n.u)&&((i=niv(a.b)).c<0&&(a.d.b=-i.c),i.c+i.b>a.b.Mf().a&&(a.d.c=i.c+i.b-a.b.Mf().a))}(n,t),r=null,u=null,o){for(u=r=CY((a=c.Kc()).Pb(),117);a.Ob();)u=CY(a.Pb(),117);r.d.b=0,u.d.c=0,h&&!r.a&&(r.d.c=0)}f&&(!function(n){var t,e,i,r,a;for(t=0,e=0,a=n.Kc();a.Ob();)i=CY(a.Pb(),117),t=nP_.Math.max(t,i.d.b),e=nP_.Math.max(e,i.d.c);for(r=n.Kc();r.Ob();)(i=CY(r.Pb(),117)).d.b=t,i.d.c=e}(c),o&&(r.d.b=0,u.d.c=0))}function nux(n,t){var e,i,r,a,c,o,u,s,h,f;if(c=CY(CY(_G(n.r,t),21),87),o=n.u.Hc((nap(),nZ8)),e=n.u.Hc(nZ4),i=n.u.Hc(nZ3),u=n.u.Hc(nZ9),f=n.B.Hc((nsv(),n1_)),s=!e&&!i&&(u||2==c.gc()),function(n,t){var e,i,r,a,c,o,u;for(o=CY(CY(_G(n.r,t),21),87).Kc();o.Ob();)(i=(c=CY(o.Pb(),117)).c?IO(c.c):0)>0?c.a?i>(u=c.b.Mf().b)&&(n.v||1==c.c.d.c.length?(a=(i-u)/2,c.d.d=a,c.d.a=a):(e=(CY(I0(c.c.d,0),187).Mf().b-u)/2,c.d.d=nP_.Math.max(0,e),c.d.a=i-e-u)):c.d.a=n.t+i:Lp(n.u)&&((r=niv(c.b)).d<0&&(c.d.d=-r.d),r.d+r.a>c.b.Mf().b&&(c.d.a=r.d+r.a-c.b.Mf().b))}(n,t),h=null,r=null,o){for(r=h=CY((a=c.Kc()).Pb(),117);a.Ob();)r=CY(a.Pb(),117);h.d.d=0,r.d.a=0,s&&!h.a&&(h.d.a=0)}f&&(!function(n){var t,e,i,r,a;for(e=0,t=0,a=n.Kc();a.Ob();)i=CY(a.Pb(),117),e=nP_.Math.max(e,i.d.d),t=nP_.Math.max(t,i.d.a);for(r=n.Kc();r.Ob();)(i=CY(r.Pb(),117)).d.d=e,i.d.a=t}(c),o&&(h.d.d=0,r.d.a=0))}function nu$(n){var t;return(64&n.Db)!=0?na7(n):(t=new Sm(na7(n)),t.a+=" (changeable: ",mL(t,(n.Bb&nbB)!=0),t.a+=", volatile: ",mL(t,(n.Bb&njT)!=0),t.a+=", transient: ",mL(t,(n.Bb&nwB)!=0),t.a+=", defaultValueLiteral: ",EW(t,n.j),t.a+=", unsettable: ",mL(t,(n.Bb&njE)!=0),t.a+=", derived: ",mL(t,(n.Bb&nbk)!=0),t.a+=")",t.a)}function nuD(n,t,e,i){var r,a,c,o,u,s;if(null==e){for(o=0,r=CY(n.g,124);o<n.i;++o)if((c=r[o]).Lk()==t)return nnw(n,c,i)}return yP(),a=CY(t,69).xk()?CY(e,76):Fy(t,e),TN(n.e)?(s=!YI(n,t),i=YU(n,a,i),u=t.Jk()?$6(n,3,t,null,e,nhv(n,t,e,jM(t,102)&&(CY(t,19).Bb&nwG)!=0),s):$6(n,1,t,t.ik(),e,-1,s),i?i.nj(u):i=u):i=YU(n,a,i),i}function nuR(){this.b=new FF,this.d=new FF,this.e=new FF,this.c=new FF,this.a=new dc,this.f=new dc,DB(nLA,new c6,new on),DB(nLL,new of,new ol),DB(nAi,new ob,new ow),DB(nAc,new od,new og),DB(nLJ,new op,new om),DB(nP$,new ot,new oe),DB(nPF,new oi,new or),DB(nPR,new oa,new oc),DB(nPK,new oo,new ou),DB(nO5,new os,new oh)}function nuK(n,t){var e,i,r,a,c;for(r=0,n=null==n?nbi:(xf(n),n);r<t.length;r++)t[r]=function(n){var t,e,i,r,a;if(null==n)return nbi;try{return J2(n)}catch(c){if(jM(c=Vt(c),103))return t=c,e=mI(WZ(n))+"@"+(vX(),(Zd(n)>>>0).toString(16)),_h(),i=nCn?new _f(null):function n(t,e){var i,r,a,c,o,u;return(i=CY(Db(t.a,e),525))?i:(r=new _f(e),_h(),c=Di(a=nCn?null:r.c,0,nP_.Math.max(0,Sg(a,niT(46)))),o=n(t,c),!nCn&&o&&(r.d=o),0==(nCn?null:r.c).length&&(u=new U,nCn||jB(r.a,u)),Rr(t.a,nCn?null:r.c,r),r)}(function(){var n,t,e,i,r;return nCx||(nCx=new dW,t=n=new _f(""),vQ(),e=nCN,nCn||(t.b=e),i=nCx,0==((_h(),nCn)?null:n.c).length&&(r=new U,nCn||jB(n.a,r)),Rr(i.a,nCn?null:n.c,n)),nCx}(),"com.google.common.base.Strings"),vQ(),r="Exception during lenientFormat for "+e,(nO9?(function(n){var t,e;if(n.b)return n.b;for(e=nCn?null:n.d;e;){if(t=nCn?null:e.b)return t;e=nCn?null:e.d}vQ()}(i),0):nO7||nCe?(vQ(),0):!nCt||(vQ(),1))||((a=new Ct(r)).b=t,function(n,t){var e,i,r,a,c,o,u;for(i=Wj(n),a=0,o=i.length;a<o;++a)niR(t);for(u=!nCn&&n.e?nCn?null:n.d:null;u;){for(e=Wj(u),r=0,c=e.length;r<c;++r)niR(t);u=!nCn&&u.e?nCn?null:u.d:null}}(i,a)),"<"+e+" threw "+mI(t.Rm)+">";throw c.e}}(t[r]);for(e=new p3,c=0,i=0;i<t.length&&-1!=(a=n.indexOf("%s",c));)e.a+=""+Di(null==n?nbi:(xf(n),n),c,a),EJ(e,t[i++]),c=a+2;if(Kg(e,n,c,n.length),i<t.length){for(e.a+=" [",EJ(e,t[i++]);i<t.length;)e.a+=nl8,EJ(e,t[i++]);e.a+="]"}return e.a}function nuF(n,t){var e,i,r,a,c,o,u,s;for(e=0,u=new fU(t);u.a<u.c.c.length;){for(o=CY(RU(u),12),WU(n.b,n.d[o.p]),c=0,r=new _4(o.b);jr(r.a)||jr(r.b);)xu(i=CY(jr(r.a)?RU(r.a):RU(r.b),18))?(s=o==i.c?i.d:i.c,(a=n.d[s.p])>n.d[o.p]&&(e+=_c(n.b,a),K3(n.a,Qx(a)))):++c;for(e+=n.b.d*c;!pq(n.a);)Ux(n.b,CY(LG(n.a),17).a)}return e}function nu_(n){var t,e,i,r,a,c;return a=0,(t=nec(n)).kk()&&(a|=4),(n.Bb&njE)!=0&&(a|=2),jM(n,102)?(r=nnD(e=CY(n,19)),(e.Bb&nEI)!=0&&(a|=32),r&&(N$(DW(r)),a|=8,((c=r.t)>1||-1==c)&&(a|=16),(r.Bb&nEI)!=0&&(a|=64)),(e.Bb&nwG)!=0&&(a|=njT),a|=nbB):jM(t,469)?a|=512:(i=t.kk())&&(1&i.i)!=0&&(a|=256),(512&n.Bb)!=0&&(a|=128),a}function nuB(n){var t,e,i,r,a,c,o;for(o=new dc,i=new fU(n.a.b);i.a<i.c.c.length;)xM(o,t=CY(RU(i),60),new du);for(r=new fU(n.a.b);r.a<r.c.c.length;)for((t=CY(RU(r),60)).i=nw_,c=t.c.Kc();c.Ob();)a=CY(c.Pb(),60),CY(ED(Aj(o.f,a)),15).Fc(t);for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),60)).c.$b(),t.c=CY(ED(Aj(o.f,t)),15);noY(n)}function nuH(n){var t,e,i,r,a,c,o;for(o=new dc,i=new fU(n.a.b);i.a<i.c.c.length;)xM(o,t=CY(RU(i),86),new du);for(r=new fU(n.a.b);r.a<r.c.c.length;)for((t=CY(RU(r),86)).o=nw_,c=t.f.Kc();c.Ob();)a=CY(c.Pb(),86),CY(ED(Aj(o.f,a)),15).Fc(t);for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),86)).f.$b(),t.f=CY(ED(Aj(o.f,t)),15);noC(n)}function nuU(n,t,e,i,r){var a,c;try{if(t>=n.o)throw(new gf).e;c=t>>5,a=A8(1,AW(A8(31&t,1))),r?n.n[e][c]=R_(n.n[e][c],a):n.n[e][c]=RF(n.n[e][c],Ie(a)),a=A8(a,1),i?n.n[e][c]=R_(n.n[e][c],a):n.n[e][c]=RF(n.n[e][c],Ie(a))}catch(i){if(jM(i=Vt(i),333))throw new pC(ngh+n.o+"*"+n.p+ngf+t+nl8+e+ngl).e;throw i.e}}function nuG(n){var t,e,i;return(64&n.Db)!=0?nri(n):(t=new Sv(nEy),(e=n.k)?EY(EY((t.a+=' "',t),e),'"'):(n.n||(n.n=new Lk(nNt,n,1,7)),n.n.i>0&&(i=(!n.n&&(n.n=new Lk(nNt,n,1,7)),CY(GO(n.n,0),135)).a)&&EY(EY((t.a+=' "',t),i),'"')),EY(mN(EY(mN(EY(mN(EY(mN((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function nuq(n){var t,e,i;return(64&n.Db)!=0?nri(n):(t=new Sv(nEk),(e=n.k)?EY(EY((t.a+=' "',t),e),'"'):(n.n||(n.n=new Lk(nNt,n,1,7)),n.n.i>0&&(i=(!n.n&&(n.n=new Lk(nNt,n,1,7)),CY(GO(n.n,0),135)).a)&&EY(EY((t.a+=' "',t),i),'"')),EY(mN(EY(mN(EY(mN(EY(mN((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function nuX(n,t){var e,i,r,a,c,o;if(null==t||0==t.length)return null;if(!(r=CY(Db(n.a,t),143))){for(i=new fx(new fN(n.b).a.vc().Kc());i.a.Ob();)if(a=CY(i.a.Pb(),44),c=(e=CY(a.md(),143)).c,o=t.length,OB(c.substr(c.length-o,o),t)&&(t.length==c.length||46==xq(c,c.length-t.length-1))){if(r)return null;r=e}r&&Rr(n.a,t,r)}return r}function nuz(n){var t,e,i;!Pn(n,(nlL(),nHB))||(i=CY(niK(n,nHB),21)).dc()||(e=new O9(t=CY(mP(nLB),9),CY(Oc(t,t.length),9),0),i.Hc((nc$(),nZK))?Xf(e,nZK):Xf(e,nZF),i.Hc(nZD)||Xf(e,nZD),i.Hc(nZ$)?Xf(e,nZH):i.Hc(nZx)?Xf(e,nZB):i.Hc(nZR)&&Xf(e,nZ_),i.Hc(nZH)?Xf(e,nZ$):i.Hc(nZB)?Xf(e,nZx):i.Hc(nZ_)&&Xf(e,nZR),VD(n,nHB,e))}function nuV(n,t,e,i,r){var a,c,o,u,s,h,f;if(!(jM(t,207)||jM(t,366)||jM(t,193)))throw new pN("Method only works for ElkNode-, ElkLabel and ElkPort-objects.").e;return c=n.a/2,u=t.i+i-c,h=t.j+r-c,s=u+t.g+n.a,f=h+t.f+n.a,IA(a=new gj,new MH(u,h)),IA(a,new MH(u,f)),IA(a,new MH(s,f)),IA(a,new MH(s,h)),zU(o=new ncT(a),t),e&&xM(n.b,t,o),o}function nuW(n,t,e){var i,r,a,c,o,u,s,h;for(a=new MH(t,e),s=new fU(n.a);s.a<s.c.c.length;)for(OT((u=CY(RU(s),10)).n,a),h=new fU(u.j);h.a<h.c.c.length;)for(r=new fU(CY(RU(h),12).g);r.a<r.c.c.length;)for(zc((i=CY(RU(r),18)).a,a),(c=CY(niK(i,(nlL(),nHP)),75))&&zc(c,a),o=new fU(i.b);o.a<o.c.c.length;)OT(CY(RU(o),72).n,a)}function nuQ(n){if(0==(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i)throw new pF("Edges must have a source.").e;if(0==(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i)throw new pF("Edges must have a target.").e;if(n.b||(n.b=new Ox(nL4,n,4,7)),!(n.b.i<=1&&(n.c||(n.c=new Ox(nL4,n,5,8)),n.c.i<=1)))throw new pF("Hyperedges are not supported.").e}function nuJ(n,t){var e,i,r,a,c,o,u,s,h,f;for(f=0,K3(a=new j1,t);a.b!=a.c;)for(u=CY(LG(a),219),s=0,h=CY(niK(t.j,(nlL(),nBQ)),284),c=pj(PI(niK(t.j,nBq))),o=pj(PI(niK(t.j,nBX))),h!=(Zu(),nGO)&&(s+=c*function(n,t){var e,i,r,a,c,o,u,s;for(u=-1,s=0,c=0,o=n.length;c<o;++c){for(i=0,a=n[c],e=new Is(-1==u?n[0]:n[u],t,(QS(),nGi));i<a.length;i++)for(r=i+1;r<a.length;r++)Pn(a[i],(nlF(),nK4))&&Pn(a[r],nK4)&&nlM(e,a[i],a[r])>0&&++s;++u}return s}(u.e,h)+o*function(n){var t,e,i,r,a,c,o,u,s,h,f;for(h=-1,f=0,u=0,s=n.length;u<s;++u){for(o=n[u],a=0,c=o.length;a<c;++a)for(e=0,r=o[a],t=new KQ(-1==h?n[0]:n[h],CY(niK(xi(r),(nlL(),nBQ)),284),nt0(r),pT(PC(niK(xi(r),nBW))));e<r.j.c.length;e++)for(i=e+1;i<r.j.c.length;i++)Lb(t,CY(I0(r.j,e),12),CY(I0(r.j,i),12))>0&&++f;++h}return f}(u.e)),f+=ntT(u.d,u.e)+s,r=new fU(u.b);r.a<r.c.c.length;)i=CY(RU(r),36),(e=CY(I0(n.b,i.p),219)).s||(f+=nrZ(n,e));return f}function nuY(){var n;for(n=0,nuY=T,nOA=new FI(1,1),nON=new FI(1,10),nO$=new FI(0,0),nOI=new FI(-1,1),nOL=Vw(DY(nPx,1),nby,92,0,[nO$,nOA,new FI(1,2),new FI(1,3),new FI(1,4),new FI(1,5),new FI(1,6),new FI(1,7),new FI(1,8),new FI(1,9),nON]),nOx=BJ(nPx,nby,92,32,0,1);n<nOx.length;n++)nOx[n]=EH(A8(1,n),0)?Yq(A8(1,n)):Nt(Yq(H4(A8(1,n))))}function nuZ(n,t,e,i,r,a,c){if(n.c=i.Lf().a,n.d=i.Lf().b,r&&(n.c+=r.Lf().a,n.d+=r.Lf().b),n.b=t.Mf().a,n.a=t.Mf().b,r)switch(r.ag().g){case 0:case 2:n.c+=r.Mf().a+c+a.a+c;break;case 4:n.c-=c+a.a+c+t.Mf().a;break;case 1:n.c+=r.Mf().a+c,n.d-=c+a.b+c+t.Mf().b;break;case 3:n.c+=r.Mf().a+c,n.d+=r.Mf().b+c+a.b+c}else e?n.c-=c+t.Mf().a:n.c+=i.Mf().a+c}function nu1(n,t){var e,i,r,a;this.b=new du,this.e=new du,this.a=n,this.d=t,r=this.a;do(r=CY(_I(new Le(Sb(Jz(r).a.Kc(),new s))),18).c.i).k==(ni8(),n$m)&&this.b.Fc(r);while(r.k==(ni8(),n$m))this.b=Yi(this.b);a=this.a;do(a=CY(_I(new Le(Sb(JV(a).a.Kc(),new s))),18).d.i).k==(ni8(),n$m)&&jB(this.e,a);while(a.k==(ni8(),n$m))for(this.b.dc()?this.c=n.c.p:this.c=CY(this.b.Xb(0),10).c.p,0==this.e.c.length?this.f=n.c.p:this.f=CY(I0(this.e,this.e.c.length-1),10).c.p,i=CY(niK(n,(nlF(),nFo)),15).Kc();i.Ob();)if(Pn(e=CY(i.Pb(),72),(nlL(),nHr))){this.d=CY(niK(e,nHr),232);break}}function nu0(n,t,e){var i,r,a,c,o,u,s,h;for(i=CY(NR(n.a,t),49),a=CY(NR(n.a,e),49),r=CY(NR(n.e,t),49),c=CY(NR(n.e,e),49),i.a.zc(e,i),c.a.zc(t,c),h=a.a.ec().Kc();h.Ob();)s=CY(h.Pb(),10),i.a.zc(s,i),LX(CY(NR(n.e,s),49),t),Xx(CY(NR(n.e,s),49),r);for(u=r.a.ec().Kc();u.Ob();)o=CY(u.Pb(),10),c.a.zc(o,c),LX(CY(NR(n.a,o),49),e),Xx(CY(NR(n.a,o),49),a)}function nu2(n,t,e){var i,r,a,c,o,u,s,h;for(i=CY(NR(n.a,t),49),a=CY(NR(n.a,e),49),r=CY(NR(n.b,t),49),c=CY(NR(n.b,e),49),i.a.zc(e,i),c.a.zc(t,c),h=a.a.ec().Kc();h.Ob();)s=CY(h.Pb(),10),i.a.zc(s,i),LX(CY(NR(n.b,s),49),t),Xx(CY(NR(n.b,s),49),r);for(u=r.a.ec().Kc();u.Ob();)o=CY(u.Pb(),10),c.a.zc(o,c),LX(CY(NR(n.a,o),49),e),Xx(CY(NR(n.a,o),49),a)}function nu3(n,t,e){var i,r,a,c,o,u,s,h;for(i=CY(NR(n.a,t),49),a=CY(NR(n.a,e),49),r=CY(NR(n.d,t),49),c=CY(NR(n.d,e),49),i.a.zc(e,i),c.a.zc(t,c),h=a.a.ec().Kc();h.Ob();)s=CY(h.Pb(),12),i.a.zc(s,i),LX(CY(NR(n.d,s),49),t),Xx(CY(NR(n.d,s),49),r);for(u=r.a.ec().Kc();u.Ob();)o=CY(u.Pb(),12),c.a.zc(o,c),LX(CY(NR(n.a,o),49),e),Xx(CY(NR(n.a,o),49),a)}function nu4(n){var t,e,i,r,a,c,o,u,s,h,f;for(e=nbJ,r=nl3,o=new fU(n.e.a);o.a<o.c.c.length;)a=CY(RU(o),125),r=nP_.Math.min(r,a.e),e=nP_.Math.max(e,a.e);for(t=BJ(n4s,nwl,28,e-r+1,15,1),c=new fU(n.e.a);c.a<c.c.c.length;)a=CY(RU(c),125),a.e-=r,++t[a.e];if(i=0,null!=n.k)for(s=n.k,h=0,f=s.length;h<f&&(u=s[h],t[i++]+=u,t.length!=i);++h);return t}function nu6(n){switch(n.d){case 9:case 8:return!0;case 3:case 5:case 4:case 6:default:return!1;case 7:return CY(noQ(n),17).a==n.o;case 1:case 2:if(-2==n.o)return!1;switch(n.p){case 0:case 1:case 2:case 6:case 5:case 7:return EB(n.k,n.f);case 3:case 4:return n.j==n.e;default:return null==n.n?null==n.g:QY(n.n,n.g)}}}function nu5(n,t,e){var i,r,a,c,o,u,s,h,f;for(a=new Bf(t.c.length),s=new fU(t);s.a<s.c.c.length;)c=CY(RU(s),10),jB(a,n.b[c.c.p][c.p]);for(function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(o=new fU(t);o.a<o.c.c.length;)(a=CY(RU(o),239)).e=null,a.c=0;for(u=null,c=new fU(t);c.a<c.c.c.length;)if(f=(a=CY(RU(c),239)).d[0],!e||f.k==(ni8(),n$v)){for(b=CY(niK(f,(nlF(),nKW)),15).Kc();b.Ob();)l=CY(b.Pb(),10),(!e||l.k==(ni8(),n$v))&&((!a.e&&(a.e=new du),a.e).Fc(n.b[l.c.p][l.p]),++n.b[l.c.p][l.p].c);if(!e&&f.k==(ni8(),n$v)){if(u)for(h=CY(_G(n.d,u),21).Kc();h.Ob();)for(s=CY(h.Pb(),10),r=CY(_G(n.d,f),21).Kc();r.Ob();)i=CY(r.Pb(),10),((w=n.b[s.c.p][s.p]).e||(w.e=new du),w.e).Fc(n.b[i.c.p][i.p]),++n.b[i.c.p][i.p].c;u=f}}}(n,a,e),f=null;f=function(n){var t,e,i,r,a,c,o,u,s,h;for(t=null,i=new fU(n);i.a<i.c.c.length;)pj(jD((e=CY(RU(i),239)).g,e.d[0]).a),e.b=null,e.e&&e.e.gc()>0&&0==e.c&&(t||(t=new du),dk(t.c,e));if(t)for(;0!=t.c.length;){if((e=CY(_V(t,0),239)).b&&e.b.c.length>0){for(e.b||(e.b=new du),a=new fU(e.b);a.a<a.c.c.length;)if(xf(s=jD((r=CY(RU(a),239)).g,r.d[0]).a),s==(xf(h=jD(e.g,e.d[0]).a),h)){if(H6(n,r,0)>H6(n,e,0))return new Ea(r,e)}else if(pj(jD(r.g,r.d[0]).a)>pj(jD(e.g,e.d[0]).a))return new Ea(r,e)}for(o=(!e.e&&(e.e=new du),e.e).Kc();o.Ob();)(c=CY(o.Pb(),239)).b||(c.b=new du),RL(0,(u=c.b).c.length),kt(u.c,0,e),c.c==u.c.length&&dk(t.c,c)}return null}(a);)!function(n,t,e,i){var r,a,c,o,u,s;for(c=new nfk(n,t,e),u=new Kp(i,0),r=!1;u.b<u.d.gc();)Px(u.b<u.d.gc()),(o=CY(u.d.Xb(u.c=u.b++),239))==t||o==e?N6(u):!r&&pj(jD(o.g,o.d[0]).a)>pj(jD(c.g,c.d[0]).a)?(Px(u.b>0),u.a.Xb(u.c=--u.b),Oe(u,c),r=!0):o.e&&o.e.gc()>0&&(a=(!o.e&&(o.e=new du),o.e).Mc(t),s=(!o.e&&(o.e=new du),o.e).Mc(e),(a||s)&&((!o.e&&(o.e=new du),o.e).Fc(c),++c.c));r||dk(i.c,c)}(n,CY(f.a,239),CY(f.b,239),a);for(t.c.length=0,r=new fU(a);r.a<r.c.c.length;)for(o=(i=CY(RU(r),239)).d,u=0,h=o.length;u<h;++u)c=o[u],dk(t.c,c),n.a[c.c.p][c.p].a=jD(i.g,i.d[0]).a}function nu8(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nEi,e=t).d="ELK Fixed",i=e).b="Keeps the current layout as it is, without any automatic modification. Optional coordinates can be given for nodes and edge bend points.",(r=i).e=new ok,r))),KS(n,nEi,ng$,nZE),KS(n,nEi,nyT,Z4(nZT)),KS(n,nEi,nM_,Z4(nZm)),KS(n,nEi,npr,Z4(nZv)),KS(n,nEi,npE,Z4(nZk)),KS(n,nEi,npe,Z4(nZy))}function nu9(n,t,e){var i,r,a,c;if(i=AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15))),c=AW(J_(nbR,xC(AW(J_(null==e?0:XS(e),nbK)),15))),(a=XG(n,t,i))&&c==a.f&&N7(e,a.i))return e;if(Xq(n,e,c))throw new pN("value already present: "+e).e;return(r=new xd(t,i,e,c),a)?(noe(n,a),nah(n,r,a),a.e=null,a.c=null,a.i):(nah(n,r,null),nel(n),null)}function nu7(){nu7=T,nGT=new kz(npL,0),nGv=new kz("NIKOLOV",1),nGM=new kz("NIKOLOV_PIXEL",2),nGy=new kz("NIKOLOV_IMPROVED",3),nGk=new kz("NIKOLOV_IMPROVED_PIXEL",4),nGg=new kz("DUMMYNODE_PERCENTAGE",5),nGE=new kz("NODECOUNT_PERCENTAGE",6),nGj=new kz("NO_BOUNDARY",7),nGp=new kz("MODEL_ORDER_LEFT_TO_RIGHT",8),nGm=new kz("MODEL_ORDER_RIGHT_TO_LEFT",9)}function nsn(){nsn=T,nzV=new To(nkM,(SB(),!1)),nz1=new To(nkE,Qx(0)),nz0=new To(nkT,0),nz2=new To(nkj,!1),WW(),nzQ=new To(nkS,nzJ=nzG),Qx(0),nzW=new To(nkP,Qx(1)),zf(),nz5=new To(nkO,nz8=nVS),Hp(),nz9=new To(nkC,nz7=nzH),nti(),nzY=new To(nkI,nzZ=nVE),nz6=new To(nkA,0),nz3=new To(nkL,!1),nz4=new To(nkN,!1)}function nst(n,t,e){var i,r,a,c,o,u;if(!t)return null;if(!(e<=-1))return nnD(CY(Gt(n.Dh(),e),19));if(jM(i=Gt(t.Dh(),-1-e),102))return CY(i,19);for(o=0,u=(c=CY(t.Mh(i),160)).gc();o<u;++o)if(ER(c.Ul(o))===ER(n)&&jM(r=c.Tl(o),102)&&((a=CY(r,19)).Bb&nEI)!=0)return a;throw new px("The containment feature could not be located").e}function nse(){nse=T,nV6=new To(nkq,(SB(),!1)),Qx(-1),nVY=new To(nkX,Qx(-1)),Qx(-1),nVZ=new To(nkz,Qx(-1)),nV1=new To(nkV,!1),_d(),nWn=new To(nkW,nWt=nWC),nWe=new To(nkQ,-1),Jq(),nV9=new To(nkJ,nV7=nVQ),nV8=new To(nkY,!0),HY(),nV3=new To(nkZ,nV4=nWL),nV2=new To(nk1,!1),Qx(1),nV0=new To(nk0,Qx(1)),nV5=new wX(nk2)}function nsi(){nsi=T,nXs=new Mw("ROOT_PROC",0),nXe=new Mw("FAN_PROC",1),nXc=new Mw("LEVEL_PROC",2),nXo=new Mw("NEIGHBORS_PROC",3),nXa=new Mw("LEVEL_HEIGHT",4),nXt=new Mw("DIRECTION_PROC",5),nXu=new Mw("NODE_POSITION_PROC",6),nq7=new Mw("COMPACTION_PROC",7),nXr=new Mw("LEVEL_COORDS",8),nXi=new Mw("GRAPH_BOUNDS_PROC",9),nXn=new Mw("DETREEIFYING_PROC",10)}function nsr(n,t){var e,i,r,a,c,o,u,s;for(a=0,s=$7(t),o=null,r=!1,u=FS(s.a).i;a<u;++a)(e=nsr(n,CY(nfp(s,a,jM(c=CY(GO(FS(s.a),a),89).c,90)?CY(c,29):(nlq(),n2y)),29))).dc()||(o?(r||(r=!0,o=new Ay(o)),o.Gc(e)):o=e);return(i=function(n,t){var e,i,r,a,c;for(t.s||(t.s=new Lk(n0V,t,21,17)),a=null,r=0,c=(i=t.s).i;r<c;++r)switch(xb(Ua(n,e=CY(GO(i,r),179)))){case 2:case 3:a||(a=new du),dk(a.c,e)}return a||($O(),$O(),nO_)}(n,t)).dc()?o||($O(),$O(),nO_):o?(r||(o=new Ay(o)),o.Gc(i),o):i}function nsa(n,t){var e,i,r,a,c,o,u,s;for(a=0,s=$7(t),o=null,i=!1,u=FS(s.a).i;a<u;++a)(e=nsa(n,CY(nfp(s,a,jM(c=CY(GO(FS(s.a),a),89).c,90)?CY(c,29):(nlq(),n2y)),29))).dc()||(o?(i||(i=!0,o=new Ay(o)),o.Gc(e)):o=e);return(r=function(n,t){var e,i,r,a,c;for(t.s||(t.s=new Lk(n0V,t,21,17)),a=null,r=0,c=(i=t.s).i;r<c;++r)switch(xb(Ua(n,e=CY(GO(i,r),179)))){case 4:case 5:case 6:a||(a=new du),dk(a.c,e)}return a||($O(),$O(),nO_)}(n,t)).dc()?o||($O(),$O(),nO_):o?(i||(o=new Ay(o)),o.Gc(r),o):r}function nsc(n,t,e){var i,r,a,c,o,u;if(jM(t,76))return nnw(n,t,e);for(c=0,o=null,a=null,i=CY(n.g,124);c<n.i;++c)if(QY(t,(r=i[c]).md())&&jM(a=r.Lk(),102)&&(CY(a,19).Bb&nEI)!=0){o=r;break}return o&&(TN(n.e)&&(u=a.Jk()?$6(n,4,a,t,null,nhv(n,a,t,jM(a,102)&&(CY(a,19).Bb&nwG)!=0),!0):$6(n,a.tk()?2:1,a,t,a.ik(),-1,!0),e?e.nj(u):e=u),e=nsc(n,o,e)),e}function nso(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nMm,e=t).d="ELK SPOrE Overlap Removal",i=e).b='A node overlap removal algorithm proposed by Nachmanson et al. in "Node overlap removal by growing a tree".',(r=i).e=new cX,r))),KS(n,nMm,nMc,Z4(nQA)),KS(n,nMm,ng$,nQC),KS(n,nMm,ng4,8),KS(n,nMm,nMf,Z4(nQI)),KS(n,nMm,nMw,Z4(nQP)),KS(n,nMm,nMd,Z4(nQO)),KS(n,nMm,nye,(SB(),!1))}function nsu(n,t,e,i){var r,a,c,o,u,s,h,f;for(c=Pu(t.c,e,i),h=new fU(t.a);h.a<h.c.c.length;){for(OT((s=CY(RU(h),10)).n,c),f=new fU(s.j);f.a<f.c.c.length;)for(a=new fU(CY(RU(f),12).g);a.a<a.c.c.length;)for(zc((r=CY(RU(a),18)).a,c),(o=CY(niK(r,(nlL(),nHP)),75))&&zc(o,c),u=new fU(r.b);u.a<u.c.c.length;)OT(CY(RU(u),72).n,c);jB(n.a,s),s.a=n}}function nss(n){var t,e,i,r,a,c;if(n.d)throw new px((PL(nI5),ndS+nI5.k+ndP)).e;for(n.c==(Ju(),nY7)&&nfz(n,nY8),t=new fU(n.a.a);t.a<t.c.c.length;)CY(RU(t),194).e=0;for(a=new fU(n.a.b);a.a<a.c.c.length;)for((r=CY(RU(a),86)).o=nw_,i=r.f.Kc();i.Ob();)e=CY(i.Pb(),86),++e.d.e;for(function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(s=nwF,i=new fU(n.a.b);i.a<i.c.c.length;)t=CY(RU(i),86),s=nP_.Math.min(s,t.d.f.g.c+t.e.a);for(b=new vq,c=new fU(n.a.a);c.a<c.c.c.length;)(a=CY(RU(c),194)).i=s,0==a.e&&F_(b,a,b.c.b,b.c);for(;0!=b.b;){for(r=(a=CY(0==b.b?null:(Px(0!=b.b),Gy(b,b.a.a)),194)).f.g.c,l=a.a.a.ec().Kc();l.Ob();)h=CY(l.Pb(),86),d=a.i+h.e.a,h.d.g||h.g.c<d?h.o=d:h.o=h.g.c;for(r-=a.f.o,a.b+=r,n.c==(Ju(),nY9)||n.c==nY5?a.c+=r:a.c-=r,f=a.a.a.ec().Kc();f.Ob();)for(u=(h=CY(f.Pb(),86)).f.Kc();u.Ob();)o=CY(u.Pb(),86),w=T$(n.c)?n.f.yf(h,o):n.f.zf(h,o),o.d.i=nP_.Math.max(o.d.i,h.o+h.g.b+w-o.e.a),o.k||(o.d.i=nP_.Math.max(o.d.i,o.g.c-o.e.a)),--o.d.e,0==o.d.e&&IA(b,o.d)}for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),86)).g.c=t.o}(n),c=new fU(n.a.b);c.a<c.c.c.length;)CY(RU(c),86).k=!0;return n}function nsh(n){var t,e,i,r,a,c,o,u;if(1!=(i=pj(PI(ncx(n,(nl_(),nYL))))))for(T_(n,i*n.g,i*n.f),n.c||(n.c=new Lk(nNi,n,9,9)),c=n.c,o=new oA,NP(c),NP(o),NP(u=new Ik(c,o)),e=new TO(u),a=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(n.n||(n.n=new Lk(nNt,n,1,7)),n.n),(n.c||(n.c=new Lk(nNi,n,9,9)),n.c),e])));ncv(a);)(r=CY(_I(a),422)).qh(i*r.nh(),i*r.oh()),r.ph(i*r.mh(),i*r.lh()),(t=CY(r.of(nYp),8))&&(t.a*=i,t.b*=i)}function nsf(n,t,e){var i,r,a,c,o;if(yP(),c=CY(t,69).xk(),noz(n.e,t)){if(t.Si()&&nhc(n,t,e,jM(t,102)&&(CY(t,19).Bb&nwG)!=0))return!1}else for(a=0,o=nox(n.e.Dh(),t),i=CY(n.g,124);a<n.i;++a)if(r=i[a],o.am(r.Lk()))if(c?QY(r,e):null==e?null==r.md():QY(e,r.md()))return!1;else return CY(nnv(n,a,c?CY(e,76):Fy(t,e)),76),!0;return B7(n,c?CY(e,76):Fy(t,e))}function nsl(n,t,e,i){this.e=n,this.k=CY(niK(n,(nlF(),nFf)),312),this.g=BJ(nAr,npU,10,t,0,1),this.b=BJ(nPS,nby,345,t,7,1),this.a=BJ(nAr,npU,10,t,0,1),this.d=BJ(nPS,nby,345,t,7,1),this.j=BJ(nAr,npU,10,t,0,1),this.i=BJ(nPS,nby,345,t,7,1),this.p=BJ(nPS,nby,345,t,7,1),this.n=BJ(nPE,nby,485,t,8,1),y$(this.n,(SB(),!1)),this.f=BJ(nPE,nby,485,t,8,1),y$(this.f,!0),this.o=e,this.c=i}function nsb(n,t){var e,i,r,a,c,o;if(!t.dc())if(CY(t.Xb(0),293).d==(nr_(),nRd)){if(0!=(o=function(n,t){var e,i,r;for(r=new Bf(t.gc()),i=t.Kc();i.Ob();)(e=CY(i.Pb(),293)).c==e.f?nrS(n,e,e.c):function(n,t){var e,i,r;for(e=t.a.o.a,r=new fq(new Rk(xi(t.a).b,t.c,t.f+1));r.b<r.d.gc();)if(Px(r.b<r.d.gc()),(i=CY(r.d.Xb(r.c=r.b++),30)).c.a>=e)return nrS(n,t,i.p),!0;return!1}(n,e)||dk(r.c,e);return r}(n,t)).c.length)for(ji(o,new eN),a=o.c.length,c=0;c<a;c++)nrS(n,(RN(c,o.c.length),CY(o.c[c],293)),function(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(a=t.c.length,RN(e,t.c.length),o=(c=CY(t.c[e],293)).a.o.a,f=c.c,l=0,s=c.c;s<=c.f;s++){if(o<=n.a[s])return s;for(h=n.a[s],u=null,r=e+1;r<a;r++)RN(r,t.c.length),(i=CY(t.c[r],293)).c<=s&&i.f>=s&&(u=i);u&&(h=nP_.Math.max(h,u.a.o.a)),h>l&&(f=s,l=h)}return f}(n,o,c))}else for(i=t.Kc();i.Ob();){switch((e=CY(i.Pb(),293)).d.g){case 5:nrS(n,e,function(n,t){var e,i,r;for(e=0,r=(i=function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(r=2*pj(PI(niK(u=xi(t.a),(nlL(),nUE)))),h=pj(PI(niK(u,nUI))),s=nP_.Math.max(r,h),a=BJ(n4b,nwX,28,t.f-t.c+1,15,1),i=-s,e=0,o=t.b.Kc();o.Ob();)c=CY(o.Pb(),10),i+=n.a[c.c.p]+s,a[e++]=i;for(i+=n.a[t.a.c.p]+s,a[e++]=i,l=new fU(t.e);l.a<l.c.c.length;)f=CY(RU(l),10),i+=n.a[f.c.p]+s,a[e++]=i;return a}(n,t))[i.length-1]/2;e<i.length;e++)if(i[e]>=r)return t.c+e;return t.c+t.b.gc()}(n,e));break;case 0:nrS(n,e,(r=(e.f-e.c+1-1)/2|0,e.c+r));break;case 4:nrS(n,e,function(n,t){var e,i;for(e=(i=t.c)+1;e<=t.f;e++)n.a[e]>n.a[i]&&(i=e);return i}(n,e));break;case 2:YT(e),nrS(n,e,ne0(e)?e.c:e.f);break;case 1:YT(e),nrS(n,e,ne0(e)?e.f:e.c)}!function(n){var t;for(X2(),t=CY(_I(new Le(Sb(Jz(n).a.Kc(),new s))),18).c.i;t.k==(ni8(),n$m);)VD(t,(nlF(),nKY),(SB(),!0)),t=CY(_I(new Le(Sb(Jz(t).a.Kc(),new s))),18).c.i}(e.a)}}function nsw(n,t,e,i){var r,a,c;return c=new vT(t,e),n.a?i?(r=CY(xh(CY(NR(n.b,t),260)),260),++r.a,c.d=i.d,c.e=i.e,c.b=i,c.c=i,i.e?i.e.c=c:r.b=c,i.d?i.d.b=c:n.a=c,i.d=c,i.e=c):(CY(xh(n.e),511).b=c,c.d=n.e,n.e=c,(r=CY(NR(n.b,t),260))?(++r.a,(a=r.c).c=c,c.e=a,r.c=c):(xM(n.b,t,r=new $F(c)),++n.c)):(n.a=n.e=c,xM(n.b,t,new $F(c)),++n.c),++n.d,c}function nsd(n,t){var e,i,r,a,c,o,u,s;if(t.Ug("Network simplex",1),n.e.a.c.length<1)return void t.Vg();for(r=new fU(n.e.a);r.a<r.c.c.length;)CY(RU(r),125).e=0;if((a=n.e.a.c.length>=40)&&function(n){var t,e,i,r,a,c,o;for(n.o=new j1,i=new vq,c=new fU(n.e.a);c.a<c.c.c.length;)1==W1(a=CY(RU(c),125)).c.length&&F_(i,a,i.c.b,i.c);for(;0!=i.b;)0!=W1(a=CY(0==i.b?null:(Px(0!=i.b),Gy(i,i.a.a)),125)).c.length&&(t=CY(I0(W1(a),0),218),e=a.g.a.c.length>0,o=J6(t,a),e?Sx(o.b,t):Sx(o.g,t),1==W1(o).c.length&&F_(i,o,i.c.b,i.c),r=new Ea(a,t),K3(n.o,r),H0(n.e.a,a))}(n),function(n){var t,e,i,r,a,c,o,u,s,h;for(s=n.e.a.c.length,a=new fU(n.e.a);a.a<a.c.c.length;)CY(RU(a),125).j=!1;for(n.i=BJ(n4s,nwl,28,s,15,1),n.g=BJ(n4s,nwl,28,s,15,1),n.n=new du,r=0,h=new du,o=new fU(n.e.a);o.a<o.c.c.length;)(c=CY(RU(o),125)).d=r++,0==c.b.a.c.length&&jB(n.n,c),Vc(h,c.g);for(t=0,i=new fU(h);i.a<i.c.c.length;)(e=CY(RU(i),218)).c=t++,e.f=!1;u=h.c.length,null==n.b||n.b.length<u?(n.b=BJ(n4b,nwX,28,u,15,1),n.c=BJ(n4h,ndV,28,u,16,1)):pG(n.c),n.d=h,n.p=new SM(Ga(n.d.c.length)),n.j=1}(n),function(n,t){var e,i,r,a,c,o,u;for(r=BJ(n4s,nwl,28,n.e.a.c.length,15,1),c=new fU(n.e.a);c.a<c.c.c.length;)a=CY(RU(c),125),r[a.d]+=a.b.a.c.length;for(o=CJ(t);0!=o.b;)for(i=Hd(new fU((a=CY(0==o.b?null:(Px(0!=o.b),Gy(o,o.a.a)),125)).g.a));i.Ob();)(u=(e=CY(i.Pb(),218)).e).e=nP_.Math.max(u.e,a.e+e.a),--r[u.d],0==r[u.d]&&F_(o,u,o.c.b,o.c)}(n,n.n),n.d.c.length>0){for(pG(n.c);function n(t,e){var i,r,a,c;for(a=1,e.j=!0,c=null,r=new fU(W1(e));r.a<r.c.c.length;)i=CY(RU(r),218),!t.c[i.c]&&(t.c[i.c]=!0,c=J6(i,e),i.f?a+=n(t,c):c.j||i.a!=i.e.e-i.d.e||(i.f=!0,LX(t.p,i),a+=n(t,c)));return a}(n,CY(RU(new fU(n.e.a)),125))<n.e.a.c.length;){for(s=(c=function(n){var t,e,i,r,a;for(r=nl3,a=null,i=new fU(n.d);i.a<i.c.c.length;)(e=CY(RU(i),218)).d.j^e.e.j&&(t=e.e.e-e.d.e-e.a)<r&&(r=t,a=e);return a}(n)).e.e-c.d.e-c.a,c.e.j&&(s=-s),u=new fU(n.e.a);u.a<u.c.c.length;)(o=CY(RU(u),125)).j&&(o.e+=s);pG(n.c)}pG(n.c),nam(n,CY(RU(new fU(n.e.a)),125)),nfm(n)}for(e=JE(n),i=0;e&&i<n.f;)(function(n,t,e){var i,r,a;if(!t.f)throw new pN("Given leave edge is no tree edge.").e;if(e.f)throw new pN("Given enter edge is a tree edge already.").e;for(t.f=!1,jL(n.p,t),e.f=!0,LX(n.p,e),i=e.e.e-e.d.e-e.a,nac(n,e.e,t)||(i=-i),a=new fU(n.e.a);a.a<a.c.c.length;)nac(n,r=CY(RU(a),125),t)||(r.e+=i);n.j=1,pG(n.c),nam(n,CY(RU(new fU(n.e.a)),125)),nfm(n)})(n,e,function(n,t){var e,i,r,a,c,o,u;if(!t.f)throw new pN("The input edge is not a tree edge.").e;for(a=null,r=nl3,i=new fU(n.d);i.a<i.c.c.length;)o=(e=CY(RU(i),218)).d,u=e.e,nac(n,o,t)&&!nac(n,u,t)&&(c=u.e-o.e-e.a)<r&&(r=c,a=e);return a}(n,e)),e=JE(n),++i;a&&function(n){for(var t,e,i,r;!pq(n.o);)e=CY(LG(n.o),42),i=CY(e.a,125),r=J6(t=CY(e.b,218),i),t.e==i?(SN(r.g,t),i.e=r.e+t.a):(SN(r.b,t),i.e=r.e-t.a),jB(n.e.a,i)}(n),n.a?function(n,t){var e,i,r,a,c;for(c=null,a=new fU(n.e.a);a.a<a.c.c.length;)if((r=CY(RU(a),125)).b.a.c.length==r.g.a.c.length){for(i=r.e,c=function(n){var t,e,i,r,a;for(a=nl3,r=nl3,i=new fU(W1(n));i.a<i.c.c.length;)t=(e=CY(RU(i),218)).e.e-e.d.e,e.e==n&&t<r?r=t:t<a&&(a=t);return r==nl3&&(r=-1),a==nl3&&(a=-1),new Ea(Qx(r),Qx(a))}(r),e=r.e-CY(c.a,17).a+1;e<r.e+CY(c.b,17).a;e++)t[e]<t[i]&&(i=e);t[i]<t[r.e]&&(--t[r.e],++t[i],r.e=i)}}(n,nu4(n)):nu4(n),n.b=null,n.d=null,n.p=null,n.c=null,n.g=null,n.i=null,n.n=null,n.o=null,t.Vg()}function nsg(n,t,e,i,r,a){var c,o,u,s,h,f,l,b,w,d,g,p,m;for(o=(i+r)/2+a,d=e*nP_.Math.cos(o),g=e*nP_.Math.sin(o),p=d-t.g/2,m=g-t.f/2,GZ(t,p),G1(t,m),f=n.a.Eg(t),(w=2*nP_.Math.acos(e/e+n.c))<r-i?(l=w/f,c=(i+r-w)/2):(l=(r-i)/f,c=i),b=no3(t),n.e&&(n.e.Fg(n.d),n.e.Gg(b)),s=new fU(b);s.a<s.c.c.length;)u=CY(RU(s),27),h=n.a.Eg(u),nsg(n,u,e+n.c,c,c+l*h,a),c+=l*h}function nsp(n,t){var e,i,r,a,c,o,u,s;for(u=new fU(t.j);u.a<u.c.c.length;)for(r=new _4((o=CY(RU(u),12)).b);jr(r.a)||jr(r.b);)t!=(a=(e=(i=CY(jr(r.a)?RU(r.a):RU(r.b),18)).c==o?i.d:i.c).i)&&((s=CY(niK(i,(nlL(),nUh)),17).a)<0&&(s=0),c=a.p,0==n.b[c]&&(i.d==e?(n.a[c]-=s+1,n.a[c]<=0&&n.c[c]>0&&IA(n.f,a)):(n.c[c]-=s+1,n.c[c]<=0&&n.a[c]>0&&IA(n.e,a))))}function nsm(n,t,e,i){var r,a,c,o,u,s,h;for(Oj(u=new MH(e,i),CY(niK(t,(nf3(),nXg)),8)),h=ZQ(t.b,0);h.b!=h.d.c;)OT((s=CY(K0(h),40)).e,u),IA(n.b,s);for(o=CY(FB(DJ(new Aa(null,new R$(t.a,16))),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15).Kc();o.Ob();){for(a=ZQ((c=CY(o.Pb(),65)).a,0);a.b!=a.d.c;)r=CY(K0(a),8),r.a+=u.a,r.b+=u.b;IA(n.a,c)}}function nsv(){nsv=T,n1x=new M6("DEFAULT_MINIMUM_SIZE",0),n1D=new M6("MINIMUM_SIZE_ACCOUNTS_FOR_PADDING",1),n1N=new M6("COMPUTE_PADDING",2),n1R=new M6("OUTSIDE_NODE_LABELS_OVERHANG",3),n1K=new M6("PORTS_OVERHANG",4),n1_=new M6("UNIFORM_PORT_SPACING",5),n1F=new M6("SPACE_EFFICIENT_PORT_LABELS",6),n1$=new M6("FORCE_TABULAR_NODE_LABELS",7),n1L=new M6("ASYMMETRICAL",8)}function nsy(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g;for(b=0,w=t[e];b<w.length;b++)d=w[b],n.e[d.c.p][d.p]=b;if(a=t[e],l=i?(nf5(),n1y):(nf5(),n1n),g=t.length,i?0!=e:e!=g-1){for(_7(n,r=t[i?e-1:e+1],i?(qy(),nGD):(qy(),nG$)),s=0,f=a.length;s<f;++s)nnJ(n,c=a[s],l);for(_7(n,a,i?(qy(),nG$):(qy(),nGD)),u=0,h=(o=r).length;u<h;++u)(c=o[u]).e||nnJ(n,c,Jw(l))}else for(u=0,h=(o=a).length;u<h;++u)nnJ(n,c=o[u],l);return!1}function nsk(n,t){var e,i,r,a,c,o;if((o=CY(niK(t,(nlL(),nUt)),101))==(nie(),nZY)||o==nZJ)for(r=new MH(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a).b,c=new fU(n.a);c.a<c.c.c.length;)(a=CY(RU(c),10)).k==(ni8(),n$g)&&((e=CY(niK(a,(nlF(),nK_)),64))==(nf5(),n1n)||e==n1y)&&(i=pj(PI(niK(a,nFr))),o==nZY&&(i*=r),a.n.b=i-CY(niK(a,nH7),8).b,z4(a,!1,!0))}function nsM(){nsM=T,nqD=IG(new xm,(niF(),nxJ),(nlB(),n$4)),nqK=IG(new xm,nxQ,n$9),nqF=AX(IG(new xm,nxQ,nDl),nxY,nDf),nq$=AX(IG(IG(new xm,nxQ,n$Y),nxJ,n$Z),nxY,n$1),nq_=Zg(Zg(yg(AX(IG(new xm,nxV,nDM),nxY,nDk),nxJ),nDy),nDE),nqR=AX(new xm,nxY,n$6),nqN=AX(IG(IG(IG(new xm,nxW,nDt),nxJ,nDi),nxJ,nDr),nxY,nDe),nqx=AX(IG(IG(new xm,nxJ,nDr),nxJ,n$z),nxY,n$X)}function nsE(n,t,e){var i,r,a,c;if(null==n)throw new p5(nbi).e;for(i=a=+((r=n.length)>0&&(Rx(0,n.length),45==n.charCodeAt(0)||(Rx(0,n.length),43==n.charCodeAt(0))));i<r;i++)if(-1==Zw((Rx(i,n.length),n.charCodeAt(i))))throw new p5(nwK+n+'"').e;if(isNaN(c=parseInt(n,10))||c<t||c>e)throw new p5(nwK+n+'"').e;return c}function nsT(n){switch(n){case 100:return nlX(nSW,!0);case 68:return nlX(nSW,!1);case 119:return nlX(nSQ,!0);case 87:return nlX(nSQ,!1);case 115:return nlX(nSJ,!0);case 83:return nlX(nSJ,!1);case 99:return nlX(nSY,!0);case 67:return nlX(nSY,!1);case 105:return nlX(nSZ,!0);case 73:return nlX(nSZ,!1);default:throw new ph(nSV+n.toString(16)).e}}function nsj(n,t,e,i,r){e&&(!i||(n.c-n.b&n.a.length-1)>1)&&1==t&&CY(n.a[n.b],10).k==(ni8(),n$p)?nhE(CY(n.a[n.b],10),(ntG(),nZC)):i&&(!e||(n.c-n.b&n.a.length-1)>1)&&1==t&&CY(n.a[n.c-1&n.a.length-1],10).k==(ni8(),n$p)?nhE(CY(n.a[n.c-1&n.a.length-1],10),(ntG(),nZI)):(n.c-n.b&n.a.length-1)==2?(nhE(CY(VJ(n),10),(ntG(),nZC)),nhE(CY(VJ(n),10),nZI)):function(n,t){var e,i,r,a,c,o,u,s,h;for(u=SY(n.c-n.b&n.a.length-1),s=null,h=null,a=new xU(n);a.a!=a.b;)r=CY(Qd(a),10),e=(o=CY(niK(r,(nlF(),nK1)),12))?o.i:null,i=(c=CY(niK(r,nK0),12))?c.i:null,(s!=e||h!=i)&&(nci(u,t),s=e,h=i),dk(u.c,r);nci(u,t)}(n,r),FT(n)}function nsS(n,t,e){var i,r,a,c;if(t[0]>=n.length)return e.o=0,!0;switch(xq(n,t[0])){case 43:r=1;break;case 45:r=-1;break;default:return e.o=0,!0}if(++t[0],a=t[0],0==(c=nax(n,t))&&t[0]==a)return!1;if(t[0]<n.length&&58==xq(n,t[0])){if(i=60*c,++t[0],a=t[0],0==(c=nax(n,t))&&t[0]==a)return!1;i+=c}else(i=c)<24&&t[0]-a<=2?i*=60:i=i%100+(i/100|0)*60;return e.o=-(i*=r),!0}function nsP(n,t,e,i){var r,a,c,o,u;return c=n.Ph(),u=n.Jh(),r=null,u?t&&(nst(n,t,e).Bb&nwG)==0?(i=nnw(u.El(),n,i),n.di(null),r=t.Qh()):u=null:(c&&(u=c.Qh()),t&&(r=t.Qh())),u!=r&&u&&u.Il(n),o=n.Fh(),n.Bh(t,e),u!=r&&r&&r.Hl(n),n.vh()&&n.wh()&&(c&&o>=0&&o!=e&&(a=new LM(n,1,o,c,null),i?i.nj(a):i=a),e>=0&&(a=new LM(n,1,e,o==e?c:null,t),i?i.nj(a):i=a)),i}function nsO(n){var t,e,i,r;if(null==n.b){if(i=new p1,null!=n.i&&(EW(i,n.i),i.a+=":"),(256&n.f)!=0){for((256&n.f)!=0&&null!=n.a&&(null!=(r=n.i)&&vK(n0A,r.toLowerCase())||(i.a+="//"),EW(i,n.a)),null!=n.d&&(i.a+="/",EW(i,n.d)),(16&n.f)!=0&&(i.a+="/"),t=0,e=n.j.length;t<e;t++)0!=t&&(i.a+="/"),EW(i,n.j[t]);null!=n.g&&(i.a+="?",EW(i,n.g))}else EW(i,n.a);null!=n.e&&(i.a+="#",EW(i,n.e)),n.b=i.a}return n.b}function nsC(n,t,e){var i,r,a,c,o;for(a=0;a<t;a++){for(i=0,o=a+1;o<t;o++)i=JF(JF(J_(RF(n[a],nwW),RF(n[o],nwW)),RF(e[a+o],nwW)),RF(AW(i),nwW)),e[a+o]=AW(i),i=A7(i,32);e[a+t]=AW(i)}for(!function(n,t,e){var i,r,a;for(r=0,i=0;r<e;r++)a=t[r],n[r]=a<<1|i,i=a>>>31;0!=i&&(n[e]=i)}(e,e,t<<1),i=0,r=0,c=0;r<t;++r,c++)i=JF(JF(J_(RF(n[r],nwW),RF(n[r],nwW)),RF(e[c],nwW)),RF(AW(i),nwW)),e[c]=AW(i),i=JF(i=A7(i,32),RF(e[++c],nwW)),e[c]=AW(i),i=A7(i,32);return e}function nsI(n,t,e){var i,r,a,c,o,u,s,h;if(!KZ(t)){for(u=pj(PI(Y_(e.c,(nlL(),nUN)))),(s=CY(Y_(e.c,nUL),140))||(s=new gd),i=e.a,r=null,o=t.Kc();o.Ob();)c=CY(o.Pb(),12),h=0,h=r?u+r.o.b:s.d,a=SA(v4(new d0,c),n.f),xM(n.k,c,a),noI(v2(v0(v1(v3(new d1,0),Dy(nP_.Math.ceil(h))),i),a)),r=c,i=a;noI(v2(v0(v1(v3(new d1,0),Dy(nP_.Math.ceil(s.a+r.o.b))),i),e.d))}}function nsA(n,t){var e,i,r,a,c;if(n.Ab){if(n.Ab){if((c=n.Ab.i)>0){if(r=CY(n.Ab.g,2033),null==t){for(a=0;a<c;++a)if(null==(e=r[a]).d)return e}else for(a=0;a<c;++a)if(OB(t,(e=r[a]).d))return e}}else if(null==t){for(i=new j2(n.Ab);i.e!=i.i.gc();)if(null==(e=CY(Z6(i),598)).d)return e}else for(i=new j2(n.Ab);i.e!=i.i.gc();)if(OB(t,(e=CY(Z6(i),598)).d))return e}return null}function nsL(n,t,e){var i,r,a,c,o;switch(o=null,t.g){case 1:for(r=new fU(n.j);r.a<r.c.c.length;)if(pT(PC(niK(i=CY(RU(r),12),(nlF(),nKq)))))return i;VD(o=new nro,(nlF(),nKq),(SB(),!0));break;case 2:for(c=new fU(n.j);c.a<c.c.c.length;)if(pT(PC(niK(a=CY(RU(c),12),(nlF(),nFt)))))return a;VD(o=new nro,(nlF(),nFt),(SB(),!0))}if(o){Ro(o,n),nau(o,e);var u=o.n,s=n.o;switch(e.g){case 1:u.a=s.a/2,u.b=0;break;case 2:u.a=s.a,u.b=s.b/2;break;case 3:u.a=s.a/2,u.b=s.b;break;case 4:u.a=0,u.b=s.b/2}}return o}function nsN(n,t){var e,i,r,a,c,o;for(o=-1,c=new vq,i=new _4(n.b);jr(i.a)||jr(i.b);){for(e=CY(jr(i.a)?RU(i.a):RU(i.b),18),o=nP_.Math.max(o,pj(PI(niK(e,(nlL(),nHd))))),e.c==n?vZ(xX(new Aa(null,new R$(e.b,16)),new tZ),new lU(c)):vZ(xX(new Aa(null,new R$(e.b,16)),new t1),new lG(c)),a=ZQ(c,0);a.b!=a.d.c;)Pn(r=CY(K0(a),72),(nlF(),nKD))||VD(r,nKD,e);Vc(t,c),$p(c)}return o}function nsx(n,t,e,i,r){var a,c,o,u,s;o=r?i.b:i.a,!vF(n.a,i)&&(s=o>e.s&&o<e.c,u=!1,0!=e.e.b&&0!=e.j.b&&(u|=nP_.Math.abs(o-pj(PI(S9(e.e))))<ngY&&nP_.Math.abs(o-pj(PI(S9(e.j))))<ngY,u|=nP_.Math.abs(o-pj(PI(S7(e.e))))<ngY&&nP_.Math.abs(o-pj(PI(S7(e.j))))<ngY),(s||u)&&((c=CY(niK(t,(nlL(),nHP)),75))||(c=new gj,VD(t,nHP,c)),F_(c,a=new TP(i),c.c.b,c.c),LX(n.a,a)))}function ns$(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nM$,e=t).d="ELK Box",i=e).b="Algorithm for packing of unconnected boxes, i.e. graphs without edges.",(r=i).e=new oy,r))),KS(n,nM$,ng$,nJl),KS(n,nM$,ng4,15),KS(n,nM$,ng3,Qx(0)),KS(n,nM$,nMD,Z4(nJc)),KS(n,nM$,npr,Z4(nJu)),KS(n,nM$,npi,Z4(nJh)),KS(n,nM$,ngx,nMx),KS(n,nM$,ng9,Z4(nJo)),KS(n,nM$,npE,Z4(nJs)),KS(n,nM$,nMR,Z4(nJr)),KS(n,nM$,nyd,Z4(nJa))}function nsD(n,t){var e,i,r,a,c,o,u,s,h;if(c=(r=n.i).o.a,a=r.o.b,c<=0&&a<=0)return nf5(),n1v;switch(s=n.n.a,h=n.n.b,o=n.o.a,e=n.o.b,t.g){case 2:case 1:if(s<0)return nf5(),n1y;if(s+o>c)return nf5(),n1n;break;case 4:case 3:if(h<0)return nf5(),n1t;if(h+e>a)return nf5(),n1m}return(u=(s+o/2)/c)+(i=(h+e/2)/a)<=1&&u-i<=0?(nf5(),n1y):u+i>=1&&u-i>=0?(nf5(),n1n):i<.5?(nf5(),n1t):(nf5(),n1m)}function nsR(n,t,e,i,r,a,c){var o,u,s,h,f;for(f=new TI,u=t.Kc();u.Ob();)for(h=new fU(CY(u.Pb(),853).Rf());h.a<h.c.c.length;)ER((s=CY(RU(h),187)).of((nl_(),nJK)))===ER((GN(),nZr))&&(nuZ(f,s,!1,i,r,a,c),nrx(n,f));for(o=e.Kc();o.Ob();)for(h=new fU(CY(o.Pb(),853).Rf());h.a<h.c.c.length;)ER((s=CY(RU(h),187)).of((nl_(),nJK)))===ER((GN(),nZi))&&(nuZ(f,s,!0,i,r,a,c),nrx(n,f))}function nsK(){nsK=T,nxc=new TZ((nl_(),nYC),Qx(1)),nxl=new TZ(nYq,80),nxf=new TZ(nYK,5),nN2=new TZ(nJj,ng0),nxo=new TZ(nYI,Qx(1)),nxh=new TZ(nYN,(SB(),!0)),nxi=new TW(50),nxe=new TZ(nYa,nxi),nN4=nJQ,nxr=nYv,nN3=new TZ(nJR,!1),nxt=nYr,nN7=nJ9,nxn=nYt,nN9=nJ5,nN8=nJ4,nxa=nYE,nra(),nN5=nNX,nxb=nNJ,nN6=nNq,nxu=nNV,nxs=nNQ,nxg=nYY,nxm=nY2,nxd=nYJ,nxw=nYQ,QP(),new TZ(nYZ,nxp=n1H)}function nsF(n,t){var e,i,r,a;return(i=nP_.Math.min(nP_.Math.abs(n.c-(t.c+t.b)),nP_.Math.abs(n.c+n.b-t.c)),a=nP_.Math.min(nP_.Math.abs(n.d-(t.d+t.a)),nP_.Math.abs(n.d+n.a-t.d)),(e=nP_.Math.abs(n.c+n.b/2-(t.c+t.b/2)))>n.b/2+t.b/2||(r=nP_.Math.abs(n.d+n.a/2-(t.d+t.a/2)))>n.a/2+t.a/2)?1:0==e&&0==r?0:0==e?a/r+1:0==r?i/e+1:nP_.Math.min(i/e,a/r)+1}function ns_(n){var t,e,i,r,a;for(jB(a=new Bf((!n.a&&(n.a=new jU(nL0,n,5)),n.a).i+2),new MH(n.j,n.k)),vZ(new Aa(null,(!n.a&&(n.a=new jU(nL0,n,5)),new R$(n.a,16))),new wl(a)),jB(a,new MH(n.b,n.c)),t=1;t<a.c.length-1;)RN(t-1,a.c.length),e=CY(a.c[t-1],8),RN(t,a.c.length),i=CY(a.c[t],8),RN(t+1,a.c.length),r=CY(a.c[t+1],8),e.a==i.a&&i.a==r.a||e.b==i.b&&i.b==r.b?_V(a,t):++t;return a}function nsB(n,t){var e,i,r,a;if(Wy(),a=CY(niK(n.i,(nlL(),nUt)),101),0!=n.j.g-t.j.g||a!=(nie(),nZQ)&&a!=nZY&&a!=nZJ)return 0;if(a==(nie(),nZQ)&&(e=CY(niK(n,nUe),17),i=CY(niK(t,nUe),17),e&&i)&&0!=(r=e.a-i.a))return r;switch(n.j.g){case 1:return Jj(n.n.a,t.n.a);case 2:return Jj(n.n.b,t.n.b);case 3:return Jj(t.n.a,n.n.a);case 4:return Jj(t.n.b,n.n.b);default:throw new px(npB).e}}function nsH(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;for(e=SI((s=new d4,s.a.g=t,h=s,f=new $2(t.e),h.a.d=f,l=h,b=nDX,l.a.j=b,l),n.a),0==t.j.c.length||HH(CY(I0(t.j,0),60).a,e),u=new ds,xM(n.e,e,u),c=new dV,o=new dV,a=new fU(t.k);a.a<a.c.c.length;)LX(c,(r=CY(RU(a),18)).c),LX(o,r.d);(i=c.a.gc()-o.a.gc())<0?(VO(u,!0,(Ju(),nY8)),VO(u,!1,nY9)):i>0&&(VO(u,!1,(Ju(),nY8)),VO(u,!0,nY9)),Gd(t.g,new kk(n,e)),xM(n.g,t,e)}function nsU(){var n;for(n=2,nsU=T,nOg=Vw(DY(n4s,1),nwl,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]),nOp=BJ(n4s,nwl,28,37,15,1),nOm=Vw(DY(n4s,1),nwl,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]),nOv=BJ(n4f,nwH,28,37,14,1);n<=36;n++)nOp[n]=Dy(nP_.Math.pow(n,nOg[n])),nOv[n]=neC(nbj,nOp[n])}function nsG(n,t){var e,i,r,a;for(r=t.d?n.a.c==(DI(),nqS)?Jz(t.b):JV(t.b):n.a.c==(DI(),nqj)?Jz(t.b):JV(t.b),a=!1,i=new Le(Sb(r.a.Kc(),new s));ncv(i);)if((e=CY(_I(i),18),pT(n.a.f[n.a.g[t.b.p].p])||_p(e)||e.c.i.c!=e.d.i.c)&&!(pT(n.a.n[n.a.g[t.b.p].p])||pT(n.a.n[n.a.g[t.b.p].p]))&&(a=!0,vF(n.b,n.a.g[function(n,t){if(n.c.i==t)return n.d.i;if(n.d.i==t)return n.c.i;throw new pN("Node "+t+" is neither source nor target of edge "+n).e}(e,t.b).p])))return t.c=!0,t.a=e,t;return t.c=a,t.a=null,t}function nsq(n,t,e){var i,r,a,c,o,u,s;if(0==(i=e.gc()))return!1;if(n.Pj())if(u=n.Qj(),Yp(n,t,e),c=1==i?n.Ij(3,null,e.Kc().Pb(),t,u):n.Ij(5,null,e,t,u),n.Mj()){for(o=i<100?null:new mw(i),a=t+i,r=t;r<a;++r)s=n.xj(r),o=n.Nj(s,o);o?(o.nj(c),o.oj()):n.Jj(c)}else n.Jj(c);else if(Yp(n,t,e),n.Mj()){for(o=i<100?null:new mw(i),a=t+i,r=t;r<a;++r)o=n.Nj(n.xj(r),o);o&&o.oj()}return!0}function nsX(n,t,e){var i,r,a,c;return n.Pj()?(r=null,a=n.Qj(),i=n.Ij(1,c=n.Dj(t,n.Zi(t,e)),e,t,a),n.Mj()&&!(n.Yi()&&c?QY(c,e):ER(c)===ER(e))?(c&&(r=n.Oj(c,r)),(r=n.Nj(e,r))?(r.nj(i),r.oj()):n.Jj(i)):r?(r.nj(i),r.oj()):n.Jj(i)):(c=n.Dj(t,n.Zi(t,e)),n.Mj()&&!(n.Yi()&&c?QY(c,e):ER(c)===ER(e))&&(r=null,c&&(r=n.Oj(c,null)),(r=n.Nj(e,r))&&r.oj())),c}function nsz(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(n.e=t,n.f=CY(niK(t,(Xo(),nxM)),234),l=t.e.c.length,t.a=I3(n4s,[nby,nwl],[53,28],15,[l,l],2),f=new fU(t.c);f.a<f.c.c.length;)h=CY(RU(f),290),t.a[h.c.a][h.d.a]+=CY(niK(h,(nsK(),nxc)),17).a;if(n.d=nP_.Math.max(16*t.e.c.length+t.c.c.length,256),!pT(PC(niK(t,(nsK(),nN4)))))for(s=n.e.e.c.length,o=new fU(t.e);o.a<o.c.c.length;)(u=CY(RU(o),153).d).a=AS(n.f)*s,u.b=AS(n.f)*s;for(e=t.b,a=new fU(t.c);a.a<a.c.c.length;)if(r=CY(RU(a),290),(i=CY(niK(r,nxs),17).a)>0){for(c=0;c<i;c++)jB(e,new Nb(r));naI(r)}}function nsV(){nsV=T,yS(),nlQ=new sJ,Vw(DY(n05,2),nby,381,0,[Vw(DY(n05,1),nS9,600,0,[new vt(nSA)])]),Vw(DY(n05,2),nby,381,0,[Vw(DY(n05,1),nS9,600,0,[new vt(nSL)])]),Vw(DY(n05,2),nby,381,0,[Vw(DY(n05,1),nS9,600,0,[new vt(nSN)]),Vw(DY(n05,1),nS9,600,0,[new vt(nSL)])]),new TV("-1"),Vw(DY(n05,2),nby,381,0,[Vw(DY(n05,1),nS9,600,0,[new vt("\\c+")])]),new TV("0"),new TV("0"),new TV("1"),new TV("0"),new TV(nSU)}function nsW(n){var t,e;return n.c&&n.c.Vh()&&(e=CY(n.c,54),n.c=CY(Qk(n,e),142),n.c!=e&&((4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,2,e,n.c)),jM(n.Cb,411)?n.Db>>16==-15&&n.Cb.Yh()&&Un(new Hh(n.Cb,9,13,e,n.c,nnm(Ui(CY(n.Cb,62)),n))):jM(n.Cb,90)&&n.Db>>16==-23&&n.Cb.Yh()&&(jM(t=n.c,90)||(nlq(),t=n2y),jM(e,90)||(nlq(),e=n2y),Un(new Hh(n.Cb,9,10,e,t,nnm(FS(CY(n.Cb,29)),n)))))),n.c}function nsQ(n,t,e,i){var r,a,c,o,u,s,h,f;if(noz(n.e,t)){for(s=0,f=nox(n.e.Dh(),t),a=CY(n.g,124),h=null,u=-1,o=-1,r=0;s<n.i;++s)c=a[s],f.am(c.Lk())&&(r==e&&(u=s),r==i&&(o=s,h=c.md()),++r);if(-1==u)throw new pC(nTg+e+nTp+r).e;if(-1==o)throw new pC(nTm+i+nTp+r).e;return Jp(n,u,o),TN(n.e)&&dq(n,$6(n,7,t,Qx(i),h,e,!0)),h}throw new pN("The feature must be many-valued to support move").e}function nsJ(n,t,e,i){var r,a,c,o,u;switch(u=new TP(t.n),u.a+=t.o.a/2,u.b+=t.o.b/2,o=pj(PI(niK(t,(nlL(),nUn)))),a=n.f,c=n.d,r=n.c,CY(niK(t,(nlF(),nK_)),64).g){case 1:u.a+=c.b+r.a-e/2,u.b=-i-o,t.n.b=-(c.d+o+r.b);break;case 2:u.a=a.a+c.b+c.c+o,u.b+=c.d+r.b-i/2,t.n.a=a.a+c.c+o-r.a;break;case 3:u.a+=c.b+r.a-e/2,u.b=a.b+c.d+c.a+o,t.n.b=a.b+c.a+o-r.b;break;case 4:u.a=-e-o,u.b+=c.d+r.b-i/2,t.n.a=-(c.b+o+r.a)}return u}function nsY(n){var t,e,i,r,a,c;return zU(i=new qG,n),ER(niK(i,(nlL(),nHt)))===ER((Ju(),nY7))&&VD(i,nHt,JO(i)),null==niK(i,(Bl(),nQ4))&&(c=CY(function n(t){var e,i,r;if(r=t,t)for(e=0,i=t.Eh();i;i=i.Eh()){if(++e>nwz)return n(i);if(r=i,i==t)throw new px("There is a cycle in the containment hierarchy of "+t).e}return r}(n),167),VD(i,nQ4,Ez(c.of(nQ4)))),VD(i,(nlF(),nK6),n),VD(i,nKU,new O9(t=CY(mP(nAO),9),CY(Oc(t,t.length),9),0)),r=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(v=f=new nf0(n),y=t!=(Ju(),nZn)&&t!=nY5,nuS(v,!0),Gd(v.e.Rf(),new Cd(v,!0,y)),h=f.a,l=new gp,GL(),r=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),c=0,u=r.length;c<u;++c)e=r[c],(s=j$(h,nIi,e))&&(l.d=nP_.Math.max(l.d,s.jf()));for(i=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),a=0,o=i.length;a<o;++a)e=i[a],(s=j$(h,nIa,e))&&(l.a=nP_.Math.max(l.a,s.jf()));for(w=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),g=0,m=w.length;g<m;++g)(s=j$(h,w[g],nIi))&&(l.b=nP_.Math.max(l.b,s.kf()));for(b=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),d=0,p=b.length;d<p;++d)(s=j$(h,b[d],nIa))&&(l.c=nP_.Math.max(l.c,s.kf()));return l.d>0&&(l.d+=h.n.d,l.d+=h.d),l.a>0&&(l.a+=h.n.a,l.a+=h.d),l.b>0&&(l.b+=h.n.b,l.b+=h.d),l.c>0&&(l.c+=h.n.c,l.c+=h.d),l}((DV(n)&&(yv(),new py(DV(n))),yv(),new Sq(!DV(n)?null:new py(DV(n)),n)),nY9),a=CY(niK(i,nH1),107),Dx(e=i.d,a),Dx(e,r),i}function nsZ(n,t){var e,i,r,a;return i=nP_.Math.abs(L_(n.b).a-L_(t.b).a),a=nP_.Math.abs(L_(n.b).b-L_(t.b).b),e=1,r=1,i>n.b.b/2+t.b.b/2&&(e=1-nP_.Math.min(nP_.Math.abs(n.b.c-(t.b.c+t.b.b)),nP_.Math.abs(n.b.c+n.b.b-t.b.c))/i),a>n.b.a/2+t.b.a/2&&(r=1-nP_.Math.min(nP_.Math.abs(n.b.d-(t.b.d+t.b.a)),nP_.Math.abs(n.b.d+n.b.a-t.b.d))/a),(1-nP_.Math.min(e,r))*nP_.Math.sqrt(i*i+a*a)}function ns1(n,t){var e,i;if(null!=t){if(i=nty(n)){if((1&i.i)==0)return yE(),!(e=CY(NR(n0C,i),57))||e.fk(t);else if(i==n4h)return EF(t);else if(i==n4s)return jM(t,17);else if(i==n4w)return jM(t,161);else if(i==n4l)return jM(t,222);else if(i==n4u)return jM(t,180);else if(i==n4b)return E_(t);else if(i==n4d)return jM(t,191);else if(i==n4f)return jM(t,168)}else if(jM(t,58))return n.dl(CY(t,58))}return!1}function ns0(){var n,t,e,i,r,a,c,o,u;for(t=0,ns0=T,n3_=BJ(n4l,nEK,28,255,15,1),n3B=BJ(n4u,nb5,28,64,15,1);t<255;t++)n3_[t]=-1;for(e=90;e>=65;e--)n3_[e]=e-65<<24>>24;for(i=122;i>=97;i--)n3_[i]=i-97+26<<24>>24;for(r=57;r>=48;r--)n3_[r]=r-48+52<<24>>24;for(a=0,n3_[43]=62,n3_[47]=63;a<=25;a++)n3B[a]=65+a&nb9;for(c=26,u=0;c<=51;++c,u++)n3B[c]=97+u&nb9;for(n=52,o=0;n<=61;++n,o++)n3B[n]=48+o&nb9;n3B[62]=43,n3B[63]=47}function ns2(n,t){var e,i,r,a,c,o;return(r=XK(n))!=(o=XK(t))?r<o?-1:1:n.e==t.e&&n.a<54&&t.a<54?n.f<t.f?-1:+(n.f>t.f):(i=n.e-t.e,(e=(n.d>0?n.d:nP_.Math.floor((n.a-1)*nwV)+1)-(t.d>0?t.d:nP_.Math.floor((t.a-1)*nwV)+1))>i+1)?r:e<i-1?-r:(n.c||(n.c=Rm(zF(n.f))),a=n.c,t.c||(t.c=Rm(zF(t.f))),c=t.c,i<0?a=Fh(a,nhy(-i)):i>0&&(c=Fh(c,nhy(i))),Zb(a,c))}function ns3(n,t){var e,i,r,a,c,o,u;if(!DP(n))throw new px(nEc).e;if(a=(i=DP(n)).g,r=i.f,a<=0&&r<=0)return nf5(),n1v;switch(o=n.i,u=n.j,t.g){case 2:case 1:if(o<0)return nf5(),n1y;if(o+n.g>a)return nf5(),n1n;break;case 4:case 3:if(u<0)return nf5(),n1t;if(u+n.f>r)return nf5(),n1m}return(c=(o+n.g/2)/a)+(e=(u+n.f/2)/r)<=1&&c-e<=0?(nf5(),n1y):c+e>=1&&c-e>=0?(nf5(),n1n):e<.5?(nf5(),n1t):(nf5(),n1m)}function ns4(n){var t,e,i,r,a;if(nlU(),4!=n.e&&5!=n.e)throw new pN("Token#complementRanges(): must be RANGE: "+n.e).e;for(ncU(n),nh6(n),i=n.b.length+2,0==n.b[0]&&(i-=2),(e=n.b[n.b.length-1])==nSz&&(i-=2),++n4c,(r=new RX(4)).b=BJ(n4s,nwl,28,i,15,1),a=0,n.b[0]>0&&(r.b[a++]=0,r.b[a++]=n.b[0]-1),t=1;t<n.b.length-2;t+=2)r.b[a++]=n.b[t]+1,r.b[a++]=n.b[t+1]-1;return e!=nSz&&(r.b[a++]=e+1,r.b[a]=nSz),r.a=!0,r}function ns6(n,t,e){var i,r,a,c,o,u,s,h;if(0==(i=e.gc()))return!1;if(n.Pj())if(s=n.Qj(),nik(n,t,e),c=1==i?n.Ij(3,null,e.Kc().Pb(),t,s):n.Ij(5,null,e,t,s),n.Mj()){for(o=i<100?null:new mw(i),a=t+i,r=t;r<a;++r)h=n.g[r],o=n.Nj(h,o),o=n.Uj(h,o);o?(o.nj(c),o.oj()):n.Jj(c)}else n.Jj(c);else if(nik(n,t,e),n.Mj()){for(o=i<100?null:new mw(i),a=t+i,r=t;r<a;++r)u=n.g[r],o=n.Nj(u,o);o&&o.oj()}return!0}function ns5(n,t,e,i){var r,a,c,o,u;for(c=new fU(n.k);c.a<c.c.c.length;)r=CY(RU(c),132),(!i||r.c==(Bw(),nqz))&&(u=r.b).g<0&&r.d>0&&(u.d=u.d-r.d,r.c==(Bw(),nqz)&&(u.a=u.a-r.d),u.d<=0&&u.i>0&&F_(t,u,t.c.b,t.c));for(a=new fU(n.f);a.a<a.c.c.length;)r=CY(RU(a),132),(!i||r.c==(Bw(),nqz))&&(o=r.a).g<0&&r.d>0&&(o.i=o.i-r.d,r.c==(Bw(),nqz)&&(o.b=o.b-r.d),o.i<=0&&o.d>0&&F_(e,o,e.c.b,e.c))}function ns8(n,t,e,i,r){vX(),L7(n,"src"),L7(e,"dest"),f=WZ(n),u=WZ(e),In((4&f.i)!=0,"srcType is not an array"),In((4&u.i)!=0,"destType is not an array"),h=f.c,c=u.c,In((1&h.i)!=0?h==c:(1&c.i)==0,"Array types don't match");var a,c,o,u,s,h,f,l,b,w=t,d=i;if(b=n.length,l=e.length,w<0||d<0||r<0||w+r>b||d+r>l)throw(new dI).e;if((1&h.i)==0&&f!=u)if(s=qr(n),a=qr(e),ER(n)===ER(e)&&t<i)for(t+=r,o=i+r;o-- >i;)NK(a,o,s[--t]);else for(o=i+r;i<o;)NK(a,i++,s[t++]);else naJ(n,t,e,i,r,!0)}function ns9(n,t){var e,i,r,a,c,o,u,s;t.Ug("Box layout",2),xf(s=PI(ncx(n,(niH(),nJw)))),r=CY(ncx(n,nJf),107),e=pT(PC(ncx(n,nJc))),i=pT(PC(ncx(n,nJo))),0===CY(ncx(n,nJr),320).g?(u=new O8((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a)),$O(),ji(u,new ws(i)),a=nrW(n),(null==(c=PI(ncx(n,nJi)))||(xf(c),c<=0))&&(c=1.3),nf9(n,(o=function(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I;for(b=0,S=0,u=new fU(n);u.a<u.c.c.length;)nfU(o=CY(RU(u),27)),b=nP_.Math.max(b,o.g),S+=o.g*o.f;for(w=S/n.c.length,j=function(n,t){var e,i,r;for(r=0,i=new fU(n);i.a<i.c.c.length;)e=CY(RU(i),27),r+=nP_.Math.pow(e.g*e.f-t,2);return nP_.Math.sqrt(r/(n.c.length-1))}(n,w),S+=n.c.length*j,b=nP_.Math.max(b,nP_.Math.sqrt(S*c))+e.b,C=e.b,I=e.d,l=0,h=e.b+e.c,IA(T=new vq,Qx(0)),M=new vq,s=new Kp(n,0);s.b<s.d.gc();)Px(s.b<s.d.gc()),O=(o=CY(s.d.Xb(s.c=s.b++),27)).g,f=o.f,C+O>b&&(a&&(E6(M,l),E6(T,Qx(s.b-1))),C=e.b,I+=l+t,l=0,h=nP_.Math.max(h,e.b+e.c+O)),GZ(o,C),G1(o,I),h=nP_.Math.max(h,C+O+e.c),l=nP_.Math.max(l,f),C+=O+t;if(h=nP_.Math.max(h,i),(P=I+l+e.a)<r&&(l+=r-P,P=r),a)for(C=e.b,s=new Kp(n,0),E6(T,Qx(n.c.length)),p=CY(K0(E=ZQ(T,0)),17).a,E6(M,l),k=ZQ(M,0),y=0;s.b<s.d.gc();)s.b==p&&(C=e.b,y=pj(PI(K0(k))),p=CY(K0(E),17).a),Px(s.b<s.d.gc()),m=(o=CY(s.d.Xb(s.c=s.b++),27)).f,GJ(o,y),d=y,s.b==p&&(g=h-C-e.c,v=o.g,GY(o,g),nr6(o,new MH(g,d),new MH(v,m))),C+=o.g+t;return new MH(h,P)}(u,s,r,a.a,a.b,e,(xf(c),c))).a,o.b,!1,!0)):function(n,t,e,i){var r,a,c,o,u,s,h;for((o=new TP(CY(ncx(n,(niH(),nJs)),8))).a=nP_.Math.max(o.a-e.b-e.c,0),o.b=nP_.Math.max(o.b-e.d-e.a,0),(null==(r=PI(ncx(n,nJi)))||(xf(r),r<=0))&&(r=1.3),c=new du,u=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));u.e!=u.i.gc();)a=new Py(CY(Z6(u),27)),dk(c.c,a);switch(CY(ncx(n,nJr),320).g){case 3:h=function(n,t,e,i,r){var a,c,o,u,s,h,f;for($O(),ji(n,new oS),o=new Kp(n,0),f=new du,a=0;o.b<o.d.gc();)Px(o.b<o.d.gc()),c=CY(o.d.Xb(o.c=o.b++),163),0!=f.c.length&&Ab(c)*Al(c)>2*a?(h=new GA(f),s=Ab(c)/Al(c),u=nlw(h,t,new gp,e,i,r,s),OT(Ta(h.e),u),f.c.length=0,a=0,dk(f.c,h),dk(f.c,c),a=Ab(h)*Al(h)+Ab(c)*Al(c)):(dk(f.c,c),a+=Ab(c)*Al(c));return f}(c,t,o.a,o.b,(xf(r),i));break;case 1:h=function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b;for($O(),ji(n,new oT),c=CJ(n),b=new du,l=new du,o=null,u=0;0!=c.b;)a=CY(0==c.b?null:(Px(0!=c.b),Gy(c,c.a.a)),163),!o||Ab(o)*Al(o)/2<Ab(a)*Al(a)?(o=a,dk(b.c,a)):(u+=Ab(a)*Al(a),dk(l.c,a),l.c.length>1&&(u>Ab(o)*Al(o)/2||0==c.b)&&(f=new GA(l),h=Ab(o)/Al(o),s=nlw(f,t,new gp,e,i,r,h),OT(Ta(f.e),s),o=f,dk(b.c,f),u=0,l.c.length=0));return Vc(b,l),b}(c,t,o.a,o.b,(xf(r),i));break;default:h=function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b;for(o=BJ(n4b,nwX,28,n.c.length,15,1),ntY(l=new Lt(new oj),n),s=0,b=new du;0!=l.b.c.length;)if(c=CY(0==l.b.c.length?null:I0(l.b,0),163),s>1&&Ab(c)*Al(c)/2>o[0]){for(a=0;a<b.c.length-1&&Ab(c)*Al(c)/2>o[a];)++a;f=new GA(new Rk(b,0,a+1)),h=Ab(c)/Al(c),u=nlw(f,t,new gp,e,i,r,h),OT(Ta(f.e),u),C7(niS(l,f),nwY),ntY(l,new Rk(b,a+1,b.c.length)),b.c.length=0,s=0,AL(o,o.length,0)}else null!=(0==l.b.c.length?null:I0(l.b,0))&&Xd(l,0),s>0&&(o[s]=o[s-1]),o[s]+=Ab(c)*Al(c),++s,dk(b.c,c);return b}(c,t,o.a,o.b,(xf(r),i))}nf9(n,(s=nlw(new GA(h),t,e,o.a,o.b,i,(xf(r),r))).a,s.b,!1,!0)}(n,s,r,e),t.Vg()}function ns7(n,t){var e,i,r,a,c,o,u,s;for(e=RegExp(t,"g"),u=BJ(nPL,nby,2,0,6,1),i=0,s=n,a=null;;){if(null==(o=e.exec(s))||""==s){u[i]=s;break}c=o.index,u[i]=(B2(0,c,s.length),s.substr(0,c)),s=Di(s,c+o[0].length,s.length),e.lastIndex=0,a==s&&(u[i]=(B2(0,1,s.length),s.substr(0,1)),Rx(1,s.length+1),s=s.substr(1)),a=s,++i}if(n.length>0){for(r=u.length;r>0&&""==u[r-1];)--r;r<u.length&&(u.length=r)}return u}function nhn(){nhn=T,nzr=new TW(20),nzi=new TZ((nl_(),nYa),nzr),nzf=new TZ(nYq,20),nzh=new TZ(nYF,3),nXY=new TZ(nJj,ng0),nzo=new TZ(nYC,Qx(1)),nzs=new TZ(nYN,(SB(),!0)),nX1=nJx,Ju(),nX0=new TZ(nJ$,nX2=nY7),nX6=nJQ,nX5=nJJ,nX9=nJ5,nX7=nJ9,nzn=nJ7,nzt=nYt,nX8=nJ4,nze=nYr,nza=nYE,ncl(),nzm=nXQ,nzu=nXz,nzw=nYY,nzg=nY2,nzb=nYJ,nzl=nYQ,QP(),new TZ(nYZ,nzd=n1H),nzc=nXX,nX4=nXG,nzp=nXW,nXZ=nXH,nX3=nXU}function nht(n){var t,e,i,r,a,c,o,u,s,h,f,l,b;if(e=n.i,t=n.n,0==n.b)for(b=e.c+t.b,l=e.b-t.b-t.c,c=n.a,u=0,h=c.length;u<h;++u)AI(r=c[u],b,l);else i=nnQ(n,!1),AI(n.a[0],e.c+t.b,i[0]),AI(n.a[2],e.c+e.b-t.c-i[2],i[2]),f=e.b-t.b-t.c,i[0]>0&&(f-=i[0]+n.c,i[0]+=n.c),i[2]>0&&(f-=i[2]+n.c),i[1]=nP_.Math.max(i[1],f),AI(n.a[1],e.c+t.b+i[0]-(i[1]-f)/2,i[1]);for(a=n.a,o=0,s=a.length;o<s;++o)jM(r=a[o],336)&&CY(r,336).lf()}function nhe(n,t){var e,i,r;for(r=CY(I0(n.n,n.n.c.length-1),209).d,n.p=nP_.Math.min(n.p,t.g),n.r=nP_.Math.max(n.r,r),n.g=nP_.Math.max(n.g,t.g+(1==n.b.c.length?0:n.i)),n.o=nP_.Math.min(n.o,t.f),n.e+=t.f+(1==n.b.c.length?0:n.i),n.f=nP_.Math.max(n.f,t.f),i=n.n.c.length>0?(n.n.c.length-1)*n.i:0,e=new fU(n.n);e.a<e.c.c.length;)i+=CY(RU(e),209).a;n.d=i,n.a=n.e/n.b.c.length-n.i*((n.b.c.length-1)/n.b.c.length),ntI(n.j)}function nhi(n,t){var e,i,r,a,c,o,u,s,h;if(null==(s=PC(niK(t,(nsK(),nxh))))||(xf(s),s)){for(h=BJ(n4h,ndV,28,t.e.c.length,16,1),c=function(n){var t,e,i,r;for(i=BJ(nPf,ngF,15,n.e.c.length,0,1),r=new fU(n.e);r.a<r.c.c.length;)i[CY(RU(r),153).a]=new vq;for(e=new fU(n.c);e.a<e.c.c.length;)i[(t=CY(RU(e),290)).c.a].Fc(t),i[t.d.a].Fc(t);return i}(t),r=new vq,u=new fU(t.e);u.a<u.c.c.length;)(e=function n(t,e,i,r,a,c){var o,u,s;if(!a[e.a]){for(a[e.a]=!0,(o=r)||(o=new _6),jB(o.e,e),s=c[e.a].Kc();s.Ob();)(u=CY(s.Pb(),290)).d!=i&&u.c!=i&&(u.c!=e&&n(t,u.c,e,o,a,c),u.d!=e&&n(t,u.d,e,o,a,c),jB(o.c,u),Vc(o.d,u.b));return o}return null}(n,CY(RU(u),153),null,null,h,c))&&(zU(e,t),F_(r,e,r.c.b,r.c));if(r.b>1)for(i=ZQ(r,0);i.b!=i.d.c;)for(e=CY(K0(i),235),a=0,o=new fU(e.e);o.a<o.c.c.length;)CY(RU(o),153).a=a++;return r}return _q(Vw(DY(nI0,1),ng_,235,0,[t]))}function nhr(n){var t,e,i,r,a;if(!n.g){if(a=new o4,null==(t=n2L).a.zc(n,t)){for(e=new j2($7(n));e.e!=e.i.gc();)Nu(a,nhr(CY(Z6(e),29)));t.a.Bc(n),t.a.gc()}for(i=a.i,n.s||(n.s=new Lk(n0V,n,21,17)),r=new j2(n.s);r.e!=r.i.gc();++i)CY(Z6(r),462).n=i;Nu(a,(n.s||(n.s=new Lk(n0V,n,21,17)),n.s)),WG(a),n.g=new VX(n,a),n.i=CY(a.g,254),null==n.i&&(n.i=n2x),n.p=null,_v(n).b&=-5}return n.g}function nha(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w;if(i=n.i,e=n.n,0==n.b)t=nnW(n,!1),AA(n.a[0],i.d+e.d,t[0]),AA(n.a[2],i.d+i.a-e.a-t[2],t[2]),f=l=i.a-e.d-e.a,t[0]>0&&(t[0]+=n.c,f-=t[0]),t[2]>0&&(f-=t[2]+n.c),t[1]=nP_.Math.max(t[1],f),AA(n.a[1],i.d+e.d+t[0]-(t[1]-f)/2,t[1]);else for(w=i.d+e.d,b=i.a-e.d-e.a,c=n.a,u=0,h=c.length;u<h;++u)AA(r=c[u],w,b);for(a=n.a,o=0,s=a.length;o<s;++o)jM(r=a[o],336)&&CY(r,336).mf()}function nhc(n,t,e,i){var r,a,c,o,u;if(u=nox(n.e.Dh(),t),r=CY(n.g,124),yP(),CY(t,69).xk()){for(c=0;c<n.i;++c)if(a=r[c],u.am(a.Lk())&&QY(a,e))return!0}else if(null!=e){for(o=0;o<n.i;++o)if(a=r[o],u.am(a.Lk())&&QY(e,a.md()))return!0;if(i){for(c=0;c<n.i;++c)if(a=r[c],u.am(a.Lk())&&ER(e)===ER(PO(n,CY(a.md(),58))))return!0}}else for(c=0;c<n.i&&(a=r[c],!u.am(a.Lk())||null!=a.md());++c);return!1}function nho(n,t){var e,i,r,a,c,o;if(n.b<2)throw new pN("The vector chain must contain at least a source and a target point.").e;for(Px(0!=n.b),TU(t,(i=CY(n.a.a.c,8)).a,i.b),o=new SW((!t.a&&(t.a=new jU(nL0,t,5)),t.a)),a=ZQ(n,1);a.a<n.b-1;)c=CY(K0(a),8),o.e!=o.i.gc()?e=CY(Z6(o),377):(mk(),YD(o,e=new oR)),TF(e,c.a,c.b);for(;o.e!=o.i.gc();)Z6(o),neH(o);Px(0!=n.b),TH(t,(r=CY(n.c.b.c,8)).a,r.b)}function nhu(n,t,e,i){var r,a,c,o,u,s;if(s=nox(n.e.Dh(),t),c=CY(n.g,124),noz(n.e,t)){if(t.Si()&&(a=nhv(n,t,i,jM(t,102)&&(CY(t,19).Bb&nwG)!=0))>=0&&a!=e)throw new pN(nTd).e;for(u=0,r=0;u<n.i;++u)if(o=c[u],s.am(o.Lk())){if(r==e)return CY(nnv(n,u,(yP(),CY(t,69).xk()?CY(i,76):Fy(t,i))),76);++r}throw new pC(njt+e+nTp+r).e}for(u=0;u<n.i;++u)if(o=c[u],s.am(o.Lk()))return yP(),CY(t,69).xk()?o:o.md();return null}function nhs(n,t){var e,i,r,a,c,o,u,s;for(e=0,i=new fU((RN(0,n.c.length),CY(n.c[0],105)).g.b.j);i.a<i.c.c.length;)CY(RU(i),12).p=e++;for(t==(nf5(),n1t)?ji(n,new rw):ji(n,new rd),c=0,s=n.c.length-1;c<s;)RN(c,n.c.length),a=CY(n.c[c],105),RN(s,n.c.length),u=CY(n.c[s],105),r=t==n1t?a.c:a.a,o=t==n1t?u.a:u.c,Ly(a,t,(Vg(),nDW),r),Ly(u,t,nDV,o),++c,--s;c==s&&Ly((RN(c,n.c.length),CY(n.c[c],105)),t,(Vg(),nDz),null)}function nhh(n,t,e){var i,r,a,c,o,u;this.a=n,this.b=t,this.c=e,this.e=_q(Vw(DY(nCc,1),nl7,177,0,[new yz(n,t),new yz(t,e),new yz(e,n)])),this.f=_q(Vw(DY(nLA,1),nby,8,0,[n,t,e])),this.d=(i=Oj(jv(this.b),this.a),r=Oj(jv(this.c),this.a),a=Oj(jv(this.c),this.b),c=i.a*(this.a.a+this.b.a)+i.b*(this.a.b+this.b.b),o=r.a*(this.a.a+this.c.a)+r.b*(this.a.b+this.c.b),u=2*(i.a*a.b-i.b*a.a),new MH((r.b*c-i.b*o)/u,(i.a*o-r.a*c)/u))}function nhf(n,t){var e,i,r,a,c,o;for(a=n.c,c=n.d,Ra(n,null),Ru(n,null),t&&pT(PC(niK(c,(nlF(),nKq))))?Ra(n,nsL(c.i,(qy(),nGD),(nf5(),n1n))):Ra(n,c),t&&pT(PC(niK(a,(nlF(),nFt))))?Ru(n,nsL(a.i,(qy(),nG$),(nf5(),n1y))):Ru(n,a),i=new fU(n.b);i.a<i.c.c.length;)e=CY(RU(i),72),(r=CY(niK(e,(nlL(),nHc)),278))==(GN(),nZr)?VD(e,nHc,nZi):r==nZi&&VD(e,nHc,nZr);o=pT(PC(niK(n,(nlF(),nFu)))),VD(n,nFu,(SB(),!o)),n.a=Wo(n.a)}function nhl(n){var t,e;switch(n){case 91:case 93:case 45:case 94:case 44:case 92:e="\\"+String.fromCharCode(n&nb9);break;case 12:e="\\f";break;case 10:e="\\n";break;case 13:e="\\r";break;case 9:e="\\t";break;case 27:e="\\e";break;default:e=n<32?"\\x"+Di(t="0"+(n>>>0).toString(16),t.length-2,t.length):n>=nwG?"\\v"+Di(t="0"+(n>>>0).toString(16),t.length-6,t.length):""+String.fromCharCode(n&nb9)}return e}function nhb(n){var t,e,i;if(Tx(CY(niK(n,(nlL(),nUt)),101)))for(e=new fU(n.j);e.a<e.c.c.length;)(t=CY(RU(e),12)).j==(nf5(),n1v)&&((i=CY(niK(t,(nlF(),nFi)),10))?nau(t,CY(niK(i,nK_),64)):t.e.c.length-t.g.c.length<0?nau(t,n1n):nau(t,n1y));else{for(e=new fU(n.j);e.a<e.c.c.length;)t=CY(RU(e),12),(i=CY(niK(t,(nlF(),nFi)),10))?nau(t,CY(niK(i,nK_),64)):t.e.c.length-t.g.c.length<0?nau(t,(nf5(),n1n)):nau(t,(nf5(),n1y));VD(n,nUt,(nie(),nZZ))}}function nhw(n){var t,e,i,r,a,c;for(this.e=new du,this.a=new du,e=n.b-1;e<3;e++)S2(n,0,CY(nnt(n,0),8));if(n.b<4)throw new pN("At (least dimension + 1) control points are necessary!").e;for(this.b=3,this.d=!0,this.c=!1,!function(n,t){var e,i,r,a;if(t<2*n.b)throw new pN("The knot vector must have at least two time the dimension elements.").e;for(i=0,n.f=1;i<n.b;i++)jB(n.e,0);for(r=1,a=t+1-2*n.b;r<a;r++)jB(n.e,r/a);if(n.d)for(e=0;e<n.b;e++)jB(n.e,1)}(this,n.b+this.b-1),c=new du,a=new fU(this.e),t=0;t<this.b-1;t++)jB(c,PI(RU(a)));for(r=ZQ(n,0);r.b!=r.d.c;)i=CY(K0(r),8),jB(c,PI(RU(a))),jB(this.a,new Du(i,c)),RN(0,c.c.length),c.c.splice(0,1)}function nhd(n,t){var e,i,r,a,c,o,u,h;for(r=new fU(n.b);r.a<r.c.c.length;)for(c=new fU(CY(RU(r),30).a);c.a<c.c.c.length;)for((a=CY(RU(c),10)).k==(ni8(),n$p)&&(u=CY(_I(new Le(Sb(Jz(a).a.Kc(),new s))),18),h=CY(_I(new Le(Sb(JV(a).a.Kc(),new s))),18),nhE(a,o=pT(PC(niK(u,(nlF(),nFu))))&&pT(PC(niK(h,nFu)))?VP(t):t)),i=new Le(Sb(JV(a).a.Kc(),new s));ncv(i);)o=pT(PC(niK(e=CY(_I(i),18),(nlF(),nFu))))?VP(t):t,Vu(e,o)}function nhg(n,t,e){var i,r,a,c;return n.Pj()?(r=null,a=n.Qj(),i=n.Ij(1,c=US(n,t,e),e,t,a),n.Mj()&&!(n.Yi()&&null!=c?QY(c,e):ER(c)===ER(e))&&(null!=c&&(r=n.Oj(c,r)),r=n.Nj(e,r)),n.Tj()&&(r=n.Wj(c,e,r)),r?(r.nj(i),r.oj()):n.Jj(i)):(c=US(n,t,e),n.Mj()&&!(n.Yi()&&null!=c?QY(c,e):ER(c)===ER(e))&&(r=null,null!=c&&(r=n.Oj(c,null)),(r=n.Nj(e,r))&&r.oj())),c}function nhp(n,t){var e,i,r,a,c,o;t%=24,n.q.getHours()!=t&&((e=new nP_.Date(n.q.getTime())).setDate(e.getDate()+1),(c=n.q.getTimezoneOffset()-e.getTimezoneOffset())>0)&&(o=c/60|0,i=n.q.getDate(),n.q.getHours()+o>=24&&++i,r=new nP_.Date(n.q.getFullYear(),n.q.getMonth(),i,t+o,n.q.getMinutes()+c%60,n.q.getSeconds(),n.q.getMilliseconds()),n.q.setTime(r.getTime())),a=n.q.getTime(),n.q.setTime(a+36e5),n.q.getHours()!=t&&n.q.setTime(a)}function nhm(n){var t,e,i,r,a;if(!n.d){if(a=new o8,null==(t=n2L).a.zc(n,t)){for(e=new j2($7(n));e.e!=e.i.gc();)Nu(a,nhm(CY(Z6(e),29)));t.a.Bc(n),t.a.gc()}for(r=a.i,n.q||(n.q=new Lk(n02,n,11,10)),i=new j2(n.q);i.e!=i.i.gc();++r)CY(Z6(i),411);Nu(a,(n.q||(n.q=new Lk(n02,n,11,10)),n.q)),WG(a),n.d=new Tu((CY(GO($x((NN(),n2c).o),9),19),a.i),a.g),n.e=CY(a.g,688),null==n.e&&(n.e=n2N),_v(n).b&=-17}return n.d}function nhv(n,t,e,i){var r,a,c,o,u,s;if(s=nox(n.e.Dh(),t),u=0,r=CY(n.g,124),yP(),CY(t,69).xk()){for(c=0;c<n.i;++c)if(a=r[c],s.am(a.Lk())){if(QY(a,e))return u;++u}}else if(null!=e){for(o=0;o<n.i;++o)if(a=r[o],s.am(a.Lk())){if(QY(e,a.md()))return u;++u}if(i){for(c=0,u=0;c<n.i;++c)if(a=r[c],s.am(a.Lk())){if(ER(e)===ER(PO(n,CY(a.md(),58))))return u;++u}}}else for(c=0;c<n.i;++c)if(a=r[c],s.am(a.Lk())){if(null==a.md())return u;++u}return -1}function nhy(n){var t,e,i,r;if(nui(),t=Dy(n),n<nOF.length)return nOF[t];if(n<=50)return naU((nuY(),nON),t);if(n<=nb8)return _L(naU(nOK[1],t),t);if(n>1e6)throw new pO("power of ten too big").e;if(n<=nl3)return _L(naU(nOK[1],t),t);for(r=i=naU(nOK[1],nl3),e=zF(n-nl3),t=Dy(n%nl3);Qv(e,nl3)>0;)r=Fh(r,i),e=JB(e,nl3);for(r=_L(r=Fh(r,naU(nOK[1],t)),nl3),e=zF(n-nl3);Qv(e,nl3)>0;)r=_L(r,nl3),e=JB(e,nl3);return _L(r,t)}function nhk(n){var t,e,i,r,a,c,o,u;for(c=new fU(n.a);c.a<c.c.c.length;)if((a=CY(RU(c),10)).k==(ni8(),n$g)&&((r=CY(niK(a,(nlF(),nK_)),64))==(nf5(),n1n)||r==n1y))for(i=new Le(Sb(JX(a).a.Kc(),new s));ncv(i);)0!=(t=(e=CY(_I(i),18)).a).b&&((o=e.c).i==a&&(Px(0!=t.b),CY(t.a.a.c,8).b=V4(Vw(DY(nLA,1),nby,8,0,[o.i.n,o.n,o.a])).b),(u=e.d).i==a&&(Px(0!=t.b),CY(t.c.b.c,8).b=V4(Vw(DY(nLA,1),nby,8,0,[u.i.n,u.n,u.a])).b))}function nhM(n,t,e,i){var r,a,c;if(this.j=new du,this.k=new du,this.b=new du,this.c=new du,this.e=new TI,this.i=new gj,this.f=new ds,this.d=new du,this.g=new du,jB(this.b,n),jB(this.b,t),this.e.c=nP_.Math.min(n.a,t.a),this.e.d=nP_.Math.min(n.b,t.b),this.e.b=nP_.Math.abs(n.a-t.a),this.e.a=nP_.Math.abs(n.b-t.b),r=CY(niK(i,(nlL(),nHP)),75))for(c=ZQ(r,0);c.b!=c.d.c;)GV((a=CY(K0(c),8)).a,n.a)&&IA(this.i,a);e&&jB(this.j,e),jB(this.k,i)}function nhE(n,t){var e,i,r,a,c;if(n.k==(ni8(),n$p)&&(e=n.k!=n$p||mQ(xX(CY(niK(n,(nlF(),nFo)),15).Oc(),new f4(new tO))).Bd((vY(),nCF))?t:(ntG(),nZA),VD(n,(nlF(),nKJ),e),e!=(ntG(),nZI)))for(i=CY(niK(n,nK6),18),c=pj(PI(niK(i,(nlL(),nHd)))),a=0,e==nZC?a=n.o.b-nP_.Math.ceil(c/2):e==nZA&&(a=nP_.Math.ceil(n.o.b-pj(PI(niK(xi(n),nUk)))-c)/2,n.o.b-=pj(PI(niK(xi(n),nUk))),n.o.b-=c),r=new fU(n.j);r.a<r.c.c.length;)CY(RU(r),12).n.b=a}function nhT(n,t,e){var i,r,a,c,o,u,s,h,f;for(r=!0,c=new fU(n.b);c.a<c.c.c.length;){for(a=CY(RU(c),30),s=nw_,h=null,u=new fU(a.a);u.a<u.c.c.length;)if(o=CY(RU(u),10),f=pj(t.p[o.p])+pj(t.d[o.p])-o.d.d,i=pj(t.p[o.p])+pj(t.d[o.p])+o.o.b+o.d.a,f>s&&i>s)h=o,s=pj(t.p[o.p])+pj(t.d[o.p])+o.o.b+o.d.a;else{r=!1,e._g()&&e.bh("bk node placement breaks on "+o+" which should have been after "+h);break}if(!r)break}return e._g()&&e.bh(t+" is feasible: "+r),r}function nhj(n,t,e,i){var r,a,c,o,u,s,h;if((a=new nn_(n)).k=(ni8(),n$y),VD(a,(nlL(),nUt),(nie(),nZJ)),r=0,t){for(VD(c=new nro,(nlF(),nK6),t),VD(a,nK6,t.i),nau(c,(nf5(),n1y)),Ro(c,a),s=0,h=(u=Ky(t.e)).length;s<h;++s)Ru(u[s],c);VD(t,nFi,a),++r}if(e){for(o=new nro,VD(a,(nlF(),nK6),e.i),VD(o,nK6,e),nau(o,(nf5(),n1n)),Ro(o,a),s=0,h=(u=Ky(e.g)).length;s<h;++s)Ra(u[s],o);VD(e,nFi,a),++r}return VD(a,(nlF(),nKA),Qx(r)),dk(i.c,a),a}function nhS(n){var t,e,i,r,a,c,o,u;e=pT(PC(niK(n,(nsK(),nN3)))),a=n.a.c.d,o=n.a.d.d,e?(c=j_(Oj(new MH(o.a,o.b),a),.5),u=j_(jv(n.e),.5),t=Oj(OT(new MH(a.a,a.b),c),u),Ps(n.d,t)):(r=pj(PI(niK(n.a,nxf))),i=n.d,a.a>=o.a?a.b>=o.b?(i.a=o.a+(a.a-o.a)/2+r,i.b=o.b+(a.b-o.b)/2-r-n.e.b):(i.a=o.a+(a.a-o.a)/2+r,i.b=a.b+(o.b-a.b)/2+r):a.b>=o.b?(i.a=a.a+(o.a-a.a)/2+r,i.b=o.b+(a.b-o.b)/2+r):(i.a=a.a+(o.a-a.a)/2+r,i.b=a.b+(o.b-a.b)/2-r-n.e.b))}function nhP(n){var t,e,i,r,a,c;if(!n.f){if(c=new o6,a=new o6,null==(t=n2L).a.zc(n,t)){for(r=new j2($7(n));r.e!=r.i.gc();)Nu(c,nhP(CY(Z6(r),29)));t.a.Bc(n),t.a.gc()}for(n.s||(n.s=new Lk(n0V,n,21,17)),i=new j2(n.s);i.e!=i.i.gc();)jM(e=CY(Z6(i),179),102)&&B7(a,CY(e,19));WG(a),n.r=new IM(n,(CY(GO($x((NN(),n2c).o),6),19),a.i),a.g),Nu(c,n.r),WG(c),n.f=new Tu((CY(GO($x(n2c.o),5),19),c.i),c.g),_v(n).b&=-3}return n.f}function nhO(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=ngA,e=t).d="ELK DisCo",i=e).b="Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out.",(r=i).e=new n3,r))),KS(n,ngA,ngL,Z4(nNB)),KS(n,ngA,ngN,Z4(nN$)),KS(n,ngA,ngx,Z4(nNI)),KS(n,ngA,ng$,Z4(nND)),KS(n,ngA,ndH,Z4(nNF)),KS(n,ngA,ndU,Z4(nNK)),KS(n,ngA,ndB,Z4(nN_)),KS(n,ngA,ndG,Z4(nNR)),KS(n,ngA,ngS,Z4(nNL)),KS(n,ngA,ngP,Z4(nNA)),KS(n,ngA,ngO,Z4(nNN)),KS(n,ngA,ngC,Z4(nNx))}function nhC(){nhC=T,n0l=Vw(DY(n4u,1),nb5,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),n0b=RegExp("[ \n\r\f]+");try{n0f=Vw(DY(n09,1),nl7,2114,0,[new w2((Tr(),YK("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",On((pp(),pp(),nP8))))),new w2(YK("yyyy-MM-dd'T'HH:mm:ss'.'SSS",On(nP8))),new w2(YK("yyyy-MM-dd'T'HH:mm:ss",On(nP8))),new w2(YK("yyyy-MM-dd'T'HH:mm",On(nP8))),new w2(YK("yyyy-MM-dd",On(nP8)))])}catch(n){if(!jM(n=Vt(n),82))throw n.e}}function nhI(n,t){var e,i,r;if(i=0!=nc8(n.d,1),0==nrZ(n,t)&&pT(PC(niK(t.j,(nlF(),nKH)))))return 0;(pT(PC(niK(t.j,(nlF(),nKH))))||pT(PC(niK(t.j,nFs))))&&ER(niK(t.j,(nlL(),nBQ)))!==ER((Zu(),nGO))?i=pT(PC(niK(t.j,nKH))):t.c.mg(t.e,i),noP(n,t,i,!0),pT(PC(niK(t.j,nFs)))&&VD(t.j,nFs,(SB(),!1)),pT(PC(niK(t.j,nKH)))&&(VD(t.j,nKH,(SB(),!1)),VD(t.j,nFs,!0)),e=nrZ(n,t);do{if(XO(n),0==e)return 0;i=!i,r=e,noP(n,t,i,!1),e=nrZ(n,t)}while(r>e)return r}function nhA(n,t,e,i){var r,a,c,o,u,s,h,f,l;return(s=(u=Oj(new MH(e.a,e.b),n)).a*t.b-u.b*t.a,h=t.a*i.b-t.b*i.a,f=(u.a*i.b-u.b*i.a)/h,l=s/h,0!=h)?f>=0&&f<=1&&l>=0&&l<=1?OT(new MH(n.a,n.b),j_(new MH(t.a,t.b),f)):null:0!=s?null:(a=Hr(n,r=OT(new MH(e.a,e.b),j_(new MH(i.a,i.b),.5))),c=Hr(OT(new MH(n.a,n.b),t),r),o=.5*nP_.Math.sqrt(i.a*i.a+i.b*i.b),a<c&&a<=o)?new MH(n.a,n.b):c<=o?OT(new MH(n.a,n.b),t):null}function nhL(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(a=0,c=n.t,r=0,i=0,u=0,l=0,f=0,e&&(n.n.c.length=0,jB(n.n,new DT(n.s,n.t,n.i))),o=0,h=new fU(n.b);h.a<h.c.c.length;)a+(s=CY(RU(h),27)).g+(o>0?n.i:0)>t&&u>0&&(a=0,c+=u+n.i,r=nP_.Math.max(r,l),i+=u+n.i,u=0,l=0,e&&(++f,jB(n.n,new DT(n.s,c,n.i))),o=0),l+=s.g+(o>0?n.i:0),u=nP_.Math.max(u,s.f),e&&nn3(CY(I0(n.n,f),209),s),a+=s.g+(o>0?n.i:0),++o;return r=nP_.Math.max(r,l),i+=u,e&&(n.r=r,n.d=i,ntI(n.j)),new x4(n.s,n.t,r,i)}function nhN(n){var t,e,i,r,a,c,o,u,s,h,f;for(n.b=!1,h=nwF,o=nw_,f=nwF,u=nw_,e=n.e.a.ec().Kc();e.Ob();)for(i=(t=CY(e.Pb(),272)).a,h=nP_.Math.min(h,i.c),o=nP_.Math.max(o,i.c+i.b),f=nP_.Math.min(f,i.d),u=nP_.Math.max(u,i.d+i.a),a=new fU(t.c);a.a<a.c.c.length;)(r=CY(RU(a),407)).a.a?(c=(s=i.d+r.b.b)+r.c,f=nP_.Math.min(f,s),u=nP_.Math.max(u,c)):(c=(s=i.c+r.b.a)+r.c,h=nP_.Math.min(h,s),o=nP_.Math.max(o,c));n.a=new MH(o-h,u-f),n.c=new MH(h+n.d.a,f+n.d.b)}function nhx(n){var t,e,i,r,a,c;if(!n.a){if(n.o=null,c=new wZ(n),t=new o5,null==(e=n2L).a.zc(n,e)){for(a=new j2($7(n));a.e!=a.i.gc();)Nu(c,nhx(CY(Z6(a),29)));e.a.Bc(n),e.a.gc()}for(n.s||(n.s=new Lk(n0V,n,21,17)),r=new j2(n.s);r.e!=r.i.gc();)jM(i=CY(Z6(r),179),331)&&B7(t,CY(i,35));WG(t),n.k=new IE(n,(CY(GO($x((NN(),n2c).o),7),19),t.i),t.g),Nu(c,n.k),WG(c),n.a=new Tu((CY(GO($x(n2c.o),4),19),c.i),c.g),_v(n).b&=-2}return n.a}function nh$(n,t,e,i){var r,a,c,o,u,s,h;if(h=nox(n.e.Dh(),t),r=0,a=CY(n.g,124),u=null,yP(),CY(t,69).xk()){for(o=0;o<n.i;++o)if(c=a[o],h.am(c.Lk())){if(QY(c,e)){u=c;break}++r}}else if(null!=e){for(o=0;o<n.i;++o)if(c=a[o],h.am(c.Lk())){if(QY(e,c.md())){u=c;break}++r}}else for(o=0;o<n.i;++o)if(c=a[o],h.am(c.Lk())){if(null==c.md()){u=c;break}++r}return u&&(TN(n.e)&&(s=t.Jk()?new Fx(n.e,4,t,e,null,r,!0):$6(n,t.tk()?2:1,t,e,t.ik(),-1,!0),i?i.nj(s):i=s),i=nsc(n,u,i)),i}function nhD(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w;switch(b=0,w=0,u=r.c,o=r.b,h=e.f,l=e.g,t.g){case 0:b=i.i+i.g+c,w=n.c?function(n,t,e,i){var r,a,c,o,u;for(a=null,r=0,o=new fU(t);o.a<o.c.c.length;)u=(c=CY(RU(o),27)).j+c.f,n<c.i+c.g+i&&(a?e.j-u<e.j-r&&(a=c):a=c,r=a.j+a.f);return a?r+i:0}(b,a,i,c):i.j,f=nP_.Math.max(u,b+l),s=nP_.Math.max(o,w+h);break;case 1:w=i.j+i.f+c,b=n.c?function(n,t,e,i){var r,a,c,o,u;for(r=null,a=0,o=new fU(t);o.a<o.c.c.length;)u=(c=CY(RU(o),27)).i+c.g,n<c.j+c.f+i&&(r?e.i-u<e.i-a&&(r=c):r=c,a=r.i+r.g);return r?a+i:0}(w,a,i,c):i.i,f=nP_.Math.max(u,b+l),s=nP_.Math.max(o,w+h);break;case 2:b=u+c,w=0,f=u+c+l,s=nP_.Math.max(o,h);break;case 3:b=0,w=o+c,f=nP_.Math.max(u,l),s=o+c+h;break;default:throw new pN("IllegalPlacementOption.").e}return new Zs(n.a,f,s,t,b,w)}function nhR(n,t,e){var i,r,a,c,o,u,s,h;if(r=CY(n.g,124),noz(n.e,t))return yP(),CY(t,69).xk()?new IB(t,n):new EL(t,n);for(o=0,s=nox(n.e.Dh(),t),i=0;o<n.i;++o){if(c=(a=r[o]).Lk(),s.am(c)){if(yP(),CY(t,69).xk())return a;if(c!=(na1(),n3u)&&c!=n3a)return null!=(h=a.md())&&e&&jM(t,102)&&(CY(t,19).Bb&nwG)!=0&&(h=naA(n,t,o,i,h)),h;for(u=new Sv(J2(a.md()));++o<n.i;)((c=(a=r[o]).Lk())==n3u||c==n3a)&&EY(u,J2(a.md()));return OF(CY(t.Hk(),156),u.a)}++i}return t.ik()}function nhK(n,t,e,i){var r,a,c,o,u,s;if(u=nox(n.e.Dh(),t),a=CY(n.g,124),noz(n.e,t)){for(o=0,r=0;o<n.i;++o)if(c=a[o],u.am(c.Lk())){if(r==e){if(yP(),CY(t,69).xk())return c;return null!=(s=c.md())&&i&&jM(t,102)&&(CY(t,19).Bb&nwG)!=0&&(s=naA(n,t,o,r,s)),s}++r}throw new pC(njt+e+nTp+r).e}for(o=0,r=0;o<n.i;++o){if(c=a[o],u.am(c.Lk())){if(yP(),CY(t,69).xk())return c;return null!=(s=c.md())&&i&&jM(t,102)&&(CY(t,19).Bb&nwG)!=0&&(s=naA(n,t,o,r,s)),s}++r}return t.ik()}function nhF(){nhF=T,nOD=Vw(DY(n4s,1),nwl,28,15,[nbJ,0x4546b3db,nbH,0x48c27395,0x159fd800,0x75db9c97,nbH,0x17179149,nwN,0xcc6db61,0x19a10000,0x309f1021,0x57f6c100,0xa2f1b6f,0x10000000,0x18754571,0x247dbc80,0x3547667b,128e7,0x6b5a6e1d,0x6c20a40,0x8d2d931,0xb640000,0xe8d4a51,0x1269ae40,0x17179149,0x1cb91000,0x23744899,729e6,0x34e63b41,nbH,0x4cfa3cc1,0x5c13d840,0x6d91b519,0x39aa400]),nOR=Vw(DY(n4s,1),nwl,28,15,[-1,-1,31,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])}function nh_(n,t){var e,i,r,a,c,o,u,s,h,f;if(c=n.e,0==(u=t.e))return n;if(0==c)return 0==t.e?t:new LZ(-t.e,t.d,t.a);if((a=n.d)+(o=t.d)==2)return e=RF(n.a[0],nwW),i=RF(t.a[0],nwW),c<0&&(e=H4(e)),u<0&&(i=H4(i)),nuY(),EH(JB(e,i),0)?Yq(JB(e,i)):Nt(Yq(H4(JB(e,i))));if(-1==(r=a!=o?a>o?1:-1:WO(n.a,t.a,a)))f=-u,h=c==u?_X(t.a,o,n.a,a):BQ(t.a,o,n.a,a);else if(f=c,c==u){if(0==r)return nuY(),nO$;h=_X(n.a,a,t.a,o)}else h=BQ(n.a,a,t.a,o);return KM(s=new LZ(f,h.length,h)),s}function nhB(n,t){var e,i,r,a,c,o,u,s;if(null==n)return null;if(0==(a=n.length))return"";for(u=BJ(n4u,nb5,28,a,15,1),B2(0,a,n.length),B2(0,a,u.length),Nr(n,0,a,u,0),e=null,o=t,r=0,c=0;r<a;r++)(i=u[r],nlW(),i<=32&&(2&n3G[i])!=0)?o?(e||(e=new Sm(n)),zj(e,s=r-c++,s+1,"")):(o=t,32!=i&&(e||(e=new Sm(n)),zj(e,r-c,r-c+1," "))):o=!1;return o?e?(a=e.a.length)>0?Di(e.a,0,a-1):"":(B2(0,a-1,n.length),n.substr(0,a-1)):e?e.a:n}function nhH(n,t){var e,i,r,a,c;if(c=CY(t,138),ncU(n),ncU(c),null!=c.b){if(n.c=!0,null==n.b){n.b=BJ(n4s,nwl,28,c.b.length,15,1),ns8(c.b,0,n.b,0,c.b.length);return}for(e=0,a=BJ(n4s,nwl,28,n.b.length+c.b.length,15,1),i=0,r=0;e<n.b.length||i<c.b.length;)e>=n.b.length?(a[r++]=c.b[i++],a[r++]=c.b[i++]):i>=c.b.length?(a[r++]=n.b[e++],a[r++]=n.b[e++]):c.b[i]<n.b[e]||c.b[i]===n.b[e]&&c.b[i+1]<n.b[e+1]?(a[r++]=c.b[i++],a[r++]=c.b[i++]):(a[r++]=n.b[e++],a[r++]=n.b[e++]);n.b=a}}function nhU(n){var t,e,i,r,a,c,o,u;for(i=0,e=0,u=new vq,t=0,o=new fU(n.n);o.a<o.c.c.length;)0==(c=CY(RU(o),209)).c.c.length?F_(u,c,u.c.b,u.c):(i=nP_.Math.max(i,c.d),e+=c.a+(t>0?n.i:0)),++t;for(JS(n.n,u),n.d=e,n.r=i,n.g=0,n.f=0,n.e=0,n.o=nwF,n.p=nwF,a=new fU(n.b);a.a<a.c.c.length;)r=CY(RU(a),27),n.p=nP_.Math.min(n.p,r.g),n.g=nP_.Math.max(n.g,r.g),n.f=nP_.Math.max(n.f,r.f),n.o=nP_.Math.min(n.o,r.f),n.e+=r.f+n.i;n.a=n.e/n.b.c.length-n.i*((n.b.c.length-1)/n.b.c.length),ntI(n.j)}function nhG(n){var t,e,i,r;return(64&n.Db)!=0?JN(n):(t=new Sv(nEd),(i=n.k)?EY(EY((t.a+=' "',t),i),'"'):(n.n||(n.n=new Lk(nNt,n,1,7)),n.n.i>0&&(r=(!n.n&&(n.n=new Lk(nNt,n,1,7)),CY(GO(n.n,0),135)).a)&&EY(EY((t.a+=' "',t),r),'"')),n.b||(n.b=new Ox(nL4,n,4,7)),(e=!(n.b.i<=1&&(n.c||(n.c=new Ox(nL4,n,5,8)),n.c.i<=1)))?t.a+=" [":t.a+=" ",EY(t,j6(new pW,new j2(n.b))),e&&(t.a+="]"),t.a+=npF,e&&(t.a+="["),EY(t,j6(new pW,new j2(n.c))),e&&(t.a+="]"),t.a)}function nhq(n,t,e){var i,r,a,c,o,u,s;return nP_.Math.abs(t.s-t.c)<ngY||nP_.Math.abs(e.s-e.c)<ngY?0:(i=noA(n,t.j,e.e),r=noA(n,e.j,t.e),a=0,-1==i||-1==r?(-1==i&&(new RT((Bw(),nqz),e,t,1),++a),-1==r&&(new RT((Bw(),nqz),t,e,1),++a)):(c=QF(t.j,e.s,e.c)+QF(e.e,t.s,t.c),o=QF(e.j,t.s,t.c)+QF(t.e,e.s,e.c),(u=i+16*c)<(s=r+16*o)?new RT((Bw(),nqV),t,e,s-u):u>s?new RT((Bw(),nqV),e,t,u-s):u>0&&s>0&&(new RT((Bw(),nqV),t,e,0),new RT(nqV,e,t,0))),a)}function nhX(n,t,e,i){var r,a,c,o,u,s;if(a=JO(i),(pT(PC(niK(i,(nlL(),nHK))))||pT(PC(niK(n,nHM))))&&!Tx(CY(niK(n,nUt),101)))r=Ya(a),o=nsL(n,e,e==(qy(),nGD)?r:Jw(r));else switch(Ro(o=new nro,n),t?((s=o.n).a=t.a-n.n.a,s.b=t.b-n.n.b,nrp(s,0,0,n.o.a,n.o.b),nau(o,nsD(o,a))):(r=Ya(a),nau(o,e==(qy(),nGD)?r:Jw(r))),c=CY(niK(i,(nlF(),nKU)),21),u=o.j,a.g){case 2:case 1:(u==(nf5(),n1t)||u==n1m)&&c.Fc((no7(),nKh));break;case 4:case 3:(u==(nf5(),n1n)||u==n1y)&&c.Fc((no7(),nKh))}return o}function nhz(n,t){var e,i,r,a,c;for(c=new zM(new fP(n.f.b).a);c.b;){if(r=CY((a=Xu(c)).ld(),602),1==t){if(r.Af()!=(Ju(),nZn)&&r.Af()!=nY5)continue}else if(r.Af()!=(Ju(),nY8)&&r.Af()!=nY9)continue;switch(i=CY(CY(a.md(),42).b,86),e=CY(CY(a.md(),42).a,194).c,r.Af().g){case 2:i.g.c=n.e.a,i.g.b=nP_.Math.max(1,i.g.b+e);break;case 1:i.g.c=i.g.c+e,i.g.b=nP_.Math.max(1,i.g.b-e);break;case 4:i.g.d=n.e.b,i.g.a=nP_.Math.max(1,i.g.a+e);break;case 3:i.g.d=i.g.d+e,i.g.a=nP_.Math.max(1,i.g.a-e)}}}function nhV(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nMa,e=t).d="ELK SPOrE Compaction",i=e).b="ShrinkTree is a compaction algorithm that maintains the topology of a layout. The relocation of diagram elements is based on contracting a spanning tree.",(r=i).e=new cq,r))),KS(n,nMa,nMc,Z4(nQs)),KS(n,nMa,nMo,Z4(nQc)),KS(n,nMa,nMu,Z4(nQa)),KS(n,nMa,nMs,Z4(nQi)),KS(n,nMa,nMh,Z4(nQr)),KS(n,nMa,ng$,nQe),KS(n,nMa,ng4,8),KS(n,nMa,nMf,Z4(nQu)),KS(n,nMa,nMl,Z4(nW9)),KS(n,nMa,nMb,Z4(nW7)),KS(n,nMa,nye,(SB(),!1))}function nhW(n,t,e){var i,r,a,c,o,u,s,h;if(i=n.a.o==(DA(),nqC)?nwF:nw_,!(o=nsG(n,new Mc(t,e))).a&&o.c)IA(n.d,o);else if(o.a)return r=o.a.c,u=o.a.d,e?(s=n.a.c==(DI(),nqS)?u:r,a=n.a.c==nqS?r:u,c=n.a.g[a.i.p],h=pj(n.a.p[c.p])+pj(n.a.d[a.i.p])+a.n.b+a.a.b-pj(n.a.d[s.i.p])-s.n.b-s.a.b):(s=n.a.c==(DI(),nqj)?u:r,a=n.a.c==nqj?r:u,h=pj(n.a.p[n.a.g[a.i.p].p])+pj(n.a.d[a.i.p])+a.n.b+a.a.b-pj(n.a.d[s.i.p])-s.n.b-s.a.b),n.a.n[n.a.g[r.i.p].p]=(SB(),!0),n.a.n[n.a.g[u.i.p].p]=!0,h;return i}function nhQ(n,t,e){var i,r,a,c,o,u,s;if(noz(n.e,t))yP(),na5((o=CY(t,69).xk()?new IB(t,n):new EL(t,n)).c,o.b),jk(o,CY(e,16));else{for(a=0,s=nox(n.e.Dh(),t),i=CY(n.g,124);a<n.i;++a)if(r=i[a].Lk(),s.am(r)){if(r==(na1(),n3u)||r==n3a){for(u=nnK(n,t,e),c=a,u?no9(n,a):++a;a<n.i;)(r=i[a].Lk())==n3u||r==n3a?no9(n,a):++a;u||CY(nnv(n,c,Fy(t,e)),76)}else nnK(n,t,e)?no9(n,a):CY(nnv(n,a,(yP(),CY(t,69).xk()?CY(e,76):Fy(t,e))),76);return}nnK(n,t,e)||B7(n,(yP(),CY(t,69).xk()?CY(e,76):Fy(t,e)))}}function nhJ(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;for(h=0;h<t.length;h++){for(c=n.Kc();c.Ob();)CY(c.Pb(),230).hg(h,t);for(f=0;f<t[h].length;f++){for(o=n.Kc();o.Ob();)CY(o.Pb(),230).ig(h,f,t);for(l=0,b=t[h][f].j;l<b.c.length;l++){for(u=n.Kc();u.Ob();)CY(u.Pb(),230).jg(h,f,l,t);for(RN(l,b.c.length),e=0,r=new _4(CY(b.c[l],12).b);jr(r.a)||jr(r.b);)for(i=CY(jr(r.a)?RU(r.a):RU(r.b),18),s=n.Kc();s.Ob();)CY(s.Pb(),230).gg(h,f,l,e++,i,t)}}}for(a=n.Kc();a.Ob();)CY(a.Pb(),230).fg()}function nhY(n){var t,e,i,r,a;if(n.k!=(ni8(),n$v)||n.j.c.length<=1||CY(niK(n,(nlL(),nUt)),101)==(nie(),nZJ)||(nnT(),(i=(!n.q?($O(),$O(),nOB):n.q)._b(nHX)?CY(niK(n,nHX),203):CY(niK(xi(n),nHz),203))==nGo))return!1;if(i!=nGc&&i!=nGa&&(r=pj(PI(Y_(n,nUN))),(t=CY(niK(n,nUL),140))||(t=new Ou(r,r,r,r)),a=JH(n,(nf5(),n1y)),t.d+t.a+(a.gc()-1)*r>n.o.b||(e=JH(n,n1n),t.d+t.a+(e.gc()-1)*r>n.o.b)))return!1;return!0}function nhZ(n,t){var e,i,r,a,c,o,u,s,h,f;if(h=null,n.d&&(h=CY(Db(n.d,t),142)),!h){if(f=(a=n.a.vi()).i,!n.d||v_(n.d)!=f){for(u=new dc,n.d&&X7(u,n.d),o=s=u.f.c+u.i.c;o<f;++o)i=CY(GO(a,o),142),(e=CY(null==(r=Qz(n.e,i).xe())?nr3(u.f,null,i):JI(u.i,r,i),142))&&e!=i&&(null==r?nr3(u.f,null,e):JI(u.i,r,e));if(u.f.c+u.i.c!=f)for(c=0;c<s;++c)i=CY(GO(a,c),142),(e=CY(null==(r=Qz(n.e,i).xe())?nr3(u.f,null,i):JI(u.i,r,i),142))&&e!=i&&(null==r?nr3(u.f,null,e):JI(u.i,r,e));n.d=u}h=CY(Db(n.d,t),142)}return h}function nh1(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;return f=pT(PC(niK(t,(nlL(),nHF)))),l=null,a==(qy(),nG$)&&i.c.i==e?l=i.c:a==nGD&&i.d.i==e&&(l=i.d),(s=c)&&f&&!l?(jB(s.e,i),b=nP_.Math.max(pj(PI(niK(s.d,nHd))),pj(PI(niK(i,nHd)))),VD(s.d,nHd,b)):(nf5(),h=n1v,l?h=l.j:Tx(CY(niK(e,nUt),101))&&(h=a==nG$?n1y:n1n),w=n,d=t,g=e,p=a,m=h,v=i,y=null,E=p==(qy(),nG$)?v.c:v.d,M=JO(d),E.i==g?(y=CY(NR(w.b,E),10))||(VD(y=nll(E,CY(niK(g,(nlL(),nUt)),101),m,function(n){var t,e,i,r,a,c,o,u,s,h,f,l;for(r=pT(PC(niK(o=n.i,(nlL(),nHE)))),h=0,i=0,s=new fU(n.g);s.a<s.c.c.length;)a=(c=_p(u=CY(RU(s),18)))&&r&&pT(PC(niK(u,nHT))),l=u.d.i,c&&a?++i:c&&!a?++h:xi(l).e==o?++i:++h;for(e=new fU(n.e);e.a<e.c.c.length;)a=(c=_p(t=CY(RU(e),18)))&&r&&pT(PC(niK(t,nHT))),f=t.c.i,c&&a?++h:c&&!a?++i:xi(f).e==o?++h:++i;return h-i}(E),null,E.n,E.o,M,d),(nlF(),nK6),E),xM(w.b,E,y)):(k=function(n,t,e){var i,r;switch(i=JO(xi(t)),Ro(r=new nro,t),e.g){case 1:nau(r,Jw(Ya(i)));break;case 2:nau(r,Ya(i))}return VD(r,(nlL(),nUn),PI(niK(n,nUn))),r}(y=nll((T=new nQ,j=pj(PI(niK(d,(nlL(),nUv))))/2,V$(T,nUn,j),T),CY(niK(g,nUt),101),m,p==nG$?-1:1,null,new mm,new MH(0,0),M,d),g,p),VD(y,(nlF(),nK6),k),xM(w.b,k,y)),CY(niK(d,(nlF(),nKU)),21).Fc((no7(),nKc)),Tx(CY(niK(d,(nlL(),nUt)),101))?VD(d,nUt,(nie(),nZZ)):VD(d,nUt,(nie(),nZ1)),u=y,o=_$((xi(e),i)),a==nG$?(Ra(o,CY(I0(u.j,0),12)),Ru(o,r)):(Ra(o,r),Ru(o,CY(I0(u.j,0),12))),s=new Ji(i,o,u,CY(niK(u,(nlF(),nK6)),12),a,!l)),naR(n.a,i,new Cw(s.d,t,a)),s}function nh0(){var n;nh0=T,n0L=new gO,n0I=BJ(nPL,nby,2,0,6,1),n0$=R_(VE(33,58),VE(1,26)),n0D=R_(VE(97,122),VE(65,90)),n0R=VE(48,57),n0N=R_(n0$,0),n0x=R_(n0D,n0R),n0K=R_(R_(0,VE(1,6)),VE(33,38)),n0F=R_(R_(n0R,VE(65,70)),VE(97,102)),n0G=R_(n0N,Z8("-_.!~*'()")),n0q=R_(n0x,YC("-_.!~*'()")),Z8(njc),YC(njc),R_(n0G,Z8(";:@&=+$,")),R_(n0q,YC(";:@&=+$,")),n0_=Z8(":/?#"),n0B=YC(":/?#"),n0H=Z8("/?#"),n0U=YC("/?#"),(n=new dV).a.zc("jar",n),n.a.zc("zip",n),n.a.zc("archive",n),$O(),n0A=new p8(n)}function nh2(n,t){var e,i,r,a,c,o,u,h,f,l,b,w;o=0,w=0,u=Dd(n.g,n.g.length),a=n.e,c=n.j,i=n.b,r=n.c;do{for(b=0,h=new fU(n.q);h.a<h.c.c.length;)l=function n(t,e){var i,r,a,c,o,u,h,f,l;for(u=!0,a=0,h=t.g[e.p],f=e.o.b+t.o,i=t.d[e.p][2],_o(t.b,h,Qx(CY(I0(t.b,h),17).a-1+i)),_o(t.c,h,pj(PI(I0(t.c,h)))-f+i*t.f),++h>=t.j?(++t.j,jB(t.b,Qx(1)),jB(t.c,f)):(r=t.d[e.p][1],_o(t.b,h,Qx(CY(I0(t.b,h),17).a+1-r)),_o(t.c,h,pj(PI(I0(t.c,h)))+f-r*t.f)),(t.r==(nu7(),nGv)&&(CY(I0(t.b,h),17).a>t.k||CY(I0(t.b,h-1),17).a>t.k)||t.r==nGM&&(pj(PI(I0(t.c,h)))>t.n||pj(PI(I0(t.c,h-1)))>t.n))&&(u=!1),c=new Le(Sb(Jz(e).a.Kc(),new s));ncv(c);)o=CY(_I(c),18).c.i,t.g[o.p]==h&&(a+=CY((l=n(t,o)).a,17).a,u=u&&pT(PC(l.b)));return t.g[e.p]=h,new Ea(Qx(a+=t.d[e.p][0]),(SB(),!!u))}(n,CY(RU(h),10)),e=!0,(n.r==(nu7(),nGv)||n.r==nGM)&&(e=pT(PC(l.b))),CY(l.a,17).a<0&&e?(++b,u=Dd(n.g,n.g.length),n.e=n.e+CY(l.a,17).a,w+=a-n.e,a=n.e+CY(l.a,17).a,c=n.j,i=RR(n.b),r=RR(n.c)):(n.g=Dd(u,u.length),n.e=a,NP(i),n.b=i?new O8(i):CW(new fU(i)),NP(r),n.c=r?new O8(r):CW(new fU(r)),n.j=c);++o,f=0!=b&&pT(PC(t.Kb(new Ea(Qx(w),Qx(o)))))}while(f)}function nh3(n,t){var e,i,r,a,c,o,u,s,h,f,l;if((o=t.ah())||t.Ug(ngX,1),c=1/(e=CY(niK(n,(nlF(),nFa)),15)).gc(),t._g())for(t.bh("ELK Layered uses the following "+e.gc()+" modules:"),l=0,f=e.Kc();f.Ob();)s=CY(f.Pb(),47),i=(l<10?"0":"")+l++,t.bh(" Slot "+i+": "+mI(WZ(s)));for(h=e.Kc();h.Ob();){if(s=CY(h.Pb(),47),t.$g())return;s.Kf(n,t.eh(c))}for(a=new fU(n.b);a.a<a.c.c.length;)r=CY(RU(a),30),Vc(n.a,r.a),r.a.c.length=0;for(u=new fU(n.a);u.a<u.c.c.length;)Rc(CY(RU(u),10),null);n.b.c.length=0,o||t.Vg()}function nh4(n,t,e){var i,r,a,c,o,u,s,h;for(h=new du,s=new R0(0,e),a=0,qS(s,new Wf(0,0,s,e)),r=0,u=new j2(n);u.e!=u.i.gc();)o=CY(Z6(u),27),i=CY(I0(s.a,s.a.c.length-1),172),(r+o.g+(0==CY(I0(s.a,0),172).b.c.length?0:e)>t||pT(PC(ncx(o,(nuu(),nWs)))))&&(r=0,a+=s.b+e,dk(h.c,s),i=new Wf(0,(s=new R0(a,e)).f,s,e),qS(s,i),r=0),0==i.b.c.length||!pT(PC(ncx(DV(o),(nuu(),nWp))))&&(o.f>=i.o&&o.f<=i.f||.5*i.a<=o.f&&1.5*i.a>=o.f)?J1(i,o):(c=new Wf(i.s+i.r+e,s.f,s,e),qS(s,c),J1(c,o)),r=o.i+o.g;return dk(h.c,s),h}function nh6(n){var t,e,i,r;if(null!=n.b&&!(n.b.length<=2)&&!n.a){for(t=0,r=0;r<n.b.length;){for(t!=r?(n.b[t]=n.b[r++],n.b[t+1]=n.b[r++]):r+=2,e=n.b[t+1];r<n.b.length&&!(e+1<n.b[r]);)if(e+1==n.b[r])n.b[t+1]=n.b[r+1],e=n.b[t+1],r+=2;else if(e>=n.b[r+1])r+=2;else if(e<n.b[r+1])n.b[t+1]=n.b[r+1],e=n.b[t+1],r+=2;else throw new ph("Token#compactRanges(): Internel Error: ["+n.b[t]+","+n.b[t+1]+"] ["+n.b[r]+","+n.b[r+1]+"]").e;t+=2}t!=n.b.length&&(i=BJ(n4s,nwl,28,t,15,1),ns8(n.b,0,i,0,t),n.b=i),n.a=!0}}function nh5(n){var t,e,i,r,a,c,o,u,s,h,f,l;for(a=pT(PC(ncx(t=DP(n),(nlL(),nHE)))),h=0,r=0,s=new j2((!n.e&&(n.e=new Ox(nL6,n,7,4)),n.e));s.e!=s.i.gc();)c=(o=na$(u=CY(Z6(s),74)))&&a&&pT(PC(ncx(u,nHT))),l=niw(CY(GO((u.c||(u.c=new Ox(nL4,u,5,8)),u.c),0),84)),o&&c?++r:o&&!c?++h:DV(l)==t||l==t?++r:++h;for(i=new j2((!n.d&&(n.d=new Ox(nL6,n,8,5)),n.d));i.e!=i.i.gc();)c=(o=na$(e=CY(Z6(i),74)))&&a&&pT(PC(ncx(e,nHT))),f=niw(CY(GO((e.b||(e.b=new Ox(nL4,e,4,7)),e.b),0),84)),o&&c?++h:o&&!c?++r:DV(f)==t||f==t?++h:++r;return h-r}function nh8(n){var t,e,i,r,a;return null!=n.g?n.g:n.a<32?(n.g=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;if(nhF(),(o=0>Qv(n,0))&&(n=H4(n)),0==Qv(n,0))switch(t){case 0:return"0";case 1:return nwQ;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 f=new p2,t<0?f.a+="0E+":f.a+="0E",f.a+=t==nbJ?"2147483648":""+-t,f.a}s=BJ(n4u,nb5,28,19,15,1),e=18,b=n;do u=b,b=neC(b,10),s[--e]=AW(JF(48,JB(u,J_(b,10))))&nb9;while(0!=Qv(b,0))if(i=JB(JB(JB(18,e),t),1),0==t)return o&&(s[--e]=45),Za(s,e,18-e);if(t>0&&Qv(i,-6)>=0){if(Qv(i,0)>=0){for(r=e+AW(i),c=17;c>=r;c--)s[c+1]=s[c];return s[++r]=46,o&&(s[--e]=45),Za(s,e,18-e+1)}for(a=2;0>Qv(a,JF(H4(i),1));a++)s[--e]=48;return s[--e]=46,s[--e]=48,o&&(s[--e]=45),Za(s,e,18-e)}return l=e+1,h=new p3,o&&(h.a+="-"),18-l>=1?(NJ(h,s[e]),h.a+=".",h.a+=Za(s,e+1,18-e-1)):h.a+=Za(s,e,18-e),h.a+="E",Qv(i,0)>0&&(h.a+="+"),h.a+=""+Lm(i),h.a}(zF(n.f),Dy(n.e)),n.g):(r=nlP((n.c||(n.c=Rm(zF(n.f))),n.c),0),0==n.e)?r:(t=(!n.c&&(n.c=Rm(zF(n.f))),n.c).e<0?2:1,e=r.length,i=-n.e+e-t,a=new p2,a.a+=""+r,n.e>0&&i>=-6?i>=0?SL(a,e-Dy(n.e),"."):(zj(a,t-1,t-1,"0."),SL(a,t+1,Za(nOE,0,-Dy(i)-1))):(e-t>=1&&(SL(a,t,"."),++e),SL(a,e,"E"),i>0&&SL(a,++e,"+"),SL(a,++e,""+Lm(zF(i)))),n.g=a.a,n.g)}function nh9(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(w=new dc,a=n.a.ec().Kc();a.Ob();)xM(w,i=CY(a.Pb(),177),e.af(i));for(NP(n),ji(c=n?new O8(n):CW(n.a.ec().Kc()),new ll(w)),o=FU(c),u=new jw(t),nr3((b=new dc).f,t,u);0!=o.a.gc();){for(s=null,h=null,f=null,r=o.a.ec().Kc();r.Ob();)if(i=CY(r.Pb(),177),pj(PI(ED(Aj(w.f,i))))<=nwF){if(LR(b,i.a)&&!LR(b,i.b)){h=i.b,f=i.a,s=i;break}if(LR(b,i.b)&&!LR(b,i.a)){h=i.a,f=i.b,s=i;break}}if(!s)break;l=new jw(h),jB(CY(ED(Aj(b.f,f)),225).a,l),nr3(b.f,h,l),o.a.Bc(s)}return u}function nh7(n,t){var e,i,r,a,c,o,u,s,h,f;if(t){if(n.a||(n.a=new dJ),2==n.e)return void(o=n.a,jB(o.a,t));if(1==t.e){for(r=0;r<t.Pm();r++)nh7(n,t.Lm(r));return}if(0==(c=n.a.a.c.length)||0!=(a=CY(N9(n.a,c-1),122)).e&&10!=a.e||0!=t.e&&10!=t.e)return void(u=n.a,jB(u.a,t));(0==t.e||t.Mm().length,0==a.e)?(e=new p0,(i=a.Km())>=nwG?EW(e,JK(i)):NQ(e,i&nb9),++n4c,a=new Dh(10,null,0),s=n.a,h=a,Lh(f=c-1,s.a.c.length),_o(s.a,f,h)):(a.Mm().length,EW(e=new p0,a.Mm())),0==t.e?(i=t.Km())>=nwG?EW(e,JK(i)):NQ(e,i&nb9):EW(e,t.Mm()),CY(a,530).b=e.a}}function nfn(n){var t,e,i,r,a,c;for(Gd(n.a,new nJ),e=new fU(n.a);e.a<e.c.c.length;)t=CY(RU(e),225),i=Oj(jv(CY(n.b,68).c),CY(t.b,68).c),nIY?(c=CY(n.b,68).b,a=CY(t.b,68).b,nP_.Math.abs(i.a)>=nP_.Math.abs(i.b)?(i.b=0,a.d+a.a>c.d&&a.d<c.d+c.a&&Iu(i,nP_.Math.max(c.c-(a.c+a.b),a.c-(c.c+c.b)))):(i.a=0,a.c+a.b>c.c&&a.c<c.c+c.b&&Iu(i,nP_.Math.max(c.d-(a.d+a.a),a.d-(c.d+c.a))))):Iu(i,nsZ(CY(n.b,68),CY(t.b,68))),r=nP_.Math.sqrt(i.a*i.a+i.b*i.b),r=function n(t,e,i,r){var a,c,o;for(o=nP_.Math.min(i,function n(t,e,i,r){var a,c,o,u;for(u=i,o=new fU(e.a);o.a<o.c.c.length;){if(c=CY(RU(o),225),a=CY(c.b,68),0>=JU(t.b.c,a.b.c+a.b.b)&&0>=JU(a.b.c,t.b.c+t.b.b)&&0>=JU(t.b.d,a.b.d+a.b.a)&&0>=JU(a.b.d,t.b.d+t.b.a)){if(0==JU(a.b.c,t.b.c+t.b.b)&&r.a<0||0==JU(a.b.c+a.b.b,t.b.c)&&r.a>0||0==JU(a.b.d,t.b.d+t.b.a)&&r.b<0||0==JU(a.b.d+a.b.a,t.b.d)&&r.b>0){u=0;break}}else u=nP_.Math.min(u,nao(t,a,r));u=nP_.Math.min(u,n(t,c,u,r))}return u}(CY(t.b,68),e,i,r)),c=new fU(t.a);c.a<c.c.c.length;)(a=CY(RU(c),225))!=e&&(o=nP_.Math.min(o,n(a,e,o,r)));return o}(nIQ,t,r,i),Iu(i,r),Ax(CY(t.b,68),i),Gd(t.a,new lv(i)),CY(nIQ.b,68),B0(nIQ,nIJ,t)}function nft(n){var t,e,i,r,a,c,o,u,s;if(n.Pj())if(u=n.Qj(),n.i>0){if(t=new EN(n.i,n.g),a=(e=n.i)<100?null:new mw(e),n.Tj())for(i=0;i<n.i;++i)c=n.g[i],a=n.Vj(c,a);if(__(n),r=1==e?n.Ij(4,GO(t,0),null,0,u):n.Ij(6,t,null,-1,u),n.Mj()){for(i=new SQ(t);i.e!=i.i.gc();)a=n.Oj(Z5(i),a);a?(a.nj(r),a.oj()):n.Jj(r)}else a?(a.nj(r),a.oj()):n.Jj(r)}else __(n),n.Jj(n.Ij(6,($O(),nO_),null,-1,u));else if(n.Mj())if(n.i>0){for(o=n.g,s=n.i,__(n),a=s<100?null:new mw(s),i=0;i<s;++i)c=o[i],a=n.Oj(c,a);a&&a.oj()}else __(n);else __(n)}function nfe(n,t,e){var i,r,a,c,o,u,s,h,f;for(zW(this),e==(DC(),nq0)?LX(this.r,n):LX(this.w,n),h=nwF,s=nw_,c=t.a.ec().Kc();c.Ob();)r=CY(c.Pb(),42),o=CY(r.a,465),(u=(i=CY(r.b,18)).c)==n&&(u=i.d),o==nq0?LX(this.r,u):LX(this.w,u),f=(nf5(),n1l).Hc(u.j)?pj(PI(niK(u,(nlF(),nFb)))):V4(Vw(DY(nLA,1),nby,8,0,[u.i.n,u.n,u.a])).b,h=nP_.Math.min(h,f),s=nP_.Math.max(s,f);for(ni0(this,(nf5(),n1l).Hc(n.j)?pj(PI(niK(n,(nlF(),nFb)))):V4(Vw(DY(nLA,1),nby,8,0,[n.i.n,n.n,n.a])).b,h,s),a=t.a.ec().Kc();a.Ob();)r=CY(a.Pb(),42),nry(this,CY(r.b,18));this.o=!1}function nfi(n){var t,e,i,r,a,c;if(0!=(c=CY(I0(n.j,0),12)).g.c.length&&0!=c.e.c.length)throw new px("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges.").e;if(0!=c.g.c.length){for(r=nwF,t=new fU(c.g);t.a<t.c.c.length;)a=CY(RU(t),18).d.i,e=CY(niK(a,(nlL(),nHR)),140),r=nP_.Math.min(r,a.n.a-e.b);return new hX(NP(r))}if(0!=c.e.c.length){for(i=nw_,t=new fU(c.e);t.a<t.c.c.length;)a=CY(RU(t),18).c.i,e=CY(niK(a,(nlL(),nHR)),140),i=nP_.Math.max(i,a.n.a+a.o.a+e.c);return new hX(NP(i))}return gY(),gY(),nPz}function nfr(n,t){var e,i,r,a,c,o;if(!n.ol())return neO(n,t);if(n.i>4){if(!n.fk(t))return!1;else if(n.al()){if(o=(e=(i=CY(t,54)).Eh())==n.e&&(n.ml()?i.yh(i.Fh(),n.il())==n.jl():-1-i.Fh()==n.Lj()),n.nl()&&!o&&!e&&i.Jh()){for(r=0;r<n.i;++r)if(ER(n.pl(CY(n.g[r],58)))===ER(t))return!0}return o}else if(n.ml()&&!n.ll()){if(ER(a=CY(t,58).Mh(nnD(CY(n.Lk(),19))))===ER(n.e))return!0;if(null==a||!CY(a,58).Vh())return!1}}if(c=neO(n,t),n.nl()&&!c){for(r=0;r<n.i;++r)if(ER(i=n.pl(CY(n.g[r],58)))===ER(t))return!0}return c}function nfa(n){var t,e,i,r,a,c,o,u,s,h;if(n.Pj())if(h=n.Ej(),u=n.Qj(),h>0)if(t=new ze(n.pj()),a=(e=h)<100?null:new mw(e),PZ(n,e,t.g),r=1==e?n.Ij(4,GO(t,0),null,0,u):n.Ij(6,t,null,-1,u),n.Mj()){for(i=new j2(t);i.e!=i.i.gc();)a=n.Oj(Z6(i),a);a?(a.nj(r),a.oj()):n.Jj(r)}else a?(a.nj(r),a.oj()):n.Jj(r);else PZ(n,n.Ej(),n.Fj()),n.Jj(n.Ij(6,($O(),nO_),null,-1,u));else if(n.Mj())if((h=n.Ej())>0){for(o=n.Fj(),s=h,PZ(n,h,o),a=s<100?null:new mw(s),i=0;i<s;++i)c=o[i],a=n.Oj(c,a);a&&a.oj()}else PZ(n,n.Ej(),n.Fj());else PZ(n,n.Ej(),n.Fj())}function nfc(n,t,e){var i,r,a,c,o,u,s,h;for(r=t.d,a=e.d;r.a-a.a==0&&r.b-a.b==0;)c=!1,jM(t,250)&&jM(e,250)&&!c?(u=Oj(new TP(qd(o=CY(t,250).a)),qw(o)),i=2,OT(r,new MH(u.a/nP_.Math.sqrt(u.a*u.a+u.b*u.b)*i,-u.b/nP_.Math.sqrt(u.a*u.a+u.b*u.b)*i)),i=u==(h=Oj(new TP(qd(s=CY(e,250).a)),qw(s)))?-2:2,OT(r,new MH(h.a/nP_.Math.sqrt(h.a*h.a+h.b*h.b)*i,-(h.b/nP_.Math.sqrt(h.a*h.a+h.b*h.b))*i)),c=!0):(r.a+=nc8(n,26)*nw8+nc8(n,27)*nw9-.5,r.b+=nc8(n,26)*nw8+nc8(n,27)*nw9-.5,a.a+=nc8(n,26)*nw8+nc8(n,27)*nw9-.5,a.b+=nc8(n,26)*nw8+nc8(n,27)*nw9-.5)}function nfo(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(r=0,a=0,u=new fU(n.a);u.a<u.c.c.length;)c=CY(RU(u),10),r=nP_.Math.max(r,c.d.b),a=nP_.Math.max(a,c.d.c);for(o=new fU(n.a);o.a<o.c.c.length;){switch(c=CY(RU(o),10),CY(niK(c,(nlL(),nBR)),255).g){case 1:b=0;break;case 2:b=1;break;case 5:b=.5;break;default:for(e=0,h=0,l=new fU(c.j);l.a<l.c.c.length;)0==(f=CY(RU(l),12)).e.c.length||++e,0==f.g.c.length||++h;b=e+h==0?.5:h/(e+h)}d=n.c,s=c.o.a,g=(d.a-s)*b,b>.5?g-=2*a*(b-.5):b<.5&&(g+=2*r*(.5-b)),g<(i=c.d.b)&&(g=i),w=c.d.c,g>d.a-w-s&&(g=d.a-w-s),c.n.a=t+g}}function nfu(n,t){var e,i,r,a,c,o,u,s,h,f,l;if(n.e&&n.c.c<n.f)throw new px("Expected "+n.f+" phases to be configured; only found "+n.c.c).e;for(u=CY(mP(n.g),9),f=SY(n.f),a=0,o=u.length;a<o;++a)(s=CY(Uu(n,(i=u[a]).g),188))?jB(f,CY(Yu(n,s),106)):f.c.push(null);for(l=new xm,vZ(xX(xz(xX(new Aa(null,new R$(f,16)),new c1),new wc(t)),new c0),new wo(l)),zT(l,n.a),e=new du,r=0,c=u.length;r<c;++r)Vc(e,Vh(n,$H(CY(Uu(l,(i=u[r]).g),20)))),(h=CY(I0(f,i.g),106))&&dk(e.c,h);return Vc(e,Vh(n,$H(CY(Uu(l,u[u.length-1].g+1),20)))),e}function nfs(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;if(0==t.l&&0==t.m&&0==t.h)throw new pO("divide by zero").e;if(0==n.l&&0==n.m&&0==n.h)return e&&(nOe=js(0,0,0)),js(0,0,0);if(t.h==nwI&&0==t.m&&0==t.l)return(s=n).h==nwI&&0==s.m&&0==s.l?(e&&(nOe=js(0,0,0)),Tg((UT(),nOa))):(e&&(nOe=js(s.l,s.m,s.h)),js(0,0,0));if(u=!1,t.h>>19!=0&&(t=VL(t),u=!u),c=((l=(h=t).l)&l-1)!=0||((b=h.m)&b-1)!=0||((f=h.h)&f-1)!=0||0==f&&0==b&&0==l?-1:0==f&&0==b&&0!=l?qA(l):0==f&&0!=b&&0==l?qA(b)+22:0!=f&&0==b&&0==l?qA(f)+44:-1,a=!1,r=!1,i=!1,n.h==nwI&&0==n.m&&0==n.l){if(r=!0,a=!0,-1!=c)return o=ncE(n,c),u&&V9(o),e&&(nOe=js(0,0,0)),o;n=Tg((UT(),nOi)),i=!0,u=!u}else n.h>>19!=0&&(a=!0,n=VL(n),i=!0,u=!u);if(-1!=c){return w=n,d=u,g=a,p=ncE(w,c),d&&V9(p),e&&(m=w,(v=c)<=22?(y=m.l&(1<<v)-1,k=M=0):v<=44?(y=m.l,k=m.m&(1<<v-22)-1,M=0):(y=m.l,k=m.m,M=m.h&(1<<v-44)-1),w=js(y,k,M),nOe=g?VL(w):js(w.l,w.m,w.h)),p}return 0>neu(n,t)?(e&&(nOe=a?VL(n):js(n.l,n.m,n.h)),js(0,0,0)):function(n,t,e,i,r,a){var c,o,u,s,h,f,l,b,w,d,g;for(u=VY(t)-VY(n),c=ni9(t,u),o=js(0,0,0);u>=0&&(l=n,b=c,(g=l.h-b.h)<0||(w=l.l-b.l,(g+=(d=l.m-b.m+(w>>22))>>22)<0||(l.l=w&nwO,l.m=d&nwO,l.h=g&nwC,0))||(u<22?o.l|=1<<u:u<44?o.m|=1<<u-22:o.h|=1<<u-44,0!=n.l||0!=n.m||0!=n.h));)s=c.m,h=c.h,f=c.l,c.h=h>>>1,c.m=s>>>1|(1&h)<<21,c.l=f>>>1|(1&s)<<21,--u;return e&&V9(o),a&&(i?(nOe=VL(n),r&&(nOe=Vn(nOe,(UT(),nOa)))):nOe=js(n.l,n.m,n.h)),o}(i?n:js(n.l,n.m,n.h),t,u,a,r,e)}function nfh(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(c=n.e,u=t.e,0==c)return t;if(0==u)return n;if((a=n.d)+(o=t.d)==2)return(e=RF(n.a[0],nwW),i=RF(t.a[0],nwW),c==u)?(w=AW(h=JF(e,i)),0==(b=AW(A7(h,32)))?new FI(c,w):new LZ(c,2,Vw(DY(n4s,1),nwl,28,15,[w,b]))):(nuY(),EH(c<0?JB(i,e):JB(e,i),0)?Yq(c<0?JB(i,e):JB(e,i)):Nt(Yq(H4(c<0?JB(i,e):JB(e,i)))));if(c==u)l=c,f=a>=o?BQ(n.a,a,t.a,o):BQ(t.a,o,n.a,a);else{if(0==(r=a!=o?a>o?1:-1:WO(n.a,t.a,a)))return nuY(),nO$;1==r?(l=c,f=_X(n.a,a,t.a,o)):(l=u,f=_X(t.a,o,n.a,a))}return KM(s=new LZ(l,f.length,f)),s}function nff(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;if(Ym(t,e)>=0)return e;switch(xb(Ua(n,e))){case 2:if(OB("",Qz(n,e.qk()).xe())){if(u=xF(Ua(n,e)),o=xK(Ua(n,e)),h=ncK(n,t,u,o))return h;for(c=0,f=(r=nsr(n,t)).gc();c<f;++c)if(nod(L3(Ua(n,h=CY(r.Xb(c),179))),u))return h}return null;case 4:if(OB("",Qz(n,e.qk()).xe())){for(i=e;i;(l=Ua(n,i)).a==(Bu(),n3n)&&(b=l.g,l.a=(d=(w=l.b).qi(b.a))&&null!=(p=PA(YH((d.b||(d.b=new Pd((nlq(),n2S),n07,d)),d.b),"affiliation")))?-1==(g=Sg(p,niT(35)))?Jc(b,A2(b,GT(w.qk())),p):0==g?Jc(b,null,(Rx(1,p.length+1),p.substr(1))):Jc(b,(B2(0,g,p.length),p.substr(0,g)),(Rx(g+1,p.length+1),p.substr(g+1))):null),i=l.a)if(s=xF(Ua(n,i)),o=xK(Ua(n,i)),h=ncF(n,t,s,o))return h;if(OB(nSb,u=xF(Ua(n,e))))return neS(n,t);for(c=0,f=(a=nsa(n,t)).gc();c<f;++c)if(nod(L3(Ua(n,h=CY(a.Xb(c),179))),u))return h}return null;default:return null}}function nfl(){nfl=T,n3l=(mS(),n3f).b,n3d=CY(GO($x(n3f.b),0),35),n3b=CY(GO($x(n3f.b),1),35),n3w=CY(GO($x(n3f.b),2),35),n3j=n3f.bb,CY(GO($x(n3f.bb),0),35),CY(GO($x(n3f.bb),1),35),n3P=n3f.fb,n3O=CY(GO($x(n3f.fb),0),35),CY(GO($x(n3f.fb),1),35),CY(GO($x(n3f.fb),2),19),n3I=n3f.qb,n3N=CY(GO($x(n3f.qb),0),35),CY(GO($x(n3f.qb),1),19),CY(GO($x(n3f.qb),2),19),n3A=CY(GO($x(n3f.qb),3),35),n3L=CY(GO($x(n3f.qb),4),35),n3$=CY(GO($x(n3f.qb),6),35),n3x=CY(GO($x(n3f.qb),5),19),n3g=n3f.j,n3p=n3f.k,n3m=n3f.q,n3v=n3f.w,n3y=n3f.B,n3k=n3f.A,n3M=n3f.C,n3E=n3f.D,n3T=n3f._,n3S=n3f.cb,n3C=n3f.hb}function nfb(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(h=pj(PI(niK(n,(nlL(),nUM)))),i=pj(PI(niK(n,nUB))),VD(l=new oN,nUM,h+i),p=(s=t).d,d=s.c.i,m=s.d.i,g=Tk(d.c),v=Tk(m.c),r=new du,f=g;f<=v;f++)(o=new nn_(n)).k=(ni8(),n$m),VD(o,(nlF(),nK6),s),VD(o,nUt,(nie(),nZJ)),VD(o,nUT,l),b=CY(I0(n.b,f),30),f==g?ntX(o,b.a.c.length-e,b):Rc(o,b),(y=pj(PI(niK(s,nHd))))<0&&VD(s,nHd,y=0),o.o.b=y,w=nP_.Math.floor(y/2),nau(c=new nro,(nf5(),n1y)),Ro(c,o),c.n.b=w,nau(u=new nro,n1n),Ro(u,o),u.n.b=w,Ru(s,c),zU(a=new $1,s),VD(a,nHP,null),Ra(a,u),Ru(a,p),function(n,t,e){var i;(i=t.c.i).k==(ni8(),n$m)?(VD(n,(nlF(),nK1),CY(niK(i,nK1),12)),VD(n,nK0,CY(niK(i,nK0),12))):(VD(n,(nlF(),nK1),t.c),VD(n,nK0,e.d))}(o,s,a),dk(r.c,a),s=a;return r}function nfw(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;for(o=CY(nrs(n,(nf5(),n1y)).Kc().Pb(),12).e,f=CY(nrs(n,n1n).Kc().Pb(),12).g,c=o.c.length,g=RO(CY(I0(n.j,0),12));c-- >0;){for(RN(0,o.c.length),b=CY(o.c[0],18),RN(0,f.c.length),r=H6((i=CY(f.c[0],18)).d.e,i,0),p=i.d,b.d&&H0(b.d.e,b),b.d=p,b.d&&AC(b.d.e,r,b),Ra(i,null),Ru(i,null),l=b.a,t&&IA(l,new TP(g)),e=ZQ(i.a,0);e.b!=e.d.c;)IA(l,new TP(CY(K0(e),8)));for(d=b.b,h=new fU(i.b);h.a<h.c.c.length;)s=CY(RU(h),72),dk(d.c,s);if(w=CY(niK(b,(nlL(),nHP)),75),a=CY(niK(i,nHP),75))for(w||(w=new gj,VD(b,nHP,w)),u=ZQ(a,0);u.b!=u.d.c;)IA(w,new TP(CY(K0(u),8)))}}function nfd(n,t){var e;if(null==t||OB(t,nbi)||0==t.length&&n.k!=(nrN(),nQY))return null;switch(n.k.g){case 1:return ZM(t,nMC)?(SB(),nOu):ZM(t,nMI)?(SB(),nOo):null;case 2:try{return Qx(nsE(t,nbJ,nl3))}catch(n){if(jM(n=Vt(n),130))return null;throw n.e}case 4:try{return ni7(t)}catch(n){if(jM(n=Vt(n),130))return null;throw n.e}case 3:return t;case 5:return Wq(n),naL(n,t);case 6:return Wq(n),function(n,t,e){var i,r,a,c,o,u,s;for(s=new O9(i=CY(t.e&&t.e(),9),CY(Oc(i,i.length),9),0),o=ns7(e,"[\\[\\]\\s,]+"),a=0,c=o.length;a<c;++a)if(0!=nrJ(r=o[a]).length){if(null==(u=naL(n,r)))return null;Xf(s,CY(u,22))}return s}(n,n.a,t);case 7:try{return(e=function(n){var t,e;if(!n.a)throw new px("IDataType class expected for layout option "+n.f).e;if(e=n.a,D6(),null==(t=LR(n0j,e)?CY(NR(n0j,e),341).Qg():null))throw new px("Couldn't create new instance of property '"+n.f+"'. "+nMP+(PL(nNf),nNf.k)+nMO).e;return CY(t,423)}(n)).cg(t),e}catch(n){if(jM(n=Vt(n),33))return null;throw n.e}default:throw new px("Invalid type set for this layout option.").e}}function nfg(n){var t;switch(n.d){case 1:if(n.Sj())return -2!=n.o;break;case 2:if(n.Sj())return -2==n.o;break;case 3:case 5:case 4:case 6:case 7:return n.o>-2;default:return!1}switch(t=n.Rj(),n.p){case 0:return null!=t&&pT(PC(t))!=EU(n.k,0);case 1:return null!=t&&CY(t,222).a!=AW(n.k)<<24>>24;case 2:return null!=t&&CY(t,180).a!=(AW(n.k)&nb9);case 6:return null!=t&&EU(CY(t,168).a,n.k);case 5:return null!=t&&CY(t,17).a!=AW(n.k);case 7:return null!=t&&CY(t,191).a!=AW(n.k)<<16>>16;case 3:return null!=t&&pj(PI(t))!=n.j;case 4:return null!=t&&CY(t,161).a!=n.j;default:return null==t?null!=n.n:!QY(t,n.n)}}function nfp(n,t,e){var i,r,a,c;return n.ol()&&n.nl()&&ER(c=LK(n,CY(e,58)))!==ER(e)?(n.xj(t),n.Dj(t,Hy(n,t,c)),n.al()&&(r=CY(e,54),a=n.ml()?n.kl()?r.Th(n.b,nnD(CY(Gt(Dt(n.b),n.Lj()),19)).n,CY(Gt(Dt(n.b),n.Lj()).Hk(),29).kk(),null):r.Th(n.b,Ym(r.Dh(),nnD(CY(Gt(Dt(n.b),n.Lj()),19))),null,null):r.Th(n.b,-1-n.Lj(),null,null),CY(c,54).Ph()||(i=CY(c,54),a=n.ml()?n.kl()?i.Rh(n.b,nnD(CY(Gt(Dt(n.b),n.Lj()),19)).n,CY(Gt(Dt(n.b),n.Lj()).Hk(),29).kk(),a):i.Rh(n.b,Ym(i.Dh(),nnD(CY(Gt(Dt(n.b),n.Lj()),19))),null,a):i.Rh(n.b,-1-n.Lj(),null,a)),a&&a.oj()),TN(n.b)&&n.Jj(n.Ij(9,e,c,t,!1)),c):e}function nfm(n){var t,e,i,r,a,c,o,u,s,h;for(i=new du,c=new fU(n.e.a);c.a<c.c.c.length;){for(r=CY(RU(c),125),h=0,r.k.c.length=0,e=new fU(W1(r));e.a<e.c.c.length;)(t=CY(RU(e),218)).f&&(jB(r.k,t),++h);1==h&&dk(i.c,r)}for(a=new fU(i);a.a<a.c.c.length;)for(r=CY(RU(a),125);1==r.k.c.length;){for(s=CY(RU(new fU(r.k)),218),n.b[s.c]=s.g,o=s.d,u=s.e,e=new fU(W1(r));e.a<e.c.c.length;)QY(t=CY(RU(e),218),s)||(t.f?o==t.d||u==t.e?n.b[s.c]-=n.b[t.c]-t.g:n.b[s.c]+=n.b[t.c]-t.g:r==o?t.d==r?n.b[s.c]+=t.g:n.b[s.c]-=t.g:t.d==r?n.b[s.c]-=t.g:n.b[s.c]+=t.g);H0(o.k,s),H0(u.k,s),r=o==r?s.e:s.d}}function nfv(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;if(e=CY(xN(n.b,t),127),(u=CY(CY(_G(n.r,t),21),87)).dc()){e.n.b=0,e.n.c=0;return}for(s=n.u.Hc((nap(),nZ6)),c=0,o=u.Kc(),h=null,f=0,l=0;o.Ob();)r=pj(PI((i=CY(o.Pb(),117)).b.of((S_(),nIF)))),a=i.b.Mf().a,n.A.Hc((YZ(),n1I))&&nuN(n,t),h?(b=l+h.d.c+n.w+i.d.b,c=nP_.Math.max(c,(T6(),qM(nd5),nP_.Math.abs(f-r)<=nd5||f==r||isNaN(f)&&isNaN(r)?0:b/(r-f)))):n.C&&n.C.b>0&&(c=nP_.Math.max(c,X_(n.C.b+i.d.b,r))),h=i,f=r,l=a;n.C&&n.C.c>0&&(b=l+n.C.c,s&&(b+=h.d.c),c=nP_.Math.max(c,(T6(),qM(nd5),nP_.Math.abs(f-1)<=nd5||1==f||isNaN(f)&&isNaN(1)?0:b/(1-f)))),e.n.b=0,e.a.a=c}function nfy(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;if(e=CY(xN(n.b,t),127),(u=CY(CY(_G(n.r,t),21),87)).dc()){e.n.d=0,e.n.a=0;return}for(s=n.u.Hc((nap(),nZ6)),c=0,n.A.Hc((YZ(),n1I))&&nux(n,t),o=u.Kc(),h=null,l=0,f=0;o.Ob();)a=pj(PI((i=CY(o.Pb(),117)).b.of((S_(),nIF)))),r=i.b.Mf().b,h?(b=f+h.d.a+n.w+i.d.d,c=nP_.Math.max(c,(T6(),qM(nd5),nP_.Math.abs(l-a)<=nd5||l==a||isNaN(l)&&isNaN(a)?0:b/(a-l)))):n.C&&n.C.d>0&&(c=nP_.Math.max(c,X_(n.C.d+i.d.d,a))),h=i,l=a,f=r;n.C&&n.C.a>0&&(b=f+n.C.a,s&&(b+=h.d.a),c=nP_.Math.max(c,(T6(),qM(nd5),nP_.Math.abs(l-1)<=nd5||1==l||isNaN(l)&&isNaN(1)?0:b/(1-l)))),e.n.d=0,e.a.b=c}function nfk(n,t,e){var i,r,a,c,o,u;for(c=0,this.g=n,o=t.d.length,u=e.d.length,this.d=BJ(nAr,npU,10,o+u,0,1);c<o;c++)this.d[c]=t.d[c];for(a=0;a<u;a++)this.d[o+a]=e.d[a];if(t.e){if(this.e=CJ(t.e),this.e.Mc(e),e.e)for(r=e.e.Kc();r.Ob();)(i=CY(r.Pb(),239))!=t&&(this.e.Hc(i)?--i.c:this.e.Fc(i))}else e.e&&(this.e=CJ(e.e),this.e.Mc(t));this.f=t.f+e.f,this.a=t.a+e.a,this.a>0?GE(this,this.f/this.a):null!=jD(t.g,t.d[0]).a&&null!=jD(e.g,e.d[0]).a?GE(this,(pj(jD(t.g,t.d[0]).a)+pj(jD(e.g,e.d[0]).a))/2):null!=jD(t.g,t.d[0]).a?GE(this,jD(t.g,t.d[0]).a):null!=jD(e.g,e.d[0]).a&&GE(this,jD(e.g,e.d[0]).a)}function nfM(n){var t;this.a=n,t=(ni8(),Vw(DY(nAa,1),nbG,273,0,[n$v,n$m,n$g,n$y,n$p,n$d])).length,this.b=I3(nLO,[nby,nyC],[601,149],0,[t,t],2),this.c=I3(nLO,[nby,nyC],[601,149],0,[t,t],2),$z(this,n$v,(nlL(),nUC),nUI),zq(this,n$v,n$m,nUM,nUE),$X(this,n$v,n$y,nUM),$X(this,n$v,n$g,nUM),zq(this,n$v,n$p,nUC,nUI),$z(this,n$m,nUv,nUy),$X(this,n$m,n$y,nUv),$X(this,n$m,n$g,nUv),zq(this,n$m,n$p,nUM,nUE),T1(this,n$y,nUv),$X(this,n$y,n$g,nUv),$X(this,n$y,n$p,nUS),T1(this,n$g,nUN),zq(this,n$g,n$p,nUO,nUP),$z(this,n$p,nUv,nUv),$z(this,n$d,nUv,nUy),zq(this,n$d,n$v,nUM,nUE),zq(this,n$d,n$p,nUM,nUE),zq(this,n$d,n$m,nUM,nUE)}function nfE(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;if(l=new TP(n.o),p=t.a/l.a,o=t.b/l.b,d=t.a-l.a,a=t.b-l.b,e)for(r=ER(niK(n,(nlL(),nUt)))===ER((nie(),nZJ)),w=new fU(n.j);w.a<w.c.c.length;)switch((b=CY(RU(w),12)).j.g){case 1:r||(b.n.a*=p);break;case 2:b.n.a+=d,r||(b.n.b*=o);break;case 3:r||(b.n.a*=p),b.n.b+=a;break;case 4:r||(b.n.b*=o)}for(s=new fU(n.b);s.a<s.c.c.length;)h=(u=CY(RU(s),72)).n.a+u.o.a/2,f=u.n.b+u.o.b/2,(g=h/l.a)+(c=f/l.b)>=1&&(g-c>0&&f>=0?(u.n.a+=d,u.n.b+=a*c):g-c<0&&h>=0&&(u.n.a+=d*g,u.n.b+=a));n.o.a=t.a,n.o.b=t.b,VD(n,(nlL(),nHW),(YZ(),new O9(i=CY(mP(nLX),9),CY(Oc(i,i.length),9),0)))}function nfT(n,t){var e,i,r,a,c,o,u,s,h,f;if(null==t||0==t.length)return null;if(!(a=CY(Db(n.f,t),23))){for(r=new fx(new fN(n.d).a.vc().Kc());r.a.Ob();)if(c=CY(r.a.Pb(),44),o=(e=CY(c.md(),23)).f,f=t.length,OB(o.substr(o.length-f,f),t)&&(t.length==o.length||46==xq(o,o.length-t.length-1))){if(a)return null;a=e}if(!a){for(i=new fx(new fN(n.d).a.vc().Kc());i.a.Ob();)if(c=CY(i.a.Pb(),44),null!=(h=(e=CY(c.md(),23)).g)){for(u=0,s=h.length;u<s;++u)if(o=h[u],f=t.length,OB(o.substr(o.length-f,f),t)&&(t.length==o.length||46==xq(o,o.length-t.length-1))){if(a)return null;a=e}}}a&&Rr(n.f,t,a)}return a}function nfj(n,t,e){var i,r,a,c,o;this.j=n,this.e=ne8(n),this.o=this.j.e,this.i=!!this.o,this.p=this.i?CY(I0(e,xi(this.o).p),219):null,r=CY(niK(n,(nlF(),nKU)),21),this.g=r.Hc((no7(),nKc)),this.b=new du,this.d=new YW(this.e),c=CY(niK(this.j,nFc),234),this.q=(o=this.e,t==(qp(),nqf)?new rH:0!=nc8(c,1)?new mb(o.length):new ml(o.length)),this.k=new D3(this),a=_q(Vw(DY(nAl,1),nl7,230,0,[this,this.d,this.k,this.q])),t!=(qp(),nqs)||pT(PC(niK(n,(nlL(),nBY))))?t==nqs&&pT(PC(niK(n,(nlL(),nBY))))?(i=new nit(this.e),dk(a.c,i),this.c=new XE(i,c,CY(this.q,413))):this.c=new kE(t,this):(i=new nit(this.e),dk(a.c,i),this.c=new KV(i,c,CY(this.q,413))),jB(a,this.c),nhJ(a,this.e),this.s=function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E;if((e=pj(PI(niK(n.a.j,(nlL(),nB2)))))<-1||!n.a.i||Oq(CY(niK(n.a.o,nUt),101))||2>JH(n.a.o,(nf5(),n1n)).gc()&&2>JH(n.a.o,n1y).gc())return!0;if(n.a.c.kg())return!1;for(y=0,v=0,m=new du,u=n.a.e,h=0,f=u.length;h<f;++h){for(o=u[h],b=0,d=o.length;b<d;++b){if((l=o[b]).k==(ni8(),n$y)){dk(m.c,l);continue}for(i=n.b[l.c.p][l.p],l.k==n$g?(i.b=1,CY(niK(l,(nlF(),nK6)),12).j==(nf5(),n1n)&&(v+=i.a)):(E=JH(l,(nf5(),n1y))).dc()||!jE(E,new rX)?i.c=1:((r=JH(l,n1n)).dc()||!jE(r,new rq))&&(y+=i.a),c=new Le(Sb(JV(l).a.Kc(),new s));ncv(c);)a=CY(_I(c),18),y+=i.c,v+=i.b,He(n,i,a.d.i);for(M=new Le(new Su((g=qb(Vw(DY(nPs,1),nl7,20,0,[JH(l,(nf5(),n1t)),JH(l,n1m)]))).a.length,g.a));ncv(M);)k=CY(_I(M),12),(p=CY(niK(k,(nlF(),nFi)),10))&&(y+=i.c,v+=i.b,He(n,i,p))}for(w=new fU(m);w.a<w.c.c.length;)for(l=CY(RU(w),10),i=n.b[l.c.p][l.p],c=new Le(Sb(JV(l).a.Kc(),new s));ncv(c);)a=CY(_I(c),18),y+=i.c,v+=i.b,He(n,i,a.d.i);m.c.length=0}return(0==(t=y+v)?nwF:(y-v)/t)>=e}(this.k)}function nfS(n){var t,e,i,r,a,c,o,u;for(t=0,a=new fU(n.b.a);a.a<a.c.c.length;)(i=CY(RU(a),194)).b=0,i.c=0;for(nrn(n,0),Yo(n,n.g),noy(n.c),Wc(n.c),Ju(),e=nY8,nss(Me(nfz(nss(Me(nfz(nss(nfz(n.c,e)),Jf(e)))),e))),nfz(n.c,nY8),JT(n,n.g),nix(n,0),nhz(n,0),ncB(n,1),nrn(n,1),Yo(n,n.d),noy(n.c),c=new fU(n.b.a);c.a<c.c.c.length;)i=CY(RU(c),194),t+=nP_.Math.abs(i.c);for(o=new fU(n.b.a);o.a<o.c.c.length;)(i=CY(RU(o),194)).b=0,i.c=0;for(e=nZn,nss(Me(nfz(nss(Me(nfz(nss((Wc(u=nfz(n.c,e)),u)),Jf(e)))),e))),nfz(n.c,nY8),JT(n,n.d),nix(n,1),nhz(n,1),ncB(n,0),Wc(n.c),r=new fU(n.b.a);r.a<r.c.c.length;)i=CY(RU(r),194),t+=nP_.Math.abs(i.c);return t}function nfP(n,t){var e,i,r,a,c,o,u,s;if(null!=t.b&&null!=n.b){for(ncU(n),nh6(n),ncU(t),nh6(t),e=BJ(n4s,nwl,28,n.b.length+t.b.length,15,1),s=0,i=0,c=0;i<n.b.length&&c<t.b.length;)if(r=n.b[i],a=n.b[i+1],o=t.b[c],u=t.b[c+1],a<o)i+=2;else if(a>=o&&r<=u)o<=r&&a<=u?(e[s++]=r,e[s++]=a,i+=2):o<=r?(e[s++]=r,e[s++]=u,n.b[i]=u+1,c+=2):a<=u?(e[s++]=o,e[s++]=a,i+=2):(e[s++]=o,e[s++]=u,n.b[i]=u+1);else if(u<r)c+=2;else throw new ph("Token#intersectRanges(): Internal Error: ["+n.b[i]+","+n.b[i+1]+"] & ["+t.b[c]+","+t.b[c+1]+"]").e;for(;i<n.b.length;)e[s++]=n.b[i++],e[s++]=n.b[i++];n.b=BJ(n4s,nwl,28,s,15,1),ns8(e,0,n.b,0,s)}}function nfO(n,t){var e,i,r,a;2>pj(PI(niK(t,(nlL(),nUv))))&&VD(t,nUv,2),CY(niK(t,nHt),88)==(Ju(),nY7)&&VD(t,nHt,JO(t)),0==(e=CY(niK(t,nUb),17)).a?VD(t,(nlF(),nFc),new Yl):VD(t,(nlF(),nFc),new FG(e.a)),null==PC(niK(t,nHG))&&VD(t,nHG,(SB(),ER(niK(t,nHu))===ER((JG(),nZc)))),vZ(new Aa(null,new R$(t.a,16)),new lS(n)),vZ(UL(new Aa(null,new R$(t.b,16)),new ti),new lP(n)),i=new nfM(t),VD(t,(nlF(),nFf),i),xR(n.a),L2(n.a,(niF(),nxV),CY(niK(t,nB7),188)),L2(n.a,nxW,CY(niK(t,nHD),188)),L2(n.a,nxQ,CY(niK(t,nB9),188)),L2(n.a,nxJ,CY(niK(t,nHV),188)),L2(n.a,nxY,function(n){var t;return T8(),AE(nqL.a,n)||((t=new as).a=n,Oa(nqL,n,t)),CY(xN(nqL,n),645)}(CY(niK(t,nHu),223))),r=n.a,a=function(n){var t,e,i,r,a,c,o;switch(e=CY(niK(n,(nlF(),nKU)),21),t=TA(nxq),CY(niK(n,(nlL(),nHm)),346)==(QO(),nZj)&&zT(t,nxX),pT(PC(niK(n,nHg)))?IG(t,(niF(),nxV),(nlB(),nDm)):IG(t,(niF(),nxQ),(nlB(),nDm)),null!=niK(n,(Bl(),nQ4))&&zT(t,nxz),(pT(PC(niK(n,nHj)))||pT(PC(niK(n,nHp))))&&AX(t,(niF(),nxY),(nlB(),n$H)),CY(niK(n,nHt),88).g){case 2:case 3:case 4:AX(IG(t,(niF(),nxV),(nlB(),n$G)),nxY,n$U)}switch(e.Hc((no7(),nKr))&&AX(IG(IG(t,(niF(),nxV),(nlB(),n$B)),nxJ,n$F),nxY,n$_),ER(niK(n,nH$))!==ER((nu7(),nGT))&&IG(t,(niF(),nxQ),(nlB(),nDh)),e.Hc(nKf)&&(IG(t,(niF(),nxV),(nlB(),nDg)),IG(t,nxW,nDw),IG(t,nxQ,nDd)),ER(niK(n,nBU))!==ER((ni2(),nKn))&&ER(niK(n,nHu))!==ER((JG(),nZo))&&AX(t,(niF(),nxY),(nlB(),n$3)),pT(PC(niK(n,nHy)))&&IG(t,(niF(),nxQ),(nlB(),n$2)),pT(PC(niK(n,nB8)))&&IG(t,(niF(),nxQ),(nlB(),nDT)),(ER(niK(n,(nlL(),nHm)))===ER((QO(),nZj))?!n.e&&ER(niK(n,nB1))!==ER((zJ(),nKw)):(c=CY(niK(n,nB0),299),o=pT(PC(niK(n,nB8)))||ER(niK(n,nB9))===ER((q$(),nRM)),r=CY(niK(n,nBZ),17).a,a=n.a.c.length,!o&&c!=(zJ(),nKw)&&(0==r||r>a)))&&(i=(ER(niK(n,nHm))===ER(nZj)?CY(niK(n,nB1),299):CY(niK(n,nB0),299))==(zJ(),nKd)?(nlB(),nDb):(nlB(),nDP),IG(t,(niF(),nxJ),i)),CY(niK(n,nUW),388).g){case 1:IG(t,(niF(),nxJ),(nlB(),nDj));break;case 2:AX(IG(IG(t,(niF(),nxQ),(nlB(),n$$)),nxJ,n$D),nxY,n$R)}return ER(niK(n,nBQ))!==ER((Zu(),nGO))&&IG(t,(niF(),nxQ),(nlB(),nDS)),t}(t),zT(r.a,a),VD(t,nFa,nfu(n.a,t))}function nfC(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,g,p,m,v,y,k;for(f=new dc,c=new du,nr1(n,e,n.d.Ag(),c,f),nr1(n,i,n.d.Bg(),c,f),n.b=.2*(g=ncI(UL(new Aa(null,new R$(c,16)),new ak)),p=ncI(UL(new Aa(null,new R$(c,16)),new aM)),nP_.Math.min(g,p)),a=0,o=0;o<c.c.length-1;o++)for(RN(o,c.c.length),u=CY(c.c[o],118),w=o+1;w<c.c.length;w++)a+=nhq(n,u,(RN(w,c.c.length),CY(c.c[w],118)));for(l=CY(niK(t,(nlF(),nFc)),234),a>=2&&(m=nc9(c,!0,l),n.e||(n.e=new bq(n)),v=n.e,y=n.b,0!=m.c.length&&(k=function(n,t){var e,i,r,a,c,o,u,s;for(e=new du,r=UL(new Aa(null,new R$(n,16)),new am),a=UL(new Aa(null,new R$(n,16)),new av),xa((JC(c=xV(function(n){var t,e,i,r,a,c,o;for(t=336,e=0,r=new Ok(n.length),c=0,o=n.length;c<o;++c)JC(a=n[c]),xa(a),i=a.a,jB(r.a,NP(i)),t&=i.yd(),e=function(n,t){var e;return(e=JF(n,t),0>Qv(RB(n,t),0)|EH(RB(n,e),0))?e:JF(nbj,RB(A7(e,63),1))}(e,i.zd());return CY(CY(function n(t,e){return t.c?n(t.c,e):jB(t.b,e),t}(new Aa(null,niE(new R$((NA(),Y$(r.a)),16),new d,t,e)),new fp(n)),687),848)}(Vw(DY(nCr,1),nl7,848,0,[r,a])),new ay)),o=new C2(c,c.a.e,4|c.a.d),u=new PB(c,o))),s=BJ(n4b,nwX,28,0,15,1),mZ(u.a,new le(s)),i=1;i<s.length;i++)s[i]-s[i-1]>=2*t&&jB(e,new CS(s[i-1]+t,s[i]-t));return e}(c,y),vZ(Gs(new Aa(null,new R$(function(n){var t,e,i,r,a,c,o;for(a=new TE,e=new fU(n);e.a<e.c.c.length;)c=(t=CY(RU(e),132)).a,o=t.b,a.a._b(c)||a.a._b(o)||(r=c,i=o,c.e.b+c.j.b>2&&o.e.b+o.j.b<=2&&(r=o,i=c),a.a.zc(r,a),r.q=i);return a}(m),1)),new ap),new x6(v,c,k,y)))),nia(c,l),function(n){var t,e,i,r,a,c,o,u,s;for(u=new du,c=new du,a=new fU(n);a.a<a.c.c.length;)(i=CY(RU(a),118)).d=i.f.c.length,i.i=i.k.c.length,0==i.d&&dk(u.c,i),0==i.i&&0==i.e.b&&dk(c.c,i);for(e=-1;0!=u.c.length;)for(t=new fU((i=CY(_V(u,0),118)).k);t.a<t.c.c.length;)(s=CY(RU(t),132).b).o=nP_.Math.max(s.o,i.o+1),e=nP_.Math.max(e,s.o),s.d=s.d-1,0==s.d&&dk(u.c,s);if(e>-1){for(r=new fU(c);r.a<r.c.c.length;)(i=CY(RU(r),118)).o=e;for(;0!=c.c.length;)for(t=new fU((i=CY(_V(c,0),118)).f);t.a<t.c.c.length;)(o=CY(RU(t),132).a).e.b>0||(o.o=nP_.Math.min(o.o,i.o-1),o.i=o.i-1,0==o.i&&dk(c.c,o))}}(c),b=-1,h=new fU(c);h.a<h.c.c.length;)s=CY(RU(h),118),nP_.Math.abs(s.s-s.c)<ngY||(b=nP_.Math.max(b,s.o),n.d.yg(s,r,n.c));return n.d.a.a.$b(),b+1}function nfI(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(s=nwF,h=nwF,o=nw_,u=nw_,l=new fU(t.i);l.a<l.c.c.length;)f=CY(RU(l),68),TB(r=CY(CY(NR(n.g,f.a),42).b,27),f.b.c,f.b.d),s=nP_.Math.min(s,r.i),h=nP_.Math.min(h,r.j),o=nP_.Math.max(o,r.i+r.g),u=nP_.Math.max(u,r.j+r.f);for(b=CY(ncx(n.c,(niB(),nQt)),107),nf9(n.c,o-s+(b.b+b.c),u-h+(b.d+b.a),!0,!0),niN(n.c,-s+b.b,-h+b.d),i=new j2($l(n.c));i.e!=i.i.gc();)c=no6(e=CY(Z6(i),74),!0,!0),w=niU(e),g=niX(e),d=new MH(w.i+w.g/2,w.j+w.f/2),a=new MH(g.i+g.g/2,g.j+g.f/2),ned(p=Oj(new MH(a.a,a.b),d),w.g,w.f),OT(d,p),ned(m=Oj(new MH(d.a,d.b),a),g.g,g.f),OT(a,m),TU(c,d.a,d.b),TH(c,a.a,a.b)}function nfA(n,t){t.dc()&&C5(n.j,!0,!0,!0,!0),QY(t,(nf5(),n1o))&&C5(n.j,!0,!0,!0,!1),QY(t,n1e)&&C5(n.j,!1,!0,!0,!0),QY(t,n1d)&&C5(n.j,!0,!0,!1,!0),QY(t,n1p)&&C5(n.j,!0,!1,!0,!0),QY(t,n1u)&&C5(n.j,!1,!0,!0,!1),QY(t,n1i)&&C5(n.j,!1,!0,!1,!0),QY(t,n1g)&&C5(n.j,!0,!1,!1,!0),QY(t,n1w)&&C5(n.j,!0,!1,!0,!1),QY(t,n1l)&&C5(n.j,!0,!0,!0,!0),QY(t,n1a)&&C5(n.j,!0,!0,!0,!0),QY(t,n1l)&&C5(n.j,!0,!0,!0,!0),QY(t,n1r)&&C5(n.j,!0,!0,!0,!0),QY(t,n1b)&&C5(n.j,!0,!0,!0,!0),QY(t,n1f)&&C5(n.j,!0,!0,!0,!0),QY(t,n1h)&&C5(n.j,!0,!0,!0,!0)}function nfL(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(n.a!=t.jk())throw new pN(nE$+t.xe()+nED).e;if(i=Qz((nrR(),n28),t).Jl())return i.jk().wi().ri(i,e);if(c=Qz(n28,t).Ll()){if(null==e)return null;if((o=CY(e,15)).dc())return"";for(f=new p1,a=o.Kc();a.Ob();)r=a.Pb(),EW(f,c.jk().wi().ri(c,r)),f.a+=" ";return Tb(f,f.a.length-1)}if(!(h=Qz(n28,t).Ml()).dc()){for(s=h.Kc();s.Ob();)if((u=CY(s.Pb(),156)).fk(e))try{if(f=u.jk().wi().ri(u,e),null!=f)return f}catch(n){if(!jM(n=Vt(n),103))throw n.e}throw new pN("Invalid value: '"+e+"' for datatype :"+t.xe()).e}return CY(t,847).ok(),null==e?null:jM(e,180)?""+CY(e,180).a:WZ(e)==nPM?(l=n0f[0],b=CY(e,206),nfF(l.a,b,null)):J2(e)}function nfN(n,t,e,i,r){var a,c,o,u;return u=nwF,c=!1,a=!!(o=nhA(n,Oj(new MH(t.a,t.b),n),OT(new MH(e.a,e.b),r),Oj(new MH(i.a,i.b),e)))&&!(nP_.Math.abs(o.a-n.a)<=nML&&nP_.Math.abs(o.b-n.b)<=nML||nP_.Math.abs(o.a-t.a)<=nML&&nP_.Math.abs(o.b-t.b)<=nML),(o=nhA(n,Oj(new MH(t.a,t.b),n),e,r))&&((nP_.Math.abs(o.a-n.a)<=nML&&nP_.Math.abs(o.b-n.b)<=nML)==(nP_.Math.abs(o.a-t.a)<=nML&&nP_.Math.abs(o.b-t.b)<=nML)||a?u=nP_.Math.min(u,N5(Oj(o,e))):c=!0),(o=nhA(n,Oj(new MH(t.a,t.b),n),i,r))&&(c||(nP_.Math.abs(o.a-n.a)<=nML&&nP_.Math.abs(o.b-n.b)<=nML)==(nP_.Math.abs(o.a-t.a)<=nML&&nP_.Math.abs(o.b-t.b)<=nML)||a)&&(u=nP_.Math.min(u,N5(Oj(o,i)))),u}function nfx(n){var t,e,i,r,a;yd(n,new nil((((t=new c5).c=npk,(e=t).d=npM,i=e).b="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.",(r=i).e=new tr,(a=r).a=ng2,a))),KS(n,npk,ng9,Z4(nxN)),KS(n,npk,npn,(SB(),!0)),KS(n,npk,npr,Z4(nxD)),KS(n,npk,npE,Z4(nxR)),KS(n,npk,npi,Z4(nxK)),KS(n,npk,npa,Z4(nx$)),KS(n,npk,npt,Z4(nxF)),KS(n,npk,npc,Z4(nx_)),KS(n,npk,npg,Z4(nxL)),KS(n,npk,npm,Z4(nxI)),KS(n,npk,npv,Z4(nxA)),KS(n,npk,npy,Z4(nxx)),KS(n,npk,npp,Z4(nxC))}function nf$(n,t){var e,i,r,a,c,o,u,s;if(5==t.e)return void nfP(n,t);if(null!=t.b&&null!=n.b){for(ncU(n),nh6(n),ncU(t),nh6(t),e=BJ(n4s,nwl,28,n.b.length+t.b.length,15,1),s=0,i=0,c=0;i<n.b.length&&c<t.b.length;)if(r=n.b[i],a=n.b[i+1],o=t.b[c],u=t.b[c+1],a<o)e[s++]=n.b[i++],e[s++]=n.b[i++];else if(a>=o&&r<=u)o<=r&&a<=u?i+=2:o<=r?(n.b[i]=u+1,c+=2):a<=u?(e[s++]=r,e[s++]=o-1,i+=2):(e[s++]=r,e[s++]=o-1,n.b[i]=u+1,c+=2);else if(u<r)c+=2;else throw new ph("Token#subtractRanges(): Internal Error: ["+n.b[i]+","+n.b[i+1]+"] - ["+t.b[c]+","+t.b[c+1]+"]").e;for(;i<n.b.length;)e[s++]=n.b[i++],e[s++]=n.b[i++];n.b=BJ(n4s,nwl,28,s,15,1),ns8(e,0,n.b,0,s)}}function nfD(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(b=nrb(no6(t,!1,!1)),i&&(b=Wo(b)),d=pj(PI(ncx(t,(Z7(),nN$)))),Px(0!=b.b),l=CY(b.a.a.c,8),s=CY(nnt(b,1),8),b.b>2?(Vc(u=new du,new Rk(b,1,b.b)),zU(w=new ncT(nlI(u,d+n.a)),t),dk(e.c,w)):w=i?CY(NR(n.b,niU(t)),272):CY(NR(n.b,niX(t)),272),c=niU(t),i&&(c=niX(t)),g=c,v=ngK,nnc(),m=nNv,v=nP_.Math.abs(l.b),(p=nP_.Math.abs(g.f-l.b))<v&&(v=p,m=nNy),(p=nP_.Math.abs(l.a))<v&&(v=p,m=nNk),(p=nP_.Math.abs(g.g-l.a))<v&&(v=p,m=nNm),a=m,o=d+n.a,a.a?(o+=nP_.Math.abs(l.b-s.b),f=new MH(s.a,(s.b+l.b)/2)):(o+=nP_.Math.abs(l.a-s.a),f=new MH((s.a+l.a)/2,s.b)),i?xM(n.d,t,new ntt(w,a,f,o)):xM(n.c,t,new ntt(w,a,f,o)),xM(n.b,t,w),t.n||(t.n=new Lk(nNt,t,1,7)),h=new j2(t.n);h.e!=h.i.gc();)r=nuV(n,CY(Z6(h),135),!0,0,0),dk(e.c,r)}function nfR(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(!n.b)return!1;for(c=null,l=null,u=new B4(null,null),r=1,u.a[1]=n.b,f=u;f.a[r];)s=r,o=l,l=f,f=f.a[r],r=(i=n.a.Ne(t,f.d))<0?0:1,0==i&&(!e.c||xL(f.e,e.d))&&(c=f),!(f&&f.b)&&!pX(f.a[r])&&(pX(f.a[1-r])?l=l.a[s]=Xl(f,r):!pX(f.a[1-r])&&(b=l.a[1-s])&&(pX(b.a[1-s])||pX(b.a[s])?(a=+(o.a[1]==l),pX(b.a[s])?o.a[a]=Kf(l,s):pX(b.a[1-s])&&(o.a[a]=Xl(l,s)),f.b=o.a[a].b=!0,o.a[a].a[0].b=!1,o.a[a].a[1].b=!1):(l.b=!1,b.b=!0,f.b=!0)));if(c){if(e.b=!0,e.d=c.e,f!=c){h=new B4(f.d,f.e);var w,d,g=c;for(w=+!!(null==(d=u).d||n.a.Ne(g.d,d.d)>0);d.a[w]!=g;)d=d.a[w],w=+(n.a.Ne(g.d,d.d)>0);d.a[w]=h,h.b=g.b,h.a[0]=g.a[0],h.a[1]=g.a[1],g.a[0]=null,g.a[1]=null,l==c&&(l=h)}l.a[+(l.a[1]==f)]=f.a[+!f.a[0]],--n.c}return n.b=u.a[1],n.b&&(n.b.b=!1),e.b}function nfK(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(e)for(i=-1,h=new Kp(t,0);h.b<h.d.gc();){if(Px(h.b<h.d.gc()),o=CY(h.d.Xb(h.c=h.b++),10),null==(f=n.c[o.c.p][o.p].a)){for(c=i+1,a=new Kp(t,h.b);a.b<a.d.gc();)if(null!=(l=(Px(a.b<a.d.gc()),b=CY(a.d.Xb(a.c=a.b++),10),n.c[b.c.p][b.p]).a)){xf(l),c=l;break}f=(i+c)/2,n.c[o.c.p][o.p].a=f,n.c[o.c.p][o.p].d=(xf(f),f),n.c[o.c.p][o.p].b=1}xf(f),i=f}else{for(r=0,s=new fU(t);s.a<s.c.c.length;)o=CY(RU(s),10),null!=n.c[o.c.p][o.p].a&&(r=nP_.Math.max(r,pj(n.c[o.c.p][o.p].a)));for(r+=2,u=new fU(t);u.a<u.c.c.length;)o=CY(RU(u),10),null==n.c[o.c.p][o.p].a&&(f=nc8(n.i,24)*ndn*r-1,n.c[o.c.p][o.p].a=f,n.c[o.c.p][o.p].d=f,n.c[o.c.p][o.p].b=1)}}function nfF(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;for(e||(l=t.q.getTimezoneOffset(),(b=new y).a=l,b.b=0==(w=l)?"Etc/GMT":(w<0?(w=-w,d="Etc/GMT-"):d="Etc/GMT+",d+UI(w)),b.c=BJ(nPL,nby,2,2,6,1),b.c[0]=XR(l),b.c[1]=XR(l),e=b),r=(t.q.getTimezoneOffset()-e.a)*6e4,u=o=new Pz(JF(zF(t.q.getTime()),r)),o.q.getTimezoneOffset()!=t.q.getTimezoneOffset()&&(r>0?r-=864e5:r+=864e5,u=new Pz(JF(zF(t.q.getTime()),r))),h=new p3,s=n.a.length,a=0;a<s;)if((i=xq(n.a,a))>=97&&i<=122||i>=65&&i<=90){for(c=a+1;c<s&&xq(n.a,c)==i;++c);(function(n,t,e,i,r,a){var c,o,u,s,h,f,l,b,w,d,g;switch(t){case 71:u=+(i.q.getFullYear()-nwf>=-1900),e>=4?EY(n,Vw(DY(nPL,1),nby,2,6,[nwb,nww])[u]):EY(n,Vw(DY(nPL,1),nby,2,6,["BC","AD"])[u]);break;case 121:switch((d=i.q.getFullYear()-nwf+nwf)<0&&(d=-d),e){case 1:n.a+=d;break;case 2:Uf(n,d%100,2);break;default:Uf(n,d,e)}break;case 77:switch(g=i.q.getMonth(),e){case 5:EY(n,Vw(DY(nPL,1),nby,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[g]);break;case 4:EY(n,Vw(DY(nPL,1),nby,2,6,[nb7,nwn,nwt,nwe,nwi,nwr,nwa,nwc,nwo,nwu,nws,nwh])[g]);break;case 3:EY(n,Vw(DY(nPL,1),nby,2,6,["Jan","Feb","Mar","Apr",nwi,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[g]);break;default:Uf(n,g+1,e)}break;case 107:0==(s=r.q.getHours())?Uf(n,24,e):Uf(n,s,e);break;case 83:0>Qv(c=zF(r.q.getTime()),0)?(o=nb8-AW(YX(H4(c),nb8)))==nb8&&(o=0):o=AW(YX(c,nb8)),1==e?NJ(n,48+(o=nP_.Math.min((o+50)/100|0,9))&nb9):2==e?Uf(n,o=nP_.Math.min((o+5)/10|0,99),2):(Uf(n,o,3),e>3&&Uf(n,0,e-3));break;case 69:h=i.q.getDay(),5==e?EY(n,Vw(DY(nPL,1),nby,2,6,["S","M","T","W","T","F","S"])[h]):4==e?EY(n,Vw(DY(nPL,1),nby,2,6,[nwd,nwg,nwp,nwm,nwv,nwy,nwk])[h]):EY(n,Vw(DY(nPL,1),nby,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[h]);break;case 97:r.q.getHours()>=12&&24>r.q.getHours()?EY(n,Vw(DY(nPL,1),nby,2,6,["AM","PM"])[1]):EY(n,Vw(DY(nPL,1),nby,2,6,["AM","PM"])[0]);break;case 104:0==(f=r.q.getHours()%12)?Uf(n,12,e):Uf(n,f,e);break;case 75:Uf(n,r.q.getHours()%12,e);break;case 72:Uf(n,r.q.getHours(),e);break;case 99:l=i.q.getDay(),5==e?EY(n,Vw(DY(nPL,1),nby,2,6,["S","M","T","W","T","F","S"])[l]):4==e?EY(n,Vw(DY(nPL,1),nby,2,6,[nwd,nwg,nwp,nwm,nwv,nwy,nwk])[l]):3==e?EY(n,Vw(DY(nPL,1),nby,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[l]):Uf(n,l,1);break;case 76:b=i.q.getMonth(),5==e?EY(n,Vw(DY(nPL,1),nby,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[b]):4==e?EY(n,Vw(DY(nPL,1),nby,2,6,[nb7,nwn,nwt,nwe,nwi,nwr,nwa,nwc,nwo,nwu,nws,nwh])[b]):3==e?EY(n,Vw(DY(nPL,1),nby,2,6,["Jan","Feb","Mar","Apr",nwi,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[b]):Uf(n,b+1,e);break;case 81:w=i.q.getMonth()/3|0,e<4?EY(n,Vw(DY(nPL,1),nby,2,6,["Q1","Q2","Q3","Q4"])[w]):EY(n,Vw(DY(nPL,1),nby,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[w]);break;case 100:Uf(n,i.q.getDate(),e);break;case 109:Uf(n,r.q.getMinutes(),e);break;case 115:Uf(n,r.q.getSeconds(),e);break;case 122:e<4?EY(n,a.c[0]):EY(n,a.c[1]);break;case 118:EY(n,a.b);break;case 90:e<3?EY(n,function(n){var t,e;return e=-n.a,t=Vw(DY(n4u,1),nb5,28,15,[43,48,48,48,48]),e<0&&(t[0]=45,e=-e),t[1]=t[1]+((e/60|0)/10|0)&nb9,t[2]=t[2]+(e/60|0)%10&nb9,t[3]=t[3]+(e%60/10|0)&nb9,t[4]=t[4]+e%10&nb9,Za(t,0,t.length)}(a)):3==e?EY(n,function(n){var t,e;return e=-n.a,t=Vw(DY(n4u,1),nb5,28,15,[43,48,48,58,48,48]),e<0&&(t[0]=45,e=-e),t[1]=t[1]+((e/60|0)/10|0)&nb9,t[2]=t[2]+(e/60|0)%10&nb9,t[4]=t[4]+(e%60/10|0)&nb9,t[5]=t[5]+e%10&nb9,Za(t,0,t.length)}(a)):EY(n,function(n){var t;return t=Vw(DY(n4u,1),nb5,28,15,[71,77,84,45,48,48,58,48,48]),n<=0&&(t[3]=43,n=-n),t[4]=t[4]+((n/60|0)/10|0)&nb9,t[5]=t[5]+(n/60|0)%10&nb9,t[7]=t[7]+(n%60/10|0)&nb9,t[8]=t[8]+n%10&nb9,Za(t,0,t.length)}(a.a));break;default:return}})(h,i,c-a,o,u,e),a=c}else if(39==i){if(++a<s&&39==xq(n.a,a)){h.a+="'",++a;continue}for(f=!1;!f;){for(c=a;c<s&&39!=xq(n.a,c);)++c;if(c>=s)throw new pN("Missing trailing '").e;c+1<s&&39==xq(n.a,c+1)?++c:f=!0,EY(h,Di(n.a,a,c)),a=c+1}}else h.a+=String.fromCharCode(i),++a;return h.a}function nf_(n,t){var e,i,r,a;a=n.F,null==t?(n.F=null,WH(n,null)):(xf(t),n.F=t,-1!=(i=Tp(t,niT(60)))?(B2(0,i,t.length),r=t.substr(0,i),-1!=Tp(t,niT(46))||OB(r,nlZ)||OB(r,njj)||OB(r,njS)||OB(r,njP)||OB(r,njO)||OB(r,njC)||OB(r,njI)||OB(r,njA)||(r=njL),-1!=(e=Sg(t,niT(62)))&&(r+=""+(Rx(e+1,t.length+1),t.substr(e+1))),WH(n,r)):(r=t,-1==Tp(t,niT(46))&&(-1!=(i=Tp(t,niT(91)))&&(B2(0,i,t.length),r=t.substr(0,i)),OB(r,nlZ)||OB(r,njj)||OB(r,njS)||OB(r,njP)||OB(r,njO)||OB(r,njC)||OB(r,njI)||OB(r,njA)?r=t:(r=njL,-1!=i&&(r+=""+(Rx(i,t.length+1),t.substr(i))))),WH(n,r),r==t&&(n.F=n.D))),(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,5,a,t))}function nfB(n,t){var e,i,r,a,c,o,u,s;if(Rx(o=t.length-1,t.length),93==(c=t.charCodeAt(o))){if((a=Tp(t,niT(91)))>=0)return r=function(n,t){var e;if(jM(e=noS(n.Dh(),t),102))return CY(e,19);throw new pN(nET+t+"' is not a valid reference").e}(n,(B2(1,a,t.length),t.substr(1,a-1))),B2(a+1,o,t.length),function(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(s=0,u=new du,f=t.length,c=VZ(e);s<f;++s){switch(h=Sd(t,niT(61),s),a=(r=z9(i=function(n,t){var e;if(jM(e=noS(n,t),331))return CY(e,35);throw new pN(nET+t+"' is not a valid attribute").e}(c,(B2(s,h,t.length),t.substr(s,h-s))))).jk().wi(),xq(t,++h)){case 39:o=S1(t,39,++h),jB(u,new Ej(i,$s((B2(h,o,t.length),t.substr(h,o-h)),a,r))),s=o+1;break;case 34:o=S1(t,34,++h),jB(u,new Ej(i,$s((B2(h,o,t.length),t.substr(h,o-h)),a,r))),s=o+1;break;case 91:jB(u,new Ej(i,l=new du));e:for(;;){switch(xq(t,++h)){case 39:o=S1(t,39,++h),jB(l,$s((B2(h,o,t.length),t.substr(h,o-h)),a,r)),h=o+1;break;case 34:o=S1(t,34,++h),jB(l,$s((B2(h,o,t.length),t.substr(h,o-h)),a,r)),h=o+1;break;case 110:if(++h,t.indexOf("ull",h)==h)l.c.push(null);else throw new ph(nES).e;h+=3}if(h<f)switch(Rx(h,t.length),t.charCodeAt(h)){case 44:break;case 93:break e;default:throw new ph("Expecting , or ]").e}else break}s=h+1;break;case 110:if(++h,t.indexOf("ull",h)==h)jB(u,new Ej(i,null));else throw new ph(nES).e;s=h+3}if(s<f){if(Rx(s,t.length),44!=t.charCodeAt(s))throw new ph("Expecting ,").e}else break}return function(n,t,e){var i,r,a,c,o,u,s,h,f,l;l=t.c.length,f=CY((s=n.Ih(e))>=0?n.Lh(s,!1,!0):naB(n,e,!1),61);e:for(a=f.Kc();a.Ob();){for(h=0,r=CY(a.Pb(),58);h<l;++h)if(RN(h,t.c.length),u=(c=CY(t.c[h],76)).md(),o=c.Lk(),i=r.Nh(o,!1),null==u?null!=i:!QY(u,i))continue e;return r}return null}(n,u,e)}(n,t.substr(a+1,o-(a+1)),r)}else{if(e=-1,null==nOf&&(nOf=RegExp("\\d")),nOf.test(String.fromCharCode(c))&&(e=OU(t,niT(46),o-1))>=0){i=CY(_K(n,Gb(n,(B2(1,e,t.length),t.substr(1,e-1))),!1),61),u=0;try{u=nsE((Rx(e+1,t.length+1),t.substr(e+1)),nbJ,nl3)}catch(n){if(jM(n=Vt(n),130))throw new H7(n).e;throw n.e}if(u<i.gc())return jM(s=i.Xb(u),76)&&(s=CY(s,76).md()),CY(s,58)}if(e<0)return CY(_K(n,Gb(n,(Rx(1,t.length+1),t.substr(1))),!1),58)}return null}function nfH(n,t,e){var i,r,a,c,o;if(o=n.c,t||(t=n2$),n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&(c=new LM(n,1,2,o,n.c),e?e.nj(c):e=c),o!=t){if(jM(n.Cb,292))n.Db>>16==-10?e=CY(n.Cb,292).Yk(t,e):n.Db>>16==-15&&(t||(nlq(),t=n2p),o||(nlq(),o=n2p),n.Cb.Yh()&&(c=new Uh(n.Cb,1,13,o,t,nnm(Ui(CY(n.Cb,62)),n),!1),e?e.nj(c):e=c));else if(jM(n.Cb,90))n.Db>>16==-23&&(jM(t,90)||(nlq(),t=n2y),jM(o,90)||(nlq(),o=n2y),n.Cb.Yh()&&(c=new Uh(n.Cb,1,10,o,t,nnm(FS(CY(n.Cb,29)),n),!1),e?e.nj(c):e=c));else if(jM(n.Cb,457))for((a=CY(n.Cb,850)).b||(a.b=new w8(new gR)),r=new w9(new zM(new fP(a.b.a).a));r.a.b;)e=nfH(i=CY(Xu(r.a).ld(),89),non(i,a),e)}return e}function nfU(n){var t,e,i,r,a,c,o,u,s,h,f,l;if((l=CY(ncx(n,(nl_(),nJ5)),21)).dc())return null;if(o=0,c=0,l.Hc((YZ(),n1C))){for(h=CY(ncx(n,nYv),101),i=2,e=2,r=2,a=2,t=DV(n)?CY(ncx(DV(n),nJ$),88):CY(ncx(n,nJ$),88),s=new j2((!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c));s.e!=s.i.gc();)if(u=CY(Z6(s),123),(f=CY(ncx(u,nYS),64))==(nf5(),n1v)&&(f=ns3(u,t),nnh(u,nYS,f)),h==(nie(),nZJ))switch(f.g){case 1:i=nP_.Math.max(i,u.i+u.g);break;case 2:e=nP_.Math.max(e,u.j+u.f);break;case 3:r=nP_.Math.max(r,u.i+u.g);break;case 4:a=nP_.Math.max(a,u.j+u.f)}else switch(f.g){case 1:i+=u.g+2;break;case 2:e+=u.f+2;break;case 3:r+=u.g+2;break;case 4:a+=u.f+2}o=nP_.Math.max(i,r),c=nP_.Math.max(e,a)}return nf9(n,o,c,!0,!0)}function nfG(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(m=CY(FB(Gs(xX(new Aa(null,new R$(t.d,16)),new bf(e)),new bl(e)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),f=nl3,h=nbJ,u=new fU(t.b.j);u.a<u.c.c.length;)(o=CY(RU(u),12)).j==e&&(f=nP_.Math.min(f,o.p),h=nP_.Math.max(h,o.p));if(f==nl3)for(c=0;c<m.gc();c++)Hi(CY(m.Xb(c),105),e,c);else{var k,M=v=BJ(n4s,nwl,28,r.length,15,1),E=v.length;for(k=0;k<E;++k)M[k]=-1;for(p=m.Kc();p.Ob();){for(g=CY(p.Pb(),105),a=CY(NR(n.b,g),183),s=0,d=f;d<=h;d++)a[d]&&(s=nP_.Math.max(s,i[d]));if(g.i){for(l=0,b=g.i.c,y=new dV;l<r.length;l++)r[b][l]&&LX(y,Qx(v[l]));for(;vF(y,Qx(s));)++s}for(Hi(g,e,s),w=f;w<=h;w++)a[w]&&(i[w]=s+1);g.i&&(v[g.i.c]=s)}}}function nfq(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g;return o=Oj(new MH(t.a,t.b),n),u=Oj(new MH(i.a,i.b),e),s=n.a,b=n.b,f=e.a,d=e.b,h=o.a,w=o.b,r=(l=u.a)*w-h*(g=u.b),T6(),qM(ny_),!(nP_.Math.abs(0-r)<=ny_||0==r||isNaN(0)&&isNaN(r))&&(a=1/r*((s-f)*w-(b-d)*h),c=-(1/r*(-(s-f)*g+(b-d)*l)),qM(ny_),(nP_.Math.abs(0-a)<=ny_||0==a||isNaN(0)&&isNaN(a)?0:0<a?-1:0>a?1:Tm(isNaN(0),isNaN(a)))<0&&(qM(ny_),(nP_.Math.abs(a-1)<=ny_||1==a||isNaN(a)&&isNaN(1)?0:a<1?-1:a>1?1:Tm(isNaN(a),isNaN(1)))<0)&&(qM(ny_),(nP_.Math.abs(0-c)<=ny_||0==c||isNaN(0)&&isNaN(c)?0:0<c?-1:0>c?1:Tm(isNaN(0),isNaN(c)))<0)&&(qM(ny_),(nP_.Math.abs(c-1)<=ny_||1==c||isNaN(c)&&isNaN(1)?0:c<1?-1:c>1?1:Tm(isNaN(c),isNaN(1)))<0))}function nfX(n,t){var e,i;if(n.e)throw new px((PL(nCs),ndS+nCs.k+ndP)).e;if(i=n.a,!SD(i.e,t))throw new ph(ndO+t+ndC).e;if(t==n.d)return n;switch(e=n.d,n.d=t,e.g){case 0:switch(t.g){case 2:ntl(n);break;case 1:V1(n),ntl(n);break;case 4:neU(n),ntl(n);break;case 3:neU(n),V1(n),ntl(n)}break;case 2:switch(t.g){case 1:V1(n),nuB(n);break;case 4:neU(n),ntl(n);break;case 3:neU(n),V1(n),ntl(n)}break;case 1:switch(t.g){case 2:V1(n),nuB(n);break;case 4:V1(n),neU(n),ntl(n);break;case 3:V1(n),neU(n),V1(n),ntl(n)}break;case 4:switch(t.g){case 2:neU(n),ntl(n);break;case 1:neU(n),V1(n),ntl(n);break;case 3:V1(n),nuB(n)}break;case 3:switch(t.g){case 2:V1(n),neU(n),ntl(n);break;case 1:V1(n),neU(n),V1(n),ntl(n);break;case 4:V1(n),nuB(n)}}return n}function nfz(n,t){var e,i;if(n.d)throw new px((PL(nI5),ndS+nI5.k+ndP)).e;if(i=n.a,!SD(i.c,t))throw new ph(ndO+t+ndC).e;if(t==n.c)return n;switch(e=n.c,n.c=t,e.g){case 0:switch(t.g){case 2:Wc(n);break;case 1:V0(n),Wc(n);break;case 4:neG(n),Wc(n);break;case 3:neG(n),V0(n),Wc(n)}break;case 2:switch(t.g){case 1:V0(n),nuH(n);break;case 4:neG(n),Wc(n);break;case 3:neG(n),V0(n),Wc(n)}break;case 1:switch(t.g){case 2:V0(n),nuH(n);break;case 4:V0(n),neG(n),Wc(n);break;case 3:V0(n),neG(n),V0(n),Wc(n)}break;case 4:switch(t.g){case 2:neG(n),Wc(n);break;case 1:neG(n),V0(n),Wc(n);break;case 3:V0(n),nuH(n)}break;case 3:switch(t.g){case 2:V0(n),neG(n),Wc(n);break;case 1:V0(n),neG(n),V0(n),Wc(n);break;case 4:V0(n),nuH(n)}}return n}function nfV(n,t){var e,i,r,a,c,o,u;if(jM(n.Eh(),167)?(nfV(CY(n.Eh(),167),t),t.a+=" > "):t.a+="Root ",OB((e=n.Dh().zb).substr(0,3),"Elk")?EY(t,(Rx(3,e.length+1),e.substr(3))):t.a+=""+e,r=n.jh())return void EY((t.a+=" ",t),r);if(jM(n,366)&&(u=CY(n,135).a))return void EY((t.a+=" ",t),u);for(a=new j2(n.kh());a.e!=a.i.gc();)if(u=CY(Z6(a),135).a)return void EY((t.a+=" ",t),u);if(jM(n,326)&&((i=CY(n,74)).b||(i.b=new Ox(nL4,i,4,7)),0!=i.b.i&&(i.c||(i.c=new Ox(nL4,i,5,8)),0!=i.c.i))){for(t.a+=" (",c=new SW((!i.b&&(i.b=new Ox(nL4,i,4,7)),i.b));c.e!=c.i.gc();)c.e>0&&(t.a+=nl8),nfV(CY(Z6(c),167),t);for(t.a+=npF,o=new SW((!i.c&&(i.c=new Ox(nL4,i,5,8)),i.c));o.e!=o.i.gc();)o.e>0&&(t.a+=nl8),nfV(CY(Z6(o),167),t);t.a+=")"}}function nfW(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(l=e.d,f=e.c,c=(a=new MH(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a)).b,s=new fU(n.a);s.a<s.c.c.length;)if((o=CY(RU(s),10)).k==(ni8(),n$g)){switch(i=CY(niK(o,(nlF(),nK_)),64),r=CY(niK(o,nKB),8),h=o.n,i.g){case 2:h.a=e.f.a+l.c-f.a;break;case 4:h.a=-f.a-l.b}switch(w=0,i.g){case 2:case 4:t==(nie(),nZY)?(b=pj(PI(niK(o,nFr))),h.b=a.b*b-CY(niK(o,(nlL(),nH7)),8).b,w=h.b+r.b,z4(o,!1,!0)):t==nZJ&&(h.b=pj(PI(niK(o,nFr)))-CY(niK(o,(nlL(),nH7)),8).b,w=h.b+r.b,z4(o,!1,!0))}c=nP_.Math.max(c,w)}for(e.f.b+=c-a.b,u=new fU(n.a);u.a<u.c.c.length;)if((o=CY(RU(u),10)).k==(ni8(),n$g))switch(i=CY(niK(o,(nlF(),nK_)),64),h=o.n,i.g){case 1:h.b=-f.b-l.d;break;case 3:h.b=e.f.b+l.a-f.b}}function nfQ(n,t){var e,i,r,a,c,o,u,s,h;return(s="",0==t.length)?n.ne(nb6,nb3,-1,-1):(OB((h=nrJ(t)).substr(0,3),"at ")&&(Rx(3,h.length+1),h=h.substr(3)),-1==(c=(h=h.replace(/\[.*?\]/g,"")).indexOf("("))?-1==(c=h.indexOf("@"))?(s=h,h=""):(s=nrJ((Rx(c+1,h.length+1),h.substr(c+1))),h=nrJ((B2(0,c,h.length),h.substr(0,c)))):(e=h.indexOf(")",c),B2(c+1,e,h.length),s=h.substr(c+1,e-(c+1)),h=nrJ((B2(0,c,h.length),h.substr(0,c)))),-1!=(c=Tp(h,niT(46)))&&(Rx(c+1,h.length+1),h=h.substr(c+1)),(0==h.length||OB(h,"Anonymous function"))&&(h=nb3),o=Sg(s,niT(58)),r=OU(s,niT(58),o-1),u=-1,i=-1,a=nb6,-1!=o&&-1!=r&&(B2(0,r,s.length),a=s.substr(0,r),u=SZ((B2(r+1,o,s.length),s.substr(r+1,o-(r+1)))),i=SZ((Rx(o+1,s.length+1),s.substr(o+1)))),n.ne(a,h,u,i))}function nfJ(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A,L,N=o=new nf0(t);for(s=!i||!N.u.Hc((nap(),nZ6)),l=0,f=new fU(N.e.Xf());f.a<f.c.c.length;){if((h=CY(RU(f),852)).ag()==(nf5(),n1v))throw new pN("Label and node size calculator can only be used with ports that have port sides assigned.").e;h.Qf(l++),function(n,t,e){var i;i=new na0(n,t),naR(n.r,t.ag(),i),e&&!Lp(n.u)&&(i.c=new Dj(n.d),Gd(t.Rf(),new lg(i)))}(N,h,s)}r=!0,n&&n.pf((nl_(),nJ$))&&(r=(a=CY(n.of((nl_(),nJ$)),88))==(Ju(),nY7)||a==nY8||a==nY9),nuS(o,!1),Gd(o.e.Rf(),new Cd(o,!1,r)),Dm(o,o.f,(GL(),nIi),(nf5(),n1t)),Dm(o,o.f,nIa,n1m),Dm(o,o.g,nIi,n1y),Dm(o,o.g,nIa,n1n),nnr(o,n1t),nnr(o,n1m),xA(o,n1n),xA(o,n1y),PY(),(c=o.A.Hc((YZ(),n1P))&&o.B.Hc((nsv(),n1D))?YG(o):null)&&(o.a.b=new TP(c)),function(n){var t,e,i,r,a,c,o;for(PY(),i=n.f.n,c=Nm(n.r).a.nc();c.Ob();){if(a=CY(c.Pb(),117),r=0,a.b.pf((nl_(),nYm))&&(r=pj(PI(a.b.of(nYm))))<0)switch(a.b.ag().g){case 1:i.d=nP_.Math.max(i.d,-r);break;case 3:i.a=nP_.Math.max(i.a,-r);break;case 2:i.c=nP_.Math.max(i.c,-r);break;case 4:i.b=nP_.Math.max(i.b,-r)}if(Lp(n.u))switch(t=function(n,t){var e;return naP(new MH((e=niv(n)).c,e.d),new MH(e.b,e.a),n.Mf(),t,n.ag())}(a.b,r),o=!CY(n.e.of(nYt),181).Hc((nsv(),n1L)),e=!1,a.b.ag().g){case 1:e=t>i.d,i.d=nP_.Math.max(i.d,t),o&&e&&(i.d=nP_.Math.max(i.d,i.a),i.a=i.d+r);break;case 3:e=t>i.a,i.a=nP_.Math.max(i.a,t),o&&e&&(i.a=nP_.Math.max(i.a,i.d),i.d=i.a+r);break;case 2:e=t>i.c,i.c=nP_.Math.max(i.c,t),o&&e&&(i.c=nP_.Math.max(i.b,i.c),i.b=i.c+r);break;case 4:e=t>i.b,i.b=nP_.Math.max(i.b,t),o&&e&&(i.b=nP_.Math.max(i.b,i.c),i.c=i.b+r)}}}(o);switch(o.q.g){case 5:ney(o,(nf5(),n1t)),ney(o,n1m);break;case 4:nfv(o,(nf5(),n1t)),nfv(o,n1m);break;default:nrG(o,(nf5(),n1t)),nrG(o,n1m)}switch(o.q.g){case 5:nek(o,(nf5(),n1n)),nek(o,n1y);break;case 4:nfy(o,(nf5(),n1n)),nfy(o,n1y);break;default:nrq(o,(nf5(),n1n)),nrq(o,n1y)}!function(n){var t,e,i,r,a,c,o;if(!n.A.dc()){if(n.A.Hc((YZ(),n1C))&&(CY(xN(n.b,(nf5(),n1t)),127).k=!0,CY(xN(n.b,n1m),127).k=!0,t=n.q!=(nie(),nZY)&&n.q!=nZJ,CY(xN(n.b,n1n),127).j=t,CY(xN(n.b,n1y),127).j=t,n.g.j=t,n.A.Hc(n1I)&&(CY(xN(n.b,n1t),127).j=!0,CY(xN(n.b,n1m),127).j=!0,CY(xN(n.b,n1n),127).k=!0,CY(xN(n.b,n1y),127).k=!0,n.g.k=!0)),n.A.Hc(n1O))for(n.a.j=!0,n.a.k=!0,n.g.j=!0,n.g.k=!0,o=n.B.Hc((nsv(),n1R)),r=ZX(),a=0,c=r.length;a<c;++a)i=r[a],(e=CY(xN(n.i,i),314))&&(Zc(i)?(e.j=!0,e.k=!0):(e.j=!o,e.k=!o));n.A.Hc(n1P)&&n.B.Hc((nsv(),n1D))&&(n.g.j=!0,n.g.j=!0,n.a.j||(n.a.j=!0,n.a.k=!0,n.a.e=!0))}}(o),d=o.o,PY(),o.A.dc()||QY(o.A,nIK)?g=d.a:(g=o.D?nP_.Math.max(d.a,naT(o.f)):naT(o.f),o.A.Hc((YZ(),n1O))&&!o.B.Hc((nsv(),n1R))&&(g=nP_.Math.max(g,naT(CY(xN(o.p,(nf5(),n1t)),252))),g=nP_.Math.max(g,naT(CY(xN(o.p,n1m),252)))),(b=zy(o))&&(g=nP_.Math.max(g,b.a))),pT(PC(o.e.Tf().of((nl_(),nJ9))))?d.a=nP_.Math.max(d.a,g):d.a=g,(w=o.f.i).c=0,w.b=g,nht(o.f);switch(S_(),o.q.g){case 5:nav(o,(nf5(),n1t)),nav(o,n1m);break;case 4:ncJ(o,(nf5(),n1t)),ncJ(o,n1m);break;default:nf4(o,(nf5(),n1t)),nf4(o,n1m)}if(ZL(o,n1t),ZL(o,n1m),o.q!=(nie(),nZY)&&o.q!=nZJ&&(y=o.f.n.d+IP(CY(xN(o.b,(nf5(),n1t)),127))+o.c,p=o.f.n.a+IP(CY(xN(o.b,n1m),127))+o.c,v=CY(xN(o.b,n1n),127),M=CY(xN(o.b,n1y),127),k=nP_.Math.max(0,v.n.d-y),k=nP_.Math.max(k,M.n.d-y),m=nP_.Math.max(0,v.n.a-p),m=nP_.Math.max(m,M.n.a-p),v.n.d=k,M.n.d=k,v.n.a=m,M.n.a=m),S=o.o,PY(),o.A.dc()||QY(o.A,nIK)?E=S.b:(E=o.D?nP_.Math.max(S.b,naE(o.f)):naE(o.f),o.A.Hc((YZ(),n1O))&&!o.B.Hc((nsv(),n1R))&&(E=nP_.Math.max(E,naE(CY(xN(o.p,(nf5(),n1n)),252))),E=nP_.Math.max(E,naE(CY(xN(o.p,n1y),252)))),(T=zy(o))&&(E=nP_.Math.max(E,T.b)),o.A.Hc(n1C)&&(o.q==(nie(),nZY)||o.q==nZJ)&&(E=nP_.Math.max(E,IP(CY(xN(o.b,(nf5(),n1n)),127))),E=nP_.Math.max(E,IP(CY(xN(o.b,n1y),127))))),pT(PC(o.e.Tf().of((nl_(),nJ9))))?S.b=nP_.Math.max(S.b,E):S.b=E,(j=o.f.i).d=0,j.a=E,nha(o.f),!e)return o.o;for(PY(),P=o.o.b,O=CY(CY(_G(o.r,(nf5(),n1m)),21),87).Kc();O.Ob();)C=CY(O.Pb(),117).e,C.b+=P;switch(S_(),o.q.g){case 5:na2(o,(nf5(),n1n)),na2(o,n1y);break;case 4:nne(o,(nf5(),n1n)),nne(o,n1y);break;default:nf6(o,(nf5(),n1n)),nf6(o,n1y)}return ZL(o,n1n),ZL(o,n1y),u=o.B.Hc((nsv(),n1R)),nat(o,u,n1t),nat(o,u,n1m),nae(o,u,n1n),nae(o,u,n1y),vZ(new Aa(null,new R$(new fN(o.i),0)),new nS),vZ(xX(new Aa(null,Nm(o.r).a.oc()),new nP),new nO),PY(),o.B.Hc((nsv(),n1N))&&(L=o.f.i,I=new $2(o.a.c),(A=new gp).b=I.c-L.c,A.d=I.d-L.d,A.c=L.c+L.b-(I.c+I.b),A.a=L.d+L.a-(I.d+I.a),o.e.$f(A)),o.e.Pf(o.o),vZ(new Aa(null,Nm(o.r).a.oc()),new nC),o.o}function nfY(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w,d,g,p,m;for(f=null,i==(DC(),nq0)?f=t:i==nq2&&(f=e),w=f.a.ec().Kc();w.Ob();){for(b=CY(w.Pb(),12),d=V4(Vw(DY(nLA,1),nby,8,0,[b.i.n,b.n,b.a])).b,m=new dV,o=new dV,s=new _4(b.b);jr(s.a)||jr(s.b);)if(pT(PC(niK(u=CY(jr(s.a)?RU(s.a):RU(s.b),18),(nlF(),nFu))))==r&&-1!=H6(a,u,0)){if(g=u.d==b?u.c:u.d,p=V4(Vw(DY(nLA,1),nby,8,0,[g.i.n,g.n,g.a])).b,.2>nP_.Math.abs(p-d))continue;p<d?t.a._b(g)?LX(m,new Ea(nq0,u)):LX(m,new Ea(nq2,u)):t.a._b(g)?LX(o,new Ea(nq0,u)):LX(o,new Ea(nq2,u))}if(m.a.gc()>1)for(l=new nfe(b,m,i),_r(m,new Mo(n,l)),dk(c.c,l),h=m.a.ec().Kc();h.Ob();)H0(a,CY(h.Pb(),42).b);if(o.a.gc()>1)for(l=new nfe(b,o,i),_r(o,new Mu(n,l)),dk(c.c,l),h=o.a.ec().Kc();h.Ob();)H0(a,CY(h.Pb(),42).b)}}function nfZ(n,t){var e,i,r,a,c,o,u;if(Id(),this.a=new jS(this),this.b=n,this.c=t,this.f=L3(Ua((nrR(),n28),t)),this.f.dc())if((o=neS(n28,n))==t)for(this.e=!0,this.d=new du,this.f=new oq,this.f.Fc(nSb),CY(nhZ(Ur(n28,GT(n)),""),29)==n&&this.f.Fc(A2(n28,GT(n))),r=nsa(n28,n).Kc();r.Ob();)switch(i=CY(r.Pb(),179),xb(Ua(n28,i))){case 4:this.d.Fc(i);break;case 5:this.f.Gc(L3(Ua(n28,i)))}else if(yP(),CY(t,69).xk())for(c=0,this.e=!0,this.f=null,this.d=new du,u=(null==n.i&&nhr(n),n.i).length;c<u;++c)for(null==n.i&&nhr(n),e=n.i,i=c>=0&&c<e.length?e[c]:null,a=Rz(Ua(n28,i));a;a=Rz(Ua(n28,a)))a==t&&this.d.Fc(i);else 1==xb(Ua(n28,t))&&o?(this.f=null,this.d=(na1(),n3s)):(this.f=null,this.e=!0,this.d=($O(),new f_(t)));else this.e=5==xb(Ua(n28,t)),this.f.Fb(n3r)&&(this.f=n3r)}function nf1(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;for(e=0,i=function(n,t){switch(t.g){case 1:return n.f.n.d+n.t;case 3:return n.f.n.a+n.t;case 2:return n.f.n.c+n.s;case 4:return n.f.n.b+n.s;default:return 0}}(n,t),l=n.s,b=n.t,s=CY(CY(_G(n.r,t),21),87).Kc();s.Ob();)if((u=CY(s.Pb(),117)).c&&!(u.c.d.c.length<=0)){switch(w=u.b.Mf(),o=u.b.pf((nl_(),nYm))?pj(PI(u.b.of(nYm))):0,f=(h=u.c).i,c=h.n,f.b=h.e.a+c.b+c.c,a=h.n,f.a=h.e.b+a.d+a.a,t.g){case 1:f.c=u.a?(w.a-f.b)/2:w.a+l,f.d=w.b+o+i,Hn(h,(HS(),nIo)),P0(h,(Uk(),nIb));break;case 3:f.c=u.a?(w.a-f.b)/2:w.a+l,f.d=-o-i-f.a,Hn(h,(HS(),nIo)),P0(h,(Uk(),nIf));break;case 2:f.c=-o-i-f.b,u.a?(r=n.v?f.a:CY(I0(h.d,0),187).Mf().b,f.d=(w.b-r)/2):f.d=w.b+b,Hn(h,(HS(),nIs)),P0(h,(Uk(),nIl));break;case 4:f.c=w.a+o+i,u.a?(r=n.v?f.a:CY(I0(h.d,0),187).Mf().b,f.d=(w.b-r)/2):f.d=w.b+b,Hn(h,(HS(),nIu)),P0(h,(Uk(),nIl))}(t==(nf5(),n1t)||t==n1m)&&(e=nP_.Math.max(e,f.a))}e>0&&(CY(xN(n.b,t),127).a.b=e)}function nf0(n){var t,e,i,r,a,c,o,u;if(this.r=(e=new nT,i=new nj,new $K(CY(NP(e),50),CY(NP(i),50))),this.b=new J0(CY(NP(nLq),297)),this.p=new J0(CY(NP(nLq),297)),this.i=new J0(CY(NP(nCE),297)),this.e=n,this.o=new TP(n.Mf()),this.D=pT(PC(n.of((nl_(),nYY)))),this.F=n.Yf()||pT(PC(n.of(nJV))),this.A=CY(n.of(nJ5),21),this.B=CY(n.of(nYt),21),this.q=CY(n.of(nYv),101),this.u=CY(n.of(nYE),21),o=this.u,nap(),zH(Dg(AN(nZ6,Vw(DY(nLG,1),nbG,279,0,[nZ8])),o))>1||zH(Dg(AN(nZ4,Vw(DY(nLG,1),nbG,279,0,[nZ3,nZ9])),o))>1)throw new pK("Invalid port label placement: "+this.u).e;if(this.v=pT(PC(n.of(nYj))),this.j=CY(n.of(nJ4),21),u=this.j,nc$(),zH(Dg(AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZF])),u))>1||zH(Dg(AN(nZ$,Vw(DY(nLB,1),nbG,95,0,[nZx,nZR])),u))>1||zH(Dg(AN(nZH,Vw(DY(nLB,1),nbG,95,0,[nZB,nZ_])),u))>1)throw new pK("Invalid node label placement: "+this.j).e;this.n=CY(ntW(n,nJ2),107),this.k=pj(PI(ntW(n,nYH))),this.d=pj(PI(ntW(n,nYB))),this.w=pj(PI(ntW(n,nYW))),this.s=pj(PI(ntW(n,nYU))),this.t=pj(PI(ntW(n,nYG))),this.C=CY(ntW(n,nYz),140),this.c=2*this.d,t=!this.B.Hc((nsv(),n1L)),this.f=new ZC(0,t,0),this.g=new ZC(1,t,0),r=this.f,GL(),a=nIr,c=this.g,r.a[a.g]=c}function nf2(){var n,t,e;for(nf2=T,new Je(1,0),new Je(10,0),new Je(0,0),nOM=BJ(nPN,nby,247,11,0,1),nOE=BJ(n4u,nb5,28,100,15,1),nOj=BJ(n4s,nwl,28,(nOT=Vw(DY(n4b,1),nwX,28,15,[1,5,25,125,625,3125,15625,78125,390625,1953125,9765625,0x2e90edd,0xe8d4a51,0x48c27395,0x16bcc41e9,0x71afd498d,0x2386f26fc1,0xb1a2bc2ec5,0x3782dace9d9,0x1158e460913d,0x56bc75e2d631,0x1b1ae4d6e2ef5,0x878678326eac9])).length,15,1),nOP=BJ(n4s,nwl,28,(nOS=Vw(DY(n4b,1),nwX,28,15,[1,10,100,nb8,1e4,nwz,1e6,1e7,1e8,nwN,1e10,1e11,1e12,1e13,1e14,1e15,1e16])).length,15,1),nOO=BJ(nPN,nby,247,11,0,1),n=0;n<nOO.length;n++)nOM[n]=new Je(n,0),nOO[n]=new Je(0,n),nOE[n]=48;for(;n<nOE.length;n++)nOE[n]=48;for(e=0;e<nOj.length;e++)nOj[e]=naw(nOT[e]);for(t=0;t<nOP.length;t++)nOP[t]=naw(nOS[t]);nui()}function nf3(){nf3=T,nXN=new wX(npl),new wX(npb),new P5("DEPTH",Qx(0)),nXk=new P5("FAN",Qx(0)),nXv=new P5(ny5,Qx(0)),nXF=new P5("ROOT",(SB(),!1)),nXP=new P5("LEFTNEIGHBOR",null),nXR=new P5("RIGHTNEIGHBOR",null),nXO=new P5("LEFTSIBLING",null),nXK=new P5("RIGHTSIBLING",null),nXy=new P5("DUMMY",!1),new P5("LEVEL",Qx(0)),nXD=new P5("REMOVABLE_EDGES",new vq),nX_=new P5("XCOOR",Qx(0)),nXB=new P5("YCOOR",Qx(0)),nXC=new P5("LEVELHEIGHT",0),nXA=new P5("LEVELMIN",0),nXI=new P5("LEVELMAX",0),nXE=new P5("GRAPH_XMIN",0),nXj=new P5("GRAPH_YMIN",0),nXM=new P5("GRAPH_XMAX",0),nXT=new P5("GRAPH_YMAX",0),nXm=new P5("COMPACT_LEVEL_ASCENSION",!1),nXp=new P5("COMPACT_CONSTRAINTS",new du),nXS=new P5("ID",""),nXx=new P5("POSITION",Qx(0)),nX$=new P5("PRELIM",0),nXL=new P5("MODIFIER",0),nXg=new wX(npw),nXd=new wX(npd)}function nf4(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;if(!CY(CY(_G(n.r,t),21),87).dc()){if(u=(c=CY(xN(n.b,t),127)).i,o=c.n,h=nuc(n,t),i=u.b-o.b-o.c,r=c.a.a,a=u.c+o.b,b=n.w,(h==(Z0(),nZX)||h==nZV)&&1==CY(CY(_G(n.r,t),21),87).gc()&&(r=h==nZX?r-2*n.w:r,h=nZq),i<r&&!n.B.Hc((nsv(),n1K)))h==nZX?(b+=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()+1),a+=b):b+=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()-1);else switch(i<r&&(r=h==nZX?r-2*n.w:r,h=nZq),h.g){case 3:a+=(i-r)/2;break;case 4:a+=i-r;break;case 0:e=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()+1),b+=nP_.Math.max(0,e),a+=b;break;case 1:e=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()-1),b+=nP_.Math.max(0,e)}for(l=CY(CY(_G(n.r,t),21),87).Kc();l.Ob();)(f=CY(l.Pb(),117)).e.a=a+f.d.b,f.e.b=(s=f.b).pf((nl_(),nYm))?s.ag()==(nf5(),n1t)?-s.Mf().b-pj(PI(s.of(nYm))):pj(PI(s.of(nYm))):s.ag()==(nf5(),n1t)?-s.Mf().b:0,a+=f.d.b+f.b.Mf().a+f.d.c+b}}function nf6(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(!CY(CY(_G(n.r,t),21),87).dc()){if(u=(c=CY(xN(n.b,t),127)).i,o=c.n,f=nuc(n,t),i=u.a-o.d-o.a,r=c.a.b,a=u.d+o.d,w=n.w,s=n.o.a,(f==(Z0(),nZX)||f==nZV)&&1==CY(CY(_G(n.r,t),21),87).gc()&&(r=f==nZX?r-2*n.w:r,f=nZq),i<r&&!n.B.Hc((nsv(),n1K)))f==nZX?(w+=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()+1),a+=w):w+=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()-1);else switch(i<r&&(r=f==nZX?r-2*n.w:r,f=nZq),f.g){case 3:a+=(i-r)/2;break;case 4:a+=i-r;break;case 0:e=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()+1),w+=nP_.Math.max(0,e),a+=w;break;case 1:e=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()-1),w+=nP_.Math.max(0,e)}for(b=CY(CY(_G(n.r,t),21),87).Kc();b.Ob();)(l=CY(b.Pb(),117)).e.a=(h=l.b).pf((nl_(),nYm))?h.ag()==(nf5(),n1y)?-h.Mf().a-pj(PI(h.of(nYm))):s+pj(PI(h.of(nYm))):h.ag()==(nf5(),n1y)?-h.Mf().a:s,l.e.b=a+l.d.d,a+=l.d.d+l.b.Mf().b+l.d.a+w}}function nf5(){var n;nf5=T,n1v=new M3(nd6,0),n1t=new M3(ngr,1),n1n=new M3(nga,2),n1m=new M3(ngc,3),n1y=new M3(ngo,4),$O(),n1c=new p8(new O9(n=CY(mP(nLq),9),CY(Oc(n,n.length),9),0)),n1o=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[]))),n1e=QA(AN(n1n,Vw(DY(nLq,1),npx,64,0,[]))),n1d=QA(AN(n1m,Vw(DY(nLq,1),npx,64,0,[]))),n1p=QA(AN(n1y,Vw(DY(nLq,1),npx,64,0,[]))),n1l=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1m]))),n1a=QA(AN(n1n,Vw(DY(nLq,1),npx,64,0,[n1y]))),n1w=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1y]))),n1u=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1n]))),n1g=QA(AN(n1m,Vw(DY(nLq,1),npx,64,0,[n1y]))),n1i=QA(AN(n1n,Vw(DY(nLq,1),npx,64,0,[n1m]))),n1f=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1n,n1y]))),n1r=QA(AN(n1n,Vw(DY(nLq,1),npx,64,0,[n1m,n1y]))),n1b=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1m,n1y]))),n1s=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1n,n1m]))),n1h=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1n,n1m,n1y])))}function nf8(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;if((f=t.length)>0&&(Rx(0,t.length),64!=(o=t.charCodeAt(0)))){if(37==o&&(h=t.lastIndexOf("%"),u=!1,0!=h&&(h==f-1||(Rx(h+1,t.length),u=46==t.charCodeAt(h+1))))){if(B2(1,h,t.length),m=OB("%",c=t.substr(1,h-1))?null:nlt(c),i=0,u)try{i=nsE((Rx(h+2,t.length+1),t.substr(h+2)),nbJ,nl3)}catch(n){if(jM(n=Vt(n),130))throw new H7(n).e;throw n.e}for(d=Xs(n.Gh());d.Ob();)if(jM(b=zD(d),519)&&(p=(r=CY(b,598)).d,(null==m?null==p:OB(m,p))&&0==i--))return r;return null}if(l=-1==(s=t.lastIndexOf("."))?t:(B2(0,s,t.length),t.substr(0,s)),e=0,-1!=s)try{e=nsE((Rx(s+1,t.length+1),t.substr(s+1)),nbJ,nl3)}catch(n){if(jM(n=Vt(n),130))l=t;else throw n.e}for(l=OB("%",l)?null:nlt(l),w=Xs(n.Gh());w.Ob();)if(jM(b=zD(w),197)&&(g=(a=CY(b,197)).xe(),(null==l?null==g:OB(l,g))&&0==e--))return a;return null}return nfB(n,t)}function nf9(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;if(g=new MH(n.g,n.f),(d=nrW(n)).a=nP_.Math.max(d.a,t),d.b=nP_.Math.max(d.b,e),M=d.a/g.a,h=d.b/g.b,y=d.a-g.a,u=d.b-g.b,i)for(c=DV(n)?CY(ncx(DV(n),(nl_(),nJ$)),88):CY(ncx(n,(nl_(),nJ$)),88),o=ER(ncx(n,(nl_(),nYv)))===ER((nie(),nZJ)),m=new j2((!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c));m.e!=m.i.gc();)switch(p=CY(Z6(m),123),(v=CY(ncx(p,nYS),64))==(nf5(),n1v)&&(v=ns3(p,c),nnh(p,nYS,v)),v.g){case 1:o||GZ(p,p.i*M);break;case 2:GZ(p,p.i+y),o||G1(p,p.j*h);break;case 3:o||GZ(p,p.i*M),G1(p,p.j+u);break;case 4:o||G1(p,p.j*h)}if(T_(n,d.a,d.b),r)for(l=new j2((!n.n&&(n.n=new Lk(nNt,n,1,7)),n.n));l.e!=l.i.gc();)b=(f=CY(Z6(l),135)).i+f.g/2,w=f.j+f.f/2,(k=b/g.a)+(s=w/g.b)>=1&&(k-s>0&&w>=0?(GZ(f,f.i+y),G1(f,f.j+u*s)):k-s<0&&b>=0&&(GZ(f,f.i+y*k),G1(f,f.j+u)));return nnh(n,(nl_(),nJ5),(YZ(),new O9(a=CY(mP(nLX),9),CY(Oc(a,a.length),9),0))),new MH(M,h)}function nf7(n){var t,e,i,r,a;yd(n,new nil(((((t=new c5).c=nkD,e=t).d="ELK Radial",i=e).b='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.',(r=i).e=new cE,(a=r).a=nkD,a))),KS(n,nkD,nyT,Z4(nVf)),KS(n,nkD,ng4,Z4(nVm)),KS(n,nkD,npr,Z4(nVr)),KS(n,nkD,npE,Z4(nVa)),KS(n,nkD,npi,Z4(nVc)),KS(n,nkD,npa,Z4(nVi)),KS(n,nkD,npt,Z4(nVo)),KS(n,nkD,npc,Z4(nVh)),KS(n,nkD,nkP,Z4(nVt)),KS(n,nkD,nkS,Z4(nVe)),KS(n,nkD,nkj,Z4(nVb)),KS(n,nkD,nkA,Z4(nVg)),KS(n,nkD,nkL,Z4(nVw)),KS(n,nkD,nkN,Z4(nVd)),KS(n,nkD,nkI,Z4(nVu)),KS(n,nkD,nkE,Z4(nVs)),KS(n,nkD,nkT,Z4(nVl)),KS(n,nkD,nkO,Z4(nVp)),KS(n,nkD,nkC,Z4(nVv)),KS(n,nkD,nkM,Z4(nVn))}function nln(n){var t,e,i,r,a,c,o,u,s,h,f;if(null==n)throw new p5(nbi).e;if(s=n,a=n.length,u=!1,a>0&&(Rx(0,n.length),(45==(t=n.charCodeAt(0))||43==t)&&(Rx(1,n.length+1),n=n.substr(1),--a,u=45==t)),0==a)throw new p5(nwK+s+'"').e;for(;n.length>0&&(Rx(0,n.length),48==n.charCodeAt(0));)Rx(1,n.length+1),n=n.substr(1),--a;if(a>(nsU(),nOm)[10])throw new p5(nwK+s+'"').e;for(r=0;r<a;r++)if(-1==Zw((Rx(r,n.length),n.charCodeAt(r))))throw new p5(nwK+s+'"').e;for(f=0,c=nOg[10],h=nOp[10],o=H4(nOv[10]),e=!0,(i=a%c)>0&&(f=-parseInt((B2(0,i,n.length),n.substr(0,i)),10),Rx(i,n.length+1),n=n.substr(i),a-=i,e=!1);a>=c;){if(i=parseInt((B2(0,c,n.length),n.substr(0,c)),10),Rx(c,n.length+1),n=n.substr(c),a-=c,e)e=!1;else{if(0>Qv(f,o))throw new p5(nwK+s+'"').e;f=J_(f,h)}f=JB(f,i)}if(Qv(f,0)>0||!u&&0>Qv(f=H4(f),0))throw new p5(nwK+s+'"').e;return f}function nlt(n){var t,e,i,r,a,c,o,u,s,h;if(nh0(),null==n)return null;if((r=Tp(n,niT(37)))<0)return n;for(u=new Sv((B2(0,r,n.length),n.substr(0,r))),t=BJ(n4l,nEK,28,4,15,1),o=0,i=0,c=n.length;r<c;r++)if(Rx(r,n.length),37==n.charCodeAt(r)&&n.length>r+2&&Vx((Rx(r+1,n.length),n.charCodeAt(r+1)),n0K,n0F)&&Vx((Rx(r+2,n.length),n.charCodeAt(r+2)),n0K,n0F))if(Rx(r+1,n.length),s=n.charCodeAt(r+1),Rx(r+2,n.length),h=n.charCodeAt(r+2),e=(Q2(s)<<4|Q2(h))&nb9,r+=2,i>0?(192&e)==128?t[o++]=e<<24>>24:i=0:e>=128&&((224&e)==192?(t[o++]=e<<24>>24,i=2):(240&e)==224?(t[o++]=e<<24>>24,i=3):(248&e)==240&&(t[o++]=e<<24>>24,i=4)),i>0){if(o==i){switch(o){case 2:NJ(u,((31&t[0])<<6|63&t[1])&nb9);break;case 3:NJ(u,((15&t[0])<<12|(63&t[1])<<6|63&t[2])&nb9)}o=0,i=0}}else{for(a=0;a<o;++a)NJ(u,t[a]&nb9);o=0,u.a+=String.fromCharCode(e)}else{for(a=0;a<o;++a)NJ(u,t[a]&nb9);o=0,NJ(u,(Rx(r,n.length),n.charCodeAt(r)))}return u.a}function nle(n){var t,e,i,r,a,c,o,u,s,h,f;if(h=DV(niw(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)))==DV(niw(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84))),c=new mm,(t=CY(ncx(n,(Wk(),nZm)),75))&&t.b>=2){if(0==(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i)mk(),e=new o_,B7((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),e);else if((!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i>1)for(f=new SW((!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a));f.e!=f.i.gc();)neH(f);nho(t,CY(GO((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),0),166))}if(h)for(i=new j2((!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a));i.e!=i.i.gc();)for(u=new j2((!(e=CY(Z6(i),166)).a&&(e.a=new jU(nL0,e,5)),e.a));u.e!=u.i.gc();)o=CY(Z6(u),377),c.a=nP_.Math.max(c.a,o.a),c.b=nP_.Math.max(c.b,o.b);for(a=new j2((!n.n&&(n.n=new Lk(nNt,n,1,7)),n.n));a.e!=a.i.gc();)r=CY(Z6(a),135),(s=CY(ncx(r,nZT),8))&&TB(r,s.a,s.b),h&&(c.a=nP_.Math.max(c.a,r.i+r.g),c.b=nP_.Math.max(c.b,r.j+r.f));return c}function nli(n,t,e,i,r){if(UD(n,t),u=t[0],o=xq(e.c,0),s=-1,V8(e))if(i>0){if(u+i>n.length)return!1;s=nax((B2(0,u+i,n.length),n.substr(0,u+i)),t)}else s=nax(n,t);switch(o){case 71:return r.e=s=nrk(n,u,Vw(DY(nPL,1),nby,2,6,[nwb,nww]),t),!0;case 77:var a=s;if(a<0)return(a=nrk(n,u,Vw(DY(nPL,1),nby,2,6,[nb7,nwn,nwt,nwe,nwi,nwr,nwa,nwc,nwo,nwu,nws,nwh]),t))<0&&(a=nrk(n,u,Vw(DY(nPL,1),nby,2,6,["Jan","Feb","Mar","Apr",nwi,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),!(a<0)&&(r.k=a,!0);return a>0&&(r.k=a-1,!0);case 76:var c=s;if(c<0)return(c=nrk(n,u,Vw(DY(nPL,1),nby,2,6,[nb7,nwn,nwt,nwe,nwi,nwr,nwa,nwc,nwo,nwu,nws,nwh]),t))<0&&(c=nrk(n,u,Vw(DY(nPL,1),nby,2,6,["Jan","Feb","Mar","Apr",nwi,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),!(c<0)&&(r.k=c,!0);return c>0&&(r.k=c-1,!0);case 69:return(h=nrk(n,u,Vw(DY(nPL,1),nby,2,6,[nwd,nwg,nwp,nwm,nwv,nwy,nwk]),t))<0&&(h=nrk(n,u,Vw(DY(nPL,1),nby,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),t)),!(h<0)&&(r.d=h,!0);case 99:return(f=nrk(n,u,Vw(DY(nPL,1),nby,2,6,[nwd,nwg,nwp,nwm,nwv,nwy,nwk]),t))<0&&(f=nrk(n,u,Vw(DY(nPL,1),nby,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),t)),!(f<0)&&(r.d=f,!0);case 97:return r.b=s=nrk(n,u,Vw(DY(nPL,1),nby,2,6,["AM","PM"]),t),!0;case 121:var o,u,s,h,f,l,b,w,d=s;if(b=32,d<0){if(t[0]>=n.length||43!=(b=xq(n,t[0]))&&45!=b||(++t[0],(d=nax(n,t))<0))return!1;45==b&&(d=-d)}return 32==b&&t[0]-u==2&&2==e.b&&(r.a=d==(l=(w=(new vD).q.getFullYear()-nwf+nwf-80)%100),d+=(w/100|0)*100+100*(d<l)),r.p=d,!0;case 100:if(s<=0)return!1;return r.c=s,!0;case 83:if(s<0)return!1;var g,p,m=s;if((p=t[0]-u)<3)for(;p<3;)m*=10,++p;else{for(g=1;p>3;)g*=10,--p;m=(m+(g>>1))/g|0}return r.i=m,!0;case 104:12==s&&(s=0);case 75:case 72:if(s<0)return!1;return r.f=s,r.g=!1,!0;case 107:if(s<0)return!1;return r.f=s,r.g=!0,!0;case 109:if(s<0)return!1;return r.j=s,!0;case 115:if(s<0)return!1;return r.n=s,!0;case 90:if(u<n.length&&(Rx(u,n.length),90==n.charCodeAt(u)))return++t[0],r.o=0,!0;case 122:case 118:return u>=0&&OB(n.substr(u,3),"GMT")?t[0]=u+3:u>=0&&OB(n.substr(u,3),"UTC")&&(t[0]=u+3),nsS(n,t,r);default:return!1}}function nlr(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;if(1==n.gc())return CY(n.Xb(0),235);if(0>=n.gc())return new _6;for(r=n.Kc();r.Ob();){for(e=CY(r.Pb(),235),w=0,h=nl3,f=nl3,u=nbJ,s=nbJ,b=new fU(e.e);b.a<b.c.c.length;)l=CY(RU(b),153),w+=CY(niK(l,(nsK(),nxc)),17).a,h=nP_.Math.min(h,l.d.a-l.e.a/2),f=nP_.Math.min(f,l.d.b-l.e.b/2),u=nP_.Math.max(u,l.d.a+l.e.a/2),s=nP_.Math.max(s,l.d.b+l.e.b/2);VD(e,(nsK(),nxc),Qx(w)),VD(e,(Xo(),nxy),new MH(h,f)),VD(e,nxv,new MH(u,s))}for($O(),n.jd(new tt),zU(d=new _6,CY(n.Xb(0),96)),o=0,m=0,a=n.Kc();a.Ob();)e=CY(a.Pb(),235),g=Oj(jv(CY(niK(e,(Xo(),nxv)),8)),CY(niK(e,nxy),8)),o=nP_.Math.max(o,g.a),m+=g.a*g.b;for(o=nP_.Math.max(o,nP_.Math.sqrt(m)*pj(PI(niK(d,(nsK(),nN2))))),p=pj(PI(niK(d,nxl))),v=0,y=0,c=0,t=p,i=n.Kc();i.Ob();)e=CY(i.Pb(),235),v+(g=Oj(jv(CY(niK(e,(Xo(),nxv)),8)),CY(niK(e,nxy),8))).a>o&&(v=0,y+=c+p,c=0),function(n,t,e,i){var r,a,c,o,u,s,h,f;for(Oj(o=new MH(e,i),CY(niK(t,(Xo(),nxy)),8)),f=new fU(t.e);f.a<f.c.c.length;)OT((h=CY(RU(f),153)).d,o),jB(n.e,h);for(c=new fU(t.c);c.a<c.c.c.length;){for(r=new fU((a=CY(RU(c),290)).a);r.a<r.c.c.length;)OT(CY(RU(r),250).d,o);jB(n.c,a)}for(s=new fU(t.d);s.a<s.c.c.length;)OT((u=CY(RU(s),454)).d,o),jB(n.d,u)}(d,e,v,y),t=nP_.Math.max(t,v+g.a),c=nP_.Math.max(c,g.b),v+=g.a+p;return d}function nla(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;return v=n.c[(RN(0,t.c.length),CY(t.c[0],18)).p],E=n.c[(RN(1,t.c.length),CY(t.c[1],18)).p],(v.a.e.e-v.a.a-(v.b.e.e-v.b.a)!=0||E.a.e.e-E.a.a-(E.b.e.e-E.b.a)!=0)&&!!jM(p=v.b.e.f,10)&&(g=CY(p,10),k=n.i[g.p],M=g.c?H6(g.c.a,g,0):-1,a=nwF,M>0&&(r=CY(I0(g.c.a,M-1),10),c=n.i[r.p],T=nP_.Math.ceil(jh(n.n,r,g)),a=k.a.e-g.d.d-(c.a.e+r.o.b+r.d.a)-T),s=nwF,M<g.c.a.c.length-1&&(u=CY(I0(g.c.a,M+1),10),h=n.i[u.p],T=nP_.Math.ceil(jh(n.n,u,g)),s=h.a.e-u.d.d-(k.a.e+g.o.b+g.d.a)-T),!!(e&&(T6(),qM(ny_),nP_.Math.abs(a-s)<=ny_||a==s||isNaN(a)&&isNaN(s)))||(i=No(v.a),o=-No(v.b),f=-No(E.a),m=No(E.b),d=v.a.e.e-v.a.a-(v.b.e.e-v.b.a)>0&&E.a.e.e-E.a.a-(E.b.e.e-E.b.a)<0,w=v.a.e.e-v.a.a-(v.b.e.e-v.b.a)<0&&E.a.e.e-E.a.a-(E.b.e.e-E.b.a)>0,b=v.a.e.e+v.b.a<E.b.e.e+E.a.a,l=v.a.e.e+v.b.a>E.b.e.e+E.a.a,y=0,!d&&!w&&(l?a+f>0?y=f:s-i>0&&(y=i):b&&(a+o>0?y=o:s-m>0&&(y=m))),k.a.e+=y,k.b&&(k.d.e+=y),!1))}function nlc(n,t,e){var i,r,a,c,o,u,s,h,f,l;if(i=new x4(t.Lf().a,t.Lf().b,t.Mf().a,t.Mf().b),r=new TI,n.c)for(c=new fU(t.Rf());c.a<c.c.c.length;)r.c=(a=CY(RU(c),187)).Lf().a+t.Lf().a,r.d=a.Lf().b+t.Lf().b,r.b=a.Mf().a,r.a=a.Mf().b,nrx(i,r);for(s=new fU(t.Xf());s.a<s.c.c.length;){if(h=(u=CY(RU(s),852)).Lf().a+t.Lf().a,f=u.Lf().b+t.Lf().b,n.e&&(r.c=h,r.d=f,r.b=u.Mf().a,r.a=u.Mf().b,nrx(i,r)),n.d)for(c=new fU(u.Rf());c.a<c.c.c.length;)r.c=(a=CY(RU(c),187)).Lf().a+h,r.d=a.Lf().b+f,r.b=a.Mf().a,r.a=a.Mf().b,nrx(i,r);if(n.b){if(l=new MH(-e,-e),CY(t.of((nl_(),nYE)),181).Hc((nap(),nZ8)))for(c=new fU(u.Rf());c.a<c.c.c.length;)a=CY(RU(c),187),l.a+=a.Mf().a+e,l.b+=a.Mf().b+e;l.a=nP_.Math.max(l.a,0),l.b=nP_.Math.max(l.b,0),nsR(i,u.Wf(),u.Uf(),t,u,l,e)}}n.b&&nsR(i,t.Wf(),t.Uf(),t,null,null,e),(o=new CU(t.Vf())).d=nP_.Math.max(0,t.Lf().b-i.d),o.a=nP_.Math.max(0,i.d+i.a-(t.Lf().b+t.Mf().b)),o.b=nP_.Math.max(0,t.Lf().a-i.c),o.c=nP_.Math.max(0,i.c+i.b-(t.Lf().a+t.Mf().a)),t.Zf(o)}function nlo(n){var t,e,i,r,a,c;yd(n,new nil(((((t=new c5).c=ng2,e=t).d="ELK Force",i=e).b="Force-based algorithm provided by the Eclipse Layout Kernel. Implements methods that follow physical analogies by simulating forces that move the nodes into a balanced distribution. Currently the original Eades model and the Fruchterman - Reingold model are supported.",(r=i).e=new tc,(a=r).a=ng2,(c=a).f=AN((ncw(),n0y),Vw(DY(nNo,1),nbG,245,0,[n0m])),c))),KS(n,ng2,ng3,Qx(1)),KS(n,ng2,ng4,80),KS(n,ng2,ng6,5),KS(n,ng2,ngx,ng0),KS(n,ng2,ng5,Qx(1)),KS(n,ng2,ng8,(SB(),!0)),KS(n,ng2,ng$,nxi),KS(n,ng2,ng9,Z4(nN4)),KS(n,ng2,ng7,Z4(nxr)),KS(n,ng2,npn,!1),KS(n,ng2,npt,Z4(nxt)),KS(n,ng2,npe,Z4(nN7)),KS(n,ng2,npi,Z4(nxn)),KS(n,ng2,npr,Z4(nN9)),KS(n,ng2,npa,Z4(nN8)),KS(n,ng2,npc,Z4(nxa)),KS(n,ng2,ngV,Z4(nN5)),KS(n,ng2,ngJ,Z4(nxb)),KS(n,ng2,ngW,Z4(nN6)),KS(n,ng2,ngZ,Z4(nxu)),KS(n,ng2,ngQ,Z4(nxs)),KS(n,ng2,npo,Z4(nxg)),KS(n,ng2,npu,Z4(nxm)),KS(n,ng2,nps,Z4(nxd)),KS(n,ng2,nph,Z4(nxw)),KS(n,ng2,npf,nxp)}function nlu(n,t){var e,i,r,a,c,o,u,s,h,f,l;if(nlU(),0==v_(n3X)){for(c=0,f=BJ(n4o,nby,122,n3V.length,0,1);c<f.length;c++)f[c]=(++n4c,new RX(4));for(a=0,i=new p0;a<n3q.length;a++){if(++n4c,h=new RX(4),a<84?(Rx(o=2*a,nS4.length),l=nS4.charCodeAt(o),Rx(o+1,nS4.length),no2(h,l,nS4.charCodeAt(o+1))):no2(h,n3W[o=(a-84)*2],n3W[o+1]),OB(u=n3q[a],"Specials")&&no2(h,65520,65533),OB(u,nS2)&&(no2(h,983040,1048573),no2(h,1048576,1114109)),Rr(n3X,u,h),Rr(n3z,u,ns4(h)),0<(s=i.a.length)?i.a=Di(i.a,0,0):0>s&&(i.a+=jA(BJ(n4u,nb5,28,-s,15,1))),i.a+="Is",Tp(u,niT(32))>=0)for(r=0;r<u.length;r++)Rx(r,u.length),32!=u.charCodeAt(r)&&NQ(i,(Rx(r,u.length),u.charCodeAt(r)));else i.a+=""+u;Y6(i.a,u,!0)}Y6(nS3,"Cn",!1),Y6(nS6,"Cn",!0),++n4c,no2(e=new RX(4),0,nSz),Rr(n3X,"ALL",e),Rr(n3z,"ALL",ns4(e)),n4i||(n4i=new dc),Rr(n4i,nS3,nS3),n4i||(n4i=new dc),Rr(n4i,nS6,nS6),n4i||(n4i=new dc),Rr(n4i,"ALL","ALL")}return t?CY(Db(n3X,n),138):CY(Db(n3z,n),138)}function nls(n){var t,e,i,r,a,c;yd(n,new nil(((((t=new c5).c=nka,e=t).d="ELK Mr. Tree",i=e).b="Tree-based algorithm provided by the Eclipse Layout Kernel. Computes a spanning tree of the input graph and arranges all nodes according to the resulting parent-children hierarchy. I pity the fool who doesn't use Mr. Tree Layout.",(r=i).e=new a1,(a=r).a=nkc,(c=a).f=JP((ncw(),n0p)),c))),KS(n,nka,ng$,nzr),KS(n,nka,ng4,20),KS(n,nka,nv0,3),KS(n,nka,ngx,ng0),KS(n,nka,ng3,Qx(1)),KS(n,nka,ng8,(SB(),!0)),KS(n,nka,nye,Z4(nX1)),KS(n,nka,nyc,nX2),KS(n,nka,ng9,Z4(nX6)),KS(n,nka,nyP,Z4(nX5)),KS(n,nka,npr,Z4(nX9)),KS(n,nka,npe,Z4(nX7)),KS(n,nka,npE,Z4(nzn)),KS(n,nka,npi,Z4(nzt)),KS(n,nka,npa,Z4(nX8)),KS(n,nka,npt,Z4(nze)),KS(n,nka,npc,Z4(nza)),KS(n,nka,nkt,Z4(nzm)),KS(n,nka,nki,Z4(nzu)),KS(n,nka,npo,Z4(nzw)),KS(n,nka,npu,Z4(nzg)),KS(n,nka,nps,Z4(nzb)),KS(n,nka,nph,Z4(nzl)),KS(n,nka,npf,nzd),KS(n,nka,nkn,Z4(nzc)),KS(n,nka,nke,Z4(nX4)),KS(n,nka,ny7,Z4(nzp)),KS(n,nka,ny8,Z4(nXZ)),KS(n,nka,ny9,Z4(nX3))}function nlh(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(s=CY(CY(_G(n.r,t),21),87),PY(),c=(d=CY(CY(_G(n.r,t),21),87)).gc()>=2&&(w=CY(d.Kc().Pb(),117),b=n.u.Hc((nap(),nZ4)),g=n.u.Hc(nZ9),!w.a&&!b&&(2==d.gc()||g)),e=n.u.Hc((nap(),nZ3)),u=s.Kc();u.Ob();)if((o=CY(u.Pb(),117)).c&&!(o.c.d.c.length<=0)){switch(l=o.b.Mf(),f=(h=o.c).i,a=h.n,f.b=h.e.a+a.b+a.c,r=h.n,f.a=h.e.b+r.d+r.a,t.g){case 1:o.a?(f.c=(l.a-f.b)/2,Hn(h,(HS(),nIo))):c||e?(f.c=-f.b-n.s,Hn(h,(HS(),nIs))):(f.c=l.a+n.s,Hn(h,(HS(),nIu))),f.d=-f.a-n.t,P0(h,(Uk(),nIf));break;case 3:o.a?(f.c=(l.a-f.b)/2,Hn(h,(HS(),nIo))):c||e?(f.c=-f.b-n.s,Hn(h,(HS(),nIs))):(f.c=l.a+n.s,Hn(h,(HS(),nIu))),f.d=l.b+n.t,P0(h,(Uk(),nIb));break;case 2:o.a?(i=n.v?f.a:CY(I0(h.d,0),187).Mf().b,f.d=(l.b-i)/2,P0(h,(Uk(),nIl))):c||e?(f.d=-f.a-n.t,P0(h,(Uk(),nIf))):(f.d=l.b+n.t,P0(h,(Uk(),nIb))),f.c=l.a+n.s,Hn(h,(HS(),nIu));break;case 4:o.a?(i=n.v?f.a:CY(I0(h.d,0),187).Mf().b,f.d=(l.b-i)/2,P0(h,(Uk(),nIl))):c||e?(f.d=-f.a-n.t,P0(h,(Uk(),nIf))):(f.d=l.b+n.t,P0(h,(Uk(),nIb))),f.c=-f.b-n.s,Hn(h,(HS(),nIs))}c=!1}}function nlf(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;if(d=0!=n.i,m=!1,g=null,TN(n.e)){if((h=t.gc())>0){for(r=0,l=h<100?null:new mw(h),w=(s=new ze(t)).g,g=BJ(n4s,nwl,28,h,15,1),i=0,v=new Gk(h);r<n.i;++r){b=o=n.g[r];i:for(p=0;p<2;++p){for(u=h;--u>=0;)if(null!=b?QY(b,w[u]):ER(b)===ER(w[u])){g.length<=i&&ns8(g,0,g=BJ(n4s,nwl,28,2*g.length,15,1),0,i),g[i++]=r,B7(v,w[u]);break i}if(ER(b)===ER(o))break}}if(s=v,w=v.g,h=i,i>g.length&&ns8(g,0,g=BJ(n4s,nwl,28,i,15,1),0,i),i>0){for(a=0,m=!0;a<i;++a)l=O2(n,CY(b=w[a],76),l);for(c=i;--c>=0;)ntD(n,g[c]);if(i!=h){for(r=h;--r>=i;)ntD(s,r);ns8(g,0,g=BJ(n4s,nwl,28,i,15,1),0,i)}t=s}}}else for(t=function(n,t){var e,i,r;if(t.dc())return PR(),PR(),n0O;for(e=new P3(n,t.gc()),r=new j2(n);r.e!=r.i.gc();)i=Z6(r),t.Hc(i)&&B7(e,i);return e}(n,t),r=n.i;--r>=0;)t.Hc(n.g[r])&&(ntD(n,r),m=!0);if(!m)return!1;if(null!=g){for(f=1==(e=t.gc())?Ri(n,4,t.Kc().Pb(),null,g[0],d):Ri(n,6,t,g,g[0],d),l=e<100?null:new mw(e),r=t.Kc();r.Ob();)l=O0(n,CY(b=r.Pb(),76),l);l?(l.nj(f),l.oj()):zP(n.e,f)}else{for(l=(y=t.gc())<100?null:new mw(y),r=t.Kc();r.Ob();)l=O0(n,CY(b=r.Pb(),76),l);l&&l.oj()}return!0}function nll(n,t,e,i,r,a,c,o,u){var s,h,f,l,b,w,d,g,p;switch((b=e,(h=new nn_(u)).k=(ni8(),n$g),VD(h,(nlF(),nKB),c),VD(h,(nlL(),nUt),(nie(),nZJ)),d=pj(PI(n.of(nUn))),VD(h,nUn,d),Ro(f=new nro,h),(t==nZ1||t==nZ0)&&(b=i>=0?Ya(o):Jw(Ya(o)),n.qf(nUc,b)),s=new mm,l=!1,n.pf(nH7))?(Ps(s,CY(n.of(nH7),8)),l=!0):(g=c.a/2,p=c.b/2,s.a=g,s.b=p),b.g){case 4:VD(h,nHI,(Yb(),nFy)),VD(h,nKx,(VH(),nRB)),h.o.b=c.b,d<0&&(h.o.a=-d),nau(f,(nf5(),n1n)),l||(s.a=c.a),s.a-=c.a;break;case 2:VD(h,nHI,(Yb(),nFM)),VD(h,nKx,(VH(),nRF)),h.o.b=c.b,d<0&&(h.o.a=-d),nau(f,(nf5(),n1y)),l||(s.a=0);break;case 1:VD(h,nKz,(UM(),nKy)),h.o.a=c.a,d<0&&(h.o.b=-d),nau(f,(nf5(),n1m)),l||(s.b=c.b),s.b-=c.b;break;case 3:VD(h,nKz,(UM(),nKm)),h.o.a=c.a,d<0&&(h.o.b=-d),nau(f,(nf5(),n1t)),l||(s.b=0)}if(Ps(f.n,s),VD(h,nH7,s),t==nZQ||t==nZY||t==nZJ){if(w=0,t==nZQ&&n.pf(nUe))switch(b.g){case 1:case 2:w=CY(n.of(nUe),17).a;break;case 3:case 4:w=-CY(n.of(nUe),17).a}else switch(b.g){case 4:case 2:w=a.b,t==nZY&&(w/=r.b);break;case 1:case 3:w=a.a,t==nZY&&(w/=r.a)}VD(h,nFr,w)}return VD(h,nK_,b),h}function nlb(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(zU(h=new nn_(e),t),VD(h,(nlF(),nK6),t),h.o.a=t.g,h.o.b=t.f,h.n.a=t.i,h.n.b=t.j,jB(e.a,h),xM(n.a,t,h),(0!=(!t.a&&(t.a=new Lk(nNe,t,10,11)),t.a).i||pT(PC(ncx(t,(nlL(),nHE)))))&&VD(h,nKC,(SB(),!0)),s=CY(niK(e,nKU),21),(f=CY(niK(h,(nlL(),nUt)),101))==(nie(),nZ0)?VD(h,nUt,nZ1):f!=nZ1&&s.Fc((no7(),nKs)),l=0,i=CY(niK(e,nHt),88),u=new j2((!t.c&&(t.c=new Lk(nNi,t,9,9)),t.c));u.e!=u.i.gc();)o=CY(Z6(u),123),(ER(ncx(r=DV(t),nBQ))!==ER((Zu(),nGO))||ER(ncx(r,nB7))===ER((Zo(),nRx))||ER(ncx(r,nB7))===ER((Zo(),nRL))||pT(PC(ncx(r,nBY)))||ER(ncx(r,nBG))!==ER((ZT(),n$h))||ER(ncx(r,nH$))===ER((nu7(),nGp))||ER(ncx(r,nH$))===ER((nu7(),nGm))||ER(ncx(r,nHD))===ER((noj(),nU0))||ER(ncx(r,nHD))===ER((noj(),nU3)))&&!pT(PC(ncx(t,nBV)))&&nnh(o,nK4,Qx(l++)),pT(PC(ncx(o,nHZ)))||function(n,t,e,i,r,a){var c,o,u,s,h,f;for(zU(s=new nro,t),nau(s,CY(ncx(t,(nlL(),nUc)),64)),VD(s,(nlF(),nK6),t),Ro(s,e),(f=s.o).a=t.g,f.b=t.f,(h=s.n).a=t.i,h.b=t.j,xM(n.a,t,s),(c=_g(xz(UL(new Aa(null,(!t.e&&(t.e=new Ox(nL6,t,7,4)),new R$(t.e,16))),new tR),new t$),new lR(t)))||(c=_g(xz(UL(new Aa(null,(!t.d&&(t.d=new Ox(nL6,t,8,5)),new R$(t.d,16))),new tK),new tD),new lK(t))),c||(c=_g(new Aa(null,(!t.e&&(t.e=new Ox(nL6,t,7,4)),new R$(t.e,16))),new tF)),VD(s,nKX,(SB(),!!c)),!function(n,t,e,i){var r,a,c,o,u,s;if((o=n.j)==(nf5(),n1v)&&t!=(nie(),nZ1)&&t!=(nie(),nZ0)&&(o=nsD(n,e),nau(n,o),(!n.q?($O(),$O(),nOB):n.q)._b((nlL(),nUn))||o==n1v||0==n.n.a&&0==n.n.b||VD(n,nUn,function(n,t){var e;switch(e=n.i,t.g){case 1:return-(n.n.b+n.o.b);case 2:return n.n.a-e.o.a;case 3:return n.n.b-e.o.b;case 4:return-(n.n.a+n.o.a)}return 0}(n,o))),t==(nie(),nZY)){switch(s=0,o.g){case 1:case 3:(a=n.i.o.a)>0&&(s=n.n.a/a);break;case 2:case 4:(r=n.i.o.b)>0&&(s=n.n.b/r)}VD(n,(nlF(),nFr),s)}if(u=n.o,c=n.a,i)c.a=i.a,c.b=i.b,n.d=!0;else if(t!=nZ1&&t!=nZ0&&o!=n1v)switch(o.g){case 1:c.a=u.a/2;break;case 2:c.a=u.a,c.b=u.b/2;break;case 3:c.a=u.a/2,c.b=u.b;break;case 4:c.b=u.b/2}else c.a=u.a/2,c.b=u.b/2}(s,a,r,CY(ncx(t,nH7),8)),u=new j2((!t.n&&(t.n=new Lk(nNt,t,1,7)),t.n));u.e!=u.i.gc();)!pT(PC(ncx(o=CY(Z6(u),135),nHZ)))&&o.a&&jB(s.f,Qp(o));switch(r.g){case 2:case 1:(s.j==(nf5(),n1t)||s.j==n1m)&&i.Fc((no7(),nKh));break;case 4:case 3:(s.j==(nf5(),n1n)||s.j==n1y)&&i.Fc((no7(),nKh))}}(n,o,h,s,i,f);for(c=new j2((!t.n&&(t.n=new Lk(nNt,t,1,7)),t.n));c.e!=c.i.gc();)!pT(PC(ncx(a=CY(Z6(c),135),nHZ)))&&a.a&&jB(h.b,Qp(a));return pT(PC(niK(h,nB_)))&&s.Fc((no7(),nKr)),pT(PC(niK(h,nHM)))&&(s.Fc((no7(),nKu)),s.Fc(nKo),VD(h,nUt,nZ1)),h}function nlw(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I;for(d=0,S=0,s=new fU(n.b);s.a<s.c.c.length;)(u=CY(RU(s),163)).c&&nfU(u.c),d=nP_.Math.max(d,Ab(u)),S+=Ab(u)*Al(u);for(g=S/n.b.c.length,j=function(n,t){var e,i,r;for(r=0,i=new fU(n);i.a<i.c.c.length;)e=CY(RU(i),163),r+=nP_.Math.pow(Ab(e)*Al(e)-t,2);return nP_.Math.sqrt(r/(n.c.length-1))}(n.b,g),S+=n.b.c.length*j,d=nP_.Math.max(d,nP_.Math.sqrt(S*c))+e.b,C=e.b,I=e.d,b=0,f=e.b+e.c,IA(T=new vq,Qx(0)),M=new vq,h=new Kp(n.b,0),w=null,o=new du;h.b<h.d.gc();)Px(h.b<h.d.gc()),O=Ab(u=CY(h.d.Xb(h.c=h.b++),163)),l=Al(u),C+O>d&&(a&&(E6(M,b),E6(T,Qx(h.b-1)),jB(n.d,w),o.c.length=0),C=e.b,I+=b+t,b=0,f=nP_.Math.max(f,e.b+e.c+O)),dk(o.c,u),function n(t,e,i){var r;if(t.c)GZ(t.c,t.c.i+e),G1(t.c,t.c.j+i);else for(r=new fU(t.b);r.a<r.c.c.length;)n(CY(RU(r),163),e,i)}(u,C,I),f=nP_.Math.max(f,C+O+e.c),b=nP_.Math.max(b,l),C+=O+t,w=u;if(Vc(n.a,o),jB(n.d,CY(I0(o,o.c.length-1),163)),f=nP_.Math.max(f,i),(P=I+b+e.a)<r&&(b+=r-P,P=r),a)for(C=e.b,h=new Kp(n.b,0),E6(T,Qx(n.b.c.length)),m=CY(K0(E=ZQ(T,0)),17).a,E6(M,b),k=ZQ(M,0),y=0;h.b<h.d.gc();)h.b==m&&(C=e.b,y=pj(PI(K0(k))),m=CY(K0(E),17).a),Px(h.b<h.d.gc()),function n(t,e){var i,r,a;if(t.c)GJ(t.c,e);else for(i=e-Al(t),a=new fU(t.a);a.a<a.c.c.length;)n(r=CY(RU(a),163),Al(r)+i)}(u=CY(h.d.Xb(h.c=h.b++),163),y),h.b==m&&(p=f-C-e.c,v=Ab(u),function n(t,e){var i,r,a;if(t.c)GY(t.c,e);else for(i=e-Ab(t),a=new fU(t.d);a.a<a.c.c.length;)n(r=CY(RU(a),163),Ab(r)+i)}(u,p),function n(t,e,i){var r;if(t.c)niN(t.c,e,i);else for(r=new fU(t.b);r.a<r.c.c.length;)n(CY(RU(r),163),e,i)}(u,(p-v)/2,0)),C+=Ab(u)+t;return new MH(f,P)}function nld(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;for(w=new Bf(t.b),m=new Bf(t.b),l=new Bf(t.b),M=new Bf(t.b),d=new Bf(t.b),k=ZQ(t,0);k.b!=k.d.c;)for(o=new fU((v=CY(K0(k),12)).g);o.a<o.c.c.length;)if((a=CY(RU(o),18)).c.i==a.d.i){if(v.j==a.d.j){dk(M.c,a);continue}else if(v.j==(nf5(),n1t)&&a.d.j==n1m){dk(d.c,a);continue}}for(u=new fU(d);u.a<u.c.c.length;)!function(n,t,e,i,r){var a,c,o,u;(a=new nn_(n)).k=(ni8(),n$y),VD(a,(nlL(),nUt),(nie(),nZJ)),VD(a,(nlF(),nK6),t.c.i),VD(c=new nro,nK6,t.c),nau(c,r),Ro(c,a),VD(t.c,nFi,a),(o=new nn_(n)).k=n$y,VD(o,nUt,nZJ),VD(o,nK6,t.d.i),VD(u=new nro,nK6,t.d),nau(u,r),Ro(u,o),VD(t.d,nFi,o),Ra(t,c),Ru(t,u),RL(0,e.c.length),kt(e.c,0,a),dk(i.c,o),VD(a,nKA,Qx(1)),VD(o,nKA,Qx(1))}(n,a=CY(RU(u),18),e,i,(nf5(),n1n));for(c=new fU(M);c.a<c.c.c.length;)a=CY(RU(c),18),(E=new nn_(n)).k=(ni8(),n$y),VD(E,(nlL(),nUt),(nie(),nZJ)),VD(E,(nlF(),nK6),a),VD(T=new nro,nK6,a.d),nau(T,(nf5(),n1y)),Ro(T,E),VD(j=new nro,nK6,a.c),nau(j,n1n),Ro(j,E),VD(a.c,nFi,E),VD(a.d,nFi,E),Ra(a,null),Ru(a,null),dk(e.c,E),VD(E,nKA,Qx(2));for(y=ZQ(t,0);y.b!=y.d.c;)s=(v=CY(K0(y),12)).e.c.length>0,g=v.g.c.length>0,s&&g?dk(l.c,v):s?dk(w.c,v):g&&dk(m.c,v);for(b=new fU(w);b.a<b.c.c.length;)jB(r,nhj(n,CY(RU(b),12),null,e));for(p=new fU(m);p.a<p.c.c.length;)jB(r,nhj(n,null,CY(RU(p),12),e));for(f=new fU(l);f.a<f.c.c.length;)jB(r,nhj(n,h=CY(RU(f),12),h,e))}function nlg(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(l=nwF,b=nwF,h=0,f=0,u=new du,o=new j2((!n.b&&(n.b=new Lk(nL6,n,12,3)),n.b));o.e!=o.i.gc();)a=CY(Z6(o),74),u=qb(Vw(DY(nPs,1),nl7,20,0,[u,(a.n||(a.n=new Lk(nNt,a,1,7)),a.n)]));for(v=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(n.n||(n.n=new Lk(nNt,n,1,7)),n.n),(n.a||(n.a=new Lk(nNe,n,10,11)),n.a),u])));ncv(v);)m=CY(_I(v),422),s=CY(m.of((nl_(),nJ1)),140),l>m.nh()-s.b&&(l=m.nh()-s.b),b>m.oh()-s.d&&(b=m.oh()-s.d),h<m.nh()+m.mh()+s.c&&(h=m.nh()+m.mh()+s.c),f<m.oh()+m.lh()+s.a&&(f=m.oh()+m.lh()+s.a);for(c=new j2((!n.b&&(n.b=new Lk(nL6,n,12,3)),n.b));c.e!=c.i.gc();)for(p=new j2((!(a=CY(Z6(c),74)).a&&(a.a=new Lk(nL5,a,6,6)),a.a));p.e!=p.i.gc();)for(w=(g=CY(Z6(p),166)).j,i=g.b,d=g.k,r=g.c,l=nP_.Math.min(l,w),l=nP_.Math.min(l,i),h=nP_.Math.max(h,w),h=nP_.Math.max(h,i),b=nP_.Math.min(b,d),b=nP_.Math.min(b,r),f=nP_.Math.max(f,d),f=nP_.Math.max(f,r),e=new j2((!g.a&&(g.a=new jU(nL0,g,5)),g.a));e.e!=e.i.gc();)t=CY(Z6(e),377),l=nP_.Math.min(l,t.a),h=nP_.Math.max(h,t.a),b=nP_.Math.min(b,t.b),f=nP_.Math.max(f,t.b);nnh(n,(nl_(),nJI),h-l),nnh(n,nJC,f-b)}function nlp(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O;for(l=CY(niK(n,(Xo(),nxk)),27),p=nl3,m=nl3,d=nbJ,g=nbJ,y=new fU(n.e);y.a<y.c.c.length;)j=(v=CY(RU(y),153)).d,S=v.e,p=nP_.Math.min(p,j.a-S.a/2),m=nP_.Math.min(m,j.b-S.b/2),d=nP_.Math.max(d,j.a+S.a/2),g=nP_.Math.max(g,j.b+S.b/2);for(e=new fU(n.b);e.a<e.c.c.length;)j=(t=CY(RU(e),250)).d,S=t.e,p=nP_.Math.min(p,j.a-S.a/2),m=nP_.Math.min(m,j.b-S.b/2),d=nP_.Math.max(d,j.a+S.a/2),g=nP_.Math.max(g,j.b+S.b/2);for(E=new MH((T=CY(ncx(l,(nsK(),nxe)),107)).b-p,T.d-m),s=new fU(n.e);s.a<s.c.c.length;)jM(M=niK(u=CY(RU(s),153),nxk),207)&&TB(b=CY(M,27),(k=OT(new TP(u.d),E)).a-b.g/2,k.b-b.f/2);for(a=new fU(n.c);a.a<a.c.c.length;)r=CY(RU(a),290),f=no6(CY(niK(r,nxk),74),!0,!0),OT(P=new TP(qw(r)),E),TU(f,P.a,P.b),Gd(r.a,new y8(E,f)),OT(i=new TP(qd(r)),E),TH(f,i.a,i.b);for(o=new fU(n.d);o.a<o.c.c.length;)c=CY(RU(o),454),TB(CY(niK(c,nxk),135),(w=OT(new TP(c.d),E)).a,w.b);O=d-p+(T.b+T.c),h=g-m+(T.d+T.a),pT(PC(ncx(l,(nl_(),nJ9))))||nf9(l,O,h,!1,!0),nnh(l,nJI,O-(T.b+T.c)),nnh(l,nJC,h-(T.d+T.a))}function nlm(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S;return f=function(n,t){var e,i,r,a,c,o,u,s,h,f,l;if(n.dc())return new mm;for(u=0,h=0,i=n.Kc();i.Ob();)r=CY(i.Pb(),36).f,u=nP_.Math.max(u,r.a),h+=r.a*r.b;for(u=nP_.Math.max(u,nP_.Math.sqrt(h)*pj(PI(niK(CY(n.Kc().Pb(),36),(nlL(),nBF))))),f=0,l=0,o=0,e=t,c=n.Kc();c.Ob();)f+(s=(a=CY(c.Pb(),36)).f).a>u&&(f=0,l+=o+t,o=0),nuW(a,f,l),e=nP_.Math.max(e,f+s.a),o=nP_.Math.max(o,s.b),f+=s.a+t;return new MH(e+t,l+o+t)}(S$(n,(nf5(),n1c)),t),w=ntk(S$(n,n1o),t),y=ntk(S$(n,n1d),t),T=ntM(S$(n,n1p),t),l=ntM(S$(n,n1e),t),m=ntk(S$(n,n1w),t),d=ntk(S$(n,n1u),t),M=ntk(S$(n,n1g),t),k=ntk(S$(n,n1i),t),j=ntM(S$(n,n1a),t),p=ntk(S$(n,n1l),t),v=ntk(S$(n,n1f),t),E=ntk(S$(n,n1r),t),S=ntM(S$(n,n1b),t),b=ntM(S$(n,n1s),t),g=ntk(S$(n,n1h),t),e=Gl(Vw(DY(n4b,1),nwX,28,15,[m.a,T.a,M.a,S.a])),i=Gl(Vw(DY(n4b,1),nwX,28,15,[w.a,f.a,y.a,g.a])),r=p.a,a=Gl(Vw(DY(n4b,1),nwX,28,15,[d.a,l.a,k.a,b.a])),s=Gl(Vw(DY(n4b,1),nwX,28,15,[m.b,w.b,d.b,v.b])),u=Gl(Vw(DY(n4b,1),nwX,28,15,[T.b,f.b,l.b,g.b])),h=j.b,o=Gl(Vw(DY(n4b,1),nwX,28,15,[M.b,y.b,k.b,E.b])),Hc(S$(n,n1c),e+r,s+h),Hc(S$(n,n1h),e+r,s+h),Hc(S$(n,n1o),e+r,0),Hc(S$(n,n1d),e+r,s+h+u),Hc(S$(n,n1p),0,s+h),Hc(S$(n,n1e),e+r+i,s+h),Hc(S$(n,n1u),e+r+i,0),Hc(S$(n,n1g),0,s+h+u),Hc(S$(n,n1i),e+r+i,s+h+u),Hc(S$(n,n1a),0,s),Hc(S$(n,n1l),e,0),Hc(S$(n,n1r),0,s+h+u),Hc(S$(n,n1s),e+r+i,0),(c=new mm).a=Gl(Vw(DY(n4b,1),nwX,28,15,[e+i+r+a,j.a,v.a,E.a])),c.b=Gl(Vw(DY(n4b,1),nwX,28,15,[s+u+h+o,p.b,S.b,b.b])),c}function nlv(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;for(d=new MH(nwF,nwF),t=new MH(nw_,nw_),k=new fU(n);k.a<k.c.c.length;)y=CY(RU(k),8),d.a=nP_.Math.min(d.a,y.a),d.b=nP_.Math.min(d.b,y.b),t.a=nP_.Math.max(t.a,y.a),t.b=nP_.Math.max(t.b,y.b);for(s=new MH(t.a-d.a,t.b-d.b),u=new MH(d.a-50,d.b-s.a-50),h=new nhh(u,new MH(d.a-50,t.b+s.a+50),new MH(t.a+s.b/2+50,d.b+s.b/2)),v=new dV,r=new du,e=new du,v.a.zc(h,v),E=new fU(n);E.a<E.c.c.length;){for(M=CY(RU(E),8),r.c.length=0,m=v.a.ec().Kc();m.Ob();)Hr((g=CY(m.Pb(),317)).d,g.a),0>JU(Hr(g.d,M),Hr(g.d,g.a))&&dk(r.c,g);for(e.c.length=0,p=new fU(r);p.a<p.c.c.length;)for(b=new fU((g=CY(RU(p),317)).e);b.a<b.c.c.length;){for(f=CY(RU(b),177),a=!0,o=new fU(r);o.a<o.c.c.length;)(c=CY(RU(o),317))!=g&&(xL(f,I0(c.e,0))||xL(f,I0(c.e,1))||xL(f,I0(c.e,2)))&&(a=!1);a&&dk(e.c,f)}for(niI(v,r),_r(v,new nh),l=new fU(e);l.a<l.c.c.length;)LX(v,new nhh(M,(f=CY(RU(l),177)).a,f.b))}for(_r(v,new lf(w=new dV)),i=w.a.ec().Kc();i.Ob();)(Uo(h,(f=CY(i.Pb(),177)).a)||Uo(h,f.b))&&i.Qb();return _r(w,new nf),w}function nly(){nly=T,mM(),n0s=n19.a,CY(GO($x(n19.a),0),19),n0i=n19.f,CY(GO($x(n19.f),0),19),CY(GO($x(n19.f),1),35),n0u=n19.n,CY(GO($x(n19.n),0),35),CY(GO($x(n19.n),1),35),CY(GO($x(n19.n),2),35),CY(GO($x(n19.n),3),35),n0r=n19.g,CY(GO($x(n19.g),0),19),CY(GO($x(n19.g),1),35),n0n=n19.c,CY(GO($x(n19.c),0),19),CY(GO($x(n19.c),1),19),n0a=n19.i,CY(GO($x(n19.i),0),19),CY(GO($x(n19.i),1),19),CY(GO($x(n19.i),2),19),CY(GO($x(n19.i),3),19),CY(GO($x(n19.i),4),35),n0c=n19.j,CY(GO($x(n19.j),0),19),n0t=n19.d,CY(GO($x(n19.d),0),19),CY(GO($x(n19.d),1),19),CY(GO($x(n19.d),2),19),CY(GO($x(n19.d),3),19),CY(GO($x(n19.d),4),35),CY(GO($x(n19.d),5),35),CY(GO($x(n19.d),6),35),CY(GO($x(n19.d),7),35),n17=n19.b,CY(GO($x(n19.b),0),35),CY(GO($x(n19.b),1),35),n0e=n19.e,CY(GO($x(n19.e),0),35),CY(GO($x(n19.e),1),35),CY(GO($x(n19.e),2),35),CY(GO($x(n19.e),3),35),CY(GO($x(n19.e),4),19),CY(GO($x(n19.e),5),19),CY(GO($x(n19.e),6),19),CY(GO($x(n19.e),7),19),CY(GO($x(n19.e),8),19),CY(GO($x(n19.e),9),19),CY(GO($x(n19.e),10),35),n0o=n19.k,CY(GO($x(n19.k),0),35),CY(GO($x(n19.k),1),35)}function nlk(n){var t,e,i,r,a;switch(t=n.c){case 11:return n.vm();case 12:return n.xm();case 14:return n.zm();case 15:return n.Cm();case 16:return n.Am();case 17:return n.Dm();case 21:return nlN(n),nlU(),nlU(),n3Y;case 10:switch(n.a){case 65:return n.hm();case 90:return n.mm();case 122:return n.tm();case 98:return n.nm();case 66:return n.im();case 60:return n.sm();case 62:return n.qm()}}switch(a=function(n){var t,e,i,r,a;switch(t=n.c,a=null,t){case 6:return n.Em();case 13:return n.Fm();case 23:return n.wm();case 22:return n.Bm();case 18:return n.ym();case 8:nlN(n),nlU(),a=n3J;break;case 9:return n.em(!0);case 19:return n.fm();case 10:switch(n.a){case 100:case 68:case 119:case 87:case 115:case 83:return a=n.dm(n.a),nlN(n),a;case 101:case 102:case 110:case 114:case 116:case 117:case 118:case 120:(e=n.cm())<nwG?(nlU(),nlU(),++n4c,a=new Ad(0,e)):a=AQ(JK(e));break;case 99:return n.om();case 67:return n.jm();case 105:return n.rm();case 73:return n.km();case 103:return n.pm();case 88:return n.lm();case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return n.gm();case 80:case 112:if(!(a=naC(n,n.a)))throw new pH(nlV((T9(),nTF))).e;break;default:a=Iw(n.a)}nlN(n);break;case 0:if(93==n.a||123==n.a||125==n.a)throw new pH(nlV((T9(),nTK))).e;a=Iw(n.a),i=n.a,nlN(n),(64512&i)==nwq&&0==n.c&&(64512&n.a)==56320&&((r=BJ(n4u,nb5,28,2,15,1))[0]=i&nb9,r[1]=n.a&nb9,a=L$(AQ(Za(r,0,r.length)),0),nlN(n));break;default:throw new pH(nlV((T9(),nTK))).e}return a}(n),t=n.c){case 3:return n.Im(a);case 4:return n.Gm(a);case 5:return n.Hm(a);case 0:if(123==n.a&&n.d<n.j){if(r=n.d,i=0,e=-1,(t=xq(n.i,r++))>=48&&t<=57){for(i=t-48;r<n.j&&(t=xq(n.i,r++))>=48&&t<=57;)if((i=10*i+t-48)<0)throw new pH(nlV((T9(),nT5))).e}else throw new pH(nlV((T9(),nT2))).e;if(e=i,44==t)if(r>=n.j)throw new pH(nlV((T9(),nT4))).e;else if((t=xq(n.i,r++))>=48&&t<=57){for(e=t-48;r<n.j&&(t=xq(n.i,r++))>=48&&t<=57;)if((e=10*e+t-48)<0)throw new pH(nlV((T9(),nT5))).e;if(i>e)throw new pH(nlV((T9(),nT6))).e}else e=-1;if(125!=t)throw new pH(nlV((T9(),nT3))).e;n.bm(r)?(nlU(),nlU(),++n4c,a=new FA(9,a),n.d=r+1):(nlU(),nlU(),++n4c,a=new FA(3,a),n.d=r),a.Om(i),a.Nm(e),nlN(n)}}return a}function nlM(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;if(LR(n.a,t)){if(vF(CY(NR(n.a,t),49),e))return 1}else xM(n.a,t,new dV);if(LR(n.a,e)){if(vF(CY(NR(n.a,e),49),t))return -1}else xM(n.a,e,new dV);if(LR(n.e,t)){if(vF(CY(NR(n.e,t),49),e))return -1}else xM(n.e,t,new dV);if(LR(n.e,e)){if(vF(CY(NR(n.a,e),49),t))return 1}else xM(n.e,e,new dV);if(n.c==(Zu(),nGC)||!Pn(t,(nlF(),nK4))||!Pn(e,(nlF(),nK4))){for(f=null,s=new fU(t.j);s.a<s.c.c.length;)0==(o=CY(RU(s),12)).e.c.length||CY(I0(o.e,0),18).c.i.c!=t.c&&(f=CY(I0(o.e,0),18).c);for(b=null,u=new fU(e.j);u.a<u.c.c.length;)0==(o=CY(RU(u),12)).e.c.length||CY(I0(o.e,0),18).c.i.c!=e.c&&(b=CY(I0(o.e,0),18).c);if(f&&b){if(h=f.i,l=b.i,h&&h==l){for(d=new fU(h.j);d.a<d.c.c.length;){if((w=CY(RU(d),12))==f)return nu0(n,e,t),-1;if(w==b)return nu0(n,t,e),1}return jo(neq(n,t),neq(n,e))}for(p=n.d,m=0,v=p.length;m<v;++m){if((g=p[m])==h)return nu0(n,e,t),-1;if(g==l)return nu0(n,t,e),1}}if(!Pn(t,(nlF(),nK4))||!Pn(e,nK4))return(r=neq(n,t))>(c=neq(n,e))?nu0(n,t,e):nu0(n,e,t),r<c?-1:+(r>c)}return(i=CY(niK(t,(nlF(),nK4)),17).a)>(a=CY(niK(e,nK4),17).a)?nu0(n,t,e):nu0(n,e,t),i<a?-1:+(i>a)}function nlE(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;if(null==e)return null;if(n.a!=t.jk())throw new pN(nE$+t.xe()+nED).e;if(jM(t,469)){if(!(d=function(n,t){var e,i,r;if(null==t){for(n.a||(n.a=new Lk(n01,n,9,5)),i=new j2(n.a);i.e!=i.i.gc();)if((null==(r=(e=CY(Z6(i),694)).c)?e.zb:r)==null)return e}else for(n.a||(n.a=new Lk(n01,n,9,5)),i=new j2(n.a);i.e!=i.i.gc();)if(OB(t,null==(r=(e=CY(Z6(i),694)).c)?e.zb:r))return e;return null}(CY(t,685),e)))throw new pN(nER+e+"' is not a valid enumerator of '"+t.xe()+"'").e;return d}switch(Qz((nrR(),n28),t).Nl()){case 2:e=nhB(e,!1);break;case 3:e=nhB(e,!0)}if(i=Qz(n28,t).Jl())return i.jk().wi().ti(i,e);if(f=Qz(n28,t).Ll()){for(d=new du,u=WP(e),s=0,h=u.length;s<h;++s)o=u[s],jB(d,f.jk().wi().ti(f,o));return d}if(!(w=Qz(n28,t).Ml()).dc()){for(b=w.Kc();b.Ob();){l=CY(b.Pb(),156);try{if(d=l.jk().wi().ti(l,e),null!=d)return d}catch(n){if(!jM(n=Vt(n),63))throw n.e}}throw new pN(nER+e+"' does not match any member types of the union datatype '"+t.xe()+"'").e}if(CY(t,847).ok(),!(r=(g=t.kk())?(1&g.i)!=0?g==n4h?nPE:g==n4s?nPO:g==n4w?nPP:g==n4b?nPS:g==n4f?nPC:g==n4d?nPI:g==n4l?nPT:nPj:g:null))return null;if(r==nPj){a=0;try{a=nsE(e,nbJ,nl3)&nb9}catch(n){if(jM(n=Vt(n),130))a=Ul(e)[0];else throw n.e}return z_(a)}if(r==nPM){for(c=0;c<n0f.length;++c)try{return p=n0f[c],m=e,ntJ(p.a,m)}catch(n){if(!jM(n=Vt(n),33))throw n.e}throw new pN(nER+e+"' is not a date formatted string of the form yyyy-MM-dd'T'HH:mm:ss'.'SSSZ or a valid subset thereof").e}throw new pN(nER+e+"' is invalid. ").e}function nlT(){nlT=T,naR(n$c=new Ds,(nf5(),n1c),n1h),naR(n$c,n1p,n1h),naR(n$c,n1p,n1b),naR(n$c,n1e,n1s),naR(n$c,n1e,n1h),naR(n$c,n1o,n1h),naR(n$c,n1o,n1f),naR(n$c,n1d,n1r),naR(n$c,n1d,n1h),naR(n$c,n1l,n1a),naR(n$c,n1l,n1h),naR(n$c,n1l,n1f),naR(n$c,n1l,n1r),naR(n$c,n1a,n1l),naR(n$c,n1a,n1b),naR(n$c,n1a,n1s),naR(n$c,n1a,n1h),naR(n$c,n1w,n1w),naR(n$c,n1w,n1f),naR(n$c,n1w,n1b),naR(n$c,n1u,n1u),naR(n$c,n1u,n1f),naR(n$c,n1u,n1s),naR(n$c,n1g,n1g),naR(n$c,n1g,n1r),naR(n$c,n1g,n1b),naR(n$c,n1i,n1i),naR(n$c,n1i,n1r),naR(n$c,n1i,n1s),naR(n$c,n1f,n1o),naR(n$c,n1f,n1l),naR(n$c,n1f,n1w),naR(n$c,n1f,n1u),naR(n$c,n1f,n1h),naR(n$c,n1f,n1f),naR(n$c,n1f,n1b),naR(n$c,n1f,n1s),naR(n$c,n1r,n1d),naR(n$c,n1r,n1l),naR(n$c,n1r,n1g),naR(n$c,n1r,n1i),naR(n$c,n1r,n1r),naR(n$c,n1r,n1b),naR(n$c,n1r,n1s),naR(n$c,n1r,n1h),naR(n$c,n1b,n1p),naR(n$c,n1b,n1a),naR(n$c,n1b,n1w),naR(n$c,n1b,n1g),naR(n$c,n1b,n1f),naR(n$c,n1b,n1r),naR(n$c,n1b,n1b),naR(n$c,n1b,n1h),naR(n$c,n1s,n1e),naR(n$c,n1s,n1a),naR(n$c,n1s,n1u),naR(n$c,n1s,n1i),naR(n$c,n1s,n1f),naR(n$c,n1s,n1r),naR(n$c,n1s,n1s),naR(n$c,n1s,n1h),naR(n$c,n1h,n1c),naR(n$c,n1h,n1p),naR(n$c,n1h,n1e),naR(n$c,n1h,n1o),naR(n$c,n1h,n1d),naR(n$c,n1h,n1l),naR(n$c,n1h,n1a),naR(n$c,n1h,n1f),naR(n$c,n1h,n1r),naR(n$c,n1h,n1b),naR(n$c,n1h,n1s),naR(n$c,n1h,n1h)}function nlj(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;for(n.d=new MH(nwF,nwF),n.c=new MH(nw_,nw_),l=t.Kc();l.Ob();)for(v=new fU(CY(l.Pb(),36).a);v.a<v.c.c.length;)m=CY(RU(v),10),n.d.a=nP_.Math.min(n.d.a,m.n.a-m.d.b),n.d.b=nP_.Math.min(n.d.b,m.n.b-m.d.d),n.c.a=nP_.Math.max(n.c.a,m.n.a+m.o.a+m.d.c),n.c.b=nP_.Math.max(n.c.b,m.n.b+m.o.b+m.d.a);for(o=new d6,f=t.Kc();f.Ob();)i=function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v;for((e=new nnk(t)).a||function(n){var t,e,i,r,a;switch(r=CY(I0(n.a,0),10),t=new nn_(n),jB(n.a,t),t.o.a=nP_.Math.max(1,r.o.a),t.o.b=nP_.Math.max(1,r.o.b),t.n.a=r.n.a,t.n.b=r.n.b,CY(niK(r,(nlF(),nK_)),64).g){case 4:t.n.a+=2;break;case 1:t.n.b+=2;break;case 2:t.n.a-=2;break;case 3:t.n.b-=2}Ro(i=new nro,t),Ra(e=new $1,a=CY(I0(r.j,0),12)),Ru(e,i),OT(Ta(i.n),a.n),OT(Ta(i.a),a.a)}(t),h=function(n){var t,e,i,r,a,c,o;for(o=new _w,c=new fU(n.a);c.a<c.c.c.length;)if((a=CY(RU(c),10)).k!=(ni8(),n$g)){for(!function(n,t,e){var i;i=null,t&&(i=t.d),neb(n,new kp(t.n.a-i.b+e.a,t.n.b-i.d+e.b)),neb(n,new kp(t.n.a-i.b+e.a,t.n.b+t.o.b+i.a+e.b)),neb(n,new kp(t.n.a+t.o.a+i.c+e.a,t.n.b-i.d+e.b)),neb(n,new kp(t.n.a+t.o.a+i.c+e.a,t.n.b+t.o.b+i.a+e.b))}(o,a,new mm),r=new Le(Sb(JV(a).a.Kc(),new s));ncv(r);)if((i=CY(_I(r),18)).c.i.k!=n$g&&i.d.i.k!=n$g)for(e=ZQ(i.a,0);e.b!=e.d.c;)neb(o,new kp((t=CY(K0(e),8)).a,t.b))}return o}(t),u=new Ds,g=new no0,d=new fU(t.a);d.a<d.c.c.length;)for(r=new Le(Sb(JV(CY(RU(d),10)).a.Kc(),new s));ncv(r);)((i=CY(_I(r),18)).c.i.k==(ni8(),n$g)||i.d.i.k==n$g)&&naR(u,ZV((f=function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b;for(a=new naz(t),f=function(n,t,e){var i,r,a,c,o,u,s,h,f;for(i=e.c,r=e.d,o=RO(t.c),u=RO(t.d),i==t.c?(o=nc4(n,o,r),u=niA(t.d)):(o=niA(t.c),u=nc4(n,u,r)),F_(s=new mh(t.a),o,s.a,s.a.a),F_(s,u,s.c.b,s.c),c=t.c==i,f=new d5,a=0;a<s.b-1;++a)h=new Ea(CY(nnt(s,a),8),CY(nnt(s,a+1),8)),c&&0==a||!c&&a==s.b-2?f.b=h:jB(f.a,h);return f}(n,t,a),b=nP_.Math.max(pj(PI(niK(t,(nlL(),nHd)))),1),h=new fU(f.a);h.a<h.c.c.length;)s=CY(RU(h),42),u=Zx(CY(s.a,8),CY(s.b,8),b),IL(e,new MH(u.c,u.d)),IL(e,Pu(new MH(u.c,u.d),u.b,0)),IL(e,Pu(new MH(u.c,u.d),0,u.a)),IL(e,Pu(new MH(u.c,u.d),u.b,u.a));switch(l=a.d,o=Zx(CY(f.b.a,8),CY(f.b.b,8),b),l==(nf5(),n1y)||l==n1n?(i.c[l.g]=nP_.Math.min(i.c[l.g],o.d),i.b[l.g]=nP_.Math.max(i.b[l.g],o.d+o.a)):(i.c[l.g]=nP_.Math.min(i.c[l.g],o.c),i.b[l.g]=nP_.Math.max(i.b[l.g],o.c+o.b)),r=nw_,c=a.c.i.d,l.g){case 4:r=c.c;break;case 2:r=c.b;break;case 1:r=c.a;break;case 3:r=c.d}return i.a[l.g]=nP_.Math.max(i.a[l.g],r),a}(n,i,h,g)).d),f.a);for(c=new du,v=CY(niK(e.c,(nlF(),nKR)),21).Kc();v.Ob();){switch(m=CY(v.Pb(),64),w=g.c[m.g],b=g.b[m.g],o=g.a[m.g],a=null,p=null,m.g){case 4:a=new x4(n.d.a,w,h.b.a-n.d.a,b-w),p=new x4(n.d.a,w,o,b-w),IL(h,new MH(a.c+a.b,a.d)),IL(h,new MH(a.c+a.b,a.d+a.a));break;case 2:a=new x4(h.a.a,w,n.c.a-h.a.a,b-w),p=new x4(n.c.a-o,w,o,b-w),IL(h,new MH(a.c,a.d)),IL(h,new MH(a.c,a.d+a.a));break;case 1:a=new x4(w,n.d.b,b-w,h.b.b-n.d.b),p=new x4(w,n.d.b,b-w,o),IL(h,new MH(a.c,a.d+a.a)),IL(h,new MH(a.c+a.b,a.d+a.a));break;case 3:a=new x4(w,h.a.b,b-w,n.c.b-h.a.b),p=new x4(w,n.c.b-o,b-w,o),IL(h,new MH(a.c,a.d)),IL(h,new MH(a.c+a.b,a.d))}a&&((l=new gt).d=m,l.b=a,l.c=p,l.a=$H(CY(_G(u,ZV(m)),21)),dk(c.c,l))}return Vc(e.b,c),e.d=function(n){var t;return t=new U8(n),Kw(n.a,n$r,new pU(Vw(DY(nI8,1),nl7,382,0,[t]))),t.d&&jB(t.f,t.d),t.f}(function(n){var t,e,i,r,a,c,o;for(U6(),o=new d8,e=new fU(n);e.a<e.c.c.length;)t=CY(RU(e),148),(!o.b||t.c>=o.b.c)&&(o.b=t),(!o.c||t.c<=o.c.c)&&(o.d=o.c,o.c=t),(!o.e||t.d>=o.e.d)&&(o.e=t),(!o.f||t.d<=o.f.d)&&(o.f=t);return i=new nnn((Vp(),nx6)),Kw(n,n$i,new pU(Vw(DY(nI8,1),nl7,382,0,[i]))),c=new nnn(nx9),Kw(n,n$e,new pU(Vw(DY(nI8,1),nl7,382,0,[c]))),r=new nnn(nx5),Kw(n,n$t,new pU(Vw(DY(nI8,1),nl7,382,0,[r]))),a=new nnn(nx8),Kw(n,n$n,new pU(Vw(DY(nI8,1),nl7,382,0,[a]))),noi(i.c,nx6),noi(r.c,nx5),noi(a.c,nx8),noi(c.c,nx9),o.a.c.length=0,Vc(o.a,i.c),Vc(o.a,Yi(r.c)),Vc(o.a,a.c),Vc(o.a,Yi(c.c)),o}(h)),e}(n,CY(f.Pb(),36)),jB(o.a,i),i.a=!CY(niK(i.c,(nlF(),nKR)),21).dc()|i.a;for(WY(),(T=new to).f=new qU(e),T.b=function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(n.a=new NG((f=CY(nL$.e&&nL$.e(),9),l=CY(Hk(f.slice(),f),9),new O9(f,l,f.length))),i=new fU(t.a);i.a<i.c.c.length;){for(e=CY(RU(i),855),c=new ZP(Vw(DY(nI6,1),nl7,86,0,[])),jB(n.a.a,c),u=new fU(e.d);u.a<u.c.c.length;)nfA(s=new Sz(n,o=CY(RU(u),116)),CY(niK(e.c,(nlF(),nKR)),21)),LR(n.g,e)||(xM(n.g,e,new MH(o.c,o.d)),xM(n.f,e,s)),jB(n.a.b,s),R1(c,s);for(a=new fU(e.b);a.a<a.c.c.length;)s=new Sz(n,(r=CY(RU(a),602)).Df()),xM(n.b,r,new Ea(c,s)),nfA(s,CY(niK(e.c,(nlF(),nKR)),21)),r.Bf()&&(nfA(h=new ZS(n,r.Bf(),1),CY(niK(e.c,nKR),21)),R1(new ZP(Vw(DY(nI6,1),nl7,86,0,[])),h),naR(n.c,r.Af(),new Ea(c,h)))}return n.a}(T.f,o),n.b=T,!function(n){var t,e,i,r,a,c,o,u,s;for(t=new du,n.g=new du,n.d=new du,c=new zM(new fP(n.f.b).a);c.b;)jB(t,CY(CY((a=Xu(c)).md(),42).b,86)),T$(CY(a.ld(),602).Af())?jB(n.d,CY(a.md(),42)):jB(n.g,CY(a.md(),42));for(Yo(n,n.d),Yo(n,n.g),n.c=new naG(n.b),u=n.c,v8(),u.f=nx1,JT(n,n.d),JT(n,n.g),Vc(t,n.c.a.b),n.e=new MH(nwF,nwF),n.a=new MH(nw_,nw_),i=new fU(t);i.a<i.c.c.length;)e=CY(RU(i),86),n.e.a=nP_.Math.min(n.e.a,e.g.c),n.e.b=nP_.Math.min(n.e.b,e.g.d),n.a.a=nP_.Math.max(n.a.a,e.g.c+e.g.b),n.a.b=nP_.Math.max(n.a.b,e.g.d+e.g.a);n.c.e=new tu,o=0;do r=nfS(n),++o;while((o<2||r>nbQ)&&o<10)n.c.e=new ts,nfS(n),nfz(s=n.c,(Ju(),nY8)),s.d=!0,function(n){var t,e,i,r,a,c,o,u;for(a=new fU(n.a.b);a.a<a.c.c.length;)(r=CY(RU(a),86)).b.c=r.g.c,r.b.d=r.g.d;for(u=new MH(nwF,nwF),t=new MH(nw_,nw_),i=new fU(n.a.b);i.a<i.c.c.length;)e=CY(RU(i),86),u.a=nP_.Math.min(u.a,e.g.c),u.b=nP_.Math.min(u.b,e.g.d),t.a=nP_.Math.max(t.a,e.g.c+e.g.b),t.b=nP_.Math.max(t.b,e.g.d+e.g.a);for(o=Np(n.c).a.nc();o.Ob();)c=CY(o.Pb(),42),e=CY(c.b,86),u.a=nP_.Math.min(u.a,e.g.c),u.b=nP_.Math.min(u.b,e.g.d),t.a=nP_.Math.max(t.a,e.g.c+e.g.b),t.b=nP_.Math.max(t.b,e.g.d+e.g.a);n.d=Ph(new MH(u.a,u.b)),n.e=Oj(new MH(t.a,t.b),u),n.a.a.c.length=0,n.a.b.c.length=0}(n.f)}((w=n.b,new gz,w)),n.e=new mm,n.a=n.b.f.e,c=new fU(o.a);c.a<c.c.c.length;)for(r=CY(RU(c),855),y=function(n,t){var e,i;return OT(Ph((e=n.f,i=t,Oj(jv(CY(NR(e.g,i),8)),jy(CY(NR(e.f,i),470).b)))),n.f.d)}(n.b,r),!function(n,t,e){var i,r,a,c,o,u,s,h;for(a=new MH(t,e),s=new fU(n.a);s.a<s.c.c.length;)for(OT((u=CY(RU(s),10)).n,a),h=new fU(u.j);h.a<h.c.c.length;)for(r=new fU(CY(RU(h),12).g);r.a<r.c.c.length;)for(zc((i=CY(RU(r),18)).a,a),(c=CY(niK(i,(nlL(),nHP)),75))&&zc(c,a),o=new fU(i.b);o.a<o.c.c.length;)OT(CY(RU(o),72).n,a)}(r.c,y.a,y.b),g=new fU(r.c.a);g.a<g.c.c.length;)(d=CY(RU(g),10)).k==(ni8(),n$g)&&(p=nc4(n,d.n,CY(niK(d,(nlF(),nK_)),64)),OT(Ta(d.n),p));for(a=new fU(o.a);a.a<a.c.c.length;)for(h=new fU(function(n){var t,e,i;for(t=new du,i=new fU(n.b);i.a<i.c.c.length;)e=CY(RU(i),602),Vc(t,CY(e.Cf(),16));return t}(r=CY(RU(a),855)));h.a<h.c.c.length;)for(S2(E=new mh((u=CY(RU(h),18)).a),0,RO(u.c)),IA(E,RO(u.d)),b=null,M=ZQ(E,0);M.b!=M.d.c;){if(k=CY(K0(M),8),!b){b=k;continue}GM(b.a,k.a)?(n.e.a=nP_.Math.min(n.e.a,b.a),n.a.a=nP_.Math.max(n.a.a,b.a)):GM(b.b,k.b)&&(n.e.b=nP_.Math.min(n.e.b,b.b),n.a.b=nP_.Math.max(n.a.b,b.b)),b=k}Ph(n.e),OT(n.a,n.e)}function nlS(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nk5,e=t).d="ELK Rectangle Packing",i=e).b="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.",(r=i).e=new cN,r))),KS(n,nk5,ngx,1.3),KS(n,nk5,npe,(SB(),!1)),KS(n,nk5,ng$,nWy),KS(n,nk5,ng4,15),KS(n,nk5,nyd,Z4(nWr)),KS(n,nk5,npr,Z4(nWf)),KS(n,nk5,npE,Z4(nWb)),KS(n,nk5,npi,Z4(nWw)),KS(n,nk5,npa,Z4(nWh)),KS(n,nk5,npt,Z4(nWd)),KS(n,nk5,npc,Z4(nWk)),KS(n,nk5,nkJ,Z4(nWS)),KS(n,nk5,nkY,Z4(nWj)),KS(n,nk5,nkQ,Z4(nWO)),KS(n,nk5,nkW,Z4(nWP)),KS(n,nk5,nkZ,Z4(nWm)),KS(n,nk5,nk1,Z4(nWp)),KS(n,nk5,nk0,Z4(nWg)),KS(n,nk5,nk2,Z4(nWT)),KS(n,nk5,ng9,Z4(nWo)),KS(n,nk5,nyP,Z4(nWu)),KS(n,nk5,nkz,Z4(nWc)),KS(n,nk5,nkX,Z4(nWa)),KS(n,nk5,nkV,Z4(nWs)),KS(n,nk5,nkq,Z4(nWE))}function nlP(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P;if(nhF(),E=n.e,b=n.d,r=n.a,0==E)switch(t){case 0:return"0";case 1:return nwQ;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 k=new p2,t<0?k.a+="0E+":k.a+="0E",k.a+=-t,k.a}if(v=BJ(n4u,nb5,28,(m=10*b+1+7)+1,15,1),e=m,1==b)if((c=r[0])<0){P=RF(c,nwW);do w=P,P=neC(P,10),v[--e]=48+AW(JB(w,J_(P,10)))&nb9;while(0!=Qv(P,0))}else{P=c;do w=P,P=P/10|0,v[--e]=48+(w-10*P)&nb9;while(0!=P)}else{ns8(r,0,j=BJ(n4s,nwl,28,b,15,1),0,S=b);r:for(;;){for(M=0,u=S-1;u>=0;u--)g=function(n){var t,e,i;return Qv(n,0)>=0?(e=neC(n,nwN),i=YX(n,nwN)):(e=neC(t=A7(n,1),5e8),i=JF(A8(i=YX(t,5e8),1),RF(n,1))),R_(A8(i,32),RF(e,nwW))}(JF(A8(M,32),RF(j[u],nwW))),j[u]=AW(g),M=AW(A9(g,32));p=AW(M),d=e;do v[--e]=48+p%10&nb9;while(0!=(p=p/10|0)&&0!=e)for(o=0,i=9-d+e;o<i&&e>0;o++)v[--e]=48;for(h=S-1;0==j[h];h--)if(0==h)break r;S=h+1}for(;48==v[e];)++e}if(l=E<0,a=m-e-t-1,0==t)return l&&(v[--e]=45),Za(v,e,m-e);if(t>0&&a>=-6){if(a>=0){for(s=e+a,f=m-1;f>=s;f--)v[f+1]=v[f];return v[++s]=46,l&&(v[--e]=45),Za(v,e,m-e+1)}for(h=2;h<-a+1;h++)v[--e]=48;return v[--e]=46,v[--e]=48,l&&(v[--e]=45),Za(v,e,m-e)}return T=e+1,y=new p3,l&&(y.a+="-"),m-T>=1?(NJ(y,v[e]),y.a+=".",y.a+=Za(v,e+1,m-e-1)):y.a+=Za(v,e,m-e),y.a+="E",a>0&&(y.a+="+"),y.a+=""+a,y.a}function nlO(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;switch(n.c=t,n.g=new dc,yv(),Yc(new ld(new py(n.c))),p=PA(ncx(n.c,(niB(),nQi))),c=CY(ncx(n.c,nQa),324),v=CY(ncx(n.c,nQc),437),r=CY(ncx(n.c,nW9),490),m=CY(ncx(n.c,nQr),438),n.j=pj(PI(ncx(n.c,nQo))),a=n.a,c.g){case 0:a=n.a;break;case 1:a=n.b;break;case 2:a=n.i;break;case 3:a=n.e;break;case 4:a=n.f;break;default:throw new pN(nMe+(null!=c.f?c.f:""+c.g)).e}if(n.d=new DM(a,v,r),VD(n.d,(zb(),nNg),PC(ncx(n.c,nQn))),n.d.c=pT(PC(ncx(n.c,nW7))),0==$L(n.c).i)return n.d;for(s=new j2($L(n.c));s.e!=s.i.gc();){for(f=(u=CY(Z6(s),27)).g/2,h=u.f/2,y=new MH(u.i+f,u.j+h);LR(n.g,y);)Pu(y,(nP_.Math.random()-.5)*ngY,(nP_.Math.random()-.5)*ngY);b=CY(ncx(u,(nl_(),nJ1)),140),w=new D1(y,new x4(y.a-f-n.j/2-b.b,y.b-h-n.j/2-b.d,u.g+n.j+(b.b+b.c),u.f+n.j+(b.d+b.a))),jB(n.d.i,w),xM(n.g,y,new Ea(w,u))}switch(m.g){case 0:if(null==p)n.d.d=CY(I0(n.d.i,0),68);else for(g=new fU(n.d.i);g.a<g.c.c.length;)w=CY(RU(g),68),null!=(l=CY(CY(NR(n.g,w.a),42).b,27).jh())&&OB(l,p)&&(n.d.d=w);break;case 1:for(e=new MH(n.c.g,n.c.f),e.a*=.5,e.b*=.5,Pu(e,n.c.i,n.c.j),i=nwF,d=new fU(n.d.i);d.a<d.c.c.length;)(o=Hr((w=CY(RU(d),68)).a,e))<i&&(i=o,n.d.d=w);break;default:throw new pN(nMe+(null!=m.f?m.f:""+m.g)).e}return n.d}function nlC(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;for(k=CY(GO((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),0),166),h=new gj,y=new dc,M=ns_(k),nr3(y.f,k,M),l=new dc,i=new vq,w=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(t.d||(t.d=new Ox(nL6,t,8,5)),t.d),(t.e||(t.e=new Ox(nL6,t,7,4)),t.e)])));ncv(w);){if(b=CY(_I(w),74),1!=(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i)throw new pN(nEo+(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i).e;b!=n&&(F_(i,g=CY(GO((b.a||(b.a=new Lk(nL5,b,6,6)),b.a),0),166),i.c.b,i.c),(d=CY(ED(Aj(y.f,g)),13))||(d=ns_(g),nr3(y.f,g,d)),f=e?Oj(new TP(CY(I0(M,M.c.length-1),8)),CY(I0(d,d.c.length-1),8)):Oj(new TP((RN(0,M.c.length),CY(M.c[0],8))),(RN(0,d.c.length),CY(d.c[0],8))),nr3(l.f,g,f))}if(0!=i.b)for(s=1,p=CY(I0(M,e?M.c.length-1:0),8);s<M.c.length;s++){for(m=CY(I0(M,e?M.c.length-1-s:s),8),r=ZQ(i,0);r.b!=r.d.c;)g=CY(K0(r),166),(d=CY(ED(Aj(y.f,g)),13)).c.length<=s?Gh(r):(v=OT(new TP(CY(I0(d,e?d.c.length-1-s:s),8)),CY(ED(Aj(l.f,g)),8)),(m.a!=v.a||m.b!=v.b)&&(a=m.a-p.a,o=m.b-p.b,(c=v.a-p.a)*o==(u=v.b-p.b)*a&&(0==a||isNaN(a)?a:a<0?-1:1)==(0==c||isNaN(c)?c:c<0?-1:1)&&(0==o||isNaN(o)?o:o<0?-1:1)==(0==u||isNaN(u)?u:u<0?-1:1)?(nP_.Math.abs(a)<nP_.Math.abs(c)||nP_.Math.abs(o)<nP_.Math.abs(u))&&F_(h,m,h.c.b,h.c):s>1&&F_(h,p,h.c.b,h.c),Gh(r)));p=m}return h}function nlI(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;for(i=new du,o=new du,g=t/2,b=n.gc(),r=CY(n.Xb(0),8),p=CY(n.Xb(1),8),jB(i,(RN(0,(w=ncL(r.a,r.b,p.a,p.b,g)).c.length),CY(w.c[0],8))),jB(o,(RN(1,w.c.length),CY(w.c[1],8))),s=2;s<b;s++)d=r,r=p,p=CY(n.Xb(s),8),jB(i,(RN(1,(w=ncL(r.a,r.b,d.a,d.b,g)).c.length),CY(w.c[1],8))),jB(o,(RN(0,w.c.length),CY(w.c[0],8))),jB(i,(RN(0,(w=ncL(r.a,r.b,p.a,p.b,g)).c.length),CY(w.c[0],8))),jB(o,(RN(1,w.c.length),CY(w.c[1],8)));for(jB(i,(RN(1,(w=ncL(p.a,p.b,r.a,r.b,g)).c.length),CY(w.c[1],8))),jB(o,(RN(0,w.c.length),CY(w.c[0],8))),e=new gj,c=new du,IA(e,(RN(0,i.c.length),CY(i.c[0],8))),h=1;h<i.c.length-2;h+=2)RN(h,i.c.length),a=CY(i.c[h],8),isFinite((l=nrX((RN(h-1,i.c.length),CY(i.c[h-1],8)),a,(RN(h+1,i.c.length),CY(i.c[h+1],8)),(RN(h+2,i.c.length),CY(i.c[h+2],8)))).a)&&isFinite(l.b)?F_(e,l,e.c.b,e.c):F_(e,a,e.c.b,e.c);for(IA(e,CY(I0(i,i.c.length-1),8)),jB(c,(RN(0,o.c.length),CY(o.c[0],8))),f=1;f<o.c.length-2;f+=2)RN(f,o.c.length),a=CY(o.c[f],8),isFinite((l=nrX((RN(f-1,o.c.length),CY(o.c[f-1],8)),a,(RN(f+1,o.c.length),CY(o.c[f+1],8)),(RN(f+2,o.c.length),CY(o.c[f+2],8)))).a)&&isFinite(l.b)?dk(c.c,l):dk(c.c,a);for(jB(c,CY(I0(o,o.c.length-1),8)),u=c.c.length-1;u>=0;u--)IA(e,(RN(u,c.c.length),CY(c.c[u],8)));return e}function nlA(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(m=pj(PI(ncx(t,(nuI(),nVz)))),l=pj(PI(ncx(t,nVq))),f=pj(PI(ncx(t,nVH))),Xv((t.a||(t.a=new Lk(nNe,t,10,11)),t.a)),g=nh4((t.a||(t.a=new Lk(nNe,t,10,11)),t.a),m,n.b),d=0;d<g.c.length;d++)if(RN(d,g.c.length),u=CY(g.c[d],186),0!=d&&(RN(d-1,g.c.length),W7(u,(b=CY(g.c[d-1],186)).f+b.b+n.b)),w=function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p;for(d=!1,u=!1,l=n+1,RN(n,t.c.length),o=(w=CY(t.c[n],186)).a,s=null,c=0;c<w.a.c.length;c++)if(RN(c,o.c.length),!(a=CY(o.c[c],172)).c){if(0==a.b.c.length){vX(),net(w,a),--c,d=!0;continue}if(a.k||(s&&ntw(s),nnL(a,(s=new DE(!s?0:s.e+s.d+i,w.f,i)).e+s.d,w.f),jB(w.d,s),zr(s,a),a.k=!0),h=null,p=null,c<w.a.c.length-1?p=CY(I0(w.a,c+1),172):l<t.c.length&&0!=(RN(l,t.c.length),CY(t.c[l],186)).a.c.length&&(p=CY(I0((RN(l,t.c.length),CY(t.c[l],186)).a,0),172)),g=!1,(h=p)&&(g=!QY(h.j,w)),h){if(0==h.b.c.length||pT(PC(CY(I0(h.b,0),27).of((nuu(),nWs))))){net(w,h);break}if(Hl(a,e-a.s),ntw(a.q),d|=function(n,t,e,i,r){var a,c;for(c=!1,a=CY(I0(e.b,0),27);function(n,t,e,i,r){var a,c;if(e.f>=t.o&&e.f<=t.f||.5*t.a<=e.f&&1.5*t.a>=e.f){if((a=CY(I0(t.n,t.n.c.length-1),209)).e+a.d+e.g+r<=i&&(CY(I0(t.n,t.n.c.length-1),209).f-n.f+e.f<=n.b||1==n.a.c.length))return J1(t,e),!0;if(t.s+e.g<=i&&(t.t+t.d+e.f+r<=n.b||1==n.a.c.length))return jB(t.b,e),c=CY(I0(t.n,t.n.c.length-1),209),jB(t.n,new DT(t.s,c.f+c.a+t.i,t.i)),nn3(CY(I0(t.n,t.n.c.length-1),209),e),nhe(t,e),!0}return!1}(n,t,a,i,r)&&(c=!0,!function(n,t){var e,i;for(H0(n.b,t),i=new fU(n.n);i.a<i.c.c.length;)if(-1!=H6((e=CY(RU(i),209)).c,t,0)){H0(e.c,t),function(n){var t,e,i,r;for(r=0,t=0,i=new fU(n.c);i.a<i.c.c.length;)GZ(e=CY(RU(i),27),n.e+r),G1(e,n.f),r+=e.g+n.b,t=nP_.Math.max(t,e.f+n.b);n.d=r-n.b,n.a=t-n.b}(e),0==e.c.c.length&&H0(n.n,e);break}nhU(n)}(e,a),0!=e.b.c.length);)a=CY(I0(e.b,0),27);return 0==e.b.c.length&&net(e.j,e),c&&ntw(t.q),c}(w,a,h,e,i),0==h.b.c.length)for(t.c.length>l&&net((RN(l,t.c.length),CY(t.c[l],186)),h),h=null;t.c.length>l&&0==(RN(l,t.c.length),CY(t.c[l],186)).a.c.length;)H0(t,(RN(l,t.c.length),t.c[l]));if(!h){--c;continue}if(!pT(PC(CY(I0(h.b,0),27).of((nuu(),nWs))))&&function(n,t,e,i,r,a,c,o){var u,s,h;return h=!1,s=a-e.s,u=e.t-t.f+nhL(e,s,!1).a,!(i.g+o>s)&&(u+o+nhL(i,s,!1).a<=t.b&&(Hl(e,a-e.s),e.c=!0,Hl(i,a-e.s),nnL(i,e.s,e.t+e.d+o),i.k=!0,zr(e.q,i),h=!0,r&&(qS(t,i),i.j=t,n.c.length>c&&(net((RN(c,n.c.length),CY(n.c[c],186)),i),0==(RN(c,n.c.length),CY(n.c[c],186)).a.c.length&&_V(n,c)))),h)}(t,w,a,h,g,e,l,i)){d=!0;continue}if(g){if(b=w.b,f=h.f,!pT(PC(CY(I0(h.b,0),27).of(nWs)))&&function(n,t,e,i,r,a,c,o){var u,s,h,f,l,b,w,d;if(b=!1,u=nop(e.q,t.f+t.b-e.q.f),l=i.f>t.b&&o,h=nhL(i,d=r-(e.q.e+u-c),!1).a,l&&h>i.f)return!1;if(l){for(f=0,w=new fU(t.d);w.a<w.c.c.length;)f+=nop(CY(RU(w),315),i.f)+c;d=r-f}return!(d<i.g)&&(s=a==n.c.length-1&&d>=(RN(a,n.c.length),CY(n.c[a],186)).e,(!!l||!(h>t.b)||!!s)&&((s||l||h<=t.b)&&(s&&h>t.b?(e.d=h,Hl(e,nrf(e,h))):(neX(e.q,u),e.c=!0),Hl(i,r-(e.s+e.r)),nnL(i,e.q.e+e.q.d,t.f),qS(t,i),n.c.length>a&&(net((RN(a,n.c.length),CY(n.c[a],186)),i),0==(RN(a,n.c.length),CY(n.c[a],186)).a.c.length&&_V(n,a)),b=!0),b))}(t,w,a,h,e,l,i,r)){if(d=!0,b<f){u=!0,h.j=w;break}continue}if(Qh(w,a)){a.c=!0,d=!0;continue}}else if(Qh(w,a)){a.c=!0,d=!0;continue}if(d)continue}if(Qh(w,a)){a.c=!0,d=!0,h&&(h.k=!1);continue}ntw(a.q)}return new Ea((SB(),!!d),!!u)}(d,g,m,n.b,pT(PC(ncx(t,(nuu(),nWp))))),pT(PC(w.b))){for(a=new fU(u.a);a.a<a.c.c.length;)(r=CY(RU(a),172)).c=!1,r.k=!1,nhU(r);u.d=new du,u.e=m,--d}else if(!function(n,t){var e,i,r,a,c;for(i=0,r=0,e=0,c=new fU(t.d);c.a<c.c.c.length;)ntw(a=CY(RU(c),315)),i=nP_.Math.max(i,a.b),r+=a.d+(e>0?n.b:0),++e;t.b=i,t.e=r}(n,u),d+1<g.c.length&&(n.e=nP_.Math.max(u.e+n.b+CY(I0((RN(d+1,g.c.length),CY(g.c[d+1],186)).a,0),172).r-m,n.c),n.f=nP_.Math.min(u.e+n.b+CY(I0((RN(d+1,g.c.length),CY(g.c[d+1],186)).a,0),172).r-m,n.d),0!=u.d.c.length&&(n.c=nP_.Math.max(n.c,CY(I0(u.d,u.d.c.length-1),315).d+(u.d.c.length<=1?0:n.b)),n.d=nP_.Math.min(n.c,CY(I0(u.d,u.d.c.length-1),315).d+(u.d.c.length<=1?0:n.b)))),1==g.c.length)for(h=CY(I0(u.d,u.d.c.length-1),315),o=new fU((s=CY(I0(h.a,h.a.c.length-1),172)).n);o.a<o.c.c.length;)c=CY(RU(o),209),n.c=nP_.Math.max(n.c,s.r-c.d),n.d=nP_.Math.min(n.d,s.r-c.d),n.e=nP_.Math.max(n.e,c.d+n.b),n.f=nP_.Math.min(n.f,c.d+n.b);return p=nt2(g,n.b),v=nP_.Math.max(p.a,l-(e.b+e.c)),i=nP_.Math.max(p.b,f-(e.d+e.a))-p.b,nnh(t,nVR,i),nnh(t,nVX,g),new IR(n.a,v,p.b+i,(nol(),nWU))}function nlL(){nlL=T,nl_(),nUg=nYx,nUp=nY$,nUm=nYD,nUv=nYR,nUk=nYK,nUM=nYF,nUj=nYB,nUP=nYU,nUO=nYG,nUS=nYH,nUC=nYq,nUA=nYX,nUN=nYW,nUT=nY_,nlH(),nUd=nBt,nUy=nBe,nUE=nBi,nUI=nBr,nUs=new TZ(nYC,Qx(0)),nUh=n_9,nUf=n_7,nUl=nBn,nUW=nBO,nUB=nBo,nUH=nBh,nUq=nBm,nUU=nBb,nUG=nBd,nUJ=nBN,nUQ=nBI,nUz=nBT,nUX=nBM,nUV=nBS,nHX=n_Z,nHz=n_1,nHb=n_h,nHw=n_b,nUR=nYY,nUF=nY2,nUD=nYJ,nU$=nYQ,QP(),new TZ(nYZ,nUK=n1H),nH0=new TW(12),nH1=new TZ(nYa,nH0),JG(),nHu=new TZ(nJ_,nHs=nZc),nUn=new TZ(nYm,0),nUb=new TZ(nYI,Qx(1)),nBF=new TZ(nJj,ng0),nHZ=nYi,nUt=nYv,nUc=nYS,nHn=nJx,nBR=nJE,nHm=nJq,nUw=new TZ(nYN,(SB(),!0)),nHE=nJV,nHT=nJW,nHW=nJ5,nHY=nYt,nHQ=nJ9,Ju(),nHt=new TZ(nJ$,nHi=nY7),nHB=nJ4,nH_=nJ2,nUr=nYE,nUi=nYM,nUa=nYj,Z0(),new TZ(nYf,nH4=nZV),nH5=nYw,nH8=nYd,nH9=nYg,nH6=nYb,nU_=nBc,nHD=n_K,nH$=n_D,nUx=nBa,nHI=n_O,nB7=nF5,nB9=nF4,nBY=nFB,nBZ=nFH,nB0=nFz,nB1=nFU,nB8=nF2,nHK=n__,nHF=n_B,nHS=n_k,nHV=n_4,nHU=n_q,nHg=n_g,nHq=n_J,nHf=n_c,nHl=n_u,nBJ=nJL,nHH=n_H,nBU=nFC,nBH=nFP,nBB=nFS,nHy=n_v,nHv=n_m,nHk=n_y,nHJ=nJ7,nHP=nJY,nHd=nJH,nHc=nJK,nHa=nJR,nB2=nFQ,nUe=nYk,nB_=nJA,nHM=nJz,nH7=nYp,nH2=nYo,nH3=nYs,nHL=n_A,nHN=n_N,nUu=nYO,nBK=nFj,nHx=n_$,nHo=n_e,nHr=n_n,nHR=nJ1,nHO=n_j,nHG=n_V,nUL=nYz,nHe=nF9,nUo=n_5,nHh=n_r,nB3=nFY,nB4=nFZ,nHC=n_P,nB6=nF1,nHj=nJJ,nHA=n_I,nB5=nF0,nBQ=nFF,nBz=nF$,nBq=nFN,nBX=nFx,nBV=nFR,nBG=nFA,nBW=nFK,nHp=n_p}function nlN(n){var t,e,i;if(n.d>=n.j){n.a=-1,n.c=1;return}if(t=xq(n.i,n.d++),n.a=t,1==n.b){switch(t){case 92:if(i=10,n.d>=n.j)throw new pH(nlV((T9(),nTj))).e;n.a=xq(n.i,n.d++);break;case 45:(512&n.e)==512&&n.d<n.j&&91==xq(n.i,n.d)?(++n.d,i=24):i=0;break;case 91:if((512&n.e)!=512&&n.d<n.j&&58==xq(n.i,n.d)){++n.d,i=20;break}default:(64512&t)==nwq&&n.d<n.j&&(64512&(e=xq(n.i,n.d)))==56320&&(n.a=nwG+(t-nwq<<10)+e-56320,++n.d),i=0}n.c=i;return}switch(t){case 124:i=2;break;case 42:i=3;break;case 43:i=4;break;case 63:i=5;break;case 41:i=7;break;case 46:i=8;break;case 91:i=9;break;case 94:i=11;break;case 36:i=12;break;case 40:if(i=6,n.d>=n.j||63!=xq(n.i,n.d))break;if(++n.d>=n.j)throw new pH(nlV((T9(),nTS))).e;switch(t=xq(n.i,n.d++)){case 58:i=13;break;case 61:i=14;break;case 33:i=15;break;case 91:i=19;break;case 62:i=18;break;case 60:if(n.d>=n.j)throw new pH(nlV((T9(),nTS))).e;if(61==(t=xq(n.i,n.d++)))i=16;else if(33==t)i=17;else throw new pH(nlV((T9(),nTP))).e;break;case 35:for(;n.d<n.j&&41!=(t=xq(n.i,n.d++)););if(41!=t)throw new pH(nlV((T9(),nTO))).e;i=21;break;default:if(45==t||97<=t&&t<=122||65<=t&&t<=90){--n.d,i=22;break}if(40==t){i=23;break}throw new pH(nlV((T9(),nTS))).e}break;case 92:if(i=10,n.d>=n.j)throw new pH(nlV((T9(),nTj))).e;n.a=xq(n.i,n.d++);break;default:i=0}n.c=i}function nlx(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k;k=!1;do for(k=!1,a=t?new fS(n.a.b).a.gc()-2:1;t?a>=0:a<new fS(n.a.b).a.gc();a+=t?-1:1)for(w=0,r=K9(n.a,Qx(a));w<r.b;w++)if(!(!Pn(l=CY(nnt(r,w),10),(nlF(),nK4))||function(n,t){var e,i,r,a;for(r=new fL(new fS(n.b).a.vc().Kc());r.a.Ob();)if(e=CY(r.a.Pb(),44),i=CY(e.ld(),34),0>(a=CY(i,17),jo(t.a,a.a)))return!1;return!0}(n.a,Qx(a))&&n.r==(nu7(),nGp)||function(n,t){var e,i,r,a;for(r=new fL(new fS(n.b).a.vc().Kc());r.a.Ob();)if(e=CY(r.a.Pb(),44),i=CY(e.ld(),34),a=CY(i,17),jo(t.a,a.a)>0)return!1;return!0}(n.a,Qx(a))&&n.r==(nu7(),nGm))){for(m=0,y=!0;m<r.b;m++)Pn(p=CY(nnt(r,m),10),nK4)&&(t&&CY(niK(l,nK4),17).a<CY(niK(p,nK4),17).a||!t&&CY(niK(l,nK4),17).a>CY(niK(p,nK4),17).a)&&(y=!1);if(y){for(u=t?a+1:a-1,o=K9(n.a,Qx(u)),c=!1,v=!0,i=!1,f=ZQ(o,0);f.b!=f.d.c;)Pn(h=CY(K0(f),10),nK4)?h.p!=l.p&&(c|=t?CY(niK(h,nK4),17).a<CY(niK(l,nK4),17).a:CY(niK(h,nK4),17).a>CY(niK(l,nK4),17).a,v=!1):!c&&v&&h.k==(ni8(),n$p)&&(i=!0,(b=t?CY(_I(new Le(Sb(Jz(h).a.Kc(),new s))),18).c.i:CY(_I(new Le(Sb(JV(h).a.Kc(),new s))),18).d.i)==l&&(e=t?CY(_I(new Le(Sb(JV(h).a.Kc(),new s))),18).d.i:CY(_I(new Le(Sb(Jz(h).a.Kc(),new s))),18).c.i,(t?CY(Pi(n.a,e),17).a-CY(Pi(n.a,b),17).a:CY(Pi(n.a,b),17).a-CY(Pi(n.a,e),17).a)<=2&&(v=!1)));if(i&&v&&(e=t?CY(_I(new Le(Sb(JV(l).a.Kc(),new s))),18).d.i:CY(_I(new Le(Sb(Jz(l).a.Kc(),new s))),18).c.i,(t?CY(Pi(n.a,e),17).a-CY(Pi(n.a,l),17).a:CY(Pi(n.a,l),17).a-CY(Pi(n.a,e),17).a)<=2&&e.k==(ni8(),n$v)&&(v=!1)),c||v){for(g=noa(n,l,t);0!=g.a.gc();)d=CY(g.a.ec().Kc().Pb(),10),g.a.Bc(d),Xx(g,noa(n,d,t));--w,k=!0}}}while(k)}function nl$(){nl$=T,nlT(),naR(n$l=new Ds,(nf5(),n1o),n1c),naR(n$l,n1p,n1c),naR(n$l,n1u,n1c),naR(n$l,n1w,n1c),naR(n$l,n1b,n1c),naR(n$l,n1f,n1c),naR(n$l,n1w,n1o),naR(n$l,n1c,n1e),naR(n$l,n1o,n1e),naR(n$l,n1p,n1e),naR(n$l,n1u,n1e),naR(n$l,n1l,n1e),naR(n$l,n1w,n1e),naR(n$l,n1b,n1e),naR(n$l,n1f,n1e),naR(n$l,n1a,n1e),naR(n$l,n1c,n1d),naR(n$l,n1o,n1d),naR(n$l,n1e,n1d),naR(n$l,n1p,n1d),naR(n$l,n1u,n1d),naR(n$l,n1l,n1d),naR(n$l,n1w,n1d),naR(n$l,n1a,n1d),naR(n$l,n1g,n1d),naR(n$l,n1b,n1d),naR(n$l,n1s,n1d),naR(n$l,n1f,n1d),naR(n$l,n1o,n1p),naR(n$l,n1u,n1p),naR(n$l,n1w,n1p),naR(n$l,n1f,n1p),naR(n$l,n1o,n1u),naR(n$l,n1p,n1u),naR(n$l,n1w,n1u),naR(n$l,n1u,n1u),naR(n$l,n1b,n1u),naR(n$l,n1c,n1i),naR(n$l,n1o,n1i),naR(n$l,n1e,n1i),naR(n$l,n1d,n1i),naR(n$l,n1p,n1i),naR(n$l,n1u,n1i),naR(n$l,n1l,n1i),naR(n$l,n1w,n1i),naR(n$l,n1g,n1i),naR(n$l,n1a,n1i),naR(n$l,n1f,n1i),naR(n$l,n1b,n1i),naR(n$l,n1h,n1i),naR(n$l,n1c,n1g),naR(n$l,n1o,n1g),naR(n$l,n1e,n1g),naR(n$l,n1p,n1g),naR(n$l,n1u,n1g),naR(n$l,n1l,n1g),naR(n$l,n1w,n1g),naR(n$l,n1a,n1g),naR(n$l,n1f,n1g),naR(n$l,n1s,n1g),naR(n$l,n1h,n1g),naR(n$l,n1o,n1a),naR(n$l,n1p,n1a),naR(n$l,n1u,n1a),naR(n$l,n1w,n1a),naR(n$l,n1g,n1a),naR(n$l,n1f,n1a),naR(n$l,n1b,n1a),naR(n$l,n1c,n1r),naR(n$l,n1o,n1r),naR(n$l,n1e,n1r),naR(n$l,n1p,n1r),naR(n$l,n1u,n1r),naR(n$l,n1l,n1r),naR(n$l,n1w,n1r),naR(n$l,n1a,n1r),naR(n$l,n1f,n1r),naR(n$l,n1o,n1b),naR(n$l,n1e,n1b),naR(n$l,n1d,n1b),naR(n$l,n1u,n1b),naR(n$l,n1c,n1s),naR(n$l,n1o,n1s),naR(n$l,n1d,n1s),naR(n$l,n1p,n1s),naR(n$l,n1u,n1s),naR(n$l,n1l,n1s),naR(n$l,n1w,n1s),naR(n$l,n1w,n1h),naR(n$l,n1u,n1h),naR(n$l,n1a,n1c),naR(n$l,n1a,n1p),naR(n$l,n1a,n1e),naR(n$l,n1l,n1c),naR(n$l,n1l,n1o),naR(n$l,n1l,n1d)}function nlD(n,t){switch(n.e){case 0:case 2:case 4:case 6:case 42:case 44:case 46:case 48:case 8:case 10:case 12:case 14:case 16:case 18:case 20:case 22:case 24:case 26:case 28:case 30:case 32:case 34:case 36:case 38:return new $R(n.b,n.a,t,n.c);case 1:return new jG(n.a,t,Ym(t.Dh(),n.c));case 43:return new jW(n.a,t,Ym(t.Dh(),n.c));case 3:return new jU(n.a,t,Ym(t.Dh(),n.c));case 45:return new jV(n.a,t,Ym(t.Dh(),n.c));case 41:return new Hs(CY(nec(n.c),29),n.a,t,Ym(t.Dh(),n.c));case 50:return new qq(CY(nec(n.c),29),n.a,t,Ym(t.Dh(),n.c));case 5:return new OP(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 47:return new OO(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 7:return new Lk(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 49:return new OS(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 9:return new jz(n.a,t,Ym(t.Dh(),n.c));case 11:return new jX(n.a,t,Ym(t.Dh(),n.c));case 13:return new jq(n.a,t,Ym(t.Dh(),n.c));case 15:return new If(n.a,t,Ym(t.Dh(),n.c));case 17:return new jY(n.a,t,Ym(t.Dh(),n.c));case 19:return new jJ(n.a,t,Ym(t.Dh(),n.c));case 21:return new jQ(n.a,t,Ym(t.Dh(),n.c));case 23:return new Ih(n.a,t,Ym(t.Dh(),n.c));case 25:return new O$(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 27:return new Ox(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 29:return new OL(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 31:return new OC(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 33:return new ON(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 35:return new OA(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 37:return new OI(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 39:return new LT(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 40:return new zE(t,Ym(t.Dh(),n.c));default:throw new ph("Unknown feature style: "+n.e).e}}function nlR(n){var t,e,i,r,a,c,o,u;for(a=0,r=n.a.b,u=ZQ(n.a,0);u.b!=u.d.c;){if(o=CY(K0(u),240),c=(a+1)/(r+1),!n.c&&!n.d)return;n.c&&!n.d?(n.g=!0,n.b==(Ju(),nY8)?(i=n.c.e.b+n.c.f.b+n.e*(a+1),t=new MH(pj(PI(niK(n.c,(nf3(),nXI))))+n.e,i),e=new MH(pj(PI(niK(n.c,nXA)))-n.e,i)):n.b==nY9?(i=n.c.e.b+n.c.f.b+n.e*(a+1),t=new MH(pj(PI(niK(n.c,(nf3(),nXA))))-n.e,i),e=new MH(pj(PI(niK(n.c,nXI)))+n.e,i)):n.b==nZn?(t=new MH(i=n.c.e.a+n.c.f.a+n.e*(a+1),pj(PI(niK(n.c,(nf3(),nXI))))+n.e),e=new MH(i,pj(PI(niK(n.c,nXA)))-n.e)):(t=new MH(i=n.c.e.a+n.c.f.a+n.e*(a+1),pj(PI(niK(n.c,(nf3(),nXA))))-n.e),e=new MH(i,pj(PI(niK(n.c,nXI)))+n.e))):n.c&&n.d?n.b==(Ju(),nY8)?(i=n.d.e.b*c+(n.c.e.b+n.c.f.b)*(1-c),t=new MH(pj(PI(niK(n.c,(nf3(),nXI))))+n.e,i),e=new MH(pj(PI(niK(n.c,nXA)))-n.e,i)):n.b==nY9?(i=n.d.e.b*c+(n.c.e.b+n.c.f.b)*(1-c),t=new MH(pj(PI(niK(n.c,(nf3(),nXA))))-n.e,i),e=new MH(pj(PI(niK(n.c,nXI)))+n.e,i)):n.b==nZn?(t=new MH(i=n.d.e.a*c+(n.c.e.a+n.c.f.a)*(1-c),pj(PI(niK(n.c,(nf3(),nXI))))+n.e),e=new MH(i,pj(PI(niK(n.c,nXA)))-n.e)):(t=new MH(i=n.d.e.a*c+(n.c.e.a+n.c.f.a)*(1-c),pj(PI(niK(n.c,(nf3(),nXA))))-n.e),e=new MH(i,pj(PI(niK(n.c,nXI)))+n.e)):(n.f=!0,n.b==(Ju(),nY8)?(i=n.d.e.b-n.e*(a+1),t=new MH(pj(PI(niK(n.d,(nf3(),nXI))))+n.e,i),e=new MH(pj(PI(niK(n.d,nXA)))-n.e,i)):n.b==nY9?(i=n.d.e.b-n.e*(a+1),t=new MH(pj(PI(niK(n.d,(nf3(),nXA))))-n.e,i),e=new MH(pj(PI(niK(n.d,nXI)))+n.e,i)):n.b==nZn?(t=new MH(i=n.d.e.a-n.e*(a+1),pj(PI(niK(n.d,(nf3(),nXI))))+n.e),e=new MH(i,pj(PI(niK(n.d,nXA)))-n.e)):(t=new MH(i=n.d.e.a-n.e*(a+1),pj(PI(niK(n.d,(nf3(),nXA))))-n.e),e=new MH(i,pj(PI(niK(n.d,nXI)))+n.e))),CY(o.a,8).a=t.a,CY(o.a,8).b=t.b,o.b.a=e.a,o.b.b=e.b,++a}}function nlK(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O;if(nuQ(t),u=CY(GO((t.b||(t.b=new Ox(nL4,t,4,7)),t.b),0),84),h=CY(GO((t.c||(t.c=new Ox(nL4,t,5,8)),t.c),0),84),o=niw(u),s=niw(h),c=0==(!t.a&&(t.a=new Lk(nL5,t,6,6)),t.a).i?null:CY(GO((t.a||(t.a=new Lk(nL5,t,6,6)),t.a),0),166),M=CY(NR(n.a,o),10),S=CY(NR(n.a,s),10),E=null,P=null,jM(u,193)&&(jM(k=CY(NR(n.a,u),305),12)?E=CY(k,12):jM(k,10)&&(M=CY(k,10),E=CY(I0(M.j,0),12))),jM(h,193)&&(jM(j=CY(NR(n.a,h),305),12)?P=CY(j,12):jM(j,10)&&(S=CY(j,10),P=CY(I0(S.j,0),12))),!M||!S)throw new pF("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.").e;for(zU(d=new $1,t),VD(d,(nlF(),nK6),t),VD(d,(nlL(),nHP),null),b=CY(niK(i,nKU),21),M==S&&b.Fc((no7(),nKl)),E||(qy(),y=nGD,T=null,c&&Tx(CY(niK(M,nUt),101))&&(Fp(T=new MH(c.j,c.k),DS(t)),_a(T,e),Gw(s,o)&&(y=nG$,OT(T,M.n))),E=nhX(M,T,y,i)),P||(qy(),y=nG$,O=null,c&&Tx(CY(niK(S,nUt),101))&&(Fp(O=new MH(c.b,c.c),DS(t)),_a(O,e)),P=nhX(S,O,y,xi(S))),Ra(d,E),Ru(d,P),(E.e.c.length>1||E.g.c.length>1||P.e.c.length>1||P.g.c.length>1)&&b.Fc((no7(),nKo)),l=new j2((!t.n&&(t.n=new Lk(nNt,t,1,7)),t.n));l.e!=l.i.gc();)if(!pT(PC(ncx(f=CY(Z6(l),135),nHZ)))&&f.a)switch(g=Qp(f),jB(d.b,g),CY(niK(g,nHc),278).g){case 1:case 2:b.Fc((no7(),nKa));break;case 0:b.Fc((no7(),nKi)),VD(g,nHc,(GN(),nZe))}if(a=CY(niK(i,nB9),322),p=CY(niK(i,nHV),323),r=a==(q$(),nRM)||p==(nna(),nGf),c&&0!=(!c.a&&(c.a=new jU(nL0,c,5)),c.a).i&&r){for(m=nrb(c),w=new gj,v=ZQ(m,0);v.b!=v.d.c;)IA(w,new TP(CY(K0(v),8)));VD(d,nK5,w)}return d}function nlF(){var n,t;nlF=T,nK6=new wX(npl),nKI=new wX("coordinateOrigin"),nFa=new wX("processors"),nKC=new P5("compoundNode",(SB(),!1)),nKX=new P5("insideConnections",!1),nK5=new wX("originalBendpoints"),nK8=new wX("originalDummyNodePosition"),nK9=new wX("originalLabelEdge"),nFo=new wX("representedLabels"),nK$=new wX("endLabels"),nKD=new wX("endLabel.origin"),nKJ=new P5("labelSide",(ntG(),nZL)),nK3=new P5("maxEdgeThickness",0),nFu=new P5("reversed",!1),nFc=new wX(npb),nK1=new P5("longEdgeSource",null),nK0=new P5("longEdgeTarget",null),nKZ=new P5("longEdgeHasLabelDummies",!1),nKY=new P5("longEdgeBeforeLabelDummy",!1),nKx=new P5("edgeConstraint",(VH(),nR_)),nKV=new wX("inLayerLayoutUnit"),nKz=new P5("inLayerConstraint",(UM(),nKv)),nKW=new P5("inLayerSuccessorConstraint",new du),nKQ=new P5("inLayerSuccessorConstraintBetweenNonDummies",!1),nFi=new wX("portDummy"),nKA=new P5("crossingHint",Qx(0)),nKU=new P5("graphProperties",new O9(t=CY(mP(nAO),9),CY(Oc(t,t.length),9),0)),nK_=new P5("externalPortSide",(nf5(),n1v)),nKB=new P5("externalPortSize",new mm),nKK=new wX("externalPortReplacedDummies"),nKF=new wX("externalPortReplacedDummy"),nKR=new P5("externalPortConnections",new O9(n=CY(mP(nLq),9),CY(Oc(n,n.length),9),0)),nFr=new P5(ngn,0),nKj=new wX("barycenterAssociates"),nFm=new wX("TopSideComments"),nKS=new wX("BottomSideComments"),nKO=new wX("CommentConnectionPort"),nKq=new P5("inputCollect",!1),nFt=new P5("outputCollect",!1),nKN=new P5("cyclic",!1),nKL=new wX("crossHierarchyMap"),nFp=new wX("targetOffset"),new P5("splineLabelSize",new mm),nFf=new wX("spacings"),nFe=new P5("partitionConstraint",!1),nKP=new wX("breakingPoint.info"),nFd=new wX("splines.survivingEdge"),nFw=new wX("splines.route.start"),nFl=new wX("splines.edgeChain"),nFn=new wX("originalPortConstraints"),nFh=new wX("selfLoopHolder"),nFb=new wX("splines.nsPortY"),nK4=new wX("modelOrder"),nK2=new wX("longEdgeTargetNode"),nKH=new P5(nmp,!1),nFs=new P5(nmp,!1),nKG=new wX("layerConstraints.hiddenNodes"),nK7=new wX("layerConstraints.opposidePort"),nFg=new wX("targetNode.modelOrder")}function nl_(){var n,t;nl_=T,nJM=new wX(nMK),nYA=new wX(nMF),nnS(),nJE=new To(nyi,nJT=nQ5),new da,nJj=new To(ngx,null),nJS=new wX(nM_),neW(),nJL=new To(nyd,nJN=AN(nJy,Vw(DY(nLx,1),nbG,298,0,[nJg]))),nJx=new To(nye,(SB(),!1)),Ju(),nJ$=new To(nyc,nJD=nY7),JG(),nJ_=new To(nvF,nJB=nZs),nJG=new To(nMD,!1),QO(),nJq=new To(nvx,nJX=nZS),nYa=new To(ng$,nYc=new TW(12)),nJQ=new To(ng9,!1),nJJ=new To(nyP,!1),nYr=new To(npt,!1),nie(),nYv=new To(ng7,nYy=nZ0),nYO=new wX(nyT),nYC=new wX(ng3),nYI=new wX(ng5),nYN=new wX(ng8),nJY=new To(nyg,nJZ=new gj),nJA=new To(nyv,!1),nJz=new To(nyy,!1),new wX(nMB),nJ1=new To(nyj,nJ0=new gd),nYi=new To(nyn,!1),new da,nYL=new To(nMH,1),nJI=new wX(nMU),nJC=new wX(nMG),nYY=new To(npo,!1),new To(nMq,!0),Qx(0),new To(nMX,Qx(100)),new To(nMz,!1),Qx(0),new To(nMV,Qx(4e3)),Qx(0),new To(nMW,Qx(400)),new To(nMQ,!1),new To(nMJ,!1),new To(nMY,!0),new To(nMZ,!1),Yw(),nJP=new To(nMR,nJO=n1Y),nYx=new To(nvY,10),nY$=new To(nvZ,10),nYD=new To(ngL,20),nYR=new To(nv1,10),nYK=new To(ng6,2),nYF=new To(nv0,10),nYB=new To(nv2,0),nYH=new To(nv6,5),nYU=new To(nv3,1),nYG=new To(nv4,1),nYq=new To(ng4,20),nYX=new To(nv5,10),nYW=new To(nv8,10),nY_=new wX(nv9),nYz=new To(nyS,nYV=new TM),nYs=new wX(nyE),nYo=new To(nyM,nYu=!1),nJ2=new To(nyo,nJ3=new TW(5)),nc$(),nJ4=new To(npa,nJ6=new O9(t=CY(mP(nLB),9),CY(Oc(t,t.length),9),0)),Z0(),nYf=new To(nyh,nYl=nZX),nYw=new wX(nyf),nYd=new wX(nyl),nYg=new wX(nyb),nYb=new wX(nyw),nJ5=new To(npr,nJ8=new O9(n=CY(mP(nLX),9),CY(Oc(n,n.length),9),0)),nYt=new To(npi,nYe=JP((nsv(),n1x))),nJ7=new To(npE,nYn=new MH(0,0)),nJ9=new To(npe,!1),GN(),nJK=new To(nyp,nJF=nZe),nJR=new To(npn,!1),new wX(nM1),Qx(1),new To(nM0,null),nYp=new wX(nyk),nYk=new wX(nym),nf5(),nYS=new To(nyt,nYP=n1v),nYm=new wX(nv7),nap(),nYE=new To(npc,nYT=JP(nZ8)),nYM=new To(nyu,!1),nYj=new To(nys,!0),new da,nY2=new To(npu,1),nY4=new To(nM2,null),nYJ=new To(nps,150),nYQ=new To(nph,1.414),nYZ=new To(npf,null),nY1=new To(nM3,1),nJV=new To(nyr,!1),nJW=new To(nya,!1),nJH=new To(ngN,1),nij(),new To(nM4,nJU=nZd),nYh=!0,QP(),nY3=n1H,nY6=n1H,nY0=n1H}function nlB(){nlB=T,n$G=new kc("DIRECTION_PREPROCESSOR",0),n$B=new kc("COMMENT_PREPROCESSOR",1),n$q=new kc("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),n$8=new kc("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),nDg=new kc("PARTITION_PREPROCESSOR",4),nDt=new kc("LABEL_DUMMY_INSERTER",5),nDM=new kc("SELF_LOOP_PREPROCESSOR",6),nDc=new kc("LAYER_CONSTRAINT_PREPROCESSOR",7),nDw=new kc("PARTITION_MIDPROCESSOR",8),n$2=new kc("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),nDh=new kc("NODE_PROMOTION",10),nDa=new kc("LAYER_CONSTRAINT_POSTPROCESSOR",11),nDd=new kc("PARTITION_POSTPROCESSOR",12),n$Y=new kc("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),nDT=new kc("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),n$$=new kc("BREAKING_POINT_INSERTER",15),nDs=new kc("LONG_EDGE_SPLITTER",16),nDm=new kc("PORT_SIDE_PROCESSOR",17),n$9=new kc("INVERTED_PORT_PROCESSOR",18),nDp=new kc("PORT_LIST_SORTER",19),nDS=new kc("SORT_BY_INPUT_ORDER_OF_MODEL",20),nDl=new kc("NORTH_SOUTH_PORT_PREPROCESSOR",21),n$D=new kc("BREAKING_POINT_PROCESSOR",22),nDb=new kc(np4,23),nDP=new kc(np6,24),nDy=new kc("SELF_LOOP_PORT_RESTORER",25),nDj=new kc("SINGLE_EDGE_GRAPH_WRAPPER",26),n$7=new kc("IN_LAYER_CONSTRAINT_PROCESSOR",27),n$W=new kc("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),nDn=new kc("LABEL_AND_NODE_SIZE_PROCESSOR",29),n$5=new kc("INNERMOST_NODE_MARGIN_CALCULATOR",30),nDE=new kc("SELF_LOOP_ROUTER",31),n$F=new kc("COMMENT_NODE_MARGIN_CALCULATOR",32),n$z=new kc("END_LABEL_PREPROCESSOR",33),nDi=new kc("LABEL_DUMMY_SWITCHER",34),n$K=new kc("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),nDr=new kc("LABEL_SIDE_SELECTOR",36),n$4=new kc("HYPEREDGE_DUMMY_MERGER",37),n$Z=new kc("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),nDo=new kc("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),n$0=new kc("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),n$H=new kc("CONSTRAINTS_POSTPROCESSOR",41),n$_=new kc("COMMENT_POSTPROCESSOR",42),n$6=new kc("HYPERNODE_PROCESSOR",43),n$1=new kc("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),nDu=new kc("LONG_EDGE_JOINER",45),nDk=new kc("SELF_LOOP_POSTPROCESSOR",46),n$R=new kc("BREAKING_POINT_REMOVER",47),nDf=new kc("NORTH_SOUTH_PORT_POSTPROCESSOR",48),n$3=new kc("HORIZONTAL_COMPACTOR",49),nDe=new kc("LABEL_DUMMY_REMOVER",50),n$Q=new kc("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),n$V=new kc("END_LABEL_SORTER",52),nDv=new kc("REVERSED_EDGE_RESTORER",53),n$X=new kc("END_LABEL_POSTPROCESSOR",54),n$J=new kc("HIERARCHICAL_NODE_RESIZER",55),n$U=new kc("DIRECTION_POSTPROCESSOR",56)}function nlH(){nlH=T,U4(),nF9=new To(nmm,nF7=nRD),n_g=new To(nmv,(SB(),!1)),Fn(),n_k=new To(nmy,n_M=nKM),n__=new To(nmk,!1),n_B=new To(nmM,!0),nFj=new To(nmE,!1),UE(),n_5=new To(nmT,n_8=nGL),Qx(1),nBa=new To(nmj,Qx(7)),nBc=new To(nmS,!1),n_p=new To(nmP,!1),Zo(),nF5=new To(nmO,nF8=nRA),noj(),n_K=new To(nmC,n_F=nU9),Yb(),n_O=new To(nmI,n_C=nFE),Qx(-1),n_P=new To(nmA,null),Qx(-1),n_I=new To(nmL,Qx(-1)),Qx(-1),n_A=new To(nmN,Qx(4)),Qx(-1),n_N=new To(nmx,Qx(2)),nu7(),n_D=new To(nm$,n_R=nGT),Qx(0),n_$=new To(nmD,Qx(0)),n_j=new To(nmR,Qx(nl3)),q$(),nF4=new To(nmK,nF6=nRE),nFB=new To(nmF,!1),nFQ=new To(nm_,.1),nF2=new To(nmB,!1),nFY=new To(nmH,null),nFZ=new To(nmU,null),Qx(-1),nF1=new To(nmG,null),Qx(-1),nF0=new To(nmq,Qx(-1)),Qx(0),nFH=new To(nmX,Qx(40)),zJ(),nFz=new To(nmz,nFV=nKg),nFU=new To(nmV,nFG=nKw),nna(),n_4=new To(nmW,n_6=nGh),n_V=new wX(nmQ),HR(),n_H=new To(nmJ,n_U=nRQ),neR(),n_q=new To(nmY,n_X=nR2),new da,n_J=new To(nmZ,.3),n_Z=new wX(nm1),nnT(),n_1=new To(nm0,n_0=nGo),zl(),n_c=new To(nm2,n_o=nG_),Wm(),n_u=new To(nm3,n_s=nGq),WQ(),n_h=new To(nm4,n_f=nGW),n_b=new To(nm6,.2),n_r=new To(nm5,2),nBt=new To(nm8,null),nBi=new To(nm9,10),nBe=new To(nm7,10),nBr=new To(nvn,20),Qx(0),n_9=new To(nvt,Qx(0)),Qx(0),n_7=new To(nve,Qx(0)),Qx(0),nBn=new To(nvi,Qx(0)),nFS=new To(nvr,!1),ni2(),nFC=new To(nva,nFI=nKn),Bg(),nFP=new To(nvc,nFO=nRy),n_v=new To(nvo,!1),Qx(0),n_m=new To(nvu,Qx(16)),Qx(0),n_y=new To(nvs,Qx(5)),Vm(),nBO=new To(nvh,nBC=nG2),nBo=new To(nvf,10),nBh=new To(nvl,1),qv(),nBm=new To(nvb,nBv=nRO),nBb=new wX(nvw),nBg=Qx(1),Qx(0),nBd=new To(nvd,nBg),qm(),nBN=new To(nvg,nBx=nGJ),nBI=new wX(nvp),nBT=new To(nvm,!0),nBM=new To(nvv,2),nBS=new To(nvy,!0),nrt(),n_e=new To(nvk,n_i=nRz),nr_(),n_n=new To(nvM,n_t=nRw),Zu(),nFF=new To(nvE,nF_=nGO),nFK=new To(nvT,!1),nFR=new To(nvj,!1),ZT(),nFA=new To(nvS,nFL=n$h),QS(),nF$=new To(nvP,nFD=nGt),nFN=new To(nvO,0),nFx=new To(nvC,0),n_T=nRN,n_E=nRM,n_L=nU8,n_x=nU8,n_S=nU2,QO(),nFJ=nZj,nF3=nRE,nFW=nRE,nFq=nRE,nFX=nZj,n_W=nGb,n_Q=nGh,n_G=nGh,n_z=nGh,n_Y=nGl,n_3=nGb,n_2=nGb,JG(),n_l=nZu,n_w=nZu,n_d=nGW,n_a=nZo,nBu=nG3,nBs=nG0,nBf=nG3,nBl=nG0,nBy=nG3,nBk=nG0,nBw=nRP,nBp=nRO,nB$=nG3,nBD=nG0,nBA=nG3,nBL=nG0,nBj=nG0,nBE=nG0,nBP=nG0}function nlU(){nlU=T,n3Y=new dr(7),++n4c,n3Z=new Ad(8,94),++n4c,new Ad(8,64),++n4c,n31=new Ad(8,36),++n4c,n35=new Ad(8,65),++n4c,n38=new Ad(8,122),++n4c,n39=new Ad(8,90),++n4c,n4t=new Ad(8,98),++n4c,n34=new Ad(8,66),++n4c,n37=new Ad(8,60),++n4c,n4e=new Ad(8,62),n3J=new dr(11),++n4c,no2(n3Q=new RX(4),48,57),++n4c,no2(n4n=new RX(4),48,57),no2(n4n,65,90),no2(n4n,95,95),no2(n4n,97,122),++n4c,no2(n36=new RX(4),9,9),no2(n36,10,10),no2(n36,12,12),no2(n36,13,13),no2(n36,32,32),n30=ns4(n3Q),n33=ns4(n4n),n32=ns4(n36),n3X=new dc,n3z=new dc,n3V=Vw(DY(nPL,1),nby,2,6,["Cn","Lu","Ll","Lt","Lm","Lo","Mn","Me","Mc","Nd","Nl","No","Zs","Zl","Zp","Cc","Cf",null,"Co","Cs","Pd","Ps","Pe","Pc","Po","Sm","Sc","Sk","So","Pi","Pf","L","M","N","Z","C","P","S"]),n3q=Vw(DY(nPL,1),nby,2,6,["Basic Latin","Latin-1 Supplement","Latin Extended-A","Latin Extended-B","IPA Extensions","Spacing Modifier Letters","Combining Diacritical Marks","Greek","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul Jamo","Ethiopic","Cherokee","Unified Canadian Aboriginal Syllabics","Ogham","Runic","Khmer","Mongolian","Latin Extended Additional","Greek Extended","General Punctuation","Superscripts and Subscripts","Currency Symbols","Combining Marks for Symbols","Letterlike Symbols","Number Forms","Arrows","Mathematical Operators","Miscellaneous Technical","Control Pictures","Optical Character Recognition","Enclosed Alphanumerics","Box Drawing","Block Elements","Geometric Shapes","Miscellaneous Symbols","Dingbats","Braille Patterns","CJK Radicals Supplement","Kangxi Radicals","Ideographic Description Characters","CJK Symbols and Punctuation","Hiragana","Katakana","Bopomofo","Hangul Compatibility Jamo","Kanbun","Bopomofo Extended","Enclosed CJK Letters and Months","CJK Compatibility","CJK Unified Ideographs Extension A","CJK Unified Ideographs","Yi Syllables","Yi Radicals","Hangul Syllables",nS2,"CJK Compatibility Ideographs","Alphabetic Presentation Forms","Arabic Presentation Forms-A","Combining Half Marks","CJK Compatibility Forms","Small Form Variants","Arabic Presentation Forms-B","Specials","Halfwidth and Fullwidth Forms","Old Italic","Gothic","Deseret","Byzantine Musical Symbols","Musical Symbols","Mathematical Alphanumeric Symbols","CJK Unified Ideographs Extension B","CJK Compatibility Ideographs Supplement","Tags"]),n3W=Vw(DY(n4s,1),nwl,28,15,[66304,66351,66352,66383,66560,66639,118784,119039,119040,119295,119808,120831,131072,173782,194560,195103,917504,917631])}function nlG(){nlG=T,nIx=new XV("OUT_T_L",0,(HS(),nIu),(Uk(),nIf),(GL(),nIi),nIi,Vw(DY(nPh,1),nl7,21,0,[AN((nc$(),nZF),Vw(DY(nLB,1),nbG,95,0,[nZH,nZ$]))])),nIN=new XV("OUT_T_C",1,nIo,nIf,nIi,nIr,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZH,nZx])),AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZH,nZx,nZD]))])),nI$=new XV("OUT_T_R",2,nIs,nIf,nIi,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZH,nZR]))])),nIj=new XV("OUT_B_L",3,nIu,nIb,nIa,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZ$]))])),nIT=new XV("OUT_B_C",4,nIo,nIb,nIa,nIr,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZx])),AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZx,nZD]))])),nIS=new XV("OUT_B_R",5,nIs,nIb,nIa,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZR]))])),nIC=new XV("OUT_L_T",6,nIs,nIb,nIi,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ$,nZH,nZD]))])),nIO=new XV("OUT_L_C",7,nIs,nIl,nIr,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ$,nZB])),AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ$,nZB,nZD]))])),nIP=new XV("OUT_L_B",8,nIs,nIf,nIa,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ$,nZ_,nZD]))])),nIL=new XV("OUT_R_T",9,nIu,nIb,nIi,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZR,nZH,nZD]))])),nIA=new XV("OUT_R_C",10,nIu,nIl,nIr,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZR,nZB])),AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZR,nZB,nZD]))])),nII=new XV("OUT_R_B",11,nIu,nIf,nIa,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZR,nZ_,nZD]))])),nIM=new XV("IN_T_L",12,nIu,nIb,nIi,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZ$])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZ$,nZD]))])),nIk=new XV("IN_T_C",13,nIo,nIb,nIi,nIr,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZx])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZx,nZD]))])),nIE=new XV("IN_T_R",14,nIs,nIb,nIi,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZR])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZR,nZD]))])),nIv=new XV("IN_C_L",15,nIu,nIl,nIr,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZ$])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZ$,nZD]))])),nIm=new XV("IN_C_C",16,nIo,nIl,nIr,nIr,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZx])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZx,nZD]))])),nIy=new XV("IN_C_R",17,nIs,nIl,nIr,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZR])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZR,nZD]))])),nIg=new XV("IN_B_L",18,nIu,nIf,nIa,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZ$])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZ$,nZD]))])),nId=new XV("IN_B_C",19,nIo,nIf,nIa,nIr,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZx])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZx,nZD]))])),nIp=new XV("IN_B_R",20,nIs,nIf,nIa,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZR])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZR,nZD]))])),nID=new XV(nd6,21,null,null,null,null,Vw(DY(nPh,1),nl7,21,0,[]))}function nlq(){nlq=T,n2u=(NN(),n2c).b,CY(GO($x(n2c.b),0),35),CY(GO($x(n2c.b),1),19),n2o=n2c.a,CY(GO($x(n2c.a),0),35),CY(GO($x(n2c.a),1),19),CY(GO($x(n2c.a),2),19),CY(GO($x(n2c.a),3),19),CY(GO($x(n2c.a),4),19),n2s=n2c.o,CY(GO($x(n2c.o),0),35),CY(GO($x(n2c.o),1),35),n2f=CY(GO($x(n2c.o),2),19),CY(GO($x(n2c.o),3),19),CY(GO($x(n2c.o),4),19),CY(GO($x(n2c.o),5),19),CY(GO($x(n2c.o),6),19),CY(GO($x(n2c.o),7),19),CY(GO($x(n2c.o),8),19),CY(GO($x(n2c.o),9),19),CY(GO($x(n2c.o),10),19),CY(GO($x(n2c.o),11),19),CY(GO($x(n2c.o),12),19),CY(GO($x(n2c.o),13),19),CY(GO($x(n2c.o),14),19),CY(GO($x(n2c.o),15),19),CY(GO($N(n2c.o),0),62),CY(GO($N(n2c.o),1),62),CY(GO($N(n2c.o),2),62),CY(GO($N(n2c.o),3),62),CY(GO($N(n2c.o),4),62),CY(GO($N(n2c.o),5),62),CY(GO($N(n2c.o),6),62),CY(GO($N(n2c.o),7),62),CY(GO($N(n2c.o),8),62),CY(GO($N(n2c.o),9),62),n2h=n2c.p,CY(GO($x(n2c.p),0),35),CY(GO($x(n2c.p),1),35),CY(GO($x(n2c.p),2),35),CY(GO($x(n2c.p),3),35),CY(GO($x(n2c.p),4),19),CY(GO($x(n2c.p),5),19),CY(GO($N(n2c.p),0),62),CY(GO($N(n2c.p),1),62),n2l=n2c.q,CY(GO($x(n2c.q),0),35),n2b=n2c.v,CY(GO($x(n2c.v),0),19),CY(GO($N(n2c.v),0),62),CY(GO($N(n2c.v),1),62),CY(GO($N(n2c.v),2),62),n2w=n2c.w,CY(GO($x(n2c.w),0),35),CY(GO($x(n2c.w),1),35),CY(GO($x(n2c.w),2),35),CY(GO($x(n2c.w),3),19),n2d=n2c.B,CY(GO($x(n2c.B),0),19),CY(GO($N(n2c.B),0),62),CY(GO($N(n2c.B),1),62),CY(GO($N(n2c.B),2),62),n2m=n2c.Q,CY(GO($x(n2c.Q),0),19),CY(GO($N(n2c.Q),0),62),n2v=n2c.R,CY(GO($x(n2c.R),0),35),n2y=n2c.S,CY(GO($N(n2c.S),0),62),CY(GO($N(n2c.S),1),62),CY(GO($N(n2c.S),2),62),CY(GO($N(n2c.S),3),62),CY(GO($N(n2c.S),4),62),CY(GO($N(n2c.S),5),62),CY(GO($N(n2c.S),6),62),CY(GO($N(n2c.S),7),62),CY(GO($N(n2c.S),8),62),CY(GO($N(n2c.S),9),62),CY(GO($N(n2c.S),10),62),CY(GO($N(n2c.S),11),62),CY(GO($N(n2c.S),12),62),CY(GO($N(n2c.S),13),62),CY(GO($N(n2c.S),14),62),n2k=n2c.T,CY(GO($x(n2c.T),0),19),CY(GO($x(n2c.T),2),19),n2M=CY(GO($x(n2c.T),3),19),CY(GO($x(n2c.T),4),19),CY(GO($N(n2c.T),0),62),CY(GO($N(n2c.T),1),62),CY(GO($x(n2c.T),1),19),n2E=n2c.U,CY(GO($x(n2c.U),0),35),CY(GO($x(n2c.U),1),35),CY(GO($x(n2c.U),2),19),CY(GO($x(n2c.U),3),19),CY(GO($x(n2c.U),4),19),CY(GO($x(n2c.U),5),19),CY(GO($N(n2c.U),0),62),n2T=n2c.V,CY(GO($x(n2c.V),0),19),n2j=n2c.W,CY(GO($x(n2c.W),0),35),CY(GO($x(n2c.W),1),35),CY(GO($x(n2c.W),2),35),CY(GO($x(n2c.W),3),19),CY(GO($x(n2c.W),4),19),CY(GO($x(n2c.W),5),19),n2P=n2c.bb,CY(GO($x(n2c.bb),0),35),CY(GO($x(n2c.bb),1),35),CY(GO($x(n2c.bb),2),35),CY(GO($x(n2c.bb),3),35),CY(GO($x(n2c.bb),4),35),CY(GO($x(n2c.bb),5),35),CY(GO($x(n2c.bb),6),35),CY(GO($x(n2c.bb),7),19),CY(GO($N(n2c.bb),0),62),CY(GO($N(n2c.bb),1),62),n2O=n2c.eb,CY(GO($x(n2c.eb),0),35),CY(GO($x(n2c.eb),1),35),CY(GO($x(n2c.eb),2),35),CY(GO($x(n2c.eb),3),35),CY(GO($x(n2c.eb),4),35),CY(GO($x(n2c.eb),5),35),CY(GO($x(n2c.eb),6),19),CY(GO($x(n2c.eb),7),19),n2S=n2c.ab,CY(GO($x(n2c.ab),0),35),CY(GO($x(n2c.ab),1),35),n2g=n2c.H,CY(GO($x(n2c.H),0),19),CY(GO($x(n2c.H),1),19),CY(GO($x(n2c.H),2),19),CY(GO($x(n2c.H),3),19),CY(GO($x(n2c.H),4),19),CY(GO($x(n2c.H),5),19),CY(GO($N(n2c.H),0),62),n2C=n2c.db,CY(GO($x(n2c.db),0),19),n2p=n2c.M}function nlX(n,t){var e;return n23||(n23=new dc,n24=new dc,nlU(),nlU(),++n4c,YJ(e=new RX(4)," \n\r\r "),Rr(n23,nSJ,e),Rr(n24,nSJ,ns4(e)),++n4c,YJ(e=new RX(4),nS1),Rr(n23,nSW,e),Rr(n24,nSW,ns4(e)),++n4c,YJ(e=new RX(4),nS1),Rr(n23,nSW,e),Rr(n24,nSW,ns4(e)),++n4c,YJ(e=new RX(4),nS0),nhH(e,CY(Db(n23,nSW),122)),Rr(n23,nSQ,e),Rr(n24,nSQ,ns4(e)),++n4c,YJ(e=new RX(4),"-.0:AZ__az\xb7\xb7\xc0\xd6\xd8\xf6\xf8\u0131\u0134\u013E\u0141\u0148\u014A\u017E\u0180\u01C3\u01CD\u01F0\u01F4\u01F5\u01FA\u0217\u0250\u02A8\u02BB\u02C1\u02D0\u02D1\u0300\u0345\u0360\u0361\u0386\u038A\u038C\u038C\u038E\u03A1\u03A3\u03CE\u03D0\u03D6\u03DA\u03DA\u03DC\u03DC\u03DE\u03DE\u03E0\u03E0\u03E2\u03F3\u0401\u040C\u040E\u044F\u0451\u045C\u045E\u0481\u0483\u0486\u0490\u04C4\u04C7\u04C8\u04CB\u04CC\u04D0\u04EB\u04EE\u04F5\u04F8\u04F9\u0531\u0556\u0559\u0559\u0561\u0586\u0591\u05A1\u05A3\u05B9\u05BB\u05BD\u05BF\u05BF\u05C1\u05C2\u05C4\u05C4\u05D0\u05EA\u05F0\u05F2\u0621\u063A\u0640\u0652\u0660\u0669\u0670\u06B7\u06BA\u06BE\u06C0\u06CE\u06D0\u06D3\u06D5\u06E8\u06EA\u06ED\u06F0\u06F9\u0901\u0903\u0905\u0939\u093C\u094D\u0951\u0954\u0958\u0963\u0966\u096F\u0981\u0983\u0985\u098C\u098F\u0990\u0993\u09A8\u09AA\u09B0\u09B2\u09B2\u09B6\u09B9\u09BC\u09BC\u09BE\u09C4\u09C7\u09C8\u09CB\u09CD\u09D7\u09D7\u09DC\u09DD\u09DF\u09E3\u09E6\u09F1\u0A02\u0A02\u0A05\u0A0A\u0A0F\u0A10\u0A13\u0A28\u0A2A\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3C\u0A3E\u0A42\u0A47\u0A48\u0A4B\u0A4D\u0A59\u0A5C\u0A5E\u0A5E\u0A66\u0A74\u0A81\u0A83\u0A85\u0A8B\u0A8D\u0A8D\u0A8F\u0A91\u0A93\u0AA8\u0AAA\u0AB0\u0AB2\u0AB3\u0AB5\u0AB9\u0ABC\u0AC5\u0AC7\u0AC9\u0ACB\u0ACD\u0AE0\u0AE0\u0AE6\u0AEF\u0B01\u0B03\u0B05\u0B0C\u0B0F\u0B10\u0B13\u0B28\u0B2A\u0B30\u0B32\u0B33\u0B36\u0B39\u0B3C\u0B43\u0B47\u0B48\u0B4B\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F\u0B61\u0B66\u0B6F\u0B82\u0B83\u0B85\u0B8A\u0B8E\u0B90\u0B92\u0B95\u0B99\u0B9A\u0B9C\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8\u0BAA\u0BAE\u0BB5\u0BB7\u0BB9\u0BBE\u0BC2\u0BC6\u0BC8\u0BCA\u0BCD\u0BD7\u0BD7\u0BE7\u0BEF\u0C01\u0C03\u0C05\u0C0C\u0C0E\u0C10\u0C12\u0C28\u0C2A\u0C33\u0C35\u0C39\u0C3E\u0C44\u0C46\u0C48\u0C4A\u0C4D\u0C55\u0C56\u0C60\u0C61\u0C66\u0C6F\u0C82\u0C83\u0C85\u0C8C\u0C8E\u0C90\u0C92\u0CA8\u0CAA\u0CB3\u0CB5\u0CB9\u0CBE\u0CC4\u0CC6\u0CC8\u0CCA\u0CCD\u0CD5\u0CD6\u0CDE\u0CDE\u0CE0\u0CE1\u0CE6\u0CEF\u0D02\u0D03\u0D05\u0D0C\u0D0E\u0D10\u0D12\u0D28\u0D2A\u0D39\u0D3E\u0D43\u0D46\u0D48\u0D4A\u0D4D\u0D57\u0D57\u0D60\u0D61\u0D66\u0D6F\u0E01\u0E2E\u0E30\u0E3A\u0E40\u0E4E\u0E50\u0E59\u0E81\u0E82\u0E84\u0E84\u0E87\u0E88\u0E8A\u0E8A\u0E8D\u0E8D\u0E94\u0E97\u0E99\u0E9F\u0EA1\u0EA3\u0EA5\u0EA5\u0EA7\u0EA7\u0EAA\u0EAB\u0EAD\u0EAE\u0EB0\u0EB9\u0EBB\u0EBD\u0EC0\u0EC4\u0EC6\u0EC6\u0EC8\u0ECD\u0ED0\u0ED9\u0F18\u0F19\u0F20\u0F29\u0F35\u0F35\u0F37\u0F37\u0F39\u0F39\u0F3E\u0F47\u0F49\u0F69\u0F71\u0F84\u0F86\u0F8B\u0F90\u0F95\u0F97\u0F97\u0F99\u0FAD\u0FB1\u0FB7\u0FB9\u0FB9\u10A0\u10C5\u10D0\u10F6\u1100\u1100\u1102\u1103\u1105\u1107\u1109\u1109\u110B\u110C\u110E\u1112\u113C\u113C\u113E\u113E\u1140\u1140\u114C\u114C\u114E\u114E\u1150\u1150\u1154\u1155\u1159\u1159\u115F\u1161\u1163\u1163\u1165\u1165\u1167\u1167\u1169\u1169\u116D\u116E\u1172\u1173\u1175\u1175\u119E\u119E\u11A8\u11A8\u11AB\u11AB\u11AE\u11AF\u11B7\u11B8\u11BA\u11BA\u11BC\u11C2\u11EB\u11EB\u11F0\u11F0\u11F9\u11F9\u1E00\u1E9B\u1EA0\u1EF9\u1F00\u1F15\u1F18\u1F1D\u1F20\u1F45\u1F48\u1F4D\u1F50\u1F57\u1F59\u1F59\u1F5B\u1F5B\u1F5D\u1F5D\u1F5F\u1F7D\u1F80\u1FB4\u1FB6\u1FBC\u1FBE\u1FBE\u1FC2\u1FC4\u1FC6\u1FCC\u1FD0\u1FD3\u1FD6\u1FDB\u1FE0\u1FEC\u1FF2\u1FF4\u1FF6\u1FFC\u20D0\u20DC\u20E1\u20E1\u2126\u2126\u212A\u212B\u212E\u212E\u2180\u2182\u3005\u3005\u3007\u3007\u3021\u302F\u3031\u3035\u3041\u3094\u3099\u309A\u309D\u309E\u30A1\u30FA\u30FC\u30FE\u3105\u312C\u4E00\u9FA5\uAC00\uD7A3"),Rr(n23,nSY,e),Rr(n24,nSY,ns4(e)),++n4c,YJ(e=new RX(4),nS0),no2(e,95,95),no2(e,58,58),Rr(n23,nSZ,e),Rr(n24,nSZ,ns4(e))),t?CY(Db(n23,n),138):CY(Db(n24,n),138)}function nlz(n){var t,e,i,r,a,c;yd(n,new nil(((((t=new c5).c=nwU,e=t).d="ELK Layered",i=e).b="Layer-based algorithm provided by the Eclipse Layout Kernel. Arranges as many edges as possible into one direction by placing nodes into subsequent layers. This implementation supports different routing styles (straight, orthogonal, splines); if orthogonal routing is selected, arbitrary port constraints are respected, thus enabling the layout of block diagrams such as actor-oriented models or circuit schematics. Furthermore, full layout of compound graphs with cross-hierarchy edges is supported when the respective option is activated on the top level.",(r=i).e=new rR,(a=r).a=nwU,(c=a).f=AN((ncw(),n0M),Vw(DY(nNo,1),nbG,245,0,[n0v,n0y,n0m,n0k,n0g,n0d])),c))),KS(n,nwU,nvY,Z4(nUg)),KS(n,nwU,nvZ,Z4(nUp)),KS(n,nwU,ngL,Z4(nUm)),KS(n,nwU,nv1,Z4(nUv)),KS(n,nwU,ng6,Z4(nUk)),KS(n,nwU,nv0,Z4(nUM)),KS(n,nwU,nv2,Z4(nUj)),KS(n,nwU,nv3,Z4(nUP)),KS(n,nwU,nv4,Z4(nUO)),KS(n,nwU,nv6,Z4(nUS)),KS(n,nwU,ng4,Z4(nUC)),KS(n,nwU,nv5,Z4(nUA)),KS(n,nwU,nv8,Z4(nUN)),KS(n,nwU,nv9,Z4(nUT)),KS(n,nwU,nm8,Z4(nUd)),KS(n,nwU,nm7,Z4(nUy)),KS(n,nwU,nm9,Z4(nUE)),KS(n,nwU,nvn,Z4(nUI)),KS(n,nwU,ng3,Qx(0)),KS(n,nwU,nvt,Z4(nUh)),KS(n,nwU,nve,Z4(nUf)),KS(n,nwU,nvi,Z4(nUl)),KS(n,nwU,nvh,Z4(nUW)),KS(n,nwU,nvf,Z4(nUB)),KS(n,nwU,nvl,Z4(nUH)),KS(n,nwU,nvb,Z4(nUq)),KS(n,nwU,nvw,Z4(nUU)),KS(n,nwU,nvd,Z4(nUG)),KS(n,nwU,nvg,Z4(nUJ)),KS(n,nwU,nvp,Z4(nUQ)),KS(n,nwU,nvm,Z4(nUz)),KS(n,nwU,nvv,Z4(nUX)),KS(n,nwU,nvy,Z4(nUV)),KS(n,nwU,nm1,Z4(nHX)),KS(n,nwU,nm0,Z4(nHz)),KS(n,nwU,nm4,Z4(nHb)),KS(n,nwU,nm6,Z4(nHw)),KS(n,nwU,npo,Z4(nUR)),KS(n,nwU,npu,Z4(nUF)),KS(n,nwU,nps,Z4(nUD)),KS(n,nwU,nph,Z4(nU$)),KS(n,nwU,npf,nUK),KS(n,nwU,ng$,nH0),KS(n,nwU,nvF,nHs),KS(n,nwU,nv7,0),KS(n,nwU,ng5,Qx(1)),KS(n,nwU,ngx,ng0),KS(n,nwU,nyn,Z4(nHZ)),KS(n,nwU,ng7,Z4(nUt)),KS(n,nwU,nyt,Z4(nUc)),KS(n,nwU,nye,Z4(nHn)),KS(n,nwU,nyi,Z4(nBR)),KS(n,nwU,nvx,Z4(nHm)),KS(n,nwU,ng8,(SB(),!0)),KS(n,nwU,nyr,Z4(nHE)),KS(n,nwU,nya,Z4(nHT)),KS(n,nwU,npr,Z4(nHW)),KS(n,nwU,npi,Z4(nHY)),KS(n,nwU,npe,Z4(nHQ)),KS(n,nwU,nyc,nHi),KS(n,nwU,npa,Z4(nHB)),KS(n,nwU,nyo,Z4(nH_)),KS(n,nwU,npc,Z4(nUr)),KS(n,nwU,nyu,Z4(nUi)),KS(n,nwU,nys,Z4(nUa)),KS(n,nwU,nyh,nH4),KS(n,nwU,nyf,Z4(nH5)),KS(n,nwU,nyl,Z4(nH8)),KS(n,nwU,nyb,Z4(nH9)),KS(n,nwU,nyw,Z4(nH6)),KS(n,nwU,nmS,Z4(nU_)),KS(n,nwU,nmC,Z4(nHD)),KS(n,nwU,nm$,Z4(nH$)),KS(n,nwU,nmj,Z4(nUx)),KS(n,nwU,nmI,Z4(nHI)),KS(n,nwU,nmO,Z4(nB7)),KS(n,nwU,nmK,Z4(nB9)),KS(n,nwU,nmF,Z4(nBY)),KS(n,nwU,nmX,Z4(nBZ)),KS(n,nwU,nmz,Z4(nB0)),KS(n,nwU,nmV,Z4(nB1)),KS(n,nwU,nmB,Z4(nB8)),KS(n,nwU,nmk,Z4(nHK)),KS(n,nwU,nmM,Z4(nHF)),KS(n,nwU,nmy,Z4(nHS)),KS(n,nwU,nmW,Z4(nHV)),KS(n,nwU,nmY,Z4(nHU)),KS(n,nwU,nmv,Z4(nHg)),KS(n,nwU,nmZ,Z4(nHq)),KS(n,nwU,nm2,Z4(nHf)),KS(n,nwU,nm3,Z4(nHl)),KS(n,nwU,nyd,Z4(nBJ)),KS(n,nwU,nmJ,Z4(nHH)),KS(n,nwU,nva,Z4(nBU)),KS(n,nwU,nvc,Z4(nBH)),KS(n,nwU,nvr,Z4(nBB)),KS(n,nwU,nvo,Z4(nHy)),KS(n,nwU,nvu,Z4(nHv)),KS(n,nwU,nvs,Z4(nHk)),KS(n,nwU,npE,Z4(nHJ)),KS(n,nwU,nyg,Z4(nHP)),KS(n,nwU,ngN,Z4(nHd)),KS(n,nwU,nyp,Z4(nHc)),KS(n,nwU,npn,Z4(nHa)),KS(n,nwU,nm_,Z4(nB2)),KS(n,nwU,nym,Z4(nUe)),KS(n,nwU,nyv,Z4(nB_)),KS(n,nwU,nyy,Z4(nHM)),KS(n,nwU,nyk,Z4(nH7)),KS(n,nwU,nyM,Z4(nH2)),KS(n,nwU,nyE,Z4(nH3)),KS(n,nwU,nmN,Z4(nHL)),KS(n,nwU,nmx,Z4(nHN)),KS(n,nwU,nyT,Z4(nUu)),KS(n,nwU,nmE,Z4(nBK)),KS(n,nwU,nmD,Z4(nHx)),KS(n,nwU,nvk,Z4(nHo)),KS(n,nwU,nvM,Z4(nHr)),KS(n,nwU,nyj,Z4(nHR)),KS(n,nwU,nmR,Z4(nHO)),KS(n,nwU,nmQ,Z4(nHG)),KS(n,nwU,nyS,Z4(nUL)),KS(n,nwU,nmm,Z4(nHe)),KS(n,nwU,nmT,Z4(nUo)),KS(n,nwU,nm5,Z4(nHh)),KS(n,nwU,nmH,Z4(nB3)),KS(n,nwU,nmU,Z4(nB4)),KS(n,nwU,nmA,Z4(nHC)),KS(n,nwU,nmG,Z4(nB6)),KS(n,nwU,nyP,Z4(nHj)),KS(n,nwU,nmL,Z4(nHA)),KS(n,nwU,nmq,Z4(nB5)),KS(n,nwU,nvE,Z4(nBQ)),KS(n,nwU,nvP,Z4(nBz)),KS(n,nwU,nvO,Z4(nBq)),KS(n,nwU,nvC,Z4(nBX)),KS(n,nwU,nvj,Z4(nBV)),KS(n,nwU,nvS,Z4(nBG)),KS(n,nwU,nvT,Z4(nBW)),KS(n,nwU,nmP,Z4(nHp))}function nlV(n){return OB("_UI_EMFDiagnostic_marker",n)?"EMF Problem":OB("_UI_CircularContainment_diagnostic",n)?"An object may not circularly contain itself":OB(nTE,n)?"Wrong character.":OB(nTT,n)?"Invalid reference number.":OB(nTj,n)?"A character is required after \\.":OB(nTS,n)?"'?' is not expected. '(?:' or '(?=' or '(?!' or '(?<' or '(?#' or '(?>'?":OB(nTP,n)?"'(?<' or '(?<!' is expected.":OB(nTO,n)?"A comment is not terminated.":OB(nTC,n)?"')' is expected.":OB(nTI,n)?"Unexpected end of the pattern in a modifier group.":OB(nTA,n)?"':' is expected.":OB(nTL,n)?"Unexpected end of the pattern in a conditional group.":OB(nTN,n)?"A back reference or an anchor or a lookahead or a look-behind is expected in a conditional pattern.":OB(nTx,n)?"There are more than three choices in a conditional group.":OB(nT$,n)?"A character in U+0040-U+005f must follow \\c.":OB(nTD,n)?"A '{' is required before a character category.":OB(nTR,n)?"A property name is not closed by '}'.":OB(nTK,n)?"Unexpected meta character.":OB(nTF,n)?"Unknown property.":OB(nT_,n)?"A POSIX character class must be closed by ':]'.":OB(nTB,n)?"Unexpected end of the pattern in a character class.":OB(nTH,n)?"Unknown name for a POSIX character class.":OB("parser.cc.4",n)?"'-' is invalid here.":OB(nTU,n)?"']' is expected.":OB(nTG,n)?"'[' is invalid in a character class. Write '\\['.":OB(nTq,n)?"']' is invalid in a character class. Write '\\]'.":OB(nTX,n)?"'-' is an invalid character range. Write '\\-'.":OB(nTz,n)?"'[' is expected.":OB(nTV,n)?"')' or '-[' or '+[' or '&[' is expected.":OB(nTW,n)?"The range end code point is less than the start code point.":OB(nTQ,n)?"Invalid Unicode hex notation.":OB(nTJ,n)?"Overflow in a hex notation.":OB(nTY,n)?"'\\x{' must be closed by '}'.":OB(nTZ,n)?"Invalid Unicode code point.":OB(nT1,n)?"An anchor must not be here.":OB(nT0,n)?"This expression is not supported in the current option setting.":OB(nT2,n)?"Invalid quantifier. A digit is expected.":OB(nT3,n)?"Invalid quantifier. Invalid quantity or a '}' is missing.":OB(nT4,n)?"Invalid quantifier. A digit or '}' is expected.":OB(nT6,n)?"Invalid quantifier. A min quantity must be <= a max quantity.":OB(nT5,n)?"Invalid quantifier. A quantity value overflow.":OB("_UI_PackageRegistry_extensionpoint",n)?"Ecore Package Registry for Generated Packages":OB("_UI_DynamicPackageRegistry_extensionpoint",n)?"Ecore Package Registry for Dynamic Packages":OB("_UI_FactoryRegistry_extensionpoint",n)?"Ecore Factory Override Registry":OB("_UI_URIExtensionParserRegistry_extensionpoint",n)?"URI Extension Parser Registry":OB("_UI_URIProtocolParserRegistry_extensionpoint",n)?"URI Protocol Parser Registry":OB("_UI_URIContentParserRegistry_extensionpoint",n)?"URI Content Parser Registry":OB("_UI_ContentHandlerRegistry_extensionpoint",n)?"Content Handler Registry":OB("_UI_URIMappingRegistry_extensionpoint",n)?"URI Converter Mapping Registry":OB("_UI_PackageRegistryImplementation_extensionpoint",n)?"Ecore Package Registry Implementation":OB("_UI_ValidationDelegateRegistry_extensionpoint",n)?"Validation Delegate Registry":OB("_UI_SettingDelegateRegistry_extensionpoint",n)?"Feature Setting Delegate Factory Registry":OB("_UI_InvocationDelegateRegistry_extensionpoint",n)?"Operation Invocation Delegate Factory Registry":OB("_UI_EClassInterfaceNotAbstract_diagnostic",n)?"A class that is an interface must also be abstract":OB("_UI_EClassNoCircularSuperTypes_diagnostic",n)?"A class may not be a super type of itself":OB("_UI_EClassNotWellFormedMapEntryNoInstanceClassName_diagnostic",n)?"A class that inherits from a map entry class must have instance class name 'java.util.Map$Entry'":OB("_UI_EReferenceOppositeOfOppositeInconsistent_diagnostic",n)?"The opposite of the opposite may not be a reference different from this one":OB("_UI_EReferenceOppositeNotFeatureOfType_diagnostic",n)?"The opposite must be a feature of the reference's type":OB("_UI_EReferenceTransientOppositeNotTransient_diagnostic",n)?"The opposite of a transient reference must be transient if it is proxy resolving":OB("_UI_EReferenceOppositeBothContainment_diagnostic",n)?"The opposite of a containment reference must not be a containment reference":OB("_UI_EReferenceConsistentUnique_diagnostic",n)?"A containment or bidirectional reference must be unique if its upper bound is different from 1":OB("_UI_ETypedElementNoType_diagnostic",n)?"The typed element must have a type":OB("_UI_EAttributeNoDataType_diagnostic",n)?"The generic attribute type must not refer to a class":OB("_UI_EReferenceNoClass_diagnostic",n)?"The generic reference type must not refer to a data type":OB("_UI_EGenericTypeNoTypeParameterAndClassifier_diagnostic",n)?"A generic type can't refer to both a type parameter and a classifier":OB("_UI_EGenericTypeNoClass_diagnostic",n)?"A generic super type must refer to a class":OB("_UI_EGenericTypeNoTypeParameterOrClassifier_diagnostic",n)?"A generic type in this context must refer to a classifier or a type parameter":OB("_UI_EGenericTypeBoundsOnlyForTypeArgument_diagnostic",n)?"A generic type may have bounds only when used as a type argument":OB("_UI_EGenericTypeNoUpperAndLowerBound_diagnostic",n)?"A generic type must not have both a lower and an upper bound":OB("_UI_EGenericTypeNoTypeParameterOrClassifierAndBound_diagnostic",n)?"A generic type with bounds must not also refer to a type parameter or classifier":OB("_UI_EGenericTypeNoArguments_diagnostic",n)?"A generic type may have arguments only if it refers to a classifier":OB("_UI_EGenericTypeOutOfScopeTypeParameter_diagnostic",n)?"A generic type may only refer to a type parameter that is in scope":n}function nlW(){nlW=T,(n3G=BJ(n4l,nEK,28,nwG,15,1))[9]=35,n3G[10]=19,n3G[13]=19,n3G[32]=51,n3G[33]=49,n3G[34]=33,LJ(n3G,35,38,49),n3G[38]=1,LJ(n3G,39,45,49),LJ(n3G,45,47,-71),n3G[47]=49,LJ(n3G,48,58,-71),n3G[58]=61,n3G[59]=49,n3G[60]=1,n3G[61]=49,n3G[62]=33,LJ(n3G,63,65,49),LJ(n3G,65,91,-3),LJ(n3G,91,93,33),n3G[93]=1,n3G[94]=33,n3G[95]=-3,n3G[96]=33,LJ(n3G,97,123,-3),LJ(n3G,123,183,33),n3G[183]=-87,LJ(n3G,184,192,33),LJ(n3G,192,215,-19),n3G[215]=33,LJ(n3G,216,247,-19),n3G[247]=33,LJ(n3G,248,306,-19),LJ(n3G,306,308,33),LJ(n3G,308,319,-19),LJ(n3G,319,321,33),LJ(n3G,321,329,-19),n3G[329]=33,LJ(n3G,330,383,-19),n3G[383]=33,LJ(n3G,384,452,-19),LJ(n3G,452,461,33),LJ(n3G,461,497,-19),LJ(n3G,497,500,33),LJ(n3G,500,502,-19),LJ(n3G,502,506,33),LJ(n3G,506,536,-19),LJ(n3G,536,592,33),LJ(n3G,592,681,-19),LJ(n3G,681,699,33),LJ(n3G,699,706,-19),LJ(n3G,706,720,33),LJ(n3G,720,722,-87),LJ(n3G,722,768,33),LJ(n3G,768,838,-87),LJ(n3G,838,864,33),LJ(n3G,864,866,-87),LJ(n3G,866,902,33),n3G[902]=-19,n3G[903]=-87,LJ(n3G,904,907,-19),n3G[907]=33,n3G[908]=-19,n3G[909]=33,LJ(n3G,910,930,-19),n3G[930]=33,LJ(n3G,931,975,-19),n3G[975]=33,LJ(n3G,976,983,-19),LJ(n3G,983,986,33),n3G[986]=-19,n3G[987]=33,n3G[988]=-19,n3G[989]=33,n3G[990]=-19,n3G[991]=33,n3G[992]=-19,n3G[993]=33,LJ(n3G,994,1012,-19),LJ(n3G,1012,1025,33),LJ(n3G,1025,1037,-19),n3G[1037]=33,LJ(n3G,1038,1104,-19),n3G[1104]=33,LJ(n3G,1105,1117,-19),n3G[1117]=33,LJ(n3G,1118,1154,-19),n3G[1154]=33,LJ(n3G,1155,1159,-87),LJ(n3G,1159,1168,33),LJ(n3G,1168,1221,-19),LJ(n3G,1221,1223,33),LJ(n3G,1223,1225,-19),LJ(n3G,1225,1227,33),LJ(n3G,1227,1229,-19),LJ(n3G,1229,1232,33),LJ(n3G,1232,1260,-19),LJ(n3G,1260,1262,33),LJ(n3G,1262,1270,-19),LJ(n3G,1270,1272,33),LJ(n3G,1272,1274,-19),LJ(n3G,1274,1329,33),LJ(n3G,1329,1367,-19),LJ(n3G,1367,1369,33),n3G[1369]=-19,LJ(n3G,1370,1377,33),LJ(n3G,1377,1415,-19),LJ(n3G,1415,1425,33),LJ(n3G,1425,1442,-87),n3G[1442]=33,LJ(n3G,1443,1466,-87),n3G[1466]=33,LJ(n3G,1467,1470,-87),n3G[1470]=33,n3G[1471]=-87,n3G[1472]=33,LJ(n3G,1473,1475,-87),n3G[1475]=33,n3G[1476]=-87,LJ(n3G,1477,1488,33),LJ(n3G,1488,1515,-19),LJ(n3G,1515,1520,33),LJ(n3G,1520,1523,-19),LJ(n3G,1523,1569,33),LJ(n3G,1569,1595,-19),LJ(n3G,1595,1600,33),n3G[1600]=-87,LJ(n3G,1601,1611,-19),LJ(n3G,1611,1619,-87),LJ(n3G,1619,1632,33),LJ(n3G,1632,1642,-87),LJ(n3G,1642,1648,33),n3G[1648]=-87,LJ(n3G,1649,1720,-19),LJ(n3G,1720,1722,33),LJ(n3G,1722,1727,-19),n3G[1727]=33,LJ(n3G,1728,1743,-19),n3G[1743]=33,LJ(n3G,1744,1748,-19),n3G[1748]=33,n3G[1749]=-19,LJ(n3G,1750,1765,-87),LJ(n3G,1765,1767,-19),LJ(n3G,1767,1769,-87),n3G[1769]=33,LJ(n3G,1770,1774,-87),LJ(n3G,1774,1776,33),LJ(n3G,1776,1786,-87),LJ(n3G,1786,2305,33),LJ(n3G,2305,2308,-87),n3G[2308]=33,LJ(n3G,2309,2362,-19),LJ(n3G,2362,2364,33),n3G[2364]=-87,n3G[2365]=-19,LJ(n3G,2366,2382,-87),LJ(n3G,2382,2385,33),LJ(n3G,2385,2389,-87),LJ(n3G,2389,2392,33),LJ(n3G,2392,2402,-19),LJ(n3G,2402,2404,-87),LJ(n3G,2404,2406,33),LJ(n3G,2406,2416,-87),LJ(n3G,2416,2433,33),LJ(n3G,2433,2436,-87),n3G[2436]=33,LJ(n3G,2437,2445,-19),LJ(n3G,2445,2447,33),LJ(n3G,2447,2449,-19),LJ(n3G,2449,2451,33),LJ(n3G,2451,2473,-19),n3G[2473]=33,LJ(n3G,2474,2481,-19),n3G[2481]=33,n3G[2482]=-19,LJ(n3G,2483,2486,33),LJ(n3G,2486,2490,-19),LJ(n3G,2490,2492,33),n3G[2492]=-87,n3G[2493]=33,LJ(n3G,2494,2501,-87),LJ(n3G,2501,2503,33),LJ(n3G,2503,2505,-87),LJ(n3G,2505,2507,33),LJ(n3G,2507,2510,-87),LJ(n3G,2510,2519,33),n3G[2519]=-87,LJ(n3G,2520,2524,33),LJ(n3G,2524,2526,-19),n3G[2526]=33,LJ(n3G,2527,2530,-19),LJ(n3G,2530,2532,-87),LJ(n3G,2532,2534,33),LJ(n3G,2534,2544,-87),LJ(n3G,2544,2546,-19),LJ(n3G,2546,2562,33),n3G[2562]=-87,LJ(n3G,2563,2565,33),LJ(n3G,2565,2571,-19),LJ(n3G,2571,2575,33),LJ(n3G,2575,2577,-19),LJ(n3G,2577,2579,33),LJ(n3G,2579,2601,-19),n3G[2601]=33,LJ(n3G,2602,2609,-19),n3G[2609]=33,LJ(n3G,2610,2612,-19),n3G[2612]=33,LJ(n3G,2613,2615,-19),n3G[2615]=33,LJ(n3G,2616,2618,-19),LJ(n3G,2618,2620,33),n3G[2620]=-87,n3G[2621]=33,LJ(n3G,2622,2627,-87),LJ(n3G,2627,2631,33),LJ(n3G,2631,2633,-87),LJ(n3G,2633,2635,33),LJ(n3G,2635,2638,-87),LJ(n3G,2638,2649,33),LJ(n3G,2649,2653,-19),n3G[2653]=33,n3G[2654]=-19,LJ(n3G,2655,2662,33),LJ(n3G,2662,2674,-87),LJ(n3G,2674,2677,-19),LJ(n3G,2677,2689,33),LJ(n3G,2689,2692,-87),n3G[2692]=33,LJ(n3G,2693,2700,-19),n3G[2700]=33,n3G[2701]=-19,n3G[2702]=33,LJ(n3G,2703,2706,-19),n3G[2706]=33,LJ(n3G,2707,2729,-19),n3G[2729]=33,LJ(n3G,2730,2737,-19),n3G[2737]=33,LJ(n3G,2738,2740,-19),n3G[2740]=33,LJ(n3G,2741,2746,-19),LJ(n3G,2746,2748,33),n3G[2748]=-87,n3G[2749]=-19,LJ(n3G,2750,2758,-87),n3G[2758]=33,LJ(n3G,2759,2762,-87),n3G[2762]=33,LJ(n3G,2763,2766,-87),LJ(n3G,2766,2784,33),n3G[2784]=-19,LJ(n3G,2785,2790,33),LJ(n3G,2790,2800,-87),LJ(n3G,2800,2817,33),LJ(n3G,2817,2820,-87),n3G[2820]=33,LJ(n3G,2821,2829,-19),LJ(n3G,2829,2831,33),LJ(n3G,2831,2833,-19),LJ(n3G,2833,2835,33),LJ(n3G,2835,2857,-19),n3G[2857]=33,LJ(n3G,2858,2865,-19),n3G[2865]=33,LJ(n3G,2866,2868,-19),LJ(n3G,2868,2870,33),LJ(n3G,2870,2874,-19),LJ(n3G,2874,2876,33),n3G[2876]=-87,n3G[2877]=-19,LJ(n3G,2878,2884,-87),LJ(n3G,2884,2887,33),LJ(n3G,2887,2889,-87),LJ(n3G,2889,2891,33),LJ(n3G,2891,2894,-87),LJ(n3G,2894,2902,33),LJ(n3G,2902,2904,-87),LJ(n3G,2904,2908,33),LJ(n3G,2908,2910,-19),n3G[2910]=33,LJ(n3G,2911,2914,-19),LJ(n3G,2914,2918,33),LJ(n3G,2918,2928,-87),LJ(n3G,2928,2946,33),LJ(n3G,2946,2948,-87),n3G[2948]=33,LJ(n3G,2949,2955,-19),LJ(n3G,2955,2958,33),LJ(n3G,2958,2961,-19),n3G[2961]=33,LJ(n3G,2962,2966,-19),LJ(n3G,2966,2969,33),LJ(n3G,2969,2971,-19),n3G[2971]=33,n3G[2972]=-19,n3G[2973]=33,LJ(n3G,2974,2976,-19),LJ(n3G,2976,2979,33),LJ(n3G,2979,2981,-19),LJ(n3G,2981,2984,33),LJ(n3G,2984,2987,-19),LJ(n3G,2987,2990,33),LJ(n3G,2990,2998,-19),n3G[2998]=33,LJ(n3G,2999,3002,-19),LJ(n3G,3002,3006,33),LJ(n3G,3006,3011,-87),LJ(n3G,3011,3014,33),LJ(n3G,3014,3017,-87),n3G[3017]=33,LJ(n3G,3018,3022,-87),LJ(n3G,3022,3031,33),n3G[3031]=-87,LJ(n3G,3032,3047,33),LJ(n3G,3047,3056,-87),LJ(n3G,3056,3073,33),LJ(n3G,3073,3076,-87),n3G[3076]=33,LJ(n3G,3077,3085,-19),n3G[3085]=33,LJ(n3G,3086,3089,-19),n3G[3089]=33,LJ(n3G,3090,3113,-19),n3G[3113]=33,LJ(n3G,3114,3124,-19),n3G[3124]=33,LJ(n3G,3125,3130,-19),LJ(n3G,3130,3134,33),LJ(n3G,3134,3141,-87),n3G[3141]=33,LJ(n3G,3142,3145,-87),n3G[3145]=33,LJ(n3G,3146,3150,-87),LJ(n3G,3150,3157,33),LJ(n3G,3157,3159,-87),LJ(n3G,3159,3168,33),LJ(n3G,3168,3170,-19),LJ(n3G,3170,3174,33),LJ(n3G,3174,3184,-87),LJ(n3G,3184,3202,33),LJ(n3G,3202,3204,-87),n3G[3204]=33,LJ(n3G,3205,3213,-19),n3G[3213]=33,LJ(n3G,3214,3217,-19),n3G[3217]=33,LJ(n3G,3218,3241,-19),n3G[3241]=33,LJ(n3G,3242,3252,-19),n3G[3252]=33,LJ(n3G,3253,3258,-19),LJ(n3G,3258,3262,33),LJ(n3G,3262,3269,-87),n3G[3269]=33,LJ(n3G,3270,3273,-87),n3G[3273]=33,LJ(n3G,3274,3278,-87),LJ(n3G,3278,3285,33),LJ(n3G,3285,3287,-87),LJ(n3G,3287,3294,33),n3G[3294]=-19,n3G[3295]=33,LJ(n3G,3296,3298,-19),LJ(n3G,3298,3302,33),LJ(n3G,3302,3312,-87),LJ(n3G,3312,3330,33),LJ(n3G,3330,3332,-87),n3G[3332]=33,LJ(n3G,3333,3341,-19),n3G[3341]=33,LJ(n3G,3342,3345,-19),n3G[3345]=33,LJ(n3G,3346,3369,-19),n3G[3369]=33,LJ(n3G,3370,3386,-19),LJ(n3G,3386,3390,33),LJ(n3G,3390,3396,-87),LJ(n3G,3396,3398,33),LJ(n3G,3398,3401,-87),n3G[3401]=33,LJ(n3G,3402,3406,-87),LJ(n3G,3406,3415,33),n3G[3415]=-87,LJ(n3G,3416,3424,33),LJ(n3G,3424,3426,-19),LJ(n3G,3426,3430,33),LJ(n3G,3430,3440,-87),LJ(n3G,3440,3585,33),LJ(n3G,3585,3631,-19),n3G[3631]=33,n3G[3632]=-19,n3G[3633]=-87,LJ(n3G,3634,3636,-19),LJ(n3G,3636,3643,-87),LJ(n3G,3643,3648,33),LJ(n3G,3648,3654,-19),LJ(n3G,3654,3663,-87),n3G[3663]=33,LJ(n3G,3664,3674,-87),LJ(n3G,3674,3713,33),LJ(n3G,3713,3715,-19),n3G[3715]=33,n3G[3716]=-19,LJ(n3G,3717,3719,33),LJ(n3G,3719,3721,-19),n3G[3721]=33,n3G[3722]=-19,LJ(n3G,3723,3725,33),n3G[3725]=-19,LJ(n3G,3726,3732,33),LJ(n3G,3732,3736,-19),n3G[3736]=33,LJ(n3G,3737,3744,-19),n3G[3744]=33,LJ(n3G,3745,3748,-19),n3G[3748]=33,n3G[3749]=-19,n3G[3750]=33,n3G[3751]=-19,LJ(n3G,3752,3754,33),LJ(n3G,3754,3756,-19),n3G[3756]=33,LJ(n3G,3757,3759,-19),n3G[3759]=33,n3G[3760]=-19,n3G[3761]=-87,LJ(n3G,3762,3764,-19),LJ(n3G,3764,3770,-87),n3G[3770]=33,LJ(n3G,3771,3773,-87),n3G[3773]=-19,LJ(n3G,3774,3776,33),LJ(n3G,3776,3781,-19),n3G[3781]=33,n3G[3782]=-87,n3G[3783]=33,LJ(n3G,3784,3790,-87),LJ(n3G,3790,3792,33),LJ(n3G,3792,3802,-87),LJ(n3G,3802,3864,33),LJ(n3G,3864,3866,-87),LJ(n3G,3866,3872,33),LJ(n3G,3872,3882,-87),LJ(n3G,3882,3893,33),n3G[3893]=-87,n3G[3894]=33,n3G[3895]=-87,n3G[3896]=33,n3G[3897]=-87,LJ(n3G,3898,3902,33),LJ(n3G,3902,3904,-87),LJ(n3G,3904,3912,-19),n3G[3912]=33,LJ(n3G,3913,3946,-19),LJ(n3G,3946,3953,33),LJ(n3G,3953,3973,-87),n3G[3973]=33,LJ(n3G,3974,3980,-87),LJ(n3G,3980,3984,33),LJ(n3G,3984,3990,-87),n3G[3990]=33,n3G[3991]=-87,n3G[3992]=33,LJ(n3G,3993,4014,-87),LJ(n3G,4014,4017,33),LJ(n3G,4017,4024,-87),n3G[4024]=33,n3G[4025]=-87,LJ(n3G,4026,4256,33),LJ(n3G,4256,4294,-19),LJ(n3G,4294,4304,33),LJ(n3G,4304,4343,-19),LJ(n3G,4343,4352,33),n3G[4352]=-19,n3G[4353]=33,LJ(n3G,4354,4356,-19),n3G[4356]=33,LJ(n3G,4357,4360,-19),n3G[4360]=33,n3G[4361]=-19,n3G[4362]=33,LJ(n3G,4363,4365,-19),n3G[4365]=33,LJ(n3G,4366,4371,-19),LJ(n3G,4371,4412,33),n3G[4412]=-19,n3G[4413]=33,n3G[4414]=-19,n3G[4415]=33,n3G[4416]=-19,LJ(n3G,4417,4428,33),n3G[4428]=-19,n3G[4429]=33,n3G[4430]=-19,n3G[4431]=33,n3G[4432]=-19,LJ(n3G,4433,4436,33),LJ(n3G,4436,4438,-19),LJ(n3G,4438,4441,33),n3G[4441]=-19,LJ(n3G,4442,4447,33),LJ(n3G,4447,4450,-19),n3G[4450]=33,n3G[4451]=-19,n3G[4452]=33,n3G[4453]=-19,n3G[4454]=33,n3G[4455]=-19,n3G[4456]=33,n3G[4457]=-19,LJ(n3G,4458,4461,33),LJ(n3G,4461,4463,-19),LJ(n3G,4463,4466,33),LJ(n3G,4466,4468,-19),n3G[4468]=33,n3G[4469]=-19,LJ(n3G,4470,4510,33),n3G[4510]=-19,LJ(n3G,4511,4520,33),n3G[4520]=-19,LJ(n3G,4521,4523,33),n3G[4523]=-19,LJ(n3G,4524,4526,33),LJ(n3G,4526,4528,-19),LJ(n3G,4528,4535,33),LJ(n3G,4535,4537,-19),n3G[4537]=33,n3G[4538]=-19,n3G[4539]=33,LJ(n3G,4540,4547,-19),LJ(n3G,4547,4587,33),n3G[4587]=-19,LJ(n3G,4588,4592,33),n3G[4592]=-19,LJ(n3G,4593,4601,33),n3G[4601]=-19,LJ(n3G,4602,7680,33),LJ(n3G,7680,7836,-19),LJ(n3G,7836,7840,33),LJ(n3G,7840,7930,-19),LJ(n3G,7930,7936,33),LJ(n3G,7936,7958,-19),LJ(n3G,7958,7960,33),LJ(n3G,7960,7966,-19),LJ(n3G,7966,7968,33),LJ(n3G,7968,8006,-19),LJ(n3G,8006,8008,33),LJ(n3G,8008,8014,-19),LJ(n3G,8014,8016,33),LJ(n3G,8016,8024,-19),n3G[8024]=33,n3G[8025]=-19,n3G[8026]=33,n3G[8027]=-19,n3G[8028]=33,n3G[8029]=-19,n3G[8030]=33,LJ(n3G,8031,8062,-19),LJ(n3G,8062,8064,33),LJ(n3G,8064,8117,-19),n3G[8117]=33,LJ(n3G,8118,8125,-19),n3G[8125]=33,n3G[8126]=-19,LJ(n3G,8127,8130,33),LJ(n3G,8130,8133,-19),n3G[8133]=33,LJ(n3G,8134,8141,-19),LJ(n3G,8141,8144,33),LJ(n3G,8144,8148,-19),LJ(n3G,8148,8150,33),LJ(n3G,8150,8156,-19),LJ(n3G,8156,8160,33),LJ(n3G,8160,8173,-19),LJ(n3G,8173,8178,33),LJ(n3G,8178,8181,-19),n3G[8181]=33,LJ(n3G,8182,8189,-19),LJ(n3G,8189,8400,33),LJ(n3G,8400,8413,-87),LJ(n3G,8413,8417,33),n3G[8417]=-87,LJ(n3G,8418,8486,33),n3G[8486]=-19,LJ(n3G,8487,8490,33),LJ(n3G,8490,8492,-19),LJ(n3G,8492,8494,33),n3G[8494]=-19,LJ(n3G,8495,8576,33),LJ(n3G,8576,8579,-19),LJ(n3G,8579,12293,33),n3G[12293]=-87,n3G[12294]=33,n3G[12295]=-19,LJ(n3G,12296,12321,33),LJ(n3G,12321,12330,-19),LJ(n3G,12330,12336,-87),n3G[12336]=33,LJ(n3G,12337,12342,-87),LJ(n3G,12342,12353,33),LJ(n3G,12353,12437,-19),LJ(n3G,12437,12441,33),LJ(n3G,12441,12443,-87),LJ(n3G,12443,12445,33),LJ(n3G,12445,12447,-87),LJ(n3G,12447,12449,33),LJ(n3G,12449,12539,-19),n3G[12539]=33,LJ(n3G,12540,12543,-87),LJ(n3G,12543,12549,33),LJ(n3G,12549,12589,-19),LJ(n3G,12589,19968,33),LJ(n3G,19968,40870,-19),LJ(n3G,40870,44032,33),LJ(n3G,44032,55204,-19),LJ(n3G,55204,nwq,33),LJ(n3G,57344,65534,33)}var nlQ,nlJ,nlY="object",nlZ="boolean",nl1="number",nl0="string",nl2="function",nl3=0x7fffffff,nl4="java.lang",nl6={3:1},nl5="com.google.common.base",nl8=", ",nl9="%s (%s) must not be negative",nl7={3:1,4:1,5:1},nbn="negative size: ",nbt="no calls to next() since the last call to remove()",nbe="Optional.of(",nbi="null",nbr={204:1,51:1},nba="com.google.common.collect",nbc={204:1,51:1,128:1},nbo={229:1,3:1},nbu={51:1},nbs="java.util",nbh={85:1},nbf={20:1,31:1,16:1},nbl={20:1,31:1,16:1,21:1},nbb={85:1,139:1,133:1},nbw={20:1,31:1,16:1,21:1,87:1},nbd={20:1,31:1,16:1,277:1,21:1,87:1},nbg={51:1,128:1},nbp={358:1,44:1},nbm="AbstractMapEntry",nbv="expectedValuesPerKey",nby={3:1,6:1,4:1,5:1},nbk=16384,nbM={159:1},nbE={41:1},nbT={202:1},nbj={l:4194303,m:4194303,h:524287},nbS={253:1,3:1,34:1},nbP="range unbounded on this side",nbO={20:1},nbC={20:1,16:1},nbI={3:1,20:1,31:1,16:1},nbA={307:1,3:1,20:1,31:1,16:1,15:1,59:1},nbL={3:1,4:1,5:1,173:1},nbN={3:1,85:1},nbx={20:1,16:1,21:1},nb$={3:1,20:1,31:1,16:1,21:1},nbD={20:1,16:1,21:1,87:1},nbR=0x1b873593,nbK=-0x3361d2af,nbF={3:1,6:1,4:1,5:1,173:1},nb_="expectedSize",nbB=1024,nbH=0x40000000,nbU="initialArraySize",nbG={3:1,6:1,4:1,9:1,5:1},nbq={20:1,31:1,56:1,16:1,15:1},nbX="arraySize",nbz={20:1,31:1,56:1,16:1,15:1,59:1},nbV={46:1},nbW={380:1},nbQ=1e-4,nbJ=-0x80000000,nbY="__noinit__",nbZ={3:1,103:1,63:1,82:1},nb1="com.google.gwt.core.client.impl",nb0="String",nb2="com.google.gwt.core.client",nb3="anonymous",nb4="fnStack",nb6="Unknown",nb5={201:1,3:1,4:1},nb8=1e3,nb9=65535,nb7="January",nwn="February",nwt="March",nwe="April",nwi="May",nwr="June",nwa="July",nwc="August",nwo="September",nwu="October",nws="November",nwh="December",nwf=1900,nwl={53:1,3:1,4:1},nwb="Before Christ",nww="Anno Domini",nwd="Sunday",nwg="Monday",nwp="Tuesday",nwm="Wednesday",nwv="Thursday",nwy="Friday",nwk="Saturday",nwM="com.google.gwt.i18n.shared",nwE="DateTimeFormat",nwT="com.google.gwt.i18n.client",nwj="DefaultDateTimeFormatInfo",nwS={3:1,4:1,34:1,206:1},nwP="com.google.gwt.json.client",nwO=4194303,nwC=1048575,nwI=524288,nwA=4194304,nwL=0x100000000000,nwN=1e9,nwx=-0x100000000000,nw$="java.io",nwD={3:1,103:1,77:1,63:1,82:1},nwR={3:1,296:1,82:1},nwK='For input string: "',nwF=1/0,nw_=-1/0,nwB=4096,nwH={3:1,4:1,376:1},nwU="org.eclipse.elk.layered",nwG=65536,nwq=55296,nwX={109:1,3:1,4:1},nwz=1e5,nwV=.3010299956639812,nwW=0xffffffff,nwQ="0.0",nwJ={44:1},nwY="Unable to add element to queue",nwZ={3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1},nw1={3:1,20:1,31:1,56:1,16:1,15:1,59:1},nw0={20:1,16:1,15:1},nw2={3:1,50:1},nw3={189:1},nw4={3:1,4:1,85:1},nw6={3:1,4:1,20:1,31:1,16:1,49:1,21:1},nw5="delete",nw8=14901161193847656e-24,nw9=11102230246251565e-32,nw7=0xece66d,ndn=5960464477539063e-23,ndt=0x1000000,nde=0xffffff,ndi=", length: ",ndr={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1},nda="subMap: ",ndc=" less than ",ndo={3:1,34:1,22:1,304:1},ndu="java.util.function",nds="java.util.logging",ndh={3:1,4:1,5:1,856:1},ndf="undefined",ndl="java.util.stream",ndb={533:1,687:1},ndw="fromIndex: ",ndd=" > toIndex: ",ndg=", toIndex: ",ndp="Index: ",ndm=", Size: ",ndv="org.eclipse.elk.alg.common",ndy={50:1},ndk="org.eclipse.elk.alg.common.compaction",ndM="Scanline/EventHandler",ndE="org.eclipse.elk.alg.common.compaction.oned",ndT="CNode belongs to another CGroup.",ndj="ISpacingsHandler/1",ndS="The ",ndP=" instance has been finished already.",ndO="The direction ",ndC=" is not supported by the CGraph instance.",ndI="OneDimensionalCompactor",ndA="OneDimensionalCompactor/lambda$0$Type",ndL="Quadruplet",ndN="ScanlineConstraintCalculator",ndx="ScanlineConstraintCalculator/ConstraintsScanlineHandler",nd$="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",ndD="ScanlineConstraintCalculator/Timestamp",ndR="ScanlineConstraintCalculator/lambda$0$Type",ndK={178:1,46:1},ndF="org.eclipse.elk.alg.common.compaction.options",nd_="org.eclipse.elk.core.data",ndB="org.eclipse.elk.polyomino.traversalStrategy",ndH="org.eclipse.elk.polyomino.lowLevelSort",ndU="org.eclipse.elk.polyomino.highLevelSort",ndG="org.eclipse.elk.polyomino.fill",ndq={134:1},ndX="polyomino",ndz="org.eclipse.elk.alg.common.networksimplex",ndV={183:1,3:1,4:1},ndW="org.eclipse.elk.alg.common.nodespacing",ndQ="org.eclipse.elk.alg.common.nodespacing.cellsystem",ndJ="CENTER",ndY={217:1,336:1},ndZ={3:1,4:1,5:1,603:1},nd1="LEFT",nd0="RIGHT",nd2="Vertical alignment cannot be null",nd3="BOTTOM",nd4="org.eclipse.elk.alg.common.nodespacing.internal",nd6="UNDEFINED",nd5=.01,nd8="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",nd9="LabelPlacer/lambda$0$Type",nd7="LabelPlacer/lambda$1$Type",ngn="portRatioOrPosition",ngt="org.eclipse.elk.alg.common.overlaps",nge="DOWN",ngi="org.eclipse.elk.alg.common.polyomino",ngr="NORTH",nga="EAST",ngc="SOUTH",ngo="WEST",ngu="org.eclipse.elk.alg.common.polyomino.structures",ngs="Direction",ngh="Grid is only of size ",ngf=". Requested point (",ngl=") is out of bounds.",ngb=" Given center based coordinates were (",ngw="org.eclipse.elk.graph.properties",ngd="IPropertyHolder",ngg={3:1,96:1,137:1},ngp="org.eclipse.elk.alg.common.spore",ngm="org.eclipse.elk.alg.common.utils",ngv={205:1},ngy="org.eclipse.elk.core",ngk="Connected Components Compaction",ngM="org.eclipse.elk.alg.disco",ngE="org.eclipse.elk.alg.disco.graph",ngT="org.eclipse.elk.alg.disco.options",ngj="CompactionStrategy",ngS="org.eclipse.elk.disco.componentCompaction.strategy",ngP="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",ngO="org.eclipse.elk.disco.debug.discoGraph",ngC="org.eclipse.elk.disco.debug.discoPolys",ngI="componentCompaction",ngA="org.eclipse.elk.disco",ngL="org.eclipse.elk.spacing.componentComponent",ngN="org.eclipse.elk.edge.thickness",ngx="org.eclipse.elk.aspectRatio",ng$="org.eclipse.elk.padding",ngD="org.eclipse.elk.alg.disco.transform",ngR=1.5707963267948966,ngK=17976931348623157e292,ngF={3:1,4:1,5:1,198:1},ng_={3:1,6:1,4:1,5:1,100:1,115:1},ngB="org.eclipse.elk.alg.force",ngH="ComponentsProcessor",ngU="ComponentsProcessor/1",ngG="ElkGraphImporter/lambda$0$Type",ngq="org.eclipse.elk.alg.force.graph",ngX="Component Layout",ngz="org.eclipse.elk.alg.force.model",ngV="org.eclipse.elk.force.model",ngW="org.eclipse.elk.force.iterations",ngQ="org.eclipse.elk.force.repulsivePower",ngJ="org.eclipse.elk.force.temperature",ngY=.001,ngZ="org.eclipse.elk.force.repulsion",ng1="org.eclipse.elk.alg.force.options",ng0=1.600000023841858,ng2="org.eclipse.elk.force",ng3="org.eclipse.elk.priority",ng4="org.eclipse.elk.spacing.nodeNode",ng6="org.eclipse.elk.spacing.edgeLabel",ng5="org.eclipse.elk.randomSeed",ng8="org.eclipse.elk.separateConnectedComponents",ng9="org.eclipse.elk.interactive",ng7="org.eclipse.elk.portConstraints",npn="org.eclipse.elk.edgeLabels.inline",npt="org.eclipse.elk.omitNodeMicroLayout",npe="org.eclipse.elk.nodeSize.fixedGraphSize",npi="org.eclipse.elk.nodeSize.options",npr="org.eclipse.elk.nodeSize.constraints",npa="org.eclipse.elk.nodeLabels.placement",npc="org.eclipse.elk.portLabels.placement",npo="org.eclipse.elk.topdownLayout",npu="org.eclipse.elk.topdown.scaleFactor",nps="org.eclipse.elk.topdown.hierarchicalNodeWidth",nph="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",npf="org.eclipse.elk.topdown.nodeType",npl="origin",npb="random",npw="boundingBox.upLeft",npd="boundingBox.lowRight",npg="org.eclipse.elk.stress.fixed",npp="org.eclipse.elk.stress.desiredEdgeLength",npm="org.eclipse.elk.stress.dimension",npv="org.eclipse.elk.stress.epsilon",npy="org.eclipse.elk.stress.iterationLimit",npk="org.eclipse.elk.stress",npM="ELK Stress",npE="org.eclipse.elk.nodeSize.minimum",npT="org.eclipse.elk.alg.force.stress",npj="Layered layout",npS="org.eclipse.elk.alg.layered",npP="org.eclipse.elk.alg.layered.compaction.components",npO="org.eclipse.elk.alg.layered.compaction.oned",npC="org.eclipse.elk.alg.layered.compaction.oned.algs",npI="org.eclipse.elk.alg.layered.compaction.recthull",npA="org.eclipse.elk.alg.layered.components",npL="NONE",npN="MODEL_ORDER",npx={3:1,6:1,4:1,9:1,5:1,126:1},np$={3:1,6:1,4:1,5:1,150:1,100:1,115:1},npD="org.eclipse.elk.alg.layered.compound",npR={47:1},npK="org.eclipse.elk.alg.layered.graph",npF=" -> ",np_="Not supported by LGraph",npB="Port side is undefined",npH={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},npU={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},npG={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},npq="([{\"' \r\n",npX=")]}\"' \r\n",npz="The given string contains parts that cannot be parsed as numbers.",npV="org.eclipse.elk.core.math",npW={3:1,4:1,140:1,214:1,423:1},npQ={3:1,4:1,107:1,214:1,423:1},npJ="org.eclipse.elk.alg.layered.graph.transform",npY="ElkGraphImporter",npZ="ElkGraphImporter/lambda$1$Type",np1="ElkGraphImporter/lambda$2$Type",np0="ElkGraphImporter/lambda$4$Type",np2="org.eclipse.elk.alg.layered.intermediate",np3="Node margin calculation",np4="ONE_SIDED_GREEDY_SWITCH",np6="TWO_SIDED_GREEDY_SWITCH",np5="No implementation is available for the layout processor ",np8="IntermediateProcessorStrategy",np9="Node '",np7="FIRST_SEPARATE",nmn="LAST_SEPARATE",nmt="Odd port side processing",nme="org.eclipse.elk.alg.layered.intermediate.compaction",nmi="org.eclipse.elk.alg.layered.intermediate.greedyswitch",nmr="org.eclipse.elk.alg.layered.p3order.counting",nma={230:1},nmc="org.eclipse.elk.alg.layered.intermediate.loops",nmo="org.eclipse.elk.alg.layered.intermediate.loops.ordering",nmu="org.eclipse.elk.alg.layered.intermediate.loops.routing",nms="org.eclipse.elk.alg.layered.intermediate.preserveorder",nmh="org.eclipse.elk.alg.layered.intermediate.wrapping",nmf="org.eclipse.elk.alg.layered.options",nml="INTERACTIVE",nmb="GREEDY",nmw="DEPTH_FIRST",nmd="EDGE_LENGTH",nmg="SELF_LOOPS",nmp="firstTryWithInitialOrder",nmm="org.eclipse.elk.layered.directionCongruency",nmv="org.eclipse.elk.layered.feedbackEdges",nmy="org.eclipse.elk.layered.interactiveReferencePoint",nmk="org.eclipse.elk.layered.mergeEdges",nmM="org.eclipse.elk.layered.mergeHierarchyEdges",nmE="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",nmT="org.eclipse.elk.layered.portSortingStrategy",nmj="org.eclipse.elk.layered.thoroughness",nmS="org.eclipse.elk.layered.unnecessaryBendpoints",nmP="org.eclipse.elk.layered.generatePositionAndLayerIds",nmO="org.eclipse.elk.layered.cycleBreaking.strategy",nmC="org.eclipse.elk.layered.layering.strategy",nmI="org.eclipse.elk.layered.layering.layerConstraint",nmA="org.eclipse.elk.layered.layering.layerChoiceConstraint",nmL="org.eclipse.elk.layered.layering.layerId",nmN="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",nmx="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",nm$="org.eclipse.elk.layered.layering.nodePromotion.strategy",nmD="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",nmR="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",nmK="org.eclipse.elk.layered.crossingMinimization.strategy",nmF="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",nm_="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",nmB="org.eclipse.elk.layered.crossingMinimization.semiInteractive",nmH="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",nmU="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",nmG="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",nmq="org.eclipse.elk.layered.crossingMinimization.positionId",nmX="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",nmz="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",nmV="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",nmW="org.eclipse.elk.layered.nodePlacement.strategy",nmQ="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",nmJ="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",nmY="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",nmZ="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",nm1="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",nm0="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",nm2="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",nm3="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",nm4="org.eclipse.elk.layered.edgeRouting.splines.mode",nm6="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",nm5="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",nm8="org.eclipse.elk.layered.spacing.baseValue",nm9="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",nm7="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",nvn="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",nvt="org.eclipse.elk.layered.priority.direction",nve="org.eclipse.elk.layered.priority.shortness",nvi="org.eclipse.elk.layered.priority.straightness",nvr="org.eclipse.elk.layered.compaction.connectedComponents",nva="org.eclipse.elk.layered.compaction.postCompaction.strategy",nvc="org.eclipse.elk.layered.compaction.postCompaction.constraints",nvo="org.eclipse.elk.layered.highDegreeNodes.treatment",nvu="org.eclipse.elk.layered.highDegreeNodes.threshold",nvs="org.eclipse.elk.layered.highDegreeNodes.treeHeight",nvh="org.eclipse.elk.layered.wrapping.strategy",nvf="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",nvl="org.eclipse.elk.layered.wrapping.correctionFactor",nvb="org.eclipse.elk.layered.wrapping.cutting.strategy",nvw="org.eclipse.elk.layered.wrapping.cutting.cuts",nvd="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",nvg="org.eclipse.elk.layered.wrapping.validify.strategy",nvp="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",nvm="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",nvv="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",nvy="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",nvk="org.eclipse.elk.layered.edgeLabels.sideSelection",nvM="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",nvE="org.eclipse.elk.layered.considerModelOrder.strategy",nvT="org.eclipse.elk.layered.considerModelOrder.portModelOrder",nvj="org.eclipse.elk.layered.considerModelOrder.noModelOrder",nvS="org.eclipse.elk.layered.considerModelOrder.components",nvP="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",nvO="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",nvC="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",nvI="layering",nvA="layering.minWidth",nvL="layering.nodePromotion",nvN="crossingMinimization",nvx="org.eclipse.elk.hierarchyHandling",nv$="crossingMinimization.greedySwitch",nvD="nodePlacement",nvR="nodePlacement.bk",nvK="edgeRouting",nvF="org.eclipse.elk.edgeRouting",nv_="spacing",nvB="priority",nvH="compaction",nvU="compaction.postCompaction",nvG="Specifies whether and how post-process compaction is applied.",nvq="highDegreeNodes",nvX="wrapping",nvz="wrapping.cutting",nvV="wrapping.validify",nvW="wrapping.multiEdge",nvQ="edgeLabels",nvJ="considerModelOrder",nvY="org.eclipse.elk.spacing.commentComment",nvZ="org.eclipse.elk.spacing.commentNode",nv1="org.eclipse.elk.spacing.edgeEdge",nv0="org.eclipse.elk.spacing.edgeNode",nv2="org.eclipse.elk.spacing.labelLabel",nv3="org.eclipse.elk.spacing.labelPortHorizontal",nv4="org.eclipse.elk.spacing.labelPortVertical",nv6="org.eclipse.elk.spacing.labelNode",nv5="org.eclipse.elk.spacing.nodeSelfLoop",nv8="org.eclipse.elk.spacing.portPort",nv9="org.eclipse.elk.spacing.individual",nv7="org.eclipse.elk.port.borderOffset",nyn="org.eclipse.elk.noLayout",nyt="org.eclipse.elk.port.side",nye="org.eclipse.elk.debugMode",nyi="org.eclipse.elk.alignment",nyr="org.eclipse.elk.insideSelfLoops.activate",nya="org.eclipse.elk.insideSelfLoops.yo",nyc="org.eclipse.elk.direction",nyo="org.eclipse.elk.nodeLabels.padding",nyu="org.eclipse.elk.portLabels.nextToPortIfPossible",nys="org.eclipse.elk.portLabels.treatAsGroup",nyh="org.eclipse.elk.portAlignment.default",nyf="org.eclipse.elk.portAlignment.north",nyl="org.eclipse.elk.portAlignment.south",nyb="org.eclipse.elk.portAlignment.west",nyw="org.eclipse.elk.portAlignment.east",nyd="org.eclipse.elk.contentAlignment",nyg="org.eclipse.elk.junctionPoints",nyp="org.eclipse.elk.edgeLabels.placement",nym="org.eclipse.elk.port.index",nyv="org.eclipse.elk.commentBox",nyy="org.eclipse.elk.hypernode",nyk="org.eclipse.elk.port.anchor",nyM="org.eclipse.elk.partitioning.activate",nyE="org.eclipse.elk.partitioning.partition",nyT="org.eclipse.elk.position",nyj="org.eclipse.elk.margins",nyS="org.eclipse.elk.spacing.portsSurrounding",nyP="org.eclipse.elk.interactiveLayout",nyO="org.eclipse.elk.core.util",nyC={3:1,4:1,5:1,601:1},nyI="NETWORK_SIMPLEX",nyA="SIMPLE",nyL={106:1,47:1},nyN="org.eclipse.elk.alg.layered.p1cycles",nyx="org.eclipse.elk.alg.layered.p2layers",ny$={413:1,230:1},nyD={846:1,3:1,4:1},nyR="org.eclipse.elk.alg.layered.p3order",nyK="org.eclipse.elk.alg.layered.p4nodes",nyF={3:1,4:1,5:1,854:1},ny_=1e-5,nyB="org.eclipse.elk.alg.layered.p4nodes.bk",nyH="org.eclipse.elk.alg.layered.p5edges",nyU="org.eclipse.elk.alg.layered.p5edges.orthogonal",nyG="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",nyq=1e-6,nyX="org.eclipse.elk.alg.layered.p5edges.splines",nyz=.09999999999999998,nyV=1e-8,nyW=4.71238898038469,nyQ=3.141592653589793,nyJ="org.eclipse.elk.alg.mrtree",nyY="SUPER_ROOT",nyZ="org.eclipse.elk.alg.mrtree.graph",ny1=-17976931348623157e292,ny0="org.eclipse.elk.alg.mrtree.intermediate",ny2="Processor compute fanout",ny3={3:1,6:1,4:1,5:1,534:1,100:1,115:1},ny4="Set neighbors in level",ny6="org.eclipse.elk.alg.mrtree.options",ny5="DESCENDANTS",ny8="org.eclipse.elk.mrtree.compaction",ny9="org.eclipse.elk.mrtree.edgeEndTextureLength",ny7="org.eclipse.elk.mrtree.treeLevel",nkn="org.eclipse.elk.mrtree.positionConstraint",nkt="org.eclipse.elk.mrtree.weighting",nke="org.eclipse.elk.mrtree.edgeRoutingMode",nki="org.eclipse.elk.mrtree.searchOrder",nkr="Position Constraint",nka="org.eclipse.elk.mrtree",nkc="org.eclipse.elk.tree",nko="Processor arrange level",nku="org.eclipse.elk.alg.mrtree.p2order",nks="org.eclipse.elk.alg.mrtree.p4route",nkh="org.eclipse.elk.alg.radial",nkf=6.283185307179586,nkl="Before",nkb=5e-324,nkw="After",nkd="org.eclipse.elk.alg.radial.intermediate",nkg="COMPACTION",nkp="org.eclipse.elk.alg.radial.intermediate.compaction",nkm={3:1,4:1,5:1,100:1},nkv="org.eclipse.elk.alg.radial.intermediate.optimization",nky="No implementation is available for the layout option ",nkk="org.eclipse.elk.alg.radial.options",nkM="org.eclipse.elk.radial.centerOnRoot",nkE="org.eclipse.elk.radial.orderId",nkT="org.eclipse.elk.radial.radius",nkj="org.eclipse.elk.radial.rotate",nkS="org.eclipse.elk.radial.compactor",nkP="org.eclipse.elk.radial.compactionStepSize",nkO="org.eclipse.elk.radial.sorter",nkC="org.eclipse.elk.radial.wedgeCriteria",nkI="org.eclipse.elk.radial.optimizationCriteria",nkA="org.eclipse.elk.radial.rotation.targetAngle",nkL="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",nkN="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",nkx="Compaction",nk$="rotation",nkD="org.eclipse.elk.radial",nkR="org.eclipse.elk.alg.radial.p1position.wedge",nkK="org.eclipse.elk.alg.radial.sorting",nkF=5.497787143782138,nk_=3.9269908169872414,nkB=2.356194490192345,nkH="org.eclipse.elk.alg.rectpacking",nkU="org.eclipse.elk.alg.rectpacking.intermediate",nkG="org.eclipse.elk.alg.rectpacking.options",nkq="org.eclipse.elk.rectpacking.trybox",nkX="org.eclipse.elk.rectpacking.currentPosition",nkz="org.eclipse.elk.rectpacking.desiredPosition",nkV="org.eclipse.elk.rectpacking.inNewRow",nkW="org.eclipse.elk.rectpacking.widthApproximation.strategy",nkQ="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",nkJ="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",nkY="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",nkZ="org.eclipse.elk.rectpacking.packing.strategy",nk1="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",nk0="org.eclipse.elk.rectpacking.packing.compaction.iterations",nk2="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",nk3="widthApproximation",nk4="Compaction Strategy",nk6="packing.compaction",nk5="org.eclipse.elk.rectpacking",nk8="org.eclipse.elk.alg.rectpacking.p1widthapproximation",nk9="org.eclipse.elk.alg.rectpacking.p2packing",nk7="No Compaction",nMn="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",nMt="org.eclipse.elk.alg.rectpacking.util",nMe="No implementation available for ",nMi="org.eclipse.elk.alg.spore",nMr="org.eclipse.elk.alg.spore.options",nMa="org.eclipse.elk.sporeCompaction",nMc="org.eclipse.elk.underlyingLayoutAlgorithm",nMo="org.eclipse.elk.processingOrder.treeConstruction",nMu="org.eclipse.elk.processingOrder.spanningTreeCostFunction",nMs="org.eclipse.elk.processingOrder.preferredRoot",nMh="org.eclipse.elk.processingOrder.rootSelection",nMf="org.eclipse.elk.structure.structureExtractionStrategy",nMl="org.eclipse.elk.compaction.compactionStrategy",nMb="org.eclipse.elk.compaction.orthogonal",nMw="org.eclipse.elk.overlapRemoval.maxIterations",nMd="org.eclipse.elk.overlapRemoval.runScanline",nMg="processingOrder",nMp="overlapRemoval",nMm="org.eclipse.elk.sporeOverlap",nMv="org.eclipse.elk.alg.spore.p1structure",nMy="org.eclipse.elk.alg.spore.p2processingorder",nMk="org.eclipse.elk.alg.spore.p3execution",nMM="Topdown Layout",nME="Invalid index: ",nMT="org.eclipse.elk.core.alg",nMj={341:1},nMS={295:1},nMP="Make sure its type is registered with the ",nMO=" utility class.",nMC="true",nMI="false",nMA="Couldn't clone property '",nML=.05,nMN="org.eclipse.elk.core.options",nMx=1.2999999523162842,nM$="org.eclipse.elk.box",nMD="org.eclipse.elk.expandNodes",nMR="org.eclipse.elk.box.packingMode",nMK="org.eclipse.elk.algorithm",nMF="org.eclipse.elk.resolvedAlgorithm",nM_="org.eclipse.elk.bendPoints",nMB="org.eclipse.elk.labelManager",nMH="org.eclipse.elk.scaleFactor",nMU="org.eclipse.elk.childAreaWidth",nMG="org.eclipse.elk.childAreaHeight",nMq="org.eclipse.elk.animate",nMX="org.eclipse.elk.animTimeFactor",nMz="org.eclipse.elk.layoutAncestors",nMV="org.eclipse.elk.maxAnimTime",nMW="org.eclipse.elk.minAnimTime",nMQ="org.eclipse.elk.progressBar",nMJ="org.eclipse.elk.validateGraph",nMY="org.eclipse.elk.validateOptions",nMZ="org.eclipse.elk.zoomToFit",nM1="org.eclipse.elk.font.name",nM0="org.eclipse.elk.font.size",nM2="org.eclipse.elk.topdown.sizeApproximator",nM3="org.eclipse.elk.topdown.scaleCap",nM4="org.eclipse.elk.edge.type",nM6="partitioning",nM5="nodeLabels",nM8="portAlignment",nM9="nodeSize",nM7="port",nEn="portLabels",nEt="topdown",nEe="insideSelfLoops",nEi="org.eclipse.elk.fixed",nEr="org.eclipse.elk.random",nEa={3:1,34:1,22:1,347:1},nEc="port must have a parent node to calculate the port side",nEo="The edge needs to have exactly one edge section. Found: ",nEu="org.eclipse.elk.core.util.adapters",nEs="org.eclipse.emf.ecore",nEh="org.eclipse.elk.graph",nEf="EMapPropertyHolder",nEl="ElkBendPoint",nEb="ElkGraphElement",nEw="ElkConnectableShape",nEd="ElkEdge",nEg="ElkEdgeSection",nEp="EModelElement",nEm="ENamedElement",nEv="ElkLabel",nEy="ElkNode",nEk="ElkPort",nEM={94:1,93:1},nEE="org.eclipse.emf.common.notify.impl",nET="The feature '",nEj="' is not a valid changeable feature",nES="Expecting null",nEP="' is not a valid feature",nEO="The feature ID",nEC=" is not a valid feature ID",nEI=32768,nEA={110:1,94:1,93:1,58:1,54:1,99:1},nEL="org.eclipse.emf.ecore.impl",nEN="org.eclipse.elk.graph.impl",nEx="Recursive containment not allowed for ",nE$="The datatype '",nED="' is not a valid classifier",nER="The value '",nEK={195:1,3:1,4:1},nEF="The class '",nE_="http://www.eclipse.org/elk/ElkGraph",nEB="property",nEH="value",nEU="source",nEG="properties",nEq="identifier",nEX="height",nEz="width",nEV="parent",nEW="text",nEQ="children",nEJ="hierarchical",nEY="sources",nEZ="targets",nE1="sections",nE0="bendPoints",nE2="outgoingShape",nE3="incomingShape",nE4="outgoingSections",nE6="incomingSections",nE5="org.eclipse.emf.common.util",nE8="Severe implementation error in the Json to ElkGraph importer.",nE9="id",nE7="org.eclipse.elk.graph.json",nTn="Unhandled parameter types: ",nTt="startPoint",nTe="An edge must have at least one source and one target (edge id: '",nTi="').",nTr="Referenced edge section does not exist: ",nTa=" (edge id: '",nTc="target",nTo="sourcePoint",nTu="targetPoint",nTs="group",nTh="name",nTf="connectableShape cannot be null",nTl="edge cannot be null",nTb="Passed edge is not 'simple'.",nTw="org.eclipse.elk.graph.util",nTd="The 'no duplicates' constraint is violated",nTg="targetIndex=",nTp=", size=",nTm="sourceIndex=",nTv={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},nTy={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},nTk="logging",nTM="measureExecutionTime",nTE="parser.parse.1",nTT="parser.parse.2",nTj="parser.next.1",nTS="parser.next.2",nTP="parser.next.3",nTO="parser.next.4",nTC="parser.factor.1",nTI="parser.factor.2",nTA="parser.factor.3",nTL="parser.factor.4",nTN="parser.factor.5",nTx="parser.factor.6",nT$="parser.atom.1",nTD="parser.atom.2",nTR="parser.atom.3",nTK="parser.atom.4",nTF="parser.atom.5",nT_="parser.cc.1",nTB="parser.cc.2",nTH="parser.cc.3",nTU="parser.cc.5",nTG="parser.cc.6",nTq="parser.cc.7",nTX="parser.cc.8",nTz="parser.ope.1",nTV="parser.ope.2",nTW="parser.ope.3",nTQ="parser.descape.1",nTJ="parser.descape.2",nTY="parser.descape.3",nTZ="parser.descape.4",nT1="parser.descape.5",nT0="parser.process.1",nT2="parser.quantifier.1",nT3="parser.quantifier.2",nT4="parser.quantifier.3",nT6="parser.quantifier.4",nT5="parser.quantifier.5",nT8="org.eclipse.emf.common.notify",nT9={424:1,686:1},nT7={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},njn={378:1,152:1},njt="index=",nje={3:1,4:1,5:1,129:1},nji={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},njr={3:1,6:1,4:1,5:1,198:1},nja={3:1,4:1,5:1,173:1,379:1},njc=";/?:@&=+$,",njo="invalid authority: ",nju="EAnnotation",njs="ETypedElement",njh="EStructuralFeature",njf="EAttribute",njl="EClassifier",njb="EEnumLiteral",njw="EGenericType",njd="EOperation",njg="EParameter",njp="EReference",njm="ETypeParameter",njv="org.eclipse.emf.ecore.util",njy={79:1},njk={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},njM="org.eclipse.emf.ecore.util.FeatureMap$Entry",njE=8192,njT=2048,njj="byte",njS="char",njP="double",njO="float",njC="int",njI="long",njA="short",njL="java.lang.Object",njN={3:1,4:1,5:1,254:1},njx={3:1,4:1,5:1,688:1},nj$={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},njD={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},njR="mixed",njK="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",njF="kind",nj_={3:1,4:1,5:1,689:1},njB={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},njH={20:1,31:1,56:1,16:1,15:1,61:1,71:1},njU={51:1,128:1,287:1},njG={76:1,343:1},njq="The value of type '",njX="' must be of type '",njz="http://www.eclipse.org/emf/2002/Ecore",njV="constraints",njW="baseType",njQ="getEStructuralFeature",njJ="getFeatureID",njY="feature",njZ="getOperationID",nj1="operation",nj0="defaultValue",nj2="eTypeParameters",nj3="isInstance",nj4="getEEnumLiteral",nj6="eContainingClass",nj5={57:1},nj8={3:1,4:1,5:1,124:1},nj9="org.eclipse.emf.ecore.resource",nj7={94:1,93:1,599:1,2034:1},nSn="org.eclipse.emf.ecore.resource.impl",nSt="unspecified",nSe="simple",nSi="attribute",nSr="attributeWildcard",nSa="element",nSc="elementWildcard",nSo="collapse",nSu="itemType",nSs="namespace",nSh="##targetNamespace",nSf="whiteSpace",nSl="wildcards",nSb="http://www.eclipse.org/emf/2003/XMLType",nSw="##any",nSd="uninitialized",nSg="The multiplicity constraint is violated",nSp="org.eclipse.emf.ecore.xml.type",nSm="ProcessingInstruction",nSv="SimpleAnyType",nSy="XMLTypeDocumentRoot",nSk="org.eclipse.emf.ecore.xml.type.impl",nSM="processing",nSE="ENTITIES_._base",nST="minLength",nSj="ENTITY",nSS="NCName",nSP="IDREFS_._base",nSO="integer",nSC="token",nSI="pattern",nSA="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",nSL="\\i\\c*",nSN="[\\i-[:]][\\c-[:]]*",nSx="nonPositiveInteger",nS$="maxInclusive",nSD="NMTOKEN",nSR="NMTOKENS_._base",nSK="nonNegativeInteger",nSF="minInclusive",nS_="normalizedString",nSB="unsignedByte",nSH="unsignedInt",nSU="18446744073709551615",nSG="unsignedShort",nSq="processingInstruction",nSX="org.eclipse.emf.ecore.xml.type.internal",nSz=1114111,nSV="Internal Error: shorthands: \\u",nSW="xml:isDigit",nSQ="xml:isWord",nSJ="xml:isSpace",nSY="xml:isNameChar",nSZ="xml:isInitialNameChar",nS1="09\u0660\u0669\u06F0\u06F9\u0966\u096F\u09E6\u09EF\u0A66\u0A6F\u0AE6\u0AEF\u0B66\u0B6F\u0BE7\u0BEF\u0C66\u0C6F\u0CE6\u0CEF\u0D66\u0D6F\u0E50\u0E59\u0ED0\u0ED9\u0F20\u0F29",nS0="AZaz\xc0\xd6\xd8\xf6\xf8\u0131\u0134\u013E\u0141\u0148\u014A\u017E\u0180\u01C3\u01CD\u01F0\u01F4\u01F5\u01FA\u0217\u0250\u02A8\u02BB\u02C1\u0386\u0386\u0388\u038A\u038C\u038C\u038E\u03A1\u03A3\u03CE\u03D0\u03D6\u03DA\u03DA\u03DC\u03DC\u03DE\u03DE\u03E0\u03E0\u03E2\u03F3\u0401\u040C\u040E\u044F\u0451\u045C\u045E\u0481\u0490\u04C4\u04C7\u04C8\u04CB\u04CC\u04D0\u04EB\u04EE\u04F5\u04F8\u04F9\u0531\u0556\u0559\u0559\u0561\u0586\u05D0\u05EA\u05F0\u05F2\u0621\u063A\u0641\u064A\u0671\u06B7\u06BA\u06BE\u06C0\u06CE\u06D0\u06D3\u06D5\u06D5\u06E5\u06E6\u0905\u0939\u093D\u093D\u0958\u0961\u0985\u098C\u098F\u0990\u0993\u09A8\u09AA\u09B0\u09B2\u09B2\u09B6\u09B9\u09DC\u09DD\u09DF\u09E1\u09F0\u09F1\u0A05\u0A0A\u0A0F\u0A10\u0A13\u0A28\u0A2A\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59\u0A5C\u0A5E\u0A5E\u0A72\u0A74\u0A85\u0A8B\u0A8D\u0A8D\u0A8F\u0A91\u0A93\u0AA8\u0AAA\u0AB0\u0AB2\u0AB3\u0AB5\u0AB9\u0ABD\u0ABD\u0AE0\u0AE0\u0B05\u0B0C\u0B0F\u0B10\u0B13\u0B28\u0B2A\u0B30\u0B32\u0B33\u0B36\u0B39\u0B3D\u0B3D\u0B5C\u0B5D\u0B5F\u0B61\u0B85\u0B8A\u0B8E\u0B90\u0B92\u0B95\u0B99\u0B9A\u0B9C\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8\u0BAA\u0BAE\u0BB5\u0BB7\u0BB9\u0C05\u0C0C\u0C0E\u0C10\u0C12\u0C28\u0C2A\u0C33\u0C35\u0C39\u0C60\u0C61\u0C85\u0C8C\u0C8E\u0C90\u0C92\u0CA8\u0CAA\u0CB3\u0CB5\u0CB9\u0CDE\u0CDE\u0CE0\u0CE1\u0D05\u0D0C\u0D0E\u0D10\u0D12\u0D28\u0D2A\u0D39\u0D60\u0D61\u0E01\u0E2E\u0E30\u0E30\u0E32\u0E33\u0E40\u0E45\u0E81\u0E82\u0E84\u0E84\u0E87\u0E88\u0E8A\u0E8A\u0E8D\u0E8D\u0E94\u0E97\u0E99\u0E9F\u0EA1\u0EA3\u0EA5\u0EA5\u0EA7\u0EA7\u0EAA\u0EAB\u0EAD\u0EAE\u0EB0\u0EB0\u0EB2\u0EB3\u0EBD\u0EBD\u0EC0\u0EC4\u0F40\u0F47\u0F49\u0F69\u10A0\u10C5\u10D0\u10F6\u1100\u1100\u1102\u1103\u1105\u1107\u1109\u1109\u110B\u110C\u110E\u1112\u113C\u113C\u113E\u113E\u1140\u1140\u114C\u114C\u114E\u114E\u1150\u1150\u1154\u1155\u1159\u1159\u115F\u1161\u1163\u1163\u1165\u1165\u1167\u1167\u1169\u1169\u116D\u116E\u1172\u1173\u1175\u1175\u119E\u119E\u11A8\u11A8\u11AB\u11AB\u11AE\u11AF\u11B7\u11B8\u11BA\u11BA\u11BC\u11C2\u11EB\u11EB\u11F0\u11F0\u11F9\u11F9\u1E00\u1E9B\u1EA0\u1EF9\u1F00\u1F15\u1F18\u1F1D\u1F20\u1F45\u1F48\u1F4D\u1F50\u1F57\u1F59\u1F59\u1F5B\u1F5B\u1F5D\u1F5D\u1F5F\u1F7D\u1F80\u1FB4\u1FB6\u1FBC\u1FBE\u1FBE\u1FC2\u1FC4\u1FC6\u1FCC\u1FD0\u1FD3\u1FD6\u1FDB\u1FE0\u1FEC\u1FF2\u1FF4\u1FF6\u1FFC\u2126\u2126\u212A\u212B\u212E\u212E\u2180\u2182\u3007\u3007\u3021\u3029\u3041\u3094\u30A1\u30FA\u3105\u312C\u4E00\u9FA5\uAC00\uD7A3",nS2="Private Use",nS3="ASSIGNED",nS4="\0\x7f\x80\xff\u0100\u017F\u0180\u024F\u0250\u02AF\u02B0\u02FF\u0300\u036F\u0370\u03FF\u0400\u04FF\u0530\u058F\u0590\u05FF\u0600\u06FF\u0700\u074F\u0780\u07BF\u0900\u097F\u0980\u09FF\u0A00\u0A7F\u0A80\u0AFF\u0B00\u0B7F\u0B80\u0BFF\u0C00\u0C7F\u0C80\u0CFF\u0D00\u0D7F\u0D80\u0DFF\u0E00\u0E7F\u0E80\u0EFF\u0F00\u0FFF\u1000\u109F\u10A0\u10FF\u1100\u11FF\u1200\u137F\u13A0\u13FF\u1400\u167F\u1680\u169F\u16A0\u16FF\u1780\u17FF\u1800\u18AF\u1E00\u1EFF\u1F00\u1FFF\u2000\u206F\u2070\u209F\u20A0\u20CF\u20D0\u20FF\u2100\u214F\u2150\u218F\u2190\u21FF\u2200\u22FF\u2300\u23FF\u2400\u243F\u2440\u245F\u2460\u24FF\u2500\u257F\u2580\u259F\u25A0\u25FF\u2600\u26FF\u2700\u27BF\u2800\u28FF\u2E80\u2EFF\u2F00\u2FDF\u2FF0\u2FFF\u3000\u303F\u3040\u309F\u30A0\u30FF\u3100\u312F\u3130\u318F\u3190\u319F\u31A0\u31BF\u3200\u32FF\u3300\u33FF\u3400\u4DB5\u4E00\u9FFF\uA000\uA48F\uA490\uA4CF\uAC00\uD7A3\uE000\uF8FF\uF900\uFAFF\uFB00\uFB4F\uFB50\uFDFF\uFE20\uFE2F\uFE30\uFE4F\uFE50\uFE6F\uFE70\uFEFE\uFEFF\uFEFF\uFF00\uFFEF",nS6="UNASSIGNED",nS5={3:1,122:1},nS8="org.eclipse.emf.ecore.xml.type.util",nS9={3:1,4:1,5:1,381:1},nS7="org.eclipse.xtext.xbase.lib",nPn="Cannot add elements to a Range",nPt="Cannot set elements in a Range",nPe="Cannot remove elements from a Range",nPi="user.agent";nP_.goog=nP_.goog||{},nP_.goog.global=nP_.goog.global||nP_,nPH={},ncm(1,null,{},e),nPB.Fb=function(n){return ER(this)===ER(n)},nPB.Gb=function(){return this.Rm},nPB.Hb=function(){return SK(this)},nPB.Ib=function(){return mI(WZ(this))+"@"+(XS(this)>>>0).toString(16)},nPB.equals=function(n){return this.Fb(n)},nPB.hashCode=function(){return this.Hb()},nPB.toString=function(){return this.Ib()},ncm(297,1,{297:1,2124:1},VG),nPB.ve=function(n){var t;return(t=new VG).i=4,n>1?t.c=DY(this,n-1):t.c=this,t},nPB.we=function(){return PL(this),this.b},nPB.xe=function(){return mI(this)},nPB.ye=function(){return PL(this),this.k},nPB.ze=function(){return(4&this.i)!=0},nPB.Ae=function(){return(1&this.i)!=0},nPB.Ib=function(){return Gi(this)},nPB.i=0;var nPr=1,nPa=Nj(nl4,"Object",1),nPc=Nj(nl4,"Class",297);ncm(2096,1,nl6),Nj(nl5,"Optional",2096),ncm(1191,2096,nl6,r),nPB.Fb=function(n){return n===this},nPB.Hb=function(){return 0x79a31aac},nPB.Ib=function(){return"Optional.absent()"},nPB.Jb=function(n){return NP(n),gY(),nPz},Nj(nl5,"Absent",1191),ncm(636,1,{},pW),Nj(nl5,"Joiner",636);var nPo=IH(nl5,"Predicate");ncm(589,1,{178:1,589:1,3:1,46:1},hq),nPB.Mb=function(n){return V5(this,n)},nPB.Lb=function(n){return V5(this,n)},nPB.Fb=function(n){var t;return!!jM(n,589)&&(t=CY(n,589),ncP(this.a,t.a))},nPB.Hb=function(){return V7(this.a)+0x12472c2c},nPB.Ib=function(){return function(n){var t,e,i,r;for(t=NJ(EY(new Sv("Predicates."),"and"),40),e=!0,r=new fq(n);r.b<r.d.gc();)Px(r.b<r.d.gc()),i=r.d.Xb(r.c=r.b++),e||(t.a+=","),t.a+=""+i,e=!1;return(t.a+=")",t).a}(this.a)},Nj(nl5,"Predicates/AndPredicate",589),ncm(419,2096,{419:1,3:1},hX),nPB.Fb=function(n){var t;return!!jM(n,419)&&(t=CY(n,419),QY(this.a,t.a))},nPB.Hb=function(){return 0x598df91c+XS(this.a)},nPB.Ib=function(){return nbe+this.a+")"},nPB.Jb=function(n){return new hX($A(n.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},Nj(nl5,"Present",419),ncm(204,1,nbr),nPB.Nb=function(n){LD(this,n)},nPB.Qb=function(){pQ()},Nj(nba,"UnmodifiableIterator",204),ncm(2076,204,nbc),nPB.Qb=function(){pQ()},nPB.Rb=function(n){throw(new dD).e},nPB.Wb=function(n){throw(new dD).e},Nj(nba,"UnmodifiableListIterator",2076),ncm(399,2076,nbc),nPB.Ob=function(){return this.c<this.d},nPB.Sb=function(){return this.c>0},nPB.Pb=function(){if(this.c>=this.d)throw(new dF).e;return this.Xb(this.c++)},nPB.Tb=function(){return this.c},nPB.Ub=function(){if(this.c<=0)throw(new dF).e;return this.Xb(--this.c)},nPB.Vb=function(){return this.c-1},nPB.c=0,nPB.d=0,Nj(nba,"AbstractIndexedListIterator",399),ncm(713,204,nbr),nPB.Ob=function(){return q7(this)},nPB.Pb=function(){return H3(this)},nPB.e=1,Nj(nba,"AbstractIterator",713),ncm(2084,1,{229:1}),nPB.Zb=function(){return this.f||(this.f=this.ac())},nPB.Fb=function(n){return WE(this,n)},nPB.Hb=function(){return XS(this.Zb())},nPB.dc=function(){return 0==this.gc()},nPB.ec=function(){return AY(this)},nPB.Ib=function(){return J2(this.Zb())},Nj(nba,"AbstractMultimap",2084),ncm(742,2084,nbo),nPB.$b=function(){qO(this)},nPB._b=function(n){return this.c._b(n)},nPB.ac=function(){return new vg(this,this.c)},nPB.ic=function(n){return this.hc()},nPB.bc=function(){return new j4(this,this.c)},nPB.jc=function(){return this.mc(this.hc())},nPB.kc=function(){return new g4(this)},nPB.lc=function(){return niE(this.c.vc().Nc(),new c,64,this.d)},nPB.cc=function(n){return _G(this,n)},nPB.fc=function(n){return Qb(this,n)},nPB.gc=function(){return this.d},nPB.mc=function(n){return $O(),new fF(n)},nPB.nc=function(){return new g3(this)},nPB.oc=function(){return niE(this.c.Cc().Nc(),new a,64,this.d)},nPB.pc=function(n,t){return new Bc(this,n,t,null)},nPB.d=0,Nj(nba,"AbstractMapBasedMultimap",742),ncm(1696,742,nbo),nPB.hc=function(){return new Bf(this.a)},nPB.jc=function(){return $O(),$O(),nO_},nPB.cc=function(n){return CY(_G(this,n),15)},nPB.fc=function(n){return CY(Qb(this,n),15)},nPB.Zb=function(){return $M(this)},nPB.Fb=function(n){return WE(this,n)},nPB.qc=function(n){return CY(_G(this,n),15)},nPB.rc=function(n){return CY(Qb(this,n),15)},nPB.mc=function(n){return $B(CY(n,15))},nPB.pc=function(n,t){return KY(this,n,CY(t,15),null)},Nj(nba,"AbstractListMultimap",1696),ncm(748,1,nbu),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.c.Ob()||this.e.Ob()},nPB.Pb=function(){var n;return this.e.Ob()||(n=CY(this.c.Pb(),44),this.b=n.ld(),this.a=CY(n.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},nPB.Qb=function(){this.e.Qb(),CY(xh(this.a),16).dc()&&this.c.Qb(),--this.d.d},Nj(nba,"AbstractMapBasedMultimap/Itr",748),ncm(1129,748,nbu,g3),nPB.sc=function(n,t){return t},Nj(nba,"AbstractMapBasedMultimap/1",1129),ncm(1130,1,{},a),nPB.Kb=function(n){return CY(n,16).Nc()},Nj(nba,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),ncm(1131,748,nbu,g4),nPB.sc=function(n,t){return new vj(n,t)},Nj(nba,"AbstractMapBasedMultimap/2",1131);var nPu=IH(nbs,"Map");ncm(2065,1,nbh),nPB.wc=function(n){zs(this,n)},nPB.yc=function(n,t,e){return JJ(this,n,t,e)},nPB.$b=function(){this.vc().$b()},nPB.tc=function(n){return ntn(this,n)},nPB._b=function(n){return!!ne5(this,n,!1)},nPB.uc=function(n){var t,e;for(t=this.vc().Kc();t.Ob();)if(e=CY(t.Pb(),44).md(),ER(n)===ER(e)||null!=n&&QY(n,e))return!0;return!1},nPB.Fb=function(n){var t,e,i;if(n===this)return!0;if(!jM(n,85)||(i=CY(n,85),this.gc()!=i.gc()))return!1;for(e=i.vc().Kc();e.Ob();)if(t=CY(e.Pb(),44),!this.tc(t))return!1;return!0},nPB.xc=function(n){return ED(ne5(this,n,!1))},nPB.Hb=function(){return VT(this.vc())},nPB.dc=function(){return 0==this.gc()},nPB.ec=function(){return new fS(this)},nPB.zc=function(n,t){throw new pR("Put not supported on this map").e},nPB.Ac=function(n){X7(this,n)},nPB.Bc=function(n){return ED(ne5(this,n,!0))},nPB.gc=function(){return this.vc().gc()},nPB.Ib=function(){return nii(this)},nPB.Cc=function(){return new fN(this)},Nj(nbs,"AbstractMap",2065),ncm(2085,2065,nbh),nPB.bc=function(){return new vx(this)},nPB.vc=function(){return AJ(this)},nPB.ec=function(){return this.g||(this.g=this.bc())},nPB.Cc=function(){return this.i||(this.i=new vN(this))},Nj(nba,"Maps/ViewCachingAbstractMap",2085),ncm(402,2085,nbh,vg),nPB.xc=function(n){var t;return(t=CY(QH(this.d,n),16))?this.e.pc(n,t):null},nPB.Bc=function(n){var t,e;return(t=CY(this.d.Bc(n),16))?((e=this.e.hc()).Gc(t),this.e.d-=t.gc(),t.$b(),e):null},nPB.$b=function(){this.d==this.e.c?this.e.$b():IJ(new IZ(this))},nPB._b=function(n){return Q_(this.d,n)},nPB.Ec=function(){return new hz(this)},nPB.Dc=function(){return this.Ec()},nPB.Fb=function(n){return this===n||QY(this.d,n)},nPB.Hb=function(){return XS(this.d)},nPB.ec=function(){return this.e.ec()},nPB.gc=function(){return this.d.gc()},nPB.Ib=function(){return J2(this.d)},Nj(nba,"AbstractMapBasedMultimap/AsMap",402);var nPs=IH(nl4,"Iterable");ncm(31,1,nbf),nPB.Jc=function(n){_r(this,n)},nPB.Lc=function(){return this.Oc()},nPB.Nc=function(){return new R$(this,0)},nPB.Oc=function(){return new Aa(null,this.Nc())},nPB.Fc=function(n){throw new pR("Add not supported on this collection").e},nPB.Gc=function(n){return Xx(this,n)},nPB.$b=function(){xJ(this)},nPB.Hc=function(n){return Yd(this,n,!1)},nPB.Ic=function(n){return z7(this,n)},nPB.dc=function(){return 0==this.gc()},nPB.Mc=function(n){return Yd(this,n,!0)},nPB.Pc=function(){return A3(this)},nPB.Qc=function(n){return nn7(this,n)},nPB.Ib=function(){return niV(this)},Nj(nbs,"AbstractCollection",31);var nPh=IH(nbs,"Set");ncm(2063,31,nbl),nPB.Nc=function(){return new R$(this,1)},nPB.Fb=function(n){return Zk(this,n)},nPB.Hb=function(){return VT(this)},Nj(nbs,"AbstractSet",2063),ncm(2068,2063,nbl),Nj(nba,"Sets/ImprovedAbstractSet",2068),ncm(2069,2068,nbl),nPB.$b=function(){this.Rc().$b()},nPB.Hc=function(n){return YB(this,n)},nPB.dc=function(){return this.Rc().dc()},nPB.Mc=function(n){var t;return!!(this.Hc(n)&&jM(n,44))&&(t=CY(n,44),this.Rc().ec().Mc(t.ld()))},nPB.gc=function(){return this.Rc().gc()},Nj(nba,"Maps/EntrySet",2069),ncm(1127,2069,nbl,hz),nPB.Hc=function(n){return QB(this.a.d.vc(),n)},nPB.Kc=function(){return new IZ(this.a)},nPB.Rc=function(){return this.a},nPB.Mc=function(n){var t,e,i,r,a;return!!QB(this.a.d.vc(),n)&&(t=CY(xh(CY(n,44)),44),e=this.a.e,i=t.ld(),(r=CY(function(n,t){NP(n);try{return n.Bc(t)}catch(n){if(jM(n=Vt(n),212)||jM(n,169))return null;throw n.e}}(e.c,i),16))&&(a=r.gc(),r.$b(),e.d-=a),!0)},nPB.Nc=function(){return CX(this.a.d.vc().Nc(),new hV(this.a))},Nj(nba,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),ncm(1128,1,{},hV),nPB.Kb=function(n){return _O(this.a,CY(n,44))},Nj(nba,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),ncm(746,1,nbu,IZ),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){var n;return n=CY(this.b.Pb(),44),this.a=CY(n.md(),16),_O(this.c,n)},nPB.Ob=function(){return this.b.Ob()},nPB.Qb=function(){Cs(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},Nj(nba,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),ncm(542,2068,nbl,vx),nPB.$b=function(){this.b.$b()},nPB.Hc=function(n){return this.b._b(n)},nPB.Jc=function(n){NP(n),this.b.wc(new fu(n))},nPB.dc=function(){return this.b.dc()},nPB.Kc=function(){return new pa(this.b.vc().Kc())},nPB.Mc=function(n){return!!this.b._b(n)&&(this.b.Bc(n),!0)},nPB.gc=function(){return this.b.gc()},Nj(nba,"Maps/KeySet",542),ncm(327,542,nbl,j4),nPB.$b=function(){IJ(new vp(this,this.b.vc().Kc()))},nPB.Ic=function(n){return this.b.ec().Ic(n)},nPB.Fb=function(n){return this===n||QY(this.b.ec(),n)},nPB.Hb=function(){return XS(this.b.ec())},nPB.Kc=function(){return new vp(this,this.b.vc().Kc())},nPB.Mc=function(n){var t,e;return e=0,(t=CY(this.b.Bc(n),16))&&(e=t.gc(),t.$b(),this.a.d-=e),e>0},nPB.Nc=function(){return this.b.ec().Nc()},Nj(nba,"AbstractMapBasedMultimap/KeySet",327),ncm(747,1,nbu,vp),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.c.Ob()},nPB.Pb=function(){return this.a=CY(this.c.Pb(),44),this.a.ld()},nPB.Qb=function(){var n;Cs(!!this.a),n=CY(this.a.md(),16),this.c.Qb(),this.b.a.d-=n.gc(),n.$b(),this.a=null},Nj(nba,"AbstractMapBasedMultimap/KeySet/1",747),ncm(503,402,{85:1,133:1},Pq),nPB.bc=function(){return this.Sc()},nPB.ec=function(){return this.Uc()},nPB.Sc=function(){return new vo(this.c,this.Wc())},nPB.Tc=function(){return this.Wc().Tc()},nPB.Uc=function(){return this.b||(this.b=this.Sc())},nPB.Vc=function(){return this.Wc().Vc()},nPB.Wc=function(){return CY(this.d,133)},Nj(nba,"AbstractMapBasedMultimap/SortedAsMap",503),ncm(446,503,nbb,PX),nPB.bc=function(){return new vu(this.a,CY(CY(this.d,133),139))},nPB.Sc=function(){return new vu(this.a,CY(CY(this.d,133),139))},nPB.ec=function(){return CY(this.b||(this.b=new vu(this.a,CY(CY(this.d,133),139))),277)},nPB.Uc=function(){return CY(this.b||(this.b=new vu(this.a,CY(CY(this.d,133),139))),277)},nPB.Wc=function(){return CY(CY(this.d,133),139)},nPB.Xc=function(n){return CY(CY(this.d,133),139).Xc(n)},nPB.Yc=function(n){return CY(CY(this.d,133),139).Yc(n)},nPB.Zc=function(n,t){return new PX(this.a,CY(CY(this.d,133),139).Zc(n,t))},nPB.$c=function(n){return CY(CY(this.d,133),139).$c(n)},nPB._c=function(n){return CY(CY(this.d,133),139)._c(n)},nPB.ad=function(n,t){return new PX(this.a,CY(CY(this.d,133),139).ad(n,t))},Nj(nba,"AbstractMapBasedMultimap/NavigableAsMap",446),ncm(502,327,nbw,vo),nPB.Nc=function(){return this.b.ec().Nc()},Nj(nba,"AbstractMapBasedMultimap/SortedKeySet",502),ncm(401,502,nbd,vu),Nj(nba,"AbstractMapBasedMultimap/NavigableKeySet",401),ncm(551,31,nbf,Bc),nPB.Fc=function(n){var t,e;return J8(this),e=this.d.dc(),(t=this.d.Fc(n))&&(++this.f.d,e&&Oi(this)),t},nPB.Gc=function(n){var t,e,i;return!n.dc()&&(J8(this),i=this.d.gc(),(t=this.d.Gc(n))&&(e=this.d.gc(),this.f.d+=e-i,0==i&&Oi(this)),t)},nPB.$b=function(){var n;J8(this),0!=(n=this.d.gc())&&(this.d.$b(),this.f.d-=n,Ak(this))},nPB.Hc=function(n){return J8(this),this.d.Hc(n)},nPB.Ic=function(n){return J8(this),this.d.Ic(n)},nPB.Fb=function(n){return n===this||(J8(this),QY(this.d,n))},nPB.Hb=function(){return J8(this),XS(this.d)},nPB.Kc=function(){return J8(this),new Cq(this)},nPB.Mc=function(n){var t;return J8(this),(t=this.d.Mc(n))&&(--this.f.d,Ak(this)),t},nPB.gc=function(){return EX(this)},nPB.Nc=function(){return J8(this),this.d.Nc()},nPB.Ib=function(){return J8(this),J2(this.d)},Nj(nba,"AbstractMapBasedMultimap/WrappedCollection",551);var nPf=IH(nbs,"List");ncm(744,551,{20:1,31:1,16:1,15:1},Lu),nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return J8(this),this.d.Nc()},nPB.bd=function(n,t){var e;J8(this),e=this.d.dc(),CY(this.d,15).bd(n,t),++this.a.d,e&&Oi(this)},nPB.cd=function(n,t){var e,i,r;return!t.dc()&&(J8(this),r=this.d.gc(),(e=CY(this.d,15).cd(n,t))&&(i=this.d.gc(),this.a.d+=i-r,0==r&&Oi(this)),e)},nPB.Xb=function(n){return J8(this),CY(this.d,15).Xb(n)},nPB.dd=function(n){return J8(this),CY(this.d,15).dd(n)},nPB.ed=function(){return J8(this),new T4(this)},nPB.fd=function(n){return J8(this),new $v(this,n)},nPB.gd=function(n){var t;return J8(this),t=CY(this.d,15).gd(n),--this.a.d,Ak(this),t},nPB.hd=function(n,t){return J8(this),CY(this.d,15).hd(n,t)},nPB.kd=function(n,t){return J8(this),KY(this.a,this.e,CY(this.d,15).kd(n,t),this.b?this.b:this)},Nj(nba,"AbstractMapBasedMultimap/WrappedList",744),ncm(1126,744,{20:1,31:1,16:1,15:1,59:1},SV),Nj(nba,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),ncm(628,1,nbu,Cq),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return $d(this),this.b.Ob()},nPB.Pb=function(){return $d(this),this.b.Pb()},nPB.Qb=function(){Si(this)},Nj(nba,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),ncm(745,628,nbg,T4,$v),nPB.Qb=function(){Si(this)},nPB.Rb=function(n){var t;t=0==EX(this.a),($d(this),CY(this.b,128)).Rb(n),++this.a.a.d,t&&Oi(this.a)},nPB.Sb=function(){return($d(this),CY(this.b,128)).Sb()},nPB.Tb=function(){return($d(this),CY(this.b,128)).Tb()},nPB.Ub=function(){return($d(this),CY(this.b,128)).Ub()},nPB.Vb=function(){return($d(this),CY(this.b,128)).Vb()},nPB.Wb=function(n){($d(this),CY(this.b,128)).Wb(n)},Nj(nba,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),ncm(743,551,nbw,PU),nPB.Nc=function(){return J8(this),this.d.Nc()},Nj(nba,"AbstractMapBasedMultimap/WrappedSortedSet",743),ncm(1125,743,nbd,TG),Nj(nba,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),ncm(1124,551,nbl,PG),nPB.Nc=function(){return J8(this),this.d.Nc()},Nj(nba,"AbstractMapBasedMultimap/WrappedSet",1124),ncm(1133,1,{},c),nPB.Kb=function(n){var t,e;return e=(t=CY(n,44)).ld(),CX(CY(t.md(),16).Nc(),new hY(e))},Nj(nba,"AbstractMapBasedMultimap/lambda$1$Type",1133),ncm(1132,1,{},hY),nPB.Kb=function(n){return new vj(this.a,n)},Nj(nba,"AbstractMapBasedMultimap/lambda$2$Type",1132);var nPl=IH(nbs,"Map/Entry");ncm(358,1,nbp),nPB.Fb=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),N7(this.ld(),t.ld())&&N7(this.md(),t.md()))},nPB.Hb=function(){var n,t;return n=this.ld(),t=this.md(),(null==n?0:XS(n))^(null==t?0:XS(t))},nPB.nd=function(n){throw(new dD).e},nPB.Ib=function(){return this.ld()+"="+this.md()},Nj(nba,nbm,358),ncm(2086,31,nbf),nPB.$b=function(){this.od().$b()},nPB.Hc=function(n){var t,e,i,r,a;return!!jM(n,44)&&(t=CY(n,44),e=this.od(),i=t.ld(),r=t.md(),!!(a=CY(e.Zb().xc(i),16))&&a.Hc(r))},nPB.Mc=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),Kh(this.od(),t.ld(),t.md()))},nPB.gc=function(){return this.od().d},Nj(nba,"Multimaps/Entries",2086),ncm(749,2086,nbf,hZ),nPB.Kc=function(){return this.a.kc()},nPB.od=function(){return this.a},nPB.Nc=function(){return this.a.lc()},Nj(nba,"AbstractMultimap/Entries",749),ncm(750,749,nbl,g6),nPB.Nc=function(){return this.a.lc()},nPB.Fb=function(n){return nrw(this,n)},nPB.Hb=function(){return X$(this)},Nj(nba,"AbstractMultimap/EntrySet",750),ncm(751,31,nbf,h1),nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){var t;for(t=this.a.Zb().Cc().Kc();t.Ob();)if(CY(t.Pb(),16).Hc(n))return!0;return!1},nPB.Kc=function(){return this.a.nc()},nPB.gc=function(){return this.a.d},nPB.Nc=function(){return this.a.oc()},Nj(nba,"AbstractMultimap/Values",751),ncm(2087,31,{849:1,20:1,31:1,16:1}),nPB.Jc=function(n){NP(n),xY(this).Jc(new fw(n))},nPB.Nc=function(){var n;return niE(n=xY(this).Nc(),new w,64|1296&n.yd(),this.a.d)},nPB.Fc=function(n){return pJ(),!0},nPB.Gc=function(n){return NP(this),NP(n),jM(n,552)?function(n){return!xY(n).dc()&&(NP(new b),xY(n).Jc(new l),!0)}(CY(n,849)):!n.dc()&&UO(this,n.Kc())},nPB.Hc=function(n){var t;return((t=CY(QH($M(this.a),n),16))?t.gc():0)>0},nPB.Fb=function(n){return function(n,t){var e,i,r;if(t===n)return!0;if(jM(t,552)){if(r=CY(t,849),n.a.d!=r.a.d||xY(n).gc()!=xY(r).gc())return!1;for(i=xY(r).Kc();i.Ob();)if(Rv(n,(e=CY(i.Pb(),425)).a.ld())!=CY(e.a.md(),16).gc())return!1;return!0}return!1}(this,n)},nPB.Hb=function(){return XS(xY(this))},nPB.dc=function(){return xY(this).dc()},nPB.Mc=function(n){return naM(this,n,1)>0},nPB.Ib=function(){return J2(xY(this))},Nj(nba,"AbstractMultiset",2087),ncm(2089,2068,nbl),nPB.$b=function(){qO(this.a.a)},nPB.Hc=function(n){var t;return!!jM(n,504)&&(t=CY(n,425),!(0>=CY(t.a.md(),16).gc())&&Rv(this.a,t.a.ld())==CY(t.a.md(),16).gc())},nPB.Mc=function(n){var t,e,i,r,a,c,o,u,s;return!!jM(n,504)&&(t=(e=CY(n,425)).a.ld(),0!=(i=CY(e.a.md(),16).gc()))&&(r=this.a,a=t,qL(c=i,"oldCount"),qL(0,"newCount"),((o=CY(QH($M(r.a),a),16))?o.gc():0)==c&&(qL(0,"count"),(s=-((u=CY(QH($M(r.a),a),16))?u.gc():0))>0?pJ():s<0&&naM(r,a,-s),!0))},Nj(nba,"Multisets/EntrySet",2089),ncm(1139,2089,nbl,h0),nPB.Kc=function(){return new po(AJ($M(this.a.a)).Kc())},nPB.gc=function(){return $M(this.a.a).gc()},Nj(nba,"AbstractMultiset/EntrySet",1139),ncm(627,742,nbo),nPB.hc=function(){return this.pd()},nPB.jc=function(){return this.qd()},nPB.cc=function(n){return this.rd(n)},nPB.fc=function(n){return this.sd(n)},nPB.Zb=function(){return this.f||(this.f=this.ac())},nPB.qd=function(){return $O(),$O(),nOH},nPB.Fb=function(n){return WE(this,n)},nPB.rd=function(n){return CY(_G(this,n),21)},nPB.sd=function(n){return CY(Qb(this,n),21)},nPB.mc=function(n){return $O(),new p8(CY(n,21))},nPB.pc=function(n,t){return new PG(this,n,CY(t,21))},Nj(nba,"AbstractSetMultimap",627),ncm(1723,627,nbo),nPB.hc=function(){return new mH(this.b)},nPB.pd=function(){return new mH(this.b)},nPB.jc=function(){return xr(new mH(this.b))},nPB.qd=function(){return xr(new mH(this.b))},nPB.cc=function(n){return CY(CY(_G(this,n),21),87)},nPB.rd=function(n){return CY(CY(_G(this,n),21),87)},nPB.fc=function(n){return CY(CY(Qb(this,n),21),87)},nPB.sd=function(n){return CY(CY(Qb(this,n),21),87)},nPB.mc=function(n){return jM(n,277)?xr(CY(n,277)):($O(),new Sj(CY(n,87)))},nPB.Zb=function(){return this.f||(this.f=jM(this.c,139)?new PX(this,CY(this.c,139)):jM(this.c,133)?new Pq(this,CY(this.c,133)):new vg(this,this.c))},nPB.pc=function(n,t){return jM(t,277)?new TG(this,n,CY(t,277)):new PU(this,n,CY(t,87))},Nj(nba,"AbstractSortedSetMultimap",1723),ncm(1724,1723,nbo),nPB.Zb=function(){return CY(CY(this.f||(this.f=jM(this.c,139)?new PX(this,CY(this.c,139)):jM(this.c,133)?new Pq(this,CY(this.c,133)):new vg(this,this.c)),133),139)},nPB.ec=function(){return CY(CY(this.i||(this.i=jM(this.c,139)?new vu(this,CY(this.c,139)):jM(this.c,133)?new vo(this,CY(this.c,133)):new j4(this,this.c)),87),277)},nPB.bc=function(){return jM(this.c,139)?new vu(this,CY(this.c,139)):jM(this.c,133)?new vo(this,CY(this.c,133)):new j4(this,this.c)},Nj(nba,"AbstractSortedKeySortedSetMultimap",1724),ncm(2109,1,{2046:1}),nPB.Fb=function(n){var t;return n===this||!!jM(n,678)&&(t=CY(n,2046),Zk(this.g||(this.g=new h3(this)),t.g||(t.g=new h3(t))))},nPB.Hb=function(){return VT(this.g||(this.g=new h3(this)))},nPB.Ib=function(){return nii(this.f||(this.f=new Sr(this)))},Nj(nba,"AbstractTable",2109),ncm(679,2063,nbl,h3),nPB.$b=function(){pY()},nPB.Hc=function(n){var t,e;return!!jM(n,479)&&(t=CY(n,697),!!(e=CY(QH(Nv(this.a),Eq(t.c.e,t.b)),85))&&QB(e.vc(),new vj(Eq(t.c.c,t.a),Br(t.c,t.b,t.a))))},nPB.Kc=function(){var n;return new Sa(n=this.a,n.e.Rd().gc()*n.c.Rd().gc())},nPB.Mc=function(n){var t,e;return!!jM(n,479)&&(t=CY(n,697),!!(e=CY(QH(Nv(this.a),Eq(t.c.e,t.b)),85))&&function(n,t){NP(n);try{return n.Mc(t)}catch(n){if(jM(n=Vt(n),212)||jM(n,169))return!1;throw n.e}}(e.vc(),new vj(Eq(t.c.c,t.a),Br(t.c,t.b,t.a))))},nPB.gc=function(){return IX(this.a)},nPB.Nc=function(){var n;return Iz((n=this.a).e.Rd().gc()*n.c.Rd().gc(),273,new hW(n))},Nj(nba,"AbstractTable/CellSet",679),ncm(2025,31,nbf,h4),nPB.$b=function(){pY()},nPB.Hc=function(n){return function(n,t){var e,i,r,a,c,o,u;for(c=n.a,o=0,u=c.length;o<u;++o)for(a=c[o],i=0,r=a.length;i<r;++i)if(e=a[i],ER(t)===ER(e)||null!=t&&QY(t,e))return!0;return!1}(this.a,n)},nPB.Kc=function(){var n;return new Sc(n=this.a,n.e.Rd().gc()*n.c.Rd().gc())},nPB.gc=function(){return IX(this.a)},nPB.Nc=function(){return Ku(this.a)},Nj(nba,"AbstractTable/Values",2025),ncm(1697,1696,nbo),Nj(nba,"ArrayListMultimapGwtSerializationDependencies",1697),ncm(520,1697,nbo,mt,Rj),nPB.hc=function(){return new Bf(this.a)},nPB.a=0,Nj(nba,"ArrayListMultimap",520),ncm(678,2109,{678:1,2046:1,3:1},naW),Nj(nba,"ArrayTable",678),ncm(2021,399,nbc,Sa),nPB.Xb=function(n){return new Vq(this.a,n)},Nj(nba,"ArrayTable/1",2021),ncm(2022,1,{},hW),nPB.td=function(n){return new Vq(this.a,n)},Nj(nba,"ArrayTable/1methodref$getCell$Type",2022),ncm(2110,1,{697:1}),nPB.Fb=function(n){var t;return n===this||!!jM(n,479)&&(t=CY(n,697),N7(Eq(this.c.e,this.b),Eq(t.c.e,t.b))&&N7(Eq(this.c.c,this.a),Eq(t.c.c,t.a))&&N7(Br(this.c,this.b,this.a),Br(t.c,t.b,t.a)))},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[Eq(this.c.e,this.b),Eq(this.c.c,this.a),Br(this.c,this.b,this.a)]))},nPB.Ib=function(){return"("+Eq(this.c.e,this.b)+","+Eq(this.c.c,this.a)+")="+Br(this.c,this.b,this.a)},Nj(nba,"Tables/AbstractCell",2110),ncm(479,2110,{479:1,697:1},Vq),nPB.a=0,nPB.b=0,nPB.d=0,Nj(nba,"ArrayTable/2",479),ncm(2024,1,{},hQ),nPB.td=function(n){return HK(this.a,n)},Nj(nba,"ArrayTable/2methodref$getValue$Type",2024),ncm(2023,399,nbc,Sc),nPB.Xb=function(n){return HK(this.a,n)},Nj(nba,"ArrayTable/3",2023),ncm(2077,2065,nbh),nPB.$b=function(){IJ(this.kc())},nPB.vc=function(){return new fo(this)},nPB.lc=function(){return new $n(this.kc(),this.gc())},Nj(nba,"Maps/IteratorBasedAbstractMap",2077),ncm(842,2077,nbh),nPB.$b=function(){throw(new dD).e},nPB._b=function(n){var t;return t=this.c,Q_(t.b,n)},nPB.kc=function(){return new So(this,this.c.b.c.gc())},nPB.lc=function(){return Iz(this.c.b.c.gc(),16,new hJ(this))},nPB.xc=function(n){var t;return(t=CY(O3(this.c,n),17))?this.vd(t.a):null},nPB.dc=function(){return this.c.b.c.dc()},nPB.ec=function(){return A0(this.c)},nPB.zc=function(n,t){var e;if(!(e=CY(O3(this.c,n),17)))throw new pN(this.ud()+" "+n+" not in "+A0(this.c)).e;return this.wd(e.a,t)},nPB.Bc=function(n){throw(new dD).e},nPB.gc=function(){return this.c.b.c.gc()},Nj(nba,"ArrayTable/ArrayMap",842),ncm(2020,1,{},hJ),nPB.td=function(n){return NE(this.a,n)},Nj(nba,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),ncm(2018,358,nbp,vs),nPB.ld=function(){var n,t;return n=this.a,t=this.b,A0(n.c).Md().Xb(t)},nPB.md=function(){return this.a.vd(this.b)},nPB.nd=function(n){return this.a.wd(this.b,n)},nPB.b=0,Nj(nba,"ArrayTable/ArrayMap/1",2018),ncm(2019,399,nbc,So),nPB.Xb=function(n){return NE(this.a,n)},Nj(nba,"ArrayTable/ArrayMap/2",2019),ncm(2017,842,nbh,LA),nPB.ud=function(){return"Column"},nPB.vd=function(n){return Br(this.b,this.a,n)},nPB.wd=function(n,t){return Vb(this.b,this.a,n,t)},nPB.a=0,Nj(nba,"ArrayTable/Row",2017),ncm(843,842,nbh,Sr),nPB.vd=function(n){return new LA(this.a,n)},nPB.zc=function(n,t){return CY(t,85),function(){throw(new dD).e}()},nPB.wd=function(n,t){return CY(t,85),function(){throw(new dD).e}()},nPB.ud=function(){return"Row"},Nj(nba,"ArrayTable/RowMap",843),ncm(1157,1,nbM,vh),nPB.Ad=function(n){return(-262&this.a.yd()&n)!=0},nPB.yd=function(){return -262&this.a.yd()},nPB.zd=function(){return this.a.zd()},nPB.Nb=function(n){this.a.Nb(new vl(n,this.b))},nPB.Bd=function(n){return this.a.Bd(new vf(n,this.b))},Nj(nba,"CollectSpliterators/1",1157),ncm(1158,1,nbE,vf),nPB.Cd=function(n){this.a.Cd(this.b.Kb(n))},Nj(nba,"CollectSpliterators/1/lambda$0$Type",1158),ncm(1159,1,nbE,vl),nPB.Cd=function(n){this.a.Cd(this.b.Kb(n))},Nj(nba,"CollectSpliterators/1/lambda$1$Type",1159),ncm(1154,1,nbM,OW),nPB.Ad=function(n){return((16464|this.b)&n)!=0},nPB.yd=function(){return 16464|this.b},nPB.zd=function(){return this.a.zd()},nPB.Nb=function(n){this.a.Qe(new vw(n,this.c))},nPB.Bd=function(n){return this.a.Re(new vb(n,this.c))},nPB.b=0,Nj(nba,"CollectSpliterators/1WithCharacteristics",1154),ncm(1155,1,nbT,vb),nPB.Dd=function(n){this.a.Cd(this.b.td(n))},Nj(nba,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),ncm(1156,1,nbT,vw),nPB.Dd=function(n){this.a.Cd(this.b.td(n))},Nj(nba,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),ncm(1150,1,nbM),nPB.Ad=function(n){return(this.a&n)!=0},nPB.yd=function(){return this.a},nPB.zd=function(){return this.e&&(this.b=ju(this.b,this.e.zd())),ju(this.b,0)},nPB.Nb=function(n){this.e&&(this.e.Nb(n),this.e=null),this.c.Nb(new vd(this,n)),this.b=0},nPB.Bd=function(n){for(;;){if(this.e&&this.e.Bd(n))return EU(this.b,nbj)&&(this.b=JB(this.b,1)),!0;if(this.e=null,!this.c.Bd(new h6(this)))return!1}},nPB.a=0,nPB.b=0,Nj(nba,"CollectSpliterators/FlatMapSpliterator",1150),ncm(1152,1,nbE,h6),nPB.Cd=function(n){var t;t=this.a,t.e=CY(t.d.Kb(n),159)},Nj(nba,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),ncm(1153,1,nbE,vd),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,(i=CY(t.d.Kb(n),159))&&i.Nb(e)},Nj(nba,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),ncm(1151,1150,nbM,KW),Nj(nba,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),ncm(253,1,nbS),nPB.Fd=function(n){return this.Ed(CY(n,253))},nPB.Ed=function(n){var t;return n==(g1(),nPW)?1:n==(gZ(),nPV)?-1:(Ig(),0!=(t=X9(this.a,n.a)))?t:jM(this,526)==jM(n,526)?0:jM(this,526)?1:-1},nPB.Id=function(){return this.a},nPB.Fb=function(n){return nta(this,n)},Nj(nba,"Cut",253),ncm(1823,253,nbS,g2),nPB.Ed=function(n){return+(n!=this)},nPB.Gd=function(n){throw(new dC).e},nPB.Hd=function(n){n.a+="+\u221E)"},nPB.Id=function(){throw new px(nbP).e},nPB.Hb=function(){return vX(),Zd(this)},nPB.Jd=function(n){return!1},nPB.Ib=function(){return"+\u221E"},Nj(nba,"Cut/AboveAll",1823),ncm(526,253,{253:1,526:1,3:1,34:1},Sy),nPB.Gd=function(n){EJ((n.a+="(",n),this.a)},nPB.Hd=function(n){NJ(EJ(n,this.a),93)},nPB.Hb=function(){return~XS(this.a)},nPB.Jd=function(n){return Ig(),0>X9(this.a,n)},nPB.Ib=function(){return"/"+this.a+"\\"},Nj(nba,"Cut/AboveValue",526),ncm(1822,253,nbS,g0),nPB.Ed=function(n){return n==this?0:-1},nPB.Gd=function(n){n.a+="(-\u221E"},nPB.Hd=function(n){throw(new dC).e},nPB.Id=function(){throw new px(nbP).e},nPB.Hb=function(){return vX(),Zd(this)},nPB.Jd=function(n){return!0},nPB.Ib=function(){return"-\u221E"},Nj(nba,"Cut/BelowAll",1822),ncm(1824,253,nbS,Sk),nPB.Gd=function(n){EJ((n.a+="[",n),this.a)},nPB.Hd=function(n){NJ(EJ(n,this.a),41)},nPB.Hb=function(){return XS(this.a)},nPB.Jd=function(n){return Ig(),0>=X9(this.a,n)},nPB.Ib=function(){return"\\"+this.a+"/"},Nj(nba,"Cut/BelowValue",1824),ncm(547,1,nbO),nPB.Jc=function(n){_r(this,n)},nPB.Ib=function(){var n,t,e=CY($A(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc();for(t=NJ(new p2,91),n=!0;e.Ob();)n||(t.a+=nl8),n=!1,EJ(t,e.Pb());return(t.a+="]",t).a},Nj(nba,"FluentIterable",547),ncm(442,547,nbO,TO),nPB.Kc=function(){return new Le(Sb(this.a.Kc(),new s))},Nj(nba,"FluentIterable/2",442),ncm(1059,547,nbO,TC),nPB.Kc=function(){return LF(this)},Nj(nba,"FluentIterable/3",1059),ncm(724,399,nbc,Su),nPB.Xb=function(n){return this.a[n].Kc()},Nj(nba,"FluentIterable/3/1",724),ncm(2070,1,{}),nPB.Ib=function(){return J2(this.Kd().b)},Nj(nba,"ForwardingObject",2070),ncm(2071,2070,nbC),nPB.Kd=function(){return this.Ld()},nPB.Jc=function(n){_r(this,n)},nPB.Lc=function(){return this.Oc()},nPB.Nc=function(){return new R$(this,0)},nPB.Oc=function(){return new Aa(null,this.Nc())},nPB.Fc=function(n){return this.Ld(),mR()},nPB.Gc=function(n){return this.Ld(),mK()},nPB.$b=function(){this.Ld(),mF()},nPB.Hc=function(n){return this.Ld().Hc(n)},nPB.Ic=function(n){return this.Ld().Ic(n)},nPB.dc=function(){return this.Ld().b.dc()},nPB.Kc=function(){return this.Ld().Kc()},nPB.Mc=function(n){return this.Ld(),m_()},nPB.gc=function(){return this.Ld().b.gc()},nPB.Pc=function(){return this.Ld().Pc()},nPB.Qc=function(n){return this.Ld().Qc(n)},Nj(nba,"ForwardingCollection",2071),ncm(2078,31,nbI),nPB.Kc=function(){return this.Od()},nPB.Fc=function(n){throw(new dD).e},nPB.Gc=function(n){throw(new dD).e},nPB.Md=function(){return this.c||(this.c=this.Nd())},nPB.$b=function(){throw(new dD).e},nPB.Hc=function(n){return null!=n&&Yd(this,n,!1)},nPB.Nd=function(){switch(this.gc()){case 0:return NA(),NA(),nPQ;case 1:return NA(),new IY(NP(this.Od().Pb()));default:return new LN(this,this.Pc())}},nPB.Mc=function(n){throw(new dD).e},Nj(nba,"ImmutableCollection",2078),ncm(727,2078,nbI,dE),nPB.Kc=function(){return Hd(this.a.Kc())},nPB.Hc=function(n){return null!=n&&this.a.Hc(n)},nPB.Ic=function(n){return this.a.Ic(n)},nPB.dc=function(){return this.a.dc()},nPB.Od=function(){return Hd(this.a.Kc())},nPB.gc=function(){return this.a.gc()},nPB.Pc=function(){return this.a.Pc()},nPB.Qc=function(n){return this.a.Qc(n)},nPB.Ib=function(){return J2(this.a)},Nj(nba,"ForwardingImmutableCollection",727),ncm(307,2078,nbA),nPB.Kc=function(){return this.Od()},nPB.ed=function(){return this.Pd(0)},nPB.fd=function(n){return this.Pd(n)},nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.kd=function(n,t){return this.Qd(n,t)},nPB.bd=function(n,t){throw(new dD).e},nPB.cd=function(n,t){throw(new dD).e},nPB.Md=function(){return this},nPB.Fb=function(n){return function(n,t){var e,i,r;if(ER(t)===ER(NP(n)))return!0;if(!jM(t,15)||(i=CY(t,15),(r=n.gc())!=i.gc()))return!1;if(!jM(i,59))return function(n,t){for(var e,i;n.Ob();)if(!t.Ob()||(e=n.Pb(),i=t.Pb(),!(ER(e)===ER(i)||null!=e&&QY(e,i))))return!1;return!t.Ob()}(n.Kc(),i.Kc());for(e=0;e<r;e++)if(!N7(n.Xb(e),i.Xb(e)))return!1;return!0}(this,n)},nPB.Hb=function(){return function(n){var t,e,i;for(t=1,i=n.Kc();i.Ob();)t=~~(t=31*t+(null==(e=i.Pb())?0:XS(e)));return t}(this)},nPB.dd=function(n){return null==n?-1:function(n,t){var e,i;if(i=n.gc(),null==t){for(e=0;e<i;e++)if(null==n.Xb(e))return e}else for(e=0;e<i;e++)if(QY(t,n.Xb(e)))return e;return -1}(this,n)},nPB.Od=function(){return this.Pd(0)},nPB.Pd=function(n){return S0(this,n)},nPB.gd=function(n){throw(new dD).e},nPB.hd=function(n,t){throw(new dD).e},nPB.Qd=function(n,t){return QN(new Rk(new vA(this),n,t))},Nj(nba,"ImmutableList",307),ncm(2105,307,nbA),nPB.Kc=function(){return Hd(this.Rd().Kc())},nPB.kd=function(n,t){return QN(this.Rd().kd(n,t))},nPB.Hc=function(n){return null!=n&&this.Rd().Hc(n)},nPB.Ic=function(n){return this.Rd().Ic(n)},nPB.Fb=function(n){return QY(this.Rd(),n)},nPB.Xb=function(n){return Eq(this,n)},nPB.Hb=function(){return XS(this.Rd())},nPB.dd=function(n){return this.Rd().dd(n)},nPB.dc=function(){return this.Rd().dc()},nPB.Od=function(){return Hd(this.Rd().Kc())},nPB.gc=function(){return this.Rd().gc()},nPB.Qd=function(n,t){return QN(this.Rd().kd(n,t))},nPB.Pc=function(){return this.Rd().Qc(BJ(nPa,nl7,1,this.Rd().gc(),5,1))},nPB.Qc=function(n){return this.Rd().Qc(n)},nPB.Ib=function(){return J2(this.Rd())},Nj(nba,"ForwardingImmutableList",2105),ncm(729,1,nbN),nPB.vc=function(){return A1(this)},nPB.wc=function(n){zs(this,n)},nPB.ec=function(){return A0(this)},nPB.yc=function(n,t,e){return JJ(this,n,t,e)},nPB.Cc=function(){return this.Vd()},nPB.$b=function(){throw(new dD).e},nPB._b=function(n){return null!=this.xc(n)},nPB.uc=function(n){return this.Vd().Hc(n)},nPB.Td=function(){return new dT(this)},nPB.Ud=function(){return new dj(this)},nPB.Fb=function(n){var t;return this===n||!!jM(n,85)&&(t=CY(n,85),nrw(A1(this),t.vc()))},nPB.Hb=function(){return A1(this).Hb()},nPB.dc=function(){return 0==this.gc()},nPB.zc=function(n,t){throw(new dD).e},nPB.Bc=function(n){throw(new dD).e},nPB.Ib=function(){return function(n){var t,e,i,r;for(r=NJ((qL(n.gc(),"size"),new p3),123),i=!0,e=A1(n).Kc();e.Ob();)t=CY(e.Pb(),44),i||(r.a+=nl8),i=!1,EJ(NJ(EJ(r,t.ld()),61),t.md());return(r.a+="}",r).a}(this)},nPB.Vd=function(){return this.e?this.e:this.e=this.Ud()},nPB.c=null,nPB.d=null,nPB.e=null,Nj(nba,"ImmutableMap",729),ncm(730,729,nbN),nPB._b=function(n){return Q_(this.b,n)},nPB.uc=function(n){var t;return t=this.b,t.c.uc(n)},nPB.Sd=function(){return QL(new h2(this))},nPB.Td=function(){return QL(xO(this.b))},nPB.Ud=function(){return Co(),new dE(xS(this.b))},nPB.Fb=function(n){var t;return t=this.b,QY(t.c,n)},nPB.xc=function(n){return O3(this,n)},nPB.Hb=function(){return XS(this.b.c)},nPB.dc=function(){return this.b.c.dc()},nPB.gc=function(){return this.b.c.gc()},nPB.Ib=function(){return J2(this.b.c)},Nj(nba,"ForwardingImmutableMap",730),ncm(2072,2071,nbx),nPB.Kd=function(){return this.Wd()},nPB.Ld=function(){return this.Wd()},nPB.Nc=function(){return new R$(this,1)},nPB.Fb=function(n){return n===this||this.Wd().Fb(n)},nPB.Hb=function(){return this.Wd().Hb()},Nj(nba,"ForwardingSet",2072),ncm(1085,2072,nbx,h2),nPB.Kd=function(){return xP(this.a.b)},nPB.Ld=function(){return xP(this.a.b)},nPB.Hc=function(n){if(jM(n,44)&&null==CY(n,44).ld())return!1;try{var t;return t=xP(this.a.b),t.b.Hc(n)}catch(n){if(jM(n=Vt(n),212))return!1;throw n.e}},nPB.Wd=function(){return xP(this.a.b)},nPB.Qc=function(n){var t;return t=$8(xP(this.a.b),n),xP(this.a.b).b.gc()<t.length&&NK(t,xP(this.a.b).b.gc(),null),t},Nj(nba,"ForwardingImmutableMap/1",1085),ncm(2079,2078,nb$),nPB.Kc=function(){return this.Od()},nPB.Nc=function(){return new R$(this,1)},nPB.Fb=function(n){return nrw(this,n)},nPB.Hb=function(){return X$(this)},Nj(nba,"ImmutableSet",2079),ncm(719,2079,nb$),nPB.Kc=function(){return Hd(new fK(this.a.b.Kc()))},nPB.Hc=function(n){return null!=n&&vK(this.a,n)},nPB.Ic=function(n){var t;return t=this.a,t.b.Ic(n)},nPB.Hb=function(){return XS(this.a.b)},nPB.dc=function(){return this.a.b.dc()},nPB.Od=function(){return Hd(new fK(this.a.b.Kc()))},nPB.gc=function(){return this.a.b.gc()},nPB.Pc=function(){return this.a.b.Pc()},nPB.Qc=function(n){var t;return t=this.a,t.b.Qc(n)},nPB.Ib=function(){return J2(this.a.b)},Nj(nba,"ForwardingImmutableSet",719),ncm(2073,2072,nbD),nPB.Kd=function(){return this.b},nPB.Ld=function(){return this.b},nPB.Wd=function(){return this.b},nPB.Nc=function(){return new yK(this)},Nj(nba,"ForwardingSortedSet",2073),ncm(543,2077,nbN,nnF),nPB.Ac=function(n){X7(this,n)},nPB.Cc=function(){var n;return new jn(!(n=this.d)?this.d=new h8(this):n)},nPB.$b=function(){_s(this)},nPB._b=function(n){return!!XG(this,n,AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15))))},nPB.uc=function(n){return Go(this,n)},nPB.kc=function(){return new Ss(this,this)},nPB.wc=function(n){DF(this,n)},nPB.xc=function(n){return Gz(this,n)},nPB.ec=function(){return new jt(this)},nPB.zc=function(n,t){return nu9(this,n,t)},nPB.Bc=function(n){var t;return(t=XG(this,n,AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15)))))?(noe(this,t),t.e=null,t.c=null,t.i):null},nPB.gc=function(){return this.i},nPB.xd=function(){var n;return new jn(!(n=this.d)?this.d=new h8(this):n)},nPB.f=0,nPB.g=0,nPB.i=0,Nj(nba,"HashBiMap",543),ncm(544,1,nbu),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return K1(this)},nPB.Pb=function(){var n;if(!K1(this))throw(new dF).e;return n=CY(xh(this.c),303),this.c=n.c,this.f=n,--this.d,this.Xd(n)},nPB.Qb=function(){if(this.e.g!=this.b)throw(new dR).e;if(!this.f)throw new px(nbt).e;noe(this.e,this.f),this.b=this.e.g,this.f=null},nPB.b=0,nPB.d=0,nPB.f=null,Nj(nba,"HashBiMap/Itr",544),ncm(1023,544,nbu,Ss),nPB.Xd=function(n){return new vm(this,n)},Nj(nba,"HashBiMap/1",1023),ncm(nbB,358,nbp,vm),nPB.ld=function(){return this.a.g},nPB.md=function(){return this.a.i},nPB.nd=function(n){var t,e,i;return(e=this.a.i,(i=AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15))))==this.a.f&&(ER(n)===ER(e)||null!=n&&QY(n,e)))?n:(Vs(!Xq(this.b.a,n,i),n),noe(this.b.a,this.a),t=new xd(this.a.g,this.a.a,n,i),nah(this.b.a,t,this.a),this.a.e=null,this.a.c=null,this.b.b=this.b.a.g,this.b.f==this.a&&(this.b.f=t),this.a=t,e)},Nj(nba,"HashBiMap/1/MapEntry",nbB),ncm(246,358,{358:1,246:1,3:1,44:1},vj),nPB.ld=function(){return this.g},nPB.md=function(){return this.i},nPB.nd=function(n){throw(new dD).e},Nj(nba,"ImmutableEntry",246),ncm(303,246,{358:1,303:1,246:1,3:1,44:1},xd),nPB.a=0,nPB.f=0;var nPb=Nj(nba,"HashBiMap/BiEntry",303);ncm(619,2077,nbN,h8),nPB.Ac=function(n){X7(this,n)},nPB.Cc=function(){return new jt(this.a)},nPB.$b=function(){_s(this.a)},nPB._b=function(n){return Go(this.a,n)},nPB.kc=function(){return new Sh(this,this.a)},nPB.wc=function(n){NP(n),DF(this.a,new h9(n))},nPB.xc=function(n){return qN(this,n)},nPB.ec=function(){return new jn(this)},nPB.zc=function(n,t){return function(n,t,e,i){var r,a,c,o;if(o=AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15))),r=AW(J_(nbR,xC(AW(J_(null==e?0:XS(e),nbK)),15))),c=Xq(n,t,o),a=XG(n,e,r),c&&r==c.a&&N7(e,c.g))return e;if(a&&!i)throw new pN("key already present: "+e).e;return c&&noe(n,c),a&&noe(n,a),nah(n,new xd(e,r,t,o),a),a&&(a.e=null,a.c=null),c&&(c.e=null,c.c=null),nel(n),c?c.g:null}(this.a,n,t,!1)},nPB.Bc=function(n){var t;return(t=Xq(this.a,n,AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15)))))?(noe(this.a,t),t.e=null,t.c=null,t.g):null},nPB.gc=function(){return this.a.i},nPB.xd=function(){return new jt(this.a)},Nj(nba,"HashBiMap/Inverse",619),ncm(1020,544,nbu,Sh),nPB.Xd=function(n){return new vv(this,n)},Nj(nba,"HashBiMap/Inverse/1",1020),ncm(1021,358,nbp,vv),nPB.ld=function(){return this.a.i},nPB.md=function(){return this.a.g},nPB.nd=function(n){var t,e,i;return(i=this.a.g,(t=AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15))))==this.a.a&&(ER(n)===ER(i)||null!=n&&QY(n,i)))?n:(Vs(!XG(this.b.a.a,n,t),n),noe(this.b.a.a,this.a),e=new xd(n,t,this.a.i,this.a.f),this.a=e,nah(this.b.a.a,e,null),this.b.b=this.b.a.a.g,i)},Nj(nba,"HashBiMap/Inverse/1/InverseEntry",1021),ncm(620,542,nbl,jn),nPB.Kc=function(){return new pt(this.a.a)},nPB.Mc=function(n){var t;return!!(t=Xq(this.a.a,n,AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15)))))&&(noe(this.a.a,t),!0)},Nj(nba,"HashBiMap/Inverse/InverseKeySet",620),ncm(1019,544,nbu,pt),nPB.Xd=function(n){return n.i},Nj(nba,"HashBiMap/Inverse/InverseKeySet/1",1019),ncm(1022,1,{},h9),nPB.Yd=function(n,t){var e;e=this.a,e.Yd(t,n)},Nj(nba,"HashBiMap/Inverse/lambda$0$Type",1022),ncm(618,542,nbl,jt),nPB.Kc=function(){return new pe(this.a)},nPB.Mc=function(n){var t;return!!(t=XG(this.a,n,AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15)))))&&(noe(this.a,t),t.e=null,t.c=null,!0)},Nj(nba,"HashBiMap/KeySet",618),ncm(1018,544,nbu,pe),nPB.Xd=function(n){return n.g},Nj(nba,"HashBiMap/KeySet/1",1018),ncm(1123,627,nbo),Nj(nba,"HashMultimapGwtSerializationDependencies",1123),ncm(271,1123,nbo,Ds),nPB.hc=function(){return new m$(Ga(this.a))},nPB.pd=function(){return new m$(Ga(this.a))},nPB.a=2,Nj(nba,"HashMultimap",271),ncm(2097,307,nbA),nPB.Hc=function(n){return this.Zd().Hc(n)},nPB.dc=function(){return this.Zd().dc()},nPB.gc=function(){return this.Zd().gc()},Nj(nba,"ImmutableAsList",2097),ncm(2030,730,nbN),nPB.Vd=function(){return Co(),new pV(this.a)},nPB.Cc=function(){return Co(),new pV(this.a)},nPB.xd=function(){return Co(),new pV(this.a)},Nj(nba,"ImmutableBiMap",2030),ncm(2075,1,{}),Nj(nba,"ImmutableCollection/Builder",2075),ncm(1035,719,nb$,pi),Nj(nba,"ImmutableEnumSet",1035),ncm(980,399,nbc,Oz),nPB.Xb=function(n){return this.a.Xb(n)},Nj(nba,"ImmutableList/1",980),ncm(979,2075,{},Ok),Nj(nba,"ImmutableList/Builder",979),ncm(623,204,nbr,h7),nPB.Ob=function(){return this.a.Ob()},nPB.Pb=function(){return CY(this.a.Pb(),44).ld()},Nj(nba,"ImmutableMap/1",623),ncm(1054,1,{},o),nPB.Kb=function(n){return CY(n,44).ld()},Nj(nba,"ImmutableMap/2methodref$getKey$Type",1054),ncm(1053,1,{},OM),Nj(nba,"ImmutableMap/Builder",1053),ncm(2098,2079,nb$),nPB.Md=function(){return this.b||(this.b=new dS(this))},nPB.Nd=function(){return new LN(this,nn7(this,BJ(nPa,nl7,1,this.gc(),5,1)))},Nj(nba,"ImmutableSet/CachingAsList",2098),ncm(2099,2098,nb$),nPB.Kc=function(){return new h7(A1(this.a).Od())},nPB.Nd=function(){return new dS(this)},nPB.Jc=function(n){var t,e;for(NP(n),e=this.gc(),t=0;t<e;t++)n.Cd(CY(A1(this.a).Md().Xb(t),44).ld())},nPB.Od=function(){return S0(this.b||(this.b=new dS(this)),0)},nPB.Nc=function(){return Iz(this.gc(),1296,new ft(this))},Nj(nba,"IndexedImmutableSet",2099),ncm(1230,2099,nb$,dT),nPB.Kc=function(){return new h7(A1(this.a).Od())},nPB.Hc=function(n){return this.a._b(n)},nPB.Jc=function(n){NP(n),zs(this.a,new fn(n))},nPB.Od=function(){return new h7(A1(this.a).Od())},nPB.gc=function(){return this.a.gc()},nPB.Nc=function(){return CX(A1(this.a).Nc(),new o)},Nj(nba,"ImmutableMapKeySet",1230),ncm(1231,1,{},fn),nPB.Yd=function(n,t){Co(),this.a.Cd(n)},Nj(nba,"ImmutableMapKeySet/lambda$0$Type",1231),ncm(1227,2078,nbI,dj),nPB.Kc=function(){return new Iv(this)},nPB.Md=function(){return new je(this,A1(this.a).Md())},nPB.Hc=function(n){return null!=n&&function(n,t){if(null==t){for(;n.a.Ob();)if(null==CY(n.a.Pb(),44).md())return!0}else for(;n.a.Ob();)if(QY(t,CY(n.a.Pb(),44).md()))return!0;return!1}(new Iv(this),n)},nPB.Od=function(){return new Iv(this)},nPB.gc=function(){return this.a.gc()},nPB.Nc=function(){return CX(A1(this.a).Nc(),new u)},Nj(nba,"ImmutableMapValues",1227),ncm(1228,1,{},u),nPB.Kb=function(n){return CY(n,44).md()},Nj(nba,"ImmutableMapValues/0methodref$getValue$Type",1228),ncm(637,204,nbr,Iv),nPB.Ob=function(){return this.a.Ob()},nPB.Pb=function(){return CY(this.a.Pb(),44).md()},Nj(nba,"ImmutableMapValues/1",637),ncm(1229,2097,nbA,je),nPB.Zd=function(){return this.a},nPB.Xb=function(n){return CY(this.b.Xb(n),44).md()},Nj(nba,"ImmutableMapValues/2",1229),ncm(1232,1,{},ft),nPB.td=function(n){return ND(this.a,n)},Nj(nba,"IndexedImmutableSet/0methodref$get$Type",1232),ncm(638,2097,nbA,dS),nPB.Zd=function(){return this.a},nPB.Xb=function(n){return ND(this.a,n)},nPB.gc=function(){return this.a.a.gc()},Nj(nba,"IndexedImmutableSet/1",638),ncm(43,1,{},s),nPB.Kb=function(n){return CY(n,20).Kc()},nPB.Fb=function(n){return this===n},Nj(nba,"Iterables/10",43),ncm(1055,547,nbO,Iy),nPB.Jc=function(n){NP(n),this.b.Jc(new vy(this.a,n))},nPB.Kc=function(){return TR(this)},Nj(nba,"Iterables/4",1055),ncm(1056,1,nbE,vy),nPB.Cd=function(n){var t,e;t=this.b,e=this.a,t.Mb(n)&&e.Cd(n)},Nj(nba,"Iterables/4/lambda$0$Type",1056),ncm(1057,547,nbO,Ik),nPB.Jc=function(n){NP(n),_r(this.a,new vM(n,this.b))},nPB.Kc=function(){return Sb(new j2(this.a),this.b)},Nj(nba,"Iterables/5",1057),ncm(1058,1,nbE,vM),nPB.Cd=function(n){this.a.Cd(TL(n))},Nj(nba,"Iterables/5/lambda$0$Type",1058),ncm(1087,204,nbr,fe),nPB.Ob=function(){return this.a.Ob()},nPB.Pb=function(){return this.a.Pb()},Nj(nba,"Iterators/1",1087),ncm(1088,713,nbr,vk),nPB.Yb=function(){for(var n;this.b.Ob();)if(n=this.b.Pb(),this.a.Lb(n))return n;return this.e=2,null},Nj(nba,"Iterators/5",1088),ncm(497,1,nbu),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.b.Ob()},nPB.Pb=function(){return this.$d(this.b.Pb())},nPB.Qb=function(){this.b.Qb()},Nj(nba,"TransformedIterator",497),ncm(1089,497,nbu,Sf),nPB.$d=function(n){return this.a.Kb(n)},Nj(nba,"Iterators/6",1089),ncm(732,204,nbr,fi),nPB.Ob=function(){return!this.a},nPB.Pb=function(){if(this.a)throw(new dF).e;return this.a=!0,this.b},nPB.a=!1,Nj(nba,"Iterators/9",732),ncm(1086,399,nbc,Av),nPB.Xb=function(n){return this.a[this.b+n]},nPB.b=0,Nj(nba,"Iterators/ArrayItr",1086),ncm(38,1,{38:1,51:1},Le),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return ncv(this)},nPB.Pb=function(){return _I(this)},nPB.Qb=function(){if(!this.c)throw new px(nbt).e;this.c.Qb(),this.c=null},Nj(nba,"Iterators/ConcatenatedIterator",38),ncm(22,1,{3:1,34:1,22:1}),nPB.Fd=function(n){var t;return t=CY(n,22),this.g-t.g},nPB.Fb=function(n){return this===n},nPB.Hb=function(){return SK(this)},nPB.Ib=function(){return Pe(this)},nPB.g=0;var nPw=Nj(nl4,"Enum",22);ncm(549,22,{549:1,3:1,34:1,22:1,51:1},jC),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return!1},nPB.Pb=function(){throw(new dF).e},nPB.Qb=function(){Cs(!1)};var nPd=qc(nba,"Iterators/EmptyModifiableIterator",549,nPw,function(){return pw(),Vw(DY(nPd,1),nbG,549,0,[nPZ])},function(n){return pw(),qa((DL(),nP1),n)});ncm(1907,627,nbo),Nj(nba,"LinkedHashMultimapGwtSerializationDependencies",1907),ncm(1908,1907,nbo,Qc),nPB.hc=function(){return new SM(Ga(this.b))},nPB.$b=function(){qO(this),dM(this.a,this.a)},nPB.pd=function(){return new SM(Ga(this.b))},nPB.ic=function(n){return new WC(this,n,this.b)},nPB.kc=function(){return new NI(this)},nPB.lc=function(){var n;return new R$(CY(!(n=this.g)?this.g=new g6(this):n,21),17)},nPB.ec=function(){return this.i||(this.i=new j4(this,this.c))},nPB.nc=function(){return new pc(new NI(this))},nPB.oc=function(){var n;return CX(new R$(CY(!(n=this.g)?this.g=new g6(this):n,21),17),new h)},nPB.b=2,Nj(nba,"LinkedHashMultimap",1908),ncm(1911,1,{},h),nPB.Kb=function(n){return CY(n,44).md()},Nj(nba,"LinkedHashMultimap/0methodref$getValue$Type",1911),ncm(834,1,nbu,NI),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){var n;if(this.a==this.b.a)throw(new dF).e;return n=this.a,this.c=n,this.a=CY(xh(this.a.e),227),n},nPB.Ob=function(){return this.a!=this.b.a},nPB.Qb=function(){Cs(!!this.c),Kh(this.b,this.c.g,this.c.i),this.c=null},Nj(nba,"LinkedHashMultimap/1",834),ncm(227,246,{358:1,246:1,227:1,604:1,3:1,44:1},xg),nPB._d=function(){return CY(xh(this.f),604)},nPB.ae=function(n){this.c=n},nPB.be=function(n){this.f=n},nPB.d=0;var nPg=Nj(nba,"LinkedHashMultimap/ValueEntry",227);ncm(1909,2068,{604:1,20:1,31:1,16:1,21:1},WC),nPB.Fc=function(n){var t,e,i,r,a;for(t=(a=AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15))))&this.b.length-1,e=r=this.b[t];e;e=e.a)if(e.d==a&&N7(e.i,n))return!1;return i=new xg(this.c,n,a,r),pz(this.d,i),i.f=this,this.d=i,dM(CY(xh(this.g.a.b),227),i),dM(i,this.g.a),this.b[t]=i,++this.f,++this.e,!function(n){var t,e,i,r,a,c;if(n.f>(c=n.b.length)&&c<nbH)for(i=BJ(nPg,nbF,227,2*n.b.length,0,1),n.b=i,r=i.length-1,e=n.a;e!=n;e=e._d())t=(a=CY(e,227)).d&r,a.a=i[t],i[t]=a}(this),!0},nPB.$b=function(){var n,t;for(y$(this.b,null),this.f=0,n=this.a;n!=this;n=n._d())t=CY(n,227),dM(CY(xh(t.b),227),CY(xh(t.e),227));this.a=this,this.d=this,++this.e},nPB.Hc=function(n){var t,e;for(e=AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15))),t=this.b[e&this.b.length-1];t;t=t.a)if(t.d==e&&N7(t.i,n))return!0;return!1},nPB.Jc=function(n){var t;for(NP(n),t=this.a;t!=this;t=t._d())n.Cd(CY(t,227).i)},nPB._d=function(){return this.a},nPB.Kc=function(){return new N2(this)},nPB.Mc=function(n){return noR(this,n)},nPB.ae=function(n){this.d=n},nPB.be=function(n){this.a=n},nPB.gc=function(){return this.f},nPB.e=0,nPB.f=0,Nj(nba,"LinkedHashMultimap/ValueSet",1909),ncm(1910,1,nbu,N2),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return IW(this),this.b!=this.c},nPB.Pb=function(){var n,t;if(IW(this),this.b==this.c)throw(new dF).e;return t=(n=CY(this.b,227)).i,this.d=n,this.b=CY(xh(n.f),604),t},nPB.Qb=function(){IW(this),Cs(!!this.d),noR(this.c,this.d.i),this.a=this.c.e,this.d=null},nPB.a=0,Nj(nba,"LinkedHashMultimap/ValueSet/1",1910),ncm(780,2084,nbo,Tn),nPB.Zb=function(){return this.f||(this.f=new yR(this))},nPB.Fb=function(n){return WE(this,n)},nPB.cc=function(n){return new vE(this,n)},nPB.fc=function(n){return B1(this,n)},nPB.$b=function(){L4(this)},nPB._b=function(n){return LR(this.b,n)},nPB.ac=function(){return new yR(this)},nPB.bc=function(){return new fa(this)},nPB.qc=function(n){return new vE(this,n)},nPB.dc=function(){return!this.a},nPB.rc=function(n){return B1(this,n)},nPB.gc=function(){return this.d},nPB.c=0,nPB.d=0,Nj(nba,"LinkedListMultimap",780),ncm(56,31,nbq),nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.bd=function(n,t){throw new pR("Add not supported on this list").e},nPB.Fc=function(n){return this.bd(this.gc(),n),!0},nPB.cd=function(n,t){var e,i,r;for(xf(t),e=!1,r=t.Kc();r.Ob();)i=r.Pb(),this.bd(n++,i),e=!0;return e},nPB.$b=function(){this.ce(0,this.gc())},nPB.Fb=function(n){return ncP(this,n)},nPB.Hb=function(){return V7(this)},nPB.dd=function(n){return qI(this,n)},nPB.Kc=function(){return new fq(this)},nPB.ed=function(){return this.fd(0)},nPB.fd=function(n){return new Kp(this,n)},nPB.gd=function(n){throw new pR("Remove not supported on this list").e},nPB.ce=function(n,t){var e,i;for(i=this.fd(n),e=n;e<t;++e)i.Pb(),i.Qb()},nPB.hd=function(n,t){throw new pR("Set not supported on this list").e},nPB.kd=function(n,t){return new Rk(this,n,t)},nPB.j=0,Nj(nbs,"AbstractList",56),ncm(2062,56,nbq),nPB.bd=function(n,t){S2(this,n,t)},nPB.cd=function(n,t){return WA(this,n,t)},nPB.Xb=function(n){return nnt(this,n)},nPB.Kc=function(){return this.fd(0)},nPB.gd=function(n){return ntQ(this,n)},nPB.hd=function(n,t){var e,i;e=this.fd(n);try{return i=e.Pb(),e.Wb(t),i}catch(t){if(jM(t=Vt(t),112))throw new pC("Can't set element "+n).e;throw t.e}},Nj(nbs,"AbstractSequentialList",2062),ncm(646,2062,nbq,vE),nPB.fd=function(n){return Sw(this,n)},nPB.gc=function(){var n;return(n=CY(NR(this.a.b,this.b),260))?n.a:0},Nj(nba,"LinkedListMultimap/1",646),ncm(1316,2068,nbl,fa),nPB.Hc=function(n){var t;return t=this.a,LR(t.b,n)},nPB.Kc=function(){return new Xy(this.a)},nPB.Mc=function(n){return!B1(this.a,n).a.dc()},nPB.gc=function(){return v_(this.a.b)},Nj(nba,"LinkedListMultimap/1KeySetImpl",1316),ncm(1315,1,nbu,Xy),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return IQ(this),!!this.c},nPB.Pb=function(){if(IQ(this),!this.c)throw(new dF).e;this.a=this.c,LX(this.d,this.a.a);do this.c=this.c.b;while(!!this.c&&!LX(this.d,this.c.a))return this.a.a},nPB.Qb=function(){IQ(this),Cs(!!this.a),IJ(new H8(this.e,this.a.a)),this.a=null,this.b=this.e.c},nPB.b=0,Nj(nba,"LinkedListMultimap/DistinctKeyIterator",1315),ncm(260,1,{260:1},$F),nPB.a=0,Nj(nba,"LinkedListMultimap/KeyList",260),ncm(511,358,{358:1,511:1,44:1},vT),nPB.ld=function(){return this.a},nPB.md=function(){return this.f},nPB.nd=function(n){var t;return t=this.f,this.f=n,t},Nj(nba,"LinkedListMultimap/Node",511),ncm(566,1,nbg,H8,nrU),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){this.e=nsw(this.f,this.b,n,this.c),++this.d,this.a=null},nPB.Ob=function(){return!!this.c},nPB.Sb=function(){return!!this.e},nPB.Pb=function(){return U_(this)},nPB.Tb=function(){return this.d},nPB.Ub=function(){return UF(this)},nPB.Vb=function(){return this.d-1},nPB.Qb=function(){var n,t,e;Cs(!!this.a),this.a!=this.c?(this.e=this.a.e,--this.d):this.c=this.a.c,n=this.f,(t=this.a).d?t.d.b=t.b:n.a=t.b,t.b?t.b.d=t.d:n.e=t.d,t.e||t.c?(e=CY(xh(CY(NR(n.b,t.a),260)),260),--e.a,t.e?t.e.c=t.c:e.b=CY(xh(t.c),511),t.c?t.c.e=t.e:e.c=CY(xh(t.e),511)):((e=CY(xh(CY(_Y(n.b,t.a),260)),260)).a=0,++n.c),--n.d,this.a=null},nPB.Wb=function(n){j8(!!this.a),this.a.f=n},nPB.d=0,Nj(nba,"LinkedListMultimap/ValueForKeyIterator",566),ncm(1031,56,nbq),nPB.bd=function(n,t){this.a.bd(n,t)},nPB.cd=function(n,t){return this.a.cd(n,t)},nPB.Hc=function(n){return this.a.Hc(n)},nPB.Xb=function(n){return this.a.Xb(n)},nPB.gd=function(n){return this.a.gd(n)},nPB.hd=function(n,t){return this.a.hd(n,t)},nPB.gc=function(){return this.a.gc()},Nj(nba,"Lists/AbstractListWrapper",1031),ncm(1032,1031,nbz),Nj(nba,"Lists/RandomAccessListWrapper",1032),ncm(1034,1032,nbz,vA),nPB.fd=function(n){return this.a.fd(n)},Nj(nba,"Lists/1",1034),ncm(441,56,{441:1,20:1,31:1,56:1,16:1,15:1},vL),nPB.bd=function(n,t){this.a.bd(Lq(this,n),t)},nPB.$b=function(){this.a.$b()},nPB.Xb=function(n){return this.a.Xb(NT(this,n))},nPB.Kc=function(){return RH(this,0)},nPB.fd=function(n){return RH(this,n)},nPB.gd=function(n){return this.a.gd(NT(this,n))},nPB.ce=function(n,t){(KP(n,t,this.a.gc()),Yi(this.a.kd(Lq(this,t),Lq(this,n)))).$b()},nPB.hd=function(n,t){return this.a.hd(NT(this,n),t)},nPB.gc=function(){return this.a.gc()},nPB.kd=function(n,t){return KP(n,t,this.a.gc()),Yi(this.a.kd(Lq(this,t),Lq(this,n)))},Nj(nba,"Lists/ReverseList",441),ncm(1030,441,{441:1,20:1,31:1,56:1,16:1,15:1,59:1},pr),Nj(nba,"Lists/RandomAccessReverseList",1030),ncm(1033,1,nbg,vP),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){this.c.Rb(n),this.c.Ub(),this.a=!1},nPB.Ob=function(){return this.c.Sb()},nPB.Sb=function(){return this.c.Ob()},nPB.Pb=function(){if(!this.c.Sb())throw(new dF).e;return this.a=!0,this.c.Ub()},nPB.Tb=function(){return Lq(this.b,this.c.Tb())},nPB.Ub=function(){if(!this.c.Ob())throw(new dF).e;return this.a=!0,this.c.Pb()},nPB.Vb=function(){return Lq(this.b,this.c.Tb())-1},nPB.Qb=function(){Cs(this.a),this.c.Qb(),this.a=!1},nPB.Wb=function(n){j8(this.a),this.c.Wb(n)},nPB.a=!1,Nj(nba,"Lists/ReverseList/1",1033),ncm(440,497,nbu,pa),nPB.$d=function(n){return yI(n)},Nj(nba,"Maps/1",440),ncm(712,497,nbu,pc),nPB.$d=function(n){return CY(n,44).md()},Nj(nba,"Maps/2",712),ncm(975,497,nbu,Sl),nPB.$d=function(n){var t;return new vj(n,(t=this.a,t.a.a.a.cc(n)))},Nj(nba,"Maps/3",975),ncm(972,2069,nbl,fo),nPB.Jc=function(n){var t;t=this.a,t.kc().Nb(n)},nPB.Kc=function(){return this.a.kc()},nPB.Rc=function(){return this.a},nPB.Nc=function(){return this.a.lc()},Nj(nba,"Maps/IteratorBasedAbstractMap/1",972),ncm(973,1,{},fu),nPB.Yd=function(n,t){this.a.Cd(n)},Nj(nba,"Maps/KeySet/lambda$0$Type",973),ncm(971,31,nbf,vN),nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return this.a.uc(n)},nPB.Jc=function(n){NP(n),this.a.wc(new fc(n))},nPB.dc=function(){return this.a.dc()},nPB.Kc=function(){return new pc(this.a.vc().Kc())},nPB.Mc=function(n){var t,e;try{return Yd(this,n,!0)}catch(i){if(jM(i=Vt(i),48)){for(e=this.a.vc().Kc();e.Ob();)if(N7(n,(t=CY(e.Pb(),44)).md()))return this.a.Bc(t.ld()),!0;return!1}throw i.e}},nPB.gc=function(){return this.a.gc()},Nj(nba,"Maps/Values",971),ncm(974,1,{},fc),nPB.Yd=function(n,t){this.a.Cd(t)},Nj(nba,"Maps/Values/lambda$0$Type",974),ncm(752,2085,nbh,yR),nPB.xc=function(n){return this.a._b(n)?this.a.cc(n):null},nPB.Bc=function(n){return this.a._b(n)?this.a.fc(n):null},nPB.$b=function(){this.a.$b()},nPB._b=function(n){return this.a._b(n)},nPB.Ec=function(){return new fs(this)},nPB.Dc=function(){return this.Ec()},nPB.dc=function(){return this.a.dc()},nPB.ec=function(){return this.a.ec()},nPB.gc=function(){return this.a.ec().gc()},Nj(nba,"Multimaps/AsMap",752),ncm(1134,2069,nbl,fs),nPB.Kc=function(){var n,t;return n=this.a.a.ec(),t=new fh(this),new Sl(n.Kc(),t)},nPB.Rc=function(){return this.a},nPB.Mc=function(n){var t,e,i;return!!YB(this,n)&&(t=CY(xh(CY(n,44)),44),e=this.a,i=t.ld(),e.a.ec().Mc(i),!0)},Nj(nba,"Multimaps/AsMap/EntrySet",1134),ncm(1138,1,{},fh),nPB.Kb=function(n){return this.a.a.a.cc(n)},nPB.Fb=function(n){return this===n},Nj(nba,"Multimaps/AsMap/EntrySet/1",1138),ncm(552,2087,{552:1,849:1,20:1,31:1,16:1},ff),nPB.$b=function(){qO(this.a)},nPB.Hc=function(n){var t;return t=this.a,t.c._b(n)},nPB.Jc=function(n){NP(n),_r(Ng(this.a),new fb(n))},nPB.Kc=function(){return new pa(Ng(this.a).a.kc())},nPB.gc=function(){return this.a.d},nPB.Nc=function(){return CX(Ng(this.a).Nc(),new f)},Nj(nba,"Multimaps/Keys",552),ncm(1136,1,{},f),nPB.Kb=function(n){return CY(n,44).ld()},Nj(nba,"Multimaps/Keys/0methodref$getKey$Type",1136),ncm(1135,497,nbu,po),nPB.$d=function(n){return new fl(CY(n,44))},Nj(nba,"Multimaps/Keys/1",1135),ncm(2088,1,{425:1}),nPB.Fb=function(n){var t;return!!jM(n,504)&&(t=CY(n,425),CY(this.a.md(),16).gc()==CY(t.a.md(),16).gc()&&N7(this.a.ld(),t.a.ld()))},nPB.Hb=function(){var n;return(null==(n=this.a.ld())?0:XS(n))^CY(this.a.md(),16).gc()},nPB.Ib=function(){var n,t;return t=Sp(this.a.ld()),1==(n=CY(this.a.md(),16).gc())?t:t+" x "+n},Nj(nba,"Multisets/AbstractEntry",2088),ncm(504,2088,{504:1,425:1},fl),Nj(nba,"Multimaps/Keys/1/1",504),ncm(1137,1,nbE,fb),nPB.Cd=function(n){this.a.Cd(CY(n,44).ld())},Nj(nba,"Multimaps/Keys/lambda$1$Type",1137),ncm(1140,1,nbE,l),nPB.Cd=function(n){var t;(t=CY(n,425)).a.ld(),CY(t.a.md(),16).gc(),pJ()},Nj(nba,"Multiset/lambda$0$Type",1140),ncm(753,1,nbE,fw),nPB.Cd=function(n){!function(n,t){var e,i,r;for(r=0,i=t.a.ld(),e=CY(t.a.md(),16).gc();r<e;r++)n.Cd(i)}(this.a,CY(n,425))},Nj(nba,"Multiset/lambda$1$Type",753),ncm(1141,1,{},b),Nj(nba,"Multisets/0methodref$add$Type",1141),ncm(754,1,{},w),nPB.Kb=function(n){var t;return t=CY(n,425),new R$(function(n,t){var e,i;for($O(),i=new du,e=0;e<n;++e)dk(i.c,t);return new p7(i)}(CY(t.a.md(),16).gc(),t.a.ld()),16)},Nj(nba,"Multisets/lambda$1$Type",754),ncm(2106,1,nl6),Nj(nba,"RangeGwtSerializationDependencies",2106),ncm(521,2106,{178:1,521:1,3:1,46:1},nny),nPB.Lb=function(n){return A5(this,CY(n,34))},nPB.Mb=function(n){return A5(this,CY(n,34))},nPB.Fb=function(n){var t;return!!jM(n,521)&&(t=CY(n,521),nta(this.a,t.a)&&nta(this.b,t.b))},nPB.Hb=function(){return 31*this.a.Hb()+this.b.Hb()},nPB.Ib=function(){return Fg(this.a,this.b)},Nj(nba,"Range",521),ncm(654,2097,nbA,LN),nPB.fd=function(n){return S0(this.b,n)},nPB.Zd=function(){return this.a},nPB.Xb=function(n){return Eq(this.b,n)},nPB.Pd=function(n){return S0(this.b,n)},Nj(nba,"RegularImmutableAsList",654),ncm(656,2105,nbA,Dn),nPB.Rd=function(){return this.a},Nj(nba,"RegularImmutableList",656),ncm(548,730,nbN,pu,ps),Nj(nba,"RegularImmutableMap",548),ncm(731,719,nb$,yN),Nj(nba,"RegularImmutableSet",731),ncm(2074,2063,nbl),nPB.Kc=function(){return new xG(this.a,this.b)},nPB.Fc=function(n){throw(new dD).e},nPB.Gc=function(n){throw(new dD).e},nPB.$b=function(){throw(new dD).e},nPB.Mc=function(n){throw(new dD).e},Nj(nba,"Sets/SetView",2074),ncm(976,2074,nbl,vI),nPB.Kc=function(){return new xG(this.a,this.b)},nPB.Hc=function(n){return AE(this.a,n)&&this.b.Hc(n)},nPB.Ic=function(n){return z7(this.a,n)&&this.b.Ic(n)},nPB.dc=function(){return nnf(this.b,this.a)},nPB.Lc=function(){return xX(new Aa(null,new R$(this.a,1)),new fg(this.b))},nPB.gc=function(){return zH(this)},nPB.Oc=function(){return xX(new Aa(null,new R$(this.a,1)),new fd(this.b))},Nj(nba,"Sets/2",976),ncm(977,1,nbV,fd),nPB.Mb=function(n){return this.a.Hc(n)},Nj(nba,"Sets/2/0methodref$contains$Type",977),ncm(714,713,nbr,xG),nPB.Yb=function(){for(var n;ja(this.a);)if(n=Fj(this.a),this.c.Hc(n))return n;return this.e=2,null},Nj(nba,"Sets/2/1",714),ncm(978,1,nbV,fg),nPB.Mb=function(n){return this.a.Hc(n)},Nj(nba,"Sets/2/1methodref$contains$Type",978),ncm(616,2073,{616:1,3:1,20:1,16:1,277:1,21:1,87:1},Dk),nPB.Kd=function(){return this.b},nPB.Ld=function(){return this.b},nPB.Wd=function(){return this.b},nPB.Jc=function(n){this.a.Jc(n)},nPB.Lc=function(){return this.a.Lc()},nPB.Oc=function(){return this.a.Oc()},Nj(nba,"Sets/UnmodifiableNavigableSet",616),ncm(2031,2030,nbN,xp),nPB.Vd=function(){return Co(),new pV(this.a)},nPB.Cc=function(){return Co(),new pV(this.a)},nPB.xd=function(){return Co(),new pV(this.a)},Nj(nba,"SingletonImmutableBiMap",2031),ncm(657,2105,nbA,IY),nPB.Rd=function(){return this.a},Nj(nba,"SingletonImmutableList",657),ncm(363,2079,nb$,pV),nPB.Kc=function(){return new fi(this.a)},nPB.Hc=function(n){return QY(this.a,n)},nPB.Od=function(){return new fi(this.a)},nPB.gc=function(){return 1},Nj(nba,"SingletonImmutableSet",363),ncm(1148,1,{},d),nPB.Kb=function(n){return CY(n,159)},Nj(nba,"Streams/lambda$0$Type",1148),ncm(1149,1,nbW,fp),nPB.de=function(){var n,t,e=this.a;for(n=0,t=e.length;n<t;++n)xc(e[n])},Nj(nba,"Streams/lambda$1$Type",1149),ncm(1725,1724,nbo,$K),nPB.Zb=function(){return CY(CY(this.f||(this.f=jM(this.c,139)?new PX(this,CY(this.c,139)):jM(this.c,133)?new Pq(this,CY(this.c,133)):new vg(this,this.c)),133),139)},nPB.hc=function(){return new mH(this.b)},nPB.pd=function(){return new mH(this.b)},nPB.ec=function(){return CY(CY(this.i||(this.i=jM(this.c,139)?new vu(this,CY(this.c,139)):jM(this.c,133)?new vo(this,CY(this.c,133)):new j4(this,this.c)),87),277)},nPB.ac=function(){return jM(this.c,139)?new PX(this,CY(this.c,139)):jM(this.c,133)?new Pq(this,CY(this.c,133)):new vg(this,this.c)},nPB.ic=function(n){return null==n&&this.a.Ne(n,n),new mH(this.b)},Nj(nba,"TreeMultimap",1725),ncm(82,1,{3:1,82:1}),nPB.ee=function(n){return Error(n)},nPB.fe=function(){return this.e},nPB.ge=function(){var n,t,e;for(null==this.k&&(this.k=BJ(nPp,nby,82,0,0,1)),t=BJ(nPa,nl7,1,(e=this.k).length,5,1),n=0;n<e.length;n++)t[n]=e[n].e;return t},nPB.he=function(){return this.f},nPB.ie=function(){return this.g},nPB.je=function(){var n;this.e=n=function(n){if(!("stack"in n))try{throw n}catch(n){}return n}(this.ee(De(this,this.g))),noG(this,n),$_(),nP6.le(this)},nPB.Ib=function(){return De(this,this.ie())},nPB.e=nbY,nPB.i=!1,nPB.n=!0;var nPp=Nj(nl4,"Throwable",82);ncm(103,82,{3:1,103:1,82:1}),Nj(nl4,"Exception",103),ncm(63,103,nbZ,dO,ph),Nj(nl4,"RuntimeException",63),ncm(607,63,nbZ),Nj(nl4,"JsException",607),ncm(875,607,nbZ),Nj(nb1,"JavaScriptExceptionBase",875),ncm(486,875,{486:1,3:1,103:1,63:1,82:1},Qr),nPB.ie=function(){var n,t,e,i;return n=this,null==n.c&&(t=ER(n.b)===ER(nP2)?null:n.b,n.d=null==t?nbi:A4(t)?null==(e=$b(t))?null:e.name:EK(t)?nb0:mI(WZ(t)),n.a=n.a+": "+(A4(t)?null==(i=$b(t))?null:i.message:t+""),n.c="("+n.d+") "+n.a),this.c},nPB.ke=function(){return ER(this.b)===ER(nP2)?null:this.b},Nj(nb2,"JavaScriptException",486);var nPm=Nj(nb2,"JavaScriptObject$",0);ncm(2047,1,{}),Nj(nb2,"Scheduler",2047);var nPv=0,nPy=0,nPk=-1;ncm(902,2047,{},g),Nj(nb1,"SchedulerImpl",902),ncm(2058,1,{}),Nj(nb1,"StackTraceCreator/Collector",2058),ncm(876,2058,{},p),nPB.le=function(n){var t={},e=[];n[nb4]=e;for(var i=arguments.callee.caller;i;){var r,a,c=($_(),i.name||(i.name=function(n){var t=/function(?:\s+([\w$]+))?\s*\(/.exec(n);return t&&t[1]||nb3}(i.toString())));e.push(c);var o=":"+c,u=t[o];if(u){for(r=0,a=u.length;r<a;r++)if(u[r]===i)return}(u||(t[o]=[])).push(i),i=i.caller}},nPB.me=function(n){var t,e,i,r;for($_(),r=BJ(nPA,nby,319,e=(i=n&&n[nb4]?n[nb4]:[]).length,0,1),t=0;t<e;t++)r[t]=new x9(i[t],null,-1);return r},Nj(nb1,"StackTraceCreator/CollectorLegacy",876),ncm(2059,2058,{}),nPB.le=function(n){},nPB.ne=function(n,t,e,i){return new x9(t,n+"@"+i,e<0?-1:e)},nPB.me=function(n){var t,e,i,r,a,c;if(r=function(n){$_();var t=n.e;if(t&&t.stack){var e=t.stack,i=t+"\n";return e.substring(0,i.length)==i&&(e=e.substring(i.length)),e.split("\n")}return[]}(n),a=BJ(nPA,nby,319,0,0,1),t=0,0==(i=r.length))return a;for(OB((c=nfQ(this,r[0])).d,nb3)||(a[t++]=c),e=1;e<i;e++)a[t++]=nfQ(this,r[e]);return a},Nj(nb1,"StackTraceCreator/CollectorModern",2059),ncm(877,2059,{},m),nPB.ne=function(n,t,e,i){return new x9(t,n,-1)},Nj(nb1,"StackTraceCreator/CollectorModernNoSourceMap",877),ncm(1064,1,{}),Nj(nwM,nwE,1064),ncm(624,1064,{624:1},NC),Nj(nwT,nwE,624),ncm(2101,1,{}),Nj(nwM,nwj,2101),ncm(2102,2101,{}),Nj(nwT,nwj,2102),ncm(1120,1,{},v),Nj(nwT,"LocaleInfo",1120),ncm(2027,1,{},y),nPB.a=0,Nj(nwT,"TimeZone",2027),ncm(1293,2102,{},k),Nj("com.google.gwt.i18n.client.impl.cldr","DateTimeFormatInfoImpl",1293),ncm(443,1,{443:1},C1),nPB.a=!1,nPB.b=0,Nj(nwM,"DateTimeFormat/PatternPart",443),ncm(206,1,nwS,vD,Vz,Pz),nPB.Fd=function(n){var t;return t=CY(n,206),L8(zF(this.q.getTime()),zF(t.q.getTime()))},nPB.Fb=function(n){return jM(n,206)&&EB(zF(this.q.getTime()),zF(CY(n,206).q.getTime()))},nPB.Hb=function(){var n;return AW(RB(n=zF(this.q.getTime()),A7(n,32)))},nPB.Ib=function(){var n,t,e;return n=((e=-this.q.getTimezoneOffset())>=0?"+":"")+(e/60|0),t=Tv(nP_.Math.abs(e)%60),(niD(),nOz)[this.q.getDay()]+" "+nOV[this.q.getMonth()]+" "+Tv(this.q.getDate())+" "+Tv(this.q.getHours())+":"+Tv(this.q.getMinutes())+":"+Tv(this.q.getSeconds())+" GMT"+n+t+" "+this.q.getFullYear()};var nPM=Nj(nbs,"Date",206);ncm(2015,206,nwS,neg),nPB.a=!1,nPB.b=0,nPB.c=0,nPB.d=0,nPB.e=0,nPB.f=0,nPB.g=!1,nPB.i=0,nPB.j=0,nPB.k=0,nPB.n=0,nPB.o=0,nPB.p=0,Nj("com.google.gwt.i18n.shared.impl","DateRecord",2015),ncm(2064,1,{}),nPB.pe=function(){return null},nPB.qe=function(){return null},nPB.re=function(){return null},nPB.se=function(){return null},nPB.te=function(){return null},Nj(nwP,"JSONValue",2064),ncm(221,2064,{221:1},fM,fm),nPB.Fb=function(n){return!!jM(n,221)&&RK(this.a,CY(n,221).a)},nPB.oe=function(){return dd},nPB.Hb=function(){return $U(this.a)},nPB.pe=function(){return this},nPB.Ib=function(){var n,t,e;for(t=0,e=new Sv("["),n=this.a.length;t<n;t++)t>0&&(e.a+=","),EJ(e,UA(this,t));return e.a+="]",e.a},Nj(nwP,"JSONArray",221),ncm(493,2064,{493:1},fv),nPB.oe=function(){return dg},nPB.qe=function(){return this},nPB.Ib=function(){return SB(),""+this.a},nPB.a=!1,Nj(nwP,"JSONBoolean",493),ncm(997,63,nbZ,pf),Nj(nwP,"JSONException",997),ncm(1036,2064,{},M),nPB.oe=function(){return dp},nPB.Ib=function(){return nbi},Nj(nwP,"JSONNull",1036),ncm(263,2064,{263:1},fy),nPB.Fb=function(n){return!!jM(n,263)&&this.a==CY(n,263).a},nPB.oe=function(){return db},nPB.Hb=function(){return Td(this.a)},nPB.re=function(){return this},nPB.Ib=function(){return this.a+""},nPB.a=0,Nj(nwP,"JSONNumber",263),ncm(190,2064,{190:1},pl,fk),nPB.Fb=function(n){return!!jM(n,190)&&RK(this.a,CY(n,190).a)},nPB.oe=function(){return dw},nPB.Hb=function(){return $U(this.a)},nPB.se=function(){return this},nPB.Ib=function(){var n,t,e,i,r,a;for(a=new Sv("{"),n=!0,r=XD(this,BJ(nPL,nby,2,0,6,1)),e=0,i=r.length;e<i;++e)t=r[e],n?n=!1:a.a+=nl8,EY(a,naQ(t)),a.a+=":",EJ(a,D$(this,t));return a.a+="}",a.a},Nj(nwP,"JSONObject",190),ncm(605,2063,nbl,vR),nPB.Hc=function(n){var t;return EK(n)&&(t=this.a,PA(n)in t.a)},nPB.Kc=function(){return new fq(new pU(this.b))},nPB.gc=function(){return this.b.length},Nj(nwP,"JSONObject/1",605),ncm(211,2064,{211:1},NO),nPB.Fb=function(n){return!!jM(n,211)&&OB(this.a,CY(n,211).a)},nPB.oe=function(){return dl},nPB.Hb=function(){return Wb(this.a)},nPB.te=function(){return this},nPB.Ib=function(){return naQ(this.a)},Nj(nwP,"JSONString",211),ncm(2060,1,{533:1}),Nj(nw$,"OutputStream",2060),ncm(2061,2060,{533:1}),Nj(nw$,"FilterOutputStream",2061),ncm(878,2061,{533:1},j),Nj(nw$,"PrintStream",878),ncm(427,1,{484:1}),nPB.Ib=function(){return this.a},Nj(nl4,"AbstractStringBuilder",427),ncm(538,63,nbZ,pO),Nj(nl4,"ArithmeticException",538),ncm(77,63,nwD,dI,pC),Nj(nl4,"IndexOutOfBoundsException",77),ncm(333,77,{3:1,333:1,103:1,77:1,63:1,82:1},gf,p6),Nj(nl4,"ArrayIndexOutOfBoundsException",333),ncm(537,63,nbZ,dA,pI),Nj(nl4,"ArrayStoreException",537),ncm(296,82,nwR,pA),Nj(nl4,"Error",296),ncm(200,296,nwR,dC,_N),Nj(nl4,"AssertionError",200),nPG={3:1,485:1,34:1};var nPE=Nj(nl4,"Boolean",485);ncm(242,1,{3:1,242:1}),Nj(nl4,"Number",242),ncm(222,242,{3:1,222:1,34:1,242:1},fC),nPB.Fd=function(n){var t;return t=CY(n,222),this.a-t.a},nPB.ue=function(){return this.a},nPB.Fb=function(n){return jM(n,222)&&CY(n,222).a==this.a},nPB.Hb=function(){return this.a},nPB.Ib=function(){return""+this.a},nPB.a=0;var nPT=Nj(nl4,"Byte",222);ncm(180,1,{3:1,180:1,34:1},fI),nPB.Fd=function(n){var t;return t=CY(n,180),this.a-t.a},nPB.Fb=function(n){return jM(n,180)&&CY(n,180).a==this.a},nPB.Hb=function(){return this.a},nPB.Ib=function(){return String.fromCharCode(this.a)},nPB.a=0;var nPj=Nj(nl4,"Character",180);ncm(212,63,{3:1,212:1,103:1,63:1,82:1},dL,pL),Nj(nl4,"ClassCastException",212),nPq={3:1,34:1,345:1,242:1};var nPS=Nj(nl4,"Double",345);ncm(161,242,{3:1,34:1,161:1,242:1},fA,dz),nPB.Fd=function(n){var t;return t=CY(n,161),Jj(this.a,t.a)},nPB.ue=function(){return this.a},nPB.Fb=function(n){return jM(n,161)&&O_(this.a,CY(n,161).a)},nPB.Hb=function(){return Dy(this.a)},nPB.Ib=function(){return""+this.a},nPB.a=0;var nPP=Nj(nl4,"Float",161);ncm(33,63,{3:1,103:1,33:1,63:1,82:1},dN,pN,WK),Nj(nl4,"IllegalArgumentException",33),ncm(73,63,nbZ,dx,px),Nj(nl4,"IllegalStateException",73),ncm(17,242,{3:1,34:1,17:1,242:1},fE),nPB.Fd=function(n){var t;return t=CY(n,17),jo(this.a,t.a)},nPB.ue=function(){return this.a},nPB.Fb=function(n){return jM(n,17)&&CY(n,17).a==this.a},nPB.Hb=function(){return this.a},nPB.Ib=function(){return""+this.a},nPB.a=0;var nPO=Nj(nl4,"Integer",17);ncm(168,242,{3:1,34:1,168:1,242:1},fT),nPB.Fd=function(n){var t;return t=CY(n,168),L8(this.a,t.a)},nPB.ue=function(){return KI(this.a)},nPB.Fb=function(n){return jM(n,168)&&EB(CY(n,168).a,this.a)},nPB.Hb=function(){var n;return AW(A7(n=this.a,32))^AW(n)},nPB.Ib=function(){return""+Lm(this.a)},nPB.a=0;var nPC=Nj(nl4,"Long",168);ncm(2140,1,{}),ncm(1904,63,nbZ,p$),Nj(nl4,"NegativeArraySizeException",1904),ncm(169,607,{3:1,103:1,169:1,63:1,82:1},d$,pD),nPB.ee=function(n){return TypeError(n)},Nj(nl4,"NullPointerException",169),ncm(130,33,{3:1,103:1,33:1,130:1,63:1,82:1},p5),Nj(nl4,"NumberFormatException",130),ncm(191,242,{3:1,34:1,242:1,191:1},fj),nPB.Fd=function(n){var t;return t=CY(n,191),this.a-t.a},nPB.ue=function(){return this.a},nPB.Fb=function(n){return jM(n,191)&&CY(n,191).a==this.a},nPB.Hb=function(){return this.a},nPB.Ib=function(){return""+this.a},nPB.a=0;var nPI=Nj(nl4,"Short",191);ncm(319,1,{3:1,319:1},x9),nPB.Fb=function(n){var t;return!!jM(n,319)&&(t=CY(n,319),this.c==t.c&&this.d==t.d&&this.a==t.a&&this.b==t.b)},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[Qx(this.c),this.a,this.d,this.b]))},nPB.Ib=function(){return this.a+"."+this.d+"("+(null!=this.b?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},nPB.c=0;var nPA=Nj(nl4,"StackTraceElement",319);nPX={3:1,484:1,34:1,2:1};var nPL=Nj(nl4,nb0,2);ncm(111,427,{484:1},p1,p0,Sm),Nj(nl4,"StringBuffer",111),ncm(104,427,{484:1},p2,p3,Sv),Nj(nl4,"StringBuilder",104),ncm(702,77,nwD,p4),Nj(nl4,"StringIndexOutOfBoundsException",702),ncm(2145,1,{}),ncm(48,63,{3:1,103:1,63:1,82:1,48:1},dD,pR),Nj(nl4,"UnsupportedOperationException",48),ncm(247,242,{3:1,34:1,242:1,247:1},Je,mW),nPB.Fd=function(n){return ns2(this,CY(n,247))},nPB.ue=function(){return ni7(nh8(this))},nPB.Fb=function(n){var t;return this===n||!!jM(n,247)&&(t=CY(n,247),this.e==t.e&&0==ns2(this,t))},nPB.Hb=function(){var n;return 0!=this.b||(this.a<54?(n=zF(this.f),this.b=AW(RF(n,-1)),this.b=33*this.b+AW(RF(A9(n,32),-1)),this.b=17*this.b+Dy(this.e)):this.b=17*Qg(this.c)+Dy(this.e)),this.b},nPB.Ib=function(){return nh8(this)},nPB.a=0,nPB.b=0,nPB.d=0,nPB.e=0,nPB.f=0;var nPN=Nj("java.math","BigDecimal",247);ncm(92,242,{3:1,34:1,242:1,92:1},FI,RG,LZ,ZO,TV),nPB.Fd=function(n){return Zb(this,CY(n,92))},nPB.ue=function(){return ni7(nlP(this,0))},nPB.Fb=function(n){return Yr(this,n)},nPB.Hb=function(){return Qg(this)},nPB.Ib=function(){return nlP(this,0)},nPB.b=-2,nPB.c=0,nPB.d=0,nPB.e=0;var nPx=Nj("java.math","BigInteger",92);ncm(498,2065,nbh),nPB.$b=function(){LH(this)},nPB._b=function(n){return LR(this,n)},nPB.uc=function(n){return Wx(this,n,this.i)||Wx(this,n,this.f)},nPB.vc=function(){return new fP(this)},nPB.xc=function(n){return NR(this,n)},nPB.zc=function(n,t){return xM(this,n,t)},nPB.Bc=function(n){return _Y(this,n)},nPB.gc=function(){return v_(this)},nPB.g=0,Nj(nbs,"AbstractHashMap",498),ncm(267,2063,nbl,fP),nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return KA(this,n)},nPB.Kc=function(){return new zM(this.a)},nPB.Mc=function(n){var t;return!!KA(this,n)&&(t=CY(n,44).ld(),this.a.Bc(t),!0)},nPB.gc=function(){return this.a.gc()},Nj(nbs,"AbstractHashMap/EntrySet",267),ncm(268,1,nbu,zM),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return Xu(this)},nPB.Ob=function(){return this.b},nPB.Qb=function(){Ue(this)},nPB.b=!1,nPB.d=0,Nj(nbs,"AbstractHashMap/EntrySetIterator",268),ncm(426,1,nbu,fq),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return yA(this)},nPB.Pb=function(){return $g(this)},nPB.Qb=function(){N6(this)},nPB.b=0,nPB.c=-1,Nj(nbs,"AbstractList/IteratorImpl",426),ncm(98,426,nbg,Kp),nPB.Qb=function(){N6(this)},nPB.Rb=function(n){Oe(this,n)},nPB.Sb=function(){return this.b>0},nPB.Tb=function(){return this.b},nPB.Ub=function(){return Px(this.b>0),this.a.Xb(this.c=--this.b)},nPB.Vb=function(){return this.b-1},nPB.Wb=function(n){P$(-1!=this.c),this.a.hd(this.c,n)},Nj(nbs,"AbstractList/ListIteratorImpl",98),ncm(244,56,nbq,Rk),nPB.bd=function(n,t){RL(n,this.b),this.c.bd(this.a+n,t),++this.b},nPB.Xb=function(n){return RN(n,this.b),this.c.Xb(this.a+n)},nPB.gd=function(n){var t;return RN(n,this.b),t=this.c.gd(this.a+n),--this.b,t},nPB.hd=function(n,t){return RN(n,this.b),this.c.hd(this.a+n,t)},nPB.gc=function(){return this.b},nPB.a=0,nPB.b=0,Nj(nbs,"AbstractList/SubList",244),ncm(266,2063,nbl,fS),nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return this.a._b(n)},nPB.Kc=function(){return new fL(this.a.vc().Kc())},nPB.Mc=function(n){return!!this.a._b(n)&&(this.a.Bc(n),!0)},nPB.gc=function(){return this.a.gc()},Nj(nbs,"AbstractMap/1",266),ncm(541,1,nbu,fL),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.a.Ob()},nPB.Pb=function(){return CY(this.a.Pb(),44).ld()},nPB.Qb=function(){this.a.Qb()},Nj(nbs,"AbstractMap/1/1",541),ncm(231,31,nbf,fN),nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return this.a.uc(n)},nPB.Kc=function(){return new fx(this.a.vc().Kc())},nPB.gc=function(){return this.a.gc()},Nj(nbs,"AbstractMap/2",231),ncm(301,1,nbu,fx),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.a.Ob()},nPB.Pb=function(){return CY(this.a.Pb(),44).md()},nPB.Qb=function(){this.a.Qb()},Nj(nbs,"AbstractMap/2/1",301),ncm(494,1,{494:1,44:1}),nPB.Fb=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),xL(this.d,t.ld())&&xL(this.e,t.md()))},nPB.ld=function(){return this.d},nPB.md=function(){return this.e},nPB.Hb=function(){return T2(this.d)^T2(this.e)},nPB.nd=function(n){return Ot(this,n)},nPB.Ib=function(){return this.d+"="+this.e},Nj(nbs,"AbstractMap/AbstractEntry",494),ncm(397,494,{494:1,397:1,44:1},yH),Nj(nbs,"AbstractMap/SimpleEntry",397),ncm(2082,1,nwJ),nPB.Fb=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),xL(this.ld(),t.ld())&&xL(this.md(),t.md()))},nPB.Hb=function(){return T2(this.ld())^T2(this.md())},nPB.Ib=function(){return this.ld()+"="+this.md()},Nj(nbs,nbm,2082),ncm(2090,2065,nbb),nPB.Xc=function(n){return mC(this.Ee(n))},nPB.tc=function(n){return _P(this,n)},nPB._b=function(n){var t,e;return t=this,e=n,!!t.Fe(e)},nPB.vc=function(){return new fR(this)},nPB.Tc=function(){return LU(this.Ge())},nPB.Yc=function(n){return mC(this.He(n))},nPB.xc=function(n){return ED(this.Fe(n))},nPB.$c=function(n){return mC(this.Ie(n))},nPB.ec=function(){return new f$(this)},nPB.Vc=function(){return LU(this.Je())},nPB._c=function(n){return mC(this.Ke(n))},Nj(nbs,"AbstractNavigableMap",2090),ncm(629,2063,nbl,fR),nPB.Hc=function(n){return jM(n,44)&&_P(this.b,CY(n,44))},nPB.Kc=function(){return this.b.De()},nPB.Mc=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),this.b.Le(t))},nPB.gc=function(){return this.b.gc()},Nj(nbs,"AbstractNavigableMap/EntrySet",629),ncm(1146,2063,nbd,f$),nPB.Nc=function(){return new yK(this)},nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){var t,e;return t=this.a,e=n,!!t.Fe(e)},nPB.Kc=function(){return new fD(this.a.vc().b.De())},nPB.Mc=function(n){var t,e;return t=this.a,e=n,!!t.Fe(e)&&(this.a.Bc(n),!0)},nPB.gc=function(){return this.a.gc()},Nj(nbs,"AbstractNavigableMap/NavigableKeySet",1146),ncm(1147,1,nbu,fD),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return yA(this.a.a)},nPB.Pb=function(){return Pt(this.a).ld()},nPB.Qb=function(){Ce(this.a)},Nj(nbs,"AbstractNavigableMap/NavigableKeySet/1",1147),ncm(2103,31,nbf),nPB.Fc=function(n){return C7(niS(this,n),nwY),!0},nPB.Gc=function(n){return xf(n),C9(n!=this,"Can't add a queue to itself"),Xx(this,n)},nPB.$b=function(){for(;null!=UN(this););},Nj(nbs,"AbstractQueue",2103),ncm(310,31,{4:1,20:1,31:1,16:1},j1,Km),nPB.Fc=function(n){return K2(this,n),!0},nPB.$b=function(){FT(this)},nPB.Hc=function(n){return Vr(new xU(this),n)},nPB.dc=function(){return pq(this)},nPB.Kc=function(){return new xU(this)},nPB.Mc=function(n){var t;return!!Vr(t=new xU(this),n)&&(qP(t),!0)},nPB.gc=function(){return this.c-this.b&this.a.length-1},nPB.Nc=function(){return new R$(this,272)},nPB.Qc=function(n){var t;return t=this.c-this.b&this.a.length-1,n.length<t&&(n=Hk(Array(t),n)),Xw(this,n,t),n.length>t&&NK(n,t,null),n},nPB.b=0,nPB.c=0,Nj(nbs,"ArrayDeque",310),ncm(459,1,nbu,xU),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.a!=this.b},nPB.Pb=function(){return Qd(this)},nPB.Qb=function(){qP(this)},nPB.a=0,nPB.b=0,nPB.c=-1,Nj(nbs,"ArrayDeque/IteratorImpl",459),ncm(13,56,nwZ,du,Bf,O8),nPB.bd=function(n,t){AC(this,n,t)},nPB.Fc=function(n){return jB(this,n)},nPB.cd=function(n,t){return W0(this,n,t)},nPB.Gc=function(n){return Vc(this,n)},nPB.$b=function(){dG(this.c,0)},nPB.Hc=function(n){return -1!=H6(this,n,0)},nPB.Jc=function(n){Gd(this,n)},nPB.Xb=function(n){return I0(this,n)},nPB.dd=function(n){return H6(this,n,0)},nPB.dc=function(){return 0==this.c.length},nPB.Kc=function(){return new fU(this)},nPB.gd=function(n){return _V(this,n)},nPB.Mc=function(n){return H0(this,n)},nPB.ce=function(n,t){Ry(this,n,t)},nPB.hd=function(n,t){return _o(this,n,t)},nPB.gc=function(){return this.c.length},nPB.jd=function(n){ji(this,n)},nPB.Pc=function(){return IS(this.c)},nPB.Qc=function(n){return ZB(this,n)};var nP$=Nj(nbs,"ArrayList",13);ncm(7,1,nbu,fU),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return jr(this)},nPB.Pb=function(){return RU(this)},nPB.Qb=function(){L6(this)},nPB.a=0,nPB.b=-1,Nj(nbs,"ArrayList/1",7),ncm(2112,nP_.Function,{},S),nPB.Me=function(n,t){return Jj(n,t)},ncm(151,56,nw1,pU),nPB.Hc=function(n){return -1!=qI(this,n)},nPB.Jc=function(n){var t,e,i,r;for(xf(n),e=this.a,i=0,r=e.length;i<r;++i)t=e[i],n.Cd(t)},nPB.Xb=function(n){return I2(this,n)},nPB.hd=function(n,t){var e;return RN(n,this.a.length),e=this.a[n],NK(this.a,n,t),e},nPB.gc=function(){return this.a.length},nPB.jd=function(n){AO(this.a,this.a.length,n)},nPB.Pc=function(){return ZH(this,BJ(nPa,nl7,1,this.a.length,5,1))},nPB.Qc=function(n){return ZH(this,n)},Nj(nbs,"Arrays/ArrayList",151),ncm(953,56,nw1,P),nPB.Hc=function(n){return!1},nPB.Xb=function(n){return E8(n)},nPB.Kc=function(){return $O(),vz(),nOU},nPB.ed=function(){return $O(),vz(),nOU},nPB.gc=function(){return 0},Nj(nbs,"Collections/EmptyList",953),ncm(954,1,nbg,O),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){throw(new dD).e},nPB.Ob=function(){return!1},nPB.Sb=function(){return!1},nPB.Pb=function(){throw(new dF).e},nPB.Tb=function(){return 0},nPB.Ub=function(){throw(new dF).e},nPB.Vb=function(){return -1},nPB.Qb=function(){throw(new dx).e},nPB.Wb=function(n){throw(new dx).e},Nj(nbs,"Collections/EmptyListIterator",954),ncm(956,2065,nbN,C),nPB._b=function(n){return!1},nPB.uc=function(n){return!1},nPB.vc=function(){return $O(),nOH},nPB.xc=function(n){return null},nPB.ec=function(){return $O(),nOH},nPB.gc=function(){return 0},nPB.Cc=function(){return $O(),nO_},Nj(nbs,"Collections/EmptyMap",956),ncm(955,2063,nb$,I),nPB.Hc=function(n){return!1},nPB.Kc=function(){return $O(),vz(),nOU},nPB.gc=function(){return 0},Nj(nbs,"Collections/EmptySet",955),ncm(608,56,{3:1,20:1,31:1,56:1,16:1,15:1},f_),nPB.Hc=function(n){return xL(this.a,n)},nPB.Xb=function(n){return RN(n,1),this.a},nPB.gc=function(){return 1},Nj(nbs,"Collections/SingletonList",608),ncm(384,1,nbC,fF),nPB.Jc=function(n){_r(this,n)},nPB.Lc=function(){return new Aa(null,this.Nc())},nPB.Nc=function(){return new R$(this,0)},nPB.Oc=function(){return new Aa(null,this.Nc())},nPB.Fc=function(n){return mR()},nPB.Gc=function(n){return mK()},nPB.$b=function(){mF()},nPB.Hc=function(n){return vK(this,n)},nPB.Ic=function(n){return this.b.Ic(n)},nPB.dc=function(){return this.b.dc()},nPB.Kc=function(){return new fK(this.b.Kc())},nPB.Mc=function(n){return m_()},nPB.gc=function(){return this.b.gc()},nPB.Pc=function(){return this.b.Pc()},nPB.Qc=function(n){return this.b.Qc(n)},nPB.Ib=function(){return J2(this.b)},Nj(nbs,"Collections/UnmodifiableCollection",384),ncm(383,1,nbu,fK),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.b.Ob()},nPB.Pb=function(){return this.b.Pb()},nPB.Qb=function(){mB()},Nj(nbs,"Collections/UnmodifiableCollectionIterator",383),ncm(540,384,nw0,SE),nPB.Nc=function(){return new R$(this,16)},nPB.bd=function(n,t){throw(new dD).e},nPB.cd=function(n,t){throw(new dD).e},nPB.Fb=function(n){return QY(this.a,n)},nPB.Xb=function(n){return this.a.Xb(n)},nPB.Hb=function(){return XS(this.a)},nPB.dd=function(n){return this.a.dd(n)},nPB.dc=function(){return this.a.dc()},nPB.ed=function(){return new ST(this.a.fd(0))},nPB.fd=function(n){return new ST(this.a.fd(n))},nPB.gd=function(n){throw(new dD).e},nPB.hd=function(n,t){throw(new dD).e},nPB.jd=function(n){throw(new dD).e},nPB.kd=function(n,t){return new SE(this.a.kd(n,t))},Nj(nbs,"Collections/UnmodifiableList",540),ncm(705,383,nbg,ST),nPB.Qb=function(){mB()},nPB.Rb=function(n){throw(new dD).e},nPB.Sb=function(){return this.a.Sb()},nPB.Tb=function(){return this.a.Tb()},nPB.Ub=function(){return this.a.Ub()},nPB.Vb=function(){return this.a.Vb()},nPB.Wb=function(n){throw(new dD).e},Nj(nbs,"Collections/UnmodifiableListIterator",705),ncm(609,1,nbh,fH),nPB.wc=function(n){zs(this,n)},nPB.yc=function(n,t,e){return JJ(this,n,t,e)},nPB.$b=function(){throw(new dD).e},nPB._b=function(n){return this.c._b(n)},nPB.uc=function(n){return this.c.uc(n)},nPB.vc=function(){return xP(this)},nPB.Fb=function(n){return QY(this.c,n)},nPB.xc=function(n){return this.c.xc(n)},nPB.Hb=function(){return XS(this.c)},nPB.dc=function(){return this.c.dc()},nPB.ec=function(){return xO(this)},nPB.zc=function(n,t){throw(new dD).e},nPB.Bc=function(n){throw(new dD).e},nPB.gc=function(){return this.c.gc()},nPB.Ib=function(){return J2(this.c)},nPB.Cc=function(){return xS(this)},Nj(nbs,"Collections/UnmodifiableMap",609),ncm(396,384,nbx,p8),nPB.Nc=function(){return new R$(this,1)},nPB.Fb=function(n){return QY(this.b,n)},nPB.Hb=function(){return XS(this.b)},Nj(nbs,"Collections/UnmodifiableSet",396),ncm(957,396,nbx,p9),nPB.Hc=function(n){return this.b.Hc(n)},nPB.Ic=function(n){return this.b.Ic(n)},nPB.Kc=function(){return new fB(this.b.Kc())},nPB.Pc=function(){var n;return FH(n=this.b.Pc(),n.length),n},nPB.Qc=function(n){return $8(this,n)},Nj(nbs,"Collections/UnmodifiableMap/UnmodifiableEntrySet",957),ncm(958,1,nbu,fB),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return new fX(CY(this.a.Pb(),44))},nPB.Ob=function(){return this.a.Ob()},nPB.Qb=function(){throw(new dD).e},Nj(nbs,"Collections/UnmodifiableMap/UnmodifiableEntrySet/1",958),ncm(703,1,nwJ,fX),nPB.Fb=function(n){return this.a.Fb(n)},nPB.ld=function(){return this.a.ld()},nPB.md=function(){return this.a.md()},nPB.Hb=function(){return this.a.Hb()},nPB.nd=function(n){throw(new dD).e},nPB.Ib=function(){return J2(this.a)},Nj(nbs,"Collections/UnmodifiableMap/UnmodifiableEntrySet/UnmodifiableEntry",703),ncm(610,540,{20:1,16:1,15:1,59:1},p7),Nj(nbs,"Collections/UnmodifiableRandomAccessList",610),ncm(704,396,nbD,Sj),nPB.Nc=function(){return new yK(this)},nPB.Fb=function(n){return QY(this.a,n)},nPB.Hb=function(){return XS(this.a)},Nj(nbs,"Collections/UnmodifiableSortedSet",704),ncm(858,1,nw2,A),nPB.Ne=function(n,t){var e;return 0!=(e=FC(CY(n,12),CY(t,12)))?e:nsB(CY(n,12),CY(t,12))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nbs,"Comparator/lambda$0$Type",858),ncm(769,1,nw2,L),nPB.Ne=function(n,t){var e,i;return e=CY(n,34),i=CY(t,34),xf(e),X9(e,(xf(i),i))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return $P(),nOX},Nj(nbs,"Comparators/NaturalOrderComparator",769),ncm(1226,1,nw2,N),nPB.Ne=function(n,t){var e,i;return e=CY(n,34),xf(i=CY(t,34)),X9(i,(xf(e),e))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return $P(),nOq},Nj(nbs,"Comparators/ReverseNaturalOrderComparator",1226),ncm(52,1,nw2,fz),nPB.Fb=function(n){return this===n},nPB.Ne=function(n,t){return this.a.Ne(t,n)},nPB.Oe=function(){return this.a},Nj(nbs,"Comparators/ReversedComparator",52),ncm(175,63,nbZ,dR),Nj(nbs,"ConcurrentModificationException",175),ncm(1948,1,nw3,x),nPB.Pe=function(n){YL(this,n)},nPB.Ib=function(){return"DoubleSummaryStatistics[count = "+Lm(this.a)+", avg = "+(Qv(this.a,0)>0?_Q(this)/KI(this.a):0)+", min = "+this.c+", max = "+this.b+", sum = "+_Q(this)+"]"},nPB.a=0,nPB.b=nw_,nPB.c=nwF,nPB.d=0,nPB.e=0,nPB.f=0,Nj(nbs,"DoubleSummaryStatistics",1948),ncm(1868,63,nbZ,dK),Nj(nbs,"EmptyStackException",1868),ncm(461,2065,nbh,J0),nPB.zc=function(n,t){return Oa(this,n,t)},nPB.$b=function(){N4(this)},nPB._b=function(n){return AE(this.a,n)},nPB.uc=function(n){var t,e;for(e=new vG(this.a);e.a<e.c.a.length;)if(t=Fj(e),xL(n,this.b[t.g]))return!0;return!1},nPB.vc=function(){return new fV(this)},nPB.xc=function(n){return xN(this,n)},nPB.Bc=function(n){return RV(this,n)},nPB.gc=function(){return this.a.c},Nj(nbs,"EnumMap",461),ncm(1340,2063,nbl,fV),nPB.$b=function(){N4(this.a)},nPB.Hc=function(n){return KL(this,n)},nPB.Kc=function(){return new Ae(this.a)},nPB.Mc=function(n){var t;return!!KL(this,n)&&(t=CY(n,44).ld(),RV(this.a,t),!0)},nPB.gc=function(){return this.a.a.c},Nj(nbs,"EnumMap/EntrySet",1340),ncm(1341,1,nbu,Ae),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return this.b=Fj(this.a),new yB(this.c,this.b)},nPB.Ob=function(){return ja(this.a)},nPB.Qb=function(){P$(!!this.b),RV(this.c,this.b),this.b=null},Nj(nbs,"EnumMap/EntrySetIterator",1341),ncm(1342,2082,nwJ,yB),nPB.ld=function(){return this.a},nPB.md=function(){return this.b.b[this.a.g]},nPB.nd=function(n){return Ij(this.b.b,this.a.g,n)},Nj(nbs,"EnumMap/MapEntry",1342),ncm(181,2063,{20:1,31:1,16:1,181:1,21:1});var nPD=Nj(nbs,"EnumSet",181);ncm(162,181,{20:1,31:1,16:1,181:1,162:1,21:1},O9),nPB.Fc=function(n){return Xf(this,CY(n,22))},nPB.Hc=function(n){return AE(this,n)},nPB.Kc=function(){return new vG(this)},nPB.Mc=function(n){return AT(this,n)},nPB.gc=function(){return this.c},nPB.c=0,Nj(nbs,"EnumSet/EnumSetImpl",162),ncm(356,1,nbu,vG),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return Fj(this)},nPB.Ob=function(){return ja(this)},nPB.Qb=function(){P$(-1!=this.b),NK(this.c.b,this.b,null),--this.c.c,this.b=-1},nPB.a=-1,nPB.b=-1,Nj(nbs,"EnumSet/EnumSetImpl/IteratorImpl",356),ncm(45,498,nw4,dc,vH,E1),nPB.Be=function(n,t){return ER(n)===ER(t)||null!=n&&QY(n,t)},nPB.Ce=function(n){return null==n?0:0|XS(n)},Nj(nbs,"HashMap",45),ncm(49,2063,nw6,dV,m$,At),nPB.Fc=function(n){return LX(this,n)},nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return vF(this,n)},nPB.dc=function(){return 0==this.a.gc()},nPB.Kc=function(){return this.a.ec().Kc()},nPB.Mc=function(n){return jL(this,n)},nPB.gc=function(){return this.a.gc()};var nPR=Nj(nbs,"HashSet",49);ncm(1897,1,nbT,$),nPB.Dd=function(n){zS(this,n)},nPB.Ib=function(){return"IntSummaryStatistics[count = "+Lm(this.a)+", avg = "+(Qv(this.a,0)>0?KI(this.d)/KI(this.a):0)+", min = "+this.c+", max = "+this.b+", sum = "+Lm(this.d)+"]"},nPB.a=0,nPB.b=nbJ,nPB.c=nl3,nPB.d=0,Nj(nbs,"IntSummaryStatistics",1897),ncm(1062,1,nbO,Tj),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new B5(this)},nPB.c=0,Nj(nbs,"InternalHashCodeMap",1062),ncm(726,1,nbu,B5),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return this.d=this.a[this.c++],this.d},nPB.Ob=function(){var n;return this.c<this.a.length||!(n=this.b.next()).done&&(this.a=n.value[1],this.c=0,!0)},nPB.Qb=function(){nch(this.e,this.d.ld()),0!=this.c&&--this.c},nPB.c=0,nPB.d=null,Nj(nbs,"InternalHashCodeMap/1",726),ncm(1060,1,nbO,TS),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new FR(this)},nPB.c=0,nPB.d=0,Nj(nbs,"InternalStringMap",1060),ncm(725,1,nbu,FR),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return this.c=this.a,this.a=this.b.next(),new O7(this.d,this.c,this.d.d)},nPB.Ob=function(){return!this.a.done},nPB.Qb=function(){zG(this.d,this.c.value[0])},Nj(nbs,"InternalStringMap/1",725),ncm(1061,2082,nwJ,O7),nPB.ld=function(){return this.b.value[0]},nPB.md=function(){return this.a.d!=this.c?yD(this.a,this.b.value[0]):this.b.value[1]},nPB.nd=function(n){return JI(this.a,this.b.value[0],n)},nPB.c=0,Nj(nbs,"InternalStringMap/2",1061),ncm(215,45,nw4,FF,B6),nPB.$b=function(){Or(this)},nPB._b=function(n){return LR(this.e,n)},nPB.uc=function(n){var t;for(t=this.d.a;t!=this.d;){if(xL(t.e,n))return!0;t=t.a}return!1},nPB.vc=function(){return new f1(this)},nPB.xc=function(n){return UC(this,n)},nPB.zc=function(n,t){return Zq(this,n,t)},nPB.Bc=function(n){return H1(this,n)},nPB.gc=function(){return v_(this.e)},nPB.c=!1,Nj(nbs,"LinkedHashMap",215),ncm(400,397,{494:1,397:1,400:1,44:1},S6,C3),Nj(nbs,"LinkedHashMap/ChainEntry",400),ncm(715,2063,nbl,f1),nPB.$b=function(){Or(this.a)},nPB.Hc=function(n){return KN(this,n)},nPB.Kc=function(){return new NB(this)},nPB.Mc=function(n){var t;return!!KN(this,n)&&(t=CY(n,44).ld(),H1(this.a,t),!0)},nPB.gc=function(){return v_(this.a.e)},Nj(nbs,"LinkedHashMap/EntrySet",715),ncm(716,1,nbu,NB),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return Uw(this)},nPB.Ob=function(){return this.c!=this.d.a.d},nPB.Qb=function(){P$(!!this.a),Ch(this.d.a.e.g,this.b),II(this.a),_Y(this.d.a.e,this.a.d),this.b=this.d.a.e.g,this.a=null},nPB.b=0,Nj(nbs,"LinkedHashMap/EntrySet/EntryIterator",716),ncm(174,49,nw6,TE,SM,An);var nPK=Nj(nbs,"LinkedHashSet",174);ncm(67,2062,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1},vq,O5),nPB.Fc=function(n){return IA(this,n)},nPB.$b=function(){$p(this)},nPB.fd=function(n){return ZQ(this,n)},nPB.gc=function(){return this.b},nPB.b=0;var nPF=Nj(nbs,"LinkedList",67);ncm(981,1,nbg,Cn),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){Ne(this,n)},nPB.Ob=function(){return mJ(this)},nPB.Sb=function(){return this.b.b!=this.d.a},nPB.Pb=function(){return K0(this)},nPB.Tb=function(){return this.a},nPB.Ub=function(){return KE(this)},nPB.Vb=function(){return this.a-1},nPB.Qb=function(){Gh(this)},nPB.Wb=function(n){P$(!!this.c),this.c.c=n},nPB.a=0,nPB.c=null,Nj(nbs,"LinkedList/ListIteratorImpl",981),ncm(617,1,{},D),Nj(nbs,"LinkedList/Node",617),ncm(2057,1,{}),Nj(nbs,"Locale",2057),ncm(873,2057,{},R),nPB.Ib=function(){return""},Nj(nbs,"Locale/1",873),ncm(874,2057,{},K),nPB.Ib=function(){return"unknown"},Nj(nbs,"Locale/4",874),ncm(112,63,{3:1,103:1,63:1,82:1,112:1},dF,$e),Nj(nbs,"NoSuchElementException",112),ncm(475,1,{475:1},pm),nPB.Fb=function(n){var t;return n===this||!!jM(n,475)&&(t=CY(n,475),xL(this.a,t.a))},nPB.Hb=function(){return T2(this.a)},nPB.Ib=function(){return null!=this.a?nbe+Sp(this.a)+")":"Optional.empty()"},Nj(nbs,"Optional",475),ncm(414,1,{414:1},E9,S5),nPB.Fb=function(n){var t;return n===this||!!jM(n,414)&&(t=CY(n,414),this.a==t.a&&0==Jj(this.b,t.b))},nPB.Hb=function(){return this.a?Dy(this.b):0},nPB.Ib=function(){return this.a?"OptionalDouble.of("+this.b+")":"OptionalDouble.empty()"},nPB.a=!1,nPB.b=0,Nj(nbs,"OptionalDouble",414),ncm(524,1,{524:1},E7,S8),nPB.Fb=function(n){var t;return n===this||!!jM(n,524)&&(t=CY(n,524),this.a==t.a&&0==jo(this.b,t.b))},nPB.Hb=function(){return this.a?this.b:0},nPB.Ib=function(){return this.a?"OptionalInt.of("+this.b+")":"OptionalInt.empty()"},nPB.a=!1,nPB.b=0,Nj(nbs,"OptionalInt",524),ncm(510,2103,nbf,Lt),nPB.Gc=function(n){return ntY(this,n)},nPB.$b=function(){dG(this.b.c,0)},nPB.Hc=function(n){return(null==n?-1:H6(this.b,n,0))!=-1},nPB.Kc=function(){return new fG(this)},nPB.Mc=function(n){return Xh(this,n)},nPB.gc=function(){return this.b.c.length},nPB.Nc=function(){return new R$(this,256)},nPB.Pc=function(){return IS(this.b.c)},nPB.Qc=function(n){return ZB(this.b,n)},Nj(nbs,"PriorityQueue",510),ncm(1296,1,nbu,fG),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.a<this.c.b.c.length},nPB.Pb=function(){return Px(this.a<this.c.b.c.length),this.b=this.a++,I0(this.c.b,this.b)},nPB.Qb=function(){P$(-1!=this.b),Xd(this.c,this.a=this.b),this.b=-1},nPB.a=0,nPB.b=-1,Nj(nbs,"PriorityQueue/1",1296),ncm(234,1,{234:1},Yl,FG),nPB.a=0,nPB.b=0;var nP_,nPB,nPH,nPU,nPG,nPq,nPX,nPz,nPV,nPW,nPQ,nPJ,nPY,nPZ,nP1,nP0,nP2,nP3,nP4,nP6,nP5,nP8,nP9,nP7,nOn,nOt,nOe,nOi,nOr,nOa,nOc,nOo,nOu,nOs,nOh,nOf,nOl,nOb,nOw,nOd,nOg,nOp,nOm,nOv,nOy,nOk,nOM,nOE,nOT,nOj,nOS,nOP,nOO,nOC,nOI,nOA,nOL,nON,nOx,nO$,nOD,nOR,nOK,nOF,nO_,nOB,nOH,nOU,nOG,nOq,nOX,nOz,nOV,nOW,nOQ,nOJ,nOY,nOZ,nO1,nO0,nO2,nO3=0;Nj(nbs,"Random",234),ncm(25,1,nbM,R$,Nf,$n),nPB.Ad=function(n){return(this.a&n)!=0},nPB.yd=function(){return this.a},nPB.zd=function(){return Ls(this),this.c},nPB.Nb=function(n){Ls(this),this.d.Nb(n)},nPB.Bd=function(n){return Gc(this,n)},nPB.a=0,nPB.c=0,Nj(nbs,"Spliterators/IteratorSpliterator",25),ncm(495,25,nbM,yK),Nj(nbs,"SortedSet/1",495),ncm(611,1,nw3,fJ),nPB.Pe=function(n){this.a.Cd(n)},Nj(nbs,"Spliterator/OfDouble/0methodref$accept$Type",611),ncm(612,1,nw3,fQ),nPB.Pe=function(n){this.a.Cd(n)},Nj(nbs,"Spliterator/OfDouble/1methodref$accept$Type",612),ncm(613,1,nbT,fY),nPB.Dd=function(n){this.a.Cd(Qx(n))},Nj(nbs,"Spliterator/OfInt/2methodref$accept$Type",613),ncm(614,1,nbT,fZ),nPB.Dd=function(n){this.a.Cd(Qx(n))},Nj(nbs,"Spliterator/OfInt/3methodref$accept$Type",614),ncm(625,1,nbM),nPB.Nb=function(n){mx(this,n)},nPB.Ad=function(n){return(this.d&n)!=0},nPB.yd=function(){return this.d},nPB.zd=function(){return this.e},nPB.d=0,nPB.e=0,Nj(nbs,"Spliterators/BaseSpliterator",625),ncm(736,625,nbM),nPB.Qe=function(n){mZ(this,n)},nPB.Nb=function(n){jM(n,189)?mZ(this,CY(n,189)):mZ(this,new fQ(n))},nPB.Bd=function(n){return jM(n,189)?this.Re(CY(n,189)):this.Re(new fJ(n))},Nj(nbs,"Spliterators/AbstractDoubleSpliterator",736),ncm(735,625,nbM),nPB.Qe=function(n){mZ(this,n)},nPB.Nb=function(n){jM(n,202)?mZ(this,CY(n,202)):mZ(this,new fZ(n))},nPB.Bd=function(n){return jM(n,202)?this.Re(CY(n,202)):this.Re(new fY(n))},Nj(nbs,"Spliterators/AbstractIntSpliterator",735),ncm(500,625,nbM),Nj(nbs,"Spliterators/AbstractSpliterator",500),ncm(706,1,nbM),nPB.Nb=function(n){mx(this,n)},nPB.Ad=function(n){return(this.b&n)!=0},nPB.yd=function(){return this.b},nPB.zd=function(){return this.d-this.c},nPB.b=0,nPB.c=0,nPB.d=0,Nj(nbs,"Spliterators/BaseArraySpliterator",706),ncm(960,706,nbM,IF),nPB.Se=function(n,t){var e;e=CY(n,41),e.Cd(this.a[t])},nPB.Nb=function(n){N_(this,n)},nPB.Bd=function(n){return Bh(this,n)},Nj(nbs,"Spliterators/ArraySpliterator",960),ncm(707,706,nbM,OY),nPB.Se=function(n,t){var e;e=CY(n,189),e.Pe(this.a[t])},nPB.Qe=function(n){N_(this,n)},nPB.Nb=function(n){jM(n,189)?N_(this,CY(n,189)):N_(this,new fQ(n))},nPB.Re=function(n){return Bh(this,n)},nPB.Bd=function(n){return jM(n,189)?Bh(this,CY(n,189)):Bh(this,new fJ(n))},Nj(nbs,"Spliterators/DoubleArraySpliterator",707),ncm(2066,1,nbM),nPB.Nb=function(n){mx(this,n)},nPB.Ad=function(n){return(16448&n)!=0},nPB.yd=function(){return 16448},nPB.zd=function(){return 0},Nj(nbs,"Spliterators/EmptySpliterator",2066),ncm(959,2066,nbM,F),nPB.Qe=function(n){xf(n)},nPB.Nb=function(n){jM(n,202)?xf(CY(n,202)):xf(new fZ(n))},nPB.Re=function(n){return xf(n),!1},nPB.Bd=function(n){return jM(n,202)?xf(CY(n,202)):xf(new fY(n)),!1},Nj(nbs,"Spliterators/EmptySpliterator/OfInt",959),ncm(588,56,ndr,dJ),nPB.bd=function(n,t){Lh(n,this.a.c.length+1),AC(this.a,n,t)},nPB.Fc=function(n){return jB(this.a,n)},nPB.cd=function(n,t){return Lh(n,this.a.c.length+1),W0(this.a,n,t)},nPB.Gc=function(n){return Vc(this.a,n)},nPB.$b=function(){dG(this.a.c,0)},nPB.Hc=function(n){return -1!=H6(this.a,n,0)},nPB.Ic=function(n){return z7(this.a,n)},nPB.Jc=function(n){Gd(this.a,n)},nPB.Xb=function(n){return Lh(n,this.a.c.length),I0(this.a,n)},nPB.dd=function(n){return H6(this.a,n,0)},nPB.dc=function(){return 0==this.a.c.length},nPB.Kc=function(){return new fU(this.a)},nPB.gd=function(n){return Lh(n,this.a.c.length),_V(this.a,n)},nPB.ce=function(n,t){Ry(this.a,n,t)},nPB.hd=function(n,t){return Lh(n,this.a.c.length),_o(this.a,n,t)},nPB.gc=function(){return this.a.c.length},nPB.jd=function(n){ji(this.a,n)},nPB.kd=function(n,t){return new Rk(this.a,n,t)},nPB.Pc=function(){return IS(this.a.c)},nPB.Qc=function(n){return ZB(this.a,n)},nPB.Ib=function(){return niV(this.a)},Nj(nbs,"Vector",588),ncm(824,588,ndr,gl),Nj(nbs,"Stack",824),ncm(213,1,{213:1},zX),nPB.Ib=function(){return Kk(this)},Nj(nbs,"StringJoiner",213),ncm(553,2090,{3:1,85:1,139:1,133:1},vU,La),nPB.$b=function(){pE(this)},nPB.De=function(){return new KR(this)},nPB.vc=function(){return new SP(this)},nPB.Ee=function(n){return Y2(this,n,!0)},nPB.Fe=function(n){return Ww(this,n)},nPB.Ge=function(){return H_(this)},nPB.He=function(n){return Y3(this,n,!0)},nPB.Ie=function(n){return Y2(this,n,!1)},nPB.Je=function(){return HB(this)},nPB.Ke=function(n){return Y3(this,n,!1)},nPB.Zc=function(n,t){return RS(this,n,t)},nPB.zc=function(n,t){return VQ(this,n,t)},nPB.Bc=function(n){return Dp(this,n)},nPB.Le=function(n){return BZ(this,n)},nPB.gc=function(){return this.c},nPB.ad=function(n,t){return RP(this,n,t)},nPB.c=0,Nj(nbs,"TreeMap",553),ncm(554,1,nbu,KR,XX),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return Pt(this)},nPB.Ob=function(){return yA(this.a)},nPB.Qb=function(){Ce(this)},Nj(nbs,"TreeMap/EntryIterator",554),ncm(1142,629,nbl,SP),nPB.$b=function(){pE(this.a)},Nj(nbs,"TreeMap/EntrySet",1142),ncm(447,397,{494:1,397:1,44:1,447:1},B4),nPB.b=!1;var nO4=Nj(nbs,"TreeMap/Node",447);ncm(630,1,{},_),nPB.Ib=function(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b},nPB.a=!1,nPB.b=!1,nPB.c=!1,Nj(nbs,"TreeMap/State",630),ncm(631,2090,nbb,nrd),nPB.De=function(){return new XX(this.c,this.f,this.b,this.a,this.e,this.d)},nPB.vc=function(){return new fR(this)},nPB.Ee=function(n){return It(this,Y2(this.c,n,!0))},nPB.Fe=function(n){return It(this,Ww(this.c,n))},nPB.Ge=function(){var n;return(n=this.f.Te()?this.a?Y2(this.c,this.b,!0):Y2(this.c,this.b,!1):H_(this.c))&&N8(this,n.d)?n:null},nPB.He=function(n){return It(this,Y3(this.c,n,!0))},nPB.Ie=function(n){return It(this,Y2(this.c,n,!1))},nPB.Je=function(){var n;return(n=this.f.Ue()?this.d?Y3(this.c,this.e,!0):Y3(this.c,this.e,!1):HB(this.c))&&N8(this,n.d)?n:null},nPB.Ke=function(n){return It(this,Y3(this.c,n,!1))},nPB.Zc=function(n,t){if(this.f.Ue()&&this.c.a.Ne(n,this.e)>0)throw new pN(nda+n+" greater than "+this.e).e;return this.f.Te()?Dw(this.c,this.b,this.a,n,t):RS(this.c,n,t)},nPB.zc=function(n,t){if(!ntx(this.c,this.f,n,this.b,this.a,this.e,this.d))throw new pN(n+" outside the range "+this.b+" to "+this.e).e;return VQ(this.c,n,t)},nPB.Bc=function(n){return ntx(this.c,this.f,n,this.b,this.a,this.e,this.d)?Dp(this.c,n):null},nPB.Le=function(n){return N8(this,n.ld())&&BZ(this.c,n)},nPB.gc=function(){var n,t,e;if(!((t=this.f.Te()?this.a?Y2(this.c,this.b,!0):Y2(this.c,this.b,!1):H_(this.c))&&N8(this,t.d)?t:null))return 0;for(n=0,e=new XX(this.c,this.f,this.b,this.a,this.e,this.d);yA(e.a);e.b=CY($g(e.a),44))++n;return n},nPB.ad=function(n,t){if(this.f.Te()&&0>this.c.a.Ne(n,this.b))throw new pN(nda+n+ndc+this.b).e;return this.f.Ue()?Dw(this.c,n,t,this.e,this.d):RP(this.c,n,t)},nPB.a=!1,nPB.d=!1,Nj(nbs,"TreeMap/SubMap",631),ncm(304,22,ndo,yF),nPB.Te=function(){return!1},nPB.Ue=function(){return!1};var nO6=qc(nbs,"TreeMap/SubMapType",304,nPw,function(){return Hj(),Vw(DY(nO6,1),nbG,304,0,[nCO,nCC,nCI,nCA])},function(n){return Hj(),qa((HT(),nCL),n)});ncm(1143,304,ndo,Tz),nPB.Ue=function(){return!0},qc(nbs,"TreeMap/SubMapType/1",1143,nO6,null,null),ncm(1144,304,ndo,jb),nPB.Te=function(){return!0},nPB.Ue=function(){return!0},qc(nbs,"TreeMap/SubMapType/2",1144,nO6,null,null),ncm(1145,304,ndo,TX),nPB.Te=function(){return!0},qc(nbs,"TreeMap/SubMapType/3",1145,nO6,null,null),ncm(157,2063,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},dQ,mH,f0),nPB.Nc=function(){return new yK(this)},nPB.Fc=function(n){return Lz(this,n)},nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return this.a._b(n)},nPB.Kc=function(){return this.a.ec().Kc()},nPB.Mc=function(n){return jR(this,n)},nPB.gc=function(){return this.a.gc()};var nO5=Nj(nbs,"TreeSet",157);ncm(1082,1,{},f2),nPB.Ve=function(n,t){var e;return e=this.a,0>=e.Ne(n,t)?t:n},Nj(ndu,"BinaryOperator/lambda$0$Type",1082),ncm(1083,1,{},f3),nPB.Ve=function(n,t){var e;return e=this.a,0>=e.Ne(n,t)?n:t},Nj(ndu,"BinaryOperator/lambda$1$Type",1083),ncm(952,1,{},B),nPB.Kb=function(n){return n},Nj(ndu,"Function/lambda$0$Type",952),ncm(395,1,nbV,f4),nPB.Mb=function(n){return!this.a.Mb(n)},Nj(ndu,"Predicate/lambda$2$Type",395),ncm(581,1,{581:1});var nO8=Nj(nds,"Handler",581);ncm(2107,1,nl6),nPB.xe=function(){return"DUMMY"},nPB.Ib=function(){return this.xe()},Nj(nds,"Level",2107),ncm(1706,2107,nl6,H),nPB.xe=function(){return"INFO"},Nj(nds,"Level/LevelInfo",1706),ncm(1843,1,{},dW),Nj(nds,"LogManager",1843),ncm(1896,1,nl6,Ct),nPB.b=null,Nj(nds,"LogRecord",1896),ncm(525,1,{525:1},_f),nPB.e=!1;var nO9=!1,nO7=!1,nCn=!1,nCt=!1,nCe=!1;Nj(nds,"Logger",525),ncm(835,581,{581:1},U),Nj(nds,"SimpleConsoleLogHandler",835),ncm(108,22,{3:1,34:1,22:1,108:1},y_);var nCi=qc(ndl,"Collector/Characteristics",108,nPw,function(){return WJ(),Vw(DY(nCi,1),nbG,108,0,[nC$,nCD,nCR])},function(n){return WJ(),qa((BB(),nCK),n)});ncm(758,1,{},L1),Nj(ndl,"CollectorImpl",758),ncm(1074,1,{},G),nPB.Ve=function(n,t){var e,i,r;return e=CY(n,213),(i=CY(t,213)).a&&(r=i.a.a.length,e.a?EY(e.a,e.b):e.a=new Sv(e.d),Kg(e.a,i.a,i.d.length,r)),e},Nj(ndl,"Collectors/10methodref$merge$Type",1074),ncm(1075,1,{},q),nPB.Kb=function(n){return Kk(CY(n,213))},Nj(ndl,"Collectors/11methodref$toString$Type",1075),ncm(1076,1,{},f6),nPB.Kb=function(n){return SB(),!!Tw(n)},Nj(ndl,"Collectors/12methodref$test$Type",1076),ncm(144,1,{},X),nPB.Yd=function(n,t){CY(n,16).Fc(t)},Nj(ndl,"Collectors/20methodref$add$Type",144),ncm(146,1,{},z),nPB.Xe=function(){return new du},Nj(ndl,"Collectors/21methodref$ctor$Type",146),ncm(359,1,{},V),nPB.Xe=function(){return new dV},Nj(ndl,"Collectors/23methodref$ctor$Type",359),ncm(360,1,{},W),nPB.Yd=function(n,t){LX(CY(n,49),t)},Nj(ndl,"Collectors/24methodref$add$Type",360),ncm(1069,1,{},Q),nPB.Ve=function(n,t){var e,i;return e=CY(n,15),i=CY(t,16),e.Gc(i),e},Nj(ndl,"Collectors/4methodref$addAll$Type",1069),ncm(1073,1,{},J),nPB.Yd=function(n,t){_J(CY(n,213),CY(t,484))},Nj(ndl,"Collectors/9methodref$add$Type",1073),ncm(1072,1,{},C0),nPB.Xe=function(){return new zX(this.a,this.b,this.c)},Nj(ndl,"Collectors/lambda$15$Type",1072),ncm(1077,1,{},Y),nPB.Xe=function(){var n;return Zq(n=new FF,(SB(),!1),new du),Zq(n,!0,new du),n},Nj(ndl,"Collectors/lambda$22$Type",1077),ncm(1078,1,{},f5),nPB.Xe=function(){return Vw(DY(nPa,1),nl7,1,5,[this.a])},Nj(ndl,"Collectors/lambda$25$Type",1078),ncm(1079,1,{},f8),nPB.Yd=function(n,t){var e;this.a,NK(e=qr(n),0,I4(e[0],ZE(1)))},Nj(ndl,"Collectors/lambda$26$Type",1079),ncm(1080,1,{},f9),nPB.Ve=function(n,t){var e,i;return this.a,e=qr(n),i=qr(t),NK(e,0,I4(e[0],i[0])),e},Nj(ndl,"Collectors/lambda$27$Type",1080),ncm(1081,1,{},Z),nPB.Kb=function(n){return qr(n)[0]},Nj(ndl,"Collectors/lambda$28$Type",1081),ncm(728,1,{},nn),nPB.Ve=function(n,t){return I4(n,t)},Nj(ndl,"Collectors/lambda$4$Type",728),ncm(145,1,{},nt),nPB.Ve=function(n,t){var e,i;return e=CY(n,16),i=CY(t,16),e.Gc(i),e},Nj(ndl,"Collectors/lambda$42$Type",145),ncm(361,1,{},ne),nPB.Ve=function(n,t){var e;return Xx(e=CY(n,49),CY(t,49)),e},Nj(ndl,"Collectors/lambda$50$Type",361),ncm(362,1,{},ni),nPB.Kb=function(n){return CY(n,49)},Nj(ndl,"Collectors/lambda$51$Type",362),ncm(1068,1,{},f7),nPB.Yd=function(n,t){var e,i,r;this.a,e=CY(n,85),SB(),i=!!Tw(t),(r=CY(e.xc(i),15))||(r=new du,e.zc(i,r)),r.Fc(t)},Nj(ndl,"Collectors/lambda$7$Type",1068),ncm(1070,1,{},nr),nPB.Ve=function(n,t){return function(n,t,e){var i,r;for(r=t.vc().Kc();r.Ob();)i=CY(r.Pb(),44),n.yc(i.ld(),i.md(),e);return n}(CY(n,85),CY(t,85),new Q)},Nj(ndl,"Collectors/lambda$8$Type",1070),ncm(1071,1,{},ln),nPB.Kb=function(n){return function(n,t){var e,i,r;for(r=new dc,i=t.vc().Kc();i.Ob();)xM(r,(e=CY(i.Pb(),44)).ld(),function(n,t){var e,i,r;for(e=n.c.Xe(),r=t.Kc();r.Ob();)i=r.Pb(),n.a.Yd(e,i);return n.b.Kb(e)}(n,CY(e.md(),15)));return r}(this.a,CY(n,85))},Nj(ndl,"Collectors/lambda$9$Type",1071),ncm(550,1,{}),nPB.$e=function(){xc(this)},nPB.d=!1,Nj(ndl,"TerminatableStream",550),ncm(827,550,ndb,PB),nPB.$e=function(){xc(this)},Nj(ndl,"DoubleStreamImpl",827),ncm(1847,736,nbM,C2),nPB.Re=function(n){return function(n,t){var e,i;return n.a||(e=BJ(n4b,nwX,28,0,15,1),mZ(n.b.a,new lt(e)),i=GP(S.prototype.Me,S,[]),e.sort(i),n.a=new OY(e,n.d)),Bh(n.a,t)}(this,CY(n,189))},nPB.a=null,Nj(ndl,"DoubleStreamImpl/2",1847),ncm(1848,1,nw3,lt),nPB.Pe=function(n){var t;t=this.a,t[t.length]=n},Nj(ndl,"DoubleStreamImpl/2/lambda$0$Type",1848),ncm(1845,1,nw3,le),nPB.Pe=function(n){var t;t=this.a,t[t.length]=n},Nj(ndl,"DoubleStreamImpl/lambda$0$Type",1845),ncm(1846,1,nw3,li),nPB.Pe=function(n){YL(this.a,n)},Nj(ndl,"DoubleStreamImpl/lambda$2$Type",1846),ncm(1397,735,nbM,_l),nPB.Re=function(n){var t;return t=CY(n,202),this.a<=this.b&&(t.Dd(this.a++),!0)},nPB.a=0,nPB.b=0,nPB.c=0,Nj(ndl,"IntStream/5",1397),ncm(806,550,ndb,PH),nPB.$e=function(){xc(this)},nPB._e=function(){return xa(this),this.a},Nj(ndl,"IntStreamImpl",806),ncm(807,550,ndb,vJ),nPB.$e=function(){xc(this)},nPB._e=function(){return xa(this),j9(),nCP},Nj(ndl,"IntStreamImpl/Empty",807),ncm(1687,1,nbT,lr),nPB.Dd=function(n){zS(this.a,n)},Nj(ndl,"IntStreamImpl/lambda$4$Type",1687);var nCr=IH(ndl,"Stream");ncm(26,550,{533:1,687:1,848:1},Aa),nPB.$e=function(){xc(this)},Nj(ndl,"StreamImpl",26),ncm(1102,500,nbM,OV),nPB.Bd=function(n){for(;function(n){for(;!n.a;)if(!OH(n.c,new la(n)))return!1;return!0}(this);)if(this.a.Bd(n))return!0;else xc(this.b),this.b=null,this.a=null;return!1},Nj(ndl,"StreamImpl/1",1102),ncm(1103,1,nbE,la),nPB.Cd=function(n){var t,e;t=this.a,(e=CY(n,848))&&(t.b=e,xa(e),t.a=e.a)},Nj(ndl,"StreamImpl/1/lambda$0$Type",1103),ncm(1104,1,nbV,lc),nPB.Mb=function(n){return LX(this.a,n)},Nj(ndl,"StreamImpl/1methodref$add$Type",1104),ncm(1105,500,nbM,$k),nPB.Bd=function(n){var t;return this.a||(t=new du,this.b.a.Nb(new lo(t)),$O(),ji(t,this.c),this.a=new R$(t,16)),Gc(this.a,n)},nPB.a=null,Nj(ndl,"StreamImpl/5",1105),ncm(1106,1,nbE,lo),nPB.Cd=function(n){jB(this.a,n)},Nj(ndl,"StreamImpl/5/2methodref$add$Type",1106),ncm(737,500,nbM,HU),nPB.Bd=function(n){for(this.b=!1;!this.b&&this.c.Bd(new yU(this,n)););return this.b},nPB.b=!1,Nj(ndl,"StreamImpl/FilterSpliterator",737),ncm(1096,1,nbE,yU),nPB.Cd=function(n){var t,e;t=this.a,e=this.b,t.a.Mb(n)&&(t.b=!0,e.Cd(n))},Nj(ndl,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),ncm(1091,736,nbM,_Z),nPB.Re=function(n){var t;return t=CY(n,189),this.b.Bd(new yG(this,t))},Nj(ndl,"StreamImpl/MapToDoubleSpliterator",1091),ncm(1095,1,nbE,yG),nPB.Cd=function(n){var t,e;t=this.a,e=this.b,e.Pe(t.a.Ye(n))},Nj(ndl,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),ncm(1090,735,nbM,_1),nPB.Re=function(n){var t;return t=CY(n,202),this.b.Bd(new yq(this,t))},Nj(ndl,"StreamImpl/MapToIntSpliterator",1090),ncm(1094,1,nbE,yq),nPB.Cd=function(n){var t,e;t=this.a,e=this.b,e.Dd(t.a.Ze(n))},Nj(ndl,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),ncm(734,500,nbM,_0),nPB.Bd=function(n){return OH(this,n)},Nj(ndl,"StreamImpl/MapToObjSpliterator",734),ncm(1093,1,nbE,yX),nPB.Cd=function(n){var t,e;t=this.a,e=this.b,e.Cd(t.a.Kb(n))},Nj(ndl,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),ncm(1092,500,nbM,qV),nPB.Bd=function(n){for(;Qv(this.b,0)>0;){if(!this.a.Bd(new na))return!1;this.b=JB(this.b,1)}return this.a.Bd(n)},nPB.b=0,Nj(ndl,"StreamImpl/SkipSpliterator",1092),ncm(1097,1,nbE,na),nPB.Cd=function(n){},Nj(ndl,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),ncm(626,1,nbE,nc),nPB.Cd=function(n){this.a=n},Nj(ndl,"StreamImpl/ValueConsumer",626),ncm(1098,1,nbE,no),nPB.Cd=function(n){vY()},Nj(ndl,"StreamImpl/lambda$0$Type",1098),ncm(1099,1,nbE,nu),nPB.Cd=function(n){vY()},Nj(ndl,"StreamImpl/lambda$1$Type",1099),ncm(1100,1,{},lu),nPB.Ve=function(n,t){var e;return e=this.a,vY(),e.a.Yd(n,t),n},Nj(ndl,"StreamImpl/lambda$4$Type",1100),ncm(1101,1,nbE,yV),nPB.Cd=function(n){var t=this.b,e=this.a;vY(),t.a=e.Ve(t.a,n)},Nj(ndl,"StreamImpl/lambda$5$Type",1101),ncm(1107,1,nbE,ls),nPB.Cd=function(n){!function(n,t){var e;try{t.de()}catch(t){if(jM(t=Vt(t),82))e=t,dk(n.c,e);else throw t.e}}(this.a,CY(n,380))},Nj(ndl,"TerminatableStream/lambda$0$Type",1107),ncm(2142,1,{}),ncm(2014,1,{},ns),Nj("javaemul.internal","ConsoleLogger",2014);var nCa=0;ncm(2134,1,{}),ncm(1830,1,nbE,nh),nPB.Cd=function(n){CY(n,317)},Nj(ndv,"BowyerWatsonTriangulation/lambda$0$Type",1830),ncm(1831,1,nbE,lf),nPB.Cd=function(n){Xx(this.a,CY(n,317).e)},Nj(ndv,"BowyerWatsonTriangulation/lambda$1$Type",1831),ncm(1832,1,nbE,nf),nPB.Cd=function(n){CY(n,177)},Nj(ndv,"BowyerWatsonTriangulation/lambda$2$Type",1832),ncm(1827,1,ndy,ll),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,177),r=CY(t,177),Ln(PI(ED(Aj(e.f,i))),PI(ED(Aj(e.f,r))))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ndv,"NaiveMinST/lambda$0$Type",1827),ncm(449,1,{},lh),Nj(ndv,"NodeMicroLayout",449),ncm(177,1,{177:1},yz),nPB.Fb=function(n){var t;return!!jM(n,177)&&(t=CY(n,177),xL(this.a,t.a)&&xL(this.b,t.b)||xL(this.a,t.b)&&xL(this.b,t.a))},nPB.Hb=function(){return T2(this.a)+T2(this.b)};var nCc=Nj(ndv,"TEdge",177);ncm(317,1,{317:1},nhh),nPB.Fb=function(n){var t;return!!jM(n,317)&&Uo(this,(t=CY(n,317)).a)&&Uo(this,t.b)&&Uo(this,t.c)},nPB.Hb=function(){return T2(this.a)+T2(this.b)+T2(this.c)},Nj(ndv,"TTriangle",317),ncm(225,1,{225:1},jw),Nj(ndv,"Tree",225),ncm(1218,1,{},D0),Nj(ndk,"Scanline",1218);var nCo=IH(ndk,ndM);ncm(1758,1,{},U5),Nj(ndE,"CGraph",1758),ncm(316,1,{316:1},D4),nPB.b=0,nPB.c=0,nPB.d=0,nPB.g=0,nPB.i=0,nPB.k=nw_,Nj(ndE,"CGroup",316),ncm(830,1,{},d3),Nj(ndE,"CGroup/CGroupBuilder",830),ncm(60,1,{60:1},Of),nPB.Ib=function(){return this.j?PA(this.j.Kb(this)):(PL(nCu),nCu.o+"@"+(SK(this)>>>0).toString(16))},nPB.f=0,nPB.i=nw_;var nCu=Nj(ndE,"CNode",60);ncm(829,1,{},d4),Nj(ndE,"CNode/CNodeBuilder",829),ncm(1590,1,{},nl),nPB.ff=function(n,t){return 0},nPB.gf=function(n,t){return 0},Nj(ndE,ndj,1590),ncm(1853,1,{},nb),nPB.cf=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(s=nwF,i=new fU(n.a.b);i.a<i.c.c.length;)t=CY(RU(i),60),s=nP_.Math.min(s,t.a.j.d.c+t.b.a);for(b=new vq,c=new fU(n.a.a);c.a<c.c.c.length;)(a=CY(RU(c),316)).k=s,0==a.g&&F_(b,a,b.c.b,b.c);for(;0!=b.b;){for(r=(a=CY(0==b.b?null:(Px(0!=b.b),Gy(b,b.a.a)),316)).j.d.c,l=a.a.a.ec().Kc();l.Ob();)h=CY(l.Pb(),60),d=a.k+h.b.a,!function(n,t,e){var i;for(i=t.a.a.ec().Kc();i.Ob();)if($q(n,CY(i.Pb(),60),e))return!0;return!1}(n,a,n.d)||h.d.c<d?h.i=d:h.i=h.d.c;for(r-=a.j.i,a.b+=r,n.d==(Ju(),nY9)||n.d==nY5?a.c+=r:a.c-=r,f=a.a.a.ec().Kc();f.Ob();)for(u=(h=CY(f.Pb(),60)).c.Kc();u.Ob();)o=CY(u.Pb(),60),w=T$(n.d)?n.g.ff(h,o):n.g.gf(h,o),o.a.k=nP_.Math.max(o.a.k,h.i+h.d.b+w-o.b.a),$q(n,o,n.d)&&(o.a.k=nP_.Math.max(o.a.k,o.d.c-o.b.a)),--o.a.g,0==o.a.g&&IA(b,o.a)}for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),60)).d.c=t.i},Nj(ndE,"LongestPathCompaction",1853),ncm(1756,1,{},naY),nPB.e=!1;var nCs=Nj(ndE,ndI,1756);ncm(1757,1,nbE,lb),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,42),t.d==(Ju(),nY8)||t.d==nZn?CY(e.a,60).c.Fc(CY(e.b,60)):CY(e.b,60).c.Fc(CY(e.a,60))},Nj(ndE,ndA,1757),ncm(1854,1,{},nw),nPB.df=function(n){var t,e,i,r,a,c,o,u;for(t=new fU(n.a.b);t.a<t.c.c.length;)CY(RU(t),60).c.$b();for(i=new fU(n.a.b);i.a<i.c.c.length;)for(e=CY(RU(i),60),a=new fU(n.a.b);a.a<a.c.c.length;)e!=(r=CY(RU(a),60))&&(!e.a||e.a!=r.a)&&(c=T$(n.d)?n.g.gf(e,r):n.g.ff(e,r),(r.d.c>e.d.c||e.d.c==r.d.c&&e.d.b<r.d.b)&&(o=r.d.d+r.d.a+c,u=e.d.d,T6(),T6(),qM(nbQ),(nP_.Math.abs(o-u)<=nbQ||o==u||isNaN(o)&&isNaN(u)?0:o<u?-1:o>u?1:Tm(isNaN(o),isNaN(u)))>0)&&Y9(r.d.d,e.d.d+e.d.a+c)&&e.c.Fc(r))},Nj(ndE,"QuadraticConstraintCalculation",1854),ncm(529,1,{529:1},ds),nPB.a=!1,nPB.b=!1,nPB.c=!1,nPB.d=!1,Nj(ndE,ndL,529),ncm(817,1,{},AR),nPB.df=function(n){this.c=n,nr4(this,new np)},Nj(ndE,ndN,817),ncm(1784,1,{693:1},$W),nPB.bf=function(n){var t,e,i,r,a,c,o;(t=CY(n,473)).a?function(n,t){var e,i,r,a,c,o,u,s,h;if(!Lz(n.b,t.b))throw new px("Invalid hitboxes for scanline constraint calculation.").e;(Va(t.b,CY((i=n.b,r=t.b,i.a.Yc(r)),60))||Va(t.b,CY((a=n.b,c=t.b,a.a.Xc(c)),60)))&&vX(),n.a[t.b.f]=CY((o=n.b,u=t.b,o.a._c(u)),60),(e=CY((s=n.b,h=t.b,s.a.$c(h)),60))&&(n.a[e.f]=t.b)}(this,t):((e=CY((r=this.b,a=t.b,r.a._c(a)),60))&&e==this.a[t.b.f]&&e.a&&e.a!=t.b.a&&e.c.Fc(t.b),(i=CY((c=this.b,o=t.b,c.a.$c(o)),60))&&this.a[i.f]==t.b&&i.a&&i.a!=t.b.a&&t.b.c.Fc(i),jR(this.b,t.b))},Nj(ndE,ndx,1784),ncm(1785,1,ndy,nd),nPB.Ne=function(n,t){var e,i;return e=CY(n,60),i=CY(t,60),Jj(e.d.c+e.d.b/2,i.d.c+i.d.b/2)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ndE,nd$,1785),ncm(473,1,{473:1},yW),nPB.a=!1,Nj(ndE,ndD,473),ncm(1786,1,ndy,ng),nPB.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.d.d,n.a||(i+=n.b.d.a),r=t.b.d.d,t.a||(r+=t.b.d.a),0==(e=Jj(i,r))){if(!n.a&&t.a)return -1;else if(!t.a&&n.a)return 1}return e}(CY(n,473),CY(t,473))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ndE,ndR,1786),ncm(1787,1,ndK,np),nPB.Lb=function(n){return CY(n,60),!0},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return CY(n,60),!0},Nj(ndE,"ScanlineConstraintCalculator/lambda$1$Type",1787),ncm(436,22,{3:1,34:1,22:1,436:1},yQ);var nCh=qc(ndF,"HighLevelSortingCriterion",436,nPw,function(){return ZJ(),Vw(DY(nCh,1),nbG,436,0,[nCq,nCG])},function(n){return ZJ(),qa((Fq(),nCX),n)});ncm(435,22,{3:1,34:1,22:1,435:1},yJ);var nCf=qc(ndF,"LowLevelSortingCriterion",435,nPw,function(){return U2(),Vw(DY(nCf,1),nbG,435,0,[nCz,nCV])},function(n){return U2(),qa((FX(),nCW),n)}),nCl=IH(nd_,"ILayoutMetaDataProvider");ncm(864,1,ndq,s0),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ndB),ndX),"Polyomino Traversal Strategy"),"Traversal strategy for trying different candidate positions for polyominoes."),nC2),(nrN(),nQJ)),nCb),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ndH),ndX),"Polyomino Secondary Sorting Criterion"),"Possible secondary sorting criteria for the processing order of polyominoes. They are used when polyominoes are equal according to the primary sorting criterion HighLevelSortingCriterion."),nC1),nQJ),nCf),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ndU),ndX),"Polyomino Primary Sorting Criterion"),"Possible primary sorting criteria for the processing order of polyominoes."),nCY),nQJ),nCh),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ndG),ndX),"Fill Polyominoes"),"Use the Profile Fill algorithm to fill polyominoes to prevent small polyominoes from being placed inside of big polyominoes with large holes. Might increase packing area."),(SB(),!0)),nQW),nPE),JP(nQX))))},Nj(ndF,"PolyominoOptions",864),ncm(257,22,{3:1,34:1,22:1,257:1},yY);var nCb=qc(ndF,"TraversalStrategy",257,nPw,function(){return nuy(),Vw(DY(nCb,1),nbG,257,0,[nIt,nC5,nC8,nC6,nC7,nIn,nC9,nC4,nC3])},function(n){return nuy(),qa((z2(),nIe),n)});ncm(218,1,{218:1},nm),nPB.Ib=function(){return"NEdge[id="+this.b+" w="+this.g+" d="+this.a+"]"},nPB.a=1,nPB.b=0,nPB.c=0,nPB.f=!1,nPB.g=0;var nCw=Nj(ndz,"NEdge",218);ncm(182,1,{},d1),Nj(ndz,"NEdge/NEdgeBuilder",182),ncm(662,1,{},dY),Nj(ndz,"NGraph",662),ncm(125,1,{125:1},_5),nPB.c=-1,nPB.d=0,nPB.e=0,nPB.i=-1,nPB.j=!1;var nCd=Nj(ndz,"NNode",125);ncm(808,1,nw0,dZ),nPB.Jc=function(n){_r(this,n)},nPB.Lc=function(){return new Aa(null,new R$(this,16))},nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.Oc=function(){return new Aa(null,new R$(this,16))},nPB.bd=function(n,t){++this.b,AC(this.a,n,t)},nPB.Fc=function(n){return SN(this,n)},nPB.cd=function(n,t){return++this.b,W0(this.a,n,t)},nPB.Gc=function(n){return++this.b,Vc(this.a,n)},nPB.$b=function(){++this.b,dG(this.a.c,0)},nPB.Hc=function(n){return -1!=H6(this.a,n,0)},nPB.Ic=function(n){return z7(this.a,n)},nPB.Xb=function(n){return I0(this.a,n)},nPB.dd=function(n){return H6(this.a,n,0)},nPB.dc=function(){return 0==this.a.c.length},nPB.Kc=function(){return Hd(new fU(this.a))},nPB.ed=function(){throw(new dD).e},nPB.fd=function(n){throw(new dD).e},nPB.gd=function(n){return++this.b,_V(this.a,n)},nPB.Mc=function(n){return Sx(this,n)},nPB.hd=function(n,t){return++this.b,_o(this.a,n,t)},nPB.gc=function(){return this.a.c.length},nPB.kd=function(n,t){return new Rk(this.a,n,t)},nPB.Pc=function(){return IS(this.a.c)},nPB.Qc=function(n){return ZB(this.a,n)},nPB.b=0,Nj(ndz,"NNode/ChangeAwareArrayList",808),ncm(275,1,{},d0),Nj(ndz,"NNode/NNodeBuilder",275),ncm(1695,1,{},nv),nPB.a=!1,nPB.f=nl3,nPB.j=0,Nj(ndz,"NetworkSimplex",1695),ncm(1314,1,nbE,lw),nPB.Cd=function(n){nfJ(this.a,CY(n,695),!0,!1)},Nj(ndW,"NodeLabelAndSizeCalculator/lambda$0$Type",1314),ncm(565,1,{},ld),nPB.b=!0,nPB.c=!0,nPB.d=!0,nPB.e=!0,Nj(ndW,"NodeMarginCalculator",565),ncm(217,1,{217:1}),nPB.j=!1,nPB.k=!1;var nCg=Nj(ndQ,"Cell",217);ncm(127,217,{127:1,217:1},Os),nPB.jf=function(){return IP(this)},nPB.kf=function(){var n;return n=this.n,this.a.a+n.b+n.c},Nj(ndQ,"AtomicCell",127),ncm(237,22,{3:1,34:1,22:1,237:1},yZ);var nCp=qc(ndQ,"ContainerArea",237,nPw,function(){return GL(),Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa])},function(n){return GL(),qa((BF(),nIc),n)});ncm(336,217,ndY),Nj(ndQ,"ContainerCell",336),ncm(1538,336,ndY,YM),nPB.jf=function(){var n;return n=0,this.e?this.b?n=this.b.b:this.a[1][1]&&(n=this.a[1][1].jf()):n=Yt(this,ntd(this,!0)),n>0?n+this.n.d+this.n.a:0},nPB.kf=function(){var n,t,e,i,r;if(r=0,this.e)this.b?r=this.b.a:this.a[1][1]&&(r=this.a[1][1].kf());else if(this.g)r=Yt(this,neo(this,null,!0));else for(GL(),t=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),e=0,i=t.length;e<i;++e)n=t[e],r=nP_.Math.max(r,Yt(this,neo(this,n,!0)));return r>0?r+this.n.b+this.n.c:0},nPB.lf=function(){var n,t,e,i,r;if(this.g)for(n=neo(this,null,!1),GL(),e=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),i=0,r=e.length;i<r;++i)no1(this,t=e[i],n);else for(GL(),e=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),i=0,r=e.length;i<r;++i)n=neo(this,t=e[i],!1),no1(this,t,n)},nPB.mf=function(){var n,t,e,i;t=this.i,n=this.n,i=ntd(this,!1),_U(this,(GL(),nIi),t.d+n.d,i),_U(this,nIa,t.d+t.a-n.a-i[2],i),e=t.a-n.d-n.a,i[0]>0&&(i[0]+=this.d,e-=i[0]),i[2]>0&&(i[2]+=this.d,e-=i[2]),this.c.a=nP_.Math.max(0,e),this.c.d=t.d+n.d+(this.c.a-e)/2,i[1]=nP_.Math.max(i[1],e),_U(this,nIr,t.d+n.d+i[0]-(i[1]-e)/2,i)},nPB.b=null,nPB.d=0,nPB.e=!1,nPB.f=!1,nPB.g=!1;var nCm=0,nCv=0;Nj(ndQ,"GridContainerCell",1538),ncm(471,22,{3:1,34:1,22:1,471:1},y1);var nCy=qc(ndQ,"HorizontalLabelAlignment",471,nPw,function(){return HS(),Vw(DY(nCy,1),nbG,471,0,[nIu,nIo,nIs])},function(n){return HS(),qa((BK(),nIh),n)});ncm(314,217,{217:1,314:1},Dj,U9,Dr),nPB.jf=function(){return IO(this)},nPB.kf=function(){return IC(this)},nPB.a=0,nPB.c=!1;var nCk=Nj(ndQ,"LabelCell",314);ncm(252,336,{217:1,336:1,252:1},ZC),nPB.jf=function(){return naE(this)},nPB.kf=function(){return naT(this)},nPB.lf=function(){nht(this)},nPB.mf=function(){nha(this)},nPB.b=0,nPB.c=0,nPB.d=!1,Nj(ndQ,"StripContainerCell",252),ncm(1691,1,nbV,ny),nPB.Mb=function(n){var t;return!!(t=CY(n,217))&&t.k},Nj(ndQ,"StripContainerCell/lambda$0$Type",1691),ncm(1692,1,{},nk),nPB.Ye=function(n){return CY(n,217).kf()},Nj(ndQ,"StripContainerCell/lambda$1$Type",1692),ncm(1693,1,nbV,nM),nPB.Mb=function(n){var t;return!!(t=CY(n,217))&&t.j},Nj(ndQ,"StripContainerCell/lambda$2$Type",1693),ncm(1694,1,{},nE),nPB.Ye=function(n){return CY(n,217).jf()},Nj(ndQ,"StripContainerCell/lambda$3$Type",1694),ncm(472,22,{3:1,34:1,22:1,472:1},y0);var nCM=qc(ndQ,"VerticalLabelAlignment",472,nPw,function(){return Uk(),Vw(DY(nCM,1),nbG,472,0,[nIb,nIl,nIf])},function(n){return Uk(),qa((B_(),nIw),n)});ncm(800,1,{},nf0),nPB.c=0,nPB.d=0,nPB.k=0,nPB.s=0,nPB.t=0,nPB.v=!1,nPB.w=0,nPB.D=!1,nPB.F=!1,Nj(nd4,"NodeContext",800),ncm(1536,1,ndy,nT),nPB.Ne=function(n,t){var e,i;return e=CY(n,64),i=CY(t,64),jo(e.g,i.g)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nd4,"NodeContext/0methodref$comparePortSides$Type",1536),ncm(1537,1,ndy,nj),nPB.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.ag(),r=t.b.ag(),0!=(e=jo(i.g,r.g)))return e;switch(n.b.ag().g){case 1:case 2:return jo(n.b.Nf(),t.b.Nf());case 3:case 4:return jo(t.b.Nf(),n.b.Nf())}return 0}(CY(n,117),CY(t,117))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nd4,"NodeContext/1methodref$comparePortContexts$Type",1537),ncm(164,22,{3:1,34:1,22:1,164:1},XV);var nCE=qc(nd4,"NodeLabelLocation",164,nPw,ZX,function(n){return nlG(),qa((Tt(),nIR),n)});ncm(117,1,{117:1},na0),nPB.a=!1,Nj(nd4,"PortContext",117),ncm(1541,1,nbE,nS),nPB.Cd=function(n){m1(CY(n,314))},Nj(nd8,nd9,1541),ncm(1542,1,nbV,nP),nPB.Mb=function(n){return!!CY(n,117).c},Nj(nd8,nd7,1542),ncm(1543,1,nbE,nO),nPB.Cd=function(n){m1(CY(n,117).c)},Nj(nd8,"LabelPlacer/lambda$2$Type",1543),ncm(1540,1,nbE,nC),nPB.Cd=function(n){var t;PY(),(t=CY(n,117)).b.Of(t.e)},Nj(nd8,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),ncm(801,1,nbE,Cd),nPB.Cd=function(n){var t,e,i,r,a,c,o,u;t=this.b,e=this.c,i=this.a,r=t,a=CY(n,187),c=e,o=i,(u=function(n){var t,e,i,r;for(nlG(),e=ZX(),i=0,r=e.length;i<r;++i)if(-1!=H6((t=e[i]).a,n,0))return t;return nID}(a.pf((nl_(),nJ4))?CY(a.of(nJ4),21):r.j))==(nlG(),nID)||(!c||Zc(u))&&nrg(function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(!(r=CY(xN(n.i,t),314)))if(r=new U9(n.d,t,e),LQ(n.i,t,r),Zc(t))c=n.a,o=t.c,u=t.b,s=r,NK(c.a[o.g],u.g,s);else switch(a=function(n){switch(n.g){case 0:case 1:case 2:return nf5(),n1t;case 3:case 4:case 5:return nf5(),n1m;case 6:case 7:case 8:return nf5(),n1y;case 9:case 10:case 11:return nf5(),n1n;default:return nf5(),n1v}}(t),i=CY(xN(n.p,a),252),a.g){case 1:case 3:r.j=!0,h=t.b,f=r,i.a[h.g]=f;break;case 4:case 2:r.k=!0,l=t.c,b=r,i.a[l.g]=b}return r}(r,u,o),a)},nPB.a=!1,nPB.c=!1,Nj(nd8,"NodeLabelCellCreator/lambda$0$Type",801),ncm(1539,1,nbE,lg),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,187),nrg(t.c,e)},Nj(nd8,"PortContextCreator/lambda$0$Type",1539),ncm(1902,1,{},nI),Nj(ngt,"GreedyRectangleStripOverlapRemover",1902),ncm(1903,1,ndy,nA),nPB.Ne=function(n,t){var e,i;return e=CY(n,226),i=CY(t,226),Jj(e.c.d,i.c.d)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngt,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),ncm(1849,1,{},d7),nPB.a=5,nPB.e=0,Nj(ngt,"RectangleStripOverlapRemover",1849),ncm(1850,1,ndy,nL),nPB.Ne=function(n,t){var e,i;return e=CY(n,226),i=CY(t,226),Jj(e.c.c,i.c.c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngt,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),ncm(1852,1,ndy,nN),nPB.Ne=function(n,t){var e,i;return e=CY(n,226),i=CY(t,226),Jj(e.c.c+e.c.b,i.c.c+i.c.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngt,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),ncm(417,22,{3:1,34:1,22:1,417:1},y2);var nCT=qc(ngt,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,nPw,function(){return zQ(),Vw(DY(nCT,1),nbG,417,0,[nIU,nI_,nIB,nIH])},function(n){return zQ(),qa((HO(),nIG),n)});ncm(226,1,{226:1},A$),Nj(ngt,"RectangleStripOverlapRemover/RectangleNode",226),ncm(1851,1,nbE,lp),nPB.Cd=function(n){!function(n,t){var e,i;switch(i=t.c,e=t.a,n.b.g){case 0:e.d=n.e-i.a-i.d;break;case 1:e.d+=n.e;break;case 2:e.c=n.e-i.a-i.d;break;case 3:e.c=n.e+i.d}}(this.a,CY(n,226))},Nj(ngt,"RectangleStripOverlapRemover/lambda$1$Type",1851),ncm(1323,1,ndy,nx),nPB.Ne=function(n,t){var e,i,r,a,c,o;return e=CY(n,176),i=CY(t,176),(r=new n$,1==(c=+(2==(c=(a=CY(FB(xz(new Aa(null,new R$(e.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCR),nCD]))),21)).gc())))&&EB(YX(CY(FB(xX(a.Lc(),new nD),zh(ZE(0),new nn)),168).a,2),0)&&(c=0),1==(o=+(2==(o=(a=CY(FB(xz(new Aa(null,new R$(i.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[nCR,nCD]))),21)).gc())))&&EB(YX(CY(FB(xX(a.Lc(),new nR),zh(ZE(0),new nn)),168).a,2),0)&&(o=0),c<o)?-1:+(c!=o)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),ncm(1326,1,{},n$),nPB.Kb=function(n){return CY(n,334).a},Nj(ngi,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),ncm(1327,1,nbV,nD),nPB.Mb=function(n){return CY(n,332).a},Nj(ngi,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),ncm(1328,1,nbV,nR),nPB.Mb=function(n){return CY(n,332).a},Nj(ngi,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),ncm(1321,1,ndy,nK),nPB.Ne=function(n,t){var e,i,r,a,c;return e=CY(n,176),i=CY(t,176),(r=new nF,(a=CY(FB(xz(new Aa(null,new R$(e.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCR),nCD]))),21).gc())<(c=CY(FB(xz(new Aa(null,new R$(i.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[nCR,nCD]))),21).gc()))?-1:+(a!=c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),ncm(1324,1,{},nF),nPB.Kb=function(n){return CY(n,334).a},Nj(ngi,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),ncm(781,1,ndy,n_),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,176),i=CY(t,176),(r=e.f.c.length)<(a=i.f.c.length)?-1:+(r!=a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/MinNumOfExtensionsComparator",781),ncm(1319,1,ndy,nB),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,330),i=CY(t,330),(r=e.o+e.p)<(a=i.o+i.p)?-1:+(r!=a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/MinPerimeterComparator",1319),ncm(1320,1,ndy,nH),nPB.Ne=function(n,t){var e,i,r,a,c,o;return e=CY(n,330),i=CY(t,330),((o=e.o)<(r=e.p)?o*=o:r*=r,a=o+r,(o=i.o)<(r=i.p)?o*=o:r*=r,a<(c=o+r))?-1:+(a!=c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),ncm(1322,1,ndy,nU),nPB.Ne=function(n,t){var e,i,r,a,c;return e=CY(n,176),i=CY(t,176),(r=new nG,a=CY(FB(xz(new Aa(null,new R$(e.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCR),nCD]))),21).gc(),(a=+(1==a))<(c=+(1==(c=CY(FB(xz(new Aa(null,new R$(i.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[nCR,nCD]))),21).gc()))))?-1:+(a!=c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),ncm(1325,1,{},nG),nPB.Kb=function(n){return CY(n,334).a},Nj(ngi,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),ncm(782,1,{},y3),nPB.Ve=function(n,t){var e,i;return e=CY(n,42),(i=CY(t,176)).f.c.length>0?LW(this.a,e,i):LW(this.b,e,i)},Nj(ngi,"SuccessorCombination",782),ncm(649,1,{},nq),nPB.Ve=function(n,t){var e,i,r,a,c,o,u;return e=CY(n,42),CY(t,176),o=CY((i=e).a,17).a,u=CY(i.b,17).a,a=o,c=u,r=nP_.Math.max(nP_.Math.abs(o),nP_.Math.abs(u)),o<=0&&o==u?(a=0,c=u-1):o==-r&&u!=r?(a=u,c=o,u>=0&&++a):(a=-u,c=o),new Ea(Qx(a),Qx(c))},Nj(ngi,"SuccessorJitter",649),ncm(648,1,{},nX),nPB.Ve=function(n,t){var e,i,r,a=(e=CY(n,42),CY(t,176),e);if(i=CY(a.a,17).a,r=CY(a.b,17).a,i>=0){if(i==r)return new Ea(Qx(-i-1),Qx(-i-1));if(i==-r)return new Ea(Qx(-i),Qx(r+1))}return nP_.Math.abs(i)>nP_.Math.abs(r)?i<0?new Ea(Qx(-i),Qx(r)):new Ea(Qx(-i),Qx(r+1)):new Ea(Qx(i+1),Qx(r))},Nj(ngi,"SuccessorLineByLine",648),ncm(573,1,{},nz),nPB.Ve=function(n,t){var e,i,r,a,c,o;return e=CY(n,42),CY(t,176),c=CY((i=e).a,17).a,o=CY(i.b,17).a,r=c,a=o,0==c&&0==o?a-=1:-1==c&&o<=0?(r=0,a-=2):c<=0&&o>0?(r-=1,a-=1):c>=0&&o<0?(r+=1,a+=1):c>0&&o>=0?(r-=1,a+=1):(r+=1,a-=1),new Ea(Qx(r),Qx(a))},Nj(ngi,"SuccessorManhattan",573),ncm(1344,1,{},nV),nPB.Ve=function(n,t){var e,i,r,a,c;return e=CY(n,42),CY(t,176),(a=CY((i=e).a,17).a,c=CY(i.b,17).a,r=nP_.Math.max(nP_.Math.abs(a),nP_.Math.abs(c)),a<r&&c==-r)?new Ea(Qx(a+1),Qx(c)):a==r&&c<r?new Ea(Qx(a),Qx(c+1)):a>=-r&&c==r?new Ea(Qx(a-1),Qx(c)):new Ea(Qx(a),Qx(c-1))},Nj(ngi,"SuccessorMaxNormWindingInMathPosSense",1344),ncm(409,1,{},lm),nPB.Ve=function(n,t){return LW(this,n,t)},nPB.c=!1,nPB.d=!1,nPB.e=!1,nPB.f=!1,Nj(ngi,"SuccessorQuadrantsGeneric",409),ncm(1345,1,{},nW),nPB.Kb=function(n){return CY(n,334).a},Nj(ngi,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),ncm(332,22,{3:1,34:1,22:1,332:1},y4),nPB.a=!1;var nCj=qc(ngu,ngs,332,nPw,function(){return nno(),Vw(DY(nCj,1),nbG,332,0,[nIX,nIq,nIz,nIV])},function(n){return nno(),qa((HI(),nIW),n)});ncm(1317,1,{}),nPB.Ib=function(){var n,t,e,i,r,a,c,o;for(r=0,e=" ",n=Qx(0);r<this.o;r++){e+=""+n.a,n=Qx((c=n.a)>8?0:c+1)}for(e+="\n",n=Qx(0),a=0;a<this.p;a++){for(e+=""+n.a,n=Qx((o=n.a)>8?0:o+1),i=0;i<this.o;i++)0==Qv(t=Xb(this,i,a),0)?e+="_":0==Qv(t,1)?e+="X":e+="0";e+="\n"}return Di(e,0,e.length-1)},nPB.o=0,nPB.p=0,Nj(ngu,"TwoBitGrid",1317),ncm(330,1317,{330:1},YE),nPB.j=0,nPB.k=0,Nj(ngu,"PlanarGrid",330),ncm(176,330,{330:1,176:1}),nPB.g=0,nPB.i=0,Nj(ngu,"Polyomino",176);var nCS=IH(ngw,ngd);ncm(137,1,ngg,nQ),nPB.qf=function(n,t){return V$(this,n,t)},nPB.nf=function(){return Ah(this)},nPB.of=function(n){return niK(this,n)},nPB.pf=function(n){return Pn(this,n)},Nj(ngw,"MapPropertyHolder",137),ncm(1318,137,ngg,noK),Nj(ngu,"Polyominoes",1318);var nCP,nCO,nCC,nCI,nCA,nCL,nCN,nCx,nC$,nCD,nCR,nCK,nCF,nC_,nCB,nCH,nCU,nCG,nCq,nCX,nCz,nCV,nCW,nCQ,nCJ,nCY,nCZ,nC1,nC0,nC2,nC3,nC4,nC6,nC5,nC8,nC9,nC7,nIn,nIt,nIe,nIi,nIr,nIa,nIc,nIo,nIu,nIs,nIh,nIf,nIl,nIb,nIw,nId,nIg,nIp,nIm,nIv,nIy,nIk,nIM,nIE,nIT,nIj,nIS,nIP,nIO,nIC,nII,nIA,nIL,nIN,nIx,nI$,nID,nIR,nIK,nIF,nI_,nIB,nIH,nIU,nIG,nIq,nIX,nIz,nIV,nIW,nIQ,nIJ,nIY=!1;ncm(1828,1,nbE,nJ),nPB.Cd=function(n){nfn(CY(n,225))},Nj(ngp,"DepthFirstCompaction/0methodref$compactTree$Type",1828),ncm(825,1,nbE,lv),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,225),Ax(CY(e.b,68),t),Gd(e.a,new lv(t))},Nj(ngp,"DepthFirstCompaction/lambda$1$Type",825),ncm(1829,1,nbE,Cf),nPB.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,i=this.c,r=CY(n,225),CY(i.b,68),CY(i.b,68),CY(r.b,68),CY(r.b,68).c.b,B0(r,e,t)},Nj(ngp,"DepthFirstCompaction/lambda$2$Type",1829),ncm(68,1,{68:1},D1),Nj(ngp,"Node",68),ncm(1214,1,{},jd),Nj(ngp,"ScanlineOverlapCheck",1214),ncm(1215,1,{693:1},$J),nPB.bf=function(n){var t;(t=CY(n,451)).a?function(n,t){var e,i,r,a,c,o,u,s,h;if(!Lz(n.a,t.b))throw new px("Invalid hitboxes for scanline overlap calculation.").e;for(r=!1,i=n.a.a.ec().Kc();i.Ob();)if(e=CY(i.Pb(),68),a=t.b,a&&e&&a!=e&&0>JU(a.b.c,e.b.c+e.b.b)&&0>JU(e.b.c,a.b.c+a.b.b)){c=n.b.a,o=t.b,u=c.a,s=o,h=e,LX(u,new yz(s.a,h.a)),r=!0}else if(r)break}(this,t):jR(this.a,t.b)},Nj(ngp,"ScanlineOverlapCheck/OverlapsScanlineHandler",1215),ncm(1216,1,ndy,nY),nPB.Ne=function(n,t){var e,i,r;return e=CY(n,68),i=CY(t,68),0!=(r=Jj(e.b.c,i.b.c))||0!=(r=Jj(e.a.a,i.a.a))?r:Jj(e.a.b,i.a.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngp,"ScanlineOverlapCheck/OverlapsScanlineHandler/lambda$0$Type",1216),ncm(451,1,{451:1},y6),nPB.a=!1,Nj(ngp,"ScanlineOverlapCheck/Timestamp",451),ncm(1217,1,ndy,nZ),nPB.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.b.d,n.a||(i+=n.b.b.a),r=t.b.b.d,t.a||(r+=t.b.b.a),0==(e=Jj(i,r))){if(!n.a&&t.a)return -1;else if(!t.a&&n.a)return 1}return e}(CY(n,451),CY(t,451))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngp,"ScanlineOverlapCheck/lambda$0$Type",1217),ncm(557,1,{},n1),Nj(ngm,"SVGImage",557),ncm(334,1,{334:1},Cl),nPB.Ib=function(){return"("+this.a+nl8+this.b+nl8+this.c+")"},Nj(ngm,"UniqueTriple",334),ncm(205,1,ngv),Nj(ngy,"AbstractLayoutProvider",205),ncm(1114,205,ngv,n0),nPB.rf=function(n,t){var e,i,r;t.Ug(ngk,1),this.a=pj(PI(ncx(n,(Z7(),nNB)))),Bz(n,nNA)&&(i=PA(ncx(n,nNA)),(e=nuX(qk(),i))&&CY(Dc(e.f),205).rf(n,t.eh(1))),r=new Fd(this.a),this.b=function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k;for(n.e=t,o=function(n){var t,e,i,r;for($I(),nNG=new du,nNU=new dc,nNH=new du,n.a||(n.a=new Lk(nNe,n,10,11)),function(n){var t,e,i,r,a,c,o,u,h,f;for(t=new dc,c=new j2(n);c.e!=c.i.gc();){for(a=CY(Z6(c),27),e=new dV,xM(nNU,a,e),f=new n4,i=CY(FB(new Aa(null,new Nf(new Le(Sb(nc6(a).a.Kc(),new s)))),AP(f,Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)])))),85),qg(e,CY(i.xc((SB(),!0)),16),new n6),r=CY(FB(xX(CY(i.xc(!1),15).Lc(),new n5),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15).Kc();r.Ob();)(h=niG(CY(r.Pb(),74)))&&((o=CY(ED(Aj(t.f,h)),21))||(o=noX(h),nr3(t.f,h,o)),Xx(e,o));for(i=CY(FB(new Aa(null,new Nf(new Le(Sb(nc5(a).a.Kc(),new s)))),AP(f,Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD])))),85),qg(e,CY(i.xc(!0),16),new n8),u=CY(FB(xX(CY(i.xc(!1),15).Lc(),new n9),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15).Kc();u.Ob();)(h=niq(CY(u.Pb(),74)))&&((o=CY(ED(Aj(t.f,h)),21))||(o=noX(h),nr3(t.f,h,o)),Xx(e,o))}}(t=n.a),r=new j2(t);r.e!=r.i.gc();)i=CY(Z6(r),27),-1==H6(nNG,i,0)&&(e=new du,jB(nNH,e),function n(t,e){var i,r,a;if(jB(nNG,t),e.Fc(t),i=CY(NR(nNU,t),21))for(a=i.Kc();a.Ob();)r=CY(a.Pb(),27),-1!=H6(nNG,r,0)||n(r,e)}(i,e));return nNH}(t),y=new du,i=new fU(o);i.a<i.c.c.length;){for(e=CY(RU(i),15),k=new du,dk(y.c,k),u=new dV,b=e.Kc();b.Ob();){for(a=nuV(n,l=CY(b.Pb(),27),!0,0,0),dk(k.c,a),new MH(w=l.i,d=l.j),l.n||(l.n=new Lk(nNt,l,1,7)),f=new j2(l.n);f.e!=f.i.gc();)r=nuV(n,CY(Z6(f),135),!1,w,d),dk(k.c,r);for(l.c||(l.c=new Lk(nNi,l,9,9)),p=new j2(l.c);p.e!=p.i.gc();)for(c=nuV(n,g=CY(Z6(p),123),!1,w,d),dk(k.c,c),m=g.i+w,v=g.j+d,g.n||(g.n=new Lk(nNt,g,1,7)),h=new j2(g.n);h.e!=h.i.gc();)r=nuV(n,CY(Z6(h),135),!1,m,v),dk(k.c,r);Xx(u,$H(qb(Vw(DY(nPs,1),nl7,20,0,[nc5(l),nc6(l)]))))}!function(n,t,e){var i,r;for(r=t.a.ec().Kc();r.Ob();)i=CY(r.Pb(),74),CY(NR(n.b,i),272)||(DV(niU(i))==DV(niX(i))?function(n,t,e){var i,r,a;for(zU(a=new ncT(nlI(nrb(no6(t,!1,!1)),pj(PI(ncx(t,(Z7(),nN$))))+n.a)),t),xM(n.b,t,a),dk(e.c,a),t.n||(t.n=new Lk(nNt,t,1,7)),r=new j2(t.n);r.e!=r.i.gc();)i=nuV(n,CY(Z6(r),135),!0,0,0),dk(e.c,i)}(n,i,e):niU(i)==DV(niX(i))?null==NR(n.c,i)&&null!=NR(n.b,niX(i))&&nfD(n,i,e,!1):null==NR(n.d,i)&&null!=NR(n.b,niU(i))&&nfD(n,i,e,!0))}(n,u,k)}return n.f=new mf(y),zU(n.f,t),n.f}(r,n),0===CY(ncx(n,(Wz(),nNS)),489).g?(!function(n,t){var e,i,r,a,c;for(n.b=t,n.g=new du,e=function(n){var t,e,i,r,a,c,o,u,s,h,f;for(h=0,s=0,o=(r=n.a).a.gc(),i=r.a.ec().Kc();i.Ob();)(e=CY(i.Pb(),567)).b&&nhN(e),h+=(f=(t=e.a).a)+(c=t.b),s+=f*c;return(u=nP_.Math.sqrt(400*o*s-4*s+h*h)+h,0==(a=2*(100*o-1)))?u:u/a}(n.b),n.e=e,n.f=e,n.c=pT(PC(niK(n.b,(nes(),nCQ)))),n.a=PI(niK(n.b,(nl_(),nJj))),null==n.a&&(n.a=1),pj(n.a)>1?n.e*=pj(n.a):n.f/=pj(n.a),i=n.b.a.a.ec().Kc();i.Ob();)r=new ncZ(CY(i.Pb(),567),n.e,n.f),jB(n.g,r);for(a=new fU(n.g);a.a<a.c.c.length;)CY(RU(a),568);(function(n){var t,e,i,r,a,c,o,u;switch(o=n.b,t=n.a,0===CY(niK(n,(nes(),nCZ)),435).g?ji(o,new fz(new nB)):ji(o,new fz(new nH)),1===CY(niK(n,nCJ),436).g?(ji(o,new n_),ji(o,new nU),ji(o,new nx)):(ji(o,new n_),ji(o,new nK)),CY(niK(n,nC0),257).g){case 0:u=new nV;break;case 1:u=new nX;break;case 2:u=new nz;break;case 3:u=new nq;break;case 5:u=new lm(new nz);break;case 4:u=new lm(new nX);break;case 7:u=new y3(new lm(new nX),new lm(new nz));break;case 8:u=new y3(new lm(new nq),new lm(new nz));break;default:u=new lm(new nq)}for(c=new fU(o);c.a<c.c.c.length;){for(a=CY(RU(c),176),r=0,e=new Ea(Qx(i=0),Qx(r));function(n,t,e,i){var r,a,c,o,u,s,h;if(function(n,t,e,i){var r,a,c,o,u,s;for(r=0;r<t.o;r++)for(c=0,a=r-t.j+e;c<t.p;c++)if(o=c-t.k+i,u=a,s=o,u+=n.j,s+=n.k,u>=0&&s>=0&&u<n.o&&s<n.p&&(!nn5(t,r,c)&&nn1(n,a,o)||nn6(t,r,c)&&!function(n,t,e){try{return nn5(n,t+n.j,e+n.k)}catch(n){if(jM(n=Vt(n),77))throw new pC(n.g+ngb+t+nl8+e+").").e;throw n.e}}(n,a,o)))return!0;return!1}(n,t,e,i))return!0;for(c=new fU(t.f);c.a<c.c.c.length;){switch(a=CY(RU(c),334),o=!1,s=(u=n.j-t.j+e)+t.o,r=(h=n.k-t.k+i)+t.p,a.a.g){case 0:o=WI(n,u+a.b.a,0,u+a.c.a,h-1);break;case 1:o=WI(n,s,h+a.b.a,n.o-1,h+a.c.a);break;case 2:o=WI(n,u+a.b.a,r,u+a.c.a,n.p-1);break;default:o=WI(n,0,h+a.b.a,u-1,h+a.c.a)}if(o)return!0}return!1}(t,a,i,r);)e=CY(u.Ve(e,a),42),i=CY(e.a,17).a,r=CY(e.b,17).a;!function(n,t,e,i){var r,a,c,o,u,s;for(c=0;c<t.o;c++)for(u=0,o=c-t.j+e;u<t.p;u++)s=u-t.k+i,nn6(t,c,u)?function(n,t,e){try{return nn8(n,t+n.j,e+n.k)}catch(n){if(jM(n=Vt(n),77))throw new pC(n.g+ngb+t+nl8+e+").").e;throw n.e}}(n,o,s)||function(n,t,e){try{nuU(n,t+n.j,e+n.k,!1,!0)}catch(n){if(jM(n=Vt(n),77))throw new pC(n.g+ngb+t+nl8+e+").").e;throw n.e}}(n,o,s):nn8(t,c,u)&&(nn1(n,o,s)||function(n,t,e){try{nuU(n,t+n.j,e+n.k,!0,!1)}catch(n){if(jM(n=Vt(n),77))throw new pC(n.g+ngb+t+nl8+e+").").e;throw n.e}}(n,o,s));for(t.g=n.j-t.j+e,t.i=n.k-t.k+i,a=new fU(t.f);a.a<a.c.c.length;)switch((r=CY(RU(a),334)).a.g){case 0:VA(n,t.g+r.b.a,0,t.g+r.c.a,t.i-1);break;case 1:VA(n,t.g+t.o,t.i+r.b.a,n.o-1,t.i+r.c.a);break;case 2:VA(n,t.g+r.b.a,t.i+t.p,t.g+r.c.a,n.p-1);break;default:VA(n,0,t.i+r.b.a,t.g-1,t.i+r.c.a)}}(t,a,i,r)}})(c=new noK(n.g,pj(n.a),n.c)),n.g=c.b,n.d=c.a,function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(e=function(n){var t,e,i,r,a,c,o,u,s,h;for(s=0,e=n.o,t=n.p,c=nl3,r=nbJ,o=nl3,a=nbJ;s<e;++s)for(h=0;h<t;++h)nn6(n,s,h)&&(c=nP_.Math.min(c,s),r=nP_.Math.max(r,s),o=nP_.Math.min(o,h),a=nP_.Math.max(a,h));return u=r-c+1,i=a-o+1,new x8(Qx(c),Qx(o),Qx(u),Qx(i))}(n.d),a=(r=CY(niK(n.b,(Z7(),nND)),107)).b+r.c,c=r.d+r.a,u=e.d.a*n.e+a,o=e.b.a*n.f+c,n.b.b=new MH(u,o),h=new fU(n.g);h.a<h.c.c.length;)t=OT((f=new MH((s=CY(RU(h),568)).g-e.a.a,s.i-e.c.a),l=s.a,b=s.b,f.a*=l,f.b*=b,f),j_(Pf(jv(TJ(s.e)),s.d*s.a,s.c*s.b),-.5)),i=TY(s.e),w=s.e,d=Oj(t,i),w.b=!0,w.d=d}(n),VD(n.b,(Z7(),nNx),n.g)}(new n2,this.b),nnh(n,nNx,niK(this.b,nNx))):vX(),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;for(l=(a=n.f.b).a,h=a.b,w=n.e.g,b=n.e.f,T_(n.e,a.a,a.b),M=l/w,E=h/b,s=new j2(xx(n.e));s.e!=s.i.gc();)GZ(u=CY(Z6(s),135),u.i*M),G1(u,u.j*E);for(m=new j2(x$(n.e));m.e!=m.i.gc();)y=(p=CY(Z6(m),123)).i,k=p.j,y>0&&GZ(p,y*M),k>0&&G1(p,k*E);for(zs(n.b,new n7),t=new du,o=new zM(new fP(n.c).a);o.b;)i=CY((c=Xu(o)).ld(),74),e=CY(c.md(),407).a,r=no6(i,!1,!1),nho(f=niu(niU(i),nrb(r),e),r),(v=niG(i))&&-1==H6(t,v,0)&&(dk(t.c,v),xQ(v,(Px(0!=f.b),CY(f.a.a.c,8)),e));for(g=new zM(new fP(n.d).a);g.b;)i=CY((d=Xu(g)).ld(),74),e=CY(d.md(),407).a,r=no6(i,!1,!1),f=niu(niX(i),Wo(nrb(r)),e),nho(f=Wo(f),r),(v=niq(i))&&-1==H6(t,v,0)&&(dk(t.c,v),xQ(v,(Px(0!=f.b),CY(f.c.b.c,8)),e))}(r),nnh(n,nNN,this.b),t.Vg()},nPB.a=0,Nj(ngM,"DisCoLayoutProvider",1114),ncm(1208,1,{},n2),nPB.c=!1,nPB.e=0,nPB.f=0,Nj(ngM,"DisCoPolyominoCompactor",1208),ncm(567,1,{567:1},Ar),nPB.b=!0,Nj(ngE,"DCComponent",567),ncm(406,22,{3:1,34:1,22:1,406:1},y5),nPB.a=!1;var nIZ=qc(ngE,"DCDirection",406,nPw,function(){return nnc(),Vw(DY(nIZ,1),nbG,406,0,[nNv,nNm,nNy,nNk])},function(n){return nnc(),qa((HC(),nNM),n)});ncm(272,137,{3:1,272:1,96:1,137:1},ncT),Nj(ngE,"DCElement",272),ncm(407,1,{407:1},ntt),nPB.c=0,Nj(ngE,"DCExtension",407),ncm(762,137,ngg,mf),Nj(ngE,"DCGraph",762),ncm(489,22,{3:1,34:1,22:1,489:1},Pw);var nI1=qc(ngT,ngj,489,nPw,function(){return v5(),Vw(DY(nI1,1),nbG,489,0,[nNE])},function(n){return v5(),qa((KK(),nNT),n)});ncm(865,1,ndq,s2),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngS),ngI),"Connected Components Compaction Strategy"),"Strategy for packing different connected components in order to save space and enhance readability of a graph."),nNP),(nrN(),nQJ)),nI1),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ngP),ngI),"Connected Components Layout Algorithm"),"A layout algorithm that is to be applied to each connected component before the components themselves are compacted. If unspecified, the positions of the components' nodes are not altered."),nQ0),nPL),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ngO),"debug"),"DCGraph"),"Access to the DCGraph is intended for the debug view,"),nQ1),nPa),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ngC),"debug"),"List of Polyominoes"),"Access to the polyominoes is intended for the debug view,"),nQ1),nPa),JP(nQX)))),nhO((new s3,n))},Nj(ngT,"DisCoMetaDataProvider",865),ncm(1010,1,ndq,s3),nPB.hf=function(n){nhO(n)},Nj(ngT,"DisCoOptions",1010),ncm(1011,1,{},n3),nPB.sf=function(){return new n0},nPB.tf=function(n){},Nj(ngT,"DisCoOptions/DiscoFactory",1011),ncm(568,176,{330:1,176:1,568:1},ncZ),nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=0,Nj("org.eclipse.elk.alg.disco.structures","DCPolyomino",568),ncm(1286,1,nbV,n4),nPB.Mb=function(n){return Tw(n)},Nj(ngD,"ElkGraphComponentsProcessor/lambda$0$Type",1286),ncm(1287,1,{},n6),nPB.Kb=function(n){return $I(),niU(CY(n,74))},Nj(ngD,"ElkGraphComponentsProcessor/lambda$1$Type",1287),ncm(1288,1,nbV,n5),nPB.Mb=function(n){var t;return t=CY(n,74),$I(),niU(t)==DV(niX(t))},Nj(ngD,"ElkGraphComponentsProcessor/lambda$2$Type",1288),ncm(1289,1,{},n8),nPB.Kb=function(n){return $I(),niX(CY(n,74))},Nj(ngD,"ElkGraphComponentsProcessor/lambda$3$Type",1289),ncm(1290,1,nbV,n9),nPB.Mb=function(n){var t;return t=CY(n,74),$I(),niX(t)==DV(niU(t))},Nj(ngD,"ElkGraphComponentsProcessor/lambda$4$Type",1290),ncm(1291,1,nbV,ly),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,74),$I(),t==DV(niU(e))||t==DV(niX(e))},Nj(ngD,"ElkGraphComponentsProcessor/lambda$5$Type",1291),ncm(1292,1,{},lk),nPB.Kb=function(n){var t,e;return t=this.a,e=CY(n,74),$I(),t==niU(e)?niX(e):niU(e)},Nj(ngD,"ElkGraphComponentsProcessor/lambda$6$Type",1292),ncm(1205,1,{},Fd),nPB.a=0,Nj(ngD,"ElkGraphTransformer",1205),ncm(1206,1,{},n7),nPB.Yd=function(n,t){var e,i,r,a,c;e=CY(n,167),this.a=CY(t,272).b.d,jM(e,326)?(_r(a=nrb(r=no6(CY(e,74),!1,!1)),i=new lM(this)),nho(a,r),null!=e.of((nl_(),nJY))&&_r(CY(e.of(nJY),75),i)):((c=CY(e,422)).rh(c.nh()+this.a.a),c.sh(c.oh()+this.a.b))},Nj(ngD,"ElkGraphTransformer/OffsetApplier",1206),ncm(1207,1,nbE,lM),nPB.Cd=function(n){Pu(CY(n,8),this.a.a.a,this.a.a.b)},Nj(ngD,"ElkGraphTransformer/OffsetApplier/OffSetToChainApplier",1207),ncm(760,1,{},tn),Nj(ngB,ngH,760),ncm(1195,1,ndy,tt),nPB.Ne=function(n,t){var e,i,r,a,c;return e=CY(n,235),i=CY(t,235),0==(r=CY(niK(i,(nsK(),nxc)),17).a-CY(niK(e,nxc),17).a)?(a=Oj(jv(CY(niK(e,(Xo(),nxv)),8)),CY(niK(e,nxy),8)),c=Oj(jv(CY(niK(i,nxv),8)),CY(niK(i,nxy),8)),Jj(a.a*a.b,c.a*c.b)):r},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngB,ngU,1195),ncm(1196,1,nbE,y8),nPB.Cd=function(n){var t,e,i;t=this.b,e=this.a,OT(i=new TP(CY(n,250).d),t),JL(e,i.a,i.b)},Nj(ngB,ngG,1196),ncm(738,205,ngv,d2),nPB.rf=function(n,t){nc3(this,n,t)},Nj(ngB,"ForceLayoutProvider",738),ncm(309,137,{3:1,309:1,96:1,137:1}),Nj(ngq,"FParticle",309),ncm(250,309,{3:1,250:1,309:1,96:1,137:1},Nb),nPB.Ib=function(){var n;return this.a?(n=H6(this.a.a,this,0))>=0?"b"+n+"["+_i(this.a)+"]":"b["+_i(this.a)+"]":"b_"+SK(this)},Nj(ngq,"FBendpoint",250),ncm(290,137,{3:1,290:1,96:1,137:1},Ol),nPB.Ib=function(){return _i(this)},Nj(ngq,"FEdge",290),ncm(235,137,{3:1,235:1,96:1,137:1},_6);var nI0=Nj(ngq,"FGraph",235);ncm(454,309,{3:1,454:1,309:1,96:1,137:1},Fw),nPB.Ib=function(){return null==this.b||0==this.b.length?"l["+_i(this.a)+"]":"l_"+this.b},Nj(ngq,"FLabel",454),ncm(153,309,{3:1,153:1,309:1,96:1,137:1},jf),nPB.Ib=function(){return RW(this)},nPB.a=0,Nj(ngq,"FNode",153),ncm(2100,1,{}),nPB.vf=function(n){nsz(this,n)},nPB.wf=function(){ntb(this)},nPB.d=0,Nj(ngz,"AbstractForceModel",2100),ncm(641,2100,{641:1},zk),nPB.uf=function(n,t){var e,i,r,a,c,o;return nfc(this.f,n,t),r=Oj(jv(t.d),n.d),a=nP_.Math.sqrt(r.a*r.a+r.b*r.b),i=nP_.Math.max(0,a-N5(n.e)/2-N5(t.e)/2),j_(r,((e=naF(this.e,n,t))>0?-(c=this.c,i>0?nP_.Math.log(i/c):-100)*e:(o=this.b,(i>0?o/(i*i):100*o)*CY(niK(n,(nsK(),nxc)),17).a))/a),r},nPB.vf=function(n){nsz(this,n),this.a=CY(niK(n,(nsK(),nN6)),17).a,this.c=pj(PI(niK(n,nxl))),this.b=pj(PI(niK(n,nxu)))},nPB.xf=function(n){return n<this.a},nPB.a=0,nPB.b=0,nPB.c=0,Nj(ngz,"EadesModel",641),ncm(642,2100,{642:1},Im),nPB.uf=function(n,t){var e,i,r,a,c,o,u;return nfc(this.f,n,t),r=Oj(jv(t.d),n.d),c=nP_.Math.sqrt(r.a*r.a+r.b*r.b),o=i=nP_.Math.max(0,c-N5(n.e)/2-N5(t.e)/2),u=this.a,a=(o>0?u*u/o:u*u*100)*CY(niK(n,(nsK(),nxc)),17).a,(e=naF(this.e,n,t))>0&&(a-=i*i/this.a*e),j_(r,a*this.b/c),r},nPB.vf=function(n){var t,e,i,r,a,c,o;for(nsz(this,n),this.b=pj(PI(niK(n,(nsK(),nxb)))),this.c=this.b/CY(niK(n,nN6),17).a,i=n.e.c.length,a=0,r=0,o=new fU(n.e);o.a<o.c.c.length;)a+=(c=CY(RU(o),153)).e.a,r+=c.e.b;t=a*r,e=pj(PI(niK(n,nxl)))*nd5,this.a=nP_.Math.sqrt(t/(2*i))*e},nPB.wf=function(){ntb(this),this.b-=this.c},nPB.xf=function(n){return this.b>0},nPB.a=0,nPB.b=0,nPB.c=0,Nj(ngz,"FruchtermanReingoldModel",642),ncm(860,1,ndq,s4),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngV),""),"Force Model"),"Determines the model for force calculation."),nNz),(nrN(),nQJ)),nI2),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngW),""),"Iterations"),"The number of iterations on the force model."),Qx(300)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngQ),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),Qx(0)),nQZ),nPO),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngJ),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),ngY),nQQ),nPS),JP(nQX)))),Kj(n,ngJ,ngV,nNY),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngZ),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),nQQ),nPS),JP(nQX)))),Kj(n,ngZ,ngV,nNW),nlo((new s6,n))},Nj(ng1,"ForceMetaDataProvider",860),ncm(432,22,{3:1,34:1,22:1,432:1},y9);var nI2=qc(ng1,"ForceModelStrategy",432,nPw,function(){return U3(),Vw(DY(nI2,1),nbG,432,0,[nNZ,nN1])},function(n){return U3(),qa((Fz(),nN0),n)});ncm(nb8,1,ndq,s6),nPB.hf=function(n){nlo(n)},Nj(ng1,"ForceOptions",nb8),ncm(1001,1,{},tc),nPB.sf=function(){return new d2},nPB.tf=function(n){},Nj(ng1,"ForceOptions/ForceFactory",1001),ncm(861,1,ndq,s5),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npg),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(SB(),!1)),(nrN(),nQW)),nPE),JP((ZW(),nQq))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npp),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),nQQ),nPS),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQU]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npm),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),nxj),nQJ),nI3),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npv),""),"Stress Epsilon"),"Termination criterion for the iterative process."),ngY),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npy),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),Qx(nl3)),nQZ),nPO),JP(nQX)))),nfx((new s8,n))},Nj(ng1,"StressMetaDataProvider",861),ncm(1004,1,ndq,s8),nPB.hf=function(n){nfx(n)},Nj(ng1,"StressOptions",1004),ncm(1005,1,{},tr),nPB.sf=function(){return new Ob},nPB.tf=function(n){},Nj(ng1,"StressOptions/StressFactory",1005),ncm(1110,205,ngv,Ob),nPB.rf=function(n,t){var e,i,r,a;for(t.Ug(npM,1),pT(PC(ncx(n,(ntZ(),nxN))))?pT(PC(ncx(n,nxF)))||Dv(new lh((yv(),new py(n)))):nc3(new d2,n,t.eh(1)),i=VR(n),a=(e=nhi(this.a,i)).Kc();a.Ob();)(r=CY(a.Pb(),235)).e.c.length<=1||(!function(n,t){var e,i,r,a,c,o,u,s,h;if(!(t.e.c.length<=1)){for(n.f=t,n.d=CY(niK(n.f,(ntZ(),nxI)),391),n.g=CY(niK(n.f,nxx),17).a,n.e=pj(PI(niK(n.f,nxA))),n.c=pj(PI(niK(n.f,nxC))),L4(n.b),r=new fU(n.f.c);r.a<r.c.c.length;)i=CY(RU(r),290),nsw(n.b,i.c,i,null),nsw(n.b,i.d,i,null);for(o=n.f.e.c.length,n.a=I3(n4b,[nby,nwX],[109,28],15,[o,o],2),s=new fU(n.f.e);s.a<s.c.c.length;)!function(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(h=new Lt(new lE(e)),LY(o=BJ(n4h,ndV,28,n.f.e.c.length,16,1),o.length),e[t.a]=0,s=new fU(n.f.e);s.a<s.c.c.length;)(u=CY(RU(s),153)).a!=t.a&&(e[u.a]=nl3),C7(niS(h,u),nwY);for(;0!=h.b.c.length;)for(o[(f=CY(UN(h),153)).a]=!0,a=Sw(new vE(n.b,f),0);a.c;)!o[(l=function(n,t){if(n.c==t)return n.d;if(n.d==t)return n.c;throw new pN("Node 'one' must be either source or target of edge 'edge'.").e}(r=CY(U_(a),290),f)).a]&&(c=Pn(r,(ntZ(),nxC))?pj(PI(niK(r,nxC))):n.c,(i=e[f.a]+c)<e[l.a]&&(e[l.a]=i,Xh(h,l),C7(niS(h,l),nwY)))}(n,u=CY(RU(s),153),n.a[u.a]);for(a=0,n.i=I3(n4b,[nby,nwX],[109,28],15,[o,o],2);a<o;++a)for(c=0;c<o;++c)h=1/((e=n.a[a][c])*e),n.i[a][c]=h}}(this.b,r),function(n){var t,e,i,r,a,c,o,u,s;if(!(n.f.e.c.length<=1)){t=0,r=ncf(n),e=nwF;do{for(t>0&&(r=e),c=new fU(n.f.e);c.a<c.c.c.length;)pT(PC(niK(a=CY(RU(c),153),(ntZ(),nxL))))||(i=function(n,t){var e,i,r,a,c,o,u;for(a=0,o=0,u=0,r=new fU(n.f.e);r.a<r.c.c.length;)t!=(i=CY(RU(r),153))&&(a+=c=n.i[t.a][i.a],(e=Hr(t.d,i.d))>0&&n.d!=(Uy(),nxU)&&(o+=c*(i.d.a+n.a[t.a][i.a]*(t.d.a-i.d.a)/e)),e>0&&n.d!=(Uy(),nxB)&&(u+=c*(i.d.b+n.a[t.a][i.a]*(t.d.b-i.d.b)/e)));switch(n.d.g){case 1:return new MH(o/a,t.d.b);case 2:return new MH(t.d.a,u/a);default:return new MH(o/a,u/a)}}(n,a),OT(Ta(a.d),i));e=ncf(n)}while(o=t++,u=r,s=e,0!=u&&!((u-s)/u<n.e)&&!(o>=n.g))}}(this.b),Gd(r.d,new ta));nlp(i=nlr(e)),t.Vg()},Nj(npT,"StressLayoutProvider",1110),ncm(1111,1,nbE,ta),nPB.Cd=function(n){nhS(CY(n,454))},Nj(npT,"StressLayoutProvider/lambda$0$Type",1111),ncm(1002,1,{},dU),nPB.c=0,nPB.e=0,nPB.g=0,Nj(npT,"StressMajorization",1002),ncm(391,22,{3:1,34:1,22:1,391:1},y7);var nI3=qc(npT,"StressMajorization/Dimension",391,nPw,function(){return Uy(),Vw(DY(nI3,1),nbG,391,0,[nxH,nxB,nxU])},function(n){return Uy(),qa((BH(),nxG),n)});ncm(1003,1,ndy,lE),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,153),r=CY(t,153),Jj(e[i.a],e[r.a])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npT,"StressMajorization/lambda$0$Type",1003),ncm(1192,1,{},R2),Nj(npS,"ElkLayered",1192),ncm(1193,1,nbE,lT),nPB.Cd=function(n){!function(n,t){var e;if((e=CY(niK(t,(nlL(),nB9)),322))!=n)throw new pF("The hierarchy aware processor "+e+" in child node "+t+" is only allowed if the root node specifies the same hierarchical processor.").e}(this.a,CY(n,36))},Nj(npS,"ElkLayered/lambda$0$Type",1193),ncm(1194,1,nbE,lj),nPB.Cd=function(n){var t;t=this.a,VD(CY(n,36),(nlL(),nB1),t)},Nj(npS,"ElkLayered/lambda$1$Type",1194),ncm(1281,1,{},jI),Nj(npS,"GraphConfigurator",1281),ncm(770,1,nbE,lS),nPB.Cd=function(n){ni5(this.a,CY(n,10))},Nj(npS,"GraphConfigurator/lambda$0$Type",770),ncm(771,1,{},ti),nPB.Kb=function(n){return nep(),new Aa(null,new R$(CY(n,30).a,16))},Nj(npS,"GraphConfigurator/lambda$1$Type",771),ncm(772,1,nbE,lP),nPB.Cd=function(n){ni5(this.a,CY(n,10))},Nj(npS,"GraphConfigurator/lambda$2$Type",772),ncm(1109,205,ngv,gn),nPB.rf=function(n,t){var e,i,r;e=function(n,t){var e,i,r,a;if(r=nsY(t),t.c||(t.c=new Lk(nNi,t,9,9)),vZ(new Aa(null,(!t.c&&(t.c=new Lk(nNi,t,9,9)),new R$(t.c,16))),new l$(r)),function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(c=pT(PC(ncx(n,(nlL(),nHE)))),l=CY(ncx(n,nUr),21),u=!1,s=!1,f=new j2((!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c));f.e!=f.i.gc()&&(!u||!s);){for(a=CY(Z6(f),123),o=0,r=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(a.d||(a.d=new Ox(nL6,a,8,5)),a.d),(a.e||(a.e=new Ox(nL6,a,7,4)),a.e)])));ncv(r)&&(i=CY(_I(r),74),h=c&&na$(i)&&pT(PC(ncx(i,nHT))),e=nfr((i.b||(i.b=new Ox(nL4,i,4,7)),i.b),a)?n==DV(niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84))):n==DV(niw(CY(GO((i.b||(i.b=new Ox(nL4,i,4,7)),i.b),0),84))),!((h||e)&&++o>1)););o>0?u=!0:l.Hc((nap(),nZ6))&&(!a.n&&(a.n=new Lk(nNt,a,1,7)),a.n).i>0&&(u=!0),o>1&&(s=!0)}u&&t.Fc((no7(),nKc)),s&&t.Fc((no7(),nKo))}(t,i=CY(niK(r,(nlF(),nKU)),21)),i.Hc((no7(),nKc)))for(e=new j2((!t.c&&(t.c=new Lk(nNi,t,9,9)),t.c));e.e!=e.i.gc();)!function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p;for(u=new MH(i.i+i.g/2,i.j+i.f/2),l=nh5(i),b=CY(ncx(t,(nlL(),nUt)),101),d=CY(ncx(i,nUc),64),g=Z3(i),p=nUn,YA(g.a,p)||(w=0==i.i&&0==i.j?0:function(n,t){var e;if(!DP(n))throw new px(nEc).e;switch(e=DP(n),t.g){case 1:return-(n.j+n.f);case 2:return n.i-e.g;case 3:return n.j-e.f;case 4:return-(n.i+n.g)}return 0}(i,d),nnh(i,nUn,w)),VD(r=nll(i,b,d,l,new MH(t.g,t.f),u,new MH(i.g,i.f),CY(niK(e,nHt),88),e),(nlF(),nK6),i),(a=CY(I0(r.j,0),12)).c=function(n){var t,e,i,r,a;for(a=DP(n),r=new j2((!n.e&&(n.e=new Ox(nL6,n,7,4)),n.e));r.e!=r.i.gc();)if(i=CY(Z6(r),74),!Gw(niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84)),a))return!0;for(e=new j2((!n.d&&(n.d=new Ox(nL6,n,8,5)),n.d));e.e!=e.i.gc();)if(t=CY(Z6(e),74),!Gw(niw(CY(GO((t.b||(t.b=new Ox(nL4,t,4,7)),t.b),0),84)),a))return!0;return!1}(i),VD(r,nUr,(nap(),JP(nZ8))),h=CY(ncx(t,nUr),181).Hc(nZ6),o=new j2((!i.n&&(i.n=new Lk(nNt,i,1,7)),i.n));o.e!=o.i.gc();)if(!pT(PC(ncx(c=CY(Z6(o),135),nHZ)))&&c.a&&(f=Qp(c),jB(a.f,f),!h))switch(s=0,Lp(CY(ncx(t,nUr),21))&&(s=naP(new MH(c.i,c.j),new MH(c.g,c.f),new MH(i.g,i.f),0,d)),d.g){case 2:case 4:f.o.a=s;break;case 1:case 3:f.o.b=s}VD(r,nUP,PI(ncx(DV(t),nUP))),VD(r,nUO,PI(ncx(DV(t),nUO))),VD(r,nUj,PI(ncx(DV(t),nUj))),jB(e.a,r),xM(n.a,i,r)}(n,t,r,CY(Z6(e),123));return 0!=CY(ncx(t,(nlL(),nHW)),181).gc()&&nun(t,r),pT(PC(niK(r,nH2)))&&i.Fc(nKf),Pn(r,nUd)&&(a=new Yk(pj(PI(niK(r,nUd)))),Wd(a).Cd(r)),ER(ncx(t,nHm))===ER((QO(),nZj))?function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C;for(c=new vq,k=CY(niK(e,(nlL(),nHt)),88),g=0,Xx(c,(t.a||(t.a=new Lk(nNe,t,10,11)),t.a));0!=c.b;)(ER(ncx(h=DV(f=CY(0==c.b?null:(Px(0!=c.b),Gy(c,c.a.a)),27)),nBQ))!==ER((Zu(),nGO))||ER(ncx(h,nB7))===ER((Zo(),nRx))||ER(ncx(h,nB7))===ER((Zo(),nRL))||pT(PC(ncx(h,nBY)))||ER(ncx(h,nBG))!==ER((ZT(),n$h))||ER(ncx(h,nH$))===ER((nu7(),nGp))||ER(ncx(h,nH$))===ER((nu7(),nGm))||ER(ncx(h,nHD))===ER((noj(),nU0))||ER(ncx(h,nHD))===ER((noj(),nU3)))&&!pT(PC(ncx(f,nBV)))&&nnh(f,(nlF(),nK4),Qx(g++)),!pT(PC(ncx(f,nHZ)))&&(b=0!=(!f.a&&(f.a=new Lk(nNe,f,10,11)),f.a).i,d=function(n){var t,e;if(pT(PC(ncx(n,(nlL(),nHE))))){for(e=new Le(Sb(nc5(n).a.Kc(),new s));ncv(e);)if(na$(t=CY(_I(e),74))&&pT(PC(ncx(t,nHT))))return!0}return!1}(f),w=ER(ncx(f,nHm))===ER((QO(),nZj)),P=!Bz(f,(nl_(),nJM))||_C(PA(ncx(f,nJM))),v=null,P&&w&&(b||d)&&(VD(v=nsY(f),nHt,k),Pn(v,nUd)&&(O=new Yk(pj(PI(niK(v,nUd)))),C=v,Wd(O).Cd(C)),0!=CY(ncx(f,nHW),181).gc()&&(l=v,vZ(new Aa(null,(!f.c&&(f.c=new Lk(nNi,f,9,9)),new R$(f.c,16))),new lD(l)),nun(f,v))),M=e,(E=CY(NR(n.a,DV(f)),10))&&(M=E.e),m=nlb(n,f,M),v&&(m.e=v,v.e=m,Xx(c,(f.a||(f.a=new Lk(nNe,f,10,11)),f.a))));for(g=0,F_(c,t,c.c.b,c.c);0!=c.b;){for(u=new j2((!(a=CY(0==c.b?null:(Px(0!=c.b),Gy(c,c.a.a)),27)).b&&(a.b=new Lk(nL6,a,12,3)),a.b));u.e!=u.i.gc();)nuQ(o=CY(Z6(u),74)),(ER(ncx(t,nBQ))!==ER((Zu(),nGO))||ER(ncx(t,nB7))===ER((Zo(),nRx))||ER(ncx(t,nB7))===ER((Zo(),nRL))||pT(PC(ncx(t,nBY)))||ER(ncx(t,nBG))!==ER((ZT(),n$h))||ER(ncx(t,nH$))===ER((nu7(),nGp))||ER(ncx(t,nH$))===ER((nu7(),nGm))||ER(ncx(t,nHD))===ER((noj(),nU0))||ER(ncx(t,nHD))===ER((noj(),nU3)))&&nnh(o,(nlF(),nK4),Qx(g++)),j=niw(CY(GO((o.b||(o.b=new Ox(nL4,o,4,7)),o.b),0),84)),S=niw(CY(GO((o.c||(o.c=new Ox(nL4,o,5,8)),o.c),0),84)),pT(PC(ncx(o,nHZ)))||pT(PC(ncx(j,nHZ)))||pT(PC(ncx(S,nHZ)))||(p=na$(o)&&pT(PC(ncx(j,nHE)))&&pT(PC(ncx(o,nHT))),y=a,p||Gw(S,j)?y=j:Gw(j,S)&&(y=S),M=e,(E=CY(NR(n.a,y),10))&&(M=E.e),VD(nlK(n,o,y,M),(nlF(),nKI),function(n,t,e,i){var r,a,c,o,u;return(o=niw(CY(GO((t.b||(t.b=new Ox(nL4,t,4,7)),t.b),0),84)),u=niw(CY(GO((t.c||(t.c=new Ox(nL4,t,5,8)),t.c),0),84)),DV(o)==DV(u)||Gw(u,o))?null:(c=DS(t))==e?i:(a=CY(NR(n.a,c),10))&&(r=a.e)?r:null}(n,o,t,e)));if(w=ER(ncx(a,nHm))===ER((QO(),nZj)))for(r=new j2((!a.a&&(a.a=new Lk(nNe,a,10,11)),a.a));r.e!=r.i.gc();)P=!Bz(i=CY(Z6(r),27),(nl_(),nJM))||_C(PA(ncx(i,nJM))),T=ER(ncx(i,nHm))===ER(nZj),P&&T&&F_(c,i,c.c.b,c.c)}}(n,t,r):function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(l=0,r=new j2((!t.a&&(t.a=new Lk(nNe,t,10,11)),t.a));r.e!=r.i.gc();)pT(PC(ncx(i=CY(Z6(r),27),(nlL(),nHZ))))||((ER(ncx(h=DV(i),nBQ))!==ER((Zu(),nGO))||ER(ncx(h,nB7))===ER((Zo(),nRx))||ER(ncx(h,nB7))===ER((Zo(),nRL))||pT(PC(ncx(h,nBY)))||ER(ncx(h,nBG))!==ER((ZT(),n$h))||ER(ncx(h,nH$))===ER((nu7(),nGp))||ER(ncx(h,nH$))===ER((nu7(),nGm))||ER(ncx(h,nHD))===ER((noj(),nU0))||ER(ncx(h,nHD))===ER((noj(),nU3)))&&!pT(PC(ncx(i,nBV)))&&(nnh(i,(nlF(),nK4),Qx(l)),++l),nlb(n,i,e));for(l=0,s=new j2((!t.b&&(t.b=new Lk(nL6,t,12,3)),t.b));s.e!=s.i.gc();)o=CY(Z6(s),74),(ER(ncx(t,(nlL(),nBQ)))!==ER((Zu(),nGO))||ER(ncx(t,nB7))===ER((Zo(),nRx))||ER(ncx(t,nB7))===ER((Zo(),nRL))||pT(PC(ncx(t,nBY)))||ER(ncx(t,nBG))!==ER((ZT(),n$h))||ER(ncx(t,nH$))===ER((nu7(),nGp))||ER(ncx(t,nH$))===ER((nu7(),nGm))||ER(ncx(t,nHD))===ER((noj(),nU0))||ER(ncx(t,nHD))===ER((noj(),nU3)))&&(nnh(o,(nlF(),nK4),Qx(l)),++l),d=niU(o),g=niX(o),f=pT(PC(ncx(d,nHE))),w=!pT(PC(ncx(o,nHZ))),b=f&&na$(o)&&pT(PC(ncx(o,nHT))),a=DV(d)==t&&DV(d)==DV(g),c=(DV(d)==t&&g==t)^(DV(g)==t&&d==t),w&&!b&&(c||a)&&nlK(n,o,t,e);if(DV(t))for(u=new j2($l(DV(t)));u.e!=u.i.gc();)(d=niU(o=CY(Z6(u),74)))==t&&na$(o)&&(b=pT(PC(ncx(d,(nlL(),nHE))))&&pT(PC(ncx(o,nHT))))&&nlK(n,o,t,e)}(n,t,r),r}(new ge,n),ER(ncx(n,(nlL(),nHm)))===ER((QO(),nZj))?(i=this.a,(r=t)||(r=Io(new gz,0)),r.Ug(npj,2),nnM(i.b,e,r.eh(1)),function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(_r(u=function(n){var t,e,i,r,a;for(t=new j1,e=new j1,K3(t,n),K3(e,n);e.b!=e.c;)for(a=new fU(CY(LG(e),36).a);a.a<a.c.c.length;)(r=CY(RU(a),10)).e&&(K3(t,i=r.e),K3(e,i));return t}(t),new lT(CY(niK(t,(nlL(),nB9)),322))),_r(u,new lj(CY(niK(t,nB1),299))),w=0,s=new du,r=new xU(u);r.a!=r.b;)i=CY(Qd(r),36),nfO(n.c,i),w+=(f=CY(niK(i,(nlF(),nFa)),15)).gc(),jB(s,new Ea(i,f.Kc()));for(e.Ug("Recursive hierarchical layout",w),b=0,l=CY(CY(I0(s,s.c.length-1),42).b,51);l.Ob();)for(o=new fU(s);o.a<o.c.c.length;)for(c=CY(RU(o),42),f=CY(c.b,51),a=CY(c.a,36);f.Ob();){if(jM(h=CY(f.Pb(),47),514))if(a.e)break;else{h.Kf(a,e.eh(1)),++b;break}h.Kf(a,e.eh(1)),++b}e.Vg()}(i,e,r.eh(1)),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S;for(t.Ug("Compound graph postprocessor",1),e=pT(PC(niK(n,(nlL(),nU_)))),o=CY(niK(n,(nlF(),nKL)),229),h=new dV,p=o.ec().Kc();p.Ob();){for(g=CY(p.Pb(),18),c=new O8(o.cc(g)),$O(),ji(c,new lO(n)),k=(RN(0,c.c.length),S=CY(c.c[0],249)).b.c.i.k==(ni8(),n$g)?CY(niK(S.b.c.i,(nlF(),nK6)),12):S.b.c,E=XQ(CY(I0(c,c.c.length-1),249)),v=k.i,m=zO(E.i,v)?v.e:xi(v),f=function(n,t){var e;return e=CY(niK(n,(nlL(),nHP)),75),jE(t,n$b)?e?$p(e):(e=new gj,VD(n,nHP,e)):e&&VD(n,nHP,null),e}(g,c),$p(g.a),l=null,a=new fU(c);a.a<a.c.c.length;)r=CY(RU(a),249),nrK(d=new mm,r.a,m),b=r.b,WF(i=new gj,0,b.a),zc(i,d),y=new TP(RO(b.c)),M=new TP(RO(b.d)),OT(y,d),OT(M,d),l&&(0==i.b?w=M:(Px(0!=i.b),w=CY(i.a.a.c,8)),T=nP_.Math.abs(l.a-w.a)>ngY,j=nP_.Math.abs(l.b-w.b)>ngY,(!e&&T&&j||e&&(T||j))&&IA(g.a,y)),Xx(g.a,i),0==i.b?l=y:(Px(0!=i.b),l=CY(i.c.b.c,8)),function(n,t,e){var i,r;(r=CY(niK(n,(nlL(),nHP)),75))&&(WF(i=new gj,0,r),zc(i,e),Xx(t,i))}(b,f,d),XQ(r)==E&&(xi(E.i)!=r.a&&nrK(d=new mm,xi(E.i),m),VD(g,nFp,d)),function(n,t,e){var i,r;for(r=new Kp(n.b,0);r.b<r.d.gc();)Px(r.b<r.d.gc()),ER(niK(i=CY(r.d.Xb(r.c=r.b++),72),(nlF(),nK9)))===ER(t)&&(nrK(i.n,xi(n.c.i),e),N6(r),jB(t.b,i))}(b,g,m),h.a.zc(b,h);Ra(g,k),Ru(g,E)}for(s=h.a.ec().Kc();s.Ob();)Ra(u=CY(s.Pb(),18),null),Ru(u,null);t.Vg()}(e,r.eh(1)),r.Vg()):function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;if((o=e)||(o=Io(new gz,0)),o.Ug(npj,1),nfO(n.c,t),1==(c=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;if(n.c=n.e,l=null==(b=PC(niK(t,(nlL(),nUw))))||(xf(b),b),a=CY(niK(t,(nlF(),nKU)),21).Hc((no7(),nKc)),e=(r=CY(niK(t,nUt),101))!=(nie(),nZQ)&&r!=nZY&&r!=nZJ,l&&(e||!a)){for(h=new fU(t.a);h.a<h.c.c.length;)CY(RU(h),10).p=0;for(f=new du,s=new fU(t.a);s.a<s.c.c.length;)if(i=function n(t,e,i){var r,a,c,o,u;if(0==e.p){for(e.p=1,(a=i)||(a=new Ea(new du,new O9(r=CY(mP(nLq),9),CY(Oc(r,r.length),9),0))),CY(a.a,15).Fc(e),e.k==(ni8(),n$g)&&CY(a.b,21).Fc(CY(niK(e,(nlF(),nK_)),64)),o=new fU(e.j);o.a<o.c.c.length;)for(c=CY(RU(o),12),u=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(c),new lN(c)])));ncv(u);)n(t,CY(_I(u),12).i,a);return a}return null}(n,CY(RU(s),10),null)){for(zU(u=new qG,t),VD(u,nKR,CY(i.b,21)),$y(u.d,t.d),VD(u,nHJ,null),o=CY(i.a,15).Kc();o.Ob();)c=CY(o.Pb(),10),jB(u.a,c),c.a=u;f.Fc(u)}a&&(ER(niK(t,nBG))===ER((ZT(),n$o))?n.c=n.b:ER(niK(t,nBG))===ER(n$s)?n.c=n.d:n.c=n.a)}else f=new pU(Vw(DY(nAe,1),np$,36,0,[t]));return ER(niK(t,nBG))!==ER((ZT(),n$h))&&($O(),f.jd(new tM)),f}(n.a,t)).gc())nh3(CY(c.Xb(0),36),o);else for(a=1/c.gc(),r=c.Kc();r.Ob();){if(i=CY(r.Pb(),36),e.$g())return;nh3(i,o.eh(a))}u=n.a,u.c.Ef(c,t),b=CY(niK(s=t,(nlL(),nHW)),21),w=CY(niK(s,nHY),21),h=new TP(f=new MH(s.f.a+s.d.b+s.d.c,s.f.b+s.d.d+s.d.a)),b.Hc((YZ(),n1P))&&(l=CY(niK(s,nHJ),8),w.Hc((nsv(),n1x))&&(l.a<=0&&(l.a=20),l.b<=0&&(l.b=20)),h.a=nP_.Math.max(f.a,l.a),h.b=nP_.Math.max(f.b,l.b)),pT(PC(niK(s,nHQ)))||function(n,t,e){var i,r,a,c,o;if(i=CY(niK(n,(nlL(),nBJ)),21),e.a>t.a&&(i.Hc((neW(),nJd))?n.c.a+=(e.a-t.a)/2:i.Hc(nJp)&&(n.c.a+=e.a-t.a)),e.b>t.b&&(i.Hc((neW(),nJv))?n.c.b+=(e.b-t.b)/2:i.Hc(nJm)&&(n.c.b+=e.b-t.b)),CY(niK(n,(nlF(),nKU)),21).Hc((no7(),nKc))&&(e.a>t.a||e.b>t.b))for(o=new fU(n.a);o.a<o.c.c.length;)(c=CY(RU(o),10)).k==(ni8(),n$g)&&((r=CY(niK(c,nK_),64))==(nf5(),n1n)?c.n.a+=e.a-t.a:r==n1m&&(c.n.b+=e.b-t.b));a=n.d,n.f.a=e.a-a.b-a.c,n.f.b=e.b-a.d-a.a}(s,f,h),o.Vg()}(this.a,e,t),t.$g()||function n(t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;if(jM(a=niK(e,(nlF(),nK6)),207)){for(w=CY(a,27),d=e.e,l=new TP(e.c),c=e.d,l.a+=c.b,l.b+=c.d,SD(CY(ncx(w,(nlL(),nHY)),181),(nsv(),n1N))&&((b=CY(ncx(w,nH1),107)).a=c.a,b.d=c.d,b.b=c.b,b.c=c.c),i=new du,h=new fU(e.a);h.a<h.c.c.length;)for(jM(niK(u=CY(RU(h),10),nK6),207)?function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(i=CY(niK(n,(nlF(),nK6)),27),b=CY(niK(n,(nlL(),nB5)),17).a,a=CY(niK(n,nHA),17).a,nnh(i,nB5,Qx(b)),nnh(i,nHA,Qx(a)),GZ(i,n.n.a+t.a),G1(i,n.n.b+t.b),(0!=CY(ncx(i,nHW),181).gc()||n.e||ER(niK(xi(n),nHV))===ER((nna(),nGb))&&(nnT(),(d=(!n.q?($O(),$O(),nOB):n.q)._b(nHX)?CY(niK(n,nHX),203):CY(niK(xi(n),nHz),203))==nGc||d==nGa))&&(GY(i,n.o.a),GJ(i,n.o.b)),f=new fU(n.j);f.a<f.c.c.length;)jM(w=niK(s=CY(RU(f),12),nK6),193)&&(TB(r=CY(w,123),s.n.a,s.n.b),nnh(r,nUc,s.j));for(l=0!=CY(niK(n,nHB),181).gc(),u=new fU(n.b);u.a<u.c.c.length;)c=CY(RU(u),72),(l||0!=CY(niK(c,nHB),181).gc())&&(T_(e=CY(niK(c,nK6),135),c.o.a,c.o.b),TB(e,c.n.a,c.n.b));if(!Lp(CY(niK(n,nUr),21)))for(h=new fU(n.j);h.a<h.c.c.length;)for(o=new fU((s=CY(RU(h),12)).f);o.a<o.c.c.length;)c=CY(RU(o),72),GY(e=CY(niK(c,nK6),135),c.o.a),GJ(e,c.o.b),TB(e,c.n.a,c.n.b)}(u,l):jM(niK(u,nK6),193)&&!d&&(r=CY(niK(u,nK6),123),p=nsJ(e,u,r.g,r.f),TB(r,p.a,p.b)),g=new fU(u.j);g.a<g.c.c.length;)vZ(xX(new Aa(null,new R$(CY(RU(g),12).g,16)),new lF(u)),new l_(i));if(d)for(g=new fU(d.j);g.a<g.c.c.length;)vZ(xX(new Aa(null,new R$(CY(RU(g),12).g,16)),new lB(d)),new lH(i));for(m=CY(ncx(w,nHu),223),o=new fU(i);o.a<o.c.c.length;)!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(a=CY(niK(n,(nlF(),nK6)),74)){for((i=n.a,OT(r=new TP(e),function(n){var t,e,i,r;if(r=CY(niK(n,(nlF(),nKI)),36)){for(i=new mm,t=xi(n.c.i);t!=r;)t=xi(e=t.e),Pu(OT(OT(i,e.n),t.c),t.d.b,t.d.d);return i}return n$O}(n)),zO(n.d.i,n.c.i))?(l=n.c,Oj(f=V4(Vw(DY(nLA,1),nby,8,0,[l.n,l.a])),e)):f=RO(n.c),F_(i,f,i.a,i.a.a),b=RO(n.d),null!=niK(n,nFp)&&OT(b,CY(niK(n,nFp),8)),F_(i,b,i.c.b,i.c),zc(i,r),q1(c=no6(a,!0,!0),CY(GO((a.b||(a.b=new Ox(nL4,a,4,7)),a.b),0),84)),q0(c,CY(GO((a.c||(a.c=new Ox(nL4,a,5,8)),a.c),0),84)),nho(i,c),h=new fU(n.b);h.a<h.c.c.length;)s=CY(RU(h),72),GY(o=CY(niK(s,nK6),135),s.o.a),GJ(o,s.o.b),TB(o,s.n.a+r.a,s.n.b+r.b),nnh(o,(X2(),nDI),PC(niK(s,nDI)));(u=CY(niK(n,(nlL(),nHP)),75))?(zc(u,r),nnh(a,nHP,u)):nnh(a,nHP,null),t==(JG(),nZu)?nnh(a,nHu,nZu):nnh(a,nHu,null)}}(CY(RU(o),18),m,l);for(k=CY(niK(e,(nlF(),nK6)),27),E=CY(ncx(k,(nlL(),nHW)),181).Hc((YZ(),n1I)),!e.e&&(M=CY(niK(e,nKU),21),v=new MH(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),M.Hc((no7(),nKc))?(nnh(k,nUt,(nie(),nZJ)),nf9(k,v.a,v.b,!1,!0)):pT(PC(ncx(k,nHQ)))||nf9(k,v.a,v.b,!0,!0)),E?nnh(k,nHW,JP(n1I)):nnh(k,nHW,new O9(y=CY(mP(nLX),9),CY(Oc(y,y.length),9),0)),s=new fU(e.a);s.a<s.c.c.length;)(f=(u=CY(RU(s),10)).e)&&n(t,f)}}(new s9,e)},Nj(npS,"LayeredLayoutProvider",1109),ncm(367,22,{3:1,34:1,22:1,367:1},kn);var nI4=qc(npS,"LayeredPhases",367,nPw,function(){return niF(),Vw(DY(nI4,1),nbG,367,0,[nxV,nxW,nxQ,nxJ,nxY])},function(n){return niF(),qa((UG(),nxZ),n)});ncm(1717,1,{},qU),nPB.i=0,Nj(npP,"ComponentsToCGraphTransformer",1717),ncm(1718,1,{},te),nPB.yf=function(n,t){return nP_.Math.min(null!=n.a?pj(n.a):n.c.i,null!=t.a?pj(t.a):t.c.i)},nPB.zf=function(n,t){return nP_.Math.min(null!=n.a?pj(n.a):n.c.i,null!=t.a?pj(t.a):t.c.i)},Nj(npP,"ComponentsToCGraphTransformer/1",1718),ncm(86,1,{86:1}),nPB.i=0,nPB.k=!0,nPB.o=nw_;var nI6=Nj(npO,"CNode",86);ncm(470,86,{470:1,86:1},Sz,ZS),nPB.Ib=function(){return""},Nj(npP,"ComponentsToCGraphTransformer/CRectNode",470),ncm(1688,1,{},to),Nj(npP,"OneDimensionalComponentsCompaction",1688),ncm(1689,1,{},tu),nPB.Kb=function(n){var t;return t=CY(n,42),WY(),SB(),0!=CY(t.a,86).d.e},nPB.Fb=function(n){return this===n},Nj(npP,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),ncm(1690,1,{},ts),nPB.Kb=function(n){var t;return t=CY(n,42),WY(),SB(),!!(J3(CY(t.a,86).j,CY(t.b,88))||0!=CY(t.a,86).d.e&&J3(CY(t.a,86).j,CY(t.b,88)))},nPB.Fb=function(n){return this===n},Nj(npP,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),ncm(1720,1,{},NG),Nj(npO,"CGraph",1720),ncm(194,1,{194:1},ZP),nPB.b=0,nPB.c=0,nPB.e=0,nPB.g=!0,nPB.i=nw_,Nj(npO,"CGroup",194),ncm(1719,1,{},th),nPB.yf=function(n,t){return nP_.Math.max(null!=n.a?pj(n.a):n.c.i,null!=t.a?pj(t.a):t.c.i)},nPB.zf=function(n,t){return nP_.Math.max(null!=n.a?pj(n.a):n.c.i,null!=t.a?pj(t.a):t.c.i)},Nj(npO,ndj,1719),ncm(1721,1,{},naG),nPB.d=!1;var nI5=Nj(npO,ndI,1721);ncm(1722,1,{},tf),nPB.Kb=function(n){return v7(),SB(),0!=CY(CY(n,42).a,86).d.e},nPB.Fb=function(n){return this===n},Nj(npO,ndA,1722),ncm(833,1,{},I7),nPB.a=!1,nPB.b=!1,nPB.c=!1,nPB.d=!1,Nj(npO,ndL,833),ncm(1898,1,{},AD),Nj(npC,ndN,1898);var nI8=IH(npI,ndM);ncm(1899,1,{382:1},$Q),nPB.bf=function(n){var t,e,i,r,a,c,o,u,s,h,f,l;(t=CY(n,476)).a?(Lz(this.b,t.b),this.a[t.b.i]=CY((a=this.b,c=t.b,a.a._c(c)),86),(e=CY((o=this.b,u=t.b,o.a.$c(u)),86))&&(this.a[e.i]=t.b)):((i=CY((s=this.b,h=t.b,s.a._c(h)),86))&&i==this.a[t.b.i]&&i.d&&i.d!=t.b.d&&i.f.Fc(t.b),(r=CY((f=this.b,l=t.b,f.a.$c(l)),86))&&this.a[r.i]==t.b&&r.d&&r.d!=t.b.d&&t.b.f.Fc(r),jR(this.b,t.b))},Nj(npC,ndx,1899),ncm(nwf,1,ndy,tl),nPB.Ne=function(n,t){var e,i;return e=CY(n,86),i=CY(t,86),Jj(e.g.c+e.g.b/2,i.g.c+i.g.b/2)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npC,nd$,nwf),ncm(476,1,{476:1},kg),nPB.a=!1,Nj(npC,ndD,476),ncm(1901,1,ndy,tb),nPB.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.g.d,n.a||(i+=n.b.g.a),r=t.b.g.d,t.a||(r+=t.b.g.a),0==(e=Jj(i,r))){if(!n.a&&t.a)return -1;else if(!t.a&&n.a)return 1}return e}(CY(n,476),CY(t,476))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npC,ndR,1901),ncm(148,1,{148:1},kp,C4),nPB.Fb=function(n){var t;return null!=n&&nI9==WZ(n)&&(t=CY(n,148),xL(this.c,t.c)&&xL(this.d,t.d))},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[this.c,this.d]))},nPB.Ib=function(){return"("+this.c+nl8+this.d+(this.a?"cx":"")+this.b+")"},nPB.a=!0,nPB.c=0,nPB.d=0;var nI9=Nj(npI,"Point",148);ncm(416,22,{3:1,34:1,22:1,416:1},ke);var nI7=qc(npI,"Point/Quadrant",416,nPw,function(){return Vp(),Vw(DY(nI7,1),nbG,416,0,[nx6,nx9,nx5,nx8])},function(n){return Vp(),qa((HL(),nx7),n)});ncm(1708,1,{},d8),nPB.b=null,nPB.c=null,nPB.d=null,nPB.e=null,nPB.f=null,Nj(npI,"RectilinearConvexHull",1708),ncm(583,1,{382:1},nnn),nPB.bf=function(n){var t;t=CY(n,148),this.a.Ne(t.d,this.b)>0&&(jB(this.c,new C4(t.c,t.d,this.d)),this.b=t.d)},nPB.b=0,Nj(npI,"RectilinearConvexHull/MaximalElementsEventHandler",583),ncm(1710,1,ndy,tw),nPB.Ne=function(n,t){var e,i;return e=PI(n),i=PI(t),yn(),Jj((xf(e),e),(xf(i),i))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),ncm(1709,1,{382:1},U8),nPB.bf=function(n){var t,e,i,r,a,c;t=this,e=CY(n,148),t.d&&(e.c!=t.e.c||(r=t.e.b,a=e.b,Vp(),r==nx6&&a==nx5||r==nx6&&a==nx8||r==nx9&&a==nx8||r==nx9&&a==nx5))&&(jB(t.f,t.d),t.a=t.d.c+t.d.b,t.d=null,t.e=null),(c=e.b)==nx6||c==nx5?t.c=e:t.b=e,(e.b==(Vp(),nx6)&&!e.a||e.b==nx5&&e.a||e.b==nx8&&e.a||e.b==nx9&&!e.a)&&t.c&&t.b&&(i=new x4(t.a,t.c.d,e.c-t.a,t.b.d-t.c.d),t.d=i,t.e=e)},nPB.a=0,nPB.b=null,nPB.c=null,nPB.d=null,nPB.e=null,Nj(npI,"RectilinearConvexHull/RectangleEventHandler",1709),ncm(1711,1,ndy,td),nPB.Ne=function(n,t){var e,i;return e=CY(n,148),i=CY(t,148),U6(),e.c==i.c?Jj(i.d,e.d):Jj(e.c,i.c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/lambda$0$Type",1711),ncm(1712,1,ndy,tv),nPB.Ne=function(n,t){var e,i;return e=CY(n,148),i=CY(t,148),U6(),e.c==i.c?Jj(e.d,i.d):Jj(e.c,i.c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/lambda$1$Type",1712),ncm(1713,1,ndy,ty),nPB.Ne=function(n,t){var e,i;return e=CY(n,148),i=CY(t,148),U6(),e.c==i.c?Jj(i.d,e.d):Jj(i.c,e.c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/lambda$2$Type",1713),ncm(1714,1,ndy,tm),nPB.Ne=function(n,t){var e,i;return e=CY(n,148),i=CY(t,148),U6(),e.c==i.c?Jj(e.d,i.d):Jj(i.c,e.c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/lambda$3$Type",1714),ncm(1715,1,ndy,tk),nPB.Ne=function(n,t){return function(n,t){var e,i,r,a;if(U6(),n.c!=t.c)return Jj(n.c,t.c);if(n.b==t.b||(i=n.b,r=t.b,Vp(),i==nx6&&r==nx9||i==nx9&&r==nx6||i==nx8&&r==nx5||i==nx5&&r==nx8)){if(e=(a=n.b)==nx6||a==nx9?1:-1,n.a&&!t.a)return e;if(!n.a&&t.a)return-e}return jo(n.b.g,t.b.g)}(CY(n,148),CY(t,148))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/lambda$4$Type",1715),ncm(1716,1,{},D2),Nj(npI,"Scanline",1716),ncm(2104,1,{}),Nj(npA,"AbstractGraphPlacer",2104),ncm(335,1,{335:1},Po),nPB.Ff=function(n){return!!this.Gf(n)&&(naR(this.b,CY(niK(n,(nlF(),nKR)),21),n),!0)},nPB.Gf=function(n){var t,e,i;for(t=CY(niK(n,(nlF(),nKR)),21),i=CY(_G(n$c,t),21).Kc();i.Ob();)if(e=CY(i.Pb(),21),!CY(_G(this.b,e),15).dc())return!1;return!0},Nj(npA,"ComponentGroup",335),ncm(779,2104,{},d9),nPB.Hf=function(n){var t;for(t=new fU(this.a);t.a<t.c.c.length;)if(CY(RU(t),335).Ff(n))return;jB(this.a,new Po(n))},nPB.Ef=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(this.a.c.length=0,t.a.c.length=0,n.dc()){t.f.a=0,t.f.b=0;return}for(zU(t,c=CY(n.Xb(0),36)),r=n.Kc();r.Ob();)i=CY(r.Pb(),36),this.Hf(i);for(w=new mm,a=pj(PI(niK(c,(nlL(),nUm)))),s=new fU(this.a);s.a<s.c.c.length;)h=nlm(o=CY(RU(s),335),a),Hc(Np(o.b),w.a,w.b),w.a+=h.a,w.b+=h.b;if(t.f.a=w.a-a,t.f.b=w.b-a,pT(PC(niK(c,nBB)))&&ER(niK(c,nHu))===ER((JG(),nZc))){for(b=n.Kc();b.Ob();)nuW(f=CY(b.Pb(),36),f.c.a,f.c.b);for(nlj(e=new tp,n,a),l=n.Kc();l.Ob();)OT(Ta((f=CY(l.Pb(),36)).c),e.e);OT(Ta(t.f),e.a)}for(u=new fU(this.a);u.a<u.c.c.length;)Ha(t,Np((o=CY(RU(u),335)).b))},Nj(npA,"ComponentGroupGraphPlacer",779),ncm(1312,779,{},gw),nPB.Hf=function(n){QD(this,n)},nPB.Ef=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;if(this.a.c.length=0,t.a.c.length=0,n.dc()){t.f.a=0,t.f.b=0;return}for(zU(t,a=CY(n.Xb(0),36)),i=n.Kc();i.Ob();)QD(this,CY(i.Pb(),36));for(p=new mm,g=new mm,w=new mm,b=new mm,r=pj(PI(niK(a,(nlL(),nUm)))),u=new fU(this.a);u.a<u.c.c.length;){if(c=CY(RU(u),335),T$(CY(niK(t,(nl_(),nJ$)),88))){for(w.a=p.a,d=new pa(Ng(Ny(c.b).a).a.kc());d.b.Ob();)if(CY(yI(d.b.Pb()),21).Hc((nf5(),n1t))){w.a=g.a;break}}else if(TD(CY(niK(t,nJ$),88))){for(w.b=p.b,d=new pa(Ng(Ny(c.b).a).a.kc());d.b.Ob();)if(CY(yI(d.b.Pb()),21).Hc((nf5(),n1y))){w.b=g.b;break}}if(s=nlm(CY(c,579),r),Hc(Np(c.b),w.a,w.b),T$(CY(niK(t,nJ$),88))){for(g.a=w.a+s.a,b.a=nP_.Math.max(b.a,g.a),d=new pa(Ng(Ny(c.b).a).a.kc());d.b.Ob();)if(CY(yI(d.b.Pb()),21).Hc((nf5(),n1m))){p.a=w.a+s.a;break}g.b=w.b+s.b,w.b=g.b,b.b=nP_.Math.max(b.b,w.b)}else if(TD(CY(niK(t,nJ$),88))){for(g.b=w.b+s.b,b.b=nP_.Math.max(b.b,g.b),d=new pa(Ng(Ny(c.b).a).a.kc());d.b.Ob();)if(CY(yI(d.b.Pb()),21).Hc((nf5(),n1n))){p.b=w.b+s.b;break}g.a=w.a+s.a,w.a=g.a,b.a=nP_.Math.max(b.a,w.a)}}if(t.f.a=b.a-r,t.f.b=b.b-r,pT(PC(niK(a,nBB)))&&ER(niK(a,nHu))===ER((JG(),nZc))){for(l=n.Kc();l.Ob();)nuW(h=CY(l.Pb(),36),h.c.a,h.c.b);for(nlj(e=new tp,n,r),f=n.Kc();f.Ob();)OT(Ta((h=CY(f.Pb(),36)).c),e.e);OT(Ta(t.f),e.a)}for(o=new fU(this.a);o.a<o.c.c.length;)Ha(t,Np((c=CY(RU(o),335)).b))},Nj(npA,"ComponentGroupModelOrderGraphPlacer",1312),ncm(389,22,{3:1,34:1,22:1,389:1},ki);var nAn=qc(npA,"ComponentOrderingStrategy",389,nPw,function(){return ZT(),Vw(DY(nAn,1),nbG,389,0,[n$h,n$u,n$o,n$s])},function(n){return ZT(),qa((HA(),n$f),n)});ncm(659,1,{},tp),Nj(npA,"ComponentsCompactor",659),ncm(1533,13,nwZ,_w),nPB.Fc=function(n){return neb(this,CY(n,148))},Nj(npA,"ComponentsCompactor/Hullpoints",1533),ncm(1530,1,{855:1},nnk),nPB.a=!1,Nj(npA,"ComponentsCompactor/InternalComponent",1530),ncm(1529,1,nbO,d6),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new fU(this.a)},Nj(npA,"ComponentsCompactor/InternalConnectedComponents",1529),ncm(1532,1,{602:1},naz),nPB.Bf=function(){return null},nPB.Cf=function(){return this.a},nPB.Af=function(){return ZV(this.d)},nPB.Df=function(){return this.b},Nj(npA,"ComponentsCompactor/InternalExternalExtension",1532),ncm(1531,1,{602:1},gt),nPB.Cf=function(){return this.a},nPB.Af=function(){return ZV(this.d)},nPB.Bf=function(){return this.c},nPB.Df=function(){return this.b},Nj(npA,"ComponentsCompactor/InternalUnionExternalExtension",1531),ncm(1535,1,{},no0),Nj(npA,"ComponentsCompactor/OuterSegments",1535),ncm(1534,1,{},d5),Nj(npA,"ComponentsCompactor/Segments",1534),ncm(1282,1,{},_8),Nj(npA,ngH,1282),ncm(1283,1,ndy,tM),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,36),i=CY(t,36),(r=ntE(e))<(a=ntE(i))?-1:+(r>a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npA,"ComponentsProcessor/lambda$0$Type",1283),ncm(579,335,{335:1,579:1},_b),nPB.Ff=function(n){return WT(this,n)},nPB.Gf=function(n){return nog(this,n)},Nj(npA,"ModelOrderComponentGroup",579),ncm(1310,2104,{},tE),nPB.Ef=function(n,t){var e,i,r,a,c,o,u,s,h;if(1==n.gc()){(s=CY(n.Xb(0),36))!=t&&(t.a.c.length=0,nsu(t,s,0,0),zU(t,s),$y(t.d,s.d),t.f.a=s.f.a,t.f.b=s.f.b);return}if(n.dc()){t.a.c.length=0,t.f.a=0,t.f.b=0;return}for(this.Jf(n,t),r=CY(n.Xb(0),36),t.a.c.length=0,zU(t,r),o=0,h=0,a=n.Kc();a.Ob();)u=CY(a.Pb(),36).f,o=nP_.Math.max(o,u.a),h+=u.a*u.b;if(o=nP_.Math.max(o,nP_.Math.sqrt(h)*pj(PI(niK(t,(nlL(),nBF))))),i=pj(PI(niK(t,nUm))),this.If(n,t,o,i),pT(PC(niK(r,nBB)))){for(nlj(e=new tp,n,i),c=n.Kc();c.Ob();)OT(Ta(CY(c.Pb(),36).c),e.e);OT(Ta(t.f),e.a)}Ha(t,n)},nPB.If=function(n,t,e,i){var r,a,c,o,u,s,h,f;for(h=0,f=0,o=0,r=i,c=n.Kc();c.Ob();)h+(s=(a=CY(c.Pb(),36)).f).a>e&&(h=0,f+=o+i,o=0),u=a.c,nuW(a,h+u.a,f+u.b),Ta(u),r=nP_.Math.max(r,h+s.a),o=nP_.Math.max(o,s.b),h+=s.a+i;t.f.a=r,t.f.b=f+o},nPB.Jf=function(n,t){var e,i,r,a,c;if(ER(niK(t,(nlL(),nBG)))===ER((ZT(),n$h))){for(i=n.Kc();i.Ob();){for(e=CY(i.Pb(),36),c=0,a=new fU(e.a);a.a<a.c.c.length;)r=CY(RU(a),10),c+=CY(niK(r,nUs),17).a;e.p=c}$O(),n.jd(new tT)}},Nj(npA,"SimpleRowGraphPlacer",1310),ncm(1313,1310,{},tg),nPB.If=function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b;for(l=0,b=0,o=0,r=i,u=null,f=0,c=n.Kc();c.Ob();)(l+(h=(a=CY(c.Pb(),36)).f).a>e&&!CY(niK(a,(nlF(),nKR)),21).Hc((nf5(),n1t))||u&&CY(niK(u,(nlF(),nKR)),21).Hc((nf5(),n1n))||CY(niK(a,(nlF(),nKR)),21).Hc((nf5(),n1y)))&&(l=f,b+=o+i,o=0),s=a.c,CY(niK(a,(nlF(),nKR)),21).Hc((nf5(),n1t))&&(l=r+i),nuW(a,l+s.a,b+s.b),r=nP_.Math.max(r,l+h.a),CY(niK(a,nKR),21).Hc(n1m)&&(f=nP_.Math.max(f,l+h.a+i)),Ta(s),o=nP_.Math.max(o,h.b),l+=h.a+i,u=a;t.f.a=r,t.f.b=b+o},nPB.Jf=function(n,t){},Nj(npA,"ModelOrderRowGraphPlacer",1313),ncm(1311,1,ndy,tT),nPB.Ne=function(n,t){var e,i,r;return e=CY(n,36),0==(r=(i=CY(t,36)).p-e.p)?Jj(e.f.a*e.f.b,i.f.a*i.f.b):r},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npA,"SimpleRowGraphPlacer/1",1311),ncm(1280,1,ndK,tj),nPB.Lb=function(n){var t;return!!(t=CY(niK(CY(n,249).b,(nlL(),nHP)),75))&&0!=t.b},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){var t;return!!(t=CY(niK(CY(n,249).b,(nlL(),nHP)),75))&&0!=t.b},Nj(npD,"CompoundGraphPostprocessor/1",1280),ncm(1279,1,npR,gi),nPB.Kf=function(n,t){nnM(this,CY(n,36),t)},Nj(npD,"CompoundGraphPreprocessor",1279),ncm(453,1,{453:1},Ji),nPB.c=!1,Nj(npD,"CompoundGraphPreprocessor/ExternalPort",453),ncm(249,1,{249:1},Cw),nPB.Ib=function(){return Pe(this.c)+":"+naj(this.b)},Nj(npD,"CrossHierarchyEdge",249),ncm(777,1,ndy,lO),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,249),i=CY(t,249),e.c==(qy(),nGD)&&i.c==nG$?-1:e.c==nG$&&i.c==nGD?1:(r=Qt(e.a,this.a),a=Qt(i.a,this.a),e.c==nGD?a-r:r-a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npD,"CrossHierarchyEdgeComparator",777),ncm(305,137,{3:1,305:1,96:1,137:1}),nPB.p=0,Nj(npK,"LGraphElement",305),ncm(18,305,{3:1,18:1,305:1,96:1,137:1},$1),nPB.Ib=function(){return naj(this)};var nAt=Nj(npK,"LEdge",18);ncm(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},qG),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new fU(this.b)},nPB.Ib=function(){return 0==this.b.c.length?"G-unlayered"+niV(this.a):0==this.a.c.length?"G-layered"+niV(this.b):"G[layerless"+niV(this.a)+", layers"+niV(this.b)+"]"};var nAe=Nj(npK,"LGraph",36);ncm(666,1,{}),nPB.Lf=function(){return this.e.n},nPB.of=function(n){return niK(this.e,n)},nPB.Mf=function(){return this.e.o},nPB.Nf=function(){return this.e.p},nPB.pf=function(n){return Pn(this.e,n)},nPB.Of=function(n){this.e.n.a=n.a,this.e.n.b=n.b},nPB.Pf=function(n){this.e.o.a=n.a,this.e.o.b=n.b},nPB.Qf=function(n){this.e.p=n},Nj(npK,"LGraphAdapters/AbstractLShapeAdapter",666),ncm(474,1,{853:1},lC),nPB.Rf=function(){var n,t;if(!this.b)for(this.b=SY(this.a.b.c.length),t=new fU(this.a.b);t.a<t.c.c.length;)n=CY(RU(t),72),jB(this.b,new lI(n));return this.b},nPB.b=null,Nj(npK,"LGraphAdapters/LEdgeAdapter",474),ncm(665,1,{},x5),nPB.Sf=function(){var n,t,e,i,r;if(!this.b){for(this.b=new du,e=new fU(this.a.b);e.a<e.c.c.length;)for(r=new fU(CY(RU(e),30).a);r.a<r.c.c.length;)if(i=CY(RU(r),10),this.c.Mb(i)&&(jB(this.b,new Cp(this,i,this.e)),this.d)){if(Pn(i,(nlF(),nFm)))for(t=CY(niK(i,nFm),15).Kc();t.Ob();)n=CY(t.Pb(),10),jB(this.b,new Cp(this,n,!1));if(Pn(i,nKS))for(t=CY(niK(i,nKS),15).Kc();t.Ob();)n=CY(t.Pb(),10),jB(this.b,new Cp(this,n,!1))}}return this.b},nPB.Lf=function(){throw new pR(np_).e},nPB.of=function(n){return niK(this.a,n)},nPB.Mf=function(){return this.a.f},nPB.Nf=function(){return this.a.p},nPB.pf=function(n){return Pn(this.a,n)},nPB.Of=function(n){throw new pR(np_).e},nPB.Pf=function(n){this.a.f.a=n.a,this.a.f.b=n.b},nPB.Qf=function(n){this.a.p=n},nPB.b=null,nPB.d=!1,nPB.e=!1,Nj(npK,"LGraphAdapters/LGraphAdapter",665),ncm(585,666,{187:1},lI),Nj(npK,"LGraphAdapters/LLabelAdapter",585),ncm(584,666,{695:1},Cp),nPB.Tf=function(){return this.b},nPB.Uf=function(){return $O(),$O(),nO_},nPB.Rf=function(){var n,t;if(!this.a)for(this.a=SY(CY(this.e,10).b.c.length),t=new fU(CY(this.e,10).b);t.a<t.c.c.length;)n=CY(RU(t),72),jB(this.a,new lI(n));return this.a},nPB.Vf=function(){var n;return new Ou((n=CY(this.e,10).d).d,n.c,n.a,n.b)},nPB.Wf=function(){return $O(),$O(),nO_},nPB.Xf=function(){var n,t;if(!this.c)for(this.c=SY(CY(this.e,10).j.c.length),t=new fU(CY(this.e,10).j);t.a<t.c.c.length;)n=CY(RU(t),12),jB(this.c,new km(n,this.d));return this.c},nPB.Yf=function(){return pT(PC(niK(CY(this.e,10),(nlF(),nKC))))},nPB.Zf=function(n){CY(this.e,10).d.b=n.b,CY(this.e,10).d.d=n.d,CY(this.e,10).d.c=n.c,CY(this.e,10).d.a=n.a},nPB.$f=function(n){CY(this.e,10).f.b=n.b,CY(this.e,10).f.d=n.d,CY(this.e,10).f.c=n.c,CY(this.e,10).f.a=n.a},nPB._f=function(){var n;ye(),n=n$w,Oq(CY(niK(CY(this.e,10),(nlL(),nUt)),101))&&($O(),ji(CY(this.e,10).j,n))},nPB.a=null,nPB.b=null,nPB.c=null,nPB.d=!1,Nj(npK,"LGraphAdapters/LNodeAdapter",584),ncm(1788,666,{852:1},km),nPB.Uf=function(){var n,t,e,i,r,a,c,o;if(this.d&&CY(this.e,12).i.k==(ni8(),n$y))return $O(),$O(),nO_;if(!this.a){for(this.a=new du,e=new fU(CY(this.e,12).e);e.a<e.c.c.length;)n=CY(RU(e),18),jB(this.a,new lC(n));if(this.d&&(i=CY(niK(CY(this.e,12),(nlF(),nFi)),10)))for(t=new Le(Sb(Jz(i).a.Kc(),new s));ncv(t);)n=CY(_I(t),18),jB(this.a,new lC(n));if(Pn(CY(this.e,12).i,(nlF(),nFh))&&(c=CY(niK(CY(this.e,12).i,nFh),337),o=CY(UC(c.e,this.e),113)))for(a=new fU(o.b);a.a<a.c.c.length;)r=CY(RU(a),340),jB(this.a,new lC(r.a))}return this.a},nPB.Rf=function(){var n,t;if(!this.b)for(this.b=SY(CY(this.e,12).f.c.length),t=new fU(CY(this.e,12).f);t.a<t.c.c.length;)n=CY(RU(t),72),jB(this.b,new lI(n));return this.b},nPB.Wf=function(){var n,t,e,i,r,a,c,o;if(this.d&&CY(this.e,12).i.k==(ni8(),n$y))return $O(),$O(),nO_;if(!this.c){for(this.c=new du,e=new fU(CY(this.e,12).g);e.a<e.c.c.length;)n=CY(RU(e),18),jB(this.c,new lC(n));if(this.d&&(i=CY(niK(CY(this.e,12),(nlF(),nFi)),10)))for(t=new Le(Sb(JV(i).a.Kc(),new s));ncv(t);)n=CY(_I(t),18),jB(this.c,new lC(n));if(Pn(CY(this.e,12).i,(nlF(),nFh))&&(c=CY(niK(CY(this.e,12).i,nFh),337),o=CY(UC(c.e,this.e),113)))for(a=new fU(o.e);a.a<a.c.c.length;)r=CY(RU(a),340),jB(this.c,new lC(r.a))}return this.c},nPB.ag=function(){return CY(this.e,12).j},nPB.bg=function(){return pT(PC(niK(CY(this.e,12),(nlF(),nKX))))},nPB.a=null,nPB.b=null,nPB.c=null,nPB.d=!1,Nj(npK,"LGraphAdapters/LPortAdapter",1788),ncm(1789,1,ndy,tS),nPB.Ne=function(n,t){return function(n,t){var e,i,r,a;if(0!=(a=n.j.g-t.j.g))return a;if(e=CY(niK(n,(nlL(),nUe)),17),i=CY(niK(t,nUe),17),e&&i&&0!=(r=e.a-i.a))return r;switch(n.j.g){case 1:return Jj(n.n.a,t.n.a);case 2:return Jj(n.n.b,t.n.b);case 3:return Jj(t.n.a,n.n.a);case 4:return Jj(t.n.b,n.n.b);default:throw new px(npB).e}}(CY(n,12),CY(t,12))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npK,"LGraphAdapters/PortComparator",1789),ncm(818,1,nbV,tP),nPB.Mb=function(n){return CY(n,10),ye(),!0},Nj(npK,"LGraphAdapters/lambda$0$Type",818),ncm(404,305,{3:1,305:1,404:1,96:1,137:1}),Nj(npK,"LShape",404),ncm(72,404,{3:1,305:1,72:1,404:1,96:1,137:1},mp,jl),nPB.Ib=function(){var n;return null==(n=this.a?this.a:xZ(this))?"label":"l_"+n},Nj(npK,"LLabel",72),ncm(214,1,{3:1,4:1,214:1,423:1}),nPB.Fb=function(n){var t;return!!jM(n,214)&&(t=CY(n,214),this.d==t.d&&this.a==t.a&&this.b==t.b&&this.c==t.c)},nPB.Hb=function(){return(Td(this.b)<<16|Td(this.a)&nb9)^(Td(this.c)<<16|Td(this.d)&nb9)},nPB.cg=function(n){var t,e,i,r,a,c,o,u,s;for(r=0;r<n.length&&Qe((Rx(r,n.length),n.charCodeAt(r)),npq);)++r;for(t=n.length;t>0&&Qe((Rx(t-1,n.length),n.charCodeAt(t-1)),npX);)--t;if(r<t){u=ns7((B2(r,t,n.length),n.substr(r,t-r)),",|;");try{for(c=0,o=u.length;c<o;++c){if(a=u[c],i=ns7(a,"="),2!=i.length)throw new pN("Expecting a list of key-value pairs.").e;e=nrJ(i[0]),s=ni7(nrJ(i[1])),OB(e,"top")?this.d=s:OB(e,"left")?this.b=s:OB(e,"bottom")?this.a=s:OB(e,"right")&&(this.c=s)}}catch(n){if(jM(n=Vt(n),130))throw new pN(npz+n).e;throw n.e}}},nPB.Ib=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=0,Nj(npV,"Spacing",214),ncm(140,214,npW,gd,TM,Ou,CU);var nAi=Nj(npV,"ElkMargin",140);ncm(660,140,npW,gg),Nj(npK,"LMargin",660),ncm(10,404,{3:1,305:1,10:1,404:1,96:1,137:1},nn_),nPB.Ib=function(){return nni(this)},nPB.i=!1;var nAr=Nj(npK,"LNode",10);ncm(273,22,{3:1,34:1,22:1,273:1},kr);var nAa=qc(npK,"LNode/NodeType",273,nPw,function(){return ni8(),Vw(DY(nAa,1),nbG,273,0,[n$v,n$m,n$g,n$y,n$p,n$d])},function(n){return ni8(),qa((G_(),n$k),n)});ncm(775,1,nbV,tO),nPB.Mb=function(n){return pT(PC(niK(CY(n,72),(nlL(),nHa))))},Nj(npK,"LNode/lambda$0$Type",775),ncm(107,214,npQ,gp,TW,CG);var nAc=Nj(npV,"ElkPadding",107);ncm(778,107,npQ,gm),Nj(npK,"LPadding",778),ncm(12,404,{3:1,305:1,12:1,404:1,96:1,137:1},nro),nPB.Ib=function(){var n,t,e;return n=new p2,EY((n.a+="p_",n),ntC(this)),this.i&&EY(EJ((n.a+="[",n),this.i),"]"),1==this.e.c.length&&0==this.g.c.length&&CY(I0(this.e,0),18).c!=this&&(t=CY(I0(this.e,0),18).c,EY((n.a+=" << ",n),ntC(t)),EY(EJ((n.a+="[",n),t.i),"]")),0==this.e.c.length&&1==this.g.c.length&&CY(I0(this.g,0),18).d!=this&&(e=CY(I0(this.g,0),18).d,EY((n.a+=" >> ",n),ntC(e)),EY(EJ((n.a+="[",n),e.i),"]")),n.a},nPB.c=!0,nPB.d=!1;var nAo=Nj(npK,"LPort",12);ncm(408,1,nbO,lA),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new lL(new fU(this.a.e))},Nj(npK,"LPort/1",408),ncm(1309,1,nbu,lL),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return CY(RU(this.a),18).c},nPB.Ob=function(){return jr(this.a)},nPB.Qb=function(){L6(this.a)},Nj(npK,"LPort/1/1",1309),ncm(369,1,nbO,lN),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new lx(new fU(this.a.g))},Nj(npK,"LPort/2",369),ncm(776,1,nbu,lx),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return CY(RU(this.a),18).d},nPB.Ob=function(){return jr(this.a)},nPB.Qb=function(){L6(this.a)},Nj(npK,"LPort/2/1",776),ncm(1302,1,nbO,kh),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new _4(this)},Nj(npK,"LPort/CombineIter",1302),ncm(208,1,nbu,_4),nPB.Nb=function(n){LD(this,n)},nPB.Qb=function(){mD()},nPB.Ob=function(){return SR(this)},nPB.Pb=function(){return jr(this.a)?RU(this.a):RU(this.b)},Nj(npK,"LPort/CombineIter/1",208),ncm(1303,1,ndK,tC),nPB.Lb=function(n){return Lw(n)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),0!=CY(n,12).g.c.length},Nj(npK,"LPort/lambda$0$Type",1303),ncm(1304,1,ndK,tI),nPB.Lb=function(n){return Ld(n)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),0!=CY(n,12).e.c.length},Nj(npK,"LPort/lambda$1$Type",1304),ncm(1305,1,ndK,tA),nPB.Lb=function(n){return X8(),CY(n,12).j==(nf5(),n1t)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),CY(n,12).j==(nf5(),n1t)},Nj(npK,"LPort/lambda$2$Type",1305),ncm(1306,1,ndK,tL),nPB.Lb=function(n){return X8(),CY(n,12).j==(nf5(),n1n)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),CY(n,12).j==(nf5(),n1n)},Nj(npK,"LPort/lambda$3$Type",1306),ncm(1307,1,ndK,tN),nPB.Lb=function(n){return X8(),CY(n,12).j==(nf5(),n1m)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),CY(n,12).j==(nf5(),n1m)},Nj(npK,"LPort/lambda$4$Type",1307),ncm(1308,1,ndK,tx),nPB.Lb=function(n){return X8(),CY(n,12).j==(nf5(),n1y)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),CY(n,12).j==(nf5(),n1y)},Nj(npK,"LPort/lambda$5$Type",1308),ncm(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},NU),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new fU(this.a)},nPB.Ib=function(){return"L_"+H6(this.b.b,this,0)+niV(this.a)},Nj(npK,"Layer",30),ncm(1330,1,{},ge),Nj(npJ,npY,1330),ncm(1334,1,{},t$),nPB.Kb=function(n){return niw(CY(n,84))},Nj(npJ,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),ncm(1337,1,{},tD),nPB.Kb=function(n){return niw(CY(n,84))},Nj(npJ,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),ncm(1331,1,nbE,l$),nPB.Cd=function(n){na3(this.a,CY(n,123))},Nj(npJ,ngG,1331),ncm(1332,1,nbE,lD),nPB.Cd=function(n){na3(this.a,CY(n,123))},Nj(npJ,npZ,1332),ncm(1333,1,{},tR),nPB.Kb=function(n){return new Aa(null,new R$(xD(CY(n,74)),16))},Nj(npJ,np1,1333),ncm(1335,1,nbV,lR),nPB.Mb=function(n){var t;return t=this.a,Gw(CY(n,27),DP(t))},Nj(npJ,np0,1335),ncm(1336,1,{},tK),nPB.Kb=function(n){var t;return new Aa(null,new R$(((t=CY(n,74)).b||(t.b=new Ox(nL4,t,4,7)),t.b),16))},Nj(npJ,"ElkGraphImporter/lambda$5$Type",1336),ncm(1338,1,nbV,lK),nPB.Mb=function(n){var t;return t=this.a,Gw(CY(n,27),DP(t))},Nj(npJ,"ElkGraphImporter/lambda$7$Type",1338),ncm(1339,1,nbV,tF),nPB.Mb=function(n){var t;return na$(t=CY(n,74))&&pT(PC(ncx(t,(nlL(),nHT))))},Nj(npJ,"ElkGraphImporter/lambda$8$Type",1339),ncm(1297,1,{},s9),Nj(npJ,"ElkGraphLayoutTransferrer",1297),ncm(1298,1,nbV,lF),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,18),yr(),!zO(e.d.i,t)},Nj(npJ,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),ncm(1299,1,nbE,l_),nPB.Cd=function(n){yr(),jB(this.a,CY(n,18))},Nj(npJ,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),ncm(1300,1,nbV,lB),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,18),yr(),zO(e.d.i,t)},Nj(npJ,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),ncm(1301,1,nbE,lH),nPB.Cd=function(n){yr(),jB(this.a,CY(n,18))},Nj(npJ,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),ncm(819,1,{},Ow),Nj(np2,"BiLinkedHashMultiMap",819),ncm(1550,1,npR,t_),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug(np3,1),vZ(UL(new Aa(null,new R$(e.b,16)),new tB),new tH),t.Vg()},Nj(np2,"CommentNodeMarginCalculator",1550),ncm(1551,1,{},tB),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"CommentNodeMarginCalculator/lambda$0$Type",1551),ncm(1552,1,nbE,tH),nPB.Cd=function(n){!function(n){var t,e,i,r,a,c,o,u,s,h,f,l;if(o=n.d,f=CY(niK(n,(nlF(),nFm)),15),t=CY(niK(n,nKS),15),f||t){if(a=pj(PI(Y_(n,(nlL(),nUg)))),c=pj(PI(Y_(n,nUp))),l=0,f){for(s=0,r=f.Kc();r.Ob();)i=CY(r.Pb(),10),s=nP_.Math.max(s,i.o.b),l+=i.o.a;l+=a*(f.gc()-1),o.d+=s+c}if(e=0,t){for(s=0,r=t.Kc();r.Ob();)i=CY(r.Pb(),10),s=nP_.Math.max(s,i.o.b),e+=i.o.a;e+=a*(t.gc()-1),o.a+=s+c}(u=nP_.Math.max(l,e))>n.o.a&&(h=(u-n.o.a)/2,o.b=nP_.Math.max(o.b,h),o.c=nP_.Math.max(o.c,h))}}(CY(n,10))},Nj(np2,"CommentNodeMarginCalculator/lambda$1$Type",1552),ncm(1553,1,npR,tU),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;for(t.Ug("Comment post-processing",1),a=new fU(n.b);a.a<a.c.c.length;){for(r=CY(RU(a),30),i=new du,o=new fU(r.a);o.a<o.c.c.length;)c=CY(RU(o),10),u=CY(niK(c,(nlF(),nFm)),15),e=CY(niK(c,nKS),15),(u||e)&&(function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;if(d=n.n,g=n.o,l=n.d,f=pj(PI(Y_(n,(nlL(),nUg)))),t){for(h=f*(t.gc()-1),b=0,u=t.Kc();u.Ob();)h+=(c=CY(u.Pb(),10)).o.a,b=nP_.Math.max(b,c.o.b);for(p=d.a-(h-g.a)/2,a=d.b-l.d+b,r=i=g.a/(t.gc()+1),o=t.Kc();o.Ob();)(c=CY(o.Pb(),10)).n.a=p,c.n.b=a-c.o.b,p+=c.o.a+f,(s=nor(c)).n.a=c.o.a/2-s.a.a,s.n.b=c.o.b,(w=CY(niK(c,(nlF(),nKO)),12)).e.c.length+w.g.c.length==1&&(w.n.a=r-w.a.a,w.n.b=0,Ro(w,n)),r+=i}if(e){for(h=f*(e.gc()-1),b=0,u=e.Kc();u.Ob();)h+=(c=CY(u.Pb(),10)).o.a,b=nP_.Math.max(b,c.o.b);for(p=d.a-(h-g.a)/2,a=d.b+g.b+l.a-b,r=i=g.a/(e.gc()+1),o=e.Kc();o.Ob();)(c=CY(o.Pb(),10)).n.a=p,c.n.b=a,p+=c.o.a+f,(s=nor(c)).n.a=c.o.a/2-s.a.a,s.n.b=0,(w=CY(niK(c,(nlF(),nKO)),12)).e.c.length+w.g.c.length==1&&(w.n.a=r-w.a.a,w.n.b=g.b,Ro(w,n)),r+=i}}(c,u,e),u&&Vc(i,u),e&&Vc(i,e));Vc(r.a,i)}t.Vg()}(CY(n,36),t)},Nj(np2,"CommentPostprocessor",1553),ncm(1554,1,npR,tG),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(t.Ug("Comment pre-processing",1),e=0,u=new fU(n.a);u.a<u.c.c.length;)if(pT(PC(niK(o=CY(RU(u),10),(nlL(),nB_))))){for(++e,r=0,i=null,s=null,w=new fU(o.j);w.a<w.c.c.length;)r+=(l=CY(RU(w),12)).e.c.length+l.g.c.length,1==l.e.c.length&&(s=(i=CY(I0(l.e,0),18)).c),1==l.g.c.length&&(s=(i=CY(I0(l.g,0),18)).d);if(1!=r||s.e.c.length+s.g.c.length!=1||pT(PC(niK(s.i,nB_)))){for(g=new du,b=new fU(o.j);b.a<b.c.c.length;){for(f=new fU((l=CY(RU(b),12)).g);f.a<f.c.c.length;)0==(h=CY(RU(f),18)).d.g.c.length||dk(g.c,h);for(c=new fU(l.e);c.a<c.c.c.length;)0==(a=CY(RU(c),18)).c.e.c.length||dk(g.c,a)}for(d=new fU(g);d.a<d.c.c.length;)nhf(CY(RU(d),18),!0)}else(function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;if(l=!1,f=!1,Tx(CY(niK(i,(nlL(),nUt)),101))){c=!1,o=!1;a:for(w=new fU(i.j);w.a<w.c.c.length;)for(b=CY(RU(w),12),d=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(b),new lN(b)])));ncv(d);)if(!pT(PC(niK(CY(_I(d),12).i,nB_)))){if(b.j==(nf5(),n1t)){c=!0;break a}if(b.j==n1m){o=!0;break a}}l=o&&!c,f=c&&!o}if(l||f||0==i.b.c.length)p=!f;else{for(h=0,s=new fU(i.b);s.a<s.c.c.length;)h+=(u=CY(RU(s),72)).n.b+u.o.b/2;h/=i.b.c.length,p=h>=i.o.b/2}(p?(g=CY(niK(i,(nlF(),nFm)),15))?l?a=g:(r=CY(niK(i,nKS),15))?a=g.gc()<=r.gc()?g:r:(a=new du,VD(i,nKS,a)):(a=new du,VD(i,nFm,a)):(r=CY(niK(i,(nlF(),nKS)),15))?f?a=r:(g=CY(niK(i,nFm),15))?a=r.gc()<=g.gc()?r:g:(a=new du,VD(i,nFm,a)):(a=new du,VD(i,nKS,a)),a.Fc(n),VD(n,(nlF(),nKO),e),t.d==e)?(Ru(t,null),e.e.c.length+e.g.c.length==0&&Ro(e,null),(m=CY(niK(e,(nlF(),nFi)),10))&&(H0((v=m.c).a,m),0==v.a.c.length&&H0(xi(m).b,v))):(Ra(t,null),e.e.c.length+e.g.c.length==0&&Ro(e,null)),$p(t.a)})(o,i,s,s.i),L6(u)}t._g()&&t.bh("Found "+e+" comment boxes"),t.Vg()}(CY(n,36),t)},Nj(np2,"CommentPreprocessor",1554),ncm(1555,1,npR,tq),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;for(t.Ug("Constraints Postprocessor",1),c=0,a=new fU(n.b);a.a<a.c.c.length;){for(r=CY(RU(a),30),u=0,o=!1,i=new fU(r.a);i.a<i.c.c.length;)(e=CY(RU(i),10)).k==(ni8(),n$v)&&(o=!0,VD(e,(nlL(),nHA),Qx(c)),VD(e,nB5,Qx(u)),++u);o&&++c}t.Vg()}(CY(n,36),t)},Nj(np2,"ConstraintsPostprocessor",1555),ncm(1556,1,npR,tX),nPB.Kf=function(n,t){var e=CY(n,36);t.Ug("Edge and layer constraint edge reversal",1),function(n){var t,e,i,r,a,c,o,u,s,h,f;for(s=new fU(n);s.a<s.c.c.length;){switch(u=CY(RU(s),10),c=CY(niK(u,(nlL(),nHI)),171),a=null,c.g){case 1:case 2:VH(),a=nRB;break;case 3:case 4:VH(),a=nRF}if(a)VD(u,(nlF(),nKx),(VH(),nRB)),a==nRF?noO(u,c,(qy(),nG$)):a==nRB&&noO(u,c,(qy(),nGD));else if(Tx(CY(niK(u,nUt),101))&&0!=u.j.c.length){for(t=!0,f=new fU(u.j);f.a<f.c.c.length;){if(!((h=CY(RU(f),12)).j==(nf5(),n1n)&&h.e.c.length-h.g.c.length>0||h.j==n1y&&h.e.c.length-h.g.c.length<0)){t=!1;break}for(r=new fU(h.g);r.a<r.c.c.length;)if(e=CY(RU(r),18),(o=CY(niK(e.d.i,nHI),171))==(Yb(),nFk)||o==nFM){t=!1;break}for(i=new fU(h.e);i.a<i.c.c.length;)if(e=CY(RU(i),18),(o=CY(niK(e.c.i,nHI),171))==(Yb(),nFv)||o==nFy){t=!1;break}}t&&noO(u,c,(qy(),nGR))}}}(function(n){var t,e,i,r,a;for(a=new Bf(n.a.c.length),r=new fU(n.a);r.a<r.c.c.length;){switch(i=CY(RU(r),10),e=CY(niK(i,(nlL(),nHI)),171),t=null,e.g){case 1:case 2:VH(),t=nRB;break;case 3:case 4:VH(),t=nRF}t?(VD(i,(nlF(),nKx),(VH(),nRB)),t==nRF?noO(i,e,(qy(),nG$)):t==nRB&&noO(i,e,(qy(),nGD))):dk(a.c,i)}return a}(e)),t.Vg()},Nj(np2,"EdgeAndLayerConstraintEdgeReverser",1556),ncm(1557,1,npR,tz),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("End label post-processing",1),vZ(xX(UL(new Aa(null,new R$(e.b,16)),new tV),new tW),new tQ),t.Vg()},Nj(np2,"EndLabelPostprocessor",1557),ncm(1558,1,{},tV),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"EndLabelPostprocessor/lambda$0$Type",1558),ncm(1559,1,nbV,tW),nPB.Mb=function(n){var t;return((t=CY(n,10)).k==(ni8(),n$v)||t.k==n$g)&&Pn(t,(nlF(),nK$))},Nj(np2,"EndLabelPostprocessor/lambda$1$Type",1559),ncm(1560,1,nbE,tQ),nPB.Cd=function(n){!function(n){var t,e,i,r,a;for(t=CY(niK(n,(nlF(),nK$)),85),a=n.n,i=t.Cc().Kc();i.Ob();)r=(e=CY(i.Pb(),314)).i,r.c+=a.a,r.d+=a.b,e.c?nus(e):nuh(e);VD(n,nK$,null)}(CY(n,10))},Nj(np2,"EndLabelPostprocessor/lambda$2$Type",1560),ncm(1561,1,npR,tJ),nPB.Kf=function(n,t){var e,i,r,a;e=CY(n,36),t.Ug("End label pre-processing",1),i=pj(PI(niK(e,(nlL(),nUk)))),r=pj(PI(niK(e,nUj))),a=TD(CY(niK(e,nHt),88)),vZ(UL(new Aa(null,new R$(e.b,16)),new tY),new Cb(i,r,a)),t.Vg()},Nj(np2,"EndLabelPreprocessor",1561),ncm(1562,1,{},tY),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"EndLabelPreprocessor/lambda$0$Type",1562),ncm(1563,1,nbE,Cb),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=this.c,function(n,t,e,i){var r,a,c,o,u,s;for(o=0,u=BJ(nCk,ndZ,314,c=n.j.c.length,0,1);o<c;o++)(a=CY(I0(n.j,o),12)).p=o,u[o]=function(n,t,e){var i,r,a,c,o,u;if(!n||0==n.c.length)return null;for(a=new Dr(t,!e),r=new fU(n);r.a<r.c.c.length;)i=CY(RU(r),72),nrg(a,(ye(),new lI(i)));return c=a.i,u=a.n,c.a=a.e.b+u.d+u.a,o=a.n,c.b=a.e.a+o.b+o.c,a}(ncy(a),e,i);for(function(n,t,e,i,r){var a,c,o,u;for(u=new O9(a=CY(mP(nLq),9),CY(Oc(a,a.length),9),0),o=new fU(n.j);o.a<o.c.c.length;)t[(c=CY(RU(o),12)).p]&&(function(n,t,e){var i,r,a,c,o;switch(i=t.i,a=n.i.o,r=n.i.d,o=n.n,c=V4(Vw(DY(nLA,1),nby,8,0,[o,n.a])),n.j.g){case 1:P0(t,(Uk(),nIf)),i.d=-r.d-e-i.a,CY(CY(I0(t.d,0),187).of((nlF(),nKJ)),291)==(ntG(),nZC)?(Hn(t,(HS(),nIs)),i.c=c.a-pj(PI(niK(n,nK3)))-e-i.b):(Hn(t,(HS(),nIu)),i.c=c.a+pj(PI(niK(n,nK3)))+e);break;case 2:Hn(t,(HS(),nIu)),i.c=a.a+r.c+e,CY(CY(I0(t.d,0),187).of((nlF(),nKJ)),291)==(ntG(),nZC)?(P0(t,(Uk(),nIf)),i.d=c.b-pj(PI(niK(n,nK3)))-e-i.a):(P0(t,(Uk(),nIb)),i.d=c.b+pj(PI(niK(n,nK3)))+e);break;case 3:P0(t,(Uk(),nIb)),i.d=a.b+r.a+e,CY(CY(I0(t.d,0),187).of((nlF(),nKJ)),291)==(ntG(),nZC)?(Hn(t,(HS(),nIs)),i.c=c.a-pj(PI(niK(n,nK3)))-e-i.b):(Hn(t,(HS(),nIu)),i.c=c.a+pj(PI(niK(n,nK3)))+e);break;case 4:Hn(t,(HS(),nIs)),i.c=-r.b-e-i.b,CY(CY(I0(t.d,0),187).of((nlF(),nKJ)),291)==(ntG(),nZC)?(P0(t,(Uk(),nIf)),i.d=c.b-pj(PI(niK(n,nK3)))-e-i.a):(P0(t,(Uk(),nIb)),i.d=c.b+pj(PI(niK(n,nK3)))+e)}}(c,t[c.p],i),Xf(u,c.j));r?(ne7(n,t,(nf5(),n1n),2*e,i),ne7(n,t,n1y,2*e,i)):(ne7(n,t,(nf5(),n1t),2*e,i),ne7(n,t,n1m,2*e,i))}(n,u,e,t,i),s=new dc,r=0;r<u.length;r++)u[r]&&xM(s,CY(I0(n.j,r),12),u[r]);s.f.c+s.i.c!=0&&(VD(n,(nlF(),nK$),s),function(n,t){var e,i,r,a,c,o;for(a=n.d,o=n.o,c=new x4(-a.b,-a.d,a.b+o.a+a.c,a.d+o.b+a.a),i=0,r=t.length;i<r;++i)(e=t[i])&&nrx(c,e.i);a.b=-c.c,a.d=-c.d,a.c=c.b-a.b-o.a,a.a=c.a-a.d-o.b}(n,u))}(CY(n,10),t,e,i)},nPB.a=0,nPB.b=0,nPB.c=!1,Nj(np2,"EndLabelPreprocessor/lambda$1$Type",1563),ncm(1564,1,nbV,tZ),nPB.Mb=function(n){return ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZr))},Nj(np2,"EndLabelPreprocessor/lambda$2$Type",1564),ncm(1565,1,nbE,lU),nPB.Cd=function(n){IA(this.a,CY(n,72))},Nj(np2,"EndLabelPreprocessor/lambda$3$Type",1565),ncm(1566,1,nbV,t1),nPB.Mb=function(n){return ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZi))},Nj(np2,"EndLabelPreprocessor/lambda$4$Type",1566),ncm(1567,1,nbE,lG),nPB.Cd=function(n){IA(this.a,CY(n,72))},Nj(np2,"EndLabelPreprocessor/lambda$5$Type",1567),ncm(1615,1,npR,s1),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("Sort end labels",1),vZ(xX(UL(new Aa(null,new R$(e.b,16)),new t2),new t3),new t4),t.Vg()},Nj(np2,"EndLabelSorter",1615),ncm(1616,1,ndy,t0),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,466),i=CY(t,466),0!=(r=jo(e.a.c.p,i.a.c.p))?r:0!=(a=jo(e.a.d.i.p,i.a.d.i.p))?a:jo(i.a.d.p,e.a.d.p)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"EndLabelSorter/1",1616),ncm(466,1,{466:1},$j),Nj(np2,"EndLabelSorter/LabelGroup",466),ncm(1617,1,{},t2),nPB.Kb=function(n){return yi(),new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"EndLabelSorter/lambda$0$Type",1617),ncm(1618,1,nbV,t3),nPB.Mb=function(n){return yi(),CY(n,10).k==(ni8(),n$v)},Nj(np2,"EndLabelSorter/lambda$1$Type",1618),ncm(1619,1,nbE,t4),nPB.Cd=function(n){!function(n){var t,e,i,r;if(t=!1,Pn(n,(nlF(),nK$)))for(e=CY(niK(n,nK$),85),r=new fU(n.j);r.a<r.c.c.length;)(function(n){var t,e,i;for(t=0,e=new fU(n.e);e.a<e.c.c.length;)_g(new Aa(null,new R$(CY(RU(e),18).b,16)),new t6)&&++t;for(i=new fU(n.g);i.a<i.c.c.length;)_g(new Aa(null,new R$(CY(RU(i),18).b,16)),new t5)&&++t;return t>=2})(i=CY(RU(r),12))&&(t||(function(n){var t,e,i,r,a;for(e=0,t=new fU(n.b);t.a<t.c.c.length;)for(r=new fU(CY(RU(t),30).a);r.a<r.c.c.length;)for((i=CY(RU(r),10)).p=e++,a=new fU(i.j);a.a<a.c.c.length;)CY(RU(a),12).p=e++}(xi(n)),t=!0),function(n){var t,e,i;for(ji(e=function(n){var t,e,i,r;for(e=new dc,r=new fU(n.d);r.a<r.c.c.length;)i=CY(RU(r),187),t=CY(i.of((nlF(),nKD)),18),Aj(e.f,t)||xM(e,t,new $j(t)),jB(CY(ED(Aj(e.f,t)),466).b,i);return new O8(new fN(e))}(n),n$C),(i=n.d).c.length=0,t=new fU(e);t.a<t.c.c.length;)Vc(i,CY(RU(t),466).b)}(CY(e.xc(i),314)))}(CY(n,10))},Nj(np2,"EndLabelSorter/lambda$2$Type",1619),ncm(1620,1,nbV,t6),nPB.Mb=function(n){return yi(),ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZi))},Nj(np2,"EndLabelSorter/lambda$3$Type",1620),ncm(1621,1,nbV,t5),nPB.Mb=function(n){return yi(),ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZr))},Nj(np2,"EndLabelSorter/lambda$4$Type",1621),ncm(1568,1,npR,t8),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h;for(n.b=pj(PI(niK(t,(nlL(),nUy)))),n.c=pj(PI(niK(t,nUE))),n.d=CY(niK(t,nHb),350),n.a=CY(niK(t,nBU),282),s=new fU(t.b);s.a<s.c.c.length;)for(u=CY(RU(s),30),o=0,h=new fU(u.a);h.a<h.c.c.length;)CY(RU(h),10).p=o++;for(r=(a=CY(FB(xX(xX(UL(UL(new Aa(null,new R$(t.b,16)),new t9),new t7),new en),new et),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15)).Kc();r.Ob();)e=CY(r.Pb(),18),CY(niK(e,(nlF(),nFw)),15).Jc(new lq(n)),VD(e,nFw,null);for(i=a.Kc();i.Ob();)e=CY(i.Pb(),18),c=CY(niK(e,(nlF(),nFd)),18),function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;if(!t.dc()){if(r=new gj,f=(c=e||CY(t.Xb(0),18)).c,noD(),(s=f.i.k)!=(ni8(),n$v)&&s!=n$y&&s!=n$g&&s!=n$d)throw new pN("The target node of the edge must be a normal node or a northSouthPort.").e;for(E6(r,V4(Vw(DY(nLA,1),nby,8,0,[f.i.n,f.n,f.a]))),(nf5(),n1l).Hc(f.j)&&(b=pj(PI(niK(f,(nlF(),nFb)))),F_(r,new MH(V4(Vw(DY(nLA,1),nby,8,0,[f.i.n,f.n,f.a])).a,b),r.c.b,r.c)),u=null,i=!1,o=t.Kc();o.Ob();)0!=(a=CY(o.Pb(),18).a).b&&(i?(F_(r,j_(OT(u,(Px(0!=a.b),CY(a.a.a.c,8))),.5),r.c.b,r.c),i=!1):i=!0,u=jv((Px(0!=a.b),CY(a.c.b.c,8))),Xx(r,a),$p(a));l=c.d,n1l.Hc(l.j)&&(b=pj(PI(niK(l,(nlF(),nFb)))),F_(r,new MH(V4(Vw(DY(nLA,1),nby,8,0,[l.i.n,l.n,l.a])).a,b),r.c.b,r.c)),E6(r,V4(Vw(DY(nLA,1),nby,8,0,[l.i.n,l.n,l.a]))),n.d==(WQ(),nGz)&&(Px(0!=r.b),w=CY(r.a.a.c,8),d=CY(nnt(r,1),8),g=new RE(Wg(f.j)),g.a*=5,g.b*=5,p=Oj(new MH(d.a,d.b),w),OT(m=new MH(DH(g.a,p.a),DH(g.b,p.b)),w),Ne(ZQ(r,1),m),Px(0!=r.b),v=CY(r.c.b.c,8),y=CY(nnt(r,r.b-2),8),g=new RE(Wg(l.j)),g.a*=5,g.b*=5,p=Oj(new MH(y.a,y.b),v),OT(k=new MH(DH(g.a,p.a),DH(g.b,p.b)),v),S2(r,r.b-1,k)),h=new nhw(r),Xx(c.a,nnY(h))}}(n,CY(niK(e,nFl),15),c),VD(e,nFl,null)}(this,CY(n,36))},nPB.b=0,nPB.c=0,Nj(np2,"FinalSplineBendpointsCalculator",1568),ncm(1569,1,{},t9),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),ncm(1570,1,{},t7),nPB.Kb=function(n){return new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(np2,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),ncm(1571,1,nbV,en),nPB.Mb=function(n){return!_p(CY(n,18))},Nj(np2,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),ncm(1572,1,nbV,et),nPB.Mb=function(n){return Pn(CY(n,18),(nlF(),nFw))},Nj(np2,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),ncm(1573,1,nbE,lq),nPB.Cd=function(n){!function(n,t){var e,i,r,a,c;if(!t.e){for(t.e=!0,i=t.d.a.ec().Kc();i.Ob();){if(e=CY(i.Pb(),18),t.o&&1>=t.d.a.gc()){c=new MH((a=t.a.c)+(t.a.c+t.a.b-a)/2,t.b),IA(CY(t.d.a.ec().Kc().Pb(),18).a,c);continue}if((r=CY(NR(t.c,e),468)).b||r.c){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;s=e.a.c,c=e.a.c+e.a.b,l=(a=CY(NR(e.c,t),468)).f,b=a.a,o=a.b?new MH(c,l):new MH(s,l),h=a.c?new MH(s,b):new MH(c,b),r=s,e.p||(r+=n.c),r+=e.F+e.v*n.b,u=new MH(r,l),f=new MH(r,b),qC(t.a,Vw(DY(nLA,1),nby,8,0,[o,u])),e.d.a.gc()>1&&(i=new MH(r,e.b),IA(t.a,i)),qC(t.a,Vw(DY(nLA,1),nby,8,0,[f,h]))}(n,e,t);continue}n.d==(WQ(),nGW)&&(r.d||r.e)&&function(n,t){var e,i,r,a;return n.a==(ni2(),nKn)||(r=t.a.c,e=t.a.c+t.a.b,(!t.j||(a=(i=t.A).c.c.a-i.o.a/2,!(r-(i.n.a+i.o.a)>a)))&&(!t.q||(a=(i=t.C).c.c.a-i.o.a/2,!(i.n.a-e>a)))&&!0)}(n,t)&&1>=t.d.a.gc()?function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;o=CY(NR(t.c,n),468),g=t.a.c,u=t.a.c+t.a.b,c=(E=o.f)<(T=o.a),b=new MH(g,E),p=new MH(u,T),w=new MH(r=(g+u)/2,E),m=new MH(r,T),a=function(n,t,e){var i,r,a;if(i=0,r=0,n.c)for(a=new fU(n.d.i.j);a.a<a.c.c.length;)i+=CY(RU(a),12).e.c.length;else i=1;if(n.d)for(a=new fU(n.c.i.j);a.a<a.c.c.length;)r+=CY(RU(a),12).g.c.length;else r=1;return(e+t)/2+.4*Dy(ID(r-i))*(e-t)}(n,E,T),y=RO(t.B),k=new MH(r,a),M=RO(t.D),e=function(n){var t,e,i;for(nue(),e=BJ(nLA,nby,8,2,0,1),i=0,t=0;t<2;t++)i+=.5,e[t]=function(n,t){var e,i,r,a,c,o;for(i=0,r=t.length-1,c=0,o=0;i<=r;i++)a=t[i],e=function(n,t){if(n<0||t<0)throw new pN("k and n must be positive").e;if(!(t>n))return 0==t||t==n?1:0==n?0:neP(n)/(neP(t)*neP(n-t));throw new pN("k must be smaller than n").e}(r,i)*Qy(1-n,r-i)*Qy(n,i),c+=a.a*e,o+=a.b*e;return new MH(c,o)}(i,n);return e}(Vw(DY(nLA,1),nby,8,0,[y,k,M])),f=!1,(d=t.B.i)&&d.c&&o.d&&((s=c&&d.p<d.c.a.c.length-1||!c&&d.p>0)?s&&(h=d.p,c?++h:--h,f=!(now(i=VS(CY(I0(d.c.a,h),10)),y,e[0])||Lg(i,y,e[0]))):f=!0),l=!1,(v=t.D.i)&&v.c&&o.e&&(c&&v.p>0||!c&&v.p<v.c.a.c.length-1?(h=v.p,c?--h:++h,l=!(now(i=VS(CY(I0(v.c.a,h),10)),e[0],M)||Lg(i,e[0],M))):l=!0),f&&l&&IA(n.a,k),f||qC(n.a,Vw(DY(nLA,1),nby,8,0,[b,w])),l||qC(n.a,Vw(DY(nLA,1),nby,8,0,[m,p]))}(e,t):function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;s=e.a.c,c=e.a.c+e.a.b,l=(a=CY(NR(e.c,t),468)).f,b=a.a,o=new MH(s,l),h=new MH(c,b),r=s,e.p||(r+=n.c),r+=e.F+e.v*n.b,u=new MH(r,l),f=new MH(r,b),qC(t.a,Vw(DY(nLA,1),nby,8,0,[o,u])),e.d.a.gc()>1&&(i=new MH(r,e.b),IA(t.a,i)),qC(t.a,Vw(DY(nLA,1),nby,8,0,[f,h]))}(n,e,t)}t.k&&_r(t.d,new ee)}}(this.a,CY(n,131))},Nj(np2,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),ncm(1574,1,nbE,ee),nPB.Cd=function(n){nrY(CY(n,18).a)},Nj(np2,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),ncm(803,1,npR,lX),nPB.Kf=function(n,t){!function(n,t,e){var i,r;for(e.Ug("Graph transformation ("+n.a+")",1),r=RR(t.a),i=new fU(t.b);i.a<i.c.c.length;)Vc(r,CY(RU(i),30).a);if(CY(niK(t,(nlL(),nHe)),428)==(U4(),nRD))switch(CY(niK(t,nHt),88).g){case 2:KH(t,r);break;case 3:Yz(t,r);break;case 4:n.a==(X5(),n$A)?(Yz(t,r),KU(t,r)):(KU(t,r),Yz(t,r))}else if(n.a==(X5(),n$A))switch(CY(niK(t,nHt),88).g){case 2:KH(t,r),KU(t,r);break;case 3:Yz(t,r),KH(t,r);break;case 4:KH(t,r),Yz(t,r)}else switch(CY(niK(t,nHt),88).g){case 2:KH(t,r),KU(t,r);break;case 3:KH(t,r),Yz(t,r);break;case 4:Yz(t,r),KH(t,r)}e.Vg()}(this,CY(n,36),t)},Nj(np2,"GraphTransformer",803),ncm(517,22,{3:1,34:1,22:1,517:1},ka);var nAu=qc(np2,"GraphTransformer/Mode",517,nPw,function(){return X5(),Vw(DY(nAu,1),nbG,517,0,[n$A,n$I])},function(n){return X5(),qa((FV(),n$L),n)});ncm(1575,1,npR,ei),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h;for(t.Ug("Resize child graph to fit parent.",1),i=new fU(n.b);i.a<i.c.c.length;)e=CY(RU(i),30),Vc(n.a,e.a),e.a.c.length=0;for(r=new fU(n.a);r.a<r.c.c.length;)Rc(CY(RU(r),10),null);n.b.c.length=0,s=CY(niK(a=n,(nlL(),nHW)),21),h=CY(niK(a,nHY),21),c=new TP(o=new MH(a.f.a+a.d.b+a.d.c,a.f.b+a.d.d+a.d.a)),s.Hc((YZ(),n1P))&&(u=CY(niK(a,nHJ),8),h.Hc((nsv(),n1x))&&(u.a<=0&&(u.a=20),u.b<=0&&(u.b=20)),c.a=nP_.Math.max(o.a,u.a),c.b=nP_.Math.max(o.b,u.b)),function(n,t,e){var i,r,a,c,o;if(i=CY(niK(n,(nlL(),nBJ)),21),e.a>t.a&&(i.Hc((neW(),nJd))?n.c.a+=(e.a-t.a)/2:i.Hc(nJp)&&(n.c.a+=e.a-t.a)),e.b>t.b&&(i.Hc((neW(),nJv))?n.c.b+=(e.b-t.b)/2:i.Hc(nJm)&&(n.c.b+=e.b-t.b)),CY(niK(n,(nlF(),nKU)),21).Hc((no7(),nKc))&&(e.a>t.a||e.b>t.b))for(c=new fU(n.a);c.a<c.c.c.length;)(a=CY(RU(c),10)).k==(ni8(),n$g)&&((r=CY(niK(a,nK_),64))==(nf5(),n1n)?a.n.a+=e.a-t.a:r==n1m&&(a.n.b+=e.b-t.b));o=n.d,n.f.a=e.a-o.b-o.c,n.f.b=e.b-o.d-o.a}(a,o,c),n.e&&function(n,t){var e,i,r,a,c,o;for(r=new fU(t.a);r.a<r.c.c.length;)jM(a=niK(i=CY(RU(r),10),(nlF(),nK6)),12)&&(o=nsJ(t,i,(c=CY(a,12)).o.a,c.o.b),c.n.a=o.a,c.n.b=o.b,nau(c,CY(niK(i,nK_),64)));e=new MH(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),CY(niK(t,(nlF(),nKU)),21).Hc((no7(),nKc))?(VD(n,(nlL(),nUt),(nie(),nZJ)),CY(niK(xi(n),nKU),21).Fc(nKs),nfE(n,e,!1)):nfE(n,e,!0)}(n.e,n),t.Vg()}(CY(n,36),t)},Nj(np2,"HierarchicalNodeResizingProcessor",1575),ncm(1576,1,npR,er),nPB.Kf=function(n,t){var e,i,r;e=CY(n,36),t.Ug("Hierarchical port constraint processing",1),Oq(CY(niK(i=e,(nlL(),nUt)),101))&&(naq((RN(0,(r=i.b).c.length),CY(r.c[0],30))),naq(CY(I0(r,r.c.length-1),30))),function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P;if((M=CY(niK(n,(nlL(),nUt)),101))!=(nie(),nZ1)&&M!=nZ0){for(h=new Bf((qL((b=(w=n.b).c.length)+2,nbX),Gr(JF(JF(5,b+2),(b+2)/10|0)))),d=new Bf((qL(b+2,nbX),Gr(JF(JF(5,b+2),(b+2)/10|0)))),jB(h,new dc),jB(h,new dc),jB(d,new du),jB(d,new du),k=new du,t=0;t<b;t++)for(RN(t,w.c.length),e=CY(w.c[t],30),RN(t,h.c.length),E=CY(h.c[t],85),g=new dc,dk(h.c,g),RN(t,d.c.length),j=CY(d.c[t],15),m=new du,dk(d.c,m),r=new fU(e.a);r.a<r.c.c.length;){if(Jn(i=CY(RU(r),10))){dk(k.c,i);continue}for(u=new Le(Sb(Jz(i).a.Kc(),new s));ncv(u);)Jn(S=(c=CY(_I(u),18)).c.i)&&((T=CY(E.xc(niK(S,(nlF(),nK6))),10))||(T=nad(n,S),E.zc(niK(S,nK6),T),j.Fc(T)),Ra(c,CY(I0(T.j,1),12)));for(o=new Le(Sb(JV(i).a.Kc(),new s));ncv(o);)Jn(P=(c=CY(_I(o),18)).d.i)&&((p=CY(NR(g,niK(P,(nlF(),nK6))),10))||(p=nad(n,P),xM(g,niK(P,nK6),p),dk(m.c,p)),Ru(c,CY(I0(p.j,0),12)))}for(f=0;f<d.c.length;f++)if(RN(f,d.c.length),!(v=CY(d.c[f],15)).dc())for(l=null,0==f?(l=new NU(n),RL(0,w.c.length),kt(w.c,0,l)):f==h.c.length-1?(l=new NU(n),dk(w.c,l)):(RN(f-1,w.c.length),l=CY(w.c[f-1],30)),a=v.Kc();a.Ob();)Rc(CY(a.Pb(),10),l);for(y=new fU(k);y.a<y.c.c.length;)Rc(CY(RU(y),10),null);VD(n,(nlF(),nKK),k)}}(e),t.Vg()},Nj(np2,"HierarchicalPortConstraintProcessor",1576),ncm(1577,1,ndy,ea),nPB.Ne=function(n,t){var e,i,r,a,c,o;return e=CY(n,10),i=CY(t,10),c=e.k,r=pj(PI(niK(e,(nlF(),nFr)))),o=i.k,a=pj(PI(niK(i,nFr))),o!=(ni8(),n$g)?-1:c!=n$g?1:r==a?0:r<a?-1:1},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"HierarchicalPortConstraintProcessor/NodeComparator",1577),ncm(1578,1,npR,ec),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s;for(t.Ug("Hierarchical port dummy size processing",1),o=new du,s=new du,e=2*pj(PI(niK(n,(nlL(),nUy)))),r=new fU(n.b);r.a<r.c.c.length;){for(i=CY(RU(r),30),o.c.length=0,s.c.length=0,c=new fU(i.a);c.a<c.c.c.length;)(a=CY(RU(c),10)).k==(ni8(),n$g)&&((u=CY(niK(a,(nlF(),nK_)),64))==(nf5(),n1t)?dk(o.c,a):u==n1m&&dk(s.c,a));nct(o,!0,e),nct(s,!1,e)}t.Vg()}(CY(n,36),t)},Nj(np2,"HierarchicalPortDummySizeProcessor",1578),ncm(1579,1,npR,eo),nPB.Kf=function(n,t){var e,i,r,a,c;e=CY(n,36),t.Ug("Orthogonally routing hierarchical port edges",1),this.a=0,i=function(n){var t,e,i,r,a,c,o,u,s,h,f;if(u=new du,!Pn(n,(nlF(),nKK)))return u;for(i=CY(niK(n,nKK),15).Kc();i.Ob();)(function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(h=CY(niK(n,(nlF(),nK_)),64),i=CY(I0(n.j,0),12),h==(nf5(),n1t)?nau(i,n1m):h==n1m&&nau(i,n1t),CY(niK(t,(nlL(),nHW)),181).Hc((YZ(),n1I))){if(u=pj(PI(niK(n,nUP))),s=pj(PI(niK(n,nUO))),c=pj(PI(niK(n,nUj))),(o=CY(niK(t,nUr),21)).Hc((nap(),nZ6)))for(e=s,f=n.o.a/2-i.n.a,a=new fU(i.f);a.a<a.c.c.length;)(r=CY(RU(a),72)).n.b=e,r.n.a=f-r.o.a/2,e+=r.o.b+c;else if(o.Hc(nZ8))for(a=new fU(i.f);a.a<a.c.c.length;)(r=CY(RU(a),72)).n.a=u+n.o.a-i.n.a;l=new ld((ye(),new x5(t,!1,!1,new tP))),b=new Cp(null,n,!1),w=pj(PI(l.a.of((nl_(),nYH)))),nlc(l,b,w)}})(t=CY(i.Pb(),10),n),dk(u.c,t);for(r=new fU(n.b);r.a<r.c.c.length;)for(c=new fU(CY(RU(r),30).a);c.a<c.c.c.length;)(a=CY(RU(c),10)).k==(ni8(),n$g)&&(o=CY(niK(a,nKF),10))&&(Ro(s=new nro,a),nau(s,CY(niK(a,nK_),64)),h=CY(I0(o.j,0),12),Ra(f=new $1,s),Ru(f,h));for(e=new fU(u);e.a<e.c.c.length;)Rc(t=CY(RU(e),10),CY(I0(n.b,n.b.c.length-1),30));return u}(e),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(e=CY(niK(n,(nlL(),nUt)),101),c=n.f,a=n.d,o=c.a+a.b+a.c,u=0-a.d-n.c.b,h=c.b+a.d+a.a-n.c.b,s=new du,f=new du,r=new fU(t);r.a<r.c.c.length;){switch(i=CY(RU(r),10),e.g){case 1:case 2:case 3:!function(n){var t,e,i,r,a,c;if((r=CY(I0(n.j,0),12)).e.c.length+r.g.c.length==0)n.n.a=0;else{for(c=0,i=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(r),new lN(r)])));ncv(i);)c+=(e=CY(_I(i),12)).i.n.a+e.n.a+e.a.a;a=(t=CY(niK(n,(nlL(),nH7)),8))?t.a:0,n.n.a=c/(r.e.c.length+r.g.c.length)-a}}(i);break;case 4:b=(l=CY(niK(i,nH7),8))?l.a:0,i.n.a=o*pj(PI(niK(i,(nlF(),nFr))))-b,z4(i,!0,!1);break;case 5:d=(w=CY(niK(i,nH7),8))?w.a:0,i.n.a=pj(PI(niK(i,(nlF(),nFr))))-d,z4(i,!0,!1),c.a=nP_.Math.max(c.a,i.n.a+i.o.a/2)}switch(CY(niK(i,(nlF(),nK_)),64).g){case 1:i.n.b=u,dk(s.c,i);break;case 3:i.n.b=h,dk(f.c,i)}}switch(e.g){case 1:case 2:QQ(s,n),QQ(f,n);break;case 3:QJ(s,n),QJ(f,n)}}(e,i),function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w;for(u=new TE,h=new TE,b=new TE,w=new TE,o=pj(PI(niK(t,(nlL(),nUC)))),r=pj(PI(niK(t,nUv))),c=new fU(e);c.a<c.c.c.length;)if(a=CY(RU(c),10),(f=CY(niK(a,(nlF(),nK_)),64))==(nf5(),n1t))for(h.a.zc(a,h),i=new Le(Sb(Jz(a).a.Kc(),new s));ncv(i);)LX(u,CY(_I(i),18).c.i);else if(f==n1m)for(w.a.zc(a,w),i=new Le(Sb(Jz(a).a.Kc(),new s));ncv(i);)LX(b,CY(_I(i),18).c.i);0!=u.a.gc()&&(l=nfC(new Nl(2,r),t,u,h,-o-t.c.b))>0&&(n.a=o+(l-1)*r,t.c.b+=n.a,t.f.b+=n.a),0!=b.a.gc()&&(l=nfC(new Nl(1,r),t,b,w,t.f.b+o-t.c.b))>0&&(t.f.b+=o+(l-1)*r)}(this,e,i),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;for(v=new du,f=new fU(n.b);f.a<f.c.c.length;)for(w=new fU(CY(RU(f),30).a);w.a<w.c.c.length;)if((l=CY(RU(w),10)).k==(ni8(),n$g)&&Pn(l,(nlF(),nKF))){for(d=null,p=null,g=null,M=new fU(l.j);M.a<M.c.c.length;)switch((k=CY(RU(M),12)).j.g){case 4:d=k;break;case 2:p=k;break;default:g=k}for(s=new mh((m=CY(I0(g.g,0),18)).a),OT(u=new TP(g.n),l.n),Ne(ZQ(s,0),u),y=Wo(m.a),OT(h=new TP(g.n),l.n),F_(y,h,y.c.b,y.c),E=CY(niK(l,nKF),10),T=CY(I0(E.j,0),12),a=0,o=(i=CY(ZB(d.e,BJ(nAt,npH,18,0,0,1)),483)).length;a<o;++a)Ru(t=i[a],T),WF(t.a,t.a.b,s);for(r=0,c=(e=Ky(p.g)).length;r<c;++r)Ra(t=e[r],T),WF(t.a,0,y);Ra(m,null),Ru(m,null),dk(v.c,l)}for(b=new fU(v);b.a<b.c.c.length;)Rc(l=CY(RU(b),10),null)}(e),r=CY(niK(e,(nlL(),nUt)),101),nfW((RN(0,(a=e.b).c.length),CY(a.c[0],30)),r,e),nfW(CY(I0(a,a.c.length-1),30),r,e),nhk((RN(0,(c=e.b).c.length),CY(c.c[0],30))),nhk(CY(I0(c,c.c.length-1),30)),t.Vg()},nPB.a=0,Nj(np2,"HierarchicalPortOrthogonalEdgeRouter",1579),ncm(1580,1,ndy,eu),nPB.Ne=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),Jj(e.n.a,i.n.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"HierarchicalPortOrthogonalEdgeRouter/1",1580),ncm(1581,1,ndy,es),nPB.Ne=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),Jj(pj(PI(niK(e,(nlF(),nFr)))),pj(PI(niK(i,nFr))))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"HierarchicalPortOrthogonalEdgeRouter/2",1581),ncm(1582,1,npR,eh),nPB.Kf=function(n,t){var e,i;e=CY(n,36),t.Ug("Hierarchical port position processing",1),(i=e.b).c.length>0&&nsk((RN(0,i.c.length),CY(i.c[0],30)),e),i.c.length>1&&nsk(CY(I0(i,i.c.length-1),30),e),t.Vg()},Nj(np2,"HierarchicalPortPositionProcessor",1582),ncm(1583,1,npR,s7),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;for(n.b=t,n.a=CY(niK(t,(nlL(),nHv)),17).a,n.c=CY(niK(t,nHk),17).a,0==n.c&&(n.c=nl3),d=new Kp(t.b,0);d.b<d.d.gc();){for(Px(d.b<d.d.gc()),w=CY(d.d.Xb(d.c=d.b++),30),o=new du,f=-1,v=-1,m=new fU(w.a);m.a<m.c.c.length;)p=CY(RU(m),10),Fv((Ck(),new Le(Sb(JX(p).a.Kc(),new s))))>=n.a&&(i=function(n,t){var e,i,r,a,c,o,u,h;for(e=new ef,r=new Le(Sb(Jz(t).a.Kc(),new s));ncv(r);)if(!_p(i=CY(_I(r),18))&&nir(o=i.c.i,n$x)){if(-1==(h=nug(n,o,n$x,n$N)))continue;e.b=nP_.Math.max(e.b,h),e.a||(e.a=new du),jB(e.a,o)}for(c=new Le(Sb(JV(t).a.Kc(),new s));ncv(c);)if(!_p(a=CY(_I(c),18))&&nir(u=a.d.i,n$N)){if(-1==(h=nug(n,u,n$N,n$x)))continue;e.d=nP_.Math.max(e.d,h),e.c||(e.c=new du),jB(e.c,u)}return e}(n,p),f=nP_.Math.max(f,i.b),v=nP_.Math.max(v,i.d),jB(o,new Ea(p,i)));for(h=0,M=new du;h<f;++h)AC(M,0,(Px(d.b>0),d.a.Xb(d.c=--d.b),Oe(d,E=new NU(n.b)),Px(d.b<d.d.gc()),d.d.Xb(d.c=d.b++),E));for(c=new fU(o);c.a<c.c.c.length;)if(r=CY(RU(c),42),b=CY(r.b,580).a)for(l=new fU(b);l.a<l.c.c.length;)nt1(n,CY(RU(l),10),n$N,M);for(u=0,e=new du;u<v;++u)jB(e,(Oe(d,T=new NU(n.b)),T));for(a=new fU(o);a.a<a.c.c.length;)if(r=CY(RU(a),42),k=CY(r.b,580).c)for(y=new fU(k);y.a<y.c.c.length;)nt1(n,CY(RU(y),10),n$x,e)}for(g=new Kp(t.b,0);g.b<g.d.gc();)Px(g.b<g.d.gc()),0==CY(g.d.Xb(g.c=g.b++),30).a.c.length&&N6(g)}(this,CY(n,36))},nPB.a=0,nPB.c=0,Nj(np2,"HighDegreeNodeLayeringProcessor",1583),ncm(580,1,{580:1},ef),nPB.b=-1,nPB.d=-1,Nj(np2,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),ncm(1584,1,{},el),nPB.Kb=function(n){return Ck(),Jz(CY(n,10))},nPB.Fb=function(n){return this===n},Nj(np2,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),ncm(1585,1,{},eb),nPB.Kb=function(n){return Ck(),JV(CY(n,10))},nPB.Fb=function(n){return this===n},Nj(np2,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),ncm(1591,1,npR,ew),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(e.Ug("Hyperedge merging",1),(w=CY(FB(UL(UL(new Aa(null,new R$(t.b,16)),new ed),new eg),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15)).Jc(new ep),f=0,b=w.Kc();b.Ob();)-1==(l=CY(b.Pb(),12)).p&&function n(t,e,i){var r,a,c;for(e.p=i,c=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(e),new lN(e)])));ncv(c);)-1==(r=CY(_I(c),12)).p&&n(t,r,i);if(e.i.k==(ni8(),n$m))for(a=new fU(e.i.j);a.a<a.c.c.length;)(r=CY(RU(a),12))!=e&&-1==r.p&&n(t,r,i)}(n,l,f++);for(o=new Kp(t.b,0);o.b<o.d.gc();)if(Px(o.b<o.d.gc()),0!=(s=CY(o.d.Xb(o.c=o.b++),30).a).c.length)for(u=0,i=null,r=null,a=null,c=null;u<s.c.length;u++)RN(u,s.c.length),(r=(i=CY(s.c[u],10)).k)==(ni8(),n$m)&&c==n$m&&(h=function(n,t){var e,i,r,a,c,o,u,s,h,f;return(e=pT(PC(niK(n,(nlF(),nKZ)))),o=pT(PC(niK(t,nKZ))),i=CY(niK(n,nK1),12),u=CY(niK(t,nK1),12),r=CY(niK(n,nK0),12),s=CY(niK(t,nK0),12),h=!!i&&i==u,f=!!r&&r==s,e||o)?(a=(!pT(PC(niK(n,nKZ)))||pT(PC(niK(n,nKY))))&&(!pT(PC(niK(t,nKZ)))||pT(PC(niK(t,nKY)))),c=(!pT(PC(niK(n,nKZ)))||!pT(PC(niK(n,nKY))))&&(!pT(PC(niK(t,nKZ)))||!pT(PC(niK(t,nKY)))),new Cg(h&&a||f&&c,h,f)):new Cg(CY(RU(new fU(n.j)),12).p==CY(RU(new fU(t.j)),12).p,h,f)}(i,a)).a&&(!function(n,t,e,i){var r,a,c,o;for(r=CY(nrs(t,(nf5(),n1y)).Kc().Pb(),12),a=CY(nrs(t,n1n).Kc().Pb(),12),o=new fU(n.j);o.a<o.c.c.length;){for(c=CY(RU(o),12);0!=c.e.c.length;)Ru(CY(I0(c.e,0),18),r);for(;0!=c.g.c.length;)Ra(CY(I0(c.g,0),18),a)}e||VD(t,(nlF(),nK1),null),i||VD(t,(nlF(),nK0),null)}(i,a,h.b,h.c),RN(u,s.c.length),mY(s.c,u,1),--u,i=a,r=c),a=i,c=r;e.Vg()}(this,CY(n,36),t)},Nj(np2,"HyperedgeDummyMerger",1591),ncm(804,1,{},Cg),nPB.a=!1,nPB.b=!1,nPB.c=!1,Nj(np2,"HyperedgeDummyMerger/MergeState",804),ncm(1592,1,{},ed),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"HyperedgeDummyMerger/lambda$0$Type",1592),ncm(1593,1,{},eg),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,10).j,16))},Nj(np2,"HyperedgeDummyMerger/lambda$1$Type",1593),ncm(1594,1,nbE,ep),nPB.Cd=function(n){CY(n,12).p=-1},Nj(np2,"HyperedgeDummyMerger/lambda$2$Type",1594),ncm(1595,1,npR,em),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s;for(t.Ug("Hypernodes processing",1),i=new fU(n.b);i.a<i.c.c.length;)for(c=new fU(CY(RU(i),30).a);c.a<c.c.c.length;)if(pT(PC(niK(a=CY(RU(c),10),(nlL(),nHM))))&&a.j.c.length<=2){for(s=0,u=0,e=0,r=0,o=new fU(a.j);o.a<o.c.c.length;)switch(CY(RU(o),12).j.g){case 1:++s;break;case 2:++u;break;case 3:++e;break;case 4:++r}0==s&&0==e&&function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;if(i=new du,r=nl3,a=nl3,c=nl3,e)for(r=n.f.a,w=new fU(t.j);w.a<w.c.c.length;)for(u=new fU(CY(RU(w),12).g);u.a<u.c.c.length;)0!=(o=CY(RU(u),18)).a.b&&((h=CY(S9(o.a),8)).a<r&&(a=r-h.a,c=nl3,i.c.length=0,r=h.a),h.a<=r&&(dk(i.c,o),o.a.b>1&&(c=nP_.Math.min(c,nP_.Math.abs(CY(nnt(o.a,1),8).b-h.b)))));else for(w=new fU(t.j);w.a<w.c.c.length;)for(u=new fU(CY(RU(w),12).e);u.a<u.c.c.length;)0!=(o=CY(RU(u),18)).a.b&&((l=CY(S7(o.a),8)).a>r&&(a=l.a-r,c=nl3,i.c.length=0,r=l.a),l.a>=r&&(dk(i.c,o),o.a.b>1&&(c=nP_.Math.min(c,nP_.Math.abs(CY(nnt(o.a,o.a.b-2),8).b-l.b)))));if(0!=i.c.length&&a>t.o.a/2&&c>t.o.b/2){for(Ro(b=new nro,t),nau(b,(nf5(),n1t)),b.n.a=t.o.a/2,Ro(d=new nro,t),nau(d,n1m),d.n.a=t.o.a/2,d.n.b=t.o.b,u=new fU(i);u.a<u.c.c.length;)(o=CY(RU(u),18),e)?(s=CY(CV(o.a),8),(0==o.a.b?RO(o.d):CY(S9(o.a),8)).b>=s.b?Ra(o,d):Ra(o,b)):(s=CY((Px(0!=(g=o.a).b),Gy(g,g.c.b)),8),(0==o.a.b?RO(o.c):CY(S7(o.a),8)).b>=s.b?Ru(o,d):Ru(o,b)),(f=CY(niK(o,(nlL(),nHP)),75))&&Yd(f,s,!0);t.n.a=r-t.o.a/2}}(n,a,r<=u)}t.Vg()}(CY(n,36),t)},Nj(np2,"HypernodesProcessor",1595),ncm(1596,1,npR,ev),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h;for(t.Ug("Layer constraint edge reversal",1),c=new fU(n.b);c.a<c.c.c.length;){for(r=0,a=CY(RU(c),30),h=-1,e=new du,s=Kv(a.a);r<s.length;r++)i=CY(niK(s[r],(nlF(),nKz)),311),-1==h?i!=(UM(),nKy)&&(h=r):i==(UM(),nKy)&&(Rc(s[r],null),ntX(s[r],h++,a)),i==(UM(),nKm)&&dk(e.c,s[r]);for(u=new fU(e);u.a<u.c.c.length;)Rc(o=CY(RU(u),10),null),Rc(o,a)}t.Vg()}(CY(n,36),t)},Nj(np2,"InLayerConstraintProcessor",1596),ncm(1597,1,npR,ey),nPB.Kf=function(n,t){var e,i;e=CY(n,36),t.Ug(np3,1),Yc(((i=new ld((ye(),new x5(e,!1,!1,new tP)))).b=!1,i)),t.Vg()},Nj(np2,"InnermostNodeMarginCalculator",1597),ncm(1598,1,npR,ek),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o;if(CY(niK(t,(nlF(),nKU)),21).Hc((no7(),nKc))){for(o=new fU(t.a);o.a<o.c.c.length;)(a=CY(RU(o),10)).k==(ni8(),n$v)&&(r=CY(niK(a,(nlL(),nHR)),140),n.c=nP_.Math.min(n.c,a.n.a-r.b),n.a=nP_.Math.max(n.a,a.n.a+a.o.a+r.c),n.d=nP_.Math.min(n.d,a.n.b-r.d),n.b=nP_.Math.max(n.b,a.n.b+a.o.b+r.a));for(c=new fU(t.a);c.a<c.c.c.length;)if((a=CY(RU(c),10)).k!=(ni8(),n$v))switch(a.k.g){case 2:if((i=CY(niK(a,(nlL(),nHI)),171))==(Yb(),nFy)){a.n.a=n.c-10,ntz(a,new eM).Jb(new lz(a));break}if(i==nFM){a.n.a=n.a+10,ntz(a,new eE).Jb(new lV(a));break}if((e=CY(niK(a,nKz),311))==(UM(),nKy)){nfi(a).Jb(new lW(a)),a.n.b=n.d-10;break}e==nKm&&(nfi(a).Jb(new lQ(a)),a.n.b=n.b+10);break;default:throw new pN("The node type "+a.k+" is not supported by the "+nAs).e}}}(this,CY(n,36))},nPB.a=nw_,nPB.b=nw_,nPB.c=nwF,nPB.d=nwF;var nAs=Nj(np2,"InteractiveExternalPortPositioner",1598);ncm(1599,1,{},eM),nPB.Kb=function(n){return CY(n,18).d.i},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$0$Type",1599),ncm(1600,1,{},lz),nPB.Kb=function(n){var t,e;return t=this.a,e=PI(n),t.n.b=(xf(e),e)},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$1$Type",1600),ncm(1601,1,{},eE),nPB.Kb=function(n){return CY(n,18).c.i},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$2$Type",1601),ncm(1602,1,{},lV),nPB.Kb=function(n){var t,e;return t=this.a,e=PI(n),t.n.b=(xf(e),e)},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$3$Type",1602),ncm(1603,1,{},lW),nPB.Kb=function(n){var t,e;return t=this.a,e=PI(n),t.n.a=(xf(e),e+10)},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$4$Type",1603),ncm(1604,1,{},lQ),nPB.Kb=function(n){var t,e;return t=this.a,e=PI(n),t.n.a=(xf(e),e+10)},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$5$Type",1604),ncm(81,22,{3:1,34:1,22:1,81:1,196:1},kc),nPB.dg=function(){switch(this.g){case 15:return new rj;case 22:return new rS;case 47:return new rC;case 28:case 35:return new ex;case 32:return new t_;case 42:return new tU;case 1:return new tG;case 41:return new tq;case 56:return new lX((X5(),n$A));case 0:return new lX((X5(),n$I));case 2:return new tX;case 54:return new tz;case 33:return new tJ;case 51:return new t8;case 55:return new ei;case 13:return new er;case 38:return new ec;case 44:return new eo;case 40:return new eh;case 9:return new s7;case 49:return new SF;case 37:return new ew;case 43:return new em;case 27:return new ev;case 30:return new ey;case 3:return new ek;case 18:return new ej;case 29:return new eS;case 5:return new hn;case 50:return new eT;case 34:return new ht;case 36:return new e$;case 52:return new s1;case 11:return new eD;case 7:return new he;case 39:return new eR;case 45:return new eK;case 16:return new eF;case 10:return new Mi;case 48:return new eU;case 21:return new eG;case 23:return new pv((qp(),nqh));case 8:return new eX;case 12:return new eV;case 4:return new eW;case 19:return new hu;case 17:return new e6;case 53:return new e5;case 6:return new ih;case 25:return new gc;case 46:return new ii;case 31:return new Om;case 14:return new iv;case 26:return new rD;case 20:return new iT;case 24:return new pv((qp(),nqf));default:throw new pN(np5+(null!=this.f?this.f:""+this.g)).e}};var nAh=qc(np2,np8,81,nPw,nok,function(n){return nlB(),qa((Te(),nDO),n)});ncm(1605,1,npR,ej),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(t.Ug("Inverted port preprocessing",1),o=new Kp(n.b,0),e=null,g=new du;o.b<o.d.gc();){for(d=e,Px(o.b<o.d.gc()),e=CY(o.d.Xb(o.c=o.b++),30),h=new fU(g);h.a<h.c.c.length;)Rc(u=CY(RU(h),10),d);for(g.c.length=0,f=new fU(e.a);f.a<f.c.c.length;)if((u=CY(RU(f),10)).k==(ni8(),n$v)&&Tx(CY(niK(u,(nlL(),nUt)),101))){for(w=nuT(u,(qy(),nG$),(nf5(),n1n)).Kc();w.Ob();)for(r=0,c=(l=CY(w.Pb(),12)).e,a=(i=CY(ZB(c,BJ(nAt,npH,18,c.c.length,0,1)),483)).length;r<a;++r)!function(n,t,e,i){var r,a,c,o,u,s;if(e.c.i!=t.i)for((r=new nn_(n)).k=(ni8(),n$m),VD(r,(nlF(),nK6),e),VD(r,(nlL(),nUt),(nie(),nZJ)),dk(i.c,r),Ro(c=new nro,r),nau(c,(nf5(),n1y)),Ro(o=new nro,r),nau(o,n1n),Ru(e,c),zU(a=new $1,e),VD(a,nHP,null),Ra(a,o),Ru(a,t),nck(r,c,o),s=new Kp(e.b,0);s.b<s.d.gc();)Px(s.b<s.d.gc()),u=CY(s.d.Xb(s.c=s.b++),72),CY(niK(u,nHc),278)==(GN(),nZi)&&(Pn(u,nKD)||VD(u,nKD,e),N6(s),jB(a.b,u))}(n,l,i[r],g);for(b=nuT(u,nGD,n1y).Kc();b.Ob();)for(r=0,c=(l=CY(b.Pb(),12)).g,a=(i=CY(ZB(c,BJ(nAt,npH,18,c.c.length,0,1)),483)).length;r<a;++r)!function(n,t,e,i){var r,a,c,o,u,s,h;if(e.d.i!=t.i){for((r=new nn_(n)).k=(ni8(),n$m),VD(r,(nlF(),nK6),e),VD(r,(nlL(),nUt),(nie(),nZJ)),dk(i.c,r),Ro(c=new nro,r),nau(c,(nf5(),n1y)),Ro(o=new nro,r),nau(o,n1n),h=e.d,Ru(e,c),zU(a=new $1,e),VD(a,nHP,null),Ra(a,o),Ru(a,h),s=new Kp(e.b,0);s.b<s.d.gc();)Px(s.b<s.d.gc()),ER(niK(u=CY(s.d.Xb(s.c=s.b++),72),nHc))===ER((GN(),nZi))&&(VD(u,nKD,e),N6(s),jB(a.b,u));nck(r,c,o)}}(n,l,i[r],g)}}for(s=new fU(g);s.a<s.c.c.length;)Rc(u=CY(RU(s),10),e);t.Vg()}(CY(n,36),t)},Nj(np2,"InvertedPortProcessor",1605),ncm(1606,1,npR,eS),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a;if(t.Ug("Node and Port Label Placement and Node Sizing",1),T0((ye(),new x5(n,!0,!0,new eP))),CY(niK(n,(nlF(),nKU)),21).Hc((no7(),nKc)))for(i=(r=CY(niK(n,(nlL(),nUr)),21)).Hc((nap(),nZ5)),a=pT(PC(niK(n,nUa))),e=new fU(n.b);e.a<e.c.c.length;)vZ(xX(new Aa(null,new R$(CY(RU(e),30).a,16)),new eO),new Cm(r,i,a));t.Vg()}(CY(n,36),t)},Nj(np2,"LabelAndNodeSizeProcessor",1606),ncm(1607,1,nbV,eP),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$v)},Nj(np2,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),ncm(1608,1,nbV,eO),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$g)},Nj(np2,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),ncm(1609,1,nbE,Cm),nPB.Cd=function(n){var t,e,i;t=this.b,e=this.a,i=this.c,function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d;if(l=pj(PI(niK(n,(nlL(),nUP)))),b=pj(PI(niK(n,nUO))),f=pj(PI(niK(n,nUj))),o=n.o,c=(a=CY(I0(n.j,0),12)).n,d=function(n,t){var e,i,r;if(0==n.f.c.length)return null;for(r=new TI,e=new fU(n.f);e.a<e.c.c.length;)i=CY(RU(e),72).o,r.b=nP_.Math.max(r.b,i.a),r.a+=i.b;return r.a+=(n.f.c.length-1)*t,r}(a,f)){if(t.Hc((nap(),nZ6)))switch(CY(niK(n,(nlF(),nK_)),64).g){case 1:d.c=(o.a-d.b)/2-c.a,d.d=b;break;case 3:d.c=(o.a-d.b)/2-c.a,d.d=-b-d.a;break;case 2:e&&0==a.e.c.length&&0==a.g.c.length?(h=i?d.a:CY(I0(a.f,0),72).o.b,d.d=(o.b-h)/2-c.b):d.d=o.b+b-c.b,d.c=-l-d.b;break;case 4:e&&0==a.e.c.length&&0==a.g.c.length?(h=i?d.a:CY(I0(a.f,0),72).o.b,d.d=(o.b-h)/2-c.b):d.d=o.b+b-c.b,d.c=l}else if(t.Hc(nZ8))switch(CY(niK(n,(nlF(),nK_)),64).g){case 1:case 3:d.c=c.a+l;break;case 2:case 4:e&&!a.c?(h=i?d.a:CY(I0(a.f,0),72).o.b,d.d=(o.b-h)/2-c.b):d.d=c.b+b}for(r=d.d,s=new fU(a.f);s.a<s.c.c.length;)(w=(u=CY(RU(s),72)).n).a=d.c,w.b=r,r+=u.o.b+f}}(CY(n,10),t,e,i)},nPB.a=!1,nPB.c=!1,Nj(np2,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),ncm(1610,1,npR,hn),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d;for(t.Ug("Label dummy insertions",1),l=new du,c=pj(PI(niK(n,(nlL(),nUk)))),h=pj(PI(niK(n,nUj))),f=CY(niK(n,nHt),88),b=new fU(n.a);b.a<b.c.c.length;)for(a=new Le(Sb(JV(CY(RU(b),10)).a.Kc(),new s));ncv(a);)if((r=CY(_I(a),18)).c.i!=r.d.i&&jE(r.b,nDC)){for(d=function(n){var t;return(t=pj(PI(niK(n,(nlL(),nHd)))))<0&&VD(n,nHd,t=0),t}(r),w=SY(r.b.c.length),e=function(n,t,e,i){var r,a,c;for((r=new nn_(n)).k=(ni8(),n$p),VD(r,(nlF(),nK6),t),VD(r,nFo,i),VD(r,(nlL(),nUt),(nie(),nZJ)),VD(r,nK1,t.c),VD(r,nK0,t.d),noZ(t,r),c=nP_.Math.floor(e/2),a=new fU(r.j);a.a<a.c.c.length;)CY(RU(a),12).n.b=c;return r}(n,r,d,w),dk(l.c,e),i=e.o,o=new Kp(r.b,0);o.b<o.d.gc();)Px(o.b<o.d.gc()),ER(niK(u=CY(o.d.Xb(o.c=o.b++),72),nHc))===ER((GN(),nZe))&&(f==(Ju(),nZn)||f==nY5?(i.a+=u.o.a+h,i.b=nP_.Math.max(i.b,u.o.b)):(i.a=nP_.Math.max(i.a,u.o.a),i.b+=u.o.b+h),dk(w.c,u),N6(o));f==(Ju(),nZn)||f==nY5?(i.a-=h,i.b+=c+d):i.b+=c-h+d}Vc(n.a,l),t.Vg()}(CY(n,36),t)},Nj(np2,"LabelDummyInserter",1610),ncm(1611,1,ndK,eC),nPB.Lb=function(n){return ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZe))},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZe))},Nj(np2,"LabelDummyInserter/1",1611),ncm(1612,1,npR,eT),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;for(t.Ug("Label dummy removal",1),i=pj(PI(niK(n,(nlL(),nUk)))),r=pj(PI(niK(n,nUj))),u=CY(niK(n,nHt),88),o=new fU(n.b);o.a<o.c.c.length;)for(h=new Kp(CY(RU(o),30).a,0);h.b<h.d.gc();)Px(h.b<h.d.gc()),(s=CY(h.d.Xb(h.c=h.b++),10)).k==(ni8(),n$p)&&(f=CY(niK(s,(nlF(),nK6)),18),b=pj(PI(niK(f,nHd))),c=ER(niK(s,nKJ))===ER((ntG(),nZI)),e=new TP(s.n),c&&(e.b+=b+i),a=new MH(s.o.a,s.o.b+(s.k==n$p&&!mQ(xX(CY(niK(s,nFo),15).Oc(),new f4(new tO))).Bd((vY(),nCF))?0:-b-i)),l=CY(niK(s,nFo),15),u==(Ju(),nZn)||u==nY5?function(n,t,e,i,r,a){var c,o,u,s;for(o=!mQ(xX(n.Oc(),new f4(new eI))).Bd((vY(),nCF)),c=n,a==(Ju(),nZn)&&(c=Yi(c)),s=c.Kc();s.Ob();)(u=CY(s.Pb(),72)).n.a=t.a,o?u.n.b=t.b+(i.b-u.o.b)/2:r?u.n.b=t.b:u.n.b=t.b+i.b-u.o.b,t.a+=u.o.a+e}(l,e,r,a,c,u):function(n,t,e,i){var r,a;for(a=n.Kc();a.Ob();)(r=CY(a.Pb(),72)).n.a=t.a+(i.a-r.o.a)/2,r.n.b=t.b,t.b+=r.o.b+e}(l,e,r,a),Vc(f.b,l),nfw(s,ER(niK(n,nHu))===ER((JG(),nZo))),N6(h));t.Vg()}(CY(n,36),t)},Nj(np2,"LabelDummyRemover",1612),ncm(1613,1,nbV,eI),nPB.Mb=function(n){return pT(PC(niK(CY(n,72),(nlL(),nHa))))},Nj(np2,"LabelDummyRemover/lambda$0$Type",1613),ncm(1378,1,npR,ht),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(e.Ug("Label dummy switching",1),i=CY(niK(t,(nlL(),nHr)),232),g=0,d=new fU(t.b);d.a<d.c.c.length;)CY(RU(d),30).p=g,++g;for(r=function(n,t){var e,i,r,a;for(e=new J0(nAp),nr_(),i=Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl]),r=0,a=i.length;r<a;++r)Oa(e,i[r],new du);return vZ(xz(xX(UL(new Aa(null,new R$(n.b,16)),new eA),new eL),new lJ(t)),new lY(e)),e}(t,i),n.a=BJ(n4b,nwX,28,t.b.c.length,15,1),nr_(),o=Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl]),h=0,b=o.length;h<b;++h)if(((a=o[h])==nRp||a==nRl||a==nRd)&&!CY(SD(r.a,a)?r.b[a.g]:null,15).dc()){!function(n,t){var e,i;for(i=new fU(t.b);i.a<i.c.c.length;)e=CY(RU(i),30),n.a[e.p]=function(n){var t,e,i,r;if(TD(CY(niK(n.b,(nlL(),nHt)),88)))return 0;for(t=0,i=new fU(n.a);i.a<i.c.c.length;)(e=CY(RU(i),10)).k==(ni8(),n$v)&&(r=e.o.a,t=nP_.Math.max(t,r));return t}(e)}(n,t);break}for(u=Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl]),f=0,w=u.length;f<w;++f)(a=u[f])==nRp||a==nRl||a==nRd||nsb(n,CY(SD(r.a,a)?r.b[a.g]:null,15));for(c=Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl]),s=0,l=c.length;s<l;++s)((a=c[s])==nRp||a==nRl||a==nRd)&&nsb(n,CY(SD(r.a,a)?r.b[a.g]:null,15));n.a=null,e.Vg()}(this,CY(n,36),t)},nPB.a=null,Nj(np2,"LabelDummySwitcher",1378),ncm(293,1,{293:1},nu1),nPB.c=0,nPB.d=null,nPB.f=0,Nj(np2,"LabelDummySwitcher/LabelDummyInfo",293),ncm(1379,1,{},eA),nPB.Kb=function(n){return X2(),new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"LabelDummySwitcher/lambda$0$Type",1379),ncm(1380,1,nbV,eL),nPB.Mb=function(n){return X2(),CY(n,10).k==(ni8(),n$p)},Nj(np2,"LabelDummySwitcher/lambda$1$Type",1380),ncm(1381,1,{},lJ),nPB.Kb=function(n){var t,e;return t=this.a,e=CY(n,10),X2(),new nu1(e,t)},Nj(np2,"LabelDummySwitcher/lambda$2$Type",1381),ncm(1382,1,nbE,lY),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,293),X2(),CY(xN(t,e.d),15).Fc(e)},Nj(np2,"LabelDummySwitcher/lambda$3$Type",1382),ncm(1383,1,ndy,eN),nPB.Ne=function(n,t){var e,i;return e=CY(n,293),i=CY(t,293),X2(),Jj(i.a.o.a,e.a.o.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"LabelDummySwitcher/lambda$4$Type",1383),ncm(802,1,npR,ex),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("Label management",1),Ez(niK(e,(Bl(),nQ4))),t.Vg()},Nj(np2,"LabelManagementProcessor",802),ncm(1614,1,npR,e$),nPB.Kf=function(n,t){var e,i=CY(n,36);switch(e=CY(niK(i,(nlL(),nHo)),283),t.Ug("Label side selection ("+e+")",1),e.g){case 0:ncj(i,(ntG(),nZC));break;case 1:ncj(i,(ntG(),nZI));break;case 2:nhd(i,(ntG(),nZC));break;case 3:nhd(i,(ntG(),nZI));break;case 4:no5(i,(ntG(),nZC));break;case 5:no5(i,(ntG(),nZI))}t.Vg()},Nj(np2,"LabelSideSelector",1614),ncm(1622,1,npR,eD),nPB.Kf=function(n,t){var e,i,r,a,c,o,u,h;e=CY(n,36),t.Ug("Layer constraint postprocessing",1),0!=(h=e.b).c.length&&(RN(0,h.c.length),r=CY(h.c[0],30),o=CY(I0(h,h.c.length-1),30),i=new NU(e),c=new NU(e),function(n,t,e,i,r){var a,c,o,u,h,f;for(a=new fU(n.b);a.a<a.c.c.length;)for(f=Kv(CY(RU(a),30).a),u=0,h=f.length;u<h;++u)switch(CY(niK(o=f[u],(nlL(),nHI)),171).g){case 1:!function(n){var t;for(t=new Le(Sb(Jz(n).a.Kc(),new s));ncv(t);)if(CY(_I(t),18).c.i.k!=(ni8(),n$p))throw new pK(np9+ntO(n)+"' 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.").e}(o),Rc(o,t),nnE(o,!0,i);break;case 3:!function(n){var t;for(t=new Le(Sb(JV(n).a.Kc(),new s));ncv(t);)if(CY(_I(t),18).d.i.k!=(ni8(),n$p))throw new pK(np9+ntO(n)+"' has its layer constraint set to LAST, but has at least one outgoing edge that does not go to a LAST_SEPARATE node. That must not happen.").e}(o),Rc(o,e),nnE(o,!1,r)}for(c=new Kp(n.b,0);c.b<c.d.gc();)0==(Px(c.b<c.d.gc()),CY(c.d.Xb(c.c=c.b++),30)).a.c.length&&N6(c)}(e,r,o,i,c),0==i.a.c.length||(RL(0,h.c.length),kt(h.c,0,i)),0==c.a.c.length||dk(h.c,c)),Pn(e,(nlF(),nKG))&&(a=new NU(e),u=new NU(e),function(n,t,e){var i,r,a,c,o,u;for(c=CY(niK(n,(nlF(),nKG)),15).Kc();c.Ob();){switch(a=CY(c.Pb(),10),CY(niK(a,(nlL(),nHI)),171).g){case 2:Rc(a,t);break;case 4:Rc(a,e)}for(r=new Le(Sb(JX(a).a.Kc(),new s));ncv(r);)(i=CY(_I(r),18)).c&&i.d||(o=!i.d,u=CY(niK(i,nK7),12),o?Ru(i,u):Ra(i,u))}}(e,a,u),0==a.a.c.length||(RL(0,h.c.length),kt(h.c,0,a)),0==u.a.c.length||dk(h.c,u)),t.Vg()},Nj(np2,"LayerConstraintPostprocessor",1622),ncm(1623,1,npR,he),nPB.Kf=function(n,t){!function(n,t){var e,i,r;for(t.Ug("Layer constraint preprocessing",1),e=new du,r=new Kp(n.a,0);r.b<r.d.gc();)Px(r.b<r.d.gc()),function(n){switch(CY(niK(n,(nlL(),nHI)),171).g){case 2:case 4:return!0;default:return!1}}(i=CY(r.d.Xb(r.c=r.b++),10))&&(!function(n){var t,e,i,r;for(function(n){var t,e,i;if((e=CY(niK(n,(nlL(),nHI)),171))==(Yb(),nFy)){for(t=new Le(Sb(Jz(n).a.Kc(),new s));ncv(t);)if(!_D(CY(_I(t),18)))throw new pK(np9+ntO(n)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges.").e}else if(e==nFM){for(i=new Le(Sb(JV(n).a.Kc(),new s));ncv(i);)if(!_D(CY(_I(i),18)))throw new pK(np9+ntO(n)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges.").e}}(n),e=new Le(Sb(JX(n).a.Kc(),new s));ncv(e);)r=(i=(t=CY(_I(e),18)).c.i==n)?t.d:t.c,i?Ru(t,null):Ra(t,null),VD(t,(nlF(),nK7),r),function(n,t){var e;if(!Pn(t,(nlL(),nHI))&&(e=function(n,t){switch(n.g){case 0:return t==(Yb(),nFy)?nDN:nDx;case 1:return t==(Yb(),nFy)?nDN:nDL;case 2:return t==(Yb(),nFy)?nDL:nDx;default:return nDL}}(CY(niK(t,nDA),371),CY(niK(n,nHI),171)),VD(t,nDA,e),!ncv(new Le(Sb(JX(t).a.Kc(),new s)))))switch(e.g){case 1:VD(t,nHI,(Yb(),nFv));break;case 2:VD(t,nHI,(Yb(),nFk))}}(n,r.i)}(i),dk(e.c,i),N6(r));0==e.c.length||VD(n,(nlF(),nKG),e),t.Vg()}(CY(n,36),t)},Nj(np2,"LayerConstraintPreprocessor",1623),ncm(371,22,{3:1,34:1,22:1,371:1},ko);var nAf=qc(np2,"LayerConstraintPreprocessor/HiddenNodeConnections",371,nPw,function(){return Vd(),Vw(DY(nAf,1),nbG,371,0,[nD$,nDN,nDx,nDL])},function(n){return Vd(),qa((Hx(),nDD),n)});ncm(1624,1,npR,eR),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(t.Ug("Layer size calculation",1),h=nwF,s=nw_,r=!1,o=new fU(n.b);o.a<o.c.c.length;)if((u=(c=CY(RU(o),30)).c).a=0,u.b=0,0!=c.a.c.length){for(r=!0,l=new fU(c.a);l.a<l.c.c.length;)w=(f=CY(RU(l),10)).o,b=f.d,u.a=nP_.Math.max(u.a,w.a+b.b+b.c);d=(i=CY(I0(c.a,0),10)).n.b-i.d.d,i.k==(ni8(),n$g)&&(d-=CY(niK(n,(nlL(),nUL)),140).d),e=(a=CY(I0(c.a,c.a.c.length-1),10)).n.b+a.o.b+a.d.a,a.k==n$g&&(e+=CY(niK(n,(nlL(),nUL)),140).a),u.b=e-d,h=nP_.Math.min(h,d),s=nP_.Math.max(s,e)}r||(h=0,s=0),n.f.b=s-h,n.c.b-=h,t.Vg()}(CY(n,36),t)},Nj(np2,"LayerSizeAndGraphHeightCalculator",1624),ncm(1625,1,npR,eK),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a;for(t.Ug("Edge joining",1),e=pT(PC(niK(n,(nlL(),nU_)))),i=new fU(n.b);i.a<i.c.c.length;)for(a=new Kp(CY(RU(i),30).a,0);a.b<a.d.gc();)Px(a.b<a.d.gc()),(r=CY(a.d.Xb(a.c=a.b++),10)).k==(ni8(),n$m)&&(nfw(r,e),N6(a));t.Vg()}(CY(n,36),t)},Nj(np2,"LongEdgeJoiner",1625),ncm(1626,1,npR,eF),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h;if(t.Ug("Edge splitting",1),n.b.c.length<=2)return t.Vg();for(Px((a=new Kp(n.b,0)).b<a.d.gc()),c=CY(a.d.Xb(a.c=a.b++),30);a.b<a.d.gc();)for(r=c,Px(a.b<a.d.gc()),c=CY(a.d.Xb(a.c=a.b++),30),o=new fU(r.a);o.a<o.c.c.length;)for(u=new fU(CY(RU(o),10).j);u.a<u.c.c.length;)for(i=new fU(CY(RU(u),12).g);i.a<i.c.c.length;)(s=(e=CY(RU(i),18)).d.i.c)!=r&&s!=c&&noZ(e,((h=new nn_(n)).k=(ni8(),n$m),VD(h,(nlF(),nK6),e),VD(h,(nlL(),nUt),(nie(),nZJ)),Rc(h,c),h));t.Vg()}(CY(n,36),t)},Nj(np2,"LongEdgeSplitter",1626),ncm(1627,1,npR,Mi),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b;switch(e.Ug("Node promotion heuristic",1),n.i=t,n.r=CY(niK(t,(nlL(),nH$)),243),n.r!=(nu7(),nGp)&&n.r!=nGm?function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g;for(n.o=pj(PI(niK(n.i,(nlL(),nUC)))),n.f=pj(PI(niK(n.i,nUE))),n.j=n.i.b.c.length,o=n.j-1,b=0,n.k=0,n.n=0,n.b=_q(BJ(nPO,nby,17,n.j,0,1)),n.c=_q(BJ(nPS,nby,345,n.j,7,1)),c=new fU(n.i.b);c.a<c.c.c.length;){for((r=CY(RU(c),30)).p=o,l=new fU(r.a);l.a<l.c.c.length;)(f=CY(RU(l),10)).p=b,++b;--o}for(n.g=BJ(n4s,nwl,28,b,15,1),n.d=I3(n4s,[nby,nwl],[53,28],15,[b,3],2),n.p=new du,n.q=new du,t=0,n.e=0,a=new fU(n.i.b);a.a<a.c.c.length;){for(o=(r=CY(RU(a),30)).p,i=0,g=0,u=r.a.c.length,h=0,l=new fU(r.a);l.a<l.c.c.length;)b=(f=CY(RU(l),10)).p,n.g[b]=f.c.p,h+=f.o.b+n.o,e=Fv(new Le(Sb(Jz(f).a.Kc(),new s))),d=Fv(new Le(Sb(JV(f).a.Kc(),new s))),n.d[b][0]=d-e,n.d[b][1]=e,n.d[b][2]=d,i+=e,g+=d,e>0&&jB(n.q,f),jB(n.p,f);t-=i,w=u+t,h+=t*n.f,_o(n.b,o,Qx(w)),_o(n.c,o,h),n.k=nP_.Math.max(n.k,w),n.n=nP_.Math.max(n.n,h),n.e+=t,t+=g}}(n):function(n){var t,e,i,r,a,c,o;for(n.a=new Ow,o=0,r=0,i=new fU(n.i.b);i.a<i.c.c.length;){for((t=CY(RU(i),30)).p=r,c=new fU(t.a);c.a<c.c.c.length;)CY(RU(c),10).p=o,++o;++r}for(a=n.r==(nu7(),nGp)?nDK:nDR,e=new fU(n.i.b);e.a<e.c.c.length;)ji((t=CY(RU(e),30)).a,a),function(n,t,e){var i;for(i=new fU(e);i.a<i.c.c.length;)ne9(n,t,RU(i))}(n.a,Qx(t.p),t.a)}(n),f=CY(niK(n.i,nHx),17).a,a=new eH,n.r.g){case 2:case 1:default:nh2(n,a);break;case 3:for(n.r=nGj,nh2(n,a),u=0,o=new fU(n.b);o.a<o.c.c.length;)c=CY(RU(o),17),u=nP_.Math.max(u,c.a);u>n.k&&(n.r=nGv,nh2(n,a));break;case 4:for(n.r=nGj,nh2(n,a),h=0,r=new fU(n.c);r.a<r.c.c.length;)i=PI(RU(r)),h=nP_.Math.max(h,(xf(i),i));h>n.n&&(n.r=nGM,nh2(n,a));break;case 6:b=Dy(nP_.Math.ceil(n.g.length*f/100)),nh2(n,new l2(b));break;case 5:l=Dy(nP_.Math.ceil(n.e*f/100)),nh2(n,new l3(l));break;case 8:nlx(n,!0);break;case 9:nlx(n,!1)}n.r!=nGp&&n.r!=nGm?function(n,t){var e,i,r,a,c,o;for(e=0,r=new du;e<=n.j;e++)(i=new NU(t)).p=n.j-e,dk(r.c,i);for(o=new fU(n.p);o.a<o.c.c.length;)Rc(c=CY(RU(o),10),CY(I0(r,n.j-n.g[c.p]),30));for(a=new fU(r);a.a<a.c.c.length;)0==CY(RU(a),30).a.c.length&&L6(a);t.b.c.length=0,Vc(t.b,r)}(n,t):function(n,t){var e,i,r,a,c,o;for(r=new du,t.b.c.length=0,i=CY(FB(RD(new Aa(null,new R$(new fS(n.a.b),1))),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15).Kc();i.Ob();)if(e=CY(i.Pb(),17),0!=(a=K9(n.a,e)).b)for(c=new NU(t),dk(r.c,c),c.p=e.a,o=ZQ(a,0);o.b!=o.d.c;)Rc(CY(K0(o),10),c);Vc(t.b,r)}(n,t),e.Vg()}(this,CY(n,36),t)},nPB.e=0,nPB.f=0,nPB.j=0,nPB.k=0,nPB.n=0,nPB.o=0,Nj(np2,"NodePromotion",1627),ncm(1628,1,ndy,e_),nPB.Ne=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),Pn(e,(nlF(),nK4))&&Pn(i,nK4)?CY(niK(i,nK4),17).a-CY(niK(e,nK4),17).a:0},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"NodePromotion/1",1628),ncm(1629,1,ndy,eB),nPB.Ne=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),Pn(e,(nlF(),nK4))&&Pn(i,nK4)?CY(niK(e,nK4),17).a-CY(niK(i,nK4),17).a:0},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"NodePromotion/2",1629),ncm(1630,1,{},eH),nPB.Kb=function(n){return CY(n,42),CM(),SB(),!0},nPB.Fb=function(n){return this===n},Nj(np2,"NodePromotion/lambda$0$Type",1630),ncm(1631,1,{},l2),nPB.Kb=function(n){var t,e;return t=this.a,e=CY(n,42),CM(),SB(),CY(e.b,17).a<t},nPB.Fb=function(n){return this===n},nPB.a=0,Nj(np2,"NodePromotion/lambda$1$Type",1631),ncm(1632,1,{},l3),nPB.Kb=function(n){var t,e;return t=this.a,e=CY(n,42),CM(),SB(),CY(e.a,17).a<t},nPB.Fb=function(n){return this===n},nPB.a=0,Nj(np2,"NodePromotion/lambda$2$Type",1632),ncm(1633,1,npR,eU),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(t.Ug(nmt,1),l=CY(niK(n,(nlL(),nHu)),223),i=new fU(n.b);i.a<i.c.c.length;)for(o=Kv(CY(RU(i),30).a),a=0,c=o.length;a<c;++a)if((r=o[a]).k==(ni8(),n$y)){if(l==(JG(),nZu))for(s=new fU(r.j);s.a<s.c.c.length;)0==(u=CY(RU(s),12)).e.c.length||function(n){var t,e,i,r;for(VD(r=CY(niK(n,(nlF(),nK6)),12),nFb,n.i.n.b),t=Ky(n.e),e=0,i=t.length;e<i;++e)Ru(t[e],r)}(u),0==u.g.c.length||function(n){var t,e,i,r;for(VD(e=CY(niK(n,(nlF(),nK6)),12),nFb,n.i.n.b),t=Ky(n.g),i=0,r=t.length;i<r;++i)Ra(t[i],e)}(u);else if(jM(niK(r,(nlF(),nK6)),18))w=CY(niK(r,nK6),18),d=CY(nrs(r,(nf5(),n1y)).Kc().Pb(),12),g=CY(nrs(r,n1n).Kc().Pb(),12),p=CY(niK(d,nK6),12),Ra(w,m=CY(niK(g,nK6),12)),Ru(w,p),(v=new TP(g.i.n)).a=V4(Vw(DY(nLA,1),nby,8,0,[m.i.n,m.n,m.a])).a,IA(w.a,v),(v=new TP(d.i.n)).a=V4(Vw(DY(nLA,1),nby,8,0,[p.i.n,p.n,p.a])).a,IA(w.a,v);else{if(r.j.c.length>=2){for(b=!0,e=CY(RU(h=new fU(r.j)),12),f=null;h.a<h.c.c.length;)if(f=e,e=CY(RU(h),12),!QY(niK(f,nK6),niK(e,nK6))){b=!1;break}}else b=!1;for(s=new fU(r.j);s.a<s.c.c.length;)0==(u=CY(RU(s),12)).e.c.length||function(n,t){var e,i,r,a,c,o,u,s;for(o=CY(niK(n,(nlF(),nK6)),12),u=V4(Vw(DY(nLA,1),nby,8,0,[o.i.n,o.n,o.a])).a,s=n.i.n.b,e=Ky(n.e),r=0,a=e.length;r<a;++r)Ru(i=e[r],o),E6(i.a,new MH(u,s)),t&&((c=CY(niK(i,(nlL(),nHP)),75))||(c=new gj,VD(i,nHP,c)),IA(c,new MH(u,s)))}(u,b),0==u.g.c.length||function(n,t){var e,i,r,a,c,o,u,s;for(r=CY(niK(n,(nlF(),nK6)),12),u=V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])).a,s=n.i.n.b,e=Ky(n.g),c=0,o=e.length;c<o;++c)Ra(a=e[c],r),E5(a.a,new MH(u,s)),t&&((i=CY(niK(a,(nlL(),nHP)),75))||(i=new gj,VD(a,nHP,i)),IA(i,new MH(u,s)))}(u,b)}Rc(r,null)}t.Vg()}(CY(n,36),t)},Nj(np2,"NorthSouthPortPostprocessor",1633),ncm(1634,1,npR,eG),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(t.Ug(nmt,1),w=new du,v=new du,s=new fU(n.b);s.a<s.c.c.length;)for(u=CY(RU(s),30),g=-1,b=Kv(u.a),f=0,l=b.length;f<l;++f)if(h=b[f],++g,h.k==(ni8(),n$v)&&Tx(CY(niK(h,(nlL(),nUt)),101))){for(Oq(CY(niK(h,(nlL(),nUt)),101))||function(n){var t,e,i,r,a,c,o,u;for(u=n.j.c.length,e=0,t=u,r=2*u,o=new fU(n.j);o.a<o.c.c.length;)switch((c=CY(RU(o),12)).j.g){case 2:case 4:c.p=-1;break;case 1:case 3:i=c.e.c.length,a=c.g.c.length,i>0&&a>0?c.p=t++:i>0?c.p=e++:a>0?c.p=r++:c.p=e++}$O(),ji(n.j,new eq)}(h),VD(h,(nlF(),nKV),h),w.c.length=0,v.c.length=0,e=new du,Xj(m=new vq,nrs(h,(nf5(),n1t))),nld(n,m,w,v,e),o=g,a=new fU(w);a.a<a.c.c.length;)ntX(i=CY(RU(a),10),o,u),++g,VD(i,nKV,h),c=CY(I0(i.j,0),12),d=CY(niK(c,nK6),12),pT(PC(niK(d,nBK)))||CY(niK(i,nKW),15).Fc(h);for($p(m),p=nrs(h,n1m).Kc();p.Ob();)F_(m,CY(p.Pb(),12),m.a,m.a.a);for(nld(n,m,v,null,e),r=new fU(v);r.a<r.c.c.length;)ntX(i=CY(RU(r),10),++g,u),VD(i,nKV,h),c=CY(I0(i.j,0),12),d=CY(niK(c,nK6),12),pT(PC(niK(d,nBK)))||CY(niK(h,nKW),15).Fc(i);0==e.c.length||VD(h,nKj,e)}t.Vg()}(CY(n,36),t)},Nj(np2,"NorthSouthPortPreprocessor",1634),ncm(1635,1,ndy,eq),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,12),i=CY(t,12),(r=e.j)!=(a=i.j)?r.g-a.g:e.p==i.p?0:r==(nf5(),n1t)?e.p-i.p:i.p-e.p},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"NorthSouthPortPreprocessor/lambda$0$Type",1635),ncm(1636,1,npR,eX),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c;if(t.Ug("Partition midprocessing",1),r=new Ds,vZ(xX(new Aa(null,new R$(n.a,16)),new ez),new l4(r)),0!=r.d){for(i=CY(FB(RD(new Aa(null,(!(a=r.i)?r.i=new j4(r,r.c):a).Nc())),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15).Kc(),e=CY(i.Pb(),17);i.Ob();)c=CY(i.Pb(),17),function(n,t){var e,i,r,a,c,o,u;for(r=n.Kc();r.Ob();)for(i=CY(r.Pb(),10),Ro(o=new nro,i),nau(o,(nf5(),n1n)),VD(o,(nlF(),nFe),(SB(),!0)),c=t.Kc();c.Ob();)a=CY(c.Pb(),10),Ro(u=new nro,a),nau(u,n1y),VD(u,nFe,!0),VD(e=new $1,nFe,!0),Ra(e,o),Ru(e,u)}(CY(_G(r,e),21),CY(_G(r,c),21)),e=c;t.Vg()}}(CY(n,36),t)},Nj(np2,"PartitionMidprocessor",1636),ncm(1637,1,nbV,ez),nPB.Mb=function(n){return Pn(CY(n,10),(nlL(),nH3))},Nj(np2,"PartitionMidprocessor/lambda$0$Type",1637),ncm(1638,1,nbE,l4),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,10),naR(t,CY(niK(e,(nlL(),nH3)),17),e)},Nj(np2,"PartitionMidprocessor/lambda$1$Type",1638),ncm(1639,1,npR,eV),nPB.Kf=function(n,t){!function(n,t){var e,i,r;for(t.Ug("Partition postprocessing",1),e=new fU(n.b);e.a<e.c.c.length;)for(i=new fU(CY(RU(e),30).a);i.a<i.c.c.length;)for(r=new fU(CY(RU(i),10).j);r.a<r.c.c.length;)pT(PC(niK(CY(RU(r),12),(nlF(),nFe))))&&L6(r);t.Vg()}(CY(n,36),t)},Nj(np2,"PartitionPostprocessor",1639),ncm(1640,1,npR,eW),nPB.Kf=function(n,t){var e=CY(n,36);t.Ug("Partition preprocessing",1),vZ(CY(FB(xX(UL(xX(new Aa(null,new R$(e.a,16)),new eQ),new eJ),new eY),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15).Oc(),new eZ),t.Vg()},Nj(np2,"PartitionPreprocessor",1640),ncm(1641,1,nbV,eQ),nPB.Mb=function(n){return Pn(CY(n,10),(nlL(),nH3))},Nj(np2,"PartitionPreprocessor/lambda$0$Type",1641),ncm(1642,1,{},eJ),nPB.Kb=function(n){return new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(np2,"PartitionPreprocessor/lambda$1$Type",1642),ncm(1643,1,nbV,eY),nPB.Mb=function(n){var t,e,i;return!!Pn((t=CY(n,18)).d.i,(nlL(),nH3))&&(e=CY(niK(t.c.i,nH3),17),i=CY(niK(t.d.i,nH3),17),jo(e.a,i.a)>0)},Nj(np2,"PartitionPreprocessor/lambda$2$Type",1643),ncm(1644,1,nbE,eZ),nPB.Cd=function(n){var t,e;nhf(t=CY(n,18),!0),e=nb8,Pn(t,(nlL(),nUh))&&(e+=CY(niK(t,nUh),17).a),VD(t,nUh,Qx(e))},Nj(np2,"PartitionPreprocessor/lambda$3$Type",1644),ncm(1645,1,npR,hu),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o;for(t.Ug("Port order processing",1),o=CY(niK(n,(nlL(),nUo)),430),e=new fU(n.b);e.a<e.c.c.length;)for(r=new fU(CY(RU(e),30).a);r.a<r.c.c.length;)i=CY(RU(r),10),a=CY(niK(i,nUt),101),c=i.j,a==(nie(),nZQ)||a==nZY||a==nZJ?($O(),ji(c,nDF)):a!=nZ1&&a!=nZ0&&($O(),ji(c,nDB),function(n){var t,e;n.c.length<=1||(t=nur(n,(nf5(),n1m)),nrO(n,CY(t.a,17).a,CY(t.b,17).a),e=nur(n,n1y),nrO(n,CY(e.a,17).a,CY(e.b,17).a))}(c),o==(UE(),nGN)&&ji(c,nD_)),i.i=!0,nal(i);t.Vg()}(CY(n,36),t)},Nj(np2,"PortListSorter",1645),ncm(1648,1,ndy,e1),nPB.Ne=function(n,t){return FC(CY(n,12),CY(t,12))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"PortListSorter/lambda$0$Type",1648),ncm(1650,1,ndy,e0),nPB.Ne=function(n,t){return nsB(CY(n,12),CY(t,12))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"PortListSorter/lambda$1$Type",1650),ncm(1646,1,{},e2),nPB.Kb=function(n){return Wy(),CY(n,12).e},Nj(np2,"PortListSorter/lambda$2$Type",1646),ncm(1647,1,{},e3),nPB.Kb=function(n){return Wy(),CY(n,12).g},Nj(np2,"PortListSorter/lambda$3$Type",1647),ncm(1649,1,ndy,e4),nPB.Ne=function(n,t){var e=CY(n,12),i=CY(t,12);if(Wy(),0!=e.j.g-i.j.g)return 0;switch(e.j.g){case 2:return JW(i,nDU)-JW(e,nDU);case 4:return JW(e,nDH)-JW(i,nDH)}return 0},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"PortListSorter/lambda$4$Type",1649),ncm(1651,1,npR,e6),nPB.Kf=function(n,t){!function(n,t){var e,i,r;for(t.Ug("Port side processing",1),r=new fU(n.a);r.a<r.c.c.length;)nhb(CY(RU(r),10));for(e=new fU(n.b);e.a<e.c.c.length;)for(i=new fU(CY(RU(e),30).a);i.a<i.c.c.length;)nhb(CY(RU(i),10));t.Vg()}(CY(n,36),t)},Nj(np2,"PortSideProcessor",1651),ncm(1652,1,npR,e5),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;for(t.Ug("Restoring reversed edges",1),c=new fU(n.b);c.a<c.c.c.length;)for(o=new fU(CY(RU(c),30).a);o.a<o.c.c.length;)for(u=new fU(CY(RU(o),10).j);u.a<u.c.c.length;)for(a=Ky(CY(RU(u),12).g),i=0,r=a.length;i<r;++i)pT(PC(niK(e=a[i],(nlF(),nFu))))&&nhf(e,!1);t.Vg()}(CY(n,36),t)},Nj(np2,"ReversedEdgeRestorer",1652),ncm(1657,1,npR,gc),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("Self-Loop ordering",1),vZ(xz(xX(xX(UL(new Aa(null,new R$(e.b,16)),new e8),new e9),new e7),new it),new l1(this)),t.Vg()},Nj(np2,"SelfLoopPortRestorer",1657),ncm(1658,1,{},e8),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"SelfLoopPortRestorer/lambda$0$Type",1658),ncm(1659,1,nbV,e9),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$v)},Nj(np2,"SelfLoopPortRestorer/lambda$1$Type",1659),ncm(1660,1,nbV,e7),nPB.Mb=function(n){return Pn(CY(n,10),(nlF(),nFh))},Nj(np2,"SelfLoopPortRestorer/lambda$2$Type",1660),ncm(1661,1,{},it),nPB.Kb=function(n){return CY(niK(CY(n,10),(nlF(),nFh)),337)},Nj(np2,"SelfLoopPortRestorer/lambda$3$Type",1661),ncm(1662,1,nbE,l1),nPB.Cd=function(n){var t=this.a,e=CY(n,337);if(e.a)switch(CY(niK(e.b,(nlF(),nFn)),101).g){case 0:case 1:switch(CY(niK(e.b,(nlL(),nHf)),387).g){case 1:vZ(xz(UL(new Aa(null,new R$(e.d,16)),new ru),new rs),new rh);break;case 2:!function(n){var t,e,i,r,a,c,o;for(i=0,o=0,c=new fU(n.d);c.a<c.c.c.length;)a=CY(RU(c),105),r=CY(FB(xX(new Aa(null,new R$(a.j,16)),new rb),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),e=null,i<=o?(nf5(),e=n1t,i+=r.gc()):o<i&&(nf5(),e=n1m,o+=r.gc()),t=e,vZ(xz(r.Oc(),new rf),new bh(t))}(e);break;case 0:!function(n){var t,e,i,r;for(ji(r=new O8(n.d),new ro),nut(),t=Vw(DY(nAg,1),nbG,276,0,[nRi,nRc,nRe,nRs,nRa,nRr,nRu,nRo]),e=0,i=new fU(r);i.a<i.c.c.length;)(function(n,t){var e,i,r,a,c;for(c=n.j,t.a!=t.b&&ji(c,new rl),r=c.c.length/2|0,i=0;i<r;i++)RN(i,c.c.length),(a=CY(c.c[i],113)).c&&nau(a.d,t.a);for(e=r;e<c.c.length;e++)RN(e,c.c.length),(a=CY(c.c[e],113)).c&&nau(a.d,t.b)})(CY(RU(i),105),t[e%t.length]),++e}(e)}case 2:vZ(new Aa(null,new R$(e.d,16)),new ie),function(n,t){for(function(n){var t,e,i,r,a,c,o,u;for(n.b=new naW(new pU((nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]))),new pU((Xa(),Vw(DY(nAd,1),nbG,372,0,[nRn,nD7,nD9])))),c=Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]),o=0,u=c.length;o<u;++o)for(a=c[o],e=Vw(DY(nAd,1),nbG,372,0,[nRn,nD7,nD9]),i=0,r=e.length;i<r;++i)t=e[i],function(n,t,e,i){var r,a;NP(t),NP(e),Us(!!(a=CY(O3(n.d,t),17)),"Row %s not in %s",t,n.e),Us(!!(r=CY(O3(n.b,e),17)),"Column %s not in %s",e,n.c),Vb(n,a.a,r.a,i)}(n.b,a,t,new du)}(n),e=new mt,vZ(new Aa(null,new R$(t.d,16)),new bs(e)),n.a=e,function(n,t){var e,i,r,a,c;for(t==(Wm(),nGU)&&nrY(CY(_G(n.a,(ne2(),nDZ)),15)),r=CY(_G(n.a,(ne2(),nDZ)),15).Kc();r.Ob();)switch(i=CY(r.Pb(),105),e=CY(I0(i.j,0),113).d.j,ji(a=new O8(i.j),new i7),t.g){case 2:nim(n,a,e,(Xa(),nD7),1);break;case 1:case 0:c=function(n){var t,e;for(e=0;e<n.c.length&&!(IN((RN(e,n.c.length),CY(n.c[e],113)))>0);e++);if(e>0&&e<n.c.length-1)return e;for(t=0;t<n.c.length&&!(IN((RN(t,n.c.length),CY(n.c[t],113)))>0);t++);return t>0&&e<n.c.length-1?t:n.c.length/2|0}(a),nim(n,new Rk(a,0,c),e,(Xa(),nD7),0),nim(n,new Rk(a,c,a.c.length),e,nD7,1)}}(n,CY(niK(t.b,(nlL(),nHl)),349)),a=CY(_G(n.a,(ne2(),nD0)),15).Kc();a.Ob();)i=nt_(r=CY(a.Pb(),105)),Na(n,r,i[0],(Xa(),nD9),0),Na(n,r,i[1],nRn,1);var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M=n;for(g=CY(_G(M.a,(ne2(),nD1)),15).Kc();g.Ob();)w=(b=AY((d=CY(g.Pb(),105)).k)).Hc((nf5(),n1t))?b.Hc(n1n)?b.Hc(n1m)?b.Hc(n1y)?null:nD6:nD8:nD5:nD4,Na(M,d,w[0],(Xa(),nD9),0),Na(M,d,w[1],nD7,1),Na(M,d,w[2],nRn,1);for(u=CY(_G(n.a,(ne2(),nDY)),15).Kc();u.Ob();)for(c=AY((o=CY(u.Pb(),105)).k).Kc();c.Ob();)Na(n,o,CY(c.Pb(),64),(Xa(),nD7),1);for(f=CY(_G(n.a,(ne2(),nD2)),15).Kc();f.Ob();)s=nt_(h=CY(f.Pb(),105)),Na(n,h,s[0],(Xa(),nD9),0),Na(n,h,s[1],nRn,1);p=n,k=new O8((m=t.b).j),y=0,(v=m.j).c.length=0,Nc(CY(zm(p.b,(nf5(),n1t),(Xa(),nRn)),15),m),y=nnI(k,y,new rt,v),Nc(CY(zm(p.b,n1t,nD7),15),m),y=nnI(k,y,new i4,v),Nc(CY(zm(p.b,n1t,nD9),15),m),Nc(CY(zm(p.b,n1n,nRn),15),m),Nc(CY(zm(p.b,n1n,nD7),15),m),y=nnI(k,y,new re,v),Nc(CY(zm(p.b,n1n,nD9),15),m),Nc(CY(zm(p.b,n1m,nRn),15),m),y=nnI(k,y,new ri,v),Nc(CY(zm(p.b,n1m,nD7),15),m),y=nnI(k,y,new rr,v),Nc(CY(zm(p.b,n1m,nD9),15),m),Nc(CY(zm(p.b,n1y,nRn),15),m),y=nnI(k,y,new i8,v),Nc(CY(zm(p.b,n1y,nD7),15),m),Nc(CY(zm(p.b,n1y,nD9),15),m),vZ(UL(new Aa(null,Ku(((l=n.b).i||(l.i=new h4(l))).a)),new i6),new i5),t.a=!1,n.a=null}(t.a,e)}else vZ(new Aa(null,new R$(e.d,16)),new ie)},Nj(np2,"SelfLoopPortRestorer/lambda$4$Type",1662),ncm(805,1,nbE,ie),nPB.Cd=function(n){!function(n){var t,e,i;for(n.k=new Rj((nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])).length,n.j.c.length),i=new fU(n.j);i.a<i.c.c.length;)t=(e=CY(RU(i),113)).d.j,naR(n.k,t,e);n.e=function(n){var t,e;if(ne2(),n.Hc((nf5(),n1v)))throw new pN("Port sides must not contain UNDEFINED").e;switch(n.gc()){case 1:return nDZ;case 2:return t=n.Hc(n1n)&&n.Hc(n1y),e=n.Hc(n1t)&&n.Hc(n1m),t||e?nD2:nD0;case 3:return nD1;case 4:return nDY;default:return null}}(AY(n.k))}(CY(n,105))},Nj(np2,"SelfLoopPortRestorer/lambda$5$Type",805),ncm(1663,1,npR,ii),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("Self-Loop post-processing",1),vZ(xX(xX(UL(new Aa(null,new R$(e.b,16)),new ir),new ia),new ic),new io),t.Vg()},Nj(np2,"SelfLoopPostProcessor",1663),ncm(1664,1,{},ir),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"SelfLoopPostProcessor/lambda$0$Type",1664),ncm(1665,1,nbV,ia),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$v)},Nj(np2,"SelfLoopPostProcessor/lambda$1$Type",1665),ncm(1666,1,nbV,ic),nPB.Mb=function(n){return Pn(CY(n,10),(nlF(),nFh))},Nj(np2,"SelfLoopPostProcessor/lambda$2$Type",1666),ncm(1667,1,nbE,io),nPB.Cd=function(n){var t,e;t=CY(n,10),vZ(UL(new Aa(null,new R$((e=CY(niK(t,(nlF(),nFh)),337)).d,16)),new iu),new lZ(t)),vZ(xX(new Aa(null,new R$(e.d,16)),new is),new l0(t))},Nj(np2,"SelfLoopPostProcessor/lambda$3$Type",1667),ncm(1668,1,{},iu),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,105).f,1))},Nj(np2,"SelfLoopPostProcessor/lambda$4$Type",1668),ncm(1669,1,nbE,lZ),nPB.Cd=function(n){var t,e,i;t=this.a,Ra(i=(e=CY(n,340)).a,e.c.d),Ru(i,e.d.d),zc(i.a,t.n)},Nj(np2,"SelfLoopPostProcessor/lambda$5$Type",1669),ncm(1670,1,nbV,is),nPB.Mb=function(n){return!!CY(n,105).i},Nj(np2,"SelfLoopPostProcessor/lambda$6$Type",1670),ncm(1671,1,nbE,l0),nPB.Cd=function(n){var t,e,i;t=this.a,e=CY(n,105).i,i=t.n,T$(e.f)?function(n,t){var e,i,r,a,c;for(a=n.g.a,c=n.g.b,i=new fU(n.d);i.a<i.c.c.length;)r=(e=CY(RU(i),72)).n,n.a==(Vg(),nDV)||n.i==(nf5(),n1n)?r.a=a:n.a==nDW||n.i==(nf5(),n1y)?r.a=a+n.j.a-e.o.a:r.a=a+(n.j.a-e.o.a)/2,r.b=c,OT(r,t),c+=e.o.b+n.e}(e,i):function(n,t){var e,i,r,a,c;for(a=n.g.a,c=n.g.b,i=new fU(n.d);i.a<i.c.c.length;)(r=(e=CY(RU(i),72)).n).a=a,n.i==(nf5(),n1t)?r.b=c+n.j.b-e.o.b:r.b=c,OT(r,t),a+=e.o.a+n.e}(e,i)},Nj(np2,"SelfLoopPostProcessor/lambda$7$Type",1671),ncm(1653,1,npR,ih),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a;for(t.Ug("Self-Loop pre-processing",1),i=new fU(n.a);i.a<i.c.c.length;)(a=e=CY(RU(i),10)).k==(ni8(),n$v)&&_g(new Aa(null,new Nf(new Le(Sb(JV(a).a.Kc(),new s)))),new ra)&&(r=new ZD(e),VD(e,(nlF(),nFh),r),function(n){var t,e,i,r,a,c,o;for(r=new du,i=new Le(Sb(JV(n.b).a.Kc(),new s));ncv(i);)_p(e=CY(_I(i),18))&&jB(r,new _9(e,Ho(n,e.c),Ho(n,e.d)));for(o=new fx(new fN(n.e).a.vc().Kc());o.a.Ob();)t=CY(o.a.Pb(),44),(a=CY(t.md(),113)).d.p=0;for(c=new fx(new fN(n.e).a.vc().Kc());c.a.Ob();)t=CY(c.a.Pb(),44),0==(a=CY(t.md(),113)).d.p&&jB(n.d,function(n,t){var e,i,r,a,c,o,u,s;for(o=new nrC(n),F_(e=new vq,t,e.c.b,e.c);0!=e.b;){for((i=CY(0==e.b?null:(Px(0!=e.b),Gy(e,e.a.a)),113)).d.p=1,c=new fU(i.e);c.a<c.c.c.length;)nif(o,r=CY(RU(c),340)),0==(s=r.d).d.p&&F_(e,s,e.c.b,e.c);for(a=new fU(i.b);a.a<a.c.c.length;)nif(o,r=CY(RU(a),340)),0==(u=r.c).d.p&&F_(e,u,e.c.b,e.c)}return o}(n,a))}(r),vZ(xz(UL(new Aa(null,new R$(r.d,16)),new il),new ib),new iw),function(n){var t,e,i,r,a,c,o;if(r=(i=n.b).e,a=Oq(CY(niK(i,(nlL(),nUt)),101)),e=!!r&&CY(niK(r,(nlF(),nKU)),21).Hc((no7(),nKc)),!a&&!e)for(o=new fx(new fN(n.e).a.vc().Kc());o.a.Ob();)t=CY(o.a.Pb(),44),(c=CY(t.md(),113)).a&&(Ro(c.d,null),c.c=!0,n.a=!0)}(r));t.Vg()}(CY(n,36),t)},Nj(np2,"SelfLoopPreProcessor",1653),ncm(1654,1,{},il),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,105).f,1))},Nj(np2,"SelfLoopPreProcessor/lambda$0$Type",1654),ncm(1655,1,{},ib),nPB.Kb=function(n){return CY(n,340).a},Nj(np2,"SelfLoopPreProcessor/lambda$1$Type",1655),ncm(1656,1,nbE,iw),nPB.Cd=function(n){var t;Ra(t=CY(n,18),null),Ru(t,null)},Nj(np2,"SelfLoopPreProcessor/lambda$2$Type",1656),ncm(1672,1,npR,Om),nPB.Kf=function(n,t){var e,i;e=CY(n,36),t.Ug("Self-Loop routing",1),i=function(n){switch(CY(niK(n,(nlL(),nHu)),223).g){case 1:return new rp;case 3:return new rM;default:return new rg}}(e),Ez(niK(e,(Bl(),nQ4))),vZ(xz(xX(xX(UL(new Aa(null,new R$(e.b,16)),new id),new ig),new ip),new im),new ku(this,i)),t.Vg()},Nj(np2,"SelfLoopRouter",1672),ncm(1673,1,{},id),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"SelfLoopRouter/lambda$0$Type",1673),ncm(1674,1,nbV,ig),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$v)},Nj(np2,"SelfLoopRouter/lambda$1$Type",1674),ncm(1675,1,nbV,ip),nPB.Mb=function(n){return Pn(CY(n,10),(nlF(),nFh))},Nj(np2,"SelfLoopRouter/lambda$2$Type",1675),ncm(1676,1,{},im),nPB.Kb=function(n){return CY(niK(CY(n,10),(nlF(),nFh)),337)},Nj(np2,"SelfLoopRouter/lambda$3$Type",1676),ncm(1677,1,nbE,ku),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,337),function(n,t){var e,i,r,a,c,o=t.b.j;for(c=0;c<o.c.length;c++)(RN(c,o.c.length),CY(o.c[c],12)).p=c;for(vZ(xz(new Aa(null,new R$(t.d,16)),new rv),new ry),a=new fU(t.d);a.a<a.c.c.length;){switch((r=CY(RU(a),105)).e.g){case 0:e=CY(I0(r.j,0),113).d.j,r.a=CY(SO(Ll(CY(_G(r.k,e),15).Oc(),nRf)),113),r.c=CY(SO(Lf(CY(_G(r.k,e),15).Oc(),nRf)),113);break;case 1:i=nt_(r),r.a=CY(SO(Ll(CY(_G(r.k,i[0]),15).Oc(),nRf)),113),r.c=CY(SO(Lf(CY(_G(r.k,i[1]),15).Oc(),nRf)),113);break;case 2:!function(n,t){var e,i,r,a,c,o,u;o=CY(nn7(AY(t.k),BJ(nLq,npx,64,2,0,1)),126),u=t.g,i=ntm(n,u,e=Fi(t,o[0]),r=Fe(t,o[1])),i<=ntm(n,u,a=Fi(t,o[1]),c=Fe(t,o[0]))?(t.a=e,t.c=r):(t.a=a,t.c=c)}(n,r);break;case 3:!function(n){var t,e;switch(t=null,e=null,function(n){var t,e,i,r,a;for(a=AY(n.k),nf5(),e=Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]),i=0,r=e.length;i<r;++i)if((t=e[i])!=n1v&&!a.Hc(t))return t;return null}(n).g){case 1:nf5(),t=n1n,e=n1y;break;case 2:nf5(),t=n1m,e=n1t;break;case 3:nf5(),t=n1y,e=n1n;break;case 4:nf5(),t=n1t,e=n1m}n.a=CY(SO(Ll(CY(_G(n.k,t),15).Oc(),nRf)),113),n.c=CY(SO(Lf(CY(_G(n.k,e),15).Oc(),nRf)),113)}(r);break;case 4:!function(n,t){var e,i,r,a,c,o,u,s,h;for(o=t.j,c=t.g,u=CY(I0(o,o.c.length-1),113),RN(0,o.c.length),s=ntm(n,c,u,h=CY(o.c[0],113)),a=1;a<o.c.length;a++)RN(a-1,o.c.length),e=CY(o.c[a-1],113),RN(a,o.c.length),(i=ntm(n,c,e,r=CY(o.c[a],113)))>s&&(u=e,h=r,s=i);t.a=h,t.c=u}(n,r)}!function(n){var t,e;for(t=n.a.d.j,e=n.c.d.j;t!=e;)Xf(n.b,t),t=Jd(t);Xf(n.b,t)}(r)}n.a=null}(t.a,i),function(n){var t,e;for(function(n){var t,e,i,r,a,c,o,u,s,h,f;for(e=null,o=null,(r=CY(niK(n.b,(nlL(),nHl)),349))==(Wm(),nGG)&&(e=new du,o=new du),c=new fU(n.d);c.a<c.c.c.length;)if((a=CY(RU(c),105)).i)switch(a.e.g){case 0:t=CY(Fj(new vG(a.b)),64),r==nGG&&t==(nf5(),n1t)?dk(e.c,a):r==nGG&&t==(nf5(),n1m)?dk(o.c,a):function(n,t){var e;switch(t.g){case 2:case 4:e=n.a,n.c.d.n.b<e.d.n.b&&(e=n.c),Ly(n,t,(Vg(),nDQ),e);break;case 1:case 3:Ly(n,t,(Vg(),nDz),null)}}(a,t);break;case 1:u=a.a.d.j,s=a.c.d.j,u==(nf5(),n1t)?Ly(a,n1t,(Vg(),nDV),a.a):s==n1t?Ly(a,n1t,(Vg(),nDW),a.c):u==n1m?Ly(a,n1m,(Vg(),nDW),a.a):s==n1m&&Ly(a,n1m,(Vg(),nDV),a.c);break;case 2:case 3:SD(i=a.b,(nf5(),n1t))?SD(i,n1m)?SD(i,n1y)?SD(i,n1n)||Ly(a,n1t,(Vg(),nDW),a.c):Ly(a,n1t,(Vg(),nDV),a.a):Ly(a,n1t,(Vg(),nDz),null):Ly(a,n1m,(Vg(),nDz),null);break;case 4:h=a.a.d.j,f=a.a.d.j,h==(nf5(),n1t)||f==n1t?Ly(a,n1m,(Vg(),nDz),null):Ly(a,n1t,(Vg(),nDz),null)}e&&(0==e.c.length||nhs(e,(nf5(),n1t)),0==o.c.length||nhs(o,(nf5(),n1m)))}(n),e=new fU(n.d);e.a<e.c.c.length;)(t=CY(RU(e),105)).i&&function(n){var t,e,i,r;switch(t=(r=n.i).b,i=r.j,e=r.g,r.a.g){case 0:e.a=(n.g.b.o.a-i.a)/2;break;case 1:e.a=t.d.n.a+t.d.a.a;break;case 2:e.a=t.d.n.a+t.d.a.a-i.a;break;case 3:e.b=t.d.n.b+t.d.a.b}}(t)}(i),function(n,t){var e,i,r,a,c,o;for(e=function(n){var t,e,i,r,a,c,o,u,s,h;for(e=0,o=new fU(n.d);o.a<o.c.c.length;)(c=CY(RU(o),105)).i&&(c.i.c=e++);for(r=0,t=I3(n4h,[nby,ndV],[183,28],16,[e,e],2),h=n.d;r<h.c.length;r++)if(RN(r,h.c.length),(u=CY(h.c[r],105)).i)for(a=r+1;a<h.c.length;a++)RN(a,h.c.length),(s=CY(h.c[a],105)).i&&(i=function(n,t){var e,i,r,a,c;return i=n.i,r=t.i,!!i&&!!r&&i.i==r.i&&i.i!=(nf5(),n1n)&&i.i!=(nf5(),n1y)&&(e=(a=i.g.a)+i.j.a,a<=(c=r.g.a)+r.j.a&&e>=c)}(u,s),t[u.i.c][s.i.c]=i,t[s.i.c][u.i.c]=i);return t}(t),function(n,t,e){var i,r,a,c,o,u,s;for(n.a=new Bf((s=t.d).c.length),n.c=new dc,o=new fU(s);o.a<o.c.c.length;)c=CY(RU(o),105),a=new zV(null),jB(n.a,a),xM(n.c,c,a);for(n.b=new dc,!function(n,t){var e,i,r,a,c,o,u;for(u=t.d,r=t.b.j,o=new fU(u);o.a<o.c.c.length;)for(c=CY(RU(o),105),a=BJ(n4h,ndV,28,r.c.length,16,1),xM(n.b,c,a),e=c.a.d.p-1,i=c.c.d.p;e!=i;)a[e=(e+1)%r.c.length]=!0}(n,t),i=0;i<s.c.length-1;i++)for(u=CY(I0(t.d,i),105),r=i+1;r<s.c.length;r++)!function(n,t,e,i){var r,a,c,o;r=Y4(n,t,e),a=Y4(n,e,t),c=CY(NR(n.c,t),118),o=CY(NR(n.c,e),118),r<a?new RT((Bw(),nqV),c,o,a-r):a<r?new RT((Bw(),nqV),o,c,r-a):(0!=r||!(!t.i||!e.i)&&i[t.i.c][e.i.c])&&(new RT((Bw(),nqV),c,o,0),new RT(nqV,o,c,0))}(n,u,CY(I0(t.d,r),105),e)}(n,t,e),nia(n.a,CY(niK(xi(t.b),(nlF(),nFc)),234)),function(n){var t,e,i,r,a,c;for(a=new vq,r=new fU(n.a);r.a<r.c.c.length;)(i=CY(RU(r),118)).d=i.f.c.length,i.i=i.k.c.length,0==i.i&&(i.o=0,F_(a,i,a.c.b,a.c));for(;0!=a.b;)for(e=(i=CY(0==a.b?null:(Px(0!=a.b),Gy(a,a.a.a)),118)).o+1,t=new fU(i.f);t.a<t.c.c.length;)(c=CY(RU(t),132).a).o=nP_.Math.max(c.o,e),c.i=c.i-1,0==c.i&&F_(a,c,a.c.b,a.c)}(n),c=new fU(t.d);c.a<c.c.c.length;)for(a=CY(RU(c),105),o=CY(NR(n.c,a),118).o,r=new vG(a.b);r.a<r.c.a.length;)Hi(a,CY(Fj(r),64),o);i=BJ(n4s,nwl,28,t.b.j.c.length,15,1),nfG(n,t,(nf5(),n1t),i,e),nfG(n,t,n1n,i,e),nfG(n,t,n1m,i,e),nfG(n,t,n1y,i,e),n.a=null,n.c=null,n.b=null}(t.b,i),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(h=(c=t.b).o,u=c.d,i=pj(PI(Z9(c,(nlL(),nUv)))),r=pj(PI(Z9(c,nUk))),s=pj(PI(Z9(c,nUA))),C8(o=new gg,u.d,u.c,u.a,u.b),l=function(n,t,e,i){var r,a,c,o,u;for(u=BJ(n4b,nby,109,(nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])).length,0,2),a=Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]),c=0,o=a.length;c<o;++c)u[(r=a[c]).g]=BJ(n4b,nwX,28,n.c[r.g],15,1);return nef(u,n,n1t),nef(u,n,n1m),ntc(u,n,n1t,t,e,i),ntc(u,n,n1n,t,e,i),ntc(u,n,n1m,t,e,i),ntc(u,n,n1y,t,e,i),u}(t,i,r,s),p=new fU(t.d);p.a<p.c.c.length;){for(w=(g=CY(RU(p),105)).f.a.ec().Kc();w.Ob();)a=(b=CY(w.Pb(),340)).a,f=function(n){var t,e,i,r;return(e=(t=n.c.d).j)==(r=(i=n.d.d).j)?t.p<i.p?0:1:Jd(e)==r?0:Jb(e)==r?1:+!SD(n.b.b,Jd(e))}(b),m=new gj,nis(b,b.c,l,m),function(n,t,e,i){var r,a,c,o,u;if(a=n.c.d,c=n.d.d,a.j!=c.j)for(u=n.b,r=a.j,o=null;r!=c.j;)o=0==t?Jd(r):Jb(r),IA(i,OT(ZR(r,u.d[r.g],e),ZR(o,u.d[o.g],e))),r=o}(b,f,l,m),nis(b,b.d,l,m),e=m,e=n.ng(b,f,e),$p(a.a),Xx(a.a,e),vZ(new Aa(null,new R$(e,16)),new kM(h,o));(d=g.i)&&(!function(n,t,e,i){var r,a;switch(r=e[(a=t.i).g][n.d[a.g]],a.g){case 1:r-=i+t.j.b,t.g.b=r;break;case 3:r+=i,t.g.b=r;break;case 4:r-=i+t.j.a,t.g.a=r;break;case 2:r+=i,t.g.a=r}}(g,d,l,r),Zj(h,o,v=new TP(d.g)),OT(v,d.j),Zj(h,o,v))}C8(u,o.d,o.c,o.a,o.b)}(e,i)},Nj(np2,"SelfLoopRouter/lambda$4$Type",1677),ncm(1678,1,npR,iv),nPB.Kf=function(n,t){var e,i,r=CY(n,36);for(t.Ug("Semi-Interactive Crossing Minimization Processor",1),e=!1,i=new fU(r.b);i.a<i.c.c.length;)e|=null!=QW(Gs(xX(xX(new Aa(null,new R$(CY(RU(i),30).a,16)),new iy),new ik),new iM),new iE).a;e&&VD(r,(nlF(),nKQ),(SB(),!0)),t.Vg()},Nj(np2,"SemiInteractiveCrossMinProcessor",1678),ncm(1679,1,nbV,iy),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$v)},Nj(np2,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),ncm(1680,1,nbV,ik),nPB.Mb=function(n){return Ah(CY(n,10))._b((nlL(),nUu))},Nj(np2,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),ncm(1681,1,ndy,iM),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,10),i=CY(t,10),r=CY(niK(e,(nlL(),nUu)),8),a=CY(niK(i,nUu),8),Jj(r.b,a.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),ncm(1682,1,{},iE),nPB.Ve=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),CY(niK(e,(nlF(),nKW)),15).Fc(i),i},Nj(np2,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),ncm(1684,1,npR,iT),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;for(t.Ug("Sort By Input Model "+niK(n,(nlL(),nBQ)),1),r=0,i=new fU(n.b);i.a<i.c.c.length;){for(e=CY(RU(i),30),u=0==r?0:r-1,o=CY(I0(n.b,u),30),c=new fU(e.a);c.a<c.c.c.length;)ER(niK(a=CY(RU(c),10),nUt))!==ER((nie(),nZQ))&&ER(niK(a,nUt))!==ER(nZJ)&&($O(),ji(a.j,new Qi(o,CY(niK(n,nBQ),284),nt0(a),pT(PC(niK(n,nBW))))),t.bh("Node "+a+" ports: "+a.j));$O(),ji(e.a,new XM(o,CY(niK(n,nBQ),284),CY(niK(n,nBz),390))),t.bh("Layer "+r+": "+e),++r}t.Vg()}(CY(n,36),t)},Nj(np2,"SortByInputModelProcessor",1684),ncm(1685,1,nbV,ij),nPB.Mb=function(n){return 0!=CY(n,12).g.c.length},Nj(np2,"SortByInputModelProcessor/lambda$0$Type",1685),ncm(1686,1,nbE,l6),nPB.Cd=function(n){var t,e,i,r,a;t=this.a,a=function(n){var t,e;e=null,t=CY(I0(n.g,0),18);do{if(Pn(e=t.d.i,(nlF(),nK0)))return CY(niK(e,nK0),12).i;if(e.k!=(ni8(),n$v)&&ncv(new Le(Sb(JV(e).a.Kc(),new s))))t=CY(_I(new Le(Sb(JV(e).a.Kc(),new s))),18);else if(e.k!=n$v)return null}while(!!e&&e.k!=(ni8(),n$v))return e}(e=CY(n,12)),VD(e,(nlF(),nK2),a),a&&(r=nl3,Aj(t.f,a)&&(r=CY(ED(Aj(t.f,a)),17).a),pT(PC(niK(i=CY(I0(e.g,0),18),nFu)))||xM(t,a,Qx(nP_.Math.min(CY(niK(i,nK4),17).a,r))))},Nj(np2,"SortByInputModelProcessor/lambda$1$Type",1686),ncm(1759,817,{},XT),nPB.df=function(n){var t,e,i,r;switch(this.c=n,this.a.g){case 2:t=new du,vZ(xX(new Aa(null,new R$(this.c.a.b,16)),new iF),new kv(this,t)),nr4(this,new iP),Gd(t,new iO),t.c.length=0,vZ(xX(new Aa(null,new R$(this.c.a.b,16)),new iC),new l8(t)),nr4(this,new iI),Gd(t,new iA),t.c.length=0,e=jc(XY(xV(new Aa(null,new R$(this.c.a.b,16)),new l9(this))),new iL),vZ(new Aa(null,new R$(this.c.a.a,16)),new kf(e,t)),nr4(this,new ix),Gd(t,new i$),t.c.length=0;break;case 3:i=new du,nr4(this,new iS),r=jc(XY(xV(new Aa(null,new R$(this.c.a.b,16)),new l5(this))),new iN),vZ(xX(new Aa(null,new R$(this.c.a.b,16)),new iD),new kb(r,i)),nr4(this,new iR),Gd(i,new iK),i.c.length=0;break;default:throw(new d_).e}},nPB.b=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation",1759),ncm(1760,1,ndK,iS),nPB.Lb=function(n){return jM(CY(n,60).g,154)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return jM(CY(n,60).g,154)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),ncm(1761,1,{},l5),nPB.Ye=function(n){var t,e,i,r;return t=this.a,jM((e=CY(n,60)).g,10)&&CY(e.g,10).k==(ni8(),n$g)?nwF:K7(e)?nP_.Math.max(0,t.b/2-.5):(i=KC(e))?(r=pj(PI(Y_(i,(nlL(),nUC)))),nP_.Math.max(0,r/2-.5)):nwF},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),ncm(1769,1,nbW,ks),nPB.de=function(){neh(this.a,this.b,-1)},nPB.b=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),ncm(1771,1,ndK,iP),nPB.Lb=function(n){return jM(CY(n,60).g,154)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return jM(CY(n,60).g,154)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),ncm(1772,1,nbE,iO),nPB.Cd=function(n){CY(n,380).de()},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),ncm(1773,1,nbV,iC),nPB.Mb=function(n){return jM(CY(n,60).g,10)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),ncm(1775,1,nbE,l8),nPB.Cd=function(n){var t,e,i,r;t=this.a,r=pj(PI(Y_(KC(e=CY(n,60)),(nlL(),nUv)))),neh(e,i=nP_.Math.max(0,r/2-.5),1),jB(t,new kw(e,i))},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),ncm(1774,1,nbW,kw),nPB.de=function(){neh(this.b,this.a,-1)},nPB.a=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),ncm(1776,1,ndK,iI),nPB.Lb=function(n){return jM(CY(n,60).g,10)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return jM(CY(n,60).g,10)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),ncm(1777,1,nbE,iA),nPB.Cd=function(n){CY(n,380).de()},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),ncm(1778,1,{},l9),nPB.Ye=function(n){var t,e,i,r;return t=this.a,jM((e=CY(n,60)).g,10)&&CY(e.g,10).k==(ni8(),n$g)?nwF:K7(e)?nP_.Math.max(0,t.b/2-.5):(i=KC(e))?(r=pj(PI(Y_(i,(nlL(),nUC)))),nP_.Math.max(0,r/2-.5)):nwF},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),ncm(1779,1,{},iL),nPB.We=function(){return 0},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),ncm(1762,1,{},iN),nPB.We=function(){return 0},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),ncm(1781,1,nbE,kf),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,ncA(i=CY(n,316),t,1),jB(e,new kl(i,t))},nPB.a=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),ncm(1780,1,nbW,kl),nPB.de=function(){ncA(this.a,this.b,-1)},nPB.b=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),ncm(1782,1,ndK,ix),nPB.Lb=function(n){return CY(n,60),!0},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return CY(n,60),!0},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),ncm(1783,1,nbE,i$),nPB.Cd=function(n){CY(n,380).de()},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),ncm(1763,1,nbV,iD),nPB.Mb=function(n){return jM(CY(n,60).g,10)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),ncm(1765,1,nbE,kb),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,neh(i=CY(n,60),t,1),jB(e,new kd(i,t))},nPB.a=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),ncm(1764,1,nbW,kd),nPB.de=function(){neh(this.b,this.a,-1)},nPB.a=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),ncm(1766,1,ndK,iR),nPB.Lb=function(n){return CY(n,60),!0},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return CY(n,60),!0},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),ncm(1767,1,nbE,iK),nPB.Cd=function(n){CY(n,380).de()},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),ncm(1768,1,nbV,iF),nPB.Mb=function(n){return jM(CY(n,60).g,154)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),ncm(1770,1,nbE,kv),nPB.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,neh(i=CY(n,60),r=nP_.Math.max(0,t.b/2-.5),1),jB(e,new ks(i,r))},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),ncm(1586,1,npR,SF),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o;if((r=CY(niK(t,(nlL(),nBU)),282))!=(ni2(),nKn)){switch((e.Ug("Horizontal Compaction",1),n.a=t,(i=new naY(((a=new H9).d=t,a.c=CY(niK(a.d,nHu),223),function(n){var t,e,i,r,a,c,o;for(t=!1,e=0,r=new fU(n.d.b);r.a<r.c.c.length;)for((i=CY(RU(r),30)).p=e++,c=new fU(i.a);c.a<c.c.c.length;)a=CY(RU(c),10),t||KZ(JX(a))||(t=!0);o=AN((Ju(),nY7),Vw(DY(nL$,1),nbG,88,0,[nY8,nY9])),t||(Xf(o,nZn),Xf(o,nY5)),n.a=new U5(o),LH(n.f),LH(n.b),LH(n.e),LH(n.g)}(a),function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g,p;for(a=new fU(n.d.b);a.a<a.c.c.length;)for(o=new fU(CY(RU(a),30).a);o.a<o.c.c.length;){if(pT(PC(niK(c=CY(RU(o),10),(nlL(),nB_))))&&!KZ(JX(c))){(h=(i=CY((NP(l=JX(c)),nnZ(new Le(Sb(l.a.Kc(),new s)))),18)).c.i)==c&&(h=i.d.i),f=new Ea(h,Oj(jv(c.n),h.n)),xM(n.b,c,f);continue}r=new x4(c.n.a-c.d.b,c.n.b-c.d.d,c.o.a+c.d.b+c.d.c,c.o.b+c.d.d+c.d.a),t=SI((b=new d4,b.a.g=c,(w=b).a.d=r,d=w,g=nDq,d.a.j=g,d),n.a),SC((p=ql(new d3,Vw(DY(nCu,1),nl7,60,0,[t])),p.a.f=t,p),n.a),u=new ds,xM(n.e,t,u),(e=Fv(new Le(Sb(Jz(c).a.Kc(),new s)))-Fv(new Le(Sb(JV(c).a.Kc(),new s))))<0?VO(u,!0,(Ju(),nY8)):e>0&&VO(u,!0,(Ju(),nY9)),c.k==(ni8(),n$g)&&xo(u),xM(n.f,c,t)}}(a),function(n){var t,e,i;switch((t=CY(niK(n.d,(nlL(),nHu)),223)).g){case 2:e=function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g;for(d=new du,l=new fU(n.d.b);l.a<l.c.c.length;)for(w=new fU(CY(RU(l),30).a);w.a<w.c.c.length;){for(b=CY(RU(w),10),r=CY(NR(n.f,b),60),u=new Le(Sb(JV(b).a.Kc(),new s));ncv(u);)if(i=ZQ((c=CY(_I(u),18)).a,0),h=!0,f=null,i.b!=i.d.c){for(t=CY(K0(i),8),e=null,c.c.j==(nf5(),n1t)&&((g=new nhM(t,new MH(t.a,r.d.d),r,c)).f.a=!0,g.a=c.c,dk(d.c,g)),c.c.j==n1m&&((g=new nhM(t,new MH(t.a,r.d.d+r.d.a),r,c)).f.d=!0,g.a=c.c,dk(d.c,g));i.b!=i.d.c;)e=CY(K0(i),8),!GV(t.b,e.b)&&(f=new nhM(t,e,null,c),dk(d.c,f),h&&(h=!1,e.b<r.d.d?f.f.a=!0:e.b>r.d.d+r.d.a?f.f.d=!0:(f.f.d=!0,f.f.a=!0))),i.b!=i.d.c&&(t=e);f&&(a=CY(NR(n.f,c.d.i),60),t.b<a.d.d?f.f.a=!0:t.b>a.d.d+a.d.a?f.f.d=!0:(f.f.d=!0,f.f.a=!0))}for(o=new Le(Sb(Jz(b).a.Kc(),new s));ncv(o);)0!=(c=CY(_I(o),18)).a.b&&(t=CY(S7(c.a),8),c.d.j==(nf5(),n1t)&&((g=new nhM(t,new MH(t.a,r.d.d),r,c)).f.a=!0,g.a=c.d,dk(d.c,g)),c.d.j==n1m&&((g=new nhM(t,new MH(t.a,r.d.d+r.d.a),r,c)).f.d=!0,g.a=c.d,dk(d.c,g)))}return d}(n);break;case 3:i=new du,vZ(xX(xz(UL(UL(new Aa(null,new R$(n.d.b,16)),new i1),new i0),new i2),new iB),new bo(i)),e=i;break;default:throw new px("Compaction not supported for "+t+" edges.").e}(function(n,t){var e,i,r,a,c,o,u,s,h;if(0!=t.c.length){for($O(),AO(t.c,t.c.length,null),i=CY(RU(r=new fU(t)),154);r.a<r.c.c.length;)(e=CY(RU(r),154),GV(i.e.c,e.e.c)&&!(Y9(PW(i.e).b,e.e.d)||Y9(PW(e.e).b,i.e.d)))?(Vc(i.k,e.k),Vc(i.b,e.b),Vc(i.c,e.c),Xx(i.i,e.i),Vc(i.d,e.d),Vc(i.j,e.j),a=nP_.Math.min(i.e.c,e.e.c),c=nP_.Math.min(i.e.d,e.e.d),o=nP_.Math.max(i.e.c+i.e.b,e.e.c+e.e.b)-a,u=nP_.Math.max(i.e.d+i.e.a,e.e.d+e.e.a)-c,Ir(i.e,a,c,o,u),s=i.f,h=e.f,s.b=s.b|h.b,s.c=s.c|h.c,s.d=s.d|h.d,s.a=s.a|h.a,i.a||(i.a=e.a),Vc(i.g,e.g),jB(i.g,e)):(nsH(n,i),i=e);nsH(n,i)}})(n,e),_r(new fS(n.g),new ba(n))}(a),a.a))).g=n.b,1===CY(niK(t,nBH),431).g)?i.c=new XT(n.a):($C(),i.c=nCH),r.g){case 1:ncq(i);break;case 2:ncq(nfX(i,(Ju(),nY9)));break;case 3:ncq(((c=nfX(ncq(i),(Ju(),nY9))).f=new i_,c));break;case 4:ncq(((o=nfX(ncq(i),(Ju(),nY9))).f=new bn(a),o));break;case 5:ncq((i.b=nDG,i))}nfX(i,(Ju(),nY8)),i.e=!0,function(n){var t,e,i,r,a,c;for(vZ(xX(new Aa(null,new R$(n.a.b,16)),new iG),new iq),!function(n){var t,e,i,r,a;for(i=new zM(new fP(n.b).a);i.b;)t=CY((e=Xu(i)).ld(),10),a=CY(CY(e.md(),42).a,10),r=CY(CY(e.md(),42).b,8),OT(Ta(t.n),OT(jv(a.n),r))}(n),vZ(xX(new Aa(null,new R$(n.a.b,16)),new iX),new iz),n.c==(JG(),nZu)&&(vZ(xX(UL(new Aa(null,new R$(new fS(n.f),1)),new iV),new iW),new br(n)),vZ(xX(xz(UL(UL(new Aa(null,new R$(n.d.b,16)),new iQ),new iJ),new iY),new iZ),new bc(n))),r=new MH(nwF,nwF),t=new MH(nw_,nw_),i=new fU(n.a.b);i.a<i.c.c.length;)e=CY(RU(i),60),r.a=nP_.Math.min(r.a,e.d.c),r.b=nP_.Math.min(r.b,e.d.d),t.a=nP_.Math.max(t.a,e.d.c+e.d.b),t.b=nP_.Math.max(t.b,e.d.d+e.d.a);for(OT(Ta(n.d.c),Ph(new MH(r.a,r.b))),OT(Ta(n.d.f),Oj(new MH(t.a,t.b),r)),a=new fU(n.a.b);a.a<a.c.c.length;)if((c=KC(CY(RU(a),60)))&&c.k==(ni8(),n$g))switch(CY(niK(c,(nlF(),nK_)),64).g){case 4:c.n.a=r.a;break;case 2:c.n.a=t.a-(c.o.a+c.d.c);break;case 1:c.n.b=r.b;break;case 3:c.n.b=t.b-(c.o.b+c.d.a)}LH(n.f),LH(n.b),LH(n.g),LH(n.e),n.a.a.c.length=0,n.a.b.c.length=0,n.a=null,n.d=null}(a),e.Vg()}}(this,CY(n,36),t)},Nj(nme,"HorizontalGraphCompactor",1586),ncm(1587,1,{},l7),nPB.ff=function(n,t){var e,i,r;return Uc(n,t)||(e=KC(n),i=KC(t),e&&e.k==(ni8(),n$g)||i&&i.k==(ni8(),n$g))?0:(r=CY(niK(this.a.a,(nlF(),nFf)),312),Fu(r,e?e.k:(ni8(),n$m),i?i.k:(ni8(),n$m),r.b))},nPB.gf=function(n,t){var e,i,r;return Uc(n,t)?1:(e=KC(n),i=KC(t),r=CY(niK(this.a.a,(nlF(),nFf)),312),Fu(r,e?e.k:(ni8(),n$m),i?i.k:(ni8(),n$m),r.c))},Nj(nme,"HorizontalGraphCompactor/1",1587),ncm(1588,1,{},i_),nPB.ef=function(n,t){return yc(),0==n.a.i},Nj(nme,"HorizontalGraphCompactor/lambda$0$Type",1588),ncm(1589,1,{},bn),nPB.ef=function(n,t){var e;return e=this.a,yc(),function(n,t){switch(t.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}(CY(NR(e.e,n),529),t)},Nj(nme,"HorizontalGraphCompactor/lambda$1$Type",1589),ncm(1730,1,{},H9),Nj(nme,"LGraphToCGraphTransformer",1730),ncm(1738,1,nbV,iB),nPB.Mb=function(n){return null!=n},Nj(nme,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),ncm(1731,1,{},iH),nPB.Kb=function(n){return CE(),J2(niK(CY(CY(n,60).g,10),(nlF(),nK6)))},Nj(nme,"LGraphToCGraphTransformer/lambda$0$Type",1731),ncm(1732,1,{},iU),nPB.Kb=function(n){return CE(),QR(CY(CY(n,60).g,154))},Nj(nme,"LGraphToCGraphTransformer/lambda$1$Type",1732),ncm(1741,1,nbV,iG),nPB.Mb=function(n){return CE(),jM(CY(n,60).g,10)},Nj(nme,"LGraphToCGraphTransformer/lambda$10$Type",1741),ncm(1742,1,nbE,iq),nPB.Cd=function(n){var t,e;t=CY(n,60),CE(),(e=CY(t.g,10)).n.a=t.d.c+e.d.b},Nj(nme,"LGraphToCGraphTransformer/lambda$11$Type",1742),ncm(1743,1,nbV,iX),nPB.Mb=function(n){return CE(),jM(CY(n,60).g,154)},Nj(nme,"LGraphToCGraphTransformer/lambda$12$Type",1743),ncm(1747,1,nbE,iz),nPB.Cd=function(n){var t,e,i;t=CY(n,60),CE(),e=t.d.c-t.e.c,Gd((i=CY(t.g,154)).b,new bt(e)),Gd(i.c,new be(e)),_r(i.i,new bi(e))},Nj(nme,"LGraphToCGraphTransformer/lambda$13$Type",1747),ncm(1744,1,nbE,bt),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,8),CE(),e.a+=t},nPB.a=0,Nj(nme,"LGraphToCGraphTransformer/lambda$14$Type",1744),ncm(1745,1,nbE,be),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,116),CE(),e.c+=t},nPB.a=0,Nj(nme,"LGraphToCGraphTransformer/lambda$15$Type",1745),ncm(1746,1,nbE,bi),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,8),CE(),e.a+=t},nPB.a=0,Nj(nme,"LGraphToCGraphTransformer/lambda$16$Type",1746),ncm(1748,1,{},iV),nPB.Kb=function(n){return CE(),new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(nme,"LGraphToCGraphTransformer/lambda$17$Type",1748),ncm(1749,1,nbV,iW),nPB.Mb=function(n){return CE(),_p(CY(n,18))},Nj(nme,"LGraphToCGraphTransformer/lambda$18$Type",1749),ncm(1750,1,nbE,br),nPB.Cd=function(n){var t,e,i,r,a;t=this.a,a=(e=CY(n,18)).c.i,r=(i=CY(NR(t.f,a),60)).d.c-i.e.c,XU(e.a,r,0)},Nj(nme,"LGraphToCGraphTransformer/lambda$19$Type",1750),ncm(1734,1,nbE,ba),nPB.Cd=function(n){var t,e,i;t=this.a,e=CY(n,154),i=CY(NR(t.g,e),60),Gd(e.d,new ky(t,i))},Nj(nme,"LGraphToCGraphTransformer/lambda$2$Type",1734),ncm(1751,1,{},iQ),nPB.Kb=function(n){return CE(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nme,"LGraphToCGraphTransformer/lambda$20$Type",1751),ncm(1752,1,{},iJ),nPB.Kb=function(n){return CE(),new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(nme,"LGraphToCGraphTransformer/lambda$21$Type",1752),ncm(1753,1,{},iY),nPB.Kb=function(n){return CE(),CY(niK(CY(n,18),(nlF(),nFw)),15)},Nj(nme,"LGraphToCGraphTransformer/lambda$22$Type",1753),ncm(1754,1,nbV,iZ),nPB.Mb=function(n){var t;return t=CY(n,15),CE(),!!t&&!t.dc()},Nj(nme,"LGraphToCGraphTransformer/lambda$23$Type",1754),ncm(1755,1,nbE,bc),nPB.Cd=function(n){!function(n,t){var e,i,r,a,c;if(!t.dc()){if(r=CY(t.Xb(0),131),1==t.gc())return noF(n,r,r,1,0,t);for(e=1;e<t.gc();)(r.j||!r.o)&&(a=function(n,t){var e,i;if(t<0||t>=n.gc())return null;for(e=t;e<n.gc();++e)if(i=CY(n.Xb(e),131),e==n.gc()-1||!i.o)return new Ea(Qx(e),i);return null}(t,e))&&(i=CY(a.a,17).a,noF(n,r,c=CY(a.b,131),e,i,t),e=i+1,r=c)}}(this.a,CY(n,15))},Nj(nme,"LGraphToCGraphTransformer/lambda$24$Type",1755),ncm(1733,1,nbE,ky),nPB.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,i=CY(n,154),r=CY(NR(t.g,i),60),jB(t.a.c,new Ea(e,r))},Nj(nme,"LGraphToCGraphTransformer/lambda$3$Type",1733),ncm(1735,1,{},i1),nPB.Kb=function(n){return CE(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nme,"LGraphToCGraphTransformer/lambda$4$Type",1735),ncm(1736,1,{},i0),nPB.Kb=function(n){return CE(),new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(nme,"LGraphToCGraphTransformer/lambda$5$Type",1736),ncm(1737,1,{},i2),nPB.Kb=function(n){return CE(),CY(niK(CY(n,18),(nlF(),nFw)),15)},Nj(nme,"LGraphToCGraphTransformer/lambda$6$Type",1737),ncm(1739,1,nbE,bo),nPB.Cd=function(n){!function(n,t){var e,i,r,a,c,o;for(CE(),e=null,r=t.Kc();r.Ob();)(i=CY(r.Pb(),131)).o||(jB((a=new nhM(new MH((c=i.a).c,c.d),new MH((o=i.a).c+o.b,o.d+o.a),null,CY(i.d.a.ec().Kc().Pb(),18))).c,i.a),dk(n.c,a),e&&jB(e.d,a),e=a)}(this.a,CY(n,15))},Nj(nme,"LGraphToCGraphTransformer/lambda$8$Type",1739),ncm(1740,1,nbE,kk),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,154),xM(t.g,i,e)},Nj(nme,"LGraphToCGraphTransformer/lambda$9$Type",1740),ncm(1729,1,{},i3),nPB.cf=function(n){var t,e,i,r,a;for(this.a=n,this.d=new dY,this.c=BJ(nCd,nl7,125,this.a.a.a.c.length,0,1),this.b=0,e=new fU(this.a.a.a);e.a<e.c.c.length;)(t=CY(RU(e),316)).d=this.b,a=SA(v4(new d0,t),this.d),this.c[this.b]=a,++this.b;for(!function(n){var t,e,i,r,a,c,o,u,s,h,f,l;for(r=new fU(n.a.a.b);r.a<r.c.c.length;)for(u=(i=CY(RU(r),60)).c.Kc();u.Ob();)o=CY(u.Pb(),60),i.a!=o.a&&(f=T$(n.a.d)?n.a.g.ff(i,o):n.a.g.gf(i,o),a=i.b.a+i.d.b+f-o.b.a,a=nP_.Math.ceil(a),a=nP_.Math.max(0,a),Uc(i,o)?(c=SA(new d0,n.d),t=(s=Dy(nP_.Math.ceil(o.b.a-i.b.a)))-(o.b.a-i.b.a),h=K7(i).a,e=i,h||(h=K7(o).a,t=-t,e=o),h&&(e.b.a-=t,h.n.a-=t),noI(v2(v0(v3(v1(new d1,nP_.Math.max(0,s)),1),c),n.c[i.a.d])),noI(v2(v0(v3(v1(new d1,nP_.Math.max(0,-s)),1),c),n.c[o.a.d]))):(l=1,(jM(i.g,154)&&jM(o.g,10)||jM(o.g,154)&&jM(i.g,10))&&(l=2),noI(v2(v0(v3(v1(new d1,Dy(a)),l),n.c[i.a.d]),n.c[o.a.d]))))}(this),!function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m;for(h=new dc,o=new Ds,i=new fU(n.a.a.b);i.a<i.c.c.length;)if(u=KC(t=CY(RU(i),60)))nr3(h.f,u,t);else if(m=K7(t))for(r=new fU(m.k);r.a<r.c.c.length;)naR(o,CY(RU(r),18),t);for(e=new fU(n.a.a.b);e.a<e.c.c.length;)if(u=KC(t=CY(RU(e),60))){for(c=new Le(Sb(JV(u).a.Kc(),new s));ncv(c);)if(!_p(a=CY(_I(c),18))&&(w=a.c,p=a.d,!((nf5(),n1l).Hc(a.c.j)&&n1l.Hc(a.d.j)))){if(d=CY(NR(h,a.d.i),60),noI(v2(v0(v3(v1(new d1,0),100),n.c[t.a.d]),n.c[d.a.d])),w.j==n1y&&Lw((X8(),w))){for(l=CY(_G(o,a),21).Kc();l.Ob();)if((f=CY(l.Pb(),60)).d.c<t.d.c){if((b=n.c[f.a.d])==(g=n.c[t.a.d]))continue;noI(v2(v0(v3(v1(new d1,1),100),b),g))}}if(p.j==n1n&&Ld((X8(),p))){for(l=CY(_G(o,a),21).Kc();l.Ob();)if((f=CY(l.Pb(),60)).d.c>t.d.c){if((b=n.c[t.a.d])==(g=n.c[f.a.d]))continue;noI(v2(v0(v3(v1(new d1,1),100),b),g))}}}}}(this),!function(n){var t,e,i,r,a,c,o;for(a=new vq,r=new fU(n.d.a);r.a<r.c.c.length;)0==(i=CY(RU(r),125)).b.a.c.length&&F_(a,i,a.c.b,a.c);if(a.b>1)for(t=SA((e=new d0,++n.b,e),n.d),o=ZQ(a,0);o.b!=o.d.c;)c=CY(K0(o),125),noI(v2(v0(v3(v1(new d1,1),0),t),c))}(this),nsd(Cv(this.d),new gz),r=new fU(this.a.a.b);r.a<r.c.c.length;)(i=CY(RU(r),60)).d.c=this.c[i.a.d].e+i.b.a},nPB.b=0,Nj(nme,"NetworkSimplexCompaction",1729),ncm(154,1,{34:1,154:1},nhM),nPB.Fd=function(n){var t,e;return t=CY(n,154),0==(e=JU(this.e.c,t.e.c))?Jj(this.e.d,t.e.d):e},nPB.Ib=function(){return QR(this)},Nj(nme,"VerticalSegment",154),ncm(841,1,{},nin),nPB.c=0,nPB.e=0,nPB.i=0,Nj(nmi,"BetweenLayerEdgeTwoNodeCrossingsCounter",841),ncm(677,1,{677:1},zi),nPB.Ib=function(){return"AdjacencyList [node="+this.d+", adjacencies= "+this.a+"]"},nPB.b=0,nPB.c=0,nPB.f=0,Nj(nmi,"BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList",677),ncm(294,1,{34:1,294:1},Pc),nPB.Fd=function(n){var t;return t=CY(n,294),this.c<t.c?-1:+(this.c!=t.c)},nPB.Ib=function(){return"Adjacency [position="+this.c+", cardinality="+this.a+", currentCardinality="+this.b+"]"},nPB.a=0,nPB.b=0,nPB.c=0,Nj(nmi,"BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList/Adjacency",294),ncm(2026,1,{},nrv),nPB.b=0,nPB.e=!1,Nj(nmi,"CrossingMatrixFiller",2026);var nAl=IH(nmr,"IInitializable");ncm(1867,1,nma,kE),nPB.gg=function(n,t,e,i,r,a){},nPB.ig=function(n,t,e){},nPB.eg=function(){return this.c!=(qp(),nqh)},nPB.fg=function(){this.e=BJ(n4s,nwl,28,this.d,15,1)},nPB.hg=function(n,t){t[n][0].c.p=n},nPB.jg=function(n,t,e,i){++this.d},nPB.kg=function(){return!0},nPB.lg=function(n,t,e,i){var r,a;Qw(this,n,t,e),a=!1;do a|=r=VF(this,t);while(r)return a},nPB.mg=function(n,t){var e,i;return i=n.length,Qw(this,n,e=t?0:i-1,t),VF(this,e)},nPB.d=0,Nj(nmi,"GreedySwitchHeuristic",1867),ncm(2029,1,{},Ai),nPB.b=0,nPB.d=0,Nj(nmi,"NorthSouthEdgeNeighbouringNodeCrossingsCounter",2029),ncm(2016,1,{},nuj),nPB.a=!1,Nj(nmi,"SwitchDecider",2016),ncm(105,1,{105:1},nrC),nPB.a=null,nPB.c=null,nPB.i=null,Nj(nmc,"SelfHyperLoop",105),ncm(2013,1,{},Z$),nPB.c=0,nPB.e=0,Nj(nmc,"SelfHyperLoopLabels",2013),ncm(421,22,{3:1,34:1,22:1,421:1},kT);var nAb=qc(nmc,"SelfHyperLoopLabels/Alignment",421,nPw,function(){return Vg(),Vw(DY(nAb,1),nbG,421,0,[nDz,nDV,nDW,nDQ])},function(n){return Vg(),qa((HN(),nDJ),n)});ncm(340,1,{340:1},_9),Nj(nmc,"SelfLoopEdge",340),ncm(337,1,{337:1},ZD),nPB.a=!1,Nj(nmc,"SelfLoopHolder",337),ncm(1790,1,nbV,ra),nPB.Mb=function(n){return _p(CY(n,18))},Nj(nmc,"SelfLoopHolder/lambda$0$Type",1790),ncm(113,1,{113:1},ZY),nPB.a=!1,nPB.c=!1,Nj(nmc,"SelfLoopPort",113),ncm(1855,1,nbV,rc),nPB.Mb=function(n){return _p(CY(n,18))},Nj(nmc,"SelfLoopPort/lambda$0$Type",1855),ncm(375,22,{3:1,34:1,22:1,375:1},kj);var nAw=qc(nmc,"SelfLoopType",375,nPw,function(){return ne2(),Vw(DY(nAw,1),nbG,375,0,[nDZ,nD0,nD2,nD1,nDY])},function(n){return ne2(),qa((Uq(),nD3),n)});ncm(1798,1,{},hb),Nj(nmo,"PortRestorer",1798),ncm(372,22,{3:1,34:1,22:1,372:1},kS);var nAd=qc(nmo,"PortRestorer/PortSideArea",372,nPw,function(){return Xa(),Vw(DY(nAd,1),nbG,372,0,[nRn,nD7,nD9])},function(n){return Xa(),qa((Bv(),nRt),n)});ncm(1799,1,{},i6),nPB.Kb=function(n){return niY(),CY(n,15).Oc()},Nj(nmo,"PortRestorer/lambda$0$Type",1799),ncm(1800,1,nbE,i5),nPB.Cd=function(n){niY(),CY(n,113).c=!1},Nj(nmo,"PortRestorer/lambda$1$Type",1800),ncm(1809,1,nbV,i8),nPB.Mb=function(n){return niY(),CY(n,12).j==(nf5(),n1y)},Nj(nmo,"PortRestorer/lambda$10$Type",1809),ncm(1810,1,{},i9),nPB.Kb=function(n){return niY(),CY(n,113).d},Nj(nmo,"PortRestorer/lambda$11$Type",1810),ncm(1811,1,nbE,bu),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,12),niY(),Ro(e,t)},Nj(nmo,"PortRestorer/lambda$12$Type",1811),ncm(1801,1,nbE,bs),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,105),niY(),naR(t,e.e,e)},Nj(nmo,"PortRestorer/lambda$2$Type",1801),ncm(1802,1,ndy,i7),nPB.Ne=function(n,t){var e,i;return e=CY(n,113),i=CY(t,113),niY(),jo(e.b.c.length-e.e.c.length,i.b.c.length-i.e.c.length)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmo,"PortRestorer/lambda$3$Type",1802),ncm(1803,1,nbV,rn),nPB.Mb=function(n){return niY(),CY(n,113).c},Nj(nmo,"PortRestorer/lambda$4$Type",1803),ncm(1804,1,nbV,rt),nPB.Mb=function(n){var t,e,i,r;return(t=CY(n,12)).j==(nf5(),n1t)&&(i=SD(e=ncr(t),n1n),(r=SD(e,n1y))||r&&i)},Nj(nmo,"PortRestorer/lambda$5$Type",1804),ncm(1805,1,nbV,i4),nPB.Mb=function(n){return niY(),CY(n,12).j==(nf5(),n1t)},Nj(nmo,"PortRestorer/lambda$6$Type",1805),ncm(1806,1,nbV,re),nPB.Mb=function(n){return niY(),CY(n,12).j==(nf5(),n1n)},Nj(nmo,"PortRestorer/lambda$7$Type",1806),ncm(1807,1,nbV,ri),nPB.Mb=function(n){var t=CY(n,12);return t.j==(nf5(),n1m)&&SD(ncr(t),n1n)},Nj(nmo,"PortRestorer/lambda$8$Type",1807),ncm(1808,1,nbV,rr),nPB.Mb=function(n){return niY(),CY(n,12).j==(nf5(),n1m)},Nj(nmo,"PortRestorer/lambda$9$Type",1808),ncm(276,22,{3:1,34:1,22:1,276:1},x7);var nAg=qc(nmo,"PortSideAssigner/Target",276,nPw,function(){return nut(),Vw(DY(nAg,1),nbG,276,0,[nRi,nRc,nRe,nRs,nRa,nRr,nRu,nRo])},function(n){return nut(),qa((zg(),nRh),n)});ncm(1791,1,{},ru),nPB.Kb=function(n){return xX(new Aa(null,new R$(CY(n,105).j,16)),new rb)},Nj(nmo,"PortSideAssigner/lambda$1$Type",1791),ncm(1792,1,{},rs),nPB.Kb=function(n){return CY(n,113).d},Nj(nmo,"PortSideAssigner/lambda$2$Type",1792),ncm(1793,1,nbE,rh),nPB.Cd=function(n){nau(CY(n,12),(nf5(),n1t))},Nj(nmo,"PortSideAssigner/lambda$3$Type",1793),ncm(1794,1,{},rf),nPB.Kb=function(n){return CY(n,113).d},Nj(nmo,"PortSideAssigner/lambda$4$Type",1794),ncm(1795,1,nbE,bh),nPB.Cd=function(n){var t;t=this.a,nau(CY(n,12),t)},Nj(nmo,"PortSideAssigner/lambda$5$Type",1795),ncm(1796,1,ndy,ro),nPB.Ne=function(n,t){var e;return e=CY(n,105),jo(CY(t,105).j.c.length,e.j.c.length)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmo,"PortSideAssigner/lambda$6$Type",1796),ncm(1797,1,ndy,rl),nPB.Ne=function(n,t){var e,i;return e=CY(n,113),i=CY(t,113),jo(Ix(e.d),Ix(i.d))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmo,"PortSideAssigner/lambda$7$Type",1797),ncm(820,1,nbV,rb),nPB.Mb=function(n){return CY(n,113).c},Nj(nmo,"PortSideAssigner/lambda$8$Type",820),ncm(2108,1,{}),Nj(nmu,"AbstractSelfLoopRouter",2108),ncm(1816,1,ndy,rw),nPB.Ne=function(n,t){var e,i;return e=CY(n,105),i=CY(t,105),jo(e.a.d.p,i.a.d.p)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmu,nd9,1816),ncm(1817,1,ndy,rd),nPB.Ne=function(n,t){var e;return e=CY(n,105),jo(CY(t,105).a.d.p,e.a.d.p)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmu,nd7,1817),ncm(1856,2108,{},rg),nPB.ng=function(n,t,e){return e},Nj(nmu,"OrthogonalSelfLoopRouter",1856),ncm(1858,1,nbE,kM),nPB.Cd=function(n){Zj(this.b,this.a,CY(n,8))},Nj(nmu,"OrthogonalSelfLoopRouter/lambda$0$Type",1858),ncm(1857,1856,{},rp),nPB.ng=function(n,t,e){var i,r;return S2(e,0,OT(jv((i=n.c.d).n),i.a)),IA(e,OT(jv((r=n.d.d).n),r.a)),function(n){var t,e,i,r,a,c,o,u;for(u=new gj,t=ZQ(n,0),o=null,e=CY(K0(t),8),r=CY(K0(t),8);t.b!=t.d.c;)o=e,e=r,r=CY(K0(t),8),a=Gf(Oj(new MH(o.a,o.b),e)),c=Gf(Oj(new MH(r.a,r.b),e)),i=10,i=nP_.Math.min(i,nP_.Math.abs(a.a+a.b)/2),i=nP_.Math.min(i,nP_.Math.abs(c.a+c.b)/2),a.a=ID(a.a)*i,a.b=ID(a.b)*i,c.a=ID(c.a)*i,c.b=ID(c.b)*i,IA(u,OT(a,e)),IA(u,OT(c,e));return u}(e)},Nj(nmu,"PolylineSelfLoopRouter",1857),ncm(1812,1,{},hw),nPB.a=null,Nj(nmu,"RoutingDirector",1812),ncm(1813,1,ndy,rm),nPB.Ne=function(n,t){var e,i;return e=CY(n,113),i=CY(t,113),yo(),jo(e.d.p,i.d.p)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmu,"RoutingDirector/lambda$0$Type",1813),ncm(1814,1,{},rv),nPB.Kb=function(n){return yo(),CY(n,105).j},Nj(nmu,"RoutingDirector/lambda$1$Type",1814),ncm(1815,1,nbE,ry),nPB.Cd=function(n){yo(),CY(n,15).jd(nRf)},Nj(nmu,"RoutingDirector/lambda$2$Type",1815),ncm(1818,1,{},rk),Nj(nmu,"RoutingSlotAssigner",1818),ncm(1819,1,nbV,bf),nPB.Mb=function(n){var t;return t=this.a,SD(CY(n,105).b,t)},Nj(nmu,"RoutingSlotAssigner/lambda$0$Type",1819),ncm(1820,1,ndy,bl),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,105),r=CY(t,105),jo(i.d[e.g],r.d[e.g])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmu,"RoutingSlotAssigner/lambda$1$Type",1820),ncm(1859,1856,{},rM),nPB.ng=function(n,t,e){var i,r,a,c;return i=pj(PI(Z9(n.b.g.b,(nlL(),nUk)))),c=new Pl(Vw(DY(nLA,1),nby,8,0,[OT(new TP((a=n.c.d).n),a.a)])),!function(n,t,e,i,r){var a,c,o,u,s;for(s=1,a=n.c.d.j,c=CY(nnt(e,0),8);s<e.b;s++)u=CY(nnt(e,s),8),F_(i,c,i.c.b,i.c),o=j_(OT(new TP(c),u),.5),OT(o,j_(new RE(Wg(a)),r)),F_(i,o,i.c.b,i.c),c=u,a=0==t?Jd(a):Jb(a);IA(i,(Px(0!=e.b),CY(e.c.b.c,8)))}(n,t,e,c,i),IA(c,OT(new TP((r=n.d.d).n),r.a)),nnY(new nhw(c))},Nj(nmu,"SplineSelfLoopRouter",1859),ncm(586,1,ndy,XM,Is),nPB.Ne=function(n,t){return nlM(this,CY(n,10),CY(t,10))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nms,"ModelOrderNodeComparator",586),ncm(1821,1,nbV,rE),nPB.Mb=function(n){return 0!=CY(n,12).e.c.length},Nj(nms,"ModelOrderNodeComparator/lambda$0$Type",1821),ncm(821,1,ndy,Qi,KQ),nPB.Ne=function(n,t){return Lb(this,n,t)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},nPB.b=!1,Nj(nms,"ModelOrderPortComparator",821),ncm(815,1,{},rT),nPB.og=function(n,t){var e,i,r,a;for(i=1,r=nrc(t),e=new du,a=t.f/r;i<r;++i)jB(e,Qx(AW(zF(nP_.Math.round(i*a)))));return e},nPB.pg=function(){return!1},Nj(nmh,"ARDCutIndexHeuristic",815),ncm(1544,1,npR,rj),nPB.Kf=function(n,t){!function(n,t){var e,i,r;switch(t.Ug("Breaking Point Insertion",1),i=new ncM(n),CY(niK(n,(nlL(),nUq)),351).g){case 2:r=new rx;break;case 0:r=new rT;break;default:r=new r$}if(e=r.og(n,i),pT(PC(niK(n,nUz)))&&(e=function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k;for(l=new du,r=new du,d=null,c=t.Kc();c.Ob();)a=new bM(CY(c.Pb(),17).a),dk(r.c,a),d&&(a.d=d,d.e=a),d=a;for(h=0,v=function(n){var t,e,i,r,a,c,o,u,h;for(h=BJ(n4s,nwl,28,n.b.c.length+1,15,1),u=new dV,i=0,a=new fU(n.b);a.a<a.c.c.length;){for(r=CY(RU(a),30),h[i++]=u.a.gc(),o=new fU(r.a);o.a<o.c.c.length;)for(e=new Le(Sb(JV(CY(RU(o),10)).a.Kc(),new s));ncv(e);)t=CY(_I(e),18),u.a.zc(t,u);for(c=new fU(r.a);c.a<c.c.c.length;)for(e=new Le(Sb(Jz(CY(RU(c),10)).a.Kc(),new s));ncv(e);)t=CY(_I(e),18),u.a.Bc(t)}return h}(n);h<r.c.length;++h){for(f=1,b=null,g=Bt((RN(0,r.c.length),CY(r.c[0],661))),e=null,i=nwF;f<n.b.c.length;++f)p=g?nP_.Math.abs(g.b-f):nP_.Math.abs(f-b.b)+1,(w=b?nP_.Math.abs(f-b.b):p+1)<p?(u=b,o=w):(u=g,o=p),y=pj(PI(niK(n,(nlL(),nUX)))),(m=v[f]+nP_.Math.pow(o,y))<i&&(i=m,(e=u).c=f),g&&f==g.b&&(b=g,g=(k=g).e?Bt(k.e):null);e&&(jB(l,Qx(e.c)),e.a=!0,function(n){var t;if(!n.a)throw new px("Cannot offset an unassigned cut.").e;t=n.c-n.b,n.b+=t,function n(t,e){if(t.d&&!t.d.a){var i;i=t.d,i.b+=e,n(t.d,e)}}(n,t),function n(t,e){if(t.e&&!t.e.a){var i;i=t.e,i.b+=e,n(t.e,e)}}(n,t)}(e))}return $O(),AO(l.c,l.c.length,null),l}(n,e)),!r.pg()&&Pn(n,nUJ))switch(CY(niK(n,nUJ),352).g){case 2:e=nas(i,e);break;case 1:e=ne3(i,e)}e.dc()||function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C;for(m=new Kp(n.b,0),f=t.Kc(),d=0,h=CY(f.Pb(),17).a,k=0,e=new dV,E=new TE;m.b<m.d.gc();){for(Px(m.b<m.d.gc()),y=new fU(CY(m.d.Xb(m.c=m.b++),30).a);y.a<y.c.c.length;){for(w=new Le(Sb(JV(v=CY(RU(y),10)).a.Kc(),new s));ncv(w);)l=CY(_I(w),18),E.a.zc(l,E);for(b=new Le(Sb(Jz(v).a.Kc(),new s));ncv(b);)l=CY(_I(b),18),E.a.Bc(l)}if(d+1==h){for(Oe(m,r=new NU(n)),Oe(m,a=new NU(n)),j=E.a.ec().Kc();j.Ob();)T=CY(j.Pb(),18),e.a._b(T)||(++k,e.a.zc(T,e)),VD(c=new nn_(n),(nlL(),nUt),(nie(),nZZ)),Rc(c,r),ni8(),c.k=n$d,Ro(g=new nro,c),nau(g,(nf5(),n1y)),Ro(S=new nro,c),nau(S,n1n),VD(i=new nn_(n),nUt,nZZ),Rc(i,a),i.k=n$d,Ro(p=new nro,i),nau(p,n1y),Ro(P=new nro,i),nau(P,n1n),Ra(M=new $1,T.c),Ru(M,g),VD(M,(nlF(),nK4),CY(niK(T,nK4),17)),Ra(C=new $1,S),Ru(C,p),VD(C,nK4,CY(niK(T,nK4),17)),Ra(T,P),o=new Fb(c,i,M,C,T),VD(c,nKP,o),VD(i,nKP,o),(O=M.c.i).k==n$d&&((u=CY(niK(O,nKP),313)).d=o,o.g=u);if(f.Ob())h=CY(f.Pb(),17).a;else break}++d}Qx(k)}(n,e),t.Vg()}(CY(n,36),t)},Nj(nmh,"BreakingPointInserter",1544),ncm(313,1,{313:1},Fb),nPB.Ib=function(){var n;return n=new p2,n.a+="BPInfo[",n.a+="\n start=",EJ(n,this.i),n.a+="\n end=",EJ(n,this.a),n.a+="\n nodeStartEdge=",EJ(n,this.e),n.a+="\n startEndEdge=",EJ(n,this.j),n.a+="\n originalEdge=",EJ(n,this.f),n.a+="\n startInLayerDummy=",EJ(n,this.k),n.a+="\n startInLayerEdge=",EJ(n,this.n),n.a+="\n endInLayerDummy=",EJ(n,this.b),n.a+="\n endInLayerEdge=",EJ(n,this.c),n.a},Nj(nmh,"BreakingPointInserter/BPInfo",313),ncm(661,1,{661:1},bM),nPB.a=!1,nPB.b=0,nPB.c=0,Nj(nmh,"BreakingPointInserter/Cut",661),ncm(1545,1,npR,rS),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a;if(t.Ug("Breaking Point Processor",1),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;for(Oe(u=new Kp(s=n.b,0),new NU(n)),g=!1,a=1;u.b<u.d.gc();){for(Px(u.b<u.d.gc()),o=CY(u.d.Xb(u.c=u.b++),30),RN(a,s.c.length),b=CY(s.c[a],30),d=(w=RR(o.a)).c.length,l=new fU(w);l.a<l.c.c.length;)Rc(h=CY(RU(l),10),b);if(g){for(f=Yi(w).Kc();f.Ob();)for(r=new fU(RR(Jz(h=CY(f.Pb(),10))));r.a<r.c.c.length;)nhf(i=CY(RU(r),18),!0),VD(n,(nlF(),nKN),(SB(),!0)),e=nfb(n,i,d),(t=CY(niK(h,nKP),313)).k=(p=CY(I0(e,e.c.length-1),18)).c.i,t.n=p,t.b=i.d.i,t.c=i;g=!1}else 0!=w.c.length&&(RN(0,w.c.length),CY(w.c[0],10).k==(ni8(),n$d)&&(g=!0,a=-1));++a}for(c=new Kp(n.b,0);c.b<c.d.gc();)Px(c.b<c.d.gc()),0==CY(c.d.Xb(c.c=c.b++),30).a.c.length&&N6(c)}(n),pT(PC(niK(n,(nlL(),nUV))))){for(r=new fU(n.b);r.a<r.c.c.length;)for(i=CY(RU(r),30),e=0,a=new fU(i.a);a.a<a.c.c.length;)CY(RU(a),10).p=e++;(function(n){var t,e,i,r,a,c,o;for(i=new fU(n.b);i.a<i.c.c.length;)for(a=new fU(RR(CY(RU(i),30).a));a.a<a.c.c.length;)if(UU(r=CY(RU(a),10))&&!(e=CY(niK(r,(nlF(),nKP)),313)).g&&e.d)for(t=e,o=e.d;o;)nuk(o.i,o.k,!1,!0),Ut(t.a),Ut(o.i),Ut(o.k),Ut(o.b),Ru(o.c,t.c.d),Ru(t.c,null),Rc(t.a,null),Rc(o.i,null),Rc(o.k,null),Rc(o.b,null),(c=new Fb(t.i,o.a,t.e,o.j,o.f)).k=t.k,c.n=t.n,c.b=t.b,c.c=o.c,c.g=t.g,c.d=o.d,VD(t.i,nKP,c),VD(o.a,nKP,c),o=o.d,t=c})(n),no_(n,!0),no_(n,!1)}t.Vg()}(CY(n,36),t)},Nj(nmh,"BreakingPointProcessor",1545),ncm(1546,1,nbV,rP),nPB.Mb=function(n){return UH(CY(n,10))},Nj(nmh,"BreakingPointProcessor/0methodref$isEnd$Type",1546),ncm(1547,1,nbV,rO),nPB.Mb=function(n){return UU(CY(n,10))},Nj(nmh,"BreakingPointProcessor/1methodref$isStart$Type",1547),ncm(1548,1,npR,rC),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c;for(e.Ug("Breaking Point Removing",1),n.a=CY(niK(t,(nlL(),nHu)),223),r=new fU(t.b);r.a<r.c.c.length;)for(c=new fU(RR(CY(RU(r),30).a));c.a<c.c.c.length;)UH(a=CY(RU(c),10))&&((i=CY(niK(a,(nlF(),nKP)),313)).d||function n(t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;switch(f=new gj,t.a.g){case 3:b=CY(niK(e.e,(nlF(),nFw)),15),w=CY(niK(e.j,nFw),15),d=CY(niK(e.f,nFw),15),i=CY(niK(e.e,nFl),15),r=CY(niK(e.j,nFl),15),a=CY(niK(e.f,nFl),15),Vc(o=new du,b),w.Jc(new rI),Vc(o,Yi(w)),Vc(o,d),Vc(c=new du,i),Vc(c,Yi(r)),Vc(c,a),VD(e.f,nFw,o),VD(e.f,nFl,c),VD(e.f,nFd,e.f),VD(e.e,nFw,null),VD(e.e,nFl,null),VD(e.j,nFw,null),VD(e.j,nFl,null);break;case 1:Xx(f,e.e.a),IA(f,e.i.n),Xx(f,Yi(e.j.a)),IA(f,e.a.n),Xx(f,e.f.a);break;default:Xx(f,e.e.a),Xx(f,Yi(e.j.a)),Xx(f,e.f.a)}$p(e.f.a),Xx(e.f.a,f),Ra(e.f,e.e.c),u=CY(niK(e.e,(nlL(),nHP)),75),h=CY(niK(e.j,nHP),75),s=CY(niK(e.f,nHP),75),(u||h||s)&&(Nn(l=new gj,s),Nn(l,h),Nn(l,u),VD(e.f,nHP,l)),Ra(e.j,null),Ru(e.j,null),Ra(e.e,null),Ru(e.e,null),Rc(e.a,null),Rc(e.i,null),e.g&&n(t,e.g)}(n,i));e.Vg()}(this,CY(n,36),t)},Nj(nmh,"BreakingPointRemover",1548),ncm(1549,1,nbE,rI),nPB.Cd=function(n){CY(n,131).k=!0},Nj(nmh,"BreakingPointRemover/lambda$0$Type",1549),ncm(811,1,{},ncM),nPB.b=0,nPB.e=0,nPB.f=0,nPB.j=0,Nj(nmh,"GraphStats",811),ncm(812,1,{},rA),nPB.Ve=function(n,t){return nP_.Math.max(pj(PI(n)),pj(PI(t)))},Nj(nmh,"GraphStats/0methodref$max$Type",812),ncm(813,1,{},rL),nPB.Ve=function(n,t){return nP_.Math.max(pj(PI(n)),pj(PI(t)))},Nj(nmh,"GraphStats/2methodref$max$Type",813),ncm(1726,1,{},rN),nPB.Ve=function(n,t){var e,i;return e=PI(n),i=PI(t),xf(e),e+(xf(i),i)},Nj(nmh,"GraphStats/lambda$1$Type",1726),ncm(1727,1,{},bb),nPB.Kb=function(n){return ZZ(this.a,CY(n,30))},Nj(nmh,"GraphStats/lambda$2$Type",1727),ncm(1728,1,{},bw),nPB.Kb=function(n){return nof(this.a,CY(n,30))},Nj(nmh,"GraphStats/lambda$6$Type",1728),ncm(814,1,{},rx),nPB.og=function(n,t){return CY(niK(n,(nlL(),nUU)),15)||($O(),$O(),nO_)},nPB.pg=function(){return!1},Nj(nmh,"ICutIndexCalculator/ManualCutIndexCalculator",814),ncm(816,1,{},r$),nPB.og=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(null==t.n&&nto(t),y=t.n,null==t.d&&nto(t),u=t.d,(v=BJ(n4b,nwX,28,y.length,15,1))[0]=y[0],p=y[0],s=1;s<y.length;s++)v[s]=v[s-1]+y[s],p+=y[s];for(r=nrc(t)-1,c=CY(niK(n,(nlL(),nUG)),17).a,i=nw_,e=new du,l=nP_.Math.max(0,r-c);l<=nP_.Math.min(t.f-1,r+c);l++){if(d=p/(l+1),g=0,h=1,a=new du,m=nw_,f=0,o=0,w=u[0],0==l)m=p,null==t.g&&(t.g=XB(t,new rL)),o=pj(t.g);else{for(;h<t.f;)v[h-1]-g>=d&&(jB(a,Qx(h)),m=nP_.Math.max(m,v[h-1]-f),o+=w,g+=v[h-1]-g,f=v[h-1],w=u[h]),w=nP_.Math.max(w,u[h]),++h;o+=w}(b=nP_.Math.min(1/m,1/t.b/o))>i&&(i=b,e=a)}return e},nPB.pg=function(){return!1},Nj(nmh,"MSDCutIndexHeuristic",816),ncm(1683,1,npR,rD),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a;if(t.Ug("Path-Like Graph Wrapping",1),0==n.b.c.length||(null==(r=new ncM(n)).i&&(r.i=XH(r,new rA)),e=pj(r.i)*r.f/(null==r.i&&(r.i=XH(r,new rA)),pj(r.i)),r.b>e))return t.Vg();switch(CY(niK(n,(nlL(),nUq)),351).g){case 2:a=new rx;break;case 0:a=new rT;break;default:a=new r$}if(i=a.og(n,r),!a.pg())switch(CY(niK(n,nUJ),352).g){case 2:i=nas(r,i);break;case 1:i=ne3(r,i)}(function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(!e.dc()){for(c=0,h=0,l=CY((i=e.Kc()).Pb(),17).a;c<t.f;){if(c==l&&(h=0,l=i.Ob()?CY(i.Pb(),17).a:t.f+1),c!=h){for(b=CY(I0(n.b,c),30),f=CY(I0(n.b,h),30),s=new fU(RR(b.a));s.a<s.c.c.length;)if(ntX(u=CY(RU(s),10),f.a.c.length,f),0==h)for(a=new fU(RR(Jz(u)));a.a<a.c.c.length;)nhf(r=CY(RU(a),18),!0),VD(n,(nlF(),nKN),(SB(),!0)),nfb(n,r,1)}++h,++c}for(o=new Kp(n.b,0);o.b<o.d.gc();)Px(o.b<o.d.gc()),0==CY(o.d.Xb(o.c=o.b++),30).a.c.length&&N6(o)}})(n,r,i),t.Vg()}(CY(n,36),t)},Nj(nmh,"SingleEdgeGraphWrapper",1683),ncm(232,22,{3:1,34:1,22:1,232:1},kO);var nAp=qc(nmf,"CenterEdgeLabelPlacementStrategy",232,nPw,function(){return nr_(),Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl])},function(n){return nr_(),qa((GD(),nRm),n)});ncm(431,22,{3:1,34:1,22:1,431:1},kP);var nAm=qc(nmf,"ConstraintCalculationStrategy",431,nPw,function(){return Bg(),Vw(DY(nAm,1),nbG,431,0,[nRv,nRy])},function(n){return Bg(),qa((F1(),nRk),n)});ncm(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},kC),nPB.dg=function(){return nag(this)},nPB.qg=function(){return nag(this)};var nAv=qc(nmf,"CrossingMinimizationStrategy",322,nPw,function(){return q$(),Vw(DY(nAv,1),nbG,322,0,[nRE,nRM,nRT])},function(n){return q$(),qa((Bp(),nRj),n)});ncm(351,22,{3:1,34:1,22:1,351:1},kI);var nAy=qc(nmf,"CuttingStrategy",351,nPw,function(){return qv(),Vw(DY(nAy,1),nbG,351,0,[nRS,nRO,nRP])},function(n){return qv(),qa((Bm(),nRC),n)});ncm(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},kA),nPB.dg=function(){return ncC(this)},nPB.qg=function(){return ncC(this)};var nAk=qc(nmf,"CycleBreakingStrategy",348,nPw,function(){return Zo(),Vw(DY(nAk,1),nbG,348,0,[nRA,nRI,nRN,nRx,nRL])},function(n){return Zo(),qa((UX(),nR$),n)});ncm(428,22,{3:1,34:1,22:1,428:1},kL);var nAM=qc(nmf,"DirectionCongruency",428,nPw,function(){return U4(),Vw(DY(nAM,1),nbG,428,0,[nRD,nRR])},function(n){return U4(),qa((FQ(),nRK),n)});ncm(460,22,{3:1,34:1,22:1,460:1},kN);var nAE=qc(nmf,"EdgeConstraint",460,nPw,function(){return VH(),Vw(DY(nAE,1),nbG,460,0,[nR_,nRF,nRB])},function(n){return VH(),qa((By(),nRH),n)});ncm(283,22,{3:1,34:1,22:1,283:1},kx);var nAT=qc(nmf,"EdgeLabelSideSelection",283,nPw,function(){return nrt(),Vw(DY(nAT,1),nbG,283,0,[nRG,nRU,nRX,nRq,nRV,nRz])},function(n){return nrt(),qa((GR(),nRW),n)});ncm(488,22,{3:1,34:1,22:1,488:1},k$);var nAj=qc(nmf,"EdgeStraighteningStrategy",488,nPw,function(){return HR(),Vw(DY(nAj,1),nbG,488,0,[nRJ,nRQ])},function(n){return HR(),qa((FJ(),nRY),n)});ncm(281,22,{3:1,34:1,22:1,281:1},kD);var nAS=qc(nmf,"FixedAlignment",281,nPw,function(){return neR(),Vw(DY(nAS,1),nbG,281,0,[nR2,nR0,nR4,nR1,nR3,nRZ])},function(n){return neR(),qa((GK(),nR6),n)});ncm(282,22,{3:1,34:1,22:1,282:1},kR);var nAP=qc(nmf,"GraphCompactionStrategy",282,nPw,function(){return ni2(),Vw(DY(nAP,1),nbG,282,0,[nKn,nR8,nKt,nR7,nR9,nR5])},function(n){return ni2(),qa((GF(),nKe),n)});ncm(259,22,{3:1,34:1,22:1,259:1},kK);var nAO=qc(nmf,"GraphProperties",259,nPw,function(){return no7(),Vw(DY(nAO,1),nbG,259,0,[nKr,nKc,nKo,nKu,nKs,nKh,nKl,nKi,nKa,nKf])},function(n){return no7(),qa((V_(),nKb),n)});ncm(299,22,{3:1,34:1,22:1,299:1},kF);var nAC=qc(nmf,"GreedySwitchType",299,nPw,function(){return zJ(),Vw(DY(nAC,1),nbG,299,0,[nKd,nKg,nKw])},function(n){return zJ(),qa((Bk(),nKp),n)});ncm(311,22,{3:1,34:1,22:1,311:1},k_);var nAI=qc(nmf,"InLayerConstraint",311,nPw,function(){return UM(),Vw(DY(nAI,1),nbG,311,0,[nKv,nKy,nKm])},function(n){return UM(),qa((BM(),nKk),n)});ncm(429,22,{3:1,34:1,22:1,429:1},kB);var nAA=qc(nmf,"InteractiveReferencePoint",429,nPw,function(){return Fn(),Vw(DY(nAA,1),nbG,429,0,[nKM,nKE])},function(n){return Fn(),qa((FW(),nKT),n)});ncm(171,22,{3:1,34:1,22:1,171:1},kH);var nAL=qc(nmf,"LayerConstraint",171,nPw,function(){return Yb(),Vw(DY(nAL,1),nbG,171,0,[nFE,nFv,nFy,nFk,nFM])},function(n){return Yb(),qa((UV(),nFT),n)});ncm(859,1,ndq,hd),nPB.hf=function(n){var t;JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmm),""),"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."),nF7),(nrN(),nQJ)),nAM),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmv),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(SB(),!1)),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmy),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),n_M),nQJ),nAA),JP(nQX)))),Kj(n,nmy,nmO,n_T),Kj(n,nmy,nmK,n_E),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmk),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmM),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(((t=mu(mo(ms(mi(me(mc(mr(ma(new ov,nmE),""),"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),nQW),nPE),JP(nQz))).f=Vw(DY(nPL,1),nby,2,6,["org.eclipse.elk.layered.northOrSouthPort"]),t))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmT),""),"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."),n_8),nQJ),nAF),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmj),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),Qx(7)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmS),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmP),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmO),"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)."),nF8),nQJ),nAk),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmC),nvI),"Node Layering Strategy"),"Strategy for node layering."),n_F),nQJ),nAN),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmI),nvI),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),n_C),nQJ),nAL),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmA),nvI),"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),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmL),nvI),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),Qx(-1)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmN),nvA),"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."),Qx(4)),nQZ),nPO),JP(nQX)))),Kj(n,nmN,nmC,n_L),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmx),nvA),"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."),Qx(2)),nQZ),nPO),JP(nQX)))),Kj(n,nmx,nmC,n_x),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm$),nvL),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),n_R),nQJ),nAR),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmD),nvL),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),Qx(0)),nQZ),nPO),JP(nQX)))),Kj(n,nmD,nm$,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmR),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),Qx(nl3)),nQZ),nPO),JP(nQX)))),Kj(n,nmR,nmC,n_S),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmK),nvN),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),nF6),nQJ),nAv),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmF),nvN),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm_),nvN),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),nQQ),nPS),JP(nQX)))),Kj(n,nm_,nvx,nFJ),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmB),nvN),"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),nQW),nPE),JP(nQX)))),Kj(n,nmB,nmK,nF3),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmH),nvN),"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),nQ0),nPL),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmU),nvN),"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),nQ0),nPL),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmG),nvN),"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),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmq),nvN),"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."),Qx(-1)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmX),nv$),"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."),Qx(40)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmz),nv$),"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."),nFV),nQJ),nAC),JP(nQX)))),Kj(n,nmz,nmK,nFW),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmV),"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."),nFG),nQJ),nAC),JP(nQX)))),Kj(n,nmV,nmK,nFq),Kj(n,nmV,nvx,nFX),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmW),nvD),"Node Placement Strategy"),"Strategy for node placement."),n_6),nQJ),nAD),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nmQ),nvD),"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."),nQW),nPE),JP(nQX)))),Kj(n,nmQ,nmW,n_W),Kj(n,nmQ,nmW,n_Q),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmJ),nvR),"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."),n_U),nQJ),nAj),JP(nQX)))),Kj(n,nmJ,nmW,n_G),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmY),nvR),"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."),n_X),nQJ),nAS),JP(nQX)))),Kj(n,nmY,nmW,n_z),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmZ),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),nQQ),nPS),JP(nQX)))),Kj(n,nmZ,nmW,n_Y),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nm1),"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."),nQJ),nA$),JP(nQq)))),Kj(n,nm1,nmW,n_3),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm0),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),n_0),nQJ),nA$),JP(nQX)))),Kj(n,nm0,nmW,n_2),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm2),nvK),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),n_o),nQJ),nAB),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm3),nvK),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),n_s),nQJ),nAH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm4),"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."),n_f),nQJ),nAU),JP(nQX)))),Kj(n,nm4,nvF,n_l),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm6),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),nQQ),nPS),JP(nQX)))),Kj(n,nm6,nvF,n_w),Kj(n,nm6,nm4,n_d),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm5),"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),nQQ),nPS),JP(nQX)))),Kj(n,nm5,nvF,n_a),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nm8),nv_),"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."),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm9),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm7),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvn),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvt),nvB),"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."),Qx(0)),nQZ),nPO),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nve),nvB),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),Qx(0)),nQZ),nPO),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvi),nvB),"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."),Qx(0)),nQZ),nPO),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvr),nvH),ngk),"Tries to further compact components (disconnected sub-graphs)."),!1),nQW),nPE),JP(nQX)))),Kj(n,nvr,ng8,!0),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nva),nvU),"Post Compaction Strategy"),nvG),nFI),nQJ),nAP),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvc),nvU),"Post Compaction Constraint Calculation"),nvG),nFO),nQJ),nAm),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvo),nvq),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvu),nvq),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),Qx(16)),nQZ),nPO),JP(nQX)))),Kj(n,nvu,nvo,!0),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvs),nvq),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),Qx(5)),nQZ),nPO),JP(nQX)))),Kj(n,nvs,nvo,!0),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvh),nvX),"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'."),nBC),nQJ),nAq),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvf),nvX),"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),nQQ),nPS),JP(nQX)))),Kj(n,nvf,nvh,nBu),Kj(n,nvf,nvh,nBs),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvl),nvX),"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),nQQ),nPS),JP(nQX)))),Kj(n,nvl,nvh,nBf),Kj(n,nvl,nvh,nBl),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvb),nvz),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),nBv),nQJ),nAy),JP(nQX)))),Kj(n,nvb,nvh,nBy),Kj(n,nvb,nvh,nBk),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nvw),nvz),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),nQ1),nPf),JP(nQX)))),Kj(n,nvw,nvb,nBw),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvd),"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."),nBg),nQZ),nPO),JP(nQX)))),Kj(n,nvd,nvb,nBp),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvg),nvV),"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."),nBx),nQJ),nAG),JP(nQX)))),Kj(n,nvg,nvh,nB$),Kj(n,nvg,nvh,nBD),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nvp),nvV),"Valid Indices for Wrapping"),null),nQ1),nPf),JP(nQX)))),Kj(n,nvp,nvh,nBA),Kj(n,nvp,nvh,nBL),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvm),nvW),"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),nQW),nPE),JP(nQX)))),Kj(n,nvm,nvh,nBj),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvv),nvW),"Distance Penalty When Improving Cuts"),null),2),nQQ),nPS),JP(nQX)))),Kj(n,nvv,nvh,nBE),Kj(n,nvv,nvm,!0),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvy),nvW),"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),nQW),nPE),JP(nQX)))),Kj(n,nvy,nvh,nBP),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvk),nvQ),"Edge Label Side Selection"),"Method to decide on edge label sides."),n_i),nQJ),nAT),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvM),nvQ),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),n_t),nQJ),nAp),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQG]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvE),nvJ),"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."),nF_),nQJ),nAK),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvT),nvJ),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvj),nvJ),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvS),nvJ),"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."),nFL),nQJ),nAn),JP(nQX)))),Kj(n,nvS,ng8,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvP),nvJ),"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."),nFD),nQJ),nAx),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvO),nvJ),"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),nQQ),nPS),JP(nQX)))),Kj(n,nvO,nvE,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvC),nvJ),"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),nQQ),nPS),JP(nQX)))),Kj(n,nvC,nvE,null),nlz((new hg,n))},Nj(nmf,"LayeredMetaDataProvider",859),ncm(998,1,ndq,hg),nPB.hf=function(n){nlz(n)},Nj(nmf,"LayeredOptions",998),ncm(999,1,{},rR),nPB.sf=function(){return new gn},nPB.tf=function(n){},Nj(nmf,"LayeredOptions/LayeredFactory",999),ncm(1391,1,{}),nPB.a=0,Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder",1391),ncm(792,1391,{},Yk),Nj(nmf,"LayeredSpacings/LayeredSpacingsBuilder",792),ncm(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},kU),nPB.dg=function(){return nuM(this)},nPB.qg=function(){return nuM(this)};var nAN=qc(nmf,"LayeringStrategy",265,nPw,function(){return noj(),Vw(DY(nAN,1),nbG,265,0,[nU9,nU6,nU5,nU2,nU4,nU7,nU8,nU0,nU3])},function(n){return noj(),qa((zZ(),nGn),n)});ncm(390,22,{3:1,34:1,22:1,390:1},kG);var nAx=qc(nmf,"LongEdgeOrderingStrategy",390,nPw,function(){return QS(),Vw(DY(nAx,1),nbG,390,0,[nGt,nGe,nGi])},function(n){return QS(),qa((BE(),nGr),n)});ncm(203,22,{3:1,34:1,22:1,203:1},kq);var nA$=qc(nmf,"NodeFlexibility",203,nPw,function(){return nnT(),Vw(DY(nA$,1),nbG,203,0,[nGo,nGu,nGc,nGa])},function(n){return nnT(),qa((H$(),nGs),n)});ncm(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},kX),nPB.dg=function(){return ncO(this)},nPB.qg=function(){return ncO(this)};var nAD=qc(nmf,"NodePlacementStrategy",323,nPw,function(){return nna(),Vw(DY(nAD,1),nbG,323,0,[nGw,nGf,nGl,nGh,nGb])},function(n){return nna(),qa((Uz(),nGd),n)});ncm(243,22,{3:1,34:1,22:1,243:1},kz);var nAR=qc(nmf,"NodePromotionStrategy",243,nPw,function(){return nu7(),Vw(DY(nAR,1),nbG,243,0,[nGT,nGv,nGM,nGy,nGk,nGg,nGE,nGj,nGp,nGm])},function(n){return nu7(),qa((VB(),nGS),n)});ncm(284,22,{3:1,34:1,22:1,284:1},kV);var nAK=qc(nmf,"OrderingStrategy",284,nPw,function(){return Zu(),Vw(DY(nAK,1),nbG,284,0,[nGO,nGP,nGC,nGI])},function(n){return Zu(),qa((HD(),nGA),n)});ncm(430,22,{3:1,34:1,22:1,430:1},kW);var nAF=qc(nmf,"PortSortingStrategy",430,nPw,function(){return UE(),Vw(DY(nAF,1),nbG,430,0,[nGL,nGN])},function(n){return UE(),qa((FY(),nGx),n)});ncm(463,22,{3:1,34:1,22:1,463:1},kQ);var nA_=qc(nmf,"PortType",463,nPw,function(){return qy(),Vw(DY(nA_,1),nbG,463,0,[nGR,nG$,nGD])},function(n){return qy(),qa((BS(),nGK),n)});ncm(387,22,{3:1,34:1,22:1,387:1},kJ);var nAB=qc(nmf,"SelfLoopDistributionStrategy",387,nPw,function(){return zl(),Vw(DY(nAB,1),nbG,387,0,[nGF,nG_,nGB])},function(n){return zl(),qa((BT(),nGH),n)});ncm(349,22,{3:1,34:1,22:1,349:1},kY);var nAH=qc(nmf,"SelfLoopOrderingStrategy",349,nPw,function(){return Wm(),Vw(DY(nAH,1),nbG,349,0,[nGq,nGU,nGG])},function(n){return Wm(),qa((Bj(),nGX),n)});ncm(312,1,{312:1},nfM),Nj(nmf,"Spacings",312),ncm(350,22,{3:1,34:1,22:1,350:1},kZ);var nAU=qc(nmf,"SplineRoutingMode",350,nPw,function(){return WQ(),Vw(DY(nAU,1),nbG,350,0,[nGz,nGV,nGW])},function(n){return WQ(),qa((BP(),nGQ),n)});ncm(352,22,{3:1,34:1,22:1,352:1},k1);var nAG=qc(nmf,"ValidifyStrategy",352,nPw,function(){return qm(),Vw(DY(nAG,1),nbG,352,0,[nGZ,nGJ,nGY])},function(n){return qm(),qa((BO(),nG1),n)});ncm(388,22,{3:1,34:1,22:1,388:1},k0);var nAq=qc(nmf,"WrappingStrategy",388,nPw,function(){return Vm(),Vw(DY(nAq,1),nbG,388,0,[nG2,nG3,nG0])},function(n){return Vm(),qa((BC(),nG4),n)});ncm(1398,1,nyL,ho),nPB.rg=function(n){return CY(n,36),nG6},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h;for(e.Ug("Depth-first cycle removal",1),u=(s=t.a).c.length,n.c=new du,n.d=BJ(n4h,ndV,28,u,16,1),n.a=BJ(n4h,ndV,28,u,16,1),n.b=new du,a=0,o=new fU(s);o.a<o.c.c.length;)(c=CY(RU(o),10)).p=a,KZ(Jz(c))&&jB(n.c,c),++a;for(h=new fU(n.c);h.a<h.c.c.length;)nrz(n,CY(RU(h),10));for(r=0;r<u;r++)n.d[r]||(RN(r,s.c.length),nrz(n,CY(s.c[r],10)));for(i=new fU(n.b);i.a<i.c.c.length;)nhf(CY(RU(i),18),!0),VD(t,(nlF(),nKN),(SB(),!0));n.c=null,n.d=null,n.a=null,n.b=null,e.Vg()}(this,CY(n,36),t)},Nj(nyN,"DepthFirstCycleBreaker",1398),ncm(793,1,nyL,AK),nPB.rg=function(n){return CY(n,36),nG5},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A;for(e.Ug("Greedy cycle removal",1),n.a=BJ(n4s,nwl,28,A=(m=t.a).c.length,15,1),n.c=BJ(n4s,nwl,28,A,15,1),n.b=BJ(n4s,nwl,28,A,15,1),u=0,g=new fU(m);g.a<g.c.c.length;){for((w=CY(RU(g),10)).p=u,E=new fU(w.j);E.a<E.c.c.length;){for(c=new fU((k=CY(RU(E),12)).e);c.a<c.c.c.length;)(i=CY(RU(c),18)).c.i!=w&&(S=CY(niK(i,(nlL(),nUh)),17).a,n.a[u]+=S>0?S+1:1);for(a=new fU(k.g);a.a<a.c.c.length;)(i=CY(RU(a),18)).d.i!=w&&(S=CY(niK(i,(nlL(),nUh)),17).a,n.c[u]+=S>0?S+1:1)}0==n.c[u]?IA(n.e,w):0==n.a[u]&&IA(n.f,w),++u}for(b=-1,l=1,h=new du,n.d=CY(niK(t,(nlF(),nFc)),234);A>0;){for(;0!=n.e.b;)O=CY(CV(n.e),10),n.b[O.p]=b--,nsp(n,O),--A;for(;0!=n.f.b;)C=CY(CV(n.f),10),n.b[C.p]=l++,nsp(n,C),--A;if(A>0){for(f=nbJ,p=new fU(m);p.a<p.c.c.length;)w=CY(RU(p),10),0==n.b[w.p]&&(v=n.c[w.p]-n.a[w.p])>=f&&(v>f&&(h.c.length=0,f=v),dk(h.c,w));s=n.sg(h),n.b[s.p]=l++,nsp(n,s),--A}}for(u=0,P=m.c.length+1;u<m.c.length;u++)n.b[u]<0&&(n.b[u]+=P);for(d=new fU(m);d.a<d.c.c.length;)for(j=KB((w=CY(RU(d),10)).j),M=0,T=j.length;M<T;++M)for(y=Ky((k=j[M]).g),r=0,o=y.length;r<o;++r)I=(i=y[r]).d.i.p,n.b[w.p]>n.b[I]&&(nhf(i,!0),VD(t,nKN,(SB(),!0)));n.a=null,n.c=null,n.b=null,$p(n.f),$p(n.e),e.Vg()}(this,CY(n,36),t)},nPB.sg=function(n){return CY(I0(n,nnC(this.d,n.c.length)),10)},Nj(nyN,"GreedyCycleBreaker",793),ncm(1401,793,nyL,E0),nPB.sg=function(n){var t,e,i,r;for(r=null,t=nl3,i=new fU(n);i.a<i.c.c.length;)Pn(e=CY(RU(i),10),(nlF(),nK4))&&CY(niK(e,nK4),17).a<t&&(t=CY(niK(e,nK4),17).a,r=e);return r||CY(I0(n,nnC(this.d,n.c.length)),10)},Nj(nyN,"GreedyModelOrderCycleBreaker",1401),ncm(1399,1,nyL,hc),nPB.rg=function(n){return CY(n,36),nG8},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(e.Ug("Interactive cycle breaking",1),h=new du,l=new fU(t.a);l.a<l.c.c.length;)for((f=CY(RU(l),10)).p=1,b=neD(f).a,s=Yx(f,(qy(),nGD)).Kc();s.Ob();)for(a=new fU(CY(s.Pb(),12).g);a.a<a.c.c.length;)(w=(i=CY(RU(a),18)).d.i)!=f&&neD(w).a<b&&dk(h.c,i);for(c=new fU(h);c.a<c.c.c.length;)nhf(i=CY(RU(c),18),!0);for(h.c.length=0,u=new fU(t.a);u.a<u.c.c.length;)(o=CY(RU(u),10)).p>0&&function n(t,e,i){var r,a,c,o;for(e.p=-1,o=Yx(e,(qy(),nGD)).Kc();o.Ob();)for(a=new fU(CY(o.Pb(),12).g);a.a<a.c.c.length;)e!=(c=(r=CY(RU(a),18)).d.i)&&(c.p<0?i.Fc(r):c.p>0&&n(t,c,i));e.p=0}(n,o,h);for(r=new fU(h);r.a<r.c.c.length;)nhf(i=CY(RU(r),18),!0);h.c.length=0,e.Vg()}(this,CY(n,36),t)},Nj(nyN,"InteractiveCycleBreaker",1399),ncm(1400,1,nyL,hr),nPB.rg=function(n){return CY(n,36),nG9},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;for(e.Ug("Model order cycle breaking",1),n.a=0,n.b=0,f=new du,s=t.a.c.length,u=new fU(t.a);u.a<u.c.c.length;)Pn(o=CY(RU(u),10),(nlF(),nK4))&&(s=nP_.Math.max(s,CY(niK(o,nK4),17).a+1));for(b=new fU(t.a);b.a<b.c.c.length;)for(c=nrV(n,l=CY(RU(b),10),s),h=Yx(l,(qy(),nGD)).Kc();h.Ob();)for(a=new fU(CY(h.Pb(),12).g);a.a<a.c.c.length;)nrV(n,(i=CY(RU(a),18)).d.i,s)<c&&dk(f.c,i);for(r=new fU(f);r.a<r.c.c.length;)nhf(i=CY(RU(r),18),!0),VD(t,(nlF(),nKN),(SB(),!0));f.c.length=0,e.Vg()}(this,CY(n,36),t)},nPB.a=0,nPB.b=0,Nj(nyN,"ModelOrderCycleBreaker",1400),ncm(1413,1,nyL,hi),nPB.rg=function(n){return CY(n,36),nG7},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m;for(e.Ug("Breadth first model order layering",1),n.a=t,p=new du,g=new fU(n.a.a);g.a<g.c.c.length;)(w=CY(RU(g),10)).k==(ni8(),n$v)&&dk(p.c,w);for($O(),ji(p,new rK),u=!0,r=new NU(n.a),i=null,jB(n.a.b,r),d=new fU(p);d.a<d.c.c.length;)if(w=CY(RU(d),10),u)Rc(w,r),u=!1;else{for(o=new Le(Sb(Jz(w).a.Kc(),new s));ncv(o);)((a=CY(_I(o),18)).c.i.k==(ni8(),n$v)&&a.c.i.c==r||a.c.i.k==n$p&&CY(_I(new Le(Sb(Jz(a.c.i).a.Kc(),new s))),18).c.i.c==r)&&(i=new NU(n.a),jB(n.a.b,i),r=new NU(n.a),jB(n.a.b,r));for(c=new Le(Sb(Jz(w).a.Kc(),new s));ncv(c);)(a=CY(_I(c),18)).c.i.k!=(ni8(),n$p)||a.c.i.c||Rc(a.c.i,i);Rc(w,r)}for(n.a.a.c.length=0,m=new du,l=new fU(n.a.b);l.a<l.c.c.length;)0==(h=CY(RU(l),30)).a.c.length&&dk(m.c,h);for(JS(n.a.b,m),b=0,f=new fU(n.a.b);f.a<f.c.c.length;)(h=CY(RU(f),30)).p=b,++b;e.Vg()}(this,CY(n,36),t)},Nj(nyx,"BreadthFirstModelOrderLayerer",1413),ncm(1414,1,ndy,rK),nPB.Ne=function(n,t){var e=CY(n,10),i=CY(t,10);if(qD(),Pn(e,(nlF(),nK4))&&Pn(i,nK4))return jo(CY(niK(e,nK4),17).a,CY(niK(i,nK4),17).a);throw new pF("The BF model order layer assigner requires all real nodes to have a model order.").e},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"BreadthFirstModelOrderLayerer/lambda$0$Type",1414),ncm(1404,1,nyL,yl),nPB.rg=function(n){return CY(n,36),nqn},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;if(e.Ug("Coffman-Graham Layering",1),0==t.a.c.length)return e.Vg();for(M=CY(niK(t,(nlL(),nHO)),17).a,u=0,c=0,b=new fU(t.a);b.a<b.c.c.length;)for((l=CY(RU(b),10)).p=u++,a=new Le(Sb(JV(l).a.Kc(),new s));ncv(a);)(r=CY(_I(a),18)).p=c++;for(n.d=BJ(n4h,ndV,28,u,16,1),n.a=BJ(n4h,ndV,28,c,16,1),n.b=BJ(n4s,nwl,28,u,15,1),n.e=BJ(n4s,nwl,28,u,15,1),n.f=BJ(n4s,nwl,28,u,15,1),qO(n.c),j=new fU(t.a);j.a<j.c.c.length;)for(T=CY(RU(j),10),pG(n.d),E=new Le(Sb(JV(T).a.Kc(),new s));ncv(E);)!function n(t,e,i){var r,a,c,o;if(!t.d[i.p]){for(r=new Le(Sb(JV(i).a.Kc(),new s));ncv(r);){for(c=new Le(Sb(Jz(o=CY(_I(r),18).d.i).a.Kc(),new s));ncv(c);)(a=CY(_I(c),18)).c.i==e&&(t.a[a.p]=!0);n(t,e,o)}t.d[i.p]=!0}}(n,T,CY(_I(E),18).d.i);for(d=new Lt(new bd(n)),k=new fU(t.a);k.a<k.c.c.length;){for(a=new Le(Sb(Jz(v=CY(RU(k),10)).a.Kc(),new s));ncv(a);)r=CY(_I(a),18),n.a[r.p]||++n.b[v.p];0==n.b[v.p]&&C7(niS(d,v),nwY)}for(o=0;0!=d.b.c.length;)for(v=CY(UN(d),10),n.f[v.p]=o++,a=new Le(Sb(JV(v).a.Kc(),new s));ncv(a);)r=CY(_I(a),18),n.a[r.p]||(p=r.d.i,--n.b[p.p],naR(n.c,p,Qx(n.f[v.p])),0==n.b[p.p]&&C7(niS(d,p),nwY));for(w=new Lt(new bg(n)),y=new fU(t.a);y.a<y.c.c.length;){for(a=new Le(Sb(JV(v=CY(RU(y),10)).a.Kc(),new s));ncv(a);)r=CY(_I(a),18),n.a[r.p]||++n.e[v.p];0==n.e[v.p]&&C7(niS(w,v),nwY)}for(i=xI(t,f=new du);0!=w.b.c.length;)for(m=CY(UN(w),10),(i.a.c.length>=M||!function(n,t){var e;for(e=new Le(Sb(JV(n).a.Kc(),new s));ncv(e);)if(CY(_I(e),18).d.i.c==t)return!1;return!0}(m,i))&&(i=xI(t,f)),Rc(m,i),a=new Le(Sb(Jz(m).a.Kc(),new s));ncv(a);)r=CY(_I(a),18),n.a[r.p]||(g=r.c.i,--n.e[g.p],0==n.e[g.p]&&C7(niS(w,g),nwY));for(h=f.c.length-1;h>=0;--h)jB(t.b,(RN(h,f.c.length),CY(f.c[h],30)));t.a.c.length=0,e.Vg()}(this,CY(n,36),t)},Nj(nyx,"CoffmanGrahamLayerer",1404),ncm(1405,1,ndy,bd),nPB.Ne=function(n,t){return function(n,t,e){var i,r,a,c,o,u;for(i=CY(_G(n.c,t),15),r=CY(_G(n.c,e),15),a=i.fd(i.gc()),c=r.fd(r.gc());a.Sb()&&c.Sb();)if((o=CY(a.Ub(),17))!=(u=CY(c.Ub(),17)))return jo(o.a,u.a);return a.Ob()||c.Ob()?a.Ob()?1:-1:0}(this.a,CY(n,10),CY(t,10))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"CoffmanGrahamLayerer/0methodref$compareNodesInTopo$Type",1405),ncm(1406,1,ndy,bg),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,10),r=CY(t,10),-jo(e.f[i.p],e.f[r.p])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"CoffmanGrahamLayerer/lambda$1$Type",1406),ncm(1415,1,nyL,ha),nPB.rg=function(n){return CY(n,36),nqt},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y;for(e.Ug("Depth first model order layering",1),n.d=t,p=new du,g=new fU(n.d.a);g.a<g.c.c.length;)(w=CY(RU(g),10)).k==(ni8(),n$v)&&dk(p.c,w);for($O(),ji(p,new rF),c=!0,n.b=new NU(n.d),n.a=null,jB(n.d.b,n.b),n.b.p=0,n.c=0,n.f=new vq,d=new fU(p);d.a<d.c.c.length;)if(w=CY(RU(d),10),c)Rc(w,n.b),c=!1;else if(function(n,t){var e,i,r,a,c;for(c=new Le(Sb(Jz(t).a.Kc(),new s));ncv(c);)if(a=CY(_I(c),18),0==n.f.b?(r=a.c.i.k==(ni8(),n$v)&&!!a.c.i.c&&a.c.i.c.p==n.c,ncv(new Le(Sb(Jz(a.c.i).a.Kc(),new s)))?(e=CY(_I(new Le(Sb(Jz(a.c.i).a.Kc(),new s))),18).c.i.c,i=a.c.i.k==n$p&&!!e&&e.p==n.c):i=!1):(r=a.c.i.k==(ni8(),n$v)&&a.c.i.p==n.c,i=a.c.i.k==n$p&&CY(_I(new Le(Sb(Jz(a.c.i).a.Kc(),new s))),18).c.i.p==n.c),r||i)return!0;return!1}(n,w))if(i=(b=nnb(b=n.c,w))+2,f=b-n.c,0==n.f.b)nuf(n,i,w);else if(f>0){for(y=ZQ(n.f,0);y.b!=y.d.c;)v=CY(K0(y),10),v.p+=b-n.e;nrB(n),$p(n.f),nuf(n,i,w)}else{for(IA(n.f,w),w.p=i,n.e=nP_.Math.max(n.e,i),a=new Le(Sb(Jz(w).a.Kc(),new s));ncv(a);)(r=CY(_I(a),18)).c.i.c||r.c.i.k!=(ni8(),n$p)||(IA(n.f,r.c.i),r.c.i.p=i-1);n.c=i}else nrB(n),$p(n.f),i=0,ncv(new Le(Sb(Jz(w).a.Kc(),new s)))?nuf(n,i=(b=nnb(b=0,w))+2,w):(IA(n.f,w),w.p=0,n.e=nP_.Math.max(n.e,0),n.b=CY(I0(n.d.b,0),30),n.c=0);for(0==n.f.b||nrB(n),n.d.a.c.length=0,m=new du,h=new fU(n.d.b);h.a<h.c.c.length;)0==(o=CY(RU(h),30)).a.c.length&&dk(m.c,o);for(JS(n.d.b,m),l=0,u=new fU(n.d.b);u.a<u.c.c.length;)(o=CY(RU(u),30)).p=l,++l;e.Vg()}(this,CY(n,36),t)},nPB.c=0,nPB.e=0,Nj(nyx,"DepthFirstModelOrderLayerer",1415),ncm(1416,1,ndy,rF),nPB.Ne=function(n,t){var e=CY(n,10),i=CY(t,10);if(qK(),Pn(e,(nlF(),nK4))&&Pn(i,nK4))return jo(CY(niK(e,nK4),17).a,CY(niK(i,nK4),17).a);throw new pF("The DF model order layer assigner requires all real nodes to have a model order.").e},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"DepthFirstModelOrderLayerer/lambda$0$Type",1416),ncm(1407,1,nyL,r_),nPB.rg=function(n){return CY(n,36),IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$8)),nxW,nDc),nxQ,nDa)},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(t.Ug("Interactive node layering",1),e=new du,l=new fU(n.a);l.a<l.c.c.length;){for(o=(u=(h=CY(RU(l),10)).n.a)+h.o.a,o=nP_.Math.max(u+1,o),m=new Kp(e,0),i=null;m.b<m.d.gc();){if(Px(m.b<m.d.gc()),(g=CY(m.d.Xb(m.c=m.b++),578)).c>=o){Px(m.b>0),m.a.Xb(m.c=--m.b);break}g.a>u&&(i?(Vc(i.b,g.b),i.a=nP_.Math.max(i.a,g.a),N6(m)):(jB(g.b,h),g.c=nP_.Math.min(g.c,u),g.a=nP_.Math.max(g.a,o),i=g))}i||((i=new gr).c=u,i.a=o,Oe(m,i),jB(i.b,h))}for(c=n.b,s=0,p=new fU(e);p.a<p.c.c.length;)for(g=CY(RU(p),578),(r=new NU(n)).p=s++,dk(c.c,r),b=new fU(g.b);b.a<b.c.c.length;)Rc(h=CY(RU(b),10),r),h.p=0;for(f=new fU(n.a);f.a<f.c.c.length;)if(0==(h=CY(RU(f),10)).p)for(d=nuO(h,n);0!=d.a.gc();)w=CY(d.a.ec().Kc().Pb(),10),d.a.Bc(w),Xx(d,nuO(w,n));for(a=new Kp(c,0);a.b<a.d.gc();)0==(Px(a.b<a.d.gc()),CY(a.d.Xb(a.c=a.b++),30)).a.c.length&&N6(a);n.a.c.length=0,t.Vg()}(CY(n,36),t)},Nj(nyx,"InteractiveLayerer",1407),ncm(578,1,{578:1},gr),nPB.a=0,nPB.c=0,Nj(nyx,"InteractiveLayerer/LayerSpan",578),ncm(1403,1,nyL,hh),nPB.rg=function(n){return CY(n,36),nqe},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c;for(e.Ug("Longest path layering",1),n.a=t,c=n.a.a,n.b=BJ(n4s,nwl,28,c.c.length,15,1),i=0,a=new fU(c);a.a<a.c.c.length;)CY(RU(a),10).p=i,n.b[i]=-1,++i;for(r=new fU(c);r.a<r.c.c.length;)!function n(t,e){if((r=t.b[e.p])>=0)return r;for(a=1,c=new fU(e.j);c.a<c.c.c.length;)for(i=new fU(CY(RU(c),12).g);i.a<i.c.c.length;)e!=(u=CY(RU(i),18).d.i)&&(o=n(t,u),a=nP_.Math.max(a,o+1));var i,r,a,c,o,u,s,h,f=a;for(s=(h=t.a.b).c.length;s<f;s++)AC(h,0,new NU(t.a));return Rc(e,CY(I0(h,h.c.length-f),30)),t.b[e.p]=f,a}(n,CY(RU(r),10));c.c.length=0,n.a=null,n.b=null,e.Vg()}(this,CY(n,36),t)},Nj(nyx,"LongestPathLayerer",1403),ncm(1412,1,nyL,hs),nPB.rg=function(n){return CY(n,36),nqi},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c;for(e.Ug("Longest path to source layering",1),n.a=t,c=n.a.a,n.b=BJ(n4s,nwl,28,c.c.length,15,1),i=0,a=new fU(c);a.a<a.c.c.length;)CY(RU(a),10).p=i,n.b[i]=-1,++i;for(r=new fU(c);r.a<r.c.c.length;)!function n(t,e){if((r=t.b[e.p])>=0)return r;for(a=1,c=new fU(e.j);c.a<c.c.c.length;)for(i=new fU(CY(RU(c),12).e);i.a<i.c.c.length;)e!=(u=CY(RU(i),18).c.i)&&(o=n(t,u),a=nP_.Math.max(a,o+1));var i,r,a,c,o,u,s,h,f=a;for(s=(h=t.a.b).c.length;s<f;s++)AC(h,h.c.length,new NU(t.a));return Rc(e,(RN(f-1,h.c.length),CY(h.c[f-1],30))),t.b[e.p]=f,a}(n,CY(RU(r),10));c.c.length=0,n.a=null,n.b=null,e.Vg()}(this,CY(n,36),t)},Nj(nyx,"LongestPathSourceLayerer",1412),ncm(1410,1,nyL,hf),nPB.rg=function(n){return CY(n,36),IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A;for(e.Ug("MinWidth layering",1),w=t.b,T=t.a,A=CY(niK(t,(nlL(),nHL)),17).a,o=CY(niK(t,nHN),17).a,n.b=pj(PI(niK(t,nUv))),n.d=nwF,k=new fU(T);k.a<k.c.c.length;)(v=CY(RU(k),10)).k==(ni8(),n$v)&&(P=v.o.b,n.d=nP_.Math.min(n.d,P));for(n.d=nP_.Math.max(1,n.d),n.c=BJ(n4s,nwl,28,j=T.c.length,15,1),n.f=BJ(n4s,nwl,28,j,15,1),n.e=BJ(n4b,nwX,28,j,15,1),h=0,n.a=0,M=new fU(T);M.a<M.c.c.length;)(v=CY(RU(M),10)).p=h++,n.c[v.p]=W9(Jz(v)),n.f[v.p]=W9(JV(v)),n.e[v.p]=v.o.b/n.d,n.a+=n.e[v.p];for(n.b/=n.d,n.a/=j,E=function(n){var t,e,i,r,a,c;for(c=SY(n.c.length),r=new fU(n);r.a<r.c.c.length;){for(i=CY(RU(r),10),a=new dV,e=new Le(Sb(JV(i).a.Kc(),new s));ncv(e);)(t=CY(_I(e),18)).c.i==t.d.i||LX(a,t.d.i);dk(c.c,a)}return c}(T),ji(T,xE(new bp(n))),g=nwF,d=nl3,c=null,I=A,C=A,a=o,r=o,A<0&&(I=CY(nqa.a.Id(),17).a,C=CY(nqa.b.Id(),17).a),o<0&&(a=CY(nqr.a.Id(),17).a,r=CY(nqr.b.Id(),17).a),O=I;O<=C;O++)for(i=a;i<=r;i++)m=pj(PI((S=function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(f=new du,g=FU(i),d=t*n.a,b=0,a=new dV,c=new dV,o=new du,p=0,m=0,l=0,w=0,s=0,h=0;0!=g.a.gc();)(u=function(n,t,e){var i,r;for(r=n.a.ec().Kc();r.Ob();)if(i=CY(r.Pb(),10),z7(e,CY(I0(t,i.p),16)))return i;return null}(g,r,c))&&(g.a.Bc(u),dk(o.c,u),a.a.zc(u,a),b=n.f[u.p],p+=n.e[u.p]-b*n.b,m+=n.c[u.p]*n.b,h+=b*n.b,w+=n.e[u.p]),(!u||0==g.a.gc()||p>=d&&n.e[u.p]>b*n.b||m>=e*d)&&(dk(f.c,o),o=new du,Xx(c,a),a.a.$b(),s-=h,l=nP_.Math.max(l,s*n.b+w),s+=m,p=m,m=0,h=0,w=0);return new Ea(l,f)}(n,O,i,T,E)).a)),p=(b=CY(S.b,15)).gc(),(m<g||m==g&&p<d)&&(g=m,d=p,c=b);for(l=c.Kc();l.Ob();){for(f=CY(l.Pb(),15),u=new NU(t),y=f.Kc();y.Ob();)Rc(v=CY(y.Pb(),10),u);dk(w.c,u)}nrY(w),T.c.length=0,e.Vg()}(this,CY(n,36),t)},nPB.a=0,nPB.b=0,nPB.d=0,Nj(nyx,"MinWidthLayerer",1410),ncm(1411,1,ndy,bp),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,10),i=CY(t,10),(r=this.a.f[e.p])<(a=this.a.f[i.p])?-1:+(r!=a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"MinWidthLayerer/MinOutgoingEdgesComparator",1411),ncm(1402,1,nyL,hl),nPB.rg=function(n){return CY(n,36),nqc},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y;if(e.Ug("Network simplex layering",1),n.b=t,p=4*CY(niK(t,(nlL(),nUx)),17).a,(g=n.b.a).c.length<1)return e.Vg();for(a=function(n,t){var e,i,r,a,c;for(null==n.c||n.c.length<t.c.length?n.c=BJ(n4h,ndV,28,t.c.length,16,1):pG(n.c),n.a=new du,i=0,c=new fU(t);c.a<c.c.c.length;)(r=CY(RU(c),10)).p=i++;for(e=new vq,a=new fU(t);a.a<a.c.c.length;)r=CY(RU(a),10),n.c[r.p]||(!function n(t,e){var i,r,a,c;for(t.c[e.p]=!0,jB(t.a,e),c=new fU(e.j);c.a<c.c.c.length;)for(i=new _4((a=CY(RU(c),12)).b);jr(i.a)||jr(i.b);)r=function(n,t){if(t.c==n)return t.d;if(t.d==n)return t.c;throw new pN("Input edge is not connected to the input port.").e}(a,CY(jr(i.a)?RU(i.a):RU(i.b),18)).i,t.c[r.p]||n(t,r)}(n,r),0==e.b||(Px(0!=e.b),CY(e.a.a.c,15)).gc()<n.a.c.length?E5(e,n.a):E6(e,n.a),n.a=new du);return e}(n,g),d=null,r=ZQ(a,0);r.b!=r.d.c;){for(i=CY(K0(r),15),o=p*Dy(nP_.Math.sqrt(i.gc())),nsd(((m=Cv(c=function(n){var t,e,i,r,a,c,o,u;for(u=new dc,t=new dY,c=n.Kc();c.Ob();)r=CY(c.Pb(),10),o=SA(v4(new d0,r),t),nr3(u.f,r,o);for(a=n.Kc();a.Ob();)for(i=new Le(Sb(JV(r=CY(a.Pb(),10)).a.Kc(),new s));ncv(i);)_p(e=CY(_I(i),18))||noI(v2(v0(v1(v3(new d1,nP_.Math.max(1,CY(niK(e,(nlL(),nUf)),17).a)),1),CY(NR(u,e.c.i),125)),CY(NR(u,e.d.i),125)));return t}(i))).f=o,(v=m).k=d,(y=v).a=!0,y),e.eh(1)),l=n.b.b,w=new fU(c.a);w.a<w.c.c.length;){for(b=CY(RU(w),125);l.c.length<=b.e;)AC(l,l.c.length,new NU(n.b));Rc(CY(b.f,10),CY(I0(l,b.e),30))}if(a.b>1)for(d=BJ(n4s,nwl,28,n.b.b.c.length,15,1),f=0,h=new fU(n.b.b);h.a<h.c.c.length;)u=CY(RU(h),30),d[f++]=u.a.c.length}g.c.length=0,n.a=null,n.b=null,n.c=null,e.Vg()}(this,CY(n,36),t)},Nj(nyx,"NetworkSimplexLayerer",1402),ncm(1408,1,nyL,Od),nPB.rg=function(n){return CY(n,36),IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w;if(e.Ug("StretchWidth layering",1),0==t.a.c.length)return e.Vg();for(n.c=t,n.t=0,n.u=0,n.i=nwF,n.g=nw_,n.d=pj(PI(niK(t,(nlL(),nUv)))),NP(c=n.c.a),n.p=new O8(c),a=new fU(c);a.a<a.c.c.length;)(r=CY(RU(a),10)).p=function(n){var t,e,i;for(t=Fv(new Le(Sb(JV(n).a.Kc(),new s))),e=new Le(Sb(Jz(n).a.Kc(),new s));ncv(e);)i=Fv(new Le(Sb(JV(CY(_I(e),18).c.i).a.Kc(),new s))),t=nP_.Math.max(t,i);return Qx(t)}(r).a;$O(),ji(n.p,new rB),function(n){var t,e,i,r,a;for(i=0,n.q=new du,t=new dV,a=new fU(n.p);a.a<a.c.c.length;){for((r=CY(RU(a),10)).p=i,e=new Le(Sb(JV(r).a.Kc(),new s));ncv(e);)LX(t,CY(_I(e),18).d.i);t.a.Bc(r),jB(n.q,new At(t)),t.a.$b(),++i}}(n);for(n.e=BJ(n4s,nwl,28,n.p.c.length,15,1),n.k=BJ(n4s,nwl,28,n.p.c.length,15,1),u=new fU(n.p);u.a<u.c.c.length;)o=CY(RU(u),10),n.e[o.p]=Fv(new Le(Sb(Jz(o).a.Kc(),new s))),n.k[o.p]=Fv(new Le(Sb(JV(o).a.Kc(),new s)));for(f=new fU(n.p);f.a<f.c.c.length;)(h=CY(RU(f),10)).k==(ni8(),n$v)&&(l=h.o.b,n.i=nP_.Math.min(n.i,l),n.g=nP_.Math.max(n.g,l));for(n.j=BJ(n4b,nwX,28,n.p.c.length,15,1),w=new fU(n.p);w.a<w.c.c.length;)b=CY(RU(w),10),n.j[b.p]=b.o.b/n.i;for(n.i=nP_.Math.max(1,n.i),n.g=nP_.Math.max(1,n.g),n.d=n.d/n.i,n.f=n.g/n.i,n.s=function(n){var t,e;for(t=0,e=new fU(n.c.a);e.a<e.c.c.length;)t+=Fv(new Le(Sb(JV(CY(RU(e),10)).a.Kc(),new s)));return t/n.c.a.c.length}(n),i=new NU(n.c),jB(n.c.b,i),n.r=RR(n.p),n.n=Dd(n.k,n.k.length);0!=n.r.c.length;)n.o=function(n){var t,e;for(e=new fU(n.r);e.a<e.c.c.length;)if(t=CY(RU(e),10),n.n[t.p]<=0)return t;return null}(n),!n.o||VK(n)&&0!=n.b.a.gc()?(!function(n,t){var e,i,r;for(i=new fU(t.a);i.a<i.c.c.length;)for(e=new Le(Sb(Jz(CY(RU(i),10)).a.Kc(),new s));ncv(e);)r=CY(_I(e),18).c.i.p,n.n[r]=n.n[r]-1}(n,i),i=new NU(n.c),jB(n.c.b,i),Xx(n.a,n.b),n.b.a.$b(),n.t=n.u,n.u=0):VK(n)?(n.c.b.c.length=0,i=new NU(n.c),jB(n.c.b,i),n.t=0,n.u=0,n.b.a.$b(),n.a.a.$b(),++n.f,n.r=RR(n.p),n.n=Dd(n.k,n.k.length)):(Rc(n.o,i),H0(n.r,n.o),LX(n.b,n.o),n.t=n.t-n.k[n.o.p]*n.d+n.j[n.o.p],n.u+=n.e[n.o.p]*n.d);t.a.c.length=0,nrY(t.b),e.Vg()}(this,CY(n,36),t)},nPB.d=0,nPB.f=0,nPB.g=0,nPB.i=0,nPB.s=0,nPB.t=0,nPB.u=0,Nj(nyx,"StretchWidthLayerer",1408),ncm(1409,1,ndy,rB),nPB.Ne=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),e.p<i.p?1:e.p>i.p?-1:0},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"StretchWidthLayerer/1",1409),ncm(413,1,ny$),nPB.gg=function(n,t,e,i,r,a){},nPB.ug=function(n,t,e){return nsy(this,n,t,e)},nPB.fg=function(){this.g=BJ(n4w,nyD,28,this.d,15,1),this.f=BJ(n4w,nyD,28,this.d,15,1)},nPB.hg=function(n,t){this.e[n]=BJ(n4s,nwl,28,t[n].length,15,1)},nPB.ig=function(n,t,e){e[n][t].p=t,this.e[n][t]=t},nPB.jg=function(n,t,e,i){CY(I0(i[n][t].j,e),12).p=this.d++},nPB.b=0,nPB.c=0,nPB.d=0,Nj(nyR,"AbstractBarycenterPortDistributor",413),ncm(1698,1,ndy,bm),nPB.Ne=function(n,t){var e,i,r,a,c,o,u;return e=this.a,i=CY(n,12),r=CY(t,12),(o=i.j)!=(u=r.j)?o.g-u.g:(a=e.f[i.p],c=e.f[r.p],0==a&&0==c?0:0==a?-1:0==c?1:Jj(a,c))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyR,"AbstractBarycenterPortDistributor/lambda$0$Type",1698),ncm(832,1,nma,KV),nPB.gg=function(n,t,e,i,r,a){},nPB.ig=function(n,t,e){},nPB.jg=function(n,t,e,i){},nPB.eg=function(){return!1},nPB.fg=function(){this.c=this.e.a,this.g=this.f.g},nPB.hg=function(n,t){t[n][0].c.p=n},nPB.kg=function(){return!1},nPB.vg=function(n,t,e,i){e?nev(this,n):(neL(this,n,i),nfK(this,n,t)),n.c.length>1&&(pT(PC(niK(xi((RN(0,n.c.length),CY(n.c[0],10))),(nlL(),nBY))))?ncV(n,this.d,CY(this,669)):($O(),ji(n,this.d)),z$(this.e,n))},nPB.lg=function(n,t,e,i){var r,a,c,o,u,s,h;for(t!=Au(e,n.length)&&(a=n[t-(e?1:-1)],_7(this.f,a,e?(qy(),nGD):(qy(),nG$))),r=n[t][0],h=!i||r.k==(ni8(),n$g),s=_q(n[t]),this.vg(s,h,!1,e),c=0,u=new fU(s);u.a<u.c.c.length;)o=CY(RU(u),10),n[t][c++]=o;return!1},nPB.mg=function(n,t){var e,i,r,a,c;for(c=Au(t,n.length),a=_q(n[c]),this.vg(a,!1,!0,t),e=0,r=new fU(a);r.a<r.c.c.length;)i=CY(RU(r),10),n[c][e++]=i;return!1},Nj(nyR,"BarycenterHeuristic",832),ncm(667,1,{667:1},bk),nPB.Ib=function(){return"BarycenterState [node="+this.c+", summedWeight="+this.d+", degree="+this.b+", barycenter="+this.a+", visited="+this.e+"]"},nPB.b=0,nPB.d=0,nPB.e=!1;var nAX=Nj(nyR,"BarycenterHeuristic/BarycenterState",667);ncm(1865,1,ndy,bv),nPB.Ne=function(n,t){var e,i,r,a,c;return e=this.a,i=CY(n,10),r=CY(t,10),(a=e.c[i.c.p][i.p],c=e.c[r.c.p][r.p],null!=a.a&&null!=c.a)?Ln(a.a,c.a):null!=a.a?-1:1*(null!=c.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyR,"BarycenterHeuristic/lambda$0$Type",1865),ncm(831,1,nma,nit),nPB.fg=function(){},nPB.gg=function(n,t,e,i,r,a){},nPB.jg=function(n,t,e,i){},nPB.hg=function(n,t){this.a[n]=BJ(nAX,{3:1,4:1,5:1,2117:1},667,t[n].length,0,1),this.b[n]=BJ(nAz,{3:1,4:1,5:1,2118:1},239,t[n].length,0,1)},nPB.ig=function(n,t,e){ZA(this,e[n][t],!0)},nPB.c=!1,Nj(nyR,"ForsterConstraintResolver",831),ncm(239,1,{239:1},$V,nfk),nPB.Ib=function(){var n,t,e;for(t=new p2,t.a+="[",n=0;n<this.d.length;n++)EY(t,nni(this.d[n])),null!=jD(this.g,this.d[0]).a&&EY(EY((t.a+="<",t),""+(xf(e=jD(this.g,this.d[0]).a),e)),">"),n<this.d.length-1&&(t.a+=nl8);return(t.a+="]",t).a},nPB.a=0,nPB.c=0,nPB.f=0;var nAz=Nj(nyR,"ForsterConstraintResolver/ConstraintGroup",239);ncm(1860,1,nbE,by),nPB.Cd=function(n){ZA(this.a,CY(n,10),!1)},Nj(nyR,"ForsterConstraintResolver/lambda$0$Type",1860),ncm(219,1,{219:1,230:1},nfj),nPB.gg=function(n,t,e,i,r,a){},nPB.hg=function(n,t){},nPB.fg=function(){this.r=BJ(n4s,nwl,28,this.n,15,1)},nPB.ig=function(n,t,e){var i;(i=e[n][t].e)&&jB(this.b,i)},nPB.jg=function(n,t,e,i){++this.n},nPB.Ib=function(){return function n(t,e){var i,r,a,c,o;if(null==t)return nbi;if(null!=e.a.zc(t,e))return"[...]";for(i=new zX(nl8,"[","]"),a=0,c=t.length;a<c;++a)null!=(r=t[a])&&(4&WZ(r).i)!=0?Array.isArray(r)&&!((o=UR(r))>=14&&o<=16)?e.a._b(r)?(i.a?EY(i.a,i.b):i.a=new Sv(i.d),EQ(i.a,"[...]")):_J(i,n(qr(r),new At(e))):jM(r,183)?_J(i,function(n){var t,e,i,r;if(null==n)return nbi;for(r=new zX(nl8,"[","]"),e=0,i=n.length;e<i;++e)t=n[e],r.a?EY(r.a,r.b):r.a=new Sv(r.d),EQ(r.a,""+t);return r.a?0==r.e.length?r.a.a:r.a.a+""+r.e:r.c}(CY(r,183))):jM(r,195)?_J(i,function(n){var t,e,i;if(null==n)return nbi;for(i=new zX(nl8,"[","]"),t=0,e=n.length;t<e;++t)_J(i,""+n[t]);return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}(CY(r,195))):jM(r,201)?_J(i,function(n){var t,e,i;if(null==n)return nbi;for(i=new zX(nl8,"[","]"),t=0,e=n.length;t<e;++t)_J(i,String.fromCharCode(n[t]));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}(CY(r,201))):jM(r,2111)?_J(i,function(n){var t,e,i;if(null==n)return nbi;for(i=new zX(nl8,"[","]"),t=0,e=n.length;t<e;++t)_J(i,""+n[t]);return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}(CY(r,2111))):jM(r,53)?_J(i,function(n){var t,e,i,r;if(null==n)return nbi;for(r=new zX(nl8,"[","]"),e=0,i=n.length;e<i;++e)t=n[e],r.a?EY(r.a,r.b):r.a=new Sv(r.d),EQ(r.a,""+t);return r.a?0==r.e.length?r.a.a:r.a.a+""+r.e:r.c}(CY(r,53))):jM(r,376)?_J(i,function(n){var t,e,i,r;if(null==n)return nbi;for(r=new zX(nl8,"[","]"),e=0,i=n.length;e<i;++e)t=n[e],r.a?EY(r.a,r.b):r.a=new Sv(r.d),EQ(r.a,""+Lm(t));return r.a?0==r.e.length?r.a.a:r.a.a+""+r.e:r.c}(CY(r,376))):jM(r,846)?_J(i,function(n){var t,e,i,r;if(null==n)return nbi;for(r=new zX(nl8,"[","]"),e=0,i=n.length;e<i;++e)t=n[e],r.a?EY(r.a,r.b):r.a=new Sv(r.d),EQ(r.a,""+t);return r.a?0==r.e.length?r.a.a:r.a.a+""+r.e:r.c}(CY(r,846))):jM(r,109)&&_J(i,function(n){var t,e,i,r;if(null==n)return nbi;for(r=new zX(nl8,"[","]"),e=0,i=n.length;e<i;++e)t=n[e],r.a?EY(r.a,r.b):r.a=new Sv(r.d),EQ(r.a,""+t);return r.a?0==r.e.length?r.a.a:r.a.a+""+r.e:r.c}(CY(r,109))):_J(i,null==r?nbi:J2(r));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}(this.e,new dV)},nPB.g=!1,nPB.i=!1,nPB.n=0,nPB.s=!1,Nj(nyR,"GraphInfoHolder",219),ncm(1905,1,nma,rH),nPB.gg=function(n,t,e,i,r,a){},nPB.hg=function(n,t){},nPB.jg=function(n,t,e,i){},nPB.ug=function(n,t,e){return e&&t>0?D_(this.a,n[t-1],n[t]):!e&&t<n.length-1?D_(this.a,n[t],n[t+1]):Xp(this.a,n[t],e?(nf5(),n1y):(nf5(),n1n)),function(n,t,e,i){var r,a,c,o,u,s,h,f,l;for(f=i?(nf5(),n1y):(nf5(),n1n),r=!1,u=t[e],s=0,h=u.length;s<h;++s)Oq(CY(niK(o=u[s],(nlL(),nUt)),101))||(c=o.e,(l=!JH(o,f).dc()&&!!c)&&(n.b=new nin(a=ne8(c),i?0:a.length-1)),r|=function(n,t,e,i){var r,a,c,o,u;o=JH(t,e),(e==(nf5(),n1m)||e==n1y)&&(o=Yi(o)),c=!1;do for(a=0,r=!1;a<o.gc()-1;a++)(function(n,t,e,i){var r,a,c,o,u;return o=CY((c=ntB(n.a,t,e)).a,17).a,a=CY(c.b,17).a,i&&(u=CY(niK(t,(nlF(),nFi)),10),r=CY(niK(e,nFi),10),u&&r&&(Fl(n.b,u,r),o+=n.b.i,a+=n.b.e)),o>a})(n,CY(o.Xb(a),12),CY(o.Xb(a+1),12),i)&&(c=!0,RZ(n.a,CY(o.Xb(a),12),CY(o.Xb(a+1),12)),u=CY(o.Xb(a+1),12),o.hd(a+1,CY(o.Xb(a),12)),o.hd(a,u),r=!0);while(r)return c}(n,o,f,l));return r}(this,n,t,e)},nPB.fg=function(){this.d=BJ(n4s,nwl,28,this.c,15,1),this.a=new OQ(this.d)},nPB.ig=function(n,t,e){var i;i=e[n][t],this.c+=i.j.c.length},nPB.c=0,Nj(nyR,"GreedyPortDistributor",1905),ncm(1421,1,nyL,hp),nPB.rg=function(n){var t,e;return t=CY(n,36),e=TA(nqo),CY(niK(t,(nlF(),nKU)),21).Hc((no7(),nKs))&&IG(e,(niF(),nxQ),(nlB(),nDp)),e},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(t.Ug("Interactive crossing minimization",1),c=0,a=new fU(n.b);a.a<a.c.c.length;)(i=CY(RU(a),30)).p=c++;for(d=new mb((l=ne8(n)).length),nhJ(new pU(Vw(DY(nAl,1),nl7,230,0,[d])),l),w=0,c=0,r=new fU(n.b);r.a<r.c.c.length;){for(i=CY(RU(r),30),e=0,f=0,h=new fU(i.a);h.a<h.c.c.length;)for((u=CY(RU(h),10)).n.a>0&&(e+=u.n.a+u.o.a/2,++f),b=new fU(u.j);b.a<b.c.c.length;)CY(RU(b),12).p=w++;for(f>0&&(e/=f),g=BJ(n4b,nwX,28,i.a.c.length,15,1),o=0,s=new fU(i.a);s.a<s.c.c.length;)(u=CY(RU(s),10)).p=o++,g[u.p]=function(n,t){var e,i,r,a,c,o,u,s,h,f,l;switch(n.k.g){case 1:if(i=CY(niK(n,(nlF(),nK6)),18),(e=CY(niK(i,nK5),75))?pT(PC(niK(i,nFu)))&&(e=Wo(e)):e=new gj,s=CY(niK(n,nK1),12)){if(t<=(h=V4(Vw(DY(nLA,1),nby,8,0,[s.i.n,s.n,s.a]))).a)return h.b;F_(e,h,e.a,e.a.a)}if(f=CY(niK(n,nK0),12)){if((l=V4(Vw(DY(nLA,1),nby,8,0,[f.i.n,f.n,f.a]))).a<=t)return l.b;F_(e,l,e.c.b,e.c)}if(e.b>=2){for(c=CY(K0(u=ZQ(e,0)),8),o=CY(K0(u),8);o.a<t&&u.b!=u.d.c;)c=o,o=CY(K0(u),8);return c.b+(t-c.a)/(o.a-c.a)*(o.b-c.b)}break;case 3:switch(r=(a=CY(niK(CY(I0(n.j,0),12),(nlF(),nK6)),12)).i,a.j.g){case 1:return r.n.b;case 3:return r.n.b+r.o.b}}return neD(n).b}(u,e),u.k==(ni8(),n$m)&&VD(u,(nlF(),nK8),g[u.p]);$O(),ji(i.a,new bE(g)),nsy(d,l,c,!0),++c}t.Vg()}(CY(n,36),t)},Nj(nyR,"InteractiveCrossingMinimizer",1421),ncm(1422,1,ndy,bE),nPB.Ne=function(n,t){return function(n,t,e){var i,r,a;if(0==(i=Jj(n.a[t.p],n.a[e.p]))){if(r=CY(niK(t,(nlF(),nKW)),15),a=CY(niK(e,nKW),15),r.Hc(e))return -1;if(a.Hc(t))return 1}return i}(this,CY(n,10),CY(t,10))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyR,"InteractiveCrossingMinimizer/1",1422),ncm(514,1,{514:1,106:1,47:1},pv),nPB.rg=function(n){var t;return CY(n,36),IG(t=TA(nqu),(niF(),nxQ),(nlB(),nDp)),t},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(e.Ug("Minimize Crossings "+n.a,1),i=0==t.b.c.length||!mQ(xX(new Aa(null,new R$(t.b,16)),new f4(new rU))).Bd((vY(),nCF)),u=1==t.b.c.length&&1==CY(I0(t.b,0),30).a.c.length,a=ER(niK(t,(nlL(),nHm)))===ER((QO(),nZj)),i||u&&!a)return e.Vg();for(r=function(n,t){var e,i,r,a,c,o;for(n.b=new du,n.d=CY(niK(t,(nlF(),nFc)),234),n.e=JF(A8(zF(nc8(o=n.d,32)),32),zF(nc8(o,32))),a=new vq,r=_q(Vw(DY(nAe,1),np$,36,0,[t])),c=0;c<r.c.length;)RN(c,r.c.length),(i=CY(r.c[c],36)).p=c++,Vc(r,(e=new nfj(i,n.a,n.b)).b),jB(n.b,e),e.s&&Ne(ZQ(a,0),e);return n.c=new dV,a}(n,t),c=(o=CY(nnt(r,0),219)).c.kg()?o.c.eg()?new bj(n):new bS(n):new bT(n),h=ZQ(r,0);h.b!=h.d.c;)(s=CY(K0(h),219)).e.length>0&&(c.Cd(s),s.i&&function(n){var t;n.g&&(noV((t=n.c.kg()?n.f:n.a).a,n.o,!0),noV(t.a,n.o,!1),VD(n.o,(nlL(),nUt),(nie(),nZQ)))}(s));for(b=new fU(n.b);b.a<b.c.c.length;)(f=(l=CY(RU(b),219)).c.kg()?l.f:l.a)&&function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(r=0,h=new du,l=new dV,c=t.b;r<c.c.length;r++){for(a=0,s=(RN(r,c.c.length),CY(c.c[r],30)).a,h.c.length=0;a<s.c.length;a++)(o=n.a[r][a]).p=a,o.k==(ni8(),n$y)&&dk(h.c,o),_o(CY(I0(t.b,r),30).a,a,o),o.j.c.length=0,Vc(o.j,CY(CY(I0(n.b,r),15).Xb(a),16)),Oq(CY(niK(o,(nlL(),nUt)),101))||VD(o,nUt,(nie(),nZQ));for(i=new fU(h);i.a<i.c.c.length;)f=function(n){var t,e,i,r,a,c,o;for(r=CY(niK(n,(nlF(),nKV)),10),RN(0,(i=n.j).c.length),e=CY(i.c[0],12),c=new fU(r.j);c.a<c.c.c.length;)if(ER(a=CY(RU(c),12))===ER(niK(e,nK6))){a.j==(nf5(),n1t)&&n.p>r.p?(nau(a,n1m),a.d&&(o=a.o.b,t=a.a.b,a.a.b=o-t)):a.j==n1m&&r.p>n.p&&(nau(a,n1t),a.d&&(o=a.o.b,t=a.a.b,a.a.b=-(o-t)));break}return r}(e=CY(RU(i),10)),l.a.zc(f,l),l.a.zc(e,l)}for(u=l.a.ec().Kc();u.Ob();)o=CY(u.Pb(),10),$O(),ji(o.j,(Wy(),nDF)),o.i=!0,nal(o)}(f,l.j);e.Vg()}(this,CY(n,36),t)},nPB.e=0,Nj(nyR,"LayerSweepCrossingMinimizer",514),ncm(1418,1,nbE,bT),nPB.Cd=function(n){!function(n,t){var e,i,r,a,c;if(jF(n.d,AW(RF(A9(c=n.e,24),nde)),AW(RF(c,nde))),n.c.a.$b(),0!=pj(PI(niK(t.j,(nlL(),nBq))))||0!=pj(PI(niK(t.j,nBq))))for(e=ngK,ER(niK(t.j,nBQ))!==ER((Zu(),nGO))&&VD(t.j,(nlF(),nKH),(SB(),!0)),a=CY(niK(t.j,nUx),17).a,r=0;r<a&&(!((i=function(n,t){var e,i,r;if(i=0!=nc8(n.d,1),0==nuJ(n,t)&&pT(PC(niK(t.j,(nlF(),nKH)))))return 0;(pT(PC(niK(t.j,(nlF(),nKH))))||pT(PC(niK(t.j,nFs))))&&ER(niK(t.j,(nlL(),nBQ)))!==ER((Zu(),nGO))?i=pT(PC(niK(t.j,nKH))):t.c.mg(t.e,i),noP(n,t,i,!0),pT(PC(niK(t.j,nFs)))&&VD(t.j,nFs,(SB(),!1)),pT(PC(niK(t.j,nKH)))&&(VD(t.j,nKH,(SB(),!1)),VD(t.j,nFs,!0)),e=nuJ(n,t);do{if(XO(n),0==e)return 0;i=!i,r=e,noP(n,t,i,!1),e=nuJ(n,t)}while(r>e)return r}(n,t))<e)||(e=i,XP(n),0!=e));r++);else for(e=nl3,ER(niK(t.j,nBQ))!==ER((Zu(),nGO))&&VD(t.j,(nlF(),nKH),(SB(),!0)),a=CY(niK(t.j,nUx),17).a,r=0;r<a&&(!((i=nhI(n,t))<e)||(e=i,XP(n),0!=e));r++);}(this.a,CY(n,219))},Nj(nyR,"LayerSweepCrossingMinimizer/0methodref$compareDifferentRandomizedLayouts$Type",1418),ncm(1419,1,nbE,bj),nPB.Cd=function(n){!function(n,t){var e,i;for(i=0!=nc8(n.d,1),e=!0;e;)e=!1,e=t.c.mg(t.e,i)|noP(n,t,i,!1),i=!i;XO(n)}(this.a,CY(n,219))},Nj(nyR,"LayerSweepCrossingMinimizer/1methodref$minimizeCrossingsNoCounter$Type",1419),ncm(1420,1,nbE,bS),nPB.Cd=function(n){nhI(this.a,CY(n,219))},Nj(nyR,"LayerSweepCrossingMinimizer/2methodref$minimizeCrossingsWithCounter$Type",1420),ncm(464,22,{3:1,34:1,22:1,464:1},k2);var nAV=qc(nyR,"LayerSweepCrossingMinimizer/CrossMinType",464,nPw,function(){return qp(),Vw(DY(nAV,1),nbG,464,0,[nqs,nqh,nqf])},function(n){return qp(),qa((BR(),nql),n)});ncm(1417,1,nbV,rU),nPB.Mb=function(n){return X3(),0==CY(n,30).a.c.length},Nj(nyR,"LayerSweepCrossingMinimizer/lambda$0$Type",1417),ncm(1862,1,nma,D3),nPB.fg=function(){},nPB.gg=function(n,t,e,i,r,a){},nPB.jg=function(n,t,e,i){},nPB.hg=function(n,t){t[n][0].c.p=n,this.b[n]=BJ(nAW,{3:1,4:1,5:1,2043:1},668,t[n].length,0,1)},nPB.ig=function(n,t,e){e[n][t].p=t,NK(this.b[n],t,new rG)},Nj(nyR,"LayerSweepTypeDecider",1862),ncm(668,1,{668:1},rG),nPB.Ib=function(){return"NodeInfo [connectedEdges="+this.a+", hierarchicalInfluence="+this.b+", randomInfluence="+this.c+"]"},nPB.a=0,nPB.b=0,nPB.c=0;var nAW=Nj(nyR,"LayerSweepTypeDecider/NodeInfo",668);ncm(1863,1,ndK,rq),nPB.Lb=function(n){return SR(new _4(CY(n,12).b))},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return SR(new _4(CY(n,12).b))},Nj(nyR,"LayerSweepTypeDecider/lambda$0$Type",1863),ncm(1864,1,ndK,rX),nPB.Lb=function(n){return SR(new _4(CY(n,12).b))},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return SR(new _4(CY(n,12).b))},Nj(nyR,"LayerSweepTypeDecider/lambda$1$Type",1864),ncm(1906,413,ny$,ml),nPB.tg=function(n,t,e){var i,r,a,c,o,u,s,h,f;switch(s=this.g,e.g){case 1:for(i=0,r=0,u=new fU(n.j);u.a<u.c.c.length;)0!=(c=CY(RU(u),12)).e.c.length&&(++i,c.j==(nf5(),n1t)&&++r);for(a=t+r,f=t+i,o=Yx(n,(qy(),nG$)).Kc();o.Ob();)(c=CY(o.Pb(),12)).j==(nf5(),n1t)?(s[c.p]=a,--a):(s[c.p]=f,--f);return i;case 2:for(h=0,o=Yx(n,(qy(),nGD)).Kc();o.Ob();)c=CY(o.Pb(),12),++h,s[c.p]=t+h;return h;default:throw(new dN).e}},Nj(nyR,"LayerTotalPortDistributor",1906),ncm(669,832,{669:1,230:1},XE),nPB.vg=function(n,t,e,i){e?nev(this,n):(neL(this,n,i),nfK(this,n,t)),n.c.length>1&&(pT(PC(niK(xi((RN(0,n.c.length),CY(n.c[0],10))),(nlL(),nBY))))?ncV(n,this.d,this):($O(),ji(n,this.d)),pT(PC(niK(xi((RN(0,n.c.length),CY(n.c[0],10))),nBY)))||z$(this.e,n))},Nj(nyR,"ModelOrderBarycenterHeuristic",669),ncm(1866,1,ndy,bP),nPB.Ne=function(n,t){var e,i,r,a,c,o,u,s,h,f,l;return e=this.a,0!=(a=function(n,t,e){if(LR(n.a,t)){if(vF(CY(NR(n.a,t),49),e))return 1}else xM(n.a,t,new dV);if(LR(n.a,e)){if(vF(CY(NR(n.a,e),49),t))return -1}else xM(n.a,e,new dV);if(LR(n.b,t)){if(vF(CY(NR(n.b,t),49),e))return -1}else xM(n.b,t,new dV);if(LR(n.b,e)){if(vF(CY(NR(n.b,e),49),t))return 1}else xM(n.b,e,new dV);return 0}(e,i=CY(n,10),r=CY(t,10)))?a:Pn(i,(nlF(),nK4))&&Pn(r,nK4)?((c=jo(CY(niK(i,nK4),17).a,CY(niK(r,nK4),17).a))<0?nu2(e,i,r):c>0&&nu2(e,r,i),c):(o=e,u=i,s=r,(h=o.c[u.c.p][u.p],f=o.c[s.c.p][s.p],null!=h.a&&null!=f.a)?((l=Ln(h.a,f.a))<0?nu2(o,u,s):l>0&&nu2(o,s,u),l):null!=h.a?(nu2(o,u,s),-1):null!=f.a?(nu2(o,s,u),1):0)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyR,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),ncm(1423,1,nyL,hm),nPB.rg=function(n){var t;return CY(n,36),IG(t=TA(nqb),(niF(),nxQ),(nlB(),nDp)),t},nPB.Kf=function(n,t){var e;(CY(n,36),e=t).Ug("No crossing minimization",1),e.Vg()},Nj(nyR,"NoCrossingMinimizer",1423),ncm(809,413,ny$,mb),nPB.tg=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;switch(f=this.g,e.g){case 1:for(r=0,a=0,h=new fU(n.j);h.a<h.c.c.length;)0!=(u=CY(RU(h),12)).e.c.length&&(++r,u.j==(nf5(),n1t)&&++a);for(c=t+a*(i=1/(r+1)),b=t+1-i,s=Yx(n,(qy(),nG$)).Kc();s.Ob();)(u=CY(s.Pb(),12)).j==(nf5(),n1t)?(f[u.p]=c,c-=i):(f[u.p]=b,b-=i);break;case 2:for(o=0,h=new fU(n.j);h.a<h.c.c.length;)0==(u=CY(RU(h),12)).g.c.length||++o;for(l=t+(i=1/(o+1)),s=Yx(n,(qy(),nGD)).Kc();s.Ob();)f[(u=CY(s.Pb(),12)).p]=l,l+=i;break;default:throw new pN("Port type is undefined").e}return 1},Nj(nyR,"NodeRelativePortDistributor",809),ncm(822,1,{},LL,niZ),Nj(nyR,"SweepCopy",822),ncm(1861,1,nma,YW),nPB.hg=function(n,t){},nPB.fg=function(){var n;n=BJ(n4s,nwl,28,this.f,15,1),this.d=new b$(n),this.a=new OQ(n)},nPB.gg=function(n,t,e,i,r,a){var c;c=CY(I0(a[n][t].j,e),12),r.c==c&&r.c.i.c==r.d.i.c&&++this.e[n]},nPB.ig=function(n,t,e){var i;i=e[n][t],this.c[n]=this.c[n]|i.k==(ni8(),n$y)},nPB.jg=function(n,t,e,i){var r;(r=CY(I0(i[n][t].j,e),12)).p=this.f++,r.g.c.length+r.e.c.length>1&&(r.j==(nf5(),n1n)?this.b[n]=!0:r.j==n1y&&n>0&&(this.b[n-1]=!0))},nPB.f=0,Nj(nmr,"AllCrossingsCounter",1861),ncm(595,1,{},Xk),nPB.b=0,nPB.d=0,Nj(nmr,"BinaryIndexedTree",595),ncm(532,1,{},OQ),Nj(nmr,"CrossingsCounter",532),ncm(1950,1,ndy,bO),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,12),r=CY(t,12),jo(e.d[i.p],e.d[r.p])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmr,"CrossingsCounter/lambda$0$Type",1950),ncm(1951,1,ndy,bC),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,12),r=CY(t,12),jo(e.d[i.p],e.d[r.p])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmr,"CrossingsCounter/lambda$1$Type",1951),ncm(1952,1,ndy,bI),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,12),r=CY(t,12),jo(e.d[i.p],e.d[r.p])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmr,"CrossingsCounter/lambda$2$Type",1952),ncm(1953,1,ndy,bA),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,12),r=CY(t,12),jo(e.d[i.p],e.d[r.p])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmr,"CrossingsCounter/lambda$3$Type",1953),ncm(1954,1,nbE,bL),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,12),CT(),jB(t,new Ea(e,Qx(e.e.c.length+e.g.c.length)))},Nj(nmr,"CrossingsCounter/lambda$4$Type",1954),ncm(1955,1,nbV,bN),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,12),CT(),e!=t},Nj(nmr,"CrossingsCounter/lambda$5$Type",1955),ncm(1956,1,nbE,bx),nPB.Cd=function(n){ET(this,n)},Nj(nmr,"CrossingsCounter/lambda$6$Type",1956),ncm(1957,1,nbE,k3),nPB.Cd=function(n){var t;CT(),K3(this.b,(t=this.a,CY(n,12),t))},Nj(nmr,"CrossingsCounter/lambda$7$Type",1957),ncm(839,1,ndK,rz),nPB.Lb=function(n){return CT(),Pn(CY(n,12),(nlF(),nFi))},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return CT(),Pn(CY(n,12),(nlF(),nFi))},Nj(nmr,"CrossingsCounter/lambda$8$Type",839),ncm(1949,1,{},b$),Nj(nmr,"HyperedgeCrossingsCounter",1949),ncm(478,1,{34:1,478:1},Ov),nPB.Fd=function(n){var t=CY(n,478);return this.e<t.e?-1:this.e>t.e?1:this.f<t.f?-1:this.f>t.f?1:XS(this)-XS(t)},nPB.b=0,nPB.c=0,nPB.e=0,nPB.f=0;var nAQ=Nj(nmr,"HyperedgeCrossingsCounter/Hyperedge",478);ncm(374,1,{34:1,374:1},x0),nPB.Fd=function(n){var t=CY(n,374);if(this.c<t.c)return -1;if(this.c>t.c)return 1;if(this.b<t.b)return -1;if(this.b>t.b)return 1;if(this.a!=t.a)return XS(this.a)-XS(t.a);if(this.d==(Ft(),nqp)&&t.d==nqg)return -1;if(this.d==nqg&&t.d==nqp)return 1;return 0},nPB.b=0,nPB.c=0;var nAJ=Nj(nmr,"HyperedgeCrossingsCounter/HyperedgeCorner",374);ncm(531,22,{3:1,34:1,22:1,531:1},k4);var nAY=qc(nmr,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,nPw,function(){return Ft(),Vw(DY(nAY,1),nbG,531,0,[nqp,nqg])},function(n){return Ft(),qa((FZ(),nqm),n)});ncm(1425,1,nyL,hv),nPB.rg=function(n){return CY(niK(CY(n,36),(nlF(),nKU)),21).Hc((no7(),nKc))?nqv:null},nPB.Kf=function(n,t){!function(n,t,e){var i;for(e.Ug("Interactive node placement",1),n.a=CY(niK(t,(nlF(),nFf)),312),i=new fU(t.b);i.a<i.c.c.length;)!function(n,t){var e,i,r,a,c,o,u,s,h;for(e=nw_,ni8(),o=n$v,r=new fU(t.a);r.a<r.c.c.length;)(a=(i=CY(RU(r),10)).k)!=n$v&&(null==(c=PI(niK(i,(nlF(),nK8))))?(e=nP_.Math.max(e,0),i.n.b=e+Fu(s=n.a,a,o,s.c)):i.n.b=(xf(c),c)),u=Fu(h=n.a,a,o,h.c),i.n.b<e+u+i.d.d&&(i.n.b=e+u+i.d.d),e=i.n.b+i.o.b+i.d.a,o=a}(n,CY(RU(i),30));e.Vg()}(this,CY(n,36),t)},Nj(nyK,"InteractiveNodePlacer",1425),ncm(1426,1,nyL,hy),nPB.rg=function(n){return CY(niK(CY(n,36),(nlF(),nKU)),21).Hc((no7(),nKc))?nqy:null},nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("Linear segments node placement",1),this.b=CY(niK(e,(nlF(),nFf)),312),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A;for(C=new du,b=new fU(t.b);b.a<b.c.c.length;)for(y=new fU(CY(RU(b),30).a);y.a<y.c.c.length;){for((v=CY(RU(y),10)).p=-1,f=nbJ,E=nbJ,j=new fU(v.j);j.a<j.c.c.length;){for(r=new fU((T=CY(RU(j),12)).e);r.a<r.c.c.length;)e=CY(RU(r),18),S=CY(niK(e,(nlL(),nUl)),17).a,f=nP_.Math.max(f,S);for(i=new fU(T.g);i.a<i.c.c.length;)e=CY(RU(i),18),S=CY(niK(e,(nlL(),nUl)),17).a,E=nP_.Math.max(E,S)}VD(v,nqk,Qx(f)),VD(v,nqM,Qx(E))}for(g=0,l=new fU(t.b);l.a<l.c.c.length;)for(y=new fU(CY(RU(l),30).a);y.a<y.c.c.length;)(v=CY(RU(y),10)).p<0&&((O=new ga).b=g++,function n(t,e,i){var r,a,c,o,u;if(r=e.k,e.p>=0)return!1;if(e.p=i.b,jB(i.e,e),r==(ni8(),n$m)||r==n$y){for(a=new fU(e.j);a.a<a.c.c.length;)for(u=new lx(new fU(new lN(CY(RU(a),12)).a.g));jr(u.a);)if(o=(c=CY(RU(u.a),18).d.i).k,e.c!=c.c&&(o==n$m||o==n$y)&&n(t,c,i))return!0}return!0}(n,v,O),dk(C.c,O));for(c=0,M=SY(C.c.length),h=SY(C.c.length);c<C.c.length;c++)jB(M,new du),jB(h,Qx(0));for(!function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(b=t.c.length,l=0,f=new fU(n.b);f.a<f.c.c.length;)if(0!=(p=(h=CY(RU(f),30)).a).c.length){for(g=new fU(p),s=0,m=null,r=CY(RU(g),10),a=null;r;){if((a=CY(I0(t,r.p),261)).c>=0){for(u=null,o=new Kp(h.a,s+1);o.b<o.d.gc()&&(Px(o.b<o.d.gc()),c=CY(o.d.Xb(o.c=o.b++),10),(u=CY(I0(t,c.p),261)).d!=a.d||!(u.c<a.c));)u=null;u&&(m&&(_o(i,r.p,Qx(CY(I0(i,r.p),17).a-1)),CY(I0(e,m.p),15).Mc(a)),a=function(n,t,e){var i,r,a,c;for(c=H6(n.e,t,0),(a=new ga).b=e,i=new Kp(n.e,c);i.b<i.d.gc();)Px(i.b<i.d.gc()),(r=CY(i.d.Xb(i.c=i.b++),10)).p=e,jB(a.e,r),N6(i);return a}(a,r,b++),dk(t.c,a),jB(e,new du),m?(CY(I0(e,m.p),15).Fc(a),jB(i,Qx(1))):jB(i,Qx(0)))}w=null,g.a<g.c.c.length&&(w=CY(RU(g),10),d=CY(I0(t,w.p),261),CY(I0(e,r.p),15).Fc(d),_o(i,w.p,Qx(CY(I0(i,w.p),17).a+1))),a.d=l,a.c=s++,m=r,r=w}++l}}(t,C,M,h),I=CY(ZB(C,BJ(nAZ,nyF,261,C.c.length,0,1)),854),k=CY(ZB(M,BJ(nPf,ngF,15,M.c.length,0,1)),198),s=BJ(n4s,nwl,28,h.c.length,15,1),o=0;o<s.length;o++)s[o]=(RN(o,h.c.length),CY(h.c[o],17)).a;for(u=0,p=0,m=new du;u<I.length;u++)0==s[u]&&dk(m.c,I[u]);for(d=BJ(n4s,nwl,28,I.length,15,1);0!=m.c.length;)for(d[(O=CY(_V(m,0),261)).b]=p++;!k[O.b].dc();)A=CY(k[O.b].gd(0),261),--s[A.b],0==s[A.b]&&dk(m.c,A);for(a=0,n.a=BJ(nAZ,nyF,261,I.length,0,1);a<I.length;a++)for(w=I[a],P=d[a],n.a[P]=w,w.b=P,y=new fU(w.e);y.a<y.c.c.length;)(v=CY(RU(y),10)).p=P;n.a}(this,e),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(o=BJ(n4s,nwl,28,t.b.c.length,15,1),s=BJ(nAa,nbG,273,t.b.c.length,0,1),u=BJ(nAr,npU,10,t.b.c.length,0,1),f=n.a,l=0,b=f.length;l<b;++l){for(h=f[l],d=0,c=new fU(h.e);c.a<c.c.c.length;)i=Tk((r=CY(RU(c),10)).c),++o[i],w=pj(PI(niK(t,(nlL(),nUv)))),o[i]>0&&u[i]&&(w=jh(n.b,u[i],r)),d=nP_.Math.max(d,r.c.c.b+w);for(a=new fU(h.e);a.a<a.c.c.length;)(r=CY(RU(a),10)).n.b=d+r.d.d,(e=r.c).c.b=d+r.d.d+r.o.b+r.d.a,s[H6(e.b.b,e,0)]=r.k,u[H6(e.b.b,e,0)]=r}}(this,e),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;i=pj(PI(niK(t,(nlL(),nHq)))),k=CY(niK(t,nUx),17).a,l=4,r=3,M=20/k,b=!1,u=0,c=nl3;do{for(a=1!=u,f=0!=u,E=0,g=n.a,m=0,y=g.length;m<y;++m)(w=g[m]).f=null,function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;for(M=0,b=0,f=new fU(t.e);f.a<f.c.c.length;){for(h=CY(RU(f),10),l=0,o=0,u=e?CY(niK(h,nqk),17).a:nbJ,p=i?CY(niK(h,nqM),17).a:nbJ,s=nP_.Math.max(u,p),v=new fU(h.j);v.a<v.c.c.length;){if(m=CY(RU(v),12),y=h.n.b+m.n.b+m.a.b,i)for(c=new fU(m.g);c.a<c.c.c.length;)w=(d=(a=CY(RU(c),18)).d).i,t!=n.a[w.p]&&(g=nP_.Math.max(CY(niK(w,nqk),17).a,CY(niK(w,nqM),17).a),(k=CY(niK(a,(nlL(),nUl)),17).a)>=s&&k>=g&&(l+=w.n.b+d.n.b+d.a.b-y,++o));if(e)for(c=new fU(m.e);c.a<c.c.c.length;)w=(d=(a=CY(RU(c),18)).c).i,t!=n.a[w.p]&&(g=nP_.Math.max(CY(niK(w,nqk),17).a,CY(niK(w,nqM),17).a),(k=CY(niK(a,(nlL(),nUl)),17).a)>=s&&k>=g&&(l+=w.n.b+d.n.b+d.a.b-y,++o))}o>0&&(M+=l/o,++b)}b>0?(t.a=r*M/b,t.g=b):(t.a=0,t.g=0)}(n,w,a,f,i),E+=nP_.Math.abs(w.a);do o=function(n,t){var e,i,r,a,c,o,u,s,h,f;for(e=!1,h=nbQ*pj(PI(niK(t,(nlL(),nUC)))),i=new fU(t.b);i.a<i.c.c.length;)for(c=new fU(CY(RU(i),30).a),r=CY(RU(c),10),o=Lv(n.a[r.p]);c.a<c.c.c.length;)a=CY(RU(c),10),o!=(u=Lv(n.a[a.p]))&&(s=jh(n.b,r,a),r.n.b+r.o.b+r.d.a+o.a+s>a.n.b-a.d.d+u.a+h&&(f=o.g+u.g,u.a=(u.g*u.a+o.g*o.a)/f,u.g=f,o.f=u,e=!0)),r=a,o=u;return e}(n,t);while(o)for(d=n.a,p=0,v=d.length;p<v;++p)if(0!=(e=Lv(w=d[p]).a))for(h=new fU(w.e);h.a<h.c.c.length;)s=CY(RU(h),10),s.n.b+=e;0==u||1==u?--l<=0&&(E<c||-l>k)?(u=2,c=nl3):(u=1*(0==u),c=E):(b=E>=c||c-E<M,c=E,b&&--r)}while(!(b&&r<=0))}(this,e),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;for(m=n.a,v=0,y=m.length;v<y;++v){for(p=m[v],u=nl3,s=nl3,b=new fU(p.e);b.a<b.c.c.length;)(a=(f=CY(RU(b),10)).c?H6(f.c.a,f,0):-1)>0?(h=CY(I0(f.c.a,a-1),10),E=jh(n.b,f,h),d=f.n.b-f.d.d-(h.n.b+h.o.b+h.d.a+E)):d=f.n.b-f.d.d,u=nP_.Math.min(d,u),a<f.c.a.c.length-1?(h=CY(I0(f.c.a,a+1),10),E=jh(n.b,f,h),g=h.n.b-h.d.d-(f.n.b+f.o.b+f.d.a+E)):g=2*f.n.b,s=nP_.Math.min(g,s);for(o=nl3,r=!1,j=new fU((i=CY(I0(p.e,0),10)).j);j.a<j.c.c.length;)for(T=CY(RU(j),12),w=i.n.b+T.n.b+T.a.b,e=new fU(T.e);e.a<e.c.c.length;)t=(k=CY(RU(e),18).c).i.n.b+k.n.b+k.a.b-w,nP_.Math.abs(t)<nP_.Math.abs(o)&&nP_.Math.abs(t)<(t<0?u:s)&&(o=t,r=!0);for(M=new fU((c=CY(I0(p.e,p.e.c.length-1),10)).j);M.a<M.c.c.length;)for(k=CY(RU(M),12),w=c.n.b+k.n.b+k.a.b,e=new fU(k.g);e.a<e.c.c.length;)t=(T=CY(RU(e),18).d).i.n.b+T.n.b+T.a.b-w,nP_.Math.abs(t)<nP_.Math.abs(o)&&nP_.Math.abs(t)<(t<0?u:s)&&(o=t,r=!0);if(r&&0!=o)for(l=new fU(p.e);l.a<l.c.c.length;)f=CY(RU(l),10),f.n.b+=o}}(this),this.a=null,this.b=null,t.Vg()},Nj(nyK,"LinearSegmentsNodePlacer",1426),ncm(261,1,{34:1,261:1},ga),nPB.Fd=function(n){var t;return t=CY(n,261),this.b-t.b},nPB.Fb=function(n){var t;return!!jM(n,261)&&(t=CY(n,261),this.b==t.b)},nPB.Hb=function(){return this.b},nPB.Ib=function(){return"ls"+niV(this.e)},nPB.a=0,nPB.b=0,nPB.c=-1,nPB.d=-1,nPB.g=0;var nAZ=Nj(nyK,"LinearSegmentsNodePlacer/LinearSegment",261);ncm(1428,1,nyL,AF),nPB.rg=function(n){return CY(niK(CY(n,36),(nlF(),nKU)),21).Hc((no7(),nKc))?nqE:null},nPB.Kf=function(n,t){!function(n,t,e){e.Ug("Network simplex node placement",1),n.e=t,n.n=CY(niK(t,(nlF(),nFf)),312),function(n){var t,e,i,r,a,c,o,u,h,f,l,b;for(n.f=new dY,o=0,i=0,r=new fU(n.e.b);r.a<r.c.c.length;)for(c=new fU(CY(RU(r),30).a);c.a<c.c.c.length;){for((a=CY(RU(c),10)).p=o++,e=new Le(Sb(JV(a).a.Kc(),new s));ncv(e);)CY(_I(e),18).p=i++;for(t=nhY(a),f=new fU(a.j);f.a<f.c.c.length;)h=CY(RU(f),12),t&&(b=h.a.b)!=nP_.Math.floor(b)&&(u=b-KI(zF(nP_.Math.round(b))),h.a.b-=u),(l=h.n.b+h.a.b)!=nP_.Math.floor(l)&&(u=l-KI(zF(nP_.Math.round(l))),h.n.b-=u)}n.g=o,n.b=i,n.i=BJ(nA0,nl7,412,o,0,1),n.c=BJ(nA1,nl7,655,i,0,1),n.d.a.$b()}(n);for(f=new fU(n.e.b);f.a<f.c.c.length;)!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;for(r=null,i=new fU(t.a);i.a<i.c.c.length;)nhY(e=CY(RU(i),10))?(o=SA(v4(new d0,e),n.f),u=SA(v4(new d0,e),n.f),s=new x2(e,!0,o,u),h=e.o.b,nnT(),f=(!e.q?($O(),$O(),nOB):e.q)._b((nlL(),nHX))?CY(niK(e,nHX),203):CY(niK(xi(e),nHz),203),l=1e4,f==nGa&&(l=1),b=noI(v2(v0(v1(v3(new d1,l),Dy(nP_.Math.ceil(h))),o),u)),f==nGc&&LX(n.d,b),nsI(n,Yi(JH(e,(nf5(),n1y))),s),nsI(n,JH(e,n1n),s),a=s):(w=SA(v4(new d0,e),n.f),vZ(xX(new Aa(null,new R$(e.j,16)),new rZ),new k5(n,w)),a=new x2(e,!1,w,w)),n.i[e.p]=a,r&&(c=r.c.d.a+jh(n.n,r.c,e)+e.d.d,r.b||(c+=r.c.o.b),noI(v2(v0(v3(v1(new d1,Dy(nP_.Math.ceil(c))),0),r.d),a.a))),r=a}(n,CY(RU(f),30));if(vZ(xX(UL(UL(new Aa(null,new R$(n.e.b,16)),new r6),new at),new ae),new bU(n)),vZ(UL(new Aa(null,new R$(n.e.b,16)),new r1),new bK(n)),vZ(xX(UL(xX(UL(new Aa(null,new R$(n.e.b,16)),new ai),new ar),new aa),new ac),new bR(n)),pT(PC(niK(n.e,(nlL(),nHG))))&&((a=e.eh(1)).Ug("Straight Edges Pre-Processing",1),!function(n){var t,e,i,r,a,c,o,u,s,h;for(n.j=BJ(n4s,nwl,28,n.g,15,1),n.o=new du,vZ(UL(new Aa(null,new R$(n.e.b,16)),new r5),new b_(n)),n.a=BJ(n4h,ndV,28,n.b,16,1),QW(new Aa(null,new R$(n.e.b,16)),new bH(n)),h=new du,vZ(xX(UL(new Aa(null,new R$(n.e.b,16)),new r9),new bB(n)),new k8(n,h)),o=new fU(h);o.a<o.c.c.length;)if(!((c=CY(RU(o),515)).c.length<=1)){if(2==c.c.length){!function(n){var t,e;if(2!=n.c.length)throw new px("Order only allowed for two paths.").e;RN(0,n.c.length),t=CY(n.c[0],18),RN(1,n.c.length),e=CY(n.c[1],18),t.d.i!=e.c.i&&(n.c.length=0,dk(n.c,e),dk(n.c,t))}(c),nhY((RN(0,c.c.length),CY(c.c[0],18)).d.i)||jB(n.o,c);continue}if(!(0!=c.c.length&&((RN(0,c.c.length),CY(c.c[0],18)).c.i.k==(ni8(),n$m)||_g(xz(new Aa(null,new R$(c,16)),new rQ),new rJ))||function(n,t){var e;return 0!=n.c.length&&(e=YF((RN(0,n.c.length),CY(n.c[0],18)).c.i),Rn(),e==(nnT(),nGc)||e==nGa||_g(xz(new Aa(null,new R$(n,16)),new rY),new bD(t)))}(c,new r8)))for(u=new fU(c),i=null;u.a<u.c.c.length;)t=CY(RU(u),18),e=n.c[t.p],s=(!i||u.a>=u.c.c.length?FM((ni8(),n$v),n$m):FM((ni8(),n$m),n$m))*2,r=e.a.g,e.a.g=nP_.Math.max(r,r+(s-r)),a=e.b.g,e.b.g=nP_.Math.max(a,a+(s-a)),i=t}}(n),a.Vg()),!function(n){var t,e,i;for(e=0,i=new fU(n.a);i.a<i.c.c.length;)CY(RU(i),125).d=e++;t=function(n){var t,e,i,r;for(t=new du,LY(e=BJ(n4h,ndV,28,n.a.c.length,16,1),e.length),r=new fU(n.a);r.a<r.c.c.length;)e[(i=CY(RU(r),125)).d]||(dk(t.c,i),function n(t,e,i){var r;if(!i[e.d])for(i[e.d]=!0,r=new fU(W1(e));r.a<r.c.c.length;)n(t,J6(CY(RU(r),218),e),i)}(n,i,e));return t}(n),t.c.length>1&&function(n,t){var e,i,r;for(e=SA(new d0,n),r=new fU(t);r.a<r.c.c.length;)i=CY(RU(r),125),noI(v2(v0(v3(v1(new d1,0),0),e),i));}(n,t)}(n.f),r=CY(niK(t,nUx),17).a*n.f.a.c.length,nsd(((l=Cv(n.f)).f=r,(b=l).a=!1,b),e.eh(1)),0!=n.d.a.gc()){for((a=e.eh(1)).Ug("Flexible Where Space Processing",1),c=CY(SO(Ll(xz(new Aa(null,new R$(n.f.a,16)),new r0),new rV)),17).a,o=CY(SO(Lf(xz(new Aa(null,new R$(n.f.a,16)),new r2),new rW)),17).a-c,u=SA(new d0,n.f),h=SA(new d0,n.f),noI(v2(v0(v1(v3(new d1,2e4),o),u),h)),vZ(xX(xX(LV(n.i),new r3),new r4),new x3(c,u,o,h)),i=n.d.a.ec().Kc();i.Ob();)CY(i.Pb(),218).g=1;nsd(((w=Cv(n.f)).f=r,(d=w).a=!1,d),a.eh(1)),a.Vg()}if(pT(PC(niK(t,nHG)))){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m;for((a=e.eh(1)).Ug("Straight Edges Post-Processing",1),Xx(p=new vq,n.o),m=new gl;0!=p.b;)nla(n,g=CY(0==p.b?null:(Px(0!=p.b),Gy(p,p.a.a)),515),!0)&&jB(m.a,g);for(;0!=m.a.c.length;)nla(n,g=CY(W_(m),515),!1);a.Vg()}!function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(e=new fU(n.e.b);e.a<e.c.c.length;)for(r=new fU(CY(RU(e),30).a);r.a<r.c.c.length;)if(i=CY(RU(r),10),u=(f=n.i[i.p]).a.e,o=f.d.e,i.n.b=u,d=o-u-i.o.b,t=nhY(i),nnT(),h=(!i.q?($O(),$O(),nOB):i.q)._b((nlL(),nHX))?CY(niK(i,nHX),203):CY(niK(xi(i),nHz),203),t&&(h==nGc||h==nGa)&&(i.o.b+=d),t&&(h==nGu||h==nGc||h==nGa)){for(b=new fU(i.j);b.a<b.c.c.length;)l=CY(RU(b),12),(nf5(),n1a).Hc(l.j)&&(s=CY(NR(n.k,l),125),l.n.b=s.e-u);for(c=new fU(i.b);c.a<c.c.c.length;)a=CY(RU(c),72),(w=CY(niK(i,nHB),21)).Hc((nc$(),nZ_))?a.n.b+=d:w.Hc(nZB)&&(a.n.b+=d/2);(h==nGc||h==nGa)&&JH(i,(nf5(),n1m)).Jc(new bF(d))}}(n),n.e=null,n.f=null,n.i=null,n.c=null,LH(n.k),n.j=null,n.a=null,n.o=null,n.d.a.$b(),e.Vg()}(this,CY(n,36),t)},nPB.b=0,nPB.g=0,Nj(nyK,"NetworkSimplexPlacer",1428),ncm(1447,1,ndy,rV),nPB.Ne=function(n,t){return jo(CY(n,17).a,CY(t,17).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyK,"NetworkSimplexPlacer/0methodref$compare$Type",1447),ncm(1449,1,ndy,rW),nPB.Ne=function(n,t){return jo(CY(n,17).a,CY(t,17).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyK,"NetworkSimplexPlacer/1methodref$compare$Type",1449),ncm(655,1,{655:1},k6);var nA1=Nj(nyK,"NetworkSimplexPlacer/EdgeRep",655);ncm(412,1,{412:1},x2),nPB.b=!1;var nA0=Nj(nyK,"NetworkSimplexPlacer/NodeRep",412);ncm(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},gh),Nj(nyK,"NetworkSimplexPlacer/Path",515),ncm(1429,1,{},rQ),nPB.Kb=function(n){return CY(n,18).d.i.k},Nj(nyK,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),ncm(1430,1,nbV,rJ),nPB.Mb=function(n){return CY(n,273)==(ni8(),n$m)},Nj(nyK,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),ncm(1431,1,{},rY),nPB.Kb=function(n){return CY(n,18).d.i},Nj(nyK,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),ncm(1432,1,nbV,bD),nPB.Mb=function(n){return PJ(YF(CY(n,10)))},Nj(nyK,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),ncm(1433,1,nbV,rZ),nPB.Mb=function(n){var t;return t=CY(n,12),Rn(),(nf5(),n1a).Hc(t.j)},Nj(nyK,"NetworkSimplexPlacer/lambda$0$Type",1433),ncm(1434,1,nbE,k5),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,12),xM(t.k,i,e)},Nj(nyK,"NetworkSimplexPlacer/lambda$1$Type",1434),ncm(1443,1,nbE,bR),nPB.Cd=function(n){var t,e,i,r,a,c,o,u;t=this.a,u=(e=CY(n,18)).c.i.k!=(ni8(),n$v)?e.d:e.c,i=function(n,t){if(t==n.c)return n.d;if(t==n.d)return n.c;throw new pN("'port' must be either the source port or target port of the edge.").e}(e,u).i,a=CY(NR(t.k,u),125),r=t.i[i.p].a,OG(u.i)<(i.c?H6(i.c.a,i,0):-1)?(c=a,o=r):(c=r,o=a),noI(v2(v0(v3(v1(new d1,0),4),c),o))},Nj(nyK,"NetworkSimplexPlacer/lambda$10$Type",1443),ncm(1444,1,{},r1),nPB.Kb=function(n){return Rn(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nyK,"NetworkSimplexPlacer/lambda$11$Type",1444),ncm(1445,1,nbE,bK),nPB.Cd=function(n){!function(n,t){var e,i,r,a;for(a=JH(t,(nf5(),n1m)).Kc();a.Ob();)i=CY(a.Pb(),12),(e=CY(niK(i,(nlF(),nFi)),10))&&noI(v2(v0(v3(v1(new d1,0),.1),n.i[t.p].d),n.i[e.p].a));for(r=JH(t,n1t).Kc();r.Ob();)i=CY(r.Pb(),12),(e=CY(niK(i,(nlF(),nFi)),10))&&noI(v2(v0(v3(v1(new d1,0),.1),n.i[e.p].d),n.i[t.p].a))}(this.a,CY(n,10))},Nj(nyK,"NetworkSimplexPlacer/lambda$12$Type",1445),ncm(1446,1,{},r0),nPB.Kb=function(n){return Rn(),Qx(CY(n,125).e)},Nj(nyK,"NetworkSimplexPlacer/lambda$13$Type",1446),ncm(1448,1,{},r2),nPB.Kb=function(n){return Rn(),Qx(CY(n,125).e)},Nj(nyK,"NetworkSimplexPlacer/lambda$15$Type",1448),ncm(1450,1,nbV,r3),nPB.Mb=function(n){return Rn(),CY(n,412).c.k==(ni8(),n$v)},Nj(nyK,"NetworkSimplexPlacer/lambda$17$Type",1450),ncm(1451,1,nbV,r4),nPB.Mb=function(n){return Rn(),CY(n,412).c.j.c.length>1},Nj(nyK,"NetworkSimplexPlacer/lambda$18$Type",1451),ncm(1452,1,nbE,x3),nPB.Cd=function(n){var t,e,i,r,a;t=this.c,e=this.b,i=this.d,r=this.a,a=CY(n,412),Rn(),noI(v2(v0(v1(v3(new d1,0),a.d.e-t),e),a.d)),noI(v2(v0(v1(v3(new d1,0),i-a.a.e),a.a),r))},nPB.c=0,nPB.d=0,Nj(nyK,"NetworkSimplexPlacer/lambda$19$Type",1452),ncm(1435,1,{},r6),nPB.Kb=function(n){return Rn(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nyK,"NetworkSimplexPlacer/lambda$2$Type",1435),ncm(1453,1,nbE,bF),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,12),Rn(),e.n.b+=t},nPB.a=0,Nj(nyK,"NetworkSimplexPlacer/lambda$20$Type",1453),ncm(1454,1,{},r5),nPB.Kb=function(n){return Rn(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nyK,"NetworkSimplexPlacer/lambda$21$Type",1454),ncm(1455,1,nbE,b_),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,10),t.j[e.p]=function(n){var t,e,i,r;for(t=0,e=0,r=new fU(n.j);r.a<r.c.c.length;)if(t=AW(JF(t,Bs(xX(new Aa(null,new R$((i=CY(RU(r),12)).e,16)),new r7)))),e=AW(JF(e,Bs(xX(new Aa(null,new R$(i.g,16)),new an)))),t>1||e>1)return 2;return 2*(t+e==1)}(e)},Nj(nyK,"NetworkSimplexPlacer/lambda$22$Type",1455),ncm(1456,1,nbV,r8),nPB.Mb=function(n){return PJ(n)},Nj(nyK,"NetworkSimplexPlacer/lambda$23$Type",1456),ncm(1457,1,{},r9),nPB.Kb=function(n){return Rn(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nyK,"NetworkSimplexPlacer/lambda$24$Type",1457),ncm(1458,1,nbV,bB),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,10),2==t.j[e.p]},Nj(nyK,"NetworkSimplexPlacer/lambda$25$Type",1458),ncm(1459,1,nbE,k8),nPB.Cd=function(n){!function(n,t,e){var i,r,a;for(r=new Le(Sb(JX(e).a.Kc(),new s));ncv(r);)_p(i=CY(_I(r),18))||!_p(i)&&i.c.i.c==i.d.i.c||(a=function n(t,e,i,r){var a,c,o;if(o=neI(e,i),dk(r.c,e),-1==t.j[o.p]||2==t.j[o.p]||t.a[e.p])return r;for(t.j[o.p]=-1,c=new Le(Sb(JX(o).a.Kc(),new s));ncv(c);)if(!_p(a=CY(_I(c),18))&&!(!_p(a)&&a.c.i.c==a.d.i.c)&&a!=e)return n(t,a,o,r);return r}(n,i,e,new gh)).c.length>1&&dk(t.c,a)}(this.a,this.b,CY(n,10))},Nj(nyK,"NetworkSimplexPlacer/lambda$26$Type",1459),ncm(1460,1,nbV,r7),nPB.Mb=function(n){return Rn(),!_p(CY(n,18))},Nj(nyK,"NetworkSimplexPlacer/lambda$27$Type",1460),ncm(1461,1,nbV,an),nPB.Mb=function(n){return Rn(),!_p(CY(n,18))},Nj(nyK,"NetworkSimplexPlacer/lambda$28$Type",1461),ncm(1462,1,{},bH),nPB.Ve=function(n,t){var e,i;return e=this.a,function(n,t,e){var i,r,a,c,o,u,s,h;for(u=new du,o=new fU(t.a);o.a<o.c.c.length;)for(h=JH(CY(RU(o),10),(nf5(),n1n)).Kc();h.Ob();)for(r=new fU(CY(h.Pb(),12).g);r.a<r.c.c.length;)!_p(i=CY(RU(r),18))&&i.c.i.c==i.d.i.c||_p(i)||i.d.i.c!=e||dk(u.c,i);for(c=Yi(e.a).Kc();c.Ob();)for(h=JH(CY(c.Pb(),10),(nf5(),n1y)).Kc();h.Ob();)for(r=new fU(CY(h.Pb(),12).e);r.a<r.c.c.length;)if(!(!_p(i=CY(RU(r),18))&&i.c.i.c==i.d.i.c||_p(i))&&i.c.i.c==t&&0!=u.c.length){for(Px((s=new Kp(u,u.c.length)).b>0),a=CY(s.a.Xb(s.c=--s.b),18);a!=i&&s.b>0;)n.a[a.p]=!0,n.a[i.p]=!0,Px(s.b>0),a=CY(s.a.Xb(s.c=--s.b),18);s.b>0&&N6(s)}}(e,CY(n,30),i=CY(t,30)),i},Nj(nyK,"NetworkSimplexPlacer/lambda$29$Type",1462),ncm(1436,1,{},at),nPB.Kb=function(n){return Rn(),new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(nyK,"NetworkSimplexPlacer/lambda$3$Type",1436),ncm(1437,1,nbV,ae),nPB.Mb=function(n){var t;return Rn(),t=CY(n,18),Rn(),!_p(t)&&!(!_p(t)&&t.c.i.c==t.d.i.c)},Nj(nyK,"NetworkSimplexPlacer/lambda$4$Type",1437),ncm(1438,1,nbE,bU),nPB.Cd=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b;t=this.a,e=CY(n,18),i=SA(new d0,t.f),u=t.i[e.c.i.p],l=t.i[e.d.i.p],o=e.c,f=e.d,c=o.a.b,h=f.a.b,u.b||(c+=o.n.b),l.b||(h+=f.n.b),s=Dy(nP_.Math.max(0,c-h)),a=Dy(nP_.Math.max(0,h-c)),b=nP_.Math.max(1,CY(niK(e,(nlL(),nUl)),17).a)*FM(e.c.i.k,e.d.i.k),r=new k6(noI(v2(v0(v1(v3(new d1,b),a),i),CY(NR(t.k,e.c),125))),noI(v2(v0(v1(v3(new d1,b),s),i),CY(NR(t.k,e.d),125)))),t.c[e.p]=r},Nj(nyK,"NetworkSimplexPlacer/lambda$5$Type",1438),ncm(1439,1,{},ai),nPB.Kb=function(n){return Rn(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nyK,"NetworkSimplexPlacer/lambda$6$Type",1439),ncm(1440,1,nbV,ar),nPB.Mb=function(n){return Rn(),CY(n,10).k==(ni8(),n$v)},Nj(nyK,"NetworkSimplexPlacer/lambda$7$Type",1440),ncm(1441,1,{},aa),nPB.Kb=function(n){return Rn(),new Aa(null,new Nf(new Le(Sb(JX(CY(n,10)).a.Kc(),new s))))},Nj(nyK,"NetworkSimplexPlacer/lambda$8$Type",1441),ncm(1442,1,nbV,ac),nPB.Mb=function(n){var t;return Rn(),!_p(t=CY(n,18))&&t.c.i.c==t.d.i.c},Nj(nyK,"NetworkSimplexPlacer/lambda$9$Type",1442),ncm(1424,1,nyL,hk),nPB.rg=function(n){return CY(niK(CY(n,36),(nlF(),nKU)),21).Hc((no7(),nKc))?nqT:null},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f;for(t.Ug("Simple node placement",1),f=CY(niK(n,(nlF(),nFf)),312),o=0,a=new fU(n.b);a.a<a.c.c.length;){for((c=(i=CY(RU(a),30)).c).b=0,e=null,s=new fU(i.a);s.a<s.c.c.length;)u=CY(RU(s),10),e&&(c.b+=Y8(u,e,f.c)),c.b+=u.d.d+u.o.b+u.d.a,e=u;o=nP_.Math.max(o,c.b)}for(r=new fU(n.b);r.a<r.c.c.length;)for(h=(o-(c=(i=CY(RU(r),30)).c).b)/2,e=null,s=new fU(i.a);s.a<s.c.c.length;)u=CY(RU(s),10),e&&(h+=Y8(u,e,f.c)),h+=u.d.d,u.n.b=h,h+=u.o.b+u.d.a,e=u;t.Vg()}(CY(n,36),t)},Nj(nyK,"SimpleNodePlacer",1424),ncm(185,1,{185:1},nsl),nPB.Ib=function(){var n;return n="",this.c==(DI(),nqS)?n+=nd0:this.c==nqj&&(n+=nd1),this.o==(DA(),nqO)?n+=nge:this.o==nqC?n+="UP":n+="BALANCED",n},Nj(nyB,"BKAlignedLayout",185),ncm(523,22,{3:1,34:1,22:1,523:1},k9);var nA2=qc(nyB,"BKAlignedLayout/HDirection",523,nPw,function(){return DI(),Vw(DY(nA2,1),nbG,523,0,[nqS,nqj])},function(n){return DI(),qa((F3(),nqP),n)});ncm(522,22,{3:1,34:1,22:1,522:1},k7);var nA3=qc(nyB,"BKAlignedLayout/VDirection",522,nPw,function(){return DA(),Vw(DY(nA3,1),nbG,522,0,[nqO,nqC])},function(n){return DA(),qa((F4(),nqI),n)});ncm(1699,1,{},Mn),Nj(nyB,"BKAligner",1699),ncm(1702,1,{},ntV),Nj(nyB,"BKCompactor",1702),ncm(663,1,{663:1},ao),nPB.a=0,Nj(nyB,"BKCompactor/ClassEdge",663),ncm(467,1,{467:1},go),nPB.a=null,nPB.b=0,Nj(nyB,"BKCompactor/ClassNode",467),ncm(1427,1,nyL,Ma),nPB.rg=function(n){return CY(niK(CY(n,36),(nlF(),nKU)),21).Hc((no7(),nKc))?nqA:null},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E;switch(e.Ug("Brandes & Koepf node placement",1),n.a=t,n.c=function(n){var t,e,i,r,a,c,o,u,h,f,l;for((l=new au).d=0,c=new fU(n.b);c.a<c.c.c.length;)a=CY(RU(c),30),l.d+=a.a.c.length;for(i=0,r=0,l.a=BJ(n4s,nwl,28,n.b.c.length,15,1),h=0,f=0,l.e=BJ(n4s,nwl,28,l.d,15,1),e=new fU(n.b);e.a<e.c.c.length;)for((t=CY(RU(e),30)).p=i++,l.a[t.p]=r++,f=0,u=new fU(t.a);u.a<u.c.c.length;)(o=CY(RU(u),10)).p=h++,l.e[o.p]=f++;return l.c=new bG(l),l.b=SY(l.d),!function(n,t){var e,i,r,a,c,o,u,h;for(a=new fU(t.b);a.a<a.c.c.length;)for(u=new fU(CY(RU(a),30).a);u.a<u.c.c.length;){for(o=CY(RU(u),10),h=new du,c=0,i=new Le(Sb(Jz(o).a.Kc(),new s));ncv(i);)!_p(e=CY(_I(i),18))&&(_p(e)||e.c.i.c!=e.d.i.c)&&((r=CY(niK(e,(nlL(),nUl)),17).a)>c&&(c=r,h.c.length=0),r==c&&jB(h,new Ea(e.c.i,e)));$O(),ji(h,n.c),AC(n.b,o.p,h)}}(l,n),l.f=SY(l.d),!function(n,t){var e,i,r,a,c,o,u,h;for(a=new fU(t.b);a.a<a.c.c.length;)for(u=new fU(CY(RU(a),30).a);u.a<u.c.c.length;){for(o=CY(RU(u),10),h=new du,c=0,i=new Le(Sb(JV(o).a.Kc(),new s));ncv(i);)!_p(e=CY(_I(i),18))&&(_p(e)||e.c.i.c!=e.d.i.c)&&((r=CY(niK(e,(nlL(),nUl)),17).a)>c&&(c=r,h.c.length=0),r==c&&jB(h,new Ea(e.d.i,e)));$O(),ji(h,n.c),AC(n.f,o.p,h)}}(l,n),l}(t),i=CY(niK(t,(nlL(),nHU)),281),w=pT(PC(niK(t,nHG))),n.d=i==(neR(),nR2)&&!w||i==nRZ,!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;if(!((d=t.b.c.length)<3)){for(b=BJ(n4s,nwl,28,d,15,1),f=0,h=new fU(t.b);h.a<h.c.c.length;)s=CY(RU(h),30),b[f++]=s.a.c.length;for(i=1,l=new Kp(t.b,2);i<d-1;i++)for(Px(l.b<l.d.gc()),w=new fU((e=CY(l.d.Xb(l.c=l.b++),30)).a),a=0,o=0,u=0;u<b[i+1];u++)if(v=CY(RU(w),10),u==b[i+1]-1||nrm(n,v,i+1,i)){for(c=b[i]-1,nrm(n,v,i+1,i)&&(c=n.c.e[CY(CY(CY(I0(n.c.b,v.p),15).Xb(0),42).a,10).p]);o<=u;){if(!nrm(n,m=CY(I0(e.a,o),10),i+1,i))for(p=CY(I0(n.c.b,m.p),15).Kc();p.Ob();)g=CY(p.Pb(),42),((r=n.c.e[CY(g.a,10).p])<a||r>c)&&LX(n.b,CY(g.b,18));++o}a=c}}}(n,t),k=null,M=null,p=null,m=null,qL(4,nbU),g=new Bf(4),CY(niK(t,nHU),281).g){case 3:p=new nsl(t,n.c.d,(DA(),nqO),(DI(),nqj)),dk(g.c,p);break;case 1:m=new nsl(t,n.c.d,(DA(),nqC),(DI(),nqj)),dk(g.c,m);break;case 4:k=new nsl(t,n.c.d,(DA(),nqO),(DI(),nqS)),dk(g.c,k);break;case 2:M=new nsl(t,n.c.d,(DA(),nqC),(DI(),nqS)),dk(g.c,M);break;default:p=new nsl(t,n.c.d,(DA(),nqO),(DI(),nqj)),m=new nsl(t,n.c.d,nqC,nqj),k=new nsl(t,n.c.d,nqO,nqS),M=new nsl(t,n.c.d,nqC,nqS),dk(g.c,k),dk(g.c,M),dk(g.c,p),dk(g.c,m)}for(r=new Mn(t,n.c),o=new fU(g);o.a<o.c.c.length;)!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;for(o=new fU(n.a.b);o.a<o.c.c.length;)for(v=new fU((a=CY(RU(o),30)).a);v.a<v.c.c.length;)m=CY(RU(v),10),t.g[m.p]=m,t.a[m.p]=m,t.d[m.p]=0;for(u=n.a.b,t.c==(DI(),nqj)&&(u=Yi(u)),c=u.Kc();c.Ob();)for(a=CY(c.Pb(),30),b=-1,l=a.a,t.o==(DA(),nqC)&&(b=nl3,l=Yi(l)),k=l.Kc();k.Ob();)if(y=CY(k.Pb(),10),f=null,(f=t.c==nqj?CY(I0(n.b.f,y.p),15):CY(I0(n.b.b,y.p),15)).gc()>0)if(i=f.gc(),s=Dy(nP_.Math.floor((i+1)/2))-1,r=Dy(nP_.Math.ceil((i+1)/2))-1,t.o==nqC)for(h=r;h>=s;h--)t.a[y.p]==y&&(d=CY(f.Xb(h),42),w=CY(d.a,10),!vF(e,d.b)&&b>n.b.e[w.p]&&(t.a[w.p]=y,t.g[y.p]=t.g[w.p],t.a[y.p]=t.g[y.p],t.f[t.g[y.p].p]=(SB(),!!(pT(t.f[t.g[y.p].p])&y.k==(ni8(),n$m))),b=n.b.e[w.p]));else for(h=s;h<=r;h++)t.a[y.p]==y&&(p=CY(f.Xb(h),42),g=CY(p.a,10),!vF(e,p.b)&&b<n.b.e[g.p]&&(t.a[g.p]=y,t.g[y.p]=t.g[g.p],t.a[y.p]=t.g[y.p],t.f[t.g[y.p].p]=(SB(),!!(pT(t.f[t.g[y.p].p])&y.k==(ni8(),n$m))),b=n.b.e[g.p]))}(r,a=CY(RU(o),185),n.b),function(n){var t,e,i,r,a,c,o,u,h,f;for(u=new fL(new fS(na8(n)).a.vc().Kc());u.a.Ob();){for(i=CY(u.a.Pb(),44),h=0,f=0,h=(o=CY(i.ld(),10)).d.d,f=o.o.b+o.d.a,n.d[o.p]=0,t=o;(r=n.a[t.p])!=o;)e=function(n,t){var e,i;for(Re(),i=new Le(Sb(JX(n).a.Kc(),new s));ncv(i);)if((e=CY(_I(i),18)).d.i==t||e.c.i==t)return e;return null}(t,r),c=0,c=n.c==(DI(),nqj)?e.d.n.b+e.d.a.b-e.c.n.b-e.c.a.b:e.c.n.b+e.c.a.b-e.d.n.b-e.d.a.b,a=pj(n.d[t.p])+c,n.d[r.p]=a,h=nP_.Math.max(h,r.d.d-a),f=nP_.Math.max(f,a+r.o.b+r.d.a),t=r;t=o;do n.d[t.p]=pj(n.d[t.p])+h,t=n.a[t.p];while(t!=o)n.b[o.p]=h+f}}(a);for(b=new ntV(t,n.c),u=new fU(g);u.a<u.c.c.length;)!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;for(i=new fU(n.a.b);i.a<i.c.c.length;)for(o=new fU(CY(RU(i),30).a);o.a<o.c.c.length;)c=CY(RU(o),10),t.j[c.p]=c,t.i[c.p]=t.o==(DA(),nqC)?nw_:nwF;for(LH(n.c),a=n.a.b,t.c==(DI(),nqj)&&(a=Yi(a)),l=n.e,b=n.b,l.a=t,l.c=b,l.b.a.$b(),$p(l.d),dG(l.e.a.c,0),y$(t.p,null),r=a.Kc();r.Ob();)for(u=CY(r.Pb(),30).a,t.o==(DA(),nqC)&&(u=Yi(u)),f=u.Kc();f.Ob();)h=CY(f.Pb(),10),t.g[h.p]==h&&function n(t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g;if(null==i.p[e.p]){u=!0,i.p[e.p]=0,o=e,d=i.o==(DA(),nqO)?nw_:nwF;do a=t.b.e[o.p],c=o.c.a.c.length,i.o==nqO&&a>0||i.o==nqC&&a<c-1?(s=null,h=null,s=i.o==nqC?CY(I0(o.c.a,a+1),10):CY(I0(o.c.a,a-1),10),n(t,h=i.g[s.p],i),d=t.e.wg(d,e,o),i.j[e.p]==e&&(i.j[e.p]=i.j[h.p]),i.j[e.p]==i.j[h.p]?(w=jh(t.d,o,s),i.o==nqC?(r=pj(i.p[e.p]),l=pj(i.p[h.p])+pj(i.d[s.p])-s.d.d-w-o.d.a-o.o.b-pj(i.d[o.p]),u?(u=!1,i.p[e.p]=nP_.Math.min(l,d)):i.p[e.p]=nP_.Math.min(r,nP_.Math.min(l,d))):(r=pj(i.p[e.p]),l=pj(i.p[h.p])+pj(i.d[s.p])+s.o.b+s.d.a+w+o.d.d-pj(i.d[o.p]),u?(u=!1,i.p[e.p]=nP_.Math.max(l,d)):i.p[e.p]=nP_.Math.max(r,nP_.Math.max(l,d)))):(w=pj(PI(niK(t.a,(nlL(),nUC)))),b=Xg(t,i.j[e.p]),f=Xg(t,i.j[h.p]),i.o==nqC?RA(b,f,pj(i.p[e.p])+pj(i.d[o.p])+o.o.b+o.d.a+w-(pj(i.p[h.p])+pj(i.d[s.p])-s.d.d)):RA(b,f,pj(i.p[e.p])+pj(i.d[o.p])-o.d.d-pj(i.p[h.p])-pj(i.d[s.p])-s.o.b-s.d.a-w))):d=t.e.wg(d,e,o),o=i.a[o.p];while(o!=e)g=t.e,LX(g.b,e)}}(n,h,t);for(!function(n,t){var e,i,r,a,c,o,u;for(u=new vq,o=new fx(new fN(n.c).a.vc().Kc());o.a.Ob();)r=CY(o.a.Pb(),44),0==(a=CY(r.md(),467)).b&&F_(u,a,u.c.b,u.c);for(;0!=u.b;)for(null==(a=CY(0==u.b?null:(Px(0!=u.b),Gy(u,u.a.a)),467)).a&&(a.a=0),i=new fU(a.d);i.a<i.c.c.length;)null==(e=CY(RU(i),663)).b.a?e.b.a=pj(a.a)+e.a:t.o==(DA(),nqO)?e.b.a=nP_.Math.min(pj(e.b.a),pj(a.a)+e.a):e.b.a=nP_.Math.max(pj(e.b.a),pj(a.a)+e.a),--e.b.b,0==e.b.b&&IA(u,e.b);for(c=new fx(new fN(n.c).a.vc().Kc());c.a.Ob();)r=CY(c.a.Pb(),44),a=CY(r.md(),467),t.i[a.c.p]=a.a}(n,t),e=a.Kc();e.Ob();)for(f=new fU(CY(e.Pb(),30).a);f.a<f.c.c.length;)h=CY(RU(f),10),t.p[h.p]=t.p[t.g[h.p].p],h==t.g[h.p]&&(s=pj(t.i[t.j[h.p].p]),(t.o==(DA(),nqC)&&s>nw_||t.o==nqO&&s<nwF)&&(t.p[h.p]=pj(t.p[h.p])+s));n.e.xg()}(b,a=CY(RU(u),185));if(e._g())for(h=new fU(g);h.a<h.c.c.length;)a=CY(RU(h),185),e.bh(a+" size is "+ncR(a));if(l=null,n.d&&nhT(t,f=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;for(o=0,p=t.c.length,r=new nsl(n.a,e,null,null),M=BJ(n4b,nwX,28,p,15,1),b=BJ(n4b,nwX,28,p,15,1),l=BJ(n4b,nwX,28,p,15,1),w=0;o<p;o++)b[o]=nl3,l[o]=nbJ;for(u=0;u<p;u++)for(RN(u,t.c.length),i=CY(t.c[u],185),M[u]=ncR(i),M[w]>M[u]&&(w=u),h=new fU(n.a.b);h.a<h.c.c.length;)for(g=new fU(CY(RU(h),30).a);g.a<g.c.c.length;)d=CY(RU(g),10),y=pj(i.p[d.p])+pj(i.d[d.p]),b[u]=nP_.Math.min(b[u],y),l[u]=nP_.Math.max(l[u],y+d.o.b);for(s=0,k=BJ(n4b,nwX,28,p,15,1);s<p;s++)(RN(s,t.c.length),CY(t.c[s],185)).o==(DA(),nqO)?k[s]=b[w]-b[s]:k[s]=l[w]-l[s];for(a=BJ(n4b,nwX,28,p,15,1),f=new fU(n.a.b);f.a<f.c.c.length;)for(v=new fU(CY(RU(f),30).a);v.a<v.c.c.length;){for(c=0,m=CY(RU(v),10);c<p;c++)a[c]=pj((RN(c,t.c.length),CY(t.c[c],185)).p[m.p])+pj((RN(c,t.c.length),CY(t.c[c],185)).d[m.p])+k[c];E=GP(S.prototype.Me,S,[]),a.sort(E),r.p[m.p]=(a[1]+a[2])/2,r.d[m.p]=0}return r}(n,g,n.c.d),e)&&(l=f),!l)for(h=new fU(g);h.a<h.c.c.length;)nhT(t,a=CY(RU(h),185),e)&&(!l||ncR(l)>ncR(a))&&(l=a);for(l||(RN(0,g.c.length),l=CY(g.c[0],185)),d=new fU(t.b);d.a<d.c.c.length;)for(y=new fU(CY(RU(d),30).a);y.a<y.c.c.length;)(v=CY(RU(y),10)).n.b=pj(l.p[v.p])+pj(l.d[v.p]);for(e._g()&&(e.bh("Chosen node placement: "+l),e.bh("Blocks: "+na8(l)),e.bh("Classes: "+function(n,t){var e,i,r,a,c;for(i=new FF,a=FU(new pU(n.g)).a.ec().Kc();a.Ob();){if(!(r=CY(a.Pb(),10))){t.bh("There are no classes in a balanced layout.");break}(e=CY(UC(i,c=n.j[r.p]),15))||Zq(i,c,e=new du),e.Fc(r)}return i}(l,e)),e.bh("Marked edges: "+n.b)),c=new fU(g);c.a<c.c.c.length;)(a=CY(RU(c),185)).g=null,a.b=null,a.a=null,a.d=null,a.j=null,a.i=null,a.p=null;(E=n.c).a=null,E.e=null,dG(E.b.c,0),dG(E.f.c,0),E.c=null,n.b.a.$b(),e.Vg()}(this,CY(n,36),t)},nPB.d=!1,Nj(nyB,"BKNodePlacer",1427),ncm(1700,1,{},au),nPB.d=0,Nj(nyB,"NeighborhoodInformation",1700),ncm(1701,1,ndy,bG),nPB.Ne=function(n,t){var e,i,r;return e=this,i=CY(n,42),r=CY(t,42),Dy(ID(e.a.e[CY(i.a,10).p]-e.a.e[CY(r.a,10).p]))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyB,"NeighborhoodInformation/NeighborComparator",1701),ncm(823,1,{}),Nj(nyB,"ThresholdStrategy",823),ncm(1825,823,{},gu),nPB.wg=function(n,t,e){return this.a.o==(DA(),nqC)?nwF:nw_},nPB.xg=function(){},Nj(nyB,"ThresholdStrategy/NullThresholdStrategy",1825),ncm(587,1,{587:1},Mc),nPB.c=!1,nPB.d=!1,Nj(nyB,"ThresholdStrategy/Postprocessable",587),ncm(1826,823,{},gs),nPB.wg=function(n,t,e){var i,r,a;return(r=t==e,i=this.a.a[e.p]==t,r||i)?(a=n,this.a.c==DI(),r&&(a=nhW(this,t,!0)),isNaN(a)||isFinite(a)||!i||(a=nhW(this,e,!1)),a):n},nPB.xg=function(){for(var n,t,e,i,r;0!=this.d.b;){if((t=nsG(this,e=CY(0==(i=this.d).b?null:(Px(0!=i.b),Gy(i,i.a.a)),587))).a)n=t.a,(pT(this.a.f[this.a.g[e.b.p].p])||_p(n)||n.c.i.c!=n.d.i.c)&&(ncD(this,e)||(r=this.e,jB(r.a,e)))}for(;0!=this.e.a.c.length;)ncD(this,CY(W_(this.e),587))},Nj(nyB,"ThresholdStrategy/SimpleThresholdStrategy",1826),ncm(645,1,{645:1,188:1,196:1},as),nPB.dg=function(){return zR(this)},nPB.qg=function(){return zR(this)},Nj(nyH,"EdgeRouterFactory",645),ncm(1485,1,nyL,hM),nPB.rg=function(n){var t,e,i;return t=CY(n,36),i=CY(niK(t,(nlF(),nKU)),21),e=new xm,i.Hc((no7(),nKo))&&(zT(e,nqD),zT(e,nqK)),(i.Hc(nKs)||pT(PC(niK(t,(nlL(),nHg)))))&&(zT(e,nqK),i.Hc(nKh)&&zT(e,nqF)),i.Hc(nKc)&&zT(e,nq$),i.Hc(nKl)&&zT(e,nq_),i.Hc(nKu)&&zT(e,nqR),i.Hc(nKi)&&zT(e,nqN),i.Hc(nKa)&&zT(e,nqx),e},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d;t.Ug("Orthogonal edge routing",1),s=pj(PI(niK(n,(nlL(),nUI)))),e=pj(PI(niK(n,nUy))),i=pj(PI(niK(n,nUE))),l=new Nl(0,e),d=0,c=new Kp(n.b,0),o=null,h=null,u=null,f=null;do f=(h=c.b<c.d.gc()?(Px(c.b<c.d.gc()),CY(c.d.Xb(c.c=c.b++),30)):null)?h.a:null,o&&(nfo(o,d),d+=o.c.a),w=nfC(l,n,u,f,o?d+i:d),r=!o||EG(u,(no$(),nqq)),a=!h||EG(f,(no$(),nqq)),w>0?(b=(w-1)*e,o&&(b+=i),h&&(b+=i),!(b<s)||r||a||(b=s),d+=b):r||a||(d+=s),o=h,u=f;while(h)n.f.a=d,t.Vg()}(CY(n,36),t)},Nj(nyH,"OrthogonalEdgeRouter",1485),ncm(1478,1,nyL,Mr),nPB.rg=function(n){var t,e,i;return t=CY(n,36),i=CY(niK(t,(nlF(),nKU)),21),e=TA(nqB),i.Hc((no7(),nKh))&&zT(e,nqG),i.Hc(nKl)&&zT(e,nqX),i.Hc(nKi)&&zT(e,nqH),i.Hc(nKa)&&zT(e,nqU),e},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k;for(e.Ug("Polyline edge routing",1),p=pj(PI(niK(t,(nlL(),nHh)))),w=pj(PI(niK(t,nUI))),r=pj(PI(niK(t,nUy))),i=nP_.Math.min(1,r/w),y=0,u=0,0!=t.b.c.length&&(y=.4*i*(k=nc2(CY(I0(t.b,0),30)))),o=new Kp(t.b,0);o.b<o.d.gc();){for(Px(o.b<o.d.gc()),(a=EG(c=CY(o.d.Xb(o.c=o.b++),30),nqq))&&y>0&&(y-=w),nfo(c,y),f=0,b=new fU(c.a);b.a<b.c.c.length;){for(l=CY(RU(b),10),h=0,g=new Le(Sb(JV(l).a.Kc(),new s));ncv(g);)m=RO((d=CY(_I(g),18)).c).b,v=RO(d.d).b,c!=d.d.i.c||_p(d)||(!function(n,t,e){var i,r,a,c;a=n.c,c=n.d,r=(V4(Vw(DY(nLA,1),nby,8,0,[a.i.n,a.n,a.a])).b+V4(Vw(DY(nLA,1),nby,8,0,[c.i.n,c.n,c.a])).b)/2,i=null,i=a.j==(nf5(),n1n)?new MH(t+a.i.c.c.a+e,r):new MH(t-e,r),S2(n.a,0,i)}(d,y,.4*i*nP_.Math.abs(m-v)),d.c.j==(nf5(),n1y)&&(m=0,v=0)),h=nP_.Math.max(h,nP_.Math.abs(v-m));switch(l.k.g){case 0:case 4:case 1:case 3:case 5:!function(n,t,e,i){var r,a,c,o,u,h,f,l,b,w;for(f=e+t.c.c.a,w=new fU(t.j);w.a<w.c.c.length;){if(b=CY(RU(w),12),r=V4(Vw(DY(nLA,1),nby,8,0,[b.i.n,b.n,b.a])),t.k==(ni8(),n$y)&&(o=CY(niK(b,(nlF(),nK6)),12),r.a=V4(Vw(DY(nLA,1),nby,8,0,[o.i.n,o.n,o.a])).a,t.n.a=r.a),c=new MH(0,r.b),b.j==(nf5(),n1n))c.a=f;else{if(b.j!=n1y)continue;c.a=e}if(!(nP_.Math.abs(r.a-c.a)<=i)||function(n){var t,e;if(n.k==(ni8(),n$m)){for(e=new Le(Sb(JX(n).a.Kc(),new s));ncv(e);)if(!_p(t=CY(_I(e),18))&&t.c.i.c==t.d.i.c)return!0}return!1}(t))for(a=b.g.c.length+b.e.c.length>1,h=new _4(b.b);jr(h.a)||jr(h.b);)l=(u=CY(jr(h.a)?RU(h.a):RU(h.b),18)).c==b?u.d:u.c,nP_.Math.abs(V4(Vw(DY(nLA,1),nby,8,0,[l.i.n,l.n,l.a])).b-c.b)>1&&function(n,t,e,i,r){var a,c;(_p(t)||t.c.i.c!=t.d.i.c)&&Xn(V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])),e)||_p(t)||(t.c==r?S2(t.a,0,new TP(e)):IA(t.a,new TP(e)),i&&!vF(n.a,e)&&((c=CY(niK(t,(nlL(),nHP)),75))||(c=new gj,VD(t,nHP,c)),F_(c,a=new TP(e),c.c.b,c.c),LX(n.a,a)))}(n,u,c,a,b)}}(n,l,y,p)}f=nP_.Math.max(f,h)}o.b<o.d.gc()&&(k=nc2((Px(o.b<o.d.gc()),CY(o.d.Xb(o.c=o.b++),30))),f=nP_.Math.max(f,k),Px(o.b>0),o.a.Xb(o.c=--o.b)),u=.4*i*f,!a&&o.b<o.d.gc()&&(u+=w),y+=c.c.a+u}n.a.a.$b(),t.f.a=y,e.Vg()}(this,CY(n,36),t)},Nj(nyH,"PolylineEdgeRouter",1478),ncm(1479,1,ndK,af),nPB.Lb=function(n){return z3(CY(n,10))},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return z3(CY(n,10))},Nj(nyH,"PolylineEdgeRouter/1",1479),ncm(1872,1,nbV,al),nPB.Mb=function(n){return CY(n,132).c==(Bw(),nqz)},Nj(nyU,"HyperEdgeCycleDetector/lambda$0$Type",1872),ncm(1873,1,{},ab),nPB.Ze=function(n){return CY(n,132).d},Nj(nyU,"HyperEdgeCycleDetector/lambda$1$Type",1873),ncm(1874,1,nbV,aw),nPB.Mb=function(n){return CY(n,132).c==(Bw(),nqz)},Nj(nyU,"HyperEdgeCycleDetector/lambda$2$Type",1874),ncm(1875,1,{},ad),nPB.Ze=function(n){return CY(n,132).d},Nj(nyU,"HyperEdgeCycleDetector/lambda$3$Type",1875),ncm(1876,1,{},ag),nPB.Ze=function(n){return CY(n,132).d},Nj(nyU,"HyperEdgeCycleDetector/lambda$4$Type",1876),ncm(1877,1,{},ah),nPB.Ze=function(n){return CY(n,132).d},Nj(nyU,"HyperEdgeCycleDetector/lambda$5$Type",1877),ncm(118,1,{34:1,118:1},zV),nPB.Fd=function(n){var t;return t=CY(n,118),this.g-t.g},nPB.Fb=function(n){var t;return!!jM(n,118)&&(t=CY(n,118),this.g==t.g)},nPB.Hb=function(){return this.g},nPB.Ib=function(){var n,t,e,i;for(n=new Sv("{"),i=new fU(this.n);i.a<i.c.c.length;)null==(t=ntO((e=CY(RU(i),12)).i))&&(t="n"+OG(e.i)),n.a+=""+t,i.a<i.c.c.length&&(n.a+=",");return n.a+="}",n.a},nPB.a=0,nPB.b=0,nPB.c=NaN,nPB.d=0,nPB.g=0,nPB.i=0,nPB.o=0,nPB.s=NaN,Nj(nyU,"HyperEdgeSegment",118),ncm(132,1,{132:1},RT),nPB.Ib=function(){var n;return this.a+"->"+this.b+" ("+(null!=(n=this.c).f?n.f:""+n.g)+")"},nPB.d=0,Nj(nyU,"HyperEdgeSegmentDependency",132),ncm(528,22,{3:1,34:1,22:1,528:1},Mf);var nA4=qc(nyU,"HyperEdgeSegmentDependency/DependencyType",528,nPw,function(){return Bw(),Vw(DY(nA4,1),nbG,528,0,[nqV,nqz])},function(n){return Bw(),qa((F6(),nqW),n)});ncm(1878,1,{},bq),Nj(nyU,"HyperEdgeSegmentSplitter",1878),ncm(1879,1,{},mv),nPB.a=0,nPB.b=0,Nj(nyU,"HyperEdgeSegmentSplitter/AreaRating",1879),ncm(339,1,{339:1},CS),nPB.a=0,nPB.b=0,nPB.c=0,Nj(nyU,"HyperEdgeSegmentSplitter/FreeArea",339),ncm(1880,1,ndy,ap),nPB.Ne=function(n,t){var e,i;return e=CY(n,118),i=CY(t,118),Jj(e.c-e.s,i.c-i.s)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyU,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),ncm(1881,1,nbE,x6),nPB.Cd=function(n){var t,e,i,r,a,c;t=this.a,e=this.d,i=this.c,r=this.b,c=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(c=0,a=-1,o=-1;c<t.c.length&&(RN(c,t.c.length),!((r=CY(t.c[c],339)).c>n.c));c++)r.a>=n.s&&(a<0&&(a=c),o=c);if(u=(n.s+n.c)/2,a>=0){u=((RN(i=function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w;if(a=e,e<i)for(b=new zV(n.p),w=new zV(n.p),Xx(b.e,n.e),b.q=n.q,b.r=w,Nx(b),Xx(w.j,n.j),w.r=b,Nx(w),f=CY((l=new Ea(b,w)).a,118),h=CY(l.b,118),RN(a,t.c.length),c=nuo(n,f,h,r=CY(t.c[a],339)),s=e+1;s<=i;s++)RN(s,t.c.length),u=nuo(n,f,h,o=CY(t.c[s],339)),function(n,t,e,i){if(t.a<i.a)return!0;if(t.a==i.a){if(t.b<i.b)return!0;else if(t.b==i.b&&n.b>e.b)return!0}return!1}(o,u,r,c)&&(r=o,c=u,a=s);return a}(n,t,a,o),t.c.length),s=CY(t.c[i],339)).c+s.a)/2,h=t,f=i,l=e,RN(f,h.c.length),p=CY(h.c[f],339),_V(h,f),p.b/2>=l&&(b=f,m=(p.c+p.a)/2,p.c<=m-l&&(w=new CS(p.c,m-l),AC(h,b++,w)),(g=m+l)<=p.a&&(d=new CS(g,p.a),RL(b,h.c.length),kt(h.c,b,d)))}return u}(a=CY(n,118),i,r),jB(e,function(n,t){for(n.r=new zV(n.p),n.r.r=n,Xx(n.r.j,n.j),$p(n.j),IA(n.j,t),IA(n.r.e,t),Nx(n),Nx(n.r);0!=n.f.c.length;)jm(CY(I0(n.f,0),132));for(;0!=n.k.c.length;)jm(CY(I0(n.k,0),132));return n.r}(a,c)),function(n,t,e){var i,r,a,c;for(a=t.q,c=t.r,new RT((Bw(),nqz),t,a,1),new RT(nqz,a,c,1),r=new fU(e);r.a<r.c.c.length;)(i=CY(RU(r),118))!=a&&i!=t&&i!=c&&(nhq(n.a,i,t),nhq(n.a,i,c))}(t,a,e)},nPB.b=0,Nj(nyU,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),ncm(1882,1,{},am),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,118).e,16))},Nj(nyU,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),ncm(1883,1,{},av),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,118).j,16))},Nj(nyU,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),ncm(1884,1,{},ay),nPB.Ye=function(n){return pj(PI(n))},Nj(nyU,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),ncm(664,1,{},Nl),nPB.a=0,nPB.b=0,nPB.c=0,Nj(nyU,"OrthogonalRoutingGenerator",664),ncm(1703,1,{},ak),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,118).e,16))},Nj(nyU,"OrthogonalRoutingGenerator/lambda$0$Type",1703),ncm(1704,1,{},aM),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,118).j,16))},Nj(nyU,"OrthogonalRoutingGenerator/lambda$1$Type",1704),ncm(670,1,{}),Nj(nyG,"BaseRoutingDirectionStrategy",670),ncm(1870,670,{},gv),nPB.yg=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;if(!n.r||n.q)for(h=t+n.o*e,s=new fU(n.n);s.a<s.c.c.length;)for(u=CY(RU(s),12),f=V4(Vw(DY(nLA,1),nby,8,0,[u.i.n,u.n,u.a])).a,o=new fU(u.g);o.a<o.c.c.length;)!_p(c=CY(RU(o),18))&&(w=c.d,d=V4(Vw(DY(nLA,1),nby,8,0,[w.i.n,w.n,w.a])).a,nP_.Math.abs(f-d)>ngY&&(a=h,r=n,i=new MH(f,a),IA(c.a,i),nsx(this,c,r,i,!1),(l=n.r)&&(i=new MH(b=pj(PI(nnt(l.e,0))),a),IA(c.a,i),nsx(this,c,r,i,!1),a=t+l.o*e,r=l,i=new MH(b,a),IA(c.a,i),nsx(this,c,r,i,!1)),i=new MH(d,a),IA(c.a,i),nsx(this,c,r,i,!1)))},nPB.zg=function(n){return n.i.n.a+n.n.a+n.a.a},nPB.Ag=function(){return nf5(),n1m},nPB.Bg=function(){return nf5(),n1t},Nj(nyG,"NorthToSouthRoutingStrategy",1870),ncm(1871,670,{},gy),nPB.yg=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;if(!n.r||n.q)for(h=t-n.o*e,s=new fU(n.n);s.a<s.c.c.length;)for(u=CY(RU(s),12),f=V4(Vw(DY(nLA,1),nby,8,0,[u.i.n,u.n,u.a])).a,o=new fU(u.g);o.a<o.c.c.length;)!_p(c=CY(RU(o),18))&&(w=c.d,d=V4(Vw(DY(nLA,1),nby,8,0,[w.i.n,w.n,w.a])).a,nP_.Math.abs(f-d)>ngY&&(a=h,r=n,i=new MH(f,a),IA(c.a,i),nsx(this,c,r,i,!1),(l=n.r)&&(i=new MH(b=pj(PI(nnt(l.e,0))),a),IA(c.a,i),nsx(this,c,r,i,!1),a=t-l.o*e,r=l,i=new MH(b,a),IA(c.a,i),nsx(this,c,r,i,!1)),i=new MH(d,a),IA(c.a,i),nsx(this,c,r,i,!1)))},nPB.zg=function(n){return n.i.n.a+n.n.a+n.a.a},nPB.Ag=function(){return nf5(),n1t},nPB.Bg=function(){return nf5(),n1m},Nj(nyG,"SouthToNorthRoutingStrategy",1871),ncm(1869,670,{},gk),nPB.yg=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;if(!n.r||n.q)for(h=t+n.o*e,s=new fU(n.n);s.a<s.c.c.length;)for(u=CY(RU(s),12),f=V4(Vw(DY(nLA,1),nby,8,0,[u.i.n,u.n,u.a])).b,o=new fU(u.g);o.a<o.c.c.length;)!_p(c=CY(RU(o),18))&&(w=c.d,d=V4(Vw(DY(nLA,1),nby,8,0,[w.i.n,w.n,w.a])).b,nP_.Math.abs(f-d)>ngY&&(a=h,r=n,i=new MH(a,f),IA(c.a,i),nsx(this,c,r,i,!0),(l=n.r)&&(i=new MH(a,b=pj(PI(nnt(l.e,0)))),IA(c.a,i),nsx(this,c,r,i,!0),a=t+l.o*e,r=l,i=new MH(a,b),IA(c.a,i),nsx(this,c,r,i,!0)),i=new MH(a,d),IA(c.a,i),nsx(this,c,r,i,!0)))},nPB.zg=function(n){return n.i.n.b+n.n.b+n.a.b},nPB.Ag=function(){return nf5(),n1n},nPB.Bg=function(){return nf5(),n1y},Nj(nyG,"WestToEastRoutingStrategy",1869),ncm(828,1,{},nhw),nPB.Ib=function(){return niV(this.a)},nPB.b=0,nPB.c=!1,nPB.d=!1,nPB.f=0,Nj(nyX,"NubSpline",828),ncm(418,1,{418:1},noH,Du),Nj(nyX,"NubSpline/PolarCP",418),ncm(1480,1,nyL,ntj),nPB.rg=function(n){var t,e,i;return t=CY(n,36),zT(e=new xm,nqQ),(i=CY(niK(t,(nlF(),nKU)),21)).Hc((no7(),nKl))&&zT(e,nq1),i.Hc(nKi)&&zT(e,nqJ),i.Hc(nKh)&&zT(e,nqZ),i.Hc(nKa)&&zT(e,nqY),e},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C;if(e.Ug("Spline edge routing",1),0==t.b.c.length){t.f.a=0,e.Vg();return}m=pj(PI(niK(t,(nlL(),nUI)))),o=pj(PI(niK(t,nUE))),c=pj(PI(niK(t,nUy))),T=CY(niK(t,nHb),350)==(WQ(),nGW),E=pj(PI(niK(t,nHw))),n.d=t,n.j.c.length=0,n.a.c.length=0,LH(n.k),f=EG((u=CY(I0(t.b,0),30)).a,(no$(),nqq)),l=EG((d=CY(I0(t.b,t.b.c.length-1),30)).a,nqq),g=new fU(t.b),p=null,O=0;do{for(!function(n,t,e){var i,r,a,c,o,u,s,h,f,l;if(n.e.a.$b(),n.f.a.$b(),n.c.c.length=0,n.i.c.length=0,n.g.a.$b(),t)for(c=new fU(t.a);c.a<c.c.c.length;)for(h=nrs(a=CY(RU(c),10),(nf5(),n1n)).Kc();h.Ob();)for(s=CY(h.Pb(),12),LX(n.e,s),r=new fU(s.g);r.a<r.c.c.length;)_p(i=CY(RU(r),18))||(jB(n.c,i),Z1(n,i),((o=i.c.i.k)==(ni8(),n$v)||o==n$y||o==n$g||o==n$d)&&jB(n.j,i),(f=(l=i.d).i.c)==e?LX(n.f,l):f==t?LX(n.e,l):H0(n.c,i));if(e)for(c=new fU(e.a);c.a<c.c.c.length;){for(u=new fU((a=CY(RU(c),10)).j);u.a<u.c.c.length;)for(r=new fU(CY(RU(u),12).g);r.a<r.c.c.length;)_p(i=CY(RU(r),18))&&LX(n.g,i);for(h=nrs(a,(nf5(),n1y)).Kc();h.Ob();)for(s=CY(h.Pb(),12),LX(n.f,s),r=new fU(s.g);r.a<r.c.c.length;)_p(i=CY(RU(r),18))||(jB(n.c,i),Z1(n,i),((o=i.c.i.k)==(ni8(),n$v)||o==n$y||o==n$g||o==n$d)&&jB(n.j,i),(f=(l=i.d).i.c)==e?LX(n.f,l):f==t?LX(n.e,l):H0(n.c,i))}}(n,p,v=g.a<g.c.c.length?CY(RU(g),30):null),!function(n){var t,e,i;for(nfY(n,n.e,n.f,(DC(),nq0),!0,n.c,n.i),nfY(n,n.e,n.f,nq0,!1,n.c,n.i),nfY(n,n.e,n.f,nq2,!0,n.c,n.i),nfY(n,n.e,n.f,nq2,!1,n.c,n.i),!function(n,t,e,i,r){var a,c,o,u,s,h,f;for(c=new fU(t);c.a<c.c.c.length;){if(u=(a=CY(RU(c),18)).c,e.a._b(u))DC(),s=nq0;else if(i.a._b(u))DC(),s=nq2;else throw new pN("Source port must be in one of the port sets.").e;if(h=a.d,e.a._b(h))DC(),f=nq0;else if(i.a._b(h))DC(),f=nq2;else throw new pN("Target port must be in one of the port sets.").e;o=new nr0(a,s,f),xM(n.b,a,o),dk(r.c,o)}}(n,n.c,n.e,n.f,n.i),e=new Kp(n.i,0);e.b<e.d.gc();)for(Px(e.b<e.d.gc()),t=CY(e.d.Xb(e.c=e.b++),131),i=new Kp(n.i,e.b);i.b<i.d.gc();)Px(i.b<i.d.gc()),function(n,t){var e,i,r,a,c,o,u;if(!(n.g>t.f)&&!(t.g>n.f)){for(e=0,i=0,c=n.w.a.ec().Kc();c.Ob();)r=CY(c.Pb(),12),Qu(V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&++e;for(o=n.r.a.ec().Kc();o.Ob();)r=CY(o.Pb(),12),Qu(V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&--e;for(u=t.w.a.ec().Kc();u.Ob();)r=CY(u.Pb(),12),Qu(V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&++i;for(a=t.r.a.ec().Kc();a.Ob();)r=CY(a.Pb(),12),Qu(V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&--i;e<i?new Ba(n,t,i-e):i<e?new Ba(t,n,e-i):(new Ba(t,n,0),new Ba(n,t,0))}}(t,CY(i.d.Xb(i.c=i.b++),131));(function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P;for(j=new vq,M=new vq,g=-1,u=new fU(n);u.a<u.c.c.length;){for((c=CY(RU(u),131)).s=g--,h=0,v=0,a=new fU(c.t);a.a<a.c.c.length;)v+=(i=CY(RU(a),274)).c;for(r=new fU(c.i);r.a<r.c.c.length;)h+=(i=CY(RU(r),274)).c;c.n=h,c.u=v,0==v?F_(M,c,M.c.b,M.c):0==h&&F_(j,c,j.c.b,j.c)}for(P=FU(n),d=(f=n.c.length)+1,p=f-1,b=new du;0!=P.a.gc();){for(;0!=M.b;)Px(0!=M.b),k=CY(Gy(M,M.a.a),131),P.a.Bc(k),k.s=p--,nc1(k,j,M);for(;0!=j.b;)Px(0!=j.b),E=CY(Gy(j,j.a.a),131),P.a.Bc(E),E.s=d++,nc1(E,j,M);for(w=nbJ,s=P.a.ec().Kc();s.Ob();)(m=(c=CY(s.Pb(),131)).u-c.n)>=w&&(m>w&&(b.c.length=0,w=m),dk(b.c,c));0!=b.c.length&&(l=CY(I0(b,nnC(t,b.c.length)),131),P.a.Bc(l),l.s=d++,nc1(l,j,M),b.c.length=0)}for(y=n.c.length+1,o=new fU(n);o.a<o.c.c.length;)(c=CY(RU(o),131)).s<f&&(c.s+=y);for(T=new fU(n);T.a<T.c.c.length;)for(e=new Kp((E=CY(RU(T),131)).t,0);e.b<e.d.gc();)Px(e.b<e.d.gc()),S=(i=CY(e.d.Xb(e.c=e.b++),274)).b,E.s>S.s&&(N6(e),H0(S.i,i),i.c>0&&(i.a=S,jB(S.t,i),i.b=E,jB(E.i,i)))})(n.i,CY(niK(n.d,(nlF(),nFc)),234)),function(n){var t,e,i,r,a,c,o,u,s;for(u=new vq,c=new vq,r=new fU(n);r.a<r.c.c.length;)(e=CY(RU(r),131)).v=0,e.n=e.i.c.length,e.u=e.t.c.length,0==e.n&&F_(u,e,u.c.b,u.c),0==e.u&&0==e.r.a.gc()&&F_(c,e,c.c.b,c.c);for(a=-1;0!=u.b;)for(t=new fU((e=CY(ntQ(u,0),131)).t);t.a<t.c.c.length;)(s=CY(RU(t),274).b).v=nP_.Math.max(s.v,e.v+1),a=nP_.Math.max(a,s.v),--s.n,0==s.n&&F_(u,s,u.c.b,u.c);if(a>-1){for(i=ZQ(c,0);i.b!=i.d.c;)(e=CY(K0(i),131)).v=a;for(;0!=c.b;)for(t=new fU((e=CY(ntQ(c,0),131)).i);t.a<t.c.c.length;)0==(o=CY(RU(t),274).a).r.a.gc()&&(o.v=nP_.Math.min(o.v,e.v-1),--o.u,0==o.u&&F_(c,o,c.c.b,c.c))}}(n.i)}(n),j=(C=function(n){var t;return EB((t=KD(n)).a,0)?(vW(),vW(),nO1):(vW(),new S8(t.b))}(xW(xX(new Aa(null,new R$(n.i,16)),new aE),new aT))).a?C.b:0,P=0,y=O,b=!p||f&&p==u,w=!v||l&&v==d,j>0?(h=0,p&&(h+=o),h+=(j-1)*c,v&&(h+=o),T&&v&&(h=nP_.Math.max(h,function(n,t,e,i){var r,a,c,o,u,h,f,l;for(o=0,h=new fU(n.a);h.a<h.c.c.length;){for(u=CY(RU(h),10),c=0,a=new Le(Sb(Jz(u).a.Kc(),new s));ncv(a);)f=RO((r=CY(_I(a),18)).c).b,l=RO(r.d).b,c=nP_.Math.max(c,nP_.Math.abs(l-f));o=nP_.Math.max(o,c)}return i*nP_.Math.min(1,t/e)*o}(v,c,m,E))),!(h<m)||b||w||(P=(m-h)/2,h=m),y+=h):b||w||(y+=m),v&&nfo(v,y),M=new fU(n.i);M.a<M.c.c.length;)(k=CY(RU(M),131)).a.c=O,k.a.b=y-O,k.F=P,k.p=!p;Vc(n.a,n.i),O=y,v&&(O+=v.c.a),p=v,b=w}while(v)for(r=new fU(n.j);r.a<r.c.c.length;)a=function(n,t){var e,i;i=new du,e=t;do dk(i.c,e),e=CY(NR(n.k,e),18);while(e)return i}(n,i=CY(RU(r),18)),VD(i,(nlF(),nFl),a),S=function(n,t){var e,i,r,a,c;c=new du,e=t;do(a=CY(NR(n.b,e),131)).B=e.c,a.D=e.d,dk(c.c,a),e=CY(NR(n.k,e),18);while(e)return RN(0,c.c.length),(i=CY(c.c[0],131)).j=!0,i.A=CY(i.d.a.ec().Kc().Pb(),18).c.i,(r=CY(I0(c,c.c.length-1),131)).q=!0,r.C=CY(r.d.a.ec().Kc().Pb(),18).d.i,c}(n,i),VD(i,nFw,S);t.f.a=O,n.d=null,e.Vg()}(this,CY(n,36),t)},Nj(nyX,"SplineEdgeRouter",1480),ncm(274,1,{274:1},Ba),nPB.Ib=function(){return this.a+" ->("+this.c+") "+this.b},nPB.c=0,Nj(nyX,"SplineEdgeRouter/Dependency",274),ncm(465,22,{3:1,34:1,22:1,465:1},Ml);var nA6=qc(nyX,"SplineEdgeRouter/SideToProcess",465,nPw,function(){return DC(),Vw(DY(nA6,1),nbG,465,0,[nq0,nq2])},function(n){return DC(),qa((F5(),nq3),n)});ncm(1481,1,nbV,aE),nPB.Mb=function(n){return noD(),!CY(n,131).o},Nj(nyX,"SplineEdgeRouter/lambda$0$Type",1481),ncm(1482,1,{},aT),nPB.Ze=function(n){return noD(),CY(n,131).v+1},Nj(nyX,"SplineEdgeRouter/lambda$1$Type",1482),ncm(1483,1,nbE,Mo),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,42),xM(t.b,CY(i.b,18),e)},Nj(nyX,"SplineEdgeRouter/lambda$2$Type",1483),ncm(1484,1,nbE,Mu),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,42),xM(t.b,CY(i.b,18),e)},Nj(nyX,"SplineEdgeRouter/lambda$3$Type",1484),ncm(131,1,{34:1,131:1},nr0,nfe),nPB.Fd=function(n){var t;return t=CY(n,131),this.s-t.s},nPB.b=0,nPB.e=!1,nPB.f=0,nPB.g=0,nPB.j=!1,nPB.k=!1,nPB.n=0,nPB.o=!1,nPB.p=!1,nPB.q=!1,nPB.s=0,nPB.u=0,nPB.v=0,nPB.F=0,Nj(nyX,"SplineSegment",131),ncm(468,1,{468:1},aj),nPB.a=0,nPB.b=!1,nPB.c=!1,nPB.d=!1,nPB.e=!1,nPB.f=0,Nj(nyX,"SplineSegment/EdgeInformation",468),ncm(1198,1,{},aS),Nj(nyJ,ngH,1198),ncm(1199,1,ndy,aP),nPB.Ne=function(n,t){var e,i,r,a,c;return e=CY(n,121),i=CY(t,121),0==(r=CY(niK(i,(nhn(),nzo)),17).a-CY(niK(e,nzo),17).a)?(a=Oj(jv(CY(niK(e,(nf3(),nXd)),8)),CY(niK(e,nXg),8)),c=Oj(jv(CY(niK(i,nXd),8)),CY(niK(i,nXg),8)),Jj(a.a*a.b,c.a*c.b)):r},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyJ,ngU,1199),ncm(1197,1,{},mG),Nj(nyJ,"MrTree",1197),ncm(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},Mb),nPB.dg=function(){return naS(this)},nPB.qg=function(){return naS(this)};var nA5=qc(nyJ,"TreeLayoutPhases",405,nPw,function(){return ntU(),Vw(DY(nA5,1),nbG,405,0,[nq4,nq6,nq5,nq8])},function(n){return ntU(),qa((HX(),nq9),n)});ncm(1112,205,ngv,Op),nPB.rf=function(n,t){var e,i,r,a,c,o,u,h,f;for(pT(PC(ncx(n,(nhn(),nze))))||Dv(new lh((yv(),new py(n)))),(a=t.eh(.10000000149011612)).Ug("build tGraph",1),zU(o=new Bo,n),VD(o,(nf3(),nXN),n),function(n,t,e){var i,r,a,c,o;for(a=0,r=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));r.e!=r.i.gc();)i=CY(Z6(r),27),c="",0==(!i.n&&(i.n=new Lk(nNt,i,1,7)),i.n).i||(c=CY(GO((!i.n&&(i.n=new Lk(nNt,i,1,7)),i.n),0),135).a),zU(o=new Wh(a++,t,c),i),VD(o,(nf3(),nXN),i),o.e.b=i.j+i.f/2,o.f.a=nP_.Math.max(i.g,1),o.e.a=i.i+i.g/2,o.f.b=nP_.Math.max(i.f,1),IA(t.b,o),nr3(e.f,i,o)}(n,o,u=new dc),function(n,t,e){var i,r,a,c,o,u,h;for(c=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));c.e!=c.i.gc();)for(r=new Le(Sb(nc5(a=CY(Z6(c),27)).a.Kc(),new s));ncv(r);)nco(i=CY(_I(r),74))||nco(i)||na$(i)||(u=CY(ED(Aj(e.f,a)),40),h=CY(NR(e,niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84))),40),u&&h&&(VD(o=new $S(u,h),(nf3(),nXN),i),zU(o,i),IA(u.d,o),IA(h.b,o),IA(t.a,o)))}(n,o,u),c=o,a.Vg(),(a=t.eh(.10000000149011612)).Ug("Split graph",1),r=function(n,t){var e,i,r,a,c,o,u;if(null==(u=PC(niK(t,(nhn(),nzs))))||(xf(u),u)){for(!function(n,t){var e,i,r,a,c;for(n.a=BJ(nPf,ngF,15,r=t.b.b,0,1),n.b=BJ(n4h,ndV,28,r,16,1),c=ZQ(t.b,0);c.b!=c.d.c;)a=CY(K0(c),40),n.a[a.g]=new vq;for(i=ZQ(t.a,0);i.b!=i.d.c;)e=CY(K0(i),65),n.a[e.b.g].Fc(e),n.a[e.c.g].Fc(e)}(n,t),r=new du,o=ZQ(t.b,0);o.b!=o.d.c;)(e=function n(t,e,i){var r,a,c;if(!t.b[e.g]){for(t.b[e.g]=!0,(r=i)||(r=new Bo),IA(r.b,e),c=t.a[e.g].Kc();c.Ob();)(a=CY(c.Pb(),65)).b!=e&&n(t,a.b,r),a.c!=e&&n(t,a.c,r),IA(r.a,a);return r}return null}(n,CY(K0(o),40),null))&&(zU(e,t),dk(r.c,e));if(n.a=null,n.b=null,r.c.length>1)for(i=new fU(r);i.a<i.c.c.length;)for(e=CY(RU(i),121),a=0,c=ZQ(e.b,0);c.b!=c.d.c;)CY(K0(c),40).g=a++;return r}return _q(Vw(DY(nA8,1),ng_,121,0,[t]))}(this.a,c),a.Vg(),i=new fU(r);i.a<i.c.c.length;)e=CY(RU(i),121),h=this.b,(f=t.eh(.5999999940395355/r.c.length)).Ug("Tree layout",1),xR(h.b),L2(h.b,(ntU(),nq4),nq4),L2(h.b,nq6,nq6),L2(h.b,nq5,nq5),L2(h.b,nq8,nq8),h.a=nfu(h.b,e),function(n,t,e){var i,r,a;for((i=e)||(i=new gz),i.Ug("Layout",n.a.c.length),a=new fU(n.a);a.a<a.c.c.length;){if(r=CY(RU(a),47),i.$g())return;r.Kf(t,i.eh(1))}i.Vg()}(h,e,f.eh(1)),f.Vg();(a=t.eh(.10000000149011612)).Ug("Pack components",1),c=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P;if(1==n.c.length)return nex((RN(0,n.c.length),CY(n.c[0],121))),RN(0,n.c.length),CY(n.c[0],121);if(n.c.length<=0)return new Bo;for(u=new fU(n);u.a<u.c.c.length;){for(c=CY(RU(u),121),m=0,w=nl3,d=nl3,l=nbJ,b=nbJ,p=ZQ(c.b,0);p.b!=p.d.c;)g=CY(K0(p),40),m+=CY(niK(g,(nhn(),nzo)),17).a,w=nP_.Math.min(w,g.e.a),d=nP_.Math.min(d,g.e.b),l=nP_.Math.max(l,g.e.a+g.f.a),b=nP_.Math.max(b,g.e.b+g.f.b);VD(c,(nhn(),nzo),Qx(m)),VD(c,(nf3(),nXg),new MH(w,d)),VD(c,nXd,new MH(l,b))}for($O(),ji(n,new aP),zU(y=new Bo,(RN(0,n.c.length),CY(n.c[0],96))),f=0,j=0,s=new fU(n);s.a<s.c.c.length;)c=CY(RU(s),121),k=Oj(jv(CY(niK(c,(nf3(),nXd)),8)),CY(niK(c,nXg),8)),f=nP_.Math.max(f,k.a),j+=k.a*k.b;for(f=nP_.Math.max(f,nP_.Math.sqrt(j)*pj(PI(niK(y,(nhn(),nXY))))),M=pj(PI(niK(y,nzf))),S=0,P=0,h=0,t=M,o=new fU(n);o.a<o.c.c.length;)c=CY(RU(o),121),S+(k=Oj(jv(CY(niK(c,(nf3(),nXd)),8)),CY(niK(c,nXg),8))).a>f&&(S=0,P+=h+M,h=0),nsm(y,c,S,P),t=nP_.Math.max(t,S+k.a),h=nP_.Math.max(h,k.b),S+=k.a+M;for(v=new dc,e=new dc,T=new fU(n);T.a<T.c.c.length;)for(i=pT(PC(niK(E=CY(RU(T),121),(nl_(),nJx)))),a=(E.q?E.q:nOB).vc().Kc();a.Ob();)LR(v,(r=CY(a.Pb(),44)).ld())?ER(CY(r.ld(),149).Sg())!==ER(r.md())&&(i&&LR(e,r.ld())?(vX(),CY(r.ld(),149).Pg()):(xM(v,CY(r.ld(),149),r.md()),VD(y,CY(r.ld(),149),r.md()),i&&xM(e,CY(r.ld(),149),r.md()))):(xM(v,CY(r.ld(),149),r.md()),VD(y,CY(r.ld(),149),r.md()));return nex(y),y}(r),a.Vg(),(a=t.eh(.10000000149011612)).Ug("Apply layout results",1),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(e=CY(niK(n,(nf3(),nXN)),27),o=nl3,u=nl3,a=nbJ,c=nbJ,p=ZQ(n.b,0);p.b!=p.d.c;)f=(d=CY(K0(p),40)).e,l=d.f,o=nP_.Math.min(o,f.a-l.a/2),u=nP_.Math.min(u,f.b-l.b/2),a=nP_.Math.max(a,f.a+l.a/2),c=nP_.Math.max(c,f.b+l.b/2);for(h=CY(ncx(e,(nhn(),nzi)),107),g=ZQ(n.b,0);g.b!=g.d.c;)jM(s=niK(d=CY(K0(g),40),nXN),207)&&(TB(i=CY(s,27),d.e.a,d.e.b),nom(i,d));for(w=ZQ(n.a,0);w.b!=w.d.c;)b=CY(K0(w),65),(t=CY(niK(b,nXN),74))&&nho(b.a,no6(t,!0,!0));m=a-o+(h.b+h.c),r=c-u+(h.d+h.a),pT(PC(ncx(e,(nl_(),nJ9))))||nf9(e,m,r,!1,!1),nnh(e,nJI,m-(h.b+h.c)),nnh(e,nJC,r-(h.d+h.a))}(c),a.Vg()},Nj(nyJ,"TreeLayoutProvider",1112),ncm(1894,1,nbO,aC),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return $O(),vz(),nOU},Nj(nyJ,"TreeUtil/1",1894),ncm(1895,1,nbO,aI),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return $O(),vz(),nOU},Nj(nyJ,"TreeUtil/2",1895),ncm(1885,1,nbV,aA),nPB.Mb=function(n){return pT(PC(niK(CY(n,40),(nf3(),nXF))))},Nj(nyJ,"TreeUtil/lambda$0$Type",1885),ncm(1891,1,nbV,bX),nPB.Mb=function(n){return this.a.Hc(CY(n,40))},Nj(nyJ,"TreeUtil/lambda$10$Type",1891),ncm(1892,1,{},bz),nPB.Kb=function(n){var t,e;return t=this.a,jK(new MH((e=CY(n,40)).e.a+e.f.a/2,e.e.b+e.f.b/2),t)},Nj(nyJ,"TreeUtil/lambda$11$Type",1892),ncm(1893,1,nbV,Ms),nPB.Mb=function(n){var t,e,i;return t=this.a,e=this.b,jK(new MH((i=CY(n,40)).e.a+i.f.a/2,i.e.b+i.f.b/2),t)==(xf(e),e)},Nj(nyJ,"TreeUtil/lambda$12$Type",1893),ncm(1886,1,nbV,bV),nPB.Mb=function(n){var t,e;return t=this.a,OB((e=CY(n,65)).b&&e.c?RQ(e.b)+"->"+RQ(e.c):"e_"+XS(e),t.b&&t.c?RQ(t.b)+"->"+RQ(t.c):"e_"+XS(t))},Nj(nyJ,"TreeUtil/lambda$3$Type",1886),ncm(1887,1,ndy,aO),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),Jj(e.b.e.a,i.b.e.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyJ,"TreeUtil/lambda$4$Type",1887),ncm(1888,1,nbV,bW),nPB.Mb=function(n){var t,e;return t=this.a,OB((e=CY(n,65)).b&&e.c?RQ(e.b)+"->"+RQ(e.c):"e_"+XS(e),t.b&&t.c?RQ(t.b)+"->"+RQ(t.c):"e_"+XS(t))},Nj(nyJ,"TreeUtil/lambda$7$Type",1888),ncm(1889,1,ndy,aL),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),Jj(e.c.e.a,i.c.e.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyJ,"TreeUtil/lambda$8$Type",1889),ncm(1890,1,{},aN),nPB.Kb=function(n){return CY(n,65).b},Nj(nyJ,"TreeUtil/lambda$9$Type",1890),ncm(508,137,{3:1,508:1,96:1,137:1}),nPB.g=0,Nj(nyZ,"TGraphElement",508),ncm(65,508,{3:1,65:1,508:1,96:1,137:1},$S),nPB.Ib=function(){return this.b&&this.c?RQ(this.b)+"->"+RQ(this.c):"e_"+XS(this)},Nj(nyZ,"TEdge",65),ncm(121,137,{3:1,121:1,96:1,137:1},Bo),nPB.Ib=function(){var n,t,e,i,r;for(r=null,i=ZQ(this.b,0);i.b!=i.d.c;)r+=(null==(e=CY(K0(i),40)).c||0==e.c.length?"n_"+e.g:"n_"+e.c)+"\n";for(t=ZQ(this.a,0);t.b!=t.d.c;)r+=((n=CY(K0(t),65)).b&&n.c?RQ(n.b)+"->"+RQ(n.c):"e_"+XS(n))+"\n";return r};var nA8=Nj(nyZ,"TGraph",121);ncm(643,508,{3:1,508:1,643:1,96:1,137:1}),Nj(nyZ,"TShape",643),ncm(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},Wh),nPB.Ib=function(){return RQ(this)};var nA9=Nj(nyZ,"TNode",40);ncm(236,1,nbO,bQ),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new bJ(ZQ(this.a.d,0))},Nj(nyZ,"TNode/2",236),ncm(329,1,nbu,bJ),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return CY(K0(this.a),65).c},nPB.Ob=function(){return mJ(this.a)},nPB.Qb=function(){Gh(this.a)},Nj(nyZ,"TNode/2/1",329),ncm(1923,1,npR,ax),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;if(e.Ug("Process compaction",1),pT(PC(niK(t,(nhn(),nXZ))))){for(r=CY(niK(t,nX0),88),b=pj(PI(niK(t,nzf))),!function(n,t,e){var i,r,a;for(n.a=new du,a=ZQ(t.b,0);a.b!=a.d.c;){for(r=CY(K0(a),40);CY(niK(r,(nhn(),nzp)),17).a>n.a.c.length-1;)jB(n.a,new Ea(ngK,ny1));(i=CY(niK(r,nzp),17).a,e==(Ju(),nY8)||e==nY9)?(r.e.a<pj(PI(CY(I0(n.a,i),42).a))&&(CY(I0(n.a,i),42).a=r.e.a),r.e.a+r.f.a>pj(PI(CY(I0(n.a,i),42).b))&&(CY(I0(n.a,i),42).b=r.e.a+r.f.a)):(r.e.b<pj(PI(CY(I0(n.a,i),42).a))&&(CY(I0(n.a,i),42).a=r.e.b),r.e.b+r.f.b>pj(PI(CY(I0(n.a,i),42).b))&&(CY(I0(n.a,i),42).b=r.e.b+r.f.b))}}(n,t,r),!function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(h=(r=CY(niK(n,(nhn(),nX0)),88))==(Ju(),nY8)||r==nY9?nY5:nY9,e=CY(FB(xX(new Aa(null,new R$(n.b,16)),new aK),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),(u=CY(FB(xz(e.Oc(),new b0(t)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15)).Gc(CY(FB(xz(e.Oc(),new b2(t)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),16)),u.jd(new b3(h)),l=new mH(new b4(r)),i=new dc,o=u.Kc();o.Ob();)c=CY(o.Pb(),240),s=CY(c.a,40),pT(PC(c.c))?(l.a.zc(s,(SB(),nOo)),new f0(l.a.Zc(s,!1)).a.gc()>0&&xM(i,s,CY(new f0(l.a.Zc(s,!1)).a.Vc(),40)),new f0(l.a.ad(s,!0)).a.gc()>1&&xM(i,YS(l,s),s)):(new f0(l.a.Zc(s,!1)).a.gc()>0&&ER(a=CY(new f0(l.a.Zc(s,!1)).a.Vc(),40))===ER(ED(Aj(i.f,s)))&&CY(niK(s,(nf3(),nXp)),15).Fc(a),new f0(l.a.ad(s,!0)).a.gc()>1&&(f=YS(l,s),ER(ED(Aj(i.f,f)))===ER(s)&&CY(niK(f,(nf3(),nXp)),15).Fc(s)),l.a.Bc(s))}(t,b/2/2),Xm(w=t.b,new bY(r)),s=ZQ(w,0);s.b!=s.d.c;)if(!pT(PC(niK(u=CY(K0(s),40),(nf3(),nXF))))){if(i=function(n,t){var e,i;if(!(e=CY(niK(n,(nf3(),nXp)),15))||1>e.gc())return null;if(1==e.gc())return CY(e.Xb(0),40);switch(i=null,t.g){case 2:i=CY(SO(Ll(e.Oc(),new aF)),40);break;case 1:i=CY(SO(Lf(e.Oc(),new a$)),40);break;case 4:i=CY(SO(Ll(e.Oc(),new aD)),40);break;case 3:i=CY(SO(Lf(e.Oc(),new aR)),40)}return i}(u,r),d=function(n,t){var e,i,r,a;return(e=Zz(CY(niK(t,(nhn(),nX0)),88)),0==n.b.b)?null:(a=CY(FB(xz(new Aa(null,new R$(n.b,16)),new aN),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),i=PI(SO(Lf(xz((r=CY(FB(xX(new Aa(null,new R$(t.b,16)),new bX(a)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15)).Oc(),new bz(e)),($P(),$P(),nOq)))),CY(SO(Wu(xX(r.Oc(),new Ms(e,i)))),40))}(u,t),f=0,l=0,i)switch(g=i.e,r.g){case 2:f=g.a-b-u.f.a,d.e.a-b-u.f.a<f&&(f=d.e.a-b-u.f.a),l=f+u.f.a;break;case 1:f=g.a+i.f.a+b,d.e.a+b>f&&(f=d.e.a+d.f.a+b),l=f+u.f.a;break;case 4:f=g.b-b-u.f.b,d.e.b-b-u.f.b<f&&(f=d.e.b-b-u.f.b),l=f+u.f.b;break;case 3:f=g.b+i.f.b+b,d.e.b+b>f&&(f=d.e.b+d.f.b+b),l=f+u.f.b}else if(d)switch(r.g){case 2:l=(f=d.e.a-b-u.f.a)+u.f.a;break;case 1:l=(f=d.e.a+d.f.a+b)+u.f.a;break;case 4:l=(f=d.e.b-b-u.f.b)+u.f.b;break;case 3:l=(f=d.e.b+d.f.b+b)+u.f.b}ER(niK(t,nX4))===ER((Wv(),nXf))?(a=f,c=l,null!=(o=Wu(xX(new Aa(null,new R$(n.a,16)),new Mh(a,c)))).a?r==(Ju(),nY8)||r==nY9?u.e.a=f:u.e.b=f:null!=(o=r==(Ju(),nY8)||r==nZn?Wu(xX(GC(new Aa(null,new R$(n.a,16))),new bZ(a))):Wu(xX(GC(new Aa(null,new R$(n.a,16))),new b1(a)))).a&&(r==nY8||r==nY9?u.e.a=pj(PI((Px(null!=o.a),CY(o.a,42)).a)):u.e.b=pj(PI((Px(null!=o.a),CY(o.a,42)).a))),null!=o.a&&(h=H6(n.a,(Px(null!=o.a),o.a),0))>0&&h!=CY(niK(u,nzp),17).a&&(VD(u,nXm,(SB(),!0)),VD(u,nzp,Qx(h)))):r==(Ju(),nY8)||r==nY9?u.e.a=f:u.e.b=f}e.Vg()}}(this,CY(n,121),t)},Nj(ny0,"CompactionProcessor",1923),ncm(1924,1,ndy,bY),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,40),r=CY(t,40),Jj(jK(Zz(e),new MH(i.e.a,i.e.b)),jK(Zz(e),new MH(r.e.a,r.e.b)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$0$Type",1924),ncm(1925,1,nbV,Mh),nPB.Mb=function(n){var t,e,i;return t=this.b,e=this.a,pj(PI((i=CY(n,42)).a))<=t&&pj(PI(i.b))>=e},nPB.a=0,nPB.b=0,Nj(ny0,"CompactionProcessor/lambda$1$Type",1925),ncm(1934,1,ndy,a$),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),Jj(e.e.a+e.f.a,i.e.a+i.f.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$10$Type",1934),ncm(1935,1,ndy,aD),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),Jj(e.e.b,i.e.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$11$Type",1935),ncm(1936,1,ndy,aR),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),Jj(e.e.b+e.f.b,i.e.b+i.f.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$12$Type",1936),ncm(1926,1,nbV,bZ),nPB.Mb=function(n){var t;return t=this.a,pj(PI(CY(n,42).a))<=t},nPB.a=0,Nj(ny0,"CompactionProcessor/lambda$2$Type",1926),ncm(1927,1,nbV,b1),nPB.Mb=function(n){var t;return t=this.a,pj(PI(CY(n,42).a))>=t},nPB.a=0,Nj(ny0,"CompactionProcessor/lambda$3$Type",1927),ncm(1928,1,nbV,aK),nPB.Mb=function(n){return -1==CY(n,40).c.indexOf(nyY)},Nj(ny0,"CompactionProcessor/lambda$4$Type",1928),ncm(1929,1,{},b0),nPB.Kb=function(n){var t,e;return t=this.a,new CO(e=CY(n,40),Pf(jv(e.e),t,t),(SB(),!0))},nPB.a=0,Nj(ny0,"CompactionProcessor/lambda$5$Type",1929),ncm(1930,1,{},b2),nPB.Kb=function(n){var t,e;return t=this.a,new CO(e=CY(n,40),Pu(jv(e.e),e.f.a+t,e.f.b+t),(SB(),!1))},nPB.a=0,Nj(ny0,"CompactionProcessor/lambda$6$Type",1930),ncm(1931,1,ndy,b3),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,240),r=CY(t,240),Jj(jK(Zz(e),jv(i.b)),jK(Zz(e),jv(r.b)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$7$Type",1931),ncm(1932,1,ndy,b4),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,40),r=CY(t,40),Jj(jK(Zz(e),jv(i.e)),jK(Zz(e),jv(r.e)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$8$Type",1932),ncm(1933,1,ndy,aF),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),Jj(e.e.a,i.e.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$9$Type",1933),ncm(1921,1,npR,a_),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;if(t.Ug("Process directions",1),(e=CY(niK(n,(nhn(),nX0)),88))!=(Ju(),nY5))for(r=ZQ(n.b,0);r.b!=r.d.c;){switch(i=CY(K0(r),40),o=CY(niK(i,(nf3(),nX_)),17).a,u=CY(niK(i,nXB),17).a,e.g){case 4:u*=-1;break;case 1:a=o,o=u,u=a;break;case 2:c=o,o=-u,u=c}VD(i,nX_,Qx(o)),VD(i,nXB,Qx(u))}t.Vg()}(CY(n,121),t)},Nj(ny0,"DirectionProcessor",1921),ncm(1913,1,npR,Og),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h;for(e.Ug(ny2,1),LH(n.b),LH(n.a),o=null,a=ZQ(t.b,0);!o&&a.b!=a.d.c;)pT(PC(niK(s=CY(K0(a),40),(nf3(),nXF))))&&(o=s);for(F_(u=new vq,o,u.c.b,u.c),function n(t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;if(0!=e.b){for(b=new vq,o=null,w=null,r=Dy(nP_.Math.floor(nP_.Math.log(e.b)*nP_.Math.LOG10E)+1),u=0,v=ZQ(e,0);v.b!=v.d.c;)for(p=CY(K0(v),40),ER(w)!==ER(niK(p,(nf3(),nXS)))&&(w=PA(niK(p,nXS)),u=0),o=null!=w?w+RJ(u++,r):RJ(u++,r),VD(p,nXS,o),g=new bJ(ZQ(new bQ(p).a.d,0));mJ(g.a);)F_(b,d=CY(K0(g.a),65).c,b.c.b,b.c),VD(d,nXS,o);for(c=0,l=new dc;c<o.length-r;c++)for(m=ZQ(e,0);m.b!=m.d.c;)i=(null==(s=Di(PA(niK(p=CY(K0(m),40),(nf3(),nXS))),0,c+1))?ED(Aj(l.f,null)):yD(l.i,s))!=null?CY(null==s?ED(Aj(l.f,null)):yD(l.i,s),17).a+1:1,Rr(l,s,Qx(i));for(f=new zM(new fP(l).a);f.b;)h=Xu(f),a=Qx(null!=NR(t.a,h.ld())?CY(NR(t.a,h.ld()),17).a:0),Rr(t.a,PA(h.ld()),Qx(CY(h.md(),17).a+a.a)),(a=CY(NR(t.b,h.ld()),17))&&!(a.a<CY(h.md(),17).a)||Rr(t.b,PA(h.ld()),CY(h.md(),17));n(t,b)}}(n,u),h=ZQ(t.b,0);h.b!=h.d.c;)c=PA(niK(s=CY(K0(h),40),(nf3(),nXS))),r=null!=Db(n.b,c)?CY(Db(n.b,c),17).a:0,VD(s,nXk,Qx(r)),i=1+(null!=Db(n.a,c)?CY(Db(n.a,c),17).a:0),VD(s,nXv,Qx(i));e.Vg()}(this,CY(n,121),t)},Nj(ny0,"FanProcessor",1913),ncm(1937,1,npR,aB),nPB.Kf=function(n,t){var e;e=CY(n,121),t.Ug("Process graph bounds",1),VD(e,(nf3(),nXE),Mt(XY(xV(new Aa(null,new R$(e.b,16)),new aH)))),VD(e,nXj,Mt(XY(xV(new Aa(null,new R$(e.b,16)),new aU)))),VD(e,nXM,Mt(XJ(xV(new Aa(null,new R$(e.b,16)),new aG)))),VD(e,nXT,Mt(XJ(xV(new Aa(null,new R$(e.b,16)),new aq)))),t.Vg()},Nj(ny0,"GraphBoundsProcessor",1937),ncm(1938,1,{},aH),nPB.Ye=function(n){return CY(n,40).e.a},Nj(ny0,"GraphBoundsProcessor/lambda$0$Type",1938),ncm(1939,1,{},aU),nPB.Ye=function(n){return CY(n,40).e.b},Nj(ny0,"GraphBoundsProcessor/lambda$1$Type",1939),ncm(1940,1,{},aG),nPB.Ye=function(n){var t;return(t=CY(n,40)).e.a+t.f.a},Nj(ny0,"GraphBoundsProcessor/lambda$2$Type",1940),ncm(1941,1,{},aq),nPB.Ye=function(n){var t;return(t=CY(n,40)).e.b+t.f.b},Nj(ny0,"GraphBoundsProcessor/lambda$3$Type",1941),ncm(262,22,{3:1,34:1,22:1,262:1,196:1},Mw),nPB.dg=function(){switch(this.g){case 0:return new gq;case 1:return new Og;case 2:return new gG;case 3:return new aQ;case 4:return new az;case 8:return new aX;case 5:return new a_;case 6:return new aY;case 7:return new ax;case 9:return new aB;case 10:return new aZ;default:throw new pN(np5+(null!=this.f?this.f:""+this.g)).e}};var nA7=qc(ny0,np8,262,nPw,zp,function(n){return nsi(),qa((Ti(),nXh),n)});ncm(1920,1,npR,aX),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c;for(t.Ug("Processor determine the coords for each level",1),i=new du,c=ZQ(n.b,0);c.b!=c.d.c;){for(r=CY(K0(c),40);CY(niK(r,(nhn(),nzp)),17).a>i.c.length-1;)jB(i,new Ea(ngK,ny1));(e=CY(niK(r,nzp),17).a,T$(CY(niK(n,nX0),88)))?(r.e.a<pj(PI((RN(e,i.c.length),CY(i.c[e],42)).a))&&(RN(e,i.c.length),CY(i.c[e],42).a=r.e.a),r.e.a+r.f.a>pj(PI((RN(e,i.c.length),CY(i.c[e],42)).b))&&(RN(e,i.c.length),CY(i.c[e],42).b=r.e.a+r.f.a)):(r.e.b<pj(PI((RN(e,i.c.length),CY(i.c[e],42)).a))&&(RN(e,i.c.length),CY(i.c[e],42).a=r.e.b),r.e.b+r.f.b>pj(PI((RN(e,i.c.length),CY(i.c[e],42)).b))&&(RN(e,i.c.length),CY(i.c[e],42).b=r.e.b+r.f.b))}for(a=ZQ(n.b,0);a.b!=a.d.c;)r=CY(K0(a),40),e=CY(niK(r,(nhn(),nzp)),17).a,VD(r,(nf3(),nXA),PI((RN(e,i.c.length),CY(i.c[e],42)).a)),VD(r,nXI,PI((RN(e,i.c.length),CY(i.c[e],42)).b));t.Vg()}(CY(n,121),t)},Nj(ny0,"LevelCoordinatesProcessor",1920),ncm(1918,1,npR,az),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a;for(e.Ug("Processor determine the height for each level",1),n.a=0==t.b.b?1:t.b.b,r=null,i=ZQ(t.b,0);!r&&i.b!=i.d.c;)pT(PC(niK(a=CY(K0(i),40),(nf3(),nXF))))&&(r=a);r&&function n(t,e,i,r){var a,c,o,u,s,h;if(!KZ(e)){if((h=i.eh((jM(e,16)?CY(e,16).gc():Fv(e.Kc()))/t.a|0)).Ug(ny4,1),s=new aV,u=0,r==(Ju(),nY8)||r==nY9)for(o=e.Kc();o.Ob();)a=CY(o.Pb(),40),s=qb(Vw(DY(nPs,1),nl7,20,0,[s,new bQ(a)])),u<a.f.a&&(u=a.f.a);else for(o=e.Kc();o.Ob();)a=CY(o.Pb(),40),s=qb(Vw(DY(nPs,1),nl7,20,0,[s,new bQ(a)])),u<a.f.b&&(u=a.f.b);for(c=e.Kc();c.Ob();)VD(a=CY(c.Pb(),40),(nf3(),nXC),u);h.Vg(),n(t,s,i,r)}}(n,_q(Vw(DY(nA9,1),ny3,40,0,[r])),e,CY(niK(t,(nhn(),nX0)),88)),e.Vg()}(this,CY(n,121),t)},nPB.a=0,Nj(ny0,"LevelHeightProcessor",1918),ncm(1919,1,nbO,aV),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return $O(),vz(),nOU},Nj(ny0,"LevelHeightProcessor/1",1919),ncm(1914,1,npR,gG),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a;for(e.Ug(ny2,1),!function n(t,e,i){var r,a,c,o;if(!e.dc()){for(r=new vq,o=e.Kc();o.Ob();)for(c=CY(o.Pb(),40),xM(t.a,Qx(c.g),Qx(i)),a=new bJ(ZQ(new bQ(c).a.d,0));mJ(a.a);)F_(r,CY(K0(a.a),65).c,r.c.b,r.c);n(t,r,i+1)}}(n,CY(FB(xX(new Aa(null,new R$(t.b,16)),new aW),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),0),a=ZQ(t.b,0);a.b!=a.d.c;)r=CY(K0(a),40),i=null!=NR(n.a,Qx(r.g))?CY(NR(n.a,Qx(r.g)),17).a:0,VD(r,(nhn(),nzp),Qx(i));e.Vg()}(this,CY(n,121),t)},Nj(ny0,"LevelProcessor",1914),ncm(1915,1,nbV,aW),nPB.Mb=function(n){return pT(PC(niK(CY(n,40),(nf3(),nXF))))},Nj(ny0,"LevelProcessor/lambda$0$Type",1915),ncm(1916,1,npR,aQ),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a;for(e.Ug("Processor set neighbors",1),n.a=0==t.b.b?1:t.b.b,r=null,i=ZQ(t.b,0);!r&&i.b!=i.d.c;)pT(PC(niK(a=CY(K0(i),40),(nf3(),nXF))))&&(r=a);r&&function n(t,e,i){var r,a,c,o,u;if(!KZ(e)){for((u=i.eh((jM(e,16)?CY(e,16).gc():Fv(e.Kc()))/t.a|0)).Ug(ny4,1),o=new aJ,c=null,a=e.Kc();a.Ob();)r=CY(a.Pb(),40),o=qb(Vw(DY(nPs,1),nl7,20,0,[o,new bQ(r)])),c&&(VD(c,(nf3(),nXR),r),VD(r,nXP,c),Bn(r)==Bn(c)&&(VD(c,nXK,r),VD(r,nXO,c))),c=r;u.Vg(),n(t,o,i)}}(n,new bQ(r),e),e.Vg()}(this,CY(n,121),t)},nPB.a=0,Nj(ny0,"NeighborsProcessor",1916),ncm(1917,1,nbO,aJ),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return $O(),vz(),nOU},Nj(ny0,"NeighborsProcessor/1",1917),ncm(1922,1,npR,aY),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f;for(e.Ug("Processor set coordinates",1),n.a=0==t.b.b?1:t.b.b,s=null,i=ZQ(t.b,0);!s&&i.b!=i.d.c;)pT(PC(niK(f=CY(K0(i),40),(nf3(),nXF))))&&(s=f,(u=f.e).a=CY(niK(f,nX_),17).a,u.b=CY(niK(f,nXB),17).a);o=Vo(s),h=1;do h=(o=function(n){var t,e,i,r;if(0!=n.b){for(t=new vq,r=ZQ(n,0);r.b!=r.d.c;)Xx(t,Vo(i=CY(K0(r),40))),(e=i.e).a=CY(niK(i,(nf3(),nX_)),17).a,e.b=CY(niK(i,nXB),17).a;return t}return new vq}((r=o,e.eh(h),r))).b/n.a|0;while(0!=o.b)for(c=ZQ(t.b,0);c.b!=c.d.c;)Oj((a=CY(K0(c),40)).e,new MH(a.f.a/2,a.f.b/2));e.Vg()}(this,CY(n,121),t)},nPB.a=0,Nj(ny0,"NodePositionProcessor",1922),ncm(1912,1,npR,gq),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s;for(e.Ug("Find roots",1),n.a.c.length=0,r=ZQ(t.b,0);r.b!=r.d.c;)0==(i=CY(K0(r),40)).b.b&&(VD(i,(nf3(),nXF),(SB(),!0)),jB(n.a,i));switch(n.a.c.length){case 0:VD(a=new Wh(0,t,"DUMMY_ROOT"),(nf3(),nXF),(SB(),!0)),VD(a,nXy,!0),IA(t.b,a);break;case 1:break;default:for(c=new Wh(0,t,nyY),u=new fU(n.a);u.a<u.c.c.length;)VD(s=new $S(c,o=CY(RU(u),40)),(nf3(),nXy),(SB(),!0)),IA(c.a.a,s),IA(c.d,s),IA(o.b,s),VD(o,nXF,!1);VD(c,(nf3(),nXF),(SB(),!0)),VD(c,nXy,!0),IA(t.b,c)}e.Vg()}(this,CY(n,121),t)},Nj(ny0,"RootProcessor",1912),ncm(1942,1,npR,aZ),nPB.Kf=function(n,t){var e,i,r=CY(n,121);for(t.Ug("Untreeify",1),i=CY(niK(r,(nf3(),nXD)),15).Kc();i.Ob();)IA((e=CY(i.Pb(),65)).b.d,e),IA(e.c.b,e);t.Vg()},Nj(ny0,"Untreeifyer",1942),ncm(392,22,{3:1,34:1,22:1,392:1},Md);var nLn=qc(ny6,"EdgeRoutingMode",392,nPw,function(){return Wv(),Vw(DY(nLn,1),nbG,392,0,[nXb,nXl,nXf])},function(n){return Wv(),qa((BI(),nXw),n)});ncm(862,1,ndq,hE),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ny8),""),nkr),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(SB(),!1)),(nrN(),nQW)),nPE),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ny9),""),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ny7),""),"Tree Level"),"The index for the tree level the node is in"),Qx(0)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkn),""),nkr),"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"),Qx(-1)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkt),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),nXJ),nQJ),nLt),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nke),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),nXq),nQJ),nLn),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nki),""),"Search Order"),"Which search order to use when computing a spanning tree."),nXV),nQJ),nLe),JP(nQX)))),nls((new hS,n))},Nj(ny6,"MrTreeMetaDataProvider",862),ncm(1006,1,ndq,hS),nPB.hf=function(n){nls(n)},Nj(ny6,"MrTreeOptions",1006),ncm(1007,1,{},a1),nPB.sf=function(){return new Op},nPB.tf=function(n){},Nj(ny6,"MrTreeOptions/MrtreeFactory",1007),ncm(353,22,{3:1,34:1,22:1,353:1},Mg);var nLt=qc(ny6,"OrderWeighting",353,nPw,function(){return WV(),Vw(DY(nLt,1),nbG,353,0,[nzM,nzy,nzk,nzv])},function(n){return WV(),qa((Hq(),nzE),n)});ncm(433,22,{3:1,34:1,22:1,433:1},Mp);var nLe=qc(ny6,"TreeifyingOrder",433,nPw,function(){return RI(),Vw(DY(nLe,1),nbG,433,0,[nzj,nzT])},function(n){return RI(),qa((F0(),nzS),n)});ncm(1486,1,nyL,hP),nPB.rg=function(n){return CY(n,121),nzP},nPB.Kf=function(n,t){var e;e=CY(n,121),t.Ug("DFS Treeifying phase",1),function(n,t){var e,i,r;for(r=t.b.b,n.a=new vq,n.b=BJ(n4s,nwl,28,r,15,1),e=0,i=ZQ(t.b,0);i.b!=i.d.c;)CY(K0(i),40).g=e++}(this,e),function(n,t){var e,i,r,a,c;for(c=CY(niK(t,(nhn(),nzu)),433),a=ZQ(t.b,0);a.b!=a.d.c;)if(r=CY(K0(a),40),0==n.b[r.g]){switch(c.g){case 0:!function n(t,e){var i,r,a;for(t.b[e.g]=1,r=ZQ(e.d,0);r.b!=r.d.c;)a=(i=CY(K0(r),65)).c,1==t.b[a.g]?IA(t.a,i):2==t.b[a.g]?t.b[a.g]=1:n(t,a)}(n,r);break;case 1:!function(n,t){var e,i,r,a,c;F_(i=new vq,t,i.c.b,i.c);do for(Px(0!=i.b),e=CY(Gy(i,i.a.a),40),n.b[e.g]=1,a=ZQ(e.d,0);a.b!=a.d.c;)c=(r=CY(K0(a),65)).c,1==n.b[c.g]?IA(n.a,r):2==n.b[c.g]?n.b[c.g]=1:F_(i,c,i.c.b,i.c);while(0!=i.b)}(n,r)}n.b[r.g]=2}for(i=ZQ(n.a,0);i.b!=i.d.c;)Yd((e=CY(K0(i),65)).b.d,e,!0),Yd(e.c.b,e,!0);VD(t,(nf3(),nXD),n.a)}(this,e),this.a=null,this.b=null,t.Vg()},Nj("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),ncm(1487,1,nyL,hO),nPB.rg=function(n){return CY(n,121),nzO},nPB.Kf=function(n,t){var e,i,r,a;e=this,i=CY(n,121),(r=t).Ug("Processor arrange node",1),pT(PC(niK(i,(nhn(),nX1)))),a=CY(SO(Wu(xX(new Aa(null,new R$(i.b,16)),new co))),40),e.a=CY(niK(i,nzm),353),e.a==(WV(),nzk)||e.a==nzy?function n(t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;for(i.Ug(nko,1),nf3(),b=nXk,t.a==(WV(),nzy)&&(b=nXv),f=0,$O(),e.jd(new wG(b)),c=e.gc(),u=e.fd(e.gc()),h=!0;h&&u.Sb();)m=CY(u.Ub(),40),0==CY(niK(m,b),17).a?--c:h=!1;if(o=new O5(e.kd(0,c)),s=new O5(e.kd(c,e.gc())),0==o.b)for(d=ZQ(s,0);d.b!=d.d.c;)VD(CY(K0(d),40),nXx,Qx(f++));else for(l=o.b,k=ZQ(o,0);k.b!=k.d.c;){for(VD(y=CY(K0(k),40),nXx,Qx(f++)),n(t,r=Vo(y),i.eh(1/l|0)),Xm(r,xE(new wG(nXx))),w=new vq,v=ZQ(r,0);v.b!=v.d.c;)for(m=CY(K0(v),40),p=ZQ(y.d,0);p.b!=p.d.c;)(g=CY(K0(p),65)).c==m&&F_(w,g,w.c.b,w.c);for($p(y.d),Xx(y.d,w),u=ZQ(s,s.b),a=y.d.b,h=!0;0<a&&h&&u.Sb();)m=CY(u.Ub(),40),0==CY(niK(m,b),17).a?(VD(m,nXx,Qx(f++)),--a,u.Qb()):h=!1}i.Vg()}(e,new pU(Vw(DY(nA9,1),ny3,40,0,[a])),r.eh(1)):e.a==nzv&&function n(t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C;for(i.Ug(nko,1),S=CY(FB(xX(new Aa(null,new R$(e,16)),new cu),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),f=CY(FB(xX(new Aa(null,new R$(e,16)),new b5(e)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15),d=CY(FB(xX(new Aa(null,new R$(e,16)),new b6(e)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15),g=BJ(nA9,ny3,40,e.gc(),0,1),o=0;o<f.gc();o++)a=CY(f.Xb(o),40),(j=CY(niK(a,(nhn(),nzc)),17).a)>=0&&j<f.gc()&&!g[j]&&(g[j]=a,f.gd(o),--o);for(u=0;u<f.gc();u++)for(b=0,a=CY(f.Xb(u),40),j=CY(niK(a,(nhn(),nzc)),17).a;;b++)if((w=j+b)<g.length&&w>=0&&!g[w]||(w=j-b)<g.length&&w>=0&&!g[w]){g[w]=a,f.gd(u),--u;break}for(d.jd(new cs),s=g.length-1;s>=0;s--)g[s]||d.dc()||(g[s]=CY(d.Xb(0),40),d.gd(0));for(h=0;h<g.length;h++)g[h]||S.dc()||(g[h]=CY(S.Xb(0),40),S.gd(0));for(c=0;c<g.length;c++)VD(g[c],(nf3(),nXx),Qx(c));for(l=CY((P=xX(new Aa(null,new R$(e,16)),new ch),O=new cc,(C=CY(FB(P,Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15)).Qc(Iq(C.gc()))),534),E=0,T=l.length;E<T;++E){for(n(t,r=Vo(M=l[E]),i.eh(1/l.length|0)),$O(),Xm(r,new wG((nf3(),nXx))),p=new vq,k=ZQ(r,0);k.b!=k.d.c;)for(y=CY(K0(k),40),v=ZQ(M.d,0);v.b!=v.d.c;)(m=CY(K0(v),65)).c==y&&F_(p,m,p.c.b,p.c);$p(M.d),Xx(M.d,p)}i.Vg()}(e,new pU(Vw(DY(nA9,1),ny3,40,0,[a])),r.eh(1)),r.Vg()},Nj(nku,"NodeOrderer",1487),ncm(1494,1,{},cc),nPB.td=function(n){return Iq(n)},Nj(nku,"NodeOrderer/0methodref$lambda$6$Type",1494),ncm(1488,1,nbV,co),nPB.Mb=function(n){return Gx(),pT(PC(niK(CY(n,40),(nf3(),nXF))))},Nj(nku,"NodeOrderer/lambda$0$Type",1488),ncm(1489,1,nbV,cu),nPB.Mb=function(n){return Gx(),CY(niK(CY(n,40),(nhn(),nzc)),17).a<0},Nj(nku,"NodeOrderer/lambda$1$Type",1489),ncm(1490,1,nbV,b5),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,40),Gx(),CY(niK(e,(nhn(),nzc)),17).a<t.gc()&&CY(niK(e,nzc),17).a>=0},Nj(nku,"NodeOrderer/lambda$2$Type",1490),ncm(1491,1,nbV,b6),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,40),Gx(),CY(niK(e,(nhn(),nzc)),17).a>=t.gc()},Nj(nku,"NodeOrderer/lambda$3$Type",1491),ncm(1492,1,ndy,cs),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),Gx(),-jo(CY(niK(e,(nhn(),nzc)),17).a,CY(niK(i,nzc),17).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nku,"NodeOrderer/lambda$4$Type",1492),ncm(1493,1,nbV,ch),nPB.Mb=function(n){return Gx(),0!=CY(niK(CY(n,40),(nf3(),nXk)),17).a},Nj(nku,"NodeOrderer/lambda$5$Type",1493),ncm(1495,1,nyL,hj),nPB.rg=function(n){return CY(n,121),nzC},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c;for(e.Ug("Processor order nodes",2),n.b=pj(PI(niK(t,(nhn(),nzf)))),n.a=CY(niK(t,nX0),88),n.a==(Ju(),nY7)&&(n.a=nY5,VD(t,nX0,n.a)),r=new vq,c=ZQ(t.b,0);c.b!=c.d.c;)pT(PC(niK(a=CY(K0(c),40),(nf3(),nXF))))&&F_(r,a,r.c.b,r.c);Px(0!=r.b),function n(t,e){var i,r,a,c,o,u;if(VD(e,(nf3(),nXL),0),a=CY(niK(e,nXO),40),0==e.d.b)a?(o=pj(PI(niK(a,nX$)))+t.b+JA(t,a,e),VD(e,nX$,o)):VD(e,nX$,0);else{for(i=new bJ(ZQ(new bQ(e).a.d,0));mJ(i.a);)n(t,CY(K0(i.a),65).c);r=CY(jT(new bJ(ZQ(new bQ(e).a.d,0))),40),c=(pj(PI(niK(CY(mJ((u=new bJ(ZQ(new bQ(e).a.d,0))).a)?Rg(u):null,40),nX$)))+pj(PI(niK(r,nX$))))/2,a?(o=pj(PI(niK(a,nX$)))+t.b+JA(t,a,e),VD(e,nX$,o),VD(e,nXL,pj(PI(niK(e,nX$)))-c),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(l=(s=CY(jT(new bJ(ZQ(new bQ(t).a.d,0))),40))?CY(niK(s,(nf3(),nXP)),40):null,r=1;s&&l;){for(a=0,c=0,m=0,e=s,i=l;a<r;a++)e=Bn(e),i=Bn(i),m+=pj(PI(niK(e,(nf3(),nXL)))),c+=pj(PI(niK(i,nXL)));if(p=pj(PI(niK(l,(nf3(),nX$)))),g=pj(PI(niK(s,nX$))),h=JA(n,s,l),0<(f=p+c+n.b+h-g-m)){for(o=t,u=0;o&&o!=i;)++u,o=CY(niK(o,nXO),40);if(!o)return;for(d=f/u,o=t;o!=i;)w=pj(PI(niK(o,nX$)))+f,VD(o,nX$,w),b=pj(PI(niK(o,nXL)))+f,VD(o,nXL,b),f-=d,o=CY(niK(o,nXO),40)}++r,l=(s=0==s.d.b?function n(t,e){var i,r,a,c;if(0<(jM(t,16)?CY(t,16).gc():Fv(t.Kc()))){if(1<(a=e)){for(--a,c=new aC,r=t.Kc();r.Ob();)i=CY(r.Pb(),40),c=qb(Vw(DY(nPs,1),nl7,20,0,[c,new bQ(i)]));return n(c,a)}if(a<0){for(c=new aI,r=t.Kc();r.Ob();)i=CY(r.Pb(),40),c=qb(Vw(DY(nPs,1),nl7,20,0,[c,new bQ(i)]));if(0<(jM(c,16)?CY(c,16).gc():Fv(c.Kc())))return n(c,a)}}return CY(jT(t.Kc()),40)}(new bQ(t),r):CY(jT(new bJ(ZQ(new bQ(s).a.d,0))),40))?CY(niK(s,nXP),40):null}}(t,e)):VD(e,nX$,c)}}(n,i=CY(r.a.a.c,40)),e.fh(1),function n(t,e,i,r){var a,c;e&&(a=pj(PI(niK(e,(nf3(),nX$))))+r,c=i+pj(PI(niK(e,nXC)))/2,VD(e,nX_,Qx(AW(zF(nP_.Math.round(a))))),VD(e,nXB,Qx(AW(zF(nP_.Math.round(c))))),0==e.d.b||n(t,CY(jT(new bJ(ZQ(new bQ(e).a.d,0))),40),i+pj(PI(niK(e,nXC)))+t.b,r+pj(PI(niK(e,nXL)))),null!=niK(e,nXK)&&n(t,CY(niK(e,nXK),40),i,r))}(n,i,0-pj(PI(niK(i,(nf3(),nXC))))/2,0),e.fh(1),e.Vg()}(this,CY(n,121),t)},nPB.b=0,Nj("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),ncm(1496,1,nyL,hT),nPB.rg=function(n){return CY(n,121),nzI},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;if(t.Ug("Edge routing",1),(r=CY(niK(n,(nhn(),nX4)),392))==(Wv(),nXl)){for(u=ZQ(n.a,0);u.b!=u.d.c;)nay(CY(K0(u),65))}else if(r==nXf)for(CY(SO(Wu(xX(new Aa(null,new R$(n.b,16)),new aA))),40),a=pj(PI(niK(n,nzh))),c=pj(PI(niK(n,nX3))),o=CY(niK(n,nX0),88),function(n,t,e){var i,r,a,c,o,u,s,h,f;for(o=ZQ(n.b,0);o.b!=o.d.c;)if(!OB((c=CY(K0(o),40)).c,nyY))for(s=function(n,t){var e,i,r;for(r=new du,i=ZQ(t.a,0);i.b!=i.d.c;)(e=CY(K0(i),65)).b.g!=n.g||OB(e.b.c,nyY)||ER(niK(e.b,(nhn(),nzp)))===ER(niK(e.c,nzp))||_g(new Aa(null,new R$(r,16)),new bW(e))||dk(r.c,e);return ji(r,new aL),r}(c,n),t==(Ju(),nY8)||t==nY9?ji(s,new a7):ji(s,new cn),u=s.c.length,i=0;i<u;i++)OB((RN(i,s.c.length),CY(s.c[i],65)).c.c,"n11"),(!pT(PC(niK(c,(nf3(),nXm))))||Wa((RN(i,s.c.length),CY(s.c[i],65)),n))&&(r=1==u?.5:(i+1)/(u+1),t==nY8?(a=pj(PI(niK(c,nXA))),f=c.e.b+c.f.b*r,E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(nP_.Math.min(a,c.e.a-e),f)),E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(c.e.a,f))):t==nY9?(a=pj(PI(niK(c,nXI)))+e,f=c.e.b+c.f.b*r,E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(a,f)),E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(c.e.a+c.f.a,f))):t==nZn?(a=pj(PI(niK(c,nXA))),h=c.e.a+c.f.a*r,E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(h,nP_.Math.min(c.e.b-e,a))),E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(h,c.e.b))):(a=pj(PI(niK(c,nXI)))+e,h=c.e.a+c.f.a*r,E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(h,a)),E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(h,c.e.b+c.f.b))))}(n,o,a),function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C;for(w=0,T=0,j=0,M=new dc,E=BJ(n4s,nwl,28,y=CY(SO(Lf(xz(new Aa(null,new R$(n.b,16)),new a8),new ca)),17).a+1,15,1),d=BJ(n4s,nwl,28,y,15,1);w<y;w++)E[w]=0,d[w]=0;for(s=CY(FB(DJ(new Aa(null,new R$(n.a,16))),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15).Kc();s.Ob();)if(u=CY(s.Pb(),65),P=CY(niK(u.b,(nhn(),nzp)),17).a,(v=(C=CY(niK(u.c,nzp),17).a)-P)>1)for(o=P+1;o<C;o++){if(h=o,k=CY(FB(xX(new Aa(null,new R$(n.b,16)),new b8(h)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15),b=0,t==(Ju(),nY8)||t==nY9){for(k.jd(new ci),b=0;b<k.gc()&&(g=(o-P)/(C-P),!(CY(k.Xb(b),40).e.b>u.b.e.b*(1-g)+u.c.e.b*g));b++);if(k.gc()>0&&(O=0==u.a.b?jv(u.b.e):CY(S7(u.a),8),m=OT(jv(CY(k.Xb(k.gc()-1),40).e),CY(k.Xb(k.gc()-1),40).f),f=OT(jv(CY(k.Xb(0),40).e),CY(k.Xb(0),40).f),b>=k.gc()-1&&O.b>m.b&&u.c.e.b>m.b||b<=0&&O.b<f.a&&u.c.e.b<f.b))continue}else{for(k.jd(new cr),b=0;b<k.gc()&&(g=(o-P)/(C-P),!(CY(k.Xb(b),40).e.a>u.b.e.a*(1-g)+u.c.e.a*g));b++);if(k.gc()>0&&(O=0==u.a.b?jv(u.b.e):CY(S7(u.a),8),m=OT(jv(CY(k.Xb(k.gc()-1),40).e),CY(k.Xb(k.gc()-1),40).f),f=OT(jv(CY(k.Xb(0),40).e),CY(k.Xb(0),40).f),b>=k.gc()-1&&O.a>m.a&&u.c.e.a>m.a||b<=0&&O.a<f.a&&u.c.e.a<f.a))continue}r=new mm,a=new mm,IA(u.a,r),IA(u.a,a),c=new CO(r,a,u),LR(M,ZE(p=R_(A8(o,32),RF(b,nwW))))?(IA((l=CY(NR(M,ZE(p)),675)).a,c),T$(l.b)?Xm(l.a,new cl):Xm(l.a,new cb),nlR(l)):(l=new nte(0==b?null:CY(k.Xb(b-1),40),b==k.gc()?null:CY(k.Xb(b),40),c,n),xM(M,ZE(p),l)),t==nY8||t==nY9?(l.f&&l.d.e.b<=pj(PI(niK(n,(nf3(),nXj))))&&++T,l.g&&l.c.e.b+l.c.f.b>=pj(PI(niK(n,(nf3(),nXT))))&&++j):(l.f&&l.d.e.a<=pj(PI(niK(n,(nf3(),nXE))))&&++T,l.g&&l.c.e.a+l.c.f.a>=pj(PI(niK(n,(nf3(),nXM))))&&++j)}else 0==v?nay(u):v<0&&(++E[P],++d[C],S=function(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w;return l=CY(i.a,17).a,b=CY(i.b,17).a,f=n.b,w=n.c,o=0,h=0,t==(Ju(),nY8)||t==nY9?(h=Mt(Jt(xV(xz(new Aa(null,new R$(e.b,16)),new cf),new a2))),f.e.b+f.f.b/2>h?(s=++b,o=pj(PI(SO(Lf(xz(new Aa(null,new R$(e.b,16)),new MR(r,s)),new a3))))):(u=++l,o=pj(PI(SO(Ll(xz(new Aa(null,new R$(e.b,16)),new MK(r,u)),new a4)))))):(h=Mt(Jt(xV(xz(new Aa(null,new R$(e.b,16)),new a9),new a0))),f.e.a+f.f.a/2>h?(s=++b,o=pj(PI(SO(Lf(xz(new Aa(null,new R$(e.b,16)),new M$(r,s)),new a6))))):(u=++l,o=pj(PI(SO(Ll(xz(new Aa(null,new R$(e.b,16)),new MD(r,u)),new a5)))))),t==nY8?(E6(n.a,new MH(pj(PI(niK(f,(nf3(),nXA))))-r,o)),E6(n.a,new MH(w.e.a+w.f.a+r+a,o)),E6(n.a,new MH(w.e.a+w.f.a+r+a,w.e.b+w.f.b/2)),E6(n.a,new MH(w.e.a+w.f.a,w.e.b+w.f.b/2))):t==nY9?(E6(n.a,new MH(pj(PI(niK(f,(nf3(),nXI))))+r,f.e.b+f.f.b/2)),E6(n.a,new MH(f.e.a+f.f.a+r,o)),E6(n.a,new MH(w.e.a-r-a,o)),E6(n.a,new MH(w.e.a-r-a,w.e.b+w.f.b/2)),E6(n.a,new MH(w.e.a,w.e.b+w.f.b/2))):t==nZn?(E6(n.a,new MH(o,pj(PI(niK(f,(nf3(),nXA))))-r)),E6(n.a,new MH(o,w.e.b+w.f.b+r+a)),E6(n.a,new MH(w.e.a+w.f.a/2,w.e.b+w.f.b+r+a)),E6(n.a,new MH(w.e.a+w.f.a/2,w.e.b+w.f.b+r))):(0==n.a.b||(CY(S7(n.a),8).b=pj(PI(niK(f,(nf3(),nXI))))+r*CY(c.b,17).a),E6(n.a,new MH(o,pj(PI(niK(f,(nf3(),nXI))))+r*CY(c.b,17).a)),E6(n.a,new MH(o,w.e.b-r*CY(c.a,17).a-a))),new Ea(Qx(l),Qx(b))}(u,t,n,new Ea(Qx(T),Qx(j)),e,i,new Ea(Qx(d[C]),Qx(E[P]))),T=CY(S.a,17).a,j=CY(S.b,17).a)}(n,o,a,c),function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w;for(f=ZQ(n.b,0);f.b!=f.d.c;)if(!OB((h=CY(K0(f),40)).c,nyY))for(a=CY(FB(new Aa(null,new R$(function(n,t){var e,i,r;for(r=new du,i=ZQ(t.a,0);i.b!=i.d.c;)(e=CY(K0(i),65)).c.g!=n.g||ER(niK(e.b,(nhn(),nzp)))===ER(niK(e.c,nzp))||_g(new Aa(null,new R$(r,16)),new bV(e))||dk(r.c,e);return ji(r,new aO),r}(h,n),16)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),t==(Ju(),nY8)||t==nY9?a.jd(new ct):a.jd(new ce),w=a.gc(),r=0;r<w;r++)c=1==w?.5:(1+r)/(w+1),t==nY8?(s=pj(PI(niK(h,(nf3(),nXI)))),h.e.a+h.f.a+i<s?E6(CY(a.Xb(r),65).a,new MH(s+e,h.e.b+h.f.b*c)):CY(a.Xb(r),65).a.b>0&&(o=CY(S7(CY(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,u=CY(S7(CY(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nP_.Math.abs(u-b)/(nP_.Math.abs(o-l)/40)>50&&(b>u?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a+i/5.3,h.e.b+h.f.b*c-i/2)):E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a+i/5.3,h.e.b+h.f.b*c+i/2)))),E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a,h.e.b+h.f.b*c))):t==nY9?(s=pj(PI(niK(h,(nf3(),nXA)))),h.e.a-i>s?E6(CY(a.Xb(r),65).a,new MH(s-e,h.e.b+h.f.b*c)):CY(a.Xb(r),65).a.b>0&&(o=CY(S7(CY(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,u=CY(S7(CY(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nP_.Math.abs(u-b)/(nP_.Math.abs(o-l)/40)>50&&(b>u?E6(CY(a.Xb(r),65).a,new MH(h.e.a-i/5.3,h.e.b+h.f.b*c-i/2)):E6(CY(a.Xb(r),65).a,new MH(h.e.a-i/5.3,h.e.b+h.f.b*c+i/2)))),E6(CY(a.Xb(r),65).a,new MH(h.e.a,h.e.b+h.f.b*c))):t==nZn?(s=pj(PI(niK(h,(nf3(),nXI)))),h.e.b+h.f.b+i<s?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,s+e)):CY(a.Xb(r),65).a.b>0&&(o=CY(S7(CY(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,u=CY(S7(CY(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nP_.Math.abs(o-l)/(nP_.Math.abs(u-b)/40)>50&&(l>o?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c-i/2,h.e.b+i/5.3+h.f.b)):E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c+i/2,h.e.b+i/5.3+h.f.b)))),E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,h.e.b+h.f.b))):(s=pj(PI(niK(h,(nf3(),nXA)))),Wa(CY(a.Xb(r),65),n)?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,CY(S7(CY(a.Xb(r),65).a),8).b)):h.e.b-i>s?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,s-e)):CY(a.Xb(r),65).a.b>0&&(o=CY(S7(CY(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,u=CY(S7(CY(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nP_.Math.abs(o-l)/(nP_.Math.abs(u-b)/40)>50&&(l>o?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c-i/2,h.e.b-i/5.3)):E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c+i/2,h.e.b-i/5.3)))),E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,h.e.b)))}(n,o,a,c),i=ZQ(n.a,0);i.b!=i.d.c;)(e=CY(K0(i),65)).a.b<2&&nay(e);t.Vg()}(CY(n,121),t)},Nj(nks,"EdgeRouter",1496),ncm(1498,1,ndy,ca),nPB.Ne=function(n,t){return jo(CY(n,17).a,CY(t,17).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/0methodref$compare$Type",1498),ncm(1503,1,{},a2),nPB.Ye=function(n){return pj(PI(n))},Nj(nks,"EdgeRouter/1methodref$doubleValue$Type",1503),ncm(1505,1,ndy,a3),nPB.Ne=function(n,t){return Jj(pj(PI(n)),pj(PI(t)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/2methodref$compare$Type",1505),ncm(1507,1,ndy,a4),nPB.Ne=function(n,t){return Jj(pj(PI(n)),pj(PI(t)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/3methodref$compare$Type",1507),ncm(1509,1,{},a0),nPB.Ye=function(n){return pj(PI(n))},Nj(nks,"EdgeRouter/4methodref$doubleValue$Type",1509),ncm(1511,1,ndy,a6),nPB.Ne=function(n,t){return Jj(pj(PI(n)),pj(PI(t)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/5methodref$compare$Type",1511),ncm(1513,1,ndy,a5),nPB.Ne=function(n,t){return Jj(pj(PI(n)),pj(PI(t)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/6methodref$compare$Type",1513),ncm(1497,1,{},a8),nPB.Kb=function(n){return G$(),CY(niK(CY(n,40),(nhn(),nzp)),17)},Nj(nks,"EdgeRouter/lambda$0$Type",1497),ncm(1508,1,{},a9),nPB.Kb=function(n){var t;return t=CY(n,40),G$(),t.e.a+t.f.a/2},Nj(nks,"EdgeRouter/lambda$11$Type",1508),ncm(1510,1,{},M$),nPB.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=CY(n,40),G$(),i.e.a+i.f.a+t*e},nPB.a=0,nPB.b=0,Nj(nks,"EdgeRouter/lambda$13$Type",1510),ncm(1512,1,{},MD),nPB.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=CY(n,40),G$(),i.e.a-t*e},nPB.a=0,nPB.b=0,Nj(nks,"EdgeRouter/lambda$15$Type",1512),ncm(1514,1,ndy,a7),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),G$(),Jj((0==e.a.b?new MH(e.c.e.a,e.c.e.b):CY(S9(e.a),8)).b,(0==i.a.b?new MH(i.c.e.a,i.c.e.b):CY(S9(i.a),8)).b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$17$Type",1514),ncm(1515,1,ndy,cn),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),G$(),Jj((0==e.a.b?new MH(e.c.e.a,e.c.e.b):CY(S9(e.a),8)).a,(0==i.a.b?new MH(i.c.e.a,i.c.e.b):CY(S9(i.a),8)).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$18$Type",1515),ncm(1516,1,ndy,ct),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),G$(),Jj((0==e.a.b?new MH(e.b.e.a,e.b.e.b):CY(S7(e.a),8)).b,(0==i.a.b?new MH(i.b.e.a,i.b.e.b):CY(S7(i.a),8)).b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$19$Type",1516),ncm(1499,1,nbV,b8),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,40),G$(),CY(niK(e,(nhn(),nzp)),17).a==t},nPB.a=0,Nj(nks,"EdgeRouter/lambda$2$Type",1499),ncm(1517,1,ndy,ce),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),G$(),Jj((0==e.a.b?new MH(e.b.e.a,e.b.e.b):CY(S7(e.a),8)).a,(0==i.a.b?new MH(i.b.e.a,i.b.e.b):CY(S7(i.a),8)).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$20$Type",1517),ncm(1500,1,ndy,ci),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),G$(),Jj(e.e.b,i.e.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$3$Type",1500),ncm(1501,1,ndy,cr),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),G$(),Jj(e.e.a,i.e.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$4$Type",1501),ncm(1502,1,{},cf),nPB.Kb=function(n){var t;return t=CY(n,40),G$(),t.e.b+t.f.b/2},Nj(nks,"EdgeRouter/lambda$5$Type",1502),ncm(1504,1,{},MR),nPB.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=CY(n,40),G$(),i.e.b+i.f.b+t*e},nPB.a=0,nPB.b=0,Nj(nks,"EdgeRouter/lambda$7$Type",1504),ncm(1506,1,{},MK),nPB.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=CY(n,40),G$(),i.e.b-t*e},nPB.a=0,nPB.b=0,Nj(nks,"EdgeRouter/lambda$9$Type",1506),ncm(675,1,{675:1},nte),nPB.e=0,nPB.f=!1,nPB.g=!1,Nj(nks,"MultiLevelEdgeNodeNodeGap",675),ncm(1943,1,ndy,cl),nPB.Ne=function(n,t){var e,i;return e=CY(n,240),i=CY(t,240),Jj(CY(e.c,65).c.e.b,CY(i.c,65).c.e.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),ncm(1944,1,ndy,cb),nPB.Ne=function(n,t){var e,i;return e=CY(n,240),i=CY(t,240),Jj(CY(e.c,65).c.e.a,CY(i.c,65).c.e.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944),ncm(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},Mm),nPB.dg=function(){return Yh(this)},nPB.qg=function(){return Yh(this)};var nLi=qc(nkh,"RadialLayoutPhases",501,nPw,function(){return Xc(),Vw(DY(nLi,1),nbG,501,0,[nzL,nzN])},function(n){return Xc(),qa((F2(),nzx),n)});ncm(1113,205,ngv,mU),nPB.rf=function(n,t){var e,i,r,a;if(e=noL(this,n),t.Ug("Radial layout",e.c.length),pT(PC(ncx(n,(nrh(),nVo))))||Dv(new lh((yv(),new py(n)))),a=function(n){var t,e;for(e=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));e.e!=e.i.gc();)if(!ncv(new Le(Sb(nc6(t=CY(Z6(e),27)).a.Kc(),new s))))return t;return null}(n),nnh(n,(PK(),nzA),a),!a)throw new pN("The given graph is not a tree!").e;for(0==(i=pj(PI(ncx(n,nVl))))&&(i=function n(t){var e,i,r,a,c,o,u;for(o=0,i=new j2((!t.a&&(t.a=new Lk(nNe,t,10,11)),t.a));i.e!=i.i.gc();)u=(e=CY(Z6(i),27)).g,a=e.f,r=nP_.Math.sqrt(u*u+a*a),o=nP_.Math.max(r,o),c=n(e),o=nP_.Math.max(c,o);return o}(n)),nnh(n,nVl,i),r=new fU(noL(this,n));r.a<r.c.c.length;)CY(RU(r),47).Kf(n,t.eh(1));t.Vg()},Nj(nkh,"RadialLayoutProvider",1113),ncm(556,1,ndy,mV),nPB.Ne=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;return e=this.a,i=this.b,r=CY(n,27),a=CY(t,27),h=(u=CY(ncx(r,(nl_(),nYO)),8)).a,l=u.b+e,(c=nP_.Math.atan2(l,h))<0&&(c+=nkf),(c+=i)>nkf&&(c-=nkf),f=(s=CY(ncx(a,nYO),8)).a,b=s.b+e,(o=nP_.Math.atan2(b,f))<0&&(o+=nkf),(o+=i)>nkf&&(o-=nkf),T6(),qM(1e-10),1e-10>=nP_.Math.abs(c-o)||c==o||isNaN(c)&&isNaN(o)?0:c<o?-1:c>o?1:Tm(isNaN(c),isNaN(o))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},nPB.a=0,nPB.b=0,Nj(nkh,"RadialUtil/lambda$0$Type",556),ncm(1395,1,npR,cw),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;for(t.Ug("Calculate Graph Size",1),t.dh(n,nkl),f=ngK,l=ngK,s=nkb,h=nkb,d=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));d.e!=d.i.gc();)m=(b=CY(Z6(d),27)).i,v=b.j,j=b.g,o=b.f,u=CY(ncx(b,(nl_(),nJ1)),140),f=nP_.Math.min(f,m-u.b),l=nP_.Math.min(l,v-u.d),s=nP_.Math.max(s,m+j+u.c),h=nP_.Math.max(h,v+o+u.a);for(g=new MH(f-(p=CY(ncx(n,(nl_(),nYa)),107)).b,l-p.d),T=s-f+(p.b+p.c),c=h-l+(p.d+p.a),pT(PC(ncx(n,(nrh(),nVn))))&&(y=CY(ncx(n,(PK(),nzA)),27),k=CY(ncx(y,nJ1),140),M=y.i+y.g/2+(k.b+k.c)/2-g.a,E=y.j+y.f/2+(k.d+k.a)/2-g.b,r=T-M,a=c-E,r<T/2?(T+=e=r-M,g.a-=e):T+=e=M-r,a<c/2?(c+=i=a-E,g.b-=i):c+=i=E-a),w=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));w.e!=w.i.gc();)GZ(b=CY(Z6(w),27),b.i-g.a),G1(b,b.j-g.b);pT(PC(ncx(n,nJ9)))||(GY(n,T),GJ(n,c)),nnh(n,nJI,T-(p.b+p.c)),nnh(n,nJC,c-(p.d+p.a)),t.dh(n,nkw)}(CY(n,27),t)},Nj(nkd,"CalculateGraphSize",1395),ncm(1396,1,npR,cd),nPB.Kf=function(n,t){!function(n){var t,e,i,r,a,c,o;for(i=new j2((!(c=CY(ncx(n,(PK(),nzA)),27)).e&&(c.e=new Ox(nL6,c,7,4)),c.e));i.e!=i.i.gc();)e=CY(Z6(i),74),o=new MH(CY(GO((!e.a&&(e.a=new Lk(nL5,e,6,6)),e.a),0),166).j,CY(GO((!e.a&&(e.a=new Lk(nL5,e,6,6)),e.a),0),166).k),a=new MH(CY(GO((!e.a&&(e.a=new Lk(nL5,e,6,6)),e.a),0),166).b,CY(GO((!e.a&&(e.a=new Lk(nL5,e,6,6)),e.a),0),166).c),r=new MH(a.a-o.a,a.b-o.b),t=nP_.Math.atan2(r.b,r.a),CY(GO((!e.c&&(e.c=new Ox(nL4,e,5,8)),e.c),0),84).qf((nrh(),nVg),t)}(CY(n,27))},Nj(nkd,"EdgeAngleCalculator",1396),ncm(368,22,{3:1,34:1,22:1,368:1,196:1},Mv),nPB.dg=function(){switch(this.g){case 0:return new ck;case 1:return new cg;case 2:return new cM;case 3:return new cw;case 4:return new cd;default:throw new pN(np5+(null!=this.f?this.f:""+this.g)).e}};var nLr=qc(nkd,np8,368,nPw,function(){return nic(),Vw(DY(nLr,1),nbG,368,0,[nzK,nz$,nzF,nzD,nzR])},function(n){return nic(),qa((UW(),nz_),n)});ncm(653,1,{}),nPB.e=1,nPB.g=0,Nj(nkp,"AbstractRadiusExtensionCompaction",653),ncm(1834,653,{},Pa),nPB.Cg=function(n){var t,e,i,r,a,c,o,u,s;for(this.c=CY(ncx(n,(PK(),nzA)),27),this.f=this.c,this.d=nnA(CY(ncx(n,(nrh(),nVp)),300)),(u=CY(ncx(n,nVt),17))&&(this.e=u.a),o=PI(ncx(n,(nl_(),nYq))),this.g=(xf(o),o),s=no3(this.c),this.d&&this.d.Gg(s),!function(n,t){var e,i,r;for(i=new fU(t);i.a<i.c.c.length;)if(e=CY(RU(i),27),naR(n.a,e,e),naR(n.b,e,e),0!=(r=no3(e)).c.length)for(n.d&&n.d.Gg(r),naR(n.a,e,(RN(0,r.c.length),CY(r.c[0],27))),naR(n.b,e,CY(I0(r,r.c.length-1),27));0!=VM(r).c.length;)r=VM(r),n.d&&n.d.Gg(r),naR(n.a,e,(RN(0,r.c.length),CY(r.c[0],27))),naR(n.b,e,CY(I0(r,r.c.length-1),27))}(this,s),c=new pU(Vw(DY(nNe,1),nkm,27,0,[this.c])),e=0;e<2;e++)for(t=0;t<s.c.length;t++)r=new pU(Vw(DY(nNe,1),nkm,27,0,[(RN(t,s.c.length),CY(s.c[t],27))])),a=t<s.c.length-1?(RN(t+1,s.c.length),CY(s.c[t+1],27)):(RN(0,s.c.length),CY(s.c[0],27)),i=0==t?CY(I0(s,s.c.length-1),27):(RN(t-1,s.c.length),CY(s.c[t-1],27)),function n(t,e,i,r,a){var c,o,u;for(c=no4(t,e,i,r,a),u=!1;!c;)ncH(t,a,!0),u=!0,c=no4(t,e,i,r,a);u&&ncH(t,a,!1),0!=(o=VM(a)).c.length&&(t.d&&t.d.Gg(o),n(t,a,i,r,o))}(this,(RN(t,s.c.length),CY(s.c[t],27),c),i,a,r)},Nj(nkp,"AnnulusWedgeCompaction",1834),ncm(1393,1,npR,cg),nPB.Kf=function(n,t){var e=CY(n,27);t.Ug("General Compactor",1),(function(n){switch(n.g){case 1:return new cp;case 2:return new Pa;default:throw new pN(nky+(null!=n.f?n.f:""+n.g)).e}})(CY(ncx(e,(nrh(),nVe)),393)).Cg(e)},Nj(nkp,"GeneralCompactor",1393),ncm(1833,653,{},cp),nPB.Cg=function(n){var t,e,i,r;e=CY(ncx(n,(PK(),nzA)),27),this.f=e,this.b=nnA(CY(ncx(n,(nrh(),nVp)),300)),(r=CY(ncx(n,nVt),17))&&(this.e=r.a),i=PI(ncx(n,(nl_(),nYq))),this.g=(xf(i),i),t=no3(e),this.b&&this.b.Gg(t),function n(t,e){var i,r,a;if(0!=e.c.length){for(i=ni_(t,e),a=!1;!i;)ncH(t,e,!0),a=!0,i=ni_(t,e);a&&ncH(t,e,!1),r=VM(e),t.b&&t.b.Gg(r),t.a=Qf(t,(RN(0,e.c.length),CY(e.c[0],27))),n(t,r)}}(this,t)},nPB.a=0,Nj(nkp,"RadialCompaction",1833),ncm(1842,1,{},cm),nPB.Dg=function(n){var t,e,i,r,a,c;for(this.a=n,t=0,c=no3(n),i=0,a=new fU(c);a.a<a.c.c.length;)for(r=CY(RU(a),27),e=++i;e<c.c.length;e++)(function(n,t,e){var i,r,a,c,o,u,s,h,f,l;return h=n.a.i+n.a.g/2,f=n.a.i+n.a.g/2,c=new MH(t.i+t.g/2,t.j+t.f/2),(u=CY(ncx(t,(nl_(),nYO)),8)).a=u.a+h,u.b=u.b+f,r=(c.b-u.b)/(c.a-u.a),i=c.b-r*c.a,o=new MH(e.i+e.g/2,e.j+e.f/2),(s=CY(ncx(e,nYO),8)).a=s.a+h,s.b=s.b+f,a=(o.b-s.b)/(o.a-s.a),l=(i-(o.b-a*o.a))/(a-r),(!(u.a<l)||!(c.a<l))&&(!(l<u.a)||!(l<c.a))&&(!(s.a<l)||!(o.a<l))&&(!(l<s.a)||!(l<o.a))})(this,r,(RN(e,c.c.length),CY(c.c[e],27)))&&(t+=1);return t},Nj(nkv,"CrossingMinimizationPosition",1842),ncm(1840,1,{},cv),nPB.Dg=function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w;for(i=0,e=new Le(Sb(nc5(n).a.Kc(),new s));ncv(e);)t=CY(_I(e),74),h=(o=niw(CY(GO((t.c||(t.c=new Ox(nL4,t,5,8)),t.c),0),84))).i+o.g/2,f=o.j+o.f/2,r=n.i+n.g/2,a=n.j+n.f/2,(l=new mm).a=h-r,l.b=f-a,ned(c=new MH(l.a,l.b),n.g,n.f),l.a-=c.a,l.b-=c.b,r=h-l.a,a=f-l.b,ned(u=new MH(l.a,l.b),o.g,o.f),l.a-=u.a,l.b-=u.b,h=r+l.a,f=a+l.b,b=h-r,w=f-a,i+=nP_.Math.sqrt(b*b+w*w);return i},Nj(nkv,"EdgeLengthOptimization",1840),ncm(1841,1,{},cy),nPB.Dg=function(n){var t,e,i,r,a,c,o,u,h,f,l;for(i=0,e=new Le(Sb(nc5(n).a.Kc(),new s));ncv(e);)t=CY(_I(e),74),u=(o=niw(CY(GO((t.c||(t.c=new Ox(nL4,t,5,8)),t.c),0),84))).i+o.g/2,h=o.j+o.f/2,r=CY(ncx(o,(nl_(),nYO)),8),a=n.i+r.a+n.g/2,c=n.j+r.b+n.f,f=u-a,l=h-c,i+=nP_.Math.sqrt(f*f+l*l);return i},Nj(nkv,"EdgeLengthPositionOptimization",1841),ncm(1392,653,npR,ck),nPB.Kf=function(n,t){var e,i,r,a,c;e=this,i=CY(n,27),(r=t).Ug("Remove overlaps",1),r.dh(i,nkl),e.f=a=CY(ncx(i,(PK(),nzA)),27),e.a=nnA(CY(ncx(i,(nrh(),nVp)),300)),xf(c=PI(ncx(i,(nl_(),nYq)))),e.g=c,function n(t,e,i,r){var a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S;if(0!=i.c.length){for(g=new du,d=new fU(i);d.a<d.c.c.length;)jB(g,new MH((w=CY(RU(d),27)).i,w.j));for(r.dh(e,"Before removing overlaps");niW(t,i);)ncH(t,i,!1);if(r.dh(e,"After removing overlaps"),u=0,h=0,a=null,0!=i.c.length&&(RN(0,i.c.length),u=(a=CY(i.c[0],27)).i-(RN(0,g.c.length),CY(g.c[0],8)).a,h=a.j-(RN(0,g.c.length),CY(g.c[0],8)).b),o=nP_.Math.sqrt(u*u+h*h),b=function(n){var t,e;for(e=new dV,t=new fU(n);t.a<t.c.c.length;)Xx(e,function(n){var t,e,i,r,a;for(r=new dV,t=new At((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a)),i=new Le(Sb(nc5(n).a.Kc(),new s));ncv(i);)!jM(GO(((e=CY(_I(i),74)).b||(e.b=new Ox(nL4,e,4,7)),e.b),0),193)&&(a=niw(CY(GO((e.c||(e.c=new Ox(nL4,e,5,8)),e.c),0),84)),t.a._b(a)||r.a.zc(a,r));return r}(CY(RU(t),27)));return e}(i),c=1,0!=b.a.gc()){for(l=b.a.ec().Kc();l.Ob();)f=CY(l.Pb(),27),m=(p=t.f).i+p.g/2,v=p.j+p.f/2,y=f.i+f.g/2,k=f.j+f.f/2,M=y-m,E=k-v,T=nP_.Math.sqrt(M*M+E*E),j=M/T,S=E/T,GZ(f,f.i+j*o),G1(f,f.j+S*o);r.dh(e,"Child movement "+c),++c}t.a&&t.a.Gg(new O8(b)),n(t,e,new O8(b),r)}}(e,i,no3(a),r),r.dh(i,nkw)},Nj("org.eclipse.elk.alg.radial.intermediate.overlaps","RadiusExtensionOverlapRemoval",1392),ncm(1394,1,npR,cM),nPB.Kf=function(n,t){var e;e=CY(n,27),t.Ug("General 'Rotator",1),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b;for(f=pj(PI(ncx(n,(nrh(),nVg)))),pT(PC(ncx(n,nVw)))&&(h=CY(ncx(n,(PK(),nzA)),27),a=CY(GO(xD(CY(GO((h.e||(h.e=new Ox(nL6,h,7,4)),h.e),(!h.e&&(h.e=new Ox(nL6,h,7,4)),h.e).i-1),74)),0),27),i=CY(GO(xD(CY(GO((h.e||(h.e=new Ox(nL6,h,7,4)),h.e),0),74)),0),27),c=new MH(a.i+a.g/2,a.j+a.f/2),r=new MH(i.i+i.g/2,i.j+i.f/2),(e=f)<=0&&(e+=nkf),(l=nP_.Math.acos((c.a*r.a+c.b*r.b)/(nP_.Math.sqrt(c.a*c.a+c.b*c.b)*nP_.Math.sqrt(r.a*r.a+r.b*r.b))))<=0&&(l+=nkf),(t=nP_.Math.atan2(c.b,c.a))<=0&&(t+=nkf),f=nyQ-(t-e+l/2)),u=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));u.e!=u.i.gc();)b=(s=new MH((o=CY(Z6(u),27)).i+o.g/2,o.j+o.f/2)).a*nP_.Math.cos(f)-s.b*nP_.Math.sin(f),s.b=s.a*nP_.Math.sin(f)+s.b*nP_.Math.cos(f),s.a=b,TB(o,s.a-o.g/2,s.b-o.f/2)}(e)},Nj("org.eclipse.elk.alg.radial.intermediate.rotation","GeneralRotator",1394),ncm(434,22,{3:1,34:1,22:1,434:1},My);var nLa=qc(nkk,"AnnulusWedgeCriteria",434,nPw,function(){return Hp(),Vw(DY(nLa,1),nbG,434,0,[nzB,nzH])},function(n){return Hp(),qa((F8(),nzU),n)});ncm(393,22,{3:1,34:1,22:1,393:1},Mk);var nLc=qc(nkk,ngj,393,nPw,function(){return WW(),Vw(DY(nLc,1),nbG,393,0,[nzG,nzq,nzX])},function(n){return WW(),qa((BA(),nzz),n)});ncm(863,1,ndq,hC),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkM),""),"Center On Root"),"Centers the layout on the root of the tree i.e. so that the central node is also the center node of the final layout. This introduces additional whitespace."),(SB(),!1)),(nrN(),nQW)),nPE),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkE),""),"Order ID"),"The id can be used to define an order for nodes of one radius. This can be used to sort them in the layer accordingly."),Qx(0)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkT),""),"Radius"),"The radius option can be used to set the initial radius for the radial layouter."),0),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkj),""),"Rotate"),"The rotate option determines whether a rotation of the layout should be performed."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkS),""),nkx),"With the compacter option it can be determined how compaction on the graph is done. It can be chosen between none, the radial compaction or the compaction of wedges separately."),nzJ),nQJ),nLc),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkP),""),"Compaction Step Size"),"Determine the size of steps with which the compaction is done. Step size 1 correlates to a compaction of 1 pixel per Iteration."),Qx(1)),nQZ),nPO),JP(nQX)))),Kj(n,nkP,nkS,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkO),""),"Sorter"),"Sort the nodes per radius according to the sorting algorithm. The strategies are none, by the given order id, or sorting them by polar coordinates."),nz8),nQJ),nLu),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkC),""),"Annulus Wedge Criteria"),"Determine how the wedge for the node placement is calculated. It can be chosen between wedge determination by the number of leaves or by the maximum sum of diagonals."),nz7),nQJ),nLa),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkI),""),"Translation Optimization"),"Find the optimal translation of the nodes of the first radii according to this criteria. For example edge crossings can be minimized."),nzZ),nQJ),nLo),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkA),nk$),"Target Angle"),"The angle in radians that the layout should be rotated to after layout."),0),nQQ),nPS),JP(nQX)))),Kj(n,nkA,nkj,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkL),nk$),"Additional Wedge Space"),"If set to true, modifies the target angle by rotating further such that space is left for an edge to pass in between the nodes. This option should only be used in conjunction with top-down layout."),!1),nQW),nPE),JP(nQX)))),Kj(n,nkL,nkj,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkN),nk$),"Outgoing Edge Angles"),"Calculate the required angle of connected nodes to leave space for an incoming edge. This option should only be used in conjunction with top-down layout."),!1),nQW),nPE),JP(nQX)))),nf7((new hI,n))},Nj(nkk,"RadialMetaDataProvider",863),ncm(1008,1,ndq,hI),nPB.hf=function(n){nf7(n)},Nj(nkk,"RadialOptions",1008),ncm(1009,1,{},cE),nPB.sf=function(){return new mU},nPB.tf=function(n){},Nj(nkk,"RadialOptions/RadialFactory",1009),ncm(354,22,{3:1,34:1,22:1,354:1},MM);var nLo=qc(nkk,"RadialTranslationStrategy",354,nPw,function(){return nti(),Vw(DY(nLo,1),nbG,354,0,[nVE,nVk,nVM,nVy])},function(n){return nti(),qa((HG(),nVT),n)});ncm(300,22,{3:1,34:1,22:1,300:1},ME);var nLu=qc(nkk,"SortingStrategy",300,nPw,function(){return zf(),Vw(DY(nLu,1),nbG,300,0,[nVS,nVP,nVj])},function(n){return zf(),qa((BL(),nVO),n)});ncm(1476,1,nyL,cT),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){var e;e=CY(n,27),t.Ug("Eades radial",1),t.dh(e,nkw),this.d=CY(ncx(e,(PK(),nzA)),27),this.c=pj(PI(ncx(e,(nrh(),nVl)))),this.e=nnA(CY(ncx(e,nVp),300)),this.a=function(n){switch(n.g){case 0:return new cj;case 1:return new cS;default:throw new pN(nky+(null!=n.f?n.f:""+n.g)).e}}(CY(ncx(e,nVv),434)),this.b=function(n){switch(n.g){case 1:return new cv;case 2:return new cy;case 3:return new cm;case 0:return null;default:throw new pN(nky+(null!=n.f?n.f:""+n.g)).e}}(CY(ncx(e,nVu),354)),function(n){var t,e,i,r,a;if(i=0,r=ngK,n.b)for(t=0;t<360;t++)e=.017453292519943295*t,nsg(n,n.d,0,0,nkf,e),(a=n.b.Dg(n.d))<r&&(i=e,r=a);nsg(n,n.d,0,0,nkf,i)}(this),t.dh(e,nkw)},nPB.c=0,Nj("org.eclipse.elk.alg.radial.p1position","EadesRadial",1476),ncm(1838,1,{},cj),nPB.Eg=function(n){return function n(t){var e,i,r;if(i=0,0==(r=no3(t)).c.length)return 1;for(e=new fU(r);e.a<e.c.c.length;)i+=n(CY(RU(e),27));return i}(n)},Nj(nkR,"AnnulusWedgeByLeafs",1838),ncm(1839,1,{},cS),nPB.Eg=function(n){return function n(t,e){var i,r,a,c,o,u;for(o=no3(e),a=e.f,u=e.g,c=nP_.Math.sqrt(a*a+u*u),r=0,i=new fU(o);i.a<i.c.c.length;)r+=n(t,CY(RU(i),27));return nP_.Math.max(r,c)}(this,n)},Nj(nkR,"AnnulusWedgeByNodeSpace",1839),ncm(1477,1,nyL,cP),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){var e=CY(n,27);t.Ug("Straight Line Edge Routing",1),t.dh(e,nkl),function n(t,e){var i,r,a,c,o,u,h,f,l,b,w;for(r=new Le(Sb(nc5(e).a.Kc(),new s));ncv(r);)!jM(GO(((i=CY(_I(r),74)).b||(i.b=new Ox(nL4,i,4,7)),i.b),0),193)&&(h=niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84)),nco(i)||(o=e.i+e.g/2,u=e.j+e.f/2,l=h.i+h.g/2,b=h.j+h.f/2,(w=new mm).a=l-o,w.b=b-u,ned(c=new MH(w.a,w.b),e.g,e.f),w.a-=c.a,w.b-=c.b,o=l-w.a,u=b-w.b,ned(f=new MH(w.a,w.b),h.g,h.f),w.a-=f.a,w.b-=f.b,l=o+w.a,b=u+w.b,G0(a=no6(i,!0,!0),o),G3(a,u),GQ(a,l),G2(a,b),n(t,h)))}(this,CY(ncx(e,(PK(),nzA)),27)),t.dh(e,nkw)},Nj("org.eclipse.elk.alg.radial.p2routing","StraightLineEdgeRouter",1477),ncm(826,1,{},gJ),nPB.Fg=function(n){},nPB.Gg=function(n){n.jd(this.a)},Nj(nkK,"IDSorter",826),ncm(1837,1,ndy,cO),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,27),i=CY(t,27),r=CY(ncx(e,(nrh(),nVs)),17),a=CY(ncx(i,nVs),17),jo(r.a,a.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nkK,"IDSorter/lambda$0$Type",1837),ncm(1836,1,{},Xz),nPB.Fg=function(n){KT(this,n)},nPB.Gg=function(n){if(!n.dc()){var t;this.e||KT(this,function n(t){var e;return(e=nez(t))?n(e):t}(CY(n.Xb(0),27))),t=this.e,n.jd(t.a)}},Nj(nkK,"PolarCoordinateSorter",1836),ncm(445,22,{3:1,34:1,22:1,445:1},MT);var nLs=qc(nkH,"RectPackingLayoutPhases",445,nPw,function(){return Y1(),Vw(DY(nLs,1),nbG,445,0,[nVC,nVI,nVA])},function(n){return Y1(),qa((BN(),nVL),n)});ncm(1118,205,ngv,mq),nPB.rf=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S;if(t.Ug("Rectangle Packing",1),u=CY(ncx(n,(nuu(),nWv)),107),a=pT(PC(ncx(n,nWl))),o=pj(PI(ncx(n,nWM))),k=pT(PC(ncx(n,nWE))),n.a||(n.a=new Lk(nNe,n,10,11)),g=n.a,pT(PC(ncx(n,nWd)))||Dv(new lh((yv(),new py(n)))),y=!1,k&&g.i>=3)for(m=CY(GO(g,0),27),v=CY(GO(g,1),27),i=0;i+2<g.i;){if(p=m,m=v,v=CY(GO(g,i+2),27),p.f>=m.f+v.f+o||v.f>=p.f+m.f+o){y=!0;break}++i}else y=!0;if(!y){for(s=g.i,r=new j2(g);r.e!=r.i.gc();)nnh(CY(Z6(r),27),(nl_(),nYC),Qx(s)),--s;ns9(n,new gz),t.Vg();return}for(xR(this.a),L2(this.a,(Y1(),nVC),CY(ncx(n,nWP),188)),L2(this.a,nVI,CY(ncx(n,nWm),188)),L2(this.a,nVA,CY(ncx(n,nWT),188)),E=this.a,IG(M=new xm,nVC,(nnj(),nV$)),IG(M,nVI,nVx),pT(PC(ncx(n,nWo)))&&IG(M,nVC,nVN),T=M,zT(E.a,T),c=1/(e=nfu(this.a,n)).c.length,f=new fU(e);f.a<f.c.c.length;){if(h=CY(RU(f),47),t.$g())return;h.Kf(n,t.eh(c))}for(b=0,l=0,d=new j2(g);d.e!=d.i.gc();)w=CY(Z6(d),27),b=nP_.Math.max(b,w.i+w.g),l=nP_.Math.max(l,w.j+w.f);for(nr6(n,new MH(pj(PI(ncx(n,(nuI(),nVF)))),pj(PI(ncx(n,nVK)))),new MH(b,l)),S=new j2(g);S.e!=S.i.gc();)TB(j=CY(Z6(S),27),j.i+u.b,j.j+u.d);a||nf9(n,pj(PI(ncx(n,nVF)))+(u.b+u.c),pj(PI(ncx(n,nVK)))+(u.d+u.a),!1,!0),pT(PC(ncx(n,nWd)))||Dv(new lh((yv(),new py(n)))),t.Vg()},Nj(nkH,"RectPackingLayoutProvider",1118),ncm(1518,1,npR,cC),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h;for(t.Ug("Interactive Node Reorderer",1),n.a||(n.a=new Lk(nNe,n,10,11)),h=n.a,o=new du,r=new j2(h);r.e!=r.i.gc();)Bz(e=CY(Z6(r),27),(nuu(),nWc))&&dk(o.c,e);for(a=new fU(o);a.a<a.c.c.length;)UP(h,e=CY(RU(a),27));for($O(),ji(o,new cI),c=new fU(o);c.a<c.c.c.length;)e=CY(RU(c),27),s=CY(ncx(e,(nuu(),nWc)),17).a,s=nP_.Math.min(s,h.i),Jo(h,s,e);for(u=0,i=new j2(h);i.e!=i.i.gc();)nnh(e=CY(Z6(i),27),(nuu(),nWa),Qx(u)),++u;t.Vg()}(CY(n,27),t)},Nj(nkU,"InteractiveNodeReorderer",1518),ncm(1519,1,ndy,cI),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,27),i=CY(t,27),(r=CY(ncx(e,(nuu(),nWc)),17).a)==(a=CY(ncx(i,nWc),17).a)||r<a?-1:+(r>a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nkU,"InteractiveNodeReorderer/lambda$0$Type",1519),ncm(456,22,{3:1,34:1,22:1,456:1,196:1},Mj),nPB.dg=function(){switch(this.g){case 0:return new cC;case 1:return new cL;case 2:return new cA}return null};var nLh=qc(nkU,np8,456,nPw,function(){return nnj(),Vw(DY(nLh,1),nbG,456,0,[nVN,nV$,nVx])},function(n){return nnj(),qa((Bx(),nVD),n)});ncm(1521,1,npR,cA),nPB.Kf=function(n,t){var e;e=CY(n,27),t.Ug("Min Size Postprocessing",1),nnh(e,(nuI(),nVz),nP_.Math.max(pj(PI(ncx(e,nVz))),pj(PI(ncx(e,nVq))))),t.Vg()},Nj(nkU,"MinSizePostProcessor",1521),ncm(1520,1,npR,cL),nPB.Kf=function(n,t){var e,i;e=CY(n,27),t.Ug("Min Size Preprocessing",1),i=nrW(e),nnh(e,(nuI(),nVq),i.a),nnh(e,nVH,i.b),t.Vg()},Nj(nkU,"MinSizePreProcessor",1520),ncm(394,22,{3:1,34:1,22:1,394:1},MS);var nLf=qc(nkG,"OptimizationGoal",394,nPw,function(){return Jq(),Vw(DY(nLf,1),nbG,394,0,[nVW,nVQ,nVV])},function(n){return Jq(),qa((B$(),nVJ),n)});ncm(867,1,ndq,hA),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkq),""),"Try box layout first"),"Whether one should check whether the regions are stackable to see whether box layout would do the job. For example, nodes with the same height are not stackable inside a row. Therefore, box layout will perform better and faster."),(SB(),!1)),(nrN(),nQW)),nPE),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkX),""),"Current position of a node in the order of nodes"),"The rectangles are ordered. Normally according to their definition the the model. This option specifies the current position of a node."),Qx(-1)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkz),""),"Desired index of node"),"The rectangles are ordered. Normally according to their definition the the model. This option allows to specify a desired position that has preference over the original position."),Qx(-1)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkV),""),"In new Row"),"If set to true this node begins in a new row. Consequently this node cannot be moved in a previous layer during compaction. Width approximation does does not take this into account."),!1),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkW),nk3),"Width Approximation Strategy"),"Strategy for finding an initial width of the drawing."),nWt),nQJ),nLb),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkQ),nk3),"Target Width"),"Option to place the rectangles in the given target width instead of approximating the width using the desired aspect ratio. The padding is not included in this. Meaning a drawing will have width of targetwidth + horizontal padding."),-1),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkJ),nk3),"Optimization Goal"),"Optimization goal for approximation of the bounding box given by the first iteration. Determines whether layout is sorted by the maximum scaling, aspect ratio, or area. Depending on the strategy the aspect ratio might be nearly ignored."),nV7),nQJ),nLf),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkY),nk3),"Shift Last Placed."),"When placing a rectangle behind or below the last placed rectangle in the first iteration, it is sometimes possible to shift the rectangle further to the left or right, resulting in less whitespace. True (default) enables the shift and false disables it. Disabling the shift produces a greater approximated area by the first iteration and a layout, when using ONLY the first iteration (default not the case), where it is sometimes impossible to implement a size transformation of rectangles that will fill the bounding box and eliminate empty spaces."),!0),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkZ),"packing"),nk4),"Strategy for finding an initial placement on nodes."),nV4),nQJ),nLw),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nk1),nk6),"Row Height Reevaluation"),"During the compaction step the height of a row is normally not changed. If this options is set, the blocks of other rows might be added if they exceed the row height. If this is the case the whole row has to be packed again to be optimal regarding the new row height. This option should, therefore, be used with care since it might be computation heavy."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nk0),nk6),"Compaction iterations"),"Defines the number of compaction iterations. E.g. if set to 2 the width is initially approximated, then the drawing is compacted and based on the resulting drawing the target width is decreased or increased and a second compaction step is executed and the result compared to the first one. The best run is used based on the scale measure."),Qx(1)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nk2),"whiteSpaceElimination"),"White Space Approximation Strategy"),"Strategy for expanding nodes such that whitespace in the parent is eliminated."),nQJ),nLd),JP(nQX)))),nlS((new hL,n))},Nj(nkG,"RectPackingMetaDataProvider",867),ncm(1016,1,ndq,hL),nPB.hf=function(n){nlS(n)},Nj(nkG,"RectPackingOptions",1016),ncm(1017,1,{},cN),nPB.sf=function(){return new mq},nPB.tf=function(n){},Nj(nkG,"RectPackingOptions/RectpackingFactory",1017),ncm(1705,1,{},CP),nPB.a=0,nPB.c=!1,Nj(nk8,"AreaApproximation",1705);var nLl=IH(nk8,"BestCandidateFilter");ncm(673,1,{535:1},cx),nPB.Hg=function(n,t,e){var i,r,a,c,o,u;for(u=new du,a=nwF,o=new fU(n);o.a<o.c.c.length;)c=CY(RU(o),238),a=nP_.Math.min(a,(c.c+(e.b+e.c))*(c.b+(e.d+e.a)));for(r=new fU(n);r.a<r.c.c.length;)((i=CY(RU(r),238)).c+(e.b+e.c))*(i.b+(e.d+e.a))==a&&dk(u.c,i);return u},Nj(nk8,"AreaFilter",673),ncm(674,1,{535:1},c$),nPB.Hg=function(n,t,e){var i,r,a,c,o,u;for(o=new du,u=nwF,c=new fU(n);c.a<c.c.c.length;)a=CY(RU(c),238),u=nP_.Math.min(u,nP_.Math.abs((a.c+(e.b+e.c))/(a.b+(e.d+e.a))-t));for(r=new fU(n);r.a<r.c.c.length;)i=CY(RU(r),238),nP_.Math.abs((i.c+(e.b+e.c))/(i.b+(e.d+e.a))-t)==u&&dk(o.c,i);return o},Nj(nk8,"AspectRatioFilter",674),ncm(1469,1,nyL,cD),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){var e,i,r,a,c,o,u,s;e=CY(n,27),t.Ug("Greedy Width Approximator",1),i=pj(PI(ncx(e,(nuu(),nWi)))),u=CY(ncx(e,nWv),107),a=CY(ncx(e,nWS),394),c=pT(PC(ncx(e,nWj))),o=pj(PI(ncx(e,nWM))),e.a||(e.a=new Lk(nNe,e,10,11)),Xv(s=e.a),r=function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w;for(GZ(c=CY(GO(t,0),27),0),G1(c,0),dk((l=new du).c,c),o=c,a=new IR(n.a,c.g,c.f,(nol(),nWU)),b=1;b<t.i;b++)w=CY(GO(t,b),27),u=nhD(n,nW_,w,o,a,l,e),s=nhD(n,nWF,w,o,a,l,e),h=nhD(n,nWH,w,o,a,l,e),f=nhD(n,nWB,w,o,a,l,e),r=function(n,t,e,i,r,a,c,o){var u,s,h,f;switch(u=_q(Vw(DY(nLg,1),nl7,238,0,[t,e,i,r])),f=null,n.b.g){case 1:f=_q(Vw(DY(nLl,1),nl7,535,0,[new cR,new cx,new c$]));break;case 0:f=_q(Vw(DY(nLl,1),nl7,535,0,[new c$,new cx,new cR]));break;case 2:f=_q(Vw(DY(nLl,1),nl7,535,0,[new cx,new cR,new c$]))}for(h=new fU(f);h.a<h.c.c.length;)s=CY(RU(h),535),u.c.length>1&&(u=s.Hg(u,n.a,o));return 1==u.c.length?CY(I0(u,u.c.length-1),238):2==u.c.length?function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;return(a=n.f,f=t.f,c=a==(nol(),nWF)||a==nWB,l=f==nWF||f==nWB,o=a==nW_||a==nWH,b=f==nW_||f==nWH,u=a==nW_||a==nWF,w=f==nW_||f==nWF,c&&l)?n.f==nWB?n:t:o&&b?n.f==nWH?n:t:u&&w?(a==nW_?(h=n,s=t):(h=t,s=n),d=e.j+e.f,g=h.e+i.f,p=nP_.Math.max(d,g)-nP_.Math.min(e.j,h.e),r=(h.d+i.g-e.i)*p,m=e.i+e.g,v=s.d+i.g,r<=(nP_.Math.max(m,v)-nP_.Math.min(e.i,s.d))*(s.e+i.f-e.j)?n.f==nW_?n:t:n.f==nWF?n:t):n}((RN(0,u.c.length),CY(u.c[0],238)),(RN(1,u.c.length),CY(u.c[1],238)),c,a):null}(n,u,s,h,f,w,o,i),GZ(w,r.d),G1(w,r.e),r.f=nWU,a=r,o=w,dk(l.c,w);return a}(new CP(i,a,c),s,o,u),nnh(e,(nuI(),nVz),r.c),t.Vg()},Nj(nk8,"GreedyWidthApproximator",1469),ncm(672,1,{535:1},cR),nPB.Hg=function(n,t,e){var i,r,a,c,o,u;for(u=new du,a=nw_,o=new fU(n);o.a<o.c.c.length;)c=CY(RU(o),238),a=nP_.Math.max(a,Ao(c.c+(e.b+e.c),c.b+(e.d+e.a),c.a));for(r=new fU(n);r.a<r.c.c.length;)Ao((i=CY(RU(r),238)).c+(e.b+e.c),i.b+(e.d+e.a),i.a)==a&&dk(u.c,i);return u},Nj(nk8,"ScaleMeasureFilter",672),ncm(1470,1,nyL,cK),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){var e=CY(n,27);if(t.Ug("Target Width Setter",1),Bz(e,(nuu(),nWO)))nnh(e,(nuI(),nVz),PI(ncx(e,nWO)));else throw new pK("A target width has to be set if the TargetWidthWidthApproximator should be used.").e;t.Vg()},Nj(nk8,"TargetWidthWidthApproximator",1470),ncm(491,22,{3:1,34:1,22:1,491:1,188:1,196:1},MP),nPB.dg=function(){return niO(this)},nPB.qg=function(){return niO(this)};var nLb=qc(nk8,"WidthApproximationStrategy",491,nPw,function(){return _d(),Vw(DY(nLb,1),nbG,491,0,[nWC,nWI])},function(n){return _d(),qa((F9(),nWA),n)});ncm(1471,1,nyL,cF),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;for(e.Ug(nkx,1),t.a||(t.a=new Lk(nNe,t,10,11)),i=pj(PI(ncx(t,(nuu(),nWi)))),h=pj(PI(ncx(t,nWM))),l=CY(ncx(t,nWv),107),a=nlA(b=new MF(i,h),t,l),Gp(t,b),o=CY(ncx(t,nWg),17).a;o>1;){if(r=function(n){var t,e,i,r;for(mk(),nom(i=new gE,n),e=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));e.e!=e.i.gc();)t=CY(Z6(e),27),nob(r=new gE,i),T_(r,t.g,t.f),qY(r,t.k),TB(r,t.i,t.j),B7((i.a||(i.a=new Lk(nNe,i,10,11)),i.a),r),nom(r,t);return i}(t),f=a.g,w=CY(ncx(t,nWv),107),d=pj(PI(ncx(t,nWi))),(!t.a&&(t.a=new Lk(nNe,t,10,11)),t.a).i>1&&pj(PI(ncx(t,(nuI(),nVG))))!=nwF&&(a.c+(w.b+w.c))/(a.b+(w.d+w.a))<d?nnh(r,(nuI(),nVz),pj(PI(ncx(t,nVz)))+pj(PI(ncx(t,nVG)))):(!t.a&&(t.a=new Lk(nNe,t,10,11)),t.a).i>1&&pj(PI(ncx(t,(nuI(),nVU))))!=nwF&&(a.c+(w.b+w.c))/(a.b+(w.d+w.a))>d&&nnh(r,(nuI(),nVz),nP_.Math.max(pj(PI(ncx(t,nVq))),pj(PI(ncx(r,nVz)))-pj(PI(ncx(t,nVU))))),(s=(u=nlA(b=new MF(i,h),r,l)).g)>=f&&s==s){for(c=0;c<(!r.a&&(r.a=new Lk(nNe,r,10,11)),r.a).i;c++)!function n(t,e,i){var r;for(T_(i,e.g,e.f),TB(i,e.i,e.j),r=0;r<(!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a).i;r++)n(t,CY(GO((e.a||(e.a=new Lk(nNe,e,10,11)),e.a),r),27),CY(GO((i.a||(i.a=new Lk(nNe,i,10,11)),i.a),r),27))}(n,CY(GO((r.a||(r.a=new Lk(nNe,r,10,11)),r.a),c),27),CY(GO((t.a||(t.a=new Lk(nNe,t,10,11)),t.a),c),27));Gp(t,b),a.c=u.c,a.c>0&&a.b>0&&(a.g=Ao(a.c,a.b,a.a)),a.b=u.b,a.c>0&&a.b>0&&(a.g=Ao(a.c,a.b,a.a))}--o}nnh(t,(nuI(),nVK),a.b),nnh(t,nVF,a.c),e.Vg()}(this,CY(n,27),t)},Nj(nk9,"Compactor",1471),ncm(1473,1,nyL,c_),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){var e,i,r,a,c,o;e=CY(n,27),t.Ug(nk7,1),a=CY(ncx(e,(nuu(),nWv)),107),e.a||(e.a=new Lk(nNe,e,10,11)),c=function(n){var t,e,i,r;for(e=0,t=0,r=new j2(n);r.e!=r.i.gc();)i=CY(Z6(r),27),e=nP_.Math.max(i.g+i.i,e),t=nP_.Math.max(i.f+i.j,t);return new MH(e,t)}(e.a),o=nP_.Math.max(c.a,pj(PI(ncx(e,(nuI(),nVq))))-(a.b+a.c)),i=(r=nP_.Math.max(c.b,pj(PI(ncx(e,nVH)))-(a.d+a.a)))-c.b,nnh(e,nVR,i),nnh(e,nVF,o),nnh(e,nVK,r+i),t.Vg()},Nj(nk9,"NoPlacement",1473),ncm(439,22,{3:1,34:1,22:1,439:1,188:1,196:1},MO),nPB.dg=function(){return QI(this)},nPB.qg=function(){return QI(this)};var nLw=qc(nk9,"PackingStrategy",439,nPw,function(){return HY(),Vw(DY(nLw,1),nbG,439,0,[nWL,nWx,nWN])},function(n){return HY(),qa((BD(),nW$),n)});ncm(810,1,{},MF),nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=nwF,nPB.e=0,nPB.f=nwF,Nj(nk9,"RowFillingAndCompaction",810),ncm(1472,1,nyL,cB),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;for(t.Ug(nk7,1),b=pj(PI(ncx(n,(nuI(),nVz)))),c=pj(PI(ncx(n,(nuu(),nWM)))),o=CY(ncx(n,nWv),107),Xv((n.a||(n.a=new Lk(nNe,n,10,11)),n.a)),h=nh4((n.a||(n.a=new Lk(nNe,n,10,11)),n.a),b,c),n.a||(n.a=new Lk(nNe,n,10,11)),s=new fU(h);s.a<s.c.c.length;)for(r=new fU((u=CY(RU(s),186)).a);r.a<r.c.c.length;)zr(l=new DE((i=CY(RU(r),172)).s,i.t,pj(PI(ncx(n,nWM)))),i),jB(u.d,l);f=nt2(h,c),w=nP_.Math.max(f.a,pj(PI(ncx(n,nVq)))-(o.b+o.c)),e=(a=nP_.Math.max(f.b,pj(PI(ncx(n,nVH)))-(o.d+o.a)))-f.b,nnh(n,nVR,e),nnh(n,nVF,w),nnh(n,nVK,a+e),nnh(n,nVX,h),t.Vg()}(CY(n,27),t)},Nj(nk9,"SimplePlacement",1472),ncm(1474,1,nyL,cH),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){this.Ig(CY(n,27),t)},nPB.Ig=function(n,t){ncN(n,t)},Nj(nMn,"EqualWhitespaceEliminator",1474),ncm(1475,1474,nyL,cU),nPB.Ig=function(n,t){var e,i,r,a;t.Ug("To Aspect Ratio Whitesapce Eliminator",1),a=pj(PI(ncx(n,(nuI(),nVF)))),r=pj(PI(ncx(n,nVK))),i=pj(PI(ncx(n,(nuu(),nWi)))),e=pj(PI(ncx(n,nVR))),a/r<i?nnh(n,nVF,a=r*i):(e+=a/i-r,nnh(n,nVR,e),nnh(n,nVK,r+e)),ncN(n,t),t.Vg()},Nj(nMn,"ToAspectratioNodeExpander",1475),ncm(492,22,{3:1,34:1,22:1,492:1,188:1,196:1},MC),nPB.dg=function(){return X0(this)},nPB.qg=function(){return X0(this)};var nLd=qc(nMn,"WhiteSpaceEliminationStrategy",492,nPw,function(){return zY(),Vw(DY(nLd,1),nbG,492,0,[nWD,nWR])},function(n){return zY(),qa((F7(),nWK),n)});ncm(172,1,{172:1},Wf),nPB.a=0,nPB.c=!1,nPB.d=0,nPB.e=0,nPB.f=0,nPB.g=0,nPB.i=0,nPB.k=!1,nPB.o=nwF,nPB.p=nwF,nPB.r=0,nPB.s=0,nPB.t=0,Nj(nMt,"Block",172),ncm(209,1,{209:1},DT),nPB.a=0,nPB.b=0,nPB.d=0,nPB.e=0,nPB.f=0,Nj(nMt,"BlockRow",209),ncm(315,1,{315:1},DE),nPB.b=0,nPB.c=0,nPB.d=0,nPB.e=0,nPB.f=0,Nj(nMt,"BlockStack",315),ncm(238,1,{238:1},IR,Zs),nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=0,nPB.e=0,nPB.g=0;var nLg=Nj(nMt,"DrawingData",238);ncm(373,22,{3:1,34:1,22:1,373:1},MI);var nLp=qc(nMt,"DrawingDataDescriptor",373,nPw,function(){return nol(),Vw(DY(nLp,1),nbG,373,0,[nW_,nWF,nWH,nWB,nWU])},function(n){return nol(),qa((UQ(),nWG),n)});ncm(186,1,{186:1},R0),nPB.b=0,nPB.c=0,nPB.e=0,nPB.f=0,Nj(nMt,"RectRow",186),ncm(763,1,{},Qa),nPB.j=0,Nj(nMi,npY,763),ncm(1209,1,{},cG),nPB.af=function(n){return Hr(n.a,n.b)},Nj(nMi,ngG,1209),ncm(1210,1,{},b9),nPB.af=function(n){var t;return t=this.a,nP_.Math.min(Hr(n.a,t.d.d.c),Hr(n.b,t.d.d.c))},Nj(nMi,npZ,1210),ncm(1211,1,{},b7),nPB.af=function(n){var t,e,i;return t=this.a,e=CY(CY(NR(t.g,n.a),42).a,68),i=CY(CY(NR(t.g,n.b),42).a,68),Hr(n.a,n.b)-Hr(n.a,jy(e.b))-Hr(n.b,jy(i.b))},Nj(nMi,np1,1211),ncm(1212,1,{},wn),nPB.af=function(n){var t;return t=this.a,nsZ(CY(CY(NR(t.g,n.a),42).a,68),CY(CY(NR(t.g,n.b),42).a,68))},Nj(nMi,"ElkGraphImporter/lambda$3$Type",1212),ncm(1213,1,{},wt),nPB.af=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;return t=this.a,(i=CY(CY(NR(t.g,n.a),42).a,68),r=CY(CY(NR(t.g,n.b),42).a,68),u=a=i.b,s=c=r.b,nue(),b=s.c-(u.c+u.b),l=u.c-(s.c+s.b),w=u.d-(s.d+s.a),h=s.d-(u.d+u.a),f=nP_.Math.max(l,b),d=nP_.Math.max(w,h),T6(),qM(ny_),(e=(nP_.Math.abs(f)<=ny_||0==f||isNaN(f)&&isNaN(0)?0:f<0?-1:f>0?1:Tm(isNaN(f),isNaN(0)))>=0^(qM(ny_),(nP_.Math.abs(d)<=ny_||0==d||isNaN(d)&&isNaN(0)?0:d<0?-1:d>0?1:Tm(isNaN(d),isNaN(0)))>=0)?nP_.Math.max(d,f):(qM(ny_),(nP_.Math.abs(f)<=ny_||0==f||isNaN(f)&&isNaN(0)?0:f<0?-1:f>0?1:Tm(isNaN(f),isNaN(0)))>0)?nP_.Math.sqrt(d*d+f*f):-nP_.Math.sqrt(d*d+f*f))>=0)?e:(o=N5(Oj(new MH(c.c+c.b/2,c.d+c.a/2),new MH(a.c+a.b/2,a.d+a.a/2))),-(nsF(a,c)-1)*o)},Nj(nMi,np0,1213),ncm(1115,205,ngv,mX),nPB.rf=function(n,t){var e,i,r,a,c,o,u,s,h,f;for(Bz(n,(niB(),nQs))&&(f=PA(ncx(n,(nnG(),nQA))),(a=nuX(qk(),f))&&CY(Dc(a.f),205).rf(n,t.eh(1))),nnh(n,nQr,(Bd(),nWZ)),nnh(n,nQa,(nru(),nW4)),nnh(n,nQc,(Vv(),nQ$)),c=CY(ncx(n,(nnG(),nQP)),17).a,t.Ug("Overlap removal",1),pT(PC(ncx(n,nQS))),u=new we(o=new dV),e=nlO(i=new Qa,n),s=!0,r=0;r<c&&s;){if(pT(PC(ncx(n,nQO)))){if(o.a.$b(),!function(n,t){var e,i,r,a;for(a=new du,i=new fU(t);i.a<i.c.c.length;)jB(a,new y6(e=CY(RU(i),68),!0)),jB(a,new y6(e,!1));(r=new $J(n)).a.a.$b(),Kb(a,n.b,new pU(Vw(DY(nCo,1),nl7,693,0,[r])))}(new jd(u),e.i),0==o.a.gc())break;e.e=o}for(xR(this.b),L2(this.b,(Js(),nWq),(yf(),nQL)),L2(this.b,nWX,e.g),L2(this.b,nWz,(yh(),nWJ)),this.a=nfu(this.b,e),h=new fU(this.a);h.a<h.c.c.length;)CY(RU(h),47).Kf(e,t.eh(1));!function(n,t){var e,i,r,a;for(a=new dc,t.e=null,t.f=null,i=new fU(t.i);i.a<i.c.c.length;)e=CY(RU(i),68),r=CY(NR(n.g,e.a),42),e.a=L_(e.b),xM(a,e.a,r);n.g=a}(i,e),s=pT(PC(niK(e,(zb(),nNp)))),++r}nfI(i,e),t.Vg()},Nj(nMi,"OverlapRemovalLayoutProvider",1115),ncm(1116,1,{},we),Nj(nMi,"OverlapRemovalLayoutProvider/lambda$0$Type",1116),ncm(444,22,{3:1,34:1,22:1,444:1},MA);var nLm=qc(nMi,"SPOrEPhases",444,nPw,function(){return Js(),Vw(DY(nLm,1),nbG,444,0,[nWq,nWX,nWz])},function(n){return Js(),qa((BG(),nWV),n)});ncm(1219,1,{},mz),Nj(nMi,"ShrinkTree",1219),ncm(1117,205,ngv,gW),nPB.rf=function(n,t){var e,i,r,a;Bz(n,(niB(),nQs))&&(a=PA(ncx(n,nQs)),(r=nuX(qk(),a))&&CY(Dc(r.f),205).rf(n,t.eh(1))),e=nlO(i=new Qa,n),function(n,t,e){var i;if(xR(n.b),L2(n.b,(Js(),nWq),(yf(),nQL)),L2(n.b,nWX,t.g),L2(n.b,nWz,t.a),n.a=nfu(n.b,t),e.Ug("Compaction by shrinking a tree",n.a.c.length),t.i.c.length>1)for(i=new fU(n.a);i.a<i.c.c.length;)CY(RU(i),47).Kf(t,e.eh(1));e.Vg()}(this.a,e,t.eh(1)),nfI(i,e)},Nj(nMi,"ShrinkTreeLayoutProvider",1117),ncm(306,137,{3:1,306:1,96:1,137:1},DM),nPB.c=!1,Nj("org.eclipse.elk.alg.spore.graph","Graph",306),ncm(490,22,{3:1,34:1,22:1,490:1,188:1,196:1},yb),nPB.dg=function(){return Wi(this)},nPB.qg=function(){return Wi(this)};var nLv=qc(nMr,ngj,490,nPw,function(){return ys(),Vw(DY(nLv,1),nbG,490,0,[nWW])},function(n){return ys(),qa((K6(),nWQ),n)});ncm(558,22,{3:1,34:1,22:1,558:1,188:1,196:1},Pb),nPB.dg=function(){return new cV},nPB.qg=function(){return new cV};var nLy=qc(nMr,"OverlapRemovalStrategy",558,nPw,function(){return yh(),Vw(DY(nLy,1),nbG,558,0,[nWJ])},function(n){return yh(),qa((K5(),nWY),n)});ncm(438,22,{3:1,34:1,22:1,438:1},ML);var nLk=qc(nMr,"RootSelection",438,nPw,function(){return Bd(),Vw(DY(nLk,1),nbG,438,0,[nW1,nWZ])},function(n){return Bd(),qa((_n(),nW0),n)});ncm(324,22,{3:1,34:1,22:1,324:1},MN);var nLM=qc(nMr,"SpanningTreeCostFunction",324,nPw,function(){return nru(),Vw(DY(nLM,1),nbG,324,0,[nW2,nW3,nW5,nW4,nW6])},function(n){return nru(),qa((UJ(),nW8),n)});ncm(1014,1,ndq,hN),nPB.hf=function(n){nhV(n)},Nj(nMr,"SporeCompactionOptions",1014),ncm(1015,1,{},cq),nPB.sf=function(){return new gW},nPB.tf=function(n){},Nj(nMr,"SporeCompactionOptions/SporeCompactionFactory",1015),ncm(866,1,ndq,hx),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMc),""),"Underlying Layout Algorithm"),"A layout algorithm that is applied to the graph before it is compacted. If this is null, nothing is applied before compaction."),(nrN(),nQ0)),nPL),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMf),"structure"),"Structure Extraction Strategy"),"This option defines what kind of triangulation or other partitioning of the plane is applied to the vertices."),nQT),nQJ),nLE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMo),nMg),"Tree Construction Strategy"),"Whether a minimum spanning tree or a maximum spanning tree should be constructed."),nQM),nQJ),nLT),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMu),nMg),"Cost Function for Spanning Tree"),"The cost function is used in the creation of the spanning tree."),nQy),nQJ),nLM),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMs),nMg),"Root node for spanning tree construction"),"The identifier of the node that is preferred as the root of the spanning tree. If this is null, the first node is chosen."),null),nQ0),nPL),JP(nQX)))),Kj(n,nMs,nMh,nQg),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMh),nMg),"Root selection for spanning tree"),"This sets the method used to select a root node for the construction of a spanning tree"),nQm),nQJ),nLk),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMl),nvH),nk4),"This option defines how the compaction is applied."),nQf),nQJ),nLv),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMb),nvH),"Orthogonal Compaction"),"Restricts the translation of nodes to orthogonal directions in the compaction phase."),(SB(),!1)),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMw),nMp),"Upper limit for iterations of overlap removal"),null),Qx(64)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMd),nMp),"Whether to run a supplementary scanline overlap check."),null),!0),nQW),nPE),JP(nQX)))),nso((new h$,n)),nhV((new hN,n))},Nj(nMr,"SporeMetaDataProvider",866),ncm(1012,1,ndq,h$),nPB.hf=function(n){nso(n)},Nj(nMr,"SporeOverlapRemovalOptions",1012),ncm(1013,1,{},cX),nPB.sf=function(){return new mX},nPB.tf=function(n){},Nj(nMr,"SporeOverlapRemovalOptions/SporeOverlapFactory",1013),ncm(539,22,{3:1,34:1,22:1,539:1,188:1,196:1},xk),nPB.dg=function(){return Wr(this)},nPB.qg=function(){return Wr(this)};var nLE=qc(nMr,"StructureExtractionStrategy",539,nPw,function(){return yf(),Vw(DY(nLE,1),nbG,539,0,[nQL])},function(n){return yf(),qa((K8(),nQN),n)});ncm(437,22,{3:1,34:1,22:1,437:1,188:1,196:1},Mx),nPB.dg=function(){return Yf(this)},nPB.qg=function(){return Yf(this)};var nLT=qc(nMr,"TreeConstructionStrategy",437,nPw,function(){return Vv(),Vw(DY(nLT,1),nbG,437,0,[nQ$,nQx])},function(n){return Vv(),qa((_t(),nQD),n)});ncm(1463,1,nyL,cz),nPB.rg=function(n){return CY(n,306),new xm},nPB.Kf=function(n,t){var e,i;e=CY(n,306),t.Ug("Delaunay triangulation",1),i=new du,Gd(e.i,new wi(i)),pT(PC(niK(e,(zb(),nNg)))),e.e?Xx(e.e,nlv(i)):e.e=nlv(i),t.Vg()},Nj(nMv,"DelaunayTriangulationPhase",1463),ncm(1464,1,nbE,wi),nPB.Cd=function(n){jB(this.a,CY(n,68).a)},Nj(nMv,"DelaunayTriangulationPhase/lambda$0$Type",1464),ncm(794,1,nyL,gX),nPB.rg=function(n){return CY(n,306),new xm},nPB.Kf=function(n,t){this.Jg(CY(n,306),t)},nPB.Jg=function(n,t){var e;t.Ug("Minimum spanning tree construction",1),e=n.d?n.d.a:CY(I0(n.i,0),68).a,pT(PC(niK(n,(zb(),nNg)))),Vj(this,nh9(n.e,e,n.b),n),t.Vg()},Nj(nMy,"MinSTPhase",794),ncm(1466,794,nyL,gM),nPB.Jg=function(n,t){var e,i;t.Ug("Maximum spanning tree construction",1),e=new wr(n),i=n.d?n.d.c:CY(I0(n.i,0),68).c,pT(PC(niK(n,(zb(),nNg)))),Vj(this,nh9(n.e,i,e),n),t.Vg()},Nj(nMy,"MaxSTPhase",1466),ncm(1467,1,{},wr),nPB.af=function(n){var t;return t=this.a,-t.b.af(n)},Nj(nMy,"MaxSTPhase/lambda$0$Type",1467),ncm(1465,1,nbE,wa),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,68),xM(t.a,e.a,e)},Nj(nMy,"MinSTPhase/lambda$0$Type",1465),ncm(796,1,nyL,cV),nPB.rg=function(n){return CY(n,306),new xm},nPB.Kf=function(n,t){var e;e=CY(n,306),t.Ug("Grow Tree",1),this.b=e.f,pT(PC(niK(e,(zb(),nNg))))?(this.c=new n1,Rf(this,null)):this.c=new n1,this.a=!1,function n(t,e){var i,r,a,c,o;for(r=new fU(e.a);r.a<r.c.c.length;)i=CY(RU(r),225),Ax(CY(i.b,68),Oj(jv(CY(e.b,68).c),CY(e.b,68).a)),(a=nsF(CY(e.b,68).b,CY(i.b,68).b))>1&&(t.a=!0),c=CY(i.b,68),o=OT(jv(CY(e.b,68).c),j_(Oj(jv(CY(i.b,68).a),CY(e.b,68).a),a)),Ax(c,Oj(new MH(o.a,o.b),c.c)),Rf(t,e),n(t,i)}(this,e.f),VD(e,nNp,(SB(),!!this.a)),t.Vg()},nPB.a=!1,Nj(nMk,"GrowTreePhase",796),ncm(797,1,nbE,CC),nPB.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,i=this.c,r=CY(n,225),CY(i.b,68),CY(i.b,68),CY(r.b,68),CY(r.b,68),CY(r.b,68),Gd(r.a,new CC(t,e,r))},Nj(nMk,"GrowTreePhase/lambda$0$Type",797),ncm(1468,1,nyL,cW),nPB.rg=function(n){return CY(n,306),new xm},nPB.Kf=function(n,t){!function(n,t,e){var i,r;e.Ug("Shrinking tree compaction",1),pT(PC(niK(t,(zb(),nNg))))&&(i=t.f,r=new n1,CY(i.b,68),CY(i.b,68),CY(i.b,68),Gd(i.a,new CI(n,r,i))),Uv(t.f,t.c),e.Vg()}(this,CY(n,306),t)},Nj(nMk,"ShrinkTreeCompactionPhase",1468),ncm(795,1,nbE,CI),nPB.Cd=function(n){var t,e,i,r,a;t=this.a,e=this.b,i=this.c,r=CY(n,225),CY(i.b,68),CY(i.b,68),CY(r.b,68),CY(r.b,68),Iu(a=Oj(jv(CY(i.b,68).c),CY(r.b,68).c),nao(CY(i.b,68),CY(r.b,68),a)),CY(r.b,68),CY(r.b,68),CY(r.b,68).c.a,a.a,CY(r.b,68).c.b,a.b,CY(r.b,68),Gd(r.a,new CI(t,e,r))},Nj(nMk,"ShrinkTreeCompactionPhase/lambda$0$Type",795);var nLj=IH(nyO,"IGraphElementVisitor");ncm(872,1,{536:1},R3),nPB.Kg=function(n){var t,e;e=new nQ,n&&zU(e,CY(NR(this.a,nL2),96)),jM(n,422)&&zU(e,CY(NR(this.a,nL3),96)),jM(n,366)?zU(e,CY(NR(this.a,nNt),96)):(jM(n,84)&&zU(e,CY(NR(this.a,nL4),96)),jM(n,207))?zU(e,CY(NR(this.a,nNe),96)):jM(n,193)?zU(e,CY(NR(this.a,nNi),96)):jM(n,326)&&zU(e,CY(NR(this.a,nL6),96)),zU(t=e,CY(NR(this.b,n),96)),function(n,t,e){var i,r,a,c,o;for(c=n.c,a=(!e.q?($O(),$O(),nOB):e.q).vc().Kc();a.Ob();)r=CY(a.Pb(),44),mQ(xX(new Aa(null,new R$(c,16)),new f4(new M_(t,r)))).Bd((vY(),nCF))||(jM(o=r.md(),4)&&null!=(i=Zp(o))&&(o=i),t.qf(CY(r.ld(),149),o))}(this,n,t)},Nj(ngy,"LayoutConfigurator",872);var nLS=IH(ngy,"LayoutConfigurator/IPropertyHolderOptionFilter");ncm(944,1,{2032:1},cQ),nPB.Lg=function(n,t){return Vy(),!n.pf(t)},Nj(ngy,"LayoutConfigurator/lambda$0$Type",944),ncm(943,1,{845:1},cJ),nPB.Mg=function(n,t){return Vy(),!n.pf(t)},Nj(ngy,"LayoutConfigurator/lambda$1$Type",943),ncm(945,1,{2032:1},cY),nPB.Lg=function(n,t){return noU(n,t)},Nj(ngy,"LayoutConfigurator/lambda$2$Type",945),ncm(946,1,nbV,M_),nPB.Mb=function(n){var t,e,i;return t=this.a,e=this.b,i=CY(n,2032),Vy(),i.Lg(t,CY(e.ld(),149))},Nj(ngy,"LayoutConfigurator/lambda$3$Type",946),ncm(869,1,{},cZ),Nj(ngy,"RecursiveGraphLayoutEngine",869),ncm(224,63,nbZ,d_,pK),Nj(ngy,"UnsupportedConfigurationException",224),ncm(370,63,nbZ,pF),Nj(ngy,"UnsupportedGraphException",370),ncm(761,1,{}),Nj(nyO,"AbstractRandomListAccessor",761),ncm(450,761,{},noM),nPB.Ng=function(){return null},nPB.d=!0,nPB.e=!0,nPB.f=0,Nj(nMT,"AlgorithmAssembler",450),ncm(1200,1,nbV,c1),nPB.Mb=function(n){return!!CY(n,106)},Nj(nMT,"AlgorithmAssembler/lambda$0$Type",1200),ncm(1201,1,{},wc),nPB.Kb=function(n){var t;return t=this.a,CY(n,106).rg(t)},Nj(nMT,"AlgorithmAssembler/lambda$1$Type",1201),ncm(1202,1,nbV,c0),nPB.Mb=function(n){return!!CY(n,80)},Nj(nMT,"AlgorithmAssembler/lambda$2$Type",1202),ncm(1203,1,nbE,wo),nPB.Cd=function(n){zT(this.a,CY(n,80))},Nj(nMT,"AlgorithmAssembler/lambda$3$Type",1203),ncm(1204,1,nbE,MB),nPB.Cd=function(n){var t;t=this.a,jB(this.b,Yu(t,CY(n,196)))},Nj(nMT,"AlgorithmAssembler/lambda$4$Type",1204),ncm(1343,1,ndy,c2),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,196),i=CY(t,196),WZ(e),WZ(i),r=CY(e,22),a=CY(i,22),r.g-a.g},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nMT,"EnumBasedFactoryComparator",1343),ncm(80,761,{80:1},xm),nPB.Ng=function(){return new dV},nPB.a=0,Nj(nMT,"LayoutProcessorConfiguration",80),ncm(1025,1,{536:1},hR),nPB.Kg=function(n){zs(nQ_,new wu(n))},Nj(nd_,"DeprecatedLayoutOptionReplacer",1025),ncm(1026,1,nbE,c3),nPB.Cd=function(n){var t;t=CY(n,167),Hg(),CY(t.of((nl_(),nYE)),181).Fc((nap(),nZ5)),t.qf(nYM,null)},Nj(nd_,"DeprecatedLayoutOptionReplacer/lambda$0$Type",1026),ncm(1027,1,nbE,c4),nPB.Cd=function(n){var t;t=CY(n,167),Hg(),CY(t.of((nl_(),nYt)),181).Hc((nsv(),n1F))&&(CY(t.of(nYE),181).Fc((nap(),nZ9)),CY(t.of(nYt),181).Mc(n1F))},Nj(nd_,"DeprecatedLayoutOptionReplacer/lambda$1$Type",1027),ncm(1028,1,{},wu),nPB.Yd=function(n,t){var e,i,r;e=this.a,i=CY(n,149),r=CY(t,41),Hg(),e.pf(i)&&r.Cd(e)},Nj(nd_,"DeprecatedLayoutOptionReplacer/lambda$2$Type",1028),ncm(143,1,{701:1,143:1},nil),nPB.Fb=function(n){return _m(this,n)},nPB.Og=function(){return this.b},nPB.Pg=function(){return this.c},nPB.xe=function(){return this.e},nPB.Hb=function(){return Wb(this.c)},nPB.Ib=function(){return"Layout Algorithm: "+this.c};var nLP=Nj(nd_,"LayoutAlgorithmData",143);ncm(269,1,{},c5),Nj(nd_,"LayoutAlgorithmData/Builder",269),ncm(1029,1,{536:1},c8),nPB.Kg=function(n){jM(n,207)&&!pT(PC(n.of((nl_(),nYi))))&&function(n){var t,e;if(!zv(t=PA(ncx(n,(nl_(),nJM))),n)&&!Bz(n,nYA)&&(0!=(!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a).i||pT(PC(ncx(n,nJV)))))if(null==t||0==nrJ(t).length){if(!zv(nwU,n))throw nfV(n,e=EY(EY(new Sv("Unable to load default layout algorithm "),nwU)," for unconfigured node ")),new pK(e.a).e}else throw nfV(n,e=EY(EY(new Sv("Layout algorithm '"),t),"' not found for ")),new pK(e.a).e}(CY(n,27))},Nj(nd_,"LayoutAlgorithmResolver",1029),ncm(233,1,{701:1,233:1},RM),nPB.Fb=function(n){return!!jM(n,233)&&OB(this.b,CY(n,233).b)},nPB.Og=function(){return this.a},nPB.Pg=function(){return this.b},nPB.xe=function(){return this.d},nPB.Hb=function(){return Wb(this.b)},nPB.Ib=function(){return"Layout Type: "+this.b},Nj(nd_,"LayoutCategoryData",233),ncm(357,1,{},c9),Nj(nd_,"LayoutCategoryData/Builder",357),ncm(879,1,{},nuR),Nj(nd_,"LayoutMetaDataService",879),ncm(880,1,{},NH),Nj(nd_,"LayoutMetaDataService/Registry",880),ncm(487,1,{487:1},c7),Nj(nd_,"LayoutMetaDataService/Registry/Triple",487),ncm(881,1,nMj,c6),nPB.Qg=function(){return new mm},Nj(nd_,"LayoutMetaDataService/lambda$0$Type",881),ncm(882,1,nMS,on),nPB.Rg=function(n){return jv(CY(n,8))},Nj(nd_,"LayoutMetaDataService/lambda$1$Type",882),ncm(891,1,nMj,ot),nPB.Qg=function(){return new du},Nj(nd_,"LayoutMetaDataService/lambda$10$Type",891),ncm(892,1,nMS,oe),nPB.Rg=function(n){return new O8(CY(n,13))},Nj(nd_,"LayoutMetaDataService/lambda$11$Type",892),ncm(893,1,nMj,oi),nPB.Qg=function(){return new vq},Nj(nd_,"LayoutMetaDataService/lambda$12$Type",893),ncm(894,1,nMS,or),nPB.Rg=function(n){return CJ(CY(n,67))},Nj(nd_,"LayoutMetaDataService/lambda$13$Type",894),ncm(895,1,nMj,oa),nPB.Qg=function(){return new dV},Nj(nd_,"LayoutMetaDataService/lambda$14$Type",895),ncm(896,1,nMS,oc),nPB.Rg=function(n){return $H(CY(n,49))},Nj(nd_,"LayoutMetaDataService/lambda$15$Type",896),ncm(897,1,nMj,oo),nPB.Qg=function(){return new TE},Nj(nd_,"LayoutMetaDataService/lambda$16$Type",897),ncm(898,1,nMS,ou),nPB.Rg=function(n){return FU(CY(n,49))},Nj(nd_,"LayoutMetaDataService/lambda$17$Type",898),ncm(899,1,nMj,os),nPB.Qg=function(){return new dQ},Nj(nd_,"LayoutMetaDataService/lambda$18$Type",899),ncm(900,1,nMS,oh),nPB.Rg=function(n){return CQ(CY(n,157))},Nj(nd_,"LayoutMetaDataService/lambda$19$Type",900),ncm(883,1,nMj,of),nPB.Qg=function(){return new gj},Nj(nd_,"LayoutMetaDataService/lambda$2$Type",883),ncm(884,1,nMS,ol),nPB.Rg=function(n){return new mh(CY(n,75))},Nj(nd_,"LayoutMetaDataService/lambda$3$Type",884),ncm(885,1,nMj,ob),nPB.Qg=function(){return new gd},Nj(nd_,"LayoutMetaDataService/lambda$4$Type",885),ncm(886,1,nMS,ow),nPB.Rg=function(n){return new CU(CY(n,140))},Nj(nd_,"LayoutMetaDataService/lambda$5$Type",886),ncm(887,1,nMj,od),nPB.Qg=function(){return new gp},Nj(nd_,"LayoutMetaDataService/lambda$6$Type",887),ncm(888,1,nMS,og),nPB.Rg=function(n){return new CG(CY(n,107))},Nj(nd_,"LayoutMetaDataService/lambda$7$Type",888),ncm(889,1,nMj,op),nPB.Qg=function(){return new oN},Nj(nd_,"LayoutMetaDataService/lambda$8$Type",889),ncm(890,1,nMS,om),nPB.Rg=function(n){return new Ud(CY(n,385))},Nj(nd_,"LayoutMetaDataService/lambda$9$Type",890);var nLO=IH(ngw,"IProperty");ncm(23,1,{34:1,701:1,23:1,149:1},nrP),nPB.Fd=function(n){var t;return t=CY(n,149),_W(this.f,t.Pg())},nPB.Fb=function(n){return jM(n,23)?OB(this.f,CY(n,23).f):jM(n,149)&&OB(this.f,CY(n,149).Pg())},nPB.Sg=function(){var n;if(!jM(this.b,4))return this.b;if(null==(n=Zp(this.b)))throw new px(nMA+this.f+"'. Make sure it's type is registered with the "+(PL(nNf),nNf.k)+nMO).e;return n},nPB.Og=function(){return this.d},nPB.Pg=function(){return this.f},nPB.xe=function(){return this.i},nPB.Hb=function(){return Wb(this.f)},nPB.Ib=function(){return"Layout Option: "+this.f},Nj(nd_,"LayoutOptionData",23),ncm(24,1,{},ov),Nj(nd_,"LayoutOptionData/Builder",24),ncm(170,22,{3:1,34:1,22:1,170:1},MG);var nLC=qc(nd_,"LayoutOptionData/Target",170,nPw,function(){return ZW(),Vw(DY(nLC,1),nbG,170,0,[nQX,nQq,nQU,nQz,nQG])},function(n){return ZW(),qa((UZ(),nQV),n)});ncm(285,22,{3:1,34:1,22:1,285:1},Mq);var nLI=qc(nd_,"LayoutOptionData/Type",285,nPw,function(){return nrN(),Vw(DY(nLI,1),nbG,285,0,[nQ2,nQW,nQZ,nQ0,nQQ,nQJ,nQY,nQ1])},function(n){return nrN(),qa((zw(),nQ3),n)});ncm(116,1,{116:1},TI,x4,$2),nPB.Fb=function(n){var t;return null!=n&&!!jM(n,116)&&(t=CY(n,116),xL(this.c,t.c)&&xL(this.d,t.d)&&xL(this.b,t.b)&&xL(this.a,t.a))},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[this.c,this.d,this.b,this.a]))},nPB.Ib=function(){return"Rect[x="+this.c+",y="+this.d+",w="+this.b+",h="+this.a+"]"},nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=0,Nj(npV,"ElkRectangle",116),ncm(8,1,{3:1,4:1,8:1,423:1},mm,RE,MH,TP),nPB.Fb=function(n){return Xn(this,n)},nPB.Hb=function(){var n,t;return Td(this.a)+(n=Td(this.b),qx(),(t=nOw)[n>>>28]|t[n>>24&15]<<4|t[n>>20&15]<<8|t[n>>16&15]<<12|t[n>>12&15]<<16|t[n>>8&15]<<20|t[n>>4&15]<<24|t[15&n]<<28)},nPB.cg=function(n){var t,e,i;for(e=0;e<n.length&&Qs((Rx(e,n.length),n.charCodeAt(e)),npq);)++e;for(t=n.length;t>0&&Qs((Rx(t-1,n.length),n.charCodeAt(t-1)),npX);)--t;if(e>=t)throw new pN("The given string does not contain any numbers.").e;if(2!=(i=ns7((B2(e,t,n.length),n.substr(e,t-e)),",|;|\r|\n")).length)throw new pN("Exactly two numbers are expected, "+i.length+" were found.").e;try{this.a=ni7(nrJ(i[0])),this.b=ni7(nrJ(i[1]))}catch(n){if(jM(n=Vt(n),130))throw new pN(npz+n).e;throw n.e}},nPB.Ib=function(){return"("+this.a+","+this.b+")"},nPB.a=0,nPB.b=0;var nLA=Nj(npV,"KVector",8);ncm(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},gj,mh,Pl),nPB.Pc=function(){return function(n){var t,e,i;for(t=0,i=BJ(nLA,nby,8,n.b,0,1),e=ZQ(n,0);e.b!=e.d.c;)i[t++]=CY(K0(e),8);return i}(this)},nPB.cg=function(n){var t,e,i,r,a;e=ns7(n,",|;|\\(|\\)|\\[|\\]|\\{|\\}| | |\n"),$p(this);try{for(t=0,r=0,i=0,a=0;t<e.length;)null!=e[t]&&nrJ(e[t]).length>0&&(r%2==0?i=ni7(e[t]):a=ni7(e[t]),r>0&&r%2!=0&&IA(this,new MH(i,a)),++r),++t}catch(n){if(jM(n=Vt(n),130))throw new pN("The given string does not match the expected format for vectors."+n).e;throw n.e}},nPB.Ib=function(){var n,t,e;for(n=new Sv("("),t=ZQ(this,0);t.b!=t.d.c;)EY(n,(e=CY(K0(t),8)).a+","+e.b),t.b!=t.d.c&&(n.a+="; ");return(n.a+=")",n).a};var nLL=Nj(npV,"KVectorChain",75);ncm(255,22,{3:1,34:1,22:1,255:1},MU);var nLN=qc(nMN,"Alignment",255,nPw,function(){return nnS(),Vw(DY(nLN,1),nbG,255,0,[nQ5,nQ7,nJn,nJt,nQ8,nQ9])},function(n){return nnS(),qa((GB(),nJe),n)});ncm(991,1,ndq,hK),nPB.hf=function(n){ns$(n)},Nj(nMN,"BoxLayouterOptions",991),ncm(992,1,{},oy),nPB.sf=function(){return new oE},nPB.tf=function(n){},Nj(nMN,"BoxLayouterOptions/BoxFactory",992),ncm(298,22,{3:1,34:1,22:1,298:1},MX);var nLx=qc(nMN,"ContentAlignment",298,nPw,function(){return neW(),Vw(DY(nLx,1),nbG,298,0,[nJy,nJv,nJm,nJg,nJd,nJp])},function(n){return neW(),qa((GH(),nJk),n)});ncm(699,1,ndq,hF),nPB.hf=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMK),""),"Layout Algorithm"),"Select a specific layout algorithm."),(nrN(),nQ0)),nPL),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMF),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),nQ1),nLP),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyi),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),nJT),nQJ),nLN),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ngx),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nM_),""),"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."),nQ1),nLL),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyd),""),"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."),nJN),nQY),nLx),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nye),""),"Debug Mode"),"Whether additional debug information shall be generated."),(SB(),!1)),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyc),""),ngs),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),nJD),nQJ),nL$),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvF),""),"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."),nJB),nQJ),nLR),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMD),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvx),""),"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`."),nJX),nQJ),nLF),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ng$),""),"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."),nYc),nQ1),nAc),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ng9),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyP),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npt),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ng7),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),nYy),nQJ),nLU),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyT),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),nQ1),nLA),AN(nQq,Vw(DY(nLC,1),nbG,170,0,[nQz,nQG]))))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ng3),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),nQZ),nPO),AN(nQq,Vw(DY(nLC,1),nbG,170,0,[nQU]))))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ng5),""),"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)."),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ng8),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyg),""),"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."),nJZ),nQ1),nLL),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyv),""),"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),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyy),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMB),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),nQ1),n4g),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQG]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyj),""),"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."),nJ0),nQ1),nAi),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyn),""),"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),nQW),nPE),AN(nQq,Vw(DY(nLC,1),nbG,170,0,[nQU,nQz,nQG]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMH),""),"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),nQQ),nPS),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMU),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMG),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npo),""),nMM),"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),nQW),nPE),JP(nQX)))),Kj(n,npo,npf,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMq),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMX),""),"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'."),Qx(100)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMz),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMV),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),Qx(4e3)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMW),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),Qx(400)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMQ),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMJ),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMY),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMZ),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMR),"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."),nJO),nQJ),nLQ),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvY),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvZ),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngL),nv_),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv1),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ng6),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv0),nv_),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv2),nv_),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv6),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv3),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv4),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ng4),nv_),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv5),nv_),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv8),nv_),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),nQQ),nPS),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nv9),nv_),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),nQ1),nLJ),AN(nQq,Vw(DY(nLC,1),nbG,170,0,[nQU,nQz,nQG]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyS),nv_),"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."),nYV),nQ1),nAi),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyE),nM6),"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)."),nQZ),nPO),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),Kj(n,nyE,nyM,nYh),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyM),nM6),"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."),nYu),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyo),nM5),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),nJ3),nQ1),nAc),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npa),nM5),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),nJ6),nQY),nLB),AN(nQq,Vw(DY(nLC,1),nbG,170,0,[nQG]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyh),nM8),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),nYl),nQJ),nLH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyf),nM8),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),nQJ),nLH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyl),nM8),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),nQJ),nLH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyb),nM8),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),nQJ),nLH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyw),nM8),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),nQJ),nLH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npr),nM9),"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."),nJ8),nQY),nLX),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npi),nM9),"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."),nYe),nQY),nLz),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npE),nM9),"Node Size Minimum"),"The minimal size to which a node can be reduced."),nYn),nQ1),nLA),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npe),nM9),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyp),nvQ),"Edge Label Placement"),"Gives a hint on where to put edge labels."),nJF),nQJ),nLD),JP(nQG)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npn),nvQ),"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),nQW),nPE),JP(nQG)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nM1),"font"),"Font Name"),"Font name used for a label."),nQ0),nPL),JP(nQG)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nM0),"font"),"Font Size"),"Font size used for a label."),nQZ),nPO),JP(nQG)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyk),nM7),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),nQ1),nLA),JP(nQz)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nym),nM7),"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."),nQZ),nPO),JP(nQz)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyt),nM7),"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."),nYP),nQJ),nLq),JP(nQz)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nv7),nM7),"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."),nQQ),nPS),JP(nQz)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npc),nEn),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),nYT),nQY),nLG),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyu),nEn),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nys),nEn),"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),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npu),nEt),"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),nQQ),nPS),JP(nQX)))),Kj(n,npu,npf,nY3),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nM2),nEt),"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),nQJ),nLW),JP(nQq)))),Kj(n,nM2,npf,nY6),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nps),nEt),"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),nQQ),nPS),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),Kj(n,nps,npf,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nph),nEt),"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),nQQ),nPS),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),Kj(n,nph,npf,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npf),nEt),"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),nQJ),nLV),JP(nQq)))),Kj(n,npf,npe,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nM3),nEt),"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),nQQ),nPS),JP(nQX)))),Kj(n,nM3,npf,nY0),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyr),nEe),"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),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nya),nEe),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),nQW),nPE),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngN),"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),nQQ),nPS),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nM4),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),nJU),nQJ),nLK),JP(nQU)))),yw(n,new RM(((((t=new c9).b=nwU,e=t).c="Layered",i=e).a='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.',i))),yw(n,new RM(((((r=new c9).b="org.eclipse.elk.orthogonal",a=r).c="Orthogonal",c=a).a='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.',c))),yw(n,new RM(((((o=new c9).b=ng2,u=o).c="Force",s=u).a="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.",s))),yw(n,new RM(((((h=new c9).b="org.eclipse.elk.circle",f=h).c="Circle",l=f).a="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.",l))),yw(n,new RM(((((b=new c9).b=nkc,w=b).c="Tree",d=w).a="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.",d))),yw(n,new RM(((((g=new c9).b="org.eclipse.elk.planar",p=g).c="Planar",m=p).a="Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable.",m))),yw(n,new RM(((((v=new c9).b=nkD,y=v).c="Radial",k=y).a="Radial layout algorithms usually position the nodes of the graph on concentric circles.",k))),nu8((new h_,n)),ns$((new hK,n)),nul((new hB,n))},Nj(nMN,"CoreOptions",699),ncm(88,22,{3:1,34:1,22:1,88:1},Mz);var nL$=qc(nMN,ngs,88,nPw,function(){return Ju(),Vw(DY(nL$,1),nbG,88,0,[nY7,nY9,nY8,nY5,nZn])},function(n){return Ju(),qa((UY(),nZt),n)});ncm(278,22,{3:1,34:1,22:1,278:1},MV);var nLD=qc(nMN,"EdgeLabelPlacement",278,nPw,function(){return GN(),Vw(DY(nLD,1),nbG,278,0,[nZe,nZi,nZr])},function(n){return GN(),qa((Bq(),nZa),n)});ncm(223,22,{3:1,34:1,22:1,223:1},MW);var nLR=qc(nMN,"EdgeRouting",223,nPw,function(){return JG(),Vw(DY(nLR,1),nbG,223,0,[nZs,nZo,nZc,nZu])},function(n){return JG(),qa((Hz(),nZh),n)});ncm(321,22,{3:1,34:1,22:1,321:1},MQ);var nLK=qc(nMN,"EdgeType",321,nPw,function(){return nij(),Vw(DY(nLK,1),nbG,321,0,[nZd,nZb,nZg,nZf,nZw,nZl])},function(n){return nij(),qa((GU(),nZp),n)});ncm(989,1,ndq,h_),nPB.hf=function(n){nu8(n)},Nj(nMN,"FixedLayouterOptions",989),ncm(990,1,{},ok),nPB.sf=function(){return new oL},nPB.tf=function(n){},Nj(nMN,"FixedLayouterOptions/FixedFactory",990),ncm(346,22,{3:1,34:1,22:1,346:1},MJ);var nLF=qc(nMN,"HierarchyHandling",346,nPw,function(){return QO(),Vw(DY(nLF,1),nbG,346,0,[nZS,nZj,nZP])},function(n){return QO(),qa((BU(),nZO),n)});ncm(291,22,{3:1,34:1,22:1,291:1},MY);var nL_=qc(nMN,"LabelSide",291,nPw,function(){return ntG(),Vw(DY(nL_,1),nbG,291,0,[nZL,nZC,nZI,nZA])},function(n){return ntG(),qa((HV(),nZN),n)});ncm(95,22,{3:1,34:1,22:1,95:1},MZ);var nLB=qc(nMN,"NodeLabelPlacement",95,nPw,function(){return nc$(),Vw(DY(nLB,1),nbG,95,0,[nZ$,nZx,nZR,nZH,nZB,nZ_,nZK,nZF,nZD])},function(n){return nc$(),qa((z0(),nZU),n)});ncm(256,22,{3:1,34:1,22:1,256:1},M1);var nLH=qc(nMN,"PortAlignment",256,nPw,function(){return Z0(),Vw(DY(nLH,1),nbG,256,0,[nZX,nZV,nZG,nZq,nZz])},function(n){return Z0(),qa((U1(),nZW),n)});ncm(101,22,{3:1,34:1,22:1,101:1},M0);var nLU=qc(nMN,"PortConstraints",101,nPw,function(){return nie(),Vw(DY(nLU,1),nbG,101,0,[nZ0,nZ1,nZZ,nZQ,nZY,nZJ])},function(n){return nie(),qa((GG(),nZ2),n)});ncm(279,22,{3:1,34:1,22:1,279:1},M2);var nLG=qc(nMN,"PortLabelPlacement",279,nPw,function(){return nap(),Vw(DY(nLG,1),nbG,279,0,[nZ8,nZ6,nZ5,nZ4,nZ3,nZ9])},function(n){return nap(),qa((Gq(),nZ7),n)});ncm(64,22,{3:1,34:1,22:1,64:1},M3);var nLq=qc(nMN,"PortSide",64,nPw,function(){return nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])},function(n){return nf5(),qa((U0(),n1k),n)});ncm(993,1,ndq,hB),nPB.hf=function(n){nul(n)},Nj(nMN,"RandomLayouterOptions",993),ncm(994,1,{},oM),nPB.sf=function(){return new oC},nPB.tf=function(n){},Nj(nMN,"RandomLayouterOptions/RandomFactory",994),ncm(386,22,{3:1,34:1,22:1,386:1},M4);var nLX=qc(nMN,"SizeConstraint",386,nPw,function(){return YZ(),Vw(DY(nLX,1),nbG,386,0,[n1C,n1I,n1O,n1P])},function(n){return YZ(),qa((HW(),n1A),n)});ncm(264,22,{3:1,34:1,22:1,264:1},M6);var nLz=qc(nMN,"SizeOptions",264,nPw,function(){return nsv(),Vw(DY(nLz,1),nbG,264,0,[n1x,n1D,n1N,n1R,n1K,n1_,n1F,n1$,n1L])},function(n){return nsv(),qa((z1(),n1B),n)});ncm(280,22,{3:1,34:1,22:1,280:1},M5);var nLV=qc(nMN,"TopdownNodeTypes",280,nPw,function(){return QP(),Vw(DY(nLV,1),nbG,280,0,[n1U,n1H,n1G])},function(n){return QP(),qa((BX(),n1q),n)});ncm(347,22,nEa);var nLW=qc(nMN,"TopdownSizeApproximator",347,nPw,function(){return Cj(),Vw(DY(nLW,1),nbG,347,0,[n1X,n1z])},function(n){return Cj(),qa((_e(),n1V),n)});ncm(987,347,nEa,I_),nPB.Tg=function(n){return nnN(n)},qc(nMN,"TopdownSizeApproximator/1",987,nLW,null,null),ncm(988,347,nEa,LS),nPB.Tg=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(t=CY(ncx(n,(nl_(),nYA)),143),mk(),nom(p=new gE,n),m=new dc,a=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));a.e!=a.i.gc();)i=CY(Z6(a),27),nob(b=new gE,p),nom(b,i),y=nnN(i),T_(b,nP_.Math.max(i.g,y.a),nP_.Math.max(i.f,y.b)),nr3(m.f,i,b);for(r=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));r.e!=r.i.gc();)for(s=new j2((!(i=CY(Z6(r),27)).e&&(i.e=new Ox(nL6,i,7,4)),i.e));s.e!=s.i.gc();)u=CY(Z6(s),74),d=CY(ED(Aj(m.f,i)),27),g=CY(NR(m,GO((u.c||(u.c=new Ox(nL4,u,5,8)),u.c),0)),27),B7(((w=new oF).b||(w.b=new Ox(nL4,w,4,7)),w.b),d),B7((w.c||(w.c=new Ox(nL4,w,5,8)),w.c),g),noo(w,DV(d)),nom(w,u);h=CY(Dc(t.f),205);try{h.rf(p,new oD),xs(t.f,h)}catch(n){throw jM(n=Vt(n),103),n.e}return Bz(p,nJI)||Bz(p,nJC)||nlg(p),o=pj(PI(ncx(p,nJI))),c=pj(PI(ncx(p,nJC))),e=pj(PI(ncx(p,nYJ)))*nP_.Math.sqrt((!p.a&&(p.a=new Lk(nNe,p,10,11)),p.a).i),l=(v=CY(ncx(p,nYa),107)).b+v.c+1,f=v.d+v.a+1,new MH(nP_.Math.max(l,e),nP_.Math.max(f,e/(o/c)))},qc(nMN,"TopdownSizeApproximator/2",988,nLW,null,null),ncm(344,1,{871:1},gz),nPB.Ug=function(n,t){return nid(this,n,t)},nPB.Vg=function(){nrl(this)},nPB.Wg=function(){return this.q},nPB.Xg=function(){return this.f?$B(this.f):null},nPB.Yg=function(){return $B(this.a)},nPB.Zg=function(){return this.p},nPB.$g=function(){return!1},nPB._g=function(){return this.n},nPB.ah=function(){return null!=this.p&&!this.b},nPB.bh=function(n){this.n&&jB(this.f,n)},nPB.dh=function(n,t){var e,i,r,a;this.n&&n&&(i=function n(t,e){var i,r,a,c,o,u,s,h;if(!e)return null;if(i=(c=e.Dh())?GT(c).wi().si(c):null){for(Zq(t,e,i),s=0,h=(null==(a=e.Dh()).i&&nhr(a),a.i).length;s<h;++s)null==a.i&&nhr(a),r=a.i,(u=s>=0&&s<r.length?r[s]:null).rk()&&!u.sk()&&(jM(u,331)?function(t,e,i,r){if(i.Xh(e))if(yP(),Uj(e)){var a,c,o,u,s,h,f=CY(i.Mh(e),160);for(u=0,s=f.gc();u<s;++u)jM(o=f.Tl(u),102)&&(CY(o,19).Bb&nEI)!=0&&null!=(h=f.Ul(u))&&n(t,CY(h,58))}else(c=e?CY(r,54).gi(e):null)&&(a=i.Mh(e),c.Wb(a))}(t,CY(u,35),e,i):((o=CY(u,19)).Bb&nEI)!=0&&function(t,e,i,r){var a,c,o,u;i.Xh(e)&&(a=e?CY(r,54).gi(e):null)&&(u=i.Mh(e),(o=e.t)>1||-1==o?(c=CY(u,15),a.Wb(function(t,e){var i,r,a;for(r=new Bf(e.gc()),i=e.Kc();i.Ob();)(a=n(t,CY(i.Pb(),58)))&&dk(r.c,a);return r}(t,c))):a.Wb(n(t,CY(u,58))))}(t,o,e,i));e.Vh()&&CY(i,54).ei(CY(e,54)._h())}return i}(e=new Nw,n),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;for(f=new NB(new f1(n));f.c!=f.d.a.d;)for(d=0,o=CY((h=Uw(f)).d,58),t=CY(h.e,58),y=(null==(c=o.Dh()).i&&nhr(c),c.i).length;d<y;++d)if(null==c.i&&nhr(c),a=c.i,(s=d>=0&&d<a.length?a[d]:null).rk()&&!s.sk()){if(jM(s,102))((u=CY(s,19)).Bb&nEI)!=0||(k=nnD(u))&&(k.Bb&nEI)!=0||function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w;if(e.Xh(t)&&(h=t?CY(i,54).gi(t):null))if(w=e.Nh(t,n.a),(b=t.t)>1||-1==b)if(f=CY(w,71),l=CY(h,71),f.dc())l.$b();else for(c=!!nnD(t),a=0,o=n.a?f.Kc():f.Ii();o.Ob();)s=CY(o.Pb(),58),(r=CY(UC(n,s),58))?(c?-1==(u=l.dd(r))?l.Gi(a,r):a!=u&&l.Ui(a,r):l.Gi(a,r),++a):n.b&&!c&&(l.Gi(a,s),++a);else null==w?h.Wb(null):null==(r=UC(n,w))?n.b&&!nnD(t)&&h.Wb(w):h.Wb(r)}(n,u,o,t);else if(yP(),CY(s,69).xk()&&(e=CY(s?CY(t,54).gi(s):null,160)))for(g=0,b=CY(o.Mh(s),160),i=e.gc(),w=b.gc();g<w;++g)if(jM(l=b.Tl(g),102)){if(null==(r=UC(n,v=b.Ul(g)))&&null!=v){if(m=CY(l,19),!n.b||(m.Bb&nEI)!=0||nnD(m))continue;r=v}if(!e.Ol(l,r)){for(p=0;p<i;++p)if(e.Tl(p)==l&&ER(e.Ul(p))===ER(r)){e.Ti(e.gc()-1,p),--i;break}}}else e.Ol(b.Tl(g),b.Ul(g))}}(e),Wp(),r=n10,this.n&&i&&r&&(a=new o$,jB(this.e,a)))},nPB.eh=function(n){var t,e,i,r,a;return this.b?null:(e=this,i=this.g,(r=qe(Io(new gz,i>0?i-1:i),e.n)).j=e.j,(a=r).k=e.k,t=a,IA(this.a,t),t.i=this,this.d=n,t)},nPB.fh=function(n){n>0&&!this.b&&qW(this,n)},nPB.b=!1,nPB.c=0,nPB.d=-1,nPB.e=null,nPB.f=null,nPB.g=-1,nPB.j=!1,nPB.k=!1,nPB.n=!1,nPB.o=0,nPB.q=0,nPB.r=0,Nj(nyO,"BasicProgressMonitor",344),ncm(717,205,ngv,oE),nPB.rf=function(n,t){ns9(n,t)},Nj(nyO,"BoxLayoutProvider",717),ncm(983,1,ndy,ws),nPB.Ne=function(n,t){var e,i,r,a,c,o;return e=this,i=CY(n,27),r=CY(t,27),((c=CY(ncx(i,(niH(),nJb)),17))||(c=Qx(0)),(o=CY(ncx(r,nJb),17))||(o=Qx(0)),c.a>o.a)?-1:c.a<o.a?1:e.a&&(0!=(a=Jj(i.j,r.j))||0!=(a=Jj(i.i,r.i)))?a:Jj(i.g*i.f,r.g*r.f)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},nPB.a=!1,Nj(nyO,"BoxLayoutProvider/1",983),ncm(163,1,{163:1},GA,Py),nPB.Ib=function(){return this.c?nuG(this.c):niV(this.b)},Nj(nyO,"BoxLayoutProvider/Group",163),ncm(320,22,{3:1,34:1,22:1,320:1},M9);var nLQ=qc(nyO,"BoxLayoutProvider/PackingMode",320,nPw,function(){return Yw(),Vw(DY(nLQ,1),nbG,320,0,[n1Y,n1W,n1J,n1Q])},function(n){return Yw(),qa((HQ(),n1Z),n)});ncm(984,1,ndy,oT),nPB.Ne=function(n,t){var e,i;return e=CY(n,163),i=CY(t,163),-Jj(Ab(e)*Al(e),Ab(i)*Al(i))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyO,"BoxLayoutProvider/lambda$0$Type",984),ncm(985,1,ndy,oj),nPB.Ne=function(n,t){var e,i;return e=CY(n,163),i=CY(t,163),Jj(Ab(e)*Al(e),Ab(i)*Al(i))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyO,"BoxLayoutProvider/lambda$1$Type",985),ncm(986,1,ndy,oS),nPB.Ne=function(n,t){var e,i;return e=CY(n,163),i=CY(t,163),Jj(Ab(e)*Al(e),Ab(i)*Al(i))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyO,"BoxLayoutProvider/lambda$2$Type",986),ncm(1384,1,{845:1},oP),nPB.Mg=function(n,t){return yu(),!jM(t,167)||(Vy(),noU(CY(n,167),t))},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),ncm(1385,1,nbE,wh),nPB.Cd=function(n){var t,e,i;t=this.a,e=CY(n,149),i=null!=Z4((Yj(),nUZ))&&null!=e.Sg()?pj(PI(e.Sg()))/pj(PI(Z4(nUZ))):1,xM(t.b,e,i)},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),ncm(1386,1,nbE,oI),nPB.Cd=function(n){CY(n,96),yu()},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),ncm(1390,1,nbE,wf),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,96),vZ(xX(new Aa(null,new R$(new fS(t.b),1)),new M7(t,e)),new Et(t,e))},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),ncm(1388,1,nbV,M7),nPB.Mb=function(n){var t,e,i;return t=this.a,e=this.b,i=CY(n,149),!mQ(xX(new Aa(null,new R$(t.c,16)),new f4(new En(e,i)))).Bd((vY(),nCF))},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),ncm(1387,1,nbV,En),nPB.Mb=function(n){var t,e,i;return t=this.a,e=this.b,i=CY(n,845),yu(),i.Mg(t,e)},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),ncm(1389,1,nbE,Et),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,149),e.qf(i,pj(PI(NR(t.b,i)))*t.a)},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),ncm(947,1,{},oA),nPB.Kb=function(n){return TL(n)},nPB.Fb=function(n){return this===n},Nj(nyO,"ElkUtil/lambda$0$Type",947),ncm(948,1,nbE,Ee),nPB.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,vZ(new Aa(null,(!(i=CY(n,74)).a&&(i.a=new Lk(nL5,i,6,6)),new R$(i.a,16))),new Ei(t,e)),vZ(new Aa(null,(!i.n&&(i.n=new Lk(nNt,i,1,7)),new R$(i.n,16))),new Er(t,e)),(r=CY(ncx(i,(nl_(),nJY)),75))&&XU(r,t,e)},nPB.a=0,nPB.b=0,Nj(nyO,"ElkUtil/lambda$1$Type",948),ncm(949,1,nbE,Ei),nPB.Cd=function(n){var t,e;t=this.a,e=this.b,function(n,t,e){var i,r;for(TU(n,n.j+t,n.k+e),r=new j2((!n.a&&(n.a=new jU(nL0,n,5)),n.a));r.e!=r.i.gc();)TF(i=CY(Z6(r),377),i.a+t,i.b+e);TH(n,n.b+t,n.c+e)}(CY(n,166),t,e)},nPB.a=0,nPB.b=0,Nj(nyO,"ElkUtil/lambda$2$Type",949),ncm(950,1,nbE,Er),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,TB(i=CY(n,135),i.i+t,i.j+e)},nPB.a=0,nPB.b=0,Nj(nyO,"ElkUtil/lambda$3$Type",950),ncm(951,1,nbE,wl),nPB.Cd=function(n){var t;jB(this.a,new MH((t=CY(n,377)).a,t.b))},Nj(nyO,"ElkUtil/lambda$4$Type",951),ncm(325,1,{34:1,325:1},da),nPB.Fd=function(n){var t;return t=CY(n,242),this.a<O4(t)?-1:1},nPB.Fb=function(n){var t;return!!jM(n,325)&&(t=CY(n,325),this.a==t.a)},nPB.Hb=function(){return Dy(this.a)},nPB.Ib=function(){return this.a+" (exclusive)"},nPB.a=0,Nj(nyO,"ExclusiveBounds/ExclusiveLowerBound",325),ncm(1119,205,ngv,oL),nPB.rf=function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;for(t.Ug("Fixed Layout",1),a=CY(ncx(n,(nl_(),nJ_)),223),l=0,b=0,m=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));m.e!=m.i.gc();){for(g=CY(Z6(m),27),(T=CY(ncx(g,(Wk(),nZT)),8))&&(TB(g,T.a,T.b),CY(ncx(g,nZv),181).Hc((YZ(),n1P))&&(w=CY(ncx(g,nZk),8)).a>0&&w.b>0&&nf9(g,w.a,w.b,!0,!0)),l=nP_.Math.max(l,g.i+g.g),b=nP_.Math.max(b,g.j+g.f),h=new j2((!g.n&&(g.n=new Lk(nNt,g,1,7)),g.n));h.e!=h.i.gc();)o=CY(Z6(h),135),(T=CY(ncx(o,nZT),8))&&TB(o,T.a,T.b),l=nP_.Math.max(l,g.i+o.i+o.g),b=nP_.Math.max(b,g.j+o.j+o.f);for(k=new j2((!g.c&&(g.c=new Lk(nNi,g,9,9)),g.c));k.e!=k.i.gc();)for(y=CY(Z6(k),123),(T=CY(ncx(y,nZT),8))&&TB(y,T.a,T.b),M=g.i+y.i,E=g.j+y.j,l=nP_.Math.max(l,M+y.g),b=nP_.Math.max(b,E+y.f),u=new j2((!y.n&&(y.n=new Lk(nNt,y,1,7)),y.n));u.e!=u.i.gc();)o=CY(Z6(u),135),(T=CY(ncx(o,nZT),8))&&TB(o,T.a,T.b),l=nP_.Math.max(l,M+o.i+o.g),b=nP_.Math.max(b,E+o.j+o.f);for(r=new Le(Sb(nc5(g).a.Kc(),new s));ncv(r);)f=nle(e=CY(_I(r),74)),l=nP_.Math.max(l,f.a),b=nP_.Math.max(b,f.b);for(i=new Le(Sb(nc6(g).a.Kc(),new s));ncv(i);)DV(niU(e=CY(_I(i),74)))!=n&&(f=nle(e),l=nP_.Math.max(l,f.a),b=nP_.Math.max(b,f.b))}if(a==(JG(),nZc))for(p=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));p.e!=p.i.gc();)for(i=new Le(Sb(nc5(g=CY(Z6(p),27)).a.Kc(),new s));ncv(i);)0==(c=function(n){var t;if(1!=(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i)throw new pN(nEo+(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i).e;return t=new gj,Ve(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84))&&Xx(t,nlC(n,Ve(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)),!1)),Ve(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84))&&Xx(t,nlC(n,Ve(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84)),!0)),t}(e=CY(_I(i),74))).b?nnh(e,nJY,null):nnh(e,nJY,c);pT(PC(ncx(n,(Wk(),nZy))))||(d=l+(v=CY(ncx(n,nZM),107)).b+v.c,nf9(n,d,b+v.d+v.a,!0,!0)),t.Vg()},Nj(nyO,"FixedLayoutProvider",1119),ncm(385,137,{3:1,423:1,385:1,96:1,137:1},oN,Ud),nPB.cg=function(n){var t,e,i,r,a,c,o;if(n)try{for(c=ns7(n,";,;"),r=0,a=c.length;r<a;++r){if(i=c[r],t=ns7(i,"\\:"),!(e=nfT(qk(),t[0])))throw new pN("Invalid option id: "+t[0]).e;if(o=nfd(e,t[1]),null==o)throw new pN("Invalid option value: "+t[1]).e;null==o?(this.q||(this.q=new dc),_Y(this.q,e)):(this.q||(this.q=new dc),xM(this.q,e,o))}}catch(n){if(jM(n=Vt(n),103))throw new WK(n).e;throw n.e}},nPB.Ib=function(){return PA(FB(xz((!this.q?($O(),$O(),nOB):this.q).vc().Oc(),new ox),HZ(new C0,new J,new G,new q,Vw(DY(nCi,1),nbG,108,0,[]))))};var nLJ=Nj(nyO,"IndividualSpacings",385);ncm(982,1,{},ox),nPB.Kb=function(n){var t;return t=CY(n,44),CY(t.ld(),149).Pg()+":"+J2(t.md())},Nj(nyO,"IndividualSpacings/lambda$0$Type",982),ncm(718,1,{},Am),nPB.c=0,Nj(nyO,"InstancePool",718),ncm(1835,1,{},o$),Nj(nyO,"LoggedGraph",1835),ncm(415,22,{3:1,34:1,22:1,415:1},Em);var nLY=qc(nyO,"LoggedGraph/Type",415,nPw,function(){return Wp(),Vw(DY(nLY,1),nbG,415,0,[n10,n12,n11,n13])},function(n){return Wp(),qa((HJ(),n14),n)});ncm(1063,1,{871:1},oD),nPB.Ug=function(n,t){return!1},nPB.Vg=function(){},nPB.Wg=function(){return 0},nPB.Xg=function(){return null},nPB.Yg=function(){return null},nPB.Zg=function(){return null},nPB.$g=function(){return!1},nPB._g=function(){return!1},nPB.ah=function(){return!1},nPB.bh=function(n){},nPB.dh=function(n,t){},nPB.eh=function(n){return this},nPB.fh=function(n){},Nj(nyO,"NullElkProgressMonitor",1063),ncm(42,1,{20:1,42:1},Ea),nPB.Jc=function(n){_r(this,n)},nPB.Fb=function(n){var t,e,i;return!!jM(n,42)&&(e=CY(n,42),t=null==this.a?null==e.a:QY(this.a,e.a),i=null==this.b?null==e.b:QY(this.b,e.b),t&&i)},nPB.Hb=function(){var n,t;return n=null==this.a?0:XS(this.a),n&nb9^(-65536&(t=null==this.b?0:XS(this.b)))>>16&nb9|-65536&n^(t&nb9)<<16},nPB.Kc=function(){return new wb(this)},nPB.Ib=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+J2(this.b)+")":null==this.b?"pair("+J2(this.a)+",null)":"pair("+J2(this.a)+","+J2(this.b)+")"},Nj(nyO,"Pair",42),ncm(995,1,nbu,wb),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},nPB.Pb=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw(new dF).e},nPB.Qb=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),(new dx).e},nPB.b=!1,nPB.c=!1,Nj(nyO,"Pair/1",995),ncm(455,1,{455:1},x8),nPB.Fb=function(n){return xL(this.a,CY(n,455).a)&&xL(this.c,CY(n,455).c)&&xL(this.d,CY(n,455).d)&&xL(this.b,CY(n,455).b)},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[this.a,this.c,this.d,this.b]))},nPB.Ib=function(){return"("+this.a+nl8+this.c+nl8+this.d+nl8+this.b+")"},Nj(nyO,"Quadruple",455),ncm(1108,205,ngv,oC),nPB.rf=function(n,t){var e,i,r,a,c;(t.Ug("Random Layout",1),0==(!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a).i)?t.Vg():(i=(r=CY(ncx(n,(YY(),n1j)),17))&&0!=r.a?new FG(r.a):new Yl,xf(a=PI(ncx(n,n1M))),xf(c=PI(ncx(n,n1S))),e=CY(ncx(n,n1E),107),function(n,t,e,i,r){var a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;for(v=0,d=0,w=0,b=1,m=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));m.e!=m.i.gc();)b+=Fv(new Le(Sb(nc5(g=CY(Z6(m),27)).a.Kc(),new s))),E=g.g,d=nP_.Math.max(d,E),l=g.f,w=nP_.Math.max(w,l),v+=E*l;for(c=v+2*i*i*b*(!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a).i,a=nP_.Math.sqrt(c),u=nP_.Math.max(a*e,d),o=nP_.Math.max(a/e,w),p=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));p.e!=p.i.gc();)g=CY(Z6(p),27),T=r.b+(nc8(t,26)*nw8+nc8(t,27)*nw9)*(u-g.g),j=r.b+(nc8(t,26)*nw8+nc8(t,27)*nw9)*(o-g.f),GZ(g,T),G1(g,j);for(M=u+(r.b+r.c),k=o+(r.d+r.a),y=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));y.e!=y.i.gc();)for(f=new Le(Sb(nc5(CY(Z6(y),27)).a.Kc(),new s));ncv(f);)nco(h=CY(_I(f),74))||function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A,L,N,x;if(v=(p=CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)).nh(),y=p.oh(),m=p.mh()/2,b=p.lh()/2,jM(p,193)&&(v+=DP(g=CY(p,123)).i,v+=DP(g).i),v+=m,y+=b,P=(j=CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)).nh(),O=j.oh(),S=j.mh()/2,k=j.lh()/2,jM(j,193)&&(P+=DP(T=CY(j,123)).i,P+=DP(T).i),P+=S,O+=k,0==(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i)mk(),o=new o_,B7((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),o);else if((!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i>1)for(l=new SW((!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a));l.e!=l.i.gc();)neH(l);for(c=CY(GO((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),0),166),w=P,P>v+m?w=v+m:P<v-m&&(w=v-m),d=O,O>y+b?d=y+b:O<y-b&&(d=y-b),w>v-m&&w<v+m&&d>y-b&&d<y+b&&(w=v+m),G0(c,w),G3(c,d),M=v,v>P+S?M=P+S:v<P-S&&(M=P-S),E=y,y>O+k?E=O+k:y<O-k&&(E=O-k),M>P-S&&M<P+S&&E>O-k&&E<O+k&&(E=O+k),GQ(c,M),G2(c,E),nft((c.a||(c.a=new jU(nL0,c,5)),c.a)),a=nnC(t,5),p==j&&++a,I=M-w,N=E-d,s=.20000000298023224*nP_.Math.sqrt(I*I+N*N),A=I/(a+1),x=N/(a+1),C=w,L=d,u=0;u<a;u++)C+=A,L+=x,(h=C+nc8(t,24)*ndn*s-s/2)<0?h=1:h>e&&(h=e-1),(f=L+nc8(t,24)*ndn*s-s/2)<0?f=1:f>i&&(f=i-1),mk(),G4(r=new oR,h),GW(r,f),B7((c.a||(c.a=new jU(nL0,c,5)),c.a),r)}(h,t,M,k);nf9(n,M+=r.b+r.c,k+=r.d+r.a,!1,!0)}(n,i,a,c,e),t.Vg())},Nj(nyO,"RandomLayoutProvider",1108),ncm(240,1,{240:1},CO),nPB.Fb=function(n){return xL(this.a,CY(n,240).a)&&xL(this.b,CY(n,240).b)&&xL(this.c,CY(n,240).c)},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[this.a,this.b,this.c]))},nPB.Ib=function(){return"("+this.a+nl8+this.b+nl8+this.c+")"},Nj(nyO,"Triple",240),ncm(562,1,{}),nPB.Lf=function(){return new MH(this.f.i,this.f.j)},nPB.of=function(n){return $5(n,(nl_(),nYm))?ncx(this.f,n15):ncx(this.f,n)},nPB.Mf=function(){return new MH(this.f.g,this.f.f)},nPB.Nf=function(){return this.g},nPB.pf=function(n){return Bz(this.f,n)},nPB.Of=function(n){GZ(this.f,n.a),G1(this.f,n.b)},nPB.Pf=function(n){GY(this.f,n.a),GJ(this.f,n.b)},nPB.Qf=function(n){this.g=n},nPB.g=0,Nj(nEu,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),ncm(563,1,{853:1},ww),nPB.Rf=function(){var n,t;if(!this.b)for(this.b=K_(xx(this.a).i),t=new j2(xx(this.a));t.e!=t.i.gc();)n=CY(Z6(t),135),jB(this.b,new pk(n));return this.b},nPB.b=null,Nj(nEu,"ElkGraphAdapters/ElkEdgeAdapter",563),ncm(289,562,{},py),nPB.Sf=function(){return ntv(this)},nPB.a=null,Nj(nEu,"ElkGraphAdapters/ElkGraphAdapter",289),ncm(640,562,{187:1},pk),Nj(nEu,"ElkGraphAdapters/ElkLabelAdapter",640),ncm(639,562,{695:1},Sq),nPB.Rf=function(){var n,t;if(!this.b)for(this.b=K_(CY(this.f,27).kh().i),t=new j2(CY(this.f,27).kh());t.e!=t.i.gc();)n=CY(Z6(t),135),jB(this.b,new pk(n));return this.b},nPB.Vf=function(){var n;return(n=CY(ncx(this.f,(nl_(),nJ1)),140))||(n=new gd),n},nPB.Xf=function(){var n,t;if(!this.e)for(this.e=K_(x$(CY(this.f,27)).i),t=new j2(x$(CY(this.f,27)));t.e!=t.i.gc();)n=CY(Z6(t),123),jB(this.e,new wd(n));return this.e},nPB.Zf=function(n){var t;t=new CU(n),nnh(this.f,(nl_(),nJ1),t)},nPB.$f=function(n){nnh(this.f,(nl_(),nYa),new CG(n))},nPB.Tf=function(){return this.d},nPB.Uf=function(){var n,t;if(!this.a)for(this.a=new du,t=new Le(Sb(nc6(CY(this.f,27)).a.Kc(),new s));ncv(t);)n=CY(_I(t),74),jB(this.a,new ww(n));return this.a},nPB.Wf=function(){var n,t;if(!this.c)for(this.c=new du,t=new Le(Sb(nc5(CY(this.f,27)).a.Kc(),new s));ncv(t);)n=CY(_I(t),74),jB(this.c,new ww(n));return this.c},nPB.Yf=function(){return 0!=$L(CY(this.f,27)).i||pT(PC(CY(this.f,27).of((nl_(),nJV))))},nPB._f=function(){var n;yv(),n=n16,Oq(CY(CY(this.f,27).of((nl_(),nYv)),101))&&function(n,t){var e,i,r;for(PR(),HM(i=HF(n),0,i.length,t),e=0;e<i.length;e++)r=function(n,t,e){var i,r,a;for(e<0&&(e=0),a=n.i,r=e;r<a;r++)if(i=GO(n,r),null==t){if(null==i)return r}else if(ER(t)===ER(i)||QY(t,i))return r;return -1}(n,i[e],e),e!=r&&Jp(n,e,r)}(x$(CY(this.f,27)),n)},nPB.a=null,nPB.b=null,nPB.c=null,nPB.d=null,nPB.e=null,Nj(nEu,"ElkGraphAdapters/ElkNodeAdapter",639),ncm(1284,562,{852:1},wd),nPB.Rf=function(){var n,t;if(!this.b)for(this.b=K_(CY(this.f,123).kh().i),t=new j2(CY(this.f,123).kh());t.e!=t.i.gc();)n=CY(Z6(t),135),jB(this.b,new pk(n));return this.b},nPB.Uf=function(){var n,t;if(!this.a)for(this.a=SY(CY(this.f,123).hh().i),t=new j2(CY(this.f,123).hh());t.e!=t.i.gc();)n=CY(Z6(t),74),jB(this.a,new ww(n));return this.a},nPB.Wf=function(){var n,t;if(!this.c)for(this.c=SY(CY(this.f,123).ih().i),t=new j2(CY(this.f,123).ih());t.e!=t.i.gc();)n=CY(Z6(t),74),jB(this.c,new ww(n));return this.c},nPB.ag=function(){return CY(CY(this.f,123).of((nl_(),nYS)),64)},nPB.bg=function(){var n,t,e,i,r,a,c;for(i=DP(CY(this.f,123)),e=new j2(CY(this.f,123).ih());e.e!=e.i.gc();)for(c=new j2((!(n=CY(Z6(e),74)).c&&(n.c=new Ox(nL4,n,5,8)),n.c));c.e!=c.i.gc();)if(Gw(niw(a=CY(Z6(c),84)),i)||niw(a)==i&&pT(PC(ncx(n,(nl_(),nJW)))))return!0;for(t=new j2(CY(this.f,123).hh());t.e!=t.i.gc();)for(r=new j2((!(n=CY(Z6(t),74)).b&&(n.b=new Ox(nL4,n,4,7)),n.b));r.e!=r.i.gc();)if(Gw(niw(CY(Z6(r),84)),i))return!0;return!1},nPB.a=null,nPB.b=null,nPB.c=null,Nj(nEu,"ElkGraphAdapters/ElkPortAdapter",1284),ncm(1285,1,ndy,oO),nPB.Ne=function(n,t){return function(n,t){var e,i,r,a;if(0!=(a=CY(ncx(n,(nl_(),nYS)),64).g-CY(ncx(t,nYS),64).g))return a;if(e=CY(ncx(n,nYk),17),i=CY(ncx(t,nYk),17),e&&i&&0!=(r=e.a-i.a))return r;switch(CY(ncx(n,nYS),64).g){case 1:return Jj(n.i,t.i);case 2:return Jj(n.j,t.j);case 3:return Jj(t.i,n.i);case 4:return Jj(t.j,n.j);default:throw new px(npB).e}}(CY(n,123),CY(t,123))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nEu,"ElkGraphAdapters/PortComparator",1285);var nLZ=IH(nEs,"EObject"),nL1=IH(nEh,nEf),nL0=IH(nEh,nEl),nL2=IH(nEh,nEb),nL3=IH(nEh,"ElkShape"),nL4=IH(nEh,nEw),nL6=IH(nEh,nEd),nL5=IH(nEh,nEg),nL8=IH(nEs,nEp),nL9=IH(nEs,"EFactory"),nL7=IH(nEs,nEm),nNn=IH(nEs,"EPackage"),nNt=IH(nEh,nEv),nNe=IH(nEh,nEy),nNi=IH(nEh,nEk);ncm(93,1,nEM),nPB.th=function(){return this.uh(),null},nPB.uh=function(){return null},nPB.vh=function(){return this.uh(),!1},nPB.wh=function(){return!1},nPB.xh=function(n){zP(this,n)},Nj(nEE,"BasicNotifierImpl",93),ncm(99,93,nEA),nPB.Yh=function(){return TN(this)},nPB.yh=function(n,t){return n},nPB.zh=function(){throw(new dD).e},nPB.Ah=function(n){var t;return t=nnD(CY(Gt(this.Dh(),this.Fh()),19)),this.Ph().Th(this,t.n,t.f,n)},nPB.Bh=function(n,t){throw(new dD).e},nPB.Ch=function(n,t,e){return nsP(this,n,t,e)},nPB.Dh=function(){var n;return this.zh()&&(n=this.zh().Nk())?n:this.ii()},nPB.Eh=function(){return ncs(this)},nPB.Fh=function(){throw(new dD).e},nPB.Gh=function(){var n,t;return(t=this.$h().Ok())||this.zh().Tk((yT(),t=null==(n=Do(nhr(this.Dh())))?n2D:new SU(this,n))),t},nPB.Hh=function(n,t){return n},nPB.Ih=function(n){return n.pk()?n.Lj():Ym(this.Dh(),n)},nPB.Jh=function(){var n;return(n=this.zh())?n.Qk():null},nPB.Kh=function(){return this.zh()?this.zh().Nk():null},nPB.Lh=function(n,t,e){return nnd(this,n,t,e)},nPB.Mh=function(n){return Hw(this,n)},nPB.Nh=function(n,t){return _K(this,n,t)},nPB.Oh=function(){var n;return!!(n=this.zh())&&n.Rk()},nPB.Ph=function(){throw(new dD).e},nPB.Qh=function(){return Zy(this)},nPB.Rh=function(n,t,e,i){return nnu(this,n,t,i)},nPB.Sh=function(n,t,e){return CY(Gt(this.Dh(),t),69).wk().zk(this,this.hi(),t-this.ji(),n,e)},nPB.Th=function(n,t,e,i){return Da(this,n,t,i)},nPB.Uh=function(n,t,e){return CY(Gt(this.Dh(),t),69).wk().Ak(this,this.hi(),t-this.ji(),n,e)},nPB.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},nPB.Wh=function(n){return Z2(this,n)},nPB.Xh=function(n){return DK(this,n)},nPB.Zh=function(n){return nfB(this,n)},nPB.$h=function(){throw(new dD).e},nPB._h=function(){return this.zh()?this.zh().Pk():null},nPB.ai=function(){return Zy(this)},nPB.bi=function(n,t){nr9(this,n,t)},nPB.ci=function(n){this.$h().Sk(n)},nPB.di=function(n){this.$h().Vk(n)},nPB.ei=function(n){this.$h().Uk(n)},nPB.fi=function(n,t){var e,i,r,a;return(a=this.Jh())&&n&&(t=nnw(a.El(),this,t),a.Il(this)),(i=this.Ph())&&((nst(this,this.Ph(),this.Fh()).Bb&nwG)!=0?(r=i.Qh())&&(n?a||r.Il(this):r.Hl(this)):(t=(e=this.Fh())>=0?this.Ah(t):this.Ph().Th(this,-1-e,null,t),t=this.Ch(null,-1,t))),this.di(n),t},nPB.gi=function(n){var t,e,i,r,a,c,o;if((a=Ym(e=this.Dh(),n))>=(t=this.ji()))return CY(n,69).wk().Dk(this,this.hi(),a-t);if(a<=-1)if(c=nff((nrR(),n28),e,n)){if(yP(),CY(c,69).xk()||(c=Rz(Ua(n28,c))),r=CY((i=this.Ih(c))>=0?this.Lh(i,!0,!0):naB(this,c,!0),160),(o=c.Ik())>1||-1==o)return CY(CY(r,220).Sl(n,!1),79)}else throw new pN(nET+n.xe()+nEP).e;else if(n.Jk())return CY((i=this.Ih(n))>=0?this.Lh(i,!1,!0):naB(this,n,!1),79);return new ES(this,n)},nPB.hi=function(){return Um(this)},nPB.ii=function(){return(NN(),n2c).S},nPB.ji=function(){return N$(this.ii())},nPB.ki=function(n){nrI(this,n)},nPB.Ib=function(){return ncG(this)},Nj(nEL,"BasicEObjectImpl",99),ncm(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),nPB.li=function(n){return Up(this)[n]},nPB.mi=function(n,t){NK(Up(this),n,t)},nPB.ni=function(n){NK(Up(this),n,null)},nPB.th=function(){return CY(zA(this,4),129)},nPB.uh=function(){throw(new dD).e},nPB.vh=function(){return(4&this.Db)!=0},nPB.zh=function(){throw(new dD).e},nPB.oi=function(n){Zv(this,2,n)},nPB.Bh=function(n,t){this.Db=t<<16|255&this.Db,this.oi(n)},nPB.Dh=function(){return Dt(this)},nPB.Fh=function(){return this.Db>>16},nPB.Gh=function(){var n;return yT(),null==(n=Do(nhr(CY(zA(this,16),29)||this.ii())))?n2D:new SU(this,n)},nPB.wh=function(){return(1&this.Db)==0},nPB.Jh=function(){return CY(zA(this,128),2034)},nPB.Kh=function(){return CY(zA(this,16),29)},nPB.Oh=function(){return(32&this.Db)!=0},nPB.Ph=function(){return CY(zA(this,2),54)},nPB.Vh=function(){return(64&this.Db)!=0},nPB.$h=function(){throw(new dD).e},nPB._h=function(){return CY(zA(this,64),288)},nPB.ci=function(n){Zv(this,16,n)},nPB.di=function(n){Zv(this,128,n)},nPB.ei=function(n){Zv(this,64,n)},nPB.hi=function(){return Zm(this)},nPB.Db=0,Nj(nEL,"MinimalEObjectImpl",119),ncm(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),nPB.oi=function(n){this.Cb=n},nPB.Ph=function(){return this.Cb},Nj(nEL,"MinimalEObjectImpl/Container",120),ncm(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),nPB.Lh=function(n,t,e){return ntA(this,n,t,e)},nPB.Uh=function(n,t,e){return ni4(this,n,t,e)},nPB.Wh=function(n){return Ks(this,n)},nPB.bi=function(n,t){Ws(this,n,t)},nPB.ii=function(){return nly(),n0s},nPB.ki=function(n){VC(this,n)},nPB.nf=function(){return Z3(this)},nPB.gh=function(){return this.o||(this.o=new Hs((nly(),n0o),nNc,this,0)),this.o},nPB.of=function(n){return ncx(this,n)},nPB.pf=function(n){return Bz(this,n)},nPB.qf=function(n,t){return nnh(this,n,t)},Nj(nEN,"EMapPropertyHolderImpl",2083),ncm(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},oR),nPB.Lh=function(n,t,e){switch(n){case 0:return this.a;case 1:return this.b}return nnd(this,n,t,e)},nPB.Wh=function(n){switch(n){case 0:return 0!=this.a;case 1:return 0!=this.b}return Z2(this,n)},nPB.bi=function(n,t){switch(n){case 0:G4(this,pj(PI(t)));return;case 1:GW(this,pj(PI(t)));return}nr9(this,n,t)},nPB.ii=function(){return nly(),n17},nPB.ki=function(n){switch(n){case 0:G4(this,0);return;case 1:GW(this,0);return}nrI(this,n)},nPB.Ib=function(){var n;return(64&this.Db)!=0?ncG(this):(n=new Sm(ncG(this)),n.a+=" (x: ",mA(n,this.a),n.a+=", y: ",mA(n,this.b),n.a+=")",n.a)},nPB.a=0,nPB.b=0,Nj(nEN,"ElkBendPointImpl",572),ncm(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}),nPB.Lh=function(n,t,e){return Jg(this,n,t,e)},nPB.Sh=function(n,t,e){return niy(this,n,t,e)},nPB.Uh=function(n,t,e){return z5(this,n,t,e)},nPB.Wh=function(n){return zK(this,n)},nPB.bi=function(n,t){neK(this,n,t)},nPB.ii=function(){return nly(),n0i},nPB.ki=function(n){QC(this,n)},nPB.jh=function(){return this.k},nPB.kh=function(){return xx(this)},nPB.Ib=function(){return JN(this)},nPB.k=null,Nj(nEN,"ElkGraphElementImpl",739),ncm(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}),nPB.Lh=function(n,t,e){return J4(this,n,t,e)},nPB.Wh=function(n){return Ys(this,n)},nPB.bi=function(n,t){neF(this,n,t)},nPB.ii=function(){return nly(),n0u},nPB.ki=function(n){YN(this,n)},nPB.lh=function(){return this.f},nPB.mh=function(){return this.g},nPB.nh=function(){return this.i},nPB.oh=function(){return this.j},nPB.ph=function(n,t){T_(this,n,t)},nPB.qh=function(n,t){TB(this,n,t)},nPB.rh=function(n){GZ(this,n)},nPB.sh=function(n){G1(this,n)},nPB.Ib=function(){return nri(this)},nPB.f=0,nPB.g=0,nPB.i=0,nPB.j=0,Nj(nEN,"ElkShapeImpl",740),ncm(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}),nPB.Lh=function(n,t,e){return nnq(this,n,t,e)},nPB.Sh=function(n,t,e){return neE(this,n,t,e)},nPB.Uh=function(n,t,e){return neT(this,n,t,e)},nPB.Wh=function(n){return We(this,n)},nPB.bi=function(n,t){ncS(this,n,t)},nPB.ii=function(){return nly(),n0n},nPB.ki=function(n){nns(this,n)},nPB.hh=function(){return this.d||(this.d=new Ox(nL6,this,8,5)),this.d},nPB.ih=function(){return this.e||(this.e=new Ox(nL6,this,7,4)),this.e},Nj(nEN,"ElkConnectableShapeImpl",741),ncm(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},oF),nPB.Ah=function(n){return nee(this,n)},nPB.Lh=function(n,t,e){switch(n){case 3:return DS(this);case 4:return this.b||(this.b=new Ox(nL4,this,4,7)),this.b;case 5:return this.c||(this.c=new Ox(nL4,this,5,8)),this.c;case 6:return this.a||(this.a=new Lk(nL5,this,6,6)),this.a;case 7:return SB(),this.b||(this.b=new Ox(nL4,this,4,7)),!(this.b.i<=1)||(this.c||(this.c=new Ox(nL4,this,5,8)),!(this.c.i<=1));case 8:return SB(),!!nco(this);case 9:return SB(),!!na$(this);case 10:return SB(),this.b||(this.b=new Ox(nL4,this,4,7)),0!=this.b.i&&(this.c||(this.c=new Ox(nL4,this,5,8)),0!=this.c.i)}return Jg(this,n,t,e)},nPB.Sh=function(n,t,e){var i,r;switch(t){case 3:return this.Cb&&(e=(i=this.Db>>16)>=0?nee(this,e):this.Cb.Th(this,-1-i,null,e)),r=this,nsP(r,CY(n,27),3,e);case 4:return this.b||(this.b=new Ox(nL4,this,4,7)),YU(this.b,n,e);case 5:return this.c||(this.c=new Ox(nL4,this,5,8)),YU(this.c,n,e);case 6:return this.a||(this.a=new Lk(nL5,this,6,6)),YU(this.a,n,e)}return niy(this,n,t,e)},nPB.Uh=function(n,t,e){switch(t){case 3:var i;return i=this,nsP(i,null,3,e);case 4:return this.b||(this.b=new Ox(nL4,this,4,7)),nnw(this.b,n,e);case 5:return this.c||(this.c=new Ox(nL4,this,5,8)),nnw(this.c,n,e);case 6:return this.a||(this.a=new Lk(nL5,this,6,6)),nnw(this.a,n,e)}return z5(this,n,t,e)},nPB.Wh=function(n){switch(n){case 3:return!!DS(this);case 4:return!!this.b&&0!=this.b.i;case 5:return!!this.c&&0!=this.c.i;case 6:return!!this.a&&0!=this.a.i;case 7:return this.b||(this.b=new Ox(nL4,this,4,7)),!(this.b.i<=1&&(this.c||(this.c=new Ox(nL4,this,5,8)),this.c.i<=1));case 8:return nco(this);case 9:return na$(this);case 10:return this.b||(this.b=new Ox(nL4,this,4,7)),0!=this.b.i&&(this.c||(this.c=new Ox(nL4,this,5,8)),0!=this.c.i)}return zK(this,n)},nPB.bi=function(n,t){switch(n){case 3:noo(this,CY(t,27));return;case 4:this.b||(this.b=new Ox(nL4,this,4,7)),nft(this.b),this.b||(this.b=new Ox(nL4,this,4,7)),Nu(this.b,CY(t,16));return;case 5:this.c||(this.c=new Ox(nL4,this,5,8)),nft(this.c),this.c||(this.c=new Ox(nL4,this,5,8)),Nu(this.c,CY(t,16));return;case 6:this.a||(this.a=new Lk(nL5,this,6,6)),nft(this.a),this.a||(this.a=new Lk(nL5,this,6,6)),Nu(this.a,CY(t,16));return}neK(this,n,t)},nPB.ii=function(){return nly(),n0t},nPB.ki=function(n){switch(n){case 3:noo(this,null);return;case 4:this.b||(this.b=new Ox(nL4,this,4,7)),nft(this.b);return;case 5:this.c||(this.c=new Ox(nL4,this,5,8)),nft(this.c);return;case 6:this.a||(this.a=new Lk(nL5,this,6,6)),nft(this.a);return}QC(this,n)},nPB.Ib=function(){return nhG(this)},Nj(nEN,"ElkEdgeImpl",326),ncm(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},o_),nPB.Ah=function(n){return nt3(this,n)},nPB.Lh=function(n,t,e){switch(n){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 jU(nL0,this,5)),this.a;case 6:return DO(this);case 7:if(t)return nn$(this);return this.i;case 8:if(t)return nnx(this);return this.f;case 9:return this.g||(this.g=new Ox(nL5,this,9,10)),this.g;case 10:return this.e||(this.e=new Ox(nL5,this,10,9)),this.e;case 11:return this.d}return ntA(this,n,t,e)},nPB.Sh=function(n,t,e){var i,r;switch(t){case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?nt3(this,e):this.Cb.Th(this,-1-i,null,e)),r=this,nsP(r,CY(n,74),6,e);case 9:return this.g||(this.g=new Ox(nL5,this,9,10)),YU(this.g,n,e);case 10:return this.e||(this.e=new Ox(nL5,this,10,9)),YU(this.e,n,e)}return CY(Gt(CY(zA(this,16),29)||(nly(),n0e),t),69).wk().zk(this,Zm(this),t-N$((nly(),n0e)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 5:return this.a||(this.a=new jU(nL0,this,5)),nnw(this.a,n,e);case 6:var i;return i=this,nsP(i,null,6,e);case 9:return this.g||(this.g=new Ox(nL5,this,9,10)),nnw(this.g,n,e);case 10:return this.e||(this.e=new Ox(nL5,this,10,9)),nnw(this.e,n,e)}return ni4(this,n,t,e)},nPB.Wh=function(n){switch(n){case 1:return 0!=this.j;case 2:return 0!=this.k;case 3:return 0!=this.b;case 4:return 0!=this.c;case 5:return!!this.a&&0!=this.a.i;case 6:return!!DO(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&0!=this.g.i;case 10:return!!this.e&&0!=this.e.i;case 11:return null!=this.d}return Ks(this,n)},nPB.bi=function(n,t){switch(n){case 1:G0(this,pj(PI(t)));return;case 2:G3(this,pj(PI(t)));return;case 3:GQ(this,pj(PI(t)));return;case 4:G2(this,pj(PI(t)));return;case 5:this.a||(this.a=new jU(nL0,this,5)),nft(this.a),this.a||(this.a=new jU(nL0,this,5)),Nu(this.a,CY(t,16));return;case 6:noc(this,CY(t,74));return;case 7:q0(this,CY(t,84));return;case 8:q1(this,CY(t,84));return;case 9:this.g||(this.g=new Ox(nL5,this,9,10)),nft(this.g),this.g||(this.g=new Ox(nL5,this,9,10)),Nu(this.g,CY(t,16));return;case 10:this.e||(this.e=new Ox(nL5,this,10,9)),nft(this.e),this.e||(this.e=new Ox(nL5,this,10,9)),Nu(this.e,CY(t,16));return;case 11:Xe(this,PA(t));return}Ws(this,n,t)},nPB.ii=function(){return nly(),n0e},nPB.ki=function(n){switch(n){case 1:G0(this,0);return;case 2:G3(this,0);return;case 3:GQ(this,0);return;case 4:G2(this,0);return;case 5:this.a||(this.a=new jU(nL0,this,5)),nft(this.a);return;case 6:noc(this,null);return;case 7:q0(this,null);return;case 8:q1(this,null);return;case 9:this.g||(this.g=new Ox(nL5,this,9,10)),nft(this.g);return;case 10:this.e||(this.e=new Ox(nL5,this,10,9)),nft(this.e);return;case 11:Xe(this,null);return}VC(this,n)},nPB.Ib=function(){return na9(this)},nPB.b=0,nPB.c=0,nPB.d=null,nPB.j=0,nPB.k=0,Nj(nEN,"ElkEdgeSectionImpl",452),ncm(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),nPB.Lh=function(n,t,e){return 0==n?(this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab):HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Sh=function(n,t,e){return 0==t?(this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e)):CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().zk(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Uh=function(n,t,e){return 0==t?(this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e)):CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().Ak(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Wh=function(n){return 0==n?!!this.Ab&&0!=this.Ab.i:Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.Zh=function(n){return nf8(this,n)},nPB.bi=function(n,t){if(0===n){this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.di=function(n){Zv(this,128,n)},nPB.ii=function(){return nlq(),n2m},nPB.ki=function(n){if(0===n){this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.pi=function(){this.Bb|=1},nPB.qi=function(n){return nsA(this,n)},nPB.Bb=0,Nj(nEL,"EModelElementImpl",158),ncm(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},hU),nPB.ri=function(n,t){return nfL(this,n,t)},nPB.si=function(n){var t,e,i,r;if(this.a!=GT(n)||(256&n.Bb)!=0)throw new pN(nEF+n.zb+nED).e;for(e=$7(n);0!=FS(e.a).i;){if(nty(t=CY(nfp(e,0,jM(r=CY(GO(FS(e.a),0),89).c,90)?CY(r,29):(nlq(),n2y)),29)))return CY(i=GT(t).wi().si(t),54).ci(n),i;e=$7(t)}return(null!=n.D?n.D:n.B)=="java.util.Map$Entry"?new IK(n):new Il(n)},nPB.ti=function(n,t){return nlE(this,n,t)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.a}return HE(this,n-N$((nlq(),n2d)),Gt(CY(zA(this,16),29)||n2d,n),t,e)},nPB.Sh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 1:return this.a&&(e=CY(this.a,54).Th(this,4,nNn,e)),QT(this,CY(n,241),e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2d),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2d)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 1:return QT(this,null,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2d),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2d)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return!!this.a}return Fr(this,n-N$((nlq(),n2d)),Gt(CY(zA(this,16),29)||n2d,n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:niQ(this,CY(t,241));return}J5(this,n-N$((nlq(),n2d)),Gt(CY(zA(this,16),29)||n2d,n),t)},nPB.ii=function(){return nlq(),n2d},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:niQ(this,null);return}QZ(this,n-N$((nlq(),n2d)),Gt(CY(zA(this,16),29)||n2d,n))},Nj(nEL,"EFactoryImpl",720),ncm(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},oB),nPB.ri=function(n,t){switch(n.hk()){case 12:return CY(t,149).Pg();case 13:return J2(t);default:throw new pN(nE$+n.xe()+nED).e}},nPB.si=function(n){var t;switch(-1==n.G&&(n.G=(t=GT(n))?nnm(t.vi(),n):-1),n.G){case 4:return new oH;case 6:return new gE;case 7:return new gT;case 8:return new oF;case 9:return new oR;case 10:return new o_;case 11:return new oU;default:throw new pN(nEF+n.zb+nED).e}},nPB.ti=function(n,t){switch(n.hk()){case 13:case 12:return null;default:throw new pN(nE$+n.xe()+nED).e}},Nj(nEN,"ElkGraphFactoryImpl",1037),ncm(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}),nPB.Gh=function(){var n;return null==(n=Do(nhr(CY(zA(this,16),29)||this.ii())))?(yT(),yT(),n2D):new Pg(this,n)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.xe()}return HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb}return Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:this.ui(PA(t));return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.ii=function(){return nlq(),n2v},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:this.ui(null);return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.xe=function(){return this.zb},nPB.ui=function(n){XC(this,n)},nPB.Ib=function(){return QG(this)},nPB.zb=null,Nj(nEL,"ENamedElementImpl",448),ncm(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},$T),nPB.Ah=function(n){return nt8(this,n)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,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 LC(this,n0Q,this)),this.rb;case 6:return this.vb||(this.vb=new OS(nNn,this,6,7)),this.vb;case 7:if(t)return this.Db>>16==7?CY(this.Cb,241):null;return Dq(this)}return HE(this,n-N$((nlq(),n2E)),Gt(CY(zA(this,16),29)||n2E,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 4:return this.sb&&(e=CY(this.sb,54).Th(this,1,nL9,e)),Qq(this,CY(n,480),e);case 5:return this.rb||(this.rb=new LC(this,n0Q,this)),YU(this.rb,n,e);case 6:return this.vb||(this.vb=new OS(nNn,this,6,7)),YU(this.vb,n,e);case 7:return this.Cb&&(e=(i=this.Db>>16)>=0?nt8(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,7,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2E),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2E)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 4:return Qq(this,null,e);case 5:return this.rb||(this.rb=new LC(this,n0Q,this)),nnw(this.rb,n,e);case 6:return this.vb||(this.vb=new OS(nNn,this,6,7)),nnw(this.vb,n,e);case 7:return nsP(this,null,7,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2E),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2E)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.yb;case 3:return null!=this.xb;case 4:return!!this.sb;case 5:return!!this.rb&&0!=this.rb.i;case 6:return!!this.vb&&0!=this.vb.i;case 7:return!!Dq(this)}return Fr(this,n-N$((nlq(),n2E)),Gt(CY(zA(this,16),29)||n2E,n))},nPB.Zh=function(n){return function(n,t){var e,i,r,a,c,o;if(!n.tb){for(n.rb||(n.rb=new LC(n,n0Q,n)),o=new vH((a=n.rb).i),r=new j2(a);r.e!=r.i.gc();)c=(i=CY(Z6(r),142)).xe(),(e=CY(null==c?nr3(o.f,null,i):JI(o.i,c,i),142))&&(null==c?nr3(o.f,null,e):JI(o.i,c,e));n.tb=o}return CY(Db(n.tb,t),142)}(this,n)||nf8(this,n)},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:XC(this,PA(t));return;case 2:XA(this,PA(t));return;case 3:XI(this,PA(t));return;case 4:ni6(this,CY(t,480));return;case 5:this.rb||(this.rb=new LC(this,n0Q,this)),nft(this.rb),this.rb||(this.rb=new LC(this,n0Q,this)),Nu(this.rb,CY(t,16));return;case 6:this.vb||(this.vb=new OS(nNn,this,6,7)),nft(this.vb),this.vb||(this.vb=new OS(nNn,this,6,7)),Nu(this.vb,CY(t,16));return}J5(this,n-N$((nlq(),n2E)),Gt(CY(zA(this,16),29)||n2E,n),t)},nPB.ei=function(n){var t,e;if(n&&this.rb)for(e=new j2(this.rb);e.e!=e.i.gc();)jM(t=Z6(e),364)&&(CY(t,364).w=null);Zv(this,64,n)},nPB.ii=function(){return nlq(),n2E},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:XC(this,null);return;case 2:XA(this,null);return;case 3:XI(this,null);return;case 4:ni6(this,null);return;case 5:this.rb||(this.rb=new LC(this,n0Q,this)),nft(this.rb);return;case 6:this.vb||(this.vb=new OS(nNn,this,6,7)),nft(this.vb);return}QZ(this,n-N$((nlq(),n2E)),Gt(CY(zA(this,16),29)||n2E,n))},nPB.pi=function(){ntL(this)},nPB.vi=function(){return this.rb||(this.rb=new LC(this,n0Q,this)),this.rb},nPB.wi=function(){return this.sb},nPB.xi=function(){return this.ub},nPB.yi=function(){return this.xb},nPB.zi=function(){return this.yb},nPB.Ai=function(n){this.ub=n},nPB.Ib=function(){var n;return(64&this.Db)!=0?QG(this):(n=new Sm(QG(this)),n.a+=" (nsURI: ",EW(n,this.yb),n.a+=", nsPrefix: ",EW(n,this.xb),n.a+=")",n.a)},nPB.xb=null,nPB.yb=null,Nj(nEL,"EPackageImpl",184),ncm(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},ncb),nPB.q=!1,nPB.r=!1;var nNr=!1;Nj(nEN,"ElkGraphPackageImpl",569),ncm(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},oH),nPB.Ah=function(n){return nt4(this,n)},nPB.Lh=function(n,t,e){switch(n){case 7:return Dz(this);case 8:return this.a}return J4(this,n,t,e)},nPB.Sh=function(n,t,e){var i;return 7===t?(this.Cb&&(e=(i=this.Db>>16)>=0?nt4(this,e):this.Cb.Th(this,-1-i,null,e)),Az(this,CY(n,167),e)):niy(this,n,t,e)},nPB.Uh=function(n,t,e){return 7==t?Az(this,null,e):z5(this,n,t,e)},nPB.Wh=function(n){switch(n){case 7:return!!Dz(this);case 8:return!OB("",this.a)}return Ys(this,n)},nPB.bi=function(n,t){switch(n){case 7:noE(this,CY(t,167));return;case 8:q2(this,PA(t));return}neF(this,n,t)},nPB.ii=function(){return nly(),n0r},nPB.ki=function(n){switch(n){case 7:noE(this,null);return;case 8:q2(this,"");return}YN(this,n)},nPB.Ib=function(){return nrM(this)},nPB.a="",Nj(nEN,"ElkLabelImpl",366),ncm(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},gE),nPB.Ah=function(n){return nei(this,n)},nPB.Lh=function(n,t,e){switch(n){case 9:return this.c||(this.c=new Lk(nNi,this,9,9)),this.c;case 10:return this.a||(this.a=new Lk(nNe,this,10,11)),this.a;case 11:return DV(this);case 12:return this.b||(this.b=new Lk(nL6,this,12,3)),this.b;case 13:return SB(),this.a||(this.a=new Lk(nNe,this,10,11)),this.a.i>0}return nnq(this,n,t,e)},nPB.Sh=function(n,t,e){var i,r;switch(t){case 9:return this.c||(this.c=new Lk(nNi,this,9,9)),YU(this.c,n,e);case 10:return this.a||(this.a=new Lk(nNe,this,10,11)),YU(this.a,n,e);case 11:return this.Cb&&(e=(i=this.Db>>16)>=0?nei(this,e):this.Cb.Th(this,-1-i,null,e)),r=this,nsP(r,CY(n,27),11,e);case 12:return this.b||(this.b=new Lk(nL6,this,12,3)),YU(this.b,n,e)}return neE(this,n,t,e)},nPB.Uh=function(n,t,e){switch(t){case 9:return this.c||(this.c=new Lk(nNi,this,9,9)),nnw(this.c,n,e);case 10:return this.a||(this.a=new Lk(nNe,this,10,11)),nnw(this.a,n,e);case 11:var i;return i=this,nsP(i,null,11,e);case 12:return this.b||(this.b=new Lk(nL6,this,12,3)),nnw(this.b,n,e)}return neT(this,n,t,e)},nPB.Wh=function(n){switch(n){case 9:return!!this.c&&0!=this.c.i;case 10:return!!this.a&&0!=this.a.i;case 11:return!!DV(this);case 12:return!!this.b&&0!=this.b.i;case 13:return this.a||(this.a=new Lk(nNe,this,10,11)),this.a.i>0}return We(this,n)},nPB.bi=function(n,t){switch(n){case 9:this.c||(this.c=new Lk(nNi,this,9,9)),nft(this.c),this.c||(this.c=new Lk(nNi,this,9,9)),Nu(this.c,CY(t,16));return;case 10:this.a||(this.a=new Lk(nNe,this,10,11)),nft(this.a),this.a||(this.a=new Lk(nNe,this,10,11)),Nu(this.a,CY(t,16));return;case 11:nob(this,CY(t,27));return;case 12:this.b||(this.b=new Lk(nL6,this,12,3)),nft(this.b),this.b||(this.b=new Lk(nL6,this,12,3)),Nu(this.b,CY(t,16));return}ncS(this,n,t)},nPB.ii=function(){return nly(),n0a},nPB.ki=function(n){switch(n){case 9:this.c||(this.c=new Lk(nNi,this,9,9)),nft(this.c);return;case 10:this.a||(this.a=new Lk(nNe,this,10,11)),nft(this.a);return;case 11:nob(this,null);return;case 12:this.b||(this.b=new Lk(nL6,this,12,3)),nft(this.b);return}nns(this,n)},nPB.Ib=function(){return nuG(this)},Nj(nEN,"ElkNodeImpl",207),ncm(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},gT),nPB.Ah=function(n){return nt6(this,n)},nPB.Lh=function(n,t,e){return 9==n?DP(this):nnq(this,n,t,e)},nPB.Sh=function(n,t,e){var i,r;return 9===t?(this.Cb&&(e=(i=this.Db>>16)>=0?nt6(this,e):this.Cb.Th(this,-1-i,null,e)),r=this,nsP(r,CY(n,27),9,e)):neE(this,n,t,e)},nPB.Uh=function(n,t,e){var i;return 9==t?(i=this,nsP(i,null,9,e)):neT(this,n,t,e)},nPB.Wh=function(n){return 9==n?!!DP(this):We(this,n)},nPB.bi=function(n,t){9===n?nou(this,CY(t,27)):ncS(this,n,t)},nPB.ii=function(){return nly(),n0c},nPB.ki=function(n){9===n?nou(this,null):nns(this,n)},nPB.Ib=function(){return nuq(this)},Nj(nEN,"ElkPortImpl",193);var nNa=IH(nE5,"BasicEMap/Entry");ncm(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},oU),nPB.Fb=function(n){return this===n},nPB.ld=function(){return this.b},nPB.Hb=function(){return SK(this)},nPB.Di=function(n){q3(this,CY(n,149))},nPB.Lh=function(n,t,e){switch(n){case 0:return this.b;case 1:return this.c}return nnd(this,n,t,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.b;case 1:return null!=this.c}return Z2(this,n)},nPB.bi=function(n,t){switch(n){case 0:q3(this,CY(t,149));return;case 1:qQ(this,t);return}nr9(this,n,t)},nPB.ii=function(){return nly(),n0o},nPB.ki=function(n){switch(n){case 0:q3(this,null);return;case 1:qQ(this,null);return}nrI(this,n)},nPB.Bi=function(){var n;return -1==this.a&&(n=this.b,this.a=n?XS(n):0),this.a},nPB.md=function(){return this.c},nPB.Ci=function(n){this.a=n},nPB.nd=function(n){var t;return t=this.c,qQ(this,n),t},nPB.Ib=function(){var n;return(64&this.Db)!=0?ncG(this):(EY(EY(EY(n=new p2,this.b?this.b.Pg():nbi),npF),Sp(this.c)),n.a)},nPB.a=-1,nPB.c=null;var nNc=Nj(nEN,"ElkPropertyToValueMapEntryImpl",1122);ncm(996,1,{},oX),Nj(nE7,"JsonAdapter",996),ncm(216,63,nbZ,p_),Nj(nE7,"JsonImportException",216),ncm(868,1,{},nt7),Nj(nE7,"JsonImporter",868),ncm(903,1,{},Ec),Nj(nE7,"JsonImporter/lambda$0$Type",903),ncm(904,1,{},Eo),Nj(nE7,"JsonImporter/lambda$1$Type",904),ncm(912,1,{},wg),Nj(nE7,"JsonImporter/lambda$10$Type",912),ncm(914,1,{},Eu),Nj(nE7,"JsonImporter/lambda$11$Type",914),ncm(915,1,{},Es),Nj(nE7,"JsonImporter/lambda$12$Type",915),ncm(921,1,{},$i),Nj(nE7,"JsonImporter/lambda$13$Type",921),ncm(920,1,{},$r),Nj(nE7,"JsonImporter/lambda$14$Type",920),ncm(916,1,{},Eh),Nj(nE7,"JsonImporter/lambda$15$Type",916),ncm(917,1,{},Ef),Nj(nE7,"JsonImporter/lambda$16$Type",917),ncm(918,1,{},El),Nj(nE7,"JsonImporter/lambda$17$Type",918),ncm(919,1,{},Eb),Nj(nE7,"JsonImporter/lambda$18$Type",919),ncm(924,1,{},wp),Nj(nE7,"JsonImporter/lambda$19$Type",924),ncm(905,1,{},wm),Nj(nE7,"JsonImporter/lambda$2$Type",905),ncm(922,1,{},wv),Nj(nE7,"JsonImporter/lambda$20$Type",922),ncm(923,1,{},wy),Nj(nE7,"JsonImporter/lambda$21$Type",923),ncm(927,1,{},wk),Nj(nE7,"JsonImporter/lambda$22$Type",927),ncm(925,1,{},wM),Nj(nE7,"JsonImporter/lambda$23$Type",925),ncm(926,1,{},wE),Nj(nE7,"JsonImporter/lambda$24$Type",926),ncm(929,1,{},wT),Nj(nE7,"JsonImporter/lambda$25$Type",929),ncm(928,1,{},wj),Nj(nE7,"JsonImporter/lambda$26$Type",928),ncm(930,1,nbE,Ew),nPB.Cd=function(n){var t,e,i,r,a;t=this.b,e=this.a,r=D$(t,i=PA(n)),a=null,r&&(a=nrA(r)),ZF(e,i,a)},Nj(nE7,"JsonImporter/lambda$27$Type",930),ncm(931,1,nbE,Ed),nPB.Cd=function(n){var t,e,i,r,a;t=this.b,e=this.a,r=D$(t,i=PA(n)),a=null,r&&(a=nrA(r)),ZF(e,i,a)},Nj(nE7,"JsonImporter/lambda$28$Type",931),ncm(932,1,{},Eg),Nj(nE7,"JsonImporter/lambda$29$Type",932),ncm(908,1,{},wS),Nj(nE7,"JsonImporter/lambda$3$Type",908),ncm(933,1,{},Ep),Nj(nE7,"JsonImporter/lambda$30$Type",933),ncm(934,1,{},wP),Nj(nE7,"JsonImporter/lambda$31$Type",934),ncm(935,1,{},wO),Nj(nE7,"JsonImporter/lambda$32$Type",935),ncm(936,1,{},wC),Nj(nE7,"JsonImporter/lambda$33$Type",936),ncm(937,1,{},wI),Nj(nE7,"JsonImporter/lambda$34$Type",937),ncm(870,1,{},wA),Nj(nE7,"JsonImporter/lambda$35$Type",870),ncm(941,1,{},CA),Nj(nE7,"JsonImporter/lambda$36$Type",941),ncm(938,1,nbE,wL),nPB.Cd=function(n){var t,e,i;t=this.a,e=CY(n,377),$$(i=new pl,"x",e.a),$$(i,"y",e.b),Nq(t,i)},Nj(nE7,"JsonImporter/lambda$37$Type",938),ncm(939,1,nbE,Ev),nPB.Cd=function(n){var t;t=this.a,ne$(this.b,nrH(t,CY(n,166)))},Nj(nE7,"JsonImporter/lambda$38$Type",939),ncm(940,1,nbE,Ey),nPB.Cd=function(n){var t;t=this.a,ne$(this.b,nrH(t,CY(n,166)))},Nj(nE7,"JsonImporter/lambda$39$Type",940),ncm(906,1,{},wN),Nj(nE7,"JsonImporter/lambda$4$Type",906),ncm(942,1,nbE,wx),nPB.Cd=function(n){var t,e,i;t=this.a,e=CY(n,8),$$(i=new pl,"x",e.a),$$(i,"y",e.b),Nq(t,i)},Nj(nE7,"JsonImporter/lambda$40$Type",942),ncm(907,1,{},w$),Nj(nE7,"JsonImporter/lambda$5$Type",907),ncm(911,1,{},wD),Nj(nE7,"JsonImporter/lambda$6$Type",911),ncm(909,1,{},wR),Nj(nE7,"JsonImporter/lambda$7$Type",909),ncm(910,1,{},wK),Nj(nE7,"JsonImporter/lambda$8$Type",910),ncm(913,1,{},wF),Nj(nE7,"JsonImporter/lambda$9$Type",913),ncm(961,1,nbE,w_),nPB.Cd=function(n){Nq(this.a,new NO(PA(n)))},Nj(nE7,"JsonMetaDataConverter/lambda$0$Type",961),ncm(962,1,nbE,wB),nPB.Cd=function(n){var t;Nq(this.a,new NO(null!=(t=CY(n,245)).f?t.f:""+t.g))},Nj(nE7,"JsonMetaDataConverter/lambda$1$Type",962),ncm(963,1,nbE,wH),nPB.Cd=function(n){var t,e;t=this.a,null!=(e=CY(n,143)).c&&Nq(t,new NO(e.c))},Nj(nE7,"JsonMetaDataConverter/lambda$2$Type",963),ncm(964,1,nbE,wU),nPB.Cd=function(n){var t;Nq(this.a,new NO(null!=(t=CY(n,170)).f?t.f:""+t.g))},Nj(nE7,"JsonMetaDataConverter/lambda$3$Type",964),ncm(245,22,{3:1,34:1,22:1,245:1},Ek);var nNo=qc(ngw,"GraphFeature",245,nPw,function(){return ncw(),Vw(DY(nNo,1),nbG,245,0,[n0M,n0v,n0y,n0m,n0k,n0g,n0d,n0p])},function(n){return ncw(),qa((zd(),n0E),n)});ncm(11,1,{34:1,149:1},wX,P5,To,TZ),nPB.Fd=function(n){var t;return t=CY(n,149),_W(this.b,t.Pg())},nPB.Fb=function(n){return $5(this,n)},nPB.Sg=function(){return Z4(this)},nPB.Pg=function(){return this.b},nPB.Hb=function(){return Wb(this.b)},nPB.Ib=function(){return this.b},Nj(ngw,"Property",11),ncm(671,1,ndy,wG),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,96),i=CY(t,96),r=CY(e.of(this.a),34),a=CY(i.of(this.a),34),null!=r&&null!=a?X9(r,a):null!=r?-1:+(null!=a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngw,"PropertyHolderComparator",671),ncm(709,1,nbu,wq),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){var n;if(!this.a)throw(new $e).e;return n=this.a,this.a=DV(this.a),n},nPB.Qb=function(){mD()},nPB.Ob=function(){return!!this.a},Nj(nTw,"ElkGraphUtil/AncestorIterator",709);var nNu=IH(nE5,"EList");ncm(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),nPB.bd=function(n,t){Jo(this,n,t)},nPB.Fc=function(n){return B7(this,n)},nPB.cd=function(n,t){return VI(this,n,t)},nPB.Gc=function(n){return Nu(this,n)},nPB.Ii=function(){return new SQ(this)},nPB.Ji=function(){return new SJ(this)},nPB.Ki=function(n){return qj(this,n)},nPB.Li=function(){return!0},nPB.Mi=function(n,t){},nPB.Ni=function(){},nPB.Oi=function(n,t){BY(this,n,t)},nPB.Pi=function(n,t,e){},nPB.Qi=function(n,t){},nPB.Ri=function(n,t,e){},nPB.Fb=function(n){return nup(this,n)},nPB.Hb=function(){return Vl(this)},nPB.Si=function(){return!1},nPB.Kc=function(){return new j2(this)},nPB.ed=function(){return new SW(this)},nPB.fd=function(n){var t;if(t=this.gc(),n<0||n>t)throw new OR(n,t).e;return new L0(this,n)},nPB.Ui=function(n,t){this.Ti(n,this.dd(t))},nPB.Mc=function(n){return UP(this,n)},nPB.Wi=function(n,t){return t},nPB.hd=function(n,t){return nnv(this,n,t)},nPB.Ib=function(){return Ye(this)},nPB.Yi=function(){return!0},nPB.Zi=function(n,t){return Wl(this,t)},Nj(nE5,"AbstractEList",70),ncm(66,70,nTv,oW,Gk,ze),nPB.Ei=function(n,t){return nik(this,n,t)},nPB.Fi=function(n){return nn4(this,n)},nPB.Gi=function(n,t){QV(this,n,t)},nPB.Hi=function(n){_F(this,n)},nPB.$i=function(n){return Hv(this,n)},nPB.$b=function(){__(this)},nPB.Hc=function(n){return neO(this,n)},nPB.Xb=function(n){return GO(this,n)},nPB._i=function(n){var t,e,i;++this.j,n>(e=null==this.g?0:this.g.length)&&(i=this.g,(t=e+(e/2|0)+4)<n&&(t=n),this.g=this.aj(t),null!=i&&ns8(i,0,this.g,0,this.i))},nPB.dd=function(n){return ntq(this,n)},nPB.dc=function(){return 0==this.i},nPB.Ti=function(n,t){return naD(this,n,t)},nPB.aj=function(n){return BJ(nPa,nl7,1,n,5,1)},nPB.Vi=function(n){return this.g[n]},nPB.gd=function(n){return ntD(this,n)},nPB.Xi=function(n,t){return US(this,n,t)},nPB.gc=function(){return this.i},nPB.Pc=function(){return Fc(this)},nPB.Qc=function(n){return YP(this,n)},nPB.i=0;var nNs=Nj(nE5,"BasicEList",66),nNh=IH(nE5,"TreeIterator");ncm(708,66,nTy),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return null!=this.g||this.c?null==this.g||0!=this.i&&CY(this.g[this.i-1],51).Ob():DU(this)},nPB.Pb=function(){return nc0(this)},nPB.Qb=function(){if(!this.e)throw new px("There is no valid object to remove.").e;this.e.Qb()},nPB.c=!1,Nj(nE5,"AbstractTreeIterator",708),ncm(700,708,nTy,Tq),nPB.bj=function(n){var t;return jM(t=CY(n,58).Gh().Kc(),287)&&CY(t,287).wl(new oz),t},Nj(nTw,"ElkGraphUtil/PropertiesSkippingTreeIterator",700),ncm(965,1,{},oz),Nj(nTw,"ElkGraphUtil/PropertiesSkippingTreeIterator/1",965);var nNf=Nj(nTw,"ElkReflect",null);ncm(901,1,nMS,oV),nPB.Rg=function(n){var t,e;return D6(),t=CY(n,181),e=CY(IS(t.b),9),new O9(t.a,e,t.c)},Nj(nTw,"ElkReflect/lambda$0$Type",901),IH(nE5,"ResourceLocator"),ncm(1065,1,{}),Nj(nE5,"DelegatingResourceLocator",1065),ncm(1066,1065,{}),Nj("org.eclipse.emf.common","EMFPlugin",1066);var nNl=IH(nT8,"Adapter"),nNb=IH(nT8,"Notification");ncm(1174,1,nT9),nPB.cj=function(){return this.d},nPB.dj=function(n){},nPB.ej=function(n){this.d=n},nPB.fj=function(n){this.d==n&&(this.d=null)},nPB.d=null,Nj(nEE,"AdapterImpl",1174),ncm(2093,70,nT7),nPB.Ei=function(n,t){return Yp(this,n,t)},nPB.Fi=function(n){var t,e,i;if(++this.j,n.dc())return!1;for(t=this.Ej(),i=n.Kc();i.Ob();)e=i.Pb(),this.rj(this.Zi(t,e)),++t;return!0},nPB.Gi=function(n,t){P1(this,n,t)},nPB.Hi=function(n){Nz(this,n)},nPB.pj=function(){return this.sj()},nPB.$b=function(){PZ(this,this.Ej(),this.Fj())},nPB.Hc=function(n){return this.uj(n)},nPB.Ic=function(n){return this.vj(n)},nPB.qj=function(n,t){this.Bj().Um()},nPB.rj=function(n){this.Bj().Um()},nPB.sj=function(){return this.Bj()},nPB.tj=function(){this.Bj().Um()},nPB.uj=function(n){return this.Bj().Um()},nPB.vj=function(n){return this.Bj().Um()},nPB.wj=function(n){return this.Bj().Um()},nPB.xj=function(n){return this.Bj().Um()},nPB.yj=function(){return this.Bj().Um()},nPB.zj=function(n){return this.Bj().Um()},nPB.Aj=function(){return this.Bj().Um()},nPB.Cj=function(n){return this.Bj().Um()},nPB.Dj=function(n,t){return this.Bj().Um()},nPB.Ej=function(){return this.Bj().Um()},nPB.Fj=function(){return this.Bj().Um()},nPB.Gj=function(n){return this.Bj().Um()},nPB.Hj=function(){return this.Bj().Um()},nPB.Fb=function(n){return this.wj(n)},nPB.Xb=function(n){return this.Wi(n,this.xj(n))},nPB.Hb=function(){return this.yj()},nPB.dd=function(n){return this.zj(n)},nPB.dc=function(){return this.Aj()},nPB.Ti=function(n,t){return niz(this,n,t)},nPB.Vi=function(n){return this.xj(n)},nPB.gd=function(n){return IU(this,n)},nPB.Mc=function(n){var t;return(t=this.dd(n))>=0&&(this.gd(t),!0)},nPB.Xi=function(n,t){return this.Dj(n,this.Zi(n,t))},nPB.gc=function(){return this.Ej()},nPB.Pc=function(){return this.Fj()},nPB.Qc=function(n){return this.Gj(n)},nPB.Ib=function(){return this.Hj()},Nj(nE5,"DelegatingEList",2093),ncm(2094,2093,nT7),nPB.Ei=function(n,t){return nsq(this,n,t)},nPB.Fi=function(n){return this.Ei(this.Ej(),n)},nPB.Gi=function(n,t){ncd(this,n,t)},nPB.Hi=function(n){na4(this,n)},nPB.Li=function(){return!this.Mj()},nPB.$b=function(){nfa(this)},nPB.Ij=function(n,t,e,i,r){return new $4(this,n,t,e,i,r)},nPB.Jj=function(n){zP(this.jj(),n)},nPB.Kj=function(){return null},nPB.Lj=function(){return -1},nPB.jj=function(){return null},nPB.Mj=function(){return!1},nPB.Nj=function(n,t){return t},nPB.Oj=function(n,t){return t},nPB.Pj=function(){return!1},nPB.Qj=function(){return!this.Aj()},nPB.Ti=function(n,t){var e,i;return this.Pj()?(i=this.Qj(),e=niz(this,n,t),this.Jj(this.Ij(7,Qx(t),e,n,i)),e):niz(this,n,t)},nPB.gd=function(n){var t,e,i,r;return this.Pj()?(e=null,i=this.Qj(),t=this.Ij(4,r=IU(this,n),null,n,i),this.Mj()&&r?(e=this.Oj(r,e))?(e.nj(t),e.oj()):this.Jj(t):e?(e.nj(t),e.oj()):this.Jj(t)):(r=IU(this,n),this.Mj()&&r&&(e=this.Oj(r,null))&&e.oj()),r},nPB.Xi=function(n,t){return nsX(this,n,t)},Nj(nEE,"DelegatingNotifyingListImpl",2094),ncm(152,1,njn),nPB.nj=function(n){return ne4(this,n)},nPB.oj=function(){Un(this)},nPB.gj=function(){return this.d},nPB.Kj=function(){return null},nPB.Rj=function(){return null},nPB.hj=function(n){return -1},nPB.ij=function(){return noW(this)},nPB.jj=function(){return null},nPB.kj=function(){return noQ(this)},nPB.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},nPB.Sj=function(){return!1},nPB.mj=function(n){var t,e,i,r,a,c,o,u;switch(this.d){case 1:case 2:switch(n.gj()){case 1:case 2:if(ER(n.jj())===ER(this.jj())&&this.hj(null)==n.hj(null))return this.g=n.ij(),1==n.gj()&&(this.d=1),!0}case 4:if(4===n.gj()&&ER(n.jj())===ER(this.jj())&&this.hj(null)==n.hj(null))return(c=nfg(this),a=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,i=n.lj(),this.d=6,u=new Gk(2),a<=i)?(B7(u,this.n),B7(u,n.kj()),this.g=Vw(DY(n4s,1),nwl,28,15,[this.o=a,i+1])):(B7(u,n.kj()),B7(u,this.n),this.g=Vw(DY(n4s,1),nwl,28,15,[this.o=i,a])),this.n=u,c||(this.o=-2-this.o-1),!0;break;case 6:if(4===n.gj()&&ER(n.jj())===ER(this.jj())&&this.hj(null)==n.hj(null)){for(c=nfg(this),i=n.lj(),e=BJ(n4s,nwl,28,(o=CY(this.g,53)).length+1,15,1),t=0;t<o.length;)if((r=o[t])<=i)e[t++]=r,++i;else break;for(CY(this.n,15).bd(t,n.kj()),e[t]=i;++t<e.length;)e[t]=o[t-1];return this.g=e,c||(this.o=-2-e[0]),!0}}return!1},nPB.Ib=function(){var n,t,e,i,r;switch(e=new Sm(mI(this.Rm)+"@"+(XS(this)>>>0).toString(16)),e.a+=" (eventType: ",this.d){case 1:e.a+="SET";break;case 2:e.a+="UNSET";break;case 3:e.a+="ADD";break;case 5:e.a+="ADD_MANY";break;case 4:e.a+="REMOVE";break;case 6:e.a+="REMOVE_MANY";break;case 7:e.a+="MOVE";break;case 8:e.a+="REMOVING_ADAPTER";break;case 9:e.a+="RESOLVE";break;default:i=this.d,e.a+=i}if(nu6(this)&&(e.a+=", touch: true"),e.a+=", position: ",r=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,e.a+=r,e.a+=", notifier: ",EV(e,this.jj()),e.a+=", feature: ",EV(e,this.Kj()),e.a+=", oldValue: ",EV(e,noQ(this)),e.a+=", newValue: ",6==this.d&&jM(this.g,53)){for(t=CY(this.g,53),e.a+="[",n=0;n<t.length;)e.a+=t[n],++n<t.length&&(e.a+=nl8);e.a+="]"}else EV(e,noW(this));return e.a+=", isTouch: ",mL(e,nu6(this)),e.a+=", wasSet: ",mL(e,nfg(this)),e.a+=")",e.a},nPB.d=0,nPB.e=0,nPB.f=0,nPB.j=0,nPB.k=0,nPB.o=0,nPB.p=0,Nj(nEE,"NotificationImpl",152),ncm(1188,152,njn,$4),nPB.Kj=function(){return this.a.Kj()},nPB.hj=function(n){return this.a.Lj()},nPB.jj=function(){return this.a.jj()},Nj(nEE,"DelegatingNotifyingListImpl/1",1188),ncm(251,66,nTv,oQ,mw),nPB.Fc=function(n){return Yg(this,CY(n,378))},nPB.nj=function(n){return Yg(this,n)},nPB.oj=function(){var n,t,e;for(n=0;n<this.i;++n)null!=(e=(t=CY(this.g[n],378)).jj())&&-1!=t.gj()&&CY(e,94).xh(t)},nPB.aj=function(n){return BJ(nNb,nl7,378,n,0,1)},Nj(nEE,"NotificationChainImpl",251),ncm(1524,93,nEM),nPB.uh=function(){return this.e},nPB.wh=function(){return(1&this.f)!=0},nPB.f=1,Nj(nEE,"NotifierImpl",1524),ncm(2091,66,nTv),nPB.Ei=function(n,t){return ns6(this,n,t)},nPB.Fi=function(n){return this.Ei(this.i,n)},nPB.Gi=function(n,t){na6(this,n,t)},nPB.Hi=function(n){ncu(this,n)},nPB.Li=function(){return!this.Mj()},nPB.$b=function(){nft(this)},nPB.Ij=function(n,t,e,i,r){return new $3(this,n,t,e,i,r)},nPB.Jj=function(n){zP(this.jj(),n)},nPB.Kj=function(){return null},nPB.Lj=function(){return -1},nPB.jj=function(){return null},nPB.Mj=function(){return!1},nPB.Tj=function(){return!1},nPB.Nj=function(n,t){return t},nPB.Oj=function(n,t){return t},nPB.Pj=function(){return!1},nPB.Qj=function(){return 0!=this.i},nPB.Ti=function(n,t){return Jp(this,n,t)},nPB.gd=function(n){return no9(this,n)},nPB.Xi=function(n,t){return nhg(this,n,t)},nPB.Uj=function(n,t){return t},nPB.Vj=function(n,t){return t},nPB.Wj=function(n,t,e){return e},Nj(nEE,"NotifyingListImpl",2091),ncm(1187,152,njn,$3),nPB.Kj=function(){return this.a.Kj()},nPB.hj=function(n){return this.a.Lj()},nPB.jj=function(){return this.a.jj()},Nj(nEE,"NotifyingListImpl/1",1187),ncm(966,66,nTv,P3),nPB.Hc=function(n){return this.i>10?(this.b&&this.c.j==this.a||(this.b=new At(this),this.a=this.j),vF(this.b,n)):neO(this,n)},nPB.Yi=function(){return!0},nPB.a=0,Nj(nE5,"AbstractEList/1",966),ncm(302,77,nwD,OR),Nj(nE5,"AbstractEList/BasicIndexOutOfBoundsException",302),ncm(37,1,nbu,j2),nPB.Nb=function(n){LD(this,n)},nPB.Xj=function(){if(this.i.j!=this.f)throw(new dR).e},nPB.Yj=function(){return Z6(this)},nPB.Ob=function(){return this.e!=this.i.gc()},nPB.Pb=function(){return this.Yj()},nPB.Qb=function(){neH(this)},nPB.e=0,nPB.f=0,nPB.g=-1,Nj(nE5,"AbstractEList/EIterator",37),ncm(286,37,nbg,SW,L0),nPB.Qb=function(){neH(this)},nPB.Rb=function(n){YD(this,n)},nPB.Zj=function(){var n;try{return n=this.d.Xb(--this.e),this.Xj(),this.g=this.e,n}catch(n){if(jM(n=Vt(n),77))throw this.Xj(),(new dF).e;throw n.e}},nPB.$j=function(n){nn9(this,n)},nPB.Sb=function(){return 0!=this.e},nPB.Tb=function(){return this.e},nPB.Ub=function(){return this.Zj()},nPB.Vb=function(){return this.e-1},nPB.Wb=function(n){this.$j(n)},Nj(nE5,"AbstractEList/EListIterator",286),ncm(355,37,nbu,SQ),nPB.Yj=function(){return Z5(this)},nPB.Qb=function(){throw(new dD).e},Nj(nE5,"AbstractEList/NonResolvingEIterator",355),ncm(398,286,nbg,SJ,OX),nPB.Rb=function(n){throw(new dD).e},nPB.Yj=function(){var n;try{return n=this.c.Vi(this.e),this.Xj(),this.g=this.e++,n}catch(n){if(jM(n=Vt(n),77))throw this.Xj(),(new dF).e;throw n.e}},nPB.Zj=function(){var n;try{return n=this.c.Vi(--this.e),this.Xj(),this.g=this.e,n}catch(n){if(jM(n=Vt(n),77))throw this.Xj(),(new dF).e;throw n.e}},nPB.Qb=function(){throw(new dD).e},nPB.Wb=function(n){throw(new dD).e},Nj(nE5,"AbstractEList/NonResolvingEListIterator",398),ncm(2080,70,nji),nPB.Ei=function(n,t){var e,i,r,a,c,o,u,s,h;if(0==(i=t.gc()))return++this.j,!1;for(e=WL(this,(s=null==(u=CY(zA(this.a,4),129))?0:u.length)+i),(h=s-n)>0&&ns8(u,n,e,n+i,h),o=t.Kc(),a=0;a<i;++a)NK(e,n+a,Wl(this,c=o.Pb()));for(ZU(this,e),r=0;r<i;++r)c=e[n],this.Mi(n,c),++n;return!0},nPB.Fi=function(n){var t,e,i,r,a,c,o,u,s;if(0==(i=n.gc()))return++this.j,!1;for(t=WL(this,s=(u=null==(e=CY(zA(this.a,4),129))?0:e.length)+i),o=n.Kc(),a=u;a<s;++a)NK(t,a,Wl(this,c=o.Pb()));for(ZU(this,t),r=u;r<s;++r)c=t[r],this.Mi(r,c);return!0},nPB.Gi=function(n,t){var e,i,r,a;e=WL(this,(r=null==(i=CY(zA(this.a,4),129))?0:i.length)+1),a=Wl(this,t),n!=r&&ns8(i,n,e,n+1,r-n),NK(e,n,a),ZU(this,e),this.Mi(n,t)},nPB.Hi=function(n){var t,e,i;NK(t=WL(this,(i=null==(e=CY(zA(this.a,4),129))?0:e.length)+1),i,Wl(this,n)),ZU(this,t),this.Mi(i,n)},nPB.Ii=function(){return new _k(this)},nPB.Ji=function(){return new LO(this)},nPB.Ki=function(n){var t,e;if(e=null==(t=CY(zA(this.a,4),129))?0:t.length,n<0||n>e)throw new OR(n,e).e;return new xH(this,n)},nPB.$b=function(){var n,t;++this.j,t=null==(n=CY(zA(this.a,4),129))?0:n.length,ZU(this,null),BY(this,t,n)},nPB.Hc=function(n){var t,e,i,r;if(null!=(t=CY(zA(this.a,4),129))){if(null!=n){for(i=0,r=(e=t).length;i<r;++i)if(QY(n,e[i]))return!0}else for(i=0,r=(e=t).length;i<r;++i)if(ER(e[i])===ER(n))return!0}return!1},nPB.Xb=function(n){var t,e;if(n>=(e=null==(t=CY(zA(this.a,4),129))?0:t.length))throw new OR(n,e).e;return t[n]},nPB.dd=function(n){var t,e,i;if(null!=(t=CY(zA(this.a,4),129))){if(null!=n){for(e=0,i=t.length;e<i;++e)if(QY(n,t[e]))return e}else for(e=0,i=t.length;e<i;++e)if(ER(t[e])===ER(n))return e}return -1},nPB.dc=function(){return null==CY(zA(this.a,4),129)},nPB.Kc=function(){return new _y(this)},nPB.ed=function(){return new LP(this)},nPB.fd=function(n){var t,e;if(e=null==(t=CY(zA(this.a,4),129))?0:t.length,n<0||n>e)throw new OR(n,e).e;return new xB(this,n)},nPB.Ti=function(n,t){var e,i,r;if(n>=(r=null==(e=Zt(this))?0:e.length))throw new pC(nTg+n+nTp+r).e;if(t>=r)throw new pC(nTm+t+nTp+r).e;return i=e[t],n!=t&&(n<t?ns8(e,n,e,n+1,t-n):ns8(e,t+1,e,t,n-t),NK(e,n,i),ZU(this,e)),i},nPB.Vi=function(n){return CY(zA(this.a,4),129)[n]},nPB.gd=function(n){return function(n,t){var e,i,r,a,c;if(t>=(c=null==(e=CY(zA(n.a,4),129))?0:e.length))throw new OR(t,c).e;return r=e[t],1==c?i=null:(ns8(e,0,i=BJ(nNl,nje,424,c-1,0,1),0,t),(a=c-t-1)>0&&ns8(e,t+1,i,t,a)),ZU(n,i),nr2(n,t,r),r}(this,n)},nPB.Xi=function(n,t){var e,i;return i=(e=Zt(this))[n],NK(e,n,Wl(this,t)),ZU(this,e),i},nPB.gc=function(){var n;return null==(n=CY(zA(this.a,4),129))?0:n.length},nPB.Pc=function(){var n,t,e;return t=BJ(nNl,nje,424,e=null==(n=CY(zA(this.a,4),129))?0:n.length,0,1),e>0&&ns8(n,0,t,0,e),t},nPB.Qc=function(n){var t,e;return(e=null==(t=CY(zA(this.a,4),129))?0:t.length)>0&&(n.length<e&&(n=G7(WZ(n).c,e)),ns8(t,0,n,0,e)),n.length>e&&NK(n,e,null),n},Nj(nE5,"ArrayDelegatingEList",2080),ncm(1051,37,nbu,_y),nPB.Xj=function(){if(this.b.j!=this.f||ER(CY(zA(this.b.a,4),129))!==ER(this.a))throw(new dR).e},nPB.Qb=function(){neH(this),this.a=CY(zA(this.b.a,4),129)},Nj(nE5,"ArrayDelegatingEList/EIterator",1051),ncm(722,286,nbg,LP,xB),nPB.Xj=function(){if(this.b.j!=this.f||ER(CY(zA(this.b.a,4),129))!==ER(this.a))throw(new dR).e},nPB.$j=function(n){nn9(this,n),this.a=CY(zA(this.b.a,4),129)},nPB.Qb=function(){neH(this),this.a=CY(zA(this.b.a,4),129)},Nj(nE5,"ArrayDelegatingEList/EListIterator",722),ncm(1052,355,nbu,_k),nPB.Xj=function(){if(this.b.j!=this.f||ER(CY(zA(this.b.a,4),129))!==ER(this.a))throw(new dR).e},Nj(nE5,"ArrayDelegatingEList/NonResolvingEIterator",1052),ncm(723,398,nbg,LO,xH),nPB.Xj=function(){if(this.b.j!=this.f||ER(CY(zA(this.b.a,4),129))!==ER(this.a))throw(new dR).e},Nj(nE5,"ArrayDelegatingEList/NonResolvingEListIterator",723),ncm(615,302,nwD,Tc),Nj(nE5,"BasicEList/BasicIndexOutOfBoundsException",615),ncm(710,66,nTv,EN),nPB.bd=function(n,t){throw(new dD).e},nPB.Fc=function(n){throw(new dD).e},nPB.cd=function(n,t){throw(new dD).e},nPB.Gc=function(n){throw(new dD).e},nPB.$b=function(){throw(new dD).e},nPB._i=function(n){throw(new dD).e},nPB.Kc=function(){return this.Ii()},nPB.ed=function(){return this.Ji()},nPB.fd=function(n){return this.Ki(n)},nPB.Ti=function(n,t){throw(new dD).e},nPB.Ui=function(n,t){throw(new dD).e},nPB.gd=function(n){throw(new dD).e},nPB.Mc=function(n){throw(new dD).e},nPB.hd=function(n,t){throw(new dD).e},Nj(nE5,"BasicEList/UnmodifiableEList",710),ncm(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),nPB.bd=function(n,t){var e;e=CY(t,44),this.c.bd(n,CY(e,136))},nPB.Fc=function(n){var t;return t=CY(n,44),this.c.Fc(CY(t,136))},nPB.Jc=function(n){_r(this,n)},nPB.Xb=function(n){return CY(GO(this.c,n),136)},nPB.Ti=function(n,t){return CY(this.c.Ti(n,t),44)},nPB.Ui=function(n,t){var e;e=CY(t,44),this.c.Ui(n,CY(e,136))},nPB.Lc=function(){return new Aa(null,new R$(this,16))},nPB.gd=function(n){return CY(this.c.gd(n),44)},nPB.hd=function(n,t){var e;return e=CY(t,44),CY(this.c.hd(n,CY(e,136)),44)},nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.Oc=function(){return new Aa(null,new R$(this,16))},nPB.cd=function(n,t){return this.c.cd(n,t)},nPB.Gc=function(n){return this.c.Gc(n)},nPB.$b=function(){this.c.$b()},nPB.Hc=function(n){return this.c.Hc(n)},nPB.Ic=function(n){return z7(this.c,n)},nPB._j=function(){var n,t;if(null==this.d){for(this.d=BJ(nNs,njr,66,2*this.f+1,0,1),t=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)nnR(this,CY(n.Yj(),136));this.e=t}},nPB.Fb=function(n){return OZ(this,n)},nPB.Hb=function(){return Vl(this.c)},nPB.dd=function(n){return this.c.dd(n)},nPB.ak=function(){this.c=new wz(this)},nPB.dc=function(){return 0==this.f},nPB.Kc=function(){return this.c.Kc()},nPB.ed=function(){return this.c.ed()},nPB.fd=function(n){return this.c.fd(n)},nPB.bk=function(){return BW(this)},nPB.ck=function(n,t,e){return new CL(n,t,e)},nPB.dk=function(){return new oJ},nPB.Mc=function(n){return qE(this,n)},nPB.gc=function(){return this.f},nPB.kd=function(n,t){return new Rk(this.c,n,t)},nPB.Pc=function(){return this.c.Pc()},nPB.Qc=function(n){return this.c.Qc(n)},nPB.Ib=function(){return Ye(this.c)},nPB.e=0,nPB.f=0,Nj(nE5,"BasicEMap",721),ncm(1046,66,nTv,wz),nPB.Mi=function(n,t){var e;e=CY(t,136),nnR(this.a,e)},nPB.Pi=function(n,t,e){++(CY(t,136),this).a.e},nPB.Qi=function(n,t){var e;e=CY(t,136),Jm(this.a,e)},nPB.Ri=function(n,t,e){var i,r;i=CY(t,136),r=CY(e,136),Jm(this.a,r),nnR(this.a,i)},nPB.Oi=function(n,t){zI(this.a)},Nj(nE5,"BasicEMap/1",1046),ncm(1047,66,nTv,oJ),nPB.aj=function(n){return BJ(nNw,nja,621,n,0,1)},Nj(nE5,"BasicEMap/2",1047),ncm(1048,2063,nbl,wV),nPB.$b=function(){this.a.c.$b()},nPB.Hc=function(n){return YA(this.a,n)},nPB.Kc=function(){return 0==this.a.f?(PR(),n0O.a):new md(this.a)},nPB.Mc=function(n){var t;return t=this.a.f,Zl(this.a,n),this.a.f!=t},nPB.gc=function(){return this.a.f},Nj(nE5,"BasicEMap/3",1048),ncm(1049,31,nbf,wW),nPB.$b=function(){this.a.c.$b()},nPB.Hc=function(n){return num(this.a,n)},nPB.Kc=function(){return 0==this.a.f?(PR(),n0O.a):new mg(this.a)},nPB.gc=function(){return this.a.f},Nj(nE5,"BasicEMap/4",1049),ncm(1050,2063,nbl,wQ),nPB.$b=function(){this.a.c.$b()},nPB.Hc=function(n){var t,e,i,r,a,c,o,u,s;if(this.a.f>0&&jM(n,44)&&(this.a._j(),r=null==(o=(u=CY(n,44)).ld())?0:XS(o),a=P2(this.a,r),t=this.a.d[a])){for(c=0,e=CY(t.g,379),s=t.i;c<s;++c)if((i=e[c]).Bi()==r&&i.Fb(u))return!0}return!1},nPB.Kc=function(){return 0==this.a.f?(PR(),n0O.a):new $m(this.a)},nPB.Mc=function(n){return function n(t,e){var i,r,a,c,o,u,s,h,f;if(t.a.f>0&&jM(e,44)&&(t.a._j(),c=null==(s=(h=CY(e,44)).ld())?0:XS(s),o=P2(t.a,c),i=t.a.d[o])){for(u=0,r=CY(i.g,379),f=i.i;u<f;++u)if((a=r[u]).Bi()==c&&a.Fb(h))return n(t,h),!0}return!1}(this,n)},nPB.gc=function(){return this.a.f},Nj(nE5,"BasicEMap/5",1050),ncm(622,1,nbu,$m),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return -1!=this.b},nPB.Pb=function(){var n;if(this.f.e!=this.c)throw(new dR).e;if(-1==this.b)throw(new dF).e;return this.d=this.a,this.e=this.b,nem(this),n=CY(this.f.d[this.d].g[this.e],136),this.ek(n)},nPB.Qb=function(){if(this.f.e!=this.c)throw(new dR).e;if(-1==this.e)throw(new dx).e;this.f.c.Mc(GO(this.f.d[this.d],this.e)),this.c=this.f.e,this.e=-1,this.a==this.d&&-1!=this.b&&--this.b},nPB.ek=function(n){return n},nPB.a=0,nPB.b=-1,nPB.c=0,nPB.d=0,nPB.e=0,Nj(nE5,"BasicEMap/BasicEMapIterator",622),ncm(1044,622,nbu,md),nPB.ek=function(n){return n.ld()},Nj(nE5,"BasicEMap/BasicEMapKeyIterator",1044),ncm(1045,622,nbu,mg),nPB.ek=function(n){return n.md()},Nj(nE5,"BasicEMap/BasicEMapValueIterator",1045),ncm(1043,1,nbh,wJ),nPB.wc=function(n){zs(this,n)},nPB.yc=function(n,t,e){return JJ(this,n,t,e)},nPB.$b=function(){this.a.c.$b()},nPB._b=function(n){return YA(this.a,n)},nPB.uc=function(n){return num(this.a,n)},nPB.vc=function(){var n;return(n=this.a).g||(n.g=new oY),n.g.a||(n.g.a=new wQ(n)),n.g.a},nPB.Fb=function(n){return OZ(this.a,n)},nPB.xc=function(n){return YH(this.a,n)},nPB.Hb=function(){return Vl(this.a.c)},nPB.dc=function(){return 0==this.a.f},nPB.ec=function(){var n;return(n=this.a).g||(n.g=new oY),n.g.b||(n.g.b=new wV(n)),n.g.b},nPB.zc=function(n,t){return nej(this.a,n,t)},nPB.Bc=function(n){return Zl(this.a,n)},nPB.gc=function(){return this.a.f},nPB.Ib=function(){return Ye(this.a.c)},nPB.Cc=function(){var n;return(n=this.a).g||(n.g=new oY),n.g.d||(n.g.d=new wW(n)),n.g.d},Nj(nE5,"BasicEMap/DelegatingMap",1043),ncm(621,1,{44:1,136:1,621:1},CL),nPB.Fb=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),(null!=this.b?QY(this.b,t.ld()):ER(this.b)===ER(t.ld()))&&(null!=this.c?QY(this.c,t.md()):ER(this.c)===ER(t.md())))},nPB.Bi=function(){return this.a},nPB.ld=function(){return this.b},nPB.md=function(){return this.c},nPB.Hb=function(){return this.a^(null==this.c?0:XS(this.c))},nPB.Ci=function(n){this.a=n},nPB.Di=function(n){throw(new dO).e},nPB.nd=function(n){var t;return t=this.c,this.c=n,t},nPB.Ib=function(){return this.b+"->"+this.c},nPB.a=0;var nNw=Nj(nE5,"BasicEMap/EntryImpl",621);ncm(546,1,{},oY),Nj(nE5,"BasicEMap/View",546),ncm(783,1,{}),nPB.Fb=function(n){return ncP(($O(),nO_),n)},nPB.Hb=function(){return V7(($O(),nO_))},nPB.Ib=function(){return niV(($O(),nO_))},Nj(nE5,"ECollections/BasicEmptyUnmodifiableEList",783),ncm(1348,1,nbg,oZ),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){throw(new dD).e},nPB.Ob=function(){return!1},nPB.Sb=function(){return!1},nPB.Pb=function(){throw(new dF).e},nPB.Tb=function(){return 0},nPB.Ub=function(){throw(new dF).e},nPB.Vb=function(){return -1},nPB.Qb=function(){throw(new dD).e},nPB.Wb=function(n){throw(new dD).e},Nj(nE5,"ECollections/BasicEmptyUnmodifiableEList/1",1348),ncm(1346,783,{20:1,16:1,15:1,61:1},gS),nPB.bd=function(n,t){m0()},nPB.Fc=function(n){return m2()},nPB.cd=function(n,t){return m3()},nPB.Gc=function(n){return m4()},nPB.$b=function(){m6()},nPB.Hc=function(n){return!1},nPB.Ic=function(n){return!1},nPB.Jc=function(n){_r(this,n)},nPB.Xb=function(n){return E8(($O(),n)),null},nPB.dd=function(n){return -1},nPB.dc=function(){return!0},nPB.Kc=function(){return this.a},nPB.ed=function(){return this.a},nPB.fd=function(n){return this.a},nPB.Ti=function(n,t){return m5()},nPB.Ui=function(n,t){m8()},nPB.Lc=function(){return new Aa(null,new R$(this,16))},nPB.gd=function(n){return m9()},nPB.Mc=function(n){return m7()},nPB.hd=function(n,t){return vn()},nPB.gc=function(){return 0},nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.Oc=function(){return new Aa(null,new R$(this,16))},nPB.kd=function(n,t){return $O(),new Rk(nO_,n,t)},nPB.Pc=function(){return A3(($O(),nO_))},nPB.Qc=function(n){return $O(),nn7(nO_,n)},Nj(nE5,"ECollections/EmptyUnmodifiableEList",1346),ncm(1347,783,{20:1,16:1,15:1,61:1,597:1},gP),nPB.bd=function(n,t){m0()},nPB.Fc=function(n){return m2()},nPB.cd=function(n,t){return m3()},nPB.Gc=function(n){return m4()},nPB.$b=function(){m6()},nPB.Hc=function(n){return!1},nPB.Ic=function(n){return!1},nPB.Jc=function(n){_r(this,n)},nPB.Xb=function(n){return E8(($O(),n)),null},nPB.dd=function(n){return -1},nPB.dc=function(){return!0},nPB.Kc=function(){return this.a},nPB.ed=function(){return this.a},nPB.fd=function(n){return this.a},nPB.Ti=function(n,t){return m5()},nPB.Ui=function(n,t){m8()},nPB.Lc=function(){return new Aa(null,new R$(this,16))},nPB.gd=function(n){return m9()},nPB.Mc=function(n){return m7()},nPB.hd=function(n,t){return vn()},nPB.gc=function(){return 0},nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.Oc=function(){return new Aa(null,new R$(this,16))},nPB.kd=function(n,t){return $O(),new Rk(nO_,n,t)},nPB.Pc=function(){return A3(($O(),nO_))},nPB.Qc=function(n){return $O(),nn7(nO_,n)},nPB.bk=function(){return $O(),$O(),nOB},Nj(nE5,"ECollections/EmptyUnmodifiableEMap",1347);var nNd=IH(nE5,"Enumerator");ncm(288,1,{288:1},nuE),nPB.Fb=function(n){var t,e,i;return this===n||!!jM(n,288)&&(t=CY(n,288),this.f==t.f&&(e=this.i,i=t.i,null==e?null==i:ZM(e,i))&&As(this.a,(256&this.f)!=0?(256&t.f)!=0?t.a:null:(256&t.f)!=0?null:t.a)&&As(this.d,t.d)&&As(this.g,t.g)&&As(this.e,t.e)&&function(n,t){var e,i;if(n.j.length!=t.j.length)return!1;for(e=0,i=n.j.length;e<i;e++)if(!OB(n.j[e],t.j[e]))return!1;return!0}(this,t))},nPB.Hb=function(){return this.f},nPB.Ib=function(){return nsO(this)},nPB.f=0;var nNg,nNp,nNm,nNv,nNy,nNk,nNM,nNE,nNT,nNj,nNS,nNP,nNO,nNC,nNI,nNA,nNL,nNN,nNx,nN$,nND,nNR,nNK,nNF,nN_,nNB,nNH,nNU,nNG,nNq,nNX,nNz,nNV,nNW,nNQ,nNJ,nNY,nNZ,nN1,nN0,nN2,nN3,nN4,nN6,nN5,nN8,nN9,nN7,nxn,nxt,nxe,nxi,nxr,nxa,nxc,nxo,nxu,nxs,nxh,nxf,nxl,nxb,nxw,nxd,nxg,nxp,nxm,nxv,nxy,nxk,nxM,nxE,nxT,nxj,nxS,nxP,nxO,nxC,nxI,nxA,nxL,nxN,nxx,nx$,nxD,nxR,nxK,nxF,nx_,nxB,nxH,nxU,nxG,nxq,nxX,nxz,nxV,nxW,nxQ,nxJ,nxY,nxZ,nx1,nx0,nx2,nx3,nx4,nx6,nx5,nx8,nx9,nx7,n$n,n$t,n$e,n$i,n$r,n$a,n$c,n$o,n$u,n$s,n$h,n$f,n$l,n$b,n$w,n$d,n$g,n$p,n$m,n$v,n$y,n$k,n$M,n$E,n$T,n$j,n$S,n$P,n$O,n$C,n$I,n$A,n$L,n$N,n$x,n$$,n$D,n$R,n$K,n$F,n$_,n$B,n$H,n$U,n$G,n$q,n$X,n$z,n$V,n$W,n$Q,n$J,n$Y,n$Z,n$1,n$0,n$2,n$3,n$4,n$6,n$5,n$8,n$9,n$7,nDn,nDt,nDe,nDi,nDr,nDa,nDc,nDo,nDu,nDs,nDh,nDf,nDl,nDb,nDw,nDd,nDg,nDp,nDm,nDv,nDy,nDk,nDM,nDE,nDT,nDj,nDS,nDP,nDO,nDC,nDI,nDA,nDL,nDN,nDx,nD$,nDD,nDR,nDK,nDF,nD_,nDB,nDH,nDU,nDG,nDq,nDX,nDz,nDV,nDW,nDQ,nDJ,nDY,nDZ,nD1,nD0,nD2,nD3,nD4,nD6,nD5,nD8,nD9,nD7,nRn,nRt,nRe,nRi,nRr,nRa,nRc,nRo,nRu,nRs,nRh,nRf,nRl,nRb,nRw,nRd,nRg,nRp,nRm,nRv,nRy,nRk,nRM,nRE,nRT,nRj,nRS,nRP,nRO,nRC,nRI,nRA,nRL,nRN,nRx,nR$,nRD,nRR,nRK,nRF,nR_,nRB,nRH,nRU,nRG,nRq,nRX,nRz,nRV,nRW,nRQ,nRJ,nRY,nRZ,nR1,nR0,nR2,nR3,nR4,nR6,nR5,nR8,nR9,nR7,nKn,nKt,nKe,nKi,nKr,nKa,nKc,nKo,nKu,nKs,nKh,nKf,nKl,nKb,nKw,nKd,nKg,nKp,nKm,nKv,nKy,nKk,nKM,nKE,nKT,nKj,nKS,nKP,nKO,nKC,nKI,nKA,nKL,nKN,nKx,nK$,nKD,nKR,nKK,nKF,nK_,nKB,nKH,nKU,nKG,nKq,nKX,nKz,nKV,nKW,nKQ,nKJ,nKY,nKZ,nK1,nK0,nK2,nK3,nK4,nK6,nK5,nK8,nK9,nK7,nFn,nFt,nFe,nFi,nFr,nFa,nFc,nFo,nFu,nFs,nFh,nFf,nFl,nFb,nFw,nFd,nFg,nFp,nFm,nFv,nFy,nFk,nFM,nFE,nFT,nFj,nFS,nFP,nFO,nFC,nFI,nFA,nFL,nFN,nFx,nF$,nFD,nFR,nFK,nFF,nF_,nFB,nFH,nFU,nFG,nFq,nFX,nFz,nFV,nFW,nFQ,nFJ,nFY,nFZ,nF1,nF0,nF2,nF3,nF4,nF6,nF5,nF8,nF9,nF7,n_n,n_t,n_e,n_i,n_r,n_a,n_c,n_o,n_u,n_s,n_h,n_f,n_l,n_b,n_w,n_d,n_g,n_p,n_m,n_v,n_y,n_k,n_M,n_E,n_T,n_j,n_S,n_P,n_O,n_C,n_I,n_A,n_L,n_N,n_x,n_$,n_D,n_R,n_K,n_F,n__,n_B,n_H,n_U,n_G,n_q,n_X,n_z,n_V,n_W,n_Q,n_J,n_Y,n_Z,n_1,n_0,n_2,n_3,n_4,n_6,n_5,n_8,n_9,n_7,nBn,nBt,nBe,nBi,nBr,nBa,nBc,nBo,nBu,nBs,nBh,nBf,nBl,nBb,nBw,nBd,nBg,nBp,nBm,nBv,nBy,nBk,nBM,nBE,nBT,nBj,nBS,nBP,nBO,nBC,nBI,nBA,nBL,nBN,nBx,nB$,nBD,nBR,nBK,nBF,nB_,nBB,nBH,nBU,nBG,nBq,nBX,nBz,nBV,nBW,nBQ,nBJ,nBY,nBZ,nB1,nB0,nB2,nB3,nB4,nB6,nB5,nB8,nB9,nB7,nHn,nHt,nHe,nHi,nHr,nHa,nHc,nHo,nHu,nHs,nHh,nHf,nHl,nHb,nHw,nHd,nHg,nHp,nHm,nHv,nHy,nHk,nHM,nHE,nHT,nHj,nHS,nHP,nHO,nHC,nHI,nHA,nHL,nHN,nHx,nH$,nHD,nHR,nHK,nHF,nH_,nHB,nHH,nHU,nHG,nHq,nHX,nHz,nHV,nHW,nHQ,nHJ,nHY,nHZ,nH1,nH0,nH2,nH3,nH4,nH6,nH5,nH8,nH9,nH7,nUn,nUt,nUe,nUi,nUr,nUa,nUc,nUo,nUu,nUs,nUh,nUf,nUl,nUb,nUw,nUd,nUg,nUp,nUm,nUv,nUy,nUk,nUM,nUE,nUT,nUj,nUS,nUP,nUO,nUC,nUI,nUA,nUL,nUN,nUx,nU$,nUD,nUR,nUK,nUF,nU_,nUB,nUH,nUU,nUG,nUq,nUX,nUz,nUV,nUW,nUQ,nUJ,nUY,nUZ,nU1,nU0,nU2,nU3,nU4,nU6,nU5,nU8,nU9,nU7,nGn,nGt,nGe,nGi,nGr,nGa,nGc,nGo,nGu,nGs,nGh,nGf,nGl,nGb,nGw,nGd,nGg,nGp,nGm,nGv,nGy,nGk,nGM,nGE,nGT,nGj,nGS,nGP,nGO,nGC,nGI,nGA,nGL,nGN,nGx,nG$,nGD,nGR,nGK,nGF,nG_,nGB,nGH,nGU,nGG,nGq,nGX,nGz,nGV,nGW,nGQ,nGJ,nGY,nGZ,nG1,nG0,nG2,nG3,nG4,nG6,nG5,nG8,nG9,nG7,nqn,nqt,nqe,nqi,nqr,nqa,nqc,nqo,nqu,nqs,nqh,nqf,nql,nqb,nqw,nqd,nqg,nqp,nqm,nqv,nqy,nqk,nqM,nqE,nqT,nqj,nqS,nqP,nqO,nqC,nqI,nqA,nqL,nqN,nqx,nq$,nqD,nqR,nqK,nqF,nq_,nqB,nqH,nqU,nqG,nqq,nqX,nqz,nqV,nqW,nqQ,nqJ,nqY,nqZ,nq1,nq0,nq2,nq3,nq4,nq6,nq5,nq8,nq9,nq7,nXn,nXt,nXe,nXi,nXr,nXa,nXc,nXo,nXu,nXs,nXh,nXf,nXl,nXb,nXw,nXd,nXg,nXp,nXm,nXv,nXy,nXk,nXM,nXE,nXT,nXj,nXS,nXP,nXO,nXC,nXI,nXA,nXL,nXN,nXx,nX$,nXD,nXR,nXK,nXF,nX_,nXB,nXH,nXU,nXG,nXq,nXX,nXz,nXV,nXW,nXQ,nXJ,nXY,nXZ,nX1,nX0,nX2,nX3,nX4,nX6,nX5,nX8,nX9,nX7,nzn,nzt,nze,nzi,nzr,nza,nzc,nzo,nzu,nzs,nzh,nzf,nzl,nzb,nzw,nzd,nzg,nzp,nzm,nzv,nzy,nzk,nzM,nzE,nzT,nzj,nzS,nzP,nzO,nzC,nzI,nzA,nzL,nzN,nzx,nz$,nzD,nzR,nzK,nzF,nz_,nzB,nzH,nzU,nzG,nzq,nzX,nzz,nzV,nzW,nzQ,nzJ,nzY,nzZ,nz1,nz0,nz2,nz3,nz4,nz6,nz5,nz8,nz9,nz7,nVn,nVt,nVe,nVi,nVr,nVa,nVc,nVo,nVu,nVs,nVh,nVf,nVl,nVb,nVw,nVd,nVg,nVp,nVm,nVv,nVy,nVk,nVM,nVE,nVT,nVj,nVS,nVP,nVO,nVC,nVI,nVA,nVL,nVN,nVx,nV$,nVD,nVR,nVK,nVF,nV_,nVB,nVH,nVU,nVG,nVq,nVX,nVz,nVV,nVW,nVQ,nVJ,nVY,nVZ,nV1,nV0,nV2,nV3,nV4,nV6,nV5,nV8,nV9,nV7,nWn,nWt,nWe,nWi,nWr,nWa,nWc,nWo,nWu,nWs,nWh,nWf,nWl,nWb,nWw,nWd,nWg,nWp,nWm,nWv,nWy,nWk,nWM,nWE,nWT,nWj,nWS,nWP,nWO,nWC,nWI,nWA,nWL,nWN,nWx,nW$,nWD,nWR,nWK,nWF,nW_,nWB,nWH,nWU,nWG,nWq,nWX,nWz,nWV,nWW,nWQ,nWJ,nWY,nWZ,nW1,nW0,nW2,nW3,nW4,nW6,nW5,nW8,nW9,nW7,nQn,nQt,nQe,nQi,nQr,nQa,nQc,nQo,nQu,nQs,nQh,nQf,nQl,nQb,nQw,nQd,nQg,nQp,nQm,nQv,nQy,nQk,nQM,nQE,nQT,nQj,nQS,nQP,nQO,nQC,nQI,nQA,nQL,nQN,nQx,nQ$,nQD,nQR,nQK,nQF,nQ_,nQB,nQH,nQU,nQG,nQq,nQX,nQz,nQV,nQW,nQQ,nQJ,nQY,nQZ,nQ1,nQ0,nQ2,nQ3,nQ4,nQ6,nQ5,nQ8,nQ9,nQ7,nJn,nJt,nJe,nJi,nJr,nJa,nJc,nJo,nJu,nJs,nJh,nJf,nJl,nJb,nJw,nJd,nJg,nJp,nJm,nJv,nJy,nJk,nJM,nJE,nJT,nJj,nJS,nJP,nJO,nJC,nJI,nJA,nJL,nJN,nJx,nJ$,nJD,nJR,nJK,nJF,nJ_,nJB,nJH,nJU,nJG,nJq,nJX,nJz,nJV,nJW,nJQ,nJJ,nJY,nJZ,nJ1,nJ0,nJ2,nJ3,nJ4,nJ6,nJ5,nJ8,nJ9,nJ7,nYn,nYt,nYe,nYi,nYr,nYa,nYc,nYo,nYu,nYs,nYh,nYf,nYl,nYb,nYw,nYd,nYg,nYp,nYm,nYv,nYy,nYk,nYM,nYE,nYT,nYj,nYS,nYP,nYO,nYC,nYI,nYA,nYL,nYN,nYx,nY$,nYD,nYR,nYK,nYF,nY_,nYB,nYH,nYU,nYG,nYq,nYX,nYz,nYV,nYW,nYQ,nYJ,nYY,nYZ,nY1,nY0,nY2,nY3,nY4,nY6,nY5,nY8,nY9,nY7,nZn,nZt,nZe,nZi,nZr,nZa,nZc,nZo,nZu,nZs,nZh,nZf,nZl,nZb,nZw,nZd,nZg,nZp,nZm,nZv,nZy,nZk,nZM,nZE,nZT,nZj,nZS,nZP,nZO,nZC,nZI,nZA,nZL,nZN,nZx,nZ$,nZD,nZR,nZK,nZF,nZ_,nZB,nZH,nZU,nZG,nZq,nZX,nZz,nZV,nZW,nZQ,nZJ,nZY,nZZ,nZ1,nZ0,nZ2,nZ3,nZ4,nZ6,nZ5,nZ8,nZ9,nZ7,n1n,n1t,n1e,n1i,n1r,n1a,n1c,n1o,n1u,n1s,n1h,n1f,n1l,n1b,n1w,n1d,n1g,n1p,n1m,n1v,n1y,n1k,n1M,n1E,n1T,n1j,n1S,n1P,n1O,n1C,n1I,n1A,n1L,n1N,n1x,n1$,n1D,n1R,n1K,n1F,n1_,n1B,n1H,n1U,n1G,n1q,n1X,n1z,n1V,n1W,n1Q,n1J,n1Y,n1Z,n11,n10,n12,n13,n14,n16,n15,n18,n19,n17,n0n,n0t,n0e,n0i,n0r,n0a,n0c,n0o,n0u,n0s,n0h,n0f,n0l,n0b,n0w,n0d,n0g,n0p,n0m,n0v,n0y,n0k,n0M,n0E,n0T,n0j,n0S,n0P,n0O,n0C,n0I,n0A,n0L,n0N=0,n0x=0,n0$=0,n0D=0,n0R=0,n0K=0,n0F=0,n0_=0,n0B=0,n0H=0,n0U=0,n0G=0,n0q=0;Nj(nE5,"URI",288),ncm(1121,45,nw4,gO),nPB.zc=function(n,t){return CY(Rr(this,PA(n),CY(t,288)),288)},Nj(nE5,"URI/URICache",1121),ncm(506,66,nTv,oq,Ay),nPB.Si=function(){return!0},Nj(nE5,"UniqueEList",506),ncm(590,63,nbZ,H7),Nj(nE5,"WrappedException",590);var n0X=IH(nEs,nju),n0z=IH(nEs,njs),n0V=IH(nEs,njh),n0W=IH(nEs,njf),n0Q=IH(nEs,njl),n0J=IH(nEs,"EClass"),n0Y=IH(nEs,"EDataType");ncm(1233,45,nw4,gC),nPB.xc=function(n){return EK(n)?Db(this,n):ED(Aj(this.f,n))},Nj(nEs,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var n0Z=IH(nEs,"EEnum"),n01=IH(nEs,njb),n00=IH(nEs,njw),n02=IH(nEs,njd),n03=IH(nEs,njg),n04=IH(nEs,njp);ncm(1042,1,{},oG),nPB.Ib=function(){return"NIL"},Nj(nEs,"EStructuralFeature/Internal/DynamicValueHolder/1",1042),ncm(1041,45,nw4,gI),nPB.xc=function(n){return EK(n)?Db(this,n):ED(Aj(this.f,n))},Nj(nEs,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var n06=IH(nEs,njm),n05=IH(nEs,"EValidator/PatternMatcher"),n08=IH(njv,"FeatureMap/Entry");ncm(545,1,{76:1},Ej),nPB.Lk=function(){return this.a},nPB.md=function(){return this.b},Nj(nEL,"BasicEObjectImpl/1",545),ncm(1040,1,njy,ES),nPB.Fk=function(n){return _K(this.a,this.b,n)},nPB.Qj=function(){return DK(this.a,this.b)},nPB.Wb=function(n){DR(this.a,this.b,n)},nPB.Gk=function(){var n,t,e;n=this.a,t=this.b,(e=n.Ih(t))>=0?n.ki(e):nab(n,t)},Nj(nEL,"BasicEObjectImpl/4",1040),ncm(2081,1,{114:1}),nPB.Mk=function(n){this.e=0==n?n2I:BJ(nPa,nl7,1,n,5,1)},nPB.li=function(n){return this.e[n]},nPB.mi=function(n,t){this.e[n]=t},nPB.ni=function(n){this.e[n]=null},nPB.Nk=function(){return this.c},nPB.Ok=function(){throw(new dD).e},nPB.Pk=function(){throw(new dD).e},nPB.Qk=function(){return this.d},nPB.Rk=function(){return null!=this.e},nPB.Sk=function(n){this.c=n},nPB.Tk=function(n){throw(new dD).e},nPB.Uk=function(n){throw(new dD).e},nPB.Vk=function(n){this.d=n},Nj(nEL,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),ncm(192,2081,{114:1},hD),nPB.Ok=function(){return this.a},nPB.Pk=function(){return this.b},nPB.Tk=function(n){this.a=n},nPB.Uk=function(n){this.b=n},Nj(nEL,"BasicEObjectImpl/EPropertiesHolderImpl",192),ncm(516,99,nEA,o1),nPB.uh=function(){return this.f},nPB.zh=function(){return this.k},nPB.Bh=function(n,t){this.g=n,this.i=t},nPB.Dh=function(){return(2&this.j)==0?this.ii():this.$h().Nk()},nPB.Fh=function(){return this.i},nPB.wh=function(){return(1&this.j)!=0},nPB.Ph=function(){return this.g},nPB.Vh=function(){return(4&this.j)!=0},nPB.$h=function(){return this.k||(this.k=new hD),this.k},nPB.ci=function(n){this.$h().Sk(n),n?this.j|=2:this.j&=-3},nPB.ei=function(n){this.$h().Uk(n),n?this.j|=4:this.j&=-5},nPB.ii=function(){return(NN(),n2c).S},nPB.i=0,nPB.j=1,Nj(nEL,"EObjectImpl",516),ncm(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},Il),nPB.li=function(n){return this.e[n]},nPB.mi=function(n,t){this.e[n]=t},nPB.ni=function(n){this.e[n]=null},nPB.Dh=function(){return this.d},nPB.Ih=function(n){return Ym(this.d,n)},nPB.Kh=function(){return this.d},nPB.Oh=function(){return null!=this.e},nPB.$h=function(){return this.k||(this.k=new o0),this.k},nPB.ci=function(n){this.d=n},nPB.hi=function(){var n;return null==this.e&&(n=N$(this.d),this.e=0==n?n2A:BJ(nPa,nl7,1,n,5,1)),this},nPB.ji=function(){return 0},Nj(nEL,"DynamicEObjectImpl",798),ncm(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},IK),nPB.Fb=function(n){return this===n},nPB.Hb=function(){return SK(this)},nPB.ci=function(n){this.d=n,this.b=noS(n,"key"),this.c=noS(n,nEH)},nPB.Bi=function(){var n;return -1==this.a&&(n=Ug(this,this.b),this.a=null==n?0:XS(n)),this.a},nPB.ld=function(){return Ug(this,this.b)},nPB.md=function(){return Ug(this,this.c)},nPB.Ci=function(n){this.a=n},nPB.Di=function(n){DR(this,this.b,n)},nPB.nd=function(n){var t;return t=Ug(this,this.c),DR(this,this.c,n),t},nPB.a=0,Nj(nEL,"DynamicEObjectImpl/BasicEMapEntry",1522),ncm(1523,1,{114:1},o0),nPB.Mk=function(n){throw(new dD).e},nPB.li=function(n){throw(new dD).e},nPB.mi=function(n,t){throw(new dD).e},nPB.ni=function(n){throw(new dD).e},nPB.Nk=function(){throw(new dD).e},nPB.Ok=function(){return this.a},nPB.Pk=function(){return this.b},nPB.Qk=function(){return this.c},nPB.Rk=function(){throw(new dD).e},nPB.Sk=function(n){throw(new dD).e},nPB.Tk=function(n){this.a=n},nPB.Uk=function(n){this.b=n},nPB.Vk=function(n){this.c=n},Nj(nEL,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),ncm(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},o2),nPB.Ah=function(n){return nt9(this,n)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.d;case 2:return e?(this.b||(this.b=new Pd((nlq(),n2S),n07,this)),this.b):(this.b||(this.b=new Pd((nlq(),n2S),n07,this)),BW(this.b));case 3:return DQ(this);case 4:return this.a||(this.a=new jU(nLZ,this,4)),this.a;case 5:return this.c||(this.c=new jJ(nLZ,this,5)),this.c}return HE(this,n-N$((nlq(),n2o)),Gt(CY(zA(this,16),29)||n2o,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 3:return this.Cb&&(e=(i=this.Db>>16)>=0?nt9(this,e):this.Cb.Th(this,-1-i,null,e)),AV(this,CY(n,155),e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2o),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2o)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 2:return this.b||(this.b=new Pd((nlq(),n2S),n07,this)),O1(this.b,n,e);case 3:return AV(this,null,e);case 4:return this.a||(this.a=new jU(nLZ,this,4)),nnw(this.a,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2o),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2o)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.d;case 2:return!!this.b&&0!=this.b.f;case 3:return!!DQ(this);case 4:return!!this.a&&0!=this.a.i;case 5:return!!this.c&&0!=this.c.i}return Fr(this,n-N$((nlq(),n2o)),Gt(CY(zA(this,16),29)||n2o,n))},nPB.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:q5(this,null==(e=PA(t))?null:(xf(e),e));return;case 2:this.b||(this.b=new Pd((nlq(),n2S),n07,this)),zu(this.b,t);return;case 3:noT(this,CY(t,155));return;case 4:this.a||(this.a=new jU(nLZ,this,4)),nft(this.a),this.a||(this.a=new jU(nLZ,this,4)),Nu(this.a,CY(t,16));return;case 5:this.c||(this.c=new jJ(nLZ,this,5)),nft(this.c),this.c||(this.c=new jJ(nLZ,this,5)),Nu(this.c,CY(t,16));return}J5(this,n-N$((nlq(),n2o)),Gt(CY(zA(this,16),29)||n2o,n),t)},nPB.ii=function(){return nlq(),n2o},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:q5(this,null);return;case 2:this.b||(this.b=new Pd((nlq(),n2S),n07,this)),this.b.c.$b();return;case 3:noT(this,null);return;case 4:this.a||(this.a=new jU(nLZ,this,4)),nft(this.a);return;case 5:this.c||(this.c=new jJ(nLZ,this,5)),nft(this.c);return}QZ(this,n-N$((nlq(),n2o)),Gt(CY(zA(this,16),29)||n2o,n))},nPB.Ib=function(){return Q0(this)},nPB.d=null,Nj(nEL,"EAnnotationImpl",519),ncm(141,721,njk,Hs),nPB.Gi=function(n,t){var e;e=CY(t,44),CY(this.c,71).Gi(n,e)},nPB.Wk=function(n,t){var e;return e=CY(n,44),CY(this.c,71).Wk(e,t)},nPB.$i=function(n){return CY(CY(this.c,71).$i(n),136)},nPB.Ii=function(){return CY(this.c,71).Ii()},nPB.Ji=function(){return CY(this.c,71).Ji()},nPB.Ki=function(n){return CY(this.c,71).Ki(n)},nPB.Xk=function(n,t){return O1(this,n,t)},nPB.Fk=function(n){return CY(this.c,79).Fk(n)},nPB.ak=function(){},nPB.Qj=function(){return CY(this.c,79).Qj()},nPB.ck=function(n,t,e){var i;return(i=CY(GT(this.b).wi().si(this.b),136)).Ci(n),i.Di(t),i.nd(e),i},nPB.dk=function(){return new de(this)},nPB.Wb=function(n){zu(this,n)},nPB.Gk=function(){CY(this.c,79).Gk()},Nj(njv,"EcoreEMap",141),ncm(165,141,njk,Pd),nPB._j=function(){var n,t,e,i,r;if(null==this.d){for(r=BJ(nNs,njr,66,2*this.f+1,0,1),e=this.c.Kc();e.e!=e.i.gc();)i=((t=CY(e.Yj(),136)).Bi()&nl3)%r.length,(n=r[i])||(n=r[i]=new de(this)),n.Fc(t);this.d=r}},Nj(nEL,"EAnnotationImpl/1",165),ncm(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}),nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),!!this.Jk();case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q}return HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 9:return Ns(this,e)}return CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().Ak(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.Jk();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i)}return Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:this.ui(PA(t));return;case 2:Q3(this,pT(PC(t)));return;case 3:Q5(this,pT(PC(t)));return;case 4:G6(this,CY(t,17).a);return;case 5:this.Zk(CY(t,17).a);return;case 8:Qn(this,CY(t,142));return;case 9:(e=niM(this,CY(t,89),null))&&e.oj();return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.ii=function(){return nlq(),n2O},nPB.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:this.ui(null);return;case 2:Q3(this,!0);return;case 3:Q5(this,!0);return;case 4:G6(this,0);return;case 5:this.Zk(1);return;case 8:Qn(this,null);return;case 9:(t=niM(this,null,null))&&t.oj();return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.pi=function(){nec(this),this.Bb|=1},nPB.Hk=function(){return nec(this)},nPB.Ik=function(){return this.t},nPB.Jk=function(){var n;return(n=this.t)>1||-1==n},nPB.Si=function(){return(512&this.Bb)!=0},nPB.Yk=function(n,t){return QX(this,n,t)},nPB.Zk=function(n){G5(this,n)},nPB.Ib=function(){return na7(this)},nPB.s=0,nPB.t=1,Nj(nEL,"ETypedElementImpl",292),ncm(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}),nPB.Ah=function(n){return ntR(this,n)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),!!this.Jk();case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q;case 10:return SB(),(this.Bb&nbB)!=0;case 11:return SB(),(this.Bb&njT)!=0;case 12:return SB(),(this.Bb&nwB)!=0;case 13:return this.j;case 14:return nos(this);case 15:return SB(),(this.Bb&njE)!=0;case 16:return SB(),(this.Bb&nbk)!=0;case 17:return DW(this)}return HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 17:return this.Cb&&(e=(i=this.Db>>16)>=0?ntR(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,17,e)}return CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().zk(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 9:return Ns(this,e);case 17:return nsP(this,null,17,e)}return CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().Ak(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.Jk();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i);case 10:return(this.Bb&nbB)==0;case 11:return(this.Bb&njT)!=0;case 12:return(this.Bb&nwB)!=0;case 13:return null!=this.j;case 14:return null!=nos(this);case 15:return(this.Bb&njE)!=0;case 16:return(this.Bb&nbk)!=0;case 17:return!!DW(this)}return Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rb(this,PA(t));return;case 2:Q3(this,pT(PC(t)));return;case 3:Q5(this,pT(PC(t)));return;case 4:G6(this,CY(t,17).a);return;case 5:this.Zk(CY(t,17).a);return;case 8:Qn(this,CY(t,142));return;case 9:(e=niM(this,CY(t,89),null))&&e.oj();return;case 10:Jv(this,pT(PC(t)));return;case 11:JM(this,pT(PC(t)));return;case 12:Jy(this,pT(PC(t)));return;case 13:EE(this,PA(t));return;case 15:Jk(this,pT(PC(t)));return;case 16:JD(this,pT(PC(t)));return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.ii=function(){return nlq(),n2P},nPB.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,90)&&nar(_v(CY(this.Cb,90)),4),XC(this,null);return;case 2:Q3(this,!0);return;case 3:Q5(this,!0);return;case 4:G6(this,0);return;case 5:this.Zk(1);return;case 8:Qn(this,null);return;case 9:(t=niM(this,null,null))&&t.oj();return;case 10:Jv(this,!0);return;case 11:JM(this,!1);return;case 12:Jy(this,!1);return;case 13:this.i=null,Xi(this,null);return;case 15:Jk(this,!1);return;case 16:JD(this,!1);return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.pi=function(){xK(Ua((nrR(),n28),this)),nec(this),this.Bb|=1},nPB.pk=function(){return this.f},nPB.ik=function(){return nos(this)},nPB.qk=function(){return DW(this)},nPB.uk=function(){return null},nPB.$k=function(){return this.k},nPB.Lj=function(){return this.n},nPB.vk=function(){return neV(this)},nPB.wk=function(){var n,t,e,i,r,a,c,o,u;return this.p||((null==(e=DW(this)).i&&nhr(e),e.i).length,(i=this.uk())&&N$(DW(i)),n=(c=(r=nec(this)).kk())?(1&c.i)!=0?c==n4h?nPE:c==n4s?nPO:c==n4w?nPP:c==n4b?nPS:c==n4f?nPC:c==n4d?nPI:c==n4l?nPT:nPj:c:null,t=nos(this),o=r.ik(),!function(n){var t,e;for(e=(function(n){var t,e,i,r,a,c,o;if((t=n.qi(njz))&&null!=(o=PA(YH((t.b||(t.b=new Pd((nlq(),n2S),n07,t)),t.b),"settingDelegates")))){for(e=new du,r=ns7(o,"\\w+"),a=0,c=r.length;a<c;++a)i=r[a],dk(e.c,i);return e}return $O(),$O(),nO_})(GT(DW(n))).Kc();e.Ob();)if(nsA(n,t=PA(e.Pb()))){var i=(ym(),n2i);return Ez(null!=t?Db(i,t):ED(Aj(i.f,t)))}}(this),(this.Bb&nbk)!=0&&((a=neS((nrR(),n28),e))&&a!=this||(a=Rz(Ua(n28,this))))?this.p=new EO(this,a):this.Jk()?this.al()?i?(this.Bb&njE)!=0?n?this.bl()?this.p=new $a(47,n,this,i):this.p=new $a(5,n,this,i):this.bl()?this.p=new F$(46,this,i):this.p=new F$(4,this,i):n?this.bl()?this.p=new $a(49,n,this,i):this.p=new $a(7,n,this,i):this.bl()?this.p=new F$(48,this,i):this.p=new F$(6,this,i):(this.Bb&njE)!=0?n?n==nPl?this.p=new CN(50,nNa,this):this.bl()?this.p=new CN(43,n,this):this.p=new CN(1,n,this):this.bl()?this.p=new $0(42,this):this.p=new $0(0,this):n?n==nPl?this.p=new CN(41,nNa,this):this.bl()?this.p=new CN(45,n,this):this.p=new CN(3,n,this):this.bl()?this.p=new $0(44,this):this.p=new $0(2,this):jM(r,156)?n==n08?this.p=new $0(40,this):(512&this.Bb)!=0?(this.Bb&njE)!=0?n?this.p=new CN(9,n,this):this.p=new $0(8,this):n?this.p=new CN(11,n,this):this.p=new $0(10,this):(this.Bb&njE)!=0?n?this.p=new CN(13,n,this):this.p=new $0(12,this):n?this.p=new CN(15,n,this):this.p=new $0(14,this):i?(u=i.t)>1||-1==u?this.bl()?(this.Bb&njE)!=0?n?this.p=new $a(25,n,this,i):this.p=new F$(24,this,i):n?this.p=new $a(27,n,this,i):this.p=new F$(26,this,i):(this.Bb&njE)!=0?n?this.p=new $a(29,n,this,i):this.p=new F$(28,this,i):n?this.p=new $a(31,n,this,i):this.p=new F$(30,this,i):this.bl()?(this.Bb&njE)!=0?n?this.p=new $a(33,n,this,i):this.p=new F$(32,this,i):n?this.p=new $a(35,n,this,i):this.p=new F$(34,this,i):(this.Bb&njE)!=0?n?this.p=new $a(37,n,this,i):this.p=new F$(36,this,i):n?this.p=new $a(39,n,this,i):this.p=new F$(38,this,i):this.bl()?(this.Bb&njE)!=0?n?this.p=new CN(17,n,this):this.p=new $0(16,this):n?this.p=new CN(19,n,this):this.p=new $0(18,this):(this.Bb&njE)!=0?n?this.p=new CN(21,n,this):this.p=new $0(20,this):n?this.p=new CN(23,n,this):this.p=new $0(22,this):this._k()?this.bl()?this.p=new Cx(CY(r,29),this,i):this.p=new Df(CY(r,29),this,i):jM(r,156)?n==n08?this.p=new $0(40,this):(this.Bb&njE)!=0?n?this.p=new Aq(t,o,this,(YR(),c==n4s?n2G:c==n4h?n2F:c==n4f?n2q:c==n4w?n2U:c==n4b?n2H:c==n4d?n2z:c==n4l?n2_:c==n4u?n2B:n2X)):this.p=new $u(CY(r,156),t,o,this):n?this.p=new AG(t,o,this,(YR(),c==n4s?n2G:c==n4h?n2F:c==n4f?n2q:c==n4w?n2U:c==n4b?n2H:c==n4d?n2z:c==n4l?n2_:c==n4u?n2B:n2X)):this.p=new $o(CY(r,156),t,o,this):this.al()?i?(this.Bb&njE)!=0?this.bl()?this.p=new C_(CY(r,29),this,i):this.p=new CF(CY(r,29),this,i):this.bl()?this.p=new CK(CY(r,29),this,i):this.p=new C$(CY(r,29),this,i):(this.Bb&njE)!=0?this.bl()?this.p=new Pj(CY(r,29),this):this.p=new PE(CY(r,29),this):this.bl()?this.p=new PM(CY(r,29),this):this.p=new Pk(CY(r,29),this):this.bl()?i?(this.Bb&njE)!=0?this.p=new CB(CY(r,29),this,i):this.p=new CD(CY(r,29),this,i):(this.Bb&njE)!=0?this.p=new PS(CY(r,29),this):this.p=new PT(CY(r,29),this):i?(this.Bb&njE)!=0?this.p=new CH(CY(r,29),this,i):this.p=new CR(CY(r,29),this,i):(this.Bb&njE)!=0?this.p=new PP(CY(r,29),this):this.p=new Ag(CY(r,29),this)),this.p},nPB.rk=function(){return(this.Bb&nbB)!=0},nPB._k=function(){return!1},nPB.al=function(){return!1},nPB.sk=function(){return(this.Bb&nbk)!=0},nPB.xk=function(){return Uj(this)},nPB.bl=function(){return!1},nPB.tk=function(){return(this.Bb&njE)!=0},nPB.cl=function(n){this.k=n},nPB.ui=function(n){Rb(this,n)},nPB.Ib=function(){return nu$(this)},nPB.e=!1,nPB.n=0,Nj(nEL,"EStructuralFeatureImpl",462),ncm(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},gA),nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),!!naO(this);case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q;case 10:return SB(),(this.Bb&nbB)!=0;case 11:return SB(),(this.Bb&njT)!=0;case 12:return SB(),(this.Bb&nwB)!=0;case 13:return this.j;case 14:return nos(this);case 15:return SB(),(this.Bb&njE)!=0;case 16:return SB(),(this.Bb&nbk)!=0;case 17:return DW(this);case 18:return SB(),(this.Bb&nEI)!=0;case 19:if(t)return z9(this);return Be(this)}return HE(this,n-N$((nlq(),n2u)),Gt(CY(zA(this,16),29)||n2u,n),t,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return naO(this);case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i);case 10:return(this.Bb&nbB)==0;case 11:return(this.Bb&njT)!=0;case 12:return(this.Bb&nwB)!=0;case 13:return null!=this.j;case 14:return null!=nos(this);case 15:return(this.Bb&njE)!=0;case 16:return(this.Bb&nbk)!=0;case 17:return!!DW(this);case 18:return(this.Bb&nEI)!=0;case 19:return!!Be(this)}return Fr(this,n-N$((nlq(),n2u)),Gt(CY(zA(this,16),29)||n2u,n))},nPB.bi=function(n,t){var e,i;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rb(this,PA(t));return;case 2:Q3(this,pT(PC(t)));return;case 3:Q5(this,pT(PC(t)));return;case 4:G6(this,CY(t,17).a);return;case 5:i=CY(t,17).a,this.b=0,G5(this,i);return;case 8:Qn(this,CY(t,142));return;case 9:(e=niM(this,CY(t,89),null))&&e.oj();return;case 10:Jv(this,pT(PC(t)));return;case 11:JM(this,pT(PC(t)));return;case 12:Jy(this,pT(PC(t)));return;case 13:EE(this,PA(t));return;case 15:Jk(this,pT(PC(t)));return;case 16:JD(this,pT(PC(t)));return;case 18:Jx(this,pT(PC(t)));return}J5(this,n-N$((nlq(),n2u)),Gt(CY(zA(this,16),29)||n2u,n),t)},nPB.ii=function(){return nlq(),n2u},nPB.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,90)&&nar(_v(CY(this.Cb,90)),4),XC(this,null);return;case 2:Q3(this,!0);return;case 3:Q5(this,!0);return;case 4:G6(this,0);return;case 5:this.b=0,G5(this,1);return;case 8:Qn(this,null);return;case 9:(t=niM(this,null,null))&&t.oj();return;case 10:Jv(this,!0);return;case 11:JM(this,!1);return;case 12:Jy(this,!1);return;case 13:this.i=null,Xi(this,null);return;case 15:Jk(this,!1);return;case 16:JD(this,!1);return;case 18:Jx(this,!1);return}QZ(this,n-N$((nlq(),n2u)),Gt(CY(zA(this,16),29)||n2u,n))},nPB.pi=function(){z9(this),xK(Ua((nrR(),n28),this)),nec(this),this.Bb|=1},nPB.Jk=function(){return naO(this)},nPB.Yk=function(n,t){return this.b=0,this.a=null,QX(this,n,t)},nPB.Zk=function(n){this.b=0,G5(this,n)},nPB.Ib=function(){var n;return(64&this.Db)!=0?nu$(this):(n=new Sm(nu$(this)),n.a+=" (iD: ",mL(n,(this.Bb&nEI)!=0),n.a+=")",n.a)},nPB.b=0,Nj(nEL,"EAttributeImpl",331),ncm(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}),nPB.dl=function(n){return n.Dh()==this},nPB.Ah=function(n){return ntS(this,n)},nPB.Bh=function(n,t){this.w=null,this.Db=t<<16|255&this.Db,this.Cb=n},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return nty(this);case 4:return this.ik();case 5:return this.F;case 6:if(t)return GT(this);return DX(this);case 7:return this.A||(this.A=new jV(n06,this,7)),this.A}return HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?ntS(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,6,e)}return CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().zk(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 6:return nsP(this,null,6,e);case 7:return this.A||(this.A=new jV(n06,this,7)),nnw(this.A,n,e)}return CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().Ak(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nty(this);case 4:return null!=this.ik();case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!DX(this);case 7:return!!this.A&&0!=this.A.i}return Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rl(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nf_(this,PA(t));return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A),this.A||(this.A=new jV(n06,this,7)),Nu(this.A,CY(t,16));return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.ii=function(){return nlq(),n2h},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,184)&&(CY(this.Cb,184).tb=null),XC(this,null);return;case 2:WH(this,null),G9(this,this.D);return;case 5:nf_(this,null);return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A);return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.hk=function(){var n;return -1==this.G&&(this.G=(n=GT(this))?nnm(n.vi(),this):-1),this.G},nPB.ik=function(){return null},nPB.jk=function(){return GT(this)},nPB.el=function(){return this.v},nPB.kk=function(){return nty(this)},nPB.lk=function(){return null!=this.D?this.D:this.B},nPB.mk=function(){return this.F},nPB.fk=function(n){return ns1(this,n)},nPB.fl=function(n){this.v=n},nPB.gl=function(n){XF(this,n)},nPB.hl=function(n){this.C=n},nPB.ui=function(n){Rl(this,n)},nPB.Ib=function(){return YO(this)},nPB.C=null,nPB.D=null,nPB.G=-1,Nj(nEL,"EClassifierImpl",364),ncm(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},hH),nPB.dl=function(n){var t;return(t=n.Dh())==this||neO(not(t),this)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return nty(this);case 4:return null;case 5:return this.F;case 6:if(t)return GT(this);return DX(this);case 7:return this.A||(this.A=new jV(n06,this,7)),this.A;case 8:return SB(),(256&this.Bb)!=0;case 9:return SB(),(512&this.Bb)!=0;case 10:return $7(this);case 11:return this.q||(this.q=new Lk(n02,this,11,10)),this.q;case 12:return nhx(this);case 13:return nhP(this);case 14:return nhP(this),this.r;case 15:return nhx(this),this.k;case 16:return nrQ(this);case 17:return nhm(this);case 18:return nhr(this);case 19:return not(this);case 20:return nhx(this),this.o;case 21:return this.s||(this.s=new Lk(n0V,this,21,17)),this.s;case 22:return FS(this);case 23:return nuw(this)}return HE(this,n-N$((nlq(),n2s)),Gt(CY(zA(this,16),29)||n2s,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?ntS(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,6,e);case 11:return this.q||(this.q=new Lk(n02,this,11,10)),YU(this.q,n,e);case 21:return this.s||(this.s=new Lk(n0V,this,21,17)),YU(this.s,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2s),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2s)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 6:return nsP(this,null,6,e);case 7:return this.A||(this.A=new jV(n06,this,7)),nnw(this.A,n,e);case 11:return this.q||(this.q=new Lk(n02,this,11,10)),nnw(this.q,n,e);case 21:return this.s||(this.s=new Lk(n0V,this,21,17)),nnw(this.s,n,e);case 22:return nnw(FS(this),n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2s),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2s)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nty(this);case 4:return!1;case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!DX(this);case 7:return!!this.A&&0!=this.A.i;case 8:return(256&this.Bb)!=0;case 9:return(512&this.Bb)!=0;case 10:return!!this.u&&0!=FS(this.u.a).i&&!(this.n&&nnH(this.n));case 11:return!!this.q&&0!=this.q.i;case 12:return 0!=nhx(this).i;case 13:return 0!=nhP(this).i;case 14:return nhP(this),0!=this.r.i;case 15:return nhx(this),0!=this.k.i;case 16:return 0!=nrQ(this).i;case 17:return 0!=nhm(this).i;case 18:return 0!=nhr(this).i;case 19:return 0!=not(this).i;case 20:return nhx(this),!!this.o;case 21:return!!this.s&&0!=this.s.i;case 22:return!!this.n&&nnH(this.n);case 23:return 0!=nuw(this).i}return Fr(this,n-N$((nlq(),n2s)),Gt(CY(zA(this,16),29)||n2s,n))},nPB.Zh=function(n){return(null==this.i||this.q&&0!=this.q.i?null:noS(this,n))||nf8(this,n)},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rl(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nf_(this,PA(t));return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A),this.A||(this.A=new jV(n06,this,7)),Nu(this.A,CY(t,16));return;case 8:Q4(this,pT(PC(t)));return;case 9:Q8(this,pT(PC(t)));return;case 10:nfa($7(this)),Nu($7(this),CY(t,16));return;case 11:this.q||(this.q=new Lk(n02,this,11,10)),nft(this.q),this.q||(this.q=new Lk(n02,this,11,10)),Nu(this.q,CY(t,16));return;case 21:this.s||(this.s=new Lk(n0V,this,21,17)),nft(this.s),this.s||(this.s=new Lk(n0V,this,21,17)),Nu(this.s,CY(t,16));return;case 22:nft(FS(this)),Nu(FS(this),CY(t,16));return}J5(this,n-N$((nlq(),n2s)),Gt(CY(zA(this,16),29)||n2s,n),t)},nPB.ii=function(){return nlq(),n2s},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,184)&&(CY(this.Cb,184).tb=null),XC(this,null);return;case 2:WH(this,null),G9(this,this.D);return;case 5:nf_(this,null);return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A);return;case 8:Q4(this,!1);return;case 9:Q8(this,!1);return;case 10:this.u&&nfa(this.u);return;case 11:this.q||(this.q=new Lk(n02,this,11,10)),nft(this.q);return;case 21:this.s||(this.s=new Lk(n0V,this,21,17)),nft(this.s);return;case 22:this.n&&nft(this.n);return}QZ(this,n-N$((nlq(),n2s)),Gt(CY(zA(this,16),29)||n2s,n))},nPB.pi=function(){var n,t,e;if(nhx(this),nhP(this),nrQ(this),nhm(this),nhr(this),not(this),nuw(this),__(((e=_v(this)).c||(e.c=new uf),e.c)),this.s)for(n=0,t=this.s.i;n<t;++n)S4(GO(this.s,n));if(this.q)for(n=0,t=this.q.i;n<t;++n)S4(GO(this.q,n));Qz((nrR(),n28),this).xe(),this.Bb|=1},nPB.Ib=function(){return neQ(this)},nPB.k=null,nPB.r=null,Nj(nEL,"EClassImpl",90),ncm(2092,2091,nj$),nPB.Ei=function(n,t){return ns6(this,n,t)},nPB.Fi=function(n){return ns6(this,this.i,n)},nPB.Gi=function(n,t){na6(this,n,t)},nPB.Hi=function(n){ncu(this,n)},nPB.Wk=function(n,t){return YU(this,n,t)},nPB.$i=function(n){return Hv(this,n)},nPB.Xk=function(n,t){return nnw(this,n,t)},nPB.Xi=function(n,t){return nhg(this,n,t)},nPB.Ii=function(){return new SQ(this)},nPB.Ji=function(){return new SJ(this)},nPB.Ki=function(n){return qj(this,n)},Nj(njv,"NotifyingInternalEListImpl",2092),ncm(632,2092,njD),nPB.Hc=function(n){return nfr(this,n)},nPB.Ij=function(n,t,e,i,r){return Ri(this,n,t,e,i,r)},nPB.Jj=function(n){dq(this,n)},nPB.Fk=function(n){return this},nPB.Lk=function(){return Gt(this.e.Dh(),this.Lj())},nPB.Kj=function(){return this.Lk()},nPB.Lj=function(){return Ym(this.e.Dh(),this.Lk())},nPB.il=function(){return CY(this.Lk().Hk(),29).kk()},nPB.jl=function(){return nnD(CY(this.Lk(),19)).n},nPB.jj=function(){return this.e},nPB.kl=function(){return!0},nPB.ll=function(){return!1},nPB.ml=function(){return!1},nPB.nl=function(){return!1},nPB.dd=function(n){return nnm(this,n)},nPB.Nj=function(n,t){var e;return e=CY(n,54),this.ml()?this.kl()?e.Rh(this.e,this.jl(),this.il(),t):e.Rh(this.e,Ym(e.Dh(),nnD(CY(this.Lk(),19))),null,t):e.Rh(this.e,-1-this.Lj(),null,t)},nPB.Oj=function(n,t){var e;return e=CY(n,54),this.ml()?this.kl()?e.Th(this.e,this.jl(),this.il(),t):e.Th(this.e,Ym(e.Dh(),nnD(CY(this.Lk(),19))),null,t):e.Th(this.e,-1-this.Lj(),null,t)},nPB.al=function(){return!1},nPB.ol=function(){return!0},nPB.fk=function(n){return Fs(this.d,n)},nPB.Pj=function(){return TN(this.e)},nPB.Qj=function(){return 0!=this.i},nPB.aj=function(n){return G7(this.d,n)},nPB.Wi=function(n,t){return this.ol()&&this.nl()?nce(this,n,CY(t,58)):t},nPB.pl=function(n){return n.Vh()?Qk(this.e,CY(n,54)):n},nPB.Wb=function(n){jN(this,n)},nPB.Pc=function(){return HF(this)},nPB.Qc=function(n){var t;if(this.nl())for(t=this.i-1;t>=0;--t)GO(this,t);return YP(this,n)},nPB.Gk=function(){nft(this)},nPB.Zi=function(n,t){return qt(this,n,t)},Nj(njv,"EcoreEList",632),ncm(505,632,njD,Ih),nPB.Li=function(){return!1},nPB.Lj=function(){return this.c},nPB.Mj=function(){return!1},nPB.ol=function(){return!0},nPB.Si=function(){return!0},nPB.Wi=function(n,t){return t},nPB.Yi=function(){return!1},nPB.c=0,Nj(njv,"EObjectEList",505),ncm(83,505,njD,jU),nPB.Mj=function(){return!0},nPB.ml=function(){return!1},nPB.al=function(){return!0},Nj(njv,"EObjectContainmentEList",83),ncm(555,83,njD,jG),nPB.Ni=function(){this.b=!0},nPB.Qj=function(){return this.b},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.b,this.b=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.b=!1},nPB.b=!1,Nj(njv,"EObjectContainmentEList/Unsettable",555),ncm(1161,555,njD,AH),nPB.Ti=function(n,t){var e,i;return e=CY(Jp(this,n,t),89),TN(this.e)&&dq(this,new Hf(this.a,7,(nlq(),n2f),Qx(t),jM(i=e.c,90)?CY(i,29):n2y,n)),e},nPB.Uj=function(n,t){var e,i,r,a;return e=CY(n,89),i=t,r=new Uh(this.e,3,10,null,jM(a=e.c,90)?CY(a,29):(nlq(),n2y),nnm(this,e),!1),i?i.nj(r):i=r,i},nPB.Vj=function(n,t){var e,i,r,a;return e=CY(n,89),i=t,r=new Uh(this.e,4,10,jM(a=e.c,90)?CY(a,29):(nlq(),n2y),null,nnm(this,e),!1),i?i.nj(r):i=r,i},nPB.Wj=function(n,t,e){var i,r,a,c,o,u;return i=CY(n,89),r=CY(t,89),a=e,c=new Uh(this.e,1,10,jM(u=i.c,90)?CY(u,29):(nlq(),n2y),jM(o=r.c,90)?CY(o,29):(nlq(),n2y),nnm(this,i),!1),a?a.nj(c):a=c,a},nPB.Ij=function(n,t,e,i,r){switch(n){case 3:return Ri(this,n,t,e,i,this.i>1);case 5:return Ri(this,n,t,e,i,this.i-CY(e,15).gc()>0);default:return new Uh(this.e,n,this.c,t,e,i,!0)}},nPB.Tj=function(){return!0},nPB.Qj=function(){return nnH(this)},nPB.Gk=function(){nft(this)},Nj(nEL,"EClassImpl/1",1161),ncm(1175,1174,nT9),nPB.dj=function(n){var t,e,i,r,a,c,o;if(8!=(e=n.gj())){if(0==(i=function(n){switch(n.hj(null)){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return -1}(n)))switch(e){case 1:case 9:null!=(o=n.kj())&&((t=_v(CY(o,482))).c||(t.c=new uf),UP(t.c,n.jj())),null!=(c=n.ij())&&(1&(r=CY(c,482)).Bb)==0&&((t=_v(r)).c||(t.c=new uf),B7(t.c,CY(n.jj(),29)));break;case 3:null!=(c=n.ij())&&(1&(r=CY(c,482)).Bb)==0&&((t=_v(r)).c||(t.c=new uf),B7(t.c,CY(n.jj(),29)));break;case 5:if(null!=(c=n.ij()))for(a=CY(c,16).Kc();a.Ob();)(1&(r=CY(a.Pb(),482)).Bb)==0&&((t=_v(r)).c||(t.c=new uf),B7(t.c,CY(n.jj(),29)));break;case 4:null!=(o=n.kj())&&(1&(r=CY(o,482)).Bb)==0&&((t=_v(r)).c||(t.c=new uf),UP(t.c,n.jj()));break;case 6:if(null!=(o=n.kj()))for(a=CY(o,16).Kc();a.Ob();)(1&(r=CY(a.Pb(),482)).Bb)==0&&((t=_v(r)).c||(t.c=new uf),UP(t.c,n.jj()))}this.ql(i)}},nPB.ql=function(n){nuA(this,n)},nPB.b=63,Nj(nEL,"ESuperAdapter",1175),ncm(1176,1175,nT9,wY),nPB.ql=function(n){nar(this,n)},Nj(nEL,"EClassImpl/10",1176),ncm(1165,710,njD),nPB.Ei=function(n,t){return nik(this,n,t)},nPB.Fi=function(n){return nn4(this,n)},nPB.Gi=function(n,t){QV(this,n,t)},nPB.Hi=function(n){_F(this,n)},nPB.$i=function(n){return Hv(this,n)},nPB.Xi=function(n,t){return US(this,n,t)},nPB.Wk=function(n,t){throw(new dD).e},nPB.Ii=function(){return new SQ(this)},nPB.Ji=function(){return new SJ(this)},nPB.Ki=function(n){return qj(this,n)},nPB.Xk=function(n,t){throw(new dD).e},nPB.Fk=function(n){return this},nPB.Qj=function(){return 0!=this.i},nPB.Wb=function(n){throw(new dD).e},nPB.Gk=function(){throw(new dD).e},Nj(njv,"EcoreEList/UnmodifiableEList",1165),ncm(328,1165,njD,Tu),nPB.Yi=function(){return!1},Nj(njv,"EcoreEList/UnmodifiableEList/FastCompare",328),ncm(1168,328,njD,VX),nPB.dd=function(n){var t,e;if(jM(n,179)&&-1!=(t=CY(n,179).Lj())){for(e=this.i;t<e;++t)if(ER(this.g[t])===ER(n))return t}return -1},Nj(nEL,"EClassImpl/1EAllStructuralFeaturesList",1168),ncm(1162,506,nTv,o3),nPB.aj=function(n){return BJ(n00,nj_,89,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/1EGenericSuperTypeEList",1162),ncm(633,506,nTv,o4),nPB.aj=function(n){return BJ(n0V,njN,179,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/1EStructuralFeatureUniqueEList",633),ncm(755,506,nTv,o6),nPB.aj=function(n){return BJ(n04,njN,19,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/1ReferenceList",755),ncm(1163,506,nTv,wZ),nPB.Mi=function(n,t){var e;((e=CY(t,35)).Bb&nEI)==0||this.a.o||(this.a.o=e)},nPB.aj=function(n){return BJ(n0W,njN,35,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/2",1163),ncm(1164,506,nTv,o5),nPB.aj=function(n){return BJ(n0W,njN,35,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/3",1164),ncm(1166,328,njD,IE),nPB.Fc=function(n){var t;return t=CY(n,35),vX(),B7($x(this.a),t)},nPB.Hi=function(n){var t;t=CY(n,35),ncu($x(this.a),t)},Nj(nEL,"EClassImpl/4",1166),ncm(1167,328,njD,IM),nPB.Fc=function(n){var t;return t=CY(n,19),vX(),B7($x(this.a),t)},nPB.Hi=function(n){var t;t=CY(n,19),ncu($x(this.a),t)},Nj(nEL,"EClassImpl/5",1167),ncm(1169,506,nTv,o8),nPB.aj=function(n){return BJ(n02,njx,62,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/6",1169),ncm(1170,506,nTv,o9),nPB.aj=function(n){return BJ(n04,njN,19,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/7",1170),ncm(2095,2094,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,71:1}),nPB.Ei=function(n,t){return nsq(this,n,t)},nPB.Fi=function(n){return nsq(this,this.Ej(),n)},nPB.Gi=function(n,t){ncd(this,n,t)},nPB.Hi=function(n){na4(this,n)},nPB.Wk=function(n,t){var e,i,r,a;return e=t,this.Pj()?(i=this.Ej(),a=this.Qj(),++this.j,this.qj(i,this.Zi(i,n)),r=this.Ij(3,null,n,i,a),e?e.nj(r):e=r):P1(this,this.Ej(),n),e},nPB.Xk=function(n,t){var e,i,r,a,c;return e=t,-1!=(i=this.dd(n))&&(this.Pj()?(a=this.Qj(),c=IU(this,i),r=this.Ij(4,c,null,i,a),e?e.nj(r):e=r):IU(this,i)),e},nPB.Xi=function(n,t){return nsX(this,n,t)},nPB.$i=function(n){return this.xj(n)},nPB.Ii=function(){return new SQ(this)},nPB.pj=function(){return this.sj()},nPB.Ji=function(){return new SJ(this)},nPB.Ki=function(n){return qj(this,n)},Nj(njv,"DelegatingNotifyingInternalEListImpl",2095),ncm(756,2095,njB),nPB.Li=function(){var n;return jM(n=Gt(Dt(this.b),this.Lj()).Hk(),156)&&!jM(n,469)&&(1&n.kk().i)==0},nPB.Hc=function(n){var t,e,i,r,a,c,o;if(!this.ol())return this.uj(n);if((o=this.Ej())>4){if(!this.fk(n))return!1;else if(this.al()){if(c=(t=(e=CY(n,54)).Eh())==this.b&&(this.ml()?e.yh(e.Fh(),CY(Gt(Dt(this.b),this.Lj()).Hk(),29).kk())==nnD(CY(Gt(Dt(this.b),this.Lj()),19)).n:-1-e.Fh()==this.Lj()),this.nl()&&!c&&!t&&e.Jh()){for(i=0;i<o;++i)if(ER(LK(this,this.xj(i)))===ER(n))return!0}return c}else if(this.ml()&&!this.ll()){if(ER(r=CY(n,58).Mh(nnD(CY(Gt(Dt(this.b),this.Lj()),19))))===ER(this.b))return!0;if(null==r||!CY(r,58).Vh())return!1}}if(a=this.uj(n),this.nl()&&!a){for(i=0;i<o;++i)if(ER(e=LK(this,this.xj(i)))===ER(n))return!0}return a},nPB.Ij=function(n,t,e,i,r){return new Uh(this.b,n,this.Lj(),t,e,i,r)},nPB.Jj=function(n){zP(this.b,n)},nPB.Fk=function(n){return this},nPB.Kj=function(){return Gt(Dt(this.b),this.Lj())},nPB.Lj=function(){return Ym(Dt(this.b),Gt(Dt(this.b),this.Lj()))},nPB.jj=function(){return this.b},nPB.kl=function(){return!!Gt(Dt(this.b),this.Lj()).Hk().kk()},nPB.Mj=function(){var n;return!!jM(n=Gt(Dt(this.b),this.Lj()),102)&&((CY(n,19).Bb&nEI)!=0||!!nnD(CY(n,19)))},nPB.ll=function(){var n,t,e;return!!jM(n=Gt(Dt(this.b),this.Lj()),102)&&!!(t=nnD(CY(n,19)))&&((e=t.t)>1||-1==e)},nPB.ml=function(){var n;return!!jM(n=Gt(Dt(this.b),this.Lj()),102)&&!!nnD(CY(n,19))},nPB.nl=function(){var n;return!!jM(n=Gt(Dt(this.b),this.Lj()),102)&&(CY(n,19).Bb&nwG)!=0},nPB.dd=function(n){var t,e,i;if((e=this.zj(n))>=0)return e;if(this.ol()){for(t=0,i=this.Ej();t<i;++t)if(ER(LK(this,this.xj(t)))===ER(n))return t}return -1},nPB.Nj=function(n,t){var e;return e=CY(n,54),this.ml()?this.kl()?e.Rh(this.b,nnD(CY(Gt(Dt(this.b),this.Lj()),19)).n,CY(Gt(Dt(this.b),this.Lj()).Hk(),29).kk(),t):e.Rh(this.b,Ym(e.Dh(),nnD(CY(Gt(Dt(this.b),this.Lj()),19))),null,t):e.Rh(this.b,-1-this.Lj(),null,t)},nPB.Oj=function(n,t){var e;return e=CY(n,54),this.ml()?this.kl()?e.Th(this.b,nnD(CY(Gt(Dt(this.b),this.Lj()),19)).n,CY(Gt(Dt(this.b),this.Lj()).Hk(),29).kk(),t):e.Th(this.b,Ym(e.Dh(),nnD(CY(Gt(Dt(this.b),this.Lj()),19))),null,t):e.Th(this.b,-1-this.Lj(),null,t)},nPB.al=function(){var n;return!!jM(n=Gt(Dt(this.b),this.Lj()),102)&&(CY(n,19).Bb&nEI)!=0},nPB.ol=function(){return jM(Gt(Dt(this.b),this.Lj()).Hk(),90)},nPB.fk=function(n){return Gt(Dt(this.b),this.Lj()).Hk().fk(n)},nPB.Pj=function(){return TN(this.b)},nPB.Qj=function(){return!this.Aj()},nPB.Si=function(){return Gt(Dt(this.b),this.Lj()).Si()},nPB.Wi=function(n,t){return nfp(this,n,t)},nPB.Wb=function(n){nfa(this),Nu(this,CY(n,15))},nPB.Pc=function(){var n;if(this.nl())for(n=this.Ej()-1;n>=0;--n)nfp(this,n,this.xj(n));return this.Fj()},nPB.Qc=function(n){var t;if(this.nl())for(t=this.Ej()-1;t>=0;--t)nfp(this,t,this.xj(t));return this.Gj(n)},nPB.Gk=function(){nfa(this)},nPB.Zi=function(n,t){return Hy(this,n,t)},Nj(njv,"DelegatingEcoreEList",756),ncm(1171,756,njB,P4),nPB.qj=function(n,t){var e;e=CY(t,29),Jo(FS(this.a),n,Rw(e))},nPB.rj=function(n){var t;t=CY(n,29),B7(FS(this.a),Rw(t))},nPB.xj=function(n){var t;return jM(t=CY(GO(FS(this.a),n),89).c,90)?CY(t,29):(nlq(),n2y)},nPB.Cj=function(n){var t;return jM(t=CY(no9(FS(this.a),n),89).c,90)?CY(t,29):(nlq(),n2y)},nPB.Dj=function(n,t){var e,i,r,a;return e=CY(t,29),((64&(a=jM(r=(i=CY(GO(FS(this.a),n),89)).c,90)?CY(r,29):(nlq(),n2y)).Db)!=0?Qk(this.b,a):a)==e?nsW(i):Gj(i,e),a},nPB.Li=function(){return!1},nPB.Ij=function(n,t,e,i,r){return null},nPB.sj=function(){return new w0(this)},nPB.tj=function(){nft(FS(this.a))},nPB.uj=function(n){return Q7(this,n)},nPB.vj=function(n){var t;for(t=n.Kc();t.Ob();)if(!Q7(this,t.Pb()))return!1;return!0},nPB.wj=function(n){var t,e,i;if(jM(n,15)&&(i=CY(n,15)).gc()==FS(this.a).i){for(t=i.Kc(),e=new j2(this);t.Ob();)if(ER(t.Pb())!==ER(Z6(e)))return!1;return!0}return!1},nPB.yj=function(){var n,t,e,i;for(t=1,n=new j2(FS(this.a));n.e!=n.i.gc();)t=31*t+((e=jM(i=CY(Z6(n),89).c,90)?CY(i,29):(nlq(),n2y))?SK(e):0);return t},nPB.zj=function(n){var t,e,i,r;for(i=0,e=new j2(FS(this.a));e.e!=e.i.gc();){if(t=CY(Z6(e),89),ER(n)===ER(jM(r=t.c,90)?CY(r,29):(nlq(),n2y)))return i;++i}return -1},nPB.Aj=function(){return 0==FS(this.a).i},nPB.Bj=function(){return null},nPB.Ej=function(){return FS(this.a).i},nPB.Fj=function(){var n,t,e,i,r;for(r=BJ(nPa,nl7,1,FS(this.a).i,5,1),e=0,t=new j2(FS(this.a));t.e!=t.i.gc();)n=CY(Z6(t),89),r[e++]=jM(i=n.c,90)?CY(i,29):(nlq(),n2y);return r},nPB.Gj=function(n){var t,e,i,r,a;for(a=FS(this.a).i,n.length<a&&(n=G7(WZ(n).c,a)),n.length>a&&NK(n,a,null),e=0,t=new j2(FS(this.a));t.e!=t.i.gc();)i=jM(r=CY(Z6(t),89).c,90)?CY(r,29):(nlq(),n2y),NK(n,e++,i);return n},nPB.Hj=function(){var n,t,e,i,r;for(r=new p1,r.a+="[",n=FS(this.a),t=0,i=FS(this.a).i;t<i;)EW(r,Sp(jM(e=CY(GO(n,t),89).c,90)?CY(e,29):(nlq(),n2y))),++t<i&&(r.a+=nl8);return r.a+="]",r.a},nPB.Jj=function(n){},nPB.Lj=function(){return 10},nPB.kl=function(){return!0},nPB.Mj=function(){return!1},nPB.ll=function(){return!1},nPB.ml=function(){return!1},nPB.nl=function(){return!0},nPB.al=function(){return!1},nPB.ol=function(){return!0},nPB.fk=function(n){return jM(n,90)},nPB.Qj=function(){var n;return!!(n=this.a).u&&0!=FS(n.u.a).i&&!(n.n&&nnH(n.n))},nPB.Si=function(){return!0},nPB.Yi=function(){return!0},Nj(nEL,"EClassImpl/8",1171),ncm(1172,2062,nbq,w0),nPB.fd=function(n){return qj(this.a,n)},nPB.gc=function(){return FS(this.a.a).i},Nj(nEL,"EClassImpl/8/1",1172),ncm(1173,506,nTv,o7),nPB.aj=function(n){return BJ(n0Q,nl7,142,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/9",1173),ncm(1160,49,nw6,gL),Nj(nEL,"EClassImpl/MyHashSet",1160),ncm(577,364,{110:1,94:1,93:1,142:1,156:1,847:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1},dH),nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return nty(this);case 4:return this.ik();case 5:return this.F;case 6:if(t)return GT(this);return DX(this);case 7:return this.A||(this.A=new jV(n06,this,7)),this.A;case 8:return SB(),(256&this.Bb)!=0}return HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nty(this);case 4:return null!=this.ik();case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!DX(this);case 7:return!!this.A&&0!=this.A.i;case 8:return(256&this.Bb)==0}return Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rl(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nf_(this,PA(t));return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A),this.A||(this.A=new jV(n06,this,7)),Nu(this.A,CY(t,16));return;case 8:Q6(this,pT(PC(t)));return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.ii=function(){return nlq(),n2l},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,184)&&(CY(this.Cb,184).tb=null),XC(this,null);return;case 2:WH(this,null),G9(this,this.D);return;case 5:nf_(this,null);return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A);return;case 8:Q6(this,!0);return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.pi=function(){Qz((nrR(),n28),this).xe(),this.Bb|=1},nPB.ok=function(){var n,t;if(!this.c&&!(n=nc_(GT(this))).dc())for(t=n.Kc();t.Ob();)nsA(this,PA(t.Pb()))&&function(n){var t,e;for(e=nc_(GT(n)).Kc();e.Ob();)if(nsA(n,t=PA(e.Pb()))){var i=(yk(),n2t);return Ez(null!=t?Db(i,t):ED(Aj(i.f,t)))}}(this);return this.b},nPB.ik=function(){var n;if(!this.e){n=null;try{n=nty(this)}catch(n){if(!jM(n=Vt(n),103))throw n.e}this.d=null,n&&(1&n.i)!=0&&(n==n4h?this.d=(SB(),nOo):n==n4s?this.d=Qx(0):n==n4w?this.d=new fA(0):n==n4b?this.d=0:n==n4f?this.d=ZE(0):n==n4d?this.d=Q$(0):n==n4l?this.d=Ub(0):this.d=z_(0)),this.e=!0}return this.d},nPB.nk=function(){return(256&this.Bb)!=0},nPB.rl=function(n){n&&(this.D="org.eclipse.emf.common.util.AbstractEnumerator")},nPB.gl=function(n){XF(this,n),this.rl(n)},nPB.hl=function(n){this.C=n,this.e=!1},nPB.Ib=function(){var n;return(64&this.Db)!=0?YO(this):(n=new Sm(YO(this)),n.a+=" (serializable: ",mL(n,(256&this.Bb)!=0),n.a+=")",n.a)},nPB.c=!1,nPB.d=null,nPB.e=!1,Nj(nEL,"EDataTypeImpl",577),ncm(469,577,{110:1,94:1,93:1,142:1,156:1,847:1,685:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,469:1,158:1,119:1,120:1,691:1},gN),nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return nty(this);case 4:return WX(this);case 5:return this.F;case 6:if(t)return GT(this);return DX(this);case 7:return this.A||(this.A=new jV(n06,this,7)),this.A;case 8:return SB(),(256&this.Bb)!=0;case 9:return this.a||(this.a=new Lk(n01,this,9,5)),this.a}return HE(this,n-N$((nlq(),n2b)),Gt(CY(zA(this,16),29)||n2b,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?ntS(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,6,e);case 9:return this.a||(this.a=new Lk(n01,this,9,5)),YU(this.a,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2b),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2b)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 6:return nsP(this,null,6,e);case 7:return this.A||(this.A=new jV(n06,this,7)),nnw(this.A,n,e);case 9:return this.a||(this.a=new Lk(n01,this,9,5)),nnw(this.a,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2b),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2b)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nty(this);case 4:return!!WX(this);case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!DX(this);case 7:return!!this.A&&0!=this.A.i;case 8:return(256&this.Bb)==0;case 9:return!!this.a&&0!=this.a.i}return Fr(this,n-N$((nlq(),n2b)),Gt(CY(zA(this,16),29)||n2b,n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rl(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nf_(this,PA(t));return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A),this.A||(this.A=new jV(n06,this,7)),Nu(this.A,CY(t,16));return;case 8:Q6(this,pT(PC(t)));return;case 9:this.a||(this.a=new Lk(n01,this,9,5)),nft(this.a),this.a||(this.a=new Lk(n01,this,9,5)),Nu(this.a,CY(t,16));return}J5(this,n-N$((nlq(),n2b)),Gt(CY(zA(this,16),29)||n2b,n),t)},nPB.ii=function(){return nlq(),n2b},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,184)&&(CY(this.Cb,184).tb=null),XC(this,null);return;case 2:WH(this,null),G9(this,this.D);return;case 5:nf_(this,null);return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A);return;case 8:Q6(this,!0);return;case 9:this.a||(this.a=new Lk(n01,this,9,5)),nft(this.a);return}QZ(this,n-N$((nlq(),n2b)),Gt(CY(zA(this,16),29)||n2b,n))},nPB.pi=function(){var n,t;if(this.a)for(n=0,t=this.a.i;n<t;++n)S4(GO(this.a,n));Qz((nrR(),n28),this).xe(),this.Bb|=1},nPB.ik=function(){return WX(this)},nPB.fk=function(n){return null!=n},nPB.rl=function(n){},Nj(nEL,"EEnumImpl",469),ncm(582,448,{110:1,94:1,93:1,2039:1,694:1,155:1,197:1,58:1,114:1,54:1,99:1,582:1,158:1,119:1,120:1},dB),nPB.xe=function(){return this.zb},nPB.Ah=function(n){return nt5(this,n)},nPB.Lh=function(n,t,e){var i;switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Qx(this.d);case 3:return this.b?this.b:this.a;case 4:return null==(i=this.c)?this.zb:i;case 5:return this.Db>>16==5?CY(this.Cb,685):null}return HE(this,n-N$((nlq(),n2w)),Gt(CY(zA(this,16),29)||n2w,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 5:return this.Cb&&(e=(i=this.Db>>16)>=0?nt5(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,5,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2w),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2w)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 5:return nsP(this,null,5,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2w),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2w)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0!=this.d;case 3:return!!this.b;case 4:return null!=this.c;case 5:return!!(this.Db>>16==5?CY(this.Cb,685):null)}return Fr(this,n-N$((nlq(),n2w)),Gt(CY(zA(this,16),29)||n2w,n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:XC(this,PA(t));return;case 2:G8(this,CY(t,17).a);return;case 3:naV(this,CY(t,2039));return;case 4:qJ(this,PA(t));return}J5(this,n-N$((nlq(),n2w)),Gt(CY(zA(this,16),29)||n2w,n),t)},nPB.ii=function(){return nlq(),n2w},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:XC(this,null);return;case 2:G8(this,0);return;case 3:naV(this,null);return;case 4:qJ(this,null);return}QZ(this,n-N$((nlq(),n2w)),Gt(CY(zA(this,16),29)||n2w,n))},nPB.Ib=function(){var n;return null==(n=this.c)?this.zb:n},nPB.b=null,nPB.c=null,nPB.d=0,Nj(nEL,"EEnumLiteralImpl",582);var n09=IH(nEL,"EFactoryImpl/InternalEDateTimeFormat");ncm(499,1,{2114:1},w2),Nj(nEL,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),ncm(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},df),nPB.Ch=function(n,t,e){var i;return e=nsP(this,n,t,e),this.e&&jM(n,179)&&(i=non(this,this.e))!=this.c&&(e=nfH(this,i,e)),e},nPB.Lh=function(n,t,e){switch(n){case 0:return this.f;case 1:return this.d||(this.d=new jU(n00,this,1)),this.d;case 2:if(t)return nsW(this);return this.c;case 3:return this.b;case 4:return this.e;case 5:if(t)return nnX(this);return this.a}return HE(this,n-N$((nlq(),n2g)),Gt(CY(zA(this,16),29)||n2g,n),t,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return QM(this,null,e);case 1:return this.d||(this.d=new jU(n00,this,1)),nnw(this.d,n,e);case 3:return QE(this,null,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2g),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2g)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.f;case 1:return!!this.d&&0!=this.d.i;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return Fr(this,n-N$((nlq(),n2g)),Gt(CY(zA(this,16),29)||n2g,n))},nPB.bi=function(n,t){switch(n){case 0:neY(this,CY(t,89));return;case 1:this.d||(this.d=new jU(n00,this,1)),nft(this.d),this.d||(this.d=new jU(n00,this,1)),Nu(this.d,CY(t,16));return;case 3:neJ(this,CY(t,89));return;case 4:niJ(this,CY(t,850));return;case 5:Gj(this,CY(t,142));return}J5(this,n-N$((nlq(),n2g)),Gt(CY(zA(this,16),29)||n2g,n),t)},nPB.ii=function(){return nlq(),n2g},nPB.ki=function(n){switch(n){case 0:neY(this,null);return;case 1:this.d||(this.d=new jU(n00,this,1)),nft(this.d);return;case 3:neJ(this,null);return;case 4:niJ(this,null);return;case 5:Gj(this,null);return}QZ(this,n-N$((nlq(),n2g)),Gt(CY(zA(this,16),29)||n2g,n))},nPB.Ib=function(){var n;return n=new Sv(ncG(this)),n.a+=" (expression: ",!function n(t,e){var i,r,a,c,o,u,s;if(t.a){if(u=t.a.xe(),s=null,null!=u?e.a+=""+u:null!=(o=t.a.mk())&&(-1!=(c=Tp(o,niT(91)))?(Rx(c,o.length+1),s=o.substr(c),e.a+=""+Di(null==o?nbi:(xf(o),o),0,c)):e.a+=""+o),t.d&&0!=t.d.i){for(a=!0,e.a+="<",r=new j2(t.d);r.e!=r.i.gc();)i=CY(Z6(r),89),a?a=!1:e.a+=nl8,n(i,e);e.a+=">"}null!=s&&(e.a+=""+s)}else t.e?null!=(u=t.e.zb)&&(e.a+=""+u):(e.a+="?",t.b?(e.a+=" super ",n(t.b,e)):t.f&&(e.a+=" extends ",n(t.f,e)))}(this,n),n.a+=")",n.a},Nj(nEL,"EGenericTypeImpl",248),ncm(2067,2062,njH),nPB.Gi=function(n,t){var e,i,r;e=this,i=n,r=t,e.fd(i).Rb(r)},nPB.Wk=function(n,t){var e,i,r;return e=this,i=this.gc(),r=n,e.fd(i).Rb(r),t},nPB.$i=function(n){return nnt(this.pj(),n)},nPB.Ii=function(){return this.Ji()},nPB.pj=function(){return new dt(this)},nPB.Ji=function(){return this.Ki(0)},nPB.Ki=function(n){return this.pj().fd(n)},nPB.Xk=function(n,t){return Yd(this,n,!0),t},nPB.Ti=function(n,t){var e;return e=ntQ(this,t),this.fd(n).Rb(e),e},nPB.Ui=function(n,t){Yd(this,t,!0),this.fd(n).Rb(t)},Nj(njv,"AbstractSequentialInternalEList",2067),ncm(496,2067,njH,SU),nPB.$i=function(n){return nnt(this.pj(),n)},nPB.Ii=function(){return null==this.b?(yj(),yj(),n2R):this.sl()},nPB.pj=function(){return new Ts(this.a,this.b)},nPB.Ji=function(){return null==this.b?(yj(),yj(),n2R):this.sl()},nPB.Ki=function(n){var t,e;if(null==this.b){if(n<0||n>1)throw new pC(njt+n+", size=0").e;return yj(),yj(),n2R}for(t=0,e=this.sl();t<n;++t)zD(e);return e},nPB.dc=function(){var n,t,e,i,r,a;if(null!=this.b){for(e=0;e<this.b.length;++e)if(n=this.b[e],!this.vl()||this.a.Xh(n)){if(a=this.a.Nh(n,!1),yP(),CY(n,69).xk()){for(i=0,r=(t=CY(a,160)).gc();i<r;++i)if(xn(t.Tl(i))&&null!=t.Ul(i))return!1}else if(n.Jk()){if(!CY(a,16).dc())return!1}else if(null!=a)return!1}}return!0},nPB.Kc=function(){return Xs(this)},nPB.fd=function(n){var t,e;if(null==this.b){if(0!=n)throw new pC(njt+n+", size=0").e;return yj(),yj(),n2R}for(t=0,e=this.ul()?this.tl():this.sl();t<n;++t)zD(e);return e},nPB.Ti=function(n,t){throw(new dD).e},nPB.Ui=function(n,t){throw(new dD).e},nPB.sl=function(){return new SG(this.a,this.b)},nPB.tl=function(){return new Pp(this.a,this.b)},nPB.ul=function(){return!0},nPB.gc=function(){var n,t,e,i,r,a,c;if(r=0,null!=this.b){for(e=0;e<this.b.length;++e)if(n=this.b[e],!this.vl()||this.a.Xh(n))if(c=this.a.Nh(n,!1),yP(),CY(n,69).xk())for(i=0,a=(t=CY(c,160)).gc();i<a;++i)xn(t.Tl(i))&&null!=t.Ul(i)&&++r;else n.Jk()?r+=CY(c,16).gc():null!=c&&++r}return r},nPB.vl=function(){return!0},Nj(njv,"EContentsEList",496),ncm(1177,496,njH,Pg),nPB.sl=function(){return new Pv(this.a,this.b)},nPB.tl=function(){return new Pm(this.a,this.b)},nPB.vl=function(){return!1},Nj(nEL,"ENamedElementImpl/1",1177),ncm(287,1,njU,SG),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){throw(new dD).e},nPB.wl=function(n){if(0!=this.g||this.e)throw new px("Iterator already in use or already filtered").e;this.e=n},nPB.Ob=function(){var n,t,e,i,r,a;switch(this.g){case 3:case 2:return!0;case 1:return!1;case -3:this.p?this.p.Pb():++this.n;default:if(this.k&&(this.p?nr$(this,this.p):naZ(this)))return r=this.p?this.p.Pb():this.j?this.j.$i(this.n++):this.k.Xb(this.n++),this.f?((n=CY(r,76)).Lk(),e=n.md()):e=r,this.i=e,this.g=3,!0;for(;this.d<this.c.length;)if(t=this.c[this.d++],(!this.e||t.pk()!=nL1||0!=t.Lj())&&(!this.vl()||this.b.Xh(t))){if(a=this.b.Nh(t,this.ul()),this.f=(yP(),CY(t,69).xk()),this.f||t.Jk()){if(this.ul()?(i=CY(a,15),this.k=i):(i=CY(a,71),this.k=this.j=i),jM(this.k,59)?(this.p=null,this.o=this.k.gc(),this.n=0):this.p=this.j?this.j.Ji():this.k.ed(),this.p?nr$(this,this.p):naZ(this))return r=this.p?this.p.Pb():this.j?this.j.$i(this.n++):this.k.Xb(this.n++),this.f?((n=CY(r,76)).Lk(),e=n.md()):e=r,this.i=e,this.g=3,!0}else if(null!=a)return this.k=null,this.p=null,e=a,this.i=e,this.g=2,!0}return this.k=null,this.p=null,this.f=!1,this.g=1,!1}},nPB.Sb=function(){var n,t,e,i,r,a;switch(this.g){case -3:case -2:return!0;case -1:return!1;case 3:this.p?this.p.Ub():--this.n;default:if(this.k&&(this.p?nrD(this,this.p):nr7(this)))return r=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?((n=CY(r,76)).Lk(),e=n.md()):e=r,this.i=e,this.g=-3,!0;for(;this.d>0;)if(t=this.c[--this.d],(!this.e||t.pk()!=nL1||0!=t.Lj())&&(!this.vl()||this.b.Xh(t))){if(a=this.b.Nh(t,this.ul()),this.f=(yP(),CY(t,69).xk()),this.f||t.Jk()){if(this.ul()?(i=CY(a,15),this.k=i):(i=CY(a,71),this.k=this.j=i),jM(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?nrD(this,this.p):nr7(this))return r=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?((n=CY(r,76)).Lk(),e=n.md()):e=r,this.i=e,this.g=-3,!0}else if(null!=a)return this.k=null,this.p=null,e=a,this.i=e,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}},nPB.Pb=function(){return zD(this)},nPB.Tb=function(){return this.a},nPB.Ub=function(){var n;if(this.g<-1||this.Sb())return--this.a,this.g=0,n=this.i,this.Sb(),n;throw(new dF).e},nPB.Vb=function(){return this.a-1},nPB.Qb=function(){throw(new dD).e},nPB.ul=function(){return!1},nPB.Wb=function(n){throw(new dD).e},nPB.vl=function(){return!0},nPB.a=0,nPB.d=0,nPB.f=!1,nPB.g=0,nPB.n=0,nPB.o=0,Nj(njv,"EContentsEList/FeatureIteratorImpl",287),ncm(711,287,njU,Pp),nPB.ul=function(){return!0},Nj(njv,"EContentsEList/ResolvingFeatureIteratorImpl",711),ncm(1178,711,njU,Pm),nPB.vl=function(){return!1},Nj(nEL,"ENamedElementImpl/1/1",1178),ncm(1179,287,njU,Pv),nPB.vl=function(){return!1},Nj(nEL,"ENamedElementImpl/1/2",1179),ncm(39,152,njn,FL,FN,LM,Hh,Uh,_M,qo,R5,qu,R8,_E,R9,qf,R7,_T,Kn,qs,Kt,LE,Hf,$D,qh,Ke,_j,Ki),nPB.Kj=function(){return B9(this)},nPB.Rj=function(){var n;return(n=B9(this))?n.ik():null},nPB.hj=function(n){return -1==this.b&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,n)},nPB.jj=function(){return this.c},nPB.Sj=function(){var n;return!!(n=B9(this))&&n.tk()},nPB.b=-1,Nj(nEL,"ENotificationImpl",39),ncm(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},gx),nPB.Ah=function(n){return ner(this,n)},nPB.Lh=function(n,t,e){var i;switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),(i=this.t)>1||-1==i;case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q;case 10:return this.Db>>16==10?CY(this.Cb,29):null;case 11:return this.d||(this.d=new jV(n06,this,11)),this.d;case 12:return this.c||(this.c=new Lk(n03,this,12,10)),this.c;case 13:return this.a||(this.a=new P6(this,this)),this.a;case 14:return Ui(this)}return HE(this,n-N$((nlq(),n2k)),Gt(CY(zA(this,16),29)||n2k,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 10:return this.Cb&&(e=(i=this.Db>>16)>=0?ner(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,10,e);case 12:return this.c||(this.c=new Lk(n03,this,12,10)),YU(this.c,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2k),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2k)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 9:return Ns(this,e);case 10:return nsP(this,null,10,e);case 11:return this.d||(this.d=new jV(n06,this,11)),nnw(this.d,n,e);case 12:return this.c||(this.c=new Lk(n03,this,12,10)),nnw(this.c,n,e);case 14:return nnw(Ui(this),n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2k),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2k)),n,e)},nPB.Wh=function(n){var t;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(t=this.t)>1||-1==t;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i);case 10:return!!(this.Db>>16==10?CY(this.Cb,29):null);case 11:return!!this.d&&0!=this.d.i;case 12:return!!this.c&&0!=this.c.i;case 13:return!!this.a&&0!=Ui(this.a.a).i&&!(this.b&&nnU(this.b));case 14:return!!this.b&&nnU(this.b)}return Fr(this,n-N$((nlq(),n2k)),Gt(CY(zA(this,16),29)||n2k,n))},nPB.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:XC(this,PA(t));return;case 2:Q3(this,pT(PC(t)));return;case 3:Q5(this,pT(PC(t)));return;case 4:G6(this,CY(t,17).a);return;case 5:G5(this,CY(t,17).a);return;case 8:Qn(this,CY(t,142));return;case 9:(e=niM(this,CY(t,89),null))&&e.oj();return;case 11:this.d||(this.d=new jV(n06,this,11)),nft(this.d),this.d||(this.d=new jV(n06,this,11)),Nu(this.d,CY(t,16));return;case 12:this.c||(this.c=new Lk(n03,this,12,10)),nft(this.c),this.c||(this.c=new Lk(n03,this,12,10)),Nu(this.c,CY(t,16));return;case 13:this.a||(this.a=new P6(this,this)),nfa(this.a),this.a||(this.a=new P6(this,this)),Nu(this.a,CY(t,16));return;case 14:nft(Ui(this)),Nu(Ui(this),CY(t,16));return}J5(this,n-N$((nlq(),n2k)),Gt(CY(zA(this,16),29)||n2k,n),t)},nPB.ii=function(){return nlq(),n2k},nPB.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:XC(this,null);return;case 2:Q3(this,!0);return;case 3:Q5(this,!0);return;case 4:G6(this,0);return;case 5:G5(this,1);return;case 8:Qn(this,null);return;case 9:(t=niM(this,null,null))&&t.oj();return;case 11:this.d||(this.d=new jV(n06,this,11)),nft(this.d);return;case 12:this.c||(this.c=new Lk(n03,this,12,10)),nft(this.c);return;case 13:this.a&&nfa(this.a);return;case 14:this.b&&nft(this.b);return}QZ(this,n-N$((nlq(),n2k)),Gt(CY(zA(this,16),29)||n2k,n))},nPB.pi=function(){var n,t;if(this.c)for(n=0,t=this.c.i;n<t;++n)S4(GO(this.c,n));nec(this),this.Bb|=1},Nj(nEL,"EOperationImpl",411),ncm(513,756,njB,P6),nPB.qj=function(n,t){var e;e=CY(t,142),Jo(Ui(this.a),n,Rd(e))},nPB.rj=function(n){var t;t=CY(n,142),B7(Ui(this.a),Rd(t))},nPB.xj=function(n){return CY(GO(Ui(this.a),n),89).c||(nlq(),n2p)},nPB.Cj=function(n){return CY(no9(Ui(this.a),n),89).c||(nlq(),n2p)},nPB.Dj=function(n,t){var e,i,r;return e=CY(t,142),((r=(i=CY(GO(Ui(this.a),n),89)).c||(nlq(),n2p)).Vh()?Qk(this.b,CY(r,54)):r)==e?nsW(i):Gj(i,e),r},nPB.Li=function(){return!1},nPB.Ij=function(n,t,e,i,r){return null},nPB.sj=function(){return new w3(this)},nPB.tj=function(){nft(Ui(this.a))},nPB.uj=function(n){return Ja(this,n)},nPB.vj=function(n){var t;for(t=n.Kc();t.Ob();)if(!Ja(this,t.Pb()))return!1;return!0},nPB.wj=function(n){var t,e,i;if(jM(n,15)&&(i=CY(n,15)).gc()==Ui(this.a).i){for(t=i.Kc(),e=new j2(this);t.Ob();)if(ER(t.Pb())!==ER(Z6(e)))return!1;return!0}return!1},nPB.yj=function(){var n,t,e;for(t=1,n=new j2(Ui(this.a));n.e!=n.i.gc();)t=31*t+((e=CY(Z6(n),89).c||(nlq(),n2p))?XS(e):0);return t},nPB.zj=function(n){var t,e,i;for(i=0,e=new j2(Ui(this.a));e.e!=e.i.gc();){if(t=CY(Z6(e),89),ER(n)===ER(t.c||(nlq(),n2p)))return i;++i}return -1},nPB.Aj=function(){return 0==Ui(this.a).i},nPB.Bj=function(){return null},nPB.Ej=function(){return Ui(this.a).i},nPB.Fj=function(){var n,t,e,i;for(i=BJ(nPa,nl7,1,Ui(this.a).i,5,1),e=0,t=new j2(Ui(this.a));t.e!=t.i.gc();)n=CY(Z6(t),89),i[e++]=n.c||(nlq(),n2p);return i},nPB.Gj=function(n){var t,e,i,r;for(r=Ui(this.a).i,n.length<r&&(n=G7(WZ(n).c,r)),n.length>r&&NK(n,r,null),e=0,t=new j2(Ui(this.a));t.e!=t.i.gc();)i=CY(Z6(t),89).c||(nlq(),n2p),NK(n,e++,i);return n},nPB.Hj=function(){var n,t,e,i;for(i=new p1,i.a+="[",n=Ui(this.a),t=0,e=Ui(this.a).i;t<e;)EW(i,Sp(CY(GO(n,t),89).c||(nlq(),n2p))),++t<e&&(i.a+=nl8);return i.a+="]",i.a},nPB.Jj=function(n){},nPB.Lj=function(){return 13},nPB.kl=function(){return!0},nPB.Mj=function(){return!1},nPB.ll=function(){return!1},nPB.ml=function(){return!1},nPB.nl=function(){return!0},nPB.al=function(){return!1},nPB.ol=function(){return!0},nPB.fk=function(n){return jM(n,142)},nPB.Qj=function(){var n;return!!(n=this.a).a&&0!=Ui(n.a.a).i&&!(n.b&&nnU(n.b))},nPB.Si=function(){return!0},nPB.Yi=function(){return!0},Nj(nEL,"EOperationImpl/1",513),ncm(1376,2062,nbq,w3),nPB.fd=function(n){return qj(this.a,n)},nPB.gc=function(){return Ui(this.a.a).i},Nj(nEL,"EOperationImpl/1/1",1376),ncm(1377,555,njD,AU),nPB.Ti=function(n,t){var e;return e=CY(Jp(this,n,t),89),TN(this.e)&&dq(this,new Hf(this.a,7,(nlq(),n2M),Qx(t),e.c||n2p,n)),e},nPB.Uj=function(n,t){var e,i,r;return e=CY(n,89),i=t,r=new Uh(this.e,3,13,null,e.c||(nlq(),n2p),nnm(this,e),!1),i?i.nj(r):i=r,i},nPB.Vj=function(n,t){var e,i,r;return e=CY(n,89),i=t,r=new Uh(this.e,4,13,e.c||(nlq(),n2p),null,nnm(this,e),!1),i?i.nj(r):i=r,i},nPB.Wj=function(n,t,e){var i,r,a,c;return i=CY(n,89),r=CY(t,89),a=e,c=new Uh(this.e,1,13,i.c||(nlq(),n2p),r.c||(nlq(),n2p),nnm(this,i),!1),a?a.nj(c):a=c,a},nPB.Ij=function(n,t,e,i,r){switch(n){case 3:return Ri(this,n,t,e,i,this.i>1);case 5:return Ri(this,n,t,e,i,this.i-CY(e,15).gc()>0);default:return new Uh(this.e,n,this.c,t,e,i,!0)}},nPB.Tj=function(){return!0},nPB.Qj=function(){return nnU(this)},nPB.Gk=function(){nft(this)},Nj(nEL,"EOperationImpl/2",1377),ncm(507,1,{2037:1,507:1},EP),Nj(nEL,"EPackageImpl/1",507),ncm(14,83,njD,Lk),nPB.il=function(){return this.d},nPB.jl=function(){return this.b},nPB.ml=function(){return!0},nPB.b=0,Nj(njv,"EObjectContainmentWithInverseEList",14),ncm(365,14,njD,OS),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectContainmentWithInverseEList/Resolving",365),ncm(308,365,njD,LC),nPB.Ni=function(){this.a.tb=null},Nj(nEL,"EPackageImpl/2",308),ncm(1278,1,{},un),Nj(nEL,"EPackageImpl/3",1278),ncm(733,45,nw4,g$),nPB._b=function(n){return EK(n)?$G(this,n):!!Aj(this.f,n)},Nj(nEL,"EPackageRegistryImpl",733),ncm(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},gD),nPB.Ah=function(n){return nea(this,n)},nPB.Lh=function(n,t,e){var i;switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),(i=this.t)>1||-1==i;case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q;case 10:return this.Db>>16==10?CY(this.Cb,62):null}return HE(this,n-N$((nlq(),n2T)),Gt(CY(zA(this,16),29)||n2T,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 10:return this.Cb&&(e=(i=this.Db>>16)>=0?nea(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,10,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2T),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2T)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 9:return Ns(this,e);case 10:return nsP(this,null,10,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2T),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2T)),n,e)},nPB.Wh=function(n){var t;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(t=this.t)>1||-1==t;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i);case 10:return!!(this.Db>>16==10?CY(this.Cb,62):null)}return Fr(this,n-N$((nlq(),n2T)),Gt(CY(zA(this,16),29)||n2T,n))},nPB.ii=function(){return nlq(),n2T},Nj(nEL,"EParameterImpl",518),ncm(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},PF),nPB.Lh=function(n,t,e){var i,r;switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),(r=this.t)>1||-1==r;case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q;case 10:return SB(),(this.Bb&nbB)!=0;case 11:return SB(),(this.Bb&njT)!=0;case 12:return SB(),(this.Bb&nwB)!=0;case 13:return this.j;case 14:return nos(this);case 15:return SB(),(this.Bb&njE)!=0;case 16:return SB(),(this.Bb&nbk)!=0;case 17:return DW(this);case 18:return SB(),(this.Bb&nEI)!=0;case 19:return SB(),!!(i=nnD(this))&&(i.Bb&nEI)!=0;case 20:return SB(),(this.Bb&nwG)!=0;case 21:if(t)return nnD(this);return this.b;case 22:if(t)return VZ(this);return _x(this);case 23:return this.a||(this.a=new jJ(n0W,this,23)),this.a}return HE(this,n-N$((nlq(),n2j)),Gt(CY(zA(this,16),29)||n2j,n),t,e)},nPB.Wh=function(n){var t,e;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(e=this.t)>1||-1==e;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i);case 10:return(this.Bb&nbB)==0;case 11:return(this.Bb&njT)!=0;case 12:return(this.Bb&nwB)!=0;case 13:return null!=this.j;case 14:return null!=nos(this);case 15:return(this.Bb&njE)!=0;case 16:return(this.Bb&nbk)!=0;case 17:return!!DW(this);case 18:return(this.Bb&nEI)!=0;case 19:return!!(t=nnD(this))&&(t.Bb&nEI)!=0;case 20:return(this.Bb&nwG)==0;case 21:return!!this.b;case 22:return!!_x(this);case 23:return!!this.a&&0!=this.a.i}return Fr(this,n-N$((nlq(),n2j)),Gt(CY(zA(this,16),29)||n2j,n))},nPB.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rb(this,PA(t));return;case 2:Q3(this,pT(PC(t)));return;case 3:Q5(this,pT(PC(t)));return;case 4:G6(this,CY(t,17).a);return;case 5:G5(this,CY(t,17).a);return;case 8:Qn(this,CY(t,142));return;case 9:(e=niM(this,CY(t,89),null))&&e.oj();return;case 10:Jv(this,pT(PC(t)));return;case 11:JM(this,pT(PC(t)));return;case 12:Jy(this,pT(PC(t)));return;case 13:EE(this,PA(t));return;case 15:Jk(this,pT(PC(t)));return;case 16:JD(this,pT(PC(t)));return;case 18:J$(this,pT(PC(t))),jM(this.Cb,90)&&nar(_v(CY(this.Cb,90)),2);return;case 20:JR(this,pT(PC(t)));return;case 21:Xr(this,CY(t,19));return;case 23:this.a||(this.a=new jJ(n0W,this,23)),nft(this.a),this.a||(this.a=new jJ(n0W,this,23)),Nu(this.a,CY(t,16));return}J5(this,n-N$((nlq(),n2j)),Gt(CY(zA(this,16),29)||n2j,n),t)},nPB.ii=function(){return nlq(),n2j},nPB.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,90)&&nar(_v(CY(this.Cb,90)),4),XC(this,null);return;case 2:Q3(this,!0);return;case 3:Q5(this,!0);return;case 4:G6(this,0);return;case 5:G5(this,1);return;case 8:Qn(this,null);return;case 9:(t=niM(this,null,null))&&t.oj();return;case 10:Jv(this,!0);return;case 11:JM(this,!1);return;case 12:Jy(this,!1);return;case 13:this.i=null,Xi(this,null);return;case 15:Jk(this,!1);return;case 16:JD(this,!1);return;case 18:J$(this,!1),jM(this.Cb,90)&&nar(_v(CY(this.Cb,90)),2);return;case 20:JR(this,!0);return;case 21:Xr(this,null);return;case 23:this.a||(this.a=new jJ(n0W,this,23)),nft(this.a);return}QZ(this,n-N$((nlq(),n2j)),Gt(CY(zA(this,16),29)||n2j,n))},nPB.pi=function(){VZ(this),xK(Ua((nrR(),n28),this)),nec(this),this.Bb|=1},nPB.uk=function(){return nnD(this)},nPB._k=function(){var n;return!!(n=nnD(this))&&(n.Bb&nEI)!=0},nPB.al=function(){return(this.Bb&nEI)!=0},nPB.bl=function(){return(this.Bb&nwG)!=0},nPB.Yk=function(n,t){return this.c=null,QX(this,n,t)},nPB.Ib=function(){var n;return(64&this.Db)!=0?nu$(this):(n=new Sm(nu$(this)),n.a+=" (containment: ",mL(n,(this.Bb&nEI)!=0),n.a+=", resolveProxies: ",mL(n,(this.Bb&nwG)!=0),n.a+=")",n.a)},Nj(nEL,"EReferenceImpl",102),ncm(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},ut),nPB.Fb=function(n){return this===n},nPB.ld=function(){return this.b},nPB.md=function(){return this.c},nPB.Hb=function(){return SK(this)},nPB.Di=function(n){var t;q4(this,null==(t=PA(n))?null:(xf(t),t))},nPB.nd=function(n){var t,e;return t=PA(n),e=this.c,q6(this,t),e},nPB.Lh=function(n,t,e){switch(n){case 0:return this.b;case 1:return this.c}return HE(this,n-N$((nlq(),n2S)),Gt(CY(zA(this,16),29)||n2S,n),t,e)},nPB.Wh=function(n){switch(n){case 0:return null!=this.b;case 1:return null!=this.c}return Fr(this,n-N$((nlq(),n2S)),Gt(CY(zA(this,16),29)||n2S,n))},nPB.bi=function(n,t){var e;switch(n){case 0:q4(this,null==(e=PA(t))?null:(xf(e),e));return;case 1:q6(this,PA(t));return}J5(this,n-N$((nlq(),n2S)),Gt(CY(zA(this,16),29)||n2S,n),t)},nPB.ii=function(){return nlq(),n2S},nPB.ki=function(n){switch(n){case 0:q4(this,null);return;case 1:q6(this,null);return}QZ(this,n-N$((nlq(),n2S)),Gt(CY(zA(this,16),29)||n2S,n))},nPB.Bi=function(){var n;return -1==this.a&&(n=this.b,this.a=null==n?0:Wb(n)),this.a},nPB.Ci=function(n){this.a=n},nPB.Ib=function(){var n;return(64&this.Db)!=0?ncG(this):(n=new Sm(ncG(this)),n.a+=" (key: ",EW(n,this.b),n.a+=", value: ",EW(n,this.c),n.a+=")",n.a)},nPB.a=-1,nPB.b=null,nPB.c=null;var n07=Nj(nEL,"EStringToStringMapEntryImpl",561),n2n=IH(njv,"FeatureMap/Entry/Internal");ncm(576,1,njG),nPB.xl=function(n){return this.yl(CY(n,54))},nPB.yl=function(n){return this.xl(n)},nPB.Fb=function(n){var t,e;return this===n||!!jM(n,76)&&(t=CY(n,76)).Lk()==this.c&&(null==(e=this.md())?null==t.md():QY(e,t.md()))},nPB.Lk=function(){return this.c},nPB.Hb=function(){var n;return n=this.md(),XS(this.c)^(null==n?0:XS(n))},nPB.Ib=function(){var n,t;return t=GT((n=this.c).qk()).yi(),n.xe(),(null!=t&&0!=t.length?t+":"+n.xe():n.xe())+"="+this.md()},Nj(nEL,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),ncm(791,576,njG,P8),nPB.yl=function(n){return new P8(this.c,n)},nPB.md=function(){return this.a},nPB.zl=function(n,t,e){var i,r,a;return i=this.a,r=e,i&&(a=Ym(n.Dh(),this.c),r=i.Rh(n,-1-(-1==a?t:a),null,r)),r},nPB.Al=function(n,t,e){var i,r,a;return i=this.a,r=e,i&&(a=Ym(n.Dh(),this.c),r=i.Th(n,-1-(-1==a?t:a),null,r)),r},Nj(nEL,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),ncm(1350,1,{},EO),nPB.yk=function(n,t,e,i,r){return CY(Hw(n,this.b),220).Yl(this.a).Fk(i)},nPB.zk=function(n,t,e,i,r){return CY(Hw(n,this.b),220).Pl(this.a,i,r)},nPB.Ak=function(n,t,e,i,r){return CY(Hw(n,this.b),220).Ql(this.a,i,r)},nPB.Bk=function(n,t,e){return CY(Hw(n,this.b),220).Yl(this.a).Qj()},nPB.Ck=function(n,t,e,i){CY(Hw(n,this.b),220).Yl(this.a).Wb(i)},nPB.Dk=function(n,t,e){return CY(Hw(n,this.b),220).Yl(this.a)},nPB.Ek=function(n,t,e){CY(Hw(n,this.b),220).Yl(this.a).Gk()},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),ncm(91,1,{},CN,$a,$0,F$),nPB.yk=function(n,t,e,i,r){var a;if(null==(a=t.li(e))&&t.mi(e,a=nlD(this,n)),!r)switch(this.e){case 50:case 41:return CY(a,597).bk();case 40:return CY(a,220).Vl()}return a},nPB.zk=function(n,t,e,i,r){var a;return null==(a=t.li(e))&&t.mi(e,a=nlD(this,n)),CY(a,71).Wk(i,r)},nPB.Ak=function(n,t,e,i,r){var a;return null!=(a=t.li(e))&&(r=CY(a,71).Xk(i,r)),r},nPB.Bk=function(n,t,e){var i;return null!=(i=t.li(e))&&CY(i,79).Qj()},nPB.Ck=function(n,t,e,i){var r;(r=CY(t.li(e),79))||t.mi(e,r=nlD(this,n)),r.Wb(i)},nPB.Dk=function(n,t,e){var i;return(null==(i=t.li(e))&&t.mi(e,i=nlD(this,n)),jM(i,79))?CY(i,79):new w4(CY(t.li(e),15))},nPB.Ek=function(n,t,e){var i;(i=CY(t.li(e),79))||t.mi(e,i=nlD(this,n)),i.Gk()},nPB.b=0,nPB.e=0,Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),ncm(512,1,{}),nPB.zk=function(n,t,e,i,r){throw(new dD).e},nPB.Ak=function(n,t,e,i,r){throw(new dD).e},nPB.Dk=function(n,t,e){return new $c(this,n,t,e)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),ncm(1367,1,njy,$c),nPB.Fk=function(n){return this.a.yk(this.c,this.d,this.b,n,!0)},nPB.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},nPB.Wb=function(n){this.a.Ck(this.c,this.d,this.b,n)},nPB.Gk=function(){this.a.Ek(this.c,this.d,this.b)},nPB.b=0,Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),ncm(784,512,{},Df),nPB.yk=function(n,t,e,i,r){return nst(n,n.Ph(),n.Fh())==this.b?this.bl()&&i?ncs(n):n.Ph():null},nPB.zk=function(n,t,e,i,r){var a,c;return n.Ph()&&(r=(a=n.Fh())>=0?n.Ah(r):n.Ph().Th(n,-1-a,null,r)),c=Ym(n.Dh(),this.e),n.Ch(i,c,r)},nPB.Ak=function(n,t,e,i,r){var a;return a=Ym(n.Dh(),this.e),n.Ch(null,a,r)},nPB.Bk=function(n,t,e){var i;return i=Ym(n.Dh(),this.e),!!n.Ph()&&n.Fh()==i},nPB.Ck=function(n,t,e,i){var r,a,c,o,u;if(null!=i&&!ns1(this.a,i))throw new pL(njq+(jM(i,58)?neQ(CY(i,58).Dh()):Gi(WZ(i)))+njX+this.a+"'").e;if(r=n.Ph(),c=Ym(n.Dh(),this.e),ER(i)!==ER(r)||n.Fh()!=c&&null!=i){if(nen(n,CY(i,58)))throw new pN(nEx+n.Ib()).e;u=null,r&&(u=(a=n.Fh())>=0?n.Ah(u):n.Ph().Th(n,-1-a,null,u)),(o=CY(i,54))&&(u=o.Rh(n,Ym(o.Dh(),this.b),null,u)),(u=n.Ch(o,c,u))&&u.oj()}else n.vh()&&n.wh()&&zP(n,new LM(n,1,c,i,i))},nPB.Ek=function(n,t,e){var i,r,a;n.Ph()?(a=(i=n.Fh())>=0?n.Ah(null):n.Ph().Th(n,-1-i,null,null),r=Ym(n.Dh(),this.e),(a=n.Ch(null,r,a))&&a.oj()):n.vh()&&n.wh()&&zP(n,new LE(n,1,this.e,null,null))},nPB.bl=function(){return!1},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),ncm(1351,784,{},Cx),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),ncm(574,512,{}),nPB.yk=function(n,t,e,i,r){var a;return null==(a=t.li(e))?this.b:ER(a)===ER(n2K)?null:a},nPB.Bk=function(n,t,e){var i;return null!=(i=t.li(e))&&(ER(i)===ER(n2K)||!QY(i,this.b))},nPB.Ck=function(n,t,e,i){var r,a;n.vh()&&n.wh()?(r=null==(a=t.li(e))?this.b:ER(a)===ER(n2K)?null:a,null==i?null!=this.c?(t.mi(e,null),i=this.b):null!=this.b?t.mi(e,n2K):t.mi(e,null):(this.Bl(i),t.mi(e,i)),zP(n,this.d.Cl(n,1,this.e,r,i))):null==i?null!=this.c?t.mi(e,null):null!=this.b?t.mi(e,n2K):t.mi(e,null):(this.Bl(i),t.mi(e,i))},nPB.Ek=function(n,t,e){var i,r;n.vh()&&n.wh()?(i=null==(r=t.li(e))?this.b:ER(r)===ER(n2K)?null:r,t.ni(e),zP(n,this.d.Cl(n,1,this.e,i,this.b))):t.ni(e)},nPB.Bl=function(n){throw(new dL).e},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),ncm(1352,1,{},ue),nPB.Cl=function(n,t,e,i,r){return new LE(n,t,e,i,r)},nPB.Dl=function(n,t,e,i,r,a){return new $D(n,t,e,i,r,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",1352),ncm(1368,1352,{},ui),nPB.Cl=function(n,t,e,i,r){return new _j(n,t,e,pT(PC(i)),pT(PC(r)))},nPB.Dl=function(n,t,e,i,r,a){return new Ki(n,t,e,pT(PC(i)),pT(PC(r)),a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),ncm(1369,1352,{},ur),nPB.Cl=function(n,t,e,i,r){return new qo(n,t,e,CY(i,222).a,CY(r,222).a)},nPB.Dl=function(n,t,e,i,r,a){return new R5(n,t,e,CY(i,222).a,CY(r,222).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),ncm(1370,1352,{},ua),nPB.Cl=function(n,t,e,i,r){return new qu(n,t,e,CY(i,180).a,CY(r,180).a)},nPB.Dl=function(n,t,e,i,r,a){return new R8(n,t,e,CY(i,180).a,CY(r,180).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),ncm(1371,1352,{},uc),nPB.Cl=function(n,t,e,i,r){return new _E(n,t,e,pj(PI(i)),pj(PI(r)))},nPB.Dl=function(n,t,e,i,r,a){return new R9(n,t,e,pj(PI(i)),pj(PI(r)),a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),ncm(1372,1352,{},uo),nPB.Cl=function(n,t,e,i,r){return new qf(n,t,e,CY(i,161).a,CY(r,161).a)},nPB.Dl=function(n,t,e,i,r,a){return new R7(n,t,e,CY(i,161).a,CY(r,161).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),ncm(1373,1352,{},uu),nPB.Cl=function(n,t,e,i,r){return new _T(n,t,e,CY(i,17).a,CY(r,17).a)},nPB.Dl=function(n,t,e,i,r,a){return new Kn(n,t,e,CY(i,17).a,CY(r,17).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),ncm(1374,1352,{},us),nPB.Cl=function(n,t,e,i,r){return new qs(n,t,e,CY(i,168).a,CY(r,168).a)},nPB.Dl=function(n,t,e,i,r,a){return new Kt(n,t,e,CY(i,168).a,CY(r,168).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),ncm(1375,1352,{},uh),nPB.Cl=function(n,t,e,i,r){return new qh(n,t,e,CY(i,191).a,CY(r,191).a)},nPB.Dl=function(n,t,e,i,r,a){return new Ke(n,t,e,CY(i,191).a,CY(r,191).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),ncm(1353,574,{},$o),nPB.Bl=function(n){if(!this.a.fk(n))throw new pL(njq+WZ(n)+njX+this.a+"'").e},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),ncm(1354,574,{},AG),nPB.Bl=function(n){},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),ncm(785,574,{}),nPB.Bk=function(n,t,e){return null!=t.li(e)},nPB.Ck=function(n,t,e,i){var r,a;n.vh()&&n.wh()?(r=!0,null==(a=t.li(e))?(r=!1,a=this.b):ER(a)===ER(n2K)&&(a=null),null==i?null!=this.c?(t.mi(e,null),i=this.b):t.mi(e,n2K):(this.Bl(i),t.mi(e,i)),zP(n,this.d.Dl(n,1,this.e,a,i,!r))):null==i?null!=this.c?t.mi(e,null):t.mi(e,n2K):(this.Bl(i),t.mi(e,i))},nPB.Ek=function(n,t,e){var i,r;n.vh()&&n.wh()?(i=!0,null==(r=t.li(e))?(i=!1,r=this.b):ER(r)===ER(n2K)&&(r=null),t.ni(e),zP(n,this.d.Dl(n,2,this.e,r,this.b,i))):t.ni(e)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),ncm(1355,785,{},$u),nPB.Bl=function(n){if(!this.a.fk(n))throw new pL(njq+WZ(n)+njX+this.a+"'").e},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),ncm(1356,785,{},Aq),nPB.Bl=function(n){},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),ncm(410,512,{},Ag),nPB.yk=function(n,t,e,i,r){var a,c,o,u,s;if(s=t.li(e),this.tk()&&ER(s)===ER(n2K))return null;if(!this.bl()||!i||null==s)return s;if((o=CY(s,54)).Vh()&&(u=Qk(n,o),o!=u)){if(!ns1(this.a,u))throw new pL(njq+WZ(u)+njX+this.a+"'").e;t.mi(e,s=u),this.al()&&(a=CY(u,54),c=o.Th(n,this.b?Ym(o.Dh(),this.b):-1-Ym(n.Dh(),this.e),null,null),a.Ph()||(c=a.Rh(n,this.b?Ym(a.Dh(),this.b):-1-Ym(n.Dh(),this.e),null,c)),c&&c.oj()),n.vh()&&n.wh()&&zP(n,new LE(n,9,this.e,o,u))}return s},nPB.zk=function(n,t,e,i,r){var a,c;return ER(c=t.li(e))===ER(n2K)&&(c=null),t.mi(e,i),this.Mj()?ER(c)!==ER(i)&&null!=c&&(r=(a=CY(c,54)).Th(n,Ym(a.Dh(),this.b),null,r)):this.al()&&null!=c&&(r=CY(c,54).Th(n,-1-Ym(n.Dh(),this.e),null,r)),n.vh()&&n.wh()&&(r||(r=new mw(4)),r.nj(new LE(n,1,this.e,c,i))),r},nPB.Ak=function(n,t,e,i,r){var a;return ER(a=t.li(e))===ER(n2K)&&(a=null),t.ni(e),n.vh()&&n.wh()&&(r||(r=new mw(4)),this.tk()?r.nj(new LE(n,2,this.e,a,null)):r.nj(new LE(n,1,this.e,a,null))),r},nPB.Bk=function(n,t,e){return null!=t.li(e)},nPB.Ck=function(n,t,e,i){var r,a,c,o,u;if(null!=i&&!ns1(this.a,i))throw new pL(njq+(jM(i,58)?neQ(CY(i,58).Dh()):Gi(WZ(i)))+njX+this.a+"'").e;o=null!=(u=t.li(e)),this.tk()&&ER(u)===ER(n2K)&&(u=null),c=null,this.Mj()?ER(u)!==ER(i)&&(null!=u&&(c=(r=CY(u,54)).Th(n,Ym(r.Dh(),this.b),null,c)),null!=i&&(c=(r=CY(i,54)).Rh(n,Ym(r.Dh(),this.b),null,c))):this.al()&&ER(u)!==ER(i)&&(null!=u&&(c=CY(u,54).Th(n,-1-Ym(n.Dh(),this.e),null,c)),null!=i&&(c=CY(i,54).Rh(n,-1-Ym(n.Dh(),this.e),null,c))),null==i&&this.tk()?t.mi(e,n2K):t.mi(e,i),n.vh()&&n.wh()?(a=new $D(n,1,this.e,u,i,this.tk()&&!o),c?(c.nj(a),c.oj()):zP(n,a)):c&&c.oj()},nPB.Ek=function(n,t,e){var i,r,a,c,o;c=null!=(o=t.li(e)),this.tk()&&ER(o)===ER(n2K)&&(o=null),a=null,null!=o&&(this.Mj()?a=(i=CY(o,54)).Th(n,Ym(i.Dh(),this.b),null,a):this.al()&&(a=CY(o,54).Th(n,-1-Ym(n.Dh(),this.e),null,a))),t.ni(e),n.vh()&&n.wh()?(r=new $D(n,this.tk()?2:1,this.e,o,null,c),a?(a.nj(r),a.oj()):zP(n,r)):a&&a.oj()},nPB.Mj=function(){return!1},nPB.al=function(){return!1},nPB.bl=function(){return!1},nPB.tk=function(){return!1},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),ncm(575,410,{},Pk),nPB.al=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),ncm(1359,575,{},PM),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),ncm(787,575,{},PE),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),ncm(1361,787,{},Pj),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),ncm(650,575,{},C$),nPB.Mj=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),ncm(1360,650,{},CK),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),ncm(788,650,{},CF),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),ncm(1362,788,{},C_),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),ncm(651,410,{},PT),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),ncm(1363,651,{},PS),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),ncm(789,651,{},CD),nPB.Mj=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),ncm(1364,789,{},CB),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),ncm(1357,410,{},PP),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),ncm(786,410,{},CR),nPB.Mj=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),ncm(1358,786,{},CH),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),ncm(790,576,njG,NY),nPB.yl=function(n){return new NY(this.a,this.c,n)},nPB.md=function(){return this.b},nPB.zl=function(n,t,e){var i,r;return i=this.b,r=e,i&&(r=i.Rh(n,Ym(i.Dh(),this.c.uk()),null,r)),r},nPB.Al=function(n,t,e){var i,r;return i=this.b,r=e,i&&(r=i.Th(n,Ym(i.Dh(),this.c.uk()),null,r)),r},Nj(nEL,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),ncm(1365,1,njy,w4),nPB.Fk=function(n){return this.a},nPB.Qj=function(){return jM(this.a,97)?CY(this.a,97).Qj():!this.a.dc()},nPB.Wb=function(n){this.a.$b(),this.a.Gc(CY(n,15))},nPB.Gk=function(){jM(this.a,97)?CY(this.a,97).Gk():this.a.$b()},Nj(nEL,"EStructuralFeatureImpl/SettingMany",1365),ncm(1366,576,njG,FK),nPB.xl=function(n){return new P9((nfl(),n3$),this.b.ri(this.a,n))},nPB.md=function(){return null},nPB.zl=function(n,t,e){return e},nPB.Al=function(n,t,e){return e},Nj(nEL,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),ncm(652,576,njG,P9),nPB.xl=function(n){return new P9(this.c,n)},nPB.md=function(){return this.a},nPB.zl=function(n,t,e){return e},nPB.Al=function(n,t,e){return e},Nj(nEL,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),ncm(403,506,nTv,uf),nPB.aj=function(n){return BJ(n0J,nl7,29,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"ESuperAdapter/1",403),ncm(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},ul),nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.a||(this.a=new Ap(this,n00,this)),this.a}return HE(this,n-N$((nlq(),n2C)),Gt(CY(zA(this,16),29)||n2C,n),t,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 2:return this.a||(this.a=new Ap(this,n00,this)),nnw(this.a,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2C),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2C)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!!this.a&&0!=this.a.i}return Fr(this,n-N$((nlq(),n2C)),Gt(CY(zA(this,16),29)||n2C,n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:XC(this,PA(t));return;case 2:this.a||(this.a=new Ap(this,n00,this)),nft(this.a),this.a||(this.a=new Ap(this,n00,this)),Nu(this.a,CY(t,16));return}J5(this,n-N$((nlq(),n2C)),Gt(CY(zA(this,16),29)||n2C,n),t)},nPB.ii=function(){return nlq(),n2C},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:XC(this,null);return;case 2:this.a||(this.a=new Ap(this,n00,this)),nft(this.a);return}QZ(this,n-N$((nlq(),n2C)),Gt(CY(zA(this,16),29)||n2C,n))},Nj(nEL,"ETypeParameterImpl",457),ncm(458,83,njD,Ap),nPB.Nj=function(n,t){return function(n,t,e){var i,r;for(e=nnu(t,n.e,-1-n.c,e),r=new w9(new zM(new fP(xl(n.a).a).a));r.a.b;)e=nfH(i=CY(Xu(r.a).ld(),89),non(i,n.a),e);return e}(this,CY(n,89),t)},nPB.Oj=function(n,t){return function(n,t,e){var i,r;for(e=Da(t,n.e,-1-n.c,e),r=new w9(new zM(new fP(xl(n.a).a).a));r.a.b;)e=nfH(i=CY(Xu(r.a).ld(),89),non(i,n.a),e);return e}(this,CY(n,89),t)},Nj(nEL,"ETypeParameterImpl/1",458),ncm(647,45,nw4,gR),nPB.ec=function(){return new w8(this)},Nj(nEL,"ETypeParameterImpl/2",647),ncm(570,2063,nbl,w8),nPB.Fc=function(n){return OE(this,CY(n,89))},nPB.Gc=function(n){var t,e,i;for(i=!1,e=n.Kc();e.Ob();)t=CY(e.Pb(),89),null==xM(this.a,t,"")&&(i=!0);return i},nPB.$b=function(){LH(this.a)},nPB.Hc=function(n){return LR(this.a,n)},nPB.Kc=function(){return new w9(new zM(new fP(this.a).a))},nPB.Mc=function(n){return Bi(this,n)},nPB.gc=function(){return v_(this.a)},Nj(nEL,"ETypeParameterImpl/2/1",570),ncm(571,1,nbu,w9),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return CY(Xu(this.a).ld(),89)},nPB.Ob=function(){return this.a.b},nPB.Qb=function(){Ue(this.a)},Nj(nEL,"ETypeParameterImpl/2/1/1",571),ncm(1329,45,nw4,gK),nPB._b=function(n){return EK(n)?$G(this,n):!!Aj(this.f,n)},nPB.xc=function(n){var t;return jM(t=EK(n)?Db(this,n):ED(Aj(this.f,n)),851)?(t=CY(t,851).Kk(),xM(this,CY(n,241),t),t):null!=t?t:null==n?(yS(),n3t):null},Nj(nEL,"EValidatorRegistryImpl",1329),ncm(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},ub),nPB.ri=function(n,t){var e,i,r;switch(n.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 null==t?null:J2(t);case 25:return null==t?null:function(n,t){var e,i,r,a,c;if(null==n)return null;for(i=0,c=BJ(n4u,nb5,28,2*t,15,1),r=0;i<t;++i)e=n[i]>>4&15,a=15&n[i],c[r++]=n0l[e],c[r++]=n0l[a];return Za(c,0,c.length)}(e=CY(t,195),e.length);case 27:case 28:return jM(t,180)?""+CY(t,180).a:null==t?null:J2(t);case 29:return null==t?null:(i=n0f[0],r=CY(t,206),nfF(i.a,r,null));case 41:return null==t?"":mI(CY(t,297));case 42:return J2(t);case 50:return PA(t);default:throw new pN(nE$+n.xe()+nED).e}},nPB.si=function(n){var t;switch(-1==n.G&&(n.G=(t=GT(n))?nnm(t.vi(),n):-1),n.G){case 0:return new gA;case 1:return new o2;case 2:return new hH;case 4:return new dH;case 5:return new gN;case 6:return new dB;case 7:return new hU;case 10:return new o1;case 11:return new gx;case 12:return new $T;case 13:return new gD;case 14:return new PF;case 17:return new ut;case 18:return new df;case 19:return new ul;default:throw new pN(nEF+n.zb+nED).e}},nPB.ti=function(n,t){var e,i,r,a,c;switch(n.hk()){case 20:return null==t?null:new mW(t);case 21:return null==t?null:new TV(t);case 23:case 22:return null==t?null:function(n){if(ZM(nMC,n))return SB(),nOu;if(ZM(nMI,n))return SB(),nOo;throw new pN("Expecting true or false").e}(t);case 26:case 24:return null==t?null:Ub(nsE(t,-128,127)<<24>>24);case 25:return function(n){var t,e,i,r,a,c,o;if(null==n)return null;for(c=BJ(n4l,nEK,28,r=((o=n.length)+1)/2|0,15,1),o%2!=0&&(c[--r]=nuv((Rx(o-1,n.length),n.charCodeAt(o-1)))),e=0,i=0;e<r;++e)t=nuv(xq(n,i++)),a=nuv(xq(n,i++)),c[e]=(t<<4|a)<<24>>24;return c}(t);case 27:if(null==t)return null;e=0;try{e=nsE(t,nbJ,nl3)&nb9}catch(n){if(jM(n=Vt(n),130))e=Ul(t)[0];else throw n.e}return z_(e);case 28:if(null==t)return null;i=0;try{i=nsE(t,nbJ,nl3)&nb9}catch(n){if(jM(n=Vt(n),130))i=Ul(t)[0];else throw n.e}return z_(i);case 29:if(null==t)return null;for(a=0,r=null;a<n0f.length;++a)try{return c=n0f[a],ntJ(c.a,t)}catch(n){if(jM(n=Vt(n),33))r=n;else throw n.e}throw new H7(r).e;case 32:case 31:return null==t?null:ni7(t);case 38:case 37:return null==t?null:new dz(t);case 40:case 39:return null==t?null:Qx(nsE(t,nbJ,nl3));case 41:case 42:return null;case 44:case 43:return null==t?null:ZE(nln(t));case 49:case 48:return null==t?null:Q$(nsE(t,-32768,32767)<<16>>16);case 50:return t;default:throw new pN(nE$+n.xe()+nED).e}},Nj(nEL,"EcoreFactoryImpl",1349),ncm(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},xv),nPB.gb=!1,nPB.hb=!1;var n2t,n2e,n2i,n2r,n2a,n2c,n2o,n2u,n2s,n2h,n2f,n2l,n2b,n2w,n2d,n2g,n2p,n2m,n2v,n2y,n2k,n2M,n2E,n2T,n2j,n2S,n2P,n2O,n2C,n2I,n2A,n2L,n2N,n2x,n2$,n2D,n2R,n2K,n2F,n2_,n2B,n2H,n2U,n2G,n2q,n2X,n2z,n2V,n2W=!1;Nj(nEL,"EcorePackageImpl",560),ncm(1234,1,{851:1},uw),nPB.Kk=function(){return j7(),n3e},Nj(nEL,"EcorePackageImpl/1",1234),ncm(1243,1,nj5,ud),nPB.fk=function(n){return jM(n,155)},nPB.gk=function(n){return BJ(nL8,nl7,155,n,0,1)},Nj(nEL,"EcorePackageImpl/10",1243),ncm(1244,1,nj5,ug),nPB.fk=function(n){return jM(n,197)},nPB.gk=function(n){return BJ(nL7,nl7,197,n,0,1)},Nj(nEL,"EcorePackageImpl/11",1244),ncm(1245,1,nj5,up),nPB.fk=function(n){return jM(n,58)},nPB.gk=function(n){return BJ(nLZ,nl7,58,n,0,1)},Nj(nEL,"EcorePackageImpl/12",1245),ncm(1246,1,nj5,um),nPB.fk=function(n){return jM(n,411)},nPB.gk=function(n){return BJ(n02,njx,62,n,0,1)},Nj(nEL,"EcorePackageImpl/13",1246),ncm(1247,1,nj5,uv),nPB.fk=function(n){return jM(n,241)},nPB.gk=function(n){return BJ(nNn,nl7,241,n,0,1)},Nj(nEL,"EcorePackageImpl/14",1247),ncm(1248,1,nj5,uy),nPB.fk=function(n){return jM(n,518)},nPB.gk=function(n){return BJ(n03,nl7,2116,n,0,1)},Nj(nEL,"EcorePackageImpl/15",1248),ncm(1249,1,nj5,uk),nPB.fk=function(n){return jM(n,102)},nPB.gk=function(n){return BJ(n04,njN,19,n,0,1)},Nj(nEL,"EcorePackageImpl/16",1249),ncm(1250,1,nj5,uM),nPB.fk=function(n){return jM(n,179)},nPB.gk=function(n){return BJ(n0V,njN,179,n,0,1)},Nj(nEL,"EcorePackageImpl/17",1250),ncm(1251,1,nj5,uE),nPB.fk=function(n){return jM(n,481)},nPB.gk=function(n){return BJ(n0z,nl7,481,n,0,1)},Nj(nEL,"EcorePackageImpl/18",1251),ncm(1252,1,nj5,uT),nPB.fk=function(n){return jM(n,561)},nPB.gk=function(n){return BJ(n07,nja,561,n,0,1)},Nj(nEL,"EcorePackageImpl/19",1252),ncm(1235,1,nj5,uj),nPB.fk=function(n){return jM(n,331)},nPB.gk=function(n){return BJ(n0W,njN,35,n,0,1)},Nj(nEL,"EcorePackageImpl/2",1235),ncm(1253,1,nj5,uS),nPB.fk=function(n){return jM(n,248)},nPB.gk=function(n){return BJ(n00,nj_,89,n,0,1)},Nj(nEL,"EcorePackageImpl/20",1253),ncm(1254,1,nj5,uP),nPB.fk=function(n){return jM(n,457)},nPB.gk=function(n){return BJ(n06,nl7,850,n,0,1)},Nj(nEL,"EcorePackageImpl/21",1254),ncm(1255,1,nj5,uO),nPB.fk=function(n){return EF(n)},nPB.gk=function(n){return BJ(nPE,nby,485,n,8,1)},Nj(nEL,"EcorePackageImpl/22",1255),ncm(1256,1,nj5,uC),nPB.fk=function(n){return jM(n,195)},nPB.gk=function(n){return BJ(n4l,nby,195,n,0,2)},Nj(nEL,"EcorePackageImpl/23",1256),ncm(1257,1,nj5,uI),nPB.fk=function(n){return jM(n,222)},nPB.gk=function(n){return BJ(nPT,nby,222,n,0,1)},Nj(nEL,"EcorePackageImpl/24",1257),ncm(1258,1,nj5,uA),nPB.fk=function(n){return jM(n,180)},nPB.gk=function(n){return BJ(nPj,nby,180,n,0,1)},Nj(nEL,"EcorePackageImpl/25",1258),ncm(1259,1,nj5,uL),nPB.fk=function(n){return jM(n,206)},nPB.gk=function(n){return BJ(nPM,nby,206,n,0,1)},Nj(nEL,"EcorePackageImpl/26",1259),ncm(1260,1,nj5,uN),nPB.fk=function(n){return!1},nPB.gk=function(n){return BJ(n4p,nl7,2215,n,0,1)},Nj(nEL,"EcorePackageImpl/27",1260),ncm(1261,1,nj5,ux),nPB.fk=function(n){return E_(n)},nPB.gk=function(n){return BJ(nPS,nby,345,n,7,1)},Nj(nEL,"EcorePackageImpl/28",1261),ncm(1262,1,nj5,u$),nPB.fk=function(n){return jM(n,61)},nPB.gk=function(n){return BJ(nNu,ngF,61,n,0,1)},Nj(nEL,"EcorePackageImpl/29",1262),ncm(1236,1,nj5,uD),nPB.fk=function(n){return jM(n,519)},nPB.gk=function(n){return BJ(n0X,{3:1,4:1,5:1,2033:1},598,n,0,1)},Nj(nEL,"EcorePackageImpl/3",1236),ncm(1263,1,nj5,uR),nPB.fk=function(n){return jM(n,582)},nPB.gk=function(n){return BJ(nNd,nl7,2039,n,0,1)},Nj(nEL,"EcorePackageImpl/30",1263),ncm(1264,1,nj5,uK),nPB.fk=function(n){return jM(n,160)},nPB.gk=function(n){return BJ(n2J,ngF,160,n,0,1)},Nj(nEL,"EcorePackageImpl/31",1264),ncm(1265,1,nj5,uF),nPB.fk=function(n){return jM(n,76)},nPB.gk=function(n){return BJ(n08,nj8,76,n,0,1)},Nj(nEL,"EcorePackageImpl/32",1265),ncm(1266,1,nj5,u_),nPB.fk=function(n){return jM(n,161)},nPB.gk=function(n){return BJ(nPP,nby,161,n,0,1)},Nj(nEL,"EcorePackageImpl/33",1266),ncm(1267,1,nj5,uB),nPB.fk=function(n){return jM(n,17)},nPB.gk=function(n){return BJ(nPO,nby,17,n,0,1)},Nj(nEL,"EcorePackageImpl/34",1267),ncm(1268,1,nj5,uH),nPB.fk=function(n){return jM(n,297)},nPB.gk=function(n){return BJ(nPc,nl7,297,n,0,1)},Nj(nEL,"EcorePackageImpl/35",1268),ncm(1269,1,nj5,uU),nPB.fk=function(n){return jM(n,168)},nPB.gk=function(n){return BJ(nPC,nby,168,n,0,1)},Nj(nEL,"EcorePackageImpl/36",1269),ncm(1270,1,nj5,uG),nPB.fk=function(n){return jM(n,85)},nPB.gk=function(n){return BJ(nPu,nl7,85,n,0,1)},Nj(nEL,"EcorePackageImpl/37",1270),ncm(1271,1,nj5,uq),nPB.fk=function(n){return jM(n,599)},nPB.gk=function(n){return BJ(n2Q,nl7,599,n,0,1)},Nj(nEL,"EcorePackageImpl/38",1271),ncm(1272,1,nj5,uX),nPB.fk=function(n){return!1},nPB.gk=function(n){return BJ(n4m,nl7,2216,n,0,1)},Nj(nEL,"EcorePackageImpl/39",1272),ncm(1237,1,nj5,uz),nPB.fk=function(n){return jM(n,90)},nPB.gk=function(n){return BJ(n0J,nl7,29,n,0,1)},Nj(nEL,"EcorePackageImpl/4",1237),ncm(1273,1,nj5,uV),nPB.fk=function(n){return jM(n,191)},nPB.gk=function(n){return BJ(nPI,nby,191,n,0,1)},Nj(nEL,"EcorePackageImpl/40",1273),ncm(1274,1,nj5,uW),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nEL,"EcorePackageImpl/41",1274),ncm(1275,1,nj5,uQ),nPB.fk=function(n){return jM(n,596)},nPB.gk=function(n){return BJ(nNh,nl7,596,n,0,1)},Nj(nEL,"EcorePackageImpl/42",1275),ncm(1276,1,nj5,uJ),nPB.fk=function(n){return!1},nPB.gk=function(n){return BJ(n4v,nby,2217,n,0,1)},Nj(nEL,"EcorePackageImpl/43",1276),ncm(1277,1,nj5,uY),nPB.fk=function(n){return jM(n,44)},nPB.gk=function(n){return BJ(nPl,nbL,44,n,0,1)},Nj(nEL,"EcorePackageImpl/44",1277),ncm(1238,1,nj5,uZ),nPB.fk=function(n){return jM(n,142)},nPB.gk=function(n){return BJ(n0Q,nl7,142,n,0,1)},Nj(nEL,"EcorePackageImpl/5",1238),ncm(1239,1,nj5,u1),nPB.fk=function(n){return jM(n,156)},nPB.gk=function(n){return BJ(n0Y,nl7,156,n,0,1)},Nj(nEL,"EcorePackageImpl/6",1239),ncm(1240,1,nj5,u0),nPB.fk=function(n){return jM(n,469)},nPB.gk=function(n){return BJ(n0Z,nl7,685,n,0,1)},Nj(nEL,"EcorePackageImpl/7",1240),ncm(1241,1,nj5,u2),nPB.fk=function(n){return jM(n,582)},nPB.gk=function(n){return BJ(n01,nl7,694,n,0,1)},Nj(nEL,"EcorePackageImpl/8",1241),ncm(1242,1,nj5,u3),nPB.fk=function(n){return jM(n,480)},nPB.gk=function(n){return BJ(nL9,nl7,480,n,0,1)},Nj(nEL,"EcorePackageImpl/9",1242),ncm(1038,2080,nji,pM),nPB.Mi=function(n,t){!function(n,t){var e,i,r;if(t.ej(n.a),null!=(r=CY(zA(n.a,8),2035)))for(e=0,i=r.length;e<i;++e)null.Um()}(this,CY(t,424))},nPB.Qi=function(n,t){nr2(this,n,CY(t,424))},Nj(nEL,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),ncm(1039,152,njn,NZ),nPB.jj=function(){return this.a.a},Nj(nEL,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),ncm(1067,1066,{},T7),Nj("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var n2Q=IH(nj9,"Resource");ncm(799,1524,nj7),nPB.Hl=function(n){},nPB.Il=function(n){},nPB.El=function(){return this.a||(this.a=new w7(this)),this.a},nPB.Fl=function(n){var t,e,i,r,a;if((i=n.length)>0){if(Rx(0,n.length),47==n.charCodeAt(0)){for(t=1,a=new Bf(4),r=1;t<i;++t)Rx(t,n.length),47==n.charCodeAt(t)&&(jB(a,r==t?"":(B2(r,t,n.length),n.substr(r,t-r))),r=t+1);return jB(a,(Rx(r,n.length+1),n.substr(r))),function(n,t){var e,i,r;for(i=1,e=function(n,t){var e,i;if(i=0,t.length>0)try{i=nsE(t,nbJ,nl3)}catch(n){if(jM(n=Vt(n),130))throw new H7(n).e;throw n.e}return n.a||(n.a=new w7(n)),i<(e=n.a).i&&i>=0?CY(GO(e,i),58):null}(n,0==(r=t.c.length)?"":(RN(0,t.c.length),PA(t.c[0])));i<r&&e;++i)e=CY(e,54).Zh((RN(i,t.c.length),PA(t.c[i])));return e}(this,a)}Rx(i-1,n.length),63==n.charCodeAt(i-1)&&(e=OU(n,niT(63),i-2))>0&&(B2(0,e,n.length),n=n.substr(0,e))}return function(n,t){var e,i,r,a,c,o;for(a=null,r=new Lj((!n.a&&(n.a=new w7(n)),n.a));naX(r);)if(nhx(c=(e=CY(nc0(r),58)).Dh()),null!=(i=(o=c.o)&&e.Xh(o)?OK(z9(o),e.Mh(o)):null)&&OB(i,t)){a=e;break}return a}(this,n)},nPB.Gl=function(){return this.c},nPB.Ib=function(){return mI(this.Rm)+"@"+(XS(this)>>>0).toString(16)+" uri='"+this.d+"'"},nPB.b=!1,Nj(nSn,"ResourceImpl",799),ncm(1525,799,nj7,dn),Nj(nSn,"BinaryResourceImpl",1525),ncm(1190,708,nTy),nPB.bj=function(n){var t;return jM(n,58)?(t=CY(n,58),this.a?t.Gh().Kc():CY(t.Gh(),71).Ii()):jM(n,599)?new j2(CY(n,599).El()):ER(n)===ER(this.f)?CY(n,16).Kc():(PR(),n0O.a)},nPB.Ob=function(){return naX(this)},nPB.a=!1,Nj(njv,"EcoreUtil/ContentTreeIterator",1190),ncm(1526,1190,nTy,Lj),nPB.bj=function(n){return ER(n)===ER(this.f)?CY(n,15).Kc():new K4(CY(n,58))},Nj(nSn,"ResourceImpl/5",1526),ncm(658,2092,nj$,w7),nPB.Hc=function(n){return this.i<=4?neO(this,n):jM(n,54)&&CY(n,54).Jh()==this.a},nPB.Mi=function(n,t){n==this.i-1&&(this.a.b||(this.a.b=!0))},nPB.Oi=function(n,t){0==n?this.a.b||(this.a.b=!0):BY(this,n,t)},nPB.Qi=function(n,t){},nPB.Ri=function(n,t,e){},nPB.Lj=function(){return 2},nPB.jj=function(){return this.a},nPB.Mj=function(){return!0},nPB.Nj=function(n,t){return CY(n,54).fi(this.a,t)},nPB.Oj=function(n,t){return CY(n,54).fi(null,t)},nPB.Pj=function(){return!1},nPB.Si=function(){return!0},nPB.aj=function(n){return BJ(nLZ,nl7,58,n,0,1)},nPB.Yi=function(){return!1},Nj(nSn,"ResourceImpl/ContentsEList",658),ncm(970,2062,nbq,dt),nPB.fd=function(n){return this.a.Ki(n)},nPB.gc=function(){return this.a.gc()},Nj(njv,"AbstractSequentialInternalEList/1",970),ncm(634,1,{},Ib),Nj(njv,"BasicExtendedMetaData",634),ncm(1181,1,{},EI),nPB.Jl=function(){return null},nPB.Kl=function(){return -2==this.a&&(this.a=function(n,t){var e,i,r;if((e=t.qi(n.a))&&null!=(r=YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),njF))){for(i=1;i<(nrR(),n26).length;++i)if(OB(n26[i],r))return i}return 0}(this.d,this.b)),this.a},nPB.Ll=function(){return null},nPB.Ml=function(){return $O(),$O(),nO_},nPB.xe=function(){return this.c==nSd&&(this.c=ZI(this.d,this.b)),this.c},nPB.Nl=function(){return 0},nPB.a=-2,nPB.c=nSd,Nj(njv,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),ncm(1182,1,{},Ka),nPB.Jl=function(){return this.a==(Bu(),n27)&&(this.a=function(n,t){var e,i,r,a,c,o;if((i=t.qi(n.a))&&(i.b||(i.b=new Pd((nlq(),n2S),n07,i)),null!=(e=PA(YH(i.b,njW))))&&jM(a=-1==(r=e.lastIndexOf("#"))?(c=t.jk(),o=e,nhZ(Ur(n,c),o)):0==r?Hb(n,null,(Rx(1,e.length+1),e.substr(1))):Hb(n,(B2(0,r,e.length),e.substr(0,r)),(Rx(r+1,e.length+1),e.substr(r+1))),156))return CY(a,156);return null}(this.f,this.b)),this.a},nPB.Kl=function(){return 0},nPB.Ll=function(){return this.c==(Bu(),n27)&&(this.c=function(n,t){var e,i,r,a,c,o;if((e=t.qi(n.a))&&(e.b||(e.b=new Pd((nlq(),n2S),n07,e)),null!=(r=PA(YH(e.b,nSu))))&&jM(a=-1==(i=r.lastIndexOf("#"))?(c=t.jk(),o=r,nhZ(Ur(n,c),o)):0==i?Hb(n,null,(Rx(1,r.length+1),r.substr(1))):Hb(n,(B2(0,i,r.length),r.substr(0,i)),(Rx(i+1,r.length+1),r.substr(i+1))),156))return CY(a,156);return null}(this.f,this.b)),this.c},nPB.Ml=function(){return this.d||(this.d=function(n,t){var e,i,r,a,c,o,u,s,h,f;if((e=t.qi(n.a))&&null!=(u=PA(YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),"memberTypes")))){for(s=new du,a=ns7(u,"\\w"),c=0,o=a.length;c<o;++c)jM(h=-1==(i=(r=a[c]).lastIndexOf("#"))?(f=t.jk(),nhZ(Ur(n,f),r)):0==i?Hb(n,null,(Rx(1,r.length+1),r.substr(1))):Hb(n,(B2(0,i,r.length),r.substr(0,i)),(Rx(i+1,r.length+1),r.substr(i+1))),156)&&jB(s,CY(h,156));return s}return $O(),$O(),nO_}(this.f,this.b)),this.d},nPB.xe=function(){return this.e==nSd&&(this.e=ZI(this.f,this.b)),this.e},nPB.Nl=function(){return -2==this.g&&(this.g=function(n,t){var e,i,r;if(e=t.qi(n.a)){for(i=1,r=PA(YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),nSf));i<(nrR(),n29).length;++i)if(OB(n29[i],r))return i}return 0}(this.f,this.b)),this.g},nPB.e=nSd,nPB.g=-2,Nj(njv,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),ncm(1180,1,{},EA),nPB.b=!1,nPB.c=!1,Nj(njv,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),ncm(1183,1,{},Kc),nPB.c=-2,nPB.e=nSd,nPB.f=nSd,Nj(njv,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),ncm(593,632,njD,If),nPB.Lj=function(){return this.c},nPB.ol=function(){return!1},nPB.Wi=function(n,t){return t},nPB.c=0,Nj(njv,"EDataTypeEList",593);var n2J=IH(njv,"FeatureMap");ncm(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},zE),nPB.bd=function(n,t){!function(n,t,e){var i,r,a,c,o;if(r=e.Lk(),noz(n.e,r)){if(r.Si()){for(a=0,i=CY(n.g,124);a<n.i;++a)if(QY(c=i[a],e)&&a!=t)throw new pN(nTd).e}}else for(a=0,o=nox(n.e.Dh(),r),i=CY(n.g,124);a<n.i;++a)if(c=i[a],o.am(c.Lk()))throw new pN(nSg).e;Jo(n,t,e)}(this,n,CY(t,76))},nPB.Fc=function(n){return function(n,t){var e,i,r,a,c;if(i=t.Lk(),noz(n.e,i)){if(i.Si()&&FE(n,i,t.md()))return!1}else for(r=0,c=nox(n.e.Dh(),i),e=CY(n.g,124);r<n.i;++r)if(a=e[r],c.am(a.Lk()))if(QY(a,t))return!1;else return CY(nnv(n,r,t),76),!0;return B7(n,t)}(this,CY(n,76))},nPB.Hi=function(n){var t,e,i,r,a,c,o;t=CY(n,76),++this.j,nio(this,this.i,t),e=this,i=CY(t,343),e.j=-1,TN(e.e)?(r=e.i,o=0!=e.i,_F(e,i),a=new Uh(e.e,3,e.c,null,i,r,o),c=i.zl(e.e,e.c,null),(c=ne6(e,i,c))?(c.nj(a),c.oj()):zP(e.e,a)):(_F(e,i),(c=i.zl(e.e,e.c,null))&&c.oj())},nPB.Nj=function(n,t){var e,i;return e=CY(n,76),i=CY(e,343),i.zl(this.e,this.c,t)},nPB.Oj=function(n,t){return O0(this,CY(n,76),t)},nPB.Ti=function(n,t){return function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;if(!TN(n.e))return CY(naD(n,t,e),76);if(t!=e&&(c=(b=(r=CY(n.g,124))[e]).Lk(),noz(n.e,c))){for(s=0,w=nox(n.e.Dh(),c),u=-1,o=-1,i=0,f=t>e?t:e;s<=f;++s)s==e?o=i++:(a=r[s],h=w.am(a.Lk()),s==t&&(u=s!=f||h?i:i-1),h&&++i);return l=CY(Jp(n,t,e),76),o!=u&&dq(n,new Hf(n.e,7,c,Qx(o),b.md(),u)),l}return CY(Jp(n,t,e),76)}(this,n,t)},nPB.Wi=function(n,t){return function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;if(jM(c=e.Lk(),102)&&(CY(c,19).Bb&nwG)!=0&&(l=CY(e.md(),54),(d=Qk(n.e,l))!=l)){if(jH(n,t,nio(n,t,h=Fy(c,d))),f=null,TN(n.e)&&(i=nff((nrR(),n28),n.e.Dh(),c))!=Gt(n.e.Dh(),n.c)){for(u=0,g=nox(n.e.Dh(),c),o=0,a=CY(n.g,124);u<t;++u)r=a[u],g.am(r.Lk())&&++o;(f=new Fx(n.e,9,i,l,d,o,!1)).nj(new Uh(n.e,9,n.c,e,h,t,!1))}return(b=nnD(w=CY(c,19)))?(f=l.Th(n.e,Ym(l.Dh(),b),null,f),f=CY(d,54).Rh(n.e,Ym(d.Dh(),b),null,f)):(w.Bb&nEI)!=0&&(s=-1-Ym(n.e.Dh(),w),f=l.Th(n.e,s,null,null),CY(d,54).Ph()||(f=CY(d,54).Rh(n.e,s,null,f))),f&&f.oj(),h}return e}(this,n,CY(t,76))},nPB.hd=function(n,t){return function(n,t,e){var i,r,a,c,o;if(r=e.Lk(),noz(n.e,r)){if(r.Si()){for(a=0,i=CY(n.g,124);a<n.i;++a)if(QY(c=i[a],e)&&a!=t)throw new pN(nTd).e}}else for(a=0,o=nox(n.e.Dh(),r),i=CY(n.g,124);a<n.i;++a)if(c=i[a],o.am(c.Lk())&&a!=t)throw new pN(nSg).e;return CY(nnv(n,t,e),76)}(this,n,CY(t,76))},nPB.Uj=function(n,t){var e;return e=CY(n,76),ne6(this,CY(e,343),t)},nPB.Vj=function(n,t){return O2(this,CY(n,76),t)},nPB.Wj=function(n,t,e){var i,r,a,c,o,u;return i=CY(n,76),r=CY(t,76),a=e,TN(this.e)&&(c=i.Lk(),u=$6(this,1,c,i.md(),o=r.md(),c.Jk()?nhv(this,c,o,jM(c,102)&&(CY(c,19).Bb&nwG)!=0):-1,!0),a?a.nj(u):a=u),a},nPB.Zi=function(n,t){return nio(this,n,CY(t,76))},nPB.Ol=function(n,t){return nsf(this,n,t)},nPB.cd=function(n,t){var e,i,r,a,c,o,u,s,h;for(s=new Gk(t.gc()),r=t.Kc();r.Ob();)if(a=(i=CY(r.Pb(),76)).Lk(),noz(this.e,a))a.Si()&&(FE(this,a,i.md())||neO(s,i))||B7(s,i);else{for(o=0,h=nox(this.e.Dh(),a),e=CY(this.g,124),c=!0;o<this.i;++o)if(u=e[o],h.am(u.Lk())){CY(nnv(this,o,i),76),c=!1;break}c&&B7(s,i)}return VI(this,n,s)},nPB.Gc=function(n){var t,e,i,r,a,c,o,u,s;for(u=new Gk(n.gc()),i=n.Kc();i.Ob();)if(r=(e=CY(i.Pb(),76)).Lk(),noz(this.e,r))r.Si()&&(FE(this,r,e.md())||neO(u,e))||B7(u,e);else{for(c=0,s=nox(this.e.Dh(),r),t=CY(this.g,124),a=!0;c<this.i;++c)if(o=t[c],s.am(o.Lk())){CY(nnv(this,c,e),76),a=!1;break}a&&B7(u,e)}return Nu(this,u)},nPB.Fi=function(n){return this.j=-1,ns6(this,this.i,n)},nPB.Pl=function(n,t,e){return nuD(this,n,t,e)},nPB.Xk=function(n,t){return nsc(this,n,t)},nPB.Ql=function(n,t,e){return nh$(this,n,t,e)},nPB.Rl=function(){return this},nPB.Sl=function(n,t){return nhR(this,n,t)},nPB.Tl=function(n){return CY(GO(this,n),76).Lk()},nPB.Ul=function(n){return CY(GO(this,n),76).md()},nPB.Vl=function(){return this.b},nPB.Mj=function(){return!0},nPB.Tj=function(){return!0},nPB.Wl=function(n){return!YI(this,n)},nPB.aj=function(n){return BJ(n2n,nj8,343,n,0,1)},nPB.pl=function(n){return PO(this,n)},nPB.Wb=function(n){L9(this,n)},nPB.Xl=function(n,t){nhQ(this,n,t)},nPB.Yl=function(n){return q8(this,n)},nPB.Zl=function(n){nts(this,n)},Nj(njv,"BasicFeatureMap",78),ncm(1960,1,nbg),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){if(-1==this.g)throw(new dx).e;AZ(this);try{noJ(this.e,this.b,this.a,n),this.d=this.e.j,nnp(this)}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}},nPB.Ob=function(){return WD(this)},nPB.Sb=function(){return WR(this)},nPB.Pb=function(){return nnp(this)},nPB.Tb=function(){return this.a},nPB.Ub=function(){var n;if(WR(this))return AZ(this),this.g=--this.a,this.ul()&&(n=naA(this.e,this.b,this.c,this.a,this.j),this.j=n),this.i=0,this.j;throw(new dF).e},nPB.Vb=function(){return this.a-1},nPB.Qb=function(){if(-1==this.g)throw(new dx).e;AZ(this);try{nrE(this.e,this.b,this.g),this.d=this.e.j,this.g<this.a&&(--this.a,--this.c),--this.g}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}},nPB.ul=function(){return!1},nPB.Wb=function(n){if(-1==this.g)throw(new dx).e;AZ(this);try{nhu(this.e,this.b,this.g,n),this.d=this.e.j}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}},nPB.a=0,nPB.c=0,nPB.d=0,nPB.f=!1,nPB.g=0,nPB.i=0,Nj(njv,"FeatureMapUtil/BasicFeatureEIterator",1960),ncm(420,1960,nbg,zz),nPB.$l=function(){var n,t,e;for(e=this.e.i,n=CY(this.e.g,124);this.c<e;){if(t=n[this.c],this.k.am(t.Lk()))return this.j=this.f?t:t.md(),this.i=2,!0;++this.c}return this.i=1,this.g=-1,!1},nPB._l=function(){var n,t;for(n=CY(this.e.g,124);--this.c>=0;)if(t=n[this.c],this.k.am(t.Lk()))return this.j=this.f?t:t.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},Nj(njv,"BasicFeatureMap/FeatureEIterator",420),ncm(676,420,nbg,Th),nPB.ul=function(){return!0},Nj(njv,"BasicFeatureMap/ResolvingFeatureEIterator",676),ncm(968,496,njH,jP),nPB.pj=function(){return this},Nj(njv,"EContentsEList/1",968),ncm(969,496,njH,Ts),nPB.ul=function(){return!1},Nj(njv,"EContentsEList/2",969),ncm(967,287,njU,jO),nPB.wl=function(n){},nPB.Ob=function(){return!1},nPB.Sb=function(){return!1},Nj(njv,"EContentsEList/FeatureIteratorImpl/1",967),ncm(840,593,njD,jq),nPB.Ni=function(){this.a=!0},nPB.Qj=function(){return this.a},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.a,this.a=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.a=!1},nPB.a=!1,Nj(njv,"EDataTypeEList/Unsettable",840),ncm(1958,593,njD,jX),nPB.Si=function(){return!0},Nj(njv,"EDataTypeUniqueEList",1958),ncm(1959,840,njD,jz),nPB.Si=function(){return!0},Nj(njv,"EDataTypeUniqueEList/Unsettable",1959),ncm(147,83,njD,jV),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectContainmentEList/Resolving",147),ncm(1184,555,njD,jW),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectContainmentEList/Unsettable/Resolving",1184),ncm(766,14,njD,OP),nPB.Ni=function(){this.a=!0},nPB.Qj=function(){return this.a},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.a,this.a=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.a=!1},nPB.a=!1,Nj(njv,"EObjectContainmentWithInverseEList/Unsettable",766),ncm(1222,766,njD,OO),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),ncm(757,505,njD,jQ),nPB.Ni=function(){this.a=!0},nPB.Qj=function(){return this.a},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.a,this.a=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.a=!1},nPB.a=!1,Nj(njv,"EObjectEList/Unsettable",757),ncm(338,505,njD,jJ),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectResolvingEList",338),ncm(1844,757,njD,jY),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectResolvingEList/Unsettable",1844),ncm(1527,1,{},u4),Nj(njv,"EObjectValidator",1527),ncm(559,505,njD,LT),nPB.il=function(){return this.d},nPB.jl=function(){return this.b},nPB.Mj=function(){return!0},nPB.ml=function(){return!0},nPB.b=0,Nj(njv,"EObjectWithInverseEList",559),ncm(1225,559,njD,OC),nPB.ll=function(){return!0},Nj(njv,"EObjectWithInverseEList/ManyInverse",1225),ncm(635,559,njD,OI),nPB.Ni=function(){this.a=!0},nPB.Qj=function(){return this.a},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.a,this.a=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.a=!1},nPB.a=!1,Nj(njv,"EObjectWithInverseEList/Unsettable",635),ncm(1224,635,njD,OL),nPB.ll=function(){return!0},Nj(njv,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),ncm(767,559,njD,OA),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectWithInverseResolvingEList",767),ncm(32,767,njD,Ox),nPB.ll=function(){return!0},Nj(njv,"EObjectWithInverseResolvingEList/ManyInverse",32),ncm(768,635,njD,ON),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectWithInverseResolvingEList/Unsettable",768),ncm(1223,768,njD,O$),nPB.ll=function(){return!0},Nj(njv,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),ncm(1185,632,njD),nPB.Li=function(){return(1792&this.b)==0},nPB.Ni=function(){this.b|=1},nPB.kl=function(){return(4&this.b)!=0},nPB.Mj=function(){return(40&this.b)!=0},nPB.ll=function(){return(16&this.b)!=0},nPB.ml=function(){return(8&this.b)!=0},nPB.nl=function(){return(this.b&njT)!=0},nPB.al=function(){return(32&this.b)!=0},nPB.ol=function(){return(this.b&nbB)!=0},nPB.fk=function(n){return this.d?Fs(this.d,n):this.Lk().Hk().fk(n)},nPB.Qj=function(){return(2&this.b)!=0?(1&this.b)!=0:0!=this.i},nPB.Si=function(){return(128&this.b)!=0},nPB.Gk=function(){var n;nft(this),(2&this.b)!=0&&(TN(this.e)?(n=(1&this.b)!=0,this.b&=-2,dq(this,new _M(this.e,2,Ym(this.e.Dh(),this.Lk()),n,!1))):this.b&=-2)},nPB.Yi=function(){return(1536&this.b)==0},nPB.b=0,Nj(njv,"EcoreEList/Generic",1185),ncm(1186,1185,njD,$R),nPB.Lk=function(){return this.a},Nj(njv,"EcoreEList/Dynamic",1186),ncm(765,66,nTv,de),nPB.aj=function(n){return G7(this.a.a,n)},Nj(njv,"EcoreEMap/1",765),ncm(764,83,njD,LI),nPB.Mi=function(n,t){nnR(this.b,CY(t,136))},nPB.Oi=function(n,t){zI(this.b)},nPB.Pi=function(n,t,e){var i;++(i=this.b,CY(t,136),i).e},nPB.Qi=function(n,t){Jm(this.b,CY(t,136))},nPB.Ri=function(n,t,e){var i;Jm(this.b,CY(e,136)),ER(e)===ER(t)&&CY(e,136).Ci(null==(i=CY(t,136).ld())?0:XS(i)),nnR(this.b,CY(t,136))},Nj(njv,"EcoreEMap/DelegateEObjectContainmentEList",764),ncm(1220,141,njk,qq),Nj(njv,"EcoreEMap/Unsettable",1220),ncm(1221,764,njD,OD),nPB.Ni=function(){this.a=!0},nPB.Qj=function(){return this.a},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.a,this.a=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.a=!1},nPB.a=!1,Nj(njv,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),ncm(1189,215,nw4,Nw),nPB.a=!1,nPB.b=!1,Nj(njv,"EcoreUtil/Copier",1189),ncm(759,1,nbu,K4),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return Y0(this)},nPB.Pb=function(){var n;return Y0(this),n=this.b,this.b=null,n},nPB.Qb=function(){this.a.Qb()},Nj(njv,"EcoreUtil/ProperContentIterator",759),ncm(1528,1527,{},hG),Nj(njv,"EcoreValidator",1528),IH(njv,"FeatureMapUtil/Validator"),ncm(1295,1,{2041:1},u6),nPB.am=function(n){return!0},Nj(njv,"FeatureMapUtil/1",1295),ncm(773,1,{2041:1},nfZ),nPB.am=function(n){var t,e;return this.c==n||(null!=(t=PC(NR(this.a,n)))?t==(SB(),nOu):(this.f==n3r?(e=xb(Ua((nrR(),n28),n)),this.e?4!=e||n==(na1(),n3u)||n==(na1(),n3a)||n==(na1(),n3c)||n==(na1(),n3o):2!=e):!(this.d&&(this.d.Hc(n)||this.d.Hc(Rz(Ua((nrR(),n28),n)))||this.d.Hc(nff((nrR(),n28),this.b,n))))&&(!(this.f&&nod((nrR(),this.f),xF(Ua(n28,n))))||(e=xb(Ua(n28,n)),this.e?4!=e:2!=e)))?(_B(this.a,n,(SB(),nOo)),!1):(_B(this.a,n,(SB(),nOu)),!0))},nPB.e=!1,Nj(njv,"FeatureMapUtil/BasicValidator",773),ncm(774,45,nw4,jS),Nj(njv,"FeatureMapUtil/BasicValidator/Cache",774),ncm(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},EL),nPB.bd=function(n,t){noJ(this.c,this.b,n,t)},nPB.Fc=function(n){return nsf(this.c,this.b,n)},nPB.cd=function(n,t){return function(n,t,e,i){var r,a,c,o,u,s,h,f;if(0==i.gc())return!1;if(yP(),c=(u=CY(t,69).xk())?i:new Gk(i.gc()),noz(n.e,t)){if(t.Si())for(h=i.Kc();h.Ob();)nhc(n,t,s=h.Pb(),jM(t,102)&&(CY(t,19).Bb&nwG)!=0)||(a=Fy(t,s),c.Fc(a));else if(!u)for(h=i.Kc();h.Ob();)a=Fy(t,s=h.Pb()),c.Fc(a)}else{for(o=0,f=nox(n.e.Dh(),t),r=CY(n.g,124);o<n.i;++o)if(a=r[o],f.am(a.Lk()))throw new pN(nSg).e;if(i.gc()>1)throw new pN(nSg).e;u||(a=Fy(t,i.Kc().Pb()),c.Fc(a))}return VI(n,nrL(n,t,e),c)}(this.c,this.b,n,t)},nPB.Gc=function(n){return jk(this,n)},nPB.Gi=function(n,t){var e=this.c,i=this.b;e.j=-1,na6(e,nrL(e,i,n),(yP(),CY(i,69).vk().xl(t)))},nPB.Wk=function(n,t){return nuD(this.c,this.b,n,t)},nPB.$i=function(n){return nhK(this.c,this.b,n,!1)},nPB.Ii=function(){var n;return n=this.c,new zz(this.b,n)},nPB.Ji=function(){var n;return n=this.c,new zz(this.b,n)},nPB.Ki=function(n){return function(n,t,e){var i,r;for(i=0,r=new zz(t,n);i<e;++i)nnp(r);return r}(this.c,this.b,n)},nPB.Xk=function(n,t){return nh$(this.c,this.b,n,t)},nPB.$b=function(){dX(this)},nPB.Hc=function(n){return FE(this.c,this.b,n)},nPB.Ic=function(n){return function(n,t,e){var i;for(i=e.Kc();i.Ob();)if(!FE(n,t,i.Pb()))return!1;return!0}(this.c,this.b,n)},nPB.Xb=function(n){return nhK(this.c,this.b,n,!0)},nPB.Fk=function(n){return this},nPB.dd=function(n){var t,e;return t=this.c,nhv(t,e=this.b,n,jM(e,102)&&(CY(e,19).Bb&nwG)!=0)},nPB.dc=function(){return E$(this)},nPB.Qj=function(){return!YI(this.c,this.b)},nPB.Kc=function(){var n,t;return n=this.c,jM(t=this.b,102)&&(CY(t,19).Bb&nwG)!=0?new Th(t,n):new zz(t,n)},nPB.ed=function(){var n,t;return n=this.c,jM(t=this.b,102)&&(CY(t,19).Bb&nwG)!=0?new Th(t,n):new zz(t,n)},nPB.fd=function(n){return function(n,t,e){var i,r;for(i=0,r=jM(t,102)&&(CY(t,19).Bb&nwG)!=0?new Th(t,n):new zz(t,n);i<e;++i)nnp(r);return r}(this.c,this.b,n)},nPB.Ti=function(n,t){return nsQ(this.c,this.b,n,t)},nPB.Ui=function(n,t){var e,i;e=this.c,nsQ(e,i=this.b,n,nhv(e,i,t,jM(i,102)&&(CY(i,19).Bb&nwG)!=0))},nPB.gd=function(n){return nrE(this.c,this.b,n)},nPB.Mc=function(n){return function(n,t,e){var i,r,a,c;if(c=nox(n.e.Dh(),t),i=CY(n.g,124),yP(),CY(t,69).xk()){for(a=0;a<n.i;++a)if(r=i[a],c.am(r.Lk())&&QY(r,e))return no9(n,a),!0}else if(null!=e){for(a=0;a<n.i;++a)if(r=i[a],c.am(r.Lk())&&QY(e,r.md()))return no9(n,a),!0}else for(a=0;a<n.i;++a)if(r=i[a],c.am(r.Lk())&&null==r.md())return no9(n,a),!0;return!1}(this.c,this.b,n)},nPB.hd=function(n,t){return nhu(this.c,this.b,n,t)},nPB.Wb=function(n){na5(this.c,this.b),jk(this,CY(n,15))},nPB.gc=function(){return function(n,t){var e,i,r,a,c;for(r=0,c=nox(n.e.Dh(),t),a=0,e=CY(n.g,124);r<n.i;++r)i=e[r],c.am(i.Lk())&&++a;return a}(this.c,this.b)},nPB.Pc=function(){var n;return function(n,t,e){var i,r,a,c,o,u;if(c=new oW,o=nox(n.e.Dh(),t),i=CY(n.g,124),yP(),CY(t,69).xk())for(a=0;a<n.i;++a)r=i[a],o.am(r.Lk())&&B7(c,r);else for(a=0;a<n.i;++a)r=i[a],o.am(r.Lk())&&(u=r.md(),B7(c,e?naA(n,t,a,c.i,u):u));return Fc(c)}(this.c,n=this.b,jM(n,102)&&(CY(n,19).Bb&nwG)!=0)},nPB.Qc=function(n){var t,e;return t=this.c,function(n,t,e,i){var r,a,c,o,u,s;if(o=new oW,u=nox(n.e.Dh(),t),r=CY(n.g,124),yP(),CY(t,69).xk())for(c=0;c<n.i;++c)a=r[c],u.am(a.Lk())&&B7(o,a);else for(c=0;c<n.i;++c)a=r[c],u.am(a.Lk())&&(s=a.md(),B7(o,i?naA(n,t,c,o.i,s):s));return YP(o,e)}(t,e=this.b,n,jM(e,102)&&(CY(e,19).Bb&nwG)!=0)},nPB.Ib=function(){var n,t,e;for(t=new p1,t.a+="[",e=this.c,n=new zz(this.b,e);WD(n);)EW(t,Sp(nnp(n))),WD(n)&&(t.a+=nl8);return t.a+="]",t.a},nPB.Gk=function(){na5(this.c,this.b)},Nj(njv,"FeatureMapUtil/FeatureEList",509),ncm(644,39,njn,Fx),nPB.hj=function(n){return Q9(this,n)},nPB.mj=function(n){var t,e,i,r;switch(this.d){case 1:case 2:if(ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return this.g=n.ij(),1==n.gj()&&(this.d=1),!0;break;case 3:if(3===n.gj()&&ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return this.d=5,B7(t=new Gk(2),this.g),B7(t,n.ij()),this.g=t,!0;break;case 5:if(3===n.gj()&&ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return CY(this.g,16).Fc(n.ij()),!0;break;case 4:switch(n.gj()){case 3:if(ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return this.d=1,this.g=n.ij(),!0;break;case 4:if(ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return this.d=6,B7(r=new Gk(2),this.n),B7(r,n.kj()),this.n=r,i=Vw(DY(n4s,1),nwl,28,15,[this.o,n.lj()]),this.g=i,!0}break;case 6:if(4===n.gj()&&ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return CY(this.n,16).Fc(n.kj()),e=BJ(n4s,nwl,28,(i=CY(this.g,53)).length+1,15,1),ns8(i,0,e,0,i.length),e[i.length]=n.lj(),this.g=e,!0}return!1},Nj(njv,"FeatureMapUtil/FeatureENotificationImpl",644),ncm(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},IB),nPB.Ol=function(n,t){return nsf(this.c,n,t)},nPB.Pl=function(n,t,e){return nuD(this.c,n,t,e)},nPB.Ql=function(n,t,e){return nh$(this.c,n,t,e)},nPB.Rl=function(){return this},nPB.Sl=function(n,t){return nhR(this.c,n,t)},nPB.Tl=function(n){return CY(nhK(this.c,this.b,n,!1),76).Lk()},nPB.Ul=function(n){return CY(nhK(this.c,this.b,n,!1),76).md()},nPB.Vl=function(){return this.a},nPB.Wl=function(n){return!YI(this.c,n)},nPB.Xl=function(n,t){nhQ(this.c,n,t)},nPB.Yl=function(n){return q8(this.c,n)},nPB.Zl=function(n){nts(this.c,n)},Nj(njv,"FeatureMapUtil/FeatureFeatureMap",564),ncm(1294,1,njy,EC),nPB.Fk=function(n){return nhK(this.b,this.a,-1,n)},nPB.Qj=function(){return!YI(this.b,this.a)},nPB.Wb=function(n){nhQ(this.b,this.a,n)},nPB.Gk=function(){na5(this.b,this.a)},Nj(njv,"FeatureMapUtil/FeatureValue",1294);var n2Y=IH(nSp,"AnyType");ncm(680,63,nbZ,pB),Nj(nSp,"InvalidDatatypeValueException",680);var n2Z=IH(nSp,nSm),n21=IH(nSp,nSv),n20=IH(nSp,nSy);ncm(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},gF),nPB.Lh=function(n,t,e){switch(n){case 0:if(e)return this.c||(this.c=new zE(this,0)),this.c;return this.c||(this.c=new zE(this,0)),this.c.b;case 1:if(e)return this.c||(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160);return(!this.c&&(this.c=new zE(this,0)),CY(CY(Rp(this.c,(nfl(),n3b)),160),220)).Vl();case 2:if(e)return this.b||(this.b=new zE(this,2)),this.b;return this.b||(this.b=new zE(this,2)),this.b.b}return HE(this,n-N$(this.ii()),Gt((2&this.j)==0?this.ii():(!this.k&&(this.k=new hD),this.k).Nk(),n),t,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.c||(this.c=new zE(this,0)),nsc(this.c,n,e);case 1:return(!this.c&&(this.c=new zE(this,0)),CY(CY(Rp(this.c,(nfl(),n3b)),160),71)).Xk(n,e);case 2:return this.b||(this.b=new zE(this,2)),nsc(this.b,n,e)}return CY(Gt((2&this.j)==0?this.ii():(!this.k&&(this.k=new hD),this.k).Nk(),t),69).wk().Ak(this,Um(this),t-N$(this.ii()),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.c&&0!=this.c.i;case 1:return!(!this.c&&(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160)).dc();case 2:return!!this.b&&0!=this.b.i}return Fr(this,n-N$(this.ii()),Gt((2&this.j)==0?this.ii():(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.bi=function(n,t){switch(n){case 0:this.c||(this.c=new zE(this,0)),L9(this.c,t);return;case 1:(!this.c&&(this.c=new zE(this,0)),CY(CY(Rp(this.c,(nfl(),n3b)),160),220)).Wb(t);return;case 2:this.b||(this.b=new zE(this,2)),L9(this.b,t);return}J5(this,n-N$(this.ii()),Gt((2&this.j)==0?this.ii():(!this.k&&(this.k=new hD),this.k).Nk(),n),t)},nPB.ii=function(){return nfl(),n3l},nPB.ki=function(n){switch(n){case 0:this.c||(this.c=new zE(this,0)),nft(this.c);return;case 1:(!this.c&&(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160)).$b();return;case 2:this.b||(this.b=new zE(this,2)),nft(this.b);return}QZ(this,n-N$(this.ii()),Gt((2&this.j)==0?this.ii():(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.Ib=function(){var n;return(4&this.j)!=0?ncG(this):(n=new Sm(ncG(this)),n.a+=" (mixed: ",EV(n,this.c),n.a+=", anyAttribute: ",EV(n,this.b),n.a+=")",n.a)},Nj(nSk,"AnyTypeImpl",844),ncm(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},sc),nPB.Lh=function(n,t,e){switch(n){case 0:return this.a;case 1:return this.b}return HE(this,n-N$((nfl(),n3j)),Gt((2&this.j)==0?n3j:(!this.k&&(this.k=new hD),this.k).Nk(),n),t,e)},nPB.Wh=function(n){switch(n){case 0:return null!=this.a;case 1:return null!=this.b}return Fr(this,n-N$((nfl(),n3j)),Gt((2&this.j)==0?n3j:(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.bi=function(n,t){switch(n){case 0:this.a=PA(t);return;case 1:this.b=PA(t);return}J5(this,n-N$((nfl(),n3j)),Gt((2&this.j)==0?n3j:(!this.k&&(this.k=new hD),this.k).Nk(),n),t)},nPB.ii=function(){return nfl(),n3j},nPB.ki=function(n){switch(n){case 0:this.a=null;return;case 1:this.b=null;return}QZ(this,n-N$((nfl(),n3j)),Gt((2&this.j)==0?n3j:(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.Ib=function(){var n;return(4&this.j)!=0?ncG(this):(n=new Sm(ncG(this)),n.a+=" (data: ",EW(n,this.a),n.a+=", target: ",EW(n,this.b),n.a+=")",n.a)},nPB.a=null,nPB.b=null,Nj(nSk,"ProcessingInstructionImpl",681),ncm(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},g_),nPB.Lh=function(n,t,e){switch(n){case 0:if(e)return this.c||(this.c=new zE(this,0)),this.c;return this.c||(this.c=new zE(this,0)),this.c.b;case 1:if(e)return this.c||(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160);return(!this.c&&(this.c=new zE(this,0)),CY(CY(Rp(this.c,(nfl(),n3b)),160),220)).Vl();case 2:if(e)return this.b||(this.b=new zE(this,2)),this.b;return this.b||(this.b=new zE(this,2)),this.b.b;case 3:return this.c||(this.c=new zE(this,0)),PA(nhR(this.c,(nfl(),n3O),!0));case 4:return OF(this.a,(this.c||(this.c=new zE(this,0)),PA(nhR(this.c,(nfl(),n3O),!0))));case 5:return this.a}return HE(this,n-N$((nfl(),n3P)),Gt((2&this.j)==0?n3P:(!this.k&&(this.k=new hD),this.k).Nk(),n),t,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.c&&0!=this.c.i;case 1:return!(!this.c&&(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160)).dc();case 2:return!!this.b&&0!=this.b.i;case 3:return this.c||(this.c=new zE(this,0)),null!=PA(nhR(this.c,(nfl(),n3O),!0));case 4:return null!=OF(this.a,(this.c||(this.c=new zE(this,0)),PA(nhR(this.c,(nfl(),n3O),!0))));case 5:return!!this.a}return Fr(this,n-N$((nfl(),n3P)),Gt((2&this.j)==0?n3P:(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.bi=function(n,t){switch(n){case 0:this.c||(this.c=new zE(this,0)),L9(this.c,t);return;case 1:(!this.c&&(this.c=new zE(this,0)),CY(CY(Rp(this.c,(nfl(),n3b)),160),220)).Wb(t);return;case 2:this.b||(this.b=new zE(this,2)),L9(this.b,t);return;case 3:Ko(this,PA(t));return;case 4:Ko(this,OK(this.a,t));return;case 5:this.a=CY(t,156);return}J5(this,n-N$((nfl(),n3P)),Gt((2&this.j)==0?n3P:(!this.k&&(this.k=new hD),this.k).Nk(),n),t)},nPB.ii=function(){return nfl(),n3P},nPB.ki=function(n){switch(n){case 0:this.c||(this.c=new zE(this,0)),nft(this.c);return;case 1:(!this.c&&(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160)).$b();return;case 2:this.b||(this.b=new zE(this,2)),nft(this.b);return;case 3:this.c||(this.c=new zE(this,0)),nhQ(this.c,(nfl(),n3O),null);return;case 4:Ko(this,OK(this.a,null));return;case 5:this.a=null;return}QZ(this,n-N$((nfl(),n3P)),Gt((2&this.j)==0?n3P:(!this.k&&(this.k=new hD),this.k).Nk(),n))},Nj(nSk,"SimpleAnyTypeImpl",682),ncm(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},gB),nPB.Lh=function(n,t,e){switch(n){case 0:if(e)return this.a||(this.a=new zE(this,0)),this.a;return this.a||(this.a=new zE(this,0)),this.a.b;case 1:return e?(this.b||(this.b=new Hs((nlq(),n2S),n07,this,1)),this.b):(this.b||(this.b=new Hs((nlq(),n2S),n07,this,1)),BW(this.b));case 2:return e?(this.c||(this.c=new Hs((nlq(),n2S),n07,this,2)),this.c):(this.c||(this.c=new Hs((nlq(),n2S),n07,this,2)),BW(this.c));case 3:return this.a||(this.a=new zE(this,0)),Rp(this.a,(nfl(),n3A));case 4:return this.a||(this.a=new zE(this,0)),Rp(this.a,(nfl(),n3L));case 5:return this.a||(this.a=new zE(this,0)),Rp(this.a,(nfl(),n3x));case 6:return this.a||(this.a=new zE(this,0)),Rp(this.a,(nfl(),n3$))}return HE(this,n-N$((nfl(),n3I)),Gt((2&this.j)==0?n3I:(!this.k&&(this.k=new hD),this.k).Nk(),n),t,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.a||(this.a=new zE(this,0)),nsc(this.a,n,e);case 1:return this.b||(this.b=new Hs((nlq(),n2S),n07,this,1)),O1(this.b,n,e);case 2:return this.c||(this.c=new Hs((nlq(),n2S),n07,this,2)),O1(this.c,n,e);case 5:var i;return this.a||(this.a=new zE(this,0)),i=Rp(this.a,(nfl(),n3x)),nh$(i.c,i.b,n,e)}return CY(Gt((2&this.j)==0?(nfl(),n3I):(!this.k&&(this.k=new hD),this.k).Nk(),t),69).wk().Ak(this,Um(this),t-N$((nfl(),n3I)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.a&&0!=this.a.i;case 1:return!!this.b&&0!=this.b.f;case 2:return!!this.c&&0!=this.c.f;case 3:return this.a||(this.a=new zE(this,0)),!E$(Rp(this.a,(nfl(),n3A)));case 4:return this.a||(this.a=new zE(this,0)),!E$(Rp(this.a,(nfl(),n3L)));case 5:return this.a||(this.a=new zE(this,0)),!E$(Rp(this.a,(nfl(),n3x)));case 6:return this.a||(this.a=new zE(this,0)),!E$(Rp(this.a,(nfl(),n3$)))}return Fr(this,n-N$((nfl(),n3I)),Gt((2&this.j)==0?n3I:(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.bi=function(n,t){switch(n){case 0:this.a||(this.a=new zE(this,0)),L9(this.a,t);return;case 1:this.b||(this.b=new Hs((nlq(),n2S),n07,this,1)),zu(this.b,t);return;case 2:this.c||(this.c=new Hs((nlq(),n2S),n07,this,2)),zu(this.c,t);return;case 3:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3A))),this.a||(this.a=new zE(this,0)),jk(Rp(this.a,n3A),CY(t,16));return;case 4:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3L))),this.a||(this.a=new zE(this,0)),jk(Rp(this.a,n3L),CY(t,16));return;case 5:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3x))),this.a||(this.a=new zE(this,0)),jk(Rp(this.a,n3x),CY(t,16));return;case 6:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3$))),this.a||(this.a=new zE(this,0)),jk(Rp(this.a,n3$),CY(t,16));return}J5(this,n-N$((nfl(),n3I)),Gt((2&this.j)==0?n3I:(!this.k&&(this.k=new hD),this.k).Nk(),n),t)},nPB.ii=function(){return nfl(),n3I},nPB.ki=function(n){switch(n){case 0:this.a||(this.a=new zE(this,0)),nft(this.a);return;case 1:this.b||(this.b=new Hs((nlq(),n2S),n07,this,1)),this.b.c.$b();return;case 2:this.c||(this.c=new Hs((nlq(),n2S),n07,this,2)),this.c.c.$b();return;case 3:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3A)));return;case 4:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3L)));return;case 5:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3x)));return;case 6:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3$)));return}QZ(this,n-N$((nfl(),n3I)),Gt((2&this.j)==0?n3I:(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.Ib=function(){var n;return(4&this.j)!=0?ncG(this):(n=new Sm(ncG(this)),n.a+=" (mixed: ",EV(n,this.a),n.a+=")",n.a)},Nj(nSk,"XMLTypeDocumentRootImpl",683),ncm(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},u5),nPB.ri=function(n,t){var e,i,r,a,c,o;switch(n.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 null==t?null:J2(t);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return PA(t);case 6:return null==(e=CY(t,195))?null:function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;if(ns0(),null==n)return null;if(0==(f=8*n.length))return"";for(o=f%24,l=f/24|0,u=0,a=null,a=BJ(n4u,nb5,28,4*(0!=o?l+1:l),15,1),s=0,h=0,t=0,e=0,i=0,c=0,r=0;u<l;u++)t=n[r++],e=n[r++],i=n[r++],h=(15&e)<<24>>24,s=(3&t)<<24>>24,b=(-128&t)==0?t>>2<<24>>24:(t>>2^192)<<24>>24,w=(-128&e)==0?e>>4<<24>>24:(e>>4^240)<<24>>24,d=(-128&i)==0?i>>6<<24>>24:(i>>6^252)<<24>>24,a[c++]=n3B[b],a[c++]=n3B[w|s<<4],a[c++]=n3B[h<<2|d],a[c++]=n3B[63&i];return 8==o?(s=(3&(t=n[r]))<<24>>24,b=(-128&t)==0?t>>2<<24>>24:(t>>2^192)<<24>>24,a[c++]=n3B[b],a[c++]=n3B[s<<4],a[c++]=61,a[c++]=61):16==o&&(t=n[r],h=(15&(e=n[r+1]))<<24>>24,s=(3&t)<<24>>24,b=(-128&t)==0?t>>2<<24>>24:(t>>2^192)<<24>>24,w=(-128&e)==0?e>>4<<24>>24:(e>>4^240)<<24>>24,a[c++]=n3B[b],a[c++]=n3B[w|s<<4],a[c++]=n3B[h<<2],a[c++]=61),Za(a,0,a.length)}(e);case 12:case 47:case 49:case 11:return nfL(this,n,t);case 13:return null==t?null:function(n){var t,e,i,r,a,c,o,u;if(i=nlP((n.c||(n.c=Rm(zF(n.f))),n.c),0),0==n.e||0==n.a&&-1!=n.f&&n.e<0)return i;if(t=+(0>XK(n)),e=n.e,i.length,nP_.Math.abs(Dy(n.e)),r=new p3,1==t&&(r.a+="-"),n.e>0)if((e-=i.length-t)>=0){for(r.a+="0.";e>nOE.length;e-=nOE.length)I1(r,nOE);a=nOE,c=Dy(e),r.a+=Za(a,0,c),EY(r,(Rx(t,i.length+1),i.substr(t)))}else e=t-e,EY(r,Di(i,t,Dy(e))),r.a+=".",EY(r,NF(i,Dy(e)));else{for(EY(r,(Rx(t,i.length+1),i.substr(t)));e<-nOE.length;e+=nOE.length)I1(r,nOE);o=nOE,u=Dy(-e),r.a+=Za(o,0,u)}return r.a}(CY(t,247));case 15:case 14:return null==t?null:(i=pj(PI(t)))==nwF?"INF":i==nw_?"-INF":""+i;case 17:return neZ((nfl(),t));case 18:return neZ(t);case 21:case 20:return null==t?null:(r=CY(t,161).a)==nwF?"INF":r==nw_?"-INF":""+r;case 27:return null==(a=CY(t,195))?null:function(n){var t,e,i,r;if(nub(),null==n)return null;for(e=0,t=BJ(n4u,nb5,28,2*(i=n.length),15,1);e<i;e++)(r=n[e])<0&&(r+=256),t[2*e]=n3U[r>>4],t[2*e+1]=n3U[15&r];return Za(t,0,t.length)}(a);case 30:return nth((nfl(),CY(t,15)));case 31:return nth(CY(t,15));case 40:return null==(nfl(),c=t)?null:J2(c);case 42:return ne1((nfl(),t));case 43:return ne1(t);case 59:case 48:return null==(nfl(),o=t)?null:J2(o);default:throw new pN(nE$+n.xe()+nED).e}},nPB.si=function(n){var t;switch(-1==n.G&&(n.G=(t=GT(n))?nnm(t.vi(),n):-1),n.G){case 0:return new gF;case 1:return new sc;case 2:return new g_;case 3:return new gB;default:throw new pN(nEF+n.zb+nED).e}},nPB.ti=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A;switch(n.hk()){case 5:case 52:case 4:return t;case 6:if(null==t)return null;if(null==(M=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;if(ns0(),null==n||(w=function(n){var t,e,i;for(t=0,i=0,e=n.length;t<e;t++)32==n[t]||13==n[t]||10==n[t]||9==n[t]||(n[i++]=n[t]);return i}(a=Ul(n)))%4!=0)return null;if(0==(d=w/4|0))return BJ(n4l,nEK,28,0,15,1);for(f=null,t=0,e=0,i=0,r=0,c=0,o=0,u=0,s=0,b=0,l=0,h=0,f=BJ(n4l,nEK,28,3*d,15,1);b<d-1;b++){if(!vr(c=a[h++])||!vr(o=a[h++])||!vr(u=a[h++])||!vr(s=a[h++]))return null;t=n3_[c],e=n3_[o],i=n3_[u],r=n3_[s],f[l++]=(t<<2|e>>4)<<24>>24,f[l++]=((15&e)<<4|i>>2&15)<<24>>24,f[l++]=(i<<6|r)<<24>>24}if(!vr(c=a[h++])||!vr(o=a[h++]))return null;if(t=n3_[c],e=n3_[o],u=a[h++],s=a[h++],-1==n3_[u]||-1==n3_[s])if(61==u&&61==s)return(15&e)!=0?null:(ns8(f,0,g=BJ(n4l,nEK,28,3*b+1,15,1),0,3*b),g[l]=(t<<2|e>>4)<<24>>24,g);else if(61==u||61!=s)return null;else return(3&(i=n3_[u]))!=0?null:(ns8(f,0,g=BJ(n4l,nEK,28,3*b+2,15,1),0,3*b),g[l++]=(t<<2|e>>4)<<24>>24,g[l]=((15&e)<<4|i>>2&15)<<24>>24,g);return i=n3_[u],r=n3_[s],f[l++]=(t<<2|e>>4)<<24>>24,f[l++]=((15&e)<<4|i>>2&15)<<24>>24,f[l++]=(i<<6|r)<<24>>24,f}(nhB(t,!0))))throw new pB("Invalid base64Binary value: '"+t+"'").e;return M;case 8:case 7:return null==t?null:function(n){if(OB(nMC,n=nhB(n,!0))||OB("1",n))return SB(),nOu;if(OB(nMI,n)||OB("0",n))return SB(),nOo;throw new pB("Invalid boolean value: '"+n+"'").e}(t);case 9:return null==t?null:Ub(nsE((o=nhB(t,!0)).length>0&&(Rx(0,o.length),43==o.charCodeAt(0))?(Rx(1,o.length+1),o.substr(1)):o,-128,127)<<24>>24);case 10:return null==t?null:Ub(nsE((u=nhB(t,!0)).length>0&&(Rx(0,u.length),43==u.charCodeAt(0))?(Rx(1,u.length+1),u.substr(1)):u,-128,127)<<24>>24);case 11:return PA(nlE(this,(nfl(),n3g),t));case 12:return PA(nlE(this,(nfl(),n3p),t));case 13:return null==t?null:new mW(nhB(t,!0));case 15:case 14:if(null==t)return null;if(j=nhB(t,!0),S=3,OB(j.substr(j.length-S,S),"INF")){if(4==(T=j.length)){if(Rx(0,j.length),43==(E=j.charCodeAt(0)))return n3R;if(45==E)return n3D}else if(3==T)return n3R}return ni7(j);case 16:return PA(nlE(this,(nfl(),n3m),t));case 17:return Ze((nfl(),t));case 18:return Ze(t);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return nhB(t,!0);case 21:case 20:if(null==t)return null;if(C=nhB(t,!0),I=3,OB(C.substr(C.length-I,I),"INF")){if(4==(O=C.length)){if(Rx(0,C.length),43==(P=C.charCodeAt(0)))return n3F;if(45==P)return n3K}else if(3==O)return n3F}return new dz(C);case 22:return PA(nlE(this,(nfl(),n3v),t));case 23:return PA(nlE(this,(nfl(),n3y),t));case 24:return PA(nlE(this,(nfl(),n3k),t));case 25:return PA(nlE(this,(nfl(),n3M),t));case 26:return PA(nlE(this,(nfl(),n3E),t));case 27:if(null==t)return null;if(null==(A=function(n){var t,e,i,r,a,c,o;if(nub(),null==n||(r=n.length)%2!=0)return null;for(i=0,t=Ul(n),e=BJ(n4l,nEK,28,a=r/2|0,15,1);i<a;i++){if(-1==(c=n3H[t[2*i]])||-1==(o=n3H[t[2*i+1]]))return null;e[i]=(c<<4|o)<<24>>24}return e}(nhB(t,!0))))throw new pB("Invalid hexBinary value: '"+t+"'").e;return A;case 30:return Zi((nfl(),t));case 31:return Zi(t);case 32:return null==t?null:Qx(nsE((w=nhB(t,!0)).length>0&&(Rx(0,w.length),43==w.charCodeAt(0))?(Rx(1,w.length+1),w.substr(1)):w,nbJ,nl3));case 33:return null==t?null:new TV((d=nhB(t,!0)).length>0&&(Rx(0,d.length),43==d.charCodeAt(0))?(Rx(1,d.length+1),d.substr(1)):d);case 34:return null==t?null:Qx(nsE((g=nhB(t,!0)).length>0&&(Rx(0,g.length),43==g.charCodeAt(0))?(Rx(1,g.length+1),g.substr(1)):g,nbJ,nl3));case 36:return null==t?null:ZE(nln((p=nhB(t,!0)).length>0&&(Rx(0,p.length),43==p.charCodeAt(0))?(Rx(1,p.length+1),p.substr(1)):p));case 37:return null==t?null:ZE(nln((m=nhB(t,!0)).length>0&&(Rx(0,m.length),43==m.charCodeAt(0))?(Rx(1,m.length+1),m.substr(1)):m));case 40:return null==(nfl(),e=t)?null:new TV((i=nhB(e,!0)).length>0&&(Rx(0,i.length),43==i.charCodeAt(0))?(Rx(1,i.length+1),i.substr(1)):i);case 42:return Zr((nfl(),t));case 43:return Zr(t);case 44:return null==t?null:new TV((v=nhB(t,!0)).length>0&&(Rx(0,v.length),43==v.charCodeAt(0))?(Rx(1,v.length+1),v.substr(1)):v);case 45:return null==t?null:new TV((y=nhB(t,!0)).length>0&&(Rx(0,y.length),43==y.charCodeAt(0))?(Rx(1,y.length+1),y.substr(1)):y);case 46:return nhB(t,!1);case 47:return PA(nlE(this,(nfl(),n3T),t));case 59:case 48:return null==(nfl(),r=t)?null:new TV((a=nhB(r,!0)).length>0&&(Rx(0,a.length),43==a.charCodeAt(0))?(Rx(1,a.length+1),a.substr(1)):a);case 49:return PA(nlE(this,(nfl(),n3S),t));case 50:return null==t?null:Q$(nsE((k=nhB(t,!0)).length>0&&(Rx(0,k.length),43==k.charCodeAt(0))?(Rx(1,k.length+1),k.substr(1)):k,-32768,32767)<<16>>16);case 51:return null==t?null:Q$(nsE((s=nhB(t,!0)).length>0&&(Rx(0,s.length),43==s.charCodeAt(0))?(Rx(1,s.length+1),s.substr(1)):s,-32768,32767)<<16>>16);case 53:return PA(nlE(this,(nfl(),n3C),t));case 55:return null==t?null:Q$(nsE((h=nhB(t,!0)).length>0&&(Rx(0,h.length),43==h.charCodeAt(0))?(Rx(1,h.length+1),h.substr(1)):h,-32768,32767)<<16>>16);case 56:return null==t?null:Q$(nsE((f=nhB(t,!0)).length>0&&(Rx(0,f.length),43==f.charCodeAt(0))?(Rx(1,f.length+1),f.substr(1)):f,-32768,32767)<<16>>16);case 57:return null==t?null:ZE(nln((l=nhB(t,!0)).length>0&&(Rx(0,l.length),43==l.charCodeAt(0))?(Rx(1,l.length+1),l.substr(1)):l));case 58:return null==t?null:ZE(nln((b=nhB(t,!0)).length>0&&(Rx(0,b.length),43==b.charCodeAt(0))?(Rx(1,b.length+1),b.substr(1)):b));case 60:return null==t?null:Qx(nsE((c=nhB(t,!0)).length>0&&(Rx(0,c.length),43==c.charCodeAt(0))?(Rx(1,c.length+1),c.substr(1)):c,nbJ,nl3));case 61:return null==t?null:Qx(nsE(nhB(t,!0),nbJ,nl3));default:throw new pN(nE$+n.xe()+nED).e}},Nj(nSk,"XMLTypeFactoryImpl",2028),ncm(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},xy),nPB.N=!1,nPB.O=!1;var n22=!1;Nj(nSk,"XMLTypePackageImpl",594),ncm(1961,1,{851:1},u8),nPB.Kk=function(){return nsV(),nlQ},Nj(nSk,"XMLTypePackageImpl/1",1961),ncm(1970,1,nj5,u9),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/10",1970),ncm(1971,1,nj5,u7),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/11",1971),ncm(1972,1,nj5,sn),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/12",1972),ncm(1973,1,nj5,st),nPB.fk=function(n){return E_(n)},nPB.gk=function(n){return BJ(nPS,nby,345,n,7,1)},Nj(nSk,"XMLTypePackageImpl/13",1973),ncm(1974,1,nj5,se),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/14",1974),ncm(1975,1,nj5,si),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/15",1975),ncm(1976,1,nj5,sr),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/16",1976),ncm(1977,1,nj5,sa),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/17",1977),ncm(1978,1,nj5,so),nPB.fk=function(n){return jM(n,161)},nPB.gk=function(n){return BJ(nPP,nby,161,n,0,1)},Nj(nSk,"XMLTypePackageImpl/18",1978),ncm(1979,1,nj5,su),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/19",1979),ncm(1962,1,nj5,ss),nPB.fk=function(n){return jM(n,857)},nPB.gk=function(n){return BJ(n2Y,nl7,857,n,0,1)},Nj(nSk,"XMLTypePackageImpl/2",1962),ncm(1980,1,nj5,sh),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/20",1980),ncm(1981,1,nj5,sf),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/21",1981),ncm(1982,1,nj5,sl),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/22",1982),ncm(1983,1,nj5,sb),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/23",1983),ncm(1984,1,nj5,sw),nPB.fk=function(n){return jM(n,195)},nPB.gk=function(n){return BJ(n4l,nby,195,n,0,2)},Nj(nSk,"XMLTypePackageImpl/24",1984),ncm(1985,1,nj5,sd),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/25",1985),ncm(1986,1,nj5,sg),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/26",1986),ncm(1987,1,nj5,sp),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/27",1987),ncm(1988,1,nj5,sm),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/28",1988),ncm(1989,1,nj5,sv),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/29",1989),ncm(1963,1,nj5,sy),nPB.fk=function(n){return jM(n,681)},nPB.gk=function(n){return BJ(n2Z,nl7,2119,n,0,1)},Nj(nSk,"XMLTypePackageImpl/3",1963),ncm(1990,1,nj5,sk),nPB.fk=function(n){return jM(n,17)},nPB.gk=function(n){return BJ(nPO,nby,17,n,0,1)},Nj(nSk,"XMLTypePackageImpl/30",1990),ncm(1991,1,nj5,sM),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/31",1991),ncm(1992,1,nj5,sE),nPB.fk=function(n){return jM(n,168)},nPB.gk=function(n){return BJ(nPC,nby,168,n,0,1)},Nj(nSk,"XMLTypePackageImpl/32",1992),ncm(1993,1,nj5,sT),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/33",1993),ncm(1994,1,nj5,sj),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/34",1994),ncm(1995,1,nj5,sS),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/35",1995),ncm(1996,1,nj5,sP),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/36",1996),ncm(1997,1,nj5,sO),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/37",1997),ncm(1998,1,nj5,sC),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/38",1998),ncm(1999,1,nj5,sI),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/39",1999),ncm(1964,1,nj5,sA),nPB.fk=function(n){return jM(n,682)},nPB.gk=function(n){return BJ(n21,nl7,2120,n,0,1)},Nj(nSk,"XMLTypePackageImpl/4",1964),ncm(2e3,1,nj5,sL),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/40",2e3),ncm(2001,1,nj5,sN),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/41",2001),ncm(2002,1,nj5,sx),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/42",2002),ncm(2003,1,nj5,s$),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/43",2003),ncm(2004,1,nj5,sD),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/44",2004),ncm(2005,1,nj5,sR),nPB.fk=function(n){return jM(n,191)},nPB.gk=function(n){return BJ(nPI,nby,191,n,0,1)},Nj(nSk,"XMLTypePackageImpl/45",2005),ncm(2006,1,nj5,sK),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/46",2006),ncm(2007,1,nj5,sF),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/47",2007),ncm(2008,1,nj5,s_),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/48",2008),ncm(2009,1,nj5,sB),nPB.fk=function(n){return jM(n,191)},nPB.gk=function(n){return BJ(nPI,nby,191,n,0,1)},Nj(nSk,"XMLTypePackageImpl/49",2009),ncm(1965,1,nj5,sH),nPB.fk=function(n){return jM(n,683)},nPB.gk=function(n){return BJ(n20,nl7,2121,n,0,1)},Nj(nSk,"XMLTypePackageImpl/5",1965),ncm(2010,1,nj5,sU),nPB.fk=function(n){return jM(n,168)},nPB.gk=function(n){return BJ(nPC,nby,168,n,0,1)},Nj(nSk,"XMLTypePackageImpl/50",2010),ncm(2011,1,nj5,sG),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/51",2011),ncm(2012,1,nj5,sq),nPB.fk=function(n){return jM(n,17)},nPB.gk=function(n){return BJ(nPO,nby,17,n,0,1)},Nj(nSk,"XMLTypePackageImpl/52",2012),ncm(1966,1,nj5,sX),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/6",1966),ncm(1967,1,nj5,sz),nPB.fk=function(n){return jM(n,195)},nPB.gk=function(n){return BJ(n4l,nby,195,n,0,2)},Nj(nSk,"XMLTypePackageImpl/7",1967),ncm(1968,1,nj5,sV),nPB.fk=function(n){return EF(n)},nPB.gk=function(n){return BJ(nPE,nby,485,n,8,1)},Nj(nSk,"XMLTypePackageImpl/8",1968),ncm(1969,1,nj5,sW),nPB.fk=function(n){return jM(n,222)},nPB.gk=function(n){return BJ(nPT,nby,222,n,0,1)},Nj(nSk,"XMLTypePackageImpl/9",1969),ncm(55,63,nbZ,pH),Nj(nSX,"RegEx/ParseException",55),ncm(836,1,{},sQ),nPB.bm=function(n){return n<this.j&&63==xq(this.i,n)},nPB.cm=function(){var n,t,e,i,r;if(10!=this.c)throw new pH(nlV((T9(),nTj))).e;switch(n=this.a){case 101:n=27;break;case 102:n=12;break;case 110:n=10;break;case 114:n=13;break;case 116:n=9;break;case 120:if(nlN(this),0!=this.c)throw new pH(nlV((T9(),nTQ))).e;if(123==this.a){for(r=0,e=0;;){if(nlN(this),0!=this.c)throw new pH(nlV((T9(),nTQ))).e;if((r=nnz(this.a))<0)break;if(e>16*e)throw new pH(nlV((T9(),nTJ))).e;e=16*e+r}if(125!=this.a)throw new pH(nlV((T9(),nTY))).e;if(e>nSz)throw new pH(nlV((T9(),nTZ))).e;n=e}else{if(r=0,0!=this.c||(r=nnz(this.a))<0||(e=r,nlN(this),0!=this.c||(r=nnz(this.a))<0))throw new pH(nlV((T9(),nTQ))).e;n=e=16*e+r}break;case 117:if(i=0,nlN(this),0!=this.c||(i=nnz(this.a))<0||(t=i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0))throw new pH(nlV((T9(),nTQ))).e;n=t=16*t+i;break;case 118:if(nlN(this),0!=this.c||(i=nnz(this.a))<0||(t=i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0))throw new pH(nlV((T9(),nTQ))).e;if((t=16*t+i)>nSz)throw new pH(nlV((T9(),"parser.descappe.4"))).e;n=t;break;case 65:case 90:case 122:throw new pH(nlV((T9(),nT1))).e}return n},nPB.dm=function(n){var t;switch(n){case 100:t=(32&this.e)==32?nlu("Nd",!0):(nlU(),n3Q);break;case 68:t=(32&this.e)==32?nlu("Nd",!1):(nlU(),n30);break;case 119:t=(32&this.e)==32?nlu("IsWord",!0):(nlU(),n4n);break;case 87:t=(32&this.e)==32?nlu("IsWord",!1):(nlU(),n33);break;case 115:t=(32&this.e)==32?nlu("IsSpace",!0):(nlU(),n36);break;case 83:t=(32&this.e)==32?nlu("IsSpace",!1):(nlU(),n32);break;default:throw new ph(nSV+n.toString(16)).e}return t},nPB.em=function(n){var t,e,i,r,a,c,o,u,s,h,f;for(this.b=1,nlN(this),t=null,0==this.c&&94==this.a?(nlN(this),n?(nlU(),nlU(),++n4c,s=new RX(5)):(nlU(),nlU(),++n4c,no2(t=new RX(4),0,nSz),++n4c,s=new RX(4))):(nlU(),nlU(),++n4c,s=new RX(4)),r=!0;1!=(f=this.c)&&(0!=f||93!=this.a||r);){if(r=!1,e=this.a,i=!1,10==f)switch(e){case 100:case 68:case 119:case 87:case 115:case 83:nhH(s,this.dm(e)),i=!0;break;case 105:case 73:case 99:case 67:(e=this.um(s,e))<0&&(i=!0);break;case 112:case 80:if(!(h=naC(this,e)))throw new pH(nlV((T9(),nTF))).e;nhH(s,h),i=!0;break;default:e=this.cm()}else if(20==f){if((a=S1(this.i,58,this.d))<0)throw new pH(nlV((T9(),nT_))).e;if(c=!0,94==xq(this.i,this.d)&&(++this.d,c=!1),!(o=Ht(Di(this.i,this.d,a),c,(512&this.e)==512)))throw new pH(nlV((T9(),nTH))).e;if(nhH(s,o),i=!0,a+1>=this.j||93!=xq(this.i,a+1))throw new pH(nlV((T9(),nT_))).e;this.d=a+2}if(nlN(this),!i)if(0!=this.c||45!=this.a)no2(s,e,e);else{if(nlN(this),1==(f=this.c))throw new pH(nlV((T9(),nTB))).e;0==f&&93==this.a?(no2(s,e,e),no2(s,45,45)):(u=this.a,10==f&&(u=this.cm()),nlN(this),no2(s,e,u))}(this.e&nbB)==nbB&&0==this.c&&44==this.a&&nlN(this)}if(1==this.c)throw new pH(nlV((T9(),nTB))).e;return t&&(nf$(t,s),s=t),ncU(s),nh6(s),this.b=0,nlN(this),s},nPB.fm=function(){var n,t,e,i;for(e=this.em(!1);7!=(i=this.c);)if(n=this.a,0==i&&(45==n||38==n)||4==i){if(nlN(this),9!=this.c)throw new pH(nlV((T9(),nTz))).e;if(t=this.em(!1),4==i)nhH(e,t);else if(45==n)nf$(e,t);else if(38==n)nfP(e,t);else throw new ph("ASSERT").e}else throw new pH(nlV((T9(),nTV))).e;return nlN(this),e},nPB.gm=function(){var n,t,e,i;return n=this.a-48,nlU(),nlU(),++n4c,t=new Dh(12,null,n),this.g||(this.g=new dJ),e=this.g,i=new di(n),jB(e.a,i),nlN(this),t},nPB.hm=function(){return nlN(this),nlU(),n35},nPB.im=function(){return nlN(this),nlU(),n34},nPB.jm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.km=function(){throw new pH(nlV((T9(),nT0))).e},nPB.lm=function(){var n,t;return(nlN(this),nlU(),n4r)?n4r:(t=nlu("M",!0),++n4c,n=new FA(3,t),n4r=n=Aw(nlu("M",!1),n))},nPB.mm=function(){return nlN(this),nlU(),n39},nPB.nm=function(){return nlN(this),nlU(),n4t},nPB.om=function(){var n;if(this.d>=this.j||(65504&(n=xq(this.i,this.d++)))!=64)throw new pH(nlV((T9(),nT$))).e;return nlN(this),nlU(),nlU(),++n4c,new Ad(0,n-64)},nPB.pm=function(){return nlN(this),function(){var n,t,e,i,r,a;if(nlU(),n4a)return n4a;for(++n4c,nhH(n=new RX(4),nlu(nS3,!0)),nf$(n,nlu("M",!0)),nf$(n,nlu("C",!0)),++n4c,a=new RX(4),i=0;i<11;i++)no2(a,i,i);return++n4c,nhH(t=new RX(4),nlu("M",!0)),no2(t,4448,4607),no2(t,65438,65439),++n4c,nh7(r=new T3(2),n),nh7(r,n3Y),++n4c,(e=new T3(2)).Jm(Aw(a,nlu("L",!0))),e.Jm(t),++n4c,e=new FA(3,e),++n4c,n4a=e=new L5(r,e)}()},nPB.qm=function(){return nlN(this),nlU(),n4e},nPB.rm=function(){var n;return nlU(),nlU(),++n4c,n=new Ad(0,105),nlN(this),n},nPB.sm=function(){return nlN(this),nlU(),n37},nPB.tm=function(){return nlN(this),nlU(),n38},nPB.um=function(n,t){return this.cm()},nPB.vm=function(){return nlN(this),nlU(),n3Z},nPB.wm=function(){var n,t,e,i,r,a,c;if(this.d+1>=this.j)throw new pH(nlV((T9(),nTL))).e;if(i=-1,t=null,49<=(n=xq(this.i,this.d))&&n<=57){if(i=n-48,this.g||(this.g=new dJ),a=this.g,c=new di(i),jB(a.a,c),++this.d,41!=xq(this.i,this.d))throw new pH(nlV((T9(),nTC))).e;++this.d}else switch(63==n&&--this.d,nlN(this),(t=nlk(this)).e){case 20:case 21:case 22:case 23:break;case 8:if(7!=this.c)throw new pH(nlV((T9(),nTC))).e;break;default:throw new pH(nlV((T9(),nTN))).e}if(nlN(this),r=Zf(this),e=null,2==r.e){if(2!=r.Pm())throw new pH(nlV((T9(),nTx))).e;e=r.Lm(1),r=r.Lm(0)}if(7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),nlU(),nlU(),++n4c,new U$(i,t,r,e)},nPB.xm=function(){return nlN(this),nlU(),n31},nPB.ym=function(){var n;if(nlN(this),n=Lx(24,Zf(this)),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.zm=function(){var n;if(nlN(this),n=Lx(20,Zf(this)),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Am=function(){var n;if(nlN(this),n=Lx(22,Zf(this)),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Bm=function(){var n,t,e,i,r;for(n=0,e=0,t=-1;this.d<this.j&&0!=(r=nca(t=xq(this.i,this.d)));)n|=r,++this.d;if(this.d>=this.j)throw new pH(nlV((T9(),nTI))).e;if(45==t){for(++this.d;this.d<this.j&&0!=(r=nca(t=xq(this.i,this.d)));)e|=r,++this.d;if(this.d>=this.j)throw new pH(nlV((T9(),nTI))).e}if(58==t){if(++this.d,nlN(this),i=NM(Zf(this),n,e),7!=this.c)throw new pH(nlV((T9(),nTC))).e;nlN(this)}else if(41==t)++this.d,nlN(this),i=NM(Zf(this),n,e);else throw new pH(nlV((T9(),nTA))).e;return i},nPB.Cm=function(){var n;if(nlN(this),n=Lx(21,Zf(this)),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Dm=function(){var n;if(nlN(this),n=Lx(23,Zf(this)),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Em=function(){var n,t;if(nlN(this),n=this.f++,t=L$(Zf(this),n),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),t},nPB.Fm=function(){var n;if(nlN(this),n=L$(Zf(this),0),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Gm=function(n){return(nlN(this),5==this.c)?(nlN(this),Aw(n,(nlU(),nlU(),++n4c,new FA(9,n)))):Aw(n,(nlU(),nlU(),++n4c,new FA(3,n)))},nPB.Hm=function(n){var t;return nlN(this),nlU(),nlU(),++n4c,t=new T3(2),5==this.c?(nlN(this),nh7(t,n3Y),nh7(t,n)):(nh7(t,n),nh7(t,n3Y)),t},nPB.Im=function(n){return(nlN(this),5==this.c)?(nlN(this),nlU(),nlU(),++n4c,new FA(9,n)):(nlU(),nlU(),++n4c,new FA(3,n))},nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=0,nPB.e=0,nPB.f=1,nPB.g=null,nPB.j=0,Nj(nSX,"RegEx/RegexParser",836),ncm(1947,836,{},gH),nPB.bm=function(n){return!1},nPB.cm=function(){return nud(this)},nPB.dm=function(n){return nsT(n)},nPB.em=function(n){return function n(t){var e,i,r,a,c,o,u,s;for(t.b=1,nlN(t),e=null,0==t.c&&94==t.a?(nlN(t),nlU(),nlU(),++n4c,no2(e=new RX(4),0,nSz)):(nlU(),nlU()),++n4c,o=new RX(4),a=!0;1!=(s=t.c);){if(0==s&&93==t.a&&!a){e&&(nf$(e,o),o=e);break}if(i=t.a,r=!1,10==s)switch(i){case 100:case 68:case 119:case 87:case 115:case 83:nhH(o,nsT(i)),r=!0;break;case 105:case 73:case 99:case 67:nhH(o,nsT(i)),(i=-1)<0&&(r=!0);break;case 112:case 80:if(!(u=naC(t,i)))throw new pH(nlV((T9(),nTF))).e;nhH(o,u),r=!0;break;default:i=nud(t)}else if(24==s&&!a){if(e&&(nf$(e,o),o=e),nf$(o,n(t)),0!=t.c||93!=t.a)throw new pH(nlV((T9(),nTU))).e;break}if(nlN(t),!r){if(0==s){if(91==i)throw new pH(nlV((T9(),nTG))).e;if(93==i)throw new pH(nlV((T9(),nTq))).e;if(45==i&&!a&&93!=t.a)throw new pH(nlV((T9(),nTX))).e}if(0!=t.c||45!=t.a||45==i&&a)no2(o,i,i);else{if(nlN(t),1==(s=t.c))throw new pH(nlV((T9(),nTB))).e;if(0==s&&93==t.a)no2(o,i,i),no2(o,45,45);else if(0==s&&93==t.a||24==s)throw new pH(nlV((T9(),nTX))).e;else{if(c=t.a,0==s){if(91==c)throw new pH(nlV((T9(),nTG))).e;if(93==c)throw new pH(nlV((T9(),nTq))).e;if(45==c)throw new pH(nlV((T9(),nTX))).e}else 10==s&&(c=nud(t));if(nlN(t),i>c)throw new pH(nlV((T9(),nTW))).e;no2(o,i,c)}}}a=!1}if(1==t.c)throw new pH(nlV((T9(),nTB))).e;return ncU(o),nh6(o),t.b=0,nlN(t),o}(this)},nPB.fm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.gm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.hm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.im=function(){throw new pH(nlV((T9(),nT0))).e},nPB.jm=function(){return nlN(this),nsT(67)},nPB.km=function(){return nlN(this),nsT(73)},nPB.lm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.mm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.nm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.om=function(){return nlN(this),nsT(99)},nPB.pm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.qm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.rm=function(){return nlN(this),nsT(105)},nPB.sm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.tm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.um=function(n,t){return nhH(n,nsT(t)),-1},nPB.vm=function(){return nlN(this),nlU(),nlU(),++n4c,new Ad(0,94)},nPB.wm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.xm=function(){return nlN(this),nlU(),nlU(),++n4c,new Ad(0,36)},nPB.ym=function(){throw new pH(nlV((T9(),nT0))).e},nPB.zm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Am=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Bm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Cm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Dm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Em=function(){var n;if(nlN(this),n=L$(Zf(this),0),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Fm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Gm=function(n){return nlN(this),Aw(n,(nlU(),nlU(),++n4c,new FA(3,n)))},nPB.Hm=function(n){var t;return nlN(this),nlU(),nlU(),++n4c,nh7(t=new T3(2),n),nh7(t,n3Y),t},nPB.Im=function(n){return nlN(this),nlU(),nlU(),++n4c,new FA(3,n)};var n23=null,n24=null;Nj(nSX,"RegEx/ParserForXMLSchema",1947),ncm(122,1,nS5,dr),nPB.Jm=function(n){throw new ph("Not supported.").e},nPB.Km=function(){return -1},nPB.Lm=function(n){return null},nPB.Mm=function(){return null},nPB.Nm=function(n){},nPB.Om=function(n){},nPB.Pm=function(){return 0},nPB.Ib=function(){return this.Qm(0)},nPB.Qm=function(n){return 11==this.e?".":""},nPB.e=0;var n26,n25,n28,n29,n27,n3n,n3t,n3e,n3i,n3r,n3a,n3c,n3o,n3u,n3s,n3h,n3f,n3l,n3b,n3w,n3d,n3g,n3p,n3m,n3v,n3y,n3k,n3M,n3E,n3T,n3j,n3S,n3P,n3O,n3C,n3I,n3A,n3L,n3N,n3x,n3$,n3D,n3R,n3K,n3F,n3_,n3B,n3H,n3U,n3G,n3q,n3X,n3z,n3V,n3W,n3Q,n3J,n3Y,n3Z,n31,n30,n32,n33,n34,n36,n35,n38,n39,n37,n4n,n4t,n4e,n4i=null,n4r=null,n4a=null,n4c=0,n4o=Nj(nSX,"RegEx/Token",122);ncm(138,122,{3:1,138:1,122:1},RX),nPB.Qm=function(n){var t,e,i;if(4==this.e)if(this==n3J)e=".";else if(this==n3Q)e="\\d";else if(this==n4n)e="\\w";else if(this==n36)e="\\s";else{for(i=new p1,i.a+="[",t=0;t<this.b.length;t+=2)(n&nbB)!=0&&t>0&&(i.a+=","),this.b[t]===this.b[t+1]?EW(i,nhl(this.b[t])):(EW(i,nhl(this.b[t])),i.a+="-",EW(i,nhl(this.b[t+1])));i.a+="]",e=i.a}else if(this==n30)e="\\D";else if(this==n33)e="\\W";else if(this==n32)e="\\S";else{for(i=new p1,i.a+="[^",t=0;t<this.b.length;t+=2)(n&nbB)!=0&&t>0&&(i.a+=","),this.b[t]===this.b[t+1]?EW(i,nhl(this.b[t])):(EW(i,nhl(this.b[t])),i.a+="-",EW(i,nhl(this.b[t+1])));i.a+="]",e=i.a}return e},nPB.a=!1,nPB.c=!1,Nj(nSX,"RegEx/RangeToken",138),ncm(592,1,{592:1},di),nPB.a=0,Nj(nSX,"RegEx/RegexParser/ReferencePosition",592),ncm(591,1,{3:1,591:1},ve),nPB.Fb=function(n){var t;return null!=n&&!!jM(n,591)&&(t=CY(n,591),OB(this.b,t.b)&&this.a==t.a)},nPB.Hb=function(){return Wb(this.b+"/"+noN(this.a))},nPB.Ib=function(){return this.c.Qm(this.a)},nPB.a=0,Nj(nSX,"RegEx/RegularExpression",591),ncm(228,122,nS5,Ad),nPB.Km=function(){return this.a},nPB.Qm=function(n){var t,e;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:e="\\"+Oo(this.a&nb9);break;case 12:e="\\f";break;case 10:e="\\n";break;case 13:e="\\r";break;case 9:e="\\t";break;case 27:e="\\e";break;default:e=this.a>=nwG?"\\v"+Di(t="0"+(this.a>>>0).toString(16),t.length-6,t.length):""+Oo(this.a&nb9)}break;case 8:e=this==n3Z||this==n31?""+Oo(this.a&nb9):"\\"+Oo(this.a&nb9);break;default:e=null}return e},nPB.a=0,Nj(nSX,"RegEx/Token/CharToken",228),ncm(318,122,nS5,FA),nPB.Lm=function(n){return this.a},nPB.Nm=function(n){this.b=n},nPB.Om=function(n){this.c=n},nPB.Pm=function(){return 1},nPB.Qm=function(n){var t;if(3==this.e)if(this.c<0&&this.b<0)t=this.a.Qm(n)+"*";else if(this.c==this.b)t=this.a.Qm(n)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)t=this.a.Qm(n)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)t=this.a.Qm(n)+"{"+this.c+",}";else throw new ph("Token#toString(): CLOSURE "+this.c+nl8+this.b).e;else if(this.c<0&&this.b<0)t=this.a.Qm(n)+"*?";else if(this.c==this.b)t=this.a.Qm(n)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)t=this.a.Qm(n)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)t=this.a.Qm(n)+"{"+this.c+",}?";else throw new ph("Token#toString(): NONGREEDYCLOSURE "+this.c+nl8+this.b).e;return t},nPB.b=0,nPB.c=0,Nj(nSX,"RegEx/Token/ClosureToken",318),ncm(837,122,nS5,L5),nPB.Lm=function(n){return 0==n?this.a:this.b},nPB.Pm=function(){return 2},nPB.Qm=function(n){return 3==this.b.e&&this.b.Lm(0)==this.a?this.a.Qm(n)+"+":9==this.b.e&&this.b.Lm(0)==this.a?this.a.Qm(n)+"+?":this.a.Qm(n)+""+this.b.Qm(n)},Nj(nSX,"RegEx/Token/ConcatToken",837),ncm(1945,122,nS5,U$),nPB.Lm=function(n){if(0==n)return this.d;if(1==n)return this.b;throw new ph("Internal Error: "+n).e},nPB.Pm=function(){return this.b?2:1},nPB.Qm=function(n){var t;return t=this.c>0?"(?("+this.c+")":8==this.a.e?"(?("+this.a+")":"(?"+this.a,this.b?t+=this.d+"|"+this.b+")":t+=this.d+")",t},nPB.c=0,Nj(nSX,"RegEx/Token/ConditionToken",1945),ncm(1946,122,nS5,Rq),nPB.Lm=function(n){return this.b},nPB.Pm=function(){return 1},nPB.Qm=function(n){return"(?"+(0==this.a?"":noN(this.a))+(0==this.c?"":noN(this.c))+":"+this.b.Qm(n)+")"},nPB.a=0,nPB.c=0,Nj(nSX,"RegEx/Token/ModifierToken",1946),ncm(838,122,nS5,N1),nPB.Lm=function(n){return this.a},nPB.Pm=function(){return 1},nPB.Qm=function(n){var t;switch(t=null,this.e){case 6:t=0==this.b?"(?:"+this.a.Qm(n)+")":"("+this.a.Qm(n)+")";break;case 20:t="(?="+this.a.Qm(n)+")";break;case 21:t="(?!"+this.a.Qm(n)+")";break;case 22:t="(?<="+this.a.Qm(n)+")";break;case 23:t="(?<!"+this.a.Qm(n)+")";break;case 24:t="(?>"+this.a.Qm(n)+")"}return t},nPB.b=0,Nj(nSX,"RegEx/Token/ParenToken",838),ncm(530,122,{3:1,122:1,530:1},Dh),nPB.Mm=function(){return this.b},nPB.Qm=function(n){return 12==this.e?"\\"+this.a:function(n){var t,e,i,r;for(i=0,r=n.length,t=null;i<r;i++)Rx(i,n.length),Tp(".*+?{[()|\\^$",niT(e=n.charCodeAt(i)))>=0?(!t&&(t=new p0,i>0&&EW(t,(B2(0,i,n.length),n.substr(0,i)))),t.a+="\\",NQ(t,e&nb9)):t&&NQ(t,e&nb9);return t?t.a:n}(this.b)},nPB.a=0,Nj(nSX,"RegEx/Token/StringToken",530),ncm(477,122,nS5,T3),nPB.Jm=function(n){nh7(this,n)},nPB.Lm=function(n){return CY(N9(this.a,n),122)},nPB.Pm=function(){return this.a?this.a.a.c.length:0},nPB.Qm=function(n){var t,e,i,r,a;if(1==this.e){if(2==this.a.a.c.length)t=CY(N9(this.a,0),122),r=3==(e=CY(N9(this.a,1),122)).e&&e.Lm(0)==t?t.Qm(n)+"+":9==e.e&&e.Lm(0)==t?t.Qm(n)+"+?":t.Qm(n)+""+e.Qm(n);else{for(i=0,a=new p1;i<this.a.a.c.length;i++)EW(a,CY(N9(this.a,i),122).Qm(n));r=a.a}return r}if(2==this.a.a.c.length&&7==CY(N9(this.a,1),122).e)r=CY(N9(this.a,0),122).Qm(n)+"?";else if(2==this.a.a.c.length&&7==CY(N9(this.a,0),122).e)r=CY(N9(this.a,1),122).Qm(n)+"??";else{for(EW(a=new p1,CY(N9(this.a,0),122).Qm(n)),i=1;i<this.a.a.c.length;i++)a.a+="|",EW(a,CY(N9(this.a,i),122).Qm(n));r=a.a}return r},Nj(nSX,"RegEx/Token/UnionToken",477),ncm(527,1,{600:1},vt),nPB.Ib=function(){return this.a.b},Nj(nS8,"XMLTypeUtil/PatternMatcherImpl",527),ncm(1707,1527,{},sJ),Nj(nS8,"XMLTypeValidator",1707),ncm(270,1,nbO,Lo),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return(this.b-this.a)*this.c<0?nlJ:new j3(this)},nPB.a=0,nPB.b=0,nPB.c=0,Nj(nS7,"ExclusiveRange",270),ncm(1084,1,nbg,sY),nPB.Rb=function(n){throw CY(n,17),new pR(nPn).e},nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){throw(new dF).e},nPB.Ub=function(){throw(new dF).e},nPB.Wb=function(n){throw CY(n,17),new pR(nPt).e},nPB.Ob=function(){return!1},nPB.Sb=function(){return!1},nPB.Tb=function(){return -1},nPB.Vb=function(){return -1},nPB.Qb=function(){throw new pR(nPe).e},Nj(nS7,"ExclusiveRange/1",1084),ncm(258,1,nbg,j3),nPB.Rb=function(n){throw CY(n,17),new pR(nPn).e},nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){var n;if(!(this.c.c<0?this.a>=this.c.b:this.a<=this.c.b))throw(new dF).e;return n=this.a,this.a+=this.c.c,++this.b,Qx(n)},nPB.Ub=function(){if(this.b<=0)throw(new dF).e;return--this.b,this.a-=this.c.c,Qx(this.a)},nPB.Wb=function(n){throw CY(n,17),new pR(nPt).e},nPB.Ob=function(){return this.c.c<0?this.a>=this.c.b:this.a<=this.c.b},nPB.Sb=function(){return this.b>0},nPB.Tb=function(){return this.b},nPB.Vb=function(){return this.b-1},nPB.Qb=function(){throw new pR(nPe).e},nPB.a=0,nPB.b=0,Nj(nS7,"ExclusiveRange/RangeIterator",258);var n4u=xw(njS,"C"),n4s=xw(njC,"I"),n4h=xw(nlZ,"Z"),n4f=xw(njI,"J"),n4l=xw(njj,"B"),n4b=xw(njP,"D"),n4w=xw(njO,"F"),n4d=xw(njA,"S"),n4g=IH("org.eclipse.elk.core.labels","ILabelManager"),n4p=IH(nE5,"DiagnosticChain"),n4m=IH(nj9,"ResourceSet"),n4v=Nj(nE5,"InvocationTargetException",null),n4y=(pZ(),function(n){return pZ(),function(){return function(n,t,e){var i;i=function(){var n;if(0!=nPv&&(n=Date.now())-nPy>2e3&&(nPy=n,nPk=nP_.setTimeout(va,10)),0==nPv++){var t,e,i=(pg(),nP4);if(i.a){e=null;do t=i.a,i.a=null,e=nrj(t,e);while(i.a)i.a=e}return!0}return!1}();try{return n.apply(t,e)}finally{var r,a=i;if(a&&function(n){var t,e;if(n.b){e=null;do t=n.b,n.b=null,e=nrj(t,e);while(n.b)n.b=e}}((pg(),nP4)),--nPv,a&&-1!=nPk){r=nPk,nP_.clearTimeout(r),nPk=-1}}}(n,this,arguments)}}),n4k=n4k=function(n,t,e,i){vc();var r=nPU;function a(){for(var n=0;n<r.length;n++)r[n]()}if(n)try{n4y(a)()}catch(e){n(t,e)}else n4y(a)()};!function(){vc();for(var n=nPU,t=0;t<arguments.length;t++)n.push(arguments[t])}(function(){mE(),function(){function n(n){var t=this;this.dispatch=function(t){var e=t.data;switch(e.cmd){case"algorithms":var i=Yv(($O(),new fF(new fN(n0S.b))));n.postMessage({id:e.id,data:i});break;case"categories":var r=Yv(($O(),new fF(new fN(n0S.c))));n.postMessage({id:e.id,data:r});break;case"options":var a=Yv(($O(),new fF(new fN(n0S.d))));n.postMessage({id:e.id,data:a});break;case"register":!function(n){var t,e,i;for(WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hF])),e=new fm(n),i=0;i<e.a.length;++i)OB(t=UA(e,i).te().a,"layered")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hd])):OB(t,"force")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new s4])):OB(t,"stress")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new s5])):OB(t,"mrtree")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hE])):OB(t,"radial")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hC])):OB(t,"disco")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new s0,new s2])):OB(t,"sporeOverlap")||OB(t,"sporeCompaction")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hx])):OB(t,"rectpacking")&&WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hA]))}(e.algorithms),n.postMessage({id:e.id});break;case"layout":!function(n,t,e){r=new fk(n),_s((a=new nt7).g),_s(a.j),LH(a.b),_s(a.d),_s(a.i),LH(a.k),LH(a.c),LH(a.e),l=function n(t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g;return mk(),r=new gE,i&&nob(r,i),o=Zh(e),nu9(t.g,o,r),nu9(t.i,r,e),qY(r,Kz(e,nE9)),nib(e,r),h=e,f=r,(d=Kq(h,"individualSpacings"))&&(Bz(f,(nl_(),nY_))||(l=new oN,nnh(f,nY_,l)),w=CY(ncx(f,nY_),385),b=null,d&&(g=XD(d,BJ(nPL,nby,2,0,6,1)),b=new vR(d,g)),b&&_r(b,new Ed(d,w))),nai(e,r),a=KG(e,"ports"),function(n,t,e){var i,r,a,c,o;if(e)for(a=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);a.Ob();)(r=KX(e,CY(a.Pb(),17).a))&&(qY(c=function(n,t,e){var i;return i=Zh(e),nu9(n.j,i,t),xM(n.k,t,e),t}(n,(mk(),o=new gT,t&&nou(o,t),o),r),Kz(r,nE9)),nib(r,c),nai(r,c),V6(n,r,c))}((c=new Ep(t,r)).a,c.b,a),V6(t,e,r),s=KG(e,nEQ),function(t,e,i){var r,a,c;if(i)for(c=((r=new Lo(i.a.length)).b-r.a)*r.c<0?(yO(),nlJ):new j3(r);c.Ob();)(a=KX(i,CY(c.Pb(),17).a))&&n(t,a,e)}((u=new Ec(t,r)).a,u.b,s),r}(a,r,null),function n(t,e){var i,r,a,c;if(!(c=CY(qN(Nk(t.i),e),27)))throw new p_("Unable to find elk node for json object '"+Kz(e,nE9)+"' Panic!").e;r=KG(e,"edges"),function(n,t,e){var i,r,a,c;if(e)for(a=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);a.Ob();)nEY in(r=KX(e,CY(a.Pb(),17).a)).a||nEZ in r.a?function(n,t,e){var i,r,a,c,o;if(qY(o=Fm(n,Fa(e),t),Kz(t,nE9)),a=KG(t,nEY),!function(n,t,e){var i,r,a;if(e)for(r=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);r.Ob();)(a=ntr(n,nak(UA(e,CY(r.Pb(),17).a))))&&(t.b||(t.b=new Ox(nL4,t,4,7)),B7(t.b,a))}((i=new Eu(n,o)).a,i.b,a),c=KG(t,nEZ),!function(n,t,e){var i,r,a;if(e)for(r=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);r.Ob();)(a=ntr(n,nak(UA(e,CY(r.Pb(),17).a))))&&(t.c||(t.c=new Ox(nL4,t,5,8)),B7(t.c,a))}((r=new Es(n,o)).a,r.b,c),0==(!o.b&&(o.b=new Ox(nL4,o,4,7)),o.b).i||0==(!o.c&&(o.c=new Ox(nL4,o,5,8)),o.c).i)throw new p_(nTe+Kz(t,nE9)+nTi).e;nib(t,o),function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(s=new Ds,h=new Ds,r=KG(t,nE1),!function(n,t,e,i,r){var a,c,o,u;if(r)for(u=((a=new Lo(r.a.length)).b-a.a)*a.c<0?(yO(),nlJ):new j3(a);u.Ob();)o=KX(r,CY(u.Pb(),17).a),function(n,t,e,i,r){d=Vk(t),g=Zh(r),nu9(n.d,g,d),xM(n.e,d,r),Xe(d,Kz(r,nE9));var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j=Kq(r,nTt),S=new wp(d).a;if(j)p=qn(j,"x"),G0(new wv(S).a,(xf(p),p)),m=qn(j,"y"),G3(new wy(S).a,(xf(m),m));else throw new p_("All edge sections need a start point.").e;b=Kq(r,"endPoint");var P=new wk(d).a;if(b)v=qn(b,"x"),GQ(new wM(P).a,(xf(v),v)),y=qn(b,"y"),G2(new wE(P).a,(xf(y),y));else throw new p_("All edge sections need an end point.").e;w=KG(r,nE0),function(n,t){var e,i,r;if(t)for(r=((e=new Lo(t.a.length)).b-e.a)*e.c<0?(yO(),nlJ):new j3(e);r.Ob();)i=KX(t,CY(r.Pb(),17).a),JL(new wj(n).a,pj(qn(i,"x")),pj(qn(i,"y")))}(new wT(d).a,w),f=Kz(r,nE3),k=(a=new Eh(n,d)).a,M=a.b,null!=f&&q1(M,ntr(k,f)),l=Kz(r,nE2),E=(c=new Ef(n,d)).a,T=c.b,null!=l&&q0(T,ntr(E,l)),s=KG(r,nE6),function(n,t,e){var i,r;if(e)for(r=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);r.Ob();)naR(n,t,nak(UA(e,CY(r.Pb(),17).a)))}((o=new El(e,d)).b,o.a,s),h=KG(r,nE4),function(n,t,e){var i,r;if(e)for(r=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);r.Ob();)naR(n,t,nak(UA(e,CY(r.Pb(),17).a)))}((u=new Eb(i,d)).b,u.a,h)}((c=new $r(n,t,e,i)).a,c.b,c.c,c.d,o)}((i=new $i(n,e,s,h)).a,i.b,i.c,i.d,r),b=(s.i||(s.i=new j4(s,s.c))).Kc();b.Ob();)for(l=CY(b.Pb(),166),c=CY(_G(s,l),21).Kc();c.Ob();)if(a=c.Pb(),f=CY(Gz(n.d,a),166))l.e||(l.e=new Ox(nL5,l,10,9)),B7(l.e,f);else throw new p_(nTr+a+nTa+Kz(t,nE9)+nTi).e;for(d=(h.i||(h.i=new j4(h,h.c))).Kc();d.Ob();)for(w=CY(d.Pb(),166),u=CY(_G(h,w),21).Kc();u.Ob();)if(o=u.Pb(),f=CY(Gz(n.d,o),166))w.g||(w.g=new Ox(nL5,w,9,10)),B7(w.g,f);else throw new p_(nTr+o+nTa+Kz(t,nE9)+nTi).e;e.b||(e.b=new Ox(nL4,e,4,7)),0!=e.b.i&&(e.c||(e.c=new Ox(nL4,e,5,8)),0!=e.c.i)&&(e.b||(e.b=new Ox(nL4,e,4,7)),e.b.i<=1&&(e.c||(e.c=new Ox(nL4,e,5,8)),e.c.i<=1))&&1==(!e.a&&(e.a=new Lk(nL5,e,6,6)),e.a).i&&(nnx(g=CY(GO((e.a||(e.a=new Lk(nL5,e,6,6)),e.a),0),166))||nn$(g)||(q1(g,CY(GO((e.b||(e.b=new Ox(nL4,e,4,7)),e.b),0),84)),q0(g,CY(GO((e.c||(e.c=new Ox(nL4,e,5,8)),e.c),0),84))))}(n,t,o),V6(n,t,o)}(n,r,t):function(n,t,e){var i,r,a,c,o,u,s,h,f;if(qY(o=Fm(n,Fa(e),t),Kz(t,nE9)),u=CY(Gz(n.g,nak(D$(t,nEU))),27),a=D$(t,"sourcePort"),i=null,a&&(i=nak(a)),s=CY(Gz(n.j,i),123),!u)throw new p_("An edge must have a source node (edge id: '"+Zh(t)+nTi).e;if(s&&!N7(DP(s),u))throw new p_("The source port of an edge must be a port of the edge's source node (edge id: '"+Kz(t,nE9)+nTi).e;if(o.b||(o.b=new Ox(nL4,o,4,7)),B7(o.b,s||u),h=CY(Gz(n.g,nak(D$(t,nTc))),27),c=D$(t,"targetPort"),r=null,c&&(r=nak(c)),f=CY(Gz(n.j,r),123),!h)throw new p_("An edge must have a target node (edge id: '"+Zh(t)+nTi).e;if(f&&!N7(DP(f),h))throw new p_("The target port of an edge must be a port of the edge's target node (edge id: '"+Kz(t,nE9)+nTi).e;if(o.c||(o.c=new Ox(nL4,o,5,8)),B7(o.c,f||h),0==(!o.b&&(o.b=new Ox(nL4,o,4,7)),o.b).i||0==(!o.c&&(o.c=new Ox(nL4,o,5,8)),o.c).i)throw new p_(nTe+Kz(t,nE9)+nTi).e;nib(t,o),function(n,t){var e,i,r,a,c,o,u,s,h,f;(nTo in n.a||nTu in n.a||nE0 in n.a)&&(a=Vk(t),i=Kq(n,nTo),c=new wS(a).a,i&&(o=qn(i,"x"),G0(new wN(c).a,(xf(o),o)),u=qn(i,"y"),G3(new w$(c).a,(xf(u),u))),r=Kq(n,nTu),s=new wD(a).a,r&&(h=qn(r,"x"),GQ(new wR(s).a,(xf(h),h)),f=qn(r,"y"),G2(new wK(s).a,(xf(f),f))),e=KG(n,nE0),function(n,t){var e,i,r;if(t)for(r=((e=new Lo(t.a.length)).b-e.a)*e.c<0?(yO(),nlJ):new j3(e);r.Ob();)i=KX(t,CY(r.Pb(),17).a),JL(new wg(n).a,pj(qn(i,"x")),pj(qn(i,"y")))}(new wF(a).a,e))}(t,o),V6(n,t,o)}(n,r,t),$9(c=CY(NR(n.b,Zh(r)),74),nTl),noo(c,function(n){var t,e,i,r,a;switch($9(n,nTl),(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i+(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i){case 0:throw new pN("The edge must have at least one source or target.").e;case 1:return 0==(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i?DV(niw(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84))):DV(niw(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)))}if(1==(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i&&1==(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i){if(r=niw(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)),a=niw(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84)),DV(r)==DV(a))return DV(r);if(r==DV(a))return r;if(a==DV(r))return a}for(t=niw(CY(_I(i=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(n.b||(n.b=new Ox(nL4,n,4,7)),n.b),(n.c||(n.c=new Ox(nL4,n,5,8)),n.c)])))),84));ncv(i);)if((e=niw(CY(_I(i),84)))!=t&&!Gw(e,t)){if(DV(e)==DV(t))t=DV(e);else if(!(t=function(n,t){var e,i,r,a,c,o;for(c=new Kp(i=CW(new wq(n)),i.c.length),o=new Kp(r=CW(new wq(t)),r.c.length),a=null;c.b>0&&o.b>0;)if(Px(c.b>0),e=CY(c.a.Xb(c.c=--c.b),27),Px(o.b>0),e==CY(o.a.Xb(o.c=--o.b),27))a=e;else break;return a}(t,e)))return null}return t}(c))}((i=new Eo(t,c)).a,i.b,r),a=KG(e,nEQ),function(t,e){var i,r,a;if(e)for(a=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);a.Ob();)(r=KX(e,CY(a.Pb(),17).a))&&n(t,r)}(new wm(t).a,a)}(a,r),t&&(c=function(n){var t,e,i,r,a,c,o,u,s;for(u=a=new R3,Vy(),s=nQR,jB(u.c,s),r=XD(n,BJ(nPL,nby,2,0,6,1)),i=new fq(new pU(new vR(n,r).b));i.b<i.d.gc();)Px(i.b<i.d.gc()),e=PA(i.d.Xb(i.c=i.b++)),(c=nfT(n0S,e))&&null!=(o=nfd(c,(t=D$(n,e)).te()?t.te().a:t.qe()?""+t.qe().a:t.re()?""+t.re().a:t.Ib()))&&((SD(c.j,(ZW(),nQq))||SD(c.j,nQX))&&V$(Gn(a,nNe),c,o),SD(c.j,nQU)&&V$(Gn(a,nL6),c,o),SD(c.j,nQz)&&V$(Gn(a,nNi),c,o),SD(c.j,nQG)&&V$(Gn(a,nNt),c,o));return a}(u=new fk(t)),nre(l,Vw(DY(nLj,1),nl7,536,0,[c]))),f=!1,h=!1,e&&(nTk in(u=new fk(e)).a&&(f=D$(u,nTk).qe().a),nTM in u.a&&(h=D$(u,nTM).qe().a)),(b=qe(new gz,f)).k=h;var i,r,a,c,o,u,h,f,l,b,w,d=new cZ;nid(b,"Recursive Graph Layout",function n(t,e,i){var r,a,c,o;for(c=(!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a).i,a=new j2((!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a));a.e!=a.i.gc();)0==(!(r=CY(Z6(a),27)).a&&(r.a=new Lk(nNe,r,10,11)),r.a).i||(c+=n(t,r,!1));if(i)for(o=DV(e);o;)c+=(!o.a&&(o.a=new Lk(nNe,o,10,11)),o.a).i,o=DV(o);return c}(d,l,!0)),nre(l,Vw(DY(nLj,1),nl7,536,0,[new hR])),Bz(l,(nl_(),nYA))||nre(l,Vw(DY(nLj,1),nl7,536,0,[new c8])),function n(t,e,i,r){var a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A,L,N,x,$,D,R,K,F,_,B,H,U,G,q,X,z,V,W,Q;if(r.$g()||pT(PC(ncx(e,(nl_(),nYi))))||(E=0!=(!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a).i,T=!(j=function(n){var t,e,i;if(!pT(PC(ncx(n,(nl_(),nJV)))))return $O(),$O(),nO_;for(i=new du,e=new Le(Sb(nc5(n).a.Kc(),new s));ncv(e);)na$(t=CY(_I(e),74))&&pT(PC(ncx(t,nJW)))&&dk(i.c,t);return i}(e)).dc(),!E&&!T))return $O(),$O(),nO_;if(!(a=CY(ncx(e,nYA),143)))throw new pK("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout.").e;if(ncw(),V=n0v,G=SD(a.g,V),ZN(e),!E&&T&&!G)return $O(),$O(),nO_;if(v=new du,ER(ncx(e,nJq))===ER((QO(),nZj))&&(W=n0g,SD(a.g,W)||(Q=n0d,SD(a.g,Q)))){if(pT(PC(ncx(e,nYY))))throw new pK("Topdown layout cannot be used together with hierarchy handling.").e;for(x=function n(t,e){var i,r,a,c,o;for(c=(!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a).i,a=new j2((!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a));a.e!=a.i.gc();)ER(ncx(r=CY(Z6(a),27),(nl_(),nJq)))!==ER((QO(),nZP))&&((o=CY(ncx(e,nYA),143))==(i=CY(ncx(r,nYA),143))||o&&_m(o,i))&&0!=(!r.a&&(r.a=new Lk(nNe,r,10,11)),r.a).i&&(c+=n(t,r));return c}(t,e),Xx($=new vq,(e.a||(e.a=new Lk(nNe,e,10,11)),e.a));0!=$.b;)ZN(L=CY(0==$.b?null:(Px(0!=$.b),Gy($,$.a.a)),27)),ER(ncx(L,nJq))===ER(nZP)||Bz(L,nJM)&&!_m(a,ncx(L,nYA))?(Vc(v,n(t,L,i,r)),nnh(L,nJq,nZP),nsh(L)):Xx($,(L.a||(L.a=new Lk(nNe,L,10,11)),L.a))}else{if(x=(!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a).i,pT(PC(ncx(e,nYY)))){if((q=r.eh(1)).Ug(nMM,1),null==ncx(e,nYZ))throw new pK(e.k+" has not been assigned a top-down node type.").e;if(CY(ncx(e,nYZ),280)==(QP(),n1H)||CY(ncx(e,nYZ),280)==n1G)for(m=new j2((!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a));m.e!=m.i.gc();)p=CY(Z6(m),27),A=CY(ncx(p,nYA),143),(!p.a&&(p.a=new Lk(nNe,p,10,11)),p.a).i>0&&Dc(A.f),null!=ncx(p,nY4)&&(U=CY(ncx(p,nY4),347).Tg(p),T_(p,nP_.Math.max(p.g,U.a),nP_.Math.max(p.f,U.b)));if(D=CY(ncx(e,nYa),107),w=e.g-(D.b+D.c),b=e.f-(D.d+D.a),q.bh("Available Child Area: ("+w+"|"+b+")"),nnh(e,nJj,w/b),ZK(e,a,r.eh(x)),CY(ncx(e,nYZ),280)==n1G&&(nlg(e),T_(e,D.b+pj(PI(ncx(e,nJI)))+D.c,D.d+pj(PI(ncx(e,nJC)))+D.a)),q.bh("Executed layout algorithm: "+PA(ncx(e,nJM))+" on node "+e.k),CY(ncx(e,nYZ),280)==n1H){if(w<0||b<0)throw new pK("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+e.k).e;for(Bz(e,nJI)||Bz(e,nJC)||nlg(e),g=pj(PI(ncx(e,nJI))),d=pj(PI(ncx(e,nJC))),q.bh("Desired Child Area: ("+g+"|"+d+")"),K=w/g,F=b/d,R=nP_.Math.min(K,nP_.Math.min(F,pj(PI(ncx(e,nY1))))),nnh(e,nY2,R),q.bh(e.k+" -- Local Scale Factor (X|Y): ("+K+"|"+F+")"),y=CY(ncx(e,nJL),21),c=0,o=0,R<K&&(y.Hc((neW(),nJd))?c=(w/2-g*R/2)/R:y.Hc(nJp)&&(c=(w-g*R)/R)),R<F&&(y.Hc((neW(),nJv))?o=(b/2-d*R/2)/R:y.Hc(nJm)&&(o=(b-d*R)/R)),X=c+(D.b/R-D.b),z=o+(D.d/R-D.d),q.bh("Shift: ("+X+"|"+z+")"),N=new j2((!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a));N.e!=N.i.gc();)GZ(L=CY(Z6(N),27),L.i+X),G1(L,L.j+z);for(M=new j2((!e.b&&(e.b=new Lk(nL6,e,12,3)),e.b));M.e!=M.i.gc();){for(B=new j2((!(k=CY(Z6(M),74)).a&&(k.a=new Lk(nL5,k,6,6)),k.a));B.e!=B.i.gc();)for(TU(_=CY(Z6(B),166),_.j+X,_.k+z),TH(_,_.b+X,_.c+z),h=new j2((!_.a&&(_.a=new jU(nL0,_,5)),_.a));h.e!=h.i.gc();)TF(u=CY(Z6(h),377),u.a+X,u.b+z);for(I=new j2((!k.n&&(k.n=new Lk(nNt,k,1,7)),k.n));I.e!=I.i.gc();)TB(C=CY(Z6(I),135),C.i+X,C.j+z);for(P=ZQ(O=CY(ncx(k,nJY),75),0);P.b!=P.d.c;)S=CY(K0(P),8),S.a+=X,S.b+=z;nnh(k,nJY,O)}}q.Vg()}for(l=new j2((!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a));l.e!=l.i.gc();)Vc(v,n(t,f=CY(Z6(l),27),i,r)),nsh(f)}if(r.$g())return $O(),$O(),nO_;for(H=new fU(v);H.a<H.c.c.length;)nnh(CY(RU(H),74),nYi,(SB(),!0));return pT(PC(ncx(e,nYY)))||ZK(e,a,r.eh(x)),!function(n){var t,e,i,r,a,c,o,u;for(c=new fU(n);c.a<c.c.c.length;){for(a=CY(RU(c),74),o=(i=niw(CY(GO((a.b||(a.b=new Ox(nL4,a,4,7)),a.b),0),84))).i,u=i.j,TU(r=CY(GO((a.a||(a.a=new Lk(nL5,a,6,6)),a.a),0),166),r.j+o,r.k+u),TH(r,r.b+o,r.c+u),e=new j2((!r.a&&(r.a=new jU(nL0,r,5)),r.a));e.e!=e.i.gc();)TF(t=CY(Z6(e),377),t.a+o,t.b+u);XU(CY(ncx(a,(nl_(),nJY)),75),o,u)}}(v),T&&G?j:($O(),$O(),nO_)}(d,l,null,b),nrl(b),nTk in r.a&&U7(r,nTk,null),(f||h)&&(!function n(t,e,i,r){var a,c,o,u,s,h,f,l;if(U7(e,nTh,new NO(t.Zg())),i&&!t.Xg().a.dc())for(U7(e,"logs",h=new fM),u=0,l=new fK(t.Xg().b.Kc());l.b.Ob();)f=new NO(PA(l.b.Pb())),UA(h,u),FO(h,u,f),++u;if(r&&U7(e,"executionTime",new fy(t.Wg())),!t.Yg().a.dc())for(U7(e,nEQ,o=new fM),u=0,c=new fK(t.Yg().b.Kc());c.b.Ob();)a=CY(c.b.Pb(),871),s=new pl,UA(o,u),FO(o,u,s),n(a,s,i,r),++u}(b,o=new pl,f,h),U7(r,nTk,o)),i=new wA(a);for(var g=new Tq(l);null!=g.g||g.c?null==g.g||0!=g.i&&CY(g.g[g.i-1],51).Ob():DU(g);)w=nc0(g),function(n,t){if(jM(t,207)){var e,i,r,a=CY(t,27);if(null==(r=Gz(n.i,a)))throw new p_("Node did not exist in input.").e;return zo(a,r)}if(jM(t,193)){var c,o=CY(t,123);if(null==(c=NR(n.k,o)))throw new p_("Port did not exist in input.").e;return zo(o,c)}if(jM(t,366))e=CY(t,135),i=NR(n.f,e),zo(e,i);else if(jM(t,326))!function(n,t){var e,i,r,a,c,o,u;if(!(c=CY(NR(n.c,t),190)))throw new p_("Edge did not exist in input.").e;i=Zh(c),vi((t.a||(t.a=new Lk(nL5,t,6,6)),t.a))||(e=new CA(n,i,o=new fM),t.a||(t.a=new Lk(nL5,t,6,6)),u=t.a,function(n,t){var e,i,r;for(e=0;n.e!=n.i.gc();)i=Z6(n),r=Qx(e),function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w;null==(l=NR(n.e,i))&&U7(CY(l=new pl,190),nE9,new NO(t+"_s"+r)),Nq(e,f=CY(l,190)),$$(w=new pl,"x",i.j),$$(w,"y",i.k),U7(f,nTt,w),$$(s=new pl,"x",i.b),$$(s,"y",i.c),U7(f,"endPoint",s),vi((i.a||(i.a=new jU(nL0,i,5)),i.a))||(a=new wL(u=new fM),_r((i.a||(i.a=new jU(nL0,i,5)),i.a),a),U7(f,nE0,u)),nnx(i)&&niC(n.a,f,nE3,nrH(n,nnx(i))),nn$(i)&&niC(n.a,f,nE2,nrH(n,nn$(i))),0==(!i.e&&(i.e=new Ox(nL5,i,10,9)),i.e).i||(c=new Ev(n,h=new fM),_r((i.e||(i.e=new Ox(nL5,i,10,9)),i.e),c),U7(f,nE6,h)),0==(!i.g&&(i.g=new Ox(nL5,i,9,10)),i.g).i||(o=new Ey(n,b=new fM),_r((i.g||(i.g=new Ox(nL5,i,9,10)),i.g),o),U7(f,nE4,b))}(t.a,t.b,t.c,CY(i,166),r),e!=nl3&&++e}(new j2(u),e),U7(c,nE1,o)),Bz(t,(nl_(),nJY))&&(!(r=CY(ncx(t,nJY),75))||xe(r)||(_r(r,new wx(a=new fM)),U7(c,"junctionPoints",a))),IT(c,"container",DS(t).k)}(n,CY(t,74));else if(t);else throw new pN(nTn+niV(new pU(Vw(DY(nPa,1),nl7,1,5,[t])))).e}(i.a,CY(w,58))}(e.graph,e.layoutOptions||{},e.options||{}),n.postMessage({id:e.id,data:e.graph})}},this.saveDispatch=function(e){try{t.dispatch(e)}catch(t){n.postMessage({id:e.data.id,error:t})}}}function e(t){var e=this;this.dispatcher=new n({postMessage:function(n){e.onmessage({data:n})}}),this.postMessage=function(n){setTimeout(function(){e.dispatcher.saveDispatch({data:n})},0)}}if(mE(),typeof document===ndf&&typeof self!==ndf){var r=new n(self);self.onmessage=r.saveDispatch}else typeof t!==ndf&&t.exports&&(Object.defineProperty(i,"__esModule",{value:!0}),t.exports={default:e,Worker:e})}()}),typeof window===nlY&&typeof window.$gwt===nlY&&(window.$gwt.permProps=[[["locale","default"],[nPi,"gecko1_8"]],[["locale","default"],[nPi,"safari"]]]),n4k(null,"elk",null)}).call(this)}).call(this,void 0!==e.g?e.g:"u">typeof self?self:"u">typeof window?window:{})},{}],3:[function(n,t,e){"use strict";var i=function(t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function, not "+typeof t);function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!(this instanceof e))throw TypeError("Cannot call a class as a function");var i=Object.assign({},t),r=!1;try{n.resolve("web-worker"),r=!0}catch(n){}if(t.workerUrl)if(r){var a=n("web-worker");i.workerFactory=function(n){return new a(n)}}else console.warn("Web worker requested but 'web-worker' package not installed. \nConsider installing the package or pass your own 'workerFactory' to ELK's constructor.\n... Falling back to non-web worker version.");if(!i.workerFactory){var c=n("./elk-worker.min.js").Worker;i.workerFactory=function(n){return new c(n)}}var o=(e.__proto__||Object.getPrototypeOf(e)).call(this,i);if(!this)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return o&&("object"==typeof o||"function"==typeof o)?o:this}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),e}(n("./elk-api.js").default);Object.defineProperty(t.exports,"__esModule",{value:!0}),t.exports=i,i.default=i},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(n,t,e){t.exports=Worker},{}]},{},[3])(3)},2685(n,t,e){"use strict";e.d(t,{Z:()=>y});var i=e(6163),r=e(6827);function a(n){let t=[];for(let e=0;e<n.length-1;e++)t.push({a:n[e],b:n[e+1]});return t}function c(n,t,e,i){let r=t.x-n.x,a=t.y-n.y,c=i.x-e.x,o=i.y-e.y,u=r*o-a*c;if(0===u)return null;let s=e.x-n.x,h=e.y-n.y,f=(s*o-h*c)/u,l=(s*a-h*r)/u;return f<=1e-6||f>=.999999||l<=1e-6||l>=.999999?null:{point:{x:n.x+f*r,y:n.y+f*a},tA:f,tB:l}}function o(n){return Math.abs(n.b.x-n.a.x)>=Math.abs(n.b.y-n.a.y)}function u(n,t,e){if("rounded"!==n.curve)return!1;let i=n.points,r=i[t],a=i[t+1];if(!r||!a)return!1;let c=Math.hypot(a.x-r.x,a.y-r.y),o=e*c,u=t>0?d(i[t-1],r,a,5):null;if(u&&o<u.cutLen)return!0;let s=t+2<i.length?d(r,a,i[t+2],5):null;return null!==s&&c-o<s.cutLen}function s(n){let t=[];for(let e=0;e<n.length;e++){let i=n[e],r=a(i.points);for(let s=e+1;s<n.length;s++){let e=n[s],h=a(e.points);for(let[n,a]of r.entries())for(let[r,s]of h.entries()){let h=c(a.a,a.b,s.a,s.b);if(!h||u(i,n,h.tA)||u(e,r,h.tB))continue;let f=o(a);f!==o(s)&&f?t.push({jumpEdgeId:i.id,otherEdgeId:e.id,segIndex:n,t:h.tA,point:h.point}):t.push({jumpEdgeId:e.id,otherEdgeId:i.id,segIndex:r,t:h.tB,point:h.point})}}}return t}function h(n){let t=Math.round(1e3*n)/1e3;return Number.isInteger(t),`${t}`}function f(n){return`${h(n.x)},${h(n.y)}`}function l(n){let t=n.b.x-n.a.x,e=n.b.y-n.a.y;return Math.abs(t)>=Math.abs(e)?+(t>=0):+(e>=0)}function b(n,t){if(n.length<2)return n.map(n=>({...n}));let e=n.map(n=>({...n})),r=t.arrowTypeStart&&i.hq[t.arrowTypeStart];if(r){let t=n[0],i=n[1],a=Math.atan2(i.y-t.y,i.x-t.x);e[0].x=t.x+r*Math.cos(a),e[0].y=t.y+r*Math.sin(a)}let a=t.arrowTypeEnd&&i.hq[t.arrowTypeEnd];if(a){let t=n.length,i=n[t-2],r=n[t-1],c=Math.atan2(r.y-i.y,r.x-i.x);e[t-1].x=r.x-a*Math.cos(c),e[t-1].y=r.y-a*Math.sin(c)}return e}function w(n,t,e,i,r){let a=n.point.x,c=n.point.y,o={x:a-t*n.r,y:c-e*n.r},u={x:a+t*n.r,y:c+e*n.r},s=[`L${f(o)}`];return"arc"===r?s.push(`A${h(n.r)},${h(n.r)} 0 0 ${i} ${f(u)}`):s.push(`M${f(u)}`),s}function d(n,t,e,i){let r=t.x-n.x,a=t.y-n.y,c=e.x-t.x,o=e.y-t.y,u=Math.hypot(r,a),s=Math.hypot(c,o);if(u<1e-5||s<1e-5)return null;let h=r/u,f=a/u,l=c/s,b=o/s,w=Math.acos(Math.max(-1,Math.min(1,h*l+f*b)));if(w<1e-5||1e-5>Math.abs(Math.PI-w))return null;let d=Math.min(i/Math.sin(w/2),u/2,s/2);return{startX:t.x-h*d,startY:t.y-f*d,endX:t.x+l*d,endY:t.y+b*d,ctrlX:t.x,ctrlY:t.y,cutLen:d}}function g(n,t,e){let i=n.points;if(i.length<2)return"";let r=b(i,n),c="rounded"===n.curve,o=a(r),u=new Map;for(let n of t){let t=o[n.segIndex];if(!t)continue;let i=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),r=u.get(n.segIndex)??[];r.push({t:n.t,point:n.point,d:n.t*i,r:e.jumpRadius}),u.set(n.segIndex,r)}let s=[`M${f(r[0])}`];for(let n=0;n<o.length;n++){let t=o[n],i=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),a=0===i?0:(t.b.x-t.a.x)/i,b=0===i?0:(t.b.y-t.a.y)/i,g=l(t),p=0;if(c&&n>0){let t=d(r[n-1],r[n],r[n+1]??r[n],5);t&&(p=t.cutLen)}let m=i,v=null;c&&n<o.length-1&&(v=d(r[n],r[n+1],r[n+2]??r[n+1],5))&&(m=i-v.cutLen);let y=.6*e.jumpRadius,k=[...u.get(n)??[]].sort((n,t)=>n.t-t.t).filter(n=>{let t=Math.min(n.d-p,m-n.d)-2;return n.r=Math.min(n.r,t),n.r>=y});for(let n=0;n<k.length-1;n++){let t=k[n+1].d-k[n].d;if(k[n].r+k[n+1].r>t){let e=t/2;k[n].r=Math.min(k[n].r,e),k[n+1].r=Math.min(k[n+1].r,e)}}for(let n of k)n.r<y||s.push(...w(n,a,b,g,e.jumpStyle));c&&v?(s.push(`L${h(v.startX)},${h(v.startY)}`),s.push(`Q${h(v.ctrlX)},${h(v.ctrlY)} ${h(v.endX)},${h(v.endY)}`)):s.push(`L${f(t.b)}`)}return s.join(" ")}function p(n){return/^[\d\s+,.LMelm-]*$/.test(n)}function m(n){return!n||"linear"===n||"rounded"===n||"step"===n||"stepBefore"===n||"stepAfter"===n}function v(n){if(!n)return null;try{let t="function"==typeof atob?atob(n):Buffer.from(n,"base64").toString(),e=JSON.parse(t);if(!Array.isArray(e))return null;let i=[];for(let n of e)n&&"number"==typeof n.x&&"number"==typeof n.y&&i.push({x:n.x,y:n.y});return i.length>=2?i:null}catch{return null}}function y(n,t,e){if(!e.enabled)return;let i=n.node();if(!i)return;let r=new Map;for(let n of t)r.set(n.id,n);let a=new Map;for(let n of i.querySelectorAll("path[data-id]")){let t=n.getAttribute("data-id");null===t||a.has(t)||a.set(t,n)}let c=[];for(let n of t){let t=a.get(n.id);if(!t)continue;let e=v(t.getAttribute("data-points"))??n.points;c.push({...n,points:e})}let o=s(c);if(0===o.length)return;let u=new Map;for(let n of o){let t=u.get(n.jumpEdgeId)??[];t.push(n),u.set(n.jumpEdgeId,t)}for(let n of c){let t=u.get(n.id);if(!t||0===t.length)continue;let i=r.get(n.id),c=i?.curve;if(void 0!==c&&!m(c))continue;let o=a.get(n.id);if(!o||void 0===c&&!p(o.getAttribute("d")??""))continue;let s=o.getAttribute("style")??"",h=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(s),f=h?Number.parseFloat(h[1]):null,l=h?Number.parseFloat(h[2]):null,b=g(n,t,e);if(o.setAttribute("d",b),null!==f&&null!==l&&"function"==typeof o.getTotalLength){let n=Math.max(0,o.getTotalLength()-f-l),t=`0 ${f} ${n} ${l}`,e=s.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${t};`).replace(/;\s*;+/g,";");o.setAttribute("style",e)}}}(0,r.K)(a,"buildSegmentList"),(0,r.K)(c,"segmentIntersection"),(0,r.K)(o,"isHorizontalSeg"),(0,r.K)(u,"crossingSitsInRoundedCorner"),(0,r.K)(s,"findEdgeIntersections"),(0,r.K)(h,"fmt"),(0,r.K)(f,"pointToString"),(0,r.K)(l,"getArcSweepFlag"),(0,r.K)(b,"applyMarkerOffsets"),(0,r.K)(w,"emitJump"),(0,r.K)(d,"computeRoundedCorner"),(0,r.K)(g,"rewriteEdgePath"),(0,r.K)(p,"isStraightPath"),(0,r.K)(m,"curveSupportsLineHops"),(0,r.K)(v,"decodeDataPoints"),(0,r.K)(y,"applyLineJumpsToSvg")},510(n,t,e){"use strict";e.r(t),e.d(t,{render:()=>X});var i=e(2685),r=e(3227),a=e(5616),c=e(6163);e(7827),e(3002),e(739),e(6320),e(2217),e(2941),e(6348);var o=e(1177);e(1293);var u=e(6827),s=e(7829),h=e(2954),f=(0,u.K)((n,t,{parentById:e})=>{let i=new Set,r=n;if(n===t)return e[n]||"root";for(;r;){if(i.add(r),r===t)return r;r=e[r]}for(r=t;r;){if(i.has(r))return r;r=e[r]}return"root"},"findCommonAncestor");function l(n,{measure:t}){let e=n.config?.elk?.lineHops;if(!1===e)return;let r=n.edges.filter(n=>Array.isArray(n.points)&&n.points.length>=2).map(n=>({id:n.id,points:n.points,curve:n.curve,arrowTypeStart:n.arrowTypeStart,arrowTypeEnd:n.arrowTypeEnd}));(0,i.Z)(t.groups.edgePaths,r,{enabled:!0,jumpRadius:6,jumpStyle:"gap"===e?"gap":"arc"})}(0,u.K)(l,"applyElkLineJumps");var b={},w={},d={},g={},p=10,m=(0,u.K)((n,t,e=.5)=>{let i=n.width/2,r=n.height/2,a=n.x-i,c=n.x+i,o=n.y-r,u=n.y+r,s=Math.abs(t.x-a)<=e&&t.y>=o-e&&t.y<=u+e,h=Math.abs(t.x-c)<=e&&t.y>=o-e&&t.y<=u+e,f=Math.abs(t.y-o)<=e&&t.x>=a-e&&t.x<=c+e,l=Math.abs(t.y-u)<=e&&t.x>=a-e&&t.x<=c+e;return s||h||f||l},"onBorder"),v=(0,u.K)((n,t,e)=>{let i=n.x,r=n.y,a=Math.abs(i-e.x),c=n.width/2,o=e.x<t.x?c-a:c+a,u=n.height/2,s=Math.abs(t.y-e.y),h=Math.abs(t.x-e.x);if(Math.abs(r-t.y)*c>Math.abs(i-t.x)*u){let n=e.y<t.y?t.y-u-r:r-u-t.y;o=h*n/s;let i={x:e.x<t.x?e.x+o:e.x-h+o,y:e.y<t.y?e.y+s-n:e.y-s+n};return 0===h&&(i.x=t.x),0===s&&(i.y=t.y),i}{let n=s*(o=e.x<t.x?t.x-c-i:i-c-t.x)/h,r=e.x<t.x?e.x+h-o:e.x-h+o,a=e.y<t.y?e.y+n:e.y-n;return 0===h&&(r=t.x),0===s&&(a=t.y),{x:r,y:a}}},"intersection"),y=(0,u.K)((n,t)=>{let e=n.x,i=n.y,r=Math.abs(t.x-e),a=Math.abs(t.y-i),c=n.width/2,o=n.height/2;return r>=c||a>=o},"outsideNode"),k=(0,u.K)((n,t,e=p)=>{let i=Math.abs(t.x-n.x),r=Math.abs(t.y-n.y),a=n.width/2,c=n.height/2;if(1>Math.abs(i-a)||1>Math.abs(r-c)){let i=t.x-n.x,r=t.y-n.y,a=Math.sqrt(i*i+r*r);if(a>0)return{x:n.x+i/a*(a+e),y:n.y+r/a*(a+e)}}return t},"ensureTrulyOutside"),M=(0,u.K)((n,t,e)=>{let i=1>Math.abs(t.x-n.x),r=1>Math.abs(t.y-n.y);return{x:i?t.x:t.x<n.x?n.x-n.width/4:n.x+n.width/4,y:r?t.y:e.y}},"makeInsidePoint"),E=(0,u.K)((n,t,e)=>{if(!n?.intersect)return null;let i=n.intersect(e);return!i||e.x<t.x&&i.x>t.x||e.x>t.x&&i.x<t.x||1>=Math.hypot(e.x-i.x,e.y-i.y)?null:i},"tryNodeIntersect"),T=(0,u.K)((n,t,e)=>{let i=M(n,t,e);return v(n,t,i)},"fallbackIntersection"),j=(0,u.K)((n,t,e)=>{let i=n.intersect?.(e);return!!i&&Math.hypot(e.x-t.x,e.y-t.y)<=Math.hypot(i.x-t.x,i.y-t.y)+1e-9},"insideOutline"),S=(0,u.K)((n,t,e,i)=>{if(!n?.intersect)return null;let r=i.x-e.x,a=i.y-e.y;if(0===r&&0===a||Math.abs(r)>1e-6&&Math.abs(a)>1e-6)return null;let c={x:t.x,y:t.y},o=Math.abs(r)>Math.abs(a),s=(0,u.K)(n=>o?{x:n,y:e.y}:{x:e.x,y:n},"along"),h=o?c.x:c.y,f=o?e.x:e.y;if(!j(n,c,s(h)))return null;if(j(n,c,s(f)))return{...e};for(let t=0;t<20;t++){let t=(h+f)/2;j(n,c,s(t))?h=t:f=t}return s(h)},"outlineAttachPoint"),P=(0,u.K)((n,t,e,i)=>{let r=k(t,e);return E(n,t,r)??T(t,r,i)},"computeNodeIntersection"),O=(0,u.K)((n,t,e,i=.1)=>{if(e&&0!==n.length)if("start"===t)n.length>0&&Math.abs(n[0].x-e.x)<i&&Math.abs(n[0].y-e.y)<i?n.shift():n[0]=e;else{let t=n.length-1;n.length>0&&Math.abs(n[t].x-e.x)<i&&Math.abs(n[t].y-e.y)<i?n.pop():n[t]=e}},"replaceEndpoint"),C=(0,u.K)(n=>"string"!=typeof n?0:Math.max(c.hq[n]??0,c.Nq[n]??0),"markerPathOffset"),I={arrow_open:["none","none"],arrow_cross:["none","arrow_cross"],double_arrow_cross:["arrow_cross","arrow_cross"],arrow_point:["none","arrow_point"],double_arrow_point:["arrow_point","arrow_point"],arrow_circle:["none","arrow_circle"],double_arrow_circle:["arrow_circle","arrow_circle"]},A="[top=12,left=12,bottom=12,right=12]",L={"spacing.baseValue":15,"spacing.nodeNode":15,"elk.aspectRatio":"1.6","elk.expandNodes":"true","elk.rectpacking.trybox":"true","elk.rectpacking.packing.compaction.rowHeightReevaluation":"true","elk.rectpacking.packing.compaction.iterations":10,"elk.rectpacking.whiteSpaceElimination.strategy":"EQUAL_BETWEEN_STRUCTURES","elk.rectpacking.widthApproximation.strategy":"SCANLINE"},N=["nodeSize.constraints","nodeSize.minimum","elk.algorithm","elk.aspectRatio","elk.contentAlignment","elk.expandNodes","elk.padding",...Object.keys(L)];function x(n){for(let t of N)delete n[t];n["spacing.baseValue"]=24,n["spacing.nodeNode"]=50}(0,u.K)(x,"clearContainerAlgorithmOptions");var $=new Set(["elk.layered","elk.box","elk.rectpacking","elk.stress","elk.force","elk.mrtree","elk.radial","elk.sporeOverlap"]);function D(n,t){if("string"==typeof n)return $.has(n)?n:void t?.warn(`Unknown container layout algorithm "${n}". Supported values: ${[...$].join(", ")}. Falling back to the diagram's layout algorithm.`)}function R(n){switch(n){case"LR":return"RIGHT";case"RL":return"LEFT";case"TB":case"TD":default:return"DOWN";case"BT":return"UP"}}function K(n){return(0,a.qV)(n.shape)?(n.labelData?.width??n.labels?.[0]?.width??0)+(n.padding??0):0}function F(n){return(0,a.qV)(n.shape)?{"nodeSize.constraints":"[MINIMUM_SIZE, NODE_LABELS]","nodeSize.minimum":`(${K(n)}, 0)`}:{}}function _(n,t,e,i){let r=(n.labelData?.width??0)+2*(n.padding??0),a=n.labelData?.height??0,c=Y(t?.preset),o={...F(n),"spacing.baseValue":24,"elk.layered.spacing.edgeNodeBetweenLayers":30,"elk.spacing.edgeEdge":20,"spacing.nodeNode":50,"elk.padding":"[top=24,left=24,bottom=24,right=24]","nodeLabels.placement":"[H_CENTER V_TOP, INSIDE]","elk.layered.mergeEdges":t?.mergeEdges,"elk.layered.nodePlacement.bk.fixedAlignment":t?.nodePlacementAlignment??c.alignment,"elk.layered.nodePlacement.strategy":t?.nodePlacementStrategy??c.containerPlacement,"elk.layered.cycleBreaking.strategy":t?.cycleBreakingStrategy??c.cycleBreaking,"elk.layered.nodePlacement.networkSimplex.nodeFlexibility":"PORT_POSITION","elk.spacing.portsSurrounding":A},u=D(n.metadata?.algorithm,i);if(u){let n=a+15;if(o["nodeSize.constraints"]="[MINIMUM_SIZE, NODE_LABELS]",o["nodeSize.minimum"]=`(${r}, ${n+15})`,o["elk.algorithm"]=u,o["elk.hierarchyHandling"]="SEPARATE_CHILDREN",o["elk.aspectRatio"]="2.0",o["elk.contentAlignment"]="H_CENTER V_TOP",o["elk.expandNodes"]="true",o["elk.padding"]=`[top=${n},left=15,bottom=15,right=15]`,"elk.rectpacking"===u){let n=a+10;Object.assign(o,L,{"elk.padding":`[top=${n},left=10,bottom=10,right=10]`,"nodeSize.minimum":`(${r}, ${n+10})`})}}else n.dir&&(o["elk.algorithm"]=e,o["elk.direction"]=R(n.dir),o["elk.hierarchyHandling"]="SEPARATE_CHILDREN");return Object.assign(o,g),o}function B(n,t){let e=new Set,i=new Map;for(let{id:t,parentId:e}of n){let n=i.get(e);n?n.push(t):i.set(e,[t])}for(let n of i.values()){let i=new Set(n),r=new Map(n.map(n=>[n,0])),a=new Map(n.map(n=>[n,[]])),c=[];for(let n of t){let t=null==n.source?void 0:String(n.source),e=null==n.target?void 0:String(n.target);t&&e&&t!==e&&i.has(t)&&i.has(e)&&(r.set(e,(r.get(e)??0)+1),a.get(t).push(e),a.get(e).push(t),c.push([t,e]))}let o=new Map,s=0;for(let t of n){if(o.has(t))continue;let n=[t];for(o.set(t,s);n.length>0;){let t=n.pop();for(let e of a.get(t))o.has(e)||(o.set(e,s),n.push(e))}s++}let h=Array(s).fill(!1);for(let t of n)(r.get(t)??0)===0&&(h[o.get(t)]=!0);if(!h.includes(!1))continue;let f=new Map(n.map(n=>[n,[]])),l=new Map(n.map(n=>[n,0])),b=(0,u.K)((n,t)=>{let e=new Set([n]),i=[n];for(;i.length>0;){let n=i.pop();if(n===t)return!0;for(let t of f.get(n))e.has(t)||(e.add(t),i.push(t))}return!1},"reaches");for(let[n,t]of c)b(t,n)||(f.get(n).push(t),l.set(t,(l.get(t)??0)+1));let w=Array(s).fill(!1);for(let t of n){let n=o.get(t);h[n]||w[n]||0!==l.get(t)||(e.add(t),w[n]=!0)}}return e}function H(n,t){if(n.config.elk?.keepEntryNodeOnTop)for(let e of B(n.nodes,n.edges.map(n=>({source:n.start,target:n.end})))){let n=t[e];n&&(n.layoutOptions={...n.layoutOptions,"elk.layered.layering.layerConstraint":"FIRST"})}}function U(n,t){let e=Q(t);return z(e),nN(n,e),{algorithm:e.algorithm}}async function G(n,t){let e=Q(t),i=q(n,e),r=new h;e.log.info("Drawing flowchart using v4 renderer",r);let a=await nh(r,i.elkGraph,e.log);return nf(n,a,i,e.log),V(n.nodes),a}function q(n,t){let e={},i=Z(n,t.algorithm,t.rootLayoutOptions),r=n.direction??"DOWN";i.layoutOptions["elk.direction"]=R(r);let a=nn(n.nodes,t.log);return nt(n.nodes,i,e,t),na(n,i,e,t),no(n,e,a,t),nu(i,e,a,t.log),H(n,e),{elkGraph:i,nodeDb:e,parentLookupDb:a}}(0,u.K)(D,"resolveContainerAlgorithm"),(0,u.K)(R,"dir2ElkDirection"),(0,u.K)(K,"groupTitleWidth"),(0,u.K)(F,"groupTitleSizeOptions"),(0,u.K)(_,"buildSubgraphLayoutOptions"),(0,u.K)(B,"findCyclicEntryNodes"),(0,u.K)(H,"applyCyclicEntryConstraint"),(0,u.K)(U,"prepareLayoutForElk"),(0,u.K)(G,"runElkLayoutCore"),(0,u.K)(q,"buildElkGraphFromLayoutData");var X=(0,r.xY)({afterPaint:l,prepareLayout:U,measureLayout:(0,u.K)((n,t)=>(0,r.QV)(n,t,{unwrapGroupLabels:!0}),"measureLayout"),runLayoutCore:G,paintOptions:{skipIntersect:!0}});function z(n){(0,o.XV)(n.getConfig())}function V(n){let t=new Map(n.map(n=>[n.id,n]));n.sort((n,e)=>n.isGroup!==e.isGroup?n.isGroup?-1:1:n.isGroup&&e.isGroup?W(n,t)-W(e,t):0)}function W(n,t){let e=0,i=new Set,r=n.parentId;for(;r&&!i.has(r);){i.add(r);let n=t.get(r);if(!n?.isGroup)break;e++,r=n.parentId}return e}function Q(n){let t=n.helpers;if(!t)throw Error("ELK layout requires Mermaid internal helpers");return{algorithm:n.preparedLayout?.algorithm??n.options?.algorithm,rootLayoutOptions:n.options?.rootLayoutOptions,common:t.common,getConfig:t.getConfig,interpolateToCurve:t.interpolateToCurve,log:t.log}}(0,u.K)(z,"syncHostConfig"),(0,u.K)(V,"orderNodesForElkPaint"),(0,u.K)(W,"getGroupDepth"),(0,u.K)(Q,"getElkLayoutContext");var J={default:{layering:"NETWORK_SIMPLEX",placement:"BRANDES_KOEPF",containerPlacement:"BRANDES_KOEPF",alignment:"BALANCED",cycleBreaking:"DEPTH_FIRST"},legacy:{layering:"NETWORK_SIMPLEX",placement:"BRANDES_KOEPF",containerPlacement:"BRANDES_KOEPF",alignment:"NONE",cycleBreaking:"GREEDY"},modelOrder:{layering:"NETWORK_SIMPLEX",placement:"NETWORK_SIMPLEX",containerPlacement:"BRANDES_KOEPF",alignment:"NONE",cycleBreaking:"GREEDY_MODEL_ORDER"},depthFirst:{layering:"NETWORK_SIMPLEX",placement:"NETWORK_SIMPLEX",containerPlacement:"BRANDES_KOEPF",alignment:"NONE",cycleBreaking:"DEPTH_FIRST"}};function Y(n){return void 0!==n&&Object.hasOwn(J,n)?J[n]:J.default}function Z(n,t,e){let i=Y(n.config.elk?.preset),r={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","elk.algorithm":t,"elk.layered.nodePlacement.strategy":n.config.elk?.nodePlacementStrategy??i.placement,"elk.layered.nodePlacement.bk.fixedAlignment":n.config.elk?.nodePlacementAlignment??i.alignment,"elk.layered.mergeEdges":n.config.elk?.mergeEdges,"elk.direction":"DOWN","spacing.baseValue":40,"elk.layered.crossingMinimization.forceNodeModelOrder":n.config.elk?.forceNodeModelOrder,"elk.layered.considerModelOrder.strategy":n.config.elk?.considerModelOrder,"elk.layered.unnecessaryBendpoints":!0,"elk.layered.cycleBreaking.strategy":n.config.elk?.cycleBreakingStrategy??i.cycleBreaking,"elk.layered.layering.strategy":n.config.elk?.layeringStrategy??i.layering,"elk.layered.layering.coffmanGraham.layerBound":n.config.elk?.layeringLayerBound,"elk.layered.wrapping.multiEdge.improveCuts":!0,"elk.layered.wrapping.multiEdge.improveWrappedEdges":!0,"elk.layered.edgeRouting.selfLoopDistribution":"EQUALLY","elk.layered.mergeHierarchyEdges":!0,"elk.spacing.portsSurrounding":A},children:[],edges:[]};return"elk.rectpacking"===t&&Object.assign(r.layoutOptions,L,{"elk.contentAlignment":"H_CENTER V_TOP","elk.padding":"[top=15,left=15,bottom=15,right=15]"}),e&&Object.assign(r.layoutOptions,e),Object.assign(r.layoutOptions,b,w,d),r}function nn(n,t){let e={parentById:{},childrenById:{}},i=n.filter(n=>n.isGroup);return t.info("Subgraphs - ",i),i.forEach(t=>{n.filter(n=>n.parentId===t.id).forEach(n=>{e.parentById[n.id]=t.id,e.childrenById[t.id]??=[],e.childrenById[t.id].push(n.id)})}),e}function nt(n,t,e,i,r){let a=n.filter(n=>n?.parentId===r);return i.log.info("addVertices APA12",a,r),a.forEach(r=>{ne(t,n,r,e,i)}),t}function ne(n,t,e,i,r){let a=ni(e);n.children.push(a),i[e.id]=a,e.isGroup&&(a.children=[],nt(t,a,i,r,e.id),a.labelData=nr(e,r.getConfig()))}function ni(n){let t={...n};return delete t.domId,n.isGroup?t.children=[]:(t.width=n.width??0,t.height=n.height??0,n.spreadPorts&&(t.layoutOptions={...t.layoutOptions,"elk.portAlignment.default":"CENTER"})),t}function nr(n,t){let e=n.labelData;return e||(n.labelBBox?{width:n.labelBBox.width,height:Math.max(0,n.labelBBox.height-2),wrappingWidth:n.wrappingWidth??t.flowchart?.wrappingWidth}:{width:0,height:0,wrappingWidth:n.wrappingWidth??t.flowchart?.wrappingWidth})}function na(n,t,e,i){i.log.info("abc78 DAGA edges = ",n);let r={};return n.edges.forEach(n=>{let a=n.id;r[a]=(r[a]??-1)+1,n.id=a,i.log.info("abc78 new link id to be used is",a,a,r[a]);let{source:c,target:o,sourceId:u,targetId:s}=nc(n,e);i.log.debug("abc78 source and target",c,o),t.edges.push({...n,sources:[c],targets:[o],sourceId:u,targetId:s,labels:[{width:n.width??0,height:n.height??0,orgWidth:n.width??0,orgHeight:n.height??0,text:n.label??"",layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}]})}),t}function nc(n,t){let e=n.start,i=n.end,r=e?t[e]:void 0,a=i?t[i]:void 0;return r&&a?{source:e,target:i,sourceId:e,targetId:i}:{source:e,target:i}}function no(n,t,e,i){n.nodes.forEach(r=>{let a=t[r.id];a&&void 0!==e.childrenById[a.id]&&(a.labels=[{text:a.label,width:a?.labelData?.width??50,height:a?.labelData?.height??50}],i.log.debug("UIO node label",a?.labelData?.width,a.padding),a.layoutOptions=_(a,n.config.elk,i.algorithm,i.log),delete a.x,delete a.y,delete a.width,delete a.height)})}function nu(n,t,e,i){i.debug("APA01 processing edges, count:",n.edges.length),n.edges.forEach((n,r)=>{i.debug("APA01 processing edge",r,":",n);let a=n.sources[0],c=n.targets[0];if(i.debug("APA01 source:",a,"target:",c),i.debug("APA01 nodeDb[source]:",t[a]),i.debug("APA01 nodeDb[target]:",t[c]),t[a]&&t[c]&&t[a].parentId!==t[c].parentId){let n=f(a,c,e);ns(t,a,n,i),ns(t,c,n,i)}})}function ns(n,t,e,i){let r=n[t];r&&(r.layoutOptions??={},"SEPARATE_CHILDREN"===r.layoutOptions["elk.hierarchyHandling"]&&D(r.metadata?.algorithm)&&(i.debug("Dropping explicit algorithm for node",r.id,"due to cross-boundary edges"),x(r.layoutOptions),Object.assign(r.layoutOptions,F(r))),r.layoutOptions["elk.hierarchyHandling"]="INCLUDE_CHILDREN",r.id!==e&&r.parentId&&ns(n,r.parentId,e,i))}async function nh(n,t,e){let i=globalThis.__mermaidProfiler;try{let r;i?.begin("layoutCore");try{r=await n.layout(t)}finally{i?.end()}return e.debug("APA01 after - success"),e.debug("APA01 layout result:",r),r}catch(n){throw e.error("ELK layout error:",n),n}}function nf(n,t,e,i){let r=new Map(n.nodes.map(n=>[n.id,n]));nd(t.children??[],e,r,0,0,0,i),nw(t.children??[],e,r,t),nM(n,t,e,i)}function nl(n,t=new Set){for(let e of n.children??[])t.add(e.id),nl(e,t);return t}function nb(n,t,e,i){let r=[];for(let a of n.edges??[]){let n=a.sources?.[0]??a.start,c=a.targets?.[0]??a.end,o=t.has(n)&&t.has(c),u=n===i,s=c===i;if(!o&&!u&&!s)continue;let h=nj(n,c,e.parentLookupDb,e.nodeDb);for(let n of a.sections??[])for(let t of o?[n.startPoint,...n.bendPoints??[],n.endPoint]:[u?n.startPoint:null,s?n.endPoint:null])t&&r.push({x:t.x+h.x,y:t.y+h.y})}return r}function nw(n,t,e,i={}){for(let r of n){if(!r?.isGroup)continue;let n=r.children??[];nw(n,t,e,i);let a=t.nodeDb[r.id],c=n.map(n=>t.nodeDb[n.id]).filter(n=>n?.offset&&n.width&&n.height);if(!a?.offset||0===c.length)continue;let o=nb(i,nl(r),t,r.id),u=[...c.map(n=>n.offset.posX),...c.map(n=>n.offset.posX+n.width),...o.map(n=>n.x)],s=[...c.map(n=>n.offset.posY),...c.map(n=>n.offset.posY+n.height),...o.map(n=>n.y)],h=a.offset,f=Math.max(h.posX,Math.min(...u)-24),l=Math.min(h.posX+a.width,Math.max(...u)+24),b=Math.min(h.posY+a.height,Math.max(...s)+24),w=h.posY,d=K(r),g=f,p=l-f;if(p<d){g-=(d-p)/2,p=d;let n=h.posX+a.width;g=Math.max(h.posX,Math.min(g,n-p)),p=Math.min(p,a.width)}let m=b-w;if(m<=0||p<=0)continue;a.elkOrigin??={posX:h.posX,posY:h.posY},a.offset.posX=g,a.offset.width=p,a.offset.height=m,a.width=p,a.height=m,a.x=g+p/2,a.y=w+m/2;let v=e.get(r.id);v&&(v.x=a.x,v.y=a.y,v.width=p,v.height=m)}}function nd(n,t,e,i,r,a,c){n.forEach(n=>{if(!n)return;let o=t.nodeDb[n.id]??n,u=Math.max(n.width,n.labels&&n.labels[0]?.width||0),s={posX:n.x+i,posY:n.y+r,x:i,y:r,depth:a,width:u,height:n.height};o.offset=s,o.x=s.posX+n.width/2,o.y=s.posY+n.height/2,o.width=n.width,o.height=n.height;let h=e.get(n.id);h&&(h.x=o.x,h.y=o.y,h.width=n.isGroup?Math.max(n.width,n.labelData?.width??0):n.width,h.height=n.height,h.labelData=n.labelData,h.labels=n.labels),n.isGroup?(c.debug("Id abc88 subgraph = ",n.id,n.x,n.y,n.labelData),nd(n.children??[],t,e,s.posX,s.posY,a+1,c)):c.info("Id NODE = ",n.id,n.x,n.y,i,r,`translate(${o.x}, ${o.y})`)})}function ng(n,t){let e=Math.abs(t.x-n.x),i=Math.abs(t.y-n.y);return e>.01&&i<=.01?"h":i>.01&&e<=.01?"v":void 0}function np(n){let t=nm(n)??n,e=nm([...t].reverse());return e&&(t=e.reverse()),t}function nm(n){if(n.length<5)return null;let[t,e,i,r]=n,a=ng(t,e);if(!a||ng(i,r)!==a||ng(e,i)!==("h"===a?"v":"h")||Math.hypot(e.x-t.x,e.y-t.y)>30)return null;let c="h"===a?Math.abs(i.y-e.y):Math.abs(i.x-e.x);if(c<.01||c>16||!("h"===a?Math.sign(e.x-t.x)===Math.sign(r.x-i.x):Math.sign(e.y-t.y)===Math.sign(r.y-i.y)))return null;let o=3;for(;o+1<n.length&&ng(n[o],n[o+1])===a;)o++;if(o===n.length-1)return null;let u=[...n];for(let e=2;e<=o;e++)u[e]="h"===a?{x:n[e].x,y:t.y}:{x:t.x,y:n[e].y};return u.splice(1,2),u}function nv(n,t,e,i){let r=(0,u.K)((n,t,e)=>(t.x-n.x)*(e.y-n.y)-(t.y-n.y)*(e.x-n.x),"side"),a=r(e,i,n),c=r(e,i,t),o=r(n,t,e),s=r(n,t,i);return(a>0&&c<0||a<0&&c>0)&&(o>0&&s<0||o<0&&s>0)}function ny(n,t){let e=0;for(let i=0;i<n.length-1;i++)for(let r=0;r<t.length-1;r++)nv(n[i],n[i+1],t[r],t[r+1])&&e++;return e}function nk(n){let t=n.map(n=>n.points??[]);for(let[e,i]of n.entries()){let n=t[e];if(n.length<5)continue;let r=np(n);if(r===n)continue;let a=0,c=0;for(let[i,o]of t.entries())i===e||o.length<2||(a+=ny(n,o),c+=ny(r,o));c>a||(i.points=r,t[e]=r)}}function nM(n,t,e,i){let r=new Map(n.edges.map(n=>[n.id,n])),a=n.config.elk?.straightenEdges!==!1,c=new Map(n.nodes.map(n=>[n.id,n])),o=new Set;t.edges?.forEach(n=>{if(!n.sections?.length)return;let t=e.nodeDb[n.sources?.[0]??n.start],i=e.nodeDb[n.targets?.[0]??n.end];if(!t||!i)return;let r=nj(n.start??n.sourceId??n.sources?.[0],n.end??n.targetId??n.targets?.[0],e.parentLookupDb,e.nodeDb),a=n.sections[0];"rect33"!==t.shape&&nE(t,{x:a.startPoint.x+r.x,y:a.startPoint.y+r.y},c,o),"rect33"!==i.shape&&nE(i,{x:a.endPoint.x+r.x,y:a.endPoint.y+r.y},c,o)}),t.edges?.forEach(n=>{let t=r.get(n.id);if(!t)return;let a=n.sources?.[0]??n.start,c=n.targets?.[0]??n.end,o=e.nodeDb[a],s=e.nodeDb[c];if(!o||!s)return;if(!n.sections?.length){let e=(0,u.K)(n=>({x:(n.offset?.posX??n.x??0)+(n.width??0)/2,y:(n.offset?.posY??n.y??0)+(n.height??0)/2}),"centre"),r=e(o),a=e(s);o.x=r.x,o.y=r.y,s.x=a.x,s.y=a.y;let c=nS([r,a],o,s,i);t.points=c,t.curve="linear";let h=c[0],f=c[c.length-1];t.x=(h.x+f.x)/2,t.y=(h.y+f.y)/2,i.debug("APA18 no edge sections, using a straight line",n.id,t.points);return}let h=n.start??n.sourceId??a,f=n.end??n.targetId??c,l=nj(h,f,e.parentLookupDb,e.nodeDb);i.debug("APA18 offset",l,h," ==> ",f,"edge:",n,o);let b=nT(n.sections[0],l);o.x=o.offset.posX+o.width/2,o.y=o.offset.posY+o.height/2,s.x=s.offset.posX+s.width/2,s.y=s.offset.posY+s.height/2,"rect33"!==o.shape&&b.unshift({x:o.x,y:o.y}),"rect33"!==s.shape&&b.push({x:s.x,y:s.y}),t.points=nA(nL(nS(b,o,s,i),nF(s),nC(t),i),nF(o),nI(t),i),t.curve="rounded";let w=n.labels?.[0];w&&(t.x=w.x+l.x+w.width/2,t.y=w.y+l.y+w.height/2)}),a&&nk(n.edges)}function nE(n,t,e,i){let r=n.width??0,a=n.height??0,c=n.offset.posY,o=.5>=Math.abs(t.y-c)||.5>=Math.abs(t.y-(c+a));if((o?r:a)>=24||i.has(n.id))return;i.add(n.id);let u=o?t.x-(n.offset.posX+r/2):t.y-(n.offset.posY+a/2);if(.01>Math.abs(u))return;o?(n.offset.posX+=u,n.x=n.offset.posX+r/2):(n.offset.posY+=u,n.y=n.offset.posY+a/2);let s=e.get(n.id);s&&(s.x=n.offset.posX+r/2,s.y=n.offset.posY+a/2)}function nT(n,t){let e=n.startPoint,i=n.endPoint,r=(n.bendPoints?n.bendPoints:[]).map(n=>({x:n.x+t.x,y:n.y+t.y}));return[{x:e.x+t.x,y:e.y+t.y},...r,{x:i.x+t.x,y:i.y+t.y}]}function nj(n,t,e,i){let r=f(n,t,e);if(void 0===r||"root"===r)return{x:0,y:0};let a=i[r],c=a?.elkOrigin??a?.offset;return{x:c?.posX??0,y:c?.posY??0}}function nS(n,t,e,i){let r,a=Array.isArray(n)?[...n]:[],c=nF(e);i.debug("PPP cutter2: Points before cutter2:",JSON.stringify(n),"endBounds:",c,m(c,n[n.length-1]));{let n=nF(t),c=nF(e),o=!!t?.isGroup,u=!!e?.isGroup,{candidate:s,centerApprox:h}=nH(a,t,"start"),{candidate:f,centerApprox:l}=nH(a,e,"end"),b=o&&m(n,s),w=u&&m(c,f);nU(a,"start",b&&h),nU(a,"end",w&&l),o&&!b&&(b=nG(a,n,"start")),u&&!w&&(w=nG(a,c,"end")),b||w?(b||nq(a,t,n,i),w||nX(a,e,c,i),i.debug("PPP cutter2: skipping cutter2 due to on-border group endpoint(s)",{skipStart:b,skipEnd:w,startCenterApprox:h,endCenterApprox:l,startCandidate:s,endCandidate:f}),r=a):r=nV(t,e,a,i)}if(i.debug("PPP cutter2: Points after cutter2:",JSON.stringify(r)),!Array.isArray(r)||r.length<2||nP(r)){i.warn("POI cutter2: Invalid points from cutter2, falling back to prevPoints",r);let n=a.filter(n=>Number.isFinite(n?.x)&&Number.isFinite(n?.y));r=n.length>=2?n:a}return i.debug("UIO cutter2: Points after cutter2 (sanitized):",r),nO(r,i)}function nP(n){return n?.some(n=>!Number.isFinite(n?.x)||!Number.isFinite(n?.y))}function nO(n,t){let e=n.filter((n,t,e)=>{if(0===t)return!0;let i=e[t-1];return Math.abs(n.x-i.x)>1e-6||Math.abs(n.y-i.y)>1e-6});return e.length!==n.length&&t.debug("UIO cutter2: removed consecutive duplicate points",{before:n,after:e}),e}function nC(n){return C(n.arrowTypeEnd)}function nI(n){return C(n.arrowTypeStart)}function nA(n,t,e,i){if(e<=0||n.length<3)return n;let r=n[0],a=n[1],c=Math.hypot(a.x-r.x,a.y-r.y);if(c>=Math.max(8,2*e)||!m(t,a,1))return n;let o=[r,...n.slice(2)];return i.debug("UIO cutter2: removed short start marker segment",{before:n,after:o,markerOffset:e,segmentLength:c}),o}function nL(n,t,e,i){if(e<=0||n.length<3)return n;let r=n[n.length-1],a=n[n.length-2],c=Math.hypot(r.x-a.x,r.y-a.y);if(c>=Math.max(8,2*e)||!m(t,a,1))return n;let o=[...n.slice(0,-2),r];return i.debug("UIO cutter2: removed short end marker segment",{before:n,after:o,markerOffset:e,segmentLength:c}),o}function nN(n,t){let e=n.edges.defaultInterpolate,i=n.edges.defaultStyle,r=t.getConfig();n.edges.forEach(n=>{let a=nR(n,{defaultStyle:i,defaultInterpolate:e,confCurve:r.curve},t);Object.assign(n,a)})}function nx(n){return void 0!==n.classes?n.classes:n.start&&n.end?`flowchart-link LS_${n.start} LE_${n.end}`:void 0}function n$(n,t,e){let i="normal",r="solid",a=[],c=[];return"dotted"===n?(r="dotted",a=["fill:none","stroke-width:2px","stroke-dasharray:3"]):"thick"===n?(i="thick",a=["stroke-width: 3.5px","fill:none"]):(a=t??["fill:none"],void 0!==e&&(c=e)),{thickness:i,pattern:r,style:a,labelStyle:c}}function nD(n,t,e){return void 0!==n?n:void 0!==t?t:e}function nR(n,t,e){let i={};i.minlen=n.minlen??n.length??1,i.text=n.text??n.label,i.arrowhead=n.arrowhead??("arrow_open"===n.type?"none":"normal");let r=I[n.type??"arrow_open"]??I.arrow_open;i.arrowTypeStart=n.arrowTypeStart??r[0],i.arrowTypeEnd=n.arrowTypeEnd??r[1],i.startLabelRight=n.startLabelRight,i.endLabelLeft=n.endLabelLeft;let a=n$(n.stroke,t.defaultStyle,t.defaultLabelStyle);i.thickness=n.thickness??a.thickness,i.pattern=n.pattern??a.pattern,i.style=n.style??a.style,i.labelStyle=n.labelStyle??a.labelStyle,i.classes=nx(n),i.curve=e.interpolateToCurve(nD(n.curve??n.interpolate,t.defaultInterpolate,t.confCurve),s.lUB);let c=(i.text??"")!=="";return void 0!==n.arrowheadStyle?i.arrowheadStyle=n.arrowheadStyle:(c||void 0!==n.style)&&(i.arrowheadStyle="fill: #333"),i.labelpos=n.labelpos??(c?"c":void 0),i.labelType=n.labelType,i.label=(n.label??i.text??"").replace(e.common.lineBreakRegex,"\n"),i}function nK(n){return Math.max(n.width??0,K(n))}function nF(n){let t=n?.isGroup?nK(n):n.width;return{x:n.offset.posX+n.width/2,y:n.offset.posY+n.height/2,width:t??0,height:n.height??0,padding:n.padding}}function n_(n,t,e=1e-6){return Math.abs(n-t)<e}function nB(n,t){return n_(n.x,t.x??0)&&n_(n.y,t.y??0)}function nH(n,t,e){if(!n?.length)return{candidate:{x:t.x??0,y:t.y??0},centerApprox:!0};if("start"===e){let e=n[0],i=nB(e,t);return{candidate:i&&n.length>1?n[1]:e,centerApprox:i}}{let e=n[n.length-1],i=nB(e,t);return{candidate:i&&n.length>1?n[n.length-2]:e,centerApprox:i}}}function nU(n,t,e){e&&("start"===t?n.length>0&&n.shift():n.length>0&&n.pop())}function nG(n,t,e){let i="start"===e?1:-1,r="start"===e?0:n.length-1,a=r;for(;r>=0&&r<n.length&&!y(t,n[r]);)r+=i;if(r===a||r<0||r>=n.length)return!1;let c=n[r],o=n[r-i],u=c.x-o.x,s=c.y-o.y,h=Math.min(0===u?1/0:(t.x+Math.sign(u)*t.width/2-o.x)/u,0===s?1/0:(t.y+Math.sign(s)*t.height/2-o.y)/s),f={x:o.x+h*u,y:o.y+h*s};return"start"===e?n.splice(0,r,f):n.splice(r+1,n.length-r-1,f),!0}function nq(n,t,e,i){let r=-1;for(let[t,i]of n.entries())if(y(e,i)){r=t;break}if(-1!==r){let a=P(t,e,n[r],n[0]);O(n,"start",a),i.debug("UIO cutter2: start-only intersection applied",{startIntersection:a})}}function nX(n,t,e,i){let r=-1;for(let t=n.length-1;t>=0;t--)if(y(e,n[t])){r=t;break}if(-1!==r){let a=P(t,e,n[r],n[n.length-1]);O(n,"end",a),i.debug("UIO cutter2: end-only intersection applied",{endIntersection:a})}}function nz(n,t,e,i,r){if(n?.isGroup)return null;let a=e[i],c=e[i+r];return a&&c?S(n,t,a,c):null}function nV(n,t,e,i){let r=nF(n),a=nF(t);if(0===e.length)return[];let c=[...e],o=c[0],u=c[c.length-1];i.debug("PPP cutter2: bounds",{startBounds:r,endBounds:a}),i.debug("PPP cutter2: original points",e);let s=-1;for(let[n,t]of c.entries())-1===s&&y(r,t)&&(s=n);if(-1!==s){let t=c[s],e=nz(n,r,c,s,1)??P(n,r,t,o);i.debug("UIO cutter2: start intersection",e),O(c,"start",e)}let h=null,f=-1;for(let n=c.length-1;n>=0;n--)if(y(a,c[n])){h=c[n],f=n;break}if(!h&&c.length>1&&(h=c[c.length-2],f=c.length-2),h){let n=nz(t,a,c,f,-1)??P(t,a,h,u);i.debug("UIO cutter2: end intersection",{endIntersection:n,outsideIndexForEnd:f}),O(c,"end",n)}if(c.length>1){let n=c[c.length-1],t=c[c.length-2],e=Math.sqrt((n.x-t.x)**2+(n.y-t.y)**2);e<2&&(i.debug("UIO cutter2: trimming tail point (too close)",{distance:e,lastPoint:n,secondLastPoint:t}),c.pop())}return i.debug("UIO cutter2: final points",c),c}(0,u.K)(Y,"resolveElkPreset"),(0,u.K)(Z,"createRootElkGraph"),(0,u.K)(nn,"addSubGraphs"),(0,u.K)(nt,"addVertices"),(0,u.K)(ne,"addVertex"),(0,u.K)(ni,"createElkNode"),(0,u.K)(nr,"getMeasuredLabelData"),(0,u.K)(na,"addEdgesToElkGraph"),(0,u.K)(nc,"getEdgeStartEndPoint"),(0,u.K)(no,"configureSubgraphNodes"),(0,u.K)(nu,"configureCrossHierarchyEdges"),(0,u.K)(ns,"setIncludeChildrenPolicy"),(0,u.K)(nh,"runElkLayout"),(0,u.K)(nf,"applyElkLayoutResult"),(0,u.K)(nl,"collectDescendantIds"),(0,u.K)(nb,"internalEdgePoints"),(0,u.K)(nw,"evenGroupFrames"),(0,u.K)(nd,"applyElkNodePositions"),(0,u.K)(ng,"axisOf"),(0,u.K)(np,"straightenTerminalJogs"),(0,u.K)(nm,"straightenFront"),(0,u.K)(nv,"segmentsCrossStrict"),(0,u.K)(ny,"crossingCount"),(0,u.K)(nk,"straightenEdgeTerminals"),(0,u.K)(nM,"applyElkEdgeLayout"),(0,u.K)(nE,"alignDegenerateNodeToAnchor"),(0,u.K)(nT,"createEdgePointsFromSection"),(0,u.K)(nj,"calcOffset"),(0,u.K)(nS,"sanitizeElkEdgePoints"),(0,u.K)(nP,"hasInvalidPoint"),(0,u.K)(nO,"dedupeConsecutivePoints"),(0,u.K)(nC,"getEndMarkerPathOffset"),(0,u.K)(nI,"getStartMarkerPathOffset"),(0,u.K)(nA,"ensureStartMarkerSegmentLength"),(0,u.K)(nL,"ensureEndMarkerSegmentLength"),(0,u.K)(nN,"applyElkEdgeRenderData"),(0,u.K)(nx,"buildFallbackEdgeClasses"),(0,u.K)(n$,"computeStroke"),(0,u.K)(nD,"getCurve"),(0,u.K)(nR,"buildEdgeData"),(0,u.K)(nK,"getEffectiveGroupWidth"),(0,u.K)(nF,"boundsFor"),(0,u.K)(n_,"approxEq"),(0,u.K)(nB,"isCenterApprox"),(0,u.K)(nH,"getCandidateBorderPoint"),(0,u.K)(nU,"dropAutoCenterPoint"),(0,u.K)(nG,"clipGroupEndpoint"),(0,u.K)(nq,"applyStartIntersectionIfNeeded"),(0,u.K)(nX,"applyEndIntersectionIfNeeded"),(0,u.K)(nz,"attachAlongDepartureAxis"),(0,u.K)(nV,"cutter2")}}]); \ No newline at end of file diff --git a/assets/js/5783.7e9699db.js b/assets/js/5783.7e9699db.js new file mode 100644 index 0000000..b73bf34 --- /dev/null +++ b/assets/js/5783.7e9699db.js @@ -0,0 +1,193 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5783"],{5937(e,t,s){s.d(t,{A:()=>a});var i=s(1553),r=s(6408);let a=(e,t)=>i.A.lang.round(r.A.parse(e)[t])},4918(e,t,s){s.d(t,{o:()=>i});var i=(0,s(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")},2735(e,t,s){s.d(t,{CP:()=>h,Ck:()=>g,HT:()=>p,PB:()=>c,aC:()=>d,lC:()=>l,m:()=>u,tk:()=>o});var i=s(1177),r=s(6827),a=s(6750),n=s(7829),o=(0,r.K)((e,t)=>{let s=e.append("rect");if(s.attr("x",t.x),s.attr("y",t.y),s.attr("fill",t.fill),s.attr("stroke",t.stroke),s.attr("width",t.width),s.attr("height",t.height),t.name&&s.attr("name",t.name),t.rx&&s.attr("rx",t.rx),t.ry&&s.attr("ry",t.ry),void 0!==t.attrs)for(let e in t.attrs)s.attr(e,t.attrs[e]);return t.class&&s.attr("class",t.class),s},"drawRect"),l=(0,r.K)((e,t)=>{o(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"}).lower()},"drawBackgroundRect"),u=(0,r.K)((e,t)=>{let s=t.text.replace(i.H1," "),r=e.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class&&r.attr("class",t.class);let a=r.append("tspan");return a.attr("x",t.x+2*t.textMargin),a.text(s),r},"drawText"),d=(0,r.K)((e,t,s,i)=>{let r=e.append("image");r.attr("x",t),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",n)},"drawImage"),h=(0,r.K)((e,t,s,i)=>{let r=e.append("use");r.attr("x",t),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),c=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),g=(0,r.K)(()=>{let e=(0,n.Ltv)(".mermaidTooltip");return e.empty()&&(e=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),e},"createTooltip")},5869(e,t,s){s.d(t,{P:()=>n});var i=s(1177),r=s(1293),a=s(6827),n=(0,a.K)((e,t,s,a)=>{e.attr("class",s);let{width:n,height:u,x:d,y:h}=o(e,t);(0,i.a$)(e,u,n,a);let c=l(d,h,n,u,t);e.attr("viewBox",c),r.R.debug(`viewBox configured: ${c} with padding: ${t}`)},"setupViewPortForSVG"),o=(0,a.K)((e,t)=>{let s=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*t,height:s.height+2*t,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,a.K)((e,t,s,i,r)=>`${e-r} ${t-r} ${s} ${i}`,"createViewBox")},6755(e,t,s){s.d(t,{A:()=>a});var i=s(6827),r=s(7829),a=(0,i.K)((e,t)=>{let s;return"sandbox"===t&&(s=(0,r.Ltv)("#i"+e)),("sandbox"===t?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${e}"]`)},"getDiagramElement")},4810(e,t,s){s.d(t,{diagram:()=>Y});var i=s(4918),r=s(6755),a=s(5869),n=s(841),o=s(2391);s(3247);var l=s(2735);s(5616),s(6163),s(7827);var u=s(3002);s(739),s(6320),s(2217);var d=s(2941),h=s(6348),c=s(1177),p=s(1293),g=s(6827),f=s(7829),m=s(9418),y=s(5937),b=s(5582),A={SHAPE_UNSUPPORTED:"SHAPE_UNSUPPORTED",SHAPE_REMOVED:"SHAPE_REMOVED",EDGE_OPERATOR_UNSUPPORTED:"EDGE_OPERATOR_UNSUPPORTED",REFERENCE_EDGE_LABEL_REJECTED:"REFERENCE_EDGE_LABEL_REJECTED",CONNECTOR_REF_UNRESOLVED:"CONNECTOR_REF_UNRESOLVED",CONNECTOR_REF_NOT_A_CONNECTOR:"CONNECTOR_REF_NOT_A_CONNECTOR",METADATA_KEY_MISAPPLIED:"METADATA_KEY_MISAPPLIED",DUPLICATE_ID_NODE:"DUPLICATE_ID_NODE",RESERVED_SYNTHETIC_ID:"RESERVED_SYNTHETIC_ID",CONTAINMENT_VIOLATION:"CONTAINMENT_VIOLATION",EDGE_SEMANTIC_CONTRADICTION:"EDGE_SEMANTIC_CONTRADICTION",FLOW_NO_INPUT:"FLOW_NO_INPUT"},k=new Set([A.SHAPE_UNSUPPORTED,A.SHAPE_REMOVED,A.CONTAINMENT_VIOLATION]);Object.values(A).filter(e=>!k.has(e));var x=new Map([["task","roundedRect"],["tool","subroutine"],["input","lean-right"],["decision","diamond"],["refdoc","lin-doc"],["action","hexagon"],["round","rect"]]),E=new Set(["doc","stadium","terminal","circle","trapezoid","inv_trapezoid","inv-trapezoid","doublecircle","double-circle","typeDeclaration","procs","lean_left","lean-left","in-out","cylinder","ellipse","odd","tag-rect","tagged-rectangle","delay","half-rounded-rectangle","lin-rect","lined-rectangle","win-pane","window-pane","curv-trap","curved-trapezoid"]),C=new Set(["roundedRect","subroutine","subprocess","subproc","framed-rectangle","lean-right","diamond","lin-doc","lined-document","hexagon","hex","connector","collapsedGroup"]),S="roundedRect";function T(e){return e?x.get(e)??e:e}function D(e,t){for(let s of e)if(!s.isGroup){if(s.shape&&"squareRect"!==s.shape&&"rect"!==s.shape||(s.shape=S),E.has(s.shape)){let e=`shape "${s.shape}" was removed in v0.8.1, using "${S}"`;t?.emitError?t.emitError("SHAPE_REMOVED",e,{nodeId:s.id}):p.R.warn(`agentflow: ${e}`),s.shape=S;continue}if(!C.has(s.shape)){let e=`shape "${s.shape}" is not supported, using "${S}"`;t?.emitWarning?t.emitWarning("SHAPE_UNSUPPORTED",e,{nodeId:s.id}):p.R.warn(`agentflow: ${e}`),s.shape=S}}}(0,g.K)(T,"resolveShapeAlias"),(0,g.K)(D,"normaliseNodeShapes");var _=new Map([["tool",0],["task",1],["decision",2],["input",3],["refdoc",4],["connector",5],["action",6]]),v=_.size,F=(0,g.K)(e=>`af-kind-${e}`,"kindClass"),$=[..._.keys()],L=(0,g.K)(e=>Math.max(1,e-v),"containerSlotCount"),B=(0,g.K)((e,t)=>{let s=v+e%L(t);return t>0?s%t:s},"containerSlot");function w(e,t,s){let i=(0,c.D7)().themeVariables?.borderColorArray,r=Array.isArray(i)?i.length:0,a=s.size;for(let i of e??[]){if(i.isGroup||"collapsedGroup"===i.shape){let e=s.get(String(i.id))??a++;i.colorIndex=B(e,r);continue}let e=t(String(i.id));e&&_.has(e)&&(i.cssClasses=`${i.cssClasses??""} ${F(e)}`.replace(/\s+/g," ").trim())}}(0,g.K)(w,"assignColorSlots");var I="agentflow-",M=new Set(["shape","view","icon","img","form","pos","w","h","class","style","labelType"]),N=new Set(["subroutine","subprocess","subproc","framed-rectangle","tool"]),R={flow:"flowGroup"};function O(e){if(Array.isArray(e))return e.map(e=>O(e));if(null===e||"object"!=typeof e)return e;let t={};for(let s of Object.keys(e))"__proto__"!==s&&"constructor"!==s&&"prototype"!==s&&(t[s]=O(e[s]));return t}function V(e){let t,s=!1,i=!1,r=0,a=[];for(let n of e.split("\n")){if(void 0!==t){let e=n.length-n.trimStart().length;if(""===n.trim()||e>t){a.push(n);continue}t=void 0}let e=-1;for(let t=0;t<n.length;t++){let a=n[t];if(i)"\\"===a?t++:'"'===a&&(i=!1);else if(s)"'"===a&&(s=!1);else if('"'===a)i=!0;else if("'"===a)s=!0;else if("#"===a&&(0===t||" "===n[t-1]||" "===n[t-1])){e=t;break}else"["===a||"{"===a?r++:("]"===a||"}"===a)&&(r=Math.max(0,r-1))}if(s||i||r>0){a.push(n);continue}let o=e>=0?n.slice(0,e):n,l=e>=0?n.slice(e):"";if(/:\s*[>|][\d+-]*\s*$/.test(o)){t=n.length-n.trimStart().length,a.push(n);continue}a.push(o.replace(/,([\t ]*)$/,"$1")+l)}return a.join("\n")}(0,g.K)(O,"stripPrototypeKeys"),(0,g.K)(V,"stripLineTrailingCommas");var P=class{constructor(){this.vertexCounter=0,this.config=(0,c.D7)(),this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.globalNodes=new Set,this.connectors=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.diagramId="",this.preserveCommentsWhenParsing=!0,this.frontmatterLineOffset=0,this.elementMappings=[],this.bareVertexMappings=new WeakSet,this.diagnostics=[],this.postParseValidationRun=!1,this.funs=[],this.setAccTitle=c.SV,this.setAccDescription=c.EI,this.setDiagramTitle=c.ke,this.getAccTitle=c.iN,this.getAccDescription=c.m7,this.getDiagramTitle=c.ab,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addGlobal=this.addGlobal.bind(this),this.addConnector=this.addConnector.bind(this),this.addConnectorMapping=this.addConnectorMapping.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.setFrontmatterLineOffset=this.setFrontmatterLineOffset.bind(this),this.addVertexMapping=this.addVertexMapping.bind(this),this.extendVertexMapping=this.extendVertexMapping.bind(this),this.addEdgeMapping=this.addEdgeMapping.bind(this),this.addSubgraphMapping=this.addSubgraphMapping.bind(this),this.emitWarning=this.emitWarning.bind(this),this.emitError=this.emitError.bind(this),this.getDiagnostics=this.getDiagnostics.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{(0,g.K)(this,"AgentFlowDB")}sanitizeText(e){return c.Y2.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(let t of this.vertices.values())if(t.id===e)return this.diagramId?`${this.diagramId}-${t.domId}`:t.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,t,s,i,r,a,o={},l,d){let h,p,g;if(!e||0===e.trim().length)return;if(void 0!==l){let e;e=l.includes("\n")?l+"\n":"{\n"+l+"\n}";try{h=(0,n.H)(e,{schema:n.r})??{}}catch(t){let e=l.includes("\n")?V(l):l;if(e!==l)try{h=(0,n.H)(e+"\n",{schema:n.r})??{}}catch{this.rethrowMetadataYamlError(t,l,d)}else this.rethrowMetadataYamlError(t,l,d)}h=O(h)}if(h&&"string"==typeof h.shape){let e=h,t=T(p=e.shape);t&&t!==p&&(e.shape=t)}let f=this.subGraphLookup.get(e);if(f&&h){f.metadata={...f.metadata,...h};return}let m=this.connectors.get(e);if(m&&h){m.metadata={...m.metadata,...h};return}if("connectors"===e)return;let y=this.edges.find(t=>t.id===e);if(y){let e=h;e?.animate!==void 0&&(y.animate=e.animate),e?.animation!==void 0&&(y.animation=e.animation),e?.curve!==void 0&&(y.interpolate=e.curve),h&&(y.metadata={...y.metadata,...h});return}let b=this.vertices.get(e);if(void 0===b&&(b={id:e,labelType:"text",domId:I+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,b)),this.vertexCounter++,void 0!==t?(this.config=(0,c.D7)(),g=this.sanitizeText(t.text.trim()),b.labelType=t.type,g.startsWith('"')&&g.endsWith('"')&&(g=g.substring(1,g.length-1)),b.text=g):void 0===b.text&&(b.text=e),void 0!==s&&(b.type=s),null!=i&&i.forEach(e=>{b.styles.push(e)}),null!=r&&r.forEach(e=>{b.classes.push(e)}),void 0!==a&&(b.dir=a),void 0===b.props?b.props=o:void 0!==o&&Object.assign(b.props,o),h){if(b.metadata={...b.metadata,...h},h.shape){let e=p??h.shape;if("string"!=typeof e)throw this.positionedShapeError(`No such shape: ${JSON.stringify(e)}.`,d);if(e!==e.toLowerCase()||e.includes("_"))throw this.positionedShapeError(`No such shape: ${e}. Shape names should be lowercase.`,d);if(!(0,u.aP)(h.shape))throw this.positionedShapeError(`No such shape: ${h.shape}.`,d);b.type=h?.shape}h?.label&&(b.text=this.sanitizeText(h.label),b.labelType=this.sanitizeNodeLabelType(h?.labelType))}}positionedShapeError(e,t){let s=Error(e);if(!t)return s;let i=t.first_line+this.frontmatterLineOffset;return Object.assign(s,{hash:{text:"",token:null,line:i-1,loc:{first_line:i,last_line:t.last_line+this.frontmatterLineOffset,first_column:t.first_column,last_column:t.last_column},expected:[]}}),s}rethrowMetadataYamlError(e,t,s){let i;if(!e||"YAMLException"!==e.name||!e.mark||!s)throw e;try{let r=!t.includes("\n"),a=r?"{\n"+t+"\n}":t+"\n",n=s.first_line+this.frontmatterLineOffset,o=s.first_column+2,l=(0,g.K)((e,t)=>r?{line:n,column:o+(1===e?t:0)}:{line:n+e,column:0===e?o+t:t},"toSource"),u=l(e.mark.line,e.mark.column),d=e.reason??(e.message??"").split("\n")[0].replace(/\s*\(\d+:\d+\)\s*$/,""),h=a.split("\n"),c=[];if(r)c.push(1);else for(let t=e.mark.line-1;t<=e.mark.line+1;t++)t<0||t>=h.length||(t!==h.length-1||""!==h[t]||t===e.mark.line)&&c.push(t);let p=Math.max(...c.map(e=>String(l(e,0).line).length)),f=[];for(let t of c){let s=l(t,0).line,i=` ${String(s).padStart(p)} | `;f.push(i+h[t].replace(/\t/g,"\u2192")),t===e.mark.line&&f.push("-".repeat(i.length+e.mark.column)+"^")}i={message:`${d} (${u.line}:${u.column+1}) + +${f.join("\n")}`,markLine:u.line-1,markColumn:u.column,hash:{text:"",token:null,line:u.line-1,loc:{first_line:u.line,last_line:u.line,first_column:u.column,last_column:u.column+1},expected:[]}}}catch{}throw i&&(e.message=i.message,e.mark.line=i.markLine,e.mark.column=i.markColumn,e.hash=i.hash),e}addSingleLink(e,t,s,i){let r={start:e,end:t,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};p.R.info("abc78 Got edge...",r);let a=s.text;if(void 0!==a&&(r.text=this.sanitizeText(a.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=this.sanitizeNodeLabelType(a.type)),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=s.length>10?10:s.length,s.edgeSemantic&&(r.edgeSemantic=s.edgeSemantic)),i&&!this.edges.some(e=>e.id===i))r.id=i,r.isUserDefinedId=!0;else{let e=this.edges.filter(e=>e.start===r.start&&e.end===r.end);0===e.length?r.id=(0,h.rY)(r.start,r.end,{counter:0,prefix:"L"}):r.id=(0,h.rY)(r.start,r.end,{counter:e.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))p.R.info("Pushing edge..."),this.edges.push(r);else throw Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)}isLinkData(e){return null!==e&&"object"==typeof e&&"id"in e&&"string"==typeof e.id}addLink(e,t,s){let i=this.isLinkData(s)?s.id.replace("@",""):void 0;for(let r of(p.R.info("addLink",e,t,i),e))for(let a of t){let n=r===e[e.length-1],o=a===t[0];n&&o?this.addSingleLink(r,a,s,i):this.addSingleLink(r,a,s,void 0)}}updateLinkInterpolate(e,t){e.forEach(e=>{if("default"===e){this.edges.defaultInterpolate=t;return}if("number"==typeof e&&e>=this.edges.length)throw Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);this.edges[e].interpolate=t})}updateLink(e,t){e.forEach(e=>{if("number"==typeof e&&e>=this.edges.length)throw Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===e?this.edges.defaultStyle=t:(this.edges[e].style=t,(this.edges[e]?.style?.length??0)>0&&!this.edges[e]?.style?.some(e=>e?.startsWith("fill"))&&this.edges[e]?.style?.push("fill:none"))})}addClass(e,t){let s=t.join().replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/\xa7\xa7\xa7/g,",").split(";");e.split(",").forEach(e=>{let t=this.classes.get(e);void 0===t&&(t={id:e,styles:[],textStyles:[]},this.classes.set(e,t)),null!=s&&s.forEach(e=>{if(/color/.exec(e)){let s=e.replace("fill","bgFill");t.textStyles.push(s)}t.styles.push(e)})})}setDirection(e){this.direction=e.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(e,t){for(let s of e.split(",")){let e=this.vertices.get(s);e&&e.classes.push(t);let i=this.edges.find(e=>e.id===s);i&&i.classes.push(t);let r=this.subGraphLookup.get(s);r&&r.classes.push(t)}}setTooltip(e,t){if(void 0!==t)for(let s of(t=this.sanitizeText(t),e.split(",")))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(s):s,t)}setClickFun(e,t,s){if("loose"!==(0,c.D7)().securityLevel||void 0===t)return;let i=[];if("string"==typeof s){i=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<i.length;e++){let t=i[e].trim();t.startsWith('"')&&t.endsWith('"')&&(t=t.substr(1,t.length-2)),i[e]=t}}0===i.length&&i.push(e);let r=this.vertices.get(e);r&&(r.haveCallback=!0,this.funs.push(()=>{let s=this.lookUpDomId(e),r=document.querySelector(`[id="${s}"]`);null!==r&&r.addEventListener("click",()=>{h._K.runFunc(t,...i)},!1)}))}setLink(e,t,s){e.split(",").forEach(e=>{let i=this.vertices.get(e);void 0!==i&&(i.link=h._K.formatUrl(t,this.config),i.linkTarget=s)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,t,s){e.split(",").forEach(e=>{this.setClickFun(e,t,s)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(t=>{t(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}isToolDefinition(e){return N.has(e.type)}getTools(){let e=[];for(let t of this.vertices.values())this.isToolDefinition(t)&&e.push(t);return e}getClasses(){return this.classes}setupToolTips(e){let t=(0,l.Ck)();(0,f.Ltv)(e).select("svg").selectAll("g.node").on("mouseover",e=>{let s=(0,f.Ltv)(e.currentTarget),i=s.attr("title");if(null===i)return;let r=e.currentTarget?.getBoundingClientRect();t.transition().duration(200).style("opacity",".9"),t.text(s.attr("title")).style("left",window.scrollX+r.left+(r.right-r.left)/2+"px").style("top",window.scrollY+r.bottom+"px"),t.html(m.A.sanitize(i)),s.classed("hover",!0)}).on("mouseout",e=>{t.transition().duration(500).style("opacity",0),(0,f.Ltv)(e.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.globalNodes=new Set,this.connectors=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=(0,c.D7)(),this.diagramId="",this.vertexCounter=0,this.direction=void 0,this.secCount=-1,this.posCrossRef=[],this.frontmatterLineOffset=0,this.elementMappings=[],this.bareVertexMappings=new WeakSet,this.diagnostics=[],this.postParseValidationRun=!1,(0,c.IU)()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,t,s,i){let r=e?.text?.trim(),a=s?.text;e===s&&s?.text&&/\s/.exec(s.text)&&(r=void 0);let n=(0,g.K)(e=>{let t,s={boolean:{},number:{},string:{}},i=[];return{nodeList:e.filter(function(e){let r=typeof e;return e.stmt&&"dir"===e.stmt?(t=e.value,!1):""!==e.trim()&&(r in s?!s[r].hasOwnProperty(e)&&(s[r][e]=!0):!i.includes(e)&&i.push(e))}),dir:t}},"uniq")(t.flat()),o=n.nodeList,l=n.dir,u=(0,c.D7)().flowchart??{};if(l=l??(u.inheritDir?this.getDirection()??(0,c.D7)().direction??void 0:void 0),"gen-1"===this.version)for(let e=0;e<o.length;e++)o[e]=this.lookUpDomId(o[e]);r=r??"subGraph"+this.subCount,a=a||"",a=this.sanitizeText(a),this.subCount=this.subCount+1;let d={id:r,nodes:o.filter(e=>e!==r&&!this.globalNodes.has(e)),title:a.trim(),classes:[],dir:l,labelType:this.sanitizeNodeLabelType(s?.type),type:i??"flow"};p.R.info("Adding",d.id,d.nodes,d.dir),d.nodes=this.makeUniq(d,this.subGraphs).nodes;let h=this.getPosForId(r);if(-1!==h){let e=this.subGraphs[h];for(let t of d.nodes)e.nodes.includes(t)||e.nodes.push(t);d.title&&(e.title=d.title),d.dir&&(e.dir=d.dir),d.type&&(e.type=d.type),this.subGraphLookup.set(r,e)}else this.subGraphs.push(d),this.subGraphLookup.set(r,d);return r}addGlobal(e){for(let t of e.flat()){if("string"!=typeof t)continue;let e=t.trim();""!==e&&this.globalNodes.add(e)}for(let e of this.subGraphs)e.nodes=e.nodes.filter(e=>!this.globalNodes.has(e))}getPosForId(e){for(let[t,s]of this.subGraphs.entries())if(s.id===e)return t;return -1}indexNodes2(e,t){let s=this.subGraphs[t].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=t,this.subGraphs[t].id===e)return{result:!0,count:0};let i=0,r=1;for(;i<s.length;){let t=this.getPosForId(s[i]);if(t>=0){let s=this.indexNodes2(e,t);if(s.result)return{result:!0,count:r+s.count};r+=s.count}i+=1}return{result:!1,count:r}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}addConnector(e,t){let s=e?.text?.trim();if(!s)return"";let i=t?.text?.trim()??"",r=i.length>0?this.sanitizeText(i):s,a=this.connectors.get(s);return a?i.length>0&&(a.text=r):(a={id:s,labelType:"text",domId:I+s+"-"+this.vertexCounter,styles:[],classes:[],isConnector:!0,text:r},this.connectors.set(s,a),this.vertices.set(s,a),this.vertexCounter++),s}getSubGraphs(){return this.subGraphs}getConnectors(){return[...this.connectors.values()]}firstGraph(){return!!this.firstGraphFlag&&(this.firstGraphFlag=!1,!0)}computeEdgeSemantic(e,t){return"arrow_point"===e&&"normal"===t?"sequence":"arrow_cross"===e&&"normal"===t?"failure":"arrow_open"===e&&"dotted"===t?"reference":void 0}destructStartLink(e){let t=e.trim(),s="normal";return t.includes(".")&&(s="dotted"),{type:"arrow_open",stroke:s}}countChar(e,t){let s=t.length,i=0;for(let r=0;r<s;++r)t[r]===e&&++i;return i}destructEndLink(e){let t=e.trim(),s=t.slice(0,-1),i="arrow_open";switch(t.slice(-1)){case"x":i="arrow_cross";break;case">":i="arrow_point";break;case"-":case".":i="arrow_open",s=t}let r="normal",a=s.length-1,n=this.countChar(".",s);return n>0&&(r="dotted",a=n),{type:i,stroke:r,length:a}}destructLink(e,t){let s,i=this.destructEndLink(e);return t?(s=this.destructStartLink(t)).stroke!==i.stroke?{type:"INVALID",stroke:"INVALID"}:(s.type=i.type,s.length=i.length,{...s,edgeSemantic:this.computeEdgeSemantic(s.type,s.stroke)}):{...i,edgeSemantic:this.computeEdgeSemantic(i.type,i.stroke)}}exists(e,t){for(let s of e)if(s.nodes.includes(t))return!0;return!1}makeUniq(e,t){let s=[];return e.nodes.forEach((i,r)=>{this.exists(t,i)||s.push(e.nodes[r])}),{nodes:s}}getTypeFromVertex(e){let t="string"==typeof e.type?T(e.type):e.type;switch(t){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t}}findNode(e,t){return e.find(e=>e.id===t)}destructEdgeType(e){let t="none",s="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":case"arrow_hierarchy":s=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":s=t=e.replace("double_","")}return{arrowTypeStart:t,arrowTypeEnd:s}}addNodeFromVertex(e,t,s,i,r,a){let n=s.get(e.id),o=i.get(e.id)??!1,l=this.findNode(t,e.id);if(l)l.cssStyles=e.styles,l.cssCompiledStyles=this.getCompiledStyles(e.classes),l.cssClasses=e.classes.join(" ");else{let s={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:n,padding:r.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:a,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),metadata:e.metadata};o?t.push({...s,isGroup:!0,shape:"rect"}):t.push({...s,isGroup:!1,shape:this.getTypeFromVertex(e),wrappingWidth:r.agentflow?.wrappingWidth,minWidth:r.agentflow?.minNodeWidth})}}getCompiledStyles(e){let t=[];for(let s of e){let e=this.classes.get(s);e?.styles&&(t=[...t,...e.styles??[]].map(e=>e.trim())),e?.textStyles&&(t=[...t,...e.textStyles??[]].map(e=>e.trim()))}return t}runPostParseValidators(){this.postParseValidationRun||(this.postParseValidationRun=!0)}getData(){this.runPostParseValidators();let e=(0,c.D7)(),t=[],s=[],i=this.getSubGraphs(),r=new Map,a=new Map,n=new Set,o=new Map,l=(0,g.K)((e,t,s=new Set)=>{if(s.has(e))return;s.add(e);let i=this.subGraphLookup.get(e);if(i)for(let e of i.nodes)e===t||s.has(e)||(n.add(e),o.set(e,t),l(e,t,s))},"collectDescendants");for(let e of i)e.metadata?.view!=="collapsed"||n.has(e.id)||l(e.id,e.id);let u=(0,g.K)((e,t)=>{let s=new Set,i=t;for(;void 0!==i&&!s.has(i);){if(i===e)return!0;s.add(i),i=r.get(i)}return!1},"wouldCloseContainmentCycle");for(let e=i.length-1;e>=0;e--){let t=i[e];if(!n.has(t.id))for(let e of(t.nodes.length>0&&a.set(t.id,!0),t.nodes)){if(u(e,t.id)){this.emitWarning(A.CONTAINMENT_VIOLATION,`Container "${t.id}" cannot contain "${e}" because "${e}" already contains it. The nesting that would close the loop is dropped.`,{nodeId:e});continue}r.set(e,t.id)}}for(let s=i.length-1;s>=0;s--){let a=i[s];if(!n.has(a.id))if(a.metadata?.view==="collapsed"){let s={...a.metadata,containerType:a.type};t.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssClasses:a.classes.join(" "),shape:"collapsedGroup",dir:a.dir,isGroup:!1,look:e.look,metadata:s})}else t.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssClasses:a.classes.join(" "),shape:R[a.type??"flow"],dir:a.dir,isGroup:!0,look:e.look,metadata:a.metadata})}this.getVertices().forEach(s=>{n.has(s.id)||this.addNodeFromVertex(s,t,r,a,e,e.look||"classic")});let d=this.getEdges();d.forEach((t,i)=>{let r=o.get(t.start)??t.start,a=o.get(t.end)??t.end;if(r===a&&t.start!==t.end)return;let{arrowTypeStart:n,arrowTypeEnd:l}=this.destructEdgeType(t.type),u=[...d.defaultStyle??[]];t.style&&u.push(...t.style);let c={id:(0,h.rY)(r,a,{counter:i,prefix:"L"},t.id),isUserDefinedId:t.isUserDefinedId,start:r,end:a,type:t.type??"normal",label:t.text,labelType:t.labelType,labelpos:"c",thickness:t.stroke,minlen:t.length,classes:t?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:t?.stroke==="invisible"||t?.type==="arrow_open"?"none":n,arrowTypeEnd:t?.stroke==="invisible"||t?.type==="arrow_open"?"none":l,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(t.classes),labelStyle:u,style:u,pattern:t.stroke,look:e.look,animate:t.animate,animation:t.animation,curve:t.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve,metadata:t.metadata};s.push(c)}),D(t,this);let p=new Map,f=new Map;for(let e of i){let t=r.get(e.id);void 0!==t&&f.set(t,[...f.get(t)??[],e.id])}let m=0,y=(0,g.K)(e=>{if(!p.has(e))for(let t of(p.set(e,m++),f.get(e)??[]))y(t)},"walkContainers");for(let e of i)void 0===r.get(e.id)&&y(e.id);let b=new Set(this.getConnectors().map(e=>e.id));return w(t,e=>{if(b.has(e))return"connector";let t=this.vertices.get(e);return t?this.deriveVertexKind(t,T(t.type)):void 0},p),{nodes:t,edges:s,other:{},config:e,connectors:this.getConnectors()}}defaultConfig(){return c.ME.flowchart}deriveVertexKind(e,t){return this.isToolDefinition(e)?"tool":"hexagon"===t||"hex"===t?"action":"lean-right"===t||"lean_right"===t?"input":"lin-doc"===t||"lined-document"===t?"refdoc":"diamond"===t?"decision":"task"}getSemanticModel(){this.runPostParseValidators();let e=new Set(this.subGraphs.map(e=>e.id)),t=[],s=[];for(let[i,r]of this.vertices){if(e.has(i))continue;if(r.isConnector){let e={id:i};if(void 0!==r.text&&r.text!==i&&(e.title=r.text),r.metadata&&Object.keys(r.metadata).length>0){let t={};for(let[e,s]of Object.entries(r.metadata))M.has(e)||(t[e]=s);Object.keys(t).length>0&&(e.metadata=t)}s.push(e);continue}let a={id:i};void 0!==r.text&&(a.label=r.text);let n="string"==typeof r.type?T(r.type):r.type;if(void 0!==n&&(a.shape=n),a.vertexKind=this.deriveVertexKind(r,n),r.metadata&&Object.keys(r.metadata).length>0){let e={};for(let[t,s]of Object.entries(r.metadata))M.has(t)||(e[t]=s);Object.keys(e).length>0&&(a.metadata=e)}t.push(a)}let i={vertices:t,edges:this.edges.map(e=>{let t={start:e.start,end:e.end};return void 0!==e.id&&(t.id=e.id),"string"==typeof e.text&&e.text.length>0&&(t.label=e.text),void 0!==e.type&&(t.type=e.type),void 0!==e.stroke&&(t.stroke=e.stroke),void 0!==e.edgeSemantic&&(t.edgeSemantic=e.edgeSemantic),void 0!==e.length&&(t.length=e.length),e.metadata&&Object.keys(e.metadata).length>0&&(t.metadata={...e.metadata}),t}),subGraphs:this.subGraphs.map(e=>{let t={id:e.id,nodes:[...e.nodes]};if(void 0!==e.type&&(t.type=e.type),void 0!==e.title&&(t.title=e.title),void 0!==e.dir&&(t.direction=e.dir),e.metadata&&Object.keys(e.metadata).length>0){let s={};for(let[t,i]of Object.entries(e.metadata))M.has(t)||(s[t]=i);Object.keys(s).length>0&&(t.metadata=s)}return t}),connectors:s,diagnostics:this.diagnostics};return void 0!==this.direction&&(i.direction=this.direction),i}setFrontmatterLineOffset(e){this.frontmatterLineOffset=e??0}toElementPosition(e){let t=e?.first_line??0,s=e?.first_column??0,i=e?.last_line??t,r=e?.last_column??s,[a,n]=e?.range??[0,0];return{startLine:t+this.frontmatterLineOffset,startColumn:s,endLine:i+this.frontmatterLineOffset,endColumn:r,startIndex:a,endIndex:n}}pushMapping(e,t,s){if(!e)return;let i={id:e,type:t,position:this.toElementPosition(s)};return this.elementMappings.push(i),i}addVertexMapping(e,t,s,i){let r=this.pushMapping(e,"vertex",i);r&&null==s&&this.bareVertexMappings.add(r)}extendVertexMapping(e,t){if(!e||!t)return;let s=this.toElementPosition(t);for(let t=this.elementMappings.length-1;t>=0;t--){let i=this.elementMappings[t];if("vertex"===i.type&&i.id===e){this.bareVertexMappings.has(i)&&(i.type="attachment",this.bareVertexMappings.delete(i)),(s.endLine>i.position.endLine||s.endLine===i.position.endLine&&s.endColumn>i.position.endColumn)&&(i.position.endLine=s.endLine,i.position.endColumn=s.endColumn,i.position.endIndex=s.endIndex);return}}this.pushMapping(e,"attachment",t)}addEdgeMapping(e,t,s,i){let r=Array.isArray(t)?t.map(e=>"string"==typeof e?e:e?.id??"").filter(Boolean):[],a=r.length>0?r.join(">"):"edge";this.pushMapping(a,"edge",i)}addSubgraphMapping(e,t,s,i){let r=("string"==typeof e?e:e?.text)??"",a=this.toElementPosition(s),n=i?this.toElementPosition(i):a;r&&this.elementMappings.push({id:r,type:"subgraph",position:{startLine:a.startLine,startColumn:a.startColumn,endLine:n.endLine,endColumn:n.endColumn,startIndex:a.startIndex,endIndex:n.endIndex}})}addConnectorMapping(e,t,s,i){let r=e?.text?.trim()??"";if(!r)return;let a=this.toElementPosition(s),n=i?this.toElementPosition(i):a;this.elementMappings.push({id:r,type:"connector",position:{startLine:a.startLine,startColumn:a.startColumn,endLine:n.endLine,endColumn:n.endColumn,startIndex:a.startIndex,endIndex:n.endIndex}})}getElementMappings(){return[...this.elementMappings]}getElementById(e){return this.elementMappings.find(t=>t.id===e)}getElementsOnLine(e){return this.elementMappings.filter(t=>e>=t.position.startLine&&e<=t.position.endLine)}getElementAtPosition(e,t){let s=this.elementMappings.filter(s=>{let{startLine:i,startColumn:r,endLine:a,endColumn:n}=s.position;return!(e<i)&&!(e>a)&&(e!==i||!(t<r))&&(e!==a||!(t>n))});if(0===s.length)return;let i=(0,g.K)(({position:e})=>[e.endLine-e.startLine,e.endColumn-e.startColumn],"span");return s.reduce((e,t)=>{let[s,r]=i(e),[a,n]=i(t);return a!==s?a<s?t:e:n<r?t:e})}getMappingStats(){let e=0,t=0,s=0,i=0,r=0;for(let a of this.elementMappings)"vertex"===a.type?e++:"edge"===a.type?t++:"subgraph"===a.type?s++:"connector"===a.type?i++:"attachment"===a.type&&r++;return{vertices:e,edges:t,subgraphs:s,connectors:i,attachments:r,totalElements:this.elementMappings.length}}emitDiagnostic(e,t,s,i){let r=i?.nodeId??i?.edgeId,a=r?this.getElementById(r):void 0,n={id:e,severity:t,message:s,...i?.nodeId?{nodeId:i.nodeId}:{},...i?.edgeId&&!i?.nodeId?{edgeId:i.edgeId}:{},...a?{position:a.position}:{}};if(this.diagnostics.some(e=>e.id===n.id&&e.severity===n.severity&&e.message===n.message&&e.nodeId===n.nodeId&&e.edgeId===n.edgeId))return;this.diagnostics.push(n);let o=`agentflow[${e}]: ${s}`;"error"===t?p.R.error(o):p.R.warn(o)}emitWarning(e,t,s){this.emitDiagnostic(e,"warning",t,s)}emitError(e,t,s){this.emitDiagnostic(e,"error",t,s)}getDiagnostics(){return[...this.diagnostics]}},K=(0,g.K)(function(e,t){return t.db.getClasses()},"getClasses"),G=(0,g.K)(async function(e,t,s,i){p.R.debug("Drawing agentflow diagram",t);let{securityLevel:n,agentflow:l,layout:u}=(0,c.D7)();i.db.setDiagramId(t),p.R.debug("Before getData: ");let d=i.db.getData();p.R.debug("Data: ",d);let g=(0,r.A)(t,n),f=i.db.getDirection();d.type=i.type,d.layoutAlgorithm=(0,o.q7)(u),"dagre"===d.layoutAlgorithm&&"elk"===u&&p.R.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),d.direction=f,d.nodeSpacing=l?.nodeSpacing||50,d.rankSpacing=l?.rankSpacing||50,d.markers=["point","circle","cross","hierarchy"],d.diagramId=t,p.R.debug("REF1:",d),await (0,o.XX)(d,g);let m=l?.diagramPadding??8;h._K.insertTitle(g,"agentflowTitleText",l?.titleTopMargin??0,i.db.getDiagramTitle()),(0,a.P)(g,m,"agentflow",l?.useMaxWidth??!0)},"draw"),U=function(){var e=(0,g.K)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,5],s=[1,4],i=[1,3],r=[1,6],a=[1,8,9,10,11,12,28,35,36,38,40,42,47,63,87,88,89,90,91,92,105,108,109,112,114,117,118,119,124,125,126,127,128],n=[2,2],o=[1,15],l=[1,16],u=[1,17],d=[1,18],h=[1,19],c=[1,26],p=[1,27],f=[1,28],m=[1,30],y=[1,31],b=[1,32],A=[1,55],k=[1,54],x=[1,34],E=[1,35],C=[1,36],S=[1,37],T=[1,38],D=[1,50],_=[1,52],v=[1,48],F=[1,53],$=[1,49],L=[1,56],B=[1,51],w=[1,57],I=[1,58],M=[1,39],N=[1,40],R=[1,41],O=[1,42],V=[1,43],P=[1,64],K=[1,8,9,10,11,12,28,33,35,36,38,40,42,47,63,87,88,89,90,91,92,105,108,109,112,114,117,118,119,124,125,126,127,128],G=[1,70],U=[1,68],j=[1,67],z=[1,69],W=[8,9,10,12,78,80,81],Y=[1,88],H=[1,101],q=[1,106],X=[1,105],Q=[1,102],J=[1,98],Z=[1,104],ee=[1,100],et=[1,107],es=[1,103],ei=[1,108],er=[1,99],ea=[8,9,10,11,12,43,78,80,81],en=[8,9,10,11,12,43,49,78,80,81],eo=[8,9,10,11,12,30,43,47,49,51,53,55,57,59,61,63,66,68,70,71,73,78,80,81,92,105,108,109,112,114,117,118,119],el=[8,9,10,12,47,63,78,80,81,92,105,108,109,112,114,117,118,119],eu=[47,63,92,105,108,109,112,114,117,118,119],ed=[1,131],eh=[1,132],ec=[1,134],ep=[1,133],eg=[47,63,65,77,92,105,108,109,112,114,117,118,119],ef=[1,143],em=[1,157],ey=[1,158],eb=[1,159],eA=[1,162],ek=[1,161],ex=[1,160],eE=[1,145],eC=[1,147],eS=[1,151],eT=[1,139],eD=[1,140],e_=[1,152],ev=[1,153],eF=[1,154],e$=[1,155],eL=[1,156],eB=[1,163],ew=[1,164],eI=[1,141],eM=[1,142],eN=[1,149],eR=[1,144],eO=[1,148],eV=[1,146],eP=[8,9,10,11,12,28,33,35,36,38,40,42,47,63,87,88,89,90,91,92,105,108,109,112,114,117,118,119,124,125,126,127,128],eK=[1,168],eG=[1,170],eU=[8,9,10,12],ej=[8,9,10,11,12,15,47,63,92,108,109,112,114,117,118,119],ez=[1,190],eW=[1,186],eY=[1,187],eH=[1,191],eq=[1,188],eX=[1,189],eQ=[80,119,122],eJ=[8,9,10,11,12,13,15,28,30,33,35,36,43,47,63,78,87,88,89,90,91,92,93,108,112,114,117,118,119],eZ=[11,109],e1=[32,52,54,56,58,60,65,67,69,70,72,74,119,120,121],e0=[1,269],e2=[1,267],e8=[1,271],e3=[1,265],e4=[1,266],e9=[1,268],e7=[1,270],e6=[1,272],e5=[1,292],te=[8,9,10,12,109],tt=[8,9,10,11,12,63,87,108,109,112,113,114,115],ts={trace:(0,g.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,COMMENT:8,SEMI:9,NEWLINE:10,SPACE:11,EOF:12,GRAPH:13,NODIR:14,DIR:15,FirstStmtSeparator:16,ending:17,endToken:18,spaceList:19,spaceListNewline:20,vertexStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,flow:28,textNoTags:29,SQS:30,text:31,SQE:32,end:33,shapeData:34,global:35,connector:36,direction:37,acc_title:38,acc_title_value:39,acc_descr:40,acc_descr_value:41,acc_descr_multiline_value:42,SHAPE_DATA:43,link:44,node:45,styledVertex:46,AMP:47,vertex:48,STYLE_SEPARATOR:49,idString:50,DOUBLECIRCLESTART:51,DOUBLECIRCLEEND:52,PS:53,PE:54,"(-":55,"-)":56,STADIUMSTART:57,STADIUMEND:58,SUBROUTINESTART:59,SUBROUTINEEND:60,VERTEX_WITH_PROPS_START:61,"NODE_STRING[field]":62,COLON:63,"NODE_STRING[value]":64,PIPE:65,CYLINDERSTART:66,CYLINDEREND:67,DIAMOND_START:68,DIAMOND_STOP:69,TAGEND:70,TRAPSTART:71,TRAPEND:72,INVTRAPSTART:73,INVTRAPEND:74,linkStatement:75,arrowText:76,TESTSTR:77,START_LINK:78,edgeText:79,LINK:80,LINK_ID:81,edgeTextToken:82,STR:83,MD_STR:84,textToken:85,keywords:86,STYLE:87,LINKSTYLE:88,CLASSDEF:89,CLASS:90,CLICK:91,DOWN:92,UP:93,textNoTagsToken:94,stylesOpt:95,"idString[vertex]":96,"idString[class]":97,CALLBACKNAME:98,CALLBACKARGS:99,HREF:100,LINK_TARGET:101,"STR[link]":102,"STR[tooltip]":103,alphaNum:104,DEFAULT:105,numList:106,INTERPOLATE:107,NUM:108,COMMA:109,style:110,styleComponent:111,NODE_STRING:112,UNIT:113,BRKT:114,PCT:115,idStringToken:116,MINUS:117,MULT:118,UNICODE_TEXT:119,TEXT:120,TAGSTART:121,EDGE_TEXT:122,alphaNumToken:123,direction_tb:124,direction_bt:125,direction_rl:126,direction_lr:127,direction_td:128,$accept:0,$end:1},terminals_:{2:"error",8:"COMMENT",9:"SEMI",10:"NEWLINE",11:"SPACE",12:"EOF",13:"GRAPH",14:"NODIR",15:"DIR",28:"flow",30:"SQS",32:"SQE",33:"end",35:"global",36:"connector",38:"acc_title",39:"acc_title_value",40:"acc_descr",41:"acc_descr_value",42:"acc_descr_multiline_value",43:"SHAPE_DATA",47:"AMP",49:"STYLE_SEPARATOR",51:"DOUBLECIRCLESTART",52:"DOUBLECIRCLEEND",53:"PS",54:"PE",55:"(-",56:"-)",57:"STADIUMSTART",58:"STADIUMEND",59:"SUBROUTINESTART",60:"SUBROUTINEEND",61:"VERTEX_WITH_PROPS_START",62:"NODE_STRING[field]",63:"COLON",64:"NODE_STRING[value]",65:"PIPE",66:"CYLINDERSTART",67:"CYLINDEREND",68:"DIAMOND_START",69:"DIAMOND_STOP",70:"TAGEND",71:"TRAPSTART",72:"TRAPEND",73:"INVTRAPSTART",74:"INVTRAPEND",77:"TESTSTR",78:"START_LINK",80:"LINK",81:"LINK_ID",83:"STR",84:"MD_STR",87:"STYLE",88:"LINKSTYLE",89:"CLASSDEF",90:"CLASS",91:"CLICK",92:"DOWN",93:"UP",96:"idString[vertex]",97:"idString[class]",98:"CALLBACKNAME",99:"CALLBACKARGS",100:"HREF",101:"LINK_TARGET",102:"STR[link]",103:"STR[tooltip]",105:"DEFAULT",107:"INTERPOLATE",108:"NUM",109:"COMMA",112:"NODE_STRING",113:"UNIT",114:"BRKT",115:"PCT",117:"MINUS",118:"MULT",119:"UNICODE_TEXT",120:"TEXT",121:"TAGSTART",122:"EDGE_TEXT",124:"direction_tb",125:"direction_bt",126:"direction_rl",127:"direction_lr",128:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,2],[4,3],[17,2],[17,1],[18,1],[18,1],[18,1],[16,1],[16,1],[16,2],[16,1],[20,2],[20,2],[20,2],[20,1],[20,1],[20,1],[19,2],[19,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,10],[7,6],[7,7],[7,4],[7,4],[7,7],[7,8],[7,4],[7,5],[7,1],[7,2],[7,2],[7,1],[22,1],[22,1],[22,1],[22,1],[34,2],[34,1],[21,4],[21,3],[21,4],[21,2],[21,2],[21,1],[45,1],[45,6],[45,5],[46,1],[46,3],[48,4],[48,4],[48,6],[48,4],[48,4],[48,4],[48,8],[48,4],[48,4],[48,4],[48,6],[48,4],[48,4],[48,4],[48,4],[48,4],[48,1],[44,2],[44,3],[44,3],[44,1],[44,3],[44,4],[79,1],[79,2],[79,1],[79,1],[75,1],[75,2],[76,3],[31,1],[31,2],[31,1],[31,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[29,1],[29,2],[29,1],[29,1],[25,5],[26,5],[27,2],[27,4],[27,3],[27,5],[27,3],[27,5],[27,5],[27,7],[27,2],[27,4],[27,2],[27,4],[27,4],[27,6],[23,5],[24,5],[24,5],[24,9],[24,9],[24,7],[24,7],[106,1],[106,3],[95,1],[95,3],[110,1],[110,2],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[85,1],[85,1],[85,1],[85,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[82,1],[82,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[50,1],[50,2],[104,1],[104,2],[37,1],[37,1],[37,1],[37,1],[37,1]],performAction:(0,g.K)(function(e,t,s,i,r,a,n){var o=a.length-1;switch(r){case 2:case 5:case 33:case 34:case 35:case 36:case 37:this.$=[];break;case 3:(!Array.isArray(a[o])||a[o].length>0)&&a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 198:case 57:case 67:case 89:case 196:this.$=a[o];break;case 13:i.setDirection("TB"),this.$="TB";break;case 14:i.setDirection(a[o-1]),this.$=a[o-1];break;case 32:this.$=a[o-1].nodes;break;case 38:this.$=i.addSubGraph(a[o-6],a[o-1],a[o-4],"flow"),i.addSubgraphMapping&&i.addSubgraphMapping(a[o-6],a[o-4],n[o-8],n[o]);break;case 39:this.$=i.addSubGraph(a[o-7],a[o-1],a[o-5],"flow"),i.addVertex(this.$,void 0,void 0,void 0,void 0,void 0,void 0,a[o-3],n[o-3]),i.addSubgraphMapping&&i.addSubgraphMapping(a[o-7],a[o-5],n[o-9],n[o]);break;case 40:this.$=i.addSubGraph(a[o-3],a[o-1],{text:"",type:"text"},"flow"),i.addSubgraphMapping&&i.addSubgraphMapping(a[o-3],{text:"",type:"text"},n[o-5],n[o]);break;case 41:this.$=i.addSubGraph(a[o-4],a[o-1],{text:"",type:"text"},"flow"),i.addVertex(this.$,void 0,void 0,void 0,void 0,void 0,void 0,a[o-3],n[o-3]),i.addSubgraphMapping&&i.addSubgraphMapping(a[o-4],{text:"",type:"text"},n[o-6],n[o]);break;case 42:this.$=i.addSubGraph(void 0,a[o-1],void 0,"flow"),i.addSubgraphMapping&&i.addSubgraphMapping(void 0,void 0,n[o-3],n[o]);break;case 43:i.addGlobal(a[o-1]),this.$=[];break;case 44:this.$=i.addConnector(a[o-4],a[o-2]),i.addConnectorMapping&&i.addConnectorMapping(a[o-4],a[o-2],n[o-6],n[o]);break;case 45:this.$=i.addConnector(a[o-5],a[o-3]),i.addVertex(this.$,void 0,void 0,void 0,void 0,void 0,void 0,a[o-1],n[o-1]),i.addConnectorMapping&&i.addConnectorMapping(a[o-5],a[o-3],n[o-7],n[o]);break;case 46:this.$=i.addConnector(a[o-1],{text:"",type:"text"}),i.addConnectorMapping&&i.addConnectorMapping(a[o-1],{text:"",type:"text"},n[o-3],n[o]);break;case 47:this.$=i.addConnector(a[o-2],{text:"",type:"text"}),i.addVertex(this.$,void 0,void 0,void 0,void 0,void 0,void 0,a[o-1],n[o-1]),i.addConnectorMapping&&i.addConnectorMapping(a[o-2],{text:"",type:"text"},n[o-4],n[o]);break;case 49:this.$=a[o].trim(),i.setAccTitle(this.$);break;case 50:case 51:this.$=a[o].trim(),i.setAccDescription(this.$);break;case 56:case 148:this.$=a[o-1]+a[o];break;case 58:i.addVertex(a[o-1][a[o-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[o],n[o]),i.extendVertexMapping&&i.extendVertexMapping(a[o-1][a[o-1].length-1],n[o]),i.addLink(a[o-3].stmt,a[o-1],a[o-2]),i.addEdgeMapping&&i.addEdgeMapping(a[o-3].stmt,a[o-1],a[o-2],this._$),this.$={stmt:a[o-1],nodes:a[o-1].concat(a[o-3].nodes)};break;case 59:i.addLink(a[o-2].stmt,a[o],a[o-1]),i.addEdgeMapping&&i.addEdgeMapping(a[o-2].stmt,a[o],a[o-1],this._$),this.$={stmt:a[o],nodes:a[o].concat(a[o-2].nodes)};break;case 60:i.addLink(a[o-3].stmt,a[o-1],a[o-2]),i.addEdgeMapping&&i.addEdgeMapping(a[o-3].stmt,a[o-1],a[o-2],this._$),this.$={stmt:a[o-1],nodes:a[o-1].concat(a[o-3].nodes)};break;case 61:this.$={stmt:a[o-1],nodes:a[o-1]};break;case 62:i.addVertex(a[o-1][a[o-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[o],n[o]),i.extendVertexMapping&&i.extendVertexMapping(a[o-1][a[o-1].length-1],n[o]),this.$={stmt:a[o-1],nodes:a[o-1],shapeData:a[o]};break;case 63:this.$={stmt:a[o],nodes:a[o]};break;case 64:case 143:case 145:this.$=[a[o]];break;case 65:i.addVertex(a[o-5][a[o-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[o-4],n[o-4]),i.extendVertexMapping&&i.extendVertexMapping(a[o-5][a[o-5].length-1],n[o-4]),this.$=a[o-5].concat(a[o]);break;case 66:this.$=a[o-4].concat(a[o]);break;case 68:this.$=a[o-2],i.setClass(a[o-2],a[o]);break;case 69:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"square"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"square",this._$);break;case 70:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"doublecircle"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"doublecircle",this._$);break;case 71:this.$=a[o-5],i.addVertex(a[o-5],a[o-2],"circle"),i.addVertexMapping&&i.addVertexMapping(a[o-5],a[o-2],"circle",this._$);break;case 72:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"ellipse"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"ellipse",this._$);break;case 73:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"stadium"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"stadium",this._$);break;case 74:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"subroutine"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"subroutine",this._$);break;case 75:this.$=a[o-7],i.addVertex(a[o-7],a[o-1],"rect",void 0,void 0,void 0,Object.fromEntries([[a[o-5],a[o-3]]])),i.addVertexMapping&&i.addVertexMapping(a[o-7],a[o-1],"rect",this._$);break;case 76:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"cylinder"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"cylinder",this._$);break;case 77:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"round"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"round",this._$);break;case 78:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"diamond"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"diamond",this._$);break;case 79:this.$=a[o-5],i.addVertex(a[o-5],a[o-2],"hexagon"),i.addVertexMapping&&i.addVertexMapping(a[o-5],a[o-2],"hexagon",this._$);break;case 80:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"odd"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"odd",this._$);break;case 81:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"trapezoid"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"trapezoid",this._$);break;case 82:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"inv_trapezoid"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"inv_trapezoid",this._$);break;case 83:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"lean_right"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"lean_right",this._$);break;case 84:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"lean_left"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"lean_left",this._$);break;case 85:this.$=a[o],i.addVertex(a[o]),i.addVertexMapping&&i.addVertexMapping(a[o],void 0,void 0,this._$);break;case 86:a[o-1].text=a[o],this.$=a[o-1];break;case 87:case 88:a[o-2].text=a[o-1],this.$=a[o-2];break;case 90:var l=i.destructLink(a[o],a[o-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,edgeSemantic:l.edgeSemantic,text:a[o-1]};break;case 91:var l=i.destructLink(a[o],a[o-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,edgeSemantic:l.edgeSemantic,text:a[o-1],id:a[o-3]};break;case 92:case 99:case 116:case 118:this.$={text:a[o],type:"text"};break;case 93:case 100:case 117:this.$={text:a[o-1].text+""+a[o],type:a[o-1].type};break;case 94:case 101:this.$={text:a[o],type:"string"};break;case 95:case 102:case 119:this.$={text:a[o],type:"markdown"};break;case 96:var l=i.destructLink(a[o]);this.$={type:l.type,stroke:l.stroke,length:l.length,edgeSemantic:l.edgeSemantic};break;case 97:var l=i.destructLink(a[o]);this.$={type:l.type,stroke:l.stroke,length:l.length,edgeSemantic:l.edgeSemantic,id:a[o-1]};break;case 98:this.$=a[o-1];break;case 120:this.$=a[o-4],i.addClass(a[o-2],a[o]);break;case 121:this.$=a[o-4],i.setClass(a[o-2],a[o]);break;case 122:case 130:this.$=a[o-1],i.setClickEvent(a[o-1],a[o]);break;case 123:case 131:this.$=a[o-3],i.setClickEvent(a[o-3],a[o-2]),i.setTooltip(a[o-3],a[o]);break;case 124:this.$=a[o-2],i.setClickEvent(a[o-2],a[o-1],a[o]);break;case 125:this.$=a[o-4],i.setClickEvent(a[o-4],a[o-3],a[o-2]),i.setTooltip(a[o-4],a[o]);break;case 126:this.$=a[o-2],i.setLink(a[o-2],a[o]);break;case 127:this.$=a[o-4],i.setLink(a[o-4],a[o-2]),i.setTooltip(a[o-4],a[o]);break;case 128:this.$=a[o-4],i.setLink(a[o-4],a[o-2],a[o]);break;case 129:this.$=a[o-6],i.setLink(a[o-6],a[o-4],a[o]),i.setTooltip(a[o-6],a[o-2]);break;case 132:this.$=a[o-1],i.setLink(a[o-1],a[o]);break;case 133:this.$=a[o-3],i.setLink(a[o-3],a[o-2]),i.setTooltip(a[o-3],a[o]);break;case 134:this.$=a[o-3],i.setLink(a[o-3],a[o-2],a[o]);break;case 135:this.$=a[o-5],i.setLink(a[o-5],a[o-4],a[o]),i.setTooltip(a[o-5],a[o-2]);break;case 136:this.$=a[o-4],i.addVertex(a[o-2],void 0,void 0,a[o]);break;case 137:this.$=a[o-4],i.updateLink([a[o-2]],a[o]);break;case 138:this.$=a[o-4],i.updateLink(a[o-2],a[o]);break;case 139:this.$=a[o-8],i.updateLinkInterpolate([a[o-6]],a[o-2]),i.updateLink([a[o-6]],a[o]);break;case 140:this.$=a[o-8],i.updateLinkInterpolate(a[o-6],a[o-2]),i.updateLink(a[o-6],a[o]);break;case 141:this.$=a[o-6],i.updateLinkInterpolate([a[o-4]],a[o]);break;case 142:this.$=a[o-6],i.updateLinkInterpolate(a[o-4],a[o]);break;case 144:case 146:a[o-2].push(a[o]),this.$=a[o-2];break;case 197:case 199:this.$=a[o-1]+""+a[o];break;case 200:this.$={stmt:"dir",value:"TB"};break;case 201:this.$={stmt:"dir",value:"BT"};break;case 202:this.$={stmt:"dir",value:"RL"};break;case 203:this.$={stmt:"dir",value:"LR"};break;case 204:this.$={stmt:"dir",value:"TD"}}},"anonymous"),table:[{3:1,4:2,8:t,10:s,11:i,13:r},{1:[3]},e(a,n,{5:7}),{4:8,8:t,10:s,11:i,13:r},{4:9,8:t,10:s,11:i,13:r},{4:10,8:t,10:s,11:i,13:r},{14:[1,11],15:[1,12]},{1:[2,1],6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},e(a,[2,10]),e(a,[2,11]),e(a,[2,12]),e(a,[2,13]),{8:[1,63],9:[1,60],10:[1,61],11:P,16:59,19:62},e(K,[2,3]),e(K,[2,4]),e(K,[2,5]),e(K,[2,6]),e(K,[2,7]),e(K,[2,8]),e(K,[2,9]),{8:G,9:U,10:j,12:z,22:65,44:66,75:71,78:[1,72],80:[1,74],81:[1,73]},{8:G,9:U,10:j,12:z,22:75},{8:G,9:U,10:j,12:z,22:76},{8:G,9:U,10:j,12:z,22:77},{8:G,9:U,10:j,12:z,22:78},{8:G,9:U,10:j,12:z,22:79},{8:G,9:U,10:j,11:[1,80],12:z,22:81},{8:G,9:U,10:j,12:z,22:82},{11:[1,83]},e(K,[2,48]),{39:[1,84]},{41:[1,85]},e(K,[2,51]),e(W,[2,63],{19:86,34:87,11:P,43:Y}),{11:[1,89]},{11:[1,90]},{11:[1,91]},{11:[1,92]},{15:H,47:q,63:X,83:[1,96],92:Q,98:[1,93],100:[1,94],104:95,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er,123:97},e(K,[2,200]),e(K,[2,201]),e(K,[2,202]),e(K,[2,203]),e(K,[2,204]),e(ea,[2,64]),e(ea,[2,67],{49:[1,109]}),e(en,[2,85],{116:122,30:[1,110],47:A,51:[1,111],53:[1,112],55:[1,113],57:[1,114],59:[1,115],61:[1,116],63:k,66:[1,117],68:[1,118],70:[1,119],71:[1,120],73:[1,121],92:D,105:_,108:v,109:F,112:$,114:L,117:B,118:w,119:I}),e(eo,[2,196]),e(eo,[2,157]),e(eo,[2,158]),e(eo,[2,159]),e(eo,[2,160]),e(eo,[2,161]),e(eo,[2,162]),e(eo,[2,163]),e(eo,[2,164]),e(eo,[2,165]),e(eo,[2,166]),e(eo,[2,167]),e(a,[2,14]),e(a,[2,20]),e(a,[2,21]),{10:[1,123]},e(a,[2,23]),e(el,[2,31],{19:124,11:P}),e(K,[2,32]),{45:125,46:44,47:A,48:45,50:46,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},e(K,[2,52]),e(K,[2,53]),e(K,[2,54]),e(K,[2,55]),e(eu,[2,89],{76:126,65:[1,128],77:[1,127]}),{79:129,82:130,83:ed,84:eh,119:ec,122:ep},{78:[1,135],80:[1,136]},e(eg,[2,96]),e(K,[2,33]),e(K,[2,34]),e(K,[2,35]),e(K,[2,36]),e(K,[2,37]),{11:ef,13:em,15:ey,28:eb,29:137,33:eA,35:ek,36:ex,47:eE,63:eC,78:eS,83:eT,84:eD,86:150,87:e_,88:ev,89:eF,90:e$,91:eL,92:eB,93:ew,94:138,108:eI,112:eM,114:eN,117:eR,118:eO,119:eV},e(eP,n,{5:165}),e(eP,n,{5:166}),{11:ef,13:em,15:ey,28:eb,29:167,33:eA,35:ek,36:ex,47:eE,63:eC,78:eS,83:eT,84:eD,86:150,87:e_,88:ev,89:eF,90:e$,91:eL,92:eB,93:ew,94:138,108:eI,112:eM,114:eN,117:eR,118:eO,119:eV},e(K,[2,49]),e(K,[2,50]),e(W,[2,61],{47:eK}),e(W,[2,62],{19:169,11:P,43:eG}),e(ea,[2,57]),{47:A,50:171,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},{105:[1,172],106:173,108:[1,174]},{47:A,50:175,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},{47:A,50:176,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},e(eU,[2,122],{11:[1,177],99:[1,178]}),{83:[1,179]},e(eU,[2,130],{123:181,11:[1,180],15:H,47:q,63:X,92:Q,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er}),e(eU,[2,132],{11:[1,182]}),e(ej,[2,198]),e(ej,[2,185]),e(ej,[2,186]),e(ej,[2,187]),e(ej,[2,188]),e(ej,[2,189]),e(ej,[2,190]),e(ej,[2,191]),e(ej,[2,192]),e(ej,[2,193]),e(ej,[2,194]),e(ej,[2,195]),{47:A,50:183,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},{31:184,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:192,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:194,53:[1,193],70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:195,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:196,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:197,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{112:[1,198]},{31:199,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:200,68:[1,201],70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:202,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:203,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:204,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},e(eo,[2,197]),e(a,[2,22]),e(el,[2,30]),e(W,[2,59],{34:205,19:206,11:P,43:Y}),e(eu,[2,86],{11:[1,207]}),{11:[1,208]},{31:209,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{80:[1,210],82:211,119:ec,122:ep},e(eQ,[2,92]),e(eQ,[2,94]),e(eQ,[2,95]),e(eQ,[2,183]),e(eQ,[2,184]),{79:212,82:130,83:ed,84:eh,119:ec,122:ep},e(eg,[2,97]),{8:G,9:U,10:j,11:ef,12:z,13:em,15:ey,22:214,28:eb,30:[1,213],33:eA,34:215,35:ek,36:ex,43:Y,47:eE,63:eC,78:eS,86:150,87:e_,88:ev,89:eF,90:e$,91:eL,92:eB,93:ew,94:216,108:eI,112:eM,114:eN,117:eR,118:eO,119:eV},e(eJ,[2,116]),e(eJ,[2,118]),e(eJ,[2,119]),e(eJ,[2,172]),e(eJ,[2,173]),e(eJ,[2,174]),e(eJ,[2,175]),e(eJ,[2,176]),e(eJ,[2,177]),e(eJ,[2,178]),e(eJ,[2,179]),e(eJ,[2,180]),e(eJ,[2,181]),e(eJ,[2,182]),e(eJ,[2,103]),e(eJ,[2,104]),e(eJ,[2,105]),e(eJ,[2,106]),e(eJ,[2,107]),e(eJ,[2,108]),e(eJ,[2,109]),e(eJ,[2,110]),e(eJ,[2,111]),e(eJ,[2,112]),e(eJ,[2,113]),e(eJ,[2,114]),e(eJ,[2,115]),{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,217],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,218],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},{8:G,9:U,10:j,11:ef,12:z,13:em,15:ey,22:220,28:eb,30:[1,219],33:eA,34:221,35:ek,36:ex,43:Y,47:eE,63:eC,78:eS,86:150,87:e_,88:ev,89:eF,90:e$,91:eL,92:eB,93:ew,94:216,108:eI,112:eM,114:eN,117:eR,118:eO,119:eV},{11:P,19:222},{47:[1,223]},e(ea,[2,56]),{11:[1,224],47:A,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:122,117:B,118:w,119:I},{11:[1,225]},{11:[1,226],109:[1,227]},e(eZ,[2,143]),{11:[1,228],47:A,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:122,117:B,118:w,119:I},{11:[1,229],47:A,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:122,117:B,118:w,119:I},{83:[1,230]},e(eU,[2,124],{11:[1,231]}),e(eU,[2,126],{11:[1,232]}),{83:[1,233]},e(ej,[2,199]),{83:[1,234],101:[1,235]},e(ea,[2,68],{116:122,47:A,63:k,92:D,105:_,108:v,109:F,112:$,114:L,117:B,118:w,119:I}),{32:[1,236],70:ez,85:237,119:eH,120:eq,121:eX},e(e1,[2,99]),e(e1,[2,101]),e(e1,[2,102]),e(e1,[2,168]),e(e1,[2,169]),e(e1,[2,170]),e(e1,[2,171]),{52:[1,238],70:ez,85:237,119:eH,120:eq,121:eX},{31:239,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{54:[1,240],70:ez,85:237,119:eH,120:eq,121:eX},{56:[1,241],70:ez,85:237,119:eH,120:eq,121:eX},{58:[1,242],70:ez,85:237,119:eH,120:eq,121:eX},{60:[1,243],70:ez,85:237,119:eH,120:eq,121:eX},{63:[1,244]},{67:[1,245],70:ez,85:237,119:eH,120:eq,121:eX},{69:[1,246],70:ez,85:237,119:eH,120:eq,121:eX},{31:247,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{32:[1,248],70:ez,85:237,119:eH,120:eq,121:eX},{70:ez,72:[1,249],74:[1,250],85:237,119:eH,120:eq,121:eX},{70:ez,72:[1,252],74:[1,251],85:237,119:eH,120:eq,121:eX},e(W,[2,58],{19:169,11:P,43:eG}),e(W,[2,60],{47:eK}),e(eu,[2,88]),e(eu,[2,87]),{65:[1,253],70:ez,85:237,119:eH,120:eq,121:eX},e(eu,[2,90]),e(eQ,[2,93]),{80:[1,254],82:211,119:ec,122:ep},{31:255,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},e(eP,n,{5:256}),{8:G,9:U,10:j,12:z,22:257,43:eG},e(eJ,[2,117]),e(K,[2,42]),e(K,[2,43]),{31:258,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},e(K,[2,46]),{8:G,9:U,10:j,12:z,22:259,43:eG},{46:260,47:A,48:45,50:46,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},{11:P,19:261},{11:e0,63:e2,87:e8,95:262,108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},{11:e0,63:e2,87:e8,95:273,107:[1,274],108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},{11:e0,63:e2,87:e8,95:275,107:[1,276],108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},{108:[1,277]},{11:e0,63:e2,87:e8,95:278,108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},{47:A,50:279,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},e(eU,[2,123]),{83:[1,280]},{83:[1,281],101:[1,282]},e(eU,[2,131]),e(eU,[2,133],{11:[1,283]}),e(eU,[2,134]),e(en,[2,69]),e(e1,[2,100]),e(en,[2,70]),{54:[1,284],70:ez,85:237,119:eH,120:eq,121:eX},e(en,[2,77]),e(en,[2,72]),e(en,[2,73]),e(en,[2,74]),{112:[1,285]},e(en,[2,76]),e(en,[2,78]),{69:[1,286],70:ez,85:237,119:eH,120:eq,121:eX},e(en,[2,80]),e(en,[2,81]),e(en,[2,83]),e(en,[2,82]),e(en,[2,84]),e([11,47,63,92,105,108,109,112,114,117,118,119],[2,98]),e(eu,[2,91]),{32:[1,287],70:ez,85:237,119:eH,120:eq,121:eX},{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,288],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},e(eP,n,{5:289}),{32:[1,290],70:ez,85:237,119:eH,120:eq,121:eX},e(K,[2,47]),e(ea,[2,66]),{46:291,47:A,48:45,50:46,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},e(eU,[2,136],{109:e5}),e(te,[2,145],{111:293,11:e0,63:e2,87:e8,108:e3,112:e4,113:e9,114:e7,115:e6}),e(tt,[2,147]),e(tt,[2,149]),e(tt,[2,150]),e(tt,[2,151]),e(tt,[2,152]),e(tt,[2,153]),e(tt,[2,154]),e(tt,[2,155]),e(tt,[2,156]),e(eU,[2,137],{109:e5}),{11:[1,294]},e(eU,[2,138],{109:e5}),{11:[1,295]},e(eZ,[2,144]),e(eU,[2,120],{109:e5}),e(eU,[2,121],{116:122,47:A,63:k,92:D,105:_,108:v,109:F,112:$,114:L,117:B,118:w,119:I}),e(eU,[2,125]),e(eU,[2,127],{11:[1,296]}),e(eU,[2,128]),{101:[1,297]},{54:[1,298]},{65:[1,299]},{69:[1,300]},{8:G,9:U,10:j,12:z,22:301,34:302,43:Y},e(K,[2,40]),{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,303],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},{8:G,9:U,10:j,12:z,22:304,34:305,43:Y},e(ea,[2,65]),{11:e0,63:e2,87:e8,108:e3,110:306,111:264,112:e4,113:e9,114:e7,115:e6},e(tt,[2,148]),{15:H,47:q,63:X,92:Q,104:307,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er,123:97},{15:H,47:q,63:X,92:Q,104:308,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er,123:97},{101:[1,309]},e(eU,[2,135]),e(en,[2,71]),{31:310,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},e(en,[2,79]),e(eP,n,{5:311}),{8:G,9:U,10:j,12:z,22:312,43:eG},e(K,[2,41]),e(K,[2,44]),{8:G,9:U,10:j,12:z,22:313,43:eG},e(te,[2,146],{111:293,11:e0,63:e2,87:e8,108:e3,112:e4,113:e9,114:e7,115:e6}),e(eU,[2,141],{123:181,11:[1,314],15:H,47:q,63:X,92:Q,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er}),e(eU,[2,142],{123:181,11:[1,315],15:H,47:q,63:X,92:Q,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er}),e(eU,[2,129]),{32:[1,316],70:ez,85:237,119:eH,120:eq,121:eX},{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,317],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},e(eP,n,{5:318}),e(K,[2,45]),{11:e0,63:e2,87:e8,95:319,108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},{11:e0,63:e2,87:e8,95:320,108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},e(en,[2,75]),e(K,[2,38]),{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,321],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},e(eU,[2,139],{109:e5}),e(eU,[2,140],{109:e5}),e(K,[2,39])],defaultActions:{},parseError:(0,g.K)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,g.K)(function(e){var t=this,s=[0],i=[],r=[null],a=[],n=this.table,o="",l=0,u=0,d=0,h=a.slice.call(arguments,1),c=Object.create(this.lexer),p={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p[f]=this.yy[f]);c.setInput(e,p),p.lexer=c,p.parser=this,void 0===c.yylloc&&(c.yylloc={});var m=c.yylloc;a.push(m);var y=c.options&&c.options.ranges;function b(){var e;return"number"!=typeof(e=i.pop()||c.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,g.K)(function(e){s.length=s.length-2*e,r.length=r.length-e,a.length=a.length-e},"popStack"),(0,g.K)(b,"lex");for(var A,k,x,E,C,S,T,D,_,v={};;){if(x=s[s.length-1],this.defaultActions[x]?E=this.defaultActions[x]:(null==A&&(A=b()),E=n[x]&&n[x][A]),void 0===E||!E.length||!E[0]){var F="";for(S in _=[],n[x])this.terminals_[S]&&S>2&&_.push("'"+this.terminals_[S]+"'");F=c.showPosition?"Parse error on line "+(l+1)+":\n"+c.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[A]||A)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==A?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(F,{text:c.match,token:this.terminals_[A]||A,line:c.yylineno,loc:m,expected:_})}if(E[0]instanceof Array&&E.length>1)throw Error("Parse Error: multiple actions possible at state: "+x+", token: "+A);switch(E[0]){case 1:s.push(A),r.push(c.yytext),a.push(c.yylloc),s.push(E[1]),A=null,k?(A=k,k=null):(u=c.yyleng,o=c.yytext,l=c.yylineno,m=c.yylloc,d>0&&d--);break;case 2:if(T=this.productions_[E[1]][1],v.$=r[r.length-T],v._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},y&&(v._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(C=this.performAction.apply(v,[o,u,l,p,E[1],r,a].concat(h))))return C;T&&(s=s.slice(0,-1*T*2),r=r.slice(0,-1*T),a=a.slice(0,-1*T)),s.push(this.productions_[E[1]][0]),r.push(v.$),a.push(v._$),D=n[s[s.length-2]][s[s.length-1]],s.push(D);break;case 3:return!0}}return!0},"parse")};function ti(){this.yy={}}return ts.lexer={EOF:1,parseError:(0,g.K)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,g.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,g.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,g.K)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,g.K)(function(){return this._more=!0,this},"more"),reject:(0,g.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,g.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,g.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,g.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,g.K)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,g.K)(function(e,t){var s,i,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))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,g.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,r=this._currentRules(),a=0;a<r.length;a++)if((s=this._input.match(this.rules[r[a]]))&&(!t||s[0].length>t[0].length)){if(t=s,i=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[a])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,g.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,g.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,g.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,g.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,g.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,g.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,g.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,g.K)(function(e,t,s,i){switch(s){case 0:return this.begin("acc_title"),38;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),40;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),t.yytext="",43;case 8:return this.pushState("shapeDataStr"),43;case 9:return this.popState(),43;case 10:return t.yytext=t.yytext.replace(/\n\s*/g,"<br/>"),43;case 11:return 43;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 98;case 18:return 99;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 87;case 26:return 105;case 27:return 88;case 28:return 107;case 29:return 89;case 30:return 90;case 31:return 100;case 32:this.begin("click");break;case 34:return 91;case 35:return e.lex.firstGraph()&&this.begin("dir"),13;case 36:return 28;case 37:return 36;case 38:return 35;case 39:return 33;case 40:case 41:case 42:case 43:return 101;case 44:return this.popState(),14;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),15;case 55:return 124;case 56:return 125;case 57:return 126;case 58:return 127;case 59:return 128;case 60:return 81;case 61:return 108;case 62:case 99:return 114;case 63:return 49;case 64:return 63;case 65:case 100:return 47;case 66:return 9;case 67:return 109;case 68:case 98:return 118;case 69:return this.popState(),80;case 70:return this.pushState("edgeText"),78;case 71:return 122;case 72:return 80;case 73:case 87:case 113:break;case 74:return this.popState(),56;case 75:case 114:return"TEXT";case 76:return this.pushState("ellipseText"),55;case 77:return this.popState(),58;case 78:return this.pushState("text"),57;case 79:return this.popState(),60;case 80:return this.pushState("text"),59;case 81:return 61;case 82:return this.pushState("text"),70;case 83:return this.popState(),67;case 84:return this.pushState("text"),66;case 85:return this.popState(),52;case 86:return this.pushState("text"),51;case 88:return this.popState(),72;case 89:return this.popState(),74;case 90:return 120;case 91:return this.pushState("trapText"),71;case 92:return this.pushState("trapText"),73;case 93:return 121;case 94:return 70;case 95:return 93;case 96:return"SEP";case 97:return 92;case 101:return 8;case 102:return 112;case 103:return 117;case 104:return 119;case 105:return this.popState(),65;case 106:return this.pushState("text"),65;case 107:return this.popState(),54;case 108:return this.pushState("text"),53;case 109:return this.popState(),32;case 110:return this.pushState("text"),30;case 111:return this.popState(),69;case 112:return this.pushState("text"),68;case 115:return"QUOTE";case 116:return 10;case 117:return 11;case 118:return 12}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:agentflow-beta\b)/,/^(?:flow\b)/,/^(?:connector\b)/,/^(?:global\b[ \t]*)/,/^(?:end\b[ \t]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*--+[x>]\s*)/,/^(?:\s*--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*-\.+-\s*)/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|(?:[^\\\[\]\(\)\{\}\/%]+|(?!))+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:[ \t]*%%(?!\{)[^\n]*)/,/^(?:([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])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:%%(?!\{)[^\n]*)/,/^(?:(?:[^\[\]\(\)\{\}\|\"%]+|(?!))+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},shapeData:{rules:[8,11,12,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},callbackargs:{rules:[17,18,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},callbackname:{rules:[14,15,16,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},href:{rules:[21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},click:{rules:[21,24,33,34,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},edgeText:{rules:[21,24,69,71,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},trapText:{rules:[21,24,76,78,80,84,86,87,88,89,90,91,92,106,108,110,112],inclusive:!1},ellipseText:{rules:[21,24,73,74,75,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},text:{rules:[21,24,76,77,78,79,80,83,84,85,86,91,92,105,106,107,108,109,110,111,112,113,114],inclusive:!1},vertex:{rules:[21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},acc_descr:{rules:[3,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},acc_title:{rules:[1,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},md_string:{rules:[19,20,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},string:{rules:[21,22,23,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,76,78,80,81,82,84,86,91,92,93,94,95,96,97,98,99,100,101,102,103,104,106,108,110,112,115,116,117,118],inclusive:!0}}},(0,g.K)(ti,"Parser"),ti.prototype=ts,ts.Parser=ti,new ti}();U.parser=U;var j=Object.assign({},U);j.parse=e=>{let t=e.replace(/}[^\S\n]*\n/g,"}\n");return U.parse(t)};var z=(0,g.K)(e=>{let{theme:t,bkgColorArray:s,borderColorArray:i}=e;if(!(0,d.P1)(t,i))return"";let r=(0,d.rq)(e.look),a=(0,d.Ic)(s),n=(0,d.nw)(e.THEME_COLOR_LIMIT,i),o=(0,g.K)(e=>i[e%i.length],"border"),l=(0,g.K)(e=>a?`fill: ${s[e%s.length]};`:"","fill"),u="";for(let e of $){let t=_.get(e),s=`[data-look="${r}"].node.${F(e)}`;u+=` + + ${s} rect, + ${s} path, + ${s} polygon { + stroke: ${o(t)}; + ${l(t)} + } +`}for(let e=0;e<L(n);e++){let t=B(e,n),s=`[data-look="${r}"][data-color-id="color-${t}"].cluster`,i=`[data-look="${r}"][data-color-id="color-${t}"].node`,a=(0,g.K)(e=>`${s} ${e}, ${i} ${e}`,"rule");u+=` + + ${a("rect")}, + ${a("path")} { + stroke: ${o(t)}; + ${l(t)} + } +`}return u},"genColor"),W=(0,g.K)((e,t)=>{let s=y.A,i=s(e,"r"),r=s(e,"g"),a=s(e,"b");return b.A(i,r,a,t)},"fade"),Y={parser:j,get db(){return new P},renderer:{getClasses:K,draw:G},styles:(0,g.K)(e=>`${z(e)} + .label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span { + color: ${e.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: ${e.strokeWidth??1}px; + } + .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { + text-anchor: middle; + } + .node .katex path { + fill: ${e.nodeTextColor||e.textColor}; + stroke: ${e.nodeTextColor||e.textColor}; + stroke-width: 1px; + } + + .rough-node .label,.node .label, .image-shape .label, .icon-shape .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + + .root .anchor path { + fill: ${e.lineColor} !important; + stroke-width: 0; + stroke: ${e.lineColor}; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePaths .path { + stroke: ${e.lineColor}; + stroke-width: ${e.strokeWidth??2}px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + p { + background-color: ${e.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${W(e.edgeLabelBackground,.5)}; + } + + .cluster rect { + fill: ${e.clusterBkg}; + stroke: ${e.clusterBorder}; + stroke-width: 1px; + } + + .flow-cluster rect { + fill: none; + stroke: ${e.clusterBorder}; + stroke-width: 0.75px; + } + + .node .collapsed-indicator { + fill: ${e.nodeBorder}; + stroke: none; + stroke-width: 0; + opacity: 0.5; + } + + .node .collapsed-separator { + stroke-width: 0.75px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .agentflowTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } + + rect.text { + fill: none; + stroke-width: 0; + } + + .icon-shape, .image-shape { + background-color: ${e.edgeLabelBackground}; + p { + background-color: ${e.edgeLabelBackground}; + padding: 2px; + } + .label rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + ${(0,i.o)()} +`,"getStyles"),init:(0,g.K)(e=>{e.agentflow??={},e.layout&&(0,c.XV)({layout:e.layout}),e.flowchart??={},e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,(0,c.XV)({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}})},"init")}}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.a44b09d4.js b/assets/js/5e95c892.a44b09d4.js new file mode 100644 index 0000000..ac5c748 --- /dev/null +++ b/assets/js/5e95c892.a44b09d4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1668"],{6569(e,r,s){s.r(r),s.d(r,{default:()=>t});var a=s(4848);s(6540);var u=s(4164),c=s(4308),l=s(8287),n=s(2831),p=s(6525);function t(e){return(0,a.jsx)(c.e3,{className:(0,u.A)(l.G.wrapper.docsPages),children:(0,a.jsx)(p.A,{children:(0,n.v)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/6073.79b4ff37.js b/assets/js/6073.79b4ff37.js new file mode 100644 index 0000000..3b85da1 --- /dev/null +++ b/assets/js/6073.79b4ff37.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6073"],{7454(e,t,i){function n(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}i.d(t,{S:()=>n}),(0,i(6827).K)(n,"populateCommonDb")},944(e,t,i){i.d(t,{diagram:()=>en});var n=i(7454),a=i(6348),r=i(1177),o=i(1293),l=i(6827),d=i(8731),s=i(7829),m="position frame",c="frame positioned",x="position relation",u="relation positioned",f=(0,l.K)(function(e){o.R.debug("options str",e)},"setOptions"),g=(0,l.K)(function(){return{}},"getOptions"),h=(0,l.K)(function(){b(),(0,r.IU)()},"clear");function b(){v={}}(0,l.K)(b,"reset");var p=r.UI.eventmodeling,w=(0,l.K)(()=>(0,a.$t)({...p,...(0,r.zj)().eventmodeling}),"getConfig"),v={};function y(){let e=K,{ast:t}=v,i=M();if(!t)throw Error("No data for EventModel");return t.frames.forEach((n,a)=>{let r=E(n,t.dataEntities,i);e=L(e,{$kind:m,index:a,frame:n,textProps:r}),O(n)?(o.R.debug("source frame",n.sourceFrames),t.frames.filter(e=>n.sourceFrames.some(t=>t.$refText===e.name)).forEach(t=>{e=L(e,{$kind:x,index:a,frame:n,sourceFrame:t})})):e=L(e,{$kind:x,index:a,frame:n})}),e={...e,sortedSwimlanesArray:H(e.swimlanes)}}function k(e){v.ast=e}(0,l.K)(y,"getState"),(0,l.K)(k,"setAst");var P={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function M(){return P}(0,l.K)(M,"getDiagramProps");var K={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function S(e){let t=e.split(".");if(2===t.length)return t[0]}function B(e){let t=e.split(".");return 2===t.length?t[1]:e}function F(e,t){if(t&&0!==t.length)return Object.values(e).find(e=>e.namespace===t)}function R(e,t,i){return Math.max(t,...Object.keys(e).filter(e=>{let n=Number.parseInt(e);return n>t&&n<i}).map(e=>Number.parseInt(e)))+1}function $(e,t){let i=S(e.entityIdentifier),n=F(t,i);switch(e.modelEntityType){case"ui":case"pcr":case"processor":if(n)return{index:n.index,label:n.namespace||P.labelUiAutomation};if(i)return{index:R(t,0,100),label:P.labelUiAutomationPrefix+i};return{index:0,label:P.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":if(n)return{index:n.index,label:n.namespace||P.labelCommandReadModel};if(i)return{index:R(t,100,200),label:P.labelCommandReadModelPrefix+i};return{index:100,label:P.labelCommandReadModel};default:if(n)return{index:n.index,label:n.namespace||P.labelEvents};if(i)return{index:R(t,200,300),label:P.labelEventsPrefix+i};return{index:200,label:P.labelEvents}}}function A(e){let{themeVariables:t}=(0,r.zj)();switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function E(e,t,i){let n,l=(0,r.zj)(),d=(0,r.jZ)(B(e.entityIdentifier)??"",l),s={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},m=(0,a.bH)(d,i.textMaxWidth,s),c=`<b>${m}</b>`;if(e.dataInlineValue&&(n=(n=(n=e.dataInlineValue).substring(n.indexOf("{")+1)).substring(0,n.lastIndexOf("}")-1),n=(0,r.jZ)(n,l),n=(n=(0,a.bH)(n,i.textMaxWidth,s)).replaceAll(" "," ")),e.dataReference){let o=t.find(t=>t.name===e.dataReference?.$refText);o&&(n=(n=(n=o.dataBlockValue).substring(n.indexOf("{\n")+2)).substring(0,n.lastIndexOf("}")-1),n=(0,r.jZ)(n,l),n=(n=(0,a.bH)(n,i.textMaxWidth,s)).replaceAll(" "," ")+"<br/>")}let x=void 0!==n;x&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${i.textMaxWidth}px">${n}</code>`);let u={fontSize:s.fontSize,fontWeight:s.fontWeight,fontFamily:s.fontFamily},f=(0,a.PX)(c,u),g={content:c,width:x?f.width/3:f.width,height:f.height};return o.R.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}function T(e,t){let i=A(t.frame),n={width:t.textProps.width+2*P.boxTextPadding,height:t.textProps.height+2*P.boxTextPadding};return[{$kind:c,frame:t.frame,index:t.index,visual:i,dimension:n,textProps:t.textProps}]}function W(e,t,i){return void 0===t?P.contentStartX:t.index===e.index&&e.r?e.r+P.boxPadding:void 0===i?P.contentStartX:i.r-P.boxOverlap+P.boxPadding}function D(e,t){return Math.max(...e.map(e=>e.r),t)}function H(e){return Object.values(e).sort((e,t)=>e.index-t.index)}function I(e,t){let i,n=$(t.frame,e.swimlanes);i=n.index in e.swimlanes?e.swimlanes[n.index]:{index:n.index,label:n.label,r:0,y:n.index*P.swimlaneMinHeight+P.swimlaneGap,height:P.swimlaneMinHeight,maxHeight:P.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,r=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,o={width:Math.max(P.boxMinWidth,Math.min(P.boxMaxWidth,t.dimension.width))+2*P.boxPadding,height:Math.max(P.boxMinHeight,Math.min(P.boxMaxHeight,t.dimension.height))+2*P.boxPadding},l=W(i,r,a),d=l+o.width+P.boxPadding,s=D(Object.values(e.swimlanes),d);i.r=l+o.width,i.maxHeight=Math.max(i.maxHeight,o.height),i.height=Math.max(P.swimlaneMinHeight,i.maxHeight)+2*P.swimlanePadding;let m={x:l,y:P.swimlanePadding+i.y,r:d,dimension:o,leftSibling:!1,swimlane:i,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},c={...e,boxes:[...e.boxes,m],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:n.index,previousFrame:t.frame,maxR:s},x=H(c.swimlanes);x.length>0&&(x[0].y=0);for(let e=1;e<x.length;e++){let t=x[e],i=x[e-1];t.y=i.y+i.height+P.swimlaneGap}return c}function C(e,t){return 0===e&&0===t.sourceFrames.length}function O(e){return void 0!==e.sourceFrames&&null!==e.sourceFrames&&e.sourceFrames.length>0}function j(e,t){if(null!=t)return e.find(e=>e.frame.name===t.name)}function U(e,t,i){if(!(i<0))for(let n=i;n>=0;n--){let i=e[n];if(i.swimlane.index!==t)return i}}function N(e,t){let i;if((0,d.F5)(t.frame)||C(t.index,t.frame))return[];let n=j(e.boxes,t.frame);if(void 0===n)throw Error(`Target box not found for frame ${t.frame.name}`);return void 0===(i=t.sourceFrame?j(e.boxes,t.sourceFrame):U(e.boxes,n.swimlane.index,t.index-1))?[]:[{$kind:u,frame:t.frame,index:t.index,sourceBox:i,targetBox:n}]}function z(e,t){let i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}(0,l.K)(S,"extractNamespace"),(0,l.K)(B,"extractName"),(0,l.K)(F,"findSwimlaneByNamespace"),(0,l.K)(R,"findNextAvailableIndex"),(0,l.K)($,"calculateSwimlaneProps"),(0,l.K)(A,"calculateEntityVisualProps"),(0,l.K)(E,"calculateTextProps"),(0,l.K)(T,"decidePositionFrame"),(0,l.K)(W,"calculateX"),(0,l.K)(D,"calculateMaxRight"),(0,l.K)(H,"sortedSwimlanesArray"),(0,l.K)(I,"evolveFramePositioned"),(0,l.K)(C,"isFirstFrame"),(0,l.K)(O,"hasSourceFrame"),(0,l.K)(j,"findBoxByFrame"),(0,l.K)(U,"findBoxByLineIndex"),(0,l.K)(N,"decidePositionRelation"),(0,l.K)(z,"evolveRelationPositioned");var X={[m]:T,[x]:N},V={[c]:I,[u]:z};function q(e,t){let i=X[t.$kind];if(null==i)return[];let n=i(e,t);return o.R.debug("decided events",n),n}function G(e,t){let i=t.reduce((e,t)=>{let i=V[t.$kind];return null==i?e:i(e,t)},e);return o.R.debug("evolve events",{state:e,newState:i,events:t}),i}function L(e,t){let i=q(e,t);return G(e,i)}(0,l.K)(q,"decide"),(0,l.K)(G,"evolve"),(0,l.K)(L,"dispatch");var Z={getConfig:w,setOptions:f,getOptions:g,clear:h,setAccTitle:r.SV,getAccTitle:r.iN,getAccDescription:r.m7,setAccDescription:r.EI,setDiagramTitle:r.ke,getDiagramTitle:r.ab,setAst:k,getDiagramProps:M,getState:y},Y={parse:(0,l.K)(async e=>{let t=await (0,d.qg)("eventmodeling",e);o.R.debug(t),Z.setAst(t),(0,n.S)(t,Z)},"parse")},J=(0,r.D7)(),Q=J?.eventmodeling;function _(e,t){return i=>{let n=i.swimlane.y+t.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",i.x).attr("y",n).attr("rx","3").attr("width",i.dimension.width).attr("height",i.dimension.height).attr("stroke",i.visual.stroke).attr("fill",i.visual.fill),a.append("foreignObject").attr("x",i.x+t.boxPadding).attr("y",n+10).attr("width",i.dimension.width-2*t.boxPadding).attr("height",i.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(i.text)}}function ee(e,t){return e>t}function et(e,t,i,n){return a=>{let r,l,d=a.sourceBox.swimlane.y+t.swimlanePadding,s=a.targetBox.swimlane.y+t.swimlanePadding,m=ee(d,s),c=a.sourceBox.x+2*a.sourceBox.dimension.width/3,x=a.targetBox.x+a.targetBox.dimension.width/3;o.R.debug(`rendering relation up=${m} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),m?(r=d,l=s+a.targetBox.dimension.height):(r=d+a.sourceBox.dimension.height,l=s);let u=n.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",u).attr("stroke-width","1").attr("marker-end",`url(#${i})`).attr("d",`M${c} ${r} L${x} ${l}`)}}function ei(e,t,i,n){return a=>{let r=e.append("g").attr("class","em-swimlane"),o=n.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=n.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",t+i.swimlanePadding).attr("height",a.height).attr("fill",o).attr("stroke",l),r.append("text").attr("font-weight",i.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}(0,l.K)(_,"renderD3Box"),(0,l.K)(ee,"dirUpwards"),(0,l.K)(et,"renderD3Relation"),(0,l.K)(ei,"renderD3Swimlane");var en={parser:Y,db:Z,renderer:{draw:(0,l.K)(function(e,t,i,n){if(o.R.debug("in eventmodeling renderer",e+"\n","id:",t,i),!Q)throw Error("EventModeling config not found");let a=n.db,{themeVariables:l,eventmodeling:d}=(0,r.D7)(),m=(0,s.Ltv)(`[id="${t}"]`),c=a.getDiagramProps(),x=a.getState(),u=`em-arrowhead-${t}`,f=l.emArrowhead??"#000000";x.sortedSwimlanesArray.forEach(ei(m,x.maxR,c,l)),x.boxes.forEach(_(m,c)),x.relations.forEach(et(m,c,u,l)),m.append("defs").append("marker").attr("id",u).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",f),(0,r.mj)(void 0,m,d?.padding??30,d?.useMaxWidth)},"draw")},styles:(0,l.K)(e=>"","getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/612.7ca96f70.js b/assets/js/612.7ca96f70.js new file mode 100644 index 0000000..dfec77a --- /dev/null +++ b/assets/js/612.7ca96f70.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["612"],{3327(e,s,r){r.d(s,{createPacketServices:()=>a.$});var a=r(3263);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/6184.b444265b.js b/assets/js/6184.b444265b.js new file mode 100644 index 0000000..7fe9a90 --- /dev/null +++ b/assets/js/6184.b444265b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6184"],{1019(e,a,r){r.d(a,{diagram:()=>g});var t=r(4924),s=r(1177),n=r(1293),d=r(6827),i=r(8731),p={parse:(0,d.K)(async e=>{let a=await (0,i.qg)("info",e);n.R.debug(a)},"parse")},l=(0,d.K)(()=>"12.0.0","getVersion"),g={parser:p,db:{getVersion:l},renderer:{draw:(0,d.K)((e,a,r)=>{n.R.debug("rendering info diagram\n"+e);let d=(0,t.D)(a);(0,s.a$)(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${r}`)},"draw")}}}}]); \ No newline at end of file diff --git a/assets/js/621db11d.cd6afb65.js b/assets/js/621db11d.cd6afb65.js new file mode 100644 index 0000000..04aada2 --- /dev/null +++ b/assets/js/621db11d.cd6afb65.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1221"],{6433(t,e,s){s.r(e),s.d(e,{default:()=>m});var a=s(4848);s(6540);var r=s(4164),o=s(4308),l=s(8287),n=s(9365),i=s(8579),u=s(4175),h=s(2072),g=s(6947);let c={authorListItem:"authorListItem_n3yI"};function p({author:t}){return(0,a.jsx)("li",{className:c.authorListItem,children:(0,a.jsx)(g.A,{as:"h2",author:t,count:t.count})})}function d({authors:t}){return(0,a.jsx)("section",{className:(0,r.A)("margin-vert--lg",c.authorsListSection),children:(0,a.jsx)("ul",{children:t.map(t=>(0,a.jsx)(p,{author:t},t.key))})})}function m({authors:t,sidebar:e}){let s=(0,n.uz)();return(0,a.jsxs)(o.e3,{className:(0,r.A)(l.G.wrapper.blogPages,l.G.page.blogAuthorsListPage),children:[(0,a.jsx)(o.be,{title:s}),(0,a.jsx)(u.A,{tag:"blog_authors_list"}),(0,a.jsxs)(i.A,{sidebar:e,children:[(0,a.jsx)(h.A,{as:"h1",children:s}),(0,a.jsx)(d,{authors:t})]})]})}},9365(t,e,s){s.d(e,{Y4:()=>g,ZD:()=>n,np:()=>h,uz:()=>u,wI:()=>i});var a=s(4848);s(6540);var r=s(568),o=s(8878);function l(){let{selectMessage:t}=(0,o.W)();return e=>t(e,(0,r.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:e}))}function n(t){let e=l();return(0,r.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:e(t.count),tagName:t.label})}function i(t){let e=l();return(0,r.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:e(t.count),authorName:t.name||t.key})}let u=()=>(0,r.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function h(){return(0,a.jsx)(r.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function g(){return(0,a.jsx)(r.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}}}]); \ No newline at end of file diff --git a/assets/js/6326.27d6a633.js b/assets/js/6326.27d6a633.js new file mode 100644 index 0000000..de557ed --- /dev/null +++ b/assets/js/6326.27d6a633.js @@ -0,0 +1,93 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6326"],{4918(t,e,i){i.d(e,{o:()=>n});var n=(0,i(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")},4773(t,e,i){i.d(e,{diagram:()=>w});var n=i(4924),s=i(4918),r=i(841),o=i(5616),a=i(7827);i(3002),i(739),i(6320),i(2217),i(2941),i(6348);var l=i(1177),c=i(1293),h=i(6827),u=i(4682),g=i(8041),d=i(5263),p=function(){var t=(0,h.K)(function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i},"o"),e=[1,4],i=[1,13],n=[1,12],s=[1,15],r=[1,16],o=[1,20],a=[1,19],l=[6,7,8],c=[1,26],u=[1,24],g=[1,25],d=[6,7,11],p=[1,31],y=[6,7,11,24],f=[1,6,13,16,17,20,23],m=[1,35],b=[1,36],k=[1,6,7,11,13,16,17,20,23],_=[1,38],E={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:(0,h.K)(function(t,e,i,n,s,r,o){var a=r.length-1;switch(s){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",r[a-1].id),n.addNode(r[a-2].length,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 16:n.getLogger().info("Node: ",r[a].id),n.addNode(r[a-1].length,r[a].id,r[a].descr,r[a].type);break;case 17:n.getLogger().trace("Icon: ",r[a]),n.decorateNode({icon:r[a]});break;case 18:case 23:n.decorateNode({class:r[a]});break;case 19:n.getLogger().trace("SPACELIST");break;case 20:n.getLogger().trace("Node: ",r[a-1].id),n.addNode(0,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 21:n.getLogger().trace("Node: ",r[a].id),n.addNode(0,r[a].id,r[a].descr,r[a].type);break;case 22:n.decorateNode({icon:r[a]});break;case 27:n.getLogger().trace("node found ..",r[a-2]),this.$={id:r[a-1],descr:r[a-1],type:n.getType(r[a-2],r[a])};break;case 28:this.$={id:r[a],descr:r[a],type:0};break;case 29:n.getLogger().trace("node found ..",r[a-3]),this.$={id:r[a-3],descr:r[a-1],type:n.getType(r[a-2],r[a])};break;case 30:this.$=r[a-1]+r[a];break;case 31:this.$=r[a]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:i,7:[1,10],9:9,12:11,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:i,12:21,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:i,9:22,12:11,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:c,7:u,10:23,11:g},t(d,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:a}),t(d,[2,19]),t(d,[2,21],{15:30,24:p}),t(d,[2,22]),t(d,[2,23]),t(y,[2,25]),t(y,[2,26]),t(y,[2,28],{20:[1,32]}),{21:[1,33]},{6:c,7:u,10:34,11:g},{1:[2,7],6:i,12:21,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(f,[2,14],{7:m,11:b}),t(k,[2,8]),t(k,[2,9]),t(k,[2,10]),t(d,[2,16],{15:37,24:p}),t(d,[2,17]),t(d,[2,18]),t(d,[2,20],{24:_}),t(y,[2,31]),{21:[1,39]},{22:[1,40]},t(f,[2,13],{7:m,11:b}),t(k,[2,11]),t(k,[2,12]),t(d,[2,15],{24:_}),t(y,[2,30]),{22:[1,41]},t(y,[2,27]),t(y,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,h.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,h.K)(function(t){var e=this,i=[0],n=[],s=[null],r=[],o=this.table,a="",l=0,c=0,u=0,g=r.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p[y]=this.yy[y]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;r.push(f);var m=d.options&&d.options.ranges;function b(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){i.length=i.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,h.K)(b,"lex");for(var k,_,E,S,N,x,D,L,I,v={};;){if(E=i[i.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==k&&(k=b()),S=o[E]&&o[E][k]),void 0===S||!S.length||!S[0]){var C="";for(x in I=[],o[E])this.terminals_[x]&&x>2&&I.push("'"+this.terminals_[x]+"'");C=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[k]||k,line:d.yylineno,loc:f,expected:I})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(S[0]){case 1:i.push(k),s.push(d.yytext),r.push(d.yylloc),i.push(S[1]),k=null,_?(k=_,_=null):(c=d.yyleng,a=d.yytext,l=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(D=this.productions_[S[1]][1],v.$=s[s.length-D],v._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},m&&(v._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),void 0!==(N=this.performAction.apply(v,[a,c,l,p,S[1],s,r].concat(g))))return N;D&&(i=i.slice(0,-1*D*2),s=s.slice(0,-1*D),r=r.slice(0,-1*D)),i.push(this.productions_[S[1]][0]),s.push(v.$),r.push(v._$),L=o[i[i.length-2]][i[i.length-1]],i.push(L);break;case 3:return!0}}return!0},"parse")};function S(){this.yy={}}return E.lexer={EOF:1,parseError:(0,h.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=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),i.length-1&&(this.yylineno-=i.length-1);var s=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:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var i,n,s;if(this.options.backtrack_lexer&&(s={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&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in s)this[r]=s[r];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,s=this._currentRules(),r=0;r<s.length;r++)if((i=this._input.match(this.rules[s[r]]))&&(!e||i[0].length>e[0].length)){if(e=i,n=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,s[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K)(function(t,e,i,n){switch(i){case 0:return this.pushState("shapeData"),e.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:return e.yytext=e.yytext.replace(/\n\s*/g,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return t.getLogger().trace("Found comment",e.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return t.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:t.getLogger().trace("end icon"),this.popState();break;case 16:return t.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return t.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 33:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return t.getLogger().trace("Long description:",e.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}},(0,h.K)(S,"Parser"),S.prototype=E,E.Parser=S,new S}();p.parser=p;var y=[],f=[],m=0,b={},k=(0,h.K)(()=>{y=[],f=[],m=0,b={}},"clear"),_=(0,h.K)(t=>{if(0===y.length)return null;let e=y[0].level,i=null;for(let t=y.length-1;t>=0;t--)if(y[t].level!==e||i||(i=y[t]),y[t].level<e)throw Error('Items without section detected, found section ("'+y[t].label+'")');return t===i?.level?null:i},"getSection"),E=(0,h.K)(function(){return f},"getSections"),S=(0,h.K)(function(){let t=[],e=E(),i=(0,l.D7)();for(let n of e){let e={id:n.id,label:(0,l.jZ)(n.label??"",i),labelType:"markdown",isGroup:!0,ticket:n.ticket,shape:"kanbanSection",level:n.level,look:i.look};for(let s of(t.push(e),y.filter(t=>t.parentId===n.id))){let e={id:s.id,parentId:n.id,label:(0,l.jZ)(s.label??"",i),labelType:"markdown",isGroup:!1,ticket:s?.ticket,priority:s?.priority,assigned:s?.assigned,icon:s?.icon,shape:"kanbanItem",level:s.level,rx:5,ry:5,cssStyles:["text-align: left"]};t.push(e)}}return{nodes:t,edges:[],other:{},config:(0,l.D7)()}},"getData"),N=(0,h.K)((t,e,i,n,s)=>{let o=(0,l.D7)(),a=o.mindmap?.padding??l.UI.mindmap.padding;switch(n){case x.ROUNDED_RECT:case x.RECT:case x.HEXAGON:a*=2}let c={id:(0,l.jZ)(e,o)||"kbn"+m++,level:t,label:(0,l.jZ)(i,o),width:o.mindmap?.maxNodeWidth??l.UI.mindmap.maxNodeWidth,padding:a,isGroup:!1};if(void 0!==s){let t;t=s.includes("\n")?s+"\n":"{\n"+s+"\n}";let e=(0,r.H)(t,{schema:r.r});if(e.shape&&(e.shape!==e.shape.toLowerCase()||e.shape.includes("_")))throw Error(`No such shape: ${e.shape}. Shape names should be lowercase.`);e?.shape&&"kanbanItem"===e.shape&&(c.shape=e?.shape),e?.label&&(c.label=e?.label),e?.icon&&(c.icon=e?.icon.toString()),e?.assigned&&(c.assigned=e?.assigned.toString()),e?.ticket&&(c.ticket=e?.ticket.toString()),e?.priority&&(c.priority=e?.priority)}let h=_(t);h?c.parentId=h.id||"kbn"+m++:f.push(c),y.push(c)},"addNode"),x={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},D=(0,h.K)((t,e)=>{switch(c.R.debug("In get type",t,e),t){case"[":return x.RECT;case"(":return")"===e?x.ROUNDED_RECT:x.CLOUD;case"((":return x.CIRCLE;case")":return x.CLOUD;case"))":return x.BANG;case"{{":return x.HEXAGON;default:return x.DEFAULT}},"getType"),L=(0,h.K)((t,e)=>{b[t]=e},"setElementForId"),I=(0,h.K)(t=>{if(!t)return;let e=(0,l.D7)(),i=y[y.length-1];t.icon&&(i.icon=(0,l.jZ)(t.icon,e)),t.class&&(i.cssClasses=(0,l.jZ)(t.class,e))},"decorateNode"),v=(0,h.K)(t=>{switch(t){case x.DEFAULT:return"no-border";case x.RECT:return"rect";case x.ROUNDED_RECT:return"rounded-rect";case x.CIRCLE:return"circle";case x.CLOUD:return"cloud";case x.BANG:return"bang";case x.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),C=(0,h.K)(()=>c.R,"getLogger"),O=(0,h.K)(t=>b[t],"getElementById"),A=(0,h.K)(async(t,e,i,s)=>{c.R.debug("Rendering kanban diagram\n"+t);let r=s.db.getData(),h=(0,l.D7)();h.htmlLabels=!1;let u=(0,n.D)(e);for(let t of r.nodes)t.domId=`${e}-${t.id}`;let g=u.append("g");g.attr("class","sections");let d=u.append("g");d.attr("class","items");let p=r.nodes.filter(t=>t.isGroup),y=0,f=[],m=25;for(let t of p){let e=h?.kanban?.sectionWidth||200;t.x=e*(y+=1)+(y-1)*10/2,t.width=e,t.y=0,t.height=3*e,t.rx=5,t.ry=5,t.cssClasses=t.cssClasses+" section-"+y;let i=await (0,o.U)(g,t);m=Math.max(m,i?.labelBBox?.height),f.push(i)}let b=0;for(let t of p){let e=f[b];b+=1;let i=h?.kanban?.sectionWidth||200,n=-(3*i)/2+m,s=n;for(let e of r.nodes.filter(e=>e.parentId===t.id)){if(e.isGroup)throw Error("Groups within groups are not allowed in Kanban diagrams");e.x=t.x,e.width=i-15;let n=(await (0,a.on)(d,e,{config:h})).node().getBBox();e.y=s+n.height/2,await (0,a.U_)(e),s=e.y+n.height/2+5}let o=e.cluster.select("rect"),l=Math.max(s-n+30,50)+(m-25);o.attr("height",l)}(0,l.ot)(void 0,u,h.mindmap?.padding??l.UI.kanban.padding,h.mindmap?.useMaxWidth??l.UI.kanban.useMaxWidth)},"draw"),K=(0,h.K)(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,u.A)(t["lineColor"+e])?t["lineColor"+e]=(0,g.A)(t["lineColor"+e],20):t["lineColor"+e]=(0,d.A)(t["lineColor"+e],20);let i=(0,h.K)((e,i)=>t.darkMode?(0,d.A)(e,i):(0,g.A)(e,i),"adjuster");for(let n=0;n<t.THEME_COLOR_LIMIT;n++){let s=""+(17-3*n);e+=` + .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path { + fill: ${i(t["cScale"+n],10)}; + stroke: ${i(t["cScale"+n],10)}; + + } + .section-${n-1} text { + fill: ${t["cScaleLabel"+n]}; + } + .node-icon-${n-1} { + font-size: 40px; + color: ${t["cScaleLabel"+n]}; + } + .section-edge-${n-1}{ + stroke: ${t["cScale"+n]}; + } + .edge-depth-${n-1}{ + stroke-width: ${s}; + } + .section-${n-1} line { + stroke: ${t["cScaleInv"+n]} ; + stroke-width: 3; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.background}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .kanban-ticket-link { + fill: ${t.background}; + stroke: ${t.nodeBorder}; + text-decoration: underline; + } + `}return e},"genSections"),w={db:{clear:k,addNode:N,getSections:E,getData:S,nodeType:x,getType:D,setElementForId:L,decorateNode:I,type2Str:v,getLogger:C,getElementById:O},renderer:{draw:A},parser:p,styles:(0,h.K)(t=>` + .edge { + stroke-width: 3; + } + ${K(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .cluster-label, .label { + color: ${t.textColor}; + fill: ${t.textColor}; + } + .kanban-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } + ${(0,s.o)()} +`,"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/6374.05518a82.js b/assets/js/6374.05518a82.js new file mode 100644 index 0000000..dd666a8 --- /dev/null +++ b/assets/js/6374.05518a82.js @@ -0,0 +1,287 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6374"],{7375(t){t.exports=function(t,e){var i=e.prototype,s=i.format;i.format=function(t){var e=this,i=this.$locale();if(!this.isValid())return s.bind(this)(t);var n=this.$utils(),r=(t||"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(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return i.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return i.ordinal(e.week(),"W");case"w":case"ww":return n.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return n.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return n.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return"["+e.offsetName()+"]";case"zzz":return"["+e.offsetName("long")+"]";default:return t}});return s.bind(this)(r)}}},445(t){t.exports=function(){"use strict";var t={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"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,s=/\d\d/,n=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,a={},o=function(t){return(t*=1)+(t>68?1900:2e3)},c=function(t){return function(e){this[t]=+e}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t||"Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),i=60*e[1]+(+e[2]||0);return 0===i?0:"+"===e[0]?-i:i}(t)}],d=function(t){var e=a[t];return e&&(e.indexOf?e:e.s.concat(e.f))},u=function(t,e){var i,s=a.meridiem;if(s){for(var n=1;n<=24;n+=1)if(t.indexOf(s(n,0,e))>-1){i=n>12;break}}else i=t===(e?"pm":"PM");return i},h={A:[r,function(t){this.afternoon=u(t,!1)}],a:[r,function(t){this.afternoon=u(t,!0)}],Q:[i,function(t){this.month=3*(t-1)+1}],S:[i,function(t){this.milliseconds=100*t}],SS:[s,function(t){this.milliseconds=10*t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[n,c("seconds")],ss:[n,c("seconds")],m:[n,c("minutes")],mm:[n,c("minutes")],H:[n,c("hours")],h:[n,c("hours")],HH:[n,c("hours")],hh:[n,c("hours")],D:[n,c("day")],DD:[s,c("day")],Do:[r,function(t){var e=a.ordinal,i=t.match(/\d+/);if(this.day=i[0],e)for(var s=1;s<=31;s+=1)e(s).replace(/\[|\]/g,"")===t&&(this.day=s)}],w:[n,c("week")],ww:[s,c("week")],M:[n,c("month")],MM:[s,c("month")],MMM:[r,function(t){var e=d("months"),i=(d("monthsShort")||e.map(function(t){return t.slice(0,3)})).indexOf(t)+1;if(i<1)throw Error();this.month=i%12||i}],MMMM:[r,function(t){var e=d("months").indexOf(t)+1;if(e<1)throw Error();this.month=e%12||e}],Y:[/[+-]?\d+/,c("year")],YY:[s,function(t){this.year=o(t)}],YYYY:[/\d{4}/,c("year")],Z:l,ZZ:l};return function(i,s,n){n.p.customParseFormat=!0,i&&i.parseTwoDigitYear&&(o=i.parseTwoDigitYear);var r=s.prototype,c=r.parse;r.parse=function(i){var s=i.date,r=i.utc,o=i.args;this.$u=r;var l=o[1];if("string"==typeof l){var d=!0===o[2],u=!0===o[3],f=o[2];u&&(f=o[2]),a=this.$locale(),!d&&f&&(a=n.Ls[f]),this.$d=function(i,s,n,r){try{if(["x","X"].indexOf(s)>-1)return new Date(("X"===s?1e3:1)*i);var o=(function(i){var s,n;s=i,n=a&&a.formats;for(var r=(i=s.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(e,i,s){var r=s&&s.toUpperCase();return i||n[s]||t[s]||n[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(t,e,i){return e||i.slice(1)})})).match(e),o=r.length,c=0;c<o;c+=1){var l=r[c],d=h[l],u=d&&d[0],f=d&&d[1];r[c]=f?{regex:u,parser:f}:l.replace(/^\[|\]$/g,"")}return function(t){for(var e={},i=0,s=0;i<o;i+=1){var n=r[i];if("string"==typeof n)s+=n.length;else{var a=n.regex,c=n.parser,l=t.slice(s),d=a.exec(l)[0];c.call(e,d),t=t.replace(d,"")}}return function(t){var e=t.afternoon;if(void 0!==e){var i=t.hours;e?i<12&&(t.hours+=12):12===i&&(t.hours=0),delete t.afternoon}}(e),e}})(s)(i),c=o.year,l=o.month,d=o.day,u=o.hours,f=o.minutes,m=o.seconds,k=o.milliseconds,y=o.zone,g=o.week,p=new Date,v=d||(c||l?1:p.getDate()),T=c||p.getFullYear(),x=0;c&&!l||(x=l>0?l-1:p.getMonth());var b,$=u||0,w=f||0,_=m||0,D=k||0;return y?new Date(Date.UTC(T,x,v,$,w,_,D+60*y.offset*1e3)):n?new Date(Date.UTC(T,x,v,$,w,_,D)):(b=new Date(T,x,v,$,w,_,D),g&&(b=r(b).week(g).toDate()),b)}catch(t){return new Date("")}}(s,l,r,n),this.init(),f&&!0!==f&&(this.$L=this.locale(f).$L),(d||u)&&s!=this.format(l)&&(this.$d=new Date("")),a={}}else if(l instanceof Array)for(var m=l.length,k=1;k<=m;k+=1){o[1]=l[k-1];var y=n.apply(this,o);if(y.isValid()){this.$d=y.$d,this.$L=y.$L,this.init();break}k===m&&(this.$d=new Date(""))}else c.call(this,i)}}}()},3522(t){t.exports=function(){"use strict";var t,e,i=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,s=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,n={years:31536e6,months:2628e6,days:864e5,hours:36e5,minutes:6e4,seconds:1e3,milliseconds:1,weeks:6048e5},r=function(t){return t instanceof u},a=function(t,e,i){return new u(t,i,e.$l)},o=function(t){return e.p(t)+"s"},c=function(t){return t<0},l=function(t){return c(t)?Math.ceil(t):Math.floor(t)},d=function(t,e){return t?c(t)?{negative:!0,format:""+Math.abs(t)+e}:{negative:!1,format:""+t+e}:{negative:!1,format:""}},u=function(){function c(t,e,s){var r=this;if(this.$d={},this.$l=s,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),e)return a(t*n[o(e)],this);if("number"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if("object"==typeof t)return Object.keys(t).forEach(function(e){r.$d[o(e)]=t[e]}),this.calMilliseconds(),this;if("string"==typeof t){var c=t.match(i);if(c){var l=c.slice(2).map(function(t){return null!=t?Number(t):0});return this.$d.years=l[0],this.$d.months=l[1],this.$d.weeks=l[2],this.$d.days=l[3],this.$d.hours=l[4],this.$d.minutes=l[5],this.$d.seconds=l[6],this.calMilliseconds(),this}}return this}var u=c.prototype;return u.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce(function(e,i){return e+(t.$d[i]||0)*n[i]},0)},u.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=l(t/31536e6),t%=31536e6,this.$d.months=l(t/2628e6),t%=2628e6,this.$d.days=l(t/864e5),t%=864e5,this.$d.hours=l(t/36e5),t%=36e5,this.$d.minutes=l(t/6e4),t%=6e4,this.$d.seconds=l(t/1e3),t%=1e3,this.$d.milliseconds=t},u.toISOString=function(){var t=d(this.$d.years,"Y"),e=d(this.$d.months,"M"),i=+this.$d.days||0;this.$d.weeks&&(i+=7*this.$d.weeks);var s=d(i,"D"),n=d(this.$d.hours,"H"),r=d(this.$d.minutes,"M"),a=this.$d.seconds||0;this.$d.milliseconds&&(a+=this.$d.milliseconds/1e3,a=Math.round(1e3*a)/1e3);var o=d(a,"S"),c=t.negative||e.negative||s.negative||n.negative||r.negative||o.negative,l=n.format||r.format||o.format?"T":"",u=(c?"-":"")+"P"+t.format+e.format+s.format+l+n.format+r.format+o.format;return"P"===u||"-P"===u?"P0D":u},u.toJSON=function(){return this.toISOString()},u.format=function(t){var i={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return(t||"YYYY-MM-DDTHH:mm:ss").replace(s,function(t,e){return e||String(i[t])})},u.as=function(t){return this.$ms/n[o(t)]},u.get=function(t){var e=this.$ms,i=o(t);return"milliseconds"===i?e%=1e3:e="weeks"===i?l(e/n[i]):this.$d[i],e||0},u.add=function(t,e,i){var s;return s=e?t*n[o(e)]:r(t)?t.$ms:a(t,this).$ms,a(this.$ms+s*(i?-1:1),this)},u.subtract=function(t,e){return this.add(t,e,!0)},u.locale=function(t){var e=this.clone();return e.$l=t,e},u.clone=function(){return a(this.$ms,this)},u.humanize=function(e){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!e)},u.valueOf=function(){return this.asMilliseconds()},u.milliseconds=function(){return this.get("milliseconds")},u.asMilliseconds=function(){return this.as("milliseconds")},u.seconds=function(){return this.get("seconds")},u.asSeconds=function(){return this.as("seconds")},u.minutes=function(){return this.get("minutes")},u.asMinutes=function(){return this.as("minutes")},u.hours=function(){return this.get("hours")},u.asHours=function(){return this.as("hours")},u.days=function(){return this.get("days")},u.asDays=function(){return this.as("days")},u.weeks=function(){return this.get("weeks")},u.asWeeks=function(){return this.as("weeks")},u.months=function(){return this.get("months")},u.asMonths=function(){return this.as("months")},u.years=function(){return this.get("years")},u.asYears=function(){return this.as("years")},c}(),h=function(t,e,i){return t.add(e.years()*i,"y").add(e.months()*i,"M").add(e.days()*i,"d").add(e.hours()*i,"h").add(e.minutes()*i,"m").add(e.seconds()*i,"s").add(e.milliseconds()*i,"ms")};return function(i,s,n){t=n,e=n().$utils(),n.duration=function(t,e){return a(t,{$l:n.locale()},e)},n.isDuration=r;var o=s.prototype.add,c=s.prototype.subtract;s.prototype.add=function(t,e){return r(t)?h(this,t,1):o.bind(this)(t,e)},s.prototype.subtract=function(t,e){return r(t)?h(this,t,-1):c.bind(this)(t,e)}}}()},8313(t){t.exports=function(t,e,i){var s=function(t){return t.add(4-t.isoWeekday(),"day")},n=e.prototype;n.isoWeekYear=function(){return s(this).year()},n.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),"day");var e,n,r,a=s(this),o=(e=this.isoWeekYear(),r=4-(n=(this.$u?i.utc:i)().year(e).startOf("year")).isoWeekday(),n.isoWeekday()>4&&(r+=7),n.add(r,"day"));return a.diff(o,"week")+1},n.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var r=n.startOf;n.startOf=function(t,e){var i=this.$utils(),s=!!i.u(e)||e;return"isoweek"===i.p(t)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):r.bind(this)(t,e)}}},6389(t,e,i){"use strict";i.d(e,{diagram:()=>tP});var s,n,r,a=i(6348),o=i(1177),c=i(1293),l=i(6827),d=i(6750),u=i(4353),h=i(8313),f=i(445),m=i(7375),k=i(3522),y=i(7829),g=function(){var t=(0,l.K)(function(t,e,i,s){for(i=i||{},s=t.length;s--;i[t[s]]=e);return i},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],i=[1,26],s=[1,27],n=[1,28],r=[1,29],a=[1,30],o=[1,31],c=[1,32],d=[1,33],u=[1,34],h=[1,9],f=[1,10],m=[1,11],k=[1,12],y=[1,13],g=[1,14],p=[1,15],v=[1,16],T=[1,19],x=[1,20],b=[1,21],$=[1,22],w=[1,23],_=[1,25],D=[1,35],S={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:(0,l.K)(function(t,e,i,s,n,r,a){var o=r.length-1;switch(n){case 1:return r[o-1];case 2:case 6:case 7:this.$=[];break;case 3:r[o-1].push(r[o]),this.$=r[o-1];break;case 4:case 5:this.$=r[o];break;case 8:s.setWeekday("monday");break;case 9:s.setWeekday("tuesday");break;case 10:s.setWeekday("wednesday");break;case 11:s.setWeekday("thursday");break;case 12:s.setWeekday("friday");break;case 13:s.setWeekday("saturday");break;case 14:s.setWeekday("sunday");break;case 15:s.setWeekend("friday");break;case 16:s.setWeekend("saturday");break;case 17:s.setDateFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 18:s.enableInclusiveEndDates(),this.$=r[o].substr(18);break;case 19:s.TopAxis(),this.$=r[o].substr(8);break;case 20:s.setAxisFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 21:s.setTickInterval(r[o].substr(13)),this.$=r[o].substr(13);break;case 22:s.setExcludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 23:s.setIncludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 24:s.setTodayMarker(r[o].substr(12)),this.$=r[o].substr(12);break;case 27:s.setDiagramTitle(r[o].substr(6)),this.$=r[o].substr(6);break;case 28:this.$=r[o].trim(),s.setAccTitle(this.$);break;case 29:case 30:this.$=r[o].trim(),s.setAccDescription(this.$);break;case 31:s.addSection(r[o].substr(8)),this.$=r[o].substr(8);break;case 33:s.addTask(r[o-1],r[o]),this.$="task";break;case 34:this.$=r[o-1],s.setClickEvent(r[o-1],r[o],null);break;case 35:this.$=r[o-2],s.setClickEvent(r[o-2],r[o-1],r[o]);break;case 36:this.$=r[o-2],s.setClickEvent(r[o-2],r[o-1],null),s.setLink(r[o-2],r[o]);break;case 37:this.$=r[o-3],s.setClickEvent(r[o-3],r[o-2],r[o-1]),s.setLink(r[o-3],r[o]);break;case 38:this.$=r[o-2],s.setClickEvent(r[o-2],r[o],null),s.setLink(r[o-2],r[o-1]);break;case 39:this.$=r[o-3],s.setClickEvent(r[o-3],r[o-1],r[o]),s.setLink(r[o-3],r[o-2]);break;case 40:this.$=r[o-1],s.setLink(r[o-1],r[o]);break;case 41:case 47:this.$=r[o-1]+" "+r[o];break;case 42:case 43:case 45:this.$=r[o-2]+" "+r[o-1]+" "+r[o];break;case 44:case 46:this.$=r[o-3]+" "+r[o-2]+" "+r[o-1]+" "+r[o]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:i,13:s,14:n,15:r,16:a,17:o,18:c,19:18,20:d,21:u,22:h,23:f,24:m,25:k,26:y,27:g,28:p,29:v,30:T,31:x,33:b,35:$,36:w,37:24,38:_,40:D},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:i,13:s,14:n,15:r,16:a,17:o,18:c,19:18,20:d,21:u,22:h,23:f,24:m,25:k,26:y,27:g,28:p,29:v,30:T,31:x,33:b,35:$,36:w,37:24,38:_,40:D},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:(0,l.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,l.K)(function(t){var e=this,i=[0],s=[],n=[null],r=[],a=this.table,o="",c=0,d=0,u=0,h=r.slice.call(arguments,1),f=Object.create(this.lexer),m={};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(m[k]=this.yy[k]);f.setInput(t,m),m.lexer=f,m.parser=this,void 0===f.yylloc&&(f.yylloc={});var y=f.yylloc;r.push(y);var g=f.options&&f.options.ranges;function p(){var t;return"number"!=typeof(t=s.pop()||f.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof m.parseError?this.parseError=m.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){i.length=i.length-2*t,n.length=n.length-t,r.length=r.length-t},"popStack"),(0,l.K)(p,"lex");for(var v,T,x,b,$,w,_,D,S,C={};;){if(x=i[i.length-1],this.defaultActions[x]?b=this.defaultActions[x]:(null==v&&(v=p()),b=a[x]&&a[x][v]),void 0===b||!b.length||!b[0]){var M="";for(w in S=[],a[x])this.terminals_[w]&&w>2&&S.push("'"+this.terminals_[w]+"'");M=f.showPosition?"Parse error on line "+(c+1)+":\n"+f.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(M,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:S})}if(b[0]instanceof Array&&b.length>1)throw Error("Parse Error: multiple actions possible at state: "+x+", token: "+v);switch(b[0]){case 1:i.push(v),n.push(f.yytext),r.push(f.yylloc),i.push(b[1]),v=null,T?(v=T,T=null):(d=f.yyleng,o=f.yytext,c=f.yylineno,y=f.yylloc,u>0&&u--);break;case 2:if(_=this.productions_[b[1]][1],C.$=n[n.length-_],C._$={first_line:r[r.length-(_||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(_||1)].first_column,last_column:r[r.length-1].last_column},g&&(C._$.range=[r[r.length-(_||1)].range[0],r[r.length-1].range[1]]),void 0!==($=this.performAction.apply(C,[o,d,c,m,b[1],n,r].concat(h))))return $;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),r=r.slice(0,-1*_)),i.push(this.productions_[b[1]][0]),n.push(C.$),r.push(C._$),D=a[i[i.length-2]][i[i.length-1]],i.push(D);break;case 3:return!0}}return!0},"parse")};function C(){this.yy={}}return S.lexer={EOF:1,parseError:(0,l.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,l.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K)(function(t,e){var i,s,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,s,n=this._currentRules(),r=0;r<n.length;r++)if((i=this._input.match(this.rules[n[r]]))&&(!e||i[0].length>e[0].length)){if(e=i,s=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,e,i,s){switch(i){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 15:case 18:case 21:case 24:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:break;case 11:return 10;case 14:this.begin("href");break;case 16:return 43;case 17:this.begin("callbackname");break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 22:return 42;case 23:this.begin("click");break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}},(0,l.K)(C,"Parser"),C.prototype=S,S.Parser=C,new C}();g.parser=g,u.extend(h),u.extend(f),u.extend(m);var p={friday:5,saturday:6},v="",T="",x=void 0,b="",$=[],w=[],_=new Map,D=[],S=[],C="",M="",K=["active","done","crit","milestone","vert"],Y=[],E="",L=!1,O=!1,A="sunday",I="saturday",F=0,W=(0,l.K)(function(){D=[],S=[],C="",Y=[],tp=0,s=void 0,n=void 0,tb=[],v="",T="",M="",x=void 0,b="",$=[],w=[],L=!1,O=!1,F=0,_=new Map,E="",(0,o.IU)(),A="sunday",I="saturday"},"clear"),P=(0,l.K)(function(t){E=t},"setDiagramId"),H=(0,l.K)(function(t){T=t},"setAxisFormat"),N=(0,l.K)(function(){return T},"getAxisFormat"),z=(0,l.K)(function(t){x=t},"setTickInterval"),B=(0,l.K)(function(){return x},"getTickInterval"),R=(0,l.K)(function(t){b=t},"setTodayMarker"),G=(0,l.K)(function(){return b},"getTodayMarker"),j=(0,l.K)(function(t){v=t},"setDateFormat"),U=(0,l.K)(function(){L=!0},"enableInclusiveEndDates"),V=(0,l.K)(function(){return L},"endDatesAreInclusive"),Z=(0,l.K)(function(){O=!0},"enableTopAxis"),q=(0,l.K)(function(){return O},"topAxisEnabled"),X=(0,l.K)(function(t){M=t},"setDisplayMode"),Q=(0,l.K)(function(){return M},"getDisplayMode"),J=(0,l.K)(function(){return v},"getDateFormat"),tt=(0,l.K)((t,e)=>[...new Set([...t,...e.toLowerCase().split(/[\s,]+/).filter(t=>""!==t)])],"mergeTokens"),te=(0,l.K)(function(t){$=tt($,t)},"setIncludes"),ti=(0,l.K)(function(){return $},"getIncludes"),ts=(0,l.K)(function(t){w=tt(w,t)},"setExcludes"),tn=(0,l.K)(function(){return w},"getExcludes"),tr=(0,l.K)(function(){return _},"getLinks"),ta=(0,l.K)(function(t){C=t,D.push(t)},"addSection"),to=(0,l.K)(function(){return D},"getSections"),tc=(0,l.K)(function(){let t=tS(),e=0;for(;!t&&e<10;)t=tS(),e++;return S=tb},"getTasks"),tl=(0,l.K)(function(t,e,i,s){let n=t.format(e.trim()),r=t.format("YYYY-MM-DD");return!(s.includes(n)||s.includes(r))&&(!!(i.includes("weekends")&&(t.isoWeekday()===p[I]||t.isoWeekday()===p[I]+1)||i.includes(t.format("dddd").toLowerCase()))||i.includes(n)||i.includes(r))},"isInvalidDate"),td=(0,l.K)(function(t){A=t},"setWeekday"),tu=(0,l.K)(function(){return A},"getWeekday"),th=(0,l.K)(function(t){I=t},"setWeekend"),tf=(0,l.K)(function(t,e,i,s){let n;if(!i.length||t.manualEndTime)return;let[r,a]=tm(n=(n=t.startTime instanceof Date?u(t.startTime):u(t.startTime,e,!0)).add(1,"d"),t.endTime instanceof Date?u(t.endTime):u(t.endTime,e,!0),e,i,s);t.endTime=r.toDate(),t.renderEndTime=a},"checkTaskDates"),tm=(0,l.K)(function(t,e,i,s,n){let r=!1,a=null,o=e.add(1e4,"d");for(;t<=e;){if(r||(a=e.toDate()),(r=tl(t,i,s,n))&&(e=e.add(1,"d"))>o)throw Error("Failed to find a valid date that was not excluded by `excludes` after 10,000 iterations.");t=t.add(1,"d")}return[e,a]},"fixTaskDates"),tk=(0,l.K)(function(t,e,i){if(i=i.trim(),(0,l.K)(t=>{let e=t.trim();return"x"===e||"X"===e},"isTimestampFormat")(e)&&/^\d+$/.test(i))return new Date(Number(i));let s=/^after\s+(?<ids>[\d\w- ]+)/.exec(i);if(null!==s){let t=null;for(let e of s.groups.ids.split(" ")){let i=t_(e);void 0!==i&&(!t||i.endTime>t.endTime)&&(t=i)}if(t)return t.endTime;let e=new Date;return e.setHours(0,0,0,0),e}let n=u(i,e.trim(),!0);if(n.isValid())return n.toDate();{c.R.debug("Invalid date:"+i),c.R.debug("With date format:"+e.trim());let t=new Date(i);if(void 0===t||isNaN(t.getTime())||-1e4>t.getFullYear()||t.getFullYear()>1e4)throw Error("Invalid date:"+i);return t}},"getStartDate"),ty=(0,l.K)(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),tg=(0,l.K)(function(t,e,i,s=!1){i=i.trim();let n=/^until\s+(?<ids>[\d\w- ]+)/.exec(i);if(null!==n){let t=null;for(let e of n.groups.ids.split(" ")){let i=t_(e);void 0!==i&&(!t||i.startTime<t.startTime)&&(t=i)}if(t)return t.startTime;let e=new Date;return e.setHours(0,0,0,0),e}let r=u(i,e.trim(),!0);if(r.isValid())return s&&(r=r.add(1,"d")),r.toDate();let a=u(t),[o,c]=ty(i);if(!Number.isNaN(o)){let t=a.add(o,c);t.isValid()&&(a=t)}return a.toDate()},"getEndDate"),tp=0,tv=(0,l.K)(function(t){return void 0===t?"task"+(tp+=1):t},"parseId"),tT=(0,l.K)(function(t,e){let i=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),s={};tA(i,s,K);for(let t=0;t<i.length;t++)i[t]=i[t].trim();let n="";switch(i.length){case 1:s.id=tv(),s.startTime=t.endTime,n=i[0];break;case 2:s.id=tv(),s.startTime=tk(void 0,v,i[0]),n=i[1];break;case 3:s.id=tv(i[0]),s.startTime=tk(void 0,v,i[1]),n=i[2]}return n&&(s.endTime=tg(s.startTime,v,n,L),s.manualEndTime=u(n,"YYYY-MM-DD",!0).isValid(),tf(s,v,w,$)),s},"compileData"),tx=(0,l.K)(function(t,e){let i=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),s={};tA(i,s,K);for(let t=0;t<i.length;t++)i[t]=i[t].trim();switch(i.length){case 1:s.id=tv(),s.startTime={type:"prevTaskEnd",id:t},s.endTime={data:i[0]};break;case 2:s.id=tv(),s.startTime={type:"getStartDate",startData:i[0]},s.endTime={data:i[1]};break;case 3:s.id=tv(i[0]),s.startTime={type:"getStartDate",startData:i[1]},s.endTime={data:i[2]}}return s},"parseData"),tb=[],t$={},tw=(0,l.K)(function(t,e){let i={section:C,type:C,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},s=tx(n,e);i.raw.startTime=s.startTime,i.raw.endTime=s.endTime,i.id=s.id,i.prevTaskId=n,i.active=s.active,i.done=s.done,i.crit=s.crit,i.milestone=s.milestone,i.vert=s.vert,i.vert?i.order=-1:(i.order=F,F++);let r=tb.push(i);n=i.id,t$[i.id]=r-1},"addTask"),t_=(0,l.K)(function(t){return tb[t$[t]]},"findTaskById"),tD=(0,l.K)(function(t,e){let i={section:C,type:C,description:t,task:t,classes:[]},n=tT(s,e);i.startTime=n.startTime,i.endTime=n.endTime,i.id=n.id,i.active=n.active,i.done=n.done,i.crit=n.crit,i.milestone=n.milestone,i.vert=n.vert,s=i,S.push(i)},"addTaskOrg"),tS=(0,l.K)(function(){let t=(0,l.K)(function(t){let e=tb[t],i="";switch(tb[t].raw.startTime.type){case"prevTaskEnd":{let t=t_(e.prevTaskId);e.startTime=t.endTime;break}case"getStartDate":(i=tk(void 0,v,tb[t].raw.startTime.startData))&&(tb[t].startTime=i)}return tb[t].startTime&&(tb[t].endTime=tg(tb[t].startTime,v,tb[t].raw.endTime.data,L),tb[t].endTime&&(tb[t].processed=!0,tb[t].manualEndTime=u(tb[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),tf(tb[t],v,w,$))),tb[t].processed},"compileTask"),e=!0;for(let[i,s]of tb.entries())t(i),e=e&&s.processed;return e},"compileTasks"),tC=(0,l.K)(function(t,e){let i=e;"loose"!==(0,o.D7)().securityLevel&&(i=(0,d.sanitizeUrl)(e)),t.split(",").forEach(function(t){void 0!==t_(t)&&(tY(t,()=>{window.open(i,"_self")}),_.set(t,i))}),tM(t,"clickable")},"setLink"),tM=(0,l.K)(function(t,e){t.split(",").forEach(function(t){let i=t_(t);void 0!==i&&i.classes.push(e)})},"setClass"),tK=(0,l.K)(function(t,e,i){if("loose"!==(0,o.D7)().securityLevel||void 0===e)return;let s=[];if("string"==typeof i){s=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<s.length;t++){let e=s[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),s[t]=e}}0===s.length&&s.push(t),void 0!==t_(t)&&tY(t,()=>{a._K.runFunc(e,...s)})},"setClickFun"),tY=(0,l.K)(function(t,e){Y.push(function(){let i=E?`${E}-${t}`:t,s=document.querySelector(`[id="${i}"]`);null!==s&&s.addEventListener("click",function(){e()})},function(){let i=E?`${E}-${t}`:t,s=document.querySelector(`[id="${i}-text"]`);null!==s&&s.addEventListener("click",function(){e()})})},"pushFun"),tE=(0,l.K)(function(t,e,i){t.split(",").forEach(function(t){tK(t,e,i)}),tM(t,"clickable")},"setClickEvent"),tL=(0,l.K)(function(t){Y.forEach(function(e){e(t)})},"bindFunctions"),tO={getConfig:(0,l.K)(()=>(0,o.D7)().gantt,"getConfig"),clear:W,setDateFormat:j,getDateFormat:J,enableInclusiveEndDates:U,endDatesAreInclusive:V,enableTopAxis:Z,topAxisEnabled:q,setAxisFormat:H,getAxisFormat:N,setTickInterval:z,getTickInterval:B,setTodayMarker:R,getTodayMarker:G,setAccTitle:o.SV,getAccTitle:o.iN,setDiagramTitle:o.ke,getDiagramTitle:o.ab,setDiagramId:P,setDisplayMode:X,getDisplayMode:Q,setAccDescription:o.EI,getAccDescription:o.m7,addSection:ta,getSections:to,getTasks:tc,addTask:tw,findTaskById:t_,addTaskOrg:tD,setIncludes:te,getIncludes:ti,setExcludes:ts,getExcludes:tn,setClickEvent:tE,setLink:tC,getLinks:tr,bindFunctions:tL,parseDuration:ty,isInvalidDate:tl,setWeekday:td,getWeekday:tu,setWeekend:th};function tA(t,e,i){let s=!0;for(;s;)s=!1,i.forEach(function(i){let n=RegExp("^\\s*"+i+"\\s*$");t[0].match(n)&&(e[i]=!0,t.shift(1),s=!0)})}(0,l.K)(tA,"getTaskTags"),u.extend(k);var tI=(0,l.K)(function(){c.R.debug("Something is calling, setConf, remove the call")},"setConf"),tF={monday:y.ABi,tuesday:y.PGu,wednesday:y.GuW,thursday:y.Mol,friday:y.TUC,saturday:y.rGn,sunday:y.YPH},tW=(0,l.K)((t,e)=>{let i=[...t].map(()=>-1/0),s=[...t].sort((t,e)=>t.startTime-e.startTime||t.order-e.order),n=0;for(let t of s)for(let s=0;s<i.length;s++)if(t.startTime>=i[s]){i[s]=t.endTime,t.order=s+e,s>n&&(n=s);break}return n},"getMaxIntersections"),tP={parser:g,db:tO,renderer:{setConf:tI,draw:(0,l.K)(function(t,e,i,s){let n,a=(0,o.D7)().gantt;s.db.setDiagramId(e);let d=(0,o.D7)().securityLevel;"sandbox"===d&&(n=(0,y.Ltv)("#i"+e));let h="sandbox"===d?(0,y.Ltv)(n.nodes()[0].contentDocument.body):(0,y.Ltv)("body"),f="sandbox"===d?n.nodes()[0].contentDocument:document,m=f.getElementById(e);void 0===(r=m.parentElement.offsetWidth)&&(r=1200),void 0!==a.useWidth&&(r=a.useWidth);let k=s.db.getTasks(),g=k.filter(t=>!t.vert),p=[];for(let t of g)p.push(t.type);p=Y(p);let v={},T=2*a.topPadding;if("compact"===s.db.getDisplayMode()||"compact"===a.displayMode){let t={};for(let e of g)void 0===t[e.section]?t[e.section]=[e]:t[e.section].push(e);let e=0;for(let i of Object.keys(t)){let s=tW(t[i],e)+1;e+=s,T+=s*(a.barHeight+a.barGap),v[i]=s}}else for(let t of(T+=g.length*(a.barHeight+a.barGap),p))v[t]=g.filter(e=>e.type===t).length;m.setAttribute("viewBox","0 0 "+r+" "+T);let x=h.select(`[id="${e}"]`),b=(0,y.w7C)().domain([(0,y.jkA)(k,function(t){return t.startTime}),(0,y.T9B)(k,function(t){return t.endTime})]).rangeRound([0,r-a.leftPadding-a.rightPadding]);function $(t,e){let i=t.startTime,s=e.startTime,n=0;return i>s?n=1:i<s&&(n=-1),n}function w(t,e,i){let n=a.barHeight,r=n+a.barGap,o=a.topPadding,c=a.leftPadding,l=(0,y.m4Y)().domain([0,p.length]).range(["#00B9FA","#F95002"]).interpolate(y.bEH);D(r,o,c,e,i,t,s.db.getExcludes(),s.db.getIncludes()),C(c,o,e,i),_(t,r,o,c,n,l,e,i),M(r,o,c,n,l),K(c,o,e,i)}function _(t,i,n,r,c,l,d){t.sort((t,e)=>t.vert===e.vert?0:t.vert?1:-1);let u=t.filter(t=>!t.vert),h=[...new Set(u.map(t=>t.order))].map(t=>u.find(e=>e.order===t));x.append("g").selectAll("rect").data(h).enter().append("rect").attr("x",0).attr("y",function(t,e){return t.order*i+n-2}).attr("width",function(){return d-a.rightPadding/2}).attr("height",i).attr("class",function(t){for(let[e,i]of p.entries())if(t.type===i)return"section section"+e%a.numberSectionStyles;return"section section0"}).enter();let f=x.append("g").selectAll("rect").data(t).enter(),m=s.db.getLinks();if(f.append("rect").attr("id",function(t){return e+"-"+t.id}).attr("rx",3).attr("ry",3).attr("x",function(t){return t.milestone?b(t.startTime)+r+.5*(b(t.endTime)-b(t.startTime))-.5*c:b(t.startTime)+r}).attr("y",function(t,e){return(e=t.order,t.vert)?a.gridLineStartPadding:e*i+n}).attr("width",function(t){return t.milestone?c:t.vert?.08*c:b(t.renderEndTime||t.endTime)-b(t.startTime)}).attr("height",function(t){return t.vert?u.length*(a.barHeight+a.barGap)+2*a.barHeight:c}).attr("transform-origin",function(t,e){return e=t.order,(b(t.startTime)+r+.5*(b(t.endTime)-b(t.startTime))).toString()+"px "+(e*i+n+.5*c).toString()+"px"}).attr("class",function(t){let e="";t.classes.length>0&&(e=t.classes.join(" "));let i=0;for(let[e,s]of p.entries())t.type===s&&(i=e%a.numberSectionStyles);let s="";return t.active?t.crit?s+=" activeCrit":s=" active":t.done?s=t.crit?" doneCrit":" done":t.crit&&(s+=" crit"),0===s.length&&(s=" task"),t.milestone&&(s=" milestone "+s),t.vert&&(s=" vert "+s),s+=i,"task"+(s+=" "+e)}),f.append("text").attr("id",function(t){return e+"-"+t.id+"-text"}).text(function(t){return t.task}).attr("font-size",a.fontSize).attr("x",function(t){let e=b(t.startTime),i=b(t.renderEndTime||t.endTime);if(t.milestone&&(e+=.5*(b(t.endTime)-b(t.startTime))-.5*c,i=e+c),t.vert)return b(t.startTime)+r;let s=this.getBBox().width;return s>i-e?i+s+1.5*a.leftPadding>d?e+r-5:i+r+5:(i-e)/2+e+r}).attr("y",function(t,e){return t.vert?a.gridLineStartPadding+u.length*(a.barHeight+a.barGap)+60:t.order*i+a.barHeight/2+(a.fontSize/2-2)+n}).attr("text-height",c).attr("class",function(t){let e=b(t.startTime),i=b(t.endTime);t.milestone&&(i=e+c);let s=this.getBBox().width,n="";t.classes.length>0&&(n=t.classes.join(" "));let r=0;for(let[e,i]of p.entries())t.type===i&&(r=e%a.numberSectionStyles);let o="";return(t.active&&(o=t.crit?"activeCritText"+r:"activeText"+r),t.done?o=t.crit?o+" doneCritText"+r:o+" doneText"+r:t.crit&&(o=o+" critText"+r),t.milestone&&(o+=" milestoneText"),t.vert&&(o+=" vertText"),s>i-e)?i+s+1.5*a.leftPadding>d?n+" taskTextOutsideLeft taskTextOutside"+r+" "+o:n+" taskTextOutsideRight taskTextOutside"+r+" "+o+" width-"+s:n+" taskText taskText"+r+" "+o+" width-"+s}),"sandbox"===(0,o.D7)().securityLevel){let t=(0,y.Ltv)("#i"+e).nodes()[0].contentDocument;f.filter(function(t){return m.has(t.id)}).each(function(i){var s=t.querySelector("#"+CSS.escape(e+"-"+i.id)),n=t.querySelector("#"+CSS.escape(e+"-"+i.id+"-text"));let r=s.parentNode;var a=t.createElement("a");a.setAttribute("xlink:href",m.get(i.id)),a.setAttribute("target","_top"),r.appendChild(a),a.appendChild(s),a.appendChild(n)})}}function D(t,i,n,r,o,l,d,h){let f,m;if(0===d.length&&0===h.length)return;for(let{startTime:t,endTime:e}of l)(void 0===f||t<f)&&(f=t),(void 0===m||e>m)&&(m=e);if(!f||!m)return;if(u(m).diff(u(f),"year")>5)return void c.R.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");let k=s.db.getDateFormat(),y=[],g=null,p=u(f);for(;p.valueOf()<=m;)s.db.isInvalidDate(p,k,d,h)?g?g.end=p:g={start:p,end:p}:g&&(y.push(g),g=null),p=p.add(1,"d");x.append("g").selectAll("rect").data(y).enter().append("rect").attr("id",t=>e+"-exclude-"+t.start.format("YYYY-MM-DD")).attr("x",t=>b(t.start.startOf("day"))+n).attr("y",a.gridLineStartPadding).attr("width",t=>b(t.end.endOf("day"))-b(t.start.startOf("day"))).attr("height",o-i-a.gridLineStartPadding).attr("transform-origin",function(e,i){return(b(e.start)+n+.5*(b(e.end)-b(e.start))).toString()+"px "+(i*t+.5*o).toString()+"px"}).attr("class","exclude-range")}function S(t,e,i,s){if(i<=0||t>e)return 1/0;let n=u.duration({[s??"day"]:i}).asMilliseconds();return n<=0?1/0:Math.ceil((e-t)/n)}function C(t,e,i,n){let r,o=s.db.getDateFormat(),l=s.db.getAxisFormat();r=l||("D"===o?"%d":a.axisFormat??"%Y-%m-%d");let d=(0,y.l78)(b).tickSize(-n+e+a.gridLineStartPadding).tickFormat((0,y.DCK)(r)),u=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(s.db.getTickInterval()||a.tickInterval);if(null!==u){let t=parseInt(u[1],10);if(isNaN(t)||t<=0)c.R.warn(`Invalid tick interval value: "${u[1]}". Skipping custom tick interval.`);else{let e=u[2],i=s.db.getWeekday()||a.weekday,n=b.domain(),r=S(n[0],n[1],t,e);if(r>1e4)c.R.warn(`The tick interval "${t}${e}" would generate ${r} ticks, which exceeds the maximum allowed (10000). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(e){case"millisecond":d.ticks(y.t6C.every(t));break;case"second":d.ticks(y.ucG.every(t));break;case"minute":d.ticks(y.wXd.every(t));break;case"hour":d.ticks(y.Agd.every(t));break;case"day":d.ticks(y.UAC.every(t));break;case"week":d.ticks(tF[i].every(t));break;case"month":d.ticks(y.Ui6.every(t))}}}if(x.append("g").attr("class","grid").attr("transform","translate("+t+", "+(n-50)+")").call(d).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),s.db.topAxisEnabled()||a.topAxis){let i=(0,y.tlR)(b).tickSize(-n+e+a.gridLineStartPadding).tickFormat((0,y.DCK)(r));if(null!==u){let t=parseInt(u[1],10);if(isNaN(t)||t<=0)c.R.warn(`Invalid tick interval value: "${u[1]}". Skipping custom tick interval.`);else{let e=u[2],n=s.db.getWeekday()||a.weekday,r=b.domain();if(1e4>=S(r[0],r[1],t,e))switch(e){case"millisecond":i.ticks(y.t6C.every(t));break;case"second":i.ticks(y.ucG.every(t));break;case"minute":i.ticks(y.wXd.every(t));break;case"hour":i.ticks(y.Agd.every(t));break;case"day":i.ticks(y.UAC.every(t));break;case"week":i.ticks(tF[n].every(t));break;case"month":i.ticks(y.Ui6.every(t))}}}x.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(i).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function M(t,e){let i=0,s=Object.keys(v).map(t=>[t,v[t]]);x.append("g").selectAll("text").data(s).enter().append(function(t){let e=t[0].split(o.Y2.lineBreakRegex),i=-(e.length-1)/2,s=f.createElementNS("http://www.w3.org/2000/svg","text");for(let[t,n]of(s.setAttribute("dy",i+"em"),e.entries())){let e=f.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttribute("alignment-baseline","central"),e.setAttribute("x","10"),t>0&&e.setAttribute("dy","1em"),e.textContent=n,s.appendChild(e)}return s}).attr("x",10).attr("y",function(n,r){if(!(r>0))return n[1]*t/2+e;for(let a=0;a<r;a++)return i+=s[r-1][1],n[1]*t/2+i*t+e}).attr("font-size",a.sectionFontSize).attr("class",function(t){for(let[e,i]of p.entries())if(t[0]===i)return"sectionTitle sectionTitle"+e%a.numberSectionStyles;return"sectionTitle"})}function K(t,e,i,n){let r=s.db.getTodayMarker();if("off"===r)return;let o=x.append("g").attr("class","today"),c=new Date,l=o.append("line");l.attr("x1",b(c)+t).attr("x2",b(c)+t).attr("y1",a.titleTopMargin).attr("y2",n-a.titleTopMargin).attr("class","today"),""!==r&&l.attr("style",r.replace(/,/g,";"))}function Y(t){let e={},i=[];for(let s=0,n=t.length;s<n;++s)Object.prototype.hasOwnProperty.call(e,t[s])||(e[t[s]]=!0,i.push(t[s]));return i}(0,l.K)($,"taskCompare"),k.sort($),w(k,r,T),(0,o.a$)(x,T,r,a.useMaxWidth),x.append("text").text(s.db.getDiagramTitle()).attr("x",r/2).attr("y",a.titleTopMargin).attr("class","titleText"),(0,l.K)(w,"makeGantt"),(0,l.K)(_,"drawRects"),(0,l.K)(D,"drawExcludeDays"),(0,l.K)(S,"getEstimatedTickCount"),(0,l.K)(C,"makeGrid"),(0,l.K)(M,"vertLabels"),(0,l.K)(K,"drawToday"),(0,l.K)(Y,"checkUnique")},"draw")},styles:(0,l.K)(t=>` + .mermaid-main-font { + font-family: ${t.fontFamily}; + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: ${t.fontFamily}; + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: ${t.fontFamily}; + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: ${t.fontFamily}; + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + /* Done task text displayed outside the bar sits against the diagram background, + not against the done-task bar, so it must use the outside/contrast color. */ + .doneText0.taskTextOutsideLeft, + .doneText0.taskTextOutsideRight, + .doneText1.taskTextOutsideLeft, + .doneText1.taskTextOutsideRight, + .doneText2.taskTextOutsideLeft, + .doneText2.taskTextOutsideRight, + .doneText3.taskTextOutsideLeft, + .doneText3.taskTextOutsideRight { + fill: ${t.taskTextOutsideColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.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: ${t.taskTextDarkColor} !important; + } + + /* Done-crit task text outside the bar \u2014 same reasoning as doneText above. */ + .doneCritText0.taskTextOutsideLeft, + .doneCritText0.taskTextOutsideRight, + .doneCritText1.taskTextOutsideLeft, + .doneCritText1.taskTextOutsideRight, + .doneCritText2.taskTextOutsideLeft, + .doneCritText2.taskTextOutsideRight, + .doneCritText3.taskTextOutsideLeft, + .doneCritText3.taskTextOutsideRight { + fill: ${t.taskTextOutsideColor} !important; + } + + .vert { + stroke: ${t.vertLineColor}; + } + + .vertText { + font-size: 15px; + text-anchor: middle; + fill: ${t.vertLineColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor||t.textColor}; + font-family: ${t.fontFamily}; + } +`,"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/6520.c5a12252.js b/assets/js/6520.c5a12252.js new file mode 100644 index 0000000..dae0cbd --- /dev/null +++ b/assets/js/6520.c5a12252.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6520"],{9035(e,s,r){r.d(s,{createRailroadEbnfServices:()=>a.W});var a=r(4916);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/6726.ac90325c.js b/assets/js/6726.ac90325c.js new file mode 100644 index 0000000..6c9f2be --- /dev/null +++ b/assets/js/6726.ac90325c.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6726"],{7645(e,t,a){a.d(t,{J_:()=>v,x:()=>i,Gx:()=>N,Ki:()=>k,kJ:()=>f,OU:()=>C,e7:()=>h,in:()=>c});var s=a(4848),l=a(6540),r=a(2260),n=a(8491);function i(){let e=(0,n.A)(),t=e?.data?.blogMetadata;if(!t)throw Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}let o=l.createContext(null);function c({children:e,content:t,isBlogPostPage:a=!1}){let r=function({content:e,isBlogPostPage:t}){return(0,l.useMemo)(()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,toc:e.toc,isBlogPostPage:t}),[e,t])}({content:t,isBlogPostPage:a});return(0,s.jsx)(o.Provider,{value:r,children:e})}function h(){let e=(0,l.useContext)(o);if(null===e)throw new r.dV("BlogPostProvider");return e}var m=a(6497),u=a(898);let d=e=>new Date(e).toISOString();function g(e){let t=e.map(p);return{author:1===t.length?t[0]:t}}function x(e,t,a){return e?{image:function({imageUrl:e,caption:t}){return{"@type":"ImageObject","@id":e,url:e,contentUrl:e,caption:t}}({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function f(e){let{siteConfig:t}=(0,u.A)(),{withBaseUrl:a}=(0,m.hH)(),{metadata:{blogDescription:s,blogTitle:l,permalink:r}}=e,n=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":n,mainEntityOfPage:n,headline:l,description:s,blogPost:e.items.map(e=>(function(e,t,a){let{assets:s,frontMatter:l,metadata:r}=e,{date:n,title:i,description:o,lastUpdatedAt:c}=r,h=s.image??l.image,m=l.keywords??[],u=`${t.url}${r.permalink}`,f=c?d(c):void 0;return{"@type":"BlogPosting","@id":u,mainEntityOfPage:u,url:u,headline:i,name:i,description:o,datePublished:n,...f?{dateModified:f}:{},...g(r.authors),...x(h,a,i),...m?{keywords:m}:{}}})(e.content,t,a))}}function v(){let e=i(),{assets:t,metadata:a}=h(),{siteConfig:s}=(0,u.A)(),{withBaseUrl:l}=(0,m.hH)(),{date:r,title:n,description:o,frontMatter:c,lastUpdatedAt:f}=a,v=t.image??c.image,p=c.keywords??[],w=f?d(f):void 0,j=`${s.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":j,mainEntityOfPage:j,url:j,headline:n,name:n,description:o,datePublished:r,...w?{dateModified:w}:{},...g(a.authors),...x(v,l,n),...p?{keywords:p}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function p(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}var w=a(6347),j=a(5310),b=a(618),M=a(9209);function N(e){let{pathname:t}=(0,w.zy)();return(0,l.useMemo)(()=>e.filter(e=>!e.unlisted||!!(0,M.ys)(e.permalink,t)),[e,t])}function k(e){let t=Object.entries((0,b.$z)(e,e=>`${new Date(e.date).getFullYear()}`));return t.reverse(),t}function C({items:e,ulClassName:t,liClassName:a,linkClassName:l,linkActiveClassName:r}){return(0,s.jsx)("ul",{className:t,children:e.map(e=>(0,s.jsx)("li",{className:a,children:(0,s.jsx)(j.A,{isNavLink:!0,to:e.permalink,className:l,activeClassName:r,children:e.title})},e.permalink))})}},6947(e,t,a){a.d(t,{A:()=>v});var s=a(4848),l=a(6540),r=a(4164),n=a(5310);let i=function(e){return(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,s.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,s.jsx)("path",{d:"M1.2 12a10.8 10.8 0 1 0 21.6 0a10.8 10.8 0 0 0 -21.6 0"}),(0,s.jsx)("path",{d:"M1.92 8.4h20.16"}),(0,s.jsx)("path",{d:"M1.92 15.6h20.16"}),(0,s.jsx)("path",{d:"M11.4 1.2a20.4 20.4 0 0 0 0 21.6"}),(0,s.jsx)("path",{d:"M12.6 1.2a20.4 20.4 0 0 1 0 21.6"})]})},o={twitter:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 209",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",...e,children:(0,s.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 250",preserveAspectRatio:"xMidYMid",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.A)(e.className,"githubSvg_Uu4N"),children:(0,s.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,s.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,s.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#0a66c2","--light":"#ffffffe6"},...e,className:(0,r.A)(e.className,"linkedinSvg_FCgI"),children:(0,s.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.A)(e.className,"xSvg_y3PF"),children:(0,s.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"},bluesky:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 226",style:{"--dark":"#0085ff","--light":"#0085ff"},...e,className:(0,r.A)(e.className,"blueskySvg_AzZw"),children:(0,s.jsx)("path",{d:"M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"})})},label:"Bluesky"},instagram:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.A)(e.className,"instagramSvg_YC40"),children:(0,s.jsx)("path",{d:"M128 23.064c34.177 0 38.225.13 51.722.745 12.48.57 19.258 2.655 23.769 4.408 5.974 2.322 10.238 5.096 14.717 9.575 4.48 4.479 7.253 8.743 9.575 14.717 1.753 4.511 3.838 11.289 4.408 23.768.615 13.498.745 17.546.745 51.723 0 34.178-.13 38.226-.745 51.723-.57 12.48-2.655 19.257-4.408 23.768-2.322 5.974-5.096 10.239-9.575 14.718-4.479 4.479-8.743 7.253-14.717 9.574-4.511 1.753-11.289 3.839-23.769 4.408-13.495.616-17.543.746-51.722.746-34.18 0-38.228-.13-51.723-.746-12.48-.57-19.257-2.655-23.768-4.408-5.974-2.321-10.239-5.095-14.718-9.574-4.479-4.48-7.253-8.744-9.574-14.718-1.753-4.51-3.839-11.288-4.408-23.768-.616-13.497-.746-17.545-.746-51.723 0-34.177.13-38.225.746-51.722.57-12.48 2.655-19.258 4.408-23.769 2.321-5.974 5.095-10.238 9.574-14.717 4.48-4.48 8.744-7.253 14.718-9.575 4.51-1.753 11.288-3.838 23.768-4.408 13.497-.615 17.545-.745 51.723-.745M128 0C93.237 0 88.878.147 75.226.77c-13.625.622-22.93 2.786-31.071 5.95-8.418 3.271-15.556 7.648-22.672 14.764C14.367 28.6 9.991 35.738 6.72 44.155 3.555 52.297 1.392 61.602.77 75.226.147 88.878 0 93.237 0 128c0 34.763.147 39.122.77 52.774.622 13.625 2.785 22.93 5.95 31.071 3.27 8.417 7.647 15.556 14.763 22.672 7.116 7.116 14.254 11.492 22.672 14.763 8.142 3.165 17.446 5.328 31.07 5.95 13.653.623 18.012.77 52.775.77s39.122-.147 52.774-.77c13.624-.622 22.929-2.785 31.07-5.95 8.418-3.27 15.556-7.647 22.672-14.763 7.116-7.116 11.493-14.254 14.764-22.672 3.164-8.142 5.328-17.446 5.95-31.07.623-13.653.77-18.012.77-52.775s-.147-39.122-.77-52.774c-.622-13.624-2.786-22.929-5.95-31.07-3.271-8.418-7.648-15.556-14.764-22.672C227.4 14.368 220.262 9.99 211.845 6.72c-8.142-3.164-17.447-5.328-31.071-5.95C167.122.147 162.763 0 128 0Zm0 62.27C91.698 62.27 62.27 91.7 62.27 128c0 36.302 29.428 65.73 65.73 65.73 36.301 0 65.73-29.428 65.73-65.73 0-36.301-29.429-65.73-65.73-65.73Zm0 108.397c-23.564 0-42.667-19.103-42.667-42.667S104.436 85.333 128 85.333s42.667 19.103 42.667 42.667-19.103 42.667-42.667 42.667Zm83.686-110.994c0 8.484-6.876 15.36-15.36 15.36-8.483 0-15.36-6.876-15.36-15.36 0-8.483 6.877-15.36 15.36-15.36 8.484 0 15.36 6.877 15.36 15.36Z"})})},label:"Instagram"},threads:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-label":"Threads",viewBox:"0 0 192 192",width:"1em",fill:"none",height:"1em",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.A)(e.className,"threadsSvg_PTXY"),children:(0,s.jsx)("path",{d:"M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.229c8.249.053 14.474 2.452 18.503 7.129 2.932 3.405 4.893 8.111 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.194 47.292 9.642 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553ZM98.44 129.507c-10.44.588-21.286-4.098-21.82-14.135-.397-7.442 5.296-15.746 22.461-16.735 1.966-.114 3.895-.169 5.79-.169 6.235 0 12.068.606 17.371 1.765-1.978 24.702-13.58 28.713-23.802 29.274Z"})})},label:"Threads"},mastodon:{Icon:function(e){let t=(0,l.useId)();return(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 61 65",width:"1em",height:"1em",...e,children:[(0,s.jsx)("path",{fill:`url(#${t})`,d:"M60.754 14.39C59.814 7.406 53.727 1.903 46.512.836 45.294.656 40.682 0 29.997 0h-.08C19.23 0 16.938.656 15.72.836 8.705 1.873 2.299 6.82.745 13.886c-.748 3.48-.828 7.338-.689 10.877.198 5.075.237 10.142.697 15.197a71.482 71.482 0 0 0 1.664 9.968c1.477 6.056 7.458 11.096 13.317 13.152a35.718 35.718 0 0 0 19.484 1.028 28.365 28.365 0 0 0 2.107-.576c1.572-.5 3.413-1.057 4.766-2.038a.154.154 0 0 0 .062-.118v-4.899a.146.146 0 0 0-.055-.111.145.145 0 0 0-.122-.028 54 54 0 0 1-12.644 1.478c-7.328 0-9.298-3.478-9.863-4.925a15.258 15.258 0 0 1-.857-3.882.142.142 0 0 1 .178-.145 52.976 52.976 0 0 0 12.437 1.477c1.007 0 2.012 0 3.02-.026 4.213-.119 8.654-.334 12.8-1.144.103-.02.206-.038.295-.065 6.539-1.255 12.762-5.196 13.394-15.176.024-.393.083-4.115.083-4.523.003-1.386.446-9.829-.065-15.017Z"}),(0,s.jsx)("path",{fill:"#fff",d:"M50.394 22.237v17.35H43.52V22.749c0-3.545-1.478-5.353-4.483-5.353-3.303 0-4.958 2.139-4.958 6.364v9.217h-6.835V23.76c0-4.225-1.657-6.364-4.96-6.364-2.988 0-4.48 1.808-4.48 5.353v16.84H10.93V22.237c0-3.545.905-6.362 2.715-8.45 1.868-2.082 4.317-3.152 7.358-3.152 3.519 0 6.178 1.354 7.951 4.057l1.711 2.871 1.714-2.871c1.773-2.704 4.432-4.056 7.945-4.056 3.038 0 5.487 1.069 7.36 3.152 1.81 2.085 2.712 4.902 2.71 8.449Z"}),(0,s.jsx)("defs",{children:(0,s.jsxs)("linearGradient",{id:t,x1:30.5,x2:30.5,y1:0,y2:65,gradientUnits:"userSpaceOnUse",children:[(0,s.jsx)("stop",{stopColor:"#6364FF"}),(0,s.jsx)("stop",{offset:1,stopColor:"#563ACC"})]})})]})},label:"Mastodon"},youtube:{Icon:function(e){return(0,s.jsxs)("svg",{viewBox:"0 0 256 180",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:[(0,s.jsx)("path",{d:"M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134Z",fill:"red"}),(0,s.jsx)("path",{fill:"#FFF",d:"m102.421 128.06 66.328-38.418-66.328-38.418z"})]})},label:"YouTube"},twitch:{Icon:function(e){return(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 2400 2800",width:"1em",height:"1em",...e,children:[(0,s.jsx)("path",{d:"m2200 1300-400 400h-400l-350 350v-350H600V200h1600z",fill:"#fff"}),(0,s.jsxs)("g",{children:[(0,s.jsx)("path",{d:"M500 0 0 500v1800h600v500l500-500h400l900-900V0H500zm1700 1300-400 400h-400l-350 350v-350H600V200h1600v1100z",fill:"#9146ff"}),(0,s.jsx)("path",{d:"M1700 550h200v600h-200zM1150 550h200v600h-200z",fill:"#9146ff"})]})]})},label:"Twitch"},email:{Icon:function(e){return(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,...e,children:[(0,s.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z"}),(0,s.jsx)("path",{d:"M7.2 12a4.8 4.8 0 1 0 9.6 0 4.8 4.8 0 1 0-9.6 0"}),(0,s.jsx)("path",{d:"M16.8 12v1.8a3 3 0 0 0 6 0V12a10.8 10.8 0 1 0-6.6 9.936"})]})},label:"Email"}};function c({platform:e,link:t}){let{Icon:a,label:l}=o[e]??{Icon:i,label:e};return(0,s.jsx)(n.A,{className:"authorSocialLink_owbf",href:t,title:l,children:(0,s.jsx)(a,{className:(0,r.A)("authorSocialIcon_XYv3")})})}function h({author:e}){let t=Object.entries(e.socials??{});return(0,s.jsx)("div",{className:"authorSocials_rSDt",children:t.map(([e,t])=>(0,s.jsx)(c,{platform:e,link:t},e))})}var m=a(2072);let u={authorImage:"authorImage_XqGP","author-as-h1":"author-as-h1_n9oJ","author-as-h2":"author-as-h2_gXvM",authorDetails:"authorDetails_lV9A",authorName:"authorName_yefp",authorTitle:"authorTitle_nd0D",authorBlogPostCount:"authorBlogPostCount_iiJ5"};function d(e){return e.href?(0,s.jsx)(n.A,{...e}):(0,s.jsx)(s.Fragment,{children:e.children})}function g({title:e}){return(0,s.jsx)("small",{className:u.authorTitle,title:e,children:e})}function x({name:e,as:t}){return t?(0,s.jsx)(m.A,{as:t,className:u.authorName,translate:"no",children:e}):(0,s.jsx)("span",{className:u.authorName,translate:"no",children:e})}function f({count:e}){return(0,s.jsx)("span",{className:(0,r.A)(u.authorBlogPostCount),children:e})}function v({as:e,author:t,className:a,count:l}){let{name:n,title:i,url:o,imageURL:c,email:m,page:p}=t,w=p?.permalink||o||m&&`mailto:${m}`||void 0;return(0,s.jsxs)("div",{className:(0,r.A)("avatar margin-bottom--sm",a,u[`author-as-${e}`]),children:[c&&(0,s.jsx)(d,{href:w,className:"avatar__photo-link",children:(0,s.jsx)("img",{className:(0,r.A)("avatar__photo",u.authorImage),src:c,alt:n})}),(n||i)&&(0,s.jsxs)("div",{className:(0,r.A)("avatar__intro",u.authorDetails),children:[(0,s.jsxs)("div",{className:"avatar__name",children:[n&&(0,s.jsx)(d,{href:w,children:(0,s.jsx)(x,{name:n,as:e})}),void 0!==l&&(0,s.jsx)(f,{count:l})]}),!!i&&(0,s.jsx)(g,{title:i}),(0,s.jsx)(h,{author:t})]})]})}},8579(e,t,a){a.d(t,{A:()=>b});var s=a(4848),l=a(6540),r=a(4164),n=a(6525),i=a(3741),o=a(568),c=a(7645),h=a(1022),m=a(2072);function u({year:e,yearGroupHeadingClassName:t,children:a}){return(0,s.jsxs)("div",{role:"group",children:[(0,s.jsx)(m.A,{as:"h3",className:t,children:e}),a]})}let d=(0,l.memo)(function({items:e,yearGroupHeadingClassName:t,ListComponent:a}){if(!(0,h.p)().blog.sidebar.groupByYear)return(0,s.jsx)(a,{items:e});{let l=(0,c.Ki)(e);return(0,s.jsx)(s.Fragment,{children:l.map(([e,l])=>(0,s.jsx)(u,{year:e,yearGroupHeadingClassName:t,children:(0,s.jsx)(a,{items:l})},e))})}}),g=({items:e})=>(0,s.jsx)(c.OU,{items:e,ulClassName:(0,r.A)("sidebarItemList_Yudw","clean-list"),liClassName:"sidebarItem__DBe",linkClassName:"sidebarItemLink_mo7H",linkActiveClassName:"sidebarItemLinkActive_I1ZP"}),x=(0,l.memo)(function({sidebar:e}){let t=(0,c.Gx)(e.items);return(0,s.jsx)("aside",{className:"col col--3",children:(0,s.jsxs)("nav",{className:(0,r.A)("sidebar_re4s","thin-scrollbar"),"aria-label":(0,o.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,s.jsx)("div",{className:(0,r.A)("sidebarItemTitle_pO2u","margin-bottom--md"),children:e.title}),(0,s.jsx)(d,{items:t,ListComponent:g,yearGroupHeadingClassName:"yearGroupHeading_rMGB"})]})})});var f=a(7e3);let v=({items:e})=>(0,s.jsx)(c.OU,{items:e,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"});function p({sidebar:e}){let t=(0,c.Gx)(e.items);return(0,s.jsx)(d,{items:t,ListComponent:v,yearGroupHeadingClassName:"yearGroupHeading_QT03"})}let w=(0,l.memo)(function(e){return(0,s.jsx)(f.GX,{component:p,props:e})});function j({sidebar:e}){let t=(0,i.l)();return e?.items.length?"mobile"===t?(0,s.jsx)(w,{sidebar:e}):(0,s.jsx)(x,{sidebar:e}):null}function b(e){let{sidebar:t,toc:a,children:l,...i}=e,o=t&&t.items.length>0;return(0,s.jsx)(n.A,{...i,children:(0,s.jsx)("div",{className:"container margin-vert--lg",children:(0,s.jsxs)("div",{className:"row",children:[(0,s.jsx)(j,{sidebar:t}),(0,s.jsx)("main",{className:(0,r.A)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:l}),a&&(0,s.jsx)("div",{className:"col col--2",children:a})]})})})}},8878(e,t,a){a.d(t,{W:()=>o});var s=a(6540),l=a(898);let r=["zero","one","two","few","many","other"];function n(e){return r.filter(t=>e.includes(t))}let i={locale:"en",pluralForms:n(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,l.A)();return(0,s.useMemo)(()=>{try{let t;return t=new Intl.PluralRules(e),{locale:e,pluralForms:n(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),i}},[e])}();return{selectMessage:(t,a)=>(function(e,t,a){let s=e.split("|");if(1===s.length)return s[0];s.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);let l=a.select(t);return s[Math.min(a.pluralForms.indexOf(l),s.length-1)]})(a,t,e)}}}}]); \ No newline at end of file diff --git a/assets/js/672ba3d6.6f76c648.js b/assets/js/672ba3d6.6f76c648.js new file mode 100644 index 0000000..2be9bb7 --- /dev/null +++ b/assets/js/672ba3d6.6f76c648.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8893"],{7062(e,s,i){i.r(s),i.d(s,{default:()=>d});var c=i(4848);i(6540);var t=i(6525),l=i(5310),a=i(568);let r=[{icon:"\u{1F4AC}",id:"homepage.community.forum.title",title:"\u8BBA\u575B",idDesc:"homepage.community.forum.desc",desc:"\u5728 GitHub Discussions \u4E2D\u63D0\u95EE\u3001\u5206\u4EAB\u4F7F\u7528\u7ECF\u9A8C\u4E0E\u6700\u4F73\u5B9E\u8DF5\u3002",href:"https://github.com/DTStack/SqlParserX/discussions",label:"\u524D\u5F80\u8BA8\u8BBA\u533A"},{icon:"\u{1F419}",id:"homepage.community.github.title",title:"GitHub",idDesc:"homepage.community.github.desc",desc:"\u63D0\u4EA4 Issue\u3001\u53C2\u4E0E Pull Request\uFF0C\u4E00\u8D77\u5B8C\u5584\u591A\u65B9\u8A00\u89E3\u6790\u80FD\u529B\u3002",href:"https://github.com/DTStack/SqlParserX",label:"\u8BBF\u95EE\u4ED3\u5E93"},{icon:"\u2753",id:"homepage.community.qa.title",title:"\u95EE\u7B54",idDesc:"homepage.community.qa.desc",desc:"\u9047\u5230\u4F7F\u7528\u95EE\u9898\uFF0C\u53EF\u5728 Issues \u4E2D\u68C0\u7D22\u6216\u53D1\u8D77\u65B0\u7684\u8BA8\u8BBA\u3002",href:"https://github.com/DTStack/SqlParserX/issues",label:"\u67E5\u770B Issues"}];function d(){return(0,c.jsx)(t.A,{title:"Community",description:"SqlParserX \u793E\u533A\uFF1A\u8BBA\u575B\u3001GitHub\u3001\u95EE\u7B54",children:(0,c.jsxs)("main",{className:"main_mXnJ",children:[(0,c.jsxs)("header",{className:"hero_Xgt0",children:[(0,c.jsx)("h1",{className:"title_P3Qk",children:(0,c.jsx)(a.A,{id:"community.title",children:"\u52A0\u5165 SqlParserX \u793E\u533A"})}),(0,c.jsx)("p",{className:"subtitle_E8C4",children:(0,c.jsx)(a.A,{id:"community.subtitle",children:"\u4E0E\u5F00\u53D1\u8005\u4E00\u8D77\u4EA4\u6D41\u591A\u65B9\u8A00 SQL \u89E3\u6790\u3001\u8840\u7F18\u4E0E\u6CBB\u7406\u5B9E\u8DF5\u3002"})})]}),(0,c.jsx)("section",{className:"grid_N3Zu",children:r.map(e=>(0,c.jsxs)("div",{className:"card_SFkr",children:[(0,c.jsx)("div",{className:"icon_ZV17",children:e.icon}),(0,c.jsx)("h3",{className:"cardTitle_tde4",children:(0,c.jsx)(a.A,{id:e.id,children:e.title})}),(0,c.jsx)("p",{className:"cardDesc_eKeg",children:(0,c.jsx)(a.A,{id:e.idDesc,children:e.desc})}),(0,c.jsx)(l.A,{className:"button button--primary",href:e.href,children:e.label})]},e.id))})]})})}}}]); \ No newline at end of file diff --git a/assets/js/6762.affd9a83.js b/assets/js/6762.affd9a83.js new file mode 100644 index 0000000..324e232 --- /dev/null +++ b/assets/js/6762.affd9a83.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6762"],{7089(e,r,s){s.d(r,{createArchitectureServices:()=>c.S});var c=s(5796);s(4954)}}]); \ No newline at end of file diff --git a/assets/js/6771.da21afb4.js b/assets/js/6771.da21afb4.js new file mode 100644 index 0000000..050d247 --- /dev/null +++ b/assets/js/6771.da21afb4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6771"],{4142(e,s,r){r.d(s,{createTreeViewServices:()=>a.I});var a=r(145);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/6832.438cdfc9.js b/assets/js/6832.438cdfc9.js new file mode 100644 index 0000000..10b33e1 --- /dev/null +++ b/assets/js/6832.438cdfc9.js @@ -0,0 +1,36 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6832"],{6051(t,e,i){var r;r=i(1709),t.exports=(()=>{"use strict";var t={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];return i.forEach(function(e){Object.keys(e).forEach(function(i){return t[i]=e[i]})}),t}},548:(t,e,i)=>{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var i=[],r=!0,n=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(t){n=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(n)throw o}}return i}(t,e);throw TypeError("Invalid attempt to destructure non-iterable instance")},n=i(140).layoutBase.LinkedList,o={};o.getTopMostNodes=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].id()]=!0;return t.filter(function(t,i){"number"==typeof t&&(t=i);for(var r=t.parent()[0];null!=r;){if(e[r.id()])return!1;r=r.parent()[0]}return!0})},o.connectComponents=function(t,e,i,r){var o=new n,a=new Set,s=[],h=void 0,l=void 0,d=void 0,g=!1,c=1,u=[],f=[];do!function(){var r=t.collection();f.push(r);var n=i[0],p=t.collection();for(p.merge(n).merge(n.descendants().intersection(e)),s.push(n),p.forEach(function(t){o.push(t),a.add(t),r.merge(t)});0!=o.length;)!function(){n=o.shift();var l=t.collection();n.neighborhood().nodes().forEach(function(t){e.intersection(n.edgesWith(t)).length>0&&l.merge(t)});for(var d=0;d<l.length;d++){var g=l[d];null==(h=i.intersection(g.union(g.ancestors())))||a.has(h[0])||h.union(h.descendants()).forEach(function(t){o.push(t),a.add(t),r.merge(t),i.has(t)&&s.push(t)})}}();if(r.forEach(function(t){e.intersection(t.connectedEdges()).forEach(function(t){r.has(t.source())&&r.has(t.target())&&r.merge(t)})}),s.length==i.length&&(g=!0),!g||g&&c>1){d=(l=s[0]).connectedEdges().length,s.forEach(function(t){t.connectedEdges().length<d&&(d=t.connectedEdges().length,l=t)}),u.push(l.id());var m=t.collection();m.merge(s[0]),s.forEach(function(t){m.merge(t)}),s=[],i=i.difference(m),c++}}();while(!g)return r&&u.length>0&&r.set("dummy"+(r.size+1),u),f},o.relocateComponent=function(t,e,i){if(!i.fixedNodeConstraint){var n=1/0,o=-1/0,a=1/0,s=-1/0;if("draft"==i.quality){var h=!0,l=!1,d=void 0;try{for(var g,c=e.nodeIndexes[Symbol.iterator]();!(h=(g=c.next()).done);h=!0){var u=g.value,f=r(u,2),p=f[0],m=f[1],v=i.cy.getElementById(p);if(v){var y=v.boundingBox(),E=e.xCoords[m]-y.w/2,T=e.xCoords[m]+y.w/2,N=e.yCoords[m]-y.h/2,A=e.yCoords[m]+y.h/2;E<n&&(n=E),T>o&&(o=T),N<a&&(a=N),A>s&&(s=A)}}}catch(t){l=!0,d=t}finally{try{!h&&c.return&&c.return()}finally{if(l)throw d}}var w=t.x-(o+n)/2,L=t.y-(s+a)/2;e.xCoords=e.xCoords.map(function(t){return t+w}),e.yCoords=e.yCoords.map(function(t){return t+L})}else{Object.keys(e).forEach(function(t){var i=e[t],r=i.getRect().x,h=i.getRect().x+i.getRect().width,l=i.getRect().y,d=i.getRect().y+i.getRect().height;r<n&&(n=r),h>o&&(o=h),l<a&&(a=l),d>s&&(s=d)});var C=t.x-(o+n)/2,M=t.y-(s+a)/2;Object.keys(e).forEach(function(t){var i=e[t];i.setCenter(i.getCenterX()+C,i.getCenterY()+M)})}}},o.calcBoundingBox=function(t,e,i,r){for(var n=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,h=void 0,l=void 0,d=void 0,g=void 0,c=t.descendants().not(":parent"),u=c.length,f=0;f<u;f++){var p=c[f];h=e[r.get(p.id())]-p.width()/2,l=e[r.get(p.id())]+p.width()/2,d=i[r.get(p.id())]-p.height()/2,g=i[r.get(p.id())]+p.height()/2,n>h&&(n=h),o<l&&(o=l),a>d&&(a=d),s<g&&(s=g)}var m={};return m.topLeftX=n,m.topLeftY=a,m.width=o-n,m.height=s-a,m},o.calcParentsWithoutChildren=function(t,e){var i=t.collection();return e.nodes(":parent").forEach(function(t){var e=!1;t.children().forEach(function(t){"none"!=t.css("display")&&(e=!0)}),e||i.merge(t)}),i},t.exports=o},816:(t,e,i)=>{var r=i(548),n=i(140).CoSELayout,o=i(140).CoSENode,a=i(140).layoutBase.PointD,s=i(140).layoutBase.DimensionD,h=i(140).layoutBase.LayoutConstants,l=i(140).layoutBase.FDLayoutConstants,d=i(140).CoSEConstants;t.exports={coseLayout:function(t,e){var i=t.cy,g=t.eles,c=g.nodes(),u=g.edges(),f=void 0,p=void 0,m=void 0,v={};t.randomize&&(f=e.nodeIndexes,p=e.xCoords,m=e.yCoords);var y=function(t){return"function"==typeof t},E=function(t,e){return y(t)?t(e):t},T=r.calcParentsWithoutChildren(i,g);null!=t.nestingFactor&&(d.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(d.DEFAULT_GRAVITY_STRENGTH=l.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(d.MAX_ITERATIONS=l.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(d.DEFAULT_GRAVITY_RANGE_FACTOR=l.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(d.DEFAULT_COMPOUND_GRAVITY_STRENGTH=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(d.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(d.DEFAULT_COOLING_FACTOR_INCREMENTAL=l.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(d.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?h.QUALITY=2:h.QUALITY=0,d.NODE_DIMENSIONS_INCLUDE_LABELS=l.NODE_DIMENSIONS_INCLUDE_LABELS=h.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,d.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=h.DEFAULT_INCREMENTAL=!t.randomize,d.ANIMATE=l.ANIMATE=h.ANIMATE=t.animate,d.TILE=t.tile,d.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,d.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,d.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=h.DEFAULT_INCREMENTAL=!0,d.PURE_INCREMENTAL=!t.randomize,h.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!1,d.APPLY_LAYOUT=!1),"enforced"==t.step&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!1),"cose"==t.step&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!1,d.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?d.TREE_REDUCTION_ON_INCREMENTAL=!1:d.TREE_REDUCTION_ON_INCREMENTAL=!0;var N=new n,A=N.newGraphManager();return!function t(e,i,n,h){for(var l=i.length,d=0;d<l;d++){var g=i[d],c=null;0==g.intersection(T).length&&(c=g.children());var u=void 0,y=g.layoutDimensions({nodeDimensionsIncludeLabels:h.nodeDimensionsIncludeLabels});if(null!=g.outerWidth()&&null!=g.outerHeight())if(h.randomize)if(g.isParent()){var N=r.calcBoundingBox(g,p,m,f);u=0==g.intersection(T).length?e.add(new o(n.graphManager,new a(N.topLeftX,N.topLeftY),new s(N.width,N.height))):e.add(new o(n.graphManager,new a(N.topLeftX,N.topLeftY),new s(parseFloat(y.w),parseFloat(y.h))))}else u=e.add(new o(n.graphManager,new a(p[f.get(g.id())]-y.w/2,m[f.get(g.id())]-y.h/2),new s(parseFloat(y.w),parseFloat(y.h))));else u=e.add(new o(n.graphManager,new a(g.position("x")-y.w/2,g.position("y")-y.h/2),new s(parseFloat(y.w),parseFloat(y.h))));else u=e.add(new o(this.graphManager));(u.id=g.data("id"),u.nodeRepulsion=E(h.nodeRepulsion,g),u.paddingLeft=parseInt(g.css("padding")),u.paddingTop=parseInt(g.css("padding")),u.paddingRight=parseInt(g.css("padding")),u.paddingBottom=parseInt(g.css("padding")),h.nodeDimensionsIncludeLabels&&(u.labelWidth=g.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,u.labelHeight=g.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,u.labelPosVertical=g.css("text-valign"),u.labelPosHorizontal=g.css("text-halign")),v[g.data("id")]=u,isNaN(u.rect.x)&&(u.rect.x=0),isNaN(u.rect.y)&&(u.rect.y=0),null!=c&&c.length>0)&&t(n.getGraphManager().add(n.newGraph(),u),c,n,h)}}(A.addRoot(),r.getTopMostNodes(c),N,t),!function(e,i,r){for(var n=0,o=0,a=0;a<r.length;a++){var s=r[a],h=v[s.data("source")],g=v[s.data("target")];if(h&&g&&h!==g&&0==h.getEdgesBetween(g).length){var c=i.add(e.newEdge(),h,g);c.id=s.id(),c.idealLength=E(t.idealEdgeLength,s),c.edgeElasticity=E(t.edgeElasticity,s),n+=c.idealLength,o++}}null!=t.idealEdgeLength&&(o>0?d.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=n/o:y(t.idealEdgeLength)?d.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=50:d.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,d.MIN_REPULSION_DIST=l.MIN_REPULSION_DIST=l.DEFAULT_EDGE_LENGTH/10,d.DEFAULT_RADIAL_SEPARATION=l.DEFAULT_EDGE_LENGTH)}(N,A,u),t.fixedNodeConstraint&&(N.constraints.fixedNodeConstraint=t.fixedNodeConstraint),t.alignmentConstraint&&(N.constraints.alignmentConstraint=t.alignmentConstraint),t.relativePlacementConstraint&&(N.constraints.relativePlacementConstraint=t.relativePlacementConstraint),N.runLayout(),v}}},212:(t,e,i)=>{var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=i(658),o=i(548),a=i(657).spectralLayout,s=i(816).coseLayout,h=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:function(t){return 4500},idealEdgeLength:function(t){return 50},edgeElasticity:function(t){return .45},nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}});t.exports=function(){function t(e){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.options=n({},h,e)}return r(t,[{key:"run",value:function(){var t=this.options,e=t.cy,i=t.eles,r=[],n=[],h=void 0,l=[];t.fixedNodeConstraint&&(!Array.isArray(t.fixedNodeConstraint)||0==t.fixedNodeConstraint.length)&&(t.fixedNodeConstraint=void 0),t.alignmentConstraint&&(t.alignmentConstraint.vertical&&(!Array.isArray(t.alignmentConstraint.vertical)||0==t.alignmentConstraint.vertical.length)&&(t.alignmentConstraint.vertical=void 0),t.alignmentConstraint.horizontal&&(!Array.isArray(t.alignmentConstraint.horizontal)||0==t.alignmentConstraint.horizontal.length)&&(t.alignmentConstraint.horizontal=void 0)),t.relativePlacementConstraint&&(!Array.isArray(t.relativePlacementConstraint)||0==t.relativePlacementConstraint.length)&&(t.relativePlacementConstraint=void 0),(t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint)&&(t.tile=!1,t.packComponents=!1);var d=void 0,g=!1;if(e.layoutUtilities&&t.packComponents&&((d=e.layoutUtilities("get"))||(d=e.layoutUtilities()),g=!0),i.nodes().length>0)if(g){var c=o.getTopMostNodes(t.eles.nodes());if((h=o.connectComponents(e,t.eles,c)).forEach(function(t){var e=t.boundingBox();l.push({x:e.x1+e.w/2,y:e.y1+e.h/2})}),t.randomize&&h.forEach(function(e){t.eles=e,r.push(a(t))}),"default"==t.quality||"proof"==t.quality){var u=e.collection();if(t.tile){var f=new Map,p=0,m={nodeIndexes:f,xCoords:[],yCoords:[]},v=[];if(h.forEach(function(t,e){0==t.edges().length&&(t.nodes().forEach(function(e,i){u.merge(t.nodes()[i]),e.isParent()||(m.nodeIndexes.set(t.nodes()[i].id(),p++),m.xCoords.push(t.nodes()[0].position().x),m.yCoords.push(t.nodes()[0].position().y))}),v.push(e))}),u.length>1){var y=u.boundingBox();l.push({x:y.x1+y.w/2,y:y.y1+y.h/2}),h.push(u),r.push(m);for(var E=v.length-1;E>=0;E--)h.splice(v[E],1),r.splice(v[E],1),l.splice(v[E],1)}}h.forEach(function(e,i){t.eles=e,n.push(s(t,r[i])),o.relocateComponent(l[i],n[i],t)})}else h.forEach(function(e,i){o.relocateComponent(l[i],r[i],t)});var T=new Set;if(h.length>1){var N=[],A=i.filter(function(t){return"none"==t.css("display")});h.forEach(function(e,i){var a=void 0;if("draft"==t.quality&&(a=r[i].nodeIndexes),e.nodes().not(A).length>0){var s={};s.edges=[],s.nodes=[];var h=void 0;e.nodes().not(A).forEach(function(e){if("draft"==t.quality)if(e.isParent()){var l=o.calcBoundingBox(e,r[i].xCoords,r[i].yCoords,a);s.nodes.push({x:l.topLeftX,y:l.topLeftY,width:l.width,height:l.height})}else h=a.get(e.id()),s.nodes.push({x:r[i].xCoords[h]-e.boundingbox().w/2,y:r[i].yCoords[h]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else n[i][e.id()]&&s.nodes.push({x:n[i][e.id()].getLeft(),y:n[i][e.id()].getTop(),width:n[i][e.id()].getWidth(),height:n[i][e.id()].getHeight()})}),e.edges().forEach(function(e){var h=e.source(),l=e.target();if("none"!=h.css("display")&&"none"!=l.css("display"))if("draft"==t.quality){var d=a.get(h.id()),g=a.get(l.id()),c=[],u=[];if(h.isParent()){var f=o.calcBoundingBox(h,r[i].xCoords,r[i].yCoords,a);c.push(f.topLeftX+f.width/2),c.push(f.topLeftY+f.height/2)}else c.push(r[i].xCoords[d]),c.push(r[i].yCoords[d]);if(l.isParent()){var p=o.calcBoundingBox(l,r[i].xCoords,r[i].yCoords,a);u.push(p.topLeftX+p.width/2),u.push(p.topLeftY+p.height/2)}else u.push(r[i].xCoords[g]),u.push(r[i].yCoords[g]);s.edges.push({startX:c[0],startY:c[1],endX:u[0],endY:u[1]})}else n[i][h.id()]&&n[i][l.id()]&&s.edges.push({startX:n[i][h.id()].getCenterX(),startY:n[i][h.id()].getCenterY(),endX:n[i][l.id()].getCenterX(),endY:n[i][l.id()].getCenterY()})}),s.nodes.length>0&&(N.push(s),T.add(i))}});var w=d.packComponents(N,t.randomize).shifts;if("draft"==t.quality)r.forEach(function(t,e){var i=t.xCoords.map(function(t){return t+w[e].dx}),r=t.yCoords.map(function(t){return t+w[e].dy});t.xCoords=i,t.yCoords=r});else{var L=0;T.forEach(function(t){Object.keys(n[t]).forEach(function(e){var i=n[t][e];i.setCenter(i.getCenterX()+w[L].dx,i.getCenterY()+w[L].dy)}),L++})}}}else{var C=t.eles.boundingBox();if(l.push({x:C.x1+C.w/2,y:C.y1+C.h/2}),t.randomize){var M=a(t);r.push(M)}"default"==t.quality||"proof"==t.quality?(n.push(s(t,r[0])),o.relocateComponent(l[0],n[0],t)):o.relocateComponent(l[0],r[0],t)}var _=function(e,i){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=i);var o=void 0,a=void 0,s=e.data("id");return n.forEach(function(t){s in t&&(o={x:t[s].getRect().getCenterX(),y:t[s].getRect().getCenterY()},a=t[s])}),t.nodeDimensionsIncludeLabels&&(a.labelWidth&&("left"==a.labelPosHorizontal?o.x+=a.labelWidth/2:"right"==a.labelPosHorizontal&&(o.x-=a.labelWidth/2)),a.labelHeight&&("top"==a.labelPosVertical?o.y+=a.labelHeight/2:"bottom"==a.labelPosVertical&&(o.y-=a.labelHeight/2))),void 0==o&&(o={x:e.position("x"),y:e.position("y")}),{x:o.x,y:o.y}}var h=void 0;return r.forEach(function(t){var i=t.nodeIndexes.get(e.id());void 0!=i&&(h={x:t.xCoords[i],y:t.yCoords[i]})}),void 0==h&&(h={x:e.position("x"),y:e.position("y")}),{x:h.x,y:h.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var I=o.calcParentsWithoutChildren(e,i),x=i.filter(function(t){return"none"==t.css("display")});t.eles=i.not(x),i.nodes().not(":parent").not(x).layoutPositions(this,t,_),I.length>0&&I.forEach(function(t){t.position(_(t))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}()},657:(t,e,i)=>{var r=i(548),n=i(140).layoutBase.Matrix,o=i(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,i=t.eles,a=i.nodes(),s=i.nodes(":parent"),h=new Map,l=new Map,d=new Map,g=[],c=[],u=[],f=[],p=[],m=[],v=[],y=[],E=void 0,T=t.piTol,N=t.samplingType,A=t.nodeSeparation,w=void 0,L=function(){for(var t=0,e=0,i=!1;e<w;){t=Math.floor(Math.random()*E),i=!1;for(var r=0;r<e;r++)if(f[r]==t){i=!0;break}!i&&(f[e]=t,e++)}},C=function(t,e,i){for(var r=[],n=0,o=0,a=0,s=void 0,h=[],d=0,c=1,u=0;u<E;u++)h[u]=1e8;for(r[o]=t,h[t]=0;o>=n;){for(var f=g[a=r[n++]],v=0;v<f.length;v++)1e8==h[s=l.get(f[v])]&&(h[s]=h[a]+1,r[++o]=s);m[a][e]=h[a]*A}if(i){for(var y=0;y<E;y++)m[y][e]<p[y]&&(p[y]=m[y][e]);for(var T=0;T<E;T++)p[T]>d&&(d=p[T],c=T)}return c};r.connectComponents(e,i,r.getTopMostNodes(a),h),s.forEach(function(t){r.connectComponents(e,i,r.getTopMostNodes(t.descendants().intersection(i)),h)});for(var M=0,_=0;_<a.length;_++)a[_].isParent()||l.set(a[_].id(),M++);var I=!0,x=!1,O=void 0;try{for(var D,R=h.keys()[Symbol.iterator]();!(I=(D=R.next()).done);I=!0){var b=D.value;l.set(b,M++)}}catch(t){x=!0,O=t}finally{try{!I&&R.return&&R.return()}finally{if(x)throw O}}for(var F=0;F<l.size;F++)g[F]=[];s.forEach(function(t){for(var e=t.children().intersection(i);0==e.nodes(":childless").length;)e=e.nodes()[0].children().intersection(i);var r=0,n=e.nodes(":childless")[0].connectedEdges().length;e.nodes(":childless").forEach(function(t,e){t.connectedEdges().length<n&&(n=t.connectedEdges().length,r=e)}),d.set(t.id(),e.nodes(":childless")[r].id())}),a.forEach(function(t){var e=void 0;e=t.isParent()?l.get(d.get(t.id())):l.get(t.id()),t.neighborhood().nodes().forEach(function(r){i.intersection(t.edgesWith(r)).length>0&&(r.isParent()?g[e].push(d.get(r.id())):g[e].push(r.id()))})});var S=function(t){var i=l.get(t),r=void 0;h.get(t).forEach(function(n){r=e.getElementById(n).isParent()?d.get(n):n,g[i].push(r),g[l.get(r)].push(t)})},G=!0,P=!1,U=void 0;try{for(var k,Y=h.keys()[Symbol.iterator]();!(G=(k=Y.next()).done);G=!0){var H=k.value;S(H)}}catch(t){P=!0,U=t}finally{try{!G&&Y.return&&Y.return()}finally{if(P)throw U}}E=l.size;if(E>2){w=E<t.sampleSize?E:t.sampleSize;for(var X=0;X<E;X++)m[X]=[];for(var z=0;z<w;z++)y[z]=[];return"draft"==t.quality||"all"==t.step?(!function(t){var e=void 0;if(t){e=Math.floor(Math.random()*E);for(var i=0;i<E;i++)p[i]=1e8;for(var r=0;r<w;r++)f[r]=e,e=C(e,r,t)}else{L();for(var n=0;n<w;n++)C(f[n],n,t,!1)}for(var o=0;o<E;o++)for(var a=0;a<w;a++)m[o][a]*=m[o][a];for(var s=0;s<w;s++)v[s]=[];for(var h=0;h<w;h++)for(var l=0;l<w;l++)v[h][l]=m[f[l]][h]}(N),!function(){for(var t=o.svd(v),e=t.S,i=t.U,r=t.V,a=e[0]*e[0]*e[0],s=[],h=0;h<w;h++){s[h]=[];for(var l=0;l<w;l++)s[h][l]=0,h==l&&(s[h][l]=e[h]/(e[h]*e[h]+a/(e[h]*e[h])))}y=n.multMat(n.multMat(r,s),n.transpose(i))}(),!function(){for(var t=void 0,e=void 0,i=[],r=[],o=[],a=[],s=0;s<E;s++)i[s]=Math.random(),r[s]=Math.random();i=n.normalize(i),r=n.normalize(r);for(var h=0,l=1e-9,d=1e-9,g=void 0;;){h++;for(var f=0;f<E;f++)o[f]=i[f];if(i=n.multGamma(n.multL(n.multGamma(o),m,y)),t=n.dotProduct(o,i),i=n.normalize(i),(g=Math.abs((l=n.dotProduct(o,i))/d))<=1+T&&g>=1)break;d=l}for(var p=0;p<E;p++)o[p]=i[p];for(h=0,d=1e-9;;){h++;for(var v=0;v<E;v++)a[v]=r[v];if(a=n.minusOp(a,n.multCons(o,n.dotProduct(o,a))),r=n.multGamma(n.multL(n.multGamma(a),m,y)),e=n.dotProduct(a,r),r=n.normalize(r),(g=Math.abs((l=n.dotProduct(a,r))/d))<=1+T&&g>=1)break;d=l}for(var N=0;N<E;N++)a[N]=r[N];c=n.multCons(o,Math.sqrt(Math.abs(t))),u=n.multCons(a,Math.sqrt(Math.abs(e)))}()):l.forEach(function(t,i){c.push(e.getElementById(i).position("x")),u.push(e.getElementById(i).position("y"))}),{nodeIndexes:l,xCoords:c,yCoords:u}}var B=l.keys(),V=e.getElementById(B.next().value),W=V.position(),$=V.outerWidth();if(c.push(W.x),u.push(W.y),2==E){var j=e.getElementById(B.next().value).outerWidth();c.push(W.x+$/2+j/2+t.idealEdgeLength),u.push(W.y)}return{nodeIndexes:l,xCoords:c,yCoords:u}}}},579:(t,e,i)=>{var r=i(212),n=function(t){t&&t("layout","fcose",r)};"u">typeof cytoscape&&n(cytoscape),t.exports=n},140:t=>{t.exports=r}},e={};return function i(r){var n=e[r];if(void 0!==n)return n.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,i),o.exports}(579)})()},1709(t,e,i){var r;r=i(4298),t.exports=(()=>{"use strict";var t={45:(t,e,i)=>{var r={};r.layoutBase=i(551),r.CoSEConstants=i(806),r.CoSEEdge=i(767),r.CoSEGraph=i(880),r.CoSEGraphManager=i(578),r.CoSELayout=i(765),r.CoSENode=i(991),r.ConstraintHandler=i(902),t.exports=r},806:(t,e,i)=>{var r=i(551).FDLayoutConstants;function n(){}for(var o in r)n[o]=r[o];n.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,n.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,n.DEFAULT_COMPONENT_SEPERATION=60,n.TILE=!0,n.TILING_PADDING_VERTICAL=10,n.TILING_PADDING_HORIZONTAL=10,n.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,n.ENFORCE_CONSTRAINTS=!0,n.APPLY_LAYOUT=!0,n.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,n.TREE_REDUCTION_ON_INCREMENTAL=!0,n.PURE_INCREMENTAL=n.DEFAULT_INCREMENTAL,t.exports=n},767:(t,e,i)=>{var r=i(551).FDLayoutEdge;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},880:(t,e,i)=>{var r=i(551).LGraph;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},578:(t,e,i)=>{var r=i(551).LGraphManager;function n(t){r.call(this,t)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},765:(t,e,i)=>{var r=i(551).FDLayout,n=i(578),o=i(880),a=i(991),s=i(767),h=i(806),l=i(902),d=i(551).FDLayoutConstants,g=i(551).LayoutConstants,c=i(551).Point,u=i(551).PointD,f=i(551).DimensionD,p=i(551).Layout,m=i(551).Integer,v=i(551).IGeometry,y=i(551).LGraph,E=i(551).Transform,T=i(551).LinkedList;function N(){r.call(this),this.toBeTiled={},this.constraints={}}for(var A in N.prototype=Object.create(r.prototype),r)N[A]=r[A];N.prototype.newGraphManager=function(){var t=new n(this);return this.graphManager=t,t},N.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},N.prototype.newNode=function(t){return new a(this.graphManager,t)},N.prototype.newEdge=function(t){return new s(null,null,t)},N.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(h.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=h.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=d.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=d.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=d.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=d.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},N.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/d.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},N.prototype.layout=function(){return g.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},N.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(h.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e)}}else{var i=this.getFlatForest();if(i.length>0)this.positionNodesRadially(i);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(l.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),h.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},N.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(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 t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),h.PURE_INCREMENTAL?this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=d.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()),h.PURE_INCREMENTAL?this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var i=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(i,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},N.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},i=0;i<t.length;i++){var r=t[i].rect,n=t[i].id;e[n]={id:n,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return e},N.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===d.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},N.prototype.moveNodes=function(){for(var t,e=this.getAllNodes(),i=0;i<e.length;i++)e[i].calculateDisplacement();Object.keys(this.constraints).length>0&&this.updateDisplacements();for(var i=0;i<e.length;i++)e[i].move()},N.prototype.initConstraintVariables=function(){var t=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var e=this.graphManager.getAllNodes(),i=0;i<e.length;i++){var r=e[i];this.idToNodeMap.set(r.id,r)}if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(e){t.fixedNodeSet.add(e.nodeId)});for(var r,e=this.graphManager.getAllNodes(),i=0;i<e.length;i++)if(null!=(r=e[i]).getChild()){var n=function e(i){for(var r,n=i.getChild().getNodes(),o=0,a=0;a<n.length;a++)null==(r=n[a]).getChild()?t.fixedNodeSet.has(r.id)&&(o+=100):o+=e(r);return o}(r);n>0&&(r.fixedNodeWeight=n)}}if(this.constraints.relativePlacementConstraint){var o=new Map,a=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var s=this.constraints.alignmentConstraint.vertical,i=0;i<s.length;i++)this.dummyToNodeForVerticalAlignment.set("dummy"+i,[]),s[i].forEach(function(e){o.set(e,"dummy"+i),t.dummyToNodeForVerticalAlignment.get("dummy"+i).push(e),t.fixedNodeSet.has(e)&&t.fixedNodesOnHorizontal.add("dummy"+i)});if(this.constraints.alignmentConstraint.horizontal)for(var l=this.constraints.alignmentConstraint.horizontal,i=0;i<l.length;i++)this.dummyToNodeForHorizontalAlignment.set("dummy"+i,[]),l[i].forEach(function(e){a.set(e,"dummy"+i),t.dummyToNodeForHorizontalAlignment.get("dummy"+i).push(e),t.fixedNodeSet.has(e)&&t.fixedNodesOnVertical.add("dummy"+i)})}if(h.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(t){var e,i,r;for(r=t.length-1;r>=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),i=t[r],t[r]=t[e],t[e]=i;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(e){if(e.left){var i=o.has(e.left)?o.get(e.left):e.left,r=o.has(e.right)?o.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(i)||(t.nodesInRelativeHorizontal.push(i),t.nodeToRelativeConstraintMapHorizontal.set(i,[]),t.dummyToNodeForVerticalAlignment.has(i)?t.nodeToTempPositionMapHorizontal.set(i,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(i)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(i,t.idToNodeMap.get(i).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(i).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:i,gap:e.gap})}else{var n=a.has(e.top)?a.get(e.top):e.top,s=a.has(e.bottom)?a.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(n)||(t.nodesInRelativeVertical.push(n),t.nodeToRelativeConstraintMapVertical.set(n,[]),t.dummyToNodeForHorizontalAlignment.has(n)?t.nodeToTempPositionMapVertical.set(n,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(n)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(n,t.idToNodeMap.get(n).getCenterY())),t.nodesInRelativeVertical.includes(s)||(t.nodesInRelativeVertical.push(s),t.nodeToRelativeConstraintMapVertical.set(s,[]),t.dummyToNodeForHorizontalAlignment.has(s)?t.nodeToTempPositionMapVertical.set(s,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(s)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(s,t.idToNodeMap.get(s).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(n).push({bottom:s,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(s).push({top:n,gap:e.gap})}});else{var d=new Map,g=new Map;this.constraints.relativePlacementConstraint.forEach(function(t){if(t.left){var e=o.has(t.left)?o.get(t.left):t.left,i=o.has(t.right)?o.get(t.right):t.right;d.has(e)?d.get(e).push(i):d.set(e,[i]),d.has(i)?d.get(i).push(e):d.set(i,[e])}else{var r=a.has(t.top)?a.get(t.top):t.top,n=a.has(t.bottom)?a.get(t.bottom):t.bottom;g.has(r)?g.get(r).push(n):g.set(r,[n]),g.has(n)?g.get(n).push(r):g.set(n,[r])}});var c=function(t,e){var i=[],r=[],n=new T,o=new Set,a=0;return t.forEach(function(s,h){if(!o.has(h)){i[a]=[],r[a]=!1;var l=h;for(n.push(l),o.add(l),i[a].push(l);0!=n.length;)l=n.shift(),e.has(l)&&(r[a]=!0),t.get(l).forEach(function(t){o.has(t)||(n.push(t),o.add(t),i[a].push(t))});a++}}),{components:i,isFixed:r}},u=c(d,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=u.components,this.fixedComponentsOnHorizontal=u.isFixed;var f=c(g,t.fixedNodesOnVertical);this.componentsOnVertical=f.components,this.fixedComponentsOnVertical=f.isFixed}}},N.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(e){var i=t.idToNodeMap.get(e.nodeId);i.displacementX=0,i.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,i=0;i<e.length;i++){for(var r=0,n=0;n<e[i].length;n++){if(this.fixedNodeSet.has(e[i][n])){r=0;break}r+=this.idToNodeMap.get(e[i][n]).displacementX}for(var o=r/e[i].length,n=0;n<e[i].length;n++)this.idToNodeMap.get(e[i][n]).displacementX=o}if(this.constraints.alignmentConstraint.horizontal)for(var a=this.constraints.alignmentConstraint.horizontal,i=0;i<a.length;i++){for(var s=0,n=0;n<a[i].length;n++){if(this.fixedNodeSet.has(a[i][n])){s=0;break}s+=this.idToNodeMap.get(a[i][n]).displacementY}for(var l=s/a[i].length,n=0;n<a[i].length;n++)this.idToNodeMap.get(a[i][n]).displacementY=l}}if(this.constraints.relativePlacementConstraint)if(h.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach(function(e){if(!t.fixedNodesOnHorizontal.has(e)){var i=0;i=t.dummyToNodeForVerticalAlignment.has(e)?t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(e)[0]).displacementX:t.idToNodeMap.get(e).displacementX,t.nodeToRelativeConstraintMapHorizontal.get(e).forEach(function(r){if(r.right){var n=t.nodeToTempPositionMapHorizontal.get(r.right)-t.nodeToTempPositionMapHorizontal.get(e)-i;n<r.gap&&(i-=r.gap-n)}else{var n=t.nodeToTempPositionMapHorizontal.get(e)-t.nodeToTempPositionMapHorizontal.get(r.left)+i;n<r.gap&&(i+=r.gap-n)}}),t.nodeToTempPositionMapHorizontal.set(e,t.nodeToTempPositionMapHorizontal.get(e)+i),t.dummyToNodeForVerticalAlignment.has(e)?t.dummyToNodeForVerticalAlignment.get(e).forEach(function(e){t.idToNodeMap.get(e).displacementX=i}):t.idToNodeMap.get(e).displacementX=i}}),this.nodesInRelativeVertical.forEach(function(e){if(!t.fixedNodesOnHorizontal.has(e)){var i=0;i=t.dummyToNodeForHorizontalAlignment.has(e)?t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(e)[0]).displacementY:t.idToNodeMap.get(e).displacementY,t.nodeToRelativeConstraintMapVertical.get(e).forEach(function(r){if(r.bottom){var n=t.nodeToTempPositionMapVertical.get(r.bottom)-t.nodeToTempPositionMapVertical.get(e)-i;n<r.gap&&(i-=r.gap-n)}else{var n=t.nodeToTempPositionMapVertical.get(e)-t.nodeToTempPositionMapVertical.get(r.top)+i;n<r.gap&&(i+=r.gap-n)}}),t.nodeToTempPositionMapVertical.set(e,t.nodeToTempPositionMapVertical.get(e)+i),t.dummyToNodeForHorizontalAlignment.has(e)?t.dummyToNodeForHorizontalAlignment.get(e).forEach(function(e){t.idToNodeMap.get(e).displacementY=i}):t.idToNodeMap.get(e).displacementY=i}});else{for(var i=0;i<this.componentsOnHorizontal.length;i++){var d=this.componentsOnHorizontal[i];if(this.fixedComponentsOnHorizontal[i])for(var n=0;n<d.length;n++)this.dummyToNodeForVerticalAlignment.has(d[n])?this.dummyToNodeForVerticalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementX=0}):this.idToNodeMap.get(d[n]).displacementX=0;else{for(var g=0,c=0,n=0;n<d.length;n++)if(this.dummyToNodeForVerticalAlignment.has(d[n])){var u=this.dummyToNodeForVerticalAlignment.get(d[n]);g+=u.length*this.idToNodeMap.get(u[0]).displacementX,c+=u.length}else g+=this.idToNodeMap.get(d[n]).displacementX,c++;for(var f=g/c,n=0;n<d.length;n++)this.dummyToNodeForVerticalAlignment.has(d[n])?this.dummyToNodeForVerticalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementX=f}):this.idToNodeMap.get(d[n]).displacementX=f}}for(var i=0;i<this.componentsOnVertical.length;i++){var d=this.componentsOnVertical[i];if(this.fixedComponentsOnVertical[i])for(var n=0;n<d.length;n++)this.dummyToNodeForHorizontalAlignment.has(d[n])?this.dummyToNodeForHorizontalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementY=0}):this.idToNodeMap.get(d[n]).displacementY=0;else{for(var g=0,c=0,n=0;n<d.length;n++)if(this.dummyToNodeForHorizontalAlignment.has(d[n])){var u=this.dummyToNodeForHorizontalAlignment.get(d[n]);g+=u.length*this.idToNodeMap.get(u[0]).displacementY,c+=u.length}else g+=this.idToNodeMap.get(d[n]).displacementY,c++;for(var f=g/c,n=0;n<d.length;n++)this.dummyToNodeForHorizontalAlignment.has(d[n])?this.dummyToNodeForHorizontalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementY=f}):this.idToNodeMap.get(d[n]).displacementY=f}}}},N.prototype.calculateNodesToApplyGravitationTo=function(){var t,e,i=[],r=this.graphManager.getGraphs(),n=r.length;for(e=0;e<n;e++)(t=r[e]).updateConnected(),t.isConnected||(i=i.concat(t.getNodes()));return i},N.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e=new Set;for(o=0;o<t.length;o++){var i=t[o];if(!e.has(i)){var r=i.getSource(),n=i.getTarget();if(r==n)i.getBendpoints().push(new u),i.getBendpoints().push(new u),this.createDummyNodesForBendpoints(i),e.add(i);else{var o,a,s=[];if(s=(s=s.concat(r.getEdgeListToNode(n))).concat(n.getEdgeListToNode(r)),!e.has(s[0])){if(s.length>1)for(a=0;a<s.length;a++){var h=s[a];h.getBendpoints().push(new u),this.createDummyNodesForBendpoints(h)}s.forEach(function(t){e.add(t)})}}}if(e.size==t.length)break}},N.prototype.positionNodesRadially=function(t){for(var e=new c(0,0),i=Math.ceil(Math.sqrt(t.length)),r=0,n=0,o=0,a=new u(0,0),s=0;s<t.length;s++){s%i==0&&(o=0,n=r,0!=s&&(n+=h.DEFAULT_COMPONENT_SEPERATION),r=0);var l=t[s],d=p.findCenterOfTree(l);e.x=o,e.y=n,(a=N.radialLayout(l,d,e)).y>r&&(r=Math.floor(a.y)),o=Math.floor(a.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new u(g.WORLD_CENTER_X-a.x/2,g.WORLD_CENTER_Y-a.y/2))},N.radialLayout=function(t,e,i){var r=Math.max(this.maxDiagonalInTree(t),h.DEFAULT_RADIAL_SEPARATION);N.branchRadialLayout(e,null,0,359,0,r);var n=y.calculateBounds(t),o=new E;o.setDeviceOrgX(n.getMinX()),o.setDeviceOrgY(n.getMinY()),o.setWorldOrgX(i.x),o.setWorldOrgY(i.y);for(var a=0;a<t.length;a++)t[a].transform(o);var s=new u(n.getMaxX(),n.getMaxY());return o.inverseTransformPoint(s)},N.branchRadialLayout=function(t,e,i,r,n,o){var a,s=(r-i+1)/2;s<0&&(s+=180);var h=(s+i)%360*v.TWO_PI/360,l=n*Math.cos(h),d=n*Math.sin(h);t.setCenter(l,d);var g=[],c=(g=g.concat(t.getEdges())).length;null!=e&&c--;for(var u=0,f=g.length,p=t.getEdgesBetween(e);p.length>1;){var m=p[0];p.splice(0,1);var y=g.indexOf(m);y>=0&&g.splice(y,1),f--,c--}a=null!=e?(g.indexOf(p[0])+1)%f:0;for(var E=Math.abs(r-i)/c,T=a;u!=c;T=++T%f){var A=g[T].getOtherEnd(t);if(A!=e){var w=(i+u*E)%360,L=(w+E)%360;N.branchRadialLayout(A,t,w,L,n+o,o),u++}}},N.maxDiagonalInTree=function(t){for(var e=m.MIN_VALUE,i=0;i<t.length;i++){var r=t[i].getDiagonal();r>e&&(e=r)}return e},N.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},N.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var i=[],r=this.graphManager.getAllNodes(),n=0;n<r.length;n++){var o=r[n],s=o.getParent();0!==this.getNodeDegreeWithChildren(o)||void 0!=s.id&&this.getToBeTiled(s)||i.push(o)}for(var n=0;n<i.length;n++){var o=i[n],h=o.getParent().id;void 0===e[h]&&(e[h]=[]),e[h]=e[h].concat(o)}Object.keys(e).forEach(function(i){if(e[i].length>1){var r="DummyCompound_"+i;t.memberGroups[r]=e[i];var n=e[i][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=n.paddingLeft||0,o.paddingRight=n.paddingRight||0,o.paddingBottom=n.paddingBottom||0,o.paddingTop=n.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),h=n.getChild();h.add(o);for(var l=0;l<e[i].length;l++){var d=e[i][l];h.remove(d),s.add(d)}}})},N.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var i=0;i<this.compoundOrder.length;i++)e[this.compoundOrder[i].id]=this.compoundOrder[i],t[this.compoundOrder[i].id]=[].concat(this.compoundOrder[i].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[i].getChild()),this.compoundOrder[i].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},N.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(i){var r=t.idToDummyNode[i];if(e[i]=t.tileNodes(t.memberGroups[i],r.paddingLeft+r.paddingRight),r.rect.width=e[i].width,r.rect.height=e[i].height,r.setCenter(e[i].centerX,e[i].centerY),r.labelMarginLeft=0,r.labelMarginTop=0,h.NODE_DIMENSIONS_INCLUDE_LABELS){var n=r.rect.width,o=r.rect.height;r.labelWidth&&("left"==r.labelPosHorizontal?(r.rect.x-=r.labelWidth,r.setWidth(n+r.labelWidth),r.labelMarginLeft=r.labelWidth):"center"==r.labelPosHorizontal&&r.labelWidth>n?(r.rect.x-=(r.labelWidth-n)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-n)/2):"right"==r.labelPosHorizontal&&r.setWidth(n+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(o+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>o?(r.rect.y-=(r.labelHeight-o)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-o)/2):"bottom"==r.labelPosVertical&&r.setHeight(o+r.labelHeight))}})},N.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],i=e.id,r=e.paddingLeft,n=e.paddingTop,o=e.labelMarginLeft,a=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[i],e.rect.x,e.rect.y,r,n,o,a)}},N.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach(function(i){var r=t.idToDummyNode[i],n=r.paddingLeft,o=r.paddingTop,a=r.labelMarginLeft,s=r.labelMarginTop;t.adjustLocations(e[i],r.rect.x,r.rect.y,n,o,a,s)})},N.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var i=t.getChild();if(null==i)return this.toBeTiled[e]=!1,!1;for(var r=i.getNodes(),n=0;n<r.length;n++){var o=r[n];if(this.getNodeDegree(o)>0)return this.toBeTiled[e]=!1,!1;if(null==o.getChild()){this.toBeTiled[o.id]=!1;continue}if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}return this.toBeTiled[e]=!0,!0},N.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),i=0,r=0;r<e.length;r++){var n=e[r];n.getSource().id!==n.getTarget().id&&(i+=1)}return i},N.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(null==t.getChild())return e;for(var i=t.getChild().getNodes(),r=0;r<i.length;r++){var n=i[r];e+=this.getNodeDegreeWithChildren(n)}return e},N.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},N.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var i=t[e];null!=i.getChild()&&this.fillCompexOrderByDFS(i.getChild().getNodes()),this.getToBeTiled(i)&&this.compoundOrder.push(i)}},N.prototype.adjustLocations=function(t,e,i,r,n,o,a){e+=r+o,i+=n+a;for(var s=e,h=0;h<t.rows.length;h++){var l=t.rows[h];e=s;for(var d=0,g=0;g<l.length;g++){var c=l[g];c.rect.x=e,c.rect.y=i,e+=c.rect.width+t.horizontalPadding,c.rect.height>d&&(d=c.rect.height)}i+=d+t.verticalPadding}},N.prototype.tileCompoundMembers=function(t,e){var i=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(r){var n=e[r];if(i.tiledMemberPack[r]=i.tileNodes(t[r],n.paddingLeft+n.paddingRight),n.rect.width=i.tiledMemberPack[r].width,n.rect.height=i.tiledMemberPack[r].height,n.setCenter(i.tiledMemberPack[r].centerX,i.tiledMemberPack[r].centerY),n.labelMarginLeft=0,n.labelMarginTop=0,h.NODE_DIMENSIONS_INCLUDE_LABELS){var o=n.rect.width,a=n.rect.height;n.labelWidth&&("left"==n.labelPosHorizontal?(n.rect.x-=n.labelWidth,n.setWidth(o+n.labelWidth),n.labelMarginLeft=n.labelWidth):"center"==n.labelPosHorizontal&&n.labelWidth>o?(n.rect.x-=(n.labelWidth-o)/2,n.setWidth(n.labelWidth),n.labelMarginLeft=(n.labelWidth-o)/2):"right"==n.labelPosHorizontal&&n.setWidth(o+n.labelWidth)),n.labelHeight&&("top"==n.labelPosVertical?(n.rect.y-=n.labelHeight,n.setHeight(a+n.labelHeight),n.labelMarginTop=n.labelHeight):"center"==n.labelPosVertical&&n.labelHeight>a?(n.rect.y-=(n.labelHeight-a)/2,n.setHeight(n.labelHeight),n.labelMarginTop=(n.labelHeight-a)/2):"bottom"==n.labelPosVertical&&n.setHeight(a+n.labelHeight))}})},N.prototype.tileNodes=function(t,e){var i=this.tileNodesByFavoringDim(t,e,!0),r=this.tileNodesByFavoringDim(t,e,!1),n=this.getOrgRatio(i);return this.getOrgRatio(r)<n?r:i},N.prototype.getOrgRatio=function(t){var e=t.width/t.height;return e<1&&(e=1/e),e},N.prototype.calcIdealRowWidth=function(t,e){var i,r=h.TILING_PADDING_VERTICAL,n=h.TILING_PADDING_HORIZONTAL,o=t.length,a=0,s=0,l=0;t.forEach(function(t){a+=t.getWidth(),s+=t.getHeight(),t.getWidth()>l&&(l=t.getWidth())});var d=a/o,g=Math.pow(r-n,2)+4*(d+n)*(s/o+r)*o,c=(n-r+Math.sqrt(g))/(2*(d+n));e?(i=Math.ceil(c))==c&&i++:i=Math.floor(c);var u=i*(d+n)-n;return l>u&&(u=l),u+=2*n},N.prototype.tileNodesByFavoringDim=function(t,e,i){var r=h.TILING_PADDING_VERTICAL,n=h.TILING_PADDING_HORIZONTAL,o=h.TILING_COMPARE_BY,a={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:n,centerX:0,centerY:0};o&&(a.idealRowWidth=this.calcIdealRowWidth(t,i));var s=function(t){return t.rect.width*t.rect.height},l=function(t,e){return s(e)-s(t)};t.sort(function(t,e){var i=l;return a.idealRowWidth?(i=o)(t.id,e.id):i(t,e)});for(var d=0,g=0,c=0;c<t.length;c++){var u=t[c];d+=u.getCenterX(),g+=u.getCenterY()}a.centerX=d/t.length,a.centerY=g/t.length;for(var c=0;c<t.length;c++){var u=t[c];if(0==a.rows.length)this.insertNodeToRow(a,u,0,e);else if(this.canAddHorizontal(a,u.rect.width,u.rect.height)){var f=a.rows.length-1;a.idealRowWidth||(f=this.getShortestRowIndex(a)),this.insertNodeToRow(a,u,f,e)}else this.insertNodeToRow(a,u,a.rows.length,e);this.shiftToLastRow(a)}return a},N.prototype.insertNodeToRow=function(t,e,i,r){i==t.rows.length&&(t.rows.push([]),t.rowWidth.push(r),t.rowHeight.push(0));var n=t.rowWidth[i]+e.rect.width;t.rows[i].length>0&&(n+=t.horizontalPadding),t.rowWidth[i]=n,t.width<n&&(t.width=n);var o=e.rect.height;i>0&&(o+=t.verticalPadding);var a=0;o>t.rowHeight[i]&&(a=t.rowHeight[i],t.rowHeight[i]=o,a=t.rowHeight[i]-a),t.height+=a,t.rows[i].push(e)},N.prototype.getShortestRowIndex=function(t){for(var e=-1,i=Number.MAX_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]<i&&(e=r,i=t.rowWidth[r]);return e},N.prototype.getLongestRowIndex=function(t){for(var e=-1,i=5e-324,r=0;r<t.rows.length;r++)t.rowWidth[r]>i&&(e=r,i=t.rowWidth[r]);return e},N.prototype.canAddHorizontal=function(t,e,i){if(t.idealRowWidth){var r,n,o=t.rows.length-1;return t.rowWidth[o]+e+t.horizontalPadding<=t.idealRowWidth}var a=this.getShortestRowIndex(t);if(a<0)return!0;var s=t.rowWidth[a];if(s+t.horizontalPadding+e<=t.width)return!0;var h=0;return t.rowHeight[a]<i&&a>0&&(h=i+t.verticalPadding-t.rowHeight[a]),r=t.width-s>=e+t.horizontalPadding?(t.height+h)/(s+e+t.horizontalPadding):(t.height+h)/t.width,h=i+t.verticalPadding,(n=t.width<e?(t.height+h)/e:(t.height+h)/t.width)<1&&(n=1/n),r<1&&(r=1/r),r<n},N.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),i=t.rowWidth.length-1,r=t.rows[e],n=r[r.length-1],o=n.width+t.horizontalPadding;if(t.width-t.rowWidth[i]>o&&e!=i){r.splice(-1,1),t.rows[i].push(n),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[i]=t.rowWidth[i]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=5e-324,s=0;s<r.length;s++)r[s].height>a&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var h=t.rowHeight[e]+t.rowHeight[i];t.rowHeight[e]=a,t.rowHeight[i]<n.height+t.verticalPadding&&(t.rowHeight[i]=n.height+t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[i];t.height+=l-h,this.shiftToLastRow(t)}},N.prototype.tilingPreLayout=function(){h.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},N.prototype.tilingPostLayout=function(){h.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},N.prototype.reduceTrees=function(){for(var t,e=[],i=!0;i;){var r=this.graphManager.getAllNodes(),n=[];i=!1;for(var o=0;o<r.length;o++)if(1==(t=r[o]).getEdges().length&&!t.getEdges()[0].isInterGraph&&null==t.getChild()){if(h.PURE_INCREMENTAL){var a=t.getEdges()[0].getOtherEnd(t),s=new f(t.getCenterX()-a.getCenterX(),t.getCenterY()-a.getCenterY());n.push([t,t.getEdges()[0],t.getOwner(),s])}else n.push([t,t.getEdges()[0],t.getOwner()]);i=!0}if(!0==i){for(var l=[],d=0;d<n.length;d++)1==n[d][0].getEdges().length&&(l.push(n[d]),n[d][0].getOwner().remove(n[d][0]));e.push(l),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=e},N.prototype.growTree=function(t){for(var e,i=t.length,r=t[i-1],n=0;n<r.length;n++)e=r[n],this.findPlaceforPrunedNode(e),e[2].add(e[0]),e[2].add(e[1],e[1].source,e[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},N.prototype.findPlaceforPrunedNode=function(t){var e=t[0];if(r=e==t[1].source?t[1].target:t[1].source,h.PURE_INCREMENTAL)e.setCenter(r.getCenterX()+t[3].getWidth(),r.getCenterY()+t[3].getHeight());else{var i,r,n,o,a=r.startX,s=r.finishX,l=r.startY,g=r.finishY,c=[0,0,0,0];if(l>0)for(var u=a;u<=s;u++)c[0]+=this.grid[u][l-1].length+this.grid[u][l].length-1;if(s<this.grid.length-1)for(var u=l;u<=g;u++)c[1]+=this.grid[s+1][u].length+this.grid[s][u].length-1;if(g<this.grid[0].length-1)for(var u=a;u<=s;u++)c[2]+=this.grid[u][g+1].length+this.grid[u][g].length-1;if(a>0)for(var u=l;u<=g;u++)c[3]+=this.grid[a-1][u].length+this.grid[a][u].length-1;for(var f=m.MAX_VALUE,p=0;p<c.length;p++)c[p]<f?(f=c[p],n=1,o=p):c[p]==f&&n++;if(3==n&&0==f)0==c[0]&&0==c[1]&&0==c[2]?i=1:0==c[0]&&0==c[1]&&0==c[3]?i=0:0==c[0]&&0==c[2]&&0==c[3]?i=3:0==c[1]&&0==c[2]&&0==c[3]&&(i=2);else if(2==n&&0==f){var v=Math.floor(2*Math.random());i=0==c[0]&&0==c[1]?+(0!=v):0==c[0]&&0==c[2]?2*(0!=v):0==c[0]&&0==c[3]?3*(0!=v):0==c[1]&&0==c[2]?0==v?1:2:0==c[1]&&0==c[3]?0==v?1:3:0==v?2:3}else if(4==n&&0==f){var v=Math.floor(4*Math.random());i=v}else i=o;0==i?e.setCenter(r.getCenterX(),r.getCenterY()-r.getHeight()/2-d.DEFAULT_EDGE_LENGTH-e.getHeight()/2):1==i?e.setCenter(r.getCenterX()+r.getWidth()/2+d.DEFAULT_EDGE_LENGTH+e.getWidth()/2,r.getCenterY()):2==i?e.setCenter(r.getCenterX(),r.getCenterY()+r.getHeight()/2+d.DEFAULT_EDGE_LENGTH+e.getHeight()/2):e.setCenter(r.getCenterX()-r.getWidth()/2-d.DEFAULT_EDGE_LENGTH-e.getWidth()/2,r.getCenterY())}},t.exports=N},991:(t,e,i)=>{var r=i(551).FDLayoutNode,n=i(551).IMath;function o(t,e,i,n){r.call(this,t,e,i,n)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(t,e){for(var i,r=this.getChild().getNodes(),n=0;n<r.length;n++)null==(i=r[n]).getChild()?(i.displacementX+=t,i.displacementY+=e):i.propogateDisplacementToChildren(t,e)},o.prototype.move=function(){var t=this.graphManager.getLayout();(null==this.child||0==this.child.getNodes().length)&&(this.moveBy(this.displacementX,this.displacementY),t.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},o.prototype.setPred1=function(t){this.pred1=t},o.prototype.getPred1=function(){return pred1},o.prototype.getPred2=function(){return pred2},o.prototype.setNext=function(t){this.next=t},o.prototype.getNext=function(){return next},o.prototype.setProcessed=function(t){this.processed=t},o.prototype.isProcessed=function(){return processed},t.exports=o},902:(t,e,i)=>{function r(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}var n=i(806),o=i(551).LinkedList,a=i(551).Matrix,s=i(551).SVD;function h(){}h.handleConstraints=function(t){var e={};e.fixedNodeConstraint=t.constraints.fixedNodeConstraint,e.alignmentConstraint=t.constraints.alignmentConstraint,e.relativePlacementConstraint=t.constraints.relativePlacementConstraint;for(var i=new Map,h=new Map,l=[],d=[],g=t.getAllNodes(),c=0,u=0;u<g.length;u++){var f=g[u];null==f.getChild()&&(h.set(f.id,c++),l.push(f.getCenterX()),d.push(f.getCenterY()),i.set(f.id,f))}e.relativePlacementConstraint&&e.relativePlacementConstraint.forEach(function(t){t.gap||0==t.gap||(t.left?t.gap=n.DEFAULT_EDGE_LENGTH+i.get(t.left).getWidth()/2+i.get(t.right).getWidth()/2:t.gap=n.DEFAULT_EDGE_LENGTH+i.get(t.top).getHeight()/2+i.get(t.bottom).getHeight()/2)});var p=function(t){var e=0,i=0;return t.forEach(function(t){e+=l[h.get(t)],i+=d[h.get(t)]}),{x:e/t.size,y:i/t.size}},m=function(t,e,i,n,a){var s=new Map;t.forEach(function(t,e){s.set(e,0)}),t.forEach(function(t,e){t.forEach(function(t){s.set(t.id,s.get(t.id)+1)})});var g=new Map,c=new Map,u=new o;for(s.forEach(function(t,r){0==t?(u.push(r),i||("horizontal"==e?g.set(r,h.has(r)?l[h.get(r)]:n.get(r)):g.set(r,h.has(r)?d[h.get(r)]:n.get(r)))):g.set(r,-1/0),i&&c.set(r,new Set([r]))}),i&&a.forEach(function(t){var r=[];if(t.forEach(function(t){i.has(t)&&r.push(t)}),r.length>0){var o=0;r.forEach(function(t){"horizontal"==e?g.set(t,h.has(t)?l[h.get(t)]:n.get(t)):g.set(t,h.has(t)?d[h.get(t)]:n.get(t)),o+=g.get(t)}),o/=r.length,t.forEach(function(t){i.has(t)||g.set(t,o)})}else{var a=0;t.forEach(function(t){"horizontal"==e?a+=h.has(t)?l[h.get(t)]:n.get(t):a+=h.has(t)?d[h.get(t)]:n.get(t)}),a/=t.length,t.forEach(function(t){g.set(t,a)})}});0!=u.length;)!function(){var r=u.shift();t.get(r).forEach(function(t){if(g.get(t.id)<g.get(r)+t.gap)if(i&&i.has(t.id)){var o=void 0;if(o="horizontal"==e?h.has(t.id)?l[h.get(t.id)]:n.get(t.id):h.has(t.id)?d[h.get(t.id)]:n.get(t.id),g.set(t.id,o),o<g.get(r)+t.gap){var a=g.get(r)+t.gap-o;c.get(r).forEach(function(t){g.set(t,g.get(t)-a)})}}else g.set(t.id,g.get(r)+t.gap);s.set(t.id,s.get(t.id)-1),0==s.get(t.id)&&u.push(t.id),i&&c.set(t.id,function(t,e){var i=new Set(t),r=!0,n=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var h=a.value;i.add(h)}}catch(t){n=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(n)throw o}}return i}(c.get(r),c.get(t.id)))})}();if(i){var f=new Set;t.forEach(function(t,e){0==t.length&&f.add(e)});var p=[];c.forEach(function(t,e){if(f.has(e)){var n=!1,o=!0,a=!1,s=void 0;try{for(var h,l=t[Symbol.iterator]();!(o=(h=l.next()).done);o=!0){var d=h.value;i.has(d)&&(n=!0)}}catch(t){a=!0,s=t}finally{try{!o&&l.return&&l.return()}finally{if(a)throw s}}if(!n){var g=!1,c=void 0;p.forEach(function(e,i){e.has([].concat(r(t))[0])&&(g=!0,c=i)}),g?t.forEach(function(t){p[c].add(t)}):p.push(new Set(t))}}}),p.forEach(function(t,i){var r=1/0,o=1/0,a=-1/0,s=-1/0,c=!0,u=!1,f=void 0;try{for(var p,m=t[Symbol.iterator]();!(c=(p=m.next()).done);c=!0){var v=p.value,y=void 0;y="horizontal"==e?h.has(v)?l[h.get(v)]:n.get(v):h.has(v)?d[h.get(v)]:n.get(v);var E=g.get(v);y<r&&(r=y),y>a&&(a=y),E<o&&(o=E),E>s&&(s=E)}}catch(t){u=!0,f=t}finally{try{!c&&m.return&&m.return()}finally{if(u)throw f}}var T=(r+a)/2-(o+s)/2,N=!0,A=!1,w=void 0;try{for(var L,C=t[Symbol.iterator]();!(N=(L=C.next()).done);N=!0){var M=L.value;g.set(M,g.get(M)+T)}}catch(t){A=!0,w=t}finally{try{!N&&C.return&&C.return()}finally{if(A)throw w}}})}return g},v=function(t){var e=0,i=0,r=0,n=0;if(t.forEach(function(t){t.left?l[h.get(t.left)]-l[h.get(t.right)]>=0?e++:i++:d[h.get(t.top)]-d[h.get(t.bottom)]>=0?r++:n++}),e>i&&r>n)for(var o=0;o<h.size;o++)l[o]=-1*l[o],d[o]=-1*d[o];else if(e>i)for(var a=0;a<h.size;a++)l[a]=-1*l[a];else if(r>n)for(var s=0;s<h.size;s++)d[s]=-1*d[s]},y=function(t){var e=[],i=new o,r=new Set,n=0;return t.forEach(function(o,a){if(!r.has(a)){e[n]=[];var s=a;for(i.push(s),r.add(s),e[n].push(s);0!=i.length;)s=i.shift(),t.get(s).forEach(function(t){r.has(t.id)||(i.push(t.id),r.add(t.id),e[n].push(t.id))});n++}}),e},E=function(t){var e=new Map;return t.forEach(function(t,i){e.set(i,[])}),t.forEach(function(t,i){t.forEach(function(t){e.get(i).push(t),e.get(t.id).push({id:i,gap:t.gap,direction:t.direction})})}),e},T=function(t){var e=new Map;return t.forEach(function(t,i){e.set(i,[])}),t.forEach(function(t,i){t.forEach(function(t){e.get(t.id).push({id:i,gap:t.gap,direction:t.direction})})}),e},N=[],A=[],w=!1,L=!1,C=new Set,M=new Map,_=new Map,I=[];if(e.fixedNodeConstraint&&e.fixedNodeConstraint.forEach(function(t){C.add(t.nodeId)}),e.relativePlacementConstraint&&(e.relativePlacementConstraint.forEach(function(t){t.left?(M.has(t.left)?M.get(t.left).push({id:t.right,gap:t.gap,direction:"horizontal"}):M.set(t.left,[{id:t.right,gap:t.gap,direction:"horizontal"}]),M.has(t.right)||M.set(t.right,[])):(M.has(t.top)?M.get(t.top).push({id:t.bottom,gap:t.gap,direction:"vertical"}):M.set(t.top,[{id:t.bottom,gap:t.gap,direction:"vertical"}]),M.has(t.bottom)||M.set(t.bottom,[]))}),I=y(_=E(M))),n.TRANSFORM_ON_CONSTRAINT_HANDLING){if(e.fixedNodeConstraint&&e.fixedNodeConstraint.length>1)e.fixedNodeConstraint.forEach(function(t,e){N[e]=[t.position.x,t.position.y],A[e]=[l[h.get(t.nodeId)],d[h.get(t.nodeId)]]}),w=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var i=e.alignmentConstraint.vertical,n=0;n<i.length;n++)!function(e){var n=new Set;i[e].forEach(function(t){n.add(t)});var o=new Set([].concat(r(n)).filter(function(t){return C.has(t)})),a=void 0;a=o.size>0?l[h.get(o.values().next().value)]:p(n).x,i[e].forEach(function(e){N[t]=[a,d[h.get(e)]],A[t]=[l[h.get(e)],d[h.get(e)]],t++})}(n);w=!0}if(e.alignmentConstraint.horizontal){for(var o=e.alignmentConstraint.horizontal,a=0;a<o.length;a++)!function(e){var i=new Set;o[e].forEach(function(t){i.add(t)});var n=new Set([].concat(r(i)).filter(function(t){return C.has(t)})),a=void 0;a=n.size>0?l[h.get(n.values().next().value)]:p(i).y,o[e].forEach(function(e){N[t]=[l[h.get(e)],a],A[t]=[l[h.get(e)],d[h.get(e)]],t++})}(a);w=!0}e.relativePlacementConstraint&&(L=!0)}();else if(e.relativePlacementConstraint){for(var x=0,O=0,D=0;D<I.length;D++)I[D].length>x&&(x=I[D].length,O=D);if(x<_.size/2)v(e.relativePlacementConstraint),w=!1,L=!1;else{var R=new Map,b=new Map,F=[];I[O].forEach(function(t){M.get(t).forEach(function(e){"horizontal"==e.direction?(R.has(t)?R.get(t).push(e):R.set(t,[e]),R.has(e.id)||R.set(e.id,[]),F.push({left:t,right:e.id})):(b.has(t)?b.get(t).push(e):b.set(t,[e]),b.has(e.id)||b.set(e.id,[]),F.push({top:t,bottom:e.id}))})}),v(F),L=!1;var S=m(R,"horizontal"),G=m(b,"vertical");I[O].forEach(function(t,e){A[e]=[l[h.get(t)],d[h.get(t)]],N[e]=[],S.has(t)?N[e][0]=S.get(t):N[e][0]=l[h.get(t)],G.has(t)?N[e][1]=G.get(t):N[e][1]=d[h.get(t)]}),w=!0}}if(w){for(var P=void 0,U=a.transpose(N),k=a.transpose(A),Y=0;Y<U.length;Y++)U[Y]=a.multGamma(U[Y]),k[Y]=a.multGamma(k[Y]);var H=a.multMat(U,a.transpose(k)),X=s.svd(H);P=a.multMat(X.V,a.transpose(X.U));for(var z=0;z<h.size;z++){var B=[l[z],d[z]],V=[P[0][0],P[1][0]],W=[P[0][1],P[1][1]];l[z]=a.dotProduct(B,V),d[z]=a.dotProduct(B,W)}L&&v(e.relativePlacementConstraint)}}if(n.ENFORCE_CONSTRAINTS){if(e.fixedNodeConstraint&&e.fixedNodeConstraint.length>0){var $={x:0,y:0};e.fixedNodeConstraint.forEach(function(t,e){var i,r={x:l[h.get(t.nodeId)],y:d[h.get(t.nodeId)]},n=(i=t.position,{x:i.x-r.x,y:i.y-r.y});$.x+=n.x,$.y+=n.y}),$.x/=e.fixedNodeConstraint.length,$.y/=e.fixedNodeConstraint.length,l.forEach(function(t,e){l[e]+=$.x}),d.forEach(function(t,e){d[e]+=$.y}),e.fixedNodeConstraint.forEach(function(t){l[h.get(t.nodeId)]=t.position.x,d[h.get(t.nodeId)]=t.position.y})}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var j=e.alignmentConstraint.vertical,q=0;q<j.length;q++)!function(t){var e=new Set;j[t].forEach(function(t){e.add(t)});var i=new Set([].concat(r(e)).filter(function(t){return C.has(t)})),n=void 0;n=i.size>0?l[h.get(i.values().next().value)]:p(e).x,e.forEach(function(t){C.has(t)||(l[h.get(t)]=n)})}(q);if(e.alignmentConstraint.horizontal)for(var K=e.alignmentConstraint.horizontal,Z=0;Z<K.length;Z++)!function(t){var e=new Set;K[t].forEach(function(t){e.add(t)});var i=new Set([].concat(r(e)).filter(function(t){return C.has(t)})),n=void 0;n=i.size>0?d[h.get(i.values().next().value)]:p(e).y,e.forEach(function(t){C.has(t)||(d[h.get(t)]=n)})}(Z)}e.relativePlacementConstraint&&function(){var t=new Map,i=new Map,r=new Map,n=new Map,o=new Map,a=new Map,s=new Set,g=new Set;if(C.forEach(function(t){s.add(t),g.add(t)}),e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var c=e.alignmentConstraint.vertical,u=function(e){r.set("dummy"+e,[]),c[e].forEach(function(i){t.set(i,"dummy"+e),r.get("dummy"+e).push(i),C.has(i)&&s.add("dummy"+e)}),o.set("dummy"+e,l[h.get(c[e][0])])},f=0;f<c.length;f++)u(f);if(e.alignmentConstraint.horizontal)for(var p=e.alignmentConstraint.horizontal,v=function(t){n.set("dummy"+t,[]),p[t].forEach(function(e){i.set(e,"dummy"+t),n.get("dummy"+t).push(e),C.has(e)&&g.add("dummy"+t)}),a.set("dummy"+t,d[h.get(p[t][0])])},N=0;N<p.length;N++)v(N)}var A=new Map,w=new Map,L=function(e){M.get(e).forEach(function(r){var n=void 0,o=void 0;"horizontal"==r.direction?(n=t.get(e)?t.get(e):e,o=t.get(r.id)?{id:t.get(r.id),gap:r.gap,direction:r.direction}:r,A.has(n)?A.get(n).push(o):A.set(n,[o]),A.has(o.id)||A.set(o.id,[])):(n=i.get(e)?i.get(e):e,o=i.get(r.id)?{id:i.get(r.id),gap:r.gap,direction:r.direction}:r,w.has(n)?w.get(n).push(o):w.set(n,[o]),w.has(o.id)||w.set(o.id,[]))})},_=!0,I=!1,x=void 0;try{for(var O,D=M.keys()[Symbol.iterator]();!(_=(O=D.next()).done);_=!0){var R=O.value;L(R)}}catch(t){I=!0,x=t}finally{try{!_&&D.return&&D.return()}finally{if(I)throw x}}var b=E(A),F=E(w),S=y(b),G=y(F),P=T(A),U=T(w),k=[],Y=[];S.forEach(function(t,e){k[e]=[],t.forEach(function(t){0==P.get(t).length&&k[e].push(t)})}),G.forEach(function(t,e){Y[e]=[],t.forEach(function(t){0==U.get(t).length&&Y[e].push(t)})});var H=m(A,"horizontal",s,o,k),X=m(w,"vertical",g,a,Y),z=function(t){r.get(t)?r.get(t).forEach(function(e){l[h.get(e)]=H.get(t)}):l[h.get(t)]=H.get(t)},B=!0,V=!1,W=void 0;try{for(var $,j=H.keys()[Symbol.iterator]();!(B=($=j.next()).done);B=!0){var q=$.value;z(q)}}catch(t){V=!0,W=t}finally{try{!B&&j.return&&j.return()}finally{if(V)throw W}}var K=function(t){n.get(t)?n.get(t).forEach(function(e){d[h.get(e)]=X.get(t)}):d[h.get(t)]=X.get(t)},Z=!0,Q=!1,J=void 0;try{for(var tt,te=X.keys()[Symbol.iterator]();!(Z=(tt=te.next()).done);Z=!0){var q=tt.value;K(q)}}catch(t){Q=!0,J=t}finally{try{!Z&&te.return&&te.return()}finally{if(Q)throw J}}}()}for(var Q=0;Q<g.length;Q++){var J=g[Q];null==J.getChild()&&J.setCenter(l[h.get(J.id)],d[h.get(J.id)])}},t.exports=h},551:t=>{t.exports=r}},e={};return function i(r){var n=e[r];if(void 0!==n)return n.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,i),o.exports}(45)})()},4298(t){t.exports=function(){var t=[function(t,e,i){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(8),o=i(9);function a(t,e,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=t,this.target=e}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.getSource=function(){return this.source},a.prototype.getTarget=function(){return this.target},a.prototype.isInterGraph=function(){return this.isInterGraph},a.prototype.getLength=function(){return this.length},a.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},a.prototype.getBendpoints=function(){return this.bendpoints},a.prototype.getLca=function(){return this.lca},a.prototype.getSourceInLca=function(){return this.sourceInLca},a.prototype.getTargetInLca=function(){return this.targetInLca},a.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},a.prototype.getOtherEndInGraph=function(t,e){for(var i=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(i.getOwner()==e)return i;if(i.getOwner()==r)break;i=i.getOwner().getParent()}return null},a.prototype.updateLength=function(){var t=[,,,,];this.isOverlapingSourceAndTarget=n.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},a.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=a},function(t,e,i){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(13),a=i(0),s=i(16),h=i(5);function l(t,e,i,a){null==i&&null==a&&(a=e),r.call(this,a),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=n.MIN_VALUE,this.inclusionTreeDepth=n.MAX_VALUE,this.vGraphObject=a,this.edges=[],this.graphManager=t,null!=i&&null!=e?this.rect=new o(e.x,e.y,i.width,i.height):this.rect=new o}for(var d in l.prototype=Object.create(r.prototype),r)l[d]=r[d];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(t){this.rect.width=t},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(t){this.rect.height=t},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},l.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},l.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},l.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},l.prototype.getEdgeListToNode=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.target==t){if(r.source!=i)throw"Incorrect edge source!";e.push(r)}}),e},l.prototype.getEdgesBetween=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.source!=i&&r.target!=i)throw"Incorrect edge source and/or target";(r.target==t||r.source==t)&&e.push(r)}),e},l.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach(function(i){if(i.source==e)t.add(i.target);else{if(i.target!=e)throw"Incorrect incidency!";t.add(i.source)}}),t},l.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),i=0;i<e.length;i++)e[i].withChildren().forEach(function(e){t.add(e)});return t},l.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var e=this.child.getNodes(),i=0;i<e.length;i++)t+=e[i].getNoOfChildren();return 0==t&&(t=1),t},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},l.prototype.scatter=function(){var t,e,i=-a.INITIAL_WORLD_BOUNDARY,r=a.INITIAL_WORLD_BOUNDARY;t=a.WORLD_CENTER_X+s.nextDouble()*(r-i)+i;var n=-a.INITIAL_WORLD_BOUNDARY,o=a.INITIAL_WORLD_BOUNDARY;e=a.WORLD_CENTER_Y+s.nextDouble()*(o-n)+n,this.rect.x=t,this.rect.y=e},l.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),a.NODE_DIMENSIONS_INCLUDE_LABELS){var e=t.getRight()-t.getLeft(),i=t.getBottom()-t.getTop();this.labelWidth&&("left"==this.labelPosHorizontal?(this.rect.x-=this.labelWidth,this.setWidth(e+this.labelWidth)):"center"==this.labelPosHorizontal&&this.labelWidth>e?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(i+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>i?(this.rect.y-=(this.labelHeight-i)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(i+this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==n.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var i=this.rect.y;i>a.WORLD_BOUNDARY?i=a.WORLD_BOUNDARY:i<-a.WORLD_BOUNDARY&&(i=-a.WORLD_BOUNDARY);var r=new h(e,i),n=t.inverseTransformPoint(r);this.setLocation(n.x,n.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,i){"use strict";var r=i(0);function n(){}for(var o in r)n[o]=r[o];n.MAX_ITERATIONS=2500,n.DEFAULT_EDGE_LENGTH=50,n.DEFAULT_SPRING_STRENGTH=.45,n.DEFAULT_REPULSION_STRENGTH=4500,n.DEFAULT_GRAVITY_STRENGTH=.4,n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,n.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,n.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,n.COOLING_ADAPTATION_FACTOR=.33,n.ADAPTATION_LOWER_NODE_LIMIT=1e3,n.ADAPTATION_UPPER_NODE_LIMIT=5e3,n.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,n.MAX_NODE_DISPLACEMENT=3*n.MAX_NODE_DISPLACEMENT_INCREMENTAL,n.MIN_REPULSION_DIST=n.DEFAULT_EDGE_LENGTH/10,n.CONVERGENCE_CHECK_PERIOD=100,n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,n.MIN_EDGE_LENGTH=1,n.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=n},function(t,e,i){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(0),a=i(7),s=i(3),h=i(1),l=i(13),d=i(12),g=i(11);function c(t,e,i){r.call(this,i),this.estimatedSize=n.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.getNodes=function(){return this.nodes},c.prototype.getEdges=function(){return this.edges},c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getParent=function(){return this.parent},c.prototype.getLeft=function(){return this.left},c.prototype.getRight=function(){return this.right},c.prototype.getTop=function(){return this.top},c.prototype.getBottom=function(){return this.bottom},c.prototype.isConnected=function(){return this.isConnected},c.prototype.add=function(t,e,i){if(null==e&&null==i){if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(t)>-1)throw"Node already in graph!";return t.owner=this,this.getNodes().push(t),t}if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(i)>-1))throw"Source or target not in graph!";if(e.owner!=i.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=i.owner?null:(t.source=e,t.target=i,t.isInterGraph=!1,this.getEdges().push(t),e.edges.push(t),i!=e&&i.edges.push(t),t)},c.prototype.remove=function(t){if(t instanceof s){if(null==t)throw"Node is null!";if(null==t.owner||t.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var e,i=t.edges.slice(),r=i.length,n=0;n<r;n++)(e=i[n]).isInterGraph?this.graphManager.remove(e):e.source.owner.remove(e);var o=this.nodes.indexOf(t);if(-1==o)throw"Node not in owner node list!";this.nodes.splice(o,1)}else if(t instanceof h){var e=t;if(null==e)throw"Edge is null!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(null==e.source.owner||null==e.target.owner||e.source.owner!=this||e.target.owner!=this)throw"Source and/or target owner is invalid!";var a=e.source.edges.indexOf(e),l=e.target.edges.indexOf(e);if(!(a>-1&&l>-1))throw"Source and/or target doesn't know this edge!";e.source.edges.splice(a,1),e.target!=e.source&&e.target.edges.splice(l,1);var o=e.source.owner.getEdges().indexOf(e);if(-1==o)throw"Not in owner's edge list!";e.source.owner.getEdges().splice(o,1)}},c.prototype.updateLeftTop=function(){for(var t,e,i,r=n.MAX_VALUE,o=n.MAX_VALUE,a=this.getNodes(),s=a.length,h=0;h<s;h++){var l=a[h];t=l.getTop(),e=l.getLeft(),r>t&&(r=t),o>e&&(o=e)}return r==n.MAX_VALUE?null:(i=void 0!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-i,this.top=r-i,new d(this.left,this.top))},c.prototype.updateBounds=function(t){for(var e,i,r,o,a,s=n.MAX_VALUE,h=-n.MAX_VALUE,d=n.MAX_VALUE,g=-n.MAX_VALUE,c=this.nodes,u=c.length,f=0;f<u;f++){var p=c[f];t&&null!=p.child&&p.updateBounds(),e=p.getLeft(),i=p.getRight(),r=p.getTop(),o=p.getBottom(),s>e&&(s=e),h<i&&(h=i),d>r&&(d=r),g<o&&(g=o)}var m=new l(s,d,h-s,g-d);s==n.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=void 0!=c[0].getParent().paddingLeft?c[0].getParent().paddingLeft:this.margin,this.left=m.x-a,this.right=m.x+m.width+a,this.top=m.y-a,this.bottom=m.y+m.height+a},c.calculateBounds=function(t){for(var e,i,r,o,a=n.MAX_VALUE,s=-n.MAX_VALUE,h=n.MAX_VALUE,d=-n.MAX_VALUE,g=t.length,c=0;c<g;c++){var u=t[c];e=u.getLeft(),i=u.getRight(),r=u.getTop(),o=u.getBottom(),a>e&&(a=e),s<i&&(s=i),h>r&&(h=r),d<o&&(d=o)}return new l(a,h,s-a,d-h)},c.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},c.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},c.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,i=e.length,r=0;r<i;r++)t+=e[r].calcEstimatedSize();return 0==t?this.estimatedSize=o.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=t/Math.sqrt(this.nodes.length),this.estimatedSize},c.prototype.updateConnected=function(){var t,e,i=this;if(0==this.nodes.length){this.isConnected=!0;return}var r=new g,n=new Set,o=this.nodes[0];for(o.withChildren().forEach(function(t){r.push(t),n.add(t)});0!==r.length;)for(var a=(t=(o=r.shift()).getEdges()).length,s=0;s<a;s++)null==(e=t[s].getOtherEndInGraph(o,this))||n.has(e)||e.withChildren().forEach(function(t){r.push(t),n.add(t)});if(this.isConnected=!1,n.size>=this.nodes.length){var h=0;n.forEach(function(t){t.owner==i&&h++}),h==this.nodes.length&&(this.isConnected=!0)}},t.exports=c},function(t,e,i){"use strict";var r,n=i(1);function o(t){r=i(6),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),i=this.add(t,e);return this.setRootGraph(i),this.rootGraph},o.prototype.add=function(t,e,i,r,n){if(null==i&&null==r&&null==n){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}n=i,r=e,i=t;var o=r.getOwner(),a=n.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return i.isInterGraph=!1,o.add(i,r,n);if(i.isInterGraph=!0,i.source=r,i.target=n,this.edges.indexOf(i)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(i),null==i.source||null==i.target)throw"Edge source and/or target is null!";if(-1!=i.source.edges.indexOf(i)||-1!=i.target.edges.indexOf(i))throw"Edge already in source and/or target incidency list!";return i.source.edges.push(i),i.target.edges.push(i),i},o.prototype.remove=function(t){if(t instanceof r){if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(t!=this.rootGraph&&(null==t.parent||t.parent.graphManager!=this))throw"Invalid parent node!";for(var e,i,o=[],a=(o=o.concat(t.getEdges())).length,s=0;s<a;s++)e=o[s],t.remove(e);var h=[];a=(h=h.concat(t.getNodes())).length;for(var s=0;s<a;s++)i=h[s],t.remove(i);t==this.rootGraph&&this.setRootGraph(null);var l=this.graphs.indexOf(t);this.graphs.splice(l,1),t.parent=null}else if(t instanceof n){if(null==(e=t))throw"Edge is null!";if(!e.isInterGraph)throw"Not an inter-graph edge!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(-1==e.source.edges.indexOf(e)||-1==e.target.edges.indexOf(e))throw"Source and/or target doesn't know this edge!";var l=e.source.edges.indexOf(e);if(e.source.edges.splice(l,1),l=e.target.edges.indexOf(e),e.target.edges.splice(l,1),null==e.source.owner||null==e.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==e.source.owner.getGraphManager().edges.indexOf(e))throw"Not in owner graph manager's edge list!";var l=e.source.owner.getGraphManager().edges.indexOf(e);e.source.owner.getGraphManager().edges.splice(l,1)}},o.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},o.prototype.getGraphs=function(){return this.graphs},o.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],e=this.getGraphs(),i=e.length,r=0;r<i;r++)t=t.concat(e[r].getNodes());this.allNodes=t}return this.allNodes},o.prototype.resetAllNodes=function(){this.allNodes=null},o.prototype.resetAllEdges=function(){this.allEdges=null},o.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},o.prototype.getAllEdges=function(){if(null==this.allEdges){var t=[],e=this.getGraphs();e.length;for(var i=0;i<e.length;i++)t=t.concat(e[i].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},o.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},o.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},o.prototype.getRoot=function(){return this.rootGraph},o.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},o.prototype.getLayout=function(){return this.layout},o.prototype.isOneAncestorOfOther=function(t,e){if(null==t||null==e)throw"assert failed";if(t==e)return!0;for(var i,r=t.getOwner();null!=(i=r.getParent());){if(i==e)return!0;if(null==(r=i.getOwner()))break}for(r=e.getOwner();null!=(i=r.getParent());){if(i==t)return!0;if(null==(r=i.getOwner()))break}return!1},o.prototype.calcLowestCommonAncestors=function(){for(var t,e,i,r,n,o=this.getAllEdges(),a=o.length,s=0;s<a;s++){if(e=(t=o[s]).source,i=t.target,t.lca=null,t.sourceInLca=e,t.targetInLca=i,e==i){t.lca=e.getOwner();continue}for(r=e.getOwner();null==t.lca;){for(t.targetInLca=i,n=i.getOwner();null==t.lca;){if(n==r){t.lca=n;break}if(n==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=n.getParent(),n=t.targetInLca.getOwner()}if(r==this.rootGraph)break;null==t.lca&&(t.sourceInLca=r.getParent(),r=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}},o.prototype.calcLowestCommonAncestor=function(t,e){if(t==e)return t.getOwner();for(var i=t.getOwner();null!=i;){for(var r=e.getOwner();null!=r;){if(r==i)return r;r=r.getParent().getOwner()}i=i.getParent().getOwner()}return i},o.prototype.calcInclusionTreeDepths=function(t,e){null==t&&null==e&&(t=this.rootGraph,e=1);for(var i,r=t.getNodes(),n=r.length,o=0;o<n;o++)(i=r[o]).inclusionTreeDepth=e,null!=i.child&&this.calcInclusionTreeDepths(i.child,e+1)},o.prototype.includesInvalidEdge=function(){for(var t,e=[],i=this.edges.length,r=0;r<i;r++)t=this.edges[r],this.isOneAncestorOfOther(t.source,t.target)&&e.push(t);for(var r=0;r<e.length;r++)this.remove(e[r]);return!1},t.exports=o},function(t,e,i){"use strict";var r=i(12);function n(){}n.calcSeparationAmount=function(t,e,i,r){if(!t.intersects(e))throw"assert failed";var n=[,,];this.decideDirectionsForOverlappingNodes(t,e,n),i[0]=Math.min(t.getRight(),e.getRight())-Math.max(t.x,e.x),i[1]=Math.min(t.getBottom(),e.getBottom())-Math.max(t.y,e.y),t.getX()<=e.getX()&&t.getRight()>=e.getRight()?i[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(i[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(i[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*i[0],s=i[1]/o;i[0]<s?s=i[0]:a=i[1],i[0]=-1*n[0]*(s/2+r),i[1]=-1*n[1]*(a/2+r)},n.decideDirectionsForOverlappingNodes=function(t,e,i){t.getCenterX()<e.getCenterX()?i[0]=-1:i[0]=1,t.getCenterY()<e.getCenterY()?i[1]=-1:i[1]=1},n.getIntersection2=function(t,e,i){var r=t.getCenterX(),n=t.getCenterY(),o=e.getCenterX(),a=e.getCenterY();if(t.intersects(e))return i[0]=r,i[1]=n,i[2]=o,i[3]=a,!0;var s=t.getX(),h=t.getY(),l=t.getRight(),d=t.getX(),g=t.getBottom(),c=t.getRight(),u=t.getWidthHalf(),f=t.getHeightHalf(),p=e.getX(),m=e.getY(),v=e.getRight(),y=e.getX(),E=e.getBottom(),T=e.getRight(),N=e.getWidthHalf(),A=e.getHeightHalf(),w=!1,L=!1;if(r===o)n>a?(i[0]=r,i[1]=h,i[2]=o,i[3]=E):n<a&&(i[0]=r,i[1]=g,i[2]=o,i[3]=m);else if(n===a)r>o?(i[0]=s,i[1]=n,i[2]=v,i[3]=a):r<o&&(i[0]=l,i[1]=n,i[2]=p,i[3]=a);else{var C=t.height/t.width,M=e.height/e.width,_=(a-n)/(o-r),I=void 0,x=void 0,O=void 0,D=void 0,R=void 0,b=void 0;if(-C===_?(r>o?(i[0]=d,i[1]=g):(i[0]=l,i[1]=h),w=!0):C===_&&(r>o?(i[0]=s,i[1]=h):(i[0]=c,i[1]=g),w=!0),-M===_?(o>r?(i[2]=y,i[3]=E):(i[2]=v,i[3]=m),L=!0):M===_&&(o>r?(i[2]=p,i[3]=m):(i[2]=T,i[3]=E),L=!0),w&&L)return!1;if(r>o?n>a?(I=this.getCardinalDirection(C,_,4),x=this.getCardinalDirection(M,_,2)):(I=this.getCardinalDirection(-C,_,3),x=this.getCardinalDirection(-M,_,1)):n>a?(I=this.getCardinalDirection(-C,_,1),x=this.getCardinalDirection(-M,_,3)):(I=this.getCardinalDirection(C,_,2),x=this.getCardinalDirection(M,_,4)),!w)switch(I){case 1:D=h,O=r+-f/_,i[0]=O,i[1]=D;break;case 2:O=c,D=n+u*_,i[0]=O,i[1]=D;break;case 3:D=g,O=r+f/_,i[0]=O,i[1]=D;break;case 4:O=d,D=n+-u*_,i[0]=O,i[1]=D}if(!L)switch(x){case 1:b=m,R=o+-A/_,i[2]=R,i[3]=b;break;case 2:R=T,b=a+N*_,i[2]=R,i[3]=b;break;case 3:b=E,R=o+A/_,i[2]=R,i[3]=b;break;case 4:R=y,b=a+-N*_,i[2]=R,i[3]=b}}return!1},n.getCardinalDirection=function(t,e,i){return t>e?i:1+i%4},n.getIntersection=function(t,e,i,n){if(null==n)return this.getIntersection2(t,e,i);var o=t.x,a=t.y,s=e.x,h=e.y,l=i.x,d=i.y,g=n.x,c=n.y,u=void 0,f=void 0,p=void 0,m=void 0,v=void 0,y=void 0,E=void 0;return(u=h-a,p=o-s,v=s*a-o*h,f=c-d,m=l-g,y=g*d-l*c,0==(E=u*m-f*p))?null:new r((p*y-m*v)/E,(f*v-u*y)/E)},n.angleOfVector=function(t,e,i,r){var n=void 0;return t!==i?(n=Math.atan((r-e)/(i-t)),i<t?n+=Math.PI:r<e&&(n+=this.TWO_PI)):n=r<e?this.ONE_AND_HALF_PI:this.HALF_PI,n},n.doIntersect=function(t,e,i,r){var n=t.x,o=t.y,a=e.x,s=e.y,h=i.x,l=i.y,d=r.x,g=r.y,c=(a-n)*(g-l)-(d-h)*(s-o);if(0===c)return!1;var u=((g-l)*(d-n)+(h-d)*(g-o))/c,f=((o-s)*(d-n)+(a-n)*(g-o))/c;return 0<u&&u<1&&0<f&&f<1},n.findCircleLineIntersections=function(t,e,i,r,n,o,a){var s=(i-t)*(i-t)+(r-e)*(r-e),h=2*((t-n)*(i-t)+(e-o)*(r-e)),l=(t-n)*(t-n)+(e-o)*(e-o)-a*a;if(!(h*h-4*s*l>=0))return null;var d=(-h+Math.sqrt(h*h-4*s*l))/(2*s),g=(-h-Math.sqrt(h*h-4*s*l))/(2*s);return d>=0&&d<=1?[d]:g>=0&&g<=1?[g]:null},n.HALF_PI=.5*Math.PI,n.ONE_AND_HALF_PI=1.5*Math.PI,n.TWO_PI=2*Math.PI,n.THREE_PI=3*Math.PI,t.exports=n},function(t,e,i){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,i){"use strict";function r(){}r.MAX_VALUE=0x7fffffff,r.MIN_VALUE=-0x80000000,t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=function(t){return{value:t,next:null,prev:null}},o=function(t,e,i,r){return null!==t?t.next=e:r.head=e,null!==i?i.prev=e:r.tail=e,e.prev=t,e.next=i,r.length++,e},a=function(t,e){var i=t.prev,r=t.next;return null!==i?i.next=r:e.head=r,null!==r?r.prev=i:e.tail=i,t.prev=t.next=null,e.length--,t};t.exports=function(){function t(e){var i=this;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.length=0,this.head=null,this.tail=null,null!=e&&e.forEach(function(t){return i.push(t)})}return r(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,e){return o(e.prev,n(t),e,this)}},{key:"insertAfter",value:function(t,e){return o(e,n(t),e.next,this)}},{key:"insertNodeBefore",value:function(t,e){return o(e.prev,t,e,this)}},{key:"insertNodeAfter",value:function(t,e){return o(e,t,e.next,this)}},{key:"push",value:function(t){return o(this.tail,n(t),null,this)}},{key:"unshift",value:function(t){return o(null,n(t),this.head,this)}},{key:"remove",value:function(t){return a(t,this)}},{key:"pop",value:function(){return a(this.tail,this).value}},{key:"popNode",value:function(){return a(this.tail,this)}},{key:"shift",value:function(){return a(this.head,this).value}},{key:"shiftNode",value:function(){return a(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var e=1,i=this.head;e<t;)i=i.next,e++;return i.value}}},{key:"set_object_at",value:function(t,e){if(t<=this.length()){for(var i=1,r=this.head;i<t;)r=r.next,i++;r.value=e}}}]),t}()},function(t,e,i){"use strict";function r(t,e,i){this.x=null,this.y=null,null==t&&null==e&&null==i?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof e&&null==i?(this.x=t,this.y=e):"Point"==t.constructor.name&&null==e&&null==i&&(i=t,this.x=i.x,this.y=i.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(t,e,i){"Point"==t.constructor.name&&null==e&&null==i?(i=t,this.setLocation(i.x,i.y)):"number"==typeof t&&"number"==typeof e&&null==i&&(parseInt(t)==t&&parseInt(e)==e?this.move(t,e):(this.x=Math.floor(t+.5),this.y=Math.floor(e+.5)))},r.prototype.move=function(t,e){this.x=t,this.y=e},r.prototype.translate=function(t,e){this.x+=t,this.y+=e},r.prototype.equals=function(t){return"Point"==t.constructor.name?this.x==t.x&&this.y==t.y:this==t},r.prototype.toString=function(){return new r().constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=r},function(t,e,i){"use strict";function r(t,e,i,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=e&&null!=i&&null!=r&&(this.x=t,this.y=e,this.width=i,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(t){this.x=t},r.prototype.getY=function(){return this.y},r.prototype.setY=function(t){this.y=t},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(t){return!(this.getRight()<t.x||this.getBottom()<t.y||t.getRight()<this.x||t.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},t.exports=r},function(t,e,i){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function n(){}n.lastID=0,n.createID=function(t){return n.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=n.getString(),n.lastID++),t.uniqueID)},n.getString=function(t){return null==t&&(t=n.lastID),"Object#"+t},n.isPrimitive=function(t){var e=void 0===t?"undefined":r(t);return null==t||"object"!=e&&"function"!=e},t.exports=n},function(t,e,i){"use strict";function r(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}var n=i(0),o=i(7),a=i(3),s=i(1),h=i(6),l=i(5),d=i(17),g=i(29);function c(t){g.call(this),this.layoutQuality=n.QUALITY,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=n.DEFAULT_INCREMENTAL,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new o(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}c.RANDOM_SEED=1,c.prototype=Object.create(g.prototype),c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},c.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},c.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},c.prototype.newGraphManager=function(){var t=new o(this);return this.graphManager=t,t},c.prototype.newGraph=function(t){return new h(null,this.graphManager,t)},c.prototype.newNode=function(t){return new a(this.graphManager,t)},c.prototype.newEdge=function(t){return new s(null,null,t)},c.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},c.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==n.ANIMATE&&(t&&!this.isSubLayout&&this.doPostLayout(),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},c.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},c.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),e=0;e<t.length;e++)t[e];for(var i=this.graphManager.getRoot().getNodes(),e=0;e<i.length;e++)i[e];this.update(this.graphManager.getRoot())}},c.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof a){if(null!=t.getChild())for(var e=t.getChild().getNodes(),i=0;i<e.length;i++)update(e[i]);null!=t.vGraphObject&&t.vGraphObject.update(t)}else t instanceof s?null!=t.vGraphObject&&t.vGraphObject.update(t):t instanceof h&&null!=t.vGraphObject&&t.vGraphObject.update(t)},c.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=n.QUALITY,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=n.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},c.prototype.transform=function(t){if(void 0==t)this.transform(new l(0,0));else{var e=new d,i=this.graphManager.getRoot().updateLeftTop();if(null!=i){e.setWorldOrgX(t.x),e.setWorldOrgY(t.y),e.setDeviceOrgX(i.x),e.setDeviceOrgY(i.y);for(var r=this.getAllNodes(),n=0;n<r.length;n++)r[n].transform(e)}}},c.prototype.positionNodesRandomly=function(t){if(void 0==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var e,i,r=t.getNodes(),n=0;n<r.length;n++)null==(i=(e=r[n]).getChild())||0==i.getNodes().length?e.scatter():(this.positionNodesRandomly(i),e.updateBounds())},c.prototype.getFlatForest=function(){for(var t=[],e=!0,i=this.graphManager.getRoot().getNodes(),n=!0,o=0;o<i.length;o++)null!=i[o].getChild()&&(n=!1);if(!n)return t;var a=new Set,s=[],h=new Map,l=[];for(l=l.concat(i);l.length>0&&e;){for(s.push(l[0]);s.length>0&&e;){var d=s[0];s.splice(0,1),a.add(d);for(var g=d.getEdges(),o=0;o<g.length;o++){var c=g[o].getOtherEnd(d);if(h.get(d)!=c)if(a.has(c)){e=!1;break}else s.push(c),h.set(c,d)}}if(e){var u=[].concat(r(a));t.push(u);for(var o=0;o<u.length;o++){var f=u[o],p=l.indexOf(f);p>-1&&l.splice(p,1)}a=new Set,h=new Map}else t=[]}return t},c.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],i=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),n=0;n<t.bendpoints.length;n++){var o=this.newNode(null);o.setRect(new Point(0,0),new Dimension(1,1)),r.add(o);var a=this.newEdge(null);this.graphManager.add(a,i,o),e.add(o),i=o}var a=this.newEdge(null);return this.graphManager.add(a,i,t.target),this.edgeToDummyNodes.set(t,e),t.isInterGraph()?this.graphManager.remove(t):r.remove(t),e},c.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(r(this.edgeToDummyNodes.keys())).concat(t);for(var e=0;e<t.length;e++){var i=t[e];if(i.bendpoints.length>0){for(var n=this.edgeToDummyNodes.get(i),o=0;o<n.length;o++){var a=n[o],s=new l(a.getCenterX(),a.getCenterY()),h=i.bendpoints.get(o);h.x=s.x,h.y=s.y,a.getOwner().remove(a)}this.graphManager.add(i,i.source,i.target)}}},c.transform=function(t,e,i,r){if(void 0==i||void 0==r)return t<=50?(n=9*e/500,o=e/10):(n=9*e/50,o=-8*e),n*t+o;var n,o,a=e;return t<=50?a-=(e-e/i)/50*(50-t):a+=(e*r-e)/50*(t-50),a},c.findCenterOfTree=function(t){var e=[];e=e.concat(t);var i=[],r=new Map,n=!1,o=null;(1==e.length||2==e.length)&&(n=!0,o=e[0]);for(var a=0;a<e.length;a++){var s=e[a],h=s.getNeighborsList().size;r.set(s,s.getNeighborsList().size),1==h&&i.push(s)}var l=[];for(l=l.concat(i);!n;){var d=[];d=d.concat(l),l=[];for(var a=0;a<e.length;a++){var s=e[a],g=e.indexOf(s);g>=0&&e.splice(g,1),s.getNeighborsList().forEach(function(t){if(0>i.indexOf(t)){var e=r.get(t)-1;1==e&&l.push(t),r.set(t,e)}})}i=i.concat(l),(1==e.length||2==e.length)&&(n=!0,o=e[0])}return o},c.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=c},function(t,e,i){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,i){"use strict";var r=i(5);function n(t,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}n.prototype.getWorldOrgX=function(){return this.lworldOrgX},n.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},n.prototype.getWorldOrgY=function(){return this.lworldOrgY},n.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},n.prototype.getWorldExtX=function(){return this.lworldExtX},n.prototype.setWorldExtX=function(t){this.lworldExtX=t},n.prototype.getWorldExtY=function(){return this.lworldExtY},n.prototype.setWorldExtY=function(t){this.lworldExtY=t},n.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},n.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},n.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},n.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},n.prototype.getDeviceExtX=function(){return this.ldeviceExtX},n.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},n.prototype.getDeviceExtY=function(){return this.ldeviceExtY},n.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},n.prototype.transformX=function(t){var e=0,i=this.lworldExtX;return 0!=i&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/i),e},n.prototype.transformY=function(t){var e=0,i=this.lworldExtY;return 0!=i&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/i),e},n.prototype.inverseTransformX=function(t){var e=0,i=this.ldeviceExtX;return 0!=i&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/i),e},n.prototype.inverseTransformY=function(t){var e=0,i=this.ldeviceExtY;return 0!=i&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/i),e},n.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=n},function(t,e,i){"use strict";var r=i(15),n=i(4),o=i(0),a=i(8),s=i(9);function h(){r.call(this),this.useSmartIdealEdgeLengthCalculation=n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=n.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=n.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=n.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=n.MAX_ITERATIONS}for(var l in h.prototype=Object.create(r.prototype),r)h[l]=r[l];h.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var t,e,i,r,a,s,h,l=this.getGraphManager().getAllEdges(),d=0;d<l.length;d++)e=(t=l[d]).idealLength,t.isInterGraph&&(r=t.getSource(),a=t.getTarget(),s=t.getSourceInLca().getEstimatedSize(),h=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=s+h-2*o.SIMPLE_NODE_SIZE),i=t.getLca().getInclusionTreeDepth(),t.idealLength+=e*n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(r.getInclusionTreeDepth()+a.getInclusionTreeDepth()-2*i))},h.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>n.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),i=0;i<e.length;i++)t=e[i],this.calcSpringForce(t,t.idealLength)},h.prototype.calcRepulsionForces=function(){var t,e,i,r,o,a=!(arguments.length>0)||void 0===arguments[0]||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],h=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t<h.length;t++)i=h[t],this.calculateRepulsionForceOfANode(i,o,a,s),o.add(i);else for(t=0;t<h.length;t++)for(i=h[t],e=t+1;e<h.length;e++)r=h[e],i.getOwner()==r.getOwner()&&this.calcRepulsionForce(i,r)},h.prototype.calcGravitationalForces=function(){for(var t,e=this.getAllNodesToApplyGravitation(),i=0;i<e.length;i++)t=e[i],this.calcGravitationalForce(t)},h.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e=0;e<t.length;e++)t[e].move()},h.prototype.calcSpringForce=function(t,e){var i,r,n,o,a=t.getSource(),s=t.getTarget();if(this.uniformLeafNodeSizes&&null==a.getChild()&&null==s.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(i=t.getLength())&&(n=(r=t.edgeElasticity*(i-e))*(t.lengthX/i),o=r*(t.lengthY/i),a.springForceX+=n,a.springForceY+=o,s.springForceX-=n,s.springForceY-=o)},h.prototype.calcRepulsionForce=function(t,e){var i,r,o,h,l,d,g,c=t.getRect(),u=e.getRect(),f=[,,],p=[,,,,];if(c.intersects(u)){a.calcSeparationAmount(c,u,f,n.DEFAULT_EDGE_LENGTH/2),d=2*f[0],g=2*f[1];var m=t.noOfChildren*e.noOfChildren/(t.noOfChildren+e.noOfChildren);t.repulsionForceX-=m*d,t.repulsionForceY-=m*g,e.repulsionForceX+=m*d,e.repulsionForceY+=m*g}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==e.getChild()?(i=u.getCenterX()-c.getCenterX(),r=u.getCenterY()-c.getCenterY()):(a.getIntersection(c,u,p),i=p[2]-p[0],r=p[3]-p[1]),Math.abs(i)<n.MIN_REPULSION_DIST&&(i=s.sign(i)*n.MIN_REPULSION_DIST),Math.abs(r)<n.MIN_REPULSION_DIST&&(r=s.sign(r)*n.MIN_REPULSION_DIST),h=Math.sqrt(o=i*i+r*r),d=(l=(t.nodeRepulsion/2+e.nodeRepulsion/2)*t.noOfChildren*e.noOfChildren/o)*i/h,g=l*r/h,t.repulsionForceX-=d,t.repulsionForceY-=g,e.repulsionForceX+=d,e.repulsionForceY+=g},h.prototype.calcGravitationalForce=function(t){var e,i,r,n,o,a,s,h;i=((e=t.getOwner()).getRight()+e.getLeft())/2,r=(e.getTop()+e.getBottom())/2,n=t.getCenterX()-i,o=t.getCenterY()-r,a=Math.abs(n)+t.getWidth()/2,s=Math.abs(o)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(a>(h=e.getEstimatedSize()*this.gravityRangeFactor)||s>h)&&(t.gravitationForceX=-this.gravityConstant*n,t.gravitationForceY=-this.gravityConstant*o):(a>(h=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>h)&&(t.gravitationForceX=-this.gravityConstant*n*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},h.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=2>Math.abs(this.totalDisplacement-this.oldTotalDisplacement)),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||e},h.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},h.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,e=this.graphManager.getAllNodes(),i=0;i<e.length;i++)(t=e[i]).noOfChildren=t.getNoOfChildren()},h.prototype.calcGrid=function(t){var e=0,i=0;e=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),i=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var r=Array(e),n=0;n<e;n++)r[n]=Array(i);for(var n=0;n<e;n++)for(var o=0;o<i;o++)r[n][o]=[];return r},h.prototype.addNodeToGrid=function(t,e,i){var r=0,n=0,o=0,a=0;r=parseInt(Math.floor((t.getRect().x-e)/this.repulsionRange)),n=parseInt(Math.floor((t.getRect().width+t.getRect().x-e)/this.repulsionRange)),o=parseInt(Math.floor((t.getRect().y-i)/this.repulsionRange)),a=parseInt(Math.floor((t.getRect().height+t.getRect().y-i)/this.repulsionRange));for(var s=r;s<=n;s++)for(var h=o;h<=a;h++)this.grid[s][h].push(t),t.setGridCoordinates(r,n,o,a)},h.prototype.updateGrid=function(){var t,e,i=this.getAllNodes();for(t=0,this.grid=this.calcGrid(this.graphManager.getRoot());t<i.length;t++)e=i[t],this.addNodeToGrid(e,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},h.prototype.calculateRepulsionForceOfANode=function(t,e,i,r){if(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&i||r){var o,a=new Set;t.surrounding=[];for(var s=this.grid,h=t.startX-1;h<t.finishX+2;h++)for(var l=t.startY-1;l<t.finishY+2;l++)if(!(h<0||l<0||h>=s.length||l>=s[0].length)){for(var d=0;d<s[h][l].length;d++)if(o=s[h][l][d],t.getOwner()==o.getOwner()&&t!=o&&!e.has(o)&&!a.has(o)){var g=Math.abs(t.getCenterX()-o.getCenterX())-(t.getWidth()/2+o.getWidth()/2),c=Math.abs(t.getCenterY()-o.getCenterY())-(t.getHeight()/2+o.getHeight()/2);g<=this.repulsionRange&&c<=this.repulsionRange&&a.add(o)}}t.surrounding=[].concat(function(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}(a))}for(h=0;h<t.surrounding.length;h++)this.calcRepulsionForce(t,t.surrounding[h])},h.prototype.calcRepulsionRange=function(){return 0},t.exports=h},function(t,e,i){"use strict";var r=i(1),n=i(4);function o(t,e,i){r.call(this,t,e,i),this.idealLength=n.DEFAULT_EDGE_LENGTH,this.edgeElasticity=n.DEFAULT_SPRING_STRENGTH}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];t.exports=o},function(t,e,i){"use strict";var r=i(3),n=i(4);function o(t,e,i,o){r.call(this,t,e,i,o),this.nodeRepulsion=n.DEFAULT_REPULSION_STRENGTH,this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.setGridCoordinates=function(t,e,i,r){this.startX=t,this.finishX=e,this.startY=i,this.finishY=r},t.exports=o},function(t,e,i){"use strict";function r(t,e){this.width=0,this.height=0,null!==t&&null!==e&&(this.height=e,this.width=t)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},t.exports=r},function(t,e,i){"use strict";var r=i(14);function n(){this.map={},this.keys=[]}n.prototype.put=function(t,e){var i=r.createID(t);this.contains(i)||(this.map[i]=e,this.keys.push(t))},n.prototype.contains=function(t){return r.createID(t),null!=this.map[t]},n.prototype.get=function(t){var e=r.createID(t);return this.map[e]},n.prototype.keySet=function(){return this.keys},t.exports=n},function(t,e,i){"use strict";var r=i(14);function n(){this.set={}}n.prototype.add=function(t){var e=r.createID(t);this.contains(e)||(this.set[e]=t)},n.prototype.remove=function(t){delete this.set[r.createID(t)]},n.prototype.clear=function(){this.set={}},n.prototype.contains=function(t){return this.set[r.createID(t)]==t},n.prototype.isEmpty=function(){return 0===this.size()},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAllTo=function(t){for(var e=Object.keys(this.set),i=e.length,r=0;r<i;r++)t.push(this.set[e[r]])},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAll=function(t){for(var e=t.length,i=0;i<e;i++){var r=t[i];this.add(r)}},t.exports=n},function(t,e,i){"use strict";function r(){}r.multMat=function(t,e){for(var i=[],r=0;r<t.length;r++){i[r]=[];for(var n=0;n<e[0].length;n++){i[r][n]=0;for(var o=0;o<t[0].length;o++)i[r][n]+=t[r][o]*e[o][n]}}return i},r.transpose=function(t){for(var e=[],i=0;i<t[0].length;i++){e[i]=[];for(var r=0;r<t.length;r++)e[i][r]=t[r][i]}return e},r.multCons=function(t,e){for(var i=[],r=0;r<t.length;r++)i[r]=t[r]*e;return i},r.minusOp=function(t,e){for(var i=[],r=0;r<t.length;r++)i[r]=t[r]-e[r];return i},r.dotProduct=function(t,e){for(var i=0,r=0;r<t.length;r++)i+=t[r]*e[r];return i},r.mag=function(t){return Math.sqrt(this.dotProduct(t,t))},r.normalize=function(t){for(var e=[],i=this.mag(t),r=0;r<t.length;r++)e[r]=t[r]/i;return e},r.multGamma=function(t){for(var e=[],i=0,r=0;r<t.length;r++)i+=t[r];i*=-1/t.length;for(var n=0;n<t.length;n++)e[n]=i+t[n];return e},r.multL=function(t,e,i){for(var r=[],n=[],o=[],a=0;a<e[0].length;a++){for(var s=0,h=0;h<e.length;h++)s+=-.5*e[h][a]*t[h];n[a]=s}for(var l=0;l<i.length;l++){for(var d=0,g=0;g<i.length;g++)d+=i[l][g]*n[g];o[l]=d}for(var c=0;c<e.length;c++){for(var u=0,f=0;f<e[0].length;f++)u+=e[c][f]*o[f];r[c]=u}return r},t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=i(11);t.exports=function(){function t(e,i){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");(null!==i||void 0!==i)&&(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=e instanceof n?e.size():e.length,this._quicksort(e,0,r-1)}return r(t,[{key:"_quicksort",value:function(t,e,i){if(e<i){var r=this._partition(t,e,i);this._quicksort(t,e,r),this._quicksort(t,r+1,i)}}},{key:"_partition",value:function(t,e,i){for(var r=this._get(t,e),n=e,o=i;;){for(;this.compareFunction(r,this._get(t,o));)o--;for(;this.compareFunction(this._get(t,n),r);)n++;if(!(n<o))return o;this._swap(t,n,o),n++,o--}}},{key:"_get",value:function(t,e){return t instanceof n?t.get_object_at(e):t[e]}},{key:"_set",value:function(t,e,i){t instanceof n?t.set_object_at(e,i):t[e]=i}},{key:"_swap",value:function(t,e,i){var r=this._get(t,e);this._set(t,e,this._get(t,i)),this._set(t,i,r)}},{key:"_defaultCompareFunction",value:function(t,e){return e>t}}]),t}()},function(t,e,i){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var i=[],r=0;r<e[0];r++)i.push(t(e.slice(1)));return i}([this.m,e]),this.V=function t(e){if(0==e.length)return 0;for(var i=[],r=0;r<e[0];r++)i.push(t(e.slice(1)));return i}([this.n,this.n]);for(var i=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.n),n=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),o=Math.min(this.m-1,this.n),a=Math.max(0,Math.min(this.n-2,this.m)),s=0;s<Math.max(o,a);s++){if(s<o){this.s[s]=0;for(var h=s;h<this.m;h++)this.s[s]=r.hypot(this.s[s],t[h][s]);if(0!==this.s[s]){t[s][s]<0&&(this.s[s]=-this.s[s]);for(var l=s;l<this.m;l++)t[l][s]/=this.s[s];t[s][s]+=1}this.s[s]=-this.s[s]}for(var d=s+1;d<this.n;d++){if(p=s<o,m=0!==this.s[s],p&&m){for(var g=0,c=s;c<this.m;c++)g+=t[c][s]*t[c][d];g=-g/t[s][s];for(var u=s;u<this.m;u++)t[u][d]+=g*t[u][s]}i[d]=t[s][d]}if(v=s<o)for(var f=s;f<this.m;f++)this.U[f][s]=t[f][s];if(s<a){i[s]=0;for(var p,m,v,y,E,T=s+1;T<this.n;T++)i[s]=r.hypot(i[s],i[T]);if(0!==i[s]){i[s+1]<0&&(i[s]=-i[s]);for(var N=s+1;N<this.n;N++)i[N]/=i[s];i[s+1]+=1}if(i[s]=-i[s],y=s+1<this.m,E=0!==i[s],y&&E){for(var A=s+1;A<this.m;A++)n[A]=0;for(var w=s+1;w<this.n;w++)for(var L=s+1;L<this.m;L++)n[L]+=i[w]*t[L][w];for(var C=s+1;C<this.n;C++)for(var M=-i[C]/i[s+1],_=s+1;_<this.m;_++)t[_][C]+=M*n[_]}for(var I=s+1;I<this.n;I++)this.V[I][s]=i[I]}}var x=Math.min(this.n,this.m+1);o<this.n&&(this.s[o]=t[o][o]),this.m<x&&(this.s[x-1]=0),a+1<x&&(i[a]=t[a][x-1]),i[x-1]=0;for(var O=o;O<e;O++){for(var D=0;D<this.m;D++)this.U[D][O]=0;this.U[O][O]=1}for(var R=o-1;R>=0;R--)if(0!==this.s[R]){for(var b=R+1;b<e;b++){for(var F=0,S=R;S<this.m;S++)F+=this.U[S][R]*this.U[S][b];F=-F/this.U[R][R];for(var G=R;G<this.m;G++)this.U[G][b]+=F*this.U[G][R]}for(var P=R;P<this.m;P++)this.U[P][R]=-this.U[P][R];this.U[R][R]=1+this.U[R][R];for(var U=0;U<R-1;U++)this.U[U][R]=0}else{for(var k=0;k<this.m;k++)this.U[k][R]=0;this.U[R][R]=1}for(var Y=this.n-1;Y>=0;Y--){if(td=Y<a,tg=0!==i[Y],td&&tg)for(var H=Y+1;H<e;H++){for(var X=0,z=Y+1;z<this.n;z++)X+=this.V[z][Y]*this.V[z][H];X=-X/this.V[Y+1][Y];for(var B=Y+1;B<this.n;B++)this.V[B][H]+=X*this.V[B][Y]}for(var V=0;V<this.n;V++)this.V[V][Y]=0;this.V[Y][Y]=1}for(var W=x-1,$=0;x>0;){var j=void 0,q=void 0;for(j=x-2;j>=-1&&-1!==j;j--)if(Math.abs(i[j])<=16033346880071782e-307+2220446049250313e-31*(Math.abs(this.s[j])+Math.abs(this.s[j+1]))){i[j]=0;break}if(j===x-2)q=4;else{var K=void 0;for(K=x-1;K>=j&&K!==j;K--){var Z=(K!==x?Math.abs(i[K]):0)+(K!==j+1?Math.abs(i[K-1]):0);if(Math.abs(this.s[K])<=16033346880071782e-307+2220446049250313e-31*Z){this.s[K]=0;break}}K===j?q=3:K===x-1?q=1:(q=2,j=K)}switch(j++,q){case 1:var Q=i[x-2];i[x-2]=0;for(var J=x-2;J>=j;J--){var tt=r.hypot(this.s[J],Q),te=this.s[J]/tt,ti=Q/tt;this.s[J]=tt,J!==j&&(Q=-ti*i[J-1],i[J-1]=te*i[J-1]);for(var tr=0;tr<this.n;tr++)tt=te*this.V[tr][J]+ti*this.V[tr][x-1],this.V[tr][x-1]=-ti*this.V[tr][J]+te*this.V[tr][x-1],this.V[tr][J]=tt}break;case 2:var tn=i[j-1];i[j-1]=0;for(var to=j;to<x;to++){var ta=r.hypot(this.s[to],tn),ts=this.s[to]/ta,th=tn/ta;this.s[to]=ta,tn=-th*i[to],i[to]=ts*i[to];for(var tl=0;tl<this.m;tl++)ta=ts*this.U[tl][to]+th*this.U[tl][j-1],this.U[tl][j-1]=-th*this.U[tl][to]+ts*this.U[tl][j-1],this.U[tl][to]=ta}break;case 3:var td,tg,tc,tu,tf=Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[x-1]),Math.abs(this.s[x-2])),Math.abs(i[x-2])),Math.abs(this.s[j])),Math.abs(i[j])),tp=this.s[x-1]/tf,tm=this.s[x-2]/tf,tv=i[x-2]/tf,ty=this.s[j]/tf,tE=i[j]/tf,tT=((tm+tp)*(tm-tp)+tv*tv)/2,tN=tp*tv*(tp*tv),tA=0;tc=0!==tT,tu=0!==tN,(tc||tu)&&(tA=Math.sqrt(tT*tT+tN),tT<0&&(tA=-tA),tA=tN/(tT+tA));for(var tw=(ty+tp)*(ty-tp)+tA,tL=ty*tE,tC=j;tC<x-1;tC++){var tM=r.hypot(tw,tL),t_=tw/tM,tI=tL/tM;tC!==j&&(i[tC-1]=tM),tw=t_*this.s[tC]+tI*i[tC],i[tC]=t_*i[tC]-tI*this.s[tC],tL=tI*this.s[tC+1],this.s[tC+1]=t_*this.s[tC+1];for(var tx=0;tx<this.n;tx++)tM=t_*this.V[tx][tC]+tI*this.V[tx][tC+1],this.V[tx][tC+1]=-tI*this.V[tx][tC]+t_*this.V[tx][tC+1],this.V[tx][tC]=tM;if(tM=r.hypot(tw,tL),t_=tw/tM,tI=tL/tM,this.s[tC]=tM,tw=t_*i[tC]+tI*this.s[tC+1],this.s[tC+1]=-tI*i[tC]+t_*this.s[tC+1],tL=tI*i[tC+1],i[tC+1]=t_*i[tC+1],tC<this.m-1)for(var tO=0;tO<this.m;tO++)tM=t_*this.U[tO][tC]+tI*this.U[tO][tC+1],this.U[tO][tC+1]=-tI*this.U[tO][tC]+t_*this.U[tO][tC+1],this.U[tO][tC]=tM}i[x-2]=tw;break;case 4:if(this.s[j]<=0&&(this.s[j]=this.s[j]<0?-this.s[j]:0,1))for(var tD=0;tD<=W;tD++)this.V[tD][j]=-this.V[tD][j];for(;j<W&&!(this.s[j]>=this.s[j+1]);){var tR=this.s[j];if(this.s[j]=this.s[j+1],this.s[j+1]=tR,j<this.n-1)for(var tb=0;tb<this.n;tb++)tR=this.V[tb][j+1],this.V[tb][j+1]=this.V[tb][j],this.V[tb][j]=tR;if(j<this.m-1)for(var tF=0;tF<this.m;tF++)tR=this.U[tF][j+1],this.U[tF][j+1]=this.U[tF][j],this.U[tF][j]=tR;j++}x--}}return{U:this.U,V:this.V,S:this.s}},r.hypot=function(t,e){var i=void 0;return Math.abs(t)>Math.abs(e)?(i=e/t,i=Math.abs(t)*Math.sqrt(1+i*i)):0!=e?(i=t/e,i=Math.abs(e)*Math.sqrt(1+i*i)):i=0,i},t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}();t.exports=function(){function t(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.sequence1=e,this.sequence2=i,this.match_score=r,this.mismatch_penalty=n,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=i.length+1,this.grid=Array(this.iMax);for(var a=0;a<this.iMax;a++){this.grid[a]=Array(this.jMax);for(var s=0;s<this.jMax;s++)this.grid[a][s]=0}this.tracebackGrid=Array(this.iMax);for(var h=0;h<this.iMax;h++){this.tracebackGrid[h]=Array(this.jMax);for(var l=0;l<this.jMax;l++)this.tracebackGrid[h][l]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var e=1;e<this.iMax;e++)this.grid[e][0]=this.grid[e-1][0]+this.gap_penalty,this.tracebackGrid[e][0]=[!1,!0,!1];for(var i=1;i<this.iMax;i++)for(var r=1;r<this.jMax;r++){var n=[this.sequence1[i-1]===this.sequence2[r-1]?this.grid[i-1][r-1]+this.match_score:this.grid[i-1][r-1]+this.mismatch_penalty,this.grid[i-1][r]+this.gap_penalty,this.grid[i][r-1]+this.gap_penalty],o=this.arrayAllMaxIndexes(n);this.grid[i][r]=n[o[0]],this.tracebackGrid[i][r]=[o.includes(0),o.includes(1),o.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var e=t[0],i=this.tracebackGrid[e.pos[0]][e.pos[1]];i[0]&&t.push({pos:[e.pos[0]-1,e.pos[1]-1],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),i[1]&&t.push({pos:[e.pos[0]-1,e.pos[1]],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:"-"+e.seq2}),i[2]&&t.push({pos:[e.pos[0],e.pos[1]-1],seq1:"-"+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),0===e.pos[0]&&0===e.pos[1]&&this.alignments.push({sequence1:e.seq1,sequence2:e.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,e){for(var i=[],r=-1;-1!==(r=t.indexOf(e,r+1));)i.push(r);return i}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}()},function(t,e,i){"use strict";var r=function(){};r.FDLayout=i(18),r.FDLayoutConstants=i(4),r.FDLayoutEdge=i(19),r.FDLayoutNode=i(20),r.DimensionD=i(21),r.HashMap=i(22),r.HashSet=i(23),r.IGeometry=i(8),r.IMath=i(9),r.Integer=i(10),r.Point=i(12),r.PointD=i(5),r.RandomSeed=i(16),r.RectangleD=i(13),r.Transform=i(17),r.UniqueIDGeneretor=i(14),r.Quicksort=i(25),r.LinkedList=i(11),r.LGraphObject=i(2),r.LGraph=i(6),r.LEdge=i(1),r.LGraphManager=i(7),r.LNode=i(3),r.Layout=i(15),r.LayoutConstants=i(0),r.NeedlemanWunsch=i(27),r.Matrix=i(24),r.SVD=i(26),t.exports=r},function(t,e,i){"use strict";function r(){this.listeners=[]}var n=r.prototype;n.addListener=function(t,e){this.listeners.push({event:t,callback:e})},n.removeListener=function(t,e){for(var i=this.listeners.length;i>=0;i--){var r=this.listeners[i];r.event===t&&r.callback===e&&this.listeners.splice(i,1)}},n.emit=function(t,e){for(var i=0;i<this.listeners.length;i++){var r=this.listeners[i];t===r.event&&r.callback(e)}},t.exports=r}],e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=28)}()},9827(t,e,i){"use strict";i.d(e,{diagram:()=>tt});var r=i(7454),n=i(4924),o=i(6320),a=i(2217),s=i(6348),h=i(1177),l=i(1293),d=i(6827),g=i(8731),c=i(165),u=i(6051),f=i(7829),p={L:"left",R:"right",T:"top",B:"bottom"},m={L:(0,d.K)(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:(0,d.K)(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:(0,d.K)(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:(0,d.K)(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},v={L:(0,d.K)((t,e)=>t-e+2,"L"),R:(0,d.K)((t,e)=>t-2,"R"),T:(0,d.K)((t,e)=>t-e+2,"T"),B:(0,d.K)((t,e)=>t-2,"B")},y=(0,d.K)(function(t){return T(t)?"L"===t?"R":"L":"T"===t?"B":"T"},"getOppositeArchitectureDirection"),E=(0,d.K)(function(t){return"L"===t||"R"===t||"T"===t||"B"===t},"isArchitectureDirection"),T=(0,d.K)(function(t){return"L"===t||"R"===t},"isArchitectureDirectionX"),N=(0,d.K)(function(t){return"T"===t||"B"===t},"isArchitectureDirectionY"),A=(0,d.K)(function(t,e){let i=T(t)&&N(e),r=N(t)&&T(e);return i||r},"isArchitectureDirectionXY"),w=(0,d.K)(function(t){let e=t[0],i=t[1],r=T(e)&&N(i),n=N(e)&&T(i);return r||n},"isArchitecturePairXY"),L=(0,d.K)(function(t){return"LL"!==t&&"RR"!==t&&"TT"!==t&&"BB"!==t},"isValidArchitectureDirectionPair"),C=(0,d.K)(function(t,e){let i=`${t}${e}`;return L(i)?i:void 0},"getArchitectureDirectionPair"),M=(0,d.K)(function([t,e],i){let r=i[0],n=i[1];if(T(r))if(N(n))return[t+("L"===r?-1:1),e+("T"===n?1:-1)];else return[t+("L"===r?-1:1),e];return T(n)?[t+("L"===n?1:-1),e+("T"===r?1:-1)]:[t,e+("T"===r?1:-1)]},"shiftPositionByArchitectureDirectionPair"),_=(0,d.K)(function(t){return"LT"===t||"TL"===t?[1,1]:"BL"===t||"LB"===t?[1,-1]:"BR"===t||"RB"===t?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),I=(0,d.K)(function(t,e){return A(t,e)?"bend":T(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),x=(0,d.K)(function(t){return"service"===t.type},"isArchitectureService"),O=(0,d.K)(function(t){return"junction"===t.type},"isArchitectureJunction"),D=(0,d.K)((t,e)=>{let[i,r]=[t,e].sort();return`${JSON.stringify(i)}-${JSON.stringify(r)}`},"architectureGroupAlignmentKey"),R=(0,d.K)(t=>t.data(),"edgeData"),b=(0,d.K)(t=>t.data(),"nodeData"),F=h.UI.architecture,S=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=h.SV,this.getAccTitle=h.iN,this.setDiagramTitle=h.ke,this.getDiagramTitle=h.ab,this.getAccDescription=h.m7,this.setAccDescription=h.EI,this.clear()}static{(0,d.K)(this,"ArchitectureDB")}setDiagramId(t){this.diagramId=t}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",(0,h.IU)()}addService({id:t,icon:e,in:i,title:r,iconText:n}){if(this.registeredIds.has(t))throw Error(`The service id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(void 0!==i){if(t===i)throw Error(`The service [${t}] cannot be placed within itself`);if(!this.registeredIds.has(i))throw Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if("node"===this.registeredIds.get(i))throw Error(`The service [${t}]'s parent is not a group`)}this.registeredIds.set(t,"node"),this.nodes.set(t,{id:t,type:"service",icon:e,iconText:n,title:r,edges:[],in:i})}getServices(){return[...this.nodes.values()].filter(x)}addJunction({id:t,in:e}){if(this.registeredIds.has(t))throw Error(`The junction id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(void 0!==e){if(t===e)throw Error(`The junction [${t}] cannot be placed within itself`);if(!this.registeredIds.has(e))throw Error(`The junction [${t}]'s parent does not exist. Please make sure the parent is created before this junction`);if("node"===this.registeredIds.get(e))throw Error(`The junction [${t}]'s parent is not a group`)}this.registeredIds.set(t,"node"),this.nodes.set(t,{id:t,type:"junction",edges:[],in:e})}getJunctions(){return[...this.nodes.values()].filter(O)}getNodes(){return[...this.nodes.values()]}getNode(t){return this.nodes.get(t)??null}addGroup({id:t,icon:e,in:i,title:r}){if(this.registeredIds.has(t))throw Error(`The group id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(void 0!==i){if(t===i)throw Error(`The group [${t}] cannot be placed within itself`);if(!this.registeredIds.has(i))throw Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if("node"===this.registeredIds.get(i))throw Error(`The group [${t}]'s parent is not a group`)}this.registeredIds.set(t,"group"),this.groups.set(t,{id:t,icon:e,title:r,in:i})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:t,rhsId:e,lhsDir:i,rhsDir:r,lhsInto:n,rhsInto:o,lhsGroup:a,rhsGroup:s,title:h}){if(!E(i))throw Error(`Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${String(i)}`);if(!E(r))throw Error(`Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${String(r)}`);if(!this.nodes.has(t)&&!this.groups.has(t))throw Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(e)&&!this.groups.has(e))throw Error(`The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);let l=this.nodes.get(t).in,d=this.nodes.get(e).in;if(a&&l&&d&&l==d)throw Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(s&&l&&d&&l==d)throw Error(`The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);this.edges.push({lhsId:t,lhsDir:i,lhsInto:n,lhsGroup:a,rhsId:e,rhsDir:r,rhsInto:o,rhsGroup:s,title:h});let g=this.nodes.get(t),c=this.nodes.get(e);g&&c&&(g.edges.push(this.edges[this.edges.length-1]),c.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(t){if(t.members.length<2)throw Error(`An align directive requires at least two members; got ${t.members.length}`);let e=new Set;t.members.forEach(i=>{if("node"!==this.registeredIds.get(i))throw Error(`align ${t.direction} references [${i}], which is not a service or junction`);if(e.has(i))throw Error(`align ${t.direction} lists [${i}] more than once`);e.add(i)}),this.layoutHints.push(t)}getLayoutHints(){return this.layoutHints}getDataStructures(){if(void 0===this.dataStructures){let t=new Map,e=new Map;for(let[i,r]of this.nodes.entries()){let n=new Map;for(let e of r.edges){let r=this.getNode(e.lhsId)?.in,o=this.getNode(e.rhsId)?.in;if(r&&o&&r!==o){let i=I(e.lhsDir,e.rhsDir);"bend"!==i&&t.set(D(r,o),i)}if(e.lhsId===i){let t=C(e.lhsDir,e.rhsDir);t&&n.set(t,e.rhsId)}else{let t=C(e.rhsDir,e.lhsDir);t&&n.set(t,e.lhsId)}}e.set(i,n)}let i=new Set,r=new Set(e.keys()),n=(0,d.K)(t=>{let n=new Map([[t,[0,0]]]),o=[t];for(;o.length>0;){let t=o.shift();if(t){i.add(t),r.delete(t);let a=e.get(t);if(!a)throw Error(`BFS error: adjacency list for id ${t} not found. Please report this as a bug.`);let s=n.get(t);if(!s)throw Error(`BFS error: position for id ${t} not found in spatial map. Please report this as a bug.`);let[h,l]=s;a.forEach((t,e)=>{i.has(t)||(n.set(t,M([h,l],e)),o.push(t))})}}return n},"BFS"),o=[];for(;r.size>0;){let t=r.values().next().value;o.push(n(t))}this.dataStructures={adjList:e,spatialMaps:o,groupAlignments:t}}return this.dataStructures}setElementForId(t,e){this.elements.set(t,e)}getElementById(t){return this.elements.get(t)}getConfig(){return(0,s.$t)({...F,...(0,h.zj)().architecture})}getConfigField(t){return this.getConfig()[t]}},G=(0,d.K)((t,e)=>{(0,r.S)(t,e),t.groups.map(t=>e.addGroup(t)),t.services.map(t=>e.addService({...t,type:"service"})),t.junctions.map(t=>e.addJunction({...t,type:"junction"})),t.edges.map(t=>e.addEdge(t)),t.alignments?.map(t=>e.addLayoutHint({direction:t.direction,members:[...t.members]}))},"populateDb"),P={parser:{yy:void 0},parse:(0,d.K)(async t=>{let e=await (0,g.qg)("architecture",t);l.R.debug(e);let i=P.parser?.yy;if(!(i instanceof S))throw Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");G(e,i)},"parse")},U=(0,d.K)(t=>` + .edge { + stroke-width: ${t.archEdgeWidth}; + stroke: ${t.archEdgeColor}; + fill: none; + } + + .arrow { + fill: ${t.archEdgeArrowColor}; + } + + .node-bkg { + fill: none; + stroke: ${t.archGroupBorderColor}; + stroke-width: ${t.archGroupBorderWidth}; + stroke-dasharray: 8; + } + .node-icon-text { + display: flex; + align-items: center; + } + + .node-icon-text > div { + color: #fff; + margin: 1px; + height: fit-content; + text-align: center; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + } +`,"getStyles");function k(t,e){if(0===t)return e();let i=Math.random,r=t>>>0;Math.random=function(){let t=r=r+0x6d2b79f5>>>0;return t=Math.imul(t^t>>>15,1|t),(((t^=t+Math.imul(t^t>>>7,61|t))^t>>>14)>>>0)/0x100000000};try{return e()}finally{Math.random=i}}(0,d.K)(k,"withSeededRandom");var Y=(0,d.K)(t=>`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${t}</g>`,"wrapIcon"),H={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Y('<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},server:{body:Y('<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>')},disk:{body:Y('<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>')},internet:{body:Y('<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},cloud:{body:Y('<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},unknown:a.Gc,blank:{body:Y("")}}},X=(0,d.K)(async function(t,e,i,r){let n=i.getConfigField("padding"),a=i.getConfigField("iconSize"),l=a/2,d=a/6,g=d/2;await Promise.all(e.edges().map(async e=>{let{source:a,sourceDir:c,sourceArrow:u,sourceGroup:f,target:p,targetDir:y,targetArrow:E,targetGroup:L,label:M}=R(e),{x:I,y:x}=e[0].sourceEndpoint(),{x:O,y:D}=e[0].midpoint(),{x:b,y:F}=e[0].targetEndpoint(),S=n+4;if(f&&(T(c)?I+="L"===c?-S:S:x+="T"===c?-S:S+18),L&&(T(y)?b+="L"===y?-S:S:F+="T"===y?-S:S+18),f||i.getNode(a)?.type!=="junction"||(T(c)?I+="L"===c?l:-l:x+="T"===c?l:-l),L||i.getNode(p)?.type!=="junction"||(T(y)?b+="L"===y?l:-l:F+="T"===y?l:-l),e[0]._private.rscratch){let e=t.insert("g");if(e.insert("path").attr("d",`M ${I},${x} L ${O},${D} L${b},${F} `).attr("class","edge").attr("id",`${r}-${(0,s.rY)(a,p,{prefix:"L"})}`),u){let t=T(c)?v[c](I,d):I-g,i=N(c)?v[c](x,d):x-g;e.insert("polygon").attr("points",m[c](d)).attr("transform",`translate(${t},${i})`).attr("class","arrow")}if(E){let t=T(y)?v[y](b,d):b-g,i=N(y)?v[y](F,d):F-g;e.insert("polygon").attr("points",m[y](d)).attr("transform",`translate(${t},${i})`).attr("class","arrow")}if(M){let t=A(c,y)?"XY":T(c)?"X":"Y",i=0;i="X"===t?Math.abs(I-b):"Y"===t?Math.abs(x-F)/1.5:Math.abs(I-b)/2;let r=e.append("g");if(await (0,o.GZ)(r,M,{useHtmlLabels:!1,width:i,classes:"architecture-service-label"},(0,h.D7)()),r.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),"X"===t)r.attr("transform","translate("+O+", "+D+")");else if("Y"===t)r.attr("transform","translate("+O+", "+D+") rotate(-90)");else if("XY"===t){let t=C(c,y);if(t&&w(t)){let e=r.node().getBoundingClientRect(),[i,n]=_(t);r.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*i*n*45})`);let o=r.node().getBoundingClientRect();r.attr("transform",` + translate(${O}, ${D-e.height/2}) + translate(${i*o.width/2}, ${n*o.height/2}) + rotate(${-1*i*n*45}, 0, ${e.height/2}) + `)}}}}}))},"drawEdges"),z=(0,d.K)(async function(t,e,i,r){let n=.75*i.getConfigField("padding"),s=i.getConfigField("fontSize"),l=i.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async e=>{let d=b(e);if("group"===d.type){let{h:g,w:c,x1:u,y1:f}=e.boundingBox(),p=t.append("rect");p.attr("id",`${r}-group-${d.id}`).attr("x",u+l).attr("y",f+l).attr("width",c).attr("height",g).attr("class","node-bkg");let m=t.append("g"),v=u,y=f;if(d.icon){let t=m.append("g");t.html(`<g>${await (0,a.WY)(d.icon,{height:n,width:n,fallbackPrefix:H.prefix})}</g>`),t.attr("transform","translate("+(v+l+1)+", "+(y+l+1)+")"),v+=n,y+=s/2-1-2}if(d.label){let t=m.append("g");await (0,o.GZ)(t,d.label,{useHtmlLabels:!1,width:c,classes:"architecture-service-label"},(0,h.D7)()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),t.attr("transform","translate("+(v+l+4)+", "+(y+l+2)+")")}i.setElementForId(d.id,p)}}))},"drawGroups"),B=(0,d.K)(async function(t,e,i,r){let n=(0,h.D7)();for(let s of i){let i=e.append("g"),l=t.getConfigField("iconSize");if(s.title){let t=i.append("g");await (0,o.GZ)(t,s.title,{useHtmlLabels:!1,width:1.5*l,classes:"architecture-service-label"},n),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.attr("transform","translate("+l/2+", "+l+")")}let d=i.append("g");if(s.icon)d.html(`<g>${await (0,a.WY)(s.icon,{height:l,width:l,fallbackPrefix:H.prefix})}</g>`);else if(s.iconText){d.html(`<g>${await (0,a.WY)("blank",{height:l,width:l,fallbackPrefix:H.prefix})}</g>`);let t=d.append("g").append("foreignObject").attr("width",l).attr("height",l).append("div").attr("class","node-icon-text").attr("style",`height: ${l}px;`).append("div").html((0,h.jZ)(s.iconText,n)),e=parseInt(window.getComputedStyle(t.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;t.attr("style",`-webkit-line-clamp: ${Math.floor((l-2)/e)};`)}else d.append("path").attr("class","node-bkg").attr("id",`${r}-node-${s.id}`).attr("d",`M0,${l} V5 Q0,0 5,0 H${l-5} Q${l},0 ${l},5 V${l} Z`);i.attr("id",`${r}-service-${s.id}`).attr("class","architecture-service");let{width:g,height:c}=i.node().getBBox();s.width=g,s.height=c,t.setElementForId(s.id,i)}return 0},"drawServices"),V=(0,d.K)(function(t,e,i,r){i.forEach(i=>{let n=e.append("g"),o=t.getConfigField("iconSize");n.append("g").append("rect").attr("id",`${r}-node-${i.id}`).attr("fill-opacity","0").attr("width",o).attr("height",o),n.attr("class","architecture-junction");let{width:a,height:s}=n._groups[0][0].getBBox();n.width=a,n.height=s,t.setElementForId(i.id,n)})},"drawJunctions");function W(t,e,i){t.forEach(t=>{e.add({group:"nodes",data:{type:"service",id:t.id,icon:t.icon,label:t.title,parent:t.in,width:i.getConfigField("iconSize"),height:i.getConfigField("iconSize")},classes:"node-service"})})}function $(t,e,i){t.forEach(t=>{e.add({group:"nodes",data:{type:"junction",id:t.id,parent:t.in,width:i.getConfigField("iconSize"),height:i.getConfigField("iconSize")},classes:"node-junction"})})}function j(t,e){e.nodes().map(e=>{let i=b(e);"group"===i.type||(i.x=e.position().x,i.y=e.position().y,t.getElementById(i.id).attr("transform","translate("+(i.x||0)+","+(i.y||0)+")"))})}function q(t,e){t.forEach(t=>{e.add({group:"nodes",data:{type:"group",id:t.id,icon:t.icon,label:t.title,parent:t.in},classes:"node-group"})})}function K(t,e){t.forEach(t=>{let{lhsId:i,rhsId:r,lhsInto:n,lhsGroup:o,rhsInto:a,lhsDir:s,rhsDir:h,rhsGroup:l,title:d}=t,g=A(t.lhsDir,t.rhsDir)?"segments":"straight",c={id:`${i}-${r}`,label:d,source:i,sourceDir:s,sourceArrow:n,sourceGroup:o,sourceEndpoint:"L"===s?"0 50%":"R"===s?"100% 50%":"T"===s?"50% 0":"50% 100%",target:r,targetDir:h,targetArrow:a,targetGroup:l,targetEndpoint:"L"===h?"0 50%":"R"===h?"100% 50%":"T"===h?"50% 0":"50% 100%"};e.add({group:"edges",data:c,classes:g})})}function Z(t,e,i,r=[]){let n=(0,d.K)((t,e)=>{let r=new Map;for(let[n,o]of t.entries()){let t=`${n}`,a=0,s=[...o.entries()];if(1===s.length){r.set(t,s[0][1]);continue}for(let n=0;n<s.length-1;n++)for(let o=n+1;o<s.length;o++){let[h,l]=s[n],[d,g]=s[o];if(i.get(D(h,d))===e)r.set(t,[...r.get(t)??[],...l,...g]);else if("default"===h||"default"===d)r.set(t,[...r.get(t)??[],...l,...g]);else{let e=`${t}-${a++}`;r.set(e,l);let i=`${t}-${a++}`;r.set(i,g)}}}return r},"flattenAlignments"),[o,a]=e.map(e=>{let i=new Map,r=new Map;return e.forEach(([e,n],o)=>{let a=t.getNode(o)?.in??"default",s=i.get(n)??new Map;i.has(n)||i.set(n,s);let h=r.get(e)??new Map;for(let t of(r.has(e)||r.set(e,h),[s,h])){let e=t.get(a)??[];t.has(a)||t.set(a,e),e.push(o)}}),{horiz:[...n(i,"horizontal").values()].filter(t=>t.length>1),vert:[...n(r,"vertical").values()].filter(t=>t.length>1)}}).reduce(([t,e],{horiz:i,vert:r})=>[[...t,...i],[...e,...r]],[[],[]]),s=new Set;r.forEach(t=>t.members.forEach(t=>s.add(t)));let h=(0,d.K)(t=>t.filter(t=>!t.some(t=>s.has(t))),"dropOverlapping"),l=h(o),g=h(a);return r.forEach(t=>{t.members.length<2||("row"===t.direction?l.push([...t.members]):g.push([...t.members]))}),{horizontal:l,vertical:g}}function Q(t,e,i=[]){let r=[],n=e.getConfigField("iconSize"),o=e.getConfigField("idealEdgeLengthMultiplier"),a=o*n,s=new Set;i.forEach(t=>{for(let e=0;e<t.members.length-1;e++){let i=t.members[e],n=t.members[e+1];s.add(`${i}|${n}`),s.add(`${n}|${i}`),"row"===t.direction?r.push({left:i,right:n,gap:a}):r.push({top:i,bottom:n,gap:a})}});let h=(0,d.K)(t=>`${t[0]},${t[1]}`,"posToStr"),l=(0,d.K)(t=>t.split(",").map(t=>parseInt(t)),"strToPos");return t.forEach(t=>{let e=new Map([...t.entries()].map(([t,e])=>[h(e),t])),i=[h([0,0])],a={},d={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;i.length>0;){let t=i.shift();if(t){a[t]=1;let g=e.get(t);if(g){let c=l(t);Object.entries(d).forEach(([t,l])=>{let d=h([c[0]+l[0],c[1]+l[1]]),u=e.get(d);if(u&&!a[d]){if(i.push(d),s.has(`${g}|${u}`))return;r.push({[p[t]]:u,[p[y(t)]]:g,gap:o*n})}})}}}}),r}function J(t,e,i,r,n,{spatialMaps:o,groupAlignments:a}){return new Promise(s=>{let h=(0,f.Ltv)("body").append("div").attr("id","cy").attr("style","display:none"),g=(0,c.A)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${n.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${n.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});h.remove(),q(i,g),W(t,g,n),$(e,g,n),K(r,g);let u=n.getLayoutHints(),p=Z(n,o,a,u),m=Q(o,n,u),v=n.getConfigField("iconSize"),y=n.getConfigField("idealEdgeLengthMultiplier")*v,E=.5*v,T=n.getConfigField("edgeElasticity"),A=n.getConfigField("seed"),w=g.layout({name:"fcose",quality:"proof",randomize:n.getConfigField("randomize"),nodeSeparation:n.getConfigField("nodeSeparation"),numIter:n.getConfigField("numIter"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(t){let[e,i]=t.connectedNodes(),{parent:r}=b(e),{parent:n}=b(i);return r===n?y:E},edgeElasticity(t){let[e,i]=t.connectedNodes(),{parent:r}=b(e),{parent:n}=b(i);return r===n?T:.001},alignmentConstraint:p,relativePlacementConstraint:m});w.one("layoutstop",()=>{function t(t,e,i,r){let n,o,{x:a,y:s}=t,{x:h,y:l}=e;o=(r-s+(a-i)*(s-l)/(a-h))/Math.sqrt(1+Math.pow((s-l)/(a-h),2)),n=Math.sqrt(Math.pow(r-s,2)+Math.pow(i-a,2)-Math.pow(o,2))/Math.sqrt(Math.pow(h-a,2)+Math.pow(l-s,2));let d=(h-a)*(r-s)-(l-s)*(i-a);switch(!0){case d>=0:d=1;break;case d<0:d=-1}let g=(h-a)*(i-a)+(l-s)*(r-s);switch(!0){case g>=0:g=1;break;case g<0:g=-1}return{distances:o=Math.abs(o)*d,weights:n*=g}}for(let e of((0,d.K)(t,"getSegmentWeights"),g.startBatch(),Object.values(g.edges())))if(e.data?.()){let{x:i,y:r}=e.source().position(),{x:n,y:o}=e.target().position();if(i!==n&&r!==o){let i=e.sourceEndpoint(),r=e.targetEndpoint(),{sourceDir:n}=R(e),[o,a]=N(n)?[i.x,r.y]:[r.x,i.y],{weights:s,distances:h}=t(i,r,o,a);e.style("segment-distances",h),e.style("segment-weights",s)}}g.endBatch(),k(A,()=>w.run())});try{k(A,()=>w.run())}catch(t){if(t instanceof RangeError&&t.message.includes("Invalid array length"))throw Error("Architecture layout failed: a declared `align row|column` directive likely contradicts the edge directions, or two declared alignments overlap on a shared node. Check that the order of members in each `align` chain is consistent with the edges between them, and that no node appears in two `align` directives along the same axis.");throw t}g.ready(t=>{l.R.info("Ready",t),s(g)})})}(0,a.pC)([{name:H.prefix,icons:H}]),c.A.use(u),(0,d.K)(W,"addServices"),(0,d.K)($,"addJunctions"),(0,d.K)(j,"positionNodes"),(0,d.K)(q,"addGroups"),(0,d.K)(K,"addEdges"),(0,d.K)(Z,"getAlignments"),(0,d.K)(Q,"getRelativeConstraints"),(0,d.K)(J,"layoutArchitecture");var tt={parser:P,get db(){return new S},renderer:{draw:(0,d.K)(async(t,e,i,r)=>{let o=r.db;o.setDiagramId(e);let a=o.getServices(),s=o.getJunctions(),l=o.getGroups(),d=o.getEdges(),g=o.getDataStructures(),c=(0,n.D)(e),u=c.append("g");u.attr("class","architecture-edges");let f=c.append("g");f.attr("class","architecture-services");let p=c.append("g");p.attr("class","architecture-groups"),await B(o,f,a,e),V(o,f,s,e);let m=await J(a,s,l,d,o,g);await X(u,m,o,e),await z(p,m,o,e),j(o,m),(0,h.ot)(void 0,c,o.getConfigField("padding"),o.getConfigField("useMaxWidth"))},"draw")},styles:U}},7454(t,e,i){"use strict";function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}i.d(e,{S:()=>r}),(0,i(6827).K)(r,"populateCommonDb")}}]); \ No newline at end of file diff --git a/assets/js/6856.9f4ebf6f.js b/assets/js/6856.9f4ebf6f.js new file mode 100644 index 0000000..cad968a --- /dev/null +++ b/assets/js/6856.9f4ebf6f.js @@ -0,0 +1,79 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6856"],{5869(e,t,s){s.d(t,{P:()=>a});var i=s(1177),r=s(1293),n=s(6827),a=(0,n.K)((e,t,s,n)=>{e.attr("class",s);let{width:a,height:c,x:h,y:u}=l(e,t);(0,i.a$)(e,c,a,n);let y=o(h,u,a,c,t);e.attr("viewBox",y),r.R.debug(`viewBox configured: ${y} with padding: ${t}`)},"setupViewPortForSVG"),l=(0,n.K)((e,t)=>{let s=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*t,height:s.height+2*t,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),o=(0,n.K)((e,t,s,i,r)=>`${e-r} ${t-r} ${s} ${i}`,"createViewBox")},6755(e,t,s){s.d(t,{A:()=>n});var i=s(6827),r=s(7829),n=(0,i.K)((e,t)=>{let s;return"sandbox"===t&&(s=(0,r.Ltv)("#i"+e)),("sandbox"===t?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${e}"]`)},"getDiagramElement")},1819(e,t,s){s.d(t,{diagram:()=>R});var i=s(6755),r=s(5869),n=s(2391);s(3247),s(5616),s(6163),s(7827),s(3002),s(739),s(6320),s(2217);var a=s(2941),l=s(6348),o=s(1177),c=s(1293),h=s(6827),u=function(){var e=(0,h.K)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,3],s=[1,4],i=[1,5],r=[1,6],n=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],a=[1,22],l=[2,7],o=[1,26],c=[1,27],u=[1,28],y=[1,29],m=[1,33],d=[1,34],E=[1,35],p=[1,36],R=[1,37],g=[1,38],f=[1,24],_=[1,31],S=[1,32],I=[1,30],b=[1,39],T=[1,40],k=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],N=[1,61],q=[89,90],C=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],A=[27,29],$=[1,70],L=[1,71],x=[1,72],v=[1,73],w=[1,74],D=[1,75],O=[1,76],M=[1,83],F=[1,80],K=[1,84],P=[1,85],V=[1,86],U=[1,87],Y=[1,88],B=[1,89],Q=[1,90],H=[1,91],W=[1,92],j=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],z=[63,64],G=[1,101],X=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],J=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Z=[1,110],ee=[1,106],et=[1,107],es=[1,108],ei=[1,109],er=[1,111],en=[1,116],ea=[1,117],el=[1,114],eo=[1,115],ec={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:(0,h.K)(function(e,t,s,i,r,n,a){var l=n.length-1;switch(r){case 4:this.$=n[l].trim(),i.setAccTitle(this.$);break;case 5:case 6:this.$=n[l].trim(),i.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:i.setDirection("TB");break;case 18:i.setDirection("BT");break;case 19:i.setDirection("RL");break;case 20:i.setDirection("LR");break;case 21:i.addRequirement(n[l-3],n[l-4]);break;case 22:i.addRequirement(n[l-5],n[l-6]),i.setClass([n[l-5]],n[l-3]);break;case 23:i.setNewReqId(n[l-2]);break;case 24:i.setNewReqText(n[l-2]);break;case 25:i.setNewReqRisk(n[l-2]);break;case 26:i.setNewReqVerifyMethod(n[l-2]);break;case 29:this.$=i.RequirementType.REQUIREMENT;break;case 30:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=i.RiskLevel.LOW_RISK;break;case 36:this.$=i.RiskLevel.MED_RISK;break;case 37:this.$=i.RiskLevel.HIGH_RISK;break;case 38:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=i.VerifyType.VERIFY_TEST;break;case 42:i.addElement(n[l-3]);break;case 43:i.addElement(n[l-5]),i.setClass([n[l-5]],n[l-3]);break;case 44:i.setNewElementType(n[l-2]);break;case 45:i.setNewElementDocRef(n[l-2]);break;case 48:i.addRelationship(n[l-2],n[l],n[l-4]);break;case 49:i.addRelationship(n[l-2],n[l-4],n[l]);break;case 50:this.$=i.Relationships.CONTAINS;break;case 51:this.$=i.Relationships.COPIES;break;case 52:this.$=i.Relationships.DERIVES;break;case 53:this.$=i.Relationships.SATISFIES;break;case 54:this.$=i.Relationships.VERIFIES;break;case 55:this.$=i.Relationships.REFINES;break;case 56:this.$=i.Relationships.TRACES;break;case 57:this.$=n[l-2],i.defineClass(n[l-1],n[l]);break;case 58:i.setClass(n[l-1],n[l]);break;case 59:i.setClass([n[l-2]],n[l]);break;case 60:case 62:case 65:this.$=[n[l]];break;case 61:case 63:this.$=n[l-2].concat([n[l]]);break;case 64:this.$=n[l-2],i.setCssStyle(n[l-1],n[l]);break;case 66:n[l-2].push(n[l]),this.$=n[l-2];break;case 68:this.$=n[l-1]+n[l]}},"anonymous"),table:[{3:1,4:2,6:t,9:s,11:i,13:r},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:s,11:i,13:r},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(n,[2,6]),{3:12,4:2,6:t,9:s,11:i,13:r},{1:[2,2]},{4:17,5:a,7:13,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},e(n,[2,4]),e(n,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:a,7:42,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:43,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:44,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:45,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:46,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:47,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:48,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:49,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:50,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(k,[2,17]),e(k,[2,18]),e(k,[2,19]),e(k,[2,20]),{30:60,33:62,75:N,89:b,90:T},{30:63,33:62,75:N,89:b,90:T},{30:64,33:62,75:N,89:b,90:T},e(q,[2,29]),e(q,[2,30]),e(q,[2,31]),e(q,[2,32]),e(q,[2,33]),e(q,[2,34]),e(C,[2,81]),e(C,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(A,[2,79]),e(A,[2,80]),{27:[1,67],29:[1,68]},e(A,[2,85]),e(A,[2,86]),{62:69,65:$,66:L,67:x,68:v,69:w,70:D,71:O},{62:77,65:$,66:L,67:x,68:v,69:w,70:D,71:O},{30:78,33:62,75:N,89:b,90:T},{73:79,75:M,76:F,78:81,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W},e(j,[2,60]),e(j,[2,62]),{73:93,75:M,76:F,78:81,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W},{30:94,33:62,75:N,76:F,89:b,90:T},{5:[1,95]},{30:96,33:62,75:N,89:b,90:T},{5:[1,97]},{30:98,33:62,75:N,89:b,90:T},{63:[1,99]},e(z,[2,50]),e(z,[2,51]),e(z,[2,52]),e(z,[2,53]),e(z,[2,54]),e(z,[2,55]),e(z,[2,56]),{64:[1,100]},e(k,[2,59],{76:F}),e(k,[2,64],{76:G}),{33:103,75:[1,102],89:b,90:T},e(X,[2,65],{79:104,75:M,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W}),e(J,[2,67]),e(J,[2,69]),e(J,[2,70]),e(J,[2,71]),e(J,[2,72]),e(J,[2,73]),e(J,[2,74]),e(J,[2,75]),e(J,[2,76]),e(J,[2,77]),e(J,[2,78]),e(k,[2,57],{76:G}),e(k,[2,58],{76:F}),{5:Z,28:105,31:ee,34:et,36:es,38:ei,40:er},{27:[1,112],76:F},{5:en,40:ea,56:113,57:el,59:eo},{27:[1,118],76:F},{33:119,89:b,90:T},{33:120,89:b,90:T},{75:M,78:121,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W},e(j,[2,61]),e(j,[2,63]),e(J,[2,68]),e(k,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:Z,28:126,31:ee,34:et,36:es,38:ei,40:er},e(k,[2,28]),{5:[1,127]},e(k,[2,42]),{32:[1,128]},{32:[1,129]},{5:en,40:ea,56:130,57:el,59:eo},e(k,[2,47]),{5:[1,131]},e(k,[2,48]),e(k,[2,49]),e(X,[2,66],{79:104,75:M,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W}),{33:132,89:b,90:T},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(k,[2,27]),{5:Z,28:145,31:ee,34:et,36:es,38:ei,40:er},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(k,[2,46]),{5:en,40:ea,56:152,57:el,59:eo},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(k,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(k,[2,43]),{5:Z,28:159,31:ee,34:et,36:es,38:ei,40:er},{5:Z,28:160,31:ee,34:et,36:es,38:ei,40:er},{5:Z,28:161,31:ee,34:et,36:es,38:ei,40:er},{5:Z,28:162,31:ee,34:et,36:es,38:ei,40:er},{5:en,40:ea,56:163,57:el,59:eo},{5:en,40:ea,56:164,57:el,59:eo},e(k,[2,23]),e(k,[2,24]),e(k,[2,25]),e(k,[2,26]),e(k,[2,44]),e(k,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:(0,h.K)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,h.K)(function(e){var t=this,s=[0],i=[],r=[null],n=[],a=this.table,l="",o=0,c=0,u=0,y=n.slice.call(arguments,1),m=Object.create(this.lexer),d={};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(d[E]=this.yy[E]);m.setInput(e,d),d.lexer=m,d.parser=this,void 0===m.yylloc&&(m.yylloc={});var p=m.yylloc;n.push(p);var R=m.options&&m.options.ranges;function g(){var e;return"number"!=typeof(e=i.pop()||m.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(e){s.length=s.length-2*e,r.length=r.length-e,n.length=n.length-e},"popStack"),(0,h.K)(g,"lex");for(var f,_,S,I,b,T,k,N,q,C={};;){if(S=s[s.length-1],this.defaultActions[S]?I=this.defaultActions[S]:(null==f&&(f=g()),I=a[S]&&a[S][f]),void 0===I||!I.length||!I[0]){var A="";for(T in q=[],a[S])this.terminals_[T]&&T>2&&q.push("'"+this.terminals_[T]+"'");A=m.showPosition?"Parse error on line "+(o+1)+":\n"+m.showPosition()+"\nExpecting "+q.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(A,{text:m.match,token:this.terminals_[f]||f,line:m.yylineno,loc:p,expected:q})}if(I[0]instanceof Array&&I.length>1)throw Error("Parse Error: multiple actions possible at state: "+S+", token: "+f);switch(I[0]){case 1:s.push(f),r.push(m.yytext),n.push(m.yylloc),s.push(I[1]),f=null,_?(f=_,_=null):(c=m.yyleng,l=m.yytext,o=m.yylineno,p=m.yylloc,u>0&&u--);break;case 2:if(k=this.productions_[I[1]][1],C.$=r[r.length-k],C._$={first_line:n[n.length-(k||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(k||1)].first_column,last_column:n[n.length-1].last_column},R&&(C._$.range=[n[n.length-(k||1)].range[0],n[n.length-1].range[1]]),void 0!==(b=this.performAction.apply(C,[l,c,o,d,I[1],r,n].concat(y))))return b;k&&(s=s.slice(0,-1*k*2),r=r.slice(0,-1*k),n=n.slice(0,-1*k)),s.push(this.productions_[I[1]][0]),r.push(C.$),n.push(C._$),N=a[s[s.length-2]][s[s.length-1]],s.push(N);break;case 3:return!0}}return!0},"parse")};function eh(){this.yy={}}return ec.lexer={EOF:1,parseError:(0,h.K)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,h.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,h.K)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,h.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,h.K)(function(e,t){var s,i,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))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var n in r)this[n]=r[n];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,r=this._currentRules(),n=0;n<r.length;n++)if((s=this._input.match(this.rules[r[n]]))&&(!t||s[0].length>t[0].length)){if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[n])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,h.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,h.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K)(function(e,t,s,i){switch(s){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:case 58:case 65:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:case 14:case 15:case 56:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:case 68:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 57:case 64:this.begin("string");break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 66:return"qString";case 67:return t.yytext=t.yytext.trim(),89;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}},(0,h.K)(eh,"Parser"),eh.prototype=ec,ec.Parser=eh,new eh}();u.parser=u;var y=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setAccDescription=o.EI,this.getAccDescription=o.m7,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getConfig=(0,h.K)(()=>(0,o.D7)().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{(0,h.K)(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,t){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:t,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){void 0!==this.latestRequirement&&(this.latestRequirement.requirementId=e)}setNewReqText(e){void 0!==this.latestRequirement&&(this.latestRequirement.text=e)}setNewReqRisk(e){void 0!==this.latestRequirement&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){void 0!==this.latestRequirement&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),c.R.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){void 0!==this.latestElement&&(this.latestElement.type=e)}setNewElementDocRef(e){void 0!==this.latestElement&&(this.latestElement.docRef=e)}addRelationship(e,t,s){this.relations.push({type:e,src:t,dst:s})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,(0,o.IU)()}setCssStyle(e,t){for(let s of e){let e=this.requirements.get(s)??this.elements.get(s);if(!t||!e)return;for(let s of t)s.includes(",")?e.cssStyles.push(...s.split(",")):e.cssStyles.push(s)}}setClass(e,t){for(let s of e){let e=this.requirements.get(s)??this.elements.get(s);if(e)for(let s of t){e.classes.push(s);let t=this.classes.get(s)?.styles;t&&e.cssStyles.push(...t)}}}defineClass(e,t){for(let s of e){let e=this.classes.get(s);void 0===e&&(e={id:s,styles:[],textStyles:[]},this.classes.set(s,e)),t&&t.forEach(function(t){if(/color/.exec(t)){let s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)}),this.requirements.forEach(e=>{e.classes.includes(s)&&e.cssStyles.push(...t.flatMap(e=>e.split(",")))}),this.elements.forEach(e=>{e.classes.includes(s)&&e.cssStyles.push(...t.flatMap(e=>e.split(",")))})}}getClasses(){return this.classes}getData(){let e=(0,o.D7)(),t=[],s=[];for(let s of this.requirements.values())s.id=s.name,s.cssStyles=s.cssStyles,s.cssClasses=s.classes.join(" "),s.shape="requirementBox",s.look=e.look,s.colorIndex=t.length,t.push(s);for(let s of this.elements.values())s.shape="requirementBox",s.look=e.look,s.id=s.name,s.cssStyles=s.cssStyles,s.cssClasses=s.classes.join(" "),s.colorIndex=t.length,t.push(s);let i=0;for(let t of this.relations){let r=t.type===this.Relationships.CONTAINS,n={id:`${t.src}-${t.dst}-${i++}`,start:this.requirements.get(t.src)?.name??this.elements.get(t.src)?.name,end:this.requirements.get(t.dst)?.name??this.elements.get(t.dst)?.name,label:`<<${t.type}>>`,classes:"relationshipLine",style:["fill:none",r?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:r?"normal":"dashed",arrowTypeStart:r?"requirement_contains":"",arrowTypeEnd:r?"":"requirement_arrow",look:e.look,labelType:"markdown"};s.push(n)}return{nodes:t,edges:s,other:{},config:e,direction:this.getDirection()}}},m=(0,h.K)(()=>{let e=(0,o.zj)(),{theme:t,themeVariables:s}=e,{bkgColorArray:i,borderColorArray:r}=s;if(!(0,a.P1)(t,r))return"";let n=(0,a.rq)(e.look),l="",c=(0,a.Ic)(i);for(let e=0;e<(0,a.Hu)(r);e++){let t=r[e],s=c?`fill: ${i[e%i.length]};`:"";l+=` + + [data-look="${n}"][data-color-id="color-${e}"].node path { + stroke: ${t}; + ${s} + } + + [data-look="${n}"][data-color-id="color-${e}"].node rect { + stroke: ${t}; + ${s} + } + `}return l},"genColor"),d=(0,h.K)(e=>{let{look:t,themeVariables:s}=(0,o.zj)(),{requirementEdgeLabelBackground:i}=s;return` + ${m()} + marker { + fill: ${e.relationColor}; + stroke: ${e.relationColor}; + } + + marker.cross { + stroke: ${e.lineColor}; + } + + svg { + font-family: ${e.fontFamily}; + font-size: ${e.fontSize}; + } + + .reqBox { + fill: ${e.requirementBackground}; + fill-opacity: 1.0; + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${e.requirementTextColor}; + } + .reqLabelBox { + fill: ${e.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + .relationshipLine { + stroke: ${e.relationColor}; + stroke-width: ${"neo"===t?e.strokeWidth:"1px"}; + } + .relationshipLabel { + fill: ${e.relationLabelColor}; + } + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + } + .edgeLabel .label rect { + fill: ${e.edgeLabelBackground}; + } + .edgeLabel .label text { + fill: ${e.relationLabelColor}; + } + .divider { + stroke: ${e.nodeBorder}; + stroke-width: 1; + } + .label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + .labelBkg { + background-color: ${i??e.edgeLabelBackground}; + } + +`},"getStyles"),E={};(0,h.V)(E,{draw:()=>p});var p=(0,h.K)(async function(e,t,s,a){c.R.info("REF0:"),c.R.info("Drawing requirement diagram (unified)",t);let{securityLevel:h,state:u,layout:y,look:m}=(0,o.D7)(),d=a.db.getData(),E=(0,i.A)(t,h);d.type=a.type,d.layoutAlgorithm=(0,n.q7)(y),d.nodeSpacing=u?.nodeSpacing??50,d.rankSpacing=u?.rankSpacing??50,d.markers="neo"===m?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],d.diagramId=t,await (0,n.XX)(d,E),l._K.insertTitle(E,"requirementDiagramTitleText",u?.titleTopMargin??25,a.db.getDiagramTitle()),(0,r.P)(E,8,"requirementDiagram",u?.useMaxWidth??!0)},"draw"),R={parser:u,get db(){return new y},renderer:E,styles:d}}}]); \ No newline at end of file diff --git a/assets/js/6875c492.0883a958.js b/assets/js/6875c492.0883a958.js new file mode 100644 index 0000000..d26b13d --- /dev/null +++ b/assets/js/6875c492.0883a958.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["766"],{4553(e,t,n){n.d(t,{A:()=>a});var r=n(4848);n(6540);var s=n(568),i=n(7174);function a(e){let{metadata:t}=e,{previousPage:n,nextPage:a}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,r.jsx)(i.A,{permalink:n,title:(0,r.jsx)(s.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),a&&(0,r.jsx)(i.A,{permalink:a,title:(0,r.jsx)(s.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},4533(e,t,n){n.d(t,{A:()=>U});var r=n(4848);n(6540);var s=n(4164),i=n(7645);function a({children:e,className:t}){return(0,r.jsx)("article",{className:t,children:e})}var l=n(5310);function o({className:e}){let{metadata:t,isBlogPostPage:n}=(0,i.e7)(),{permalink:a,title:d}=t;return(0,r.jsx)(n?"h1":"h2",{className:(0,s.A)("title_f1Hy",e),children:n?d:(0,r.jsx)(l.A,{to:a,children:d})})}var d=n(568),c=n(8878),u=n(7954);function h({readingTime:e}){let t=function(){let{selectMessage:e}=(0,c.W)();return t=>{let n=Math.ceil(t);return e(n,(0,d.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:t(e)})}function g({date:e,formattedDate:t}){return(0,r.jsx)("time",{dateTime:e,children:t})}function m(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function p({className:e}){let{metadata:t}=(0,i.e7)(),{date:n,readingTime:a}=t,l=(0,u.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,s.A)("container_mt6G","margin-vert--md",e),children:[(0,r.jsx)(g,{date:n,formattedDate:l.format(new Date(n))}),void 0!==a&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(m,{}),(0,r.jsx)(h,{readingTime:a})]})]})}var x=n(6947);function j({className:e}){let{metadata:{authors:t},assets:n}=(0,i.e7)();if(0===t.length)return null;let a=t.every(({name:e})=>!e),l=1===t.length;return(0,r.jsx)("div",{className:(0,s.A)("margin-top--md margin-bottom--sm",a?"imageOnlyAuthorRow_pa_O":"row",e),children:t.map((e,t)=>(0,r.jsx)("div",{className:(0,s.A)(!a&&(l?"col col--12":"col col--6"),a?"imageOnlyAuthorCol_G86a":"authorCol_Hf19"),children:(0,r.jsx)(x.A,{author:{...e,imageURL:n.authorsImageUrls[t]??e.imageURL}})},t))})}function f(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(o,{}),(0,r.jsx)(p,{}),(0,r.jsx)(j,{})]})}var b=n(5248),A=n(4743);function v({children:e,className:t}){let{isBlogPostPage:n}=(0,i.e7)();return(0,r.jsx)("div",{id:n?b.blogPostContainerID:void 0,className:(0,s.A)("markdown",t),children:(0,r.jsx)(A.A,{children:e})})}var T=n(8287),w=n(7410),N=n(4999);function y(){return(0,r.jsx)("b",{children:(0,r.jsx)(d.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function k(e){let{blogPostTitle:t,...n}=e;return(0,r.jsx)(l.A,{"aria-label":(0,d.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(y,{})})}function P(){let{metadata:e,isBlogPostPage:t}=(0,i.e7)(),{tags:n,title:a,editUrl:l,hasTruncateMarker:o,lastUpdatedBy:d,lastUpdatedAt:c}=e,u=!t&&o,h=n.length>0;if(!(h||u||l))return null;if(!t)return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[h&&(0,r.jsx)("div",{className:(0,s.A)("col",{"col--9":u}),children:(0,r.jsx)(N.A,{tags:n})}),u&&(0,r.jsx)("div",{className:(0,s.A)("col text--right",{"col--3":h}),children:(0,r.jsx)(k,{blogPostTitle:a,to:e.permalink})})]});{let e=!!(l||c||d);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[h&&(0,r.jsx)("div",{className:(0,s.A)("row","margin-top--sm",T.G.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(N.A,{tags:n})})}),e&&(0,r.jsx)(w.A,{className:(0,s.A)("margin-top--sm",T.G.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:c,lastUpdatedBy:d})]})}}function U({children:e,className:t}){let n=function(){let{isBlogPostPage:e}=(0,i.e7)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(a,{className:(0,s.A)(n,t),children:[(0,r.jsx)(f,{}),(0,r.jsx)(v,{children:e}),(0,r.jsx)(P,{})]})}},284(e,t,n){n.d(t,{A:()=>a});var r=n(4848);n(6540);var s=n(7645),i=n(4533);function a({items:e,component:t=i.A}){return(0,r.jsx)(r.Fragment,{children:e.map(({content:e})=>(0,r.jsx)(s.in,{content:e,children:(0,r.jsx)(t,{children:(0,r.jsx)(e,{})})},e.metadata.permalink))})}},149(e,t,n){n.r(t),n.d(t,{default:()=>f});var r=n(4848);n(6540);var s=n(4164),i=n(568),a=n(4308),l=n(8287),o=n(9365),d=n(5310),c=n(8579),u=n(4553),h=n(4175),g=n(284),m=n(1250),p=n(2072);function x({tag:e}){let t=(0,o.ZD)(e);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.be,{title:t,description:e.description}),(0,r.jsx)(h.A,{tag:"blog_tags_posts"})]})}function j({tag:e,items:t,sidebar:n,listMetadata:s}){let a=(0,o.ZD)(e);return(0,r.jsxs)(c.A,{sidebar:n,children:[e.unlisted&&(0,r.jsx)(m.A,{}),(0,r.jsxs)("header",{className:"margin-bottom--xl",children:[(0,r.jsx)(p.A,{as:"h1",children:a}),e.description&&(0,r.jsx)("p",{children:e.description}),(0,r.jsx)(d.A,{href:e.allTagsPath,children:(0,r.jsx)(i.A,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,r.jsx)(g.A,{items:t}),(0,r.jsx)(u.A,{metadata:s})]})}function f(e){return(0,r.jsxs)(a.e3,{className:(0,s.A)(l.G.wrapper.blogPages,l.G.page.blogTagPostListPage),children:[(0,r.jsx)(x,{...e}),(0,r.jsx)(j,{...e})]})}},1250(e,t,n){n.d(t,{A:()=>d});var r=n(4848);n(6540);var s=n(4164),i=n(3276),a=n(8287),l=n(7444);function o({className:e}){return(0,r.jsx)(l.A,{type:"caution",title:(0,r.jsx)(i.Rc,{}),className:(0,s.A)(e,a.G.common.unlistedBanner),children:(0,r.jsx)(i.Uh,{})})}function d(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.AE,{}),(0,r.jsx)(o,{...e})]})}},9365(e,t,n){n.d(t,{Y4:()=>u,ZD:()=>l,np:()=>c,uz:()=>d,wI:()=>o});var r=n(4848);n(6540);var s=n(568),i=n(8878);function a(){let{selectMessage:e}=(0,i.W)();return t=>e(t,(0,s.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function l(e){let t=a();return(0,s.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function o(e){let t=a();return(0,s.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}let d=()=>(0,s.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function c(){return(0,r.jsx)(s.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function u(){return(0,r.jsx)(s.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}},3276(e,t,n){n.d(t,{AE:()=>o,Rc:()=>a,TT:()=>c,Uh:()=>l,Yh:()=>d});var r=n(4848);n(6540);var s=n(568),i=n(3572);function a(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,r.jsx)(i.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function d(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function c(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/assets/js/6badde6a.ff0c6a4f.js b/assets/js/6badde6a.ff0c6a4f.js new file mode 100644 index 0000000..fe08444 --- /dev/null +++ b/assets/js/6badde6a.ff0c6a4f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4063"],{2426(e,r,s){s.r(r),s.d(r,{metadata:()=>t,default:()=>h,frontMatter:()=>d,contentTitle:()=>l,toc:()=>o,assets:()=>i});var t=JSON.parse('{"id":"core/sql-type","title":"SQL \u7C7B\u578B\u8BC6\u522B","description":"\u57FA\u4E8E\u89E3\u6790\u540E\u7684\u8BED\u6CD5\u6811\u8BC6\u522B SQL \u4E1A\u52A1\u7C7B\u578B","source":"@site/docs/core/sql-type.md","sourceDirName":"core","slug":"/core/sql-type","permalink":"/SqlParserX/docs/next/core/sql-type","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/sql-type.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"SQL \u7C7B\u578B\u8BC6\u522B","description":"\u57FA\u4E8E\u89E3\u6790\u540E\u7684\u8BED\u6CD5\u6811\u8BC6\u522B SQL \u4E1A\u52A1\u7C7B\u578B","sidebar_label":"SQL \u7C7B\u578B\u8BC6\u522B","sidebar_position":1},"sidebar":"docs","previous":{"title":"\u73AF\u5883\u51C6\u5907\u4E0E\u6784\u5EFA","permalink":"/SqlParserX/docs/next/quickstart/setup"},"next":{"title":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","permalink":"/SqlParserX/docs/next/core/field-lineage"}}'),n=s(4848),c=s(8453);let d={title:"SQL \u7C7B\u578B\u8BC6\u522B",description:"\u57FA\u4E8E\u89E3\u6790\u540E\u7684\u8BED\u6CD5\u6811\u8BC6\u522B SQL \u4E1A\u52A1\u7C7B\u578B",sidebar_label:"SQL \u7C7B\u578B\u8BC6\u522B",sidebar_position:1},l="SQL \u7C7B\u578B\u8BC6\u522B",i={},o=[{value:"\u652F\u6301\u8303\u56F4",id:"\u652F\u6301\u8303\u56F4",level:2}];function a(e){let r={code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,c.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.header,{children:(0,n.jsx)(r.h1,{id:"sql-\u7C7B\u578B\u8BC6\u522B",children:"SQL \u7C7B\u578B\u8BC6\u522B"})}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"parseSqlType"})," \u5148\u6309\u6240\u9009\u6570\u636E\u6E90\u65B9\u8A00\u6784\u5EFA Druid AST\uFF0C\u518D\u8FD4\u56DE\u7EDF\u4E00\u7684 ",(0,n.jsx)(r.code,{children:"SqlType"}),"\uFF0C\u9002\u5408\u8BED\u53E5\u8DEF\u7531\u3001\u5BA1\u8BA1\u5206\u7C7B\u548C\u6267\u884C\u7B56\u7565\u9009\u62E9\u3002"]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-java",metastring:'title="SqlTypeDemo.java"',children:'import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType;\nimport com.dtstack.sqlparserx.core.enums.SqlType;\nimport com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\n\nISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);\n\nSqlType queryType = parser.parseSqlType("SELECT id FROM users");\nSqlType insertType = parser.parseSqlType(\n "INSERT INTO target_table SELECT id FROM source_table");\n\nSystem.out.println(queryType); // QUERY\nSystem.out.println(insertType); // INSERT\n'})}),"\n",(0,n.jsx)(r.h2,{id:"\u652F\u6301\u8303\u56F4",children:"\u652F\u6301\u8303\u56F4"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"\u5206\u7C7B"}),(0,n.jsx)(r.th,{children:"\u5178\u578B\u7C7B\u578B"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"\u67E5\u8BE2"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"QUERY"}),"\u3001",(0,n.jsx)(r.code,{children:"WITH_QUERY"}),"\u3001",(0,n.jsx)(r.code,{children:"QUERY_NO_FROM"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"DML"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"INSERT"}),"\u3001",(0,n.jsx)(r.code,{children:"UPDATE"}),"\u3001",(0,n.jsx)(r.code,{children:"DELETE"}),"\u3001",(0,n.jsx)(r.code,{children:"MERGE_INTO"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"DDL"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"CREATE"}),"\u3001",(0,n.jsx)(r.code,{children:"CREATE_AS"}),"\u3001",(0,n.jsx)(r.code,{children:"ALTER"}),"\u3001",(0,n.jsx)(r.code,{children:"DROP"}),"\u3001",(0,n.jsx)(r.code,{children:"TRUNCATE"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"\u7BA1\u7406\u4E0E\u67E5\u770B"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"SHOW_TABLES"}),"\u3001",(0,n.jsx)(r.code,{children:"SHOW_COLUMNS"}),"\u3001",(0,n.jsx)(r.code,{children:"DESC_TABLE"}),"\u3001",(0,n.jsx)(r.code,{children:"EXPLAIN"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"\u5176\u4ED6"}),(0,n.jsxs)(r.td,{children:["\u65E0\u6CD5\u5F52\u7C7B\u7684 AST \u8FD4\u56DE ",(0,n.jsx)(r.code,{children:"OTHER"})]})]})]})]}),"\n",(0,n.jsx)(r.p,{children:"\u5177\u4F53 SQL \u80FD\u5426\u6784\u5EFA AST\uFF0C\u4ECD\u53D6\u51B3\u4E8E\u6240\u9009\u6570\u636E\u6E90\u7684\u65B9\u8A00\u652F\u6301\u60C5\u51B5\u3002"})]})}function h(e={}){let{wrapper:r}={...(0,c.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},8453(e,r,s){s.d(r,{R:()=>d,x:()=>l});var t=s(6540);let n={},c=t.createContext(n);function d(e){let r=t.useContext(c);return t.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),t.createElement(c.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6db0e023.5148d681.js b/assets/js/6db0e023.5148d681.js new file mode 100644 index 0000000..3359d43 --- /dev/null +++ b/assets/js/6db0e023.5148d681.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8198"],{1494(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next \u{1F6A7}","banner":"unreleased","badge":true,"noIndex":false,"className":"docs-version-current","isLast":false,"docsSidebars":{"docs":[{"type":"link","href":"/SqlParserX/docs/next/intro","label":"\u6587\u6863\u5BFC\u8BFB","docId":"intro","unlisted":false},{"type":"category","label":"\u5173\u4E8E SqlParserX","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/docs/next/about/introduction","label":"SqlParserX\u4ECB\u7ECD","docId":"about/introduction","unlisted":false},{"type":"link","href":"/SqlParserX/docs/next/about/architecture","label":"\u67B6\u6784\u8BBE\u8BA1","docId":"about/architecture","unlisted":false}],"collapsible":true},{"type":"category","label":"\u5FEB\u901F\u5F00\u59CB","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/docs/next/quickstart/setup","label":"\u73AF\u5883\u51C6\u5907\u4E0E\u6784\u5EFA","docId":"quickstart/setup","unlisted":false}],"collapsible":true},{"type":"category","label":"\u6838\u5FC3\u89E3\u6790\u80FD\u529B\u4F7F\u7528","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/docs/next/core/sql-type","label":"SQL \u7C7B\u578B\u8BC6\u522B","docId":"core/sql-type","unlisted":false},{"type":"link","href":"/SqlParserX/docs/next/core/field-lineage","label":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","docId":"core/field-lineage","unlisted":false},{"type":"link","href":"/SqlParserX/docs/next/core/table-lineage","label":"\u8868\u8840\u7F18\u89E3\u6790","docId":"core/table-lineage","unlisted":false},{"type":"link","href":"/SqlParserX/docs/next/core/table-parse","label":"\u8868\u89E3\u6790","docId":"core/table-parse","unlisted":false},{"type":"link","href":"/SqlParserX/docs/next/core/function-parse","label":"\u51FD\u6570\u89E3\u6790","docId":"core/function-parse","unlisted":false},{"type":"link","href":"/SqlParserX/docs/next/core/parameter-compile","label":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","docId":"core/parameter-compile","unlisted":false}],"collapsible":true},{"type":"category","label":"\u8D21\u732E\u6307\u5357","collapsed":true,"items":[{"type":"link","href":"/SqlParserX/docs/next/contributing","label":"\u8D21\u732E\u6307\u5357","docId":"contributing","unlisted":false}],"collapsible":true}]},"docs":{"about/architecture":{"id":"about/architecture","title":"\u67B6\u6784\u8BBE\u8BA1","description":"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784","sidebar":"docs"},"about/introduction":{"id":"about/introduction","title":"SqlParserX \u4ECB\u7ECD","description":"SqlParserX \u7684\u5B9A\u4F4D\u3001\u80FD\u529B\u4E0E\u6A21\u5757\u7EC4\u6210","sidebar":"docs"},"contributing":{"id":"contributing","title":"\u8D21\u732E\u6307\u5357","description":"\u53C2\u4E0E SqlParserX \u5F00\u53D1\u7684\u6D41\u7A0B\u4E0E\u89C4\u8303","sidebar":"docs"},"core/field-lineage":{"id":"core/field-lineage","title":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","description":"\u4ECE SQL \u63A8\u5BFC\u6765\u6E90\u8868.\u6765\u6E90\u5B57\u6BB5 \u2192 \u76EE\u6807\u8868.\u76EE\u6807\u5B57\u6BB5 \u7684\u5B57\u6BB5\u7EA7\u8840\u7F18\u5173\u7CFB","sidebar":"docs"},"core/function-parse":{"id":"core/function-parse","title":"\u51FD\u6570\u89E3\u6790","description":"\u63D0\u53D6 SQL \u4E2D\u4F7F\u7528\u7684\u51FD\u6570\u53CA\u5176\u53C2\u6570\u4E0E\u4E0A\u4E0B\u6587","sidebar":"docs"},"core/parameter-compile":{"id":"core/parameter-compile","title":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","description":"\u63D0\u53D6 SELECT \u52A8\u6001\u53C2\u6570\u5E76\u751F\u6210 JDBC \u9884\u7F16\u8BD1 SQL","sidebar":"docs"},"core/sql-type":{"id":"core/sql-type","title":"SQL \u7C7B\u578B\u8BC6\u522B","description":"\u57FA\u4E8E\u89E3\u6790\u540E\u7684\u8BED\u6CD5\u6811\u8BC6\u522B SQL \u4E1A\u52A1\u7C7B\u578B","sidebar":"docs"},"core/table-lineage":{"id":"core/table-lineage","title":"\u8868\u8840\u7F18\u89E3\u6790","description":"\u89E3\u6790 SQL \u4E2D\u6765\u6E90\u8868\u5230\u76EE\u6807\u8868\u7684\u8840\u7F18\u5173\u7CFB","sidebar":"docs"},"core/table-parse":{"id":"core/table-parse","title":"\u8868\u89E3\u6790","description":"\u4ECE SQL \u6587\u672C\u4E2D\u89E3\u6790\u771F\u5B9E\u8868\u3001CTE\u3001CREATE TABLE\u3001\u5206\u533A\u4E0E\u5C5E\u6027","sidebar":"docs"},"intro":{"id":"intro","title":"SqlParserX \u6587\u6863","description":"SqlParserX \u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305\u7684\u6587\u6863\u5165\u53E3","sidebar":"docs"},"quickstart/setup":{"id":"quickstart/setup","title":"\u5FEB\u901F\u5F00\u59CB","description":"\u5F15\u5165\u4F9D\u8D56\u3001\u6784\u5EFA\u5E76\u5728\u672C\u5730\u8FD0\u884C SqlParserX \u7684\u5B8C\u6574\u793A\u4F8B","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/718.659975ba.js b/assets/js/718.659975ba.js new file mode 100644 index 0000000..63954d4 --- /dev/null +++ b/assets/js/718.659975ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["718"],{8365(e,s,r){r.d(s,{createRadarServices:()=>a.f});var a=r(5552);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/7256.bfa531c9.js b/assets/js/7256.bfa531c9.js new file mode 100644 index 0000000..cc624d9 --- /dev/null +++ b/assets/js/7256.bfa531c9.js @@ -0,0 +1,24 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7256"],{7454(t,e,a){function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(6827).K)(r,"populateCommonDb")},6699(t,e,a){a.d(e,{diagram:()=>$});var r=a(7454),i=a(4924),l=a(6348),o=a(1177),s=a(1293),c=a(6827),n=a(8731),d=o.UI.packet,p=class{constructor(){this.packet=[],this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getAccDescription=o.m7,this.setAccDescription=o.EI}static{(0,c.K)(this,"PacketDB")}getConfig(){let t=(0,l.$t)({...d,...(0,o.zj)().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){(0,o.IU)(),this.packet=[]}},k=(0,c.K)((t,e)=>{(0,r.S)(t,e);let a=-1,i=[],l=1,{bitsPerRow:o}=e.getConfig();for(let{start:r,end:c,bits:n,label:d}of t.blocks){if(void 0!==r&&void 0!==c&&c<r)throw Error(`Packet block ${r} - ${c} is invalid. End must be greater than start.`);if((r??=a+1)!==a+1)throw Error(`Packet block ${r} - ${c??r} is not contiguous. It should start from ${a+1}.`);if(0===n)throw Error(`Packet block ${r} is invalid. Cannot have a zero bit field.`);for(c??=r+(n??1)-1,n??=c-r+1,a=c,s.R.debug(`Packet block ${r} - ${a} with label ${d}`);i.length<=o+1&&e.getPacket().length<1e4;){let[t,a]=h({start:r,end:c,bits:n,label:d},l,o);if(i.push(t),t.end+1===l*o&&(e.pushWord(i),i=[],l++),!a)break;({start:r,end:c,bits:n,label:d}=a)}}e.pushWord(i)},"populate"),h=(0,c.K)((t,e,a)=>{if(void 0===t.start)throw Error("start should have been set during first phase");if(void 0===t.end)throw Error("end should have been set during first phase");if(t.start>t.end)throw Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];let r=e*a-1,i=e*a;return[{start:t.start,end:r,label:t.label,bits:r-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),b={parser:{yy:void 0},parse:(0,c.K)(async t=>{let e=await (0,n.qg)("packet",t),a=b.parser?.yy;if(!(a instanceof p))throw Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");s.R.debug(e),k(e,a)},"parse")},f=(0,c.K)((t,e,a,r)=>{let l=r.db,s=l.getConfig(),{rowHeight:c,paddingY:n,bitWidth:d,bitsPerRow:p}=s,k=l.getPacket(),h=l.getDiagramTitle(),b=c+n,f=b*(k.length+1)-(h?0:c),u=d*p+2,$=(0,i.D)(e);for(let[t,e]of($.attr("viewBox",`0 0 ${u} ${f}`),(0,o.a$)($,f,u,s.useMaxWidth),k.entries()))g($,e,t,s);$.append("text").text(h).attr("x",u/2).attr("y",f-b/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),g=(0,c.K)((t,e,a,{rowHeight:r,paddingX:i,paddingY:l,bitWidth:o,bitsPerRow:s,showBits:c})=>{let n=t.append("g"),d=a*(r+l)+l;for(let t of e){let e=t.start%s*o+1,a=(t.end-t.start+1)*o-i;if(n.append("rect").attr("x",e).attr("y",d).attr("width",a).attr("height",r).attr("class","packetBlock"),n.append("text").attr("x",e+a/2).attr("y",d+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(t.label),!c)continue;let l=t.end===t.start,p=d-2;n.append("text").attr("x",e+(l?a/2:0)).attr("y",p).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",l?"middle":"start").text(t.start),l||n.append("text").attr("x",e+a).attr("y",p).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(t.end)}},"drawWord"),u={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},$={parser:b,get db(){return new p},renderer:{draw:f},styles:(0,c.K)(({packet:t}={})=>{let e=(0,l.$t)(u,t);return` + .packetByte { + font-size: ${e.byteFontSize}; + } + .packetByte.start { + fill: ${e.startByteColor}; + } + .packetByte.end { + fill: ${e.endByteColor}; + } + .packetLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .packetTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + .packetBlock { + stroke: ${e.blockStrokeColor}; + stroke-width: ${e.blockStrokeWidth}; + fill: ${e.blockFillColor}; + } + `},"styles")}}}]); \ No newline at end of file diff --git a/assets/js/7472.e543edd6.js b/assets/js/7472.e543edd6.js new file mode 100644 index 0000000..d4e23d0 --- /dev/null +++ b/assets/js/7472.e543edd6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7472"],{2851(t,r,e){e.d(r,{A:()=>a});var n=e(2528),o=e(6984),c=Object.prototype.hasOwnProperty;let a=function(t,r,e){var a=t[r];c.call(t,r)&&(0,o.A)(a,e)&&(void 0!==e||r in t)||(0,n.A)(t,r,e)}},2528(t,r,e){e.d(r,{A:()=>o});var n=e(4171);let o=function(t,r,e){"__proto__"==r&&n.A?(0,n.A)(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}},1564(t,r,e){e.d(r,{A:()=>T});var n=e(13),o=e(2641),c=e(2851),a=e(2031),u=e(7422),A=e(7591),i=e(154),f=e(9759),l=e(4792),v=e(3511),b=e(9042),s=e(3973),j=e(3231),p=Object.prototype.hasOwnProperty;let d=function(t){var r=t.length,e=new t.constructor(r);return r&&"string"==typeof t[0]&&p.call(t,"index")&&(e.index=t.index,e.input=t.input),e};var y=e(565);let h=function(t,r){var e=r?(0,y.A)(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)};var g=/\w*$/;let O=function(t){var r=new t.constructor(t.source,g.exec(t));return r.lastIndex=t.lastIndex,r};var w=e(241),x=w.A?w.A.prototype:void 0,m=x?x.valueOf:void 0,S=e(1801);let I=function(t,r,e){var n=t.constructor;switch(r){case"[object ArrayBuffer]":return(0,y.A)(t);case"[object Boolean]":case"[object Date]":return new n(+t);case"[object DataView]":return h(t,e);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,S.A)(t,e);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(t);case"[object RegExp]":return O(t);case"[object Symbol]":return m?Object(m.call(t)):{}}};var U=e(2042),_=e(2049),P=e(5254),k=e(3098),F=e(2789),M=e(4841),B=M.A&&M.A.isMap,E=B?(0,F.A)(B):function(t){return(0,k.A)(t)&&"[object Map]"==(0,j.A)(t)},C=e(3149),D=M.A&&M.A.isSet,$=D?(0,F.A)(D):function(t){return(0,k.A)(t)&&"[object Set]"==(0,j.A)(t)},q="[object Arguments]",L="[object Function]",N="[object Object]",R={};R[q]=R["[object Array]"]=R["[object ArrayBuffer]"]=R["[object DataView]"]=R["[object Boolean]"]=R["[object Date]"]=R["[object Float32Array]"]=R["[object Float64Array]"]=R["[object Int8Array]"]=R["[object Int16Array]"]=R["[object Int32Array]"]=R["[object Map]"]=R["[object Number]"]=R[N]=R["[object RegExp]"]=R["[object Set]"]=R["[object String]"]=R["[object Symbol]"]=R["[object Uint8Array]"]=R["[object Uint8ClampedArray]"]=R["[object Uint16Array]"]=R["[object Uint32Array]"]=!0,R["[object Error]"]=R[L]=R["[object WeakMap]"]=!1;let T=function t(r,e,p,y,h,g){var O,w=1&e,x=2&e,m=4&e;if(p&&(O=h?p(r,y,h,g):p(r)),void 0!==O)return O;if(!(0,C.A)(r))return r;var S=(0,_.A)(r);if(S){if(O=d(r),!w)return(0,f.A)(r,O)}else{var k,F,M,B,D=(0,j.A)(r),T=D==L||"[object GeneratorFunction]"==D;if((0,P.A)(r))return(0,i.A)(r,w);if(D==N||D==q||T&&!h){if(O=x||T?{}:(0,U.A)(r),!w)return x?(F=(k=O)&&(0,a.A)(r,(0,A.A)(r),k),(0,a.A)(r,(0,v.A)(r),F)):(B=(M=O)&&(0,a.A)(r,(0,u.A)(r),M),(0,a.A)(r,(0,l.A)(r),B))}else{if(!R[D])return h?r:{};O=I(r,D,w)}}g||(g=new n.A);var V=g.get(r);if(V)return V;g.set(r,O),$(r)?r.forEach(function(n){O.add(t(n,e,p,n,r,g))}):E(r)&&r.forEach(function(n,o){O.set(o,t(n,e,p,o,r,g))});var G=m?x?s.A:b.A:x?A.A:u.A,W=S?void 0:G(r);return(0,o.A)(W||r,function(n,o){W&&(n=r[o=n]),(0,c.A)(O,o,t(n,e,p,o,r,g))}),O}},2568(t,r,e){e.d(r,{A:()=>c});var n=e(5045),o=e(8446);let c=function(t,r){var e=-1,c=(0,o.A)(t)?Array(t.length):[];return(0,n.A)(t,function(t,n,o){c[++e]=r(t,n,o)}),c}},8986(t,r,e){e.d(r,{A:()=>f});var n=e(6318),o=e(2851),c=e(4548),a=e(5353),u=e(3149),A=e(901);let i=function(t,r,e,n){if(!(0,u.A)(t))return t;r=(0,c.A)(r,t);for(var i=-1,f=r.length,l=f-1,v=t;null!=v&&++i<f;){var b=(0,A.A)(r[i]),s=e;if("__proto__"===b||"constructor"===b||"prototype"===b)break;if(i!=l){var j=v[b];void 0===(s=n?n(j,b,v):void 0)&&(s=(0,u.A)(j)?j:(0,a.A)(r[i+1])?[]:{})}(0,o.A)(v,b,s),v=v[b]}return t},f=function(t,r,e){for(var o=-1,a=r.length,u={};++o<a;){var A=r[o],f=(0,n.A)(t,A);e(f,A)&&i(u,(0,c.A)(A,t),f)}return u}},565(t,r,e){e.d(r,{A:()=>o});var n=e(3988);let o=function(t){var r=new t.constructor(t.byteLength);return new n.A(r).set(new n.A(t)),r}},154(t,r,e){e.d(r,{A:()=>A});var n=e(1917),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,c=o&&"object"==typeof module&&module&&!module.nodeType&&module,a=c&&c.exports===o?n.A.Buffer:void 0,u=a?a.allocUnsafe:void 0;let A=function(t,r){if(r)return t.slice();var e=t.length,n=u?u(e):new t.constructor(e);return t.copy(n),n}},1801(t,r,e){e.d(r,{A:()=>o});var n=e(565);let o=function(t,r){var e=r?(0,n.A)(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}},9759(t,r,e){e.d(r,{A:()=>n});let n=function(t,r){var e=-1,n=t.length;for(r||(r=Array(n));++e<n;)r[e]=t[e];return r}},2031(t,r,e){e.d(r,{A:()=>c});var n=e(2851),o=e(2528);let c=function(t,r,e,c){var a=!e;e||(e={});for(var u=-1,A=r.length;++u<A;){var i=r[u],f=c?c(e[i],t[i],i,e,t):void 0;void 0===f&&(f=t[i]),a?(0,o.A)(e,i,f):(0,n.A)(e,i,f)}return e}},3767(t,r,e){e.d(r,{A:()=>c});var n=e(4326),o=e(6832);let c=function(t){return(0,n.A)(function(r,e){var n=-1,c=e.length,a=c>1?e[c-1]:void 0,u=c>2?e[2]:void 0;for(a=t.length>3&&"function"==typeof a?(c--,a):void 0,u&&(0,o.A)(e[0],e[1],u)&&(a=c<3?void 0:a,c=1),r=Object(r);++n<c;){var A=e[n];A&&t(r,A,n,a)}return r})}},3973(t,r,e){e.d(r,{A:()=>a});var n=e(3831),o=e(3511),c=e(7591);let a=function(t){return(0,n.A)(t,c.A,o.A)}},5647(t,r,e){e.d(r,{A:()=>n});let n=(0,e(367).A)(Object.getPrototypeOf,Object)},3511(t,r,e){e.d(r,{A:()=>u});var n=e(6912),o=e(5647),c=e(4792),a=e(3153);let u=Object.getOwnPropertySymbols?function(t){for(var r=[];t;)(0,n.A)(r,(0,c.A)(t)),t=(0,o.A)(t);return r}:a.A},2042(t,r,e){e.d(r,{A:()=>A});var n=e(3149),o=Object.create,c=function(){function t(){}return function(r){if(!(0,n.A)(r))return{};if(o)return o(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}(),a=e(5647),u=e(7271);let A=function(t){return"function"!=typeof t.constructor||(0,u.A)(t)?{}:c((0,a.A)(t))}},6832(t,r,e){e.d(r,{A:()=>u});var n=e(6984),o=e(8446),c=e(5353),a=e(3149);let u=function(t,r,e){if(!(0,a.A)(e))return!1;var u=typeof r;return("number"==u?!!((0,o.A)(e)&&(0,c.A)(r,e.length)):"string"==u&&r in e)&&(0,n.A)(e[r],t)}},3068(t,r,e){e.d(r,{A:()=>i});var n=e(4326),o=e(6984),c=e(6832),a=e(7591),u=Object.prototype,A=u.hasOwnProperty;let i=(0,n.A)(function(t,r){t=Object(t);var e=-1,n=r.length,i=n>2?r[2]:void 0;for(i&&(0,c.A)(r[0],r[1],i)&&(n=1);++e<n;)for(var f=r[e],l=(0,a.A)(f),v=-1,b=l.length;++v<b;){var s=l[v],j=t[s];(void 0===j||(0,o.A)(j,u[s])&&!A.call(t,s))&&(t[s]=f[s])}return t})},77(t,r,e){e.d(r,{A:()=>f});var n,o=e(1990),c=e(8446),a=e(7422),u=e(5707),A=e(8593),i=Math.max;let f=(n=function(t,r,e){var n=null==t?0:t.length;if(!n)return -1;var c=null==e?0:(0,A.A)(e);return c<0&&(c=i(n+c,0)),(0,u.A)(t,(0,o.A)(r,3),c)},function(t,r,e){var u=Object(t);if(!(0,c.A)(t)){var A=(0,o.A)(r,3);t=(0,a.A)(t),r=function(t){return A(u[t],t,u)}}var i=n(t,r,e);return i>-1?u[A?t[i]:i]:void 0})},4098(t,r,e){e.d(r,{A:()=>o});var n=e(6335);let o=function(t){return(null==t?0:t.length)?(0,n.A)(t,1):[]}},1349(t,r,e){e.d(r,{A:()=>a});var n=Object.prototype.hasOwnProperty;let o=function(t,r){return null!=t&&n.call(t,r)};var c=e(5054);let a=function(t,r){return null!=t&&(0,c.A)(t,r,o)}},9703(t,r,e){e.d(r,{A:()=>a});var n=e(8348),o=e(2049),c=e(3098);let a=function(t){return"string"==typeof t||!(0,o.A)(t)&&(0,c.A)(t)&&"[object String]"==(0,n.A)(t)}},7591(t,r,e){e.d(r,{A:()=>f});var n=e(1463),o=e(3149),c=e(7271);let a=function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r};var u=Object.prototype.hasOwnProperty;let A=function(t){if(!(0,o.A)(t))return a(t);var r=(0,c.A)(t),e=[];for(var n in t)"constructor"==n&&(r||!u.call(t,n))||e.push(n);return e};var i=e(8446);let f=function(t){return(0,i.A)(t)?(0,n.A)(t,!0):A(t)}},6666(t,r,e){e.d(r,{A:()=>n});let n=function(t){var r=null==t?0:t.length;return r?t[r-1]:void 0}},4722(t,r,e){e.d(r,{A:()=>u});var n=e(5572),o=e(1990),c=e(2568),a=e(2049);let u=function(t,r){return((0,a.A)(t)?n.A:c.A)(t,(0,o.A)(r,3))}},2078(t,r,e){e.d(r,{A:()=>j});var n=/\s/;let o=function(t){for(var r=t.length;r--&&n.test(t.charAt(r)););return r};var c=/^\s+/,a=e(3149),u=e(1882),A=0/0,i=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,l=/^0o[0-7]+$/i,v=parseInt;let b=function(t){if("number"==typeof t)return t;if((0,u.A)(t))return A;if((0,a.A)(t)){var r,e="function"==typeof t.valueOf?t.valueOf():t;t=(0,a.A)(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=(r=t)?r.slice(0,o(r)+1).replace(c,""):r;var n=f.test(t);return n||l.test(t)?v(t.slice(2),n?2:8):i.test(t)?A:+t};var s=1/0;let j=function(t){return t?(t=b(t))===s||t===-s?(t<0?-1:1)*17976931348623157e292:t==t?t:0:0===t?t:0}},8593(t,r,e){e.d(r,{A:()=>o});var n=e(2078);let o=function(t){var r=(0,n.A)(t),e=r%1;return r==r?e?r-e:r:0}}}]); \ No newline at end of file diff --git a/assets/js/7693.12c8b0db.js b/assets/js/7693.12c8b0db.js new file mode 100644 index 0000000..6804c08 --- /dev/null +++ b/assets/js/7693.12c8b0db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7693"],{5308(e,n,r){r.r(n),r.d(n,{prepareLayoutForDagre:()=>n0,getEdgesToRender:()=>nF,runDagreLayoutCore:()=>n2,render:()=>n6,applyDagreLayoutResult:()=>nW,measureDagreLayout:()=>n1});var t,o=r(3227),i=r(5616),a=r(6163),d=r(7827),u=r(3002);r(739),r(6320),r(2217),r(2941),r(6348);var s=r(1177),c=r(1293),l=r(6827),g=r(8058),f=r(4898),h=0;let p=function(e){var n=++h;return(0,f.A)(e)+n};var v=r(9142),y=r(4098),w=r(4722),A=Math.ceil,b=Math.max;let m=function(e,n,r,t){for(var o=-1,i=b(A((n-e)/(r||1)),0),a=Array(i);i--;)a[t?i:++o]=e,e+=r;return a};var x=r(6832),E=r(2078);let L=function(e,n,r){return r&&"number"!=typeof r&&(0,x.A)(e,n,r)&&(n=r=void 0),e=(0,E.A)(e),void 0===n?(n=e,e=0):n=(0,E.A)(n),r=void 0===r?e<n?1:-1:(0,E.A)(r),m(e,n,r,void 0)};var k=r(697);class R{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,n=e._prev;if(n!==e)return O(n),n}enqueue(e){var n=this._sentinel;e._prev&&e._next&&O(e),e._next=n._next,n._next._prev=e,n._next=e,e._prev=n}toString(){for(var e=[],n=this._sentinel,r=n._prev;r!==n;)e.push(JSON.stringify(r,N)),r=r._prev;return"["+e.join(", ")+"]"}}function O(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function N(e,n){if("_next"!==e&&"_prev"!==e)return n}var C=v.A(1);function P(e,n,r,t,o){var i=o?[]:void 0;return g.A(e.inEdges(t.v),function(t){var a=e.edge(t),d=e.node(t.v);o&&i.push({v:t.v,w:t.w}),d.out-=a,j(n,r,d)}),g.A(e.outEdges(t.v),function(t){var o=e.edge(t),i=t.w,a=e.node(i);a.in-=o,j(n,r,a)}),e.removeNode(t.v),i}function j(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var S=r(13),M=r(2528),_=r(6984);let X=function(e,n,r){(void 0===r||(0,_.A)(e[n],r))&&(void 0!==r||n in e)||(0,M.A)(e,n,r)};var T=r(3816),D=r(154),B=r(1801),K=r(9759),I=r(2042),G=r(18),q=r(2049),J=r(3533),z=r(5254),F=r(9610),Y=r(3149),U=r(8348),V=r(5647),H=r(3098),Q=Object.prototype,W=Function.prototype.toString,Z=Q.hasOwnProperty,$=W.call(Object);let ee=function(e){if(!(0,H.A)(e)||"[object Object]"!=(0,U.A)(e))return!1;var n=(0,V.A)(e);if(null===n)return!0;var r=Z.call(n,"constructor")&&n.constructor;return"function"==typeof r&&r instanceof r&&W.call(r)==$};var en=r(9415);let er=function(e,n){if(("constructor"!==n||"function"!=typeof e[n])&&"__proto__"!=n)return e[n]};var et=r(2031),eo=r(7591);let ei=function(e,n,r,t,o,i,a){var d=er(e,r),u=er(n,r),s=a.get(u);if(s)return void X(e,r,s);var c=i?i(d,u,r+"",e,n,a):void 0,l=void 0===c;if(l){var g=(0,q.A)(u),f=!g&&(0,z.A)(u),h=!g&&!f&&(0,en.A)(u);(c=u,g||f||h)?(0,q.A)(d)?c=d:(0,J.A)(d)?c=(0,K.A)(d):f?(l=!1,c=(0,D.A)(u,!0)):h?(l=!1,c=(0,B.A)(u,!0)):c=[]:ee(u)||(0,G.A)(u)?(c=d,(0,G.A)(d))?c=(0,et.A)(d,(0,eo.A)(d)):(!(0,Y.A)(d)||(0,F.A)(d))&&(c=(0,I.A)(u)):l=!1}l&&(a.set(u,c),o(c,u,t,i,a),a.delete(u)),X(e,r,c)},ea=function e(n,r,t,o,i){n!==r&&(0,T.A)(r,function(a,d){if(i||(i=new S.A),(0,Y.A)(a))ei(n,r,d,t,e,o,i);else{var u=o?o(er(n,d),a,d+"",n,r,i):void 0;void 0===u&&(u=a),X(n,d,u)}},eo.A)};var ed=(0,r(3767).A)(function(e,n,r){ea(e,n,r)}),eu=r(8986),es=r(6953),ec=r(3310),el=r(7211),eg=(t=function(e,n){return null==e?{}:(0,eu.A)(e,n,function(n,r){return(0,es.A)(e,r)})},(0,el.A)((0,ec.A)(t,void 0,y.A),t+"")),ef=r(3068),eh=r(1882);let ep=function(e,n,r){for(var t=-1,o=e.length;++t<o;){var i=e[t],a=n(i);if(null!=a&&(void 0===d?a==a&&!(0,eh.A)(a):r(a,d)))var d=a,u=i}return u},ev=function(e,n){return e>n};var ey=r(9008);let ew=function(e){return e&&e.length?ep(e,ey.A,ev):void 0};var eA=r(6666),eb=r(9841),em=r(1990);let ex=function(e,n){var r={};return n=(0,em.A)(n,3),(0,eb.A)(e,function(e,t,o){(0,M.A)(r,t,n(e,t,o))}),r};var eE=r(9592);let eL=function(e,n){return e<n},ek=function(e){return e&&e.length?ep(e,ey.A,eL):void 0};var eR=r(1349),eO=r(1917);function eN(e,n,r,t){var o;do o=p(t);while(e.hasNode(o))return r.dummy=n,e.setNode(o,r),o}function eC(e){var n=new k.T({multigraph:e.isMultigraph()}).setGraph(e.graph());return g.A(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),g.A(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function eP(e,n){var r,t,o=e.x,i=e.y,a=n.x-o,d=n.y-i,u=e.width/2,s=e.height/2;if(!a&&!d)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(d)*u>Math.abs(a)*s?(d<0&&(s=-s),r=s*a/d,t=s):(a<0&&(u=-u),r=u,t=u*d/a),{x:o+r,y:i+t}}function ej(e){var n=w.A(L(eM(e)+1),function(){return[]});return g.A(e.nodes(),function(r){var t=e.node(r),o=t.rank;eE.A(o)||(n[o][t.order]=r)}),n}function eS(e,n,r,t){var o={width:0,height:0};return arguments.length>=4&&(o.rank=r,o.order=t),eN(e,"border",o,n)}function eM(e){return ew(w.A(e.nodes(),function(n){var r=e.node(n).rank;if(!eE.A(r))return r}))}function e_(e,n){return n()}function eX(e,n,r,t,o,i){var a=o[n][i-1],d=eN(e,"border",{width:0,height:0,rank:i,borderType:n},r);o[n][i]=d,e.setParent(d,t),a&&e.setEdge(a,d,{weight:1})}function eT(e){g.A(e.nodes(),function(n){eD(e.node(n))}),g.A(e.edges(),function(n){eD(e.edge(n))})}function eD(e){var n=e.width;e.width=e.height,e.height=n}function eB(e){e.y=-e.y}function eK(e){var n=e.x;e.x=e.y,e.y=n}let eI=function(e,n){return e&&e.length?ep(e,(0,em.A)(n,2),eL):void 0};function eG(e){var n={};g.A(e.sources(),function r(t){var o=e.node(t);if(Object.prototype.hasOwnProperty.call(n,t))return o.rank;n[t]=!0;var i=ek(w.A(e.outEdges(t),function(n){return r(n.w)-e.edge(n).minlen}));return(i===1/0||null==i)&&(i=0),o.rank=i})}function eq(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}function eJ(e){var n,r,t,o,i=new k.T({directed:!1}),a=e.nodes()[0],d=e.nodeCount();for(i.setNode(a,{});n=i,r=e,g.A(n.nodes(),function e(t){g.A(r.nodeEdges(t),function(o){var i=o.v,a=t===i?o.w:i;n.hasNode(a)||eq(r,o)||(n.setNode(a,{}),n.setEdge(t,a,{}),e(a))})}),n.nodeCount()<d;)t=function(e,n){return eI(n.edges(),function(r){if(e.hasNode(r.v)!==e.hasNode(r.w))return eq(n,r)})}(i,e),o=i.hasNode(t.v)?eq(e,t):-eq(e,t),function(e,n,r){g.A(e.nodes(),function(e){n.node(e).rank+=r})}(i,e,o);return i}var ez=r(77),eF=r(4092);v.A(1),v.A(1);var eY=r(4065),eU=r(3231),eV=r(8446),eH=r(9703),eQ=(0,r(805).A)("length"),eW=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),eZ="\\ud800-\\udfff",e$="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",e0="\\ud83c[\\udffb-\\udfff]",e1="[^"+eZ+"]",e2="(?:\\ud83c[\\udde6-\\uddff]){2}",e3="[\\ud800-\\udbff][\\udc00-\\udfff]",e8="(?:"+e$+"|"+e0+")?",e6="[\\ufe0e\\ufe0f]?",e4="(?:\\u200d(?:"+[e1,e2,e3].join("|")+")"+e6+e8+")*",e9=RegExp(e0+"(?="+e0+")|"+("(?:"+[e1+e$+"?",e$,e2,e3,"["+eZ+"]"].join("|"))+")"+(e6+e8+e4),"g");function e5(){}function e7(e,n,r){q.A(n)||(n=[n]);var t=(e.isDirected()?e.successors:e.neighbors).bind(e),o=[],i={};return g.A(n,function(n){if(!e.hasNode(n))throw Error("Graph does not have node: "+n);!function e(n,r,t,o,i,a){!Object.prototype.hasOwnProperty.call(o,r)&&(o[r]=!0,t||a.push(r),g.A(i(r),function(r){e(n,r,t,o,i,a)}),t&&a.push(r))}(e,n,"post"===r,i,t,o)}),o}function ne(e){n=e,r=new k.T().setGraph(n.graph()),g.A(n.nodes(),function(e){r.setNode(e,n.node(e))}),g.A(n.edges(),function(e){var t=r.edge(e.v,e.w)||{weight:0,minlen:1},o=n.edge(e);r.setEdge(e.v,e.w,{weight:t.weight+o.weight,minlen:Math.max(t.minlen,o.minlen)})}),eG(e=r);var n,r,t,o,i=eJ(e);for(nt(i),nn(i,e);t=no(i);)o=ni(i,e,t),na(i,e,t,o)}function nn(e,n){var r=e7(e,e.nodes(),"post");r=r.slice(0,r.length-1),g.A(r,function(r){var t,o,i,a;t=e,o=n,i=r,a=t.node(i).parent,t.edge(i,a).cutvalue=nr(t,o,i)})}function nr(e,n,r){var t=e.node(r).parent,o=!0,i=n.edge(r,t),a=0;return i||(o=!1,i=n.edge(t,r)),a=i.weight,g.A(n.nodeEdges(r),function(i){var d=i.v===r,u=d?i.w:i.v;if(u!==t){var s,c,l,g=d===o,f=n.edge(i).weight;if(a+=g?f:-f,s=e,c=r,l=u,s.hasEdge(c,l)){var h=e.edge(r,u).cutvalue;a+=g?-h:h}}}),a}function nt(e,n){arguments.length<2&&(n=e.nodes()[0]),function e(n,r,t,o,i){var a=t,d=n.node(o);return r[o]=!0,g.A(n.neighbors(o),function(i){Object.prototype.hasOwnProperty.call(r,i)||(t=e(n,r,t,i,o))}),d.low=a,d.lim=t++,i?d.parent=i:delete d.parent,t}(e,{},1,n)}function no(e){return ez.A(e.edges(),function(n){return e.edge(n).cutvalue<0})}function ni(e,n,r){var t=r.v,o=r.w;n.hasEdge(t,o)||(t=r.w,o=r.v);var i=e.node(t),a=e.node(o),d=i,u=!1;return i.lim>a.lim&&(d=a,u=!0),eI(eF.A(n.edges(),function(n){return u===nd(e,e.node(n.v),d)&&u!==nd(e,e.node(n.w),d)}),function(e){return eq(n,e)})}function na(e,n,r,t){var o,i,a,d,u=r.v,s=r.w;e.removeEdge(u,s),e.setEdge(t.v,t.w,{}),nt(e),nn(e,n),o=e,i=n,a=ez.A(o.nodes(),function(e){return!i.node(e).parent}),d=(d=e7(o,a,"pre")).slice(1),g.A(d,function(e){var n=o.node(e).parent,r=i.edge(e,n),t=!1;r||(r=i.edge(n,e),t=!0),i.node(e).rank=i.node(n).rank+(t?r.minlen:-r.minlen)})}function nd(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}e5.prototype=Error(),r(9252),ne.initLowLimValues=nt,ne.initCutValues=nn,ne.calcCutValue=nr,ne.leaveEdge=no,ne.enterEdge=ni,ne.exchangeEdges=na;var nu=r(2888),ns=r(4039),nc=r(1564),nl=r(2851);let ng=function(e,n,r){for(var t=-1,o=e.length,i=n.length,a={};++t<o;){var d=t<i?n[t]:void 0;r(a,e[t],d)}return a};var nf=r(6335),nh=r(5572),np=r(6318),nv=r(2568);let ny=function(e,n){var r=e.length;for(e.sort(n);r--;)e[r]=e[r].value;return e};var nw=r(2789);let nA=function(e,n){if(e!==n){var r=void 0!==e,t=null===e,o=e==e,i=(0,eh.A)(e),a=void 0!==n,d=null===n,u=n==n,s=(0,eh.A)(n);if(!d&&!s&&!i&&e>n||i&&a&&u&&!d&&!s||t&&a&&u||!r&&u||!o)return 1;if(!t&&!i&&!s&&e<n||s&&r&&o&&!t&&!i||d&&r&&o||!a&&o||!u)return -1}return 0},nb=function(e,n,r){for(var t=-1,o=e.criteria,i=n.criteria,a=o.length,d=r.length;++t<a;){var u=nA(o[t],i[t]);if(u){if(t>=d)return u;return u*("desc"==r[t]?-1:1)}}return e.index-n.index},nm=function(e,n,r){n=n.length?(0,nh.A)(n,function(e){return(0,q.A)(e)?function(n){return(0,np.A)(n,1===e.length?e[0]:e)}:e}):[ey.A];var t=-1;return n=(0,nh.A)(n,(0,nw.A)(em.A)),ny((0,nv.A)(e,function(e,r,o){return{criteria:(0,nh.A)(n,function(n){return n(e)}),index:++t,value:e}}),function(e,n){return nb(e,n,r)})};var nx=(0,r(4326).A)(function(e,n){if(null==e)return[];var r=n.length;return r>1&&(0,x.A)(e,n[0],n[1])?n=[]:r>2&&(0,x.A)(n[0],n[1],n[2])&&(n=[n[0]]),nm(e,(0,nf.A)(n,1),[])});function nE(e,n,r){for(var t;n.length&&(t=eA.A(n)).i<=r;)n.pop(),e.push(t.vs),r++;return r}function nL(e,n,r){return w.A(n,function(n){var t,o;return t=function(e){for(var n;e.hasNode(n=p("_root")););return n}(e),o=new k.T({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(n){return e.node(n)}),g.A(e.nodes(),function(i){var a=e.node(i),d=e.parent(i);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(o.setNode(i),o.setParent(i,d||t),g.A(e[r](i),function(n){var r=n.v===i?n.w:n.v,t=o.edge(r,i),a=eE.A(t)?0:t.weight;o.setEdge(r,i,{weight:e.edge(n).weight+a})}),Object.prototype.hasOwnProperty.call(a,"minRank")&&o.setNode(i,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))}),o})}function nk(e,n){g.A(n,function(n){g.A(n,function(n,r){e.node(n).order=r})})}var nR=r(9922);function nO(e,n,r){if(n>r){var t=n;n=r,r=t}Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,configurable:!0,value:{},writable:!0}),Object.defineProperty(e[n],r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}var nN=["nodesep","edgesep","ranksep","marginx","marginy"],nC={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},nP=["acyclicer","ranker","rankdir","align"],nj=["width","height"],nS={width:0,height:0},nM=["minlen","weight","width","height","labeloffset"],n_={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},nX=["labelpos"];function nT(e,n){return ex(eg(e,n),Number)}function nD(e){var n={};return g.A(e,function(e,r){n[r.toLowerCase()]=e}),n}var nB=(0,l.K)((e,n,r)=>Math.max(n,Math.min(r,e)),"clamp"),nK=(0,l.K)((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),nI=(0,l.K)(e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e||"er"===e||"classDiagram"===e,"shouldMergeSelfLoopSegments"),nG=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],nq=(0,l.K)((e,n,r,t,o)=>{let i=[],a=new Set;if(r.forEach(({start:e,end:n})=>{e!==t&&a.add(e),n!==t&&a.add(n)}),a.forEach(n=>{let r=e.node(n);"number"==typeof r?.x&&"number"==typeof r?.y&&i.push(r)}),0===i.length&&r.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{"number"==typeof e?.x&&"number"==typeof e?.y&&i.push(e)})}),0===i.length)return nK(o);let d=i.reduce((e,n)=>({x:e.x+n.x/i.length,y:e.y+n.y/i.length}),{x:0,y:0}),u=d.x-n.x,s=d.y-n.y;return Math.abs(u)>Math.abs(s)?u>0?"right":"left":Math.abs(s)>0?s>0?"bottom":"top":nK(o)},"getSelfLoopSide"),nJ=(0,l.K)((e,n="top",r=0,t=0)=>{let o=e.x,i=e.y-r,a=e.width/2,d=e.height/2,u=Math.max(36,Math.min(100,.8*e.width)),s=nB(Math.max(t,.35*e.width),36,u),c=nB(.45*Math.min(e.width,e.height),24,48);switch(n){case"bottom":{let e=i+d;return[{x:o-s/2,y:e},{x:o-s/2,y:e+c},{x:o+s/2,y:e+c},{x:o+s/2,y:e}]}case"right":{let e=o+a;return[{x:e,y:i-s/2},{x:e+c,y:i-s/2},{x:e+c,y:i+s/2},{x:e,y:i+s/2}]}case"left":{let e=o-a;return[{x:e,y:i-s/2},{x:e-c,y:i-s/2},{x:e-c,y:i+s/2},{x:e,y:i+s/2}]}default:{let e=i-d;return[{x:o-s/2,y:e},{x:o-s/2,y:e-c},{x:o+s/2,y:e-c},{x:o+s/2,y:e}]}}},"getSelfLoopPoints"),nz=(0,l.K)((e,n,r="top",t=0,o={})=>{let i=e.x,a=e.y-t,d=o.width??0,u=o.height??0;switch(r){case"bottom":return{x:i,y:Math.max(...n.map(e=>e.y))+u/2+4};case"right":return{x:Math.max(...n.map(e=>e.x))+d/2+4,y:a};case"left":return{x:Math.min(...n.map(e=>e.x))-d/2-4,y:a};default:return{x:i,y:Math.min(...n.map(e=>e.y))-u/2-4}}},"getSelfLoopLabelPosition"),nF=(0,l.K)((e,n=0,{mergeSelfLoops:r=!0}={})=>{let t=new Map,o=[],i=e.graph()?.rankdir;return e.edges().forEach(n=>{let i=e.edge(n);if(r&&i.selfLoop){let e=i.selfLoop.id;t.has(e)||t.set(e,[]),t.get(e).push({edge:i,start:n.v,end:n.w})}else o.push({edge:i,start:n.v,end:n.w})}),t.forEach(r=>{if(3!==r.length)return void r.forEach(e=>o.push(e));r.sort((e,n)=>e.edge.selfLoop.order-n.edge.selfLoop.order);let[t,a,d]=r,u=t.edge.originalEdge??a.edge.originalEdge??d.edge.originalEdge??a.edge,s=e.node(u.start);if(!s)return void r.forEach(e=>o.push(e));let c={width:a.edge.width,height:a.edge.height},l=nq(e,s,r,u.start,i),g=nJ(s,l,n,c.width??0),f=nz(s,g,l,n,c),h={...a.edge,...u,id:u.id,points:g,start:u.start,end:u.end,x:f.x,y:f.y,width:c.width,height:c.height,labelStyle:a.edge.labelStyle,fromCluster:t.edge.fromCluster??a.edge.fromCluster??d.edge.fromCluster,toCluster:t.edge.toCluster??a.edge.toCluster??d.edge.toCluster};delete h.selfLoop,delete h.originalEdge,o.push({edge:h,start:h.start,end:h.end})}),o},"getEdgesToRender"),nY=(0,l.K)(async({element:e,graph:n,diagramType:r,id:t,parentCluster:i,siteConfig:s})=>{let g=n.graph().rankdir;c.R.trace("Dir in recursive render - dir:",g);let{clusters:f,edgePaths:h,edgeLabels:p,nodes:v,rootGroups:y}=(0,o.B)(e,{edgePathsClass:"edgePaths"});n.nodes()?c.R.info("Recursive render XXX",n.nodes()):c.R.info("No nodes found for",n),n.edges().length>0&&c.R.info("Recursive edges",n.edge(n.edges()[0]));let w=nI(r);await Promise.all(n.nodes().map(async function(e){let a=n.node(e);if(void 0!==i){let r=JSON.parse(JSON.stringify(i.clusterData));c.R.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",r.height,"\nParent cluster",i.height),n.setNode(i.id,r),n.parent(e)||(c.R.trace("Setting parent",e,i.id),n.setParent(e,i.id,r))}if(c.R.info("(Insert) Node XXX"+e+": "+JSON.stringify(n.node(e))),a?.clusterNode){c.R.info("Cluster identified XBX",e,a.width,n.node(e));let{ranksep:o,nodesep:i}=n.graph();a.graph.setGraph({...a.graph.graph(),ranksep:o+25,nodesep:i});let l=await n$({element:v,graph:a.graph,diagramType:r,id:t,parentCluster:n.node(e),siteConfig:s}),g=l.elem;(0,u.lC)(a,g),a.diff=l.diff||0,c.R.info("New compound node after recursive render XAX",e,"width",a.width,"height",a.height),(0,d.U7)(g,a)}else n.children(e).length>0?(c.R.trace("Cluster - the non recursive path XBX",e,a.id,a,a.width,"Graph:",n),c.R.trace((0,o.dc)(a.id,n)),o.ju.set(a.id,{id:(0,o.dc)(a.id,n),node:a})):(c.R.trace("Node - the non recursive path XAX",e,v,n.node(e),g),await (0,o.sv)(v,n.node(e),{config:s,dir:g}))}));let A=(0,l.K)(async()=>{let e=n.edges().map(async function(e){let r=n.edge(e.v,e.w,e.name);if(c.R.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),c.R.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(n.edge(e))),c.R.info("Fix",o.ju,"ids:",e.v,e.w,"Translating: ",o.ju.get(e.v),o.ju.get(e.w)),w&&r.selfLoop){if(1!==r.selfLoop.order)return;let e={...r.originalEdge,...r,id:r.selfLoop.id,startLabelLeft:r.originalEdge?.startLabelLeft??r.startLabelLeft,startLabelRight:r.originalEdge?.startLabelRight??r.startLabelRight,endLabelLeft:r.originalEdge?.endLabelLeft??r.endLabelLeft,endLabelRight:r.originalEdge?.endLabelRight??r.endLabelRight};await (0,a.jP)(p,e),r.width=e.width,r.height=e.height,r.labelStyle=e.labelStyle;return}await (0,a.jP)(p,r)});await Promise.all(e)},"processEdges");await A();let{subGraphTitleTotalMargin:b}=(0,d.Oi)(s);return{elem:y,graph:n,groups:{clusters:f,edgePaths:h,edgeLabels:p,nodes:v,rootGroups:y},diagramType:r,id:t,mergeSelfLoops:w,subGraphTitleTotalMargin:b}},"measureDagreGraph"),nU=(0,l.K)(e=>{c.R.info("############################################# XXX"),c.R.info("### Layout ### XXX"),c.R.info("############################################# XXX"),e_("layout",()=>{var n=e_(" buildLayoutGraph",()=>{var n,r,t;return n=e,r=new k.T({multigraph:!0,compound:!0}),t=nD(n.graph()),r.setGraph(ed({},nC,nT(t,nN),eg(t,nP))),g.A(n.nodes(),function(e){var t=nD(n.node(e));r.setNode(e,ef.A(nT(t,nj),nS)),r.setParent(e,n.parent(e))}),g.A(n.edges(),function(e){var t=nD(n.edge(e));r.setEdge(e,ed({},n_,nT(t,nM),eg(t,nX)))}),r});e_(" runLayout",()=>{var e,r;return e=n,void((r=e_)(" makeSpaceForEdgeLabels",()=>{var n,r;return r=(n=e).graph(),void(r.ranksep/=2,g.A(n.edges(),function(e){var t=n.edge(e);t.minlen*=2,"c"!==t.labelpos.toLowerCase()&&("TB"===r.rankdir||"BT"===r.rankdir?t.width+=t.labeloffset:t.height+=t.labeloffset)}))}),r(" removeSelfEdges",()=>{var n;return n=e,void g.A(n.edges(),function(e){if(e.v===e.w){var r=n.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:n.edge(e)}),n.removeEdge(e)}})}),r(" acyclic",()=>{var n,r,t,o,i,a;return n="greedy"===e.graph().acyclicer?function(e,n){if(1>=e.nodeCount())return[];var r,t,o,i,a,d,u,s=(r=e,t=n||C,o=new k.T,i=0,a=0,g.A(r.nodes(),function(e){o.setNode(e,{v:e,in:0,out:0})}),g.A(r.edges(),function(e){var n=o.edge(e.v,e.w)||0,r=t(e);o.setEdge(e.v,e.w,n+r),a=Math.max(a,o.node(e.v).out+=r),i=Math.max(i,o.node(e.w).in+=r)}),d=L(a+i+3).map(function(){return new R}),u=i+1,g.A(o.nodes(),function(e){j(d,u,o.node(e))}),{graph:o,buckets:d,zeroIdx:u}),c=function(e,n,r){for(var t,o=[],i=n[n.length-1],a=n[0];e.nodeCount();){for(;t=a.dequeue();)P(e,n,r,t);for(;t=i.dequeue();)P(e,n,r,t);if(e.nodeCount()){for(var d=n.length-2;d>0;--d)if(t=n[d].dequeue()){o=o.concat(P(e,n,r,t,!0));break}}}return o}(s.graph,s.buckets,s.zeroIdx);return y.A(w.A(c,function(n){return e.outEdges(n.v,n.w)}))}(e,(r=e,function(e){return r.edge(e).weight})):(t=e,o=[],i={},a={},g.A(t.nodes(),function e(n){Object.prototype.hasOwnProperty.call(a,n)||(a[n]=!0,i[n]=!0,g.A(t.outEdges(n),function(n){Object.prototype.hasOwnProperty.call(i,n.w)?o.push(n):e(n.w)}),delete i[n])}),o),void g.A(n,function(n){var r=e.edge(n);e.removeEdge(n),r.forwardName=n.name,r.reversed=!0,e.setEdge(n.w,n.v,r,p("rev"))})}),r(" nestingGraph.run",()=>{var n,r,t,o,i,a,d,u;return n=eN(e,"root",{},"_root"),a=e,d={},g.A(a.children(),function(e){!function e(n,r){var t=a.children(n);t&&t.length&&g.A(t,function(n){e(n,r+1)}),d[n]=r}(e,1)}),r=d,o=2*(t=ew(nu.A(r))-1)+1,e.graph().nestingRoot=n,g.A(e.edges(),function(n){e.edge(n).minlen*=o}),i=(u=e,ns.A(u.edges(),function(e,n){return e+u.edge(n).weight},0)+1),void(g.A(e.children(),function(a){!function e(n,r,t,o,i,a,d){var u=n.children(d);if(!u.length){d!==r&&n.setEdge(r,d,{weight:0,minlen:t});return}var s=eS(n,"_bt"),c=eS(n,"_bb"),l=n.node(d);n.setParent(s,d),l.borderTop=s,n.setParent(c,d),l.borderBottom=c,g.A(u,function(u){e(n,r,t,o,i,a,u);var l=n.node(u),g=l.borderTop?l.borderTop:u,f=l.borderBottom?l.borderBottom:u,h=l.borderTop?o:2*o,p=g!==f?1:i-a[d]+1;n.setEdge(s,g,{weight:h,minlen:p,nestingEdge:!0}),n.setEdge(f,c,{weight:h,minlen:p,nestingEdge:!0})}),n.parent(d)||n.setEdge(r,s,{weight:0,minlen:i+a[d]})}(e,n,o,i,t,r,a)}),e.graph().nodeRankFactor=o)}),r(" rank",()=>(function(e){switch(e.graph().ranker){case"network-simplex":default:ne(e);break;case"tight-tree":var n;eG(n=e),eJ(n);break;case"longest-path":eG(e)}})(eC(e))),r(" injectEdgeLabelProxies",()=>{var n;return n=e,void g.A(n.edges(),function(e){var r=n.edge(e);if(r.width&&r.height){var t=n.node(e.v),o={rank:(n.node(e.w).rank-t.rank)/2+t.rank,e:e};eN(n,"edge-proxy",o,"_ep")}})}),r(" removeEmptyRanks",()=>{var n,r,t,o;return n=ek(w.A(e.nodes(),function(n){return e.node(n).rank})),r=[],g.A(e.nodes(),function(t){var o=e.node(t).rank-n;r[o]||(r[o]=[]),r[o].push(t)}),t=0,o=e.graph().nodeRankFactor,void g.A(r,function(n,r){eE.A(n)&&r%o!=0?--t:t&&g.A(n,function(n){e.node(n).rank+=t})})}),r(" nestingGraph.cleanup",()=>{var n;return n=e.graph(),void(e.removeNode(n.nestingRoot),delete n.nestingRoot,g.A(e.edges(),function(n){e.edge(n).nestingEdge&&e.removeEdge(n)}))}),r(" normalizeRanks",()=>{var n;return n=ek(w.A(e.nodes(),function(n){return e.node(n).rank})),void g.A(e.nodes(),function(r){var t=e.node(r);eR.A(t,"rank")&&(t.rank-=n)})}),r(" assignRankMinMax",()=>{var n,r;return n=e,r=0,void(g.A(n.nodes(),function(e){var t=n.node(e);t.borderTop&&(t.minRank=n.node(t.borderTop).rank,t.maxRank=n.node(t.borderBottom).rank,r=ew(r,t.maxRank))}),n.graph().maxRank=r)}),r(" removeEdgeLabelProxies",()=>{var n;return n=e,void g.A(n.nodes(),function(e){var r=n.node(e);"edge-proxy"===r.dummy&&(n.edge(r.e).labelRank=r.rank,n.removeNode(e))})}),r(" normalize.run",()=>{e.graph().dummyChains=[],g.A(e.edges(),function(n){!function(e,n){var r,t,o=n.v,i=e.node(o).rank,a=n.w,d=e.node(a).rank,u=n.name,s=e.edge(n),c=s.labelRank;if(d!==i+1){e.removeEdge(n);var l=void 0;for(t=0,++i;i<d;++t,++i)s.points=[],r=eN(e,"edge",l={width:0,height:0,edgeLabel:s,edgeObj:n,rank:i},"_d"),i===c&&(l.width=s.width,l.height=s.height,l.dummy="edge-label",l.labelpos=s.labelpos),e.setEdge(o,r,{weight:s.weight},u),0===t&&e.graph().dummyChains.push(r),o=r;e.setEdge(o,a,{weight:s.weight},u)}}(e,n)})}),r(" parentDummyChains",()=>{var n,r,t,o;return r=e,t={},o=0,g.A(r.children(),function e(n){var i=o;g.A(r.children(n),e),t[n]={low:i,lim:o++}}),n=t,void g.A(e.graph().dummyChains,function(r){for(var t=e.node(r),o=t.edgeObj,i=function(e,n,r,t){var o,i,a=[],d=[],u=Math.min(n[r].low,n[t].low),s=Math.max(n[r].lim,n[t].lim);o=r;do a.push(o=e.parent(o));while(o&&(n[o].low>u||s>n[o].lim))for(i=o,o=t;(o=e.parent(o))!==i;)d.push(o);return{path:a.concat(d.reverse()),lca:i}}(e,n,o.v,o.w),a=i.path,d=i.lca,u=0,s=a[0],c=!0;r!==o.w;){if(t=e.node(r),c){for(;(s=a[u])!==d&&e.node(s).maxRank<t.rank;)u++;s===d&&(c=!1)}if(!c){for(;u<a.length-1&&e.node(s=a[u+1]).minRank<=t.rank;)u++;s=a[u]}e.setParent(r,s),r=e.successors(r)[0]}})}),r(" addBorderSegments",()=>{g.A(e.children(),function n(r){var t=e.children(r),o=e.node(r);if(t.length&&g.A(t,n),Object.prototype.hasOwnProperty.call(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var i=o.minRank,a=o.maxRank+1;i<a;++i)eX(e,"borderLeft","_bl",r,o,i),eX(e,"borderRight","_br",r,o,i)}})}),r(" order",()=>(function(e){var n=eM(e),r=nL(e,L(1,n+1),"inEdges"),t=nL(e,L(n-1,-1,-1),"outEdges"),o=(i={},a=eF.A(e.nodes(),function(n){return!e.children(n).length}),d=ew(w.A(a,function(n){return e.node(n).rank})),u=w.A(L(d+1),function(){return[]}),s=nx(a,function(n){return e.node(n).rank}),g.A(s,function n(r){eR.A(i,r)||(i[r]=!0,u[e.node(r).rank].push(r),g.A(e.successors(r),n))}),u);nk(e,o);for(var i,a,d,u,s,c,l=1/0,f=0,h=0;h<4;++f,++h){(function(e,n){var r=new k.T;g.A(e,function(e){var t,o,i,a=e.graph().root,d=function e(n,r,t,o){var i,a,d,u,s,c,l,f,h,p,v,A,b=n.children(r),m=n.node(r),x=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,L={};x&&(b=eF.A(b,function(e){return e!==x&&e!==E}));var k=(i=b,w.A(i,function(e){var r=n.inEdges(e);if(!r.length)return{v:e};var t=ns.A(r,function(e,r){var t=n.edge(r),o=n.node(r.v);return{sum:e.sum+t.weight*o.order,weight:e.weight+t.weight}},{sum:0,weight:0});return{v:e,barycenter:t.sum/t.weight,weight:t.weight}}));g.A(k,function(r){if(n.children(r.v).length){var i,a,d=e(n,r.v,t,o);L[r.v]=d,Object.prototype.hasOwnProperty.call(d,"barycenter")&&(i=r,a=d,eE.A(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))}});var R=(a={},g.A(k,function(e,n){var r=a[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:n};eE.A(e.barycenter)||(r.barycenter=e.barycenter,r.weight=e.weight)}),g.A(t.edges(),function(e){var n=a[e.v],r=a[e.w];eE.A(n)||eE.A(r)||(r.indegree++,n.out.push(a[e.w]))}),function(e){for(var n=[];e.length;){var r=e.pop();n.push(r),g.A(r.in.reverse(),function(e){return function(n){!n.merged&&(eE.A(n.barycenter)||eE.A(e.barycenter)||n.barycenter>=e.barycenter)&&function(e,n){var r=0,t=0;e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/t,e.weight=t,e.i=Math.min(n.i,e.i),n.merged=!0}(e,n)}}(r)),g.A(r.out,function(n){return function(r){r.in.push(n),0==--r.indegree&&e.push(r)}}(r))}return w.A(eF.A(n,function(e){return!e.merged}),function(e){return eg(e,["vs","i","barycenter","weight"])})}(eF.A(a,function(e){return!e.indegree})));!function(e,n){g.A(e,function(e){e.vs=y.A(e.vs.map(function(e){return n[e]?n[e].vs:e}))})}(R,L);var O=(c=(d=function(e){return Object.prototype.hasOwnProperty.call(e,"barycenter")},u={lhs:[],rhs:[]},g.A(R,function(e){d(e)?u.lhs.push(e):u.rhs.push(e)}),s=u).lhs,l=nx(s.rhs,function(e){return-e.i}),f=[],h=0,p=0,v=0,c.sort(function(e){return function(n,r){return n.barycenter<r.barycenter?-1:n.barycenter>r.barycenter?1:e?r.i-n.i:n.i-r.i}}(!!o)),v=nE(f,l,v),g.A(c,function(e){v+=e.vs.length,f.push(e.vs),h+=e.barycenter*e.weight,p+=e.weight,v=nE(f,l,v)}),A={vs:y.A(f)},p&&(A.barycenter=h/p,A.weight=p),A);if(x&&(O.vs=y.A([x,O.vs,E]),n.predecessors(x).length)){var N=n.node(n.predecessors(x)[0]),C=n.node(n.predecessors(E)[0]);Object.prototype.hasOwnProperty.call(O,"barycenter")||(O.barycenter=0,O.weight=0),O.barycenter=(O.barycenter*O.weight+N.order+C.order)/(O.weight+2),O.weight+=2}return O}(e,a,r,n);g.A(d.vs,function(n,r){e.node(n).order=r}),t=d.vs,i={},g.A(t,function(n){for(var t,a,d=e.parent(n);d;){if((t=e.parent(d))?(a=i[t],i[t]=d):(a=o,o=d),a&&a!==d)return void r.setEdge(a,d);d=t}})})})(f%2?r:t,f%4>=2),o=ej(e);var p,v=function(e,n){for(var r=0,t=1;t<n.length;++t)r+=function(e,n,r){for(var t=ng(r||[],w.A(r,function(e,n){return n})||[],nl.A),o=y.A(w.A(n,function(n){return nx(w.A(e.outEdges(n),function(n){return{pos:t[n.w],weight:e.edge(n).weight}}),"pos")})),i=1;i<r.length;)i<<=1;var a=2*i-1;i-=1;var d=w.A(Array(a),function(){return 0}),u=0;return g.A(o.forEach(function(e){var n=e.pos+i;d[n]+=e.weight;for(var r=0;n>0;)n%2&&(r+=d[n+1]),n=n-1>>1,d[n]+=e.weight;u+=e.weight*r})),u}(e,n[t-1],n[t]);return r}(e,o);v<l&&(h=0,p=o,c=(0,nc.A)(p,5),l=v)}nk(e,c)})(e)),r(" insertSelfEdges",()=>{var n,r;return r=ej(n=e),void g.A(r,function(e){var r=0;g.A(e,function(e,t){var o=n.node(e);o.order=t+r,g.A(o.selfEdges,function(e){eN(n,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:t+ ++r,e:e.e,label:e.label},"_se")}),delete o.selfEdges})})}),r(" adjustCoordinateSystem",()=>{var n;("lr"===(n=e.graph().rankdir.toLowerCase())||"rl"===n)&&eT(e)}),r(" position",()=>{var n,r,t,o,i,a,d,u,s,c,l,f,h,p,v,y,A;v=ej(p=n=eC(n=e)),y=p.graph().ranksep,A=0,g.A(v,function(e){var n=ew(w.A(e,function(e){return p.node(e).height}));g.A(e,function(e){p.node(e).y=A+n/2}),A+=n+y}),o=ej(r=n),a=ed((i={},ns.A(o,function(e,n){var t=0,o=0,a=e.length,d=eA.A(n);return g.A(n,function(e,u){var s=function(e,n){if(e.node(n).dummy)return ez.A(e.predecessors(n),function(n){return e.node(n).dummy})}(r,e),c=s?r.node(s).order:a;(s||e===d)&&(g.A(n.slice(o,u+1),function(e){g.A(r.predecessors(e),function(n){var o=r.node(n),a=o.order;(a<t||c<a)&&!(o.dummy&&r.node(e).dummy)&&nO(i,n,e)})}),o=u+1,t=c)}),n}),i),function(e,n){var r={};function t(n,t,o,i,a){var d;g.A(L(t,o),function(t){d=n[t],e.node(d).dummy&&g.A(e.predecessors(d),function(n){var t=e.node(n);t.dummy&&(t.order<i||t.order>a)&&nO(r,n,d)})})}return ns.A(n,function(n,r){var o,i=-1,a=0;return g.A(r,function(d,u){if("border"===e.node(d).dummy){var s=e.predecessors(d);s.length&&(o=e.node(s[0]).order,t(r,a,u,i,o),a=u,i=o)}t(r,a,r.length,o,n.length)}),r}),r}(r,o)),d={},g.A(["u","d"],function(e){t="u"===e?o:nu.A(o).reverse(),g.A(["l","r"],function(n){"r"===n&&(t=w.A(t,function(e){return nu.A(e).reverse()}));var o,i,u,s,c=("u"===e?r.predecessors:r.successors).bind(r),l=(o=t,i={},u={},s={},g.A(o,function(e){g.A(e,function(e,n){i[e]=e,u[e]=e,s[e]=n})}),g.A(o,function(e){var n=-1;g.A(e,function(e){var r=c(e);if(r.length)for(var t=((r=nx(r,function(e){return s[e]})).length-1)/2,o=Math.floor(t),d=Math.ceil(t);o<=d;++o){var l=r[o];u[e]===e&&n<s[l]&&!function(e,n,r){if(n>r){var t=n;n=r,r=t}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],r)}(a,e,l)&&(u[l]=e,u[e]=i[e]=i[l],n=s[l])}})}),{root:i,align:u}),f=function(e,n,r,t,o){var i,a,d,u,s,c,l,f,h,p,v={},y=(i=e,a=n,d=r,u=o,f=new k.T,p=(s=(h=i.graph()).nodesep,c=h.edgesep,l=u,function(e,n,r){var t,o,i=e.node(n),a=e.node(r);if(t=0+i.width/2,Object.prototype.hasOwnProperty.call(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":o=-i.width/2;break;case"r":o=i.width/2}if(o&&(t+=l?o:-o),o=0,t+=(i.dummy?c:s)/2,t+=(a.dummy?c:s)/2,t+=a.width/2,Object.prototype.hasOwnProperty.call(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":o=a.width/2;break;case"r":o=-a.width/2}return o&&(t+=l?o:-o),o=0,t}),g.A(a,function(e){var n;g.A(e,function(e){var r=d[e];if(f.setNode(r),n){var t=d[n],o=f.edge(t,r);f.setEdge(t,r,Math.max(p(i,e,n),o||0))}n=e})}),f),w=o?"borderLeft":"borderRight";function A(e,n){for(var r=y.nodes(),t=r.pop(),o={};t;)o[t]?e(t):(o[t]=!0,r.push(t),r=r.concat(n(t))),t=r.pop()}return A(function(e){v[e]=y.inEdges(e).reduce(function(e,n){return Math.max(e,v[n.v]+y.edge(n))},0)},y.predecessors.bind(y)),A(function(n){var r=y.outEdges(n).reduce(function(e,n){return Math.min(e,v[n.w]-y.edge(n))},1/0),t=e.node(n);r!==1/0&&t.borderType!==w&&(v[n]=Math.max(v[n],r))},y.successors.bind(y)),g.A(t,function(e){v[e]=v[r[e]]}),v}(r,t,l.root,l.align,"r"===n);"r"===n&&(f=ex(f,function(e){return-e})),d[e+n]=f})}),u=eI(nu.A(d),function(e){var n,t=-1/0,o=1/0;return n=function(e,n){var i,a,d=(i=r,a=n,i.node(a).width/2);t=Math.max(e+d,t),o=Math.min(e-d,o)},null==e||(0,T.A)(e,(0,nR.A)(n),eo.A),t-o}),c=ek(s=nu.A(u)),l=ew(s),g.A(["u","d"],function(e){g.A(["l","r"],function(n){var r,t=e+n,o=d[t];if(o!==u){var i=nu.A(o);(r="l"===n?c-ek(i):l-ew(i))&&(d[t]=ex(o,function(e){return e+r}))}})}),f=r.graph().align,h=ex(d.ul,function(e,n){if(f)return d[f.toLowerCase()][n];var r=nx(w.A(d,n));return(r[1]+r[2])/2}),h&&(0,eb.A)(h,(0,nR.A)(function(e,r){n.node(r).x=e}))}),r(" positionSelfEdges",()=>{var n;return n=e,void g.A(n.nodes(),function(e){var r=n.node(e);if("selfedge"===r.dummy){var t=n.node(r.e.v),o=t.x+t.width/2,i=t.y,a=r.x-o,d=t.height/2;n.setEdge(r.e,r.label),n.removeNode(e),r.label.points=[{x:o+2*a/3,y:i-d},{x:o+5*a/6,y:i-d},{x:o+a,y:i},{x:o+5*a/6,y:i+d},{x:o+2*a/3,y:i+d}],r.label.x=r.x,r.label.y=r.y}})}),r(" removeBorderNodes",()=>{var n;return n=e,void(g.A(n.nodes(),function(e){if(n.children(e).length){var r=n.node(e),t=n.node(r.borderTop),o=n.node(r.borderBottom),i=n.node(eA.A(r.borderLeft)),a=n.node(eA.A(r.borderRight));r.width=Math.abs(a.x-i.x),r.height=Math.abs(o.y-t.y),r.x=i.x+r.width/2,r.y=t.y+r.height/2}}),g.A(n.nodes(),function(e){"border"===n.node(e).dummy&&n.removeNode(e)}))}),r(" normalize.undo",()=>{g.A(e.graph().dummyChains,function(n){var r,t=e.node(n),o=t.edgeLabel;for(e.setEdge(t.edgeObj,o);t.dummy;)r=e.successors(n)[0],e.removeNode(n),o.points.push({x:t.x,y:t.y}),"edge-label"===t.dummy&&(o.x=t.x,o.y=t.y,o.width=t.width,o.height=t.height),n=r,t=e.node(n)})}),r(" fixupEdgeLabelCoords",()=>{var n;return n=e,void g.A(n.edges(),function(e){var r=n.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}),r(" undoCoordinateSystem",()=>{var n,r,t;("bt"===(n=e.graph().rankdir.toLowerCase())||"rl"===n)&&(r=e,g.A(r.nodes(),function(e){eB(r.node(e))}),g.A(r.edges(),function(e){var n=r.edge(e);g.A(n.points,eB),Object.prototype.hasOwnProperty.call(n,"y")&&eB(n)})),("lr"===n||"rl"===n)&&(t=e,g.A(t.nodes(),function(e){eK(t.node(e))}),g.A(t.edges(),function(e){var n=t.edge(e);g.A(n.points,eK),Object.prototype.hasOwnProperty.call(n,"x")&&eK(n)}),eT(e))}),r(" translateGraph",()=>(function(e){var n=1/0,r=0,t=1/0,o=0,i=e.graph(),a=i.marginx||0,d=i.marginy||0;function u(e){var i=e.x,a=e.y,d=e.width,u=e.height;n=Math.min(n,i-d/2),r=Math.max(r,i+d/2),t=Math.min(t,a-u/2),o=Math.max(o,a+u/2)}g.A(e.nodes(),function(n){u(e.node(n))}),g.A(e.edges(),function(n){var r=e.edge(n);Object.prototype.hasOwnProperty.call(r,"x")&&u(r)}),n-=a,t-=d,g.A(e.nodes(),function(r){var o=e.node(r);o.x-=n,o.y-=t}),g.A(e.edges(),function(r){var o=e.edge(r);g.A(o.points,function(e){e.x-=n,e.y-=t}),Object.prototype.hasOwnProperty.call(o,"x")&&(o.x-=n),Object.prototype.hasOwnProperty.call(o,"y")&&(o.y-=t)}),i.width=r-n+a,i.height=o-t+d})(e)),r(" assignNodeIntersects",()=>{var n;return n=e,void g.A(n.edges(),function(e){var r,t,o=n.edge(e),i=n.node(e.v),a=n.node(e.w);o.points?(r=o.points[0],t=o.points[o.points.length-1]):(o.points=[],r=a,t=i),o.points.unshift(eP(i,r)),o.points.push(eP(a,t))})}),r(" reversePoints",()=>{var n;return n=e,void g.A(n.edges(),function(e){var r=n.edge(e);r.reversed&&r.points.reverse()})}),r(" acyclic.undo",()=>{g.A(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var t=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,t)}})}))}),e_(" updateInputGraph",()=>{var r,t;return r=e,t=n,void(g.A(r.nodes(),function(e){var n=r.node(e),o=t.node(e);n&&(n.x=o.x,n.y=o.y,t.children(e).length&&(n.width=o.width,n.height=o.height))}),g.A(r.edges(),function(e){var n=r.edge(e),o=t.edge(e);n.points=o.points,Object.prototype.hasOwnProperty.call(o,"x")&&(n.x=o.x,n.y=o.y)}),r.graph().width=t.graph().width,r.graph().height=t.graph().height)})})},"runDagreGraphLayout"),nV=(0,l.K)((e,n,r)=>{let t=e.node(n);if(!t)return;let o={...t};return t?.clusterNode?o.y=(t.y??0)+r:e.children(n).length>0?o.height=(t.height??0)+r:o.y=(t.y??0)+r/2,o},"normalizeDagreNode"),nH=(0,l.K)((e,n)=>{nG.forEach(r=>{void 0!==n[r]&&(e[r]=n[r])})},"applyDagreNodeLayout"),nQ=(0,l.K)((e,n,r,t)=>({...e,start:e.start??n,end:e.end??r,points:(e.points??[]).map(e=>({...e,y:"number"==typeof e.y?e.y+t:e.y}))}),"normalizeDagreEdge"),nW=(0,l.K)((e,n)=>{let{graph:r,mergeSelfLoops:t,subGraphTitleTotalMargin:i=0}=n,a=new Map(e.nodes.map(e=>[e.id,e]));(0,o.sc)(r).forEach(e=>{let n=nV(r,e,i);if(!n)return;nH(r.node(e),n);let t=a.get(e);t&&nH(t,n)});let d=i/2;return e.edges=nF(r,d,{mergeSelfLoops:t}).map(({edge:e,start:n,end:r})=>nQ(e,n,r,d)),e},"applyDagreLayoutResult"),nZ=(0,l.K)(async({elem:e,graph:n,groups:{clusters:r,edgePaths:t},diagramType:u,id:s,mergeSelfLoops:l,subGraphTitleTotalMargin:g})=>{let f=0;await Promise.all((0,o.sc)(n).map(async function(e){let t=n.node(e);if(c.R.info("Position XBX => "+e+": ("+t.x,","+t.y,") width: ",t.width," height: ",t.height),t?.clusterNode)t.y+=g,c.R.info("A tainted cluster node XBX1",e,t.id,t.width,t.height,t.x,t.y,n.parent(e)),o.ju.get(t.id).node=t,(0,d.U_)(t);else if(n.children(e).length>0){c.R.info("A pure cluster node XBX1",e,t.id,t.x,t.y,t.width,t.height,n.parent(e)),t.height+=g,n.node(t.parentId);let a=t?.padding/2||0,d=t?.labelBBox?.height||0;c.R.debug("OffsetY",d-a||0,"labelHeight",d,"halfPadding",a),await (0,i.U)(r,t),o.ju.get(t.id).node=t}else{let e=n.node(t.parentId);t.y+=g/2,c.R.info("A regular node XBX1 - using the padding",t.id,"parent",t.parentId,t.width,t.height,t.x,t.y,"offsetY",t.offsetY,"parent",e,e?.offsetY,t),(0,d.U_)(t)}}));let h=g/2;return nF(n,h,{mergeSelfLoops:l}).forEach(function({edge:e,start:r,end:i}){c.R.info("Edge "+r+" -> "+i+": "+JSON.stringify(e),e),e.points.forEach(e=>e.y+=h);let d=n.node(r),l=n.node(i),g=(0,a.Jo)(t,e,o.ju,u,d,l,s);(0,a.T_)(e,g)}),n.nodes().forEach(function(e){let r=n.node(e);c.R.info(e,r.type,r.diff),r.isGroup&&(f=r.diff)}),c.R.warn("Returning from recursive render XAX",e,f),{elem:e,diff:f}},"paintDagreLayoutCore"),n$=(0,l.K)(async e=>{let n=await nY(e);return nU(n.graph),await nZ(n)},"renderDagreSubgraph"),n0=(0,l.K)(e=>{let n=new k.T({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{n.setNode(e.id,{...e}),e.parentId&&n.setParent(e.id,e.parentId)}),c.R.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){let r=e.start,t=r+"---"+r+"---1",o=r+"---"+r+"---2",i=n.node(r);n.setNode(t,{domId:t,id:t,parentId:i.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(t,i.parentId),n.setNode(o,{domId:o,id:o,parentId:i.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(o,i.parentId);let a=structuredClone(e),d=structuredClone(e),u=structuredClone(e),s=structuredClone(e);d.originalEdge=a,d.selfLoop={id:a.id,order:0},u.originalEdge=a,u.selfLoop={id:a.id,order:1},s.originalEdge=a,s.selfLoop={id:a.id,order:2},d.label="",d.arrowTypeEnd="none",d.endLabelLeft="",d.endLabelRight="",d.startLabelLeft="",d.id=r+"-cyclic-special-1",u.startLabelRight="",u.startLabelLeft="",u.endLabelLeft="",u.endLabelRight="",u.arrowTypeStart="none",u.arrowTypeEnd="none",u.id=r+"-cyclic-special-mid",s.label="",s.startLabelRight="",s.startLabelLeft="",s.arrowTypeStart="none",i.isGroup&&(d.fromCluster=r,s.toCluster=r),s.id=r+"-cyclic-special-2",s.arrowTypeStart="none",n.setEdge(r,t,d,r+"-cyclic-special-0"),n.setEdge(t,o,u,r+"-cyclic-special-1"),n.setEdge(o,r,s,r+"-cyclic-special-2")}else n.setEdge(e.start,e.end,{...e},e.id)}),(0,o.OS)(n),{graph:n}},"prepareLayoutForDagre"),n1=(0,l.K)(async(e,{element:n,preparedLayout:r})=>{let t=r??n0(e),o=(0,s.D7)(),i=await nY({element:n,graph:t.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:o});return t.measuredLayout=i,i},"measureDagreLayout"),n2=(0,l.K)((e,n)=>{let r=n.preparedLayout?.measuredLayout;if(!r)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return nU(r.graph),nW(e,r),r},"runDagreLayoutCore"),n3=(0,l.K)((e,{measure:n})=>(0,o.sc)(n.graph).map(e=>n.graph.node(e)).filter(Boolean),"getDagrePaintNodes"),n8=(0,l.K)((e,n,{measure:r})=>e?r.graph.node(e):void 0,"getDagreEdgeNode"),n6=(0,o.xY)({prepareLayout:n0,measureLayout:n1,runLayoutCore:n2,paintOptions:{clusterDb:o.ju,getNodes:n3,getEdgeNode:n8,skipNode:(0,l.K)((e,{measure:n})=>!n.graph.hasNode(e.id),"skipNode"),isCluster:(0,l.K)((e,{measure:n})=>n.graph.hasNode(e.id)&&(n.graph.children(e.id)??[]).length>0,"isCluster")}})}}]); \ No newline at end of file diff --git a/assets/js/7874.d706704a.js b/assets/js/7874.d706704a.js new file mode 100644 index 0000000..b12878c --- /dev/null +++ b/assets/js/7874.d706704a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7874"],{5289(s,a,e){e.d(a,{diagram:()=>r.AC});var r=e(8312);e(4918),e(6755),e(5869),e(841),e(2391),e(3247),e(2735),e(5616),e(6163),e(7827),e(3002),e(739),e(6320),e(2217),e(2941),e(6348),e(1177),e(1293),e(6827)}}]); \ No newline at end of file diff --git a/assets/js/78900b38.61168a60.js b/assets/js/78900b38.61168a60.js new file mode 100644 index 0000000..e8d7a20 --- /dev/null +++ b/assets/js/78900b38.61168a60.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6235"],{6170(e,r,s){s.r(r),s.d(r,{metadata:()=>n,default:()=>h,frontMatter:()=>a,contentTitle:()=>d,toc:()=>i,assets:()=>c});var n=JSON.parse('{"id":"core/table-parse","title":"\u8868\u89E3\u6790","description":"\u4ECE SQL \u6587\u672C\u4E2D\u89E3\u6790\u771F\u5B9E\u8868\u3001CTE\u3001CREATE TABLE\u3001\u5206\u533A\u4E0E\u5C5E\u6027","source":"@site/docs/core/table-parse.md","sourceDirName":"core","slug":"/core/table-parse","permalink":"/SqlParserX/docs/next/core/table-parse","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/table-parse.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"title":"\u8868\u89E3\u6790","description":"\u4ECE SQL \u6587\u672C\u4E2D\u89E3\u6790\u771F\u5B9E\u8868\u3001CTE\u3001CREATE TABLE\u3001\u5206\u533A\u4E0E\u5C5E\u6027","sidebar_label":"\u8868\u89E3\u6790","sidebar_position":3},"sidebar":"docs","previous":{"title":"\u8868\u8840\u7F18\u89E3\u6790","permalink":"/SqlParserX/docs/next/core/table-lineage"},"next":{"title":"\u51FD\u6570\u89E3\u6790","permalink":"/SqlParserX/docs/next/core/function-parse"}}'),t=s(4848),l=s(8453);let a={title:"\u8868\u89E3\u6790",description:"\u4ECE SQL \u6587\u672C\u4E2D\u89E3\u6790\u771F\u5B9E\u8868\u3001CTE\u3001CREATE TABLE\u3001\u5206\u533A\u4E0E\u5C5E\u6027",sidebar_label:"\u8868\u89E3\u6790",sidebar_position:3},d="\u8868\u89E3\u6790",c={},i=[{value:"1. \u5F15\u5165\u4F9D\u8D56",id:"1-\u5F15\u5165\u4F9D\u8D56",level:2},{value:"2. \u5B8C\u6574\u793A\u4F8B",id:"2-\u5B8C\u6574\u793A\u4F8B",level:2},{value:"3. \u5B9E\u73B0\u76EE\u6807",id:"3-\u5B9E\u73B0\u76EE\u6807",level:2},{value:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",level:2},{value:"5. \u652F\u6301\u7C92\u5EA6",id:"5-\u652F\u6301\u7C92\u5EA6",level:2}];function o(e){let r={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"\u8868\u89E3\u6790",children:"\u8868\u89E3\u6790"})}),"\n",(0,t.jsx)(r.h2,{id:"1-\u5F15\u5165\u4F9D\u8D56",children:"1. \u5F15\u5165\u4F9D\u8D56"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"sqlparserx-core"})," \u5DF2\u4F20\u9012\u4F9D\u8D56 ",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"})," \u4E0E Druid\uFF0C\u65E0\u9700\u989D\u5916\u5F15\u5165\u3002"]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"2-\u5B8C\u6574\u793A\u4F8B",children:"2. \u5B8C\u6574\u793A\u4F8B"}),"\n",(0,t.jsxs)(r.p,{children:["\u540C\u6837\u6CBF\u7528\u5B98\u65B9 ",(0,t.jsx)(r.code,{children:"sqlparserx-core/README.md"})," \u7684\u793A\u4F8B SQL\uFF0C\u6F14\u793A\u300C\u89E3\u6790\u771F\u5B9E\u8868\u300D\u4E0E\u300C\u89E3\u6790\u5EFA\u8868\u8BED\u53E5\u300D\uFF1A"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-java",metastring:'title="TableParseDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;\n\nimport com.alibaba.druid.DbType;\n\npublic class TableParseDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1\u3001\u83B7\u53D6\u89E3\u6790\u5668\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2\u3001\u89E3\u6790 SQL \u4E2D\u7684\u771F\u5B9E\u8868\n ParseTableResult tableResult = parser.parseTables(sql);\n System.out.println("\u4E3B\u8868: " + tableResult.getMainTable().getName());\n System.out.println("\u6240\u6709\u8868: " + tableResult.getAllTableName());\n\n // 3\u3001\u89E3\u6790 CREATE TABLE \u8BED\u53E5\u7ED3\u6784\n ParseCreateTableResult createResult = parser.parseCreateTable(sql);\n System.out.println("\u5EFA\u8868\u540D: " + createResult.getDb() + "." + createResult.getTableName());\n System.out.println("\u5B57\u6BB5\u6570: " + createResult.getTableElementList().size());\n }\n}\n'})}),"\n",(0,t.jsx)(r.p,{children:"\u63A7\u5236\u53F0\u8F93\u51FA\uFF08\u793A\u4F8B\uFF09\uFF1A"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"\u4E3B\u8868: users\n\u6240\u6709\u8868: [user_order_summary, users, orders]\n\u5EFA\u8868\u540D: null.user_order_summary\n\u5B57\u6BB5\u6570: 4\n"})}),"\n",(0,t.jsx)(r.h2,{id:"3-\u5B9E\u73B0\u76EE\u6807",children:"3. \u5B9E\u73B0\u76EE\u6807"}),"\n",(0,t.jsxs)(r.p,{children:["\u4ECE SQL \u6587\u672C\u4E2D\u8BC6\u522B",(0,t.jsx)(r.strong,{children:"\u771F\u5B9E\u8868"}),"\uFF0C\u5305\u62EC\u666E\u901A\u67E5\u8BE2\u7528\u8868\u3001CTE\u3001",(0,t.jsx)(r.code,{children:"CREATE TABLE"})," \u5B9A\u4E49\u3001\u5206\u533A\u4E0E\u8868\u5C5E\u6027\u7B49\u3002"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"SQLStatement AST\n \u2192 ParseTableClient.parseTables / parseCreateTable\n \u2192 \u6536\u96C6\u8868 / CTE / \u5EFA\u8868\u7ED3\u6784 / \u5206\u533A / \u5C5E\u6027\n \u2192 ParseTableResult / ParseCreateTableResult\n"})}),"\n",(0,t.jsx)(r.h2,{id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",children:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u9879\u76EE"}),(0,t.jsx)(r.th,{children:"\u5185\u5BB9"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Core \u5165\u53E3"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"ISqlParser.parseTables(sql)"}),"\u3001",(0,t.jsx)(r.code,{children:"ISqlParser.parseCreateTable(sql)"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u9ED8\u8BA4\u5B9E\u73B0"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"BaseSqlParser.parseTables"})," \u2192 ",(0,t.jsx)(r.code,{children:"ParseTableClient"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u8FD4\u56DE\u7C7B\u578B"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"ParseTableResult"}),"\u3001",(0,t.jsx)(r.code,{children:"ParseCreateTableResult"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u8986\u76D6\u5BF9\u8C61"}),(0,t.jsxs)(r.td,{children:["\u67E5\u8BE2\u7528\u8868\u3001CTE\u3001",(0,t.jsx)(r.code,{children:"CREATE TABLE"}),"\u3001\u5206\u533A\u3001\u8868\u5C5E\u6027"]})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"5-\u652F\u6301\u7C92\u5EA6",children:"5. \u652F\u6301\u7C92\u5EA6"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u80FD\u529B\u9879"}),(0,t.jsx)(r.th,{children:"\u652F\u6301\u60C5\u51B5"}),(0,t.jsx)(r.th,{children:"\u8BF4\u660E"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u67E5\u8BE2\u7528\u8868\u8BC6\u522B"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"SELECT / INSERT / UPDATE / DELETE"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"CTE \u8BC6\u522B"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"WITH \u5B9A\u4E49\u7684\u4E34\u65F6\u8868"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"CREATE TABLE"})," DDL"]}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u8868\u540D\u3001\u5B57\u6BB5\u3001\u7C7B\u578B\u3001\u6CE8\u91CA"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u5206\u533A\u4E0E\u8868\u5C5E\u6027"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u5404\u6570\u636E\u6E90\u65B9\u8A00\u5DEE\u5F02\u5185\u805A\u5728\u8BED\u6CD5\u5C42"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"catalog.db.table"})," \u591A\u7EA7\u547D\u540D"]}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u591A catalog \u573A\u666F"})]})]})]}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:["\u66F4\u591A\u8868\u89E3\u6790\u573A\u666F\u4E0E\u6570\u636E\u6E90\u5DEE\u5F02\uFF0C\u4EE5\u9879\u76EE ",(0,t.jsx)(r.code,{children:"docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u80FD\u529B\u652F\u6301\u60C5\u51B5/\u901A\u7528\u89E3\u6790\u80FD\u529B/\u8868\u89E3\u6790\u652F\u6301\u60C5\u51B5.md"})," \u4E3A\u51C6\u3002"]}),"\n"]})]})}function h(e={}){let{wrapper:r}={...(0,l.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},8453(e,r,s){s.d(r,{R:()=>a,x:()=>d});var n=s(6540);let t={},l=n.createContext(t);function a(e){let r=n.useContext(l);return n.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),n.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7bd8db71.6e90e258.js b/assets/js/7bd8db71.6e90e258.js new file mode 100644 index 0000000..f55bf11 --- /dev/null +++ b/assets/js/7bd8db71.6e90e258.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6171"],{8498(e,r,s){s.r(r),s.d(r,{metadata:()=>n,default:()=>h,frontMatter:()=>t,contentTitle:()=>o,toc:()=>c,assets:()=>d});var n=JSON.parse('{"id":"intro","title":"SqlParserX \u6587\u6863","description":"SqlParserX \u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305\u7684\u6587\u6863\u5165\u53E3","source":"@site/versioned_docs/version-1.0/intro.md","sourceDirName":".","slug":"/intro","permalink":"/SqlParserX/docs/intro","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/intro.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"SqlParserX \u6587\u6863","description":"SqlParserX \u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305\u7684\u6587\u6863\u5165\u53E3","slug":"/intro","sidebar_label":"\u6587\u6863\u5BFC\u8BFB","sidebar_position":1},"sidebar":"docs","next":{"title":"SqlParserX\u4ECB\u7ECD","permalink":"/SqlParserX/docs/about/introduction"}}'),i=s(4848),l=s(8453);let t={title:"SqlParserX \u6587\u6863",description:"SqlParserX \u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305\u7684\u6587\u6863\u5165\u53E3",slug:"/intro",sidebar_label:"\u6587\u6863\u5BFC\u8BFB",sidebar_position:1},o="\u6B22\u8FCE\u4F7F\u7528 SqlParserX",d={},c=[{value:"\u4ECE\u8FD9\u91CC\u5F00\u59CB",id:"\u4ECE\u8FD9\u91CC\u5F00\u59CB",level:2},{value:"\u6587\u6863\u7ED3\u6784",id:"\u6587\u6863\u7ED3\u6784",level:2}];function a(e){let r={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"\u6B22\u8FCE\u4F7F\u7528-sqlparserx",children:"\u6B22\u8FCE\u4F7F\u7528 SqlParserX"})}),"\n",(0,i.jsxs)(r.p,{children:["SqlParserX \u662F\u4E00\u4E2A",(0,i.jsx)(r.strong,{children:"\u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305"}),"\uFF0C\u9762\u5411 SQL \u7C7B\u578B\u8BC6\u522B\u3001\u8868/DDL \u89E3\u6790\u3001\u8868\u4E0E\u5B57\u6BB5\u8840\u7F18\u3001\u51FD\u6570\u63D0\u53D6\u4EE5\u53CA\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1\u7B49\u573A\u666F\u3002"]}),"\n",(0,i.jsxs)(r.p,{children:["\u9879\u76EE\u91C7\u7528\u4E24\u5C42\u67B6\u6784\uFF1A",(0,i.jsx)(r.code,{children:"sqlparserx-syntax"})," \u8D1F\u8D23\u628A SQL \u89E3\u6790\u4E3A Druid AST \u5E76\u627F\u8F7D\u8BED\u6CD5\u6269\u5C55\uFF1B",(0,i.jsx)(r.code,{children:"sqlparserx-core"})," \u901A\u8FC7\u7EDF\u4E00\u7684 ",(0,i.jsx)(r.code,{children:"ISqlParser"})," \u5951\u7EA6\u6D88\u8D39 AST\uFF0C\u4EA7\u51FA\u4E1A\u52A1\u89E3\u6790\u7ED3\u679C\u3002",(0,i.jsx)(r.code,{children:"sqlparserx-web"})," \u4E0E ",(0,i.jsx)(r.code,{children:"sqlparserx-ui"})," \u63D0\u4F9B\u670D\u52A1\u5316\u4E0E\u53EF\u89C6\u5316\u8BBF\u95EE\u80FD\u529B\u3002"]}),"\n",(0,i.jsx)(r.h2,{id:"\u4ECE\u8FD9\u91CC\u5F00\u59CB",children:"\u4ECE\u8FD9\u91CC\u5F00\u59CB"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["\u{1F680} ",(0,i.jsx)(r.a,{href:"/SqlParserX/docs/quickstart/setup",children:"\u5FEB\u901F\u5F00\u59CB"})]}),"\n",(0,i.jsxs)(r.li,{children:["\u{1F4D6} ",(0,i.jsx)(r.a,{href:"/SqlParserX/docs/about/introduction",children:"SqlParserX \u4ECB\u7ECD"})]}),"\n",(0,i.jsxs)(r.li,{children:["\u{1F3D7}\uFE0F ",(0,i.jsx)(r.a,{href:"/SqlParserX/docs/about/architecture",children:"\u67B6\u6784\u8BBE\u8BA1"})]}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"\u6587\u6863\u7ED3\u6784",children:"\u6587\u6863\u7ED3\u6784"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.strong,{children:"\u5173\u4E8E SqlParserX"}),"\uFF1A\u9879\u76EE\u4ECB\u7ECD\u4E0E\u4E24\u5C42\u67B6\u6784\u8BBE\u8BA1"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.strong,{children:"\u5FEB\u901F\u5F00\u59CB"}),"\uFF1A\u73AF\u5883\u51C6\u5907\u3001\u6784\u5EFA\u4E0E\u8FD0\u884C"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.strong,{children:"\u6838\u5FC3\u89E3\u6790\u80FD\u529B\u4F7F\u7528"}),"\uFF1ASQL \u7C7B\u578B\u8BC6\u522B\u3001\u5B57\u6BB5\u8840\u7F18\u3001\u8868\u8840\u7F18\u3001\u8868\u89E3\u6790\u3001\u51FD\u6570\u89E3\u6790\u3001\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1"]}),"\n",(0,i.jsxs)(r.li,{children:[(0,i.jsx)(r.strong,{children:"\u8D21\u732E\u6307\u5357"}),"\uFF1A\u53C2\u4E0E\u8D21\u732E\u7684\u6D41\u7A0B\u4E0E\u89C4\u8303"]}),"\n"]}),"\n",(0,i.jsxs)(r.p,{children:[":::tip \u63D0\u793A\n\u672C\u7AD9\u53F3\u4FA7\u5BFC\u822A\u680F\u53EF\u5207\u6362",(0,i.jsx)(r.strong,{children:"\u7248\u672C"}),"\uFF08",(0,i.jsx)(r.code,{children:"1.0"})," / ",(0,i.jsx)(r.code,{children:"Next"}),"\uFF09\u4E0E",(0,i.jsx)(r.strong,{children:"\u8BED\u8A00"}),"\uFF08\u7B80\u4F53\u4E2D\u6587 / English\uFF09\u3002\n:::"]})]})}function h(e={}){let{wrapper:r}={...(0,l.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},8453(e,r,s){s.d(r,{R:()=>t,x:()=>o});var n=s(6540);let i={},l=n.createContext(i);function t(e){let r=n.useContext(l);return n.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),n.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/80dcd7a6.63daf50c.js b/assets/js/80dcd7a6.63daf50c.js new file mode 100644 index 0000000..f85733d --- /dev/null +++ b/assets/js/80dcd7a6.63daf50c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["859"],{7604(e,r,s){s.r(r),s.d(r,{metadata:()=>d,default:()=>a,frontMatter:()=>i,contentTitle:()=>l,toc:()=>h,assets:()=>c});var d=JSON.parse('{"id":"about/introduction","title":"SqlParserX \u4ECB\u7ECD","description":"SqlParserX \u7684\u5B9A\u4F4D\u3001\u80FD\u529B\u4E0E\u6A21\u5757\u7EC4\u6210","source":"@site/versioned_docs/version-1.0/about/introduction.md","sourceDirName":"about","slug":"/about/introduction","permalink":"/SqlParserX/docs/about/introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/about/introduction.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"SqlParserX \u4ECB\u7ECD","description":"SqlParserX \u7684\u5B9A\u4F4D\u3001\u80FD\u529B\u4E0E\u6A21\u5757\u7EC4\u6210","sidebar_label":"SqlParserX\u4ECB\u7ECD","sidebar_position":1},"sidebar":"docs","previous":{"title":"\u6587\u6863\u5BFC\u8BFB","permalink":"/SqlParserX/docs/intro"},"next":{"title":"\u67B6\u6784\u8BBE\u8BA1","permalink":"/SqlParserX/docs/about/architecture"}}'),t=s(4848),n=s(8453);let i={title:"SqlParserX \u4ECB\u7ECD",description:"SqlParserX \u7684\u5B9A\u4F4D\u3001\u80FD\u529B\u4E0E\u6A21\u5757\u7EC4\u6210",sidebar_label:"SqlParserX\u4ECB\u7ECD",sidebar_position:1},l="SqlParserX \u4ECB\u7ECD",c={},h=[{value:"\u89E3\u51B3\u7684\u5178\u578B\u95EE\u9898",id:"\u89E3\u51B3\u7684\u5178\u578B\u95EE\u9898",level:2},{value:"\u6A21\u5757\u7EC4\u6210",id:"\u6A21\u5757\u7EC4\u6210",level:2},{value:"\u6570\u636E\u6E90\u652F\u6301",id:"\u6570\u636E\u6E90\u652F\u6301",level:2},{value:"\u5EF6\u4F38\u9605\u8BFB",id:"\u5EF6\u4F38\u9605\u8BFB",level:2}];function x(e){let r={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"sqlparserx-\u4ECB\u7ECD",children:"SqlParserX \u4ECB\u7ECD"})}),"\n",(0,t.jsxs)(r.p,{children:["SqlParserX \u662F\u4E00\u4E2A",(0,t.jsx)(r.strong,{children:"\u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305"}),"\uFF0C\u63D0\u4F9B SQL \u7C7B\u578B\u8BC6\u522B\u3001\u8868/DDL \u89E3\u6790\u3001\u8868\u4E0E\u5B57\u6BB5\u8840\u7F18\u3001\u51FD\u6570\u63D0\u53D6\u4EE5\u53CA\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1\u80FD\u529B\u3002"]}),"\n",(0,t.jsx)(r.h2,{id:"\u89E3\u51B3\u7684\u5178\u578B\u95EE\u9898",children:"\u89E3\u51B3\u7684\u5178\u578B\u95EE\u9898"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u95EE\u9898"}),(0,t.jsx)(r.th,{children:"\u65B9\u6848"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u4E0D\u540C SQL \u65B9\u8A00\u8BED\u6CD5\u5DEE\u5F02\u5927"}),(0,t.jsxs)(r.td,{children:["\u901A\u8FC7 ",(0,t.jsx)(r.code,{children:"DbType"})," \u8DEF\u7531 Druid \u65B9\u8A00\uFF0C\u7EDF\u4E00 AST"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u771F\u5B9E\u8868\u4E0E DDL \u85CF\u5728 SQL \u6587\u672C\u4E2D"}),(0,t.jsxs)(r.td,{children:["\u8868\u3001CTE\u3001",(0,t.jsx)(r.code,{children:"CREATE TABLE"}),"\u3001\u5206\u533A\u4E0E\u5C5E\u6027\u89E3\u6790"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u6570\u636E\u4F9D\u8D56\u96BE\u4EE5\u8FFD\u8E2A"}),(0,t.jsx)(r.td,{children:"\u8986\u76D6 JOIN\u3001UNION\u3001\u5B50\u67E5\u8BE2\u3001\u805A\u5408\u4E0E CTE \u7684\u8868/\u5B57\u6BB5\u8840\u7F18"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u811A\u672C\u4E2D\u5305\u542B\u591A\u6761\u8BED\u53E5"}),(0,t.jsx)(r.td,{children:"SQL \u62C6\u5206\u4E0E\u8BED\u6CD5\u6821\u9A8C"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u6743\u9650\u8C13\u8BCD\u96BE\u4EE5\u7EF4\u62A4"}),(0,t.jsx)(r.td,{children:"\u884C\u7EA7\u6743\u9650 SQL \u6539\u5199"})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"\u6A21\u5757\u7EC4\u6210",children:"\u6A21\u5757\u7EC4\u6210"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u6A21\u5757"}),(0,t.jsx)(r.th,{children:"\u5C42\u6B21"}),(0,t.jsx)(r.th,{children:"\u8BF4\u660E"}),(0,t.jsx)(r.th,{children:"\u6280\u672F\u6808"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"sqlparserx-syntax"})}),(0,t.jsx)(r.td,{children:"\u8BED\u6CD5\u89E3\u6790\u5C42"}),(0,t.jsx)(r.td,{children:"SQL \u8F6C AST\u3001\u6821\u9A8C\u3001\u62C6\u5206\u4E0E Druid \u65B9\u8A00\u6269\u5C55"}),(0,t.jsx)(r.td,{children:"Java 8 + Druid 1.2.28"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"sqlparserx-core"})}),(0,t.jsx)(r.td,{children:"\u4E1A\u52A1\u89E3\u6790\u5C42"}),(0,t.jsx)(r.td,{children:"\u8868\u3001\u8840\u7F18\u3001DDL\u3001\u51FD\u6570\u4E0E SQL \u6539\u5199"}),(0,t.jsxs)(r.td,{children:["Java 8 + ",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"sqlparserx-web"})}),(0,t.jsx)(r.td,{children:"\u8BBF\u95EE\u5C42"}),(0,t.jsx)(r.td,{children:"Spring Boot REST \u670D\u52A1"}),(0,t.jsx)(r.td,{children:"Spring Boot 2.3.12 + Java 8"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"sqlparserx-ui"})}),(0,t.jsx)(r.td,{children:"\u8BBF\u95EE\u5C42"}),(0,t.jsx)(r.td,{children:"\u8840\u7F18\u53EF\u89C6\u5316\u4E0E\u5728\u7EBF\u89E3\u6790\u5DE5\u5177"}),(0,t.jsx)(r.td,{children:"Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5"})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"\u6570\u636E\u6E90\u652F\u6301",children:"\u6570\u636E\u6E90\u652F\u6301"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u6570\u636E\u6E90"}),(0,t.jsx)(r.th,{children:"\u652F\u6301\u8BF4\u660E"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"MySQL"}),(0,t.jsxs)(r.td,{children:["\u91CD\u70B9\u652F\u6301\uFF0C\u589E\u5F3A ",(0,t.jsx)(r.code,{children:"RENAME TABLE"})," \u5904\u7406"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Doris"}),(0,t.jsx)(r.td,{children:"\u91CD\u5EA6\u652F\u6301\uFF0CDDL \u4E0E\u8840\u7F18\u6709\u4E13\u9879\u6D4B\u8BD5"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"StarRocks"}),(0,t.jsxs)(r.td,{children:["\u652F\u6301\u72EC\u7ACB\u7684 ",(0,t.jsx)(r.code,{children:"DISTRIBUTED BY"})," \u4E0E\u5173\u952E DDL"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Hive / ClickHouse / Oracle / DM"}),(0,t.jsx)(r.td,{children:"\u5DF2\u6CE8\u518C\u89E3\u6790\u5668\uFF0C\u901A\u7528\u4E1A\u52A1\u5B9E\u73B0"})]})]})]}),"\n",(0,t.jsxs)(r.p,{children:["\u5B8C\u6574\u7684\u8BED\u6CD5\u5C42\u4E0E\u4E1A\u52A1\u5C42\u652F\u6491\u77E9\u9635\u89C1",(0,t.jsx)(r.a,{href:"/SqlParserX/docs/core/field-lineage",children:"\u6838\u5FC3\u89E3\u6790\u80FD\u529B\u4F7F\u7528"}),"\u4E0E\u9879\u76EE ",(0,t.jsx)(r.code,{children:"docs/"})," \u76EE\u5F55\u4E0B\u7684\u80FD\u529B\u652F\u6301\u6587\u6863\u3002"]}),"\n",(0,t.jsx)(r.h2,{id:"\u5EF6\u4F38\u9605\u8BFB",children:"\u5EF6\u4F38\u9605\u8BFB"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsx)(r.li,{children:(0,t.jsx)(r.a,{href:"/SqlParserX/docs/about/architecture",children:"\u67B6\u6784\u8BBE\u8BA1"})}),"\n",(0,t.jsxs)(r.li,{children:["\u9879\u76EE\u80CC\u666F\uFF1A",(0,t.jsx)(r.a,{href:"/blog/origin-of-sqlparserx",children:"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F"})]}),"\n"]})]})}function a(e={}){let{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(x,{...e})}):x(e)}},8453(e,r,s){s.d(r,{R:()=>i,x:()=>l});var d=s(6540);let t={},n=d.createContext(t);function i(e){let r=d.useContext(n);return d.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),d.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/814f3328.2ff0395c.js b/assets/js/814f3328.2ff0395c.js new file mode 100644 index 0000000..c58a7b8 --- /dev/null +++ b/assets/js/814f3328.2ff0395c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1833"],{5513(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","permalink":"/SqlParserX/blog/origin-of-sqlparserx","unlisted":false,"date":"2026-09-28T00:00:00.000Z"}]}')}}]); \ No newline at end of file diff --git a/assets/js/8272.20c4caca.js b/assets/js/8272.20c4caca.js new file mode 100644 index 0000000..69b12f4 --- /dev/null +++ b/assets/js/8272.20c4caca.js @@ -0,0 +1,90 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8272"],{5869(e,t,n){n.d(t,{P:()=>r});var i=n(1177),s=n(1293),o=n(6827),r=(0,o.K)((e,t,n,o)=>{e.attr("class",n);let{width:r,height:l,x:h,y:d}=a(e,t);(0,i.a$)(e,l,r,o);let g=c(h,d,r,l,t);e.attr("viewBox",g),s.R.debug(`viewBox configured: ${g} with padding: ${t}`)},"setupViewPortForSVG"),a=(0,o.K)((e,t)=>{let n=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:n.width+2*t,height:n.height+2*t,x:n.x,y:n.y}},"calculateDimensionsWithPadding"),c=(0,o.K)((e,t,n,i,s)=>`${e-s} ${t-s} ${n} ${i}`,"createViewBox")},6755(e,t,n){n.d(t,{A:()=>o});var i=n(6827),s=n(7829),o=(0,i.K)((e,t)=>{let n;return"sandbox"===t&&(n=(0,s.Ltv)("#i"+e)),("sandbox"===t?(0,s.Ltv)(n.nodes()[0].contentDocument.body):(0,s.Ltv)("body")).select(`[id="${e}"]`)},"getDiagramElement")},1123(e,t,n){n.d(t,{diagram:()=>E});var i=n(6755),s=n(5869),o=n(2391);n(3247),n(5616),n(6163),n(7827),n(3002),n(739),n(6320),n(2217),n(2941),n(6348);var r=n(1177),a=n(1293),c=n(6827);let l=new Uint8Array(16),h=[];for(let e=0;e<256;++e)h.push((e+256).toString(16).slice(1));var d=n(4682),g=n(8041),u=n(5263),p=function(){var e=(0,c.K)(function(e,t,n,i){for(n=n||{},i=e.length;i--;n[e[i]]=t);return n},"o"),t=[1,4],n=[1,13],i=[1,12],s=[1,15],o=[1,16],r=[1,20],a=[1,19],l=[6,7,8],h=[1,26],d=[1,24],g=[1,25],u=[6,7,11],p=[1,6,13,15,16,19,22],y=[1,33],m=[1,34],f=[1,6,7,11,13,15,16,19,22],b={trace:(0,c.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:(0,c.K)(function(e,t,n,i,s,o,r){var a=o.length-1;switch(s){case 6:case 7:return i;case 8:i.getLogger().trace("Stop NL ");break;case 9:i.getLogger().trace("Stop EOF ");break;case 11:i.getLogger().trace("Stop NL2 ");break;case 12:i.getLogger().trace("Stop EOF2 ");break;case 15:i.getLogger().info("Node: ",o[a].id),i.addNode(o[a-1].length,o[a].id,o[a].descr,o[a].type);break;case 16:i.getLogger().trace("Icon: ",o[a]),i.decorateNode({icon:o[a]});break;case 17:case 21:i.decorateNode({class:o[a]});break;case 18:i.getLogger().trace("SPACELIST");break;case 19:i.getLogger().trace("Node: ",o[a].id),i.addNode(0,o[a].id,o[a].descr,o[a].type);break;case 20:i.decorateNode({icon:o[a]});break;case 25:i.getLogger().trace("node found ..",o[a-2]),this.$={id:o[a-1],descr:o[a-1],type:i.getType(o[a-2],o[a])};break;case 26:this.$={id:o[a],descr:o[a],type:i.nodeType.DEFAULT};break;case 27:i.getLogger().trace("node found ..",o[a-3]),this.$={id:o[a-3],descr:o[a-1],type:i.getType(o[a-2],o[a])}}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:t},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:t},{6:n,7:[1,10],9:9,12:11,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:a},e(l,[2,3]),{1:[2,2]},e(l,[2,4]),e(l,[2,5]),{1:[2,6],6:n,12:21,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:a},{6:n,9:22,12:11,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:a},{6:h,7:d,10:23,11:g},e(u,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:r,22:a}),e(u,[2,18]),e(u,[2,19]),e(u,[2,20]),e(u,[2,21]),e(u,[2,23]),e(u,[2,24]),e(u,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:d,10:32,11:g},{1:[2,7],6:n,12:21,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:a},e(p,[2,14],{7:y,11:m}),e(f,[2,8]),e(f,[2,9]),e(f,[2,10]),e(u,[2,15]),e(u,[2,16]),e(u,[2,17]),{20:[1,35]},{21:[1,36]},e(p,[2,13],{7:y,11:m}),e(f,[2,11]),e(f,[2,12]),{21:[1,37]},e(u,[2,25]),e(u,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,c.K)(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},"parseError"),parse:(0,c.K)(function(e){var t=this,n=[0],i=[],s=[null],o=[],r=this.table,a="",l=0,h=0,d=0,g=o.slice.call(arguments,1),u=Object.create(this.lexer),p={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p[y]=this.yy[y]);u.setInput(e,p),p.lexer=u,p.parser=this,void 0===u.yylloc&&(u.yylloc={});var m=u.yylloc;o.push(m);var f=u.options&&u.options.ranges;function b(){var e;return"number"!=typeof(e=i.pop()||u.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,c.K)(function(e){n.length=n.length-2*e,s.length=s.length-e,o.length=o.length-e},"popStack"),(0,c.K)(b,"lex");for(var _,E,k,S,x,L,N,D,$,v={};;){if(k=n[n.length-1],this.defaultActions[k]?S=this.defaultActions[k]:(null==_&&(_=b()),S=r[k]&&r[k][_]),void 0===S||!S.length||!S[0]){var I="";for(L in $=[],r[k])this.terminals_[L]&&L>2&&$.push("'"+this.terminals_[L]+"'");I=u.showPosition?"Parse error on line "+(l+1)+":\n"+u.showPosition()+"\nExpecting "+$.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(I,{text:u.match,token:this.terminals_[_]||_,line:u.yylineno,loc:m,expected:$})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+k+", token: "+_);switch(S[0]){case 1:n.push(_),s.push(u.yytext),o.push(u.yylloc),n.push(S[1]),_=null,E?(_=E,E=null):(h=u.yyleng,a=u.yytext,l=u.yylineno,m=u.yylloc,d>0&&d--);break;case 2:if(N=this.productions_[S[1]][1],v.$=s[s.length-N],v._$={first_line:o[o.length-(N||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(N||1)].first_column,last_column:o[o.length-1].last_column},f&&(v._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),void 0!==(x=this.performAction.apply(v,[a,h,l,p,S[1],s,o].concat(g))))return x;N&&(n=n.slice(0,-1*N*2),s=s.slice(0,-1*N),o=o.slice(0,-1*N)),n.push(this.productions_[S[1]][0]),s.push(v.$),o.push(v._$),D=r[n[n.length-2]][n[n.length-1]],n.push(D);break;case 3:return!0}}return!0},"parse")};function _(){this.yy={}}return b.lexer={EOF:1,parseError:(0,c.K)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,c.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,c.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,c.K)(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,c.K)(function(){return this._more=!0,this},"more"),reject:(0,c.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,c.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,c.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,c.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,c.K)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,c.K)(function(e,t){var n,i,s;if(this.options.backtrack_lexer&&(s={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&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var o in s)this[o]=s[o];return!1},"test_match"),next:(0,c.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,n,i,s=this._currentRules(),o=0;o<s.length;o++)if((n=this._input.match(this.rules[s[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,i=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,s[o])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,s[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,c.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,c.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,c.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,c.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,c.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,c.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,c.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,c.K)(function(e,t,n,i){switch(n){case 0:return e.getLogger().trace("Found comment",t.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:e.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return e.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:e.getLogger().trace("end icon"),this.popState();break;case 10:return e.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return e.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return e.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return e.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16: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 24:e.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return e.getLogger().trace("description:",t.yytext),"NODE_DESCR";case 27:return this.popState(),e.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),e.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),e.getLogger().trace("node end ...",t.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),e.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return e.getLogger().trace("Long description:",t.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}},(0,c.K)(_,"Parser"),_.prototype=b,b.Parser=_,new _}();p.parser=p;var y={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},m=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=y,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{(0,c.K)(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let t=this.nodes.length-1;t>=0;t--)if(this.nodes[t].level<e)return this.nodes[t];return null}getMindmap(){return this.nodes.length>0?this.nodes[0]:null}addNode(e,t,n,i){a.R.info("addNode",e,t,n,i);let s=!1;0===this.nodes.length?(this.baseLevel=e,e=0,s=!0):void 0!==this.baseLevel&&(e-=this.baseLevel,s=!1);let o=(0,r.D7)(),c=o.mindmap?.padding??r.UI.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:c*=2}let l={id:this.count++,nodeId:(0,r.jZ)(t,o),level:e,descr:(0,r.jZ)(n,o),type:i,children:[],width:o.mindmap?.maxNodeWidth??r.UI.mindmap.maxNodeWidth,padding:c,isRoot:s},h=this.getParent(e);if(h)h.children.push(l),this.nodes.push(l);else if(s)this.nodes.push(l);else throw Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,t){switch(a.R.debug("In get type",e,t),e){case"[":return this.nodeType.RECT;case"(":return")"===t?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,t){this.elements[e]=t}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;let t=(0,r.D7)(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=(0,r.jZ)(e.icon,t)),e.class&&(n.class=(0,r.jZ)(e.class,t))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,t){if(0===e.level?e.section=void 0:e.section=t,e.children)for(let[n,i]of e.children.entries()){let s=0===e.level?n%11:t;this.assignSections(i,s)}}flattenNodes(e,t){let n=(0,r.D7)(),i=["mindmap-node"];!0===e.isRoot?i.push("section-root","section--1"):void 0!==e.section&&i.push(`section-${e.section}`),e.class&&i.push(e.class);let s=i.join(" "),o=(0,c.K)(e=>{let t=(n.theme?.toLowerCase()??"").includes("redux");switch(e){case y.CIRCLE:return"mindmapCircle";case y.RECT:return"rect";case y.ROUNDED_RECT:return"rounded";case y.CLOUD:return"cloud";case y.BANG:return"bang";case y.HEXAGON:return"hexagon";case y.DEFAULT:return t?"rounded":"defaultMindmapNode";case y.NO_BORDER:default:return"rect"}},"getShapeFromType"),a={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:o(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:s,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(t.push(a),e.children)for(let n of e.children)this.flattenNodes(n,t)}generateEdges(e,t){if(!e.children)return;let n=(0,r.D7)();for(let i of e.children){let s="edge";void 0!==i.section&&(s+=` section-edge-${i.section}`);let o=e.level+1;s+=` edge-depth-${o}`;let r={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:s,depth:e.level,section:i.section};t.push(r),this.generateEdges(i,t)}}getData(){let e=this.getMindmap(),t=(0,r.D7)();if(void 0!==(0,r.TM)().layout||(t.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:t};a.R.debug("getData: mindmapRoot",e,t),this.assignSections(e);let n=[],i=[];this.flattenNodes(e,n),this.generateEdges(e,i),a.R.debug(`getData: processed ${n.length} nodes and ${i.length} edges`);let s=new Map;for(let e of n)s.set(e.id,{shape:e.shape,width:e.width,height:e.height,padding:e.padding});return{nodes:n,edges:i,config:t,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(s),type:"mindmap",diagramId:"mindmap-"+(crypto.randomUUID?crypto.randomUUID():function(e,t,n){let i=(e=e||{}).random??e.rng?.()??crypto.getRandomValues(l);if(i.length<16)throw Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){if((n=n||0)<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=i[e];return t}return function(e,t=0){return(h[e[t+0]]+h[e[t+1]]+h[e[t+2]]+h[e[t+3]]+"-"+h[e[t+4]]+h[e[t+5]]+"-"+h[e[t+6]]+h[e[t+7]]+"-"+h[e[t+8]]+h[e[t+9]]+"-"+h[e[t+10]]+h[e[t+11]]+h[e[t+12]]+h[e[t+13]]+h[e[t+14]]+h[e[t+15]]).toLowerCase()}(i)}(void 0,void 0,void 0))}}getLogger(){return a.R}},f=(0,c.K)(async(e,t,n,c)=>{a.R.debug("Rendering mindmap diagram\n"+e);let l=c.db,h=l.getData(),d=(0,i.A)(t,h.config.securityLevel);if(h.type=c.type,h.layoutAlgorithm=(0,o.q7)(h.config.layout,{fallback:"cose-bilkent"}),h.diagramId=t,!l.getMindmap())return;h.nodes.forEach(e=>{"rounded"===e.shape?(e.radius=15,e.taper=15,e.stroke="none",e.width=0,e.padding=15):"circle"===e.shape?e.padding=10:"rect"===e.shape?(e.width=0,e.padding=10):"hexagon"===e.shape&&(e.width=0,e.height=0)}),await (0,o.XX)(h,d);let{themeVariables:g}=(0,r.zj)(),{useGradient:u,gradientStart:p,gradientStop:y}=g;if(u&&p&&y){let e=d.attr("id"),t=d.append("defs").append("linearGradient").attr("id",`${e}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");t.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),t.append("stop").attr("offset","100%").attr("stop-color",y).attr("stop-opacity",1)}(0,s.P)(d,h.config.mindmap?.padding??r.UI.mindmap.padding,"mindmapDiagram",h.config.mindmap?.useMaxWidth??r.UI.mindmap.useMaxWidth)},"draw"),b=(0,c.K)(e=>{let{theme:t,look:n}=e,i="";for(let t=0;t<e.THEME_COLOR_LIMIT;t++)e["lineColor"+t]=e["lineColor"+t]||e["cScaleInv"+t],(0,d.A)(e["lineColor"+t])?e["lineColor"+t]=(0,g.A)(e["lineColor"+t],20):e["lineColor"+t]=(0,u.A)(e["lineColor"+t],20);for(let s=0;s<e.THEME_COLOR_LIMIT;s++){let o=""+("neo"===n?Math.max(10-(s-1)*2,2):17-3*s);i+=` + .section-${s-1} rect, .section-${s-1} path, .section-${s-1} circle, .section-${s-1} polygon, .section-${s-1} path { + fill: ${e["cScale"+s]}; + } + .section-${s-1} text { + fill: ${e["cScaleLabel"+s]}; + } + .section-${s-1} span { + color: ${e["cScaleLabel"+s]}; + } + .node-icon-${s-1} { + font-size: 40px; + color: ${e["cScaleLabel"+s]}; + } + .section-edge-${s-1}{ + stroke: ${e["cScale"+s]}; + } + .edge-depth-${s-1}{ + stroke-width: ${o}; + } + .section-${s-1} line { + stroke: ${e["cScaleInv"+s]} ; + stroke-width: 3; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + [data-look="neo"].mindmap-node.section-${s-1} rect, [data-look="neo"].mindmap-node.section-${s-1} path, [data-look="neo"].mindmap-node.section-${s-1} circle, [data-look="neo"].mindmap-node.section-${s-1} polygon { + fill: ${"redux"===t||"redux-dark"===t||"neutral"===t?e.mainBkg:e["cScale"+s]}; + stroke: ${"redux"===t||"redux-dark"===t?e.nodeBorder:e["cScale"+s]}; + stroke-width: ${e.strokeWidth??2}px; + } + [data-look="neo"].section-edge-${s-1}{ + stroke: ${t?.includes("redux")||"neo-dark"===t?e.nodeBorder:e["cScale"+s]}; + } + [data-look="neo"].mindmap-node.section-${s-1} text { + fill: ${"redux"===t||"redux-dark"===t?e.nodeBorder:e["cScaleLabel"+("neutral"===t?1:s)]}; + } + `}return i},"genSections"),_=(0,c.K)((e,t,n)=>{let i="";for(let s=0;s<e;s++)i+=` + [data-look="neo"].mindmap-node.section-${s-1} rect, [data-look="neo"].mindmap-node.section-${s-1} path, [data-look="neo"].mindmap-node.section-${s-1} circle, [data-look="neo"].mindmap-node.section-${s-1} polygon { + stroke: url(${t}-gradient); + fill: ${n}; + } + .section-${s-1} line { + stroke-width: 0; + }`;return i},"genGradient"),E={get db(){return new m},renderer:{draw:f},parser:p,styles:(0,c.K)(e=>{let{theme:t}=e,n=e.svgId,i=e.dropShadow?e.dropShadow.replace("url(#drop-shadow)",`url(${n}-drop-shadow)`):"none";return` + .edge { + stroke-width: 3; + } + ${b(e)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${e.git0}; + } + .section-root text { + fill: ${e.gitBranchLabel0}; + } + .section-root span { + color: ${t?.includes("redux")?e.nodeBorder:e.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; + } + [data-look="neo"].mindmap-node { + filter: ${i}; + } + [data-look="neo"].mindmap-node.section-root rect, [data-look="neo"].mindmap-node.section-root path, [data-look="neo"].mindmap-node.section-root circle, [data-look="neo"].mindmap-node.section-root polygon { + fill: ${t?.includes("redux")?e.mainBkg:e.git0}; + } + [data-look="neo"].mindmap-node.section-root .text-inner-tspan { + fill: ${t?.includes("redux")?e.nodeBorder:e["cScaleLabel"+ +("neutral"===t)]}; + } + ${e.useGradient&&n&&e.mainBkg?_(e.THEME_COLOR_LIMIT,n,e.mainBkg):""} +`},"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/8645.4532c47b.js b/assets/js/8645.4532c47b.js new file mode 100644 index 0000000..e2d0764 --- /dev/null +++ b/assets/js/8645.4532c47b.js @@ -0,0 +1 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8645"],{7799(t,e,i){t.exports=function(t){var e=[function(e,i){e.exports=t},function(t,e,i){"use strict";var r=i(0).FDLayoutConstants;function n(){}for(var o in r)n[o]=r[o];n.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,n.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,n.DEFAULT_COMPONENT_SEPERATION=60,n.TILE=!0,n.TILING_PADDING_VERTICAL=10,n.TILING_PADDING_HORIZONTAL=10,n.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=n},function(t,e,i){"use strict";var r=i(0).FDLayoutEdge;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},function(t,e,i){"use strict";var r=i(0).LGraph;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},function(t,e,i){"use strict";var r=i(0).LGraphManager;function n(t){r.call(this,t)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},function(t,e,i){"use strict";var r=i(0).FDLayoutNode,n=i(0).IMath;function o(t,e,i,n){r.call(this,t,e,i,n)}for(var s in o.prototype=Object.create(r.prototype),r)o[s]=r[s];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.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},o.prototype.propogateDisplacementToChildren=function(t,e){for(var i,r=this.getChild().getNodes(),n=0;n<r.length;n++)null==(i=r[n]).getChild()?(i.moveBy(t,e),i.displacementX+=t,i.displacementY+=e):i.propogateDisplacementToChildren(t,e)},o.prototype.setPred1=function(t){this.pred1=t},o.prototype.getPred1=function(){return pred1},o.prototype.getPred2=function(){return pred2},o.prototype.setNext=function(t){this.next=t},o.prototype.getNext=function(){return next},o.prototype.setProcessed=function(t){this.processed=t},o.prototype.isProcessed=function(){return processed},t.exports=o},function(t,e,i){"use strict";var r=i(0).FDLayout,n=i(4),o=i(3),s=i(5),a=i(2),h=i(1),l=i(0).FDLayoutConstants,g=i(0).LayoutConstants,u=i(0).Point,c=i(0).PointD,d=i(0).Layout,p=i(0).Integer,f=i(0).IGeometry,y=i(0).LGraph,E=i(0).Transform;function v(){r.call(this),this.toBeTiled={}}for(var A in v.prototype=Object.create(r.prototype),r)v[A]=r[A];v.prototype.newGraphManager=function(){var t=new n(this);return this.graphManager=t,t},v.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},v.prototype.newNode=function(t){return new s(this.graphManager,t)},v.prototype.newEdge=function(t){return new a(null,null,t)},v.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(h.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=h.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=l.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=l.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=l.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},v.prototype.layout=function(){return g.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},v.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(h.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e)}}else{var i=this.getFlatForest();if(i.length>0)this.positionNodesRadially(i);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},v.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(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 t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=l.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=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var i=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(i,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},v.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},i=0;i<t.length;i++){var r=t[i].rect,n=t[i].id;e[n]={id:n,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return e},v.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===l.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},v.prototype.calculateNodesToApplyGravitationTo=function(){var t,e,i=[],r=this.graphManager.getGraphs(),n=r.length;for(e=0;e<n;e++)(t=r[e]).updateConnected(),t.isConnected||(i=i.concat(t.getNodes()));return i},v.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e=new Set;for(o=0;o<t.length;o++){var i=t[o];if(!e.has(i)){var r=i.getSource(),n=i.getTarget();if(r==n)i.getBendpoints().push(new c),i.getBendpoints().push(new c),this.createDummyNodesForBendpoints(i),e.add(i);else{var o,s,a=[];if(a=(a=a.concat(r.getEdgeListToNode(n))).concat(n.getEdgeListToNode(r)),!e.has(a[0])){if(a.length>1)for(s=0;s<a.length;s++){var h=a[s];h.getBendpoints().push(new c),this.createDummyNodesForBendpoints(h)}a.forEach(function(t){e.add(t)})}}}if(e.size==t.length)break}},v.prototype.positionNodesRadially=function(t){for(var e=new u(0,0),i=Math.ceil(Math.sqrt(t.length)),r=0,n=0,o=0,s=new c(0,0),a=0;a<t.length;a++){a%i==0&&(o=0,n=r,0!=a&&(n+=h.DEFAULT_COMPONENT_SEPERATION),r=0);var l=t[a],p=d.findCenterOfTree(l);e.x=o,e.y=n,(s=v.radialLayout(l,p,e)).y>r&&(r=Math.floor(s.y)),o=Math.floor(s.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new c(g.WORLD_CENTER_X-s.x/2,g.WORLD_CENTER_Y-s.y/2))},v.radialLayout=function(t,e,i){var r=Math.max(this.maxDiagonalInTree(t),h.DEFAULT_RADIAL_SEPARATION);v.branchRadialLayout(e,null,0,359,0,r);var n=y.calculateBounds(t),o=new E;o.setDeviceOrgX(n.getMinX()),o.setDeviceOrgY(n.getMinY()),o.setWorldOrgX(i.x),o.setWorldOrgY(i.y);for(var s=0;s<t.length;s++)t[s].transform(o);var a=new c(n.getMaxX(),n.getMaxY());return o.inverseTransformPoint(a)},v.branchRadialLayout=function(t,e,i,r,n,o){var s,a=(r-i+1)/2;a<0&&(a+=180);var h=(a+i)%360*f.TWO_PI/360,l=n*Math.cos(h),g=n*Math.sin(h);t.setCenter(l,g);var u=[],c=(u=u.concat(t.getEdges())).length;null!=e&&c--;for(var d=0,p=u.length,y=t.getEdgesBetween(e);y.length>1;){var E=y[0];y.splice(0,1);var A=u.indexOf(E);A>=0&&u.splice(A,1),p--,c--}s=null!=e?(u.indexOf(y[0])+1)%p:0;for(var T=Math.abs(r-i)/c,N=s;d!=c;N=++N%p){var L=u[N].getOtherEnd(t);if(L!=e){var _=(i+d*T)%360,m=(_+T)%360;v.branchRadialLayout(L,t,_,m,n+o,o),d++}}},v.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,i=0;i<t.length;i++){var r=t[i].getDiagonal();r>e&&(e=r)}return e},v.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},v.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var i=[],r=this.graphManager.getAllNodes(),n=0;n<r.length;n++){var o=r[n],a=o.getParent();0!==this.getNodeDegreeWithChildren(o)||void 0!=a.id&&this.getToBeTiled(a)||i.push(o)}for(var n=0;n<i.length;n++){var o=i[n],h=o.getParent().id;void 0===e[h]&&(e[h]=[]),e[h]=e[h].concat(o)}Object.keys(e).forEach(function(i){if(e[i].length>1){var r="DummyCompound_"+i;t.memberGroups[r]=e[i];var n=e[i][0].getParent(),o=new s(t.graphManager);o.id=r,o.paddingLeft=n.paddingLeft||0,o.paddingRight=n.paddingRight||0,o.paddingBottom=n.paddingBottom||0,o.paddingTop=n.paddingTop||0,t.idToDummyNode[r]=o;var a=t.getGraphManager().add(t.newGraph(),o),h=n.getChild();h.add(o);for(var l=0;l<e[i].length;l++){var g=e[i][l];h.remove(g),a.add(g)}}})},v.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var i=0;i<this.compoundOrder.length;i++)e[this.compoundOrder[i].id]=this.compoundOrder[i],t[this.compoundOrder[i].id]=[].concat(this.compoundOrder[i].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[i].getChild()),this.compoundOrder[i].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},v.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(i){var r=t.idToDummyNode[i];e[i]=t.tileNodes(t.memberGroups[i],r.paddingLeft+r.paddingRight),r.rect.width=e[i].width,r.rect.height=e[i].height})},v.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],i=e.id,r=e.paddingLeft,n=e.paddingTop;this.adjustLocations(this.tiledMemberPack[i],e.rect.x,e.rect.y,r,n)}},v.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach(function(i){var r=t.idToDummyNode[i],n=r.paddingLeft,o=r.paddingTop;t.adjustLocations(e[i],r.rect.x,r.rect.y,n,o)})},v.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var i=t.getChild();if(null==i)return this.toBeTiled[e]=!1,!1;for(var r=i.getNodes(),n=0;n<r.length;n++){var o=r[n];if(this.getNodeDegree(o)>0)return this.toBeTiled[e]=!1,!1;if(null==o.getChild()){this.toBeTiled[o.id]=!1;continue}if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}return this.toBeTiled[e]=!0,!0},v.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),i=0,r=0;r<e.length;r++){var n=e[r];n.getSource().id!==n.getTarget().id&&(i+=1)}return i},v.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(null==t.getChild())return e;for(var i=t.getChild().getNodes(),r=0;r<i.length;r++){var n=i[r];e+=this.getNodeDegreeWithChildren(n)}return e},v.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},v.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var i=t[e];null!=i.getChild()&&this.fillCompexOrderByDFS(i.getChild().getNodes()),this.getToBeTiled(i)&&this.compoundOrder.push(i)}},v.prototype.adjustLocations=function(t,e,i,r,n){e+=r,i+=n;for(var o=e,s=0;s<t.rows.length;s++){var a=t.rows[s];e=o;for(var h=0,l=0;l<a.length;l++){var g=a[l];g.rect.x=e,g.rect.y=i,e+=g.rect.width+t.horizontalPadding,g.rect.height>h&&(h=g.rect.height)}i+=h+t.verticalPadding}},v.prototype.tileCompoundMembers=function(t,e){var i=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(r){var n=e[r];i.tiledMemberPack[r]=i.tileNodes(t[r],n.paddingLeft+n.paddingRight),n.rect.width=i.tiledMemberPack[r].width,n.rect.height=i.tiledMemberPack[r].height})},v.prototype.tileNodes=function(t,e){var i={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:h.TILING_PADDING_VERTICAL,horizontalPadding:h.TILING_PADDING_HORIZONTAL};t.sort(function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:+(t.rect.width*t.rect.height<e.rect.width*e.rect.height)});for(var r=0;r<t.length;r++){var n=t[r];0==i.rows.length?this.insertNodeToRow(i,n,0,e):this.canAddHorizontal(i,n.rect.width,n.rect.height)?this.insertNodeToRow(i,n,this.getShortestRowIndex(i),e):this.insertNodeToRow(i,n,i.rows.length,e),this.shiftToLastRow(i)}return i},v.prototype.insertNodeToRow=function(t,e,i,r){i==t.rows.length&&(t.rows.push([]),t.rowWidth.push(r),t.rowHeight.push(0));var n=t.rowWidth[i]+e.rect.width;t.rows[i].length>0&&(n+=t.horizontalPadding),t.rowWidth[i]=n,t.width<n&&(t.width=n);var o=e.rect.height;i>0&&(o+=t.verticalPadding);var s=0;o>t.rowHeight[i]&&(s=t.rowHeight[i],t.rowHeight[i]=o,s=t.rowHeight[i]-s),t.height+=s,t.rows[i].push(e)},v.prototype.getShortestRowIndex=function(t){for(var e=-1,i=Number.MAX_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]<i&&(e=r,i=t.rowWidth[r]);return e},v.prototype.getLongestRowIndex=function(t){for(var e=-1,i=5e-324,r=0;r<t.rows.length;r++)t.rowWidth[r]>i&&(e=r,i=t.rowWidth[r]);return e},v.prototype.canAddHorizontal=function(t,e,i){var r,n,o=this.getShortestRowIndex(t);if(o<0)return!0;var s=t.rowWidth[o];if(s+t.horizontalPadding+e<=t.width)return!0;var a=0;return t.rowHeight[o]<i&&o>0&&(a=i+t.verticalPadding-t.rowHeight[o]),r=t.width-s>=e+t.horizontalPadding?(t.height+a)/(s+e+t.horizontalPadding):(t.height+a)/t.width,a=i+t.verticalPadding,(n=t.width<e?(t.height+a)/e:(t.height+a)/t.width)<1&&(n=1/n),r<1&&(r=1/r),r<n},v.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),i=t.rowWidth.length-1,r=t.rows[e],n=r[r.length-1],o=n.width+t.horizontalPadding;if(t.width-t.rowWidth[i]>o&&e!=i){r.splice(-1,1),t.rows[i].push(n),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[i]=t.rowWidth[i]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=5e-324,a=0;a<r.length;a++)r[a].height>s&&(s=r[a].height);e>0&&(s+=t.verticalPadding);var h=t.rowHeight[e]+t.rowHeight[i];t.rowHeight[e]=s,t.rowHeight[i]<n.height+t.verticalPadding&&(t.rowHeight[i]=n.height+t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[i];t.height+=l-h,this.shiftToLastRow(t)}},v.prototype.tilingPreLayout=function(){h.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},v.prototype.tilingPostLayout=function(){h.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},v.prototype.reduceTrees=function(){for(var t,e=[],i=!0;i;){var r=this.graphManager.getAllNodes(),n=[];i=!1;for(var o=0;o<r.length;o++)1!=(t=r[o]).getEdges().length||t.getEdges()[0].isInterGraph||null!=t.getChild()||(n.push([t,t.getEdges()[0],t.getOwner()]),i=!0);if(!0==i){for(var s=[],a=0;a<n.length;a++)1==n[a][0].getEdges().length&&(s.push(n[a]),n[a][0].getOwner().remove(n[a][0]));e.push(s),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=e},v.prototype.growTree=function(t){for(var e,i=t.length,r=t[i-1],n=0;n<r.length;n++)e=r[n],this.findPlaceforPrunedNode(e),e[2].add(e[0]),e[2].add(e[1],e[1].source,e[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},v.prototype.findPlaceforPrunedNode=function(t){var e,i,r,n,o=t[0],s=(i=o==t[1].source?t[1].target:t[1].source).startX,a=i.finishX,h=i.startY,g=i.finishY,u=[0,0,0,0];if(h>0)for(var c=s;c<=a;c++)u[0]+=this.grid[c][h-1].length+this.grid[c][h].length-1;if(a<this.grid.length-1)for(var c=h;c<=g;c++)u[1]+=this.grid[a+1][c].length+this.grid[a][c].length-1;if(g<this.grid[0].length-1)for(var c=s;c<=a;c++)u[2]+=this.grid[c][g+1].length+this.grid[c][g].length-1;if(s>0)for(var c=h;c<=g;c++)u[3]+=this.grid[s-1][c].length+this.grid[s][c].length-1;for(var d=p.MAX_VALUE,f=0;f<u.length;f++)u[f]<d?(d=u[f],r=1,n=f):u[f]==d&&r++;if(3==r&&0==d)0==u[0]&&0==u[1]&&0==u[2]?e=1:0==u[0]&&0==u[1]&&0==u[3]?e=0:0==u[0]&&0==u[2]&&0==u[3]?e=3:0==u[1]&&0==u[2]&&0==u[3]&&(e=2);else if(2==r&&0==d){var y=Math.floor(2*Math.random());e=0==u[0]&&0==u[1]?+(0!=y):0==u[0]&&0==u[2]?2*(0!=y):0==u[0]&&0==u[3]?3*(0!=y):0==u[1]&&0==u[2]?0==y?1:2:0==u[1]&&0==u[3]?0==y?1:3:0==y?2:3}else if(4==r&&0==d){var y=Math.floor(4*Math.random());e=y}else e=n;0==e?o.setCenter(i.getCenterX(),i.getCenterY()-i.getHeight()/2-l.DEFAULT_EDGE_LENGTH-o.getHeight()/2):1==e?o.setCenter(i.getCenterX()+i.getWidth()/2+l.DEFAULT_EDGE_LENGTH+o.getWidth()/2,i.getCenterY()):2==e?o.setCenter(i.getCenterX(),i.getCenterY()+i.getHeight()/2+l.DEFAULT_EDGE_LENGTH+o.getHeight()/2):o.setCenter(i.getCenterX()-i.getWidth()/2-l.DEFAULT_EDGE_LENGTH-o.getWidth()/2,i.getCenterY())},t.exports=v},function(t,e,i){"use strict";var r={};r.layoutBase=i(0),r.CoSEConstants=i(1),r.CoSEEdge=i(2),r.CoSEGraph=i(3),r.CoSEGraphManager=i(4),r.CoSELayout=i(6),r.CoSENode=i(5),t.exports=r}],i={};function r(t){if(i[t])return i[t].exports;var n=i[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=i,r.i=function(t){return t},r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=7)}(i(3143))},3457(t,e,i){t.exports=function(t){var e=[function(e,i){e.exports=t},function(t,e,i){"use strict";var r=i(0).layoutBase.LayoutConstants,n=i(0).layoutBase.FDLayoutConstants,o=i(0).CoSEConstants,s=i(0).CoSELayout,a=i(0).CoSENode,h=i(0).layoutBase.PointD,l=i(0).layoutBase.DimensionD,g={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function u(t){this.options=function(t,e){var i={};for(var r in t)i[r]=t[r];for(var r in e)i[r]=e[r];return i}(g,t),c(this.options)}var c=function(t){null!=t.nodeRepulsion&&(o.DEFAULT_REPULSION_STRENGTH=n.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(o.DEFAULT_EDGE_LENGTH=n.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(o.DEFAULT_SPRING_STRENGTH=n.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(o.DEFAULT_GRAVITY_STRENGTH=n.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(o.MAX_ITERATIONS=n.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=n.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=n.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=n.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=n.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,o.ANIMATE=n.ANIMATE=r.ANIMATE=t.animate,o.TILE=t.tile,o.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};u.prototype.run=function(){var t,e,i=this.options;this.idToLNode={};var r=this.layout=new s,n=this;n.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var o=r.newGraphManager();this.gm=o;var a=this.options.eles.nodes(),h=this.options.eles.edges();this.root=o.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(a),r);for(var l=0;l<h.length;l++){var g=h[l],u=this.idToLNode[g.data("source")],c=this.idToLNode[g.data("target")];u!==c&&0==u.getEdgesBetween(c).length&&(o.add(r.newEdge(),u,c).id=g.id())}var d=function(t,e){"number"==typeof t&&(t=e);var i=t.data("id"),r=n.idToLNode[i];return{x:r.getRect().getCenterX(),y:r.getRect().getCenterY()}},p=function o(){for(var s,a=function(){i.fit&&i.cy.fit(i.eles,i.padding),t||(t=!0,n.cy.one("layoutready",i.ready),n.cy.trigger({type:"layoutready",layout:n}))},h=n.options.refresh,l=0;l<h&&!s;l++)s=n.stopped||n.layout.tick();if(s){r.checkLayoutSuccess()&&!r.isSubLayout&&r.doPostLayout(),r.tilingPostLayout&&r.tilingPostLayout(),r.isLayoutFinished=!0,n.options.eles.nodes().positions(d),a(),n.cy.one("layoutstop",n.options.stop),n.cy.trigger({type:"layoutstop",layout:n}),e&&cancelAnimationFrame(e),t=!1;return}var g=n.layout.getPositionsData();i.eles.nodes().positions(function(t,e){if("number"==typeof t&&(t=e),!t.isParent()){for(var i=t.id(),r=g[i],n=t;null==r&&(r=g[n.data("parent")]||g["DummyCompound_"+n.data("parent")],g[i]=r,void 0!=(n=n.parent()[0])););return null!=r?{x:r.x,y:r.y}:{x:t.position("x"),y:t.position("y")}}}),a(),e=requestAnimationFrame(o)};return r.addListener("layoutstarted",function(){"during"===n.options.animate&&(e=requestAnimationFrame(p))}),r.runLayout(),"during"!==this.options.animate&&(n.options.eles.nodes().not(":parent").layoutPositions(n,n.options,d),t=!1),this},u.prototype.getTopMostNodes=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].id()]=!0;return t.filter(function(t,i){"number"==typeof t&&(t=i);for(var r=t.parent()[0];null!=r;){if(e[r.id()])return!1;r=r.parent()[0]}return!0})},u.prototype.processChildrenList=function(t,e,i){for(var r=e.length,n=0;n<r;n++){var o,s,g=e[n],u=g.children(),c=g.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if((o=null!=g.outerWidth()&&null!=g.outerHeight()?t.add(new a(i.graphManager,new h(g.position("x")-c.w/2,g.position("y")-c.h/2),new l(parseFloat(c.w),parseFloat(c.h)))):t.add(new a(this.graphManager))).id=g.data("id"),o.paddingLeft=parseInt(g.css("padding")),o.paddingTop=parseInt(g.css("padding")),o.paddingRight=parseInt(g.css("padding")),o.paddingBottom=parseInt(g.css("padding")),this.options.nodeDimensionsIncludeLabels&&g.isParent()){var d=g.boundingBox({includeLabels:!0,includeNodes:!1}).w,p=g.boundingBox({includeLabels:!0,includeNodes:!1}).h,f=g.css("text-halign");o.labelWidth=d,o.labelHeight=p,o.labelPos=f}this.idToLNode[g.data("id")]=o,isNaN(o.rect.x)&&(o.rect.x=0),isNaN(o.rect.y)&&(o.rect.y=0),null!=u&&u.length>0&&(s=i.getGraphManager().add(i.newGraph(),o),this.processChildrenList(s,u,i))}},u.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",u)};"u">typeof cytoscape&&d(cytoscape),t.exports=d}],i={};function r(t){if(i[t])return i[t].exports;var n=i[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=i,r.i=function(t){return t},r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}(i(7799))},3143(t){t.exports=function(){var t=[function(t,e,i){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(8),o=i(9);function s(t,e,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=t,this.target=e}for(var a in s.prototype=Object.create(r.prototype),r)s[a]=r[a];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(t,e){for(var i=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(i.getOwner()==e)return i;if(i.getOwner()==r)break;i=i.getOwner().getParent()}return null},s.prototype.updateLength=function(){var t=[,,,,];this.isOverlapingSourceAndTarget=n.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,i){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(13),s=i(0),a=i(16),h=i(4);function l(t,e,i,s){null==i&&null==s&&(s=e),r.call(this,s),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=n.MIN_VALUE,this.inclusionTreeDepth=n.MAX_VALUE,this.vGraphObject=s,this.edges=[],this.graphManager=t,null!=i&&null!=e?this.rect=new o(e.x,e.y,i.width,i.height):this.rect=new o}for(var g in l.prototype=Object.create(r.prototype),r)l[g]=r[g];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(t){this.rect.width=t},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(t){this.rect.height=t},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},l.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},l.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},l.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},l.prototype.getEdgeListToNode=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.target==t){if(r.source!=i)throw"Incorrect edge source!";e.push(r)}}),e},l.prototype.getEdgesBetween=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.source!=i&&r.target!=i)throw"Incorrect edge source and/or target";(r.target==t||r.source==t)&&e.push(r)}),e},l.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach(function(i){if(i.source==e)t.add(i.target);else{if(i.target!=e)throw"Incorrect incidency!";t.add(i.source)}}),t},l.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),i=0;i<e.length;i++)e[i].withChildren().forEach(function(e){t.add(e)});return t},l.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var e=this.child.getNodes(),i=0;i<e.length;i++)t+=e[i].getNoOfChildren();return 0==t&&(t=1),t},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},l.prototype.scatter=function(){var t,e,i=-s.INITIAL_WORLD_BOUNDARY,r=s.INITIAL_WORLD_BOUNDARY;t=s.WORLD_CENTER_X+a.nextDouble()*(r-i)+i;var n=-s.INITIAL_WORLD_BOUNDARY,o=s.INITIAL_WORLD_BOUNDARY;e=s.WORLD_CENTER_Y+a.nextDouble()*(o-n)+n,this.rect.x=t,this.rect.y=e},l.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),s.NODE_DIMENSIONS_INCLUDE_LABELS){var e=t.getRight()-t.getLeft(),i=t.getBottom()-t.getTop();this.labelWidth>e&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>i&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-i)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-i),this.setHeight(this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==n.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>s.WORLD_BOUNDARY?e=s.WORLD_BOUNDARY:e<-s.WORLD_BOUNDARY&&(e=-s.WORLD_BOUNDARY);var i=this.rect.y;i>s.WORLD_BOUNDARY?i=s.WORLD_BOUNDARY:i<-s.WORLD_BOUNDARY&&(i=-s.WORLD_BOUNDARY);var r=new h(e,i),n=t.inverseTransformPoint(r);this.setLocation(n.x,n.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,i){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(0),s=i(6),a=i(3),h=i(1),l=i(13),g=i(12),u=i(11);function c(t,e,i){r.call(this,i),this.estimatedSize=n.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof s?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in c.prototype=Object.create(r.prototype),r)c[d]=r[d];c.prototype.getNodes=function(){return this.nodes},c.prototype.getEdges=function(){return this.edges},c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getParent=function(){return this.parent},c.prototype.getLeft=function(){return this.left},c.prototype.getRight=function(){return this.right},c.prototype.getTop=function(){return this.top},c.prototype.getBottom=function(){return this.bottom},c.prototype.isConnected=function(){return this.isConnected},c.prototype.add=function(t,e,i){if(null==e&&null==i){if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(t)>-1)throw"Node already in graph!";return t.owner=this,this.getNodes().push(t),t}if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(i)>-1))throw"Source or target not in graph!";if(e.owner!=i.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=i.owner?null:(t.source=e,t.target=i,t.isInterGraph=!1,this.getEdges().push(t),e.edges.push(t),i!=e&&i.edges.push(t),t)},c.prototype.remove=function(t){if(t instanceof a){if(null==t)throw"Node is null!";if(null==t.owner||t.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var e,i=t.edges.slice(),r=i.length,n=0;n<r;n++)(e=i[n]).isInterGraph?this.graphManager.remove(e):e.source.owner.remove(e);var o=this.nodes.indexOf(t);if(-1==o)throw"Node not in owner node list!";this.nodes.splice(o,1)}else if(t instanceof h){var e=t;if(null==e)throw"Edge is null!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(null==e.source.owner||null==e.target.owner||e.source.owner!=this||e.target.owner!=this)throw"Source and/or target owner is invalid!";var s=e.source.edges.indexOf(e),l=e.target.edges.indexOf(e);if(!(s>-1&&l>-1))throw"Source and/or target doesn't know this edge!";e.source.edges.splice(s,1),e.target!=e.source&&e.target.edges.splice(l,1);var o=e.source.owner.getEdges().indexOf(e);if(-1==o)throw"Not in owner's edge list!";e.source.owner.getEdges().splice(o,1)}},c.prototype.updateLeftTop=function(){for(var t,e,i,r=n.MAX_VALUE,o=n.MAX_VALUE,s=this.getNodes(),a=s.length,h=0;h<a;h++){var l=s[h];t=l.getTop(),e=l.getLeft(),r>t&&(r=t),o>e&&(o=e)}return r==n.MAX_VALUE?null:(i=void 0!=s[0].getParent().paddingLeft?s[0].getParent().paddingLeft:this.margin,this.left=o-i,this.top=r-i,new g(this.left,this.top))},c.prototype.updateBounds=function(t){for(var e,i,r,o,s,a=n.MAX_VALUE,h=-n.MAX_VALUE,g=n.MAX_VALUE,u=-n.MAX_VALUE,c=this.nodes,d=c.length,p=0;p<d;p++){var f=c[p];t&&null!=f.child&&f.updateBounds(),e=f.getLeft(),i=f.getRight(),r=f.getTop(),o=f.getBottom(),a>e&&(a=e),h<i&&(h=i),g>r&&(g=r),u<o&&(u=o)}var y=new l(a,g,h-a,u-g);a==n.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),s=void 0!=c[0].getParent().paddingLeft?c[0].getParent().paddingLeft:this.margin,this.left=y.x-s,this.right=y.x+y.width+s,this.top=y.y-s,this.bottom=y.y+y.height+s},c.calculateBounds=function(t){for(var e,i,r,o,s=n.MAX_VALUE,a=-n.MAX_VALUE,h=n.MAX_VALUE,g=-n.MAX_VALUE,u=t.length,c=0;c<u;c++){var d=t[c];e=d.getLeft(),i=d.getRight(),r=d.getTop(),o=d.getBottom(),s>e&&(s=e),a<i&&(a=i),h>r&&(h=r),g<o&&(g=o)}return new l(s,h,a-s,g-h)},c.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},c.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},c.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,i=e.length,r=0;r<i;r++)t+=e[r].calcEstimatedSize();return 0==t?this.estimatedSize=o.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=t/Math.sqrt(this.nodes.length),this.estimatedSize},c.prototype.updateConnected=function(){var t,e,i=this;if(0==this.nodes.length){this.isConnected=!0;return}var r=new u,n=new Set,o=this.nodes[0];for(o.withChildren().forEach(function(t){r.push(t),n.add(t)});0!==r.length;)for(var s=(t=(o=r.shift()).getEdges()).length,a=0;a<s;a++)null==(e=t[a].getOtherEndInGraph(o,this))||n.has(e)||e.withChildren().forEach(function(t){r.push(t),n.add(t)});if(this.isConnected=!1,n.size>=this.nodes.length){var h=0;n.forEach(function(t){t.owner==i&&h++}),h==this.nodes.length&&(this.isConnected=!0)}},t.exports=c},function(t,e,i){"use strict";var r,n=i(1);function o(t){r=i(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),i=this.add(t,e);return this.setRootGraph(i),this.rootGraph},o.prototype.add=function(t,e,i,r,n){if(null==i&&null==r&&null==n){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}n=i,r=e,i=t;var o=r.getOwner(),s=n.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==s||s.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==s)return i.isInterGraph=!1,o.add(i,r,n);if(i.isInterGraph=!0,i.source=r,i.target=n,this.edges.indexOf(i)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(i),null==i.source||null==i.target)throw"Edge source and/or target is null!";if(-1!=i.source.edges.indexOf(i)||-1!=i.target.edges.indexOf(i))throw"Edge already in source and/or target incidency list!";return i.source.edges.push(i),i.target.edges.push(i),i},o.prototype.remove=function(t){if(t instanceof r){if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(t!=this.rootGraph&&(null==t.parent||t.parent.graphManager!=this))throw"Invalid parent node!";for(var e,i,o=[],s=(o=o.concat(t.getEdges())).length,a=0;a<s;a++)e=o[a],t.remove(e);var h=[];s=(h=h.concat(t.getNodes())).length;for(var a=0;a<s;a++)i=h[a],t.remove(i);t==this.rootGraph&&this.setRootGraph(null);var l=this.graphs.indexOf(t);this.graphs.splice(l,1),t.parent=null}else if(t instanceof n){if(null==(e=t))throw"Edge is null!";if(!e.isInterGraph)throw"Not an inter-graph edge!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(-1==e.source.edges.indexOf(e)||-1==e.target.edges.indexOf(e))throw"Source and/or target doesn't know this edge!";var l=e.source.edges.indexOf(e);if(e.source.edges.splice(l,1),l=e.target.edges.indexOf(e),e.target.edges.splice(l,1),null==e.source.owner||null==e.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==e.source.owner.getGraphManager().edges.indexOf(e))throw"Not in owner graph manager's edge list!";var l=e.source.owner.getGraphManager().edges.indexOf(e);e.source.owner.getGraphManager().edges.splice(l,1)}},o.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},o.prototype.getGraphs=function(){return this.graphs},o.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],e=this.getGraphs(),i=e.length,r=0;r<i;r++)t=t.concat(e[r].getNodes());this.allNodes=t}return this.allNodes},o.prototype.resetAllNodes=function(){this.allNodes=null},o.prototype.resetAllEdges=function(){this.allEdges=null},o.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},o.prototype.getAllEdges=function(){if(null==this.allEdges){var t=[],e=this.getGraphs();e.length;for(var i=0;i<e.length;i++)t=t.concat(e[i].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},o.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},o.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},o.prototype.getRoot=function(){return this.rootGraph},o.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},o.prototype.getLayout=function(){return this.layout},o.prototype.isOneAncestorOfOther=function(t,e){if(null==t||null==e)throw"assert failed";if(t==e)return!0;for(var i,r=t.getOwner();null!=(i=r.getParent());){if(i==e)return!0;if(null==(r=i.getOwner()))break}for(r=e.getOwner();null!=(i=r.getParent());){if(i==t)return!0;if(null==(r=i.getOwner()))break}return!1},o.prototype.calcLowestCommonAncestors=function(){for(var t,e,i,r,n,o=this.getAllEdges(),s=o.length,a=0;a<s;a++){if(e=(t=o[a]).source,i=t.target,t.lca=null,t.sourceInLca=e,t.targetInLca=i,e==i){t.lca=e.getOwner();continue}for(r=e.getOwner();null==t.lca;){for(t.targetInLca=i,n=i.getOwner();null==t.lca;){if(n==r){t.lca=n;break}if(n==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=n.getParent(),n=t.targetInLca.getOwner()}if(r==this.rootGraph)break;null==t.lca&&(t.sourceInLca=r.getParent(),r=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}},o.prototype.calcLowestCommonAncestor=function(t,e){if(t==e)return t.getOwner();for(var i=t.getOwner();null!=i;){for(var r=e.getOwner();null!=r;){if(r==i)return r;r=r.getParent().getOwner()}i=i.getParent().getOwner()}return i},o.prototype.calcInclusionTreeDepths=function(t,e){null==t&&null==e&&(t=this.rootGraph,e=1);for(var i,r=t.getNodes(),n=r.length,o=0;o<n;o++)(i=r[o]).inclusionTreeDepth=e,null!=i.child&&this.calcInclusionTreeDepths(i.child,e+1)},o.prototype.includesInvalidEdge=function(){for(var t,e=this.edges.length,i=0;i<e;i++)if(t=this.edges[i],this.isOneAncestorOfOther(t.source,t.target))return!0;return!1},t.exports=o},function(t,e,i){"use strict";var r=i(0);function n(){}for(var o in r)n[o]=r[o];n.MAX_ITERATIONS=2500,n.DEFAULT_EDGE_LENGTH=50,n.DEFAULT_SPRING_STRENGTH=.45,n.DEFAULT_REPULSION_STRENGTH=4500,n.DEFAULT_GRAVITY_STRENGTH=.4,n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,n.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,n.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,n.COOLING_ADAPTATION_FACTOR=.33,n.ADAPTATION_LOWER_NODE_LIMIT=1e3,n.ADAPTATION_UPPER_NODE_LIMIT=5e3,n.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,n.MAX_NODE_DISPLACEMENT=3*n.MAX_NODE_DISPLACEMENT_INCREMENTAL,n.MIN_REPULSION_DIST=n.DEFAULT_EDGE_LENGTH/10,n.CONVERGENCE_CHECK_PERIOD=100,n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,n.MIN_EDGE_LENGTH=1,n.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=n},function(t,e,i){"use strict";var r=i(12);function n(){}n.calcSeparationAmount=function(t,e,i,r){if(!t.intersects(e))throw"assert failed";var n=[,,];this.decideDirectionsForOverlappingNodes(t,e,n),i[0]=Math.min(t.getRight(),e.getRight())-Math.max(t.x,e.x),i[1]=Math.min(t.getBottom(),e.getBottom())-Math.max(t.y,e.y),t.getX()<=e.getX()&&t.getRight()>=e.getRight()?i[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(i[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(i[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var s=o*i[0],a=i[1]/o;i[0]<a?a=i[0]:s=i[1],i[0]=-1*n[0]*(a/2+r),i[1]=-1*n[1]*(s/2+r)},n.decideDirectionsForOverlappingNodes=function(t,e,i){t.getCenterX()<e.getCenterX()?i[0]=-1:i[0]=1,t.getCenterY()<e.getCenterY()?i[1]=-1:i[1]=1},n.getIntersection2=function(t,e,i){var r=t.getCenterX(),n=t.getCenterY(),o=e.getCenterX(),s=e.getCenterY();if(t.intersects(e))return i[0]=r,i[1]=n,i[2]=o,i[3]=s,!0;var a=t.getX(),h=t.getY(),l=t.getRight(),g=t.getX(),u=t.getBottom(),c=t.getRight(),d=t.getWidthHalf(),p=t.getHeightHalf(),f=e.getX(),y=e.getY(),E=e.getRight(),v=e.getX(),A=e.getBottom(),T=e.getRight(),N=e.getWidthHalf(),L=e.getHeightHalf(),_=!1,m=!1;if(r===o)n>s?(i[0]=r,i[1]=h,i[2]=o,i[3]=A):n<s&&(i[0]=r,i[1]=u,i[2]=o,i[3]=y);else if(n===s)r>o?(i[0]=a,i[1]=n,i[2]=E,i[3]=s):r<o&&(i[0]=l,i[1]=n,i[2]=f,i[3]=s);else{var O=t.height/t.width,I=e.height/e.width,D=(s-n)/(o-r),w=void 0,R=void 0,C=void 0,M=void 0,G=void 0,x=void 0;if(-O===D?(r>o?(i[0]=g,i[1]=u):(i[0]=l,i[1]=h),_=!0):O===D&&(r>o?(i[0]=a,i[1]=h):(i[0]=c,i[1]=u),_=!0),-I===D?(o>r?(i[2]=v,i[3]=A):(i[2]=E,i[3]=y),m=!0):I===D&&(o>r?(i[2]=f,i[3]=y):(i[2]=T,i[3]=A),m=!0),_&&m)return!1;if(r>o?n>s?(w=this.getCardinalDirection(O,D,4),R=this.getCardinalDirection(I,D,2)):(w=this.getCardinalDirection(-O,D,3),R=this.getCardinalDirection(-I,D,1)):n>s?(w=this.getCardinalDirection(-O,D,1),R=this.getCardinalDirection(-I,D,3)):(w=this.getCardinalDirection(O,D,2),R=this.getCardinalDirection(I,D,4)),!_)switch(w){case 1:M=h,C=r+-p/D,i[0]=C,i[1]=M;break;case 2:C=c,M=n+d*D,i[0]=C,i[1]=M;break;case 3:M=u,C=r+p/D,i[0]=C,i[1]=M;break;case 4:C=g,M=n+-d*D,i[0]=C,i[1]=M}if(!m)switch(R){case 1:x=y,G=o+-L/D,i[2]=G,i[3]=x;break;case 2:G=T,x=s+N*D,i[2]=G,i[3]=x;break;case 3:x=A,G=o+L/D,i[2]=G,i[3]=x;break;case 4:G=v,x=s+-N*D,i[2]=G,i[3]=x}}return!1},n.getCardinalDirection=function(t,e,i){return t>e?i:1+i%4},n.getIntersection=function(t,e,i,n){if(null==n)return this.getIntersection2(t,e,i);var o=t.x,s=t.y,a=e.x,h=e.y,l=i.x,g=i.y,u=n.x,c=n.y,d=void 0,p=void 0,f=void 0,y=void 0,E=void 0,v=void 0,A=void 0;return(d=h-s,f=o-a,E=a*s-o*h,p=c-g,y=l-u,v=u*g-l*c,0==(A=d*y-p*f))?null:new r((f*v-y*E)/A,(p*E-d*v)/A)},n.angleOfVector=function(t,e,i,r){var n=void 0;return t!==i?(n=Math.atan((r-e)/(i-t)),i<t?n+=Math.PI:r<e&&(n+=this.TWO_PI)):n=r<e?this.ONE_AND_HALF_PI:this.HALF_PI,n},n.doIntersect=function(t,e,i,r){var n=t.x,o=t.y,s=e.x,a=e.y,h=i.x,l=i.y,g=r.x,u=r.y,c=(s-n)*(u-l)-(g-h)*(a-o);if(0===c)return!1;var d=((u-l)*(g-n)+(h-g)*(u-o))/c,p=((o-a)*(g-n)+(s-n)*(u-o))/c;return 0<d&&d<1&&0<p&&p<1},n.HALF_PI=.5*Math.PI,n.ONE_AND_HALF_PI=1.5*Math.PI,n.TWO_PI=2*Math.PI,n.THREE_PI=3*Math.PI,t.exports=n},function(t,e,i){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,i){"use strict";function r(){}r.MAX_VALUE=0x7fffffff,r.MIN_VALUE=-0x80000000,t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=function(t){return{value:t,next:null,prev:null}},o=function(t,e,i,r){return null!==t?t.next=e:r.head=e,null!==i?i.prev=e:r.tail=e,e.prev=t,e.next=i,r.length++,e},s=function(t,e){var i=t.prev,r=t.next;return null!==i?i.next=r:e.head=r,null!==r?r.prev=i:e.tail=i,t.prev=t.next=null,e.length--,t};t.exports=function(){function t(e){var i=this;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.length=0,this.head=null,this.tail=null,null!=e&&e.forEach(function(t){return i.push(t)})}return r(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,e){return o(e.prev,n(t),e,this)}},{key:"insertAfter",value:function(t,e){return o(e,n(t),e.next,this)}},{key:"insertNodeBefore",value:function(t,e){return o(e.prev,t,e,this)}},{key:"insertNodeAfter",value:function(t,e){return o(e,t,e.next,this)}},{key:"push",value:function(t){return o(this.tail,n(t),null,this)}},{key:"unshift",value:function(t){return o(null,n(t),this.head,this)}},{key:"remove",value:function(t){return s(t,this)}},{key:"pop",value:function(){return s(this.tail,this).value}},{key:"popNode",value:function(){return s(this.tail,this)}},{key:"shift",value:function(){return s(this.head,this).value}},{key:"shiftNode",value:function(){return s(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var e=1,i=this.head;e<t;)i=i.next,e++;return i.value}}},{key:"set_object_at",value:function(t,e){if(t<=this.length()){for(var i=1,r=this.head;i<t;)r=r.next,i++;r.value=e}}}]),t}()},function(t,e,i){"use strict";function r(t,e,i){this.x=null,this.y=null,null==t&&null==e&&null==i?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof e&&null==i?(this.x=t,this.y=e):"Point"==t.constructor.name&&null==e&&null==i&&(i=t,this.x=i.x,this.y=i.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(t,e,i){"Point"==t.constructor.name&&null==e&&null==i?(i=t,this.setLocation(i.x,i.y)):"number"==typeof t&&"number"==typeof e&&null==i&&(parseInt(t)==t&&parseInt(e)==e?this.move(t,e):(this.x=Math.floor(t+.5),this.y=Math.floor(e+.5)))},r.prototype.move=function(t,e){this.x=t,this.y=e},r.prototype.translate=function(t,e){this.x+=t,this.y+=e},r.prototype.equals=function(t){return"Point"==t.constructor.name?this.x==t.x&&this.y==t.y:this==t},r.prototype.toString=function(){return new r().constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=r},function(t,e,i){"use strict";function r(t,e,i,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=e&&null!=i&&null!=r&&(this.x=t,this.y=e,this.width=i,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(t){this.x=t},r.prototype.getY=function(){return this.y},r.prototype.setY=function(t){this.y=t},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(t){return!(this.getRight()<t.x||this.getBottom()<t.y||t.getRight()<this.x||t.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},t.exports=r},function(t,e,i){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function n(){}n.lastID=0,n.createID=function(t){return n.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=n.getString(),n.lastID++),t.uniqueID)},n.getString=function(t){return null==t&&(t=n.lastID),"Object#"+t},n.isPrimitive=function(t){var e=void 0===t?"undefined":r(t);return null==t||"object"!=e&&"function"!=e},t.exports=n},function(t,e,i){"use strict";function r(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}var n=i(0),o=i(6),s=i(3),a=i(1),h=i(5),l=i(4),g=i(17),u=i(27);function c(t){u.call(this),this.layoutQuality=n.QUALITY,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=n.DEFAULT_INCREMENTAL,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new o(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}c.RANDOM_SEED=1,c.prototype=Object.create(u.prototype),c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},c.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},c.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},c.prototype.newGraphManager=function(){var t=new o(this);return this.graphManager=t,t},c.prototype.newGraph=function(t){return new h(null,this.graphManager,t)},c.prototype.newNode=function(t){return new s(this.graphManager,t)},c.prototype.newEdge=function(t){return new a(null,null,t)},c.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},c.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==n.ANIMATE&&(t&&!this.isSubLayout&&this.doPostLayout(),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},c.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},c.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),e=0;e<t.length;e++)t[e];for(var i=this.graphManager.getRoot().getNodes(),e=0;e<i.length;e++)i[e];this.update(this.graphManager.getRoot())}},c.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof s){if(null!=t.getChild())for(var e=t.getChild().getNodes(),i=0;i<e.length;i++)update(e[i]);null!=t.vGraphObject&&t.vGraphObject.update(t)}else t instanceof a?null!=t.vGraphObject&&t.vGraphObject.update(t):t instanceof h&&null!=t.vGraphObject&&t.vGraphObject.update(t)},c.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=n.QUALITY,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=n.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},c.prototype.transform=function(t){if(void 0==t)this.transform(new l(0,0));else{var e=new g,i=this.graphManager.getRoot().updateLeftTop();if(null!=i){e.setWorldOrgX(t.x),e.setWorldOrgY(t.y),e.setDeviceOrgX(i.x),e.setDeviceOrgY(i.y);for(var r=this.getAllNodes(),n=0;n<r.length;n++)r[n].transform(e)}}},c.prototype.positionNodesRandomly=function(t){if(void 0==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var e,i,r=t.getNodes(),n=0;n<r.length;n++)null==(i=(e=r[n]).getChild())||0==i.getNodes().length?e.scatter():(this.positionNodesRandomly(i),e.updateBounds())},c.prototype.getFlatForest=function(){for(var t=[],e=!0,i=this.graphManager.getRoot().getNodes(),n=!0,o=0;o<i.length;o++)null!=i[o].getChild()&&(n=!1);if(!n)return t;var s=new Set,a=[],h=new Map,l=[];for(l=l.concat(i);l.length>0&&e;){for(a.push(l[0]);a.length>0&&e;){var g=a[0];a.splice(0,1),s.add(g);for(var u=g.getEdges(),o=0;o<u.length;o++){var c=u[o].getOtherEnd(g);if(h.get(g)!=c)if(s.has(c)){e=!1;break}else a.push(c),h.set(c,g)}}if(e){var d=[].concat(r(s));t.push(d);for(var o=0;o<d.length;o++){var p=d[o],f=l.indexOf(p);f>-1&&l.splice(f,1)}s=new Set,h=new Map}else t=[]}return t},c.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],i=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),n=0;n<t.bendpoints.length;n++){var o=this.newNode(null);o.setRect(new Point(0,0),new Dimension(1,1)),r.add(o);var s=this.newEdge(null);this.graphManager.add(s,i,o),e.add(o),i=o}var s=this.newEdge(null);return this.graphManager.add(s,i,t.target),this.edgeToDummyNodes.set(t,e),t.isInterGraph()?this.graphManager.remove(t):r.remove(t),e},c.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(r(this.edgeToDummyNodes.keys())).concat(t);for(var e=0;e<t.length;e++){var i=t[e];if(i.bendpoints.length>0){for(var n=this.edgeToDummyNodes.get(i),o=0;o<n.length;o++){var s=n[o],a=new l(s.getCenterX(),s.getCenterY()),h=i.bendpoints.get(o);h.x=a.x,h.y=a.y,s.getOwner().remove(s)}this.graphManager.add(i,i.source,i.target)}}},c.transform=function(t,e,i,r){if(void 0==i||void 0==r)return t<=50?(n=9*e/500,o=e/10):(n=9*e/50,o=-8*e),n*t+o;var n,o,s=e;return t<=50?s-=(e-e/i)/50*(50-t):s+=(e*r-e)/50*(t-50),s},c.findCenterOfTree=function(t){var e=[];e=e.concat(t);var i=[],r=new Map,n=!1,o=null;(1==e.length||2==e.length)&&(n=!0,o=e[0]);for(var s=0;s<e.length;s++){var a=e[s],h=a.getNeighborsList().size;r.set(a,a.getNeighborsList().size),1==h&&i.push(a)}var l=[];for(l=l.concat(i);!n;){var g=[];g=g.concat(l),l=[];for(var s=0;s<e.length;s++){var a=e[s],u=e.indexOf(a);u>=0&&e.splice(u,1),a.getNeighborsList().forEach(function(t){if(0>i.indexOf(t)){var e=r.get(t)-1;1==e&&l.push(t),r.set(t,e)}})}i=i.concat(l),(1==e.length||2==e.length)&&(n=!0,o=e[0])}return o},c.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=c},function(t,e,i){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,i){"use strict";var r=i(4);function n(t,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}n.prototype.getWorldOrgX=function(){return this.lworldOrgX},n.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},n.prototype.getWorldOrgY=function(){return this.lworldOrgY},n.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},n.prototype.getWorldExtX=function(){return this.lworldExtX},n.prototype.setWorldExtX=function(t){this.lworldExtX=t},n.prototype.getWorldExtY=function(){return this.lworldExtY},n.prototype.setWorldExtY=function(t){this.lworldExtY=t},n.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},n.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},n.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},n.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},n.prototype.getDeviceExtX=function(){return this.ldeviceExtX},n.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},n.prototype.getDeviceExtY=function(){return this.ldeviceExtY},n.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},n.prototype.transformX=function(t){var e=0,i=this.lworldExtX;return 0!=i&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/i),e},n.prototype.transformY=function(t){var e=0,i=this.lworldExtY;return 0!=i&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/i),e},n.prototype.inverseTransformX=function(t){var e=0,i=this.ldeviceExtX;return 0!=i&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/i),e},n.prototype.inverseTransformY=function(t){var e=0,i=this.ldeviceExtY;return 0!=i&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/i),e},n.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=n},function(t,e,i){"use strict";var r=i(15),n=i(7),o=i(0),s=i(8),a=i(9);function h(){r.call(this),this.useSmartIdealEdgeLengthCalculation=n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=n.DEFAULT_EDGE_LENGTH,this.springConstant=n.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=n.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=n.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=n.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=n.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=n.MAX_ITERATIONS}for(var l in h.prototype=Object.create(r.prototype),r)h[l]=r[l];h.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var t,e,i,r,s,a,h=this.getGraphManager().getAllEdges(),l=0;l<h.length;l++)(t=h[l]).idealLength=this.idealEdgeLength,t.isInterGraph&&(i=t.getSource(),r=t.getTarget(),s=t.getSourceInLca().getEstimatedSize(),a=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=s+a-2*o.SIMPLE_NODE_SIZE),e=t.getLca().getInclusionTreeDepth(),t.idealLength+=n.DEFAULT_EDGE_LENGTH*n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(i.getInclusionTreeDepth()+r.getInclusionTreeDepth()-2*e))},h.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>n.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),i=0;i<e.length;i++)t=e[i],this.calcSpringForce(t,t.idealLength)},h.prototype.calcRepulsionForces=function(){var t,e,i,r,o,s=!(arguments.length>0)||void 0===arguments[0]||arguments[0],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],h=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&s&&this.updateGrid(),o=new Set,t=0;t<h.length;t++)i=h[t],this.calculateRepulsionForceOfANode(i,o,s,a),o.add(i);else for(t=0;t<h.length;t++)for(i=h[t],e=t+1;e<h.length;e++)r=h[e],i.getOwner()==r.getOwner()&&this.calcRepulsionForce(i,r)},h.prototype.calcGravitationalForces=function(){for(var t,e=this.getAllNodesToApplyGravitation(),i=0;i<e.length;i++)t=e[i],this.calcGravitationalForce(t)},h.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e=0;e<t.length;e++)t[e].move()},h.prototype.calcSpringForce=function(t,e){var i,r,n,o,s=t.getSource(),a=t.getTarget();if(this.uniformLeafNodeSizes&&null==s.getChild()&&null==a.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(i=t.getLength())&&(n=(r=this.springConstant*(i-e))*(t.lengthX/i),o=r*(t.lengthY/i),s.springForceX+=n,s.springForceY+=o,a.springForceX-=n,a.springForceY-=o)},h.prototype.calcRepulsionForce=function(t,e){var i,r,o,h,l,g,u,c=t.getRect(),d=e.getRect(),p=[,,],f=[,,,,];if(c.intersects(d)){s.calcSeparationAmount(c,d,p,n.DEFAULT_EDGE_LENGTH/2),g=2*p[0],u=2*p[1];var y=t.noOfChildren*e.noOfChildren/(t.noOfChildren+e.noOfChildren);t.repulsionForceX-=y*g,t.repulsionForceY-=y*u,e.repulsionForceX+=y*g,e.repulsionForceY+=y*u}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==e.getChild()?(i=d.getCenterX()-c.getCenterX(),r=d.getCenterY()-c.getCenterY()):(s.getIntersection(c,d,f),i=f[2]-f[0],r=f[3]-f[1]),Math.abs(i)<n.MIN_REPULSION_DIST&&(i=a.sign(i)*n.MIN_REPULSION_DIST),Math.abs(r)<n.MIN_REPULSION_DIST&&(r=a.sign(r)*n.MIN_REPULSION_DIST),h=Math.sqrt(o=i*i+r*r),g=(l=this.repulsionConstant*t.noOfChildren*e.noOfChildren/o)*i/h,u=l*r/h,t.repulsionForceX-=g,t.repulsionForceY-=u,e.repulsionForceX+=g,e.repulsionForceY+=u},h.prototype.calcGravitationalForce=function(t){var e,i,r,n,o,s,a,h;i=((e=t.getOwner()).getRight()+e.getLeft())/2,r=(e.getTop()+e.getBottom())/2,n=t.getCenterX()-i,o=t.getCenterY()-r,s=Math.abs(n)+t.getWidth()/2,a=Math.abs(o)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(s>(h=e.getEstimatedSize()*this.gravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*n,t.gravitationForceY=-this.gravityConstant*o):(s>(h=e.getEstimatedSize()*this.compoundGravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*n*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},h.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=2>Math.abs(this.totalDisplacement-this.oldTotalDisplacement)),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||e},h.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},h.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,e=this.graphManager.getAllNodes(),i=0;i<e.length;i++)(t=e[i]).noOfChildren=t.getNoOfChildren()},h.prototype.calcGrid=function(t){var e=0,i=0;e=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),i=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var r=Array(e),n=0;n<e;n++)r[n]=Array(i);for(var n=0;n<e;n++)for(var o=0;o<i;o++)r[n][o]=[];return r},h.prototype.addNodeToGrid=function(t,e,i){var r=0,n=0,o=0,s=0;r=parseInt(Math.floor((t.getRect().x-e)/this.repulsionRange)),n=parseInt(Math.floor((t.getRect().width+t.getRect().x-e)/this.repulsionRange)),o=parseInt(Math.floor((t.getRect().y-i)/this.repulsionRange)),s=parseInt(Math.floor((t.getRect().height+t.getRect().y-i)/this.repulsionRange));for(var a=r;a<=n;a++)for(var h=o;h<=s;h++)this.grid[a][h].push(t),t.setGridCoordinates(r,n,o,s)},h.prototype.updateGrid=function(){var t,e,i=this.getAllNodes();for(t=0,this.grid=this.calcGrid(this.graphManager.getRoot());t<i.length;t++)e=i[t],this.addNodeToGrid(e,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},h.prototype.calculateRepulsionForceOfANode=function(t,e,i,r){if(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&i||r){var o,s=new Set;t.surrounding=[];for(var a=this.grid,h=t.startX-1;h<t.finishX+2;h++)for(var l=t.startY-1;l<t.finishY+2;l++)if(!(h<0||l<0||h>=a.length||l>=a[0].length)){for(var g=0;g<a[h][l].length;g++)if(o=a[h][l][g],t.getOwner()==o.getOwner()&&t!=o&&!e.has(o)&&!s.has(o)){var u=Math.abs(t.getCenterX()-o.getCenterX())-(t.getWidth()/2+o.getWidth()/2),c=Math.abs(t.getCenterY()-o.getCenterY())-(t.getHeight()/2+o.getHeight()/2);u<=this.repulsionRange&&c<=this.repulsionRange&&s.add(o)}}t.surrounding=[].concat(function(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}(s))}for(h=0;h<t.surrounding.length;h++)this.calcRepulsionForce(t,t.surrounding[h])},h.prototype.calcRepulsionRange=function(){return 0},t.exports=h},function(t,e,i){"use strict";var r=i(1),n=i(7);function o(t,e,i){r.call(this,t,e,i),this.idealLength=n.DEFAULT_EDGE_LENGTH}for(var s in o.prototype=Object.create(r.prototype),r)o[s]=r[s];t.exports=o},function(t,e,i){"use strict";var r=i(3);function n(t,e,i,n){r.call(this,t,e,i,n),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];n.prototype.setGridCoordinates=function(t,e,i,r){this.startX=t,this.finishX=e,this.startY=i,this.finishY=r},t.exports=n},function(t,e,i){"use strict";function r(t,e){this.width=0,this.height=0,null!==t&&null!==e&&(this.height=e,this.width=t)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},t.exports=r},function(t,e,i){"use strict";var r=i(14);function n(){this.map={},this.keys=[]}n.prototype.put=function(t,e){var i=r.createID(t);this.contains(i)||(this.map[i]=e,this.keys.push(t))},n.prototype.contains=function(t){return r.createID(t),null!=this.map[t]},n.prototype.get=function(t){var e=r.createID(t);return this.map[e]},n.prototype.keySet=function(){return this.keys},t.exports=n},function(t,e,i){"use strict";var r=i(14);function n(){this.set={}}n.prototype.add=function(t){var e=r.createID(t);this.contains(e)||(this.set[e]=t)},n.prototype.remove=function(t){delete this.set[r.createID(t)]},n.prototype.clear=function(){this.set={}},n.prototype.contains=function(t){return this.set[r.createID(t)]==t},n.prototype.isEmpty=function(){return 0===this.size()},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAllTo=function(t){for(var e=Object.keys(this.set),i=e.length,r=0;r<i;r++)t.push(this.set[e[r]])},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAll=function(t){for(var e=t.length,i=0;i<e;i++){var r=t[i];this.add(r)}},t.exports=n},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=i(11);t.exports=function(){function t(e,i){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");(null!==i||void 0!==i)&&(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=e instanceof n?e.size():e.length,this._quicksort(e,0,r-1)}return r(t,[{key:"_quicksort",value:function(t,e,i){if(e<i){var r=this._partition(t,e,i);this._quicksort(t,e,r),this._quicksort(t,r+1,i)}}},{key:"_partition",value:function(t,e,i){for(var r=this._get(t,e),n=e,o=i;;){for(;this.compareFunction(r,this._get(t,o));)o--;for(;this.compareFunction(this._get(t,n),r);)n++;if(!(n<o))return o;this._swap(t,n,o),n++,o--}}},{key:"_get",value:function(t,e){return t instanceof n?t.get_object_at(e):t[e]}},{key:"_set",value:function(t,e,i){t instanceof n?t.set_object_at(e,i):t[e]=i}},{key:"_swap",value:function(t,e,i){var r=this._get(t,e);this._set(t,e,this._get(t,i)),this._set(t,i,r)}},{key:"_defaultCompareFunction",value:function(t,e){return e>t}}]),t}()},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}();t.exports=function(){function t(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.sequence1=e,this.sequence2=i,this.match_score=r,this.mismatch_penalty=n,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=i.length+1,this.grid=Array(this.iMax);for(var s=0;s<this.iMax;s++){this.grid[s]=Array(this.jMax);for(var a=0;a<this.jMax;a++)this.grid[s][a]=0}this.tracebackGrid=Array(this.iMax);for(var h=0;h<this.iMax;h++){this.tracebackGrid[h]=Array(this.jMax);for(var l=0;l<this.jMax;l++)this.tracebackGrid[h][l]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var e=1;e<this.iMax;e++)this.grid[e][0]=this.grid[e-1][0]+this.gap_penalty,this.tracebackGrid[e][0]=[!1,!0,!1];for(var i=1;i<this.iMax;i++)for(var r=1;r<this.jMax;r++){var n=[this.sequence1[i-1]===this.sequence2[r-1]?this.grid[i-1][r-1]+this.match_score:this.grid[i-1][r-1]+this.mismatch_penalty,this.grid[i-1][r]+this.gap_penalty,this.grid[i][r-1]+this.gap_penalty],o=this.arrayAllMaxIndexes(n);this.grid[i][r]=n[o[0]],this.tracebackGrid[i][r]=[o.includes(0),o.includes(1),o.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var e=t[0],i=this.tracebackGrid[e.pos[0]][e.pos[1]];i[0]&&t.push({pos:[e.pos[0]-1,e.pos[1]-1],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),i[1]&&t.push({pos:[e.pos[0]-1,e.pos[1]],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:"-"+e.seq2}),i[2]&&t.push({pos:[e.pos[0],e.pos[1]-1],seq1:"-"+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),0===e.pos[0]&&0===e.pos[1]&&this.alignments.push({sequence1:e.seq1,sequence2:e.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,e){for(var i=[],r=-1;-1!==(r=t.indexOf(e,r+1));)i.push(r);return i}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}()},function(t,e,i){"use strict";var r=function(){};r.FDLayout=i(18),r.FDLayoutConstants=i(7),r.FDLayoutEdge=i(19),r.FDLayoutNode=i(20),r.DimensionD=i(21),r.HashMap=i(22),r.HashSet=i(23),r.IGeometry=i(8),r.IMath=i(9),r.Integer=i(10),r.Point=i(12),r.PointD=i(4),r.RandomSeed=i(16),r.RectangleD=i(13),r.Transform=i(17),r.UniqueIDGeneretor=i(14),r.Quicksort=i(24),r.LinkedList=i(11),r.LGraphObject=i(2),r.LGraph=i(5),r.LEdge=i(1),r.LGraphManager=i(6),r.LNode=i(3),r.Layout=i(15),r.LayoutConstants=i(0),r.NeedlemanWunsch=i(25),t.exports=r},function(t,e,i){"use strict";function r(){this.listeners=[]}var n=r.prototype;n.addListener=function(t,e){this.listeners.push({event:t,callback:e})},n.removeListener=function(t,e){for(var i=this.listeners.length;i>=0;i--){var r=this.listeners[i];r.event===t&&r.callback===e&&this.listeners.splice(i,1)}},n.emit=function(t,e){for(var i=0;i<this.listeners.length;i++){var r=this.listeners[i];t===r.event&&r.callback(e)}},t.exports=r}],e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=26)}()},2180(t,e,i){"use strict";i.r(e),i.d(e,{render:()=>f});var r=i(1293),n=i(6827),o=i(165),s=i(3457),a=i(7829);function h(t,e){t.forEach(t=>{let i={id:t.id,labelText:t.label,height:t.height,width:t.width,padding:t.padding??0};Object.keys(t).forEach(e=>{["id","label","height","width","padding","x","y"].includes(e)||(i[e]=t[e])}),e.add({group:"nodes",data:i,position:{x:t.x??0,y:t.y??0}})})}function l(t,e){t.forEach(t=>{let i={id:t.id,source:t.start,target:t.end};Object.keys(t).forEach(e=>{["id","start","end"].includes(e)||(i[e]=t[e])}),e.add({group:"edges",data:i})})}function g(t){return new Promise(e=>{let i=(0,a.Ltv)("body").append("div").attr("id","cy").attr("style","display:none"),n=(0,o.A)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});i.remove(),h(t.nodes,n),l(t.edges,n),n.nodes().forEach(function(t){t.layoutDimensions=()=>{let e=t.data();return{w:e.width,h:e.height}}}),n.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),n.ready(t=>{r.R.info("Cytoscape ready",t),e(n)})})}function u(t){return t.nodes().map(t=>{let e=t.data(),i=t.position(),r={id:e.id,x:i.x,y:i.y};return Object.keys(e).forEach(t=>{"id"!==t&&(r[t]=e[t])}),r})}function c(t){return t.edges().map(t=>{let e=t.data(),i=t._private.rscratch,r={id:e.id,source:e.source,target:e.target,startX:i.startX,startY:i.startY,midX:i.midX,midY:i.midY,endX:i.endX,endY:i.endY};return Object.keys(e).forEach(t=>{["id","source","target"].includes(t)||(r[t]=e[t])}),r})}async function d(t,e){r.R.debug("Starting cose-bilkent layout algorithm");try{p(t);let e=await g(t),i=u(e),n=c(e);return r.R.debug(`Layout completed: ${i.length} nodes, ${n.length} edges`),{nodes:i,edges:n}}catch(t){throw r.R.error("Error in cose-bilkent layout algorithm:",t),t}}function p(t){if(!t)throw Error("Layout data is required");if(!t.config)throw Error("Configuration is required in layout data");if(!t.rootNode)throw Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw Error("Edges array is required in layout data");return!0}o.A.use(s),(0,n.K)(h,"addNodes"),(0,n.K)(l,"addEdges"),(0,n.K)(g,"createCytoscapeInstance"),(0,n.K)(u,"extractPositionedNodes"),(0,n.K)(c,"extractPositionedEdges"),(0,n.K)(d,"executeCoseBilkentLayout"),(0,n.K)(p,"validateLayoutData");var f=(0,n.K)(async(t,e,{insertCluster:i,insertEdge:r,insertEdgeLabel:n,insertMarkers:o,insertNode:s,log:a,positionEdgeLabel:h},{algorithm:l})=>{let g={},u={},c=e.select("g");o(c,t.markers,t.type,t.diagramId);let p=c.insert("g").attr("class","subgraphs"),f=c.insert("g").attr("class","edgePaths"),y=c.insert("g").attr("class","edgeLabels"),E=c.insert("g").attr("class","nodes");a.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async e=>{if(e.isGroup){let t={...e};u[e.id]=t,g[e.id]=t,await i(p,e)}else{let i={...e};g[e.id]=i;let r=await s(E,e,{config:t.config,dir:t.direction||"TB"}),n=r.node().getBBox();i.width=n.width,i.height=n.height,i.domId=r,a.debug(`Node ${e.id} dimensions: ${n.width}x${n.height}`)}})),a.debug("Running cose-bilkent layout algorithm");let v={...t,nodes:t.nodes.map(t=>{let e=g[t.id];return{...t,width:e.width,height:e.height}})},A=await d(v,t.config);a.debug("Positioning nodes based on layout results"),A.nodes.forEach(t=>{let e=g[t.id];e?.domId&&(e.domId.attr("transform",`translate(${t.x}, ${t.y})`),e.x=t.x,e.y=t.y,a.debug(`Positioned node ${e.id} at center (${t.x}, ${t.y})`))}),A.edges.forEach(e=>{let i=t.edges.find(t=>t.id===e.id);i&&(i.points=[{x:e.startX,y:e.startY},{x:e.midX,y:e.midY},{x:e.endX,y:e.endY}])}),a.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async e=>{await n(y,e);let i=g[e.start??""],o=g[e.end??""];if(i&&o){let n=A.edges.find(t=>t.id===e.id);if(n){a.debug("APA01 positionedEdge",n);let s={...e},l=r(f,s,u,t.type,i,o,t.diagramId);h(s,l)}else{let n={...e,points:[{x:i.x||0,y:i.y||0},{x:o.x||0,y:o.y||0}]},s=r(f,n,u,t.type,i,o,t.diagramId);h(n,s)}}})),a.debug("Cose-bilkent rendering completed")},"render")}}]); \ No newline at end of file diff --git a/assets/js/8665.cdad3879.js b/assets/js/8665.cdad3879.js new file mode 100644 index 0000000..7f15c19 --- /dev/null +++ b/assets/js/8665.cdad3879.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8665"],{6480(e,s,r){r.d(s,{createRailroadAbnfServices:()=>a.s});var a=r(9096);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/8683.9ee3384f.js b/assets/js/8683.9ee3384f.js new file mode 100644 index 0000000..651cad1 --- /dev/null +++ b/assets/js/8683.9ee3384f.js @@ -0,0 +1,226 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8683"],{4918(t,e,s){s.d(e,{o:()=>i});var i=(0,s(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")},2735(t,e,s){s.d(e,{CP:()=>h,Ck:()=>A,HT:()=>p,PB:()=>d,aC:()=>c,lC:()=>u,m:()=>o,tk:()=>l});var i=s(1177),a=s(6827),r=s(6750),n=s(7829),l=(0,a.K)((t,e)=>{let s=t.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),e.name&&s.attr("name",e.name),e.rx&&s.attr("rx",e.rx),e.ry&&s.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)s.attr(t,e.attrs[t]);return e.class&&s.attr("class",e.class),s},"drawRect"),u=(0,a.K)((t,e)=>{l(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),o=(0,a.K)((t,e)=>{let s=e.text.replace(i.H1," "),a=t.append("text");a.attr("x",e.x),a.attr("y",e.y),a.attr("class","legend"),a.style("text-anchor",e.anchor),e.class&&a.attr("class",e.class);let r=a.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(s),a},"drawText"),c=(0,a.K)((t,e,s,i)=>{let a=t.append("image");a.attr("x",e),a.attr("y",s);let n=(0,r.sanitizeUrl)(i);a.attr("xlink:href",n)},"drawImage"),h=(0,a.K)((t,e,s,i)=>{let a=t.append("use");a.attr("x",e),a.attr("y",s);let n=(0,r.sanitizeUrl)(i);a.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),d=(0,a.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,a.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),A=(0,a.K)(()=>{let t=(0,n.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},5869(t,e,s){s.d(e,{P:()=>n});var i=s(1177),a=s(1293),r=s(6827),n=(0,r.K)((t,e,s,r)=>{t.attr("class",s);let{width:n,height:o,x:c,y:h}=l(t,e);(0,i.a$)(t,o,n,r);let d=u(c,h,n,o,e);t.attr("viewBox",d),a.R.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),l=(0,r.K)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),u=(0,r.K)((t,e,s,i,a)=>`${t-a} ${e-a} ${s} ${i}`,"createViewBox")},6755(t,e,s){s.d(e,{A:()=>r});var i=s(6827),a=s(7829),r=(0,i.K)((t,e)=>{let s;return"sandbox"===e&&(s=(0,a.Ltv)("#i"+t)),("sandbox"===e?(0,a.Ltv)(s.nodes()[0].contentDocument.body):(0,a.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},8726(t,e,s){s.d(e,{diagram:()=>B});var i=s(4918),a=s(6755),r=s(5869),n=s(2391);s(3247);var l=s(2735);s(5616),s(6163),s(7827),s(3002),s(739),s(6320),s(2217);var u=s(2941),o=s(6348),c=s(1177),h=s(1293),d=s(6827),p=s(7829),A=s(9418),y=function(){var t=(0,d.K)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[1,18],s=[1,19],i=[1,20],a=[1,41],r=[1,26],n=[1,42],l=[1,24],u=[1,25],o=[1,32],c=[1,33],h=[1,34],p=[1,45],A=[1,35],y=[1,36],g=[1,37],m=[1,38],b=[1,27],C=[1,28],k=[1,29],f=[1,30],E=[1,31],T=[1,44],D=[1,46],F=[1,43],B=[1,47],_=[1,9],$=[1,8,9],x=[1,58],S=[1,59],N=[1,60],L=[1,61],v=[1,62],I=[1,63],w=[1,64],O=[1,8,9,41],R=[1,77],K=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],P=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],M=[13,60,86,100,102,103],G=[13,60,73,74,86,100,102,103],U=[13,60,68,69,70,71,72,86,100,102,103],Y=[1,103],z=[1,121],Q=[1,117],W=[1,113],j=[1,119],X=[1,114],q=[1,115],H=[1,116],V=[1,118],J=[1,120],Z=[22,50,60,61,82,86,87,88,89,90],tt=[1,128],te=[12,39],ts=[1,8,9,39,41,44,46],ti=[1,8,9,22],ta=[1,153],tr=[1,8,9,61],tn=[1,8,9,22,50,60,61,82,86,87,88,89,90],tl={trace:(0,d.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:(0,d.K)(function(t,e,s,i,a,r,n){var l=r.length-1;switch(a){case 8:this.$=r[l-1];break;case 9:case 10:case 13:case 15:case 46:this.$=r[l];break;case 11:case 14:this.$=r[l-2]+"."+r[l];break;case 12:case 16:case 110:this.$=r[l-1]+r[l];break;case 17:case 18:this.$=r[l-1]+"~"+r[l]+"~";break;case 19:i.addRelation(r[l]);break;case 20:r[l-1].title=i.cleanupLabel(r[l]),i.addRelation(r[l-1]);break;case 31:this.$=r[l].trim(),i.setAccTitle(this.$);break;case 32:case 33:this.$=r[l].trim(),i.setAccDescription(this.$);break;case 34:i.addClassesToNamespace(r[l-3],r[l-1][0],r[l-1][1]),i.popNamespace();break;case 35:i.addClassesToNamespace(r[l-4],r[l-1][0],r[l-1][1]),i.popNamespace();break;case 36:this.$=i.addNamespace(r[l]);break;case 37:this.$=i.addNamespace(r[l-1],r[l]);break;case 38:this.$=[[r[l]],[]];break;case 39:this.$=[[r[l-1]],[]];break;case 40:r[l][0].unshift(r[l-2]),this.$=r[l];break;case 41:this.$=[[],[r[l]]];break;case 42:this.$=[[],[r[l-1]]];break;case 43:r[l][1].unshift(r[l-2]),this.$=r[l];break;case 44:case 45:this.$=[[],[]];break;case 48:i.setCssClass(r[l-2],r[l]);break;case 49:i.addMembers(r[l-3],r[l-1]);break;case 51:i.setCssClass(r[l-5],r[l-3]),i.addMembers(r[l-5],r[l-1]);break;case 52:i.addAnnotation(r[l-3],r[l-1]);break;case 53:i.addAnnotation(r[l-6],r[l-4]),i.addMembers(r[l-6],r[l-1]);break;case 54:i.addAnnotation(r[l-5],r[l-3]);break;case 55:this.$=r[l],i.addClass(r[l]);break;case 56:this.$=r[l-1],i.addClass(r[l-1]),i.setClassLabel(r[l-1],r[l]);break;case 60:i.addAnnotation(r[l],r[l-2]);break;case 61:case 74:case 107:this.$=[r[l]];break;case 62:r[l].push(r[l-1]),this.$=r[l];break;case 63:case 65:case 66:break;case 64:i.addMember(r[l-1],i.cleanupLabel(r[l]));break;case 67:this.$={id1:r[l-2],id2:r[l],relation:r[l-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:r[l-3],id2:r[l],relation:r[l-1],relationTitle1:r[l-2],relationTitle2:"none"};break;case 69:this.$={id1:r[l-3],id2:r[l],relation:r[l-2],relationTitle1:"none",relationTitle2:r[l-1]};break;case 70:this.$={id1:r[l-4],id2:r[l],relation:r[l-2],relationTitle1:r[l-3],relationTitle2:r[l-1]};break;case 71:this.$=i.addNote(r[l],r[l-1]);break;case 72:this.$=i.addNote(r[l]);break;case 73:this.$=r[l-2],i.defineClass(r[l-1],r[l]);break;case 75:this.$=r[l-2].concat([r[l]]);break;case 76:i.setDirection("TB");break;case 77:i.setDirection("BT");break;case 78:i.setDirection("RL");break;case 79:i.setDirection("LR");break;case 80:this.$={type1:r[l-2],type2:r[l],lineType:r[l-1]};break;case 81:this.$={type1:"none",type2:r[l],lineType:r[l-1]};break;case 82:this.$={type1:r[l-1],type2:"none",lineType:r[l]};break;case 83:this.$={type1:"none",type2:"none",lineType:r[l]};break;case 84:this.$=i.relationType.AGGREGATION;break;case 85:this.$=i.relationType.EXTENSION;break;case 86:this.$=i.relationType.COMPOSITION;break;case 87:this.$=i.relationType.DEPENDENCY;break;case 88:this.$=i.relationType.LOLLIPOP;break;case 89:this.$=i.lineType.LINE;break;case 90:this.$=i.lineType.DOTTED_LINE;break;case 91:case 97:this.$=r[l-2],i.setClickEvent(r[l-1],r[l]);break;case 92:case 98:this.$=r[l-3],i.setClickEvent(r[l-2],r[l-1]),i.setTooltip(r[l-2],r[l]);break;case 93:this.$=r[l-2],i.setLink(r[l-1],r[l]);break;case 94:this.$=r[l-3],i.setLink(r[l-2],r[l-1],r[l]);break;case 95:this.$=r[l-3],i.setLink(r[l-2],r[l-1]),i.setTooltip(r[l-2],r[l]);break;case 96:this.$=r[l-4],i.setLink(r[l-3],r[l-2],r[l]),i.setTooltip(r[l-3],r[l-1]);break;case 99:this.$=r[l-3],i.setClickEvent(r[l-2],r[l-1],r[l]);break;case 100:this.$=r[l-4],i.setClickEvent(r[l-3],r[l-2],r[l-1]),i.setTooltip(r[l-3],r[l]);break;case 101:this.$=r[l-3],i.setLink(r[l-2],r[l]);break;case 102:this.$=r[l-4],i.setLink(r[l-3],r[l-1],r[l]);break;case 103:this.$=r[l-4],i.setLink(r[l-3],r[l-1]),i.setTooltip(r[l-3],r[l]);break;case 104:this.$=r[l-5],i.setLink(r[l-4],r[l-2],r[l]),i.setTooltip(r[l-4],r[l-1]);break;case 105:this.$=r[l-2],i.setCssStyle(r[l-1],r[l]);break;case 106:i.setCssClass(r[l-1],r[l]);break;case 108:r[l-2].push(r[l]),this.$=r[l-2]}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:s,37:i,38:22,42:a,43:23,46:r,48:n,51:l,52:u,54:o,56:c,57:h,60:p,62:A,63:y,64:g,65:m,75:b,76:C,78:k,82:f,83:E,86:T,100:D,102:F,103:B},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(_,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:x,69:S,70:N,71:L,72:v,73:I,74:w}),{39:[1,65]},t(O,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,65]),t($,[2,66]),{16:69,60:p,86:T,100:D,102:F},{16:39,17:40,19:70,60:p,86:T,100:D,102:F,103:B},{16:39,17:40,19:71,60:p,86:T,100:D,102:F,103:B},{16:39,17:40,19:72,60:p,86:T,100:D,102:F,103:B},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:p,86:T,100:D,102:F,103:B},{13:R,55:76},{58:78,60:[1,79]},t($,[2,76]),t($,[2,77]),t($,[2,78]),t($,[2,79]),t(K,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:p,86:T,100:D,102:F,103:B}),t(K,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:p,86:T,100:D,102:F,103:B},{16:39,17:40,19:87,60:p,86:T,100:D,102:F,103:B},t(P,[2,133]),t(P,[2,134]),t(P,[2,135]),t(P,[2,136]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),t(_,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:s,37:i,42:a,46:r,48:n,51:l,52:u,54:o,56:c,57:h,60:p,62:A,63:y,64:g,65:m,75:b,76:C,78:k,82:f,83:E,86:T,100:D,102:F,103:B}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:s,37:i,38:22,42:a,43:23,46:r,48:n,51:l,52:u,54:o,56:c,57:h,60:p,62:A,63:y,64:g,65:m,75:b,76:C,78:k,82:f,83:E,86:T,100:D,102:F,103:B},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:p,86:T,100:D,102:F,103:B},{53:92,66:56,67:57,68:x,69:S,70:N,71:L,72:v,73:I,74:w},t($,[2,64]),{67:93,73:I,74:w},t(M,[2,83],{66:94,68:x,69:S,70:N,71:L,72:v}),t(G,[2,84]),t(G,[2,85]),t(G,[2,86]),t(G,[2,87]),t(G,[2,88]),t(U,[2,89]),t(U,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:a,43:23,48:n,54:o,56:c},{16:100,60:p,86:T,100:D,102:F},{41:[1,102],45:101,51:Y},{16:104,60:p,86:T,100:D,102:F},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:z,50:Q,59:110,60:W,82:j,84:111,85:112,86:X,87:q,88:H,89:V,90:J},{60:[1,122]},{13:R,55:123},t(O,[2,72]),t(O,[2,138]),{22:z,50:Q,59:124,60:W,61:[1,125],82:j,84:111,85:112,86:X,87:q,88:H,89:V,90:J},t(Z,[2,74]),{16:39,17:40,19:126,60:p,86:T,100:D,102:F,103:B},t(K,[2,16]),t(K,[2,17]),t(K,[2,18]),{11:127,12:tt,39:[2,36]},t(te,[2,9],{16:85,17:86,15:130,18:[1,129],60:p,86:T,100:D,102:F,103:B}),t(te,[2,10]),t(ts,[2,55],{11:131,12:tt}),t(_,[2,7]),{9:[1,132]},t(ti,[2,67]),{16:39,17:40,19:133,60:p,86:T,100:D,102:F,103:B},{13:[1,135],16:39,17:40,19:134,60:p,86:T,100:D,102:F,103:B},t(M,[2,82],{66:136,68:x,69:S,70:N,71:L,72:v}),t(M,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:a,43:23,48:n,54:o,56:c},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},t(O,[2,48],{39:[1,142]}),{41:[1,143]},t(O,[2,50]),{41:[2,61],45:144,51:Y},{47:[1,145]},{16:39,17:40,19:146,60:p,86:T,100:D,102:F,103:B},t($,[2,91],{13:[1,147]}),t($,[2,93],{13:[1,149],77:[1,148]}),t($,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},t($,[2,105],{61:ta}),t(tr,[2,107],{85:154,22:z,50:Q,60:W,82:j,86:X,87:q,88:H,89:V,90:J}),t(tn,[2,109]),t(tn,[2,111]),t(tn,[2,112]),t(tn,[2,113]),t(tn,[2,114]),t(tn,[2,115]),t(tn,[2,116]),t(tn,[2,117]),t(tn,[2,118]),t(tn,[2,119]),t($,[2,106]),t(O,[2,71]),t($,[2,73],{61:ta}),{60:[1,155]},t(K,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:p,86:T,100:D,102:F,103:B},t(te,[2,12]),t(ts,[2,56]),{1:[2,4]},t(ti,[2,69]),t(ti,[2,68]),{16:39,17:40,19:158,60:p,86:T,100:D,102:F,103:B},t(M,[2,80]),t(O,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:a,43:23,48:n,54:o,56:c},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:a,43:23,48:n,54:o,56:c},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:a,43:23,48:n,54:o,56:c},{45:163,51:Y},t(O,[2,49]),{41:[2,62]},t(O,[2,52],{39:[1,164]}),t($,[2,60]),t($,[2,92]),t($,[2,94]),t($,[2,95],{77:[1,165]}),t($,[2,98]),t($,[2,99],{13:[1,166]}),t($,[2,101],{13:[1,168],77:[1,167]}),{22:z,50:Q,60:W,82:j,84:169,85:112,86:X,87:q,88:H,89:V,90:J},t(tn,[2,110]),t(Z,[2,75]),{14:[1,170]},t(te,[2,11]),t(ti,[2,70]),t(O,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:Y},t($,[2,96]),t($,[2,100]),t($,[2,102]),t($,[2,103],{77:[1,174]}),t(tr,[2,108],{85:154,22:z,50:Q,60:W,82:j,86:X,87:q,88:H,89:V,90:J}),t(ts,[2,8]),t(O,[2,51]),{41:[1,175]},t(O,[2,54]),t($,[2,104]),t(O,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:(0,d.K)(function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},"parseError"),parse:(0,d.K)(function(t){var e=this,s=[0],i=[],a=[null],r=[],n=this.table,l="",u=0,o=0,c=0,h=r.slice.call(arguments,1),p=Object.create(this.lexer),A={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(A[y]=this.yy[y]);p.setInput(t,A),A.lexer=p,A.parser=this,void 0===p.yylloc&&(p.yylloc={});var g=p.yylloc;r.push(g);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof A.parseError?this.parseError=A.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,d.K)(function(t){s.length=s.length-2*t,a.length=a.length-t,r.length=r.length-t},"popStack"),(0,d.K)(b,"lex");for(var C,k,f,E,T,D,F,B,_,$={};;){if(f=s[s.length-1],this.defaultActions[f]?E=this.defaultActions[f]:(null==C&&(C=b()),E=n[f]&&n[f][C]),void 0===E||!E.length||!E[0]){var x="";for(D in _=[],n[f])this.terminals_[D]&&D>2&&_.push("'"+this.terminals_[D]+"'");x=p.showPosition?"Parse error on line "+(u+1)+":\n"+p.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[C]||C)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==C?"end of input":"'"+(this.terminals_[C]||C)+"'"),this.parseError(x,{text:p.match,token:this.terminals_[C]||C,line:p.yylineno,loc:g,expected:_})}if(E[0]instanceof Array&&E.length>1)throw Error("Parse Error: multiple actions possible at state: "+f+", token: "+C);switch(E[0]){case 1:s.push(C),a.push(p.yytext),r.push(p.yylloc),s.push(E[1]),C=null,k?(C=k,k=null):(o=p.yyleng,l=p.yytext,u=p.yylineno,g=p.yylloc,c>0&&c--);break;case 2:if(F=this.productions_[E[1]][1],$.$=a[a.length-F],$._$={first_line:r[r.length-(F||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(F||1)].first_column,last_column:r[r.length-1].last_column},m&&($._$.range=[r[r.length-(F||1)].range[0],r[r.length-1].range[1]]),void 0!==(T=this.performAction.apply($,[l,o,u,A,E[1],a,r].concat(h))))return T;F&&(s=s.slice(0,-1*F*2),a=a.slice(0,-1*F),r=r.slice(0,-1*F)),s.push(this.productions_[E[1]][0]),a.push($.$),r.push($._$),B=n[s[s.length-2]][s[s.length-1]],s.push(B);break;case 3:return!0}}return!0},"parse")};function tu(){this.yy={}}return tl.lexer={EOF:1,parseError:(0,d.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,d.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,d.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,d.K)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,d.K)(function(){return this._more=!0,this},"more"),reject:(0,d.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,d.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,d.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,d.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,d.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,d.K)(function(t,e){var s,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var r in a)this[r]=a[r];return!1},"test_match"),next:(0,d.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,a=this._currentRules(),r=0;r<a.length;r++)if((s=this._input.match(this.rules[a[r]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,a[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,d.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,d.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,d.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,d.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,d.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,d.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,d.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,d.K)(function(t,e,s,i){switch(s){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:case 5:case 14:case 31:case 37:case 41:case 48:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 59:case 62:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 36:return 8;case 15:case 16:return 7;case 17:case 38:case 46:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 23:return 80;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:case 40:return this.popState(),8;case 32:return this.begin("namespace-body"),39;case 33:this.popState(),this.less(0);break;case 34:case 44:return this.popState(),41;case 35:case 45:return"EOF_IN_STRUCT";case 39:return this.begin("class"),48;case 42:return this.popState(),this.popState(),41;case 43:return this.begin("class-body"),39;case 47:return"OPEN_IN_STRUCT";case 49:return"MEMBER";case 50:return 83;case 51:return 75;case 52:return 76;case 53:return 78;case 54:return 54;case 55:return 56;case 56:return 46;case 57:return 47;case 58:return 81;case 60:return"GENERICTYPE";case 61:this.begin("generic");break;case 63:return"BQUOTE_STR";case 64:this.begin("bqstring");break;case 65:case 66:case 67:case 68:return 77;case 69:case 70:return 69;case 71:case 72:return 71;case 73:return 70;case 74:return 68;case 75:return 72;case 76:return 73;case 77:return 74;case 78:return 22;case 79:return 44;case 80:return 100;case 81:return 18;case 82:return"PLUS";case 83:return 87;case 84:return 61;case 85:case 86:return 89;case 87:return 90;case 88:case 89:return"EQUALS";case 90:return 60;case 91:return 12;case 92:return 14;case 93:return"PUNCTUATION";case 94:return 86;case 95:return 102;case 96:case 97:return 50;case 98:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,29,34,35,36,37,38,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},namespace:{rules:[26,29,30,31,32,33,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},"class-body":{rules:[26,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},class:{rules:[26,40,41,42,43,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr:{rules:[9,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_title:{rules:[7,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_args:{rules:[22,23,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_name:{rules:[19,20,21,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},href:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},struct:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},generic:{rules:[26,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},bqstring:{rules:[26,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},string:{rules:[24,25,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],inclusive:!0}}},(0,d.K)(tu,"Parser"),tu.prototype=tl,tl.Parser=tu,new tu}();y.parser=y;var g=["#","+","~","-",""],m=class{static{(0,d.K)(this,"ClassMember")}constructor(t,e){this.memberType=e,this.visibility="",this.classifier="",this.text="";let s=(0,c.jZ)(t,(0,c.D7)());this.parseMember(s)}getDisplayDetails(){let t=this.visibility+(0,c.QO)(this.id);return"method"===this.memberType&&(t+=`(${(0,c.QO)(this.parameters.trim())})`,this.returnType&&(t+=" : "+(0,c.QO)(this.returnType))),{displayText:t=t.trim(),cssStyle:this.parseClassifier()}}parseMember(t){let e="";if("method"===this.memberType){let s=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(t);if(s){let t=s[1]?s[1].trim():"";if(g.includes(t)&&(this.visibility=t),this.id=s[2],this.parameters=s[3]?s[3].trim():"",e=s[4]?s[4].trim():"",this.returnType=s[5]?s[5].trim():"",""===e){let t=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(t)&&(e=t,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let s=t.length,i=t.substring(0,1),a=t.substring(s-1);g.includes(i)&&(this.visibility=i),/[$*]/.exec(a)&&(e=a),this.id=t.substring(+(""!==this.visibility),""===e?s:s-1)}this.classifier=e,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let s=`${this.visibility?"\\"+this.visibility:""}${(0,c.QO)(this.id)}${"method"===this.memberType?`(${(0,c.QO)(this.parameters)})${this.returnType?" : "+(0,c.QO)(this.returnType):""}`:""}`;this.text=s.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},b="classId-",C=0,k=(0,d.K)(t=>c.Y2.sanitizeText(t,(0,c.D7)()),"sanitizeText"),f=class t{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=(0,d.K)(t=>{let e=(0,l.Ck)();(0,p.Ltv)(t).select("svg").selectAll("g").filter(function(){return null!==(0,p.Ltv)(this).attr("title")}).on("mouseover",t=>{let s=(0,p.Ltv)(t.currentTarget),i=s.attr("title");if(!i)return;let a=t.currentTarget.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(A.A.sanitize(i)).style("left",`${window.scrollX+a.left+a.width/2}px`).style("top",`${window.scrollY+a.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",t=>{e.transition().duration(500).style("opacity",0),(0,p.Ltv)(t.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=c.SV,this.getAccTitle=c.iN,this.setAccDescription=c.EI,this.getAccDescription=c.m7,this.setDiagramTitle=c.ke,this.getDiagramTitle=c.ab,this.getConfig=(0,d.K)(()=>(0,c.D7)().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.popNamespace=this.popNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{(0,d.K)(this,"ClassDB")}splitClassNameAndType(t){let e=c.Y2.sanitizeText(t,(0,c.D7)()),s="",i=e;if(e.indexOf("~")>0){let t=e.split("~");i=k(t[0]),s=k(t[1])}return{className:i,type:s}}setClassLabel(t,e){let s=c.Y2.sanitizeText(t,(0,c.D7)());e&&(e=k(e));let{className:i}=this.splitClassNameAndType(s);this.classes.get(i).label=e,this.classes.get(i).text=`${e}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(t){let e=c.Y2.sanitizeText(t,(0,c.D7)()),{className:s,type:i}=this.splitClassNameAndType(e);if(this.classes.has(s))return;let a=c.Y2.sanitizeText(s,(0,c.D7)());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:b+a+"-"+C}),C++}addInterface(t,e){let s={id:`interface${this.interfaces.length}`,label:t,classId:e};this.interfaces.push(s)}setDiagramId(t){this.diagramId=t}lookUpDomId(t){let e=c.Y2.sanitizeText(t,(0,c.D7)());if(this.classes.has(e)){let t=this.classes.get(e).domId;return this.diagramId?`${this.diagramId}-${t}`:t}throw Error("Class not found: "+e)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.direction="TB",(0,c.IU)()}getClass(t){return this.classes.get(t)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(t){let e="number"==typeof t?`note${t}`:t;return this.notes.get(e)}getNotes(){return this.notes}addRelation(t){h.R.debug("Adding relation: "+JSON.stringify(t));let e=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];t.relation.type1!==this.relationType.LOLLIPOP||e.includes(t.relation.type2)?t.relation.type2!==this.relationType.LOLLIPOP||e.includes(t.relation.type1)?(this.addClass(t.id1),this.addClass(t.id2)):(this.addClass(t.id1),this.addInterface(t.id2,t.id1),t.id2=`interface${this.interfaces.length-1}`):(this.addClass(t.id2),this.addInterface(t.id1,t.id2),t.id1=`interface${this.interfaces.length-1}`),t.id1=this.splitClassNameAndType(t.id1).className,t.id2=this.splitClassNameAndType(t.id2).className,t.relationTitle1=c.Y2.sanitizeText(t.relationTitle1.trim(),(0,c.D7)()),t.relationTitle2=c.Y2.sanitizeText(t.relationTitle2.trim(),(0,c.D7)()),this.relations.push(t)}addAnnotation(t,e){let s=this.splitClassNameAndType(t).className;this.classes.get(s).annotations.push(e)}addMember(t,e){this.addClass(t);let s=this.splitClassNameAndType(t).className,i=this.classes.get(s);if("string"==typeof e){let t=e.trim();t.startsWith("<<")&&t.endsWith(">>")?i.annotations.push(k(t.substring(2,t.length-2))):t.indexOf(")")>0?i.methods.push(new m(t,"method")):t&&i.members.push(new m(t,"attribute"))}}addMembers(t,e){Array.isArray(e)&&(e.reverse(),e.forEach(e=>this.addMember(t,e)))}addNote(t,e){let s=this.notes.size,i={id:`note${s}`,class:e,text:t,index:s};return this.notes.set(i.id,i),i.id}cleanupLabel(t){return t.startsWith(":")&&(t=t.substring(1)),k(t.trim())}setCssClass(t,e){t.split(",").forEach(t=>{let s=t;/\d/.exec(t[0])&&(s=b+s),s=this.splitClassNameAndType(s).className;let i=this.classes.get(s);i&&(i.cssClasses+=" "+e)})}defineClass(t,e){for(let s of t){let t=this.styleClasses.get(s);void 0===t&&(t={id:s,styles:[],textStyles:[]},this.styleClasses.set(s,t)),e&&e.forEach(e=>{if(/color/.exec(e)){let s=e.replace("fill","bgFill");t.textStyles.push(s)}t.styles.push(e)}),this.classes.forEach(t=>{t.cssClasses.includes(s)&&t.styles.push(...e.flatMap(t=>t.split(",")))})}}setTooltip(t,e){t.split(",").forEach(t=>{if(void 0!==e){let s=this.splitClassNameAndType(t).className,i=this.classes.get(s);i&&(i.tooltip=k(e))}})}getTooltip(t,e){return e&&this.namespaces.has(e)?this.namespaces.get(e).classes.get(t).tooltip:this.classes.get(t).tooltip}setLink(t,e,s){let i=(0,c.D7)();t.split(",").forEach(t=>{let a=t;/\d/.exec(t[0])&&(a=b+a),a=this.splitClassNameAndType(a).className;let r=this.classes.get(a);r&&(r.link=o._K.formatUrl(e,i),"sandbox"===i.securityLevel?r.linkTarget="_top":"string"==typeof s?r.linkTarget=k(s):r.linkTarget="_blank")}),this.setCssClass(t,"clickable")}setClickEvent(t,e,s){t.split(",").forEach(t=>{this.setClickFunc(t,e,s);let i=this.splitClassNameAndType(t).className,a=this.classes.get(i);a&&(a.haveCallback=!0)}),this.setCssClass(t,"clickable")}setClickFunc(t,e,s){let i=c.Y2.sanitizeText(t,(0,c.D7)());if("loose"!==(0,c.D7)().securityLevel||void 0===e)return;let a=this.splitClassNameAndType(i).className;if(this.classes.has(a)){let t=[];if("string"==typeof s){t=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<t.length;e++){let s=t[e].trim();s.startsWith('"')&&s.endsWith('"')&&(s=s.substr(1,s.length-2)),t[e]=s}}0===t.length&&t.push(a),this.functions.push(()=>{let s=this.lookUpDomId(a),i=document.querySelector(`[id="${s}"]`);null!==i&&i.addEventListener("click",()=>{o._K.runFunc(e,...t)},!1)})}}bindFunctions(t){this.functions.forEach(e=>{e(t)})}escapeHtml(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(t){this.direction=t}static resolveQualifiedId(t,e){let s=e.at(-1);return s?`${s}.${t}`:t}static getAncestorIds(t){let e=t.split("."),s=Array(e.length);s[0]=e[0];for(let t=1;t<e.length;t++)s[t]=`${s[t-1]}.${e[t]}`;return s}createNamespaceNode(t,e,s,i=!1){return{id:t,label:e,classes:new Map,notes:new Map,children:new Map,domId:b+t+"-"+this.namespaceCounter++,parent:s,explicit:i}}linkParentChild(t,e){let s=this.namespaces.get(t),i=this.namespaces.get(e);s&&i&&(s.children.has(e)||s.children.set(e,i),i.parent??=t)}addNamespace(e,s){let i=t.resolveQualifiedId(e,this.namespaceStack);if(this.namespaceStack.push(i),this.namespaces.has(i)){let t=this.namespaces.get(i);return t.explicit=!0,s&&(t.label=s),i}let a=i.split("."),r=t.getAncestorIds(i);for(let t=0;t<r.length;t++){let e=r[t],i=t>0?r[t-1]:void 0,n=t===r.length-1,l=n&&s?s:a[t];this.namespaces.has(e)?n&&(this.namespaces.get(e).explicit=!0):this.namespaces.set(e,this.createNamespaceNode(e,l,i,n)),i&&this.linkParentChild(i,e)}return i}popNamespace(){this.namespaceStack.pop()}getNamespace(t){return this.namespaces.get(t)}getNamespaces(){return this.namespaces}addClassesToNamespace(t,e,s){if(this.namespaces.has(t)){for(let s of e){let{className:e}=this.splitClassNameAndType(s),i=this.getClass(e);i.parent=t,this.namespaces.get(t).classes.set(e,i)}for(let e of s){let s=this.getNote(e);s.parent=t,this.namespaces.get(t).notes.set(e,s)}}}setCssStyle(t,e){let s=this.classes.get(t);if(e&&s)for(let t of e)t.includes(",")?s.styles.push(...t.split(",")):s.styles.push(t)}getArrowMarker(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}resolveExplicitAncestor(t){let e=t;for(;e;){let t=this.namespaces.get(e);if(!t)break;if(t.explicit)return e;e=t.parent}}getData(){let t=[],e=[],s=(0,c.D7)(),i=s.class?.hierarchicalNamespaces??!0;for(let e of this.namespaces.values()){if(!i&&!e.explicit)continue;let a={id:e.id,label:i?e.label:e.id,isGroup:!0,padding:s.class.padding??16,shape:"rect",cssStyles:[],look:s.look,parentId:i?e.parent:void 0};t.push(a)}let a=0;for(let e of this.classes.values()){let r=i?e.parent:this.resolveExplicitAncestor(e.parent),n={...e,type:void 0,isGroup:!1,parentId:r,look:s.look,colorIndex:a++};t.push(n)}for(let a of this.notes.values()){let r=i?a.parent:this.resolveExplicitAncestor(a.parent),n={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:s.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${s.themeVariables.noteBkgColor}`,`stroke: ${s.themeVariables.noteBorderColor}`],look:s.look,parentId:r,labelType:"markdown"};t.push(n);let l=this.classes.get(a.class)?.id;if(l){let t={id:`edgeNote${a.index}`,start:a.id,end:l,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:s.look};e.push(t)}}for(let e of this.interfaces){let i={id:e.id,label:e.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:s.look};t.push(i)}let r=0;for(let t of this.relations){r++;let i={id:(0,o.rY)(t.id1,t.id2,{prefix:"id",counter:r}),start:t.id1,end:t.id2,type:"normal",label:t.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(t.relation.type1),arrowTypeEnd:this.getArrowMarker(t.relation.type2),startLabelRight:"none"===t.relationTitle1?"":t.relationTitle1,endLabelLeft:"none"===t.relationTitle2?"":t.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:t.style||"",pattern:1==t.relation.lineType?"dashed":"solid",look:s.look,labelType:"markdown"};e.push(i)}return{nodes:t,edges:e,other:{},config:s,direction:this.getDirection()}}},E=(0,d.K)(t=>{let{theme:e,bkgColorArray:s,borderColorArray:i}=t;if(!(0,u.P1)(e,i))return"";let a=(0,u.rq)(t.look),r=(0,u.Ic)(s),n="";for(let e=0;e<(0,u.nw)(t.THEME_COLOR_LIMIT,i);e++){let t=i[e%i.length];n+=` + + [data-look="${a}"][data-color-id="color-${e}"].node .outer-path path { + stroke: ${t}; + ${r?`fill: ${s[e%s.length]};`:""} + } + + [data-look="${a}"][data-color-id="color-${e}"].node .divider path { + stroke: ${t}; + } + `}return n},"genColor"),T=(0,d.K)(t=>`${E(t)} + g.classGroup text { + fill: ${t.nodeBorder||t.classText}; + stroke: none; + font-family: ${t.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + +.nodeLabel, .edgeLabel { + color: ${t.classText}; +} + +.noteLabel .nodeLabel, .noteLabel .edgeLabel { + color: ${t.noteTextColor}; +} +.edgeLabel .label rect { + fill: ${t.mainBkg}; +} +.label text { + fill: ${t.classText}; +} + +.labelBkg { + background: ${t.mainBkg}; +} +.edgeLabel .label span { + background: ${t.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: ${t.strokeWidth}; + } + + +.divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.classGroup line { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${t.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth}; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +[id$="-compositionStart"], .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-compositionEnd"], .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-dependencyStart"], .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-dependencyEnd"], .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-extensionStart"], .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-extensionEnd"], .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-aggregationStart"], .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-aggregationEnd"], .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-lollipopStart"], .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-lollipopEnd"], .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} + +.edgeLabel[data-look="neo"] { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} + ${(0,i.o)()} +`,"getStyles"),D=(0,d.K)((t,e="TB")=>{if(!t.doc)return e;let s=e;for(let e of t.doc)"dir"===e.stmt&&(s=e.value);return s},"getDir"),F=(0,d.K)(function(t,e){return e.db.getClasses()},"getClasses"),B={parser:y,get db(){return new f},renderer:{getClasses:F,draw:(0,d.K)(async function(t,e,s,i){h.R.info("REF0:"),h.R.info("Drawing class diagram (v3)",e);let{securityLevel:l,state:u,layout:d}=(0,c.D7)();i.db.setDiagramId(e);let p=i.db.getData(),A=(0,a.A)(e,l);p.type=i.type,p.layoutAlgorithm=(0,n.q7)(d),p.nodeSpacing=u?.nodeSpacing||50,p.rankSpacing=u?.rankSpacing||50,p.markers=["aggregation","extension","composition","dependency","lollipop"],p.diagramId=e,await (0,n.XX)(p,A),o._K.insertTitle(A,"classDiagramTitleText",u?.titleTopMargin??25,i.db.getDiagramTitle()),(0,r.P)(A,8,"classDiagram",u?.useMaxWidth??!0)},"draw"),getDir:D},styles:T,init:(0,d.K)(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}}}]); \ No newline at end of file diff --git a/assets/js/8738.3885adf6.js b/assets/js/8738.3885adf6.js new file mode 100644 index 0000000..581296d --- /dev/null +++ b/assets/js/8738.3885adf6.js @@ -0,0 +1,86 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8738"],{1578(e,t,r){r.d(t,{$:()=>O,U:()=>j,db:()=>S});var i=r(4924),a=r(1177),n=r(1293),o=r(6827),l="",s="",d="",m=[],c=new Map,h=(0,o.K)(e=>(0,a.jZ)(e,(0,a.D7)()),"sanitizeText"),p=(0,o.K)(e=>{switch(e.type){case"terminal":return{...e,value:h(e.value)};case"nonterminal":return{...e,name:h(e.name)};case"sequence":return{...e,elements:e.elements.map(p)};case"choice":return{...e,alternatives:e.alternatives.map(p)};case"optional":return{...e,element:p(e.element)};case"repetition":return{...e,element:p(e.element),separator:e.separator?p(e.separator):void 0};case"special":return{...e,text:h(e.text)}}},"sanitizeAstNode"),u=(0,o.K)(()=>{l="",s="",d="",m.length=0,c.clear(),(0,a.IU)(),n.R.debug("[Railroad] Database cleared")},"clear"),g=(0,o.K)(e=>{l=h(e),n.R.debug("[Railroad] Title set:",e)},"setTitle"),T=(0,o.K)(()=>l,"getTitle"),f=(0,o.K)(e=>{let t={...e,name:h(e.name),definition:p(e.definition),comment:e.comment?h(e.comment):void 0};n.R.debug("[Railroad] Adding rule:",t.name),c.has(t.name)&&n.R.warn(`[Railroad] Rule '${t.name}' is already defined. Overwriting.`),m.push(t),c.set(t.name,t)},"addRule"),x=(0,o.K)(()=>m,"getRules"),w=(0,o.K)(e=>c.get(e),"getRule"),k=(0,o.K)(e=>{s=h(e).replace(/^\s+/g,""),n.R.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),C=(0,o.K)(()=>s,"getAccTitle"),$=(0,o.K)(e=>{d=h(e).replace(/\n\s+/g,"\n"),n.R.debug("[Railroad] Accessibility description set:",e)},"setAccDescription"),S={clear:u,setTitle:g,getTitle:T,addRule:f,getRules:x,getRule:w,setAccTitle:k,getAccTitle:C,setAccDescription:$,getAccDescription:(0,o.K)(()=>d,"getAccDescription"),setDiagramTitle:g,getDiagramTitle:T},F={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},y=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,R=/^[\w "',.-]+$/,b=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),v=(0,o.K)(e=>!!e&&Object.keys(e).every(e=>"railroad"===e||b.has(e)),"isRailroadStyleOptions"),z=(0,o.K)(e=>e?"railroad"in e&&e.railroad?e.railroad:v(e)?e:{}:{},"extractRailroadOverrides"),K=(0,o.K)(e=>{if(!e||v(e))return{};let{railroad:t,svgId:r,theme:i,look:a,...n}=e;return n},"extractThemeOverrides"),M=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return y.test(r)?r:t},"sanitizeColorValue"),N=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return R.test(r)?r:t},"sanitizeFontFamilyValue"),A=(0,o.K)((e,t)=>{let r="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(r)&&r>=0?r:t},"sanitizeNumberValue"),D=(0,o.K)(e=>{let t="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(t)&&t>0?t:void 0},"parseThemeFontSize"),B=(0,o.K)(e=>{let t=N(e.fontFamily,F.fontFamily),r=D(e.fontSize)??F.fontSize;return{...F,fontFamily:t,fontSize:r,terminalFill:M(e.secondBkg??e.secondaryColor,F.terminalFill),terminalStroke:M(e.secondaryBorderColor??e.lineColor,F.terminalStroke),terminalTextColor:M(e.secondaryTextColor??e.textColor,F.terminalTextColor),nonTerminalFill:M(e.mainBkg??e.background,F.nonTerminalFill),nonTerminalStroke:M(e.primaryBorderColor??e.lineColor,F.nonTerminalStroke),nonTerminalTextColor:M(e.primaryTextColor??e.textColor,F.nonTerminalTextColor),lineColor:M(e.lineColor,F.lineColor),markerFill:M(e.lineColor,F.markerFill),commentFill:M(e.labelBackground??e.tertiaryColor,F.commentFill),commentStroke:M(e.tertiaryBorderColor??e.lineColor,F.commentStroke),commentTextColor:M(e.tertiaryTextColor??e.textColor,F.commentTextColor),specialFill:M(e.tertiaryColor??e.secondaryColor,F.specialFill),specialStroke:M(e.tertiaryBorderColor??e.secondaryBorderColor,F.specialStroke),ruleNameColor:M(e.titleColor??e.textColor,F.ruleNameColor)}},"buildThemeDefaults"),E=(0,o.K)(e=>{let t=(0,a.zj)(),r=B({...(0,a.P$)(),...t.themeVariables??{},...K(e)}),i={...t.railroad??{},...z(e)};return{compactMode:i.compactMode??r.compactMode,padding:A(i.padding,r.padding),verticalSeparation:A(i.verticalSeparation,r.verticalSeparation),horizontalSeparation:A(i.horizontalSeparation,r.horizontalSeparation),arcRadius:A(i.arcRadius,r.arcRadius),fontSize:A(i.fontSize,r.fontSize),fontFamily:N(i.fontFamily,r.fontFamily),terminalFill:M(i.terminalFill,r.terminalFill),terminalStroke:M(i.terminalStroke,r.terminalStroke),terminalTextColor:M(i.terminalTextColor,r.terminalTextColor),nonTerminalFill:M(i.nonTerminalFill,r.nonTerminalFill),nonTerminalStroke:M(i.nonTerminalStroke,r.nonTerminalStroke),nonTerminalTextColor:M(i.nonTerminalTextColor,r.nonTerminalTextColor),lineColor:M(i.lineColor,r.lineColor),strokeWidth:A(i.strokeWidth,r.strokeWidth),markerFill:M(i.markerFill,r.markerFill),commentFill:M(i.commentFill,r.commentFill),commentStroke:M(i.commentStroke,r.commentStroke),commentTextColor:M(i.commentTextColor,r.commentTextColor),specialFill:M(i.specialFill,r.specialFill),specialStroke:M(i.specialStroke,r.specialStroke),ruleNameColor:M(i.ruleNameColor,r.ruleNameColor),showMarkers:i.showMarkers??r.showMarkers,markerRadius:A(i.markerRadius,r.markerRadius)}},"buildRailroadStyleOptions"),O=(0,o.K)(e=>{let{fontFamily:t,fontSize:r,terminalFill:i,terminalStroke:a,terminalTextColor:n,nonTerminalFill:o,nonTerminalStroke:l,nonTerminalTextColor:s,lineColor:d,strokeWidth:m,markerFill:c,commentFill:h,commentStroke:p,commentTextColor:u,specialFill:g,specialStroke:T,ruleNameColor:f}=E(e);return` + .railroad-diagram { + font-family: ${t}; + font-size: ${r}px; + } + + .railroad-terminal rect { + fill: ${i}; + stroke: ${a}; + stroke-width: ${m}px; + } + + .railroad-terminal text { + fill: ${n}; + font-family: ${t}; + font-size: ${r}px; + text-anchor: middle; + dominant-baseline: middle; + } + + .railroad-nonterminal rect { + fill: ${o}; + stroke: ${l}; + stroke-width: ${m}px; + } + + .railroad-nonterminal text { + fill: ${s}; + font-family: ${t}; + font-size: ${r}px; + text-anchor: middle; + dominant-baseline: middle; + } + + .railroad-line { + stroke: ${d}; + stroke-width: ${m}px; + fill: none; + } + + .railroad-start circle, + .railroad-end circle { + fill: ${c}; + } + + .railroad-comment ellipse { + fill: ${h}; + stroke: ${p}; + stroke-width: ${m}px; + } + + .railroad-comment text { + fill: ${u}; + font-style: italic; + font-family: ${t}; + font-size: ${r}px; + text-anchor: middle; + dominant-baseline: middle; + } + + .railroad-special rect { + fill: ${g}; + stroke: ${T}; + stroke-width: ${m}px; + stroke-dasharray: 5,3; + } + + .railroad-special text { + fill: ${s}; + font-family: ${t}; + font-size: ${r}px; + text-anchor: middle; + dominant-baseline: middle; + } + + .railroad-rule-name { + font-weight: bold; + fill: ${f}; + font-family: ${t}; + font-size: ${r}px; + } + + .railroad-group { + /* Grouping container, no specific styles */ + } +`},"getStyles"),q=class{constructor(){this.d=""}static{(0,o.K)(this,"PathBuilder")}moveTo(e,t){return this.d+=`M ${e} ${t} `,this}lineTo(e,t){return this.d+=`L ${e} ${t} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,t,r,i,a,n,o){return this.d+=`A ${e} ${t} ${r} ${+!!i} ${+!!a} ${n} ${o} `,this}build(){return this.d.trim()}},W=class{constructor(e,t=E()){this.textCache=new Map,this.svg=e,this.config=t}static{(0,o.K)(this,"RailroadRenderer")}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);let t=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(e),r=t.node().getBBox(),i={width:r.width,height:r.height};return t.remove(),this.textCache.set(e,i),i}renderTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-terminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a).attr("rx",10).attr("ry",10),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderNonTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-nonterminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderSequence(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0,n=0;for(let e of r)i+=e.dimensions.width,a=Math.max(a,e.dimensions.up),n=Math.max(n,e.dimensions.down);i+=(r.length-1)*this.config.horizontalSeparation;let o=e.append("g").attr("class","railroad-sequence"),l=0;for(let e=0;e<r.length;e++){let t=r[e],i=a-t.dimensions.up;if(o.node().appendChild(t.element).setAttribute("transform",`translate(${l}, ${i})`),e<r.length-1){let e=l+t.dimensions.width,r=e+this.config.horizontalSeparation,i=a;o.append("path").attr("class","railroad-line").attr("d",new q().moveTo(e,i).lineTo(r,i).build())}l+=t.dimensions.width+this.config.horizontalSeparation}return{element:o.node(),dimensions:{width:i,height:a+n,up:a,down:n}}}renderChoice(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0;for(let e of r)i=Math.max(i,e.dimensions.width),a+=e.dimensions.height;a+=(r.length-1)*this.config.verticalSeparation;let n=this.config.arcRadius,o=i+4*n,l=e.append("g").attr("class","railroad-choice"),s=0,d=a/2;for(let e of r){let t=s,r=t+e.dimensions.up,a=2*n+(i-e.dimensions.width)/2;l.node().appendChild(e.element).setAttribute("transform",`translate(${a}, ${t})`);let m=new q,c=r>d;r===d?m.moveTo(0,d).lineTo(a,r):m.moveTo(0,d).arcTo(n,n,0,!1,c,n,d+(c?n:-n)).lineTo(n,r-(c?n:-n)).arcTo(n,n,0,!1,!c,2*n,r).lineTo(a,r),l.append("path").attr("class","railroad-line").attr("d",m.build());let h=new q,p=a+e.dimensions.width,u=o-2*n;r===d?h.moveTo(p,r).lineTo(o,d):h.moveTo(p,r).lineTo(u,r).arcTo(n,n,0,!1,!c,o-n,r+(c?-n:n)).lineTo(o-n,d+(c?n:-n)).arcTo(n,n,0,!1,c,o,d),l.append("path").attr("class","railroad-line").attr("d",h.build()),s+=e.dimensions.height+this.config.verticalSeparation}return{element:l.node(),dimensions:{width:o,height:a,up:d,down:a-d}}}renderOptional(e,t){let r=this.renderExpression(e,t),i=this.config.arcRadius,a=2*i,n=r.dimensions.width+4*i,o=r.dimensions.height+a,l=e.append("g").attr("class","railroad-optional"),s=2*i;l.node().appendChild(r.element).setAttribute("transform",`translate(${s}, ${a})`);let d=a+r.dimensions.up,m=new q().moveTo(0,d).lineTo(2*i,d);l.append("path").attr("class","railroad-line").attr("d",m.build());let c=new q().moveTo(s+r.dimensions.width,d).lineTo(n,d);l.append("path").attr("class","railroad-line").attr("d",c.build());let h=new q().moveTo(0,d).arcTo(i,i,0,!1,!1,i,d-i).lineTo(i,i).arcTo(i,i,0,!1,!0,2*i,0).lineTo(n-2*i,0).arcTo(i,i,0,!1,!0,n-i,i).lineTo(n-i,d-i).arcTo(i,i,0,!1,!1,n,d);return l.append("path").attr("class","railroad-line").attr("d",h.build()),{element:l.node(),dimensions:{width:n,height:o,up:d,down:o-d}}}renderRepetition(e,t,r){let i=this.renderExpression(e,t),a=this.config.arcRadius,n=2*a,o=i.dimensions.width+4*a,l=0===r,s=i.dimensions.height+n+(l?n:0),d=e.append("g").attr("class","railroad-repetition"),m=2*a,c=l?n:0;d.node().appendChild(i.element).setAttribute("transform",`translate(${m}, ${c})`);let h=c+i.dimensions.up;d.append("path").attr("class","railroad-line").attr("d",new q().moveTo(0,h).lineTo(2*a,h).build()),d.append("path").attr("class","railroad-line").attr("d",new q().moveTo(m+i.dimensions.width,h).lineTo(o,h).build());let p=c+i.dimensions.height+a,u=new q().moveTo(m+i.dimensions.width,h).arcTo(a,a,0,!1,!0,m+i.dimensions.width+a,h+a).lineTo(m+i.dimensions.width+a,p).arcTo(a,a,0,!1,!0,m+i.dimensions.width,p+a).lineTo(2*a,p+a).arcTo(a,a,0,!1,!0,a,p).lineTo(a,h+a).arcTo(a,a,0,!1,!0,2*a,h);if(d.append("path").attr("class","railroad-line").attr("d",u.build()),l){let e=new q().moveTo(0,h).arcTo(a,a,0,!1,!1,a,h-a).lineTo(a,a).arcTo(a,a,0,!1,!0,2*a,0).lineTo(o-2*a,0).arcTo(a,a,0,!1,!0,o-a,a).lineTo(o-a,h-a).arcTo(a,a,0,!1,!1,o,h);d.append("path").attr("class","railroad-line").attr("d",e.build())}return{element:d.node(),dimensions:{width:o,height:s,up:h,down:s-h}}}renderSpecial(e,t){let r=this.measureText("? "+t+" ?"),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-special");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text("? "+t+" ?"),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderExpression(e,t){switch(t.type){case"terminal":return this.renderTerminal(e,t.value);case"nonterminal":return this.renderNonTerminal(e,t.name);case"sequence":return this.renderSequence(e,t.elements);case"choice":return this.renderChoice(e,t.alternatives);case"optional":return this.renderOptional(e,t.element);case"repetition":return this.renderRepetition(e,t.element,t.min);case"special":return this.renderSpecial(e,t.text);default:throw Error(`Unknown node type: ${t.type}`)}}renderRule(e,t){let r=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${t})`),i=e.name+" =",a=this.measureText(i).width+20,n=a+20,o=r.append("g"),l=this.renderExpression(o,e.definition),s=Math.max(20,l.dimensions.up),d=s-l.dimensions.up;return o.attr("transform",`translate(${n}, ${d})`),r.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",s).text(i),r.append("g").attr("class","railroad-start").append("circle").attr("cx",a).attr("cy",s).attr("r",this.config.markerRadius),r.append("g").attr("class","railroad-end").append("circle").attr("cx",n+l.dimensions.width+10).attr("cy",s).attr("r",this.config.markerRadius),r.append("path").attr("class","railroad-line").attr("d",new q().moveTo(a+this.config.markerRadius,s).lineTo(n,s).build()),r.append("path").attr("class","railroad-line").attr("d",new q().moveTo(n+l.dimensions.width,s).lineTo(n+l.dimensions.width+10-this.config.markerRadius,s).build()),{height:Math.max(40,d+l.dimensions.height+2*this.config.padding),width:n+l.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let t=this.config.padding,r=0;for(let i of e){let e=this.renderRule(i,t);t+=e.height+this.config.verticalSeparation,r=Math.max(r,e.width)}return{width:r+2*this.config.padding,height:t+this.config.padding}}},V=(0,o.K)((e,t,r)=>{(0,a.a$)(e,t.height,t.width,r),e.attr("viewBox",`0 0 ${t.width} ${t.height}`)},"configureRailroadSvgSize"),j={draw:(0,o.K)((e,t,r)=>{n.R.debug("[Railroad] Rendering diagram\n"+e);try{let e=(0,i.D)(t);e.attr("class","railroad-diagram");let r=(0,a.zj)().railroad,o=r?.useMaxWidth??!0,l=S.getRules();if(n.R.debug(`[Railroad] Rendering ${l.length} rules`),0===l.length){n.R.warn("[Railroad] No rules to render"),V(e,{height:100,width:200},o);return}let s=new W(e,E()).renderDiagram(l);V(e,s,o),n.R.debug("[Railroad] Render complete")}catch(e){throw n.R.error("[Railroad] Render error:",e),e}},"draw")}},7454(e,t,r){function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}r.d(t,{S:()=>i}),(0,r(6827).K)(i,"populateCommonDb")}}]); \ No newline at end of file diff --git a/assets/js/8927.68e81f0d.js b/assets/js/8927.68e81f0d.js new file mode 100644 index 0000000..e1841d4 --- /dev/null +++ b/assets/js/8927.68e81f0d.js @@ -0,0 +1,24 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8927"],{7454(e,t,a){function l(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>l}),(0,a(6827).K)(l,"populateCommonDb")},5869(e,t,a){a.d(t,{P:()=>i});var l=a(1177),r=a(1293),s=a(6827),i=(0,s.K)((e,t,a,s)=>{e.attr("class",a);let{width:i,height:c,x:d,y:p}=n(e,t);(0,l.a$)(e,c,i,s);let h=o(d,p,i,c,t);e.attr("viewBox",h),r.R.debug(`viewBox configured: ${h} with padding: ${t}`)},"setupViewPortForSVG"),n=(0,s.K)((e,t)=>{let a=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:a.width+2*t,height:a.height+2*t,x:a.x,y:a.y}},"calculateDimensionsWithPadding"),o=(0,s.K)((e,t,a,l,r)=>`${e-r} ${t-r} ${a} ${l}`,"createViewBox")},4738(e,t,a){a.d(t,{diagram:()=>b});var l=a(7454),r=a(4924),s=a(5869),i=a(739),n=a(6348),o=a(1177),c=a(1293),d=a(6827),p=a(8731),h=a(7829),m=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getAccDescription=o.m7,this.setAccDescription=o.EI}static{(0,d.K)(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=o.UI,t=(0,o.zj)();return(0,n.$t)({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){let a=this.classes.get(e)??{id:e,styles:[],textStyles:[]},l=t.replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/\xa7\xa7\xa7/g,",").split(";");l&&l.forEach(e=>{(0,i.KX)(e)&&(a?.textStyles?a.textStyles.push(e):a.textStyles=[e]),a?.styles?a.styles.push(e):a.styles=[e]}),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){(0,o.IU)(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function y(e){if(!e.length)return[];let t=[],a=[];return e.forEach(e=>{let l={name:e.name,children:"Leaf"===e.type?void 0:[]};for(l.classSelector=e?.classSelector,e?.cssCompiledStyles&&(l.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(l.value=e.value);a.length>0&&a[a.length-1].level>=e.level;)a.pop();if(0===a.length)t.push(l);else{let e=a[a.length-1].node;e.children?e.children.push(l):e.children=[l]}"Leaf"!==e.type&&a.push({node:l,level:e.level})}),t}(0,d.K)(y,"buildHierarchy");var f=(0,d.K)((e,t)=>{(0,l.S)(e,t);let a=[];for(let a of e.TreemapRows??[])"ClassDefStatement"===a.$type&&t.addClass(a.className??"",a.styleText??"");for(let l of e.TreemapRows??[]){let e=l.item;if(!e)continue;let r=l.indent?parseInt(l.indent):0,s=u(e),i=e.classSelector?t.getStylesForClass(e.classSelector):[],n=i.length>0?i:void 0,o={level:r,name:s,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:n};a.push(o)}let r=y(a),s=(0,d.K)((e,a)=>{for(let l of e)t.addNode(l,a),l.children&&l.children.length>0&&s(l.children,a+1)},"addNodesRecursively");s(r,0)},"populate"),u=(0,d.K)(e=>e.name?String(e.name):"","getItemName"),S={parser:{yy:void 0},parse:(0,d.K)(async e=>{try{let t=p.qg,a=await t("treemap",e);c.R.debug("Treemap AST:",a);let l=S.parser?.yy;if(!(l instanceof m))throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");f(a,l)}catch(e){throw c.R.error("Error parsing treemap:",e),e}},"parse")},g=(0,d.K)((e,t,a,l)=>{let n,p=l.db,m=p.getConfig(),y=m.padding??10,f=p.getDiagramTitle(),u=p.getRoot(),{themeVariables:S}=(0,o.zj)();if(!u)return;let g=30*!!f,x=(0,r.D)(t),$=m.nodeWidth?10*m.nodeWidth:960,b=m.nodeHeight?10*m.nodeHeight:500,v=b+g;x.attr("viewBox",`0 0 ${$} ${v}`),(0,o.a$)(x,v,$,m.useMaxWidth);try{let e=m.valueFormat||",";if("$0,0"===e)n=(0,d.K)(e=>"$"+(0,h.GPZ)(",")(e),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){let t=/\.\d+/.exec(e),a=t?t[0]:"";n=(0,d.K)(e=>"$"+(0,h.GPZ)(","+a)(e),"valueFormat")}else if(e.startsWith("$")){let t=e.substring(1);n=(0,d.K)(e=>"$"+(0,h.GPZ)(t||"")(e),"valueFormat")}else n=(0,h.GPZ)(e)}catch(e){c.R.error("Error creating format function:",e),n=(0,h.GPZ)(",")}let C=(0,h.UMr)().range(["transparent",S.cScale0,S.cScale1,S.cScale2,S.cScale3,S.cScale4,S.cScale5,S.cScale6,S.cScale7,S.cScale8,S.cScale9,S.cScale10,S.cScale11]),w=(0,h.UMr)().range(["transparent",S.cScalePeer0,S.cScalePeer1,S.cScalePeer2,S.cScalePeer3,S.cScalePeer4,S.cScalePeer5,S.cScalePeer6,S.cScalePeer7,S.cScalePeer8,S.cScalePeer9,S.cScalePeer10,S.cScalePeer11]),L=(0,h.UMr)().range([S.cScaleLabel0,S.cScaleLabel1,S.cScaleLabel2,S.cScaleLabel3,S.cScaleLabel4,S.cScaleLabel5,S.cScaleLabel6,S.cScaleLabel7,S.cScaleLabel8,S.cScaleLabel9,S.cScaleLabel10,S.cScaleLabel11]);f&&x.append("text").attr("x",$/2).attr("y",g/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(f);let k=x.append("g").attr("transform",`translate(0, ${g})`).attr("class","treemapContainer"),T=(0,h.Sk5)(u).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),P=(0,h.hkb)().size([$,b]).paddingTop(e=>e.children&&e.children.length>0?35:0).paddingInner(y).paddingLeft(e=>e.children&&e.children.length>0?10:0).paddingRight(e=>e.children&&e.children.length>0?10:0).paddingBottom(e=>e.children&&e.children.length>0?10:0).round(!0)(T),M=P.descendants().filter(e=>e.children&&e.children.length>0),z=k.selectAll(".treemapSection").data(M).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);z.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),z.append("clipPath").attr("id",(e,a)=>`clip-section-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),z.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>C(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>w(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(0===e.depth)return"display: none;";let t=(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),z.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,a)=>`url(#clip-section-${t}-${a})`).attr("style",e=>0===e.depth?"display: none;":"dominant-baseline: middle; font-size: 12px; fill:"+L(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).each(function(e){if(0===e.depth)return;let t=(0,h.Ltv)(this),a=e.data.name;t.text(a);let l=e.x1-e.x0,r=Math.max(15,!1!==m.showValues&&e.value?l-10-30-10-6:l-6-6),s=t.node();if(s.getComputedTextLength()>r){let e=a;for(;e.length>0;){if(0===(e=a.substring(0,e.length-1)).length){t.text("..."),s.getComputedTextLength()>r&&t.text("");break}if(t.text(e+"..."),s.getComputedTextLength()<=r)break}}}),!1!==m.showValues&&z.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?n(e.value):"").attr("font-style","italic").attr("style",e=>0===e.depth?"display: none;":"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+L(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"));let F=P.leaves(),K=F.length>20,D=K?16:38,N=K?14:28,G=K?4:8,V=K?4:6,W=K?2:4,R=K?8:10,A=K?1:2,B=k.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);B.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?C(e.parent.data.name):C(e.data.name)).attr("style",e=>(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?C(e.parent.data.name):C(e.data.name)).attr("stroke-width",3),B.append("clipPath").attr("id",(e,a)=>`clip-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),B.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${D}px;fill:`+L(e.data.name)+";"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.data.name).each(function(e){let t=(0,h.Ltv)(this),a=e.x1-e.x0,l=e.y1-e.y0,r=t.node(),s=a-2*W,i=l-2*W;if(s<R||i<R)return void t.style("display","none");let n=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>s&&n>G;)n--,t.style("font-size",`${n}px`);let o=Math.max(V,Math.min(N,Math.round(.6*n))),c=n+A+o;for(;c>i&&n>G&&(!((o=Math.max(V,Math.min(N,Math.round(.6*--n))))<V)||n!==G);)t.style("font-size",`${n}px`),c=n+A+o;t.style("font-size",`${n}px`),K?(n<G||i<G)&&t.style("display","none"):(r.getComputedTextLength()>s||n<G||i<n)&&t.style("display","none")}),!1!==m.showValues&&B.append("text").attr("class","treemapValue").attr("x",e=>(e.x1-e.x0)/2).attr("y",function(e){return(e.y1-e.y0)/2}).attr("style",e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${N}px;fill:`+L(e.data.name)+";"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.value?n(e.value):"").each(function(e){let t=(0,h.Ltv)(this),a=this.parentNode;if(!a)return void t.style("display","none");let l=(0,h.Ltv)(a).select(".treemapLabel");if(l.empty()||"none"===l.style("display"))return void t.style("display","none");let r=parseFloat(l.style("font-size")),s=Math.max(V,Math.min(N,Math.round(.6*r)));t.style("font-size",`${s}px`);let i=(e.y1-e.y0)/2+r/2+A;t.attr("y",i);let n=e.x1-e.x0,o=e.y1-e.y0;t.node().getComputedTextLength()>n-2*W||i+s>o-4||s<V?t.style("display","none"):t.style("display",null)});let I=m.diagramPadding??8;(0,s.P)(x,I,"flowchart",m?.useMaxWidth||!1)},"draw"),x=(0,d.K)(function(e,t){return t.db.getClasses()},"getClasses"),$={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},b={parser:S,get db(){return new m},renderer:{draw:g,getClasses:x},styles:(0,d.K)(({treemap:e}={})=>{let t=(0,o.P$)(),a=(0,o.zj)(),l=(0,n.$t)(t,a.themeVariables),r=(0,n.$t)($,e),s=r.titleColor??l.titleColor,i=r.labelColor??l.textColor,c=r.valueColor??l.textColor;return` + .treemapNode.section { + stroke: ${r.sectionStrokeColor}; + stroke-width: ${r.sectionStrokeWidth}; + fill: ${r.sectionFillColor}; + } + .treemapNode.leaf { + stroke: ${r.leafStrokeColor}; + stroke-width: ${r.leafStrokeWidth}; + fill: ${r.leafFillColor}; + } + .treemapLabel { + fill: ${i}; + font-size: ${r.labelFontSize}; + } + .treemapValue { + fill: ${c}; + font-size: ${r.valueFontSize}; + } + .treemapTitle { + fill: ${s}; + font-size: ${r.titleFontSize}; + } + `},"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/896.d7dfba44.js b/assets/js/896.d7dfba44.js new file mode 100644 index 0000000..09fca04 --- /dev/null +++ b/assets/js/896.d7dfba44.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["896"],{2685(e,t,n){n.d(t,{Z:()=>M});var r=n(6163),o=n(6827);function l(e){let t=[];for(let n=0;n<e.length-1;n++)t.push({a:e[n],b:e[n+1]});return t}function i(e,t,n,r){let o=t.x-e.x,l=t.y-e.y,i=r.x-n.x,a=r.y-n.y,s=o*a-l*i;if(0===s)return null;let f=n.x-e.x,d=n.y-e.y,u=(f*a-d*i)/s,h=(f*l-d*o)/s;return u<=1e-6||u>=.999999||h<=1e-6||h>=.999999?null:{point:{x:e.x+u*o,y:e.y+u*l},tA:u,tB:h}}function a(e){return Math.abs(e.b.x-e.a.x)>=Math.abs(e.b.y-e.a.y)}function s(e,t,n){if("rounded"!==e.curve)return!1;let r=e.points,o=r[t],l=r[t+1];if(!o||!l)return!1;let i=Math.hypot(l.x-o.x,l.y-o.y),a=n*i,s=t>0?p(r[t-1],o,l,5):null;if(s&&a<s.cutLen)return!0;let f=t+2<r.length?p(o,l,r[t+2],5):null;return null!==f&&i-a<f.cutLen}function f(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],o=l(r.points);for(let f=n+1;f<e.length;f++){let n=e[f],d=l(n.points);for(let[e,l]of o.entries())for(let[o,f]of d.entries()){let d=i(l.a,l.b,f.a,f.b);if(!d||s(r,e,d.tA)||s(n,o,d.tB))continue;let u=a(l);u!==a(f)&&u?t.push({jumpEdgeId:r.id,otherEdgeId:n.id,segIndex:e,t:d.tA,point:d.point}):t.push({jumpEdgeId:n.id,otherEdgeId:r.id,segIndex:o,t:d.tB,point:d.point})}}}return t}function d(e){let t=Math.round(1e3*e)/1e3;return Number.isInteger(t),`${t}`}function u(e){return`${d(e.x)},${d(e.y)}`}function h(e){let t=e.b.x-e.a.x,n=e.b.y-e.a.y;return Math.abs(t)>=Math.abs(n)?+(t>=0):+(n>=0)}function g(e,t){if(e.length<2)return e.map(e=>({...e}));let n=e.map(e=>({...e})),o=t.arrowTypeStart&&r.hq[t.arrowTypeStart];if(o){let t=e[0],r=e[1],l=Math.atan2(r.y-t.y,r.x-t.x);n[0].x=t.x+o*Math.cos(l),n[0].y=t.y+o*Math.sin(l)}let l=t.arrowTypeEnd&&r.hq[t.arrowTypeEnd];if(l){let t=e.length,r=e[t-2],o=e[t-1],i=Math.atan2(o.y-r.y,o.x-r.x);n[t-1].x=o.x-l*Math.cos(i),n[t-1].y=o.y-l*Math.sin(i)}return n}function c(e,t,n,r,o){let l=e.point.x,i=e.point.y,a={x:l-t*e.r,y:i-n*e.r},s={x:l+t*e.r,y:i+n*e.r},f=[`L${u(a)}`];return"arc"===o?f.push(`A${d(e.r)},${d(e.r)} 0 0 ${r} ${u(s)}`):f.push(`M${u(s)}`),f}function p(e,t,n,r){let o=t.x-e.x,l=t.y-e.y,i=n.x-t.x,a=n.y-t.y,s=Math.hypot(o,l),f=Math.hypot(i,a);if(s<1e-5||f<1e-5)return null;let d=o/s,u=l/s,h=i/f,g=a/f,c=Math.acos(Math.max(-1,Math.min(1,d*h+u*g)));if(c<1e-5||1e-5>Math.abs(Math.PI-c))return null;let p=Math.min(r/Math.sin(c/2),s/2,f/2);return{startX:t.x-d*p,startY:t.y-u*p,endX:t.x+h*p,endY:t.y+g*p,ctrlX:t.x,ctrlY:t.y,cutLen:p}}function x(e,t,n){let r=e.points;if(r.length<2)return"";let o=g(r,e),i="rounded"===e.curve,a=l(o),s=new Map;for(let e of t){let t=a[e.segIndex];if(!t)continue;let r=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),o=s.get(e.segIndex)??[];o.push({t:e.t,point:e.point,d:e.t*r,r:n.jumpRadius}),s.set(e.segIndex,o)}let f=[`M${u(o[0])}`];for(let e=0;e<a.length;e++){let t=a[e],r=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),l=0===r?0:(t.b.x-t.a.x)/r,g=0===r?0:(t.b.y-t.a.y)/r,x=h(t),m=0;if(i&&e>0){let t=p(o[e-1],o[e],o[e+1]??o[e],5);t&&(m=t.cutLen)}let y=r,b=null;i&&e<a.length-1&&(b=p(o[e],o[e+1],o[e+2]??o[e+1],5))&&(y=r-b.cutLen);let M=.6*n.jumpRadius,K=[...s.get(e)??[]].sort((e,t)=>e.t-t.t).filter(e=>{let t=Math.min(e.d-m,y-e.d)-2;return e.r=Math.min(e.r,t),e.r>=M});for(let e=0;e<K.length-1;e++){let t=K[e+1].d-K[e].d;if(K[e].r+K[e+1].r>t){let n=t/2;K[e].r=Math.min(K[e].r,n),K[e+1].r=Math.min(K[e+1].r,n)}}for(let e of K)e.r<M||f.push(...c(e,l,g,x,n.jumpStyle));i&&b?(f.push(`L${d(b.startX)},${d(b.startY)}`),f.push(`Q${d(b.ctrlX)},${d(b.ctrlY)} ${d(b.endX)},${d(b.endY)}`)):f.push(`L${u(t.b)}`)}return f.join(" ")}function m(e){return/^[\d\s+,.LMelm-]*$/.test(e)}function y(e){return!e||"linear"===e||"rounded"===e||"step"===e||"stepBefore"===e||"stepAfter"===e}function b(e){if(!e)return null;try{let t="function"==typeof atob?atob(e):Buffer.from(e,"base64").toString(),n=JSON.parse(t);if(!Array.isArray(n))return null;let r=[];for(let e of n)e&&"number"==typeof e.x&&"number"==typeof e.y&&r.push({x:e.x,y:e.y});return r.length>=2?r:null}catch{return null}}function M(e,t,n){if(!n.enabled)return;let r=e.node();if(!r)return;let o=new Map;for(let e of t)o.set(e.id,e);let l=new Map;for(let e of r.querySelectorAll("path[data-id]")){let t=e.getAttribute("data-id");null===t||l.has(t)||l.set(t,e)}let i=[];for(let e of t){let t=l.get(e.id);if(!t)continue;let n=b(t.getAttribute("data-points"))??e.points;i.push({...e,points:n})}let a=f(i);if(0===a.length)return;let s=new Map;for(let e of a){let t=s.get(e.jumpEdgeId)??[];t.push(e),s.set(e.jumpEdgeId,t)}for(let e of i){let t=s.get(e.id);if(!t||0===t.length)continue;let r=o.get(e.id),i=r?.curve;if(void 0!==i&&!y(i))continue;let a=l.get(e.id);if(!a||void 0===i&&!m(a.getAttribute("d")??""))continue;let f=a.getAttribute("style")??"",d=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(f),u=d?Number.parseFloat(d[1]):null,h=d?Number.parseFloat(d[2]):null,g=x(e,t,n);if(a.setAttribute("d",g),null!==u&&null!==h&&"function"==typeof a.getTotalLength){let e=Math.max(0,a.getTotalLength()-u-h),t=`0 ${u} ${e} ${h}`,n=f.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${t};`).replace(/;\s*;+/g,";");a.setAttribute("style",n)}}}(0,o.K)(l,"buildSegmentList"),(0,o.K)(i,"segmentIntersection"),(0,o.K)(a,"isHorizontalSeg"),(0,o.K)(s,"crossingSitsInRoundedCorner"),(0,o.K)(f,"findEdgeIntersections"),(0,o.K)(d,"fmt"),(0,o.K)(u,"pointToString"),(0,o.K)(h,"getArcSweepFlag"),(0,o.K)(g,"applyMarkerOffsets"),(0,o.K)(c,"emitJump"),(0,o.K)(p,"computeRoundedCorner"),(0,o.K)(x,"rewriteEdgePath"),(0,o.K)(m,"isStraightPath"),(0,o.K)(y,"curveSupportsLineHops"),(0,o.K)(b,"decodeDataPoints"),(0,o.K)(M,"applyLineJumpsToSvg")},6483(e,t,n){n.r(t),n.d(t,{render:()=>t2});var r=n(2685),o=n(3227);n(5616),n(6163),n(7827),n(3002),n(739),n(6320),n(2217),n(2941),n(6348),n(1177);var l=n(1293),i=n(6827);function a(e,{measure:t}){let n=e.config?.swimlane?.lineHops;if(!1===n)return;let o=e.edges.filter(e=>Array.isArray(e.points)&&e.points.length>=2).map(e=>({id:e.id,points:e.points,curve:e.curve,arrowTypeStart:e.arrowTypeStart,arrowTypeEnd:e.arrowTypeEnd}));(0,r.Z)(t.groups.edgePaths,o,{enabled:!0,jumpRadius:6,jumpStyle:"gap"===n?"gap":"arc"})}(0,i.K)(a,"applySwimlaneLineJumps");var s="__swimlane_default__";function f(e){return Math.max(e.padding??20,20)}function d(e){let{x:t,y:n,width:r,height:o}=e,l=e.swimlaneContentTop;if("number"!=typeof t||"number"!=typeof n||"number"!=typeof r||"number"!=typeof o||"number"!=typeof l||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(o)||!Number.isFinite(l)||r<=0||o<=0)return void delete e.groupTitleRect;let i=n-o/2,a=Math.min(21,Math.max(0,Math.min(l,n+o/2)-i)),s=i+a;s<=i?delete e.groupTitleRect:e.groupTitleRect={left:t-r/2,right:t+r/2,top:i,bottom:s}}function u(e){let t=e.direction,n=e.nodes??=[];for(let n of e.nodes??[])n.isGroup&&!n.parentId&&(n.shape="swimlane",t&&(n.direction=t));let r=n.filter(e=>!e.isGroup&&!e.parentId);if(0===r.length)return;let o=n.find(e=>e.id===s);for(let l of(o?o.isGroup&&(o.shape="swimlane",t&&(o.direction=t)):(o={id:s,label:"",isGroup:!0,shape:"swimlane",padding:20,look:e.config?.look,colorIndex:n.reduce((e,t)=>Math.max(e,t.colorIndex??-1),-1)+1,...t?{direction:t}:{}},n.push(o)),r))l.parentId=s}function h(e){let t=new Map;for(let n of e.nodes??[])t.set(n.id,n);let n=[];for(let t of e.edges??[]){let e="string"==typeof t.start?t.start:void 0,r="string"==typeof t.end?t.end:void 0;e&&r&&(t.labelNodeId||n.push({id:t.id,src:e,dst:r,ref:t}))}let r=e.nodes??[],o=r.filter(e=>e.isGroup),l=r.filter(e=>!e.isGroup);return{nodes:[...[...o].reverse(),...l].map(e=>e.id),edges:n,layout:e,nodeById:t}}function g(e,t,n,r){let{layout:o}=e,l=e.nodeById,i=r?.layerGap??100,a=r?.nodeGap??40,s=0;for(let e of t.layers){let t=0;for(let r of e){let e=l.get(r);if(!e){t++;continue}e.layer=s,e.order=t;let o=n.x[r]??t*a,f=n.y[r]??s*i;e.x=o,e.y=f,t++}s++}let u=o.nodes??[],h=new Map,g=[];for(let e of u){if(!e?.isGroup)continue;e.parentId||g.push(e);let t=u.filter(t=>t.parentId===e.id),r=1/0,o=-1/0,l=1/0,i=-1/0;for(let e of t){let t=e.x??n.x[e.id],a=e.y??n.y[e.id],s=e.width??0,f=e.height??0;null!=t&&null!=a&&(r=Math.min(r,t-s/2),o=Math.max(o,t+s/2),l=Math.min(l,a-f/2),i=Math.max(i,a+f/2))}if(r===1/0||l===1/0)e.x=e.x??0,e.y=e.y??0,e.width=e.width??0,e.height=e.height??0;else{let t=e.padding??20,n=Math.max(0,o-r)+(e.parentId?t:2*f(e)),a=Math.max(0,i-l)+t,s=(l+i)/2;e.x=(r+o)/2,e.y=s,e.width=n,e.height=a,h.set(e.id,{minX:r,maxX:o,minY:l,maxY:i})}}if(g.length>0&&h.size>0){let e=1/0,t=-1/0,n=0;for(let r of g){let o=r.padding??20;o>n&&(n=o);let l=h.get(r.id);l&&(e=Math.min(e,l.minY),t=Math.max(t,l.maxY))}if(e!==1/0&&t!==-1/0){let r=Math.max(0,t-e)+2*Math.max(n,36),o=(e+t)/2;for(let t of g)t.y=o,t.height=r,t.swimlaneContentTop=e;let l=[...g].sort((e,t)=>(e.x??0)-(t.x??0)),i=[],a=[],s=[];for(let e of l){let t=h.get(e.id);if(!t)continue;let n=Math.max(0,t.maxX-t.minX)+2*f(e),r=(t.minX+t.maxX)/2;i.push(e.id),a.push(r),s.push(n)}let u=i.length;if(u>0){let e=new Map;if(1===u)e.set(i[0],s[0]);else{let t=[];for(let e=0;e<u-1;e++)t.push(a[e+1]-a[e]);let n=Array(u);n[0]=0;for(let e=0;e<u-1;e++)n[e+1]=2*t[e]-n[e];let r=0,o=1/0;for(let e=0;e<u;e++){let t=s[e];e%2==0?r=Math.max(r,t-n[e]):o=Math.min(o,n[e]-t)}let l=r;l=r<=o?(r+o)/2:r;for(let t=0;t<u;t++){let r=n[t]+(t%2==0?l:-l),o=Math.max(s[t],r);e.set(i[t],o)}}for(let t of g){let n=e.get(t.id);null!=n&&(t.width=n),d(t)}}}}}function c(e){let t=[],n=[],r=new Map;for(let t of e.nodes)r.set(t.id,t);for(let o of e.edges){if(!o.label||0===o.label.length||o.isLayoutOnly||o.labelNodeId)continue;let e=o.start?r.get(o.start):void 0,i=o.end?r.get(o.end):void 0;if(!e||!i){l.R.warn("[EdgeLabelNodes]",`Edge ${o.id} has missing source or target node`);continue}let a=`edge-label-${o.start}-${o.end}-${o.id}`,s=e.parentId!==i.parentId?i.parentId:e.parentId,f={id:a,label:o.label,edgeStart:o.start??"",edgeEnd:o.end??"",shape:"labelRect",width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:s,isGroup:!1,labelStyle:Array.isArray(o.labelStyle)?o.labelStyle[0]:o.labelStyle??"",...e.dir?{dir:e.dir}:{}};t.push(f),o.labelNodeId=a,o.label=void 0,o.text=void 0;let d={id:`${o.id}-to-label`,start:o.start,end:a,type:"normal",isLayoutOnly:!0},u={id:`${o.id}-from-label`,start:a,end:o.end,type:"normal",isLayoutOnly:!0};n.push(d,u)}let o=[...e.nodes,...t],i=[...e.edges,...n];return{...e,nodes:o,edges:i}}function p(e){let t=e.x??0,n=e.y??0,r=e.width??0,o=e.height??0;return r>0&&o>0?{cx:t,cy:n,rect:F(t,n,r,o)}:void 0}function x(e){if(e.isGroup)return;let t=p(e);if(t)return{id:String(e.id??""),cx:t.cx,cy:t.cy,rect:t.rect}}function m(e,t,n=.001){return Math.abs(e.x-t.x)<n&&Math.abs(e.y-t.y)<n}function y(e,t,n=.001){return Math.abs(e.x-t.x)<n}function b(e,t,n=.001){return Math.abs(e.y-t.y)<n}function M(e,t,n=.001){return b(e,t,n)&&Math.abs(e.x-t.x)>n}function K(e,t,n=.001){return y(e,t,n)&&Math.abs(e.y-t.y)>n}function I(e,t,n,r){return Math.max(0,Math.min(Math.max(e,t),Math.max(n,r))-Math.max(Math.min(e,t),Math.min(n,r)))}function w(e,t,n=.001){return e.horizontal&&t.horizontal&&b(e.a,t.a,n)?I(e.a.x,e.b.x,t.a.x,t.b.x):e.vertical&&t.vertical&&y(e.a,t.a,n)?I(e.a.y,e.b.y,t.a.y,t.b.y):0}function S(e,t=.001){let n=[];for(let r=0;r<e.length-1;r++){let o=e[r],l=e[r+1],i=M(o,l,t),a=K(o,l,t);(i||a)&&n.push({index:r,a:o,b:l,horizontal:i,vertical:a})}return n}function v(e,t=.001){let n=S(e,t),r=0;for(let e=1;e<n.length;e++)n[e-1].horizontal!==n[e].horizontal&&r++;return r}function C(e,t=.001){let n=[];for(let r of e){let e=n.length>0?n[n.length-1]:void 0;e&&m(e,r,t)||n.push({x:r.x,y:r.y})}return n}function L(e,t=.001){if(!e||4!==e.length)return;let[n,r,o,l]=e;return M(n,r,t)&&K(r,o,t)&&M(o,l,t)?{kind:"HVH",p0:n,p1:r,p2:o,p3:l}:K(n,r,t)&&M(r,o,t)&&K(o,l,t)?{kind:"VHV",p0:n,p1:r,p2:o,p3:l}:void 0}function k(e,t,n,r=0){let o=Math.min(e.x,t.x),l=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y);return l>n.left-r&&o<n.right+r&&a>n.top-r&&i<n.bottom+r}function $(e,t,n=0){return e.x>t.left+n&&e.x<t.right-n&&e.y>t.top+n&&e.y<t.bottom-n}function R(e,t){return e.left<=t.left&&e.right>=t.right&&e.top<=t.top&&e.bottom>=t.bottom}function O(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function T(e,t){return{left:e.left-t,right:e.right+t,top:e.top-t,bottom:e.bottom+t}}function F(e,t,n,r){return{left:e-n/2,right:e+n/2,top:t-r/2,bottom:t+r/2}}function E(e){return p(e)?.rect}function B(e,t){switch(t){case"top":return{x:e.cx,y:e.rect.top};case"bottom":return{x:e.cx,y:e.rect.bottom};case"left":return{x:e.rect.left,y:e.cy};case"right":return{x:e.rect.right,y:e.cy}}}function N(e,t,n,r,o,l=.001){let i="left"===t||"right"===t,a="left"===r||"right"===r;if(i&&a){if("right"===t&&"left"===r&&e.x<n.x||"left"===t&&"right"===r&&e.x>n.x){if(b(e,n,l))return[e,n];let t=(e.x+n.x)/2;return[e,{x:t,y:e.y},{x:t,y:n.y},n]}if(t===r){if(b(e,n,l))return;let r="left"===t?Math.min(e.x,n.x)-o:Math.max(e.x,n.x)+o;return[e,{x:r,y:e.y},{x:r,y:n.y},n]}return}if(!i&&!a){if(t===r){if(y(e,n,l))return;let r="top"===t?Math.min(e.y,n.y)-o:Math.max(e.y,n.y)+o;return[e,{x:e.x,y:r},{x:n.x,y:r},n]}if(!("bottom"===t&&"top"===r&&e.y<n.y||"top"===t&&"bottom"===r&&e.y>n.y))return;if(y(e,n,l))return[e,n];let i=(e.y+n.y)/2;return[e,{x:e.x,y:i},{x:n.x,y:i},n]}if(i&&!a){let o="right"===t&&n.x>e.x||"left"===t&&n.x<e.x,l="top"===r&&e.y<n.y||"bottom"===r&&e.y>n.y;return o&&l?[e,{x:n.x,y:e.y},n]:void 0}let s="bottom"===t&&n.y>e.y||"top"===t&&n.y<e.y,f="left"===r&&e.x<n.x||"right"===r&&e.x>n.x;return s&&f?[e,{x:e.x,y:n.y},n]:void 0}function X(e,t,n,r){return"left"===t||"right"===t?[e,{x:r,y:e.y},{x:r,y:n.y},n]:[e,{x:e.x,y:r},{x:n.x,y:r},n]}function z(e){let t=new Map,n=[];for(let r of e){if(r.isEdgeLabel)continue;let e=x(r);e&&(t.set(e.id,e),n.push({id:e.id,rect:e.rect}))}return{nodeInfoById:t,realNodeRects:n}}function Y(e){let t=[],n=[];for(let r of e){let e=x(r);if(!e)continue;let o={id:e.id,rect:e.rect};r.isEdgeLabel?n.push(o):t.push(o)}return{realNodeRects:t,labelNodeRects:n}}function A(e,{includeEdgeLabels:t=!0}={}){let n=[];for(let r of e){if(r.isGroup||!t&&r.isEdgeLabel)continue;let e=r.x??0,o=r.y??0,l=r.width??0,i=r.height??0;n.push({nodeId:r.id,...F(e,o,l,i)})}return n}function G(e,t,n=.001){let r=e.start,o=e.end;if(!r||!o)return;let l=t.get(r),i=t.get(o);if(l&&i)return{srcId:r,dstId:o,srcInfo:l,dstInfo:i,collinearX:Math.abs(l.cx-i.cx)<n,collinearY:Math.abs(l.cy-i.cy)<n}}function D(e,t,n,r=[],o=0){for(let l of n)if(!r.includes(l.id)&&k(e,t,l.rect,-o))return!0;return!1}function P(e,t,n,r,o=.001,l=1e-6){let i=b(e,t,o),a=y(e,t,o),s=b(n,r,o),f=y(n,r,o);if(i&&s||a&&f||!(i||a)||!(s||f))return!1;let d=i?{a:e,b:t}:{a:n,b:r},u=a?{a:e,b:t}:{a:n,b:r},h=d.a.y,g=Math.min(d.a.x,d.b.x),c=Math.max(d.a.x,d.b.x),p=u.a.x,x=Math.min(u.a.y,u.b.y),m=Math.max(u.a.y,u.b.y);if(p<g||p>c||h<x||h>m)return!1;let M=Math.abs(p-d.a.x)<l&&Math.abs(h-d.a.y)<l||Math.abs(p-d.b.x)<l&&Math.abs(h-d.b.y)<l,K=Math.abs(p-u.a.x)<l&&Math.abs(h-u.a.y)<l||Math.abs(p-u.b.x)<l&&Math.abs(h-u.b.y)<l;return!(M&&K)}function H(e,t,n,r,o=.001){let l=b(e,t,o),i=y(e,t,o),a=b(n,r,o),s=y(n,r,o);return i&&s&&y(e,n,o)?I(e.y,t.y,n.y,r.y)>o:!!(l&&a&&b(e,n,o))&&I(e.x,t.x,n.x,r.x)>o}function j(e,t,n,r,{epsilon:o=.001,skipDegenerateOther:l=!1}={}){for(let i of n){if(i===r||i.isLayoutOnly)continue;let n=i.points;if(n&&!(n.length<2))for(let r=0;r<n.length-1;r++){let i=n[r],a=n[r+1];if(!(l&&m(i,a,o))&&(P(e,t,i,a,o)||H(e,t,i,a,o)))return!0}}return!1}function V(e,t,n,r,o=.001){let l=b(e,t,o),i=y(e,t,o),a=b(n,r,o),s=y(n,r,o);if(!(l&&s||i&&a))return!1;let f=l?{a:e,b:t}:{a:n,b:r},d=l?{a:n,b:r}:{a:e,b:t},u=f.a.y,h=Math.min(f.a.x,f.b.x),g=Math.max(f.a.x,f.b.x),c=d.a.x,p=Math.min(d.a.y,d.b.y),x=Math.max(d.a.y,d.b.y);return c>h+o&&c<g-o&&u>p+o&&u<x-o}function _(e,t,n){let r=Math.min(t,n),o=Math.max(t,n);return e>r+.001&&e<o-.001}function W(e,t,n){return y(e,t)&&y(t,n)?_(t.y,e.y,n.y):!!(b(e,t)&&b(t,n))&&_(t.x,e.x,n.x)}function q(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=n[n.length-1],l=e[r],i=r+1<e.length?e[r+1]:void 0;if(o&&i){if(m(o,i)){r++,t=!0;continue}if(W(o,l,i)){t=!0;continue}}n.push(l)}return{points:n,changed:t}}function J(e){let t=[e[0]];for(let n=1;n<e.length;n++){let r=t[t.length-1],o=e[n];if(!y(r,o)&&!b(r,o)){let e=t.length>=2?t[t.length-2]:void 0,n=e&&y(e,r)?{x:r.x,y:o.y}:{x:o.x,y:r.y};t.push(n)}t.push(o)}let n=[];for(let e of t){let t=n[n.length-1];t&&m(t,e)||n.push(e)}return n}function Z(e){if(e.length<3)return e;let t=[...e];for(let e=0;e<32;e++){let e=q(t);if(t=e.points,!e.changed)break}return t}function Q(e,t,n){if(e.isLayoutOnly||!e.points||e.points.length<n)return;let r=e.start?t.get(e.start):void 0,o=e.end?t.get(e.end):void 0;return{edge:e,points:e.points,srcRect:r?E(r):void 0,dstRect:o?E(o):void 0}}function U(e,t,n){if(b(e,t,.001))return{x:e.x<n.left?n.left:n.right,y:e.y};if(y(e,t,.001)){let t=e.y<n.top?n.top:n.bottom;return{x:e.x,y:t}}return{x:Math.min(n.right,Math.max(n.left,e.x)),y:Math.min(n.bottom,Math.max(n.top,e.y))}}function ee(e,t,n){let r=n?1:-1,o=n?0:e.length-1;for(;o>=0&&o<e.length&&$(e[o],t,.5);)o+=r;if(o<0||o>=e.length)return e;let l=o-r;if(l<0||l>=e.length)return e;let i=U(e[o],e[l],t);return n?[i,...e.slice(o)]:[...e.slice(0,o+1),i]}function et(e,t){for(let n of e){let e=Q(n,t,2);if(!e)continue;let r=[...e.points];e.srcRect&&(r=ee(r,e.srcRect,!0)),e.dstRect&&(r=ee(r,e.dstRect,!1)),r=eh(r=Z(J(r)),e.srcRect,e.dstRect),e.edge.points=Z(J(r))}}function en(e,t,n,r=!1){if(b(e,t,.001)){if(t.y<n.top-.001||t.y>n.bottom+.001)return t;if(r){if(e.x<n.left-.001)return{x:n.left,y:e.y};if(e.x>n.right+.001)return{x:n.right,y:e.y}}return{x:Math.abs(t.x-n.left)<=Math.abs(t.x-n.right)?n.left:n.right,y:e.y}}if(y(e,t,.001)){if(t.x<n.left-.001||t.x>n.right+.001)return t;if(r){if(e.y<n.top-.001)return{x:e.x,y:n.top};if(e.y>n.bottom+.001)return{x:e.x,y:n.bottom}}let o=Math.abs(t.y-n.top)<=Math.abs(t.y-n.bottom);return{x:e.x,y:o?n.top:n.bottom}}return t}function er(e,t,n){let r=e[t];for(let o=t+n;o>=0&&o<e.length;o+=n){let t=e[o];if(!m(t,r,.001))return t}return e[t+n]}function eo(e,t){let n=e+4,r=t-4;return n<=r?{lo:n,hi:r}:{lo:(e+t)/2,hi:(e+t)/2}}function el(e,t,n){let{lo:r,hi:o}=eo(t,n);return Math.min(o,Math.max(r,e))}function ei(e){let t=Math.max(...e.map(e=>e.lo)),n=Math.min(...e.map(e=>e.hi));if(!(t>n))return{lo:t,hi:n}}function ea(e,t){return"left"===t||"right"===t?eo(e.top,e.bottom):eo(e.left,e.right)}function es(e,t,n){let r=e.y>=n.top-.001&&e.y<=n.bottom+.001,o=e.x>=n.left-.001&&e.x<=n.right+.001;if(b(e,t,.001)&&r){if(.001>Math.abs(e.x-n.left))return"left";if(.001>Math.abs(e.x-n.right))return"right"}if(y(e,t,.001)&&o){if(.001>Math.abs(e.y-n.top))return"top";if(.001>Math.abs(e.y-n.bottom))return"bottom"}}function ef(e){return"left"===e||"right"===e}function ed(e,t,n,r,o){let l=[],i=n?es(e,t,n):void 0,a=r?es(t,e,r):void 0;return n&&i&&ef(i)===o&&l.push(ea(n,i)),r&&a&&ef(a)===o&&l.push(ea(r,a)),l.length>0?ei(l):void 0}function eu(e,t,n,r,o){let l=ed(e,t,n,r,o);if(!l)return;let i=o?e.y:e.x,a=Math.min(l.hi,Math.max(l.lo,i));if(!(.001>Math.abs(a-i)))return o?[{x:e.x,y:a},{x:t.x,y:a}]:[{x:a,y:e.y},{x:a,y:t.y}]}function eh(e,t,n){if(2!==e.length)return e;let[r,o]=e;return b(r,o,.001)?eu(r,o,t,n,!0)??e:y(r,o,.001)?eu(r,o,t,n,!1)??e:e}function eg(e,t,n){return ef(n)?{x:e.x,y:el(e.y,t.top,t.bottom)}:{x:el(e.x,t.left,t.right),y:e.y}}function ec(e,t,n,r,o,l){let i=e.map(e=>({...e}));for(let a=t;a>=0&&a<e.length;a+=n){let t=e[a];if(l&&!b(t,r,.001)||!l&&!y(t,r,.001))break;l?i[a].y=o.y:i[a].x=o.x}return i}function ep(e,t,n){if(e.length<2)return e;let r=n?0:e.length-1,o=n?1:-1,l=e[r],i=er(e,r,o);if(!i)return e;let a=es(l,i,t);if(!a)return e;let s=ef(a),f=eg(l,t,a);return m(l,f,.001)?e:ec(e,r,o,l,f,s)}function ex(e,t,n){let r=Math.min(e.x,t.x)>=n.left-.001&&Math.max(e.x,t.x)<=n.right+.001,o=Math.min(e.y,t.y)>=n.top-.001&&Math.max(e.y,t.y)<=n.bottom+.001;return .001>Math.abs(e.y-n.top)&&.001>Math.abs(t.y-n.top)&&r?"top":.001>Math.abs(e.y-n.bottom)&&.001>Math.abs(t.y-n.bottom)&&r?"bottom":.001>Math.abs(e.x-n.left)&&.001>Math.abs(t.x-n.left)&&o?"left":.001>Math.abs(e.x-n.right)&&.001>Math.abs(t.x-n.right)&&o?"right":void 0}function em(e,t,n,r){switch(e){case"top":return y(t,n,.001)&&n.y<r.top-.001;case"bottom":return y(t,n,.001)&&n.y>r.bottom+.001;case"left":return b(t,n,.001)&&n.x<r.left-.001;case"right":return b(t,n,.001)&&n.x>r.right+.001}}function ey(e,t,n){if(e.length<3)return e;if(n){let n=ex(e[0],e[1],t);return n&&em(n,e[1],e[2],t)?e.slice(1):e}let r=e.length-1,o=ex(e[r-1],e[r],t);return o&&em(o,e[r-1],e[r-2],t)?e.slice(0,r):e}function eb(e,t,n){let r=e;if(t){let e=er(r,0,1);if(e){let n=en(e,r[0],t);n!==r[0]&&(r=[n,...r.slice(1)])}r=ey(r,t,!0)}if(n){let e=r.length-1,t=er(r,e,-1);if(t){let o=en(t,r[e],n,!0);o!==r[e]&&(r=[...r.slice(0,e),o])}r=ey(r,n,!1)}let o=eh(r,t,n);return o!==r||2===r.length?o:(t&&(r=ep(r,t,!0)),n&&(r=ep(r,n,!1)),r)}function eM(e,t){for(let n of e){let e=Q(n,t,2);if(!e)continue;let r=eb(C(e.points,.001),e.srcRect,e.dstRect);if(r.length<3){e.edge.points=r;continue}let o=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];e.edge.points=o}}function eK(e){return new Map(e.map(e=>[e.id,e]))}function eI(e,t){let n=e.parentId,r=null;for(;n;){let e=t.get(n);if(!e?.isGroup)break;r=e.id,n=e.parentId}return r}function ew(e,t){let n=0,r=e.parentId;for(;r;){let e=t.get(r);if(!e?.isGroup)break;n++,r=e.parentId}return n}function eS(e){let t=1/0,n=-1/0,r=1/0,o=-1/0;for(let l of e){let e=l.x,i=l.y;if("number"!=typeof e||"number"!=typeof i)continue;let a=l.width??0,s=l.height??0;t=Math.min(t,e-a/2),n=Math.max(n,e+a/2),r=Math.min(r,i-s/2),o=Math.max(o,i+s/2)}return t===1/0||r===1/0?null:{minX:t,maxX:n,minY:r,maxY:o}}function ev(e,t){let n=e.padding??20;e.x=(t.minX+t.maxX)/2,e.y=(t.minY+t.maxY)/2,e.width=Math.max(0,t.maxX-t.minX)+n,e.height=Math.max(0,t.maxY-t.minY)+n}function eC(e){let t=eK(e);for(let n of e.filter(e=>e.isGroup&&e.parentId).sort((e,n)=>ew(n,t)-ew(e,t))){let t=eS(e.filter(e=>e.parentId===n.id));t&&ev(n,t)}}function eL(e,t){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup),l=1/0,a=-1/0;for(let e of o){let n=e[t];"number"==typeof n&&(l=Math.min(l,n),a=Math.max(a,n))}if(!Number.isFinite(l)||!Number.isFinite(a))return!1;let s=(0,i.K)(e=>l+a-e,"mirror");for(let e of n){let n=e[t];"number"==typeof n&&(e[t]=s(n));let r=e.groupTitleRect;r&&(e.groupTitleRect="x"===t?{...r,left:s(r.right),right:s(r.left)}:{...r,top:s(r.bottom),bottom:s(r.top)})}for(let e of r)for(let n of e.points??[])n[t]=s(n[t]);return!0}function ek(e){return!(e.nodes??[]).some(e=>!e.isGroup)||eL(e,"y")}function e$(e,t="LR"){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup),l=1/0,i=1/0;for(let e of o){let t=e.x??0,n=e.y??0;t<l&&(l=t),n<i&&(i=n)}if(!Number.isFinite(l)||!Number.isFinite(i))return!1;let a=0,s=0;for(let e of o)a+=e.width??0,s+=e.height??0;let f=a/o.length,d=s/o.length,u=d>0?Math.max(1,f/d):1;for(let e of o){let t=e.x??0,n=((e.y??0)-i)*u+36,r=t-l;e.x=n,e.y=r}for(let e of r)if(e.points)for(let t of e.points){let e=t.x,n=(t.y-i)*u+36,r=e-l;t.x=n,t.y=r}eC(n);let h=n.filter(e=>e.isGroup&&!e.parentId);if(0===h.length)return"RL"===t&&eL(e,"x"),!0;let g=eK(n),c=new Map;for(let e of n){if(e.isGroup)continue;let t=eI(e,g);if(!t)continue;let n=c.get(t)??[];n.push(e),c.set(t,n)}let p=0;for(let e of h){let t=e.padding??0;t>p&&(p=t)}let x=[],m=1/0,y=-1/0;for(let e of h){let t=eS(c.get(e.id)??[]);t&&(m=Math.min(m,t.minX),y=Math.max(y,t.maxX),x.push({lane:e,contentTop:t.minY,contentBottom:t.maxY,centerY:(t.minY+t.maxY)/2}))}if(m===1/0||y===-1/0)return!0;let b=Math.max(0,y-m)+2*Math.max(p,10),M=36+b,K=(m+y)/2-b/2-36,I=K+M/2,w=Math.max(p,36);x.sort((e,t)=>e.centerY-t.centerY);for(let e=0;e<x.length;e++){let t,n,r=x[e];if(t=0===e?r.contentTop-w:(x[e-1].contentBottom+r.contentTop)/2,e===x.length-1)n=r.contentBottom+w;else{let t=x[e+1];n=(r.contentBottom+t.contentTop)/2}let o=Math.max(0,n-t),l=(t+n)/2;r.lane.x=I,r.lane.y=l,r.lane.width=M,r.lane.height=o,r.lane.swimlaneContentTop=r.contentTop,r.lane.groupTitleRect={left:K,right:K+36,top:t,bottom:n}}return"RL"===t&&eL(e,"x"),!0}(0,i.K)(f,"topLaneHorizontalPadding"),(0,i.K)(d,"assignTopLaneTitleRect"),(0,i.K)(u,"prepareLayoutForSwimlanes"),(0,i.K)(h,"toGraphView"),(0,i.K)(g,"writeBackToLayoutData"),(0,i.K)(c,"createEdgeLabelNodes"),(0,i.K)(p,"measuredNodeRect"),(0,i.K)(x,"nodeBoundsInfoFor"),(0,i.K)(m,"samePoint"),(0,i.K)(y,"sameX"),(0,i.K)(b,"sameY"),(0,i.K)(M,"isHorizontalSegment"),(0,i.K)(K,"isVerticalSegment"),(0,i.K)(I,"overlapLength"),(0,i.K)(w,"sameAxisSegmentOverlapLength"),(0,i.K)(S,"orthogonalSegmentsForPoints"),(0,i.K)(v,"countOrthogonalBends"),(0,i.K)(C,"dedupeConsecutivePoints"),(0,i.K)(L,"classifyThreeSegmentRoute"),(0,i.K)(k,"segmentBoundsOverlapRect"),(0,i.K)($,"pointInsideRect"),(0,i.K)(R,"rectContainsRect"),(0,i.K)(O,"rectsOverlap"),(0,i.K)(T,"inflateRect"),(0,i.K)(F,"rectFromCenterSize"),(0,i.K)(E,"rectOfNodeBounds"),(0,i.K)(B,"portForRectSide"),(0,i.K)(N,"buildOrthogonalPortPath"),(0,i.K)(X,"buildSameSideTrackPath"),(0,i.K)(z,"collectRealNodeBounds"),(0,i.K)(Y,"collectNodeRectEntries"),(0,i.K)(A,"collectLayoutNodeRects"),(0,i.K)(G,"getNodePairGeometry"),(0,i.K)(D,"segmentHitsAnyRect"),(0,i.K)(P,"orthogonalSegmentsCross"),(0,i.K)(H,"sameAxisSegmentsOverlap"),(0,i.K)(j,"segmentConflictsWithAnyEdge"),(0,i.K)(V,"orthogonalSegmentsStrictlyCross"),(0,i.K)(_,"strictlyBetween"),(0,i.K)(W,"isCollinearIntermediate"),(0,i.K)(q,"simplifyPolylineOnce"),(0,i.K)(J,"orthogonalizePolyline"),(0,i.K)(Z,"simplifyPolyline"),(0,i.K)(Q,"endpointContextFor"),(0,i.K)(U,"segmentEnterPoint"),(0,i.K)(ee,"clipEndpoint"),(0,i.K)(et,"clipEdgeEndpointsToNodeBoundaries"),(0,i.K)(en,"snapEndpointToBoundary"),(0,i.K)(er,"firstDistinctAdjacent"),(0,i.K)(eo,"cornerClearanceRange"),(0,i.K)(el,"clampToCornerClearance"),(0,i.K)(ei,"intersectRanges"),(0,i.K)(ea,"clearanceRangeForSide"),(0,i.K)(es,"terminalSideForSegment"),(0,i.K)(ef,"isHorizontalSide"),(0,i.K)(ed,"straightClearanceRange"),(0,i.K)(eu,"clearStraightEndpointCornerAxis"),(0,i.K)(eh,"clearStraightEndpointCornerConnections"),(0,i.K)(eg,"cornerClearedEndpoint"),(0,i.K)(ec,"moveCollinearEndpointRun"),(0,i.K)(ep,"clearEndpointCornerConnection"),(0,i.K)(ex,"borderSideForSegment"),(0,i.K)(em,"leavesOutward"),(0,i.K)(ey,"collapseOwnBorderStub"),(0,i.K)(eb,"snapAndCollapseEndpoints"),(0,i.K)(eM,"prepareEdgeEndpointsForRenderer"),(0,i.K)(eK,"buildNodeMap"),(0,i.K)(eI,"resolveTopLevelGroupId"),(0,i.K)(ew,"groupDepth"),(0,i.K)(eS,"boundsForChildren"),(0,i.K)(ev,"applyGroupBounds"),(0,i.K)(eC,"recomputeNestedGroupBounds"),(0,i.K)(eL,"mirrorAxis"),(0,i.K)(ek,"applyBtDirectionTransform"),(0,i.K)(e$,"applyLrDirectionTransform");var eR=[0,8,-8,16,-16];function eO(e,t){let{nodeInfoById:n,realNodeRects:r}=z(t);for(let t of e){let o;if(t.isLayoutOnly)continue;let l=t.points;if(!l||l.length<4)continue;let i=L(C(l,1e-6),1e-6);if(!i)continue;let{p3:a}=i,s="HVH"===i.kind,f=G(t,n,1e-6);if(!f)continue;let{srcId:d,dstId:u,srcInfo:h,dstInfo:g,collinearX:c,collinearY:p}=f;if(c||p)continue;let x=h.rect;for(let n of eR){let l,i,f;if(s){let e=g.cy>h.cy?x.bottom:x.top,t=h.cx+n;if(t<=x.left+1e-6||t>=x.right-1e-6)continue;l={x:t,y:e},i={x:t,y:a.y},f={x:a.x,y:a.y}}else{let e=g.cx>h.cx?x.right:x.left,t=h.cy+n;if(t<=x.top+1e-6||t>=x.bottom-1e-6)continue;l={x:e,y:t},i={x:a.x,y:t},f={x:a.x,y:a.y}}let c=m(l,i,1e-6),p=m(i,f,1e-6);if(c&&p||!c&&D(l,i,r,[d],1)||!p&&D(i,f,r,[u],1))continue;let y=!c&&j(l,i,e,t,{epsilon:1e-6,skipDegenerateOther:!0}),b=!p&&j(i,f,e,t,{epsilon:1e-6,skipDegenerateOther:!0});if(!y&&!b){o=c?[i,f]:p?[l,i]:[l,i,f];break}}o&&(t.points=o)}}function eT(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values());for(let o of e){let l,a;if(o.isLayoutOnly)continue;let s=o.points;if(!s||s.length<4)continue;let f=C(s,.001);if(f.length<4)continue;let d=f.length-1,u=f[d],h=f[d-1],g=f[d-2],c=Math.hypot(u.x-h.x,u.y-h.y);if(c>=10||c<.001)continue;let p=h.x-g.x,x=h.y-g.y;if(.001>Math.hypot(p,x))continue;let m=M(h,u,.001),I=K(h,u,.001),w=M(g,h,.001),S=K(g,h,.001);if(!(m&&S||I&&w))continue;let v=o.end,L=o.start,k=v?t.get(v):void 0;if(!k)continue;let R=k.x??0,O=k.y??0,T=E(k);if(!T)continue;if(S){let e=x<0;l={x:R,y:g.y},a={x:R,y:e?T.bottom:T.top}}else{let e=p>0;l={x:g.x,y:O},a={x:e?T.right:T.left,y:O}}if(D(l,a,n,v?[v]:[],-2)||D(l,a,r,[],-2))continue;if(L){let e=t.get(L),n=e?E(e):void 0;if(n&&$(l,n,2))continue}let F=(0,i.K)((e,t)=>`${e.x.toFixed(3)},${e.y.toFixed(3)}|${t.x.toFixed(3)},${t.y.toFixed(3)}`,"ownSegmentKey"),B=new Set;for(let e=0;e<f.length-1;e++)B.add(F(f[e],f[e+1]));let N=(0,i.K)((t,n)=>{for(let r of e){if(r===o||r.isLayoutOnly)continue;let e=r.points;if(e&&!(e.length<2))for(let r=0;r<e.length-1;r++){let o=e[r],l=e[r+1];if(!B.has(F(o,l))&&V(t,n,o,l,.001))return!0}}return!1},"segmentCrossesOtherEdge");if(N(l,a))continue;if(d-3>=0){let e=f[d-3];if(D(e,l,n,[L,v].filter(e=>!!e),-2)||N(e,l))continue}let X=[...f.slice(0,d-2),l,a];o.points=X;let z=o.labelNodeId;if(z){let e=t.get(z);if(e){let t=e.width??0,n=e.height??0;if(t>0&&n>0){let r,o,l=-1;for(let e=0;e<X.length-1;e++){let i=X[e],a=X[e+1],s=Math.hypot(a.x-i.x,a.y-i.y),f=b(i,a,.001),d=y(i,a,.001);(f&&s>=t+2||d&&s>=n+2)&&s>l&&(l=s,r=(i.x+a.x)/2,o=(i.y+a.y)/2)}void 0!==r&&void 0!==o&&(e.x=r,e.y=o)}}}}}(0,i.K)(eO,"portSwapToLShape"),(0,i.K)(eT,"collapseShortTerminalStub");var eF=(0,i.K)((e,t)=>y(e,t,.001)||b(e,t,.001),"orthogonallyAligned");function eE(e,t){let n=(0,i.K)((e,t)=>{let n=e.x??0,r=e.y??0,o=t.x-n,l=t.y-r,i=(e.width??0)/2,a=(e.height??0)/2;return Math.abs(l)*i>Math.abs(o)*a?(l<0&&(a=-a),{x:n+(0===l?0:a*o/l),y:r+a}):(o<0&&(i=-i),{x:n+i,y:r+(0===o?0:i*l/o)})},"rectIntersect"),r=(0,i.K)((e,r)=>{let o=C(e.points??[]);if(o.length<2)return;let l=r?e.start:e.end,i=l?t.get(l):void 0,a=i?E(i):void 0;if(!i||!l||!a)return;let s=r?o[0]:o[o.length-1],f=r?o[1]:o[o.length-2],d=n(i,s),u=s;return(eF(f,d)&&(u=f),y(d,u,.001))?{edge:e,edgeId:String(e.id??""),nodeId:l,atStart:r,orientation:"V",coord:d.x,min:Math.min(d.y,u.y),max:Math.max(d.y,u.y),boundary:d,railEnd:u,rect:a}:b(d,u,.001)?{edge:e,edgeId:String(e.id??""),nodeId:l,atStart:r,orientation:"H",coord:d.y,min:Math.min(d.x,u.x),max:Math.max(d.x,u.x),boundary:d,railEnd:u,rect:a}:void 0},"terminalLaneFor"),o=(0,i.K)((e,t)=>Math.max(0,Math.min(e.max,t.max)-Math.max(e.min,t.min)),"projectedOverlapLength"),l=(0,i.K)((e,t)=>e.nodeId===t.nodeId&&e.orientation===t.orientation&&("H"===e.orientation?(1>Math.abs(e.boundary.x-e.rect.left)||1>Math.abs(e.boundary.x-e.rect.right))&&y(e.boundary,t.boundary,1):(1>Math.abs(e.boundary.y-e.rect.top)||1>Math.abs(e.boundary.y-e.rect.bottom))&&b(e.boundary,t.boundary,1)),"sameTerminalFace"),a=(0,i.K)((e,t)=>e.nodeId===t.nodeId&&e.orientation===t.orientation&&o(e,t)>=8&&.5>Math.abs(e.coord-t.coord),"exactTerminalLaneConflict"),s=(0,i.K)((e,t)=>{if(e.nodeId!==t.nodeId||e.orientation!==t.orientation||"H"!==e.orientation||e.atStart===t.atStart)return!1;let n=o(e,t);if(n<8)return!1;let r=e.rect.bottom-e.rect.top;return!(n<r)&&!(n>2*r)&&l(e,t)&&16>Math.abs(e.coord-t.coord)},"nearTerminalLaneConflict"),f=(0,i.K)((e,t)=>{let n=C(e.edge.points??[]);if(n.length<2)return;let r="V"===e.orientation?{x:e.boundary.x+t,y:e.boundary.y}:{x:e.boundary.x,y:e.boundary.y+t},o="V"===e.orientation?{x:e.railEnd.x+t,y:e.railEnd.y}:{x:e.railEnd.x,y:e.railEnd.y+t};if(!(0,i.K)(()=>1>Math.abs(e.boundary.y-e.rect.top)||1>Math.abs(e.boundary.y-e.rect.bottom)?b(r,e.boundary,.001)&&r.x>=e.rect.left+1&&r.x<=e.rect.right-1:!!(1>Math.abs(e.boundary.x-e.rect.left)||1>Math.abs(e.boundary.x-e.rect.right))&&y(r,e.boundary,.001)&&r.y>=e.rect.top+1&&r.y<=e.rect.bottom-1,"boundaryStaysOnSameFace")())return;if(e.atStart){let t=n.length>1&&m(n[1],e.railEnd,.001),l=n.slice(t?2:1),i=l[0];if(i&&!eF(i,o))return;return[r,o,...l]}let l=n.length>1&&m(n[n.length-2],e.railEnd,.001),a=n.slice(0,l?-2:-1),s=a[a.length-1];if(!s||eF(s,o))return[...a,o,r]},"shiftedCandidate"),d=(0,i.K)(e=>{let n=e.edge,r=C(n.points??[]);if(2!==r.length)return!1;let o=n.start,l=n.end,i=o?t.get(o):void 0,a=l?t.get(l):void 0;if(!i||!a)return!1;let s=i.x??0,f=i.y??0,d=a.x??0,u=a.y??0,[h,g]=r;return b(h,g,.001)&&1>Math.abs(f-u)&&Math.abs(s-d)>1||y(h,g,.001)&&1>Math.abs(s-d)&&Math.abs(f-u)>1},"laneIsStraightCollinearConnector"),u=[-7,7,-14,14,-21,21];for(let t=0;t<8;t++){let t=e.filter(e=>!e.isLayoutOnly).flatMap(e=>[r(e,!0),r(e,!1)]).filter(e=>!!e),n=!1;for(let e=0;e<t.length&&!n;e++)for(let o=e+1;o<t.length&&!n;o++){let l=t[e],i=t[o];if(l.edge===i.edge||!(a(l,i)||s(l,i)))continue;let h=!a(l,i);for(let e of[l,i].sort((e,t)=>{let n=d(e),r=d(t);return n!==r?Number(n)-Number(r):Number(!t.atStart)-Number(!e.atStart)})){for(let o of u){let l=f(e,o);if(!l)continue;let i=r({...e.edge,points:l},e.atStart);if(!(!i||t.some(t=>t.edge!==e.edge&&(a(i,t)||h&&s(i,t))))){e.edge.points=l,n=!0;break}}if(n)break}}if(!n)return}}function eB(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values()),o=(0,i.K)((t,o)=>{let l=t.start,i=t.end,a=S(o);if(a.length!==o.length-1)return!1;let s=[l,i].filter(e=>!!e);for(let e of a)if(D(e.a,e.b,n,s,-2)||D(e.a,e.b,r,[],-2))return!1;for(let n of e){if(n===t||n.isLayoutOnly)continue;let e=n.points;if(e&&!(e.length<2)){for(let t of a)for(let n of S(C(e)))if(w(t,n,.5)>=8||V(t.a,t.b,n.a,n.b,.001))return!1}}return!0},"candidateIsSafe"),l=(0,i.K)((e,t)=>{if(t+4>=e.length)return;let n=e[t],r=e[t+1],o=e[t+2],l=e[t+3],i=e[t+4],a=M(n,r)&&K(r,o)&&M(o,l)&&K(l,i)&&y(n,l,.001)&&y(n,i,.001)&&y(r,o,.001)&&(r.x-n.x)*(l.x-o.x)<0,s=K(n,r)&&M(r,o)&&K(o,l)&&M(l,i)&&b(n,l,.001)&&b(n,i,.001)&&b(r,o,.001)&&(r.y-n.y)*(l.y-o.y)<0;if(a||s)return C([...e.slice(0,t+1),i,...e.slice(t+5)]);if(t+5>=e.length)return;let f=e[t+5],d=K(n,r)&&M(r,o)&&K(o,l)&&M(l,i)&&K(i,f)&&y(n,i,.001)&&y(n,f,.001)&&y(o,l,.001)&&(o.x-r.x)*(i.x-l.x)<0,u=M(n,r)&&K(r,o)&&M(o,l)&&K(l,i)&&M(i,f)&&b(n,i,.001)&&b(n,f,.001)&&b(o,l,.001)&&(o.y-r.y)*(i.y-l.y)<0;if(d||u)return C([...e.slice(0,t+1),f,...e.slice(t+6)])},"withoutDogleg");for(let t=0;t<8;t++){let t=!1;for(let n of e){if(n.isLayoutOnly)continue;let e=C(n.points??[]);for(let r=0;r<=e.length-5;r++){let i=l(e,r);if(i&&o(n,i)){n.points=i,t=!0;break}}if(t)break}if(!t)return}}function eN(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t,n)=>C(e===t?n??[]:e.points??[]),"pointsFor"),a=(0,i.K)((e,t)=>{let n=0;for(let r=0;r<o.length;r++){let i=S(l(o[r],e,t));for(let a=r+1;a<o.length;a++){let r=S(l(o[a],e,t));for(let e of i)for(let t of r)V(e.a,e.b,t.a,t.b,.001)&&n++}}return n},"strictCrossingCount"),s=(0,i.K)(e=>{let t=S(e);if(3!==t.length)return;let n=t[1];if(t[0].horizontal!==n.horizontal&&t[2].horizontal!==n.horizontal)return{index:n.index,horizontal:n.horizontal,vertical:n.vertical,segment:n}},"middleRail"),f=(0,i.K)((e,t)=>{let r=[e.start,e.end].filter(e=>!!e);return n.filter(e=>{if(r.includes(e.id))return!1;let n=e.rect;return t.horizontal?I(t.a.x,t.b.x,n.left,n.right)>=8&&t.a.y>=n.top-2&&t.a.y<=n.bottom+2:I(t.a.y,t.b.y,n.top,n.bottom)>=8&&t.a.x>=n.left-2&&t.a.x<=n.right+2})},"blockingRectsFor"),d=(0,i.K)((e,t,n)=>{let r=e.map(e=>({...e}));if(t.horizontal)r[t.index].y=n,r[t.index+1].y=n;else{if(!t.vertical)return;r[t.index].x=n,r[t.index+1].x=n}let o=Z(C(r));return S(o).length===o.length-1?o:void 0},"candidateByMovingRail"),u=(0,i.K)((e,t,i)=>{let s=[e.start,e.end].filter(e=>!!e),f=S(t);if(f.length!==t.length-1)return!1;for(let e of f)if(D(e.a,e.b,n,s,-2)||D(e.a,e.b,r,[],-2))return!1;for(let t of o)if(t!==e){for(let e of f)for(let n of S(l(t)))if(w(e,n,.5)>=8)return!1}return a(e,t)<=i},"candidateIsSafe");for(let e=0;e<8;e++){let e=a(),t=!1;for(let n of o){let r=l(n),o=s(r);if(!o)continue;let i=f(n,o.segment);if(0!==i.length){for(let l of o.horizontal?[Math.min(...i.map(e=>e.rect.top))-20,Math.max(...i.map(e=>e.rect.bottom))+20]:[Math.min(...i.map(e=>e.rect.left))-20,Math.max(...i.map(e=>e.rect.right))+20]){let i=d(r,o.segment,l);if(i&&u(n,i,e)){n.points=i,t=!0;break}}if(t)break}}if(!t)return}}function eX(e,t){let n=(0,i.K)(e=>{let t=e.groupTitleRect;if(t&&"number"==typeof t.left&&"number"==typeof t.right&&"number"==typeof t.top&&"number"==typeof t.bottom&&Number.isFinite(t.left)&&Number.isFinite(t.right)&&Number.isFinite(t.top)&&Number.isFinite(t.bottom)&&!(t.right<=t.left)&&!(t.bottom<=t.top))return{left:t.left,right:t.right,top:t.top,bottom:t.bottom}},"validTitleRect"),r=(0,i.K)(e=>{if(!e.isGroup||e.parentId)return;let t=e.direction,r="string"==typeof t?t.toUpperCase():"";if("LR"===r||"RL"===r||"BT"===r)return;let o=n(e),l=e.y,i=e.height;if(!o||"number"!=typeof l||"number"!=typeof i||!Number.isFinite(l)||!Number.isFinite(i)||i<=0)return;let a=o.right-o.left,s=o.bottom-o.top;if(!(s<=0)&&!(a<s))return{node:e,rect:o}},"topLaneTitleFor"),o=(0,i.K)((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return!(n<=t.top+.001)&&!(n>=t.bottom-.001)&&I(e.a.x,e.b.x,t.left,t.right)>=8},"horizontalSegmentIntersectsTitle"),l=[...t.values()].map(r).filter(e=>!!e);if(0===l.length)return;let a=0;for(let t of e)if(!t.isLayoutOnly)for(let e of S(C(t.points??[])))for(let t of l)o(e,t.rect)&&(a=Math.max(a,t.rect.bottom-e.a.y+4));if(!(a<=.001))for(let e of l){let t=e.node.y,n=e.node.height;"number"==typeof t&&"number"==typeof n&&Number.isFinite(t)&&Number.isFinite(n)&&!(n<=0)&&(e.node.y=t-a/2,e.node.height=n+a,e.node.groupTitleRect={...e.rect,top:e.rect.top-a,bottom:e.rect.bottom-a})}}function ez(e,t){let n=(0,i.K)(e=>{let t=e.groupTitleRect;if(t&&"number"==typeof t.left&&"number"==typeof t.right&&"number"==typeof t.top&&"number"==typeof t.bottom&&Number.isFinite(t.left)&&Number.isFinite(t.right)&&Number.isFinite(t.top)&&Number.isFinite(t.bottom)&&!(t.right<=t.left)&&!(t.bottom<=t.top))return{left:t.left,right:t.right,top:t.top,bottom:t.bottom}},"validTitleRect"),r=(0,i.K)(e=>{if(!e.isGroup||e.parentId||"LR"!==e.direction)return;let t=n(e),r=e.x,o=e.width;if(!t||"number"!=typeof r||"number"!=typeof o||!Number.isFinite(r)||!Number.isFinite(o)||o<=0)return;let l=t.right-t.left,i=t.bottom-t.top;if(!(l<=0)&&!(i<l))return{node:e,rect:t}},"leftLaneTitleFor"),o=(0,i.K)((e,t)=>{if(!e.vertical)return!1;let n=e.a.x;return!(n<=t.left+.001)&&!(n>=t.right-.001)&&I(e.a.y,e.b.y,t.top,t.bottom)>=8},"verticalSegmentIntersectsTitle"),l=(0,i.K)((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return!(n<=t.top+.001)&&!(n>=t.bottom-.001)&&I(e.a.x,e.b.x,t.left,t.right)>=8},"horizontalSegmentIntersectsTitle"),a=[...t.values()].map(r).filter(e=>!!e);if(0===a.length)return;let s=0;for(let t of e)if(!t.isLayoutOnly){for(let e of S(C(t.points??[])))for(let t of a)if(o(e,t.rect))s=Math.max(s,t.rect.right-e.a.x+4);else if(l(e,t.rect)){let n=Math.min(e.a.x,e.b.x);s=Math.max(s,t.rect.right-n+4)}}if(!(s<=.001))for(let e of a){let t=e.node.x,n=e.node.width;"number"==typeof t&&"number"==typeof n&&Number.isFinite(t)&&Number.isFinite(n)&&!(n<=0)&&(e.node.x=t-s/2,e.node.width=n+s,e.node.groupTitleRect={...e.rect,left:e.rect.left-s,right:e.rect.right-s})}}function eY(e,t){let{realNodeRects:n}=Y(t.values()),r=e.filter(e=>!e.isLayoutOnly),o=(0,i.K)((e,t=new Map)=>C(t.get(e)??e.points??[]),"replacementPointsFor"),l=(0,i.K)((e=new Map)=>{let t=0;for(let n=0;n<r.length;n++){let l=S(o(r[n],e));for(let i=n+1;i<r.length;i++){let n=S(o(r[i],e));for(let e of l)for(let r of n)V(e.a,e.b,r.a,r.b,.001)&&t++}}return t},"crossingCount"),a=(0,i.K)((e=new Map)=>r.reduce((t,n)=>t+v(o(n,e)),0),"totalBends"),s=(0,i.K)(e=>{let t=o(e);if(t.length<4)return;let n=t[t.length-2],r=t[t.length-1];if(M(n,r,.001)||K(n,r,.001))return{tailStart:n,terminal:r}},"terminalTailFor"),f=(0,i.K)((e,t)=>{let n,r=o(e);if(r.length<3)return;let l=r[0],i=r[1];if(M(l,i,.001))n={x:i.x,y:t.tailStart.y};else{if(!K(l,i,.001))return;n={x:t.tailStart.x,y:i.y}}let a=Z(C([l,i,n,t.tailStart,t.terminal]));return S(a).length===a.length-1?a:void 0},"candidateWithDestinationTail"),d=(0,i.K)((e,t)=>{let r=[e.start,e.end].filter(e=>!!e);for(let e of S(t))if(D(e.a,e.b,n,r,-2))return!0;return!1},"pathHasNodeHit"),u=(0,i.K)((e,t,n)=>{for(let l of r)if(l!==e){for(let e of S(t))for(let t of S(o(l,n)))if(w(e,t,.5)>=8)return!0}return!1},"pathHasSharedTrack"),h=(0,i.K)((e,t,n)=>!d(e,t)&&!u(e,t,n),"candidateIsSafe"),g=(0,i.K)(()=>{let e=new Map;for(let n of r){let r=n.end;if(!r||!t.has(r)||o(n).length<4)continue;let l=e.get(r)??[];l.push(n),e.set(r,l)}return e},"edgesByDestination");for(let e=0;e<4;e++){let e,t=l();if(0===t)return;let n=a(),r=t,o=n;for(let n of g().values())for(let i=0;i<n.length;i++)for(let d=i+1;d<n.length;d++){let u=n[i],g=n[d],c=s(u),p=s(g);if(!c||!p)continue;let x=f(u,p),m=f(g,c);if(!x||!m)continue;let y=new Map([[u,x],[g,m]]);if(!h(u,x,y)||!h(g,m,y))continue;let b=l(y),M=a(y);!(b>=t)&&(b>r||b===r&&M>=o||(e=y,r=b,o=M))}if(!e)return;for(let[t,n]of e)t.points=n}}function eA(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t=new Map)=>C(t.get(e)??e.points??[]),"replacementPointsFor"),a=(0,i.K)((e=new Map)=>{let t=0;for(let n=0;n<o.length;n++){let r=S(l(o[n],e));for(let i=n+1;i<o.length;i++){let n=S(l(o[i],e));for(let e of r)for(let r of n)V(e.a,e.b,r.a,r.b,.001)&&t++}}return t},"strictCrossingCount"),s=(0,i.K)((e=new Map)=>o.reduce((t,n)=>t+v(l(n,e)),0),"totalBends"),f=(0,i.K)(e=>{let n=e.start,r=e.end,o=n?t.get(n):void 0,l=r?t.get(r):void 0,i=o?E(o):void 0,a=l?E(l):void 0;return i&&a?{src:i,dst:a}:void 0},"endpointRectsFor"),d=(0,i.K)((e,t,n)=>{if(n.index<=0||n.index+1>=t.length-1)return;let r=f(e);if(r){if(n.vertical){let o=n.a.x,l=Math.min(r.src.left,r.dst.left),i=Math.max(r.src.right,r.dst.right),a=o<l-.001?"left":o>i+.001?"right":void 0;if(!a)return;return{edge:e,points:t,segmentIndex:n.index,axis:"vertical",side:a,coord:o,min:Math.min(n.a.y,n.b.y),max:Math.max(n.a.y,n.b.y)}}if(n.horizontal){let o=n.a.y,l=Math.min(r.src.top,r.dst.top),i=Math.max(r.src.bottom,r.dst.bottom),a=o<l-.001?"top":o>i+.001?"bottom":void 0;if(!a)return;return{edge:e,points:t,segmentIndex:n.index,axis:"horizontal",side:a,coord:o,min:Math.min(n.a.x,n.b.x),max:Math.max(n.a.x,n.b.x)}}}},"externalRailForSegment"),u=(0,i.K)(()=>{let e=[];for(let t of o){let n=l(t);for(let r of S(n)){let o=d(t,n,r);o&&e.push(o)}}return e},"collectExternalRails"),h=(0,i.K)((e,t)=>e.edge!==t.edge&&e.axis===t.axis&&e.side===t.side&&I(e.min,e.max,t.min,t.max)>=8,"railsInteract"),g=(0,i.K)(e=>{let t=[],n=new Set;for(let r of e){if(n.has(r))continue;let o=[r],l=[];for(n.add(r);o.length>0;){let t=o.pop();for(let r of(l.push(t),e))!n.has(r)&&h(t,r)&&(n.add(r),o.push(r))}l.length>1&&t.push(l)}return t},"connectedComponents"),c=(0,i.K)(e=>{let t=[];for(let n of e)t.some(e=>.001>Math.abs(e-n.coord))||t.push(n.coord);for(;t.length<e.length;){let n=Math.min(...t),r=Math.max(...t),o=e[0].side;t.push("left"===o||"top"===o?n-12*(e.length-t.length):r+12*(e.length-t.length))}return t},"uniqueCoordsFor"),p=(0,i.K)(e=>{let t=e.map(e=>e.coord),n=c(e),r=[];if(e.length<=6){let o=Array(n.length).fill(!1),l=[],a=(0,i.K)(()=>{if(l.length===e.length){l.some((e,n)=>Math.abs(e-t[n])>=.001)&&r.push([...l]);return}for(let[e,t]of n.entries())o[e]||(o[e]=!0,l.push(t),a(),l.pop(),o[e]=!1)},"visit");return a(),r}for(let e=0;e<t.length;e++)for(let n=e+1;n<t.length;n++){let o=[...t];[o[e],o[n]]=[o[n],o[e]],r.push(o)}return r},"coordinateAssignmentsFor"),x=(0,i.K)((e,t)=>{let n=new Map;for(let[r,o]of e.entries()){let e=t[r],l=n.get(o.edge)??o.points.map(e=>({x:e.x,y:e.y}));"vertical"===o.axis?(l[o.segmentIndex].x=e,l[o.segmentIndex+1].x=e):(l[o.segmentIndex].y=e,l[o.segmentIndex+1].y=e),n.set(o.edge,l)}let r=new Map;for(let[e,t]of n){let n=Z(C(t));if(S(n).length!==n.length-1)return;r.set(e,n)}return r},"replacementsForAssignment"),m=(0,i.K)(e=>{for(let[t,o]of e){let e=[t.start,t.end].filter(e=>!!e);for(let t of S(o))if(D(t.a,t.b,n,e,-2)||D(t.a,t.b,r,[],-2))return!1}for(let t=0;t<o.length;t++){let n=o[t],r=e.has(n),i=S(l(n,e));for(let n=t+1;n<o.length;n++){let t=o[n];if(!r&&!e.has(t))continue;let a=S(l(t,e));for(let e of i)for(let t of a)if(w(e,t,.5)>=8)return!1}}return!0},"candidateIsSafe");for(let e=0;e<4;e++){let e,t=a();if(0===t)return;let n=t,r=s(),o=1/0;for(let l of g(u()))for(let i of p(l)){let f=x(l,i);if(!f||!m(f))continue;let d=a(f);if(d>=t)continue;let u=s(f),h=l.reduce((e,t,n)=>e+Math.abs(i[n]-t.coord),0);d>n||d===n&&(u>r||u===r&&h>=o)||(e=f,n=d,r=u,o=h)}if(!e)return;for(let[t,n]of e)t.points=n}}function eG(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t,n)=>C(e===t?n??[]:e.points??[]),"pointsFor"),a=(0,i.K)(e=>S(e).reduce((e,t)=>e+Math.hypot(t.a.x-t.b.x,t.a.y-t.b.y),0),"pathLength"),s=(0,i.K)((e,t)=>{let n=0;for(let r=0;r<o.length;r++){let i=S(l(o[r],e,t));for(let a=r+1;a<o.length;a++){let r=S(l(o[a],e,t));for(let e of i)for(let t of r)V(e.a,e.b,t.a,t.b,.001)&&n++}}return n},"strictCrossingCount"),f=(0,i.K)((e,t)=>{if(e.horizontal){let n=e.a.y;return(1>Math.abs(n-t.top)||1>Math.abs(n-t.bottom))&&I(e.a.x,e.b.x,t.left,t.right)>=8}if(e.vertical){let n=e.a.x;return(1>Math.abs(n-t.left)||1>Math.abs(n-t.right))&&I(e.a.y,e.b.y,t.top,t.bottom)>=8}return!1},"segmentRunsAlongRectBorder"),d=(0,i.K)(e=>{let n=[e.start,e.end].filter(e=>!!e),r=[];for(let e of n){let n=t.get(e),o=n?E(n):void 0;o&&r.push(o)}return r},"endpointRectsFor"),u=(0,i.K)((e,t)=>{if(t+3>=e.length)return[];let n=e[t],r=e[t+1],o=e[t+2],l=e[t+3],i=M(n,r,.001)&&K(r,o,.001)&&M(o,l,.001),a=K(n,r,.001)&&M(r,o,.001)&&K(o,l,.001);if(!i&&!a||!(i?Math.sign(r.x-n.x)!==Math.sign(l.x-o.x):Math.sign(r.y-n.y)!==Math.sign(l.y-o.y)))return[];let s=y(n,l,.001)||b(n,l,.001)?[]:[{x:n.x,y:l.y},{x:l.x,y:n.y}],f=0===s.length?[[...e.slice(0,t+1),...e.slice(t+3)]]:s.map(n=>[...e.slice(0,t+1),n,...e.slice(t+3)]),d=new Set;return f.map(e=>Z(C(e))).filter(e=>{if(S(e).length!==e.length-1||!e.some(e=>m(e,l,.001)))return!1;let t=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!d.has(t)&&(d.add(t),!0)})},"shortcutCandidatesAt"),h=(0,i.K)((e,t,i)=>{let a=[e.start,e.end].filter(e=>!!e),u=d(e);for(let e of S(t))if(D(e.a,e.b,n,a,-2)||D(e.a,e.b,r,[],-2)||u.some(t=>f(e,t)))return!1;for(let n of o)if(n!==e){for(let e of S(t))for(let t of S(l(n)))if(w(e,t,.5)>=8)return!1}return s(e,t)<=i},"candidateIsSafe");for(let e=0;e<8;e++){let e,t,n=s(),r=n,i=1/0,f=1/0;for(let d of o){let o=l(d),g=v(o,.001),c=a(o);for(let l=0;l<=o.length-4;l++)for(let p of u(o,l)){let o=v(p,.001),l=a(p);if(!(o<g||o===g&&l<c-.001)||!h(d,p,n))continue;let u=s(d,p);u>r||u===r&&(o>i||o===i&&l>=f)||(e=d,t=p,r=u,i=o,f=l)}}if(!e||!t)return;e.points=t}}function eD(e,t){let n=[];for(let e of t.values()){if(e.isGroup||e.isEdgeLabel)continue;let t=e.x??0,r=e.y??0,o=E(e);o&&n.push({id:String(e.id??""),cx:t,cy:r,rect:o})}if(0===n.length)return;let r=new Map(n.map(e=>[e.id,e])),o=n.map(e=>({id:e.id,rect:e.rect})),l=["top","bottom","left","right"],a={top:Math.min(...n.map(e=>e.rect.top))-20,bottom:Math.max(...n.map(e=>e.rect.bottom))+20,left:Math.min(...n.map(e=>e.rect.left))-20,right:Math.max(...n.map(e=>e.rect.right))+20},s=e.filter(e=>!e.isLayoutOnly),f=new Map(s.map((e,t)=>[e,t])),d=(0,i.K)(e=>{let t="left"===e||"top"===e?-1:1,n=[];for(let r=0;r<=2;r++)n.push(a[e]+20*t*r);return n},"outwardTracksForSide"),u=(0,i.K)((e,t=new Map)=>C(t.get(e)??e.points??[]),"replacementPointsFor"),h=(0,i.K)((e,t)=>{let n=0;for(let r of e)for(let e of t)V(r.a,r.b,e.a,e.b,.001)&&n++;return n},"crossingCountBetweenSegments"),g=(0,i.K)((e,t)=>h(S(e),S(t)),"crossingCountBetweenPaths"),c=(0,i.K)((e=new Map)=>{let t=0,n=[],r=new Set,o=[],l=(0,i.K)(e=>{r.has(e)||(r.add(e),o.push(e))},"addEdge");for(let r=0;r<s.length;r++){let o=s[r],i=u(o,e);for(let a=r+1;a<s.length;a++){let r=s[a],f=g(i,u(r,e));f>0&&(t+=f,n.push({first:o,second:r,count:f}),l(o),l(r))}}return o.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),{count:t,pairs:n,edgeSet:r,edges:o}},"crossingSnapshot"),p=(0,i.K)((e,t)=>{let n=new Set(t.keys());if(0===n.size)return e.count;let r=0;for(let t of e.pairs)(n.has(t.first)||n.has(t.second))&&(r+=t.count);let o=0;for(let e=0;e<s.length;e++){let r=s[e],l=n.has(r),i=u(r,t);for(let r=e+1;r<s.length;r++){let e=s[r];(l||n.has(e))&&(o+=g(i,u(e,t)))}}return e.count-r+o},"crossingCountWithReplacements"),x=(0,i.K)(e=>{let t=new Map;for(let n of e.pairs){let e=t.get(n.first)??new Set;e.add(n.second),t.set(n.first,e);let r=t.get(n.second)??new Set;r.add(n.first),t.set(n.second,r)}let n=[],r=new Set;for(let o of e.edges){if(r.has(o))continue;let e=[o],l=[];for(r.add(o);e.length>0;){let n=e.pop();for(let o of(l.push(n),t.get(n)??[]))r.has(o)||(r.add(o),e.push(o))}l.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),l.length>1&&n.push(l)}return n},"crossingComponents"),m=(0,i.K)(e=>[e.start,e.end].filter(e=>!!e),"endpointIdsFor"),y=(0,i.K)(e=>{let t=[];for(let n of x(e)){let e=new Set(n),r=new Set(n.flatMap(e=>m(e))),o=[...n];for(let t of s)!e.has(t)&&m(t).some(e=>r.has(e))&&o.push(t);o.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),t.push(o)}return t},"pairSearchGroups"),b=(0,i.K)((e,t,n)=>p(e,new Map([[t,n]])),"crossingCountWithSingleReplacement"),I=(0,i.K)(e=>{let t=new Map;for(let n of e.pairs)t.set(n.first,(t.get(n.first)??0)+n.count),t.set(n.second,(t.get(n.second)??0)+n.count);return t},"currentCrossingsByEdge"),L=(0,i.K)(e=>e.slice(1).reduce((t,n,r)=>{let o=e[r];return t+Math.abs(n.x-o.x)+Math.abs(n.y-o.y)},0),"pathLength"),k=(0,i.K)((e=new Map)=>s.reduce((t,n)=>t+v(u(n,e)),0),"totalBends"),$=(0,i.K)((e=new Map)=>s.reduce((t,n)=>t+L(u(n,e)),0),"totalLength"),R=(0,i.K)((e,t,n=new Map)=>{let r=S(t);for(let t of s)if(t!==e){for(let e of r)for(let r of S(u(t,n)))if(w(e,r,.5)>=8)return!0}return!1},"pathHasSegmentConflict"),O=(0,i.K)((e,t)=>{let n=[e.start,e.end].filter(e=>!!e);for(let e of S(t))if(D(e.a,e.b,o,n,-2))return!0;return!1},"pathHitsNode"),T=(0,i.K)((e,t)=>{let n=Z(C(t));S(n).length===n.length-1&&e.push(n)},"pushOrthogonalCandidate"),F=(0,i.K)(e=>"left"===e||"right"===e,"sideIsHorizontal"),z=(0,i.K)((e,t,n)=>{switch(t){case"left":return Math.min(e.x,n.x)-20;case"right":return Math.max(e.x,n.x)+20;case"top":return Math.min(e.y,n.y)-20;case"bottom":return Math.max(e.y,n.y)+20}},"localTrackForSameSide"),Y=(0,i.K)((e,t,n,r)=>{let o="left"===n||"top"===n?-1:1;for(let l of[z(t,n,r),a[n]])for(let i=0;i<=2;i++)T(e,X(t,n,r,l+20*o*i))},"addSameSideCandidates"),A=(0,i.K)((e,t,n,r,o)=>{for(let l of d(n))for(let n of d(o))T(e,[t,{x:l,y:t.y},{x:l,y:n},{x:r.x,y:n},r])},"addHorizontalToVerticalCandidates"),G=(0,i.K)((e,t,n,r,o)=>{for(let l of d(n))for(let n of d(o))T(e,[t,{x:t.x,y:l},{x:n,y:l},{x:n,y:r.y},r])},"addVerticalToHorizontalCandidates"),P=(0,i.K)((e,t,n,r,o)=>{let l=[...d("top"),...d("bottom")];for(let i of d(n))for(let n of d(o))for(let o of l)T(e,[t,{x:i,y:t.y},{x:i,y:o},{x:n,y:o},{x:n,y:r.y},r])},"addHorizontalPairCandidates"),H=(0,i.K)((e,t,n,r,o)=>{let l=[...d("left"),...d("right")];for(let i of d(n))for(let n of d(o))for(let o of l)T(e,[t,{x:t.x,y:i},{x:o,y:i},{x:o,y:n},{x:r.x,y:n},r])},"addVerticalPairCandidates"),j=(0,i.K)(e=>{let t=new Set;return e.map(e=>C(e)).filter(e=>{let n=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!t.has(n)&&!(e.length<2)&&(t.add(n),!0)})},"dedupeCandidatePaths"),_=(0,i.K)((e,t,n,r)=>{let o=[],l=N(e,t,n,r,20,.001);l&&T(o,l),t===r&&Y(o,e,t,n);let i=F(t),a=F(r);return i&&!a?A(o,e,t,n,r):!i&&a?G(o,e,t,n,r):i?P(o,e,t,n,r):H(o,e,t,n,r),j(o)},"buildCandidatesForSides"),W=(0,i.K)((e,t,n,r)=>{let o=[...d("left"),...d("right")],i=[...d("top"),...d("bottom")];for(let a of l){let l=B(r,a),s="top"===a||"bottom"===a?d(a):i;for(let r of o)for(let o of(T(e,[t,n,{x:r,y:n.y},{x:r,y:l.y},l]),s))T(e,[t,n,{x:r,y:n.y},{x:r,y:o},{x:l.x,y:o},l])}},"addVerticalDepartureOuterTrackCandidates"),q=(0,i.K)((e,t,n,r)=>{let o=[...d("left"),...d("right")],i=[...d("top"),...d("bottom")];for(let a of l){let l=B(r,a),s="left"===a||"right"===a?d(a):o;for(let r of i)for(let o of(T(e,[t,n,{x:n.x,y:r},{x:l.x,y:r},l]),s))T(e,[t,n,{x:n.x,y:r},{x:o,y:r},{x:o,y:l.y},l])}},"addHorizontalDepartureOuterTrackCandidates"),J=(0,i.K)(e=>{let t=e.start,n=e.end,o=n?r.get(n):void 0;if(!t||!o)return[];let l=C(e.points??[]);if(l.length<4)return[];let i=l[0],a=l[1],s=[];return K(i,a,.001)?W(s,i,a,o):M(i,a,.001)&&q(s,i,a,o),s},"terminalPreservingOuterTrackCandidates"),Q=(0,i.K)(e=>{let t=e.start,n=e.end,o=t?r.get(t):void 0,i=n?r.get(n):void 0;if(!o||!i)return[];let a=[];for(let e of l){let t=B(o,e);for(let n of l)a.push(..._(t,e,B(i,n),n))}return a.push(...J(e)),a},"candidatePathsFor"),U=(0,i.K)(()=>new Map(s.map(e=>[e,S(u(e))])),"currentSegmentsByEdge"),ee=(0,i.K)((e,t,n)=>{let r=new Set;for(let o of s){if(o===e)continue;let l=n.get(o)??S(u(o));t.some(e=>l.some(t=>w(e,t,.5)>=8))&&r.add(o)}return r},"sharedTrackConflictsFor"),et=(0,i.K)((e,t,n,r)=>{let o=new Set;return Q(e).map(e=>Z(C(e))).filter(t=>{if(O(e,t))return!1;let n=t.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!o.has(n)&&!(t.length<2)&&(o.add(n),!0)}).map(o=>{let l=S(o),i=0;for(let t of s)t!==e&&(i+=h(l,n.get(t)??S(u(t))));return{candidate:o,candidateSegments:l,crossings:t.count-(r.get(e)??0)+i,bends:v(o,.001),totalBends:v(o),length:L(o)}}).filter(({crossings:e})=>e<=t.count).sort((e,t)=>e.crossings-t.crossings||e.bends-t.bends||e.length-t.length).slice(0,48).map(t=>({path:t.candidate,segments:t.candidateSegments,sharedTrackConflicts:ee(e,t.candidateSegments,n),totalBends:t.totalBends,length:t.length}))},"pairCandidatesFor"),en=(0,i.K)((e,t,n,r,o,l)=>{let i=0;for(let n of e.pairs)(n.first===t||n.second===t||n.first===r||n.second===r)&&(i+=n.count);let a=h(n.segments,o.segments);for(let e of s){if(e===t||e===r)continue;let i=l.get(e)??S(u(e));a+=h(n.segments,i)+h(o.segments,i)}return e.count-i+a},"pairCrossingCount"),er=(0,i.K)((e,t)=>{for(let n of e.sharedTrackConflicts)if(n!==t)return!1;return!0},"conflictsOnlyWith"),eo=(0,i.K)((e,t)=>e.segments.some(e=>t.segments.some(t=>w(e,t,.5)>=8)),"candidatesShareTrack"),el=(0,i.K)((e,t,n,r)=>er(t,n.edge)&&er(r,e.edge)&&!eo(t,r),"pairCandidatesAreCompatible"),ei=(0,i.K)((e,t,n,r,o)=>{let l=en(e.current,t.edge,n,r.edge,o,e.baseSegments);if(!(l>=e.current.count))return{replacements:new Map([[t.edge,n.path],[r.edge,o.path]]),crossings:l,bends:e.currentBends-(e.baseBendsByEdge.get(t.edge)??0)-(e.baseBendsByEdge.get(r.edge)??0)+n.totalBends+o.totalBends,length:e.currentLength-(e.baseLengthByEdge.get(t.edge)??0)-(e.baseLengthByEdge.get(r.edge)??0)+n.length+o.length}},"scorePairReplacement"),ea=(0,i.K)((e,t)=>e.crossings<t.crossings||e.crossings===t.crossings&&(e.bends<t.bends||e.bends===t.bends&&e.length<t.length),"pairScoreIsBetter"),es=(0,i.K)((e,t,n,r)=>{let o=r;for(let r of t.candidates)for(let l of n.candidates){if(!el(t,r,n,l))continue;let i=ei(e,t,r,n,l);i&&ea(i,o)&&(o=i)}return o},"bestScoreForOptionPair"),ef=(0,i.K)(e=>{let t=k(),n=$(),r=U(),o=I(e),l=new Map(s.map(e=>[e,v(u(e))])),i=new Map(s.map(e=>[e,L(u(e))])),a=new Map,f=y(e);for(let t of f)for(let n of t){if(a.has(n))continue;let t=et(n,e,r,o);t.length>0&&a.set(n,{edge:n,candidates:t})}let d={replacements:new Map,crossings:e.count,bends:t,length:n},h={current:e,currentBends:t,currentLength:n,baseBendsByEdge:l,baseLengthByEdge:i,baseSegments:r};for(let t of f){let n=new Set(t.filter(t=>e.edgeSet.has(t))),r=t.map(e=>a.get(e)).filter(e=>!!e);for(let e=0;e<r.length;e++){let t=r[e];for(let o=e+1;o<r.length;o++){let e=r[o];(n.has(t.edge)||n.has(e.edge))&&(d=es(h,t,e,d))}}}return d.replacements.size>0?d.replacements:void 0},"bestPairedReplacement");for(let e=0;e<4;e++){let e,t,n=c(),r=n.count;if(0===r)return;let o=r,l=1/0;for(let i of n.edges){let a=v(u(i),.001);for(let s of Q(i)){let f=O(i,s),d=!f&&R(i,s),u=b(n,i,s),h=v(s,.001);!f&&!d&&(u<r||u===r&&h<a)&&(u>o||u===o&&h>=l||(e=i,t=s,o=u,l=h))}}if(e&&t){e.points=t;continue}let i=ef(n);if(!i)return;for(let[e,t]of i)e.points=t}}function eP(e,t){let{nodeInfoById:n,realNodeRects:r}=z(t),o=["top","bottom","left","right"],l={top:Math.min(...r.map(e=>e.rect.top))-20,bottom:Math.max(...r.map(e=>e.rect.bottom))+20,left:Math.min(...r.map(e=>e.rect.left))-20,right:Math.max(...r.map(e=>e.rect.right))+20},a=(0,i.K)((e,t,n,r)=>{let o=[],i=N(e,t,n,r,20,.001);return i&&o.push(i),t===r&&o.push(X(e,t,n,l[t])),o},"buildOrthogonalPathCandidates"),s=(0,i.K)((e,t)=>{for(let n=0;n<e.length-1;n++)if(D(e[n],e[n+1],r,t,1))return!0;return!1},"pathHitsNode"),f=(0,i.K)((t,n,r=!1)=>{let o=0,l=S(t,.001),i=n.start,a=n.end;for(let t of e){if(t===n||t.isLayoutOnly)continue;let e=t.start,s=t.end;if(!r&&i&&a&&(e===i||e===a||s===i||s===a))continue;let f=t.points;if(f&&!(f.length<2))for(let e of l)for(let t of S(f,.001)){if(P(e.a,e.b,t.a,t.b,.001,.001)){o++;continue}w(e,t,.001)>=8&&o++}}return o},"pathConflictCount"),d=(0,i.K)((e,t)=>{let n=Math.abs(e.y-t.rect.top),r=Math.abs(e.y-t.rect.bottom),o=Math.abs(e.x-t.rect.left),l=Math.abs(e.x-t.rect.right),i="top",a=n;return r<a&&(i="bottom",a=r),o<a&&(i="left",a=o),l<a&&(i="right",a=l),i},"nearestSideOfRect"),u=new Map,h=(0,i.K)((e,t,n)=>{let r=u.get(e)??[];r.push({side:t,edgeId:n}),u.set(e,r)},"addFaceClaim");for(let t of e){if(t.isLayoutOnly)continue;let e=t.points??[];if(e.length<1)continue;let r=t.id??"",o=t.start,l=t.end;if(o){let t=n.get(o);t&&h(o,d(e[0],t),r)}if(l){let t=n.get(l);t&&h(l,d(e[e.length-1],t),r)}}let g=(0,i.K)((e,t,n)=>u.get(e)?.some(e=>e.edgeId!==n&&e.side===t)??!1,"faceIsClaimed");for(let t of e){let e;if(t.isLayoutOnly)continue;let r=t.points;if(!r||r.length<2)continue;let l=v(r,.001);if(l<4)continue;let i=t.start,c=t.end;if(!i||!c)continue;let p=n.get(i),x=n.get(c);if(!p||!x)continue;let m=t.id??"",y=f(r,t,!0),b=f(r,t),M=y,K=l;for(let n of o){if(g(i,n,m))continue;let r=B(p,n);for(let l of o)if(!g(c,l,m))for(let o of a(r,n,B(x,l),l)){if(s(o,[i,c]))continue;let n=v(o,.001);if(y>0){let r=f(o,t,!0);if(r>M||r===M&&n>=K)continue;M=r,K=n,e=o;continue}!(f(o,t)>b)&&n<K&&(K=n,e=o)}}if(e){t.points=e;let n=u.get(i);n&&u.set(i,n.filter(e=>e.edgeId!==m));let r=u.get(c);r&&u.set(c,r.filter(e=>e.edgeId!==m)),h(i,d(e[0],p),m),h(c,d(e[e.length-1],x),m)}}}function eH(e,t){let n=t?0:e.length-1,r=e[n],o=e[n+(t?1:-1)];if(!r||!o)return;let l=o.x-r.x,i=o.y-r.y;if(!(Math.abs(l)+Math.abs(i)<.001)){if(.001>=Math.abs(i)){let e=r.x+10*Math.sign(l);return{left:Math.min(r.x,e),right:Math.max(r.x,e),top:r.y-7,bottom:r.y+7}}if(.001>=Math.abs(l)){let e=r.y+10*Math.sign(i);return{left:r.x-7,right:r.x+7,top:Math.min(r.y,e),bottom:Math.max(r.y,e)}}return{left:Math.min(r.x,o.x),right:Math.max(r.x,o.x),top:Math.min(r.y,o.y),bottom:Math.max(r.y,o.y)}}}function ej(e){return{left:Math.min(e.left,e.right),right:Math.max(e.left,e.right),top:Math.min(e.top,e.bottom),bottom:Math.max(e.top,e.bottom)}}function eV(e,t){let n=C(t);return[eH(n,!0),eH(n,!1)].some(t=>t&&O(e,ej(t)))}function e_(e,t){let n=[];for(let t of e){if(t.isLayoutOnly)continue;let e=t.points;if(e&&!(e.length<2))for(let r=0;r<e.length-1;r++)n.push({edgeId:t.id,p1:e[r],p2:e[r+1]})}let r=[],o=[];for(let e of t.values()){let t=e.isGroup,n=e.parentId;if(t&&!n){let t=E(e);t&&o.push({id:e.id,rect:t});continue}if(t||e.isEdgeLabel)continue;let l=E(e);l&&r.push({nodeId:e.id,rect:l})}let l=(0,i.K)((e,t)=>{let n=T(t,3);for(let{nodeId:t,rect:o}of r)if(t!==e&&O(n,o))return!0;return!1},"labelOverlapsForeignNode"),a=(0,i.K)((e,t)=>{let r=T(t,3);for(let t of n)if(t.edgeId!==e&&k(t.p1,t.p2,r))return!0;return!1},"labelOverlapsForeignEdge"),s=(0,i.K)((e,t,n)=>l(e,n)||a(t,n),"labelOverlapsAnything"),f=[],d=(0,i.K)(e=>{for(let{id:t,rect:n}of o)if(R(n,e))return t},"findContainingLane"),u=(0,i.K)((e,t)=>f.some(n=>n.labelId!==e&&O(t,n.rect)),"overlapsPlacedLabel");for(let n of e){if(n.isLayoutOnly)continue;let e=n.labelNodeId;if(!e)continue;let r=t.get(e);if(!r)continue;let h=n.points;if(!h||h.length<2)continue;let g=r.width??0,c=r.height??0;if(g<=0||c<=0)continue;let p=[];for(let e=0;e<h.length-1;e++){let t=h[e],n=h[e+1],r=Math.abs(t.x-n.x),o=Math.abs(t.y-n.y);(!(r<.001)||!(o<.001))&&(r>=.001&&o>=.001||p.push({idx:e,length:r+o,orientation:r>=.001?"horizontal":"vertical",midX:(t.x+n.x)/2,midY:(t.y+n.y)/2}))}if(0===p.length)continue;let x=p.length>=3?p.filter(e=>e.idx>0&&e.idx<p.length-1):p,m=x.length>0?x:p,y=g>=c?"horizontal":"vertical",b=(0,i.K)(e=>[...e].sort((e,t)=>{let n=e.orientation===y;if(n!==(t.orientation===y))return n?-1:1;let r=e.length>=("horizontal"===e.orientation?g:c)+2;return r!==t.length>=("horizontal"===t.orientation?g:c)+2?r?-1:1:t.length-e.length}),"rankSegments"),M=p[0],K=p[p.length-1],I=[.5,.25,.75,.05,.95,.15,.85,.1,.9],w=(0,i.K)((e,t)=>{let n=h[e.idx],r=h[e.idx+1];return{midX:n.x+(r.x-n.x)*t,midY:n.y+(r.y-n.y)*t}},"anchorAtT"),S=(0,i.K)((e,t,n)=>Math.min(n,Math.max(t,e)),"clamp"),v=(0,i.K)((e,t)=>e.midX>=t.left-.001&&e.midX<=t.right+.001&&e.midY>=t.top-.001&&e.midY<=t.bottom+.001,"pointInsideRectInclusive"),C=(0,i.K)(e=>{let t=F(e.midX,e.midY,g,c),n=d(t);if(n)return{laneId:n,anchor:e,rect:t};let r=o.find(({rect:t})=>v(e,t));if(!r)return;let l=r.rect.left+g/2+1,i=r.rect.right-g/2-1,a=r.rect.top+c/2+1,s=r.rect.bottom-c/2-1;if(l>i||a>s)return;let f={midX:S(e.midX,l,i),midY:S(e.midY,a,s)},u=F(f.midX,f.midY,g,c);return v(e,u)?{laneId:r.id,anchor:f,rect:u}:void 0},"placementForAnchor"),L=(0,i.K)((e,t,n)=>"horizontal"===e.orientation?Math.abs(t.midX-n.x):Math.abs(t.midY-n.y),"distanceAlongSegment"),k=(0,i.K)((e,t)=>{let n=("horizontal"===e.orientation?g/2:c/2)+12;if(e===M){let r=h[e.idx];if(L(e,t,r)+.001<n)return!1}if(e===K){let r=h[e.idx+1];if(L(e,t,r)+.001<n)return!1}return!0},"labelClearsTerminalEndpoints"),$=(0,i.K)(t=>{for(let r of b(t))for(let t of I){let o=w(r,t);if(!k(r,o))continue;let l=C(o);if(!(!l||eV(l.rect,h))&&!u(e,l.rect)&&!s(e,n.id,l.rect))return{laneId:l.laneId,anchor:l.anchor}}},"tryPool"),R=(0,i.K)((t,r,o=!1)=>{for(let i of b(t)){let t={midX:i.midX,midY:i.midY};if(r&&!k(i,t))continue;let s=C(t);if(s&&!eV(s.rect,h)&&!u(e,s.rect)&&!l(e,s.rect)&&(o||!a(n.id,s.rect)))return{laneId:s.laneId,anchor:s.anchor}}},"findLaneContainingFallback"),O=$(m)??(m.length<p.length?$(p):void 0)??R(p,!0)??R(p,!1)??R(p,!1,!0);if(O){r.x=O.anchor.midX,r.y=O.anchor.midY,r.parentId=O.laneId;let t=F(O.anchor.midX,O.anchor.midY,g,c),n=f.findIndex(t=>t.labelId===e);n>=0?f[n]={labelId:e,rect:t}:f.push({labelId:e,rect:t})}}}(0,i.K)(eE,"separateSharedRenderedTerminalLanes"),(0,i.K)(eB,"collapseRedundantRectangularDoglegs"),(0,i.K)(eN,"liftObstacleHuggingSameSideRails"),(0,i.K)(eX,"liftTopLaneTitleBandsAboveRails"),(0,i.K)(ez,"shiftLeftLaneTitleBandsLeftOfRails"),(0,i.K)(eY,"swapDestinationTerminalTailsToReduceCrossings"),(0,i.K)(eA,"reassignCrossingExternalRailChannels"),(0,i.K)(eG,"shortcutRedundantOrthogonalJogs"),(0,i.K)(eD,"resolveRenderedOrthogonalCrossings"),(0,i.K)(eP,"simplifyDetouredEdges"),(0,i.K)(eH,"markerClearanceRectFor"),(0,i.K)(ej,"normalizeRect"),(0,i.K)(eV,"labelOverlapsOwnMarker"),(0,i.K)(e_,"anchorLabelsToPolyline");function eW(e,t){return e<t?`${e}::${t}`:`${t}::${e}`}function eq(e,t){let{nodeInfoById:n,realNodeRects:r}=z(t),o=new Map;for(let e of t){let t=e.id;if(!e.isGroup&&e.isEdgeLabel){o.set(t,{w:e.width??0,h:e.height??0});continue}}let l=(0,i.K)((t,n,r,l)=>{let a=eW(n,r),s=0,f=(0,i.K)(e=>{if(!e)return;let t=o.get(e);if(!t)return;let n="x"===l?t.w/2:t.h/2;n>s&&(s=n)},"consider");for(let n of(f(t.labelNodeId),e)){if(n===t||n.isLayoutOnly)continue;let e=n.start,r=n.end;e&&r&&eW(e,r)===a&&f(n.labelNodeId)}return s>0?s+3:0},"labelClearanceFor");for(let t of e){let o,i;if(t.isLayoutOnly||!L(t.points,1e-6))continue;let a=G(t,n,1e-6);if(!a)continue;let{srcId:s,dstId:f,srcInfo:d,dstInfo:u,collinearX:h,collinearY:g}=a;if(h===g)continue;if(h){let e=u.cy>d.cy;o={x:d.cx,y:e?d.rect.bottom:d.rect.top},i={x:u.cx,y:e?u.rect.top:u.rect.bottom}}else{let e=u.cx>d.cx;o={x:e?d.rect.right:d.rect.left,y:d.cy},i={x:e?u.rect.left:u.rect.right,y:u.cy}}if(D(o,i,r,[s,f],1))continue;let c=l(t,s,f,h?"x":"y"),p=c>4?c:4;for(let n of[0,p,-p]){let l={...o},a={...i};if(h){if(l.x+=n,a.x+=n,l.x<=d.rect.left||l.x>=d.rect.right||a.x<=u.rect.left||a.x>=u.rect.right)continue}else if(l.y+=n,a.y+=n,l.y<=d.rect.top||l.y>=d.rect.bottom||a.y<=u.rect.top||a.y>=u.rect.bottom)continue;if(!D(l,a,r,[s,f],1)&&!j(l,a,e,t,{epsilon:1e-6})){t.points=[l,a];break}}}}function eJ(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values()),o=(0,i.K)((e,t)=>S(t,.001).map(n=>({...n,edge:e,interior:n.index>=1&&n.index<=t.length-3})),"segmentsFor"),l=(0,i.K)(()=>{let t=[];for(let n of e){if(n.isLayoutOnly)continue;let e=n.points;e&&!(e.length<2)&&t.push(...o(n,C(e)))}return t},"allSegments"),a=(0,i.K)((e,t)=>e.horizontal&&t.horizontal?I(e.a.x,e.b.x,t.a.x,t.b.x)>=8&&7>Math.abs(e.a.y-t.a.y):!!e.vertical&&!!t.vertical&&I(e.a.y,e.b.y,t.a.y,t.b.y)>=8&&7>Math.abs(e.a.x-t.a.x),"hasCrowdedParallelTrack"),s=(0,i.K)((t,l)=>{let i=t.start,s=t.end,f=o(t,l);if(f.length!==l.length-1)return!1;let d=[i,s].filter(e=>!!e),u=t.labelNodeId?[t.labelNodeId]:[];for(let e of f)if(D(e.a,e.b,n,d,-2)||D(e.a,e.b,r,u,-2))return!1;for(let n of e){if(n===t||n.isLayoutOnly)continue;let e=n.points;if(e&&!(e.length<2)){for(let t of f)for(let r of o(n,C(e)))if(a(t,r)||V(t.a,t.b,r.a,r.b,.001))return!1}}return!0},"candidateIsSafe"),f=(0,i.K)((e,t)=>{let n=C(e.edge.points??[]);if(n.length<4||e.index>=n.length-1)return;let r=n.map(e=>({...e}));if(e.horizontal)r[e.index].y+=t,r[e.index+1].y+=t;else{if(!e.vertical)return;r[e.index].x+=t,r[e.index+1].x+=t}return o(e.edge,r).length===r.length-1?r:void 0},"shiftedCandidate"),d=(0,i.K)((e,t)=>({x:e.x??(t.left+t.right)/2,y:e.y??(t.top+t.bottom)/2}),"nodeCenter"),u=(0,i.K)(e=>{let n=e.edge,r=C(n.points??[]);if(4!==r.length||1!==e.index)return;let o=n.start?t.get(n.start):void 0,l=n.end?t.get(n.end):void 0,i=o?E(o):void 0,a=l?E(l):void 0,s=r.slice(e.index+2);if(o&&l&&i&&a&&0!==s.length)return{sourceCenter:d(o,i),targetCenter:d(l,a),sourceRect:i,tail:s}},"sourceDetourContextFor"),h=(0,i.K)((e,t,n,r,o,l)=>{let i=r.y>=n.y,a=i?o.bottom:o.top,s=a+(i?20:-20);if(i&&e.b.y<=s+.001||!i&&e.b.y>=s-.001)return;let f=e.a.x+t;return C([{x:n.x,y:a},{x:n.x,y:s},{x:f,y:s},{x:f,y:e.b.y},...l],.001)},"verticalSourceDetour"),g=(0,i.K)((e,t,n,r,o,l)=>{let i=r.x>=n.x,a=i?o.right:o.left,s=a+(i?20:-20);if(i&&e.b.x<=s+.001||!i&&e.b.x>=s-.001)return;let f=e.a.y+t;return C([{x:a,y:n.y},{x:s,y:n.y},{x:s,y:f},{x:e.b.x,y:f},...l],.001)},"horizontalSourceDetour"),c=(0,i.K)((e,t)=>{let n=u(e);if(n){if(e.vertical)return h(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail);if(e.horizontal)return g(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail)}},"sourceDetourCandidate"),p=[-7,7,-14,14,-21,21];for(let e=0;e<12;e++){let e=l(),t=!1;for(let n=0;n<e.length&&!t;n++)for(let r=n+1;r<e.length&&!t;r++){let o=e[n],l=e[r];if(o.edge!==l.edge&&a(o,l))for(let e of[o,l].filter(e=>e.interior)){for(let n of p){let r=f(e,n);if(r&&s(e.edge,r)){e.edge.points=r,t=!0;break}let o=c(e,n);if(o&&s(e.edge,o)){e.edge.points=o,t=!0;break}}if(t)break}}if(!t)return}}function eZ(e,t,n,r){let o=t.x-e.x,l=t.y-e.y,i=r.x-n.x,a=r.y-n.y,s=o*a-l*i;if(1e-10>Math.abs(s))return!1;let f=n.x-e.x,d=n.y-e.y,u=(f*a-d*i)/s,h=(f*l-d*o)/s;return u>.01&&u<.99&&h>.01&&h<.99}function eQ(e){let t=e.nodes??[],n=e.edges??[],r=[];if(!n.length||!t.length)return r;let o=A(t),i=[];for(let e of n){if(e.isLayoutOnly)continue;let t=e.points;if(!t||t.length<2)continue;let n=e.start,l=e.end,a=e.labelNodeId,s=e.id??`${n}->${l}`;for(let e of o)if(e.nodeId!==n&&e.nodeId!==l&&(!a||e.nodeId!==a)){for(let n=0;n<t.length-1;n++)if(k(t[n],t[n+1],e,-1)){r.push({type:"edge-node-overlap",edgeId:s,targetId:e.nodeId,detail:`segment ${n} passes through node "${e.nodeId}"`});break}}for(let e=0;e<t.length-1;e++)i.push({edgeId:s,start:n,end:l,p1:t[e],p2:t[e+1]})}let a=new Set;for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++){let n=i[e],o=i[t];if(n.edgeId!==o.edgeId&&n.start!==o.start&&n.start!==o.end&&n.end!==o.start&&n.end!==o.end&&eZ(n.p1,n.p2,o.p1,o.p2)){let e=n.edgeId<o.edgeId?`${n.edgeId}|${o.edgeId}`:`${o.edgeId}|${n.edgeId}`;a.has(e)||(a.add(e),r.push({type:"edge-edge-crossing",edgeId:n.edgeId,targetId:o.edgeId,detail:`edges "${n.edgeId}" and "${o.edgeId}" cross`}))}}if(r.length>0){let e=r.filter(e=>"edge-node-overlap"===e.type).length,t=r.filter(e=>"edge-edge-crossing"===e.type).length;for(let n of(l.R.warn(`[SWIMLANE_VALIDATE] ${r.length} issue(s) detected: ${e} edge-node overlap(s), ${t} edge crossing(s)`),r))l.R.warn(`[SWIMLANE_VALIDATE] ${n.type}: ${n.detail}`)}return r}function eU(e,t){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup);if(("LR"===t||"RL"===t)&&o.length>0&&!e$(e,t)||"BT"===t&&o.length>0&&!ek(e))return;for(let e of r){if(e.isLayoutOnly)continue;let t=e.points;t&&!(t.length<2)&&(e.points=Z(J(t)))}eP(r,n),eq(r,n),eO(r,n);let l=new Map;for(let e of n)l.set(String(e.id),e);e_(r,l),et(r,l),eT(r,l),eJ(r,l),eE(r,l),eB(r,l),eN(r,l),eY(r,l);let a=(0,i.K)(()=>{eD(r,l),eA(r,l),eG(r,l),e_(r,l),eM(r,l),eN(r,l),e_(r,l),eM(r,l)},"finalizeRenderedEdges");a(),eJ(r,l),a(),eX(r,l),ez(r,l),eX(r,l),ez(r,l)}function e0(e){let t=new Map(e.nodeById),n=new Set,r=[];for(let o of e.edges){if(!t.has(o.src)||!t.has(o.dst))continue;let e=`${o.id}:${o.src}->${o.dst}`;n.has(e)||(n.add(e),r.push(o))}return{nodes:[...t.keys()],edges:r,layout:e.layout,nodeById:t}}function e1(e,t){return e.edges.filter(e=>e.dst===t)}function e2(e){let t=new Map;for(let n of e.nodes)t.set(n,[]);for(let n of e.edges)t.get(n.src).push(n.dst);return t}function e6(e){let t=e2(e);for(let e of t.values())e.sort((e,t)=>e.localeCompare(t));return t}function e5(e){let t=new Map;for(let n of e.nodes)t.set(n,0);for(let n of e.edges)t.set(n.dst,(t.get(n.dst)??0)+1);return t}function e3(e){return[...e.entries()].filter(([,e])=>0===e).map(([e])=>e).sort((e,t)=>e.localeCompare(t))}function e8(e,t=()=>!0){let n=new Map,r=new Map;for(let t of e.nodes)n.set(t,[]),r.set(t,[]);for(let o of e.edges)t(o)&&(r.get(o.src).push(o.dst),n.get(o.dst).push(o.src));return{preds:n,succs:r}}function e4(e,t,n,r){let o=0;for(let t of e.nodes)r?.skipGroups&&e.nodeById.get(t)?.isGroup||(o=Math.max(o,n[t]??0));let l=Array.from({length:o+1},()=>[]);for(let o of t)r?.skipGroups&&e.nodeById.get(o)?.isGroup||l[Math.max(0,n[o]??0)].push(o);return l}function e9(e){let t=e5(e),n=e3(t),r=[],o=e6(e);for(;n.length;){let e=n.shift();for(let l of(r.push(e),o.get(e)??[]))if(t.set(l,(t.get(l)??0)-1),(t.get(l)??0)===0){let e=0;for(;e<n.length&&n[e]<l;)e++;n.splice(e,0,l)}}return r.length===e.nodes.length?r:null}function e7(e){let t=new Map,n=0;for(let r of e)t.set(r,n),n++;return t}function te(e){let t=Array(e.length),n=(0,i.K)((r,o)=>{if(o-r<=1)return 0;let l=r+o>>1,i=n(r,l)+n(l,o),a=r,s=l,f=r;for(;a<l||s<o;)s>=o||a<l&&e[a]<=e[s]?t[f++]=e[a++]:(t[f++]=e[s++],i+=l-a);for(let n=r;n<o;n++)e[n]=t[n];return i},"count");return n(0,e.length)}function tt(e){let t=e0(e),n=new Map;for(let e of t.nodes)n.set(e,[]);for(let e of t.edges)n.get(e.src).push(e);for(let e of n.values())e.sort((e,t)=>e.dst===t.dst?e.id.localeCompare(t.id):e.dst.localeCompare(t.dst));let r=Object.create(null);for(let e of t.nodes)r[e]=0;let o=[],l=(0,i.K)(e=>{for(let t of(r[e]=1,n.get(e)??[])){let e=t.dst;0===r[e]?l(e):1===r[e]&&o.push(t)}r[e]=2},"dfs"),a=e5(t);for(let e of[...t.nodes.filter(e=>(a.get(e)??0)===0),...t.nodes.filter(e=>(a.get(e)??0)!==0)])0===r[e]&&l(e);let s=new Set(o.map(e=>`${e.id}:${e.src}->${e.dst}`)),f=t.edges.map(e=>s.has(`${e.id}:${e.src}->${e.dst}`)?{id:e.id,src:e.dst,dst:e.src,weight:e.weight,ref:e.ref}:e);return{acyclic:{nodes:[...t.nodes],edges:f,layout:t.layout,nodeById:new Map(t.nodeById)},reversed:o}}function tn(e){let t=new Map,n=(0,i.K)(r=>{if(t.has(r))return t.get(r);let o=e.nodeById.get(r);if(!o)return t.set(r,null),null;let l=o.parentId;if(!l)return t.set(r,null),null;let i=n(l)??l;return t.set(r,i),i},"resolve");for(let t of e.nodes)n(t);return t}function tr(e){let t=tn(e);return e=>t.get(e)??null}function to(e){let t=[];for(let n of e.layout.nodes??[])n.isGroup&&!n.parentId&&t.push(n.id);return[...new Set(t)].reverse()}function tl(e,t){let n=to(e);if(!t||0===t.length)return n;let r=new Set(n),o=new Set,l=[];for(let e of t)!r.has(e)||o.has(e)||(o.add(e),l.push(e));for(let e of n)o.has(e)||l.push(e);return l}(0,i.K)(eW,"pairKey"),(0,i.K)(eq,"straightenCollinearSiblingDetours"),(0,i.K)(eJ,"nudgeSharedInteriorSubpaths"),(0,i.K)(eZ,"segmentsIntersect"),(0,i.K)(eQ,"validateSwimlanesLayout"),(0,i.K)(eU,"postProcessSwimlaneLayout"),(0,i.K)(e0,"normalizeGraph"),(0,i.K)(e1,"incoming"),(0,i.K)(e2,"buildSuccessorMap"),(0,i.K)(e6,"buildSortedSuccessorMap"),(0,i.K)(e5,"buildInDegreeMap"),(0,i.K)(e3,"sortedZeroInDegreeNodes"),(0,i.K)(e8,"buildPredecessorSuccessorMaps"),(0,i.K)(e4,"buildLayersFromRanks"),(0,i.K)(e9,"topoSortIfAcyclic"),(0,i.K)(e7,"buildLayerIndex"),(0,i.K)(te,"countInversions"),(0,i.K)(tt,"removeCycles_DFS"),(0,i.K)(tn,"buildTopLaneMap"),(0,i.K)(tr,"createTopLaneResolver"),(0,i.K)(to,"buildTopLaneOrder"),(0,i.K)(tl,"resolveTopLaneOrder");function ti(e,t){let n=e0(e),r=t?.laneOf??(()=>null),o=t?.rankHint,{preds:l}=e8(n);for(let e of l.values())e.sort((e,t)=>e.localeCompare(t));let a=e9(n)??[...n.nodes].sort((e,t)=>e.localeCompare(t)),s=new Map;for(let[e,t]of a.entries())s.set(t,e);let f=new Map,d=new Map;for(let e of n.nodes)d.set(e,[]);for(let e of a){let t=(l.get(e)??[]).filter(e=>f.has(e));if(t.length>0){let n=ta(e,t,{laneOf:r,rankHint:o,topoIndex:s});f.set(e,n),d.get(n).push(e)}else f.has(e)||f.set(e,null)}for(let e of n.nodes)f.has(e)||f.set(e,null);let u=new Set;for(let e of n.nodes)(f.get(e)??null)===null&&u.add(e);let h=[...u].sort((e,t)=>{let n=s.get(e)??0,r=s.get(t)??0;return n===r?e.localeCompare(t):n-r}),g=ts(n),c=new Map;for(let[e,t]of g.entries())c.set(e,[...t].sort((e,t)=>e.localeCompare(t)));let p=tf(c),x=td(c),m=new Map;for(let e of n.nodes)m.set(e,[]);for(let e of x)for(let t of e.nodes){let n=m.get(t);n?n.push(e.id):m.set(t,[e.id])}let y=[],b=[],M=new Set,K=(0,i.K)(e=>{if(!M.has(e)){for(let t of(M.add(e),y.push(e),d.get(e)??[]))K(t);b.push(e)}},"walk");for(let e of h)K(e);for(let e of a)K(e);return{parent:f,children:d,roots:h,componentOf:p,blocks:x,nodeBlocks:m,adjacency:c,preorder:y,postorder:b,topologicalOrder:a}}function ta(e,t,n){let r=n.laneOf(e);return[...t].sort((e,t)=>{let o=n.laneOf(e),l=n.laneOf(t),i=null!=o&&o===r;if(i!==(null!=l&&l===r))return i?-1:1;let a=n.rankHint?.[e],s=n.rankHint?.[t];if(null!=a&&null!=s&&a!==s)return s-a;let f=n.topoIndex.get(e)??0,d=n.topoIndex.get(t)??0;return f!==d?f-d:e.localeCompare(t)})[0]}function ts(e){let t=new Map;for(let n of e.nodes)t.set(n,new Set);for(let n of e.edges)t.get(n.src).add(n.dst),t.get(n.dst).add(n.src);return t}function tf(e){let t=new Map,n=0;for(let r of e.keys()){if(t.has(r))continue;let o=[r];for(;o.length>0;){let r=o.pop();if(!t.has(r))for(let l of(t.set(r,n),e.get(r)??[]))t.has(l)||o.push(l)}n++}return t}function td(e){let t=new Map,n=new Map,r=[],o=[],l=0,a=(0,i.K)((i,s)=>{for(let f of(t.set(i,++l),n.set(i,l),e.get(i)??[]))f!==s&&(t.has(f)?(t.get(f)??0)<(t.get(i)??0)&&(r.push([i,f]),n.set(i,Math.min(n.get(i)??l,t.get(f)??l))):(r.push([i,f]),a(f,i),n.set(i,Math.min(n.get(i)??l,n.get(f)??l)),(n.get(f)??0)>=(t.get(i)??0)&&o.push(tu(i,f,r,o.length))))},"visit");for(let n of e.keys())t.has(n)||a(n,null);return o}function tu(e,t,n,r){let o=[],l=new Set;for(;n.length>0;){let r=n.pop();if(o.push(r),l.add(r[0]),l.add(r[1]),r[0]===e&&r[1]===t||r[0]===t&&r[1]===e)break}return{id:r,edges:o,nodes:[...l]}}function th(e,t,n){let r=[...e.nodes],o=new Map;for(let[e,t]of r.entries())o.set(t,e);let l=r.length,a=Array(l).fill(-1),s=Array(l).fill(0),f=[],d=new Set;for(let e of r){let t=n.parent.get(e)??null,r=o.get(e);null!=r&&null==t&&(a[r]=-1,s[r]=0,d.has(e)||(d.add(e),f.push(e)))}for(;f.length>0;){let e=f.shift(),t=o.get(e);if(null!=t)for(let r of n.children.get(e)??[]){if(d.has(r))continue;let e=o.get(r);null!=e&&(a[e]=t,s[e]=s[t]+1,d.add(r),f.push(r))}}for(let e of r){if(d.has(e))continue;let t=o.get(e);null!=t&&(a[t]=-1,s[t]=0,d.add(e))}let u=Math.max(1,Math.ceil(Math.log2(Math.max(1,l)))+1),h=Array.from({length:u},()=>Array(l).fill(-1));for(let e=0;e<l;e++)h[0][e]=a[e];for(let e=1;e<u;e++)for(let t=0;t<l;t++){let n=h[e-1][t];h[e][t]=-1===n?-1:h[e-1][n]}let g=(0,i.K)((e,t)=>{if(-1===e||-1===t)return -1;s[e]<s[t]&&([e,t]=[t,e]);let n=s[e]-s[t];for(let t=0;t<u;t++)if(n>>t&1&&-1===(e=h[t][e]))return -1;if(e===t)return e;for(let n=u-1;n>=0;n--){let r=h[n][e],o=h[n][t];-1!==r&&-1!==o&&r!==o&&(e=r,t=o)}return h[0][e]},"lcaIndex"),c=Array.from({length:l},()=>new Map);for(let n of e.edges){let e=n.src,r=n.dst,l=t[e],i=t[r];if(null==l||null==i||(l>i&&([e,r]=[r,e],[l,i]=[i,l]),null==l||null==i||l===i))continue;let a=o.get(e),s=o.get(r);if(null==a||null==s)continue;let f=g(a,s);if(-1===f)continue;let d=c[f];for(let e=l;e<i;e++)d.set(e,(d.get(e)??0)+1)}let p=new Map,x=(0,i.K)((e,t)=>{if(0!==t.size)for(let[n,r]of t)e.set(n,(e.get(n)??0)+r)},"mergeInto"),m=new Set,y=(0,i.K)(e=>{let r=o.get(e);m.add(e);let l=null==r?void 0:c[r],i=l?new Map(l):new Map;for(let r of n.children.get(e)??[]){let n=y(r),o=t[e];if(null!=o){let l=p.get(e);l||(l=new Map,p.set(e,l));let i=n.get(o)??0,a=t[r];null!=a&&a>o&&(i+=1),l.set(r,i)}x(i,n)}return i},"dfs");for(let e of n.roots)m.has(e)||y(e);for(let e of r)m.has(e)||y(e);return p}function tg(e,t,n){let r=new Map,o=(0,i.K)(e=>{let l=n[e]??0,i=[...t.get(e)??[]];for(let e of(i.sort(tc(n)),i)){o(e);let t=r.get(e);null!=t&&(l=Math.min(l,t))}r.set(e,l)},"annotate");for(let t of e)o(t);return r}function tc(e){return(t,n)=>{let r=e[t]??0,o=e[n]??0;return r===o?t.localeCompare(n):r-o}}function tp(e,t,n,r){let o=0;for(let e of t){let t=n[e]??0;t>o&&(o=t)}let l=Array.from({length:o+1},()=>[]),a=new Set,s=(0,i.K)(e=>{if(a.has(e))return;a.add(e);let t=n[e]??0;for(let n of(l[t]||(l[t]=[]),l[t].push(e),r(e)))s(n)},"emit");for(let t of e)s(t);for(let e of t)if(!a.has(e)){let t=n[e]??0;l[t]||(l[t]=[]),l[t].push(e),a.add(e)}return l}function tx(e){let t=[];for(let n of e){let e=new Set,r=[];for(let t of n)e.has(t)||(e.add(t),r.push(t));t.push(r)}return t}function tm(e,t,n,r){return o=>{let l=e.get(o)??[];if(0===l.length)return[];let i=t[o]??0,a=[],s=[],f=n.get(o);for(let e of l){let t=r.get(e)??i;t>i?a.push({child:e,min:t}):s.push(e)}return a.sort((e,t)=>e.min===t.min?e.child.localeCompare(t.child):e.min-t.min),s.sort((e,t)=>{let n=f?.get(e)??0,o=f?.get(t)??0;if(n!==o)return n-o;let l=r.get(e)??i,a=r.get(t)??i;return l!==a?l-a:e.localeCompare(t)}),[...a.map(e=>e.child),...s]}}function ty(e,t,n){let r=ti(e,{rankHint:t,laneOf:n}),{children:o,roots:l}=r;for(let t of e.nodes)o.has(t)||o.set(t,[]);let i=th(e,t,r),a=[...l].sort(tc(t)),s=tg(a,o,t),f=tm(o,t,i,s),d=tp(a,e.nodes,t,f);return tx(d)}function tb(e,t,n){let r=new Set(e),o=new Set(t),l=e7(t),i=[];for(let e of n)r.has(e.src)&&o.has(e.dst)&&i.push(l.get(e.dst));return te(i)}function tM(e,t,n){let r=[];for(let e of t){let t=n[e.src],o=n[e.dst];if(null==t||null==o||t===o)continue;let l=e.src,i=e.dst,a=t,s=o;t>o&&(l=e.dst,i=e.src,a=o,s=t);for(let t=a;t<s;t++)r.push({id:`${e.id}@${t}`,src:l,dst:i,ref:e.ref})}let o=0;for(let t=0;t+1<e.length;t++)o+=tb(e[t],e[t+1],r);return o}function tK(e,t){let n={...t},{preds:r}=e8(e),o=tr(e),l=tM(ty(e,n,o),e.edges,n);for(let t=0;t<4;t++){let t=!1;for(let i of[...e.nodes].sort((e,t)=>(n[t]??0)-(n[e]??0))){let a=n[i]??0;if(0===a)continue;let s=0;for(let e of r.get(i)??[])s=Math.max(s,(n[e]??0)+1);if(s>=a)continue;n[i]=s;let f=tM(ty(e,n,o),e.edges,n);f<l?(l=f,t=!0):n[i]=a}if(!t)break}return n}function tI(e,t){let n=tr(e);for(let r of[...e.nodes].sort((e,n)=>(t[e]??0)-(t[n]??0)||e.localeCompare(n))){let o=n(r);if(!o)continue;let l=e.edges.filter(e=>e.src===r);if(0===l.length)continue;let i=!1,a=0;for(let e of l){let t=n(e.dst);null==t||t===o?i=!0:a++}if(0===a||i)continue;let s=0,f=!1;for(let t of e.edges){if(t.dst!==r)continue;let e=n(t.src);e&&(e===o?f=!0:s++)}if(s>0||!f)continue;let d=t[r]??0,u=d+a,h=0;for(let n of e.edges)n.dst===r&&(h=Math.max(h,(t[n.src]??0)+1));let g=Math.max(d,h,u);g!==d&&(t[r]=g)}}function tw(e,t){let n=e0(e),r=e9(n)??[...n.nodes].sort(),o=t?.compactSingleInput??!1,l=tr(n),i=Object.create(null);for(let e of r){let r=e1(n,e),a=t?.ignoreCrossLaneEdges?r.filter(t=>{let n=l(t.src),r=l(e);return!n||!r||n===r}):r;if(0===a.length)i[e]=0;else if(o&&1===a.length){let t=a[0].src;l(t)!==l(e)?i[e]=i[t]??0:i[e]=(i[t]??0)+1}else{let t=-1/0;for(let e of a)t=Math.max(t,(i[e.src]??0)+1);i[e]=t===-1/0?0:t}}return t?.optimizeRanksByCrossings&&(i=tK(n,i)),t?.ignoreCrossLaneEdges&&tI(n,i),{layers:ty(n,i,l),rankOf:i,dummy:new Set}}function tS(e,t){let n=e0(e),r={...tw(n,{compactSingleInput:t?.compactSingleInput,ignoreCrossLaneEdges:t?.ignoreCrossLaneEdges,optimizeRanksByCrossings:t?.optimizeRanksByCrossings}).rankOf},o=tr(n),{preds:l,succs:a}=e8(n,e=>{if(t?.ignoreCrossLaneEdges){let t=o(e.src),n=o(e.dst);if(t&&n&&t!==n)return!1}return!0}),s=e9(n)??[...n.nodes],f=[...s].reverse(),d=(0,i.K)((e,t)=>{let n=0;for(let t of l.get(e)??[])n=Math.max(n,(r[t]??0)+1);let o=1/0,i=a.get(e)??[];return i.length>0&&(o=Math.min(...i.map(e=>(r[e]??0)-1))),Number.isFinite(o)||(o=Math.max(n,t)),Math.min(Math.max(t,n),o)},"clampFeasible"),u=(0,i.K)(e=>{let t=!1;for(let n of e){let e=l.get(n)??[],o=a.get(n)??[];if(0===e.length&&0===o.length)continue;let i=Math.round(((e.length>0?e.reduce((e,t)=>e+(r[t]??0)+1,0)/e.length:r[n]??0)+(o.length>0?o.reduce((e,t)=>e+(r[t]??0)-1,0)/o.length:r[n]??0))/2),s=d(n,i);s!==r[n]&&(r[n]=s,t=!0)}return t},"relaxOrder");for(let e=0;e<8;e++){let e=u(s),t=u(f);if(!e&&!t)break}for(let e of s){let t=0;for(let n of l.get(e)??[])t=Math.max(t,(r[n]??0)+1);(r[e]??0)<t&&(r[e]=t)}for(let e of f){let t=a.get(e)??[];if(t.length>0){let n=Math.min(...t.map(e=>(r[e]??0)-1));(r[e]??0)>n&&(r[e]=n)}}return{layers:e4(n,s,r),rankOf:r,dummy:new Set}}function tv(e){let t=e5(e),n=e6(e),r=e3(t),o=[];for(;r.length>0;){let e=[];for(let l of r)for(let r of(o.push(l),n.get(l)??[]))t.set(r,(t.get(r)??0)-1),(t.get(r)??0)===0&&e.push(r);r=e.sort((e,t)=>e.localeCompare(t))}return o.length===e.nodes.length?o:null}function tC(e,t){let n=e0(e),r=t?.direction==="LR"?tv(n)??[...n.nodes].sort():e9(n)??[...n.nodes].sort(),o=tr(n),l=(0,i.K)(e=>o(e)??e,"laneOf"),a=Object.create(null),s=new Map,f=(0,i.K)((e,n)=>t?.ignoreCrossLaneEdges??!0?+(l(e)===l(n)):1,"edgeWeight");for(let e of r){let t=n.nodeById.get(e);if(t?.isGroup)continue;let r=e1(n,e),o=0;if(r.length>0)for(let t of r){let n=t.src;o=Math.max(o,(a[n]??0)+f(n,e))}let i=l(e),d=Math.max(o,s.get(i)??0);a[e]=d,s.set(i,d+1)}return{layers:e4(n,r,a,{skipGroups:!0}),rankOf:a,dummy:new Set}}function tL(e,t){let n=e0(t),{rankOf:r}=e,o=e.layers.map(e=>[...e]),l=new Set(e.dummy?[...e.dummy]:[]),a=0,s=new Map(n.nodeById),f=(0,i.K)(e=>{let t=`placeholder-${a++}`;for(s.set(t,{id:t,isGroup:!1,isDummy:!0,width:0,height:0}),l.add(t);o.length<=e;)o.push([]);return o[e].push(t),r[t]=e,t},"addDummyAt"),d=[...n.edges].sort((e,t)=>e.id===t.id?e.src===t.src?e.dst.localeCompare(t.dst):e.src.localeCompare(t.src):e.id.localeCompare(t.id)),u=[];for(let e of d){let t=r[e.src]??0,n=r[e.dst]??0;if(n-t<=1){u.push(e);continue}let o=e.src;for(let r=t+1,l=0;r<n;r++,l++){let t=f(r);u.push({id:`${e.id}#${l}`,src:o,dst:t,weight:e.weight,ref:e.ref}),o=t}let l=n-t-2;u.push({id:`${e.id}#${Math.max(l+1,0)}`,src:o,dst:e.dst,weight:e.weight,ref:e.ref})}let h={nodes:[...n.nodes,...[...l].filter(e=>!n.nodes.includes(e))],edges:u,layout:n.layout,nodeById:s};return{layering:{layers:o,rankOf:r,dummy:l},graphWithDummies:h}}function tk(e){let t=e.length;if(0===t)return 1/0;let n=[...e].sort((e,t)=>e-t);return t%2==1?n[(t-1)/2]:.5*(n[t/2-1]+n[t/2])}function t$(e){return 0===e.length?1/0:e.reduce((e,t)=>e+t,0)/e.length}function tR(e,t,n,r){let o=new Map;for(let t of e)o.set(t,[]);for(let e of n)"down"===r?t.has(e.src)&&o.has(e.dst)&&o.get(e.dst).push(t.get(e.src)):t.has(e.dst)&&o.has(e.src)&&o.get(e.src).push(t.get(e.dst));return o}function tO(e,t,n){let r=n.get(e)??0,o=n.get(t)??0;return r!==o?r-o:e.localeCompare(t)}function tT(e,t,n){let r=new Set(e),o=new Set(t),l=e7(e),i=e7(t),a=[];for(let e of n)r.has(e.src)&&o.has(e.dst)&&a.push({u:l.get(e.src),v:i.get(e.dst)});return a.sort((e,t)=>e.u===t.u?e.v-t.v:e.u-t.u),te(a.map(e=>e.v))}function tF(e,t,n){return[...e].sort((e,r)=>{let o=tk(t.get(e)??[]),l=tk(t.get(r)??[]);return o===l?tO(e,r,n):isFinite(o)?isFinite(l)?o-l:-1:1})}function tE(e,t,n,r,o,l){let i=e7(e),a=e7(t),s=tR(t,i,n,r);if(!o||!l||0===l.length)return tF(t,s,a);let f=new Map;for(let e of t){let t=o(e),n=f.get(t)??[];n.push(e),f.set(t,n)}let d=[];for(let e of l){let t=f.get(e);if(!t||0===t.length)continue;let n=tF(t,s,a);d.push(...n)}let u=f.get(null);if(u&&u.length>0)for(let e of tF(u,s,a)){let t=t$(s.get(e)??[]),n=d.length;if(isFinite(t)){for(let[e,r]of d.entries())if(t<t$(s.get(r)??[])){n=e;break}}d.splice(n,0,e)}return d}function tB(e,t,n,r,o){let l=[...t],a=new Set(e),s=new Set(t),f=r?new Set(r):null,d=n.filter(e=>a.has(e.src)&&s.has(e.dst)),u=f?n.filter(e=>s.has(e.src)&&f.has(e.dst)):void 0,h=(0,i.K)(t=>{let n=tT(e,t,d);return u&&r&&(n+=tT(t,r,u)),n},"crossingScore"),g=o?new Map:null;if(o&&g)for(let e of t)g.set(e,o(e));let c=!0,p=h(l);for(;c;){c=!1;for(let e=0;e+1<l.length;e++){if(g&&g.get(l[e])!==g.get(l[e+1]))continue;let t=p;[l[e],l[e+1]]=[l[e+1],l[e]];let n=h(l);n<t?(p=n,c=!0):[l[e],l[e+1]]=[l[e+1],l[e]]}}return l}function tN(e,t,n){let r=e.layers.map(e=>[...e]),o=t.edges,l=tr(t),i=tl(t,n?.laneOrder);for(let e=0;e<3;e++){for(let e=1;e<r.length;e++)r[e]=tE(r[e-1],r[e],o,"down",l,i),r[e]=tB(r[e-1],r[e],o,r[e+1],l);for(let e=r.length-2;e>=0;e--)r[e]=tE(r[e+1],r[e],o,"up",l,i),r[e]=tB(r[e+1],r[e],o,r[e-1],l)}return{layers:r}}function tX(e,t,n){let r=n?.layerGap??100,o=n?.nodeGap??40,l=n?.laneGap??2*o,a=n?.direction??"TB",s=e.layers,f=Object.create(null),d=Object.create(null),u=(0,i.K)(e=>t.nodeById.get(e),"getNode"),h=(0,i.K)(e=>u(e)?.width??0,"getWidth"),g=(0,i.K)(e=>u(e)?.height??0,"getHeight"),c=tr(t),p=tl(t,n?.laneOrder),x=s.map(e=>e.reduce((e,t)=>Math.max(e,g(t)),0)),m=[];if("LR"===a||"RL"===a)for(let e=0;e+1<s.length;e++){let t=Math.max(0,(s[e].reduce((e,t)=>Math.max(e,h(t)),0)+s[e+1].reduce((e,t)=>Math.max(e,h(t)),0))/2-(x[e]/2+x[e+1]/2)-r);m.push(t)}let y=new Set;for(let e of s)for(let t of e)y.add(c(t));let b=y.has(null),M=p.filter(e=>y.has(e)),K=[...b?[null]:[],...M],I=Object.create(null);for(let e of M)I[e]=0;for(let e of(b&&(I.null=0),s)){let t=Object.create(null),n=[];for(let r of e){let e=c(r);null===e?n.push(r):(t[e]||=[]).push(r)}for(let[e,n]of Object.entries(t)){let t=n.reduce((e,t)=>e+h(t),0)+o*Math.max(0,n.length-1);I[e]=Math.max(I[e]??0,t)}if(b&&n.length){let e=n.reduce((e,t)=>e+h(t),0)+o*Math.max(0,n.length-1);I.null=Math.max(I.null??0,e)}}let w=new Map;{let e=K.map(e=>(null===e?I.null:I[e])??0),t=-(e.reduce((e,t)=>e+t,0)+l*Math.max(0,K.length-1))/2;for(let n=0;n<K.length;n++){let r=K[n],o=e[n]??0,i=t+o/2;w.set(r,i),t+=o,n<K.length-1&&(t+=l)}}let S=0;for(let[e,t]of s.entries()){let n=x[e]??0,l=new Map;for(let e of t){let t=c(e),n=l.get(t)??[];n.push(e),l.set(t,n)}for(let e of K){let t=l.get(e)??[];if(0===t.length)continue;let r=w.get(e);if(1===t.length){let e=t[0];f[e]=r,d[e]=S+n/2}else{let e=t.map(e=>h(e)),l=r-(e.reduce((e,t)=>e+t,0)+o*(t.length-1))/2;for(let[r,i]of t.entries()){let t=e[r];f[i]=l+t/2,d[i]=S+n/2,l+=t+o}}}S+=n+r+(m[e]??0)}let v=new Map;for(let e of t.edges){let t=e.ref.id;v.has(t)||v.set(t,[]),v.get(t).push(e)}for(let[,e]of v){if(0===e.length)continue;let n=e[0].ref,r=n.start,o=n.end;if(null==r||null==o)continue;let l=Math.round(((f[r]??0)+(f[o]??0))/2),i=new Set;for(let t of e)i.add(t.src),i.add(t.dst);for(let e of i){if(e===r||e===o)continue;let n=t.nodeById.get(e);n?.isDummy&&(f[e]=l)}}return{x:f,y:d}}function tz(e){let t=0x811c9dc5;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,0x1000193);return t>>>0}function tY(e){let t=e>>>0;return()=>{let e=t+=0x6d2b79f5;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000}}function tA(e,t){let n=[...e],r=tY(t);for(let e=n.length-1;e>0;e--){let t=Math.floor(r()*(e+1));[n[e],n[t]]=[n[t],n[e]]}return n}function tG(e,t){let n=0;for(let[r,o]of e.entries())n+=Math.abs(r-(t.get(o)??r));return n}function tD(e,t){let n=new Map;for(let[t,r]of e.entries())n.set(r,t);let r=0;for(let{a:e,b:o,weight:l}of t){let t=n.get(e),i=n.get(o);null!=t&&null!=i&&(r+=l*Math.abs(t-i))}return r}function tP(e){let t=to(e);if(t.length<2)return[];let n=new Map(t.map((e,t)=>[e,t])),r=tr(e),o=new Map;for(let t of e.layout.edges??[]){if(t.isLayoutOnly)continue;let l="string"==typeof t.start?t.start:void 0,i="string"==typeof t.end?t.end:void 0;if(!l||!i||!e.nodeById.has(l)||!e.nodeById.has(i))continue;let a=r(l),s=r(i);if(!a||!s||a===s)continue;let f=n.get(a),d=n.get(s);if(null==f||null==d)continue;let[u,h]=f<=d?[a,s]:[s,a],g=`${u}\0${h}`,c=o.get(g);c?c.weight++:o.set(g,{a:u,b:h,weight:1})}return[...o.values()]}function tH(e,t,n){let r=[...e],o=tD(r,t),l=!0,i=0,a=Math.max(1,r.length);for(;l&&i<a;){l=!1,i++;for(let e=0;e+1<r.length;e++){[r[e],r[e+1]]=[r[e+1],r[e]];let n=tD(r,t);n<o?(o=n,l=!0):[r[e],r[e+1]]=[r[e+1],r[e]]}}return{order:r,cost:o,sourceDistance:tG(r,n)}}function tj(e,t){return e.cost!==t.cost?e.cost<t.cost:e.sourceDistance<t.sourceDistance}function tV(e,t,n){let r=[...t].sort((e,t)=>e.a===t.a?e.b.localeCompare(t.b):e.a.localeCompare(t.a)).map(({a:e,b:t,weight:n})=>`${e}:${t}:${n}`).join("|");return tz(`${e.join("|")}#${r}#${n}`)}function t_(e,t={}){let n=to(e);if(n.length<2)return n;let r=tP(e);if(0===r.length)return n;let o=new Map(n.map((e,t)=>[e,t])),l=tH(n,r,o),i=Math.max(0,t.restarts??8);for(let e=0;e<i;e++){let t=tV(n,r,e),i=tH(tA(n,t),r,o);tj(i,l)&&(l=i)}return l.order}function tW(e,t){let n=t?.ignoreCrossLaneEdges??!0,r=t?.optimizeRanksByCrossings??!0,o=e0(e),l=t?.automaticLaneOrdering?t_(o,{restarts:8}):void 0,i=tt(o),a=i.acyclic,{layering:s,graphWithDummies:f}=tL(n?tC(a,{compactSingleInput:t?.compactSingleInput??!0,ignoreCrossLaneEdges:!0,direction:t?.direction}):tS(a,{compactSingleInput:t?.compactSingleInput??!0,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:r}),a),d=tN(s,f,{laneOrder:l}),u=tX(d,f,{layerGap:t?.layerGap,nodeGap:t?.nodeGap,direction:t?.direction,laneOrder:l});return{acyclic:a,reversed:i.reversed,layering:s,ordered:d,coordinates:u}}function tq(e,t,n){let r=e.x??0,o=e.y??0,l=t.x-r,i=t.y-o,a=Math.abs(l),s=Math.abs(i);return a<1e-6&&s<1e-6?n:s>1e-6&&3*s>=a?i>0?"bottom":"top":a>1e-6?l>0?"right":"left":n}function tJ(e,t){return 1e-6>Math.abs(e.to-t.from)||1e-6>Math.abs(e.to-t.to)?e.to:e.from}function tZ(e,t){return"vertical"===e.orient?{x:e.coord,y:t}:{x:t,y:e.coord}}function tQ(e,t){let n=e.nodes??[],r=e.edges??[],o=[];for(let e of r)e.isLayoutOnly||o.push({...e,__originalEdge:e});let l=new Map,a=new Map,s=[],f="LR"===t;for(let e of n)l.set(e.id,e);for(let e of n.filter(e=>e.isGroup&&!e.parentId)){let t={id:e.id},r=(0,i.K)(e=>{a.set(e.id,t),n.filter(t=>t.parentId===e.id).forEach(r)},"assignLane");r(e)}let d=n.filter(e=>!e.isGroup&&!e.isEdgeLabel).map(e=>{let t=e.width??10,n=e.height??10,r=e.x??0,o=e.y??0;return{nodeId:e.id,minX:r-t/2-8,maxX:r+t/2+8,minY:o-n/2-8,maxY:o+n/2+8,visualXHalfExtent:f?n/2+8:t/2+8}}),u=(0,i.K)((e,t,n,r)=>{let o=s.find(n=>n.orientation===e&&1>Math.abs(n.coord-t));return o||(o={id:`pipe-${e}-${t.toFixed(0)}`,orientation:e,coord:t,spanMin:n,spanMax:r,tracks:[]},s.push(o)),o.spanMin=Math.min(o.spanMin,n),o.spanMax=Math.max(o.spanMax,r),o},"getOrAddPipe"),h=(0,i.K)((e,t)=>{let n=e.width??10,r=e.height??10,o=e.x??0,l=e.y??0;switch(t){case"top":return{x:o,y:l-r/2};case"bottom":return{x:o,y:l+r/2};case"left":return{x:o-n/2,y:l};case"right":return{x:o+n/2,y:l}}},"portForSide"),g=(0,i.K)((e,t,n)=>h(e,tq(e,t,n?"bottom":"top")),"getOrthogonalPort"),c=[],p=[],x=new Set,m=(0,i.K)((e,t,n)=>{if(0===c.length)return 0;let r=1e-6>Math.abs(t.y-n.y),o=1e-6>Math.abs(t.x-n.x);if(!r&&!o)return 0;let l=0;if(r){let r=t.y,o=Math.min(t.x,n.x)-1e-6,i=Math.max(t.x,n.x)+1e-6;if(i<=o)return 0;for(let t of c)t.edgeIndex!==e&&"vertical"===t.orientation&&!(t.pipe.coord<o)&&!(t.pipe.coord>i)&&t.from-1e-6<=r&&t.to+1e-6>=r&&(l+=1e3)}else if(o){let r=t.x,o=Math.min(t.y,n.y)-1e-6,i=Math.max(t.y,n.y)+1e-6;if(i<=o)return 0;for(let t of c)t.edgeIndex!==e&&"horizontal"===t.orientation&&!(t.pipe.coord<o)&&!(t.pipe.coord>i)&&t.from-1e-6<=r&&t.to+1e-6>=r&&(l+=1e3)}return l},"crossingPenalty"),y=o.map((e,t)=>{if(!e.start||!e.end)return{idx:t,crossLane:0,dx:0,dy:0};let n=l.get(e.start),r=l.get(e.end),o=a.get(e.start),i=a.get(e.end),s=o&&i&&o.id!==i.id?1:0;return{idx:t,crossLane:s,dx:n&&r?Math.abs((r.x??0)-(n.x??0)):0,dy:n&&r?Math.abs((r.y??0)-(n.y??0)):0}}).sort((e,t)=>{if(e.crossLane!==t.crossLane)return t.crossLane-e.crossLane;let n=e.dx+e.dy,r=t.dx+t.dy;return Math.abs(n-r)>1?n-r:e.idx-t.idx}).map(e=>e.idx),b=(0,i.K)((e,t,n,r)=>{let o=Math.min(e.x,t.x),l=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y);return!!d.find(s=>(!n||s.nodeId!==n)&&(!r||s.nodeId!==r)&&(Math.abs(e.x-t.x)>1e-6?s.minY<e.y&&s.maxY>e.y&&s.maxX>o&&s.minX<l:s.minX<e.x&&s.maxX>e.x&&s.maxY>i&&s.minY<a))},"isSegmentBlocked"),M=new Map,K=new Map;for(let e of o)e.start&&e.end&&e.start!==e.end&&(K.set(e.start,(K.get(e.start)??0)+1),K.set(e.end,(K.get(e.end)??0)+1));let I=(0,i.K)((e,t)=>tq(e,t,"bottom"),"determineSide"),w=new Map;for(let[e,t]of o.entries()){if(!t.start||!t.end||t.start===t.end||t.points&&t.points.length>0)continue;let n=l.get(t.start),r=l.get(t.end);if(!n||!r)continue;let o=(r.x??0)-(n.x??0),i=(r.y??0)-(n.y??0);w.set(e,{edgeIdx:e,srcId:t.start,dstId:t.end,srcSide:I(n,{x:r.x??0,y:r.y??0}),dstSide:I(r,{x:n.x??0,y:n.y??0}),absDx:Math.abs(o),absDy:Math.abs(i),dxSign:Math.sign(o),dySign:Math.sign(i)})}let S=(0,i.K)(e=>"top"===e.srcSide||"bottom"===e.srcSide?0===e.absDx?1/0:e.absDy/e.absDx:0===e.absDy?1/0:e.absDx/e.absDy,"preferenceStrength"),v=(0,i.K)(e=>"top"===e.srcSide||"bottom"===e.srcSide?e.dxSign>=0?"right":"left":e.dySign>=0?"bottom":"top","secondarySide"),C=new Map;for(let e of w.values()){let t=`${e.srcId}:${e.srcSide}`;C.has(t)||C.set(t,[]),C.get(t).push(e)}let L=new Map,k=(0,i.K)((e,t)=>`${e}:${t}`,"loadKey");for(let e of w.values())L.set(k(e.srcId,e.srcSide),(L.get(k(e.srcId,e.srcSide))??0)+1),L.set(k(e.dstId,e.dstSide),(L.get(k(e.dstId,e.dstSide))??0)+1);for(let e of C.values())if(!(e.length<2)){e.sort((e,t)=>{let n=S(e),r=S(t);return Math.abs(n-r)>1e-9?r-n:e.edgeIdx-t.edgeIdx});for(let t=1;t<e.length;t++){let n=e[t],r=v(n),o=L.get(k(n.srcId,n.srcSide))??0,l=L.get(k(n.srcId,r))??0;l>=o||(L.set(k(n.srcId,n.srcSide),o-1),L.set(k(n.srcId,r),l+1),n.srcSide=r)}}let $=(0,i.K)(e=>{let t=e?.shape;return"question"===t||"diamond"===t},"isDiamondNode"),R=new Map;for(let e of w.values())R.has(e.dstId)||R.set(e.dstId,new Set),R.get(e.dstId).add(e.dstSide);for(let e of w.values()){if(!$(l.get(e.srcId)))continue;let t=R.get(e.srcId);if(!t?.has(e.srcSide))continue;let n=v(e);if(t.has(n)||(L.get(k(e.srcId,n))??0)>0)continue;let r=L.get(k(e.srcId,e.srcSide))??0;L.set(k(e.srcId,e.srcSide),Math.max(0,r-1)),L.set(k(e.srcId,n),1),e.srcSide=n}for(let e of w.values()){let{edgeIdx:t,srcId:n,dstId:r,srcSide:o,dstSide:i}=e,a=l.get(n),s=l.get(r),f=`${n}:${o}:src`,d="top"===o||"bottom"===o?s.x??0:s.y??0;M.has(f)||M.set(f,[]),M.get(f).push({edgeIdx:t,oppositeCoord:d});let u=`${r}:${i}:dst`,h="top"===i||"bottom"===i?a.x??0:a.y??0;M.has(u)||M.set(u,[]),M.get(u).push({edgeIdx:t,oppositeCoord:h})}let O=new Map;for(let[e,t]of M){if(t.length<2)continue;t.sort((e,t)=>e.oppositeCoord-t.oppositeCoord);let n=e.split(":"),r=n.slice(0,-2).join(":"),o=n[n.length-2],i=n[n.length-1],a=l.get(r);if(!a)continue;let s="left"===o||"right"===o?a.height??10:a.width??10,f=a.shape,d=Math.min(20,Math.max(8,("question"===f||"diamond"===f?.3*s:s)/(t.length+1))),u=-(d*(t.length-1))/2;for(let[e,n]of t.entries()){let t=u+e*d,r=`${n.edgeIdx}:${i}`;O.set(r,t)}}let T=(0,i.K)(e=>!!o[e]?.labelNodeId,"edgeHasLabelNode"),F=(0,i.K)((e,t)=>!!e&&((M.get(`${e}:${t}:src`)??[]).some(({edgeIdx:e})=>T(e))||(M.get(`${e}:${t}:dst`)??[]).some(({edgeIdx:e})=>T(e))),"faceHasLabelNode"),E=(0,i.K)((e,t,n)=>"top"===t||"bottom"===t?{x:e.x+n,y:e.y}:{x:e.x,y:e.y+n},"applyPortOffset"),B=(0,i.K)((e,t,n)=>{let r=w.get(e),o={x:n.x??0,y:n.y??0},l={x:t.x??0,y:t.y??0},i=r?.srcSide??I(t,o),a=r?.dstSide??I(n,l),s=r?h(t,r.srcSide):g(t,o,!0),f=r?h(n,r.dstSide):g(n,l,!1),d=O.get(`${e}:src`),u=O.get(`${e}:dst`);return void 0!==d&&(s=E(s,i,d)),void 0!==u&&(f=E(f,a,u)),{pSrcPort:s,pDstPort:f,srcSide:i,dstSide:a}},"portsForEdge");for(let e of y){let t=o[e];if(p[e]=[],!t.start||!t.end||t.points&&t.points.length>0||t.start===t.end)continue;let n=l.get(t.start),r=l.get(t.end);if(!n||!r)continue;let{pSrcPort:a,pDstPort:h,srcSide:g,dstSide:y}=B(e,n,r),I={...a},w={...h},S="top"===g||"bottom"===g,v="top"===y||"bottom"===y;S?I.y=a.y>(n.y??0)?a.y+20:a.y-20:I.x=a.x>(n.x??0)?a.x+20:a.x-20,v?w.y=h.y>(r.y??0)?h.y+20:h.y-20:w.x=h.x>(r.x??0)?h.x+20:h.x-20;let C=(0,i.K)((e,t)=>{for(let n of d)if(!t.includes(n.nodeId)&&e.x>n.minX&&e.x<n.maxX&&e.y>n.minY&&e.y<n.maxY)return{inside:!0,obstacle:n};return{inside:!1}},"isPointInObstacle"),L=(0,i.K)((e,t,n,r,o)=>{if(o){let o=e.y>(t.y??0);return{x:(n.x??0)>=e.x?r.maxX+15:r.minX-15,y:o?r.maxY+15:r.minY-15,leavesPositiveSide:o}}let l=e.x>(t.x??0),i=(n.y??0)>=e.y;return{x:l?r.maxX+15:r.minX-15,y:i?r.maxY+15:r.minY-15,leavesPositiveSide:l}},"obstacleDetour"),k=[],$=[t.start,t.end],R=C(I,$);if(R.inside&&R.obstacle){let e=R.obstacle;if(S){let t=L(a,n,r,e,!0);I.x=t.x,I.y=t.y;let o=t.leavesPositiveSide?Math.min(e.minY-2,a.y+20):Math.max(e.maxY+2,a.y-20);k=[{x:a.x,y:o},{x:t.x,y:o},{x:t.x,y:t.y}]}else{let t=L(a,n,r,e,!1),o=t.leavesPositiveSide?Math.min(e.minX-2,a.x+20):Math.max(e.maxX+2,a.x-20);I.x=t.x,I.y=t.y,k=[{x:o,y:a.y},{x:o,y:t.y},{x:t.x,y:t.y}]}}let T=[],E=C(w,$);if(E.inside&&E.obstacle){let e=E.obstacle;if(v){let t=L(h,r,n,e,!0);w.x=t.x,w.y=t.y,T=[{x:t.x,y:t.y},{x:h.x,y:t.y}]}else{let t=L(h,r,n,e,!1);w.x=t.x,w.y=t.y,T=[{x:t.x,y:t.y},{x:t.x,y:h.y}]}}if(0===k.length&&0===T.length){let n=15>Math.abs(I.x-w.x),r=15>Math.abs(I.y-w.y),o=void 0!==O.get(`${e}:src`)||void 0!==O.get(`${e}:dst`),l=(M.get(`${t.start??""}:${g}:src`)?.length??0)+(M.get(`${t.start??""}:${g}:dst`)?.length??0),i=(M.get(`${t.end??""}:${y}:src`)?.length??0)+(M.get(`${t.end??""}:${y}:dst`)?.length??0),s=l>1||i>1,f=K.get(t.start??"")??0,d=K.get(t.end??"")??0,u=l>1&&F(t.start,g)||i>1&&F(t.end,y),p=l<=1||f<=2,m=i<=1||d<=2,S=s&&!u&&p&&m;if((n||r)&&!o&&(!s||S)&&!b(a,h,t.start,t.end)){t.points=[{...a},{...I},{...w},{...h}],x.add(e);let n=r?"horizontal":"vertical",o=r?a.y:a.x,l=r?Math.min(a.x,h.x):Math.min(a.y,h.y),i=r?Math.max(a.x,h.x):Math.max(a.y,h.y),s={id:`fast-path-${n}-${o.toFixed(0)}-${e}`,orientation:n,coord:o,spanMin:l,spanMax:i,tracks:[]};c.push({edgeIndex:e,segmentIndex:0,orientation:n,pipe:s,trackIndex:0,from:l,to:i});continue}}let N=u("vertical",I.x,I.y,I.y);I.x=N.coord;let X=u("vertical",w.x,w.y,w.y);w.x=X.coord;let z=Math.min(I.x,w.x)-50,Y=Math.max(I.x,w.x)+50,A=Math.min(I.y,w.y)-50,G=Math.max(I.y,w.y)+50;for(let e of d){let t=Math.min(I.x,w.x),n=Math.max(I.x,w.x),r=Math.min(I.y,w.y),o=Math.max(I.y,w.y);e.minX<n&&e.maxX>t&&e.minY<o&&e.maxY>r&&(z=Math.min(z,e.minX-25),Y=Math.max(Y,e.maxX+25),A=Math.min(A,e.minY-25),G=Math.max(G,e.maxY+25))}for(let e of d)e.maxX<z||e.minX>Y||e.maxY<A||e.minY>G||(u("horizontal",e.minY-15,z,Y),u("horizontal",e.maxY+15,z,Y),u("vertical",e.minX-15,A,G),u("vertical",e.maxX+15,A,G));u("horizontal",I.y,z,Y),u("horizontal",w.y,z,Y);let D=s.filter(e=>"horizontal"===e.orientation&&e.coord>=A&&e.coord<=G),P=s.filter(e=>"vertical"===e.orientation&&e.coord>=z&&e.coord<=Y),H=(0,i.K)((e,t)=>`${e.toFixed(1)},${t.toFixed(1)}`,"getKey"),j=H(I.x,I.y),V=H(w.x,w.y),_=new Map,W=new Map,q=new Map,J=new Set,Z=[];_.set(j,0),q.set(j,"n"),Z.push({key:j,f:Math.hypot(w.x-I.x,w.y-I.y),pt:I}),J.add(j);let Q=[],U=(0,i.K)((e,n)=>b(e,n,t.start,t.end),"checkSegmentBlocked"),ee={x:w.x,y:I.y},et=U(I,ee),en=U(ee,w),er=et||en,eo={x:I.x,y:w.y},el=U(I,eo),ei=U(eo,w),ea=el||ei;if(er?ea||(Q=1e-6>Math.abs(I.x-w.x)?[I,w]:[I,eo,w]):Q=1e-6>Math.abs(I.y-w.y)||1e-6>Math.abs(I.x-w.x)?[I,w]:[I,ee,w],0===Q.length)for(;Z.length>0;){Z.sort((e,t)=>e.f-t.f);let n=Z.shift();if(J.delete(n.key),n.key===V){let e=V,t=w;for(Q=[t];W.has(e);){let n=W.get(e);Q.unshift(n),t=n,e=H(n.x,n.y)}break}let r=n.pt.x,o=n.pt.y,l=P.sort((e,t)=>e.coord-t.coord),i=l.findIndex(e=>1>Math.abs(e.coord-r)),a=D.sort((e,t)=>e.coord-t.coord),s=a.findIndex(e=>1>Math.abs(e.coord-o)),f=[];for(let u of(i>0&&f.push({x:l[i-1].coord,y:o}),i>=0&&i<l.length-1&&f.push({x:l[i+1].coord,y:o}),s>0&&f.push({x:r,y:a[s-1].coord}),s>=0&&s<a.length-1&&f.push({x:r,y:a[s+1].coord}),f)){let l=Math.min(r,u.x),i=Math.max(r,u.x),a=Math.min(o,u.y),s=Math.max(o,u.y);if(d.some(e=>e.nodeId!==t.start&&e.nodeId!==t.end&&(l!==i?e.minY<o&&e.maxY>o&&e.maxX>l&&e.minX<i:e.minX<r&&e.maxX>r&&e.maxY>a&&e.minY<s)))continue;let f=H(u.x,u.y),h=Math.abs(u.x-r)+Math.abs(u.y-o),g=m(e,n.pt,u),c=0,p=w.x-I.x,x=w.y-I.y,y=u.x-r,b=u.y-o;(x>10&&b<-5||x<-10&&b>5)&&(c=100*Math.abs(b)),(p>10&&y<-5||p<-10&&y>5)&&(c+=50*Math.abs(y));let M=0,K=q.get(n.key)??"n",S=Math.abs(y)>1e-6?"h":"v";"n"!==K&&K!==S&&(M=50);let v=h+g+c+M,C=(_.get(n.key)??1/0)+v,L=Math.abs(w.x-u.x)+Math.abs(w.y-u.y);if(C<(_.get(f)??1/0))if(W.set(f,n.pt),_.set(f,C),q.set(f,S),J.has(f)){let e=Z.findIndex(e=>e.key===f);-1!==e&&(Z[e].f=C+L)}else Z.push({key:f,f:C+L,pt:u}),J.add(f)}}if(0===Q.length&&(Q=[I,{x:I.x,y:w.y},w]),Q.length>4){let e=Q[0],t=Q[Q.length-1],n=Math.min(e.x,t.x),r=Math.max(e.x,t.x),o=Math.min(e.y,t.y),l=Math.max(e.y,t.y);for(let e of Q)n=Math.min(n,e.x),r=Math.max(r,e.x),o=Math.min(o,e.y),l=Math.max(l,e.y);let a=r>Math.max(e.x,t.x),s=n<Math.min(e.x,t.x);if(f){if(a){let n=Math.max(e.x,t.x),o=Math.min(e.y,t.y),l=Math.max(e.y,t.y),i=d.filter(e=>e.minX<n&&e.maxX>n&&e.minY<l&&e.maxY>o);if(i.length>0){let n=Math.max(e.x,t.x);for(let e of i){let t=(e.minX+e.maxX)/2;void 0===e.visualXHalfExtent||isNaN(e.visualXHalfExtent)||(n=Math.max(n,t+e.visualXHalfExtent+15))}isNaN(n)||(r=n)}}if(s){let r=d.filter(n=>n.minX<Math.min(e.x,t.x)+15&&n.minY<Math.max(e.y,t.y)&&n.maxY>Math.min(e.y,t.y));if(r.length>0){let o=Math.min(e.x,t.x);for(let e of r)o=Math.min(o,(e.minX+e.maxX)/2-e.visualXHalfExtent-15);n=o}}}let u=(0,i.K)(n=>{let r=t.y>e.y,o=d.filter(n=>{let r=Math.min(e.x,t.x)<n.maxX&&Math.max(e.x,t.x)>n.minX,o=Math.min(e.y,t.y)<n.maxY&&Math.max(e.y,t.y)>n.minY;return r&&o}),l=o;if(f&&o.length>0){let e=o.filter(e=>e.minX<n&&e.maxX>n);e.length>0&&(l=e)}if(0===l.length)return t.y;if(r){let e=Math.max(...l.map(e=>e.maxY))+15;if(e<t.y-1e-6)return e}else{let e=Math.min(...l.map(e=>e.minY))-15;if(e>t.y+1e-6)return e}return t.y},"findBestReturnY"),h=(0,i.K)(n=>{let r=u(n),o={x:n,y:e.y},l={x:n,y:r},i={x:t.x,y:r},a=U(e,o),s=U(o,l),f=U(l,i),d=r!==t.y&&U(i,t);return a||s||f||d?null:1e-6>Math.abs(r-t.y)?[e,o,l,t]:[e,o,l,i,t]},"trySimplifyWithDetourX"),g=a&&!s?h(r):s&&!a?h(n):null;g&&(Q=g)}let es=[a,...k,...Q,...T.reverse(),h];if(es.length>=3){let e=es[es.length-1],t=es[es.length-2],n=es[es.length-3],r=1e-6>Math.abs(n.y-t.y)&&1e-6>Math.abs(t.y-e.y),o=1e-6>Math.abs(n.x-t.x)&&1e-6>Math.abs(t.x-e.x);if(r){let r=Math.sign(t.x-n.x),o=Math.sign(e.x-n.x);0!==r&&r===o&&Math.abs(t.x-n.x)>Math.abs(e.x-n.x)&&es.splice(-2,1)}else if(o){let r=Math.sign(t.y-n.y),o=Math.sign(e.y-n.y);0!==r&&r===o&&Math.abs(t.y-n.y)>Math.abs(e.y-n.y)&&es.splice(-2,1)}}let ef=[es[0]];for(let e=1;e<es.length-1;e++){if(1===e){ef.push(es[e]);continue}let t=ef[ef.length-1],n=es[e],r=es[e+1];if(1e-6>Math.abs(t.y-n.y)&&1e-6>Math.abs(n.y-r.y)){n.x>t.x!=r.x>n.x&&ef.push(n);continue}if(1e-6>Math.abs(t.x-n.x)&&1e-6>Math.abs(n.x-r.x)){n.y>t.y!=r.y>n.y&&ef.push(n);continue}ef.push(n)}ef.push(es[es.length-1]);for(let t=0;t<ef.length-1;t++){let n=ef[t],r=ef[t+1],o=1e-6>Math.abs(n.x-r.x)?"vertical":"horizontal",l="vertical"===o?n.x:n.y,i="vertical"===o?Math.min(n.y,r.y):Math.min(n.x,r.x),a="vertical"===o?Math.max(n.y,r.y):Math.max(n.x,r.x),s=u(o,l,i,a),f={edgeIndex:e,segmentIndex:t,orientation:o,pipe:s,trackIndex:0,from:i,to:a};c.push(f),p[e].push(c.length-1),s.tracks[0]||(s.tracks[0]={index:0,coord:s.coord,segments:[]}),s.tracks[0].segments.push({edgeIndex:e,segmentIndex:t,from:i,to:a})}}let N=(0,i.K)((e,t)=>e.from<t.to&&t.from<e.to,"segmentsOverlap"),X=(0,i.K)((e,t,n,r)=>{let o=!r.segments.some(n=>(n.edgeIndex!==t.edgeIndex||n.segmentIndex!==t.segmentIndex)&&N(n,e)),l=!n.segments.some(n=>(n.edgeIndex!==e.edgeIndex||n.segmentIndex!==e.segmentIndex)&&N(n,t));return!!o&&!!l&&(e.trackIndex=r.index,t.trackIndex=n.index,n.segments=[...n.segments.filter(t=>t.edgeIndex!==e.edgeIndex||t.segmentIndex!==e.segmentIndex),{edgeIndex:t.edgeIndex,segmentIndex:t.segmentIndex,from:t.from,to:t.to}],r.segments=[...r.segments.filter(e=>e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex),{edgeIndex:e.edgeIndex,segmentIndex:e.segmentIndex,from:e.from,to:e.to}],!0)},"trySwapSegmentsAcrossTracks"),z=(0,i.K)(e=>{let t=e.tracks.length;return e.tracks[t]={index:t,coord:e.coord,segments:[]},t},"createNewTrack"),Y=(0,i.K)((e,t)=>{let n=e.pipe.tracks[e.trackIndex];n.segments=n.segments.filter(t=>t.edgeIndex!==e.edgeIndex||t.segmentIndex!==e.segmentIndex),e.trackIndex=t,e.pipe.tracks[t].segments.push({edgeIndex:e.edgeIndex,segmentIndex:e.segmentIndex,from:e.from,to:e.to})},"moveSegmentToTrack"),A=(0,i.K)((e,t)=>{for(let n of p[e.edgeIndex]){let r=c[n];r.pipe===e.pipe&&Y(r,t)}},"moveSegmentChainToTrack"),G=(0,i.K)(e=>{let t=p[e.edgeIndex],n=t.indexOf(c.indexOf(e)),r=[];return n>0&&r.push(c[t[n-1]]),n<t.length-1&&r.push(c[t[n+1]]),r},"getAdjacentSegmentsAlongEdge"),D=(0,i.K)((e,t)=>{if(e.orientation===t.orientation)return!1;let n="horizontal"===e.orientation?e:t,r="horizontal"===e.orientation?t:e;return r.pipe.coord>n.from&&r.pipe.coord<n.to&&n.pipe.coord>r.from&&n.pipe.coord<r.to},"haveAnyCrossing"),P=(0,i.K)((e,t)=>{for(let n of e.tracks)if(!n.segments.some(e=>(e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex)&&N(e,t)))return n.index;return -1},"findAvailableTrack"),H=(0,i.K)((e,t)=>{if(e.trackIndex===t.trackIndex)return N(e,t);let n=G(e),r=G(t);return n.some(e=>r.some(t=>D(e,t)))},"segmentsConflict"),j=(0,i.K)((e,t,n)=>{if(X(e,t,e.pipe.tracks[e.trackIndex],t.pipe.tracks[t.trackIndex]))return;let r=P(e.pipe,t);n(t,-1!==r?r:z(e.pipe))},"resolveTrackConflict"),V=(0,i.K)(e=>{let t=0;for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){let o=e[n],l=e[r];o.pipe===l.pipe&&H(o,l)&&(t++,j(o,l,A))}return t},"resolveHandleConflicts"),_=new Map,W=(0,i.K)(e=>{if(_.has(e))return _.get(e);let t=p[e];if(0===t.length){let t={dest:0,deviation:0,base:0,delta:0};return _.set(e,t),t}let n=c[t[0]].pipe.coord,r=n;for(let e=1;e<t.length;e++){let o=c[t[e]];if("horizontal"===o.orientation){let e=o.from,t=o.to;r=Math.abs(e-n)>Math.abs(t-n)?e:t;break}}let o=Math.abs(r-n),l={dest:r,deviation:o,base:n,delta:r-n};return _.set(e,l),l},"getDestInfo"),q=(0,i.K)(()=>{let e=0,t=new Map;for(let[e,n]of o.entries())0!==p[e].length&&n.start&&(t.has(n.start)||t.set(n.start,[]),t.get(n.start).push(e));let n=(0,i.K)(e=>{let t=o[e];if(!t.start||!t.end)return 0;let n=l.get(t.start),r=l.get(t.end);return n&&r?Math.abs((r.x??0)-(n.x??0))+Math.abs((r.y??0)-(n.y??0)):0},"getEdgeDistance");for(let r of t.values())r.sort((e,t)=>{let r=W(e),o=W(t);if(Math.abs(r.deviation-o.deviation)>1)return r.deviation-o.deviation;if(Math.abs(r.dest-o.dest)>1)return r.dest-o.dest;let l=n(e),i=n(t);if(Math.abs(l-i)>1)return i-l;let a=p[e].length,s=p[t].length;if(a!==s)return a-s;if(1===a){let n=p[e][0],r=p[t][0];if(c[n]&&c[r]){let e=c[n],t=c[r],o=Math.abs(e.to-e.from),l=Math.abs(t.to-t.from);if(Math.abs(o-l)>1)return o-l}}return 0}),e+=V(r.map(e=>c[p[e][0]]));return e},"fixSourceHandleCrossings"),J=(0,i.K)(()=>{let e=0,t=new Map;for(let[e,n]of o.entries())0!==p[e].length&&n.end&&(t.has(n.end)||t.set(n.end,[]),t.get(n.end).push(e));for(let n of t.values())n.sort((e,t)=>{let n=(0,i.K)(e=>{let t=p[e];if(t.length<2)return 0;let n=c[t[t.length-2]];return Math.abs(n.to-n.from)},"getDist"),r=n(e),o=n(t);return Math.abs(r-o)>.1?r-o:e-t}),e+=V(n.map(e=>c[p[e][p[e].length-1]]));return e},"fixTargetHandleCrossings"),Z=(0,i.K)(()=>{let e=0;for(let t of s){let n=[];for(let e of t.tracks)for(let t of e.segments){let e=p[t.edgeIndex].find(e=>c[e].segmentIndex===t.segmentIndex);void 0!==e&&n.push(c[e])}n.sort((e,t)=>e.edgeIndex-t.edgeIndex||e.segmentIndex-t.segmentIndex);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++){let o=n[t],l=n[r];H(o,l)&&(e++,j(o,l,Y))}}return e},"fixPipeCrossings"),Q=0;for(;Q<10&&0!==0+q()+J()+Z();){;Q++}let U=new Map;for(let e of s){let t=[];e.tracks.forEach(e=>{e.segments.forEach(n=>{t.push({edgeIndex:n.edgeIndex,segmentIndex:n.segmentIndex,trackIndex:e.index,from:n.from,to:n.to})})}),t.sort((e,t)=>e.from-t.from);let n=[];if(t.length>0){let e=[t[0]],r=t[0].to;for(let o=1;o<t.length;o++){let l=t[o];l.from<r?(e.push(l),r=Math.max(r,l.to)):(n.push(e),e=[l],r=l.to)}n.push(e)}for(let t of n){let n=new Set;t.forEach(e=>n.add(e.trackIndex));let r=new Map;t.forEach(e=>{let t=W(e.edgeIndex);r.set(e.trackIndex,(r.get(e.trackIndex)??0)+t.delta)});let o=[...n].filter(e=>(r.get(e)??0)<-1),l=[...n].filter(e=>(r.get(e)??0)>1),a=[...n].filter(e=>1>=Math.abs(r.get(e)??0));o.sort((e,t)=>(r.get(t)??0)-(r.get(e)??0)),l.sort((e,t)=>(r.get(e)??0)-(r.get(t)??0));let s=(0,i.K)((n,r)=>{t.filter(e=>e.trackIndex===n).forEach(t=>{let n=x.has(t.edgeIndex)?e.coord:r;U.set(`${t.edgeIndex}-${t.segmentIndex}`,n)})},"assignCoord"),f=0;for(let t of o)f++,s(t,e.coord-10*f);if(0===a.length&&n.size>0){let e=[...n].sort((e,t)=>Math.abs(r.get(e)??0)-Math.abs(r.get(t)??0))[0],t=o.indexOf(e);-1!==t&&o.splice(t,1);let i=l.indexOf(e);-1!==i&&l.splice(i,1),a.push(e)}let d=0;for(let t of a){if(0===d)s(t,e.coord);else{let n=d%2==1?1:-1,r=Math.ceil(d/2);s(t,e.coord+n*r*5)}d++}let u=0;for(let t of l)u++,s(t,e.coord+10*u)}}for(let[e,t]of o.entries()){let n=p[e]??[];if(0===n.length)continue;let r=[],{pSrcPort:o,pDstPort:i}=B(e,l.get(t.start),l.get(t.end)),a=n.map(e=>{let t=c[e],n=U.get(`${t.edgeIndex}-${t.segmentIndex}`)??t.pipe.coord;return{orient:t.orientation,coord:n,from:t.from,to:t.to}});r.push(o);for(let e=0;e<a.length;e++){let t=a[e],n=r[r.length-1],o="vertical"===t.orient?n.y:n.x,l="vertical"===t.orient?n.x:n.y,i=a[e+1],s=e<a.length-1;if(Math.abs(l-t.coord)>1e-6&&r.push(tZ(t,o)),s&&i.orient===t.orient)if(Math.abs(t.coord-i.coord)>1e-6){let e="vertical"===t.orient?(o+i.from)/2:tJ(t,i);r.push(tZ(t,e),tZ(i,e))}else(0===e||e===a.length-2)&&r.push(tZ(t,tJ(t,i)));else if(s)r.push(tZ(t,i.coord));else{let e=Math.abs(t.from-o)<Math.abs(t.to-o)?t.to:t.from;r.push(tZ(t,e))}}let s=r[r.length-1];(Math.abs(s.x-i.x)>1e-6||Math.abs(s.y-i.y)>1e-6)&&r.push(i);let f=[];r.length>0&&f.push(r[0]);for(let e=1;e<r.length;e++){let t=r[e],n=f[f.length-1];(Math.abs(t.x-n.x)>1e-6||Math.abs(t.y-n.y)>1e-6)&&f.push(t)}t.points=f}for(let e of o){let t=e.__originalEdge;t&&e.points&&(t.points=e.points)}e.edges=(e.edges??[]).filter(e=>!e.isLayoutOnly);let ee=(0,i.K)((e,t)=>{let n=t.x??0,r=t.y??0,o=t.width??0,l=t.height??0;if(o<=0||l<=0)return e;let i=n-o/2,a=n+o/2,s=r-l/2,f=r+l/2;if(e.x<i||e.x>a||e.y<s||e.y>f)return e;let d=e.x-i,u=a-e.x,h=e.y-s,g=Math.min(d,u,h,f-e.y);return g===d?{x:i,y:e.y}:g===u?{x:a,y:e.y}:g===h?{x:e.x,y:s}:{x:e.x,y:f}},"nodeBoundaryClamp");for(let t of e.edges){let e=t.points;if(!e||e.length<2)continue;let n=t.start,r=t.end,o=n?l.get(n):void 0,i=r?l.get(r):void 0;o&&(e[0]=ee(e[0],o)),i&&(e[e.length-1]=ee(e[e.length-1],i))}return e}function tU(e){return e.direction??"TB"}function t0(e){let t=h(e),n=e.config.flowchart?.nodeSpacing??40,r=e.config.flowchart?.rankSpacing??100,o=e.config.swimlane?.ignoreCrossLaneEdges??!0,l=e.config.swimlane?.optimizeRanksByCrossings??!0,i=e.config.swimlane?.automaticLaneOrdering??!1,a=tU(e),{ordered:s,coordinates:f}=tW(t,{nodeGap:n,layerGap:r,ignoreCrossLaneEdges:o,optimizeRanksByCrossings:l,automaticLaneOrdering:i,direction:a});for(let o of(g(t,s,f,{nodeGap:n,layerGap:r}),e.edges??[]))delete o.points;for(let t of(tQ(e,a),e.edges??[]))t.curve&&"basis"!==t.curve||(t.curve="rounded");return eU(e,a),eQ(e),a}function t1(e){u(e);let t=c(e);e.nodes=t.nodes,e.edges=t.edges}(0,i.K)(ti,"buildDrivingTree"),(0,i.K)(ta,"chooseParent"),(0,i.K)(ts,"buildAdjacency"),(0,i.K)(tf,"assignComponents"),(0,i.K)(td,"computeBlocks"),(0,i.K)(tu,"popBlock"),(0,i.K)(th,"computeSubtreeCrossCounts"),(0,i.K)(tg,"annotateMinimumLayers"),(0,i.K)(tc,"compareByRankThenId"),(0,i.K)(tp,"emitNodesInTreeOrder"),(0,i.K)(tx,"deduplicateLayers"),(0,i.K)(tm,"createChildOrderer"),(0,i.K)(ty,"buildMultitreeLayerOrder"),(0,i.K)(tb,"countCrossingsBetweenAdjacent"),(0,i.K)(tM,"totalCrossings"),(0,i.K)(tK,"optimizeRanksByCrossings"),(0,i.K)(tI,"adjustCrossLaneSources"),(0,i.K)(tw,"assignLayers_LongestPath"),(0,i.K)(tS,"assignLayers_Gravity"),(0,i.K)(tv,"topoSortByGenerationIfAcyclic"),(0,i.K)(tC,"assignLayers_LaneAwareCompact"),(0,i.K)(tL,"makeProperLayering"),(0,i.K)(tk,"median"),(0,i.K)(t$,"barycenter"),(0,i.K)(tR,"neighborPositionsFor"),(0,i.K)(tO,"currentOrderTieBreak"),(0,i.K)(tT,"countCrossingsBetweenAdjacent"),(0,i.K)(tF,"sortByHeuristic"),(0,i.K)(tE,"reorderLayer"),(0,i.K)(tB,"transposeImprove"),(0,i.K)(tN,"orderLayers"),(0,i.K)(tX,"assignCoordinates"),(0,i.K)(tz,"hashString"),(0,i.K)(tY,"mulberry32"),(0,i.K)(tA,"deterministicShuffle"),(0,i.K)(tG,"sourceDistance"),(0,i.K)(tD,"laneArrangementCost"),(0,i.K)(tP,"buildWeightedLaneEdges"),(0,i.K)(tH,"greedySwitch"),(0,i.K)(tj,"isBetterCandidate"),(0,i.K)(tV,"seedForRestart"),(0,i.K)(t_,"optimizeTopLaneOrder"),(0,i.K)(tW,"sugiyamaLayout"),(0,i.K)(tq,"chooseOrthogonalSide"),(0,i.K)(tJ,"sharedLineEndpointCoord"),(0,i.K)(tZ,"pointOnLine"),(0,i.K)(tQ,"routeEdgesOrthogonal"),(0,i.K)(tU,"getSwimlaneDirection"),(0,i.K)(t0,"runSwimlaneLayoutCore"),(0,i.K)(t1,"prepareSwimlaneLayout");var t2=(0,o.xY)({prepareLayout:t1,runLayoutCore:t0,afterPaint:a})}}]); \ No newline at end of file diff --git a/assets/js/9010.278a1aa9.js b/assets/js/9010.278a1aa9.js new file mode 100644 index 0000000..6acad57 --- /dev/null +++ b/assets/js/9010.278a1aa9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9010"],{9945(e,s,r){r.d(s,{createGitGraphServices:()=>a.b});var a=r(1721);r(4954)}}]); \ No newline at end of file diff --git a/assets/js/9156.a3122fd7.js b/assets/js/9156.a3122fd7.js new file mode 100644 index 0000000..a5e7e2a --- /dev/null +++ b/assets/js/9156.a3122fd7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9156"],{5567(e,r,t){t.d(r,{diagram:()=>y});var n=t(1578),a=t(7454);t(4924),t(1177);var s=t(1293),l=t(6827),p=t(8731),i=(0,p.WG)().RailroadEbnf.parser.LangiumParser,o=(0,l.K)(e=>{let r=e.alternatives.map(m);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformChoice"),m=(0,l.K)(e=>{let r=e.elements.map(c);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),u=(0,l.K)(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return o(e.element);case"EbnfOptional":return{type:"optional",element:o(e.element)};case"EbnfRepetition":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),f=(0,l.K)((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},u(r.except)]};default:throw Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),c=(0,l.K)(e=>e.postfixes.reduce((e,r)=>f(e,r),u(e.base)),"transformTerm"),d=(0,l.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),b=(0,l.K)(e=>{(0,a.S)(e,n.db),e.title&&n.db.setTitle(e.title),e.rules.map(e=>n.db.addRule(d(e)))},"populateDb"),y={parser:{parse:(0,l.K)(e=>{n.db.clear(),s.R.debug("[EBNF Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;s.R.debug("[EBNF Parser] Parsed rules:",t.rules.length),b(t),s.R.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n.db}},db:n.db,renderer:n.U,styles:n.$}}}]); \ No newline at end of file diff --git a/assets/js/925626eb.8ec80d7f.js b/assets/js/925626eb.8ec80d7f.js new file mode 100644 index 0000000..d55caa4 --- /dev/null +++ b/assets/js/925626eb.8ec80d7f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["143"],{3205(e,r,n){n.r(r),n.d(r,{metadata:()=>s,default:()=>h,frontMatter:()=>d,contentTitle:()=>i,toc:()=>c,assets:()=>a});var s=JSON.parse('{"id":"core/table-lineage","title":"\u8868\u8840\u7F18\u89E3\u6790","description":"\u89E3\u6790 SQL \u4E2D\u6765\u6E90\u8868\u5230\u76EE\u6807\u8868\u7684\u8840\u7F18\u5173\u7CFB","source":"@site/versioned_docs/version-1.0/core/table-lineage.md","sourceDirName":"core","slug":"/core/table-lineage","permalink":"/SqlParserX/docs/core/table-lineage","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/table-lineage.md","tags":[],"version":"1.0","sidebarPosition":2,"frontMatter":{"title":"\u8868\u8840\u7F18\u89E3\u6790","description":"\u89E3\u6790 SQL \u4E2D\u6765\u6E90\u8868\u5230\u76EE\u6807\u8868\u7684\u8840\u7F18\u5173\u7CFB","sidebar_label":"\u8868\u8840\u7F18\u89E3\u6790","sidebar_position":2},"sidebar":"docs","previous":{"title":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","permalink":"/SqlParserX/docs/core/field-lineage"},"next":{"title":"\u8868\u89E3\u6790","permalink":"/SqlParserX/docs/core/table-parse"}}'),l=n(4848),t=n(8453);let d={title:"\u8868\u8840\u7F18\u89E3\u6790",description:"\u89E3\u6790 SQL \u4E2D\u6765\u6E90\u8868\u5230\u76EE\u6807\u8868\u7684\u8840\u7F18\u5173\u7CFB",sidebar_label:"\u8868\u8840\u7F18\u89E3\u6790",sidebar_position:2},i="\u8868\u8840\u7F18\u89E3\u6790",a={},c=[{value:"1. \u5F15\u5165\u4F9D\u8D56",id:"1-\u5F15\u5165\u4F9D\u8D56",level:2},{value:"2. \u5B8C\u6574\u793A\u4F8B",id:"2-\u5B8C\u6574\u793A\u4F8B",level:2},{value:"3. \u5B9E\u73B0\u76EE\u6807",id:"3-\u5B9E\u73B0\u76EE\u6807",level:2},{value:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",level:2},{value:"5. \u652F\u6301\u7C92\u5EA6",id:"5-\u652F\u6301\u7C92\u5EA6",level:2}];function o(e){let r={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(r.header,{children:(0,l.jsx)(r.h1,{id:"\u8868\u8840\u7F18\u89E3\u6790",children:"\u8868\u8840\u7F18\u89E3\u6790"})}),"\n",(0,l.jsx)(r.h2,{id:"1-\u5F15\u5165\u4F9D\u8D56",children:"1. \u5F15\u5165\u4F9D\u8D56"}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:[(0,l.jsx)(r.code,{children:"sqlparserx-core"})," \u5DF2\u4F20\u9012\u4F9D\u8D56 ",(0,l.jsx)(r.code,{children:"sqlparserx-syntax"})," \u4E0E Druid\uFF0C\u65E0\u9700\u989D\u5916\u5F15\u5165\u3002"]}),"\n"]}),"\n",(0,l.jsx)(r.h2,{id:"2-\u5B8C\u6574\u793A\u4F8B",children:"2. \u5B8C\u6574\u793A\u4F8B"}),"\n",(0,l.jsxs)(r.p,{children:["\u6CBF\u7528\u5B98\u65B9 ",(0,l.jsx)(r.code,{children:"sqlparserx-core/README.md"})," \u7684\u793A\u4F8B SQL\uFF0C\u4ECE\u83B7\u53D6\u89E3\u6790\u5668\u5230\u6253\u5370\u8868\u8840\u7F18\uFF1A"]}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-java",metastring:'title="TableLineageDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.List;\n\npublic class TableLineageDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1\u3001\u83B7\u53D6\u89E3\u6790\u5668\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2\u3001\u89E3\u6790\u8868\u8840\u7F18\n TableLineageResult result = parser.parseTableLineages(sql);\n\n // 3\u3001\u8BFB\u53D6\u7ED3\u679C\n System.out.println("\u76EE\u6807\u8868: " + result.getTargetTable());\n System.out.println("\u6765\u6E90\u8868: " + result.getSourceTables());\n\n List<TableLineage> tableLineages = result.getTableLineages();\n for (TableLineage lineage : tableLineages) {\n System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable());\n }\n }\n}\n'})}),"\n",(0,l.jsx)(r.p,{children:"\u63A7\u5236\u53F0\u8F93\u51FA\uFF08\u793A\u4F8B\uFF09\uFF1A"}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-text",children:"\u76EE\u6807\u8868: user_order_summary\n\u6765\u6E90\u8868: [users, orders]\nusers -> user_order_summary\norders -> user_order_summary\n"})}),"\n",(0,l.jsx)(r.h2,{id:"3-\u5B9E\u73B0\u76EE\u6807",children:"3. \u5B9E\u73B0\u76EE\u6807"}),"\n",(0,l.jsxs)(r.p,{children:["\u4ECE SQL \u4E2D\u89E3\u6790",(0,l.jsx)(r.strong,{children:"\u76EE\u6807\u8868 \u2192 \u6765\u6E90\u8868"}),"\u7684\u8868\u7EA7\u8840\u7F18\u5173\u7CFB\uFF0C\u8986\u76D6 JOIN\u3001UNION\u3001\u5B50\u67E5\u8BE2\u3001\u805A\u5408\u4E0E CTE \u7B49\u7ED3\u6784\u3002"]}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-text",children:"SQLStatement AST\n \u2192 TableLineageClient.parseTableLineages\n \u2192 \u6536\u96C6\u6765\u6E90\u8868 + \u76EE\u6807\u8868\n \u2192 TableLineageResult\n"})}),"\n",(0,l.jsx)(r.h2,{id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",children:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E"}),"\n",(0,l.jsxs)(r.table,{children:[(0,l.jsx)(r.thead,{children:(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.th,{children:"\u9879\u76EE"}),(0,l.jsx)(r.th,{children:"\u5185\u5BB9"})]})}),(0,l.jsxs)(r.tbody,{children:[(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"Core \u5165\u53E3"}),(0,l.jsx)(r.td,{children:(0,l.jsx)(r.code,{children:"ISqlParser.parseTableLineages(sql)"})})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"\u9ED8\u8BA4\u5B9E\u73B0"}),(0,l.jsxs)(r.td,{children:[(0,l.jsx)(r.code,{children:"BaseSqlParser.parseTableLineages"})," \u2192 ",(0,l.jsx)(r.code,{children:"TableLineageClient"})]})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"\u8FD4\u56DE\u7C7B\u578B"}),(0,l.jsxs)(r.td,{children:[(0,l.jsx)(r.code,{children:"TableLineageResult"}),"\uFF08",(0,l.jsx)(r.code,{children:"getTargetTable()"})," + ",(0,l.jsx)(r.code,{children:"getSourceTables()"})," + ",(0,l.jsx)(r.code,{children:"getTableLineages()"}),"\uFF09"]})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"\u8986\u76D6\u7ED3\u6784"}),(0,l.jsx)(r.td,{children:"JOIN\u3001UNION\u3001\u5B50\u67E5\u8BE2\u3001\u805A\u5408\u3001CTE"})]})]})]}),"\n",(0,l.jsx)(r.h2,{id:"5-\u652F\u6301\u7C92\u5EA6",children:"5. \u652F\u6301\u7C92\u5EA6"}),"\n",(0,l.jsxs)(r.table,{children:[(0,l.jsx)(r.thead,{children:(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.th,{children:"\u80FD\u529B\u9879"}),(0,l.jsx)(r.th,{children:"\u652F\u6301\u60C5\u51B5"}),(0,l.jsx)(r.th,{children:"\u8BF4\u660E"})]})}),(0,l.jsxs)(r.tbody,{children:[(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"\u5355\u8868 / \u591A\u8868 JOIN"}),(0,l.jsx)(r.td,{children:(0,l.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsx)(r.td,{children:"\u89E3\u6790\u6240\u6709\u53C2\u4E0E\u8868"})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"UNION / UNION ALL"}),(0,l.jsx)(r.td,{children:(0,l.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsx)(r.td,{children:"\u5F52\u5E76\u5404\u5206\u652F\u6765\u6E90\u8868"})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"\u5B50\u67E5\u8BE2 / \u6D3E\u751F\u8868"}),(0,l.jsx)(r.td,{children:(0,l.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsx)(r.td,{children:"\u9012\u5F52\u6536\u96C6\u771F\u5B9E\u8868"})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"CTE\uFF08WITH\uFF09"}),(0,l.jsx)(r.td,{children:(0,l.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsx)(r.td,{children:"\u8BC6\u522B CTE \u4E0E\u5176\u771F\u5B9E\u6765\u6E90"})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:(0,l.jsx)(r.code,{children:"INSERT INTO ... SELECT"})}),(0,l.jsx)(r.td,{children:(0,l.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsx)(r.td,{children:"\u8F93\u51FA\u76EE\u6807\u8868\u4E0E\u6765\u6E90\u8868"})]})]})]}),"\n",(0,l.jsxs)(r.blockquote,{children:["\n",(0,l.jsxs)(r.p,{children:["\u66F4\u591A\u8868\u8840\u7F18\u573A\u666F\u4E0E\u6570\u636E\u6E90\u5DEE\u5F02\uFF0C\u4EE5\u9879\u76EE ",(0,l.jsx)(r.code,{children:"docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u80FD\u529B\u652F\u6301\u60C5\u51B5/\u901A\u7528\u89E3\u6790\u80FD\u529B/\u8868\u8840\u7F18\u89E3\u6790\u652F\u6301\u60C5\u51B5.md"})," \u4E3A\u51C6\u3002"]}),"\n"]})]})}function h(e={}){let{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,l.jsx)(r,{...e,children:(0,l.jsx)(o,{...e})}):o(e)}},8453(e,r,n){n.d(r,{R:()=>d,x:()=>i});var s=n(6540);let l={},t=s.createContext(l);function d(e){let r=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:d(e.components),s.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9729.c0276c29.js b/assets/js/9729.c0276c29.js new file mode 100644 index 0000000..e4a415b --- /dev/null +++ b/assets/js/9729.c0276c29.js @@ -0,0 +1,64 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9729"],{459(t,e,i){i.d(e,{diagram:()=>$});var s=i(4924),n=i(6348),a=i(1177);i(1293);var r=i(6827),l=i(2274),h=function(){var t=(0,r.K)(function(t,e,i,s){for(i=i||{},s=t.length;s--;i[t[s]]=e);return i},"o"),e=[1,4],i=[1,14],s=[1,12],n=[1,13],a=[6,7,8],l=[1,20],h=[1,18],o=[1,19],c=[6,7,11],u=[1,6,13,14],d=[1,23],p=[1,24],y=[1,6,7,11,13,14],g={trace:(0,r.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:(0,r.K)(function(t,e,i,s,n,a,r){var l=a.length-1;switch(n){case 6:case 7:return s;case 15:s.addNode(a[l-1].length,a[l].trim());break;case 16:s.addNode(0,a[l].trim())}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:i,7:[1,10],9:9,12:11,13:s,14:n},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:i,12:15,13:s,14:n},{6:i,9:16,12:11,13:s,14:n},{6:l,7:h,10:17,11:o},t(c,[2,18],{14:[1,21]}),t(c,[2,16]),t(c,[2,17]),{6:l,7:h,10:22,11:o},{1:[2,7],6:i,12:15,13:s,14:n},t(u,[2,14],{7:d,11:p}),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(c,[2,15]),t(u,[2,13],{7:d,11:p}),t(y,[2,11]),t(y,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,r.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,r.K)(function(t){var e=this,i=[0],s=[],n=[null],a=[],l=this.table,h="",o=0,c=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),y={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y[g]=this.yy[g]);p.setInput(t,y),y.lexer=p,y.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;a.push(f);var k=p.options&&p.options.ranges;function m(){var t;return"number"!=typeof(t=s.pop()||p.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.parseError?this.parseError=y.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.K)(function(t){i.length=i.length-2*t,n.length=n.length-t,a.length=a.length-t},"popStack"),(0,r.K)(m,"lex");for(var w,x,b,_,v,S,K,$,I,E={};;){if(b=i[i.length-1],this.defaultActions[b]?_=this.defaultActions[b]:(null==w&&(w=m()),_=l[b]&&l[b][w]),void 0===_||!_.length||!_[0]){var A="";for(S in I=[],l[b])this.terminals_[S]&&S>2&&I.push("'"+this.terminals_[S]+"'");A=p.showPosition?"Parse error on line "+(o+1)+":\n"+p.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[w]||w)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==w?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(A,{text:p.match,token:this.terminals_[w]||w,line:p.yylineno,loc:f,expected:I})}if(_[0]instanceof Array&&_.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+w);switch(_[0]){case 1:i.push(w),n.push(p.yytext),a.push(p.yylloc),i.push(_[1]),w=null,x?(w=x,x=null):(c=p.yyleng,h=p.yytext,o=p.yylineno,f=p.yylloc,u>0&&u--);break;case 2:if(K=this.productions_[_[1]][1],E.$=n[n.length-K],E._$={first_line:a[a.length-(K||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(K||1)].first_column,last_column:a[a.length-1].last_column},k&&(E._$.range=[a[a.length-(K||1)].range[0],a[a.length-1].range[1]]),void 0!==(v=this.performAction.apply(E,[h,c,o,y,_[1],n,a].concat(d))))return v;K&&(i=i.slice(0,-1*K*2),n=n.slice(0,-1*K),a=a.slice(0,-1*K)),i.push(this.productions_[_[1]][0]),n.push(E.$),a.push(E._$),$=l[i[i.length-2]][i[i.length-1]],i.push($);break;case 3:return!0}}return!0},"parse")};function f(){this.yy={}}return g.lexer={EOF:1,parseError:(0,r.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,r.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,r.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,r.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,r.K)(function(){return this._more=!0,this},"more"),reject:(0,r.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,r.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,r.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,r.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,r.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,r.K)(function(t,e){var i,s,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var a in n)this[a]=n[a];return!1},"test_match"),next:(0,r.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,s,n=this._currentRules(),a=0;a<n.length;a++)if((i=this._input.match(this.rules[n[a]]))&&(!e||i[0].length>e[0].length)){if(e=i,s=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,r.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,r.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,r.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,r.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,r.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,r.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,r.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.K)(function(t,e,i,s){switch(i){case 0:case 3:return 6;case 1:case 2:return 8;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}},(0,r.K)(f,"Parser"),f.prototype=g,g.Parser=f,new f}();h.parser=h;var o=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}static{(0,r.K)(this,"IshikawaDB")}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,(0,a.IU)()}getRoot(){return this.root}addNode(t,e){let i=a.Y2.sanitizeText(e,(0,a.D7)());if(!this.root){this.root={text:i,children:[]},this.stack=[{level:0,node:this.root}],(0,a.ke)(i);return}this.baseLevel??=t;let s=t-this.baseLevel+1;for(s<=0&&(s=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=s;)this.stack.pop();let n=this.stack[this.stack.length-1].node,r={text:i,children:[]};n.children.push(r),this.stack.push({level:s,node:r})}getAccTitle(){return(0,a.iN)()}setAccTitle(t){(0,a.SV)(t)}getAccDescription(){return(0,a.m7)()}setAccDescription(t){(0,a.EI)(t)}getDiagramTitle(){return(0,a.ab)()}setDiagramTitle(t){(0,a.ke)(t)}},c=82*Math.PI/180,u=Math.cos(c),d=Math.sin(c),p=(0,r.K)((t,e,i)=>{let s=t.node().getBBox(),n=s.width+2*e,r=s.height+2*e;(0,a.a$)(t,r,n,i),t.attr("viewBox",`${s.x-e} ${s.y-e} ${n} ${r}`)},"applyPaddedViewBox"),y=(0,r.K)((t,e,i,r)=>{let h=r.db.getRoot();if(!h)return;let o=(0,a.D7)(),{look:c,handDrawnSeed:u,themeVariables:d}=o,y=(0,n.I5)(o.fontSize)[0]??14,k="handDrawn"===c,m=h.children??[],w=o.ishikawa?.diagramPadding??20,b=o.ishikawa?.useMaxWidth??!1,_=(0,s.D)(e),v=_.append("g").attr("class","ishikawa"),S=k?l.A.svg(_.node()):void 0,$=S?{roughSvg:S,seed:u??0,lineColor:d?.lineColor??"#333",fillColor:d?.mainBkg??"#fff"}:void 0,I=`ishikawa-arrow-${e}`;k||v.append("defs").append("marker").attr("id",I).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,A=250,C=k?void 0:K(v,E,A,E,A,"ishikawa-spine");if(f(v,E,A,h.text,y,$),!m.length){k&&K(v,E,A,E,A,"ishikawa-spine",$),p(_,w,b);return}E-=20;let L=m.filter((t,e)=>e%2==0),M=m.filter((t,e)=>e%2==1),P=g(L),T=g(M),B=P.total+T.total,N=250,D=250;B>0&&(N=Math.max(75,500*(P.total/B)),D=Math.max(75,500*(T.total/B)));let O=2*y;N=Math.max(N,P.max*O),D=Math.max(D,T.max*O),A=Math.max(N,250),C&&C.attr("y1",A).attr("y2",A),v.select(".ishikawa-head-group").attr("transform",`translate(0,${A})`);let W=Math.ceil(m.length/2);for(let t=0;t<W;t++){let e=v.append("g").attr("class","ishikawa-pair");for(let[i,s,n]of[[m[2*t],-1,N],[m[2*t+1],1,D]])i&&x(e,i,E,A,s,n,y,$);E=e.selectAll("text").nodes().reduce((t,e)=>Math.min(t,e.getBBox().x),1/0)}if(k)K(v,E,A,0,A,"ishikawa-spine",$);else{C.attr("x1",E);let t=`url(#${I})`;v.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",t)}p(_,w,b)},"draw"),g=(0,r.K)(t=>{let e=(0,r.K)(t=>t.children.reduce((t,i)=>t+1+e(i),0),"countDescendants");return t.reduce((t,i)=>{let s=e(i);return t.total+=s,t.max=Math.max(t.max,s),t},{total:0,max:0})},"sideStats"),f=(0,r.K)((t,e,i,s,n,a)=>{let r=Math.max(6,Math.floor(110/(.6*n))),l=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${i})`),h=v(l,_(s,r),0,0,"ishikawa-head-label","start",n),o=h.node().getBBox(),c=Math.max(60,o.width+6),u=Math.max(40,2*o.height+40),d=`M 0 ${-u/2} L 0 ${u/2} Q ${2.4*c} 0 0 ${-u/2} Z`;if(a){let t=a.roughSvg.path(d,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});l.insert(()=>t,":first-child").attr("class","ishikawa-head")}else l.insert("path",":first-child").attr("class","ishikawa-head").attr("d",d);h.attr("transform",`translate(${(c-o.width)/2-o.x+3},${-o.y-o.height/2})`)},"drawHead"),k=(0,r.K)((t,e)=>{let i=[],s=[],n=(0,r.K)((t,a,r)=>{for(let l of -1===e?[...t].reverse():t){let t=i.length,e=l.children??[];i.push({depth:r,text:_(l.text,15),parentIndex:a,childCount:e.length}),r%2==0?(s.push(t),e.length&&n(e,t,r+1)):(e.length&&n(e,t,r+1),s.push(t))}},"walk");return n(t,-1,2),{entries:i,yOrder:s}},"flattenTree"),m=(0,r.K)((t,e,i,s,n,a,r)=>{let l=t.append("g").attr("class","ishikawa-label-group"),h=v(l,e,i,s+11*n,"ishikawa-label cause","middle",a).node().getBBox();if(r){let t=r.roughSvg.rectangle(h.x-20,h.y-2,h.width+40,h.height+4,{roughness:1.5,seed:r.seed,fill:r.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:r.lineColor,strokeWidth:2});l.insert(()=>t,":first-child").attr("class","ishikawa-label-box")}else l.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",h.x-20).attr("y",h.y-2).attr("width",h.width+40).attr("height",h.height+4)},"drawCauseLabel"),w=(0,r.K)((t,e,i,s,n,a)=>{let r=Math.sqrt(s*s+n*n);if(0===r)return;let l=s/r,h=n/r,o=-(6*h),c=6*l,u=`M ${e} ${i} L ${e-6*l*2+o} ${i-6*h*2+c} L ${e-6*l*2-o} ${i-6*h*2-c} Z`,d=a.roughSvg.path(u,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>d)},"drawArrowMarker"),x=(0,r.K)((t,e,i,s,n,a,r,l)=>{let h=e.children??[],o=a*(h.length?1:.2),c=d*o*n,p=i+-u*o,y=s+c;if(K(t,i,s,p,y,"ishikawa-branch",l),l&&w(t,i,s,i-p,s-y,l),m(t,e.text,p,y,n,r,l),!h.length)return;let{entries:g,yOrder:f}=k(h,n),x=g.length,b=Array(x);for(let[t,e]of f.entries())b[e]=s+(t+1)/(x+1)*c;let _=new Map;_.set(-1,{x0:i,y0:s,x1:p,y1:y,childCount:h.length,childrenDrawn:0});let $=-u,I=d*n,E=n<0?"ishikawa-label up":"ishikawa-label down";for(let[e,i]of g.entries()){let s=b[e],n=_.get(i.parentIndex),a=t.append("g").attr("class","ishikawa-sub-group"),h=0,o=0,c=0;if(i.depth%2==0){let t=n.y1-n.y0;h=S(n.x0,n.x1,t?(s-n.y0)/t:.5),o=s,c=h-(i.childCount>0?60+5*i.childCount:30),K(a,h,s,c,s,"ishikawa-sub-branch",l),l&&w(a,h,s,1,0,l),v(a,i.text,c,s,"ishikawa-label align","end",r)}else{let t=n.childrenDrawn++;c=(h=S(n.x0,n.x1,(n.childCount-t)/(n.childCount+1)))+(s-(o=n.y0))/I*$,K(a,h,o,c,s,"ishikawa-sub-branch",l),l&&w(a,h,o,h-c,o-s,l),v(a,i.text,c,s,E,"end",r)}i.childCount>0&&_.set(e,{x0:h,y0:o,x1:c,y1:s,childCount:i.childCount,childrenDrawn:0})}},"drawBranch"),b=(0,r.K)(t=>t.split(/<br\s*\/?>|\n/),"splitLines"),_=(0,r.K)((t,e)=>{if(t.length<=e)return t;let i=[];for(let s of t.split(/\s+/)){let t=i.length-1;t>=0&&i[t].length+1+s.length<=e?i[t]+=" "+s:i.push(s)}return i.join("\n")},"wrapText"),v=(0,r.K)((t,e,i,s,n,a,r)=>{let l=b(e),h=1.05*r,o=t.append("text").attr("class",n).attr("text-anchor",a).attr("x",i).attr("y",s-(l.length-1)*h/2);for(let[t,e]of l.entries())o.append("tspan").attr("x",i).attr("dy",0===t?0:h).text(e);return o},"drawMultilineText"),S=(0,r.K)((t,e,i)=>t+(e-t)*i,"lerp"),K=(0,r.K)((t,e,i,s,n,a,r)=>{if(r){let l=r.roughSvg.line(e,i,s,n,{roughness:1.5,seed:r.seed,stroke:r.lineColor,strokeWidth:2});t.append(()=>l).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",i).attr("x2",s).attr("y2",n)},"drawLine"),$={parser:h,get db(){return new o},renderer:{draw:y},styles:(0,r.K)(t=>` +.ishikawa .ishikawa-spine, +.ishikawa .ishikawa-branch, +.ishikawa .ishikawa-sub-branch { + stroke: ${t.lineColor}; + stroke-width: 2; + fill: none; +} + +.ishikawa .ishikawa-sub-branch { + stroke-width: 1; +} + +.ishikawa .ishikawa-arrow { + fill: ${t.lineColor}; +} + +.ishikawa .ishikawa-head { + fill: ${t.mainBkg}; + stroke: ${t.lineColor}; + stroke-width: 2; +} + +.ishikawa .ishikawa-label-box { + fill: ${t.mainBkg}; + stroke: ${t.lineColor}; + stroke-width: 2; +} + +.ishikawa text { + font-family: ${t.fontFamily}; + font-size: ${t.fontSize}; + fill: ${t.textColor}; +} + +.ishikawa .ishikawa-head-label { + font-weight: 600; + text-anchor: middle; + dominant-baseline: middle; + font-size: 14px; +} + +.ishikawa .ishikawa-label { + text-anchor: end; +} + +.ishikawa .ishikawa-label.cause { + text-anchor: middle; + dominant-baseline: middle; +} + +.ishikawa .ishikawa-label.align { + text-anchor: end; + dominant-baseline: middle; +} + +.ishikawa .ishikawa-label.up { + dominant-baseline: baseline; +} + +.ishikawa .ishikawa-label.down { + dominant-baseline: hanging; +} +`,"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/9948.5ccdc219.js b/assets/js/9948.5ccdc219.js new file mode 100644 index 0000000..25a6024 --- /dev/null +++ b/assets/js/9948.5ccdc219.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9948"],{791(t,e,i){i.d(e,{diagram:()=>I});var a=i(1177),n=i(1293),s=i(6827),r=i(7829),l=function(){var t=(0,s.K)(function(t,e,i,a){for(i=i||{},a=t.length;a--;i[t[a]]=e);return i},"o"),e=[1,3],i=[1,4],a=[1,5],n=[1,6],r=[1,7],l=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],h=[55,56,57],c=[2,36],d=[1,37],u=[1,36],x=[1,38],g=[1,35],f=[1,43],p=[1,41],y=[1,45],T=[1,14],m=[1,23],q=[1,18],_=[1,19],A=[1,20],b=[1,21],k=[1,22],S=[1,24],F=[1,25],P=[1,26],C=[1,27],v=[1,28],L=[1,29],I=[1,32],E=[1,33],D=[1,34],z=[1,39],K=[1,40],U=[1,42],w=[1,44],N=[1,63],R=[1,62],B=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],$=[1,66],W=[1,67],O=[1,68],Q=[1,69],X=[1,70],M=[1,71],Y=[1,72],H=[1,73],j=[1,74],G=[1,75],Z=[1,76],V=[1,77],J=[4,5,6,7,8,9,10,11,12,13,14,15,18],tt=[1,91],te=[1,92],ti=[1,93],ta=[1,100],tn=[1,94],ts=[1,97],tr=[1,95],tl=[1,96],to=[1,98],th=[1,99],tc=[1,103],td=[10,55,56,57],tu=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],tx={trace:(0,s.K)(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:(0,s.K)(function(t,e,i,a,n,s,r){var l=s.length-1;switch(n){case 23:case 68:this.$=s[l];break;case 24:case 69:this.$=s[l-1]+""+s[l];break;case 26:this.$=s[l-1]+s[l];break;case 27:this.$=[s[l].trim()];break;case 28:s[l-2].push(s[l].trim()),this.$=s[l-2];break;case 29:this.$=s[l-4],a.addClass(s[l-2],s[l]);break;case 37:this.$=[];break;case 42:this.$=s[l].trim(),a.setDiagramTitle(this.$);break;case 43:this.$=s[l].trim(),a.setAccTitle(this.$);break;case 44:case 45:this.$=s[l].trim(),a.setAccDescription(this.$);break;case 46:a.addSection(s[l].substr(8)),this.$=s[l].substr(8);break;case 47:a.addPoint(s[l-3],"",s[l-1],s[l],[]);break;case 48:a.addPoint(s[l-4],s[l-3],s[l-1],s[l],[]);break;case 49:a.addPoint(s[l-4],"",s[l-2],s[l-1],s[l]);break;case 50:a.addPoint(s[l-5],s[l-4],s[l-2],s[l-1],s[l]);break;case 51:a.setXAxisLeftText(s[l-2]),a.setXAxisRightText(s[l]);break;case 52:s[l-1].text+=" \u27F6 ",a.setXAxisLeftText(s[l-1]);break;case 53:a.setXAxisLeftText(s[l]);break;case 54:a.setYAxisBottomText(s[l-2]),a.setYAxisTopText(s[l]);break;case 55:s[l-1].text+=" \u27F6 ",a.setYAxisBottomText(s[l-1]);break;case 56:a.setYAxisBottomText(s[l]);break;case 57:a.setQuadrant1Text(s[l]);break;case 58:a.setQuadrant2Text(s[l]);break;case 59:a.setQuadrant3Text(s[l]);break;case 60:a.setQuadrant4Text(s[l]);break;case 64:case 66:this.$={text:s[l],type:"text"};break;case 65:this.$={text:s[l-1].text+""+s[l],type:s[l-1].type};break;case 67:this.$={text:s[l],type:"markdown"}}},"anonymous"),table:[{18:e,26:1,27:2,28:i,55:a,56:n,57:r},{1:[3]},{18:e,26:8,27:2,28:i,55:a,56:n,57:r},{18:e,26:9,27:2,28:i,55:a,56:n,57:r},t(l,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(h,c,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:u,10:x,12:g,13:f,14:p,15:y,18:T,25:m,35:q,37:_,39:A,41:b,42:k,48:S,50:F,51:P,52:C,53:v,54:L,60:I,61:E,63:D,64:z,65:K,66:U,67:w}),t(l,[2,34]),{27:46,55:a,56:n,57:r},t(h,[2,37]),t(h,c,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:d,5:u,10:x,12:g,13:f,14:p,15:y,18:T,25:m,35:q,37:_,39:A,41:b,42:k,48:S,50:F,51:P,52:C,53:v,54:L,60:I,61:E,63:D,64:z,65:K,66:U,67:w}),t(h,[2,39]),t(h,[2,40]),t(h,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(h,[2,45]),t(h,[2,46]),{18:[1,51]},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:52,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:53,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:54,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:55,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:56,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:57,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,44:[1,58],47:[1,59],58:61,59:60,63:D,64:z,65:K,66:U,67:w},t(B,[2,64]),t(B,[2,66]),t(B,[2,67]),t(B,[2,70]),t(B,[2,71]),t(B,[2,72]),t(B,[2,73]),t(B,[2,74]),t(B,[2,75]),t(B,[2,76]),t(B,[2,77]),t(B,[2,78]),t(B,[2,79]),t(B,[2,80]),t(B,[2,81]),t(l,[2,35]),t(h,[2,38]),t(h,[2,42]),t(h,[2,43]),t(h,[2,44]),{3:65,4:$,5:W,6:O,7:Q,8:X,9:M,10:Y,11:H,12:j,13:G,14:Z,15:V,21:64},t(h,[2,53],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,49:[1,78],63:D,64:z,65:K,66:U,67:w}),t(h,[2,56],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,49:[1,79],63:D,64:z,65:K,66:U,67:w}),t(h,[2,57],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),t(h,[2,58],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),t(h,[2,59],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),t(h,[2,60],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),{45:[1,80]},{44:[1,81]},t(B,[2,65]),t(B,[2,82]),t(B,[2,83]),t(B,[2,84]),{3:83,4:$,5:W,6:O,7:Q,8:X,9:M,10:Y,11:H,12:j,13:G,14:Z,15:V,18:[1,82]},t(J,[2,23]),t(J,[2,1]),t(J,[2,2]),t(J,[2,3]),t(J,[2,4]),t(J,[2,5]),t(J,[2,6]),t(J,[2,7]),t(J,[2,8]),t(J,[2,9]),t(J,[2,10]),t(J,[2,11]),t(J,[2,12]),t(h,[2,52],{58:31,43:84,4:d,5:u,10:x,12:g,13:f,14:p,15:y,60:I,61:E,63:D,64:z,65:K,66:U,67:w}),t(h,[2,55],{58:31,43:85,4:d,5:u,10:x,12:g,13:f,14:p,15:y,60:I,61:E,63:D,64:z,65:K,66:U,67:w}),{46:[1,86]},{45:[1,87]},{4:tt,5:te,6:ti,8:ta,11:tn,13:ts,16:90,17:tr,18:tl,19:to,20:th,22:89,23:88},t(J,[2,24]),t(h,[2,51],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),t(h,[2,54],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),t(h,[2,47],{22:89,16:90,23:101,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th}),{46:[1,102]},t(h,[2,29],{10:tc}),t(td,[2,27],{16:104,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th}),t(tu,[2,25]),t(tu,[2,13]),t(tu,[2,14]),t(tu,[2,15]),t(tu,[2,16]),t(tu,[2,17]),t(tu,[2,18]),t(tu,[2,19]),t(tu,[2,20]),t(tu,[2,21]),t(tu,[2,22]),t(h,[2,49],{10:tc}),t(h,[2,48],{22:89,16:90,23:105,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th}),{4:tt,5:te,6:ti,8:ta,11:tn,13:ts,16:90,17:tr,18:tl,19:to,20:th,22:106},t(tu,[2,26]),t(h,[2,50],{10:tc}),t(td,[2,28],{16:104,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th})],defaultActions:{8:[2,30],9:[2,31]},parseError:(0,s.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,s.K)(function(t){var e=this,i=[0],a=[],n=[null],r=[],l=this.table,o="",h=0,c=0,d=0,u=r.slice.call(arguments,1),x=Object.create(this.lexer),g={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g[f]=this.yy[f]);x.setInput(t,g),g.lexer=x,g.parser=this,void 0===x.yylloc&&(x.yylloc={});var p=x.yylloc;r.push(p);var y=x.options&&x.options.ranges;function T(){var t;return"number"!=typeof(t=a.pop()||x.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.parseError?this.parseError=g.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.K)(function(t){i.length=i.length-2*t,n.length=n.length-t,r.length=r.length-t},"popStack"),(0,s.K)(T,"lex");for(var m,q,_,A,b,k,S,F,P,C={};;){if(_=i[i.length-1],this.defaultActions[_]?A=this.defaultActions[_]:(null==m&&(m=T()),A=l[_]&&l[_][m]),void 0===A||!A.length||!A[0]){var v="";for(k in P=[],l[_])this.terminals_[k]&&k>2&&P.push("'"+this.terminals_[k]+"'");v=x.showPosition?"Parse error on line "+(h+1)+":\n"+x.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(v,{text:x.match,token:this.terminals_[m]||m,line:x.yylineno,loc:p,expected:P})}if(A[0]instanceof Array&&A.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+m);switch(A[0]){case 1:i.push(m),n.push(x.yytext),r.push(x.yylloc),i.push(A[1]),m=null,q?(m=q,q=null):(c=x.yyleng,o=x.yytext,h=x.yylineno,p=x.yylloc,d>0&&d--);break;case 2:if(S=this.productions_[A[1]][1],C.$=n[n.length-S],C._$={first_line:r[r.length-(S||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(S||1)].first_column,last_column:r[r.length-1].last_column},y&&(C._$.range=[r[r.length-(S||1)].range[0],r[r.length-1].range[1]]),void 0!==(b=this.performAction.apply(C,[o,c,h,g,A[1],n,r].concat(u))))return b;S&&(i=i.slice(0,-1*S*2),n=n.slice(0,-1*S),r=r.slice(0,-1*S)),i.push(this.productions_[A[1]][0]),n.push(C.$),r.push(C._$),F=l[i[i.length-2]][i[i.length-1]],i.push(F);break;case 3:return!0}}return!0},"parse")};function tg(){this.yy={}}return tx.lexer={EOF:1,parseError:(0,s.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,s.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,s.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,s.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===a.length?this.yylloc.first_column:0)+a[a.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,s.K)(function(){return this._more=!0,this},"more"),reject:(0,s.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,s.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,s.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,s.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,s.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,s.K)(function(t,e){var i,a,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},"test_match"),next:(0,s.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,a,n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,a=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,s.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,s.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,s.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,s.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,s.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,s.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,s.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.K)(function(t,e,i,a){switch(i){case 0:case 1:case 3:break;case 2:return 55;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 23:case 25:case 31:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 24:this.begin("string");break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 15;case 37:return 11;case 38:return 64;case 39:return 10;case 40:case 41:return 65;case 42:return 14;case 43:return 13;case 44:return 67;case 45:return 66;case 46:return 12;case 47:return 8;case 48:return 5;case 49:return 18;case 50:return 56;case 51:return 63;case 52:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?:[^\x00-\x7F]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}},(0,s.K)(tg,"Parser"),tg.prototype=tx,tx.Parser=tg,new tg}();l.parser=l;var o=(0,a.P$)(),h=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{(0,s.K)(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:a.UI.quadrantChart?.chartWidth||500,chartWidth:a.UI.quadrantChart?.chartHeight||500,titlePadding:a.UI.quadrantChart?.titlePadding||10,titleFontSize:a.UI.quadrantChart?.titleFontSize||20,quadrantPadding:a.UI.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:a.UI.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:a.UI.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:a.UI.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:a.UI.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:a.UI.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:a.UI.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:a.UI.quadrantChart?.pointTextPadding||5,pointLabelFontSize:a.UI.quadrantChart?.pointLabelFontSize||12,pointRadius:a.UI.quadrantChart?.pointRadius||5,xAxisPosition:a.UI.quadrantChart?.xAxisPosition||"top",yAxisPosition:a.UI.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:a.UI.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:a.UI.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:o.quadrant1Fill,quadrant2Fill:o.quadrant2Fill,quadrant3Fill:o.quadrant3Fill,quadrant4Fill:o.quadrant4Fill,quadrant1TextFill:o.quadrant1TextFill,quadrant2TextFill:o.quadrant2TextFill,quadrant3TextFill:o.quadrant3TextFill,quadrant4TextFill:o.quadrant4TextFill,quadrantPointFill:o.quadrantPointFill,quadrantPointTextFill:o.quadrantPointTextFill,quadrantXAxisTextFill:o.quadrantXAxisTextFill,quadrantYAxisTextFill:o.quadrantYAxisTextFill,quadrantTitleFill:o.quadrantTitleFill,quadrantInternalBorderStrokeFill:o.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:o.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,n.R.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}addClass(t,e){this.classes.set(t,e)}setConfig(t){n.R.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){n.R.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,e,i,a){let n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,s={top:"top"===t&&e?n:0,bottom:"bottom"===t&&e?n:0},r=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,l={left:"left"===this.config.yAxisPosition&&i?r:0,right:"right"===this.config.yAxisPosition&&i?r:0},o=this.config.titleFontSize+2*this.config.titlePadding,h={top:a?o:0},c=this.config.quadrantPadding+l.left,d=this.config.quadrantPadding+s.top+h.top,u=this.config.chartWidth-2*this.config.quadrantPadding-l.left-l.right,x=this.config.chartHeight-2*this.config.quadrantPadding-s.top-s.bottom-h.top;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:c,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:x,quadrantHalfHeight:x/2}}}getAxisLabels(t,e,i,a){let{quadrantSpace:n,titleSpace:s}=a,{quadrantHalfHeight:r,quadrantHeight:l,quadrantLeft:o,quadrantHalfWidth:h,quadrantTop:c,quadrantWidth:d}=n,u=!!this.data.xAxisRightText,x=!!this.data.yAxisTopText,g=[];return this.data.xAxisLeftText&&e&&g.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&g.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+h+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&i&&g.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+l-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&i&&g.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+r-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),g}getQuadrants(t){let{quadrantSpace:e}=t,{quadrantHalfHeight:i,quadrantLeft:a,quadrantHalfWidth:n,quadrantTop:s}=e,r=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s,width:n,height:i,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:a,y:s,width:n,height:i,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:a,y:s+i,width:n,height:i,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:a+n,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant4Fill}];for(let t of r)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return r}getQuadrantPoints(t){let{quadrantSpace:e}=t,{quadrantHeight:i,quadrantLeft:a,quadrantTop:n,quadrantWidth:s}=e,l=(0,r.m4Y)().domain([0,1]).range([a,s+a]),o=(0,r.m4Y)().domain([0,1]).range([i+n,n]);return this.data.points.map(t=>{let e=this.classes.get(t.className);return e&&(t={...e,...t}),{x:l(t.x),y:o(t.y),fill:t.color??this.themeConfig.quadrantPointFill,radius:t.radius??this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:l(t.x),y:o(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:t.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:t.strokeWidth??"0px"}})}getBorders(t){let e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:i}=t,{quadrantHalfHeight:a,quadrantHeight:n,quadrantLeft:s,quadrantHalfWidth:r,quadrantTop:l,quadrantWidth:o}=i;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:l,x2:s+o+e,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+o,y1:l+e,x2:s+o,y2:l+n-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:l+n,x2:s+o+e,y2:l+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+e,x2:s,y2:l+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+e,x2:s+r,y2:l+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+e,y1:l+a,x2:s+o-e,y2:l+a}]}getTitle(t){if(t)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(){let t=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),e=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),i=this.config.showTitle&&!!this.data.titleText,a=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(a,t,e,i);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(a,t,e,n),borderLines:this.getBorders(n),title:this.getTitle(i)}}},c=class extends Error{static{(0,s.K)(this,"InvalidStyleError")}constructor(t,e,i){super(`value for ${t} ${e} is invalid, please use a valid ${i}`),this.name="InvalidStyleError"}};function d(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function u(t){return!/^\d+$/.test(t)}function x(t){return!/^\d+px$/.test(t)}function g(t){return(0,a.jZ)(t.trim(),(0,a.D7)())}(0,s.K)(d,"validateHexCode"),(0,s.K)(u,"validateNumber"),(0,s.K)(x,"validateSizeInPixels"),(0,s.K)(g,"textSanitizer");var f=new h;function p(t){f.setData({quadrant1Text:g(t.text)})}function y(t){f.setData({quadrant2Text:g(t.text)})}function T(t){f.setData({quadrant3Text:g(t.text)})}function m(t){f.setData({quadrant4Text:g(t.text)})}function q(t){f.setData({xAxisLeftText:g(t.text)})}function _(t){f.setData({xAxisRightText:g(t.text)})}function A(t){f.setData({yAxisTopText:g(t.text)})}function b(t){f.setData({yAxisBottomText:g(t.text)})}function k(t){let e={};for(let i of t){let[t,a]=i.trim().split(/\s*:\s*/);if("radius"===t){if(u(a))throw new c(t,a,"number");e.radius=parseInt(a)}else if("color"===t){if(d(a))throw new c(t,a,"hex code");e.color=a}else if("stroke-color"===t){if(d(a))throw new c(t,a,"hex code");e.strokeColor=a}else if("stroke-width"===t){if(x(a))throw new c(t,a,"number of pixels (eg. 10px)");e.strokeWidth=a}else throw Error(`style named ${t} is not supported.`)}return e}function S(t,e,i,a,n){let s=k(n);f.addPoints([{x:i,y:a,text:g(t.text),className:e,...s}])}function F(t,e){f.addClass(t,k(e))}function P(t){f.setConfig({chartWidth:t})}function C(t){f.setConfig({chartHeight:t})}function v(){let{themeVariables:t,quadrantChart:e}=(0,a.D7)();return e&&f.setConfig(e),f.setThemeConfig({quadrant1Fill:t.quadrant1Fill,quadrant2Fill:t.quadrant2Fill,quadrant3Fill:t.quadrant3Fill,quadrant4Fill:t.quadrant4Fill,quadrant1TextFill:t.quadrant1TextFill,quadrant2TextFill:t.quadrant2TextFill,quadrant3TextFill:t.quadrant3TextFill,quadrant4TextFill:t.quadrant4TextFill,quadrantPointFill:t.quadrantPointFill,quadrantPointTextFill:t.quadrantPointTextFill,quadrantXAxisTextFill:t.quadrantXAxisTextFill,quadrantYAxisTextFill:t.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:t.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:t.quadrantInternalBorderStrokeFill,quadrantTitleFill:t.quadrantTitleFill}),f.setData({titleText:(0,a.ab)()}),f.build()}(0,s.K)(p,"setQuadrant1Text"),(0,s.K)(y,"setQuadrant2Text"),(0,s.K)(T,"setQuadrant3Text"),(0,s.K)(m,"setQuadrant4Text"),(0,s.K)(q,"setXAxisLeftText"),(0,s.K)(_,"setXAxisRightText"),(0,s.K)(A,"setYAxisTopText"),(0,s.K)(b,"setYAxisBottomText"),(0,s.K)(k,"parseStyles"),(0,s.K)(S,"addPoint"),(0,s.K)(F,"addClass"),(0,s.K)(P,"setWidth"),(0,s.K)(C,"setHeight"),(0,s.K)(v,"getQuadrantData");var L={setWidth:P,setHeight:C,setQuadrant1Text:p,setQuadrant2Text:y,setQuadrant3Text:T,setQuadrant4Text:m,setXAxisLeftText:q,setXAxisRightText:_,setYAxisTopText:A,setYAxisBottomText:b,parseStyles:k,addPoint:S,addClass:F,getQuadrantData:v,clear:(0,s.K)(function(){f.clear(),(0,a.IU)()},"clear"),setAccTitle:a.SV,getAccTitle:a.iN,setDiagramTitle:a.ke,getDiagramTitle:a.ab,getAccDescription:a.m7,setAccDescription:a.EI},I={parser:l,db:L,renderer:{draw:(0,s.K)((t,e,i,l)=>{let o;function h(t){return"top"===t?"hanging":"middle"}function c(t){return"left"===t?"start":"middle"}function d(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,s.K)(h,"getDominantBaseLine"),(0,s.K)(c,"getTextAnchor"),(0,s.K)(d,"getTransformation");let u=(0,a.D7)();n.R.debug("Rendering quadrant chart\n"+t);let x=u.securityLevel;"sandbox"===x&&(o=(0,r.Ltv)("#i"+e));let g=("sandbox"===x?(0,r.Ltv)(o.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${e}"]`),f=g.append("g").attr("class","main"),p=u.quadrantChart?.chartWidth??500,y=u.quadrantChart?.chartHeight??500;(0,a.a$)(g,y,p,u.quadrantChart?.useMaxWidth??!0),g.attr("viewBox","0 0 "+p+" "+y),l.db.setHeight(y),l.db.setWidth(p);let T=l.db.getQuadrantData(),m=f.append("g").attr("class","quadrants"),q=f.append("g").attr("class","border"),_=f.append("g").attr("class","data-points"),A=f.append("g").attr("class","labels"),b=f.append("g").attr("class","title");T.title&&b.append("text").attr("x",0).attr("y",0).attr("fill",T.title.fill).attr("font-size",T.title.fontSize).attr("dominant-baseline",h(T.title.horizontalPos)).attr("text-anchor",c(T.title.verticalPos)).attr("transform",d(T.title)).text(T.title.text),T.borderLines&&q.selectAll("line").data(T.borderLines).enter().append("line").attr("x1",t=>t.x1).attr("y1",t=>t.y1).attr("x2",t=>t.x2).attr("y2",t=>t.y2).style("stroke",t=>t.strokeFill).style("stroke-width",t=>t.strokeWidth);let k=m.selectAll("g.quadrant").data(T.quadrants).enter().append("g").attr("class","quadrant");k.append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill),k.append("text").attr("x",0).attr("y",0).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>h(t.text.horizontalPos)).attr("text-anchor",t=>c(t.text.verticalPos)).attr("transform",t=>d(t.text)).text(t=>t.text.text),A.selectAll("g.label").data(T.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(t=>t.text).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>h(t.horizontalPos)).attr("text-anchor",t=>c(t.verticalPos)).attr("transform",t=>d(t));let S=_.selectAll("g.data-point").data(T.points).enter().append("g").attr("class","data-point");S.append("circle").attr("cx",t=>t.x).attr("cy",t=>t.y).attr("r",t=>t.radius).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeColor).attr("stroke-width",t=>t.strokeWidth),S.append("text").attr("x",0).attr("y",0).text(t=>t.text.text).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>h(t.text.horizontalPos)).attr("text-anchor",t=>c(t.text.verticalPos)).attr("transform",t=>d(t.text))},"draw")},styles:(0,s.K)(()=>"","styles")}}}]); \ No newline at end of file diff --git a/assets/js/9956.a105c9b8.js b/assets/js/9956.a105c9b8.js new file mode 100644 index 0000000..28e1979 --- /dev/null +++ b/assets/js/9956.a105c9b8.js @@ -0,0 +1,309 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9956"],{5869(e,t,s){s.d(t,{P:()=>r});var i=s(1177),n=s(1293),a=s(6827),r=(0,a.K)((e,t,s,a)=>{e.attr("class",s);let{width:r,height:h,x:c,y:d}=o(e,t);(0,i.a$)(e,h,r,a);let u=l(c,d,r,h,t);e.attr("viewBox",u),n.R.debug(`viewBox configured: ${u} with padding: ${t}`)},"setupViewPortForSVG"),o=(0,a.K)((e,t)=>{let s=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*t,height:s.height+2*t,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,a.K)((e,t,s,i,n)=>`${e-n} ${t-n} ${s} ${i}`,"createViewBox")},6755(e,t,s){s.d(t,{A:()=>a});var i=s(6827),n=s(7829),a=(0,i.K)((e,t)=>{let s;return"sandbox"===t&&(s=(0,n.Ltv)("#i"+e)),("sandbox"===t?(0,n.Ltv)(s.nodes()[0].contentDocument.body):(0,n.Ltv)("body")).select(`[id="${e}"]`)},"getDiagramElement")},463(e,t,s){s.d(t,{diagram:()=>aU});var i,n,a,r,o,l,h,c,d,u=s(6755),p=s(5869),f=s(2391);s(3247),s(5616),s(6163),s(7827),s(3002),s(739);var m=s(6320);s(2217);var T=s(2941),A=s(6348),E=s(1177),g=s(1293),y=s(6827),L=s(8058),S=s(2888),R=s(6401),N=s(4722),O=s(1349),k=s(1564);let I=function(e){return(0,k.A)(e,4)};function C(e){function t(){}t.prototype=e;let s=new t;function i(){return typeof s.bar}return i(),i(),e}let b=function(e,t,s){var i=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(s=s>n?n:s)<0&&(s+=n),n=t>s?0:s-t>>>0,t>>>=0;for(var a=Array(n);++i<n;)a[i]=e[i+t];return a};var v=s(8593);let _=function(e,t,s){var i=null==e?0:e.length;return i?b(e,(t=s||void 0===t?1:(0,v.A)(t))<0?0:t,i):[]};var x=s(9703),U=s(2851),M=s(2031),w=s(3767),P=s(8446),D=s(7271),$=s(7422),K=Object.prototype.hasOwnProperty,F=(0,w.A)(function(e,t){if((0,D.A)(t)||(0,P.A)(t))return void(0,M.A)(t,(0,$.A)(t),e);for(var s in t)K.call(t,s)&&(0,U.A)(e,s,t[s])}),B=s(5572),G=s(1990),W=s(8986),j=s(3973);let z=function(e,t){if(null==e)return{};var s=(0,B.A)((0,j.A)(e),function(e){return[e]});return t=(0,G.A)(t),(0,W.A)(e,s,function(e,s){return t(e,s[0])})};var V=s(8348),H=s(3098),Y=s(2789),X=s(4841),J=X.A&&X.A.isRegExp,q=J?(0,Y.A)(J):function(e){return(0,H.A)(e)&&"[object RegExp]"==(0,V.A)(e)};class Z{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),(0,L.A)(this.definition,t=>{t.accept(e)})}}class Q extends Z{constructor(e){super([]),this.idx=1,F(this,z(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ee extends Z{constructor(e){super(e.definition),this.orgText="",F(this,z(e,e=>void 0!==e))}}class et extends Z{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,F(this,z(e,e=>void 0!==e))}}class es extends Z{constructor(e){super(e.definition),this.idx=1,F(this,z(e,e=>void 0!==e))}}class ei extends Z{constructor(e){super(e.definition),this.idx=1,F(this,z(e,e=>void 0!==e))}}class en extends Z{constructor(e){super(e.definition),this.idx=1,F(this,z(e,e=>void 0!==e))}}class ea extends Z{constructor(e){super(e.definition),this.idx=1,F(this,z(e,e=>void 0!==e))}}class er extends Z{constructor(e){super(e.definition),this.idx=1,F(this,z(e,e=>void 0!==e))}}class eo extends Z{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,F(this,z(e,e=>void 0!==e))}}class el{constructor(e){this.idx=1,F(this,z(e,e=>void 0!==e))}accept(e){e.visit(this)}}class eh{visit(e){switch(e.constructor){case Q:return this.visitNonTerminal(e);case et:return this.visitAlternative(e);case es:return this.visitOption(e);case ei:return this.visitRepetitionMandatory(e);case en:return this.visitRepetitionMandatoryWithSeparator(e);case er:return this.visitRepetitionWithSeparator(e);case ea:return this.visitRepetition(e);case eo:return this.visitAlternation(e);case el:return this.visitTerminal(e);case ee:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}var ec=s(3736),ed=s(5045);let eu=function(e,t){var s;return(0,ed.A)(e,function(e,i,n){return!(s=t(e,i,n))}),!!s};var ep=s(2049),ef=s(6832);let em=function(e,t,s){var i=(0,ep.A)(e)?ec.A:eu;return s&&(0,ef.A)(e,t,s)&&(t=void 0),i(e,(0,G.A)(t,3))};var eT=s(4428),eA=Math.max;let eE=function(e,t,s,i){e=(0,P.A)(e)?e:(0,S.A)(e),s=s&&!i?(0,v.A)(s):0;var n=e.length;return s<0&&(s=eA(n+s,0)),(0,x.A)(e)?s<=n&&e.indexOf(t,s)>-1:!!n&&(0,eT.A)(e,t,s)>-1},eg=function(e,t){for(var s=-1,i=null==e?0:e.length;++s<i;)if(!t(e[s],s,e))return!1;return!0},ey=function(e,t){var s=!0;return(0,ed.A)(e,function(e,i,n){return s=!!t(e,i,n)}),s},eL=function(e,t,s){var i=(0,ep.A)(e)?eg:ey;return s&&(0,ef.A)(e,t,s)&&(t=void 0),i(e,(0,G.A)(t,3))};function eS(e,t=[]){return e instanceof es||e instanceof ea||e instanceof er||(e instanceof eo?em(e.definition,e=>eS(e,t)):!(e instanceof Q&&eE(t,e))&&e instanceof Z&&(e instanceof Q&&t.push(e),eL(e.definition,e=>eS(e,t))))}function eR(e){if(e instanceof Q)return"SUBRULE";if(e instanceof es)return"OPTION";if(e instanceof eo)return"OR";if(e instanceof ei)return"AT_LEAST_ONE";if(e instanceof en)return"AT_LEAST_ONE_SEP";else if(e instanceof er)return"MANY_SEP";else if(e instanceof ea)return"MANY";else if(e instanceof el)return"CONSUME";else throw Error("non exhaustive match")}class eN{walk(e,t=[]){(0,L.A)(e.definition,(s,i)=>{let n=_(e.definition,i+1);if(s instanceof Q)this.walkProdRef(s,n,t);else if(s instanceof el)this.walkTerminal(s,n,t);else if(s instanceof et)this.walkFlat(s,n,t);else if(s instanceof es)this.walkOption(s,n,t);else if(s instanceof ei)this.walkAtLeastOne(s,n,t);else if(s instanceof en)this.walkAtLeastOneSep(s,n,t);else if(s instanceof er)this.walkManySep(s,n,t);else if(s instanceof ea)this.walkMany(s,n,t);else if(s instanceof eo)this.walkOr(s,n,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,s){}walkProdRef(e,t,s){}walkFlat(e,t,s){let i=t.concat(s);this.walk(e,i)}walkOption(e,t,s){let i=t.concat(s);this.walk(e,i)}walkAtLeastOne(e,t,s){let i=[new es({definition:e.definition})].concat(t,s);this.walk(e,i)}walkAtLeastOneSep(e,t,s){let i=eO(e,t,s);this.walk(e,i)}walkMany(e,t,s){let i=[new es({definition:e.definition})].concat(t,s);this.walk(e,i)}walkManySep(e,t,s){let i=eO(e,t,s);this.walk(e,i)}walkOr(e,t,s){let i=t.concat(s);(0,L.A)(e.definition,e=>{let t=new et({definition:[e]});this.walk(t,i)})}}function eO(e,t,s){return[new es({definition:[new el({terminalType:e.separator})].concat(e.definition)})].concat(t,s)}var ek=s(449);let eI=function(e){return e&&e.length?(0,ek.A)(e):[]};var eC=s(4098);function eb(e){if(e instanceof Q)return eb(e.referencedRule);if(e instanceof el)return[e.terminalType];if(e instanceof et||e instanceof es||e instanceof ea||e instanceof ei||e instanceof en||e instanceof er||e instanceof el||e instanceof ee)return function(e){let t,s=[],i=e.definition,n=0,a=i.length>n,r=!0;for(;a&&r;)r=eS(t=i[n]),s=s.concat(eb(t)),n+=1,a=i.length>n;return eI(s)}(e);if(e instanceof eo){var t;let s;return t=e,s=(0,N.A)(t.definition,e=>eb(e)),eI((0,eC.A)(s))}throw Error("non exhaustive match")}class ev extends eN{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,s){}walkProdRef(e,t,s){var i,n;let a=(i=e.referencedRule,n=e.idx,i.name+n+"_~IN~_"+this.topProd.name),r=eb(new et({definition:t.concat(s)}));this.follows[a]=r}}var e_=s(9592);function ex(e){return e.charCodeAt(0)}function eU(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function eM(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function ew(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function eP(){throw Error("Internal Error - Should never get here!")}function eD(e){return"Character"===e.type}let e$=[];for(let e=ex("0");e<=ex("9");e++)e$.push(e);let eK=[ex("_")].concat(e$);for(let e=ex("a");e<=ex("z");e++)eK.push(e);for(let e=ex("A");e<=ex("Z");e++)eK.push(e);let eF=[ex(" "),ex("\f"),ex("\n"),ex("\r"),ex(" "),ex("\v"),ex(" "),ex("\xa0"),ex("\u1680"),ex("\u2000"),ex("\u2001"),ex("\u2002"),ex("\u2003"),ex("\u2004"),ex("\u2005"),ex("\u2006"),ex("\u2007"),ex("\u2008"),ex("\u2009"),ex("\u200A"),ex("\u2028"),ex("\u2029"),ex("\u202F"),ex("\u205F"),ex("\u3000"),ex("\uFEFF")],eB=/[0-9a-fA-F]/,eG=/[0-9]/,eW=/[1-9]/;class ej{visitChildren(e){for(let t in e){let s=e[t];e.hasOwnProperty(t)&&(void 0!==s.type?this.visit(s):Array.isArray(s)&&s.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}var ez=s(3068),eV=s(2634),eH=s(1790);let eY=function(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}},eX=function(e,t){return((0,ep.A)(e)?eV.A:eH.A)(e,eY((0,G.A)(t,3)))};var eJ=s(9610),eq=Math.max;let eZ=function(e,t,s){var i=null==e?0:e.length;if(!i)return -1;var n=null==s?0:(0,v.A)(s);return n<0&&(n=eq(i+n,0)),(0,eT.A)(e,t,n)};var eQ=s(4039),e0=s(4092),e1=s(674),e2=s(5530),e3=s(7809),e6=s(4099);let e5=function(e,t,s,i){var n=-1,a=e2.A,r=!0,o=e.length,l=[],h=t.length;if(!o)return l;s&&(t=(0,B.A)(t,(0,Y.A)(s))),i?(a=e3.A,r=!1):t.length>=200&&(a=e6.A,r=!1,t=new e1.A(t));e:for(;++n<o;){var c=e[n],d=null==s?c:s(c);if(c=i||0!==c?c:0,r&&d==d){for(var u=h;u--;)if(t[u]===d)continue e;l.push(c)}else a(t,d,i)||l.push(c)}return l};var e9=s(6335),e4=s(4326),e8=s(3533),e7=(0,e4.A)(function(e,t){return(0,e8.A)(e)?e5(e,(0,e9.A)(t,1,e8.A,!0)):[]});let te=function(e){for(var t=-1,s=null==e?0:e.length,i=0,n=[];++t<s;){var a=e[t];a&&(n[i++]=a)}return n},tt=function(e){return e&&e.length?e[0]:void 0};var ts=s(77);function ti(e){console&&console.error&&console.error(`Error: ${e}`)}function tn(e){console&&console.warn&&console.warn(`Warning: ${e}`)}let ta={},tr=new class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let s={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":eM(s,"global");break;case"i":eM(s,"ignoreCase");break;case"m":eM(s,"multiLine");break;case"u":eM(s,"unicode");break;case"y":eM(s,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:s,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}}ew(t);let s=this.disjunction();return this.consumeChar(")"),{type:t,value:s,loc:this.loc(e)}}return eP()}quantifier(e=!1){let t,s=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":t=this.isDigit()?{atLeast:i,atMost:this.integerIncludingZero()}:{atLeast:i,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;ew(t)}if((!0!==e||void 0!==t)&&ew(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(s),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),ew(e))?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):eP()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[ex("\n"),ex("\r"),ex("\u2028"),ex("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=e$;break;case"D":e=e$,t=!0;break;case"s":e=eF;break;case"S":e=eF,t=!0;break;case"w":e=eK;break;case"W":e=eK,t=!0}return ew(e)?{type:"Set",value:e,complement:t}:eP()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=ex("\f");break;case"n":e=ex("\n");break;case"r":e=ex("\r");break;case"t":e=ex(" ");break;case"v":e=ex("\v")}return ew(e)?{type:"Character",value:e}:eP()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:ex("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:ex(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:ex(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,eD(t)&&this.isRangeDash()){this.consumeChar("-");let s=this.classAtom();if(s.type,eD(s)){if(s.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:s.value})}else eU(t.value,e),e.push(ex("-")),eU(s.value,e)}else eU(t.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:ex("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),"?"===this.peekChar(0)?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let t=this.disjunction();this.consumeChar(")");let s={type:"Group",capturing:e,value:t};return e&&(s.idx=this.groupIdx),s}positiveInteger(){let e=this.popChar();if(!1===eW.test(e))throw Error("Expecting a positive integer");for(;eG.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===eG.test(e))throw Error("Expecting an integer");for(;eG.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:ex(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return eG.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2)||"<"===this.peekChar(2)&&("="===this.peekChar(3)||"!"===this.peekChar(3)));default:return!1}}isQuantifier(){let e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let s=0;s<e;s++){let e=this.popChar();if(!1===eB.test(e))throw Error("Expecting a HexDecimal digits");t+=e}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};function to(e){let t=e.toString();if(ta.hasOwnProperty(t))return ta[t];{let e=tr.pattern(t);return ta[t]=e,e}}let tl="Complement Sets are not supported for first char optimization",th='Unable to use "first char" lexer optimizations:\n';function tc(e,t,s){let i=tI(e);t[i]=i,!0===s&&function(e,t){let s=String.fromCharCode(e),i=s.toUpperCase();if(i!==s){let e=tI(i.charCodeAt(0));t[e]=e}else{let e=s.toLowerCase();if(e!==s){let s=tI(e.charCodeAt(0));t[s]=s}}}(e,t)}function td(e,t){return(0,ts.A)(e.value,e=>"number"==typeof e?eE(t,e):void 0!==(0,ts.A)(t,t=>e.from<=t&&t<=e.to))}class tu extends ej{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){eE(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===td(e,this.targetCharCodes)&&(this.found=!0):void 0!==td(e,this.targetCharCodes)&&(this.found=!0)}}function tp(e,t){if(!(t instanceof RegExp))return void 0!==(0,ts.A)(t,t=>eE(e,t.charCodeAt(0)));{let s=to(t),i=new tu(e);return i.visit(s),i.found}}let tf="PATTERN",tm="defaultMode",tT="modes",tA=/[^\\][$]/,tE=/[^\\[][\^]|^\^/;function tg(e){let t=e.ignoreCase?"iy":"y";return RegExp(`${e.source}`,t)}function ty(e){let t=e.PATTERN;if(q(t))return!1;if((0,eJ.A)(t))return!0;if((0,O.A)(t,"exec"))return!0;if((0,x.A)(t))return!1;throw Error("non exhaustive match")}function tL(e){return!!(0,x.A)(e)&&1===e.length&&e.charCodeAt(0)}let tS={test:function(e){let t=e.length;for(let s=this.lastIndex;s<t;s++){let t=e.charCodeAt(s);if(10===t)return this.lastIndex=s+1,!0;if(13===t)return 10===e.charCodeAt(s+1)?this.lastIndex=s+2:this.lastIndex=s+1,!0}return!1},lastIndex:0};function tR(e,t){if((0,O.A)(e,"LINE_BREAKS"))return!1;if(q(e.PATTERN)){try{tp(t,e.PATTERN)}catch(e){return{issue:l.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if((0,x.A)(e.PATTERN))return!1;if(ty(e))return{issue:l.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function tN(e){return(0,N.A)(e,e=>(0,x.A)(e)?e.charCodeAt(0):e)}function tO(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}let tk=[];function tI(e){return e<256?e:tk[e]}var tC=s(2302),tb=s(9008),tv=s(6666);function t_(e){let t=new Date().getTime(),s=e();return{time:new Date().getTime()-t,value:s}}function tx(e,t){let s=e.tokenTypeIdx;return s===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[s]}function tU(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}let tM=1,tw={};function tP(e){var t,s,i;let n=function(e){let t=I(e),s=e,i=!0;for(;i;){let e=e7(s=te((0,eC.A)((0,N.A)(s,e=>e.CATEGORIES))),t);t=t.concat(e),(0,R.A)(e)?i=!1:s=e}return t}(e);t=n,(0,L.A)(t,e=>{var t,s;tD(e)||(tw[tM]=e,e.tokenTypeIdx=tM++),t$(e)&&!(0,ep.A)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),t$(e)||(e.CATEGORIES=[]),t=e,(0,O.A)(t,"categoryMatches")||(e.categoryMatches=[]),s=e,(0,O.A)(s,"categoryMatchesMap")||(e.categoryMatchesMap={})}),s=n,(0,L.A)(s,e=>{!function e(t,s){(0,L.A)(t,e=>{s.categoryMatchesMap[e.tokenTypeIdx]=!0}),(0,L.A)(s.CATEGORIES,i=>{let n=t.concat(s);eE(n,i)||e(n,i)})}([],e)}),i=n,(0,L.A)(i,e=>{e.categoryMatches=[],(0,L.A)(e.categoryMatchesMap,(t,s)=>{e.categoryMatches.push(tw[s].tokenTypeIdx)})}),(0,L.A)(n,e=>{e.isParent=e.categoryMatches.length>0})}function tD(e){return(0,O.A)(e,"tokenTypeIdx")}function t$(e){return(0,O.A)(e,"CATEGORIES")}function tK(e){return(0,O.A)(e,"tokenTypeIdx")}(i=l||(l={}))[i.MISSING_PATTERN=0]="MISSING_PATTERN",i[i.INVALID_PATTERN=1]="INVALID_PATTERN",i[i.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",i[i.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",i[i.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",i[i.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",i[i.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",i[i.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",i[i.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",i[i.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",i[i.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",i[i.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",i[i.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",i[i.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",i[i.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",i[i.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",i[i.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",i[i.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";let tF={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:{buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,s,i,n,a)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${s} characters.`},traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(tF);class tB{constructor(e,t=tF){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let s=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${e}>`);let{time:i,value:n}=t_(t),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${s}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,n}},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=F({},tF,t);let s=this.config.traceInitPerf;!0===s?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof s&&(this.traceInitMaxIdent=s,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let s,i=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===tF.lineTerminatorsPattern)this.config.lineTerminatorsPattern=tS;else if(this.config.lineTerminatorCharacters===tF.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),(0,ep.A)(e)?s={modes:{defaultMode:I(e)},defaultMode:tm}:(i=!1,s=I(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{var e;let t;this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat((e=s,this.trackStartLines,this.config.lineTerminatorCharacters,t=[],(0,O.A)(e,tm)||t.push({message:"A MultiMode Lexer cannot be initialized without a <"+tm+"> property in its definition\n",type:l.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,O.A)(e,tT)||t.push({message:"A MultiMode Lexer cannot be initialized without a <"+tT+"> property in its definition\n",type:l.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,O.A)(e,tT)&&(0,O.A)(e,tm)&&!(0,O.A)(e.modes,e.defaultMode)&&t.push({message:`A MultiMode Lexer cannot be initialized with a ${tm}: <${e.defaultMode}>which does not exist +`,type:l.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,O.A)(e,tT)&&(0,L.A)(e.modes,(e,s)=>{(0,L.A)(e,(i,n)=>{if((0,e_.A)(i))t.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${n}> +`,type:l.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if((0,O.A)(i,"LONGER_ALT")){let n=(0,ep.A)(i.LONGER_ALT)?i.LONGER_ALT:[i.LONGER_ALT];(0,L.A)(n,n=>{(0,e_.A)(n)||eE(e,n)||t.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${n.name}> on token <${i.name}> outside of mode <${s}> +`,type:l.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),t))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{var e,t,i;let n,a,r,o;this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat((e=s,t=this.trackStartLines,i=this.config.lineTerminatorCharacters,n=[],a=!1,r=eX(te((0,eC.A)((0,S.A)(e.modes))),e=>e[tf]===tB.NA),o=tN(i),t&&(0,L.A)(r,e=>{let t=tR(e,o);if(!1!==t){let s={message:function(e,t){if(t.issue===l.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. + The problem is in the <${e.name}> Token Type + Root cause: ${t.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===l.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option. + The problem is in the <${e.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(e,t),type:t.issue,tokenType:e};n.push(s)}else(0,O.A)(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(a=!0):tp(o,e.PATTERN)&&(a=!0)}),t&&!a&&n.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:l.NO_LINE_BREAKS_FLAGS}),n))})),s.modes=s.modes?s.modes:{},(0,L.A)(s.modes,(e,t)=>{s.modes[t]=eX(e,e=>(0,e_.A)(e))});let n=(0,$.A)(s.modes);if((0,L.A)(s.modes,(e,s)=>{this.TRACE_INIT(`Mode: <${s}> processing`,()=>{if(this.modes.push(s),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{var t,s,i,a,r,o,h,c,d,u;let p,f,m,T,A,E,g,y,S,R,k,I,C,b,v,_,U;this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat((p=[],t=e,A=(0,e0.A)(t,e=>!(0,O.A)(e,tf)),f={errors:(0,N.A)(A,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:l.MISSING_PATTERN,tokenTypes:[e]})),valid:e7(t,A)},p=p.concat(f.errors),s=f.valid,E=(0,e0.A)(s,e=>{let t=e[tf];return!q(t)&&!(0,eJ.A)(t)&&!(0,O.A)(t,"exec")&&!(0,x.A)(t)}),T=(m={errors:(0,N.A)(E,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:l.INVALID_PATTERN,tokenTypes:[e]})),valid:e7(s,E)}).valid,p=(p=(p=(p=(p=p.concat(m.errors)).concat((i=T,g=[],y=(0,e0.A)(i,e=>q(e[tf])),(g=(g=(g=(g=g.concat(function(e){class t extends ej{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}let s=(0,e0.A)(e,e=>{let s=e.PATTERN;try{let e=to(s),i=new t;return i.visit(e),i.found}catch(e){return tA.test(s.source)}});return(0,N.A)(s,e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:l.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}(y))).concat(function(e){class t extends ej{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}let s=(0,e0.A)(e,e=>{let s=e.PATTERN;try{let e=to(s),i=new t;return i.visit(e),i.found}catch(e){return tE.test(s.source)}});return(0,N.A)(s,e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:l.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}(y))).concat((a=y,S=(0,e0.A)(a,e=>{let t=e[tf];return t instanceof RegExp&&(t.multiline||t.global)}),(0,N.A)(S,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:l.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))))).concat((r=y,R=[],k=te(k=(0,N.A)(r,e=>(0,eQ.A)(r,(t,s)=>(e.PATTERN.source!==s.PATTERN.source||eE(R,s)||s.PATTERN===tB.NA||(R.push(s),t.push(s)),t),[]))),I=(0,e0.A)(k,e=>e.length>1),(0,N.A)(I,e=>{let t=(0,N.A)(e,e=>e.name),s=tt(e).PATTERN;return{message:`The same RegExp pattern ->${s}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:l.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})))).concat((o=y,C=(0,e0.A)(o,e=>e.PATTERN.test("")),(0,N.A)(C,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:l.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))))))).concat((h=T,b=(0,e0.A)(h,e=>{if(!(0,O.A)(e,"GROUP"))return!1;let t=e.GROUP;return t!==tB.SKIPPED&&t!==tB.NA&&!(0,x.A)(t)}),(0,N.A)(b,e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:l.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))))).concat((c=T,d=n,v=(0,e0.A)(c,e=>void 0!==e.PUSH_MODE&&!eE(d,e.PUSH_MODE)),(0,N.A)(v,e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:l.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))))).concat((u=T,_=[],U=(0,eQ.A)(u,(e,t,s)=>{var i;let n=t.PATTERN;return n===tB.NA||((0,x.A)(n)?e.push({str:n,idx:s,tokenType:t}):q(n)&&(i=n,void 0===(0,ts.A)([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==i.source.indexOf(e)))&&e.push({str:n.source,idx:s,tokenType:t})),e},[]),(0,L.A)(u,(e,t)=>{(0,L.A)(U,({str:s,idx:i,tokenType:n})=>{if(t<i&&function(e,t){if(q(t)){var s;if(s=t,/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(s.source))return!1;let i=t.exec(e);return null!==i&&0===i.index}if((0,eJ.A)(t))return t(e,0,[],{});if((0,O.A)(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}(s,e.PATTERN)){let t=`Token: ->${n.name}<- can never be matched. +Because it appears AFTER the Token Type ->${e.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;_.push({message:t,type:l.UNREACHABLE_PATTERN,tokenTypes:[e,n]})}})}),_))))}),(0,R.A)(this.lexerDefinitionErrors)){let i;tP(e),this.TRACE_INIT("analyzeTokenTypes",()=>{var s;let n,a,r,o,l,h,c,d,u,p,f,m,T,A,E,g;s={lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT},(T=(s=(0,ez.A)(s,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:(e,t)=>t()})).tracer)("initCharCodeToOptimizedIndexMap",()=>{if((0,R.A)(tk)){tk=Array(65536);for(let e=0;e<65536;e++)tk[e]=e>255?255+~~(e/255):e}}),T("Reject Lexer.NA",()=>{n=eX(e,e=>e[tf]===tB.NA)}),A=!1,T("Transform Patterns",()=>{A=!1,a=(0,N.A)(n,e=>{let t=e[tf];if(q(t)){let e=t.source;return 1!==e.length||"^"===e||"$"===e||"."===e||t.ignoreCase?2!==e.length||"\\"!==e[0]||eE(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?tg(t):e[1]:e}if((0,eJ.A)(t))return A=!0,{exec:t};if("object"==typeof t)return A=!0,t;if("string"==typeof t)if(1===t.length)return t;else return tg(new RegExp(t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")));throw Error("non exhaustive match")})}),T("misc mapping",()=>{r=(0,N.A)(n,e=>e.tokenTypeIdx),o=(0,N.A)(n,e=>{let t=e.GROUP;if(t!==tB.SKIPPED){if((0,x.A)(t))return t;if((0,e_.A)(t))return!1;throw Error("non exhaustive match")}}),l=(0,N.A)(n,e=>{let t=e.LONGER_ALT;if(t)return(0,ep.A)(t)?(0,N.A)(t,e=>eZ(n,e)):[eZ(n,t)]}),h=(0,N.A)(n,e=>e.PUSH_MODE),c=(0,N.A)(n,e=>(0,O.A)(e,"POP_MODE"))}),T("Line Terminator Handling",()=>{let e=tN(s.lineTerminatorCharacters);d=(0,N.A)(n,e=>!1),"onlyOffset"!==s.positionTracking&&(d=(0,N.A)(n,t=>(0,O.A)(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===tR(t,e)&&tp(e,t.PATTERN)))}),T("Misc Mapping #2",()=>{u=(0,N.A)(n,ty),p=(0,N.A)(a,tL),f=(0,eQ.A)(n,(e,t)=>{let s=t.GROUP;return(0,x.A)(s)&&s!==tB.SKIPPED&&(e[s]=[]),e},{}),m=(0,N.A)(a,(e,t)=>({pattern:a[t],longerAlt:l[t],canLineTerminator:d[t],isCustom:u[t],short:p[t],group:o[t],push:h[t],pop:c[t],tokenTypeIdx:r[t],tokenType:n[t]}))}),E=!0,g=[],s.safeMode||T("First Char Optimization",()=>{g=(0,eQ.A)(n,(e,t,i)=>{if("string"==typeof t.PATTERN)tO(e,tI(t.PATTERN.charCodeAt(0)),m[i]);else if((0,ep.A)(t.START_CHARS_HINT)){let s;(0,L.A)(t.START_CHARS_HINT,t=>{let n=tI("string"==typeof t?t.charCodeAt(0):t);s!==n&&(s=n,tO(e,n,m[i]))})}else if(q(t.PATTERN))if(t.PATTERN.unicode)E=!1,s.ensureOptimizations&&ti(`${th} Unable to analyze < ${t.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let n=function(e,t=!1){try{let t=to(e);return function e(t,s,i){switch(t.type){case"Disjunction":for(let n=0;n<t.value.length;n++)e(t.value[n],s,i);break;case"Alternative":let n=t.value;for(let t=0;t<n.length;t++){let a=n[t];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}switch(a.type){case"Character":tc(a.value,s,i);break;case"Set":if(!0===a.complement)throw Error(tl);(0,L.A)(a.value,e=>{if("number"==typeof e)tc(e,s,i);else if(!0===i)for(let t=e.from;t<=e.to;t++)tc(t,s,i);else{for(let t=e.from;t<=e.to&&t<256;t++)tc(t,s,i);if(e.to>=256){let t=e.from>=256?e.from:256,i=e.to,n=tI(t),a=tI(i);for(let e=n;e<=a;e++)s[e]=e}}});break;case"Group":e(a.value,s,i);break;default:throw Error("Non Exhaustive Match")}let r=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===function e(t){let s=t.quantifier;return!!s&&0===s.atLeast||!!t.value&&((0,ep.A)(t.value)?eL(t.value,e):e(t.value))}(a)||"Group"!==a.type&&!1===r)break}break;default:throw Error("non exhaustive match!")}return(0,S.A)(s)}(t.value,{},t.flags.ignoreCase)}catch(s){if(s.message===tl)t&&tn(`${th} Unable to optimize: < ${e.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let s="";t&&(s="\n This will disable the lexer's first char optimizations.\n See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),ti(`${th} + Failed parsing: < ${e.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+s)}}return[]}(t.PATTERN,s.ensureOptimizations);(0,R.A)(n)&&(E=!1),(0,L.A)(n,t=>{tO(e,t,m[i])})}else s.ensureOptimizations&&ti(`${th} TokenType: <${t.name}> is using a custom token pattern without providing <start_chars_hint> parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),E=!1;return e},[])}),i={emptyGroups:f,patternIdxToConfig:m,charCodeToPatternIdxToConfig:g,hasCustom:A,canBeOptimized:E}}),this.patternIdxToConfig[s]=i.patternIdxToConfig,this.charCodeToPatternIdxToConfig[s]=i.charCodeToPatternIdxToConfig,this.emptyGroups=F({},this.emptyGroups,i.emptyGroups),this.hasCustom=i.hasCustom||this.hasCustom,this.canModeBeOptimized[s]=i.canBeOptimized}})}),this.defaultMode=s.defaultMode,!(0,R.A)(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+(0,N.A)(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));(0,L.A)(this.lexerDefinitionWarning,e=>{tn(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(i&&(this.handleModes=tC.A),!1===this.trackStartLines&&(this.computeNewColumn=tb.A),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=tC.A),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let e=(0,eQ.A)(this.canModeBeOptimized,(e,t,s)=>(!1===t&&e.push(s),e),[]);if(t.ensureOptimizations&&!(0,R.A)(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{ta={}}),this.TRACE_INIT("toFastProperties",()=>{C(this)})})}tokenize(e,t=this.defaultMode){if(!(0,R.A)(this.lexerDefinitionErrors))throw Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+(0,N.A)(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){var s;let i,n,a,r,o,l,h,c,d,u,p,f,m,T,A,E,g,y,S=e.length,R=0,N=0,O=Array(this.hasCustom?0:Math.floor(e.length/10)),k=[],I=this.trackStartLines?1:void 0,C=this.trackStartLines?1:void 0,b=(s=this.emptyGroups,g={},y=(0,$.A)(s),(0,L.A)(y,e=>{let t=s[e];if((0,ep.A)(t))g[e]=[];else throw Error("non exhaustive match")}),g),v=this.trackStartLines,_=this.config.lineTerminatorsPattern,x=0,U=[],M=[],w=[],P=[];Object.freeze(P);let D=!1,K=e=>{if(1===w.length&&void 0===e.tokenType.PUSH_MODE){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);k.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{w.pop();let e=(0,tv.A)(w);U=this.patternIdxToConfig[e],M=this.charCodeToPatternIdxToConfig[e],x=U.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;D=!!M&&!!t}};function F(e){w.push(e),M=this.charCodeToPatternIdxToConfig[e],x=(U=this.patternIdxToConfig[e]).length,x=U.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;D=!!M&&!!t}F.call(this,t);let B=this.config.recoveryEnabled;for(;R<S;){let t;l=null,d=-1;let s=e.charCodeAt(R);if(D){let e=M[tI(s)];t=void 0!==e?e:P}else t=U;let g=t.length;for(i=0;i<g;i++){let n=(E=t[i]).pattern;h=null;let u=E.short;if(!1!==u?s===u&&(d=1,l=n):!0===E.isCustom?null!==(A=n.exec(e,R,O,b))?(d=(l=A[0]).length,void 0!==A.payload&&(h=A.payload)):l=null:(n.lastIndex=R,d=this.matchLength(n,e,R)),-1!==d){if(void 0!==(o=E.longerAlt)){l=e.substring(R,R+d);let t=o.length;for(a=0;a<t;a++){let t=U[o[a]],s=t.pattern;if(c=null,!0===t.isCustom?null!==(A=s.exec(e,R,O,b))?(r=A[0],void 0!==A.payload&&(c=A.payload)):r=null:(s.lastIndex=R,r=this.match(s,e,R)),r&&r.length>l.length){l=r,d=r.length,h=c,E=t;break}}}break}}if(-1!==d){if(void 0!==(u=E.group)&&(l=null!==l?l:e.substring(R,R+d),p=E.tokenTypeIdx,f=this.createTokenInstance(l,R,p,E.tokenType,I,C,d),this.handlePayload(f,h),!1===u?N=this.addToken(O,N,f):b[u].push(f)),!0===v&&!0===E.canLineTerminator){let t,s,i=0;_.lastIndex=0;do l=null!==l?l:e.substring(R,R+d),!0===(t=_.test(l))&&(s=_.lastIndex-1,i++);while(!0===t)0!==i?(I+=i,C=d-s,this.updateTokenEndLineColumnLocation(f,u,s,i,I,C,d)):C=this.computeNewColumn(C,d)}else C=this.computeNewColumn(C,d);R+=d,this.handleModes(E,K,F,f)}else{let t=R,s=I,i=C,a=!1===B;for(;!1===a&&R<S;)for(R++,n=0;n<x;n++){let t=U[n],s=t.pattern,i=t.short;if(!1!==i?e.charCodeAt(R)===i&&(a=!0):!0===t.isCustom?a=null!==s.exec(e,R,O,b):(s.lastIndex=R,a=null!==s.exec(e)),!0===a)break}if(m=R-t,C=this.computeNewColumn(C,m),T=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(e,t,m,s,i,(0,tv.A)(w)),k.push({offset:t,line:s,column:i,length:m,message:T}),!1===B)break}}return this.hasCustom||(O.length=N),{tokens:O,groups:b,errors:k}}handleModes(e,t,s,i){if(!0===e.pop){let n=e.push;t(i),void 0!==n&&s.call(this,n)}else void 0!==e.push&&s.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,s,i,n,a,r){let o,l;void 0!==t&&(l=(o=s===r-1)?-1:0,(1!==i||!0!==o)&&(e.endLine=n+l,e.endColumn=a-1+-l))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,s,i){return{image:e,startOffset:t,tokenTypeIdx:s,tokenType:i}}createStartOnlyToken(e,t,s,i,n,a){return{image:e,startOffset:t,startLine:n,startColumn:a,tokenTypeIdx:s,tokenType:i}}createFullToken(e,t,s,i,n,a,r){return{image:e,startOffset:t,endOffset:t+r-1,startLine:n,endLine:n,startColumn:a,endColumn:a+r-1,tokenTypeIdx:s,tokenType:i}}addTokenUsingPush(e,t,s){return e.push(s),t}addTokenUsingMemberAccess(e,t,s){return e[t]=s,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}match(e,t,s){return!0===e.test(t)?t.substring(s,e.lastIndex):null}matchLength(e,t,s){return!0===e.test(t)?e.lastIndex-s:-1}}function tG(e){return tW(e)?e.LABEL:e.name}function tW(e){return(0,x.A)(e.LABEL)&&""!==e.LABEL}tB.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",tB.NA=/NOT_APPLICABLE/;let tj="categories",tz="label",tV="group",tH="push_mode",tY="pop_mode",tX="longer_alt",tJ="line_breaks",tq="start_chars_hint";function tZ(e){let t=e.pattern,s={};if(s.name=e.name,(0,e_.A)(t)||(s.PATTERN=t),(0,O.A)(e,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return(0,O.A)(e,tj)&&(s.CATEGORIES=e[tj]),tP([s]),(0,O.A)(e,tz)&&(s.LABEL=e[tz]),(0,O.A)(e,tV)&&(s.GROUP=e[tV]),(0,O.A)(e,tY)&&(s.POP_MODE=e[tY]),(0,O.A)(e,tH)&&(s.PUSH_MODE=e[tH]),(0,O.A)(e,tX)&&(s.LONGER_ALT=e[tX]),(0,O.A)(e,tJ)&&(s.LINE_BREAKS=e[tJ]),(0,O.A)(e,tq)&&(s.START_CHARS_HINT=e[tq]),s}let tQ=tZ({name:"EOF",pattern:tB.NA});function t0(e,t,s,i,n,a,r,o){return{image:t,startOffset:s,endOffset:i,startLine:n,endLine:a,startColumn:r,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}tP([tQ]);let t1={buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:i}){let n=tW(e)?`--> ${tG(e)} <--`:`token of type --> ${e.name} <--`;return`Expecting ${n} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:s,customUserDescription:i,ruleName:n}){let a="Expecting: ",r="\nbut found: '"+tt(t).image+"'";if(i)return a+i+r;{let t=(0,eQ.A)(e,(e,t)=>e.concat(t),[]),s=(0,N.A)(t,e=>`[${(0,N.A)(e,e=>tG(e)).join(", ")}]`),i=(0,N.A)(s,(e,t)=>` ${t+1}. ${e}`);return a+`one of these possible Token sequences: +${i.join("\n")}`+r}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:s,ruleName:i}){let n="Expecting: ",a="\nbut found: '"+tt(t).image+"'";if(s)return n+s+a;{let t=(0,N.A)(e,e=>`[${(0,N.A)(e,e=>tG(e)).join(",")}]`);return n+`expecting at least one iteration which starts with one of these possible Token sequences:: + <${t.join(" ,")}>`+a}}};Object.freeze(t1);let t2={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},t3={buildDuplicateFoundError(e,t){let s=e.name,i=tt(t),n=i.idx,a=eR(i),r=i instanceof el?i.terminalType.name:i instanceof Q?i.nonTerminalName:"",o=`->${a}${n>0?n:""}<- ${r?`with argument: ->${r}<-`:""} + appears more than once (${t.length} times) in the top level rule: ->${s}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return(o=o.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:e=>`Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){let t=(0,N.A)(e.prefixPath,e=>tG(e)).join(", "),s=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in <OR${s}> inside <${e.topLevelRule.name}> Rule, +<${t}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`},buildAlternationAmbiguityError(e){let t=0===e.alternation.idx?"":e.alternation.idx,s=0===e.prefixPath.length,i=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${e.topLevelRule.name}> Rule, +`;if(s)i+=`These alternatives are all empty (match no tokens), making them indistinguishable. +Only the last alternative may be empty. +`;else{let t=(0,N.A)(e.prefixPath,e=>tG(e)).join(", ");i+=`<${t}> may appears as a prefix path in all these alternatives. +`}return i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`},buildEmptyRepetitionError(e){let t=eR(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives: +<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. + has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){let t=e.topLevelRule.name,s=(0,N.A)(e.leftRecursionPath,e=>e.name),i=`${t} --> ${s.concat([t]).join(" --\x3e ")}`;return`Left Recursion found in grammar. +rule: <${t}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${i} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof ee?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};class t6 extends eh{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){(0,L.A)((0,S.A)(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:d.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}let t5=function(e,t){return(0,e9.A)((0,N.A)(e,t),1)};var t9=s(2528);let t4=function(e,t,s,i){for(var n=-1,a=null==e?0:e.length;++n<a;){var r=e[n];t(i,r,s(r),e)}return i},t8=function(e,t,s,i){return(0,ed.A)(e,function(e,n,a){t(i,e,s(e),a)}),i};var t7=Object.prototype.hasOwnProperty,se=(n=function(e,t,s){t7.call(e,s)?e[s].push(t):(0,t9.A)(e,s,[t])},function(e,t){return((0,ep.A)(e)?t4:t8)(e,n,(0,G.A)(t,2),{})});let st=function(e,t,s){var i=null==e?0:e.length;return i?b(e,0,(t=i-(t=s||void 0===t?1:(0,v.A)(t)))<0?0:t):[]};class ss extends eN{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=I(this.path.ruleStack).reverse(),this.occurrenceStack=I(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,s){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=t.concat(s);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){(0,R.A)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class si extends ss{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,s){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new et({definition:t.concat(s)});this.possibleTokTypes=eb(e),this.found=!0}}}class sn extends eN{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class sa extends sn{walkMany(e,t,s){if(e.idx===this.occurrence){let e=tt(t.concat(s));this.result.isEndOfRule=void 0===e,e instanceof el&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,s)}}class sr extends sn{walkManySep(e,t,s){if(e.idx===this.occurrence){let e=tt(t.concat(s));this.result.isEndOfRule=void 0===e,e instanceof el&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,s)}}class so extends sn{walkAtLeastOne(e,t,s){if(e.idx===this.occurrence){let e=tt(t.concat(s));this.result.isEndOfRule=void 0===e,e instanceof el&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,s)}}class sl extends sn{walkAtLeastOneSep(e,t,s){if(e.idx===this.occurrence){let e=tt(t.concat(s));this.result.isEndOfRule=void 0===e,e instanceof el&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,s)}}function sh(e,t,s=[]){s=I(s);let i=[],n=0;function a(a){let r=sh(a.concat(_(e,n+1)),t,s);return i.concat(r)}for(;s.length<t&&n<e.length;){let t=e[n];if(t instanceof et)return a(t.definition);if(t instanceof Q)return a(t.definition);if(t instanceof es)i=a(t.definition);else if(t instanceof ei)return a(t.definition.concat([new ea({definition:t.definition})]));else if(t instanceof en)return a([new et({definition:t.definition}),new ea({definition:[new el({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof er)i=a(t.definition.concat([new ea({definition:[new el({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof ea)i=a(t.definition.concat([new ea({definition:t.definition})]));else if(t instanceof eo)return(0,L.A)(t.definition,e=>{!1===(0,R.A)(e.definition)&&(i=a(e.definition))}),i;else if(t instanceof el)s.push(t.terminalType);else throw Error("non exhaustive match");n++}return i.push({partialPath:s,suffixDef:_(e,n)}),i}function sc(e,t,s,i){let n="EXIT_NONE_TERMINAL",a=[n],r="EXIT_ALTERNATIVE",o=!1,l=t.length,h=l-i-1,c=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!(0,R.A)(d);){let e=d.pop();if(e===r){o&&(0,tv.A)(d).idx<=h&&d.pop();continue}let i=e.def,u=e.idx,p=e.ruleStack,f=e.occurrenceStack;if((0,R.A)(i))continue;let m=i[0];if(m===n){let e={idx:u,def:_(i),ruleStack:st(p),occurrenceStack:st(f)};d.push(e)}else if(m instanceof el)if(u<l-1){let e=u+1;if(s(t[e],m.terminalType)){let t={idx:e,def:_(i),ruleStack:p,occurrenceStack:f};d.push(t)}}else if(u===l-1)c.push({nextTokenType:m.terminalType,nextTokenOccurrence:m.idx,ruleStack:p,occurrenceStack:f}),o=!0;else throw Error("non exhaustive match");else if(m instanceof Q){let e=I(p);e.push(m.nonTerminalName);let t=I(f);t.push(m.idx);let s={idx:u,def:m.definition.concat(a,_(i)),ruleStack:e,occurrenceStack:t};d.push(s)}else if(m instanceof es){let e={idx:u,def:_(i),ruleStack:p,occurrenceStack:f};d.push(e),d.push(r);let t={idx:u,def:m.definition.concat(_(i)),ruleStack:p,occurrenceStack:f};d.push(t)}else if(m instanceof ei){let e=new ea({definition:m.definition,idx:m.idx}),t={idx:u,def:m.definition.concat([e],_(i)),ruleStack:p,occurrenceStack:f};d.push(t)}else if(m instanceof en){let e=new ea({definition:[new el({terminalType:m.separator})].concat(m.definition),idx:m.idx}),t={idx:u,def:m.definition.concat([e],_(i)),ruleStack:p,occurrenceStack:f};d.push(t)}else if(m instanceof er){let e={idx:u,def:_(i),ruleStack:p,occurrenceStack:f};d.push(e),d.push(r);let t=new ea({definition:[new el({terminalType:m.separator})].concat(m.definition),idx:m.idx}),s={idx:u,def:m.definition.concat([t],_(i)),ruleStack:p,occurrenceStack:f};d.push(s)}else if(m instanceof ea){let e={idx:u,def:_(i),ruleStack:p,occurrenceStack:f};d.push(e),d.push(r);let t=new ea({definition:m.definition,idx:m.idx}),s={idx:u,def:m.definition.concat([t],_(i)),ruleStack:p,occurrenceStack:f};d.push(s)}else if(m instanceof eo)for(let e=m.definition.length-1;e>=0;e--){let t={idx:u,def:m.definition[e].definition.concat(_(i)),ruleStack:p,occurrenceStack:f};d.push(t),d.push(r)}else if(m instanceof et)d.push({idx:u,def:m.definition.concat(_(i)),ruleStack:p,occurrenceStack:f});else if(m instanceof ee)d.push(function(e,t,s,i){let n=I(s);n.push(e.name);let a=I(i);return a.push(1),{idx:t,def:e.definition,ruleStack:n,occurrenceStack:a}}(m,u,p,f));else throw Error("non exhaustive match")}return c}function sd(e){if(e instanceof es||"Option"===e)return h.OPTION;if(e instanceof ea||"Repetition"===e)return h.REPETITION;if(e instanceof ei||"RepetitionMandatory"===e)return h.REPETITION_MANDATORY;if(e instanceof en||"RepetitionMandatoryWithSeparator"===e)return h.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof er||"RepetitionWithSeparator"===e)return h.REPETITION_WITH_SEPARATOR;else if(e instanceof eo||"Alternation"===e)return h.ALTERNATION;else throw Error("non exhaustive match")}function su(e,t,s,i){let n=e.length,a=eL(e,e=>eL(e,e=>1===e.length));if(t)return function(t){let i=(0,N.A)(t,e=>e.GATE);for(let t=0;t<n;t++){let n=e[t],a=n.length,r=i[t];if(void 0===r||!1!==r.call(this))t:for(let e=0;e<a;e++){let i=n[e],a=i.length;for(let e=0;e<a;e++)if(!1===s(this.LA(e+1),i[e]))continue t;return t}}};if(!a||i)return function(){for(let t=0;t<n;t++){let i=e[t],n=i.length;t:for(let e=0;e<n;e++){let n=i[e],a=n.length;for(let e=0;e<a;e++)if(!1===s(this.LA(e+1),n[e]))continue t;return t}}};{let t=(0,N.A)(e,e=>(0,eC.A)(e)),s=(0,eQ.A)(t,(e,t,s)=>((0,L.A)(t,t=>{(0,O.A)(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=s),(0,L.A)(t.categoryMatches,t=>{(0,O.A)(e,t)||(e[t]=s)})}),e),{});return function(){return s[this.LA(1).tokenTypeIdx]}}}function sp(e,t,s){let i=eL(e,e=>1===e.length),n=e.length;if(!i||s)return function(){t:for(let s=0;s<n;s++){let i=e[s],n=i.length;for(let e=0;e<n;e++)if(!1===t(this.LA(e+1),i[e]))continue t;return!0}return!1};{let t=(0,eC.A)(e);if(1===t.length&&(0,R.A)(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=(0,eQ.A)(t,(e,t,s)=>(e[t.tokenTypeIdx]=!0,(0,L.A)(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}(a=h||(h={}))[a.OPTION=0]="OPTION",a[a.REPETITION=1]="REPETITION",a[a.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",a[a.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",a[a.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",a[a.ALTERNATION=5]="ALTERNATION";class sf extends eN{constructor(e,t,s){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=s}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,s,i){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=s.concat(i),!0)}walkOption(e,t,s){this.checkIsTarget(e,h.OPTION,t,s)||super.walkOption(e,t,s)}walkAtLeastOne(e,t,s){this.checkIsTarget(e,h.REPETITION_MANDATORY,t,s)||super.walkOption(e,t,s)}walkAtLeastOneSep(e,t,s){this.checkIsTarget(e,h.REPETITION_MANDATORY_WITH_SEPARATOR,t,s)||super.walkOption(e,t,s)}walkMany(e,t,s){this.checkIsTarget(e,h.REPETITION,t,s)||super.walkOption(e,t,s)}walkManySep(e,t,s){this.checkIsTarget(e,h.REPETITION_WITH_SEPARATOR,t,s)||super.walkOption(e,t,s)}}class sm extends eh{constructor(e,t,s){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=s,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,h.OPTION)}visitRepetition(e){this.checkIsTarget(e,h.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,h.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,h.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,h.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,h.ALTERNATION)}}function sT(e){let t=Array(e);for(let s=0;s<e;s++)t[s]=[];return t}function sA(e){let t=[""];for(let s=0;s<e.length;s++){let i=e[s],n=[];for(let e=0;e<t.length;e++){let s=t[e];n.push(s+"_"+i.tokenTypeIdx);for(let e=0;e<i.categoryMatches.length;e++){let t="_"+i.categoryMatches[e];n.push(s+t)}}t=n}return t}function sE(e,t){let s=(0,N.A)(e,e=>sh([e],1)),i=sT(s.length),n=(0,N.A)(s,e=>{let t={};return(0,L.A)(e,e=>{let s=sA(e.partialPath);(0,L.A)(s,e=>{t[e]=!0})}),t}),a=s;for(let e=1;e<=t;e++){let s=a;a=sT(s.length);for(let r=0;r<s.length;r++){let o=s[r];for(let s=0;s<o.length;s++){let l=o[s].partialPath,h=o[s].suffixDef,c=sA(l);if(function(e,t,s){for(let i=0;i<e.length;i++){if(i===s)continue;let n=e[i];for(let e=0;e<t.length;e++)if(!0===n[t[e]])return!1}return!0}(n,c,r)||(0,R.A)(h)||l.length===t){let e=i[r];if(!1===sL(e,l)){e.push(l);for(let e=0;e<c.length;e++){let t=c[e];n[r][t]=!0}}}else{let t=sh(h,e+1,l);a[r]=a[r].concat(t),(0,L.A)(t,e=>{let t=sA(e.partialPath);(0,L.A)(t,e=>{n[r][e]=!0})})}}}}return i}function sg(e,t,s,i){let n=new sm(e,h.ALTERNATION,i);return t.accept(n),sE(n.result,s)}function sy(e,t,s,i){let n=new sm(e,s);t.accept(n);let a=n.result,r=new sf(t,e,s).startWalking();return sE([new et({definition:a}),new et({definition:r})],i)}function sL(e,t){s:for(let s=0;s<e.length;s++){let i=e[s];if(i.length===t.length){for(let e=0;e<i.length;e++){let s=t[e],n=i[e];if(!1==(s===n||void 0!==n.categoryMatchesMap[s.tokenTypeIdx]))continue s}return!0}}return!1}function sS(e){return eL(e,e=>eL(e,e=>eL(e,e=>(0,R.A)(e.categoryMatches))))}function sR(e){return`${eR(e)}_#_${e.idx}_#_${sN(e)}`}function sN(e){return e instanceof el?e.terminalType.name:e instanceof Q?e.nonTerminalName:""}class sO extends eh{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}class sk extends eh{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}class sI extends eh{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}let sC="MismatchedTokenException",sb="NoViableAltException",sv="EarlyExitException",s_="NotAllInputParsedException",sx=[sC,sb,sv,s_];function sU(e){return eE(sx,e.name)}Object.freeze(sx);class sM extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class sw extends sM{constructor(e,t,s){super(e,t),this.previousToken=s,this.name=sC}}class sP extends sM{constructor(e,t,s){super(e,t),this.previousToken=s,this.name=sb}}class sD extends sM{constructor(e,t){super(e,t),this.name=s_}}class s$ extends sM{constructor(e,t,s){super(e,t),this.previousToken=s,this.name=sv}}let sK={},sF="InRuleRecoveryException";class sB extends Error{constructor(e){super(e),this.name=sF}}function sG(e,t,s,i,n,a,r){let o=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[e],n).startWalking(),this.firstAfterRepMap[o]=l}let h=l.token,c=l.occurrence,d=l.isEndOfRule;1===this.RULE_STACK.length&&d&&void 0===h&&(h=tQ,c=1),void 0!==h&&void 0!==c&&this.shouldInRepetitionRecoveryBeTried(h,c,r)&&this.tryInRepetitionRecovery(e,t,s,h)}class sW{constructor(e){var t;this.maxLookahead=null!=(t=null==e?void 0:e.maxLookahead)?t:s5.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);return(0,R.A)(t)?[...t,...this.validateEmptyOrAlternatives(e.rules),...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]:t}validateNoLeftRecursion(e){return t5(e,e=>(function e(t,s,i,n=[]){let a=[],r=function e(t){let s=[];if((0,R.A)(t))return s;let i=tt(t);if(i instanceof Q)s.push(i.referencedRule);else if(i instanceof et||i instanceof es||i instanceof ei||i instanceof en||i instanceof er||i instanceof ea)s=s.concat(e(i.definition));else if(i instanceof eo)s=(0,eC.A)((0,N.A)(i.definition,t=>e(t.definition)));else if(i instanceof el);else throw Error("non exhaustive match");let n=eS(i),a=t.length>1;if(!n||!a)return s;{let i=_(t);return s.concat(e(i))}}(s.definition);if((0,R.A)(r))return[];{let s=t.name;eE(r,t)&&a.push({message:i.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:d.LEFT_RECURSION,ruleName:s});let o=t5(e7(r,n.concat([t])),s=>{let a=I(n);return a.push(s),e(t,s,i,a)});return a.concat(o)}})(e,e,t3))}validateEmptyOrAlternatives(e){return t5(e,e=>{let t;return t=new sk,e.accept(t),t5(t.alternations,t=>t5(st(t.definition),(s,i)=>{let n=sc([s],[],tx,1);return(0,R.A)(n)?[{message:t3.buildEmptyAlternationError({topLevelRule:e,alternation:t,emptyChoiceIdx:i}),type:d.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:t.idx,alternative:i+1}]:[]}))})}validateAmbiguousAlternationAlternatives(e,t){return t5(e,e=>{let s;return s=new sk,e.accept(s),t5(eX(s.alternations,e=>!0===e.ignoreAmbiguities),s=>{var i,n,a,r,o,l,h,c;let u,p,f,m=sg(s.idx,e,s.maxLookahead||t,s),T=(i=m,n=s,a=e,r=t3,u=[],p=(0,eQ.A)(i,(e,t,s)=>(!0===n.definition[s].ignoreAmbiguities||(0,L.A)(t,t=>{let a=[s];(0,L.A)(i,(e,i)=>{s!==i&&sL(e,t)&&!0!==n.definition[i].ignoreAmbiguities&&a.push(i)}),a.length>1&&!sL(u,t)&&(u.push(t),e.push({alts:a,path:t}))}),e),[]),(0,N.A)(p,e=>{let t=(0,N.A)(e.alts,e=>e+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:a,alternation:n,ambiguityIndices:t,prefixPath:e.path}),type:d.AMBIGUOUS_ALTS,ruleName:a.name,occurrence:n.idx,alternatives:e.alts}})),A=(o=m,l=s,h=e,c=t3,te(t5(f=(0,eQ.A)(o,(e,t,s)=>{let i=(0,N.A)(t,e=>({idx:s,path:e}));return e.concat(i)},[]),e=>{if(!0===l.definition[e.idx].ignoreAmbiguities)return[];let t=e.idx,s=e.path,i=(0,e0.A)(f,e=>{var i;return!0!==l.definition[e.idx].ignoreAmbiguities&&e.idx<t&&(i=e.path,i.length<s.length&&eL(i,(e,t)=>{let i=s[t];return e===i||i.categoryMatchesMap[e.tokenTypeIdx]}))});return(0,N.A)(i,e=>{let s=[e.idx+1,t+1],i=0===l.idx?"":l.idx;return{message:c.buildAlternationPrefixAmbiguityError({topLevelRule:h,alternation:l,ambiguityIndices:s,prefixPath:e.path}),type:d.AMBIGUOUS_PREFIX_ALTS,ruleName:h.name,occurrence:i,alternatives:s}})})));return T.concat(A)})})}validateSomeNonEmptyLookaheadPath(e,t){let s;return s=[],(0,L.A)(e,e=>{let i=new sI;e.accept(i);let n=i.allProductions;(0,L.A)(n,i=>{let n=sd(i),a=i.maxLookahead||t,r=sy(i.idx,e,n,a)[0];if((0,R.A)((0,eC.A)(r))){let t=t3.buildEmptyRepetitionError({topLevelRule:e,repetition:i});s.push({message:t,type:d.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),s}buildLookaheadForAlternation(e){var t,s,i,n,a;let r,o;return t=e.prodOccurrence,s=e.rule,i=e.maxLookahead,n=e.hasPredicates,a=e.dynamicTokensEnabled,o=sS(r=sg(t,s,i))?tU:tx,su(r,n,o,a)}buildLookaheadForOptional(e){var t,s,i,n,a;let r,o;return t=e.prodOccurrence,s=e.rule,i=e.maxLookahead,n=e.dynamicTokensEnabled,a=sd(e.prodType),o=sS(r=sy(t,s,a,i))?tU:tx,sp(r[0],o,n)}}let sj=new class extends eh{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function sz(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function sV(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function sH(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function sY(e,t){let s=(0,$.A)(e),i=s.length;for(let n=0;n<i;n++){let i=e[s[n]],a=i.length;for(let e=0;e<a;e++){let s=i[e];void 0===s.tokenTypeIdx&&this[s.name](s.children,t)}}}(r=c||(c={}))[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD";var sX=s(3149);let sJ={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(sJ);let sq=tZ({name:"RECORDING_PHASE_TOKEN",pattern:tB.NA});tP([sq]);let sZ=t0(sq,"This IToken indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(sZ);let sQ={name:"This CSTNode indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}};function s0(e,t,s,i=!1){s3(s);let n=(0,tv.A)(this.recordingProdStack),a=(0,eJ.A)(t)?t:t.DEF,r=new e({definition:[],idx:s});return i&&(r.separator=t.SEP),(0,O.A)(t,"MAX_LOOKAHEAD")&&(r.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(r),a.call(this),n.definition.push(r),this.recordingProdStack.pop(),sJ}function s1(e,t){s3(t);let s=(0,tv.A)(this.recordingProdStack),i=!1===(0,ep.A)(e),n=!1===i?e:e.DEF,a=new eo({definition:[],idx:t,ignoreAmbiguities:i&&!0===e.IGNORE_AMBIGUITIES});return(0,O.A)(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),a.hasPredicates=em(n,e=>(0,eJ.A)(e.GATE)),s.definition.push(a),(0,L.A)(n,e=>{let t=new et({definition:[]});a.definition.push(t),(0,O.A)(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:(0,O.A)(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),sJ}function s2(e){return 0===e?"":`${e}`}function s3(e){if(e<0||e>255){let t=Error(`Invalid DSL Method idx value: <${e}> + Idx value must be a none negative value smaller than ${256}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}let s6=t0(tQ,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(s6);let s5=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:t1,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),s9=Object.freeze({recoveryValueFunc:()=>void 0,resyncEnabled:!0});(o=d||(d={}))[o.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",o[o.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",o[o.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",o[o.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",o[o.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",o[o.LEFT_RECURSION=5]="LEFT_RECURSION",o[o.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",o[o.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",o[o.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",o[o.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",o[o.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",o[o.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",o[o.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",o[o.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION";class s4{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let t=this.className;this.TRACE_INIT("toFastProps",()=>{C(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),(0,L.A)(this.definedRulesNames,e=>{let t,s=this[e].originalGrammarAction;this.TRACE_INIT(`${e} Rule`,()=>{t=this.topLevelRuleRecord(e,s)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}});let s=[];if(this.TRACE_INIT("Grammar Resolving",()=>{var e;let t,i,n;e={rules:(0,S.A)(this.gastProductionsCache)},i=(0,ez.A)(e,{errMsgProvider:t2}),n={},(0,L.A)(e.rules,e=>{n[e.name]=e}),(t=new t6(n,i.errMsgProvider)).resolveRefs(),s=t.errors,this.definitionErrors=this.definitionErrors.concat(s)}),this.TRACE_INIT("Grammar Validations",()=>{if((0,R.A)(s)&&!1===this.skipValidations){var e,i,n,a,r,o,l,h,c;let s,u,p,f,m,T,A,E=(e={rules:(0,S.A)(this.gastProductionsCache),tokenTypes:(0,S.A)(this.tokensMap),errMsgProvider:t3,grammarName:t},i=(e=(0,ez.A)(e,{errMsgProvider:t3})).rules,n=e.tokenTypes,a=e.errMsgProvider,r=e.grammarName,p=t5(i,e=>{var t,s;let i,n;return t=e,s=a,i=new sO,t.accept(i),n=z(se(i.allProductions,sR),e=>e.length>1),(0,N.A)((0,S.A)(n),e=>{let i=tt(e),n=s.buildDuplicateFoundError(t,e),a=eR(i),r={message:n,type:d.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:a,occurrence:i.idx},o=sN(i);return o&&(r.parameter=o),r})}),l=i,h=n,c=a,s=[],u=(0,N.A)(h,e=>e.name),(0,L.A)(l,e=>{let t=e.name;if(eE(u,t)){let i=c.buildNamespaceConflictError(e);s.push({message:i,type:d.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),f=s,m=t5(i,e=>{var t,s;let i;return t=e,s=a,i=new sk,t.accept(i),t5(i.alternations,e=>e.definition.length>255?[{message:s.buildTooManyAlternativesError({topLevelRule:t,alternation:e}),type:d.TOO_MANY_ALTS,ruleName:t.name,occurrence:e.idx}]:[])}),T=t5(i,e=>(function(e,t,s,i){let n=[];if((0,eQ.A)(t,(t,s)=>s.name===e.name?t+1:t,0)>1){let t=i.buildDuplicateRuleNameError({topLevelRule:e,grammarName:s});n.push({message:t,type:d.DUPLICATE_RULE_NAME,ruleName:e.name})}return n})(e,i,r,a)),p.concat(f,m,T)),g=(A=(o={lookaheadStrategy:this.lookaheadStrategy,rules:(0,S.A)(this.gastProductionsCache),tokenTypes:(0,S.A)(this.tokensMap),grammarName:t}).lookaheadStrategy.validate({rules:o.rules,tokenTypes:o.tokenTypes,grammarName:o.grammarName}),(0,N.A)(A,e=>Object.assign({type:d.CUSTOM_LOOKAHEAD_VALIDATION},e)));this.definitionErrors=this.definitionErrors.concat(E,g)}}),(0,R.A)(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{var e;let t,s=(e=(0,S.A)(this.gastProductionsCache),t={},(0,L.A)(e,e=>{F(t,new ev(e).startWalking())}),t);this.resyncFollows=s}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null==(t=(e=this.lookaheadStrategy).initialize)||t.call(e,{rules:(0,S.A)(this.gastProductionsCache)}),this.preComputeLookaheadFunctions((0,S.A)(this.gastProductionsCache))})),!s4.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,R.A)(this.definitionErrors))throw e=(0,N.A)(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected: + ${e.join("\n-------------------------------\n")}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),(0,O.A)(t,"ignoredIssues"))throw Error("The <ignoredIssues> IParserConfig property has been deprecated.\n Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=(0,O.A)(t,"skipValidations")?t.skipValidations:s5.skipValidations}}s4.DEFER_DEFINITION_ERRORS_HANDLING=!1,[class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,O.A)(e,"recoveryEnabled")?e.recoveryEnabled:s5.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=sG)}getTokenToInsert(e){let t=t0(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,s,i){let n=this.findReSyncTokenType(),a=this.exportLexerState(),r=[],o=!1,l=this.LA(1),h=this.LA(1),c=()=>{let e=this.LA(0),t=new sw(this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=st(r),this.SAVE_ERROR(t)};for(;!o;)if(this.tokenMatcher(h,i))return void c();else if(s.call(this)){c(),e.apply(this,t);return}else this.tokenMatcher(h,n)?o=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,r));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,s){return!(!1===s||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let s=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(s)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new sB("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,R.A)(t))return!1;let s=this.LA(1);return void 0!==(0,ts.A)(t,e=>this.tokenMatcher(s,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return eE(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),s=2;for(;;){let i=(0,ts.A)(e,e=>tx(t,e));if(void 0!==i)return i;t=this.LA(s),s++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return sK;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),s=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(s)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return(0,N.A)(e,(s,i)=>0===i?sK:{ruleName:this.shortRuleNameToFullName(s),idxInCallingRule:t[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=(0,N.A)(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e));return(0,eC.A)(e)}getFollowSetFromFollowKey(e){if(e===sK)return[tQ];let t=e.ruleName+e.idxInCallingRule+"_~IN~_"+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,tQ)||t.push(e),t}reSyncTo(e){let t=[],s=this.LA(1);for(;!1===this.tokenMatcher(s,e);)s=this.SKIP_TOKEN(),this.addToResyncTokens(s,t);return st(t)}attemptInRepetitionRecovery(e,t,s,i,n,a,r){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:I(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return(0,N.A)(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}},class{initLooksAhead(e){this.dynamicTokensEnabled=(0,O.A)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:s5.dynamicTokensEnabled,this.maxLookahead=(0,O.A)(e,"maxLookahead")?e.maxLookahead:s5.maxLookahead,this.lookaheadStrategy=(0,O.A)(e,"lookaheadStrategy")?e.lookaheadStrategy:new sW({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){(0,L.A)(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{var t;let s,{alternation:i,repetition:n,option:a,repetitionMandatory:r,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=(t=e,sj.reset(),t.accept(sj),s=sj.dslMethods,sj.reset(),s);(0,L.A)(i,t=>{let s=0===t.idx?"":t.idx;this.TRACE_INIT(`${eR(t)}${s}`,()=>{var s;let i=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),n=(s=this.fullRuleNameToShort[e.name],256|t.idx|s);this.setLaFuncCache(n,i)})}),(0,L.A)(n,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,eR(t))}),(0,L.A)(a,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,eR(t))}),(0,L.A)(r,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,eR(t))}),(0,L.A)(o,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,eR(t))}),(0,L.A)(l,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,eR(t))})})})}computeLookaheadFunc(e,t,s,i,n,a){this.TRACE_INIT(`${a}${0===t?"":t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:n||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),r=t|s|this.fullRuleNameToShort[e.name];this.setLaFuncCache(r,a)})}getKeyForAutomaticLookahead(e,t){return t|e|this.getLastExplicitRuleShortName()}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,O.A)(e,"nodeLocationTracking")?e.nodeLocationTracking:s5.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sV,this.setNodeLocationFromNode=sV,this.cstPostRule=tC.A,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=tC.A,this.setNodeLocationFromNode=tC.A,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sz,this.setNodeLocationFromNode=sz,this.cstPostRule=tC.A,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=tC.A,this.setNodeLocationFromNode=tC.A,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=tC.A,this.setNodeLocationFromNode=tC.A,this.cstPostRule=tC.A,this.setInitialNodeLocation=tC.A;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);else this.cstInvocationStateUpdate=tC.A,this.cstFinallyStateUpdate=tC.A,this.cstPostTerminal=tC.A,this.cstPostNonTerminal=tC.A,this.cstPostRule=tC.A}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),s=e.location;s.startOffset<=t.startOffset==!0?(s.endOffset=t.endOffset,s.endLine=t.endLine,s.endColumn=t.endColumn):(s.startOffset=NaN,s.startLine=NaN,s.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),s=e.location;s.startOffset<=t.startOffset==!0?s.endOffset=t.endOffset:s.startOffset=NaN}cstPostTerminal(e,t){let s=this.CST_STACK[this.CST_STACK.length-1];void 0===s.children[e]?s.children[e]=[t]:s.children[e].push(t),this.setNodeLocationFromToken(s.location,t)}cstPostNonTerminal(e,t){let s=this.CST_STACK[this.CST_STACK.length-1];void 0===s.children[t]?s.children[t]=[e]:s.children[t].push(e),this.setNodeLocationFromNode(s.location,e.location)}getBaseCstVisitorConstructor(){if((0,e_.A)(this.baseCstVisitorConstructor)){var e,t;let s,i=(e=this.className,t=(0,$.A)(this.gastProductionsCache),sH(s=function(){},e+"BaseSemantics"),s.prototype={visit:function(e,t){if((0,ep.A)(e)&&(e=e[0]),!(0,e_.A)(e))return this[e.name](e.children,t)},validateVisitor:function(){var e,s,i,n;let a,r=(e=this,s=t,i=e,n=s,a=(0,e0.A)(n,e=>!1===(0,eJ.A)(i[e])),te((0,N.A)(a,e=>({msg:`Missing visitor method: <${e}> on ${i.constructor.name} CST Visitor.`,type:c.MISSING_METHOD,methodName:e}))));if(!(0,R.A)(r)){let e=(0,N.A)(r,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${e.join("\n\n").replace(/\n/g,"\n ")}`)}}},s.prototype.constructor=s,s._RULE_NAMES=t,s);return this.baseCstVisitorConstructor=i,i}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if((0,e_.A)(this.baseCstVisitorWithDefaultsConstructor)){var e,t,s;let i,n,a=(e=this.className,t=(0,$.A)(this.gastProductionsCache),s=this.getBaseCstVisitorConstructor(),sH(i=function(){},e+"BaseSemanticsWithDefaults"),n=Object.create(s.prototype),(0,L.A)(t,e=>{n[e]=sY}),i.prototype=n,i.prototype.constructor=i,i);return this.baseCstVisitorWithDefaultsConstructor=a,a}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):s6}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?s6:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=tU,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,O.A)(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if((0,ep.A)(e)){if((0,R.A)(e))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if((0,ep.A)(e))this.tokensMap=(0,eQ.A)(e,(e,t)=>(e[t.name]=t,e),{});else if((0,O.A)(e,"modes")&&eL((0,eC.A)((0,S.A)(e.modes)),tK)){let t=eI((0,eC.A)((0,S.A)(e.modes)));this.tokensMap=(0,eQ.A)(t,(e,t)=>(e[t.name]=t,e),{})}else if((0,sX.A)(e))this.tokensMap=I(e);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=tQ;let s=eL((0,O.A)(e,"modes")?(0,eC.A)((0,S.A)(e.modes)):(0,S.A)(e),e=>(0,R.A)(e.categoryMatches));this.tokenMatcher=s?tU:tx,tP((0,S.A)(this.tokensMap))}defineRule(e,t,s){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=(0,O.A)(s,"resyncEnabled")?s.resyncEnabled:s9.resyncEnabled,n=(0,O.A)(s,"recoveryValueFunc")?s.recoveryValueFunc:s9.recoveryValueFunc,a=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a,Object.assign(!0===this.outputCst?function(...s){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,s);let i=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(i),i}catch(e){return this.invokeRuleCatch(e,i,n)}finally{this.ruleFinallyStateUpdate()}}:function(...s){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,s)}catch(e){return this.invokeRuleCatch(e,i,n)}finally{this.ruleFinallyStateUpdate()}},{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,s){let i=1===this.RULE_STACK.length,n=t&&!this.isBackTracking()&&this.recoveryEnabled;if(sU(e)){if(n){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return s(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(i)return this.moveToTerminatedState(),s(e)}throw e}optionInternal(e,t){let s=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,s)}optionInternalLogic(e,t,s){let i,n=this.getLaFuncFromCache(s);if("function"!=typeof e){i=e.DEF;let t=e.GATE;if(void 0!==t){let e=n;n=()=>t.call(this)&&e.call(this)}}else i=e;if(!0===n.call(this))return i.call(this)}atLeastOneInternal(e,t){let s=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,s)}atLeastOneInternalLogic(e,t,s){let i,n=this.getLaFuncFromCache(s);if("function"!=typeof t){i=t.DEF;let e=t.GATE;if(void 0!==e){let t=n;n=()=>e.call(this)&&t.call(this)}}else i=t;if(!0===n.call(this)){let e=this.doSingleRepetition(i);for(;!0===n.call(this)&&!0===e;)e=this.doSingleRepetition(i)}else throw this.raiseEarlyExitException(e,h.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],n,1024,e,so)}atLeastOneSepFirstInternal(e,t){let s=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,s)}atLeastOneSepFirstInternalLogic(e,t,s){let i=t.DEF,n=t.SEP;if(!0===this.getLaFuncFromCache(s).call(this)){i.call(this);let t=()=>this.tokenMatcher(this.LA(1),n);for(;!0===this.tokenMatcher(this.LA(1),n);)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,t,i,sl],t,1536,e,sl)}else throw this.raiseEarlyExitException(e,h.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let s=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,s)}manyInternalLogic(e,t,s){let i,n=this.getLaFuncFromCache(s);if("function"!=typeof t){i=t.DEF;let e=t.GATE;if(void 0!==e){let t=n;n=()=>e.call(this)&&t.call(this)}}else i=t;let a=!0;for(;!0===n.call(this)&&!0===a;)a=this.doSingleRepetition(i);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],n,768,e,sa,a)}manySepFirstInternal(e,t){let s=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,s)}manySepFirstInternalLogic(e,t,s){let i=t.DEF,n=t.SEP;if(!0===this.getLaFuncFromCache(s).call(this)){i.call(this);let t=()=>this.tokenMatcher(this.LA(1),n);for(;!0===this.tokenMatcher(this.LA(1),n);)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,t,i,sr],t,1280,e,sr)}}repetitionSepSecondInternal(e,t,s,i,n){for(;s();)this.CONSUME(t),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,s,i,n],s,1536,e,n)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let s=this.getKeyForAutomaticLookahead(256,t),i=(0,ep.A)(e)?e:e.DEF,n=this.getLaFuncFromCache(s).call(this,i);if(void 0!==n)return i[n].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new sD(t,e))}}subruleInternal(e,t,s){let i;try{let n=void 0!==s?s.ARGS:void 0;return this.subruleIdx=t,i=e.apply(this,n),this.cstPostNonTerminal(i,void 0!==s&&void 0!==s.LABEL?s.LABEL:e.ruleName),i}catch(t){throw this.subruleInternalError(t,s,e.ruleName)}}subruleInternalError(e,t,s){throw sU(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:s),delete e.partialCstResult),e}consumeInternal(e,t,s){let i;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),i=t):this.consumeInternalError(e,t,s)}catch(s){i=this.consumeInternalRecovery(e,t,s)}return this.cstPostTerminal(void 0!==s&&void 0!==s.LABEL?s.LABEL:e.name,i),i}consumeInternalError(e,t,s){let i,n=this.LA(0);throw i=void 0!==s&&s.ERR_MSG?s.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:n,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new sw(i,t,n))}consumeInternalRecovery(e,t,s){if(this.recoveryEnabled&&"MismatchedTokenException"===s.name&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,i)}catch(e){if(e.name===sF)throw s;throw e}}throw s}saveRecogState(){let e=this.errors,t=I(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,s){this.RULE_OCCURRENCE_STACK.push(s),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),tQ)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},class{ACTION(e){return e.call(this)}consume(e,t,s){return this.consumeInternal(t,e,s)}subrule(e,t,s){return this.subruleInternal(t,e,s)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,s=s9){if(eE(this.definedRulesNames,e)){let t={message:t3.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:d.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let i=this.defineRule(e,t,s);return this[e]=i,i}OVERRIDE_RULE(e,t,s=s9){var i,n;let a,r,o=(i=this.definedRulesNames,n=this.className,r=[],eE(i,e)||(a=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:a,type:d.INVALID_RULE_OVERRIDE,ruleName:e})),r);this.definitionErrors=this.definitionErrors.concat(o);let l=this.defineRule(e,t,s);return this[e]=l,l}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let s=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(sU(e))return!1;throw e}finally{this.reloadRecogState(s),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){var e;return e=(0,S.A)(this.gastProductionsCache),(0,N.A)(e,function e(t){function s(t){return(0,N.A)(t,e)}if(t instanceof Q){let e={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,x.A)(t.label)&&(e.label=t.label),e}if(t instanceof et)return{type:"Alternative",definition:s(t.definition)};if(t instanceof es)return{type:"Option",idx:t.idx,definition:s(t.definition)};if(t instanceof ei)return{type:"RepetitionMandatory",idx:t.idx,definition:s(t.definition)};if(t instanceof en)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:e(new el({terminalType:t.separator})),definition:s(t.definition)};else if(t instanceof er)return{type:"RepetitionWithSeparator",idx:t.idx,separator:e(new el({terminalType:t.separator})),definition:s(t.definition)};else if(t instanceof ea)return{type:"Repetition",idx:t.idx,definition:s(t.definition)};else if(t instanceof eo)return{type:"Alternation",idx:t.idx,definition:s(t.definition)};else if(t instanceof el){var i,n;let e={type:"Terminal",name:t.terminalType.name,label:(n=i=t.terminalType,(0,x.A)(n.LABEL)&&""!==n.LABEL)?i.LABEL:i.name,idx:t.idx};(0,x.A)(t.label)&&(e.terminalLabel=t.label);let s=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(e.pattern=q(s)?s.source:s),e}else if(t instanceof ee)return{type:"Rule",name:t.name,orgText:t.orgText,definition:s(t.definition)};else throw Error("non exhaustive match")})}},class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=(0,O.A)(e,"errorMessageProvider")?e.errorMessageProvider:s5.errorMessageProvider}SAVE_ERROR(e){if(sU(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:I(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return I(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,s){let i=this.getCurrRuleFullName(),n=sy(e,this.getGAstProductions()[i],t,this.maxLookahead)[0],a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let r=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:n,actual:a,previous:this.LA(0),customUserDescription:s,ruleName:i});throw this.SAVE_ERROR(new s$(r,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let s=this.getCurrRuleFullName(),i=sg(e,this.getGAstProductions()[s],this.maxLookahead),n=[];for(let e=1;e<=this.maxLookahead;e++)n.push(this.LA(e));let a=this.LA(0),r=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:i,actual:n,previous:a,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new sP(r,this.LA(1),a))}},class{initContentAssist(){}computeContentAssist(e,t){let s=this.gastProductionsCache[e];if((0,e_.A)(s))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return sc([s],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=tt(e.ruleStack);return new si(this.getGAstProductions()[t],e).startWalking()}},class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(t,s){return this.consumeInternalRecord(t,e,s)},this[`SUBRULE${t}`]=function(t,s){return this.subruleInternalRecord(t,e,s)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,s){return this.consumeInternalRecord(t,e,s)},this.subrule=function(e,t,s){return this.subruleInternalRecord(t,e,s)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return s6}topLevelRuleRecord(e,t){try{let s=new ee({definition:[],name:e});return s.name=e,this.recordingProdStack.push(s),t.call(this),this.recordingProdStack.pop(),s}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return s0.call(this,es,e,t)}atLeastOneInternalRecord(e,t){s0.call(this,ei,t,e)}atLeastOneSepFirstInternalRecord(e,t){s0.call(this,en,t,e,!0)}manyInternalRecord(e,t){s0.call(this,ea,t,e)}manySepFirstInternalRecord(e,t){s0.call(this,er,t,e,!0)}orInternalRecord(e,t){return s1.call(this,e,t)}subruleInternalRecord(e,t,s){if(s3(t),!e||!1===(0,O.A)(e,"ruleName")){let s=Error(`<SUBRULE${s2(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=(0,tv.A)(this.recordingProdStack),n=new Q({idx:t,nonTerminalName:e.ruleName,label:null==s?void 0:s.LABEL,referencedRule:void 0});return i.definition.push(n),this.outputCst?sQ:sJ}consumeInternalRecord(e,t,s){if(s3(t),!tD(e)){let s=Error(`<CONSUME${s2(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=(0,tv.A)(this.recordingProdStack),n=new el({idx:t,terminalType:e,label:null==s?void 0:s.LABEL});return i.definition.push(n),sZ}},class{initPerformanceTracer(e){if((0,O.A)(e,"traceInitPerf")){let t=e.traceInitPerf,s="number"==typeof t;this.traceInitMaxIdent=s?t:1/0,this.traceInitPerf=s?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=s5.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let s=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${e}>`);let{time:i,value:n}=t_(t),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${s}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,n}}}].forEach(e=>{let t=e.prototype;Object.getOwnPropertyNames(t).forEach(s=>{if("constructor"===s)return;let i=Object.getOwnPropertyDescriptor(t,s);i&&(i.get||i.set)?Object.defineProperty(s4.prototype,s,i):s4.prototype[s]=e.prototype[s]})});class s8 extends s4{constructor(e,t=s5){let s=I(t);s.outputCst=!0,super(e,s)}}var s7=s(7829);function ie(e,t){let s=e.lexer.tokenize(t);if(s.errors.length>0){let i=s.errors[0],n=Number.isFinite(i.offset)?i.offset:t.length,a=n+(Number.isFinite(i.length)?i.length:0);throw Error(`Error lexing ${e.diagramType} diagram: ${i.message} at line ${i.line??1}, column ${i.column??1} [${n},${a})`)}e.parser.input=s.tokens;let i=e.entry();if(e.parser.errors.length>0)throw Error(`Error parsing ${e.diagramType} diagram: ${e.parser.errors[0].message}`);e.visit(i)}(0,y.K)(ie,"runChevrotainParse");var it=E.UI.usecase,is=(0,y.K)(()=>({actors:new Map,useCases:new Map,systemBoundaries:new Map,relationships:[],notes:new Map,jsonNodes:new Map,classDefs:new Map,symbols:new Map,direction:"LR",relationshipCounter:0,noteCounter:0,accTitle:"",accDescription:"",ast:void 0,config:structuredClone(it)}),"createModel"),ii=(0,y.K)(e=>{if(!(e.actors instanceof Map)||!(e.useCases instanceof Map)||!(e.systemBoundaries instanceof Map)||!Array.isArray(e.relationships)||!(e.notes instanceof Map)||!(e.jsonNodes instanceof Map)||!(e.classDefs instanceof Map)||!(e.symbols instanceof Map)||!["TB","TD","BT","RL","LR"].includes(e.direction)||!Number.isSafeInteger(e.relationshipCounter)||e.relationshipCounter<0||!Number.isSafeInteger(e.noteCounter)||e.noteCounter<0||"string"!=typeof e.accTitle||"string"!=typeof e.accDescription||!e.config)throw Error("Cannot commit an incomplete usecase model")},"assertCompleteModel"),ia=is(),ir=(0,y.K)(()=>structuredClone(ia.config),"getConfig"),io=(0,y.K)(()=>ia.ast,"getAST"),il=(0,y.K)(e=>{let t=structuredClone(e);ii(t);let s=(0,E.iN)(),i=(0,E.m7)();try{(0,E.SV)(t.accTitle),(0,E.EI)(t.accDescription),ia=t}catch(e){throw(0,E.SV)(s),(0,E.EI)(i),e}},"commit"),ih=(0,y.K)(()=>{ia=is(),(0,E.IU)()},"clear"),ic=(0,y.K)(()=>ia.actors,"getActors"),id=(0,y.K)(e=>ia.actors.get(e),"getActor"),iu=(0,y.K)(()=>ia.useCases,"getUseCases"),ip=(0,y.K)(e=>ia.useCases.get(e),"getUseCase"),im=(0,y.K)(()=>ia.systemBoundaries,"getSystemBoundaries"),iT=(0,y.K)(e=>ia.systemBoundaries.get(e),"getSystemBoundary"),iA=(0,y.K)(()=>ia.relationships,"getRelationships"),iE=(0,y.K)(()=>ia.notes,"getNotes"),ig=(0,y.K)(e=>ia.notes.get(e),"getNote"),iy=(0,y.K)(()=>ia.jsonNodes,"getJsonNodes"),iL=(0,y.K)(e=>ia.jsonNodes.get(e),"getJsonNode"),iS=(0,y.K)(()=>ia.classDefs,"getClassDefs"),iR=(0,y.K)(e=>ia.classDefs.get(e),"getClassDef"),iN=(0,y.K)(()=>ia.direction,"getDirection"),iO=(0,y.K)(e=>{let t=new Map;for(let s of["default",...e]){let e=ia.classDefs.get(s);if(e)for(let s of e.styles){let e=s.trim(),i=e.indexOf(":"),n=(-1===i?e:e.slice(0,i)).trim();n&&t.set(n,e)}}return[...t.values()]},"getCompiledStyles"),ik=(0,y.K)(e=>e.replaceAll("~","~0").replaceAll("/","~1"),"escapeJsonPointerPart"),iI=(0,y.K)(e=>"string"==typeof e?e:null===e?"null":String(e),"displayJsonScalar"),iC=(0,y.K)((e,t,s=e=>e)=>{let i=[],n=(0,y.K)((e,t,n)=>{i.push({key:s(e),accessibleKey:s(t),value:s(n)})},"append"),a=(0,y.K)((e,s,i)=>{if(Array.isArray(e)){if(0===e.length)return void n(s,s,"[]");if(e.every(e=>null===e||["string","number","boolean"].includes(typeof e))){for(let[t,i]of e.entries())n(0===t?s:"",s,iI(i));return}for(let[t,n]of e.entries())a(n,`${s}[${t}]`,`${i}/${t}`);return}if(null!==e&&"object"==typeof e){let r=t[i]??Object.keys(e);if(0===r.length)return void n(s,s,"{}");for(let t of r){let n=s?`${s}.${t}`:t;a(e[t],n,`${i}/${ik(t)}`)}return}n(s,s,iI(e))},"visit");return a(e,"",""),i},"flattenJsonRows"),ib=(0,y.K)(e=>{switch(e.type){case"hollow":return"usecaseActorHollow";case"awesome":return"usecaseActorAwesome";case"icon":return"usecaseActorIcon";case"normal":return"usecaseActor"}},"actorShape"),iv=(0,y.K)(e=>"ellipse"===e.shape?e.business?"usecaseBusiness":"usecaseEllipse":e.shape,"useCaseShape"),i_=(0,y.K)(e=>{switch(e){case 0:return{arrowTypeStart:"none",arrowTypeEnd:"arrow_point"};case 1:return{arrowTypeStart:"arrow_point",arrowTypeEnd:"none"};case 3:return{arrowTypeStart:"none",arrowTypeEnd:"arrow_circle"};case 4:return{arrowTypeStart:"none",arrowTypeEnd:"arrow_cross"};case 5:return{arrowTypeStart:"arrow_circle",arrowTypeEnd:"none"};case 6:return{arrowTypeStart:"arrow_cross",arrowTypeEnd:"none"};case 2:return{arrowTypeStart:"none",arrowTypeEnd:"none"}}},"associationMarkers"),ix=(0,y.K)(e=>{switch(e.type){case"include":case"extend":return{arrowTypeStart:"none",arrowTypeEnd:"arrow_point",pattern:"dotted",label:e.type,labelType:"text"};case"generalization":return{arrowTypeStart:"none",arrowTypeEnd:"extension",pattern:"solid"};case"association":return{...i_(e.arrowType),pattern:"solid",...e.label?{label:e.label}:{},...e.labelType?{labelType:e.labelType}:{}}}},"relationshipVisuals"),iU=(0,y.K)(e=>e.animate||e.animation?[`edge-animation-${e.animation??"fast"}`]:[],"animationClasses"),iM=(0,y.K)((...e)=>e.filter(e=>!!e).join(" "),"classNames"),iw=(0,y.K)(()=>{let e=(0,E.D7)(),t={...ia.config,...e.usecase},s=(0,y.K)(t=>(0,E.jZ)(t,e),"sanitize"),i=(0,y.K)(e=>s(ia.actors.get(e)?.label??ia.useCases.get(e)?.label??ia.jsonNodes.get(e)?.id??ia.notes.get(e)?.label??e),"endpointLabel"),n=[],a=[],r=0,o=0;for(let t of ia.actors.values())n.push({id:t.id,label:s(t.label),labelType:t.labelType,shape:ib(t),isGroup:!1,padding:10,look:e.look,colorIndex:r++,cssClasses:iM("default","usecase-actor",`usecase-actor-${t.type}`,t.business&&"usecase-business",...t.classes),cssStyles:[...t.styles],cssCompiledStyles:iO(t.classes),actorType:t.type,business:t.business,...t.icon?{icon:t.icon}:{},...t.stereotype?{stereotype:s(t.stereotype)}:{},...t.parentId?{parentId:t.parentId}:{}});for(let t of ia.useCases.values())n.push({id:t.id,label:s(t.label),labelType:t.labelType,shape:iv(t),isGroup:!1,padding:"ellipse"===t.shape?20:10,look:e.look,colorIndex:r++,cssClasses:iM("default","usecase-element",`usecase-${t.shape}`,t.business&&"usecase-business",...t.classes),cssStyles:[...t.styles],cssCompiledStyles:iO(t.classes),business:t.business,...t.stereotype?{stereotype:s(t.stereotype)}:{},...t.parentId?{parentId:t.parentId}:{}});for(let t of ia.notes.values())n.push({id:t.id,label:s(t.label),labelType:t.labelType,shape:"note",isGroup:!1,padding:10,look:e.look,cssClasses:"default usecase-note",cssStyles:[],cssCompiledStyles:iO([]),noteTarget:t.target,noteTargetLabel:s(ia.actors.get(t.target)?.label??ia.useCases.get(t.target)?.label??ia.jsonNodes.get(t.target)?.id??t.target)});for(let t of ia.jsonNodes.values())n.push({id:t.id,label:s(t.id),labelType:"text",shape:"usecaseJsonTable",isGroup:!1,padding:10,look:e.look,cssClasses:iM("default","usecase-json-table",...t.classes),cssStyles:[...t.styles],cssCompiledStyles:iO(t.classes),jsonRows:iC(t.value,t.propertyOrder,s)});for(let t of ia.systemBoundaries.values())n.push({id:t.id,label:s(t.label),labelType:t.labelType,shape:"usecaseSystemBoundary",isGroup:!0,padding:20,look:e.look,colorIndex:o++,cssClasses:iM("default","system-boundary",`system-boundary-${t.type}`,...t.classes),cssStyles:[...t.styles],cssCompiledStyles:iO(t.classes),boundaryType:t.type});for(let t of ia.relationships){let{label:n,...r}=ix(t);a.push({id:t.id,start:t.source,end:t.target,source:t.source,target:t.target,sourceLabel:i(t.source),targetLabel:i(t.target),type:"edge",relationshipType:t.type,internal:!1,...r,...void 0!==n?{label:s(n)}:{},labelpos:"c",classes:iM("default","relationship",`relationship-${t.type}`,...t.classes,...iU(t)),style:[...t.styles],cssCompiledStyles:iO(t.classes),animate:t.animate,...t.animation?{animation:t.animation}:{},look:e.look,thickness:"normal",minlen:t.minlen,isUserDefinedId:t.explicitId})}for(let t of ia.notes.values())a.push({id:`${t.id}-edge`,start:t.id,end:t.target,source:t.id,target:t.target,type:"edge",relationshipType:"note",sourceLabel:i(t.id),targetLabel:i(t.target),internal:!0,pattern:"dotted",arrowTypeStart:"none",arrowTypeEnd:"none",labelpos:"c",classes:"default relationship relationship-note",style:[],cssCompiledStyles:iO([]),animate:!1,look:e.look,thickness:"normal",minlen:1,isUserDefinedId:!1});for(let e of n)e.wrappingWidth??=t.wrappingWidth,e.isGroup||e.shape.startsWith("usecaseActor")||(e.minWidth??=t.minNodeWidth),("usecaseEllipse"===e.shape||"usecaseBusiness"===e.shape)&&(e.spreadPorts=!0);return{nodes:n,edges:a,config:e,type:"usecase",layoutAlgorithm:"dagre",direction:iN(),nodeSpacing:t.nodeSpacing,rankSpacing:t.rankSpacing,actorFontSize:t.actorFontSize,actorFontFamily:t.actorFontFamily,actorFontWeight:t.actorFontWeight,usecaseFontSize:t.usecaseFontSize,usecaseFontFamily:t.usecaseFontFamily,usecaseFontWeight:t.usecaseFontWeight,diagramPadding:t.diagramPadding,useMaxWidth:t.useMaxWidth,markers:["point","circle","cross","extension"]}},"getData"),iP={getConfig:ir,createModel:is,commit:il,getAST:io,clear:ih,setDiagramTitle:E.ke,getDiagramTitle:E.ab,setAccTitle:E.SV,getAccTitle:E.iN,setAccDescription:E.EI,getAccDescription:E.m7,getActors:ic,getActor:id,getUseCases:iu,getUseCase:ip,getSystemBoundaries:im,getSystemBoundary:iT,getRelationships:iA,getNotes:iE,getNote:ig,getJsonNodes:iy,getJsonNode:iL,getClassDefs:iS,getClassDef:iR,getDirection:iN,getData:iw};function iD(e,t,s){let i=[s];return i.index=t,i.input=e,i}(0,y.K)(iD,"customMatch");var i$=(0,y.K)((e,t)=>{if('"'!==e[t]||"`"!==e[t+1])return null;for(let s=t+2;s<e.length-1;s++)if("`"===e[s]&&'"'===e[s+1])return iD(e,t,e.slice(t,s+2));return null},"matchMarkdownString"),iK=(0,y.K)((e,t)=>{if("%"!==e[t]||"%"!==e[t+1])return null;for(let s=t-1;s>=0;s--){let t=e[s];if("\n"===t||"\r"===t)break;if(" "!==t&&" "!==t)return null}let s=t+2;for(;s<e.length&&"\n"!==e[s]&&"\r"!==e[s];)s++;return iD(e,t,e.slice(t,s))},"matchComment"),iF=(0,y.K)((e,t)=>{for(let s=t-1;s>=0;s--){let t=e[s];if("\n"===t||"\r"===t)break;if(" "!==t&&" "!==t)return!1}return!0},"isIndentedLineStart"),iB=(0,y.K)((e,t,s)=>{if(!iF(e,t))return null;let i=s.exec(e.slice(t));return i?iD(e,t,i[0]):null},"matchAccessibilityLine"),iG=(0,y.K)((e,t)=>{if(!iF(e,t))return null;let s=/^accDescr[\t ]*{/.exec(e.slice(t));if(!s)return null;let i=e.indexOf("}",t+s[0].length);return -1===i?null:iD(e,t,e.slice(t,i+1))},"matchAccDescrBlock"),iW=(0,y.K)((e,t)=>{if("{"!==e[t])return null;let s=0,i=!1,n=!1;for(let a=t;a<e.length;a++){let r=e[a];if(i){n?n=!1:"\\"===r?n=!0:'"'===r&&(i=!1);continue}if('"'===r)i=!0;else if("{"===r)s++;else if("}"===r&&0==--s)return iD(e,t,e.slice(t,a+1))}return null},"matchJsonObject"),ij=(0,y.K)((e,t)=>{let s=e.indexOf(">>",t);if(-1===s||/[\n\r]/.test(e.slice(t,s)))return null;let i=e.slice(t,s);return i.trim()?iD(e,t,i):null},"matchStereotypeText"),iz=tZ({name:"LABEL_TEXT",pattern:tB.NA}),iV=tZ({name:"WORD",pattern:tB.NA,categories:iz}),iH=tZ({name:"NUMBER",pattern:/(?:\d+\.\d+|\d+|\.\d+)(?:[A-Za-z]+)?/,categories:iz}),iY=tZ({name:"IDENTIFIER",pattern:/\w+/,longer_alt:iH,categories:iV}),iX=tZ({name:"HWS",pattern:/[\t ]+/,group:tB.SKIPPED}),iJ=tZ({name:"MARKDOWN_STRING",pattern:i$,start_chars_hint:['"'],line_breaks:!0}),iq=tZ({name:"UNCLOSED_MARKDOWN_STRING",pattern:/"`[^]*/,line_breaks:!0}),iZ=tZ({name:"COMMENT",pattern:iK,start_chars_hint:["%"],line_breaks:!1}),iQ=tZ({name:"NEWLINE",pattern:/\r\n|\n|\r/,line_breaks:!0}),i0=tZ({name:"ACC_DESCR_BLOCK",pattern:iG,start_chars_hint:["a"],line_breaks:!0}),i1=/^accTitle[\t ]*:[^\n\r]*/,i2=/^accDescr[\t ]*:[^\n\r]*/,i3=tZ({name:"ACC_TITLE_LINE",pattern:(0,y.K)((e,t)=>iB(e,t,i1),"pattern"),start_chars_hint:["a"],line_breaks:!1}),i6=tZ({name:"ACC_DESCR_LINE",pattern:(0,y.K)((e,t)=>iB(e,t,i2),"pattern"),start_chars_hint:["a"],line_breaks:!1}),i5=tZ({name:"JSON_DECLARATION_START",pattern:/json[\t ]+\w+[\t ]*@[\t ]*(?={)/,push_mode:"jsonBody"}),i9=tZ({name:"JSON_OBJECT_LITERAL",pattern:iW,start_chars_hint:["{"],line_breaks:!0,pop_mode:!0}),i4=tZ({name:"UNCLOSED_JSON_OBJECT_LITERAL",pattern:/{[^]*/,line_breaks:!0,pop_mode:!0}),i8=(0,y.K)((e,t)=>tZ({name:e,pattern:t,longer_alt:iY,categories:iV}),"keyword"),i7=i8("USECASE",/usecase-beta/),ne=i8("ACTOR",/actor/),nt=i8("SYSTEM_BOUNDARY",/systemBoundary/),ns=i8("END",/end/),ni=i8("DIRECTION",/direction/),nn=i8("TD",/TD/),na=i8("TB",/TB/),nr=i8("BT",/BT/),no=i8("LR",/LR/),nl=i8("RL",/RL/),nh=i8("NOTE",/note/),nc=i8("FOR",/for/),nd=i8("JSON",/json/),nu=i8("CLASS_DEF",/classDef/),np=i8("CLASS",/class/),nf=i8("STYLE",/style/),nm=i8("INCLUDE",/include/i),nT=i8("EXTEND",/extend/i),nA=i8("TRUE",/true/),nE=i8("FALSE",/false/),ng=tZ({name:"GENERALIZATION",pattern:/--\|>/}),ny=tZ({name:"DEPENDENCY_ARROW",pattern:/\.\.>/}),nL=tZ({name:"STEREOTYPE_START",pattern:/<</,push_mode:"stereotype"}),nS=tZ({name:"STEREOTYPE_END",pattern:/>>/,pop_mode:!0}),nR=tZ({name:"STEREOTYPE_TEXT",pattern:ij,line_breaks:!1}),nN=tZ({name:"UNCLOSED_STEREOTYPE_TEXT",pattern:/[^\n\r]+/,line_breaks:!1,pop_mode:!0}),nO=tZ({name:"CLASS_SEPARATOR",pattern:/:::/}),nk=tZ({name:"FORWARD_SOLID",pattern:/--+>/}),nI=tZ({name:"BACKWARD_SOLID",pattern:/<--+/}),nC=tZ({name:"FORWARD_CIRCLE",pattern:/--o/}),nb=tZ({name:"BACKWARD_CIRCLE",pattern:/o--/}),nv=tZ({name:"FORWARD_CROSS",pattern:/--x/}),n_=tZ({name:"BACKWARD_CROSS",pattern:/x--/}),nx=tZ({name:"MARKERLESS_SOLID",pattern:/--+/}),nU=tZ({name:"METADATA_START",pattern:/@{/}),nM=tZ({name:"AT",pattern:/@/,categories:iz}),nw=tZ({name:"LBRACE",pattern:/{/}),nP=tZ({name:"RBRACE",pattern:/}/}),nD=tZ({name:"LBRACKET",pattern:/\[/}),n$=tZ({name:"RBRACKET",pattern:/]/}),nK=tZ({name:"LPAREN",pattern:/\(/}),nF=tZ({name:"RPAREN",pattern:/\)/}),nB=tZ({name:"COMMA",pattern:/,/,categories:iz}),nG=tZ({name:"COLON",pattern:/:/,categories:iz}),nW=tZ({name:"HASH_COLOR",pattern:/#[\dA-Fa-f]+/,categories:iz}),nj=tZ({name:"PLAIN_STRING",pattern:/"[^\n\r"]*"|'[^\n\r']*'/}),nz=tZ({name:"CSS_IDENTIFIER",pattern:/--[A-Z_a-z][\w-]*|[A-Z_a-z]\w*(?:-\w+)+/,categories:iz}),nV=tZ({name:"CSS_ESCAPED_COMMA",pattern:/\\,/,categories:iz}),nH=tZ({name:"DASH",pattern:/-/,categories:iz}),nY=tZ({name:"DOT",pattern:/\./,categories:iz}),nX=tZ({name:"PERCENT",pattern:/%/,categories:iz}),nJ=tZ({name:"CSS_PUNCTUATION",pattern:/[!#$&*+/=?^_|~]/,categories:iz}),nq=tZ({name:"LABEL_PUNCTUATION",pattern:/[;<>\\`]/,categories:iz}),nZ=tZ({name:"LABEL_SYMBOL",pattern:/[^\t\n\r !-~]+/,categories:iz}),nQ=[iz,iV,iX,iJ,iq,iZ,iQ,i0,i3,i6,i5,i7,ne,nt,ns,ni,nn,na,nr,no,nl,nh,nc,nd,nu,np,nf,nm,nT,nA,nE,ng,ny,nL,nO,nk,nI,nC,nb,nv,n_,nx,nU,nM,nw,nP,nD,n$,nK,nF,nB,nG,nW,nj,nz,iY,iH,nV,nH,nY,nX,nJ,nq,nZ],n0={defaultMode:"defaultMode",modes:{defaultMode:[...nQ],jsonBody:[i9,i4],stereotype:[nS,nR,nN]}},n1=[...nQ,i9,i4,nS,nR,nN],n2=new tB(n0),n3=(0,y.K)(e=>tx(e,iz)||e.tokenType===nj||e.tokenType===iJ,"isLabelToken"),n6={allowmixing:!0,newpage:!0,package:!0,rectangle:!0,skinparam:!0},n5=new class extends s8{static{(0,y.K)(this,"UsecaseParser")}constructor(){super(n1,{nodeLocationTracking:"full"}),this.RULE("start",()=>{this.CONSUME(i7),this.SUBRULE(this.lineEnd),this.MANY(()=>this.SUBRULE(this.line))}),this.RULE("line",()=>{this.OR([{ALT:(0,y.K)(()=>this.SUBRULE(this.blankLine),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.commentLine),"ALT")},{GATE:(0,y.K)(()=>this.isStatementStart(),"GATE"),ALT:(0,y.K)(()=>this.SUBRULE(this.statement),"ALT")}])}),this.RULE("statement",()=>{this.OR([{ALT:(0,y.K)(()=>this.SUBRULE(this.accTitleStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.accDescrStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.directionStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.actorStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.systemBoundaryStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.noteStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.jsonStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.classDefStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.classStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.styleStatement),"ALT")},{GATE:(0,y.K)(()=>this.isMetadataAssignment(),"GATE"),ALT:(0,y.K)(()=>this.SUBRULE(this.metadataAssignmentStatement),"ALT")},{GATE:(0,y.K)(()=>!this.isForbiddenPlantUmlStatement(),"GATE"),ALT:(0,y.K)(()=>this.SUBRULE(this.entityStatement),"ALT")}])}),this.RULE("lineEnd",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(iQ),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(tQ),"ALT")}])}),this.RULE("blankLine",()=>{this.CONSUME(iQ)}),this.RULE("commentLine",()=>{this.CONSUME(iZ),this.SUBRULE(this.lineEnd)}),this.RULE("accTitleStatement",()=>{this.CONSUME(i3),this.SUBRULE(this.lineEnd)}),this.RULE("accDescrStatement",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(i6),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(i0),"ALT")}]),this.SUBRULE(this.lineEnd)}),this.RULE("actorStatement",()=>{this.CONSUME(ne),this.SUBRULE(this.actorItem),this.OPTION(()=>{this.OR([{ALT:(0,y.K)(()=>this.AT_LEAST_ONE(()=>{this.CONSUME(nB),this.SUBRULE2(this.actorItem)}),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.relationTail),"ALT")}])}),this.SUBRULE(this.lineEnd)}),this.RULE("actorItem",()=>{this.SUBRULE(this.actorName),this.OPTION(()=>this.SUBRULE(this.metadata)),this.OPTION2(()=>this.SUBRULE(this.stereotype)),this.OPTION3(()=>this.SUBRULE(this.classSuffix))}),this.RULE("actorName",()=>{this.OR([{ALT:(0,y.K)(()=>{this.CONSUME(iY),this.OPTION(()=>{this.CONSUME(nK),this.SUBRULE(this.nodeLabel),this.CONSUME(nF)})},"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")}])}),this.RULE("actorDeclarationOnly",()=>{this.CONSUME(ne),this.SUBRULE(this.actorItem),this.MANY(()=>{this.CONSUME(nB),this.SUBRULE2(this.actorItem)}),this.SUBRULE(this.lineEnd)}),this.RULE("entityStatement",()=>{this.SUBRULE(this.entityName),this.OPTION(()=>this.SUBRULE(this.relationTail)),this.SUBRULE(this.lineEnd)}),this.RULE("entityName",()=>{this.OR([{ALT:(0,y.K)(()=>{this.CONSUME(iY),this.OPTION(()=>{this.OR2([{ALT:(0,y.K)(()=>{this.CONSUME(nK),this.SUBRULE(this.nodeLabel),this.CONSUME(nF)},"ALT")},{ALT:(0,y.K)(()=>{this.CONSUME(nD),this.SUBRULE2(this.nodeLabel),this.CONSUME(n$)},"ALT")}])})},"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")}]),this.OPTION2(()=>this.SUBRULE(this.useCaseMetadata)),this.OPTION3(()=>this.SUBRULE(this.stereotype)),this.OPTION4(()=>this.SUBRULE(this.classSuffix))}),this.RULE("nodeLabel",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")},{ALT:(0,y.K)(()=>this.AT_LEAST_ONE(()=>this.CONSUME(iz)),"ALT")}])}),this.RULE("useCaseMetadata",()=>{this.SUBRULE(this.metadata)}),this.RULE("relationTail",()=>{this.OPTION({GATE:(0,y.K)(()=>this.LA(1).tokenType===iY&&this.LA(2).tokenType===nM,"GATE"),DEF:(0,y.K)(()=>{this.CONSUME(iY),this.CONSUME(nM)},"DEF")}),this.SUBRULE(this.arrow),this.SUBRULE(this.entityName)}),this.RULE("arrow",()=>{this.OR([{ALT:(0,y.K)(()=>this.SUBRULE(this.semanticRelation),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.forwardSolidOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.backwardSolidOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.markerlessSolidOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.forwardCircleOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.backwardCircleOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.forwardCrossOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.backwardCrossOperator),"ALT")}])}),this.RULE("forwardSolidOperator",()=>{this.CONSUME(nk)}),this.RULE("backwardSolidOperator",()=>{this.CONSUME(nI),this.OPTION({GATE:(0,y.K)(()=>"<--"===this.LA(0).image&&this.hasLabeledRight([nx]),"GATE"),DEF:(0,y.K)(()=>{this.SUBRULE(this.edgeLabel),this.CONSUME(nx)},"DEF")})}),this.RULE("markerlessSolidOperator",()=>{this.CONSUME(nx),this.OPTION({GATE:(0,y.K)(()=>"--"===this.LA(0).image&&this.hasLabeledRight([nk,nx,nC,nv]),"GATE"),DEF:(0,y.K)(()=>{this.SUBRULE(this.edgeLabel),this.OR([{ALT:(0,y.K)(()=>this.CONSUME(nk),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME2(nx),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nC),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nv),"ALT")}])},"DEF")})}),this.RULE("forwardCircleOperator",()=>{this.CONSUME(nC)}),this.RULE("backwardCircleOperator",()=>{this.CONSUME(nb),this.OPTION({GATE:(0,y.K)(()=>this.hasLabeledRight([nx]),"GATE"),DEF:(0,y.K)(()=>{this.SUBRULE(this.edgeLabel),this.CONSUME(nx)},"DEF")})}),this.RULE("forwardCrossOperator",()=>{this.CONSUME(nv)}),this.RULE("backwardCrossOperator",()=>{this.CONSUME(n_),this.OPTION({GATE:(0,y.K)(()=>this.hasLabeledRight([nx]),"GATE"),DEF:(0,y.K)(()=>{this.SUBRULE(this.edgeLabel),this.CONSUME(nx)},"DEF")})}),this.RULE("edgeLabel",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")},{ALT:(0,y.K)(()=>this.AT_LEAST_ONE(()=>this.CONSUME(iz)),"ALT")}])}),this.RULE("semanticRelation",()=>{this.OR([{ALT:(0,y.K)(()=>{this.CONSUME(ny),this.CONSUME(nG),this.OR2([{ALT:(0,y.K)(()=>this.CONSUME(nm),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nT),"ALT")}])},"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(ng),"ALT")}])}),this.RULE("metadata",()=>{this.CONSUME(nU),this.MANY(()=>this.CONSUME(iQ)),this.OPTION(()=>{this.SUBRULE(this.metadataProperty),this.MANY2(()=>{this.SUBRULE(this.metadataSeparator),this.SUBRULE2(this.metadataProperty)}),this.OPTION2(()=>this.CONSUME(nB)),this.MANY3(()=>this.CONSUME2(iQ))}),this.CONSUME(nP)}),this.RULE("metadataProperty",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(iY),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")}]),this.CONSUME(nG),this.OR2([{ALT:(0,y.K)(()=>this.CONSUME2(iY),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME2(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nA),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nE),"ALT")}])}),this.RULE("metadataSeparator",()=>{this.OR([{ALT:(0,y.K)(()=>{this.CONSUME(nB),this.MANY(()=>this.CONSUME(iQ))},"ALT")},{ALT:(0,y.K)(()=>{this.AT_LEAST_ONE(()=>this.CONSUME2(iQ)),this.OPTION(()=>this.CONSUME2(nB)),this.MANY2(()=>this.CONSUME3(iQ))},"ALT")}])}),this.RULE("systemBoundaryStatement",()=>{this.CONSUME(nt),this.SUBRULE(this.systemBoundaryName),this.OPTION(()=>this.SUBRULE(this.metadata)),this.OPTION2(()=>this.SUBRULE(this.classSuffix)),this.SUBRULE(this.lineEnd),this.SUBRULE(this.systemBoundaryContent),this.CONSUME(ns),this.SUBRULE2(this.lineEnd)}),this.RULE("systemBoundaryName",()=>{this.OR([{ALT:(0,y.K)(()=>{this.CONSUME(iY),this.OPTION(()=>{this.OR2([{ALT:(0,y.K)(()=>{this.CONSUME(nK),this.SUBRULE(this.nodeLabel),this.CONSUME(nF)},"ALT")},{ALT:(0,y.K)(()=>{this.CONSUME(nD),this.SUBRULE2(this.nodeLabel),this.CONSUME(n$)},"ALT")}])})},"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")}])}),this.RULE("systemBoundaryContent",()=>{this.MANY(()=>{this.OR([{ALT:(0,y.K)(()=>this.SUBRULE(this.blankLine),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.commentLine),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.boundaryElement),"ALT")}])})}),this.RULE("boundaryElement",()=>{this.OR([{ALT:(0,y.K)(()=>this.SUBRULE(this.actorDeclarationOnly),"ALT")},{ALT:(0,y.K)(()=>{this.SUBRULE(this.entityName),this.SUBRULE(this.lineEnd)},"ALT")}])}),this.RULE("metadataAssignmentStatement",()=>{this.SUBRULE(this.metadataAssignmentTarget),this.SUBRULE(this.metadata),this.SUBRULE(this.lineEnd)}),this.RULE("metadataAssignmentTarget",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(iY),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")}])}),this.RULE("noteStatement",()=>{this.CONSUME(nh),this.CONSUME(nc),this.CONSUME(iY),this.SUBRULE(this.nodeLabel),this.SUBRULE(this.lineEnd)}),this.RULE("stereotype",()=>{this.CONSUME(nL),this.CONSUME(nR),this.CONSUME(nS)}),this.RULE("classSuffix",()=>{this.CONSUME(nO),this.CONSUME(iY),this.MANY(()=>{this.CONSUME(nB),this.CONSUME2(iY)})}),this.RULE("jsonStatement",()=>{this.CONSUME(i5),this.CONSUME(i9),this.OPTION(()=>this.SUBRULE(this.classSuffix)),this.SUBRULE(this.lineEnd)}),this.RULE("directionStatement",()=>{this.CONSUME(ni),this.OR([{ALT:(0,y.K)(()=>this.CONSUME(nn),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(na),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nr),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(no),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nl),"ALT")}]),this.SUBRULE(this.lineEnd)}),this.RULE("classDefStatement",()=>{this.CONSUME(nu),this.CONSUME(iY),this.MANY(()=>{this.CONSUME(nB),this.CONSUME2(iY)}),this.SUBRULE(this.styles),this.SUBRULE(this.lineEnd)}),this.RULE("classStatement",()=>{this.CONSUME(np),this.CONSUME(iY),this.MANY(()=>{this.CONSUME(nB),this.CONSUME2(iY)}),this.CONSUME3(iY),this.MANY2(()=>{this.CONSUME2(nB),this.CONSUME4(iY)}),this.SUBRULE(this.lineEnd)}),this.RULE("styleStatement",()=>{this.CONSUME(nf),this.CONSUME(iY),this.SUBRULE(this.styles),this.SUBRULE(this.lineEnd)}),this.RULE("styles",()=>{this.SUBRULE(this.styleValue),this.MANY(()=>{this.CONSUME(nB),this.SUBRULE2(this.styleValue)})}),this.RULE("styleValue",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(iV),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nz),"ALT")},{ALT:(0,y.K)(()=>{this.CONSUME(nx),this.CONSUME2(iV)},"ALT")}]),this.CONSUME(nG),this.AT_LEAST_ONE(()=>this.SUBRULE(this.styleComponent))}),this.RULE("styleComponent",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(iV),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iH),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nW),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nz),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nV),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nH),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nY),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nX),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nJ),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nG),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nK),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nF),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nD),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(n$),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nw),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nP),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nM),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nx),"ALT")}])}),this.performSelfAnalysis()}isMetadataAssignment(){let e=this.LA(1).tokenType;return(e===iY||e===nj||e===iJ)&&this.LA(2).tokenType===nU}isStatementStart(){let e=this.LA(1).tokenType;return e!==tQ&&e!==iQ&&e!==iZ}isForbiddenPlantUmlStatement(){return this.LA(1).tokenType===iY&&!0===n6[this.LA(1).image.toLowerCase()]}hasLabeledRight(e){if(!n3(this.LA(1)))return!1;for(let t=2;;t++){let s=this.LA(t);if(e.includes(s.tokenType))return!0;if(!n3(s))return!1}}},n9=class extends Error{constructor(e,t,s){super(`${e} (line ${t}, column ${s})`),this.line=t,this.column=s,this.name="UsecaseJsonError"}static{(0,y.K)(this,"UsecaseJsonError")}},n4=(0,y.K)((e,t,s,i)=>{let n=s,a=i,r=Math.min(Math.max(t,0),e.length);for(let t=0;t<r;t++){let s=e[t];"\r"===s?(n++,a=1):"\n"===s?(0===t||"\r"!==e[t-1])&&(n++,a=1):a++}return{line:n,column:a}},"locationAtOffset"),n8=(0,y.K)((e,t,s,i)=>{let n=/\bposition (\d+)\b/u.exec(e);if(n)return n4(t,Number.parseInt(n[1],10),s,i);let a=/\bline (\d+) column (\d+)\b/u.exec(e);if(a){let e=Number.parseInt(a[1],10),t=Number.parseInt(a[2],10);return{line:s+e-1,column:1===e?i+t-1:t}}if(/unexpected end|end of json input/iu.test(e))return n4(t,t.length,s,i)},"locationFromErrorMessage"),n7=class extends Error{constructor(e){super("Invalid JSON token"),this.offset=e}static{(0,y.K)(this,"JsonWalkError")}},ae=class{constructor(e){this.text=e,this.offset=0,this.propertyOrder={}}static{(0,y.K)(this,"PropertyOrderCollector")}collect(){if(this.skipWhitespace(),this.collectValue(""),this.skipWhitespace(),this.offset!==this.text.length)throw new n7(this.offset);return this.propertyOrder}collectValue(e){this.skipWhitespace();let t=this.text[this.offset];if("{"===t)this.collectObject(e);else if("["===t)this.collectArray(e);else if('"'===t)this.readString(!1);else if("t"===t)this.consumeLiteral("true");else if("f"===t)this.consumeLiteral("false");else if("n"===t)this.consumeLiteral("null");else if("-"===t||t>="0"&&t<="9")this.consumeNumber();else throw new n7(this.offset)}collectObject(e){this.offset++;let t=[],s=new Set;if(this.propertyOrder[e]=t,this.skipWhitespace(),"}"===this.text[this.offset])return void this.offset++;for(;this.offset<this.text.length&&'"'===this.text[this.offset];){let i=this.readString(!0),n=`${e}/${i.replaceAll("~","~0").replaceAll("/","~1")}`;if(s.has(i)?this.deletePointerSubtree(n):(s.add(i),t.push(i)),this.skipWhitespace(),":"!==this.text[this.offset])break;if(this.offset++,this.collectValue(n),this.skipWhitespace(),"}"===this.text[this.offset])return void this.offset++;if(","!==this.text[this.offset])break;this.offset++,this.skipWhitespace()}throw new n7(this.offset)}collectArray(e){if(this.offset++,this.skipWhitespace(),"]"===this.text[this.offset])return void this.offset++;let t=0;for(;this.offset<this.text.length;){if(this.collectValue(`${e}/${t}`),t++,this.skipWhitespace(),"]"===this.text[this.offset])return void this.offset++;if(","!==this.text[this.offset])break;this.offset++,this.skipWhitespace()}throw new n7(this.offset)}readString(e){this.offset++;let t="";for(;this.offset<this.text.length;){let s=this.offset,i=this.text[this.offset++];if('"'===i)return t;if(32>i.charCodeAt(0))throw new n7(s);if("\\"!==i){e&&(t+=i);continue}let n=this.offset,a=this.text[this.offset++];switch(a){case'"':case"\\":case"/":e&&(t+=a);break;case"b":e&&(t+="\b");break;case"f":e&&(t+="\f");break;case"n":e&&(t+="\n");break;case"r":e&&(t+="\r");break;case"t":e&&(t+=" ");break;case"u":{let s=this.text.slice(this.offset,this.offset+4);if(!/^[\dA-Fa-f]{4}$/u.test(s))throw new n7(this.offset);e&&(t+=String.fromCharCode(Number.parseInt(s,16))),this.offset+=4;break}default:throw new n7(n)}}throw new n7(this.offset)}consumeLiteral(e){let t=0;for(let s of e){if(this.text[this.offset+t]!==s)throw new n7(this.offset+t);t++}this.offset+=e.length}consumeNumber(){if("-"===this.text[this.offset]&&this.offset++,"0"===this.text[this.offset])this.offset++;else if(this.text[this.offset]>="1"&&this.text[this.offset]<="9")for(;this.text[this.offset]>="0"&&this.text[this.offset]<="9";)this.offset++;else throw new n7(this.offset);if("."===this.text[this.offset]){if(this.offset++,this.text[this.offset]<"0"||this.text[this.offset]>"9")throw new n7(this.offset);for(;this.text[this.offset]>="0"&&this.text[this.offset]<="9";)this.offset++}if("e"===this.text[this.offset]||"E"===this.text[this.offset]){if(this.offset++,("+"===this.text[this.offset]||"-"===this.text[this.offset])&&this.offset++,this.text[this.offset]<"0"||this.text[this.offset]>"9")throw new n7(this.offset);for(;this.text[this.offset]>="0"&&this.text[this.offset]<="9";)this.offset++}}skipWhitespace(){for(;this.offset<this.text.length;){let e=this.text[this.offset];if(" "!==e&&" "!==e&&"\n"!==e&&"\r"!==e)return;this.offset++}}deletePointerSubtree(e){let t=`${e}/`;for(let s of Object.keys(this.propertyOrder))(s===e||s.startsWith(t))&&delete this.propertyOrder[s]}};function at(e,t,s){let i;try{i=JSON.parse(e)}catch(a){let i=a instanceof Error?a.message:String(a),n=n8(i,e,t,s);if(!n){let i=0;try{new ae(e).collect()}catch(e){e instanceof n7&&(i=e.offset)}n=n4(e,i,t,s)}throw new n9(`Invalid JSON: ${i}`,n.line,n.column)}if("object"!=typeof i||null===i||Array.isArray(i))throw new n9("JSON value must have an object root",t,s);return{value:i,propertyOrder:new ae(e).collect()}}(0,y.K)(at,"parseOrderedJsonObject");var as=(0,y.K)(e=>({shape:"normal"===e.type?"actor":"hollow"===e.type?"actor-hollow":"awesome"===e.type?"actor-awesome":"actor-icon",...e.label===e.id?{}:{label:e.label},...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{kind:"actor",actorType:e.type,business:e.business,labelType:e.labelType,...e.icon?{icon:e.icon}:{},...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{}}}),"actorNode"),ai=(0,y.K)(e=>({shape:e.shape,...e.label===e.id?{}:{label:e.label},...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{kind:"usecase",useCaseShape:e.shape,business:e.business,labelType:e.labelType,...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{}}}),"useCaseNode"),an=(0,y.K)(e=>({label:e.label,shape:"note",attrs:{kind:"note",target:e.target,labelType:e.labelType}}),"noteNode"),aa=(0,y.K)(e=>({label:e.id,shape:"json-table",...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{kind:"json",value:e.value,propertyOrder:e.propertyOrder,labelType:"text"}}),"jsonNode"),ar=(0,y.K)(e=>({id:e.id,source:e.source,target:e.target,...e.label?{label:e.label}:{},...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{relationshipType:e.type,arrowType:e.arrowType,minlen:e.minlen,explicitId:e.explicitId,animate:e.animate,...e.animation?{animation:e.animation}:{},...e.labelType?{labelType:e.labelType}:{}}}),"relationshipEdge"),ao=(0,y.K)(e=>({id:`${e.id}-edge`,source:e.id,target:e.target,attrs:{relationshipType:"note",arrowType:2,pattern:"dotted",minlen:1,explicitId:!1,animate:!1,internal:!0}}),"noteEdge"),al=(0,y.K)((e,t,s,i)=>{let n={};for(let t of e.getActors().values())n[t.id]=as(t);for(let t of e.getUseCases().values())n[t.id]=ai(t);for(let t of e.getNotes().values())n[t.id]=an(t);for(let t of e.getJsonNodes().values())n[t.id]=aa(t);let a={};for(let t of e.getSystemBoundaries().values())a[t.id]={...t.label===t.id?{}:{title:t.label},nodes:[...t.members],...t.classes.length?{classes:[...t.classes]}:{},...t.styles.length?{styles:[...t.styles]}:{},attrs:{kind:"systemBoundary",boundaryType:t.type,labelType:t.labelType}};let r={};for(let t of e.getClassDefs().values())r[t.id]={styles:[...t.styles]};let o=e.getDirection();return{version:1,diagramType:"usecase",source:t,header:{keyword:"usecase",direction:"TD"===o?"TB":o,span:s},...e.getAccTitle()?{accTitle:e.getAccTitle()}:{},...e.getAccDescription()?{accDescr:e.getAccDescription()}:{},nodes:n,edges:[...e.getRelationships().map(ar),...[...e.getNotes().values()].map(ao)],groups:a,classDefs:r,statements:i}},"buildUsecaseGraphAST"),ah=(0,y.K)(e=>`line ${e.line}, column ${e.column} [${e.span[0]},${e.span[1]})`,"locationText"),ac=(0,y.K)(e=>void 0===e?"":` (label "${e}")`,"labelSuffix"),ad=(0,y.K)(e=>e.generated?e.label:void 0,"generatedFrom"),au=(0,y.K)((e,t)=>{for(let s of t)e.includes(s)||e.push(s)},"pushUnique"),ap=class{constructor(e){this.db=e,this.source="",this.statements=[],this.elements=[],this.boundaries=[],this.jsonDrafts=[],this.relationshipDrafts=[],this.noteDrafts=[],this.metadataAssignments=[],this.classAssignments=[],this.styleAssignments=[],this.classDefinitions=[],this.directions=[],this.model=e.createModel()}static{(0,y.K)(this,"UsecaseModelBuilder")}reset(e){this.model=this.db.createModel(),this.source=e,this.statements=[],this.elements.length=0,this.boundaries.length=0,this.jsonDrafts.length=0,this.relationshipDrafts.length=0,this.noteDrafts.length=0,this.metadataAssignments.length=0,this.classAssignments.length=0,this.styleAssignments.length=0,this.classDefinitions.length=0,this.directions.length=0}addElement(e){this.elements.push(e)}addBoundary(e){this.boundaries.push(e)}addJson(e){this.jsonDrafts.push(e)}addRelationship(e){this.relationshipDrafts.push(e)}addNote(e){this.noteDrafts.push(e)}addMetadataAssignment(e,t,s,i){this.metadataAssignments.push({target:e,targetLocation:t,metadata:s,statement:i})}addClassDef(e,t){this.classDefinitions.push({ids:e,styles:t})}addClassAssignment(e,t){this.classAssignments.push({targets:e,classes:t})}addStyleAssignment(e,t,s){this.styleAssignments.push({target:e,location:t,styles:s})}setDirection(e){this.directions.push("TD"===e?"TB":e)}setAccTitle(e){this.model.accTitle=e}setAccDescription(e){this.model.accDescription=e}setStatements(e){this.statements=e}getActors(){return this.model.actors}getUseCases(){return this.model.useCases}getSystemBoundaries(){return this.model.systemBoundaries}getRelationships(){return this.model.relationships}getNotes(){return this.model.notes}getJsonNodes(){return this.model.jsonNodes}getClassDefs(){return this.model.classDefs}getDirection(){return this.model.direction}getAccTitle(){return this.model.accTitle}getAccDescription(){return this.model.accDescription}finalize(e){let t=new Map,s=new Map,i=new Map,n=new Map;for(let e of this.relationshipDrafts)this.recordFirst(n,e.source.id,e.source.location.span[0]),this.recordFirst(n,e.target.id,e.target.location.span[0]);for(let e of this.elements)this.recordFirst(n,e.id,e.location.span[0]);for(let e of this.boundaries)this.recordFirst(n,e.id,e.location.span[0]);for(let e of this.jsonDrafts)this.recordFirst(n,e.id,e.location.span[0]);for(let e of[...this.elements.map(e=>({offset:e.location.span[0],type:"element",value:e})),...this.boundaries.map(e=>({offset:e.location.span[0],type:"boundary",value:e})),...this.jsonDrafts.map(e=>({offset:e.location.span[0],type:"json",value:e})),...this.relationshipDrafts.filter(e=>e.explicitId).map(e=>({offset:e.explicitIdLocation.span[0],type:"edge",value:e}))].sort((e,t)=>e.offset-t.offset))"element"===e.type?this.collectElement(e.value,t,s):"boundary"===e.type?this.collectBoundary(e.value,t,i):"json"===e.type?this.registerUnique(t,e.value.id,"json",e.value.location,!1):this.registerUnique(t,e.value.explicitId,"edge",e.value.explicitIdLocation,!1);this.materializeElements(s,n),this.materializeBoundaries(i,n),this.materializeJson(n);let a=this.materializeRelationships(t,s,n);this.reorderElements(s,n),this.applyMetadataAssignments(t,s,i,a),this.validateAndRefreshElements(s),this.refreshBoundaries(i,s),this.materializeNotes(t),this.applyClassDefinitions(),this.applyClassesAndStyles(t,a),this.model.direction=this.directions.at(-1)??this.model.direction,this.model.symbols=new Map([...t].map(([e,t])=>[e,t.kind]));let r=al(this,this.source,e,this.statements);return this.model.ast=r,this.db.commit(this.model),r}collectElement(e,t,s){let i=t.get(e.id),n=ad({generated:e.generated,label:e.label.text});i&&i.kind!==e.kind&&this.conflict(`ID '${e.id}' is declared as both ${i.kind} and ${e.kind}`,e.location,i.location,n,ad(i)),i&&(i.generated||e.generated)&&this.conflict(`Generated ID '${e.id}' collides with another declaration`,e.location,i.location,n,ad(i));let a=s.get(e.id);if(!a){let i={kind:e.kind,id:e.id,label:e.label,location:e.location,generated:e.generated,classes:[...e.classes],...e.parentId?{parentId:e.parentId,parentLocation:e.parentLocation}:{},...e.shape?{shape:e.shape}:{},...e.stereotype?{stereotype:e.stereotype,stereotypeLocation:e.location}:{}};this.applyDeclarationMetadata(i,e.metadata),s.set(e.id,i),t.set(e.id,{kind:e.kind,location:e.location,generated:e.generated,label:e.label.text});return}(a.label.text!==e.label.text||a.label.type!==e.label.type)&&this.conflict(`ID '${e.id}' has conflicting labels`,e.location,a.location),e.shape&&a.shape&&e.shape!==a.shape&&this.conflict(`Use case '${e.id}' has conflicting shapes`,e.location,a.location),e.parentId&&a.parentId&&e.parentId!==a.parentId&&this.conflict(`Element '${e.id}' belongs to more than one system boundary`,e.parentLocation??e.location,a.parentLocation??a.location),e.stereotype&&a.stereotype&&e.stereotype!==a.stereotype&&this.conflict(`Element '${e.id}' has conflicting stereotypes`,e.location,a.stereotypeLocation??a.location),a.shape??=e.shape,a.parentId??=e.parentId,a.parentLocation??=e.parentLocation,a.stereotype??=e.stereotype,a.stereotypeLocation??=e.stereotype?e.location:void 0,au(a.classes,e.classes),this.applyDeclarationMetadata(a,e.metadata)}collectBoundary(e,t,s){let i=t.get(e.id),n=ad({generated:e.generated,label:e.label.text});i&&"boundary"!==i.kind&&this.conflict(`ID '${e.id}' is declared as both ${i.kind} and boundary`,e.location,i.location,n,ad(i)),i&&(i.generated||e.generated)&&this.conflict(`Generated ID '${e.id}' collides with another declaration`,e.location,i.location,n,ad(i));let a=s.get(e.id);if(a){(a.label.text!==e.label.text||a.label.type!==e.label.type)&&this.conflict(`Boundary '${e.id}' has conflicting titles`,e.location,a.location),au(a.classes,e.classes);return}s.set(e.id,{id:e.id,label:e.label,location:e.location,generated:e.generated,classes:[...e.classes],styles:[],members:[]}),t.set(e.id,{kind:"boundary",location:e.location,generated:e.generated,label:e.label.text})}materializeElements(e,t){for(let s of[...e.values()].sort((e,s)=>(t.get(e.id)??0)-(t.get(s.id)??0)))this.setElementModel(s)}materializeBoundaries(e,t){for(let s of[...e.values()].sort((e,s)=>(t.get(e.id)??0)-(t.get(s.id)??0)))this.model.systemBoundaries.set(s.id,{id:s.id,label:s.label.text,labelType:s.label.type,type:s.type??"rect",members:[],classes:[...s.classes],styles:[...s.styles]})}materializeJson(e){for(let t of[...this.jsonDrafts].sort((t,s)=>(e.get(t.id)??0)-(e.get(s.id)??0)))this.model.jsonNodes.set(t.id,{id:t.id,value:t.value,propertyOrder:t.propertyOrder,classes:[...t.classes],styles:[]})}materializeRelationships(e,t,s){let i=new Map,n=0;for(let a of this.relationshipDrafts){let r=this.resolveEndpoint(a.source,e,t,s),o=this.resolveEndpoint(a.target,e,t,s);this.validateRelationship(a,r,o,e);let l=a.explicitId??`edge-${n++}`,h={id:l,explicitId:!!a.explicitId,source:a.source.id,target:a.target.id,type:a.type,arrowType:a.arrowType,...a.label?{label:a.label.text,labelType:a.label.type}:{},minlen:a.minlen,classes:[],styles:[],animate:!1};this.model.relationships.push(h),i.set(l,{draft:a,relationship:h})}return this.model.relationshipCounter=n,i}resolveEndpoint(e,t,s,i){if(e.classesOnReference&&!e.declaration)throw Error(`Relationship endpoint '${e.id}' uses ::: without declaring the node at ${ah(e.location)}`);let n=t.get(e.id);return n?n.kind:(s.set(e.id,{kind:"usecase",id:e.id,label:e.label,location:e.location,generated:e.generated,shape:"ellipse",classes:[]}),t.set(e.id,{kind:"usecase",location:e.location,generated:e.generated,label:e.label.text}),this.recordFirst(i,e.id,e.location.span[0]),"usecase")}reorderElements(e,t){let s=new Map(this.model.actors),i=new Map(this.model.useCases);for(let n of(this.model.actors.clear(),this.model.useCases.clear(),[...e.values()].sort((e,s)=>(t.get(e.id)??0)-(t.get(s.id)??0)))){s.has(n.id)||i.has(n.id)||this.setElementModel(n);let e=s.get(n.id)??this.model.actors.get(n.id),t=i.get(n.id)??this.model.useCases.get(n.id);e?this.model.actors.set(n.id,e):t&&this.model.useCases.set(n.id,t)}}applyMetadataAssignments(e,t,s,i){for(let n of this.metadataAssignments){let a=e.get(n.target);if(!a){let e=this.inferMetadataKind(n.metadata);throw Error(`Metadata target '${n.target}' is unresolved${e?` (metadata implies ${e})`:""} at ${ah(n.targetLocation)}`)}if("actor"===a.kind||"usecase"===a.kind)this.applyStandaloneElementMetadata(t.get(n.target),n.metadata);else if("boundary"===a.kind){let e=s.get(n.target);for(let t of n.metadata.properties)("type"!==t.key||"rect"!==t.value&&"package"!==t.value)&&this.invalidMetadata(n.target,a.kind,t),e.type=t.value}else if("edge"===a.kind){let e=i.get(n.target);if(!e)throw Error(`Metadata target '${n.target}' is not an explicit edge at ${ah(n.targetLocation)}`);for(let t of(n.statement.kind="edgeMetadata",n.statement.edges=[{id:n.target,span:n.statement.span,idSpan:n.targetLocation.span,...n.statement.metadata?{metadata:n.statement.metadata}:{}}],delete n.statement.nodes,n.metadata.properties))"animate"===t.key&&"boolean"==typeof t.value?e.relationship.animate=t.value:"animation"===t.key&&("fast"===t.value||"slow"===t.value)?(e.relationship.animation=t.value,e.relationship.animate=!0):this.invalidMetadata(n.target,a.kind,t)}else for(let e of n.metadata.properties)this.invalidMetadata(n.target,a.kind,e)}for(let{relationship:e}of i.values())e.animation&&(e.animate=!0)}applyStandaloneElementMetadata(e,t){for(let s of t.properties)"actor"===e.kind?this.applyActorProperty(e,s,!0):"business"===s.key&&"boolean"==typeof s.value?e.business=s.value:this.invalidMetadata(e.id,e.kind,s)}applyDeclarationMetadata(e,t){if(t)for(let s of t.properties)"actor"===e.kind?this.applyActorProperty(e,s,!1):"business"===s.key&&"boolean"==typeof s.value?(void 0!==e.business&&e.business!==s.value&&this.conflict(`Use case '${e.id}' has conflicting business metadata`,s.location,e.location),e.business=s.value):this.invalidMetadata(e.id,e.kind,s)}applyActorProperty(e,t,s){"type"===t.key&&("normal"===t.value||"hollow"===t.value||"awesome"===t.value)?(s||void 0===e.actorType||e.actorType===t.value||this.conflict(`Actor '${e.id}' has conflicting type metadata`,t.location,e.location),e.actorType=t.value):"icon"===t.key&&"string"==typeof t.value?(s||void 0===e.icon||e.icon===t.value||this.conflict(`Actor '${e.id}' has conflicting icon metadata`,t.location,e.location),e.icon=t.value):"business"===t.key&&"boolean"==typeof t.value?(s||void 0===e.business||e.business===t.value||this.conflict(`Actor '${e.id}' has conflicting business metadata`,t.location,e.location),e.business=t.value):this.invalidMetadata(e.id,e.kind,t)}validateAndRefreshElements(e){for(let t of e.values()){let e=t.icon?"icon":t.actorType??"normal";if("actor"===t.kind){if(t.icon&&t.actorType&&"normal"!==t.actorType)throw Error(`Actor '${t.id}' cannot combine icon with type '${t.actorType}' at ${ah(t.location)}`);if(t.business&&("icon"===e||"awesome"===e))throw Error(`Business actor '${t.id}' must use normal or hollow geometry at ${ah(t.location)}`)}else if((t.shape??"ellipse")==="rect"&&t.business)throw Error(`Rectangular use case '${t.id}' cannot be a business use case at ${ah(t.location)}`);this.setElementModel(t)}}refreshBoundaries(e,t){for(let t of e.values())t.members.length=0;for(let t of[...this.elements].sort((e,t)=>e.location.span[0]-t.location.span[0])){if(!t.parentId)continue;let s=e.get(t.parentId);if(!s)throw Error(`Parent boundary '${t.parentId}' for '${t.id}' is unresolved at ${ah(t.parentLocation??t.location)}`);s.members.includes(t.id)||s.members.push(t.id)}for(let s of t.values())if(s.parentId&&!e.has(s.parentId))throw Error(`Parent boundary '${s.parentId}' for '${s.id}' is unresolved at ${ah(s.parentLocation??s.location)}`);for(let t of e.values()){let e=this.model.systemBoundaries.get(t.id);e.type=t.type??"rect",e.members=[...t.members],e.classes=[...t.classes],e.styles=[...t.styles]}}materializeNotes(e){let t=0;for(let s of this.noteDrafts){let i=e.get(s.target);if(!i)throw Error(`Note target '${s.target}' is unresolved at ${ah(s.targetLocation)}`);"actor"!==i.kind&&"usecase"!==i.kind&&this.conflict(`Note target '${s.target}' must be an actor or use case, not ${i.kind}`,s.targetLocation,i.location);let n=`note-${t++}`;this.model.notes.set(n,{id:n,target:s.target,label:s.label.text,labelType:s.label.type})}this.model.noteCounter=t}applyClassDefinitions(){for(let e of this.classDefinitions)for(let t of e.ids)this.model.classDefs.set(t,{id:t,styles:[...e.styles]})}applyClassesAndStyles(e,t){for(let s of this.classAssignments)for(let i of s.targets)au(this.getStylable(i.id,e,t,i.location).classes,s.classes);for(let s of this.styleAssignments)this.getStylable(s.target,e,t,s.location).styles.push(...s.styles)}getStylable(e,t,s,i){let n=t.get(e)?.kind,a="actor"===n?this.model.actors.get(e):"usecase"===n?this.model.useCases.get(e):"boundary"===n?this.model.systemBoundaries.get(e):"json"===n?this.model.jsonNodes.get(e):"edge"===n?s.get(e)?.relationship:void 0;if(!a)throw Error(`Class/style target '${e}' is unresolved or anonymous at ${ah(i)}`);return a}validateRelationship(e,t,s,i){let n=(0,y.K)(e=>"actor"===e||"usecase"===e||"json"===e,"allowed");if(n(t)||this.conflict(`Relationship source '${e.source.id}' cannot be ${t}`,e.source.location,i.get(e.source.id).location),n(s)||this.conflict(`Relationship target '${e.target.id}' cannot be ${s}`,e.target.location,i.get(e.target.id).location),("include"===e.type||"extend"===e.type)&&("usecase"!==t||"usecase"!==s))throw Error(`${e.type} relationship requires use-case endpoints at ${ah(e.location)}`);if("generalization"===e.type&&("actor"!==t&&"usecase"!==t||t!==s))throw Error(`Generalization requires actor-to-actor or use-case-to-use-case endpoints at ${ah(e.location)}`);if("association"===e.type&&("json"===t||"json"===s)&&![0,1,2].includes(e.arrowType))throw Error(`JSON relationship '${e.source.id}' to '${e.target.id}' permits only point, reversed-point, or markerless solid association at ${ah(e.location)}`)}setElementModel(e){if("actor"===e.kind){let t=e.icon?"icon":e.actorType??"normal";this.model.useCases.delete(e.id),this.model.actors.set(e.id,{id:e.id,label:e.label.text,labelType:e.label.type,type:t,...e.icon?{icon:e.icon}:{},business:e.business??!1,...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{},classes:[...e.classes],styles:this.model.actors.get(e.id)?.styles??[]})}else this.model.actors.delete(e.id),this.model.useCases.set(e.id,{id:e.id,label:e.label.text,labelType:e.label.type,shape:e.shape??"ellipse",business:e.business??!1,...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{},classes:[...e.classes],styles:this.model.useCases.get(e.id)?.styles??[]})}inferMetadataKind(e){let t=new Set(["actor","usecase","boundary","edge"]);for(let s of e.properties)if("icon"===s.key)t.clear(),t.add("actor");else if("animate"===s.key||"animation"===s.key)t.clear(),t.add("edge");else if("type"===s.key)t.clear(),"rect"===s.value||"package"===s.value?t.add("boundary"):("normal"===s.value||"hollow"===s.value||"awesome"===s.value)&&t.add("actor");else{if("business"!==s.key)return;t.delete("boundary"),t.delete("edge")}return 1===t.size?[...t][0]:void 0}invalidMetadata(e,t,s){throw Error(`Metadata property '${s.key}' is invalid for ${t} '${e}' at ${ah(s.location)}`)}registerUnique(e,t,s,i,n){let a=e.get(t);a&&this.conflict(`ID '${t}' is declared more than once (${a.kind} and ${s})`,i,a.location,void 0,ad(a)),e.set(t,{kind:s,location:i,generated:n})}recordFirst(e,t,s){let i=e.get(t);(void 0===i||s<i)&&e.set(t,s)}conflict(e,t,s,i,n){throw Error(`${e} at ${ah(t)}${ac(i)}; previous declaration at ${ah(s)}${ac(n)}`)}},af=n5.getBaseCstVisitorConstructor(),am=new class extends af{constructor(){super(),this.builder=new ap(iP),this.source="",this.anonymousEdge=0,this.anonymousNote=0,this.validateVisitor()}static{(0,y.K)(this,"UsecaseVisitor")}build(e,t){this.source=t,this.parentBoundary=void 0,this.anonymousEdge=0,this.anonymousNote=0,this.builder.reset(t),this.visit(e)}start(e){let t=this.tokens(e,"USECASE")[0],s=[];for(let t of this.nodes(e,"line"))s.push(this.visit(t));this.builder.setStatements(s),this.builder.finalize(this.tokenSpan(t))}line(e){let t=this.firstNode(e,"blankLine","commentLine","statement");return this.wrap(t,this.visit(t))}statement(e){return this.visit(this.firstNode(e,"accTitleStatement","accDescrStatement","directionStatement","actorStatement","systemBoundaryStatement","noteStatement","jsonStatement","classDefStatement","classStatement","styleStatement","metadataAssignmentStatement","entityStatement"))}lineEnd(e){}blankLine(e){return{kind:"blank",span:this.tokenSpan(this.tokens(e,"NEWLINE")[0])}}commentLine(e){return{kind:"comment",span:this.tokenSpan(this.tokens(e,"COMMENT")[0])}}accTitleStatement(e){let t=this.tokens(e,"ACC_TITLE_LINE")[0].image;return this.builder.setAccTitle(t.slice(t.indexOf(":")+1).trim()),{kind:"accTitle",span:[0,0]}}accDescrStatement(e){let t=this.tokens(e,"ACC_DESCR_LINE")[0],s=this.tokens(e,"ACC_DESCR_BLOCK")[0],i=t?t.image.slice(t.image.indexOf(":")+1).trim():s.image.slice(s.image.indexOf("{")+1,s.image.lastIndexOf("}")).trim();return this.builder.setAccDescription(i),{kind:"accDescr",span:[0,0]}}actorStatement(e){let t=this.nodes(e,"actorItem"),s=t.map(e=>this.visit(e)),i=this.nodes(e,"relationTail")[0],n=s.map((e,s)=>this.actorOccurrence(t[s],e,!0));for(let e of s)this.builder.addElement(this.actorDraft(e));if(!i)return{kind:"node",span:[0,0],nodes:n};let a=this.visit(i);a.target.explicitDeclaration&&this.builder.addElement(this.entityDraft(a.target));let r=this.relationshipDraft(s[0],a,this.nodeLocation(i));this.builder.addRelationship(r);let o=r.explicitId??`edge-${this.anonymousEdge++}`;return n.push(this.entityOccurrence(this.nodes(i.children,"entityName")[0],a.target,a.target.explicitDeclaration)),{kind:"edge",span:[0,0],nodes:n,edges:[{id:o,span:[0,0],...r.explicitIdLocation?{idSpan:r.explicitIdLocation.span}:{},...r.label?{labelSpan:r.label.span}:{}}]}}actorItem(e){let t=this.visit(this.nodes(e,"actorName")[0]),s=this.nodes(e,"metadata")[0],i=this.nodes(e,"stereotype")[0],n=this.nodes(e,"classSuffix")[0],a=n?this.visit(n):{classes:[],spans:[]};return{...t,...s?{metadata:this.visit(s)}:{},...i?{stereotype:this.visit(i)}:{},classes:a.classes,classSpans:a.spans}}actorName(e){let t=this.tokens(e,"IDENTIFIER")[0],s=this.tokens(e,"PLAIN_STRING")[0]??this.tokens(e,"MARKDOWN_STRING")[0];if(t){let s=this.nodes(e,"nodeLabel")[0],i=s?this.visit(s):this.tokenLabel(t);return{id:t.image,label:i,location:this.tokenLocation(t),generated:!1,classes:[],classSpans:[]}}let i=this.tokenLabel(s);return{id:this.generateId(i.text),label:i,location:this.tokenLocation(s),generated:!0,classes:[],classSpans:[]}}actorDeclarationOnly(e){let t=this.nodes(e,"actorItem"),s=t.map(e=>this.visit(e));for(let e of s)this.builder.addElement(this.actorDraft(e));return{kind:"node",span:[0,0],nodes:s.map((e,s)=>this.actorOccurrence(t[s],e,!0))}}entityStatement(e){let t=this.nodes(e,"entityName"),s=this.visit(t[0]),i=this.nodes(e,"relationTail")[0];if(!i)return s.explicitDeclaration=!0,s.shape??="ellipse",this.builder.addElement(this.entityDraft(s)),{kind:"node",span:[0,0],nodes:[this.entityOccurrence(t[0],s,!0)]};s.explicitDeclaration&&this.builder.addElement(this.entityDraft(s));let n=this.visit(i);n.target.explicitDeclaration&&this.builder.addElement(this.entityDraft(n.target));let a={source:this.endpoint(s),target:this.endpoint(n.target),location:this.nodeLocation(i),...n.explicitId?{explicitId:n.explicitId,explicitIdLocation:n.explicitIdLocation}:{},...n.arrow};this.builder.addRelationship(a);let r=a.explicitId??`edge-${this.anonymousEdge++}`;return{kind:"edge",span:[0,0],nodes:[this.entityOccurrence(t[0],s,s.explicitDeclaration),this.entityOccurrence(this.nodes(i.children,"entityName")[0],n.target,n.target.explicitDeclaration)],edges:[{id:r,span:[0,0],...a.explicitIdLocation?{idSpan:a.explicitIdLocation.span}:{},...a.label?{labelSpan:a.label.span}:{}}]}}entityName(e){let t=this.tokens(e,"IDENTIFIER")[0],s=this.tokens(e,"PLAIN_STRING")[0]??this.tokens(e,"MARKDOWN_STRING")[0],i=this.nodes(e,"nodeLabel")[0],n=this.nodes(e,"useCaseMetadata")[0],a=this.nodes(e,"stereotype")[0],r=this.nodes(e,"classSuffix")[0],o=r?this.visit(r):{classes:[],spans:[]};if(t){let s=i?this.visit(i):this.tokenLabel(t),r=i?this.tokens(e,"LBRACKET").length?"rect":"ellipse":void 0;return{id:t.image,label:s,location:this.tokenLocation(t),generated:!1,...r?{shape:r}:{},...n?{metadata:this.visit(n)}:{},...a?{stereotype:this.visit(a)}:{},classes:o.classes,classSpans:o.spans,explicitDeclaration:!!(r||n||a)}}let l=this.tokenLabel(s);return{id:this.generateId(l.text),label:l,location:this.tokenLocation(s),generated:!0,...n?{metadata:this.visit(n)}:{},...a?{stereotype:this.visit(a)}:{},classes:o.classes,classSpans:o.spans,explicitDeclaration:!!(n||a)}}nodeLabel(e){let t=this.allTokens(e);if(1===t.length&&("PLAIN_STRING"===t[0].tokenType.name||"MARKDOWN_STRING"===t[0].tokenType.name))return this.tokenLabel(t[0]);let s=[t[0].startOffset,(t.at(-1).endOffset??t.at(-1).startOffset)+1];return{text:this.source.slice(s[0],s[1]),type:"text",span:s}}useCaseMetadata(e){return this.visit(this.nodes(e,"metadata")[0])}relationTail(e){let t=this.tokens(e,"IDENTIFIER")[0];return{...t?{explicitId:t.image,explicitIdLocation:this.tokenLocation(t)}:{},arrow:this.visit(this.nodes(e,"arrow")[0]),target:this.visit(this.nodes(e,"entityName")[0])}}arrow(e){return this.visit(this.firstNode(e,"semanticRelation","forwardSolidOperator","backwardSolidOperator","markerlessSolidOperator","forwardCircleOperator","backwardCircleOperator","forwardCrossOperator","backwardCrossOperator"))}edgeLabel(e){return this.nodeLabel(e)}semanticRelation(e){if(this.tokens(e,"GENERALIZATION").length)return{type:"generalization",arrowType:0,minlen:1};let t=this.tokens(e,"INCLUDE").length?"include":"extend",s=this.tokens(e,"include"===t?"INCLUDE":"EXTEND")[0];return{type:t,arrowType:0,label:{text:t,type:"text",span:this.tokenSpan(s)},minlen:1}}metadata(e){return{properties:this.nodes(e,"metadataProperty").map(e=>this.visit(e)),location:this.ctxLocation(e)}}metadataProperty(e){let t=this.allTokens(e).filter(e=>"COLON"!==e.tokenType.name),s=t[0],i=t[1],n="TRUE"===i.tokenType.name||"FALSE"!==i.tokenType.name&&this.decodePlain(i),a=[s.startOffset,(i.endOffset??i.startOffset)+1];return{key:this.decodePlain(s),value:n,span:a,keySpan:this.contentSpan(s),valueSpan:this.contentSpan(i),location:this.tokenLocation(s)}}metadataSeparator(e){}systemBoundaryStatement(e){let t=this.visit(this.nodes(e,"systemBoundaryName")[0]),s=this.nodes(e,"classSuffix")[0],i=s?this.visit(s):{classes:[],spans:[]};t.classes=i.classes,this.builder.addBoundary(t);let n=this.parentBoundary;this.parentBoundary={id:t.id,location:t.location};let a=this.nodes(e,"systemBoundaryContent")[0],r=a?this.visit(a):[];this.parentBoundary=n;let o=this.tokens(e,"END")[0],l=this.nodes(e,"metadata")[0],h=l?this.visit(l):void 0,c={kind:"group",span:[0,0],group:t.id,idSpan:t.location.span,titleSpan:t.label.span,endSpan:this.tokenSpan(o),classSpans:i.spans,...h?{metadata:h.properties.map(({key:e,span:t,keySpan:s,valueSpan:i})=>({key:e,span:t,keySpan:s,valueSpan:i}))}:{},...r.length?{children:r}:{}};return h&&this.builder.addMetadataAssignment(t.id,t.location,h,c),c}systemBoundaryName(e){let t=this.tokens(e,"IDENTIFIER")[0];if(t){let s=this.nodes(e,"nodeLabel")[0];return{id:t.image,label:s?this.visit(s):this.tokenLabel(t),location:this.tokenLocation(t),generated:!1,classes:[]}}let s=this.tokens(e,"PLAIN_STRING")[0]??this.tokens(e,"MARKDOWN_STRING")[0],i=this.tokenLabel(s);return{id:this.generateId(i.text),label:i,location:this.tokenLocation(s),generated:!0,classes:[]}}systemBoundaryContent(e){return[...this.nodes(e,"blankLine"),...this.nodes(e,"commentLine"),...this.nodes(e,"boundaryElement")].sort((e,t)=>(e.location?.startOffset??0)-(t.location?.startOffset??0)).map(e=>this.wrap(e,this.visit(e)))}boundaryElement(e){let t=this.nodes(e,"actorDeclarationOnly")[0];if(t)return this.visit(t);let s=this.nodes(e,"entityName")[0],i=this.visit(s);return i.explicitDeclaration=!0,i.shape??="ellipse",this.builder.addElement(this.entityDraft(i)),{kind:"node",span:[0,0],nodes:[this.entityOccurrence(s,i,!0)]}}metadataAssignmentStatement(e){let t=this.visit(this.nodes(e,"metadataAssignmentTarget")[0]),s=this.visit(this.nodes(e,"metadata")[0]),i={kind:"metadata",span:[0,0],nodes:[{id:t.id,span:t.location.span,idSpan:t.location.span}],metadata:s.properties.map(({key:e,span:t,keySpan:s,valueSpan:i})=>({key:e,span:t,keySpan:s,valueSpan:i}))};return this.builder.addMetadataAssignment(t.id,t.location,s,i),i}metadataAssignmentTarget(e){let t=this.allTokens(e)[0],s=this.tokenLabel(t);return{id:"IDENTIFIER"===t.tokenType.name?t.image:this.generateId(s.text),location:this.tokenLocation(t)}}noteStatement(e){let t=this.tokens(e,"IDENTIFIER")[0],s=this.visit(this.nodes(e,"nodeLabel")[0]);return this.builder.addNote({target:t.image,targetLocation:this.tokenLocation(t),label:s,location:this.ctxLocation(e)}),{kind:"note",span:[0,0],ref:`note-${this.anonymousNote++}`,refSpan:s.span,nodes:[{id:t.image,span:this.tokenSpan(t),idSpan:this.tokenSpan(t)}]}}stereotype(e){let t=this.tokens(e,"STEREOTYPE_TEXT")[0];return{value:t.image.trim(),span:this.tokenSpan(t)}}classSuffix(e){let t=this.tokens(e,"IDENTIFIER");return{classes:t.map(e=>e.image),spans:t.map(e=>this.tokenSpan(e))}}jsonStatement(e){let t=this.tokens(e,"JSON_DECLARATION_START")[0],s=this.tokens(e,"JSON_OBJECT_LITERAL")[0],i=/^json[\t ]+(\w+)/.exec(t.image),n=i[1],a=i[0].length-n.length,r={span:[t.startOffset+a,t.startOffset+a+n.length],line:t.startLine??1,column:(t.startColumn??1)+a},o=at(s.image,s.startLine??1,s.startColumn??1),l=this.nodes(e,"classSuffix")[0],h=l?this.visit(l):{classes:[],spans:[]},c={id:n,value:o.value,propertyOrder:o.propertyOrder,location:r,classes:h.classes};return this.builder.addJson(c),{kind:"json",span:[0,0],nodes:[{id:n,span:r.span,idSpan:r.span,defines:!0,classSpans:h.spans}],classSpans:h.spans}}directionStatement(e){let t=this.allTokens(e).find(e=>["TD","TB","BT","RL","LR"].includes(e.tokenType.name));return this.builder.setDirection(t.image),{kind:"direction",span:[0,0]}}classDefStatement(e){let t=this.tokens(e,"IDENTIFIER"),s=this.visit(this.nodes(e,"styles")[0]);return this.builder.addClassDef(t.map(e=>e.image),s),{kind:"classDef",span:[0,0],ref:t[0].image,refSpan:this.tokenSpan(t[0])}}classStatement(e){let t=this.tokens(e,"IDENTIFIER"),s=1;for(;s<t.length&&this.source.slice((t[s-1].endOffset??t[s-1].startOffset)+1,t[s].startOffset).includes(",");s++);let i=t.slice(0,s).map(e=>({id:e.image,location:this.tokenLocation(e)})),n=t.slice(s).map(e=>e.image);return this.builder.addClassAssignment(i,n),{kind:"classAssign",span:[0,0],ref:n[0],refSpan:this.tokenSpan(t[s]),nodes:i.map(({id:e,location:t})=>({id:e,span:t.span,idSpan:t.span}))}}styleStatement(e){let t=this.tokens(e,"IDENTIFIER")[0],s=this.visit(this.nodes(e,"styles")[0]);return this.builder.addStyleAssignment(t.image,this.tokenLocation(t),s),{kind:"style",span:[0,0],nodes:[{id:t.image,span:this.tokenSpan(t),idSpan:this.tokenSpan(t)}]}}styles(e){return this.nodes(e,"styleValue").map(e=>this.visit(e))}styleValue(e){let t=this.allTokens(e),s=[t[0].startOffset,(t.at(-1).endOffset??t.at(-1).startOffset)+1];return this.source.slice(s[0],s[1]).replaceAll("\\,",",")}styleComponent(e){return this.allTokens(e).map(e=>e.image).join("")}forwardSolidOperator(e){let t=this.tokens(e,"FORWARD_SOLID")[0];return{type:"association",arrowType:0,minlen:this.solidMinlen(t)}}backwardSolidOperator(e){let t=this.tokens(e,"BACKWARD_SOLID")[0],s=this.nodes(e,"edgeLabel")[0],i=s?this.tokens(e,"MARKERLESS_SOLID").at(-1):t;return{type:"association",arrowType:1,minlen:this.solidMinlen(i),...s?{label:this.visit(s)}:{}}}markerlessSolidOperator(e){let t=this.nodes(e,"edgeLabel")[0],s=this.allTokens(e);if(!t)return{type:"association",arrowType:2,minlen:this.solidMinlen(this.tokens(e,"MARKERLESS_SOLID")[0])};let i=s.at(-1),n="FORWARD_SOLID"===i.tokenType.name?0:"FORWARD_CIRCLE"===i.tokenType.name?3:"FORWARD_CROSS"===i.tokenType.name?4:2;return{type:"association",arrowType:n,label:this.visit(t),minlen:0===n||2===n?this.solidMinlen(i):1}}forwardCircleOperator(e){return{type:"association",arrowType:3,minlen:1}}backwardCircleOperator(e){let t=this.nodes(e,"edgeLabel")[0];return{type:"association",arrowType:5,minlen:1,...t?{label:this.visit(t)}:{}}}forwardCrossOperator(e){return{type:"association",arrowType:4,minlen:1}}backwardCrossOperator(e){let t=this.nodes(e,"edgeLabel")[0];return{type:"association",arrowType:6,minlen:1,...t?{label:this.visit(t)}:{}}}actorDraft(e){return{id:e.id,kind:"actor",label:e.label,location:e.location,generated:e.generated,...this.parentBoundary?{parentId:this.parentBoundary.id,parentLocation:this.parentBoundary.location}:{},...e.metadata?{metadata:e.metadata}:{},...e.stereotype?{stereotype:e.stereotype.value,stereotypeSpan:e.stereotype.span}:{},classes:e.classes}}entityDraft(e){return{id:e.id,kind:"usecase",label:e.label,location:e.location,generated:e.generated,...this.parentBoundary?{parentId:this.parentBoundary.id,parentLocation:this.parentBoundary.location}:{},...e.shape?{shape:e.shape}:{},...e.metadata?{metadata:e.metadata}:{},...e.stereotype?{stereotype:e.stereotype.value,stereotypeSpan:e.stereotype.span}:{},classes:e.classes}}endpoint(e,t=e.explicitDeclaration??!0){return{id:e.id,label:e.label,location:e.location,generated:e.generated,declaration:t,classesOnReference:e.classes.length>0}}relationshipDraft(e,t,s){return{source:this.endpoint(e,!0),target:this.endpoint(t.target),location:s,...t.explicitId?{explicitId:t.explicitId,explicitIdLocation:t.explicitIdLocation}:{},...t.arrow}}actorOccurrence(e,t,s){return{id:t.id,span:this.nodeSpan(e),idSpan:t.location.span,labelSpan:t.label.span,...s?{defines:!0}:{},...t.stereotype?{stereotypeSpan:t.stereotype.span}:{},...t.metadata?{metadata:t.metadata.properties.map(({key:e,span:t,keySpan:s,valueSpan:i})=>({key:e,span:t,keySpan:s,valueSpan:i}))}:{},...t.classSpans.length?{classSpans:t.classSpans}:{}}}entityOccurrence(e,t,s){return this.actorOccurrence(e,t,s)}wrap(e,t){if("blank"===t.kind||"comment"===t.kind)return t;for(let s of(t.span=this.nodeSpan(e),t.edges??[]))s.span=t.span;return t}tokenLabel(e){let t="MARKDOWN_STRING"===e.tokenType.name?"markdown":"text",s="markdown"===t?2:+("PLAIN_STRING"===e.tokenType.name),i=this.tokenSpan(e,s);return{text:this.source.slice(i[0],i[1]),type:t,span:i}}decodePlain(e){return"PLAIN_STRING"===e.tokenType.name?e.image.slice(1,-1):e.image}contentSpan(e){return this.tokenSpan(e,"PLAIN_STRING"===e.tokenType.name?1:2*("MARKDOWN_STRING"===e.tokenType.name))}generateId(e){return e.replace(/\W/g,"_")}solidMinlen(e){return Math.max(1,(e.image.match(/-/g)?.length??2)-1)}nodeLocation(e){let t=this.allTokens(e.children)[0];return{span:this.nodeSpan(e),line:t.startLine??1,column:t.startColumn??1}}ctxLocation(e){let t=this.allTokens(e).filter(e=>"NEWLINE"!==e.tokenType.name&&"EOF"!==e.tokenType.name),s=t[0],i=t.at(-1);return{span:[s.startOffset,Math.min(this.source.length,(i.endOffset??i.startOffset+i.image.length-1)+1)],line:s.startLine??1,column:s.startColumn??1}}tokenLocation(e){let t="PLAIN_STRING"===e.tokenType.name?1:2*("MARKDOWN_STRING"===e.tokenType.name);return{span:this.tokenSpan(e,t),line:e.startLine??1,column:(e.startColumn??1)+t}}nodeSpan(e){let t=this.allTokens(e.children).filter(e=>"NEWLINE"!==e.tokenType.name&&"EOF"!==e.tokenType.name),s=t[0],i=t.at(-1);if(!s||!i)throw Error("Usecase CST node has no source token");return[s.startOffset,Math.min(this.source.length,(i.endOffset??i.startOffset+i.image.length-1)+1)]}tokenSpan(e,t=0){return[e.startOffset+t,Math.min(this.source.length,(e.endOffset??e.startOffset+e.image.length-1)+1-t)]}nodes(e,t){return(e[t]??[]).filter(e=>"children"in e)}tokens(e,t){return(e[t]??[]).filter(e=>"tokenTypeIdx"in e)}firstNode(e,...t){for(let s of t){let t=this.nodes(e,s)[0];if(t)return t}throw Error(`Usecase CST is missing one of: ${t.join(", ")}`)}allTokens(e){let t=[];for(let s of Object.values(e))for(let e of s)"tokenTypeIdx"in e?t.push(e):t.push(...this.allTokens(e.children));return t.sort((e,t)=>e.startOffset-t.startOffset)}},aT={parse:(0,y.K)(async e=>{iP.clear(),n5.input=[];try{ie({diagramType:"usecase",lexer:n2,parser:n5,entry:(0,y.K)(()=>n5.start(),"entry"),visit:(0,y.K)(t=>am.build(t,e),"visit")},e)}catch(s){iP.clear();let t=n5.errors[0];if(t){let{token:i}=t,n=Number.isFinite(i.startOffset)?i.startOffset:e.length,a="number"==typeof i.endOffset&&Number.isFinite(i.endOffset)?i.endOffset+1:n,r=i.startLine??e.slice(0,n).split(/\r\n|\r|\n/).length,o=Math.max(e.lastIndexOf("\n",n-1),e.lastIndexOf("\r",n-1)),l=i.startColumn??n-o,h=s instanceof Error?s.message:String(s);throw Error(`${h} at line ${r}, column ${l} [${n},${a})`)}throw s}},"parse")},aA=["point","circle","cross","extension"],aE={usecaseActor:!0,usecaseActorHollow:!0,usecaseActorAwesome:!0,usecaseActorIcon:!0},ag=(0,y.K)((e,t)=>{let[s,i]=[e,t].map(e=>e.replace(/[^\w-]+/g,"_").replace(/^_+|_+$/g,"")||"element");return`usecase-${s}-${i}`},"usecaseDomId"),ay=(0,y.K)(e=>`usecase-${e.replace(/[^\w-]+/g,"_").replace(/^_+|_+$/g,"")||"element"}`,"usecaseNodeDomId"),aL=(0,y.K)((e,t)=>"markdown"!==t?e:(0,m.O6)(e).map(e=>e.map(e=>e.content).join(" ")).join("\n"),"getAccessibleLabel"),aS=(0,y.K)(e=>{let t=aL(e.label??e.id,e.labelType);if(aE[e.shape]){let s=e.actorType&&"normal"!==e.actorType?`${e.actorType} `:"",i=e.business?"business ":"",n=e.stereotype?`, stereotype ${e.stereotype}`:"";return`${i}${s}actor ${t}${n}`}if("note"===e.shape)return`Note for ${e.noteTargetLabel??e.noteTarget??""}: ${t}`;if("usecaseJsonTable"===e.shape){let s=(e.jsonRows??[]).map(e=>`${e.accessibleKey}: ${e.value}`).join("; ");return s?`${t}: ${s}`:t}let s=e.stereotype?`, stereotype ${e.stereotype}`:"";return`${e.business?"business ":""}use case ${t}${s}`},"getUsecaseNodeAccessibleName"),aR=(0,y.K)(e=>`${e.boundaryType} system boundary ${aL(e.label??e.id,e.labelType)}`,"getUsecaseBoundaryAccessibleName"),aN=(0,y.K)(e=>{if("note"===e.relationshipType)return"";let t="association"===e.relationshipType&&e.label?`association ${aL(e.label,e.labelType)}`:e.relationshipType;return`${t} from ${e.sourceLabel} to ${e.targetLabel}`},"getUsecaseEdgeAccessibleName"),aO=(0,y.K)(e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),"escapePlainLabel"),ak=(0,y.K)(e=>e.replace(/([*[\\\]_`])/g,"\\$1"),"escapeMarkdownMarkers"),aI=(0,y.K)((e,t)=>{for(let s of(e.diagramId=t,e.markers=[...aA],e.nodes))if(s.domId=ay(s.id),void 0!==s.label&&"text"===s.labelType&&(s.label=aO(s.label)),s.stereotype&&(s.stereotype=aO(s.stereotype)),s.isGroup||"usecaseJsonTable"!==s.shape||(s.jsonRows=s.jsonRows?.map(e=>({...e,key:aO(e.key),value:aO(e.value)}))),!s.isGroup&&("usecaseEllipse"===s.shape||"rect"===s.shape)&&s.stereotype){let e=s.label??aO(s.id);s.label=`\xab${ak(s.stereotype)}\xbb<br/>${"text"===s.labelType?ak(e):e}`,s.labelType="markdown",s.hasFoldedStereotype=!0,delete s.stereotype}for(let t of e.edges)void 0!==t.label&&"text"===t.labelType&&(t.label=aO(t.label));return e},"prepareUsecaseLayoutData"),aC=(0,y.K)((e,t,s)=>{for(let i of t.nodes){let n="string"==typeof i.domId?i.domId:ag(t.diagramId,i.id),a=e.select(`#${n}`),r=i.isGroup?"boundary":aE[i.shape]?"actor":"note"===i.shape?"note":"usecaseJsonTable"===i.shape?"json":"usecase",o=s.nodes.get(i.id)??i.id;if(a.attr("data-usecase-id",i.id).attr("data-usecase-kind",r).attr("role","img").attr("aria-label",o),!i.isGroup&&("usecaseEllipse"===i.shape||"rect"===i.shape)&&"hasFoldedStereotype"in i&&!0===i.hasFoldedStereotype){let e=a.node(),t=e?.querySelector(".nodeLabel"),s=t?.querySelector("p")??t,i=s?.firstChild;if(s&&i?.nodeType===3){let e=s.ownerDocument.createElement("span");e.className="usecase-stereotype",s.insertBefore(e,i),e.appendChild(i)}else e?.querySelector(".label tspan tspan, .label tspan")?.classList.add("usecase-stereotype")}}let i=new Map(t.edges.map(e=>[e.id,e]));e.selectAll('path[data-et="edge"]').each(function(){let e=i.get(this.getAttribute("data-id")??"");if(!e)return;let n=(0,s7.Ltv)(this);n.attr("id",ag(t.diagramId,e.id)).attr("data-usecase-id",e.id).attr("data-usecase-kind",e.internal?"note-connector":"relationship"),e.internal?n.attr("aria-hidden","true"):n.attr("role","img").attr("aria-label",s.edges.get(e.id)??e.id)})},"annotateUsecaseElements"),ab=(0,y.K)((e,t)=>{e.style("--mermaid-usecase-actor-font-size",`${t.actorFontSize}px`).style("--mermaid-usecase-actor-font-family",t.actorFontFamily).style("--mermaid-usecase-actor-font-weight",t.actorFontWeight).style("--mermaid-usecase-font-size",`${t.usecaseFontSize}px`).style("--mermaid-usecase-font-family",t.usecaseFontFamily).style("--mermaid-usecase-font-weight",t.usecaseFontWeight)},"applyUsecaseFonts"),av=(0,y.K)(async(e,t,s,i)=>{g.R.info("Drawing usecase diagram (unified)",t);let{layout:n}=(0,E.D7)(),a=i.db,r=a.getData(),o=new Map(r.nodes.map(e=>[e.id,aL(e.label??e.id,e.labelType)])),l={nodes:new Map(r.nodes.map(e=>[e.id,e.isGroup?aR(e):aS("note"===e.shape?{...e,noteTargetLabel:o.get(e.noteTarget??"")}:e)])),edges:new Map(r.edges.map(e=>[e.id,aN({...e,sourceLabel:o.get(e.source)??e.sourceLabel,targetLabel:o.get(e.target)??e.targetLabel})]))},h=(0,u.A)(t,r.config.securityLevel);r.layoutAlgorithm=(0,f.q7)(n),aI(r,t),ab(h,r),await (0,f.XX)(r,h),aC(h,r,l);let c=r.diagramPadding;A._K.insertTitle(h,"usecaseDiagramTitleText",0,a.getDiagramTitle?.()??""),(0,p.P)(h,c,"usecaseDiagram",r.useMaxWidth),ab(h,r)},"draw"),a_=(0,y.K)(e=>({actorBkg:e.usecaseActorBkg??e.actorBkg??e.mainBkg,actorBorder:e.usecaseActorBorder??e.actorBorder??e.primaryColor,bkg:e.usecaseBkg??e.mainBkg,border:e.usecaseBorder??e.nodeBorder??e.primaryColor,boundaryBkg:e.usecaseBoundaryBkg??e.clusterBkg,boundaryBorder:e.usecaseBoundaryBorder??e.clusterBorder,includeLine:e.usecaseIncludeLine??e.lineColor,extendLine:e.usecaseExtendLine??e.lineColor}),"roleColors"),ax=(0,y.K)(e=>{let{theme:t,bkgColorArray:s,borderColorArray:i}=e;if(!(0,T.P1)(t,i))return"";let n=(0,E.zj)().usecase?.colorScheme==="rotate",a=(0,T.rq)(e.look),r="handDrawn"===a,o=(0,T.Ic)(s),l="";for(let e=0;e<(0,T.Hu)(i);e++){let t=i[e],h=o?`fill: ${s[e%s.length]};`:"",c=`[data-look="${a}"][data-color-id="color-${e}"]`;l+=` + + & ${c}.system-boundary rect.boundary-body, + & ${c}.system-boundary rect.boundary-tab, + & ${c}.system-boundary .boundary-body path, + & ${c}.system-boundary .boundary-tab path { + stroke: ${t}; + ${h} + } + `,n&&(l+=` + + /* Use case bodies -- \`.usecase-element\` covers the ellipse form, the \`[Rect]\` form and + the business variant. + + Element selectors only, never a bare \`path\`. Under the handDrawn look roughjs draws + the body as a *pair* of paths, an outline stroked in the border colour and a hachure + fill stroked in the background colour, with no class to tell them apart. Stroking + both repaints the fill lines as border colour and the shape collapses into a solid + block -- which is what \`.usecase-element path\` did. So handDrawn bodies keep the + theme's uniform colours, exactly as handDrawn flowchart nodes do. */ + & ${c}.usecase-element ellipse, + & ${c}.usecase-element rect { + stroke: ${t}; + ${h} + } + + /* The business marker is a single classed path, so it can be reached safely by name -- + without it the marker keeps the uniform border beside a palette-coloured body. No + \`fill\`: the marker is drawn with \`fill="none"\` and has to stay that way. */ + & ${c}.usecase-element .usecase-business-marker { + stroke: ${t}; + } + + /* Actor glyphs, mirroring the uniform rule further down. The fill goes on the glyph + group, never on its children, so the hollow variant's own \`fill="none"\` keeps + winning and a hollow actor stays hollow. Same reason as above for not descending + into the handDrawn paths. */ + & ${c}.usecase-actor .usecase-actor-shape, + & ${c}.usecase-actor .usecase-actor-hollow, + & ${c}.usecase-actor .usecase-actor-awesome, + & ${c}.usecase-actor .usecase-actor-icon { + stroke: ${t}; + ${h} + } +${r?"":` + /* The group rule above reaches the glyph by inheritance, which the neo look breaks: it + ships a \`[data-look="neo"].node path { stroke }\` rule that hits the glyph's own paths, + and a value set directly on the child always beats one inherited from the parent, + whatever the parent rule's specificity. So name the children too. + + Emitted for every look *except* handDrawn, where roughjs draws the glyph as an + outline path plus a hachure fill path stroked in the fill colour, indistinguishable + in CSS -- stroking both turns a hollow actor into a solid disc. Deliberately no + \`fill\` either way, so the hollow variant's own \`fill="none"\` keeps winning. */ + & ${c}.usecase-actor .usecase-actor-glyph path, + & ${c}.usecase-actor .usecase-actor-glyph circle { + stroke: ${t}; + } +`} + `)}return l},"genColor"),aU={parser:aT,db:iP,renderer:{draw:av},styles:(0,y.K)(e=>{let t=a_(e),s="handDrawn"===(0,T.rq)(e.look);return` + ${ax(e)} + & .usecase-actor { + color: ${e.actorTextColor??e.primaryTextColor}; + } + + & .usecase-actor-shape, + & .usecase-actor-hollow, + & .usecase-actor-awesome, + & .usecase-actor-icon { + fill: ${t.actorBkg}; + stroke: ${t.actorBorder}; + stroke-width: 2px; + } +${s?"":` + /* The rule above colours the glyph group and lets its children inherit, which the neo + look breaks: it ships a \`[data-look="neo"].node path { stroke }\` rule that lands on + the glyph's own paths, and a value set directly on a child always beats one inherited + from its parent, whatever the parent rule's specificity. Since neo is the default look, + without this every actor renders in the node border colour rather than the actor + colour the rule above asks for. + + \`.node\` is in the selector to outrank that neo rule rather than tie with it: both + would otherwise be one attribute plus one class plus one element, leaving the winner to + depend on which stylesheet is concatenated last. + + Stroke only: the hollow variant's own \`fill="none"\` has to keep winning. */ + & .node.usecase-actor .usecase-actor-glyph path, + & .node.usecase-actor .usecase-actor-glyph circle { + stroke: ${t.actorBorder}; + } +`} + & .usecase-actor .nodeLabel, + & .actor-label { + color: ${e.actorTextColor??e.primaryTextColor}; + fill: ${e.actorTextColor??e.primaryTextColor}; + font-family: var(--mermaid-usecase-actor-font-family, ${e.fontFamily}); + font-size: var(--mermaid-usecase-actor-font-size, 14px); + font-weight: var(--mermaid-usecase-actor-font-weight, normal); + } + + & .usecase-element ellipse, + & .usecase-element rect, + & .usecase-business ellipse, + & .usecase-business rect { + fill: ${t.bkg}; + stroke: ${t.border}; + stroke-width: 2px; + } +${s?"":` + /* The same interception the actor glyph hits, one element down: neo ships + \`[data-look="neo"].node rect { stroke: nodeBorder }\`, which outranks the plain + \`.usecase-element rect\` above, so a use case written in the \`[Rect]\` form kept the node + border colour while its ellipse siblings took the role colour. An \`<ellipse>\` has no + equivalent neo rule and is already correct; restating it here costs nothing and means + the two forms cannot drift apart again. + + Qualified with \`[data-look]\` *and* \`.node\` to land strictly above that rule rather than + tie with it -- on a tie the later stylesheet would win, which is how neo took this in + the first place. Skipped under handDrawn, where roughjs draws paths and neither element + exists. */ + & [data-look="${(0,T.rq)(e.look)}"].node.usecase-element ellipse, + & [data-look="${(0,T.rq)(e.look)}"].node.usecase-element rect { + fill: ${t.bkg}; + stroke: ${t.border}; + } + + /* The business marker is a \`<path>\`, so it loses to \`[data-look="neo"].node path\` the same + way. No \`fill\`: the marker is drawn with \`fill="none"\` and has to stay that way. */ + & [data-look="${(0,T.rq)(e.look)}"].node.usecase-element .usecase-business-marker { + stroke: ${t.border}; + } +`} + & .usecase-element .nodeLabel, + & .usecase-label { + color: ${e.primaryTextColor}; + fill: ${e.primaryTextColor}; + font-family: var(--mermaid-usecase-font-family, ${e.fontFamily}); + font-size: var(--mermaid-usecase-font-size, 12px); + font-weight: var(--mermaid-usecase-font-weight, normal); + } + + & .usecase-stereotype, + & .usecase-business-marker { + color: ${e.primaryTextColor}; + fill: ${e.primaryTextColor}; + stroke: ${t.border}; + } + + & .system-boundary rect.boundary-body, + & .system-boundary rect.boundary-tab, + & .system-boundary-package-tab { + fill: ${t.boundaryBkg}; + stroke: ${t.boundaryBorder}; + stroke-width: 1px; + } + + & .system-boundary-title text { + fill: ${e.titleColor??e.primaryTextColor}; + } + + /* Only the span, never the <p> inside it: the renderer puts a user-supplied + 'color' on the span, and that has to stay inheritable by its children. */ + & .system-boundary-title span { + color: ${e.titleColor??e.primaryTextColor}; + } + + & .usecase-note { + fill: ${e.noteBkgColor}; + stroke: ${e.noteBorderColor}; + color: ${e.noteTextColor}; + } + + & .usecase-note .nodeLabel { + color: ${e.noteTextColor}; + fill: ${e.noteTextColor}; + } + + & .usecase-json-table, + & .usecase-json-table rect, + & .usecase-json-cell { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder??e.primaryColor}; + } + + & .usecase-json-title, + & .usecase-json-key, + & .usecase-json-value { + color: ${e.primaryTextColor}; + fill: ${e.primaryTextColor}; + } + + & .relationship { + fill: none; + stroke: ${e.lineColor}; + } + + & .relationship-include, + & .relationship-extend, + & .relationship-note { + stroke-dasharray: 3; + } + + /* Include and extend are both dashed, which is a weak distinction at small sizes. The + tokens default to \`lineColor\`, so a theme that does not set them is unchanged. */ + & .relationship-include { + stroke: ${t.includeLine}; + } + + & .relationship-extend { + stroke: ${t.extendLine}; + } + + & .relationship.edge-animation-fast, + & .relationship.edge-animation-slow { + stroke-linecap: round; + } + + & .edgeLabel, + & .edgeLabel p { + background-color: ${e.edgeLabelBackground}; + } + + & .labelBkg { + background-color: ${e.edgeLabelBackground}; + padding: 0 2px; + } + + & .edgeLabel .label rect { + fill: ${e.edgeLabelBackground}; + } + + & .relationship-label, + & .edgeLabel { + color: ${e.primaryTextColor}; + fill: ${e.primaryTextColor}; + font-family: ${e.fontFamily}; + font-size: 10px; + font-weight: normal; + } + + & .marker, + & .marker.point, + & .marker.circle, + & .marker.cross { + fill: ${e.lineColor}; + stroke: ${e.lineColor}; + } + + & .marker.extension { + fill: ${e.mainBkg}; + stroke: ${e.lineColor}; + } +`},"getStyles")}}}]); \ No newline at end of file diff --git a/assets/js/9e4087bc.294903d8.js b/assets/js/9e4087bc.294903d8.js new file mode 100644 index 0000000..56548ee --- /dev/null +++ b/assets/js/9e4087bc.294903d8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9660"],{7243(e,r,a){a.r(r),a.d(r,{default:()=>m});var t=a(4848);a(6540);var i=a(5310),s=a(568),n=a(4308),l=a(7954),c=a(6525),d=a(2072);function h({year:e,posts:r}){let a=(0,l.i)({day:"numeric",month:"long",timeZone:"UTC"});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.A,{as:"h3",id:e,children:e}),(0,t.jsx)("ul",{children:r.map(e=>{let r;return(0,t.jsx)("li",{children:(0,t.jsxs)(i.A,{to:e.metadata.permalink,children:[(r=e.metadata.date,a.format(new Date(r)))," - ",e.metadata.title]})},e.metadata.date)})})]})}function o({years:e}){return(0,t.jsx)("section",{className:"margin-vert--lg",children:(0,t.jsx)("div",{className:"container",children:(0,t.jsx)("div",{className:"row",children:e.map((e,r)=>(0,t.jsx)("div",{className:"col col--4 margin-vert--lg",children:(0,t.jsx)(h,{...e})},r))})})})}function m({archive:e}){let r=(0,s.T)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),a=(0,s.T)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),i=Array.from(e.blogPosts.reduce((e,r)=>{let a=r.metadata.date.split("-")[0],t=e.get(a)??[];return e.set(a,[r,...t])},new Map),([e,r])=>({year:e,posts:r}));return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.be,{title:r,description:a}),(0,t.jsxs)(c.A,{children:[(0,t.jsx)("header",{className:"hero hero--primary",children:(0,t.jsxs)("div",{className:"container",children:[(0,t.jsx)(d.A,{as:"h1",className:"hero__title",children:r}),(0,t.jsx)("p",{className:"hero__subtitle",children:a})]})}),(0,t.jsx)("main",{children:i.length>0&&(0,t.jsx)(o,{years:i})})]})]})}},7954(e,r,a){a.d(r,{i:()=>i});var t=a(898);function i(e={}){let{i18n:{currentLocale:r}}=(0,t.A)(),a=function(){let{i18n:{currentLocale:e,localeConfigs:r}}=(0,t.A)();return r[e].calendar}();return new Intl.DateTimeFormat(r,{calendar:a,...e})}}}]); \ No newline at end of file diff --git a/assets/js/a110d8f6.d73a88c4.js b/assets/js/a110d8f6.d73a88c4.js new file mode 100644 index 0000000..3fb5ef7 --- /dev/null +++ b/assets/js/a110d8f6.d73a88c4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7503"],{1412(e,r,t){t.r(r),t.d(r,{metadata:()=>a,default:()=>d,frontMatter:()=>l,contentTitle:()=>i,toc:()=>c,assets:()=>o});var a=JSON.parse('{"id":"core/parameter-compile","title":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","description":"\u63D0\u53D6 SELECT \u52A8\u6001\u53C2\u6570\u5E76\u751F\u6210 JDBC \u9884\u7F16\u8BD1 SQL","source":"@site/docs/core/parameter-compile.md","sourceDirName":"core","slug":"/core/parameter-compile","permalink":"/SqlParserX/docs/next/core/parameter-compile","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/parameter-compile.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"title":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","description":"\u63D0\u53D6 SELECT \u52A8\u6001\u53C2\u6570\u5E76\u751F\u6210 JDBC \u9884\u7F16\u8BD1 SQL","sidebar_label":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","sidebar_position":6},"sidebar":"docs","previous":{"title":"\u51FD\u6570\u89E3\u6790","permalink":"/SqlParserX/docs/next/core/function-parse"},"next":{"title":"\u8D21\u732E\u6307\u5357","permalink":"/SqlParserX/docs/next/contributing"}}'),s=t(4848),n=t(8453);let l={title:"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1",description:"\u63D0\u53D6 SELECT \u52A8\u6001\u53C2\u6570\u5E76\u751F\u6210 JDBC \u9884\u7F16\u8BD1 SQL",sidebar_label:"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1",sidebar_position:6},i="\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1",o={},c=[{value:"\u8FD4\u56DE\u5185\u5BB9",id:"\u8FD4\u56DE\u5185\u5BB9",level:2}];function p(e){let r={code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1",children:"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1"})}),"\n",(0,s.jsxs)(r.p,{children:["SqlParserX \u53EF\u8BC6\u522B SELECT \u4E2D\u7684 ",(0,s.jsx)(r.code,{children:"${\u53D8\u91CF}"}),"\uFF0C\u8FD4\u56DE\u8F93\u5165\u53C2\u6570\u548C\u8F93\u51FA\u5B57\u6BB5\uFF1B\u4F20\u5165\u53C2\u6570\u503C\u540E\uFF0C\u53EF\u751F\u6210 JDBC ",(0,s.jsx)(r.code,{children:"?"})," \u5360\u4F4D\u7B26 SQL \u4E0E\u6309\u51FA\u73B0\u987A\u5E8F\u6392\u5217\u7684\u7ED1\u5B9A\u503C\u3002"]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-java",metastring:'title="ParameterCompileDemo.java"',children:'import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType;\nimport com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult;\nimport com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult;\n\nimport java.util.Collections;\nimport java.util.HashMap;\nimport java.util.Map;\n\nISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);\nString sql = "SELECT id, name FROM users "\n + "WHERE dt = \'${bizdate}\' AND region = \'${region}\'";\n\n// \u7B2C\u4E00\u6B65\uFF1A\u63D0\u53D6\u8F93\u5165\u53C2\u6570\u4E0E\u8F93\u51FA\u5B57\u6BB5\nParseParameterResult parsed = parser.parseParameterSql(\n sql, false, Collections.emptyMap());\nparsed.getInputParams().forEach(param ->\n System.out.println(param.getName() + " / " + param.getSqlPart()));\n\n// \u7B2C\u4E8C\u6B65\uFF1A\u4F20\u5165\u53C2\u6570\u503C\u5E76\u751F\u6210\u9884\u7F16\u8BD1 SQL\nMap<String, Object> values = new HashMap<>();\nvalues.put("bizdate", "20261014");\nvalues.put("region", "hangzhou");\n\nPrepareCompileResult compiled = parser.buildSqlByPrepareCompile(\n sql, values, Collections.emptyMap());\nSystem.out.println(compiled.getBeautifulSql());\nSystem.out.println(compiled.getInputFields());\n'})}),"\n",(0,s.jsx)(r.p,{children:"\u8F93\u51FA\u793A\u4F8B\uFF1A"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-text",children:"SELECT id, name FROM users WHERE dt = ? AND region = ?\n[20261014, hangzhou]\n"})}),"\n",(0,s.jsx)(r.h2,{id:"\u8FD4\u56DE\u5185\u5BB9",children:"\u8FD4\u56DE\u5185\u5BB9"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"\u9636\u6BB5"}),(0,s.jsx)(r.th,{children:"\u8FD4\u56DE\u5185\u5BB9"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"\u53C2\u6570\u63D0\u53D6"}),(0,s.jsx)(r.td,{children:"\u8F93\u5165\u53C2\u6570\u540D\u79F0\u3001\u7C7B\u578B\u3001\u662F\u5426\u5FC5\u586B\u3001\u9ED8\u8BA4\u503C\u3001SQL \u7247\u6BB5\u4EE5\u53CA\u8F93\u51FA\u5B57\u6BB5"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"\u9884\u7F16\u8BD1"}),(0,s.jsx)(r.td,{children:"\u683C\u5F0F\u5316\u540E\u7684\u5360\u4F4D\u7B26 SQL \u4E0E\u6709\u5E8F\u7ED1\u5B9A\u503C\u5217\u8868"})]})]})]}),"\n",(0,s.jsx)(r.p,{children:"\u5F53\u524D\u901A\u7528\u5B9E\u73B0\u9762\u5411 SELECT\uFF1B\u6392\u5E8F\u3001\u5206\u7EC4\u7B49\u6807\u8BC6\u7B26\u4F4D\u7F6E\u7684\u53D8\u91CF\u4F1A\u4EE5\u5185\u8054\u65B9\u5F0F\u5904\u7406\u3002"})]})}function d(e={}){let{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453(e,r,t){t.d(r,{R:()=>l,x:()=>i});var a=t(6540);let s={},n=a.createContext(s);function l(e){let r=a.useContext(n);return a.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),a.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a6aa9e1f.5f4ef81b.js b/assets/js/a6aa9e1f.5f4ef81b.js new file mode 100644 index 0000000..aee5f9d --- /dev/null +++ b/assets/js/a6aa9e1f.5f4ef81b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7496"],{2152(e,t,r){r.r(t),r.d(t,{default:()=>j});var n=r(4848);r(6540);var a=r(4164),s=r(898),l=r(4308),i=r(8287),o=r(8579),c=r(4553),d=r(4175),m=r(284),u=r(3572),g=r(7645);function h(e){let t=(0,g.kJ)(e);return(0,n.jsx)(u.A,{children:(0,n.jsx)("script",{type:"application/ld+json",children:JSON.stringify(t)})})}function x(e){let{metadata:t}=e,{siteConfig:{title:r}}=(0,s.A)(),{blogDescription:a,blogTitle:i,permalink:o}=t;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.be,{title:"/"===o?r:i,description:a}),(0,n.jsx)(d.A,{tag:"blog_posts_list"})]})}function p(e){let{metadata:t,items:r,sidebar:a}=e;return(0,n.jsxs)(o.A,{sidebar:a,children:[(0,n.jsx)(m.A,{items:r}),(0,n.jsx)(c.A,{metadata:t})]})}function j(e){return(0,n.jsxs)(l.e3,{className:(0,a.A)(i.G.wrapper.blogPages,i.G.page.blogListPage),children:[(0,n.jsx)(x,{...e}),(0,n.jsx)(h,{...e}),(0,n.jsx)(p,{...e})]})}},4553(e,t,r){r.d(t,{A:()=>l});var n=r(4848);r(6540);var a=r(568),s=r(7174);function l(e){let{metadata:t}=e,{previousPage:r,nextPage:l}=t;return(0,n.jsxs)("nav",{className:"pagination-nav","aria-label":(0,a.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[r&&(0,n.jsx)(s.A,{permalink:r,title:(0,n.jsx)(a.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),l&&(0,n.jsx)(s.A,{permalink:l,title:(0,n.jsx)(a.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},4533(e,t,r){r.d(t,{A:()=>R});var n=r(4848);r(6540);var a=r(4164),s=r(7645);function l({children:e,className:t}){return(0,n.jsx)("article",{className:t,children:e})}var i=r(5310);function o({className:e}){let{metadata:t,isBlogPostPage:r}=(0,s.e7)(),{permalink:l,title:c}=t;return(0,n.jsx)(r?"h1":"h2",{className:(0,a.A)("title_f1Hy",e),children:r?c:(0,n.jsx)(i.A,{to:l,children:c})})}var c=r(568),d=r(8878),m=r(7954);function u({readingTime:e}){let t=function(){let{selectMessage:e}=(0,d.W)();return t=>{let r=Math.ceil(t);return e(r,(0,c.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:r}))}}();return(0,n.jsx)(n.Fragment,{children:t(e)})}function g({date:e,formattedDate:t}){return(0,n.jsx)("time",{dateTime:e,children:t})}function h(){return(0,n.jsx)(n.Fragment,{children:" \xb7 "})}function x({className:e}){let{metadata:t}=(0,s.e7)(),{date:r,readingTime:l}=t,i=(0,m.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,n.jsxs)("div",{className:(0,a.A)("container_mt6G","margin-vert--md",e),children:[(0,n.jsx)(g,{date:r,formattedDate:i.format(new Date(r))}),void 0!==l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(h,{}),(0,n.jsx)(u,{readingTime:l})]})]})}var p=r(6947);function j({className:e}){let{metadata:{authors:t},assets:r}=(0,s.e7)();if(0===t.length)return null;let l=t.every(({name:e})=>!e),i=1===t.length;return(0,n.jsx)("div",{className:(0,a.A)("margin-top--md margin-bottom--sm",l?"imageOnlyAuthorRow_pa_O":"row",e),children:t.map((e,t)=>(0,n.jsx)("div",{className:(0,a.A)(!l&&(i?"col col--12":"col col--6"),l?"imageOnlyAuthorCol_G86a":"authorCol_Hf19"),children:(0,n.jsx)(p.A,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t))})}function f(){return(0,n.jsxs)("header",{children:[(0,n.jsx)(o,{}),(0,n.jsx)(x,{}),(0,n.jsx)(j,{})]})}var A=r(5248),b=r(4743);function v({children:e,className:t}){let{isBlogPostPage:r}=(0,s.e7)();return(0,n.jsx)("div",{id:r?A.blogPostContainerID:void 0,className:(0,a.A)("markdown",t),children:(0,n.jsx)(b.A,{children:e})})}var N=r(8287),w=r(7410),T=r(4999);function k(){return(0,n.jsx)("b",{children:(0,n.jsx)(c.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function y(e){let{blogPostTitle:t,...r}=e;return(0,n.jsx)(i.A,{"aria-label":(0,c.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...r,children:(0,n.jsx)(k,{})})}function _(){let{metadata:e,isBlogPostPage:t}=(0,s.e7)(),{tags:r,title:l,editUrl:i,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,m=!t&&o,u=r.length>0;if(!(u||m||i))return null;if(!t)return(0,n.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[u&&(0,n.jsx)("div",{className:(0,a.A)("col",{"col--9":m}),children:(0,n.jsx)(T.A,{tags:r})}),m&&(0,n.jsx)("div",{className:(0,a.A)("col text--right",{"col--3":u}),children:(0,n.jsx)(y,{blogPostTitle:l,to:e.permalink})})]});{let e=!!(i||d||c);return(0,n.jsxs)("footer",{className:"docusaurus-mt-lg",children:[u&&(0,n.jsx)("div",{className:(0,a.A)("row","margin-top--sm",N.G.blog.blogFooterEditMetaRow),children:(0,n.jsx)("div",{className:"col",children:(0,n.jsx)(T.A,{tags:r})})}),e&&(0,n.jsx)(w.A,{className:(0,a.A)("margin-top--sm",N.G.blog.blogFooterEditMetaRow),editUrl:i,lastUpdatedAt:d,lastUpdatedBy:c})]})}}function R({children:e,className:t}){let r=function(){let{isBlogPostPage:e}=(0,s.e7)();return e?void 0:"margin-bottom--xl"}();return(0,n.jsxs)(l,{className:(0,a.A)(r,t),children:[(0,n.jsx)(f,{}),(0,n.jsx)(v,{children:e}),(0,n.jsx)(_,{})]})}},284(e,t,r){r.d(t,{A:()=>l});var n=r(4848);r(6540);var a=r(7645),s=r(4533);function l({items:e,component:t=s.A}){return(0,n.jsx)(n.Fragment,{children:e.map(({content:e})=>(0,n.jsx)(a.in,{content:e,children:(0,n.jsx)(t,{children:(0,n.jsx)(e,{})})},e.metadata.permalink))})}}}]); \ No newline at end of file diff --git a/assets/js/a7456010.5acfbe30.js b/assets/js/a7456010.5acfbe30.js new file mode 100644 index 0000000..eca926d --- /dev/null +++ b/assets/js/a7456010.5acfbe30.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3056"],{8552(s){s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.f3b25130.js b/assets/js/a7bd4aaa.f3b25130.js new file mode 100644 index 0000000..786ba51 --- /dev/null +++ b/assets/js/a7bd4aaa.f3b25130.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5575"],{8146(e,n,s){s.r(n),s.d(n,{default:()=>u});var r=s(4848);s(6540);var t=s(4308),a=s(921),l=s(2831),o=s(4175);function c(e){var n,s;let{version:a}=e;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.A,{version:a.version,tag:(n=a.pluginId,s=a.version,`docs-${n}-${s}`)}),(0,r.jsx)(t.be,{children:a.noIndex&&(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function i(e){let{version:n,route:s}=e;return(0,r.jsx)(t.e3,{className:n.className,children:(0,r.jsx)(a.n,{version:n,children:(0,l.v)(s.routes)})})}function u(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c,{...e}),(0,r.jsx)(i,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.0bcffcab.js b/assets/js/a94703ab.0bcffcab.js new file mode 100644 index 0000000..7438a96 --- /dev/null +++ b/assets/js/a94703ab.0bcffcab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6785"],{1399(e,t,n){n.r(t),n.d(t,{default:()=>ea});var a=n(4848),i=n(6540),r=n(4164),s=n(4308),l=n(8287),o=n(8260),d=n(2473),c=n(568),u=n(8584),m=n(8398);function b(){let{shown:e,scrollToTop:t}=function({threshold:e}){let[t,n]=(0,i.useState)(!1),a=(0,i.useRef)(!1),{startScroll:r,cancelScroll:s}=(0,u.gk)();return(0,u.Mq)(({scrollY:t},i)=>{let r=i?.scrollY;r&&(a.current?a.current=!1:t>=r?(s(),n(!1)):t<e?n(!1):t+window.innerHeight<document.documentElement.scrollHeight&&n(!0))}),(0,m.$)(e=>{e.location.hash&&(a.current=!0,n(!1))}),{shown:t,scrollToTop:()=>r(0)}}({threshold:300});return(0,a.jsx)("button",{"aria-label":(0,c.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,r.A)("clean-btn",l.G.common.backToTopButton,"backToTopButton_sjWU",e&&"backToTopButtonShow_xfvO"),type:"button",onClick:t})}var h=n(269),p=n(6347),x=n(3741),j=n(1022),f=n(5153);function _(e){return(0,a.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,a.jsxs)("g",{fill:"#7a7a7a",children:[(0,a.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,a.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}function g({onClick:e}){return(0,a.jsx)("button",{type:"button",title:(0,c.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,r.A)("button button--secondary button--outline","collapseSidebarButton_PEFL"),onClick:e,children:(0,a.jsx)(_,{className:"collapseSidebarButtonIcon_kv0_"})})}var v=n(3337),A=n(2260);let k=Symbol("EmptyContext"),C=i.createContext(k);function N({children:e}){let[t,n]=(0,i.useState)(null),r=(0,i.useMemo)(()=>({expandedItem:t,setExpandedItem:n}),[t]);return(0,a.jsx)(C.Provider,{value:r,children:e})}var S=n(9510),T=n(9209),y=n(5310),I=n(9863),L=n(8310),w=n(7715);function B({label:e}){return(0,a.jsx)("span",{className:"linkLabel_WmDU",children:e})}function M({item:e,onItemClick:t,activePath:n,level:i,index:s,...d}){let{href:c,label:u,className:m,autoAddBaseUrl:b}=e,h=(0,o.w8)(e,n),p=(0,L.A)(c);return(0,a.jsx)("li",{className:(0,r.A)(l.G.docs.docSidebarItemLink,l.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,a.jsxs)(y.A,{className:(0,r.A)("menu__link",!p&&"menuExternalLink_NmtK",{"menu__link--active":h}),autoAddBaseUrl:b,"aria-current":h?"page":void 0,to:c,...p&&{onClick:t?()=>t(e):void 0},...d,children:[(0,a.jsx)(B,{label:u}),!p&&(0,a.jsx)(w.A,{})]})},u)}function E({collapsed:e,categoryLabel:t,onClick:n}){return(0,a.jsx)("button",{"aria-label":e?(0,c.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:t}):(0,c.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:t}),"aria-expanded":!e,type:"button",className:"clean-btn menu__caret",onClick:n})}function G({label:e}){return(0,a.jsx)("span",{className:"categoryLinkLabel_W154",children:e})}function H(e){return 0===(0,o.Y)(e.item.items,e.activePath).length?(0,a.jsx)(W,{...e}):(0,a.jsx)(D,{...e})}function W({item:e,...t}){if("string"!=typeof e.href)return null;let{type:n,collapsed:i,collapsible:r,items:s,linkUnlisted:l,...o}=e,d={type:"link",...o};return(0,a.jsx)(M,{item:d,...t})}function D({item:e,onItemClick:t,activePath:n,level:s,index:d,...c}){let u,{items:m,label:b,collapsible:h,className:p,href:x}=e,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.p)(),_=(u=(0,I.A)(),(0,i.useMemo)(()=>e.href&&!e.linkUnlisted?e.href:!u&&e.collapsible?(0,o.Nr)(e):void 0,[e,u])),g=(0,o.w8)(e,n),v=(0,T.ys)(x,n),{collapsed:N,setCollapsed:L}=(0,S.u)({initialState:()=>!!h&&!g&&e.collapsed}),{expandedItem:w,setExpandedItem:B}=function(){let e=(0,i.useContext)(C);if(e===k)throw new A.dV("DocSidebarItemsExpandedStateProvider");return e}(),M=(e=!N)=>{B(e?null:d),L(e)};return!function({isActive:e,collapsed:t,updateCollapsed:n,activePath:a}){let r=(0,A.ZC)(e),s=(0,A.ZC)(a);(0,i.useEffect)(()=>{let i=e&&!r,l=e&&r&&a!==s;(i||l)&&t&&n(!1)},[e,r,t,n,a,s])}({isActive:g,collapsed:N,updateCollapsed:M,activePath:n}),(0,i.useEffect)(()=>{h&&null!=w&&w!==d&&f&&L(!0)},[h,w,d,L,f]),(0,a.jsxs)("li",{className:(0,r.A)(l.G.docs.docSidebarItemCategory,l.G.docs.docSidebarItemCategoryLevel(s),"menu__list-item",{"menu__list-item--collapsed":N},p),children:[(0,a.jsxs)("div",{className:(0,r.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,a.jsx)(y.A,{className:(0,r.A)("categoryLink_byQd","menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":g}),onClick:n=>{t?.(e),h&&(x?v?(n.preventDefault(),M()):M(!1):(n.preventDefault(),M()))},"aria-current":v?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!N:void 0,href:h?_??"#":_,...c,children:(0,a.jsx)(G,{label:b})}),x&&h&&(0,a.jsx)(E,{collapsed:N,categoryLabel:b,onClick:e=>{e.preventDefault(),M()}})]}),(0,a.jsx)(S.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:N,children:(0,a.jsx)(F,{items:m,tabIndex:N?-1:0,onItemClick:t,activePath:n,level:s+1})})]})}function P({item:e,level:t,index:n}){let{value:i,defaultStyle:s,className:o}=e;return(0,a.jsx)("li",{className:(0,r.A)(l.G.docs.docSidebarItemLink,l.G.docs.docSidebarItemLinkLevel(t),s&&["menuHtmlItem_M9Kj","menu__list-item"],o),dangerouslySetInnerHTML:{__html:i}},n)}function R({item:e,...t}){switch(e.type){case"category":return(0,a.jsx)(H,{item:e,...t});case"html":return(0,a.jsx)(P,{item:e,...t});default:return(0,a.jsx)(M,{item:e,...t})}}let F=(0,i.memo)(function({items:e,...t}){let n=(0,o.Y)(e,t.activePath);return(0,a.jsx)(N,{children:n.map((e,n)=>(0,a.jsx)(R,{item:e,index:n,...t},n))})});function U({path:e,sidebar:t,className:n}){let s=function(){let{isActive:e}=(0,v.M)(),[t,n]=(0,i.useState)(e);return(0,u.Mq)(({scrollY:t})=>{e&&n(0===t)},[e]),e&&t}();return(0,a.jsx)("nav",{"aria-label":(0,c.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,r.A)("menu thin-scrollbar","menu_SIkG",s&&"menuWithAnnouncementBar_GW3s",n),children:(0,a.jsx)("ul",{className:(0,r.A)(l.G.docs.docSidebarMenu,"menu__list"),children:(0,a.jsx)(F,{items:t,activePath:e,level:1})})})}let V=i.memo(function({path:e,sidebar:t,onCollapse:n,isHidden:i}){let{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.p)();return(0,a.jsxs)("div",{className:(0,r.A)("sidebar_njMd",s&&"sidebarWithHideableNavbar_wUlq",i&&"sidebarHidden_VK0M"),children:[s&&(0,a.jsx)(f.A,{tabIndex:-1,className:"sidebarLogo_isFc"}),(0,a.jsx)(U,{path:e,sidebar:t}),l&&(0,a.jsx)(g,{onClick:n})]})});var Y=n(7e3),q=n(9965);let K=({sidebar:e,path:t})=>{let n=(0,q.M)();return(0,a.jsx)("ul",{className:(0,r.A)(l.G.docs.docSidebarMenu,"menu__list"),children:(0,a.jsx)(F,{items:e,activePath:t,onItemClick:e=>{"category"===e.type&&e.href&&n.toggle(),"link"===e.type&&n.toggle()},level:1})})},z=i.memo(function(e){return(0,a.jsx)(Y.GX,{component:K,props:e})});function O(e){let t=(0,x.l)();return(0,a.jsxs)(a.Fragment,{children:[("desktop"===t||"ssr"===t)&&(0,a.jsx)(V,{...e}),"mobile"===t&&(0,a.jsx)(z,{...e})]})}function Q({toggleSidebar:e}){return(0,a.jsx)("div",{className:"expandButton_TmdG",title:(0,c.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:e,onClick:e,children:(0,a.jsx)(_,{className:"expandButtonIcon_i1dp"})})}let Z={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function J({children:e}){let t=(0,d.t)();return(0,a.jsx)(i.Fragment,{children:e},t?.name??"noSidebar")}function X({sidebar:e,hiddenSidebarContainer:t,setHiddenSidebarContainer:n}){let{pathname:s}=(0,p.zy)(),[o,d]=(0,i.useState)(!1),c=(0,i.useCallback)(()=>{o&&d(!1),!o&&(0,h.O)()&&d(!0),n(e=>!e)},[n,o]);return(0,a.jsx)("aside",{className:(0,r.A)(l.G.docs.docSidebarContainer,Z.docSidebarContainer,t&&Z.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(Z.docSidebarContainer)&&t&&d(!0)},children:(0,a.jsx)(J,{children:(0,a.jsxs)("div",{className:(0,r.A)(Z.sidebarViewport,o&&Z.sidebarViewportHidden),children:[(0,a.jsx)(O,{sidebar:e,path:s,onCollapse:c,isHidden:o}),o&&(0,a.jsx)(Q,{toggleSidebar:c})]})})})}let $={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ee({hiddenSidebarContainer:e,children:t}){let n=(0,d.t)();return(0,a.jsx)("main",{className:(0,r.A)($.docMainContainer,(e||!n)&&$.docMainContainerEnhanced),children:(0,a.jsx)("div",{className:(0,r.A)("container padding-top--md padding-bottom--lg",$.docItemWrapper,e&&$.docItemWrapperEnhanced),children:t})})}function et({children:e}){let t=(0,d.t)(),[n,r]=(0,i.useState)(!1);return(0,a.jsxs)("div",{className:"docsWrapper_hBAB",children:[(0,a.jsx)(b,{}),(0,a.jsxs)("div",{className:"docRoot_UBD9",children:[t&&(0,a.jsx)(X,{sidebar:t.items,hiddenSidebarContainer:n,setHiddenSidebarContainer:r}),(0,a.jsx)(ee,{hiddenSidebarContainer:n,children:e})]})]})}var en=n(955);function ea(e){let t=(0,o.B5)(e);if(!t)return(0,a.jsx)(en.A,{});let{docElement:n,sidebarName:i,sidebarItems:c}=t;return(0,a.jsx)(s.e3,{className:(0,r.A)(l.G.page.docsDocPage),children:(0,a.jsx)(d.V,{name:i,items:c,children:(0,a.jsx)(et,{children:n})})})}},955(e,t,n){n.d(t,{A:()=>l});var a=n(4848);n(6540);var i=n(4164),r=n(568),s=n(2072);function l({className:e}){return(0,a.jsx)("main",{className:(0,i.A)("container margin-vert--xl",e),children:(0,a.jsx)("div",{className:"row",children:(0,a.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,a.jsx)(s.A,{as:"h1",className:"hero__title",children:(0,a.jsx)(r.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,a.jsx)("p",{children:(0,a.jsx)(r.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,a.jsx)("p",{children:(0,a.jsx)(r.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/a9c167f1.a288f643.js b/assets/js/a9c167f1.a288f643.js new file mode 100644 index 0000000..02c6266 --- /dev/null +++ b/assets/js/a9c167f1.a288f643.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3044"],{869(e,n,r){r.r(n),r.d(n,{metadata:()=>s,default:()=>h,frontMatter:()=>d,contentTitle:()=>i,toc:()=>c,assets:()=>a});var s=JSON.parse('{"id":"core/field-lineage","title":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","description":"\u4ECE SQL \u63A8\u5BFC\u6765\u6E90\u8868.\u6765\u6E90\u5B57\u6BB5 \u2192 \u76EE\u6807\u8868.\u76EE\u6807\u5B57\u6BB5 \u7684\u5B57\u6BB5\u7EA7\u8840\u7F18\u5173\u7CFB","source":"@site/docs/core/field-lineage.md","sourceDirName":"core","slug":"/core/field-lineage","permalink":"/SqlParserX/docs/next/core/field-lineage","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/field-lineage.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","description":"\u4ECE SQL \u63A8\u5BFC\u6765\u6E90\u8868.\u6765\u6E90\u5B57\u6BB5 \u2192 \u76EE\u6807\u8868.\u76EE\u6807\u5B57\u6BB5 \u7684\u5B57\u6BB5\u7EA7\u8840\u7F18\u5173\u7CFB","sidebar_label":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","sidebar_position":1},"sidebar":"docs","previous":{"title":"SQL \u7C7B\u578B\u8BC6\u522B","permalink":"/SqlParserX/docs/next/core/sql-type"},"next":{"title":"\u8868\u8840\u7F18\u89E3\u6790","permalink":"/SqlParserX/docs/next/core/table-lineage"}}'),l=r(4848),t=r(8453);let d={title:"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",description:"\u4ECE SQL \u63A8\u5BFC\u6765\u6E90\u8868.\u6765\u6E90\u5B57\u6BB5 \u2192 \u76EE\u6807\u8868.\u76EE\u6807\u5B57\u6BB5 \u7684\u5B57\u6BB5\u7EA7\u8840\u7F18\u5173\u7CFB",sidebar_label:"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",sidebar_position:1},i="\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",a={},c=[{value:"1. \u5F15\u5165\u4F9D\u8D56",id:"1-\u5F15\u5165\u4F9D\u8D56",level:2},{value:"2. \u5B8C\u6574\u793A\u4F8B",id:"2-\u5B8C\u6574\u793A\u4F8B",level:2},{value:"3. \u5B9E\u73B0\u76EE\u6807",id:"3-\u5B9E\u73B0\u76EE\u6807",level:2},{value:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",level:2},{value:"5. \u652F\u6301\u7C92\u5EA6\u4E0E\u6DF1\u5EA6",id:"5-\u652F\u6301\u7C92\u5EA6\u4E0E\u6DF1\u5EA6",level:2},{value:"\u5B57\u6BB5\u573A\u666F",id:"\u5B57\u6BB5\u573A\u666F",level:3}];function o(e){let n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.header,{children:(0,l.jsx)(n.h1,{id:"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",children:"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790"})}),"\n",(0,l.jsx)(n.h2,{id:"1-\u5F15\u5165\u4F9D\u8D56",children:"1. \u5F15\u5165\u4F9D\u8D56"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.code,{children:"sqlparserx-core"})," \u5DF2\u4F20\u9012\u4F9D\u8D56 ",(0,l.jsx)(n.code,{children:"sqlparserx-syntax"})," \u4E0E Druid\uFF0C\u65E0\u9700\u989D\u5916\u5F15\u5165\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"2-\u5B8C\u6574\u793A\u4F8B",children:"2. \u5B8C\u6574\u793A\u4F8B"}),"\n",(0,l.jsxs)(n.p,{children:["\u4ECE\u83B7\u53D6\u89E3\u6790\u5668\u3001\u6784\u9020\u5143\u6570\u636E\u5230\u6253\u5370\u5B57\u6BB5\u8840\u7F18\u7684",(0,l.jsx)(n.strong,{children:"\u5B8C\u6574\u53EF\u8FD0\u884C"}),"\u7C7B\uFF1A"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-java",metastring:'title="FieldLineageDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.Arrays;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\npublic class FieldLineageDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1\u3001\u51C6\u5907\u5143\u6570\u636E\uFF1A\u8868 -> \u5B57\u6BB5\u5217\u8868\uFF08\u7528\u4E8E select * / \u5B57\u6BB5\u5C55\u5F00\uFF09\n Map<String, List<Column>> tableColumnsMap = new HashMap<>();\n tableColumnsMap.put("users", Arrays.asList(\n new Column("id", 0), new Column("name", 1)));\n tableColumnsMap.put("orders", Arrays.asList(\n new Column("amount", 0), new Column("id", 1)));\n\n // 2\u3001\u83B7\u53D6\u89E3\u6790\u5668\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 3\u3001\u89E3\u6790\u5B57\u6BB5\u8840\u7F18\n ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap);\n\n // 4\u3001\u6253\u5370\u7ED3\u679C\uFF1A\u76EE\u6807\u8868 + \u76EE\u6807\u5B57\u6BB5 -> \u6765\u6E90\u5B57\u6BB5\n System.out.println("\u76EE\u6807\u8868: " + result.getTargetTable());\n result.printColumnLineage();\n }\n}\n'})}),"\n",(0,l.jsx)(n.p,{children:"\u63A7\u5236\u53F0\u8F93\u51FA\uFF08\u793A\u4F8B\uFF09\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"\u76EE\u6807\u8868: user_order_summary\nusers.id -> user_order_summary.user_id\nusers.name -> user_order_summary.name\norders.amount -> user_order_summary.total_amount\norders.id -> user_order_summary.order_count\n"})}),"\n",(0,l.jsx)(n.h2,{id:"3-\u5B9E\u73B0\u76EE\u6807",children:"3. \u5B9E\u73B0\u76EE\u6807"}),"\n",(0,l.jsxs)(n.p,{children:["\u4ECE SQL \u4E2D\u63A8\u5BFC ",(0,l.jsx)(n.strong,{children:"\u6765\u6E90\u8868.\u6765\u6E90\u5B57\u6BB5 \u2192 \u76EE\u6807\u8868.\u76EE\u6807\u5B57\u6BB5"})," \u7684\u5B57\u6BB5\u7EA7\u8840\u7F18\u5173\u7CFB\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:["\u6838\u5FC3\u601D\u8DEF\uFF1A\u628A\u300C\u6765\u6E90 select \u5B57\u6BB5\u5217\u8868\u300D\u4E0E\u300C\u76EE\u6807\u5B57\u6BB5\u5217\u8868\u300D\u5404\u81EA\u5F52\u4E00\u4E3A ",(0,l.jsx)(n.code,{children:"(\u771F\u5B9E\u5B57\u6BB5, \u522B\u540D\u5B57\u6BB5, \u771F\u5B9E\u8868\u540D)"})," \u7684\u4E09\u5143\u7EC4\u96C6\u5408\uFF0C\u518D\u6309\u56FA\u5B9A\u5339\u914D\u89C4\u5219\u751F\u6210\u8840\u7F18\u3002\u5B57\u6BB5\u8840\u7F18\u7684\u8F93\u5165\u662F\u63D2\u5165/\u5EFA\u8868\u7C7B SQL\uFF0C\u7EAF\u67E5\u8BE2 SQL \u4E0D\u4EA7\u751F\u8840\u7F18\u3002"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"SQLInsertStatement / SQLCreateTableStatement(AS SELECT)\n \u2192 ColumnLineageClient.parseColumnLineages\n \u2192 \u76EE\u6807\u5B57\u6BB5\u5217\u8868 + \u6765\u6E90 select \u5B57\u6BB5\u5217\u8868\n \u2192 addColumnRelations \u9010\u6761\u5339\u914D\n \u2192 ColumnLineageResult\n"})}),"\n",(0,l.jsx)(n.h2,{id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",children:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u9879\u76EE"}),(0,l.jsx)(n.th,{children:"\u5185\u5BB9"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Core \u5165\u53E3"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.code,{children:"ISqlParser.parseColumnLineages(sql, tableColumnsMap)"})})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u9ED8\u8BA4\u5B9E\u73B0"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"BaseSqlParser.parseColumnLineages"})," \u2192 ",(0,l.jsx)(n.code,{children:"ColumnLineageClient"})]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u8FD4\u56DE\u7C7B\u578B"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"ColumnLineageResult"}),"\uFF08",(0,l.jsx)(n.code,{children:"getColumnRelations()"})," + ",(0,l.jsx)(n.code,{children:"getColumnLineages()"}),"\uFF09"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u9002\u7528\u8BED\u53E5"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"SQLInsertStatement"}),"\u3001",(0,l.jsx)(n.code,{children:"SQLCreateTableStatement"}),"\uFF08AS SELECT\uFF09"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u5143\u6570\u636E\u8F93\u5165"}),(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"Map<String, List<Column>> tableColumnsMap"}),"\uFF08\u8868 \u2192 \u5B57\u6BB5\u5217\u8868\uFF09"]})]})]})]}),"\n",(0,l.jsx)(n.h2,{id:"5-\u652F\u6301\u7C92\u5EA6\u4E0E\u6DF1\u5EA6",children:"5. \u652F\u6301\u7C92\u5EA6\u4E0E\u6DF1\u5EA6"}),"\n",(0,l.jsx)(n.h3,{id:"\u5B57\u6BB5\u573A\u666F",children:"\u5B57\u6BB5\u573A\u666F"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u80FD\u529B\u9879"}),(0,l.jsx)(n.th,{children:"\u652F\u6301\u60C5\u51B5"}),(0,l.jsx)(n.th,{children:"\u8BF4\u660E"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"catalog.db.table.column"})," \u5B57\u6BB5\u8BC6\u522B"]}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsx)(n.td,{children:"\u652F\u6301 Hive/Trino/StarRocks \u7B49\u591A catalog \u573A\u666F"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"db.table.column"})," \u5B57\u6BB5\u8BC6\u522B"]}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsx)(n.td,{children:"MySQL/PostgreSQL \u7B49\u6807\u51C6\u7528\u6CD5"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsxs)(n.td,{children:["\u5B57\u6BB5\u8868\u8FBE\u5F0F\u8BA1\u7B97\uFF08",(0,l.jsx)(n.code,{children:"SQLBinaryOpExpr"}),"\uFF09"]}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsxs)(n.td,{children:["\u5982 ",(0,l.jsx)(n.code,{children:"t5.level + 1"}),"\uFF0C\u5DE6\u53F3\u9012\u5F52\u6536\u96C6\u5B57\u6BB5"]})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsxs)(n.td,{children:[(0,l.jsx)(n.code,{children:"*"})," / ",(0,l.jsx)(n.code,{children:"xx.*"})," \u5C55\u5F00"]}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,l.jsxs)(n.td,{children:["\u4F9D\u636E\u5143\u6570\u636E ",(0,l.jsx)(n.code,{children:"tableColumnsMap"})," \u8BFB\u53D6\u5B57\u6BB5\uFF1B\u65E0\u5143\u6570\u636E\u4FDD\u7559 ",(0,l.jsx)(n.code,{children:"*"})]})]})]})]}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsxs)(n.p,{children:["\u66F4\u591A\u5B57\u6BB5\u573A\u666F\u3001\u8868\u8FBE\u5F0F\u4E0E\u5B50\u67E5\u8BE2\u7684\u8986\u76D6\u60C5\u51B5\uFF0C\u4EE5\u9879\u76EE ",(0,l.jsx)(n.code,{children:"docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u80FD\u529B\u652F\u6301\u60C5\u51B5/\u901A\u7528\u89E3\u6790\u80FD\u529B/\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\u652F\u6301\u60C5\u51B5.md"})," \u4E3A\u51C6\u3002"]}),"\n"]})]})}function h(e={}){let{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(o,{...e})}):o(e)}},8453(e,n,r){r.d(n,{R:()=>d,x:()=>i});var s=r(6540);let l={},t=s.createContext(l);function d(e){let n=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:d(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/aba21aa0.33b48647.js b/assets/js/aba21aa0.33b48647.js new file mode 100644 index 0000000..fdffd16 --- /dev/null +++ b/assets/js/aba21aa0.33b48647.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3747"],{7093(s){s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/acecf23e.319d1801.js b/assets/js/acecf23e.319d1801.js new file mode 100644 index 0000000..8b98e33 --- /dev/null +++ b/assets/js/acecf23e.319d1801.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3220"],{1912(s){s.exports=JSON.parse('{"blogBasePath":"/SqlParserX/blog","blogTitle":"Blog","authorsListPath":"/SqlParserX/blog/authors"}')}}]); \ No newline at end of file diff --git a/assets/js/ae60c7b8.f2159cf2.js b/assets/js/ae60c7b8.f2159cf2.js new file mode 100644 index 0000000..e49574f --- /dev/null +++ b/assets/js/ae60c7b8.f2159cf2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2684"],{3521(e,s,n){n.r(s),n.d(s,{metadata:()=>r,default:()=>h,frontMatter:()=>t,contentTitle:()=>c,toc:()=>o,assets:()=>d});var r=JSON.parse('{"id":"contributing","title":"\u8D21\u732E\u6307\u5357","description":"\u53C2\u4E0E SqlParserX \u5F00\u53D1\u7684\u6D41\u7A0B\u4E0E\u89C4\u8303","source":"@site/versioned_docs/version-1.0/contributing.md","sourceDirName":".","slug":"/contributing","permalink":"/SqlParserX/docs/contributing","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/contributing.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"\u8D21\u732E\u6307\u5357","description":"\u53C2\u4E0E SqlParserX \u5F00\u53D1\u7684\u6D41\u7A0B\u4E0E\u89C4\u8303","sidebar_label":"\u8D21\u732E\u6307\u5357","sidebar_position":1},"sidebar":"docs","previous":{"title":"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1","permalink":"/SqlParserX/docs/core/parameter-compile"}}'),i=n(4848),l=n(8453);let t={title:"\u8D21\u732E\u6307\u5357",description:"\u53C2\u4E0E SqlParserX \u5F00\u53D1\u7684\u6D41\u7A0B\u4E0E\u89C4\u8303",sidebar_label:"\u8D21\u732E\u6307\u5357",sidebar_position:1},c="\u8D21\u732E\u6307\u5357",d={},o=[{value:"\u53C2\u4E0E\u65B9\u5F0F",id:"\u53C2\u4E0E\u65B9\u5F0F",level:2},{value:"\u5F00\u53D1\u6D41\u7A0B",id:"\u5F00\u53D1\u6D41\u7A0B",level:2},{value:"\u4EE3\u7801\u7EA6\u5B9A",id:"\u4EE3\u7801\u7EA6\u5B9A",level:2},{value:"\u6587\u6863\u7EA6\u5B9A",id:"\u6587\u6863\u7EA6\u5B9A",level:2}];function a(e){let s={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,l.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.header,{children:(0,i.jsx)(s.h1,{id:"\u8D21\u732E\u6307\u5357",children:"\u8D21\u732E\u6307\u5357"})}),"\n",(0,i.jsx)(s.p,{children:"\u611F\u8C22\u4F60\u5BF9 SqlParserX \u7684\u5173\u6CE8\uFF01\u6B22\u8FCE\u901A\u8FC7 Issue\u3001Pull Request \u53C2\u4E0E\u5171\u5EFA\u3002"}),"\n",(0,i.jsx)(s.h2,{id:"\u53C2\u4E0E\u65B9\u5F0F",children:"\u53C2\u4E0E\u65B9\u5F0F"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\u63D0\u4EA4 Bug \u6216\u9700\u6C42\uFF1A",(0,i.jsx)(s.a,{href:"https://github.com/DTStack/SqlParserX/issues",children:"GitHub Issues"})]}),"\n",(0,i.jsxs)(s.li,{children:["\u63D0\u4EA4\u4EE3\u7801\uFF1A",(0,i.jsx)(s.a,{href:"https://github.com/DTStack/SqlParserX/pulls",children:"GitHub Pull Requests"})]}),"\n",(0,i.jsxs)(s.li,{children:["\u8BA8\u8BBA\u4EA4\u6D41\uFF1A\u89C1",(0,i.jsx)(s.a,{href:"/community",children:"\u793E\u533A"})]}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"\u5F00\u53D1\u6D41\u7A0B",children:"\u5F00\u53D1\u6D41\u7A0B"}),"\n",(0,i.jsxs)(s.ol,{children:["\n",(0,i.jsxs)(s.li,{children:["Fork \u4ED3\u5E93\u5E76\u521B\u5EFA\u7279\u6027\u5206\u652F\uFF1A",(0,i.jsx)(s.code,{children:"git checkout -b feature/xxx"})]}),"\n",(0,i.jsxs)(s.li,{children:["\u672C\u5730\u6784\u5EFA\uFF1A",(0,i.jsx)(s.code,{children:"mvn clean install -DskipTests"})]}),"\n",(0,i.jsxs)(s.li,{children:["\u7F16\u5199\u4EE3\u7801\u4E0E\u6D4B\u8BD5\uFF0C\u786E\u4FDD ",(0,i.jsx)(s.code,{children:"mvn test"})," \u901A\u8FC7"]}),"\n",(0,i.jsx)(s.li,{children:"\u63D0\u4EA4\u5E76\u63A8\u9001\u5206\u652F\uFF0C\u53D1\u8D77 Pull Request"}),"\n",(0,i.jsx)(s.li,{children:"\u901A\u8FC7 CI \u4E0E Review \u540E\u5408\u5E76"}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"\u4EE3\u7801\u7EA6\u5B9A",children:"\u4EE3\u7801\u7EA6\u5B9A"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\u9075\u5FAA\u73B0\u6709\u6A21\u5757\u5206\u5C42\uFF1A\u8BED\u6CD5\u5DEE\u5F02\u6539 ",(0,i.jsx)(s.code,{children:"sqlparserx-syntax"}),"\uFF0C\u4E1A\u52A1\u5DEE\u5F02\u6539 ",(0,i.jsx)(s.code,{children:"sqlparserx-core"})]}),"\n",(0,i.jsx)(s.li,{children:"\u65B0\u589E\u6570\u636E\u6E90\u65F6\uFF0C\u540C\u6B65\u8865\u5145\u80FD\u529B\u652F\u6301\u6587\u6863\u4E0E\u56DE\u5F52\u6D4B\u8BD5"}),"\n",(0,i.jsx)(s.li,{children:"\u4FDD\u6301\u4E0E\u73B0\u6709\u4EE3\u7801\u98CE\u683C\u4E00\u81F4\uFF0C\u4E0D\u5F15\u5165\u65E0\u5173\u4F9D\u8D56"}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"\u6587\u6863\u7EA6\u5B9A",children:"\u6587\u6863\u7EA6\u5B9A"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["\u6587\u6863\u7EDF\u4E00\u7EF4\u62A4\u5728\u9879\u76EE\u6839\u76EE\u5F55 ",(0,i.jsx)(s.code,{children:"docs/"}),"\uFF0C\u672C\u7AD9\u6587\u6863\u4ECE\u4E2D\u540C\u6B65"]}),"\n",(0,i.jsx)(s.li,{children:"\u65B0\u589E\u89E3\u6790\u80FD\u529B\u65F6\uFF0C\u66F4\u65B0\u5BF9\u5E94\u300C\u80FD\u529B\u652F\u6301\u60C5\u51B5\u300D\u6587\u6863"}),"\n",(0,i.jsxs)(s.li,{children:["\u53C2\u8003",(0,i.jsx)(s.a,{href:"/SqlParserX/docs/about/architecture",children:"\u67B6\u6784\u8BBE\u8BA1"}),"\u7406\u89E3\u4E24\u5C42\u6269\u5C55\u6A21\u5F0F"]}),"\n"]})]})}function h(e={}){let{wrapper:s}={...(0,l.R)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},8453(e,s,n){n.d(s,{R:()=>t,x:()=>c});var r=n(6540);let i={},l=r.createContext(i);function t(e){let s=r.useContext(l);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(l.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/af051bb0.adcbbc72.js b/assets/js/af051bb0.adcbbc72.js new file mode 100644 index 0000000..bd51e29 --- /dev/null +++ b/assets/js/af051bb0.adcbbc72.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8585"],{8965(e,r,s){s.r(r),s.d(r,{metadata:()=>t,default:()=>h,frontMatter:()=>c,contentTitle:()=>l,toc:()=>o,assets:()=>i});var t=JSON.parse('{"id":"core/sql-type","title":"SQL \u7C7B\u578B\u8BC6\u522B","description":"\u57FA\u4E8E\u89E3\u6790\u540E\u7684\u8BED\u6CD5\u6811\u8BC6\u522B SQL \u4E1A\u52A1\u7C7B\u578B","source":"@site/versioned_docs/version-1.0/core/sql-type.md","sourceDirName":"core","slug":"/core/sql-type","permalink":"/SqlParserX/docs/core/sql-type","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/sql-type.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"SQL \u7C7B\u578B\u8BC6\u522B","description":"\u57FA\u4E8E\u89E3\u6790\u540E\u7684\u8BED\u6CD5\u6811\u8BC6\u522B SQL \u4E1A\u52A1\u7C7B\u578B","sidebar_label":"SQL \u7C7B\u578B\u8BC6\u522B","sidebar_position":1},"sidebar":"docs","previous":{"title":"\u73AF\u5883\u51C6\u5907\u4E0E\u6784\u5EFA","permalink":"/SqlParserX/docs/quickstart/setup"},"next":{"title":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","permalink":"/SqlParserX/docs/core/field-lineage"}}'),n=s(4848),d=s(8453);let c={title:"SQL \u7C7B\u578B\u8BC6\u522B",description:"\u57FA\u4E8E\u89E3\u6790\u540E\u7684\u8BED\u6CD5\u6811\u8BC6\u522B SQL \u4E1A\u52A1\u7C7B\u578B",sidebar_label:"SQL \u7C7B\u578B\u8BC6\u522B",sidebar_position:1},l="SQL \u7C7B\u578B\u8BC6\u522B",i={},o=[{value:"\u652F\u6301\u8303\u56F4",id:"\u652F\u6301\u8303\u56F4",level:2}];function a(e){let r={code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,d.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.header,{children:(0,n.jsx)(r.h1,{id:"sql-\u7C7B\u578B\u8BC6\u522B",children:"SQL \u7C7B\u578B\u8BC6\u522B"})}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"parseSqlType"})," \u5148\u6309\u6240\u9009\u6570\u636E\u6E90\u65B9\u8A00\u6784\u5EFA Druid AST\uFF0C\u518D\u8FD4\u56DE\u7EDF\u4E00\u7684 ",(0,n.jsx)(r.code,{children:"SqlType"}),"\uFF0C\u9002\u5408\u8BED\u53E5\u8DEF\u7531\u3001\u5BA1\u8BA1\u5206\u7C7B\u548C\u6267\u884C\u7B56\u7565\u9009\u62E9\u3002"]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-java",metastring:'title="SqlTypeDemo.java"',children:'import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType;\nimport com.dtstack.sqlparserx.core.enums.SqlType;\nimport com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\n\nISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);\n\nSqlType queryType = parser.parseSqlType("SELECT id FROM users");\nSqlType insertType = parser.parseSqlType(\n "INSERT INTO target_table SELECT id FROM source_table");\n\nSystem.out.println(queryType); // QUERY\nSystem.out.println(insertType); // INSERT\n'})}),"\n",(0,n.jsx)(r.h2,{id:"\u652F\u6301\u8303\u56F4",children:"\u652F\u6301\u8303\u56F4"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"\u5206\u7C7B"}),(0,n.jsx)(r.th,{children:"\u5178\u578B\u7C7B\u578B"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"\u67E5\u8BE2"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"QUERY"}),"\u3001",(0,n.jsx)(r.code,{children:"WITH_QUERY"}),"\u3001",(0,n.jsx)(r.code,{children:"QUERY_NO_FROM"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"DML"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"INSERT"}),"\u3001",(0,n.jsx)(r.code,{children:"UPDATE"}),"\u3001",(0,n.jsx)(r.code,{children:"DELETE"}),"\u3001",(0,n.jsx)(r.code,{children:"MERGE_INTO"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"DDL"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"CREATE"}),"\u3001",(0,n.jsx)(r.code,{children:"CREATE_AS"}),"\u3001",(0,n.jsx)(r.code,{children:"ALTER"}),"\u3001",(0,n.jsx)(r.code,{children:"DROP"}),"\u3001",(0,n.jsx)(r.code,{children:"TRUNCATE"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"\u7BA1\u7406\u4E0E\u67E5\u770B"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"SHOW_TABLES"}),"\u3001",(0,n.jsx)(r.code,{children:"SHOW_COLUMNS"}),"\u3001",(0,n.jsx)(r.code,{children:"DESC_TABLE"}),"\u3001",(0,n.jsx)(r.code,{children:"EXPLAIN"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"\u5176\u4ED6"}),(0,n.jsxs)(r.td,{children:["\u65E0\u6CD5\u5F52\u7C7B\u7684 AST \u8FD4\u56DE ",(0,n.jsx)(r.code,{children:"OTHER"})]})]})]})]}),"\n",(0,n.jsx)(r.p,{children:"\u5177\u4F53 SQL \u80FD\u5426\u6784\u5EFA AST\uFF0C\u4ECD\u53D6\u51B3\u4E8E\u6240\u9009\u6570\u636E\u6E90\u7684\u65B9\u8A00\u652F\u6301\u60C5\u51B5\u3002"})]})}function h(e={}){let{wrapper:r}={...(0,d.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(a,{...e})}):a(e)}},8453(e,r,s){s.d(r,{R:()=>c,x:()=>l});var t=s(6540);let n={},d=t.createContext(n);function c(e){let r=t.useContext(d);return t.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),t.createElement(d.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b5ed4930.e99a4908.js b/assets/js/b5ed4930.e99a4908.js new file mode 100644 index 0000000..82d9b83 --- /dev/null +++ b/assets/js/b5ed4930.e99a4908.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7864"],{5864(s){s.exports=JSON.parse('{"tags":[{"label":"\u8D77\u6E90\u4E0E\u80CC\u666F","permalink":"/SqlParserX/blog/tags/origin","description":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u4E0E\u5185\u90E8\u6539\u9020\u5386\u7A0B","count":1}]}')}}]); \ No newline at end of file diff --git a/assets/js/bec69a53.55ad773a.js b/assets/js/bec69a53.55ad773a.js new file mode 100644 index 0000000..9960953 --- /dev/null +++ b/assets/js/bec69a53.55ad773a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6798"],{7074(s){s.exports=JSON.parse('{"authors":[{"name":"changlu","title":"SqlParserX \u7EF4\u62A4\u8005","url":"https://github.com/DTStack/SqlParserX","page":{"permalink":"/SqlParserX/blog/authors/changlu"},"socials":{"github":"https://github.com/DTStack"},"imageURL":"https://github.com/github.png","key":"changlu","count":1}]}')}}]); \ No newline at end of file diff --git a/assets/js/bf45ab0e.38f8f750.js b/assets/js/bf45ab0e.38f8f750.js new file mode 100644 index 0000000..7f48ea4 --- /dev/null +++ b/assets/js/bf45ab0e.38f8f750.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9575"],{7123(e,r,s){s.r(r),s.d(r,{metadata:()=>n,default:()=>u,frontMatter:()=>a,contentTitle:()=>i,toc:()=>d,assets:()=>o});var n=JSON.parse('{"id":"quickstart/setup","title":"\u5FEB\u901F\u5F00\u59CB","description":"\u5F15\u5165\u4F9D\u8D56\u3001\u6784\u5EFA\u5E76\u5728\u672C\u5730\u8FD0\u884C SqlParserX \u7684\u5B8C\u6574\u793A\u4F8B","source":"@site/docs/quickstart/setup.md","sourceDirName":"quickstart","slug":"/quickstart/setup","permalink":"/SqlParserX/docs/next/quickstart/setup","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/quickstart/setup.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"\u5FEB\u901F\u5F00\u59CB","description":"\u5F15\u5165\u4F9D\u8D56\u3001\u6784\u5EFA\u5E76\u5728\u672C\u5730\u8FD0\u884C SqlParserX \u7684\u5B8C\u6574\u793A\u4F8B","sidebar_label":"\u73AF\u5883\u51C6\u5907\u4E0E\u6784\u5EFA","sidebar_position":1},"sidebar":"docs","previous":{"title":"\u67B6\u6784\u8BBE\u8BA1","permalink":"/SqlParserX/docs/next/about/architecture"},"next":{"title":"SQL \u7C7B\u578B\u8BC6\u522B","permalink":"/SqlParserX/docs/next/core/sql-type"}}'),l=s(4848),t=s(8453);let a={title:"\u5FEB\u901F\u5F00\u59CB",description:"\u5F15\u5165\u4F9D\u8D56\u3001\u6784\u5EFA\u5E76\u5728\u672C\u5730\u8FD0\u884C SqlParserX \u7684\u5B8C\u6574\u793A\u4F8B",sidebar_label:"\u73AF\u5883\u51C6\u5907\u4E0E\u6784\u5EFA",sidebar_position:1},i="\u5FEB\u901F\u5F00\u59CB",o={},d=[{value:"1. \u73AF\u5883\u8981\u6C42",id:"1-\u73AF\u5883\u8981\u6C42",level:2},{value:"2. \u5F15\u5165\u4F9D\u8D56",id:"2-\u5F15\u5165\u4F9D\u8D56",level:2},{value:"3. Hello World\uFF1A\u89E3\u6790\u4E00\u6BB5 SQL",id:"3-hello-world\u89E3\u6790\u4E00\u6BB5-sql",level:2},{value:"4. \u4E0B\u4E00\u6B65",id:"4-\u4E0B\u4E00\u6B65",level:2}];function c(e){let r={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(r.header,{children:(0,l.jsx)(r.h1,{id:"\u5FEB\u901F\u5F00\u59CB",children:"\u5FEB\u901F\u5F00\u59CB"})}),"\n",(0,l.jsx)(r.h2,{id:"1-\u73AF\u5883\u8981\u6C42",children:"1. \u73AF\u5883\u8981\u6C42"}),"\n",(0,l.jsxs)(r.table,{children:[(0,l.jsx)(r.thead,{children:(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.th,{children:"\u4F9D\u8D56"}),(0,l.jsx)(r.th,{children:"\u7248\u672C"})]})}),(0,l.jsxs)(r.tbody,{children:[(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"JDK"}),(0,l.jsx)(r.td,{children:"Java 8+"})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"Maven"}),(0,l.jsx)(r.td,{children:"3.6+"})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsxs)(r.td,{children:["Node.js\uFF08\u4EC5 ",(0,l.jsx)(r.code,{children:"sqlparserx-ui"}),"\uFF09"]}),(0,l.jsx)(r.td,{children:">= 20"})]})]})]}),"\n",(0,l.jsx)(r.h2,{id:"2-\u5F15\u5165\u4F9D\u8D56",children:"2. \u5F15\u5165\u4F9D\u8D56"}),"\n",(0,l.jsxs)(r.p,{children:["\u5728\u4E1A\u52A1\u5DE5\u7A0B\u7684 ",(0,l.jsx)(r.code,{children:"pom.xml"})," \u4E2D\u5F15\u5165",(0,l.jsx)(r.strong,{children:"\u4E1A\u52A1\u89E3\u6790\u5C42"})," ",(0,l.jsx)(r.code,{children:"sqlparserx-core"})," \u5373\u53EF\uFF1A"]}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,l.jsxs)(r.p,{children:[":::tip \u4F9D\u8D56\u8BF4\u660E\n",(0,l.jsx)(r.code,{children:"sqlparserx-core"})," \u4F1A",(0,l.jsx)(r.strong,{children:"\u4F20\u9012\u4F9D\u8D56"})," ",(0,l.jsx)(r.code,{children:"sqlparserx-syntax"}),"\uFF08\u8BED\u6CD5\u5C42\uFF09\u4E0E\u5B98\u65B9 Druid\uFF0C\u56E0\u6B64\u4E1A\u52A1\u89E3\u6790\u53EA\u9700\u5F15\u5165 ",(0,l.jsx)(r.code,{children:"core"})," \u4E00\u4E2A\u5750\u6807\uFF1B\u82E5\u53EA\u505A SQL\u2192AST \u7684\u8BED\u6CD5\u89E3\u6790\uFF0C\u4E5F\u53EF\u4EE5\u5355\u72EC\u5F15\u5165 ",(0,l.jsx)(r.code,{children:"sqlparserx-syntax"}),"\u3002\n:::"]}),"\n",(0,l.jsxs)(r.p,{children:[":::note \u4ECE\u6E90\u7801\u4F7F\u7528\n",(0,l.jsx)(r.code,{children:"1.0-SNAPSHOT"})," \u82E5\u5C1A\u672A\u53D1\u5E03\u5230\u8FDC\u7A0B\u4ED3\u5E93\uFF0C\u8BF7\u5148\u62C9\u53D6\u6E90\u7801\u5E76\u5B89\u88C5\u5230\u672C\u5730\u4ED3\u5E93\uFF1A"]}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-bash",children:"git clone https://github.com/DTStack/SqlParserX.git\ncd SqlParserX\nmvn clean install -DskipTests\n"})}),"\n",(0,l.jsx)(r.p,{children:"\u4E4B\u540E\u4E0A\u9762\u7684\u5750\u6807\u5373\u53EF\u5728\u672C\u5730\u76F4\u63A5\u4F7F\u7528\u3002\n:::"}),"\n",(0,l.jsx)(r.h2,{id:"3-hello-world\u89E3\u6790\u4E00\u6BB5-sql",children:"3. Hello World\uFF1A\u89E3\u6790\u4E00\u6BB5 SQL"}),"\n",(0,l.jsxs)(r.p,{children:["\u4E0B\u9762\u662F\u4E00\u4E2A",(0,l.jsx)(r.strong,{children:"\u5B8C\u6574\u53EF\u8FD0\u884C"}),"\u7684\u7C7B\uFF0C\u8986\u76D6\u89E3\u6790\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u3001\u8868\u8840\u7F18\u4E0E\u51FD\u6570\u56DB\u7C7B\u80FD\u529B\uFF0C\n\u4E0E\u5B98\u65B9 ",(0,l.jsx)(r.code,{children:"sqlparserx-core/README.md"})," \u4E2D\u7684\u793A\u4F8B\u4FDD\u6301\u4E00\u81F4\uFF1A"]}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-java",metastring:'title="SqlParserXDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.*;\n\npublic class SqlParserXDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1\u3001\u6309\u6570\u636E\u6E90\u7C7B\u578B\u83B7\u53D6\u89E3\u6790\u5668\uFF08\u652F\u6301 mysql/hive/doris/... 15+ \u65B9\u8A00\uFF09\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2\u3001\u89E3\u6790\u771F\u5B9E\u8868\n ParseTableResult tableResult = parser.parseTables(sql);\n System.out.println("\u4E3B\u8868: " + tableResult.getMainTable().getName());\n System.out.println("\u6240\u6709\u8868: " + tableResult.getAllTableName());\n\n // 3\u3001\u89E3\u6790\u5B57\u6BB5\u8840\u7F18\uFF08select * \u573A\u666F\u53EF\u4F20\u5165\u771F\u5B9E\u5B57\u6BB5\u5143\u6570\u636E\uFF09\n Map<String, List<Column>> tableColumnsMap = new HashMap<>();\n tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1)));\n tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1)));\n ColumnLineageResult columnLineageResult =\n parser.parseColumnLineages(sql, tableColumnsMap);\n columnLineageResult.printColumnLineage();\n\n // 4\u3001\u89E3\u6790\u8868\u8840\u7F18\n TableLineageResult tableLineageResult = parser.parseTableLineages(sql);\n List<TableLineage> tableLineages = tableLineageResult.getTableLineages();\n System.out.println("\u8868\u8840\u7F18: " + tableLineages);\n\n // 5\u3001\u89E3\u6790\u51FD\u6570\n Set<String> functions = parser.parseFunction(sql);\n System.out.println("\u51FD\u6570\u96C6\u5408: " + functions);\n }\n}\n'})}),"\n",(0,l.jsx)(r.p,{children:"\u63A7\u5236\u53F0\u8F93\u51FA\uFF08\u793A\u4F8B\uFF09\uFF1A"}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-text",children:"\u4E3B\u8868: users\n\u6240\u6709\u8868: [user_order_summary, users, orders]\nusers.id -> user_order_summary.user_id\nusers.name -> user_order_summary.name\norders.amount -> user_order_summary.total_amount\norders.id -> user_order_summary.order_count\n\u8868\u8840\u7F18: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...]\n\u51FD\u6570\u96C6\u5408: [sum, count]\n"})}),"\n",(0,l.jsx)(r.h2,{id:"4-\u4E0B\u4E00\u6B65",children:"4. \u4E0B\u4E00\u6B65"}),"\n",(0,l.jsxs)(r.p,{children:["\u5404\u6838\u5FC3\u80FD\u529B\u7684",(0,l.jsx)(r.strong,{children:"\u4F9D\u8D56\u5F15\u5165 + \u5B8C\u6574\u793A\u4F8B"}),"\u89C1\uFF1A"]}),"\n",(0,l.jsxs)(r.ul,{children:["\n",(0,l.jsx)(r.li,{children:(0,l.jsx)(r.a,{href:"/SqlParserX/docs/next/core/field-lineage",children:"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790"})}),"\n",(0,l.jsx)(r.li,{children:(0,l.jsx)(r.a,{href:"/SqlParserX/docs/next/core/table-lineage",children:"\u8868\u8840\u7F18\u89E3\u6790"})}),"\n",(0,l.jsx)(r.li,{children:(0,l.jsx)(r.a,{href:"/SqlParserX/docs/next/core/table-parse",children:"\u8868\u89E3\u6790"})}),"\n",(0,l.jsx)(r.li,{children:(0,l.jsx)(r.a,{href:"/SqlParserX/docs/next/core/function-parse",children:"\u51FD\u6570\u89E3\u6790"})}),"\n"]})]})}function u(e={}){let{wrapper:r}={...(0,t.R)(),...e.components};return r?(0,l.jsx)(r,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},8453(e,r,s){s.d(r,{R:()=>a,x:()=>i});var n=s(6540);let l={},t=n.createContext(l);function a(e){let r=n.useContext(t);return n.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:a(e.components),n.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c4f5d8e4.97d426b8.js b/assets/js/c4f5d8e4.97d426b8.js new file mode 100644 index 0000000..7f4508c --- /dev/null +++ b/assets/js/c4f5d8e4.97d426b8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4823"],{7641(e,s,a){a.r(s),a.d(s,{default:()=>k});var i=a(4848);a(6540);var c=a(6525),r=a(898),l=a(5310),d=a(568),n=a(6497);let t={hero:"hero_reY0",gridBg:"gridBg_zRbt",glowA:"glowA_dnBZ",glowB:"glowB_NjYj",inner:"inner_IGGz",left:"left_uKTZ",badge:"badge_D9jF",badgeDot:"badgeDot_ycdE",title:"title_DbXn",brandLogo:"brandLogo_fzYv",titleGrad:"titleGrad_wsmG",tagline:"tagline_Omcq",desc:"desc_oE5c",actions:"actions_BPoi",ctaPrimary:"ctaPrimary_nzdu",arrow:"arrow_ohpH",ctaSecondary:"ctaSecondary_ioAi",ghLink:"ghLink_HXFT",stats:"stats_UghV",right:"right_YUha",window:"window_mZAp",windowBar:"windowBar_IG7S",dots:"dots_dSgu",windowTitle:"windowTitle_C7Wi",pane:"pane_IGTq",paneLabel:"paneLabel_AJ3a",code:"code_ciTM",kw:"kw_CYEt",tbl:"tbl_ICwn",divider:"divider_ybTj",dividerDot:"dividerDot_PbM6",result:"result_UYmE",resLine:"resLine_Yxvh",check:"check_W2bt",tag:"tag_bkpi",tagWarm:"tagWarm_CVvE",arrowSm:"arrowSm_NRI0"};function h(){let e=(0,n.Ay)("/img/logo.png");return(0,i.jsxs)("header",{className:t.hero,children:[(0,i.jsx)("div",{className:t.gridBg,"aria-hidden":"true"}),(0,i.jsx)("div",{className:t.glowA,"aria-hidden":"true"}),(0,i.jsx)("div",{className:t.glowB,"aria-hidden":"true"}),(0,i.jsxs)("div",{className:t.inner,children:[(0,i.jsxs)("div",{className:t.left,children:[(0,i.jsxs)("div",{className:t.badge,children:[(0,i.jsx)("span",{className:t.badgeDot}),(0,i.jsx)(d.A,{id:"homepage.hero.badge",children:"Java 8 \xb7 Druid 1.2.28 \xb7 15+ \u65B9\u8A00"})]}),(0,i.jsxs)("h1",{className:t.title,children:[(0,i.jsx)("img",{className:t.brandLogo,src:e,alt:""}),(0,i.jsx)("span",{children:"SqlParser"}),(0,i.jsx)("span",{className:t.titleGrad,children:"X"})]}),(0,i.jsx)("p",{className:t.tagline,children:(0,i.jsx)(d.A,{id:"homepage.hero.tagline",children:"\u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305"})}),(0,i.jsx)("p",{className:t.desc,children:(0,i.jsx)(d.A,{id:"homepage.hero.desc",children:"SQL \u7C7B\u578B\u8BC6\u522B \xb7 \u8868\u4E0E\u5B57\u6BB5\u8840\u7F18 \xb7 \u8868/DDL \u89E3\u6790 \xb7 \u51FD\u6570\u63D0\u53D6 \xb7 \u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1"})}),(0,i.jsxs)("div",{className:t.actions,children:[(0,i.jsxs)(l.A,{className:`button button--primary button--lg ${t.ctaPrimary}`,to:"/docs/quickstart/setup",children:[(0,i.jsx)(d.A,{id:"homepage.hero.cta.primary",children:"\u5FEB\u901F\u5F00\u59CB"}),(0,i.jsx)("span",{"aria-hidden":"true",className:t.arrow,children:"\u2192"})]}),(0,i.jsx)(l.A,{className:`button button--secondary button--lg ${t.ctaSecondary}`,to:"/docs/about/introduction",children:(0,i.jsx)(d.A,{id:"homepage.hero.cta.secondary",children:"\u9879\u76EE\u4ECB\u7ECD"})}),(0,i.jsx)(l.A,{className:t.ghLink,href:"https://github.com/DTStack/SqlParserX","aria-label":"GitHub repository",children:"GitHub"})]}),(0,i.jsxs)("ul",{className:t.stats,children:[(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"15"}),(0,i.jsx)("span",{children:(0,i.jsx)(d.A,{id:"homepage.hero.stat.datasource",children:"\u6570\u636E\u6E90\u65B9\u8A00"})})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"6"}),(0,i.jsx)("span",{children:(0,i.jsx)(d.A,{id:"homepage.hero.stat.capability",children:"\u6838\u5FC3\u89E3\u6790\u80FD\u529B"})})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"2"}),(0,i.jsx)("span",{children:(0,i.jsx)(d.A,{id:"homepage.hero.stat.layer",children:"\u5C42\u7EDF\u4E00\u67B6\u6784"})})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"100%"}),(0,i.jsx)("span",{children:(0,i.jsx)(d.A,{id:"homepage.hero.stat.compat",children:"Java 8 \u517C\u5BB9"})})]})]})]}),(0,i.jsx)("div",{className:t.right,children:(0,i.jsxs)("div",{className:t.window,children:[(0,i.jsxs)("div",{className:t.windowBar,children:[(0,i.jsxs)("span",{className:t.dots,children:[(0,i.jsx)("i",{}),(0,i.jsx)("i",{}),(0,i.jsx)("i",{})]}),(0,i.jsx)("span",{className:t.windowTitle,children:"LineagePreview"})]}),(0,i.jsxs)("div",{className:t.pane,children:[(0,i.jsx)("div",{className:t.paneLabel,children:(0,i.jsx)(d.A,{id:"homepage.hero.pane.input",children:"SQL \u8F93\u5165"})}),(0,i.jsxs)("div",{className:t.code,children:[(0,i.jsxs)("div",{className:t.line,children:[(0,i.jsx)("span",{className:t.kw,children:"INSERT INTO"})," ",(0,i.jsx)("span",{className:t.tbl,children:"dwd.order_di"})]}),(0,i.jsxs)("div",{className:t.line,children:[(0,i.jsx)("span",{className:t.kw,children:"SELECT"})," o.id, u.name, o.amount"]}),(0,i.jsxs)("div",{className:t.line,children:[(0,i.jsx)("span",{className:t.kw,children:"FROM"})," ods.orders o"]}),(0,i.jsxs)("div",{className:t.line,children:[(0,i.jsx)("span",{className:t.kw,children:"JOIN"})," ods.users u"," ",(0,i.jsx)("span",{className:t.kw,children:"ON"})," o.uid = u.id;"]})]})]}),(0,i.jsxs)("div",{className:t.divider,children:[(0,i.jsx)("span",{className:t.dividerDot}),(0,i.jsx)(d.A,{id:"homepage.hero.pane.output",children:"\u89E3\u6790\u7ED3\u679C"})]}),(0,i.jsx)("div",{className:t.pane,children:(0,i.jsxs)("div",{className:t.result,children:[(0,i.jsxs)("div",{className:t.resLine,children:[(0,i.jsx)("span",{className:t.check,children:"\u2713"}),(0,i.jsx)("span",{className:t.tag,children:(0,i.jsx)(d.A,{id:"homepage.hero.tag.table",children:"\u8868\u8840\u7F18"})}),"ods.orders ",(0,i.jsx)("span",{className:t.arrowSm,children:"\u2192"})," ","dwd.order_di"]}),(0,i.jsxs)("div",{className:t.resLine,children:[(0,i.jsx)("span",{className:t.check,children:"\u2713"}),(0,i.jsx)("span",{className:t.tag,children:"\u8868\u8840\u7F18"}),"ods.users ",(0,i.jsx)("span",{className:t.arrowSm,children:"\u2192"})," ","dwd.order_di"]}),(0,i.jsxs)("div",{className:t.resLine,children:[(0,i.jsx)("span",{className:t.check,children:"\u2713"}),(0,i.jsx)("span",{className:t.tagWarm,children:(0,i.jsx)(d.A,{id:"homepage.hero.tag.field",children:"\u5B57\u6BB5\u8840\u7F18"})}),"ods.orders.amount ",(0,i.jsx)("span",{className:t.arrowSm,children:"\u2192"})," ","dwd.order_di.amount"]})]})})]})})]})]})}let o=[["mysql","MySQL"],["hive","Hive"],["doris","Doris"],["starrocks","StarRocks"],["clickhouse","ClickHouse"],["oracle","Oracle"],["postgresql","PostgreSQL"],["spark","Spark"],[null,"Trino"],[null,"DM"],["oceanbase","OceanBase"],[null,"OceanBase Oracle"],["sqlserver","SQL Server"],["greenplum","Greenplum"],["tidb","TiDB"]];function m(){let e=(0,n.Ay)("/");return(0,i.jsxs)("section",{className:"section_eBTT",children:[(0,i.jsx)("p",{className:"lead_wHuz",children:(0,i.jsx)(d.A,{id:"homepage.datasource.lead",children:"\u5DF2\u9002\u914D 15+ \u6570\u636E\u6E90\u65B9\u8A00"})}),(0,i.jsx)("div",{className:"row_w6Q8",children:o.map(([s,a])=>(0,i.jsxs)("div",{className:"item_Mtdw",title:a,children:[s?(0,i.jsx)("img",{src:`${e}img/datasource/${s}.png`,alt:"",loading:"lazy"}):(0,i.jsx)("span",{className:"fallbackIcon_XJXT","aria-hidden":"true",children:"\u25C6"}),(0,i.jsx)("span",{children:a})]},s))})]})}let x="iconAccent_kca4";function j({type:e}){let s={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};return"type"===e?(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("path",{d:"M5 3h10l4 4v14H5zM15 3v5h4M8 12h8M8 16h5"}),(0,i.jsx)("path",{className:x,d:"m8 8 1.5 1.5L12 7"})]}):"structure"===e?(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("ellipse",{cx:"12",cy:"5",rx:"8",ry:"3"}),(0,i.jsx)("path",{d:"M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6"}),(0,i.jsx)("path",{className:x,d:"M8 9h8"})]}):"tableLineage"===e?(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("rect",{x:"2.5",y:"8.5",width:"6",height:"7",rx:"1.5"}),(0,i.jsx)("rect",{x:"15.5",y:"3",width:"6",height:"7",rx:"1.5"}),(0,i.jsx)("rect",{x:"15.5",y:"14",width:"6",height:"7",rx:"1.5"}),(0,i.jsx)("path",{className:x,d:"M8.5 12H12V6.5h3.5M12 12v5.5h3.5"})]}):"columnLineage"===e?(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("rect",{x:"2",y:"3",width:"7",height:"18",rx:"1.5"}),(0,i.jsx)("rect",{x:"15",y:"3",width:"7",height:"18",rx:"1.5"}),(0,i.jsx)("path",{d:"M4.5 7h2M4.5 11h2M17.5 7h2M17.5 11h2M17.5 15h2"}),(0,i.jsx)("path",{className:x,d:"M6.5 15h4l3-6h3M14 7l2.5 2L14 11"})]}):"function"===e?(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("path",{d:"M10.5 4.5c-2.2 0-3.4 1.25-3.85 3.75L5.3 16c-.42 2.35-1.45 3.5-3.3 3.5M4.5 11.5h6"}),(0,i.jsx)("path",{className:x,d:"M14 8.5l3 3.5-3 3.5M22 8.5l-3 3.5 3 3.5"})]}):(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("path",{d:"M7 3H5a2 2 0 0 0-2 2v4l-2 3 2 3v4a2 2 0 0 0 2 2h2M17 3h2a2 2 0 0 1 2 2v4l2 3-2 3v4a2 2 0 0 1-2 2h-2"}),(0,i.jsx)("path",{className:x,d:"M9 8h6M9 12h6M9 16h6"})]})}let p=[{icon:"type",key:"type",titleId:"homepage.feature.type.title",title:"SQL \u7C7B\u578B\u8BC6\u522B",descId:"homepage.feature.type.desc",desc:"\u8BC6\u522B\u67E5\u8BE2\u3001\u5199\u5165\u3001\u5EFA\u8868\u3001SHOW \u4E0E EXPLAIN \u7B49\u8BED\u53E5\u7C7B\u578B\u3002"},{icon:"structure",key:"table",titleId:"homepage.feature.table.title",title:"\u771F\u5B9E\u8868\u4E0E\u5EFA\u8868\u7ED3\u6784",descId:"homepage.feature.table.desc",desc:"\u7A7F\u900F JOIN\u3001CTE \u4E0E\u5B50\u67E5\u8BE2\uFF0C\u89E3\u6790\u5B57\u6BB5\u3001\u952E\u3001\u5206\u533A\u53CA\u5206\u6876\u7ED3\u6784\u3002"},{icon:"tableLineage",key:"tableLineage",titleId:"homepage.feature.tableLineage.title",title:"\u8868\u7EA7\u8840\u7F18",descId:"homepage.feature.tableLineage.desc",desc:"\u4ECE INSERT \u4E0E CTAS \u8FFD\u6EAF\u6765\u6E90\u8868\u5230\u76EE\u6807\u8868\u7684\u6570\u636E\u6D41\u8F6C\u5173\u7CFB\u3002"},{icon:"columnLineage",key:"columnLineage",titleId:"homepage.feature.columnLineage.title",title:"\u5B57\u6BB5\u7EA7\u8840\u7F18",descId:"homepage.feature.columnLineage.desc",desc:"\u5206\u6790\u8868\u8FBE\u5F0F\u3001\u51FD\u6570\u4E0E CASE \u4E2D\u6765\u6E90\u5B57\u6BB5\u5230\u76EE\u6807\u5B57\u6BB5\u7684\u6620\u5C04\u3002"},{icon:"function",key:"function",titleId:"homepage.feature.function.title",title:"\u51FD\u6570\u540D\u63D0\u53D6",descId:"homepage.feature.function.desc",desc:"\u63D0\u53D6\u666E\u901A\u3001\u805A\u5408\u4E0E\u7A97\u53E3\u51FD\u6570\u540D\u79F0\uFF0C\u652F\u6301\u591A\u8BED\u53E5\u89E3\u6790\u4E0E\u53BB\u91CD\u3002"},{icon:"parameter",key:"parameter",titleId:"homepage.feature.parameter.title",title:"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1",descId:"homepage.feature.parameter.desc",desc:"\u63D0\u53D6 SELECT \u52A8\u6001\u53C2\u6570\uFF0C\u751F\u6210 JDBC \u5360\u4F4D\u7B26 SQL \u4E0E\u6709\u5E8F\u7ED1\u5B9A\u503C\u3002"}];function g(){return(0,i.jsxs)("section",{className:"section_R2J0",children:[(0,i.jsxs)("div",{className:"header_nMSq",children:[(0,i.jsx)("span",{className:"eyebrow_KQpq",children:(0,i.jsx)(d.A,{id:"homepage.features.eyebrow",children:"\u6838\u5FC3\u80FD\u529B"})}),(0,i.jsx)("h2",{className:"heading_fnW7",children:(0,i.jsx)(d.A,{id:"homepage.features.heading",children:"\u4E00\u4E2A\u5F15\u64CE\uFF0C\u8986\u76D6 SQL \u89E3\u6790\u5168\u94FE\u8DEF"})}),(0,i.jsx)("p",{className:"subheading_cJ8g",children:(0,i.jsx)(d.A,{id:"homepage.features.subheading",children:"\u4ECE\u65B9\u8A00\u8BED\u6CD5\u5230\u4E1A\u52A1\u8BED\u4E49\uFF0C\u7EDF\u4E00\u5951\u7EA6\u3001\u7EDF\u4E00\u7ED3\u679C\uFF0C\u5F00\u7BB1\u5373\u7528\u3002"})})]}),(0,i.jsx)("div",{className:"grid_vg4X",children:p.map(e=>(0,i.jsxs)("article",{className:"card_ooQ2",children:[(0,i.jsx)("div",{className:"iconWrap_ISBW",children:(0,i.jsx)(j,{type:e.icon})}),(0,i.jsx)("h3",{className:"cardTitle_FpVF",children:(0,i.jsx)(d.A,{id:e.titleId,children:e.title})}),(0,i.jsx)("p",{className:"cardDesc_Hcpx",children:(0,i.jsx)(d.A,{id:e.descId,children:e.desc})})]},e.key))})]})}let u="row_mLVB",N="info_rZXn",v="eyebrow_cIXQ",_="title_ULaK",b="desc_yXFq",w="showcase_mNzI",y=[{id:"homepage.case.step1",label:"\u63A5\u5165 SQL + DbType"},{id:"homepage.case.step2",label:"\u8BED\u6CD5\u5C42\u89E3\u6790\u4E3A Druid AST"},{id:"homepage.case.step3",label:"\u4E1A\u52A1\u5C42\u7EDF\u4E00\u89E3\u6790"},{id:"homepage.case.step4",label:"\u8868 / \u8840\u7F18 / \u51FD\u6570 / \u53C2\u6570\u89E3\u6790\u7ED3\u679C"}];function A(){let e=(0,n.Ay)("/");return(0,i.jsxs)("section",{className:"section_XM3Q",children:[(0,i.jsxs)("div",{className:u,children:[(0,i.jsxs)("div",{className:N,children:[(0,i.jsx)("span",{className:v,children:(0,i.jsx)(d.A,{id:"homepage.case.arch.eyebrow",children:"\u67B6\u6784\u8BBE\u8BA1"})}),(0,i.jsx)("h3",{className:_,children:(0,i.jsx)(d.A,{id:"homepage.case.arch.title",children:"\u4E24\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784"})}),(0,i.jsx)("p",{className:b,children:(0,i.jsx)(d.A,{id:"homepage.case.arch.desc",children:"\u8BED\u6CD5\u5C42\u57FA\u4E8E Druid \u6269\u5C55\u65B9\u8A00 Lexer / Parser / AST\uFF0C\u4E1A\u52A1\u5C42\u901A\u8FC7 ISqlParser \u5951\u7EA6\u6269\u5C55\u8868\u89E3\u6790\u3001\u8840\u7F18\u4E0E\u6539\u5199\u903B\u8F91\uFF0C\u4E24\u5C42\u7531 DbType \u4E0E AST \u5BF9\u9F50\u3002"})}),(0,i.jsx)("ol",{className:"steps_EEbF",children:y.map((e,s)=>(0,i.jsxs)("li",{className:"step_eGvK",children:[(0,i.jsx)("span",{className:"stepNo_MhRk",children:s+1}),(0,i.jsx)(d.A,{id:e.id,children:e.label})]},e.id))})]}),(0,i.jsx)("div",{className:w,children:(0,i.jsx)("img",{src:`${e}img/architecture/SqlParserX\u{4E24}\u{5C42}\u{67B6}\u{6784}.png`,alt:"SqlParserX \u4E24\u5C42\u67B6\u6784",loading:"lazy"})})]}),(0,i.jsxs)("div",{className:`${u} reverse_tY76`,children:[(0,i.jsxs)("div",{className:N,children:[(0,i.jsx)("span",{className:v,children:(0,i.jsx)(d.A,{id:"homepage.case.docs.eyebrow",children:"\u6587\u6863\u7AD9"})}),(0,i.jsx)("h3",{className:_,children:(0,i.jsx)(d.A,{id:"homepage.case.version.title",children:"\u7248\u672C / \u591A\u8BED\u8A00\u5171\u5B58"})}),(0,i.jsx)("p",{className:b,children:(0,i.jsx)(d.A,{id:"homepage.case.version.desc",children:"\u53F3\u4FA7\u5BFC\u822A\u680F\u5373\u53EF\u5207\u6362\u7248\u672C\uFF081.0 / Next\uFF09\u4E0E\u8BED\u8A00\uFF08\u7B80\u4F53\u4E2D\u6587 / English\uFF09\uFF0C\u4E92\u4E0D\u5E72\u6270\u3002"})})]}),(0,i.jsx)("div",{className:w,children:(0,i.jsx)("img",{src:`${e}img/case/version.svg`,alt:"version",loading:"lazy"})})]})]})}function L(){return(0,i.jsx)("section",{className:"band_iMg9",children:(0,i.jsxs)("div",{className:"inner_s1W7",children:[(0,i.jsx)("h2",{className:"title_Xeao",children:(0,i.jsx)(d.A,{id:"homepage.cta.title",children:"\u51C6\u5907\u597D\u5F00\u59CB\u89E3\u6790\u4F60\u7684 SQL \u4E86\u5417\uFF1F"})}),(0,i.jsx)("p",{className:"desc_fTY7",children:(0,i.jsx)(d.A,{id:"homepage.cta.desc",children:"\u51E0\u5206\u949F\u5B8C\u6210\u63A5\u5165\uFF0C\u4F53\u9A8C\u591A\u65B9\u8A00\u89E3\u6790\u3001\u8840\u7F18\u8FFD\u6EAF\u4E0E\u53C2\u6570\u9884\u7F16\u8BD1\u80FD\u529B\u3002"})}),(0,i.jsxs)("div",{className:"actions_AcwB",children:[(0,i.jsx)(l.A,{className:"button button--lg primary_lgmO",to:"/docs/quickstart/setup",children:(0,i.jsx)(d.A,{id:"homepage.cta.primary",children:"\u5FEB\u901F\u5F00\u59CB"})}),(0,i.jsx)(l.A,{className:"button button--lg secondary_m1GY",href:"https://github.com/DTStack/SqlParserX",children:(0,i.jsx)(d.A,{id:"homepage.cta.secondary",children:"\u67E5\u770B\u6E90\u7801"})})]})]})})}function k(){let{siteConfig:e}=(0,r.A)();return(0,i.jsxs)(c.A,{title:e.title,description:e.tagline,children:[(0,i.jsx)(h,{}),(0,i.jsxs)("main",{className:"main_iUjq",children:[(0,i.jsx)(m,{}),(0,i.jsx)(g,{}),(0,i.jsx)(A,{}),(0,i.jsx)(L,{})]})]})}}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.0fff0dec.js b/assets/js/ccc49370.0fff0dec.js new file mode 100644 index 0000000..b2c548b --- /dev/null +++ b/assets/js/ccc49370.0fff0dec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6074"],{4533(e,t,n){n.d(t,{A:()=>k});var r=n(4848);n(6540);var i=n(4164),l=n(7645);function s({children:e,className:t}){return(0,r.jsx)("article",{className:t,children:e})}var a=n(5310);function o({className:e}){let{metadata:t,isBlogPostPage:n}=(0,l.e7)(),{permalink:s,title:c}=t;return(0,r.jsx)(n?"h1":"h2",{className:(0,i.A)("title_f1Hy",e),children:n?c:(0,r.jsx)(a.A,{to:s,children:c})})}var c=n(568),d=n(8878),u=n(7954);function m({readingTime:e}){let t=function(){let{selectMessage:e}=(0,d.W)();return t=>{let n=Math.ceil(t);return e(n,(0,c.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:t(e)})}function h({date:e,formattedDate:t}){return(0,r.jsx)("time",{dateTime:e,children:t})}function g(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function x({className:e}){let{metadata:t}=(0,l.e7)(),{date:n,readingTime:s}=t,a=(0,u.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,i.A)("container_mt6G","margin-vert--md",e),children:[(0,r.jsx)(h,{date:n,formattedDate:a.format(new Date(n))}),void 0!==s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g,{}),(0,r.jsx)(m,{readingTime:s})]})]})}var f=n(6947);function p({className:e}){let{metadata:{authors:t},assets:n}=(0,l.e7)();if(0===t.length)return null;let s=t.every(({name:e})=>!e),a=1===t.length;return(0,r.jsx)("div",{className:(0,i.A)("margin-top--md margin-bottom--sm",s?"imageOnlyAuthorRow_pa_O":"row",e),children:t.map((e,t)=>(0,r.jsx)("div",{className:(0,i.A)(!s&&(a?"col col--12":"col col--6"),s?"imageOnlyAuthorCol_G86a":"authorCol_Hf19"),children:(0,r.jsx)(f.A,{author:{...e,imageURL:n.authorsImageUrls[t]??e.imageURL}})},t))})}function j(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(o,{}),(0,r.jsx)(x,{}),(0,r.jsx)(p,{})]})}var b=n(5248),v=n(4743);function A({children:e,className:t}){let{isBlogPostPage:n}=(0,l.e7)();return(0,r.jsx)("div",{id:n?b.blogPostContainerID:void 0,className:(0,i.A)("markdown",t),children:(0,r.jsx)(v.A,{children:e})})}var y=n(8287),N=n(7410),_=n(4999);function T(){return(0,r.jsx)("b",{children:(0,r.jsx)(c.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function w(e){let{blogPostTitle:t,...n}=e;return(0,r.jsx)(a.A,{"aria-label":(0,c.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(T,{})})}function L(){let{metadata:e,isBlogPostPage:t}=(0,l.e7)(),{tags:n,title:s,editUrl:a,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&o,m=n.length>0;if(!(m||u||a))return null;if(!t)return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[m&&(0,r.jsx)("div",{className:(0,i.A)("col",{"col--9":u}),children:(0,r.jsx)(_.A,{tags:n})}),u&&(0,r.jsx)("div",{className:(0,i.A)("col text--right",{"col--3":m}),children:(0,r.jsx)(w,{blogPostTitle:s,to:e.permalink})})]});{let e=!!(a||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[m&&(0,r.jsx)("div",{className:(0,i.A)("row","margin-top--sm",y.G.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(_.A,{tags:n})})}),e&&(0,r.jsx)(N.A,{className:(0,i.A)("margin-top--sm",y.G.blog.blogFooterEditMetaRow),editUrl:a,lastUpdatedAt:d,lastUpdatedBy:c})]})}}function k({children:e,className:t}){let n=function(){let{isBlogPostPage:e}=(0,l.e7)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(s,{className:(0,i.A)(n,t),children:[(0,r.jsx)(j,{}),(0,r.jsx)(A,{children:e}),(0,r.jsx)(L,{})]})}},2063(e,t,n){n.r(t),n.d(t,{default:()=>b});var r=n(4848);n(6540);var i=n(4164),l=n(4308),s=n(8287),a=n(7645),o=n(8579),c=n(4533),d=n(568),u=n(7174);function m(e){let{nextItem:t,prevItem:n}=e;return(0,r.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,d.T)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[n&&(0,r.jsx)(u.A,{...n,subLabel:(0,r.jsx)(d.A,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer post"})}),t&&(0,r.jsx)(u.A,{...t,subLabel:(0,r.jsx)(d.A,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older post"}),isNext:!0})]})}function h(){let{assets:e,metadata:t}=(0,a.e7)(),{title:n,description:i,date:s,tags:o,authors:c,frontMatter:d}=t,{keywords:u}=d,m=e.image??d.image;return(0,r.jsxs)(l.be,{title:d.title_meta??n,description:i,keywords:u,image:m,children:[(0,r.jsx)("meta",{property:"og:type",content:"article"}),(0,r.jsx)("meta",{property:"article:published_time",content:s}),c.some(e=>e.url)&&(0,r.jsx)("meta",{property:"article:author",content:c.map(e=>e.url).filter(Boolean).join(",")}),o.length>0&&(0,r.jsx)("meta",{property:"article:tag",content:o.map(e=>e.label).join(",")})]})}var g=n(3572);function x(){let e=(0,a.J_)();return(0,r.jsx)(g.A,{children:(0,r.jsx)("script",{type:"application/ld+json",children:JSON.stringify(e)})})}var f=n(3242),p=n(7502);function j({sidebar:e,children:t}){let{metadata:n,toc:i}=(0,a.e7)(),{nextItem:l,prevItem:s,frontMatter:d}=n,{hide_table_of_contents:u,toc_min_heading_level:h,toc_max_heading_level:g}=d;return(0,r.jsxs)(o.A,{sidebar:e,toc:!u&&i.length>0?(0,r.jsx)(f.A,{toc:i,minHeadingLevel:h,maxHeadingLevel:g}):void 0,children:[(0,r.jsx)(p.A,{metadata:n}),(0,r.jsx)(c.A,{children:t}),(l||s)&&(0,r.jsx)(m,{nextItem:l,prevItem:s})]})}function b(e){let t=e.content;return(0,r.jsx)(a.in,{content:e.content,isBlogPostPage:!0,children:(0,r.jsxs)(l.e3,{className:(0,i.A)(s.G.wrapper.blogPages,s.G.page.blogPostPage),children:[(0,r.jsx)(h,{}),(0,r.jsx)(x,{}),(0,r.jsx)(j,{sidebar:e.sidebar,children:(0,r.jsx)(t,{})})]})})}},1250(e,t,n){n.d(t,{A:()=>c});var r=n(4848);n(6540);var i=n(4164),l=n(3276),s=n(8287),a=n(7444);function o({className:e}){return(0,r.jsx)(a.A,{type:"caution",title:(0,r.jsx)(l.Rc,{}),className:(0,i.A)(e,s.G.common.unlistedBanner),children:(0,r.jsx)(l.Uh,{})})}function c(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.AE,{}),(0,r.jsx)(o,{...e})]})}},7502(e,t,n){n.d(t,{A:()=>d});var r=n(4848);n(6540);var i=n(4164),l=n(3276),s=n(8287),a=n(7444);function o({className:e}){return(0,r.jsx)(a.A,{type:"caution",title:(0,r.jsx)(l.Yh,{}),className:(0,i.A)(e,s.G.common.draftBanner),children:(0,r.jsx)(l.TT,{})})}var c=n(1250);function d({metadata:e}){let{unlisted:t,frontMatter:n}=e;return(0,r.jsxs)(r.Fragment,{children:[(t||n.unlisted)&&(0,r.jsx)(c.A,{}),n.draft&&(0,r.jsx)(o,{})]})}},3242(e,t,n){n.d(t,{A:()=>s});var r=n(4848);n(6540);var i=n(4164),l=n(254);function s({className:e,...t}){return(0,r.jsx)("div",{className:(0,i.A)("tableOfContents_bqdL","thin-scrollbar",e),children:(0,r.jsx)(l.A,{...t,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},254(e,t,n){n.d(t,{A:()=>c});var r=n(4848),i=n(6540),l=n(1022);function s(e){let t=e.getBoundingClientRect();return t.top===t.bottom?s(e.parentNode):t}var a=n(5310);let o=i.memo(function e({toc:t,className:n,linkClassName:i,isChild:l}){return t.length?(0,r.jsx)("ul",{className:l?void 0:n,children:t.map(t=>(0,r.jsxs)("li",{children:[(0,r.jsx)(a.A,{to:`#${t.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:t.value}}),(0,r.jsx)(e,{isChild:!0,toc:t.children,className:n,linkClassName:i})]},t.id))}):null});function c({toc:e,className:t="table-of-contents table-of-contents__left-border",linkClassName:n="table-of-contents__link",linkActiveClassName:a,minHeadingLevel:d,maxHeadingLevel:u,...m}){var h;let g,x,f=(0,l.p)(),p=d??f.tableOfContents.minHeadingLevel,j=u??f.tableOfContents.maxHeadingLevel,b=function({toc:e,minHeadingLevel:t,maxHeadingLevel:n}){return(0,i.useMemo)(()=>{let r,i,l;return function e({toc:t,minHeadingLevel:n,maxHeadingLevel:r}){return t.flatMap(t=>{let i=e({toc:t.children,minHeadingLevel:n,maxHeadingLevel:r});return t.level>=n&&t.level<=r?[{...t,children:i}]:i})}({toc:(r=e.map(e=>({...e,parentIndex:-1,children:[]})),i=Array(7).fill(-1),r.forEach((e,t)=>{let n=i.slice(2,e.level);e.parentIndex=Math.max(...n),i[e.level]=t}),l=[],r.forEach(e=>{let{parentIndex:t,...n}=e;t>=0?r[t].children.push(n):l.push(n)}),l),minHeadingLevel:t,maxHeadingLevel:n})},[e,t,n])}({toc:e,minHeadingLevel:p,maxHeadingLevel:j});return h=(0,i.useMemo)(()=>{if(n&&a)return{linkClassName:n,linkActiveClassName:a,minHeadingLevel:p,maxHeadingLevel:j}},[n,a,p,j]),g=(0,i.useRef)(void 0),x=function(){let e=(0,i.useRef)(0),{navbar:{hideOnScroll:t}}=(0,l.p)();return(0,i.useEffect)(()=>{e.current=t?0:document.querySelector(".navbar").clientHeight},[t]),e}(),(0,i.useEffect)(()=>{if(!h)return()=>{};let{linkClassName:e,linkActiveClassName:t,minHeadingLevel:n,maxHeadingLevel:r}=h;function i(){let i=Array.from(document.getElementsByClassName(e)),l=function(e,{anchorTopOffset:t}){let n=e.find(e=>s(e).top>=t);if(n){var r;return(r=s(n)).top>0&&r.bottom<window.innerHeight/2?n:e[e.indexOf(n)-1]??null}return e[e.length-1]??null}(function({minHeadingLevel:e,maxHeadingLevel:t}){let n=[];for(let r=e;r<=t;r+=1)n.push(`h${r}.anchor`);return Array.from(document.querySelectorAll(n.join()))}({minHeadingLevel:n,maxHeadingLevel:r}),{anchorTopOffset:x.current}),a=i.find(e=>l&&l.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));i.forEach(e=>{e===a?(g.current&&g.current!==e&&g.current.classList.remove(t),e.classList.add(t),g.current=e):e.classList.remove(t)})}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}},[h,x]),(0,r.jsx)(o,{toc:b,className:t,linkClassName:n,...m})}},3276(e,t,n){n.d(t,{AE:()=>o,Rc:()=>s,TT:()=>d,Uh:()=>a,Yh:()=>c});var r=n(4848);n(6540);var i=n(568),l=n(3572);function s(){return(0,r.jsx)(i.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function a(){return(0,r.jsx)(i.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,r.jsx)(l.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,r.jsx)(i.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,r.jsx)(i.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/assets/js/dbbf4deb.bd47b7ef.js b/assets/js/dbbf4deb.bd47b7ef.js new file mode 100644 index 0000000..d2d0771 --- /dev/null +++ b/assets/js/dbbf4deb.bd47b7ef.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1837"],{3715(e,r,s){s.r(r),s.d(r,{metadata:()=>n,default:()=>h,frontMatter:()=>i,contentTitle:()=>d,toc:()=>c,assets:()=>a});var n=JSON.parse('{"id":"about/architecture","title":"\u67B6\u6784\u8BBE\u8BA1","description":"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784","source":"@site/versioned_docs/version-1.0/about/architecture.md","sourceDirName":"about","slug":"/about/architecture","permalink":"/SqlParserX/docs/about/architecture","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/about/architecture.md","tags":[],"version":"1.0","sidebarPosition":2,"frontMatter":{"title":"\u67B6\u6784\u8BBE\u8BA1","description":"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784","sidebar_label":"\u67B6\u6784\u8BBE\u8BA1","sidebar_position":2},"sidebar":"docs","previous":{"title":"SqlParserX\u4ECB\u7ECD","permalink":"/SqlParserX/docs/about/introduction"},"next":{"title":"\u73AF\u5883\u51C6\u5907\u4E0E\u6784\u5EFA","permalink":"/SqlParserX/docs/quickstart/setup"}}'),t=s(4848),l=s(8453);let i={title:"\u67B6\u6784\u8BBE\u8BA1",description:"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784",sidebar_label:"\u67B6\u6784\u8BBE\u8BA1",sidebar_position:2},d="SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784",a={},c=[{value:"\u603B\u4F53\u67B6\u6784",id:"\u603B\u4F53\u67B6\u6784",level:2},{value:"\u4E24\u5C42\u804C\u8D23",id:"\u4E24\u5C42\u804C\u8D23",level:2},{value:"\u6A21\u5757\u4F9D\u8D56",id:"\u6A21\u5757\u4F9D\u8D56",level:2}];function o(e){let r={code:"code",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",mermaid:"mermaid",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"sqlparserx-\u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784",children:"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784"})}),"\n",(0,t.jsx)(r.p,{children:"SqlParserX \u7684\u89E3\u6790\u5185\u6838\u7531\u4E24\u5957\u76F8\u4E92\u8854\u63A5\u3001\u7ED3\u6784\u5BF9\u79F0\u7684\u6269\u5C55\u4F53\u7CFB\u7EC4\u6210\uFF0C\u5206\u522B\u843D\u5728\u4E24\u4E2A\u72EC\u7ACB Jar Module\uFF1A"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:[(0,t.jsxs)(r.strong,{children:["SQL \u8BED\u6CD5\u89E3\u6790\u5C42\uFF08",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"}),"\uFF09"]}),"\uFF1A\u57FA\u4E8E\u5B98\u65B9 Druid\uFF0C\u901A\u8FC7\u7EDF\u4E00\u7684\u65B9\u8A00\u8DEF\u7531\u3001Parser \u57FA\u5EA7\u548C AST \u6A21\u578B\uFF0C\u6269\u5C55\u4E0D\u540C\u6570\u636E\u6E90\u7684 Lexer\u3001StatementParser \u4E0E AST Node\u3002"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsxs)(r.strong,{children:["SqlParserX \u4E1A\u52A1\u89E3\u6790\u5C42\uFF08",(0,t.jsx)(r.code,{children:"sqlparserx-core"}),"\uFF09"]}),"\uFF1A\u901A\u8FC7\u7EDF\u4E00\u7684\u65B9\u8A00\u8DEF\u7531\u3001",(0,t.jsx)(r.code,{children:"ISqlParser"})," \u5951\u7EA6\u548C\u4E1A\u52A1 Client\uFF0C\u6269\u5C55\u4E0D\u540C\u6570\u636E\u6E90\u7684\u8868\u89E3\u6790\u3001\u8840\u7F18\u89E3\u6790\u4E0E SQL \u6539\u5199\u903B\u8F91\u3002"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["\u4E24\u5C42\u90FD\u9075\u5FAA\u201C",(0,t.jsx)(r.strong,{children:"\u7EDF\u4E00\u5165\u53E3 \u2192 \u901A\u7528\u57FA\u5EA7 \u2192 \u7EDF\u4E00\u6269\u5C55\u70B9 \u2192 \u6570\u636E\u6E90\u5B9E\u73B0 \u2192 \u7EDF\u4E00\u7ED3\u679C"}),"\u201D\u7684\u6A21\u5F0F\u3002\u65B0\u589E\u6570\u636E\u6E90\u65F6\uFF0C\u8BED\u6CD5\u5DEE\u5F02\u5728 Druid \u5C42\u6269\u5C55\uFF0C\u4E1A\u52A1\u5DEE\u5F02\u5728 SqlParserX \u5C42\u6269\u5C55\uFF0C\u4E0A\u4E0B\u4E24\u5C42\u901A\u8FC7 ",(0,t.jsx)(r.code,{children:"DbType"})," \u548C Druid AST \u5BF9\u9F50\u3002"]}),"\n",(0,t.jsx)(r.p,{children:(0,t.jsx)(r.img,{alt:"SqlParserX \u53CC\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784",src:s(1440).A+"",width:"1745",height:"1361"})}),"\n",(0,t.jsx)(r.h2,{id:"\u603B\u4F53\u67B6\u6784",children:"\u603B\u4F53\u67B6\u6784"}),"\n",(0,t.jsx)(r.mermaid,{value:"flowchart TB\n subgraph Business[sqlparserx-core\uFF5CSqlParserX \u4E1A\u52A1\u89E3\u6790\u5C42]\n direction LR\n B_ROUTE[\u7EDF\u4E00\u65B9\u8A00\u8DEF\u7531<br/>SqlParserFactory]\n B_BASE[\u7EDF\u4E00\u4E1A\u52A1\u57FA\u5EA7<br/>ISqlParser \xb7 BaseSqlParser \xb7 Base Client]\n B_EXT[\u7EDF\u4E00\u6269\u5C55\u70B9<br/>\u65B9\u8A00 Client \xb7 \u89E3\u6790\u7B56\u7565]\n B_DIALECT[\u6570\u636E\u6E90\u4E1A\u52A1\u5B9E\u73B0<br/>MySQL \xb7 Doris \xb7 StarRocks \xb7 ...]\n B_RESULT[\u7EDF\u4E00\u4E1A\u52A1\u7ED3\u679C<br/>\u8868 \xb7 \u5EFA\u8868\u7ED3\u6784 \xb7 \u8840\u7F18 \xb7 SQL]\n B_ROUTE --\x3e B_BASE --\x3e B_EXT --\x3e B_DIALECT --\x3e B_RESULT\n end\n\n subgraph Syntax[sqlparserx-syntax\uFF5CSQL \u8BED\u6CD5\u89E3\u6790\u5C42\uFF0C\u57FA\u4E8E Druid]\n direction LR\n S_ROUTE[\u7EDF\u4E00\u65B9\u8A00\u8DEF\u7531<br/>SqlSyntaxParserFactory \xb7 DbType]\n S_BASE[\u7EDF\u4E00\u8BED\u6CD5\u57FA\u5EA7<br/>Lexer \xb7 StatementParser \xb7 AST]\n S_EXT[\u7EDF\u4E00\u6269\u5C55\u70B9<br/>\u65B9\u8A00 Lexer \xb7 Parser \xb7 AST Node]\n S_DIALECT[\u6570\u636E\u6E90\u8BED\u6CD5\u5B9E\u73B0<br/>MySQL \xb7 Doris \xb7 Oracle \xb7 ...]\n S_RESULT[\u7EDF\u4E00\u8BED\u6CD5\u7ED3\u679C<br/>SQLStatement AST]\n S_ROUTE --\x3e S_BASE --\x3e S_EXT --\x3e S_DIALECT --\x3e S_RESULT\n end\n\n B_ROUTE -. DbType \u5BF9\u9F50 .-> S_ROUTE\n B_DIALECT -. \u540C\u4E00\u6570\u636E\u6E90\u65B9\u8A00 .-> S_DIALECT\n B_BASE --\x3e|SQL + DbType| S_BASE\n S_RESULT --\x3e|SQLStatement AST| B_BASE"}),"\n",(0,t.jsx)(r.h2,{id:"\u4E24\u5C42\u804C\u8D23",children:"\u4E24\u5C42\u804C\u8D23"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u7EDF\u4E00\u6269\u5C55\u9636\u6BB5"}),(0,t.jsxs)(r.th,{children:["SQL \u8BED\u6CD5\u89E3\u6790\u5C42\uFF08",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"}),"\uFF09"]}),(0,t.jsxs)(r.th,{children:["SqlParserX \u4E1A\u52A1\u89E3\u6790\u5C42\uFF08",(0,t.jsx)(r.code,{children:"sqlparserx-core"}),"\uFF09"]})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u7EDF\u4E00\u65B9\u8A00\u8DEF\u7531"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"SqlSyntaxParserFactory"})," \u6309 ",(0,t.jsx)(r.code,{children:"DbType"})," \u9009\u62E9\u5BF9\u5E94\u8BED\u6CD5\u65B9\u8A00"]}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"SqlParserFactory"})," \u6839\u636E\u540C\u4E00\u4E2A ",(0,t.jsx)(r.code,{children:"DbType"})," \u9009\u62E9\u4E1A\u52A1\u89E3\u6790\u5668"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u901A\u7528\u57FA\u5EA7"}),(0,t.jsx)(r.td,{children:"\u901A\u7528 Lexer\u3001StatementParser \u548C AST"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"ISqlParser"}),"\u3001",(0,t.jsx)(r.code,{children:"BaseSqlParser"})," \u548C Base Client"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u7EDF\u4E00\u6269\u5C55\u70B9"}),(0,t.jsx)(r.td,{children:"\u65B9\u8A00 Lexer\u3001\u65B9\u8A00 StatementParser\u3001\u65B9\u8A00 AST Node"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"IParseTableClient"}),"\u3001",(0,t.jsx)(r.code,{children:"IColumnLineageClient"}),"\u3001",(0,t.jsx)(r.code,{children:"ITableLineageClient"}),"\u3001\u89E3\u6790\u7B56\u7565\u7B49"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u6570\u636E\u6E90\u5B9E\u73B0"}),(0,t.jsx)(r.td,{children:"MySQL\u3001Doris\u3001Oracle\u3001Hive \u7B49 Druid \u65B9\u8A00\u5B9E\u73B0"}),(0,t.jsx)(r.td,{children:"MySQL\u3001Doris\u3001StarRocks\u3001Hive \u7B49\u4E1A\u52A1\u65B9\u8A00\u5B9E\u73B0"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u7EDF\u4E00\u7ED3\u679C"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"SQLStatement"})," AST"]}),(0,t.jsx)(r.td,{children:"\u8868\u3001\u5EFA\u8868\u7ED3\u6784\u3001\u5B57\u6BB5\u8840\u7F18\u3001\u8868\u8840\u7F18\u3001\u51FD\u6570\u53CA\u6539\u5199\u540E\u7684 SQL"})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"\u6A21\u5757\u4F9D\u8D56",children:"\u6A21\u5757\u4F9D\u8D56"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"Access: sqlparserx-web (REST) / sqlparserx-ui\n \u2502 unified ISqlParser contract\nBusiness layer: sqlparserx-core\n \u2502 SQL + DbType / SQLStatement AST\nSyntax layer: sqlparserx-syntax (Druid 1.2.28)\n"})}),"\n",(0,t.jsxs)(r.p,{children:["\u4E1A\u52A1\u6269\u5C55\u9075\u5FAA ",(0,t.jsx)(r.code,{children:"SqlParserFactory"})," \u2192 ",(0,t.jsx)(r.code,{children:"ISqlParser"})," \u2192 ",(0,t.jsx)(r.code,{children:"BaseSqlParser"})," \u2192 \u65B9\u8A00\u5B9E\u73B0\u7684\u6A21\u5F0F\u3002\u5B8C\u6574\u7684\u6A21\u5757\u4F9D\u8D56\u4E0E\u5305\u7ED3\u6784\u89C1 ",(0,t.jsx)(r.code,{children:"sqlparserx-core"})," \u6A21\u5757\u7684 README\u3002"]})]})}function h(e={}){let{wrapper:r}={...(0,l.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},1440(e,r,s){s.d(r,{A:()=>n});let n=s.p+"assets/images/SqlParserX\u4E24\u5C42\u67B6\u6784-c7796d93ff72c04ff0bb409eba10ae82.png"},8453(e,r,s){s.d(r,{R:()=>i,x:()=>d});var n=s(6540);let t={},l=n.createContext(t);function i(e){let r=n.useContext(l);return n.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),n.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e0e79246.7c281c81.js b/assets/js/e0e79246.7c281c81.js new file mode 100644 index 0000000..98c6cef --- /dev/null +++ b/assets/js/e0e79246.7c281c81.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9784"],{7651(e,r,s){s.r(r),s.d(r,{metadata:()=>n,default:()=>u,frontMatter:()=>t,contentTitle:()=>i,toc:()=>d,assets:()=>o});var n=JSON.parse('{"id":"quickstart/setup","title":"\u5FEB\u901F\u5F00\u59CB","description":"\u5F15\u5165\u4F9D\u8D56\u3001\u6784\u5EFA\u5E76\u5728\u672C\u5730\u8FD0\u884C SqlParserX \u7684\u5B8C\u6574\u793A\u4F8B","source":"@site/versioned_docs/version-1.0/quickstart/setup.md","sourceDirName":"quickstart","slug":"/quickstart/setup","permalink":"/SqlParserX/docs/quickstart/setup","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/quickstart/setup.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"\u5FEB\u901F\u5F00\u59CB","description":"\u5F15\u5165\u4F9D\u8D56\u3001\u6784\u5EFA\u5E76\u5728\u672C\u5730\u8FD0\u884C SqlParserX \u7684\u5B8C\u6574\u793A\u4F8B","sidebar_label":"\u73AF\u5883\u51C6\u5907\u4E0E\u6784\u5EFA","sidebar_position":1},"sidebar":"docs","previous":{"title":"\u67B6\u6784\u8BBE\u8BA1","permalink":"/SqlParserX/docs/about/architecture"},"next":{"title":"SQL \u7C7B\u578B\u8BC6\u522B","permalink":"/SqlParserX/docs/core/sql-type"}}'),l=s(4848),a=s(8453);let t={title:"\u5FEB\u901F\u5F00\u59CB",description:"\u5F15\u5165\u4F9D\u8D56\u3001\u6784\u5EFA\u5E76\u5728\u672C\u5730\u8FD0\u884C SqlParserX \u7684\u5B8C\u6574\u793A\u4F8B",sidebar_label:"\u73AF\u5883\u51C6\u5907\u4E0E\u6784\u5EFA",sidebar_position:1},i="\u5FEB\u901F\u5F00\u59CB",o={},d=[{value:"1. \u73AF\u5883\u8981\u6C42",id:"1-\u73AF\u5883\u8981\u6C42",level:2},{value:"2. \u5F15\u5165\u4F9D\u8D56",id:"2-\u5F15\u5165\u4F9D\u8D56",level:2},{value:"3. Hello World\uFF1A\u89E3\u6790\u4E00\u6BB5 SQL",id:"3-hello-world\u89E3\u6790\u4E00\u6BB5-sql",level:2},{value:"4. \u4E0B\u4E00\u6B65",id:"4-\u4E0B\u4E00\u6B65",level:2}];function c(e){let r={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,a.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(r.header,{children:(0,l.jsx)(r.h1,{id:"\u5FEB\u901F\u5F00\u59CB",children:"\u5FEB\u901F\u5F00\u59CB"})}),"\n",(0,l.jsx)(r.h2,{id:"1-\u73AF\u5883\u8981\u6C42",children:"1. \u73AF\u5883\u8981\u6C42"}),"\n",(0,l.jsxs)(r.table,{children:[(0,l.jsx)(r.thead,{children:(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.th,{children:"\u4F9D\u8D56"}),(0,l.jsx)(r.th,{children:"\u7248\u672C"})]})}),(0,l.jsxs)(r.tbody,{children:[(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"JDK"}),(0,l.jsx)(r.td,{children:"Java 8+"})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsx)(r.td,{children:"Maven"}),(0,l.jsx)(r.td,{children:"3.6+"})]}),(0,l.jsxs)(r.tr,{children:[(0,l.jsxs)(r.td,{children:["Node.js\uFF08\u4EC5 ",(0,l.jsx)(r.code,{children:"sqlparserx-ui"}),"\uFF09"]}),(0,l.jsx)(r.td,{children:">= 20"})]})]})]}),"\n",(0,l.jsx)(r.h2,{id:"2-\u5F15\u5165\u4F9D\u8D56",children:"2. \u5F15\u5165\u4F9D\u8D56"}),"\n",(0,l.jsxs)(r.p,{children:["\u5728\u4E1A\u52A1\u5DE5\u7A0B\u7684 ",(0,l.jsx)(r.code,{children:"pom.xml"})," \u4E2D\u5F15\u5165",(0,l.jsx)(r.strong,{children:"\u4E1A\u52A1\u89E3\u6790\u5C42"})," ",(0,l.jsx)(r.code,{children:"sqlparserx-core"})," \u5373\u53EF\uFF1A"]}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,l.jsxs)(r.p,{children:[":::tip \u4F9D\u8D56\u8BF4\u660E\n",(0,l.jsx)(r.code,{children:"sqlparserx-core"})," \u4F1A",(0,l.jsx)(r.strong,{children:"\u4F20\u9012\u4F9D\u8D56"})," ",(0,l.jsx)(r.code,{children:"sqlparserx-syntax"}),"\uFF08\u8BED\u6CD5\u5C42\uFF09\u4E0E\u5B98\u65B9 Druid\uFF0C\u56E0\u6B64\u4E1A\u52A1\u89E3\u6790\u53EA\u9700\u5F15\u5165 ",(0,l.jsx)(r.code,{children:"core"})," \u4E00\u4E2A\u5750\u6807\uFF1B\u82E5\u53EA\u505A SQL\u2192AST \u7684\u8BED\u6CD5\u89E3\u6790\uFF0C\u4E5F\u53EF\u4EE5\u5355\u72EC\u5F15\u5165 ",(0,l.jsx)(r.code,{children:"sqlparserx-syntax"}),"\u3002\n:::"]}),"\n",(0,l.jsxs)(r.p,{children:[":::note \u4ECE\u6E90\u7801\u4F7F\u7528\n",(0,l.jsx)(r.code,{children:"1.0-SNAPSHOT"})," \u82E5\u5C1A\u672A\u53D1\u5E03\u5230\u8FDC\u7A0B\u4ED3\u5E93\uFF0C\u8BF7\u5148\u62C9\u53D6\u6E90\u7801\u5E76\u5B89\u88C5\u5230\u672C\u5730\u4ED3\u5E93\uFF1A"]}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-bash",children:"git clone https://github.com/DTStack/SqlParserX.git\ncd SqlParserX\nmvn clean install -DskipTests\n"})}),"\n",(0,l.jsx)(r.p,{children:"\u4E4B\u540E\u4E0A\u9762\u7684\u5750\u6807\u5373\u53EF\u5728\u672C\u5730\u76F4\u63A5\u4F7F\u7528\u3002\n:::"}),"\n",(0,l.jsx)(r.h2,{id:"3-hello-world\u89E3\u6790\u4E00\u6BB5-sql",children:"3. Hello World\uFF1A\u89E3\u6790\u4E00\u6BB5 SQL"}),"\n",(0,l.jsxs)(r.p,{children:["\u4E0B\u9762\u662F\u4E00\u4E2A",(0,l.jsx)(r.strong,{children:"\u5B8C\u6574\u53EF\u8FD0\u884C"}),"\u7684\u7C7B\uFF0C\u8986\u76D6\u89E3\u6790\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u3001\u8868\u8840\u7F18\u4E0E\u51FD\u6570\u56DB\u7C7B\u80FD\u529B\uFF0C\n\u4E0E\u5B98\u65B9 ",(0,l.jsx)(r.code,{children:"sqlparserx-core/README.md"})," \u4E2D\u7684\u793A\u4F8B\u4FDD\u6301\u4E00\u81F4\uFF1A"]}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-java",metastring:'title="SqlParserXDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.*;\n\npublic class SqlParserXDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1\u3001\u6309\u6570\u636E\u6E90\u7C7B\u578B\u83B7\u53D6\u89E3\u6790\u5668\uFF08\u652F\u6301 mysql/hive/doris/... 15+ \u65B9\u8A00\uFF09\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2\u3001\u89E3\u6790\u771F\u5B9E\u8868\n ParseTableResult tableResult = parser.parseTables(sql);\n System.out.println("\u4E3B\u8868: " + tableResult.getMainTable().getName());\n System.out.println("\u6240\u6709\u8868: " + tableResult.getAllTableName());\n\n // 3\u3001\u89E3\u6790\u5B57\u6BB5\u8840\u7F18\uFF08select * \u573A\u666F\u53EF\u4F20\u5165\u771F\u5B9E\u5B57\u6BB5\u5143\u6570\u636E\uFF09\n Map<String, List<Column>> tableColumnsMap = new HashMap<>();\n tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1)));\n tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1)));\n ColumnLineageResult columnLineageResult =\n parser.parseColumnLineages(sql, tableColumnsMap);\n columnLineageResult.printColumnLineage();\n\n // 4\u3001\u89E3\u6790\u8868\u8840\u7F18\n TableLineageResult tableLineageResult = parser.parseTableLineages(sql);\n List<TableLineage> tableLineages = tableLineageResult.getTableLineages();\n System.out.println("\u8868\u8840\u7F18: " + tableLineages);\n\n // 5\u3001\u89E3\u6790\u51FD\u6570\n Set<String> functions = parser.parseFunction(sql);\n System.out.println("\u51FD\u6570\u96C6\u5408: " + functions);\n }\n}\n'})}),"\n",(0,l.jsx)(r.p,{children:"\u63A7\u5236\u53F0\u8F93\u51FA\uFF08\u793A\u4F8B\uFF09\uFF1A"}),"\n",(0,l.jsx)(r.pre,{children:(0,l.jsx)(r.code,{className:"language-text",children:"\u4E3B\u8868: users\n\u6240\u6709\u8868: [user_order_summary, users, orders]\nusers.id -> user_order_summary.user_id\nusers.name -> user_order_summary.name\norders.amount -> user_order_summary.total_amount\norders.id -> user_order_summary.order_count\n\u8868\u8840\u7F18: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...]\n\u51FD\u6570\u96C6\u5408: [sum, count]\n"})}),"\n",(0,l.jsx)(r.h2,{id:"4-\u4E0B\u4E00\u6B65",children:"4. \u4E0B\u4E00\u6B65"}),"\n",(0,l.jsxs)(r.p,{children:["\u5404\u6838\u5FC3\u80FD\u529B\u7684",(0,l.jsx)(r.strong,{children:"\u4F9D\u8D56\u5F15\u5165 + \u5B8C\u6574\u793A\u4F8B"}),"\u89C1\uFF1A"]}),"\n",(0,l.jsxs)(r.ul,{children:["\n",(0,l.jsx)(r.li,{children:(0,l.jsx)(r.a,{href:"/SqlParserX/docs/core/field-lineage",children:"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790"})}),"\n",(0,l.jsx)(r.li,{children:(0,l.jsx)(r.a,{href:"/SqlParserX/docs/core/table-lineage",children:"\u8868\u8840\u7F18\u89E3\u6790"})}),"\n",(0,l.jsx)(r.li,{children:(0,l.jsx)(r.a,{href:"/SqlParserX/docs/core/table-parse",children:"\u8868\u89E3\u6790"})}),"\n",(0,l.jsx)(r.li,{children:(0,l.jsx)(r.a,{href:"/SqlParserX/docs/core/function-parse",children:"\u51FD\u6570\u89E3\u6790"})}),"\n"]})]})}function u(e={}){let{wrapper:r}={...(0,a.R)(),...e.components};return r?(0,l.jsx)(r,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},8453(e,r,s){s.d(r,{R:()=>t,x:()=>i});var n=s(6540);let l={},a=n.createContext(l);function t(e){let r=n.useContext(a);return n.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),n.createElement(a.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ece1c32f.aa2ebd53.js b/assets/js/ece1c32f.aa2ebd53.js new file mode 100644 index 0000000..7d48cf5 --- /dev/null +++ b/assets/js/ece1c32f.aa2ebd53.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7768"],{7697(a){a.exports=JSON.parse('{"tag":{"label":"\u8D77\u6E90\u4E0E\u80CC\u666F","permalink":"/SqlParserX/blog/tags/origin","description":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u4E0E\u5185\u90E8\u6539\u9020\u5386\u7A0B","allTagsPath":"/SqlParserX/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/SqlParserX/blog/tags/origin","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/efe00fe9.648f2287.js b/assets/js/efe00fe9.648f2287.js new file mode 100644 index 0000000..65774e8 --- /dev/null +++ b/assets/js/efe00fe9.648f2287.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4702"],{2840(e,r,n){n.r(r),n.d(r,{metadata:()=>s,default:()=>h,frontMatter:()=>d,contentTitle:()=>i,toc:()=>c,assets:()=>a});var s=JSON.parse('{"id":"core/table-lineage","title":"\u8868\u8840\u7F18\u89E3\u6790","description":"\u89E3\u6790 SQL \u4E2D\u6765\u6E90\u8868\u5230\u76EE\u6807\u8868\u7684\u8840\u7F18\u5173\u7CFB","source":"@site/docs/core/table-lineage.md","sourceDirName":"core","slug":"/core/table-lineage","permalink":"/SqlParserX/docs/next/core/table-lineage","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/table-lineage.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"title":"\u8868\u8840\u7F18\u89E3\u6790","description":"\u89E3\u6790 SQL \u4E2D\u6765\u6E90\u8868\u5230\u76EE\u6807\u8868\u7684\u8840\u7F18\u5173\u7CFB","sidebar_label":"\u8868\u8840\u7F18\u89E3\u6790","sidebar_position":2},"sidebar":"docs","previous":{"title":"\u5B57\u6BB5\u8840\u7F18\u89E3\u6790","permalink":"/SqlParserX/docs/next/core/field-lineage"},"next":{"title":"\u8868\u89E3\u6790","permalink":"/SqlParserX/docs/next/core/table-parse"}}'),t=n(4848),l=n(8453);let d={title:"\u8868\u8840\u7F18\u89E3\u6790",description:"\u89E3\u6790 SQL \u4E2D\u6765\u6E90\u8868\u5230\u76EE\u6807\u8868\u7684\u8840\u7F18\u5173\u7CFB",sidebar_label:"\u8868\u8840\u7F18\u89E3\u6790",sidebar_position:2},i="\u8868\u8840\u7F18\u89E3\u6790",a={},c=[{value:"1. \u5F15\u5165\u4F9D\u8D56",id:"1-\u5F15\u5165\u4F9D\u8D56",level:2},{value:"2. \u5B8C\u6574\u793A\u4F8B",id:"2-\u5B8C\u6574\u793A\u4F8B",level:2},{value:"3. \u5B9E\u73B0\u76EE\u6807",id:"3-\u5B9E\u73B0\u76EE\u6807",level:2},{value:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",level:2},{value:"5. \u652F\u6301\u7C92\u5EA6",id:"5-\u652F\u6301\u7C92\u5EA6",level:2}];function o(e){let r={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.header,{children:(0,t.jsx)(r.h1,{id:"\u8868\u8840\u7F18\u89E3\u6790",children:"\u8868\u8840\u7F18\u89E3\u6790"})}),"\n",(0,t.jsx)(r.h2,{id:"1-\u5F15\u5165\u4F9D\u8D56",children:"1. \u5F15\u5165\u4F9D\u8D56"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"sqlparserx-core"})," \u5DF2\u4F20\u9012\u4F9D\u8D56 ",(0,t.jsx)(r.code,{children:"sqlparserx-syntax"})," \u4E0E Druid\uFF0C\u65E0\u9700\u989D\u5916\u5F15\u5165\u3002"]}),"\n"]}),"\n",(0,t.jsx)(r.h2,{id:"2-\u5B8C\u6574\u793A\u4F8B",children:"2. \u5B8C\u6574\u793A\u4F8B"}),"\n",(0,t.jsxs)(r.p,{children:["\u6CBF\u7528\u5B98\u65B9 ",(0,t.jsx)(r.code,{children:"sqlparserx-core/README.md"})," \u7684\u793A\u4F8B SQL\uFF0C\u4ECE\u83B7\u53D6\u89E3\u6790\u5668\u5230\u6253\u5370\u8868\u8840\u7F18\uFF1A"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-java",metastring:'title="TableLineageDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.List;\n\npublic class TableLineageDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1\u3001\u83B7\u53D6\u89E3\u6790\u5668\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2\u3001\u89E3\u6790\u8868\u8840\u7F18\n TableLineageResult result = parser.parseTableLineages(sql);\n\n // 3\u3001\u8BFB\u53D6\u7ED3\u679C\n System.out.println("\u76EE\u6807\u8868: " + result.getTargetTable());\n System.out.println("\u6765\u6E90\u8868: " + result.getSourceTables());\n\n List<TableLineage> tableLineages = result.getTableLineages();\n for (TableLineage lineage : tableLineages) {\n System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable());\n }\n }\n}\n'})}),"\n",(0,t.jsx)(r.p,{children:"\u63A7\u5236\u53F0\u8F93\u51FA\uFF08\u793A\u4F8B\uFF09\uFF1A"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"\u76EE\u6807\u8868: user_order_summary\n\u6765\u6E90\u8868: [users, orders]\nusers -> user_order_summary\norders -> user_order_summary\n"})}),"\n",(0,t.jsx)(r.h2,{id:"3-\u5B9E\u73B0\u76EE\u6807",children:"3. \u5B9E\u73B0\u76EE\u6807"}),"\n",(0,t.jsxs)(r.p,{children:["\u4ECE SQL \u4E2D\u89E3\u6790",(0,t.jsx)(r.strong,{children:"\u76EE\u6807\u8868 \u2192 \u6765\u6E90\u8868"}),"\u7684\u8868\u7EA7\u8840\u7F18\u5173\u7CFB\uFF0C\u8986\u76D6 JOIN\u3001UNION\u3001\u5B50\u67E5\u8BE2\u3001\u805A\u5408\u4E0E CTE \u7B49\u7ED3\u6784\u3002"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-text",children:"SQLStatement AST\n \u2192 TableLineageClient.parseTableLineages\n \u2192 \u6536\u96C6\u6765\u6E90\u8868 + \u76EE\u6807\u8868\n \u2192 TableLineageResult\n"})}),"\n",(0,t.jsx)(r.h2,{id:"4-\u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E",children:"4. \u5165\u53E3\u4E0E\u5B9E\u73B0\u4F4D\u7F6E"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u9879\u76EE"}),(0,t.jsx)(r.th,{children:"\u5185\u5BB9"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"Core \u5165\u53E3"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"ISqlParser.parseTableLineages(sql)"})})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u9ED8\u8BA4\u5B9E\u73B0"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"BaseSqlParser.parseTableLineages"})," \u2192 ",(0,t.jsx)(r.code,{children:"TableLineageClient"})]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u8FD4\u56DE\u7C7B\u578B"}),(0,t.jsxs)(r.td,{children:[(0,t.jsx)(r.code,{children:"TableLineageResult"}),"\uFF08",(0,t.jsx)(r.code,{children:"getTargetTable()"})," + ",(0,t.jsx)(r.code,{children:"getSourceTables()"})," + ",(0,t.jsx)(r.code,{children:"getTableLineages()"}),"\uFF09"]})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u8986\u76D6\u7ED3\u6784"}),(0,t.jsx)(r.td,{children:"JOIN\u3001UNION\u3001\u5B50\u67E5\u8BE2\u3001\u805A\u5408\u3001CTE"})]})]})]}),"\n",(0,t.jsx)(r.h2,{id:"5-\u652F\u6301\u7C92\u5EA6",children:"5. \u652F\u6301\u7C92\u5EA6"}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"\u80FD\u529B\u9879"}),(0,t.jsx)(r.th,{children:"\u652F\u6301\u60C5\u51B5"}),(0,t.jsx)(r.th,{children:"\u8BF4\u660E"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u5355\u8868 / \u591A\u8868 JOIN"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u89E3\u6790\u6240\u6709\u53C2\u4E0E\u8868"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"UNION / UNION ALL"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u5F52\u5E76\u5404\u5206\u652F\u6765\u6E90\u8868"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"\u5B50\u67E5\u8BE2 / \u6D3E\u751F\u8868"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u9012\u5F52\u6536\u96C6\u771F\u5B9E\u8868"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"CTE\uFF08WITH\uFF09"}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u8BC6\u522B CTE \u4E0E\u5176\u771F\u5B9E\u6765\u6E90"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:(0,t.jsx)(r.code,{children:"INSERT INTO ... SELECT"})}),(0,t.jsx)(r.td,{children:(0,t.jsx)(r.strong,{children:"\u5DF2\u652F\u6301 \u2705"})}),(0,t.jsx)(r.td,{children:"\u8F93\u51FA\u76EE\u6807\u8868\u4E0E\u6765\u6E90\u8868"})]})]})]}),"\n",(0,t.jsxs)(r.blockquote,{children:["\n",(0,t.jsxs)(r.p,{children:["\u66F4\u591A\u8868\u8840\u7F18\u573A\u666F\u4E0E\u6570\u636E\u6E90\u5DEE\u5F02\uFF0C\u4EE5\u9879\u76EE ",(0,t.jsx)(r.code,{children:"docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u80FD\u529B\u652F\u6301\u60C5\u51B5/\u901A\u7528\u89E3\u6790\u80FD\u529B/\u8868\u8840\u7F18\u89E3\u6790\u652F\u6301\u60C5\u51B5.md"})," \u4E3A\u51C6\u3002"]}),"\n"]})]})}function h(e={}){let{wrapper:r}={...(0,l.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},8453(e,r,n){n.d(r,{R:()=>d,x:()=>i});var s=n(6540);let t={},l=s.createContext(t);function d(e){let r=s.useContext(l);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:d(e.components),s.createElement(l.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.a29faf1c.js b/assets/js/main.a29faf1c.js new file mode 100644 index 0000000..c23f6f9 --- /dev/null +++ b/assets/js/main.a29faf1c.js @@ -0,0 +1,38 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1889"],{7612(e,t,n){"use strict";n.r(t)},6464(e,t,n){"use strict";n.r(t)},6448(e,t,n){"use strict";n.r(t)},3328(e,t,n){"use strict";n.d(t,{AO:()=>f,yJ:()=>p,sC:()=>C,TM:()=>T,zR:()=>w});var r=n(8168);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}let l=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],l=t&&t.split("/")||[],i=e&&a(e),s=t&&a(t),u=i||s;if(e&&a(e)?l=r:r.length&&(l.pop(),l=l.concat(r)),!l.length)return"/";if(l.length){var c=l[l.length-1];n="."===c||".."===c||""===c}else n=!1;for(var d=0,f=l.length;f>=0;f--){var p=l[f];"."===p?o(l,f):".."===p?(o(l,f),d++):d&&(o(l,f),d--)}if(!u)for(;d--;)l.unshift("..");!u||""===l[0]||l[0]&&a(l[0])||l.unshift("");var m=l.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var i=n(1561);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o,i,s,u,c,d;"string"==typeof e?(s="",u="",-1!==(c=(i=e||"/").indexOf("#"))&&(u=i.substr(c),i=i.substr(0,c)),-1!==(d=i.indexOf("?"))&&(s=i.substr(d),i=i.substr(0,d)),(o={pathname:i,search:"?"===s?"":s,hash:"#"===u?"":u}).state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(e){if(e instanceof URIError)throw URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.');throw e}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=l(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null,t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter(function(e){return e!==r})}},notifyListeners:function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach(function(e){return e.apply(void 0,n)})}}}var g=!!("u">typeof window&&window.document&&window.document.createElement);function h(e,t){t(window.confirm(e))}var b="popstate",y="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),g||(0,i.A)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=-1!==window.navigator.userAgent.indexOf("Trident"),l=e,u=l.forceRefresh,w=void 0!==u&&u,S=l.getUserConfirmation,k=void 0===S?h:S,x=l.keyLength,E=void 0===x?6:x,_=e.basename?d(s(e.basename)):"";function T(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return _&&(o=c(o,_)),p(o,r,n)}function A(){return Math.random().toString(36).substr(2,E)}var C=m();function P(e){(0,r.A)(U,e),U.length=n.length,C.notifyListeners(U.location,U.action)}function N(e){(void 0!==e.state||-1!==navigator.userAgent.indexOf("CriOS"))&&I(T(e.state))}function O(){I(T(v()))}var L=!1;function I(e){L?(L=!1,P()):C.confirmTransitionTo(e,"POP",k,function(t){var n,r,a,o,l;t?P({action:"POP",location:e}):(n=e,r=U.location,-1===(a=j.indexOf(r.key))&&(a=0),-1===(o=j.indexOf(n.key))&&(o=0),(l=a-o)&&(L=!0,F(l)))})}var R=T(v()),j=[R.key];function D(e){return _+f(e)}function F(e){n.go(e)}var M=0;function z(e){1===(M+=e)&&1===e?(window.addEventListener(b,N),o&&window.addEventListener(y,O)):0===M&&(window.removeEventListener(b,N),o&&window.removeEventListener(y,O))}var B=!1,U={length:n.length,action:"POP",location:R,createHref:D,push:function(e,t){var r="PUSH",o=p(e,t,A(),U.location);C.confirmTransitionTo(o,r,k,function(e){if(e){var t=D(o),l=o.key,i=o.state;if(a)if(n.pushState({key:l,state:i},null,t),w)window.location.href=t;else{var s=j.indexOf(U.location.key),u=j.slice(0,s+1);u.push(o.key),j=u,P({action:r,location:o})}else window.location.href=t}})},replace:function(e,t){var r="REPLACE",o=p(e,t,A(),U.location);C.confirmTransitionTo(o,r,k,function(e){if(e){var t=D(o),l=o.key,i=o.state;if(a)if(n.replaceState({key:l,state:i},null,t),w)window.location.replace(t);else{var s=j.indexOf(U.location.key);-1!==s&&(j[s]=o.key),P({action:r,location:o})}else window.location.replace(t)}})},go:F,goBack:function(){F(-1)},goForward:function(){F(1)},block:function(e){void 0===e&&(e=!1);var t=C.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=C.appendListener(e);return z(1),function(){z(-1),t()}}};return U}var S="hashchange",k={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+u(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:u,decodePath:s},slash:{encodePath:s,decodePath:s}};function x(e){var t=e.indexOf("#");return -1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return -1===t?"":e.substring(t+1)}function _(e){window.location.replace(x(window.location.href)+"#"+e)}function T(e){void 0===e&&(e={}),g||(0,i.A)(!1);var t=window.history;window.navigator.userAgent.indexOf("Firefox");var n=e,a=n.getUserConfirmation,o=void 0===a?h:a,l=n.hashType,u=e.basename?d(s(e.basename)):"",b=k[void 0===l?"slash":l],y=b.encodePath,v=b.decodePath;function w(){var e=v(E());return u&&(e=c(e,u)),p(e)}var T=m();function A(e){(0,r.A)(z,e),z.length=t.length,T.notifyListeners(z.location,z.action)}var C=!1,P=null;function N(){var e=E(),t=y(e);if(e!==t)_(t);else{var n,r=w(),a=z.location;if(!C&&a.pathname===r.pathname&&a.search===r.search&&a.hash===r.hash||P===f(r))return;P=null,n=r,C?(C=!1,A()):T.confirmTransitionTo(n,"POP",o,function(e){var t,r,a,o,l;e?A({action:"POP",location:n}):(t=n,r=z.location,-1===(a=R.lastIndexOf(f(r)))&&(a=0),-1===(o=R.lastIndexOf(f(t)))&&(o=0),(l=a-o)&&(C=!0,j(l)))})}}var O=E(),L=y(O);O!==L&&_(L);var I=w(),R=[f(I)];function j(e){t.go(e)}var D=0;function F(e){1===(D+=e)&&1===e?window.addEventListener(S,N):0===D&&window.removeEventListener(S,N)}var M=!1,z={length:t.length,action:"POP",location:I,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=x(window.location.href)),n+"#"+y(u+f(e))},push:function(e,t){var n="PUSH",r=p(e,void 0,void 0,z.location);T.confirmTransitionTo(r,n,o,function(e){if(e){var t=f(r),a=y(u+t);if(E()!==a){P=t,window.location.hash=a;var o=R.lastIndexOf(f(z.location)),l=R.slice(0,o+1);l.push(t),R=l,A({action:n,location:r})}else A()}})},replace:function(e,t){var n="REPLACE",r=p(e,void 0,void 0,z.location);T.confirmTransitionTo(r,n,o,function(e){if(e){var t=f(r),a=y(u+t);E()!==a&&(P=t,_(a));var o=R.indexOf(f(z.location));-1!==o&&(R[o]=t),A({action:n,location:r})}})},go:j,goBack:function(){j(-1)},goForward:function(){j(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return M||(F(1),M=!0),function(){return M&&(M=!1,F(-1)),t()}},listen:function(e){var t=T.appendListener(e);return F(1),function(){F(-1),t()}}};return z}function A(e,t,n){return Math.min(Math.max(e,t),n)}function C(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,l=t.initialIndex,i=t.keyLength,s=void 0===i?6:i,u=m();function c(e){(0,r.A)(y,e),y.length=y.entries.length,u.notifyListeners(y.location,y.action)}function d(){return Math.random().toString(36).substr(2,s)}var g=A(void 0===l?0:l,0,o.length-1),h=o.map(function(e){return"string"==typeof e?p(e,void 0,d()):p(e,void 0,e.key||d())});function b(e){var t=A(y.index+e,0,y.entries.length-1),r=y.entries[t];u.confirmTransitionTo(r,"POP",n,function(e){e?c({action:"POP",location:r,index:t}):c()})}var y={length:h.length,action:"POP",location:h[g],index:g,entries:h,createHref:f,push:function(e,t){var r="PUSH",a=p(e,t,d(),y.location);u.confirmTransitionTo(a,r,n,function(e){if(e){var t=y.index+1,n=y.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),c({action:r,location:a,index:t,entries:n})}})},replace:function(e,t){var r="REPLACE",a=p(e,t,d(),y.location);u.confirmTransitionTo(a,r,n,function(e){e&&(y.entries[y.index]=a,c({action:r,location:a}))})},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=y.index+e;return t>=0&&t<y.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return y}},4146(e,t,n){"use strict";var r=n(4363),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},l={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function s(e){return r.isMemo(e)?l:i[e.$$typeof]||a}i[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i[r.Memo]=l;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var l=c(n);d&&(l=l.concat(d(n)));for(var i=s(t),g=s(n),h=0;h<l.length;++h){var b=l[h];if(!o[b]&&!(r&&r[b])&&!(g&&g[b])&&!(i&&i[b])){var y=f(n,b);try{u(t,b,y)}catch(e){}}}}return t}},311(e){"use strict";e.exports=function(e,t,n,r,a,o,l,i){if(!e){var s;if(void 0===t)s=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,l,i],c=0;(s=Error(t.replace(/%s/g,function(){return u[c++]}))).name="Invariant Violation"}throw s.framesToPop=1,s}}},4634(e){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},5947(e){var t;t=function(){var e,t,n,r={};r.version="0.2.0";var a=r.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}r.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(a[t]=n);return this},r.status=null,r.set=function(e){var t=r.isStarted();r.status=1===(e=o(e,a.minimum,1))?null:e;var n=r.render(!t),s=n.querySelector(a.barSelector),u=a.speed,c=a.easing;return n.offsetWidth,l(function(t){var o,l,d,f;""===a.positionUsing&&(a.positionUsing=r.getPositioningCSS()),i(s,(o=e,l=u,d=c,(f="translate3d"===a.positionUsing?{transform:"translate3d("+(-1+o)*100+"%,0,0)"}:"translate"===a.positionUsing?{transform:"translate("+(-1+o)*100+"%,0)"}:{"margin-left":(-1+o)*100+"%"}).transition="all "+l+"ms "+d,f)),1===e?(i(n,{transition:"none",opacity:1}),n.offsetWidth,setTimeout(function(){i(n,{transition:"all "+u+"ms linear",opacity:0}),setTimeout(function(){r.remove(),t()},u)},u)):setTimeout(t,u)}),this},r.isStarted=function(){return"number"==typeof r.status},r.start=function(){r.status||r.set(0);var e=function(){setTimeout(function(){r.status&&(r.trickle(),e())},a.trickleSpeed)};return a.trickle&&e(),this},r.done=function(e){return e||r.status?r.inc(.3+.5*Math.random()).set(1):this},r.inc=function(e){var t=r.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),r.set(t)):r.start()},r.trickle=function(){return r.inc(Math.random()*a.trickleRate)},e=0,t=0,r.promise=function(n){return n&&"resolved"!==n.state()&&(0===t&&r.start(),e++,t++,n.always(function(){0==--t?(e=0,r.done()):r.set((e-t)/e)})),this},r.render=function(e){if(r.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=a.template;var n,o=t.querySelector(a.barSelector),l=e?"-100":(-1+(r.status||0))*100,s=document.querySelector(a.parent);return i(o,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),!a.showSpinner&&(n=t.querySelector(a.spinnerSelector))&&f(n),s!=document.body&&u(s,"nprogress-custom-parent"),s.appendChild(t),t},r.remove=function(){c(document.documentElement,"nprogress-busy"),c(document.querySelector(a.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},r.isRendered=function(){return!!document.getElementById("nprogress")},r.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=(n=[],function(e){n.push(e),1==n.length&&function e(){var t=n.shift();t&&t(e)}()}),i=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n,r,a){var o;r=t[o=(o=r).replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()})]||(t[o]=function(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}(o)),n.style[r]=a}return function(e,t){var r,a,o=arguments;if(2==o.length)for(r in t)void 0!==(a=t[r])&&t.hasOwnProperty(r)&&n(e,r,a);else n(e,o[1],o[2])}}();function s(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=d(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function c(e,t){var n,r=d(e);s(e,t)&&(e.className=(n=r.replace(" "+t+" "," ")).substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return r},"function"==typeof define&&define.amd?define(t):e.exports=t()},5302(e,t,n){var r=n(4634);e.exports=function e(t,n,a){if(r(n)||(a=n||a,n=[]),a=a||{},t instanceof RegExp){var l,i,s=n,d=t.source.match(/\((?!\?)/g);if(d)for(var f=0;f<d.length;f++)s.push({name:f,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return t.keys=s,t}if(r(t)){for(var p,m=n,g=a,h=[],b=0;b<t.length;b++)h.push(e(t[b],m,g).source);return(p=RegExp("(?:"+h.join("|")+")",u(g))).keys=m,p}return l=n,c(o(t,i=a),l,i)},e.exports.parse=o,e.exports.compile=function(e,t){return i(o(e,t),t)},e.exports.tokensToFunction=i,e.exports.tokensToRegExp=c;var a=RegExp("(\\\\.)|([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))","g");function o(e,t){for(var n,r=[],o=0,l=0,i="",u=t&&t.delimiter||"/";null!=(n=a.exec(e));){var c,d,f=n[0],p=n[1],m=n.index;if(i+=e.slice(l,m),l=m+f.length,p){i+=p[1];continue}var g=e[l],h=n[2],b=n[3],y=n[4],v=n[5],w=n[6],S=n[7];i&&(r.push(i),i="");var k=null!=h&&null!=g&&g!==h,x="+"===w||"*"===w,E="?"===w||"*"===w,_=h||u,T=y||v,A=h||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:b||o++,prefix:h||"",delimiter:_,optional:E,repeat:x,partial:k,asterisk:!!S,pattern:T?T.replace(/([=!:$\/()])/g,"\\$1"):S?".*":(c=_,!(d=A)||d.indexOf(c)>-1?"[^"+s(c)+"]+?":s(d)+"|(?:(?!"+s(d)+")[^"+s(c)+"])+?")})}return l<e.length&&(i+=e.substr(l)),i&&r.push(i),r}function l(e){return encodeURI(e).replace(/[\/?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}function i(e,t){for(var n=Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=RegExp("^(?:"+e[a].pattern+")$",u(t)));return function(t,a){for(var o="",i=t||{},s=(a||{}).pretty?l:encodeURIComponent,u=0;u<e.length;u++){var c,d=e[u];if("string"==typeof d){o+=d;continue}var f=i[d.name];if(null==f)if(d.optional){d.partial&&(o+=d.prefix);continue}else throw TypeError('Expected "'+d.name+'" to be defined');if(r(f)){if(!d.repeat)throw TypeError('Expected "'+d.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length)if(d.optional)continue;else throw TypeError('Expected "'+d.name+'" to not be empty');for(var p=0;p<f.length;p++){if(c=s(f[p]),!n[u].test(c))throw TypeError('Expected all "'+d.name+'" to match "'+d.pattern+'", but received `'+JSON.stringify(c)+"`");o+=(0===p?d.prefix:d.delimiter)+c}continue}if(c=d.asterisk?encodeURI(f).replace(/[?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}):s(f),!n[u].test(c))throw TypeError('Expected "'+d.name+'" to match "'+d.pattern+'", but received "'+c+'"');o+=d.prefix+c}return o}}function s(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e&&e.sensitive?"":"i"}function c(e,t,n){r(t)||(n=t||n,t=[]);for(var a,o=(n=n||{}).strict,l=!1!==n.end,i="",c=0;c<e.length;c++){var d=e[c];if("string"==typeof d)i+=s(d);else{var f=s(d.prefix),p="(?:"+d.pattern+")";t.push(d),d.repeat&&(p+="(?:"+f+p+")*"),i+=p=d.optional?d.partial?f+"("+p+")?":"(?:"+f+"("+p+"))?":f+"("+p+")"}}var m=s(n.delimiter||"/"),g=i.slice(-m.length)===m;return o||(i=(g?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),l?i+="$":i+=o&&g?"":"(?="+m+"|$)",(a=RegExp("^"+i,u(n))).keys=t,a}},7022(){!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,l=0;l<a.length;l++)o[a[l]]=e.languages.bash[a[l]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash}(Prism)},6976(){var e,t,n,r;e=Prism,t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}},e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})},2514(){Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},9700(){var e=Prism;function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var l=n.tokenStack=[];n.code=n.code.replace(a,function(e){if("function"==typeof o&&!o(e))return e;for(var a,i=l.length;-1!==n.code.indexOf(a=t(r,i));)++i;return l[i]=e,a}),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function l(i){for(var s=0;s<i.length&&!(a>=o.length);s++){var u=i[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++a;var g=f.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),y=[];g&&y.push.apply(y,l([g])),y.push(h),b&&y.push.apply(y,l([b])),"string"==typeof u?i.splice.apply(i,[s,1].concat(y)):u.content=y}}else u.content&&l(u.content)}return i}(n.tokens)}}}})},9486(){var e;e=/\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i,Prism.languages.nginx={comment:{pattern:/(^|[\s{};])#.*/,lookbehind:!0,greedy:!0},directive:{pattern:/(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:{string:{pattern:/((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,lookbehind:!0,greedy:!0,inside:{escape:{pattern:/\\["'\\nrt]/,alias:"entity"},variable:e}},comment:{pattern:/(\s)#.*/,lookbehind:!0,greedy:!0},keyword:{pattern:/^\S+/,greedy:!0},boolean:{pattern:/(\s)(?:off|on)(?!\S)/,lookbehind:!0},number:{pattern:/(\s)\d+[a-z]*(?!\S)/i,lookbehind:!0},variable:e}},punctuation:/[{};]/}},2342(){Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},6966(){Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}},2416(e,t,n){var r={"./prism-bash":"7022","./prism-java":"6976","./prism-json":"2514","./prism-nginx":"9486","./prism-python":"2342","./prism-sql":"6966"};function a(e){return n(o(e))}function o(e){if(!n.o(r,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=2416},2694(e,t,n){"use strict";var r=n(6925);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,l){if(l!==r){var i=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5556(e,t,n){e.exports=n(2694)()},6925(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},1247(e,t,n){"use strict";var r,a=n(9982),o=n(6540),l=n(961);function i(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function u(e){for(var t=e,n=t;n&&!n.alternate;)0!=(4098&(t=n).flags)&&(e=t.return),n=t.return;for(;t.return;)t=t.return;return 3===t.tag?e:null}function c(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function d(e){if(31===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function f(e){if(u(e)!==e)throw Error(i(188))}function p(e,t,n,r,a,o){for(;null!==e;){if((5===e.tag||27===e.tag||6===e.tag)&&n(e,r,a,o)||(22!==e.tag||null===e.memoizedState)&&(t||5!==e.tag&&27!==e.tag)&&p(e.child,t,n,r,a,o))return!0;e=e.sibling}return!1}function m(e){for(e=e.return;null!==e;){if(3===e.tag||5===e.tag||27===e.tag)return e;e=e.return}return null}function g(e){var t=!1;for(e=e.return;null!==e&&(4===e.tag&&(t=!0),3!==e.tag&&5!==e.tag&&27!==e.tag);)e=e.return;return t}function h(e){var t=[null,null],n=m(e);return null===n||function e(t,n,r,a){for(;null!==r;){if(r===n)a.foundSelf=!0;else if(5===r.tag||27===r.tag||6===r.tag){if(a.foundSelf)return t[1]=r,!0;t[0]=r}else if((22!==r.tag||null===r.memoizedState)&&e(t,n,r.child,a))return!0;r=r.sibling}return!1}(t,e,n.child,{foundSelf:!1}),t}function b(e){switch(e.tag){case 5:case 27:case 6:return e.stateNode;case 3:return e.stateNode.containerInfo;default:throw Error(i(559))}}var y=null,v=null;function w(e,t,n){return e===n||e===t&&(y=e,!0)}function S(e,t,n){return e===n?(v=e,!1):e===t&&(null!==v&&(y=e),!0)}function k(e){if(null===e)return null;do e=null===e?null:e.return;while(e&&5!==e.tag&&27!==e.tag&&3!==e.tag)return e||null}function x(e,t,n){for(var r=0,a=e;a;a=n(a))r++;a=0;for(var o=t;o;o=n(o))a++;for(;0<r-a;)e=n(e),r--;for(;0<a-r;)t=n(t),a--;for(;r--;){if(e===t||null!==t&&e===t.alternate)return e;e=n(e),t=n(t)}return null}var E=Object.assign,_=Symbol.for("react.element"),T=Symbol.for("react.transitional.element"),A=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),P=Symbol.for("react.strict_mode"),N=Symbol.for("react.profiler"),O=Symbol.for("react.consumer"),L=Symbol.for("react.context"),I=Symbol.for("react.forward_ref"),R=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),D=Symbol.for("react.memo"),F=Symbol.for("react.lazy");Symbol.for("react.scope");var M=Symbol.for("react.activity"),z=Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var B=Symbol.for("react.memo_cache_sentinel"),U=Symbol.for("react.view_transition"),$=Symbol.for("react.recoverable"),q=Symbol.iterator;function H(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=q&&e[q]||e["@@iterator"])?e:null}var X=Symbol.for("react.client.reference"),V=Array.isArray,G=o.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W=l.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y={pending:!1,data:null,method:null,action:null},K=[],Q=-1;function Z(e){return{current:e}}function J(e){0>Q||(e.current=K[Q],K[Q]=null,Q--)}function ee(e,t){K[++Q]=e.current,e.current=t}var et=Z(null),en=Z(null),er=Z(null),ea=Z(null);function eo(e,t){switch(ee(er,t),ee(en,e),ee(et,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?cw(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=cS(t=cw(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}J(et),ee(et,e)}function el(){J(et),J(en),J(er)}function ei(e){var t=e.memoizedState;null!==t&&(dM._currentValue=t.memoizedState,ee(ea,e));var n=cS(t=et.current,e.type);t!==n&&(ee(en,e),ee(et,n))}function es(e){en.current===e&&(J(et),J(en)),ea.current===e&&(J(ea),dM._currentValue=Y)}function eu(e){if(void 0===t1)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);t1=t&&t[1]||"",t2=-1<e.stack.indexOf("\n at")?" (<anonymous>)":-1<e.stack.indexOf("@")?"@unknown:0:0":""}return"\n"+t1+e+t2}var ec=!1;function ed(e,t){if(!e||ec)return"";ec=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}n=!1;try{var a=Object.getOwnPropertyDescriptor(e.prototype,"props");Object.defineProperty(e.prototype,"props",{configurable:!0,set:function(){throw Error()}}),n=!0,new e}finally{n&&(void 0!==a?Object.defineProperty(e.prototype,"props",a):delete e.prototype.props)}}}else{try{throw Error()}catch(e){r=e}(n=e())&&"function"==typeof n.catch&&n.catch(function(){})}}catch(e){if(e&&r&&"string"==typeof e.stack)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var a=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");a&&a.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var o=r.DetermineComponentFrameRoot(),l=o[0],i=o[1];if(l&&i){var s=l.split("\n"),u=i.split("\n");for(a=r=0;r<s.length&&!s[r].includes("DetermineComponentFrameRoot");)r++;for(;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;if(r===s.length||a===u.length)for(r=s.length-1,a=u.length-1;1<=r&&0<=a&&s[r]!==u[a];)a--;for(;1<=r&&0<=a;r--,a--)if(s[r]!==u[a]){if(1!==r||1!==a)do if(r--,a--,0>a||s[r]!==u[a]){var c="\n"+s[r].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=r&&0<=a)break}}}finally{ec=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?eu(n):""}function ef(e){try{var t="",n=null;do t+=function(e,t){switch(e.tag){case 26:case 27:case 5:return eu(e.type);case 16:return eu("Lazy");case 13:return e.child!==t&&null!==t?eu("Suspense Fallback"):eu("Suspense");case 19:return eu("SuspenseList");case 0:case 15:return ed(e.type,!1);case 11:return ed(e.type.render,!1);case 1:return ed(e.type,!0);case 31:return eu("Activity");case 30:return eu("ViewTransition");default:return""}}(e,n),n=e,e=e.return;while(e)return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}var ep=Object.prototype.hasOwnProperty,em=a.unstable_scheduleCallback,eg=a.unstable_cancelCallback,eh=a.unstable_shouldYield,eb=a.unstable_requestPaint,ey=a.unstable_now,ev=a.unstable_getCurrentPriorityLevel,ew=a.unstable_ImmediatePriority,eS=a.unstable_UserBlockingPriority,ek=a.unstable_NormalPriority,ex=a.unstable_LowPriority,eE=a.unstable_IdlePriority,e_=a.log,eT=a.unstable_setDisableYieldValue,eA=null,eC=null;function eP(e){if("function"==typeof e_&&eT(e),eC&&"function"==typeof eC.setStrictMode)try{eC.setStrictMode(eA,e)}catch(e){}}var eN=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(eO(e)/eL|0)|0},eO=Math.log,eL=Math.LN2,eI=256,eR=262144,ej=4194304;function eD(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return 3932160&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:return 0x3c00000&e;case 0x4000000:return 0x4000000;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0;default:return e}}function eF(e,t,n){var r=e.pendingLanes;if(0===r)return 0;var a=0,o=e.suspendedLanes,l=e.pingedLanes;e=e.warmLanes;var i=0x7ffffff&r;return 0!==i?0!=(r=i&~o)?a=eD(r):0!=(l&=i)?a=eD(l):n||0!=(n=i&~e)&&(a=eD(n)):0!=(i=r&~o)?a=eD(i):0!==l?a=eD(l):n||0!=(n=r&~e)&&(a=eD(n)),0===a?0:0!==t&&t!==a&&0==(t&o)&&((o=a&-a)>=(n=t&-t)||32===o&&0!=(4194048&n))?t:a}function eM(e,t){return 0==(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function ez(e,t){0!=(8&t)&&(t|=32&t);var n=e.entangledLanes;if(0!==n)for(e=e.entanglements,n&=t;0<n;){var r=31-eN(n),a=1<<r;t|=e[r],n&=~a}return t}function eB(){var e=ej;return 0==(0x3c00000&(ej<<=1))&&(ej=4194304),e}function eU(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function e$(e,t){e.pendingLanes|=t,0x10000000!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function eq(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-eN(t);e.entangledLanes|=t,e.entanglements[r]=0x40000000|e.entanglements[r]|261930&n}function eH(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-eN(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}function eX(e,t){var n=t&-t;return 0!=((n=0!=(42&n)?1:eV(n))&(e.suspendedLanes|t))?0:n}function eV(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 0x1000000:case 0x2000000:e=128;break;case 0x10000000:e=0x8000000;break;default:e=0}return e}function eG(e){return 2<(e&=-e)?8<e?0!=(0x7ffffff&e)?32:0x10000000:8:2}function eW(){var e=W.p;return 0!==e?e:void 0===(e=window.event)?32:dJ(e.type)}function eY(e,t){var n=W.p;try{return W.p=e,t()}finally{W.p=n}}var eK=Math.random().toString(36).slice(2),eQ="__reactFiber$"+eK,eZ="__reactProps$"+eK,eJ="__reactContainer$"+eK,e0="__reactEvents$"+eK,e1="__reactListeners$"+eK,e2="__reactHandles$"+eK,e4="__reactResources$"+eK,e3="__reactMarker$"+eK,e6="__reactLoad$"+eK;function e5(e){delete e[eQ],delete e[eZ],delete e[e1],delete e[e2]}function e8(e){var t;if(t=e[eQ])return t;for(var n=e.parentNode;n;){if(t=n[eJ]||n[eQ]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=dr(e);null!==e;){if(n=e[eQ])return n;e=dr(e)}return t}n=(e=n).parentNode}return null}function e9(e){if(e=e[eQ]||e[eJ]){var t=e.tag;if(5===t||6===t||13===t||31===t||26===t||27===t||3===t)return e}return null}function e7(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e.stateNode;throw Error(i(33))}function te(e){var t=e[e4];return t||(t=e[e4]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function tt(e){e[e3]=!0}function tn(e){e[e6]=void 0}var tr=new Set,ta={};function to(e,t){tl(e,t),tl(e+"Capture",t)}function tl(e,t){for(ta[e]=t,e=0;e<t.length;e++)tr.add(t[e])}var ti=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),ts={},tu={},tc=!1;function td(){var e=tc;return tc=!1,e}function tf(e,t,n){if(ep.call(tu,t)||!ep.call(ts,t)&&(ti.test(t)?tu[t]=!0:(ts[t]=!0,!1)))if(null===n)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var r=t.toLowerCase().slice(0,5);if("data-"!==r&&"aria-"!==r)return void e.removeAttribute(t)}e.setAttribute(t,n)}}function tp(e,t,n){if(null===n)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,n)}}function tm(e,t,n,r){if(null===r)e.removeAttribute(n);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,r)}}function tg(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function th(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function tb(e){if(!e._valueTracker){var t=th(e)?"checked":"value";e._valueTracker=function(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&void 0!==r&&"function"==typeof r.get&&"function"==typeof r.set){var a=r.get,o=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){n=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e,t,""+e[t])}}function ty(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=th(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}var tv=/[\n"\\]/g;function tw(e){return e.replace(tv,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function tS(e,t,n,r,a,o,l,i){e.name="",null!=l&&"function"!=typeof l&&"symbol"!=typeof l&&"boolean"!=typeof l?e.type=l:e.removeAttribute("type"),null!=t?"number"===l?(0===t&&""===e.value||e.value!=t)&&(e.value=""+tg(t)):e.value!==""+tg(t)&&(e.value=""+tg(t)):"submit"!==l&&"reset"!==l||e.removeAttribute("value"),null!=t?"number"===l&&e.value==t?tx(e,tg(e.value)):tx(e,tg(t)):null!=n?tx(e,tg(n)):null!=r&&e.removeAttribute("value"),null==a&&null!=o&&(e.defaultChecked=!!o),null!=a&&(e.checked=a&&"function"!=typeof a&&"symbol"!=typeof a),null!=i&&"function"!=typeof i&&"symbol"!=typeof i&&"boolean"!=typeof i?e.name=""+tg(i):e.removeAttribute("name")}function tk(e,t,n,r,a,o,l,i){if(null!=o&&"function"!=typeof o&&"symbol"!=typeof o&&"boolean"!=typeof o&&(e.type=o),null!=t||null!=n){if(("submit"===o||"reset"===o)&&null==t)return void tb(e);n=null!=n?""+tg(n):"",t=null!=t?""+tg(t):n,i||t===e.value||(e.value=t),e.defaultValue=t}r="function"!=typeof(r=null!=r?r:a)&&"symbol"!=typeof r&&!!r,e.checked=i?e.checked:!!r,e.defaultChecked=!!r,null!=l&&"function"!=typeof l&&"symbol"!=typeof l&&"boolean"!=typeof l&&(e.name=l),tb(e)}function tx(e,t){e.defaultValue!==""+t&&(e.defaultValue=""+t)}function tE(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(a=0,n=""+tg(n),t=null;a<e.length;a++){if(e[a].value===n){e[a].selected=!0,r&&(e[a].defaultSelected=!0);return}null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function t_(e,t,n){if(null!=t&&((t=""+tg(t))!==e.value&&(e.value=t),null==n)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=null!=n?""+tg(n):""}function tT(e,t,n,r){if(null==t){if(null!=r){if(null!=n)throw Error(i(92));if(V(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}null==n&&(n=""),t=n}e.defaultValue=n=tg(t),(r=e.textContent)===n&&""!==r&&null!==r&&(e.value=r),tb(e)}function tA(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType){n.nodeValue=t;return}}e.textContent=t}var tC=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function tP(e,t,n){var r=0===t.indexOf("--");null==n||"boolean"==typeof n||""===n?r?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":r?e.setProperty(t,n):"number"!=typeof n||0===n||tC.has(t)?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function tN(e,t,n){if(null!=t&&"object"!=typeof t)throw Error(i(62));if(e=e.style,null!=n){for(var r in n)!n.hasOwnProperty(r)||null!=t&&t.hasOwnProperty(r)||(0===r.indexOf("--")?e.setProperty(r,""):"float"===r?e.cssFloat="":e[r]="",tc=!0);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&(tP(e,a,r),tc=!0)}else for(var o in t)t.hasOwnProperty(o)&&tP(e,o,t[o])}function tO(e){if(-1===e.indexOf("-"))return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var tL=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["maskType","mask-type"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),tI=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function tR(e){return tI.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function tj(){}var tD=null;function tF(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var tM=null,tz=null;function tB(e){var t=e9(e);if(t&&(e=t.stateNode)){var n=e[eZ]||null;switch(e=t.stateNode,t.type){case"input":if(tS(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+tw(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[eZ]||null;if(!a)throw Error(i(90));tS(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)(r=n[t]).form===e.form&&ty(r)}break;case"textarea":t_(e,n.value,n.defaultValue);break;case"select":null!=(t=n.value)&&tE(e,!!n.multiple,t,!1)}}}var tU=!1;function t$(e,t,n){if(tU)return e(t,n);tU=!0;try{return e(t)}finally{if(tU=!1,(null!==tM||null!==tz)&&(uf(),tM&&(t=tM,e=tz,tz=tM=null,tB(t),e)))for(t=0;t<e.length;t++)tB(e[t])}}function tq(e,t){var n=e.stateNode;if(null===n)return null;var r=n[eZ]||null;if(null===r)return null;switch(n=r[t],t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r="button"!==(e=e.type)&&"input"!==e&&"select"!==e&&"textarea"!==e),e=!r;break;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(i(231,t,typeof n));return n}var tH="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement,tX=!1;if(tH)try{var tV={};Object.defineProperty(tV,"passive",{get:function(){tX=!0}}),window.addEventListener("test",tV,tV),window.removeEventListener("test",tV,tV)}catch(e){tX=!1}var tG=null,tW=null,tY=null;function tK(){if(tY)return tY;var e,t,n=tW,r=n.length,a="value"in tG?tG.value:tG.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var l=r-e;for(t=1;t<=l&&n[r-t]===a[o-t];t++);return tY=a.slice(e,1<t?1-t:void 0)}function tQ(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function tZ(){return!0}function tJ(){return!1}function t0(e){function t(t,n,r,a,o){for(var l in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(l)&&(t=e[l],this[l]=t?t(a):a[l]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?tZ:tJ,this.isPropagationStopped=tJ,this}return E(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=tZ)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=tZ)},persist:function(){},isPersistent:tZ}),t}var t1,t2,t4,t3,t6,t5={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},t8=t0(t5),t9=E({},t5,{view:0,detail:0}),t7=t0(t9),ne=E({},t9,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:nd,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==t6&&(t6&&"mousemove"===e.type?(t4=e.screenX-t6.screenX,t3=e.screenY-t6.screenY):t3=t4=0,t6=e),t4)},movementY:function(e){return"movementY"in e?e.movementY:t3}}),nt=t0(ne),nn=t0(E({},ne,{dataTransfer:0})),nr=t0(E({},t9,{relatedTarget:0})),na=t0(E({},t5,{animationName:0,elapsedTime:0,pseudoElement:0})),no=t0(E({},t5,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),nl=t0(E({},t5,{data:0})),ni={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ns={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},nu={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function nc(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=nu[e])&&!!t[e]}function nd(){return nc}var nf=t0(E({},t9,{key:function(e){if(e.key){var t=ni[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tQ(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?ns[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:nd,charCode:function(e){return"keypress"===e.type?tQ(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tQ(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}})),np=t0(E({},ne,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),nm=t0(E({},t5,{submitter:0})),ng=t0(E({},t9,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:nd})),nh=t0(E({},t5,{propertyName:0,elapsedTime:0,pseudoElement:0})),nb=t0(E({},ne,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),ny=t0(E({},t5,{newState:0,oldState:0,source:0})),nv=[9,13,27,32],nw=tH&&"CompositionEvent"in window,nS=null;tH&&"documentMode"in document&&(nS=document.documentMode);var nk=tH&&"TextEvent"in window&&!nS,nx=tH&&(!nw||nS&&8<nS&&11>=nS),nE=!1;function n_(e,t){switch(e){case"keyup":return -1!==nv.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nT(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var nA=!1,nC={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function nP(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!nC[e.type]:"textarea"===t}function nN(e,t,n,r){tM?tz?tz.push(r):tz=[r]:tM=r,0<(t=co(t,"onChange")).length&&(n=new t8("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var nO=null,nL=null;function nI(e){u8(e,0)}function nR(e){if(ty(e7(e)))return e}function nj(e,t){if("change"===e)return t}var nD=!1;if(tH){if(tH){var nF="oninput"in document;if(!nF){var nM=document.createElement("div");nM.setAttribute("oninput","return;"),nF="function"==typeof nM.oninput}r=nF}else r=!1;nD=r&&(!document.documentMode||9<document.documentMode)}function nz(){nO&&(nO.detachEvent("onpropertychange",nB),nL=nO=null)}function nB(e){if("value"===e.propertyName&&nR(nL)){var t=[];nN(t,nL,e,tF(e)),t$(nI,t)}}function nU(e,t,n){"focusin"===e?(nz(),nO=t,nL=n,nO.attachEvent("onpropertychange",nB)):"focusout"===e&&nz()}function n$(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return nR(nL)}function nq(e,t){if("click"===e)return nR(t)}function nH(e,t){if("input"===e||"change"===e)return nR(t)}var nX="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function nV(e,t){if(nX(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!ep.call(t,a)||!nX(e[a],t[a]))return!1}return!0}function nG(e){if(void 0===(e=e||("u">typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function nW(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function nY(e,t){var n,r=nW(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=nW(r)}}function nK(e){e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;for(var t=nG(e.document);t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=nG(e.document)}return t}function nQ(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var nZ=tH&&"documentMode"in document&&11>=document.documentMode,nJ=null,n0=null,n1=null,n2=!1;function n4(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;n2||null==nJ||nJ!==nG(r)||(r="selectionStart"in(r=nJ)&&nQ(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},n1&&nV(n1,r)||(n1=r,0<(r=co(n0,"onSelect")).length&&(t=new t8("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=nJ)))}function n3(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var n6={animationend:n3("Animation","AnimationEnd"),animationiteration:n3("Animation","AnimationIteration"),animationstart:n3("Animation","AnimationStart"),transitionrun:n3("Transition","TransitionRun"),transitionstart:n3("Transition","TransitionStart"),transitioncancel:n3("Transition","TransitionCancel"),transitionend:n3("Transition","TransitionEnd")},n5={},n8={};function n9(e){if(n5[e])return n5[e];if(!n6[e])return e;var t,n=n6[e];for(t in n)if(n.hasOwnProperty(t)&&t in n8)return n5[e]=n[t];return e}tH&&(n8=document.createElement("div").style,"AnimationEvent"in window||(delete n6.animationend.animation,delete n6.animationiteration.animation,delete n6.animationstart.animation),"TransitionEvent"in window||delete n6.transitionend.transition);var n7=n9("animationend"),re=n9("animationiteration"),rt=n9("animationstart"),rn=n9("transitionrun"),rr=n9("transitionstart"),ra=n9("transitioncancel"),ro=n9("transitionend"),rl=new Map,ri="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error fullscreenChange fullscreenError gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function rs(e,t){rl.set(e,t),to(t,[e])}ri.push("scrollEnd");var ru=0;function rc(e,t){return null!=e.name&&"auto"!==e.name?e.name:null!==t.autoName?t.autoName:t.autoName=e="_"+(e=s3.identifierPrefix)+"t_"+(ru++).toString(32)+"_"}function rd(e){if(null==e||"string"==typeof e)return e;var t=null,n=un;if(null!==n)for(var r=0;r<n.length;r++){var a=e[n[r]];if(null!=a){if("none"===a)return"none";t=null==t?a:t+" "+a}}return null==t?e.default:t}function rf(e,t){return e=rd(e),null==(t=rd(t))?"auto"===e?null:e:"auto"===t?null:t}var rp="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},rm=[],rg=0,rh=0;function rb(){for(var e=rg,t=rh=rg=0;t<e;){var n=rm[t];rm[t++]=null;var r=rm[t];rm[t++]=null;var a=rm[t];rm[t++]=null;var o=rm[t];if(rm[t++]=null,null!==r&&null!==a){var l=r.pending;null===l?a.next=a:(a.next=l.next,l.next=a),r.pending=a}0!==o&&rS(n,a,o)}}function ry(e,t,n,r){rm[rg++]=e,rm[rg++]=t,rm[rg++]=n,rm[rg++]=r,rh|=r,e.lanes|=r,null!==(e=e.alternate)&&(e.lanes|=r)}function rv(e,t,n,r){return ry(e,t,n,r),rk(e)}function rw(e,t){return ry(e,null,null,t),rk(e)}function rS(e,t,n){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n);for(var a=!1,o=e.return;null!==o;)o.childLanes|=n,null!==(r=o.alternate)&&(r.childLanes|=n),22===o.tag&&(null===(e=o.stateNode)||1&e._visibility||(a=!0)),e=o,o=o.return;return 3===e.tag?(o=e.stateNode,a&&null!==t&&(a=31-eN(n),null===(r=(e=o.hiddenUpdates)[a])?e[a]=[t]:r.push(t),t.lane=0x20000000|n),o):null}function rk(e){if(50<ur)throw ur=0,ua=null,Error(i(185));for(var t=e.return;null!==t;)t=(e=t).return;return 3===e.tag?e.stateNode:null}var rx={};function rE(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function r_(e,t,n,r){return new rE(e,t,n,r)}function rT(e){return!(!(e=e.prototype)||!e.isReactComponent)}function rA(e,t){var n=e.alternate;return null===n?((n=r_(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=0x47f00000&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function rC(e,t){e.flags&=0x47f00002;var n=e.alternate;return null===n?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,e.dependencies=null===(t=n.dependencies)?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function rP(e,t,n,r,a,o){var l=0;if("function"==typeof(r=e))rT(r)&&(l=1);else if("string"==typeof r)l=!function(e,t,n){if(1===n||null!=t.itemProp)return!1;switch(e){case"meta":case"title":return!0;case"style":if("string"!=typeof t.precedence||"string"!=typeof t.href||""===t.href)break;return!0;case"link":if("string"!=typeof t.rel||"string"!=typeof t.href||""===t.href||t.onLoad||t.onError)break;if("stylesheet"===t.rel)return e=t.disabled,"string"==typeof t.precedence&&null==e;return!0;case"script":if(t.async&&"function"!=typeof t.async&&"symbol"!=typeof t.async&&!t.onLoad&&!t.onError&&t.src&&"string"==typeof t.src)return!0}return!1}(e,n,et.current)?"html"===e||"head"===e||"body"===e?27:5:26;else e:switch(r){case M:return(e=r_(31,n,t,a)).elementType=M,e.lanes=o,e;case C:return rN(n.children,a,o,t);case P:l=8,a|=24;break;case N:return(e=r_(12,n,t,2|a)).elementType=N,e.lanes=o,e;case R:return(e=r_(13,n,t,a)).elementType=R,e.lanes=o,e;case j:return(e=r_(19,n,t,a)).elementType=j,e.lanes=o,e;case z:case U:return(e=r_(30,n,t,e=32|a)).elementType=U,e.lanes=o,e.stateNode={autoName:null,paired:null,clones:null,ref:null},e;default:if("object"==typeof r&&null!==r)switch(r.$$typeof){case L:l=10;break e;case O:l=9;break e;case I:l=11;break e;case D:l=14;break e;case F:l=16,r=null;break e}l=29,n=Error(i(130,null===e?"null":typeof e,"")),r=null}return(t=r_(l,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function rN(e,t,n,r){return(e=r_(7,e,r,t)).lanes=n,e}function rO(e,t,n){return(e=r_(6,e,null,t)).lanes=n,e}function rL(e){var t=r_(18,null,null,0);return t.stateNode=e,t}function rI(e,t,n){return(t=r_(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var rR=new WeakMap;function rj(e,t){if("object"==typeof e&&null!==e){var n=rR.get(e);return void 0!==n?n:(t={value:e,source:t,stack:ef(t)},rR.set(e,t),t)}return{value:e,source:t,stack:ef(t)}}var rD=[],rF=0,rM=null,rz=0,rB=[],rU=0,r$=null,rq=1,rH="";function rX(e,t){rD[rF++]=rz,rD[rF++]=rM,rM=e,rz=t}function rV(e,t,n){rB[rU++]=rq,rB[rU++]=rH,rB[rU++]=r$,r$=e;var r=rq;e=rH;var a=32-eN(r)-1;r&=~(1<<a),n+=1;var o=32-eN(t)+a;if(30<o){var l=a-a%5;o=(r&(1<<l)-1).toString(32),r>>=l,a-=l,rq=1<<32-eN(t)+a|n<<a|r,rH=o+e}else rq=1<<o|n<<a|r,rH=e}function rG(e){null!==e.return&&(rX(e,1),rV(e,1,0))}function rW(e){for(;e===rM;)rM=rD[--rF],rD[rF]=null,rz=rD[--rF],rD[rF]=null;for(;e===r$;)r$=rB[--rU],rB[rU]=null,rH=rB[--rU],rB[rU]=null,rq=rB[--rU],rB[rU]=null}function rY(e,t){rB[rU++]=rq,rB[rU++]=rH,rB[rU++]=r$,rq=t.id,rH=t.overflow,r$=e}var rK=null,rQ=null,rZ=!1,rJ=null,r0=!1,r1=Error(i(519));function r2(e){var t=Error(i(418,1<arguments.length&&void 0!==arguments[1]&&arguments[1]?"text":"HTML",""));throw r9(rj(t,e)),r1}function r4(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[eQ]=e,t[eZ]=r,n){case"dialog":u9("cancel",t),u9("close",t);break;case"iframe":case"object":case"embed":u9("load",t);break;case"video":case"audio":for(n=0;n<u6.length;n++)u9(u6[n],t);break;case"source":u9("error",t);break;case"img":case"image":case"link":u9("error",t),u9("load",t);break;case"details":u9("toggle",t);break;case"input":u9("invalid",t),tk(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":u9("invalid",t);break;case"textarea":u9("invalid",t),tT(t,r.value,r.defaultValue,r.children)}"string"!=typeof(n=r.children)&&"number"!=typeof n&&"bigint"!=typeof n||t.textContent===""+n||!0===r.suppressHydrationWarning||cd(t.textContent,n)?(null!=r.popover&&(u9("beforetoggle",t),u9("toggle",t)),null!=r.onScroll&&u9("scroll",t),null!=r.onScrollEnd&&u9("scrollend",t),null!=r.onClick&&(t.onclick=tj),t=!0):t=!1,t||r2(e,!0)}function r3(e){for(rK=e.return;rK;)switch(rK.tag){case 5:case 31:case 13:r0=!1;return;case 27:case 3:r0=!0;return;default:rK=rK.return}}function r6(e){if(e!==rK)return!1;if(!rZ)return r3(e),rZ=!0,!1;var t,n=e.tag;if((t=3!==n&&27!==n)&&((t=5===n)&&(t="form"===(t=e.type)||"button"===t||cx(e.type,e.memoizedProps)),t=!t),t&&rQ&&r2(e),r3(e),13===n){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));rQ=dn(e)}else if(31===n){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));rQ=dn(e)}else 27===n?(n=rQ,cO(e.type)?(e=dt,dt=null,rQ=e):rQ=n):rQ=rK?de(e.stateNode.nextSibling):null;return!0}function r5(){rQ=rK=null,rZ=!1}function r8(){var e=rJ;return null!==e&&(null===sK?sK=e:sK.push.apply(sK,e),rJ=null),e}function r9(e){null===rJ?rJ=[e]:rJ.push(e)}var r7=Z(null),ae=null,at=null;function an(e,t,n){ee(r7,t._currentValue),t._currentValue=n}function ar(e){e._currentValue=r7.current,J(r7)}function aa(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function ao(e,t,n,r){var a=e.child;for(null!==a&&(a.return=e);null!==a;){var o=a.dependencies;if(null!==o){var l=a.child;o=o.firstContext;e:for(;null!==o;){var s=o;o=a;for(var u=0;u<t.length;u++)if(s.context===t[u]){o.lanes|=n,null!==(s=o.alternate)&&(s.lanes|=n),aa(o.return,n,e),r||(l=null);break e}o=s.next}}else if(18===a.tag){if(null===(l=a.return))throw Error(i(341));l.lanes|=n,null!==(o=l.alternate)&&(o.lanes|=n),aa(l,n,e),l=null}else 13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated?(a.lanes|=n,null!==(l=a.alternate)&&(l.lanes|=n),aa(a.return,n,e),l=null!==(l=a.child)?l.sibling:null):l=a.child;if(null!==l)l.return=a;else for(l=a;null!==l;){if(l===e){l=null;break}if(null!==(a=l.sibling)){a.return=l.return,l=a;break}l=l.return}a=l}}function al(e,t,n,r){e=null;for(var a=t,o=!1;null!==a;){if(!o){if(0!=(524288&a.flags))o=!0;else if(0!=(262144&a.flags))break}if(10===a.tag){var l=a.alternate;if(null===l)throw Error(i(387));if(null!==(l=l.memoizedProps)){var s=a.type;nX(a.pendingProps.value,l.value)||(null!==e?e.push(s):e=[s])}}else if(a===ea.current){if(null===(l=a.alternate))throw Error(i(387));l.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(null!==e?e.push(dM):e=[dM])}a=a.return}return null!==e&&ao(t,e,n,r),t.flags|=262144,null!==e}function ai(e){for(e=e.firstContext;null!==e;){if(!nX(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function as(e){ae=e,at=null,null!==(e=e.dependencies)&&(e.firstContext=null)}function au(e){return ad(ae,e)}function ac(e,t){return null===ae&&as(e),ad(e,t)}function ad(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},null===at){if(null===e)throw Error(i(308));at=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else at=at.next=t;return n}var af="u">typeof AbortController?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ap=a.unstable_scheduleCallback,am=a.unstable_NormalPriority,ag={$$typeof:L,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ah(){return{controller:new af,data:new Map,refCount:0}}function ab(e){e.refCount--,0===e.refCount&&ap(am,function(){e.controller.abort()})}function ay(e,t){if(0!=(4194048&e.pendingLanes)){var n=e.transitionTypes;for(null===n&&(n=e.transitionTypes=[]),e=0;e<t.length;e++){var r=t[e];-1===n.indexOf(r)&&n.push(r)}}}var av=null,aw=null,aS=0,ak=0,ax=null;function aE(){if(0==--aS&&(av=null,null!==aw)){null!==ax&&(ax.status="fulfilled");var e=aw;aw=null,ak=0,ax=null;for(var t=0;t<e.length;t++)(0,e[t])()}}var a_=G.S;G.S=function(e,t){if(sJ=ey(),"object"==typeof t&&null!==t&&"function"==typeof t.then&&function(e){if(null===aw){var t=aw=[];aS=0,ak=u1(),ax={status:"pending",value:void 0,then:function(e){t.push(e)}}}aS++,e.then(aE,aE)}(t),null!==av)for(var n=u$;null!==n;)ay(n,av),n=n.next;if(null!==(n=e.types)){for(var r=u$;null!==r;)ay(r,n),r=r.next;if(0!==ak){null===(r=av)&&(r=av=[]);for(var a=0;a<n.length;a++){var o=n[a];-1===r.indexOf(o)&&r.push(o)}}}null!==a_&&a_(e,t)};var aT=Z(null);function aA(){var e=aT.current;return null!==e?e:sR.pooledCache}function aC(e,t){null===t?ee(aT,aT.current):ee(aT,t.pool)}function aP(){var e=aA();return null===e?null:{parent:ag._currentValue,pool:e}}var aN=Error(i(460)),aO=Error(i(474)),aL=Error(i(542)),aI={then:function(){}};function aR(e){return"fulfilled"===(e=e.status)||"rejected"===e}function aj(e,t,n){switch(void 0===(n=e[n])?e.push(t):n!==t&&(t.then(tj,tj),t=n),t.status){case"fulfilled":return t.value;case"rejected":if(az(e=t.reason),void 0===e&&!("reason"in t))throw Error(i(600));throw e;default:if("string"==typeof t.status)t.then(tj,tj);else{if(null!==(e=sR)&&100<e.shellSuspendCounter)throw Error(i(482));(e=t).status="pending",e.then(function(e){if("pending"===t.status){var n=t;n.status="fulfilled",n.value=e}},function(e){if("pending"===t.status){var n=t;n.status="rejected",n.reason=e}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw az(e=t.reason),e}throw aF=t,aN}}function aD(e){try{return(0,e._init)(e._payload)}catch(e){if(null!==e&&"object"==typeof e&&"function"==typeof e.then)throw aF=e,aN;throw e}}var aF=null;function aM(){if(null===aF)throw Error(i(459));var e=aF;return aF=null,e}function az(e){if(e===aN||e===aL)throw Error(i(483))}var aB=null,aU=0;function a$(e){var t=aU;return aU+=1,null===aB&&(aB=[]),aj(aB,e,t)}function aq(e,t){e.ref=void 0!==(t=t.props.ref)?t:null}function aH(e,t){if(t.$$typeof===_)throw Error(i(525));throw Error(i(31,"[object Object]"===(e=Object.prototype.toString.call(t))?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function aX(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;null!==e;)null===e.key?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return(e=rA(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return(t.index=r,e)?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=0x8000002,n):(t.flags|=1048576,n)}function l(t){return e&&null===t.alternate&&(t.flags|=0x8000002),t}function s(e,t,n,r){return null===t||6!==t.tag?(t=rO(n,e.mode,r)).return=e:(t=a(t,n)).return=e,t}function u(e,t,n,r){var o=n.type;return o===C?(aq(e=d(e,t,n.props.children,r,n.key),n),e):(null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===F&&aD(o)===t.type)?aq(t=a(t,n.props),n):aq(t=rP(n.type,n.key,n.props,null,e.mode,r),n),t.return=e,t)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=rI(n,e.mode,r)).return=e:(t=a(t,n.children||[])).return=e,t}function d(e,t,n,r,o){return null===t||7!==t.tag?(t=rN(n,e.mode,r,o)).return=e:(t=a(t,n)).return=e,t}function f(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t||"bigint"==typeof t)return(t=rO(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case T:return aq(n=rP(t.type,t.key,t.props,null,e.mode,n),t),n.return=e,n;case A:return(t=rI(t,e.mode,n)).return=e,t;case F:return f(e,t=aD(t),n)}if(V(t)||H(t))return(t=rN(t,e.mode,n,null)).return=e,t;if("function"==typeof t.then)return f(e,a$(t),n);if(t.$$typeof===L)return f(e,ac(e,t),n);aH(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n||"bigint"==typeof n)return null!==a?null:s(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case T:return n.key===a?u(e,t,n,r):null;case A:return n.key===a?c(e,t,n,r):null;case F:return p(e,t,n=aD(n),r)}if(V(n)||H(n))return null!==a?null:d(e,t,n,r,null);if("function"==typeof n.then)return p(e,t,a$(n),r);if(n.$$typeof===L)return p(e,t,ac(e,n),r);aH(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r||"bigint"==typeof r)return s(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case T:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case A:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case F:return m(e,t,n,r=aD(r),a)}if(V(r)||H(r))return d(t,e=e.get(n)||null,r,a,null);if("function"==typeof r.then)return m(e,t,n,a$(r),a);if(r.$$typeof===L)return m(e,t,n,ac(t,r),a);aH(t,r)}return null}return function(s,u,c,d){try{aU=0;var g=function s(u,c,d,g){if("object"==typeof d&&null!==d&&d.type===C&&null===d.key&&void 0===d.props.ref&&(d=d.props.children),"object"==typeof d&&null!==d){switch(d.$$typeof){case T:e:{for(var h=d.key;null!==c;){if(c.key===h){if((h=d.type)===C){if(7===c.tag){n(u,c.sibling),aq(g=a(c,d.props.children),d),g.return=u,u=g;break e}}else if(c.elementType===h||"object"==typeof h&&null!==h&&h.$$typeof===F&&aD(h)===c.type){n(u,c.sibling),aq(g=a(c,d.props),d),g.return=u,u=g;break e}n(u,c);break}t(u,c),c=c.sibling}d.type===C?aq(g=rN(d.props.children,u.mode,g,d.key),d):aq(g=rP(d.type,d.key,d.props,null,u.mode,g),d),g.return=u,u=g}return l(u);case A:e:{for(h=d.key;null!==c;){if(c.key===h)if(4===c.tag&&c.stateNode.containerInfo===d.containerInfo&&c.stateNode.implementation===d.implementation){n(u,c.sibling),(g=a(c,d.children||[])).return=u,u=g;break e}else{n(u,c);break}t(u,c),c=c.sibling}(g=rI(d,u.mode,g)).return=u,u=g}return l(u);case F:return s(u,c,d=aD(d),g)}if(V(d))return function(a,l,i,s){for(var u=null,c=null,d=l,g=l=0,h=null;null!==d&&g<i.length;g++){d.index>g?(h=d,d=null):h=d.sibling;var b=p(a,d,i[g],s);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(a,d),l=o(b,l,g),null===c?u=b:c.sibling=b,c=b,d=h}if(g===i.length)return n(a,d),rZ&&rX(a,g),u;if(null===d){for(;g<i.length;g++)null!==(d=f(a,i[g],s))&&(l=o(d,l,g),null===c?u=d:c.sibling=d,c=d);return rZ&&rX(a,g),u}for(d=r(d);g<i.length;g++)null!==(h=m(d,a,g,i[g],s))&&(e&&null!==(b=h.alternate)&&d.delete(null===b.key?g:b.key),l=o(h,l,g),null===c?u=h:c.sibling=h,c=h);return e&&d.forEach(function(e){return t(a,e)}),rZ&&rX(a,g),u}(u,c,d,g);if(H(d)){if("function"!=typeof(h=H(d)))throw Error(i(150));return function(a,l,s,u){if(null==s)throw Error(i(151));for(var c=null,d=null,g=l,h=l=0,b=null,y=s.next();null!==g&&!y.done;h++,y=s.next()){g.index>h?(b=g,g=null):b=g.sibling;var v=p(a,g,y.value,u);if(null===v){null===g&&(g=b);break}e&&g&&null===v.alternate&&t(a,g),l=o(v,l,h),null===d?c=v:d.sibling=v,d=v,g=b}if(y.done)return n(a,g),rZ&&rX(a,h),c;if(null===g){for(;!y.done;h++,y=s.next())null!==(y=f(a,y.value,u))&&(l=o(y,l,h),null===d?c=y:d.sibling=y,d=y);return rZ&&rX(a,h),c}for(g=r(g);!y.done;h++,y=s.next())null!==(y=m(g,a,h,y.value,u))&&(e&&null!==(b=y.alternate)&&g.delete(null===b.key?h:b.key),l=o(y,l,h),null===d?c=y:d.sibling=y,d=y);return e&&g.forEach(function(e){return t(a,e)}),rZ&&rX(a,h),c}(u,c,d=h.call(d),g)}if("function"==typeof d.then)return s(u,c,a$(d),g);if(d.$$typeof===L)return s(u,c,ac(u,d),g);aH(u,d)}return"string"==typeof d&&""!==d||"number"==typeof d||"bigint"==typeof d?(d=""+d,null!==c&&6===c.tag?(n(u,c.sibling),(g=a(c,d)).return=u):(n(u,c),(g=rO(d,u.mode,g)).return=u),l(u=g)):n(u,c)}(s,u,c,d);return aB=null,g}catch(e){if(e===aN||e===aL)throw e;var h=r_(29,e,null,s.mode);return h.lanes=d,h.return=s,h}finally{}}}var aV=aX(!0),aG=aX(!1),aW=!1;function aY(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function aK(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function aQ(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function aZ(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&sI)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,t=rk(e),rS(e,null,n),t}return ry(e,r,t,n),rk(e)}function aJ(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194048&n))){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,eH(e,n)}}function a0(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var l={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===o?a=o=l:o=o.next=l,n=n.next}while(null!==n)null===o?a=o=t:o=o.next=t}else a=o=t;n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var a1=!1;function a2(){if(a1){var e=ax;if(null!==e)throw e}}function a4(e,t,n,r){a1=!1;var a=e.updateQueue;aW=!1;var o=a.firstBaseUpdate,l=a.lastBaseUpdate,i=a.shared.pending;if(null!==i){a.shared.pending=null;var s=i,u=s.next;s.next=null,null===l?o=u:l.next=u,l=s;var c=e.alternate;null!==c&&(i=(c=c.updateQueue).lastBaseUpdate)!==l&&(null===i?c.firstBaseUpdate=u:i.next=u,c.lastBaseUpdate=s)}if(null!==o){var d=a.baseState;for(l=0,c=u=s=null,i=o;;){var f=-0x20000001&i.lane,p=f!==i.lane;if(p?(sD&f)===f:(r&f)===f){0!==f&&f===ak&&(a1=!0),null!==c&&(c=c.next={lane:0,tag:i.tag,payload:i.payload,callback:null,next:null});e:{var m=e,g=i;switch(f=t,g.tag){case 1:if("function"==typeof(m=g.payload)){d=m.call(n,d,f);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(f="function"==typeof(m=g.payload)?m.call(n,d,f):m))break e;d=E({},d,f);break e;case 2:aW=!0}}null!==(f=i.callback)&&(e.flags|=64,p&&(e.flags|=8192),null===(p=a.callbacks)?a.callbacks=[f]:p.push(f))}else p={lane:f,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===c?(u=c=p,s=d):c=c.next=p,l|=f;if(null===(i=i.next))if(null===(i=a.shared.pending))break;else i=(p=i).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}null===c&&(s=d),a.baseState=s,a.firstBaseUpdate=u,a.lastBaseUpdate=c,null===o&&(a.shared.lanes=0),sH|=l,e.lanes=l,e.memoizedState=d}}function a3(e,t){if("function"!=typeof e)throw Error(i(191,e));e.call(t)}function a6(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;e<n.length;e++)a3(n[e],t)}var a5=Z(null),a8=Z(0);function a9(e,t){ee(a8,e=s$),ee(a5,t),s$=e|t.baseLanes}function a7(){ee(a8,s$),ee(a5,a5.current)}function oe(){s$=a8.current,J(a5),J(a8)}var ot=Z(null),on=null;function or(e){var t=e.alternate;ee(os,1&os.current),ee(ot,e),null===on&&(null===t||null!==a5.current?on=e:null!==t.memoizedState&&(on=e))}function oa(e){ee(os,os.current),ee(ot,e),null===on&&(on=e)}function oo(e){22===e.tag?(ee(os,os.current),ee(ot,e),null===on&&(on=e)):ol()}function ol(){ee(os,os.current),ee(ot,ot.current)}function oi(e){J(ot),on===e&&(on=null),J(os)}var os=Z(0);function ou(e,t){ee(ot,ot.current),ee(os,t)}function oc(e){J(os),J(ot),on===e&&(on=null)}function od(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||c9(n)||c7(n)))return t}else if(19===t.tag&&"independent"!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var of=0,op=null,om=null,og=null,oh=!1,ob=!1,oy=!1,ov=0,ow=0,oS=null,ok=0;function ox(){throw Error(i(321))}function oE(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!nX(e[n],t[n]))return!1;return!0}function o_(e,t,n,r,a,o){return of=o,op=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,G.H=null===e||null===e.memoizedState?lO:lL,oy=!1,o=n(r,a),oy=!1,ob&&(o=oA(t,n,r,a)),oT(e),o}function oT(e){G.H=lN;var t=null!==om&&null!==om.next;if(of=0,og=om=op=null,oh=!1,ow=0,oS=null,t)throw Error(i(300));null===e||lW||null!==(e=e.dependencies)&&ai(e)&&(lW=!0)}function oA(e,t,n,r){op=e;var a=0;do{if(ob&&(oS=null),ow=0,ob=!1,25<=a)throw Error(i(301));if(a+=1,og=om=null,null!=e.updateQueue){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,null!=o.memoCache&&(o.memoCache.index=0)}G.H=lI,o=t(n,r)}while(ob)return o}function oC(){var e=G.H,t=e.useState()[0];return t="function"==typeof t.then?oj(t):t,e=e.useState()[0],(null!==om?om.memoizedState:null)!==e&&(op.flags|=1024),t}function oP(){var e=0!==ov;return ov=0,e}function oN(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function oO(e){if(oh){for(e=e.memoizedState;null!==e;){var t=e.queue;null!==t&&(t.pending=null),e=e.next}oh=!1}of=0,og=om=op=null,ob=!1,ow=ov=0,oS=null}function oL(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===og?op.memoizedState=og=e:og=og.next=e,og}function oI(){if(null===om){var e=op.alternate;e=null!==e?e.memoizedState:null}else e=om.next;var t=null===og?op.memoizedState:og.next;if(null!==t)og=t,om=e;else{if(null===e){if(null===op.alternate)throw Error(i(467));throw Error(i(310))}e={memoizedState:(om=e).memoizedState,baseState:om.baseState,baseQueue:om.baseQueue,queue:om.queue,next:null},null===og?op.memoizedState=og=e:og=og.next=e}return og}function oR(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function oj(e){var t=ow;return ow+=1,null===oS&&(oS=[]),e=aj(oS,e,t),t=op,null===(null===og?t.memoizedState:og.next)&&(G.H=null===(t=t.alternate)||null===t.memoizedState?lO:lL),e}function oD(e){if(null!==e&&"object"==typeof e){if("function"==typeof e.then)return oj(e);if(e.$$typeof===$)return;if(e.$$typeof===L)return au(e)}throw Error(i(438,String(e)))}function oF(e){var t=null,n=op.updateQueue;if(null!==n&&(t=n.memoCache),null==t){var r=op.alternate;null!==r&&null!==(r=r.updateQueue)&&null!=(r=r.memoCache)&&(t={data:r.data.map(function(e){return e.slice()}),index:0})}if(null==t&&(t={data:[],index:0}),null===n&&(n=oR(),op.updateQueue=n),n.memoCache=t,void 0===(n=t.data[t.index]))for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=B;return t.index++,n}function oM(e,t){return"function"==typeof t?t(e):t}function oz(e){return oB(oI(),om,e)}function oB(e,t,n){var r=e.queue;if(null===r)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(null!==o){if(null!==a){var l=a.next;a.next=o.next,o.next=l}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,null===a)e.memoizedState=o;else{t=a.next;var s=l=null,u=null,c=t,d=!1;do{var f=-0x20000001&c.lane;if(f!==c.lane?(sD&f)===f:(of&f)===f){var p=c.revertLane;if(0===p)null!==u&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===ak&&(d=!0);else if((of&p)===p){c=c.next,p===ak&&(d=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},null===u?(s=u=f,l=o):u=u.next=f,op.lanes|=p,sH|=p;f=c.action,oy&&n(o,f),o=c.hasEagerState?c.eagerState:n(o,f)}else p={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},null===u?(s=u=p,l=o):u=u.next=p,op.lanes|=f,sH|=f;c=c.next}while(null!==c&&c!==t)if(null===u?l=o:u.next=s,!nX(o,e.memoizedState)&&(lW=!0,d&&null!==(n=ax)))throw n;e.memoizedState=o,e.baseState=l,e.baseQueue=u,r.lastRenderedState=o}return null===a&&(r.lanes=0),[e.memoizedState,r.dispatch]}function oU(e){var t=oI(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var l=a=a.next;do o=e(o,l.action),l=l.next;while(l!==a)nX(o,t.memoizedState)||(lW=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function o$(e,t,n){var r=op,a=oI(),o=rZ;if(o){if(void 0===n)throw Error(i(407));n=n()}else n=t();var l=!nX((om||a).memoizedState,n);if(l&&(a.memoizedState=n,lW=!0),a=a.queue,lr(oX.bind(null,r,a,e),[e]),o9((e=a.getSnapshot!==t||l||null!==og&&0!=(1&og.memoizedState.tag))?9:8,{destroy:void 0},oH.bind(null,r,a,n,t),null),e){if(r.flags|=2048,null===sR)throw Error(i(349));o||0!=(127&of)||oq(r,t,n)}return n}function oq(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=op.updateQueue)?(t=oR(),op.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function oH(e,t,n,r){t.value=n,t.getSnapshot=r,oV(t)&&oG(e)}function oX(e,t,n){return n(function(){oV(t)&&oG(e)})}function oV(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!nX(e,n)}catch(e){return!0}}function oG(e){var t=rw(e,2);null!==t&&us(t,e,2)}function oW(e){var t=oL();if("function"==typeof e){var n=e;if(e=n(),oy){eP(!0);try{n()}finally{eP(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:oM,lastRenderedState:e},t}function oY(e,t,n,r){return e.baseState=n,oB(e,om,"function"==typeof r?r:oM)}function oK(e,t,n,r,a){if(lA(e))throw Error(i(485));if(null!==(e=t.action)){var o={payload:a,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};null!==G.T?n(!0):o.isTransition=!1,r(o),null===(n=t.pending)?(o.next=t.pending=o,oQ(t,o)):(o.next=n.next,t.pending=n.next=o)}}function oQ(e,t){var n=t.action,r=t.payload,a=e.state;if(t.isTransition){var o=G.T,l={};l.types=null!==o?o.types:null,G.T=l;try{var i=n(a,r),s=G.S;null!==s&&s(l,i),oZ(e,t,i)}catch(n){o0(e,t,n)}finally{null!==o&&null!==l.types&&(o.types=l.types),G.T=o}}else try{o=n(a,r),oZ(e,t,o)}catch(n){o0(e,t,n)}}function oZ(e,t,n){null!==n&&"object"==typeof n&&"function"==typeof n.then?n.then(function(n){oJ(e,t,n)},function(n){return o0(e,t,n)}):oJ(e,t,n)}function oJ(e,t,n){t.status="fulfilled",t.value=n,o1(t),e.state=n,null!==(t=e.pending)&&((n=t.next)===t?e.pending=null:(n=n.next,t.next=n,oQ(e,n)))}function o0(e,t,n){var r=e.pending;if(e.pending=null,null!==r){r=r.next;do t.status="rejected",t.reason=n,o1(t),t=t.next;while(t!==r)}e.action=null}function o1(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function o2(e,t){return t}function o4(e,t){if(rZ){var n=sR.formState;if(null!==n){e:{var r=op;if(rZ){if(rQ){t:{for(var a=rQ,o=r0;8!==a.nodeType;)if(!o||null===(a=de(a.nextSibling))){a=null;break t}a="F!"===(o=a.data)||"F"===o?a:null}if(a){rQ=de(a.nextSibling),r="F!"===a.data;break e}}r2(r)}r=!1}r&&(t=n[0])}}return(n=oL()).memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o2,lastRenderedState:t},n.queue=r,n=lE.bind(null,op,r),r.dispatch=n,r=oW(!1),o=lT.bind(null,op,!1,r.queue),r=oL(),a={state:t,dispatch:null,action:e,pending:null},r.queue=a,n=oK.bind(null,op,a,o,n),a.dispatch=n,r.memoizedState=e,[t,n,!1]}function o3(e){return o6(oI(),om,e)}function o6(e,t,n){if(t=oB(e,t,o2)[0],e=oz(oM)[0],"object"==typeof t&&null!==t&&"function"==typeof t.then)try{var r=oj(t)}catch(e){if(e===aN)throw aL;throw e}else r=t;var a=(t=oI()).queue,o=a.dispatch;return n!==t.memoizedState&&(op.flags|=2048,o9(9,{destroy:void 0},o5.bind(null,a,n),null)),[r,o,e]}function o5(e,t){e.action=t}function o8(e){var t=oI(),n=om;if(null!==n)return o6(t,n,e);oI(),t=t.memoizedState;var r=(n=oI()).queue.dispatch;return n.memoizedState=e,[t,r,!1]}function o9(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},null===(t=op.updateQueue)&&(t=oR(),op.updateQueue=t),null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function o7(){return oI().memoizedState}function le(e,t,n,r){var a=oL();op.flags|=e,a.memoizedState=o9(1|t,{destroy:void 0},n,void 0===r?null:r)}function lt(e,t,n,r){var a=oI();r=void 0===r?null:r;var o=a.memoizedState.inst;null!==om&&null!==r&&oE(r,om.memoizedState.deps)?a.memoizedState=o9(t,o,n,r):(op.flags|=e,a.memoizedState=o9(1|t,o,n,r))}function ln(e,t){le(8390656,8,e,t)}function lr(e,t){lt(2048,8,e,t)}function la(e){var t=oI().memoizedState,n={ref:t,nextImpl:e};op.flags|=4;var r=op.updateQueue;if(null===r)r=oR(),op.updateQueue=r,r.events=[n];else{var a=r.events;null===a?r.events=[n]:a.push(n)}return function(){if(0!=(2&sI))throw Error(i(440));return t.impl.apply(void 0,arguments)}}function lo(e,t){return lt(4,2,e,t)}function ll(e,t){return lt(4,4,e,t)}function li(e,t){if("function"==typeof t){var n=t(e=e());return function(){"function"==typeof n?n():t(null)}}if(null!=t)return t.current=e=e(),function(){t.current=null}}function ls(e,t,n){n=null!=n?n.concat([e]):null,lt(4,4,li.bind(null,t,e),n)}function lu(){}function lc(e,t){var n=oI();t=void 0===t?null:t;var r=n.memoizedState;return null!==t&&oE(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ld(e,t){var n=oI();t=void 0===t?null:t;var r=n.memoizedState;if(null!==t&&oE(t,r[1]))return r[0];if(r=e(),oy){eP(!0);try{e()}finally{eP(!1)}}return n.memoizedState=[r,t],r}function lf(e,t,n){return void 0===n||0!=(0x40000000&of)&&0==(261930&sD)?e.memoizedState=t:(e.memoizedState=n,e=ul(),op.lanes|=e,sH|=e,n)}function lp(e,t,n,r){return nX(n,t)?n:null!==a5.current?(nX(e=lf(e,n,r),t)||(lW=!0),e):0==(106&of)||0!=(0x40000000&of)&&0==(261930&sD)?(lW=!0,e.memoizedState=n):(e=ul(),op.lanes|=e,sH|=e,t)}function lm(e,t,n,r,a){var o=W.p;W.p=0!==o&&8>o?o:8;var l=G.T,i={};i.types=null!==l?l.types:null,G.T=i,lT(e,!1,t,n);try{var s=a(),u=G.S;if(null!==u&&u(i,s),null!==s&&"object"==typeof s&&"function"==typeof s.then){var c,d,f=(c=[],d={status:"pending",value:null,reason:null,then:function(e){c.push(e)}},s.then(function(){d.status="fulfilled",d.value=r;for(var e=0;e<c.length;e++)(0,c[e])(r)},function(e){for(d.status="rejected",d.reason=e,e=0;e<c.length;e++)(0,c[e])(void 0)}),d);l_(e,t,f,uo(e))}else l_(e,t,r,uo(e))}catch(n){l_(e,t,{then:function(){},status:"rejected",reason:n},uo())}finally{W.p=o,null!==l&&null!==i.types&&(l.types=i.types),G.T=l}}function lg(){}function lh(e,t,n,r){if(5!==e.tag)throw Error(i(476));var a=lb(e).queue;lm(e,a,t,Y,null===n?lg:function(){return ly(e),n(r)})}function lb(e){var t=e.memoizedState;if(null!==t)return t;var n={};return(t={memoizedState:Y,baseState:Y,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:oM,lastRenderedState:Y},next:null}).next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:oM,lastRenderedState:n},next:null},e.memoizedState=t,null!==(e=e.alternate)&&(e.memoizedState=t),t}function ly(e){var t=lb(e);null===t.next&&(t=e.alternate.memoizedState),l_(e,t.next.queue,{},uo())}function lv(){return au(dM)}function lw(){return oI().memoizedState}function lS(){return oI().memoizedState}function lk(e){for(var t=e.return;null!==t;){switch(t.tag){case 24:case 3:var n=uo(),r=aZ(t,e=aQ(n),n);null!==r&&(us(r,t,n),aJ(r,t,n)),t={cache:ah()},e.payload=t;return}t=t.return}}function lx(e,t,n){var r=uo();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},lA(e)?lC(t,n):null!==(n=rv(e,t,n,r))&&(us(n,e,r),lP(n,t,r))}function lE(e,t,n){l_(e,t,n,uo())}function l_(e,t,n,r){var a={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(lA(e))lC(t,a);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var l=t.lastRenderedState,i=o(l,n);if(a.hasEagerState=!0,a.eagerState=i,nX(i,l))return ry(e,t,a,0),null===sR&&rb(),!1}catch(e){}finally{}if(null!==(n=rv(e,t,a,r)))return us(n,e,r),lP(n,t,r),!0}return!1}function lT(e,t,n,r){if(r={lane:2,revertLane:u1(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},lA(e)){if(t)throw Error(i(479))}else null!==(t=rv(e,n,r,2))&&us(t,e,2)}function lA(e){var t=e.alternate;return e===op||null!==t&&t===op}function lC(e,t){ob=oh=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function lP(e,t,n){if(0!=(4194048&n)){var r=t.lanes;r&=e.pendingLanes,t.lanes=n|=r,eH(e,n)}}var lN={readContext:au,use:oD,useCallback:ox,useContext:ox,useEffect:ox,useImperativeHandle:ox,useLayoutEffect:ox,useInsertionEffect:ox,useMemo:ox,useReducer:ox,useRef:ox,useState:ox,useDebugValue:ox,useDeferredValue:ox,useTransition:ox,useSyncExternalStore:ox,useId:ox,useHostTransitionStatus:ox,useFormState:ox,useActionState:ox,useOptimistic:ox,useMemoCache:ox,useCacheRefresh:ox,useEffectEvent:ox},lO={readContext:au,use:oD,useCallback:function(e,t){return oL().memoizedState=[e,void 0===t?null:t],e},useContext:au,useEffect:ln,useImperativeHandle:function(e,t,n){n=null!=n?n.concat([e]):null,le(4194308,4,li.bind(null,t,e),n)},useLayoutEffect:function(e,t){return le(4194308,4,e,t)},useInsertionEffect:function(e,t){le(4,2,e,t)},useMemo:function(e,t){var n=oL();t=void 0===t?null:t;var r=e();if(oy){eP(!0);try{e()}finally{eP(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=oL();if(void 0!==n){var a=n(t);if(oy){eP(!0);try{n(t)}finally{eP(!1)}}}else a=t;return r.memoizedState=r.baseState=a,r.queue=e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},e=e.dispatch=lx.bind(null,op,e),[r.memoizedState,e]},useRef:function(e){return oL().memoizedState={current:e}},useState:function(e){var t=(e=oW(e)).queue,n=lE.bind(null,op,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:lu,useDeferredValue:function(e,t){return lf(oL(),e,t)},useTransition:function(){var e=oW(!1);return e=lm.bind(null,op,e.queue,!0,!1),oL().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=op,a=oL();if(rZ){if(void 0===n)throw Error(i(407));n=n()}else{if(n=t(),null===sR)throw Error(i(349));0!=(127&sD)||oq(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ln(oX.bind(null,r,o,e),[e]),r.flags|=2048,o9(9,{destroy:void 0},oH.bind(null,r,o,n,t),null),n},useId:function(){var e=oL(),t=sR.identifierPrefix;if(rZ){var n=rH,r=rq;t="_"+t+"R_"+(n=(r&~(1<<32-eN(r)-1)).toString(32)+n),0<(n=ov++)&&(t+="H"+n.toString(32)),t+="_"}else t="_"+t+"r_"+(n=ok++).toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:lv,useFormState:o4,useActionState:o4,useOptimistic:function(e){var t=oL();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=lT.bind(null,op,!0,n),n.dispatch=t,[e,t]},useMemoCache:oF,useCacheRefresh:function(){return oL().memoizedState=lk.bind(null,op)},useEffectEvent:function(e){var t=oL(),n={impl:e};return t.memoizedState=n,function(){if(0!=(2&sI))throw Error(i(440));return n.impl.apply(void 0,arguments)}}},lL={readContext:au,use:oD,useCallback:lc,useContext:au,useEffect:lr,useImperativeHandle:ls,useInsertionEffect:lo,useLayoutEffect:ll,useMemo:ld,useReducer:oz,useRef:o7,useState:function(){return oz(oM)},useDebugValue:lu,useDeferredValue:function(e,t){return lp(oI(),om.memoizedState,e,t)},useTransition:function(){var e=oz(oM)[0],t=oI().memoizedState;return["boolean"==typeof e?e:oj(e),t]},useSyncExternalStore:o$,useId:lw,useHostTransitionStatus:lv,useFormState:o3,useActionState:o3,useOptimistic:function(e,t){return oY(oI(),om,e,t)},useMemoCache:oF,useCacheRefresh:lS,useEffectEvent:la},lI={readContext:au,use:oD,useCallback:lc,useContext:au,useEffect:lr,useImperativeHandle:ls,useInsertionEffect:lo,useLayoutEffect:ll,useMemo:ld,useReducer:oU,useRef:o7,useState:function(){return oU(oM)},useDebugValue:lu,useDeferredValue:function(e,t){var n=oI();return null===om?lf(n,e,t):lp(n,om.memoizedState,e,t)},useTransition:function(){var e=oU(oM)[0],t=oI().memoizedState;return["boolean"==typeof e?e:oj(e),t]},useSyncExternalStore:o$,useId:lw,useHostTransitionStatus:lv,useFormState:o8,useActionState:o8,useOptimistic:function(e,t){var n=oI();return null!==om?oY(n,om,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:oF,useCacheRefresh:lS,useEffectEvent:la};function lR(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:E({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var lj={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=uo(),a=aQ(r);a.payload=t,null!=n&&(a.callback=n),null!==(t=aZ(e,a,r))&&(us(t,e,r),aJ(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=uo(),a=aQ(r);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=aZ(e,a,r))&&(us(t,e,r),aJ(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=uo(),r=aQ(n);r.tag=2,null!=t&&(r.callback=t),null!==(t=aZ(e,r,n))&&(us(t,e,n),aJ(t,e,n))}};function lD(e,t,n,r,a,o,l){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,l):!t.prototype||!t.prototype.isPureReactComponent||!nV(n,r)||!nV(a,o)}function lF(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&lj.enqueueReplaceState(t,t.state,null)}function lM(e,t){var n=t;if("ref"in t)for(var r in n={},t)"ref"!==r&&(n[r]=t[r]);if(e=e.defaultProps)for(var a in n===t&&(n=E({},n)),e)void 0===n[a]&&(n[a]=e[a]);return n}function lz(e){rp(e)}function lB(e){console.error(e)}function lU(e){rp(e)}function l$(e,t){try{(0,e.onUncaughtError)(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function lq(e,t,n){try{(0,e.onCaughtError)(n.value,{componentStack:n.stack,errorBoundary:1===t.tag?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function lH(e,t,n){return(n=aQ(n)).tag=3,n.payload={element:null},n.callback=function(){l$(e,t)},n}function lX(e){return(e=aQ(e)).tag=3,e}function lV(e,t,n,r){var a=n.type.getDerivedStateFromError;if("function"==typeof a){var o=r.value;e.payload=function(){return a(o)},e.callback=function(){lq(t,n,r)}}var l=n.stateNode;null!==l&&"function"==typeof l.componentDidCatch&&(e.callback=function(){lq(t,n,r),"function"!=typeof a&&(null===s2?s2=new Set([this]):s2.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:null!==e?e:""})})}var lG=Error(i(461)),lW=!1;function lY(e,t,n,r){t.child=null===e?aG(t,null,n,r):aV(t,e.child,n,r)}function lK(e,t,n,r,a){n=n.render;var o=t.ref;if("ref"in r){var l={};for(var i in r)"ref"!==i&&(l[i]=r[i])}else l=r;return(as(t),r=o_(e,t,n,l,o,a),i=oP(),null===e||lW)?(rZ&&i&&rG(t),t.flags|=1,lY(e,t,r,a),t.child):(oN(e,t,a),im(e,t,a))}function lQ(e,t,n,r,a){if(null===e){var o=n.type;return"function"!=typeof o||rT(o)||void 0!==o.defaultProps||null!==n.compare?((e=rP(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,lZ(e,t,o,r,a))}if(o=e.child,!ig(e,a)){var l=o.memoizedProps;if((n=null!==(n=n.compare)?n:nV)(l,r)&&e.ref===t.ref)return im(e,t,a)}return t.flags|=1,(e=rA(o,r)).ref=t.ref,e.return=t,t.child=e}function lZ(e,t,n,r,a){if(null!==e){var o=e.memoizedProps;if(nV(o,r)&&e.ref===t.ref)if(lW=!1,t.pendingProps=r=o,!ig(e,a))return t.lanes=e.lanes,im(e,t,a);else 0!=(131072&e.flags)&&(lW=!0)}return l6(e,t,n,r,a)}function lJ(e,t,n,r){var a=r.children,o=null!==e?e.memoizedState:null;if(null===e&&null===t.stateNode&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),"hidden"===r.mode){if(0!=(128&t.flags)){if(o=null!==o?o.baseLanes|n:n,null!==e){for(a=0,r=t.child=e.child;null!==r;)a=a|r.lanes|r.childLanes,r=r.sibling;r=a&~o}else r=0,t.child=null;return l1(e,t,o,n,r)}if(0==(0x20000000&n))return r=t.lanes=0x20000000,l1(e,t,null!==o?o.baseLanes|n:n,n,r);t.memoizedState={baseLanes:0,cachePool:null},null!==e&&aC(t,null!==o?o.cachePool:null),null!==o?a9(t,o):a7(),oo(t)}else null!==o?(aC(t,o.cachePool),a9(t,o),ol(),t.memoizedState=null):(null!==e&&aC(t,null),a7(),ol());return lY(e,t,a,n),t.child}function l0(e,t){return null!==e&&22===e.tag||null!==t.stateNode||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function l1(e,t,n,r,a){var o=aA();return t.memoizedState={baseLanes:n,cachePool:o=null===o?null:{parent:ag._currentValue,pool:o}},null!==e&&aC(t,null),a7(),oo(t),null!==e&&al(e,t,r,!0),t.childLanes=a,null}function l2(e,t){return(t=io({mode:t.mode,children:t.children},e.mode)).ref=e.ref,e.child=t,t.return=e,t}function l4(e,t,n){return aV(t,e.child,null,n),e=l2(t,t.pendingProps),e.flags|=2,oi(t),t.memoizedState=null,e}function l3(e,t){var n=t.ref;if(null===n)null!==e&&null!==e.ref&&(t.flags|=4194816);else{if("function"!=typeof n&&"object"!=typeof n)throw Error(i(284));(null===e||e.ref!==n)&&(t.flags|=4194816)}}function l6(e,t,n,r,a){return(as(t),n=o_(e,t,n,r,void 0,a),r=oP(),null===e||lW)?(rZ&&r&&rG(t),t.flags|=1,lY(e,t,n,a),t.child):(oN(e,t,a),im(e,t,a))}function l5(e,t,n,r,a,o){return(as(t),t.updateQueue=null,n=oA(t,r,n,a),oT(e),r=oP(),null===e||lW)?(rZ&&r&&rG(t),t.flags|=1,lY(e,t,n,o),t.child):(oN(e,t,o),im(e,t,o))}function l8(e,t,n,r,a){if(as(t),null===t.stateNode){var o=rx,l=n.contextType;"object"==typeof l&&null!==l&&(o=au(l)),t.memoizedState=null!==(o=new n(r,o)).state&&void 0!==o.state?o.state:null,o.updater=lj,t.stateNode=o,o._reactInternals=t,(o=t.stateNode).props=r,o.state=t.memoizedState,o.refs={},aY(t),l=n.contextType,o.context="object"==typeof l&&null!==l?au(l):rx,o.state=t.memoizedState,"function"==typeof(l=n.getDerivedStateFromProps)&&(lR(t,n,l,r),o.state=t.memoizedState),"function"==typeof n.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(l=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),l!==o.state&&lj.enqueueReplaceState(o,o.state,null),a4(t,r,o,a),a2(),o.state=t.memoizedState),"function"==typeof o.componentDidMount&&(t.flags|=4194308),r=!0}else if(null===e){o=t.stateNode;var i=t.memoizedProps,s=lM(n,i);o.props=s;var u=o.context,c=n.contextType;l=rx,"object"==typeof c&&null!==c&&(l=au(c));var d=n.getDerivedStateFromProps;c="function"==typeof d||"function"==typeof o.getSnapshotBeforeUpdate,i=t.pendingProps!==i,c||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(i||u!==l)&&lF(t,o,r,l),aW=!1;var f=t.memoizedState;o.state=f,a4(t,r,o,a),a2(),u=t.memoizedState,i||f!==u||aW?("function"==typeof d&&(lR(t,n,d,r),u=t.memoizedState),(s=aW||lD(t,n,s,r,f,u,l))?(c||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||("function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"==typeof o.componentDidMount&&(t.flags|=4194308)):("function"==typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=u),o.props=r,o.state=u,o.context=l,r=s):("function"==typeof o.componentDidMount&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,aK(e,t),c=lM(n,l=t.memoizedProps),o.props=c,d=t.pendingProps,f=o.context,u=n.contextType,s=rx,"object"==typeof u&&null!==u&&(s=au(u)),(u="function"==typeof(i=n.getDerivedStateFromProps)||"function"==typeof o.getSnapshotBeforeUpdate)||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(l!==d||f!==s)&&lF(t,o,r,s),aW=!1,f=t.memoizedState,o.state=f,a4(t,r,o,a),a2();var p=t.memoizedState;l!==d||f!==p||aW||null!==e&&null!==e.dependencies&&ai(e.dependencies)?("function"==typeof i&&(lR(t,n,i,r),p=t.memoizedState),(c=aW||lD(t,n,c,r,f,p,s)||null!==e&&null!==e.dependencies&&ai(e.dependencies))?(u||"function"!=typeof o.UNSAFE_componentWillUpdate&&"function"!=typeof o.componentWillUpdate||("function"==typeof o.componentWillUpdate&&o.componentWillUpdate(r,p,s),"function"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(r,p,s)),"function"==typeof o.componentDidUpdate&&(t.flags|=4),"function"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof o.componentDidUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),o.props=r,o.state=p,o.context=s,r=c):("function"!=typeof o.componentDidUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return o=r,l3(e,t),r=0!=(128&t.flags),o||r?(o=t.stateNode,n=r&&"function"!=typeof n.getDerivedStateFromError?null:o.render(),t.flags|=1,null!==e&&r?(t.child=aV(t,e.child,null,a),t.child=aV(t,null,n,a)):lY(e,t,n,a),t.memoizedState=o.state,e=t.child):e=im(e,t,a),e}function l9(e,t,n,r){return r5(),t.flags|=256,lY(e,t,n,r),t.child}var l7={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ie(e){return{baseLanes:e,cachePool:aP()}}function it(e,t,n){return e=null!==e?e.childLanes&~n:0,t&&(e|=sG),e}function ir(e,t,n){var r,a=t.pendingProps,o=!1,l=0!=(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!=(2&os.current)),r&&(o=!0,t.flags&=-129),r=0!=(32&t.flags),t.flags&=-33,null===e){if(rZ){if(o?or(t):ol(),(e=rQ)?null!==(e=null!==(e=c8(e,r0))&&"&"!==e.data?e:null)&&(t.memoizedState={dehydrated:e,treeContext:null!==r$?{id:rq,overflow:rH}:null,retryLane:0x20000000,hydrationErrors:null},(n=rL(e)).return=t,t.child=n,rK=t,rQ=null):e=null,null===e)throw r2(t);return c7(e)?t.lanes=32:t.lanes=0x20000000,null}return(l=a.children,a=a.fallback,o)?(ol(),l=io({mode:"hidden",children:l},o=t.mode),a=rN(a,o,n,null),l.return=t,a.return=t,l.sibling=a,t.child=l,(a=t.child).memoizedState=ie(n),a.childLanes=it(e,r,n),t.memoizedState=l7,l0(null,a)):(or(t),ia(t,l))}var s=e.memoizedState;if(null!==s){var u=s.dehydrated;if(null!==u){var c=e,d=t,f=l,p=r,m=a,g=u,h=s,b=n;if(f)return 256&d.flags?(or(d),d.flags&=-257,il(c,d,b)):null!==d.memoizedState?(ol(),d.child=c.child,d.flags|=128,null):(ol(),g=m.fallback,h=d.mode,m=io({mode:"visible",children:m.children},h),g=rN(g,h,b,null),g.flags|=2,m.return=d,g.return=d,m.sibling=g,d.child=m,aV(d,c.child,null,b),(m=d.child).memoizedState=ie(b),m.childLanes=it(c,p,b),d.memoizedState=l7,l0(null,m));if(or(d),c7(g)){if(p=g.nextSibling&&g.nextSibling.dataset)var y=p.dgst;return""!==(p=y)&&((m=Error(i(419))).stack="",m.digest=p,r9({value:m,source:null,stack:null})),il(c,d,b)}if(lW||al(c,d,b,!1),p=0!=(b&c.childLanes),lW||p){if(null!==a5.current)return il(c,d,b);if(null!==(p=sR)&&0!==(m=eX(p,b))&&m!==h.retryLane)throw h.retryLane=m,rw(c,m),us(p,c,m),lG;return c9(g)||uv(),il(c,d,b)}return c9(g)?(d.flags|=192,d.child=c.child,null):(c=h.treeContext,rQ=de(g.nextSibling),rK=d,rZ=!0,rJ=null,r0=!1,null!==c&&rY(d,c),d=ia(d,m.children),d.flags|=0x8001000,d)}}return o?(ol(),o=a.fallback,l=t.mode,u=(s=e.child).sibling,(a=rA(s,{mode:"hidden",children:a.children})).subtreeFlags=0x47f00000&s.subtreeFlags,null!==u?o=rA(u,o):(o=rN(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,l0(null,a),a=t.child,null===(o=e.child.memoizedState)?o=ie(n):(null!==(l=o.cachePool)?(s=ag._currentValue,l=l.parent!==s?{parent:s,pool:s}:l):l=aP(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=it(e,r,n),t.memoizedState=l7,l0(e.child,a)):(or(t),e=(n=e.child).sibling,(n=rA(n,{mode:"visible",children:a.children})).return=t,n.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function ia(e,t){return(t=io({mode:"visible",children:t},e.mode)).return=e,e.child=t}function io(e,t){return(e=r_(22,e,null,t)).lanes=0,e}function il(e,t,n){return aV(t,e.child,null,n),e=ia(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ii(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),aa(e.return,t,n)}function is(e){for(var t=null;null!==e;){var n=e.alternate;null!==n&&null===od(n)&&(t=e),e=e.sibling}return t}function iu(e,t,n,r,a,o){var l=e.memoizedState;null===l?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a,treeForkCount:o}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=r,l.tail=n,l.tailMode=a,l.treeForkCount=o)}function ic(e){var t=e.child;for(e.child=null;null!==t;){var n=t.sibling;t.sibling=e.child,e.child=t,t=n}}function id(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;r=r.children;var l=os.current;if(128&t.flags)return ou(t,l),null;var i=0!=(2&l);if(i?(l=1&l|2,t.flags|=128):l&=1,ou(t,l),"backwards"===a&&null!==e?(ic(e),lY(e,t,r,n),ic(e)):lY(e,t,r,n),r=rZ?rz:0,!i&&null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ii(e,n,t);else if(19===e.tag)ii(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(a){case"backwards":null===(n=is(t.child))?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null,ic(t)),iu(t,!0,a,null,o,r);break;case"unstable_legacy-backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===od(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}iu(t,!0,n,null,o,r);break;case"together":iu(t,!1,null,null,void 0,r);break;case"independent":t.memoizedState=null;break;default:null===(n=is(t.child))?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),iu(t,!1,a,n,o,r)}return t.child}function ip(e,t,n){var r=t.pendingProps;return an(t,t.type,r.value),lY(e,t,r.children,n),t.child}function im(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),sH|=t.lanes,0==(n&t.childLanes)){if(null===e)return null;else if(al(e,t,n,!1),0==(n&t.childLanes))return null}if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=rA(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=rA(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function ig(e,t){return 0!=(e.lanes&t)||!!(null!==(e=e.dependencies)&&ai(e))}function ih(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps)lW=!0;else{if(!ig(e,n)&&0==(128&t.flags))return lW=!1,function(e,t,n){switch(t.tag){case 3:eo(t,t.stateNode.containerInfo),an(t,ag,e.memoizedState.cache),r5();break;case 27:case 5:ei(t);break;case 4:eo(t,t.stateNode.containerInfo);break;case 10:an(t,t.type,t.memoizedProps.value);break;case 31:if(null!==t.memoizedState)return t.flags|=128,oa(t),null;break;case 13:var r=t.memoizedState;if(null!==r){if(null!==r.dehydrated)return or(t),t.flags|=128,null;r=al(e,t,n,!1);var a=t.child.childLanes;if(r||0!=(n&a))return ir(e,t,n);return or(t),null!==(e=im(e,t,n))?e.sibling:null}or(t);break;case 19:if(128&t.flags)return id(e,t,n);if(a=0!=(128&e.flags),(r=0!=(n&t.childLanes))||(al(e,t,n,!1),r=0!=(n&t.childLanes)),a){if(r)return id(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),ou(t,os.current),!r)return null;break;case 22:return t.lanes=0,lJ(e,t,n,t.pendingProps);case 24:an(t,ag,e.memoizedState.cache)}return im(e,t,n)}(e,t,n);lW=0!=(131072&e.flags)}else lW=!1,rZ&&0!=(1048576&t.flags)&&rV(t,rz,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=aD(t.elementType),t.type=e,"function"==typeof e)rT(e)?(r=lM(e,r),t.tag=1,t=l8(null,t,e,r,n)):(t.tag=0,t=l6(null,t,e,r,n));else{if(null!=e){var a=e.$$typeof;if(a===I){t.tag=11,t=lK(null,t,e,r,n);break e}if(a===D){t.tag=14,t=lQ(null,t,e,r,n);break e}if(a===L){t.tag=10,t.type=e,t=ip(null,t,n);break e}}throw Error(i(306,t=function e(t){if(null==t)return null;if("function"==typeof t)return t.$$typeof===X?null:t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case C:return"Fragment";case N:return"Profiler";case P:return"StrictMode";case R:return"Suspense";case j:return"SuspenseList";case M:return"Activity";case U:return"ViewTransition"}if("object"==typeof t)switch(t.$$typeof){case A:return"Portal";case L:return t.displayName||"Context";case O:return(t._context.displayName||"Context")+".Consumer";case I:var n=t.render;return(t=t.displayName)||(t=""!==(t=n.displayName||n.name||"")?"ForwardRef("+t+")":"ForwardRef"),t;case D:return null!==(n=t.displayName||null)?n:e(t.type)||"Memo";case F:n=t._payload,t=t._init;try{return e(t(n))}catch(e){}}return null}(e)||e,""))}}return t;case 0:return l6(e,t,t.type,t.pendingProps,n);case 1:return a=lM(r=t.type,t.pendingProps),l8(e,t,r,a,n);case 3:e:{if(eo(t,t.stateNode.containerInfo),null===e)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,aK(e,t),a4(t,r,null,n);var l=t.memoizedState;if(an(t,ag,r=l.cache),r!==o.cache&&ao(t,[ag],n,!0),a2(),r=l.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:l.cache},t.updateQueue.baseState=o,t.memoizedState=o,256&t.flags){t=l9(e,t,r,n);break e}else if(r!==a){r9(a=rj(Error(i(424)),t)),t=l9(e,t,r,n);break e}else for(rQ=de((e=9===(e=t.stateNode.containerInfo).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e).firstChild),rK=t,rZ=!0,rJ=null,r0=!0,n=aG(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|0x8001000,n=n.sibling;else{if(r5(),r===a){t=im(e,t,n);break e}lY(e,t,r,n)}t=t.child}return t;case 26:return l3(e,t),null===e?(n=dm(t.type,null,t.pendingProps,null))?t.memoizedState=n:rZ||(t.stateNode=ck(t.type,t.pendingProps,er.current,t)):t.memoizedState=dm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ei(t),null===e&&rZ&&(r=t.stateNode=da(t.type,t.pendingProps,er.current),rK=t,r0=!0,a=rQ,cO(t.type)?(dt=a,rQ=de(r.firstChild)):rQ=a),lY(e,t,t.pendingProps.children,n),l3(e,t),null===e&&(t.flags|=4194304),t.child;case 5:return null===e&&rZ&&((a=r=rQ)&&(null!==(r=function(e,t,n,r){for(;1===e.nodeType;){if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&("INPUT"!==e.nodeName||"hidden"!==e.type))break}else if(r){if(!e[e3])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if("stylesheet"===(a=e.getAttribute("rel"))&&e.hasAttribute("data-precedence")||a!==n.rel||e.getAttribute("href")!==(null==n.href||""===n.href?null:n.href)||e.getAttribute("crossorigin")!==(null==n.crossOrigin?null:n.crossOrigin)||e.getAttribute("title")!==(null==n.title?null:n.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(((a=e.getAttribute("src"))!==(null==n.src?null:n.src)||e.getAttribute("type")!==(null==n.type?null:n.type)||e.getAttribute("crossorigin")!==(null==n.crossOrigin?null:n.crossOrigin))&&a&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else{if("input"!==t||"hidden"!==e.type)return e;var a=null==n.name?null:""+n.name;if("hidden"===n.type&&e.getAttribute("name")===a)return e}if(null===(e=de(e.nextSibling)))break}return null}(r,t.type,t.pendingProps,r0))?(t.stateNode=r,rK=t,rQ=de(r.firstChild),r0=!1,a=!0):a=!1),a||r2(t)),ei(t),a=t.type,o=t.pendingProps,l=null!==e?e.memoizedProps:null,r=o.children,cx(a,o)?r=null:null!==l&&cx(a,l)&&(t.flags|=32),null!==t.memoizedState&&(dM._currentValue=a=o_(e,t,oC,null,null,n)),l3(e,t),lY(e,t,r,n),t.child;case 6:return null===e&&rZ&&((e=n=rQ)&&(null!==(n=function(e,t,n){if(""===t)return null;for(;3!==e.nodeType;)if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!n||null===(e=de(e.nextSibling)))return null;return e}(n,t.pendingProps,r0))?(t.stateNode=n,rK=t,rQ=null,e=!0):e=!1),e||r2(t)),null;case 13:return ir(e,t,n);case 4:return eo(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=aV(t,null,r,n):lY(e,t,r,n),t.child;case 11:return lK(e,t,t.type,t.pendingProps,n);case 7:return r=t.pendingProps,l3(e,t),lY(e,t,r,n),t.child;case 8:case 12:return lY(e,t,t.pendingProps.children,n),t.child;case 10:return ip(e,t,n);case 9:return a=t.type._context,r=t.pendingProps.children,as(t),r=r(a=au(a)),t.flags|=1,lY(e,t,r,n),t.child;case 14:return lQ(e,t,t.type,t.pendingProps,n);case 15:return lZ(e,t,t.type,t.pendingProps,n);case 19:return id(e,t,n);case 31:var s=e,u=t,c=n,d=u.pendingProps,f=0!=(128&u.flags);if(u.flags&=-129,null===s){if(rZ){if("hidden"===d.mode)return s=l2(u,d),u.lanes=0x20000000,s.memoizedState={baseLanes:0,cachePool:null},l0(null,s);if(oa(u),(s=rQ)?null!==(s=null!==(s=c8(s,r0))&&"&"===s.data?s:null)&&(u.memoizedState={dehydrated:s,treeContext:null!==r$?{id:rq,overflow:rH}:null,retryLane:0x20000000,hydrationErrors:null},(c=rL(s)).return=u,u.child=c,rK=u,rQ=null):s=null,null===s)throw r2(u);return u.lanes=0x20000000,null}return l2(u,d)}var p=s.memoizedState;if(null!==p){var m=p.dehydrated;if(oa(u),f)if(256&u.flags)u.flags&=-257,u=l4(s,u,c);else if(null!==u.memoizedState)u.child=s.child,u.flags|=128,u=null;else throw Error(i(558));else if(lW||al(s,u,c,!1),f=0!=(c&s.childLanes),lW||f){if(null===a5.current){if(null!==(d=sR)&&0!==(m=eX(d,c))&&m!==p.retryLane)throw p.retryLane=m,rw(s,m),us(d,s,m),lG;uv()}u=l4(s,u,c)}else s=p.treeContext,rQ=de(m.nextSibling),rK=u,rZ=!0,rJ=null,r0=!1,null!==s&&rY(u,s),u=l2(u,d),u.flags|=0x8001000;return u}return(s=rA(s.child,{mode:d.mode,children:d.children})).ref=u.ref,u.child=s,s.return=u,s;case 22:return lJ(e,t,n,t.pendingProps);case 24:return as(t),r=au(ag),null===e?(null===(a=aA())&&(a=sR,o=ah(),a.pooledCache=o,o.refCount++,null!==o&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},aY(t),an(t,ag,a)):(0!=(e.lanes&n)&&(aK(e,t),a4(t,null,null,n),a2()),a=e.memoizedState,o=t.memoizedState,a.parent!==r?(a={parent:r,cache:r},t.memoizedState=a,0===t.lanes&&(t.memoizedState=t.updateQueue.baseState=a),an(t,ag,r)):(an(t,ag,r=o.cache),r!==a.cache&&ao(t,[ag],n,!0))),lY(e,t,t.pendingProps.children,n),t.child;case 30:return null===t.stateNode&&(t.stateNode={autoName:null,paired:null,clones:null,ref:null}),null!=(r=t.pendingProps).name&&"auto"!==r.name?t.flags|=null===e?0x1202000:0x1200000:rZ&&rG(t),null!==e&&e.memoizedProps.name!==r.name?t.flags|=4194816:l3(e,t),lY(e,t,r.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function ib(e){e.flags|=4}function iy(e,t,n,r,a){var o;if((o=0!=(32&e.mode))&&(o=null===n?dA(t,r):dA(t,r)&&(r.src!==n.src||r.srcSet!==n.srcSet)),o){if(e.flags|=0x1000000,(0x13ffff40&a)===a)if(e.stateNode.complete)e.flags|=8192;else if(uh())e.flags|=8192;else throw aF=aI,aO}else e.flags&=-0x1000001}function iv(e,t){if("stylesheet"!==t.type||0!=(4&t.state.loading))e.flags&=-0x1000001;else if(e.flags|=0x1000000,!dC(t))if(uh())e.flags|=8192;else throw aF=aI,aO}function iw(e,t){null!==t&&(e.flags|=4),16384&e.flags&&(t=22!==e.tag?eB():0x20000000,e.lanes|=t,sW|=t)}function iS(e,t){if(!rZ)switch(e.tailMode){case"visible":break;case"collapsed":for(var n=e.tail,r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null;break;default:for(n=null,t=e.tail;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null}}function ik(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=0x47f00000&a.subtreeFlags,r|=0x47f00000&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function ix(e,t){switch(rW(t),t.tag){case 3:ar(ag),el();break;case 26:case 27:case 5:es(t);break;case 4:el();break;case 31:null!==t.memoizedState&&oi(t);break;case 13:oi(t);break;case 19:oc(t);break;case 10:ar(t.type);break;case 22:case 23:oi(t),oe(),null!==e&&J(aT);break;case 24:ar(ag)}}function iE(e,t){try{var n=t.updateQueue,r=null!==n?n.lastEffect:null;if(null!==r){var a=r.next;n=a;do{if((n.tag&e)===e){r=void 0;var o=n.create;n.inst.destroy=r=o()}n=n.next}while(n!==a)}}catch(e){uD(t,t.return,e)}}function i_(e,t,n){try{var r=t.updateQueue,a=null!==r?r.lastEffect:null;if(null!==a){var o=a.next;r=o;do{if((r.tag&e)===e){var l=r.inst,i=l.destroy;if(void 0!==i){l.destroy=void 0,a=t;try{i()}catch(e){uD(a,n,e)}}}r=r.next}while(r!==o)}}catch(e){uD(t,t.return,e)}}function iT(e){var t=e.updateQueue;if(null!==t){var n=e.stateNode;try{a6(t,n)}catch(t){uD(e,e.return,t)}}}function iA(e,t,n){n.props=lM(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){uD(e,t,n)}}function iC(e,t){try{var n=e.ref;if(null!==n){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var a=e.stateNode,o=rc(e.memoizedProps,a);(null===a.ref||a.ref.name!==o)&&(a.ref=cU(o)),r=a.ref;break;case 7:if(null===e.stateNode){var l=new c$(e);p(e.child,!1,c4,l,void 0,void 0),e.stateNode=l}r=e.stateNode;break;default:r=e.stateNode}"function"==typeof n?e.refCleanup=n(r):n.current=r}}catch(n){uD(e,t,n)}}function iP(e,t){var n=e.ref,r=e.refCleanup;if(null!==n)if("function"==typeof r)try{r()}catch(n){uD(e,t,n)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if("function"==typeof n)try{n(null)}catch(n){uD(e,t,n)}else n.current=null}function iN(e,t){if((5===e.tag||27===e.tag||6===e.tag)&&null===e.alternate&&null!==t)for(var n=0;n<t.length;n++)c6(e.stateNode,t[n])}function iO(e){for(var t=e.return;null!==t&&(iR(t)&&c6(e.stateNode,t.stateNode),!iI(t));)t=t.return}function iL(e){for(var t=e.return;null!==t&&(iR(t)&&function(e,t){var n=t._eventListeners;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];e.removeEventListener(a.type,a.attachedListener,cX(a.optionsOrUseCapture))}3!==e.nodeType&&(null!==(n=t._observers)&&n.forEach(function(n){var r;"string"==typeof n.rootMargin?(cJ.push({fragmentInstance:t,observer:n,instance:e}),c0||(c0=!0,r=function(){c0=!1;var e=cJ;cJ=[];for(var t=0;t<e.length;t++){var n=e[t];n.observer.unobserve(n.instance)}},cC(function(){cC(function(e){return r(e)})}))):n.unobserve(e)}),null!=e.reactFragments&&e.reactFragments.delete(t))}(e.stateNode,t.stateNode),!iI(t));)t=t.return}function iI(e){return 5===e.tag||3===e.tag||27===e.tag}function iR(e){return e&&7===e.tag&&null!==e.stateNode}function ij(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){uD(e,e.return,t)}}function iD(e,t,n){try{var r=e.stateNode;(function(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var a=null,o=null,l=null,s=null,u=null,c=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&null!=f)switch(m){case"checked":case"value":break;case"defaultValue":u=f;default:r.hasOwnProperty(m)||cf(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(null!=m||null!=f))switch(p){case"type":m!==f&&(tc=!0),o=m;break;case"name":m!==f&&(tc=!0),a=m;break;case"checked":m!==f&&(tc=!0),c=m;break;case"defaultChecked":m!==f&&(tc=!0),d=m;break;case"value":m!==f&&(tc=!0),l=m;break;case"defaultValue":m!==f&&(tc=!0),s=m;break;case"children":case"dangerouslySetInnerHTML":if(null!=m)throw Error(i(137,t));break;default:m!==f&&cf(e,t,p,m,r,f)}}tS(e,l,s,u,c,d,o,a);return;case"select":for(o in m=l=s=p=null,n)if(u=n[o],n.hasOwnProperty(o)&&null!=u)switch(o){case"value":break;case"multiple":m=u;default:r.hasOwnProperty(o)||cf(e,t,o,null,r,u)}for(a in r)if(o=r[a],u=n[a],r.hasOwnProperty(a)&&(null!=o||null!=u))switch(a){case"value":o!==u&&(tc=!0),p=o;break;case"defaultValue":o!==u&&(tc=!0),s=o;break;case"multiple":o!==u&&(tc=!0),l=o;default:o!==u&&cf(e,t,a,o,r,u)}t=s,n=l,r=m,null!=p?tE(e,!!n,p,!1):!!r!=!!n&&(null!=t?tE(e,!!n,t,!0):tE(e,!!n,n?[]:"",!1));return;case"textarea":for(s in m=p=null,n)if(a=n[s],n.hasOwnProperty(s)&&null!=a&&!r.hasOwnProperty(s))switch(s){case"value":case"children":break;default:cf(e,t,s,null,r,a)}for(l in r)if(a=r[l],o=n[l],r.hasOwnProperty(l)&&(null!=a||null!=o))switch(l){case"value":a!==o&&(tc=!0),p=a;break;case"defaultValue":a!==o&&(tc=!0),m=a;break;case"children":break;case"dangerouslySetInnerHTML":if(null!=a)throw Error(i(91));break;default:a!==o&&cf(e,t,l,a,r,o)}t_(e,p,m);return;case"option":for(var g in n)p=n[g],n.hasOwnProperty(g)&&null!=p&&!r.hasOwnProperty(g)&&("selected"===g?e.selected=!1:cf(e,t,g,null,r,p));for(u in r)p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(null!=p||null!=m)&&("selected"===u?(p!==m&&(tc=!0),e.selected=p&&"function"!=typeof p&&"symbol"!=typeof p):cf(e,t,u,p,r,m));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var h in n)p=n[h],n.hasOwnProperty(h)&&null!=p&&!r.hasOwnProperty(h)&&cf(e,t,h,null,r,p);for(c in r)if(p=r[c],m=n[c],r.hasOwnProperty(c)&&p!==m&&(null!=p||null!=m))switch(c){case"children":case"dangerouslySetInnerHTML":if(null!=p)throw Error(i(137,t));break;default:cf(e,t,c,p,r,m)}return;default:if(tO(t)){for(var b in n)p=n[b],n.hasOwnProperty(b)&&void 0!==p&&!r.hasOwnProperty(b)&&cp(e,t,b,void 0,r,p);for(d in r)p=r[d],m=n[d],r.hasOwnProperty(d)&&p!==m&&(void 0!==p||void 0!==m)&&cp(e,t,d,p,r,m);return}}for(var y in n)p=n[y],n.hasOwnProperty(y)&&null!=p&&!r.hasOwnProperty(y)&&cf(e,t,y,null,r,p);for(f in r)p=r[f],m=n[f],r.hasOwnProperty(f)&&p!==m&&(null!=p||null!=m)&&cf(e,t,f,p,r,m)})(r,e.type,n,t),r[eZ]=t}catch(t){uD(e,e.return,t)}}function iF(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag&&cO(e.type)||4===e.tag}function iM(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||iF(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(27===e.tag&&cO(e.type)||2&e.flags||null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function iz(e,t,n,r){var a=e.tag;if(5===a||6===a)a=e.stateNode,t?n.insertBefore(a,t):n.appendChild(a),iN(e,r),tc=!0;else if(4!==a&&(27===a&&(iN(e,r),r=null,cO(e.type)&&(n=e.stateNode)),null!==(e=e.child)))for(iz(e,t,n,r),e=e.sibling;null!==e;)iz(e,t,n,r),e=e.sibling}function iB(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);cm(t,r,n),t[eQ]=e,t[eZ]=n}catch(t){uD(e,e.return,t)}}var iU=!1,i$=null;function iq(e){(30===e.tag||0!=(0x2000000&e.subtreeFlags))&&(iU=!0)}var iH=null;function iX(){var e=iH;return iH=null,e}var iV=0;function iG(e,t,n,r,a){return iV=0,function e(t,n,r,a,o){for(var l=!1;null!==t;){if(5===t.tag){var i=t.stateNode;if(null!==a){var s=cF(i);a.push(s),s.view&&(l=!0)}else l||cF(i).view&&(l=!0);iU=!0,cR(i,0===iV?n:n+"_"+iV,r),iV++}else(22!==t.tag||null===t.memoizedState)&&(30===t.tag&&o||e(t.child,n,r,a,o)&&(l=!0));t=t.sibling}return l}(e.child,t,n,r,a)}function iW(e,t){for(;null!==e;)5===e.tag?cj(e.stateNode,e.memoizedProps):(22!==e.tag||null===e.memoizedState)&&(30===e.tag&&t||iW(e.child,t)),e=e.sibling}function iY(e){if(0!=(0x1200000&e.subtreeFlags))for(e=e.child;null!==e;){if((22!==e.tag||null===e.memoizedState)&&(iY(e),30===e.tag&&0!=(0x1200000&e.flags)&&e.stateNode.paired)){var t=e.memoizedProps;if(null==t.name||"auto"===t.name)throw Error(i(544));var n=t.name;"none"!==(t=rf(t.default,t.share))&&(iG(e,n,t,null,!1)||iW(e.child,!1))}e=e.sibling}}function iK(e,t){if(30===e.tag){var n=e.stateNode,r=e.memoizedProps,a=rc(r,n),o=rf(r.default,n.paired?r.share:r.enter);"none"!==o?iG(e,a,o,null,!1)?(iY(e),n.paired||t||ui(e,r.onEnter)):iW(e.child,!1):iY(e)}else if(0!=(0x2000000&e.subtreeFlags))for(e=e.child;null!==e;)iK(e,t),e=e.sibling;else iY(e)}function iQ(e){if(null!==i$&&0!==i$.size){var t=i$;if(0!=(0x1200000&e.subtreeFlags))for(e=e.child;null!==e;){if(22!==e.tag||null===e.memoizedState){if(30===e.tag&&0!=(0x1200000&e.flags)){var n=e.memoizedProps,r=n.name;if(null!=r&&"auto"!==r){var a=t.get(r);if(void 0!==a){var o=rf(n.default,n.share);if("none"!==o&&(iG(e,r,o,null,!1)?(a.paired=o=e.stateNode,o.paired=a,ui(e,n.onShare)):iW(e.child,!1)),t.delete(r),0===t.size)break}}}iQ(e)}e=e.sibling}}}function iZ(e){if(30===e.tag){var t=e.memoizedProps,n=rc(t,e.stateNode),r=null!==i$?i$.get(n):void 0,a=rf(t.default,void 0!==r?t.share:t.exit);"none"!==a&&(iG(e,n,a,null,!1)?void 0!==r?(r.paired=a=e.stateNode,a.paired=r,i$.delete(n),ui(e,t.onShare)):ui(e,t.onExit):iW(e.child,!1)),null!==i$&&iQ(e)}else if(0!=(0x2000000&e.subtreeFlags))for(e=e.child;null!==e;)iZ(e),e=e.sibling;else null!==i$&&iQ(e)}function iJ(e){if(0!=(0x1200000&e.subtreeFlags))for(e=e.child;null!==e;){if(22!==e.tag||null===e.memoizedState){if(30===e.tag&&0!=(0x1200000&e.flags)){var t=e.stateNode;null!==t.paired&&(t.paired=null,iW(e.child,!1))}iJ(e)}e=e.sibling}}function i0(e){if(30===e.tag)e.stateNode.paired=null,iW(e.child,!1),iJ(e);else if(0!=(0x2000000&e.subtreeFlags))for(e=e.child;null!==e;)i0(e),e=e.sibling;else iJ(e)}function i1(e,t,n,r,a,o,l){for(var i=!1;null!==t;){if(5===t.tag){var s=t.stateNode;if(null!==o&&iV<o.length){var u,c=o[iV],d=cF(s);if((c.view||d.view)&&(i=!0),u=0==(4&e.flags))if(d.clip)u=!0;else{u=c.rect;var f=d.rect;u=u.y!==f.y||u.x!==f.x||u.height!==f.height||u.width!==f.width}u&&(e.flags|=4),d.abs?d=!c.abs:(c=c.rect,d=d.rect,d=c.height!==d.height||c.width!==d.width),d&&(e.flags|=32)}else e.flags|=32;0!=(4&e.flags)&&cR(s,0===iV?n:n+"_"+iV,a),i&&0!=(4&e.flags)||(null===iH&&(iH=[]),iH.push(s,0===iV?r:r+"_"+iV,t.memoizedProps)),iV++}else(22!==t.tag||null===t.memoizedState)&&(30===t.tag&&l?e.flags|=32&t.flags:i1(e,t.child,n,r,a,o,l)&&(i=!0));t=t.sibling}return i}var i2=!1,i4=!1,i3=!1,i6=!1,i5="function"==typeof WeakSet?WeakSet:Set,i8=null,i9=!1,i7=!1,se=!1,st=!1;function sn(e){for(;null!==i8;){var t=i8,n=e,r=t.alternate,a=t.flags;switch(t.tag){case 0:case 11:case 15:case 5:case 26:case 27:case 6:case 4:case 17:break;case 1:if(0!=(1024&a)&&null!==r){n=void 0,a=r.memoizedProps,r=r.memoizedState;var o=t.stateNode;try{var l=lM(t.type,a);n=o.getSnapshotBeforeUpdate(l,r),o.__reactInternalSnapshotBeforeUpdate=n}catch(e){uD(t,t.return,e)}}break;case 3:if(0!=(1024&a)){if(9===(n=(r=t.stateNode.containerInfo).nodeType))c5(r);else if(1===n)switch(r.nodeName){case"HEAD":case"HTML":case"BODY":c5(r);break;default:r.textContent=""}}break;case 30:n&&null!==r&&(n=rc(r.memoizedProps,r.stateNode),"none"!==(a=rf((a=t.memoizedProps).default,a.update))&&iG(r,n,a,r.memoizedState=[],!0));break;default:if(0!=(1024&a))throw Error(i(163))}if(null!==(r=t.sibling)){r.return=t.return,i8=r;break}i8=t.return}}function sr(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:sy(e,n),4&r&&iE(5,n);break;case 1:if(sy(e,n),4&r)if(e=n.stateNode,null===t)try{e.componentDidMount()}catch(e){uD(n,n.return,e)}else{var a=lM(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(a,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){uD(n,n.return,e)}}64&r&&iT(n),512&r&&iC(n,n.return);break;case 3:if(sy(e,n),64&r&&null!==(e=n.updateQueue)){if(t=null,null!==n.child)switch(n.child.tag){case 27:case 5:case 1:t=n.child.stateNode}try{a6(e,t)}catch(e){uD(n,n.return,e)}}break;case 27:null===t&&4&r&&iB(n);case 26:case 5:sy(e,n),null===t&&4&r&&ij(n),512&r&&iC(n,n.return);break;case 12:sy(e,n);break;case 31:sy(e,n),4&r&&su(e,n);break;case 13:sy(e,n),4&r&&sc(e,n),64&r&&null!==(e=n.memoizedState)&&null!==(e=e.dehydrated)&&function(e,t){var n=e.ownerDocument;if("$~"===e.data)e._reactRetry=t;else if("$?"!==e.data||"loading"!==n.readyState)t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}(e,n=uB.bind(null,n));break;case 22:if(!(r=null!==n.memoizedState||i2)){var o=null!==t&&null!==t.memoizedState||i4;t=i2,a=i4,i2=r,(i4=o)&&!a?(r=2,0!=(8772&n.subtreeFlags)&&(r|=1),function e(t,n,r){for(r=0!=(8772&n.subtreeFlags)?r:-2&r,n=n.child;null!==n;){var a=n.alternate,o=t,l=n,i=l.flags,s=0!=(1&r);switch(l.tag){case 0:case 11:case 15:e(o,l,r),iE(4,l);break;case 1:if(e(o,l,r),"function"==typeof(o=(a=l).stateNode).componentDidMount)try{o.componentDidMount()}catch(e){uD(a,a.return,e)}if(null!==(o=(a=l).updateQueue)){var u=a.stateNode;try{var c=o.shared.hiddenCallbacks;if(null!==c)for(o.shared.hiddenCallbacks=null,o=0;o<c.length;o++)a3(c[o],u)}catch(e){uD(a,a.return,e)}}s&&64&i&&iT(l),iC(l,l.return);break;case 27:0!=(2&r)&&iB(l);case 5:5!==l.tag&&27!==l.tag||iO(l),e(o,l,r),s&&null===a&&4&i&&ij(l),iC(l,l.return);break;case 6:iO(l);break;case 26:u=l.stateNode,null!==l.memoizedState||null===u||i2||dT(dc(u.ownerDocument),l.type,u),e(o,l,r),s&&null===a&&4&i&&ij(l),iC(l,l.return);break;case 12:e(o,l,r);break;case 31:e(o,l,r),s&&4&i&&su(o,l);break;case 13:e(o,l,r),s&&4&i&&sc(o,l);break;case 22:null===l.memoizedState&&e(o,l,r),iC(l,l.return);break;case 30:e(o,l,r),iC(l,l.return);break;case 7:iC(l,l.return);default:e(o,l,r)}n=n.sibling}}(e,n,r)):sy(e,n),i2=t,i4=a}break;case 30:sy(e,n),512&r&&iC(n,n.return);break;case 7:512&r&&iC(n,n.return);default:sy(e,n)}}function sa(e,t){for(e=e.child;null!==e;)(function e(t,n){switch(t.tag){case 5:case 26:try{var r=t.stateNode;if(n){var a=r.style;"function"==typeof a.setProperty?a.setProperty("display","none","important"):a.display="none"}else{var o=t.stateNode,l=t.memoizedProps.style,i=null!=l&&l.hasOwnProperty("display")?l.display:null;o.style.display=null==i||"boolean"==typeof i?"":(""+i).trim()}}catch(e){uD(t,t.return,e)}!function t(n,r){if(0x4000000&n.subtreeFlags)for(n=n.child;null!==n;){e:{var a=n;switch(a.tag){case 4:e(a,r);break e;case 22:null===a.memoizedState&&t(a,r);break e;default:t(a,r)}}n=n.sibling}}(t,n);break;case 6:try{t.stateNode.nodeValue=n?"":t.memoizedProps,tc=!0}catch(e){uD(t,t.return,e)}break;case 18:try{var s=t.stateNode;n?cI(s,!0):cI(t.stateNode,!1)}catch(e){uD(t,t.return,e)}break;case 22:case 23:null===t.memoizedState&&sa(t,n);break;default:sa(t,n)}})(e,t),e=e.sibling}var so=null,sl=!1;function si(e,t,n){for(n=n.child;null!==n;)ss(e,t,n),n=n.sibling}function ss(e,t,n){if(eC&&"function"==typeof eC.onCommitFiberUnmount)try{eC.onCommitFiberUnmount(eA,n)}catch(e){}switch(n.tag){case 26:i4||iP(n,t),si(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&!i4&&(n=n.stateNode).parentNode.removeChild(n);break;case 27:i4||iP(n,t),iL(n);var r=so,a=sl;cO(n.type)&&(so=n.stateNode,sl=!1),si(e,t,n),dl(n.stateNode,n.type,n.memoizedProps),so=r,sl=a;break;case 5:i4||iP(n,t),iL(n);case 6:if(6===n.tag&&iL(n),r=so,a=sl,so=null,si(e,t,n),so=r,sl=a,null!==so)if(sl)try{(9===so.nodeType?so.body:"HTML"===so.nodeName?so.ownerDocument.body:so).removeChild(n.stateNode),tc=!0}catch(e){uD(n,t,e)}else try{so.removeChild(n.stateNode),tc=!0}catch(e){uD(n,t,e)}break;case 18:null!==so&&(sl?(cL(9===(e=so).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e,n.stateNode),fi(e)):cL(so,n.stateNode));break;case 4:r=so,a=sl,so=n.stateNode.containerInfo,sl=!0,si(e,t,n),so=r,sl=a;break;case 0:case 11:case 14:case 15:i_(2,n,t),i4||i_(4,n,t),si(e,t,n);break;case 1:i4||(iP(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount&&iA(n,t,r)),si(e,t,n);break;case 21:default:si(e,t,n);break;case 22:i4=(r=i4)||null!==n.memoizedState,si(e,t,n),i4=r;break;case 30:iP(n,t),si(e,t,n);break;case 7:i4||iP(n,t),si(e,t,n)}}function su(e,t){if(null===t.memoizedState&&null!==(e=t.alternate)&&null!==(e=e.memoizedState)){e=e.dehydrated;try{fi(e)}catch(e){uD(t,t.return,e)}}}function sc(e,t){if(null===t.memoizedState&&null!==(e=t.alternate)&&null!==(e=e.memoizedState)&&null!==(e=e.dehydrated))try{fi(e)}catch(e){uD(t,t.return,e)}}function sd(e,t){var n=function(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return null===t&&(t=e.stateNode=new i5),t;case 22:return null===(t=(e=e.stateNode)._retryCache)&&(t=e._retryCache=new i5),t;default:throw Error(i(435,e.tag))}}(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=uU.bind(null,e,t);t.then(r,r)}})}function sf(e,t,n){var r=t.deletions;if(null!==r)for(var a=0;a<r.length;a++){var o=r[a],l=e,s=t,u=s;e:for(;null!==u;){switch(u.tag){case 27:if(cO(u.type)){so=u.stateNode,sl=!1;break e}break;case 5:so=u.stateNode,sl=!1;break e;case 3:case 4:so=u.stateNode.containerInfo,sl=!0;break e}u=u.return}if(null===so)throw Error(i(160));ss(l,s,o),so=null,sl=!1,null!==(l=o.alternate)&&(l.return=null),o.return=null}if(13886&t.subtreeFlags)for(t=t.child;null!==t;)sm(t,e,n),t=t.sibling}var sp=null;function sm(e,t,n){var r=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(4&a&&null!==(r=null!==(r=e.updateQueue)?r.events:null))for(var o=0;o<r.length;o++){var l=r[o];l.ref.impl=l.nextImpl}sf(t,e,n),sg(e),4&a&&(i_(3,e,e.return),iE(3,e),i_(5,e,e.return));break;case 1:sf(t,e,n),sg(e),512&a&&(i4||null===r||iP(r,r.return)),64&a&&i2&&null!==(e=e.updateQueue)&&null!==(t=e.callbacks)&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=null===n?t:n.concat(t));break;case 26:if(o=sp,sf(t,e,n),sg(e),512&a&&(i4||null===r||iP(r,r.return)),4&a)if(a=null!==r?r.memoizedState:null,n=e.memoizedState,null===r)if(null===n)if(null===e.stateNode)if(i2)e.stateNode=ck(e.type,e.memoizedProps,t.containerInfo,e);else{e:{t=e.type,n=e.memoizedProps,a=o.ownerDocument||o;t:switch(t){case"title":(!(r=a.getElementsByTagName("title")[0])||r[e3]||r[eQ]||"http://www.w3.org/2000/svg"===r.namespaceURI||r.hasAttribute("itemprop"))&&(r=a.createElement(t),a.head.insertBefore(r,a.querySelector("head > title"))),cm(r,t,n),r[eQ]=e,tt(r),t=r;break e;case"link":if(o=d_("link","href",a).get(t+(n.href||""))){for(l=0;l<o.length;l++)if((r=o[l]).getAttribute("href")===(null==n.href||""===n.href?null:n.href)&&r.getAttribute("rel")===(null==n.rel?null:n.rel)&&r.getAttribute("title")===(null==n.title?null:n.title)&&r.getAttribute("crossorigin")===(null==n.crossOrigin?null:n.crossOrigin)){o.splice(l,1);break t}}cm(r=a.createElement(t),t,n),a.head.appendChild(r);break;case"meta":if(o=d_("meta","content",a).get(t+(n.content||""))){for(l=0;l<o.length;l++)if((r=o[l]).getAttribute("content")===(null==n.content?null:""+n.content)&&r.getAttribute("name")===(null==n.name?null:n.name)&&r.getAttribute("property")===(null==n.property?null:n.property)&&r.getAttribute("http-equiv")===(null==n.httpEquiv?null:n.httpEquiv)&&r.getAttribute("charset")===(null==n.charSet?null:n.charSet)){o.splice(l,1);break t}}cm(r=a.createElement(t),t,n),a.head.appendChild(r);break;default:throw Error(i(468,t))}r[eQ]=e,tt(r),t=r}e.stateNode=t}else i2||dT(o,e.type,e.stateNode);else e.stateNode=dw(o,n,e.memoizedProps);else a!==n?(null===a?null===(t=r.stateNode)||i4||t.parentNode.removeChild(t):a.count--,null===n?i2||dT(o,e.type,e.stateNode):dw(o,n,e.memoizedProps)):null===n&&null!==e.stateNode&&iD(e,e.memoizedProps,r.memoizedProps);break;case 27:sf(t,e,n),sg(e),512&a&&(i4||null===r||iP(r,r.return)),null!==r&&4&a&&iD(e,e.memoizedProps,r.memoizedProps);break;case 5:if(o=i3,i3=!1,sf(t,e,n),i3=o,sg(e),512&a&&(i4||null===r||iP(r,r.return)),32&e.flags){t=e.stateNode;try{tA(t,""),tc=!0}catch(t){uD(e,e.return,t)}}4&a&&null!=e.stateNode&&(t=e.memoizedProps,iD(e,t,null!==r?r.memoizedProps:t)),1024&a&&(i6=!0);break;case 6:if(sf(t,e,n),sg(e),4&a){if(null===e.stateNode)throw Error(i(162));t=e.memoizedProps,n=e.stateNode;try{n.nodeValue=t,tc=!0}catch(t){uD(e,e.return,t)}}break;case 3:if(tc=!1,dE=null,o=sp,sp=dc(t.containerInfo),sf(t,e,n),sp=o,sg(e),4&a&&null!==r&&r.memoizedState.isDehydrated)try{fi(t.containerInfo)}catch(t){uD(e,e.return,t)}i6&&(i6=!1,function e(t){if(1024&t.subtreeFlags)for(t=t.child;null!==t;){var n=t;e(n),5===n.tag&&1024&n.flags&&(n=n.stateNode,dV=!0,n.reset(),dV=!1),t=t.sibling}}(e)),tc=!1;break;case 4:a=i3,i3=i2,r=td(),o=sp,sp=dc(e.stateNode.containerInfo),sf(t,e,n),sg(e),sp=o,tc&&i7&&(se=!0),tc=r,i3=a;break;case 12:sf(t,e,n),sg(e);break;case 31:case 19:sf(t,e,n),sg(e),4&a&&null!==(t=e.updateQueue)&&(e.updateQueue=null,sd(e,t));break;case 13:sf(t,e,n),sg(e),8192&e.child.flags&&null!==e.memoizedState!=(null!==r&&null!==r.memoizedState)&&(sZ=ey()),4&a&&null!==(t=e.updateQueue)&&(e.updateQueue=null,sd(e,t));break;case 22:o=null!==e.memoizedState,l=null!==r&&null!==r.memoizedState;var s=i2,u=i4,c=i3;i2=s||o,i3=c||o,i4=u||l,sf(t,e,n),i4=u,i3=c,i2=s,sg(e),8192&a&&((t=e.stateNode)._visibility=o?-2&t._visibility:1|t._visibility,!o||null===r||l||i2||i4||(t=l||i4,n=i2,r=i4,i2=o||i2,i4=t,function e(t,n){for(t=t.child;null!==t;){var r=t;switch(r.tag){case 0:case 11:case 14:case 15:i_(4,r,r.return),e(r,n);break;case 1:iP(r,r.return);var a=r.stateNode;"function"==typeof a.componentWillUnmount&&iA(r,r.return,a),e(r,n);break;case 27:0!=(2&n)&&dl(r.stateNode,r.type,r.memoizedProps);case 5:iP(r,r.return),5!==r.tag&&27!==r.tag||iL(r),e(r,n);break;case 6:iL(r);break;case 26:iP(r,r.return),a=r.stateNode,null!==r.memoizedState||null===a||i4||a.parentNode.removeChild(a),e(r,n);break;case 22:null===r.memoizedState&&e(r,n);break;case 30:iP(r,r.return),e(r,n);break;case 7:iP(r,r.return);default:e(r,n)}t=t.sibling}}(e,2),i2=n,i4=r),!o&&i3||sa(e,o)),4&a&&null!==(t=e.updateQueue)&&null!==(n=t.retryQueue)&&(t.retryQueue=null,sd(e,n));break;case 30:512&a&&(i4||null===r||iP(r,r.return)),a=td(),o=i7,l=(0x13ffff00&n)===n,s=e.memoizedProps,i7=l&&"none"!==rf(s.default,s.update),sf(t,e,n),sg(e),l&&null!==r&&tc&&(e.flags|=4),i7=o,tc=a;break;case 21:break;case 7:512&a&&(i4||null===r||iP(r,r.return)),r&&null!==r.stateNode&&(r.stateNode._fragmentFiber=e);default:sf(t,e,n),sg(e)}}function sg(e){var t=e.flags;if(2&t){try{for(var n,r=e.return;null!==r;){if(iF(r)){n=r;break}r=r.return}r=null;for(var a=e.return;null!==a;){if(iR(a)){var o=a.stateNode;null===r?r=[o]:r.push(o)}if(iI(a))break;a=a.return}var l=r;if(null==n)throw Error(i(160));switch(n.tag){case 27:var s=n.stateNode,u=iM(e);iz(e,u,s,l);break;case 5:var c=n.stateNode;32&n.flags&&(tA(c,""),n.flags&=-33);var d=iM(e);iz(e,d,c,l);break;case 3:case 4:var f=n.stateNode.containerInfo,p=iM(e);!function e(t,n,r,a){var o=t.tag;if(5===o||6===o)o=t.stateNode,n?(9===r.nodeType?r.body:"HTML"===r.nodeName?r.ownerDocument.body:r).insertBefore(o,n):((n=9===r.nodeType?r.body:"HTML"===r.nodeName?r.ownerDocument.body:r).appendChild(o),null!=(r=r._reactRootContainer)||null!==n.onclick||(n.onclick=tj)),iN(t,a),tc=!0;else if(4!==o&&(27===o&&(iN(t,a),a=null,cO(t.type)&&(r=t.stateNode,n=null)),null!==(t=t.child)))for(e(t,n,r,a),t=t.sibling;null!==t;)e(t,n,r,a),t=t.sibling}(e,p,f,l);break;default:throw Error(i(161))}}catch(t){uD(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function sh(e,t){if(9270&t.subtreeFlags)for(t=t.child;null!==t;)sb(t,e),t=t.sibling;else!function e(t,n){for(t=t.child;null!==t;){if(30===t.tag){var r=t.memoizedProps,a=t.stateNode,o=rc(r,a),l=rf(r.default,r.update);if(n)var i=null===(a=a.clones)?null:a.map(cM);else i=t.memoizedState,t.memoizedState=null;a=t;var s=t.child;iV=0,o=i1(a,s,o,o,l,i,!1),0!=(4&t.flags)&&o&&(n||ui(t,r.onUpdate))}else 0!=(0x2000000&t.subtreeFlags)&&e(t,n);t=t.sibling}}(t,!1)}function sb(e,t){var n=e.alternate;if(null===n)iK(e,!1);else switch(e.tag){case 3:if(st=i9=!1,iX(),sh(t,e),!i9&&!se){if(null!==(e=iH))for(var r=0;r<e.length;r+=3){n=e[r];var a=e[r+1];cj(n,e[r+2]),null!==(n=n.ownerDocument.documentElement)&&n.animate({opacity:[0,0],pointerEvents:["none","none"]},{duration:0,fill:"forwards",pseudoElement:"::view-transition-group("+a+")"})}null!==(e=9===(e=t.containerInfo).nodeType?e.documentElement:e.ownerDocument.documentElement)&&""===e.style.viewTransitionName&&(e.style.viewTransitionName="none",e.animate({opacity:[0,0],pointerEvents:["none","none"]},{duration:0,fill:"forwards",pseudoElement:"::view-transition-group(root)"}),e.animate({width:[0,0],height:[0,0]},{duration:0,fill:"forwards",pseudoElement:"::view-transition"})),st=!0}iH=null;break;case 5:default:sh(t,e);break;case 4:r=i9,i9=!1,sh(t,e),i9&&(se=!0),i9=r;break;case 22:null===e.memoizedState&&(null!==n.memoizedState?iK(e,!1):sh(t,e));break;case 30:r=i9,a=iX(),i9=!1,sh(t,e),i9&&(e.flags|=4);var o=e.memoizedProps,l=e.stateNode;t=rc(o,l),l=rc(n.memoizedProps,l);var i=rf(o.default,o.update);"none"===i?t=!1:(o=n.memoizedState,n.memoizedState=null,n=e.child,iV=0,t=i1(e,n,t,l,i,o,!0),iV!==(null===o?0:o.length)&&(e.flags|=32)),0!=(4&e.flags)&&t?(ui(e,e.memoizedProps.onUpdate),iH=a):null!==a&&(a.push.apply(a,iH),iH=a),i9=0!=(32&e.flags)||r}}function sy(e,t){if(8772&t.subtreeFlags)for(t=t.child;null!==t;)sr(e,t.alternate,t),t=t.sibling}function sv(e,t){var n=null;null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),e=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(e=t.memoizedState.cachePool.pool),e!==n&&(null!=e&&e.refCount++,null!=n&&ab(n))}function sw(e,t){e=null,null!==t.alternate&&(e=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==e&&(t.refCount++,null!=e&&ab(e))}function sS(e,t,n,r){var a=(0x13ffff00&n)===n;if(t.subtreeFlags&(a?10262:10256))for(t=t.child;null!==t;)sk(e,t,n,r),t=t.sibling;else a&&function e(t){for(t=t.child;null!==t;)30===t.tag?iW(t.child,!1):0!=(0x2000000&t.subtreeFlags)&&e(t),t=t.sibling}(t)}function sk(e,t,n,r){var a=(0x13ffff00&n)===n;a&&null===t.alternate&&null!==t.return&&null!==t.return.alternate&&i0(t);var o=t.flags;switch(t.tag){case 0:case 11:case 15:sS(e,t,n,r),2048&o&&iE(9,t);break;case 1:case 31:case 13:default:sS(e,t,n,r);break;case 3:sS(e,t,n,r),a&&st&&("root"===(e=9===(e=e.containerInfo).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e).style.viewTransitionName&&(e.style.viewTransitionName=""),null!==(e=e.ownerDocument.documentElement)&&"none"===e.style.viewTransitionName&&(e.style.viewTransitionName="")),2048&o&&(o=null,null!==t.alternate&&(o=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==o&&(t.refCount++,null!=o&&ab(o)));break;case 12:if(2048&o){sS(e,t,n,r),o=t.stateNode;try{var l=t.memoizedProps,i=l.id,s=l.onPostCommit;"function"==typeof s&&s(i,null===t.alternate?"mount":"update",o.passiveEffectDuration,-0)}catch(e){uD(t,t.return,e)}}else sS(e,t,n,r);break;case 23:break;case 22:l=t.stateNode,i=t.alternate,null!==t.memoizedState?(a&&null!==i&&null===i.memoizedState&&i0(i),2&l._visibility?sS(e,t,n,r):sx(e,t)):(a&&null!==i&&null!==i.memoizedState&&i0(t),2&l._visibility?sS(e,t,n,r):(l._visibility|=2,function e(t,n,r,a,o){for(o=o&&0!=(10256&n.subtreeFlags),n=n.child;null!==n;){var l=n,i=l.flags;switch(l.tag){case 0:case 11:case 15:e(t,l,r,a,o),iE(8,l);break;case 23:break;case 22:var s=l.stateNode;null!==l.memoizedState?2&s._visibility?e(t,l,r,a,o):sx(t,l):(s._visibility|=2,e(t,l,r,a,o)),o&&2048&i&&sv(l.alternate,l);break;case 24:e(t,l,r,a,o),o&&2048&i&&sw(l.alternate,l);break;default:e(t,l,r,a,o)}n=n.sibling}}(e,t,n,r,0!=(10256&t.subtreeFlags)))),2048&o&&sv(i,t);break;case 24:sS(e,t,n,r),2048&o&&sw(t.alternate,t);break;case 30:a&&null!==(o=t.alternate)&&(iW(o.child,!0),iW(t.child,!0)),sS(e,t,n,r)}}function sx(e,t){if(10256&t.subtreeFlags)for(t=t.child;null!==t;){var n=t,r=n.flags;switch(n.tag){case 22:sx(e,n),2048&r&&sv(n.alternate,n);break;case 24:sx(e,n),2048&r&&sw(n.alternate,n);break;default:sx(e,n)}t=t.sibling}}var sE=8192;function s_(e,t,n){if(e.subtreeFlags&sE)for(e=e.child;null!==e;)sT(e,t,n),e=e.sibling}function sT(e,t,n){switch(e.tag){case 26:s_(e,t,n),e.flags&sE&&(null!==e.memoizedState?function(e,t,n,r){if("stylesheet"===n.type&&("string"!=typeof r.media||!1!==matchMedia(r.media).matches)&&0==(4&n.state.loading)){if(null===n.instance){var a=dg(r.href),o=t.querySelector(dh(a));if(o){null!==(t=o._p)&&"object"==typeof t&&"function"==typeof t.then&&(e.count++,e=dI.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=o,tt(o);return}o=t.ownerDocument||t,r=db(r),(a=ds.get(a))&&dk(r,a),tt(o=o.createElement("link"));var l=o;l._p=new Promise(function(e,t){l.onload=e,l.onerror=t}),cm(o,"link",r),n.instance=o}null===e.stylesheets&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&0==(3&n.state.loading)&&(e.count++,n=dI.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}(n,sp,e.memoizedState,e.memoizedProps):(e=e.stateNode,(0x13ffff40&t)===t&&dN(n,e)));break;case 5:s_(e,t,n),e.flags&sE&&(e=e.stateNode,(0x13ffff40&t)===t&&dN(n,e));break;case 3:case 4:var r=sp;sp=dc(e.stateNode.containerInfo),s_(e,t,n),sp=r;break;case 22:null===e.memoizedState&&(null!==(r=e.alternate)&&null!==r.memoizedState?(r=sE,sE=0x1000000,s_(e,t,n),sE=r):s_(e,t,n));break;case 30:if(0!=(e.flags&sE)&&null!=(r=e.memoizedProps.name)&&"auto"!==r){var a=e.stateNode;a.paired=null,null===i$&&(i$=new Map),i$.set(r,a)}s_(e,t,n);break;default:s_(e,t,n)}}function sA(e){var t=e.alternate;if(null!==t&&null!==(e=t.child)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(null!==e)}}function sC(e){var t=e.deletions;if(0!=(16&e.flags)){if(null!==t)for(var n=0;n<t.length;n++){var r=t[n];i8=r,sN(r,e)}sA(e)}if(10256&e.subtreeFlags)for(e=e.child;null!==e;)sP(e),e=e.sibling}function sP(e){switch(e.tag){case 0:case 11:case 15:sC(e),2048&e.flags&&i_(9,e,e.return);break;case 3:case 12:default:sC(e);break;case 22:var t=e.stateNode;null!==e.memoizedState&&2&t._visibility&&(null===e.return||13!==e.return.tag)?(t._visibility&=-3,function e(t){var n=t.deletions;if(0!=(16&t.flags)){if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];i8=a,sN(a,t)}sA(t)}for(t=t.child;null!==t;){switch((n=t).tag){case 0:case 11:case 15:i_(8,n,n.return),e(n);break;case 22:2&(r=n.stateNode)._visibility&&(r._visibility&=-3,e(n));break;default:e(n)}t=t.sibling}}(e)):sC(e)}}function sN(e,t){for(;null!==i8;){var n=i8;switch(n.tag){case 0:case 11:case 15:i_(8,n,t);break;case 23:case 22:if(null!==n.memoizedState&&null!==n.memoizedState.cachePool){var r=n.memoizedState.cachePool.pool;null!=r&&r.refCount++}break;case 24:ab(n.memoizedState.cache)}if(null!==(r=n.child))r.return=n,i8=r;else for(n=e;null!==i8;){var a=(r=i8).sibling,o=r.return;if(!function e(t){var n=t.alternate;null!==n&&(t.alternate=null,e(n)),t.child=null,t.deletions=null,t.sibling=null,5===t.tag&&null!==(n=t.stateNode)&&e5(n),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}(r),r===n){i8=null;break}if(null!==a){a.return=o,i8=a;break}i8=o}}}var sO={getCacheForType:function(e){var t=au(ag),n=t.data.get(e);return void 0===n&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return au(ag).controller.signal}},sL="function"==typeof WeakMap?WeakMap:Map,sI=0,sR=null,sj=null,sD=0,sF=0,sM=null,sz=!1,sB=!1,sU=!1,s$=0,sq=0,sH=0,sX=0,sV=0,sG=0,sW=0,sY=null,sK=null,sQ=!1,sZ=0,sJ=0,s0=1/0,s1=null,s2=null,s4=0,s3=null,s6=null,s5=0,s8=0,s9=null,s7=null,ue=null,ut=null,un=null,ur=0,ua=null;function uo(){return 0!=(2&sI)&&0!==sD?sD&-sD:null!==G.T?u1():eW()}function ul(){if(0===sG)if(0==(0x20000000&sD)||rZ){var e=eR;0==(3932160&(eR<<=1))&&(eR=262144),sG=e}else sG=0x20000000;return null!==(e=ot.current)&&(e.flags|=32),sG}function ui(e,t){if(null!=t){var n=e.stateNode,r=n.ref;null===r&&(r=n.ref=cU(rc(e.memoizedProps,n))),null===ut&&(ut=[]),ut.push(t.bind(null,r))}}function us(e,t,n){(e===sR&&(2===sF||9===sF)||null!==e.cancelPendingCommit)&&(um(e,0),ud(e,sD,sG,!1)),e$(e,n),(0==(2&sI)||e!==sR)&&(e===sR&&(0==(2&sI)&&(sX|=n),4===sq&&ud(e,sD,sG,!1)),uW(e))}function uu(e,t,n){if(0!=(6&sI))throw Error(i(327));for(var r=!n&&0==(127&t)&&0==(t&e.expiredLanes)||eM(e,t),a=r?function(e,t){var n=sI;sI|=2;var r=ub(),a=uy();sR!==e||sD!==t?(s1=null,s0=ey()+500,um(e,t)):sB=eM(e,t);e:for(;;)try{if(0!==sF&&null!==sj){t=sj;var o=sM;t:switch(sF){case 1:sF=0,sM=null,ux(e,t,o,1);break;case 2:case 9:if(aR(o)){sF=0,sM=null,uk(t);break}t=function(){2!==sF&&9!==sF||sR!==e||(sF=7),uW(e)},o.then(t,t);break e;case 3:sF=7;break e;case 4:sF=5;break e;case 7:aR(o)?(sF=0,sM=null,uk(t)):(sF=0,sM=null,ux(e,t,o,7));break;case 5:var l=null;switch(sj.tag){case 26:l=sj.memoizedState;case 5:case 27:var s=sj;if(l?dC(l):s.stateNode.complete){sF=0,sM=null;var u=s.sibling;if(null!==u)sj=u;else{var c=s.return;null!==c?(sj=c,uE(c)):sj=null}break t}}sF=0,sM=null,ux(e,t,o,5);break;case 6:sF=0,sM=null,ux(e,t,o,6);break;case 8:up(),sq=6;break e;default:throw Error(i(462))}}for(;null!==sj&&!eh();)uS(sj);break}catch(t){ug(e,t)}return(at=ae=null,G.H=r,G.A=a,sI=n,null!==sj)?0:(sR=null,sD=0,rb(),sq)}(e,t):uw(e,t,!0),o=r;;){if(0===a)sB&&!r&&ud(e,t,0,!1);else{if(n=e.current.alternate,o&&!function(e){for(var t=e;;){var n=t.tag;if((0===n||11===n||15===n)&&16384&t.flags&&null!==(n=t.updateQueue)&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],o=a.getSnapshot;a=a.value;try{if(!nX(o(),a))return!1}catch(e){return!1}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(n)){a=uw(e,t,!1),o=!1;continue}if(2===a){if(o=t,e.errorRecoveryDisabledLanes&o)var l=0;else l=0!=(l=-0x20000001&e.pendingLanes)?l:0x20000000&l?0x20000000:0;if(0!==l){t=l;e:{a=sY;var s=e.current.memoizedState.isDehydrated;if(s&&(um(e,l).flags|=256),2!==(l=uw(e,l,!1))&&6!==l){if(sU&&!s){e.errorRecoveryDisabledLanes|=o,sX|=o,a=4;break e}o=sK,sK=a,null!==o&&(null===sK?sK=o:sK.push.apply(sK,o))}a=l}if(o=!1,2!==a)continue}}if(1===a){um(e,0),ud(e,t,0,!0);break}e:{switch(r=e,o=a){case 0:case 1:throw Error(i(345));case 4:if((4194048&t)!==t&&(0x3c00000&t)!==t)break;case 6:ud(r,t,sG,!sz);break e;case 2:sK=null;break;case 3:case 5:break;default:throw Error(i(329))}if((0x3c00000&t)===t&&10<(a=sZ+300-ey())){if(ud(r,t,sG,!sz),0!==eF(r,0,!0))break e;s5=t,r.timeoutHandle=c_(uc.bind(null,r,n,sK,s1,sQ,t,sG,sX,sW,sz,o,"Throttled",-0,0),a);break e}uc(r,n,sK,s1,sQ,t,sG,sX,sW,sz,o,null,-0,0)}}break}uW(e)}function uc(e,t,n,r,a,o,l,i,s,u,c,d,f,p){e.timeoutHandle=-1;var m,g,h=t.subtreeFlags,b=(0x13ffff00&o)===o;if(d=null,(b||8192&h||0x1002000==(0x1002000&h))&&(i$=null,sT(t,o,d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:tj}),b&&(h=d,null!=(b=(9===(b=e.containerInfo).nodeType?b:b.ownerDocument).__reactViewTransition)&&(h.count++,h.waitingForViewTransition=!0,h=dI.bind(h),b.finished.then(h,h))),null!==(m=d,g=h=(0x3c00000&o)===o?sZ-ey():(4194048&o)===o?sJ-ey():0,m.stylesheets&&0===m.count&&dD(m,m.stylesheets),h=0<m.count||0<m.imgCount?function(e){var t=setTimeout(function(){if(m.stylesheets&&dD(m,m.stylesheets),m.unsuspend){var e=m.unsuspend;m.unsuspend=null,e()}},6e4+g);0<m.imgBytes&&0===dO&&(dO=62500*function(){if("function"==typeof performance.getEntriesByType){for(var e=0,t=0,n=performance.getEntriesByType("resource"),r=0;r<n.length;r++){var a=n[r],o=a.transferSize,l=a.initiatorType,i=a.duration;if(o&&i&&ch(l)){for(l=0,i=a.responseEnd,r+=1;r<n.length;r++){var s=n[r],u=s.startTime;if(u>i)break;var c=s.transferSize,d=s.initiatorType;c&&ch(d)&&(l+=c*((s=s.responseEnd)<i?1:(i-u)/(s-u)))}if(--r,t+=8*(o+l)/(a.duration/1e3),10<++e)break}}if(0<e)return t/e/1e6}return navigator.connection&&"number"==typeof(e=navigator.connection.downlink)?e:5}());var n=setTimeout(function(){if(m.waitingForImages=!1,0===m.count&&(m.stylesheets&&dD(m,m.stylesheets),m.unsuspend)){var e=m.unsuspend;m.unsuspend=null,e()}},(m.imgBytes>dO?50:800)+g);return m.unsuspend=e,function(){m.unsuspend=null,clearTimeout(t),clearTimeout(n)}}:null))){s5=o,e.cancelPendingCommit=h(uT.bind(null,e,t,o,n,r,a,l,i,s,u,c,d,null,f,p)),ud(e,o,l,!u);return}uT(e,t,o,n,r,a,l,i,s,u,c,d)}function ud(e,t,n,r){t=ez(e,t)&~sV&~sX,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var a=t;0<a;){var o=31-eN(a),l=1<<o;r[o]=-1,a&=~l}0!==n&&eq(e,n,t)}function uf(){return 0!=(6&sI)||(uY(0,!1),!1)}function up(){if(null!==sj){if(0===sF)var e=sj.return;else e=sj,at=ae=null,oO(e),aB=null,aU=0,e=sj;for(;null!==e;)ix(e.alternate,e),e=e.return;sj=null}}function um(e,t){var n=e.timeoutHandle;return -1!==n&&(e.timeoutHandle=-1,cT(n)),null!==(n=e.cancelPendingCommit)&&(e.cancelPendingCommit=null,n()),s5=0,up(),sR=e,sj=n=rA(e.current,null),sD=t,sF=0,sM=null,sz=!1,sB=eM(e,t),sU=!1,sW=sG=sV=sX=sH=sq=0,sK=sY=null,sQ=!1,s$=ez(e,t),rb(),n}function ug(e,t){op=null,G.H=lN,t===aN||t===aL?(t=aM(),sF=3):t===aO?(t=aM(),sF=4):sF=t===lG?8:null!==t&&"object"==typeof t&&"function"==typeof t.then?6:1,sM=t,null===sj&&(sq=1,l$(e,rj(t,e.current)))}function uh(){var e=ot.current;return null===e||((4194048&sD)===sD?null===on:((0x3c00000&sD)===sD||0!=(0x20000000&sD))&&e===on)}function ub(){var e=G.H;return G.H=lN,null===e?lN:e}function uy(){var e=G.A;return G.A=sO,e}function uv(){sq=4,sz||(4194048&sD)!==sD&&null!==ot.current||(sB=!0),0==(0x7ffffff&sH)&&0==(0x7ffffff&sX)||null===sR||ud(sR,sD,sG,!1)}function uw(e,t,n){var r=sI;sI|=2;var a=ub(),o=uy();(sR!==e||sD!==t)&&(s1=null,um(e,t)),t=!1;var l=sq;e:for(;;)try{if(0!==sF&&null!==sj){var i=sj,s=sM;switch(sF){case 8:up(),l=6;break e;case 3:case 2:case 9:case 6:null===ot.current&&(t=!0);var u=sF;if(sF=0,sM=null,ux(e,i,s,u),n&&sB){l=0;break e}break;default:u=sF,sF=0,sM=null,ux(e,i,s,u)}}(function(){for(;null!==sj;)uS(sj)})(),l=sq;break}catch(t){ug(e,t)}return t&&e.shellSuspendCounter++,at=ae=null,sI=r,G.H=a,G.A=o,null===sj&&(sR=null,sD=0,rb()),l}function uS(e){var t=ih(e.alternate,e,s$);e.memoizedProps=e.pendingProps,null===t?uE(e):sj=t}function uk(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=l5(n,t,t.pendingProps,t.type,void 0,sD);break;case 11:t=l5(n,t,t.pendingProps,t.type.render,t.ref,sD);break;case 5:oO(t);var r=t;r===rK&&(rZ?(r3(r),5===r.tag&&null!=r.stateNode&&(rQ=r.stateNode)):(r3(r),rZ=!0));default:ix(n,t),t=ih(n,t=sj=rC(t,s$),s$)}e.memoizedProps=e.pendingProps,null===t?uE(e):sj=t}function ux(e,t,n,r){at=ae=null,oO(t),aB=null,aU=0;var a=t.return;try{if(function(e,t,n,r,a){if(n.flags|=32768,null!==r&&"object"==typeof r&&"function"==typeof r.then){if(null!==(t=n.alternate)&&al(t,n,a,!0),null!==(n=ot.current)){switch(n.tag){case 31:case 13:case 19:return null===on?uv():null===n.alternate&&0===sq&&(sq=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===aI?n.flags|=16384:(null===(t=n.updateQueue)?n.updateQueue=new Set([r]):t.add(r),uF(e,r,a)),!1;case 22:return n.flags|=65536,r===aI?n.flags|=16384:(null===(t=n.updateQueue)?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):null===(n=t.retryQueue)?t.retryQueue=new Set([r]):n.add(r),uF(e,r,a)),!1}throw Error(i(435,n.tag))}return uF(e,r,a),uv(),!1}if(rZ)return null!==(t=ot.current)?(0==(65536&t.flags)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==r1&&r9(rj(e=Error(i(422),{cause:r}),n))):(r!==r1&&r9(rj(t=Error(i(423),{cause:r}),n)),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=rj(r,n),a=lH(e.stateNode,r,a),a0(e,a),4!==sq&&(sq=2)),!1;var o=Error(i(520),{cause:r});if(o=rj(o,n),null===sY?sY=[o]:sY.push(o),4!==sq&&(sq=2),null===t)return!0;r=rj(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=lH(n.stateNode,r,e),a0(n,e),!1;case 1:if(t=n.type,o=n.stateNode,0==(128&n.flags)&&("function"==typeof t.getDerivedStateFromError||null!==o&&"function"==typeof o.componentDidCatch&&(null===s2||!s2.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,lV(a=lX(a),e,n,r),a0(n,a),!1;break;case 22:if(null!==n.memoizedState)return n.flags|=65536,!1}n=n.return}while(null!==n)return!1}(e,a,t,n,sD)){sq=1,l$(e,rj(n,e.current)),sj=null;return}}catch(t){if(null!==a)throw sj=a,t;sq=1,l$(e,rj(n,e.current)),sj=null;return}32768&t.flags?(rZ||1===r?e=!0:sB||0!=(0x20000000&sD)?e=!1:(sz=e=!0,(2===r||9===r||3===r||6===r)&&null!==(r=ot.current)&&13===r.tag&&(r.flags|=16384)),u_(t,e)):uE(t)}function uE(e){var t=e;do{if(0!=(32768&t.flags))return void u_(t,sz);e=t.return;var n=function(e,t,n){var r=t.pendingProps;switch(rW(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:case 1:return ik(t),null;case 3:return n=t.stateNode,r=null,null!==e&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ar(ag),el(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(null===e||null===e.child)&&(r6(t)?ib(t):null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,r8())),ik(t),null;case 26:var a=t.type,o=t.memoizedState;return null===e?(ib(t),null!==o?(ik(t),iv(t,o)):(ik(t),iy(t,a,null,r,n))):o?o!==e.memoizedState?(ib(t),ik(t),iv(t,o)):(ik(t),t.flags&=-0x1000001):((e=e.memoizedProps)!==r&&ib(t),ik(t),iy(t,a,e,r,n)),null;case 27:if(es(t),n=er.current,a=t.type,null!==e&&null!=t.stateNode)e.memoizedProps!==r&&ib(t);else{if(!r){if(null===t.stateNode)throw Error(i(166));return ik(t),t.subtreeFlags&=-0x2000001,null}e=et.current,r6(t)?r4(t,e):(t.stateNode=e=da(a,r,n),ib(t))}return ik(t),t.subtreeFlags&=-0x2000001,null;case 5:if(es(t),a=t.type,null!==e&&null!=t.stateNode)e.memoizedProps!==r&&ib(t);else{if(!r){if(null===t.stateNode)throw Error(i(166));return ik(t),t.subtreeFlags&=-0x2000001,null}if(o=et.current,r6(t))r4(t,o);else{var l=cv(er.current);switch(o){case 1:o=l.createElementNS("http://www.w3.org/2000/svg",a);break;case 2:o=l.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;default:switch(a){case"svg":o=l.createElementNS("http://www.w3.org/2000/svg",a);break;case"math":o=l.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;case"script":(o=l.createElement("div")).innerHTML="<script><\/script>",o=o.removeChild(o.firstChild);break;case"select":o="string"==typeof r.is?l.createElement("select",{is:r.is}):l.createElement("select"),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o="string"==typeof r.is?l.createElement(a,{is:r.is}):l.createElement(a)}}o[eQ]=t,o[eZ]=r;e:for(l=t.child;null!==l;){if(5===l.tag||6===l.tag)o.appendChild(l.stateNode);else if(4!==l.tag&&27!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===t)break;for(;null===l.sibling;){if(null===l.return||l.return===t)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}switch(t.stateNode=o,cm(o,a,r),a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break;case"img":r=!0;break;default:r=!1}r&&ib(t)}}return ik(t),t.subtreeFlags&=-0x2000001,iy(t,t.type,null===e?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&ib(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));if(e=er.current,r6(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(a=rK))switch(a.tag){case 27:case 5:r=a.memoizedProps}e[eQ]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||cd(e.nodeValue,n)))||r2(t,!0)}else(e=cv(e).createTextNode(r))[eQ]=t,t.stateNode=e}return ik(t),null;case 31:if(n=t.memoizedState,null===e||null!==e.memoizedState){if(r=r6(t),null!==n){if(null===e){if(!r)throw Error(i(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(i(557));e[eQ]=t}else r5(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;ik(t),e=!1}else n=r8(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e){if(256&t.flags)return oi(t),t;return oi(t),null}if(0!=(128&t.flags))throw Error(i(558))}return ik(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(a=r6(t),null!==r&&null!==r.dehydrated){if(null===e){if(!a)throw Error(i(318));if(!(a=null!==(a=t.memoizedState)?a.dehydrated:null))throw Error(i(317));a[eQ]=t}else r5(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;ik(t),a=!1}else a=r8(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a){if(256&t.flags)return oi(t),t;return oi(t),null}}if(oi(t),0!=(128&t.flags))return t.lanes=n,t;return n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(r=t.child,a=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(a=r.alternate.memoizedState.cachePool.pool),o=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),iw(t,t.updateQueue),ik(t),null;case 4:return el(),null===e&&ct(t.stateNode.containerInfo),t.flags|=0x4000000,ik(t),null;case 10:return ar(t.type),ik(t),null;case 19:if(oc(t),null===(r=t.memoizedState))return ik(t),null;if(a=0!=(128&t.flags),null===(o=r.rendering))if(a)iS(r,!1);else{if(0!==sq||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(o=od(e))){for(t.flags|=128,iS(r,!1),t.updateQueue=e=o.updateQueue,iw(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)rC(n,e),n=n.sibling;return ou(t,1&os.current|2),rZ&&rX(t,r.treeForkCount),t.child}e=e.sibling}null!==r.tail&&ey()>s0&&(t.flags|=128,a=!0,iS(r,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=od(o))){if(t.flags|=128,a=!0,t.updateQueue=e=e.updateQueue,iw(t,e),iS(r,!0),null===r.tail&&"collapsed"!==r.tailMode&&"visible"!==r.tailMode&&!o.alternate&&!rZ)return ik(t),null}else 2*ey()-r.renderingStartTime>s0&&0x20000000!==n&&(t.flags|=128,a=!0,iS(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=r.last)?e.sibling=o:t.child=o,r.last=o)}if(null!==r.tail){e=r.tail;e:{for(n=e;null!==n;){if(null!==n.alternate){n=!1;break e}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ey(),e.sibling=null,o=os.current,o=a?1&o|2:1&o,"visible"===r.tailMode||"collapsed"===r.tailMode||!n||rZ?ou(t,o):(n=o,ee(ot,t),ee(os,n),null===on&&(on=t)),rZ&&rX(t,r.treeForkCount),e}return ik(t),null;case 22:case 23:return oi(t),oe(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!=(0x20000000&n)&&0==(128&t.flags)&&(ik(t),6&t.subtreeFlags&&(t.flags|=8192)):ik(t),null!==(n=t.updateQueue)&&iw(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&J(aT),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ar(ag),ik(t),null;case 25:return null;case 30:return t.flags|=0x2000000,ik(t),null}throw Error(i(156,t.tag))}(t.alternate,t,s$);if(null!==n){sj=n;return}if(null!==(t=t.sibling)){sj=t;return}sj=t=e}while(null!==t)0===sq&&(sq=5)}function u_(e,t){do{var n=function(e,t){switch(rW(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ar(ag),el(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return es(t),null;case 31:if(null!==t.memoizedState){if(oi(t),null===t.alternate)throw Error(i(340));r5()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(oi(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));r5()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return oc(t),65536&(e=t.flags)?(t.flags=-65537&e|128,null!==(e=t.memoizedState)&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return el(),null;case 10:return ar(t.type),null;case 22:case 23:return oi(t),oe(),null!==e&&J(aT),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return ar(ag),null;default:return null}}(e.alternate,e);if(null!==n){n.flags&=32767,sj=n;return}if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling)){sj=e;return}sj=e=n}while(null!==e)sq=6,sj=null}function uT(e,t,n,r,a,o,l,s,u,c,d,f){e.cancelPendingCommit=null;do uI();while(0!==s4)if(0!=(6&sI))throw Error(i(327));if(null!==t){if(t===e.current)throw Error(i(177));e===sR&&(sj=sR=null,sD=0),s6=t,s3=e,s5=n,s9=a,s7=r,function(e,t,n,r,a,o,l){var i,s=t.lanes|t.childLanes;if(s8=s,!function(e,t,n,r,a,o){var l=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var i=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(n=l&~n;0<n;){var c=31-eN(n),d=1<<c;i[c]=0,s[c]=-1;var f=u[c];if(null!==f)for(u[c]=null,c=0;c<f.length;c++){var p=f[c];null!==p&&(p.lane&=-0x20000001)}n&=~d}0!==r&&eq(e,r,0),0!==o&&0===a&&0!==e.tag&&(e.suspendedLanes|=o&~(l&~t))}(e,n,s|=rh,r,a,o),ut=null,(0x13ffff00&n)===n?(i=e.transitionTypes,e.transitionTypes=null,un=i,r=10262):(un=null,r=10256),0!=(t.subtreeFlags&r)||0!=(t.flags&r)?(e.callbackNode=null,e.callbackPriority=0,em(ek,function(){return uR(),null})):(e.callbackNode=null,e.callbackPriority=0),iU=!1,r=0!=(13878&t.flags),0!=(13878&t.subtreeFlags)||r){r=G.T,G.T=null,a=W.p,W.p=2,o=sI,sI|=4;try{!function(e,t,n){if(e=e.containerInfo,cb=dV,nQ(e=nK(e))){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{var a=(r=(r=e.ownerDocument)&&r.defaultView||window).getSelection&&r.getSelection();if(a&&0!==a.rangeCount){r=a.anchorNode;var o,l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{r.nodeType,i.nodeType}catch(e){r=null;break e}var s=0,u=-1,c=-1,d=0,f=0,p=e,m=null;t:for(;;){for(;p!==r||0!==l&&3!==p.nodeType||(u=s+l),p!==i||0!==a&&3!==p.nodeType||(c=s+a),3===p.nodeType&&(s+=p.nodeValue.length),null!==(o=p.firstChild);)m=p,p=o;for(;;){if(p===e)break t;if(m===r&&++d===l&&(u=s),m===i&&++f===a&&(c=s),null!==(o=p.nextSibling))break;m=(p=m).parentNode}p=o}r=-1===u||-1===c?null:{start:u,end:c}}else r=null}r=r||{start:0,end:0}}else r=null;for(cy={focusedElem:e,selectionRange:r},dV=!1,n=(0x13ffff00&n)===n,i8=t,t=n?9270:1024;null!==i8;){if(e=i8,n&&null!==(r=e.deletions))for(l=0;l<r.length;l++)n&&iZ(r[l]);if(null===e.alternate&&0!=(2&e.flags))n&&iq(e),sn(n);else{if(22===e.tag){if(r=e.alternate,null!==e.memoizedState){null!==r&&null===r.memoizedState&&n&&iZ(r),sn(n);continue}else if(null!==r&&null!==r.memoizedState){n&&iq(e),sn(n);continue}}r=e.child,0!=(e.subtreeFlags&t)&&null!==r?(r.return=e,i8=r):(n&&function e(t){for(t=t.child;null!==t;){if(30===t.tag){var n=t.memoizedProps,r=rc(n,t.stateNode);n=rf(n.default,n.update),t.flags&=-5,"none"!==n&&iG(t,r,n,t.memoizedState=[],!1)}else 0!=(0x2000000&t.subtreeFlags)&&e(t);t=t.sibling}}(e),sn(n))}}i$=null}(e,t,n)}finally{sI=o,W.p=a,G.T=r}}s4=1,iU?ue=function(e,t,n,r,a,o,l,i,s){var u=9===t.nodeType?t:t.ownerDocument;try{var c=u.startViewTransition({update:function(){var t=u.defaultView,n=t.navigation&&t.navigation.transition,l=u.fonts.status;r();var i=[];if("loaded"===l&&(u.documentElement.clientHeight,"loading"===u.fonts.status&&i.push(u.fonts.ready)),l=i.length,null!==e)for(var s=e.suspenseyImages,c=0,d=0;d<s.length;d++){var f=s[d];if(!f.complete){var p=f.getBoundingClientRect();if(0<p.bottom&&0<p.right&&p.top<t.innerHeight&&p.left<t.innerWidth){if((c+=dP(f))>dO){i.length=l;break}f=new Promise(cz.bind(f)),i.push(f)}}}return 0<i.length?(t=Promise.race([Promise.all(i),new Promise(function(e){return setTimeout(e,500)})]).then(a,a),(n?Promise.allSettled([n.finished,t]):t).then(o,o)):(a(),n)?n.finished.then(o,o):void o()},types:n});u.__reactViewTransition=c;var d=[];return c.ready.then(function(){for(var e=u.documentElement.getAnimations({subtree:!0}),t=0;t<e.length;t++){var n=e[t],r=n.effect,a=r.pseudoElement;if(null!=a&&a.startsWith("::view-transition")){d.push(n),n=r.getKeyframes();for(var o=a=void 0,i=!0,s=0;s<n.length;s++){var c=n[s],f=c.width;if(void 0===a)a=f;else if(a!==f){i=!1;break}if(f=c.height,void 0===o)o=f;else if(o!==f){i=!1;break}delete c.width,delete c.height,"none"===c.transform&&delete c.transform}i&&void 0!==a&&void 0!==o&&(r.setKeyframes(n),(i=getComputedStyle(r.target,r.pseudoElement)).width!==a||i.height!==o)&&((i=n[0]).width=a,i.height=o,(i=n[n.length-1]).width=a,i.height=o,r.setKeyframes(n))}}l()},function(e){u.__reactViewTransition===c&&(u.__reactViewTransition=null);try{"object"==typeof e&&null!==e&&"InvalidStateError"===e.name&&("View transition was skipped because document visibility state is hidden."===e.message||"Skipping view transition because document visibility state has become hidden."===e.message||"Skipping view transition because viewport size changed."===e.message||"Transition was aborted because of invalid state"===e.message)&&(e=null),null!==e&&s(e)}finally{r(),a(),l()}}),c.finished.finally(function(){for(var e=0;e<d.length;e++)d[e].cancel();u.__reactViewTransition===c&&(u.__reactViewTransition=null),i()}),c}catch(e){return r(),a(),l(),null}}(l,e.containerInfo,un,uP,uN,uC,uO,uR,uA):(uP(),uN(),uO())}(e,t,n,l,s,u,f)}}function uA(e){0!==s4&&(0,s3.onRecoverableError)(e,{componentStack:null})}function uC(){3===s4&&(s4=0,sb(s6,s3),s4=4)}function uP(){if(1===s4){s4=0;var e=s3,t=s6,n=s5,r=0!=(13878&t.flags);if(0!=(13878&t.subtreeFlags)||r){r=G.T,G.T=null;var a=W.p;W.p=2;var o=sI;sI|=4;try{i7=se=!1,sm(t,e,n),n=cy;var l=nK(e.containerInfo),i=n.focusedElem,s=n.selectionRange;if(l!==i&&i&&i.ownerDocument&&function e(t,n){return!!t&&!!n&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(i.ownerDocument.documentElement,i)){if(null!==s&&nQ(i)){var u=s.start,c=s.end;if(void 0===c&&(c=u),"selectionStart"in i)i.selectionStart=u,i.selectionEnd=Math.min(c,i.value.length);else{var d=i.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=i.textContent.length,g=Math.min(s.start,m),h=void 0===s.end?g:Math.min(s.end,m);!p.extend&&g>h&&(l=h,h=g,g=l);var b=nY(i,g),y=nY(i,h);if(b&&y&&(1!==p.rangeCount||p.anchorNode!==b.node||p.anchorOffset!==b.offset||p.focusNode!==y.node||p.focusOffset!==y.offset)){var v=d.createRange();v.setStart(b.node,b.offset),p.removeAllRanges(),g>h?(p.addRange(v),p.extend(y.node,y.offset)):(v.setEnd(y.node,y.offset),p.addRange(v))}}}}for(d=[],p=i;p=p.parentNode;)1===p.nodeType&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for("function"==typeof i.focus&&i.focus(),i=0;i<d.length;i++){var w=d[i];w.element.scrollLeft=w.left,w.element.scrollTop=w.top}}dV=!!cb,cy=cb=null}finally{sI=o,W.p=a,G.T=r}}e.current=t,s4=2}}function uN(){if(2===s4){s4=0;var e=s3,t=s6,n=0!=(8772&t.flags);if(0!=(8772&t.subtreeFlags)||n){n=G.T,G.T=null;var r=W.p;W.p=2;var a=sI;sI|=4;try{sr(e,t.alternate,t)}finally{sI=a,W.p=r,G.T=n}}s4=3}}function uO(){if(4===s4||3===s4){s4=0;var e=ue;ue=null,eb();var t=s3,n=s6,r=s5,a=s7,o=(0x13ffff00&r)===r?10262:10256;if(0!=(n.subtreeFlags&o)||0!=(n.flags&o)?s4=5:(s4=0,s6=s3=null,uL(t,t.pendingLanes)),0===(o=t.pendingLanes)&&(s2=null),eG(r),n=n.stateNode,eC&&"function"==typeof eC.onCommitFiberRoot)try{eC.onCommitFiberRoot(eA,n,void 0,128==(128&n.current.flags))}catch(e){}if(null!==a){n=G.T,o=W.p,W.p=2,G.T=null;try{for(var l=t.onRecoverableError,i=0;i<a.length;i++){var s=a[i];l(s.value,{componentStack:s.stack})}}finally{G.T=n,W.p=o}}if(a=ut,l=un,un=null,null!==a&&(ut=null,null===l&&(l=[]),null!==e))for(s=0;s<a.length;s++)void 0!==(n=(0,a[s])(l))&&e.finished.finally(n);0!=(3&s5)&&uI(),uW(t),o=t.pendingLanes,0!=(261930&r)&&0!=(42&o)?t===ua?ur++:(ur=0,ua=t):(ur=0,ua=null),uY(0,!1)}}function uL(e,t){0==(e.pooledCacheLanes&=t)&&null!=(t=e.pooledCache)&&(e.pooledCache=null,ab(t))}function uI(){return null!==ue&&(ue.skipTransition(),ue=null),uP(),uN(),uO(),uR()}function uR(){if(5!==s4)return!1;var e=s3,t=s8;s8=0;var n=eG(s5),r=G.T,a=W.p;try{W.p=32>n?32:n,G.T=null,n=s9,s9=null;var o=s3,l=s5;if(s4=0,s6=s3=null,s5=0,0!=(6&sI))throw Error(i(331));var s=sI;if(sI|=4,sP(o.current),sk(o,o.current,l,n),sI=s,uY(0,!1),eC&&"function"==typeof eC.onPostCommitFiberRoot)try{eC.onPostCommitFiberRoot(eA,o)}catch(e){}return!0}finally{W.p=a,G.T=r,uL(e,t)}}function uj(e,t,n){t=rj(n,t),t=lH(e.stateNode,t,2),null!==(e=aZ(e,t,2))&&(e$(e,2),uW(e))}function uD(e,t,n){if(3===e.tag)uj(e,e,n);else for(;null!==t;){if(3===t.tag){uj(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===s2||!s2.has(r))){e=rj(n,e),null!==(r=aZ(t,n=lX(2),2))&&(lV(n,r,t,e),e$(r,2),uW(r));break}}t=t.return}}function uF(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new sL;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(sU=!0,a.add(n),e=uM.bind(null,e,t,n),t.then(e,e))}function uM(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,sR===e&&(sD&n)===n&&((4===sq||3===sq&&(0x3c00000&sD)===sD&&300>ey()-sZ)&&0==(2&sI)?um(e,0):sV|=n,sW===sD&&(sW=0)),uW(e)}function uz(e,t){0===t&&(t=eB()),null!==(e=rw(e,t))&&(e$(e,t),uW(e))}function uB(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),uz(e,n)}function uU(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}null!==r&&r.delete(t),uz(e,n)}var u$=null,uq=null,uH=!1,uX=!1,uV=!1,uG=0;function uW(e){e!==uq&&null===e.next&&(null===uq?u$=uq=e:uq=uq.next=e),uX=!0,uH||(uH=!0,cP(function(){0!=(6&sI)?em(ew,uK):uQ()}))}function uY(e,t){if(!uV&&uX){uV=!0;do for(var n=!1,r=u$;null!==r;){if(!t)if(0!==e){var a=r.pendingLanes;if(0===a)var o=0;else{var l=r.suspendedLanes,i=r.pingedLanes;o=0xc000095&(o=(1<<31-eN(42|e)+1)-1&(a&~(l&~i)))?0xc000095&o|1:o?2|o:0}0!==o&&(n=!0,u0(r,o))}else o=sD,0==(3&(o=eF(r,r===sR?o:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||eM(r,o)||(n=!0,u0(r,o));r=r.next}while(n)uV=!1}}function uK(){uQ()}function uQ(){uX=uH=!1;var e,t=0;0===uG||((e=window.event)&&"popstate"===e.type?e===cE||(cE=e,0):(cE=null,1))||(t=uG);for(var n=ey(),r=null,a=u$;null!==a;){var o=a.next,l=uZ(a,n);0===l?(a.next=null,null===r?u$=o:r.next=o,null===o&&(uq=r)):(r=a,(0!==t||0!=(3&l))&&(uX=!0)),a=o}0!==s4&&5!==s4||uY(t,!1),0!==uG&&(uG=0)}function uZ(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=-0x3c00001&e.pendingLanes;0<o;){var l=31-eN(o),i=1<<l,s=a[l];-1===s?(0==(i&n)||0!=(i&r))&&(a[l]=function(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return -1}}(i,t)):s<=t&&(e.expiredLanes|=i),o&=~i}if(t=sR,n=sD,n=eF(e,e===t?n:0,null!==e.cancelPendingCommit||-1!==e.timeoutHandle),r=e.callbackNode,0===n||e===t&&(2===sF||9===sF)||null!==e.cancelPendingCommit)return null!==r&&null!==r&&eg(r),e.callbackNode=null,e.callbackPriority=0;if(0==(3&n)||eM(e,n)){if((t=n&-n)===e.callbackPriority)return t;switch(null!==r&&eg(r),eG(n)){case 2:case 8:n=eS;break;case 32:default:n=ek;break;case 0x10000000:n=eE}return n=em(n,r=uJ.bind(null,e)),e.callbackPriority=t,e.callbackNode=n,t}return null!==r&&null!==r&&eg(r),e.callbackPriority=2,e.callbackNode=null,2}function uJ(e,t){if(0!==s4&&5!==s4)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(uI()&&e.callbackNode!==n)return null;var r=sD;return 0===(r=eF(e,e===sR?r:0,null!==e.cancelPendingCommit||-1!==e.timeoutHandle))?null:(uu(e,r,t),uZ(e,ey()),null!=e.callbackNode&&e.callbackNode===n?uJ.bind(null,e):null)}function u0(e,t){if(uI())return null;uu(e,t,!0)}function u1(){if(0===uG){var e=ak;0===e&&(e=eI,0==(261888&(eI<<=1))&&(eI=256)),uG=e}return uG}function u2(e){return null==e||"symbol"==typeof e||"boolean"==typeof e?null:"function"==typeof e?e:tR(e)}for(var u4=0;u4<ri.length;u4++){var u3=ri[u4];rs(u3.toLowerCase(),"on"+(u3[0].toUpperCase()+u3.slice(1)))}rs(n7,"onAnimationEnd"),rs(re,"onAnimationIteration"),rs(rt,"onAnimationStart"),rs("dblclick","onDoubleClick"),rs("focusin","onFocus"),rs("focusout","onBlur"),rs(rn,"onTransitionRun"),rs(rr,"onTransitionStart"),rs(ra,"onTransitionCancel"),rs(ro,"onTransitionEnd"),tl("onMouseEnter",["mouseout","mouseover"]),tl("onMouseLeave",["mouseout","mouseover"]),tl("onPointerEnter",["pointerout","pointerover"]),tl("onPointerLeave",["pointerout","pointerover"]),to("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),to("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),to("onBeforeInput",["compositionend","keypress","textInput","paste"]),to("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),to("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),to("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var u6="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),u5=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(u6));function u8(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var l=r.length-1;0<=l;l--){var i=r[l],s=i.instance,u=i.currentTarget;if(i=i.listener,s!==o&&a.isPropagationStopped())break e;o=i,a.currentTarget=u;try{o(a)}catch(e){rp(e)}a.currentTarget=null,o=s}else for(l=0;l<r.length;l++){if(s=(i=r[l]).instance,u=i.currentTarget,i=i.listener,s!==o&&a.isPropagationStopped())break e;o=i,a.currentTarget=u;try{o(a)}catch(e){rp(e)}a.currentTarget=null,o=s}}}}function u9(e,t){var n=t[e0];void 0===n&&(n=t[e0]=new Set);var r=e+"__bubble";n.has(r)||(cn(t,e,2,!1),n.add(r))}function u7(e,t,n){var r=0;t&&(r|=4),cn(n,e,r,t)}var ce="_reactListening"+Math.random().toString(36).slice(2);function ct(e){if(!e[ce]){e[ce]=!0,tr.forEach(function(t){"selectionchange"!==t&&(u5.has(t)||u7(t,!1,e),u7(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[ce]||(t[ce]=!0,u7("selectionchange",!1,t))}}function cn(e,t,n,r){switch(dJ(t)){case 2:var a=dG;break;case 8:a=dW;break;default:a=dY}n=a.bind(null,t,n,e),a=void 0,tX&&("touchstart"===t||"touchmove"===t||"wheel"===t)&&(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function cr(e,t,n,r,a){var o=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var l=r.tag;if(3===l||4===l){var i=r.stateNode.containerInfo;if(i===a)break;if(4===l)for(l=r.return;null!==l;){var s=l.tag;if((3===s||4===s)&&l.stateNode.containerInfo===a)return;l=l.return}for(;null!==i;){if(null===(l=e8(i)))return;if(5===(s=l.tag)||6===s||26===s||27===s){r=o=l;continue e}i=i.parentNode}}r=r.return}t$(function(){var r=o,a=tF(n),l=[];e:{var i=rl.get(e);if(void 0!==i){var s=t8,c=e;switch(e){case"keypress":if(0===tQ(n))break e;case"keydown":case"keyup":s=nf;break;case"focusin":c="focus",s=nr;break;case"focusout":c="blur",s=nr;break;case"beforeblur":case"afterblur":s=nr;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=nt;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=nn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=ng;break;case n7:case re:case rt:s=na;break;case ro:s=nh;break;case"scroll":case"scrollend":s=t7;break;case"wheel":s=nb;break;case"copy":case"cut":case"paste":s=no;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=np;break;case"submit":s=nm;break;case"toggle":case"beforetoggle":s=ny}var d=0!=(4&t),f=!d&&("scroll"===e||"scrollend"===e),p=d?null!==i?i+"Capture":null:i;d=[];for(var m,g=r;null!==g;){var h=g;if(m=h.stateNode,5!==(h=h.tag)&&26!==h&&27!==h||null===m||null===p||null!=(h=tq(g,p))&&d.push(ca(g,h,m)),f)break;g=g.return}0<d.length&&(i=new s(i,c,null,n,a),l.push({event:i,listeners:d}))}}if(0==(7&t)){s="mouseover"===e||"pointerover"===e,i="mouseout"===e||"pointerout"===e,!(s&&n!==tD&&(c=n.relatedTarget||n.fromElement)&&(e8(c)||c[eJ]))&&(i||s)&&(c=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,i?(s=n.relatedTarget||n.toElement,i=r,null!==(s=s?e8(s):null)&&(f=u(s),d=s.tag,s!==f||5!==d&&27!==d&&6!==d)&&(s=null)):(i=null,s=r),i!==s&&(d=nt,h="onMouseLeave",p="onMouseEnter",g="mouse",("pointerout"===e||"pointerover"===e)&&(d=np,h="onPointerLeave",p="onPointerEnter",g="pointer"),f=null==i?c:e7(i),m=null==s?c:e7(s),(c=new d(h,g+"leave",i,n,a)).target=f,c.relatedTarget=m,h=null,e8(a)===r&&((d=new d(p,g+"enter",s,n,a)).target=m,d.relatedTarget=f,h=d),f=h,d=i&&s?x(i,s,cl):null,null!==i&&ci(l,c,i,d,!1),null!==s&&null!==f&&ci(l,f,s,d,!0)));e:{if("select"===(s=(i=r?e7(r):window).nodeName&&i.nodeName.toLowerCase())||"input"===s&&"file"===i.type)var b,y=nj;else if(nP(i))if(nD)y=nH;else{y=n$;var v=nU}else(s=i.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)?y=nq:r&&tO(r.elementType)&&(y=nj);if(y&&(y=y(e,r))){nN(l,y,n,a);break e}v&&v(e,i,r)}switch(v=r?e7(r):window,e){case"focusin":(nP(v)||"true"===v.contentEditable)&&(nJ=v,n0=r,n1=null);break;case"focusout":n1=n0=nJ=null;break;case"mousedown":n2=!0;break;case"contextmenu":case"mouseup":case"dragend":n2=!1,n4(l,n,a);break;case"selectionchange":if(nZ)break;case"keydown":case"keyup":n4(l,n,a)}if(nw)t:{switch(e){case"compositionstart":var w="onCompositionStart";break t;case"compositionend":w="onCompositionEnd";break t;case"compositionupdate":w="onCompositionUpdate";break t}w=void 0}else nA?n_(e,n)&&(w="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(w="onCompositionStart");w&&(nx&&"ko"!==n.locale&&(nA||"onCompositionStart"!==w?"onCompositionEnd"===w&&nA&&(b=tK()):(tW="value"in(tG=a)?tG.value:tG.textContent,nA=!0)),0<(v=co(r,w)).length&&(w=new nl(w,e,null,n,a),l.push({event:w,listeners:v}),b?w.data=b:null!==(b=nT(n))&&(w.data=b))),(b=nk?function(e,t){switch(e){case"compositionend":return nT(t);case"keypress":if(32!==t.which)return null;return nE=!0," ";case"textInput":return" "===(e=t.data)&&nE?null:e;default:return null}}(e,n):function(e,t){if(nA)return"compositionend"===e||!nw&&n_(e,t)?(e=tK(),tY=tW=tG=null,nA=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return nx&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(w=co(r,"onBeforeInput")).length&&(v=new nl("onBeforeInput","beforeinput",null,n,a),l.push({event:v,listeners:w}),v.data=b);var S=e;if("submit"===S&&r&&r.stateNode===a){var k=u2((a[eZ]||null).action),E=n.submitter;E&&null!==(S=(S=E[eZ]||null)?u2(S.formAction):E.getAttribute("formAction"))&&(k=S,E=null);var _=new t8("action","action",null,n,a);l.push({event:_,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(0!==uG){var e=new FormData(a,E);lh(r,{pending:!0,data:e,method:a.method,action:k},null,e)}}else"function"==typeof k&&(_.preventDefault(),lh(r,{pending:!0,data:e=new FormData(a,E),method:a.method,action:k},k,e))},currentTarget:a}]})}}u8(l,t)})}function ca(e,t,n){return{instance:e,listener:t,currentTarget:n}}function co(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;if(5!==(a=a.tag)&&26!==a&&27!==a||null===o||(null!=(a=tq(e,n))&&r.unshift(ca(e,a,o)),null!=(a=tq(e,t))&&r.push(ca(e,a,o))),3===e.tag)return r;e=e.return}return[]}function cl(e){if(null===e)return null;do e=e.return;while(e&&5!==e.tag&&27!==e.tag)return e||null}function ci(e,t,n,r,a){for(var o=t._reactName,l=[];null!==n&&n!==r;){var i=n,s=i.alternate,u=i.stateNode;if(i=i.tag,null!==s&&s===r)break;5!==i&&26!==i&&27!==i||null===u||(s=u,a?null!=(u=tq(n,o))&&l.unshift(ca(n,u,s)):a||null!=(u=tq(n,o))&&l.push(ca(n,u,s))),n=n.return}0!==l.length&&e.push({event:t,listeners:l})}var cs=/\r\n?/g,cu=/\u0000|\uFFFD/g;function cc(e){return("string"==typeof e?e:""+e).replace(cs,"\n").replace(cu,"")}function cd(e,t){return t=cc(t),cc(e)===t}function cf(e,t,n,r,a,o){switch(n){case"children":if("string"==typeof r)"body"===t||"textarea"===t&&""===r||tA(e,r);else{if("number"!=typeof r&&"bigint"!=typeof r)return;"body"!==t&&tA(e,""+r)}break;case"className":tp(e,"class",r);break;case"tabIndex":tp(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":tp(e,n,r);break;case"style":tN(e,r,o);return;case"data":if("object"!==t){tp(e,"data",r);break}case"src":case"href":if(""===r&&("a"!==t||"href"!==n)||null==r||"function"==typeof r||"symbol"==typeof r||"boolean"==typeof r){e.removeAttribute(n);break}r=tR(r),e.setAttribute(n,r);break;case"action":case"formAction":if("function"==typeof r){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}if("function"==typeof o&&("formAction"===n?("input"!==t&&cf(e,t,"name",a.name,a,null),cf(e,t,"formEncType",a.formEncType,a,null),cf(e,t,"formMethod",a.formMethod,a,null),cf(e,t,"formTarget",a.formTarget,a,null)):(cf(e,t,"encType",a.encType,a,null),cf(e,t,"method",a.method,a,null),cf(e,t,"target",a.target,a,null))),null==r||"symbol"==typeof r||"boolean"==typeof r){e.removeAttribute(n);break}r=tR(r),e.setAttribute(n,r);break;case"onClick":null!=r&&(e.onclick=tj);return;case"onScroll":null!=r&&u9("scroll",e);return;case"onScrollEnd":null!=r&&u9("scrollend",e);return;case"dangerouslySetInnerHTML":if(null!=r){if("object"!=typeof r||!("__html"in r))throw Error(i(61));if(null!=(n=r.__html)){if(null!=a.children)throw Error(i(60));(null!=o?o.__html:void 0)!==n&&(e.innerHTML=n)}}break;case"multiple":e.multiple=r&&"function"!=typeof r&&"symbol"!=typeof r;break;case"muted":e.muted=r&&"function"!=typeof r&&"symbol"!=typeof r;break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":case"autoFocus":break;case"xlinkHref":if(null==r||"function"==typeof r||"boolean"==typeof r||"symbol"==typeof r){e.removeAttribute("xlink:href");break}n=tR(r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":null!=r&&"function"!=typeof r&&"symbol"!=typeof r?e.setAttribute(n,r):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"credentialless":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&"function"!=typeof r&&"symbol"!=typeof r?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":!0===r?e.setAttribute(n,""):!1!==r&&null!=r&&"function"!=typeof r&&"symbol"!=typeof r?e.setAttribute(n,r):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":null!=r&&"function"!=typeof r&&"symbol"!=typeof r&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case"rowSpan":case"start":null==r||"function"==typeof r||"symbol"==typeof r||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case"popover":u9("beforetoggle",e),u9("toggle",e),tf(e,"popover",r);break;case"xlinkActuate":tm(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":tm(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":tm(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":tm(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":tm(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":tm(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":tm(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":tm(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":tm(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":tf(e,"is",r);break;case"innerText":case"textContent":return;default:if(2<n.length&&("o"===n[0]||"O"===n[0])&&("n"===n[1]||"N"===n[1]))return;tf(e,n=tL.get(n)||n,r)}tc=!0}function cp(e,t,n,r,a,o){switch(n){case"style":tN(e,r,o);return;case"dangerouslySetInnerHTML":if(null!=r){if("object"!=typeof r||!("__html"in r))throw Error(i(61));if(null!=(n=r.__html)){if(null!=a.children)throw Error(i(60));(null!=o?o.__html:void 0)!==n&&(e.innerHTML=n)}}break;case"children":if("string"==typeof r)tA(e,r);else{if("number"!=typeof r&&"bigint"!=typeof r)return;tA(e,""+r)}break;case"onScroll":null!=r&&u9("scroll",e);return;case"onScrollEnd":null!=r&&u9("scrollend",e);return;case"onClick":null!=r&&(e.onclick=tj);return;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":case"innerText":case"textContent":return;default:if(!ta.hasOwnProperty(n))e:{if("o"===n[0]&&"n"===n[1]&&(a=n.endsWith("Capture"),o=n.slice(2,a?n.length-7:void 0),"function"==typeof(t=null!=(t=e[eZ]||null)?t[n]:null)&&e.removeEventListener(o,t,a),"function"==typeof r)){"function"!=typeof t&&null!==t&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(o,r,a);break e}tc=!0,n in e?e[n]=r:!0===r?e.setAttribute(n,""):tf(e,n,r)}return}tc=!0}function cm(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":u9("error",e),u9("load",e);var r,a=!1,o=!1;for(r in n)if(n.hasOwnProperty(r)){var l=n[r];if(null!=l)switch(r){case"src":a=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(i(137,t));default:cf(e,t,r,l,n,null)}}o&&cf(e,t,"srcSet",n.srcSet,n,null),a&&cf(e,t,"src",n.src,n,null);return;case"input":u9("invalid",e);var s=r=l=o=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var d=n[a];if(null!=d)switch(a){case"name":o=d;break;case"type":l=d;break;case"checked":u=d;break;case"defaultChecked":c=d;break;case"value":r=d;break;case"defaultValue":s=d;break;case"children":case"dangerouslySetInnerHTML":if(null!=d)throw Error(i(137,t));break;default:cf(e,t,a,d,n,null)}}tk(e,r,s,u,c,l,o,!1);return;case"select":for(o in u9("invalid",e),a=l=r=null,n)if(n.hasOwnProperty(o)&&null!=(s=n[o]))switch(o){case"value":r=s;break;case"defaultValue":l=s;break;case"multiple":a=s;default:cf(e,t,o,s,n,null)}t=r,n=l,e.multiple=!!a,null!=t?tE(e,!!a,t,!1):null!=n&&tE(e,!!a,n,!0);return;case"textarea":for(l in u9("invalid",e),r=o=a=null,n)if(n.hasOwnProperty(l)&&null!=(s=n[l]))switch(l){case"value":a=s;break;case"defaultValue":o=s;break;case"children":r=s;break;case"dangerouslySetInnerHTML":if(null!=s)throw Error(i(91));break;default:cf(e,t,l,s,n,null)}tT(e,a,o,r);return;case"option":for(u in n)n.hasOwnProperty(u)&&null!=(a=n[u])&&("selected"===u?e.selected=a&&"function"!=typeof a&&"symbol"!=typeof a:cf(e,t,u,a,n,null));return;case"dialog":u9("beforetoggle",e),u9("toggle",e),u9("cancel",e),u9("close",e);break;case"iframe":case"object":u9("load",e);break;case"video":case"audio":for(a=0;a<u6.length;a++)u9(u6[a],e);break;case"image":u9("error",e),u9("load",e);break;case"details":u9("toggle",e);break;case"embed":case"source":case"link":u9("error",e),u9("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&null!=(a=n[c]))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(i(137,t));default:cf(e,t,c,a,n,null)}return;default:if(tO(t)){for(d in n)n.hasOwnProperty(d)&&void 0!==(a=n[d])&&cp(e,t,d,a,n,void 0);return}}for(s in n)n.hasOwnProperty(s)&&null!=(a=n[s])&&cf(e,t,s,a,n,null)}var cg={};function ch(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}var cb=null,cy=null;function cv(e){return 9===e.nodeType?e:e.ownerDocument}function cw(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function cS(e,t){if(0===e)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return 1===e&&"foreignObject"===t?0:e}function ck(e,t,n,r){return(n=cv(n).createElement(e))[eQ]=r,n[eZ]=t,cm(n,e,t),tt(n),n}function cx(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"bigint"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var cE=null,c_="function"==typeof setTimeout?setTimeout:void 0,cT="function"==typeof clearTimeout?clearTimeout:void 0,cA="function"==typeof Promise?Promise:void 0,cC="function"==typeof requestAnimationFrame?requestAnimationFrame:c_,cP="function"==typeof queueMicrotask?queueMicrotask:void 0!==cA?function(e){return cA.resolve(null).then(e).catch(cN)}:c_;function cN(e){setTimeout(function(){throw e})}function cO(e){return"head"===e}function cL(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)||"/&"===n){if(0===r){e.removeChild(a),fi(t);return}r--}else if("$"===n||"$?"===n||"$~"===n||"$!"===n||"&"===n)r++;else if("html"===n)di(e.ownerDocument.documentElement);else if("head"===n){di(n=e.ownerDocument.head);for(var o=n.firstChild;o;){var l=o.nextSibling,i=o.nodeName;o[e3]||"SCRIPT"===i||"STYLE"===i||"LINK"===i&&"stylesheet"===o.rel.toLowerCase()||n.removeChild(o),o=l}}else"body"===n&&di(e.ownerDocument.body);n=a}while(n)fi(t)}function cI(e,t){var n=e;e=0;do{var r=n.nextSibling;if(1===n.nodeType?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",""===n.getAttribute("style")&&n.removeAttribute("style")):3===n.nodeType&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),r&&8===r.nodeType)if("/$"===(n=r.data))if(0===e)break;else e--;else"$"!==n&&"$?"!==n&&"$~"!==n&&"$!"!==n||e++;n=r}while(n)}function cR(e,t,n){if(t=CSS.escape(t)!==t?"r-"+btoa(t).replace(/=/g,""):t,e.style.viewTransitionName=t,null!=n&&(e.style.viewTransitionClass=n),"inline"===(n=getComputedStyle(e)).display){if(1===(t=e.getClientRects()).length)var r=1;else for(var a=r=0;a<t.length;a++){var o=t[a];0<o.width&&0<o.height&&r++}1===r&&((e=e.style).display=1===t.length?"inline-block":"block",e.marginTop="-"+n.paddingTop,e.marginBottom="-"+n.paddingBottom)}}function cj(e,t){e=e.style;var n=null!=(t=t.style)?t.hasOwnProperty("viewTransitionName")?t.viewTransitionName:t.hasOwnProperty("view-transition-name")?t["view-transition-name"]:null:null;e.viewTransitionName=null==n||"boolean"==typeof n?"":(""+n).trim(),n=null!=t?t.hasOwnProperty("viewTransitionClass")?t.viewTransitionClass:t.hasOwnProperty("view-transition-class")?t["view-transition-class"]:null:null,e.viewTransitionClass=null==n||"boolean"==typeof n?"":(""+n).trim(),"inline-block"===e.display&&(null==t?e.display=e.margin="":(n=t.display,e.display=null==n||"boolean"==typeof n?"":n,null!=(n=t.margin)?e.margin=n:(n=t.hasOwnProperty("marginTop")?t.marginTop:t["margin-top"],e.marginTop=null==n||"boolean"==typeof n?"":n,t=t.hasOwnProperty("marginBottom")?t.marginBottom:t["margin-bottom"],e.marginBottom=null==t||"boolean"==typeof t?"":t)))}function cD(e,t,n){return n=n.ownerDocument.defaultView,{rect:e,abs:"absolute"===t.position||"fixed"===t.position,clip:"none"!==t.clipPath||"visible"!==t.overflow||"none"!==t.filter||"none"!==t.mask||"none"!==t.mask||"0px"!==t.borderRadius,view:0<=e.bottom&&0<=e.right&&e.top<=n.innerHeight&&e.left<=n.innerWidth}}function cF(e){return cD(e.getBoundingClientRect(),getComputedStyle(e),e)}function cM(e){var t=e.getBoundingClientRect();return cD(t=new DOMRect(t.x+2e4,t.y+2e4,t.width,t.height),getComputedStyle(e),e)}function cz(e){this.addEventListener("load",e),this.addEventListener("error",e)}function cB(e,t){this._scope=document.documentElement,this._selector="::view-transition-"+e+"("+t+")"}function cU(e){return{name:e,group:new cB("group",e),imagePair:new cB("image-pair",e),old:new cB("old",e),new:new cB("new",e)}}function c$(e){this._fragmentFiber=e,this._observers=this._eventListeners=null}function cq(e,t,n,r){return b(e).addEventListener(t,n,r),!1}function cH(e,t,n,r){return b(e).removeEventListener(t,n,r),!1}function cX(e){return null!=e&&"boolean"!=typeof e&&(!0===e.once||e.signal instanceof AbortSignal)?{capture:e.capture,passive:e.passive}:e}function cV(e){return null==e?"c=0":"boolean"==typeof e?"c="+(e?"1":"0"):"c="+(e.capture?"1":"0")}function cG(e,t,n,r){if(0===e.length)return -1;r=cV(r);for(var a=0;a<e.length;a++){var o=e[a];if(o.type===t&&o.listener===n&&cV(o.optionsOrUseCapture)===r)return a}return -1}function cW(e,t){return 6!==e.tag&&function(e,t){function n(){r=!0}if(e.ownerDocument.activeElement===e)return!0;var r=!1;try{e.ownerDocument.addEventListener("focus",n,!0),(e.focus||HTMLElement.prototype.focus).call(e,t)}finally{e.ownerDocument.removeEventListener("focus",n,!0)}return r}(e=b(e),t)}function cY(e,t){return t.push(e),!1}function cK(e,t){return 6!==e.tag&&!!((e=b(e))===t||e.contains(t))&&(t.blur(),!0)}function cQ(e,t){return 6!==e.tag&&(e=b(e),t.observe(e),!1)}function cZ(e,t){return 6!==e.tag&&(e=b(e),t.unobserve(e),!1)}cB.prototype.animate=function(e,t){return(t="number"==typeof t?{duration:t}:E({},t)).pseudoElement=this._selector,this._scope.animate(e,t)},cB.prototype.getAnimations=function(){for(var e=this._scope,t=this._selector,n=e.getAnimations({subtree:!0}),r=[],a=0;a<n.length;a++){var o=n[a].effect;null!==o&&o.target===e&&o.pseudoElement===t&&r.push(n[a])}return r},cB.prototype.getComputedStyle=function(){return getComputedStyle(this._scope,this._selector)},c$.prototype.addEventListener=function(e,t,n){var r=null,a=null;if(null==n||"boolean"==typeof n||null===(r=n.signal||null)||!r.aborted){null===this._eventListeners&&(this._eventListeners=[]);var o=this._eventListeners;if(-1===cG(o,e,t,n)){var l=this,i=t;null!=n&&"boolean"!=typeof n&&!0===n.once&&(i=function(r){l.removeEventListener(e,t,n),"function"==typeof t?t.call(this,r):t.handleEvent(r)}),null!==r&&(a=l.removeEventListener.bind(l,e,t,n),r.addEventListener("abort",a,{once:!0}),a=r.removeEventListener.bind(r,"abort",a)),r=cX(n),o.push({type:e,listener:t,optionsOrUseCapture:n,attachedListener:i,cleanup:a}),p(this._fragmentFiber.child,!1,cq,e,i,r)}this._eventListeners=o}},c$.prototype.removeEventListener=function(e,t,n){var r=this._eventListeners;if(null!==r&&-1!==(t=cG(r,e,t,n))){var a=r[t];n=a.attachedListener;var o=a.cleanup;a=cX(a.optionsOrUseCapture),p(this._fragmentFiber.child,!1,cH,e,n,a),r.splice(t,1),null!==o&&o()}},c$.prototype.dispatchEvent=function(e){var t=m(this._fragmentFiber);if(null===t)return!0;t=b(t);var n=this._eventListeners;if(null!==n&&0<n.length||!e.bubbles){var r=9===t.nodeType?t.createComment(""):document.createTextNode("");if(n)for(var a=0;a<n.length;a++){var o=n[a];r.addEventListener(o.type,o.attachedListener,cX(o.optionsOrUseCapture))}if(t.appendChild(r),e=r.dispatchEvent(e),n)for(a=0;a<n.length;a++)o=n[a],r.removeEventListener(o.type,o.attachedListener,cX(o.optionsOrUseCapture));return t.removeChild(r),e}return t.dispatchEvent(e)},c$.prototype.focus=function(e){p(this._fragmentFiber.child,!0,cW,e,void 0,void 0)},c$.prototype.focusLast=function(e){var t=[];p(this._fragmentFiber.child,!0,cY,t,void 0,void 0);for(var n=t.length-1;0<=n&&!cW(t[n],e);n--);},c$.prototype.blur=function(){var e=m(this._fragmentFiber);null!==e&&null!==(e=cv(e=b(e)).activeElement)&&p(this._fragmentFiber.child,!1,cK,e,void 0,void 0)},c$.prototype.observeUsing=function(e){null===this._observers&&(this._observers=new Set),this._observers.add(e),p(this._fragmentFiber.child,!1,cQ,e,void 0,void 0)},c$.prototype.unobserveUsing=function(e){var t=this._observers;if(null!==t&&t.has(e)){t.delete(e),p(this._fragmentFiber.child,!1,cZ,e,void 0,void 0);for(var n=t=0;n<cJ.length;n++){var r=cJ[n];r.fragmentInstance===this&&r.observer===e?e.unobserve(r.instance):cJ[t++]=r}cJ.length=t}};var cJ=[],c0=!1;function c1(e,t){if(6===e.tag){var n=(e=e.stateNode).ownerDocument.createRange();n.selectNodeContents(e),t.push.apply(t,n.getClientRects())}else e=b(e),t.push.apply(t,e.getClientRects());return!1}function c2(e,t){var n=e.ownerDocument.createRange();n.selectNodeContents(e),e=n.getBoundingClientRect(),window.scrollTo(window.scrollX+e.left,t?window.scrollY+e.top:window.scrollY+e.bottom-window.innerHeight)}function c4(e,t){return c3(e=b(e),t),!1}function c3(e,t){null==e.reactFragments&&(e.reactFragments=new Set),e.reactFragments.add(t)}function c6(e,t){var n=t._eventListeners;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];e.addEventListener(a.type,a.attachedListener,cX(a.optionsOrUseCapture))}3!==e.nodeType&&(null!==(n=t._observers)&&n.forEach(function(n){for(var r=0,a=0;a<cJ.length;a++){var o=cJ[a];(o.fragmentInstance!==t||o.observer!==n||o.instance!==e)&&(cJ[r++]=o)}cJ.length=r,n.observe(e)}),c3(e,t))}function c5(e){var t=e.firstChild;for(t&&10===t.nodeType&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":c5(n),e5(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if("stylesheet"===n.rel.toLowerCase())continue}e.removeChild(n)}}function c8(e,t){for(;8!==e.nodeType;)if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!t||null===(e=de(e.nextSibling)))return null;return e}function c9(e){return"$?"===e.data||"$~"===e.data}function c7(e){return"$!"===e.data||"$?"===e.data&&"loading"!==e.ownerDocument.readyState}function de(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t||"$~"===t||"&"===t||"F!"===t||"F"===t)break;if("/$"===t||"/&"===t)return null}}return e}c$.prototype.getClientRects=function(){var e=[];return p(this._fragmentFiber.child,!1,c1,e,void 0,void 0),e},c$.prototype.getRootNode=function(e){var t=m(this._fragmentFiber);return null===t?this:b(t).getRootNode(e)},c$.prototype.compareDocumentPosition=function(e){var t=m(this._fragmentFiber);if(null===t)return Node.DOCUMENT_POSITION_DISCONNECTED;var n=[];p(this._fragmentFiber.child,!1,cY,n,void 0,void 0);var r=b(t);if(0===n.length){if(n=r,g(this._fragmentFiber)){e:{for(t=this._fragmentFiber.return;null!==t;){if(4===t.tag){t=t.stateNode.containerInfo;break e}if(3===t.tag||5===t.tag||27===t.tag)break;t=t.return}t=null}null!=t&&(n=t)}t=this._fragmentFiber;var a=r=n.compareDocumentPosition(e);return n===e?a=Node.DOCUMENT_POSITION_CONTAINS:r&Node.DOCUMENT_POSITION_CONTAINED_BY&&(a=null===(n=h(t)[1])?Node.DOCUMENT_POSITION_PRECEDING:0===(e=b(n).compareDocumentPosition(e))||e&Node.DOCUMENT_POSITION_FOLLOWING?Node.DOCUMENT_POSITION_FOLLOWING:Node.DOCUMENT_POSITION_PRECEDING),a|Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC}t=b(n[0]),a=b(n[n.length-1]);var o=g(this._fragmentFiber)?t.parentElement:r;if(null==o)return Node.DOCUMENT_POSITION_DISCONNECTED;r=o.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY,o=o.compareDocumentPosition(a)&Node.DOCUMENT_POSITION_CONTAINED_BY;var l=t.compareDocumentPosition(e),i=a.compareDocumentPosition(e),s=l&Node.DOCUMENT_POSITION_CONTAINED_BY||i&Node.DOCUMENT_POSITION_CONTAINED_BY;return i=r&&o&&l&Node.DOCUMENT_POSITION_FOLLOWING&&i&Node.DOCUMENT_POSITION_PRECEDING,(t=r&&t===e||o&&a===e||s||i?Node.DOCUMENT_POSITION_CONTAINED_BY:(r||t!==e)&&(o||a!==e)?l:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)&Node.DOCUMENT_POSITION_DISCONNECTED||t&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC||function(e,t,n,r,a){var o=e8(a);if(e&Node.DOCUMENT_POSITION_CONTAINED_BY){if(n=!!o)e:{for(;null!==o;){if(7===o.tag&&(o===t||o.alternate===t)){n=!0;break e}o=o.return}n=!1}return n}if(e&Node.DOCUMENT_POSITION_CONTAINS){if(null===o)return o=a.ownerDocument,a===o||a===o.documentElement||a===o.body;e:{for(o=t,t=m(t);null!==o;){if((5===o.tag||3===o.tag||27===o.tag)&&(o===t||o.alternate===t)){o=!0;break e}o=o.return}o=!1}return o}return e&Node.DOCUMENT_POSITION_PRECEDING?((t=!!o)&&!(t=o===n)&&(null===(t=x(n,o,k))?t=!1:(p(t,!0,w,o,n),o=y,y=null,t=null!==o)),t):!!(e&Node.DOCUMENT_POSITION_FOLLOWING)&&((t=!!o)&&!(t=o===r)&&(null===(t=x(r,o,k))?t=!1:(p(t,!0,S,o,r),o=y,v=y=null,t=null!==o)),t)}(t,this._fragmentFiber,n[0],n[n.length-1],e)?t:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC},c$.prototype.scrollIntoView=function(e){if("object"==typeof e)throw Error(i(566));var t=[];p(this._fragmentFiber.child,!1,cY,t,void 0,void 0);var n=!1!==e;if(0===t.length){var r=h(this._fragmentFiber);if(null===(r=n?r[1]||r[0]||m(this._fragmentFiber):r[0]||r[1]))return;if(6===r.tag)return void c2(e=b(r),n);if(9!==(r=b(r)).nodeType){if(11===r.nodeType){null!==(n="host"in r?r.host:null)&&n.scrollIntoView(e);return}r.scrollIntoView(e)}}for(r=n?t.length-1:0;r!==(n?-1:t.length);){var a=t[r];6===a.tag?c2(a=b(a),n):b(a).scrollIntoView(e),r+=n?-1:1}};var dt=null;function dn(e){e=e.nextSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n||"/&"===n){if(0===t)return de(e.nextSibling);t--}else"$"!==n&&"$!"!==n&&"$?"!==n&&"$~"!==n&&"&"!==n||t++}e=e.nextSibling}return null}function dr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n||"$~"===n||"&"===n){if(0===t)return e;t--}else"/$"!==n&&"/&"!==n||t++}e=e.previousSibling}return null}function da(e,t,n){switch(t=cv(n),e){case"html":if(!(e=t.documentElement))throw Error(i(452));return e;case"head":if(!(e=t.head))throw Error(i(453));return e;case"body":if(!(e=t.body))throw Error(i(454));return e;default:throw Error(i(451))}}function dl(e,t,n){for(var r in n){var a=n[r];n.hasOwnProperty(r)&&null!=a&&cf(e,t,r,null,cg,a)}null!=n.dangerouslySetInnerHTML&&(e.textContent=""),e.onclick===tj&&(e.onclick=null),e5(e)}function di(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);e5(e)}var ds=new Map,du=new Set;function dc(e){if("function"==typeof e.getRootNode){var t=e.getRootNode();if(9===t.nodeType||11===t.nodeType)return t}return 9===e.nodeType?e:e.ownerDocument}var dd=W.d;W.d={f:function(){var e=dd.f(),t=uf();return e||t},r:function(e){var t=e9(e);null!==t&&5===t.tag&&"form"===t.type?ly(t):dd.r(e)},D:function(e){dd.D(e),dp("dns-prefetch",e,null)},C:function(e,t){dd.C(e,t),dp("preconnect",e,t)},L:function(e,t,n){if(dd.L(e,t,n),df&&e&&t){var r='link[rel="preload"][as="'+tw(t)+'"]';"image"===t&&n&&n.imageSrcSet?(r+='[imagesrcset="'+tw(n.imageSrcSet)+'"]',"string"==typeof n.imageSizes&&(r+='[imagesizes="'+tw(n.imageSizes)+'"]')):r+='[href="'+tw(e)+'"]';var a=r;switch(t){case"style":a=dg(e);break;case"script":a=dy(e)}if(!(ds.has(a)||(e=E({rel:"preload",href:"image"===t&&n&&n.imageSrcSet?void 0:e,as:t},n),ds.set(a,e),null!==df.querySelector(r)||"style"===t&&df.querySelector(dh(a))||"script"===t&&df.querySelector(dv(a))))){var o=df.createElement("link");cm(o,"link",e),"style"===t&&(o[e6]=!0,o.onload=o.onerror=function(){tn(o)}),tt(o),df.head.appendChild(o)}}},m:function(e,t){if(dd.m(e,t),df&&e){var n=t&&"string"==typeof t.as?t.as:"script",r='link[rel="modulepreload"][as="'+tw(n)+'"][href="'+tw(e)+'"]',a=r;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=dy(e)}if(!ds.has(a)&&(e=E({rel:"modulepreload",href:e},t),ds.set(a,e),null===df.querySelector(r))){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(df.querySelector(dv(a)))return}cm(n=df.createElement("link"),"link",e),tt(n),df.head.appendChild(n)}}},X:function(e,t){if(dd.X(e,t),df&&e){var n=te(df).hoistableScripts,r=dy(e),a=n.get(r);a||((a=df.querySelector(dv(r)))||(e=E({src:e,async:!0},t),(t=ds.get(r))&&dx(e,t),tt(a=df.createElement("script")),cm(a,"link",e),df.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(r,a))}},S:function(e,t,n){if(dd.S(e,t,n),df&&e){var r=te(df).hoistableStyles,a=dg(e);t=t||"default";var o=r.get(a);if(!o){var l={loading:0,preload:null};if(o=df.querySelector(dh(a)))l.loading=5;else{e=E({rel:"stylesheet",href:e,"data-precedence":t},n),(n=ds.get(a))&&dk(e,n);var i=o=df.createElement("link");tt(i),cm(i,"link",e),i._p=new Promise(function(e,t){i.onload=e,i.onerror=t}),i.addEventListener("load",function(){l.loading|=1}),i.addEventListener("error",function(){l.loading|=2}),l.loading|=4,dS(o,t,df)}o={type:"stylesheet",instance:o,count:1,state:l},r.set(a,o)}}},M:function(e,t){if(dd.M(e,t),df&&e){var n=te(df).hoistableScripts,r=dy(e),a=n.get(r);a||((a=df.querySelector(dv(r)))||(e=E({src:e,async:!0,type:"module"},t),(t=ds.get(r))&&dx(e,t),tt(a=df.createElement("script")),cm(a,"link",e),df.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(r,a))}}};var df="u"<typeof document?null:document;function dp(e,t,n){if(df&&"string"==typeof t&&t){var r=tw(t);r='link[rel="'+e+'"][href="'+r+'"]',"string"==typeof n&&(r+='[crossorigin="'+n+'"]'),du.has(r)||(du.add(r),e={rel:e,crossOrigin:n,href:t},null===df.querySelector(r)&&(cm(t=df.createElement("link"),"link",e),tt(t),df.head.appendChild(t)))}}function dm(e,t,n,r){var a=(a=er.current)?dc(a):null;if(!a)throw Error(i(446));switch(e){case"meta":case"title":return null;case"style":return"string"==typeof n.precedence&&"string"==typeof n.href?(n=dg(n.href),(r=(t=te(a).hoistableStyles).get(n))||(r={type:"style",instance:null,count:0,state:null},t.set(n,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if("stylesheet"===n.rel&&"string"==typeof n.href&&"string"==typeof n.precedence){e=dg(n.href);var o=te(a).hoistableStyles,l=o.get(e);if(l||(a=a.ownerDocument||a,l={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,l),(o=a.querySelector(dh(e)))?o._p||(l.instance=o,l.state.loading=5):((o=ds.get(e))||(o={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},ds.set(e,o)),function(e,t,n,r){if(t=e.querySelector('link[rel="preload"][as="style"]['+t+"]")){if(!0!==t[e6]){r.loading=1;return}}else(t=e.createElement("link"))[e6]=!0,t.onload=t.onerror=tn.bind(null,t),cm(t,"link",n),tt(t),e.head.appendChild(t);r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2})}(a,e,o,l.state))),t&&null===r)throw Error(i(528,""));return l}if(t&&null!==r)throw Error(i(529,""));return null;case"script":return t=n.async,"string"==typeof(n=n.src)&&t&&"function"!=typeof t&&"symbol"!=typeof t?(n=dy(n),(r=(t=te(a).hoistableScripts).get(n))||(r={type:"script",instance:null,count:0,state:null},t.set(n,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,e))}}function dg(e){return'href="'+tw(e)+'"'}function dh(e){return'link[rel="stylesheet"]['+e+"]"}function db(e){return E({},e,{"data-precedence":e.precedence,precedence:null})}function dy(e){return'[src="'+tw(e)+'"]'}function dv(e){return"script[async]"+e}function dw(e,t,n){if(t.count++,null===t.instance)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+tw(n.href)+'"]');if(r)return t.instance=r,tt(r),r;var a=E({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return tt(r=(e.ownerDocument||e).createElement("style")),cm(r,"style",a),dS(r,n.precedence,e),t.instance=r;case"stylesheet":a=dg(n.href);var o=e.querySelector(dh(a));if(o)return t.state.loading|=4,t.instance=o,tt(o),o;r=db(n),(a=ds.get(a))&&dk(r,a),tt(o=(e.ownerDocument||e).createElement("link"));var l=o;return l._p=new Promise(function(e,t){l.onload=e,l.onerror=t}),cm(o,"link",r),t.state.loading|=4,dS(o,n.precedence,e),t.instance=o;case"script":if(o=dy(n.src),a=e.querySelector(dv(o)))return t.instance=a,tt(a),a;return r=n,(a=ds.get(o))&&dx(r=E({},n),a),tt(a=(e=e.ownerDocument||e).createElement("script")),cm(a,"link",r),e.head.appendChild(a),t.instance=a;case"void":return null;default:throw Error(i(443,t.type))}return"stylesheet"===t.type&&0==(4&t.state.loading)&&(r=t.instance,t.state.loading|=4,dS(r,n.precedence,e)),t.instance}function dS(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=r.length?r[r.length-1]:null,o=a,l=0;l<r.length;l++){var i=r[l];if(i.dataset.precedence===t)o=i;else if(o!==a)break}o?o.parentNode.insertBefore(e,o.nextSibling):(t=9===n.nodeType?n.head:n).insertBefore(e,t.firstChild)}function dk(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.title&&(e.title=t.title)}function dx(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.integrity&&(e.integrity=t.integrity)}var dE=null;function d_(e,t,n){if(null===dE){var r=new Map,a=dE=new Map;a.set(n,r)}else(r=(a=dE).get(n))||(r=new Map,a.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),a=0;a<n.length;a++){var o=n[a];if(!(o[e3]||o[eQ]||"link"===e&&"stylesheet"===o.getAttribute("rel"))&&"http://www.w3.org/2000/svg"!==o.namespaceURI){var l=o.getAttribute(t)||"";l=e+l;var i=r.get(l);i?i.push(o):r.set(l,[o])}}return r}function dT(e,t,n){(e=e.ownerDocument||e).head.insertBefore(n,"title"===t?e.querySelector("head > title"):null)}function dA(e,t){return"img"===e&&null!=t.src&&""!==t.src&&null==t.onLoad&&"lazy"!==t.loading}function dC(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}function dP(e){return(e.width||100)*(e.height||100)*("number"==typeof devicePixelRatio?devicePixelRatio:1)*.25}function dN(e,t){"function"==typeof t.decode&&(e.imgCount++,t.complete||(e.imgBytes+=dP(t),e.suspenseyImages.push(t)),e=dR.bind(e),t.decode().then(e,e))}var dO=0;function dL(e){if(0===e.count&&(0===e.imgCount||!e.waitingForImages)){if(e.stylesheets)dD(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function dI(){this.count--,dL(this)}function dR(){this.imgCount--,dL(this)}var dj=null;function dD(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,dj=new Map,t.forEach(dF,e),dj=null,dI.call(e))}function dF(e,t){if(!(4&t.state.loading)){var n=dj.get(e);if(n)var r=n.get(null);else{n=new Map,dj.set(e,n);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o<a.length;o++){var l=a[o];("LINK"===l.nodeName||"not all"!==l.getAttribute("media"))&&(n.set(l.dataset.precedence,l),r=l)}r&&n.set(null,r)}l=(a=t.instance).getAttribute("data-precedence"),(o=n.get(l)||r)===r&&n.set(null,a),n.set(l,a),this.count++,r=dI.bind(this),a.addEventListener("load",r),a.addEventListener("error",r),o?o.parentNode.insertBefore(a,o.nextSibling):(e=9===e.nodeType?e.head:e).insertBefore(a,e.firstChild),t.state.loading|=4}}var dM={$$typeof:L,Provider:null,Consumer:null,_currentValue:Y,_currentValue2:Y,_threadCount:0};function dz(e,t,n,r,a,o,l,i,s){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=eU(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=eU(0),this.hiddenUpdates=eU(null),this.identifierPrefix=r,this.onUncaughtError=a,this.onCaughtError=o,this.onRecoverableError=l,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.transitionTypes=null,this.incompleteTransitions=new Map}function dB(e,t,n,r,a,o,l,i,s,u,c,d){return e=new dz(e,t,n,l,s,u,c,d,i),t=1,!0===o&&(t|=24),o=r_(3,null,null,t),e.current=o,o.stateNode=e,t=ah(),t.refCount++,e.pooledCache=t,t.refCount++,o.memoizedState={element:r,isDehydrated:n,cache:t},aY(o),e}function dU(e,t,n,r,a,o){a=a?rx:rx,null===r.context?r.context=a:r.pendingContext=a,(r=aQ(t)).payload={element:n},null!==(o=void 0===o?null:o)&&(r.callback=o),null!==(n=aZ(e,r,t))&&(us(n,e,t),aJ(n,e,t))}function d$(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function dq(e,t){d$(e,t),(e=e.alternate)&&d$(e,t)}function dH(e){if(13===e.tag||31===e.tag){var t=rw(e,0x4000000);null!==t&&us(t,e,0x4000000),dq(e,0x4000000)}}function dX(e){if(13===e.tag||31===e.tag){var t=uo(),n=rw(e,t=eV(t));null!==n&&us(n,e,t),dq(e,t)}}var dV=!0;function dG(e,t,n,r){var a=G.T;G.T=null;var o=W.p;try{W.p=2,dY(e,t,n,r)}finally{W.p=o,G.T=a}}function dW(e,t,n,r){var a=G.T;G.T=null;var o=W.p;try{W.p=8,dY(e,t,n,r)}finally{W.p=o,G.T=a}}function dY(e,t,n,r){if(dV){var a=dK(r);if(null===a)cr(e,t,r,dQ,n),d9(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return d1=d7(d1,e,t,n,r,a),!0;case"dragenter":return d2=d7(d2,e,t,n,r,a),!0;case"mouseover":return d4=d7(d4,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return d3.set(o,d7(d3.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,d6.set(o,d7(d6.get(o)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(d9(e,r),4&t&&-1<d8.indexOf(e)){for(;null!==a;){var o=e9(a);if(null!==o)switch(o.tag){case 3:if((o=o.stateNode).current.memoizedState.isDehydrated){var l=eD(o.pendingLanes);if(0!==l){var i=o;for(i.pendingLanes|=2,i.entangledLanes|=2;l;){var s=1<<31-eN(l);i.entanglements[1]|=s,l&=~s}uW(o),0==(6&sI)&&(s0=ey()+500,uY(0,!1))}}break;case 31:case 13:null!==(i=rw(o,2))&&us(i,o,2),uf(),dq(o,2)}if(null===(o=dK(r))&&cr(e,t,r,dQ,n),o===a)break;a=o}null!==a&&r.stopPropagation()}else cr(e,t,r,null,n)}}function dK(e){return dZ(e=tF(e))}var dQ=null;function dZ(e){if(dQ=null,null!==(e=e8(e))){var t=u(e);if(null===t)e=null;else{var n=t.tag;if(13===n){if(null!==(e=c(t)))return e;e=null}else if(31===n){if(null!==(e=d(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return dQ=e,null}function dJ(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"fullscreenerror":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"resize":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ev()){case ew:return 2;case eS:return 8;case ek:case ex:return 32;case eE:return 0x10000000;default:return 32}default:return 32}}var d0=!1,d1=null,d2=null,d4=null,d3=new Map,d6=new Map,d5=[],d8="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function d9(e,t){switch(e){case"focusin":case"focusout":d1=null;break;case"dragenter":case"dragleave":d2=null;break;case"mouseover":case"mouseout":d4=null;break;case"pointerover":case"pointerout":d3.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":d6.delete(t.pointerId)}}function d7(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[a]},null!==t&&null!==(t=e9(t))&&dH(t)):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a)),e}function fe(e){var t=e8(e.target);if(null!==t){var n=u(t);if(null!==n){if(13===(t=n.tag)){if(null!==(t=c(n))){e.blockedOn=t,eY(e.priority,function(){dX(n)});return}}else if(31===t){if(null!==(t=d(n))){e.blockedOn=t,eY(e.priority,function(){dX(n)});return}}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=3===n.tag?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ft(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=dK(e.nativeEvent);if(null!==n)return null!==(t=e9(n))&&dH(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);tD=r,n.target.dispatchEvent(r),tD=null,t.shift()}return!0}function fn(e,t,n){ft(e)&&n.delete(t)}function fr(){d0=!1,null!==d1&&ft(d1)&&(d1=null),null!==d2&&ft(d2)&&(d2=null),null!==d4&&ft(d4)&&(d4=null),d3.forEach(fn),d6.forEach(fn)}function fa(e,t){e.blockedOn===t&&(e.blockedOn=null,d0||(d0=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,fr)))}var fo=null;function fl(e){fo!==e&&(fo=e,a.unstable_scheduleCallback(a.unstable_NormalPriority,function(){fo===e&&(fo=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],a=e[t+2];if("function"!=typeof r)if(null===dZ(r||n))continue;else break;var o=e9(n);null!==o&&(e.splice(t,3),t-=3,lh(o,{pending:!0,data:a,method:n.method,action:r},r,a))}}))}function fi(e){function t(t){return fa(t,e)}null!==d1&&fa(d1,e),null!==d2&&fa(d2,e),null!==d4&&fa(d4,e),d3.forEach(t),d6.forEach(t);for(var n=0;n<d5.length;n++){var r=d5[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<d5.length&&null===(n=d5[0]).blockedOn;)fe(n),null===n.blockedOn&&d5.shift();if(null!=(n=(e.ownerDocument||e).$$reactFormReplay))for(r=0;r<n.length;r+=3){var a=n[r],o=n[r+1],l=a[eZ]||null;if("function"==typeof o)l||fl(n);else if(l){var i=null;if(o&&o.hasAttribute("formAction")){if(a=o,l=o[eZ]||null)i=l.formAction;else if(null!==dZ(a))continue}else i=l.action;"function"==typeof i?n[r+1]=i:(n.splice(r,3),r-=3),fl(n)}}}function fs(){function e(e){e.canIntercept&&"react-transition"===e.info&&e.intercept({handler:function(){return new Promise(function(e){return a=e})},focusReset:"manual",scroll:"manual"})}function t(){null!==a&&(a(),a=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&null!=e.url&&navigation.navigate(e.url,{state:e.getState(),info:"react-transition",history:"replace"})}}if("object"==typeof navigation){var r=!1,a=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),null!==a&&(a(),a=null)}}}function fu(e){this._internalRoot=e}function fc(e){this._internalRoot=e}fc.prototype.render=fu.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(i(409));dU(t.current,uo(),e,t,null,null)},fc.prototype.unmount=fu.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;dU(e.current,2,null,e,null,null),uf(),t[eJ]=null}},fc.prototype.unstable_scheduleHydration=function(e){if(e){var t=eW();e={blockedOn:null,target:e,priority:t};for(var n=0;n<d5.length&&0!==t&&t<d5[n].priority;n++);d5.splice(n,0,e),0===n&&fe(e)}};var fd=o.version;if("19.3.0"!==fd)throw Error(i(527,fd,"19.3.0"));if(W.findDOMNode=function(e){var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(i(188));throw Error(i(268,e=Object.keys(e).join(",")))}return null===(e=null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=u(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return f(a),e;if(o===r)return f(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var l=!1,s=a.child;s;){if(s===n){l=!0,n=a,r=o;break}if(s===r){l=!0,r=a,n=o;break}s=s.sibling}if(!l){for(s=o.child;s;){if(s===n){l=!0,n=o,r=a;break}if(s===r){l=!0,r=o,n=a;break}s=s.sibling}if(!l)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(t))?function e(t){var n=t.tag;if(5===n||26===n||27===n||6===n)return t;for(t=t.child;null!==t;){if(null!==(n=e(t)))return n;t=t.sibling}return null}(e):null)?null:e.stateNode},"u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ff=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ff.isDisabled&&ff.supportsFiber)try{eA=ff.inject({bundleType:0,version:"19.3.0",rendererPackageName:"react-dom",currentDispatcherRef:G,reconcilerVersion:"19.3.0"}),eC=ff}catch(e){}}t.createRoot=function(e,t){if(!s(e))throw Error(i(299));var n=!1,r="",a=lz,o=lB,l=lU;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onUncaughtError&&(a=t.onUncaughtError),void 0!==t.onCaughtError&&(o=t.onCaughtError),void 0!==t.onRecoverableError&&(l=t.onRecoverableError)),t=dB(e,1,!1,null,null,n,r,null,a,o,l,fs),e[eJ]=t.current,ct(e),new fu(t)},t.hydrateRoot=function(e,t,n){if(!s(e))throw Error(i(299));var r=!1,a="",o=lz,l=lB,u=lU,c=null;return null!=n&&(!0===n.unstable_strictMode&&(r=!0),void 0!==n.identifierPrefix&&(a=n.identifierPrefix),void 0!==n.onUncaughtError&&(o=n.onUncaughtError),void 0!==n.onCaughtError&&(l=n.onCaughtError),void 0!==n.onRecoverableError&&(u=n.onRecoverableError),void 0!==n.formState&&(c=n.formState)),(t=dB(e,1,!0,t,null!=n?n:null,r,a,c,o,l,u,fs)).context=rx,n=t.current,(a=aQ(r=eV(r=uo()))).callback=null,aZ(n,a,r),n=r,t.current.lanes=n,e$(t,n),uW(t),e[eJ]=t.current,ct(e),new fc(t)},t.version="19.3.0"},6221(e,t,n){"use strict";var r=n(6540);function a(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(){}var l={d:{f:o,r:function(){throw Error(a(522))},D:o,C:o,L:o,m:o,X:o,S:o,M:o},p:0,findDOMNode:null},i=Symbol.for("react.portal"),s=Symbol.for("react.recoverable"),u=Symbol.for("react.optimistic_key"),c=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function d(e,t){return"font"===e?"":"string"==typeof t?"use-credentials"===t?t:"":void 0}t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,t.browser=function(e){return{$$typeof:s,_reason:e}},t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!t||1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType)throw Error(a(299));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:i,key:null==r?null:r===u?u:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.flushSync=function(e){var t=c.T,n=l.p;try{if(c.T=null,l.p=2,e)return e()}finally{c.T=t,l.p=n,l.d.f()}},t.preconnect=function(e,t){"string"==typeof e&&(t=t?"string"==typeof(t=t.crossOrigin)?"use-credentials"===t?t:"":void 0:null,l.d.C(e,t))},t.prefetchDNS=function(e){"string"==typeof e&&l.d.D(e)},t.preinit=function(e,t){if("string"==typeof e&&t&&"string"==typeof t.as){var n=t.as,r=d(n,t.crossOrigin),a="string"==typeof t.integrity?t.integrity:void 0,o="string"==typeof t.fetchPriority?t.fetchPriority:void 0;"style"===n?l.d.S(e,"string"==typeof t.precedence?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):"script"===n&&l.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:"string"==typeof t.nonce?t.nonce:void 0})}},t.preinitModule=function(e,t){if("string"==typeof e)if("object"==typeof t&&null!==t){if(null==t.as||"script"===t.as){var n=d(t.as,t.crossOrigin);l.d.M(e,{crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0})}}else null==t&&l.d.M(e)},t.preload=function(e,t){if("string"==typeof e&&"object"==typeof t&&null!==t&&"string"==typeof t.as){var n=t.as,r=d(n,t.crossOrigin);l.d.L(e,n,{crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,type:"string"==typeof t.type?t.type:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:"string"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:"string"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:"string"==typeof t.imageSizes?t.imageSizes:void 0,media:"string"==typeof t.media?t.media:void 0})}},t.preloadModule=function(e,t){if("string"==typeof e)if(t){var n=d(t.as,t.crossOrigin);l.d.m(e,{as:"string"==typeof t.as&&"script"!==t.as?t.as:void 0,crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0})}else l.d.m(e)},t.requestFormReset=function(e){l.d.r(e)},t.unstable_batchedUpdates=function(e,t){return e(t)},t.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},t.useFormStatus=function(){return c.H.useHostTransitionStatus()},t.version="19.3.0"},5338(e,t,n){"use strict";!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(1247)},961(e,t,n){"use strict";!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(6221)},115(e){var t="u">typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;e.exports=function(e,o){try{return function e(o,l){if(o===l)return!0;if(o&&l&&"object"==typeof o&&"object"==typeof l){var i,s,u,c;if(o.constructor!==l.constructor)return!1;if(Array.isArray(o)){if((i=o.length)!=l.length)return!1;for(s=i;0!=s--;)if(!e(o[s],l[s]))return!1;return!0}if(n&&o instanceof Map&&l instanceof Map){if(o.size!==l.size)return!1;for(c=o.entries();!(s=c.next()).done;)if(!l.has(s.value[0]))return!1;for(c=o.entries();!(s=c.next()).done;)if(!e(s.value[1],l.get(s.value[0])))return!1;return!0}if(r&&o instanceof Set&&l instanceof Set){if(o.size!==l.size)return!1;for(c=o.entries();!(s=c.next()).done;)if(!l.has(s.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(o)&&ArrayBuffer.isView(l)){if((i=o.length)!=l.length)return!1;for(s=i;0!=s--;)if(o[s]!==l[s])return!1;return!0}if(o.constructor===RegExp)return o.source===l.source&&o.flags===l.flags;if(o.valueOf!==Object.prototype.valueOf&&"function"==typeof o.valueOf&&"function"==typeof l.valueOf)return o.valueOf()===l.valueOf();if(o.toString!==Object.prototype.toString&&"function"==typeof o.toString&&"function"==typeof l.toString)return o.toString()===l.toString();if((i=(u=Object.keys(o)).length)!==Object.keys(l).length)return!1;for(s=i;0!=s--;)if(!Object.prototype.hasOwnProperty.call(l,u[s]))return!1;if(t&&o instanceof Element)return!1;for(s=i;0!=s--;)if(("_owner"!==u[s]&&"__v"!==u[s]&&"__o"!==u[s]||!o.$$typeof)&&!e(o[u[s]],l[u[s]]))return!1;return!0}return o!=o&&l!=l}(e,o)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}}},545(e,t,n){"use strict";n.d(t,{mg:()=>Q,vd:()=>q});var r=n(6540),a=n(5556),o=n.n(a),l=n(115),i=n.n(l),s=n(311),u=n.n(s),c=n(2833),d=n.n(c);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function g(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map(function(e){return h[e]}),S={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},k=Object.keys(S).reduce(function(e,t){return e[S[t]]=t,e},{}),x=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=x(e,h.TITLE),n=x(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,function(){return t});var r=x(e,"defaultTitle");return t||r||void 0},_=function(e,t){return t.filter(function(t){return void 0!==t[e]}).map(function(t){return t[e]}).reduce(function(e,t){return f({},e,t)},{})},T=function(e,t,n){var r={};return n.filter(function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)}).map(function(t){return t[e]}).reverse().reduce(function(e,n){var a={};n.filter(function(e){for(var n,o=Object.keys(e),l=0;l<o.length;l+=1){var i=o[l],s=i.toLowerCase();-1===t.indexOf(s)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===s&&"stylesheet"===e[s].toLowerCase()||(n=s),-1===t.indexOf(i)||"innerHTML"!==i&&"cssText"!==i&&"itemprop"!==i||(n=i)}if(!n||!e[n])return!1;var u=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][u]&&(a[n][u]=!0,!0)}).reverse().forEach(function(t){return e.push(t)});for(var o=Object.keys(a),l=0;l<o.length;l+=1){var i=o[l],s=f({},r[i],a[i]);r[i]=s}return e},[]).reverse()},A=function(e,t){if(Array.isArray(e)&&e.length){for(var n=0;n<e.length;n+=1)if(e[n][t])return!0}return!1},C=function(e){return Array.isArray(e)?e.join(""):e},P=function(e,t){return Array.isArray(e)?e.reduce(function(e,n){return!function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.default.push(n):e.priority.push(n),e},{priority:[],default:[]}):{default:e}},N=function(e,t){var n;return f({},e,((n={})[t]=void 0,n))},O=[h.NOSCRIPT,h.SCRIPT,h.STYLE],L=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},I=function(e){return Object.keys(e).reduce(function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r},"")},R=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce(function(t,n){return t[S[n]||n]=e[n],t},t)},j=function(e,t){return t.map(function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach(function(e){var n=S[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]}),r.createElement(e,o)})},D=function(e,t,n){switch(e){case h.TITLE:return{toComponent:function(){var e,n,a,o;return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=R(n,a),[r.createElement(h.TITLE,o,e)]},toString:function(){var r,a,o,l;return r=t.title,a=t.titleAttributes,o=I(a),l=C(r),o?"<"+e+' data-rh="true" '+o+">"+L(l,n)+"</"+e+">":"<"+e+' data-rh="true">'+L(l,n)+"</"+e+">"}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return R(t)},toString:function(){return I(t)}};default:return{toComponent:function(){return j(e,t)},toString:function(){return t.reduce(function(t,r){var a=Object.keys(r).filter(function(e){return"innerHTML"!==e&&"cssText"!==e}).reduce(function(e,t){var a=void 0===r[t]?t:t+'="'+L(r[t],n)+'"';return e?e+" "+a:a},""),o=r.innerHTML||r.cssText||"",l=-1===O.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(l?"/>":">"+o+"</"+e+">")},"")}}}},F=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,l=e.styleTags,i=e.title,s=e.titleAttributes,u=e.linkTags,c=e.metaTags,d=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var p,m,g,w,S,k,x=(p=e.linkTags,m=e.scriptTags,g=e.encode,w=P(e.metaTags,v),S=P(p,b),k=P(m,y),{priorityMethods:{toComponent:function(){return[].concat(j(h.META,w.priority),j(h.LINK,S.priority),j(h.SCRIPT,k.priority))},toString:function(){return D(h.META,w.priority,g)+" "+D(h.LINK,S.priority,g)+" "+D(h.SCRIPT,k.priority,g)}},metaTags:w.default,linkTags:S.default,scriptTags:k.default});f=x.priorityMethods,u=x.linkTags,c=x.metaTags,d=x.scriptTags}return{priority:f,base:D(h.BASE,t,r),bodyAttributes:D("bodyAttributes",n,r),htmlAttributes:D("htmlAttributes",a,r),link:D(h.LINK,u,r),meta:D(h.META,c,r),noscript:D(h.NOSCRIPT,o,r),script:D(h.SCRIPT,d,r),style:D(h.STYLE,l,r),title:D(h.TITLE,{title:void 0===i?"":i,titleAttributes:s},r)}},M=[],z=function(e,t){var n=this;void 0===t&&(t="u">typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?M:n.instances},add:function(e){(n.canUseDOM?M:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?M:n.instances).indexOf(e);(n.canUseDOM?M:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=F({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},B=r.createContext({}),U=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),$="u">typeof document,q=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new z(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(B.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);q.canUseDOM=$,q.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},q.defaultProps={context:{}},q.displayName="HelmetProvider";var H=function(e,t){var n,r=document.head||document.querySelector(h.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),l=[];return t&&t.length&&t.forEach(function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some(function(e,t){return n=t,r.isEqualNode(e)})?o.splice(n,1):l.push(r)}),o.forEach(function(e){return e.parentNode.removeChild(e)}),l.forEach(function(e){return r.appendChild(e)}),{oldTags:o,newTags:l}},X=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),l=Object.keys(t),i=0;i<l.length;i+=1){var s=l[i],u=t[s]||"";n.getAttribute(s)!==u&&n.setAttribute(s,u),-1===a.indexOf(s)&&a.push(s);var c=o.indexOf(s);-1!==c&&o.splice(c,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==l.join(",")&&n.setAttribute("data-rh",l.join(","))}},V=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,l=e.noscriptTags,i=e.onChangeClientState,s=e.scriptTags,u=e.styleTags,c=e.title,d=e.titleAttributes;X(h.BODY,e.bodyAttributes),X(h.HTML,r),void 0!==c&&document.title!==c&&(document.title=C(c)),X(h.TITLE,d);var f={baseTag:H(h.BASE,n),linkTags:H(h.LINK,a),metaTags:H(h.META,o),noscriptTags:H(h.NOSCRIPT,l),scriptTags:H(h.SCRIPT,s),styleTags:H(h.STYLE,u)},p={},m={};Object.keys(f).forEach(function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(m[e]=f[e].oldTags)}),t&&t(),i(e,p,m)},G=null,W=function(e){function t(){for(var t,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o={baseTag:(e=["href"],(t=n.helmetInstances.get().map(function(e){var t=f({},e.props);return delete t.context,t})).filter(function(e){return void 0!==e[h.BASE]}).map(function(e){return e[h.BASE]}).reverse().reduce(function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t},[])),bodyAttributes:_("bodyAttributes",t),defer:x(t,"defer"),encode:x(t,"encodeSpecialCharacters"),htmlAttributes:_("htmlAttributes",t),linkTags:T(h.LINK,["rel","href"],t),metaTags:T(h.META,["name","charset","http-equiv","property","itemprop"],t),noscriptTags:T(h.NOSCRIPT,["innerHTML"],t),onChangeClientState:x(t,"onChangeClientState")||function(){},scriptTags:T(h.SCRIPT,["src","innerHTML"],t),styleTags:T(h.STYLE,["cssText"],t),title:E(t),titleAttributes:_("titleAttributes",t),prioritizeSeoTags:A(t,"prioritizeSeoTags")};q.canUseDOM?(G&&cancelAnimationFrame(G),o.defer?G=requestAnimationFrame(function(){V(o,function(){G=null})}):(V(o),G=null)):F&&(a=F(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);W.propTypes={context:U.isRequired},W.displayName="HelmetDispatcher";var Y=["children"],K=["children"],Q=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!i()(N(this.props,"helmetData"),N(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,l=e.nestedChildren;switch(r.type){case h.TITLE:return f({},a,((t={})[r.type]=l,t.titleAttributes=f({},o),t));case h.BODY:return f({},a,{bodyAttributes:f({},o)});case h.HTML:return f({},a,{htmlAttributes:f({},o)});default:return f({},a,((n={})[r.type]=f({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach(function(t){var r;n=f({},n,((r={})[t]=e[t],r))}),n},n.warnOnInvalidChildren=function(e,t){return u()(w.some(function(t){return e.type===t}),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some(function(e){return"string"!=typeof e}),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,function(e){if(e&&e.props){var r=e.props,o=r.children,l=g(r,Y),i=Object.keys(l).reduce(function(e,t){return e[k[t]||t]=l[t],e},{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,o),s){case h.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:i,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:i,nestedChildren:o})}}}),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=g(e,K),a=f({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof z||(o=new z(o.context,o.instances)),o?r.createElement(W,f({},a,{context:o.value,helmetData:void 0})):r.createElement(B.Consumer,null,function(e){return r.createElement(W,f({},a,{context:e}))})},t}(r.Component);Q.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},Q.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},Q.displayName="Helmet"},2799(e,t){"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,l=n?Symbol.for("react.strict_mode"):60108,i=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,g=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function S(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case o:case i:case l:case p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case h:case g:case s:return e;default:return t}}case a:return t}}}function k(e){return S(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=s,t.Element=r,t.ForwardRef=f,t.Fragment=o,t.Lazy=h,t.Memo=g,t.Portal=a,t.Profiler=i,t.StrictMode=l,t.Suspense=p,t.isAsyncMode=function(e){return k(e)||S(e)===c},t.isConcurrentMode=k,t.isContextConsumer=function(e){return S(e)===u},t.isContextProvider=function(e){return S(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return S(e)===f},t.isFragment=function(e){return S(e)===o},t.isLazy=function(e){return S(e)===h},t.isMemo=function(e){return S(e)===g},t.isPortal=function(e){return S(e)===a},t.isProfiler=function(e){return S(e)===i},t.isStrictMode=function(e){return S(e)===l},t.isSuspense=function(e){return S(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===i||e===l||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===g||e.$$typeof===s||e.$$typeof===u||e.$$typeof===f||e.$$typeof===y||e.$$typeof===v||e.$$typeof===w||e.$$typeof===b)},t.typeOf=S},4363(e,t,n){"use strict";e.exports=n(2799)},3259(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var i=n(6540),s=[],u=[],c=i.createContext(null);function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then(function(e){return n.loading=!1,n.loaded=e,e}).catch(function(e){throw n.loading=!1,n.error=e,e}),n}function f(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach(function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then(function(e){t.loaded[r]=e}).catch(function(e){t.error=e})})}catch(e){t.error=e}return t.promise=Promise.all(n).then(function(e){return t.loading=!1,e}).catch(function(e){throw t.loading=!1,e}),t}function p(e,t){return i.createElement(e&&e.__esModule?e.default:e,t)}function m(e,t){if(!t.loading)throw Error("react-loadable requires a `loading` component");var d,f,m=l({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),g=null;function h(){return g||(g=e(m.loader)),g.promise}return s.push(h),"function"==typeof m.webpack&&u.push(function(){if((0,m.webpack)().every(function(e){return void 0!==e&&void 0!==n.m[e]}))return h()}),f=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",function(){r.setState({error:null,loading:!0,timedOut:!1}),g=e(m.loader),r._loadModule()}),h(),r.state={error:g.error,pastDelay:!1,timedOut:!1,loading:g.loading,loaded:g.loaded},r}r(n,t),n.preload=function(){return h()};var l=n.prototype;return l.UNSAFE_componentWillMount=function(){this._loadModule()},l.componentDidMount=function(){this._mounted=!0},l._loadModule=function(){var e=this;if(this.context&&Array.isArray(m.modules)&&m.modules.forEach(function(t){e.context.report(t)}),g.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout(function(){t({pastDelay:!0})},m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout(function(){t({timedOut:!0})},m.timeout));var n=function(){t({error:g.error,loaded:g.loaded,loading:g.loading}),e._clearTimeouts()};g.promise.then(function(){return n(),null}).catch(function(e){return n(),null})}},l.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},l._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},l.render=function(){return this.state.loading||this.state.error?i.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(i.Component),o(d,"contextType",c),f}function g(e){return m(d,e)}function h(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then(function(){if(e.length)return h(e)})}g.Map=function(e){if("function"!=typeof e.render)throw Error("LoadableMap requires a `render(loaded, props)` function");return m(f,e)},g.Capture=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){return i.createElement(c.Provider,{value:{report:this.props.report}},i.Children.only(this.props.children))},t}(i.Component),g.preloadAll=function(){return new Promise(function(e,t){h(s).then(e,t)})},g.preloadReady=function(){return new Promise(function(e,t){h(u).then(e,e)})},e.exports=g},2831(e,t,n){"use strict";n.d(t,{u:()=>function e(t,n,a){return void 0===a&&(a=[]),t.some(function(t){var o=t.path?(0,r.B6)(n,t):a.length?a[a.length-1].match:r.Ix.computeRootMatch(n);return o&&(a.push({route:t,match:o}),t.routes&&e(t.routes,n,a)),o}),a},v:()=>l});var r=n(6347),a=n(8168),o=n(6540);function l(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.dO,n,e.map(function(e,n){return o.createElement(r.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.A)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.A)({},n,t,{route:e}))}})})):null}},4625(e,t,n){"use strict";n.d(t,{I9:()=>d,Kd:()=>c,N_:()=>b,k2:()=>w});var r=n(6347),a=n(594),o=n(6540),l=n(3328),i=n(8168),s=n(8587),u=n(1561),c=function(e){function t(){for(var t,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,l.zR)(t.props),t}return(0,a.A)(t,e),t.prototype.render=function(){return o.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(o.Component),d=function(e){function t(){for(var t,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,l.TM)(t.props),t}return(0,a.A)(t,e),t.prototype.render=function(){return o.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(o.Component),f=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,l.yJ)(e,null,null,t):e},m=function(e){return e},g=o.forwardRef;void 0===g&&(g=m);var h=g(function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,l=(0,s.A)(e,["innerRef","navigate","onClick"]),u=l.target,c=(0,i.A)({},l,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||u&&"_self"!==u||e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),r())}});return m!==g?c.ref=t||n:c.ref=n,o.createElement("a",c)}),b=g(function(e,t){var n=e.component,a=void 0===n?h:n,c=e.replace,d=e.to,b=e.innerRef,y=(0,s.A)(e,["component","replace","to","innerRef"]);return o.createElement(r.XZ.Consumer,null,function(e){e||(0,u.A)(!1);var n=e.history,r=p(f(d,e.location),e.location),s=r?n.createHref(r):"",h=(0,i.A)({},y,{href:s,navigate:function(){var t=f(d,e.location),r=(0,l.AO)(e.location)===(0,l.AO)(p(t));(c||r?n.replace:n.push)(t)}});return m!==g?h.ref=t||b:h.innerRef=b,o.createElement(a,h)})}),y=function(e){return e},v=o.forwardRef;void 0===v&&(v=y);var w=v(function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,l=e.activeClassName,c=void 0===l?"active":l,d=e.activeStyle,m=e.className,g=e.exact,h=e.isActive,w=e.location,S=e.sensitive,k=e.strict,x=e.style,E=e.to,_=e.innerRef,T=(0,s.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.XZ.Consumer,null,function(e){e||(0,u.A)(!1);var n=w||e.location,l=p(f(E,n),n),s=l.pathname,A=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),C=A?(0,r.B6)(n.pathname,{path:A,exact:g,sensitive:S,strict:k}):null,P=!!(h?h(C,n):C),N="function"==typeof m?m(P):m,O="function"==typeof x?x(P):x;P&&(N=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(function(e){return e}).join(" ")}(N,c),O=(0,i.A)({},O,d));var L=(0,i.A)({"aria-current":P&&a||null,className:N,style:O,to:l},T);return y!==v?L.ref=t||_:L.innerRef=_,o.createElement(b,L)})})},6347(e,t,n){"use strict";n.d(t,{B6:()=>v,Ix:()=>h,W6:()=>x,XZ:()=>g,dO:()=>S,qh:()=>w,zy:()=>E});var r=n(594),a=n(6540),o=n(5556),l=n.n(o),i=(n(3328),n(1561)),s=n(8168),u=n(5302),c=n.n(u);n(4363),n(8587),n(4146);var d="u">typeof globalThis?globalThis:"u">typeof window?window:void 0!==n.g?n.g:{},f=a.createContext||function(e,t){var n,o,i="__create-react-context-"+(d.__global_unique_id__=(d.__global_unique_id__||0)+1)+"__",s=function(e){function n(){for(var t,n,r,a=arguments.length,o=Array(a),l=0;l<a;l++)o[l]=arguments[l];return n=(t=e.call.apply(e,[this].concat(o))||this).props.value,r=[],t.emitter={on:function(e){r.push(e)},off:function(e){r=r.filter(function(t){return t!==e})},get:function(){return n},set:function(e,t){n=e,r.forEach(function(e){return e(n,t)})}},t}(0,r.A)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[i]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;(r===a?0!==r||1/r==1/a:r!=r&&a!=a)?n=0:0!=(n=("function"==typeof t?t(r,a):0x3fffffff)|0)&&this.emitter.set(e.value,n)}},a.render=function(){return this.props.children},n}(a.Component);(n={})[i]=l().object.isRequired,s.childContextTypes=n;var u=function(t){function n(){for(var e,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){(e.observedBits&n)!=0&&e.setState({value:e.getValue()})},e}(0,r.A)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?0x3fffffff:t},a.componentDidMount=function(){this.context[i]&&this.context[i].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?0x3fffffff:e},a.componentWillUnmount=function(){this.context[i]&&this.context[i].off(this.onUpdate)},a.getValue=function(){return this.context[i]?this.context[i].get():e},a.render=function(){var e;return(Array.isArray(e=this.props.children)?e[0]:e)(this.state.value)},n}(a.Component);return(o={})[i]=l().object,u.contextTypes=o,{Provider:s,Consumer:u}},p=function(e){var t=f();return t.displayName=e,t},m=p("Router-History"),g=p("Router"),h=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen(function(e){n._pendingLocation=e})),n}(0,r.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen(function(t){e._isMounted&&e.setState({location:t})})),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(g.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(m.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component,a.Component;var b={},y=0;function v(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,l=n.strict,i=void 0!==l&&l,s=n.sensitive,u=void 0!==s&&s;return[].concat(r).reduce(function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=b[n]||(b[n]={});if(r[e])return r[e];var a=[],o={regexp:c()(e,a,t),keys:a};return y<1e4&&(r[e]=o,y++),o}(n,{end:o,strict:i,sensitive:u}),a=r.regexp,l=r.keys,s=a.exec(e);if(!s)return null;var d=s[0],f=s.slice(1),p=e===d;return o&&!p?null:{path:n,url:"/"===n&&""===d?"/":d,isExact:p,params:l.reduce(function(e,t,n){return e[t.name]=f[n],e},{})}},null)}var w=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return a.createElement(g.Consumer,null,function(t){t||(0,i.A)(!1);var n,r=e.props.location||t.location,o=e.props.computedMatch?e.props.computedMatch:e.props.path?v(r.pathname,e.props):t.match,l=(0,s.A)({},t,{location:r,match:o}),u=e.props,c=u.children,d=u.component,f=u.render;return Array.isArray(c)&&(n=c,0===a.Children.count(n))&&(c=null),a.createElement(g.Provider,{value:l},l.match?c?"function"==typeof c?c(l):c:d?a.createElement(d,l):f?f(l):null:"function"==typeof c?c(l):null)})},t}(a.Component);a.Component;var S=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return a.createElement(g.Consumer,null,function(t){t||(0,i.A)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,function(e){if(null==r&&a.isValidElement(e)){n=e;var l=e.props.path||e.props.from;r=l?v(o.pathname,(0,s.A)({},e.props,{path:l})):t.match}}),r?a.cloneElement(n,{location:o,computedMatch:r}):null})},t}(a.Component),k=a.useContext;function x(){return k(m)}function E(){return k(g).location}},9698(e,t){"use strict";var n=Symbol.for("react.transitional.element");function r(e,t,r){var a=null;if(void 0!==r&&(a=""+r),void 0!==t.key&&(a=""+t.key),"key"in t)for(var o in r={},t)"key"!==o&&(r[o]=t[o]);else r=t;return{$$typeof:n,type:e,key:a,ref:void 0!==(t=r.ref)?t:null,props:r}}t.Fragment=Symbol.for("react.fragment"),t.jsx=r,t.jsxs=r},9869(e,t){"use strict";var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),s=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),m=Symbol.for("react.view_transition"),g=Symbol.iterator,h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,y={};function v(e,t,n){this.props=e,this.context=t,this.refs=y,this.updater=n||h}function w(){}function S(e,t,n){this.props=e,this.context=t,this.refs=y,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=v.prototype;var k=S.prototype=new w;k.constructor=S,b(k,v.prototype),k.isPureReactComponent=!0;var x=Array.isArray;function E(){}var _={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function A(e,t,r){var a=r.ref;return{$$typeof:n,type:e,key:t,ref:void 0!==a?a:null,props:r}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var P=/\/+/g;function N(e,t){var n,r;return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36)}function O(e,t,a){if(null==e)return e;var o=[],l=0;return!function e(t,a,o,l,i){var s,u,c,d=typeof t;("undefined"===d||"boolean"===d)&&(t=null);var p=!1;if(null===t)p=!0;else switch(d){case"bigint":case"string":case"number":p=!0;break;case"object":switch(t.$$typeof){case n:case r:p=!0;break;case f:return e((p=t._init)(t._payload),a,o,l,i)}}if(p)return i=i(t),p=""===l?"."+N(t,0):l,x(i)?(o="",null!=p&&(o=p.replace(P,"$&/")+"/"),e(i,a,o,"",function(e){return e})):null!=i&&(C(i)&&(s=i,u=o+(null==i.key||t&&t.key===i.key?"":(""+i.key).replace(P,"$&/")+"/")+p,i=A(s.type,u,s.props)),a.push(i)),1;p=0;var m=""===l?".":l+":";if(x(t))for(var h=0;h<t.length;h++)d=m+N(l=t[h],h),p+=e(l,a,o,d,i);else if("function"==typeof(h=null===(c=t)||"object"!=typeof c?null:"function"==typeof(c=g&&c[g]||c["@@iterator"])?c:null))for(t=h.call(t),h=0;!(l=t.next()).done;)d=m+N(l=l.value,h++),p+=e(l,a,o,d,i);else if("object"===d){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(E,E):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),a,o,l,i);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(a=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":a)+"). If you meant to render a collection of children, use an array instead.")}return p}(e,o,"","",function(e){return t.call(a,e,l++)}),o}function L(e){if(-1===e._status){var t=(0,e._result)();t.then(function(n){(0===e._status||-1===e._status)&&(e._status=1,e._result=n,void 0===t.status&&(t.status="fulfilled",t.value=n))},function(n){(0===e._status||-1===e._status)&&(e._status=2,e._result=n,void 0===t.status&&(t.status="rejected",t.reason=n))}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)};function R(e){var t=_.T,n={};n.types=null!==t?t.types:null,_.T=n;try{var r=e(),a=_.S;null!==a&&a(n,r),"object"==typeof r&&null!==r&&"function"==typeof r.then&&r.then(E,I)}catch(e){I(e)}finally{null!==t&&null!==n.types&&(t.types=n.types),_.T=t}}function j(e){var t=_.T;if(null!==t){var n=t.types;null===n?t.types=[e]:-1===n.indexOf(e)&&n.push(e)}else R(j.bind(null,e))}t.Activity=p,t.Children={map:O,forEach:function(e,t,n){O(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return O(e,function(){t++}),t},toArray:function(e){return O(e,function(e){return e})||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=v,t.Fragment=a,t.Profiler=l,t.PureComponent=S,t.StrictMode=o,t.Suspense=c,t.ViewTransition=m,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=_,t.__COMPILER_RUNTIME={__proto__:null,c:function(e){return _.H.useMemoCache(e)}},t.addTransitionType=j,t.cache=function(e){return function(){return e.apply(null,arguments)}},t.cacheSignal=function(){return null},t.cloneElement=function(e,t,n){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var r=b({},e.props),a=e.key;if(null!=t)for(o in void 0!==t.key&&(a=""+t.key),t)T.call(t,o)&&"key"!==o&&"__self"!==o&&"__source"!==o&&("ref"!==o||void 0!==t.ref)&&(r[o]=t[o]);var o=arguments.length-2;if(1===o)r.children=n;else if(1<o){for(var l=Array(o),i=0;i<o;i++)l[i]=arguments[i+2];r.children=l}return A(e.type,a,r)},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:i,_context:e},e},t.createElement=function(e,t,n){var r,a={},o=null;if(null!=t)for(r in void 0!==t.key&&(o=""+t.key),t)T.call(t,r)&&"key"!==r&&"__self"!==r&&"__source"!==r&&(a[r]=t[r]);var l=arguments.length-2;if(1===l)a.children=n;else if(1<l){for(var i=Array(l),s=0;s<l;s++)i[s]=arguments[s+2];a.children=i}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===a[r]&&(a[r]=l[r]);return A(e,o,a)},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:f,_payload:{_status:-1,_result:e},_init:L}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=R,t.unstable_useCacheRefresh=function(){return _.H.useCacheRefresh()},t.use=function(e){return _.H.use(e)},t.useActionState=function(e,t,n){return _.H.useActionState(e,t,n)},t.useCallback=function(e,t){return _.H.useCallback(e,t)},t.useContext=function(e){return _.H.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e,t){return _.H.useDeferredValue(e,t)},t.useEffect=function(e,t){return _.H.useEffect(e,t)},t.useEffectEvent=function(e){return _.H.useEffectEvent(e)},t.useId=function(){return _.H.useId()},t.useImperativeHandle=function(e,t,n){return _.H.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return _.H.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return _.H.useLayoutEffect(e,t)},t.useMemo=function(e,t){return _.H.useMemo(e,t)},t.useOptimistic=function(e,t){return _.H.useOptimistic(e,t)},t.useReducer=function(e,t,n){return _.H.useReducer(e,t,n)},t.useRef=function(e){return _.H.useRef(e)},t.useState=function(e){return _.H.useState(e)},t.useSyncExternalStore=function(e,t,n){return _.H.useSyncExternalStore(e,t,n)},t.useTransition=function(){return _.H.useTransition()},t.version="19.3.0"},6540(e,t,n){"use strict";e.exports=n(9869)},4848(e,t,n){"use strict";e.exports=n(9698)},4477(e,t){"use strict";function n(e,t){var n=e.length;for(e.push(t);0<n;){var r=n-1>>>1,a=e[r];if(0<o(a,t))e[r]=t,e[n]=a,n=r;else break}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;for(var r=0,a=e.length,l=a>>>1;r<l;){var i=2*(r+1)-1,s=e[i],u=i+1,c=e[u];if(0>o(s,n))u<a&&0>o(c,s)?(e[r]=c,e[u]=n,r=u):(e[r]=s,e[i]=n,r=i);else if(u<a&&0>o(c,n))e[r]=c,e[u]=n,r=u;else break}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,u=s.now();t.unstable_now=function(){return s.now()-u}}var c=[],d=[],f=1,p=null,m=3,g=!1,h=!1,b=!1,y=!1,v="function"==typeof setTimeout?setTimeout:null,w="function"==typeof clearTimeout?clearTimeout:null,S="u">typeof setImmediate?setImmediate:null;function k(e){for(var t=r(d);null!==t;){if(null===t.callback)a(d);else if(t.startTime<=e)a(d),t.sortIndex=t.expirationTime,n(c,t);else break;t=r(d)}}function x(e){if(b=!1,k(e),!h)if(null!==r(c))h=!0,E||(E=!0,l());else{var t=r(d);null!==t&&L(x,t.startTime-e)}}var E=!1,_=-1,T=5,A=-1;function C(){return!!y||!(t.unstable_now()-A<T)}function P(){if(y=!1,E){var e=t.unstable_now();A=e;var n=!0;try{e:{h=!1,b&&(b=!1,w(_),_=-1),g=!0;var o=m;try{t:{for(k(e),p=r(c);null!==p&&!(p.expirationTime>e&&C());){var i=p.callback;if("function"==typeof i){p.callback=null,m=p.priorityLevel;var s=i(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof s){p.callback=s,k(e),n=!0;break t}p===r(c)&&a(c),k(e)}else a(c);p=r(c)}if(null!==p)n=!0;else{var u=r(d);null!==u&&L(x,u.startTime-e),n=!1}}break e}finally{p=null,m=o,g=!1}}}finally{n?l():E=!1}}}if("function"==typeof S)l=function(){S(P)};else if("u">typeof MessageChannel){var N=new MessageChannel,O=N.port2;N.port1.onmessage=P,l=function(){O.postMessage(null)}}else l=function(){v(P,0)};function L(e,n){_=v(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_next=function(e){switch(m){case 1:case 2:case 3:var t=3;break;default:t=m}var n=m;m=t;try{return e()}finally{m=n}},t.unstable_requestPaint=function(){y=!0},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=m;m=e;try{return t()}finally{m=n}},t.unstable_scheduleCallback=function(e,a,o){var i=t.unstable_now();switch(o="object"==typeof o&&null!==o&&"number"==typeof(o=o.delay)&&0<o?i+o:i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=0x3fffffff;break;case 4:s=1e4;break;default:s=5e3}return s=o+s,e={id:f++,callback:a,priorityLevel:e,startTime:o,expirationTime:s,sortIndex:-1},o>i?(e.sortIndex=o,n(d,e),null===r(c)&&e===r(d)&&(b?(w(_),_=-1):b=!0,L(x,o-i))):(e.sortIndex=s,n(c,e),h||g||(h=!0,E||(E=!0,l()))),e},t.unstable_shouldYield=C,t.unstable_wrapCallback=function(e){var t=m;return function(){var n=m;m=t;try{return e.apply(this,arguments)}finally{m=n}}}},9982(e,t,n){"use strict";e.exports=n(4477)},2833(e){e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),l=Object.keys(t);if(o.length!==l.length)return!1;for(var i=Object.prototype.hasOwnProperty.bind(t),s=0;s<o.length;s++){var u=o[s];if(!i(u))return!1;var c=e[u],d=t[u];if(!1===(a=n?n.call(r,c,d,u):void 0)||void 0===a&&c!==d)return!1}return!0}},8460(e,t,n){"use strict";n.d(t,{A:()=>f}),n(6540);var r=n(4848),a=n(3259),o=n.n(a),l=n(4054);let i={"01a85c17":[()=>Promise.all([n.e("4014"),n.e("9786")]).then(n.bind(n,3456)),"@theme/BlogTagsListPage",3456],"06409a0f":[()=>n.e("7310").then(n.t.bind(n,5032,19)),"@generated/docusaurus-plugin-content-docs/default/p/sql-parser-x-docs-003.json",5032],"0e384e19":[()=>n.e("5217").then(n.bind(n,4316)),"@site/docs/intro.md",4316],"13e6baf5":[()=>n.e("7599").then(n.t.bind(n,3118,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-blog-f50.json",3118],0x11113f9:[()=>Promise.all([n.e("4014"),n.e("1016"),n.e("106")]).then(n.bind(n,280)),"@theme/DocItem",280],"1f1ca1a6":[()=>n.e("7214").then(n.bind(n,820)),"@site/docs/about/architecture.md",820],"1f362aa0":[()=>n.e("9054").then(n.bind(n,8141)),"@site/docs/core/function-parse.md",8141],"1f434cef":[()=>n.e("2052").then(n.bind(n,7508)),"@site/versioned_docs/version-1.0/core/field-lineage.md",7508],"207a8b88":[()=>n.e("984").then(n.t.bind(n,7820,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-blog-archive-23e.json",7820],"26f3b9ac":[()=>n.e("5342").then(n.bind(n,1265)),"@site/versioned_docs/version-1.0/core/parameter-compile.md",1265],"33fc5bb8":[()=>Promise.all([n.e("4014"),n.e("1016"),n.e("6726"),n.e("48")]).then(n.bind(n,2242)),"@theme/Blog/Pages/BlogAuthorsPostsPage",2242],"36994c47":[()=>n.e("191").then(n.t.bind(n,5516,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",5516],"37f774df":[()=>n.e("4796").then(n.bind(n,7058)),"@site/versioned_docs/version-1.0/core/table-parse.md",7058],"4277cc0d":[()=>n.e("3658").then(n.bind(n,3975)),"@site/versioned_docs/version-1.0/core/function-parse.md",3975],"4a65a190":[()=>n.e("2705").then(n.bind(n,670)),"@site/blog/2026-09-28-origin-of-sqlparserx.md",670],"4b0ae1c1":[()=>n.e("9375").then(n.bind(n,8786)),"@site/blog/2026-09-28-origin-of-sqlparserx.md?truncated=true",8786],"4d54d076":[()=>n.e("5936").then(n.bind(n,7396)),"@site/docs/contributing.md",7396],"51515e66":[()=>n.e("4522").then(n.bind(n,3817)),"@site/docs/about/introduction.md",3817],"53a1f56d":[()=>n.e("677").then(n.t.bind(n,9344,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-blog-authors-changlu-6fe.json",9344],"5e95c892":[()=>n.e("1668").then(n.bind(n,6569)),"@theme/DocsRoot",6569],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"621db11d":[()=>Promise.all([n.e("4014"),n.e("6726"),n.e("1221")]).then(n.bind(n,6433)),"@theme/Blog/Pages/BlogAuthorsListPage",6433],"672ba3d6":[()=>Promise.all([n.e("4014"),n.e("8893")]).then(n.bind(n,7062)),"@site/src/pages/community.js",7062],"6875c492":[()=>Promise.all([n.e("4014"),n.e("1016"),n.e("6726"),n.e("766")]).then(n.bind(n,149)),"@theme/BlogTagsPostsPage",149],"6badde6a":[()=>n.e("4063").then(n.bind(n,2426)),"@site/docs/core/sql-type.md",2426],"6db0e023":[()=>n.e("8198").then(n.t.bind(n,1494,19)),"@generated/docusaurus-plugin-content-docs/default/p/sql-parser-x-docs-next-e4b.json",1494],"78900b38":[()=>n.e("6235").then(n.bind(n,6170)),"@site/docs/core/table-parse.md",6170],"7bd8db71":[()=>n.e("6171").then(n.bind(n,8498)),"@site/versioned_docs/version-1.0/intro.md",8498],"80dcd7a6":[()=>n.e("859").then(n.bind(n,7604)),"@site/versioned_docs/version-1.0/about/introduction.md",7604],"814f3328":[()=>n.e("1833").then(n.t.bind(n,5513,19)),"~blog/default/blog-post-list-prop-default.json",5513],"925626eb":[()=>n.e("143").then(n.bind(n,3205)),"@site/versioned_docs/version-1.0/core/table-lineage.md",3205],"9e4087bc":[()=>n.e("9660").then(n.bind(n,7243)),"@theme/BlogArchivePage",7243],a110d8f6:[()=>n.e("7503").then(n.bind(n,1412)),"@site/docs/core/parameter-compile.md",1412],a6aa9e1f:[()=>Promise.all([n.e("4014"),n.e("1016"),n.e("6726"),n.e("7496")]).then(n.bind(n,2152)),"@theme/BlogListPage",2152],a7456010:[()=>n.e("3056").then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e("5575").then(n.bind(n,8146)),"@theme/DocVersionRoot",8146],a94703ab:[()=>Promise.all([n.e("4014"),n.e("6785")]).then(n.bind(n,1399)),"@theme/DocRoot",1399],a9c167f1:[()=>n.e("3044").then(n.bind(n,869)),"@site/docs/core/field-lineage.md",869],aba21aa0:[()=>n.e("3747").then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],acecf23e:[()=>n.e("3220").then(n.t.bind(n,1912,19)),"~blog/default/blogMetadata-default.json",1912],ae60c7b8:[()=>n.e("2684").then(n.bind(n,3521)),"@site/versioned_docs/version-1.0/contributing.md",3521],af051bb0:[()=>n.e("8585").then(n.bind(n,8965)),"@site/versioned_docs/version-1.0/core/sql-type.md",8965],b5ed4930:[()=>n.e("7864").then(n.t.bind(n,5864,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-blog-tags-fa4.json",5864],bec69a53:[()=>n.e("6798").then(n.t.bind(n,7074,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-blog-authors-f13.json",7074],bf45ab0e:[()=>n.e("9575").then(n.bind(n,7123)),"@site/docs/quickstart/setup.md",7123],c4f5d8e4:[()=>Promise.all([n.e("4014"),n.e("4823")]).then(n.bind(n,7641)),"@site/src/pages/index.js",7641],ccc49370:[()=>Promise.all([n.e("4014"),n.e("1016"),n.e("6726"),n.e("6074")]).then(n.bind(n,2063)),"@theme/BlogPostPage",2063],dbbf4deb:[()=>n.e("1837").then(n.bind(n,3715)),"@site/versioned_docs/version-1.0/about/architecture.md",3715],e0e79246:[()=>n.e("9784").then(n.bind(n,7651)),"@site/versioned_docs/version-1.0/quickstart/setup.md",7651],ece1c32f:[()=>n.e("7768").then(n.t.bind(n,7697,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-blog-tags-origin-0ab.json",7697],efe00fe9:[()=>n.e("4702").then(n.bind(n,2840)),"@site/docs/core/table-lineage.md",2840]};function s({error:e,retry:t,pastDelay:n}){return e?(0,r.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,r.jsx)("p",{children:String(e)}),(0,r.jsx)("div",{children:(0,r.jsx)("button",{type:"button",onClick:t,children:"Retry"})})]}):n?(0,r.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,r.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,r.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,r.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,r.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,r.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,r.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,r.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,r.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(7665),c=n(7574);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e("5062").then(n.bind(n,629)),modules:["@theme/NotFound"],webpack:()=>[629],render(e,t){let n=e.default;return(0,r.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,r.jsx)(n,{...t})})}});let a=l[`${e}-${t}`],d={},f=[],p=[];return Object.entries((0,u.A)(a)).forEach(([e,t])=>{let n=i[t];n&&(d[e]=n[0],f.push(n[1]),p.push(n[2]))}),o().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){let o=JSON.parse(JSON.stringify(a));Object.entries(t).forEach(([t,n])=>{let r=n.default;if(!r)throw Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);("object"==typeof r||"function"==typeof r)&&Object.keys(n).filter(e=>"default"!==e).forEach(e=>{r[e]=n[e]});let a=o,l=t.split(".");l.slice(0,-1).forEach(e=>{a=a[e]}),a[l[l.length-1]]=r});let l=o.__comp;delete o.__comp;let i=o.__context;delete o.__context;let s=o.__props;return delete o.__props,(0,r.jsx)(c.W,{value:i,children:(0,r.jsx)(l,{...o,...s,...n})})}})}let f=[{path:"/SqlParserX/blog",component:d("/SqlParserX/blog","514"),exact:!0},{path:"/SqlParserX/blog/archive",component:d("/SqlParserX/blog/archive","918"),exact:!0},{path:"/SqlParserX/blog/authors",component:d("/SqlParserX/blog/authors","5b8"),exact:!0},{path:"/SqlParserX/blog/authors/changlu",component:d("/SqlParserX/blog/authors/changlu","c09"),exact:!0},{path:"/SqlParserX/blog/origin-of-sqlparserx",component:d("/SqlParserX/blog/origin-of-sqlparserx","4c1"),exact:!0},{path:"/SqlParserX/blog/tags",component:d("/SqlParserX/blog/tags","fd0"),exact:!0},{path:"/SqlParserX/blog/tags/origin",component:d("/SqlParserX/blog/tags/origin","2ac"),exact:!0},{path:"/SqlParserX/community",component:d("/SqlParserX/community","73f"),exact:!0},{path:"/SqlParserX/docs",component:d("/SqlParserX/docs","83f"),routes:[{path:"/SqlParserX/docs/next",component:d("/SqlParserX/docs/next","7de"),routes:[{path:"/SqlParserX/docs/next",component:d("/SqlParserX/docs/next","2ae"),routes:[{path:"/SqlParserX/docs/next/about/architecture",component:d("/SqlParserX/docs/next/about/architecture","d19"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/next/about/introduction",component:d("/SqlParserX/docs/next/about/introduction","088"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/next/contributing",component:d("/SqlParserX/docs/next/contributing","fab"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/next/core/field-lineage",component:d("/SqlParserX/docs/next/core/field-lineage","a4d"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/next/core/function-parse",component:d("/SqlParserX/docs/next/core/function-parse","3e0"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/next/core/parameter-compile",component:d("/SqlParserX/docs/next/core/parameter-compile","b3b"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/next/core/sql-type",component:d("/SqlParserX/docs/next/core/sql-type","a50"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/next/core/table-lineage",component:d("/SqlParserX/docs/next/core/table-lineage","1b5"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/next/core/table-parse",component:d("/SqlParserX/docs/next/core/table-parse","c57"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/next/intro",component:d("/SqlParserX/docs/next/intro","06c"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/next/quickstart/setup",component:d("/SqlParserX/docs/next/quickstart/setup","0c2"),exact:!0,sidebar:"docs"}]}]},{path:"/SqlParserX/docs",component:d("/SqlParserX/docs","cdb"),routes:[{path:"/SqlParserX/docs",component:d("/SqlParserX/docs","9d5"),routes:[{path:"/SqlParserX/docs/about/architecture",component:d("/SqlParserX/docs/about/architecture","1c0"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/about/introduction",component:d("/SqlParserX/docs/about/introduction","0c1"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/contributing",component:d("/SqlParserX/docs/contributing","9c3"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/core/field-lineage",component:d("/SqlParserX/docs/core/field-lineage","fa2"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/core/function-parse",component:d("/SqlParserX/docs/core/function-parse","29e"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/core/parameter-compile",component:d("/SqlParserX/docs/core/parameter-compile","a26"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/core/sql-type",component:d("/SqlParserX/docs/core/sql-type","57e"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/core/table-lineage",component:d("/SqlParserX/docs/core/table-lineage","05e"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/core/table-parse",component:d("/SqlParserX/docs/core/table-parse","be9"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/intro",component:d("/SqlParserX/docs/intro","d3c"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/docs/quickstart/setup",component:d("/SqlParserX/docs/quickstart/setup","ad9"),exact:!0,sidebar:"docs"}]}]}]},{path:"/SqlParserX/",component:d("/SqlParserX/","a65"),exact:!0},{path:"*",component:d("*")}]},1173(e,t,n){"use strict";n.d(t,{o:()=>o,x:()=>l});var r=n(4848),a=n(6540);let o=a.createContext(!1);function l({children:e}){let[t,n]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{n(!0)},[]),(0,r.jsx)(o.Provider,{value:t,children:e})}},354(e,t,n){"use strict";var r=n(4848),a=n(6540),o=n(5338),l=n(545),i=n(4625),s=n(4784),u=n(1289);let c=[n(7612),n(6464),n(2489),n(3678),n(6448)];var d=n(8460),f=n(6347),p=n(2831);function m({children:e}){return(0,r.jsx)(r.Fragment,{children:e})}var g=n(3899);let h=e=>e.defaultFormatter(e);function b({children:e}){return(0,r.jsx)(g.AL,{formatter:h,children:e})}function y({children:e}){return(0,r.jsx)(b,{children:e})}var v=n(3572),w=n(898),S=n(6497),k=n(1022),x=n(4308),E=n(5243),_=n(5248),T=n(4175);function A(){let{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,w.A)(),a=(0,E.o)(),o=n[e].htmlLang;return(0,r.jsxs)(v.A,{children:[Object.entries(n).map(([e,{htmlLang:t}])=>(0,r.jsx)("link",{rel:"alternate",href:a.createUrl({locale:e,fullyQualified:!0}),hrefLang:t},e)),(0,r.jsx)("link",{rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,r.jsx)("meta",{property:"og:locale",content:o.replace("-","_")}),Object.values(n).filter(e=>o!==e.htmlLang).map(e=>(0,r.jsx)("meta",{property:"og:locale:alternate",content:e.htmlLang.replace("-","_")},`meta-og-${e.htmlLang}`))]})}function C({permalink:e}){let{siteConfig:{url:t}}=(0,w.A)(),n=function(){let{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,w.A)(),{pathname:r}=(0,f.zy)();return e+(0,_.applyTrailingSlash)((0,S.Ay)(r),{trailingSlash:n,baseUrl:t})}(),a=e?`${t}${e}`:n;return(0,r.jsxs)(v.A,{children:[(0,r.jsx)("meta",{property:"og:url",content:a}),(0,r.jsx)("link",{rel:"canonical",href:a})]})}function P(){let{i18n:{currentLocale:e}}=(0,w.A)(),{metadata:t,image:n}=(0,k.p)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(v.A,{children:[(0,r.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,r.jsx)("body",{})]}),n&&(0,r.jsx)(x.be,{image:n}),(0,r.jsx)(C,{}),(0,r.jsx)(A,{}),(0,r.jsx)(T.A,{tag:"default",locale:e}),(0,r.jsx)(v.A,{children:t.map((e,t)=>(0,r.jsx)("meta",{...e},t))})]})}let N=new Map;var O=n(1173),L=n(3587),I=n(9989);function R(e,...t){let n=c.map(n=>{let r=n.default?.[e]??n[e];return r?.(...t)});return()=>n.forEach(e=>e?.())}let j=function({children:e,location:t,previousLocation:n}){return(0,I.A)(()=>{n!==t&&(!function({location:e,previousLocation:t}){if(!t)return;let n=e.pathname===t.pathname,r=e.hash===t.hash,a=e.search===t.search;if(n&&r&&!a)return;let{hash:o}=e;if(o){let e=decodeURIComponent(o.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:t,previousLocation:n}),R("onRouteDidUpdate",{previousLocation:n,location:t}))},[n,t]),e};function D(e){return Promise.all(Array.from(new Set([e,decodeURI(e)])).map(e=>(0,p.u)(d.A,e)).flat().map(e=>e.route.component.preload?.()))}class F extends a.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=u.A.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;let n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),D(n.pathname).then(()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})}).catch(e=>{console.warn(e),window.location.reload()}),!1}render(){let{children:e,location:t}=this.props;return(0,r.jsx)(j,{previousLocation:this.previousLocation,location:t,children:(0,r.jsx)(f.qh,{location:t,render:()=>e})})}}let M="__docusaurus-base-url-issue-banner-suggestion-container";function z(){let{siteConfig:{baseUrl:e}}=(0,w.A)();return(0,r.jsx)(r.Fragment,{children:!u.A.canUseDOM&&(0,r.jsx)(v.A,{children:(0,r.jsx)("script",{children:` +document.addEventListener('DOMContentLoaded', function maybeInsertBanner() { + var shouldInsert = typeof window['docusaurus'] === 'undefined'; + shouldInsert && insertBanner(); +}); + +function insertBanner() { + var bannerContainer = document.createElement('div'); + bannerContainer.id = '__docusaurus-base-url-issue-banner-container'; + var bannerHtml = ${JSON.stringify(` +<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;"> + <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p> + <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p> + <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p> + <p>We suggest trying baseUrl = <span id="${M}" style="font-weight: bold; color: green;"></span></p> +</div> +`).replace(/</g,"\\<")}; + bannerContainer.innerHTML = bannerHtml; + document.body.prepend(bannerContainer); + var suggestionContainer = document.getElementById('${M}'); + var actualHomePagePath = window.location.pathname; + var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/' + ? actualHomePagePath + : actualHomePagePath + '/'; + suggestionContainer.textContent = suggestedBaseUrl; +} +`})})})}function B(){let{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,w.A)(),{pathname:n}=(0,f.zy)();return t&&n===e?(0,r.jsx)(z,{}):null}function U(){let{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,w.A)(),l=(0,S.Ay)(e),{htmlLang:i,direction:s}=o[a];return(0,r.jsxs)(v.A,{children:[(0,r.jsx)("html",{lang:i,dir:s}),(0,r.jsx)("title",{children:t}),(0,r.jsx)("meta",{property:"og:title",content:t}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,r.jsx)("link",{rel:"icon",href:l})]})}var $=n(1701),q=n(9863);function H(){let e=(0,q.A)();return(0,r.jsx)(v.A,{children:(0,r.jsx)("html",{"data-has-hydrated":e})})}let X=(0,p.v)(d.A);function V(){let e=function(e){if(N.has(e.pathname))return{...e,pathname:N.get(e.pathname)};if((0,p.u)(d.A,e.pathname).some(({route:e})=>!0===e.exact))return N.set(e.pathname,e.pathname),e;let t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return N.set(e.pathname,t),{...e,pathname:t}}((0,f.zy)());return(0,r.jsx)(F,{location:e,children:X})}var G=n(4054);let W=!function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise((t,n)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)})}:function(e){return new Promise((t,n)=>{if("u"<typeof document)return void n();let r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();let a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)})};var Y=n(7665);let K=new Set,Q=new Set,Z=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J=Object.freeze({prefetch:e=>!(Z()||Q.has(e)||K.has(e))&&(K.add(e),Promise.all((0,p.u)(d.A,e).flatMap(e=>{let t;return t=e.route.path,Object.entries(G).filter(([e])=>e.replace(/-[^-]+$/,"")===t).flatMap(([,e])=>Object.values((0,Y.A)(e)))}).map(e=>{let t=n.gca(e);return t&&!t.includes("undefined")?W(t).catch(()=>{}):Promise.resolve()}))),preload:e=>!(Z()||Q.has(e))&&(Q.add(e),D(e))});if(u.A.canUseDOM){window.docusaurus=J;let e=document.getElementById("__docusaurus"),t=(0,r.jsx)(l.vd,{children:(0,r.jsx)(function({children:e}){return"hash"===s.default.future.experimental_router?(0,r.jsx)(i.I9,{children:e}):(0,r.jsx)(i.Kd,{children:e})},{children:(0,r.jsx)(function(){return(0,r.jsx)($.A,{children:(0,r.jsx)(L.l,{children:(0,r.jsxs)(O.x,{children:[(0,r.jsx)(m,{children:(0,r.jsxs)(y,{children:[(0,r.jsx)(U,{}),(0,r.jsx)(P,{}),(0,r.jsx)(B,{}),(0,r.jsx)(V,{})]})}),(0,r.jsx)(H,{})]})})})},{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},u=()=>{window.docusaurusRoot?window.docusaurusRoot.render(t):window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n})};D(window.location.pathname).then(()=>{(0,a.startTransition)(u)})}},3587(e,t,n){"use strict";n.d(t,{l:()=>f,o:()=>d});var r=n(4848),a=n(6540),o=n(4784),l=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/SqlParserX/docs","versions":[{"name":"current","label":"Next \u{1F6A7}","isLast":false,"path":"/SqlParserX/docs/next","mainDocId":"intro","docs":[{"id":"about/architecture","path":"/SqlParserX/docs/next/about/architecture","sidebar":"docs"},{"id":"about/introduction","path":"/SqlParserX/docs/next/about/introduction","sidebar":"docs"},{"id":"contributing","path":"/SqlParserX/docs/next/contributing","sidebar":"docs"},{"id":"core/field-lineage","path":"/SqlParserX/docs/next/core/field-lineage","sidebar":"docs"},{"id":"core/function-parse","path":"/SqlParserX/docs/next/core/function-parse","sidebar":"docs"},{"id":"core/parameter-compile","path":"/SqlParserX/docs/next/core/parameter-compile","sidebar":"docs"},{"id":"core/sql-type","path":"/SqlParserX/docs/next/core/sql-type","sidebar":"docs"},{"id":"core/table-lineage","path":"/SqlParserX/docs/next/core/table-lineage","sidebar":"docs"},{"id":"core/table-parse","path":"/SqlParserX/docs/next/core/table-parse","sidebar":"docs"},{"id":"intro","path":"/SqlParserX/docs/next/intro","sidebar":"docs"},{"id":"quickstart/setup","path":"/SqlParserX/docs/next/quickstart/setup","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/SqlParserX/docs/next/intro","label":"intro"}}}},{"name":"1.0","label":"1.0","isLast":true,"path":"/SqlParserX/docs","mainDocId":"intro","docs":[{"id":"about/architecture","path":"/SqlParserX/docs/about/architecture","sidebar":"docs"},{"id":"about/introduction","path":"/SqlParserX/docs/about/introduction","sidebar":"docs"},{"id":"contributing","path":"/SqlParserX/docs/contributing","sidebar":"docs"},{"id":"core/field-lineage","path":"/SqlParserX/docs/core/field-lineage","sidebar":"docs"},{"id":"core/function-parse","path":"/SqlParserX/docs/core/function-parse","sidebar":"docs"},{"id":"core/parameter-compile","path":"/SqlParserX/docs/core/parameter-compile","sidebar":"docs"},{"id":"core/sql-type","path":"/SqlParserX/docs/core/sql-type","sidebar":"docs"},{"id":"core/table-lineage","path":"/SqlParserX/docs/core/table-lineage","sidebar":"docs"},{"id":"core/table-parse","path":"/SqlParserX/docs/core/table-parse","sidebar":"docs"},{"id":"intro","path":"/SqlParserX/docs/intro","sidebar":"docs"},{"id":"quickstart/setup","path":"/SqlParserX/docs/quickstart/setup","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/SqlParserX/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"zh-Hans","locales":["zh-Hans","en"],"path":"i18n","currentLocale":"zh-Hans","localeConfigs":{"zh-Hans":{"label":"\u7B80\u4F53\u4E2D\u6587","direction":"ltr","htmlLang":"zh-Hans","calendar":"gregory","path":"zh-Hans","translate":false,"url":"https://dtstack.github.io","baseUrl":"/SqlParserX/"},"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en","translate":true,"url":"https://dtstack.github.io","baseUrl":"/SqlParserX/en/"}}}'),s=n(2654),u=JSON.parse('{"docusaurusVersion":"3.10.2","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-css-cascade-layers":{"type":"package","name":"@docusaurus/plugin-css-cascade-layers","version":"3.10.2"},"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.10.2"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.10.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.10.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.10.2"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.10.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.10.2"},"docusaurus-theme-mermaid":{"type":"package","name":"@docusaurus/theme-mermaid","version":"3.10.2"}}}');let c={siteConfig:o.default,siteMetadata:u,globalData:l,i18n:i,codeTranslations:s},d=a.createContext(c);function f({children:e}){return(0,r.jsx)(d.Provider,{value:c,children:e})}},1701(e,t,n){"use strict";n.d(t,{A:()=>m});var r=n(4848),a=n(6540),o=n(1289),l=n(3572),i=n(5248),s=n(6525),u=n(7574);function c({error:e,tryAgain:t}){return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,r.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,r.jsx)("button",{type:"button",onClick:t,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,r.jsx)(d,{error:e})]})}function d({error:e}){let t=(0,i.getErrorCausalChain)(e).map(e=>e.message).join("\n\nCause:\n");return(0,r.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:t})}function f({children:e}){return(0,r.jsx)(u.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:e})}function p({error:e,tryAgain:t}){return(0,r.jsx)(f,{children:(0,r.jsxs)(m,{fallback:()=>(0,r.jsx)(c,{error:e,tryAgain:t}),children:[(0,r.jsx)(l.A,{children:(0,r.jsx)("title",{children:"Page Error"})}),(0,r.jsx)(s.A,{children:(0,r.jsx)(c,{error:e,tryAgain:t})})]})})}class m extends a.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){let{children:e}=this.props,{error:t}=this.state;return t?(this.props.fallback??(e=>(0,r.jsx)(p,{...e})))({error:t,tryAgain:()=>this.setState({error:null})}):e??null}}},1289(e,t,n){"use strict";n.d(t,{A:()=>a});let r="u">typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},3572(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(4848);n(6540);var a=n(545);function o(e){return(0,r.jsx)(a.mg,{...e})}},5310(e,t,n){"use strict";n.d(t,{A:()=>f});var r=n(4848),a=n(6540),o=n(4625),l=n(5248),i=n(898),s=n(8310),u=n(1289),c=n(5916),d=n(6497);let f=a.forwardRef(function({isNavLink:e,to:t,href:n,activeClassName:f,isActive:p,"data-noBrokenLinkCheck":m,autoAddBaseUrl:g=!0,...h},b){var y;let{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:S}=v,k=v.future.experimental_router,{withBaseUrl:x}=(0,d.hH)(),E=(0,c.A)(),_=(0,a.useRef)(null);(0,a.useImperativeHandle)(b,()=>_.current);let T=t||n,A=(0,s.A)(T),C=T?.replace("pathname://",""),P=void 0!==C?(y=C,g&&y.startsWith("/")?x(y):y):void 0;"hash"===k&&P?.startsWith("./")&&(P=P?.slice(1)),P&&A&&(P=(0,l.applyTrailingSlash)(P,{trailingSlash:w,baseUrl:S}));let N=(0,a.useRef)(!1),O=e?o.k2:o.N_,L=u.A.canUseIntersectionObserver,I=(0,a.useRef)(void 0),R=()=>{N.current||null==P||(window.docusaurus.preload(P),N.current=!0)};(0,a.useEffect)(()=>(!L&&A&&u.A.canUseDOM&&null!=P&&window.docusaurus.prefetch(P),()=>{L&&I.current&&I.current.disconnect()}),[I,P,L,A]);let j=P?.startsWith("#")??!1,D=!h.target||"_self"===h.target,F=!P||!A||!D||j&&"hash"!==k;m||!j&&F||E.collectLink(P),h.id&&E.collectAnchor(h.id);let M={};return F?(0,r.jsx)("a",{ref:_,href:P,...T&&!A&&{target:"_blank",rel:"noopener noreferrer"},...h,...M}):(0,r.jsx)(O,{...h,onMouseEnter:R,onTouchStart:R,innerRef:e=>{_.current=e,L&&e&&A&&(I.current=new window.IntersectionObserver(t=>{t.forEach(t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(I.current.unobserve(e),I.current.disconnect(),null!=P&&window.docusaurus.prefetch(P))})}),I.current.observe(e))},to:P,...e&&{isActive:p,activeClassName:f},...M})})},568(e,t,n){"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(4848),a=n(6540);function o(e,t){let n=e.split(/(\{\w+\})/).map((e,n)=>{if(n%2==1){let n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e});return n.some(e=>(0,a.isValidElement)(e))?n.map((e,t)=>(0,a.isValidElement)(e)?a.cloneElement(e,{key:t}):e).filter(e=>""!==e):n.join("")}var l=n(2654);function i({id:e,message:t}){if(void 0===e&&void 0===t)throw Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return l[e??t]??t??e}function s({message:e,id:t},n){return o(i({message:e,id:t}),n)}function u({children:e,id:t,values:n}){if(e&&"string"!=typeof e)throw console.warn("Illegal <Translate> children",e),Error("The Docusaurus <Translate> component only accept simple string values");let a=i({message:e,id:t});return(0,r.jsx)(r.Fragment,{children:o(a,n)})}},8977(e,t,n){"use strict";n.d(t,{W:()=>r});let r="default"},8310(e,t,n){"use strict";function r(e){return/^(?:[A-Za-z][A-Za-z\d+.-]*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},6497(e,t,n){"use strict";n.d(t,{Ay:()=>i,hH:()=>l});var r=n(6540),a=n(898),o=n(8310);function l(){let{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,l=e.future.experimental_router;return{withBaseUrl:(0,r.useCallback)((e,r)=>(function({siteUrl:e,baseUrl:t,url:n,options:{forcePrependBaseUrl:r=!1,absolute:a=!1}={},router:l}){if(!n||n.startsWith("#")||(0,o.z)(n))return n;if("hash"===l)return n.startsWith("/")?`.${n}`:`./${n}`;if(r)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;let i=n.startsWith(t)?n:t+n.replace(/^\//,"");return a?e+i:i})({siteUrl:n,baseUrl:t,url:e,options:r,router:l}),[n,t,l])}}function i(e,t={}){let{withBaseUrl:n}=l();return n(e,t)}},5916(e,t,n){"use strict";n.d(t,{A:()=>o}),n(4848);var r=n(6540);let a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}});function o(){return(0,r.useContext)(a)}},898(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(3587);function o(){return(0,r.useContext)(a.o)}},9863(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(1173);function o(){return(0,r.useContext)(a.o)}},9989(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(6540);let a=n(1289).A.canUseDOM?r.useLayoutEffect:r.useEffect},8491(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(7574);function o(){let e=r.useContext(a.o);if(!e)throw Error("Unexpected: no Docusaurus route context found");return e}},7665(e,t,n){"use strict";function r(e){let t={};return!function e(n,r){Object.entries(n).forEach(([n,a])=>{let o=r?`${r}.${n}`:n;"object"==typeof a&&a&&Object.keys(a).length>0?e(a,o):t[o]=a})}(e),t}n.d(t,{A:()=>r})},7574(e,t,n){"use strict";n.d(t,{W:()=>l,o:()=>o});var r=n(4848),a=n(6540);let o=a.createContext(null);function l({children:e,value:t}){let n=a.useContext(o),i=(0,a.useMemo)(()=>(function({parent:e,value:t}){if(!e){if(t){if(!("plugin"in t))throw Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute")}else throw Error("Unexpected: no Docusaurus route context found");return t}let n={...e.data,...t?.data};return{plugin:e.plugin,data:n}})({parent:n,value:t}),[n,t]);return(0,r.jsx)(o.Provider,{value:i,children:e})}},2086(e,t,n){"use strict";n.d(t,{VQ:()=>p,g1:()=>m});var r=n(4848),a=n(6540),o=n(698),l=n(8977),i=n(1022),s=n(1367),u=n(2260);let c=e=>`docs-preferred-version-${e}`,d=a.createContext(null);function f({children:e}){let t=function(){let e=(0,o.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,a.useMemo)(()=>Object.keys(e),[e]),[r,l]=(0,a.useState)(()=>Object.fromEntries(n.map(e=>[e,{preferredVersionName:null}])));return(0,a.useEffect)(()=>{l(function({pluginIds:e,versionPersistence:t,allDocsData:n}){return Object.fromEntries(e.map(e=>{var r,a;let o,l,i;return[e,(l=e,i=t,o=(0,s.Wf)(c(l),{persistence:i}).get(),n[e].versions.some(e=>e.name===o)?{preferredVersionName:o}:(r=e,a=t,(0,s.Wf)(c(r),{persistence:a}).del(),{preferredVersionName:null}))]}))}({allDocsData:e,versionPersistence:t,pluginIds:n}))},[e,t,n]),[r,(0,a.useMemo)(()=>({savePreferredVersion:function(e,n){var r,a,o;r=e,a=t,o=n,(0,s.Wf)(c(r),{persistence:a}).set(o),l(t=>({...t,[e]:{preferredVersionName:n}}))}}),[t])]}();return(0,r.jsx)(d.Provider,{value:t,children:e})}function p({children:e}){return(0,r.jsx)(f,{children:e})}function m(e=l.W){let t=(0,o.ht)(e),[n,r]=function(){let e=(0,a.useContext)(d);if(!e)throw new u.dV("DocsPreferredVersionContextProvider");return e}(),{preferredVersionName:i}=n[e];return{preferredVersion:t.versions.find(e=>e.name===i)??null,savePreferredVersionName:(0,a.useCallback)(t=>{r.savePreferredVersion(e,t)},[r,e])}}},2473(e,t,n){"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(4848),a=n(6540),o=n(2260);let l=Symbol("EmptyContext"),i=a.createContext(l);function s({children:e,name:t,items:n}){let o=(0,a.useMemo)(()=>t&&n?{name:t,items:n}:null,[t,n]);return(0,r.jsx)(i.Provider,{value:o,children:e})}function u(){let e=(0,a.useContext)(i);if(e===l)throw new o.dV("DocsSidebarProvider");return e}},8260(e,t,n){"use strict";n.d(t,{B5:()=>v,Nr:()=>function e(t){if("link"===t.type&&!t.unlisted)return t.href;if("category"===t.type){if(t.href&&!t.linkUnlisted)return t.href;for(let n of t.items){let t=e(n);if(t)return t}return}},OF:()=>g,QB:()=>y,Vd:()=>h,Y:()=>m,fW:()=>b,w8:()=>p});var r=n(6540),a=n(6347),o=n(2831),l=n(698),i=n(9209),s=n(618),u=n(2086),c=n(921),d=n(2473);let f=(e,t)=>void 0!==e&&(0,i.ys)(e,t);function p(e,t){if("link"===e.type)return f(e.href,t);if("category"===e.type){let n;return f(e.href,t)||(n=e.items,n.some(e=>p(e,t)))}return!1}function m(e,t){return(0,r.useMemo)(()=>e.filter(e=>(function e(t,n){switch(t.type){case"category":return p(t,n)||void 0!==t.href&&!t.linkUnlisted||t.items.some(t=>e(t,n));case"link":return!t.unlisted||p(t,n);default:return!0}})(e,t)),[e,t])}function g(){let e=(0,d.t)(),{pathname:t}=(0,a.zy)();return!1!==(0,l.vT)()?.pluginData.breadcrumbs&&e?function({sidebarItems:e,pathname:t,onlyCategories:n=!1}){let r=[];return!function e(a){for(let o of a)if("category"===o.type){if((0,i.ys)(o.href,t)||e(o.items))return r.unshift(o),!0}else if("link"===o.type&&o.docId&&(0,i.ys)(o.href,t))return n||r.unshift(o),!0;return!1}(e),r}({sidebarItems:e.items,pathname:t}):null}function h(e){let{activeVersion:t}=(0,l.zK)(e),{preferredVersion:n}=(0,u.g1)(e),a=(0,l.r7)(e);return(0,r.useMemo)(()=>(0,s.sb)([t,n,a].filter(Boolean)),[t,n,a])}function b(e,t){let n=h(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.sidebars?Object.entries(e.sidebars):[]),r=t.find(t=>t[0]===e);if(!r)throw Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map(e=>e.name).join(", ")}". +Available sidebar ids are: +- ${t.map(e=>e[0]).join("\n- ")}`);return r[1]},[e,n])}function y(e,t){let n=h(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.docs),r=t.find(t=>t.id===e);if(!r){if(n.flatMap(e=>e.draftIds).includes(e))return null;throw Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map(e=>e.name).join(", ")}". +Available doc ids are: +- ${(0,s.sb)(t.map(e=>e.id)).join("\n- ")}`)}return r},[e,n])}function v({route:e}){let t=(0,a.zy)(),n=(0,c.r)(),r=e.routes,l=r.find(e=>(0,a.B6)(t.pathname,e));if(!l)return null;let i=l.sidebar,s=i?n.docsSidebars[i]:void 0;return{docElement:(0,o.v)(r),sidebarName:i,sidebarItems:s}}},921(e,t,n){"use strict";n.d(t,{n:()=>i,r:()=>s});var r=n(4848),a=n(6540),o=n(2260);let l=a.createContext(null);function i({children:e,version:t}){return(0,r.jsx)(l.Provider,{value:t,children:e})}function s(){let e=(0,a.useContext)(l);if(null===e)throw new o.dV("DocsVersionProvider");return e}},698(e,t,n){"use strict";n.d(t,{ht:()=>d,r7:()=>m,HW:()=>h,zK:()=>g,jh:()=>p,Gy:()=>c,vT:()=>f});var r=n(6347),a=n(898),o=n(8977);function l(e,t={}){let n=function(){let{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}let i=e=>e.versions.find(e=>e.isLast);function s(e,t){var n;let a,o=[...e.versions].sort((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:+!!t.path.includes(e.path)).find(e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})),l=o?.docs.find(e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})),i=l?(n=l.id,a={},e.versions.forEach(e=>{e.docs.forEach(t=>{t.id===n&&(a[e.name]=t)})}),a):{};return{activeVersion:o,activeDoc:l,alternateDocVersions:i}}let u={},c=()=>l("docusaurus-plugin-content-docs")??u,d=e=>{try{return function(e,t=o.W,n={}){let r=l(e),a=r?.[t];if(!a&&n.failfast)throw Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw Error(`You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled${"Default"===e?"":` (pluginId=${e}`}`,{cause:t})}};function f(e={}){let t=c(),{pathname:n}=(0,r.zy)();return function(e,t,n={}){let a=Object.entries(e).sort((e,t)=>t[1].path.localeCompare(e[1].path)).find(([,e])=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map(e=>e.path).join(", ")}`);return o}(t,n,e)}function p(e){return d(e).versions}function m(e){return i(d(e))}function g(e){let t=d(e),{pathname:n}=(0,r.zy)();return s(t,n)}function h(e){let t,n=d(e),{pathname:a}=(0,r.zy)();return t=i(n),{latestDocSuggestion:s(n,a).alternateDocVersions[t.name],latestVersionSuggestion:t}}},3678(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(5947),a=n.n(r);a().configure({showSpinner:!1});let o={onRouteUpdate({location:e,previousLocation:t}){if(t&&e.pathname!==t.pathname){let e=window.setTimeout(()=>{a().start()},200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},2489(e,t,n){"use strict";var r=n(1765),a=n(4784);!function(e){let{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t,o=globalThis.Prism;globalThis.Prism=e,r.forEach(e=>{"php"===e&&n(9700),n(2416)(`./prism-${e}`)}),delete globalThis.Prism,void 0!==o&&(globalThis.Prism=e)}(r.My)},2072(e,t,n){"use strict";n.d(t,{A:()=>u});var r=n(4848);n(6540);var a=n(4164),o=n(568),l=n(4727),i=n(5310),s=n(5916);function u({as:e,id:t,...n}){let c=(0,s.A)(),d=(0,l.v)(t);if("h1"===e||!t)return(0,r.jsx)(e,{...n,id:void 0});c.collectAnchor(t);let f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof n.children?n.children:t});return(0,r.jsxs)(e,{...n,className:(0,a.A)("anchor",d,n.className),id:t,children:[n.children,(0,r.jsx)(i.A,{className:"hash-link",to:`#${t}`,"aria-label":f,title:f,translate:"no",children:"\u200B"})]})}},7715(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(4848);n(6540);var a=n(568);function o({width:e=13.5,height:t=13.5}){return(0,r.jsx)("svg",{width:e,height:t,"aria-label":(0,a.T)({id:"theme.IconExternalLink.ariaLabel",message:"(opens in new tab)",description:"The ARIA label for the external link icon"}),className:"iconExternalLink_nPIU",children:(0,r.jsx)("use",{href:"#theme-svg-external-link"})})}},6525(e,t,n){"use strict";n.d(t,{A:()=>eK});var r=n(4848),a=n(6540),o=n(4164),l=n(1701),i=n(4308),s=n(6347),u=n(568),c=n(8398);let d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}let p=(0,u.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){let t=e.children??p,{containerRef:n,onClick:o}=function(){let e=(0,a.useRef)(null),{action:t}=(0,s.W6)(),n=(0,a.useCallback)(e=>{e.preventDefault();let t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)},[]);return(0,c.$)(({location:n})=>{e.current&&!n.hash&&"PUSH"===t&&f(e.current)}),{containerRef:e,onClick:n}}();return(0,r.jsx)("div",{ref:n,role:"region","aria-label":p,children:(0,r.jsx)("a",{...e,href:`#${d}`,onClick:o,children:t})})}var g=n(8287);function h(){return(0,r.jsx)(m,{className:"skipToContent_fXgn"})}var b=n(1022),y=n(3337);function v({width:e=21,height:t=21,color:n="currentColor",strokeWidth:a=1.2,className:o,...l}){return(0,r.jsx)("svg",{viewBox:"0 0 15 15",width:e,height:t,...l,children:(0,r.jsx)("g",{stroke:n,strokeWidth:a,children:(0,r.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}function w(e){return(0,r.jsx)("button",{type:"button","aria-label":(0,u.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close","closeButton_CVFx",e.className),children:(0,r.jsx)(v,{width:14,height:14,strokeWidth:3.1})})}function S(e){let{announcementBar:t}=(0,b.p)(),{content:n}=t;return(0,r.jsx)("div",{...e,className:(0,o.A)("content_knG7",e.className),dangerouslySetInnerHTML:{__html:n}})}function k(){let{announcementBar:e}=(0,b.p)(),{isActive:t,close:n}=(0,y.M)();if(!t)return null;let{backgroundColor:a,textColor:l,isCloseable:i}=e;return(0,r.jsxs)("div",{className:(0,o.A)(g.G.announcementBar.container,"announcementBar_mb4j"),style:{backgroundColor:a,color:l},role:"banner",children:[i&&(0,r.jsx)("div",{className:"announcementBarPlaceholder_vyr4"}),(0,r.jsx)(S,{className:"announcementBarContent_xLdY"}),i&&(0,r.jsx)(w,{onClick:n,className:"announcementBarClose_gvF7"})]})}var x=n(9965),E=n(8584),_=n(2260),T=n(7e3);let A=a.createContext(null);function C({children:e}){let t=function(){let e=(0,x.M)(),t=(0,T.YL)(),[n,r]=(0,a.useState)(!1),o=null!==t.component,l=(0,_.ZC)(o);return(0,a.useEffect)(()=>{o&&!l&&r(!0)},[o,l]),(0,a.useEffect)(()=>{o?e.shown||r(!0):r(!1)},[e.shown,o]),(0,a.useMemo)(()=>[n,r],[n])}();return(0,r.jsx)(A.Provider,{value:t,children:e})}function P(){let e=(0,a.useContext)(A);if(!e)throw new _.dV("NavbarSecondaryMenuDisplayProvider");let[t,n]=e,o=(0,a.useCallback)(()=>n(!1),[n]),l=(0,T.YL)();return(0,a.useMemo)(()=>({shown:t,hide:o,content:function(e){if(e.component){let t=e.component;return(0,r.jsx)(t,{...e.props})}}(l)}),[o,l,t])}function N({children:e,inert:t}){return(0,r.jsx)("div",{className:(0,o.A)(g.G.layout.navbar.mobileSidebar.panel,"navbar-sidebar__item menu"),...19>parseInt(a.version.split(".")[0],10)?{inert:t?"":void 0}:{inert:t},children:e})}function O({header:e,primaryMenu:t,secondaryMenu:n}){let{shown:a}=P();return(0,r.jsxs)("div",{className:(0,o.A)(g.G.layout.navbar.mobileSidebar.container,"navbar-sidebar"),children:[e,(0,r.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,r.jsx)(N,{inert:a,children:t}),(0,r.jsx)(N,{inert:!a,children:n})]})]})}var L=n(3941),I=n(9863);function R(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function j(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}function D(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"})})}let F="toggleIcon_g3eP";function M(e){switch(e){case null:return(0,u.T)({message:"system mode",id:"theme.colorToggle.ariaLabel.mode.system",description:"The name for the system color mode"});case"light":return(0,u.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"});case"dark":return(0,u.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"});default:throw Error(`unexpected color mode ${e}`)}}function z(){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(R,{"aria-hidden":!0,className:(0,o.A)(F,"lightToggleIcon_pyhR")}),(0,r.jsx)(j,{"aria-hidden":!0,className:(0,o.A)(F,"darkToggleIcon_wfgR")}),(0,r.jsx)(D,{"aria-hidden":!0,className:(0,o.A)(F,"systemToggleIcon_QzmC")})]})}let B=a.memo(function({className:e,buttonClassName:t,respectPrefersColorScheme:n,value:a,onChange:l}){let i=(0,I.A)();return(0,r.jsx)("div",{className:(0,o.A)("toggle_vylO",e),children:(0,r.jsx)("button",{className:(0,o.A)("clean-btn","toggleButton_gllP",!i&&"toggleButtonDisabled_aARS",t),type:"button",onClick:()=>l(function(e,t){if(!t)return"dark"===e?"light":"dark";switch(e){case null:return"light";case"light":return"dark";case"dark":return null;default:throw Error(`unexpected color mode ${e}`)}}(a,n)),disabled:!i,title:M(a),"aria-label":(0,u.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the color mode toggle"},{mode:M(a)}),children:(0,r.jsx)(z,{})})})});function U({className:e}){let t=(0,b.p)().navbar.style,{disableSwitch:n,respectPrefersColorScheme:a}=(0,b.p)().colorMode,{colorModeChoice:o,setColorMode:l}=(0,L.G)();return n?null:(0,r.jsx)(B,{className:e,buttonClassName:"dark"===t?"darkNavbarColorModeToggle_X3D1":void 0,respectPrefersColorScheme:a,value:o,onChange:l})}var $=n(5153);function q(){return(0,r.jsx)($.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function H(){let e=(0,x.M)();return(0,r.jsx)("button",{type:"button","aria-label":(0,u.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,r.jsx)(v,{color:"var(--ifm-color-emphasis-600)"})})}function X(){return(0,r.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,r.jsx)(q,{}),(0,r.jsx)(U,{className:"margin-right--md"}),(0,r.jsx)(H,{})]})}var V=n(5310),G=n(6497),W=n(8310);function Y(e,t){return void 0!==e&&void 0!==t&&RegExp(e,"gi").test(t)}var K=n(7715);function Q({activeBasePath:e,activeBaseRegex:t,to:n,href:a,label:o,html:l,isDropdownLink:i,prependBaseUrlToHref:s,...u}){let c=(0,G.Ay)(n),d=(0,G.Ay)(e),f=(0,G.Ay)(a,{forcePrependBaseUrl:!0}),p=o&&a&&!(0,W.A)(a),m=l?{dangerouslySetInnerHTML:{__html:l}}:{children:(0,r.jsxs)(r.Fragment,{children:[o,p&&(0,r.jsx)(K.A,{...i&&{width:12,height:12}})]})};return a?(0,r.jsx)(V.A,{href:s?f:a,...u,...m}):(0,r.jsx)(V.A,{to:c,isNavLink:!0,...(e||t)&&{isActive:(e,n)=>t?Y(t,n.pathname):n.pathname.startsWith(d)},...u,...m})}function Z({className:e,isDropdownItem:t,...n}){return(0,r.jsx)("li",{className:"menu__list-item",children:(0,r.jsx)(Q,{className:(0,o.A)("menu__link",e),...n})})}function J({className:e,isDropdownItem:t=!1,...n}){let a=(0,r.jsx)(Q,{className:(0,o.A)(t?"dropdown__link":"navbar__item navbar__link",e),isDropdownLink:t,...n});return t?(0,r.jsx)("li",{children:a}):a}function ee({mobile:e=!1,position:t,...n}){return(0,r.jsx)(e?Z:J,{...n,activeClassName:n.activeClassName??(e?"menu__link--active":"navbar__link--active")})}var et=n(9510),en=n(9209),er=n(898);function ea({collapsed:e,onClick:t}){return(0,r.jsx)("button",{"aria-label":e?(0,u.T)({id:"theme.navbar.mobileDropdown.collapseButton.expandAriaLabel",message:"Expand the dropdown",description:"The ARIA label of the button to expand the mobile dropdown navbar item"}):(0,u.T)({id:"theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel",message:"Collapse the dropdown",description:"The ARIA label of the button to collapse the mobile dropdown navbar item"}),"aria-expanded":!e,type:"button",className:"clean-btn menu__caret",onClick:t})}function eo({items:e,className:t,position:n,onClick:l,...i}){let u=function(){let{siteConfig:{baseUrl:e}}=(0,er.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),c=(0,en.ys)(i.to,u),d=e.some(e=>!!((0,en.ys)(e.to,u)||Y(e.activeBaseRegex,u)||e.activeBasePath&&u.startsWith(e.activeBasePath))),{collapsed:f,toggleCollapsed:p}=function({active:e}){let{collapsed:t,toggleCollapsed:n,setCollapsed:r}=(0,et.u)({initialState:()=>!e});return(0,a.useEffect)(()=>{e&&r(!1)},[e,r]),{collapsed:t,toggleCollapsed:n}}({active:c||d}),m=i.to?void 0:"#";return(0,r.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,r.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":c}),children:[(0,r.jsx)(Q,{role:"button",className:(0,o.A)("dropdownNavbarItemMobile_J0Sd","menu__link menu__link--sublist",t),href:m,...i,onClick:e=>{"#"===m&&e.preventDefault(),p()},children:i.children??i.label}),(0,r.jsx)(ea,{collapsed:f,onClick:e=>{e.preventDefault(),p()}})]}),(0,r.jsx)(et.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:e.map((e,t)=>(0,a.createElement)(ey,{mobile:!0,isDropdownItem:!0,onClick:l,activeClassName:"menu__link--active",...e,key:t}))})]})}function el({items:e,position:t,className:n,onClick:l,...i}){let s=(0,a.useRef)(null),[u,c]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=e=>{!s.current||s.current.contains(e.target)||c(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}},[s]),(0,r.jsxs)("div",{ref:s,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===t,"dropdown--show":u}),children:[(0,r.jsx)(Q,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:i.to?void 0:"#",className:(0,o.A)("navbar__link",n),...i,onClick:i.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),c(!u))},children:i.children??i.label}),(0,r.jsx)("ul",{className:"dropdown__menu",children:e.map((e,t)=>(0,a.createElement)(ey,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t}))})]})}function ei({mobile:e=!1,...t}){return(0,r.jsx)(e?eo:el,{...t})}var es=n(5243),eu=n(6629);function ec({width:e=20,height:t=20,...n}){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:e,height:t,"aria-hidden":!0,...n,children:(0,r.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}let ed=()=>null;function ef({children:e,className:t}){return(0,r.jsx)("div",{className:(0,o.A)(t,"navbarSearchContainer_Bca1"),children:e})}var ep=n(698),em=n(8260),eg=n(2086);function eh(e,t){return t.alternateDocVersions[e.name]??e.docs.find(t=>t.id===e.mainDocId)}let eb={default:ee,localeDropdown:function({mobile:e,dropdownItemsBefore:t,dropdownItemsAfter:n,queryString:a,...o}){let l=function(){let{siteConfig:e,i18n:{localeConfigs:t}}=(0,er.A)(),n=(0,es.o)(),r=(0,eu.Hl)(e=>e.location.search),a=(0,eu.Hl)(e=>e.location.hash),o=e=>{let n=t[e];if(!n)throw Error(`Docusaurus bug, no locale config found for locale=${e}`);return n};return{getURL:(t,l)=>{let i=(0,eu.jy)([r,l.queryString],"append");return`${o(t).url===e.url?`pathname://${n.createUrl({locale:t,fullyQualified:!1})}`:n.createUrl({locale:t,fullyQualified:!0})}${i}${a}`},getLabel:e=>o(e).label,getLang:e=>o(e).htmlLang}}(),{i18n:{currentLocale:i,locales:s}}=(0,er.A)(),c=[...t,...s.map(t=>({label:l.getLabel(t),lang:l.getLang(t),to:l.getURL(t,{queryString:a}),target:"_self",autoAddBaseUrl:!1,className:t===i?e?"menu__link--active":"dropdown__link--active":""})),...n],d=e?(0,u.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):l.getLabel(i);return(0,r.jsx)(ei,{...o,mobile:e,label:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ec,{className:"iconLanguage_nlXk"}),d]}),items:c})},search:function({mobile:e,className:t}){return e?null:(0,r.jsx)(ef,{className:t,children:(0,r.jsx)(ed,{})})},dropdown:ei,html:function({value:e,className:t,mobile:n=!1,isDropdownItem:a=!1}){return(0,r.jsx)(a?"li":"div",{className:(0,o.A)({navbar__item:!n&&!a,"menu__list-item":n},t),dangerouslySetInnerHTML:{__html:e}})},doc:function({docId:e,label:t,docsPluginId:n,...a}){let{activeDoc:o}=(0,ep.zK)(n),l=(0,em.QB)(e,n),i=o?.path===l?.path;return null===l||l.unlisted&&!i?null:(0,r.jsx)(ee,{exact:!0,...a,isActive:()=>i||!!o?.sidebar&&o.sidebar===l.sidebar,label:t??l.id,to:l.path})},docSidebar:function({sidebarId:e,label:t,docsPluginId:n,...a}){let{activeDoc:o}=(0,ep.zK)(n),l=(0,em.fW)(e,n).link;if(!l)throw Error(`DocSidebarNavbarItem: Sidebar with ID "${e}" doesn't have anything to be linked to.`);return(0,r.jsx)(ee,{exact:!0,...a,isActive:()=>o?.sidebar===e,label:t??l.label,to:l.path})},docsVersion:function({label:e,to:t,docsPluginId:n,...a}){let o=(0,em.Vd)(n)[0],l=e??o.label,i=t??o.docs.find(e=>e.id===o.mainDocId).path;return(0,r.jsx)(ee,{...a,label:l,to:i})},docsVersionDropdown:function({mobile:e,docsPluginId:t,dropdownActiveClassDisabled:n,dropdownItemsBefore:a,dropdownItemsAfter:o,versions:l,...i}){let s=(0,eu.Hl)(e=>e.location.search),c=(0,eu.Hl)(e=>e.location.hash),d=(0,ep.zK)(t),{savePreferredVersionName:f}=(0,eg.g1)(t),p=function({docsPluginId:e,configs:t}){var n=(0,ep.jh)(e);if(!t)return n.map(e=>({version:e,label:e.label}));{let e=new Map(n.map(e=>[e.name,e])),r=(t,r)=>{let a=e.get(t);if(!a)throw Error(`No docs version exist for name '${t}', please verify your 'docsVersionDropdown' navbar item versions config. +Available version names: +- ${n.map(e=>`${e.name}`).join("\n- ")}`);return{version:a,label:r?.label??a.label}};return Array.isArray(t)?t.map(e=>r(e,void 0)):Object.entries(t).map(([e,t])=>r(e,t))}}({docsPluginId:t,configs:l}),m=function({docsPluginId:e,versionItems:t}){return(0,em.Vd)(e).map(e=>t.find(t=>t.version===e)).filter(e=>void 0!==e)[0]??t[0]}({docsPluginId:t,versionItems:p}),g=[...a,...p.map(function({version:e,label:t}){let n=eh(e,d);return{label:t,to:`${n.path}${s}${c}`,isActive:()=>e===d.activeVersion,onClick:()=>f(e.name)}}),...o],h=e&&g.length>1?(0,u.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,b=e&&g.length>1?void 0:eh(m.version,d).path;return g.length<=1?(0,r.jsx)(ee,{...i,mobile:e,label:h,to:b,isActive:n?()=>!1:void 0}):(0,r.jsx)(ei,{...i,mobile:e,label:h,to:b,items:g,isActive:n?()=>!1:void 0})}};function ey({type:e,...t}){let n=eb[!e||"default"===e?"items"in t?"dropdown":"default":e];if(!n)throw Error(`No NavbarItem component found for type "${e}".`);return(0,r.jsx)(n,{...t})}function ev(){let e=(0,x.M)(),t=(0,b.p)().navbar.items;return(0,r.jsx)("ul",{className:"menu__list",children:t.map((t,n)=>(0,a.createElement)(ey,{mobile:!0,...t,onClick:()=>e.toggle(),key:n}))})}function ew(e){return(0,r.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,r.jsx)(u.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function eS(){let e=0===(0,b.p)().navbar.items.length,t=P();return(0,r.jsxs)(r.Fragment,{children:[!e&&(0,r.jsx)(ew,{onClick:()=>t.hide()}),t.content]})}function ek(){let e=(0,x.M)();return(!function(e=!0){(0,a.useEffect)(()=>(document.body.style.overflow=e?"hidden":"visible",()=>{document.body.style.overflow="visible"}),[e])}(e.shown),e.shouldRender)?(0,r.jsx)(O,{header:(0,r.jsx)(X,{}),primaryMenu:(0,r.jsx)(ev,{}),secondaryMenu:(0,r.jsx)(eS,{})}):null}function ex(e){return(0,r.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function eE({children:e}){let{navbar:{hideOnScroll:t,style:n}}=(0,b.p)(),l=(0,x.M)(),{navbarRef:i,isNavbarVisible:s}=function(e){let[t,n]=(0,a.useState)(e),r=(0,a.useRef)(!1),o=(0,a.useRef)(0),l=(0,a.useCallback)(e=>{null!==e&&(o.current=e.getBoundingClientRect().height)},[]);return(0,E.Mq)(({scrollY:t},a)=>{if(!e)return;if(t<o.current)return void n(!0);if(r.current){r.current=!1;return}let l=a?.scrollY,i=document.documentElement.scrollHeight-o.current,s=window.innerHeight;l&&t>=l?n(!1):t+s<i&&n(!0)}),(0,c.$)(t=>{if(!e)return;let a=t.location.hash;if(a?document.getElementById(a.substring(1)):void 0){r.current=!0,n(!1);return}n(!0)}),{navbarRef:l,isNavbarVisible:t}}(t);return(0,r.jsxs)("nav",{ref:i,"aria-label":(0,u.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)(g.G.layout.navbar.container,"navbar","navbar--fixed-top",t&&["navbarHideable_m1mJ",!s&&"navbarHidden_jGov"],{"navbar--dark":"dark"===n,"navbar--primary":"primary"===n,"navbar-sidebar--show":l.shown}),children:[e,(0,r.jsx)(ex,{onClick:l.toggle}),(0,r.jsx)(ek,{})]})}var e_=n(3072);function eT({width:e=30,height:t=30,className:n,...a}){return(0,r.jsx)("svg",{className:n,width:e,height:t,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,r.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function eA(){let{toggle:e,shown:t}=(0,x.M)();return(0,r.jsx)("button",{onClick:e,"aria-label":(0,u.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,r.jsx)(eT,{})})}function eC({items:e}){return(0,r.jsx)(r.Fragment,{children:e.map((e,t)=>(0,r.jsx)(e_.k2,{onError:t=>Error(`A theme navbar item failed to render. +Please double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config: +${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,r.jsx)(ey,{...e})},t))})}function eP({left:e,right:t}){return(0,r.jsxs)("div",{className:"navbar__inner",children:[(0,r.jsx)("div",{className:(0,o.A)(g.G.layout.navbar.containerLeft,"navbar__items"),children:e}),(0,r.jsx)("div",{className:(0,o.A)(g.G.layout.navbar.containerRight,"navbar__items navbar__items--right"),children:t})]})}function eN(){let e=(0,x.M)(),t=(0,b.p)().navbar.items,[n,a]=function(e){function t(e){return(e.position??"right")==="left"}return[e.filter(t),e.filter(e=>!t(e))]}(t),o=t.find(e=>"search"===e.type);return(0,r.jsx)(eP,{left:(0,r.jsxs)(r.Fragment,{children:[!e.disabled&&(0,r.jsx)(eA,{}),(0,r.jsx)(q,{}),(0,r.jsx)(eC,{items:n})]}),right:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(eC,{items:a}),(0,r.jsx)(U,{className:"colorModeToggle_DEke"}),!o&&(0,r.jsx)(ef,{children:(0,r.jsx)(ed,{})})]})})}function eO(){return(0,r.jsx)(eE,{children:(0,r.jsx)(eN,{})})}function eL({item:e}){let{to:t,href:n,label:a,prependBaseUrlToHref:l,className:i,...s}=e,u=(0,G.Ay)(t),c=(0,G.Ay)(n,{forcePrependBaseUrl:!0});return(0,r.jsxs)(V.A,{className:(0,o.A)("footer__link-item",i),...n?{href:l?c:n}:{to:u},...s,children:[a,n&&!(0,W.A)(n)&&(0,r.jsx)(K.A,{})]})}function eI({item:e}){return e.html?(0,r.jsx)("li",{className:(0,o.A)("footer__item",e.className),dangerouslySetInnerHTML:{__html:e.html}}):(0,r.jsx)("li",{className:"footer__item",children:(0,r.jsx)(eL,{item:e})},e.href??e.to)}function eR({column:e}){return(0,r.jsxs)("div",{className:(0,o.A)(g.G.layout.footer.column,"col footer__col",e.className),children:[(0,r.jsx)("div",{className:"footer__title",children:e.title}),(0,r.jsx)("ul",{className:"footer__items clean-list",children:e.items.map((e,t)=>(0,r.jsx)(eI,{item:e},t))})]})}function ej({columns:e}){return(0,r.jsx)("div",{className:"row footer__links",children:e.map((e,t)=>(0,r.jsx)(eR,{column:e},t))})}function eD(){return(0,r.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function eF({item:e}){return e.html?(0,r.jsx)("span",{className:(0,o.A)("footer__link-item",e.className),dangerouslySetInnerHTML:{__html:e.html}}):(0,r.jsx)(eL,{item:e})}function eM({links:e}){return(0,r.jsx)("div",{className:"footer__links text--center",children:(0,r.jsx)("div",{className:"footer__links",children:e.map((t,n)=>(0,r.jsxs)(a.Fragment,{children:[(0,r.jsx)(eF,{item:t}),e.length!==n+1&&(0,r.jsx)(eD,{})]},n))})})}function ez({links:e}){return"title"in e[0]?(0,r.jsx)(ej,{columns:e}):(0,r.jsx)(eM,{links:e})}var eB=n(8586);function eU({logo:e}){let{withBaseUrl:t}=(0,G.hH)(),n={light:t(e.src),dark:t(e.srcDark??e.src)};return(0,r.jsx)(eB.A,{className:(0,o.A)("footer__logo",e.className),alt:e.alt,sources:n,width:e.width,height:e.height,style:e.style})}function e$({logo:e}){return e.href?(0,r.jsx)(V.A,{href:e.href,className:"footerLogoLink_BH7S",target:e.target,children:(0,r.jsx)(eU,{logo:e})}):(0,r.jsx)(eU,{logo:e})}function eq({copyright:e}){return(0,r.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:e}})}function eH({style:e,links:t,logo:n,copyright:a}){return(0,r.jsx)("footer",{className:(0,o.A)(g.G.layout.footer.container,"footer",{"footer--dark":"dark"===e}),children:(0,r.jsxs)("div",{className:"container container-fluid",children:[t,(n||a)&&(0,r.jsxs)("div",{className:"footer__bottom text--center",children:[n&&(0,r.jsx)("div",{className:"margin-bottom--sm",children:n}),a]})]})})}let eX=a.memo(function(){let{footer:e}=(0,b.p)();if(!e)return null;let{copyright:t,links:n,logo:a,style:o}=e;return(0,r.jsx)(eH,{style:o,links:n&&n.length>0&&(0,r.jsx)(ez,{links:n}),logo:a&&(0,r.jsx)(e$,{logo:a}),copyright:t&&(0,r.jsx)(eq,{copyright:t})})}),eV=(0,_.fM)([L.a,y.o,E.Tv,eg.VQ,i.Jx,function({children:e}){return(0,r.jsx)(T.y_,{children:(0,r.jsx)(x.e,{children:(0,r.jsx)(C,{children:e})})})}]);function eG({children:e}){return(0,r.jsx)(eV,{children:e})}var eW=n(2072);function eY({error:e,tryAgain:t}){return(0,r.jsx)("main",{className:"container margin-vert--xl",children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(eW.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(u.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,r.jsx)("div",{className:"margin-vert--lg",children:(0,r.jsx)(e_.a2,{onClick:t,className:"button button--primary shadow--lw"})}),(0,r.jsx)("hr",{}),(0,r.jsx)("div",{className:"margin-vert--md",children:(0,r.jsx)(e_.bq,{error:e})})]})})})}function eK(e){let{children:t,noFooter:n,wrapperClassName:a,title:s,description:u}=e;return(0,r.jsxs)(eG,{children:[(0,r.jsx)(i.be,{title:s,description:u}),(0,r.jsx)(h,{}),(0,r.jsx)(k,{}),(0,r.jsx)(eO,{}),(0,r.jsx)("div",{id:d,className:(0,o.A)(g.G.layout.main.container,g.G.wrapper.main,"mainWrapper_z2l0",a),children:(0,r.jsx)(l.A,{fallback:e=>(0,r.jsx)(eY,{...e}),children:t})}),!n&&(0,r.jsx)(eX,{})]})}},5153(e,t,n){"use strict";n.d(t,{A:()=>c});var r=n(4848);n(6540);var a=n(5310),o=n(6497),l=n(898),i=n(1022),s=n(8586);function u({logo:e,alt:t,imageClassName:n}){let a={light:(0,o.Ay)(e.src),dark:(0,o.Ay)(e.srcDark||e.src)},l=(0,r.jsx)(s.A,{className:e.className,sources:a,height:e.height,width:e.width,alt:t,style:e.style});return n?(0,r.jsx)("div",{className:n,children:l}):l}function c(e){let{siteConfig:{title:t}}=(0,l.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,o.Ay)(s?.href||"/"),m=s?.alt??(n?"":t);return(0,r.jsxs)(a.A,{to:p,...f,...s?.target&&{target:s.target},children:[s&&(0,r.jsx)(u,{logo:s,alt:m,imageClassName:c}),null!=n&&(0,r.jsx)("b",{className:d,children:n})]})}},4175(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(4848);n(6540);var a=n(3572);function o({locale:e,version:t,tag:n}){return(0,r.jsxs)(a.A,{children:[e&&(0,r.jsx)("meta",{name:"docusaurus_locale",content:e}),t&&(0,r.jsx)("meta",{name:"docusaurus_version",content:t}),n&&(0,r.jsx)("meta",{name:"docusaurus_tag",content:n}),e&&(0,r.jsx)("meta",{name:"docsearch:language",content:e}),t&&(0,r.jsx)("meta",{name:"docsearch:version",content:t}),n&&(0,r.jsx)("meta",{name:"docsearch:docusaurus_tag",content:n})]})}},8586(e,t,n){"use strict";n.d(t,{A:()=>c});var r=n(4848),a=n(6540),o=n(4164),l=n(9863),i=n(3941);let s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};function u({className:e,children:t}){let n=(0,l.A)(),{colorMode:c}=(0,i.G)();return(0,r.jsx)(r.Fragment,{children:(n?"dark"===c?["dark"]:["light"]:["light","dark"]).map(n=>{let l=t({theme:n,className:(0,o.A)(e,s.themedComponent,s[`themedComponent--${n}`])});return(0,r.jsx)(a.Fragment,{children:l},n)})})}function c(e){let{sources:t,className:n,alt:a,...o}=e;return(0,r.jsx)(u,{className:n,children:({theme:e,className:n})=>(0,r.jsx)("img",{src:t[e],alt:a,className:n,...o})})}},9510(e,t,n){"use strict";n.d(t,{N:()=>p,u:()=>i});var r=n(4848),a=n(6540),o=n(9989),l=n(269);function i({initialState:e}){let[t,n]=(0,a.useState)(e??!1),r=(0,a.useCallback)(()=>{n(e=>!e)},[]);return{collapsed:t,setCollapsed:n,toggleCollapsed:r}}let s={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function c(e,t){let n=t?s:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function d({as:e="div",collapsed:t,children:n,animation:o,onCollapseTransitionEnd:i,className:u}){let f=(0,a.useRef)(null);return!function({collapsibleRef:e,collapsed:t,animation:n}){let r=(0,a.useRef)(!1);(0,a.useEffect)(()=>{let a,o=e.current;function i(){let e,t,r,a=(e=o.scrollHeight,t=n?.duration??function(e){if((0,l.O)())return 1;let t=e/36;return Math.round((4+15*t**.25+t/5)*10)}(e),r=n?.easing??"ease-in-out",{transition:`height ${t}ms ${r}`,height:`${e}px`});o.style.transition=a.transition,o.style.height=a.height}if(!r.current){c(o,t),r.current=!0;return}return o.style.willChange="height",a=requestAnimationFrame(()=>{t?(i(),requestAnimationFrame(()=>{o.style.height=s.height,o.style.overflow=s.overflow})):(o.style.display="block",requestAnimationFrame(()=>{i()}))}),()=>cancelAnimationFrame(a)},[e,t,n])}({collapsibleRef:f,collapsed:t,animation:o}),(0,r.jsx)(e,{ref:f,onTransitionEnd:e=>{"height"===e.propertyName&&(c(f.current,t),i?.(t))},className:u,children:n})}function f({collapsed:e,...t}){let[n,l]=(0,a.useState)(!e),[i,s]=(0,a.useState)(e);return(0,o.A)(()=>{e||l(!0)},[e]),(0,o.A)(()=>{n&&s(e)},[n,e]),n?(0,r.jsx)(d,{...t,collapsed:i}):null}function p({lazy:e,...t}){return(0,r.jsx)(e?f:d,{...t})}},3337(e,t,n){"use strict";n.d(t,{M:()=>m,o:()=>p});var r=n(4848),a=n(6540),o=n(9863),l=n(1367),i=n(2260),s=n(1022);let u=(0,l.Wf)("docusaurus.announcement.dismiss"),c=(0,l.Wf)("docusaurus.announcement.id"),d=e=>u.set(String(e)),f=a.createContext(null);function p({children:e}){let t=function(){let{announcementBar:e}=(0,s.p)(),t=(0,o.A)(),[n,r]=(0,a.useState)(()=>!!t&&"true"===u.get());(0,a.useEffect)(()=>{r("true"===u.get())},[]);let l=(0,a.useCallback)(()=>{d(!0),r(!0)},[]);return(0,a.useEffect)(()=>{if(!e)return;let{id:t}=e,n=c.get();"annoucement-bar"===n&&(n="announcement-bar");let a=t!==n;c.set(t),a&&d(!1),(a||"true"!==u.get())&&r(!1)},[e]),(0,a.useMemo)(()=>({isActive:!!e&&!n,close:l}),[e,n,l])}();return(0,r.jsx)(f.Provider,{value:t,children:e})}function m(){let e=(0,a.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},3941(e,t,n){"use strict";n.d(t,{G:()=>w,a:()=>v});var r=n(4848),a=n(6540),o=n(9863),l=n(2260),i=n(1367),s=n(1022);function u(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}let c=a.createContext(void 0),d=(0,i.Wf)("theme"),f="system",p=e=>"dark"===e?"dark":"light",m=e=>null===e||e===f?null:p(e),g=()=>p(document.documentElement.getAttribute("data-theme")),h=e=>{document.documentElement.setAttribute("data-theme",p(e))},b=()=>m(document.documentElement.getAttribute("data-theme-choice")),y=e=>{document.documentElement.setAttribute("data-theme-choice",m(e)??f)};function v({children:e}){let t=function(){let{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),{colorMode:r,setColorModeState:l,colorModeChoice:i,setColorModeChoiceState:c}=function(){let{colorMode:{defaultMode:e}}=(0,s.p)(),t=(0,o.A)(),[n,r]=(0,a.useState)(t?g():e),[l,i]=(0,a.useState)(t?b():null);return(0,a.useEffect)(()=>{r(g()),i(b())},[]),{colorMode:n,setColorModeState:r,colorModeChoice:l,setColorModeChoiceState:i}}();(0,a.useEffect)(()=>{t&&d.del()},[t]);let f=(0,a.useCallback)((t,r={})=>{let{persist:a=!0}=r;if(null===t){let t=n?u():e;h(t),l(t),y(null),c(null)}else h(t),y(t),l(t),c(t);a&&(null===t?d.del():d.set(p(t)))},[l,c,n,e]);return(0,a.useEffect)(()=>d.listen(e=>{f(m(e.newValue))}),[f]),(0,a.useEffect)(()=>{if(null===i&&n){var e,t;let n;return e=e=>{l(e),h(e)},t=()=>e(u()),(n=window.matchMedia("(prefers-color-scheme: dark)")).addEventListener("change",t),()=>n.removeEventListener("change",t)}},[n,i,l]),(0,a.useMemo)(()=>({colorMode:r,colorModeChoice:i,setColorMode:f,get isDarkTheme(){return"dark"===r},setLightTheme(){f("light")},setDarkTheme(){f("dark")}}),[r,i,f])}();return(0,r.jsx)(c.Provider,{value:t,children:e})}function w(){let e=(0,a.useContext)(c);if(null==e)throw new l.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},9965(e,t,n){"use strict";n.d(t,{M:()=>p,e:()=>f});var r=n(4848),a=n(6540),o=n(7e3),l=n(3741),i=n(6629),s=n(1022),u=n(2260);let c=a.createContext(void 0);function d({handler:e}){return(0,i.$Z)(e),null}function f({children:e}){let t=function(){let e=function(){let e=(0,o.YL)(),{items:t}=(0,s.p)().navbar;return 0===t.length&&!e.component}(),t=(0,l.l)(),n=!e&&"mobile"===t,[r,i]=(0,a.useState)(!1),u=(0,a.useCallback)(()=>{i(e=>!e)},[]);return(0,a.useEffect)(()=>{"desktop"===t&&i(!1)},[t]),(0,a.useMemo)(()=>({disabled:e,shouldRender:n,toggle:u,shown:r}),[e,n,u,r])}();return(0,r.jsxs)(r.Fragment,{children:[t.shown&&(0,r.jsx)(d,{handler:()=>(t.toggle(),!1)}),(0,r.jsx)(c.Provider,{value:t,children:e})]})}function p(){let e=a.useContext(c);if(void 0===e)throw new u.dV("NavbarMobileSidebarProvider");return e}},7e3(e,t,n){"use strict";n.d(t,{GX:()=>u,YL:()=>s,y_:()=>i});var r=n(4848),a=n(6540),o=n(2260);let l=a.createContext(null);function i({children:e}){let t=(0,a.useState)({component:null,props:null});return(0,r.jsx)(l.Provider,{value:t,children:e})}function s(){let e=(0,a.useContext)(l);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u({component:e,props:t}){let n=(0,a.useContext)(l);if(!n)throw new o.dV("NavbarSecondaryMenuContentProvider");let[,r]=n,i=(0,o.Be)(t);return(0,a.useEffect)(()=>{r({component:e,props:i})},[r,e,i]),(0,a.useEffect)(()=>()=>r({component:null,props:null}),[r]),null}},3741(e,t,n){"use strict";n.d(t,{l:()=>o});var r=n(6540),a=n(1289);function o({desktopBreakpoint:e=996}={}){let[t,n]=(0,r.useState)(()=>"ssr");return(0,r.useEffect)(()=>{function t(){n(function(e){if(!a.A.canUseDOM)throw Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?"desktop":"mobile"}(e))}return t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[e]),t}},8287(e,t,n){"use strict";n.d(t,{G:()=>r});let r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},announcementBar:{container:"theme-announcement-bar"},tabs:{container:"theme-tabs-container"},layout:{navbar:{container:"theme-layout-navbar",containerLeft:"theme-layout-navbar-left",containerRight:"theme-layout-navbar-right",mobileSidebar:{container:"theme-layout-navbar-sidebar",panel:"theme-layout-navbar-sidebar-panel"}},main:{container:"theme-layout-main"},footer:{container:"theme-layout-footer",column:"theme-layout-footer-column"}},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`,docCard:{container:"theme-doc-card-container",heading:"theme-doc-card-heading",icon:"theme-doc-card-icon",title:"theme-doc-card-title",description:"theme-doc-card-description"}},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},269(e,t,n){"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},4727(e,t,n){"use strict";n.d(t,{v:()=>a});var r=n(1022);function a(e){let{navbar:{hideOnScroll:t}}=(0,r.p)();if(void 0!==e)return t?"anchorTargetHideOnScrollNavbar_vjPI":"anchorTargetStickyNavbar_Vzrq"}},3072(e,t,n){"use strict";n.d(t,{MN:()=>s,k2:()=>c,a2:()=>i,bq:()=>u});var r=n(4848),a=n(6540),o=n(568),l=n(5248);function i(e){return(0,r.jsx)("button",{type:"button",...e,children:(0,r.jsx)(o.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function s({error:e,tryAgain:t}){return(0,r.jsxs)("div",{className:"errorBoundaryFallback_VBag",children:[(0,r.jsx)("p",{children:e.message}),(0,r.jsx)(i,{onClick:t})]})}function u({error:e}){let t=(0,l.getErrorCausalChain)(e).map(e=>e.message).join("\n\nCause:\n");return(0,r.jsx)("p",{className:"errorBoundaryError_a6uf",children:t})}class c extends a.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}},6629(e,t,n){"use strict";n.d(t,{$Z:()=>l,Hl:()=>i,jy:()=>s});var r=n(6540),a=n(6347),o=n(2260);function l(e){let t,n;t=(0,a.W6)(),n=(0,o._q)((t,n)=>{if("POP"===n)return e(t,n)}),(0,r.useEffect)(()=>t.block((e,t)=>n(e,t)),[t,n])}function i(e){let t=(0,a.W6)();return(0,r.useSyncExternalStore)(t.listen,()=>e(t),()=>e({...t,location:{...t.location,search:"",hash:"",state:void 0}}))}function s(e,t){let n=(function(e,t){let n=new URLSearchParams;for(let r of e)for(let[e,a]of r.entries())"append"===t?n.append(e,a):n.set(e,a);return n})(e.map(e=>new URLSearchParams(e??"")),t).toString();return n?`?${n}`:n}},618(e,t,n){"use strict";function r(e){return Array.from(new Set(e))}function a(e,t){let n={},r=0;for(let a of e){let e=t(a,r);n[e]??=[],n[e].push(a),r+=1}return n}n.d(t,{$z:()=>a,sb:()=>r})},4308(e,t,n){"use strict";n.d(t,{Jx:()=>b,be:()=>m,e3:()=>h});var r=n(4848),a=n(6540),o=n(4164),l=n(3572),i=n(8491),s=n(6497),u=n(3899);function c({title:e}){let t=(0,u.s$)().format(e);return(0,r.jsxs)(l.A,{children:[(0,r.jsx)("title",{children:t}),(0,r.jsx)("meta",{property:"og:title",content:t})]})}function d({description:e}){return(0,r.jsxs)(l.A,{children:[(0,r.jsx)("meta",{name:"description",content:e}),(0,r.jsx)("meta",{property:"og:description",content:e})]})}function f({image:e}){let{withBaseUrl:t}=(0,s.hH)(),n=t(e,{absolute:!0});return(0,r.jsxs)(l.A,{children:[(0,r.jsx)("meta",{property:"og:image",content:n}),(0,r.jsx)("meta",{name:"twitter:image",content:n})]})}function p({keywords:e}){return(0,r.jsx)(l.A,{children:(0,r.jsx)("meta",{name:"keywords",content:Array.isArray(e)?e.join(","):e})})}function m({title:e,description:t,keywords:n,image:a,children:o}){return(0,r.jsxs)(r.Fragment,{children:[e&&(0,r.jsx)(c,{title:e}),t&&(0,r.jsx)(d,{description:t}),n&&(0,r.jsx)(p,{keywords:n}),a&&(0,r.jsx)(f,{image:a}),o&&(0,r.jsx)(l.A,{children:o})]})}let g=a.createContext(void 0);function h({className:e,children:t}){let n=a.useContext(g),i=(0,o.A)(n,e);return(0,r.jsxs)(g.Provider,{value:i,children:[(0,r.jsx)(l.A,{children:(0,r.jsx)("html",{className:i})}),t]})}function b({children:e}){var t;let n=(0,i.A)(),a=(t=n.plugin.name,`plugin-${t.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`),l=`plugin-id-${n.plugin.id}`;return(0,r.jsx)(h,{className:(0,o.A)(a,l),children:e})}},2260(e,t,n){"use strict";n.d(t,{Be:()=>u,ZC:()=>i,_q:()=>l,dV:()=>s,fM:()=>c});var r=n(4848),a=n(6540),o=n(9989);function l(e){let t=(0,a.useRef)(e);return(0,o.A)(()=>{t.current=e},[e]),(0,a.useCallback)((...e)=>t.current(...e),[])}function i(e){let t=(0,a.useRef)(void 0);return(0,o.A)(()=>{t.current=e}),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){let t=Object.entries(e);return t.sort((e,t)=>e[0].localeCompare(t[0])),(0,a.useMemo)(()=>e,t.flat())}function c(e){return({children:t})=>(0,r.jsx)(r.Fragment,{children:e.reduceRight((e,t)=>(0,r.jsx)(t,{children:e}),t)})}},9209(e,t,n){"use strict";n.d(t,{Dt:()=>i,ys:()=>l});var r=n(6540),a=n(8460),o=n(898);function l(e,t){let n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function i(){let{baseUrl:e}=(0,o.A)().siteConfig;return(0,r.useMemo)(()=>(function({baseUrl:e,routes:t}){function n(t){return t.path===e&&!0===t.exact}function r(t){return t.path===e&&!t.exact}return function e(t){if(0===t.length)return;let a=t.find(n);return a||e(t.filter(r).flatMap(e=>e.routes??[]))}(t)})({routes:a.A,baseUrl:e}),[e])}},8584(e,t,n){"use strict";n.d(t,{Mq:()=>d,Tv:()=>u,gk:()=>f});var r=n(4848),a=n(6540),o=n(1289),l=n(9863);n(9989);var i=n(2260);let s=a.createContext(void 0);function u({children:e}){let t,n=(t=(0,a.useRef)(!0),(0,a.useMemo)(()=>({scrollEventsEnabledRef:t,enableScrollEvents:()=>{t.current=!0},disableScrollEvents:()=>{t.current=!1}}),[]));return(0,r.jsx)(s.Provider,{value:n,children:e})}let c=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t=[]){let{scrollEventsEnabledRef:n}=function(){let e=(0,a.useContext)(s);if(null==e)throw new i.dV("ScrollControllerProvider");return e}(),r=(0,a.useRef)(c()),o=(0,i._q)(e);(0,a.useEffect)(()=>{let e=()=>{if(!n.current)return;let e=c();o(e,r.current),r.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)},[o,n,...t])}function f(){let e=(0,a.useRef)(null),t=(0,l.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{let r,a;e.current=t?(window.scrollTo({top:n,behavior:"smooth"}),()=>{}):(r=null,a=document.documentElement.scrollTop>n,!function e(){let t=document.documentElement.scrollTop;(a&&t>n||!a&&t<n)&&(r=requestAnimationFrame(e),window.scrollTo(0,Math.floor((t-n)*.85)+n))}(),()=>r&&cancelAnimationFrame(r))},cancelScroll:()=>e.current?.()}}},1367(e,t,n){"use strict";n.d(t,{Wf:()=>s}),n(6540);var r=JSON.parse('{"N":"localStorage","M":"-c61"}');let a=r.N;function o({key:e,oldValue:t,newValue:n,storage:r}){if(t===n)return;let a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,e,t,n,window.location.href,r),window.dispatchEvent(a)}let l=!1,i={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){let n=`${e}${r.M}`;if("u"<typeof window){function s(){throw Error(`Illegal storage API usage for storage key "${n}". +Docusaurus storage APIs are not supposed to be called on the server-rendering process. +Please only call storage APIs in effects and event handlers.`)}return{get:s,set:s,del:s,listen:s}}let u=function(e=a){if("u"<typeof window)throw Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(e){var t;return t=e,l||(console.warn(`Docusaurus browser storage is not available. +Possible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.`,t),l=!0),null}}(t?.persistence);return null===u?i:{get:()=>{try{return u.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{let t=u.getItem(n);u.setItem(n,e),o({key:n,oldValue:t,newValue:e,storage:u})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{let e=u.getItem(n);u.removeItem(n),o({key:n,oldValue:e,newValue:null,storage:u})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{let t=t=>{t.storageArea===u&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(e){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,e),()=>{}}}}}},3899(e,t,n){"use strict";n.d(t,{AL:()=>c,s$:()=>d});var r=n(4848),a=n(6540),o=n(898),l=n(8491),i=n(2260);let s=({title:e,siteTitle:t,titleDelimiter:n})=>{let r=e?.trim();return r&&r!==t?`${r} ${n} ${t}`:t},u=(0,a.createContext)(null);function c({formatter:e,children:t}){return(0,r.jsx)(u.Provider,{value:e,children:t})}function d(){let e=function(){let e=(0,a.useContext)(u);if(null===e)throw new i.dV("TitleFormatterProvider");return e}(),{siteConfig:t}=(0,o.A)(),{title:n,titleDelimiter:r}=t,{plugin:c}=(0,l.A)();return{format:t=>e({title:t,siteTitle:n,titleDelimiter:r,plugin:c,defaultFormatter:s})}}},5243(e,t,n){"use strict";n.d(t,{o:()=>l});var r=n(898),a=n(6347),o=n(5248);function l(){let{siteConfig:{baseUrl:e,trailingSlash:t},i18n:{localeConfigs:n}}=(0,r.A)(),{pathname:l}=(0,a.zy)(),i=(0,o.applyTrailingSlash)(l,{trailingSlash:t,baseUrl:e}).replace(e,"");return{createUrl:function({locale:e,fullyQualified:t}){let r=function(e){let t=n[e];if(!t)throw Error(`Unexpected Docusaurus bug, no locale config found for locale=${e}`);return t}(e),a=`${t?r.url:""}`,o=r.baseUrl;return`${a}${o}${i}`}}}},8398(e,t,n){"use strict";n.d(t,{$:()=>l});var r=n(6540),a=n(6347),o=n(2260);function l(e){let t=(0,a.zy)(),n=(0,o.ZC)(t),l=(0,o._q)(e);(0,r.useEffect)(()=>{n&&t!==n&&l({location:t,previousLocation:n})},[l,t,n])}},1022(e,t,n){"use strict";n.d(t,{p:()=>a});var r=n(898);function a(){return(0,r.A)().siteConfig.themeConfig}},4207(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=a,t.default=function(e,t){let{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#")||void 0===n)return e;let[l]=e.split(/[#?]/),i="/"===l||l===r?l:n?a(l):o(l);return e.replace(l,i)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o;let r=n(9262);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}},7541(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},5248(e,t,n){"use strict";t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0;let r=n(1635);t.blogPostContainerID="__blog-post-container";var a=n(4207);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r.__importDefault(a).default}}),n(9262);var o=n(7541);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},9262(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},4784(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>r});let r={title:"SqlParserX",tagline:"\u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305",favicon:"img/logo.png",future:{v4:{removeLegacyPostBuildHeadAttribute:!0,useCssCascadeLayers:!0,siteStorageNamespacing:!0,fasterByDefault:!0,mdx1CompatDisabledByDefault:!0},experimental_vcs:{},experimental_router:"browser",faster:{swcJsLoader:!0,swcJsMinimizer:!0,swcHtmlMinimizer:!0,lightningCssMinimizer:!0,mdxCrossCompilerCache:!0,rspackBundler:!0,rspackPersistentCache:!0,ssgWorkerThreads:!0,gitEagerVcs:!0}},url:"https://dtstack.github.io",baseUrl:"/SqlParserX/",organizationName:"DTStack",projectName:"SqlParserX",deploymentBranch:"gh-pages",trailingSlash:!1,onBrokenLinks:"throw",markdown:{mermaid:!0,hooks:{onBrokenMarkdownLinks:"warn",onBrokenMarkdownImages:"throw"},format:"mdx",emoji:!0,mdx1Compat:{comments:!1,admonitions:!1,headingIds:!1},anchors:{maintainCase:!1}},themes:["@docusaurus/theme-mermaid"],i18n:{defaultLocale:"zh-Hans",locales:["zh-Hans","en"],localeConfigs:{"zh-Hans":{label:"\u7B80\u4F53\u4E2D\u6587",direction:"ltr",htmlLang:"zh-Hans"},en:{label:"English",direction:"ltr",htmlLang:"en"}},path:"i18n"},presets:[["classic",{docs:{sidebarPath:"./sidebars.js",editUrl:"https://github.com/DTStack/SqlParserX/tree/master/website/",showLastUpdateAuthor:!1,showLastUpdateTime:!1,versions:{current:{label:"Next \u{1F6A7}"}},lastVersion:"1.0"},blog:{showReadingTime:!0,feedOptions:{type:["rss","atom"],xslt:!0},editUrl:"https://github.com/DTStack/SqlParserX/tree/master/website/",onInlineTags:"warn",onInlineAuthors:"warn",onUntruncatedBlogPosts:"warn"},theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{image:"img/social-card.svg",colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!0},announcementBar:{id:"announcement",content:"\u2B50 \u5982\u679C\u4F60\u89C9\u5F97 SqlParserX \u6709\u7528\uFF0C\u6B22\u8FCE\u5230 GitHub \u70B9\u4E2A Star",backgroundColor:"#fafbfc",textColor:"#091E42",isCloseable:!0},navbar:{title:"SqlParserX",logo:{alt:"SqlParserX Logo",src:"img/logo.png"},items:[{to:"/",label:"\u9996\u9875",position:"left"},{type:"docSidebar",sidebarId:"docs",position:"left",label:"\u6587\u6863"},{to:"/blog",label:"\u535A\u5BA2",position:"left"},{to:"/community",label:"\u793E\u533A",position:"left"},{type:"docsVersionDropdown",position:"right",dropdownItemsBefore:[],dropdownItemsAfter:[]},{type:"localeDropdown",position:"right",dropdownItemsBefore:[],dropdownItemsAfter:[]},{href:"https://github.com/DTStack/SqlParserX",position:"right",className:"header-github-link","aria-label":"GitHub repository"}],hideOnScroll:!1},footer:{style:"light",links:[{title:"\u6587\u6863",items:[{label:"\u4ECB\u7ECD",to:"/docs/about/introduction"},{label:"\u5FEB\u901F\u5F00\u59CB",to:"/docs/quickstart/setup"},{label:"\u53C2\u4E0E\u8D21\u732E",to:"/docs/contributing"}]},{title:"\u793E\u533A",items:[{label:"GitHub",href:"https://github.com/DTStack/SqlParserX"},{label:"\u535A\u5BA2",to:"/blog"},{label:"\u793E\u533A",to:"/community"}]},{title:"\u66F4\u591A",items:[{label:"\u53D1\u884C\u7248",href:"https://github.com/DTStack/SqlParserX/releases"},{label:"\u67B6\u6784\u8BBE\u8BA1",to:"/docs/about/architecture"}]}],copyright:"Copyright \xa9 2026 dtstack \xb7 SqlParserX"},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["bash","json","nginx","java","sql","python"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3},mermaid:{theme:{dark:"dark",light:"default"},options:{}}},baseUrlIssueBanner:!0,storage:{type:"localStorage",namespace:!0},onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},plugins:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1}},8168(e,t,n){"use strict";function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}n.d(t,{A:()=>r})},594(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>a})},8587(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}n.d(t,{A:()=>r})},4164(e,t,n){"use strict";n.d(t,{A:()=>r});let r=function(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=function e(t){var n,r,a="";if("string"==typeof t||"number"==typeof t)a+=t;else if("object"==typeof t)if(Array.isArray(t)){var o=t.length;for(n=0;n<o;n++)t[n]&&(r=e(t[n]))&&(a&&(a+=" "),a+=r)}else for(r in t)t[r]&&(a&&(a+=" "),a+=r);return a}(e))&&(r&&(r+=" "),r+=t);return r}},1765(e,t,n){"use strict";let r,a,o,l,i;n.d(t,{My:()=>U,f4:()=>ey});var s,u,c,d,f,p,m,g,h,b,y,v,w,S,k,x,E,_,T=n(6540),A=n(4164),C=Object.create,P=Object.defineProperty,N=Object.defineProperties,O=Object.getOwnPropertyDescriptor,L=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertyNames,R=Object.getOwnPropertySymbols,j=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,z=(e,t)=>{for(var n in t||(t={}))D.call(t,n)&&M(e,n,t[n]);if(R)for(var n of R(t))F.call(t,n)&&M(e,n,t[n]);return e},B=(e,t)=>{var n={};for(var r in e)D.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&R)for(var r of R(e))0>t.indexOf(r)&&F.call(e,r)&&(n[r]=e[r]);return n},U=(i=null!=(o=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(n[o=r.util.objId(t)])return n[o];for(var l in a={},n[o]=a,t)t.hasOwnProperty(l)&&(a[l]=e(t[l],n));return a;case"Array":if(n[o=r.util.objId(t)])return n[o];return a=[],n[o]=a,t.forEach(function(t,r){a[r]=e(t,n)}),a;default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],l={};for(var i in o)if(o.hasOwnProperty(i)){if(i==t)for(var s in n)n.hasOwnProperty(s)&&(l[s]=n[s]);n.hasOwnProperty(i)||(l[i]=o[i])}var u=a[e];return a[e]=l,r.languages.DFS(r.languages,function(t,n){n===u&&t!=e&&(this[t]=l)}),l},DFS:function e(t,n,a,o){o=o||{};var l=r.util.objId;for(var i in t)if(t.hasOwnProperty(i)){n.call(t,i,t[i],a||i);var s=t[i],u=r.util.type(s);"Object"!==u||o[l(s)]?"Array"!==u||o[l(s)]||(o[l(s)]=!0,e(s,n,i,o)):(o[l(s)]=!0,e(s,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",o),!o.grammar)throw Error('The language "'+o.language+'" has no grammar.');return o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var s in n)t[s]=n[s];delete t.rest}var u=new l;return i(u,u.head,e),function e(t,n,l,s,u,c){for(var d in l)if(l.hasOwnProperty(d)&&l[d]){var f=l[d];f=Array.isArray(f)?f:[f];for(var p=0;p<f.length;++p){if(c&&c.cause==d+","+p)return;var m=f[p],g=m.inside,h=!!m.lookbehind,b=!!m.greedy,y=m.alias;if(b&&!m.pattern.global){var v=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,v+"g")}for(var w=m.pattern||m,S=s.next,k=u;S!==n.tail&&(!c||!(k>=c.reach));k+=S.value.length,S=S.next){var x,E=S.value;if(n.length>t.length)return;if(!(E instanceof a)){var _=1;if(b){if(!(x=o(w,k,t,h))||x.index>=t.length)break;var T=x.index,A=x.index+x[0].length,C=k;for(C+=S.value.length;T>=C;)C+=(S=S.next).value.length;if(C-=S.value.length,k=C,S.value instanceof a)continue;for(var P=S;P!==n.tail&&(C<A||"string"==typeof P.value);P=P.next)_++,C+=P.value.length;_--,E=t.slice(k,C),x.index-=k}else if(!(x=o(w,0,E,h)))continue;var T=x.index,N=x[0],O=E.slice(0,T),L=E.slice(T+N.length),I=k+E.length;c&&I>c.reach&&(c.reach=I);var R=S.prev;if(O&&(R=i(n,R,O),k+=O.length),function(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}(n,R,_),S=i(n,R,new a(d,g?r.tokenize(N,g):N,y,N)),L&&i(n,S,L),_>1){var j={cause:d+","+p,reach:I};e(t,n,l,S.prev,k,j),c&&j.reach>c.reach&&(c.reach=j.reach)}}}}}}(e,u,t,u.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(u)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function i(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach(function(t){a+=e(t,n)}),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},l=t.alias;l&&(Array.isArray(l)?Array.prototype.push.apply(o.classes,l):o.classes.push(l)),r.hooks.run("wrap",o);var i="";for(var s in o.attributes)i+=" "+s+'="'+(o.attributes[s]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+i+">"+o.content+"</"+o.tag+">"},r}();t.exports=n,n.default=n}},function(){return a||(0,r[I(r)[0]])((a={exports:{}}).exports,a),a.exports})())?C(j(o)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of I(t))D.call(e,a)||a===n||P(e,a,{get:()=>t[a],enumerable:!(r=O(t,a))||r.enumerable});return e})(!l&&o&&o.__esModule?i:P(i,"default",{value:o,enumerable:!0}),o));U.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},U.languages.markup.tag.inside["attr-value"].inside.entity=U.languages.markup.entity,U.languages.markup.doctype.inside["internal-subset"].inside=U.languages.markup,U.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(U.languages.markup.tag,"addInlined",{value:function(e,t){var n={},n=(n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:U.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}),t=(n["language-"+t]={pattern:/[\s\S]+/,inside:U.languages[t]},{});t[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:n},U.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(U.languages.markup.tag,"addAttribute",{value:function(e,t){U.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:U.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),U.languages.html=U.languages.markup,U.languages.mathml=U.languages.markup,U.languages.svg=U.languages.markup,U.languages.xml=U.languages.extend("markup",{}),U.languages.ssml=U.languages.xml,U.languages.atom=U.languages.xml,U.languages.rss=U.languages.xml,s={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},c=RegExp((c="(?:[^\\\\-]|"+(u=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")")+"-"+c),d={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},U.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:c,inside:{escape:u,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":s,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:u}},"special-escape":s,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":d}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:u,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":d}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},U.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},U.languages.javascript=U.languages.extend("clike",{"class-name":[U.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),U.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,U.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:U.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:U.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:U.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:U.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:U.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),U.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:U.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),U.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),U.languages.markup&&(U.languages.markup.tag.addInlined("script","javascript"),U.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),U.languages.js=U.languages.javascript,U.languages.actionscript=U.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),U.languages.actionscript["class-name"].alias="function",delete U.languages.actionscript.parameter,delete U.languages.actionscript["literal-property"],U.languages.markup&&U.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:U.languages.markup}}),f=/#(?!\{).+/,p={pattern:/#\{[^}]+\}/,alias:"variable"},U.languages.coffeescript=U.languages.extend("javascript",{comment:f,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:p}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),U.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:f,interpolation:p}}}),U.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:U.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:p}}]}),U.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete U.languages.coffeescript["template-string"],U.languages.coffee=U.languages.coffeescript,Object.defineProperty(m=U.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/},"addSupport",{value:function(e,t){(e="string"==typeof e?[e]:e).forEach(function(e){var n=function(e){e.inside||(e.inside={}),e.inside.rest=t},r="doc-comment";if(a=U.languages[e]){var a,o=a[r];if((o=o||(a=U.languages.insertBefore(e,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[r])instanceof RegExp&&(o=a[r]={pattern:o}),Array.isArray(o))for(var l=0,i=o.length;l<i;l++)o[l]instanceof RegExp&&(o[l]={pattern:o[l]}),n(o[l]);else n(o)}})}}),m.addSupport(["java","javascript","php"],m),g=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,U.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+g.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+g.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+g.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+g.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:g,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},U.languages.css.atrule.inside.rest=U.languages.css,(g=U.languages.markup)&&(g.tag.addInlined("style","css"),g.tag.addAttribute("style","css")),h=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,U.languages.css.selector={pattern:U.languages.css.selector.pattern,lookbehind:!0,inside:h={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+h.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[h,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},U.languages.css.atrule.inside["selector-function-argument"].inside=h,U.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),h={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},b={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},U.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:h,number:b,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:h,number:b}),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ ]+"+t.source+")?|"+t.source+"(?:[ ]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function l(e,t){return t=(t||"").replace(/m/g,"")+"m",RegExp(/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e}),t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return"(?:"+a+"|"+o+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:l(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:l(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:l(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:l(o),lookbehind:!0,greedy:!0},number:{pattern:l(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(U),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return r}),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,l=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(t){["url","bold","italic","strike","code-snippet"].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add("after-tokenize",function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a,o=t[n];"code"!==o.type?e(o.content):(a=o.content[1],o=o.content[3],a&&o&&"code-language"===a.type&&"code-block"===o.type&&"string"==typeof a.content&&(a=a.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),a="language-"+(a=(/[a-z][\w-]*/i.exec(a)||[""])[0].toLowerCase()),o.alias?"string"==typeof o.alias?o.alias=[o.alias,a]:o.alias.push(a):o.alias=[a]))}}(e.tokens)}),e.hooks.add("wrap",function(t){if("code-block"===t.type){for(var n,r="",a=0,o=t.classes.length;a<o;a++){var u=t.classes[a],u=/language-(.+)/.exec(u);if(u){r=u[1];break}}var c,d=e.languages[r];d?t.content=e.highlight(t.content.replace(l,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(e,t){return"#"===(t=t.toLowerCase())[0]?s("x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1))):i[t]||e}),d,r):r&&"none"!==r&&e.plugins.autoloader&&(c="md-"+new Date().valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(r,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[r],r))}))}}),RegExp(e.languages.markup.tag.pattern.source,"gi")),i={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(U),U.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:U.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},U.hooks.add("after-tokenize",function(e){if("graphql"===e.language)for(var t=e.tokens.filter(function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type}),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(c(["definition-mutation","punctuation"])&&"("===t[n+1].content){n+=2;var o=d(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var l=t[n+0];"variable"===l.type&&(f(l,"variable-input"),a.push(l.content))}n=o+1}if(c(["punctuation","property-query"])&&"{"===t[n+0].content&&(f(t[++n+0],"property-mutation"),0<a.length)){var i=d(/^\{$/,/^\}$/);if(-1!==i)for(var s=n;s<i;s++){var u=t[s];"variable"===u.type&&0<=a.indexOf(u.content)&&f(u,"variable-input")}}}}function c(e,r){r=r||0;for(var a=0;a<e.length;a++){var o=t[n+(a+r)];if(!o||o.type!==e[a])return}return 1}function d(e,r){for(var a=1,o=n;o<t.length;o++){var l=t[o],i=l.content;if("punctuation"===l.type&&"string"==typeof i){if(e.test(i))a++;else if(r.test(i)&&0==--a)return o}}return -1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}}),U.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function l(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function i(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}e.languages.javascript["template-string"]=[l("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),l("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),l("svg",/\bsvg/.source),l("markdown",/\b(?:markdown|md)/.source),l("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),l("sql",/\bsql/.source),t].filter(Boolean);var s={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};e.hooks.add("after-tokenize",function(t){t.language in s&&function t(n){for(var l=0,s=n.length;l<s;l++){var u,c,d,f=n[l];"string"!=typeof f&&(Array.isArray(u=f.content)?"template-string"===f.type?(f=u[1],3===u.length&&"string"!=typeof f&&"embedded-code"===f.type&&(c=function e(t){return"string"==typeof t?t:Array.isArray(t)?t.map(e).join(""):e(t.content)}(f),f=Array.isArray(f=f.alias)?f[0]:f,d=e.languages[f])&&(u[1]=function(t,n,l){var s=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),u=0,c={},s=i(s.map(function(e){if("string"==typeof e)return e;for(var n,r,e=e.content;-1!==t.indexOf((r=u++,n="___"+l.toUpperCase()+"_"+r+"___")););return c[n]=e,n}).join(""),n,l),d=Object.keys(c);return u=0,function t(n){for(var o=0;o<n.length;o++){if(u>=d.length)return;var l,s,f,p,m,g,h,b=n[o];"string"==typeof b||"string"==typeof b.content?(l=d[u],-1!==(h=(g="string"==typeof b?b:b.content).indexOf(l))&&(++u,s=g.substring(0,h),m=c[l],f=void 0,(p={})["interpolation-punctuation"]=a,3===(p=e.tokenize(m,p)).length&&((f=[1,1]).push.apply(f,i(p[1],e.languages.javascript,"javascript")),p.splice.apply(p,f)),f=new e.Token("interpolation",p,r.alias,m),p=g.substring(h+l.length),m=[],s&&m.push(s),m.push(f),p&&(t(g=[p]),m.push.apply(m,g)),"string"==typeof b?(n.splice.apply(n,[o,1].concat(m)),o+=m.length-1):b.content=m)):Array.isArray(h=b.content)?t(h):t([h])}}(s),new e.Token(l,s,"language-"+l,t)}(c,d,f))):t(u):"string"!=typeof u&&t([u]))}}(t.tokens)})}(U),U.languages.typescript=U.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),U.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete U.languages.typescript.parameter,delete U.languages.typescript["literal-property"],y=U.languages.extend("typescript",{}),delete y["class-name"],U.languages.typescript["class-name"].inside=y,U.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:y}}}}),U.languages.ts=U.languages.typescript,v=U.languages.javascript,S="(@(?:arg|argument|param|property)\\s+(?:"+(w=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source)+"\\s+)?)",U.languages.jsdoc=U.languages.extend("javadoclike",{parameter:{pattern:RegExp(S+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),U.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(S+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:v,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,function(){return w})),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+w),lookbehind:!0,inside:{string:v.string,number:v.number,boolean:v.boolean,keyword:U.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:v,alias:"language-javascript"}}}}),U.languages.javadoclike.addSupport("javascript",U.languages.jsdoc),U.languages.flow=U.languages.extend("javascript",{}),U.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),U.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete U.languages.flow.parameter,U.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(U.languages.flow.keyword)||(U.languages.flow.keyword=[U.languages.flow.keyword]),U.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0}),U.languages.n4js=U.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),U.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),U.languages.n4jsd=U.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source}),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a],a=(o="RegExp"===e.util.type(o)?e.languages.javascript[a]={pattern:o}:o).inside||{};(o.inside=a)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(U),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return RegExp(e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return a}),t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(l).join(""):""};e.hooks.add("after-tokenize",function(t){"jsx"!==t.language&&"tsx"!==t.language||function t(n){for(var r=[],a=0;a<n.length;a++){var o=n[a],i=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<r.length&&r[r.length-1].tagName===l(o.content[0].content[1])&&r.pop():"/>"!==o.content[o.content.length-1].content&&r.push({tagName:l(o.content[0].content[1]),openedBraces:0}):0<r.length&&"punctuation"===o.type&&"{"===o.content?r[r.length-1].openedBraces++:0<r.length&&0<r[r.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?r[r.length-1].openedBraces--:i=!0),(i||"string"==typeof o)&&0<r.length&&0===r[r.length-1].openedBraces&&(i=l(o),a<n.length-1&&("string"==typeof n[a+1]||"plain-text"===n[a+1].type)&&(i+=l(n[a+1]),n.splice(a+1,1)),0<a&&("string"==typeof n[a-1]||"plain-text"===n[a-1].type)&&(i=l(n[a-1])+i,n.splice(a-1,1),a--),n[a]=new e.Token("plain-text",i,null,i)),o.content&&"string"!=typeof o.content&&t(o.content)}}(t.tokens)})}(U),k=U.util.clone(U.languages.typescript),(U.languages.tsx=U.languages.extend("jsx",k),delete U.languages.tsx.parameter,delete U.languages.tsx["literal-property"],k=U.languages.tsx.tag).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+k.pattern.source+")",k.pattern.flags),k.lookbehind=!0,U.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ ]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},U.languages.swift["string-literal"].forEach(function(e){e.inside.interpolation.inside=U.languages.swift}),U.languages.kotlin=U.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete U.languages.kotlin["class-name"],x={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:U.languages.kotlin}},U.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:x},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:x},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete U.languages.kotlin.string,U.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),U.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),U.languages.kt=U.languages.kotlin,U.languages.kts=U.languages.kotlin,U.languages.c=U.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),U.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),U.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},U.languages.c.string],char:U.languages.c.char,comment:U.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:U.languages.c}}}}),U.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete U.languages.c.boolean,U.languages.objectivec=U.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete U.languages.objectivec["class-name"],U.languages.objc=U.languages.objectivec,U.languages.reason=U.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),U.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete U.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return/[^\s\S]/.source}),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(U),U.languages.go=U.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),U.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete U.languages.go["class-name"],E=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,_=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,function(){return E.source}),U.languages.cpp=U.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,function(){return E.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:E,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),U.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return _})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),U.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:U.languages.cpp}}}}),U.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),U.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:U.languages.extend("cpp",{})}}),U.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},U.languages.cpp["base-clause"]),U.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},U.languages.python["string-interpolation"].inside.interpolation.inside.rest=U.languages.python,U.languages.py=U.languages.python,U.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},U.languages.webmanifest=U.languages.json;var $={},q={dracula:()=>X,duotoneDark:()=>V,duotoneLight:()=>G,github:()=>W,gruvboxMaterialDark:()=>ed,gruvboxMaterialLight:()=>ef,jettwaveDark:()=>ei,jettwaveLight:()=>es,nightOwl:()=>Y,nightOwlLight:()=>K,oceanicNext:()=>J,okaidia:()=>ee,oneDark:()=>eu,oneLight:()=>ec,palenight:()=>et,shadesOfPurple:()=>en,synthwave84:()=>er,ultramin:()=>ea,vsDark:()=>eo,vsLight:()=>el};for(var H in q)P($,H,{get:q[H],enumerable:!0});var X={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},V={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},G={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},W={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},Y={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},K={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},Q="#c5a5c5",Z="#8dc891",J={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:Q}},{types:["attr-value"],style:{color:Z}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:Z}},{types:["punctuation"],style:{color:Z}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:Q}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},ee={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},et={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},en={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},er={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},ea={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},eo={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},el={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},ei={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},es={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},eu={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},ec={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},ed={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},ef={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},ep=/\r\n|\r|\n/,em=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},eg=(e,t)=>{let n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},eh=e=>{let t=[[]],n=[e],r=[0],a=[e.length],o=0,l=0,i=[],s=[i];for(;l>-1;){for(;(o=r[l]++)<a[l];){let e,u=t[l],c=n[l][o];if("string"==typeof c?(u=l>0?u:["plain"],e=c):(u=eg(u,c.type),c.alias&&(u=eg(u,c.alias)),e=c.content),"string"!=typeof e){l++,t.push(u),n.push(e),r.push(0),a.push(e.length);continue}let d=e.split(ep),f=d.length;i.push({types:u,content:d[0]});for(let e=1;e<f;e++)em(i),s.push(i=[]),i.push({types:u,content:d[e]})}l--,t.pop(),n.pop(),r.pop(),a.pop()}return em(i),s},eb=({children:e,language:t,code:n,theme:r,prism:a})=>{let o,l=t.toLowerCase(),i=((e,t)=>{let{plain:n}=e,r=e.styles.reduce((e,n)=>{let{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach(t=>{let n=z(z({},e[t]),a);e[t]=n}),e},{});return r.root=n,r.plain=N(z({},n),L({backgroundColor:void 0})),r})(r,l),s=(0,T.useCallback)(e=>{var{className:t,style:n,line:r}=e;let a=N(z({},B(e,["className","style","line"])),L({className:(0,A.A)("token-line",t)}));return"object"==typeof i&&"plain"in i&&(a.style=i.plain),"object"==typeof n&&(a.style=z(z({},a.style||{}),n)),a},[i]),u=(o=(0,T.useCallback)(({types:e,empty:t})=>{if(null!=i)return 1===e.length&&"plain"===e[0]?null!=t?{display:"inline-block"}:void 0:1===e.length&&null!=t?i[e[0]]:Object.assign(null!=t?{display:"inline-block"}:{},...e.map(e=>i[e]))},[i]),(0,T.useCallback)(e=>{var{token:t,className:n,style:r}=e;let a=N(z({},B(e,["token","className","style"])),L({className:(0,A.A)("token",...t.types,n),children:t.content,style:o(t)}));return null!=r&&(a.style=z(z({},a.style||{}),r)),a},[o])),c=a.languages[l];return e({tokens:(({prism:e,code:t,grammar:n,language:r})=>(0,T.useMemo)(()=>{if(null==n)return eh([t]);let a={code:t,grammar:n,language:r,tokens:[]};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(t,n),e.hooks.run("after-tokenize",a),eh(a.tokens)},[t,n,r,e]))({prism:a,language:l,code:n,grammar:c}),className:`prism-code language-${l}`,style:null!=i?i.root:{},getLineProps:s,getTokenProps:u})},ey=e=>(0,T.createElement)(eb,N(z({},e),L({prism:e.prism||U,theme:e.theme||eo,code:e.code,language:e.language})))},1561(e,t,n){"use strict";n.d(t,{A:()=>r});function r(e,t){if(!e)throw Error("Invariant failed")}},1635(e,t,n){"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>j,__assign:()=>o,__asyncDelegator:()=>_,__asyncGenerator:()=>E,__asyncValues:()=>T,__await:()=>x,__awaiter:()=>m,__classPrivateFieldGet:()=>L,__classPrivateFieldIn:()=>R,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>i,__disposeResources:()=>F,__esDecorate:()=>u,__exportStar:()=>b,__extends:()=>a,__generator:()=>g,__importDefault:()=>O,__importStar:()=>N,__makeTemplateObject:()=>A,__metadata:()=>p,__param:()=>s,__propKey:()=>d,__read:()=>v,__rest:()=>l,__rewriteRelativeImportExtension:()=>M,__runInitializers:()=>c,__setFunctionName:()=>f,__spread:()=>w,__spreadArray:()=>k,__spreadArrays:()=>S,__values:()=>y,default:()=>z});var r=function(e,t){return(r=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function l(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,r=Object.getOwnPropertySymbols(e);a<r.length;a++)0>t.indexOf(r[a])&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]]);return n}function i(e,t,n,r){var a,o=arguments.length,l=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var i=e.length-1;i>=0;i--)(a=e[i])&&(l=(o<3?a(l):o>3?a(t,n,l):a(t,n))||l);return o>3&&l&&Object.defineProperty(t,n,l),l}function s(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r,a,o){function l(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var i,s=r.kind,u="getter"===s?"get":"setter"===s?"set":"value",c=!t&&e?r.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),f=!1,p=n.length-1;p>=0;p--){var m={};for(var g in r)m[g]="access"===g?{}:r[g];for(var g in r.access)m.access[g]=r.access[g];m.addInitializer=function(e){if(f)throw TypeError("Cannot add initializers after decoration has completed");o.push(l(e||null))};var h=(0,n[p])("accessor"===s?{get:d.get,set:d.set}:d[u],m);if("accessor"===s){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw TypeError("Object expected");(i=l(h.get))&&(d.get=i),(i=l(h.set))&&(d.set=i),(i=l(h.init))&&a.unshift(i)}else(i=l(h))&&("field"===s?a.unshift(i):d[u]=i)}c&&Object.defineProperty(c,r.name,d),f=!0}function c(e,t,n){for(var r=arguments.length>2,a=0;a<t.length;a++)n=r?t[a].call(e,n):t[a].call(e);return r?n:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function f(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function m(e,t,n,r){return new(n||(n=Promise))(function(a,o){function l(e){try{s(r.next(e))}catch(e){o(e)}}function i(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?a(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(l,i)}s((r=r.apply(e,t||[])).next())})}function g(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return l.next=i(0),l.throw=i(1),l.return=i(2),"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(i){return function(s){var u=[i,s];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var h=Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function b(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||h(t,e,n)}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)l.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return l}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function S(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),a=0,t=0;t<n;t++)for(var o=arguments[t],l=0,i=o.length;l<i;l++,a++)r[a]=o[l];return r}function k(e,t,n){if(n||2==arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}function x(e){return this instanceof x?(this.v=e,this):new x(e)}function E(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r,a=n.apply(e,t||[]),o=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",function(e){return function(t){return Promise.resolve(t).then(e,u)}}),r[Symbol.asyncIterator]=function(){return this},r;function l(e,t){a[e]&&(r[e]=function(t){return new Promise(function(n,r){o.push([e,t,n,r])>1||i(e,t)})},t&&(r[e]=t(r[e])))}function i(e,t){try{var n;(n=a[e](t)).value instanceof x?Promise.resolve(n.value.v).then(s,u):c(o[0][2],n)}catch(e){c(o[0][3],e)}}function s(e){i("next",e)}function u(e){i("throw",e)}function c(e,t){e(t),o.shift(),o.length&&i(o[0][0],o[0][1])}}function _(e){var t,n;return t={},r("next"),r("throw",function(e){throw e}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,a){t[r]=e[r]?function(t){return(n=!n)?{value:x(e[r](t)),done:!1}:a?a(t):t}:a}}function T(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=y(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,a){var o,l,i;o=r,l=a,i=(t=e[n](t)).done,Promise.resolve(t.value).then(function(e){o({value:e,done:i})},l)})}}}function A(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var C=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},P=function(e){return(P=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)};function N(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=P(e),r=0;r<n.length;r++)"default"!==n[r]&&h(t,e,n[r]);return C(t,e),t}function O(e){return e&&e.__esModule?e:{default:e}}function L(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function I(e,t,n,r,a){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!a)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(e,n):a?a.value=n:t.set(e,n),n}function R(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function j(e,t,n){if(null!=t){var r,a;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(n){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(a=r)}if("function"!=typeof r)throw TypeError("Object not disposable.");a&&(r=function(){try{a.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var D="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function F(e){function t(t){e.error=e.hasError?new D(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var n,r=0;return function a(){for(;n=e.stack.pop();)try{if(!n.async&&1===r)return r=0,e.stack.push(n),Promise.resolve().then(a);if(n.dispose){var o=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(o).then(a,function(e){return t(e),a()})}else r|=1}catch(e){t(e)}if(1===r)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}function M(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,n,r,a,o){return n?t?".jsx":".js":!r||a&&o?r+a+"."+o.toLowerCase()+"js":e}):e}let z={__extends:a,__assign:o,__rest:l,__decorate:i,__param:s,__esDecorate:u,__runInitializers:c,__propKey:d,__setFunctionName:f,__metadata:p,__awaiter:m,__generator:g,__createBinding:h,__exportStar:b,__values:y,__read:v,__spread:w,__spreadArrays:S,__spreadArray:k,__await:x,__asyncGenerator:E,__asyncDelegator:_,__asyncValues:T,__makeTemplateObject:A,__importStar:N,__importDefault:O,__classPrivateFieldGet:L,__classPrivateFieldSet:I,__classPrivateFieldIn:R,__addDisposableResource:j,__disposeResources:F,__rewriteRelativeImportExtension:M}},2654(e){"use strict";e.exports=JSON.parse('{"theme.AnnouncementBar.closeButtonAriaLabel":"\u5173\u95ED","theme.BackToTopButton.buttonAriaLabel":"\u56DE\u5230\u9876\u90E8","theme.CodeBlock.copied":"\u590D\u5236\u6210\u529F","theme.CodeBlock.copy":"\u590D\u5236","theme.CodeBlock.copyButtonAriaLabel":"\u590D\u5236\u4EE3\u7801\u5230\u526A\u8D34\u677F","theme.CodeBlock.wordWrapToggle":"\u5207\u6362\u81EA\u52A8\u6362\u884C","theme.DocSidebarItem.collapseCategoryAriaLabel":"\u6298\u53E0\u4FA7\u8FB9\u680F\u5206\u7C7B \'{label}\'","theme.DocSidebarItem.expandCategoryAriaLabel":"\u5C55\u5F00\u4FA7\u8FB9\u680F\u5206\u7C7B \'{label}\'","theme.ErrorPageContent.title":"\u9875\u9762\u5DF2\u5D29\u6E83\u3002","theme.ErrorPageContent.tryAgain":"\u91CD\u8BD5","theme.IconExternalLink.ariaLabel":"(opens in new tab)","theme.NavBar.navAriaLabel":"\u4E3B\u5BFC\u822A","theme.NotFound.p1":"\u6211\u4EEC\u627E\u4E0D\u5230\u60A8\u8981\u627E\u7684\u9875\u9762\u3002","theme.NotFound.p2":"\u8BF7\u8054\u7CFB\u539F\u59CB\u94FE\u63A5\u6765\u6E90\u7F51\u7AD9\u7684\u6240\u6709\u8005\uFF0C\u5E76\u544A\u77E5\u4ED6\u4EEC\u94FE\u63A5\u5DF2\u635F\u574F\u3002","theme.NotFound.title":"\u627E\u4E0D\u5230\u9875\u9762","theme.TOCCollapsible.toggleButtonLabel":"\u672C\u9875\u603B\u89C8","theme.admonition.caution":"\u8B66\u544A","theme.admonition.danger":"\u5371\u9669","theme.admonition.info":"\u4FE1\u606F","theme.admonition.note":"\u5907\u6CE8","theme.admonition.tip":"\u63D0\u793A","theme.admonition.warning":"\u6CE8\u610F","theme.blog.archive.description":"\u5386\u53F2\u535A\u6587","theme.blog.archive.title":"\u5386\u53F2\u535A\u6587","theme.blog.author.noPosts":"\u8BE5\u4F5C\u8005\u5C1A\u672A\u64B0\u5199\u4EFB\u4F55\u6587\u7AE0\u3002","theme.blog.author.pageTitle":"{authorName} - {nPosts}","theme.blog.authorsList.pageTitle":"\u4F5C\u8005","theme.blog.authorsList.viewAll":"\u67E5\u770B\u6240\u6709\u4F5C\u8005","theme.blog.paginator.navAriaLabel":"\u535A\u6587\u5217\u8868\u5206\u9875\u5BFC\u822A","theme.blog.paginator.newerEntries":"\u8F83\u65B0\u7684\u535A\u6587","theme.blog.paginator.olderEntries":"\u8F83\u65E7\u7684\u535A\u6587","theme.blog.post.paginator.navAriaLabel":"\u535A\u6587\u5206\u9875\u5BFC\u822A","theme.blog.post.paginator.newerPost":"\u8F83\u65B0\u4E00\u7BC7","theme.blog.post.paginator.olderPost":"\u8F83\u65E7\u4E00\u7BC7","theme.blog.post.plurals":"{count} \u7BC7\u535A\u6587","theme.blog.post.readMore":"\u9605\u8BFB\u66F4\u591A","theme.blog.post.readMoreLabel":"\u9605\u8BFB {title} \u7684\u5168\u6587","theme.blog.post.readingTime.plurals":"\u9605\u8BFB\u9700 {readingTime} \u5206\u949F","theme.blog.sidebar.navAriaLabel":"\u6700\u8FD1\u535A\u6587\u5BFC\u822A","theme.blog.tagTitle":"{nPosts} \u542B\u6709\u6807\u7B7E\u300C{tagName}\u300D","theme.colorToggle.ariaLabel":"\u5207\u6362\u6D45\u8272/\u6697\u9ED1\u6A21\u5F0F\uFF08\u5F53\u524D\u4E3A{mode}\uFF09","theme.colorToggle.ariaLabel.mode.dark":"\u6697\u9ED1\u6A21\u5F0F","theme.colorToggle.ariaLabel.mode.light":"\u6D45\u8272\u6A21\u5F0F","theme.colorToggle.ariaLabel.mode.system":"system mode","theme.common.editThisPage":"\u7F16\u8F91\u6B64\u9875","theme.common.headingLinkTitle":"{heading}\u7684\u76F4\u63A5\u94FE\u63A5","theme.common.skipToMainContent":"\u8DF3\u5230\u4E3B\u8981\u5185\u5BB9","theme.contentVisibility.draftBanner.message":"\u6B64\u9875\u9762\u662F\u8349\u7A3F\uFF0C\u4EC5\u5728\u5F00\u53D1\u73AF\u5883\u4E2D\u53EF\u89C1\uFF0C\u4E0D\u4F1A\u5305\u542B\u5728\u6B63\u5F0F\u7248\u672C\u4E2D\u3002","theme.contentVisibility.draftBanner.title":"\u8349\u7A3F\u9875","theme.contentVisibility.unlistedBanner.message":"\u6B64\u9875\u9762\u672A\u5217\u51FA\u3002\u641C\u7D22\u5F15\u64CE\u4E0D\u4F1A\u5BF9\u5176\u7D22\u5F15\uFF0C\u53EA\u6709\u62E5\u6709\u76F4\u63A5\u94FE\u63A5\u7684\u7528\u6237\u624D\u80FD\u8BBF\u95EE\u3002","theme.contentVisibility.unlistedBanner.title":"\u672A\u5217\u51FA\u9875","theme.docs.DocCard.categoryDescription.plurals":"{count} \u4E2A\u9879\u76EE","theme.docs.breadcrumbs.home":"\u4E3B\u9875\u9762","theme.docs.breadcrumbs.navAriaLabel":"\u9875\u9762\u8DEF\u5F84","theme.docs.paginator.navAriaLabel":"\u6587\u4EF6\u9009\u9879\u5361","theme.docs.paginator.next":"\u4E0B\u4E00\u9875","theme.docs.paginator.previous":"\u4E0A\u4E00\u9875","theme.docs.sidebar.closeSidebarButtonAriaLabel":"\u5173\u95ED\u5BFC\u822A\u680F","theme.docs.sidebar.collapseButtonAriaLabel":"\u6536\u8D77\u4FA7\u8FB9\u680F","theme.docs.sidebar.collapseButtonTitle":"\u6536\u8D77\u4FA7\u8FB9\u680F","theme.docs.sidebar.expandButtonAriaLabel":"\u5C55\u5F00\u4FA7\u8FB9\u680F","theme.docs.sidebar.expandButtonTitle":"\u5C55\u5F00\u4FA7\u8FB9\u680F","theme.docs.sidebar.navAriaLabel":"\u6587\u6863\u4FA7\u8FB9\u680F","theme.docs.sidebar.toggleSidebarButtonAriaLabel":"\u5207\u6362\u5BFC\u822A\u680F","theme.docs.tagDocListPageTitle":"{nDocsTagged}\u300C{tagName}\u300D","theme.docs.tagDocListPageTitle.nDocsTagged":"{count} \u7BC7\u6587\u6863\u5E26\u6709\u6807\u7B7E","theme.docs.versionBadge.label":"\u7248\u672C\uFF1A{versionLabel}","theme.docs.versions.latestVersionLinkLabel":"\u6700\u65B0\u7248\u672C","theme.docs.versions.latestVersionSuggestionLabel":"\u6700\u65B0\u7684\u6587\u6863\u8BF7\u53C2\u9605 {latestVersionLink} ({versionLabel})\u3002","theme.docs.versions.unmaintainedVersionLabel":"\u6B64\u4E3A {siteTitle} {versionLabel} \u7248\u7684\u6587\u6863\uFF0C\u73B0\u5DF2\u4E0D\u518D\u79EF\u6781\u7EF4\u62A4\u3002","theme.docs.versions.unreleasedVersionLabel":"\u6B64\u4E3A {siteTitle} {versionLabel} \u7248\u5C1A\u672A\u53D1\u884C\u7684\u6587\u6863\u3002","theme.lastUpdated.atDate":"\u4E8E {date} ","theme.lastUpdated.byUser":"\u7531 {user} ","theme.lastUpdated.lastUpdatedAtBy":"\u6700\u540E{byUser}{atDate}\u66F4\u65B0","theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel":"Collapse the dropdown","theme.navbar.mobileDropdown.collapseButton.expandAriaLabel":"Expand the dropdown","theme.navbar.mobileLanguageDropdown.label":"\u9009\u62E9\u8BED\u8A00","theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel":"\u2190 \u56DE\u5230\u4E3B\u83DC\u5355","theme.navbar.mobileVersionsDropdown.label":"\u9009\u62E9\u7248\u672C","theme.tags.tagsListLabel":"\u6807\u7B7E\uFF1A","theme.tags.tagsPageLink":"\u67E5\u770B\u6240\u6709\u6807\u7B7E","theme.tags.tagsPageTitle":"\u6807\u7B7E"}')},4054(e){"use strict";e.exports=JSON.parse('{"/SqlParserX/blog-514":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"4b0ae1c1"}],"__props":"13e6baf5"},"/SqlParserX/blog/archive-918":{"__comp":"9e4087bc","__context":{"plugin":"36994c47"},"__props":"207a8b88"},"/SqlParserX/blog/authors-5b8":{"__comp":"621db11d","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","__props":"bec69a53"},"/SqlParserX/blog/authors/changlu-c09":{"__comp":"33fc5bb8","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"items":[{"content":"4b0ae1c1"}],"sidebar":"814f3328","__props":"53a1f56d"},"/SqlParserX/blog/origin-of-sqlparserx-4c1":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"4a65a190"},"/SqlParserX/blog/tags-fd0":{"__comp":"01a85c17","__context":{"plugin":"36994c47"},"sidebar":"814f3328","__props":"b5ed4930"},"/SqlParserX/blog/tags/origin-2ac":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"4b0ae1c1"}],"__props":"ece1c32f"},"/SqlParserX/community-73f":{"__comp":"672ba3d6","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/SqlParserX/docs-83f":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/SqlParserX/docs/next-7de":{"__comp":"a7bd4aaa","__props":"6db0e023"},"/SqlParserX/docs/next-2ae":{"__comp":"a94703ab"},"/SqlParserX/docs/next/about/architecture-d19":{"__comp":"17896441","content":"1f1ca1a6"},"/SqlParserX/docs/next/about/introduction-088":{"__comp":"17896441","content":"51515e66"},"/SqlParserX/docs/next/contributing-fab":{"__comp":"17896441","content":"4d54d076"},"/SqlParserX/docs/next/core/field-lineage-a4d":{"__comp":"17896441","content":"a9c167f1"},"/SqlParserX/docs/next/core/function-parse-3e0":{"__comp":"17896441","content":"1f362aa0"},"/SqlParserX/docs/next/core/parameter-compile-b3b":{"__comp":"17896441","content":"a110d8f6"},"/SqlParserX/docs/next/core/sql-type-a50":{"__comp":"17896441","content":"6badde6a"},"/SqlParserX/docs/next/core/table-lineage-1b5":{"__comp":"17896441","content":"efe00fe9"},"/SqlParserX/docs/next/core/table-parse-c57":{"__comp":"17896441","content":"78900b38"},"/SqlParserX/docs/next/intro-06c":{"__comp":"17896441","content":"0e384e19"},"/SqlParserX/docs/next/quickstart/setup-0c2":{"__comp":"17896441","content":"bf45ab0e"},"/SqlParserX/docs-cdb":{"__comp":"a7bd4aaa","__props":"06409a0f"},"/SqlParserX/docs-9d5":{"__comp":"a94703ab"},"/SqlParserX/docs/about/architecture-1c0":{"__comp":"17896441","content":"dbbf4deb"},"/SqlParserX/docs/about/introduction-0c1":{"__comp":"17896441","content":"80dcd7a6"},"/SqlParserX/docs/contributing-9c3":{"__comp":"17896441","content":"ae60c7b8"},"/SqlParserX/docs/core/field-lineage-fa2":{"__comp":"17896441","content":"1f434cef"},"/SqlParserX/docs/core/function-parse-29e":{"__comp":"17896441","content":"4277cc0d"},"/SqlParserX/docs/core/parameter-compile-a26":{"__comp":"17896441","content":"26f3b9ac"},"/SqlParserX/docs/core/sql-type-57e":{"__comp":"17896441","content":"af051bb0"},"/SqlParserX/docs/core/table-lineage-05e":{"__comp":"17896441","content":"925626eb"},"/SqlParserX/docs/core/table-parse-be9":{"__comp":"17896441","content":"37f774df"},"/SqlParserX/docs/intro-d3c":{"__comp":"17896441","content":"7bd8db71"},"/SqlParserX/docs/quickstart/setup-ad9":{"__comp":"17896441","content":"e0e79246"},"/SqlParserX/-a65":{"__comp":"c4f5d8e4","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')}},function(e){e.O(0,["4014"],function(){return e(e.s=354)}),e.O()}]); \ No newline at end of file diff --git a/assets/js/runtime~main.88fc163a.js b/assets/js/runtime~main.88fc163a.js new file mode 100644 index 0000000..2112055 --- /dev/null +++ b/assets/js/runtime~main.88fc163a.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,f,c,d,b,r,t={},o={};function n(e){var a=o[e];if(void 0!==a)return a.exports;var f=o[e]={exports:{}};return t[e].call(f.exports,f,f.exports,n),f.exports}n.m=t,n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a:a}),a},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(f,c){if(1&c&&(f=this(f)),8&c||"object"==typeof f&&f&&(4&c&&f.__esModule||16&c&&"function"==typeof f.then))return f;var d=Object.create(null);n.r(d);var b={};e=e||[null,a({}),a([]),a(a)];for(var r=2&c&&f;("object"==typeof r||"function"==typeof r)&&!~e.indexOf(r);r=a(r))Object.getOwnPropertyNames(r).forEach(e=>{b[e]=()=>f[e]});return b.default=()=>f,n.d(d,b),d},n.d=(e,a)=>{for(var f in a)n.o(a,f)&&!n.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((a,f)=>(n.f[f](e,a),a),[])),n.u=e=>"assets/js/"+(({106:"17896441",1221:"621db11d",143:"925626eb",1668:"5e95c892",1833:"814f3328",1837:"dbbf4deb",191:"36994c47",2052:"1f434cef",2684:"ae60c7b8",2705:"4a65a190",3044:"a9c167f1",3056:"a7456010",3220:"acecf23e",3658:"4277cc0d",3747:"aba21aa0",4063:"6badde6a",4522:"51515e66",4702:"efe00fe9",4796:"37f774df",48:"33fc5bb8",4823:"c4f5d8e4",5217:"0e384e19",5342:"26f3b9ac",5575:"a7bd4aaa",5936:"4d54d076",6074:"ccc49370",6171:"7bd8db71",6235:"78900b38",677:"53a1f56d",6785:"a94703ab",6798:"bec69a53",7214:"1f1ca1a6",7310:"06409a0f",7496:"a6aa9e1f",7503:"a110d8f6",7599:"13e6baf5",766:"6875c492",7768:"ece1c32f",7864:"b5ed4930",8198:"6db0e023",8585:"af051bb0",859:"80dcd7a6",8893:"672ba3d6",9054:"1f362aa0",9375:"4b0ae1c1",9575:"bf45ab0e",9660:"9e4087bc",9784:"e0e79246",9786:"01a85c17",984:"207a8b88"})[e]||e)+"."+({1016:"1b255e6a",106:"06353295",1134:"9de6afc4",1221:"cd6afb65",143:"8ec80d7f",1491:"cb46ae3f",1567:"9f44ced9",1668:"a44b09d4",181:"90e2d56b",1833:"2ff0395c",1837:"bd47b7ef",1862:"1a43044f",190:"c766b1ae",191:"a19db22c",2052:"90aca92f",2107:"f3b80883",2240:"925a2a48",2268:"485f02c6",2358:"f2f121b1",2395:"66d8d46d",255:"9c291378",2684:"f2159cf2",2705:"37a16155",2853:"1bd4804e",2881:"cdbfd8a4",2951:"c9b9b0af",3009:"12978314",3017:"e8b74ccb",3044:"a288f643",3056:"5acfbe30",3220:"319d1801",3312:"b999d1ad",3535:"18db5811",3636:"d70391ac",3658:"3e705d44",3693:"178dfbe0",3747:"33b48647",3788:"070794c2",3851:"7f972b73",4063:"ff0c6a4f",4137:"1b2a1b68",4522:"dde2f931",4551:"88d2b179",4617:"6e66f439",4702:"648f2287",4709:"1ea5418e",4788:"eef239cb",4796:"88809e17",48:"3fe0f57b",480:"1eb9a3a7",4823:"97d426b8",4875:"484cb0fc",4892:"beb61f34",4936:"2ebabc8b",4950:"3fa51f56",5062:"689c71ca",5082:"46e3206e",5217:"58d81394",5250:"ce6f0efa",5342:"6771eee5",5428:"8c0b8a2a",5493:"5c969992",5505:"ad92f9fd",5575:"f3b25130",5576:"62e087a6",5651:"49615f32",5783:"7e9699db",5936:"da3daff2",6073:"79b4ff37",6074:"0fff0dec",612:"7ca96f70",6171:"6e90e258",6184:"b444265b",6235:"61168a60",6326:"27d6a633",6374:"05518a82",6520:"c5a12252",6726:"ac90325c",6762:"affd9a83",677:"5f6ee735",6771:"da21afb4",6785:"0bcffcab",6798:"55ad773a",6832:"438cdfc9",6856:"9f4ebf6f",718:"659975ba",7214:"cf742e62",7256:"bfa531c9",7310:"691e787f",7472:"e543edd6",7496:"5f4ef81b",7503:"d73a88c4",7599:"1ded3d92",766:"0883a958",7693:"12c8b0db",7768:"aa2ebd53",7864:"e99a4908",7874:"d706704a",8198:"5148d681",8272:"20c4caca",8585:"adcbbc72",859:"63daf50c",8645:"4532c47b",8665:"cdad3879",8683:"9ee3384f",8738:"3885adf6",8893:"6f76c648",8927:"68e81f0d",896:"d7dfba44",9010:"278a1aa9",9054:"9247c25c",9156:"a3122fd7",9375:"d8b39644",9575:"38f8f750",9660:"294903d8",9729:"c0276c29",9784:"7c281c81",9786:"35e1a59a",984:"b873bba7",9948:"5ccdc219",9956:"a105c9b8"})[e]+".js",n.miniCssF=e=>""+e+".css",n.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},n.l=function(e,a,c,d){if(f[e])return void f[e].push(a);if(void 0!==c)for(var b,r,t=document.getElementsByTagName("script"),o=0;o<t.length;o++){var i=t[o];if(i.getAttribute("src")==e||i.getAttribute("data-rspack")=="sqlparserx:"+c){b=i;break}}b||(r=!0,(b=document.createElement("script")).timeout=120,n.nc&&b.setAttribute("nonce",n.nc),b.setAttribute("data-rspack","sqlparserx:"+c),b.src=e),f[e]=[a];var u=function(a,c){b.onerror=b.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],b.parentNode&&b.parentNode.removeChild(b),d&&d.forEach(function(e){return e(c)}),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=u.bind(null,b.onerror),b.onload=u.bind(null,b.onload),r&&document.head.appendChild(b)},n.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c=[],n.O=(e,a,f,d)=>{if(a){d=d||0;for(var b=c.length;b>0&&c[b-1][2]>d;b--)c[b]=c[b-1];c[b]=[a,f,d];return}for(var r=1/0,b=0;b<c.length;b++){for(var a=c[b][0],f=c[b][1],d=c[b][2],t=!0,o=0;o<a.length;o++)(!1&d||r>=d)&&Object.keys(n.O).every(e=>n.O[e](a[o]))?a.splice(o--,1):(t=!1,d<r&&(r=d));if(t){c.splice(b--,1);var i=f();void 0!==i&&(e=i)}}return e},n.p="/SqlParserX/",n.rv=()=>"1.7.12",n.gca=function(e){return e=({0x11113f9:"106","33fc5bb8":"48","925626eb":"143","36994c47":"191","53a1f56d":"677","6875c492":"766","80dcd7a6":"859","207a8b88":"984","621db11d":"1221","5e95c892":"1668","814f3328":"1833",dbbf4deb:"1837","1f434cef":"2052",ae60c7b8:"2684","4a65a190":"2705",a9c167f1:"3044",a7456010:"3056",acecf23e:"3220","4277cc0d":"3658",aba21aa0:"3747","6badde6a":"4063","51515e66":"4522",efe00fe9:"4702","37f774df":"4796",c4f5d8e4:"4823","0e384e19":"5217","26f3b9ac":"5342",a7bd4aaa:"5575","4d54d076":"5936",ccc49370:"6074","7bd8db71":"6171","78900b38":"6235",a94703ab:"6785",bec69a53:"6798","1f1ca1a6":"7214","06409a0f":"7310",a6aa9e1f:"7496",a110d8f6:"7503","13e6baf5":"7599",ece1c32f:"7768",b5ed4930:"7864","6db0e023":"8198",af051bb0:"8585","672ba3d6":"8893","1f362aa0":"9054","4b0ae1c1":"9375",bf45ab0e:"9575","9e4087bc":"9660",e0e79246:"9784","01a85c17":"9786"})[e]||e,n.p+n.u(e)},d={4014:0,9783:0},n.f.j=function(e,a){var f=n.o(d,e)?d[e]:void 0;if(0!==f)if(f)a.push(f[2]);else if(/^(4014|9783)$/.test(e))d[e]=0;else{var c=new Promise((a,c)=>f=d[e]=[a,c]);a.push(f[2]=c);var b=n.p+n.u(e),r=Error();n.l(b,function(a){if(n.o(d,e)&&(0!==(f=d[e])&&(d[e]=void 0),f)){var c=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;r.message="Loading chunk "+e+" failed.\n("+c+": "+b+")",r.name="ChunkLoadError",r.type=c,r.request=b,f[1](r)}},"chunk-"+e,e)}},n.O.j=e=>0===d[e],b=(e,a)=>{var f,c,b=a[0],r=a[1],t=a[2],o=0;if(b.some(e=>0!==d[e])){for(f in r)n.o(r,f)&&(n.m[f]=r[f]);if(t)var i=t(n)}for(e&&e(a);o<b.length;o++)c=b[o],n.o(d,c)&&d[c]&&d[c][0](),d[c]=0;return n.O(i)},(r=self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).forEach(b.bind(null,0)),r.push=b.bind(null,r.push.bind(r)),n.ruid="bundler=rspack@1.7.12"})(); \ No newline at end of file diff --git a/bin/base.sh b/bin/base.sh deleted file mode 100755 index 4b4ec93..0000000 --- a/bin/base.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -source /etc/profile -unset CDPATH -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -BASEDIR="$(cd "$SCRIPT_DIR/.." && pwd)" -mkdir -p "$BASEDIR/logs" "$BASEDIR/run" - -if [ "${1:-}" = "--configtest" ]; then - CONF_DIR="$BASEDIR/conf" - if [ "${2:-}" = "-f" ] && [ -n "${3:-}" ]; then - CONF_DIR="$3" - fi - - if [ ! -f "$CONF_DIR/application.properties" ]; then - echo "Missing application.properties: $CONF_DIR/application.properties" >&2 - exit 1 - fi - - SERVER_PORT=$(awk -F= '$1 ~ /^[[:space:]]*server[.]port[[:space:]]*$/ {gsub(/[[:space:]]/, "", $2); print $2; exit}' "$CONF_DIR/application.properties") - if [[ ! "$SERVER_PORT" =~ ^[0-9]+$ ]]; then - echo "Invalid server.port in $CONF_DIR/application.properties" >&2 - exit 1 - fi - - if [ ! -d "$BASEDIR/dtstack" ] || [ ! -d "$BASEDIR/lib" ]; then - echo "Missing backend directories under $BASEDIR" >&2 - exit 1 - fi - - if ! compgen -G "$BASEDIR/dtstack/*.jar" > /dev/null; then - echo "Missing backend JAR under $BASEDIR/dtstack" >&2 - exit 1 - fi - - echo "Configuration OK (server.port=$SERVER_PORT)" - exit 0 -fi - -cd "$BASEDIR" || exit 1 -exec java ${JAVA_OPTS:-} \ - -Duser.dir.conf="$BASEDIR/conf" \ - -Duser.dir.logs="$BASEDIR/logs" \ - -cp "$BASEDIR/dtstack/*:$BASEDIR/lib/*" \ - com.dtstack.sqlparserx.SqlParserXWebApplication "$@" diff --git a/bin/centos-sqlparserx.sh b/bin/centos-sqlparserx.sh deleted file mode 100755 index 1f97024..0000000 --- a/bin/centos-sqlparserx.sh +++ /dev/null @@ -1,200 +0,0 @@ -#!/bin/bash -PATH=/sbin:/usr/sbin:/bin:/usr/bin -JAVA_HOME=/opt/dtstack/java -PATH=$JAVA_HOME/bin:$PATH -export JAVA_HOME -export PATH - -CMD_PATH=`dirname $0` -CMD_HOME=`cd "$CMD_PATH"/../; pwd` - -checkuser() { - if [ "`whoami`" != "admin" ]; then - echo "You need admin to run this script" - exit 1 - fi -} -checkuser - -LS_HOME=$CMD_HOME -LS_LOG_DIR=$CMD_HOME/logs -LS_CONF_DIR=$CMD_HOME/conf -LS_OPEN_FILES=16384 -LS_NICE=19 -KILL_ON_STOP_TIMEOUT=1 -LS_OPTS="" -REMOTE_PORT=16758 -name=sqlparserx-web -LS_HEAP_SIZE="128m" -#ls_conf=${LS_CONF_DIR}/node.yml -ls_log="${LS_LOG_DIR}/$name.log" -pidfile="${CMD_HOME}/run/$name.pid" -gc_log="${CMD_HOME}/logs/vertx.gc" -heapdump=${CMD_HOME}/heapdump.hprof - -touch $gc_log - -program=${LS_HOME}/bin/base.sh -#args="agent -f ${ls_conf} -l ${ls_log} ${LS_OPTS}" -#args="agent -f ${ls_conf} ${LS_OPTS}" - -. /etc/init.d/functions - -quiet() { - "$@" > /dev/null 2>&1 - return $? -} - -start() { - echo -n "Starting $name " - - JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=40008,suspend=n" - JAVA_OPTS="${JAVA_OPTS} -Djava.io.tmpdir=${LS_HOME} -Xloggc:${gc_log} -XX:HeapDumpPath=${heapdump}" - HOME=${LS_HOME} - export PATH HOME LS_HEAP_SIZE JAVA_OPTS LS_USE_GC_LOGGING LS_GC_LOG_FILE - #ulimit -n ${LS_OPEN_FILES} - - nice -n ${LS_NICE} sh -c " - cd $LS_HOME - exec \"$program\" $args - " 1> "${LS_LOG_DIR}/$name.stdout" 2> "${LS_LOG_DIR}/$name.err" & - - echo $! > $pidfile - ret=$? - [ $ret -eq 0 ] && success || failure; echo - return 0 -} - -stop() { - echo -n "Stoping $name " - # Try a few times to kill TERM the program - if status ; then - pid=`cat "$pidfile"` - echo "Killing $name (pid $pid) with SIGTERM" - kill -TERM $pid - # Wait for it to exit. - for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do - echo "Waiting $name (pid $pid) to die..." - status || break - sleep 1 - done - if status ; then - if [ "$KILL_ON_STOP_TIMEOUT" == "1" ] ; then - echo "Timeout reached. Killing $name (pid $pid) with SIGKILL. This may result in data loss." - kill -KILL $pid - echo "$name killed with SIGKILL." - else - echo "$name stop failed; still running." - return 1 # stop timed out and not forced - fi - else - echo -n "$name stopped " - fi - fi - ret=$? - [ $ret -eq 0 ] && success || failure; echo -} - -status() { - if [ -f "$pidfile" ] ; then - pid=`cat "$pidfile"` - if kill -0 $pid > /dev/null 2> /dev/null ; then - # process by this pid is running. - # It may not be our pid, but that's what you get with just pidfiles. - # TODO(sissel): Check if this process seems to be the same as the one we - # expect. It'd be nice to use flock here, but flock uses fork, not exec, - # so it makes it quite awkward to use in this case. - return 0 - else - return 2 # program is dead but pid file exists - fi - else - return 3 # program is not running - fi -} - -reload() { - echo -n "Reload $name " - if status ; then - kill -HUP `cat "$pidfile"` - fi - ret=$? - [ $ret -eq 0 ] && success || failure; echo -} - -force_stop() { - echo -n "Force stop $name " - if status ; then - stop - status && kill -KILL `cat "$pidfile"` - fi - ret=$? - [ $ret -eq 0 ] && success || failure; echo -} - -configtest() { - echo -n "Configtest $name " - # Check if a config file exists - if [ ! "$(ls -A ${LS_CONF_DIR}/* 2> /dev/null)" ]; then - echo "There aren't any configuration files in ${LS_CONF_DIR}" - return 1 - fi - - HOME=${LS_HOME} - export PATH HOME - - test_args="--configtest -f ${LS_CONF_DIR} ${LS_OPTS}" - $program ${test_args} - [ $? -eq 0 ] && return 0 - # Program not configured - return 6 - ret=$? - [ $ret -eq 0 ] && success || failure; echo -} - -case "$1" in - start) - status - code=$? - if [ $code -eq 0 ]; then - echo "$name is already running " - else - start - code=$? - fi - exit $code - ;; - stop) stop ;; - force-stop) force_stop ;; - status) - status - code=$? - if [ $code -eq 0 ] ; then - echo "$name is running " - else - echo "$name is not running " - fi - exit $code - ;; - reload) reload ;; - restart) - - quiet configtest - RET=$? - if [ ${RET} -ne 0 ]; then - echo "Configuration error. Not restarting. Re-run with configtest parameter for details" - exit ${RET} - fi - stop && start - ;; - configtest) - configtest - exit $? - ;; - *) - echo "Usage: $SCRIPTNAME {start|stop|force-stop|status|reload|restart|configtest}" >&2 - exit 3 - ;; -esac - -exit $? diff --git a/bin/quick/README.md b/bin/quick/README.md deleted file mode 100644 index 4dca361..0000000 --- a/bin/quick/README.md +++ /dev/null @@ -1,200 +0,0 @@ -# SqlParserX 打包部署脚本使用文档 - -`bin/quick/` 下提供了一套轻量的本地打包 / 推送部署脚本,用于把 SqlParserX 一键部署到测试或演示服务器。 - -> `deploy.conf` 包含本地服务器配置,已在 `.gitignore` 中单独忽略;脚本、示例配置和文档可提交到仓库。 - -## 一、核心功能 - -| 脚本 | 功能 | 说明 | -|------|------|------| -| `setup-ssh.sh` | 一键初始化环境 | 配置 SSH 免密登录,并按配置创建服务器目录 | -| `build.sh` | 本地打包 | 后端 Maven + UI 前端 Vite;可用 `-wf` 单独打包 website | -| `push.sh` | 一键推送部署 | 推送后端、UI 前端或 website,支持重启服务 | -| `deploy.conf` | 统一配置 | 服务器 IP、用户、部署目录(本地私有,不提交) | -| `deploy.conf.example` | 配置示例 | 复制为 `deploy.conf` 后修改 | - -## 二、快速开始 - -### 2.1 首次使用(三步完成) - -```bash -# 步骤 1:配置服务器信息 -cp deploy.conf.example deploy.conf -vim deploy.conf # 修改 SERVER_IP、SERVER_USER、SERVER_DEPLOY_DIR - -# 步骤 2:初始化环境(配置 SSH 免密 + 创建服务器目录,只需一次) -./setup-ssh.sh - -# 步骤 3:打包并部署 -./build.sh && ./push.sh -./build.sh -wf && ./push.sh -wf -``` - -### 2.2 日常使用 - -```bash -# 完整流程:打包全部 → 部署全部 → 重启服务 -./build.sh && ./build.sh -wf && ./push.sh -ba && ./push.sh -f && ./push.sh -wf && ./push.sh -r - -# Website 文档站点 -./build.sh -wf && ./push.sh -wf - -# 1、前后端部署 -# 仅打包前端 → 仅部署前端(重新部署前端最快方式) -./build.sh -f && ./push.sh -f -# 仅打包后端 → 仅部署后端 -./build.sh -b && ./push.sh -b -# 仅打包后端 → 仅部署后端(lib + 业务 jar) -./build.sh -b && ./push.sh -ba - -# 仅打包 website → 仅部署 website -./build.sh -wf && ./push.sh -wf - -# 2、重启后端服务 -./push.sh -r - -# 3、全量部署(带 lib 和 website) -./build.sh && ./build.sh -wf && ./push.sh -ba && ./push.sh -f && ./push.sh -wf && ./push.sh -r - -# 查看帮助 -./build.sh -h -./push.sh -h -``` - -## 三、执行顺序 - -``` -┌─────────────────────────────────────────────────────────────┐ -│ 完整部署流程 │ -├─────────────────────────────────────────────────────────────┤ -│ │ -│ 1. 配置 deploy.conf ← 首次执行,设置服务器信息 │ -│ ↓ │ -│ 2. ./setup-ssh.sh ← 首次执行,免密 + 建目录 │ -│ ↓ │ -│ 3. ./build.sh ← 打包后端 + 前端 │ -│ ↓ │ -│ 4. ./push.sh ← 推送到服务器 │ -│ 5. ./build.sh -wf && ./push.sh -wf ← 推送 website │ -│ ↓ │ -│ 6. ./push.sh -r ← 重启服务 │ -│ │ -└─────────────────────────────────────────────────────────────┘ -``` - -### 各脚本执行内容 - -| 步骤 | 脚本 | 执行内容 | -|------|------|----------| -| 1 | `deploy.conf` | 配置服务器 IP、用户名、部署目录 | -| 2 | `setup-ssh.sh` | 生成 SSH 密钥 → 复制公钥到服务器 → 按配置创建部署目录 | -| 3 | `build.sh` | `mvn clean package -U -DskipTests` → UI 构建到 `conf/static/front`;`-wf` 构建 website | -| 4 | `push.sh` | 推送 jar / lib / `conf/static/front`;`-wf` 推送 website 到 `conf/static/website` | -| 5 | `push.sh -r` | 调用 `$SERVER_DEPLOY_DIR/bin/centos-sqlparserx.sh restart` 重启服务 | - -## 四、配置文件说明 - -**文件位置**:`bin/quick/deploy.conf` - -```bash -# 服务器配置 -SERVER_IP="172.16.114.23" # 服务器 IP -SERVER_USER="root" # SSH 登录用户 -SERVER_DEPLOY_DIR="/opt/tools/sqlparserx" # 部署根目录 -``` - -> 脚本会自动在部署根目录下维护 `lib/`(第三方依赖)、`dtstack/`(业务 jar)、`conf/static/`(前端静态资源)、`bin/`(启停脚本)、`logs/`、`run/`。 - -## 五、产物说明 - -### 打包输出 - -| 类型 | 路径 | 说明 | -|------|------|------| -| 后端业务 jar | `sqlparserx-web/target/dtstack-platform/dtstack-platform/dtstack/*.jar` | 可执行业务 jar | -| 后端依赖 lib | `sqlparserx-web/target/dtstack-platform/dtstack-platform/lib/` | 第三方依赖 jar | -| UI 前端产物 | `conf/static/front/` | 由 `sqlparserx-ui/dist` 同步而来 | -| Website 产物 | `website/build/` | 由 `./build.sh -wf` 生成,部署到服务器 `conf/static/website/` | - -### 部署后服务器目录结构 - -``` -{SERVER_DEPLOY_DIR}/ -├── bin/ # 启停脚本(centos-sqlparserx.sh / base.sh) -├── conf/ -│ ├── application.properties # 后端配置(server.port=16758) -│ ├── logback.xml -│ └── static/ -│ ├── front/ # 解析 UI 前端 -│ └── website/ # Docusaurus 文档网站 -├── dtstack/ # 业务 jar -├── lib/ # 第三方依赖 jar -├── logs/ # 日志 -└── run/ # 运行 pid -``` - -## 六、端口与前端地址 - -| 项 | 值 | 配置位置 | -|----|----|----------| -| 后端服务端口 | `16758` | `conf/application.properties` 的 `server.port` | -| UI 前端访问地址 | `http://172.16.114.23:16758/front/` | 静态目录 `conf/static/front/` | -| Website 文档地址 | `http://172.16.114.23:16758/website/` | 静态目录 `conf/static/website/` | -| 前端 API 地址 | `http://172.16.114.23:16758` | `sqlparserx-ui/.env.production` 的 `VITE_API_URL` | - -> 说明:后端服务读取的是部署目录下 `conf/application.properties`;前端在 `build:prod` 打包时会读取 `.env.production` 中的 `VITE_API_URL`,请确保两者与目标服务器地址、端口保持一致。 - -## 七、常用命令速查 - -```bash -# 查看服务器当前部署的后端 jar -ssh $SERVER_USER@$SERVER_IP "ls -la $SERVER_DEPLOY_DIR/dtstack/*.jar" - -# 手动备份服务器 jar 包 -ssh $SERVER_USER@$SERVER_IP "cp $SERVER_DEPLOY_DIR/dtstack/xxx.jar $SERVER_DEPLOY_DIR/dtstack/xxx.jar.backup" - -# 回滚到上一个版本(先确认备份文件名) -ssh $SERVER_USER@$SERVER_IP "cd $SERVER_DEPLOY_DIR/dtstack && mv *.backup_* xxx.jar" - -# 查看服务状态 / 重启 -ssh $SERVER_USER@$SERVER_IP "cd $SERVER_DEPLOY_DIR/bin && sudo -u admin ./centos-sqlparserx.sh status" -ssh $SERVER_USER@$SERVER_IP "cd $SERVER_DEPLOY_DIR/bin && sudo -u admin ./centos-sqlparserx.sh restart" -``` - -## 八、常见问题 - -| 问题 | 解决方案 | -|------|----------| -| `配置文件不存在: deploy.conf` | 执行 `cp deploy.conf.example deploy.conf` 并修改配置 | -| `找不到业务 jar` | 先执行 `./build.sh -b` 完成打包 | -| `找不到前端产物` | 先执行 `./build.sh -f` 完成打包 | -| `找不到 website 构建产物` | 先执行 `./build.sh -wf` 完成打包 | -| `Permission denied` | 执行 `chmod +x build.sh push.sh setup-ssh.sh` | -| `rsync: command not found` | 安装 rsync:`yum install rsync` 或 `apt install rsync` | -| SSH 连接失败 | 检查 `deploy.conf` 中的 IP 和用户名,重新执行 `./setup-ssh.sh` | -| 服务重启失败(用户校验) | `centos-sqlparserx.sh` 要求以 `admin` 用户运行,脚本会自动尝试 `sudo -u admin` | -| 前端接口 404 / 跨域 | 检查 `.env.production` 的 `VITE_API_URL` 与后端实际地址、端口是否一致 | - -## 九、脚本依赖 - -| 依赖 | 版本 | 验证命令 | -|------|------|----------| -| Java | JDK 17(本地打包推荐) | `java -version` | -| Maven | 3.6+ | `mvn -version` | -| Node.js | >= 20 | `node -v` | -| npm | 6+ | `npm -v` | -| rsync | 任意 | `rsync --version` | -| ssh | 任意 | `ssh -V` | - -## 十、文件结构 - -``` -SqlParserX/bin/quick/ -├── build.sh # 本地打包脚本 -├── push.sh # 一键推送部署脚本 -├── setup-ssh.sh # 一键初始化环境(免密 + 建目录) -├── deploy.conf # 用户配置(不提交 git) -├── deploy.conf.example # 配置示例(可提交) -└── README.md # 本文档 -``` diff --git a/bin/quick/build.sh b/bin/quick/build.sh deleted file mode 100755 index 4bfc087..0000000 --- a/bin/quick/build.sh +++ /dev/null @@ -1,263 +0,0 @@ -#!/bin/bash -# ============================================ -# SqlParserX 本地打包脚本 -# 后端: Maven 打包(sqlparserx-engine + sqlparserx-web) -# 前端: Vite 打包,产物同步到项目 conf/static/front -# 文档: Docusaurus 打包,产物保留在 website/build -# 使用: 将脚本放在项目任意位置,自动识别项目根路径 -# ============================================ - -# 颜色定义 -RED='\033[0;31m' -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -BLUE='\033[0;34m' -NC='\033[0m' - -# ============================================ -# 路径自动识别 -# ============================================ -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" -FRONTEND_DIR="$PROJECT_ROOT/sqlparserx-ui" -FRONTEND_STATIC_DIR="$PROJECT_ROOT/conf/static/front" -WEBSITE_DIR="$PROJECT_ROOT/website" -DEPLOY_CONF="$SCRIPT_DIR/deploy.conf" - -if [ -f "$DEPLOY_CONF" ]; then - # shellcheck source=/dev/null - source "$DEPLOY_CONF" -fi - -# ============================================ -# 解析命令行参数 -# ============================================ -ONLY_FRONTEND=false -ONLY_BACKEND=false -ONLY_WEBSITE=false - -show_usage() { - echo "用法: $0 [选项]" - echo "选项:" - echo " -f, --frontend 仅打包 UI 前端(产物同步到 conf/static/front)" - echo " -b, --backend 仅打包后端" - echo " -wf, --website 仅打包 website 文档站点" - echo " -h, --help 显示帮助信息" - echo "" - echo "示例:" - echo " $0 # 打包全部(前端 + 后端)" - echo " $0 -f # 仅打包前端" - echo " $0 -b # 仅打包后端" - echo " $0 -wf # 仅打包 website 文档站点" -} - -while [[ $# -gt 0 ]]; do - case $1 in - -f|--frontend) - ONLY_FRONTEND=true - shift - ;; - -b|--backend) - ONLY_BACKEND=true - shift - ;; - -wf|--website) - ONLY_WEBSITE=true - shift - ;; - -h|--help) - show_usage - exit 0 - ;; - *) - echo -e "${RED}[ERROR]${NC} 未知参数: $1" - show_usage - exit 1 - ;; - esac -done - -MODE_COUNT=0 -[ "$ONLY_FRONTEND" = true ] && MODE_COUNT=$((MODE_COUNT + 1)) -[ "$ONLY_BACKEND" = true ] && MODE_COUNT=$((MODE_COUNT + 1)) -[ "$ONLY_WEBSITE" = true ] && MODE_COUNT=$((MODE_COUNT + 1)) -if [ "$MODE_COUNT" -gt 1 ]; then - echo -e "${RED}[ERROR]${NC} -f、-b、-wf 只能选择一个" - exit 1 -fi - -# ============================================ -# 工具函数 -# ============================================ -print_info() { echo -e "${BLUE}[INFO]${NC} $1"; } -print_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; } -print_error() { echo -e "${RED}[ERROR]${NC} $1"; } -print_warning() { echo -e "${YELLOW}[WARNING]${NC} $1"; } -print_separator() { echo "=========================================="; } - -# ============================================ -# 后端打包(在项目根目录执行) -# ============================================ -build_backend() { - print_info "开始打包后端..." - print_separator - - # Spotless 2.30 的 Google Java Format 与 JDK 21 不兼容;macOS 上默认选用已安装的 JDK 17。 - local build_java_home="${BUILD_JAVA_HOME:-${JAVA_HOME:-}}" - if [ -z "$build_java_home" ] && [ -x /usr/libexec/java_home ]; then - build_java_home="$(/usr/libexec/java_home -v 17 2>/dev/null || true)" - fi - if [ -n "$build_java_home" ]; then - export JAVA_HOME="$build_java_home" - export PATH="$JAVA_HOME/bin:$PATH" - print_info "Maven 使用 Java: $JAVA_HOME" - fi - - cd "$PROJECT_ROOT" || { print_error "无法进入项目根目录: $PROJECT_ROOT"; exit 1; } - print_info "当前目录: $(pwd)" - - local mvn_cmd="mvn clean package -U -DskipTests" - print_info "执行: $mvn_cmd" - $mvn_cmd - - if [ $? -ne 0 ]; then - print_error "后端打包失败" - exit 1 - fi - - print_success "后端打包成功" - local package_dir="$PROJECT_ROOT/sqlparserx-web/target/dtstack-platform/dtstack-platform" - if [ -d "$package_dir" ]; then - print_info "打包产物目录: $package_dir" - print_info " 业务 jar: $package_dir/dtstack" - print_info " 依赖 lib: $package_dir/lib ($(ls -1 "$package_dir/lib"/*.jar 2>/dev/null | wc -l | tr -d ' ') 个 jar)" - fi - print_separator -} - -# ============================================ -# 前端打包(产物同步到 conf/static) -# ============================================ -build_frontend() { - print_info "开始打包前端..." - print_separator - - if [ ! -d "$FRONTEND_DIR" ]; then - print_error "前端目录不存在: $FRONTEND_DIR" - exit 1 - fi - - cd "$FRONTEND_DIR" || { print_error "无法进入前端目录: $FRONTEND_DIR"; exit 1; } - print_info "当前目录: $(pwd)" - - if [ -d "$FRONTEND_DIR/dist" ]; then - print_info "删除旧的 dist 目录..." - rm -rf "$FRONTEND_DIR/dist" - fi - - if [ ! -x "$FRONTEND_DIR/node_modules/.bin/vite" ]; then - print_warning "未检测到前端依赖,开始执行 npm ci..." - npm ci || { print_error "前端依赖安装失败"; exit 1; } - fi - - print_info "执行: npm run build:prod" - npm run build:prod || { print_error "前端打包失败"; exit 1; } - - if [ ! -d "$FRONTEND_DIR/dist" ]; then - print_error "前端打包失败:未生成 dist 目录" - exit 1 - fi - - # 只替换 UI 目录,不影响 website 等其他静态内容 - print_info "同步产物到: $FRONTEND_STATIC_DIR" - rm -rf "$FRONTEND_STATIC_DIR" - mkdir -p "$FRONTEND_STATIC_DIR" - cp -r "$FRONTEND_DIR/dist/." "$FRONTEND_STATIC_DIR/" - - print_success "前端打包成功" - print_info "front 大小: $(du -sh "$FRONTEND_STATIC_DIR" | cut -f1),文件数: $(find "$FRONTEND_STATIC_DIR" -type f | wc -l | tr -d ' ')" - print_separator -} - -# ============================================ -# Website 文档站点打包 -# ============================================ -build_website() { - print_info "开始打包 website 文档站点..." - print_separator - - if [ ! -d "$WEBSITE_DIR" ]; then - print_error "website 目录不存在: $WEBSITE_DIR" - exit 1 - fi - - cd "$WEBSITE_DIR" || { print_error "无法进入 website 目录: $WEBSITE_DIR"; exit 1; } - print_info "当前目录: $(pwd)" - - if [ ! -x "$WEBSITE_DIR/node_modules/.bin/docusaurus" ]; then - print_warning "未检测到 website 依赖,开始执行 npm ci..." - npm ci || { print_error "website 依赖安装失败"; exit 1; } - fi - - print_info "执行: DOCUSAURUS_BASE_URL=/website/ npm run build" - DOCUSAURUS_BASE_URL="/website/" npm run build || { print_error "website 打包失败"; exit 1; } - - if [ ! -f "$WEBSITE_DIR/build/index.html" ]; then - print_error "website 打包失败:未生成 build/index.html" - exit 1 - fi - - print_success "website 打包成功" - print_info "website/build 大小: $(du -sh "$WEBSITE_DIR/build" | cut -f1),文件数: $(find "$WEBSITE_DIR/build" -type f | wc -l | tr -d ' ')" - print_separator -} - -# ============================================ -# 主函数 -# ============================================ -main() { - echo "" - print_separator - if [ "$ONLY_FRONTEND" = true ]; then - echo -e "${GREEN} SqlParserX 打包脚本(仅前端)${NC}" - elif [ "$ONLY_BACKEND" = true ]; then - echo -e "${GREEN} SqlParserX 打包脚本(仅后端)${NC}" - elif [ "$ONLY_WEBSITE" = true ]; then - echo -e "${GREEN} SqlParserX 打包脚本(仅 website)${NC}" - else - echo -e "${GREEN} SqlParserX 打包脚本(全部)${NC}" - fi - print_separator - echo "" - print_info "项目根目录: $PROJECT_ROOT" - echo "" - - START_TIME=$(date +%s) - - if [ "$ONLY_FRONTEND" = true ]; then - build_frontend - elif [ "$ONLY_BACKEND" = true ]; then - build_backend - elif [ "$ONLY_WEBSITE" = true ]; then - build_website - else - build_backend - echo "" - build_frontend - fi - - END_TIME=$(date +%s) - print_separator - print_success "打包完成!总耗时: $((END_TIME - START_TIME)) 秒" - print_separator - echo "" - echo "【后续部署提醒】" - echo " UI 前端: ./build.sh -f && ./push.sh -f" - echo " 后端: ./build.sh -b && ./push.sh -b" - echo " Website: ./build.sh -wf && ./push.sh -wf" - echo "" -} - -if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then - main -fi diff --git a/bin/quick/deploy.conf.example b/bin/quick/deploy.conf.example deleted file mode 100644 index 286ef1b..0000000 --- a/bin/quick/deploy.conf.example +++ /dev/null @@ -1,10 +0,0 @@ -# ============================================ -# SqlParserX 部署配置文件示例 -# 复制此文件为 deploy.conf 并修改配置: -# cp deploy.conf.example deploy.conf -# ============================================ - -# 服务器配置 -SERVER_IP="xx.xx.xx.xx" -SERVER_USER="root" -SERVER_DEPLOY_DIR="/opt/tools/sqlparserx" diff --git a/bin/quick/push.sh b/bin/quick/push.sh deleted file mode 100755 index f6fa71d..0000000 --- a/bin/quick/push.sh +++ /dev/null @@ -1,303 +0,0 @@ -#!/bin/bash -# ============================================ -# SqlParserX 一键推送部署脚本 -# 前端: conf/static/front -> 服务器 conf/static/front -# Website: website/build -> 服务器 conf/static/website -# 后端: 业务 jar -> 服务器 dtstack/,完整包再带 lib/ -# 使用: ./push.sh [选项] -# ============================================ - -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# 加载配置文件 -if [ -f "$SCRIPT_DIR/deploy.conf" ]; then - source "$SCRIPT_DIR/deploy.conf" -else - echo -e "\033[0;31m[ERROR]\033[0m 配置文件不存在: $SCRIPT_DIR/deploy.conf" - echo "请复制 deploy.conf.example 为 deploy.conf 并修改配置" - exit 1 -fi - -# 项目根目录自动识别(包含 sqlparserx-web) -PROJECT_ROOT="$SCRIPT_DIR" -while [ ! -d "$PROJECT_ROOT/sqlparserx-web" ] && [ "$PROJECT_ROOT" != "/" ]; do - PROJECT_ROOT="$(dirname "$PROJECT_ROOT")" -done - -# 本地路径 -BACKEND_PACKAGE_DIR="$PROJECT_ROOT/sqlparserx-web/target/dtstack-platform/dtstack-platform" -BACKEND_JAR_DIR="$BACKEND_PACKAGE_DIR/dtstack" -BACKEND_LIB_DIR="$BACKEND_PACKAGE_DIR/lib" -FRONTEND_STATIC_DIR="$PROJECT_ROOT/conf/static/front" -WEBSITE_BUILD_DIR="$PROJECT_ROOT/website/build" - -# 服务器路径 -SERVER_JAR_DIR="$SERVER_DEPLOY_DIR/dtstack" -SERVER_LIB_DIR="$SERVER_DEPLOY_DIR/lib" -SERVER_STATIC_DIR="$SERVER_DEPLOY_DIR/conf/static" -SERVER_FRONTEND_DIR="$SERVER_STATIC_DIR/front" -SERVER_WEBSITE_DIR="$SERVER_STATIC_DIR/website" -LOCAL_APPLICATION_CONFIG="$PROJECT_ROOT/conf/application.properties" - -# 服务启停脚本(位于 $SERVER_DEPLOY_DIR/bin 下,脚本内部要求以 admin 用户运行) -SERVICE_SCRIPT="centos-sqlparserx.sh" -SERVICE_USER="admin" - -# SSH 选项 -SSH_OPTS="-o StrictHostKeyChecking=no -o ConnectTimeout=10" - -# 颜色输出 -GREEN='\033[0;32m' -RED='\033[0;31m' -YELLOW='\033[1;33m' -BLUE='\033[0;34m' -NC='\033[0m' - -# ============================================ -# 解析命令行参数 -# ============================================ -ONLY_FRONTEND=false -ONLY_BACKEND=false -ONLY_BACKEND_FULL=false -ONLY_RESTART=false -ONLY_WEBSITE=false - -show_usage() { - echo "用法: $0 [选项]" - echo "选项:" - echo " -f, --frontend 仅部署 UI 前端(conf/static/front)" - echo " -b, --backend 仅部署后端(业务 jar)" - echo " -ba 部署后端完整包(业务 jar + lib)" - echo " -wf, --website 仅部署 website 文档站点" - echo " -r, --restart 仅重启服务" - echo " -h, --help 显示帮助信息" - echo "" - echo "示例:" - echo " $0 # 部署全部(前端 + 后端)" - echo " $0 -f # 仅部署前端" - echo " $0 -b # 仅部署后端" - echo " $0 -ba # 部署后端完整包(jar + lib)" - echo " $0 -wf # 部署 website 到 conf/static/website" - echo " $0 -r # 仅重启服务" -} - -while [[ $# -gt 0 ]]; do - case $1 in - -f|--frontend) - ONLY_FRONTEND=true - shift - ;; - -b|--backend) - ONLY_BACKEND=true - shift - ;; - -ba) - ONLY_BACKEND_FULL=true - shift - ;; - -wf|--website) - ONLY_WEBSITE=true - shift - ;; - -r|--restart) - ONLY_RESTART=true - shift - ;; - -h|--help) - show_usage - exit 0 - ;; - *) - echo -e "${RED}[ERROR]${NC} 未知参数: $1" - show_usage - exit 1 - ;; - esac -done - -# 只能选择一种部署模式 -MODE_COUNT=0 -[ "$ONLY_FRONTEND" = true ] && MODE_COUNT=$((MODE_COUNT + 1)) -[ "$ONLY_BACKEND" = true ] && MODE_COUNT=$((MODE_COUNT + 1)) -[ "$ONLY_BACKEND_FULL" = true ] && MODE_COUNT=$((MODE_COUNT + 1)) -[ "$ONLY_RESTART" = true ] && MODE_COUNT=$((MODE_COUNT + 1)) -[ "$ONLY_WEBSITE" = true ] && MODE_COUNT=$((MODE_COUNT + 1)) - -if [ "$MODE_COUNT" -gt 1 ]; then - echo -e "${RED}[ERROR]${NC} 不能同时指定多个部署模式" - exit 1 -fi - -# ============================================ -# 推送后端(业务 jar) -# ============================================ -deploy_backend() { - echo -e "${YELLOW}[1/2] 检查本地后端文件...${NC}" - JAR_FILE=$(find "$BACKEND_JAR_DIR" -maxdepth 1 -name "*.jar" -type f 2>/dev/null | head -1) - if [ -z "$JAR_FILE" ]; then - echo -e "${RED}✗ 找不到业务 jar,请先执行 ./build.sh -b${NC}" - return 1 - fi - echo -e "${GREEN}✓ 找到业务 jar: $(basename "$JAR_FILE")${NC}" - echo "" - - local server_port - server_port=$(awk -F= '$1 ~ /^[[:space:]]*server[.]port[[:space:]]*$/ {gsub(/[[:space:]]/, "", $2); print $2; exit}' "$LOCAL_APPLICATION_CONFIG") - if [[ ! "$server_port" =~ ^[0-9]+$ ]]; then - echo -e "${RED}✗ 无法从 $LOCAL_APPLICATION_CONFIG 读取有效的 server.port${NC}" - return 1 - fi - - echo -e "${YELLOW}[同步] 服务器后端端口设为 $server_port...${NC}" - ssh $SSH_OPTS "$SERVER_USER@$SERVER_IP" \ - "mkdir -p '$SERVER_DEPLOY_DIR/conf' && if grep -Eq '^[[:space:]]*server\\.port[[:space:]]*=' '$SERVER_DEPLOY_DIR/conf/application.properties'; then sed -i -E 's/^[[:space:]]*server\\.port[[:space:]]*=.*/server.port=$server_port/' '$SERVER_DEPLOY_DIR/conf/application.properties'; else printf '\\nserver.port=$server_port\\n' >> '$SERVER_DEPLOY_DIR/conf/application.properties'; fi" || return 1 - ssh $SSH_OPTS "$SERVER_USER@$SERVER_IP" \ - "if [ -f '$SERVER_DEPLOY_DIR/bin/centos-sqlparserx.sh' ]; then sed -i -E 's/^REMOTE_PORT=.*/REMOTE_PORT=$server_port/' '$SERVER_DEPLOY_DIR/bin/centos-sqlparserx.sh'; fi" || return 1 - rsync -avz -e "ssh $SSH_OPTS" \ - "$PROJECT_ROOT/bin/base.sh" "$PROJECT_ROOT/bin/centos-sqlparserx.sh" \ - "$SERVER_USER@$SERVER_IP:$SERVER_DEPLOY_DIR/bin/" || return 1 - - echo -e "${YELLOW}[2/2] 推送业务 jar(备份服务器旧 jar)...${NC}" - ssh $SSH_OPTS "$SERVER_USER@$SERVER_IP" \ - "mkdir -p '$SERVER_JAR_DIR'; cd '$SERVER_JAR_DIR' && for jar in *.jar; do [ -f \"\$jar\" ] && mv \"\$jar\" \"\${jar}.backup_\$(date +%Y%m%d_%H%M%S)\"; done" || return 1 - - echo -e "${BLUE}[执行] rsync -avz --progress \"$JAR_FILE\" \"$SERVER_USER@$SERVER_IP:$SERVER_JAR_DIR/\"${NC}" - rsync -avz --progress -e "ssh $SSH_OPTS" "$JAR_FILE" "$SERVER_USER@$SERVER_IP:$SERVER_JAR_DIR/" || return 1 - echo -e "${GREEN}✓ 后端业务 jar 推送完成${NC}" -} - -# ============================================ -# 推送后端完整包(业务 jar + lib) -# ============================================ -deploy_backend_full() { - deploy_backend || return 1 - echo "" - echo -e "${YELLOW}[补充] 推送 lib 目录(第三方依赖,直接覆盖)...${NC}" - - if [ ! -d "$BACKEND_LIB_DIR" ]; then - echo -e "${RED}✗ 找不到 lib 目录: $BACKEND_LIB_DIR${NC}" - return 1 - fi - echo -e "${GREEN}✓ 找到 $(find "$BACKEND_LIB_DIR" -name "*.jar" -type f | wc -l | tr -d ' ') 个依赖 jar${NC}" - - local lib_backup_dir="${SERVER_LIB_DIR}.backup_$(date +%Y%m%d_%H%M%S)" - ssh $SSH_OPTS "$SERVER_USER@$SERVER_IP" \ - "if [ -d '$SERVER_LIB_DIR' ]; then mv '$SERVER_LIB_DIR' '$lib_backup_dir'; fi; mkdir -p '$SERVER_LIB_DIR'" || return 1 - echo -e "${BLUE}[执行] rsync -avz --progress \"$BACKEND_LIB_DIR/\" \"$SERVER_USER@$SERVER_IP:$SERVER_LIB_DIR/\"${NC}" - rsync -avz --progress -e "ssh $SSH_OPTS" "$BACKEND_LIB_DIR/" "$SERVER_USER@$SERVER_IP:$SERVER_LIB_DIR/" || return 1 - echo -e "${GREEN}✓ lib 目录推送完成${NC}" -} - -# ============================================ -# 推送 UI 前端(conf/static/front) -# ============================================ -deploy_frontend() { - echo -e "${YELLOW}[1/2] 检查本地前端文件...${NC}" - if [ ! -d "$FRONTEND_STATIC_DIR" ] || [ -z "$(ls -A "$FRONTEND_STATIC_DIR" 2>/dev/null)" ]; then - echo -e "${RED}✗ 找不到前端产物 $FRONTEND_STATIC_DIR,请先执行 ./build.sh -f${NC}" - return 1 - fi - echo -e "${GREEN}✓ 找到前端产物: $FRONTEND_STATIC_DIR${NC}" - echo "" - - echo -e "${YELLOW}[2/2] 清理服务器旧 UI 文件并推送...${NC}" - ssh $SSH_OPTS "$SERVER_USER@$SERVER_IP" \ - "mkdir -p '$SERVER_FRONTEND_DIR' && find '$SERVER_FRONTEND_DIR' -mindepth 1 -maxdepth 1 -exec rm -rf {} +" || return 1 - - echo -e "${BLUE}[执行] rsync -avz --progress \"$FRONTEND_STATIC_DIR/\" \"$SERVER_USER@$SERVER_IP:$SERVER_FRONTEND_DIR/\"${NC}" - rsync -avz --progress -e "ssh $SSH_OPTS" "$FRONTEND_STATIC_DIR/" "$SERVER_USER@$SERVER_IP:$SERVER_FRONTEND_DIR/" || return 1 - echo -e "${GREEN}✓ 前端推送完成${NC}" -} - -# ============================================ -# 推送 website 文档站点 -# ============================================ -deploy_website() { - echo -e "${YELLOW}[1/2] 检查本地 website 构建产物...${NC}" - if [ ! -f "$WEBSITE_BUILD_DIR/index.html" ]; then - echo -e "${RED}✗ 找不到 website 构建产物,请先执行 ./build.sh -wf${NC}" - return 1 - fi - echo -e "${GREEN}✓ 找到 website 构建产物: $WEBSITE_BUILD_DIR${NC}" - echo "" - - echo -e "${YELLOW}[2/2] 清理服务器旧 website 文件并推送...${NC}" - ssh $SSH_OPTS "$SERVER_USER@$SERVER_IP" \ - "mkdir -p '$SERVER_WEBSITE_DIR' && find '$SERVER_WEBSITE_DIR' -mindepth 1 -maxdepth 1 -exec rm -rf {} +" || return 1 - - echo -e "${BLUE}[执行] rsync -avz --progress \"$WEBSITE_BUILD_DIR/\" \"$SERVER_USER@$SERVER_IP:$SERVER_WEBSITE_DIR/\"${NC}" - rsync -avz --progress -e "ssh $SSH_OPTS" "$WEBSITE_BUILD_DIR/" "$SERVER_USER@$SERVER_IP:$SERVER_WEBSITE_DIR/" || return 1 - echo -e "${GREEN}✓ website 文档站点推送完成${NC}" -} - -# ============================================ -# 重启服务 -# ============================================ -deploy_restart() { - echo -e "${YELLOW}[1/1] 重启服务...${NC}" - local cmd="cd '$SERVER_DEPLOY_DIR/bin' && ./$SERVICE_SCRIPT restart" - - if [ "$SERVER_USER" != "$SERVICE_USER" ]; then - cmd="cd '$SERVER_DEPLOY_DIR/bin' && sudo -u $SERVICE_USER ./$SERVICE_SCRIPT restart" - fi - - echo -e "${BLUE}[执行] ssh \"$SERVER_USER@$SERVER_IP\" \"$cmd\"${NC}" - ssh $SSH_OPTS "$SERVER_USER@$SERVER_IP" "$cmd" || return 1 - echo -e "${GREEN}✓ 服务重启完成${NC}" -} - -# ============================================ -# 主流程 -# ============================================ -echo "" -echo "==========================================" -if [ "$ONLY_FRONTEND" = true ]; then - echo " SqlParserX 推送部署(仅前端)" -elif [ "$ONLY_BACKEND" = true ]; then - echo " SqlParserX 推送部署(仅后端)" -elif [ "$ONLY_BACKEND_FULL" = true ]; then - echo " SqlParserX 推送部署(后端完整包)" -elif [ "$ONLY_RESTART" = true ]; then - echo " SqlParserX 服务重启" -elif [ "$ONLY_WEBSITE" = true ]; then - echo " SqlParserX 推送部署(仅 website)" -else - echo " SqlParserX 推送部署(全部)" -fi -echo "==========================================" -echo "" -echo -e "${BLUE}[配置信息]${NC}" -echo " 服务器: $SERVER_USER@$SERVER_IP" -echo " 部署目录: $SERVER_DEPLOY_DIR" -echo "" - -DEPLOY_FAILED=false - -if [ "$ONLY_FRONTEND" = true ]; then - deploy_frontend || DEPLOY_FAILED=true -elif [ "$ONLY_BACKEND" = true ]; then - deploy_backend || DEPLOY_FAILED=true -elif [ "$ONLY_BACKEND_FULL" = true ]; then - deploy_backend_full || DEPLOY_FAILED=true -elif [ "$ONLY_RESTART" = true ]; then - deploy_restart || DEPLOY_FAILED=true -elif [ "$ONLY_WEBSITE" = true ]; then - deploy_website || DEPLOY_FAILED=true -else - deploy_backend || DEPLOY_FAILED=true - echo "" - deploy_frontend || DEPLOY_FAILED=true -fi - -echo "" -if [ "$DEPLOY_FAILED" = true ]; then - echo "==========================================" - echo -e "${RED}✗ 部署失败${NC}" - echo "==========================================" - exit 1 -fi - -echo "==========================================" -echo -e "${GREEN}✓ 部署成功${NC}" -echo "==========================================" -echo "" diff --git a/bin/quick/setup-ssh.sh b/bin/quick/setup-ssh.sh deleted file mode 100755 index d7a27e1..0000000 --- a/bin/quick/setup-ssh.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/bash -# ============================================ -# SqlParserX 一键初始化环境 -# 1. 配置 SSH 免密登录 -# 2. 按 deploy.conf 中的路径创建服务器目录 -# 使用: ./setup-ssh.sh -# ============================================ - -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - -# 加载配置文件 -if [ -f "$SCRIPT_DIR/deploy.conf" ]; then - source "$SCRIPT_DIR/deploy.conf" -else - echo -e "\033[0;31m[ERROR]\033[0m 配置文件不存在: $SCRIPT_DIR/deploy.conf" - echo "请复制 deploy.conf.example 为 deploy.conf 并修改配置" - exit 1 -fi - -# 部署根目录下需要维护的子目录 -DEPLOY_SUB_DIRS=("lib" "dtstack" "conf/static" "conf/static/front" "conf/static/website" "bin" "logs" "run") - -echo "==========================================" -echo " SqlParserX 环境初始化" -echo "==========================================" -echo " 服务器: $SERVER_USER@$SERVER_IP" -echo " 部署目录: $SERVER_DEPLOY_DIR" -echo "==========================================" -echo "" - -# -------------------------------------------- -# 1、配置 SSH 免密登录 -# -------------------------------------------- -echo "正在配置 SSH 免密登录到 $SERVER_USER@$SERVER_IP" - -# 生成密钥(如果不存在) -if [ ! -f ~/.ssh/id_rsa ]; then - echo "生成 SSH 密钥..." - ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" -fi - -# 复制公钥到服务器(会提示输入服务器密码) -echo "请稍后输入服务器密码..." -ssh-copy-id "$SERVER_USER@$SERVER_IP" - -# 测试连接 -echo "测试免密登录..." -if ssh -o ConnectTimeout=5 "$SERVER_USER@$SERVER_IP" "echo '连接成功'"; then - echo "✅ SSH 免密登录配置成功!" -else - echo "❌ 配置失败,请检查网络和密码" - exit 1 -fi - -# -------------------------------------------- -# 2、按配置文件路径创建服务器目录 -# -------------------------------------------- -echo "" -echo "按 deploy.conf 配置创建服务器目录: $SERVER_DEPLOY_DIR" - -REMOTE_MKDIR="mkdir -p '$SERVER_DEPLOY_DIR'" -for d in "${DEPLOY_SUB_DIRS[@]}"; do - REMOTE_MKDIR="$REMOTE_MKDIR '$SERVER_DEPLOY_DIR/$d'" -done - -if ssh "$SERVER_USER@$SERVER_IP" "$REMOTE_MKDIR"; then - echo "✅ 服务器目录初始化完成" -else - echo "❌ 服务器目录初始化失败" - exit 1 -fi - -echo "" -echo "当前目录结构:" -ssh "$SERVER_USER@$SERVER_IP" "ls -la '$SERVER_DEPLOY_DIR'" -echo "" -echo "✅ 环境初始化全部完成,接下来可以执行: ./build.sh && ./push.sh" diff --git a/blog.html b/blog.html new file mode 100644 index 0000000..173ac20 --- /dev/null +++ b/blog.html @@ -0,0 +1,8 @@ +<!doctype html><html lang=zh-Hans dir=ltr class="blog-wrapper blog-list-page plugin-blog plugin-id-default" data-has-hydrated=false><head><meta charset=UTF-8><meta name=generator content="Docusaurus v3.10.2"><title data-rh=true>Blog | SqlParserX + + +

SqlParserX 的诞生起源背景与内部改造

· 阅读需 17 分钟
changlu
SqlParserX 维护者
+

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+
\ No newline at end of file diff --git a/blog/archive.html b/blog/archive.html new file mode 100644 index 0000000..b5a2397 --- /dev/null +++ b/blog/archive.html @@ -0,0 +1,4 @@ +历史博文 | SqlParserX + + +
\ No newline at end of file diff --git a/blog/atom.css b/blog/atom.css new file mode 100644 index 0000000..d2fc20b --- /dev/null +++ b/blog/atom.css @@ -0,0 +1,75 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +main { + flex: 1 0 auto; + width: 100%; + margin: 2rem auto; + max-width: 800px; + /* stylelint-disable-next-line font-family-name-quotes */ + font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell; +} + +.info { + display: block; + margin: 2rem 0; + padding: 1.6rem 2.4rem; + border: 1px solid dodgerblue; + border-left-width: 0.5rem; + border-radius: 0.4rem; + background-color: #edf5ff; +} + +a { + color: #005aff; + text-decoration: none; +} + +h1 { + text-wrap: balance; + font-size: 3.4rem; + font-weight: 800; + margin-bottom: 2rem; + display: flex; + align-items: center; +} + +h1 .rss-icon { + height: 3.2rem; + width: 3.2rem; + margin-right: 1rem; +} + +h2 { + font-size: 2.2rem; + font-weight: 700; + margin-bottom: 0.2rem; +} + +h3 { + font-size: 1.8rem; + font-weight: 700; + margin-bottom: 0.1rem; +} + +.blog-description { + font-size: 1.4rem; + margin-bottom: 0.6rem; +} + +.blog-post-date { + font-size: 1rem; + line-height: 1.4rem; + font-style: italic; + color: #797b7e; +} + +.blog-post-description { + font-size: 1rem; + line-height: 1.4rem; + color: #434349; +} diff --git a/blog/atom.xml b/blog/atom.xml new file mode 100644 index 0000000..914cc57 --- /dev/null +++ b/blog/atom.xml @@ -0,0 +1,209 @@ + + + https://dtstack.github.io/SqlParserX/blog + SqlParserX Blog + 2026-09-28T00:00:00.000Z + https://github.com/jpmonette/feed + + SqlParserX Blog + https://dtstack.github.io/SqlParserX/img/logo.png + + <![CDATA[SqlParserX 的诞生起源背景与内部改造]]> + https://dtstack.github.io/SqlParserX/blog/origin-of-sqlparserx + + 2026-09-28T00:00:00.000Z + + +

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+ + +

一、为什么需要懂解析器​

+

1.1 什么是解析器​

+

解析器是计算机科学和编程语言领域中至关重要的工具,其核心作用是将人类可理解的「形式化语言」(如代码、数据格式、表达式等)转换为机器可处理的结构,从而实现信息的解析、验证和后续处理。

+

人类使用的语言(无论是编程语言如 Python、数据格式如 JSON,还是查询语句如 SQL)本质是结构化的字符串,但机器无法直接理解这种字符串的逻辑含义。

+

例如,程序员写的 x = (a + b) * 3 是一串字符,但机器需要知道这是「先算 a + b,再乘以 3,最后赋值给 x」的运算逻辑。解析器把这个字符串解析为一棵语法树,再按规则一步步运算。

+
// 解析器 扫描解析方程 x = (a + b) * 3 得到的语法树 AST

[=]
/ \
[x] [*]
/ \
[+] [3]
/ \
[a] [b]

解释执行步骤:
1、从根节点 = 开始,表示这是一个赋值操作。
2、左子树 x 是赋值目标,右子树 * 是计算内容。
3、计算 * 时,先计算左子树 +(a + b),再乘以右子树 3。
4、最后将结果赋值给 x。
+

编程语言同理,如 C、Java 等都有特定的语法规则,通过解析器把代码转为 AST 语法树,再编译字节码、机器码来执行。

+
// 解析器 扫描解析 Java 代码 if (x > 0) { y = 10; } 得到的语法树 AST
[if]
/ \
[>] [block]
/ \ \
[x] [0] [=]
/ \
[y] [10]

解析执行步骤:
1、根节点 if 表示条件判断。
2、先计算条件 >(x > 0),如果为真:
3、进入 block 执行内部语句 y = 10。
4、如果为假,跳过整个 block。
+

解析器的作用,就是把这种字符串「拆解」为有意义的语法结构(如抽象语法树 AST),让机器能按规则执行。

+

1.2 如何实现解析器​

+

在编译器实现中,主要要做的是词法分析和语法分析:

+
    +
  • 词法分析:解析代码并生成 Token(一个单词的字面和它的种类及语义值)序列,实现一般称为扫描器(Scanner)。核心逻辑是定义 token(语义)与 scanner(扫描 token)。
  • +
  • 语法分析:利用扫描器生成的 Token 序列生成抽象语法树,实现一般称为解析器(Parser)。核心逻辑是进行语法检查,并构建由输入单词组成的层次化数据结构(语法分析树、抽象语法树等)。
  • +
+
数学表达式:1 + 2 * 3

// 首先在进行词法、语法分析前,我们先定义好 token
单词字面 Token 类型 说明
1 INTEGER 整数 1
+ ADD_OP 加法运算符
2 INTEGER 整数 2
* MUL_OP 乘法运算符
3 INTEGER 整数 3

// 1、词法分析:从前往后扫描得到一组 Token 流
[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)]

// 2、语法分析:根据运算符优先级(* 优先于 +)和 Token 流构建 AST
[+]
/ \
1 [*]
/ \
2 3
+

实现一种规则的解析器有两种方式:

+
    +
  • 方式一:不依赖任何工具,手写扫描器和解析器。
  • +
  • 方式二:使用现成的解析器生成器(Yacc、ANTLR、JavaCC 等),根据自定义语法规则文件自动生成解析器代码,从而专注于语法规则设计。
  • +
+

1.3 什么是 SQL 解析器​

+

SQL 解析器是能够将 SQL 语句转换为计算机可理解和执行结构的程序组件。它将文本形式的 SQL 转换为抽象语法树(AST),为后续的查询优化和执行提供基础。通俗地说,就是能对 SQL 进行解析、转换成语法树的工具。

+
# 查询
SELECT * FROM users WHERE status = 'active';
# 插入
INSERT INTO customers (name, email) VALUES ('李四', 'lisi@example.com');
# 更新
UPDATE products SET price = 5999 WHERE id = 1001;
# 删除
DELETE FROM logs WHERE create_time < '2024-01-01';
# 创建表
CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2));
# 修改表
ALTER TABLE employees ADD COLUMN department VARCHAR(20);
# 删除表
DROP TABLE temp_data;
# 授权
GRANT SELECT ON customers TO user1;
+

1.4 SQL 解析位于整条链路的哪个位置​

+

常见数据库执行 SQL 的整个过程:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 语义分析 → 优化SQL → 产生执行计划/执行任务
+

而 SQL 解析中间件关注的是 AST 之后的应用层能力:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 应用层(类型识别、表字段血缘、表解析、SQL脱敏)→ 子产品应用
+

这正是 SqlParserX 的定位:不重复实现数据库引擎,只基于一套统一的 AST,把「表、血缘、函数、权限改写」等解析能力做成可复用的中间件。

+
+

二、市面上常见的 SQL 解析方案​

+

在动手之前,我们先横向比较了主流方案。

+

市面上常见的解析器整体介绍

+

2.1 底层解析器件:JavaCC / ANTLR 3 / ANTLR 4​

+
特性JavaCCANTLR 3ANTLR 4
语法分析算法LL(k)LL(*)LL(*)(自适应预测)
左递归处理不支持,需手动转换需手动转换自动处理
目标语言JavaJava、C#、Python 等同 ANTLR 3
错误处理基础错误恢复增强的错误恢复智能错误恢复与诊断
语法复杂度简单直观较复杂简化(相比 ANTLR 3)
应用场景小型项目、教育中大型项目大型项目、复杂语法
+

2.2 SQL 解析器脚手架:Calcite / hive-exec​

+

所谓脚手架,是基于 JavaCC 或 ANTLR 已经实现了标准 SQL 的词法、语法规则,我们只需按其规范扩展:

+
    +
  • Calcite(基于 JavaCC):模块化、可扩展的 SQL 解析与优化框架,很多开源 SQL 引擎用它来做标准 SQL 解析与优化。
  • +
  • hive-exec(基于 ANTLR3):Hive 的核心包,支持 Hive/Spark 语法解析。
  • +
+

2.3 更「具象化」的解析器:JSqlParser / Druid​

+
    +
  • JSqlParser:基于 JavaCC,能将 SQL 转为更语义化的结构(如 select → SelectStatement),支持语法树类继承、JavaAPI 构建 SQL、语法树转 SQL;但 API 无明显的特定方言解析分层,支持的数据源解析能力较弱。
  • +
  • Druid:完全用 Java 自实现扫描器、解析器,解析出的语法树是具象化的抽象语法树(具有继承关系),并且支持按数据源分层扩展(Lexer、Parser 扫描可分层隔离)。
  • +
+

2.4 核心对比与选型结论​

+
工具依赖工具解析 SQL 能力语法树类继承优缺点
JavaCC原生定义解析规则无无需从零定义 SQL 规则
ANTLR4原生定义解析规则有,官方语法生态极好无语法生态强,但解析语法树无抽象继承关系
Calcite基于 JavaCC标准 SQL,多方言扩展、生态较弱有需手动扩展分层写语法规则,成本大
hive-exec基于 ANTLR3仅 Hive、Spark无无法扩展分层到其他数据源
JSqlParser基于 JavaCC标准 SQL,部分方言有API 无明显数据源分层
Druid原生 Java 实现扫描、解析器件支持 MySQL、Oracle、Hive、Spark、Doris、StarRocks 等有(极强)数据源生态好、AST 有继承关系;缺点是 Java 自实现扫描器,入门有难度
+

面向数栈「大量异构数据源都要有同样继承关系的语法树」的场景,需要抽象定义统一的 Insert、Select、Update、Delete 等结构。

+

基于 Druid 这样一套有继承关系的 AST,不同功能只需实现一套解析逻辑即可对应所有数据源,部分数据源再单独通过分层兼容即可。 这成为后续选型的决定性理由。

+

2.5 为什么不直接用 ANTLR4​

+

ANTLR4 生态确实很好(官方有 grammars-v4),但它的语法树没有抽象继承关系,难以在多数据源上沉淀「一套业务解析逻辑」,需要在业务层重新抽象一套结构,反而增加维护成本。Druid 的 AST 天然带继承体系,更契合我们的目标。

+
+

三、历史背景:改造前的 SQL 解析为什么难维护​

+

3.1 子产品各自为战​

+

改造前,SQL 解析散落在多个子产品中,各用各的方案:

+
离线 batchparser:SQL 类型识别、真实表解析、SQL 脱敏、行列级权限
面向 SQL 类型:rdb(mysql、oracle、doris...)、hive、spark、impala
实现:calcite & hive-exec 模块解析器,加上 druid 兜底【中间各种兼容语法正则匹配替换逻辑】

API apiparser:API 解析(预编译、非预编译)、真实表解析、行列级权限
面向 SQL 类型:rdb
实现:calcite + druid,druid 兜底

label labelparser:标签解析
实现:calcite

实时 streamparser
StreamCreateTableParser 直接使用正则匹配解析
StreamCreateViewParser 使用 hive-exec 进行表、字段血缘解析
StreamInsertParser 使用 FlinkPlanner & hive parser 进行表、字段血缘解析

资产 sqlparser:表、字段血缘解析、真实表解析、SQL 类型识别
实现:比较混乱,calcite、druid 以及 hive parser 混用
+

核心问题是:历史上针对 SQL 语法层面的扩展很少,导致语法解析「一个不行就换另一个」,各种兜底;做过语法扩展的主要是基于 Calcite 扩展了少量语法(limit、starrocks 等)。

+

3.2 历史设计架构​

+

改造前主要针对 Calcite(rdb 类型)、hive-exec(spark、hive)两类 SQL,Druid 与正则方式作为兜底。

+

改造前的历史设计架构

+

业务逻辑可以分为两类:

+

一类:SQL 类型识别、表解析、SQL 脱敏、行列级权限

+
    +
  1. 根据 SQL 类型用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 基于语法树做上述业务。
  4. +
+

另一类:血缘实现

+
    +
  1. 用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 自定义语法树,实现两套转换器(Calcite AST → 自定义 AST、hive-exec AstNode → 自定义 AST);
  4. +
  5. 针对自定义语法树写一套血缘解析逻辑。
  6. +
+
+

问题:转换与解析扫描过程中,历史上曾出现死循环导致子产品服务挂掉等各种情况。

+
+

Calcite 分层扩展文章的探索

+

3.3 主要问题​

+
    +
  1. 不同数据源语法解析扩展能力弱:不同 rdb 语法需要正则前置处理,或单独去扩展语法,且扩展语法集中在一个模块;
  2. +
  3. 使用多种解析框架、各种兜底,代码维护难:拿到语法树后的应用层解析逻辑也冗余在一起,到处是 if 判断数据源兼容逻辑,改一个地方可能影响其他地方,难以维护;
  4. +
  5. 血缘解析扩展弱、学习成本极高:需要先了解 Calcite / AstNode 的节点定义,再具备自定义语法树能力,然后扩展两层转换逻辑(还容易死循环),最后才到血缘解析本身。
  6. +
+
+

四、技术改造:双层分层​

+

技术改造围绕两个层面分层:语法解析层 与 业务解析层。

+

4.1 语法解析层(基于 Druid)​

+

语法解析层分层

+

分层实现后,扫描器、解析器都支持继承复用,且相互独立、互不影响,结构类可自定义扩展:

+

Druid 分层结构类

+
// 工具类指定数据源类型实现解析
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris);
SQLStatement statement = parser.parseStatement();

// 或直接 new 特定 Parser
DorisStatementParser statementParser = new DorisStatementParser(sql);
SQLStatement sqlStatement = statementParser.parseStatement();
+

4.2 业务解析层​

+
    +
  • 解析层:不同数据源 → 统一抽象结构语法树;
  • +
  • 应用层:针对统一 AST 实现一套解析方法;特定数据源在 AST 中自定义了部分节点时,应用层再针对该数据源的节点做分层处理。
  • +
+

业务解析分层

+

针对抽象语法树实现通用解析组件:

+

应用层通用解析组件

+

后续扩展时,若在语法层单独实现了某个节点,只需继承 BaseXxxClient,单独实现差异方法即可,重复逻辑复用:

+

继承 BaseXxxClient 扩展

+

创建 Client 后,在对应 XxxSqlParser 中注册:

+

在方言解析器中注册 Client

+

示例:

+
// 准备 SQL
String sql = getSql();

// 1、获取解析器(工厂方式)
ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2.1、解析表
ParseTableResult parseTableResult = sqlParser.parseTables(sql);
System.out.println(parseTableResult.getMainTable()); // 主表
System.out.println(parseTableResult.getAllTableName()); // 所有表

// 2.2、解析字段血缘(select * 场景可传入 tableColumnsMap 提供字段元数据)
ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap);

// 2.3、解析表血缘
TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql);

// 2.4、解析函数
Set<String> functions = sqlParser.parseFunction(sql);
+

4.3 改造后整体实现​

+

后续语法解析、业务层解析都可独立扩展:

+

改造后整体实现

+
+

五、业务层解析的重新实现​

+

历史上基于 Druid 的业务层实现很少(仅 API 解析、离线部分解析用 Druid 兜底),因此表解析、血缘解析都需要重新实现。

+

有血缘特征的 SQL 类型:insert into/overwrite ... select、create ... select、with as ... insert。

+

5.1 字段血缘解析​

+

核心思路是把来源与目标各自归一为一张二维表。

+

以一条 insert select 为例:

+
insert into new_table (id, name)
select a.id as aid, b.name as bname
from old_table as a
left join old_table2 b on a.id = b.id
+
    +
  1. 拆成两个部分:insert 目标端、select 来源端;
  2. +
  3. 各自追溯得到一组列表:
  4. +
+
# 目标端
真实字段 别名字段 真实表名
id id new_table
name name new_table

# 来源端
真实字段 别名字段 真实表名
id aid old_table
name bname old_table2
+
    +
  1. 两组按固定规则匹配,即得字段血缘:
  2. +
+
# 第一条
admin 目标端 new_table.id ← 来源端 old_table.id
# 第二条
目标端 new_table.name ← 来源端 old_table2.name
+

来源端的「真实表名 → 来源表」「真实字段 → 来源字段」,目标端的「别名字段 → 目标字段」。

+

对于 with as 场景,每个 CTE 的 () 作为一组同样归一为二维表再匹配;对于单列来源于多字段的场景(如 concat(t1.name, t2.name)),真实字段与真实表名以 , 合并,最终拆成多条血缘。

+

5.2 表血缘解析​

+

本质与字段血缘类似,更多是对表进行分组列表,一个 select 同样得到一组「表、表别名」的二维表,最终与 insert 目标表匹配即可完成表血缘。

+

5.3 表解析​

+

与表血缘类似,需要解析出所有真实表;除了追溯真实表的过程,还要合并没有被追溯到的真实表,同时覆盖比表血缘更多的 SQL 结构(select、update、delete、insert、drop、rename 等)。

+

5.4 函数解析​

+

函数与血缘无关,直接使用 Visitor 模式收集所有函数即可:

+

基于 Visitor 的函数解析

+

5.5 其他业务能力​

+
    +
  • SQL 脱敏(离线):复用字段血缘的 select column 组件拿到字段列表,再结合语法层位点能力进行改写;难点是 Druid 无精确原始 SQL 位点,需要扩展。
  • +
  • 行级权限改写 SQL:利用 Druid API 补充 AST 节点,再转回 SQL,本质是根据主体 select 封装/补充条件节点后重新输出。
  • +
+
+

六、SqlParserX 的诞生​

+

在内部双层改造验证落地之后,一个更清晰的想法出现了:能不能把「基于 Druid 的 SQL 解析」做成一个纯净、可独立演进的开源项目?

+

于是有了 SqlParserX —— 一个无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各类不同 SQL 解析的开源项目。

+

6.1 双层架构​

+

SqlParserX 将解析内核拆分为两个独立 Jar Module,结构对称、职责清晰:

+
SqlParserX(根 Reactor)
├── sqlparserx-engine(聚合父模块,packaging=pom)
│ ├── sqlparserx-syntax(jar,语法解析层,基于 Druid) ← 只管 SQL → AST
│ └── sqlparserx-core(jar,业务解析层,依赖 syntax) ← 只管 AST → 业务结果
├── sqlparserx-web(HTTP 服务)
├── sqlparserx-mcp-server-sse(MCP Server)
└── sqlparserx-ui(前端)
+
    +
  • 语法解析层(sqlparserx-syntax):统一维护 Druid 依赖、SQL→AST、多语句解析与切分,以及后续数据源 Lexer / StatementParser / AST Node 扩展;
  • +
  • 业务解析层(sqlparserx-core):基于统一 AST 实现真实表、建表结构、表/字段血缘、函数与 SQL 权限改写。
  • +
+

两层以 DbType + SQLStatement AST 作为连接契约,不额外复制一套 AST,避免长期转换与同步。详细设计见 模块依赖包引用结构设计。

+

6.2 从内部二开走向官方 Druid​

+

项目早期依赖内部二开的 Druid 版本,随着能力沉淀,SqlParserX 已统一为官方 Druid 1.2.28,降低维护成本、方便社区协作。语法层坚持「不在业务层用大量正则替换规避语法问题」,方言语法差异一律回到语法层按 Druid 的方式扩展。

+

6.3 能力与文档体系​

+

SqlParserX 不仅提供代码,也提供了一套可维护的文档体系:

+ +

6.4 目标​

+
    +
  • 无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各种数据源的 SQL 解析;
  • +
  • 语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖;
  • +
  • 新增数据源时,语法差异在语法层扩展,业务差异在业务层扩展,上下两层通过 DbType 与 AST 对齐。
  • +
+
+

七、结语​

+

从「散落各处的解析器 + 各种兜底」到「统一 AST + 双层分层」,再到「一个纯净、只依赖 Druid 的开源项目」,SqlParserX 的诞生不是一次性的重构,而是一次次把问题放回正确层次的取舍:

+
+

语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖。

+
+

如果你在做多数据源的 SQL 解析、血缘、表解析相关工作,欢迎一起交流与共建。

+
+
+

作者:changlu | 2026-09-28

+

本文图片位于 assets/ 目录,仓库内以相对路径引用。

+
]]>
+ + changlu + https://github.com/DTStack/SqlParserX + + +
+
\ No newline at end of file diff --git a/blog/atom.xsl b/blog/atom.xsl new file mode 100644 index 0000000..b4b2d96 --- /dev/null +++ b/blog/atom.xsl @@ -0,0 +1,92 @@ + + + + + + + + Atom Feed | <xsl:value-of + select="atom:feed/atom:title" + /> + + + +
+
+
+ This is an Atom feed. Subscribe by copying the URL + from the address bar into your newsreader. Visit + About Feeds to learn more + and get started. It’s free. +
+

+
+ + + + + + + + + + +
+ +

+

+ +

+
+

Recent Posts

+
+ +
+

+ +
+ +
+
+
+
+
+ + +
+
diff --git a/blog/authors.html b/blog/authors.html new file mode 100644 index 0000000..7cce606 --- /dev/null +++ b/blog/authors.html @@ -0,0 +1,4 @@ +作者 | SqlParserX + + +

作者

\ No newline at end of file diff --git a/blog/authors/changlu.html b/blog/authors/changlu.html new file mode 100644 index 0000000..378dda4 --- /dev/null +++ b/blog/authors/changlu.html @@ -0,0 +1,8 @@ +changlu - 1 篇博文 | SqlParserX + + +
changlu
SqlParserX 维护者
查看所有作者

SqlParserX 的诞生起源背景与内部改造

· 阅读需 17 分钟
changlu
SqlParserX 维护者
+

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+
\ No newline at end of file diff --git a/blog/origin-of-sqlparserx.html b/blog/origin-of-sqlparserx.html new file mode 100644 index 0000000..2925148 --- /dev/null +++ b/blog/origin-of-sqlparserx.html @@ -0,0 +1,190 @@ +SqlParserX 的诞生起源背景与内部改造 | SqlParserX + + +

SqlParserX 的诞生起源背景与内部改造

· 阅读需 17 分钟
changlu
SqlParserX 维护者
+

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+
+ +

一、为什么需要懂解析器​

+

1.1 什么是解析器​

+

解析器是计算机科学和编程语言领域中至关重要的工具,其核心作用是将人类可理解的「形式化语言」(如代码、数据格式、表达式等)转换为机器可处理的结构,从而实现信息的解析、验证和后续处理。

+

人类使用的语言(无论是编程语言如 Python、数据格式如 JSON,还是查询语句如 SQL)本质是结构化的字符串,但机器无法直接理解这种字符串的逻辑含义。

+

例如,程序员写的 x = (a + b) * 3 是一串字符,但机器需要知道这是「先算 a + b,再乘以 3,最后赋值给 x」的运算逻辑。解析器把这个字符串解析为一棵语法树,再按规则一步步运算。

+
// 解析器 扫描解析方程 x = (a + b) * 3 得到的语法树 AST

[=]
/ \
[x] [*]
/ \
[+] [3]
/ \
[a] [b]

解释执行步骤:
1、从根节点 = 开始,表示这是一个赋值操作。
2、左子树 x 是赋值目标,右子树 * 是计算内容。
3、计算 * 时,先计算左子树 +(a + b),再乘以右子树 3。
4、最后将结果赋值给 x。
+

编程语言同理,如 C、Java 等都有特定的语法规则,通过解析器把代码转为 AST 语法树,再编译字节码、机器码来执行。

+
// 解析器 扫描解析 Java 代码 if (x > 0) { y = 10; } 得到的语法树 AST
[if]
/ \
[>] [block]
/ \ \
[x] [0] [=]
/ \
[y] [10]

解析执行步骤:
1、根节点 if 表示条件判断。
2、先计算条件 >(x > 0),如果为真:
3、进入 block 执行内部语句 y = 10。
4、如果为假,跳过整个 block。
+

解析器的作用,就是把这种字符串「拆解」为有意义的语法结构(如抽象语法树 AST),让机器能按规则执行。

+

1.2 如何实现解析器​

+

在编译器实现中,主要要做的是词法分析和语法分析:

+
    +
  • 词法分析:解析代码并生成 Token(一个单词的字面和它的种类及语义值)序列,实现一般称为扫描器(Scanner)。核心逻辑是定义 token(语义)与 scanner(扫描 token)。
  • +
  • 语法分析:利用扫描器生成的 Token 序列生成抽象语法树,实现一般称为解析器(Parser)。核心逻辑是进行语法检查,并构建由输入单词组成的层次化数据结构(语法分析树、抽象语法树等)。
  • +
+
数学表达式:1 + 2 * 3

// 首先在进行词法、语法分析前,我们先定义好 token
单词字面 Token 类型 说明
1 INTEGER 整数 1
+ ADD_OP 加法运算符
2 INTEGER 整数 2
* MUL_OP 乘法运算符
3 INTEGER 整数 3

// 1、词法分析:从前往后扫描得到一组 Token 流
[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)]

// 2、语法分析:根据运算符优先级(* 优先于 +)和 Token 流构建 AST
[+]
/ \
1 [*]
/ \
2 3
+

实现一种规则的解析器有两种方式:

+
    +
  • 方式一:不依赖任何工具,手写扫描器和解析器。
  • +
  • 方式二:使用现成的解析器生成器(Yacc、ANTLR、JavaCC 等),根据自定义语法规则文件自动生成解析器代码,从而专注于语法规则设计。
  • +
+

1.3 什么是 SQL 解析器​

+

SQL 解析器是能够将 SQL 语句转换为计算机可理解和执行结构的程序组件。它将文本形式的 SQL 转换为抽象语法树(AST),为后续的查询优化和执行提供基础。通俗地说,就是能对 SQL 进行解析、转换成语法树的工具。

+
# 查询
SELECT * FROM users WHERE status = 'active';
# 插入
INSERT INTO customers (name, email) VALUES ('李四', 'lisi@example.com');
# 更新
UPDATE products SET price = 5999 WHERE id = 1001;
# 删除
DELETE FROM logs WHERE create_time < '2024-01-01';
# 创建表
CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2));
# 修改表
ALTER TABLE employees ADD COLUMN department VARCHAR(20);
# 删除表
DROP TABLE temp_data;
# 授权
GRANT SELECT ON customers TO user1;
+

1.4 SQL 解析位于整条链路的哪个位置​

+

常见数据库执行 SQL 的整个过程:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 语义分析 → 优化SQL → 产生执行计划/执行任务
+

而 SQL 解析中间件关注的是 AST 之后的应用层能力:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 应用层(类型识别、表字段血缘、表解析、SQL脱敏)→ 子产品应用
+

这正是 SqlParserX 的定位:不重复实现数据库引擎,只基于一套统一的 AST,把「表、血缘、函数、权限改写」等解析能力做成可复用的中间件。

+
+

二、市面上常见的 SQL 解析方案​

+

在动手之前,我们先横向比较了主流方案。

+

市面上常见的解析器整体介绍

+

2.1 底层解析器件:JavaCC / ANTLR 3 / ANTLR 4​

+
特性JavaCCANTLR 3ANTLR 4
语法分析算法LL(k)LL(*)LL(*)(自适应预测)
左递归处理不支持,需手动转换需手动转换自动处理
目标语言JavaJava、C#、Python 等同 ANTLR 3
错误处理基础错误恢复增强的错误恢复智能错误恢复与诊断
语法复杂度简单直观较复杂简化(相比 ANTLR 3)
应用场景小型项目、教育中大型项目大型项目、复杂语法
+

2.2 SQL 解析器脚手架:Calcite / hive-exec​

+

所谓脚手架,是基于 JavaCC 或 ANTLR 已经实现了标准 SQL 的词法、语法规则,我们只需按其规范扩展:

+
    +
  • Calcite(基于 JavaCC):模块化、可扩展的 SQL 解析与优化框架,很多开源 SQL 引擎用它来做标准 SQL 解析与优化。
  • +
  • hive-exec(基于 ANTLR3):Hive 的核心包,支持 Hive/Spark 语法解析。
  • +
+

2.3 更「具象化」的解析器:JSqlParser / Druid​

+
    +
  • JSqlParser:基于 JavaCC,能将 SQL 转为更语义化的结构(如 select → SelectStatement),支持语法树类继承、JavaAPI 构建 SQL、语法树转 SQL;但 API 无明显的特定方言解析分层,支持的数据源解析能力较弱。
  • +
  • Druid:完全用 Java 自实现扫描器、解析器,解析出的语法树是具象化的抽象语法树(具有继承关系),并且支持按数据源分层扩展(Lexer、Parser 扫描可分层隔离)。
  • +
+

2.4 核心对比与选型结论​

+
工具依赖工具解析 SQL 能力语法树类继承优缺点
JavaCC原生定义解析规则无无需从零定义 SQL 规则
ANTLR4原生定义解析规则有,官方语法生态极好无语法生态强,但解析语法树无抽象继承关系
Calcite基于 JavaCC标准 SQL,多方言扩展、生态较弱有需手动扩展分层写语法规则,成本大
hive-exec基于 ANTLR3仅 Hive、Spark无无法扩展分层到其他数据源
JSqlParser基于 JavaCC标准 SQL,部分方言有API 无明显数据源分层
Druid原生 Java 实现扫描、解析器件支持 MySQL、Oracle、Hive、Spark、Doris、StarRocks 等有(极强)数据源生态好、AST 有继承关系;缺点是 Java 自实现扫描器,入门有难度
+

面向数栈「大量异构数据源都要有同样继承关系的语法树」的场景,需要抽象定义统一的 Insert、Select、Update、Delete 等结构。

+

基于 Druid 这样一套有继承关系的 AST,不同功能只需实现一套解析逻辑即可对应所有数据源,部分数据源再单独通过分层兼容即可。 这成为后续选型的决定性理由。

+

2.5 为什么不直接用 ANTLR4​

+

ANTLR4 生态确实很好(官方有 grammars-v4),但它的语法树没有抽象继承关系,难以在多数据源上沉淀「一套业务解析逻辑」,需要在业务层重新抽象一套结构,反而增加维护成本。Druid 的 AST 天然带继承体系,更契合我们的目标。

+
+

三、历史背景:改造前的 SQL 解析为什么难维护​

+

3.1 子产品各自为战​

+

改造前,SQL 解析散落在多个子产品中,各用各的方案:

+
离线 batchparser:SQL 类型识别、真实表解析、SQL 脱敏、行列级权限
面向 SQL 类型:rdb(mysql、oracle、doris...)、hive、spark、impala
实现:calcite & hive-exec 模块解析器,加上 druid 兜底【中间各种兼容语法正则匹配替换逻辑】

API apiparser:API 解析(预编译、非预编译)、真实表解析、行列级权限
面向 SQL 类型:rdb
实现:calcite + druid,druid 兜底

label labelparser:标签解析
实现:calcite

实时 streamparser
StreamCreateTableParser 直接使用正则匹配解析
StreamCreateViewParser 使用 hive-exec 进行表、字段血缘解析
StreamInsertParser 使用 FlinkPlanner & hive parser 进行表、字段血缘解析

资产 sqlparser:表、字段血缘解析、真实表解析、SQL 类型识别
实现:比较混乱,calcite、druid 以及 hive parser 混用
+

核心问题是:历史上针对 SQL 语法层面的扩展很少,导致语法解析「一个不行就换另一个」,各种兜底;做过语法扩展的主要是基于 Calcite 扩展了少量语法(limit、starrocks 等)。

+

3.2 历史设计架构​

+

改造前主要针对 Calcite(rdb 类型)、hive-exec(spark、hive)两类 SQL,Druid 与正则方式作为兜底。

+

改造前的历史设计架构

+

业务逻辑可以分为两类:

+

一类:SQL 类型识别、表解析、SQL 脱敏、行列级权限

+
    +
  1. 根据 SQL 类型用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 基于语法树做上述业务。
  4. +
+

另一类:血缘实现

+
    +
  1. 用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 自定义语法树,实现两套转换器(Calcite AST → 自定义 AST、hive-exec AstNode → 自定义 AST);
  4. +
  5. 针对自定义语法树写一套血缘解析逻辑。
  6. +
+
+

问题:转换与解析扫描过程中,历史上曾出现死循环导致子产品服务挂掉等各种情况。

+
+

Calcite 分层扩展文章的探索

+

3.3 主要问题​

+
    +
  1. 不同数据源语法解析扩展能力弱:不同 rdb 语法需要正则前置处理,或单独去扩展语法,且扩展语法集中在一个模块;
  2. +
  3. 使用多种解析框架、各种兜底,代码维护难:拿到语法树后的应用层解析逻辑也冗余在一起,到处是 if 判断数据源兼容逻辑,改一个地方可能影响其他地方,难以维护;
  4. +
  5. 血缘解析扩展弱、学习成本极高:需要先了解 Calcite / AstNode 的节点定义,再具备自定义语法树能力,然后扩展两层转换逻辑(还容易死循环),最后才到血缘解析本身。
  6. +
+
+

四、技术改造:双层分层​

+

技术改造围绕两个层面分层:语法解析层 与 业务解析层。

+

4.1 语法解析层(基于 Druid)​

+

语法解析层分层

+

分层实现后,扫描器、解析器都支持继承复用,且相互独立、互不影响,结构类可自定义扩展:

+

Druid 分层结构类

+
// 工具类指定数据源类型实现解析
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris);
SQLStatement statement = parser.parseStatement();

// 或直接 new 特定 Parser
DorisStatementParser statementParser = new DorisStatementParser(sql);
SQLStatement sqlStatement = statementParser.parseStatement();
+

4.2 业务解析层​

+
    +
  • 解析层:不同数据源 → 统一抽象结构语法树;
  • +
  • 应用层:针对统一 AST 实现一套解析方法;特定数据源在 AST 中自定义了部分节点时,应用层再针对该数据源的节点做分层处理。
  • +
+

业务解析分层

+

针对抽象语法树实现通用解析组件:

+

应用层通用解析组件

+

后续扩展时,若在语法层单独实现了某个节点,只需继承 BaseXxxClient,单独实现差异方法即可,重复逻辑复用:

+

继承 BaseXxxClient 扩展

+

创建 Client 后,在对应 XxxSqlParser 中注册:

+

在方言解析器中注册 Client

+

示例:

+
// 准备 SQL
String sql = getSql();

// 1、获取解析器(工厂方式)
ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2.1、解析表
ParseTableResult parseTableResult = sqlParser.parseTables(sql);
System.out.println(parseTableResult.getMainTable()); // 主表
System.out.println(parseTableResult.getAllTableName()); // 所有表

// 2.2、解析字段血缘(select * 场景可传入 tableColumnsMap 提供字段元数据)
ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap);

// 2.3、解析表血缘
TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql);

// 2.4、解析函数
Set<String> functions = sqlParser.parseFunction(sql);
+

4.3 改造后整体实现​

+

后续语法解析、业务层解析都可独立扩展:

+

改造后整体实现

+
+

五、业务层解析的重新实现​

+

历史上基于 Druid 的业务层实现很少(仅 API 解析、离线部分解析用 Druid 兜底),因此表解析、血缘解析都需要重新实现。

+

有血缘特征的 SQL 类型:insert into/overwrite ... select、create ... select、with as ... insert。

+

5.1 字段血缘解析​

+

核心思路是把来源与目标各自归一为一张二维表。

+

以一条 insert select 为例:

+
insert into new_table (id, name)
select a.id as aid, b.name as bname
from old_table as a
left join old_table2 b on a.id = b.id
+
    +
  1. 拆成两个部分:insert 目标端、select 来源端;
  2. +
  3. 各自追溯得到一组列表:
  4. +
+
# 目标端
真实字段 别名字段 真实表名
id id new_table
name name new_table

# 来源端
真实字段 别名字段 真实表名
id aid old_table
name bname old_table2
+
    +
  1. 两组按固定规则匹配,即得字段血缘:
  2. +
+
# 第一条
admin 目标端 new_table.id ← 来源端 old_table.id
# 第二条
目标端 new_table.name ← 来源端 old_table2.name
+

来源端的「真实表名 → 来源表」「真实字段 → 来源字段」,目标端的「别名字段 → 目标字段」。

+

对于 with as 场景,每个 CTE 的 () 作为一组同样归一为二维表再匹配;对于单列来源于多字段的场景(如 concat(t1.name, t2.name)),真实字段与真实表名以 , 合并,最终拆成多条血缘。

+

5.2 表血缘解析​

+

本质与字段血缘类似,更多是对表进行分组列表,一个 select 同样得到一组「表、表别名」的二维表,最终与 insert 目标表匹配即可完成表血缘。

+

5.3 表解析​

+

与表血缘类似,需要解析出所有真实表;除了追溯真实表的过程,还要合并没有被追溯到的真实表,同时覆盖比表血缘更多的 SQL 结构(select、update、delete、insert、drop、rename 等)。

+

5.4 函数解析​

+

函数与血缘无关,直接使用 Visitor 模式收集所有函数即可:

+

基于 Visitor 的函数解析

+

5.5 其他业务能力​

+
    +
  • SQL 脱敏(离线):复用字段血缘的 select column 组件拿到字段列表,再结合语法层位点能力进行改写;难点是 Druid 无精确原始 SQL 位点,需要扩展。
  • +
  • 行级权限改写 SQL:利用 Druid API 补充 AST 节点,再转回 SQL,本质是根据主体 select 封装/补充条件节点后重新输出。
  • +
+
+

六、SqlParserX 的诞生​

+

在内部双层改造验证落地之后,一个更清晰的想法出现了:能不能把「基于 Druid 的 SQL 解析」做成一个纯净、可独立演进的开源项目?

+

于是有了 SqlParserX —— 一个无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各类不同 SQL 解析的开源项目。

+

6.1 双层架构​

+

SqlParserX 将解析内核拆分为两个独立 Jar Module,结构对称、职责清晰:

+
SqlParserX(根 Reactor)
├── sqlparserx-engine(聚合父模块,packaging=pom)
│ ├── sqlparserx-syntax(jar,语法解析层,基于 Druid) ← 只管 SQL → AST
│ └── sqlparserx-core(jar,业务解析层,依赖 syntax) ← 只管 AST → 业务结果
├── sqlparserx-web(HTTP 服务)
├── sqlparserx-mcp-server-sse(MCP Server)
└── sqlparserx-ui(前端)
+
    +
  • 语法解析层(sqlparserx-syntax):统一维护 Druid 依赖、SQL→AST、多语句解析与切分,以及后续数据源 Lexer / StatementParser / AST Node 扩展;
  • +
  • 业务解析层(sqlparserx-core):基于统一 AST 实现真实表、建表结构、表/字段血缘、函数与 SQL 权限改写。
  • +
+

两层以 DbType + SQLStatement AST 作为连接契约,不额外复制一套 AST,避免长期转换与同步。详细设计见 模块依赖包引用结构设计。

+

6.2 从内部二开走向官方 Druid​

+

项目早期依赖内部二开的 Druid 版本,随着能力沉淀,SqlParserX 已统一为官方 Druid 1.2.28,降低维护成本、方便社区协作。语法层坚持「不在业务层用大量正则替换规避语法问题」,方言语法差异一律回到语法层按 Druid 的方式扩展。

+

6.3 能力与文档体系​

+

SqlParserX 不仅提供代码,也提供了一套可维护的文档体系:

+ +

6.4 目标​

+
    +
  • 无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各种数据源的 SQL 解析;
  • +
  • 语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖;
  • +
  • 新增数据源时,语法差异在语法层扩展,业务差异在业务层扩展,上下两层通过 DbType 与 AST 对齐。
  • +
+
+

七、结语​

+

从「散落各处的解析器 + 各种兜底」到「统一 AST + 双层分层」,再到「一个纯净、只依赖 Druid 的开源项目」,SqlParserX 的诞生不是一次性的重构,而是一次次把问题放回正确层次的取舍:

+
+

语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖。

+
+

如果你在做多数据源的 SQL 解析、血缘、表解析相关工作,欢迎一起交流与共建。

+
+
+

作者:changlu | 2026-09-28

+

本文图片位于 assets/ 目录,仓库内以相对路径引用。

+
\ No newline at end of file diff --git a/blog/rss.css b/blog/rss.css new file mode 100644 index 0000000..d2fc20b --- /dev/null +++ b/blog/rss.css @@ -0,0 +1,75 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +main { + flex: 1 0 auto; + width: 100%; + margin: 2rem auto; + max-width: 800px; + /* stylelint-disable-next-line font-family-name-quotes */ + font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell; +} + +.info { + display: block; + margin: 2rem 0; + padding: 1.6rem 2.4rem; + border: 1px solid dodgerblue; + border-left-width: 0.5rem; + border-radius: 0.4rem; + background-color: #edf5ff; +} + +a { + color: #005aff; + text-decoration: none; +} + +h1 { + text-wrap: balance; + font-size: 3.4rem; + font-weight: 800; + margin-bottom: 2rem; + display: flex; + align-items: center; +} + +h1 .rss-icon { + height: 3.2rem; + width: 3.2rem; + margin-right: 1rem; +} + +h2 { + font-size: 2.2rem; + font-weight: 700; + margin-bottom: 0.2rem; +} + +h3 { + font-size: 1.8rem; + font-weight: 700; + margin-bottom: 0.1rem; +} + +.blog-description { + font-size: 1.4rem; + margin-bottom: 0.6rem; +} + +.blog-post-date { + font-size: 1rem; + line-height: 1.4rem; + font-style: italic; + color: #797b7e; +} + +.blog-post-description { + font-size: 1rem; + line-height: 1.4rem; + color: #434349; +} diff --git a/blog/rss.xml b/blog/rss.xml new file mode 100644 index 0000000..a408278 --- /dev/null +++ b/blog/rss.xml @@ -0,0 +1,207 @@ + + + + SqlParserX Blog + https://dtstack.github.io/SqlParserX/blog + SqlParserX Blog + Mon, 28 Sep 2026 00:00:00 GMT + https://validator.w3.org/feed/docs/rss2.html + https://github.com/jpmonette/feed + zh-Hans + + <![CDATA[SqlParserX 的诞生起源背景与内部改造]]> + https://dtstack.github.io/SqlParserX/blog/origin-of-sqlparserx + https://dtstack.github.io/SqlParserX/blog/origin-of-sqlparserx + Mon, 28 Sep 2026 00:00:00 GMT + + +

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+ + +

一、为什么需要懂解析器​

+

1.1 什么是解析器​

+

解析器是计算机科学和编程语言领域中至关重要的工具,其核心作用是将人类可理解的「形式化语言」(如代码、数据格式、表达式等)转换为机器可处理的结构,从而实现信息的解析、验证和后续处理。

+

人类使用的语言(无论是编程语言如 Python、数据格式如 JSON,还是查询语句如 SQL)本质是结构化的字符串,但机器无法直接理解这种字符串的逻辑含义。

+

例如,程序员写的 x = (a + b) * 3 是一串字符,但机器需要知道这是「先算 a + b,再乘以 3,最后赋值给 x」的运算逻辑。解析器把这个字符串解析为一棵语法树,再按规则一步步运算。

+
// 解析器 扫描解析方程 x = (a + b) * 3 得到的语法树 AST

[=]
/ \
[x] [*]
/ \
[+] [3]
/ \
[a] [b]

解释执行步骤:
1、从根节点 = 开始,表示这是一个赋值操作。
2、左子树 x 是赋值目标,右子树 * 是计算内容。
3、计算 * 时,先计算左子树 +(a + b),再乘以右子树 3。
4、最后将结果赋值给 x。
+

编程语言同理,如 C、Java 等都有特定的语法规则,通过解析器把代码转为 AST 语法树,再编译字节码、机器码来执行。

+
// 解析器 扫描解析 Java 代码 if (x > 0) { y = 10; } 得到的语法树 AST
[if]
/ \
[>] [block]
/ \ \
[x] [0] [=]
/ \
[y] [10]

解析执行步骤:
1、根节点 if 表示条件判断。
2、先计算条件 >(x > 0),如果为真:
3、进入 block 执行内部语句 y = 10。
4、如果为假,跳过整个 block。
+

解析器的作用,就是把这种字符串「拆解」为有意义的语法结构(如抽象语法树 AST),让机器能按规则执行。

+

1.2 如何实现解析器​

+

在编译器实现中,主要要做的是词法分析和语法分析:

+
    +
  • 词法分析:解析代码并生成 Token(一个单词的字面和它的种类及语义值)序列,实现一般称为扫描器(Scanner)。核心逻辑是定义 token(语义)与 scanner(扫描 token)。
  • +
  • 语法分析:利用扫描器生成的 Token 序列生成抽象语法树,实现一般称为解析器(Parser)。核心逻辑是进行语法检查,并构建由输入单词组成的层次化数据结构(语法分析树、抽象语法树等)。
  • +
+
数学表达式:1 + 2 * 3

// 首先在进行词法、语法分析前,我们先定义好 token
单词字面 Token 类型 说明
1 INTEGER 整数 1
+ ADD_OP 加法运算符
2 INTEGER 整数 2
* MUL_OP 乘法运算符
3 INTEGER 整数 3

// 1、词法分析:从前往后扫描得到一组 Token 流
[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)]

// 2、语法分析:根据运算符优先级(* 优先于 +)和 Token 流构建 AST
[+]
/ \
1 [*]
/ \
2 3
+

实现一种规则的解析器有两种方式:

+
    +
  • 方式一:不依赖任何工具,手写扫描器和解析器。
  • +
  • 方式二:使用现成的解析器生成器(Yacc、ANTLR、JavaCC 等),根据自定义语法规则文件自动生成解析器代码,从而专注于语法规则设计。
  • +
+

1.3 什么是 SQL 解析器​

+

SQL 解析器是能够将 SQL 语句转换为计算机可理解和执行结构的程序组件。它将文本形式的 SQL 转换为抽象语法树(AST),为后续的查询优化和执行提供基础。通俗地说,就是能对 SQL 进行解析、转换成语法树的工具。

+
# 查询
SELECT * FROM users WHERE status = 'active';
# 插入
INSERT INTO customers (name, email) VALUES ('李四', 'lisi@example.com');
# 更新
UPDATE products SET price = 5999 WHERE id = 1001;
# 删除
DELETE FROM logs WHERE create_time < '2024-01-01';
# 创建表
CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2));
# 修改表
ALTER TABLE employees ADD COLUMN department VARCHAR(20);
# 删除表
DROP TABLE temp_data;
# 授权
GRANT SELECT ON customers TO user1;
+

1.4 SQL 解析位于整条链路的哪个位置​

+

常见数据库执行 SQL 的整个过程:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 语义分析 → 优化SQL → 产生执行计划/执行任务
+

而 SQL 解析中间件关注的是 AST 之后的应用层能力:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 应用层(类型识别、表字段血缘、表解析、SQL脱敏)→ 子产品应用
+

这正是 SqlParserX 的定位:不重复实现数据库引擎,只基于一套统一的 AST,把「表、血缘、函数、权限改写」等解析能力做成可复用的中间件。

+
+

二、市面上常见的 SQL 解析方案​

+

在动手之前,我们先横向比较了主流方案。

+

市面上常见的解析器整体介绍

+

2.1 底层解析器件:JavaCC / ANTLR 3 / ANTLR 4​

+
特性JavaCCANTLR 3ANTLR 4
语法分析算法LL(k)LL(*)LL(*)(自适应预测)
左递归处理不支持,需手动转换需手动转换自动处理
目标语言JavaJava、C#、Python 等同 ANTLR 3
错误处理基础错误恢复增强的错误恢复智能错误恢复与诊断
语法复杂度简单直观较复杂简化(相比 ANTLR 3)
应用场景小型项目、教育中大型项目大型项目、复杂语法
+

2.2 SQL 解析器脚手架:Calcite / hive-exec​

+

所谓脚手架,是基于 JavaCC 或 ANTLR 已经实现了标准 SQL 的词法、语法规则,我们只需按其规范扩展:

+
    +
  • Calcite(基于 JavaCC):模块化、可扩展的 SQL 解析与优化框架,很多开源 SQL 引擎用它来做标准 SQL 解析与优化。
  • +
  • hive-exec(基于 ANTLR3):Hive 的核心包,支持 Hive/Spark 语法解析。
  • +
+

2.3 更「具象化」的解析器:JSqlParser / Druid​

+
    +
  • JSqlParser:基于 JavaCC,能将 SQL 转为更语义化的结构(如 select → SelectStatement),支持语法树类继承、JavaAPI 构建 SQL、语法树转 SQL;但 API 无明显的特定方言解析分层,支持的数据源解析能力较弱。
  • +
  • Druid:完全用 Java 自实现扫描器、解析器,解析出的语法树是具象化的抽象语法树(具有继承关系),并且支持按数据源分层扩展(Lexer、Parser 扫描可分层隔离)。
  • +
+

2.4 核心对比与选型结论​

+
工具依赖工具解析 SQL 能力语法树类继承优缺点
JavaCC原生定义解析规则无无需从零定义 SQL 规则
ANTLR4原生定义解析规则有,官方语法生态极好无语法生态强,但解析语法树无抽象继承关系
Calcite基于 JavaCC标准 SQL,多方言扩展、生态较弱有需手动扩展分层写语法规则,成本大
hive-exec基于 ANTLR3仅 Hive、Spark无无法扩展分层到其他数据源
JSqlParser基于 JavaCC标准 SQL,部分方言有API 无明显数据源分层
Druid原生 Java 实现扫描、解析器件支持 MySQL、Oracle、Hive、Spark、Doris、StarRocks 等有(极强)数据源生态好、AST 有继承关系;缺点是 Java 自实现扫描器,入门有难度
+

面向数栈「大量异构数据源都要有同样继承关系的语法树」的场景,需要抽象定义统一的 Insert、Select、Update、Delete 等结构。

+

基于 Druid 这样一套有继承关系的 AST,不同功能只需实现一套解析逻辑即可对应所有数据源,部分数据源再单独通过分层兼容即可。 这成为后续选型的决定性理由。

+

2.5 为什么不直接用 ANTLR4​

+

ANTLR4 生态确实很好(官方有 grammars-v4),但它的语法树没有抽象继承关系,难以在多数据源上沉淀「一套业务解析逻辑」,需要在业务层重新抽象一套结构,反而增加维护成本。Druid 的 AST 天然带继承体系,更契合我们的目标。

+
+

三、历史背景:改造前的 SQL 解析为什么难维护​

+

3.1 子产品各自为战​

+

改造前,SQL 解析散落在多个子产品中,各用各的方案:

+
离线 batchparser:SQL 类型识别、真实表解析、SQL 脱敏、行列级权限
面向 SQL 类型:rdb(mysql、oracle、doris...)、hive、spark、impala
实现:calcite & hive-exec 模块解析器,加上 druid 兜底【中间各种兼容语法正则匹配替换逻辑】

API apiparser:API 解析(预编译、非预编译)、真实表解析、行列级权限
面向 SQL 类型:rdb
实现:calcite + druid,druid 兜底

label labelparser:标签解析
实现:calcite

实时 streamparser
StreamCreateTableParser 直接使用正则匹配解析
StreamCreateViewParser 使用 hive-exec 进行表、字段血缘解析
StreamInsertParser 使用 FlinkPlanner & hive parser 进行表、字段血缘解析

资产 sqlparser:表、字段血缘解析、真实表解析、SQL 类型识别
实现:比较混乱,calcite、druid 以及 hive parser 混用
+

核心问题是:历史上针对 SQL 语法层面的扩展很少,导致语法解析「一个不行就换另一个」,各种兜底;做过语法扩展的主要是基于 Calcite 扩展了少量语法(limit、starrocks 等)。

+

3.2 历史设计架构​

+

改造前主要针对 Calcite(rdb 类型)、hive-exec(spark、hive)两类 SQL,Druid 与正则方式作为兜底。

+

改造前的历史设计架构

+

业务逻辑可以分为两类:

+

一类:SQL 类型识别、表解析、SQL 脱敏、行列级权限

+
    +
  1. 根据 SQL 类型用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 基于语法树做上述业务。
  4. +
+

另一类:血缘实现

+
    +
  1. 用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 自定义语法树,实现两套转换器(Calcite AST → 自定义 AST、hive-exec AstNode → 自定义 AST);
  4. +
  5. 针对自定义语法树写一套血缘解析逻辑。
  6. +
+
+

问题:转换与解析扫描过程中,历史上曾出现死循环导致子产品服务挂掉等各种情况。

+
+

Calcite 分层扩展文章的探索

+

3.3 主要问题​

+
    +
  1. 不同数据源语法解析扩展能力弱:不同 rdb 语法需要正则前置处理,或单独去扩展语法,且扩展语法集中在一个模块;
  2. +
  3. 使用多种解析框架、各种兜底,代码维护难:拿到语法树后的应用层解析逻辑也冗余在一起,到处是 if 判断数据源兼容逻辑,改一个地方可能影响其他地方,难以维护;
  4. +
  5. 血缘解析扩展弱、学习成本极高:需要先了解 Calcite / AstNode 的节点定义,再具备自定义语法树能力,然后扩展两层转换逻辑(还容易死循环),最后才到血缘解析本身。
  6. +
+
+

四、技术改造:双层分层​

+

技术改造围绕两个层面分层:语法解析层 与 业务解析层。

+

4.1 语法解析层(基于 Druid)​

+

语法解析层分层

+

分层实现后,扫描器、解析器都支持继承复用,且相互独立、互不影响,结构类可自定义扩展:

+

Druid 分层结构类

+
// 工具类指定数据源类型实现解析
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris);
SQLStatement statement = parser.parseStatement();

// 或直接 new 特定 Parser
DorisStatementParser statementParser = new DorisStatementParser(sql);
SQLStatement sqlStatement = statementParser.parseStatement();
+

4.2 业务解析层​

+
    +
  • 解析层:不同数据源 → 统一抽象结构语法树;
  • +
  • 应用层:针对统一 AST 实现一套解析方法;特定数据源在 AST 中自定义了部分节点时,应用层再针对该数据源的节点做分层处理。
  • +
+

业务解析分层

+

针对抽象语法树实现通用解析组件:

+

应用层通用解析组件

+

后续扩展时,若在语法层单独实现了某个节点,只需继承 BaseXxxClient,单独实现差异方法即可,重复逻辑复用:

+

继承 BaseXxxClient 扩展

+

创建 Client 后,在对应 XxxSqlParser 中注册:

+

在方言解析器中注册 Client

+

示例:

+
// 准备 SQL
String sql = getSql();

// 1、获取解析器(工厂方式)
ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2.1、解析表
ParseTableResult parseTableResult = sqlParser.parseTables(sql);
System.out.println(parseTableResult.getMainTable()); // 主表
System.out.println(parseTableResult.getAllTableName()); // 所有表

// 2.2、解析字段血缘(select * 场景可传入 tableColumnsMap 提供字段元数据)
ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap);

// 2.3、解析表血缘
TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql);

// 2.4、解析函数
Set<String> functions = sqlParser.parseFunction(sql);
+

4.3 改造后整体实现​

+

后续语法解析、业务层解析都可独立扩展:

+

改造后整体实现

+
+

五、业务层解析的重新实现​

+

历史上基于 Druid 的业务层实现很少(仅 API 解析、离线部分解析用 Druid 兜底),因此表解析、血缘解析都需要重新实现。

+

有血缘特征的 SQL 类型:insert into/overwrite ... select、create ... select、with as ... insert。

+

5.1 字段血缘解析​

+

核心思路是把来源与目标各自归一为一张二维表。

+

以一条 insert select 为例:

+
insert into new_table (id, name)
select a.id as aid, b.name as bname
from old_table as a
left join old_table2 b on a.id = b.id
+
    +
  1. 拆成两个部分:insert 目标端、select 来源端;
  2. +
  3. 各自追溯得到一组列表:
  4. +
+
# 目标端
真实字段 别名字段 真实表名
id id new_table
name name new_table

# 来源端
真实字段 别名字段 真实表名
id aid old_table
name bname old_table2
+
    +
  1. 两组按固定规则匹配,即得字段血缘:
  2. +
+
# 第一条
admin 目标端 new_table.id ← 来源端 old_table.id
# 第二条
目标端 new_table.name ← 来源端 old_table2.name
+

来源端的「真实表名 → 来源表」「真实字段 → 来源字段」,目标端的「别名字段 → 目标字段」。

+

对于 with as 场景,每个 CTE 的 () 作为一组同样归一为二维表再匹配;对于单列来源于多字段的场景(如 concat(t1.name, t2.name)),真实字段与真实表名以 , 合并,最终拆成多条血缘。

+

5.2 表血缘解析​

+

本质与字段血缘类似,更多是对表进行分组列表,一个 select 同样得到一组「表、表别名」的二维表,最终与 insert 目标表匹配即可完成表血缘。

+

5.3 表解析​

+

与表血缘类似,需要解析出所有真实表;除了追溯真实表的过程,还要合并没有被追溯到的真实表,同时覆盖比表血缘更多的 SQL 结构(select、update、delete、insert、drop、rename 等)。

+

5.4 函数解析​

+

函数与血缘无关,直接使用 Visitor 模式收集所有函数即可:

+

基于 Visitor 的函数解析

+

5.5 其他业务能力​

+
    +
  • SQL 脱敏(离线):复用字段血缘的 select column 组件拿到字段列表,再结合语法层位点能力进行改写;难点是 Druid 无精确原始 SQL 位点,需要扩展。
  • +
  • 行级权限改写 SQL:利用 Druid API 补充 AST 节点,再转回 SQL,本质是根据主体 select 封装/补充条件节点后重新输出。
  • +
+
+

六、SqlParserX 的诞生​

+

在内部双层改造验证落地之后,一个更清晰的想法出现了:能不能把「基于 Druid 的 SQL 解析」做成一个纯净、可独立演进的开源项目?

+

于是有了 SqlParserX —— 一个无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各类不同 SQL 解析的开源项目。

+

6.1 双层架构​

+

SqlParserX 将解析内核拆分为两个独立 Jar Module,结构对称、职责清晰:

+
SqlParserX(根 Reactor)
├── sqlparserx-engine(聚合父模块,packaging=pom)
│ ├── sqlparserx-syntax(jar,语法解析层,基于 Druid) ← 只管 SQL → AST
│ └── sqlparserx-core(jar,业务解析层,依赖 syntax) ← 只管 AST → 业务结果
├── sqlparserx-web(HTTP 服务)
├── sqlparserx-mcp-server-sse(MCP Server)
└── sqlparserx-ui(前端)
+
    +
  • 语法解析层(sqlparserx-syntax):统一维护 Druid 依赖、SQL→AST、多语句解析与切分,以及后续数据源 Lexer / StatementParser / AST Node 扩展;
  • +
  • 业务解析层(sqlparserx-core):基于统一 AST 实现真实表、建表结构、表/字段血缘、函数与 SQL 权限改写。
  • +
+

两层以 DbType + SQLStatement AST 作为连接契约,不额外复制一套 AST,避免长期转换与同步。详细设计见 模块依赖包引用结构设计。

+

6.2 从内部二开走向官方 Druid​

+

项目早期依赖内部二开的 Druid 版本,随着能力沉淀,SqlParserX 已统一为官方 Druid 1.2.28,降低维护成本、方便社区协作。语法层坚持「不在业务层用大量正则替换规避语法问题」,方言语法差异一律回到语法层按 Druid 的方式扩展。

+

6.3 能力与文档体系​

+

SqlParserX 不仅提供代码,也提供了一套可维护的文档体系:

+ +

6.4 目标​

+
    +
  • 无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各种数据源的 SQL 解析;
  • +
  • 语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖;
  • +
  • 新增数据源时,语法差异在语法层扩展,业务差异在业务层扩展,上下两层通过 DbType 与 AST 对齐。
  • +
+
+

七、结语​

+

从「散落各处的解析器 + 各种兜底」到「统一 AST + 双层分层」,再到「一个纯净、只依赖 Druid 的开源项目」,SqlParserX 的诞生不是一次性的重构,而是一次次把问题放回正确层次的取舍:

+
+

语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖。

+
+

如果你在做多数据源的 SQL 解析、血缘、表解析相关工作,欢迎一起交流与共建。

+
+
+

作者:changlu | 2026-09-28

+

本文图片位于 assets/ 目录,仓库内以相对路径引用。

+
]]>
+ 起源与背景 +
+
+
\ No newline at end of file diff --git a/blog/rss.xsl b/blog/rss.xsl new file mode 100644 index 0000000..e9695b2 --- /dev/null +++ b/blog/rss.xsl @@ -0,0 +1,86 @@ + + + + + + + + RSS Feed | <xsl:value-of select="rss/channel/title" /> + + + +
+
+
+ This is an RSS feed. Subscribe by copying the URL + from the address bar into your newsreader. Visit + About Feeds to learn more + and get started. It’s free. +
+

+
+ + + + + + + + + + +
+ +

+

+ +

+
+

Recent Posts

+
+ +
+

+ +
+ +
+
+
+
+
+ + +
+
diff --git a/blog/tags.html b/blog/tags.html new file mode 100644 index 0000000..5e177dd --- /dev/null +++ b/blog/tags.html @@ -0,0 +1,4 @@ +标签 | SqlParserX + + + \ No newline at end of file diff --git a/blog/tags/origin.html b/blog/tags/origin.html new file mode 100644 index 0000000..01ac129 --- /dev/null +++ b/blog/tags/origin.html @@ -0,0 +1,8 @@ +1 篇博文 含有标签「起源与背景」 | SqlParserX + + +

1 篇博文 含有标签「起源与背景」

SqlParserX 的诞生起源与内部改造历程

查看所有标签

SqlParserX 的诞生起源背景与内部改造

· 阅读需 17 分钟
changlu
SqlParserX 维护者
+

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+
\ No newline at end of file diff --git a/community.html b/community.html new file mode 100644 index 0000000..c54998d --- /dev/null +++ b/community.html @@ -0,0 +1,4 @@ +Community | SqlParserX + + +

加入 SqlParserX 社区

与开发者一起交流多方言 SQL 解析、血缘与治理实践。

💬

论坛

在 GitHub Discussions 中提问、分享使用经验与最佳实践。

前往讨论区
🐙

GitHub

提交 Issue、参与 Pull Request,一起完善多方言解析能力。

访问仓库
❓

问答

遇到使用问题,可在 Issues 中检索或发起新的讨论。

查看 Issues
\ No newline at end of file diff --git a/conf/application.properties b/conf/application.properties deleted file mode 100644 index 143e371..0000000 --- a/conf/application.properties +++ /dev/null @@ -1 +0,0 @@ -server.port=16758 \ No newline at end of file diff --git a/conf/logback.xml b/conf/logback.xml deleted file mode 100644 index 740dd4a..0000000 --- a/conf/logback.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - ${CONSOLE_COLOR_PATTERN} - - - - - ${user.dir}/logs/sqlparserx.log - - ${user.dir}/logs/history/sqlparserx_%d{yyyy-MM-dd}.log - 5 - - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} [%file:%line] - %msg%n - - - - - - - - - - diff --git a/conf/static/assets/element-icons-B-tDfklg.woff b/conf/static/assets/element-icons-B-tDfklg.woff deleted file mode 100644 index 02b9a25..0000000 Binary files a/conf/static/assets/element-icons-B-tDfklg.woff and /dev/null differ diff --git a/conf/static/assets/element-icons-_lZGOqcG.ttf b/conf/static/assets/element-icons-_lZGOqcG.ttf deleted file mode 100644 index 91b74de..0000000 Binary files a/conf/static/assets/element-icons-_lZGOqcG.ttf and /dev/null differ diff --git a/conf/static/assets/index-DZWUlUfA.css b/conf/static/assets/index-DZWUlUfA.css deleted file mode 100644 index 1d6318e..0000000 --- a/conf/static/assets/index-DZWUlUfA.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";#app{font-family:Avenir,Helvetica,Arial,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e2e8f0;min-height:100vh;margin:0;padding:0}.mockup-terminal[data-v-e419878b]{position:relative;width:100%;max-width:580px}.terminal-glow[data-v-e419878b]{position:absolute;top:-30px;right:-40px;bottom:-30px;left:-40px;background:radial-gradient(closest-side,rgba(99,102,241,.25),transparent 70%);filter:blur(40px);z-index:-1;opacity:.6}.terminal-frame[data-v-e419878b]{border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#13132e,#0d0d24);border:1px solid rgba(99,102,241,.22);box-shadow:0 24px 64px #11182729,0 2px 8px #1118270f;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:14px;line-height:1.7;color:#cbd5e1;position:relative}.terminal-header[data-v-e419878b]{display:flex;align-items:center;gap:14px;padding:12px 18px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.dots[data-v-e419878b]{display:flex;gap:7px}.dot[data-v-e419878b]{width:12px;height:12px;border-radius:50%;display:inline-block}.dot-red[data-v-e419878b]{background:#f87171}.dot-yellow[data-v-e419878b]{background:#fbbf24}.dot-green[data-v-e419878b]{background:#34d399}.terminal-title[data-v-e419878b]{flex:1;text-align:center;font-size:13px;color:#94a3b8;letter-spacing:.5px}.terminal-meta[data-v-e419878b]{font-size:12px;color:#64748b}.terminal-body[data-v-e419878b]{padding:22px 22px 26px;overflow:hidden}.line[data-v-e419878b]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line+.line[data-v-e419878b]{margin-top:4px}.line-out[data-v-e419878b]{padding-left:0}.line.indent[data-v-e419878b]{padding-left:24px}.prompt[data-v-e419878b]{color:#22d3ee;margin-right:10px;font-weight:700}.cmd[data-v-e419878b]{color:#c4b5fd;font-weight:600}.flag[data-v-e419878b]{color:#a5b4fc;margin-left:6px}.string[data-v-e419878b]{color:#f9a8d4}.ok[data-v-e419878b]{color:#34d399;margin-right:8px;font-weight:700}.hl[data-v-e419878b]{color:#67e8f9;font-weight:600}.hl-em[data-v-e419878b]{color:#fbbf24;font-weight:700}.src[data-v-e419878b]{color:#93c5fd}.arrow[data-v-e419878b]{color:#8b5cf6;margin:0 10px;font-weight:700}.dst[data-v-e419878b]{color:#c4b5fd;font-weight:600}.cursor[data-v-e419878b]{color:#22d3ee;animation:blink-e419878b 1s steps(1) infinite;font-weight:700}@keyframes blink-e419878b{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width: 768px){.terminal-frame[data-v-e419878b]{font-size:12.5px}.terminal-body[data-v-e419878b]{padding:16px}}.home[data-v-6d129aea]{position:relative;overflow-x:hidden;background:#f7f8fa;color:#1f2937}.topbar[data-v-6d129aea]{position:sticky;top:0;z-index:50;background:#ffffffdb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb}.topbar-inner[data-v-6d129aea]{max-width:1160px;margin:0 auto;height:60px;padding:0 24px;display:flex;align-items:center;gap:28px}.brand[data-v-6d129aea]{display:flex;align-items:center;gap:9px;text-decoration:none}.brand-name[data-v-6d129aea]{font-size:18px;font-weight:700;color:#111827;letter-spacing:.3px}.nav-links[data-v-6d129aea]{display:flex;gap:26px;list-style:none;padding:0;margin:0 0 0 8px}.nav-links a[data-v-6d129aea]{color:#4b5563;font-size:14px;text-decoration:none;transition:color .2s}.nav-links a[data-v-6d129aea]:hover{color:#2563eb}.nav-cta[data-v-6d129aea]{margin-left:auto;display:flex;gap:10px}.btn[data-v-6d129aea]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:all .2s;color:#1f2937}.btn-lg[data-v-6d129aea]{padding:11px 22px;font-size:15px}.btn-primary[data-v-6d129aea]{background:#2563eb;color:#fff;box-shadow:0 2px 8px #2563eb40}.btn-primary[data-v-6d129aea]:hover{background:#1d4ed8;box-shadow:0 4px 14px #2563eb59}.btn-ghost[data-v-6d129aea]{background:#fff;border-color:#d1d5db;color:#374151}.btn-ghost[data-v-6d129aea]:hover{border-color:#2563eb;color:#2563eb}.container[data-v-6d129aea]{max-width:1160px;margin:0 auto;padding:40px 24px 56px}.hero[data-v-6d129aea]{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding:64px 0 56px}.pill-badges[data-v-6d129aea]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.pill[data-v-6d129aea]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:12.5px;color:#475569;background:#fff;border:1px solid #e5e7eb}.dot-live[data-v-6d129aea]{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 #10b98180;animation:pulse-6d129aea 2.2s infinite}@keyframes pulse-6d129aea{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 7px #10b98100}to{box-shadow:0 0 #10b98100}}.hero-title[data-v-6d129aea]{font-size:clamp(44px,6vw,64px);font-weight:800;letter-spacing:-.5px;margin:0 0 10px;color:#111827;line-height:1.1}.hero-subtitle[data-v-6d129aea]{font-size:clamp(18px,2vw,22px);font-weight:600;color:#2563eb;margin:0 0 16px}.hero-desc[data-v-6d129aea]{font-size:15.5px;color:#6b7280;line-height:1.75;max-width:520px;margin:0 0 26px}.hero-desc strong[data-v-6d129aea]{color:#374151;font-weight:600}.hero-cta[data-v-6d129aea]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}.hero-cta.center[data-v-6d129aea]{justify-content:center}.trust-row[data-v-6d129aea]{display:flex;flex-wrap:wrap;gap:18px;color:#9ca3af;font-size:13px}.trust-item[data-v-6d129aea]{position:relative;padding-left:16px}.trust-item[data-v-6d129aea]:before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#2563eb}.hero-right[data-v-6d129aea]{display:flex;justify-content:center}.dialect-strip[data-v-6d129aea]{display:flex;align-items:center;gap:18px;padding:16px 20px;border-radius:12px;background:#fff;border:1px solid #eef0f3;margin:8px 0 48px;flex-wrap:wrap;box-shadow:0 1px 2px #00000008}.strip-label[data-v-6d129aea]{font-size:13px;color:#6b7280;font-weight:600;flex:none}.chip-list[data-v-6d129aea]{display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-6d129aea]{padding:3px 11px;border-radius:999px;font-size:12.5px;color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb}.section-head[data-v-6d129aea]{text-align:center;margin:48px 0 30px}.section-tag[data-v-6d129aea]{display:inline-block;padding:3px 12px;border-radius:999px;font-size:12px;color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;letter-spacing:1.5px;font-weight:600;margin-bottom:12px}.section-title[data-v-6d129aea]{font-size:clamp(26px,3.5vw,36px);font-weight:700;margin:0 0 8px;color:#111827;letter-spacing:.3px}.section-sub[data-v-6d129aea]{color:#6b7280;font-size:15px;margin:0}.features-grid[data-v-6d129aea]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.feature-card[data-v-6d129aea]{position:relative;display:flex;gap:16px;padding:24px 22px;border-radius:14px;background:#fff;border:1px solid #eef0f3;text-decoration:none;color:#1f2937;transition:border-color .25s,box-shadow .25s,transform .25s;box-shadow:0 1px 2px #00000008}.feature-card[data-v-6d129aea]:hover{border-color:#bfdbfe;box-shadow:0 8px 24px #2563eb14;transform:translateY(-3px)}.card-icon[data-v-6d129aea]{flex:0 0 46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff}.icon-lineage[data-v-6d129aea]{background:linear-gradient(135deg,#2563eb,#7c3aed)}.icon-validate[data-v-6d129aea]{background:linear-gradient(135deg,#059669,#10b981)}.icon-table[data-v-6d129aea]{background:linear-gradient(135deg,#d97706,#f59e0b)}.icon-create[data-v-6d129aea]{background:linear-gradient(135deg,#db2777,#f472b6)}.icon-split[data-v-6d129aea]{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.icon-mcp[data-v-6d129aea]{background:linear-gradient(135deg,#0891b2,#06b6d4)}.card-body[data-v-6d129aea]{flex:1}.card-body h3[data-v-6d129aea]{margin:1px 0 7px;font-size:16.5px;color:#111827}.card-body p[data-v-6d129aea]{margin:0 0 11px;color:#6b7280;font-size:13.5px;line-height:1.65}.card-tag[data-v-6d129aea]{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;color:#2563eb;background:#eff6ff;border:1px solid #dbeafe}.card-mcp[data-v-6d129aea]{cursor:default}.stats-section[data-v-6d129aea]{margin:64px 0 56px}.stats-grid[data-v-6d129aea]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:28px;border-radius:16px;background:#fff;border:1px solid #eef0f3}.stat-item[data-v-6d129aea]{text-align:center}.stat-num[data-v-6d129aea]{font-size:clamp(30px,3.5vw,42px);font-weight:800;color:#2563eb;margin-bottom:4px}.stat-label[data-v-6d129aea]{color:#6b7280;font-size:14px}.final-cta[data-v-6d129aea]{margin:48px 0 8px;padding:48px 24px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #e0e7ff;text-align:center}.final-cta h2[data-v-6d129aea]{font-size:clamp(22px,3vw,30px);margin:0 0 6px;color:#111827}.final-cta p[data-v-6d129aea]{color:#6b7280;margin:0 0 22px;font-size:15px}.final-cta .hero-cta[data-v-6d129aea]{margin-bottom:0}.site-footer[data-v-6d129aea]{border-top:1px solid #e5e7eb;margin-top:48px;padding:40px 24px 20px;background:#fff}.footer-inner[data-v-6d129aea]{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:40px}.footer-brand .brand[data-v-6d129aea]{margin-bottom:10px}.footer-brand .brand-name[data-v-6d129aea]{font-size:16px}.footer-tag[data-v-6d129aea]{color:#6b7280;font-size:13.5px;margin:0 0 6px}.footer-copy[data-v-6d129aea]{color:#9ca3af;font-size:12.5px;margin:0}.footer-cols[data-v-6d129aea]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.footer-col h4[data-v-6d129aea]{font-size:14px;margin:0 0 10px;color:#111827}.footer-col a[data-v-6d129aea]{display:block;color:#6b7280;font-size:13px;text-decoration:none;padding:3px 0;transition:color .2s}.footer-col a[data-v-6d129aea]:hover{color:#2563eb}@media (max-width: 960px){.hero[data-v-6d129aea]{grid-template-columns:1fr;gap:36px;padding:44px 0 36px}.nav-links[data-v-6d129aea]{display:none}.footer-inner[data-v-6d129aea]{grid-template-columns:1fr}.footer-cols[data-v-6d129aea]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.topbar-inner[data-v-6d129aea]{gap:10px;padding:0 14px}.container[data-v-6d129aea]{padding:24px 14px 40px}.nav-cta .btn-ghost[data-v-6d129aea]{display:none}.footer-cols[data-v-6d129aea]{grid-template-columns:1fr 1fr}.hero-cta .btn-lg[data-v-6d129aea]{flex:1}.stats-section[data-v-6d129aea]{margin:40px 0 32px}.final-cta[data-v-6d129aea]{padding:32px 16px}.site-footer[data-v-6d129aea]{padding:28px 18px 16px}}html[data-v-bccef05f],body[data-v-bccef05f]{height:100%;margin:0;padding:0}.header[data-v-bccef05f]{margin-bottom:-10px;color:#1f2937;padding:0 20px}.panel-header[data-v-bccef05f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.data-source-selector[data-v-bccef05f]{display:flex;align-items:center;gap:8px}.data-source-selector label[data-v-bccef05f]{font-size:14px;color:#4b5563}.data-source-selector select[data-v-bccef05f]{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;color:#4b5563;background-color:#fff;transition:border-color .3s}.data-source-selector select[data-v-bccef05f]:focus{outline:none;border-color:#2563eb}.lineage-visualizer[data-v-bccef05f]{height:100%;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.header[data-v-bccef05f]{margin-bottom:-10px;color:#1f2937}.main-container[data-v-bccef05f]{flex:1;display:flex;gap:20px;overflow:hidden;padding:20px;box-sizing:border-box}.sql-panel[data-v-bccef05f],.visualization-panel[data-v-bccef05f]{display:flex;flex-direction:column;min-height:0}.sql-panel[data-v-bccef05f]{flex:0 0 400px;background-color:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f;padding:20px;overflow:hidden;max-height:77vh;display:flex;flex-direction:column}.sql-input-wrapper[data-v-bccef05f]{flex:1;min-height:0;overflow:auto;border:1px solid #d1d5db;border-radius:4px;display:flex;flex-direction:column}#sql-input[data-v-bccef05f]{width:100%;flex:1;padding:12px;border:none;font-family:Consolas,Monaco,monospace;font-size:14px;resize:none;box-sizing:border-box;min-height:150px}#sql-input[data-v-bccef05f]:focus{outline:none}.sql-actions[data-v-bccef05f]{display:flex;justify-content:flex-end;padding-top:15px;border-top:1px solid #eef0f3}#parse-btn[data-v-bccef05f]{padding:8px 20px;background:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;font-size:14px}#parse-btn[data-v-bccef05f]:hover{background:#1d4ed8}.visualization-panel[data-v-bccef05f]{flex:1;background-color:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f;padding:20px;position:relative;overflow:hidden;min-height:0;display:flex;flex-direction:column;max-height:77vh}#container[data-v-bccef05f]{flex:1;width:100%;overflow:hidden;transform-origin:0 0;transition:transform .15s ease-out;-webkit-user-select:none;user-select:none;position:relative;min-height:0}.switch-container[data-v-bccef05f]{position:absolute;top:20px;left:130px;display:flex;align-items:center;z-index:1000;background-color:#fff;padding:7px 14px;border-radius:20px;border:1px solid #e5e7eb;box-shadow:0 2px 10px #00000014;font-size:13.5px}.switch-label[data-v-bccef05f]{color:#9ca3af;font-weight:500;transition:color .25s,font-weight .25s;white-space:nowrap}.switch-label.active[data-v-bccef05f]{color:#2563eb;font-weight:600}.switch[data-v-bccef05f]{position:relative;display:inline-block;width:40px;height:20px;margin:0 10px}.switch input[data-v-bccef05f]{opacity:0;width:0;height:0}.slider[data-v-bccef05f]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.slider[data-v-bccef05f]:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s}input:checked+.slider[data-v-bccef05f]{background:#2563eb}input:focus+.slider[data-v-bccef05f]{box-shadow:0 0 1px #409eff}input:checked+.slider[data-v-bccef05f]:before{transform:translate(20px)}.slider.round[data-v-bccef05f]{border-radius:20px}.slider.round[data-v-bccef05f]:before{border-radius:50%}.panel-title[data-v-bccef05f]{font-size:16px;font-weight:700;margin-bottom:15px;color:#1f2937;margin-top:7px}@media (max-width: 992px){.main-container[data-v-bccef05f]{flex-direction:column;padding:10px}.sql-panel[data-v-bccef05f]{flex:0 0 auto;max-height:50vh}#container[data-v-bccef05f]{min-height:400px}}.chart-controls[data-v-bccef05f]{position:absolute;top:20px;right:20px;display:flex;gap:8px;z-index:1000;background-color:#fff;padding:7px 10px;border-radius:20px;border:1px solid #e5e7eb;box-shadow:0 2px 10px #00000014}.chart-controls button[data-v-bccef05f]{width:30px;height:30px;border:none;background:#f0f0f0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.chart-controls button[data-v-bccef05f]:hover{background:#409eff;color:#fff}.chart-controls i[data-v-bccef05f]{font-size:16px;color:#4b5563}.chart-controls .el-button:hover i[data-v-bccef05f]{color:#2563eb}.header h2[data-v-bccef05f]{font-size:22px;font-weight:700;letter-spacing:.5px;color:#111827;display:inline-block}.panel-title[data-v-bccef05f]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#1f2937}.panel-title[data-v-bccef05f]:before{content:"";width:4px;height:16px;border-radius:2px;background:#2563eb;flex:none}#sql-input[data-v-bccef05f]{color:#1f2937;caret-color:#2563eb}#sql-input[data-v-bccef05f]::placeholder{color:#9ca3af}.result-sql[data-v-bccef05f],.json-result[data-v-bccef05f]{color:#1f2937}.sql-splitter-tester[data-v-9cbdff14]{height:100%;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.sql-panel[data-v-9cbdff14]{flex:0 0 400px;background-color:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f;padding:20px;overflow:hidden;max-height:77vh;display:flex;flex-direction:column}.header[data-v-9cbdff14]{margin-bottom:-10px;color:#1f2937;padding:0 20px}.main-container[data-v-9cbdff14]{flex:1;display:flex;gap:20px;overflow:hidden;padding:20px;box-sizing:border-box}.result-panel[data-v-9cbdff14]{flex:1;background-color:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f;padding:20px;position:relative;overflow:hidden;min-height:0;display:flex;flex-direction:column;max-height:77vh}.panel-header[data-v-9cbdff14]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.data-source-selector[data-v-9cbdff14]{display:flex;align-items:center;gap:8px}.data-source-selector label[data-v-9cbdff14]{font-size:14px;color:#4b5563}.data-source-selector select[data-v-9cbdff14]{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;color:#4b5563;background-color:#fff;transition:border-color .3s}.data-source-selector select[data-v-9cbdff14]:focus{outline:none;border-color:#2563eb}.sql-input-container[data-v-9cbdff14]{display:flex;flex-direction:column;gap:15px;flex:1}#sql-input[data-v-9cbdff14]{width:100%;flex:1;padding:12px;border:none;font-family:Consolas,Monaco,monospace;font-size:14px;resize:none;box-sizing:border-box;min-height:150px}#sql-input[data-v-9cbdff14]:focus{outline:none;border-color:#2563eb}#split-btn[data-v-9cbdff14]{align-self:flex-end;padding:8px 20px;background:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;font-size:14px}.sql-input-wrapper[data-v-9cbdff14]{flex:1;min-height:0;overflow:auto;border:1px solid #d1d5db;border-radius:4px;display:flex;flex-direction:column}#split-btn[data-v-9cbdff14]:hover{background:#1d4ed8}.result-container[data-v-9cbdff14]{flex:1;overflow-y:auto;padding:10px 0}.sql-item[data-v-9cbdff14]{margin-bottom:15px;padding:15px;background-color:#f3f4f6;border-radius:4px}.sql-index[data-v-9cbdff14]{font-weight:700;margin-bottom:10px;color:#2563eb}.result-sql[data-v-9cbdff14]{width:100%;min-height:100px;padding:10px;border:1px solid #d1d5db;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:14px;resize:vertical;background-color:#fff}.panel-title[data-v-9cbdff14]{font-size:16px;font-weight:700;margin-bottom:15px;color:#1f2937;margin-top:7px}@media (max-width: 992px){.main-container[data-v-9cbdff14]{flex-direction:column}.sql-panel[data-v-9cbdff14]{flex:0 0 auto;max-height:50vh}}.header h2[data-v-9cbdff14]{font-size:22px;font-weight:700;letter-spacing:.5px;color:#111827;display:inline-block}.panel-title[data-v-9cbdff14]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#1f2937}.panel-title[data-v-9cbdff14]:before{content:"";width:4px;height:16px;border-radius:2px;background:#2563eb;flex:none}#sql-input[data-v-9cbdff14]{color:#1f2937;caret-color:#2563eb}#sql-input[data-v-9cbdff14]::placeholder{color:#9ca3af}.result-sql[data-v-9cbdff14],.json-result[data-v-9cbdff14]{color:#1f2937}.syntax-validator[data-v-04b1c73a]{height:100%;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.header[data-v-04b1c73a]{margin-bottom:-10px;color:#1f2937;padding:0 20px}.main-container[data-v-04b1c73a]{flex:1;display:flex;gap:20px;overflow:hidden;padding:20px;box-sizing:border-box}.sql-panel[data-v-04b1c73a]{flex:0 0 400px;background-color:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f;padding:20px;overflow:hidden;max-height:77vh;display:flex;flex-direction:column}.panel-header[data-v-04b1c73a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.data-source-selector[data-v-04b1c73a]{display:flex;align-items:center;gap:8px}.data-source-selector label[data-v-04b1c73a]{font-size:14px;color:#4b5563}.data-source-selector select[data-v-04b1c73a]{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;color:#4b5563;background-color:#fff;transition:border-color .3s}.data-source-selector select[data-v-04b1c73a]:focus{outline:none;border-color:#2563eb}.sql-input-wrapper[data-v-04b1c73a]{flex:1;min-height:0;overflow:auto;border:1px solid #d1d5db;border-radius:4px;display:flex;flex-direction:column}#sql-input[data-v-04b1c73a]{width:100%;flex:1;padding:12px;border:none;font-family:Consolas,Monaco,monospace;font-size:14px;resize:none;box-sizing:border-box;min-height:150px}.sql-actions[data-v-04b1c73a]{display:flex;justify-content:flex-end;padding-top:15px;border-top:1px solid #eef0f3}#sql-input[data-v-04b1c73a]:focus{outline:none;border-color:#2563eb}#validate-btn[data-v-04b1c73a]{padding:8px 20px;background:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;font-size:14px}#validate-btn[data-v-04b1c73a]:hover{background:#1d4ed8}.result-panel[data-v-04b1c73a]{flex:1;background-color:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f;padding:20px;position:relative;overflow:hidden;min-height:0;display:flex;flex-direction:column;max-height:77vh}.result-container[data-v-04b1c73a]{flex:1;width:100%;overflow:auto}.result-content[data-v-04b1c73a]{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.success-message[data-v-04b1c73a]{color:#059669;font-size:18px;display:flex;flex-direction:column;align-items:center;gap:8px}.success-details[data-v-04b1c73a]{margin-top:15px;padding:15px;background-color:#34d3991f;border:1px solid rgba(52,211,153,.35);border-radius:4px;color:#4b5563;font-size:14px;width:100%;max-height:300px;overflow:auto}.error-message[data-v-04b1c73a]{color:#f87171;font-size:18px;display:flex;flex-direction:column;align-items:center;gap:8px}.error-details[data-v-04b1c73a]{margin-top:15px;padding:15px;background-color:#f871711f;border:1px solid rgba(248,113,113,.35);border-radius:4px;color:#4b5563;font-size:14px;width:100%;max-height:300px;overflow:auto}.empty-result[data-v-04b1c73a]{flex:1;display:flex;justify-content:center;align-items:center;color:#9ca3af;font-size:16px}.panel-title[data-v-04b1c73a]{font-size:16px;font-weight:700;margin-bottom:15px;color:#1f2937;margin-top:7px}@media (max-width: 992px){.main-container[data-v-04b1c73a]{flex-direction:column}.sql-panel[data-v-04b1c73a]{flex:0 0 auto;max-height:50vh}}.header h2[data-v-04b1c73a]{font-size:22px;font-weight:700;letter-spacing:.5px;color:#111827;display:inline-block}.panel-title[data-v-04b1c73a]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#1f2937}.panel-title[data-v-04b1c73a]:before{content:"";width:4px;height:16px;border-radius:2px;background:#2563eb;flex:none}#sql-input[data-v-04b1c73a]{color:#1f2937;caret-color:#2563eb}#sql-input[data-v-04b1c73a]::placeholder{color:#9ca3af}.result-sql[data-v-04b1c73a],.json-result[data-v-04b1c73a]{color:#1f2937}.table-parser[data-v-6e144c21]{height:100%;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.header[data-v-6e144c21]{margin-bottom:-10px;color:#1f2937;padding:0 20px}.main-container[data-v-6e144c21]{flex:1;display:flex;gap:20px;overflow:hidden;padding:20px;box-sizing:border-box}.input-panel[data-v-6e144c21]{flex:0 0 400px;background-color:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f;padding:20px;overflow:hidden;max-height:77vh;display:flex;flex-direction:column}.panel-header[data-v-6e144c21]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.data-source-selector[data-v-6e144c21]{display:flex;align-items:center;gap:8px}.data-source-selector label[data-v-6e144c21]{font-size:14px;color:#4b5563}.data-source-selector select[data-v-6e144c21]{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;color:#4b5563;background-color:#fff;transition:border-color .3s}.data-source-selector select[data-v-6e144c21]:focus{outline:none;border-color:#2563eb}.sql-input-wrapper[data-v-6e144c21]{flex:1;min-height:0;overflow:auto;border:1px solid #d1d5db;border-radius:4px;display:flex;flex-direction:column}#sql-input[data-v-6e144c21]{width:100%;flex:1;padding:12px;border:none;font-family:Consolas,Monaco,monospace;font-size:14px;resize:none;box-sizing:border-box;min-height:150px}#sql-input[data-v-6e144c21]:focus{outline:none}.sql-actions[data-v-6e144c21]{display:flex;justify-content:flex-end;padding-top:15px;border-top:1px solid #eef0f3}#parse-btn[data-v-6e144c21]{padding:8px 20px;background:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;font-size:14px}#parse-btn[data-v-6e144c21]:hover{background:#1d4ed8}.result-panel[data-v-6e144c21]{flex:1;background-color:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f;padding:20px;position:relative;overflow:hidden;min-height:0;display:flex;flex-direction:column;max-height:77vh}.result-container[data-v-6e144c21]{flex:1;width:100%;overflow:auto}.result-content[data-v-6e144c21]{flex:1;display:flex;flex-direction:column}.empty-result[data-v-6e144c21]{flex:1;display:flex;justify-content:center;align-items:center;color:#9ca3af;font-size:16px}.result-count[data-v-6e144c21]{font-weight:700;margin-bottom:15px;color:#059669}.table-list[data-v-6e144c21]{flex:1;overflow-y:auto}.table-item[data-v-6e144c21]{margin-bottom:10px;padding:10px;background-color:#f3f4f6;border-radius:4px;display:flex;align-items:center}.table-index[data-v-6e144c21]{font-weight:700;margin-right:10px;color:#2563eb}.table-name[data-v-6e144c21]{font-family:Consolas,Monaco,monospace;font-size:14px}.panel-title[data-v-6e144c21]{font-size:16px;font-weight:700;margin-bottom:15px;color:#1f2937;margin-top:7px}@media (max-width: 992px){.main-container[data-v-6e144c21]{flex-direction:column}.input-panel[data-v-6e144c21]{flex:0 0 auto;max-height:50vh}}.header h2[data-v-6e144c21]{font-size:22px;font-weight:700;letter-spacing:.5px;color:#111827;display:inline-block}.panel-title[data-v-6e144c21]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#1f2937}.panel-title[data-v-6e144c21]:before{content:"";width:4px;height:16px;border-radius:2px;background:#2563eb;flex:none}#sql-input[data-v-6e144c21]{color:#1f2937;caret-color:#2563eb}#sql-input[data-v-6e144c21]::placeholder{color:#9ca3af}.result-sql[data-v-6e144c21],.json-result[data-v-6e144c21]{color:#1f2937}.create-table-parser[data-v-d73075b8]{height:100%;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.header[data-v-d73075b8]{margin-bottom:-10px;color:#1f2937;padding:0 20px}.main-container[data-v-d73075b8]{flex:1;display:flex;gap:20px;overflow:hidden;padding:20px;box-sizing:border-box}.input-panel[data-v-d73075b8]{flex:0 0 400px;background-color:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f;padding:20px;overflow:hidden;max-height:77vh;display:flex;flex-direction:column}.panel-header[data-v-d73075b8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.data-source-selector[data-v-d73075b8]{display:flex;align-items:center;gap:8px}.data-source-selector label[data-v-d73075b8]{font-size:14px;color:#4b5563}.data-source-selector select[data-v-d73075b8]{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;color:#4b5563;background-color:#fff;transition:border-color .3s}.data-source-selector select[data-v-d73075b8]:focus{outline:none;border-color:#2563eb}.sql-input-wrapper[data-v-d73075b8]{flex:1;min-height:0;overflow:auto;border:1px solid #d1d5db;border-radius:4px;display:flex;flex-direction:column}#sql-input[data-v-d73075b8]{width:100%;flex:1;padding:12px;border:none;font-family:Consolas,Monaco,monospace;font-size:14px;resize:none;box-sizing:border-box;min-height:150px}#sql-input[data-v-d73075b8]:focus{outline:none}.sql-actions[data-v-d73075b8]{display:flex;justify-content:flex-end;padding-top:15px;border-top:1px solid #eef0f3}#parse-btn[data-v-d73075b8]{padding:8px 20px;background:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;font-size:14px}#parse-btn[data-v-d73075b8]:hover{background:#1d4ed8}.result-panel[data-v-d73075b8]{flex:1;background-color:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f;padding:20px;position:relative;overflow:hidden;min-height:0;display:flex;flex-direction:column;max-height:77vh}.result-container[data-v-d73075b8]{flex:1;width:100%;overflow:auto}.result-content[data-v-d73075b8]{flex:1;display:flex;flex-direction:column;gap:20px}.result-info[data-v-d73075b8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;padding:15px;background-color:#f3f4f6;border-radius:14px}.result-item[data-v-d73075b8]{display:flex;flex-direction:column;gap:5px}.result-item .label[data-v-d73075b8]{font-weight:700;color:#4b5563;font-size:12px}.result-item .value[data-v-d73075b8]{color:#1f2937;font-size:14px;word-break:break-all}.result-section[data-v-d73075b8]{border:1px solid #eef0f3;border-radius:14px;padding:15px;background-color:#fafafa}.result-section h3[data-v-d73075b8]{margin:0 0 15px;color:#2563eb;font-size:16px;padding-bottom:10px;border-bottom:1px solid #e6e8eb}.table-container[data-v-d73075b8]{overflow-x:auto}.result-table[data-v-d73075b8]{width:100%;border-collapse:collapse;background-color:#fff;font-size:12px}.result-table th[data-v-d73075b8],.result-table td[data-v-d73075b8]{padding:8px 12px;border:1px solid #eef0f3;text-align:left}.result-table th[data-v-d73075b8]{background-color:#fff;font-weight:700;color:#4b5563;white-space:nowrap}.result-table tr[data-v-d73075b8]:nth-child(2n){background-color:#f3f4f6}.result-table tr[data-v-d73075b8]:hover{background-color:#eff6ff}.key-info[data-v-d73075b8],.bucket-info[data-v-d73075b8],.partition-info[data-v-d73075b8]{display:flex;flex-direction:column;gap:10px}.key-item[data-v-d73075b8],.bucket-item[data-v-d73075b8],.partition-item[data-v-d73075b8]{display:flex;align-items:flex-start;gap:10px}.key-label[data-v-d73075b8],.bucket-label[data-v-d73075b8],.partition-label[data-v-d73075b8]{font-weight:700;color:#4b5563;min-width:80px}.key-value[data-v-d73075b8],.bucket-value[data-v-d73075b8],.partition-value[data-v-d73075b8]{color:#1f2937;word-break:break-all}.properties-grid[data-v-d73075b8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.property-item[data-v-d73075b8]{display:flex;align-items:center;gap:8px;padding:8px;background-color:#fff;border-radius:4px;border:1px solid #eef0f3}.property-key[data-v-d73075b8]{font-weight:700;color:#2563eb;min-width:120px}.property-value[data-v-d73075b8]{color:#1f2937;word-break:break-all}.json-result[data-v-d73075b8]{background-color:#2d2d2d;color:#f8f8f2;padding:15px;border-radius:4px;overflow:auto;font-family:Consolas,Monaco,monospace;font-size:12px;max-height:500px}.panel-title[data-v-d73075b8]{font-size:16px;font-weight:700;margin-bottom:15px;color:#1f2937;margin-top:7px}@media (max-width: 992px){.main-container[data-v-d73075b8]{flex-direction:column}.input-panel[data-v-d73075b8]{flex:0 0 auto;max-height:50vh}.result-info[data-v-d73075b8],.properties-grid[data-v-d73075b8]{grid-template-columns:1fr}.result-table[data-v-d73075b8]{font-size:11px}.result-table th[data-v-d73075b8],.result-table td[data-v-d73075b8]{padding:6px 8px}}.header h2[data-v-d73075b8]{font-size:22px;font-weight:700;letter-spacing:.5px;color:#111827;display:inline-block}.panel-title[data-v-d73075b8]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#1f2937}.panel-title[data-v-d73075b8]:before{content:"";width:4px;height:16px;border-radius:2px;background:#2563eb;flex:none}#sql-input[data-v-d73075b8]{color:#1f2937;caret-color:#2563eb}#sql-input[data-v-d73075b8]::placeholder{color:#9ca3af}.result-sql[data-v-d73075b8],.json-result[data-v-d73075b8]{color:#1f2937}.nav-dropdown[data-v-5b1dbd30]{position:static;z-index:1000}.dropdown-trigger[data-v-5b1dbd30]{display:flex;align-items:center;gap:6px;padding:8px 16px;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s;font-size:14px}.dropdown-trigger[data-v-5b1dbd30]:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb}.dropdown-trigger .caret[data-v-5b1dbd30]{font-size:12px}.px-dropdown-menu.el-dropdown-menu{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 32px #0000001a;padding:6px}.px-dropdown-menu .el-dropdown-menu__item{color:#374151;border-radius:8px;font-size:14px;padding:9px 16px}.px-dropdown-menu .el-dropdown-menu__item:hover,.px-dropdown-menu .el-dropdown-menu__item:focus{background:#eff6ff;color:#2563eb}.main-layout[data-v-92ea8acf]{position:relative;display:flex;flex-direction:column}.app-header[data-v-92ea8acf]{position:fixed;top:0;left:0;right:0;z-index:1000;height:60px;display:flex;align-items:center;background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb;box-shadow:0 1px 4px #0000000d}.header-content[data-v-92ea8acf]{width:100%;max-width:1280px;padding:0 20px;display:flex;align-items:center;gap:18px}.header-brand[data-v-92ea8acf]{font-size:19px;font-weight:700;letter-spacing:.5px;color:#111827;padding:0 6px}.home-link[data-v-92ea8acf]{display:flex;align-items:center;color:#4b5563;text-decoration:none;font-size:15px;padding:8px 14px;border-radius:8px;border:1px solid transparent;transition:all .3s}.home-link[data-v-92ea8acf]:hover{background:#eff6ff;border-color:#dbeafe;color:#2563eb}.home-link i[data-v-92ea8acf]{margin-right:8px;font-size:18px}.content-container[data-v-92ea8acf]{flex:1;display:flex;flex-direction:column;margin-top:60px;overflow:hidden}.content-container.has-nav[data-v-92ea8acf]{margin-top:72px;padding:0}.content-container.is-home[data-v-92ea8acf]{margin-top:0;display:block;flex:none}.main-layout[data-v-92ea8acf] .nav-dropdown{margin-left:auto;position:static;background:transparent;box-shadow:none}@font-face{font-family:element-icons;src:url(./element-icons-B-tDfklg.woff) format("woff"),url(./element-icons-_lZGOqcG.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:""}.el-icon-ice-cream-square:before{content:""}.el-icon-lollipop:before{content:""}.el-icon-potato-strips:before{content:""}.el-icon-milk-tea:before{content:""}.el-icon-ice-drink:before{content:""}.el-icon-ice-tea:before{content:""}.el-icon-coffee:before{content:""}.el-icon-orange:before{content:""}.el-icon-pear:before{content:""}.el-icon-apple:before{content:""}.el-icon-cherry:before{content:""}.el-icon-watermelon:before{content:""}.el-icon-grape:before{content:""}.el-icon-refrigerator:before{content:""}.el-icon-goblet-square-full:before{content:""}.el-icon-goblet-square:before{content:""}.el-icon-goblet-full:before{content:""}.el-icon-goblet:before{content:""}.el-icon-cold-drink:before{content:""}.el-icon-coffee-cup:before{content:""}.el-icon-water-cup:before{content:""}.el-icon-hot-water:before{content:""}.el-icon-ice-cream:before{content:""}.el-icon-dessert:before{content:""}.el-icon-sugar:before{content:""}.el-icon-tableware:before{content:""}.el-icon-burger:before{content:""}.el-icon-knife-fork:before{content:""}.el-icon-fork-spoon:before{content:""}.el-icon-chicken:before{content:""}.el-icon-food:before{content:""}.el-icon-dish-1:before{content:""}.el-icon-dish:before{content:""}.el-icon-moon-night:before{content:""}.el-icon-moon:before{content:""}.el-icon-cloudy-and-sunny:before{content:""}.el-icon-partly-cloudy:before{content:""}.el-icon-cloudy:before{content:""}.el-icon-sunny:before{content:""}.el-icon-sunset:before{content:""}.el-icon-sunrise-1:before{content:""}.el-icon-sunrise:before{content:""}.el-icon-heavy-rain:before{content:""}.el-icon-lightning:before{content:""}.el-icon-light-rain:before{content:""}.el-icon-wind-power:before{content:""}.el-icon-baseball:before{content:""}.el-icon-soccer:before{content:""}.el-icon-football:before{content:""}.el-icon-basketball:before{content:""}.el-icon-ship:before{content:""}.el-icon-truck:before{content:""}.el-icon-bicycle:before{content:""}.el-icon-mobile-phone:before{content:""}.el-icon-service:before{content:""}.el-icon-key:before{content:""}.el-icon-unlock:before{content:""}.el-icon-lock:before{content:""}.el-icon-watch:before{content:""}.el-icon-watch-1:before{content:""}.el-icon-timer:before{content:""}.el-icon-alarm-clock:before{content:""}.el-icon-map-location:before{content:""}.el-icon-delete-location:before{content:""}.el-icon-add-location:before{content:""}.el-icon-location-information:before{content:""}.el-icon-location-outline:before{content:""}.el-icon-location:before{content:""}.el-icon-place:before{content:""}.el-icon-discover:before{content:""}.el-icon-first-aid-kit:before{content:""}.el-icon-trophy-1:before{content:""}.el-icon-trophy:before{content:""}.el-icon-medal:before{content:""}.el-icon-medal-1:before{content:""}.el-icon-stopwatch:before{content:""}.el-icon-mic:before{content:""}.el-icon-copy-document:before{content:""}.el-icon-full-screen:before{content:""}.el-icon-switch-button:before{content:""}.el-icon-aim:before{content:""}.el-icon-crop:before{content:""}.el-icon-odometer:before{content:""}.el-icon-time:before{content:""}.el-icon-bangzhu:before{content:""}.el-icon-close-notification:before{content:""}.el-icon-microphone:before{content:""}.el-icon-turn-off-microphone:before{content:""}.el-icon-position:before{content:""}.el-icon-postcard:before{content:""}.el-icon-message:before{content:""}.el-icon-chat-line-square:before{content:""}.el-icon-chat-dot-square:before{content:""}.el-icon-chat-dot-round:before{content:""}.el-icon-chat-square:before{content:""}.el-icon-chat-line-round:before{content:""}.el-icon-chat-round:before{content:""}.el-icon-set-up:before{content:""}.el-icon-turn-off:before{content:""}.el-icon-open:before{content:""}.el-icon-connection:before{content:""}.el-icon-link:before{content:""}.el-icon-cpu:before{content:""}.el-icon-thumb:before{content:""}.el-icon-female:before{content:""}.el-icon-male:before{content:""}.el-icon-guide:before{content:""}.el-icon-news:before{content:""}.el-icon-price-tag:before{content:""}.el-icon-discount:before{content:""}.el-icon-wallet:before{content:""}.el-icon-coin:before{content:""}.el-icon-money:before{content:""}.el-icon-bank-card:before{content:""}.el-icon-box:before{content:""}.el-icon-present:before{content:""}.el-icon-sell:before{content:""}.el-icon-sold-out:before{content:""}.el-icon-shopping-bag-2:before{content:""}.el-icon-shopping-bag-1:before{content:""}.el-icon-shopping-cart-2:before{content:""}.el-icon-shopping-cart-1:before{content:""}.el-icon-shopping-cart-full:before{content:""}.el-icon-smoking:before{content:""}.el-icon-no-smoking:before{content:""}.el-icon-house:before{content:""}.el-icon-table-lamp:before{content:""}.el-icon-school:before{content:""}.el-icon-office-building:before{content:""}.el-icon-toilet-paper:before{content:""}.el-icon-notebook-2:before{content:""}.el-icon-notebook-1:before{content:""}.el-icon-files:before{content:""}.el-icon-collection:before{content:""}.el-icon-receiving:before{content:""}.el-icon-suitcase-1:before{content:""}.el-icon-suitcase:before{content:""}.el-icon-film:before{content:""}.el-icon-collection-tag:before{content:""}.el-icon-data-analysis:before{content:""}.el-icon-pie-chart:before{content:""}.el-icon-data-board:before{content:""}.el-icon-data-line:before{content:""}.el-icon-reading:before{content:""}.el-icon-magic-stick:before{content:""}.el-icon-coordinate:before{content:""}.el-icon-mouse:before{content:""}.el-icon-brush:before{content:""}.el-icon-headset:before{content:""}.el-icon-umbrella:before{content:""}.el-icon-scissors:before{content:""}.el-icon-mobile:before{content:""}.el-icon-attract:before{content:""}.el-icon-monitor:before{content:""}.el-icon-search:before{content:""}.el-icon-takeaway-box:before{content:""}.el-icon-paperclip:before{content:""}.el-icon-printer:before{content:""}.el-icon-document-add:before{content:""}.el-icon-document:before{content:""}.el-icon-document-checked:before{content:""}.el-icon-document-copy:before{content:""}.el-icon-document-delete:before{content:""}.el-icon-document-remove:before{content:""}.el-icon-tickets:before{content:""}.el-icon-folder-checked:before{content:""}.el-icon-folder-delete:before{content:""}.el-icon-folder-remove:before{content:""}.el-icon-folder-add:before{content:""}.el-icon-folder-opened:before{content:""}.el-icon-folder:before{content:""}.el-icon-edit-outline:before{content:""}.el-icon-edit:before{content:""}.el-icon-date:before{content:""}.el-icon-c-scale-to-original:before{content:""}.el-icon-view:before{content:""}.el-icon-loading:before{content:""}.el-icon-rank:before{content:""}.el-icon-sort-down:before{content:""}.el-icon-sort-up:before{content:""}.el-icon-sort:before{content:""}.el-icon-finished:before{content:""}.el-icon-refresh-left:before{content:""}.el-icon-refresh-right:before{content:""}.el-icon-refresh:before{content:""}.el-icon-video-play:before{content:""}.el-icon-video-pause:before{content:""}.el-icon-d-arrow-right:before{content:""}.el-icon-d-arrow-left:before{content:""}.el-icon-arrow-up:before{content:""}.el-icon-arrow-down:before{content:""}.el-icon-arrow-right:before{content:""}.el-icon-arrow-left:before{content:""}.el-icon-top-right:before{content:""}.el-icon-top-left:before{content:""}.el-icon-top:before{content:""}.el-icon-bottom:before{content:""}.el-icon-right:before{content:""}.el-icon-back:before{content:""}.el-icon-bottom-right:before{content:""}.el-icon-bottom-left:before{content:""}.el-icon-caret-top:before{content:""}.el-icon-caret-bottom:before{content:""}.el-icon-caret-right:before{content:""}.el-icon-caret-left:before{content:""}.el-icon-d-caret:before{content:""}.el-icon-share:before{content:""}.el-icon-menu:before{content:""}.el-icon-s-grid:before{content:""}.el-icon-s-check:before{content:""}.el-icon-s-data:before{content:""}.el-icon-s-opportunity:before{content:""}.el-icon-s-custom:before{content:""}.el-icon-s-claim:before{content:""}.el-icon-s-finance:before{content:""}.el-icon-s-comment:before{content:""}.el-icon-s-flag:before{content:""}.el-icon-s-marketing:before{content:""}.el-icon-s-shop:before{content:""}.el-icon-s-open:before{content:""}.el-icon-s-management:before{content:""}.el-icon-s-ticket:before{content:""}.el-icon-s-release:before{content:""}.el-icon-s-home:before{content:""}.el-icon-s-promotion:before{content:""}.el-icon-s-operation:before{content:""}.el-icon-s-unfold:before{content:""}.el-icon-s-fold:before{content:""}.el-icon-s-platform:before{content:""}.el-icon-s-order:before{content:""}.el-icon-s-cooperation:before{content:""}.el-icon-bell:before{content:""}.el-icon-message-solid:before{content:""}.el-icon-video-camera:before{content:""}.el-icon-video-camera-solid:before{content:""}.el-icon-camera:before{content:""}.el-icon-camera-solid:before{content:""}.el-icon-download:before{content:""}.el-icon-upload2:before{content:""}.el-icon-upload:before{content:""}.el-icon-picture-outline-round:before{content:""}.el-icon-picture-outline:before{content:""}.el-icon-picture:before{content:""}.el-icon-close:before{content:""}.el-icon-check:before{content:""}.el-icon-plus:before{content:""}.el-icon-minus:before{content:""}.el-icon-help:before{content:""}.el-icon-s-help:before{content:""}.el-icon-circle-close:before{content:""}.el-icon-circle-check:before{content:""}.el-icon-circle-plus-outline:before{content:""}.el-icon-remove-outline:before{content:""}.el-icon-zoom-out:before{content:""}.el-icon-zoom-in:before{content:""}.el-icon-error:before{content:""}.el-icon-success:before{content:""}.el-icon-circle-plus:before{content:""}.el-icon-remove:before{content:""}.el-icon-info:before{content:""}.el-icon-question:before{content:""}.el-icon-warning-outline:before{content:""}.el-icon-warning:before{content:""}.el-icon-goods:before{content:""}.el-icon-s-goods:before{content:""}.el-icon-star-off:before{content:""}.el-icon-star-on:before{content:""}.el-icon-more-outline:before{content:""}.el-icon-more:before{content:""}.el-icon-phone-outline:before{content:""}.el-icon-phone:before{content:""}.el-icon-user:before{content:""}.el-icon-user-solid:before{content:""}.el-icon-setting:before{content:""}.el-icon-s-tools:before{content:""}.el-icon-delete:before{content:""}.el-icon-delete-solid:before{content:""}.el-icon-eleme:before{content:""}.el-icon-platform-eleme:before{content:""}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotate(0)}to{-webkit-transform:rotateZ(360deg);transform:rotate(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotate(0)}to{-webkit-transform:rotateZ(360deg);transform:rotate(360deg)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination:after,.el-pagination:before{display:table;content:""}.el-pagination:after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409eff}.el-pagination button:disabled{color:#c0c4cc;background-color:#fff;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat #fff;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#c0c4cc;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pagination--small .more:before,.el-pagination--small li.more:before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409eff}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-dialog,.el-pager li{-webkit-box-sizing:border-box}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#c0c4cc}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409eff}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409eff;color:#fff}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-pager .more:before{line-height:30px}.el-pager li{padding:0 4px;background:#fff;font-size:13px;min-width:35.5px;height:28px;line-height:28px;box-sizing:border-box;text-align:center}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#c0c4cc}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409eff}.el-pager li.active{color:#409eff;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;background:#fff;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px #0000004d;box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409eff}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px #0000001a;border-radius:4px;border:1px solid #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#f5f7fa}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#fff}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button:before{content:"";position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:#ffffff80}.el-dropdown .el-dropdown__caret-button.el-button--default:before{background:#dcdfe680}.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled):before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown [disabled]{cursor:not-allowed;color:#bbb}.el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#fff;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px #0000001a}.el-dropdown-menu__item,.el-menu-item{font-size:14px;padding:0 20px;cursor:pointer}.el-dropdown-menu__item{list-style:none;line-height:36px;margin:0;color:#606266;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #EBEEF5}.el-dropdown-menu__item--divided:before{content:"";height:6px;display:block;margin:0 -20px;background-color:#fff}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#fff}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu:after,.el-menu:before{display:table;content:""}.el-breadcrumb__item:last-child .el-breadcrumb__separator,.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu:after{clear:both}.el-menu.el-menu--horizontal{border-bottom:solid 1px #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409EFF;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--collapse .el-submenu,.el-menu-item{position:relative}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#fff;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409EFF;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;list-style:none}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-submenu{min-width:200px}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #E4E7ED;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px #0000001a}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px #0000001a}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{color:#303133;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-radio-button__inner,.el-submenu__title{-webkit-box-sizing:border-box;position:relative;white-space:nowrap}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409eff}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409eff}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotate(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{background:#fff;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409eff}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#fff;background-color:#409eff;border-color:#409eff;-webkit-box-shadow:-1px 0 0 0 #409EFF;box-shadow:-1px 0 #409eff}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#f2f6fc}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409eff}.el-picker-panel,.el-popover,.el-select-dropdown,.el-table-filter,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#409eff}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #DCDFE6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#dcdfe6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-input__prefix,.el-input__suffix{-webkit-transition:all .3s;color:#c0c4cc}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#fff}.el-switch.is-checked .el-switch__core{border-color:#409eff;background-color:#409eff}.el-switch.is-checked .el-switch__core:after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#fff;box-shadow:0 2px 12px #0000001a;-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409eff;background-color:#fff}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:after{position:absolute;right:20px;font-family:element-icons;content:"";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#fff}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#f5f7fa}.el-select-dropdown__item.selected{color:#409eff;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#e4e7ed}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#c0c4cc}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409eff}.el-select .el-input .el-select__caret{color:#c0c4cc;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotate(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotate(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotate(180deg);border-radius:100%;color:#c0c4cc;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#e4e7ed}.el-range-editor.is-active,.el-range-editor.is-active:hover,.el-select .el-input.is-focus .el-input__inner{border-color:#409eff}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#c0c4cc;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#c0c4cc;top:0;color:#fff;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#fff}.el-select .el-tag__close.el-icon-close:before{display:block;-webkit-transform:translate(0,.5px);transform:translateY(.5px)}.el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th.el-table__cell{background:#f5f7fa}.el-table .el-table__cell{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table--medium .el-table__cell{padding:10px 0}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:8px 0}.el-table--mini{font-size:12px}.el-table--mini .el-table__cell{padding:6px 0}.el-table tr{background-color:#fff}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:1px solid #EBEEF5}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff}.el-table th.el-table__cell>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th.el-table__cell>.cell.highlight{color:#409eff}.el-table th.el-table__cell.required>div:before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td,.el-table .cell,.el-table-filter{-webkit-box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #EBEEF5}.el-table--border:after,.el-table--group:after,.el-table:before{content:"";position:absolute;background-color:#ebeef5;z-index:1}.el-table--border:after,.el-table--group:after{top:0;right:0;width:1px;height:100%}.el-table:before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border .el-table__cell,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #EBEEF5}.el-table--border .el-table__cell:first-child .cell{padding-left:10px}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:1px solid #EBEEF5;border-bottom-width:1px}.el-table--border th.el-table__cell,.el-table__fixed-right-patch{border-bottom:1px solid #EBEEF5}.el-table--hidden{visibility:hidden}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px #0000001f}.el-table__fixed-right:before,.el-table__fixed:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#ebeef5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#fff}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td.el-table__cell{border-top:1px solid #EBEEF5;background-color:#f5f7fa;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td.el-table__cell{border-top:1px solid #EBEEF5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:#f5f7fa;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #EBEEF5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#c0c4cc;top:5px}.el-table .sort-caret.descending{border-top-color:#c0c4cc;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409eff}.el-table .descending .sort-caret.descending{border-top-color:#409eff}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#fafafa}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell,.el-table--striped .el-table__body tr.el-table__row--striped.selection-row td.el-table__cell{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.selection-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.selection-row>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:#f5f7fa}.el-table__body tr.current-row>td.el-table__cell,.el-table__body tr.selection-row>td.el-table__cell{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #EBEEF5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td.el-table__cell{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#f5f7fa}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #EBEEF5;border-radius:2px;background-color:#fff;box-shadow:0 2px 12px #0000001a;box-sizing:border-box;margin:2px 0}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409eff;color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #EBEEF5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table td.in-range div,.el-date-table td.in-range div:hover,.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#f2f6fc}.el-table-filter__bottom button:hover{color:#409eff}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;height:30px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#c0c4cc}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409eff;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#fff}.el-date-table td.available:hover{color:#409eff}.el-date-table td.current:not(.disabled) span{color:#fff;background-color:#409eff}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#fff}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409eff}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#f5f7fa;opacity:1;cursor:not-allowed;color:#c0c4cc}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#f2f6fc;border-radius:15px}.el-date-table td.selected div:hover{background-color:#f2f6fc}.el-date-table td.selected span{background-color:#409eff;color:#fff;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #EBEEF5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409eff;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#fff}.el-month-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-month-table td.disabled .cell:hover{color:#c0c4cc}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409eff}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#f2f6fc}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#fff}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#fff;background-color:#409eff}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409eff}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409eff;font-weight:700}.el-year-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-year-table td.disabled .cell:hover{color:#c0c4cc}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409eff}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#fff}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409eff}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409eff;font-weight:700}.time-select-item.disabled{color:#e4e7ed;cursor:not-allowed}.time-select-item:hover{background-color:#f5f7fa;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#c0c4cc;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input:-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::placeholder{color:#c0c4cc}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#c0c4cc;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#e4e7ed}.el-range-editor.is-disabled input{background-color:#f5f7fa;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::placeholder{color:#c0c4cc}.el-range-editor.is-disabled .el-range-separator{color:#c0c4cc}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;box-shadow:0 2px 12px #0000001a;background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409eff}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409eff}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409eff}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#fff;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#fff;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409eff}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#f5f7fa;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#c0c4cc;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #E4E7ED;background-color:#fff;box-shadow:0 2px 12px #0000001a;border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds:after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds:before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409eff}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-popover{position:absolute;background:#fff;min-width:150px;border-radius:4px;border:1px solid #EBEEF5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;box-shadow:0 2px 12px #0000001a;word-break:break-all}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover,.el-cascader__dropdown,.el-color-picker__panel,.el-message-box,.el-notification{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#fff;border-radius:4px;border:1px solid #EBEEF5;font-size:18px;box-shadow:0 2px 12px #0000001a;text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#f56c6c}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409eff}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status:before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67c23a}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#e6a23c}.el-message-box__status.el-icon-error{color:#f56c6c}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#f56c6c;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{display:table;content:""}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#c0c4cc}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409eff;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item:after,.el-form-item:before{display:table;content:""}.el-form-item:after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content:after,.el-form-item__content:before{display:table;content:""}.el-form-item__content:after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#f56c6c;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:"*";color:#f56c6c;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#f56c6c}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409eff;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8)}.el-tabs__new-tab:hover{color:#409eff}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#e4e7ed;z-index:1}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409EFF inset;box-shadow:0 0 2px 2px #409eff inset;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs--card>.el-tabs__header .el-tabs__active-bar,.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs__item .el-icon-close:hover{background-color:#c0c4cc;color:#fff}.el-tabs__item.is-active{color:#409eff}.el-tabs__item:hover{color:#409eff;cursor:pointer}.el-tabs__item.is-disabled{color:#c0c4cc;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #E4E7ED}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #E4E7ED;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #E4E7ED;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#fff}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.el-tabs--border-card{background:#fff;border:1px solid #DCDFE6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px #0000001f,0 0 6px #0000000a}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #E4E7ED;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-col-offset-0,.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409eff;background-color:#fff;border-right-color:#dcdfe6;border-left-color:#dcdfe6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409eff}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#c0c4cc}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-cascader-menu:last-child .el-cascader-node,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #DCDFE6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-button-group>.el-button:not(:last-child),.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #E4E7ED;border-bottom:none;border-top:1px solid #E4E7ED;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #E4E7ED;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #E4E7ED;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #E4E7ED;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #E4E7ED;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #E4E7ED;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #E4E7ED;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translate(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translate(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translate(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translate(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translate(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translate(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translate(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translate(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translate(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#fff;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409eff}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#f5f7fa}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409eff;color:#fff}.el-tree-node__content:hover,.el-upload-list__item:hover{background-color:#f5f7fa}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#c0c4cc;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#c0c4cc}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#fff;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#c0c4cc}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#fff}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67c23a}.el-alert--success.is-light .el-alert__description{color:#67c23a}.el-alert--success.is-dark{background-color:#67c23a;color:#fff}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#fff}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#e6a23c}.el-alert--warning.is-light .el-alert__description{color:#e6a23c}.el-alert--warning.is-dark{background-color:#e6a23c;color:#fff}.el-alert--error.is-light{background-color:#fef0f0;color:#f56c6c}.el-alert--error.is-light .el-alert__description{color:#f56c6c}.el-alert--error.is-dark{background-color:#f56c6c;color:#fff}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active,.el-upload iframe{opacity:0}.el-carousel__arrow--right,.el-notification.right{right:16px}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #EBEEF5;position:fixed;background-color:#fff;box-shadow:0 2px 12px #0000001a;-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67c23a}.el-notification .el-icon-error{color:#f56c6c}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#e6a23c}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translate(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#f5f7fa;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409eff}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409eff}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#e4e7ed;color:#e4e7ed}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#e4e7ed;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow:after{content:" ";border-width:5px}.el-button-group:after,.el-button-group:before,.el-color-dropdown__main-wrapper:after,.el-link.is-underline:hover:after,.el-page-header__left:after,.el-progress-bar__inner:after,.el-row:after,.el-row:before,.el-slider:after,.el-slider:before,.el-slider__button-wrapper:after,.el-transfer-panel .el-transfer-panel__footer:after,.el-upload-cover:after,.el-upload-list--picture-card .el-upload-list__item-actions:after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow:after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#fff}.el-tooltip__popper.is-light{background:#fff;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow:after{border-top-color:#fff}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow:after{border-bottom-color:#fff}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow:after{border-left-color:#fff}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow:after{border-right-color:#fff}.el-slider:after,.el-slider:before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper:after{display:inline-block;vertical-align:middle}.el-slider:after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#e4e7ed;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button{border-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409eff;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;transform:translate(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-image-viewer__btn,.el-slider__button,.el-step__icon-inner{-moz-user-select:none;-ms-user-select:none}.el-slider__button-wrapper:after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409EFF;background-color:#fff;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#fff;transform:translate(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translate(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #DCDFE6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#c0c4cc}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409eff}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:#ffffffe6;margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-10,.el-col-pull-11,.el-col-pull-12,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-2,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-push-0,.el-col-push-1,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-2,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-row,.el-upload-dragger,.el-upload-list__item{position:relative}.el-loading-spinner .el-loading-text{color:#409eff;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409eff;stroke-linecap:round}.el-loading-spinner i{color:#409eff}@-webkit-keyframes loading-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row:after,.el-row:before{display:table}.el-row:after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-col-0{width:0%}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409eff;color:#409eff}.el-upload:focus .el-upload-dragger{border-color:#409eff}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#c0c4cc;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #DCDFE6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409eff;font-style:normal}.el-upload-dragger:hover{border-color:#409eff}.el-upload-dragger.is-dragover{background-color:#209fff0f;border:2px dashed #409EFF}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67c23a}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409eff}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409eff;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409eff}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px #0003}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:#00000080;-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions:after{display:inline-block;height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#fff}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px #0003}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:#000000b8;text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67c23a}.el-progress.is-success .el-progress__text{color:#67c23a}.el-progress.is-warning .el-progress-bar__inner{background-color:#e6a23c}.el-badge__content,.el-progress.is-exception .el-progress-bar__inner{background-color:#f56c6c}.el-progress.is-warning .el-progress__text{color:#e6a23c}.el-progress.is-exception .el-progress__text{color:#f56c6c}.el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__header,.el-message,.el-step__icon{-webkit-box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#ebeef5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409eff;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner:after{display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#ebeef5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translate(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67c23a}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#e6a23c}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#f56c6c}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#c0c4cc;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67c23a}.el-message .el-icon-error{color:#f56c6c}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#e6a23c}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translate(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409eff}.el-badge__content--success{background-color:#67c23a}.el-badge__content--warning{background-color:#e6a23c}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#f56c6c}.el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#fff;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:0 2px 12px #0000001a}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;box-sizing:border-box}.el-card__body,.el-main{padding:20px}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#c0c4cc;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#f5f7fa}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#c0c4cc;border-color:#c0c4cc}.el-step__head.is-success{color:#67c23a;border-color:#67c23a}.el-step__head.is-error{color:#f56c6c;border-color:#f56c6c}.el-step__head.is-finish{color:#409eff;border-color:#409eff}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;box-sizing:border-box;background:#fff;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step.is-horizontal,.el-step__icon-inner{display:inline-block}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#c0c4cc}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#c0c4cc}.el-step__title.is-success{color:#67c23a}.el-step__title.is-error{color:#f56c6c}.el-step__title.is-finish{color:#409eff}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#c0c4cc}.el-step__description.is-success{color:#67c23a}.el-step__description.is-error{color:#f56c6c}.el-step__description.is-finish{color:#409eff}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{content:"";display:inline-block;position:absolute;height:15px;width:1px;background:#c0c4cc}.el-step.is-simple .el-step__arrow:before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:#1f2d3d1c;color:#fff;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow:hover{background-color:#1f2d3d3b}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#c0c4cc;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#fff;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.el-carousel__item,.el-carousel__mask{height:100%;position:absolute;top:0;left:0}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translate(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translate(10px);opacity:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#fff;opacity:.24;-webkit-transition:.2s;transition:.2s}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #EBEEF5;border-bottom:1px solid #EBEEF5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#fff;color:#303133;cursor:pointer;border-bottom:1px solid #EBEEF5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409eff}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#fff;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EBEEF5}.el-cascader__search-input,.el-cascader__tags,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-cascader,.el-tag{display:inline-block}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.el-popper .popper__arrow:after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#ebeef5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.el-popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#ebeef5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow:after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#ebeef5}.el-popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409eff;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409eff}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#fff;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67c23a}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#fff;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close:before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409eff}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#fff;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67c23a}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#fff;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409eff}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#fff;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-cascader{position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#c0c4cc}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409eff}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotate(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#c0c4cc}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#fff;border:1px solid #E4E7ED;border-radius:4px;box-shadow:0 2px 12px #0000001a}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#c0c4cc;color:#fff}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#f5f7fa}.el-cascader__suggestion-item.is-checked{color:#409eff;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#c0c4cc}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#c0c4cc}.el-cascader__search-input:-ms-input-placeholder{color:#c0c4cc}.el-cascader__search-input::-ms-input-placeholder{color:#c0c4cc}.el-cascader__search-input::placeholder{color:#c0c4cc}.el-color-predefine{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409EFF;box-shadow:0 0 3px 2px #409eff}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px #0009;z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,#fff0)}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,#0000)}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006;border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,#fff0 0,#fff);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px #0009;z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,#fff0 0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper:after{display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409eff;border-color:#409eff}.el-color-dropdown__link-btn{cursor:pointer;color:#409eff;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409EFF,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:#ffffffb3}.el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__icon,.el-input,.el-textarea{display:inline-block;width:100%}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty{font-size:12px;color:#999;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#fff;text-align:center;font-size:12px}.el-input__prefix,.el-input__suffix{position:absolute;top:0;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#fff;border:1px solid #EBEEF5;border-radius:4px;box-shadow:0 2px 12px #0000001a}.el-input__inner,.el-textarea__inner,.el-transfer-panel{-webkit-box-sizing:border-box}.el-textarea{position:relative;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#fff;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#c0c4cc}.el-textarea__inner:-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner::-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea__inner:hover{border-color:#c0c4cc}.el-textarea__inner:focus{outline:0;border-color:#409eff}.el-textarea .el-input__count{color:#909399;background:#fff;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea.is-exceed .el-textarea__inner{border-color:#f56c6c}.el-textarea.is-exceed .el-input__count{color:#f56c6c}.el-input{position:relative;font-size:14px}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#c0c4cc;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#fff;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner:-ms-input-placeholder{color:#c0c4cc}.el-input__inner::-ms-input-placeholder{color:#c0c4cc}.el-input__inner::placeholder{color:#c0c4cc}.el-input__inner:hover{border-color:#c0c4cc}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409eff;outline:0}.el-input__suffix{height:100%;right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{height:100%;left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:"";height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-image-viewer__btn,.el-image__preview,.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#fff;background-color:#409eff;font-size:0}.el-button-group>.el-button+.el-button,.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-divider__text,.el-image__error,.el-link,.el-timeline,.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #DCDFE6;background-color:#f5f7fa;color:#c0c4cc}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer-panel{border:1px solid #EBEEF5;border-radius:4px;overflow:hidden;background:#fff;display:inline-block;vertical-align:middle;width:200px;max-height:100%;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409eff}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#f5f7fa;margin:0;padding-left:15px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-container,.el-header{-webkit-box-sizing:border-box}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#fff;margin:0;padding:0;border-top:1px solid #EBEEF5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer:after{display:inline-block;height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner:after{height:6px;width:3px;left:4px}.el-container{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical,.el-drawer,.el-empty,.el-result{-webkit-box-orient:vertical;-webkit-box-direction:normal}.el-container.is-vertical{-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#fff;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#e4e7ed;border-radius:50%;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409eff}.el-timeline-item__node--success{background-color:#67c23a}.el-timeline-item__node--warning{background-color:#e6a23c}.el-timeline-item__node--danger{background-color:#f56c6c}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0;font-weight:500}.el-link.is-underline:hover:after{position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409EFF}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409eff}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409eff}.el-link.el-link--default.is-disabled{color:#c0c4cc}.el-link.el-link--primary{color:#409eff}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#f56c6c}.el-link.el-link--danger{color:#f56c6c}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67c23a}.el-link.el-link--success{color:#67c23a}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#e6a23c}.el-link.el-link--warning{color:#e6a23c}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#dcdfe6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#fff;padding:0 20px;font-weight:500;color:#303133}.el-image__error,.el-image__placeholder{background:#f5f7fa}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translate(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#c0c4cc;vertical-align:middle}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;user-select:none}.el-button,.el-checkbox,.el-checkbox-button__inner,.el-empty__image img,.el-radio{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:24px;color:#fff;background-color:#606266}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translate(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff;top:50%}.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%);left:40px}.el-image-viewer__next{-webkit-transform:translateY(-50%);transform:translateY(-50%);right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button,.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-button:focus,.el-button:hover{color:#409eff;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#fff;border-color:#409eff;color:#409eff}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#fff;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#ebeef5;color:#c0c4cc}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:#ffffff59}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#fff;background-color:#409eff;border-color:#409eff}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#fff}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#fff}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#fff;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409eff;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409eff;border-color:#409eff;color:#fff}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#fff;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#fff;background-color:#67c23a;border-color:#67c23a}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#fff}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#fff}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#fff;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67c23a;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67c23a;border-color:#67c23a;color:#fff}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#fff;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#fff}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#fff}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#fff;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#e6a23c;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#e6a23c;border-color:#e6a23c;color:#fff}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#fff;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#fff}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#fff}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#fff;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#f56c6c;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#f56c6c;border-color:#f56c6c;color:#fff}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#fff;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#fff;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#fff}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini{font-size:12px;border-radius:3px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409eff;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:#ffffff80}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:#ffffff80}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{display:table}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-backtop,.el-page-header{display:-webkit-box;display:-ms-flexbox}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#c0c4cc}.el-backtop,.el-calendar-table td.is-today{color:#409eff}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#f2f8fe}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#f2f8fe}.el-backtop{position:fixed;background-color:#fff;width:40px;height:40px;border-radius:50%;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px #0000001f;cursor:pointer;z-index:5}.el-backtop:hover{background-color:#f2f6fc}.el-page-header{display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left:after{position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#dcdfe6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-weight:500;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409eff}.el-checkbox.is-bordered.is-disabled{border-color:#ebeef5;cursor:not-allowed}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#dcdfe6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:#c0c4cc}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:#c0c4cc}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:#c0c4cc;border-color:#c0c4cc}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409eff;border-color:#409eff}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner:after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409eff}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409eff}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409eff}.el-checkbox__inner:after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409eff}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#409eff;border-color:#409eff;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409eff}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#ebeef5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409eff}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-avatar,.el-cascader-panel,.el-radio,.el-radio--medium.is-bordered .el-radio__label,.el-radio__label{font-size:14px}.el-radio{color:#606266;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;outline:0;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-cascader-menu,.el-cascader-menu__list,.el-radio__inner{-webkit-box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:#409eff}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:#f5f7fa}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:#c0c4cc}.el-radio__input.is-disabled+span.el-radio__label{color:#c0c4cc;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409eff;background:#409eff}.el-radio__input.is-checked .el-radio__inner:after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409eff}.el-radio__input.is-focus .el-radio__inner{border-color:#409eff}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#fff;cursor:pointer;box-sizing:border-box}.el-radio__inner:hover{border-color:#409eff}.el-radio__inner:after{width:4px;height:4px;border-radius:100%;background-color:#fff;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409eff}.el-radio__label{padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity .34s ease-out;transition:opacity .34s ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:#9093994d;-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:#90939980}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity .12s ease-out;transition:opacity .12s ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#c0c4cc}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409eff;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#f5f7fa}.el-cascader-node.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#c0c4cc;width:40px;height:40px;line-height:40px}.el-drawer,.el-drawer__body>*{-webkit-box-sizing:border-box}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-empty__image img,.el-empty__image svg{vertical-align:top;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0)}to{-webkit-transform:translate(100%,0);transform:translate(100%)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0)}to{-webkit-transform:translate(100%,0);transform:translate(100%)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0)}to{-webkit-transform:translate(-100%,0);transform:translate(-100%)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0)}to{-webkit-transform:translate(-100%,0);transform:translate(-100%)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translateY(-100%)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translateY(-100%)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0)}to{-webkit-transform:translate(0,-100%);transform:translateY(-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0)}to{-webkit-transform:translate(0,-100%);transform:translateY(-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translateY(100%)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translateY(100%)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0)}to{-webkit-transform:translate(0,100%);transform:translateY(100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0)}to{-webkit-transform:translate(0,100%);transform:translateY(100%)}}.el-drawer{position:absolute;box-sizing:border-box;background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;overflow:hidden;outline:0}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.btt,.el-drawer.ttb{width:100%;left:0;right:0}.el-drawer__container{position:relative;left:0;right:0;top:0;bottom:0;height:100%;width:100%}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-statistic{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:#000;font-variant:tabular-nums;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";text-align:center}.el-statistic .head{margin-bottom:4px;color:#606266;font-size:13px}.el-statistic .con{font-family:Sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#303133}.el-statistic .con .number{font-size:20px;padding:0 4px}.el-statistic .con span{display:inline-block;margin:0;line-height:100%}.el-popconfirm__main,.el-skeleton__image{display:-ms-flexbox;-webkit-box-align:center;display:-webkit-box}.el-popconfirm__main{display:flex;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton.is-animated .el-skeleton__item{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite}.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:flex;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#dcdde0;width:22%;height:22%}.el-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0}.el-empty__image{width:160px}.el-empty__image img{-webkit-user-select:none;user-select:none;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{fill:#dcdde0}.el-empty__description{margin-top:20px}.el-empty__description p{margin:0;font-size:14px;color:#909399}.el-empty__bottom,.el-result__title{margin-top:20px}.el-descriptions{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;color:#303133}.el-descriptions__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.el-descriptions__title{font-size:16px;font-weight:700}.el-descriptions--mini,.el-descriptions--small{font-size:12px}.el-descriptions__body{color:#606266;background-color:#fff}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%;table-layout:fixed}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:400;line-height:1.5}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right{text-align:right}.el-descriptions .is-bordered{table-layout:auto}.el-descriptions .is-bordered .el-descriptions-item__cell{border:1px solid #EBEEF5;padding:12px 10px}.el-descriptions :not(.is-bordered) .el-descriptions-item__cell{padding-bottom:12px}.el-descriptions--medium.is-bordered .el-descriptions-item__cell{padding:10px}.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:10px}.el-descriptions--small.is-bordered .el-descriptions-item__cell{padding:8px 10px}.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:8px}.el-descriptions--mini.is-bordered .el-descriptions-item__cell{padding:6px 10px}.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:6px}.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon:after{content:":";position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word}.el-result{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 30px}.el-result__icon svg{width:64px;height:64px}.el-result__title p{margin:0;font-size:20px;color:#303133;line-height:1.3}.el-result__subtitle{margin-top:10px}.el-result__subtitle p{margin:0;font-size:14px;color:#606266;line-height:1.3}.el-result__extra{margin-top:30px}.el-result .icon-success{fill:#67c23a}.el-result .icon-error{fill:#f56c6c}.el-result .icon-info{fill:#909399}.el-result .icon-warning{fill:#e6a23c} diff --git a/conf/static/assets/index-KNFsbGu2.js b/conf/static/assets/index-KNFsbGu2.js deleted file mode 100644 index 5413d70..0000000 --- a/conf/static/assets/index-KNFsbGu2.js +++ /dev/null @@ -1,348 +0,0 @@ -(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=t(i);fetch(i.href,a)}})();var Rte={};/*! - * Vue.js v2.7.16 - * (c) 2014-2023 Evan You - * Released under the MIT License. - */var Vn=Object.freeze({}),Lt=Array.isArray;function xt(r){return r==null}function be(r){return r!=null}function Er(r){return r===!0}function Nte(r){return r===!1}function qy(r){return typeof r=="string"||typeof r=="number"||typeof r=="symbol"||typeof r=="boolean"}function ir(r){return typeof r=="function"}function Wn(r){return r!==null&&typeof r=="object"}var TR=Object.prototype.toString;function di(r){return TR.call(r)==="[object Object]"}function Fte(r){return TR.call(r)==="[object RegExp]"}function V8(r){var e=parseFloat(String(r));return e>=0&&Math.floor(e)===e&&isFinite(r)}function YL(r){return be(r)&&typeof r.then=="function"&&typeof r.catch=="function"}function $te(r){return r==null?"":Array.isArray(r)||di(r)&&r.toString===TR?JSON.stringify(r,Bte,2):String(r)}function Bte(r,e){return e&&e.__v_isRef?e.value:e}function uy(r){var e=parseFloat(r);return isNaN(e)?r:e}function fo(r,e){for(var t=Object.create(null),n=r.split(","),i=0;i-1)return r.splice(n,1)}}var Vte=Object.prototype.hasOwnProperty;function ci(r,e){return Vte.call(r,e)}function Rf(r){var e=Object.create(null);return function(n){var i=e[n];return i||(e[n]=r(n))}}var Hte=/-(\w)/g,Sf=Rf(function(r){return r.replace(Hte,function(e,t){return t?t.toUpperCase():""})}),jte=Rf(function(r){return r.charAt(0).toUpperCase()+r.slice(1)}),Wte=/\B([A-Z])/g,Ky=Rf(function(r){return r.replace(Wte,"-$1").toLowerCase()});function Gte(r,e){function t(n){var i=arguments.length;return i?i>1?r.apply(e,arguments):r.call(e,n):r.call(e)}return t._length=r.length,t}function Ute(r,e){return r.bind(e)}var H8=Function.prototype.bind?Ute:Gte;function qL(r,e){e=e||0;for(var t=r.length-e,n=new Array(t);t--;)n[t]=r[t+e];return n}function yr(r,e){for(var t in e)r[t]=e[t];return r}function j8(r){for(var e={},t=0;t0,q8=Oa&&Oa.indexOf("edge/")>0;Oa&&Oa.indexOf("android")>0;var Zte=Oa&&/iphone|ipad|ipod|ios/.test(Oa),zz=Oa&&Oa.match(/firefox\/(\d+)/),XL={}.watch,K8=!1;if(Vi)try{var Vz={};Object.defineProperty(Vz,"passive",{get:function(){K8=!0}}),window.addEventListener("test-passive",null,Vz)}catch{}var RS,yu=function(){return RS===void 0&&(!Vi&&typeof global<"u"?RS=global.process&&Rte.VUE_ENV==="server":RS=!1),RS},QC=Vi&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function lp(r){return typeof r=="function"&&/native code/.test(r.toString())}var Xy=typeof Symbol<"u"&&lp(Symbol)&&typeof Reflect<"u"&&lp(Reflect.ownKeys),cy;typeof Set<"u"&&lp(Set)?cy=Set:cy=function(){function r(){this.set=Object.create(null)}return r.prototype.has=function(e){return this.set[e]===!0},r.prototype.add=function(e){this.set[e]=!0},r.prototype.clear=function(){this.set=Object.create(null)},r}();var Lr=null;function Qte(){return Lr&&{proxy:Lr}}function ou(r){r===void 0&&(r=null),r||Lr&&Lr._scope.off(),Lr=r,r&&r._scope.on()}var ra=function(){function r(e,t,n,i,a,o,s,u){this.tag=e,this.data=t,this.children=n,this.text=i,this.elm=a,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=s,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=u,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(r.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),r}(),lf=function(r){r===void 0&&(r="");var e=new ra;return e.text=r,e.isComment=!0,e};function tp(r){return new ra(void 0,void 0,void 0,String(r))}function ZL(r){var e=new ra(r.tag,r.data,r.children&&r.children.slice(),r.text,r.elm,r.context,r.componentOptions,r.asyncFactory);return e.ns=r.ns,e.isStatic=r.isStatic,e.key=r.key,e.isComment=r.isComment,e.fnContext=r.fnContext,e.fnOptions=r.fnOptions,e.fnScopeId=r.fnScopeId,e.asyncMeta=r.asyncMeta,e.isCloned=!0,e}var Jte=0,pC=[],ere=function(){for(var r=0;r1)return t&&ir(e)?e.call(n):e}}var Yz=Rf(function(r){var e=r.charAt(0)==="&";r=e?r.slice(1):r;var t=r.charAt(0)==="~";r=t?r.slice(1):r;var n=r.charAt(0)==="!";return r=n?r.slice(1):r,{name:r,once:t,capture:n,passive:e}});function QL(r,e){function t(){var n=t.fns;if(Lt(n))for(var i=n.slice(),a=0;a0&&(i=uU(i,"".concat(e||"","_").concat(n)),Yg(i[0])&&Yg(o)&&(t[a]=tp(o.text+i[0].text),i.shift()),t.push.apply(t,i)):qy(i)?Yg(o)?t[a]=tp(o.text+i):i!==""&&t.push(tp(i)):Yg(i)&&Yg(o)?t[a]=tp(o.text+i.text):(Er(r._isVList)&&be(i.tag)&&xt(i.key)&&be(e)&&(i.key="__vlist".concat(e,"_").concat(n,"__")),t.push(i)));return t}function Are(r,e){var t=null,n,i,a,o;if(Lt(r)||typeof r=="string")for(t=new Array(r.length),n=0,i=r.length;n0,o=e?!!e.$stable:!a,s=e&&e.$key;if(!e)i={};else{if(e._normalized)return e._normalized;if(o&&n&&n!==Vn&&s===n.$key&&!a&&!n.$hasNormal)return n;i={};for(var u in e)e[u]&&u[0]!=="$"&&(i[u]=zre(r,t,u,e[u]))}for(var f in t)f in i||(i[f]=Vre(t,f));return e&&Object.isExtensible(e)&&(e._normalized=i),Vr(i,"$stable",o),Vr(i,"$key",s),Vr(i,"$hasNormal",a),i}function zre(r,e,t,n){var i=function(){var a=Lr;ou(r);var o=arguments.length?n.apply(null,arguments):n({});o=o&&typeof o=="object"&&!Lt(o)?[o]:ER(o);var s=o&&o[0];return ou(a),o&&(!s||o.length===1&&s.isComment&&!fy(s))?void 0:o};return n.proxy&&Object.defineProperty(e,t,{get:i,enumerable:!0,configurable:!0}),i}function Vre(r,e){return function(){return r[e]}}function Hre(r){var e=r.$options,t=e.setup;if(t){var n=r._setupContext=dU(r);ou(r),Ip();var i=Fs(t,null,[r._props||MR({}),n],r,"setup");if(Pp(),ou(),ir(i))e.render=i;else if(Wn(i))if(r._setupState=i,i.__sfc){var o=r._setupProxy={};for(var a in i)a!=="__sfc"&&t1(o,i,a)}else for(var a in i)Y8(a)||t1(r,i,a)}}function dU(r){return{get attrs(){if(!r._attrsProxy){var e=r._attrsProxy={};Vr(e,"_v_attr_proxy",!0),r1(e,r.$attrs,Vn,r,"$attrs")}return r._attrsProxy},get listeners(){if(!r._listenersProxy){var e=r._listenersProxy={};r1(e,r.$listeners,Vn,r,"$listeners")}return r._listenersProxy},get slots(){return Wre(r)},emit:H8(r.$emit,r),expose:function(e){e&&Object.keys(e).forEach(function(t){return t1(r,e,t)})}}}function r1(r,e,t,n,i){var a=!1;for(var o in e)o in r?e[o]!==t[o]&&(a=!0):(a=!0,jre(r,o,n,i));for(var o in r)o in e||(a=!0,delete r[o]);return a}function jre(r,e,t,n){Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:function(){return t[n][e]}})}function Wre(r){return r._slotsProxy||pU(r._slotsProxy={},r.$scopedSlots),r._slotsProxy}function pU(r,e){for(var t in e)r[t]=e[t];for(var t in r)t in e||delete r[t]}function Gre(){return PR().slots}function Ure(){return PR().attrs}function Yre(){return PR().listeners}function PR(){var r=Lr;return r._setupContext||(r._setupContext=dU(r))}function qre(r,e){var t=Lt(r)?r.reduce(function(a,o){return a[o]={},a},{}):r;for(var n in e){var i=t[n];i?Lt(i)||ir(i)?t[n]={type:i,default:e[n]}:i.default=e[n]:i===null&&(t[n]={default:e[n]})}return t}function Kre(r){r._vnode=null,r._staticTrees=null;var e=r.$options,t=r.$vnode=e._parentVnode,n=t&&t.context;r.$slots=IR(e._renderChildren,n),r.$scopedSlots=t?Um(r.$parent,t.data.scopedSlots,r.$slots):Vn,r._c=function(a,o,s,u){return hy(r,a,o,s,u,!1)},r.$createElement=function(a,o,s,u){return hy(r,a,o,s,u,!0)};var i=t&&t.data;lu(r,"$attrs",i&&i.attrs||Vn,null,!0),lu(r,"$listeners",e._parentListeners||Vn,null,!0)}var gC=null;function Xre(r){hU(r.prototype),r.prototype.$nextTick=function(e){return mT(e,this)},r.prototype._render=function(){var e=this,t=e.$options,n=t.render,i=t._parentVnode;i&&e._isMounted&&(e.$scopedSlots=Um(e.$parent,i.data.scopedSlots,e.$slots,e.$scopedSlots),e._slotsProxy&&pU(e._slotsProxy,e.$scopedSlots)),e.$vnode=i;var a=Lr,o=gC,s;try{ou(e),gC=e,s=n.call(e._renderProxy,e.$createElement)}catch(u){Cf(u,e,"render"),s=e._vnode}finally{gC=o,ou(a)}return Lt(s)&&s.length===1&&(s=s[0]),s instanceof ra||(s=lf()),s.parent=i,s}}function CE(r,e){return(r.__esModule||Xy&&r[Symbol.toStringTag]==="Module")&&(r=r.default),Wn(r)?e.extend(r):r}function Zre(r,e,t,n,i){var a=lf();return a.asyncFactory=r,a.asyncMeta={data:e,context:t,children:n,tag:i},a}function Qre(r,e){if(Er(r.error)&&be(r.errorComp))return r.errorComp;if(be(r.resolved))return r.resolved;var t=gC;if(t&&be(r.owners)&&r.owners.indexOf(t)===-1&&r.owners.push(t),Er(r.loading)&&be(r.loadingComp))return r.loadingComp;if(t&&!be(r.owners)){var n=r.owners=[t],i=!0,a=null,o=null;t.$on("hook:destroyed",function(){return mu(n,t)});var s=function(p){for(var g=0,v=n.length;g1?qL(i):i;for(var a=qL(arguments,1),o='event handler for "'.concat(t,'"'),s=0,u=i.length;sdocument.createEvent("Event").timeStamp&&(nO=function(){return TE.now()})}var One=function(r,e){if(r.post){if(!e.post)return 1}else if(e.post)return-1;return r.id-e.id};function Rne(){wU=nO(),RR=!0;var r,e;for(ks.sort(One),rp=0;rprp&&ks[t].id>r.id;)t--;ks.splice(t+1,0,r)}rO||(rO=!0,mT(Rne))}}function Bne(r){var e=r.$options.provide;if(e){var t=ir(e)?e.call(r):e;if(!Wn(t))return;for(var n=sU(r),i=Xy?Reflect.ownKeys(t):Object.keys(t),a=0;a-1){if(a&&!ci(i,"default"))o=!1;else if(o===""||o===Ky(r)){var u=sV(String,i.type);(u<0||s-1)return this;var n=qL(arguments,1);return n.unshift(this),ir(e.install)?e.install.apply(e,n):ir(e)&&e.apply(null,n),t.push(e),this}}function vie(r){r.mixin=function(e){return this.options=Tf(this.options,e),this}}function gie(r){r.cid=0;var e=1;r.extend=function(t){t=t||{};var n=this,i=n.cid,a=t._Ctor||(t._Ctor={});if(a[i])return a[i];var o=i1(t)||i1(n.options),s=function(f){this._init(f)};return s.prototype=Object.create(n.prototype),s.prototype.constructor=s,s.cid=e++,s.options=Tf(n.options,t),s.super=n,s.options.props&&mie(s),s.options.computed&&yie(s),s.extend=n.extend,s.mixin=n.mixin,s.use=n.use,dT.forEach(function(u){s[u]=n[u]}),o&&(s.options.components[o]=s),s.superOptions=n.options,s.extendOptions=t,s.sealedOptions=yr({},s.options),a[i]=s,s}}function mie(r){var e=r.options.props;for(var t in e)BR(r.prototype,"_props",t)}function yie(r){var e=r.options.computed;for(var t in e)DU(r.prototype,t,e[t])}function _ie(r){dT.forEach(function(e){r[e]=function(t,n){return n?(e==="component"&&di(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),e==="directive"&&ir(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}function cV(r){return r&&(i1(r.Ctor.options)||r.tag)}function $S(r,e){return Lt(r)?r.indexOf(e)>-1:typeof r=="string"?r.split(",").indexOf(e)>-1:Fte(r)?r.test(e):!1}function fV(r,e){var t=r.cache,n=r.keys,i=r._vnode,a=r.$vnode;for(var o in t){var s=t[o];if(s){var u=s.name;u&&!e(u)&&sO(t,o,n,i)}}a.componentOptions.children=void 0}function sO(r,e,t,n){var i=r[e];i&&(!n||i.tag!==n.tag)&&i.componentInstance.$destroy(),r[e]=null,mu(t,e)}var hV=[String,RegExp,Array],bie={name:"keep-alive",abstract:!0,props:{include:hV,exclude:hV,max:[String,Number]},methods:{cacheVNode:function(){var r=this,e=r.cache,t=r.keys,n=r.vnodeToCache,i=r.keyToCache;if(n){var a=n.tag,o=n.componentInstance,s=n.componentOptions;e[i]={name:cV(s),tag:a,componentInstance:o},t.push(i),this.max&&t.length>parseInt(this.max)&&sO(e,t[0],t,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var r in this.cache)sO(this.cache,r,this.keys)},mounted:function(){var r=this;this.cacheVNode(),this.$watch("include",function(e){fV(r,function(t){return $S(e,t)})}),this.$watch("exclude",function(e){fV(r,function(t){return!$S(e,t)})})},updated:function(){this.cacheVNode()},render:function(){var r=this.$slots.default,e=vU(r),t=e&&e.componentOptions;if(t){var n=cV(t),i=this,a=i.include,o=i.exclude;if(a&&(!n||!$S(a,n))||o&&n&&$S(o,n))return e;var s=this,u=s.cache,f=s.keys,h=e.key==null?t.Ctor.cid+(t.tag?"::".concat(t.tag):""):e.key;u[h]?(e.componentInstance=u[h].componentInstance,mu(f,h),f.push(h)):(this.vnodeToCache=e,this.keyToCache=h),e.data.keepAlive=!0}return e||r&&r[0]}},xie={KeepAlive:bie};function Sie(r){var e={};e.get=function(){return Pa},Object.defineProperty(r,"config",e),r.util={warn:Une,extend:yr,mergeOptions:Tf,defineReactive:lu},r.set=pT,r.delete=kR,r.nextTick=mT,r.observable=function(t){return Ns(t),t},r.options=Object.create(null),dT.forEach(function(t){r.options[t+"s"]=Object.create(null)}),r.options._base=r,yr(r.options.components,xie),pie(r),vie(r),gie(r),_ie(r)}Sie(Sr);Object.defineProperty(Sr.prototype,"$isServer",{get:yu});Object.defineProperty(Sr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}});Object.defineProperty(Sr,"FunctionalRenderContext",{value:NR});Sr.version=yU;var wie=fo("style,class"),Cie=fo("input,textarea,option,select,progress"),Tie=function(r,e,t){return t==="value"&&Cie(r)&&e!=="button"||t==="selected"&&r==="option"||t==="checked"&&r==="input"||t==="muted"&&r==="video"},kU=fo("contenteditable,draggable,spellcheck"),Die=fo("events,caret,typing,plaintext-only"),kie=function(r,e){return o1(e)||e==="false"?"false":r==="contenteditable"&&Die(e)?e:"true"},Mie=fo("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),lO="http://www.w3.org/1999/xlink",VR=function(r){return r.charAt(5)===":"&&r.slice(0,5)==="xlink"},MU=function(r){return VR(r)?r.slice(6,r.length):""},o1=function(r){return r==null||r===!1};function Aie(r){for(var e=r.data,t=r,n=r;be(n.componentInstance);)n=n.componentInstance._vnode,n&&n.data&&(e=dV(n.data,e));for(;be(t=t.parent);)t&&t.data&&(e=dV(e,t.data));return Eie(e.staticClass,e.class)}function dV(r,e){return{staticClass:HR(r.staticClass,e.staticClass),class:be(r.class)?[r.class,e.class]:e.class}}function Eie(r,e){return be(r)||be(e)?HR(r,jR(e)):""}function HR(r,e){return r?e?r+" "+e:r:e||""}function jR(r){return Array.isArray(r)?Iie(r):Wn(r)?Pie(r):typeof r=="string"?r:""}function Iie(r){for(var e="",t,n=0,i=r.length;n-1?BS[r]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:BS[r]=/HTMLUnknownElement/.test(e.toString())}var uO=fo("text,number,password,search,email,tel,url");function Fie(r){if(typeof r=="string"){var e=document.querySelector(r);return e||document.createElement("div")}else return r}function $ie(r,e){var t=document.createElement(r);return r!=="select"||e.data&&e.data.attrs&&e.data.attrs.multiple!==void 0&&t.setAttribute("multiple","multiple"),t}function Bie(r,e){return document.createElementNS(Lie[r],e)}function zie(r){return document.createTextNode(r)}function Vie(r){return document.createComment(r)}function Hie(r,e,t){r.insertBefore(e,t)}function jie(r,e){r.removeChild(e)}function Wie(r,e){r.appendChild(e)}function Gie(r){return r.parentNode}function Uie(r){return r.nextSibling}function Yie(r){return r.tagName}function qie(r,e){r.textContent=e}function Kie(r,e){r.setAttribute(e,"")}var Xie=Object.freeze({__proto__:null,createElement:$ie,createElementNS:Bie,createTextNode:zie,createComment:Vie,insertBefore:Hie,removeChild:jie,appendChild:Wie,parentNode:Gie,nextSibling:Uie,tagName:Yie,setTextContent:qie,setStyleScope:Kie}),Zie={create:function(r,e){np(e)},update:function(r,e){r.data.ref!==e.data.ref&&(np(r,!0),np(e))},destroy:function(r){np(r,!0)}};function np(r,e){var t=r.data.ref;if(be(t)){var n=r.context,i=r.componentInstance||r.elm,a=e?null:i,o=e?void 0:i;if(ir(t)){Fs(t,n,[a],n,"template ref function");return}var s=r.data.refInFor,u=typeof t=="string"||typeof t=="number",f=Dn(t),h=n.$refs;if(u||f){if(s){var p=u?h[t]:t.value;e?Lt(p)&&mu(p,i):Lt(p)?p.includes(i)||p.push(i):u?(h[t]=[i],pV(n,t,h[t])):t.value=[i]}else if(u){if(e&&h[t]!==i)return;h[t]=o,pV(n,t,a)}else if(f){if(e&&t.value!==i)return;t.value=a}}}}function pV(r,e,t){var n=r._setupState;n&&ci(n,e)&&(Dn(n[e])?n[e].value=t:n[e]=t)}var zl=new ra("",{},[]),qg=["create","activate","update","remove","destroy"];function vc(r,e){return r.key===e.key&&r.asyncFactory===e.asyncFactory&&(r.tag===e.tag&&r.isComment===e.isComment&&be(r.data)===be(e.data)&&Qie(r,e)||Er(r.isAsyncPlaceholder)&&xt(e.asyncFactory.error))}function Qie(r,e){if(r.tag!=="input")return!0;var t,n=be(t=r.data)&&be(t=t.attrs)&&t.type,i=be(t=e.data)&&be(t=t.attrs)&&t.type;return n===i||uO(n)&&uO(i)}function Jie(r,e,t){var n,i,a={};for(n=e;n<=t;++n)i=r[n].key,be(i)&&(a[i]=n);return a}function eae(r){var e,t,n={},i=r.modules,a=r.nodeOps;for(e=0;ere?(ie=xt(j[_e+1])?null:j[_e+1].elm,C(z,ie,j,Z,_e,U)):Z>_e&&k(B,ee,re)}function I(z,B,j,U){for(var X=j;X-1?yV(r,e,t):Mie(e)?o1(t)?r.removeAttribute(e):(t=e==="allowfullscreen"&&r.tagName==="EMBED"?"true":e,r.setAttribute(e,t)):kU(e)?r.setAttribute(e,kie(e,t)):VR(e)?o1(t)?r.removeAttributeNS(lO,MU(e)):r.setAttributeNS(lO,e,t):yV(r,e,t)}function yV(r,e,t){if(o1(t))r.removeAttribute(e);else{if(Ap&&!Ep&&r.tagName==="TEXTAREA"&&e==="placeholder"&&t!==""&&!r.__ieph){var n=function(i){i.stopImmediatePropagation(),r.removeEventListener("input",n)};r.addEventListener("input",n),r.__ieph=!0}r.setAttribute(e,t)}}var oae={create:gV,update:gV};function _V(r,e){var t=e.elm,n=e.data,i=r.data;if(!(xt(n.staticClass)&&xt(n.class)&&(xt(i)||xt(i.staticClass)&&xt(i.class)))){var a=Aie(e),o=t._transitionClasses;be(o)&&(a=HR(a,jR(o))),a!==t._prevClass&&(t.setAttribute("class",a),t._prevClass=a)}}var sae={create:_V,update:_V},kE="__r",ME="__c";function lae(r){if(be(r[kE])){var e=Ap?"change":"input";r[e]=[].concat(r[kE],r[e]||[]),delete r[kE]}be(r[ME])&&(r.change=[].concat(r[ME],r.change||[]),delete r[ME])}var vy;function uae(r,e,t){var n=vy;return function i(){var a=e.apply(null,arguments);a!==null&&EU(r,i,t,n)}}var cae=JL&&!(zz&&Number(zz[1])<=53);function fae(r,e,t,n){if(cae){var i=wU,a=e;e=a._wrapper=function(o){if(o.target===o.currentTarget||o.timeStamp>=i||o.timeStamp<=0||o.target.ownerDocument!==document)return a.apply(this,arguments)}}vy.addEventListener(r,e,K8?{capture:t,passive:n}:t)}function EU(r,e,t,n){(n||vy).removeEventListener(r,e._wrapper||e,t)}function AE(r,e){if(!(xt(r.data.on)&&xt(e.data.on))){var t=e.data.on||{},n=r.data.on||{};vy=e.elm||r.elm,lae(t),lU(t,n,fae,EU,uae,e.context),vy=void 0}}var hae={create:AE,update:AE,destroy:function(r){return AE(r,zl)}},zS;function bV(r,e){if(!(xt(r.data.domProps)&&xt(e.data.domProps))){var t,n,i=e.elm,a=r.data.domProps||{},o=e.data.domProps||{};(be(o.__ob__)||Er(o._v_attr_proxy))&&(o=e.data.domProps=yr({},o));for(t in a)t in o||(i[t]="");for(t in o){if(n=o[t],t==="textContent"||t==="innerHTML"){if(e.children&&(e.children.length=0),n===a[t])continue;i.childNodes.length===1&&i.removeChild(i.childNodes[0])}if(t==="value"&&i.tagName!=="PROGRESS"){i._value=n;var s=xt(n)?"":String(n);dae(i,s)&&(i.value=s)}else if(t==="innerHTML"&&WR(i.tagName)&&xt(i.innerHTML)){zS=zS||document.createElement("div"),zS.innerHTML="".concat(n,"");for(var u=zS.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;u.firstChild;)i.appendChild(u.firstChild)}else if(n!==a[t])try{i[t]=n}catch{}}}}function dae(r,e){return!r.composing&&(r.tagName==="OPTION"||pae(r,e)||vae(r,e))}function pae(r,e){var t=!0;try{t=document.activeElement!==r}catch{}return t&&r.value!==e}function vae(r,e){var t=r.value,n=r._vModifiers;if(be(n)){if(n.number)return uy(t)!==uy(e);if(n.trim)return t.trim()!==e.trim()}return t!==e}var gae={create:bV,update:bV},mae=Rf(function(r){var e={},t=/;(?![^(]*\))/g,n=/:(.+)/;return r.split(t).forEach(function(i){if(i){var a=i.split(n);a.length>1&&(e[a[0].trim()]=a[1].trim())}}),e});function EE(r){var e=IU(r.style);return r.staticStyle?yr(r.staticStyle,e):e}function IU(r){return Array.isArray(r)?j8(r):typeof r=="string"?mae(r):r}function yae(r,e){for(var t={},n,i=r;i.componentInstance;)i=i.componentInstance._vnode,i&&i.data&&(n=EE(i.data))&&yr(t,n);(n=EE(r.data))&&yr(t,n);for(var a=r;a=a.parent;)a.data&&(n=EE(a.data))&&yr(t,n);return t}var _ae=/^--/,xV=/\s*!important$/,SV=function(r,e,t){if(_ae.test(e))r.style.setProperty(e,t);else if(xV.test(t))r.style.setProperty(Ky(e),t.replace(xV,""),"important");else{var n=bae(e);if(Array.isArray(t))for(var i=0,a=t.length;i-1?e.split(PU).forEach(function(n){return r.classList.add(n)}):r.classList.add(e);else{var t=" ".concat(r.getAttribute("class")||""," ");t.indexOf(" "+e+" ")<0&&r.setAttribute("class",(t+e).trim())}}function OU(r,e){if(!(!e||!(e=e.trim())))if(r.classList)e.indexOf(" ")>-1?e.split(PU).forEach(function(i){return r.classList.remove(i)}):r.classList.remove(e),r.classList.length||r.removeAttribute("class");else{for(var t=" ".concat(r.getAttribute("class")||""," "),n=" "+e+" ";t.indexOf(n)>=0;)t=t.replace(n," ");t=t.trim(),t?r.setAttribute("class",t):r.removeAttribute("class")}}function RU(r){if(r){if(typeof r=="object"){var e={};return r.css!==!1&&yr(e,TV(r.name||"v")),yr(e,r),e}else if(typeof r=="string")return TV(r)}}var TV=Rf(function(r){return{enterClass:"".concat(r,"-enter"),enterToClass:"".concat(r,"-enter-to"),enterActiveClass:"".concat(r,"-enter-active"),leaveClass:"".concat(r,"-leave"),leaveToClass:"".concat(r,"-leave-to"),leaveActiveClass:"".concat(r,"-leave-active")}}),NU=Vi&&!Ep,Xd="transition",IE="animation",yC="transition",s1="transitionend",cO="animation",FU="animationend";NU&&(window.ontransitionend===void 0&&window.onwebkittransitionend!==void 0&&(yC="WebkitTransition",s1="webkitTransitionEnd"),window.onanimationend===void 0&&window.onwebkitanimationend!==void 0&&(cO="WebkitAnimation",FU="webkitAnimationEnd"));var DV=Vi?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(r){return r()};function $U(r){DV(function(){DV(r)})}function ff(r,e){var t=r._transitionClasses||(r._transitionClasses=[]);t.indexOf(e)<0&&(t.push(e),LU(r,e))}function Ms(r,e){r._transitionClasses&&mu(r._transitionClasses,e),OU(r,e)}function BU(r,e,t){var n=zU(r,e),i=n.type,a=n.timeout,o=n.propCount;if(!i)return t();var s=i===Xd?s1:FU,u=0,f=function(){r.removeEventListener(s,h),t()},h=function(p){p.target===r&&++u>=o&&f()};setTimeout(function(){u0&&(f=Xd,h=a,p=i.length):e===IE?u>0&&(f=IE,h=u,p=s.length):(h=Math.max(a,u),f=h>0?a>u?Xd:IE:null,p=f?f===Xd?i.length:s.length:0);var g=f===Xd&&Sae.test(t[yC+"Property"]);return{type:f,timeout:h,propCount:p,hasTransform:g}}function kV(r,e){for(;r.length1}function AV(r,e){e.data.show!==!0&&fO(e)}var wae=Vi?{create:AV,activate:AV,remove:function(r,e){r.data.show!==!0?VU(r,e):e()}}:{},Cae=[oae,sae,hae,gae,xae,wae],Tae=Cae.concat(aae),Dae=eae({nodeOps:Xie,modules:Tae});Ep&&document.addEventListener("selectionchange",function(){var r=document.activeElement;r&&r.vmodel&&UR(r,"input")});var jU={inserted:function(r,e,t,n){t.tag==="select"?(n.elm&&!n.elm._vOptions?Bl(t,"postpatch",function(){jU.componentUpdated(r,e,t)}):EV(r,e,t.context),r._vOptions=[].map.call(r.options,l1)):(t.tag==="textarea"||uO(r.type))&&(r._vModifiers=e.modifiers,e.modifiers.lazy||(r.addEventListener("compositionstart",kae),r.addEventListener("compositionend",LV),r.addEventListener("change",LV),Ep&&(r.vmodel=!0)))},componentUpdated:function(r,e,t){if(t.tag==="select"){EV(r,e,t.context);var n=r._vOptions,i=r._vOptions=[].map.call(r.options,l1);if(i.some(function(o,s){return!wf(o,n[s])})){var a=r.multiple?e.value.some(function(o){return PV(o,i)}):e.value!==e.oldValue&&PV(e.value,i);a&&UR(r,"change")}}}};function EV(r,e,t){IV(r,e),(Ap||q8)&&setTimeout(function(){IV(r,e)},0)}function IV(r,e,t){var n=e.value,i=r.multiple;if(!(i&&!Array.isArray(n))){for(var a,o,s=0,u=r.options.length;s-1,o.selected!==a&&(o.selected=a);else if(wf(l1(o),n)){r.selectedIndex!==s&&(r.selectedIndex=s);return}i||(r.selectedIndex=-1)}}function PV(r,e){return e.every(function(t){return!wf(t,r)})}function l1(r){return"_value"in r?r._value:r.value}function kae(r){r.target.composing=!0}function LV(r){r.target.composing&&(r.target.composing=!1,UR(r.target,"input"))}function UR(r,e){var t=document.createEvent("HTMLEvents");t.initEvent(e,!0,!0),r.dispatchEvent(t)}function hO(r){return r.componentInstance&&(!r.data||!r.data.transition)?hO(r.componentInstance._vnode):r}var Mae={bind:function(r,e,t){var n=e.value;t=hO(t);var i=t.data&&t.data.transition,a=r.__vOriginalDisplay=r.style.display==="none"?"":r.style.display;n&&i?(t.data.show=!0,fO(t,function(){r.style.display=a})):r.style.display=n?a:"none"},update:function(r,e,t){var n=e.value,i=e.oldValue;if(!n!=!i){t=hO(t);var a=t.data&&t.data.transition;a?(t.data.show=!0,n?fO(t,function(){r.style.display=r.__vOriginalDisplay}):VU(t,function(){r.style.display="none"})):r.style.display=n?r.__vOriginalDisplay:"none"}},unbind:function(r,e,t,n,i){i||(r.style.display=r.__vOriginalDisplay)}},Aae={model:jU,show:Mae},WU={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function dO(r){var e=r&&r.componentOptions;return e&&e.Ctor.options.abstract?dO(vU(e.children)):r}function GU(r){var e={},t=r.$options;for(var n in t.propsData)e[n]=r[n];var i=t._parentListeners;for(var n in i)e[Sf(n)]=i[n];return e}function OV(r,e){if(/\d-keep-alive$/.test(e.tag))return r("keep-alive",{props:e.componentOptions.propsData})}function Eae(r){for(;r=r.parent;)if(r.data.transition)return!0}function Iae(r,e){return e.key===r.key&&e.tag===r.tag}var Pae=function(r){return r.tag||fy(r)},Lae=function(r){return r.name==="show"},Oae={name:"transition",props:WU,abstract:!0,render:function(r){var e=this,t=this.$slots.default;if(t&&(t=t.filter(Pae),!!t.length)){var n=this.mode,i=t[0];if(Eae(this.$vnode))return i;var a=dO(i);if(!a)return i;if(this._leaving)return OV(r,i);var o="__transition-".concat(this._uid,"-");a.key=a.key==null?a.isComment?o+"comment":o+a.tag:qy(a.key)?String(a.key).indexOf(o)===0?a.key:o+a.key:a.key;var s=(a.data||(a.data={})).transition=GU(this),u=this._vnode,f=dO(u);if(a.data.directives&&a.data.directives.some(Lae)&&(a.data.show=!0),f&&f.data&&!Iae(a,f)&&!fy(f)&&!(f.componentInstance&&f.componentInstance._vnode.isComment)){var h=f.data.transition=yr({},s);if(n==="out-in")return this._leaving=!0,Bl(h,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),OV(r,i);if(n==="in-out"){if(fy(a))return u;var p,g=function(){p()};Bl(s,"afterEnter",g),Bl(s,"enterCancelled",g),Bl(h,"delayLeave",function(v){p=v})}}return i}}},UU=yr({tag:String,moveClass:String},WU);delete UU.mode;var Rae={props:UU,beforeMount:function(){var r=this,e=this._update;this._update=function(t,n){var i=bU(r);r.__patch__(r._vnode,r.kept,!1,!0),r._vnode=r.kept,i(),e.call(r,t,n)}},render:function(r){for(var e=this.tag||this.$vnode.data.tag||"span",t=Object.create(null),n=this.prevChildren=this.children,i=this.$slots.default||[],a=this.children=[],o=GU(this),s=0;s=0&&(e=r.slice(n),r=r.slice(0,n));var i=r.indexOf("?");return i>=0&&(t=r.slice(i+1),r=r.slice(0,i)),{path:r,query:t,hash:e}}function Zl(r){return r.replace(/\/(?:\s*\/)+/g,"/")}var f1=Array.isArray||function(r){return Object.prototype.toString.call(r)=="[object Array]"},Lp=QU,ioe=YR,aoe=uoe,ooe=XU,soe=ZU,loe=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function YR(r,e){for(var t=[],n=0,i=0,a="",o=e&&e.delimiter||"/",s;(s=loe.exec(r))!=null;){var u=s[0],f=s[1],h=s.index;if(a+=r.slice(i,h),i=h+u.length,f){a+=f[1];continue}var p=r[i],g=s[2],v=s[3],m=s[4],b=s[5],_=s[6],S=s[7];a&&(t.push(a),a="");var C=g!=null&&p!=null&&p!==g,w=_==="+"||_==="*",k=_==="?"||_==="*",M=s[2]||o,E=m||b;t.push({name:v||n++,prefix:g||"",delimiter:M,optional:k,repeat:w,partial:C,asterisk:!!S,pattern:E?hoe(E):S?".*":"[^"+bC(M)+"]+?"})}return i1||!M.length)return M.length===0?e():e("span",{},M)}if(this.tag==="a")k.on=w,k.attrs={href:u,"aria-current":S};else{var E=JU(this.$slots.default);if(E){E.isStatic=!1;var I=E.data=ro({},E.data);I.on=I.on||{};for(var O in I.on){var R=I.on[O];O in w&&(I.on[O]=Array.isArray(R)?R:[R])}for(var $ in w)$ in I.on?I.on[$].push(w[$]):I.on[$]=C;var V=E.data.attrs=ro({},E.data.attrs);V.href=u,V["aria-current"]=S}else k.on=w}return e(this.tag,k,this.$slots.default)}};function zV(r){if(!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)&&!r.defaultPrevented&&!(r.button!==void 0&&r.button!==0)){if(r.currentTarget&&r.currentTarget.getAttribute){var e=r.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return r.preventDefault&&r.preventDefault(),!0}}function JU(r){if(r){for(var e,t=0;t-1&&(_.params[k]=m.params[k]);return _.path=xC(C.path,_.params),g(C,_,b)}else if(_.path){_.params={};for(var M=0;M-1}function bT(r,e){return p1(r)&&r._isRouter&&(e==null||r.type===e)}function UV(r,e,t){var n=function(i){i>=r.length?t():r[i]?e(r[i],function(){n(i+1)}):n(i+1)};n(0)}function Ooe(r){return function(e,t,n){var i=!1,a=0,o=null;o7(r,function(s,u,f,h){if(typeof s=="function"&&s.cid===void 0){i=!0,a++;var p=YV(function(b){Noe(b)&&(b=b.default),s.resolved=typeof b=="function"?b:h1.extend(b),f.components[h]=b,a--,a<=0&&n()}),g=YV(function(b){var _="Failed to resolve async component "+h+": "+b;o||(o=p1(b)?b:new Error(_),n(o))}),v;try{v=s(p,g)}catch(b){g(b)}if(v)if(typeof v.then=="function")v.then(p,g);else{var m=v.component;m&&typeof m.then=="function"&&m.then(p,g)}}}),i||n()}}function o7(r,e){return s7(r.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function s7(r){return Array.prototype.concat.apply([],r)}var Roe=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Noe(r){return r.__esModule||Roe&&r[Symbol.toStringTag]==="Module"}function YV(r){var e=!1;return function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];if(!e)return e=!0,r.apply(this,t)}}var ho=function(e,t){this.router=e,this.base=Foe(t),this.current=_u,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};ho.prototype.listen=function(e){this.cb=e};ho.prototype.onReady=function(e,t){this.ready?e():(this.readyCbs.push(e),t&&this.readyErrorCbs.push(t))};ho.prototype.onError=function(e){this.errorCbs.push(e)};ho.prototype.transitionTo=function(e,t,n){var i=this,a;try{a=this.router.match(e,this.current)}catch(s){throw this.errorCbs.forEach(function(u){u(s)}),s}var o=this.current;this.confirmTransition(a,function(){i.updateRoute(a),t&&t(a),i.ensureURL(),i.router.afterHooks.forEach(function(s){s&&s(a,o)}),i.ready||(i.ready=!0,i.readyCbs.forEach(function(s){s(a)}))},function(s){n&&n(s),s&&!i.ready&&(!bT(s,Ff.redirected)||o!==_u)&&(i.ready=!0,i.readyErrorCbs.forEach(function(u){u(s)}))})};ho.prototype.confirmTransition=function(e,t,n){var i=this,a=this.current;this.pending=e;var o=function(b){!bT(b)&&p1(b)&&(i.errorCbs.length?i.errorCbs.forEach(function(_){_(b)}):console.error(b)),n&&n(b)},s=e.matched.length-1,u=a.matched.length-1;if(YU(e,a)&&s===u&&e.matched[s]===a.matched[u])return this.ensureURL(),e.hash&&Ql(this.router,a,e,!1),o(Eoe(a,e));var f=$oe(this.current.matched,e.matched),h=f.updated,p=f.deactivated,g=f.activated,v=[].concat(zoe(p),this.router.beforeHooks,Voe(h),g.map(function(b){return b.beforeEnter}),Ooe(g)),m=function(b,_){if(i.pending!==e)return o(GV(a,e));try{b(e,a,function(S){S===!1?(i.ensureURL(!0),o(Ioe(a,e))):p1(S)?(i.ensureURL(!0),o(S)):typeof S=="string"||typeof S=="object"&&(typeof S.path=="string"||typeof S.name=="string")?(o(Aoe(a,e)),typeof S=="object"&&S.replace?i.replace(S):i.push(S)):_(S)})}catch(S){o(S)}};UV(v,m,function(){var b=Hoe(g),_=b.concat(i.router.resolveHooks);UV(_,m,function(){if(i.pending!==e)return o(GV(a,e));i.pending=null,t(e),i.router.app&&i.router.app.$nextTick(function(){qU(e)})})})};ho.prototype.updateRoute=function(e){this.current=e,this.cb&&this.cb(e)};ho.prototype.setupListeners=function(){};ho.prototype.teardown=function(){this.listeners.forEach(function(e){e()}),this.listeners=[],this.current=_u,this.pending=null};function Foe(r){if(!r)if(Jy){var e=document.querySelector("base");r=e&&e.getAttribute("href")||"/",r=r.replace(/^https?:\/\/[^\/]+/,"")}else r="/";return r.charAt(0)!=="/"&&(r="/"+r),r.replace(/\/$/,"")}function $oe(r,e){var t,n=Math.max(r.length,e.length);for(t=0;t0)){var i=this.router,a=i.options.scrollBehavior,o=Jl&&a;o&&this.listeners.push(i7());var s=function(){var u=n.current,f=Em(n.base);n.current===_u&&f===n._startLocation||n.transitionTo(f,function(h){o&&Ql(i,h,u,!0)})};window.addEventListener("popstate",s),this.listeners.push(function(){window.removeEventListener("popstate",s)})}},e.prototype.go=function(n){window.history.go(n)},e.prototype.push=function(n,i,a){var o=this,s=this,u=s.current;this.transitionTo(n,function(f){d1(Zl(o.base+f.fullPath)),Ql(o.router,f,u,!1),i&&i(f)},a)},e.prototype.replace=function(n,i,a){var o=this,s=this,u=s.current;this.transitionTo(n,function(f){yO(Zl(o.base+f.fullPath)),Ql(o.router,f,u,!1),i&&i(f)},a)},e.prototype.ensureURL=function(n){if(Em(this.base)!==this.current.fullPath){var i=Zl(this.base+this.current.fullPath);n?d1(i):yO(i)}},e.prototype.getCurrentLocation=function(){return Em(this.base)},e}(ho);function Em(r){var e=window.location.pathname,t=e.toLowerCase(),n=r.toLowerCase();return r&&(t===n||t.indexOf(Zl(n+"/"))===0)&&(e=e.slice(r.length)),(e||"/")+window.location.search+window.location.hash}var c7=function(r){function e(t,n,i){r.call(this,t,n),!(i&&Woe(this.base))&&qV()}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var n=this;if(!(this.listeners.length>0)){var i=this.router,a=i.options.scrollBehavior,o=Jl&&a;o&&this.listeners.push(i7());var s=function(){var f=n.current;qV()&&n.transitionTo(SC(),function(h){o&&Ql(n.router,h,f,!0),Jl||wC(h.fullPath)})},u=Jl?"popstate":"hashchange";window.addEventListener(u,s),this.listeners.push(function(){window.removeEventListener(u,s)})}},e.prototype.push=function(n,i,a){var o=this,s=this,u=s.current;this.transitionTo(n,function(f){KV(f.fullPath),Ql(o.router,f,u,!1),i&&i(f)},a)},e.prototype.replace=function(n,i,a){var o=this,s=this,u=s.current;this.transitionTo(n,function(f){wC(f.fullPath),Ql(o.router,f,u,!1),i&&i(f)},a)},e.prototype.go=function(n){window.history.go(n)},e.prototype.ensureURL=function(n){var i=this.current.fullPath;SC()!==i&&(n?KV(i):wC(i))},e.prototype.getCurrentLocation=function(){return SC()},e}(ho);function Woe(r){var e=Em(r);if(!/^\/#/.test(e))return window.location.replace(Zl(r+"/#"+e)),!0}function qV(){var r=SC();return r.charAt(0)==="/"?!0:(wC("/"+r),!1)}function SC(){var r=window.location.href,e=r.indexOf("#");return e<0?"":(r=r.slice(e+1),r)}function _O(r){var e=window.location.href,t=e.indexOf("#"),n=t>=0?e.slice(0,t):e;return n+"#"+r}function KV(r){Jl?d1(_O(r)):window.location.hash=r}function wC(r){Jl?yO(_O(r)):window.location.replace(_O(r))}var Goe=function(r){function e(t,n){r.call(this,t,n),this.stack=[],this.index=-1}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.push=function(n,i,a){var o=this;this.transitionTo(n,function(s){o.stack=o.stack.slice(0,o.index+1).concat(s),o.index++,i&&i(s)},a)},e.prototype.replace=function(n,i,a){var o=this;this.transitionTo(n,function(s){o.stack=o.stack.slice(0,o.index).concat(s),i&&i(s)},a)},e.prototype.go=function(n){var i=this,a=this.index+n;if(!(a<0||a>=this.stack.length)){var o=this.stack[a];this.confirmTransition(o,function(){var s=i.current;i.index=a,i.updateRoute(o),i.router.afterHooks.forEach(function(u){u&&u(o,s)})},function(s){bT(s,Ff.duplicated)&&(i.index=a)})}},e.prototype.getCurrentLocation=function(){var n=this.stack[this.stack.length-1];return n?n.fullPath:"/"},e.prototype.ensureURL=function(){},e}(ho),wr=function(e){e===void 0&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=xoe(e.routes||[],this);var t=e.mode||"hash";switch(this.fallback=t==="history"&&!Jl&&e.fallback!==!1,this.fallback&&(t="hash"),Jy||(t="abstract"),this.mode=t,t){case"history":this.history=new u7(this,e.base);break;case"hash":this.history=new c7(this,e.base,this.fallback);break;case"abstract":this.history=new Goe(this,e.base);break}},f7={currentRoute:{configurable:!0}};wr.prototype.match=function(e,t,n){return this.matcher.match(e,t,n)};f7.currentRoute.get=function(){return this.history&&this.history.current};wr.prototype.init=function(e){var t=this;if(this.apps.push(e),e.$once("hook:destroyed",function(){var o=t.apps.indexOf(e);o>-1&&t.apps.splice(o,1),t.app===e&&(t.app=t.apps[0]||null),t.app||t.history.teardown()}),!this.app){this.app=e;var n=this.history;if(n instanceof u7||n instanceof c7){var i=function(o){var s=n.current,u=t.options.scrollBehavior,f=Jl&&u;f&&"fullPath"in o&&Ql(t,o,s,!1)},a=function(o){n.setupListeners(),i(o)};n.transitionTo(n.getCurrentLocation(),a,a)}n.listen(function(o){t.apps.forEach(function(s){s._route=o})})}};wr.prototype.beforeEach=function(e){return QR(this.beforeHooks,e)};wr.prototype.beforeResolve=function(e){return QR(this.resolveHooks,e)};wr.prototype.afterEach=function(e){return QR(this.afterHooks,e)};wr.prototype.onReady=function(e,t){this.history.onReady(e,t)};wr.prototype.onError=function(e){this.history.onError(e)};wr.prototype.push=function(e,t,n){var i=this;if(!t&&!n&&typeof Promise<"u")return new Promise(function(a,o){i.history.push(e,a,o)});this.history.push(e,t,n)};wr.prototype.replace=function(e,t,n){var i=this;if(!t&&!n&&typeof Promise<"u")return new Promise(function(a,o){i.history.replace(e,a,o)});this.history.replace(e,t,n)};wr.prototype.go=function(e){this.history.go(e)};wr.prototype.back=function(){this.go(-1)};wr.prototype.forward=function(){this.go(1)};wr.prototype.getMatchedComponents=function(e){var t=e?e.matched?e:this.resolve(e).route:this.currentRoute;return t?[].concat.apply([],t.matched.map(function(n){return Object.keys(n.components).map(function(i){return n.components[i]})})):[]};wr.prototype.resolve=function(e,t,n){t=t||this.history.current;var i=XR(e,t,n,this),a=this.match(i,t),o=a.redirectedFrom||a.fullPath,s=this.history.base,u=Uoe(s,o,this.mode);return{location:i,route:a,href:u,normalizedTo:i,resolved:a}};wr.prototype.getRoutes=function(){return this.matcher.getRoutes()};wr.prototype.addRoute=function(e,t){this.matcher.addRoute(e,t),this.history.current!==_u&&this.history.transitionTo(this.history.getCurrentLocation())};wr.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==_u&&this.history.transitionTo(this.history.getCurrentLocation())};Object.defineProperties(wr.prototype,f7);var h7=wr;function QR(r,e){return r.push(e),function(){var t=r.indexOf(e);t>-1&&r.splice(t,1)}}function Uoe(r,e,t){var n=t==="hash"?"#"+e:e;return r?Zl(r+"/"+n):n}wr.install=gO;wr.version="3.6.5";wr.isNavigationFailure=bT;wr.NavigationFailureType=Ff;wr.START_LOCATION=_u;Jy&&window.Vue&&window.Vue.use(wr);const Yoe={name:"MockupTerminal"};var qoe=function(){var e=this;return e._self._c,e._m(0)},Koe=[function(){var r=this,e=r._self._c;return e("div",{staticClass:"mockup-terminal"},[e("div",{staticClass:"terminal-glow"}),e("div",{staticClass:"terminal-frame"},[e("div",{staticClass:"terminal-header"},[e("div",{staticClass:"dots"},[e("span",{staticClass:"dot dot-red"}),e("span",{staticClass:"dot dot-yellow"}),e("span",{staticClass:"dot dot-green"})]),e("div",{staticClass:"terminal-title"},[r._v("SqlParserX · Lineage Analyzer")]),e("div",{staticClass:"terminal-meta"},[r._v("bash — 96×24")])]),e("div",{staticClass:"terminal-body"},[e("div",{staticClass:"line"},[e("span",{staticClass:"prompt"},[r._v("$")]),e("span",{staticClass:"cmd"},[r._v("parse-lineage")]),e("span",{staticClass:"flag"},[r._v("--sql")]),e("span",{staticClass:"string"},[r._v('"INSERT INTO result (id, name) SELECT a.id, a.name FROM users a JOIN orders o ON a.id = o.user_id"')])]),e("div",{staticClass:"line line-out"},[e("span",{staticClass:"ok"},[r._v("✓")]),r._v(" Target Table  : "),e("span",{staticClass:"hl"},[r._v("result")])]),e("div",{staticClass:"line line-out"},[e("span",{staticClass:"ok"},[r._v("✓")]),r._v(" Source Tables: "),e("span",{staticClass:"hl"},[r._v("users")]),r._v(", "),e("span",{staticClass:"hl"},[r._v("orders")])]),e("div",{staticClass:"line line-out"},[e("span",{staticClass:"ok"},[r._v("✓")]),r._v(" Column Lineage: ")]),e("div",{staticClass:"line line-out indent"},[e("span",{staticClass:"src"},[r._v("users.id")]),e("span",{staticClass:"arrow"},[r._v("→")]),e("span",{staticClass:"dst"},[r._v("result.id")])]),e("div",{staticClass:"line line-out indent"},[e("span",{staticClass:"src"},[r._v("users.name")]),e("span",{staticClass:"arrow"},[r._v("→")]),e("span",{staticClass:"dst"},[r._v("result.name")])]),e("div",{staticClass:"line line-out indent"},[e("span",{staticClass:"src"},[r._v("orders.user_id")]),e("span",{staticClass:"arrow"},[r._v("→")]),e("span",{staticClass:"dst"},[r._v("result.id")])]),e("div",{staticClass:"line line-out"},[e("span",{staticClass:"ok"},[r._v("✓")]),r._v(" Generated in "),e("span",{staticClass:"hl-em"},[r._v("12 ms")])]),e("div",{staticClass:"line typing"},[e("span",{staticClass:"prompt"},[r._v("$")]),e("span",{staticClass:"cursor"},[r._v("▍")])])])])])}],Xoe=rs(Yoe,qoe,Koe,!1,null,"e419878b");const Zoe=Xoe.exports,Qoe={BASE_URL:"./",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_API_URL:""},Joe={name:"Home",components:{MockupTerminal:Zoe},created(){console.log("import.meta.env=>",Qoe),console.log("import.meta.env.VITE_API_URL=>","")}};var ese=function(){var e=this,t=e._self._c;return t("div",{staticClass:"home"},[t("nav",{staticClass:"topbar"},[t("div",{staticClass:"topbar-inner"},[t("a",{staticClass:"brand",attrs:{href:"#top"}},[t("svg",{staticClass:"brand-icon",attrs:{viewBox:"0 0 48 48",width:"30",height:"30",fill:"none"}},[t("defs",[t("linearGradient",{attrs:{id:"brand-grad",x1:"0",y1:"0",x2:"48",y2:"48"}},[t("stop",{attrs:{offset:"0%","stop-color":"#2563eb"}}),t("stop",{attrs:{offset:"100%","stop-color":"#7c3aed"}})],1)],1),t("rect",{attrs:{x:"6",y:"8",width:"36",height:"32",rx:"7",stroke:"url(#brand-grad)","stroke-width":"3"}}),t("path",{attrs:{d:"M14 20h20M14 28h12",stroke:"url(#brand-grad)","stroke-width":"3","stroke-linecap":"round"}}),t("circle",{attrs:{cx:"34",cy:"28",r:"2.5",fill:"#2563eb"}})]),t("span",{staticClass:"brand-name"},[e._v("SqlParserX")])]),e._m(0),e._m(1)])]),t("main",{staticClass:"container"},[t("section",{staticClass:"hero",attrs:{id:"top"}},[t("div",{staticClass:"hero-left"},[e._m(2),t("h1",{staticClass:"hero-title"},[e._v("SqlParserX")]),t("h2",{staticClass:"hero-subtitle"},[e._v("多数据库方言 SQL 解析引擎")]),e._m(3),t("div",{staticClass:"hero-cta"},[t("router-link",{staticClass:"btn btn-primary btn-lg",attrs:{to:"/lineage"}},[e._v("立即体验")]),t("a",{staticClass:"btn btn-ghost btn-lg",attrs:{href:"https://gitlab.prod.dtstack.cn/changlu/SqlParserX",target:"_blank",rel:"noopener"}},[e._v("在 GitHub 查看")])],1),e._m(4)]),t("div",{staticClass:"hero-right"},[t("mockup-terminal")],1)]),e._m(5),t("section",{staticClass:"features-section",attrs:{id:"features"}},[e._m(6),t("div",{staticClass:"features-grid"},[t("router-link",{staticClass:"feature-card",attrs:{to:"/lineage"}},[t("div",{staticClass:"card-icon icon-lineage"},[t("i",{staticClass:"el-icon-share"})]),t("div",{staticClass:"card-body"},[t("h3",[e._v("血缘解析可视化")]),t("p",[e._v("字段级与表级血缘双向切换,支持缩放、拖拽与全屏交互式探索。")]),t("span",{staticClass:"card-tag"},[e._v("字段级 / 表级")])])]),t("router-link",{staticClass:"feature-card",attrs:{to:"/syntax-validator"}},[t("div",{staticClass:"card-icon icon-validate"},[t("i",{staticClass:"el-icon-circle-check"})]),t("div",{staticClass:"card-body"},[t("h3",[e._v("语法解析验证")]),t("p",[e._v("多方言语法校验,错误时输出精准错误信息与完整堆栈定位。")]),t("span",{staticClass:"card-tag"},[e._v("多方言校验")])])]),t("router-link",{staticClass:"feature-card",attrs:{to:"/table-parser"}},[t("div",{staticClass:"card-icon icon-table"},[t("i",{staticClass:"el-icon-collection"})]),t("div",{staticClass:"card-body"},[t("h3",[e._v("SQL 表解析")]),t("p",[e._v("解析主表与全部真实表,自动展开 WITH AS / CTE / JOIN / UNION。")]),t("span",{staticClass:"card-tag"},[e._v("真实表提取")])])]),t("router-link",{staticClass:"feature-card",attrs:{to:"/create-table-parser"}},[t("div",{staticClass:"card-icon icon-create"},[t("i",{staticClass:"el-icon-plus"})]),t("div",{staticClass:"card-body"},[t("h3",[e._v("建表 SQL 解析")]),t("p",[e._v("表名、字段、分区、分桶、键与 properties 全维度解析。")]),t("span",{staticClass:"card-tag"},[e._v("结构级解析")])])]),t("router-link",{staticClass:"feature-card",attrs:{to:"/sql-splitter"}},[t("div",{staticClass:"card-icon icon-split"},[t("i",{staticClass:"el-icon-sort"})]),t("div",{staticClass:"card-body"},[t("h3",[e._v("SQL 切分测试")]),t("p",[e._v("将多语句脚本按语句智能切分,支持自定义与原生两种策略。")]),t("span",{staticClass:"card-tag"},[e._v("脚本拆分")])])]),e._m(7)],1)]),e._m(8),t("section",{staticClass:"final-cta",attrs:{id:"start"}},[t("h2",[e._v("准备好开始解析你的 SQL 了吗?")]),t("p",[e._v("一键启动 Web 服务,或通过 MCP 把能力嵌入到 AI Agent")]),t("div",{staticClass:"hero-cta center"},[t("router-link",{staticClass:"btn btn-primary btn-lg",attrs:{to:"/lineage"}},[e._v("进入体验")]),t("a",{staticClass:"btn btn-ghost btn-lg",attrs:{href:"https://gitlab.prod.dtstack.cn/changlu/SqlParserX",target:"_blank",rel:"noopener"}},[e._v("Star & Fork")])],1)])]),t("footer",{staticClass:"site-footer",attrs:{id:"community"}},[t("div",{staticClass:"footer-inner"},[t("div",{staticClass:"footer-brand"},[t("div",{staticClass:"brand"},[t("svg",{staticClass:"brand-icon",attrs:{viewBox:"0 0 48 48",width:"24",height:"24",fill:"none"}},[t("rect",{attrs:{x:"6",y:"8",width:"36",height:"32",rx:"7",stroke:"#2563eb","stroke-width":"3"}}),t("path",{attrs:{d:"M14 20h20M14 28h12",stroke:"#2563eb","stroke-width":"3","stroke-linecap":"round"}}),t("circle",{attrs:{cx:"34",cy:"28",r:"2.5",fill:"#2563eb"}})]),t("span",{staticClass:"brand-name"},[e._v("SqlParserX")])]),t("p",{staticClass:"footer-tag"},[e._v("多数据库方言 SQL 解析引擎")]),t("p",{staticClass:"footer-copy"},[e._v("MIT License · Copyright © 2026 changlu")])]),e._m(9)])])])},tse=[function(){var r=this,e=r._self._c;return e("ul",{staticClass:"nav-links"},[e("li",[e("a",{attrs:{href:"#features"}},[r._v("功能特性")])]),e("li",[e("a",{attrs:{href:"#mcp"}},[r._v("MCP Server")])]),e("li",[e("a",{attrs:{href:"#docs"}},[r._v("开发文档")])]),e("li",[e("a",{attrs:{href:"#community"}},[r._v("社区")])])])},function(){var r=this,e=r._self._c;return e("div",{staticClass:"nav-cta"},[e("a",{staticClass:"btn btn-ghost",attrs:{href:"#docs"}},[r._v("文档")]),e("a",{staticClass:"btn btn-primary",attrs:{href:"#start"}},[r._v("立即体验")])])},function(){var r=this,e=r._self._c;return e("div",{staticClass:"pill-badges"},[e("span",{staticClass:"pill"},[e("span",{staticClass:"dot-live"}),r._v(" v1.0 · 稳定可用")]),e("span",{staticClass:"pill"},[r._v("MIT 协议")]),e("span",{staticClass:"pill"},[r._v("Druid 1.2.28")])])},function(){var r=this,e=r._self._c;return e("p",{staticClass:"hero-desc"},[r._v(" 一站式"),e("strong",[r._v("表 / 字段血缘解析")]),r._v("、"),e("strong",[r._v("SQL 切分")]),r._v("、"),e("strong",[r._v("建表解析")]),r._v("、 "),e("strong",[r._v("语法校验")]),r._v("与"),e("strong",[r._v("行级权限注入")]),r._v(",并提供 Web 可视化与 MCP Server,接入 AI Agent 与大模型应用开箱即用。 ")])},function(){var r=this,e=r._self._c;return e("div",{staticClass:"trust-row"},[e("span",{staticClass:"trust-item"},[r._v("15+ 方言解析器")]),e("span",{staticClass:"trust-item"},[r._v("70+ 单元测试")]),e("span",{staticClass:"trust-item"},[r._v("Spring AI MCP")]),e("span",{staticClass:"trust-item"},[r._v("活跃维护中")])])},function(){var r=this,e=r._self._c;return e("section",{staticClass:"dialect-strip"},[e("span",{staticClass:"strip-label"},[r._v("支持方言")]),e("div",{staticClass:"chip-list"},[e("span",{staticClass:"chip"},[r._v("MySQL")]),e("span",{staticClass:"chip"},[r._v("Hive")]),e("span",{staticClass:"chip"},[r._v("Doris")]),e("span",{staticClass:"chip"},[r._v("StarRocks")]),e("span",{staticClass:"chip"},[r._v("ClickHouse")]),e("span",{staticClass:"chip"},[r._v("Oracle")]),e("span",{staticClass:"chip"},[r._v("PostgreSQL")]),e("span",{staticClass:"chip"},[r._v("Spark")]),e("span",{staticClass:"chip"},[r._v("Trino")]),e("span",{staticClass:"chip"},[r._v("DM")]),e("span",{staticClass:"chip"},[r._v("OceanBase")]),e("span",{staticClass:"chip"},[r._v("SQL Server")]),e("span",{staticClass:"chip"},[r._v("Greenplum")]),e("span",{staticClass:"chip"},[r._v("TiDB")]),e("span",{staticClass:"chip"},[r._v("+ 更多")])])])},function(){var r=this,e=r._self._c;return e("div",{staticClass:"section-head"},[e("span",{staticClass:"section-tag"},[r._v("Core Features")]),e("h2",{staticClass:"section-title"},[r._v("为数据血缘而生的解析能力")]),e("p",{staticClass:"section-sub"},[r._v("从单条 SQL 到多语句脚本,覆盖解析、可视化与接入的全链路能力")])])},function(){var r=this,e=r._self._c;return e("div",{staticClass:"feature-card card-mcp",attrs:{id:"mcp"}},[e("div",{staticClass:"card-icon icon-mcp"},[e("i",{staticClass:"el-icon-connection"})]),e("div",{staticClass:"card-body"},[e("h3",[r._v("MCP Server 接入")]),e("p",[r._v("基于 SSE 将解析能力注册为 MCP 工具,AI Agent 直接调用。")]),e("span",{staticClass:"card-tag"},[r._v("LLM 生态")])])])},function(){var r=this,e=r._self._c;return e("section",{staticClass:"stats-section",attrs:{id:"docs"}},[e("div",{staticClass:"stats-grid"},[e("div",{staticClass:"stat-item"},[e("div",{staticClass:"stat-num"},[r._v("15+")]),e("div",{staticClass:"stat-label"},[r._v("数据库方言")])]),e("div",{staticClass:"stat-item"},[e("div",{staticClass:"stat-num"},[r._v("71")]),e("div",{staticClass:"stat-label"},[r._v("单元测试用例")])]),e("div",{staticClass:"stat-item"},[e("div",{staticClass:"stat-num"},[r._v("5")]),e("div",{staticClass:"stat-label"},[r._v("核心解析能力")])]),e("div",{staticClass:"stat-item"},[e("div",{staticClass:"stat-num"},[r._v("MIT")]),e("div",{staticClass:"stat-label"},[r._v("开源协议")])])])])},function(){var r=this,e=r._self._c;return e("div",{staticClass:"footer-cols"},[e("div",{staticClass:"footer-col"},[e("h4",[r._v("产品")]),e("a",{attrs:{href:"#features"}},[r._v("核心功能")]),e("a",{attrs:{href:"#mcp"}},[r._v("MCP Server")]),e("a",{attrs:{href:"#start"}},[r._v("立即体验")])]),e("div",{staticClass:"footer-col"},[e("h4",[r._v("开发")]),e("a",{attrs:{href:"https://gitlab.prod.dtstack.cn/changlu/SqlParserX",target:"_blank",rel:"noopener"}},[r._v("源码仓库")]),e("a",{attrs:{href:"#docs"}},[r._v("接入文档")]),e("a",{attrs:{href:"#docs"}},[r._v("Java SDK")])]),e("div",{staticClass:"footer-col"},[e("h4",[r._v("社区")]),e("a",{attrs:{href:"#community"}},[r._v("Issue")]),e("a",{attrs:{href:"#community"}},[r._v("贡献指南")]),e("a",{attrs:{href:"#community"}},[r._v("更新日志")])])])}],rse=rs(Joe,ese,tse,!1,null,"6d129aea");const nse=rse.exports;/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */var bO=function(r,e){return bO=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])},bO(r,e)};function ae(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");bO(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var ise=function(){function r(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return r}(),ase=function(){function r(){this.browser=new ise,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window<"u"}return r}(),yt=new ase;typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?(yt.wxa=!0,yt.touchEventsSupported=!0):typeof document>"u"&&typeof self<"u"?yt.worker=!0:!yt.hasGlobalWindow||"Deno"in window?(yt.node=!0,yt.svgSupported=!0):ose(navigator.userAgent,yt);function ose(r,e){var t=e.browser,n=r.match(/Firefox\/([\d.]+)/),i=r.match(/MSIE\s([\d.]+)/)||r.match(/Trident\/.+?rv:(([\d.]+))/),a=r.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(r);n&&(t.firefox=!0,t.version=n[1]),i&&(t.ie=!0,t.version=i[1]),a&&(t.edge=!0,t.version=a[1],t.newEdge=+a[1].split(".")[0]>18),o&&(t.weChat=!0),e.svgSupported=typeof SVGRect<"u",e.touchEventsSupported="ontouchstart"in window&&!t.ie&&!t.edge,e.pointerEventsSupported="onpointerdown"in window&&(t.edge||t.ie&&+t.version>=11),e.domSupported=typeof document<"u";var s=document.documentElement.style;e.transform3dSupported=(t.ie&&"transition"in s||t.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||t.ie&&+t.version>=9}var JR=12,d7="sans-serif",uu=JR+"px "+d7,sse=20,lse=100,use="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function cse(r){var e={};if(typeof JSON>"u")return e;for(var t=0;t=0)s=o*t.length;else for(var u=0;u>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",n[u]+":0",i[f]+":0",n[1-u]+":auto",i[1-f]+":auto",""].join("!important;"),r.appendChild(o),t.push(o)}return t}function Ise(r,e,t){for(var n=t?"invTrans":"trans",i=e[n],a=e.srcCoords,o=[],s=[],u=!0,f=0;f<4;f++){var h=r[f].getBoundingClientRect(),p=2*f,g=h.left,v=h.top;o.push(g,v),u=u&&a&&g===a[p]&&v===a[p+1],s.push(r[f].offsetLeft,r[f].offsetTop)}return u&&i?i:(e.srcCoords=o,e[n]=t?JV(s,o):JV(o,s))}function b7(r){return r.nodeName.toUpperCase()==="CANVAS"}var Pse=/([&<>"'])/g,Lse={"&":"&","<":"<",">":">",'"':""","'":"'"};function ui(r){return r==null?"":(r+"").replace(Pse,function(e,t){return Lse[t]})}var Ose=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,LE=[],Rse=yt.browser.firefox&&+yt.browser.version.split(".")[0]<39;function kO(r,e,t,n){return t=t||{},n?t5(r,e,t):Rse&&e.layerX!=null&&e.layerX!==e.offsetX?(t.zrX=e.layerX,t.zrY=e.layerY):e.offsetX!=null?(t.zrX=e.offsetX,t.zrY=e.offsetY):t5(r,e,t),t}function t5(r,e,t){if(yt.domSupported&&r.getBoundingClientRect){var n=e.clientX,i=e.clientY;if(b7(r)){var a=r.getBoundingClientRect();t.zrX=n-a.left,t.zrY=i-a.top;return}else if(DO(LE,r,n,i)){t.zrX=LE[0],t.zrY=LE[1];return}}t.zrX=t.zrY=0}function oN(r){return r||window.event}function wa(r,e,t){if(e=oN(e),e.zrX!=null)return e;var n=e.type,i=n&&n.indexOf("touch")>=0;if(i){var o=n!=="touchend"?e.targetTouches[0]:e.changedTouches[0];o&&kO(r,o,e,t)}else{kO(r,e,e,t);var a=Nse(e);e.zrDelta=a?a/120:-(e.detail||0)/3}var s=e.button;return e.which==null&&s!==void 0&&Ose.test(e.type)&&(e.which=s&1?1:s&2?3:s&4?2:0),e}function Nse(r){var e=r.wheelDelta;if(e)return e;var t=r.deltaX,n=r.deltaY;if(t==null||n==null)return e;var i=Math.abs(n!==0?n:t),a=n>0?-1:n<0?1:t>0?-1:1;return 3*i*a}function MO(r,e,t,n){r.addEventListener(e,t,n)}function Fse(r,e,t,n){r.removeEventListener(e,t,n)}var $s=function(r){r.preventDefault(),r.stopPropagation(),r.cancelBubble=!0};function r5(r){return r.which===2||r.which===3}var $se=function(){function r(){this._track=[]}return r.prototype.recognize=function(e,t,n){return this._doTrack(e,t,n),this._recognize(e)},r.prototype.clear=function(){return this._track.length=0,this},r.prototype._doTrack=function(e,t,n){var i=e.touches;if(i){for(var a={points:[],touches:[],target:t,event:e},o=0,s=i.length;o1&&n&&n.length>1){var a=n5(n)/n5(i);!isFinite(a)&&(a=1),e.pinchScale=a;var o=Bse(n);return e.pinchX=o[0],e.pinchY=o[1],{type:"pinch",target:r[0].target,event:e}}}}};function Ji(){return[1,0,0,1,0,0]}function CT(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function sN(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r}function Ps(r,e,t){var n=e[0]*t[0]+e[2]*t[1],i=e[1]*t[0]+e[3]*t[1],a=e[0]*t[2]+e[2]*t[3],o=e[1]*t[2]+e[3]*t[3],s=e[0]*t[4]+e[2]*t[5]+e[4],u=e[1]*t[4]+e[3]*t[5]+e[5];return r[0]=n,r[1]=i,r[2]=a,r[3]=o,r[4]=s,r[5]=u,r}function Qo(r,e,t){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4]+t[0],r[5]=e[5]+t[1],r}function Bf(r,e,t,n){n===void 0&&(n=[0,0]);var i=e[0],a=e[2],o=e[4],s=e[1],u=e[3],f=e[5],h=Math.sin(t),p=Math.cos(t);return r[0]=i*p+s*h,r[1]=-i*h+s*p,r[2]=a*p+u*h,r[3]=-a*h+p*u,r[4]=p*(o-n[0])+h*(f-n[1])+n[0],r[5]=p*(f-n[1])-h*(o-n[0])+n[1],r}function lN(r,e,t){var n=t[0],i=t[1];return r[0]=e[0]*n,r[1]=e[1]*i,r[2]=e[2]*n,r[3]=e[3]*i,r[4]=e[4]*n,r[5]=e[5]*i,r}function Np(r,e){var t=e[0],n=e[2],i=e[4],a=e[1],o=e[3],s=e[5],u=t*o-a*n;return u?(u=1/u,r[0]=o*u,r[1]=-a*u,r[2]=-n*u,r[3]=t*u,r[4]=(n*s-o*i)*u,r[5]=(a*i-t*s)*u,r):null}function zse(r){var e=Ji();return sN(e,r),e}var lt=function(){function r(e,t){this.x=e||0,this.y=t||0}return r.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this},r.prototype.clone=function(){return new r(this.x,this.y)},r.prototype.set=function(e,t){return this.x=e,this.y=t,this},r.prototype.equal=function(e){return e.x===this.x&&e.y===this.y},r.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},r.prototype.scale=function(e){this.x*=e,this.y*=e},r.prototype.scaleAndAdd=function(e,t){this.x+=e.x*t,this.y+=e.y*t},r.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},r.prototype.dot=function(e){return this.x*e.x+this.y*e.y},r.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},r.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},r.prototype.normalize=function(){var e=this.len();return this.x/=e,this.y/=e,this},r.prototype.distance=function(e){var t=this.x-e.x,n=this.y-e.y;return Math.sqrt(t*t+n*n)},r.prototype.distanceSquare=function(e){var t=this.x-e.x,n=this.y-e.y;return t*t+n*n},r.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},r.prototype.transform=function(e){if(e){var t=this.x,n=this.y;return this.x=e[0]*t+e[2]*n+e[4],this.y=e[1]*t+e[3]*n+e[5],this}},r.prototype.toArray=function(e){return e[0]=this.x,e[1]=this.y,e},r.prototype.fromArray=function(e){this.x=e[0],this.y=e[1]},r.set=function(e,t,n){e.x=t,e.y=n},r.copy=function(e,t){e.x=t.x,e.y=t.y},r.len=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},r.lenSquare=function(e){return e.x*e.x+e.y*e.y},r.dot=function(e,t){return e.x*t.x+e.y*t.y},r.add=function(e,t,n){e.x=t.x+n.x,e.y=t.y+n.y},r.sub=function(e,t,n){e.x=t.x-n.x,e.y=t.y-n.y},r.scale=function(e,t,n){e.x=t.x*n,e.y=t.y*n},r.scaleAndAdd=function(e,t,n,i){e.x=t.x+n.x*i,e.y=t.y+n.y*i},r.lerp=function(e,t,n,i){var a=1-i;e.x=a*t.x+i*n.x,e.y=a*t.y+i*n.y},r}(),WS=Math.min,GS=Math.max,gc=new lt,mc=new lt,yc=new lt,_c=new lt,Xg=new lt,Zg=new lt,ft=function(){function r(e,t,n,i){n<0&&(e=e+n,n=-n),i<0&&(t=t+i,i=-i),this.x=e,this.y=t,this.width=n,this.height=i}return r.prototype.union=function(e){var t=WS(e.x,this.x),n=WS(e.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=GS(e.x+e.width,this.x+this.width)-t:this.width=e.width,isFinite(this.y)&&isFinite(this.height)?this.height=GS(e.y+e.height,this.y+this.height)-n:this.height=e.height,this.x=t,this.y=n},r.prototype.applyTransform=function(e){r.applyTransform(this,this,e)},r.prototype.calculateTransform=function(e){var t=this,n=e.width/t.width,i=e.height/t.height,a=Ji();return Qo(a,a,[-t.x,-t.y]),lN(a,a,[n,i]),Qo(a,a,[e.x,e.y]),a},r.prototype.intersect=function(e,t){if(!e)return!1;e instanceof r||(e=r.create(e));var n=this,i=n.x,a=n.x+n.width,o=n.y,s=n.y+n.height,u=e.x,f=e.x+e.width,h=e.y,p=e.y+e.height,g=!(am&&(m=w,b<_?lt.set(Zg,-b,0):lt.set(Zg,_,0)):wm&&(m=k,S=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.copy=function(e){r.copy(this,e)},r.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},r.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},r.prototype.isZero=function(){return this.width===0||this.height===0},r.create=function(e){return new r(e.x,e.y,e.width,e.height)},r.copy=function(e,t){e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height},r.applyTransform=function(e,t,n){if(!n){e!==t&&r.copy(e,t);return}if(n[1]<1e-5&&n[1]>-1e-5&&n[2]<1e-5&&n[2]>-1e-5){var i=n[0],a=n[3],o=n[4],s=n[5];e.x=t.x*i+o,e.y=t.y*a+s,e.width=t.width*i,e.height=t.height*a,e.width<0&&(e.x+=e.width,e.width=-e.width),e.height<0&&(e.y+=e.height,e.height=-e.height);return}gc.x=yc.x=t.x,gc.y=_c.y=t.y,mc.x=_c.x=t.x+t.width,mc.y=yc.y=t.y+t.height,gc.transform(n),_c.transform(n),mc.transform(n),yc.transform(n),e.x=WS(gc.x,mc.x,yc.x,_c.x),e.y=WS(gc.y,mc.y,yc.y,_c.y);var u=GS(gc.x,mc.x,yc.x,_c.x),f=GS(gc.y,mc.y,yc.y,_c.y);e.width=u-e.x,e.height=f-e.y},r}(),x7="silent";function Vse(r,e,t){return{type:r,event:t,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:t.zrX,offsetY:t.zrY,gestureEvent:t.gestureEvent,pinchX:t.pinchX,pinchY:t.pinchY,pinchScale:t.pinchScale,wheelDelta:t.zrDelta,zrByTouch:t.zrByTouch,which:t.which,stop:Hse}}function Hse(){$s(this.event)}var jse=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.handler=null,t}return e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(Fa),Qg=function(){function r(e,t){this.x=e,this.y=t}return r}(),Wse=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],RE=new ft(0,0,0,0),S7=function(r){ae(e,r);function e(t,n,i,a,o){var s=r.call(this)||this;return s._hovered=new Qg(0,0),s.storage=t,s.painter=n,s.painterRoot=a,s._pointerSize=o,i=i||new jse,s.proxy=null,s.setHandlerProxy(i),s._draggingMgr=new kse(s),s}return e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(H(Wse,function(n){t.on&&t.on(n,this[n],this)},this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var n=t.zrX,i=t.zrY,a=w7(this,n,i),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var u=this._hovered=a?new Qg(n,i):this.findHover(n,i),f=u.target,h=this.proxy;h.setCursor&&h.setCursor(f?f.cursor:"default"),s&&f!==s&&this.dispatchToElement(o,"mouseout",t),this.dispatchToElement(u,"mousemove",t),f&&f!==s&&this.dispatchToElement(u,"mouseover",t)},e.prototype.mouseout=function(t){var n=t.zrEventControl;n!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",t),n!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new Qg(0,0)},e.prototype.dispatch=function(t,n){var i=this[t];i&&i.call(this,n)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var n=this.proxy;n.setCursor&&n.setCursor(t)},e.prototype.dispatchToElement=function(t,n,i){t=t||{};var a=t.target;if(!(a&&a.silent)){for(var o="on"+n,s=Vse(n,t,i);a&&(a[o]&&(s.cancelBubble=!!a[o].call(a,s)),a.trigger(n,s),a=a.__hostTarget?a.__hostTarget:a.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(n,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(u){typeof u[o]=="function"&&u[o].call(u,s),u.trigger&&u.trigger(n,s)}))}},e.prototype.findHover=function(t,n,i){var a=this.storage.getDisplayList(),o=new Qg(t,n);if(i5(a,o,t,n,i),this._pointerSize&&!o.target){for(var s=[],u=this._pointerSize,f=u/2,h=new ft(t-f,n-f,u,u),p=a.length-1;p>=0;p--){var g=a[p];g!==i&&!g.ignore&&!g.ignoreCoarsePointer&&(!g.parent||!g.parent.ignoreCoarsePointer)&&(RE.copy(g.getBoundingRect()),g.transform&&RE.applyTransform(g.transform),RE.intersect(h)&&s.push(g))}if(s.length)for(var v=4,m=Math.PI/12,b=Math.PI*2,_=0;_4)return;this._downPoint=null}this.dispatchToElement(a,r,e)}});function Gse(r,e,t){if(r[r.rectHover?"rectContain":"contain"](e,t)){for(var n=r,i=void 0,a=!1;n;){if(n.ignoreClip&&(a=!0),!a){var o=n.getClipPath();if(o&&!o.contain(e,t))return!1}n.silent&&(i=!0);var s=n.__hostTarget;n=s||n.parent}return i?x7:!0}return!1}function i5(r,e,t,n,i){for(var a=r.length-1;a>=0;a--){var o=r[a],s=void 0;if(o!==i&&!o.ignore&&(s=Gse(o,t,n))&&(!e.topTarget&&(e.topTarget=o),s!==x7)){e.target=o;break}}}function w7(r,e,t){var n=r.painter;return e<0||e>n.getWidth()||t<0||t>n.getHeight()}var C7=32,Jg=7;function Use(r){for(var e=0;r>=C7;)e|=r&1,r>>=1;return r+e}function a5(r,e,t,n){var i=e+1;if(i===t)return 1;if(n(r[i++],r[e])<0){for(;i=0;)i++;return i-e}function Yse(r,e,t){for(t--;e>>1,i(a,r[u])<0?s=u:o=u+1;var f=n-o;switch(f){case 3:r[o+3]=r[o+2];case 2:r[o+2]=r[o+1];case 1:r[o+1]=r[o];break;default:for(;f>0;)r[o+f]=r[o+f-1],f--}r[o]=a}}function NE(r,e,t,n,i,a){var o=0,s=0,u=1;if(a(r,e[t+i])>0){for(s=n-i;u0;)o=u,u=(u<<1)+1,u<=0&&(u=s);u>s&&(u=s),o+=i,u+=i}else{for(s=i+1;us&&(u=s);var f=o;o=i-u,u=i-f}for(o++;o>>1);a(r,e[t+h])>0?o=h+1:u=h}return u}function FE(r,e,t,n,i,a){var o=0,s=0,u=1;if(a(r,e[t+i])<0){for(s=i+1;us&&(u=s);var f=o;o=i-u,u=i-f}else{for(s=n-i;u=0;)o=u,u=(u<<1)+1,u<=0&&(u=s);u>s&&(u=s),o+=i,u+=i}for(o++;o>>1);a(r,e[t+h])<0?u=h:o=h+1}return u}function qse(r,e){var t=Jg,n,i,a=0,o=[];n=[],i=[];function s(v,m){n[a]=v,i[a]=m,a+=1}function u(){for(;a>1;){var v=a-2;if(v>=1&&i[v-1]<=i[v]+i[v+1]||v>=2&&i[v-2]<=i[v]+i[v-1])i[v-1]i[v+1])break;h(v)}}function f(){for(;a>1;){var v=a-2;v>0&&i[v-1]=Jg||I>=Jg);if(O)break;M<0&&(M=0),M+=2}if(t=M,t<1&&(t=1),m===1){for(S=0;S<_;S++)r[k+S]=r[w+S];r[k+_]=o[C]}else{if(m===0)throw new Error;for(S=0;S=0;S--)r[E+S]=r[M+S];r[k]=o[w];return}for(var I=t;;){var O=0,R=0,$=!1;do if(e(o[w],r[C])<0){if(r[k--]=r[C--],O++,R=0,--m===0){$=!0;break}}else if(r[k--]=o[w--],R++,O=0,--_===1){$=!0;break}while((O|R)=0;S--)r[E+S]=r[M+S];if(m===0){$=!0;break}}if(r[k--]=o[w--],--_===1){$=!0;break}if(R=_-NE(r[C],o,0,_,_-1,e),R!==0){for(k-=R,w-=R,_-=R,E=k+1,M=w+1,S=0;S=Jg||R>=Jg);if($)break;I<0&&(I=0),I+=2}if(t=I,t<1&&(t=1),_===1){for(k-=m,C-=m,E=k+1,M=C+1,S=m-1;S>=0;S--)r[E+S]=r[M+S];r[k]=o[w]}else{if(_===0)throw new Error;for(M=k-(_-1),S=0;S<_;S++)r[M+S]=o[S]}}return{mergeRuns:u,forceMergeRuns:f,pushRun:s}}function kC(r,e,t,n){t||(t=0),n||(n=r.length);var i=n-t;if(!(i<2)){var a=0;if(is&&(u=s),o5(r,t,t+u,t+a,e),a=u}o.pushRun(t,a),o.mergeRuns(),i-=a,t+=a}while(i!==0);o.forceMergeRuns()}}var qo=1,MC=2,Im=4,s5=!1;function $E(){s5||(s5=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function l5(r,e){return r.zlevel===e.zlevel?r.z===e.z?r.z2-e.z2:r.z-e.z:r.zlevel-e.zlevel}var Kse=function(){function r(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=l5}return r.prototype.traverse=function(e,t){for(var n=0;n0&&(h.__clipPaths=[]),isNaN(h.z)&&($E(),h.z=0),isNaN(h.z2)&&($E(),h.z2=0),isNaN(h.zlevel)&&($E(),h.zlevel=0),this._displayList[this._displayListLen++]=h}var p=e.getDecalElement&&e.getDecalElement();p&&this._updateAndAddDisplayable(p,t,n);var g=e.getTextGuideLine();g&&this._updateAndAddDisplayable(g,t,n);var v=e.getTextContent();v&&this._updateAndAddDisplayable(v,t,n)}},r.prototype.addRoot=function(e){e.__zr&&e.__zr.storage===this||this._roots.push(e)},r.prototype.delRoot=function(e){if(e instanceof Array){for(var t=0,n=e.length;t=0&&this._roots.splice(i,1)},r.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},r.prototype.getRoots=function(){return this._roots},r.prototype.dispose=function(){this._displayList=null,this._roots=null},r}(),g1;g1=yt.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(r){return setTimeout(r,16)};var qm={linear:function(r){return r},quadraticIn:function(r){return r*r},quadraticOut:function(r){return r*(2-r)},quadraticInOut:function(r){return(r*=2)<1?.5*r*r:-.5*(--r*(r-2)-1)},cubicIn:function(r){return r*r*r},cubicOut:function(r){return--r*r*r+1},cubicInOut:function(r){return(r*=2)<1?.5*r*r*r:.5*((r-=2)*r*r+2)},quarticIn:function(r){return r*r*r*r},quarticOut:function(r){return 1- --r*r*r*r},quarticInOut:function(r){return(r*=2)<1?.5*r*r*r*r:-.5*((r-=2)*r*r*r-2)},quinticIn:function(r){return r*r*r*r*r},quinticOut:function(r){return--r*r*r*r*r+1},quinticInOut:function(r){return(r*=2)<1?.5*r*r*r*r*r:.5*((r-=2)*r*r*r*r+2)},sinusoidalIn:function(r){return 1-Math.cos(r*Math.PI/2)},sinusoidalOut:function(r){return Math.sin(r*Math.PI/2)},sinusoidalInOut:function(r){return .5*(1-Math.cos(Math.PI*r))},exponentialIn:function(r){return r===0?0:Math.pow(1024,r-1)},exponentialOut:function(r){return r===1?1:1-Math.pow(2,-10*r)},exponentialInOut:function(r){return r===0?0:r===1?1:(r*=2)<1?.5*Math.pow(1024,r-1):.5*(-Math.pow(2,-10*(r-1))+2)},circularIn:function(r){return 1-Math.sqrt(1-r*r)},circularOut:function(r){return Math.sqrt(1- --r*r)},circularInOut:function(r){return(r*=2)<1?-.5*(Math.sqrt(1-r*r)-1):.5*(Math.sqrt(1-(r-=2)*r)+1)},elasticIn:function(r){var e,t=.1,n=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=n/4):e=n*Math.asin(1/t)/(2*Math.PI),-(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/n)))},elasticOut:function(r){var e,t=.1,n=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=n/4):e=n*Math.asin(1/t)/(2*Math.PI),t*Math.pow(2,-10*r)*Math.sin((r-e)*(2*Math.PI)/n)+1)},elasticInOut:function(r){var e,t=.1,n=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=n/4):e=n*Math.asin(1/t)/(2*Math.PI),(r*=2)<1?-.5*(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/n)):t*Math.pow(2,-10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/n)*.5+1)},backIn:function(r){var e=1.70158;return r*r*((e+1)*r-e)},backOut:function(r){var e=1.70158;return--r*r*((e+1)*r+e)+1},backInOut:function(r){var e=2.5949095;return(r*=2)<1?.5*(r*r*((e+1)*r-e)):.5*((r-=2)*r*((e+1)*r+e)+2)},bounceIn:function(r){return 1-qm.bounceOut(1-r)},bounceOut:function(r){return r<1/2.75?7.5625*r*r:r<2/2.75?7.5625*(r-=1.5/2.75)*r+.75:r<2.5/2.75?7.5625*(r-=2.25/2.75)*r+.9375:7.5625*(r-=2.625/2.75)*r+.984375},bounceInOut:function(r){return r<.5?qm.bounceIn(r*2)*.5:qm.bounceOut(r*2-1)*.5+.5}},US=Math.pow,eu=Math.sqrt,T7=1e-8,D7=1e-4,u5=eu(3),YS=1/3,zo=$f(),ka=$f(),up=$f();function Wl(r){return r>-1e-8&&rT7||r<-1e-8}function ln(r,e,t,n,i){var a=1-i;return a*a*(a*r+3*i*e)+i*i*(i*n+3*a*t)}function c5(r,e,t,n,i){var a=1-i;return 3*(((e-r)*a+2*(t-e)*i)*a+(n-t)*i*i)}function m1(r,e,t,n,i,a){var o=n+3*(e-t)-r,s=3*(t-e*2+r),u=3*(e-r),f=r-i,h=s*s-3*o*u,p=s*u-9*o*f,g=u*u-3*s*f,v=0;if(Wl(h)&&Wl(p))if(Wl(s))a[0]=0;else{var m=-u/s;m>=0&&m<=1&&(a[v++]=m)}else{var b=p*p-4*h*g;if(Wl(b)){var _=p/h,m=-s/o+_,S=-_/2;m>=0&&m<=1&&(a[v++]=m),S>=0&&S<=1&&(a[v++]=S)}else if(b>0){var C=eu(b),w=h*s+1.5*o*(-p+C),k=h*s+1.5*o*(-p-C);w<0?w=-US(-w,YS):w=US(w,YS),k<0?k=-US(-k,YS):k=US(k,YS);var m=(-s-(w+k))/(3*o);m>=0&&m<=1&&(a[v++]=m)}else{var M=(2*h*s-3*o*p)/(2*eu(h*h*h)),E=Math.acos(M)/3,I=eu(h),O=Math.cos(E),m=(-s-2*I*O)/(3*o),S=(-s+I*(O+u5*Math.sin(E)))/(3*o),R=(-s+I*(O-u5*Math.sin(E)))/(3*o);m>=0&&m<=1&&(a[v++]=m),S>=0&&S<=1&&(a[v++]=S),R>=0&&R<=1&&(a[v++]=R)}}return v}function M7(r,e,t,n,i){var a=6*t-12*e+6*r,o=9*e+3*n-3*r-9*t,s=3*e-3*r,u=0;if(Wl(o)){if(k7(a)){var f=-s/a;f>=0&&f<=1&&(i[u++]=f)}}else{var h=a*a-4*o*s;if(Wl(h))i[0]=-a/(2*o);else if(h>0){var p=eu(h),f=(-a+p)/(2*o),g=(-a-p)/(2*o);f>=0&&f<=1&&(i[u++]=f),g>=0&&g<=1&&(i[u++]=g)}}return u}function fu(r,e,t,n,i,a){var o=(e-r)*i+r,s=(t-e)*i+e,u=(n-t)*i+t,f=(s-o)*i+o,h=(u-s)*i+s,p=(h-f)*i+f;a[0]=r,a[1]=o,a[2]=f,a[3]=p,a[4]=p,a[5]=h,a[6]=u,a[7]=n}function A7(r,e,t,n,i,a,o,s,u,f,h){var p,g=.005,v=1/0,m,b,_,S;zo[0]=u,zo[1]=f;for(var C=0;C<1;C+=.05)ka[0]=ln(r,t,i,o,C),ka[1]=ln(e,n,a,s,C),_=hf(zo,ka),_=0&&_=0&&f<=1&&(i[u++]=f)}}else{var h=o*o-4*a*s;if(Wl(h)){var f=-o/(2*a);f>=0&&f<=1&&(i[u++]=f)}else if(h>0){var p=eu(h),f=(-o+p)/(2*a),g=(-o-p)/(2*a);f>=0&&f<=1&&(i[u++]=f),g>=0&&g<=1&&(i[u++]=g)}}return u}function E7(r,e,t){var n=r+t-2*e;return n===0?.5:(r-e)/n}function yy(r,e,t,n,i){var a=(e-r)*n+r,o=(t-e)*n+e,s=(o-a)*n+a;i[0]=r,i[1]=a,i[2]=s,i[3]=s,i[4]=o,i[5]=t}function I7(r,e,t,n,i,a,o,s,u){var f,h=.005,p=1/0;zo[0]=o,zo[1]=s;for(var g=0;g<1;g+=.05){ka[0]=vn(r,t,i,g),ka[1]=vn(e,n,a,g);var v=hf(zo,ka);v=0&&v=1?1:m1(0,n,a,1,u,s)&&ln(0,i,o,1,s[0])}}}var ele=function(){function r(e){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=e.life||1e3,this._delay=e.delay||0,this.loop=e.loop||!1,this.onframe=e.onframe||Or,this.ondestroy=e.ondestroy||Or,this.onrestart=e.onrestart||Or,e.easing&&this.setEasing(e.easing)}return r.prototype.step=function(e,t){if(this._inited||(this._startTime=e+this._delay,this._inited=!0),this._paused){this._pausedTime+=t;return}var n=this._life,i=e-this._startTime-this._pausedTime,a=i/n;a<0&&(a=0),a=Math.min(a,1);var o=this.easingFunc,s=o?o(a):a;if(this.onframe(s),a===1)if(this.loop){var u=i%n;this._startTime=e-u,this._pausedTime=0,this.onrestart()}else return!0;return!1},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){this._paused=!1},r.prototype.setEasing=function(e){this.easing=e,this.easingFunc=Ke(e)?e:qm[e]||uN(e)},r}(),P7=function(){function r(e){this.value=e}return r}(),tle=function(){function r(){this._len=0}return r.prototype.insert=function(e){var t=new P7(e);return this.insertEntry(t),t},r.prototype.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e):this.head=this.tail=e,this._len++},r.prototype.remove=function(e){var t=e.prev,n=e.next;t?t.next=n:this.head=n,n?n.prev=t:this.tail=t,e.next=e.prev=null,this._len--},r.prototype.len=function(){return this._len},r.prototype.clear=function(){this.head=this.tail=null,this._len=0},r}(),e_=function(){function r(e){this._list=new tle,this._maxSize=10,this._map={},this._maxSize=e}return r.prototype.put=function(e,t){var n=this._list,i=this._map,a=null;if(i[e]==null){var o=n.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var u=n.head;n.remove(u),delete i[u.key],a=u.value,this._lastRemovedEntry=u}s?s.value=t:s=new P7(t),s.key=e,n.insertEntry(s),i[e]=s}return a},r.prototype.get=function(e){var t=this._map[e],n=this._list;if(t!=null)return t!==n.tail&&(n.remove(t),n.insertEntry(t)),t.value},r.prototype.clear=function(){this._list.clear(),this._map={}},r.prototype.len=function(){return this._list.len()},r}(),f5={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function so(r){return r=Math.round(r),r<0?0:r>255?255:r}function rle(r){return r=Math.round(r),r<0?0:r>360?360:r}function _y(r){return r<0?0:r>1?1:r}function BE(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?so(parseFloat(e)/100*255):so(parseInt(e,10))}function df(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?_y(parseFloat(e)/100):_y(parseFloat(e))}function zE(r,e,t){return t<0?t+=1:t>1&&(t-=1),t*6<1?r+(e-r)*t*6:t*2<1?e:t*3<2?r+(e-r)*(2/3-t)*6:r}function Gl(r,e,t){return r+(e-r)*t}function Sa(r,e,t,n,i){return r[0]=e,r[1]=t,r[2]=n,r[3]=i,r}function EO(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}var L7=new e_(20),qS=null;function kd(r,e){qS&&EO(qS,e),qS=L7.put(r,qS||e.slice())}function ea(r,e){if(r){e=e||[];var t=L7.get(r);if(t)return EO(e,t);r=r+"";var n=r.replace(/ /g,"").toLowerCase();if(n in f5)return EO(e,f5[n]),kd(r,e),e;var i=n.length;if(n.charAt(0)==="#"){if(i===4||i===5){var a=parseInt(n.slice(1,4),16);if(!(a>=0&&a<=4095)){Sa(e,0,0,0,1);return}return Sa(e,(a&3840)>>4|(a&3840)>>8,a&240|(a&240)>>4,a&15|(a&15)<<4,i===5?parseInt(n.slice(4),16)/15:1),kd(r,e),e}else if(i===7||i===9){var a=parseInt(n.slice(1,7),16);if(!(a>=0&&a<=16777215)){Sa(e,0,0,0,1);return}return Sa(e,(a&16711680)>>16,(a&65280)>>8,a&255,i===9?parseInt(n.slice(7),16)/255:1),kd(r,e),e}return}var o=n.indexOf("("),s=n.indexOf(")");if(o!==-1&&s+1===i){var u=n.substr(0,o),f=n.substr(o+1,s-(o+1)).split(","),h=1;switch(u){case"rgba":if(f.length!==4)return f.length===3?Sa(e,+f[0],+f[1],+f[2],1):Sa(e,0,0,0,1);h=df(f.pop());case"rgb":if(f.length>=3)return Sa(e,BE(f[0]),BE(f[1]),BE(f[2]),f.length===3?h:df(f[3])),kd(r,e),e;Sa(e,0,0,0,1);return;case"hsla":if(f.length!==4){Sa(e,0,0,0,1);return}return f[3]=df(f[3]),IO(f,e),kd(r,e),e;case"hsl":if(f.length!==3){Sa(e,0,0,0,1);return}return IO(f,e),kd(r,e),e;default:return}}Sa(e,0,0,0,1)}}function IO(r,e){var t=(parseFloat(r[0])%360+360)%360/360,n=df(r[1]),i=df(r[2]),a=i<=.5?i*(n+1):i+n-i*n,o=i*2-a;return e=e||[],Sa(e,so(zE(o,a,t+1/3)*255),so(zE(o,a,t)*255),so(zE(o,a,t-1/3)*255),1),r.length===4&&(e[3]=r[3]),e}function nle(r){if(r){var e=r[0]/255,t=r[1]/255,n=r[2]/255,i=Math.min(e,t,n),a=Math.max(e,t,n),o=a-i,s=(a+i)/2,u,f;if(o===0)u=0,f=0;else{s<.5?f=o/(a+i):f=o/(2-a-i);var h=((a-e)/6+o/2)/o,p=((a-t)/6+o/2)/o,g=((a-n)/6+o/2)/o;e===a?u=g-p:t===a?u=1/3+h-g:n===a&&(u=2/3+p-h),u<0&&(u+=1),u>1&&(u-=1)}var v=[u*360,f,s];return r[3]!=null&&v.push(r[3]),v}}function PO(r,e){var t=ea(r);if(t){for(var n=0;n<3;n++)e<0?t[n]=t[n]*(1-e)|0:t[n]=(255-t[n])*e+t[n]|0,t[n]>255?t[n]=255:t[n]<0&&(t[n]=0);return Ls(t,t.length===4?"rgba":"rgb")}}function VE(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){t=t||[];var n=r*(e.length-1),i=Math.floor(n),a=Math.ceil(n),o=e[i],s=e[a],u=n-i;return t[0]=so(Gl(o[0],s[0],u)),t[1]=so(Gl(o[1],s[1],u)),t[2]=so(Gl(o[2],s[2],u)),t[3]=_y(Gl(o[3],s[3],u)),t}}function ile(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){var n=r*(e.length-1),i=Math.floor(n),a=Math.ceil(n),o=ea(e[i]),s=ea(e[a]),u=n-i,f=Ls([so(Gl(o[0],s[0],u)),so(Gl(o[1],s[1],u)),so(Gl(o[2],s[2],u)),_y(Gl(o[3],s[3],u))],"rgba");return t?{color:f,leftIndex:i,rightIndex:a,value:n}:f}}function Km(r,e,t,n){var i=ea(r);if(r)return i=nle(i),e!=null&&(i[0]=rle(e)),t!=null&&(i[1]=df(t)),n!=null&&(i[2]=df(n)),Ls(IO(i),"rgba")}function y1(r,e){var t=ea(r);if(t&&e!=null)return t[3]=_y(e),Ls(t,"rgba")}function Ls(r,e){if(!(!r||!r.length)){var t=r[0]+","+r[1]+","+r[2];return(e==="rgba"||e==="hsva"||e==="hsla")&&(t+=","+r[3]),e+"("+t+")"}}function _1(r,e){var t=ea(r);return t?(.299*t[0]+.587*t[1]+.114*t[2])*t[3]/255+(1-t[3])*e:0}var h5=new e_(100);function LO(r){if(Be(r)){var e=h5.get(r);return e||(e=PO(r,-.1),h5.put(r,e)),e}else if(ST(r)){var t=me({},r);return t.colorStops=Ce(r.colorStops,function(n){return{offset:n.offset,color:PO(n.color,-.1)}}),t}return r}var b1=Math.round;function by(r){var e;if(!r||r==="transparent")r="none";else if(typeof r=="string"&&r.indexOf("rgba")>-1){var t=ea(r);t&&(r="rgb("+t[0]+","+t[1]+","+t[2]+")",e=t[3])}return{color:r,opacity:e??1}}var ale=1e-4;function Ul(r){return r-1e-4}function KS(r){return b1(r*1e3)/1e3}function OO(r){return b1(r*1e4)/1e4}function ole(r){return"matrix("+KS(r[0])+","+KS(r[1])+","+KS(r[2])+","+KS(r[3])+","+OO(r[4])+","+OO(r[5])+")"}var sle={left:"start",right:"end",center:"middle",middle:"middle"};function lle(r,e,t){return t==="top"?r+=e/2:t==="bottom"&&(r-=e/2),r}function ule(r){return r&&(r.shadowBlur||r.shadowOffsetX||r.shadowOffsetY)}function cle(r){var e=r.style,t=r.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),t[0],t[1]].join(",")}function O7(r){return r&&!!r.image}function fle(r){return r&&!!r.svgElement}function cN(r){return O7(r)||fle(r)}function R7(r){return r.type==="linear"}function N7(r){return r.type==="radial"}function F7(r){return r&&(r.type==="linear"||r.type==="radial")}function TT(r){return"url(#"+r+")"}function $7(r){var e=r.getGlobalScale(),t=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(t)/Math.log(10)),1)}function B7(r){var e=r.x||0,t=r.y||0,n=(r.rotation||0)*CC,i=it(r.scaleX,1),a=it(r.scaleY,1),o=r.skewX||0,s=r.skewY||0,u=[];return(e||t)&&u.push("translate("+e+"px,"+t+"px)"),n&&u.push("rotate("+n+")"),(i!==1||a!==1)&&u.push("scale("+i+","+a+")"),(o||s)&&u.push("skew("+b1(o*CC)+"deg, "+b1(s*CC)+"deg)"),u.join(" ")}var hle=function(){return yt.hasGlobalWindow&&Ke(window.btoa)?function(r){return window.btoa(unescape(encodeURIComponent(r)))}:typeof Buffer<"u"?function(r){return Buffer.from(r).toString("base64")}:function(r){return null}}(),RO=Array.prototype.slice;function Ts(r,e,t){return(e-r)*t+r}function HE(r,e,t,n){for(var i=e.length,a=0;an?e:r,a=Math.min(t,n),o=i[a-1]||{color:[0,0,0,0],offset:0},s=a;so;if(s)n.length=o;else for(var u=a;u=1},r.prototype.getAdditiveTrack=function(){return this._additiveTrack},r.prototype.addKeyframe=function(e,t,n){this._needsSort=!0;var i=this.keyframes,a=i.length,o=!1,s=p5,u=t;if(Gn(t)){var f=gle(t);s=f,(f===1&&!Ft(t[0])||f===2&&!Ft(t[0][0]))&&(o=!0)}else if(Ft(t)&&!gy(t))s=ZS;else if(Be(t))if(!isNaN(+t))s=ZS;else{var h=ea(t);h&&(u=h,s=Pm)}else if(ST(t)){var p=me({},u);p.colorStops=Ce(t.colorStops,function(v){return{offset:v.offset,color:ea(v.color)}}),R7(t)?s=NO:N7(t)&&(s=FO),u=p}a===0?this.valType=s:(s!==this.valType||s===p5)&&(o=!0),this.discrete=this.discrete||o;var g={time:e,value:u,rawValue:t,percent:0};return n&&(g.easing=n,g.easingFunc=Ke(n)?n:qm[n]||uN(n)),i.push(g),g},r.prototype.prepare=function(e,t){var n=this.keyframes;this._needsSort&&n.sort(function(b,_){return b.time-_.time});for(var i=this.valType,a=n.length,o=n[a-1],s=this.discrete,u=QS(i),f=v5(i),h=0;h=0&&!(o[h].percent<=t);h--);h=g(h,s-2)}else{for(h=p;ht);h++);h=g(h-1,s-2)}m=o[h+1],v=o[h]}if(v&&m){this._lastFr=h,this._lastFrP=t;var _=m.percent-v.percent,S=_===0?1:g((t-v.percent)/_,1);m.easingFunc&&(S=m.easingFunc(S));var C=n?this._additiveValue:f?em:e[u];if((QS(a)||f)&&!C&&(C=this._additiveValue=[]),this.discrete)e[u]=S<1?v.rawValue:m.rawValue;else if(QS(a))a===EC?HE(C,v[i],m[i],S):dle(C,v[i],m[i],S);else if(v5(a)){var w=v[i],k=m[i],M=a===NO;e[u]={type:M?"linear":"radial",x:Ts(w.x,k.x,S),y:Ts(w.y,k.y,S),colorStops:Ce(w.colorStops,function(I,O){var R=k.colorStops[O];return{offset:Ts(I.offset,R.offset,S),color:AC(HE([],I.color,R.color,S))}}),global:k.global},M?(e[u].x2=Ts(w.x2,k.x2,S),e[u].y2=Ts(w.y2,k.y2,S)):e[u].r=Ts(w.r,k.r,S)}else if(f)HE(C,v[i],m[i],S),n||(e[u]=AC(C));else{var E=Ts(v[i],m[i],S);n?this._additiveValue=E:e[u]=E}n&&this._addToTarget(e)}}},r.prototype._addToTarget=function(e){var t=this.valType,n=this.propName,i=this._additiveValue;t===ZS?e[n]=e[n]+i:t===Pm?(ea(e[n],em),XS(em,em,i,1),e[n]=AC(em)):t===EC?XS(e[n],e[n],i,1):t===z7&&d5(e[n],e[n],i,1)},r}(),fN=function(){function r(e,t,n,i){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=e,this._loop=t,t&&i){rN("Can' use additive animation on looped animation.");return}this._additiveAnimators=i,this._allowDiscrete=n}return r.prototype.getMaxTime=function(){return this._maxTime},r.prototype.getDelay=function(){return this._delay},r.prototype.getLoop=function(){return this._loop},r.prototype.getTarget=function(){return this._target},r.prototype.changeTarget=function(e){this._target=e},r.prototype.when=function(e,t,n){return this.whenWithKeys(e,t,Tt(t),n)},r.prototype.whenWithKeys=function(e,t,n,i){for(var a=this._tracks,o=0;o0&&u.addKeyframe(0,Xm(f),i),this._trackKeys.push(s)}u.addKeyframe(e,Xm(t[s]),i)}return this._maxTime=Math.max(this._maxTime,e),this},r.prototype.pause=function(){this._clip.pause(),this._paused=!0},r.prototype.resume=function(){this._clip.resume(),this._paused=!1},r.prototype.isPaused=function(){return!!this._paused},r.prototype.duration=function(e){return this._maxTime=e,this._force=!0,this},r.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var e=this._doneCbs;if(e)for(var t=e.length,n=0;n0)){this._started=1;for(var t=this,n=[],i=this._maxTime||0,a=0;a1){var s=o.pop();a.addKeyframe(s.time,e[i]),a.prepare(this._maxTime,a.getAdditiveTrack())}}}},r}();function ip(){return new Date().getTime()}var yle=function(r){ae(e,r);function e(t){var n=r.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,t=t||{},n.stage=t.stage||{},n}return e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var n=t.getClip();n&&this.addClip(n)},e.prototype.removeClip=function(t){if(t.animation){var n=t.prev,i=t.next;n?n.next=i:this._head=i,i?i.prev=n:this._tail=n,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var n=t.getClip();n&&this.removeClip(n),t.animation=null},e.prototype.update=function(t){for(var n=ip()-this._pausedTime,i=n-this._time,a=this._head;a;){var o=a.next,s=a.step(n,i);s&&(a.ondestroy(),this.removeClip(a)),a=o}this._time=n,t||(this.trigger("frame",i),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0;function n(){t._running&&(g1(n),!t._paused&&t.update())}g1(n)},e.prototype.start=function(){this._running||(this._time=ip(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=ip(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=ip()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var n=t.next;t.prev=t.next=t.animation=null,t=n}this._head=this._tail=null},e.prototype.isFinished=function(){return this._head==null},e.prototype.animate=function(t,n){n=n||{},this.start();var i=new fN(t,n.loop);return this.addAnimator(i),i},e}(Fa),_le=300,jE=yt.domSupported,WE=function(){var r=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],e=["touchstart","touchend","touchmove"],t={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},n=Ce(r,function(i){var a=i.replace("mouse","pointer");return t.hasOwnProperty(a)?a:i});return{mouse:r,touch:e,pointer:n}}(),g5={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},m5=!1;function $O(r){var e=r.pointerType;return e==="pen"||e==="touch"}function ble(r){r.touching=!0,r.touchTimer!=null&&(clearTimeout(r.touchTimer),r.touchTimer=null),r.touchTimer=setTimeout(function(){r.touching=!1,r.touchTimer=null},700)}function GE(r){r&&(r.zrByTouch=!0)}function xle(r,e){return wa(r.dom,new Sle(r,e),!0)}function V7(r,e){for(var t=e,n=!1;t&&t.nodeType!==9&&!(n=t.domBelongToZr||t!==e&&t===r.painterRoot);)t=t.parentNode;return n}var Sle=function(){function r(e,t){this.stopPropagation=Or,this.stopImmediatePropagation=Or,this.preventDefault=Or,this.type=t.type,this.target=this.currentTarget=e.dom,this.pointerType=t.pointerType,this.clientX=t.clientX,this.clientY=t.clientY}return r}(),Ja={mousedown:function(r){r=wa(this.dom,r),this.__mayPointerCapture=[r.zrX,r.zrY],this.trigger("mousedown",r)},mousemove:function(r){r=wa(this.dom,r);var e=this.__mayPointerCapture;e&&(r.zrX!==e[0]||r.zrY!==e[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",r)},mouseup:function(r){r=wa(this.dom,r),this.__togglePointerCapture(!1),this.trigger("mouseup",r)},mouseout:function(r){r=wa(this.dom,r);var e=r.toElement||r.relatedTarget;V7(this,e)||(this.__pointerCapturing&&(r.zrEventControl="no_globalout"),this.trigger("mouseout",r))},wheel:function(r){m5=!0,r=wa(this.dom,r),this.trigger("mousewheel",r)},mousewheel:function(r){m5||(r=wa(this.dom,r),this.trigger("mousewheel",r))},touchstart:function(r){r=wa(this.dom,r),GE(r),this.__lastTouchMoment=new Date,this.handler.processGesture(r,"start"),Ja.mousemove.call(this,r),Ja.mousedown.call(this,r)},touchmove:function(r){r=wa(this.dom,r),GE(r),this.handler.processGesture(r,"change"),Ja.mousemove.call(this,r)},touchend:function(r){r=wa(this.dom,r),GE(r),this.handler.processGesture(r,"end"),Ja.mouseup.call(this,r),+new Date-+this.__lastTouchMoment<_le&&Ja.click.call(this,r)},pointerdown:function(r){Ja.mousedown.call(this,r)},pointermove:function(r){$O(r)||Ja.mousemove.call(this,r)},pointerup:function(r){Ja.mouseup.call(this,r)},pointerout:function(r){$O(r)||Ja.mouseout.call(this,r)}};H(["click","dblclick","contextmenu"],function(r){Ja[r]=function(e){e=wa(this.dom,e),this.trigger(r,e)}});var BO={pointermove:function(r){$O(r)||BO.mousemove.call(this,r)},pointerup:function(r){BO.mouseup.call(this,r)},mousemove:function(r){this.trigger("mousemove",r)},mouseup:function(r){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",r),e&&(r.zrEventControl="only_globalout",this.trigger("mouseout",r))}};function wle(r,e){var t=e.domHandlers;yt.pointerEventsSupported?H(WE.pointer,function(n){IC(e,n,function(i){t[n].call(r,i)})}):(yt.touchEventsSupported&&H(WE.touch,function(n){IC(e,n,function(i){t[n].call(r,i),ble(e)})}),H(WE.mouse,function(n){IC(e,n,function(i){i=oN(i),e.touching||t[n].call(r,i)})}))}function Cle(r,e){yt.pointerEventsSupported?H(g5.pointer,t):yt.touchEventsSupported||H(g5.mouse,t);function t(n){function i(a){a=oN(a),V7(r,a.target)||(a=xle(r,a),e.domHandlers[n].call(r,a))}IC(e,n,i,{capture:!0})}}function IC(r,e,t,n){r.mounted[e]=t,r.listenerOpts[e]=n,MO(r.domTarget,e,t,n)}function UE(r){var e=r.mounted;for(var t in e)e.hasOwnProperty(t)&&Fse(r.domTarget,t,e[t],r.listenerOpts[t]);r.mounted={}}var y5=function(){function r(e,t){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=e,this.domHandlers=t}return r}(),Tle=function(r){ae(e,r);function e(t,n){var i=r.call(this)||this;return i.__pointerCapturing=!1,i.dom=t,i.painterRoot=n,i._localHandlerScope=new y5(t,Ja),jE&&(i._globalHandlerScope=new y5(document,BO)),wle(i,i._localHandlerScope),i}return e.prototype.dispose=function(){UE(this._localHandlerScope),jE&&UE(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,jE&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var n=this._globalHandlerScope;t?Cle(this,n):UE(n)}},e}(Fa),H7=1;yt.hasGlobalWindow&&(H7=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var x1=H7,zO=.4,VO="#333",HO="#ccc",Dle="#eee",_5=CT,kle=5e-5;function bc(r){return r>kle||r<-5e-5}var xc=[],Md=[],YE=Ji(),qE=Math.abs,As=function(){function r(){}return r.prototype.getLocalTransform=function(e){return r.getLocalTransform(this,e)},r.prototype.setPosition=function(e){this.x=e[0],this.y=e[1]},r.prototype.setScale=function(e){this.scaleX=e[0],this.scaleY=e[1]},r.prototype.setSkew=function(e){this.skewX=e[0],this.skewY=e[1]},r.prototype.setOrigin=function(e){this.originX=e[0],this.originY=e[1]},r.prototype.needLocalTransform=function(){return bc(this.rotation)||bc(this.x)||bc(this.y)||bc(this.scaleX-1)||bc(this.scaleY-1)||bc(this.skewX)||bc(this.skewY)},r.prototype.updateTransform=function(){var e=this.parent&&this.parent.transform,t=this.needLocalTransform(),n=this.transform;if(!(t||e)){n&&(_5(n),this.invTransform=null);return}n=n||Ji(),t?this.getLocalTransform(n):_5(n),e&&(t?Ps(n,e,n):sN(n,e)),this.transform=n,this._resolveGlobalScaleRatio(n)},r.prototype._resolveGlobalScaleRatio=function(e){var t=this.globalScaleRatio;if(t!=null&&t!==1){this.getGlobalScale(xc);var n=xc[0]<0?-1:1,i=xc[1]<0?-1:1,a=((xc[0]-n)*t+n)/xc[0]||0,o=((xc[1]-i)*t+i)/xc[1]||0;e[0]*=a,e[1]*=a,e[2]*=o,e[3]*=o}this.invTransform=this.invTransform||Ji(),Np(this.invTransform,e)},r.prototype.getComputedTransform=function(){for(var e=this,t=[];e;)t.push(e),e=e.parent;for(;e=t.pop();)e.updateTransform();return this.transform},r.prototype.setLocalTransform=function(e){if(e){var t=e[0]*e[0]+e[1]*e[1],n=e[2]*e[2]+e[3]*e[3],i=Math.atan2(e[1],e[0]),a=Math.PI/2+i-Math.atan2(e[3],e[2]);n=Math.sqrt(n)*Math.cos(a),t=Math.sqrt(t),this.skewX=a,this.skewY=0,this.rotation=-i,this.x=+e[4],this.y=+e[5],this.scaleX=t,this.scaleY=n,this.originX=0,this.originY=0}},r.prototype.decomposeTransform=function(){if(this.transform){var e=this.parent,t=this.transform;e&&e.transform&&(e.invTransform=e.invTransform||Ji(),Ps(Md,e.invTransform,t),t=Md);var n=this.originX,i=this.originY;(n||i)&&(YE[4]=n,YE[5]=i,Ps(Md,t,YE),Md[4]-=n,Md[5]-=i,t=Md),this.setLocalTransform(t)}},r.prototype.getGlobalScale=function(e){var t=this.transform;return e=e||[],t?(e[0]=Math.sqrt(t[0]*t[0]+t[1]*t[1]),e[1]=Math.sqrt(t[2]*t[2]+t[3]*t[3]),t[0]<0&&(e[0]=-e[0]),t[3]<0&&(e[1]=-e[1]),e):(e[0]=1,e[1]=1,e)},r.prototype.transformCoordToLocal=function(e,t){var n=[e,t],i=this.invTransform;return i&&kn(n,n,i),n},r.prototype.transformCoordToGlobal=function(e,t){var n=[e,t],i=this.transform;return i&&kn(n,n,i),n},r.prototype.getLineScale=function(){var e=this.transform;return e&&qE(e[0]-1)>1e-10&&qE(e[3]-1)>1e-10?Math.sqrt(qE(e[0]*e[3]-e[2]*e[1])):1},r.prototype.copyTransform=function(e){j7(this,e)},r.getLocalTransform=function(e,t){t=t||[];var n=e.originX||0,i=e.originY||0,a=e.scaleX,o=e.scaleY,s=e.anchorX,u=e.anchorY,f=e.rotation||0,h=e.x,p=e.y,g=e.skewX?Math.tan(e.skewX):0,v=e.skewY?Math.tan(-e.skewY):0;if(n||i||s||u){var m=n+s,b=i+u;t[4]=-m*a-g*b*o,t[5]=-b*o-v*m*a}else t[4]=t[5]=0;return t[0]=a,t[3]=o,t[1]=v*a,t[2]=g*o,f&&Bf(t,t,f),t[4]+=n+h,t[5]+=i+p,t},r.initDefaultProps=function(){var e=r.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),r}(),Jo=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function j7(r,e){for(var t=0;t=0?parseFloat(r)/100*e:parseFloat(r):r}function S1(r,e,t){var n=e.position||"inside",i=e.distance!=null?e.distance:5,a=t.height,o=t.width,s=a/2,u=t.x,f=t.y,h="left",p="top";if(n instanceof Array)u+=uo(n[0],t.width),f+=uo(n[1],t.height),h=null,p=null;else switch(n){case"left":u-=i,f+=s,h="right",p="middle";break;case"right":u+=i+o,f+=s,p="middle";break;case"top":u+=o/2,f-=i,h="center",p="bottom";break;case"bottom":u+=o/2,f+=a+i,h="center";break;case"inside":u+=o/2,f+=s,h="center",p="middle";break;case"insideLeft":u+=i,f+=s,p="middle";break;case"insideRight":u+=o-i,f+=s,h="right",p="middle";break;case"insideTop":u+=o/2,f+=i,h="center";break;case"insideBottom":u+=o/2,f+=a-i,h="center",p="bottom";break;case"insideTopLeft":u+=i,f+=i;break;case"insideTopRight":u+=o-i,f+=i,h="right";break;case"insideBottomLeft":u+=i,f+=a-i,p="bottom";break;case"insideBottomRight":u+=o-i,f+=a-i,h="right",p="bottom";break}return r=r||{},r.x=u,r.y=f,r.align=h,r.verticalAlign=p,r}var KE="__zr_normal__",XE=Jo.concat(["ignore"]),Mle=Zo(Jo,function(r,e){return r[e]=!0,r},{ignore:!1}),Ad={},Ale=new ft(0,0,0,0),kT=function(){function r(e){this.id=g7(),this.animators=[],this.currentStates=[],this.states={},this._init(e)}return r.prototype._init=function(e){this.attr(e)},r.prototype.drift=function(e,t,n){switch(this.draggable){case"horizontal":t=0;break;case"vertical":e=0;break}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=e,i[5]+=t,this.decomposeTransform(),this.markRedraw()},r.prototype.beforeUpdate=function(){},r.prototype.afterUpdate=function(){},r.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},r.prototype.updateInnerText=function(e){var t=this._textContent;if(t&&(!t.ignore||e)){this.textConfig||(this.textConfig={});var n=this.textConfig,i=n.local,a=t.innerTransformable,o=void 0,s=void 0,u=!1;a.parent=i?this:null;var f=!1;if(a.copyTransform(t),n.position!=null){var h=Ale;n.layoutRect?h.copy(n.layoutRect):h.copy(this.getBoundingRect()),i||h.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Ad,n,h):S1(Ad,n,h),a.x=Ad.x,a.y=Ad.y,o=Ad.align,s=Ad.verticalAlign;var p=n.origin;if(p&&n.rotation!=null){var g=void 0,v=void 0;p==="center"?(g=h.width*.5,v=h.height*.5):(g=uo(p[0],h.width),v=uo(p[1],h.height)),f=!0,a.originX=-a.x+g+(i?0:h.x),a.originY=-a.y+v+(i?0:h.y)}}n.rotation!=null&&(a.rotation=n.rotation);var m=n.offset;m&&(a.x+=m[0],a.y+=m[1],f||(a.originX=-m[0],a.originY=-m[1]));var b=n.inside==null?typeof n.position=="string"&&n.position.indexOf("inside")>=0:n.inside,_=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),S=void 0,C=void 0,w=void 0;b&&this.canBeInsideText()?(S=n.insideFill,C=n.insideStroke,(S==null||S==="auto")&&(S=this.getInsideTextFill()),(C==null||C==="auto")&&(C=this.getInsideTextStroke(S),w=!0)):(S=n.outsideFill,C=n.outsideStroke,(S==null||S==="auto")&&(S=this.getOutsideFill()),(C==null||C==="auto")&&(C=this.getOutsideStroke(S),w=!0)),S=S||"#000",(S!==_.fill||C!==_.stroke||w!==_.autoStroke||o!==_.align||s!==_.verticalAlign)&&(u=!0,_.fill=S,_.stroke=C,_.autoStroke=w,_.align=o,_.verticalAlign=s,t.setDefaultTextStyle(_)),t.__dirty|=qo,u&&t.dirtyStyle(!0)}},r.prototype.canBeInsideText=function(){return!0},r.prototype.getInsideTextFill=function(){return"#fff"},r.prototype.getInsideTextStroke=function(e){return"#000"},r.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?HO:VO},r.prototype.getOutsideStroke=function(e){var t=this.__zr&&this.__zr.getBackgroundColor(),n=typeof t=="string"&&ea(t);n||(n=[255,255,255,1]);for(var i=n[3],a=this.__zr.isDarkMode(),o=0;o<3;o++)n[o]=n[o]*i+(a?0:255)*(1-i);return n[3]=1,Ls(n,"rgba")},r.prototype.traverse=function(e,t){},r.prototype.attrKV=function(e,t){e==="textConfig"?this.setTextConfig(t):e==="textContent"?this.setTextContent(t):e==="clipPath"?this.setClipPath(t):e==="extra"?(this.extra=this.extra||{},me(this.extra,t)):this[e]=t},r.prototype.hide=function(){this.ignore=!0,this.markRedraw()},r.prototype.show=function(){this.ignore=!1,this.markRedraw()},r.prototype.attr=function(e,t){if(typeof e=="string")this.attrKV(e,t);else if(Je(e))for(var n=e,i=Tt(n),a=0;a0},r.prototype.getState=function(e){return this.states[e]},r.prototype.ensureState=function(e){var t=this.states;return t[e]||(t[e]={}),t[e]},r.prototype.clearStates=function(e){this.useState(KE,!1,e)},r.prototype.useState=function(e,t,n,i){var a=e===KE,o=this.hasState();if(!(!o&&a)){var s=this.currentStates,u=this.stateTransition;if(!(dt(s,e)>=0&&(t||s.length===1))){var f;if(this.stateProxy&&!a&&(f=this.stateProxy(e)),f||(f=this.states&&this.states[e]),!f&&!a){rN("State "+e+" not exists.");return}a||this.saveCurrentToNormalState(f);var h=!!(f&&f.hoverLayer||i);h&&this._toggleHoverLayerFlag(!0),this._applyStateObj(e,f,this._normalState,t,!n&&!this.__inHover&&u&&u.duration>0,u);var p=this._textContent,g=this._textGuide;return p&&p.useState(e,t,n,h),g&&g.useState(e,t,n,h),a?(this.currentStates=[],this._normalState={}):t?this.currentStates.push(e):this.currentStates=[e],this._updateAnimationTargets(),this.markRedraw(),!h&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2),f}}},r.prototype.useStates=function(e,t,n){if(!e.length)this.clearStates();else{var i=[],a=this.currentStates,o=e.length,s=o===a.length;if(s){for(var u=0;u0,m);var b=this._textContent,_=this._textGuide;b&&b.useStates(e,t,g),_&&_.useStates(e,t,g),this._updateAnimationTargets(),this.currentStates=e.slice(),this.markRedraw(),!g&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2)}},r.prototype.isSilent=function(){for(var e=this.silent,t=this.parent;!e&&t;){if(t.silent){e=!0;break}t=t.parent}return e},r.prototype._updateAnimationTargets=function(){for(var e=0;e=0){var n=this.currentStates.slice();n.splice(t,1),this.useStates(n)}},r.prototype.replaceState=function(e,t,n){var i=this.currentStates.slice(),a=dt(i,e),o=dt(i,t)>=0;a>=0?o?i.splice(a,1):i[a]=t:n&&!o&&i.push(t),this.useStates(i)},r.prototype.toggleState=function(e,t){t?this.useState(e,!0):this.removeState(e)},r.prototype._mergeStates=function(e){for(var t={},n,i=0;i=0&&a.splice(o,1)}),this.animators.push(e),n&&n.animation.addAnimator(e),n&&n.wakeUp()},r.prototype.updateDuringAnimation=function(e){this.markRedraw()},r.prototype.stopAnimation=function(e,t){for(var n=this.animators,i=n.length,a=[],o=0;o0&&t.during&&a[0].during(function(m,b){t.during(b)});for(var g=0;g0||i.force&&!o.length){var O=void 0,R=void 0,$=void 0;if(s){R={},g&&(O={});for(var k=0;k=0&&(i.splice(a,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,n){var i=dt(this._children,t);return i>=0&&this.replaceAt(n,i),this},e.prototype.replaceAt=function(t,n){var i=this._children,a=i[n];if(t&&t!==this&&t.parent!==this&&t!==a){i[n]=t,a.parent=null;var o=this.__zr;o&&a.removeSelfFromZr(o),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var n=this.__zr;n&&n!==t.__zr&&t.addSelfToZr(n),n&&n.refresh()},e.prototype.remove=function(t){var n=this.__zr,i=this._children,a=dt(i,t);return a<0?this:(i.splice(a,1),t.parent=null,n&&t.removeSelfFromZr(n),n&&n.refresh(),this)},e.prototype.removeAll=function(){for(var t=this._children,n=this.__zr,i=0;i0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},r.prototype.setSleepAfterStill=function(e){this._sleepAfterStill=e},r.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},r.prototype.refreshHover=function(){this._needsRefreshHover=!0},r.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.getType()==="canvas"&&this.painter.refreshHover())},r.prototype.resize=function(e){this._disposed||(e=e||{},this.painter.resize(e.width,e.height),this.handler.resize())},r.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},r.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},r.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},r.prototype.setCursorStyle=function(e){this._disposed||this.handler.setCursorStyle(e)},r.prototype.findHover=function(e,t){if(!this._disposed)return this.handler.findHover(e,t)},r.prototype.on=function(e,t,n){return this._disposed||this.handler.on(e,t,n),this},r.prototype.off=function(e,t){this._disposed||this.handler.off(e,t)},r.prototype.trigger=function(e,t){this._disposed||this.handler.trigger(e,t)},r.prototype.clear=function(){if(!this._disposed){for(var e=this.storage.getRoots(),t=0;t0){if(r<=i)return o;if(r>=a)return s}else{if(r>=i)return o;if(r<=a)return s}else{if(r===i)return o;if(r===a)return s}return(r-i)/u*f+o}function Oe(r,e){switch(r){case"center":case"middle":r="50%";break;case"left":case"top":r="0%";break;case"right":case"bottom":r="100%";break}return Be(r)?Vle(r).match(/%$/)?parseFloat(r)/100*e:parseFloat(r):r==null?NaN:+r}function Ir(r,e,t){return e==null&&(e=10),e=Math.min(Math.max(0,e),U7),r=(+r).toFixed(e),t?r:+r}function Ia(r){return r.sort(function(e,t){return e-t}),r}function jo(r){if(r=+r,isNaN(r))return 0;if(r>1e-14){for(var e=1,t=0;t<15;t++,e*=10)if(Math.round(r*e)/e===r)return t}return Hle(r)}function Hle(r){var e=r.toString().toLowerCase(),t=e.indexOf("e"),n=t>0?+e.slice(t+1):0,i=t>0?t:e.length,a=e.indexOf("."),o=a<0?0:i-1-a;return Math.max(0,o-n)}function Y7(r,e){var t=Math.log,n=Math.LN10,i=Math.floor(t(r[1]-r[0])/n),a=Math.round(t(Math.abs(e[1]-e[0]))/n),o=Math.min(Math.max(-i+a,0),20);return isFinite(o)?o:20}function jle(r,e){var t=Zo(r,function(v,m){return v+(isNaN(m)?0:m)},0);if(t===0)return[];for(var n=Math.pow(10,e),i=Ce(r,function(v){return(isNaN(v)?0:v)/t*n*100}),a=n*100,o=Ce(i,function(v){return Math.floor(v)}),s=Zo(o,function(v,m){return v+m},0),u=Ce(i,function(v,m){return v-o[m]});sf&&(f=u[p],h=p);++o[h],u[h]=0,++s}return Ce(o,function(v){return v/n})}function Wle(r,e){var t=Math.max(jo(r),jo(e)),n=r+e;return t>U7?n:Ir(n,t)}var w5=9007199254740991;function q7(r){var e=Math.PI*2;return(r%e+e)%e}function xy(r){return r>-1e-4&&r=10&&e++,e}function K7(r,e){var t=hN(r),n=Math.pow(10,t),i=r/n,a;return i<1.5?a=1:i<2.5?a=2:i<4?a=3:i<7?a=5:a=10,r=a*n,t>=-20?+r.toFixed(t<0?-t:0):r}function JE(r,e){var t=(r.length-1)*e+1,n=Math.floor(t),i=+r[n-1],a=t-n;return a?i+a*(r[n]-i):i}function C5(r){r.sort(function(u,f){return s(u,f,0)?-1:1});for(var e=-1/0,t=1,n=0;n=0||a&&dt(a,u)<0)){var f=n.getShallow(u,e);f!=null&&(o[r[s][0]]=f)}}return o}}var gue=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],mue=Mf(gue),yue=function(){function r(){}return r.prototype.getAreaStyle=function(e,t){return mue(this,e,t)},r}(),GO=new e_(50);function _ue(r){if(typeof r=="string"){var e=GO.get(r);return e&&e.image}else return r}function gN(r,e,t,n,i){if(r)if(typeof r=="string"){if(e&&e.__zrImageSrc===r||!t)return e;var a=GO.get(r),o={hostEl:t,cb:n,cbPayload:i};return a?(e=a.image,!AT(e)&&a.pending.push(o)):(e=cu.loadImage(r,M5,M5),e.__zrImageSrc=r,GO.put(r,e.__cachedImgObj={image:e,pending:[o]})),e}else return r;else return e}function M5(){var r=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e=o;u++)s-=o;var f=ta(t,e);return f>s&&(t="",f=0),s=r-f,i.ellipsis=t,i.ellipsisWidth=f,i.contentWidth=s,i.containerWidth=r,i}function l9(r,e,t){var n=t.containerWidth,i=t.font,a=t.contentWidth;if(!n){r.textLine="",r.isTruncated=!1;return}var o=ta(e,i);if(o<=n){r.textLine=e,r.isTruncated=!1;return}for(var s=0;;s++){if(o<=a||s>=t.maxIterations){e+=t.ellipsis;break}var u=s===0?xue(e,a,t.ascCharWidth,t.cnCharWidth):o>0?Math.floor(e.length*a/o):0;e=e.substr(0,u),o=ta(e,i)}e===""&&(e=t.placeholder),r.textLine=e,r.isTruncated=!0}function xue(r,e,t,n){for(var i=0,a=0,o=r.length;am&&f){var b=Math.floor(m/s);h=h||g.length>b,g=g.slice(0,b)}if(r&&a&&p!=null)for(var _=s9(p,i,e.ellipsis,{minChar:e.truncateMinChar,placeholder:e.placeholder}),S={},C=0;Cs&&tI(t,r.substring(s,f),e,o),tI(t,u[2],e,o,u[1]),s=eI.lastIndex}si){var B=t.lines.length;E>0?(w.tokens=w.tokens.slice(0,E),S(w,M,k),t.lines=t.lines.slice(0,C+1)):t.lines=t.lines.slice(0,C),t.isTruncated=t.isTruncated||t.lines.length0&&m+n.accumWidth>n.width&&(h=e.split(` -`),f=!0),n.accumWidth=m}else{var b=u9(e,u,n.width,n.breakAll,n.accumWidth);n.accumWidth=b.accumWidth+v,p=b.linesWidths,h=b.lines}}else h=e.split(` -`);for(var _=0;_=32&&e<=591||e>=880&&e<=4351||e>=4608&&e<=5119||e>=7680&&e<=8303}var kue=Zo(",&?/;] ".split(""),function(r,e){return r[e]=!0,r},{});function Mue(r){return Due(r)?!!kue[r]:!0}function u9(r,e,t,n,i){for(var a=[],o=[],s="",u="",f=0,h=0,p=0;pt:i+h+v>t){h?(s||u)&&(m?(s||(s=u,u="",f=0,h=f),a.push(s),o.push(h-f),u+=g,f+=v,s="",h=f):(u&&(s+=u,u="",f=0),a.push(s),o.push(h),s=g,h=v)):m?(a.push(u),o.push(f),u=g,f=v):(a.push(g),o.push(v));continue}h+=v,m?(u+=g,f+=v):(u&&(s+=u,u="",f=0),s+=g)}return!a.length&&!s&&(s=r,u="",f=0),u&&(s+=u),s&&(a.push(s),o.push(h)),a.length===1&&(h+=i),{accumWidth:h,lines:a,linesWidths:o}}var UO="__zr_style_"+Math.round(Math.random()*10),pf={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},ET={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};pf[UO]=!0;var E5=["z","z2","invisible"],Aue=["invisible"],Ra=function(r){ae(e,r);function e(t){return r.call(this,t)||this}return e.prototype._init=function(t){for(var n=Tt(t),i=0;i1e-4){s[0]=r-t,s[1]=e-n,u[0]=r+t,u[1]=e+n;return}if(JS[0]=aI(i)*t+r,JS[1]=iI(i)*n+e,ew[0]=aI(a)*t+r,ew[1]=iI(a)*n+e,f(s,JS,ew),h(u,JS,ew),i=i%wc,i<0&&(i=i+wc),a=a%wc,a<0&&(a=a+wc),i>a&&!o?a+=wc:ii&&(tw[0]=aI(v)*t+r,tw[1]=iI(v)*n+e,f(s,tw,s),h(u,tw,u))}var nr={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Cc=[],Tc=[],Eo=[],Tl=[],Io=[],Po=[],oI=Math.min,sI=Math.max,Dc=Math.cos,kc=Math.sin,Ss=Math.abs,YO=Math.PI,Ol=YO*2,lI=typeof Float32Array<"u",tm=[];function uI(r){var e=Math.round(r/YO*1e8)/1e8;return e%2*YO}function mN(r,e){var t=uI(r[0]);t<0&&(t+=Ol);var n=t-r[0],i=r[1];i+=n,!e&&i-t>=Ol?i=t+Ol:e&&t-i>=Ol?i=t-Ol:!e&&t>i?i=t+(Ol-uI(t-i)):e&&t0&&(this._ux=Ss(n/x1/e)||0,this._uy=Ss(n/x1/t)||0)},r.prototype.setDPR=function(e){this.dpr=e},r.prototype.setContext=function(e){this._ctx=e},r.prototype.getContext=function(){return this._ctx},r.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},r.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},r.prototype.moveTo=function(e,t){return this._drawPendingPt(),this.addData(nr.M,e,t),this._ctx&&this._ctx.moveTo(e,t),this._x0=e,this._y0=t,this._xi=e,this._yi=t,this},r.prototype.lineTo=function(e,t){var n=Ss(e-this._xi),i=Ss(t-this._yi),a=n>this._ux||i>this._uy;if(this.addData(nr.L,e,t),this._ctx&&a&&this._ctx.lineTo(e,t),a)this._xi=e,this._yi=t,this._pendingPtDist=0;else{var o=n*n+i*i;o>this._pendingPtDist&&(this._pendingPtX=e,this._pendingPtY=t,this._pendingPtDist=o)}return this},r.prototype.bezierCurveTo=function(e,t,n,i,a,o){return this._drawPendingPt(),this.addData(nr.C,e,t,n,i,a,o),this._ctx&&this._ctx.bezierCurveTo(e,t,n,i,a,o),this._xi=a,this._yi=o,this},r.prototype.quadraticCurveTo=function(e,t,n,i){return this._drawPendingPt(),this.addData(nr.Q,e,t,n,i),this._ctx&&this._ctx.quadraticCurveTo(e,t,n,i),this._xi=n,this._yi=i,this},r.prototype.arc=function(e,t,n,i,a,o){this._drawPendingPt(),tm[0]=i,tm[1]=a,mN(tm,o),i=tm[0],a=tm[1];var s=a-i;return this.addData(nr.A,e,t,n,n,i,s,0,o?0:1),this._ctx&&this._ctx.arc(e,t,n,i,a,o),this._xi=Dc(a)*n+e,this._yi=kc(a)*n+t,this},r.prototype.arcTo=function(e,t,n,i,a){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(e,t,n,i,a),this},r.prototype.rect=function(e,t,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.rect(e,t,n,i),this.addData(nr.R,e,t,n,i),this},r.prototype.closePath=function(){this._drawPendingPt(),this.addData(nr.Z);var e=this._ctx,t=this._x0,n=this._y0;return e&&e.closePath(),this._xi=t,this._yi=n,this},r.prototype.fill=function(e){e&&e.fill(),this.toStatic()},r.prototype.stroke=function(e){e&&e.stroke(),this.toStatic()},r.prototype.len=function(){return this._len},r.prototype.setData=function(e){var t=e.length;!(this.data&&this.data.length===t)&&lI&&(this.data=new Float32Array(t));for(var n=0;nh.length&&(this._expandData(),h=this.data);for(var p=0;p0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},r.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var e=[],t=0;t11&&(this.data=new Float32Array(e)))}},r.prototype.getBoundingRect=function(){Eo[0]=Eo[1]=Io[0]=Io[1]=Number.MAX_VALUE,Tl[0]=Tl[1]=Po[0]=Po[1]=-Number.MAX_VALUE;var e=this.data,t=0,n=0,i=0,a=0,o;for(o=0;on||Ss(w)>i||g===t-1)&&(b=Math.sqrt(C*C+w*w),a=_,o=S);break}case nr.C:{var k=e[g++],M=e[g++],_=e[g++],S=e[g++],E=e[g++],I=e[g++];b=Xse(a,o,k,M,_,S,E,I,10),a=E,o=I;break}case nr.Q:{var k=e[g++],M=e[g++],_=e[g++],S=e[g++];b=Qse(a,o,k,M,_,S,10),a=_,o=S;break}case nr.A:var O=e[g++],R=e[g++],$=e[g++],V=e[g++],z=e[g++],B=e[g++],j=B+z;g+=1,m&&(s=Dc(z)*$+O,u=kc(z)*V+R),b=sI($,V)*oI(Ol,Math.abs(B)),a=Dc(j)*$+O,o=kc(j)*V+R;break;case nr.R:{s=a=e[g++],u=o=e[g++];var U=e[g++],X=e[g++];b=U*2+X*2;break}case nr.Z:{var C=s-a,w=u-o;b=Math.sqrt(C*C+w*w),a=s,o=u;break}}b>=0&&(f[p++]=b,h+=b)}return this._pathLen=h,h},r.prototype.rebuildPath=function(e,t){var n=this.data,i=this._ux,a=this._uy,o=this._len,s,u,f,h,p,g,v=t<1,m,b,_=0,S=0,C,w=0,k,M;if(!(v&&(this._pathSegLen||this._calculateLength(),m=this._pathSegLen,b=this._pathLen,C=t*b,!C)))e:for(var E=0;E0&&(e.lineTo(k,M),w=0),I){case nr.M:s=f=n[E++],u=h=n[E++],e.moveTo(f,h);break;case nr.L:{p=n[E++],g=n[E++];var R=Ss(p-f),$=Ss(g-h);if(R>i||$>a){if(v){var V=m[S++];if(_+V>C){var z=(C-_)/V;e.lineTo(f*(1-z)+p*z,h*(1-z)+g*z);break e}_+=V}e.lineTo(p,g),f=p,h=g,w=0}else{var B=R*R+$*$;B>w&&(k=p,M=g,w=B)}break}case nr.C:{var j=n[E++],U=n[E++],X=n[E++],ee=n[E++],Z=n[E++],re=n[E++];if(v){var V=m[S++];if(_+V>C){var z=(C-_)/V;fu(f,j,X,Z,z,Cc),fu(h,U,ee,re,z,Tc),e.bezierCurveTo(Cc[1],Tc[1],Cc[2],Tc[2],Cc[3],Tc[3]);break e}_+=V}e.bezierCurveTo(j,U,X,ee,Z,re),f=Z,h=re;break}case nr.Q:{var j=n[E++],U=n[E++],X=n[E++],ee=n[E++];if(v){var V=m[S++];if(_+V>C){var z=(C-_)/V;yy(f,j,X,z,Cc),yy(h,U,ee,z,Tc),e.quadraticCurveTo(Cc[1],Tc[1],Cc[2],Tc[2]);break e}_+=V}e.quadraticCurveTo(j,U,X,ee),f=X,h=ee;break}case nr.A:var de=n[E++],ve=n[E++],_e=n[E++],Re=n[E++],Le=n[E++],je=n[E++],Q=n[E++],he=!n[E++],ie=_e>Re?_e:Re,oe=Ss(_e-Re)>.001,Fe=Le+je,Ne=!1;if(v){var V=m[S++];_+V>C&&(Fe=Le+je*(C-_)/V,Ne=!0),_+=V}if(oe&&e.ellipse?e.ellipse(de,ve,_e,Re,Q,Le,Fe,he):e.arc(de,ve,ie,Le,Fe,he),Ne)break e;O&&(s=Dc(Le)*_e+de,u=kc(Le)*Re+ve),f=Dc(Fe)*_e+de,h=kc(Fe)*Re+ve;break;case nr.R:s=f=n[E],u=h=n[E+1],p=n[E++],g=n[E++];var We=n[E++],St=n[E++];if(v){var V=m[S++];if(_+V>C){var ut=C-_;e.moveTo(p,g),e.lineTo(p+oI(ut,We),g),ut-=We,ut>0&&e.lineTo(p+We,g+oI(ut,St)),ut-=St,ut>0&&e.lineTo(p+sI(We-ut,0),g+St),ut-=We,ut>0&&e.lineTo(p,g+sI(St-ut,0));break e}_+=V}e.rect(p,g,We,St);break;case nr.Z:if(v){var V=m[S++];if(_+V>C){var z=(C-_)/V;e.lineTo(f*(1-z)+s*z,h*(1-z)+u*z);break e}_+=V}e.closePath(),f=s,h=u}}},r.prototype.clone=function(){var e=new r,t=this.data;return e.data=t.slice?t.slice():Array.prototype.slice.call(t),e._len=this._len,e},r.CMD=nr,r.initDefaultProps=function(){var e=r.prototype;e._saveData=!0,e._ux=0,e._uy=0,e._pendingPtDist=0,e._version=0}(),r}();function Nl(r,e,t,n,i,a,o){if(i===0)return!1;var s=i,u=0,f=r;if(o>e+s&&o>n+s||or+s&&a>t+s||ae+p&&h>n+p&&h>a+p&&h>s+p||hr+p&&f>t+p&&f>i+p&&f>o+p||fe+f&&u>n+f&&u>a+f||ur+f&&s>t+f&&s>i+f||st||h+fi&&(i+=rm);var g=Math.atan2(u,s);return g<0&&(g+=rm),g>=n&&g<=i||g+rm>=n&&g+rm<=i}function Ds(r,e,t,n,i,a){if(a>e&&a>n||ai?s:0}var Dl=ts.CMD,Mc=Math.PI*2,Nue=1e-4;function Fue(r,e){return Math.abs(r-e)e&&f>n&&f>a&&f>s||f1&&$ue(),v=ln(e,n,a,s,Ta[0]),g>1&&(m=ln(e,n,a,s,Ta[1]))),g===2?_e&&s>n&&s>a||s=0&&f<=1){for(var h=0,p=vn(e,n,a,f),g=0;gt||s<-t)return 0;var u=Math.sqrt(t*t-s*s);si[0]=-u,si[1]=u;var f=Math.abs(n-i);if(f<1e-4)return 0;if(f>=Mc-1e-4){n=0,i=Mc;var h=a?1:-1;return o>=si[0]+r&&o<=si[1]+r?h:0}if(n>i){var p=n;n=i,i=p}n<0&&(n+=Mc,i+=Mc);for(var g=0,v=0;v<2;v++){var m=si[v];if(m+r>o){var b=Math.atan2(s,m),h=a?1:-1;b<0&&(b=Mc+b),(b>=n&&b<=i||b+Mc>=n&&b+Mc<=i)&&(b>Math.PI/2&&b1&&(t||(s+=Ds(u,f,h,p,n,i))),_&&(u=a[m],f=a[m+1],h=u,p=f),b){case Dl.M:h=a[m++],p=a[m++],u=h,f=p;break;case Dl.L:if(t){if(Nl(u,f,a[m],a[m+1],e,n,i))return!0}else s+=Ds(u,f,a[m],a[m+1],n,i)||0;u=a[m++],f=a[m++];break;case Dl.C:if(t){if(Oue(u,f,a[m++],a[m++],a[m++],a[m++],a[m],a[m+1],e,n,i))return!0}else s+=Bue(u,f,a[m++],a[m++],a[m++],a[m++],a[m],a[m+1],n,i)||0;u=a[m++],f=a[m++];break;case Dl.Q:if(t){if(c9(u,f,a[m++],a[m++],a[m],a[m+1],e,n,i))return!0}else s+=zue(u,f,a[m++],a[m++],a[m],a[m+1],n,i)||0;u=a[m++],f=a[m++];break;case Dl.A:var S=a[m++],C=a[m++],w=a[m++],k=a[m++],M=a[m++],E=a[m++];m+=1;var I=!!(1-a[m++]);g=Math.cos(M)*w+S,v=Math.sin(M)*k+C,_?(h=g,p=v):s+=Ds(u,f,g,v,n,i);var O=(n-S)*k/w+S;if(t){if(Rue(S,C,k,M,M+E,I,e,O,i))return!0}else s+=Vue(S,C,k,M,M+E,I,O,i);u=Math.cos(M+E)*w+S,f=Math.sin(M+E)*k+C;break;case Dl.R:h=u=a[m++],p=f=a[m++];var R=a[m++],$=a[m++];if(g=h+R,v=p+$,t){if(Nl(h,p,g,p,e,n,i)||Nl(g,p,g,v,e,n,i)||Nl(g,v,h,v,e,n,i)||Nl(h,v,h,p,e,n,i))return!0}else s+=Ds(g,p,g,v,n,i),s+=Ds(h,v,h,p,n,i);break;case Dl.Z:if(t){if(Nl(u,f,h,p,e,n,i))return!0}else s+=Ds(u,f,h,p,n,i);u=h,f=p;break}}return!t&&!Fue(f,p)&&(s+=Ds(u,f,h,p,n,i)||0),s!==0}function Hue(r,e,t){return f9(r,0,!1,e,t)}function jue(r,e,t,n){return f9(r,e,!0,t,n)}var w1=Qe({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},pf),Wue={style:Qe({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},ET.style)},cI=Jo.concat(["invisible","culling","z","z2","zlevel","parent"]),gt=function(r){ae(e,r);function e(t){return r.call(this,t)||this}return e.prototype.update=function(){var t=this;r.prototype.update.call(this);var n=this.style;if(n.decal){var i=this._decalEl=this._decalEl||new e;i.buildPath===e.prototype.buildPath&&(i.buildPath=function(u){t.buildPath(u,t.shape)}),i.silent=!0;var a=i.style;for(var o in n)a[o]!==n[o]&&(a[o]=n[o]);a.fill=n.fill?n.decal:null,a.decal=null,a.shadowColor=null,n.strokeFirst&&(a.stroke=null);for(var s=0;s.5?VO:n>.2?Dle:HO}else if(t)return HO}return VO},e.prototype.getInsideTextStroke=function(t){var n=this.style.fill;if(Be(n)){var i=this.__zr,a=!!(i&&i.isDarkMode()),o=_1(t,0)0))},e.prototype.hasFill=function(){var t=this.style,n=t.fill;return n!=null&&n!=="none"},e.prototype.getBoundingRect=function(){var t=this._rect,n=this.style,i=!t;if(i){var a=!1;this.path||(a=!0,this.createPathProxy());var o=this.path;(a||this.__dirty&Im)&&(o.beginPath(),this.buildPath(o,this.shape,!1),this.pathUpdated()),t=o.getBoundingRect()}if(this._rect=t,this.hasStroke()&&this.path&&this.path.len()>0){var s=this._rectStroke||(this._rectStroke=t.clone());if(this.__dirty||i){s.copy(t);var u=n.strokeNoScale?this.getLineScale():1,f=n.lineWidth;if(!this.hasFill()){var h=this.strokeContainThreshold;f=Math.max(f,h??4)}u>1e-10&&(s.width+=f/u,s.height+=f/u,s.x-=f/u/2,s.y-=f/u/2)}return s}return t},e.prototype.contain=function(t,n){var i=this.transformCoordToLocal(t,n),a=this.getBoundingRect(),o=this.style;if(t=i[0],n=i[1],a.contain(t,n)){var s=this.path;if(this.hasStroke()){var u=o.lineWidth,f=o.strokeNoScale?this.getLineScale():1;if(f>1e-10&&(this.hasFill()||(u=Math.max(u,this.strokeContainThreshold)),jue(s,u/f,t,n)))return!0}if(this.hasFill())return Hue(s,t,n)}return!1},e.prototype.dirtyShape=function(){this.__dirty|=Im,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},e.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},e.prototype.animateShape=function(t){return this.animate("shape",t)},e.prototype.updateDuringAnimation=function(t){t==="style"?this.dirtyStyle():t==="shape"?this.dirtyShape():this.markRedraw()},e.prototype.attrKV=function(t,n){t==="shape"?this.setShape(n):r.prototype.attrKV.call(this,t,n)},e.prototype.setShape=function(t,n){var i=this.shape;return i||(i=this.shape={}),typeof t=="string"?i[t]=n:me(i,t),this.dirtyShape(),this},e.prototype.shapeChanged=function(){return!!(this.__dirty&Im)},e.prototype.createStyle=function(t){return wT(w1,t)},e.prototype._innerSaveToNormal=function(t){r.prototype._innerSaveToNormal.call(this,t);var n=this._normalState;t.shape&&!n.shape&&(n.shape=me({},this.shape))},e.prototype._applyStateObj=function(t,n,i,a,o,s){r.prototype._applyStateObj.call(this,t,n,i,a,o,s);var u=!(n&&a),f;if(n&&n.shape?o?a?f=n.shape:(f=me({},i.shape),me(f,n.shape)):(f=me({},a?this.shape:i.shape),me(f,n.shape)):u&&(f=i.shape),f)if(o){this.shape=me({},this.shape);for(var h={},p=Tt(f),g=0;g0},e.prototype.hasFill=function(){var t=this.style,n=t.fill;return n!=null&&n!=="none"},e.prototype.createStyle=function(t){return wT(Gue,t)},e.prototype.setBoundingRect=function(t){this._rect=t},e.prototype.getBoundingRect=function(){var t=this.style;if(!this._rect){var n=t.text;n!=null?n+="":n="";var i=t_(n,t.font,t.textAlign,t.textBaseline);if(i.x+=t.x||0,i.y+=t.y||0,this.hasStroke()){var a=t.lineWidth;i.x-=a/2,i.y-=a/2,i.width+=a,i.height+=a}this._rect=i}return this._rect},e.initDefaultProps=function(){var t=e.prototype;t.dirtyRectTolerance=10}(),e}(Ra);yp.prototype.type="tspan";var Uue=Qe({x:0,y:0},pf),Yue={style:Qe({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},ET.style)};function que(r){return!!(r&&typeof r!="string"&&r.width&&r.height)}var yn=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.createStyle=function(t){return wT(Uue,t)},e.prototype._getSize=function(t){var n=this.style,i=n[t];if(i!=null)return i;var a=que(n.image)?n.image:this.__image;if(!a)return 0;var o=t==="width"?"height":"width",s=n[o];return s==null?a[t]:a[t]/a[o]*s},e.prototype.getWidth=function(){return this._getSize("width")},e.prototype.getHeight=function(){return this._getSize("height")},e.prototype.getAnimationStyleProps=function(){return Yue},e.prototype.getBoundingRect=function(){var t=this.style;return this._rect||(this._rect=new ft(t.x||0,t.y||0,this.getWidth(),this.getHeight())),this._rect},e}(Ra);yn.prototype.type="image";function Kue(r,e){var t=e.x,n=e.y,i=e.width,a=e.height,o=e.r,s,u,f,h;i<0&&(t=t+i,i=-i),a<0&&(n=n+a,a=-a),typeof o=="number"?s=u=f=h=o:o instanceof Array?o.length===1?s=u=f=h=o[0]:o.length===2?(s=f=o[0],u=h=o[1]):o.length===3?(s=o[0],u=h=o[1],f=o[2]):(s=o[0],u=o[1],f=o[2],h=o[3]):s=u=f=h=0;var p;s+u>i&&(p=s+u,s*=i/p,u*=i/p),f+h>i&&(p=f+h,f*=i/p,h*=i/p),u+f>a&&(p=u+f,u*=a/p,f*=a/p),s+h>a&&(p=s+h,s*=a/p,h*=a/p),r.moveTo(t+s,n),r.lineTo(t+i-u,n),u!==0&&r.arc(t+i-u,n+u,u,-Math.PI/2,0),r.lineTo(t+i,n+a-f),f!==0&&r.arc(t+i-f,n+a-f,f,0,Math.PI/2),r.lineTo(t+h,n+a),h!==0&&r.arc(t+h,n+a-h,h,Math.PI/2,Math.PI),r.lineTo(t,n+s),s!==0&&r.arc(t+s,n+s,s,Math.PI,Math.PI*1.5)}var ap=Math.round;function h9(r,e,t){if(e){var n=e.x1,i=e.x2,a=e.y1,o=e.y2;r.x1=n,r.x2=i,r.y1=a,r.y2=o;var s=t&&t.lineWidth;return s&&(ap(n*2)===ap(i*2)&&(r.x1=r.x2=Jc(n,s,!0)),ap(a*2)===ap(o*2)&&(r.y1=r.y2=Jc(a,s,!0))),r}}function d9(r,e,t){if(e){var n=e.x,i=e.y,a=e.width,o=e.height;r.x=n,r.y=i,r.width=a,r.height=o;var s=t&&t.lineWidth;return s&&(r.x=Jc(n,s,!0),r.y=Jc(i,s,!0),r.width=Math.max(Jc(n+a,s,!1)-r.x,a===0?0:1),r.height=Math.max(Jc(i+o,s,!1)-r.y,o===0?0:1)),r}}function Jc(r,e,t){if(!e)return r;var n=ap(r*2);return(n+ap(e))%2===0?n/2:(n+(t?1:-1))/2}var Xue=function(){function r(){this.x=0,this.y=0,this.width=0,this.height=0}return r}(),Zue={},Pt=function(r){ae(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new Xue},e.prototype.buildPath=function(t,n){var i,a,o,s;if(this.subPixelOptimize){var u=d9(Zue,n,this.style);i=u.x,a=u.y,o=u.width,s=u.height,u.r=n.r,n=u}else i=n.x,a=n.y,o=n.width,s=n.height;n.r?Kue(t,n):t.rect(i,a,o,s)},e.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},e}(gt);Pt.prototype.type="rect";var R5={fill:"#000"},N5=2,Que={style:Qe({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},ET.style)},Rt=function(r){ae(e,r);function e(t){var n=r.call(this)||this;return n.type="text",n._children=[],n._defaultStyle=R5,n.attr(t),n}return e.prototype.childrenRef=function(){return this._children},e.prototype.update=function(){r.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var t=0;t0,z=t.width!=null&&(t.overflow==="truncate"||t.overflow==="break"||t.overflow==="breakAll"),B=o.calculatedLineHeight,j=0;j=0&&(j=E[B],j.align==="right");)this._placeToken(j,t,O,S,z,"right",w),R-=j.width,z-=j.width,B--;for(V+=(a-(V-_)-(C-z)-R)/2;$<=B;)j=E[$],this._placeToken(j,t,O,S,V+j.width/2,"center",w),V+=j.width,$++;S+=O}},e.prototype._placeToken=function(t,n,i,a,o,s,u){var f=n.rich[t.styleName]||{};f.text=t.text;var h=t.verticalAlign,p=a+i/2;h==="top"?p=a+t.height/2:h==="bottom"&&(p=a+i-t.height/2);var g=!t.isLineHolder&&fI(f);g&&this._renderBackground(f,n,s==="right"?o-t.width:s==="center"?o-t.width/2:o,p-t.height/2,t.width,t.height);var v=!!f.backgroundColor,m=t.textPadding;m&&(o=H5(o,s,m),p-=t.height/2-m[0]-t.innerHeight/2);var b=this._getOrCreateChild(yp),_=b.createStyle();b.useStyle(_);var S=this._defaultStyle,C=!1,w=0,k=V5("fill"in f?f.fill:"fill"in n?n.fill:(C=!0,S.fill)),M=z5("stroke"in f?f.stroke:"stroke"in n?n.stroke:!v&&!u&&(!S.autoStroke||C)?(w=N5,S.stroke):null),E=f.textShadowBlur>0||n.textShadowBlur>0;_.text=t.text,_.x=o,_.y=p,E&&(_.shadowBlur=f.textShadowBlur||n.textShadowBlur||0,_.shadowColor=f.textShadowColor||n.textShadowColor||"transparent",_.shadowOffsetX=f.textShadowOffsetX||n.textShadowOffsetX||0,_.shadowOffsetY=f.textShadowOffsetY||n.textShadowOffsetY||0),_.textAlign=s,_.textBaseline="middle",_.font=t.font||uu,_.opacity=Yo(f.opacity,n.opacity,1),$5(_,f),M&&(_.lineWidth=Yo(f.lineWidth,n.lineWidth,w),_.lineDash=it(f.lineDash,n.lineDash),_.lineDashOffset=n.lineDashOffset||0,_.stroke=M),k&&(_.fill=k);var I=t.contentWidth,O=t.contentHeight;b.setBoundingRect(new ft(Lm(_.x,I,_.textAlign),Zd(_.y,O,_.textBaseline),I,O))},e.prototype._renderBackground=function(t,n,i,a,o,s){var u=t.backgroundColor,f=t.borderWidth,h=t.borderColor,p=u&&u.image,g=u&&!p,v=t.borderRadius,m=this,b,_;if(g||t.lineHeight||f&&h){b=this._getOrCreateChild(Pt),b.useStyle(b.createStyle()),b.style.fill=null;var S=b.shape;S.x=i,S.y=a,S.width=o,S.height=s,S.r=v,b.dirtyShape()}if(g){var C=b.style;C.fill=u||null,C.fillOpacity=it(t.fillOpacity,1)}else if(p){_=this._getOrCreateChild(yn),_.onload=function(){m.dirtyStyle()};var w=_.style;w.image=u.image,w.x=i,w.y=a,w.width=o,w.height=s}if(f&&h){var C=b.style;C.lineWidth=f,C.stroke=h,C.strokeOpacity=it(t.strokeOpacity,1),C.lineDash=t.borderDash,C.lineDashOffset=t.borderDashOffset||0,b.strokeContainThreshold=0,b.hasFill()&&b.hasStroke()&&(C.strokeFirst=!0,C.lineWidth*=2)}var k=(b||_).style;k.shadowBlur=t.shadowBlur||0,k.shadowColor=t.shadowColor||"transparent",k.shadowOffsetX=t.shadowOffsetX||0,k.shadowOffsetY=t.shadowOffsetY||0,k.opacity=Yo(t.opacity,n.opacity,1)},e.makeFont=function(t){var n="";return v9(t)&&(n=[t.fontStyle,t.fontWeight,p9(t.fontSize),t.fontFamily||"sans-serif"].join(" ")),n&&no(n)||t.textFont||t.font},e}(Ra),Jue={left:!0,right:1,center:1},ece={top:1,bottom:1,middle:1},F5=["fontStyle","fontWeight","fontSize","fontFamily"];function p9(r){return typeof r=="string"&&(r.indexOf("px")!==-1||r.indexOf("rem")!==-1||r.indexOf("em")!==-1)?r:isNaN(+r)?JR+"px":r+"px"}function $5(r,e){for(var t=0;t=0,a=!1;if(r instanceof gt){var o=g9(r),s=i&&o.selectFill||o.normalFill,u=i&&o.selectStroke||o.normalStroke;if(Ed(s)||Ed(u)){n=n||{};var f=n.style||{};f.fill==="inherit"?(a=!0,n=me({},n),f=me({},f),f.fill=s):!Ed(f.fill)&&Ed(s)?(a=!0,n=me({},n),f=me({},f),f.fill=LO(s)):!Ed(f.stroke)&&Ed(u)&&(a||(n=me({},n),f=me({},f)),f.stroke=LO(u)),n.style=f}}if(n&&n.z2==null){a||(n=me({},n));var h=r.z2EmphasisLift;n.z2=r.z2+(h??$p)}return n}function sce(r,e,t){if(t&&t.z2==null){t=me({},t);var n=r.z2SelectLift;t.z2=r.z2+(n??rce)}return t}function lce(r,e,t){var n=dt(r.currentStates,e)>=0,i=r.style.opacity,a=n?null:ace(r,["opacity"],e,{opacity:1});t=t||{};var o=t.style||{};return o.opacity==null&&(t=me({},t),o=me({opacity:n?i:a.opacity*.1},o),t.style=o),t}function hI(r,e){var t=this.states[r];if(this.style){if(r==="emphasis")return oce(this,r,e,t);if(r==="blur")return lce(this,r,t);if(r==="select")return sce(this,r,t)}return t}function Af(r){r.stateProxy=hI;var e=r.getTextContent(),t=r.getTextGuideLine();e&&(e.stateProxy=hI),t&&(t.stateProxy=hI)}function Y5(r,e){!w9(r,e)&&!r.__highByOuter&&Ys(r,m9)}function q5(r,e){!w9(r,e)&&!r.__highByOuter&&Ys(r,y9)}function zs(r,e){r.__highByOuter|=1<<(e||0),Ys(r,m9)}function Vs(r,e){!(r.__highByOuter&=~(1<<(e||0)))&&Ys(r,y9)}function b9(r){Ys(r,bN)}function xN(r){Ys(r,_9)}function x9(r){Ys(r,nce)}function S9(r){Ys(r,ice)}function w9(r,e){return r.__highDownSilentOnTouch&&e.zrByTouch}function C9(r){var e=r.getModel(),t=[],n=[];e.eachComponent(function(i,a){var o=yN(a),s=i==="series",u=s?r.getViewOfSeriesModel(a):r.getViewOfComponentModel(a);!s&&n.push(u),o.isBlured&&(u.group.traverse(function(f){_9(f)}),s&&t.push(a)),o.isBlured=!1}),H(n,function(i){i&&i.toggleBlurSeries&&i.toggleBlurSeries(t,!1,e)})}function KO(r,e,t,n){var i=n.getModel();t=t||"coordinateSystem";function a(f,h){for(var p=0;p0){var s={dataIndex:o,seriesIndex:t.seriesIndex};a!=null&&(s.dataType=a),e.push(s)}})}),e}function gf(r,e,t){ef(r,!0),Ys(r,Af),ZO(r,e,t)}function pce(r){ef(r,!1)}function xr(r,e,t,n){n?pce(r):gf(r,e,t)}function ZO(r,e,t){var n=nt(r);e!=null?(n.focus=e,n.blurScope=t):n.focus&&(n.focus=null)}var X5=["emphasis","blur","select"],vce={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function Mn(r,e,t,n){t=t||"itemStyle";for(var i=0;i1&&(o*=dI(m),s*=dI(m));var b=(i===a?-1:1)*dI((o*o*(s*s)-o*o*(v*v)-s*s*(g*g))/(o*o*(v*v)+s*s*(g*g)))||0,_=b*o*v/s,S=b*-s*g/o,C=(r+t)/2+nw(p)*_-rw(p)*S,w=(e+n)/2+rw(p)*_+nw(p)*S,k=e3([1,0],[(g-_)/o,(v-S)/s]),M=[(g-_)/o,(v-S)/s],E=[(-1*g-_)/o,(-1*v-S)/s],I=e3(M,E);if(JO(M,E)<=-1&&(I=nm),JO(M,E)>=1&&(I=0),I<0){var O=Math.round(I/nm*1e6)/1e6;I=nm*2+O%2*nm}h.addData(f,C,w,o,s,k,I,p,a)}var xce=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,Sce=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function wce(r){var e=new ts;if(!r)return e;var t=0,n=0,i=t,a=n,o,s=ts.CMD,u=r.match(xce);if(!u)return e;for(var f=0;fj*j+U*U&&(O=$,R=V),{cx:O,cy:R,x0:-h,y0:-p,x1:O*(i/M-1),y1:R*(i/M-1)}}function Ece(r){var e;if(we(r)){var t=r.length;if(!t)return r;t===1?e=[r[0],r[0],0,0]:t===2?e=[r[0],r[0],r[1],r[1]]:t===3?e=r.concat(r[2]):e=r}else e=[r,r,r,r];return e}function Ice(r,e){var t,n=Om(e.r,0),i=Om(e.r0||0,0),a=n>0,o=i>0;if(!(!a&&!o)){if(a||(n=i,i=0),i>n){var s=n;n=i,i=s}var u=e.startAngle,f=e.endAngle;if(!(isNaN(u)||isNaN(f))){var h=e.cx,p=e.cy,g=!!e.clockwise,v=r3(f-u),m=v>pI&&v%pI;if(m>Qa&&(v=m),!(n>Qa))r.moveTo(h,p);else if(v>pI-Qa)r.moveTo(h+n*Pd(u),p+n*Ac(u)),r.arc(h,p,n,u,f,!g),i>Qa&&(r.moveTo(h+i*Pd(f),p+i*Ac(f)),r.arc(h,p,i,f,u,g));else{var b=void 0,_=void 0,S=void 0,C=void 0,w=void 0,k=void 0,M=void 0,E=void 0,I=void 0,O=void 0,R=void 0,$=void 0,V=void 0,z=void 0,B=void 0,j=void 0,U=n*Pd(u),X=n*Ac(u),ee=i*Pd(f),Z=i*Ac(f),re=v>Qa;if(re){var de=e.cornerRadius;de&&(t=Ece(de),b=t[0],_=t[1],S=t[2],C=t[3]);var ve=r3(n-i)/2;if(w=Lo(ve,S),k=Lo(ve,C),M=Lo(ve,b),E=Lo(ve,_),R=I=Om(w,k),$=O=Om(M,E),(I>Qa||O>Qa)&&(V=n*Pd(f),z=n*Ac(f),B=i*Pd(u),j=i*Ac(u),vQa){var oe=Lo(S,R),Fe=Lo(C,R),Ne=iw(B,j,U,X,n,oe,g),We=iw(V,z,ee,Z,n,Fe,g);r.moveTo(h+Ne.cx+Ne.x0,p+Ne.cy+Ne.y0),R0&&r.arc(h+Ne.cx,p+Ne.cy,oe,Rn(Ne.y0,Ne.x0),Rn(Ne.y1,Ne.x1),!g),r.arc(h,p,n,Rn(Ne.cy+Ne.y1,Ne.cx+Ne.x1),Rn(We.cy+We.y1,We.cx+We.x1),!g),Fe>0&&r.arc(h+We.cx,p+We.cy,Fe,Rn(We.y1,We.x1),Rn(We.y0,We.x0),!g))}else r.moveTo(h+U,p+X),r.arc(h,p,n,u,f,!g);if(!(i>Qa)||!re)r.lineTo(h+ee,p+Z);else if($>Qa){var oe=Lo(b,$),Fe=Lo(_,$),Ne=iw(ee,Z,V,z,i,-Fe,g),We=iw(U,X,B,j,i,-oe,g);r.lineTo(h+Ne.cx+Ne.x0,p+Ne.cy+Ne.y0),$0&&r.arc(h+Ne.cx,p+Ne.cy,Fe,Rn(Ne.y0,Ne.x0),Rn(Ne.y1,Ne.x1),!g),r.arc(h,p,i,Rn(Ne.cy+Ne.y1,Ne.cx+Ne.x1),Rn(We.cy+We.y1,We.cx+We.x1),g),oe>0&&r.arc(h+We.cx,p+We.cy,oe,Rn(We.y1,We.x1),Rn(We.y0,We.x0),!g))}else r.lineTo(h+ee,p+Z),r.arc(h,p,i,f,u,g)}r.closePath()}}}var Pce=function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0,this.cornerRadius=0}return r}(),gi=function(r){ae(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new Pce},e.prototype.buildPath=function(t,n){Ice(t,n)},e.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},e}(gt);gi.prototype.type="sector";var Lce=function(){function r(){this.cx=0,this.cy=0,this.r=0,this.r0=0}return r}(),i_=function(r){ae(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new Lce},e.prototype.buildPath=function(t,n){var i=n.cx,a=n.cy,o=Math.PI*2;t.moveTo(i+n.r,a),t.arc(i,a,n.r,0,o,!1),t.moveTo(i+n.r0,a),t.arc(i,a,n.r0,0,o,!0)},e}(gt);i_.prototype.type="ring";function Oce(r,e,t,n){var i=[],a=[],o=[],s=[],u,f,h,p;if(n){h=[1/0,1/0],p=[-1/0,-1/0];for(var g=0,v=r.length;g=2){if(n){var a=Oce(i,n,t,e.smoothConstraint);r.moveTo(i[0][0],i[0][1]);for(var o=i.length,s=0;s<(t?o:o-1);s++){var u=a[s*2],f=a[s*2+1],h=i[(s+1)%o];r.bezierCurveTo(u[0],u[1],f[0],f[1],h[0],h[1])}}else{r.moveTo(i[0][0],i[0][1]);for(var s=1,p=i.length;sIc[1]){if(s=!1,a)return s;var h=Math.abs(Ic[0]-Ec[1]),p=Math.abs(Ec[0]-Ic[1]);Math.min(h,p)>i.len()&&(h0){var p=h.duration,g=h.delay,v=h.easing,m={duration:p,delay:g||0,easing:v,done:a,force:!!a||!!o,setToFinal:!f,scope:r,during:o};s?e.animateFrom(t,m):e.animateTo(t,m)}else e.stopAnimation(),!s&&e.attr(t),o&&o(1),a&&a()}function Bt(r,e,t,n,i,a){TN("update",r,e,t,n,i,a)}function pr(r,e,t,n,i,a){TN("enter",r,e,t,n,i,a)}function cp(r){if(!r.__zr)return!0;for(var e=0;eMath.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function a3(r){return!r.isGroup}function qce(r){return r.shape!=null}function s_(r,e,t){if(!r||!e)return;function n(o){var s={};return o.traverse(function(u){a3(u)&&u.anid&&(s[u.anid]=u)}),s}function i(o){var s={x:o.x,y:o.y,rotation:o.rotation};return qce(o)&&(s.shape=me({},o.shape)),s}var a=n(r);e.traverse(function(o){if(a3(o)&&o.anid){var s=a[o.anid];if(s){var u=i(o);o.attr(i(s)),Bt(o,u,t,nt(o).dataIndex)}}})}function $9(r,e){return Ce(r,function(t){var n=t[0];n=D1(n,e.x),n=k1(n,e.x+e.width);var i=t[1];return i=D1(i,e.y),i=k1(i,e.y+e.height),[n,i]})}function Kce(r,e){var t=D1(r.x,e.x),n=k1(r.x+r.width,e.x+e.width),i=D1(r.y,e.y),a=k1(r.y+r.height,e.y+e.height);if(n>=t&&a>=i)return{x:t,y:i,width:n-t,height:a-i}}function l_(r,e,t){var n=me({rectHover:!0},e),i=n.style={strokeNoScale:!0};if(t=t||{x:-1,y:-1,width:2,height:2},r)return r.indexOf("image://")===0?(i.image=r.slice(8),Qe(i,t),new yn(n)):NT(r.replace("path://",""),n,t,"center")}function Rm(r,e,t,n,i){for(var a=0,o=i[i.length-1];a1)return!1;var _=vI(v,m,h,p)/g;return!(_<0||_>1)}function vI(r,e,t,n){return r*n-t*e}function Xce(r){return r<=1e-6&&r>=-1e-6}function zf(r){var e=r.itemTooltipOption,t=r.componentModel,n=r.itemName,i=Be(e)?{formatter:e}:e,a=t.mainType,o=t.componentIndex,s={componentType:a,name:n,$vars:["name"]};s[a+"Index"]=o;var u=r.formatterParamsExtra;u&&H(Tt(u),function(h){He(s,h)||(s[h]=u[h],s.$vars.push(h))});var f=nt(r.el);f.componentMainType=a,f.componentIndex=o,f.tooltipConfig={name:n,option:Qe({content:n,encodeHTMLContent:!0,formatterParams:s},i)}}function o3(r,e){var t;r.isGroup&&(t=e(r)),t||r.traverse(e)}function bu(r,e){if(r)if(we(r))for(var t=0;t=0&&s.push(u)}),s}}function xu(r,e){return ot(ot({},r,!0),e,!0)}const lfe={time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst",custom:"Custom chart",chart:"Chart"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}},ufe={time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图",custom:"自定义图表",chart:"图表"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}};var A1="ZH",MN="EN",fp=MN,NC={},AN={},G9=yt.domSupported?function(){var r=(document.documentElement.lang||navigator.language||navigator.browserLanguage||fp).toUpperCase();return r.indexOf(A1)>-1?A1:fp}():fp;function U9(r,e){r=r.toUpperCase(),AN[r]=new qt(e),NC[r]=e}function cfe(r){if(Be(r)){var e=NC[r.toUpperCase()]||{};return r===A1||r===MN?et(e):ot(et(e),et(NC[fp]),!1)}else return ot(et(r),et(NC[fp]),!1)}function r2(r){return AN[r]}function ffe(){return AN[fp]}U9(MN,lfe);U9(A1,ufe);var EN=1e3,IN=EN*60,ry=IN*60,Ea=ry*24,f3=Ea*365,Nm={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},sw="{yyyy}-{MM}-{dd}",h3={year:"{yyyy}",month:"{yyyy}-{MM}",day:sw,hour:sw+" "+Nm.hour,minute:sw+" "+Nm.minute,second:sw+" "+Nm.second,millisecond:Nm.none},yI=["year","month","day","hour","minute","second","millisecond"],Y9=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function kl(r,e){return r+="","0000".substr(0,e-r.length)+r}function hp(r){switch(r){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return r}}function hfe(r){return r===hp(r)}function dfe(r){switch(r){case"year":case"month":return"day";case"millisecond":return"millisecond";default:return"second"}}function BT(r,e,t,n){var i=es(r),a=i[PN(t)](),o=i[dp(t)]()+1,s=Math.floor((o-1)/3)+1,u=i[zT(t)](),f=i["get"+(t?"UTC":"")+"Day"](),h=i[Dy(t)](),p=(h-1)%12+1,g=i[VT(t)](),v=i[HT(t)](),m=i[jT(t)](),b=h>=12?"pm":"am",_=b.toUpperCase(),S=n instanceof qt?n:r2(n||G9)||ffe(),C=S.getModel("time"),w=C.get("month"),k=C.get("monthAbbr"),M=C.get("dayOfWeek"),E=C.get("dayOfWeekAbbr");return(e||"").replace(/{a}/g,b+"").replace(/{A}/g,_+"").replace(/{yyyy}/g,a+"").replace(/{yy}/g,kl(a%100+"",2)).replace(/{Q}/g,s+"").replace(/{MMMM}/g,w[o-1]).replace(/{MMM}/g,k[o-1]).replace(/{MM}/g,kl(o,2)).replace(/{M}/g,o+"").replace(/{dd}/g,kl(u,2)).replace(/{d}/g,u+"").replace(/{eeee}/g,M[f]).replace(/{ee}/g,E[f]).replace(/{e}/g,f+"").replace(/{HH}/g,kl(h,2)).replace(/{H}/g,h+"").replace(/{hh}/g,kl(p+"",2)).replace(/{h}/g,p+"").replace(/{mm}/g,kl(g,2)).replace(/{m}/g,g+"").replace(/{ss}/g,kl(v,2)).replace(/{s}/g,v+"").replace(/{SSS}/g,kl(m,3)).replace(/{S}/g,m+"")}function pfe(r,e,t,n,i){var a=null;if(Be(t))a=t;else if(Ke(t))a=t(r.value,e,{level:r.level});else{var o=me({},Nm);if(r.level>0)for(var s=0;s=0;--s)if(u[f]){a=u[f];break}a=a||o.none}if(we(a)){var p=r.level==null?0:r.level>=0?r.level:a.length+r.level;p=Math.min(p,a.length-1),a=a[p]}}return BT(new Date(r.value),a,i,n)}function q9(r,e){var t=es(r),n=t[dp(e)]()+1,i=t[zT(e)](),a=t[Dy(e)](),o=t[VT(e)](),s=t[HT(e)](),u=t[jT(e)](),f=u===0,h=f&&s===0,p=h&&o===0,g=p&&a===0,v=g&&i===1,m=v&&n===1;return m?"year":v?"month":g?"day":p?"hour":h?"minute":f?"second":"millisecond"}function d3(r,e,t){var n=Ft(r)?es(r):r;switch(e=e||q9(r,t),e){case"year":return n[PN(t)]();case"half-year":return n[dp(t)]()>=6?1:0;case"quarter":return Math.floor((n[dp(t)]()+1)/4);case"month":return n[dp(t)]();case"day":return n[zT(t)]();case"half-day":return n[Dy(t)]()/24;case"hour":return n[Dy(t)]();case"minute":return n[VT(t)]();case"second":return n[HT(t)]();case"millisecond":return n[jT(t)]()}}function PN(r){return r?"getUTCFullYear":"getFullYear"}function dp(r){return r?"getUTCMonth":"getMonth"}function zT(r){return r?"getUTCDate":"getDate"}function Dy(r){return r?"getUTCHours":"getHours"}function VT(r){return r?"getUTCMinutes":"getMinutes"}function HT(r){return r?"getUTCSeconds":"getSeconds"}function jT(r){return r?"getUTCMilliseconds":"getMilliseconds"}function vfe(r){return r?"setUTCFullYear":"setFullYear"}function K9(r){return r?"setUTCMonth":"setMonth"}function X9(r){return r?"setUTCDate":"setDate"}function Z9(r){return r?"setUTCHours":"setHours"}function Q9(r){return r?"setUTCMinutes":"setMinutes"}function J9(r){return r?"setUTCSeconds":"setSeconds"}function eY(r){return r?"setUTCMilliseconds":"setMilliseconds"}function tY(r){if(!X7(r))return Be(r)?r:"-";var e=(r+"").split(".");return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:"")}function rY(r,e){return r=(r||"").toLowerCase().replace(/-(.)/g,function(t,n){return n.toUpperCase()}),e&&r&&(r=r.charAt(0).toUpperCase()+r.slice(1)),r}var Hp=aN;function n2(r,e,t){var n="{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}";function i(h){return h&&no(h)?h:"-"}function a(h){return!!(h!=null&&!isNaN(h)&&isFinite(h))}var o=e==="time",s=r instanceof Date;if(o||s){var u=o?es(r):r;if(isNaN(+u)){if(s)return"-"}else return BT(u,n,t)}if(e==="ordinal")return xO(r)?i(r):Ft(r)&&a(r)?r+"":"-";var f=Bs(r);return a(f)?tY(f):xO(r)?i(r):typeof r=="boolean"?r+"":"-"}var p3=["a","b","c","d","e","f","g"],_I=function(r,e){return"{"+r+(e??"")+"}"};function nY(r,e,t){we(e)||(e=[e]);var n=e.length;if(!n)return"";for(var i=e[0].$vars||[],a=0;a':'';var o=t.markerId||"markerX";return{renderMode:a,content:"{"+o+"|} ",style:i==="subItem"?{width:4,height:4,borderRadius:2,backgroundColor:n}:{width:10,height:10,borderRadius:5,backgroundColor:n}}}function Ef(r,e){return e=e||"transparent",Be(r)?r:Je(r)&&r.colorStops&&(r.colorStops[0]||{}).color||e}function E1(r,e){if(e==="_blank"||e==="blank"){var t=window.open();t.opener=null,t.location.href=r}else window.open(r,e)}var FC=H,iY=["left","right","top","bottom","width","height"],tf=[["width","left","right"],["height","top","bottom"]];function LN(r,e,t,n,i){var a=0,o=0;n==null&&(n=1/0),i==null&&(i=1/0);var s=0;e.eachChild(function(u,f){var h=u.getBoundingRect(),p=e.childAt(f+1),g=p&&p.getBoundingRect(),v,m;if(r==="horizontal"){var b=h.width+(g?-g.x+h.x:0);v=a+b,v>n||u.newline?(a=0,v=b,o+=s+t,s=h.height):s=Math.max(s,h.height)}else{var _=h.height+(g?-g.y+h.y:0);m=o+_,m>i||u.newline?(a+=s+t,o=0,m=_,s=h.width):s=Math.max(s,h.width)}u.newline||(u.x=a,u.y=o,u.markRedraw(),r==="horizontal"?a=v+t:o=m+t)})}var yf=LN;at(LN,"vertical");at(LN,"horizontal");function yfe(r,e,t){var n=e.width,i=e.height,a=Oe(r.left,n),o=Oe(r.top,i),s=Oe(r.right,n),u=Oe(r.bottom,i);return(isNaN(a)||isNaN(parseFloat(r.left)))&&(a=0),(isNaN(s)||isNaN(parseFloat(r.right)))&&(s=n),(isNaN(o)||isNaN(parseFloat(r.top)))&&(o=0),(isNaN(u)||isNaN(parseFloat(r.bottom)))&&(u=i),t=Hp(t||0),{width:Math.max(s-a-t[1]-t[3],0),height:Math.max(u-o-t[0]-t[2],0)}}function rn(r,e,t){t=Hp(t||0);var n=e.width,i=e.height,a=Oe(r.left,n),o=Oe(r.top,i),s=Oe(r.right,n),u=Oe(r.bottom,i),f=Oe(r.width,n),h=Oe(r.height,i),p=t[2]+t[0],g=t[1]+t[3],v=r.aspect;switch(isNaN(f)&&(f=n-s-g-a),isNaN(h)&&(h=i-u-p-o),v!=null&&(isNaN(f)&&isNaN(h)&&(v>n/i?f=n*.8:h=i*.8),isNaN(f)&&(f=v*h),isNaN(h)&&(h=f/v)),isNaN(a)&&(a=n-s-f-g),isNaN(o)&&(o=i-u-h-p),r.left||r.right){case"center":a=n/2-f/2-t[3];break;case"right":a=n-f-g;break}switch(r.top||r.bottom){case"middle":case"center":o=i/2-h/2-t[0];break;case"bottom":o=i-h-p;break}a=a||0,o=o||0,isNaN(f)&&(f=n-g-a-(s||0)),isNaN(h)&&(h=i-p-o-(u||0));var m=new ft(a+t[3],o+t[0],f,h);return m.margin=t,m}function WT(r,e,t,n,i,a){var o=!i||!i.hv||i.hv[0],s=!i||!i.hv||i.hv[1],u=i&&i.boundingMode||"all";if(a=a||r,a.x=r.x,a.y=r.y,!o&&!s)return!1;var f;if(u==="raw")f=r.type==="group"?new ft(0,0,+e.width||0,+e.height||0):r.getBoundingRect();else if(f=r.getBoundingRect(),r.needLocalTransform()){var h=r.getLocalTransform();f=f.clone(),f.applyTransform(h)}var p=rn(Qe({width:f.width,height:f.height},e),t,n),g=o?p.x-f.x:0,v=s?p.y-f.y:0;return u==="raw"?(a.x=g,a.y=v):(a.x+=g,a.y+=v),a===r&&r.markRedraw(),!0}function _fe(r,e){return r[tf[e][0]]!=null||r[tf[e][1]]!=null&&r[tf[e][2]]!=null}function ky(r){var e=r.layoutMode||r.constructor.layoutMode;return Je(e)?e:e?{type:e}:null}function du(r,e,t){var n=t&&t.ignoreSize;!we(n)&&(n=[n,n]);var i=o(tf[0],0),a=o(tf[1],1);f(tf[0],r,i),f(tf[1],r,a);function o(h,p){var g={},v=0,m={},b=0,_=2;if(FC(h,function(w){m[w]=r[w]}),FC(h,function(w){s(e,w)&&(g[w]=m[w]=e[w]),u(g,w)&&v++,u(m,w)&&b++}),n[p])return u(e,h[1])?m[h[2]]=null:u(e,h[2])&&(m[h[1]]=null),m;if(b===_||!v)return m;if(v>=_)return g;for(var S=0;S=0;u--)s=ot(s,i[u],!0);n.defaultOption=s}return n.defaultOption},e.prototype.getReferringComponents=function(t,n){var i=t+"Index",a=t+"Id";return r_(this.ecModel,t,{index:this.get(i,!0),id:this.get(a,!0)},n)},e.prototype.getBoxLayoutParams=function(){var t=this;return{left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")}},e.prototype.getZLevelKey=function(){return""},e.prototype.setZLevel=function(t){this.option.zlevel=t},e.protoInitialize=function(){var t=e.prototype;t.type="component",t.id="",t.name="",t.mainType="",t.subType="",t.componentIndex=0}(),e}(qt);o9(Ct,qt);MT(Ct);ofe(Ct);sfe(Ct,xfe);function xfe(r){var e=[];return H(Ct.getClassesByMainType(r),function(t){e=e.concat(t.dependencies||t.prototype.dependencies||[])}),e=Ce(e,function(t){return Wo(t).main}),r!=="dataset"&&dt(e,"dataset")<=0&&e.unshift("dataset"),e}var oY="";typeof navigator<"u"&&(oY=navigator.platform||"");var Ld="rgba(0, 0, 0, 0.2)";const Sfe={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:Ld,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:Ld,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:Ld,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:Ld,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:Ld,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:Ld,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:oY.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1};var sY=Ge(["tooltip","label","itemName","itemId","itemGroupId","itemChildGroupId","seriesName"]),$a="original",Un="arrayRows",Ba="objectRows",ns="keyedColumns",tu="typedArray",lY="unknown",Ko="column",Wp="row",Tn={Must:1,Might:2,Not:3},uY=Ot();function wfe(r){uY(r).datasetMap=Ge()}function cY(r,e,t){var n={},i=RN(e);if(!i||!r)return n;var a=[],o=[],s=e.ecModel,u=uY(s).datasetMap,f=i.uid+"_"+t.seriesLayoutBy,h,p;r=r.slice(),H(r,function(b,_){var S=Je(b)?b:r[_]={name:b};S.type==="ordinal"&&h==null&&(h=_,p=m(S)),n[S.name]=[]});var g=u.get(f)||u.set(f,{categoryWayDim:p,valueWayDim:0});H(r,function(b,_){var S=b.name,C=m(b);if(h==null){var w=g.valueWayDim;v(n[S],w,C),v(o,w,C),g.valueWayDim+=C}else if(h===_)v(n[S],0,C),v(a,0,C);else{var w=g.categoryWayDim;v(n[S],w,C),v(o,w,C),g.categoryWayDim+=C}});function v(b,_,S){for(var C=0;Ce)return r[n];return r[t-1]}function dY(r,e,t,n,i,a,o){a=a||r;var s=e(a),u=s.paletteIdx||0,f=s.paletteNameMap=s.paletteNameMap||{};if(f.hasOwnProperty(i))return f[i];var h=o==null||!n?t:Mfe(n,o);if(h=h||t,!(!h||!h.length)){var p=h[u];return i&&(f[i]=p),s.paletteIdx=(u+1)%h.length,p}}function Afe(r,e){e(r).paletteIdx=0,e(r).paletteNameMap={}}var lw,im,g3,m3="\0_ec_inner",Efe=1,FN=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.init=function(t,n,i,a,o,s){a=a||{},this.option=null,this._theme=new qt(a),this._locale=new qt(o),this._optionManager=s},e.prototype.setOption=function(t,n,i){var a=b3(n);this._optionManager.setOption(t,i,a),this._resetOption(null,a)},e.prototype.resetOption=function(t,n){return this._resetOption(t,b3(n))},e.prototype._resetOption=function(t,n){var i=!1,a=this._optionManager;if(!t||t==="recreate"){var o=a.mountOption(t==="recreate");!this.option||t==="recreate"?g3(this,o):(this.restoreData(),this._mergeOption(o,n)),i=!0}if((t==="timeline"||t==="media")&&this.restoreData(),!t||t==="recreate"||t==="timeline"){var s=a.getTimelineOption(this);s&&(i=!0,this._mergeOption(s,n))}if(!t||t==="recreate"||t==="media"){var u=a.getMediaOption(this);u.length&&H(u,function(f){i=!0,this._mergeOption(f,n)},this)}return i},e.prototype.mergeOption=function(t){this._mergeOption(t,null)},e.prototype._mergeOption=function(t,n){var i=this.option,a=this._componentsMap,o=this._componentsCount,s=[],u=Ge(),f=n&&n.replaceMergeMainTypeMap;wfe(this),H(t,function(p,g){p!=null&&(Ct.hasClass(g)?g&&(s.push(g),u.set(g,!0)):i[g]=i[g]==null?et(p):ot(i[g],p,!0))}),f&&f.each(function(p,g){Ct.hasClass(g)&&!u.get(g)&&(s.push(g),u.set(g,!0))}),Ct.topologicalTravel(s,Ct.getAllClassMainTypes(),h,this);function h(p){var g=Dfe(this,p,Jt(t[p])),v=a.get(p),m=v?f&&f.get(p)?"replaceMerge":"normalMerge":"replaceAll",b=t9(v,g,m);tue(b,p,Ct),i[p]=null,a.set(p,null),o.set(p,0);var _=[],S=[],C=0,w;H(b,function(k,M){var E=k.existing,I=k.newOption;if(!I)E&&(E.mergeOption({},this),E.optionUpdated({},!1));else{var O=p==="series",R=Ct.getClass(p,k.keyInfo.subType,!O);if(!R)return;if(p==="tooltip"){if(w)return;w=!0}if(E&&E.constructor===R)E.name=k.keyInfo.name,E.mergeOption(I,this),E.optionUpdated(I,!1);else{var $=me({componentIndex:M},k.keyInfo);E=new R(I,this,this,$),me(E,$),k.brandNew&&(E.__requireNewView=!0),E.init(I,this,this),E.optionUpdated(null,!0)}}E?(_.push(E.option),S.push(E),C++):(_.push(void 0),S.push(void 0))},this),i[p]=_,a.set(p,S),o.set(p,C),p==="series"&&lw(this)}this._seriesIndices||lw(this)},e.prototype.getOption=function(){var t=et(this.option);return H(t,function(n,i){if(Ct.hasClass(i)){for(var a=Jt(n),o=a.length,s=!1,u=o-1;u>=0;u--)a[u]&&!Sy(a[u])?s=!0:(a[u]=null,!s&&o--);a.length=o,t[i]=a}}),delete t[m3],t},e.prototype.getTheme=function(){return this._theme},e.prototype.getLocaleModel=function(){return this._locale},e.prototype.setUpdatePayload=function(t){this._payload=t},e.prototype.getUpdatePayload=function(){return this._payload},e.prototype.getComponent=function(t,n){var i=this._componentsMap.get(t);if(i){var a=i[n||0];if(a)return a;if(n==null){for(var o=0;o=e:t==="max"?r<=e:r===e}function Bfe(r,e){return r.join(",")===e.join(",")}var Xa=H,My=Je,x3=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function xI(r){var e=r&&r.itemStyle;if(e)for(var t=0,n=x3.length;t=0;_--){var S=r[_];if(s||(m=S.data.rawIndexOf(S.stackedByDimension,v)),m>=0){var C=S.data.getByRawIndex(S.stackResultDimension,m);if(u==="all"||u==="positive"&&C>0||u==="negative"&&C<0||u==="samesign"&&g>=0&&C>0||u==="samesign"&&g<=0&&C<0){g=Wle(g,C),b=C;break}}}return n[0]=g,n[1]=b,n})})}var GT=function(){function r(e){this.data=e.data||(e.sourceFormat===ns?{}:[]),this.sourceFormat=e.sourceFormat||lY,this.seriesLayoutBy=e.seriesLayoutBy||Ko,this.startIndex=e.startIndex||0,this.dimensionsDetectedCount=e.dimensionsDetectedCount,this.metaRawOption=e.metaRawOption;var t=this.dimensionsDefine=e.dimensionsDefine;if(t)for(var n=0;nb&&(b=w)}v[0]=m,v[1]=b}},i=function(){return this._data?this._data.length/this._dimSize:0};M3=(e={},e[Un+"_"+Ko]={pure:!0,appendData:a},e[Un+"_"+Wp]={pure:!0,appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},e[Ba]={pure:!0,appendData:a},e[ns]={pure:!0,appendData:function(o){var s=this._data;H(o,function(u,f){for(var h=s[f]||(s[f]=[]),p=0;p<(u||[]).length;p++)h.push(u[p])})}},e[$a]={appendData:a},e[tu]={persistent:!1,pure:!0,appendData:function(o){this._data=o},clean:function(){this._offset+=this.count(),this._data=null}},e);function a(o){for(var s=0;s=0&&(b=o.interpolatedValue[_])}return b!=null?b+"":""})}},r.prototype.getRawValue=function(e,t){return bp(this.getData(t),e)},r.prototype.formatTooltip=function(e,t,n){},r}();function P3(r){var e,t;return Je(r)?r.type&&(t=r):e=r,{text:e,frag:t}}function ny(r){return new rhe(r)}var rhe=function(){function r(e){e=e||{},this._reset=e.reset,this._plan=e.plan,this._count=e.count,this._onDirty=e.onDirty,this._dirty=!0}return r.prototype.perform=function(e){var t=this._upstream,n=e&&e.skip;if(this._dirty&&t){var i=this.context;i.data=i.outputData=t.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!n&&(a=this._plan(this.context));var o=h(this._modBy),s=this._modDataCount||0,u=h(e&&e.modBy),f=e&&e.modDataCount||0;(o!==u||s!==f)&&(a="reset");function h(C){return!(C>=1)&&(C=1),C}var p;(this._dirty||a==="reset")&&(this._dirty=!1,p=this._doReset(n)),this._modBy=u,this._modDataCount=f;var g=e&&e.step;if(t?this._dueEnd=t._outputDueEnd:this._dueEnd=this._count?this._count(this.context):1/0,this._progress){var v=this._dueIndex,m=Math.min(g!=null?this._dueIndex+g:1/0,this._dueEnd);if(!n&&(p||v1&&n>0?s:o}};return a;function o(){return e=r?null:ue},gte:function(r,e){return r>=e}},ihe=function(){function r(e,t){if(!Ft(t)){var n="";jt(n)}this._opFn=CY[e],this._rvalFloat=Bs(t)}return r.prototype.evaluate=function(e){return Ft(e)?this._opFn(e,this._rvalFloat):this._opFn(Bs(e),this._rvalFloat)},r}(),TY=function(){function r(e,t){var n=e==="desc";this._resultLT=n?1:-1,t==null&&(t=n?"min":"max"),this._incomparable=t==="min"?-1/0:1/0}return r.prototype.evaluate=function(e,t){var n=Ft(e)?e:Bs(e),i=Ft(t)?t:Bs(t),a=isNaN(n),o=isNaN(i);if(a&&(n=this._incomparable),o&&(i=this._incomparable),a&&o){var s=Be(e),u=Be(t);s&&(n=u?e:0),u&&(i=s?t:0)}return ni?-this._resultLT:0},r}(),ahe=function(){function r(e,t){this._rval=t,this._isEQ=e,this._rvalTypeof=typeof t,this._rvalFloat=Bs(t)}return r.prototype.evaluate=function(e){var t=e===this._rval;if(!t){var n=typeof e;n!==this._rvalTypeof&&(n==="number"||this._rvalTypeof==="number")&&(t=Bs(e)===this._rvalFloat)}return this._isEQ?t:!t},r}();function ohe(r,e){return r==="eq"||r==="ne"?new ahe(r==="eq",e):He(CY,r)?new ihe(r,e):null}var she=function(){function r(){}return r.prototype.getRawData=function(){throw new Error("not supported")},r.prototype.getRawDataItem=function(e){throw new Error("not supported")},r.prototype.cloneRawData=function(){},r.prototype.getDimensionInfo=function(e){},r.prototype.cloneAllDimensionInfo=function(){},r.prototype.count=function(){},r.prototype.retrieveValue=function(e,t){},r.prototype.retrieveValueFromItem=function(e,t){},r.prototype.convertValue=function(e,t){return ru(e,t)},r}();function lhe(r,e){var t=new she,n=r.data,i=t.sourceFormat=r.sourceFormat,a=r.startIndex,o="";r.seriesLayoutBy!==Ko&&jt(o);var s=[],u={},f=r.dimensionsDefine;if(f)H(f,function(b,_){var S=b.name,C={index:_,name:S,displayName:b.displayName};if(s.push(C),S!=null){var w="";He(u,S)&&jt(w),u[S]=C}});else for(var h=0;h65535?ghe:mhe}function Rd(){return[1/0,-1/0]}function yhe(r){var e=r.constructor;return e===Array?r.slice():new e(r)}function R3(r,e,t,n,i){var a=MY[t||"float"];if(i){var o=r[e],s=o&&o.length;if(s!==n){for(var u=new a(n),f=0;f_[1]&&(_[1]=b)}return this._rawCount=this._count=u,{start:s,end:u}},r.prototype._initDataFromProvider=function(e,t,n){for(var i=this._provider,a=this._chunks,o=this._dimensions,s=o.length,u=this._rawExtent,f=Ce(o,function(C){return C.property}),h=0;hS[1]&&(S[1]=_)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=t,this._extent=[]},r.prototype.count=function(){return this._count},r.prototype.get=function(e,t){if(!(t>=0&&t=0&&t=this._rawCount||e<0)return-1;if(!this._indices)return e;var t=this._indices,n=t[e];if(n!=null&&ne)a=o-1;else return o}return-1},r.prototype.indicesOfNearest=function(e,t,n){var i=this._chunks,a=i[e],o=[];if(!a)return o;n==null&&(n=1/0);for(var s=1/0,u=-1,f=0,h=0,p=this.count();h=0&&u<0)&&(s=m,u=v,f=0),v===u&&(o[f++]=h))}return o.length=f,o},r.prototype.getIndices=function(){var e,t=this._indices;if(t){var n=t.constructor,i=this._count;if(n===Array){e=new n(i);for(var a=0;a=p&&C<=g||isNaN(C))&&(u[f++]=b),b++}m=!0}else if(a===2){for(var _=v[i[0]],w=v[i[1]],k=e[i[1]][0],M=e[i[1]][1],S=0;S=p&&C<=g||isNaN(C))&&(E>=k&&E<=M||isNaN(E))&&(u[f++]=b),b++}m=!0}}if(!m)if(a===1)for(var S=0;S=p&&C<=g||isNaN(C))&&(u[f++]=I)}else for(var S=0;Se[$][1])&&(O=!1)}O&&(u[f++]=t.getRawIndex(S))}return fS[1]&&(S[1]=_)}}}},r.prototype.lttbDownSample=function(e,t){var n=this.clone([e],!0),i=n._chunks,a=i[e],o=this.count(),s=0,u=Math.floor(1/t),f=this.getRawIndex(0),h,p,g,v=new(Od(this._rawCount))(Math.min((Math.ceil(o/u)+2)*2,o));v[s++]=f;for(var m=1;mh&&(h=p,g=k)}V>0&&Vs&&(b=s-h);for(var _=0;_m&&(m=C,v=h+_)}var w=this.getRawIndex(p),k=this.getRawIndex(v);ph-m&&(u=h-m,s.length=u);for(var b=0;bp[1]&&(p[1]=S),g[v++]=C}return a._count=v,a._indices=g,a._updateGetRawIdx(),a},r.prototype.each=function(e,t){if(this._count)for(var n=e.length,i=this._chunks,a=0,o=this.count();au&&(u=p)}return o=[s,u],this._extent[e]=o,o},r.prototype.getRawDataItem=function(e){var t=this.getRawIndex(e);if(this._provider.persistent)return this._provider.getItem(t);for(var n=[],i=this._chunks,a=0;a=0?this._indices[e]:-1},r.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},r.internalField=function(){function e(t,n,i,a){return ru(t[a],this._dimensions[a])}CI={arrayRows:e,objectRows:function(t,n,i,a){return ru(t[n],this._dimensions[a])},keyedColumns:e,original:function(t,n,i,a){var o=t&&(t.value==null?t:t.value);return ru(o instanceof Array?o[a]:o,this._dimensions[a])},typedArray:function(t,n,i,a){return t[a]}}}(),r}(),AY=function(){function r(e){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=e}return r.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},r.prototype._setLocalSource=function(e,t){this._sourceList=e,this._upstreamSignList=t,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},r.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},r.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},r.prototype._createSource=function(){this._setLocalSource([],[]);var e=this._sourceHost,t=this._getUpstreamSourceManagers(),n=!!t.length,i,a;if(uw(e)){var o=e,s=void 0,u=void 0,f=void 0;if(n){var h=t[0];h.prepareSource(),f=h.getSource(),s=f.data,u=f.sourceFormat,a=[h._getVersionSign()]}else s=o.get("data",!0),u=zi(s)?tu:$a,a=[];var p=this._getSourceMetaRawOption()||{},g=f&&f.metaRawOption||{},v=it(p.seriesLayoutBy,g.seriesLayoutBy)||null,m=it(p.sourceHeader,g.sourceHeader),b=it(p.dimensions,g.dimensions),_=v!==g.seriesLayoutBy||!!m!=!!g.sourceHeader||b;i=_?[o2(s,{seriesLayoutBy:v,sourceHeader:m,dimensions:b},u)]:[]}else{var S=e;if(n){var C=this._applyTransform(t);i=C.sourceList,a=C.upstreamSignList}else{var w=S.get("source",!0);i=[o2(w,this._getSourceMetaRawOption(),null)],a=[]}}this._setLocalSource(i,a)},r.prototype._applyTransform=function(e){var t=this._sourceHost,n=t.get("transform",!0),i=t.get("fromTransformResult",!0);if(i!=null){var a="";e.length!==1&&F3(a)}var o,s=[],u=[];return H(e,function(f){f.prepareSource();var h=f.getSource(i||0),p="";i!=null&&!h&&F3(p),s.push(h),u.push(f._getVersionSign())}),n?o=phe(n,s,{datasetIndex:t.componentIndex}):i!=null&&(o=[Kfe(s[0])]),{sourceList:o,upstreamSignList:u}},r.prototype._isDirty=function(){if(this._dirty)return!0;for(var e=this._getUpstreamSourceManagers(),t=0;t1||t>0&&!r.noHeader;return H(r.blocks,function(i){var a=LY(i);a>=e&&(e=a+ +(n&&(!a||l2(i)&&!i.noHeader)))}),e}return 0}function She(r,e,t,n){var i=e.noHeader,a=Che(LY(e)),o=[],s=e.blocks||[];pi(!s||we(s)),s=s||[];var u=r.orderMode;if(e.sortBlocks&&u){s=s.slice();var f={valueAsc:"asc",valueDesc:"desc"};if(He(f,u)){var h=new TY(f[u],null);s.sort(function(b,_){return h.evaluate(b.sortParam,_.sortParam)})}else u==="seriesDesc"&&s.reverse()}H(s,function(b,_){var S=e.valueFormatter,C=PY(b)(S?me(me({},r),{valueFormatter:S}):r,b,_>0?a.html:0,n);C!=null&&o.push(C)});var p=r.renderMode==="richText"?o.join(a.richText):u2(n,o.join(""),i?t:a.html);if(i)return p;var g=n2(e.header,"ordinal",r.useUTC),v=IY(n,r.renderMode).nameStyle,m=EY(n);return r.renderMode==="richText"?OY(r,g,v)+a.richText+p:u2(n,'
'+ui(g)+"
"+p,t)}function whe(r,e,t,n){var i=r.renderMode,a=e.noName,o=e.noValue,s=!e.markerType,u=e.name,f=r.useUTC,h=e.valueFormatter||r.valueFormatter||function(k){return k=we(k)?k:[k],Ce(k,function(M,E){return n2(M,we(v)?v[E]:v,f)})};if(!(a&&o)){var p=s?"":r.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||"#333",i),g=a?"":n2(u,"ordinal",f),v=e.valueType,m=o?[]:h(e.value,e.dataIndex),b=!s||!a,_=!s&&a,S=IY(n,i),C=S.nameStyle,w=S.valueStyle;return i==="richText"?(s?"":p)+(a?"":OY(r,g,C))+(o?"":khe(r,m,b,_,w)):u2(n,(s?"":p)+(a?"":The(g,!s,C))+(o?"":Dhe(m,b,_,w)),t)}}function $3(r,e,t,n,i,a){if(r){var o=PY(r),s={useUTC:i,renderMode:t,orderMode:n,markupStyleCreator:e,valueFormatter:r.valueFormatter};return o(s,r,0,a)}}function Che(r){return{html:bhe[r],richText:xhe[r]}}function u2(r,e,t){var n='
',i="margin: "+t+"px 0 0",a=EY(r);return'
'+e+n+"
"}function The(r,e,t){var n=e?"margin-left:2px":"";return''+ui(r)+""}function Dhe(r,e,t,n){var i=t?"10px":"20px",a=e?"float:right;margin-left:"+i:"";return r=we(r)?r:[r],''+Ce(r,function(o){return ui(o)}).join("  ")+""}function OY(r,e,t){return r.markupStyleCreator.wrapRichTextStyle(e,t)}function khe(r,e,t,n,i){var a=[i],o=n?10:20;return t&&a.push({padding:[0,0,0,o],align:"right"}),r.markupStyleCreator.wrapRichTextStyle(we(e)?e.join(" "):e,a)}function RY(r,e){var t=r.getData().getItemVisual(e,"style"),n=t[r.visualDrawType];return Ef(n)}function NY(r,e){var t=r.get("padding");return t??(e==="richText"?[8,10]:10)}var TI=function(){function r(){this.richTextStyles={},this._nextStyleNameId=Z7()}return r.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},r.prototype.makeTooltipMarker=function(e,t,n){var i=n==="richText"?this._generateStyleName():null,a=mfe({color:t,type:e,renderMode:n,markerId:i});return Be(a)?a:(this.richTextStyles[i]=a.style,a.content)},r.prototype.wrapRichTextStyle=function(e,t){var n={};we(t)?H(t,function(a){return me(n,a)}):me(n,t);var i=this._generateStyleName();return this.richTextStyles[i]=n,"{"+i+"|"+e+"}"},r}();function FY(r){var e=r.series,t=r.dataIndex,n=r.multipleSeries,i=e.getData(),a=i.mapDimensionsAll("defaultedTooltip"),o=a.length,s=e.getRawValue(t),u=we(s),f=RY(e,t),h,p,g,v;if(o>1||u&&!o){var m=Mhe(s,e,t,a,f);h=m.inlineValues,p=m.inlineValueTypes,g=m.blocks,v=m.inlineValues[0]}else if(o){var b=i.getDimensionInfo(a[0]);v=h=bp(i,t,a[0]),p=b.type}else v=h=u?s[0]:s;var _=dN(e),S=_&&e.name||"",C=i.getName(t),w=n?S:C;return dn("section",{header:S,noHeader:n||!_,sortParam:v,blocks:[dn("nameValue",{markerType:"item",markerColor:f,name:w,noName:!no(w),value:h,valueType:p,dataIndex:t})].concat(g||[])})}function Mhe(r,e,t,n,i){var a=e.getData(),o=Zo(r,function(p,g,v){var m=a.getDimensionInfo(v);return p=p||m&&m.tooltip!==!1&&m.displayName!=null},!1),s=[],u=[],f=[];n.length?H(n,function(p){h(bp(a,t,p),p)}):H(r,h);function h(p,g){var v=a.getDimensionInfo(g);!v||v.otherDims.tooltip===!1||(o?f.push(dn("nameValue",{markerType:"subItem",markerColor:i,name:v.displayName,value:p,valueType:v.type})):(s.push(p),u.push(v.type)))}return{inlineValues:s,inlineValueTypes:u,blocks:f}}var Ml=Ot();function cw(r,e){return r.getName(e)||r.getId(e)}var $C="__universalTransitionEnabled",lr=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t._selectedDataIndicesMap={},t}return e.prototype.init=function(t,n,i){this.seriesIndex=this.componentIndex,this.dataTask=ny({count:Ehe,reset:Ihe}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,i);var a=Ml(this).sourceManager=new AY(this);a.prepareSource();var o=this.getInitialData(t,i);z3(o,this),this.dataTask.context.data=o,Ml(this).dataBeforeProcessed=o,B3(this),this._initSelectedMapFromData(o)},e.prototype.mergeDefaultAndTheme=function(t,n){var i=ky(this),a=i?jp(t):{},o=this.subType;Ct.hasClass(o)&&(o+="Series"),ot(t,n.getTheme().get(this.subType)),ot(t,this.getDefaultOption()),Df(t,"label",["show"]),this.fillDataTextStyle(t.data),i&&du(t,a,i)},e.prototype.mergeOption=function(t,n){t=ot(this.option,t,!0),this.fillDataTextStyle(t.data);var i=ky(this);i&&du(this.option,t,i);var a=Ml(this).sourceManager;a.dirty(),a.prepareSource();var o=this.getInitialData(t,n);z3(o,this),this.dataTask.dirty(),this.dataTask.context.data=o,Ml(this).dataBeforeProcessed=o,B3(this),this._initSelectedMapFromData(o)},e.prototype.fillDataTextStyle=function(t){if(t&&!zi(t))for(var n=["show"],i=0;ithis.getShallow("animationThreshold")&&(n=!1),!!n},e.prototype.restoreData=function(){this.dataTask.dirty()},e.prototype.getColorFromPalette=function(t,n,i){var a=this.ecModel,o=NN.prototype.getColorFromPalette.call(this,t,n,i);return o||(o=a.getColorFromPalette(t,n,i)),o},e.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},e.prototype.getProgressive=function(){return this.get("progressive")},e.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},e.prototype.select=function(t,n){this._innerSelect(this.getData(n),t)},e.prototype.unselect=function(t,n){var i=this.option.selectedMap;if(i){var a=this.option.selectedMode,o=this.getData(n);if(a==="series"||i==="all"){this.option.selectedMap={},this._selectedDataIndicesMap={};return}for(var s=0;s=0&&i.push(o)}return i},e.prototype.isSelected=function(t,n){var i=this.option.selectedMap;if(!i)return!1;var a=this.getData(n);return(i==="all"||i[cw(a,t)])&&!a.getItemModel(t).get(["select","disabled"])},e.prototype.isUniversalTransitionEnabled=function(){if(this[$C])return!0;var t=this.option.universalTransition;return t?t===!0?!0:t&&t.enabled:!1},e.prototype._innerSelect=function(t,n){var i,a,o=this.option,s=o.selectedMode,u=n.length;if(!(!s||!u)){if(s==="series")o.selectedMap="all";else if(s==="multiple"){Je(o.selectedMap)||(o.selectedMap={});for(var f=o.selectedMap,h=0;h0&&this._innerSelect(t,n)}},e.registerClass=function(t){return Ct.registerClass(t)},e.protoInitialize=function(){var t=e.prototype;t.type="series.__base__",t.seriesIndex=0,t.ignoreStyleOnData=!1,t.hasSymbolVisual=!1,t.defaultSymbol="circle",t.visualStyleAccessPath="itemStyle",t.visualDrawType="fill"}(),e}(Ct);Gr(lr,UT);Gr(lr,NN);o9(lr,Ct);function B3(r){var e=r.name;dN(r)||(r.name=Ahe(r)||e)}function Ahe(r){var e=r.getRawData(),t=e.mapDimensionsAll("seriesName"),n=[];return H(t,function(i){var a=e.getDimensionInfo(i);a.displayName&&n.push(a.displayName)}),n.join(" ")}function Ehe(r){return r.model.getRawData().count()}function Ihe(r){var e=r.model;return e.setData(e.getRawData().cloneShallow()),Phe}function Phe(r,e){e.outputData&&r.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function z3(r,e){H(my(r.CHANGABLE_METHODS,r.DOWNSAMPLE_METHODS),function(t){r.wrapMethod(t,at(Lhe,e))})}function Lhe(r,e){var t=c2(r);return t&&t.setOutputEnd((e||this).count()),e}function c2(r){var e=(r.ecModel||{}).scheduler,t=e&&e.getPipeline(r.uid);if(t){var n=t.currentTask;if(n){var i=n.agentStubMap;i&&(n=i.get(r.uid))}return n}}var _r=function(){function r(){this.group=new rt,this.uid=Vp("viewComponent")}return r.prototype.init=function(e,t){},r.prototype.render=function(e,t,n,i){},r.prototype.dispose=function(e,t){},r.prototype.updateView=function(e,t,n,i){},r.prototype.updateLayout=function(e,t,n,i){},r.prototype.updateVisual=function(e,t,n,i){},r.prototype.toggleBlurSeries=function(e,t,n){},r.prototype.eachRendered=function(e){var t=this.group;t&&t.traverse(e)},r}();vN(_r);MT(_r);function Gp(){var r=Ot();return function(e){var t=r(e),n=e.pipelineContext,i=!!t.large,a=!!t.progressiveRender,o=t.large=!!(n&&n.large),s=t.progressiveRender=!!(n&&n.progressiveRender);return(i!==o||a!==s)&&"reset"}}var $Y=Ot(),Ohe=Gp(),tr=function(){function r(){this.group=new rt,this.uid=Vp("viewChart"),this.renderTask=ny({plan:Rhe,reset:Nhe}),this.renderTask.context={view:this}}return r.prototype.init=function(e,t){},r.prototype.render=function(e,t,n,i){},r.prototype.highlight=function(e,t,n,i){var a=e.getData(i&&i.dataType);a&&H3(a,i,"emphasis")},r.prototype.downplay=function(e,t,n,i){var a=e.getData(i&&i.dataType);a&&H3(a,i,"normal")},r.prototype.remove=function(e,t){this.group.removeAll()},r.prototype.dispose=function(e,t){},r.prototype.updateView=function(e,t,n,i){this.render(e,t,n,i)},r.prototype.updateLayout=function(e,t,n,i){this.render(e,t,n,i)},r.prototype.updateVisual=function(e,t,n,i){this.render(e,t,n,i)},r.prototype.eachRendered=function(e){bu(this.group,e)},r.markUpdateMethod=function(e,t){$Y(e).updateMethod=t},r.protoInitialize=function(){var e=r.prototype;e.type="chart"}(),r}();function V3(r,e,t){r&&Cy(r)&&(e==="emphasis"?zs:Vs)(r,t)}function H3(r,e,t){var n=kf(r,e),i=e&&e.highlightKey!=null?mce(e.highlightKey):null;n!=null?H(Jt(n),function(a){V3(r.getItemGraphicEl(a),t,i)}):r.eachItemGraphicEl(function(a){V3(a,t,i)})}vN(tr);MT(tr);function Rhe(r){return Ohe(r.model)}function Nhe(r){var e=r.model,t=r.ecModel,n=r.api,i=r.payload,a=e.pipelineContext.progressiveRender,o=r.view,s=i&&$Y(i).updateMethod,u=a?"incrementalPrepareRender":s&&o[s]?s:"render";return u!=="render"&&o[u](e,t,n,i),Fhe[u]}var Fhe={incrementalPrepareRender:{progress:function(r,e){e.view.incrementalRender(r,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(r,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},I1="\0__throttleOriginMethod",j3="\0__throttleRate",W3="\0__throttleType";function HN(r,e,t){var n,i=0,a=0,o=null,s,u,f,h;e=e||0;function p(){a=new Date().getTime(),o=null,r.apply(u,f||[])}var g=function(){for(var v=[],m=0;m=0?p():o=setTimeout(p,-s),i=n};return g.clear=function(){o&&(clearTimeout(o),o=null)},g.debounceNextCall=function(v){h=v},g}function Up(r,e,t,n){var i=r[e];if(i){var a=i[I1]||i,o=i[W3],s=i[j3];if(s!==t||o!==n){if(t==null||!n)return r[e]=a;i=r[e]=HN(a,t,n==="debounce"),i[I1]=a,i[W3]=n,i[j3]=t}return i}}function Ay(r,e){var t=r[e];t&&t[I1]&&(t.clear&&t.clear(),r[e]=t[I1])}var G3=Ot(),U3={itemStyle:Mf(W9,!0),lineStyle:Mf(j9,!0)},$he={lineStyle:"stroke",itemStyle:"fill"};function BY(r,e){var t=r.visualStyleMapper||U3[e];return t||(console.warn("Unknown style type '"+e+"'."),U3.itemStyle)}function zY(r,e){var t=r.visualDrawType||$he[e];return t||(console.warn("Unknown style type '"+e+"'."),"fill")}var Bhe={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,e){var t=r.getData(),n=r.visualStyleAccessPath||"itemStyle",i=r.getModel(n),a=BY(r,n),o=a(i),s=i.getShallow("decal");s&&(t.setVisual("decal",s),s.dirty=!0);var u=zY(r,n),f=o[u],h=Ke(f)?f:null,p=o.fill==="auto"||o.stroke==="auto";if(!o[u]||h||p){var g=r.getColorFromPalette(r.name,null,e.getSeriesCount());o[u]||(o[u]=g,t.setVisual("colorFromPalette",!0)),o.fill=o.fill==="auto"||Ke(o.fill)?g:o.fill,o.stroke=o.stroke==="auto"||Ke(o.stroke)?g:o.stroke}if(t.setVisual("style",o),t.setVisual("drawType",u),!e.isSeriesFiltered(r)&&h)return t.setVisual("colorFromPalette",!1),{dataEach:function(v,m){var b=r.getDataParams(m),_=me({},o);_[u]=h(b),v.setItemVisual(m,"style",_)}}}},om=new qt,zhe={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,e){if(!(r.ignoreStyleOnData||e.isSeriesFiltered(r))){var t=r.getData(),n=r.visualStyleAccessPath||"itemStyle",i=BY(r,n),a=t.getVisual("drawType");return{dataEach:t.hasItemOption?function(o,s){var u=o.getRawDataItem(s);if(u&&u[n]){om.option=u[n];var f=i(om),h=o.ensureUniqueItemVisual(s,"style");me(h,f),om.option.decal&&(o.setItemVisual(s,"decal",om.option.decal),om.option.decal.dirty=!0),a in f&&o.setItemVisual(s,"colorFromPalette",!1)}}:null}}}},Vhe={performRawSeries:!0,overallReset:function(r){var e=Ge();r.eachSeries(function(t){var n=t.getColorBy();if(!t.isColorBySeries()){var i=t.type+"-"+n,a=e.get(i);a||(a={},e.set(i,a)),G3(t).scope=a}}),r.eachSeries(function(t){if(!(t.isColorBySeries()||r.isSeriesFiltered(t))){var n=t.getRawData(),i={},a=t.getData(),o=G3(t).scope,s=t.visualStyleAccessPath||"itemStyle",u=zY(t,s);a.each(function(f){var h=a.getRawIndex(f);i[h]=f}),n.each(function(f){var h=i[f],p=a.getItemVisual(h,"colorFromPalette");if(p){var g=a.ensureUniqueItemVisual(h,"style"),v=n.getName(f)||f+"",m=n.count();g[u]=t.getColorFromPalette(v,o,m)}})}})}},fw=Math.PI;function Hhe(r,e){e=e||{},Qe(e,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var t=new rt,n=new Pt({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});t.add(n);var i=new Rt({style:{text:e.text,fill:e.textColor,fontSize:e.fontSize,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:e.fontFamily},zlevel:e.zlevel,z:10001}),a=new Pt({style:{fill:"none"},textContent:i,textConfig:{position:"right",distance:10},zlevel:e.zlevel,z:10001});t.add(a);var o;return e.showSpinner&&(o=new RT({shape:{startAngle:-fw/2,endAngle:-fw/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:"round",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001}),o.animateShape(!0).when(1e3,{endAngle:fw*3/2}).start("circularInOut"),o.animateShape(!0).when(1e3,{startAngle:fw*3/2}).delay(300).start("circularInOut"),t.add(o)),t.resize=function(){var s=i.getBoundingRect().width,u=e.showSpinner?e.spinnerRadius:0,f=(r.getWidth()-u*2-(e.showSpinner&&s?10:0)-s)/2-(e.showSpinner&&s?0:5+s/2)+(e.showSpinner?0:s/2)+(s?0:u),h=r.getHeight()/2;e.showSpinner&&o.setShape({cx:f,cy:h}),a.setShape({x:f-u,y:h-u,width:u*2,height:u*2}),n.setShape({x:0,y:0,width:r.getWidth(),height:r.getHeight()})},t.resize(),t}var VY=function(){function r(e,t,n,i){this._stageTaskMap=Ge(),this.ecInstance=e,this.api=t,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}return r.prototype.restoreData=function(e,t){e.restoreData(t),this._stageTaskMap.each(function(n){var i=n.overallTask;i&&i.dirty()})},r.prototype.getPerformArgs=function(e,t){if(e.__pipeline){var n=this._pipelineMap.get(e.__pipeline.id),i=n.context,a=!t&&n.progressiveEnabled&&(!i||i.progressiveRender)&&e.__idxInPipeline>n.blockIndex,o=a?n.step:null,s=i&&i.modDataCount,u=s!=null?Math.ceil(s/o):null;return{step:o,modBy:u,modDataCount:s}}},r.prototype.getPipeline=function(e){return this._pipelineMap.get(e)},r.prototype.updateStreamModes=function(e,t){var n=this._pipelineMap.get(e.uid),i=e.getData(),a=i.count(),o=n.progressiveEnabled&&t.incrementalPrepareRender&&a>=n.threshold,s=e.get("large")&&a>=e.get("largeThreshold"),u=e.get("progressiveChunkMode")==="mod"?a:null;e.pipelineContext=n.context={progressiveRender:o,modDataCount:u,large:s}},r.prototype.restorePipelines=function(e){var t=this,n=t._pipelineMap=Ge();e.eachSeries(function(i){var a=i.getProgressive(),o=i.uid;n.set(o,{id:o,head:null,tail:null,threshold:i.getProgressiveThreshold(),progressiveEnabled:a&&!(i.preventIncremental&&i.preventIncremental()),blockIndex:-1,step:Math.round(a||700),count:0}),t._pipe(i,i.dataTask)})},r.prototype.prepareStageTasks=function(){var e=this._stageTaskMap,t=this.api.getModel(),n=this.api;H(this._allHandlers,function(i){var a=e.get(i.uid)||e.set(i.uid,{}),o="";pi(!(i.reset&&i.overallReset),o),i.reset&&this._createSeriesStageTask(i,a,t,n),i.overallReset&&this._createOverallStageTask(i,a,t,n)},this)},r.prototype.prepareView=function(e,t,n,i){var a=e.renderTask,o=a.context;o.model=t,o.ecModel=n,o.api=i,a.__block=!e.incrementalPrepareRender,this._pipe(t,a)},r.prototype.performDataProcessorTasks=function(e,t){this._performStageTasks(this._dataProcessorHandlers,e,t,{block:!0})},r.prototype.performVisualTasks=function(e,t,n){this._performStageTasks(this._visualHandlers,e,t,n)},r.prototype._performStageTasks=function(e,t,n,i){i=i||{};var a=!1,o=this;H(e,function(u,f){if(!(i.visualType&&i.visualType!==u.visualType)){var h=o._stageTaskMap.get(u.uid),p=h.seriesTaskMap,g=h.overallTask;if(g){var v,m=g.agentStubMap;m.each(function(_){s(i,_)&&(_.dirty(),v=!0)}),v&&g.dirty(),o.updatePayload(g,n);var b=o.getPerformArgs(g,i.block);m.each(function(_){_.perform(b)}),g.perform(b)&&(a=!0)}else p&&p.each(function(_,S){s(i,_)&&_.dirty();var C=o.getPerformArgs(_,i.block);C.skip=!u.performRawSeries&&t.isSeriesFiltered(_.context.model),o.updatePayload(_,n),_.perform(C)&&(a=!0)})}});function s(u,f){return u.setDirty&&(!u.dirtyMap||u.dirtyMap.get(f.__pipeline.id))}this.unfinished=a||this.unfinished},r.prototype.performSeriesTasks=function(e){var t;e.eachSeries(function(n){t=n.dataTask.perform()||t}),this.unfinished=t||this.unfinished},r.prototype.plan=function(){this._pipelineMap.each(function(e){var t=e.tail;do{if(t.__block){e.blockIndex=t.__idxInPipeline;break}t=t.getUpstream()}while(t)})},r.prototype.updatePayload=function(e,t){t!=="remain"&&(e.context.payload=t)},r.prototype._createSeriesStageTask=function(e,t,n,i){var a=this,o=t.seriesTaskMap,s=t.seriesTaskMap=Ge(),u=e.seriesType,f=e.getTargetSeries;e.createOnAllSeries?n.eachRawSeries(h):u?n.eachRawSeriesByType(u,h):f&&f(n,i).each(h);function h(p){var g=p.uid,v=s.set(g,o&&o.get(g)||ny({plan:Yhe,reset:qhe,count:Xhe}));v.context={model:p,ecModel:n,api:i,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:a},a._pipe(p,v)}},r.prototype._createOverallStageTask=function(e,t,n,i){var a=this,o=t.overallTask=t.overallTask||ny({reset:jhe});o.context={ecModel:n,api:i,overallReset:e.overallReset,scheduler:a};var s=o.agentStubMap,u=o.agentStubMap=Ge(),f=e.seriesType,h=e.getTargetSeries,p=!0,g=!1,v="";pi(!e.createOnAllSeries,v),f?n.eachRawSeriesByType(f,m):h?h(n,i).each(m):(p=!1,H(n.getSeries(),m));function m(b){var _=b.uid,S=u.set(_,s&&s.get(_)||(g=!0,ny({reset:Whe,onDirty:Uhe})));S.context={model:b,overallProgress:p},S.agent=o,S.__block=p,a._pipe(b,S)}g&&o.dirty()},r.prototype._pipe=function(e,t){var n=e.uid,i=this._pipelineMap.get(n);!i.head&&(i.head=t),i.tail&&i.tail.pipe(t),i.tail=t,t.__idxInPipeline=i.count++,t.__pipeline=i},r.wrapStageHandler=function(e,t){return Ke(e)&&(e={overallReset:e,seriesType:Zhe(e)}),e.uid=Vp("stageHandler"),t&&(e.visualType=t),e},r}();function jhe(r){r.overallReset(r.ecModel,r.api,r.payload)}function Whe(r){return r.overallProgress&&Ghe}function Ghe(){this.agent.dirty(),this.getDownstream().dirty()}function Uhe(){this.agent&&this.agent.dirty()}function Yhe(r){return r.plan?r.plan(r.model,r.ecModel,r.api,r.payload):null}function qhe(r){r.useClearVisual&&r.data.clearAllVisual();var e=r.resetDefines=Jt(r.reset(r.model,r.ecModel,r.api,r.payload));return e.length>1?Ce(e,function(t,n){return HY(n)}):Khe}var Khe=HY(0);function HY(r){return function(e,t){var n=t.data,i=t.resetDefines[r];if(i&&i.dataEach)for(var a=e.start;a0&&v===f.length-g.length){var m=f.slice(0,v);m!=="data"&&(t.mainType=m,t[g.toLowerCase()]=u,h=!0)}}s.hasOwnProperty(f)&&(n[f]=u,h=!0),h||(i[f]=u)})}return{cptQuery:t,dataQuery:n,otherQuery:i}},r.prototype.filter=function(e,t){var n=this.eventInfo;if(!n)return!0;var i=n.targetEl,a=n.packedEvent,o=n.model,s=n.view;if(!o||!s)return!0;var u=t.cptQuery,f=t.dataQuery;return h(u,o,"mainType")&&h(u,o,"subType")&&h(u,o,"index","componentIndex")&&h(u,o,"name")&&h(u,o,"id")&&h(f,a,"name")&&h(f,a,"dataIndex")&&h(f,a,"dataType")&&(!s.filterForExposedEvent||s.filterForExposedEvent(e,t.otherQuery,i,a));function h(p,g,v,m){return p[v]==null||g[m||v]===p[v]}},r.prototype.afterTrigger=function(){this.eventInfo=null},r}(),f2=["symbol","symbolSize","symbolRotate","symbolOffset"],X3=f2.concat(["symbolKeepAspect"]),ede={createOnAllSeries:!0,performRawSeries:!0,reset:function(r,e){var t=r.getData();if(r.legendIcon&&t.setVisual("legendIcon",r.legendIcon),!r.hasSymbolVisual)return;for(var n={},i={},a=!1,o=0;o=0&&nf(u)?u:.5;var f=r.createRadialGradient(o,s,0,o,s,u);return f}function h2(r,e,t){for(var n=e.type==="radial"?vde(r,e,t):pde(r,e,t),i=e.colorStops,a=0;a0)?null:r==="dashed"?[4*e,2*e]:r==="dotted"?[e]:Ft(r)?[r]:we(r)?r:null}function WN(r){var e=r.style,t=e.lineDash&&e.lineWidth>0&&mde(e.lineDash,e.lineWidth),n=e.lineDashOffset;if(t){var i=e.strokeNoScale&&r.getLineScale?r.getLineScale():1;i&&i!==1&&(t=Ce(t,function(a){return a/i}),n/=i)}return[t,n]}var yde=new ts(!0);function O1(r){var e=r.stroke;return!(e==null||e==="none"||!(r.lineWidth>0))}function Z3(r){return typeof r=="string"&&r!=="none"}function R1(r){var e=r.fill;return e!=null&&e!=="none"}function Q3(r,e){if(e.fillOpacity!=null&&e.fillOpacity!==1){var t=r.globalAlpha;r.globalAlpha=e.fillOpacity*e.opacity,r.fill(),r.globalAlpha=t}else r.fill()}function J3(r,e){if(e.strokeOpacity!=null&&e.strokeOpacity!==1){var t=r.globalAlpha;r.globalAlpha=e.strokeOpacity*e.opacity,r.stroke(),r.globalAlpha=t}else r.stroke()}function d2(r,e,t){var n=gN(e.image,e.__image,t);if(AT(n)){var i=r.createPattern(n,e.repeat||"repeat");if(typeof DOMMatrix=="function"&&i&&i.setTransform){var a=new DOMMatrix;a.translateSelf(e.x||0,e.y||0),a.rotateSelf(0,0,(e.rotation||0)*CC),a.scaleSelf(e.scaleX||1,e.scaleY||1),i.setTransform(a)}return i}}function _de(r,e,t,n){var i,a=O1(t),o=R1(t),s=t.strokePercent,u=s<1,f=!e.path;(!e.silent||u)&&f&&e.createPathProxy();var h=e.path||yde,p=e.__dirty;if(!n){var g=t.fill,v=t.stroke,m=o&&!!g.colorStops,b=a&&!!v.colorStops,_=o&&!!g.image,S=a&&!!v.image,C=void 0,w=void 0,k=void 0,M=void 0,E=void 0;(m||b)&&(E=e.getBoundingRect()),m&&(C=p?h2(r,g,E):e.__canvasFillGradient,e.__canvasFillGradient=C),b&&(w=p?h2(r,v,E):e.__canvasStrokeGradient,e.__canvasStrokeGradient=w),_&&(k=p||!e.__canvasFillPattern?d2(r,g,e):e.__canvasFillPattern,e.__canvasFillPattern=k),S&&(M=p||!e.__canvasStrokePattern?d2(r,v,e):e.__canvasStrokePattern,e.__canvasStrokePattern=k),m?r.fillStyle=C:_&&(k?r.fillStyle=k:o=!1),b?r.strokeStyle=w:S&&(M?r.strokeStyle=M:a=!1)}var I=e.getGlobalScale();h.setScale(I[0],I[1],e.segmentIgnoreThreshold);var O,R;r.setLineDash&&t.lineDash&&(i=WN(e),O=i[0],R=i[1]);var $=!0;(f||p&Im)&&(h.setDPR(r.dpr),u?h.setContext(null):(h.setContext(r),$=!1),h.reset(),e.buildPath(h,e.shape,n),h.toStatic(),e.pathUpdated()),$&&h.rebuildPath(r,u?s:1),O&&(r.setLineDash(O),r.lineDashOffset=R),n||(t.strokeFirst?(a&&J3(r,t),o&&Q3(r,t)):(o&&Q3(r,t),a&&J3(r,t))),O&&r.setLineDash([])}function bde(r,e,t){var n=e.__image=gN(t.image,e.__image,e,e.onload);if(!(!n||!AT(n))){var i=t.x||0,a=t.y||0,o=e.getWidth(),s=e.getHeight(),u=n.width/n.height;if(o==null&&s!=null?o=s*u:s==null&&o!=null?s=o/u:o==null&&s==null&&(o=n.width,s=n.height),t.sWidth&&t.sHeight){var f=t.sx||0,h=t.sy||0;r.drawImage(n,f,h,t.sWidth,t.sHeight,i,a,o,s)}else if(t.sx&&t.sy){var f=t.sx,h=t.sy,p=o-f,g=s-h;r.drawImage(n,f,h,p,g,i,a,o,s)}else r.drawImage(n,i,a,o,s)}}function xde(r,e,t){var n,i=t.text;if(i!=null&&(i+=""),i){r.font=t.font||uu,r.textAlign=t.textAlign,r.textBaseline=t.textBaseline;var a=void 0,o=void 0;r.setLineDash&&t.lineDash&&(n=WN(e),a=n[0],o=n[1]),a&&(r.setLineDash(a),r.lineDashOffset=o),t.strokeFirst?(O1(t)&&r.strokeText(i,t.x,t.y),R1(t)&&r.fillText(i,t.x,t.y)):(R1(t)&&r.fillText(i,t.x,t.y),O1(t)&&r.strokeText(i,t.x,t.y)),a&&r.setLineDash([])}}var eH=["shadowBlur","shadowOffsetX","shadowOffsetY"],tH=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function qY(r,e,t,n,i){var a=!1;if(!n&&(t=t||{},e===t))return!1;if(n||e.opacity!==t.opacity){Ni(r,i),a=!0;var o=Math.max(Math.min(e.opacity,1),0);r.globalAlpha=isNaN(o)?pf.opacity:o}(n||e.blend!==t.blend)&&(a||(Ni(r,i),a=!0),r.globalCompositeOperation=e.blend||pf.blend);for(var s=0;s0&&t.unfinished);t.unfinished||this._zr.flush()}}},e.prototype.getDom=function(){return this._dom},e.prototype.getId=function(){return this.id},e.prototype.getZr=function(){return this._zr},e.prototype.isSSR=function(){return this._ssr},e.prototype.setOption=function(t,n,i){if(!this[Nn]){if(this._disposed){this.id;return}var a,o,s;if(Je(n)&&(i=n.lazyUpdate,a=n.silent,o=n.replaceMerge,s=n.transition,n=n.notMerge),this[Nn]=!0,!this._model||n){var u=new Rfe(this._api),f=this._theme,h=this._model=new FN;h.scheduler=this._scheduler,h.ssr=this._ssr,h.init(null,null,null,f,this._locale,u)}this._model.setOption(t,{replaceMerge:o},v2);var p={seriesTransition:s,optionChanged:!0};if(i)this[Pi]={silent:a,updateParams:p},this[Nn]=!1,this.getZr().wakeUp();else{try{Fd(this),Al.update.call(this,null,p)}catch(g){throw this[Pi]=null,this[Nn]=!1,g}this._ssr||this._zr.flush(),this[Pi]=null,this[Nn]=!1,sm.call(this,a),lm.call(this,a)}}},e.prototype.setTheme=function(){},e.prototype.getModel=function(){return this._model},e.prototype.getOption=function(){return this._model&&this._model.getOption()},e.prototype.getWidth=function(){return this._zr.getWidth()},e.prototype.getHeight=function(){return this._zr.getHeight()},e.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||yt.hasGlobalWindow&&window.devicePixelRatio||1},e.prototype.getRenderedCanvas=function(t){return this.renderToCanvas(t)},e.prototype.renderToCanvas=function(t){t=t||{};var n=this._zr.painter;return n.getRenderedCanvas({backgroundColor:t.backgroundColor||this._model.get("backgroundColor"),pixelRatio:t.pixelRatio||this.getDevicePixelRatio()})},e.prototype.renderToSVGString=function(t){t=t||{};var n=this._zr.painter;return n.renderToString({useViewBox:t.useViewBox})},e.prototype.getSvgDataURL=function(){if(yt.svgSupported){var t=this._zr,n=t.storage.getDisplayList();return H(n,function(i){i.stopAnimation(null,!0)}),t.painter.toDataURL()}},e.prototype.getDataURL=function(t){if(this._disposed){this.id;return}t=t||{};var n=t.excludeComponents,i=this._model,a=[],o=this;H(n,function(u){i.eachComponent({mainType:u},function(f){var h=o._componentsMap[f.__viewId];h.group.ignore||(a.push(h),h.group.ignore=!0)})});var s=this._zr.painter.getType()==="svg"?this.getSvgDataURL():this.renderToCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return H(a,function(u){u.group.ignore=!1}),s},e.prototype.getConnectedDataURL=function(t){if(this._disposed){this.id;return}var n=t.type==="svg",i=this.group,a=Math.min,o=Math.max,s=1/0;if(gH[i]){var u=s,f=s,h=-s,p=-s,g=[],v=t&&t.pixelRatio||this.getDevicePixelRatio();H(ay,function(w,k){if(w.group===i){var M=n?w.getZr().painter.getSvgDom().innerHTML:w.renderToCanvas(et(t)),E=w.getDom().getBoundingClientRect();u=a(E.left,u),f=a(E.top,f),h=o(E.right,h),p=o(E.bottom,p),g.push({dom:M,left:E.left,top:E.top})}}),u*=v,f*=v,h*=v,p*=v;var m=h-u,b=p-f,_=cu.createCanvas(),S=S5(_,{renderer:n?"svg":"canvas"});if(S.resize({width:m,height:b}),n){var C="";return H(g,function(w){var k=w.left-u,M=w.top-f;C+=''+w.dom+""}),S.painter.getSvgRoot().innerHTML=C,t.connectedBackgroundColor&&S.painter.setBackgroundColor(t.connectedBackgroundColor),S.refreshImmediately(),S.painter.toDataURL()}else return t.connectedBackgroundColor&&S.add(new Pt({shape:{x:0,y:0,width:m,height:b},style:{fill:t.connectedBackgroundColor}})),H(g,function(w){var k=new yn({style:{x:w.left*v-u,y:w.top*v-f,image:w.dom}});S.add(k)}),S.refreshImmediately(),_.toDataURL("image/"+(t&&t.type||"png"))}else return this.getDataURL(t)},e.prototype.convertToPixel=function(t,n){return EI(this,"convertToPixel",t,n)},e.prototype.convertFromPixel=function(t,n){return EI(this,"convertFromPixel",t,n)},e.prototype.containPixel=function(t,n){if(this._disposed){this.id;return}var i=this._model,a,o=Qm(i,t);return H(o,function(s,u){u.indexOf("Models")>=0&&H(s,function(f){var h=f.coordinateSystem;if(h&&h.containPoint)a=a||!!h.containPoint(n);else if(u==="seriesModels"){var p=this._chartsMap[f.__viewId];p&&p.containPoint&&(a=a||p.containPoint(n,f))}},this)},this),!!a},e.prototype.getVisual=function(t,n){var i=this._model,a=Qm(i,t,{defaultMainType:"series"}),o=a.seriesModel,s=o.getData(),u=a.hasOwnProperty("dataIndexInside")?a.dataIndexInside:a.hasOwnProperty("dataIndex")?s.indexOfRawIndex(a.dataIndex):null;return u!=null?jN(s,u,n):c_(s,n)},e.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},e.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},e.prototype._initEvents=function(){var t=this;H(Ude,function(n){var i=function(a){var o=t.getModel(),s=a.target,u,f=n==="globalout";if(f?u={}:s&&rf(s,function(m){var b=nt(m);if(b&&b.dataIndex!=null){var _=b.dataModel||o.getSeriesByIndex(b.seriesIndex);return u=_&&_.getDataParams(b.dataIndex,b.dataType,s)||{},!0}else if(b.eventData)return u=me({},b.eventData),!0},!0),u){var h=u.componentType,p=u.componentIndex;(h==="markLine"||h==="markPoint"||h==="markArea")&&(h="series",p=u.seriesIndex);var g=h&&p!=null&&o.getComponent(h,p),v=g&&t[g.mainType==="series"?"_chartsMap":"_componentsMap"][g.__viewId];u.event=a,u.type=n,t._$eventProcessor.eventInfo={targetEl:s,packedEvent:u,model:g,view:v},t.trigger(n,u)}};i.zrEventfulCallAtLast=!0,t._zr.on(n,i,t)}),H(iy,function(n,i){t._messageCenter.on(i,function(a){this.trigger(i,a)},t)}),H(["selectchanged"],function(n){t._messageCenter.on(n,function(i){this.trigger(n,i)},t)}),rde(this._messageCenter,this,this._api)},e.prototype.isDisposed=function(){return this._disposed},e.prototype.clear=function(){if(this._disposed){this.id;return}this.setOption({series:[]},!0)},e.prototype.dispose=function(){if(this._disposed){this.id;return}this._disposed=!0;var t=this.getDom();t&&n9(this.getDom(),YN,"");var n=this,i=n._api,a=n._model;H(n._componentsViews,function(o){o.dispose(a,i)}),H(n._chartsViews,function(o){o.dispose(a,i)}),n._zr.dispose(),n._dom=n._model=n._chartsMap=n._componentsMap=n._chartsViews=n._componentsViews=n._scheduler=n._api=n._zr=n._throttledZrFlush=n._theme=n._coordSysMgr=n._messageCenter=null,delete ay[n.id]},e.prototype.resize=function(t){if(!this[Nn]){if(this._disposed){this.id;return}this._zr.resize(t);var n=this._model;if(this._loadingFX&&this._loadingFX.resize(),!!n){var i=n.resetOption("media"),a=t&&t.silent;this[Pi]&&(a==null&&(a=this[Pi].silent),i=!0,this[Pi]=null),this[Nn]=!0;try{i&&Fd(this),Al.update.call(this,{type:"resize",animation:me({duration:0},t&&t.animation)})}catch(o){throw this[Nn]=!1,o}this[Nn]=!1,sm.call(this,a),lm.call(this,a)}}},e.prototype.showLoading=function(t,n){if(this._disposed){this.id;return}if(Je(t)&&(n=t,t=""),t=t||"default",this.hideLoading(),!!g2[t]){var i=g2[t](this._api,n),a=this._zr;this._loadingFX=i,a.add(i)}},e.prototype.hideLoading=function(){if(this._disposed){this.id;return}this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},e.prototype.makeActionFromEvent=function(t){var n=me({},t);return n.type=iy[t.type],n},e.prototype.dispatchAction=function(t,n){if(this._disposed){this.id;return}if(Je(n)||(n={silent:!!n}),!!N1[t.type]&&this._model){if(this[Nn]){this._pendingActions.push(t);return}var i=n.silent;PI.call(this,t,i);var a=n.flush;a?this._zr.flush():a!==!1&&yt.browser.weChat&&this._throttledZrFlush(),sm.call(this,i),lm.call(this,i)}},e.prototype.updateLabelLayout=function(){eo.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},e.prototype.appendData=function(t){if(this._disposed){this.id;return}var n=t.seriesIndex,i=this.getModel(),a=i.getSeriesByIndex(n);a.appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp()},e.internalField=function(){Fd=function(p){var g=p._scheduler;g.restorePipelines(p._model),g.prepareStageTasks(),AI(p,!0),AI(p,!1),g.plan()},AI=function(p,g){for(var v=p._model,m=p._scheduler,b=g?p._componentsViews:p._chartsViews,_=g?p._componentsMap:p._chartsMap,S=p._zr,C=p._api,w=0;wg.get("hoverLayerThreshold")&&!yt.node&&!yt.worker&&g.eachSeries(function(_){if(!_.preventUsingHoverLayer){var S=p._chartsMap[_.__viewId];S.__alive&&S.eachRendered(function(C){C.states.emphasis&&(C.states.emphasis.hoverLayer=!0)})}})}function o(p,g){var v=p.get("blendMode")||null;g.eachRendered(function(m){m.isGroup||(m.style.blend=v)})}function s(p,g){if(!p.preventAutoZ){var v=p.get("z")||0,m=p.get("zlevel")||0;g.eachRendered(function(b){return u(b,v,m,-1/0),!0})}}function u(p,g,v,m){var b=p.getTextContent(),_=p.getTextGuideLine(),S=p.isGroup;if(S)for(var C=p.childrenRef(),w=0;w0?{duration:b,delay:v.get("delay"),easing:v.get("easing")}:null;g.eachRendered(function(S){if(S.states&&S.states.emphasis){if(cp(S))return;if(S instanceof gt&&yce(S),S.__dirty){var C=S.prevStates;C&&S.useStates(C)}if(m){S.stateTransition=_;var w=S.getTextContent(),k=S.getTextGuideLine();w&&(w.stateTransition=_),k&&(k.stateTransition=_)}S.__dirty&&i(S)}})}pH=function(p){return new(function(g){ae(v,g);function v(){return g!==null&&g.apply(this,arguments)||this}return v.prototype.getCoordinateSystems=function(){return p._coordSysMgr.getCoordinateSystems()},v.prototype.getComponentByElement=function(m){for(;m;){var b=m.__ecComponentInfo;if(b!=null)return p._model.getComponent(b.mainType,b.index);m=m.parent}},v.prototype.enterEmphasis=function(m,b){zs(m,b),ya(p)},v.prototype.leaveEmphasis=function(m,b){Vs(m,b),ya(p)},v.prototype.enterBlur=function(m){b9(m),ya(p)},v.prototype.leaveBlur=function(m){xN(m),ya(p)},v.prototype.enterSelect=function(m){x9(m),ya(p)},v.prototype.leaveSelect=function(m){S9(m),ya(p)},v.prototype.getModel=function(){return p.getModel()},v.prototype.getViewOfComponentModel=function(m){return p.getViewOfComponentModel(m)},v.prototype.getViewOfSeriesModel=function(m){return p.getViewOfSeriesModel(m)},v}(pY))(p)},uq=function(p){function g(v,m){for(var b=0;b=0)){mH.push(t);var a=VY.wrapStageHandler(t,i);a.__prio=e,a.__raw=t,r.push(a)}}function vq(r,e){g2[r]=e}function epe(r,e,t){var n=Ide("registerMap");n&&n(r,e,t)}var tpe=dhe;jf(GN,Bhe);jf(qT,zhe);jf(qT,Vhe);jf(GN,ede);jf(qT,tde);jf(nq,Ade);dq(gY);pq(Ode,Yfe);vq("default",Hhe);is({type:vf,event:vf,update:vf},Or);is({type:LC,event:LC,update:LC},Or);is({type:Jm,event:Jm,update:Jm},Or);is({type:OC,event:OC,update:OC},Or);is({type:ey,event:ey,update:ey},Or);hq("light",Qhe);hq("dark",GY);var yH=[],rpe={registerPreprocessor:dq,registerProcessor:pq,registerPostInit:Xde,registerPostUpdate:Zde,registerUpdateLifecycle:qN,registerAction:is,registerCoordinateSystem:Qde,registerLayout:Jde,registerVisual:jf,registerTransform:tpe,registerLoading:vq,registerMap:epe,registerImpl:Ede,PRIORITY:jde,ComponentModel:Ct,ComponentView:_r,SeriesModel:lr,ChartView:tr,registerComponentModel:function(r){Ct.registerClass(r)},registerComponentView:function(r){_r.registerClass(r)},registerSeriesModel:function(r){lr.registerClass(r)},registerChartView:function(r){tr.registerClass(r)},registerSubTypeDefaulter:function(r,e){Ct.registerSubTypeDefaulter(r,e)},registerPainter:function(r,e){Fle(r,e)}};function vt(r){if(we(r)){H(r,function(e){vt(e)});return}dt(yH,r)>=0||(yH.push(r),Ke(r)&&(r={install:r}),r.install(rpe))}function um(r){return r==null?0:r.length||1}function _H(r){return r}var Hs=function(){function r(e,t,n,i,a,o){this._old=e,this._new=t,this._oldKeyGetter=n||_H,this._newKeyGetter=i||_H,this.context=a,this._diffModeMultiple=o==="multiple"}return r.prototype.add=function(e){return this._add=e,this},r.prototype.update=function(e){return this._update=e,this},r.prototype.updateManyToOne=function(e){return this._updateManyToOne=e,this},r.prototype.updateOneToMany=function(e){return this._updateOneToMany=e,this},r.prototype.updateManyToMany=function(e){return this._updateManyToMany=e,this},r.prototype.remove=function(e){return this._remove=e,this},r.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},r.prototype._executeOneToOne=function(){var e=this._old,t=this._new,n={},i=new Array(e.length),a=new Array(t.length);this._initIndexMap(e,null,i,"_oldKeyGetter"),this._initIndexMap(t,n,a,"_newKeyGetter");for(var o=0;o1){var h=u.shift();u.length===1&&(n[s]=u[0]),this._update&&this._update(h,o)}else f===1?(n[s]=null,this._update&&this._update(u,o)):this._remove&&this._remove(o)}this._performRestAdd(a,n)},r.prototype._executeMultiple=function(){var e=this._old,t=this._new,n={},i={},a=[],o=[];this._initIndexMap(e,n,a,"_oldKeyGetter"),this._initIndexMap(t,i,o,"_newKeyGetter");for(var s=0;s1&&g===1)this._updateManyToOne&&this._updateManyToOne(h,f),i[u]=null;else if(p===1&&g>1)this._updateOneToMany&&this._updateOneToMany(h,f),i[u]=null;else if(p===1&&g===1)this._update&&this._update(h,f),i[u]=null;else if(p>1&&g>1)this._updateManyToMany&&this._updateManyToMany(h,f),i[u]=null;else if(p>1)for(var v=0;v1)for(var s=0;s30}var cm=Je,El=Ce,lpe=typeof Int32Array>"u"?Array:Int32Array,upe="e\0\0",bH=-1,cpe=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],fpe=["_approximateExtent"],xH,gw,fm,hm,RI,dm,NI,fi=function(){function r(e,t){this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","minmaxDownSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","minmaxDownSample","lttbDownSample"];var n,i=!1;mq(e)?(n=e.dimensions,this._dimOmitted=e.isDimensionOmitted(),this._schema=e):(i=!0,n=e),n=n||["x","y"];for(var a={},o=[],s={},u=!1,f={},h=0;h=t)){var n=this._store,i=n.getProvider();this._updateOrdinalMeta();var a=this._nameList,o=this._idList,s=i.getSource().sourceFormat,u=s===$a;if(u&&!i.pure)for(var f=[],h=e;h0},r.prototype.ensureUniqueItemVisual=function(e,t){var n=this._itemVisuals,i=n[e];i||(i=n[e]={});var a=i[t];return a==null&&(a=this.getVisual(t),we(a)?a=a.slice():cm(a)&&(a=me({},a)),i[t]=a),a},r.prototype.setItemVisual=function(e,t,n){var i=this._itemVisuals[e]||{};this._itemVisuals[e]=i,cm(t)?me(i,t):i[t]=n},r.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},r.prototype.setLayout=function(e,t){cm(e)?me(this._layout,e):this._layout[e]=t},r.prototype.getLayout=function(e){return this._layout[e]},r.prototype.getItemLayout=function(e){return this._itemLayouts[e]},r.prototype.setItemLayout=function(e,t,n){this._itemLayouts[e]=n?me(this._itemLayouts[e]||{},t):t},r.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},r.prototype.setItemGraphicEl=function(e,t){var n=this.hostModel&&this.hostModel.seriesIndex;qO(n,this.dataType,e,t),this._graphicEls[e]=t},r.prototype.getItemGraphicEl=function(e){return this._graphicEls[e]},r.prototype.eachItemGraphicEl=function(e,t){H(this._graphicEls,function(n,i){n&&e&&e.call(t,n,i)})},r.prototype.cloneShallow=function(e){return e||(e=new r(this._schema?this._schema:El(this.dimensions,this._getDimInfo,this),this.hostModel)),RI(e,this),e._store=this._store,e},r.prototype.wrapMethod=function(e,t){var n=this[e];Ke(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(e),this[e]=function(){var i=n.apply(this,arguments);return t.apply(this,[i].concat(iN(arguments)))})},r.internalField=function(){xH=function(e){var t=e._invertedIndicesMap;H(t,function(n,i){var a=e._dimInfos[i],o=a.ordinalMeta,s=e._store;if(o){n=t[i]=new lpe(o.categories.length);for(var u=0;u1&&(u+="__ec__"+h),i[t]=u}}}(),r}();function f_(r,e){$N(r)||(r=BN(r)),e=e||{};var t=e.coordDimensions||[],n=e.dimensionsDefine||r.dimensionsDefine||[],i=Ge(),a=[],o=dpe(r,t,n,e.dimensionsCount),s=e.canOmitUnusedDimensions&&bq(o),u=n===r.dimensionsDefine,f=u?_q(r):yq(n),h=e.encodeDefine;!h&&e.encodeDefaulter&&(h=e.encodeDefaulter(r,o));for(var p=Ge(h),g=new kY(o),v=0;v0&&(n.name=i+(a-1)),a++,e.set(i,a)}}function dpe(r,e,t,n){var i=Math.max(r.dimensionsDetectedCount||1,e.length,t.length,n||0);return H(e,function(a){var o;Je(a)&&(o=a.dimsDef)&&(i=Math.max(i,o.length))}),i}function ppe(r,e,t){if(t||e.hasKey(r)){for(var n=0;e.hasKey(r+n);)n++;r+=n}return e.set(r,!0),r}var vpe=function(){function r(e){this.coordSysDims=[],this.axisMap=Ge(),this.categoryAxisMap=Ge(),this.coordSysName=e}return r}();function gpe(r){var e=r.get("coordinateSystem"),t=new vpe(e),n=mpe[e];if(n)return n(r,t,t.axisMap,t.categoryAxisMap),t}var mpe={cartesian2d:function(r,e,t,n){var i=r.getReferringComponents("xAxis",Hr).models[0],a=r.getReferringComponents("yAxis",Hr).models[0];e.coordSysDims=["x","y"],t.set("x",i),t.set("y",a),$d(i)&&(n.set("x",i),e.firstCategoryDimIndex=0),$d(a)&&(n.set("y",a),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=1))},singleAxis:function(r,e,t,n){var i=r.getReferringComponents("singleAxis",Hr).models[0];e.coordSysDims=["single"],t.set("single",i),$d(i)&&(n.set("single",i),e.firstCategoryDimIndex=0)},polar:function(r,e,t,n){var i=r.getReferringComponents("polar",Hr).models[0],a=i.findAxisModel("radiusAxis"),o=i.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],t.set("radius",a),t.set("angle",o),$d(a)&&(n.set("radius",a),e.firstCategoryDimIndex=0),$d(o)&&(n.set("angle",o),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=1))},geo:function(r,e,t,n){e.coordSysDims=["lng","lat"]},parallel:function(r,e,t,n){var i=r.ecModel,a=i.getComponent("parallel",r.get("parallelIndex")),o=e.coordSysDims=a.dimensions.slice();H(a.parallelAxisIndex,function(s,u){var f=i.getComponent("parallelAxis",s),h=o[u];t.set(h,f),$d(f)&&(n.set(h,f),e.firstCategoryDimIndex==null&&(e.firstCategoryDimIndex=u))})}};function $d(r){return r.get("type")==="category"}function ype(r,e,t){t=t||{};var n=t.byIndex,i=t.stackedCoordDimension,a,o,s;_pe(e)?a=e:(o=e.schema,a=o.dimensions,s=e.store);var u=!!(r&&r.get("stack")),f,h,p,g;if(H(a,function(C,w){Be(C)&&(a[w]=C={name:C}),u&&!C.isExtraCoord&&(!n&&!f&&C.ordinalMeta&&(f=C),!h&&C.type!=="ordinal"&&C.type!=="time"&&(!i||i===C.coordDim)&&(h=C))}),h&&!n&&!f&&(n=!0),h){p="__\0ecstackresult_"+r.id,g="__\0ecstackedover_"+r.id,f&&(f.createInvertedIndices=!0);var v=h.coordDim,m=h.type,b=0;H(a,function(C){C.coordDim===v&&b++});var _={name:p,coordDim:v,coordDimIndex:b,type:m,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length},S={name:g,coordDim:g,coordDimIndex:b+1,type:m,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:a.length+1};o?(s&&(_.storeDimIndex=s.ensureCalculationDimension(g,m),S.storeDimIndex=s.ensureCalculationDimension(p,m)),o.appendCalculationDimension(_),o.appendCalculationDimension(S)):(a.push(_),a.push(S))}return{stackedDimension:h&&h.name,stackedByDimension:f&&f.name,isStackedByIndex:n,stackedOverDimension:g,stackResultDimension:p}}function _pe(r){return!mq(r.schema)}function pu(r,e){return!!e&&e===r.getCalculationInfo("stackedDimension")}function xq(r,e){return pu(r,e)?r.getCalculationInfo("stackResultDimension"):e}function bpe(r,e){var t=r.get("coordinateSystem"),n=u_.get(t),i;return e&&e.coordSysDims&&(i=Ce(e.coordSysDims,function(a){var o={name:a},s=e.axisMap.get(a);if(s){var u=s.get("type");o.type=$1(u)}return o})),i||(i=n&&(n.getDimensionsInfo?n.getDimensionsInfo():n.dimensions.slice())||["x","y"]),i}function xpe(r,e,t){var n,i;return t&&H(r,function(a,o){var s=a.coordDim,u=t.categoryAxisMap.get(s);u&&(n==null&&(n=o),a.ordinalMeta=u.getOrdinalMeta(),e&&(a.createInvertedIndices=!0)),a.otherDims.itemName!=null&&(i=!0)}),!i&&n!=null&&(r[n].otherDims.itemName=0),n}function Ks(r,e,t){t=t||{};var n=e.getSourceManager(),i,a=!1;r?(a=!0,i=BN(r)):(i=n.getSource(),a=i.sourceFormat===$a);var o=gpe(e),s=bpe(e,o),u=t.useEncodeDefaulter,f=Ke(u)?u:u?at(cY,s,e):null,h={coordDimensions:s,generateCoord:t.generateCoord,encodeDefine:e.getEncode(),encodeDefaulter:f,canOmitUnusedDimensions:!a},p=f_(i,h),g=xpe(p.dimensions,t.createInvertedIndices,o),v=a?null:n.getSharedDataStore(p),m=ype(e,{schema:p,store:v}),b=new fi(p,e);b.setCalculationInfo(m);var _=g!=null&&Spe(i)?function(S,C,w,k){return k===g?w:this.defaultDimValueGetter(S,C,w,k)}:null;return b.hasItemOption=!1,b.initData(a?i:v,null,_),b}function Spe(r){if(r.sourceFormat===$a){var e=wpe(r.data||[]);return!we(Fp(e))}}function wpe(r){for(var e=0;et[1]&&(t[1]=e[1])},r.prototype.unionExtentFromData=function(e,t){this.unionExtent(e.getApproximateExtent(t))},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.setExtent=function(e,t){var n=this._extent;isNaN(e)||(n[0]=e),isNaN(t)||(n[1]=t)},r.prototype.isInExtentRange=function(e){return this._extent[0]<=e&&this._extent[1]>=e},r.prototype.isBlank=function(){return this._isBlank},r.prototype.setBlank=function(e){this._isBlank=e},r}();MT(as);var Cpe=0,m2=function(){function r(e){this.categories=e.categories||[],this._needCollect=e.needCollect,this._deduplication=e.deduplication,this.uid=++Cpe}return r.createByAxisModel=function(e){var t=e.option,n=t.data,i=n&&Ce(n,Tpe);return new r({categories:i,needCollect:!i,deduplication:t.dedplication!==!1})},r.prototype.getOrdinal=function(e){return this._getOrCreateMap().get(e)},r.prototype.parseAndCollect=function(e){var t,n=this._needCollect;if(!Be(e)&&!n)return e;if(n&&!this._deduplication)return t=this.categories.length,this.categories[t]=e,t;var i=this._getOrCreateMap();return t=i.get(e),t==null&&(n?(t=this.categories.length,this.categories[t]=e,i.set(e,t)):t=NaN),t},r.prototype._getOrCreateMap=function(){return this._map||(this._map=Ge(this.categories))},r}();function Tpe(r){return Je(r)&&r.value!=null?r.value:r+""}function y2(r){return r.type==="interval"||r.type==="log"}function Dpe(r,e,t,n){var i={},a=r[1]-r[0],o=i.interval=K7(a/e);t!=null&&on&&(o=i.interval=n);var s=i.intervalPrecision=Sq(o),u=i.niceTickExtent=[Ir(Math.ceil(r[0]/o)*o,s),Ir(Math.floor(r[1]/o)*o,s)];return kpe(u,r),i}function FI(r){var e=Math.pow(10,hN(r)),t=r/e;return t?t===2?t=3:t===3?t=5:t*=2:t=1,Ir(t*e)}function Sq(r){return jo(r)+2}function SH(r,e,t){r[e]=Math.max(Math.min(r[e],t[1]),t[0])}function kpe(r,e){!isFinite(r[0])&&(r[0]=e[0]),!isFinite(r[1])&&(r[1]=e[1]),SH(r,0,e),SH(r,1,e),r[0]>r[1]&&(r[0]=r[1])}function KT(r,e){return r>=e[0]&&r<=e[1]}function XT(r,e){return e[1]===e[0]?.5:(r-e[0])/(e[1]-e[0])}function ZT(r,e){return r*(e[1]-e[0])+e[0]}var QT=function(r){ae(e,r);function e(t){var n=r.call(this,t)||this;n.type="ordinal";var i=n.getSetting("ordinalMeta");return i||(i=new m2({})),we(i)&&(i=new m2({categories:Ce(i,function(a){return Je(a)?a.value:a})})),n._ordinalMeta=i,n._extent=n.getSetting("extent")||[0,i.categories.length-1],n}return e.prototype.parse=function(t){return t==null?NaN:Be(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},e.prototype.contain=function(t){return t=this.parse(t),KT(t,this._extent)&&this._ordinalMeta.categories[t]!=null},e.prototype.normalize=function(t){return t=this._getTickNumber(this.parse(t)),XT(t,this._extent)},e.prototype.scale=function(t){return t=Math.round(ZT(t,this._extent)),this.getRawOrdinalNumber(t)},e.prototype.getTicks=function(){for(var t=[],n=this._extent,i=n[0];i<=n[1];)t.push({value:i}),i++;return t},e.prototype.getMinorTicks=function(t){},e.prototype.setSortInfo=function(t){if(t==null){this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;return}for(var n=t.ordinalNumbers,i=this._ordinalNumbersByTick=[],a=this._ticksByOrdinalNumber=[],o=0,s=this._ordinalMeta.categories.length,u=Math.min(s,n.length);o=0&&t=0&&t=t},e.prototype.getOrdinalMeta=function(){return this._ordinalMeta},e.prototype.calcNiceTicks=function(){},e.prototype.calcNiceExtent=function(){},e.type="ordinal",e}(as);as.registerClass(QT);var Rc=Ir,js=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="interval",t._interval=0,t._intervalPrecision=2,t}return e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return KT(t,this._extent)},e.prototype.normalize=function(t){return XT(t,this._extent)},e.prototype.scale=function(t){return ZT(t,this._extent)},e.prototype.setExtent=function(t,n){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(n)||(i[1]=parseFloat(n))},e.prototype.unionExtent=function(t){var n=this._extent;t[0]n[1]&&(n[1]=t[1]),this.setExtent(n[0],n[1])},e.prototype.getInterval=function(){return this._interval},e.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Sq(t)},e.prototype.getTicks=function(t){var n=this._interval,i=this._extent,a=this._niceExtent,o=this._intervalPrecision,s=[];if(!n)return s;var u=1e4;i[0]u)return[];var h=s.length?s[s.length-1].value:a[1];return i[1]>h&&(t?s.push({value:Rc(h+n,o)}):s.push({value:i[1]})),s},e.prototype.getMinorTicks=function(t){for(var n=this.getTicks(!0),i=[],a=this.getExtent(),o=1;oa[0]&&v0&&(a=a===null?s:Math.min(a,s))}t[n]=a}}return t}function Dq(r){var e=Epe(r),t=[];return H(r,function(n){var i=n.coordinateSystem,a=i.getBaseAxis(),o=a.getExtent(),s;if(a.type==="category")s=a.getBandWidth();else if(a.type==="value"||a.type==="time"){var u=a.dim+"_"+a.index,f=e[u],h=Math.abs(o[1]-o[0]),p=a.scale.getExtent(),g=Math.abs(p[1]-p[0]);s=f?h/g*f:h}else{var v=n.getData();s=Math.abs(o[1]-o[0])/v.count()}var m=Oe(n.get("barWidth"),s),b=Oe(n.get("barMaxWidth"),s),_=Oe(n.get("barMinWidth")||(Iq(n)?.5:1),s),S=n.get("barGap"),C=n.get("barCategoryGap");t.push({bandWidth:s,barWidth:m,barMaxWidth:b,barMinWidth:_,barGap:S,barCategoryGap:C,axisKey:XN(a),stackId:Cq(n)})}),kq(t)}function kq(r){var e={};H(r,function(n,i){var a=n.axisKey,o=n.bandWidth,s=e[a]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},u=s.stacks;e[a]=s;var f=n.stackId;u[f]||s.autoWidthCount++,u[f]=u[f]||{width:0,maxWidth:0};var h=n.barWidth;h&&!u[f].width&&(u[f].width=h,h=Math.min(s.remainedWidth,h),s.remainedWidth-=h);var p=n.barMaxWidth;p&&(u[f].maxWidth=p);var g=n.barMinWidth;g&&(u[f].minWidth=g);var v=n.barGap;v!=null&&(s.gap=v);var m=n.barCategoryGap;m!=null&&(s.categoryGap=m)});var t={};return H(e,function(n,i){t[i]={};var a=n.stacks,o=n.bandWidth,s=n.categoryGap;if(s==null){var u=Tt(a).length;s=Math.max(35-u*4,15)+"%"}var f=Oe(s,o),h=Oe(n.gap,1),p=n.remainedWidth,g=n.autoWidthCount,v=(p-f)/(g+(g-1)*h);v=Math.max(v,0),H(a,function(S){var C=S.maxWidth,w=S.minWidth;if(S.width){var k=S.width;C&&(k=Math.min(k,C)),w&&(k=Math.max(k,w)),S.width=k,p-=k+h*k,g--}else{var k=v;C&&Ck&&(k=w),k!==v&&(S.width=k,p-=k+h*k,g--)}}),v=(p-f)/(g+(g-1)*h),v=Math.max(v,0);var m=0,b;H(a,function(S,C){S.width||(S.width=v),b=S,m+=S.width*(1+h)}),b&&(m-=b.width*h);var _=-m/2;H(a,function(S,C){t[i][C]=t[i][C]||{bandWidth:o,offset:_,width:S.width},_+=S.width*(1+h)})}),t}function Ipe(r,e,t){if(r&&e){var n=r[XN(e)];return n}}function Mq(r,e){var t=Tq(r,e),n=Dq(t);H(t,function(i){var a=i.getData(),o=i.coordinateSystem,s=o.getBaseAxis(),u=Cq(i),f=n[XN(s)][u],h=f.offset,p=f.width;a.setLayout({bandWidth:f.bandWidth,offset:h,size:p})})}function Aq(r){return{seriesType:r,plan:Gp(),reset:function(e){if(Eq(e)){var t=e.getData(),n=e.coordinateSystem,i=n.getBaseAxis(),a=n.getOtherAxis(i),o=t.getDimensionIndex(t.mapDimension(a.dim)),s=t.getDimensionIndex(t.mapDimension(i.dim)),u=e.get("showBackground",!0),f=t.mapDimension(a.dim),h=t.getCalculationInfo("stackResultDimension"),p=pu(t,f)&&!!t.getCalculationInfo("stackedOnSeries"),g=a.isHorizontal(),v=Ppe(i,a),m=Iq(e),b=e.get("barMinHeight")||0,_=h&&t.getDimensionIndex(h),S=t.getLayout("size"),C=t.getLayout("offset");return{progress:function(w,k){for(var M=w.count,E=m&&Go(M*3),I=m&&u&&Go(M*3),O=m&&Go(M),R=n.master.getRect(),$=g?R.width:R.height,V,z=k.getStore(),B=0;(V=w.next())!=null;){var j=z.get(p?_:o,V),U=z.get(s,V),X=v,ee=void 0;p&&(ee=+j-z.get(o,V));var Z=void 0,re=void 0,de=void 0,ve=void 0;if(g){var _e=n.dataToPoint([j,U]);if(p){var Re=n.dataToPoint([ee,U]);X=Re[0]}Z=X,re=_e[1]+C,de=_e[0]-X,ve=S,Math.abs(de)0?t:1:t))}var Lpe=function(r,e,t,n){for(;t>>1;r[i][1]i&&(this._approxInterval=i);var s=mw.length,u=Math.min(Lpe(mw,this._approxInterval,0,s),s-1);this._interval=mw[u][1],this._minLevelUnit=mw[Math.max(u-1,0)][0]},e.prototype.parse=function(t){return Ft(t)?t:+es(t)},e.prototype.contain=function(t){return KT(this.parse(t),this._extent)},e.prototype.normalize=function(t){return XT(this.parse(t),this._extent)},e.prototype.scale=function(t){return ZT(t,this._extent)},e.type="time",e}(js),mw=[["second",EN],["minute",IN],["hour",ry],["quarter-day",ry*6],["half-day",ry*12],["day",Ea*1.2],["half-week",Ea*3.5],["week",Ea*7],["month",Ea*31],["quarter",Ea*95],["half-year",f3/2],["year",f3]];function Ope(r,e,t,n){var i=es(e),a=es(t),o=function(m){return d3(i,m,n)===d3(a,m,n)},s=function(){return o("year")},u=function(){return s()&&o("month")},f=function(){return u()&&o("day")},h=function(){return f()&&o("hour")},p=function(){return h()&&o("minute")},g=function(){return p()&&o("second")},v=function(){return g()&&o("millisecond")};switch(r){case"year":return s();case"month":return u();case"day":return f();case"hour":return h();case"minute":return p();case"second":return g();case"millisecond":return v()}}function Rpe(r,e){return r/=Ea,r>16?16:r>7.5?7:r>3.5?4:r>1.5?2:1}function Npe(r){var e=30*Ea;return r/=e,r>6?6:r>3?3:r>2?2:1}function Fpe(r){return r/=ry,r>12?12:r>6?6:r>3.5?4:r>2?2:1}function wH(r,e){return r/=e?IN:EN,r>30?30:r>20?20:r>15?15:r>10?10:r>5?5:r>2?2:1}function $pe(r){return K7(r)}function Bpe(r,e,t){var n=new Date(r);switch(hp(e)){case"year":case"month":n[K9(t)](0);case"day":n[X9(t)](1);case"hour":n[Z9(t)](0);case"minute":n[Q9(t)](0);case"second":n[J9(t)](0),n[eY(t)](0)}return n.getTime()}function zpe(r,e,t,n){var i=1e4,a=Y9,o=0;function s($,V,z,B,j,U,X){for(var ee=new Date(V),Z=V,re=ee[B]();Z1&&U===0&&z.unshift({value:z[0].value-Z})}}for(var U=0;U=n[0]&&C<=n[1]&&p++)}var w=(n[1]-n[0])/e;if(p>w*1.5&&g>w/1.5||(f.push(_),p>w||r===a[v]))break}h=[]}}}for(var k=Wt(Ce(f,function($){return Wt($,function(V){return V.value>=n[0]&&V.value<=n[1]&&!V.notAdd})}),function($){return $.length>0}),M=[],E=k.length-1,v=0;v0;)a*=10;var s=[Ir(jpe(n[0]/a)*a),Ir(Hpe(n[1]/a)*a)];this._interval=a,this._niceExtent=s}},e.prototype.calcNiceExtent=function(t){oy.calcNiceExtent.call(this,t),this._fixMin=t.fixMin,this._fixMax=t.fixMax},e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return t=Za(t)/Za(this.base),KT(t,this._extent)},e.prototype.normalize=function(t){return t=Za(t)/Za(this.base),XT(t,this._extent)},e.prototype.scale=function(t){return t=ZT(t,this._extent),yw(this.base,t)},e.type="log",e}(as),Pq=QN.prototype;Pq.getMinorTicks=oy.getMinorTicks;Pq.getLabel=oy.getLabel;function _w(r,e){return Vpe(r,jo(e))}as.registerClass(QN);var Wpe=function(){function r(e,t,n){this._prepareParams(e,t,n)}return r.prototype._prepareParams=function(e,t,n){n[1]0&&u>0&&!f&&(s=0),s<0&&u<0&&!h&&(u=0));var g=this._determinedMin,v=this._determinedMax;return g!=null&&(s=g,f=!0),v!=null&&(u=v,h=!0),{min:s,max:u,minFixed:f,maxFixed:h,isBlank:p}},r.prototype.modifyDataMinMax=function(e,t){this[Upe[e]]=t},r.prototype.setDeterminedMinMax=function(e,t){var n=Gpe[e];this[n]=t},r.prototype.freeze=function(){this.frozen=!0},r}(),Gpe={min:"_determinedMin",max:"_determinedMax"},Upe={min:"_dataMin",max:"_dataMax"};function Lq(r,e,t){var n=r.rawExtentInfo;return n||(n=new Wpe(r,e,t),r.rawExtentInfo=n,n)}function bw(r,e){return e==null?null:gy(e)?NaN:r.parse(e)}function Oq(r,e){var t=r.type,n=Lq(r,e,r.getExtent()).calculate();r.setBlank(n.isBlank);var i=n.min,a=n.max,o=e.ecModel;if(o&&t==="time"){var s=Tq("bar",o),u=!1;if(H(s,function(p){u=u||p.getBaseAxis()===e.axis}),u){var f=Dq(s),h=Ype(i,a,e,f);i=h.min,a=h.max}}return{extent:[i,a],fixMin:n.minFixed,fixMax:n.maxFixed}}function Ype(r,e,t,n){var i=t.axis.getExtent(),a=Math.abs(i[1]-i[0]),o=Ipe(n,t.axis);if(o===void 0)return{min:r,max:e};var s=1/0;H(o,function(v){s=Math.min(v.offset,s)});var u=-1/0;H(o,function(v){u=Math.max(v.offset+v.width,u)}),s=Math.abs(s),u=Math.abs(u);var f=s+u,h=e-r,p=1-(s+u)/a,g=h/p-h;return e+=g*(u/f),r-=g*(s/f),{min:r,max:e}}function Sp(r,e){var t=e,n=Oq(r,t),i=n.extent,a=t.get("splitNumber");r instanceof QN&&(r.base=t.get("logBase"));var o=r.type,s=t.get("interval"),u=o==="interval"||o==="time";r.setExtent(i[0],i[1]),r.calcNiceExtent({splitNumber:a,fixMin:n.fixMin,fixMax:n.fixMax,minInterval:u?t.get("minInterval"):null,maxInterval:u?t.get("maxInterval"):null}),s!=null&&r.setInterval&&r.setInterval(s)}function JT(r,e){if(e=e||r.get("type"),e)switch(e){case"category":return new QT({ordinalMeta:r.getOrdinalMeta?r.getOrdinalMeta():r.getCategories(),extent:[1/0,-1/0]});case"time":return new ZN({locale:r.ecModel.getLocaleModel(),useUTC:r.ecModel.get("useUTC")});default:return new(as.getClass(e)||js)}}function qpe(r){var e=r.scale.getExtent(),t=e[0],n=e[1];return!(t>0&&n>0||t<0&&n<0)}function qp(r){var e=r.getLabelModel().get("formatter"),t=r.type==="category"?r.scale.getExtent()[0]:null;return r.scale.type==="time"?function(n){return function(i,a){return r.scale.getFormattedLabel(i,a,n)}}(e):Be(e)?function(n){return function(i){var a=r.scale.getLabel(i),o=n.replace("{value}",a??"");return o}}(e):Ke(e)?function(n){return function(i,a){return t!=null&&(a=i.value-t),n(JN(r,i),a,i.level!=null?{level:i.level}:null)}}(e):function(n){return r.scale.getLabel(n)}}function JN(r,e){return r.type==="category"?r.scale.getLabel(e):e.value}function Kpe(r){var e=r.model,t=r.scale;if(!(!e.get(["axisLabel","show"])||t.isBlank())){var n,i,a=t.getExtent();t instanceof QT?i=t.count():(n=t.getTicks(),i=n.length);var o=r.getLabelModel(),s=qp(r),u,f=1;i>40&&(f=Math.ceil(i/40));for(var h=0;hr[1]&&(r[1]=i[1])})}var h_=function(){function r(){}return r.prototype.getNeedCrossZero=function(){var e=this.option;return!e.scale},r.prototype.getCoordSysModel=function(){},r}(),Qpe=1e-8;function TH(r,e){return Math.abs(r-e)i&&(n=o,i=u)}if(n)return eve(n.exterior);var f=this.getBoundingRect();return[f.x+f.width/2,f.y+f.height/2]},e.prototype.getBoundingRect=function(t){var n=this._rect;if(n&&!t)return n;var i=[1/0,1/0],a=[-1/0,-1/0],o=this.geometries;return H(o,function(s){s.type==="polygon"?DH(s.exterior,i,a,t):H(s.points,function(u){DH(u,i,a,t)})}),isFinite(i[0])&&isFinite(i[1])&&isFinite(a[0])&&isFinite(a[1])||(i[0]=i[1]=a[0]=a[1]=0),n=new ft(i[0],i[1],a[0]-i[0],a[1]-i[1]),t||(this._rect=n),n},e.prototype.contain=function(t){var n=this.getBoundingRect(),i=this.geometries;if(!n.contain(t[0],t[1]))return!1;e:for(var a=0,o=i.length;a>1^-(s&1),u=u>>1^-(u&1),s+=i,u+=a,i=s,a=u,n.push([s/t,u/t])}return n}function nve(r,e){return r=rve(r),Ce(Wt(r.features,function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0}),function(t){var n=t.properties,i=t.geometry,a=[];switch(i.type){case"Polygon":var o=i.coordinates;a.push(new kH(o[0],o.slice(1)));break;case"MultiPolygon":H(i.coordinates,function(u){u[0]&&a.push(new kH(u[0],u.slice(1)))});break;case"LineString":a.push(new MH([i.coordinates]));break;case"MultiLineString":a.push(new MH(i.coordinates))}var s=new Fq(n[e||"name"],a,n.cp);return s.properties=n,s})}var Py=Ot();function Bq(r,e){var t=Ce(e,function(n){return r.scale.parse(n)});return r.type==="time"&&t.length>0&&(t.sort(),t.unshift(t[0]),t.push(t[t.length-1])),t}function ive(r){var e=r.getLabelModel().get("customValues");if(e){var t=qp(r),n=r.scale.getExtent(),i=Bq(r,e),a=Wt(i,function(o){return o>=n[0]&&o<=n[1]});return{labels:Ce(a,function(o){var s={value:o};return{formattedLabel:t(s),rawLabel:r.scale.getLabel(s),tickValue:o}})}}return r.type==="category"?ove(r):lve(r)}function ave(r,e){var t=r.getTickModel().get("customValues");if(t){var n=r.scale.getExtent(),i=Bq(r,t);return{ticks:Wt(i,function(a){return a>=n[0]&&a<=n[1]})}}return r.type==="category"?sve(r,e):{ticks:Ce(r.scale.getTicks(),function(a){return a.value})}}function ove(r){var e=r.getLabelModel(),t=zq(r,e);return!e.get("show")||r.scale.isBlank()?{labels:[],labelCategoryInterval:t.labelCategoryInterval}:t}function zq(r,e){var t=Vq(r,"labels"),n=eF(e),i=Hq(t,n);if(i)return i;var a,o;return Ke(n)?a=Gq(r,n):(o=n==="auto"?uve(r):n,a=Wq(r,o)),jq(t,n,{labels:a,labelCategoryInterval:o})}function sve(r,e){var t=Vq(r,"ticks"),n=eF(e),i=Hq(t,n);if(i)return i;var a,o;if((!e.get("show")||r.scale.isBlank())&&(a=[]),Ke(n))a=Gq(r,n,!0);else if(n==="auto"){var s=zq(r,r.getLabelModel());o=s.labelCategoryInterval,a=Ce(s.labels,function(u){return u.tickValue})}else o=n,a=Wq(r,o,!0);return jq(t,n,{ticks:a,tickCategoryInterval:o})}function lve(r){var e=r.scale.getTicks(),t=qp(r);return{labels:Ce(e,function(n,i){return{level:n.level,formattedLabel:t(n,i),rawLabel:r.scale.getLabel(n),tickValue:n.value}})}}function Vq(r,e){return Py(r)[e]||(Py(r)[e]=[])}function Hq(r,e){for(var t=0;t40&&(s=Math.max(1,Math.floor(o/40)));for(var u=a[0],f=r.dataToCoord(u+1)-r.dataToCoord(u),h=Math.abs(f*Math.cos(n)),p=Math.abs(f*Math.sin(n)),g=0,v=0;u<=a[1];u+=s){var m=0,b=0,_=t_(t({value:u}),e.font,"center","top");m=_.width*1.3,b=_.height*1.3,g=Math.max(g,m,7),v=Math.max(v,b,7)}var S=g/h,C=v/p;isNaN(S)&&(S=1/0),isNaN(C)&&(C=1/0);var w=Math.max(0,Math.floor(Math.min(S,C))),k=Py(r.model),M=r.getExtent(),E=k.lastAutoInterval,I=k.lastTickCount;return E!=null&&I!=null&&Math.abs(E-w)<=1&&Math.abs(I-o)<=1&&E>w&&k.axisExtent0===M[0]&&k.axisExtent1===M[1]?w=E:(k.lastTickCount=o,k.lastAutoInterval=w,k.axisExtent0=M[0],k.axisExtent1=M[1]),w}function fve(r){var e=r.getLabelModel();return{axisRotate:r.getRotate?r.getRotate():r.isHorizontal&&!r.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function Wq(r,e,t){var n=qp(r),i=r.scale,a=i.getExtent(),o=r.getLabelModel(),s=[],u=Math.max((e||0)+1,1),f=a[0],h=i.count();f!==0&&u>1&&h/u>2&&(f=Math.round(Math.ceil(f/u)*u));var p=Rq(r),g=o.get("showMinLabel")||p,v=o.get("showMaxLabel")||p;g&&f!==a[0]&&b(a[0]);for(var m=f;m<=a[1];m+=u)b(m);v&&m-u!==a[1]&&b(a[1]);function b(_){var S={value:_};s.push(t?_:{formattedLabel:n(S),rawLabel:i.getLabel(S),tickValue:_})}return s}function Gq(r,e,t){var n=r.scale,i=qp(r),a=[];return H(n.getTicks(),function(o){var s=n.getLabel(o),u=o.value;e(o.value,s)&&a.push(t?u:{formattedLabel:i(o),rawLabel:s,tickValue:u})}),a}var AH=[0,1],vo=function(){function r(e,t,n){this.onBand=!1,this.inverse=!1,this.dim=e,this.scale=t,this._extent=n||[0,0]}return r.prototype.contain=function(e){var t=this._extent,n=Math.min(t[0],t[1]),i=Math.max(t[0],t[1]);return e>=n&&e<=i},r.prototype.containData=function(e){return this.scale.contain(e)},r.prototype.getExtent=function(){return this._extent.slice()},r.prototype.getPixelPrecision=function(e){return Y7(e||this.scale.getExtent(),this._extent)},r.prototype.setExtent=function(e,t){var n=this._extent;n[0]=e,n[1]=t},r.prototype.dataToCoord=function(e,t){var n=this._extent,i=this.scale;return e=i.normalize(e),this.onBand&&i.type==="ordinal"&&(n=n.slice(),EH(n,i.count())),Ut(e,AH,n,t)},r.prototype.coordToData=function(e,t){var n=this._extent,i=this.scale;this.onBand&&i.type==="ordinal"&&(n=n.slice(),EH(n,i.count()));var a=Ut(e,n,AH,t);return this.scale.scale(a)},r.prototype.pointToData=function(e,t){},r.prototype.getTicksCoords=function(e){e=e||{};var t=e.tickModel||this.getTickModel(),n=ave(this,t),i=n.ticks,a=Ce(i,function(s){return{coord:this.dataToCoord(this.scale.type==="ordinal"?this.scale.getRawOrdinalNumber(s):s),tickValue:s}},this),o=t.get("alignWithLabel");return hve(this,a,o,e.clamp),a},r.prototype.getMinorTicksCoords=function(){if(this.scale.type==="ordinal")return[];var e=this.model.getModel("minorTick"),t=e.get("splitNumber");t>0&&t<100||(t=5);var n=this.scale.getMinorTicks(t),i=Ce(n,function(a){return Ce(a,function(o){return{coord:this.dataToCoord(o),tickValue:o}},this)},this);return i},r.prototype.getViewLabels=function(){return ive(this).labels},r.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},r.prototype.getTickModel=function(){return this.model.getModel("axisTick")},r.prototype.getBandWidth=function(){var e=this._extent,t=this.scale.getExtent(),n=t[1]-t[0]+(this.onBand?1:0);n===0&&(n=1);var i=Math.abs(e[1]-e[0]);return Math.abs(i)/n},r.prototype.calculateCategoryInterval=function(){return cve(this)},r}();function EH(r,e){var t=r[1]-r[0],n=e,i=t/n/2;r[0]+=i,r[1]-=i}function hve(r,e,t,n){var i=e.length;if(!r.onBand||t||!i)return;var a=r.getExtent(),o,s;if(i===1)e[0].coord=a[0],o=e[1]={coord:a[1],tickValue:e[0].tickValue};else{var u=e[i-1].tickValue-e[0].tickValue,f=(e[i-1].coord-e[0].coord)/u;H(e,function(v){v.coord-=f/2});var h=r.scale.getExtent();s=1+h[1]-e[i-1].tickValue,o={coord:e[i-1].coord+f*s,tickValue:h[1]+1},e.push(o)}var p=a[0]>a[1];g(e[0].coord,a[0])&&(n?e[0].coord=a[0]:e.shift()),n&&g(a[0],e[0].coord)&&e.unshift({coord:a[0]}),g(a[1],o.coord)&&(n?o.coord=a[1]:e.pop()),n&&g(o.coord,a[1])&&e.push({coord:a[1]});function g(v,m){return v=Ir(v),m=Ir(m),p?v>m:vi&&(i+=pm);var v=Math.atan2(s,o);if(v<0&&(v+=pm),v>=n&&v<=i||v+pm>=n&&v+pm<=i)return u[0]=h,u[1]=p,f-t;var m=t*Math.cos(n)+r,b=t*Math.sin(n)+e,_=t*Math.cos(i)+r,S=t*Math.sin(i)+e,C=(m-o)*(m-o)+(b-s)*(b-s),w=(_-o)*(_-o)+(S-s)*(S-s);return C0){e=e/180*Math.PI,io.fromArray(r[0]),or.fromArray(r[1]),Pr.fromArray(r[2]),lt.sub(Uo,io,or),lt.sub(Vo,Pr,or);var t=Uo.len(),n=Vo.len();if(!(t<.001||n<.001)){Uo.scale(1/t),Vo.scale(1/n);var i=Uo.dot(Vo),a=Math.cos(e);if(a1&<.copy(li,Pr),li.toArray(r[1])}}}}function yve(r,e,t){if(t<=180&&t>0){t=t/180*Math.PI,io.fromArray(r[0]),or.fromArray(r[1]),Pr.fromArray(r[2]),lt.sub(Uo,or,io),lt.sub(Vo,Pr,or);var n=Uo.len(),i=Vo.len();if(!(n<.001||i<.001)){Uo.scale(1/n),Vo.scale(1/i);var a=Uo.dot(e),o=Math.cos(t);if(a=u)lt.copy(li,Pr);else{li.scaleAndAdd(Vo,s/Math.tan(Math.PI/2-h));var p=Pr.x!==or.x?(li.x-or.x)/(Pr.x-or.x):(li.y-or.y)/(Pr.y-or.y);if(isNaN(p))return;p<0?lt.copy(li,or):p>1&<.copy(li,Pr)}li.toArray(r[1])}}}}function zI(r,e,t,n){var i=t==="normal",a=i?r:r.ensureState(t);a.ignore=e;var o=n.get("smooth");o&&o===!0&&(o=.3),a.shape=a.shape||{},o>0&&(a.shape.smooth=o);var s=n.getModel("lineStyle").getLineStyle();i?r.useStyle(s):a.style=s}function _ve(r,e){var t=e.smooth,n=e.points;if(n)if(r.moveTo(n[0][0],n[0][1]),t>0&&n.length>=3){var i=Vl(n[0],n[1]),a=Vl(n[1],n[2]);if(!i||!a){r.lineTo(n[1][0],n[1][1]),r.lineTo(n[2][0],n[2][1]);return}var o=Math.min(i,a)*t,s=DC([],n[1],n[0],o/i),u=DC([],n[1],n[2],o/a),f=DC([],s,u,.5);r.bezierCurveTo(s[0],s[1],s[0],s[1],f[0],f[1]),r.bezierCurveTo(u[0],u[1],u[0],u[1],n[2][0],n[2][1])}else for(var h=1;h0){w(R*O,0,o);var $=R+E;$<0&&k(-$*O,1)}else k(-E*O,1)}}function w(E,I,O){E!==0&&(f=!0);for(var R=I;R0)for(var $=0;$0;$--){var j=O[$-1]*B;w(-j,$,o)}}}function M(E){var I=E<0?-1:1;E=Math.abs(E);for(var O=Math.ceil(E/(o-1)),R=0;R0?w(O,0,R+1):w(-O,o-R-1,o),E-=O,E<=0)return}return f}function bve(r,e,t,n){return Kq(r,"x","width",e,t)}function Xq(r,e,t,n){return Kq(r,"y","height",e,t)}function Zq(r){var e=[];r.sort(function(b,_){return _.priority-b.priority});var t=new ft(0,0,0,0);function n(b){if(!b.ignore){var _=b.ensureState("emphasis");_.ignore==null&&(_.ignore=!1)}b.ignore=!0}for(var i=0;i=0&&n.attr(a.oldLayoutSelect),dt(g,"emphasis")>=0&&n.attr(a.oldLayoutEmphasis)),Bt(n,f,t,u)}else if(n.attr(f),!zp(n).valueAnimation){var p=it(n.style.opacity,1);n.style.opacity=0,pr(n,{style:{opacity:p}},t,u)}if(a.oldLayout=f,n.states.select){var v=a.oldLayoutSelect={};xw(v,f,Sw),xw(v,n.states.select,Sw)}if(n.states.emphasis){var m=a.oldLayoutEmphasis={};xw(m,f,Sw),xw(m,n.states.emphasis,Sw)}H9(n,u,h,t,t)}if(i&&!i.ignore&&!i.invisible){var a=wve(i),o=a.oldLayout,b={points:i.shape.points};o?(i.attr({shape:o}),Bt(i,{shape:b},t)):(i.setShape(b),i.style.strokePercent=0,pr(i,{style:{strokePercent:1}},t)),a.oldLayout=b}},r}(),HI=Ot();function Tve(r){r.registerUpdateLifecycle("series:beforeupdate",function(e,t,n){var i=HI(t).labelManager;i||(i=HI(t).labelManager=new Cve),i.clearLabels()}),r.registerUpdateLifecycle("series:layoutlabels",function(e,t,n){var i=HI(t).labelManager;n.updatedSeries.forEach(function(a){i.addLabelsOfSeries(t.getViewOfSeriesModel(a))}),i.updateLayoutConfig(t),i.layout(t),i.processLabelsOverall()})}var jI=Math.sin,WI=Math.cos,Qq=Math.PI,Fc=Math.PI*2,Dve=180/Qq,Jq=function(){function r(){}return r.prototype.reset=function(e){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,e||4)},r.prototype.moveTo=function(e,t){this._add("M",e,t)},r.prototype.lineTo=function(e,t){this._add("L",e,t)},r.prototype.bezierCurveTo=function(e,t,n,i,a,o){this._add("C",e,t,n,i,a,o)},r.prototype.quadraticCurveTo=function(e,t,n,i){this._add("Q",e,t,n,i)},r.prototype.arc=function(e,t,n,i,a,o){this.ellipse(e,t,n,n,0,i,a,o)},r.prototype.ellipse=function(e,t,n,i,a,o,s,u){var f=s-o,h=!u,p=Math.abs(f),g=Ul(p-Fc)||(h?f>=Fc:-f>=Fc),v=f>0?f%Fc:f%Fc+Fc,m=!1;g?m=!0:Ul(p)?m=!1:m=v>=Qq==!!h;var b=e+n*WI(o),_=t+i*jI(o);this._start&&this._add("M",b,_);var S=Math.round(a*Dve);if(g){var C=1/this._p,w=(h?1:-1)*(Fc-C);this._add("A",n,i,S,1,+h,e+n*WI(o+w),t+i*jI(o+w)),C>.01&&this._add("A",n,i,S,0,+h,b,_)}else{var k=e+n*WI(s),M=t+i*jI(s);this._add("A",n,i,S,+m,+h,k,M)}},r.prototype.rect=function(e,t,n,i){this._add("M",e,t),this._add("l",n,0),this._add("l",0,i),this._add("l",-n,0),this._add("Z")},r.prototype.closePath=function(){this._d.length>0&&this._add("Z")},r.prototype._add=function(e,t,n,i,a,o,s,u,f){for(var h=[],p=this._p,g=1;g"}function Rve(r){return""}function iF(r,e){e=e||{};var t=e.newline?` -`:"";function n(i){var a=i.children,o=i.tag,s=i.attrs,u=i.text;return Ove(o,s)+(o!=="style"?ui(u):u||"")+(a?""+t+Ce(a,function(f){return n(f)}).join(t)+t:"")+Rve(o)}return n(r)}function Nve(r,e,t){t=t||{};var n=t.newline?` -`:"",i=" {"+n,a=n+"}",o=Ce(Tt(r),function(u){return u+i+Ce(Tt(r[u]),function(f){return f+":"+r[u][f]+";"}).join(n)+a}).join(n),s=Ce(Tt(e),function(u){return"@keyframes "+u+i+Ce(Tt(e[u]),function(f){return f+i+Ce(Tt(e[u][f]),function(h){var p=e[u][f][h];return h==="d"&&(p='path("'+p+'")'),h+":"+p+";"}).join(n)+a}).join(n)+a}).join(n);return!o&&!s?"":[""].join(n)}function x2(r){return{zrId:r,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function OH(r,e,t,n){return cn("svg","root",{width:r,height:e,xmlns:eK,"xmlns:xlink":tK,version:"1.1",baseProfile:"full",viewBox:n?"0 0 "+r+" "+e:!1},t)}var Fve=0;function nK(){return Fve++}var RH={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},Vc="transform-origin";function $ve(r,e,t){var n=me({},r.shape);me(n,e),r.buildPath(t,n);var i=new Jq;return i.reset($7(r)),t.rebuildPath(i,1),i.generateStr(),i.getStr()}function Bve(r,e){var t=e.originX,n=e.originY;(t||n)&&(r[Vc]=t+"px "+n+"px")}var zve={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function iK(r,e){var t=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[t]=r,t}function Vve(r,e,t){var n=r.shape.paths,i={},a,o;if(H(n,function(u){var f=x2(t.zrId);f.animation=!0,eD(u,{},f,!0);var h=f.cssAnims,p=f.cssNodes,g=Tt(h),v=g.length;if(v){o=g[v-1];var m=h[o];for(var b in m){var _=m[b];i[b]=i[b]||{d:""},i[b].d+=_.d||""}for(var S in p){var C=p[S].animation;C.indexOf(o)>=0&&(a=C)}}}),!!a){e.d=!1;var s=iK(i,t);return a.replace(o,s)}}function NH(r){return Be(r)?RH[r]?"cubic-bezier("+RH[r]+")":uN(r)?r:"":""}function eD(r,e,t,n){var i=r.animators,a=i.length,o=[];if(r instanceof CN){var s=Vve(r,e,t);if(s)o.push(s);else if(!a)return}else if(!a)return;for(var u={},f=0;f0}).length){var he=iK(I,t);return he+" "+C[0]+" both"}}for(var _ in u){var s=b(u[_]);s&&o.push(s)}if(o.length){var S=t.zrId+"-cls-"+nK();t.cssNodes["."+S]={animation:o.join(",")},e.class=S}}function Hve(r,e,t){if(!r.ignore)if(r.isSilent()){var n={"pointer-events":"none"};FH(n,e,t)}else{var i=r.states.emphasis&&r.states.emphasis.style?r.states.emphasis.style:{},a=i.fill;if(!a){var o=r.style&&r.style.fill,s=r.states.select&&r.states.select.style&&r.states.select.style.fill,u=r.currentStates.indexOf("select")>=0&&s||o;u&&(a=LO(u))}var f=i.lineWidth;if(f){var h=!i.strokeNoScale&&r.transform?r.transform[0]:1;f=f/h}var n={cursor:"pointer"};a&&(n.fill=a),i.stroke&&(n.stroke=i.stroke),f&&(n["stroke-width"]=f),FH(n,e,t)}}function FH(r,e,t,n){var i=JSON.stringify(r),a=t.cssStyleCache[i];a||(a=t.zrId+"-cls-"+nK(),t.cssStyleCache[i]=a,t.cssNodes["."+a+":hover"]=r),e.class=e.class?e.class+" "+a:a}var Ly=Math.round;function aK(r){return r&&Be(r.src)}function oK(r){return r&&Ke(r.toDataURL)}function aF(r,e,t,n){Ive(function(i,a){var o=i==="fill"||i==="stroke";o&&F7(a)?lK(e,r,i,n):o&&cN(a)?uK(t,r,i,n):r[i]=a,o&&n.ssr&&a==="none"&&(r["pointer-events"]="visible")},e,t,!1),Kve(t,r,n)}function oF(r,e){var t=$le(e);t&&(t.each(function(n,i){n!=null&&(r[(LH+i).toLowerCase()]=n+"")}),e.isSilent()&&(r[LH+"silent"]="true"))}function $H(r){return Ul(r[0]-1)&&Ul(r[1])&&Ul(r[2])&&Ul(r[3]-1)}function jve(r){return Ul(r[4])&&Ul(r[5])}function sF(r,e,t){if(e&&!(jve(e)&&$H(e))){var n=1e4;r.transform=$H(e)?"translate("+Ly(e[4]*n)/n+" "+Ly(e[5]*n)/n+")":ole(e)}}function BH(r,e,t){for(var n=r.points,i=[],a=0;a"u"){var _="Image width/height must been given explictly in svg-ssr renderer.";pi(g,_),pi(v,_)}else if(g==null||v==null){var S=function($,V){if($){var z=$.elm,B=g||V.width,j=v||V.height;$.tag==="pattern"&&(f?(j=1,B/=a.width):h&&(B=1,j/=a.height)),$.attrs.width=B,$.attrs.height=j,z&&(z.setAttribute("width",B),z.setAttribute("height",j))}},C=gN(m,null,r,function($){u||S(E,$),S(p,$)});C&&C.width&&C.height&&(g=g||C.width,v=v||C.height)}p=cn("image","img",{href:m,width:g,height:v}),o.width=g,o.height=v}else i.svgElement&&(p=et(i.svgElement),o.width=i.svgWidth,o.height=i.svgHeight);if(p){var w,k;u?w=k=1:f?(k=1,w=o.width/a.width):h?(w=1,k=o.height/a.height):o.patternUnits="userSpaceOnUse",w!=null&&!isNaN(w)&&(o.width=w),k!=null&&!isNaN(k)&&(o.height=k);var M=B7(i);M&&(o.patternTransform=M);var E=cn("pattern","",o,[p]),I=iF(E),O=n.patternCache,R=O[I];R||(R=n.zrId+"-p"+n.patternIdx++,O[I]=R,o.id=R,E=n.defs[R]=cn("pattern",R,o,[p])),e[t]=TT(R)}}function Xve(r,e,t){var n=t.clipPathCache,i=t.defs,a=n[r.id];if(!a){a=t.zrId+"-c"+t.clipPathIdx++;var o={id:a};n[r.id]=a,i[a]=cn("clipPath",a,o,[sK(r,t)])}e["clip-path"]=TT(a)}function HH(r){return document.createTextNode(r)}function qc(r,e,t){r.insertBefore(e,t)}function jH(r,e){r.removeChild(e)}function WH(r,e){r.appendChild(e)}function cK(r){return r.parentNode}function fK(r){return r.nextSibling}function GI(r,e){r.textContent=e}var GH=58,Zve=120,Qve=cn("","");function S2(r){return r===void 0}function Bo(r){return r!==void 0}function Jve(r,e,t){for(var n={},i=e;i<=t;++i){var a=r[i].key;a!==void 0&&(n[a]=i)}return n}function $m(r,e){var t=r.key===e.key,n=r.tag===e.tag;return n&&t}function Oy(r){var e,t=r.children,n=r.tag;if(Bo(n)){var i=r.elm=rK(n);if(lF(Qve,r),we(t))for(e=0;ea?(m=t[u+1]==null?null:t[u+1].elm,hK(r,m,t,i,u)):H1(r,e,n,a))}function Qd(r,e){var t=e.elm=r.elm,n=r.children,i=e.children;r!==e&&(lF(r,e),S2(e.text)?Bo(n)&&Bo(i)?n!==i&&ege(t,n,i):Bo(i)?(Bo(r.text)&&GI(t,""),hK(t,null,i,0,i.length-1)):Bo(n)?H1(t,n,0,n.length-1):Bo(r.text)&&GI(t,""):r.text!==e.text&&(Bo(n)&&H1(t,n,0,n.length-1),GI(t,e.text)))}function tge(r,e){if($m(r,e))Qd(r,e);else{var t=r.elm,n=cK(t);Oy(e),n!==null&&(qc(n,e.elm,fK(t)),H1(n,[r],0,0))}return e}var rge=0,nge=function(){function r(e,t,n){if(this.type="svg",this.refreshHover=UH(),this.configLayer=UH(),this.storage=t,this._opts=n=me({},n),this.root=e,this._id="zr"+rge++,this._oldVNode=OH(n.width,n.height),e&&!n.ssr){var i=this._viewport=document.createElement("div");i.style.cssText="position:relative;overflow:hidden";var a=this._svgDom=this._oldVNode.elm=rK("svg");lF(null,this._oldVNode),i.appendChild(a),e.appendChild(i)}this.resize(n.width,n.height)}return r.prototype.getType=function(){return this.type},r.prototype.getViewportRoot=function(){return this._viewport},r.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},r.prototype.getSvgDom=function(){return this._svgDom},r.prototype.refresh=function(){if(this.root){var e=this.renderToVNode({willUpdate:!0});e.attrs.style="position:absolute;left:0;top:0;user-select:none",tge(this._oldVNode,e),this._oldVNode=e}},r.prototype.renderOneToVNode=function(e){return VH(e,x2(this._id))},r.prototype.renderToVNode=function(e){e=e||{};var t=this.storage.getDisplayList(!0),n=this._width,i=this._height,a=x2(this._id);a.animation=e.animation,a.willUpdate=e.willUpdate,a.compress=e.compress,a.emphasis=e.emphasis,a.ssr=this._opts.ssr;var o=[],s=this._bgVNode=ige(n,i,this._backgroundColor,a);s&&o.push(s);var u=e.compress?null:this._mainVNode=cn("g","main",{},[]);this._paintList(t,a,u?u.children:o),u&&o.push(u);var f=Ce(Tt(a.defs),function(g){return a.defs[g]});if(f.length&&o.push(cn("defs","defs",{},f)),e.animation){var h=Nve(a.cssNodes,a.cssAnims,{newline:!0});if(h){var p=cn("style","stl",{},[],h);o.push(p)}}return OH(n,i,o,e.useViewBox)},r.prototype.renderToString=function(e){return e=e||{},iF(this.renderToVNode({animation:it(e.cssAnimation,!0),emphasis:it(e.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:it(e.useViewBox,!0)}),{newline:!0})},r.prototype.setBackgroundColor=function(e){this._backgroundColor=e},r.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},r.prototype._paintList=function(e,t,n){for(var i=e.length,a=[],o=0,s,u,f=0,h=0;h=0&&!(g&&u&&g[b]===u[b]);b--);for(var _=m-1;_>b;_--)o--,s=a[o-1];for(var S=b+1;S=s)}}for(var p=this.__startIndex;p15)break}}j.prevElClipPaths&&S.restore()};if(C)if(C.length===0)O=_.__endIndex;else for(var $=v.dpr,V=0;V0&&e>i[0]){for(u=0;ue);u++);s=n[i[u]]}if(i.splice(u+1,0,e),n[e]=t,!t.virtual)if(s){var f=s.dom;f.nextSibling?o.insertBefore(t.dom,f.nextSibling):o.appendChild(t.dom)}else o.firstChild?o.insertBefore(t.dom,o.firstChild):o.appendChild(t.dom);t.painter||(t.painter=this)}},r.prototype.eachLayer=function(e,t){for(var n=this._zlevelList,i=0;i0?ww:0),this._needsManuallyCompositing),h.__builtin__||rN("ZLevel "+f+" has been used by unkown layer "+h.id),h!==a&&(h.__used=!0,h.__startIndex!==u&&(h.__dirty=!0),h.__startIndex=u,h.incremental?h.__drawIndex=-1:h.__drawIndex=u,t(u),a=h),i.__dirty&qo&&!i.__inHover&&(h.__dirty=!0,h.incremental&&h.__drawIndex<0&&(h.__drawIndex=u))}t(u),this.eachBuiltinLayer(function(p,g){!p.__used&&p.getElementCount()>0&&(p.__dirty=!0,p.__startIndex=p.__endIndex=p.__drawIndex=0),p.__dirty&&p.__drawIndex<0&&(p.__drawIndex=p.__startIndex)})},r.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},r.prototype._clearLayer=function(e){e.clear()},r.prototype.setBackgroundColor=function(e){this._backgroundColor=e,H(this._layers,function(t){t.setUnpainted()})},r.prototype.configLayer=function(e,t){if(t){var n=this._layerConfig;n[e]?ot(n[e],t,!0):n[e]=t;for(var i=0;i-1&&(f.style.stroke=f.style.fill,f.style.fill="#fff",f.style.lineWidth=2),n},e.type="series.line",e.dependencies=["grid","polar"],e.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},e}(lr);function wp(r,e){var t=r.mapDimensionsAll("defaultedLabel"),n=t.length;if(n===1){var i=bp(r,e,t[0]);return i!=null?i+"":null}else if(n){for(var a=[],o=0;o=0&&n.push(e[a])}return n.join(" ")}var d_=function(r){ae(e,r);function e(t,n,i,a){var o=r.call(this)||this;return o.updateData(t,n,i,a),o}return e.prototype._createSymbol=function(t,n,i,a,o){this.removeAll();var s=jr(t,-1,-1,2,2,null,o);s.attr({z2:100,culling:!0,scaleX:a[0]/2,scaleY:a[1]/2}),s.drift=hge,this._symbolType=t,this.add(s)},e.prototype.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(null,t)},e.prototype.getSymbolType=function(){return this._symbolType},e.prototype.getSymbolPath=function(){return this.childAt(0)},e.prototype.highlight=function(){zs(this.childAt(0))},e.prototype.downplay=function(){Vs(this.childAt(0))},e.prototype.setZ=function(t,n){var i=this.childAt(0);i.zlevel=t,i.z=n},e.prototype.setDraggable=function(t,n){var i=this.childAt(0);i.draggable=t,i.cursor=!n&&t?"move":i.cursor},e.prototype.updateData=function(t,n,i,a){this.silent=!1;var o=t.getItemVisual(n,"symbol")||"circle",s=t.hostModel,u=e.getSymbolSize(t,n),f=o!==this._symbolType,h=a&&a.disableAnimation;if(f){var p=t.getItemVisual(n,"symbolKeepAspect");this._createSymbol(o,t,n,u,p)}else{var g=this.childAt(0);g.silent=!1;var v={scaleX:u[0]/2,scaleY:u[1]/2};h?g.attr(v):Bt(g,v,s,n),co(g)}if(this._updateCommon(t,n,u,i,a),f){var g=this.childAt(0);if(!h){var v={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:g.style.opacity}};g.scaleX=g.scaleY=0,g.style.opacity=0,pr(g,v,s,n)}}h&&this.childAt(0).stopAnimation("leave")},e.prototype._updateCommon=function(t,n,i,a,o){var s=this.childAt(0),u=t.hostModel,f,h,p,g,v,m,b,_,S;if(a&&(f=a.emphasisItemStyle,h=a.blurItemStyle,p=a.selectItemStyle,g=a.focus,v=a.blurScope,b=a.labelStatesModels,_=a.hoverScale,S=a.cursorStyle,m=a.emphasisDisabled),!a||t.hasItemOption){var C=a&&a.itemModel?a.itemModel:t.getItemModel(n),w=C.getModel("emphasis");f=w.getModel("itemStyle").getItemStyle(),p=C.getModel(["select","itemStyle"]).getItemStyle(),h=C.getModel(["blur","itemStyle"]).getItemStyle(),g=w.get("focus"),v=w.get("blurScope"),m=w.get("disabled"),b=hn(C),_=w.getShallow("scale"),S=C.getShallow("cursor")}var k=t.getItemVisual(n,"symbolRotate");s.attr("rotation",(k||0)*Math.PI/180||0);var M=Hf(t.getItemVisual(n,"symbolOffset"),i);M&&(s.x=M[0],s.y=M[1]),S&&s.attr("cursor",S);var E=t.getItemVisual(n,"style"),I=E.fill;if(s instanceof yn){var O=s.style;s.useStyle(me({image:O.image,x:O.x,y:O.y,width:O.width,height:O.height},E))}else s.__isEmptyBrush?s.useStyle(me({},E)):s.useStyle(E),s.style.decal=null,s.setColor(I,o&&o.symbolInnerColor),s.style.strokeNoScale=!0;var R=t.getItemVisual(n,"liftZ"),$=this._z2;R!=null?$==null&&(this._z2=s.z2,s.z2+=R):$!=null&&(s.z2=$,this._z2=null);var V=o&&o.useNameLabel;An(s,b,{labelFetcher:u,labelDataIndex:n,defaultText:z,inheritColor:I,defaultOpacity:E.opacity});function z(U){return V?t.getName(U):wp(t,U)}this._sizeX=i[0]/2,this._sizeY=i[1]/2;var B=s.ensureState("emphasis");B.style=f,s.ensureState("select").style=p,s.ensureState("blur").style=h;var j=_==null||_===!0?Math.max(1.1,3/this._sizeY):isFinite(_)&&_>0?+_:1;B.scaleX=this._sizeX*j,B.scaleY=this._sizeY*j,this.setSymbolScale(1),xr(this,g,v,m)},e.prototype.setSymbolScale=function(t){this.scaleX=this.scaleY=t},e.prototype.fadeOut=function(t,n,i){var a=this.childAt(0),o=nt(this).dataIndex,s=i&&i.animation;if(this.silent=a.silent=!0,i&&i.fadeLabel){var u=a.getTextContent();u&&hu(u,{style:{opacity:0}},n,{dataIndex:o,removeOpt:s,cb:function(){a.removeTextContent()}})}else a.removeTextContent();hu(a,{style:{opacity:0},scaleX:0,scaleY:0},n,{dataIndex:o,cb:t,removeOpt:s})},e.getSymbolSize=function(t,n){return Yp(t.getItemVisual(n,"symbolSize"))},e}(rt);function hge(r,e){this.parent.drift(r,e)}function YI(r,e,t,n){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(n.isIgnore&&n.isIgnore(t))&&!(n.clipShape&&!n.clipShape.contain(e[0],e[1]))&&r.getItemVisual(t,"symbol")!=="none"}function KH(r){return r!=null&&!Je(r)&&(r={isIgnore:r}),r||{}}function XH(r){var e=r.hostModel,t=e.getModel("emphasis");return{emphasisItemStyle:t.getModel("itemStyle").getItemStyle(),blurItemStyle:e.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:e.getModel(["select","itemStyle"]).getItemStyle(),focus:t.get("focus"),blurScope:t.get("blurScope"),emphasisDisabled:t.get("disabled"),hoverScale:t.get("scale"),labelStatesModels:hn(e),cursorStyle:e.get("cursor")}}var p_=function(){function r(e){this.group=new rt,this._SymbolCtor=e||d_}return r.prototype.updateData=function(e,t){this._progressiveEls=null,t=KH(t);var n=this.group,i=e.hostModel,a=this._data,o=this._SymbolCtor,s=t.disableAnimation,u=XH(e),f={disableAnimation:s},h=t.getSymbolPoint||function(p){return e.getItemLayout(p)};a||n.removeAll(),e.diff(a).add(function(p){var g=h(p);if(YI(e,g,p,t)){var v=new o(e,p,u,f);v.setPosition(g),e.setItemGraphicEl(p,v),n.add(v)}}).update(function(p,g){var v=a.getItemGraphicEl(g),m=h(p);if(!YI(e,m,p,t)){n.remove(v);return}var b=e.getItemVisual(p,"symbol")||"circle",_=v&&v.getSymbolType&&v.getSymbolType();if(!v||_&&_!==b)n.remove(v),v=new o(e,p,u,f),v.setPosition(m);else{v.updateData(e,p,u,f);var S={x:m[0],y:m[1]};s?v.attr(S):Bt(v,S,i)}n.add(v),e.setItemGraphicEl(p,v)}).remove(function(p){var g=a.getItemGraphicEl(p);g&&g.fadeOut(function(){n.remove(g)},i)}).execute(),this._getSymbolPoint=h,this._data=e},r.prototype.updateLayout=function(){var e=this,t=this._data;t&&t.eachItemGraphicEl(function(n,i){var a=e._getSymbolPoint(i);n.setPosition(a),n.markRedraw()})},r.prototype.incrementalPrepareUpdate=function(e){this._seriesScope=XH(e),this._data=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(e,t,n){this._progressiveEls=[],n=KH(n);function i(u){u.isGroup||(u.incremental=!0,u.ensureState("emphasis").hoverLayer=!0)}for(var a=e.start;a0?t=n[0]:n[1]<0&&(t=n[1]),t}function vK(r,e,t,n){var i=NaN;r.stacked&&(i=t.get(t.getCalculationInfo("stackedOverDimension"),n)),isNaN(i)&&(i=r.valueStart);var a=r.baseDataOffset,o=[];return o[a]=t.get(r.baseDim,n),o[1-a]=i,e.dataToPoint(o)}function pge(r,e){var t=[];return e.diff(r).add(function(n){t.push({cmd:"+",idx:n})}).update(function(n,i){t.push({cmd:"=",idx:i,idx1:n})}).remove(function(n){t.push({cmd:"-",idx:n})}).execute(),t}function vge(r,e,t,n,i,a,o,s){for(var u=pge(r,e),f=[],h=[],p=[],g=[],v=[],m=[],b=[],_=pK(i,e,o),S=r.getLayout("points")||[],C=e.getLayout("points")||[],w=0;w=i||b<0)break;if(_f(S,C)){if(u){b+=a;continue}break}if(b===t)r[a>0?"moveTo":"lineTo"](S,C),p=S,g=C;else{var w=S-f,k=C-h;if(w*w+k*k<.5){b+=a;continue}if(o>0){for(var M=b+a,E=e[M*2],I=e[M*2+1];E===S&&I===C&&_=n||_f(E,I))v=S,m=C;else{$=E-f,V=I-h;var j=S-f,U=E-S,X=C-h,ee=I-C,Z=void 0,re=void 0;if(s==="x"){Z=Math.abs(j),re=Math.abs(U);var de=$>0?1:-1;v=S-de*Z*o,m=C,z=S+de*re*o,B=C}else if(s==="y"){Z=Math.abs(X),re=Math.abs(ee);var ve=V>0?1:-1;v=S,m=C-ve*Z*o,z=S,B=C+ve*re*o}else Z=Math.sqrt(j*j+X*X),re=Math.sqrt(U*U+ee*ee),R=re/(re+Z),v=S-$*o*(1-R),m=C-V*o*(1-R),z=S+$*o*R,B=C+V*o*R,z=Il(z,Pl(E,S)),B=Il(B,Pl(I,C)),z=Pl(z,Il(E,S)),B=Pl(B,Il(I,C)),$=z-S,V=B-C,v=S-$*Z/re,m=C-V*Z/re,v=Il(v,Pl(f,S)),m=Il(m,Pl(h,C)),v=Pl(v,Il(f,S)),m=Pl(m,Il(h,C)),$=S-v,V=C-m,z=S+$*re/Z,B=C+V*re/Z}r.bezierCurveTo(p,g,v,m,S,C),p=z,g=B}else r.lineTo(S,C)}f=S,h=C,b+=a}return _}var gK=function(){function r(){this.smooth=0,this.smoothConstraint=!0}return r}(),gge=function(r){ae(e,r);function e(t){var n=r.call(this,t)||this;return n.type="ec-polyline",n}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new gK},e.prototype.buildPath=function(t,n){var i=n.points,a=0,o=i.length/2;if(n.connectNulls){for(;o>0&&_f(i[o*2-2],i[o*2-1]);o--);for(;a=0){var k=f?(m-u)*w+u:(v-s)*w+s;return f?[t,k]:[k,t]}s=v,u=m;break;case o.C:v=a[p++],m=a[p++],b=a[p++],_=a[p++],S=a[p++],C=a[p++];var M=f?m1(s,v,b,S,t,h):m1(u,m,_,C,t,h);if(M>0)for(var E=0;E=0){var k=f?ln(u,m,_,C,I):ln(s,v,b,S,I);return f?[t,k]:[k,t]}}s=S,u=C;break}}},e}(gt),mge=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e}(gK),mK=function(r){ae(e,r);function e(t){var n=r.call(this,t)||this;return n.type="ec-polygon",n}return e.prototype.getDefaultShape=function(){return new mge},e.prototype.buildPath=function(t,n){var i=n.points,a=n.stackedOnPoints,o=0,s=i.length/2,u=n.smoothMonotone;if(n.connectNulls){for(;s>0&&_f(i[s*2-2],i[s*2-1]);s--);for(;oe){a?t.push(o(a,u,e)):i&&t.push(o(i,u,0),o(i,u,e));break}else i&&(t.push(o(i,u,0)),i=null),t.push(u),a=u}return t}function bge(r,e,t){var n=r.getVisual("visualMeta");if(!(!n||!n.length||!r.count())&&e.type==="cartesian2d"){for(var i,a,o=n.length-1;o>=0;o--){var s=r.getDimensionInfo(n[o].dimension);if(i=s&&s.coordDim,i==="x"||i==="y"){a=n[o];break}}if(a){var u=e.getAxis(i),f=Ce(a.stops,function(w){return{coord:u.toGlobalCoord(u.dataToCoord(w.value)),color:w.color}}),h=f.length,p=a.outerColors.slice();h&&f[0].coord>f[h-1].coord&&(f.reverse(),p.reverse());var g=_ge(f,i==="x"?t.getWidth():t.getHeight()),v=g.length;if(!v&&h)return f[0].coord<0?p[1]?p[1]:f[h-1].color:p[0]?p[0]:f[0].color;var m=10,b=g[0].coord-m,_=g[v-1].coord+m,S=_-b;if(S<.001)return"transparent";H(g,function(w){w.offset=(w.coord-b)/S}),g.push({offset:v?g[v-1].offset:.5,color:p[1]||"transparent"}),g.unshift({offset:v?g[0].offset:.5,color:p[0]||"transparent"});var C=new o_(0,0,0,0,g,!0);return C[i]=b,C[i+"2"]=_,C}}}function xge(r,e,t){var n=r.get("showAllSymbol"),i=n==="auto";if(!(n&&!i)){var a=t.getAxesByScale("ordinal")[0];if(a&&!(i&&Sge(a,e))){var o=e.mapDimension(a.dim),s={};return H(a.getViewLabels(),function(u){var f=a.scale.getRawOrdinalNumber(u.tickValue);s[f]=1}),function(u){return!s.hasOwnProperty(e.get(o,u))}}}}function Sge(r,e){var t=r.getExtent(),n=Math.abs(t[1]-t[0])/r.scale.count();isNaN(n)&&(n=0);for(var i=e.count(),a=Math.max(1,Math.round(i/5)),o=0;on)return!1;return!0}function wge(r,e){return isNaN(r)||isNaN(e)}function Cge(r){for(var e=r.length/2;e>0&&wge(r[e*2-2],r[e*2-1]);e--);return e-1}function t4(r,e){return[r[e*2],r[e*2+1]]}function Tge(r,e,t){for(var n=r.length/2,i=t==="x"?0:1,a,o,s=0,u=-1,f=0;f=e||a>=e&&o<=e){u=f;break}s=f,a=o}return{range:[s,u],t:(e-a)/(o-a)}}function bK(r){if(r.get(["endLabel","show"]))return!0;for(var e=0;e0&&t.get(["emphasis","lineStyle","width"])==="bolder"){var re=m.getState("emphasis").style;re.lineWidth=+m.style.lineWidth+1}nt(m).seriesIndex=t.seriesIndex,xr(m,X,ee,Z);var de=e4(t.get("smooth")),ve=t.get("smoothMonotone");if(m.setShape({smooth:de,smoothMonotone:ve,connectNulls:I}),b){var _e=s.getCalculationInfo("stackedOnSeries"),Re=0;b.useStyle(Qe(f.getAreaStyle(),{fill:z,opacity:.7,lineJoin:"bevel",decal:s.getVisual("style").decal})),_e&&(Re=e4(_e.get("smooth"))),b.setShape({smooth:de,stackedOnSmooth:Re,smoothMonotone:ve,connectNulls:I}),Mn(b,t,"areaStyle"),nt(b).seriesIndex=t.seriesIndex,xr(b,X,ee,Z)}var Le=this._changePolyState;s.eachItemGraphicEl(function(je){je&&(je.onHoverStateChange=Le)}),this._polyline.onHoverStateChange=Le,this._data=s,this._coordSys=a,this._stackedOnPoints=M,this._points=h,this._step=$,this._valueOrigin=w,t.get("triggerLineEvent")&&(this.packEventData(t,m),b&&this.packEventData(t,b))},e.prototype.packEventData=function(t,n){nt(n).eventData={componentType:"series",componentSubType:"line",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"line"}},e.prototype.highlight=function(t,n,i,a){var o=t.getData(),s=kf(o,a);if(this._changePolyState("emphasis"),!(s instanceof Array)&&s!=null&&s>=0){var u=o.getLayout("points"),f=o.getItemGraphicEl(s);if(!f){var h=u[s*2],p=u[s*2+1];if(isNaN(h)||isNaN(p)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(h,p))return;var g=t.get("zlevel")||0,v=t.get("z")||0;f=new d_(o,s),f.x=h,f.y=p,f.setZ(g,v);var m=f.getSymbolPath().getTextContent();m&&(m.zlevel=g,m.z=v,m.z2=this._polyline.z2+1),f.__temp=!0,o.setItemGraphicEl(s,f),f.stopSymbolAnimation(!0),this.group.add(f)}f.highlight()}else tr.prototype.highlight.call(this,t,n,i,a)},e.prototype.downplay=function(t,n,i,a){var o=t.getData(),s=kf(o,a);if(this._changePolyState("normal"),s!=null&&s>=0){var u=o.getItemGraphicEl(s);u&&(u.__temp?(o.setItemGraphicEl(s,null),this.group.remove(u)):u.downplay())}else tr.prototype.downplay.call(this,t,n,i,a)},e.prototype._changePolyState=function(t){var n=this._polygon;C1(this._polyline,t),n&&C1(n,t)},e.prototype._newPolyline=function(t){var n=this._polyline;return n&&this._lineGroup.remove(n),n=new gge({shape:{points:t},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(n),this._polyline=n,n},e.prototype._newPolygon=function(t,n){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new mK({shape:{points:t,stackedOnPoints:n},segmentIgnoreThreshold:2}),this._lineGroup.add(i),this._polygon=i,i},e.prototype._initSymbolLabelAnimation=function(t,n,i){var a,o,s=n.getBaseAxis(),u=s.inverse;n.type==="cartesian2d"?(a=s.isHorizontal(),o=!1):n.type==="polar"&&(a=s.dim==="angle",o=!0);var f=t.hostModel,h=f.get("animationDuration");Ke(h)&&(h=h(null));var p=f.get("animationDelay")||0,g=Ke(p)?p(null):p;t.eachItemGraphicEl(function(v,m){var b=v;if(b){var _=[v.x,v.y],S=void 0,C=void 0,w=void 0;if(i)if(o){var k=i,M=n.pointToCoord(_);a?(S=k.startAngle,C=k.endAngle,w=-M[1]/180*Math.PI):(S=k.r0,C=k.r,w=M[0])}else{var E=i;a?(S=E.x,C=E.x+E.width,w=v.x):(S=E.y+E.height,C=E.y,w=v.y)}var I=C===S?0:(w-S)/(C-S);u&&(I=1-I);var O=Ke(p)?p(m):h*I+g,R=b.getSymbolPath(),$=R.getTextContent();b.attr({scaleX:0,scaleY:0}),b.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:O}),$&&$.animateFrom({style:{opacity:0}},{duration:300,delay:O}),R.disableLabelAnimation=!0}})},e.prototype._initOrUpdateEndLabel=function(t,n,i){var a=t.getModel("endLabel");if(bK(t)){var o=t.getData(),s=this._polyline,u=o.getLayout("points");if(!u){s.removeTextContent(),this._endLabel=null;return}var f=this._endLabel;f||(f=this._endLabel=new Rt({z2:200}),f.ignoreClip=!0,s.setTextContent(this._endLabel),s.disableLabelAnimation=!0);var h=Cge(u);h>=0&&(An(s,hn(t,"endLabel"),{inheritColor:i,labelFetcher:t,labelDataIndex:h,defaultText:function(p,g,v){return v!=null?dK(o,v):wp(o,p)},enableTextSetter:!0},Dge(a,n)),s.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},e.prototype._endLabelOnDuring=function(t,n,i,a,o,s,u){var f=this._endLabel,h=this._polyline;if(f){t<1&&a.originalX==null&&(a.originalX=f.x,a.originalY=f.y);var p=i.getLayout("points"),g=i.hostModel,v=g.get("connectNulls"),m=s.get("precision"),b=s.get("distance")||0,_=u.getBaseAxis(),S=_.isHorizontal(),C=_.inverse,w=n.shape,k=C?S?w.x:w.y+w.height:S?w.x+w.width:w.y,M=(S?b:0)*(C?-1:1),E=(S?0:-b)*(C?-1:1),I=S?"x":"y",O=Tge(p,k,I),R=O.range,$=R[1]-R[0],V=void 0;if($>=1){if($>1&&!v){var z=t4(p,R[0]);f.attr({x:z[0]+M,y:z[1]+E}),o&&(V=g.getRawValue(R[0]))}else{var z=h.getPointOn(k,I);z&&f.attr({x:z[0]+M,y:z[1]+E});var B=g.getRawValue(R[0]),j=g.getRawValue(R[1]);o&&(V=i9(i,m,B,j,O.t))}a.lastFrameIndex=R[0]}else{var U=t===1||a.lastFrameIndex>0?R[0]:0,z=t4(p,U);o&&(V=g.getRawValue(U)),f.attr({x:z[0]+M,y:z[1]+E})}if(o){var X=zp(f);typeof X.setLabelText=="function"&&X.setLabelText(V)}}},e.prototype._doUpdateAnimation=function(t,n,i,a,o,s,u){var f=this._polyline,h=this._polygon,p=t.hostModel,g=vge(this._data,t,this._stackedOnPoints,n,this._coordSys,i,this._valueOrigin),v=g.current,m=g.stackedOnCurrent,b=g.next,_=g.stackedOnNext;if(o&&(m=Ll(g.stackedOnCurrent,g.current,i,o,u),v=Ll(g.current,null,i,o,u),_=Ll(g.stackedOnNext,g.next,i,o,u),b=Ll(g.next,null,i,o,u)),JH(v,b)>3e3||h&&JH(m,_)>3e3){f.stopAnimation(),f.setShape({points:b}),h&&(h.stopAnimation(),h.setShape({points:b,stackedOnPoints:_}));return}f.shape.__points=g.current,f.shape.points=v;var S={shape:{points:b}};g.current!==v&&(S.shape.__points=g.next),f.stopAnimation(),Bt(f,S,p),h&&(h.setShape({points:v,stackedOnPoints:m}),h.stopAnimation(),Bt(h,{shape:{stackedOnPoints:_}},p),f.shape.points!==h.shape.points&&(h.shape.points=f.shape.points));for(var C=[],w=g.status,k=0;ke&&(e=r[t]);return isFinite(e)?e:NaN},min:function(r){for(var e=1/0,t=0;t10&&o.type==="cartesian2d"&&a){var u=o.getBaseAxis(),f=o.getOtherAxis(u),h=u.getExtent(),p=n.getDevicePixelRatio(),g=Math.abs(h[1]-h[0])*(p||1),v=Math.round(s/g);if(isFinite(v)&&v>1){a==="lttb"?e.setData(i.lttbDownSample(i.mapDimension(f.dim),1/v)):a==="minmax"&&e.setData(i.minmaxDownSample(i.mapDimension(f.dim),1/v));var m=void 0;Be(a)?m=Mge[a]:Ke(a)&&(m=a),m&&e.setData(i.downSample(i.mapDimension(f.dim),1/v,m,Age))}}}}}function Ege(r){r.registerChartView(kge),r.registerSeriesModel(fge),r.registerLayout(g_("line",!0)),r.registerVisual({seriesType:"line",reset:function(e){var t=e.getData(),n=e.getModel("lineStyle").getLineStyle();n&&!n.stroke&&(n.stroke=t.getVisual("style").fill),t.setVisual("legendLineStyle",n)}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,xK("line"))}var Ry=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,n){return Ks(null,this,{useEncodeDefaulter:!0})},e.prototype.getMarkerPosition=function(t,n,i){var a=this.coordinateSystem;if(a&&a.clampData){var o=a.clampData(t),s=a.dataToPoint(o);if(i)H(a.getAxes(),function(g,v){if(g.type==="category"&&n!=null){var m=g.getTicksCoords(),b=g.getTickModel().get("alignWithLabel"),_=o[v],S=n[v]==="x1"||n[v]==="y1";if(S&&!b&&(_+=1),m.length<2)return;if(m.length===2){s[v]=g.toGlobalCoord(g.getExtent()[S?1:0]);return}for(var C=void 0,w=void 0,k=1,M=0;M_){w=(E+C)/2;break}M===1&&(k=I-m[0].tickValue)}w==null&&(C?C&&(w=m[m.length-1].coord):w=m[0].coord),s[v]=g.toGlobalCoord(w)}});else{var u=this.getData(),f=u.getLayout("offset"),h=u.getLayout("size"),p=a.getBaseAxis().isHorizontal()?0:1;s[p]+=f+h/2}return s}return[NaN,NaN]},e.type="series.__base_bar__",e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},e}(lr);lr.registerClass(Ry);var Ige=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(){return Ks(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},e.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1},e.prototype.getProgressiveThreshold=function(){var t=this.get("progressiveThreshold"),n=this.get("largeThreshold");return n>t&&(t=n),t},e.prototype.brushSelector=function(t,n,i){return i.rect(n.getItemLayout(t))},e.type="series.bar",e.dependencies=["grid","polar"],e.defaultOption=xu(Ry.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),e}(Ry),Pge=function(){function r(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=Math.PI*2,this.clockwise=!0}return r}(),j1=function(r){ae(e,r);function e(t){var n=r.call(this,t)||this;return n.type="sausage",n}return e.prototype.getDefaultShape=function(){return new Pge},e.prototype.buildPath=function(t,n){var i=n.cx,a=n.cy,o=Math.max(n.r0||0,0),s=Math.max(n.r,0),u=(s-o)*.5,f=o+u,h=n.startAngle,p=n.endAngle,g=n.clockwise,v=Math.PI*2,m=g?p-hMath.PI/2&&hs)return!0;s=p}return!1},e.prototype._isOrderDifferentInView=function(t,n){for(var i=n.scale,a=i.getExtent(),o=Math.max(0,a[0]),s=Math.min(a[1],i.getOrdinalMeta().categories.length-1);o<=s;++o)if(t.ordinalNumbers[o]!==i.getRawOrdinalNumber(o))return!0},e.prototype._updateSortWithinSameData=function(t,n,i,a){if(this._isOrderChangedWithinSameData(t,n,i)){var o=this._dataSort(t,i,n);this._isOrderDifferentInView(o,i)&&(this._removeOnRenderedListener(a),a.dispatchAction({type:"changeAxisOrder",componentType:i.dim+"Axis",axisId:i.index,sortInfo:o}))}},e.prototype._dispatchInitSort=function(t,n,i){var a=n.baseAxis,o=this._dataSort(t,a,function(s){return t.get(t.mapDimension(n.otherAxis.dim),s)});i.dispatchAction({type:"changeAxisOrder",componentType:a.dim+"Axis",isInitSort:!0,axisId:a.index,sortInfo:o})},e.prototype.remove=function(t,n){this._clear(this._model),this._removeOnRenderedListener(n)},e.prototype.dispose=function(t,n){this._removeOnRenderedListener(n)},e.prototype._removeOnRenderedListener=function(t){this._onRendered&&(t.getZr().off("rendered",this._onRendered),this._onRendered=null)},e.prototype._clear=function(t){var n=this.group,i=this._data;t&&t.isAnimationEnabled()&&i&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],i.eachItemGraphicEl(function(a){Ty(a,t,nt(a).dataIndex)})):n.removeAll(),this._data=null,this._isFirstFrame=!0},e.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},e.type="bar",e}(tr),r4={cartesian2d:function(r,e){var t=e.width<0?-1:1,n=e.height<0?-1:1;t<0&&(e.x+=e.width,e.width=-e.width),n<0&&(e.y+=e.height,e.height=-e.height);var i=r.x+r.width,a=r.y+r.height,o=KI(e.x,r.x),s=XI(e.x+e.width,i),u=KI(e.y,r.y),f=XI(e.y+e.height,a),h=si?s:o,e.y=p&&u>a?f:u,e.width=h?0:s-o,e.height=p?0:f-u,t<0&&(e.x+=e.width,e.width=-e.width),n<0&&(e.y+=e.height,e.height=-e.height),h||p},polar:function(r,e){var t=e.r0<=e.r?1:-1;if(t<0){var n=e.r;e.r=e.r0,e.r0=n}var i=XI(e.r,r.r),a=KI(e.r0,r.r0);e.r=i,e.r0=a;var o=i-a<0;if(t<0){var n=e.r;e.r=e.r0,e.r0=n}return o}},n4={cartesian2d:function(r,e,t,n,i,a,o,s,u){var f=new Pt({shape:me({},n),z2:1});if(f.__dataIndex=t,f.name="item",a){var h=f.shape,p=i?"height":"width";h[p]=0}return f},polar:function(r,e,t,n,i,a,o,s,u){var f=!i&&u?j1:gi,h=new f({shape:n,z2:1});h.name="item";var p=SK(i);if(h.calculateTextPosition=Lge(p,{isRoundCap:f===j1}),a){var g=h.shape,v=i?"r":"endAngle",m={};g[v]=i?n.r0:n.startAngle,m[v]=n[v],(s?Bt:pr)(h,{shape:m},a)}return h}};function Fge(r,e){var t=r.get("realtimeSort",!0),n=e.getBaseAxis();if(t&&n.type==="category"&&e.type==="cartesian2d")return{baseAxis:n,otherAxis:e.getOtherAxis(n)}}function i4(r,e,t,n,i,a,o,s){var u,f;a?(f={x:n.x,width:n.width},u={y:n.y,height:n.height}):(f={y:n.y,height:n.height},u={x:n.x,width:n.width}),s||(o?Bt:pr)(t,{shape:u},e,i,null);var h=e?r.baseAxis.model:null;(o?Bt:pr)(t,{shape:f},h,i)}function a4(r,e){for(var t=0;t0?1:-1,o=n.height>0?1:-1;return{x:n.x+a*i/2,y:n.y+o*i/2,width:n.width-a*i,height:n.height-o*i}},polar:function(r,e,t){var n=r.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle,clockwise:n.clockwise}}};function zge(r){return r.startAngle!=null&&r.endAngle!=null&&r.startAngle===r.endAngle}function SK(r){return function(e){var t=e?"Arc":"Angle";return function(n){switch(n){case"start":case"insideStart":case"end":case"insideEnd":return n+t;default:return n}}}(r)}function s4(r,e,t,n,i,a,o,s){var u=e.getItemVisual(t,"style");if(s){if(!a.get("roundCap")){var h=r.shape,p=of(n.getModel("itemStyle"),h,!0);me(h,p),r.setShape(h)}}else{var f=n.get(["itemStyle","borderRadius"])||0;r.setShape("r",f)}r.useStyle(u);var g=n.getShallow("cursor");g&&r.attr("cursor",g);var v=s?o?i.r>=i.r0?"endArc":"startArc":i.endAngle>=i.startAngle?"endAngle":"startAngle":o?i.height>=0?"bottom":"top":i.width>=0?"right":"left",m=hn(n);An(r,m,{labelFetcher:a,labelDataIndex:t,defaultText:wp(a.getData(),t),inheritColor:u.fill,defaultOpacity:u.opacity,defaultOutsidePosition:v});var b=r.getTextContent();if(s&&b){var _=n.get(["label","position"]);r.textConfig.inside=_==="middle"?!0:null,Oge(r,_==="outside"?v:_,SK(o),n.get(["label","rotate"]))}V9(b,m,a.getRawValue(t),function(C){return dK(e,C)});var S=n.getModel(["emphasis"]);xr(r,S.get("focus"),S.get("blurScope"),S.get("disabled")),Mn(r,n),zge(i)&&(r.style.fill="none",r.style.stroke="none",H(r.states,function(C){C.style&&(C.style.fill=C.style.stroke="none")}))}function Vge(r,e){var t=r.get(["itemStyle","borderColor"]);if(!t||t==="none")return 0;var n=r.get(["itemStyle","borderWidth"])||0,i=isNaN(e.width)?Number.MAX_VALUE:Math.abs(e.width),a=isNaN(e.height)?Number.MAX_VALUE:Math.abs(e.height);return Math.min(n,i,a)}var Hge=function(){function r(){}return r}(),l4=function(r){ae(e,r);function e(t){var n=r.call(this,t)||this;return n.type="largeBar",n}return e.prototype.getDefaultShape=function(){return new Hge},e.prototype.buildPath=function(t,n){for(var i=n.points,a=this.baseDimIdx,o=1-this.baseDimIdx,s=[],u=[],f=this.barWidth,h=0;h=0?t:null},30,!1);function jge(r,e,t){for(var n=r.baseDimIdx,i=1-n,a=r.shape.points,o=r.largeDataIndices,s=[],u=[],f=r.barWidth,h=0,p=a.length/3;h=s[0]&&e<=s[0]+u[0]&&t>=s[1]&&t<=s[1]+u[1])return o[h]}return-1}function wK(r,e,t){if(Wf(t,"cartesian2d")){var n=e,i=t.getArea();return{x:r?n.x:i.x,y:r?i.y:n.y,width:r?n.width:i.width,height:r?i.height:n.height}}else{var i=t.getArea(),a=e;return{cx:i.cx,cy:i.cy,r0:r?i.r0:a.r0,r:r?i.r:a.r,startAngle:r?a.startAngle:0,endAngle:r?a.endAngle:Math.PI*2}}}function Wge(r,e,t){var n=r.type==="polar"?gi:Pt;return new n({shape:wK(e,t,r),silent:!0,z2:0})}function Gge(r){r.registerChartView(Nge),r.registerSeriesModel(Ige),r.registerLayout(r.PRIORITY.VISUAL.LAYOUT,at(Mq,"bar")),r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,Aq("bar")),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,xK("bar")),r.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(e,t){var n=e.componentType||"series";t.eachComponent({mainType:n,query:e},function(i){e.sortInfo&&i.axis.setCategorySortInfo(e.sortInfo)})})}var f4=Math.PI*2,kw=Math.PI/180;function CK(r,e){return rn(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function TK(r,e){var t=CK(r,e),n=r.get("center"),i=r.get("radius");we(i)||(i=[0,i]);var a=Oe(t.width,e.getWidth()),o=Oe(t.height,e.getHeight()),s=Math.min(a,o),u=Oe(i[0],s/2),f=Oe(i[1],s/2),h,p,g=r.coordinateSystem;if(g){var v=g.dataToPoint(n);h=v[0]||0,p=v[1]||0}else we(n)||(n=[n,n]),h=Oe(n[0],a)+t.x,p=Oe(n[1],o)+t.y;return{cx:h,cy:p,r0:u,r:f}}function Uge(r,e,t){e.eachSeriesByType(r,function(n){var i=n.getData(),a=i.mapDimension("value"),o=CK(n,t),s=TK(n,t),u=s.cx,f=s.cy,h=s.r,p=s.r0,g=-n.get("startAngle")*kw,v=n.get("endAngle"),m=n.get("padAngle")*kw;v=v==="auto"?g-f4:-v*kw;var b=n.get("minAngle")*kw,_=b+m,S=0;i.each(a,function(ee){!isNaN(ee)&&S++});var C=i.getSum(a),w=Math.PI/(C||S)*2,k=n.get("clockwise"),M=n.get("roseType"),E=n.get("stillShowZeroSum"),I=i.getDataExtent(a);I[0]=0;var O=k?1:-1,R=[g,v],$=O*m/2;mN(R,!k),g=R[0],v=R[1];var V=DK(n);V.startAngle=g,V.endAngle=v,V.clockwise=k;var z=Math.abs(v-g),B=z,j=0,U=g;if(i.setLayout({viewRect:o,r:h}),i.each(a,function(ee,Z){var re;if(isNaN(ee)){i.setItemLayout(Z,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:k,cx:u,cy:f,r0:p,r:M?NaN:h});return}M!=="area"?re=C===0&&E?w:ee*w:re=z/S,re<_?(re=_,B-=_):j+=ee;var de=U+O*re,ve=0,_e=0;m>re?(ve=U+O*re/2,_e=ve):(ve=U+$,_e=de-$),i.setItemLayout(Z,{angle:re,startAngle:ve,endAngle:_e,clockwise:k,cx:u,cy:f,r0:p,r:M?Ut(ee,I,[p,h]):h}),U=de}),Bt?S:_,M=Math.abs(w.label.y-t);if(M>=k.maxY){var E=w.label.x-e-w.len2*i,I=n+w.len,O=Math.abs(E)r.unconstrainedWidth?null:v:null;n.setStyle("width",m)}var b=n.getBoundingRect();a.width=b.width;var _=(n.style.margin||0)+2.1;a.height=b.height+_,a.y-=(a.height-p)/2}}}function ZI(r){return r.position==="center"}function Kge(r){var e=r.getData(),t=[],n,i,a=!1,o=(r.get("minShowLabelAngle")||0)*Yge,s=e.getLayout("viewRect"),u=e.getLayout("r"),f=s.width,h=s.x,p=s.y,g=s.height;function v(E){E.ignore=!0}function m(E){if(!E.ignore)return!0;for(var I in E.states)if(E.states[I].ignore===!1)return!0;return!1}e.each(function(E){var I=e.getItemGraphicEl(E),O=I.shape,R=I.getTextContent(),$=I.getTextGuideLine(),V=e.getItemModel(E),z=V.getModel("label"),B=z.get("position")||V.get(["emphasis","label","position"]),j=z.get("distanceToLabelLine"),U=z.get("alignTo"),X=Oe(z.get("edgeDistance"),f),ee=z.get("bleedMargin"),Z=V.getModel("labelLine"),re=Z.get("length");re=Oe(re,f);var de=Z.get("length2");if(de=Oe(de,f),Math.abs(O.endAngle-O.startAngle)0?"right":"left":_e>0?"left":"right"}var kt=Math.PI,$t=0,Ht=z.get("rotate");if(Ft(Ht))$t=Ht*(kt/180);else if(B==="center")$t=0;else if(Ht==="radial"||Ht===!0){var Ur=_e<0?-ve+kt:-ve;$t=Ur}else if(Ht==="tangential"&&B!=="outside"&&B!=="outer"){var Rr=Math.atan2(_e,Re);Rr<0&&(Rr=kt*2+Rr);var Yr=Re>0;Yr&&(Rr=kt+Rr),$t=Rr-kt}if(a=!!$t,R.x=Le,R.y=je,R.rotation=$t,R.setStyle({verticalAlign:"middle"}),ie){R.setStyle({align:he});var Se=R.states.select;Se&&(Se.x+=R.x,Se.y+=R.y)}else{var vr=R.getBoundingRect().clone();vr.applyTransform(R.getComputedTransform());var Yn=(R.style.margin||0)+2.1;vr.y-=Yn/2,vr.height+=Yn,t.push({label:R,labelLine:$,position:B,len:re,len2:de,minTurnAngle:Z.get("minTurnAngle"),maxSurfaceAngle:Z.get("maxSurfaceAngle"),surfaceNormal:new lt(_e,Re),linePoints:Q,textAlign:he,labelDistance:j,labelAlignTo:U,edgeDistance:X,bleedMargin:ee,rect:vr,unconstrainedWidth:vr.width,labelStyleWidth:R.style.width})}I.setTextConfig({inside:ie})}}),!a&&r.get("avoidLabelOverlap")&&qge(t,n,i,u,f,g,h,p);for(var b=0;b0){for(var h=o.getItemLayout(0),p=1;isNaN(h&&h.startAngle)&&p=a.r0}},e.type="pie",e}(tr);function Kp(r,e,t){e=we(e)&&{coordDimensions:e}||me({encodeDefine:r.getEncode()},e);var n=r.getSource(),i=f_(n,e).dimensions,a=new fi(i,r);return a.initData(n,t),a}var y_=function(){function r(e,t){this._getDataWithEncodedVisual=e,this._getRawData=t}return r.prototype.getAllNames=function(){var e=this._getRawData();return e.mapArray(e.getName)},r.prototype.containName=function(e){var t=this._getRawData();return t.indexOfName(e)>=0},r.prototype.indexOfName=function(e){var t=this._getDataWithEncodedVisual();return t.indexOfName(e)},r.prototype.getItemVisual=function(e,t){var n=this._getDataWithEncodedVisual();return n.getItemVisual(e,t)},r}(),Qge=Ot(),Jge=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.init=function(t){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new y_(ze(this.getData,this),ze(this.getRawData,this)),this._defaultLabelLine(t)},e.prototype.mergeOption=function(){r.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){return Kp(this,{coordDimensions:["value"],encodeDefaulter:at(ON,this)})},e.prototype.getDataParams=function(t){var n=this.getData(),i=Qge(n),a=i.seats;if(!a){var o=[];n.each(n.mapDimension("value"),function(u){o.push(u)}),a=i.seats=jle(o,n.hostModel.get("percentPrecision"))}var s=r.prototype.getDataParams.call(this,t);return s.percent=a[t]||0,s.$vars.push("percent"),s},e.prototype._defaultLabelLine=function(t){Df(t,"labelLine",["show"]);var n=t.labelLine,i=t.emphasis.labelLine;n.show=n.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},e.type="series.pie",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},e}(lr);function eme(r){return{seriesType:r,reset:function(e,t){var n=e.getData();n.filterSelf(function(i){var a=n.mapDimension("value"),o=n.get(a,i);return!(Ft(o)&&!isNaN(o)&&o<0)})}}}function tme(r){r.registerChartView(Zge),r.registerSeriesModel(Jge),YY("pie",r.registerAction),r.registerLayout(at(Uge,"pie")),r.registerProcessor(m_("pie")),r.registerProcessor(eme("pie"))}var rme=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t,n){return Ks(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return t??(this.option.large?5e3:this.get("progressive"))},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return t??(this.option.large?1e4:this.get("progressiveThreshold"))},e.prototype.brushSelector=function(t,n,i){return i.point(n.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},e.type="series.scatter",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},e}(lr),MK=4,nme=function(){function r(){}return r}(),ime=function(r){ae(e,r);function e(t){var n=r.call(this,t)||this;return n._off=0,n.hoverDataIdx=-1,n}return e.prototype.getDefaultShape=function(){return new nme},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,n){var i=n.points,a=n.size,o=this.symbolProxy,s=o.shape,u=t.getContext?t.getContext():t,f=u&&a[0]=0;f--){var h=f*2,p=a[h]-s/2,g=a[h+1]-u/2;if(t>=p&&n>=g&&t<=p+s&&n<=g+u)return f}return-1},e.prototype.contain=function(t,n){var i=this.transformCoordToLocal(t,n),a=this.getBoundingRect();if(t=i[0],n=i[1],a.contain(t,n)){var o=this.hoverDataIdx=this.findDataIndex(t,n);return o>=0}return this.hoverDataIdx=-1,!1},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var n=this.shape,i=n.points,a=n.size,o=a[0],s=a[1],u=1/0,f=1/0,h=-1/0,p=-1/0,g=0;g=0&&(f.dataIndex=p+(e.startIndex||0))})},r.prototype.remove=function(){this._clear()},r.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},r}(),ome=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,n,i){var a=t.getData(),o=this._updateSymbolDraw(a,t);o.updateData(a,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,n,i){var a=t.getData(),o=this._updateSymbolDraw(a,t);o.incrementalPrepareUpdate(a),this._finished=!1},e.prototype.incrementalRender=function(t,n,i){this._symbolDraw.incrementalUpdate(t,n.getData(),{clipShape:this._getClipShape(n)}),this._finished=t.end===n.getData().count()},e.prototype.updateTransform=function(t,n,i){var a=t.getData();if(this.group.dirty(),!this._finished||a.count()>1e4)return{update:!0};var o=g_("").reset(t,n,i);o.progress&&o.progress({start:0,end:a.count(),count:a.count()},a),this._symbolDraw.updateLayout(a)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){if(t.get("clip",!0)){var n=t.coordinateSystem;return n&&n.getArea&&n.getArea(.1)}},e.prototype._updateSymbolDraw=function(t,n){var i=this._symbolDraw,a=n.pipelineContext,o=a.large;return(!i||o!==this._isLargeDraw)&&(i&&i.remove(),i=this._symbolDraw=o?new ame:new p_,this._isLargeDraw=o,this.group.removeAll()),this.group.add(i.group),i},e.prototype.remove=function(t,n){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type="scatter",e}(tr),sme=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.type="grid",e.dependencies=["xAxis","yAxis"],e.layoutMode="box",e.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},e}(Ct),C2=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Hr).models[0]},e.type="cartesian2dAxis",e}(Ct);Gr(C2,h_);var AK={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,showMinLine:!0,showMaxLine:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},lme=ot({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},AK),uF=ot({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},AK),ume=ot({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},uF),cme=Qe({logBase:10},uF);const EK={category:lme,value:uF,time:ume,log:cme};var fme={value:1,category:1,time:1,log:1};function Cp(r,e,t,n){H(fme,function(i,a){var o=ot(ot({},EK[a],!0),n,!0),s=function(u){ae(f,u);function f(){var h=u!==null&&u.apply(this,arguments)||this;return h.type=e+"Axis."+a,h}return f.prototype.mergeDefaultAndTheme=function(h,p){var g=ky(this),v=g?jp(h):{},m=p.getTheme();ot(h,m.get(a+"Axis")),ot(h,this.getDefaultOption()),h.type=d4(h),g&&du(h,v,g)},f.prototype.optionUpdated=function(){var h=this.option;h.type==="category"&&(this.__ordinalMeta=m2.createByAxisModel(this))},f.prototype.getCategories=function(h){var p=this.option;if(p.type==="category")return h?p.data:this.__ordinalMeta.categories},f.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},f.type=e+"Axis."+a,f.defaultOption=o,f}(t);r.registerComponentModel(s)}),r.registerSubTypeDefaulter(e+"Axis",d4)}function d4(r){return r.type||(r.data?"category":"value")}var hme=function(){function r(e){this.type="cartesian",this._dimList=[],this._axes={},this.name=e||""}return r.prototype.getAxis=function(e){return this._axes[e]},r.prototype.getAxes=function(){return Ce(this._dimList,function(e){return this._axes[e]},this)},r.prototype.getAxesByScale=function(e){return e=e.toLowerCase(),Wt(this.getAxes(),function(t){return t.scale.type===e})},r.prototype.addAxis=function(e){var t=e.dim;this._axes[t]=e,this._dimList.push(t)},r}(),T2=["x","y"];function p4(r){return r.type==="interval"||r.type==="time"}var dme=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="cartesian2d",t.dimensions=T2,t}return e.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var t=this.getAxis("x").scale,n=this.getAxis("y").scale;if(!(!p4(t)||!p4(n))){var i=t.getExtent(),a=n.getExtent(),o=this.dataToPoint([i[0],a[0]]),s=this.dataToPoint([i[1],a[1]]),u=i[1]-i[0],f=a[1]-a[0];if(!(!u||!f)){var h=(s[0]-o[0])/u,p=(s[1]-o[1])/f,g=o[0]-i[0]*h,v=o[1]-a[0]*p,m=this._transform=[h,0,0,p,g,v];this._invTransform=Np([],m)}}},e.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},e.prototype.containPoint=function(t){var n=this.getAxis("x"),i=this.getAxis("y");return n.contain(n.toLocalCoord(t[0]))&&i.contain(i.toLocalCoord(t[1]))},e.prototype.containData=function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},e.prototype.containZone=function(t,n){var i=this.dataToPoint(t),a=this.dataToPoint(n),o=this.getArea(),s=new ft(i[0],i[1],a[0]-i[0],a[1]-i[1]);return o.intersect(s)},e.prototype.dataToPoint=function(t,n,i){i=i||[];var a=t[0],o=t[1];if(this._transform&&a!=null&&isFinite(a)&&o!=null&&isFinite(o))return kn(i,t,this._transform);var s=this.getAxis("x"),u=this.getAxis("y");return i[0]=s.toGlobalCoord(s.dataToCoord(a,n)),i[1]=u.toGlobalCoord(u.dataToCoord(o,n)),i},e.prototype.clampData=function(t,n){var i=this.getAxis("x").scale,a=this.getAxis("y").scale,o=i.getExtent(),s=a.getExtent(),u=i.parse(t[0]),f=a.parse(t[1]);return n=n||[],n[0]=Math.min(Math.max(Math.min(o[0],o[1]),u),Math.max(o[0],o[1])),n[1]=Math.min(Math.max(Math.min(s[0],s[1]),f),Math.max(s[0],s[1])),n},e.prototype.pointToData=function(t,n){var i=[];if(this._invTransform)return kn(i,t,this._invTransform);var a=this.getAxis("x"),o=this.getAxis("y");return i[0]=a.coordToData(a.toLocalCoord(t[0]),n),i[1]=o.coordToData(o.toLocalCoord(t[1]),n),i},e.prototype.getOtherAxis=function(t){return this.getAxis(t.dim==="x"?"y":"x")},e.prototype.getArea=function(t){t=t||0;var n=this.getAxis("x").getGlobalExtent(),i=this.getAxis("y").getGlobalExtent(),a=Math.min(n[0],n[1])-t,o=Math.min(i[0],i[1])-t,s=Math.max(n[0],n[1])-a+t,u=Math.max(i[0],i[1])-o+t;return new ft(a,o,s,u)},e}(hme),pme=function(r){ae(e,r);function e(t,n,i,a,o){var s=r.call(this,t,n,i)||this;return s.index=0,s.type=a||"value",s.position=o||"bottom",s}return e.prototype.isHorizontal=function(){var t=this.position;return t==="top"||t==="bottom"},e.prototype.getGlobalExtent=function(t){var n=this.getExtent();return n[0]=this.toGlobalCoord(n[0]),n[1]=this.toGlobalCoord(n[1]),t&&n[0]>n[1]&&n.reverse(),n},e.prototype.pointToData=function(t,n){return this.coordToData(this.toLocalCoord(t[this.dim==="x"?0:1]),n)},e.prototype.setCategorySortInfo=function(t){if(this.type!=="category")return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)},e}(vo);function D2(r,e,t){t=t||{};var n=r.coordinateSystem,i=e.axis,a={},o=i.getAxesOnZeroOf()[0],s=i.position,u=o?"onZero":s,f=i.dim,h=n.getRect(),p=[h.x,h.x+h.width,h.y,h.y+h.height],g={left:0,right:1,top:0,bottom:1,onZero:2},v=e.get("offset")||0,m=f==="x"?[p[2]-v,p[3]+v]:[p[0]-v,p[1]+v];if(o){var b=o.toGlobalCoord(o.dataToCoord(0));m[g.onZero]=Math.max(Math.min(b,m[1]),m[0])}a.position=[f==="y"?m[g[u]]:p[0],f==="x"?m[g[u]]:p[3]],a.rotation=Math.PI/2*(f==="x"?0:1);var _={top:-1,bottom:1,left:-1,right:1};a.labelDirection=a.tickDirection=a.nameDirection=_[s],a.labelOffset=o?m[g[s]]-m[g.onZero]:0,e.get(["axisTick","inside"])&&(a.tickDirection=-a.tickDirection),mn(t.labelInside,e.get(["axisLabel","inside"]))&&(a.labelDirection=-a.labelDirection);var S=e.get(["axisLabel","rotate"]);return a.labelRotate=u==="top"?-S:S,a.z2=1,a}function v4(r){return r.get("coordinateSystem")==="cartesian2d"}function g4(r){var e={xAxisModel:null,yAxisModel:null};return H(e,function(t,n){var i=n.replace(/Model$/,""),a=r.getReferringComponents(i,Hr).models[0];e[n]=a}),e}var QI=Math.log;function IK(r,e,t){var n=js.prototype,i=n.getTicks.call(t),a=n.getTicks.call(t,!0),o=i.length-1,s=n.getInterval.call(t),u=Oq(r,e),f=u.extent,h=u.fixMin,p=u.fixMax;if(r.type==="log"){var g=QI(r.base);f=[QI(f[0])/g,QI(f[1])/g]}r.setExtent(f[0],f[1]),r.calcNiceExtent({splitNumber:o,fixMin:h,fixMax:p});var v=n.getExtent.call(r);h&&(f[0]=v[0]),p&&(f[1]=v[1]);var m=n.getInterval.call(r),b=f[0],_=f[1];if(h&&p)m=(_-b)/o;else if(h)for(_=f[0]+m*o;_f[0]&&isFinite(b)&&isFinite(f[0]);)m=FI(m),b=f[1]-m*o;else{var S=r.getTicks().length-1;S>o&&(m=FI(m));var C=m*o;_=Math.ceil(f[1]/m)*m,b=Ir(_-C),b<0&&f[0]>=0?(b=0,_=Ir(C)):_>0&&f[1]<=0&&(_=0,b=-Ir(C))}var w=(i[0].value-a[0].value)/s,k=(i[o].value-a[o].value)/s;n.setExtent.call(r,b+m*w,_+m*k),n.setInterval.call(r,m),(w||k)&&n.setNiceExtent.call(r,b+m,_-m)}var vme=function(){function r(e,t,n){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=T2,this._initCartesian(e,t,n),this.model=e}return r.prototype.getRect=function(){return this._rect},r.prototype.update=function(e,t){var n=this._axesMap;this._updateScale(e,this.model);function i(o){var s,u=Tt(o),f=u.length;if(f){for(var h=[],p=f-1;p>=0;p--){var g=+u[p],v=o[g],m=v.model,b=v.scale;y2(b)&&m.get("alignTicks")&&m.get("interval")==null?h.push(v):(Sp(b,m),y2(b)&&(s=v))}h.length&&(s||(s=h.pop(),Sp(s.scale,s.model)),H(h,function(_){IK(_.scale,_.model,s.scale)}))}}i(n.x),i(n.y);var a={};H(n.x,function(o){m4(n,"y",o,a)}),H(n.y,function(o){m4(n,"x",o,a)}),this.resize(this.model,t)},r.prototype.resize=function(e,t,n){var i=e.getBoxLayoutParams(),a=!n&&e.get("containLabel"),o=rn(i,{width:t.getWidth(),height:t.getHeight()});this._rect=o;var s=this._axesList;u(),a&&(H(s,function(f){if(!f.model.get(["axisLabel","inside"])){var h=Kpe(f);if(h){var p=f.isHorizontal()?"height":"width",g=f.model.get(["axisLabel","margin"]);o[p]-=h[p]+g,f.position==="top"?o.y+=h.height+g:f.position==="left"&&(o.x+=h.width+g)}}}),u()),H(this._coordsList,function(f){f.calcAffineTransform()});function u(){H(s,function(f){var h=f.isHorizontal(),p=h?[0,o.width]:[0,o.height],g=f.inverse?1:0;f.setExtent(p[g],p[1-g]),gme(f,h?o.x:o.y)})}},r.prototype.getAxis=function(e,t){var n=this._axesMap[e];if(n!=null)return n[t||0]},r.prototype.getAxes=function(){return this._axesList.slice()},r.prototype.getCartesian=function(e,t){if(e!=null&&t!=null){var n="x"+e+"y"+t;return this._coordsMap[n]}Je(e)&&(t=e.yAxisIndex,e=e.xAxisIndex);for(var i=0,a=this._coordsList;i0?"top":"bottom",a="center"):xy(i-Yl)?(o=n>0?"bottom":"top",a="center"):(o="middle",i>0&&i0?"right":"left":a=n>0?"left":"right"),{rotation:i,textAlign:a,textVerticalAlign:o}},r.makeAxisEventDataBase=function(e){var t={componentType:e.mainType,componentIndex:e.componentIndex};return t[e.mainType+"Index"]=e.componentIndex,t},r.isLabelSilent=function(e){var t=e.get("tooltip");return e.get("silent")||!(e.get("triggerEvent")||t&&t.show)},r}(),_4={axisLine:function(r,e,t,n){var i=e.get(["axisLine","show"]);if(i==="auto"&&r.handleAutoShown&&(i=r.handleAutoShown("axisLine")),!!i){var a=e.axis.getExtent(),o=n.transform,s=[a[0],0],u=[a[1],0],f=s[0]>u[0];o&&(kn(s,s,o),kn(u,u,o));var h=me({lineCap:"round"},e.getModel(["axisLine","lineStyle"]).getLineStyle()),p=new un({shape:{x1:s[0],y1:s[1],x2:u[0],y2:u[1]},style:h,strokeContainThreshold:r.strokeContainThreshold||5,silent:!0,z2:1});_p(p.shape,p.style.lineWidth),p.anid="line",t.add(p);var g=e.get(["axisLine","symbol"]);if(g!=null){var v=e.get(["axisLine","symbolSize"]);Be(g)&&(g=[g,g]),(Be(v)||Ft(v))&&(v=[v,v]);var m=Hf(e.get(["axisLine","symbolOffset"])||0,v),b=v[0],_=v[1];H([{rotate:r.rotation+Math.PI/2,offset:m[0],r:0},{rotate:r.rotation-Math.PI/2,offset:m[1],r:Math.sqrt((s[0]-u[0])*(s[0]-u[0])+(s[1]-u[1])*(s[1]-u[1]))}],function(S,C){if(g[C]!=="none"&&g[C]!=null){var w=jr(g[C],-b/2,-_/2,b,_,h.stroke,!0),k=S.r+S.offset,M=f?u:s;w.attr({rotation:S.rotate,x:M[0]+k*Math.cos(r.rotation),y:M[1]-k*Math.sin(r.rotation),silent:!0,z2:11}),t.add(w)}})}}},axisTickLabel:function(r,e,t,n){var i=_me(t,n,e,r),a=xme(t,n,e,r);if(yme(e,a,i),bme(t,n,e,r.tickDirection),e.get(["axisLabel","hideOverlap"])){var o=qq(Ce(a,function(s){return{label:s,priority:s.z2,defaultAttr:{ignore:s.ignore}}}));Zq(o)}},axisName:function(r,e,t,n){var i=mn(r.axisName,e.get("name"));if(i){var a=e.get("nameLocation"),o=r.nameDirection,s=e.getModel("nameTextStyle"),u=e.get("nameGap")||0,f=e.axis.getExtent(),h=f[0]>f[1]?-1:1,p=[a==="start"?f[0]-h*u:a==="end"?f[1]+h*u:(f[0]+f[1])/2,x4(a)?r.labelOffset+o*u:0],g,v=e.get("nameRotate");v!=null&&(v=v*Yl/180);var m;x4(a)?g=hi.innerTextLayout(r.rotation,v??r.rotation,o):(g=mme(r.rotation,a,v||0,f),m=r.axisNameAvailableWidth,m!=null&&(m=Math.abs(m/Math.sin(g.rotation)),!isFinite(m)&&(m=null)));var b=s.getFont(),_=e.get("nameTruncate",!0)||{},S=_.ellipsis,C=mn(r.nameTruncateMaxWidth,_.maxWidth,m),w=new Rt({x:p[0],y:p[1],rotation:g.rotation,silent:hi.isLabelSilent(e),style:sr(s,{text:i,font:b,overflow:"truncate",width:C,ellipsis:S,fill:s.getTextColor()||e.get(["axisLine","lineStyle","color"]),align:s.get("align")||g.textAlign,verticalAlign:s.get("verticalAlign")||g.textVerticalAlign}),z2:1});if(zf({el:w,componentModel:e,itemName:i}),w.__fullText=i,w.anid="name",e.get("triggerEvent")){var k=hi.makeAxisEventDataBase(e);k.targetType="axisName",k.name=i,nt(w).eventData=k}n.add(w),w.updateTransform(),t.add(w),w.decomposeTransform()}}};function mme(r,e,t,n){var i=q7(t-r),a,o,s=n[0]>n[1],u=e==="start"&&!s||e!=="start"&&s;return xy(i-Yl/2)?(o=u?"bottom":"top",a="center"):xy(i-Yl*1.5)?(o=u?"top":"bottom",a="center"):(o="middle",iYl/2?a=u?"left":"right":a=u?"right":"left"),{rotation:i,textAlign:a,textVerticalAlign:o}}function yme(r,e,t){if(!Rq(r.axis)){var n=r.get(["axisLabel","showMinLabel"]),i=r.get(["axisLabel","showMaxLabel"]);e=e||[],t=t||[];var a=e[0],o=e[1],s=e[e.length-1],u=e[e.length-2],f=t[0],h=t[1],p=t[t.length-1],g=t[t.length-2];n===!1?(_a(a),_a(f)):b4(a,o)&&(n?(_a(o),_a(h)):(_a(a),_a(f))),i===!1?(_a(s),_a(p)):b4(u,s)&&(i?(_a(u),_a(g)):(_a(s),_a(p)))}}function _a(r){r&&(r.ignore=!0)}function b4(r,e){var t=r&&r.getBoundingRect().clone(),n=e&&e.getBoundingRect().clone();if(!(!t||!n)){var i=CT([]);return Bf(i,i,-r.rotation),t.applyTransform(Ps([],i,r.getLocalTransform())),n.applyTransform(Ps([],i,e.getLocalTransform())),t.intersect(n)}}function x4(r){return r==="middle"||r==="center"}function PK(r,e,t,n,i){for(var a=[],o=[],s=[],u=0;u=0||r===e}function kme(r){var e=cF(r);if(e){var t=e.axisPointerModel,n=e.axis.scale,i=t.option,a=t.get("status"),o=t.get("value");o!=null&&(o=n.parse(o));var s=k2(t);a==null&&(i.status=s?"show":"hide");var u=n.getExtent().slice();u[0]>u[1]&&u.reverse(),(o==null||o>u[1])&&(o=u[1]),o0&&!m.min?m.min=0:m.min!=null&&m.min<0&&!m.max&&(m.max=0);var b=u;m.color!=null&&(b=Qe({color:m.color},u));var _=ot(et(m),{boundaryGap:t,splitNumber:n,scale:i,axisLine:a,axisTick:o,axisLabel:s,name:m.text,showName:f,nameLocation:"end",nameGap:p,nameTextStyle:b,triggerEvent:g},!1);if(Be(h)){var S=_.name;_.name=h.replace("{value}",S??"")}else Ke(h)&&(_.name=h(_.name,_));var C=new qt(_,null,this.ecModel);return Gr(C,h_.prototype),C.mainType="radar",C.componentIndex=this.componentIndex,C},this);this._indicatorModels=v},e.prototype.getIndicatorModels=function(){return this._indicatorModels},e.type="radar",e.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:ot({lineStyle:{color:"#bbb"}},vm.axisLine),axisLabel:Mw(vm.axisLabel,!1),axisTick:Mw(vm.axisTick,!1),splitLine:Mw(vm.splitLine,!0),splitArea:Mw(vm.splitArea,!0),indicator:[]},e}(Ct),zme=["axisLine","axisTickLabel","axisName"],Vme=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,n,i){var a=this.group;a.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},e.prototype._buildAxes=function(t){var n=t.coordinateSystem,i=n.getIndicatorAxes(),a=Ce(i,function(o){var s=o.model.get("showName")?o.name:"",u=new hi(o.model,{axisName:s,position:[n.cx,n.cy],rotation:o.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return u});H(a,function(o){H(zme,o.add,o),this.group.add(o.getGroup())},this)},e.prototype._buildSplitLineAndArea=function(t){var n=t.coordinateSystem,i=n.getIndicatorAxes();if(!i.length)return;var a=t.get("shape"),o=t.getModel("splitLine"),s=t.getModel("splitArea"),u=o.getModel("lineStyle"),f=s.getModel("areaStyle"),h=o.get("show"),p=s.get("show"),g=u.get("color"),v=f.get("color"),m=we(g)?g:[g],b=we(v)?v:[v],_=[],S=[];function C(U,X,ee){var Z=ee%X.length;return U[Z]=U[Z]||[],Z}if(a==="circle")for(var w=i[0].getTicksCoords(),k=n.cx,M=n.cy,E=0;E3?1.4:o>1?1.2:1.1,h=a>0?f:1/f;tP(this,"zoom","zoomOnMouseWheel",t,{scale:h,originX:s,originY:u,isAvailableBehavior:null})}if(i){var p=Math.abs(a),g=(a>0?1:-1)*(p>3?.4:p>1?.15:.05);tP(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:g,originX:s,originY:u,isAvailableBehavior:null})}}},e.prototype._pinchHandler=function(t){if(!k4(this._zr,"globalPan")){var n=t.pinchScale>1?1.1:1/1.1;tP(this,"zoom",null,t,{scale:n,originX:t.pinchX,originY:t.pinchY,isAvailableBehavior:null})}},e}(Fa);function tP(r,e,t,n,i){r.pointerChecker&&r.pointerChecker(n,i.originX,i.originY)&&($s(n.event),$K(r,e,t,n,i))}function $K(r,e,t,n,i){i.isAvailableBehavior=ze(zC,null,t,n),r.trigger(e,i)}function zC(r,e,t){var n=t[r];return!r||n&&(!Be(n)||e.event[n+"Key"])}function hF(r,e,t){var n=r.target;n.x+=e,n.y+=t,n.dirty()}function dF(r,e,t,n){var i=r.target,a=r.zoomLimit,o=r.zoom=r.zoom||1;if(o*=e,a){var s=a.min||0,u=a.max||1/0;o=Math.max(Math.min(u,o),s)}var f=o/r.zoom;r.zoom=o,i.x-=(t-i.x)*(f-1),i.y-=(n-i.y)*(f-1),i.scaleX*=f,i.scaleY*=f,i.dirty()}var qme={axisPointer:1,tooltip:1,brush:1};function tD(r,e,t){var n=e.getComponentByElement(r.topTarget),i=n&&n.coordinateSystem;return n&&n!==t&&!qme.hasOwnProperty(n.mainType)&&i&&i.model!==t}function BK(r){if(Be(r)){var e=new DOMParser;r=e.parseFromString(r,"text/xml")}var t=r;for(t.nodeType===9&&(t=t.firstChild);t.nodeName.toLowerCase()!=="svg"||t.nodeType!==1;)t=t.nextSibling;return t}var rP,W1={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-anchor":"textAlign",visibility:"visibility",display:"display"},M4=Tt(W1),G1={"alignment-baseline":"textBaseline","stop-color":"stopColor"},A4=Tt(G1),Kme=function(){function r(){this._defs={},this._root=null}return r.prototype.parse=function(e,t){t=t||{};var n=BK(e);this._defsUsePending=[];var i=new rt;this._root=i;var a=[],o=n.getAttribute("viewBox")||"",s=parseFloat(n.getAttribute("width")||t.width),u=parseFloat(n.getAttribute("height")||t.height);isNaN(s)&&(s=null),isNaN(u)&&(u=null),Ki(n,i,null,!0,!1);for(var f=n.firstChild;f;)this._parseNode(f,i,a,null,!1,!1),f=f.nextSibling;Qme(this._defs,this._defsUsePending),this._defsUsePending=[];var h,p;if(o){var g=rD(o);g.length>=4&&(h={x:parseFloat(g[0]||0),y:parseFloat(g[1]||0),width:parseFloat(g[2]),height:parseFloat(g[3])})}if(h&&s!=null&&u!=null&&(p=VK(h,{x:0,y:0,width:s,height:u}),!t.ignoreViewBox)){var v=i;i=new rt,i.add(v),v.scaleX=v.scaleY=p.scale,v.x=p.x,v.y=p.y}return!t.ignoreRootClip&&s!=null&&u!=null&&i.setClipPath(new Pt({shape:{x:0,y:0,width:s,height:u}})),{root:i,width:s,height:u,viewBoxRect:h,viewBoxTransform:p,named:a}},r.prototype._parseNode=function(e,t,n,i,a,o){var s=e.nodeName.toLowerCase(),u,f=i;if(s==="defs"&&(a=!0),s==="text"&&(o=!0),s==="defs"||s==="switch")u=t;else{if(!a){var h=rP[s];if(h&&He(rP,s)){u=h.call(this,e,t);var p=e.getAttribute("name");if(p){var g={name:p,namedFrom:null,svgNodeTagLower:s,el:u};n.push(g),s==="g"&&(f=g)}else i&&n.push({name:i.name,namedFrom:i,svgNodeTagLower:s,el:u});t.add(u)}}var v=E4[s];if(v&&He(E4,s)){var m=v.call(this,e),b=e.getAttribute("id");b&&(this._defs[b]=m)}}if(u&&u.isGroup)for(var _=e.firstChild;_;)_.nodeType===1?this._parseNode(_,u,n,f,a,o):_.nodeType===3&&o&&this._parseText(_,u),_=_.nextSibling},r.prototype._parseText=function(e,t){var n=new yp({style:{text:e.textContent},silent:!0,x:this._textX||0,y:this._textY||0});ba(t,n),Ki(e,n,this._defsUsePending,!1,!1),Xme(n,t);var i=n.style,a=i.fontSize;a&&a<9&&(i.fontSize=9,n.scaleX*=a/9,n.scaleY*=a/9);var o=(i.fontSize||i.fontFamily)&&[i.fontStyle,i.fontWeight,(i.fontSize||12)+"px",i.fontFamily||"sans-serif"].join(" ");i.font=o;var s=n.getBoundingRect();return this._textX+=s.width,t.add(n),n},r.internalField=function(){rP={g:function(e,t){var n=new rt;return ba(t,n),Ki(e,n,this._defsUsePending,!1,!1),n},rect:function(e,t){var n=new Pt;return ba(t,n),Ki(e,n,this._defsUsePending,!1,!1),n.setShape({x:parseFloat(e.getAttribute("x")||"0"),y:parseFloat(e.getAttribute("y")||"0"),width:parseFloat(e.getAttribute("width")||"0"),height:parseFloat(e.getAttribute("height")||"0")}),n.silent=!0,n},circle:function(e,t){var n=new qs;return ba(t,n),Ki(e,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(e.getAttribute("cx")||"0"),cy:parseFloat(e.getAttribute("cy")||"0"),r:parseFloat(e.getAttribute("r")||"0")}),n.silent=!0,n},line:function(e,t){var n=new un;return ba(t,n),Ki(e,n,this._defsUsePending,!1,!1),n.setShape({x1:parseFloat(e.getAttribute("x1")||"0"),y1:parseFloat(e.getAttribute("y1")||"0"),x2:parseFloat(e.getAttribute("x2")||"0"),y2:parseFloat(e.getAttribute("y2")||"0")}),n.silent=!0,n},ellipse:function(e,t){var n=new OT;return ba(t,n),Ki(e,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(e.getAttribute("cx")||"0"),cy:parseFloat(e.getAttribute("cy")||"0"),rx:parseFloat(e.getAttribute("rx")||"0"),ry:parseFloat(e.getAttribute("ry")||"0")}),n.silent=!0,n},polygon:function(e,t){var n=e.getAttribute("points"),i;n&&(i=L4(n));var a=new mi({shape:{points:i||[]},silent:!0});return ba(t,a),Ki(e,a,this._defsUsePending,!1,!1),a},polyline:function(e,t){var n=e.getAttribute("points"),i;n&&(i=L4(n));var a=new yi({shape:{points:i||[]},silent:!0});return ba(t,a),Ki(e,a,this._defsUsePending,!1,!1),a},image:function(e,t){var n=new yn;return ba(t,n),Ki(e,n,this._defsUsePending,!1,!1),n.setStyle({image:e.getAttribute("xlink:href")||e.getAttribute("href"),x:+e.getAttribute("x"),y:+e.getAttribute("y"),width:+e.getAttribute("width"),height:+e.getAttribute("height")}),n.silent=!0,n},text:function(e,t){var n=e.getAttribute("x")||"0",i=e.getAttribute("y")||"0",a=e.getAttribute("dx")||"0",o=e.getAttribute("dy")||"0";this._textX=parseFloat(n)+parseFloat(a),this._textY=parseFloat(i)+parseFloat(o);var s=new rt;return ba(t,s),Ki(e,s,this._defsUsePending,!1,!0),s},tspan:function(e,t){var n=e.getAttribute("x"),i=e.getAttribute("y");n!=null&&(this._textX=parseFloat(n)),i!=null&&(this._textY=parseFloat(i));var a=e.getAttribute("dx")||"0",o=e.getAttribute("dy")||"0",s=new rt;return ba(t,s),Ki(e,s,this._defsUsePending,!1,!0),this._textX+=parseFloat(a),this._textY+=parseFloat(o),s},path:function(e,t){var n=e.getAttribute("d")||"",i=A9(n);return ba(t,i),Ki(e,i,this._defsUsePending,!1,!1),i.silent=!0,i}}}(),r}(),E4={lineargradient:function(r){var e=parseInt(r.getAttribute("x1")||"0",10),t=parseInt(r.getAttribute("y1")||"0",10),n=parseInt(r.getAttribute("x2")||"10",10),i=parseInt(r.getAttribute("y2")||"0",10),a=new o_(e,t,n,i);return I4(r,a),P4(r,a),a},radialgradient:function(r){var e=parseInt(r.getAttribute("cx")||"0",10),t=parseInt(r.getAttribute("cy")||"0",10),n=parseInt(r.getAttribute("r")||"0",10),i=new L9(e,t,n);return I4(r,i),P4(r,i),i}};function I4(r,e){var t=r.getAttribute("gradientUnits");t==="userSpaceOnUse"&&(e.global=!0)}function P4(r,e){for(var t=r.firstChild;t;){if(t.nodeType===1&&t.nodeName.toLocaleLowerCase()==="stop"){var n=t.getAttribute("offset"),i=void 0;n&&n.indexOf("%")>0?i=parseInt(n,10)/100:n?i=parseFloat(n):i=0;var a={};zK(t,a,a);var o=a.stopColor||t.getAttribute("stop-color")||"#000000";e.colorStops.push({offset:i,color:o})}t=t.nextSibling}}function ba(r,e){r&&r.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),Qe(e.__inheritedStyle,r.__inheritedStyle))}function L4(r){for(var e=rD(r),t=[],n=0;n0;a-=2){var o=n[a],s=n[a-1],u=rD(o);switch(i=i||Ji(),s){case"translate":Qo(i,i,[parseFloat(u[0]),parseFloat(u[1]||"0")]);break;case"scale":lN(i,i,[parseFloat(u[0]),parseFloat(u[1]||u[0])]);break;case"rotate":Bf(i,i,-parseFloat(u[0])*nP,[parseFloat(u[1]||"0"),parseFloat(u[2]||"0")]);break;case"skewX":var f=Math.tan(parseFloat(u[0])*nP);Ps(i,[1,0,f,1,0,0],i);break;case"skewY":var h=Math.tan(parseFloat(u[0])*nP);Ps(i,[1,h,0,1,0,0],i);break;case"matrix":i[0]=parseFloat(u[0]),i[1]=parseFloat(u[1]),i[2]=parseFloat(u[2]),i[3]=parseFloat(u[3]),i[4]=parseFloat(u[4]),i[5]=parseFloat(u[5]);break}}e.setLocalTransform(i)}}var R4=/([^\s:;]+)\s*:\s*([^:;]+)/g;function zK(r,e,t){var n=r.getAttribute("style");if(n){R4.lastIndex=0;for(var i;(i=R4.exec(n))!=null;){var a=i[1],o=He(W1,a)?W1[a]:null;o&&(e[o]=i[2]);var s=He(G1,a)?G1[a]:null;s&&(t[s]=i[2])}}}function rye(r,e,t){for(var n=0;n0,_={api:n,geo:u,mapOrGeoModel:e,data:s,isVisualEncodedByVisualMap:b,isGeo:o,transformInfoRaw:g};u.resourceType==="geoJSON"?this._buildGeoJSON(_):u.resourceType==="geoSVG"&&this._buildSVG(_),this._updateController(e,t,n),this._updateMapSelectHandler(e,f,n,i)},r.prototype._buildGeoJSON=function(e){var t=this._regionsGroupByName=Ge(),n=Ge(),i=this._regionsGroup,a=e.transformInfoRaw,o=e.mapOrGeoModel,s=e.data,u=e.geo.projection,f=u&&u.stream;function h(v,m){return m&&(v=m(v)),v&&[v[0]*a.scaleX+a.x,v[1]*a.scaleY+a.y]}function p(v){for(var m=[],b=!f&&u&&u.project,_=0;_=0)&&(g=i);var v=o?{normal:{align:"center",verticalAlign:"middle"}}:null;An(e,hn(n),{labelFetcher:g,labelDataIndex:p,defaultText:t},v);var m=e.getTextContent();if(m&&(HK(m).ignore=m.ignore,e.textConfig&&o)){var b=e.getBoundingRect().clone();e.textConfig.layoutRect=b,e.textConfig.position=[(o[0]-b.x)/b.width*100+"%",(o[1]-b.y)/b.height*100+"%"]}e.disableLabelAnimation=!0}else e.removeTextContent(),e.removeTextConfig(),e.disableLabelAnimation=null}function z4(r,e,t,n,i,a){r.data?r.data.setItemGraphicEl(a,e):nt(e).eventData={componentType:"geo",componentIndex:i.componentIndex,geoIndex:i.componentIndex,name:t,region:n&&n.option||{}}}function V4(r,e,t,n,i){r.data||zf({el:e,componentModel:i,itemName:t,itemTooltipOption:n.get("tooltip")})}function H4(r,e,t,n,i){e.highDownSilentOnTouch=!!i.get("selectedMode");var a=n.getModel("emphasis"),o=a.get("focus");return xr(e,o,a.get("blurScope"),a.get("disabled")),r.isGeo&&gce(e,i,t),o}function j4(r,e,t){var n=[],i;function a(){i=[]}function o(){i.length&&(n.push(i),i=[])}var s=e({polygonStart:a,polygonEnd:o,lineStart:a,lineEnd:o,point:function(u,f){isFinite(u)&&isFinite(f)&&i.push([u,f])},sphere:function(){}});return!t&&s.polygonStart(),H(r,function(u){s.lineStart();for(var f=0;f-1&&(i.style.stroke=i.style.fill,i.style.fill="#fff",i.style.lineWidth=2),i},e.type="series.map",e.dependencies=["geo"],e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},e}(lr);function Sye(r,e){var t={};return H(r,function(n){n.each(n.mapDimension("value"),function(i,a){var o="ec-"+n.getName(a);t[o]=t[o]||[],isNaN(i)||t[o].push(i)})}),r[0].map(r[0].mapDimension("value"),function(n,i){for(var a="ec-"+r[0].getName(i),o=0,s=1/0,u=-1/0,f=t[a].length,h=0;h1?(k.width=w,k.height=w/_):(k.height=w,k.width=w*_),k.y=C[1]-k.height/2,k.x=C[0]-k.width/2;else{var M=r.getBoxLayoutParams();M.aspect=_,k=rn(M,{width:m,height:b})}this.setViewRect(k.x,k.y,k.width,k.height),this.setCenter(r.get("center"),e),this.setZoom(r.get("zoom"))}function Dye(r,e){H(e.get("geoCoord"),function(t,n){r.addGeoCoord(n,t)})}var kye=function(){function r(){this.dimensions=WK}return r.prototype.create=function(e,t){var n=[];function i(o){return{nameProperty:o.get("nameProperty"),aspectScale:o.get("aspectScale"),projection:o.get("projection")}}e.eachComponent("geo",function(o,s){var u=o.get("map"),f=new E2(u+s,u,me({nameMap:o.get("nameMap")},i(o)));f.zoomLimit=o.get("scaleLimit"),n.push(f),o.coordinateSystem=f,f.model=o,f.resize=Y4,f.resize(o,t)}),e.eachSeries(function(o){var s=o.get("coordinateSystem");if(s==="geo"){var u=o.get("geoIndex")||0;o.coordinateSystem=n[u]}});var a={};return e.eachSeriesByType("map",function(o){if(!o.getHostGeoModel()){var s=o.getMapType();a[s]=a[s]||[],a[s].push(o)}}),H(a,function(o,s){var u=Ce(o,function(h){return h.get("nameMap")}),f=new E2(s,s,me({nameMap:nN(u)},i(o[0])));f.zoomLimit=mn.apply(null,Ce(o,function(h){return h.get("scaleLimit")})),n.push(f),f.resize=Y4,f.resize(o[0],t),H(o,function(h){h.coordinateSystem=f,Dye(f,h)})}),n},r.prototype.getFilledRegions=function(e,t,n,i){for(var a=(e||[]).slice(),o=Ge(),s=0;s=0;o--){var s=i[o];s.hierNode={defaultAncestor:null,ancestor:s,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},t.push(s)}}function Lye(r,e){var t=r.isExpand?r.children:[],n=r.parentNode.children,i=r.hierNode.i?n[r.hierNode.i-1]:null;if(t.length){Nye(r);var a=(t[0].hierNode.prelim+t[t.length-1].hierNode.prelim)/2;i?(r.hierNode.prelim=i.hierNode.prelim+e(r,i),r.hierNode.modifier=r.hierNode.prelim-a):r.hierNode.prelim=a}else i&&(r.hierNode.prelim=i.hierNode.prelim+e(r,i));r.parentNode.hierNode.defaultAncestor=Fye(r,i,r.parentNode.hierNode.defaultAncestor||n[0],e)}function Oye(r){var e=r.hierNode.prelim+r.parentNode.hierNode.modifier;r.setLayout({x:e},!0),r.hierNode.modifier+=r.parentNode.hierNode.modifier}function K4(r){return arguments.length?r:zye}function Bm(r,e){return r-=Math.PI/2,{x:e*Math.cos(r),y:e*Math.sin(r)}}function Rye(r,e){return rn(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Nye(r){for(var e=r.children,t=e.length,n=0,i=0;--t>=0;){var a=e[t];a.hierNode.prelim+=n,a.hierNode.modifier+=n,i+=a.hierNode.change,n+=a.hierNode.shift+i}}function Fye(r,e,t,n){if(e){for(var i=r,a=r,o=a.parentNode.children[0],s=e,u=i.hierNode.modifier,f=a.hierNode.modifier,h=o.hierNode.modifier,p=s.hierNode.modifier;s=iP(s),a=aP(a),s&&a;){i=iP(i),o=aP(o),i.hierNode.ancestor=r;var g=s.hierNode.prelim+p-a.hierNode.prelim-f+n(s,a);g>0&&(Bye($ye(s,r,t),r,g),f+=g,u+=g),p+=s.hierNode.modifier,f+=a.hierNode.modifier,u+=i.hierNode.modifier,h+=o.hierNode.modifier}s&&!iP(i)&&(i.hierNode.thread=s,i.hierNode.modifier+=p-u),a&&!aP(o)&&(o.hierNode.thread=a,o.hierNode.modifier+=f-h,t=r)}return t}function iP(r){var e=r.children;return e.length&&r.isExpand?e[e.length-1]:r.hierNode.thread}function aP(r){var e=r.children;return e.length&&r.isExpand?e[0]:r.hierNode.thread}function $ye(r,e,t){return r.hierNode.ancestor.parentNode===e.parentNode?r.hierNode.ancestor:t}function Bye(r,e,t){var n=t/(e.hierNode.i-r.hierNode.i);e.hierNode.change-=n,e.hierNode.shift+=t,e.hierNode.modifier+=t,e.hierNode.prelim+=t,r.hierNode.change+=n}function zye(r,e){return r.parentNode===e.parentNode?1:2}var Vye=function(){function r(){this.parentPoint=[],this.childPoints=[]}return r}(),Hye=function(r){ae(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new Vye},e.prototype.buildPath=function(t,n){var i=n.childPoints,a=i.length,o=n.parentPoint,s=i[0],u=i[a-1];if(a===1){t.moveTo(o[0],o[1]),t.lineTo(s[0],s[1]);return}var f=n.orient,h=f==="TB"||f==="BT"?0:1,p=1-h,g=Oe(n.forkPosition,1),v=[];v[h]=o[h],v[p]=o[p]+(u[p]-o[p])*g,t.moveTo(o[0],o[1]),t.lineTo(v[0],v[1]),t.moveTo(s[0],s[1]),v[h]=s[h],t.lineTo(v[0],v[1]),v[h]=u[h],t.lineTo(v[0],v[1]),t.lineTo(u[0],u[1]);for(var m=1;mC.x,M||(k=k-Math.PI));var I=M?"left":"right",O=s.getModel("label"),R=O.get("rotate"),$=R*(Math.PI/180),V=_.getTextContent();V&&(_.setTextConfig({position:O.get("position")||I,rotation:R==null?-k:$,origin:"center"}),V.setStyle("verticalAlign","middle"))}var z=s.get(["emphasis","focus"]),B=z==="relative"?my(o.getAncestorsIndices(),o.getDescendantIndices()):z==="ancestor"?o.getAncestorsIndices():z==="descendant"?o.getDescendantIndices():null;B&&(nt(t).focus=B),Wye(i,o,h,t,m,v,b,n),t.__edge&&(t.onHoverStateChange=function(j){if(j!=="blur"){var U=o.parentNode&&r.getItemGraphicEl(o.parentNode.dataIndex);U&&U.hoverState===n_||C1(t.__edge,j)}})}function Wye(r,e,t,n,i,a,o,s){var u=e.getModel(),f=r.get("edgeShape"),h=r.get("layout"),p=r.getOrient(),g=r.get(["lineStyle","curveness"]),v=r.get("edgeForkPosition"),m=u.getModel("lineStyle").getLineStyle(),b=n.__edge;if(f==="curve")e.parentNode&&e.parentNode!==t&&(b||(b=n.__edge=new a_({shape:I2(h,p,g,i,i)})),Bt(b,{shape:I2(h,p,g,a,o)},r));else if(f==="polyline"&&h==="orthogonal"&&e!==t&&e.children&&e.children.length!==0&&e.isExpand===!0){for(var _=e.children,S=[],C=0;C<_.length;C++){var w=_[C].getLayout();S.push([w.x,w.y])}b||(b=n.__edge=new Hye({shape:{parentPoint:[o.x,o.y],childPoints:[[o.x,o.y]],orient:p,forkPosition:v}})),Bt(b,{shape:{parentPoint:[o.x,o.y],childPoints:S}},r)}b&&!(f==="polyline"&&!e.isExpand)&&(b.useStyle(Qe({strokeNoScale:!0,fill:null},m)),Mn(b,u,"lineStyle"),Af(b),s.add(b))}function Q4(r,e,t,n,i){var a=e.tree.root,o=YK(a,r),s=o.source,u=o.sourceLayout,f=e.getItemGraphicEl(r.dataIndex);if(f){var h=e.getItemGraphicEl(s.dataIndex),p=h.__edge,g=f.__edge||(s.isExpand===!1||s.children.length===1?p:void 0),v=n.get("edgeShape"),m=n.get("layout"),b=n.get("orient"),_=n.get(["lineStyle","curveness"]);g&&(v==="curve"?hu(g,{shape:I2(m,b,_,u,u),style:{opacity:0}},n,{cb:function(){t.remove(g)},removeOpt:i}):v==="polyline"&&n.get("layout")==="orthogonal"&&hu(g,{shape:{parentPoint:[u.x,u.y],childPoints:[[u.x,u.y]]},style:{opacity:0}},n,{cb:function(){t.remove(g)},removeOpt:i}))}}function YK(r,e){for(var t=e.parentNode===r?e:e.parentNode||e,n;n=t.getLayout(),n==null;)t=t.parentNode===r?t:t.parentNode||t;return{source:t,sourceLayout:n}}function J4(r,e,t,n,i){var a=r.tree.getNodeByDataIndex(e),o=r.tree.root,s=YK(o,a).sourceLayout,u={duration:i.get("animationDurationUpdate"),easing:i.get("animationEasingUpdate")};hu(t,{x:s.x+1,y:s.y+1},i,{cb:function(){n.remove(t),r.setItemGraphicEl(e,null)},removeOpt:u}),t.fadeOut(null,r.hostModel,{fadeLabel:!0,animation:u}),a.children.forEach(function(f){Q4(f,r,n,i,u)}),Q4(a,r,n,i,u)}function I2(r,e,t,n,i){var a,o,s,u,f,h,p,g;if(r==="radial"){f=n.rawX,p=n.rawY,h=i.rawX,g=i.rawY;var v=Bm(f,p),m=Bm(f,p+(g-p)*t),b=Bm(h,g+(p-g)*t),_=Bm(h,g);return{x1:v.x||0,y1:v.y||0,x2:_.x||0,y2:_.y||0,cpx1:m.x||0,cpy1:m.y||0,cpx2:b.x||0,cpy2:b.y||0}}else f=n.x,p=n.y,h=i.x,g=i.y,(e==="LR"||e==="RL")&&(a=f+(h-f)*t,o=p,s=h+(f-h)*t,u=g),(e==="TB"||e==="BT")&&(a=f,o=p+(g-p)*t,s=h,u=g+(p-g)*t);return{x1:f,y1:p,x2:h,y2:g,cpx1:a,cpy1:o,cpx2:s,cpy2:u}}var La=Ot();function qK(r){var e=r.mainData,t=r.datas;t||(t={main:e},r.datasAttr={main:"data"}),r.datas=r.mainData=null,KK(e,t,r),H(t,function(n){H(e.TRANSFERABLE_METHODS,function(i){n.wrapMethod(i,at(Gye,r))})}),e.wrapMethod("cloneShallow",at(Yye,r)),H(e.CHANGABLE_METHODS,function(n){e.wrapMethod(n,at(Uye,r))}),pi(t[e.dataType]===e)}function Gye(r,e){if(Xye(this)){var t=me({},La(this).datas);t[this.dataType]=e,KK(e,t,r)}else gF(e,this.dataType,La(this).mainData,r);return e}function Uye(r,e){return r.struct&&r.struct.update(),e}function Yye(r,e){return H(La(e).datas,function(t,n){t!==e&&gF(t.cloneShallow(),n,e,r)}),e}function qye(r){var e=La(this).mainData;return r==null||e==null?e:La(e).datas[r]}function Kye(){var r=La(this).mainData;return r==null?[{data:r}]:Ce(Tt(La(r).datas),function(e){return{type:e,data:La(r).datas[e]}})}function Xye(r){return La(r).mainData===r}function KK(r,e,t){La(r).datas={},H(e,function(n,i){gF(n,i,r,t)})}function gF(r,e,t,n){La(t).datas[e]=r,La(r).mainData=t,r.dataType=e,n.struct&&(r[n.structAttr]=n.struct,n.struct[n.datasAttr[e]]=r),r.getLinkedData=qye,r.getLinkedDataAll=Kye}var Zye=function(){function r(e,t){this.depth=0,this.height=0,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.isExpand=!1,this.name=e||"",this.hostTree=t}return r.prototype.isRemoved=function(){return this.dataIndex<0},r.prototype.eachNode=function(e,t,n){Ke(e)&&(n=t,t=e,e=null),e=e||{},Be(e)&&(e={order:e});var i=e.order||"preorder",a=this[e.attr||"children"],o;i==="preorder"&&(o=t.call(n,this));for(var s=0;!o&&st&&(t=i.height)}this.height=t+1},r.prototype.getNodeById=function(e){if(this.getId()===e)return this;for(var t=0,n=this.children,i=n.length;t=0&&this.hostTree.data.setItemLayout(this.dataIndex,e,t)},r.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},r.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostTree,n=t.data.getItemModel(this.dataIndex);return n.getModel(e)}},r.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},r.prototype.setVisual=function(e,t){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,e,t)},r.prototype.getVisual=function(e){return this.hostTree.data.getItemVisual(this.dataIndex,e)},r.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},r.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},r.prototype.getChildIndex=function(){if(this.parentNode){for(var e=this.parentNode.children,t=0;t=0){var n=t.getData().tree.root,i=r.targetNode;if(Be(i)&&(i=n.getNodeById(i)),i&&n.contains(i))return{node:i};var a=r.targetNodeId;if(a!=null&&(i=n.getNodeById(a)))return{node:i}}}function XK(r){for(var e=[];r;)r=r.parentNode,r&&e.push(r);return e.reverse()}function yF(r,e){var t=XK(r);return dt(t,e)>=0}function nD(r,e){for(var t=[];r;){var n=r.dataIndex;t.push({name:r.name,dataIndex:n,value:e.getRawValue(n)}),r=r.parentNode}return t.reverse(),t}var Jye=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.hasSymbolVisual=!0,t.ignoreStyleOnData=!0,t}return e.prototype.getInitialData=function(t){var n={name:t.name,children:t.data},i=t.leaves||{},a=new qt(i,this,this.ecModel),o=mF.createTree(n,this,s);function s(p){p.wrapMethod("getItemModel",function(g,v){var m=o.getNodeByDataIndex(v);return m&&m.children.length&&m.isExpand||(g.parentModel=a),g})}var u=0;o.eachNode("preorder",function(p){p.depth>u&&(u=p.depth)});var f=t.expandAndCollapse,h=f&&t.initialTreeDepth>=0?t.initialTreeDepth:u;return o.root.eachNode("preorder",function(p){var g=p.hostTree.data.getRawDataItem(p.dataIndex);p.isExpand=g&&g.collapsed!=null?!g.collapsed:p.depth<=h}),o.data},e.prototype.getOrient=function(){var t=this.get("orient");return t==="horizontal"?t="LR":t==="vertical"&&(t="TB"),t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.formatTooltip=function(t,n,i){for(var a=this.getData().tree,o=a.root.children[0],s=a.getNodeByDataIndex(t),u=s.getValue(),f=s.name;s&&s!==o;)f=s.parentNode.name+"."+f,s=s.parentNode;return dn("nameValue",{name:f,value:u,noValue:isNaN(u)||u==null})},e.prototype.getDataParams=function(t){var n=r.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return n.treeAncestors=nD(i,this),n.collapsed=!i.isExpand,n},e.type="series.tree",e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},e}(lr);function e_e(r,e,t){for(var n=[r],i=[],a;a=n.pop();)if(i.push(a),a.isExpand){var o=a.children;if(o.length)for(var s=0;s=0;a--)t.push(i[a])}}function t_e(r,e){r.eachSeriesByType("tree",function(t){r_e(t,e)})}function r_e(r,e){var t=Rye(r,e);r.layoutInfo=t;var n=r.get("layout"),i=0,a=0,o=null;n==="radial"?(i=2*Math.PI,a=Math.min(t.height,t.width)/2,o=K4(function(w,k){return(w.parentNode===k.parentNode?1:2)/w.depth})):(i=t.width,a=t.height,o=K4());var s=r.getData().tree.root,u=s.children[0];if(u){Pye(s),e_e(u,Lye,o),s.hierNode.modifier=-u.hierNode.prelim,mm(u,Oye);var f=u,h=u,p=u;mm(u,function(w){var k=w.getLayout().x;kh.getLayout().x&&(h=w),w.depth>p.depth&&(p=w)});var g=f===h?1:o(f,h)/2,v=g-f.getLayout().x,m=0,b=0,_=0,S=0;if(n==="radial")m=i/(h.getLayout().x+g+v),b=a/(p.depth-1||1),mm(u,function(w){_=(w.getLayout().x+v)*m,S=(w.depth-1)*b;var k=Bm(_,S);w.setLayout({x:k.x,y:k.y,rawX:_,rawY:S},!0)});else{var C=r.getOrient();C==="RL"||C==="LR"?(b=a/(h.getLayout().x+g+v),m=i/(p.depth-1||1),mm(u,function(w){S=(w.getLayout().x+v)*b,_=C==="LR"?(w.depth-1)*m:i-(w.depth-1)*m,w.setLayout({x:_,y:S},!0)})):(C==="TB"||C==="BT")&&(m=i/(h.getLayout().x+g+v),b=a/(p.depth-1||1),mm(u,function(w){_=(w.getLayout().x+v)*m,S=C==="TB"?(w.depth-1)*b:a-(w.depth-1)*b,w.setLayout({x:_,y:S},!0)}))}}}function n_e(r){r.eachSeriesByType("tree",function(e){var t=e.getData(),n=t.tree;n.eachNode(function(i){var a=i.getModel(),o=a.getModel("itemStyle").getItemStyle(),s=t.ensureUniqueItemVisual(i.dataIndex,"style");me(s,o)})})}function i_e(r){r.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"tree",query:e},function(n){var i=e.dataIndex,a=n.getData().tree,o=a.getNodeByDataIndex(i);o.isExpand=!o.isExpand})}),r.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(e,t,n){t.eachComponent({mainType:"series",subType:"tree",query:e},function(i){var a=i.coordinateSystem,o=vF(a,e,void 0,n);i.setCenter&&i.setCenter(o.center),i.setZoom&&i.setZoom(o.zoom)})})}function a_e(r){r.registerChartView(jye),r.registerSeriesModel(Jye),r.registerLayout(t_e),r.registerVisual(n_e),i_e(r)}var ej=["treemapZoomToNode","treemapRender","treemapMove"];function o_e(r){for(var e=0;e1;)a=a.parentNode;var o=a2(r.ecModel,a.name||a.dataIndex+"",n);i.setVisual("decal",o)})}var s_e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.preventUsingHoverLayer=!0,t}return e.prototype.getInitialData=function(t,n){var i={name:t.name,children:t.data};QK(i);var a=t.levels||[],o=this.designatedVisualItemStyle={},s=new qt({itemStyle:o},this,n);a=t.levels=l_e(a,n);var u=Ce(a||[],function(p){return new qt(p,s,n)},this),f=mF.createTree(i,this,h);function h(p){p.wrapMethod("getItemModel",function(g,v){var m=f.getNodeByDataIndex(v),b=m?u[m.depth]:null;return g.parentModel=b||s,g})}return f.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.formatTooltip=function(t,n,i){var a=this.getData(),o=this.getRawValue(t),s=a.getName(t);return dn("nameValue",{name:s,value:o})},e.prototype.getDataParams=function(t){var n=r.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return n.treeAncestors=nD(i,this),n.treePathInfo=n.treeAncestors,n},e.prototype.setLayoutInfo=function(t){this.layoutInfo=this.layoutInfo||{},me(this.layoutInfo,t)},e.prototype.mapIdToIndex=function(t){var n=this._idIndexMap;n||(n=this._idIndexMap=Ge(),this._idIndexMapCount=0);var i=n.get(t);return i==null&&n.set(t,i=this._idIndexMapCount++),i},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var n=this.getRawData().tree.root;(!t||t!==n&&!n.contains(t))&&(this._viewRoot=n)},e.prototype.enableAriaDecal=function(){ZK(this)},e.type="series.treemap",e.layoutMode="box",e.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.32*.32,scaleLimit:null,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}},emphasis:{itemStyle:{color:"rgba(0,0,0,0.9)"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},e}(lr);function QK(r){var e=0;H(r.children,function(n){QK(n);var i=n.value;we(i)&&(i=i[0]),e+=i});var t=r.value;we(t)&&(t=t[0]),(t==null||isNaN(t))&&(t=e),t<0&&(t=0),we(r.value)?r.value[0]=t:r.value=t}function l_e(r,e){var t=Jt(e.get("color")),n=Jt(e.get(["aria","decal","decals"]));if(t){r=r||[];var i,a;H(r,function(s){var u=new qt(s),f=u.get("color"),h=u.get("decal");(u.get(["itemStyle","color"])||f&&f!=="none")&&(i=!0),(u.get(["itemStyle","decal"])||h&&h!=="none")&&(a=!0)});var o=r[0]||(r[0]={});return i||(o.color=t.slice()),!a&&n&&(o.decal=n.slice()),r}}var u_e=8,tj=8,oP=5,c_e=function(){function r(e){this.group=new rt,e.add(this.group)}return r.prototype.render=function(e,t,n,i){var a=e.getModel("breadcrumb"),o=this.group;if(o.removeAll(),!(!a.get("show")||!n)){var s=a.getModel("itemStyle"),u=a.getModel("emphasis"),f=s.getModel("textStyle"),h=u.getModel(["itemStyle","textStyle"]),p={pos:{left:a.get("left"),right:a.get("right"),top:a.get("top"),bottom:a.get("bottom")},box:{width:t.getWidth(),height:t.getHeight()},emptyItemWidth:a.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(n,p,f),this._renderContent(e,p,s,u,f,h,i),WT(o,p.pos,p.box)}},r.prototype._prepare=function(e,t,n){for(var i=e;i;i=i.parentNode){var a=tn(i.getModel().get("name"),""),o=n.getTextRect(a),s=Math.max(o.width+u_e*2,t.emptyItemWidth);t.totalWidth+=s+tj,t.renderList.push({node:i,text:a,width:s})}},r.prototype._renderContent=function(e,t,n,i,a,o,s){for(var u=0,f=t.emptyItemWidth,h=e.get(["breadcrumb","height"]),p=yfe(t.pos,t.box),g=t.totalWidth,v=t.renderList,m=i.getModel("itemStyle").getItemStyle(),b=v.length-1;b>=0;b--){var _=v[b],S=_.node,C=_.width,w=_.text;g>p.width&&(g-=C-f,C=f,w=null);var k=new mi({shape:{points:f_e(u,0,C,h,b===v.length-1,b===0)},style:Qe(n.getItemStyle(),{lineJoin:"bevel"}),textContent:new Rt({style:sr(a,{text:w})}),textConfig:{position:"inside"},z2:$p*1e4,onclick:at(s,S)});k.disableLabelAnimation=!0,k.getTextContent().ensureState("emphasis").style=sr(o,{text:w}),k.ensureState("emphasis").style=m,xr(k,i.get("focus"),i.get("blurScope"),i.get("disabled")),this.group.add(k),h_e(k,e,S),u+=C+tj}},r.prototype.remove=function(){this.group.removeAll()},r}();function f_e(r,e,t,n,i,a){var o=[[i?r:r-oP,e],[r+t,e],[r+t,e+n],[i?r:r-oP,e+n]];return!a&&o.splice(2,0,[r+t+oP,e+n/2]),!i&&o.push([r,e+n/2]),o}function h_e(r,e,t){nt(r).eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:t&&t.dataIndex,name:t&&t.name},treePathInfo:t&&nD(t,e)}}var d_e=function(){function r(){this._storage=[],this._elExistsMap={}}return r.prototype.add=function(e,t,n,i,a){return this._elExistsMap[e.id]?!1:(this._elExistsMap[e.id]=!0,this._storage.push({el:e,target:t,duration:n,delay:i,easing:a}),!0)},r.prototype.finished=function(e){return this._finishedCallback=e,this},r.prototype.start=function(){for(var e=this,t=this._storage.length,n=function(){t--,t<=0&&(e._storage.length=0,e._elExistsMap={},e._finishedCallback&&e._finishedCallback())},i=0,a=this._storage.length;inj||Math.abs(t.dy)>nj)){var n=this.seriesModel.getData().tree.root;if(!n)return;var i=n.getLayout();if(!i)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+t.dx,y:i.y+t.dy,width:i.width,height:i.height}})}},e.prototype._onZoom=function(t){var n=t.originX,i=t.originY,a=t.scale;if(this._state!=="animating"){var o=this.seriesModel.getData().tree.root;if(!o)return;var s=o.getLayout();if(!s)return;var u=new ft(s.x,s.y,s.width,s.height),f=null,h=this._controllerHost;f=h.zoomLimit;var p=h.zoom=h.zoom||1;if(p*=a,f){var g=f.min||0,v=f.max||1/0;p=Math.max(Math.min(v,p),g)}var m=p/h.zoom;h.zoom=p;var b=this.seriesModel.layoutInfo;n-=b.x,i-=b.y;var _=Ji();Qo(_,_,[-n,-i]),lN(_,_,[m,m]),Qo(_,_,[n,i]),u.applyTransform(_),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:u.x,y:u.y,width:u.width,height:u.height}})}},e.prototype._initEvents=function(t){var n=this;t.on("click",function(i){if(n._state==="ready"){var a=n.seriesModel.get("nodeClick",!0);if(a){var o=n.findTarget(i.offsetX,i.offsetY);if(o){var s=o.node;if(s.getLayout().isLeafRoot)n._rootToNode(o);else if(a==="zoomToNode")n._zoomToNode(o);else if(a==="link"){var u=s.hostTree.data.getItemModel(s.dataIndex),f=u.get("link",!0),h=u.get("target",!0)||"blank";f&&E1(f,h)}}}}},this)},e.prototype._renderBreadcrumb=function(t,n,i){var a=this;i||(i=t.get("leafDepth",!0)!=null?{node:t.getViewRoot()}:this.findTarget(n.getWidth()/2,n.getHeight()/2),i||(i={node:t.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new c_e(this.group))).render(t,n,i.node,function(o){a._state!=="animating"&&(yF(t.getViewRoot(),o)?a._rootToNode({node:o}):a._zoomToNode({node:o}))})},e.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=ym(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},e.prototype.dispose=function(){this._clearController()},e.prototype._zoomToNode=function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype._rootToNode=function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype.findTarget=function(t,n){var i,a=this.seriesModel.getViewRoot();return a.eachNode({attr:"viewChildren",order:"preorder"},function(o){var s=this._storage.background[o.getRawIndex()];if(s){var u=s.transformCoordToLocal(t,n),f=s.shape;if(f.x<=u[0]&&u[0]<=f.x+f.width&&f.y<=u[1]&&u[1]<=f.y+f.height)i={node:o,offsetX:u[0],offsetY:u[1]};else return!1}},this),i},e.type="treemap",e}(tr);function ym(){return{nodeGroup:[],background:[],content:[]}}function b_e(r,e,t,n,i,a,o,s,u,f){if(!o)return;var h=o.getLayout(),p=r.getData(),g=o.getModel();if(p.setItemGraphicEl(o.dataIndex,null),!h||!h.isInView)return;var v=h.width,m=h.height,b=h.borderWidth,_=h.invisible,S=o.getRawIndex(),C=s&&s.getRawIndex(),w=o.viewChildren,k=h.upperHeight,M=w&&w.length,E=g.getModel("itemStyle"),I=g.getModel(["emphasis","itemStyle"]),O=g.getModel(["blur","itemStyle"]),R=g.getModel(["select","itemStyle"]),$=E.get("borderRadius")||0,V=je("nodeGroup",P2);if(!V)return;if(u.add(V),V.x=h.x||0,V.y=h.y||0,V.markRedraw(),U1(V).nodeWidth=v,U1(V).nodeHeight=m,h.isAboveViewRoot)return V;var z=je("background",rj,f,g_e);z&&de(V,z,M&&h.upperLabelHeight);var B=g.getModel("emphasis"),j=B.get("focus"),U=B.get("blurScope"),X=B.get("disabled"),ee=j==="ancestor"?o.getAncestorsIndices():j==="descendant"?o.getDescendantIndices():j;if(M)Cy(V)&&ef(V,!1),z&&(ef(z,!X),p.setItemGraphicEl(o.dataIndex,z),ZO(z,ee,U));else{var Z=je("content",rj,f,m_e);Z&&ve(V,Z),z.disableMorphing=!0,z&&Cy(z)&&ef(z,!1),ef(V,!X),p.setItemGraphicEl(o.dataIndex,V);var re=g.getShallow("cursor");re&&Z.attr("cursor",re),ZO(V,ee,U)}return V;function de(ie,oe,Fe){var Ne=nt(oe);if(Ne.dataIndex=o.dataIndex,Ne.seriesIndex=r.seriesIndex,oe.setShape({x:0,y:0,width:v,height:m,r:$}),_)_e(oe);else{oe.invisible=!1;var We=o.getVisual("style"),St=We.stroke,ut=oj(E);ut.fill=St;var kt=jc(I);kt.fill=I.get("borderColor");var $t=jc(O);$t.fill=O.get("borderColor");var Ht=jc(R);if(Ht.fill=R.get("borderColor"),Fe){var Ur=v-2*b;Re(oe,St,We.opacity,{x:b,y:0,width:Ur,height:k})}else oe.removeTextContent();oe.setStyle(ut),oe.ensureState("emphasis").style=kt,oe.ensureState("blur").style=$t,oe.ensureState("select").style=Ht,Af(oe)}ie.add(oe)}function ve(ie,oe){var Fe=nt(oe);Fe.dataIndex=o.dataIndex,Fe.seriesIndex=r.seriesIndex;var Ne=Math.max(v-2*b,0),We=Math.max(m-2*b,0);if(oe.culling=!0,oe.setShape({x:b,y:b,width:Ne,height:We,r:$}),_)_e(oe);else{oe.invisible=!1;var St=o.getVisual("style"),ut=St.fill,kt=oj(E);kt.fill=ut,kt.decal=St.decal;var $t=jc(I),Ht=jc(O),Ur=jc(R);Re(oe,ut,St.opacity,null),oe.setStyle(kt),oe.ensureState("emphasis").style=$t,oe.ensureState("blur").style=Ht,oe.ensureState("select").style=Ur,Af(oe)}ie.add(oe)}function _e(ie){!ie.invisible&&a.push(ie)}function Re(ie,oe,Fe,Ne){var We=g.getModel(Ne?aj:ij),St=tn(g.get("name"),null),ut=We.getShallow("show");An(ie,hn(g,Ne?aj:ij),{defaultText:ut?St:null,inheritColor:oe,defaultOpacity:Fe,labelFetcher:r,labelDataIndex:o.dataIndex});var kt=ie.getTextContent();if(kt){var $t=kt.style,Ht=aN($t.padding||0);Ne&&(ie.setTextConfig({layoutRect:Ne}),kt.disableLabelLayout=!0),kt.beforeUpdate=function(){var Rr=Math.max((Ne?Ne.width:ie.shape.width)-Ht[1]-Ht[3],0),Yr=Math.max((Ne?Ne.height:ie.shape.height)-Ht[0]-Ht[2],0);($t.width!==Rr||$t.height!==Yr)&&kt.setStyle({width:Rr,height:Yr})},$t.truncateMinChar=2,$t.lineOverflow="truncate",Le($t,Ne,h);var Ur=kt.getState("emphasis");Le(Ur?Ur.style:null,Ne,h)}}function Le(ie,oe,Fe){var Ne=ie?ie.text:null;if(!oe&&Fe.isLeafRoot&&Ne!=null){var We=r.get("drillDownIcon",!0);ie.text=We?We+" "+Ne:Ne}}function je(ie,oe,Fe,Ne){var We=C!=null&&t[ie][C],St=i[ie];return We?(t[ie][C]=null,Q(St,We)):_||(We=new oe,We instanceof Ra&&(We.z2=x_e(Fe,Ne)),he(St,We)),e[ie][S]=We}function Q(ie,oe){var Fe=ie[S]={};oe instanceof P2?(Fe.oldX=oe.x,Fe.oldY=oe.y):Fe.oldShape=me({},oe.shape)}function he(ie,oe){var Fe=ie[S]={},Ne=o.parentNode,We=oe instanceof rt;if(Ne&&(!n||n.direction==="drillDown")){var St=0,ut=0,kt=i.background[Ne.getRawIndex()];!n&&kt&&kt.oldShape&&(St=kt.oldShape.width,ut=kt.oldShape.height),We?(Fe.oldX=0,Fe.oldY=ut):Fe.oldShape={x:St,y:ut,width:0,height:0}}Fe.fadein=!We}}function x_e(r,e){return r*v_e+e}var $y=H,S_e=Je,Y1=-1,fn=function(){function r(e){var t=e.mappingMethod,n=e.type,i=this.option=et(e);this.type=n,this.mappingMethod=t,this._normalizeData=T_e[t];var a=r.visualHandlers[n];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._normalizedToVisual=a._normalizedToVisual[t],t==="piecewise"?(sP(i),w_e(i)):t==="category"?i.categories?C_e(i):sP(i,!0):(pi(t!=="linear"||i.dataExtent),sP(i))}return r.prototype.mapValueToVisual=function(e){var t=this._normalizeData(e);return this._normalizedToVisual(t,e)},r.prototype.getNormalizer=function(){return ze(this._normalizeData,this)},r.listVisualTypes=function(){return Tt(r.visualHandlers)},r.isValidType=function(e){return r.visualHandlers.hasOwnProperty(e)},r.eachVisual=function(e,t,n){Je(e)?H(e,t,n):t.call(n,e)},r.mapVisual=function(e,t,n){var i,a=we(e)?[]:Je(e)?{}:(i=!0,null);return r.eachVisual(e,function(o,s){var u=t.call(n,o,s);i?a=u:a[s]=u}),a},r.retrieveVisuals=function(e){var t={},n;return e&&$y(r.visualHandlers,function(i,a){e.hasOwnProperty(a)&&(t[a]=e[a],n=!0)}),n?t:null},r.prepareVisualTypes=function(e){if(we(e))e=e.slice();else if(S_e(e)){var t=[];$y(e,function(n,i){t.push(i)}),e=t}else return[];return e.sort(function(n,i){return i==="color"&&n!=="color"&&n.indexOf("color")===0?1:-1}),e},r.dependsOn=function(e,t){return t==="color"?!!(e&&e.indexOf(t)===0):e===t},r.findPieceIndex=function(e,t,n){for(var i,a=1/0,o=0,s=t.length;o=0;a--)n[a]==null&&(delete t[e[a]],e.pop())}function sP(r,e){var t=r.visual,n=[];Je(t)?$y(t,function(a){n.push(a)}):t!=null&&n.push(t);var i={color:1,symbol:1};!e&&n.length===1&&!i.hasOwnProperty(r.type)&&(n[1]=n[0]),JK(r,n)}function Ew(r){return{applyVisual:function(e,t,n){var i=this.mapValueToVisual(e);n("color",r(t("color"),i))},_normalizedToVisual:L2([0,1])}}function sj(r){var e=this.option.visual;return e[Math.round(Ut(r,[0,1],[0,e.length-1],!0))]||{}}function _m(r){return function(e,t,n){n(r,this.mapValueToVisual(e))}}function zm(r){var e=this.option.visual;return e[this.option.loop&&r!==Y1?r%e.length:r]}function Wc(){return this.option.visual[0]}function L2(r){return{linear:function(e){return Ut(e,r,this.option.visual,!0)},category:zm,piecewise:function(e,t){var n=O2.call(this,t);return n==null&&(n=Ut(e,r,this.option.visual,!0)),n},fixed:Wc}}function O2(r){var e=this.option,t=e.pieceList;if(e.hasSpecialVisual){var n=fn.findPieceIndex(r,t),i=t[n];if(i&&i.visual)return i.visual[this.type]}}function JK(r,e){return r.visual=e,r.type==="color"&&(r.parsedVisual=Ce(e,function(t){var n=ea(t);return n||[0,0,0,1]})),e}var T_e={linear:function(r){return Ut(r,this.option.dataExtent,[0,1],!0)},piecewise:function(r){var e=this.option.pieceList,t=fn.findPieceIndex(r,e,!0);if(t!=null)return Ut(t,[0,e.length-1],[0,1],!0)},category:function(r){var e=this.option.categories?this.option.categoryMap[r]:r;return e??Y1},fixed:Or};function Iw(r,e,t){return r?e<=t:e=t.length||b===t[b.depth]){var S=I_e(i,u,b,_,m,n);tX(b,S,t,n)}})}}}function M_e(r,e,t){var n=me({},e),i=t.designatedVisualItemStyle;return H(["color","colorAlpha","colorSaturation"],function(a){i[a]=e[a];var o=r.get(a);i[a]=null,o!=null&&(n[a]=o)}),n}function lj(r){var e=lP(r,"color");if(e){var t=lP(r,"colorAlpha"),n=lP(r,"colorSaturation");return n&&(e=Km(e,null,null,n)),t&&(e=y1(e,t)),e}}function A_e(r,e){return e!=null?Km(e,null,null,r):null}function lP(r,e){var t=r[e];if(t!=null&&t!=="none")return t}function E_e(r,e,t,n,i,a){if(!(!a||!a.length)){var o=uP(e,"color")||i.color!=null&&i.color!=="none"&&(uP(e,"colorAlpha")||uP(e,"colorSaturation"));if(o){var s=e.get("visualMin"),u=e.get("visualMax"),f=t.dataExtent.slice();s!=null&&sf[1]&&(f[1]=u);var h=e.get("colorMappingBy"),p={type:o.name,dataExtent:f,visual:o.range};p.type==="color"&&(h==="index"||h==="id")?(p.mappingMethod="category",p.loop=!0):p.mappingMethod="linear";var g=new fn(p);return eX(g).drColorMappingBy=h,g}}}function uP(r,e){var t=r.get(e);return we(t)&&t.length?{name:e,range:t}:null}function I_e(r,e,t,n,i,a){var o=me({},e);if(i){var s=i.type,u=s==="color"&&eX(i).drColorMappingBy,f=u==="index"?n:u==="id"?a.mapIdToIndex(t.getId()):t.getValue(r.get("visualDimension"));o[s]=i.mapValueToVisual(f)}return o}var By=Math.max,q1=Math.min,uj=mn,_F=H,rX=["itemStyle","borderWidth"],P_e=["itemStyle","gapWidth"],L_e=["upperLabel","show"],O_e=["upperLabel","height"];const R_e={seriesType:"treemap",reset:function(r,e,t,n){var i=t.getWidth(),a=t.getHeight(),o=r.option,s=rn(r.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()}),u=o.size||[],f=Oe(uj(s.width,u[0]),i),h=Oe(uj(s.height,u[1]),a),p=n&&n.type,g=["treemapZoomToNode","treemapRootToNode"],v=Fy(n,g,r),m=p==="treemapRender"||p==="treemapMove"?n.rootRect:null,b=r.getViewRoot(),_=XK(b);if(p!=="treemapMove"){var S=p==="treemapZoomToNode"?V_e(r,v,b,f,h):m?[m.width,m.height]:[f,h],C=o.sort;C&&C!=="asc"&&C!=="desc"&&(C="desc");var w={squareRatio:o.squareRatio,sort:C,leafDepth:o.leafDepth};b.hostTree.clearLayouts();var k={x:0,y:0,width:S[0],height:S[1],area:S[0]*S[1]};b.setLayout(k),nX(b,w,!1,0),k=b.getLayout(),_F(_,function(E,I){var O=(_[I+1]||b).getValue();E.setLayout(me({dataExtent:[O,O],borderWidth:0,upperHeight:0},k))})}var M=r.getData().tree.root;M.setLayout(H_e(s,m,v),!0),r.setLayoutInfo(s),iX(M,new ft(-s.x,-s.y,i,a),_,b,0)}};function nX(r,e,t,n){var i,a;if(!r.isRemoved()){var o=r.getLayout();i=o.width,a=o.height;var s=r.getModel(),u=s.get(rX),f=s.get(P_e)/2,h=aX(s),p=Math.max(u,h),g=u-f,v=p-f;r.setLayout({borderWidth:u,upperHeight:p,upperLabelHeight:h},!0),i=By(i-2*g,0),a=By(a-g-v,0);var m=i*a,b=N_e(r,s,m,e,t,n);if(b.length){var _={x:g,y:v,width:i,height:a},S=q1(i,a),C=1/0,w=[];w.area=0;for(var k=0,M=b.length;k=0;u--){var f=i[n==="asc"?o-u-1:u].getValue();f/t*es[1]&&(s[1]=f)})),{sum:n,dataExtent:s}}function z_e(r,e,t){for(var n=0,i=1/0,a=0,o=void 0,s=r.length;an&&(n=o));var u=r.area*r.area,f=e*e*t;return u?By(f*n/u,u/(f*i)):1/0}function cj(r,e,t,n,i){var a=e===t.width?0:1,o=1-a,s=["x","y"],u=["width","height"],f=t[s[a]],h=e?r.area/e:0;(i||h>t[u[o]])&&(h=t[u[o]]);for(var p=0,g=r.length;pw5&&(f=w5),a=s}fn&&(n=e);var a=n%2?n+2:n+3;i=[];for(var o=0;o0&&(M[0]=-M[0],M[1]=-M[1]);var I=k[0]<0?-1:1;if(a.__position!=="start"&&a.__position!=="end"){var O=-Math.atan2(k[1],k[0]);p[0].8?"left":g[0]<-.8?"right":"center",b=g[1]>.8?"top":g[1]<-.8?"bottom":"middle";break;case"start":a.x=-g[0]*S+h[0],a.y=-g[1]*C+h[1],m=g[0]>.8?"right":g[0]<-.8?"left":"center",b=g[1]>.8?"bottom":g[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":a.x=S*I+h[0],a.y=h[1]+R,m=k[0]<0?"right":"left",a.originX=-S*I,a.originY=-R;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":a.x=E[0],a.y=E[1]+R,m="center",a.originY=-R;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":a.x=-S*I+p[0],a.y=p[1]+R,m=k[0]>=0?"right":"left",a.originX=S*I,a.originY=-R;break}a.scaleX=a.scaleY=o,a.setStyle({verticalAlign:a.__verticalAlign||b,align:a.__align||m})}},e}(rt),CF=function(){function r(e){this.group=new rt,this._LineCtor=e||wF}return r.prototype.updateData=function(e){var t=this;this._progressiveEls=null;var n=this,i=n.group,a=n._lineData;n._lineData=e,a||i.removeAll();var o=gj(e);e.diff(a).add(function(s){t._doAdd(e,s,o)}).update(function(s,u){t._doUpdate(a,e,u,s,o)}).remove(function(s){i.remove(a.getItemGraphicEl(s))}).execute()},r.prototype.updateLayout=function(){var e=this._lineData;e&&e.eachItemGraphicEl(function(t,n){t.updateLayout(e,n)},this)},r.prototype.incrementalPrepareUpdate=function(e){this._seriesScope=gj(e),this._lineData=null,this.group.removeAll()},r.prototype.incrementalUpdate=function(e,t){this._progressiveEls=[];function n(s){!s.isGroup&&!obe(s)&&(s.incremental=!0,s.ensureState("emphasis").hoverLayer=!0)}for(var i=e.start;i0}function gj(r){var e=r.hostModel,t=e.getModel("emphasis");return{lineStyle:e.getModel("lineStyle").getLineStyle(),emphasisLineStyle:t.getModel(["lineStyle"]).getLineStyle(),blurLineStyle:e.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:e.getModel(["select","lineStyle"]).getLineStyle(),emphasisDisabled:t.get("disabled"),blurScope:t.get("blurScope"),focus:t.get("focus"),labelStatesModels:hn(e)}}function mj(r){return isNaN(r[0])||isNaN(r[1])}function pP(r){return r&&!mj(r[0])&&!mj(r[1])}var vP=[],gP=[],mP=[],Vd=vn,yP=hf,yj=Math.abs;function _j(r,e,t){for(var n=r[0],i=r[1],a=r[2],o=1/0,s,u=t*t,f=.1,h=.1;h<=.9;h+=.1){vP[0]=Vd(n[0],i[0],a[0],h),vP[1]=Vd(n[1],i[1],a[1],h);var p=yj(yP(vP,e)-u);p=0?s=s+f:s=s-f:m>=0?s=s-f:s=s+f}return s}function _P(r,e){var t=[],n=yy,i=[[],[],[]],a=[[],[]],o=[];e/=2,r.eachEdge(function(s,u){var f=s.getLayout(),h=s.getVisual("fromSymbol"),p=s.getVisual("toSymbol");f.__original||(f.__original=[Is(f[0]),Is(f[1])],f[2]&&f.__original.push(Is(f[2])));var g=f.__original;if(f[2]!=null){if(oi(i[0],g[0]),oi(i[1],g[2]),oi(i[2],g[1]),h&&h!=="none"){var v=Hm(s.node1),m=_j(i,g[0],v*e);n(i[0][0],i[1][0],i[2][0],m,t),i[0][0]=t[3],i[1][0]=t[4],n(i[0][1],i[1][1],i[2][1],m,t),i[0][1]=t[3],i[1][1]=t[4]}if(p&&p!=="none"){var v=Hm(s.node2),m=_j(i,g[1],v*e);n(i[0][0],i[1][0],i[2][0],m,t),i[1][0]=t[1],i[2][0]=t[2],n(i[0][1],i[1][1],i[2][1],m,t),i[1][1]=t[1],i[2][1]=t[2]}oi(f[0],i[0]),oi(f[1],i[2]),oi(f[2],i[1])}else{if(oi(a[0],g[0]),oi(a[1],g[1]),Qc(o,a[1],a[0]),Rp(o,o),h&&h!=="none"){var v=Hm(s.node1);SO(a[0],a[0],o,v*e)}if(p&&p!=="none"){var v=Hm(s.node2);SO(a[1],a[1],o,-v*e)}oi(f[0],a[0]),oi(f[1],a[1])}})}function bj(r){return r.type==="view"}var sbe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,n){var i=new p_,a=new CF,o=this.group;this._controller=new __(n.getZr()),this._controllerHost={target:o},o.add(i.group),o.add(a.group),this._symbolDraw=i,this._lineDraw=a,this._firstRender=!0},e.prototype.render=function(t,n,i){var a=this,o=t.coordinateSystem;this._model=t;var s=this._symbolDraw,u=this._lineDraw,f=this.group;if(bj(o)){var h={x:o.x,y:o.y,scaleX:o.scaleX,scaleY:o.scaleY};this._firstRender?f.attr(h):Bt(f,h,t)}_P(t.getGraph(),Vm(t));var p=t.getData();s.updateData(p);var g=t.getEdgeData();u.updateData(g),this._updateNodeAndLinkScale(),this._updateController(t,n,i),clearTimeout(this._layoutTimeout);var v=t.forceLayout,m=t.get(["force","layoutAnimation"]);v&&this._startForceLayoutIteration(v,m);var b=t.get("layout");p.graph.eachNode(function(w){var k=w.dataIndex,M=w.getGraphicEl(),E=w.getModel();if(M){M.off("drag").off("dragend");var I=E.get("draggable");I&&M.on("drag",function(R){switch(b){case"force":v.warmUp(),!a._layouting&&a._startForceLayoutIteration(v,m),v.setFixed(k),p.setItemLayout(k,[M.x,M.y]);break;case"circular":p.setItemLayout(k,[M.x,M.y]),w.setLayout({fixed:!0},!0),SF(t,"symbolSize",w,[R.offsetX,R.offsetY]),a.updateLayout(t);break;case"none":default:p.setItemLayout(k,[M.x,M.y]),xF(t.getGraph(),t),a.updateLayout(t);break}}).on("dragend",function(){v&&v.setUnfixed(k)}),M.setDraggable(I,!!E.get("cursor"));var O=E.get(["emphasis","focus"]);O==="adjacency"&&(nt(M).focus=w.getAdjacentDataIndices())}}),p.graph.eachEdge(function(w){var k=w.getGraphicEl(),M=w.getModel().get(["emphasis","focus"]);k&&M==="adjacency"&&(nt(k).focus={edge:[w.dataIndex],node:[w.node1.dataIndex,w.node2.dataIndex]})});var _=t.get("layout")==="circular"&&t.get(["circular","rotateLabel"]),S=p.getLayout("cx"),C=p.getLayout("cy");p.graph.eachNode(function(w){uX(w,_,S,C)}),this._firstRender=!1},e.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype._startForceLayoutIteration=function(t,n){var i=this;(function a(){t.step(function(o){i.updateLayout(i._model),(i._layouting=!o)&&(n?i._layoutTimeout=setTimeout(a,16):a())})})()},e.prototype._updateController=function(t,n,i){var a=this,o=this._controller,s=this._controllerHost,u=this.group;if(o.setPointerChecker(function(f,h,p){var g=u.getBoundingRect();return g.applyTransform(u.transform),g.contain(h,p)&&!tD(f,i,t)}),!bj(t.coordinateSystem)){o.disable();return}o.enable(t.get("roam")),s.zoomLimit=t.get("scaleLimit"),s.zoom=t.coordinateSystem.getZoom(),o.off("pan").off("zoom").on("pan",function(f){hF(s,f.dx,f.dy),i.dispatchAction({seriesId:t.id,type:"graphRoam",dx:f.dx,dy:f.dy})}).on("zoom",function(f){dF(s,f.scale,f.originX,f.originY),i.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:f.scale,originX:f.originX,originY:f.originY}),a._updateNodeAndLinkScale(),_P(t.getGraph(),Vm(t)),a._lineDraw.updateLayout(),i.updateLabelLayout()})},e.prototype._updateNodeAndLinkScale=function(){var t=this._model,n=t.getData(),i=Vm(t);n.eachItemGraphicEl(function(a,o){a&&a.setSymbolScale(i)})},e.prototype.updateLayout=function(t){_P(t.getGraph(),Vm(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},e.prototype.remove=function(){clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},e.type="graph",e}(tr);function Hd(r){return"_EC_"+r}var lbe=function(){function r(e){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=e||!1}return r.prototype.isDirected=function(){return this._directed},r.prototype.addNode=function(e,t){e=e==null?""+t:""+e;var n=this._nodesMap;if(!n[Hd(e)]){var i=new Gc(e,t);return i.hostGraph=this,this.nodes.push(i),n[Hd(e)]=i,i}},r.prototype.getNodeByIndex=function(e){var t=this.data.getRawIndex(e);return this.nodes[t]},r.prototype.getNodeById=function(e){return this._nodesMap[Hd(e)]},r.prototype.addEdge=function(e,t,n){var i=this._nodesMap,a=this._edgesMap;if(Ft(e)&&(e=this.nodes[e]),Ft(t)&&(t=this.nodes[t]),e instanceof Gc||(e=i[Hd(e)]),t instanceof Gc||(t=i[Hd(t)]),!(!e||!t)){var o=e.id+"-"+t.id,s=new fX(e,t,n);return s.hostGraph=this,this._directed&&(e.outEdges.push(s),t.inEdges.push(s)),e.edges.push(s),e!==t&&t.edges.push(s),this.edges.push(s),a[o]=s,s}},r.prototype.getEdgeByIndex=function(e){var t=this.edgeData.getRawIndex(e);return this.edges[t]},r.prototype.getEdge=function(e,t){e instanceof Gc&&(e=e.id),t instanceof Gc&&(t=t.id);var n=this._edgesMap;return this._directed?n[e+"-"+t]:n[e+"-"+t]||n[t+"-"+e]},r.prototype.eachNode=function(e,t){for(var n=this.nodes,i=n.length,a=0;a=0&&e.call(t,n[a],a)},r.prototype.eachEdge=function(e,t){for(var n=this.edges,i=n.length,a=0;a=0&&n[a].node1.dataIndex>=0&&n[a].node2.dataIndex>=0&&e.call(t,n[a],a)},r.prototype.breadthFirstTraverse=function(e,t,n,i){if(t instanceof Gc||(t=this._nodesMap[Hd(t)]),!!t){for(var a=n==="out"?"outEdges":n==="in"?"inEdges":"edges",o=0;o=0&&u.node2.dataIndex>=0});for(var a=0,o=i.length;a=0&&this[r][e].setItemVisual(this.dataIndex,t,n)},getVisual:function(t){return this[r][e].getItemVisual(this.dataIndex,t)},setLayout:function(t,n){this.dataIndex>=0&&this[r][e].setItemLayout(this.dataIndex,t,n)},getLayout:function(){return this[r][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[r][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[r][e].getRawIndex(this.dataIndex)}}}Gr(Gc,hX("hostGraph","data"));Gr(fX,hX("hostGraph","edgeData"));function dX(r,e,t,n,i){for(var a=new lbe(n),o=0;o "+g)),f++)}var v=t.get("coordinateSystem"),m;if(v==="cartesian2d"||v==="polar")m=Ks(r,t);else{var b=u_.get(v),_=b?b.dimensions||[]:[];dt(_,"value")<0&&_.concat(["value"]);var S=f_(r,{coordDimensions:_,encodeDefine:t.getEncode()}).dimensions;m=new fi(S,t),m.initData(r)}var C=new fi(["value"],t);return C.initData(u,s),i&&i(m,C),qK({mainData:m,struct:a,structAttr:"graph",datas:{node:m,edge:C},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a}var ube=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.init=function(t){r.prototype.init.apply(this,arguments);var n=this;function i(){return n._categoriesData}this.legendVisualProvider=new y_(i,i),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},e.prototype.mergeOption=function(t){r.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},e.prototype.mergeDefaultAndTheme=function(t){r.prototype.mergeDefaultAndTheme.apply(this,arguments),Df(t,"edgeLabel",["show"])},e.prototype.getInitialData=function(t,n){var i=t.edges||t.links||[],a=t.data||t.nodes||[],o=this;if(a&&i){K_e(this);var s=dX(a,i,this,!0,u);return H(s.edges,function(f){X_e(f.node1,f.node2,this,f.dataIndex)},this),s.data}function u(f,h){f.wrapMethod("getItemModel",function(m){var b=o._categoriesModels,_=m.getShallow("category"),S=b[_];return S&&(S.parentModel=m.parentModel,m.parentModel=S),m});var p=qt.prototype.getModel;function g(m,b){var _=p.call(this,m,b);return _.resolveParentPath=v,_}h.wrapMethod("getItemModel",function(m){return m.resolveParentPath=v,m.getModel=g,m});function v(m){if(m&&(m[0]==="label"||m[1]==="label")){var b=m.slice();return m[0]==="label"?b[0]="edgeLabel":m[1]==="label"&&(b[1]="edgeLabel"),b}return m}}},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.getCategoriesData=function(){return this._categoriesData},e.prototype.formatTooltip=function(t,n,i){if(i==="edge"){var a=this.getData(),o=this.getDataParams(t,i),s=a.graph.getEdgeByIndex(t),u=a.getName(s.node1.dataIndex),f=a.getName(s.node2.dataIndex),h=[];return u!=null&&h.push(u),f!=null&&h.push(f),dn("nameValue",{name:h.join(" > "),value:o.value,noValue:o.value==null})}var p=FY({series:this,dataIndex:t,multipleSeries:n});return p},e.prototype._updateCategoriesData=function(){var t=Ce(this.option.categories||[],function(i){return i.value!=null?i:me({value:0},i)}),n=new fi(["value"],this);n.initData(t),this._categoriesData=n,this._categoriesModels=n.mapArray(function(i){return n.getItemModel(i)})},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.isAnimationEnabled=function(){return r.prototype.isAnimationEnabled.call(this)&&!(this.get("layout")==="force"&&this.get(["force","layoutAnimation"]))},e.type="series.graph",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(lr),cbe={type:"graphRoam",event:"graphRoam",update:"none"};function fbe(r){r.registerChartView(sbe),r.registerSeriesModel(ube),r.registerProcessor(W_e),r.registerVisual(G_e),r.registerVisual(U_e),r.registerLayout(Z_e),r.registerLayout(r.PRIORITY.VISUAL.POST_CHART_LAYOUT,J_e),r.registerLayout(tbe),r.registerCoordinateSystem("graphView",{dimensions:b_.dimensions,create:nbe}),r.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},Or),r.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},Or),r.registerAction(cbe,function(e,t,n){t.eachComponent({mainType:"series",query:e},function(i){var a=i.coordinateSystem,o=vF(a,e,void 0,n);i.setCenter&&i.setCenter(o.center),i.setZoom&&i.setZoom(o.zoom)})})}var hbe=function(){function r(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0}return r}(),dbe=function(r){ae(e,r);function e(t){var n=r.call(this,t)||this;return n.type="pointer",n}return e.prototype.getDefaultShape=function(){return new hbe},e.prototype.buildPath=function(t,n){var i=Math.cos,a=Math.sin,o=n.r,s=n.width,u=n.angle,f=n.x-i(u)*s*(s>=o/3?1:2),h=n.y-a(u)*s*(s>=o/3?1:2);u=n.angle-Math.PI/2,t.moveTo(f,h),t.lineTo(n.x+i(u)*s,n.y+a(u)*s),t.lineTo(n.x+i(n.angle)*o,n.y+a(n.angle)*o),t.lineTo(n.x-i(u)*s,n.y-a(u)*s),t.lineTo(f,h)},e}(gt);function pbe(r,e){var t=r.get("center"),n=e.getWidth(),i=e.getHeight(),a=Math.min(n,i),o=Oe(t[0],e.getWidth()),s=Oe(t[1],e.getHeight()),u=Oe(r.get("radius"),a/2);return{cx:o,cy:s,r:u}}function Lw(r,e){var t=r==null?"":r+"";return e&&(Be(e)?t=e.replace("{value}",t):Ke(e)&&(t=e(r))),t}var vbe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,n,i){this.group.removeAll();var a=t.get(["axisLine","lineStyle","color"]),o=pbe(t,i);this._renderMain(t,n,i,a,o),this._data=t.getData()},e.prototype.dispose=function(){},e.prototype._renderMain=function(t,n,i,a,o){var s=this.group,u=t.get("clockwise"),f=-t.get("startAngle")/180*Math.PI,h=-t.get("endAngle")/180*Math.PI,p=t.getModel("axisLine"),g=p.get("roundCap"),v=g?j1:gi,m=p.get("show"),b=p.getModel("lineStyle"),_=b.get("width"),S=[f,h];mN(S,!u),f=S[0],h=S[1];for(var C=h-f,w=f,k=[],M=0;m&&M=R&&($===0?0:a[$-1][0])Math.PI/2&&(Le+=Math.PI)):Re==="tangential"?Le=-O-Math.PI/2:Ft(Re)&&(Le=Re*Math.PI/180),Le===0?p.add(new Rt({style:sr(w,{text:re,x:ve,y:_e,verticalAlign:U<-.8?"top":U>.8?"bottom":"middle",align:j<-.4?"left":j>.4?"right":"center"},{inheritColor:de}),silent:!0})):p.add(new Rt({style:sr(w,{text:re,x:ve,y:_e,verticalAlign:"middle",align:"center"},{inheritColor:de}),silent:!0,originX:ve,originY:_e,rotation:Le}))}if(C.get("show")&&X!==k){var ee=C.get("distance");ee=ee?ee+h:h;for(var je=0;je<=M;je++){j=Math.cos(O),U=Math.sin(O);var Q=new un({shape:{x1:j*(m-ee)+g,y1:U*(m-ee)+v,x2:j*(m-I-ee)+g,y2:U*(m-I-ee)+v},silent:!0,style:z});z.stroke==="auto"&&Q.setStyle({stroke:a((X+je/M)/k)}),p.add(Q),O+=$}O-=$}else O+=R}},e.prototype._renderPointer=function(t,n,i,a,o,s,u,f,h){var p=this.group,g=this._data,v=this._progressEls,m=[],b=t.get(["pointer","show"]),_=t.getModel("progress"),S=_.get("show"),C=t.getData(),w=C.mapDimension("value"),k=+t.get("min"),M=+t.get("max"),E=[k,M],I=[s,u];function O($,V){var z=C.getItemModel($),B=z.getModel("pointer"),j=Oe(B.get("width"),o.r),U=Oe(B.get("length"),o.r),X=t.get(["pointer","icon"]),ee=B.get("offsetCenter"),Z=Oe(ee[0],o.r),re=Oe(ee[1],o.r),de=B.get("keepAspect"),ve;return X?ve=jr(X,Z-j/2,re-U,j,U,null,de):ve=new dbe({shape:{angle:-Math.PI/2,width:j,r:U,x:Z,y:re}}),ve.rotation=-(V+Math.PI/2),ve.x=o.cx,ve.y=o.cy,ve}function R($,V){var z=_.get("roundCap"),B=z?j1:gi,j=_.get("overlap"),U=j?_.get("width"):h/C.count(),X=j?o.r-U:o.r-($+1)*U,ee=j?o.r:o.r-$*U,Z=new B({shape:{startAngle:s,endAngle:V,cx:o.cx,cy:o.cy,clockwise:f,r0:X,r:ee}});return j&&(Z.z2=Ut(C.get(w,$),[k,M],[100,0],!0)),Z}(S||b)&&(C.diff(g).add(function($){var V=C.get(w,$);if(b){var z=O($,s);pr(z,{rotation:-((isNaN(+V)?I[0]:Ut(V,E,I,!0))+Math.PI/2)},t),p.add(z),C.setItemGraphicEl($,z)}if(S){var B=R($,s),j=_.get("clip");pr(B,{shape:{endAngle:Ut(V,E,I,j)}},t),p.add(B),qO(t.seriesIndex,C.dataType,$,B),m[$]=B}}).update(function($,V){var z=C.get(w,$);if(b){var B=g.getItemGraphicEl(V),j=B?B.rotation:s,U=O($,j);U.rotation=j,Bt(U,{rotation:-((isNaN(+z)?I[0]:Ut(z,E,I,!0))+Math.PI/2)},t),p.add(U),C.setItemGraphicEl($,U)}if(S){var X=v[V],ee=X?X.shape.endAngle:s,Z=R($,ee),re=_.get("clip");Bt(Z,{shape:{endAngle:Ut(z,E,I,re)}},t),p.add(Z),qO(t.seriesIndex,C.dataType,$,Z),m[$]=Z}}).execute(),C.each(function($){var V=C.getItemModel($),z=V.getModel("emphasis"),B=z.get("focus"),j=z.get("blurScope"),U=z.get("disabled");if(b){var X=C.getItemGraphicEl($),ee=C.getItemVisual($,"style"),Z=ee.fill;if(X instanceof yn){var re=X.style;X.useStyle(me({image:re.image,x:re.x,y:re.y,width:re.width,height:re.height},ee))}else X.useStyle(ee),X.type!=="pointer"&&X.setColor(Z);X.setStyle(V.getModel(["pointer","itemStyle"]).getItemStyle()),X.style.fill==="auto"&&X.setStyle("fill",a(Ut(C.get(w,$),E,[0,1],!0))),X.z2EmphasisLift=0,Mn(X,V),xr(X,B,j,U)}if(S){var de=m[$];de.useStyle(C.getItemVisual($,"style")),de.setStyle(V.getModel(["progress","itemStyle"]).getItemStyle()),de.z2EmphasisLift=0,Mn(de,V),xr(de,B,j,U)}}),this._progressEls=m)},e.prototype._renderAnchor=function(t,n){var i=t.getModel("anchor"),a=i.get("show");if(a){var o=i.get("size"),s=i.get("icon"),u=i.get("offsetCenter"),f=i.get("keepAspect"),h=jr(s,n.cx-o/2+Oe(u[0],n.r),n.cy-o/2+Oe(u[1],n.r),o,o,null,f);h.z2=i.get("showAbove")?1:0,h.setStyle(i.getModel("itemStyle").getItemStyle()),this.group.add(h)}},e.prototype._renderTitleAndDetail=function(t,n,i,a,o){var s=this,u=t.getData(),f=u.mapDimension("value"),h=+t.get("min"),p=+t.get("max"),g=new rt,v=[],m=[],b=t.isAnimationEnabled(),_=t.get(["pointer","showAbove"]);u.diff(this._data).add(function(S){v[S]=new Rt({silent:!0}),m[S]=new Rt({silent:!0})}).update(function(S,C){v[S]=s._titleEls[C],m[S]=s._detailEls[C]}).execute(),u.each(function(S){var C=u.getItemModel(S),w=u.get(f,S),k=new rt,M=a(Ut(w,[h,p],[0,1],!0)),E=C.getModel("title");if(E.get("show")){var I=E.get("offsetCenter"),O=o.cx+Oe(I[0],o.r),R=o.cy+Oe(I[1],o.r),$=v[S];$.attr({z2:_?0:2,style:sr(E,{x:O,y:R,text:u.getName(S),align:"center",verticalAlign:"middle"},{inheritColor:M})}),k.add($)}var V=C.getModel("detail");if(V.get("show")){var z=V.get("offsetCenter"),B=o.cx+Oe(z[0],o.r),j=o.cy+Oe(z[1],o.r),U=Oe(V.get("width"),o.r),X=Oe(V.get("height"),o.r),ee=t.get(["progress","show"])?u.getItemVisual(S,"style").fill:M,$=m[S],Z=V.get("formatter");$.attr({z2:_?0:2,style:sr(V,{x:B,y:j,text:Lw(w,Z),width:isNaN(U)?null:U,height:isNaN(X)?null:X,align:"center",verticalAlign:"middle"},{inheritColor:ee})}),V9($,{normal:V},w,function(de){return Lw(de,Z)}),b&&H9($,S,u,t,{getFormattedLabel:function(de,ve,_e,Re,Le,je){return Lw(je?je.interpolatedValue:w,Z)}}),k.add($)}g.add(k)}),this.group.add(g),this._titleEls=v,this._detailEls=m},e.type="gauge",e}(tr),gbe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="itemStyle",t}return e.prototype.getInitialData=function(t,n){return Kp(this,["value"])},e.type="series.gauge",e.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},e}(lr);function mbe(r){r.registerChartView(vbe),r.registerSeriesModel(gbe)}var ybe=["itemStyle","opacity"],_be=function(r){ae(e,r);function e(t,n){var i=r.call(this)||this,a=i,o=new yi,s=new Rt;return a.setTextContent(s),i.setTextGuideLine(o),i.updateData(t,n,!0),i}return e.prototype.updateData=function(t,n,i){var a=this,o=t.hostModel,s=t.getItemModel(n),u=t.getItemLayout(n),f=s.getModel("emphasis"),h=s.get(ybe);h=h??1,i||co(a),a.useStyle(t.getItemVisual(n,"style")),a.style.lineJoin="round",i?(a.setShape({points:u.points}),a.style.opacity=0,pr(a,{style:{opacity:h}},o,n)):Bt(a,{style:{opacity:h},shape:{points:u.points}},o,n),Mn(a,s),this._updateLabel(t,n),xr(this,f.get("focus"),f.get("blurScope"),f.get("disabled"))},e.prototype._updateLabel=function(t,n){var i=this,a=this.getTextGuideLine(),o=i.getTextContent(),s=t.hostModel,u=t.getItemModel(n),f=t.getItemLayout(n),h=f.label,p=t.getItemVisual(n,"style"),g=p.fill;An(o,hn(u),{labelFetcher:t.hostModel,labelDataIndex:n,defaultOpacity:p.opacity,defaultText:t.getName(n)},{normal:{align:h.textAlign,verticalAlign:h.verticalAlign}}),i.setTextConfig({local:!0,inside:!!h.inside,insideStroke:g,outsideFill:g});var v=h.linePoints;a.setShape({points:v}),i.textGuideLineConfig={anchor:v?new lt(v[0][0],v[0][1]):null},Bt(o,{style:{x:h.x,y:h.y}},s,n),o.attr({rotation:h.rotation,originX:h.x,originY:h.y,z2:10}),tF(i,rF(u),{stroke:g})},e}(mi),bbe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.ignoreLabelLineUpdate=!0,t}return e.prototype.render=function(t,n,i){var a=t.getData(),o=this._data,s=this.group;a.diff(o).add(function(u){var f=new _be(a,u);a.setItemGraphicEl(u,f),s.add(f)}).update(function(u,f){var h=o.getItemGraphicEl(f);h.updateData(a,u),s.add(h),a.setItemGraphicEl(u,h)}).remove(function(u){var f=o.getItemGraphicEl(u);Ty(f,t,u)}).execute(),this._data=a},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.prototype.dispose=function(){},e.type="funnel",e}(tr),xbe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t){r.prototype.init.apply(this,arguments),this.legendVisualProvider=new y_(ze(this.getData,this),ze(this.getRawData,this)),this._defaultLabelLine(t)},e.prototype.getInitialData=function(t,n){return Kp(this,{coordDimensions:["value"],encodeDefaulter:at(ON,this)})},e.prototype._defaultLabelLine=function(t){Df(t,"labelLine",["show"]);var n=t.labelLine,i=t.emphasis.labelLine;n.show=n.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},e.prototype.getDataParams=function(t){var n=this.getData(),i=r.prototype.getDataParams.call(this,t),a=n.mapDimension("value"),o=n.getSum(a);return i.percent=o?+(n.get(a,t)/o*100).toFixed(2):0,i.$vars.push("percent"),i},e.type="series.funnel",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(lr);function Sbe(r,e){return rn(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function wbe(r,e){for(var t=r.mapDimension("value"),n=r.mapArray(t,function(u){return u}),i=[],a=e==="ascending",o=0,s=r.count();oBbe)return;var i=this._model.coordinateSystem.getSlidedAxisExpandWindow([r.offsetX,r.offsetY]);i.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:i.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(r){if(!(this._mouseDownPoint||!xP(this,"mousemove"))){var e=this._model,t=e.coordinateSystem.getSlidedAxisExpandWindow([r.offsetX,r.offsetY]),n=t.behavior;n==="jump"&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand(n==="none"?null:{axisExpandWindow:t.axisExpandWindow,animation:n==="jump"?null:{duration:0}})}}};function xP(r,e){var t=r._model;return t.get("axisExpandable")&&t.get("axisExpandTriggerOn")===e}var Hbe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){r.prototype.init.apply(this,arguments),this.mergeOption({})},e.prototype.mergeOption=function(t){var n=this.option;t&&ot(n,t,!0),this._initDimensions()},e.prototype.contains=function(t,n){var i=t.get("parallelIndex");return i!=null&&n.getComponent("parallel",i)===this},e.prototype.setAxisExpand=function(t){H(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(n){t.hasOwnProperty(n)&&(this.option[n]=t[n])},this)},e.prototype._initDimensions=function(){var t=this.dimensions=[],n=this.parallelAxisIndex=[],i=Wt(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(a){return(a.get("parallelIndex")||0)===this.componentIndex},this);H(i,function(a){t.push("dim"+a.get("dim")),n.push(a.componentIndex)})},e.type="parallel",e.dependencies=["parallelAxis"],e.layoutMode="box",e.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},e}(Ct),jbe=function(r){ae(e,r);function e(t,n,i,a,o){var s=r.call(this,t,n,i)||this;return s.type=a||"value",s.axisIndex=o,s}return e.prototype.isHorizontal=function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"},e}(vo);function Uf(r,e,t,n,i,a){r=r||0;var o=t[1]-t[0];if(i!=null&&(i=jd(i,[0,o])),a!=null&&(a=Math.max(a,i??0)),n==="all"){var s=Math.abs(e[1]-e[0]);s=jd(s,[0,o]),i=a=jd(s,[i,a]),n=0}e[0]=jd(e[0],t),e[1]=jd(e[1],t);var u=SP(e,n);e[n]+=r;var f=i||0,h=t.slice();u.sign<0?h[0]+=f:h[1]-=f,e[n]=jd(e[n],h);var p;return p=SP(e,n),i!=null&&(p.sign!==u.sign||p.spana&&(e[1-n]=e[n]+p.sign*a),e}function SP(r,e){var t=r[e]-r[1-e];return{span:Math.abs(t),sign:t>0?-1:t<0?1:e?-1:1}}function jd(r,e){return Math.min(e[1]!=null?e[1]:1/0,Math.max(e[0]!=null?e[0]:-1/0,r))}var wP=H,vX=Math.min,gX=Math.max,wj=Math.floor,Wbe=Math.ceil,Cj=Ir,Gbe=Math.PI,Ube=function(){function r(e,t,n){this.type="parallel",this._axesMap=Ge(),this._axesLayout={},this.dimensions=e.dimensions,this._model=e,this._init(e,t,n)}return r.prototype._init=function(e,t,n){var i=e.dimensions,a=e.parallelAxisIndex;wP(i,function(o,s){var u=a[s],f=t.getComponent("parallelAxis",u),h=this._axesMap.set(o,new jbe(o,JT(f),[0,0],f.get("type"),u)),p=h.type==="category";h.onBand=p&&f.get("boundaryGap"),h.inverse=f.get("inverse"),f.axis=h,h.model=f,h.coordinateSystem=f.coordinateSystem=this},this)},r.prototype.update=function(e,t){this._updateAxesFromSeries(this._model,e)},r.prototype.containPoint=function(e){var t=this._makeLayoutInfo(),n=t.axisBase,i=t.layoutBase,a=t.pixelDimIndex,o=e[1-a],s=e[a];return o>=n&&o<=n+t.axisLength&&s>=i&&s<=i+t.layoutLength},r.prototype.getModel=function(){return this._model},r.prototype._updateAxesFromSeries=function(e,t){t.eachSeries(function(n){if(e.contains(n,t)){var i=n.getData();wP(this.dimensions,function(a){var o=this._axesMap.get(a);o.scale.unionExtentFromData(i,i.mapDimension(a)),Sp(o.scale,o.model)},this)}},this)},r.prototype.resize=function(e,t){this._rect=rn(e.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()}),this._layoutAxes()},r.prototype.getRect=function(){return this._rect},r.prototype._makeLayoutInfo=function(){var e=this._model,t=this._rect,n=["x","y"],i=["width","height"],a=e.get("layout"),o=a==="horizontal"?0:1,s=t[i[o]],u=[0,s],f=this.dimensions.length,h=Ow(e.get("axisExpandWidth"),u),p=Ow(e.get("axisExpandCount")||0,[0,f]),g=e.get("axisExpandable")&&f>3&&f>p&&p>1&&h>0&&s>0,v=e.get("axisExpandWindow"),m;if(v)m=Ow(v[1]-v[0],u),v[1]=v[0]+m;else{m=Ow(h*(p-1),u);var b=e.get("axisExpandCenter")||wj(f/2);v=[h*b-m/2],v[1]=v[0]+m}var _=(s-m)/(f-p);_<3&&(_=0);var S=[wj(Cj(v[0]/h,1))+1,Wbe(Cj(v[1]/h,1))-1],C=_/h*v[0];return{layout:a,pixelDimIndex:o,layoutBase:t[n[o]],layoutLength:s,axisBase:t[n[1-o]],axisLength:t[i[1-o]],axisExpandable:g,axisExpandWidth:h,axisCollapseWidth:_,axisExpandWindow:v,axisCount:f,winInnerIndices:S,axisExpandWindow0Pos:C}},r.prototype._layoutAxes=function(){var e=this._rect,t=this._axesMap,n=this.dimensions,i=this._makeLayoutInfo(),a=i.layout;t.each(function(o){var s=[0,i.axisLength],u=o.inverse?1:0;o.setExtent(s[u],s[1-u])}),wP(n,function(o,s){var u=(i.axisExpandable?qbe:Ybe)(s,i),f={horizontal:{x:u.position,y:i.axisLength},vertical:{x:0,y:u.position}},h={horizontal:Gbe/2,vertical:0},p=[f[a].x+e.x,f[a].y+e.y],g=h[a],v=Ji();Bf(v,v,g),Qo(v,v,p),this._axesLayout[o]={position:p,rotation:g,transform:v,axisNameAvailableWidth:u.axisNameAvailableWidth,axisLabelShow:u.axisLabelShow,nameTruncateMaxWidth:u.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},r.prototype.getAxis=function(e){return this._axesMap.get(e)},r.prototype.dataToPoint=function(e,t){return this.axisCoordToPoint(this._axesMap.get(t).dataToCoord(e),t)},r.prototype.eachActiveState=function(e,t,n,i){n==null&&(n=0),i==null&&(i=e.count());var a=this._axesMap,o=this.dimensions,s=[],u=[];H(o,function(_){s.push(e.mapDimension(_)),u.push(a.get(_).model)});for(var f=this.hasAxisBrushed(),h=n;ha*(1-p[0])?(f="jump",u=s-a*(1-p[2])):(u=s-a*p[1])>=0&&(u=s-a*(1-p[1]))<=0&&(u=0),u*=t.axisExpandWidth/h,u?Uf(u,i,o,"all"):f="none";else{var v=i[1]-i[0],m=o[1]*s/v;i=[gX(0,m-v/2)],i[1]=vX(o[1],i[0]+v),i[0]=i[1]-v}return{axisExpandWindow:i,behavior:f}},r}();function Ow(r,e){return vX(gX(r,e[0]),e[1])}function Ybe(r,e){var t=e.layoutLength/(e.axisCount-1);return{position:t*r,axisNameAvailableWidth:t,axisLabelShow:!0}}function qbe(r,e){var t=e.layoutLength,n=e.axisExpandWidth,i=e.axisCount,a=e.axisCollapseWidth,o=e.winInnerIndices,s,u=a,f=!1,h;return r=0;i--)Ia(n[i])},e.prototype.getActiveState=function(t){var n=this.activeIntervals;if(!n.length)return"normal";if(t==null||isNaN(+t))return"inactive";if(n.length===1){var i=n[0];if(i[0]<=t&&t<=i[1])return"active"}else for(var a=0,o=n.length;aJbe}function SX(r){var e=r.length-1;return e<0&&(e=0),[r[0],r[e]]}function wX(r,e,t,n){var i=new rt;return i.add(new Pt({name:"main",style:AF(t),silent:!0,draggable:!0,cursor:"move",drift:at(kj,r,e,i,["n","s","w","e"]),ondragend:at(Pf,e,{isEnd:!0})})),H(n,function(a){i.add(new Pt({name:a.join(""),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:at(kj,r,e,i,a),ondragend:at(Pf,e,{isEnd:!0})}))}),i}function CX(r,e,t,n){var i=n.brushStyle.lineWidth||0,a=Tp(i,e0e),o=t[0][0],s=t[1][0],u=o-i/2,f=s-i/2,h=t[0][1],p=t[1][1],g=h-a+i/2,v=p-a+i/2,m=h-o,b=p-s,_=m+i,S=b+i;Cs(r,e,"main",o,s,m,b),n.transformable&&(Cs(r,e,"w",u,f,a,S),Cs(r,e,"e",g,f,a,S),Cs(r,e,"n",u,f,_,a),Cs(r,e,"s",u,v,_,a),Cs(r,e,"nw",u,f,a,a),Cs(r,e,"ne",g,f,a,a),Cs(r,e,"sw",u,v,a,a),Cs(r,e,"se",g,v,a,a))}function z2(r,e){var t=e.__brushOption,n=t.transformable,i=e.childAt(0);i.useStyle(AF(t)),i.attr({silent:!n,cursor:n?"move":"default"}),H([["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]],function(a){var o=e.childOfName(a.join("")),s=a.length===1?V2(r,a[0]):o0e(r,a);o&&o.attr({silent:!n,invisible:!n,cursor:n?r0e[s]+"-resize":null})})}function Cs(r,e,t,n,i,a,o){var s=e.childOfName(t);s&&s.setShape(l0e(EF(r,e,[[n,i],[n+a,i+o]])))}function AF(r){return Qe({strokeNoScale:!0},r.brushStyle)}function TX(r,e,t,n){var i=[Vy(r,t),Vy(e,n)],a=[Tp(r,t),Tp(e,n)];return[[i[0],a[0]],[i[1],a[1]]]}function a0e(r){return mf(r.group)}function V2(r,e){var t={w:"left",e:"right",n:"top",s:"bottom"},n={left:"w",right:"e",top:"n",bottom:"s"},i=FT(t[e],a0e(r));return n[i]}function o0e(r,e){var t=[V2(r,e[0]),V2(r,e[1])];return(t[0]==="e"||t[0]==="w")&&t.reverse(),t.join("")}function kj(r,e,t,n,i,a){var o=t.__brushOption,s=r.toRectRange(o.range),u=DX(e,i,a);H(n,function(f){var h=t0e[f];s[h[0]][h[1]]+=u[h[0]]}),o.range=r.fromRectRange(TX(s[0][0],s[1][0],s[0][1],s[1][1])),DF(e,t),Pf(e,{isEnd:!1})}function s0e(r,e,t,n){var i=e.__brushOption.range,a=DX(r,t,n);H(i,function(o){o[0]+=a[0],o[1]+=a[1]}),DF(r,e),Pf(r,{isEnd:!1})}function DX(r,e,t){var n=r.group,i=n.transformCoordToLocal(e,t),a=n.transformCoordToLocal(0,0);return[i[0]-a[0],i[1]-a[1]]}function EF(r,e,t){var n=xX(r,e);return n&&n!==If?n.clipPath(t,r._transform):et(t)}function l0e(r){var e=Vy(r[0][0],r[1][0]),t=Vy(r[0][1],r[1][1]),n=Tp(r[0][0],r[1][0]),i=Tp(r[0][1],r[1][1]);return{x:e,y:t,width:n-e,height:i-t}}function u0e(r,e,t){if(!(!r._brushType||f0e(r,e.offsetX,e.offsetY))){var n=r._zr,i=r._covers,a=MF(r,e,t);if(!r._dragging)for(var o=0;on.getWidth()||t<0||t>n.getHeight()}var aD={lineX:Ej(0),lineY:Ej(1),rect:{createCover:function(r,e){function t(n){return n}return wX({toRectRange:t,fromRectRange:t},r,e,[["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]])},getCreatingRange:function(r){var e=SX(r);return TX(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(r,e,t,n){CX(r,e,t,n)},updateCommon:z2,contain:j2},polygon:{createCover:function(r,e){var t=new rt;return t.add(new yi({name:"main",style:AF(e),silent:!0})),t},getCreatingRange:function(r){return r},endCreating:function(r,e){e.remove(e.childAt(0)),e.add(new mi({name:"main",draggable:!0,drift:at(s0e,r,e),ondragend:at(Pf,r,{isEnd:!0})}))},updateCoverShape:function(r,e,t,n){e.childAt(0).setShape({points:EF(r,e,t)})},updateCommon:z2,contain:j2}};function Ej(r){return{createCover:function(e,t){return wX({toRectRange:function(n){var i=[n,[0,100]];return r&&i.reverse(),i},fromRectRange:function(n){return n[r]}},e,t,[[["w"],["e"]],[["n"],["s"]]][r])},getCreatingRange:function(e){var t=SX(e),n=Vy(t[0][r],t[1][r]),i=Tp(t[0][r],t[1][r]);return[n,i]},updateCoverShape:function(e,t,n,i){var a,o=xX(e,t);if(o!==If&&o.getLinearBrushOtherExtent)a=o.getLinearBrushOtherExtent(r);else{var s=e._zr;a=[0,[s.getWidth(),s.getHeight()][1-r]]}var u=[n,a];r&&u.reverse(),CX(e,t,u,i)},updateCommon:z2,contain:j2}}function MX(r){return r=IF(r),function(e){return $9(e,r)}}function AX(r,e){return r=IF(r),function(t){var n=e??t,i=n?r.width:r.height,a=n?r.x:r.y;return[a,a+(i||0)]}}function EX(r,e,t){var n=IF(r);return function(i,a){return n.contain(a[0],a[1])&&!tD(i,e,t)}}function IF(r){return ft.create(r)}var h0e=["axisLine","axisTickLabel","axisName"],d0e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,n){r.prototype.init.apply(this,arguments),(this._brushController=new TF(n.getZr())).on("brush",ze(this._onBrush,this))},e.prototype.render=function(t,n,i,a){if(!p0e(t,n,a)){this.axisModel=t,this.api=i,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new rt,this.group.add(this._axisGroup),!!t.get("show")){var s=g0e(t,n),u=s.coordinateSystem,f=t.getAreaSelectStyle(),h=f.width,p=t.axis.dim,g=u.getAxisLayout(p),v=me({strokeContainThreshold:h},g),m=new hi(t,v);H(h0e,m.add,m),this._axisGroup.add(m.getGroup()),this._refreshBrushController(v,f,t,s,h,i),s_(o,this._axisGroup,t)}}},e.prototype._refreshBrushController=function(t,n,i,a,o,s){var u=i.axis.getExtent(),f=u[1]-u[0],h=Math.min(30,Math.abs(f)*.1),p=ft.create({x:u[0],y:-o/2,width:f,height:o});p.x-=h,p.width+=2*h,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,x:t.position[0],y:t.position[1]}).setPanels([{panelId:"pl",clipPath:MX(p),isTargetByCursor:EX(p,s,a),getLinearBrushOtherExtent:AX(p,0)}]).enableBrush({brushType:"lineX",brushStyle:n,removeOnClick:!0}).updateCovers(v0e(i))},e.prototype._onBrush=function(t){var n=t.areas,i=this.axisModel,a=i.axis,o=Ce(n,function(s){return[a.coordToData(s.range[0],!0),a.coordToData(s.range[1],!0)]});(!i.option.realtime===t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:i.id,intervals:o})},e.prototype.dispose=function(){this._brushController.dispose()},e.type="parallelAxis",e}(_r);function p0e(r,e,t){return t&&t.type==="axisAreaSelect"&&e.findComponents({mainType:"parallelAxis",query:t})[0]===r}function v0e(r){var e=r.axis;return Ce(r.activeIntervals,function(t){return{brushType:"lineX",panelId:"pl",range:[e.dataToCoord(t[0],!0),e.dataToCoord(t[1],!0)]}})}function g0e(r,e){return e.getComponent("parallel",r.get("parallelIndex"))}var m0e={type:"axisAreaSelect",event:"axisAreaSelected"};function y0e(r){r.registerAction(m0e,function(e,t){t.eachComponent({mainType:"parallelAxis",query:e},function(n){n.axis.model.setActiveIntervals(e.intervals)})}),r.registerAction("parallelAxisExpand",function(e,t){t.eachComponent({mainType:"parallel",query:e},function(n){n.setAxisExpand(e)})})}var _0e={type:"value",areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};function IX(r){r.registerComponentView(zbe),r.registerComponentModel(Hbe),r.registerCoordinateSystem("parallel",Xbe),r.registerPreprocessor(Nbe),r.registerComponentModel($2),r.registerComponentView(d0e),Cp(r,"parallel",$2,_0e),y0e(r)}function b0e(r){vt(IX),r.registerChartView(Mbe),r.registerSeriesModel(Ibe),r.registerVisual(r.PRIORITY.VISUAL.BRUSH,Rbe)}var x0e=function(){function r(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.cpx2=0,this.cpy2=0,this.extent=0}return r}(),S0e=function(r){ae(e,r);function e(t){return r.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new x0e},e.prototype.buildPath=function(t,n){var i=n.extent;t.moveTo(n.x1,n.y1),t.bezierCurveTo(n.cpx1,n.cpy1,n.cpx2,n.cpy2,n.x2,n.y2),n.orient==="vertical"?(t.lineTo(n.x2+i,n.y2),t.bezierCurveTo(n.cpx2+i,n.cpy2,n.cpx1+i,n.cpy1,n.x1+i,n.y1)):(t.lineTo(n.x2,n.y2+i),t.bezierCurveTo(n.cpx2,n.cpy2+i,n.cpx1,n.cpy1+i,n.x1,n.y1+i)),t.closePath()},e.prototype.highlight=function(){zs(this)},e.prototype.downplay=function(){Vs(this)},e}(gt),w0e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._focusAdjacencyDisabled=!1,t}return e.prototype.render=function(t,n,i){var a=this,o=t.getGraph(),s=this.group,u=t.layoutInfo,f=u.width,h=u.height,p=t.getData(),g=t.getData("edge"),v=t.get("orient");this._model=t,s.removeAll(),s.x=u.x,s.y=u.y,o.eachEdge(function(m){var b=new S0e,_=nt(b);_.dataIndex=m.dataIndex,_.seriesIndex=t.seriesIndex,_.dataType="edge";var S=m.getModel(),C=S.getModel("lineStyle"),w=C.get("curveness"),k=m.node1.getLayout(),M=m.node1.getModel(),E=M.get("localX"),I=M.get("localY"),O=m.node2.getLayout(),R=m.node2.getModel(),$=R.get("localX"),V=R.get("localY"),z=m.getLayout(),B,j,U,X,ee,Z,re,de;b.shape.extent=Math.max(1,z.dy),b.shape.orient=v,v==="vertical"?(B=(E!=null?E*f:k.x)+z.sy,j=(I!=null?I*h:k.y)+k.dy,U=($!=null?$*f:O.x)+z.ty,X=V!=null?V*h:O.y,ee=B,Z=j*(1-w)+X*w,re=U,de=j*w+X*(1-w)):(B=(E!=null?E*f:k.x)+k.dx,j=(I!=null?I*h:k.y)+z.sy,U=$!=null?$*f:O.x,X=(V!=null?V*h:O.y)+z.ty,ee=B*(1-w)+U*w,Z=j,re=B*w+U*(1-w),de=X),b.setShape({x1:B,y1:j,x2:U,y2:X,cpx1:ee,cpy1:Z,cpx2:re,cpy2:de}),b.useStyle(C.getItemStyle()),Ij(b.style,v,m);var ve=""+S.get("value"),_e=hn(S,"edgeLabel");An(b,_e,{labelFetcher:{getFormattedLabel:function(je,Q,he,ie,oe,Fe){return t.getFormattedLabel(je,Q,"edge",ie,Yo(oe,_e.normal&&_e.normal.get("formatter"),ve),Fe)}},labelDataIndex:m.dataIndex,defaultText:ve}),b.setTextConfig({position:"inside"});var Re=S.getModel("emphasis");Mn(b,S,"lineStyle",function(je){var Q=je.getItemStyle();return Ij(Q,v,m),Q}),s.add(b),g.setItemGraphicEl(m.dataIndex,b);var Le=Re.get("focus");xr(b,Le==="adjacency"?m.getAdjacentDataIndices():Le==="trajectory"?m.getTrajectoryDataIndices():Le,Re.get("blurScope"),Re.get("disabled"))}),o.eachNode(function(m){var b=m.getLayout(),_=m.getModel(),S=_.get("localX"),C=_.get("localY"),w=_.getModel("emphasis"),k=_.get(["itemStyle","borderRadius"])||0,M=new Pt({shape:{x:S!=null?S*f:b.x,y:C!=null?C*h:b.y,width:b.dx,height:b.dy,r:k},style:_.getModel("itemStyle").getItemStyle(),z2:10});An(M,hn(_),{labelFetcher:{getFormattedLabel:function(I,O){return t.getFormattedLabel(I,O,"node")}},labelDataIndex:m.dataIndex,defaultText:m.id}),M.disableLabelAnimation=!0,M.setStyle("fill",m.getVisual("color")),M.setStyle("decal",m.getVisual("style").decal),Mn(M,_),s.add(M),p.setItemGraphicEl(m.dataIndex,M),nt(M).dataType="node";var E=w.get("focus");xr(M,E==="adjacency"?m.getAdjacentDataIndices():E==="trajectory"?m.getTrajectoryDataIndices():E,w.get("blurScope"),w.get("disabled"))}),p.eachItemGraphicEl(function(m,b){var _=p.getItemModel(b);_.get("draggable")&&(m.drift=function(S,C){a._focusAdjacencyDisabled=!0,this.shape.x+=S,this.shape.y+=C,this.dirty(),i.dispatchAction({type:"dragNode",seriesId:t.id,dataIndex:p.getRawIndex(b),localX:this.shape.x/f,localY:this.shape.y/h})},m.ondragend=function(){a._focusAdjacencyDisabled=!1},m.draggable=!0,m.cursor="move")}),!this._data&&t.isAnimationEnabled()&&s.setClipPath(C0e(s.getBoundingRect(),t,function(){s.removeClipPath()})),this._data=t.getData()},e.prototype.dispose=function(){},e.type="sankey",e}(tr);function Ij(r,e,t){switch(r.fill){case"source":r.fill=t.node1.getVisual("color"),r.decal=t.node1.getVisual("style").decal;break;case"target":r.fill=t.node2.getVisual("color"),r.decal=t.node2.getVisual("style").decal;break;case"gradient":var n=t.node1.getVisual("color"),i=t.node2.getVisual("color");Be(n)&&Be(i)&&(r.fill=new o_(0,0,+(e==="horizontal"),+(e==="vertical"),[{color:n,offset:0},{color:i,offset:1}]))}}function C0e(r,e,t){var n=new Pt({shape:{x:r.x-10,y:r.y-10,width:0,height:r.height+20}});return pr(n,{shape:{width:r.width+20}},e,t),n}var T0e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,n){var i=t.edges||t.links||[],a=t.data||t.nodes||[],o=t.levels||[];this.levelModels=[];for(var s=this.levelModels,u=0;u=0&&(s[o[u].depth]=new qt(o[u],this,n));var f=dX(a,i,this,!0,h);return f.data;function h(p,g){p.wrapMethod("getItemModel",function(v,m){var b=v.parentModel,_=b.getData().getItemLayout(m);if(_){var S=_.depth,C=b.levelModels[S];C&&(v.parentModel=C)}return v}),g.wrapMethod("getItemModel",function(v,m){var b=v.parentModel,_=b.getGraph().getEdgeByIndex(m),S=_.node1.getLayout();if(S){var C=S.depth,w=b.levelModels[C];w&&(v.parentModel=w)}return v})}},e.prototype.setNodePosition=function(t,n){var i=this.option.data||this.option.nodes,a=i[t];a.localX=n[0],a.localY=n[1]},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,n,i){function a(v){return isNaN(v)||v==null}if(i==="edge"){var o=this.getDataParams(t,i),s=o.data,u=o.value,f=s.source+" -- "+s.target;return dn("nameValue",{name:f,value:u,noValue:a(u)})}else{var h=this.getGraph().getNodeByIndex(t),p=h.getLayout().value,g=this.getDataParams(t,i).data.name;return dn("nameValue",{name:g!=null?g+"":null,value:p,noValue:a(p)})}},e.prototype.optionUpdated=function(){},e.prototype.getDataParams=function(t,n){var i=r.prototype.getDataParams.call(this,t,n);if(i.value==null&&n==="node"){var a=this.getGraph().getNodeByIndex(t),o=a.getLayout().value;i.value=o}return i},e.type="series.sankey",e.defaultOption={z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},e}(lr);function D0e(r,e){r.eachSeriesByType("sankey",function(t){var n=t.get("nodeWidth"),i=t.get("nodeGap"),a=k0e(t,e);t.layoutInfo=a;var o=a.width,s=a.height,u=t.getGraph(),f=u.nodes,h=u.edges;A0e(f);var p=Wt(f,function(b){return b.getLayout().value===0}),g=p.length!==0?0:t.get("layoutIterations"),v=t.get("orient"),m=t.get("nodeAlign");M0e(f,h,n,i,o,s,g,v,m)})}function k0e(r,e){return rn(r.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function M0e(r,e,t,n,i,a,o,s,u){E0e(r,e,t,i,a,s,u),O0e(r,e,a,i,n,o,s),j0e(r,s)}function A0e(r){H(r,function(e){var t=nu(e.outEdges,K1),n=nu(e.inEdges,K1),i=e.getValue()||0,a=Math.max(t,n,i);e.setLayout({value:a},!0)})}function E0e(r,e,t,n,i,a,o){for(var s=[],u=[],f=[],h=[],p=0,g=0;g=0;S&&_.depth>v&&(v=_.depth),b.setLayout({depth:S?_.depth:p},!0),a==="vertical"?b.setLayout({dy:t},!0):b.setLayout({dx:t},!0);for(var C=0;Cp-1?v:p-1;o&&o!=="left"&&I0e(r,o,a,I);var O=a==="vertical"?(i-t)/I:(n-t)/I;L0e(r,O,a)}function PX(r){var e=r.hostGraph.data.getRawDataItem(r.dataIndex);return e.depth!=null&&e.depth>=0}function I0e(r,e,t,n){if(e==="right"){for(var i=[],a=r,o=0;a.length;){for(var s=0;s0;a--)u*=.99,F0e(s,u,o),CP(s,i,t,n,o),H0e(s,u,o),CP(s,i,t,n,o)}function R0e(r,e){var t=[],n=e==="vertical"?"y":"x",i=WO(r,function(a){return a.getLayout()[n]});return i.keys.sort(function(a,o){return a-o}),H(i.keys,function(a){t.push(i.buckets.get(a))}),t}function N0e(r,e,t,n,i,a){var o=1/0;H(r,function(s){var u=s.length,f=0;H(s,function(p){f+=p.getLayout().value});var h=a==="vertical"?(n-(u-1)*i)/f:(t-(u-1)*i)/f;h0&&(s=u.getLayout()[a]+f,i==="vertical"?u.setLayout({x:s},!0):u.setLayout({y:s},!0)),h=u.getLayout()[a]+u.getLayout()[g]+e;var m=i==="vertical"?n:t;if(f=h-e-m,f>0){s=u.getLayout()[a]-f,i==="vertical"?u.setLayout({x:s},!0):u.setLayout({y:s},!0),h=s;for(var v=p-2;v>=0;--v)u=o[v],f=u.getLayout()[a]+u.getLayout()[g]+e-h,f>0&&(s=u.getLayout()[a]-f,i==="vertical"?u.setLayout({x:s},!0):u.setLayout({y:s},!0)),h=u.getLayout()[a]}})}function F0e(r,e,t){H(r.slice().reverse(),function(n){H(n,function(i){if(i.outEdges.length){var a=nu(i.outEdges,$0e,t)/nu(i.outEdges,K1);if(isNaN(a)){var o=i.outEdges.length;a=o?nu(i.outEdges,B0e,t)/o:0}if(t==="vertical"){var s=i.getLayout().x+(a-vu(i,t))*e;i.setLayout({x:s},!0)}else{var u=i.getLayout().y+(a-vu(i,t))*e;i.setLayout({y:u},!0)}}})})}function $0e(r,e){return vu(r.node2,e)*r.getValue()}function B0e(r,e){return vu(r.node2,e)}function z0e(r,e){return vu(r.node1,e)*r.getValue()}function V0e(r,e){return vu(r.node1,e)}function vu(r,e){return e==="vertical"?r.getLayout().x+r.getLayout().dx/2:r.getLayout().y+r.getLayout().dy/2}function K1(r){return r.getValue()}function nu(r,e,t){for(var n=0,i=r.length,a=-1;++ao&&(o=u)}),H(n,function(s){var u=new fn({type:"color",mappingMethod:"linear",dataExtent:[a,o],visual:e.get("color")}),f=u.mapValueToVisual(s.getLayout().value),h=s.getModel().get(["itemStyle","color"]);h!=null?(s.setVisual("color",h),s.setVisual("style",{fill:h})):(s.setVisual("color",f),s.setVisual("style",{fill:f}))})}i.length&&H(i,function(s){var u=s.getModel().get("lineStyle");s.setVisual("style",u)})})}function G0e(r){r.registerChartView(w0e),r.registerSeriesModel(T0e),r.registerLayout(D0e),r.registerVisual(W0e),r.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"sankey",query:e},function(n){n.setNodePosition(e.dataIndex,[e.localX,e.localY])})})}var LX=function(){function r(){}return r.prototype._hasEncodeRule=function(e){var t=this.getEncode();return t&&t.get(e)!=null},r.prototype.getInitialData=function(e,t){var n,i=t.getComponent("xAxis",this.get("xAxisIndex")),a=t.getComponent("yAxis",this.get("yAxisIndex")),o=i.get("type"),s=a.get("type"),u;o==="category"?(e.layout="horizontal",n=i.getOrdinalMeta(),u=!this._hasEncodeRule("x")):s==="category"?(e.layout="vertical",n=a.getOrdinalMeta(),u=!this._hasEncodeRule("y")):e.layout=e.layout||"horizontal";var f=["x","y"],h=e.layout==="horizontal"?0:1,p=this._baseAxisDim=f[h],g=f[1-h],v=[i,a],m=v[h].get("type"),b=v[1-h].get("type"),_=e.data;if(_&&u){var S=[];H(_,function(k,M){var E;we(k)?(E=k.slice(),k.unshift(M)):we(k.value)?(E=me({},k),E.value=E.value.slice(),k.value.unshift(M)):E=k,S.push(E)}),e.data=S}var C=this.defaultValueDimensions,w=[{name:p,type:$1(m),ordinalMeta:n,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:g,type:$1(b),dimsDef:C.slice()}];return Kp(this,{coordDimensions:w,dimensionsCount:C.length+1,encodeDefaulter:at(cY,w,this)})},r.prototype.getBaseAxis=function(){var e=this._baseAxisDim;return this.ecModel.getComponent(e+"Axis",this.get(e+"AxisIndex")).axis},r}(),OX=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],t.visualDrawType="stroke",t}return e.type="series.boxplot",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},e}(lr);Gr(OX,LX,!0);var U0e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,n,i){var a=t.getData(),o=this.group,s=this._data;this._data||o.removeAll();var u=t.get("layout")==="horizontal"?1:0;a.diff(s).add(function(f){if(a.hasValue(f)){var h=a.getItemLayout(f),p=Pj(h,a,f,u,!0);a.setItemGraphicEl(f,p),o.add(p)}}).update(function(f,h){var p=s.getItemGraphicEl(h);if(!a.hasValue(f)){o.remove(p);return}var g=a.getItemLayout(f);p?(co(p),RX(g,p,a,f)):p=Pj(g,a,f,u),o.add(p),a.setItemGraphicEl(f,p)}).remove(function(f){var h=s.getItemGraphicEl(f);h&&o.remove(h)}).execute(),this._data=a},e.prototype.remove=function(t){var n=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(a){a&&n.remove(a)})},e.type="boxplot",e}(tr),Y0e=function(){function r(){}return r}(),q0e=function(r){ae(e,r);function e(t){var n=r.call(this,t)||this;return n.type="boxplotBoxPath",n}return e.prototype.getDefaultShape=function(){return new Y0e},e.prototype.buildPath=function(t,n){var i=n.points,a=0;for(t.moveTo(i[a][0],i[a][1]),a++;a<4;a++)t.lineTo(i[a][0],i[a][1]);for(t.closePath();ab){var k=[S,w];n.push(k)}}}return{boxData:t,outliers:n}}var txe={type:"echarts:boxplot",transform:function(e){var t=e.upstream;if(t.sourceFormat!==Un){var n="";jt(n)}var i=exe(t.getRawData(),e.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:i.boxData},{data:i.outliers}]}};function rxe(r){r.registerSeriesModel(OX),r.registerChartView(U0e),r.registerLayout(X0e),r.registerTransform(txe)}var nxe=["itemStyle","borderColor"],ixe=["itemStyle","borderColor0"],axe=["itemStyle","borderColorDoji"],oxe=["itemStyle","color"],sxe=["itemStyle","color0"];function PF(r,e){return e.get(r>0?oxe:sxe)}function LF(r,e){return e.get(r===0?axe:r>0?nxe:ixe)}var lxe={seriesType:"candlestick",plan:Gp(),performRawSeries:!0,reset:function(r,e){if(!e.isSeriesFiltered(r)){var t=r.pipelineContext.large;return!t&&{progress:function(n,i){for(var a;(a=n.next())!=null;){var o=i.getItemModel(a),s=i.getItemLayout(a).sign,u=o.getItemStyle();u.fill=PF(s,o),u.stroke=LF(s,o)||u.fill;var f=i.ensureUniqueItemVisual(a,"style");me(f,u)}}}}}},uxe=["color","borderColor"],cxe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,n,i){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},e.prototype.incrementalPrepareRender=function(t,n,i){this._clear(),this._updateDrawMode(t)},e.prototype.incrementalRender=function(t,n,i,a){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(t,n):this._incrementalRenderNormal(t,n)},e.prototype.eachRendered=function(t){bu(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var n=t.pipelineContext.large;(this._isLargeDraw==null||n!==this._isLargeDraw)&&(this._isLargeDraw=n,this._clear())},e.prototype._renderNormal=function(t){var n=t.getData(),i=this._data,a=this.group,o=n.getLayout("isSimpleBox"),s=t.get("clip",!0),u=t.coordinateSystem,f=u.getArea&&u.getArea();this._data||a.removeAll(),n.diff(i).add(function(h){if(n.hasValue(h)){var p=n.getItemLayout(h);if(s&&Lj(f,p))return;var g=TP(p,h,!0);pr(g,{shape:{points:p.ends}},t,h),DP(g,n,h,o),a.add(g),n.setItemGraphicEl(h,g)}}).update(function(h,p){var g=i.getItemGraphicEl(p);if(!n.hasValue(h)){a.remove(g);return}var v=n.getItemLayout(h);if(s&&Lj(f,v)){a.remove(g);return}g?(Bt(g,{shape:{points:v.ends}},t,h),co(g)):g=TP(v),DP(g,n,h,o),a.add(g),n.setItemGraphicEl(h,g)}).remove(function(h){var p=i.getItemGraphicEl(h);p&&a.remove(p)}).execute(),this._data=n},e.prototype._renderLarge=function(t){this._clear(),Oj(t,this.group);var n=t.get("clip",!0)?v_(t.coordinateSystem,!1,t):null;n?this.group.setClipPath(n):this.group.removeClipPath()},e.prototype._incrementalRenderNormal=function(t,n){for(var i=n.getData(),a=i.getLayout("isSimpleBox"),o;(o=t.next())!=null;){var s=i.getItemLayout(o),u=TP(s);DP(u,i,o,a),u.incremental=!0,this.group.add(u),this._progressiveEls.push(u)}},e.prototype._incrementalRenderLarge=function(t,n){Oj(n,this.group,this._progressiveEls,!0)},e.prototype.remove=function(t){this._clear()},e.prototype._clear=function(){this.group.removeAll(),this._data=null},e.type="candlestick",e}(tr),fxe=function(){function r(){}return r}(),hxe=function(r){ae(e,r);function e(t){var n=r.call(this,t)||this;return n.type="normalCandlestickBox",n}return e.prototype.getDefaultShape=function(){return new fxe},e.prototype.buildPath=function(t,n){var i=n.points;this.__simpleBox?(t.moveTo(i[4][0],i[4][1]),t.lineTo(i[6][0],i[6][1])):(t.moveTo(i[0][0],i[0][1]),t.lineTo(i[1][0],i[1][1]),t.lineTo(i[2][0],i[2][1]),t.lineTo(i[3][0],i[3][1]),t.closePath(),t.moveTo(i[4][0],i[4][1]),t.lineTo(i[5][0],i[5][1]),t.moveTo(i[6][0],i[6][1]),t.lineTo(i[7][0],i[7][1]))},e}(gt);function TP(r,e,t){var n=r.ends;return new hxe({shape:{points:t?dxe(n,r):n},z2:100})}function Lj(r,e){for(var t=!0,n=0;nM?V[a]:$[a],ends:j,brushRect:re(E,I,w)})}function ee(ve,_e){var Re=[];return Re[i]=_e,Re[a]=ve,isNaN(_e)||isNaN(ve)?[NaN,NaN]:e.dataToPoint(Re)}function Z(ve,_e,Re){var Le=_e.slice(),je=_e.slice();Le[i]=RC(Le[i]+n/2,1,!1),je[i]=RC(je[i]-n/2,1,!0),Re?ve.push(Le,je):ve.push(je,Le)}function re(ve,_e,Re){var Le=ee(ve,Re),je=ee(_e,Re);return Le[i]-=n/2,je[i]-=n/2,{x:Le[0],y:Le[1],width:n,height:je[1]-Le[1]}}function de(ve){return ve[i]=RC(ve[i],1),ve}}function m(b,_){for(var S=Go(b.count*4),C=0,w,k=[],M=[],E,I=_.getStore(),O=!!r.get(["itemStyle","borderColorDoji"]);(E=b.next())!=null;){var R=I.get(s,E),$=I.get(f,E),V=I.get(h,E),z=I.get(p,E),B=I.get(g,E);if(isNaN(R)||isNaN(z)||isNaN(B)){S[C++]=NaN,C+=3;continue}S[C++]=Rj(I,E,$,V,h,O),k[i]=R,k[a]=z,w=e.dataToPoint(k,null,M),S[C++]=w?w[0]:NaN,S[C++]=w?w[1]:NaN,k[a]=B,w=e.dataToPoint(k,null,M),S[C++]=w?w[1]:NaN}_.setLayout("largePoints",S)}}};function Rj(r,e,t,n,i,a){var o;return t>n?o=-1:t0?r.get(i,e-1)<=n?1:-1:1,o}function mxe(r,e){var t=r.getBaseAxis(),n,i=t.type==="category"?t.getBandWidth():(n=t.getExtent(),Math.abs(n[1]-n[0])/e.count()),a=Oe(it(r.get("barMaxWidth"),i),i),o=Oe(it(r.get("barMinWidth"),1),i),s=r.get("barWidth");return s!=null?Oe(s,i):Math.max(Math.min(i/2,a),o)}function yxe(r){r.registerChartView(cxe),r.registerSeriesModel(NX),r.registerPreprocessor(vxe),r.registerVisual(lxe),r.registerLayout(gxe)}function Nj(r,e){var t=e.rippleEffectColor||e.color;r.eachChild(function(n){n.attr({z:e.z,zlevel:e.zlevel,style:{stroke:e.brushType==="stroke"?t:null,fill:e.brushType==="fill"?t:null}})})}var _xe=function(r){ae(e,r);function e(t,n){var i=r.call(this)||this,a=new d_(t,n),o=new rt;return i.add(a),i.add(o),i.updateData(t,n),i}return e.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},e.prototype.startEffectAnimation=function(t){for(var n=t.symbolType,i=t.color,a=t.rippleNumber,o=this.childAt(1),s=0;s0&&(s=this._getLineLength(a)/h*1e3),s!==this._period||u!==this._loop||f!==this._roundTrip){a.stopAnimation();var g=void 0;Ke(p)?g=p(i):g=p,a.__t>0&&(g=-s*a.__t),this._animateSymbol(a,s,g,u,f)}this._period=s,this._loop=u,this._roundTrip=f}},e.prototype._animateSymbol=function(t,n,i,a,o){if(n>0){t.__t=0;var s=this,u=t.animate("",a).when(o?n*2:n,{__t:o?2:1}).delay(i).during(function(){s._updateSymbolPosition(t)});a||u.done(function(){s.remove(t)}),u.start()}},e.prototype._getLineLength=function(t){return Vl(t.__p1,t.__cp1)+Vl(t.__cp1,t.__p2)},e.prototype._updateAnimationPoints=function(t,n){t.__p1=n[0],t.__p2=n[1],t.__cp1=n[2]||[(n[0][0]+n[1][0])/2,(n[0][1]+n[1][1])/2]},e.prototype.updateData=function(t,n,i){this.childAt(0).updateData(t,n,i),this._updateEffectSymbol(t,n)},e.prototype._updateSymbolPosition=function(t){var n=t.__p1,i=t.__p2,a=t.__cp1,o=t.__t<1?t.__t:2-t.__t,s=[t.x,t.y],u=s.slice(),f=vn,h=AO;s[0]=f(n[0],a[0],i[0],o),s[1]=f(n[1],a[1],i[1],o);var p=t.__t<1?h(n[0],a[0],i[0],o):h(i[0],a[0],n[0],1-o),g=t.__t<1?h(n[1],a[1],i[1],o):h(i[1],a[1],n[1],1-o);t.rotation=-Math.atan2(g,p)-Math.PI/2,(this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")&&(t.__lastT!==void 0&&t.__lastT=0&&!(a[u]<=n);u--);u=Math.min(u,o-2)}else{for(u=s;un);u++);u=Math.min(u-1,o-2)}var h=(n-a[u])/(a[u+1]-a[u]),p=i[u],g=i[u+1];t.x=p[0]*(1-h)+h*g[0],t.y=p[1]*(1-h)+h*g[1];var v=t.__t<1?g[0]-p[0]:p[0]-g[0],m=t.__t<1?g[1]-p[1]:p[1]-g[1];t.rotation=-Math.atan2(m,v)-Math.PI/2,this._lastFrame=u,this._lastFramePercent=n,t.ignore=!1}},e}(FX),Cxe=function(){function r(){this.polyline=!1,this.curveness=0,this.segs=[]}return r}(),Txe=function(r){ae(e,r);function e(t){var n=r.call(this,t)||this;return n._off=0,n.hoverDataIdx=-1,n}return e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new Cxe},e.prototype.buildPath=function(t,n){var i=n.segs,a=n.curveness,o;if(n.polyline)for(o=this._off;o0){t.moveTo(i[o++],i[o++]);for(var u=1;u0){var v=(f+p)/2-(h-g)*a,m=(h+g)/2-(p-f)*a;t.quadraticCurveTo(v,m,p,g)}else t.lineTo(p,g)}this.incremental&&(this._off=o,this.notClear=!0)},e.prototype.findDataIndex=function(t,n){var i=this.shape,a=i.segs,o=i.curveness,s=this.style.lineWidth;if(i.polyline)for(var u=0,f=0;f0)for(var p=a[f++],g=a[f++],v=1;v0){var _=(p+m)/2-(g-b)*o,S=(g+b)/2-(m-p)*o;if(c9(p,g,_,S,m,b,s,t,n))return u}else if(Nl(p,g,m,b,s,t,n))return u;u++}return-1},e.prototype.contain=function(t,n){var i=this.transformCoordToLocal(t,n),a=this.getBoundingRect();if(t=i[0],n=i[1],a.contain(t,n)){var o=this.hoverDataIdx=this.findDataIndex(t,n);return o>=0}return this.hoverDataIdx=-1,!1},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var n=this.shape,i=n.segs,a=1/0,o=1/0,s=-1/0,u=-1/0,f=0;f0&&(o.dataIndex=u+e.__startIndex)})},r.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},r}(),BX={seriesType:"lines",plan:Gp(),reset:function(r){var e=r.coordinateSystem;if(e){var t=r.get("polyline"),n=r.pipelineContext.large;return{progress:function(i,a){var o=[];if(n){var s=void 0,u=i.end-i.start;if(t){for(var f=0,h=i.start;h0&&(h||f.configLayer(s,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(u/10+.9,1),0)})),o.updateData(a);var p=t.get("clip",!0)&&v_(t.coordinateSystem,!1,t);p?this.group.setClipPath(p):this.group.removeClipPath(),this._lastZlevel=s,this._finished=!0},e.prototype.incrementalPrepareRender=function(t,n,i){var a=t.getData(),o=this._updateLineDraw(a,t);o.incrementalPrepareUpdate(a),this._clearLayer(i),this._finished=!1},e.prototype.incrementalRender=function(t,n,i){this._lineDraw.incrementalUpdate(t,n.getData()),this._finished=t.end===n.getData().count()},e.prototype.eachRendered=function(t){this._lineDraw&&this._lineDraw.eachRendered(t)},e.prototype.updateTransform=function(t,n,i){var a=t.getData(),o=t.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var s=BX.reset(t,n,i);s.progress&&s.progress({start:0,end:a.count(),count:a.count()},a),this._lineDraw.updateLayout(),this._clearLayer(i)},e.prototype._updateLineDraw=function(t,n){var i=this._lineDraw,a=this._showEffect(n),o=!!n.get("polyline"),s=n.pipelineContext,u=s.large;return(!i||a!==this._hasEffet||o!==this._isPolyline||u!==this._isLargeDraw)&&(i&&i.remove(),i=this._lineDraw=u?new Dxe:new CF(o?a?wxe:$X:a?FX:wF),this._hasEffet=a,this._isPolyline=o,this._isLargeDraw=u),this.group.add(i.group),i},e.prototype._showEffect=function(t){return!!t.get(["effect","show"])},e.prototype._clearLayer=function(t){var n=t.getZr(),i=n.painter.getType()==="svg";!i&&this._lastZlevel!=null&&n.painter.getLayer(this._lastZlevel).clear(!0)},e.prototype.remove=function(t,n){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(n)},e.prototype.dispose=function(t,n){this.remove(t,n)},e.type="lines",e}(tr),Mxe=typeof Uint32Array>"u"?Array:Uint32Array,Axe=typeof Float64Array>"u"?Array:Float64Array;function Fj(r){var e=r.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(r.data=Ce(e,function(t){var n=[t[0].coord,t[1].coord],i={coords:n};return t[0].name&&(i.fromName=t[0].name),t[1].name&&(i.toName=t[1].name),nN([i,t[0],t[1]])}))}var Exe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="lineStyle",t.visualDrawType="stroke",t}return e.prototype.init=function(t){t.data=t.data||[],Fj(t);var n=this._processFlatCoordsArray(t.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(t.data=new Float32Array(n.count)),r.prototype.init.apply(this,arguments)},e.prototype.mergeOption=function(t){if(Fj(t),t.data){var n=this._processFlatCoordsArray(t.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(t.data=new Float32Array(n.count))}r.prototype.mergeOption.apply(this,arguments)},e.prototype.appendData=function(t){var n=this._processFlatCoordsArray(t.data);n.flatCoords&&(this._flatCoords?(this._flatCoords=my(this._flatCoords,n.flatCoords),this._flatCoordsOffset=my(this._flatCoordsOffset,n.flatCoordsOffset)):(this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset),t.data=new Float32Array(n.count)),this.getRawData().appendData(t.data)},e.prototype._getCoordsFromItemModel=function(t){var n=this.getData().getItemModel(t),i=n.option instanceof Array?n.option:n.getShallow("coords");return i},e.prototype.getLineCoordsCount=function(t){return this._flatCoordsOffset?this._flatCoordsOffset[t*2+1]:this._getCoordsFromItemModel(t).length},e.prototype.getLineCoords=function(t,n){if(this._flatCoordsOffset){for(var i=this._flatCoordsOffset[t*2],a=this._flatCoordsOffset[t*2+1],o=0;o ")})},e.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},e.prototype.getProgressive=function(){var t=this.option.progressive;return t??(this.option.large?1e4:this.get("progressive"))},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return t??(this.option.large?2e4:this.get("progressiveThreshold"))},e.prototype.getZLevelKey=function(){var t=this.getModel("effect"),n=t.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:t.get("show")&&n>0?n+"":""},e.type="series.lines",e.dependencies=["grid","polar","geo","calendar"],e.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},e}(lr);function Rw(r){return r instanceof Array||(r=[r,r]),r}var Ixe={seriesType:"lines",reset:function(r){var e=Rw(r.get("symbol")),t=Rw(r.get("symbolSize")),n=r.getData();n.setVisual("fromSymbol",e&&e[0]),n.setVisual("toSymbol",e&&e[1]),n.setVisual("fromSymbolSize",t&&t[0]),n.setVisual("toSymbolSize",t&&t[1]);function i(a,o){var s=a.getItemModel(o),u=Rw(s.getShallow("symbol",!0)),f=Rw(s.getShallow("symbolSize",!0));u[0]&&a.setItemVisual(o,"fromSymbol",u[0]),u[1]&&a.setItemVisual(o,"toSymbol",u[1]),f[0]&&a.setItemVisual(o,"fromSymbolSize",f[0]),f[1]&&a.setItemVisual(o,"toSymbolSize",f[1])}return{dataEach:n.hasItemOption?i:null}}};function Pxe(r){r.registerChartView(kxe),r.registerSeriesModel(Exe),r.registerLayout(BX),r.registerVisual(Ixe)}var Lxe=256,Oxe=function(){function r(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var e=cu.createCanvas();this.canvas=e}return r.prototype.update=function(e,t,n,i,a,o){var s=this._getBrush(),u=this._getGradient(a,"inRange"),f=this._getGradient(a,"outOfRange"),h=this.pointSize+this.blurSize,p=this.canvas,g=p.getContext("2d"),v=e.length;p.width=t,p.height=n;for(var m=0;m0){var z=o(w)?u:f;w>0&&(w=w*$+O),M[E++]=z[V],M[E++]=z[V+1],M[E++]=z[V+2],M[E++]=z[V+3]*w*256}else E+=4}return g.putImageData(k,0,0),p},r.prototype._getBrush=function(){var e=this._brushCanvas||(this._brushCanvas=cu.createCanvas()),t=this.pointSize+this.blurSize,n=t*2;e.width=n,e.height=n;var i=e.getContext("2d");return i.clearRect(0,0,n,n),i.shadowOffsetX=n,i.shadowBlur=this.blurSize,i.shadowColor="#000",i.beginPath(),i.arc(-t,t,this.pointSize,0,Math.PI*2,!0),i.closePath(),i.fill(),e},r.prototype._getGradient=function(e,t){for(var n=this._gradientPixels,i=n[t]||(n[t]=new Uint8ClampedArray(256*4)),a=[0,0,0,0],o=0,s=0;s<256;s++)e[t](s/255,!0,a),i[o++]=a[0],i[o++]=a[1],i[o++]=a[2],i[o++]=a[3];return i},r}();function Rxe(r,e,t){var n=r[1]-r[0];e=Ce(e,function(o){return{interval:[(o.interval[0]-r[0])/n,(o.interval[1]-r[0])/n]}});var i=e.length,a=0;return function(o){var s;for(s=a;s=0;s--){var u=e[s].interval;if(u[0]<=o&&o<=u[1]){a=s;break}}return s>=0&&s=e[0]&&n<=e[1]}}function $j(r){var e=r.dimensions;return e[0]==="lng"&&e[1]==="lat"}var Fxe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,n,i){var a;n.eachComponent("visualMap",function(s){s.eachTargetSeries(function(u){u===t&&(a=s)})}),this._progressiveEls=null,this.group.removeAll();var o=t.coordinateSystem;o.type==="cartesian2d"||o.type==="calendar"?this._renderOnCartesianAndCalendar(t,i,0,t.getData().count()):$j(o)&&this._renderOnGeo(o,t,a,i)},e.prototype.incrementalPrepareRender=function(t,n,i){this.group.removeAll()},e.prototype.incrementalRender=function(t,n,i,a){var o=n.coordinateSystem;o&&($j(o)?this.render(n,i,a):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(n,a,t.start,t.end,!0)))},e.prototype.eachRendered=function(t){bu(this._progressiveEls||this.group,t)},e.prototype._renderOnCartesianAndCalendar=function(t,n,i,a,o){var s=t.coordinateSystem,u=Wf(s,"cartesian2d"),f,h,p,g;if(u){var v=s.getAxis("x"),m=s.getAxis("y");f=v.getBandWidth()+.5,h=m.getBandWidth()+.5,p=v.scale.getExtent(),g=m.scale.getExtent()}for(var b=this.group,_=t.getData(),S=t.getModel(["emphasis","itemStyle"]).getItemStyle(),C=t.getModel(["blur","itemStyle"]).getItemStyle(),w=t.getModel(["select","itemStyle"]).getItemStyle(),k=t.get(["itemStyle","borderRadius"]),M=hn(t),E=t.getModel("emphasis"),I=E.get("focus"),O=E.get("blurScope"),R=E.get("disabled"),$=u?[_.mapDimension("x"),_.mapDimension("y"),_.mapDimension("value")]:[_.mapDimension("time"),_.mapDimension("value")],V=i;Vp[1]||Ug[1])continue;var X=s.dataToPoint([j,U]);z=new Pt({shape:{x:X[0]-f/2,y:X[1]-h/2,width:f,height:h},style:B})}else{if(isNaN(_.get($[1],V)))continue;z=new Pt({z2:1,shape:s.dataToRect([_.get($[0],V)]).contentShape,style:B})}if(_.hasItemOption){var ee=_.getItemModel(V),Z=ee.getModel("emphasis");S=Z.getModel("itemStyle").getItemStyle(),C=ee.getModel(["blur","itemStyle"]).getItemStyle(),w=ee.getModel(["select","itemStyle"]).getItemStyle(),k=ee.get(["itemStyle","borderRadius"]),I=Z.get("focus"),O=Z.get("blurScope"),R=Z.get("disabled"),M=hn(ee)}z.shape.r=k;var re=t.getRawValue(V),de="-";re&&re[2]!=null&&(de=re[2]+""),An(z,M,{labelFetcher:t,labelDataIndex:V,defaultOpacity:B.opacity,defaultText:de}),z.ensureState("emphasis").style=S,z.ensureState("blur").style=C,z.ensureState("select").style=w,xr(z,I,O,R),z.incremental=o,o&&(z.states.emphasis.hoverLayer=!0),b.add(z),_.setItemGraphicEl(V,z),this._progressiveEls&&this._progressiveEls.push(z)}},e.prototype._renderOnGeo=function(t,n,i,a){var o=i.targetVisuals.inRange,s=i.targetVisuals.outOfRange,u=n.getData(),f=this._hmLayer||this._hmLayer||new Oxe;f.blurSize=n.get("blurSize"),f.pointSize=n.get("pointSize"),f.minOpacity=n.get("minOpacity"),f.maxOpacity=n.get("maxOpacity");var h=t.getViewRect().clone(),p=t.getRoamTransform();h.applyTransform(p);var g=Math.max(h.x,0),v=Math.max(h.y,0),m=Math.min(h.width+h.x,a.getWidth()),b=Math.min(h.height+h.y,a.getHeight()),_=m-g,S=b-v,C=[u.mapDimension("lng"),u.mapDimension("lat"),u.mapDimension("value")],w=u.mapArray(C,function(I,O,R){var $=t.dataToPoint([I,O]);return $[0]-=g,$[1]-=v,$.push(R),$}),k=i.getExtent(),M=i.type==="visualMap.continuous"?Nxe(k,i.option.range):Rxe(k,i.getPieceList(),i.option.selected);f.update(w,_,S,o.color.getNormalizer(),{inRange:o.color.getColorMapper(),outOfRange:s.color.getColorMapper()},M);var E=new yn({style:{width:_,height:S,x:g,y:v,image:f.canvas},silent:!0});this.group.add(E)},e.type="heatmap",e}(tr),$xe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,n){return Ks(null,this,{generateCoord:"value"})},e.prototype.preventIncremental=function(){var t=u_.get(this.get("coordinateSystem"));if(t&&t.dimensions)return t.dimensions[0]==="lng"&&t.dimensions[1]==="lat"},e.type="series.heatmap",e.dependencies=["grid","geo","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0,select:{itemStyle:{borderColor:"#212121"}}},e}(lr);function Bxe(r){r.registerChartView(Fxe),r.registerSeriesModel($xe)}var zxe=["itemStyle","borderWidth"],Bj=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],AP=new qs,Vxe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,n,i){var a=this.group,o=t.getData(),s=this._data,u=t.coordinateSystem,f=u.getBaseAxis(),h=f.isHorizontal(),p=u.master.getRect(),g={ecSize:{width:i.getWidth(),height:i.getHeight()},seriesModel:t,coordSys:u,coordSysExtent:[[p.x,p.x+p.width],[p.y,p.y+p.height]],isHorizontal:h,valueDim:Bj[+h],categoryDim:Bj[1-+h]};o.diff(s).add(function(m){if(o.hasValue(m)){var b=Vj(o,m),_=zj(o,m,b,g),S=Hj(o,g,_);o.setItemGraphicEl(m,S),a.add(S),Wj(S,g,_)}}).update(function(m,b){var _=s.getItemGraphicEl(b);if(!o.hasValue(m)){a.remove(_);return}var S=Vj(o,m),C=zj(o,m,S,g),w=GX(o,C);_&&w!==_.__pictorialShapeStr&&(a.remove(_),o.setItemGraphicEl(m,null),_=null),_?qxe(_,g,C):_=Hj(o,g,C,!0),o.setItemGraphicEl(m,_),_.__pictorialSymbolMeta=C,a.add(_),Wj(_,g,C)}).remove(function(m){var b=s.getItemGraphicEl(m);b&&jj(s,m,b.__pictorialSymbolMeta.animationModel,b)}).execute();var v=t.get("clip",!0)?v_(t.coordinateSystem,!1,t):null;return v?a.setClipPath(v):a.removeClipPath(),this._data=o,this.group},e.prototype.remove=function(t,n){var i=this.group,a=this._data;t.get("animation")?a&&a.eachItemGraphicEl(function(o){jj(a,nt(o).dataIndex,t,o)}):i.removeAll()},e.type="pictorialBar",e}(tr);function zj(r,e,t,n){var i=r.getItemLayout(e),a=t.get("symbolRepeat"),o=t.get("symbolClip"),s=t.get("symbolPosition")||"start",u=t.get("symbolRotate"),f=(u||0)*Math.PI/180||0,h=t.get("symbolPatternSize")||2,p=t.isAnimationEnabled(),g={dataIndex:e,layout:i,itemModel:t,symbolType:r.getItemVisual(e,"symbol")||"circle",style:r.getItemVisual(e,"style"),symbolClip:o,symbolRepeat:a,symbolRepeatDirection:t.get("symbolRepeatDirection"),symbolPatternSize:h,rotation:f,animationModel:p?t:null,hoverScale:p&&t.get(["emphasis","scale"]),z2:t.getShallow("z",!0)||0};Hxe(t,a,i,n,g),jxe(r,e,i,a,o,g.boundingLength,g.pxSign,h,n,g),Wxe(t,g.symbolScale,f,n,g);var v=g.symbolSize,m=Hf(t.get("symbolOffset"),v);return Gxe(t,v,i,a,o,m,s,g.valueLineWidth,g.boundingLength,g.repeatCutLength,n,g),g}function Hxe(r,e,t,n,i){var a=n.valueDim,o=r.get("symbolBoundingData"),s=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),u=s.toGlobalCoord(s.dataToCoord(0)),f=1-+(t[a.wh]<=0),h;if(we(o)){var p=[EP(s,o[0])-u,EP(s,o[1])-u];p[1]=0?1:-1:h>0?1:-1}function EP(r,e){return r.toGlobalCoord(r.dataToCoord(r.scale.parse(e)))}function jxe(r,e,t,n,i,a,o,s,u,f){var h=u.valueDim,p=u.categoryDim,g=Math.abs(t[p.wh]),v=r.getItemVisual(e,"symbolSize"),m;we(v)?m=v.slice():v==null?m=["100%","100%"]:m=[v,v],m[p.index]=Oe(m[p.index],g),m[h.index]=Oe(m[h.index],n?g:Math.abs(a)),f.symbolSize=m;var b=f.symbolScale=[m[0]/s,m[1]/s];b[h.index]*=(u.isHorizontal?-1:1)*o}function Wxe(r,e,t,n,i){var a=r.get(zxe)||0;a&&(AP.attr({scaleX:e[0],scaleY:e[1],rotation:t}),AP.updateTransform(),a/=AP.getLineScale(),a*=e[n.valueDim.index]),i.valueLineWidth=a||0}function Gxe(r,e,t,n,i,a,o,s,u,f,h,p){var g=h.categoryDim,v=h.valueDim,m=p.pxSign,b=Math.max(e[v.index]+s,0),_=b;if(n){var S=Math.abs(u),C=mn(r.get("symbolMargin"),"15%")+"",w=!1;C.lastIndexOf("!")===C.length-1&&(w=!0,C=C.slice(0,C.length-1));var k=Oe(C,e[v.index]),M=Math.max(b+k*2,0),E=w?0:k*2,I=X7(n),O=I?n:Gj((S+E)/M),R=S-O*b;k=R/2/(w?O:Math.max(O-1,1)),M=b+k*2,E=w?0:k*2,!I&&n!=="fixed"&&(O=f?Gj((Math.abs(f)+E)/M):0),_=O*M-E,p.repeatTimes=O,p.symbolMargin=k}var $=m*(_/2),V=p.pathPosition=[];V[g.index]=t[g.wh]/2,V[v.index]=o==="start"?$:o==="end"?u-$:u/2,a&&(V[0]+=a[0],V[1]+=a[1]);var z=p.bundlePosition=[];z[g.index]=t[g.xy],z[v.index]=t[v.xy];var B=p.barRectShape=me({},t);B[v.wh]=m*Math.max(Math.abs(t[v.wh]),Math.abs(V[v.index]+$)),B[g.wh]=t[g.wh];var j=p.clipShape={};j[g.xy]=-t[g.xy],j[g.wh]=h.ecSize[g.wh],j[v.xy]=0,j[v.wh]=t[v.wh]}function zX(r){var e=r.symbolPatternSize,t=jr(r.symbolType,-e/2,-e/2,e,e);return t.attr({culling:!0}),t.type!=="image"&&t.setStyle({strokeNoScale:!0}),t}function VX(r,e,t,n){var i=r.__pictorialBundle,a=t.symbolSize,o=t.valueLineWidth,s=t.pathPosition,u=e.valueDim,f=t.repeatTimes||0,h=0,p=a[e.valueDim.index]+o+t.symbolMargin*2;for(OF(r,function(b){b.__pictorialAnimationIndex=h,b.__pictorialRepeatTimes=f,h0:S<0)&&(C=f-1-b),_[u.index]=p*(C-f/2+.5)+s[u.index],{x:_[0],y:_[1],scaleX:t.symbolScale[0],scaleY:t.symbolScale[1],rotation:t.rotation}}}function HX(r,e,t,n){var i=r.__pictorialBundle,a=r.__pictorialMainPath;a?pp(a,null,{x:t.pathPosition[0],y:t.pathPosition[1],scaleX:t.symbolScale[0],scaleY:t.symbolScale[1],rotation:t.rotation},t,n):(a=r.__pictorialMainPath=zX(t),i.add(a),pp(a,{x:t.pathPosition[0],y:t.pathPosition[1],scaleX:0,scaleY:0,rotation:t.rotation},{scaleX:t.symbolScale[0],scaleY:t.symbolScale[1]},t,n))}function jX(r,e,t){var n=me({},e.barRectShape),i=r.__pictorialBarRect;i?pp(i,null,{shape:n},e,t):(i=r.__pictorialBarRect=new Pt({z2:2,shape:n,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),i.disableMorphing=!0,r.add(i))}function WX(r,e,t,n){if(t.symbolClip){var i=r.__pictorialClipPath,a=me({},t.clipShape),o=e.valueDim,s=t.animationModel,u=t.dataIndex;if(i)Bt(i,{shape:a},s,u);else{a[o.wh]=0,i=new Pt({shape:a}),r.__pictorialBundle.setClipPath(i),r.__pictorialClipPath=i;var f={};f[o.wh]=t.clipShape[o.wh],Vf[n?"updateProps":"initProps"](i,{shape:f},s,u)}}}function Vj(r,e){var t=r.getItemModel(e);return t.getAnimationDelayParams=Uxe,t.isAnimationEnabled=Yxe,t}function Uxe(r){return{index:r.__pictorialAnimationIndex,count:r.__pictorialRepeatTimes}}function Yxe(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function Hj(r,e,t,n){var i=new rt,a=new rt;return i.add(a),i.__pictorialBundle=a,a.x=t.bundlePosition[0],a.y=t.bundlePosition[1],t.symbolRepeat?VX(i,e,t):HX(i,e,t),jX(i,t,n),WX(i,e,t,n),i.__pictorialShapeStr=GX(r,t),i.__pictorialSymbolMeta=t,i}function qxe(r,e,t){var n=t.animationModel,i=t.dataIndex,a=r.__pictorialBundle;Bt(a,{x:t.bundlePosition[0],y:t.bundlePosition[1]},n,i),t.symbolRepeat?VX(r,e,t,!0):HX(r,e,t,!0),jX(r,t,!0),WX(r,e,t,!0)}function jj(r,e,t,n){var i=n.__pictorialBarRect;i&&i.removeTextContent();var a=[];OF(n,function(o){a.push(o)}),n.__pictorialMainPath&&a.push(n.__pictorialMainPath),n.__pictorialClipPath&&(t=null),H(a,function(o){hu(o,{scaleX:0,scaleY:0},t,e,function(){n.parent&&n.parent.remove(n)})}),r.setItemGraphicEl(e,null)}function GX(r,e){return[r.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function OF(r,e,t){H(r.__pictorialBundle.children(),function(n){n!==r.__pictorialBarRect&&e.call(t,n)})}function pp(r,e,t,n,i,a){e&&r.attr(e),n.symbolClip&&!i?t&&r.attr(t):t&&Vf[i?"updateProps":"initProps"](r,t,n.animationModel,n.dataIndex,a)}function Wj(r,e,t){var n=t.dataIndex,i=t.itemModel,a=i.getModel("emphasis"),o=a.getModel("itemStyle").getItemStyle(),s=i.getModel(["blur","itemStyle"]).getItemStyle(),u=i.getModel(["select","itemStyle"]).getItemStyle(),f=i.getShallow("cursor"),h=a.get("focus"),p=a.get("blurScope"),g=a.get("scale");OF(r,function(b){if(b instanceof yn){var _=b.style;b.useStyle(me({image:_.image,x:_.x,y:_.y,width:_.width,height:_.height},t.style))}else b.useStyle(t.style);var S=b.ensureState("emphasis");S.style=o,g&&(S.scaleX=b.scaleX*1.1,S.scaleY=b.scaleY*1.1),b.ensureState("blur").style=s,b.ensureState("select").style=u,f&&(b.cursor=f),b.z2=t.z2});var v=e.valueDim.posDesc[+(t.boundingLength>0)],m=r.__pictorialBarRect;m.ignoreClip=!0,An(m,hn(i),{labelFetcher:e.seriesModel,labelDataIndex:n,defaultText:wp(e.seriesModel.getData(),n),inheritColor:t.style.fill,defaultOpacity:t.style.opacity,defaultOutsidePosition:v}),xr(r,h,p,a.get("disabled"))}function Gj(r){var e=Math.round(r);return Math.abs(r-e)<1e-4?e:Math.ceil(r)}var Kxe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t.defaultSymbol="roundRect",t}return e.prototype.getInitialData=function(t){return t.stack=null,r.prototype.getInitialData.apply(this,arguments)},e.type="series.pictorialBar",e.dependencies=["grid"],e.defaultOption=xu(Ry.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",clip:!1,progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),e}(Ry);function Xxe(r){r.registerChartView(Vxe),r.registerSeriesModel(Kxe),r.registerLayout(r.PRIORITY.VISUAL.LAYOUT,at(Mq,"pictorialBar")),r.registerLayout(r.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,Aq("pictorialBar"))}var Zxe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._layers=[],t}return e.prototype.render=function(t,n,i){var a=t.getData(),o=this,s=this.group,u=t.getLayerSeries(),f=a.getLayout("layoutInfo"),h=f.rect,p=f.boundaryGap;s.x=0,s.y=h.y+p[0];function g(_){return _.name}var v=new Hs(this._layersSeries||[],u,g,g),m=[];v.add(ze(b,this,"add")).update(ze(b,this,"update")).remove(ze(b,this,"remove")).execute();function b(_,S,C){var w=o._layers;if(_==="remove"){s.remove(w[S]);return}for(var k=[],M=[],E,I=u[S].indices,O=0;Oa&&(a=s),n.push(s)}for(var f=0;fa&&(a=p)}return{y0:i,max:a}}function rSe(r){r.registerChartView(Zxe),r.registerSeriesModel(Jxe),r.registerLayout(eSe),r.registerProcessor(m_("themeRiver"))}var nSe=2,iSe=4,Yj=function(r){ae(e,r);function e(t,n,i,a){var o=r.call(this)||this;o.z2=nSe,o.textConfig={inside:!0},nt(o).seriesIndex=n.seriesIndex;var s=new Rt({z2:iSe,silent:t.getModel().get(["label","silent"])});return o.setTextContent(s),o.updateData(!0,t,n,i,a),o}return e.prototype.updateData=function(t,n,i,a,o){this.node=n,n.piece=this,i=i||this._seriesModel,a=a||this._ecModel;var s=this;nt(s).dataIndex=n.dataIndex;var u=n.getModel(),f=u.getModel("emphasis"),h=n.getLayout(),p=me({},h);p.label=null;var g=n.getVisual("style");g.lineJoin="bevel";var v=n.getVisual("decal");v&&(g.decal=xp(v,o));var m=of(u.getModel("itemStyle"),p,!0);me(p,m),H(vi,function(C){var w=s.ensureState(C),k=u.getModel([C,"itemStyle"]);w.style=k.getItemStyle();var M=of(k,p);M&&(w.shape=M)}),t?(s.setShape(p),s.shape.r=h.r0,pr(s,{shape:{r:h.r}},i,n.dataIndex)):(Bt(s,{shape:p},i),co(s)),s.useStyle(g),this._updateLabel(i);var b=u.getShallow("cursor");b&&s.attr("cursor",b),this._seriesModel=i||this._seriesModel,this._ecModel=a||this._ecModel;var _=f.get("focus"),S=_==="relative"?my(n.getAncestorsIndices(),n.getDescendantIndices()):_==="ancestor"?n.getAncestorsIndices():_==="descendant"?n.getDescendantIndices():_;xr(this,S,f.get("blurScope"),f.get("disabled"))},e.prototype._updateLabel=function(t){var n=this,i=this.node.getModel(),a=i.getModel("label"),o=this.node.getLayout(),s=o.endAngle-o.startAngle,u=(o.startAngle+o.endAngle)/2,f=Math.cos(u),h=Math.sin(u),p=this,g=p.getTextContent(),v=this.node.dataIndex,m=a.get("minAngle")/180*Math.PI,b=a.get("show")&&!(m!=null&&Math.abs(s)j&&!xy(X-j)&&X0?(o.virtualPiece?o.virtualPiece.updateData(!1,C,t,n,i):(o.virtualPiece=new Yj(C,t,n,i),h.add(o.virtualPiece)),w.piece.off("click"),o.virtualPiece.on("click",function(k){o._rootToNode(w.parentNode)})):o.virtualPiece&&(h.remove(o.virtualPiece),o.virtualPiece=null)}},e.prototype._initEvents=function(){var t=this;this.group.off("click"),this.group.on("click",function(n){var i=!1,a=t.seriesModel.getViewRoot();a.eachNode(function(o){if(!i&&o.piece&&o.piece===n.target){var s=o.getModel().get("nodeClick");if(s==="rootToNode")t._rootToNode(o);else if(s==="link"){var u=o.getModel(),f=u.get("link");if(f){var h=u.get("target",!0)||"_blank";E1(f,h)}}i=!0}})})},e.prototype._rootToNode=function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:W2,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},e.prototype.containPoint=function(t,n){var i=n.getData(),a=i.getItemLayout(0);if(a){var o=t[0]-a.cx,s=t[1]-a.cy,u=Math.sqrt(o*o+s*s);return u<=a.r&&u>=a.r0}},e.type="sunburst",e}(tr),lSe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.ignoreStyleOnData=!0,t}return e.prototype.getInitialData=function(t,n){var i={name:t.name,children:t.data};UX(i);var a=this._levelModels=Ce(t.levels||[],function(u){return new qt(u,this,n)},this),o=mF.createTree(i,this,s);function s(u){u.wrapMethod("getItemModel",function(f,h){var p=o.getNodeByDataIndex(h),g=a[p.depth];return g&&(f.parentModel=g),f})}return o.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.getDataParams=function(t){var n=r.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return n.treePathInfo=nD(i,this),n},e.prototype.getLevelModel=function(t){return this._levelModels&&this._levelModels[t.depth]},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var n=this.getRawData().tree.root;(!t||t!==n&&!n.contains(t))&&(this._viewRoot=n)},e.prototype.enableAriaDecal=function(){ZK(this)},e.type="series.sunburst",e.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},e}(lr);function UX(r){var e=0;H(r.children,function(n){UX(n);var i=n.value;we(i)&&(i=i[0]),e+=i});var t=r.value;we(t)&&(t=t[0]),(t==null||isNaN(t))&&(t=e),t<0&&(t=0),we(r.value)?r.value[0]=t:r.value=t}var Kj=Math.PI/180;function uSe(r,e,t){e.eachSeriesByType(r,function(n){var i=n.get("center"),a=n.get("radius");we(a)||(a=[0,a]),we(i)||(i=[i,i]);var o=t.getWidth(),s=t.getHeight(),u=Math.min(o,s),f=Oe(i[0],o),h=Oe(i[1],s),p=Oe(a[0],u/2),g=Oe(a[1],u/2),v=-n.get("startAngle")*Kj,m=n.get("minAngle")*Kj,b=n.getData().tree.root,_=n.getViewRoot(),S=_.depth,C=n.get("sort");C!=null&&YX(_,C);var w=0;H(_.children,function(X){!isNaN(X.getValue())&&w++});var k=_.getValue(),M=Math.PI/(k||w)*2,E=_.depth>0,I=_.height-(E?-1:1),O=(g-p)/(I||1),R=n.get("clockwise"),$=n.get("stillShowZeroSum"),V=R?1:-1,z=function(X,ee){if(X){var Z=ee;if(X!==b){var re=X.getValue(),de=k===0&&$?M:re*M;de1;)o=o.parentNode;var s=i.getColorFromPalette(o.name||o.dataIndex+"",e);return n.depth>1&&Be(s)&&(s=PO(s,(n.depth-1)/(a-1)*.5)),s}r.eachSeriesByType("sunburst",function(n){var i=n.getData(),a=i.tree;a.eachNode(function(o){var s=o.getModel(),u=s.getModel("itemStyle").getItemStyle();u.fill||(u.fill=t(o,n,a.root.height));var f=i.ensureUniqueItemVisual(o.dataIndex,"style");me(f,u)})})}function hSe(r){r.registerChartView(sSe),r.registerSeriesModel(lSe),r.registerLayout(at(uSe,"sunburst")),r.registerProcessor(at(m_,"sunburst")),r.registerVisual(fSe),oSe(r)}var Xj={color:"fill",borderColor:"stroke"},dSe={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},Os=Ot(),pSe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},e.prototype.getInitialData=function(t,n){return Ks(null,this)},e.prototype.getDataParams=function(t,n,i){var a=r.prototype.getDataParams.call(this,t,n);return i&&(a.info=Os(i).info),a},e.type="series.custom",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},e}(lr);function vSe(r,e){return e=e||[0,0],Ce(["x","y"],function(t,n){var i=this.getAxis(t),a=e[n],o=r[n]/2;return i.type==="category"?i.getBandWidth():Math.abs(i.dataToCoord(a-o)-i.dataToCoord(a+o))},this)}function gSe(r){var e=r.master.getRect();return{coordSys:{type:"cartesian2d",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(t){return r.dataToPoint(t)},size:ze(vSe,r)}}}function mSe(r,e){return e=e||[0,0],Ce([0,1],function(t){var n=e[t],i=r[t]/2,a=[],o=[];return a[t]=n-i,o[t]=n+i,a[1-t]=o[1-t]=e[1-t],Math.abs(this.dataToPoint(a)[t]-this.dataToPoint(o)[t])},this)}function ySe(r){var e=r.getBoundingRect();return{coordSys:{type:"geo",x:e.x,y:e.y,width:e.width,height:e.height,zoom:r.getZoom()},api:{coord:function(t){return r.dataToPoint(t)},size:ze(mSe,r)}}}function _Se(r,e){var t=this.getAxis(),n=e instanceof Array?e[0]:e,i=(r instanceof Array?r[0]:r)/2;return t.type==="category"?t.getBandWidth():Math.abs(t.dataToCoord(n-i)-t.dataToCoord(n+i))}function bSe(r){var e=r.getRect();return{coordSys:{type:"singleAxis",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(t){return r.dataToPoint(t)},size:ze(_Se,r)}}}function xSe(r,e){return e=e||[0,0],Ce(["Radius","Angle"],function(t,n){var i="get"+t+"Axis",a=this[i](),o=e[n],s=r[n]/2,u=a.type==="category"?a.getBandWidth():Math.abs(a.dataToCoord(o-s)-a.dataToCoord(o+s));return t==="Angle"&&(u=u*Math.PI/180),u},this)}function SSe(r){var e=r.getRadiusAxis(),t=r.getAngleAxis(),n=e.getExtent();return n[0]>n[1]&&n.reverse(),{coordSys:{type:"polar",cx:r.cx,cy:r.cy,r:n[1],r0:n[0]},api:{coord:function(i){var a=e.dataToRadius(i[0]),o=t.dataToAngle(i[1]),s=r.coordToPoint([a,o]);return s.push(a,o*Math.PI/180),s},size:ze(xSe,r)}}}function wSe(r){var e=r.getRect(),t=r.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:r.getCellWidth(),cellHeight:r.getCellHeight(),rangeInfo:{start:t.start,end:t.end,weeks:t.weeks,dayCount:t.allDay}},api:{coord:function(n,i){return r.dataToPoint(n,i)}}}}function qX(r,e,t,n){return r&&(r.legacy||r.legacy!==!1&&!t&&!n&&e!=="tspan"&&(e==="text"||He(r,"text")))}function KX(r,e,t){var n=r,i,a,o;if(e==="text")o=n;else{o={},He(n,"text")&&(o.text=n.text),He(n,"rich")&&(o.rich=n.rich),He(n,"textFill")&&(o.fill=n.textFill),He(n,"textStroke")&&(o.stroke=n.textStroke),He(n,"fontFamily")&&(o.fontFamily=n.fontFamily),He(n,"fontSize")&&(o.fontSize=n.fontSize),He(n,"fontStyle")&&(o.fontStyle=n.fontStyle),He(n,"fontWeight")&&(o.fontWeight=n.fontWeight),a={type:"text",style:o,silent:!0},i={};var s=He(n,"textPosition");t?i.position=s?n.textPosition:"inside":s&&(i.position=n.textPosition),He(n,"textPosition")&&(i.position=n.textPosition),He(n,"textOffset")&&(i.offset=n.textOffset),He(n,"textRotation")&&(i.rotation=n.textRotation),He(n,"textDistance")&&(i.distance=n.textDistance)}return Zj(o,r),H(o.rich,function(u){Zj(u,u)}),{textConfig:i,textContent:a}}function Zj(r,e){e&&(e.font=e.textFont||e.font,He(e,"textStrokeWidth")&&(r.lineWidth=e.textStrokeWidth),He(e,"textAlign")&&(r.align=e.textAlign),He(e,"textVerticalAlign")&&(r.verticalAlign=e.textVerticalAlign),He(e,"textLineHeight")&&(r.lineHeight=e.textLineHeight),He(e,"textWidth")&&(r.width=e.textWidth),He(e,"textHeight")&&(r.height=e.textHeight),He(e,"textBackgroundColor")&&(r.backgroundColor=e.textBackgroundColor),He(e,"textPadding")&&(r.padding=e.textPadding),He(e,"textBorderColor")&&(r.borderColor=e.textBorderColor),He(e,"textBorderWidth")&&(r.borderWidth=e.textBorderWidth),He(e,"textBorderRadius")&&(r.borderRadius=e.textBorderRadius),He(e,"textBoxShadowColor")&&(r.shadowColor=e.textBoxShadowColor),He(e,"textBoxShadowBlur")&&(r.shadowBlur=e.textBoxShadowBlur),He(e,"textBoxShadowOffsetX")&&(r.shadowOffsetX=e.textBoxShadowOffsetX),He(e,"textBoxShadowOffsetY")&&(r.shadowOffsetY=e.textBoxShadowOffsetY))}function Qj(r,e,t){var n=r;n.textPosition=n.textPosition||t.position||"inside",t.offset!=null&&(n.textOffset=t.offset),t.rotation!=null&&(n.textRotation=t.rotation),t.distance!=null&&(n.textDistance=t.distance);var i=n.textPosition.indexOf("inside")>=0,a=r.fill||"#000";Jj(n,e);var o=n.textFill==null;return i?o&&(n.textFill=t.insideFill||"#fff",!n.textStroke&&t.insideStroke&&(n.textStroke=t.insideStroke),!n.textStroke&&(n.textStroke=a),n.textStrokeWidth==null&&(n.textStrokeWidth=2)):(o&&(n.textFill=r.fill||t.outsideFill||"#000"),!n.textStroke&&t.outsideStroke&&(n.textStroke=t.outsideStroke)),n.text=e.text,n.rich=e.rich,H(e.rich,function(s){Jj(s,s)}),n}function Jj(r,e){e&&(He(e,"fill")&&(r.textFill=e.fill),He(e,"stroke")&&(r.textStroke=e.fill),He(e,"lineWidth")&&(r.textStrokeWidth=e.lineWidth),He(e,"font")&&(r.font=e.font),He(e,"fontStyle")&&(r.fontStyle=e.fontStyle),He(e,"fontWeight")&&(r.fontWeight=e.fontWeight),He(e,"fontSize")&&(r.fontSize=e.fontSize),He(e,"fontFamily")&&(r.fontFamily=e.fontFamily),He(e,"align")&&(r.textAlign=e.align),He(e,"verticalAlign")&&(r.textVerticalAlign=e.verticalAlign),He(e,"lineHeight")&&(r.textLineHeight=e.lineHeight),He(e,"width")&&(r.textWidth=e.width),He(e,"height")&&(r.textHeight=e.height),He(e,"backgroundColor")&&(r.textBackgroundColor=e.backgroundColor),He(e,"padding")&&(r.textPadding=e.padding),He(e,"borderColor")&&(r.textBorderColor=e.borderColor),He(e,"borderWidth")&&(r.textBorderWidth=e.borderWidth),He(e,"borderRadius")&&(r.textBorderRadius=e.borderRadius),He(e,"shadowColor")&&(r.textBoxShadowColor=e.shadowColor),He(e,"shadowBlur")&&(r.textBoxShadowBlur=e.shadowBlur),He(e,"shadowOffsetX")&&(r.textBoxShadowOffsetX=e.shadowOffsetX),He(e,"shadowOffsetY")&&(r.textBoxShadowOffsetY=e.shadowOffsetY),He(e,"textShadowColor")&&(r.textShadowColor=e.textShadowColor),He(e,"textShadowBlur")&&(r.textShadowBlur=e.textShadowBlur),He(e,"textShadowOffsetX")&&(r.textShadowOffsetX=e.textShadowOffsetX),He(e,"textShadowOffsetY")&&(r.textShadowOffsetY=e.textShadowOffsetY))}var XX={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},eW=Tt(XX);Zo(Jo,function(r,e){return r[e]=1,r},{});Jo.join(", ");var X1=["","style","shape","extra"],Dp=Ot();function RF(r,e,t,n,i){var a=r+"Animation",o=Bp(r,n,i)||{},s=Dp(e).userDuring;return o.duration>0&&(o.during=s?ze(MSe,{el:e,userDuring:s}):null,o.setToFinal=!0,o.scope=r),me(o,t[a]),o}function VC(r,e,t,n){n=n||{};var i=n.dataIndex,a=n.isInit,o=n.clearStyle,s=t.isAnimationEnabled(),u=Dp(r),f=e.style;u.userDuring=e.during;var h={},p={};if(ESe(r,e,p),rW("shape",e,p),rW("extra",e,p),!a&&s&&(ASe(r,e,h),tW("shape",r,e,h),tW("extra",r,e,h),ISe(r,e,f,h)),p.style=f,CSe(r,p,o),DSe(r,e),s)if(a){var g={};H(X1,function(m){var b=m?e[m]:e;b&&b.enterFrom&&(m&&(g[m]=g[m]||{}),me(m?g[m]:g,b.enterFrom))});var v=RF("enter",r,e,t,i);v.duration>0&&r.animateFrom(g,v)}else TSe(r,e,i||0,t,h);ZX(r,e),f?r.dirty():r.markRedraw()}function ZX(r,e){for(var t=Dp(r).leaveToProps,n=0;n0&&r.animateFrom(i,a)}}function DSe(r,e){He(e,"silent")&&(r.silent=e.silent),He(e,"ignore")&&(r.ignore=e.ignore),r instanceof Ra&&He(e,"invisible")&&(r.invisible=e.invisible),r instanceof gt&&He(e,"autoBatch")&&(r.autoBatch=e.autoBatch)}var Fo={},kSe={setTransform:function(r,e){return Fo.el[r]=e,this},getTransform:function(r){return Fo.el[r]},setShape:function(r,e){var t=Fo.el,n=t.shape||(t.shape={});return n[r]=e,t.dirtyShape&&t.dirtyShape(),this},getShape:function(r){var e=Fo.el.shape;if(e)return e[r]},setStyle:function(r,e){var t=Fo.el,n=t.style;return n&&(n[r]=e,t.dirtyStyle&&t.dirtyStyle()),this},getStyle:function(r){var e=Fo.el.style;if(e)return e[r]},setExtra:function(r,e){var t=Fo.el.extra||(Fo.el.extra={});return t[r]=e,this},getExtra:function(r){var e=Fo.el.extra;if(e)return e[r]}};function MSe(){var r=this,e=r.el;if(e){var t=Dp(e).userDuring,n=r.userDuring;if(t!==n){r.el=r.userDuring=null;return}Fo.el=e,n(kSe)}}function tW(r,e,t,n){var i=t[r];if(i){var a=e[r],o;if(a){var s=t.transition,u=i.transition;if(u)if(!o&&(o=n[r]={}),bf(u))me(o,a);else for(var f=Jt(u),h=0;h=0){!o&&(o=n[r]={});for(var v=Tt(a),h=0;h=0)){var g=r.getAnimationStyleProps(),v=g?g.style:null;if(v){!a&&(a=n.style={});for(var m=Tt(t),f=0;f=0?e.getStore().get(ee,U):void 0}var Z=e.get(X.name,U),re=X&&X.ordinalMeta;return re?re.categories[Z]:Z}function E(j,U){U==null&&(U=f);var X=e.getItemVisual(U,"style"),ee=X&&X.fill,Z=X&&X.opacity,re=C(U,ql).getItemStyle();ee!=null&&(re.fill=ee),Z!=null&&(re.opacity=Z);var de={inheritColor:Be(ee)?ee:"#000"},ve=w(U,ql),_e=sr(ve,null,de,!1,!0);_e.text=ve.getShallow("show")?it(r.getFormattedLabel(U,ql),wp(e,U)):null;var Re=M1(ve,de,!1);return R(j,re),re=Qj(re,_e,Re),j&&O(re,j),re.legacy=!0,re}function I(j,U){U==null&&(U=f);var X=C(U,Rs).getItemStyle(),ee=w(U,Rs),Z=sr(ee,null,null,!0,!0);Z.text=ee.getShallow("show")?Yo(r.getFormattedLabel(U,Rs),r.getFormattedLabel(U,ql),wp(e,U)):null;var re=M1(ee,null,!0);return R(j,X),X=Qj(X,Z,re),j&&O(X,j),X.legacy=!0,X}function O(j,U){for(var X in U)He(U,X)&&(j[X]=U[X])}function R(j,U){j&&(j.textFill&&(U.textFill=j.textFill),j.textPosition&&(U.textPosition=j.textPosition))}function $(j,U){if(U==null&&(U=f),He(Xj,j)){var X=e.getItemVisual(U,"style");return X?X[Xj[j]]:null}if(He(dSe,j))return e.getItemVisual(U,j)}function V(j){if(a.type==="cartesian2d"){var U=a.getBaseAxis();return Ape(Qe({axis:U},j))}}function z(){return t.getCurrentSeriesIndices()}function B(j){return kN(j,t)}}function VSe(r){var e={};return H(r.dimensions,function(t){var n=r.getDimensionInfo(t);if(!n.isExtraCoord){var i=n.coordDim,a=e[i]=e[i]||[];a[n.coordDimIndex]=r.getDimensionIndex(t)}}),e}function OP(r,e,t,n,i,a,o){if(!n){a.remove(e);return}var s=zF(r,e,t,n,i,a);return s&&o.setItemGraphicEl(t,s),s&&xr(s,n.focus,n.blurScope,n.emphasisDisabled),s}function zF(r,e,t,n,i,a){var o=-1,s=e;e&&tZ(e,n,i)&&(o=dt(a.childrenRef(),e),e=null);var u=!e,f=e;f?f.clearStates():(f=$F(n),s&&FSe(s,f)),n.morph===!1?f.disableMorphing=!0:f.disableMorphing&&(f.disableMorphing=!1),xa.normal.cfg=xa.normal.conOpt=xa.emphasis.cfg=xa.emphasis.conOpt=xa.blur.cfg=xa.blur.conOpt=xa.select.cfg=xa.select.conOpt=null,xa.isLegacy=!1,jSe(f,t,n,i,u,xa),HSe(f,t,n,i,u),BF(r,f,t,n,xa,i,u),He(n,"info")&&(Os(f).info=n.info);for(var h=0;h=0?a.replaceAt(f,o):a.add(f),f}function tZ(r,e,t){var n=Os(r),i=e.type,a=e.shape,o=e.style;return t.isUniversalTransitionEnabled()||i!=null&&i!==n.customGraphicType||i==="path"&&qSe(a)&&rZ(a)!==n.customPathData||i==="image"&&He(o,"image")&&o.image!==n.customImagePath}function HSe(r,e,t,n,i){var a=t.clipPath;if(a===!1)r&&r.getClipPath()&&r.removeClipPath();else if(a){var o=r.getClipPath();o&&tZ(o,a,n)&&(o=null),o||(o=$F(a),r.setClipPath(o)),BF(null,o,e,a,null,n,i)}}function jSe(r,e,t,n,i,a){if(!r.isGroup){iW(t,null,a),iW(t,Rs,a);var o=a.normal.conOpt,s=a.emphasis.conOpt,u=a.blur.conOpt,f=a.select.conOpt;if(o!=null||s!=null||f!=null||u!=null){var h=r.getTextContent();if(o===!1)h&&r.removeTextContent();else{o=a.normal.conOpt=o||{type:"text"},h?h.clearStates():(h=$F(o),r.setTextContent(h)),BF(null,h,e,o,null,n,i);for(var p=o&&o.style,g=0;g=h;v--){var m=e.childAt(v);GSe(e,m,i)}}}function GSe(r,e,t){e&&oD(e,Os(r).option,t)}function USe(r){new Hs(r.oldChildren,r.newChildren,aW,aW,r).add(oW).update(oW).remove(YSe).execute()}function aW(r,e){var t=r&&r.name;return t??RSe+e}function oW(r,e){var t=this.context,n=r!=null?t.newChildren[r]:null,i=e!=null?t.oldChildren[e]:null;zF(t.api,i,t.dataIndex,n,t.seriesModel,t.group)}function YSe(r){var e=this.context,t=e.oldChildren[r];t&&oD(t,Os(t).option,e.seriesModel)}function rZ(r){return r&&(r.pathData||r.d)}function qSe(r){return r&&(He(r,"pathData")||He(r,"d"))}function KSe(r){r.registerChartView($Se),r.registerSeriesModel(pSe)}var Kc=Ot(),sW=et,RP=ze,HF=function(){function r(){this._dragging=!1,this.animationThreshold=15}return r.prototype.render=function(e,t,n,i){var a=t.get("value"),o=t.get("status");if(this._axisModel=e,this._axisPointerModel=t,this._api=n,!(!i&&this._lastValue===a&&this._lastStatus===o)){this._lastValue=a,this._lastStatus=o;var s=this._group,u=this._handle;if(!o||o==="hide"){s&&s.hide(),u&&u.hide();return}s&&s.show(),u&&u.show();var f={};this.makeElOption(f,a,e,t,n);var h=f.graphicKey;h!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=h;var p=this._moveAnimation=this.determineAnimation(e,t);if(!s)s=this._group=new rt,this.createPointerEl(s,f,e,t),this.createLabelEl(s,f,e,t),n.getZr().add(s);else{var g=at(lW,t,p);this.updatePointerEl(s,f,g),this.updateLabelEl(s,f,g,t)}cW(s,t,!0),this._renderHandle(a)}},r.prototype.remove=function(e){this.clear(e)},r.prototype.dispose=function(e){this.clear(e)},r.prototype.determineAnimation=function(e,t){var n=t.get("animation"),i=e.axis,a=i.type==="category",o=t.get("snap");if(!o&&!a)return!1;if(n==="auto"||n==null){var s=this.animationThreshold;if(a&&i.getBandWidth()>s)return!0;if(o){var u=cF(e).seriesDataCount,f=i.getExtent();return Math.abs(f[0]-f[1])/u>s}return!1}return n===!0},r.prototype.makeElOption=function(e,t,n,i,a){},r.prototype.createPointerEl=function(e,t,n,i){var a=t.pointer;if(a){var o=Kc(e).pointerEl=new Vf[a.type](sW(t.pointer));e.add(o)}},r.prototype.createLabelEl=function(e,t,n,i){if(t.label){var a=Kc(e).labelEl=new Rt(sW(t.label));e.add(a),uW(a,i)}},r.prototype.updatePointerEl=function(e,t,n){var i=Kc(e).pointerEl;i&&t.pointer&&(i.setStyle(t.pointer.style),n(i,{shape:t.pointer.shape}))},r.prototype.updateLabelEl=function(e,t,n,i){var a=Kc(e).labelEl;a&&(a.setStyle(t.label.style),n(a,{x:t.label.x,y:t.label.y}),uW(a,i))},r.prototype._renderHandle=function(e){if(!(this._dragging||!this.updateHandleTransform)){var t=this._axisPointerModel,n=this._api.getZr(),i=this._handle,a=t.getModel("handle"),o=t.get("status");if(!a.get("show")||!o||o==="hide"){i&&n.remove(i),this._handle=null;return}var s;this._handle||(s=!0,i=this._handle=l_(a.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(f){$s(f.event)},onmousedown:RP(this._onHandleDragMove,this,0,0),drift:RP(this._onHandleDragMove,this),ondragend:RP(this._onHandleDragEnd,this)}),n.add(i)),cW(i,t,!1),i.setStyle(a.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var u=a.get("size");we(u)||(u=[u,u]),i.scaleX=u[0]/2,i.scaleY=u[1]/2,Up(this,"_doDispatchAxisPointer",a.get("throttle")||0,"fixRate"),this._moveHandleToValue(e,s)}},r.prototype._moveHandleToValue=function(e,t){lW(this._axisPointerModel,!t&&this._moveAnimation,this._handle,NP(this.getHandleTransform(e,this._axisModel,this._axisPointerModel)))},r.prototype._onHandleDragMove=function(e,t){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(NP(n),[e,t],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(NP(i)),Kc(n).lastProp=null,this._doDispatchAxisPointer()}},r.prototype._doDispatchAxisPointer=function(){var e=this._handle;if(e){var t=this._payloadInfo,n=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:n.axis.dim,axisIndex:n.componentIndex}]})}},r.prototype._onHandleDragEnd=function(){this._dragging=!1;var e=this._handle;if(e){var t=this._axisPointerModel.get("value");this._moveHandleToValue(t),this._api.dispatchAction({type:"hideTip"})}},r.prototype.clear=function(e){this._lastValue=null,this._lastStatus=null;var t=e.getZr(),n=this._group,i=this._handle;t&&n&&(this._lastGraphicKey=null,n&&t.remove(n),i&&t.remove(i),this._group=null,this._handle=null,this._payloadInfo=null),Ay(this,"_doDispatchAxisPointer")},r.prototype.doClear=function(){},r.prototype.buildLabel=function(e,t,n){return n=n||0,{x:e[n],y:e[1-n],width:t[n],height:t[1-n]}},r}();function lW(r,e,t,n){nZ(Kc(t).lastProp,n)||(Kc(t).lastProp=n,e?Bt(t,n,r):(t.stopAnimation(),t.attr(n)))}function nZ(r,e){if(Je(r)&&Je(e)){var t=!0;return H(e,function(n,i){t=t&&nZ(r[i],n)}),!!t}else return r===e}function uW(r,e){r[e.get(["label","show"])?"show":"hide"]()}function NP(r){return{x:r.x||0,y:r.y||0,rotation:r.rotation||0}}function cW(r,e,t){var n=e.get("z"),i=e.get("zlevel");r&&r.traverse(function(a){a.type!=="group"&&(n!=null&&(a.z=n),i!=null&&(a.zlevel=i),a.silent=t)})}function jF(r){var e=r.get("type"),t=r.getModel(e+"Style"),n;return e==="line"?(n=t.getLineStyle(),n.fill=null):e==="shadow"&&(n=t.getAreaStyle(),n.stroke=null),n}function iZ(r,e,t,n,i){var a=t.get("value"),o=aZ(a,e.axis,e.ecModel,t.get("seriesDataIndices"),{precision:t.get(["label","precision"]),formatter:t.get(["label","formatter"])}),s=t.getModel("label"),u=Hp(s.get("padding")||0),f=s.getFont(),h=t_(o,f),p=i.position,g=h.width+u[1]+u[3],v=h.height+u[0]+u[2],m=i.align;m==="right"&&(p[0]-=g),m==="center"&&(p[0]-=g/2);var b=i.verticalAlign;b==="bottom"&&(p[1]-=v),b==="middle"&&(p[1]-=v/2),XSe(p,g,v,n);var _=s.get("backgroundColor");(!_||_==="auto")&&(_=e.get(["axisLine","lineStyle","color"])),r.label={x:p[0],y:p[1],style:sr(s,{text:o,font:f,fill:s.getTextColor(),padding:u,backgroundColor:_}),z2:10}}function XSe(r,e,t,n){var i=n.getWidth(),a=n.getHeight();r[0]=Math.min(r[0]+e,i)-e,r[1]=Math.min(r[1]+t,a)-t,r[0]=Math.max(r[0],0),r[1]=Math.max(r[1],0)}function aZ(r,e,t,n,i){r=e.scale.parse(r);var a=e.scale.getLabel({value:r},{precision:i.precision}),o=i.formatter;if(o){var s={value:JN(e,{value:r}),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};H(n,function(u){var f=t.getSeriesByIndex(u.seriesIndex),h=u.dataIndexInside,p=f&&f.getDataParams(h);p&&s.seriesData.push(p)}),Be(o)?a=o.replace("{value}",a):Ke(o)&&(a=o(s))}return a}function WF(r,e,t){var n=Ji();return Bf(n,n,t.rotation),Qo(n,n,t.position),lo([r.dataToCoord(e),(t.labelOffset||0)+(t.labelDirection||1)*(t.labelMargin||0)],n)}function oZ(r,e,t,n,i,a){var o=hi.innerTextLayout(t.rotation,0,t.labelDirection);t.labelMargin=i.get(["label","margin"]),iZ(e,n,i,a,{position:WF(n.axis,r,t),align:o.textAlign,verticalAlign:o.textVerticalAlign})}function GF(r,e,t){return t=t||0,{x1:r[t],y1:r[1-t],x2:e[t],y2:e[1-t]}}function sZ(r,e,t){return t=t||0,{x:r[t],y:r[1-t],width:e[t],height:e[1-t]}}function fW(r,e,t,n,i,a){return{cx:r,cy:e,r0:t,r:n,startAngle:i,endAngle:a,clockwise:!0}}var ZSe=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,n,i,a,o){var s=i.axis,u=s.grid,f=a.get("type"),h=hW(u,s).getOtherAxis(s).getGlobalExtent(),p=s.toGlobalCoord(s.dataToCoord(n,!0));if(f&&f!=="none"){var g=jF(a),v=QSe[f](s,p,h);v.style=g,t.graphicKey=v.type,t.pointer=v}var m=D2(u.model,i);oZ(n,t,m,i,a,o)},e.prototype.getHandleTransform=function(t,n,i){var a=D2(n.axis.grid.model,n,{labelInside:!1});a.labelMargin=i.get(["handle","margin"]);var o=WF(n.axis,t,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,n,i,a){var o=i.axis,s=o.grid,u=o.getGlobalExtent(!0),f=hW(s,o).getOtherAxis(o).getGlobalExtent(),h=o.dim==="x"?0:1,p=[t.x,t.y];p[h]+=n[h],p[h]=Math.min(u[1],p[h]),p[h]=Math.max(u[0],p[h]);var g=(f[1]+f[0])/2,v=[g,g];v[h]=p[h];var m=[{verticalAlign:"middle"},{align:"center"}];return{x:p[0],y:p[1],rotation:t.rotation,cursorPoint:v,tooltipOption:m[h]}},e}(HF);function hW(r,e){var t={};return t[e.dim+"AxisIndex"]=e.index,r.getCartesian(t)}var QSe={line:function(r,e,t){var n=GF([e,t[0]],[e,t[1]],dW(r));return{type:"Line",subPixelOptimize:!0,shape:n}},shadow:function(r,e,t){var n=Math.max(1,r.getBandWidth()),i=t[1]-t[0];return{type:"Rect",shape:sZ([e-n/2,t[0]],[n,i],dW(r))}}};function dW(r){return r.dim==="x"?0:1}var JSe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="axisPointer",e.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},e}(Ct),Es=Ot(),ewe=H;function lZ(r,e,t){if(!yt.node){var n=e.getZr();Es(n).records||(Es(n).records={}),twe(n,e);var i=Es(n).records[r]||(Es(n).records[r]={});i.handler=t}}function twe(r,e){if(Es(r).initialized)return;Es(r).initialized=!0,t("click",at(pW,"click")),t("mousemove",at(pW,"mousemove")),t("globalout",nwe);function t(n,i){r.on(n,function(a){var o=iwe(e);ewe(Es(r).records,function(s){s&&i(s,a,o.dispatchAction)}),rwe(o.pendings,e)})}}function rwe(r,e){var t=r.showTip.length,n=r.hideTip.length,i;t?i=r.showTip[t-1]:n&&(i=r.hideTip[n-1]),i&&(i.dispatchAction=null,e.dispatchAction(i))}function nwe(r,e,t){r.handler("leave",null,t)}function pW(r,e,t,n){e.handler(r,t,n)}function iwe(r){var e={showTip:[],hideTip:[]},t=function(n){var i=e[n.type];i?i.push(n):(n.dispatchAction=t,r.dispatchAction(n))};return{dispatchAction:t,pendings:e}}function Y2(r,e){if(!yt.node){var t=e.getZr(),n=(Es(t).records||{})[r];n&&(Es(t).records[r]=null)}}var awe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,n,i){var a=n.getComponent("tooltip"),o=t.get("triggerOn")||a&&a.get("triggerOn")||"mousemove|click";lZ("axisPointer",i,function(s,u,f){o!=="none"&&(s==="leave"||o.indexOf(s)>=0)&&f({type:"updateAxisPointer",currTrigger:s,x:u&&u.offsetX,y:u&&u.offsetY})})},e.prototype.remove=function(t,n){Y2("axisPointer",n)},e.prototype.dispose=function(t,n){Y2("axisPointer",n)},e.type="axisPointer",e}(_r);function uZ(r,e){var t=[],n=r.seriesIndex,i;if(n==null||!(i=e.getSeriesByIndex(n)))return{point:[]};var a=i.getData(),o=kf(a,r);if(o==null||o<0||we(o))return{point:[]};var s=a.getItemGraphicEl(o),u=i.coordinateSystem;if(i.getTooltipPosition)t=i.getTooltipPosition(o)||[];else if(u&&u.dataToPoint)if(r.isStacked){var f=u.getBaseAxis(),h=u.getOtherAxis(f),p=h.dim,g=f.dim,v=p==="x"||p==="radius"?1:0,m=a.mapDimension(g),b=[];b[v]=a.get(m,o),b[1-v]=a.get(a.getCalculationInfo("stackResultDimension"),o),t=u.dataToPoint(b)||[]}else t=u.dataToPoint(a.getValues(Ce(u.dimensions,function(S){return a.mapDimension(S)}),o))||[];else if(s){var _=s.getBoundingRect().clone();_.applyTransform(s.transform),t=[_.x+_.width/2,_.y+_.height/2]}return{point:t,el:s}}var vW=Ot();function owe(r,e,t){var n=r.currTrigger,i=[r.x,r.y],a=r,o=r.dispatchAction||ze(t.dispatchAction,t),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){HC(i)&&(i=uZ({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var u=HC(i),f=a.axesInfo,h=s.axesInfo,p=n==="leave"||HC(i),g={},v={},m={list:[],map:{}},b={showPointer:at(lwe,v),showTooltip:at(uwe,m)};H(s.coordSysMap,function(S,C){var w=u||S.containPoint(i);H(s.coordSysAxesInfo[C],function(k,M){var E=k.axis,I=dwe(f,k);if(!p&&w&&(!f||I)){var O=I&&I.value;O==null&&!u&&(O=E.pointToData(i)),O!=null&&gW(k,O,b,!1,g)}})});var _={};return H(h,function(S,C){var w=S.linkGroup;w&&!v[C]&&H(w.axesInfo,function(k,M){var E=v[M];if(k!==S&&E){var I=E.value;w.mapper&&(I=S.axis.scale.parse(w.mapper(I,mW(k),mW(S)))),_[S.key]=I}})}),H(_,function(S,C){gW(h[C],S,b,!0,g)}),cwe(v,h,g),fwe(m,i,r,o),hwe(h,o,t),g}}function gW(r,e,t,n,i){var a=r.axis;if(!(a.scale.isBlank()||!a.containData(e))){if(!r.involveSeries){t.showPointer(r,e);return}var o=swe(e,r),s=o.payloadBatch,u=o.snapToValue;s[0]&&i.seriesIndex==null&&me(i,s[0]),!n&&r.snap&&a.containData(u)&&u!=null&&(e=u),t.showPointer(r,e,s),t.showTooltip(r,o,u)}}function swe(r,e){var t=e.axis,n=t.dim,i=r,a=[],o=Number.MAX_VALUE,s=-1;return H(e.seriesModels,function(u,f){var h=u.getData().mapDimensionsAll(n),p,g;if(u.getAxisTooltipData){var v=u.getAxisTooltipData(h,r,t);g=v.dataIndices,p=v.nestestValue}else{if(g=u.getData().indicesOfNearest(h[0],r,t.type==="category"?.5:null),!g.length)return;p=u.getData().get(h[0],g[0])}if(!(p==null||!isFinite(p))){var m=r-p,b=Math.abs(m);b<=o&&((b=0&&s<0)&&(o=b,s=m,i=p,a.length=0),H(g,function(_){a.push({seriesIndex:u.seriesIndex,dataIndexInside:_,dataIndex:u.getData().getRawIndex(_)})}))}}),{payloadBatch:a,snapToValue:i}}function lwe(r,e,t,n){r[e.key]={value:t,payloadBatch:n}}function uwe(r,e,t,n){var i=t.payloadBatch,a=e.axis,o=a.model,s=e.axisPointerModel;if(!(!e.triggerTooltip||!i.length)){var u=e.coordSys.model,f=Ny(u),h=r.map[f];h||(h=r.map[f]={coordSysId:u.id,coordSysIndex:u.componentIndex,coordSysType:u.type,coordSysMainType:u.mainType,dataByAxis:[]},r.list.push(h)),h.dataByAxis.push({axisDim:a.dim,axisIndex:o.componentIndex,axisType:o.type,axisId:o.id,value:n,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:i.slice()})}}function cwe(r,e,t){var n=t.axesInfo=[];H(e,function(i,a){var o=i.axisPointerModel.option,s=r[a];s?(!i.useHandle&&(o.status="show"),o.value=s.value,o.seriesDataIndices=(s.payloadBatch||[]).slice()):!i.useHandle&&(o.status="hide"),o.status==="show"&&n.push({axisDim:i.axis.dim,axisIndex:i.axis.model.componentIndex,value:o.value})})}function fwe(r,e,t,n){if(HC(e)||!r.list.length){n({type:"hideTip"});return}var i=((r.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:t.tooltipOption,position:t.position,dataIndexInside:i.dataIndexInside,dataIndex:i.dataIndex,seriesIndex:i.seriesIndex,dataByCoordSys:r.list})}function hwe(r,e,t){var n=t.getZr(),i="axisPointerLastHighlights",a=vW(n)[i]||{},o=vW(n)[i]={};H(r,function(f,h){var p=f.axisPointerModel.option;p.status==="show"&&f.triggerEmphasis&&H(p.seriesDataIndices,function(g){var v=g.seriesIndex+" | "+g.dataIndex;o[v]=g})});var s=[],u=[];H(a,function(f,h){!o[h]&&u.push(f)}),H(o,function(f,h){!a[h]&&s.push(f)}),u.length&&t.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:u}),s.length&&t.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}function dwe(r,e){for(var t=0;t<(r||[]).length;t++){var n=r[t];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}function mW(r){var e=r.axis.model,t={},n=t.axisDim=r.axis.dim;return t.axisIndex=t[n+"AxisIndex"]=e.componentIndex,t.axisName=t[n+"AxisName"]=e.name,t.axisId=t[n+"AxisId"]=e.id,t}function HC(r){return!r||r[0]==null||isNaN(r[0])||r[1]==null||isNaN(r[1])}function x_(r){Gf.registerAxisPointerClass("CartesianAxisPointer",ZSe),r.registerComponentModel(JSe),r.registerComponentView(awe),r.registerPreprocessor(function(e){if(e){(!e.axisPointer||e.axisPointer.length===0)&&(e.axisPointer={});var t=e.axisPointer.link;t&&!we(t)&&(e.axisPointer.link=[t])}}),r.registerProcessor(r.PRIORITY.PROCESSOR.STATISTIC,function(e,t){e.getComponent("axisPointer").coordSysAxesInfo=Sme(e,t)}),r.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},owe)}function pwe(r){vt(FK),vt(x_)}var vwe=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,n,i,a,o){var s=i.axis;s.dim==="angle"&&(this.animationThreshold=Math.PI/18);var u=s.polar,f=u.getOtherAxis(s),h=f.getExtent(),p=s.dataToCoord(n),g=a.get("type");if(g&&g!=="none"){var v=jF(a),m=mwe[g](s,u,p,h);m.style=v,t.graphicKey=m.type,t.pointer=m}var b=a.get(["label","margin"]),_=gwe(n,i,a,u,b);iZ(t,i,a,o,_)},e}(HF);function gwe(r,e,t,n,i){var a=e.axis,o=a.dataToCoord(r),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var u=n.getRadiusAxis().getExtent(),f,h,p;if(a.dim==="radius"){var g=Ji();Bf(g,g,s),Qo(g,g,[n.cx,n.cy]),f=lo([o,-i],g);var v=e.getModel("axisLabel").get("rotate")||0,m=hi.innerTextLayout(s,v*Math.PI/180,-1);h=m.textAlign,p=m.textVerticalAlign}else{var b=u[1];f=n.coordToPoint([b+i,o]);var _=n.cx,S=n.cy;h=Math.abs(f[0]-_)/b<.3?"center":f[0]>_?"left":"right",p=Math.abs(f[1]-S)/b<.3?"middle":f[1]>S?"top":"bottom"}return{position:f,align:h,verticalAlign:p}}var mwe={line:function(r,e,t,n){return r.dim==="angle"?{type:"Line",shape:GF(e.coordToPoint([n[0],t]),e.coordToPoint([n[1],t]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:t}}},shadow:function(r,e,t,n){var i=Math.max(1,r.getBandWidth()),a=Math.PI/180;return r.dim==="angle"?{type:"Sector",shape:fW(e.cx,e.cy,n[0],n[1],(-t-i/2)*a,(-t+i/2)*a)}:{type:"Sector",shape:fW(e.cx,e.cy,t-i/2,t+i/2,0,Math.PI*2)}}},ywe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.findAxisModel=function(t){var n,i=this.ecModel;return i.eachComponent(t,function(a){a.getCoordSysModel()===this&&(n=a)},this),n},e.type="polar",e.dependencies=["radiusAxis","angleAxis"],e.defaultOption={z:0,center:["50%","50%"],radius:"80%"},e}(Ct),UF=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",Hr).models[0]},e.type="polarAxis",e}(Ct);Gr(UF,h_);var _we=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="angleAxis",e}(UF),bwe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="radiusAxis",e}(UF),YF=function(r){ae(e,r);function e(t,n){return r.call(this,"radius",t,n)||this}return e.prototype.pointToData=function(t,n){return this.polar.pointToData(t,n)[this.dim==="radius"?0:1]},e}(vo);YF.prototype.dataToRadius=vo.prototype.dataToCoord;YF.prototype.radiusToData=vo.prototype.coordToData;var xwe=Ot(),qF=function(r){ae(e,r);function e(t,n){return r.call(this,"angle",t,n||[0,360])||this}return e.prototype.pointToData=function(t,n){return this.polar.pointToData(t,n)[this.dim==="radius"?0:1]},e.prototype.calculateCategoryInterval=function(){var t=this,n=t.getLabelModel(),i=t.scale,a=i.getExtent(),o=i.count();if(a[1]-a[0]<1)return 0;var s=a[0],u=t.dataToCoord(s+1)-t.dataToCoord(s),f=Math.abs(u),h=t_(s==null?"":s+"",n.getFont(),"center","top"),p=Math.max(h.height,7),g=p/f;isNaN(g)&&(g=1/0);var v=Math.max(0,Math.floor(g)),m=xwe(t.model),b=m.lastAutoInterval,_=m.lastTickCount;return b!=null&&_!=null&&Math.abs(b-v)<=1&&Math.abs(_-o)<=1&&b>v?v=b:(m.lastTickCount=o,m.lastAutoInterval=v),v},e}(vo);qF.prototype.dataToAngle=vo.prototype.dataToCoord;qF.prototype.angleToData=vo.prototype.coordToData;var cZ=["radius","angle"],Swe=function(){function r(e){this.dimensions=cZ,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new YF,this._angleAxis=new qF,this.axisPointerEnabled=!0,this.name=e||"",this._radiusAxis.polar=this._angleAxis.polar=this}return r.prototype.containPoint=function(e){var t=this.pointToCoord(e);return this._radiusAxis.contain(t[0])&&this._angleAxis.contain(t[1])},r.prototype.containData=function(e){return this._radiusAxis.containData(e[0])&&this._angleAxis.containData(e[1])},r.prototype.getAxis=function(e){var t="_"+e+"Axis";return this[t]},r.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},r.prototype.getAxesByScale=function(e){var t=[],n=this._angleAxis,i=this._radiusAxis;return n.scale.type===e&&t.push(n),i.scale.type===e&&t.push(i),t},r.prototype.getAngleAxis=function(){return this._angleAxis},r.prototype.getRadiusAxis=function(){return this._radiusAxis},r.prototype.getOtherAxis=function(e){var t=this._angleAxis;return e===t?this._radiusAxis:t},r.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},r.prototype.getTooltipAxes=function(e){var t=e!=null&&e!=="auto"?this.getAxis(e):this.getBaseAxis();return{baseAxes:[t],otherAxes:[this.getOtherAxis(t)]}},r.prototype.dataToPoint=function(e,t){return this.coordToPoint([this._radiusAxis.dataToRadius(e[0],t),this._angleAxis.dataToAngle(e[1],t)])},r.prototype.pointToData=function(e,t){var n=this.pointToCoord(e);return[this._radiusAxis.radiusToData(n[0],t),this._angleAxis.angleToData(n[1],t)]},r.prototype.pointToCoord=function(e){var t=e[0]-this.cx,n=e[1]-this.cy,i=this.getAngleAxis(),a=i.getExtent(),o=Math.min(a[0],a[1]),s=Math.max(a[0],a[1]);i.inverse?o=s-360:s=o+360;var u=Math.sqrt(t*t+n*n);t/=u,n/=u;for(var f=Math.atan2(-n,t)/Math.PI*180,h=fs;)f+=h*360;return[u,f]},r.prototype.coordToPoint=function(e){var t=e[0],n=e[1]/180*Math.PI,i=Math.cos(n)*t+this.cx,a=-Math.sin(n)*t+this.cy;return[i,a]},r.prototype.getArea=function(){var e=this.getAngleAxis(),t=this.getRadiusAxis(),n=t.getExtent().slice();n[0]>n[1]&&n.reverse();var i=e.getExtent(),a=Math.PI/180,o=1e-4;return{cx:this.cx,cy:this.cy,r0:n[0],r:n[1],startAngle:-i[0]*a,endAngle:-i[1]*a,clockwise:e.inverse,contain:function(s,u){var f=s-this.cx,h=u-this.cy,p=f*f+h*h,g=this.r,v=this.r0;return g!==v&&p-o<=g*g&&p+o>=v*v}}},r.prototype.convertToPixel=function(e,t,n){var i=yW(t);return i===this?this.dataToPoint(n):null},r.prototype.convertFromPixel=function(e,t,n){var i=yW(t);return i===this?this.pointToData(n):null},r}();function yW(r){var e=r.seriesModel,t=r.polarModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}function wwe(r,e,t){var n=e.get("center"),i=t.getWidth(),a=t.getHeight();r.cx=Oe(n[0],i),r.cy=Oe(n[1],a);var o=r.getRadiusAxis(),s=Math.min(i,a)/2,u=e.get("radius");u==null?u=[0,"100%"]:we(u)||(u=[0,u]);var f=[Oe(u[0],s),Oe(u[1],s)];o.inverse?o.setExtent(f[1],f[0]):o.setExtent(f[0],f[1])}function Cwe(r,e){var t=this,n=t.getAngleAxis(),i=t.getRadiusAxis();if(n.scale.setExtent(1/0,-1/0),i.scale.setExtent(1/0,-1/0),r.eachSeries(function(s){if(s.coordinateSystem===t){var u=s.getData();H(B1(u,"radius"),function(f){i.scale.unionExtentFromData(u,f)}),H(B1(u,"angle"),function(f){n.scale.unionExtentFromData(u,f)})}}),Sp(n.scale,n.model),Sp(i.scale,i.model),n.type==="category"&&!n.onBand){var a=n.getExtent(),o=360/n.scale.count();n.inverse?a[1]+=o:a[1]-=o,n.setExtent(a[0],a[1])}}function Twe(r){return r.mainType==="angleAxis"}function _W(r,e){var t;if(r.type=e.get("type"),r.scale=JT(e),r.onBand=e.get("boundaryGap")&&r.type==="category",r.inverse=e.get("inverse"),Twe(e)){r.inverse=r.inverse!==e.get("clockwise");var n=e.get("startAngle"),i=(t=e.get("endAngle"))!==null&&t!==void 0?t:n+(r.inverse?-360:360);r.setExtent(n,i)}e.axis=r,r.model=e}var Dwe={dimensions:cZ,create:function(r,e){var t=[];return r.eachComponent("polar",function(n,i){var a=new Swe(i+"");a.update=Cwe;var o=a.getRadiusAxis(),s=a.getAngleAxis(),u=n.findAxisModel("radiusAxis"),f=n.findAxisModel("angleAxis");_W(o,u),_W(s,f),wwe(a,n,e),t.push(a),n.coordinateSystem=a,a.model=n}),r.eachSeries(function(n){if(n.get("coordinateSystem")==="polar"){var i=n.getReferringComponents("polar",Hr).models[0];n.coordinateSystem=i.coordinateSystem}}),t}},kwe=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function Nw(r,e,t){e[1]>e[0]&&(e=e.slice().reverse());var n=r.coordToPoint([e[0],t]),i=r.coordToPoint([e[1],t]);return{x1:n[0],y1:n[1],x2:i[0],y2:i[1]}}function Fw(r){var e=r.getRadiusAxis();return e.inverse?0:1}function bW(r){var e=r[0],t=r[r.length-1];e&&t&&Math.abs(Math.abs(e.coord-t.coord)-360)<1e-4&&r.pop()}var Mwe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="PolarAxisPointer",t}return e.prototype.render=function(t,n){if(this.group.removeAll(),!!t.get("show")){var i=t.axis,a=i.polar,o=a.getRadiusAxis().getExtent(),s=i.getTicksCoords(),u=i.getMinorTicksCoords(),f=Ce(i.getViewLabels(),function(h){h=et(h);var p=i.scale,g=p.type==="ordinal"?p.getRawOrdinalNumber(h.tickValue):h.tickValue;return h.coord=i.dataToCoord(g),h});bW(f),bW(s),H(kwe,function(h){t.get([h,"show"])&&(!i.scale.isBlank()||h==="axisLine")&&Awe[h](this.group,t,a,s,u,o,f)},this)}},e.type="angleAxis",e}(Gf),Awe={axisLine:function(r,e,t,n,i,a){var o=e.getModel(["axisLine","lineStyle"]),s=t.getAngleAxis(),u=Math.PI/180,f=s.getExtent(),h=Fw(t),p=h?0:1,g,v=Math.abs(f[1]-f[0])===360?"Circle":"Arc";a[p]===0?g=new Vf[v]({shape:{cx:t.cx,cy:t.cy,r:a[h],startAngle:-f[0]*u,endAngle:-f[1]*u,clockwise:s.inverse},style:o.getLineStyle(),z2:1,silent:!0}):g=new i_({shape:{cx:t.cx,cy:t.cy,r:a[h],r0:a[p]},style:o.getLineStyle(),z2:1,silent:!0}),g.style.fill=null,r.add(g)},axisTick:function(r,e,t,n,i,a){var o=e.getModel("axisTick"),s=(o.get("inside")?-1:1)*o.get("length"),u=a[Fw(t)],f=Ce(n,function(h){return new un({shape:Nw(t,[u,u+s],h.coord)})});r.add(Aa(f,{style:Qe(o.getModel("lineStyle").getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])})}))},minorTick:function(r,e,t,n,i,a){if(i.length){for(var o=e.getModel("axisTick"),s=e.getModel("minorTick"),u=(o.get("inside")?-1:1)*s.get("length"),f=a[Fw(t)],h=[],p=0;pS?"left":"right",k=Math.abs(_[1]-C)/b<.3?"middle":_[1]>C?"top":"bottom";if(s&&s[m]){var M=s[m];Je(M)&&M.textStyle&&(v=new qt(M.textStyle,u,u.ecModel))}var E=new Rt({silent:hi.isLabelSilent(e),style:sr(v,{x:_[0],y:_[1],fill:v.getTextColor()||e.get(["axisLine","lineStyle","color"]),text:p.formattedLabel,align:w,verticalAlign:k})});if(r.add(E),h){var I=hi.makeAxisEventDataBase(e);I.targetType="axisLabel",I.value=p.rawLabel,nt(E).eventData=I}},this)},splitLine:function(r,e,t,n,i,a){var o=e.getModel("splitLine"),s=o.getModel("lineStyle"),u=s.get("color"),f=0;u=u instanceof Array?u:[u];for(var h=[],p=0;p=0?"p":"n",U=R;M&&(n[h][B]||(n[h][B]={p:R,n:R}),U=n[h][B][j]);var X=void 0,ee=void 0,Z=void 0,re=void 0;if(m.dim==="radius"){var de=m.dataToCoord(z)-R,ve=u.dataToCoord(B);Math.abs(de)=re})}}})}function Nwe(r){var e={};H(r,function(n,i){var a=n.getData(),o=n.coordinateSystem,s=o.getBaseAxis(),u=hZ(o,s),f=s.getExtent(),h=s.type==="category"?s.getBandWidth():Math.abs(f[1]-f[0])/a.count(),p=e[u]||{bandWidth:h,remainedWidth:h,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},g=p.stacks;e[u]=p;var v=fZ(n);g[v]||p.autoWidthCount++,g[v]=g[v]||{width:0,maxWidth:0};var m=Oe(n.get("barWidth"),h),b=Oe(n.get("barMaxWidth"),h),_=n.get("barGap"),S=n.get("barCategoryGap");m&&!g[v].width&&(m=Math.min(p.remainedWidth,m),g[v].width=m,p.remainedWidth-=m),b&&(g[v].maxWidth=b),_!=null&&(p.gap=_),S!=null&&(p.categoryGap=S)});var t={};return H(e,function(n,i){t[i]={};var a=n.stacks,o=n.bandWidth,s=Oe(n.categoryGap,o),u=Oe(n.gap,1),f=n.remainedWidth,h=n.autoWidthCount,p=(f-s)/(h+(h-1)*u);p=Math.max(p,0),H(a,function(b,_){var S=b.maxWidth;S&&S=t.y&&e[1]<=t.y+t.height:n.contain(n.toLocalCoord(e[1]))&&e[0]>=t.y&&e[0]<=t.y+t.height},r.prototype.pointToData=function(e){var t=this.getAxis();return[t.coordToData(t.toLocalCoord(e[t.orient==="horizontal"?0:1]))]},r.prototype.dataToPoint=function(e){var t=this.getAxis(),n=this.getRect(),i=[],a=t.orient==="horizontal"?0:1;return e instanceof Array&&(e=e[0]),i[a]=t.toGlobalCoord(t.dataToCoord(+e)),i[1-a]=a===0?n.y+n.height/2:n.x+n.width/2,i},r.prototype.convertToPixel=function(e,t,n){var i=xW(t);return i===this?this.dataToPoint(n):null},r.prototype.convertFromPixel=function(e,t,n){var i=xW(t);return i===this?this.pointToData(n):null},r}();function xW(r){var e=r.seriesModel,t=r.singleAxisModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}function Ywe(r,e){var t=[];return r.eachComponent("singleAxis",function(n,i){var a=new Uwe(n,r,e);a.name="single_"+i,a.resize(n,e),n.coordinateSystem=a,t.push(a)}),r.eachSeries(function(n){if(n.get("coordinateSystem")==="singleAxis"){var i=n.getReferringComponents("singleAxis",Hr).models[0];n.coordinateSystem=i&&i.coordinateSystem}}),t}var qwe={create:Ywe,dimensions:dZ},SW=["x","y"],Kwe=["width","height"],Xwe=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,n,i,a,o){var s=i.axis,u=s.coordinateSystem,f=FP(u,1-J1(s)),h=u.dataToPoint(n)[0],p=a.get("type");if(p&&p!=="none"){var g=jF(a),v=Zwe[p](s,h,f);v.style=g,t.graphicKey=v.type,t.pointer=v}var m=q2(i);oZ(n,t,m,i,a,o)},e.prototype.getHandleTransform=function(t,n,i){var a=q2(n,{labelInside:!1});a.labelMargin=i.get(["handle","margin"]);var o=WF(n.axis,t,a);return{x:o[0],y:o[1],rotation:a.rotation+(a.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,n,i,a){var o=i.axis,s=o.coordinateSystem,u=J1(o),f=FP(s,u),h=[t.x,t.y];h[u]+=n[u],h[u]=Math.min(f[1],h[u]),h[u]=Math.max(f[0],h[u]);var p=FP(s,1-u),g=(p[1]+p[0])/2,v=[g,g];return v[u]=h[u],{x:h[0],y:h[1],rotation:t.rotation,cursorPoint:v,tooltipOption:{verticalAlign:"middle"}}},e}(HF),Zwe={line:function(r,e,t){var n=GF([e,t[0]],[e,t[1]],J1(r));return{type:"Line",subPixelOptimize:!0,shape:n}},shadow:function(r,e,t){var n=r.getBandWidth(),i=t[1]-t[0];return{type:"Rect",shape:sZ([e-n/2,t[0]],[n,i],J1(r))}}};function J1(r){return r.isHorizontal()?0:1}function FP(r,e){var t=r.getRect();return[t[SW[e]],t[SW[e]]+t[Kwe[e]]]}var Qwe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="single",e}(_r);function Jwe(r){vt(x_),Gf.registerAxisPointerClass("SingleAxisPointer",Xwe),r.registerComponentView(Qwe),r.registerComponentView(jwe),r.registerComponentModel(jC),Cp(r,"single",jC,jC.defaultOption),r.registerCoordinateSystem("single",qwe)}var eCe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,n,i){var a=jp(t);r.prototype.init.apply(this,arguments),wW(t,a)},e.prototype.mergeOption=function(t){r.prototype.mergeOption.apply(this,arguments),wW(this.option,t)},e.prototype.getCellSize=function(){return this.option.cellSize},e.type="calendar",e.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},e}(Ct);function wW(r,e){var t=r.cellSize,n;we(t)?n=t:n=r.cellSize=[t,t],n.length===1&&(n[1]=n[0]);var i=Ce([0,1],function(a){return _fe(e,a)&&(n[a]="auto"),n[a]!=null&&n[a]!=="auto"});du(r,e,{type:"box",ignoreSize:i})}var tCe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,n,i){var a=this.group;a.removeAll();var o=t.coordinateSystem,s=o.getRangeInfo(),u=o.getOrient(),f=n.getLocaleModel();this._renderDayRect(t,s,a),this._renderLines(t,s,u,a),this._renderYearText(t,s,u,a),this._renderMonthText(t,f,u,a),this._renderWeekText(t,f,s,u,a)},e.prototype._renderDayRect=function(t,n,i){for(var a=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),s=a.getCellWidth(),u=a.getCellHeight(),f=n.start.time;f<=n.end.time;f=a.getNextNDay(f,1).time){var h=a.dataToRect([f],!1).tl,p=new Pt({shape:{x:h[0],y:h[1],width:s,height:u},cursor:"default",style:o});i.add(p)}},e.prototype._renderLines=function(t,n,i,a){var o=this,s=t.coordinateSystem,u=t.getModel(["splitLine","lineStyle"]).getLineStyle(),f=t.get(["splitLine","show"]),h=u.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var p=n.start,g=0;p.time<=n.end.time;g++){m(p.formatedDate),g===0&&(p=s.getDateInfo(n.start.y+"-"+n.start.m));var v=p.date;v.setMonth(v.getMonth()+1),p=s.getDateInfo(v)}m(s.getNextNDay(n.end.time,1).formatedDate);function m(b){o._firstDayOfMonth.push(s.getDateInfo(b)),o._firstDayPoints.push(s.dataToRect([b],!1).tl);var _=o._getLinePointsOfOneWeek(t,b,i);o._tlpoints.push(_[0]),o._blpoints.push(_[_.length-1]),f&&o._drawSplitline(_,u,a)}f&&this._drawSplitline(o._getEdgesPoints(o._tlpoints,h,i),u,a),f&&this._drawSplitline(o._getEdgesPoints(o._blpoints,h,i),u,a)},e.prototype._getEdgesPoints=function(t,n,i){var a=[t[0].slice(),t[t.length-1].slice()],o=i==="horizontal"?0:1;return a[0][o]=a[0][o]-n/2,a[1][o]=a[1][o]+n/2,a},e.prototype._drawSplitline=function(t,n,i){var a=new yi({z2:20,shape:{points:t},style:n});i.add(a)},e.prototype._getLinePointsOfOneWeek=function(t,n,i){for(var a=t.coordinateSystem,o=a.getDateInfo(n),s=[],u=0;u<7;u++){var f=a.getNextNDay(o.time,u),h=a.dataToRect([f.time],!1);s[2*f.day]=h.tl,s[2*f.day+1]=h[i==="horizontal"?"bl":"tr"]}return s},e.prototype._formatterLabel=function(t,n){return Be(t)&&t?gfe(t,n):Ke(t)?t(n):n.nameMap},e.prototype._yearTextPositionControl=function(t,n,i,a,o){var s=n[0],u=n[1],f=["center","bottom"];a==="bottom"?(u+=o,f=["center","top"]):a==="left"?s-=o:a==="right"?(s+=o,f=["center","top"]):u-=o;var h=0;return(a==="left"||a==="right")&&(h=Math.PI/2),{rotation:h,x:s,y:u,style:{align:f[0],verticalAlign:f[1]}}},e.prototype._renderYearText=function(t,n,i,a){var o=t.getModel("yearLabel");if(o.get("show")){var s=o.get("margin"),u=o.get("position");u||(u=i!=="horizontal"?"top":"left");var f=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],h=(f[0][0]+f[1][0])/2,p=(f[0][1]+f[1][1])/2,g=i==="horizontal"?0:1,v={top:[h,f[g][1]],bottom:[h,f[1-g][1]],left:[f[1-g][0],p],right:[f[g][0],p]},m=n.start.y;+n.end.y>+n.start.y&&(m=m+"-"+n.end.y);var b=o.get("formatter"),_={start:n.start.y,end:n.end.y,nameMap:m},S=this._formatterLabel(b,_),C=new Rt({z2:30,style:sr(o,{text:S}),silent:o.get("silent")});C.attr(this._yearTextPositionControl(C,v[u],i,u,s)),a.add(C)}},e.prototype._monthTextPositionControl=function(t,n,i,a,o){var s="left",u="top",f=t[0],h=t[1];return i==="horizontal"?(h=h+o,n&&(s="center"),a==="start"&&(u="bottom")):(f=f+o,n&&(u="middle"),a==="start"&&(s="right")),{x:f,y:h,align:s,verticalAlign:u}},e.prototype._renderMonthText=function(t,n,i,a){var o=t.getModel("monthLabel");if(o.get("show")){var s=o.get("nameMap"),u=o.get("margin"),f=o.get("position"),h=o.get("align"),p=[this._tlpoints,this._blpoints];(!s||Be(s))&&(s&&(n=r2(s)||n),s=n.get(["time","monthAbbr"])||[]);var g=f==="start"?0:1,v=i==="horizontal"?0:1;u=f==="start"?-u:u;for(var m=h==="center",b=o.get("silent"),_=0;_=i.start.time&&n.times.end.time&&t.reverse(),t},r.prototype._getRangeInfo=function(e){var t=[this.getDateInfo(e[0]),this.getDateInfo(e[1])],n;t[0].time>t[1].time&&(n=!0,t.reverse());var i=Math.floor(t[1].time/$P)-Math.floor(t[0].time/$P)+1,a=new Date(t[0].time),o=a.getDate(),s=t[1].date.getDate();a.setDate(o+i-1);var u=a.getDate();if(u!==s)for(var f=a.getTime()-t[1].time>0?1:-1;(u=a.getDate())!==s&&(a.getTime()-t[1].time)*f>0;)i-=f,a.setDate(u-f);var h=Math.floor((i+t[0].day+6)/7),p=n?-h+1:h-1;return n&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:i,weeks:h,nthWeek:p,fweek:t[0].day,lweek:t[1].day}},r.prototype._getDateByWeeksAndDay=function(e,t,n){var i=this._getRangeInfo(n);if(e>i.weeks||e===0&&ti.lweek)return null;var a=(e-1)*7-i.fweek+t,o=new Date(i.start.time);return o.setDate(+i.start.d+a),this.getDateInfo(o)},r.create=function(e,t){var n=[];return e.eachComponent("calendar",function(i){var a=new r(i);n.push(a),i.coordinateSystem=a}),e.eachSeries(function(i){i.get("coordinateSystem")==="calendar"&&(i.coordinateSystem=n[i.get("calendarIndex")||0])}),n},r.dimensions=["time","value"],r}();function CW(r){var e=r.calendarModel,t=r.seriesModel,n=e?e.coordinateSystem:t?t.coordinateSystem:null;return n}function nCe(r){r.registerComponentModel(eCe),r.registerComponentView(tCe),r.registerCoordinateSystem("calendar",rCe)}function iCe(r,e){var t=r.existing;if(e.id=r.keyInfo.id,!e.type&&t&&(e.type=t.type),e.parentId==null){var n=e.parentOption;n?e.parentId=n.id:t&&(e.parentId=t.parentId)}e.parentOption=null}function TW(r,e){var t;return H(e,function(n){r[n]!=null&&r[n]!=="auto"&&(t=!0)}),t}function aCe(r,e,t){var n=me({},t),i=r[e],a=t.$action||"merge";a==="merge"?i?(ot(i,n,!0),du(i,n,{ignoreSize:!0}),aY(t,i),$w(t,i),$w(t,i,"shape"),$w(t,i,"style"),$w(t,i,"extra"),t.clipPath=i.clipPath):r[e]=n:a==="replace"?r[e]=n:a==="remove"&&i&&(r[e]=null)}var pZ=["transition","enterFrom","leaveTo"],oCe=pZ.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function $w(r,e,t){if(t&&(!r[t]&&e[t]&&(r[t]={}),r=r[t],e=e[t]),!(!r||!e))for(var n=t?pZ:oCe,i=0;i=0;h--){var p=i[h],g=tn(p.id,null),v=g!=null?o.get(g):null;if(v){var m=v.parent,S=Da(m),C=m===a?{width:s,height:u}:{width:S.width,height:S.height},w={},k=WT(v,p,C,null,{hv:p.hv,boundingMode:p.bounding},w);if(!Da(v).isNew&&k){for(var M=p.transition,E={},I=0;I=0)?E[O]=R:v[O]=R}Bt(v,E,t,0)}else v.attr(w)}}},e.prototype._clear=function(){var t=this,n=this._elMap;n.each(function(i){WC(i,Da(i).option,n,t._lastGraphicModel)}),this._elMap=Ge()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(_r);function K2(r){var e=He(DW,r)?DW[r]:DN(r),t=new e({});return Da(t).type=r,t}function kW(r,e,t,n){var i=K2(t);return e.add(i),n.set(r,i),Da(i).id=r,Da(i).isNew=!0,i}function WC(r,e,t,n){var i=r&&r.parent;i&&(r.type==="group"&&r.traverse(function(a){WC(a,e,t,n)}),oD(r,e,n),t.removeKey(Da(r).id))}function MW(r,e,t,n){r.isGroup||H([["cursor",Ra.prototype.cursor],["zlevel",n||0],["z",t||0],["z2",0]],function(i){var a=i[0];He(e,a)?r[a]=it(e[a],i[1]):r[a]==null&&(r[a]=i[1])}),H(Tt(e),function(i){if(i.indexOf("on")===0){var a=e[i];r[i]=Ke(a)?a:null}}),He(e,"draggable")&&(r.draggable=e.draggable),e.name!=null&&(r.name=e.name),e.id!=null&&(r.id=e.id)}function cCe(r){return r=me({},r),H(["id","parentId","$action","hv","bounding","textContent","clipPath"].concat(iY),function(e){delete r[e]}),r}function fCe(r,e,t){var n=nt(r).eventData;!r.silent&&!r.ignore&&!n&&(n=nt(r).eventData={componentType:"graphic",componentIndex:e.componentIndex,name:r.name}),n&&(n.info=t.info)}function hCe(r){r.registerComponentModel(lCe),r.registerComponentView(uCe),r.registerPreprocessor(function(e){var t=e.graphic;we(t)?!t[0]||!t[0].elements?e.graphic=[{elements:t}]:e.graphic=[e.graphic[0]]:t&&!t.elements&&(e.graphic=[{elements:[t]}])})}var AW=["x","y","radius","angle","single"],dCe=["cartesian2d","polar","singleAxis"];function pCe(r){var e=r.get("coordinateSystem");return dt(dCe,e)>=0}function Kl(r){return r+"Axis"}function vCe(r,e){var t=Ge(),n=[],i=Ge();r.eachComponent({mainType:"dataZoom",query:e},function(h){i.get(h.uid)||s(h)});var a;do a=!1,r.eachComponent("dataZoom",o);while(a);function o(h){!i.get(h.uid)&&u(h)&&(s(h),a=!0)}function s(h){i.set(h.uid,!0),n.push(h),f(h)}function u(h){var p=!1;return h.eachTargetAxis(function(g,v){var m=t.get(g);m&&m[v]&&(p=!0)}),p}function f(h){h.eachTargetAxis(function(p,g){(t.get(p)||t.set(p,[]))[g]=!0})}return n}function vZ(r){var e=r.ecModel,t={infoList:[],infoMap:Ge()};return r.eachTargetAxis(function(n,i){var a=e.getComponent(Kl(n),i);if(a){var o=a.getCoordSysModel();if(o){var s=o.uid,u=t.infoMap.get(s);u||(u={model:o,axisModels:[]},t.infoList.push(u),t.infoMap.set(s,u)),u.axisModels.push(a)}}}),t}var BP=function(){function r(){this.indexList=[],this.indexMap=[]}return r.prototype.add=function(e){this.indexMap[e]||(this.indexList.push(e),this.indexMap[e]=!0)},r}(),Hy=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._autoThrottle=!0,t._noTarget=!0,t._rangePropMode=["percent","percent"],t}return e.prototype.init=function(t,n,i){var a=EW(t);this.settledOption=a,this.mergeDefaultAndTheme(t,i),this._doInit(a)},e.prototype.mergeOption=function(t){var n=EW(t);ot(this.option,t,!0),ot(this.settledOption,n,!0),this._doInit(n)},e.prototype._doInit=function(t){var n=this.option;this._setDefaultThrottle(t),this._updateRangeUse(t);var i=this.settledOption;H([["start","startValue"],["end","endValue"]],function(a,o){this._rangePropMode[o]==="value"&&(n[a[0]]=i[a[0]]=null)},this),this._resetTarget()},e.prototype._resetTarget=function(){var t=this.get("orient",!0),n=this._targetAxisInfoMap=Ge(),i=this._fillSpecifiedTargetAxis(n);i?this._orient=t||this._makeAutoOrientByTargetAxis():(this._orient=t||"horizontal",this._fillAutoTargetAxisByOrient(n,this._orient)),this._noTarget=!0,n.each(function(a){a.indexList.length&&(this._noTarget=!1)},this)},e.prototype._fillSpecifiedTargetAxis=function(t){var n=!1;return H(AW,function(i){var a=this.getReferringComponents(Kl(i),aue);if(a.specified){n=!0;var o=new BP;H(a.models,function(s){o.add(s.componentIndex)}),t.set(i,o)}},this),n},e.prototype._fillAutoTargetAxisByOrient=function(t,n){var i=this.ecModel,a=!0;if(a){var o=n==="vertical"?"y":"x",s=i.findComponents({mainType:o+"Axis"});u(s,o)}if(a){var s=i.findComponents({mainType:"singleAxis",filter:function(h){return h.get("orient",!0)===n}});u(s,"single")}function u(f,h){var p=f[0];if(p){var g=new BP;if(g.add(p.componentIndex),t.set(h,g),a=!1,h==="x"||h==="y"){var v=p.getReferringComponents("grid",Hr).models[0];v&&H(f,function(m){p.componentIndex!==m.componentIndex&&v===m.getReferringComponents("grid",Hr).models[0]&&g.add(m.componentIndex)})}}}a&&H(AW,function(f){if(a){var h=i.findComponents({mainType:Kl(f),filter:function(g){return g.get("type",!0)==="category"}});if(h[0]){var p=new BP;p.add(h[0].componentIndex),t.set(f,p),a=!1}}},this)},e.prototype._makeAutoOrientByTargetAxis=function(){var t;return this.eachTargetAxis(function(n){!t&&(t=n)},this),t==="y"?"vertical":"horizontal"},e.prototype._setDefaultThrottle=function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var n=this.ecModel.option;this.option.throttle=n.animation&&n.animationDurationUpdate>0?100:20}},e.prototype._updateRangeUse=function(t){var n=this._rangePropMode,i=this.get("rangeMode");H([["start","startValue"],["end","endValue"]],function(a,o){var s=t[a[0]]!=null,u=t[a[1]]!=null;s&&!u?n[o]="percent":!s&&u?n[o]="value":i?n[o]=i[o]:s&&(n[o]="percent")})},e.prototype.noTarget=function(){return this._noTarget},e.prototype.getFirstTargetAxisModel=function(){var t;return this.eachTargetAxis(function(n,i){t==null&&(t=this.ecModel.getComponent(Kl(n),i))},this),t},e.prototype.eachTargetAxis=function(t,n){this._targetAxisInfoMap.each(function(i,a){H(i.indexList,function(o){t.call(n,a,o)})})},e.prototype.getAxisProxy=function(t,n){var i=this.getAxisModel(t,n);if(i)return i.__dzAxisProxy},e.prototype.getAxisModel=function(t,n){var i=this._targetAxisInfoMap.get(t);if(i&&i.indexMap[n])return this.ecModel.getComponent(Kl(t),n)},e.prototype.setRawRange=function(t){var n=this.option,i=this.settledOption;H([["start","startValue"],["end","endValue"]],function(a){(t[a[0]]!=null||t[a[1]]!=null)&&(n[a[0]]=i[a[0]]=t[a[0]],n[a[1]]=i[a[1]]=t[a[1]])},this),this._updateRangeUse(t)},e.prototype.setCalculatedRange=function(t){var n=this.option;H(["start","startValue","end","endValue"],function(i){n[i]=t[i]})},e.prototype.getPercentRange=function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},e.prototype.getValueRange=function(t,n){if(t==null&&n==null){var i=this.findRepresentativeAxisProxy();if(i)return i.getDataValueWindow()}else return this.getAxisProxy(t,n).getDataValueWindow()},e.prototype.findRepresentativeAxisProxy=function(t){if(t)return t.__dzAxisProxy;for(var n,i=this._targetAxisInfoMap.keys(),a=0;ao[1];if(w&&!k&&!M)return!0;w&&(_=!0),k&&(m=!0),M&&(b=!0)}return _&&m&&b})}else Jd(h,function(v){if(a==="empty")u.setData(f=f.map(v,function(b){return s(b)?b:NaN}));else{var m={};m[v]=o,f.selectRange(m)}});Jd(h,function(v){f.setApproximateExtent(o,v)})}});function s(u){return u>=o[0]&&u<=o[1]}},r.prototype._updateMinMaxSpan=function(){var e=this._minMaxSpan={},t=this._dataZoomModel,n=this._dataExtent;Jd(["min","max"],function(i){var a=t.get(i+"Span"),o=t.get(i+"ValueSpan");o!=null&&(o=this.getAxisModel().axis.scale.parse(o)),o!=null?a=Ut(n[0]+o,n,[0,100],!0):a!=null&&(o=Ut(a,[0,100],n,!0)-n[0]),e[i+"Span"]=a,e[i+"ValueSpan"]=o},this)},r.prototype._setAxisModel=function(){var e=this.getAxisModel(),t=this._percentWindow,n=this._valueWindow;if(t){var i=Y7(n,[0,500]);i=Math.min(i,20);var a=e.axis.scale.rawExtentInfo;t[0]!==0&&a.setDeterminedMinMax("min",+n[0].toFixed(i)),t[1]!==100&&a.setDeterminedMinMax("max",+n[1].toFixed(i)),a.freeze()}},r}();function _Ce(r,e,t){var n=[1/0,-1/0];Jd(t,function(o){Zpe(n,o.getData(),e)});var i=r.getAxisModel(),a=Lq(i.axis.scale,i,n).calculate();return[a.min,a.max]}var bCe={getTargetSeries:function(r){function e(i){r.eachComponent("dataZoom",function(a){a.eachTargetAxis(function(o,s){var u=r.getComponent(Kl(o),s);i(o,s,u,a)})})}e(function(i,a,o,s){o.__dzAxisProxy=null});var t=[];e(function(i,a,o,s){o.__dzAxisProxy||(o.__dzAxisProxy=new yCe(i,a,s,r),t.push(o.__dzAxisProxy))});var n=Ge();return H(t,function(i){H(i.getTargetSeriesModels(),function(a){n.set(a.uid,a)})}),n},overallReset:function(r,e){r.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(n,i){t.getAxisProxy(n,i).reset(t)}),t.eachTargetAxis(function(n,i){t.getAxisProxy(n,i).filterData(t,e)})}),r.eachComponent("dataZoom",function(t){var n=t.findRepresentativeAxisProxy();if(n){var i=n.getDataPercentWindow(),a=n.getDataValueWindow();t.setCalculatedRange({start:i[0],end:i[1],startValue:a[0],endValue:a[1]})}})}};function xCe(r){r.registerAction("dataZoom",function(e,t){var n=vCe(t,e);H(n,function(i){i.setRawRange({start:e.start,end:e.end,startValue:e.startValue,endValue:e.endValue})})})}var PW=!1;function XF(r){PW||(PW=!0,r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER,bCe),xCe(r),r.registerSubTypeDefaulter("dataZoom",function(){return"slider"}))}function SCe(r){r.registerComponentModel(gCe),r.registerComponentView(mCe),XF(r)}var Ma=function(){function r(){}return r}(),gZ={};function ep(r,e){gZ[r]=e}function mZ(r){return gZ[r]}var wCe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){r.prototype.optionUpdated.apply(this,arguments);var t=this.ecModel;H(this.option.feature,function(n,i){var a=mZ(i);a&&(a.getDefaultOption&&(a.defaultOption=a.getDefaultOption(t)),ot(n,a.defaultOption))})},e.type="toolbox",e.layoutMode={type:"box",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},e}(Ct);function CCe(r,e,t){var n=e.getBoxLayoutParams(),i=e.get("padding"),a={width:t.getWidth(),height:t.getHeight()},o=rn(n,a,i);yf(e.get("orient"),r,e.get("itemGap"),o.width,o.height),WT(r,n,a,i)}function yZ(r,e){var t=Hp(e.get("padding")),n=e.getItemStyle(["color","opacity"]);return n.fill=e.get("backgroundColor"),r=new Pt({shape:{x:r.x-t[3],y:r.y-t[0],width:r.width+t[1]+t[3],height:r.height+t[0]+t[2],r:e.get("borderRadius")},style:n,silent:!0,z2:-1}),r}var TCe=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n,i,a){var o=this.group;if(o.removeAll(),!t.get("show"))return;var s=+t.get("itemSize"),u=t.get("orient")==="vertical",f=t.get("feature")||{},h=this._features||(this._features={}),p=[];H(f,function(m,b){p.push(b)}),new Hs(this._featureNames||[],p).add(g).update(g).remove(at(g,null)).execute(),this._featureNames=p;function g(m,b){var _=p[m],S=p[b],C=f[_],w=new qt(C,t,t.ecModel),k;if(a&&a.newTitle!=null&&a.featureName===_&&(C.title=a.newTitle),_&&!S){if(DCe(_))k={onclick:w.option.onclick,featureName:_};else{var M=mZ(_);if(!M)return;k=new M}h[_]=k}else if(k=h[S],!k)return;k.uid=Vp("toolbox-feature"),k.model=w,k.ecModel=n,k.api=i;var E=k instanceof Ma;if(!_&&S){E&&k.dispose&&k.dispose(n,i);return}if(!w.get("show")||E&&k.unusable){E&&k.remove&&k.remove(n,i);return}v(w,k,_),w.setIconStatus=function(I,O){var R=this.option,$=this.iconPaths;R.iconStatus=R.iconStatus||{},R.iconStatus[I]=O,$[I]&&(O==="emphasis"?zs:Vs)($[I])},k instanceof Ma&&k.render&&k.render(w,n,i,a)}function v(m,b,_){var S=m.getModel("iconStyle"),C=m.getModel(["emphasis","iconStyle"]),w=b instanceof Ma&&b.getIcons?b.getIcons():m.get("icon"),k=m.get("title")||{},M,E;Be(w)?(M={},M[_]=w):M=w,Be(k)?(E={},E[_]=k):E=k;var I=m.iconPaths={};H(M,function(O,R){var $=l_(O,{},{x:-s/2,y:-s/2,width:s,height:s});$.setStyle(S.getItemStyle());var V=$.ensureState("emphasis");V.style=C.getItemStyle();var z=new Rt({style:{text:E[R],align:C.get("textAlign"),borderRadius:C.get("textBorderRadius"),padding:C.get("textPadding"),fill:null,font:kN({fontStyle:C.get("textFontStyle"),fontFamily:C.get("textFontFamily"),fontSize:C.get("textFontSize"),fontWeight:C.get("textFontWeight")},n)},ignore:!0});$.setTextContent(z),zf({el:$,componentModel:t,itemName:R,formatterParamsExtra:{title:E[R]}}),$.__title=E[R],$.on("mouseover",function(){var B=C.getItemStyle(),j=u?t.get("right")==null&&t.get("left")!=="right"?"right":"left":t.get("bottom")==null&&t.get("top")!=="bottom"?"bottom":"top";z.setStyle({fill:C.get("textFill")||B.fill||B.stroke||"#000",backgroundColor:C.get("textBackgroundColor")}),$.setTextConfig({position:C.get("textPosition")||j}),z.ignore=!t.get("showTitle"),i.enterEmphasis(this)}).on("mouseout",function(){m.get(["iconStatus",R])!=="emphasis"&&i.leaveEmphasis(this),z.hide()}),(m.get(["iconStatus",R])==="emphasis"?zs:Vs)($),o.add($),$.on("click",ze(b.onclick,b,n,i,R)),I[R]=$})}CCe(o,t,i),o.add(yZ(o.getBoundingRect(),t)),u||o.eachChild(function(m){var b=m.__title,_=m.ensureState("emphasis"),S=_.textConfig||(_.textConfig={}),C=m.getTextContent(),w=C&&C.ensureState("emphasis");if(w&&!Ke(w)&&b){var k=w.style||(w.style={}),M=t_(b,Rt.makeFont(k)),E=m.x+o.x,I=m.y+o.y+s,O=!1;I+M.height>i.getHeight()&&(S.position="top",O=!0);var R=O?-5-M.height:s+10;E+M.width/2>i.getWidth()?(S.position=["100%",R],k.align="right"):E-M.width/2<0&&(S.position=[0,R],k.align="left")}})},e.prototype.updateView=function(t,n,i,a){H(this._features,function(o){o instanceof Ma&&o.updateView&&o.updateView(o.model,n,i,a)})},e.prototype.remove=function(t,n){H(this._features,function(i){i instanceof Ma&&i.remove&&i.remove(t,n)}),this.group.removeAll()},e.prototype.dispose=function(t,n){H(this._features,function(i){i instanceof Ma&&i.dispose&&i.dispose(t,n)})},e.type="toolbox",e}(_r);function DCe(r){return r.indexOf("my")===0}var kCe=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.onclick=function(t,n){var i=this.model,a=i.get("name")||t.get("title.0.text")||"echarts",o=n.getZr().painter.getType()==="svg",s=o?"svg":i.get("type",!0)||"png",u=n.getConnectedDataURL({type:s,backgroundColor:i.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:i.get("connectedBackgroundColor"),excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")}),f=yt.browser;if(typeof MouseEvent=="function"&&(f.newEdge||!f.ie&&!f.edge)){var h=document.createElement("a");h.download=a+"."+s,h.target="_blank",h.href=u;var p=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});h.dispatchEvent(p)}else if(window.navigator.msSaveOrOpenBlob||o){var g=u.split(","),v=g[0].indexOf("base64")>-1,m=o?decodeURIComponent(g[1]):g[1];v&&(m=window.atob(m));var b=a+"."+s;if(window.navigator.msSaveOrOpenBlob){for(var _=m.length,S=new Uint8Array(_);_--;)S[_]=m.charCodeAt(_);var C=new Blob([S]);window.navigator.msSaveOrOpenBlob(C,b)}else{var w=document.createElement("iframe");document.body.appendChild(w);var k=w.contentWindow,M=k.document;M.open("image/svg+xml","replace"),M.write(m),M.close(),k.focus(),M.execCommand("SaveAs",!0,b),document.body.removeChild(w)}}else{var E=i.get("lang"),I='',O=window.open();O.document.write(I),O.document.title=a}},e.getDefaultOption=function(t){var n={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:t.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:t.getLocaleModel().get(["toolbox","saveAsImage","lang"])};return n},e}(Ma),LW="__ec_magicType_stack__",MCe=[["line","bar"],["stack"]],ACe=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getIcons=function(){var t=this.model,n=t.get("icon"),i={};return H(t.get("type"),function(a){n[a]&&(i[a]=n[a])}),i},e.getDefaultOption=function(t){var n={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:t.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}};return n},e.prototype.onclick=function(t,n,i){var a=this.model,o=a.get(["seriesIndex",i]);if(OW[i]){var s={series:[]},u=function(p){var g=p.subType,v=p.id,m=OW[i](g,v,p,a);m&&(Qe(m,p.option),s.series.push(m));var b=p.coordinateSystem;if(b&&b.type==="cartesian2d"&&(i==="line"||i==="bar")){var _=b.getAxesByScale("ordinal")[0];if(_){var S=_.dim,C=S+"Axis",w=p.getReferringComponents(C,Hr).models[0],k=w.componentIndex;s[C]=s[C]||[];for(var M=0;M<=k;M++)s[C][k]=s[C][k]||{};s[C][k].boundaryGap=i==="bar"}}};H(MCe,function(p){dt(p,i)>=0&&H(p,function(g){a.setIconStatus(g,"normal")})}),a.setIconStatus(i,"emphasis"),t.eachComponent({mainType:"series",query:o==null?null:{seriesIndex:o}},u);var f,h=i;i==="stack"&&(f=ot({stack:a.option.title.tiled,tiled:a.option.title.stack},a.option.title),a.get(["iconStatus",i])!=="emphasis"&&(h="tiled")),n.dispatchAction({type:"changeMagicType",currentType:h,newOption:s,newTitle:f,featureName:"magicType"})}},e}(Ma),OW={line:function(r,e,t,n){if(r==="bar")return ot({id:e,type:"line",data:t.get("data"),stack:t.get("stack"),markPoint:t.get("markPoint"),markLine:t.get("markLine")},n.get(["option","line"])||{},!0)},bar:function(r,e,t,n){if(r==="line")return ot({id:e,type:"bar",data:t.get("data"),stack:t.get("stack"),markPoint:t.get("markPoint"),markLine:t.get("markLine")},n.get(["option","bar"])||{},!0)},stack:function(r,e,t,n){var i=t.get("stack")===LW;if(r==="line"||r==="bar")return n.setIconStatus("stack",i?"normal":"emphasis"),ot({id:e,stack:i?"":LW},n.get(["option","stack"])||{},!0)}};is({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(r,e){e.mergeOption(r.newOption)});var sD=new Array(60).join("-"),kp=" ";function ECe(r){var e={},t=[],n=[];return r.eachRawSeries(function(i){var a=i.coordinateSystem;if(a&&(a.type==="cartesian2d"||a.type==="polar")){var o=a.getBaseAxis();if(o.type==="category"){var s=o.dim+"_"+o.index;e[s]||(e[s]={categoryAxis:o,valueAxis:a.getOtherAxis(o),series:[]},n.push({axisDim:o.dim,axisIndex:o.index})),e[s].series.push(i)}else t.push(i)}else t.push(i)}),{seriesGroupByCategoryAxis:e,other:t,meta:n}}function ICe(r){var e=[];return H(r,function(t,n){var i=t.categoryAxis,a=t.valueAxis,o=a.dim,s=[" "].concat(Ce(t.series,function(v){return v.name})),u=[i.model.getCategories()];H(t.series,function(v){var m=v.getRawData();u.push(v.getRawData().mapArray(m.mapDimension(o),function(b){return b}))});for(var f=[s.join(kp)],h=0;h=0)return!0}var X2=new RegExp("["+kp+"]+","g");function RCe(r){for(var e=r.split(/\n+/g),t=eT(e.shift()).split(X2),n=[],i=Ce(t,function(u){return{name:u,data:[]}}),a=0;a=0;a--){var o=t[a];if(o[i])break}if(a<0){var s=r.queryComponents({mainType:"dataZoom",subType:"select",id:i})[0];if(s){var u=s.getPercentRange();t[0][i]={dataZoomId:i,start:u[0],end:u[1]}}}}),t.push(e)}function VCe(r){var e=ZF(r),t=e[e.length-1];e.length>1&&e.pop();var n={};return _Z(t,function(i,a){for(var o=e.length-1;o>=0;o--)if(i=e[o][a],i){n[a]=i;break}}),n}function HCe(r){bZ(r).snapshots=null}function jCe(r){return ZF(r).length}function ZF(r){var e=bZ(r);return e.snapshots||(e.snapshots=[{}]),e.snapshots}var WCe=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.onclick=function(t,n){HCe(t),n.dispatchAction({type:"restore",from:this.uid})},e.getDefaultOption=function(t){var n={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:t.getLocaleModel().get(["toolbox","restore","title"])};return n},e}(Ma);is({type:"restore",event:"restore",update:"prepareAndUpdate"},function(r,e){e.resetOption("recreate")});var GCe=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],QF=function(){function r(e,t,n){var i=this;this._targetInfoList=[];var a=RW(t,e);H(UCe,function(o,s){(!n||!n.include||dt(n.include,s)>=0)&&o(a,i._targetInfoList)})}return r.prototype.setOutputRanges=function(e,t){return this.matchOutputRanges(e,t,function(n,i,a){if((n.coordRanges||(n.coordRanges=[])).push(i),!n.coordRange){n.coordRange=i;var o=zP[n.brushType](0,a,i);n.__rangeOffset={offset:BW[n.brushType](o.values,n.range,[1,1]),xyMinMax:o.xyMinMax}}}),e},r.prototype.matchOutputRanges=function(e,t,n){H(e,function(i){var a=this.findTargetInfo(i,t);a&&a!==!0&&H(a.coordSyses,function(o){var s=zP[i.brushType](1,o,i.range,!0);n(i,s.values,o,t)})},this)},r.prototype.setInputRanges=function(e,t){H(e,function(n){var i=this.findTargetInfo(n,t);if(n.range=n.range||[],i&&i!==!0){n.panelId=i.panelId;var a=zP[n.brushType](0,i.coordSys,n.coordRange),o=n.__rangeOffset;n.range=o?BW[n.brushType](a.values,o.offset,YCe(a.xyMinMax,o.xyMinMax)):a.values}},this)},r.prototype.makePanelOpts=function(e,t){return Ce(this._targetInfoList,function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:t?t(n):null,clipPath:MX(i),isTargetByCursor:EX(i,e,n.coordSysModel),getLinearBrushOtherExtent:AX(i)}})},r.prototype.controlSeries=function(e,t,n){var i=this.findTargetInfo(e,n);return i===!0||i&&dt(i.coordSyses,t.coordinateSystem)>=0},r.prototype.findTargetInfo=function(e,t){for(var n=this._targetInfoList,i=RW(t,e),a=0;ar[1]&&r.reverse(),r}function RW(r,e){return Qm(r,e,{includeMainTypes:GCe})}var UCe={grid:function(r,e){var t=r.xAxisModels,n=r.yAxisModels,i=r.gridModels,a=Ge(),o={},s={};!t&&!n&&!i||(H(t,function(u){var f=u.axis.grid.model;a.set(f.id,f),o[f.id]=!0}),H(n,function(u){var f=u.axis.grid.model;a.set(f.id,f),s[f.id]=!0}),H(i,function(u){a.set(u.id,u),o[u.id]=!0,s[u.id]=!0}),a.each(function(u){var f=u.coordinateSystem,h=[];H(f.getCartesians(),function(p,g){(dt(t,p.getAxis("x").model)>=0||dt(n,p.getAxis("y").model)>=0)&&h.push(p)}),e.push({panelId:"grid--"+u.id,gridModel:u,coordSysModel:u,coordSys:h[0],coordSyses:h,getPanelRect:FW.grid,xAxisDeclared:o[u.id],yAxisDeclared:s[u.id]})}))},geo:function(r,e){H(r.geoModels,function(t){var n=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:n,coordSyses:[n],getPanelRect:FW.geo})})}},NW=[function(r,e){var t=r.xAxisModel,n=r.yAxisModel,i=r.gridModel;return!i&&t&&(i=t.axis.grid.model),!i&&n&&(i=n.axis.grid.model),i&&i===e.gridModel},function(r,e){var t=r.geoModel;return t&&t===e.geoModel}],FW={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var r=this.coordSys,e=r.getBoundingRect().clone();return e.applyTransform(mf(r)),e}},zP={lineX:at($W,0),lineY:at($W,1),rect:function(r,e,t,n){var i=r?e.pointToData([t[0][0],t[1][0]],n):e.dataToPoint([t[0][0],t[1][0]],n),a=r?e.pointToData([t[0][1],t[1][1]],n):e.dataToPoint([t[0][1],t[1][1]],n),o=[Z2([i[0],a[0]]),Z2([i[1],a[1]])];return{values:o,xyMinMax:o}},polygon:function(r,e,t,n){var i=[[1/0,-1/0],[1/0,-1/0]],a=Ce(t,function(o){var s=r?e.pointToData(o,n):e.dataToPoint(o,n);return i[0][0]=Math.min(i[0][0],s[0]),i[1][0]=Math.min(i[1][0],s[1]),i[0][1]=Math.max(i[0][1],s[0]),i[1][1]=Math.max(i[1][1],s[1]),s});return{values:a,xyMinMax:i}}};function $W(r,e,t,n){var i=t.getAxis(["x","y"][r]),a=Z2(Ce([0,1],function(s){return e?i.coordToData(i.toLocalCoord(n[s]),!0):i.toGlobalCoord(i.dataToCoord(n[s]))})),o=[];return o[r]=a,o[1-r]=[NaN,NaN],{values:a,xyMinMax:o}}var BW={lineX:at(zW,0),lineY:at(zW,1),rect:function(r,e,t){return[[r[0][0]-t[0]*e[0][0],r[0][1]-t[0]*e[0][1]],[r[1][0]-t[1]*e[1][0],r[1][1]-t[1]*e[1][1]]]},polygon:function(r,e,t){return Ce(r,function(n,i){return[n[0]-t[0]*e[i][0],n[1]-t[1]*e[i][1]]})}};function zW(r,e,t,n){return[e[0]-n[r]*t[0],e[1]-n[r]*t[1]]}function YCe(r,e){var t=VW(r),n=VW(e),i=[t[0]/n[0],t[1]/n[1]];return isNaN(i[0])&&(i[0]=1),isNaN(i[1])&&(i[1]=1),i}function VW(r){return r?[r[0][1]-r[0][0],r[1][1]-r[1][0]]:[NaN,NaN]}var Q2=H,qCe=eue("toolbox-dataZoom_"),KCe=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n,i,a){this._brushController||(this._brushController=new TF(i.getZr()),this._brushController.on("brush",ze(this._onBrush,this)).mount()),QCe(t,n,this,a,i),ZCe(t,n)},e.prototype.onclick=function(t,n,i){XCe[i].call(this)},e.prototype.remove=function(t,n){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,n){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var n=t.areas;if(!t.isEnd||!n.length)return;var i={},a=this.ecModel;this._brushController.updateCovers([]);var o=new QF(JF(this.model),a,{include:["grid"]});o.matchOutputRanges(n,a,function(f,h,p){if(p.type==="cartesian2d"){var g=f.brushType;g==="rect"?(s("x",p,h[0]),s("y",p,h[1])):s({lineX:"x",lineY:"y"}[g],p,h)}}),zCe(a,i),this._dispatchZoomAction(i);function s(f,h,p){var g=h.getAxis(f),v=g.model,m=u(f,v,a),b=m.findRepresentativeAxisProxy(v).getMinMaxSpan();(b.minValueSpan!=null||b.maxValueSpan!=null)&&(p=Uf(0,p.slice(),g.scale.getExtent(),0,b.minValueSpan,b.maxValueSpan)),m&&(i[m.id]={dataZoomId:m.id,startValue:p[0],endValue:p[1]})}function u(f,h,p){var g;return p.eachComponent({mainType:"dataZoom",subType:"select"},function(v){var m=v.getAxisModel(f,h.componentIndex);m&&(g=v)}),g}},e.prototype._dispatchZoomAction=function(t){var n=[];Q2(t,function(i,a){n.push(et(i))}),n.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:n})},e.getDefaultOption=function(t){var n={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:t.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}};return n},e}(Ma),XCe={zoom:function(){var r=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:r})},back:function(){this._dispatchZoomAction(VCe(this.ecModel))}};function JF(r){var e={xAxisIndex:r.get("xAxisIndex",!0),yAxisIndex:r.get("yAxisIndex",!0),xAxisId:r.get("xAxisId",!0),yAxisId:r.get("yAxisId",!0)};return e.xAxisIndex==null&&e.xAxisId==null&&(e.xAxisIndex="all"),e.yAxisIndex==null&&e.yAxisId==null&&(e.yAxisIndex="all"),e}function ZCe(r,e){r.setIconStatus("back",jCe(e)>1?"emphasis":"normal")}function QCe(r,e,t,n,i){var a=t._isZoomActive;n&&n.type==="takeGlobalCursor"&&(a=n.key==="dataZoomSelect"?n.dataZoomSelectActive:!1),t._isZoomActive=a,r.setIconStatus("zoom",a?"emphasis":"normal");var o=new QF(JF(r),e,{include:["grid"]}),s=o.makePanelOpts(i,function(u){return u.xAxisDeclared&&!u.yAxisDeclared?"lineX":!u.xAxisDeclared&&u.yAxisDeclared?"lineY":"rect"});t._brushController.setPanels(s).enableBrush(a&&s.length?{brushType:"auto",brushStyle:r.getModel("brushStyle").getItemStyle()}:!1)}Tfe("dataZoom",function(r){var e=r.getComponent("toolbox",0),t=["feature","dataZoom"];if(!e||e.get(t)==null)return;var n=e.getModel(t),i=[],a=JF(n),o=Qm(r,a);Q2(o.xAxisModels,function(u){return s(u,"xAxis","xAxisIndex")}),Q2(o.yAxisModels,function(u){return s(u,"yAxis","yAxisIndex")});function s(u,f,h){var p=u.componentIndex,g={type:"select",$fromToolbox:!0,filterMode:n.get("filterMode",!0)||"filter",id:qCe+f+p};g[h]=p,i.push(g)}return i});function JCe(r){r.registerComponentModel(wCe),r.registerComponentView(TCe),ep("saveAsImage",kCe),ep("magicType",ACe),ep("dataView",$Ce),ep("dataZoom",KCe),ep("restore",WCe),vt(SCe)}var e1e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="tooltip",e.dependencies=["axisPointer"],e.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},e}(Ct);function xZ(r){var e=r.get("confine");return e!=null?!!e:r.get("renderMode")==="richText"}function SZ(r){if(yt.domSupported){for(var e=document.documentElement.style,t=0,n=r.length;t-1?(s+="top:50%",u+="translateY(-50%) rotate("+(f=a==="left"?-225:-45)+"deg)"):(s+="left:50%",u+="translateX(-50%) rotate("+(f=a==="top"?225:45)+"deg)");var h=f*Math.PI/180,p=o+i,g=p*Math.abs(Math.cos(h))+p*Math.abs(Math.sin(h)),v=Math.round(((g-Math.SQRT2*i)/2+Math.SQRT2*i-(g-p)/2)*100)/100;s+=";"+a+":-"+v+"px";var m=e+" solid "+i+"px;",b=["position:absolute;width:"+o+"px;height:"+o+"px;z-index:-1;",s+";"+u+";","border-bottom:"+m,"border-right:"+m,"background-color:"+n+";"];return'
'}function s1e(r,e){var t="cubic-bezier(0.23,1,0.32,1)",n=" "+r/2+"s "+t,i="opacity"+n+",visibility"+n;return e||(n=" "+r+"s "+t,i+=yt.transformSupported?","+e$+n:",left"+n+",top"+n),n1e+":"+i}function HW(r,e,t){var n=r.toFixed(0)+"px",i=e.toFixed(0)+"px";if(!yt.transformSupported)return t?"top:"+i+";left:"+n+";":[["top",i],["left",n]];var a=yt.transform3dSupported,o="translate"+(a?"3d":"")+"("+n+","+i+(a?",0":"")+")";return t?"top:0;left:0;"+e$+":"+o+";":[["top",0],["left",0],[wZ,o]]}function l1e(r){var e=[],t=r.get("fontSize"),n=r.getTextColor();n&&e.push("color:"+n),e.push("font:"+r.getFont());var i=it(r.get("lineHeight"),Math.round(t*3/2));t&&e.push("line-height:"+i+"px");var a=r.get("textShadowColor"),o=r.get("textShadowBlur")||0,s=r.get("textShadowOffsetX")||0,u=r.get("textShadowOffsetY")||0;return a&&o&&e.push("text-shadow:"+s+"px "+u+"px "+o+"px "+a),H(["decoration","align"],function(f){var h=r.get(f);h&&e.push("text-"+f+":"+h)}),e.join(";")}function u1e(r,e,t){var n=[],i=r.get("transitionDuration"),a=r.get("backgroundColor"),o=r.get("shadowBlur"),s=r.get("shadowColor"),u=r.get("shadowOffsetX"),f=r.get("shadowOffsetY"),h=r.getModel("textStyle"),p=NY(r,"html"),g=u+"px "+f+"px "+o+"px "+s;return n.push("box-shadow:"+g),e&&i&&n.push(s1e(i,t)),a&&n.push("background-color:"+a),H(["width","color","radius"],function(v){var m="border-"+v,b=rY(m),_=r.get(b);_!=null&&n.push(m+":"+_+(v==="color"?"":"px"))}),n.push(l1e(h)),p!=null&&n.push("padding:"+Hp(p).join("px ")+"px"),n.join(";")+";"}function jW(r,e,t,n,i){var a=e&&e.painter;if(t){var o=a&&a.getViewportRoot();o&&Ase(r,o,t,n,i)}else{r[0]=n,r[1]=i;var s=a&&a.getViewportRootOffset();s&&(r[0]+=s.offsetLeft,r[1]+=s.offsetTop)}r[2]=r[0]/e.getWidth(),r[3]=r[1]/e.getHeight()}var c1e=function(){function r(e,t){if(this._show=!1,this._styleCoord=[0,0,0,0],this._enterable=!0,this._alwaysShowContent=!1,this._firstShow=!0,this._longHide=!0,yt.wxa)return null;var n=document.createElement("div");n.domBelongToZr=!0,this.el=n;var i=this._zr=e.getZr(),a=t.appendTo,o=a&&(Be(a)?document.querySelector(a):mp(a)?a:Ke(a)&&a(e.getDom()));jW(this._styleCoord,i,o,e.getWidth()/2,e.getHeight()/2),(o||e.getDom()).appendChild(n),this._api=e,this._container=o;var s=this;n.onmouseenter=function(){s._enterable&&(clearTimeout(s._hideTimeout),s._show=!0),s._inContent=!0},n.onmousemove=function(u){if(u=u||window.event,!s._enterable){var f=i.handler,h=i.painter.getViewportRoot();wa(h,u,!0),f.dispatch("mousemove",u)}},n.onmouseleave=function(){s._inContent=!1,s._enterable&&s._show&&s.hideLater(s._hideDelay)}}return r.prototype.update=function(e){if(!this._container){var t=this._api.getDom(),n=r1e(t,"position"),i=t.style;i.position!=="absolute"&&n!=="absolute"&&(i.position="relative")}var a=e.get("alwaysShowContent");a&&this._moveIfResized(),this._alwaysShowContent=a,this.el.className=e.get("className")||""},r.prototype.show=function(e,t){clearTimeout(this._hideTimeout),clearTimeout(this._longHideTimeout);var n=this.el,i=n.style,a=this._styleCoord;n.innerHTML?i.cssText=i1e+u1e(e,!this._firstShow,this._longHide)+HW(a[0],a[1],!0)+("border-color:"+Ef(t)+";")+(e.get("extraCssText")||"")+(";pointer-events:"+(this._enterable?"auto":"none")):i.display="none",this._show=!0,this._firstShow=!1,this._longHide=!1},r.prototype.setContent=function(e,t,n,i,a){var o=this.el;if(e==null){o.innerHTML="";return}var s="";if(Be(a)&&n.get("trigger")==="item"&&!xZ(n)&&(s=o1e(n,i,a)),Be(e))o.innerHTML=e+s;else if(e){o.innerHTML="",we(e)||(e=[e]);for(var u=0;u=0?this._tryShow(a,o):i==="leave"&&this._hide(o))},this))},e.prototype._keepShow=function(){var t=this._tooltipModel,n=this._ecModel,i=this._api,a=t.get("triggerOn");if(this._lastX!=null&&this._lastY!=null&&a!=="none"&&a!=="click"){var o=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){!i.isDisposed()&&o.manuallyShowTip(t,n,i,{x:o._lastX,y:o._lastY,dataByCoordSys:o._lastDataByCoordSys})})}},e.prototype.manuallyShowTip=function(t,n,i,a){if(!(a.from===this.uid||yt.node||!i.getDom())){var o=UW(a,i);this._ticket="";var s=a.dataByCoordSys,u=m1e(a,n,i);if(u){var f=u.el.getBoundingRect().clone();f.applyTransform(u.el.transform),this._tryShow({offsetX:f.x+f.width/2,offsetY:f.y+f.height/2,target:u.el,position:a.position,positionDefault:"bottom"},o)}else if(a.tooltip&&a.x!=null&&a.y!=null){var h=h1e;h.x=a.x,h.y=a.y,h.update(),nt(h).tooltipConfig={name:null,option:a.tooltip},this._tryShow({offsetX:a.x,offsetY:a.y,target:h},o)}else if(s)this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,dataByCoordSys:s,tooltipOption:a.tooltipOption},o);else if(a.seriesIndex!=null){if(this._manuallyAxisShowTip(t,n,i,a))return;var p=uZ(a,n),g=p.point[0],v=p.point[1];g!=null&&v!=null&&this._tryShow({offsetX:g,offsetY:v,target:p.el,position:a.position,positionDefault:"bottom"},o)}else a.x!=null&&a.y!=null&&(i.dispatchAction({type:"updateAxisPointer",x:a.x,y:a.y}),this._tryShow({offsetX:a.x,offsetY:a.y,position:a.position,target:i.getZr().findHover(a.x,a.y).target},o))}},e.prototype.manuallyHideTip=function(t,n,i,a){var o=this._tooltipContent;this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,a.from!==this.uid&&this._hide(UW(a,i))},e.prototype._manuallyAxisShowTip=function(t,n,i,a){var o=a.seriesIndex,s=a.dataIndex,u=n.getComponent("axisPointer").coordSysAxesInfo;if(!(o==null||s==null||u==null)){var f=n.getSeriesByIndex(o);if(f){var h=f.getData(),p=bm([h.getItemModel(s),f,(f.coordinateSystem||{}).model],this._tooltipModel);if(p.get("trigger")==="axis")return i.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:s,position:a.position}),!0}}},e.prototype._tryShow=function(t,n){var i=t.target,a=this._tooltipModel;if(a){this._lastX=t.offsetX,this._lastY=t.offsetY;var o=t.dataByCoordSys;if(o&&o.length)this._showAxisTooltip(o,t);else if(i){var s=nt(i);if(s.ssrType==="legend")return;this._lastDataByCoordSys=null;var u,f;rf(i,function(h){if(nt(h).dataIndex!=null)return u=h,!0;if(nt(h).tooltipConfig!=null)return f=h,!0},!0),u?this._showSeriesItemTooltip(t,u,n):f?this._showComponentItemTooltip(t,f,n):this._hide(n)}else this._lastDataByCoordSys=null,this._hide(n)}},e.prototype._showOrMove=function(t,n){var i=t.get("showDelay");n=ze(n,this),clearTimeout(this._showTimout),i>0?this._showTimout=setTimeout(n,i):n()},e.prototype._showAxisTooltip=function(t,n){var i=this._ecModel,a=this._tooltipModel,o=[n.offsetX,n.offsetY],s=bm([n.tooltipOption],a),u=this._renderMode,f=[],h=dn("section",{blocks:[],noHeader:!0}),p=[],g=new TI;H(t,function(C){H(C.dataByAxis,function(w){var k=i.getComponent(w.axisDim+"Axis",w.axisIndex),M=w.value;if(!(!k||M==null)){var E=aZ(M,k.axis,i,w.seriesDataIndices,w.valueLabelOpt),I=dn("section",{header:E,noHeader:!no(E),sortBlocks:!0,blocks:[]});h.blocks.push(I),H(w.seriesDataIndices,function(O){var R=i.getSeriesByIndex(O.seriesIndex),$=O.dataIndexInside,V=R.getDataParams($);if(!(V.dataIndex<0)){V.axisDim=w.axisDim,V.axisIndex=w.axisIndex,V.axisType=w.axisType,V.axisId=w.axisId,V.axisValue=JN(k.axis,{value:M}),V.axisValueLabel=E,V.marker=g.makeTooltipMarker("item",Ef(V.color),u);var z=P3(R.formatTooltip($,!0,null)),B=z.frag;if(B){var j=bm([R],a).get("valueFormatter");I.blocks.push(j?me({valueFormatter:j},B):B)}z.text&&p.push(z.text),f.push(V)}})}})}),h.blocks.reverse(),p.reverse();var v=n.position,m=s.get("order"),b=$3(h,g,u,m,i.get("useUTC"),s.get("textStyle"));b&&p.unshift(b);var _=u==="richText"?` - -`:"
",S=p.join(_);this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(t,f)?this._updatePosition(s,v,o[0],o[1],this._tooltipContent,f):this._showTooltipContent(s,S,f,Math.random()+"",o[0],o[1],v,null,g)})},e.prototype._showSeriesItemTooltip=function(t,n,i){var a=this._ecModel,o=nt(n),s=o.seriesIndex,u=a.getSeriesByIndex(s),f=o.dataModel||u,h=o.dataIndex,p=o.dataType,g=f.getData(p),v=this._renderMode,m=t.positionDefault,b=bm([g.getItemModel(h),f,u&&(u.coordinateSystem||{}).model],this._tooltipModel,m?{position:m}:null),_=b.get("trigger");if(!(_!=null&&_!=="item")){var S=f.getDataParams(h,p),C=new TI;S.marker=C.makeTooltipMarker("item",Ef(S.color),v);var w=P3(f.formatTooltip(h,!1,p)),k=b.get("order"),M=b.get("valueFormatter"),E=w.frag,I=E?$3(M?me({valueFormatter:M},E):E,C,v,k,a.get("useUTC"),b.get("textStyle")):w.text,O="item_"+f.name+"_"+h;this._showOrMove(b,function(){this._showTooltipContent(b,I,S,O,t.offsetX,t.offsetY,t.position,t.target,C)}),i({type:"showTip",dataIndexInside:h,dataIndex:g.getRawIndex(h),seriesIndex:s,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,n,i){var a=this._renderMode==="html",o=nt(n),s=o.tooltipConfig,u=s.option||{},f=u.encodeHTMLContent;if(Be(u)){var h=u;u={content:h,formatter:h},f=!0}f&&a&&u.content&&(u=et(u),u.content=ui(u.content));var p=[u],g=this._ecModel.getComponent(o.componentMainType,o.componentIndex);g&&p.push(g),p.push({formatter:u.content});var v=t.positionDefault,m=bm(p,this._tooltipModel,v?{position:v}:null),b=m.get("content"),_=Math.random()+"",S=new TI;this._showOrMove(m,function(){var C=et(m.get("formatterParams")||{});this._showTooltipContent(m,b,C,_,t.offsetX,t.offsetY,t.position,n,S)}),i({type:"showTip",from:this.uid})},e.prototype._showTooltipContent=function(t,n,i,a,o,s,u,f,h){if(this._ticket="",!(!t.get("showContent")||!t.get("show"))){var p=this._tooltipContent;p.setEnterable(t.get("enterable"));var g=t.get("formatter");u=u||t.get("position");var v=n,m=this._getNearestPoint([o,s],i,t.get("trigger"),t.get("borderColor")),b=m.color;if(g)if(Be(g)){var _=t.ecModel.get("useUTC"),S=we(i)?i[0]:i,C=S&&S.axisType&&S.axisType.indexOf("time")>=0;v=g,C&&(v=BT(S.axisValue,v,_)),v=nY(v,i,!0)}else if(Ke(g)){var w=ze(function(k,M){k===this._ticket&&(p.setContent(M,h,t,b,u),this._updatePosition(t,u,o,s,p,i,f))},this);this._ticket=a,v=g(i,a,w)}else v=g;p.setContent(v,h,t,b,u),p.show(t,b),this._updatePosition(t,u,o,s,p,i,f)}},e.prototype._getNearestPoint=function(t,n,i,a){if(i==="axis"||we(n))return{color:a||(this._renderMode==="html"?"#fff":"none")};if(!we(n))return{color:a||n.color||n.borderColor}},e.prototype._updatePosition=function(t,n,i,a,o,s,u){var f=this._api.getWidth(),h=this._api.getHeight();n=n||t.get("position");var p=o.getSize(),g=t.get("align"),v=t.get("verticalAlign"),m=u&&u.getBoundingRect().clone();if(u&&m.applyTransform(u.transform),Ke(n)&&(n=n([i,a],s,o.el,m,{viewSize:[f,h],contentSize:p.slice()})),we(n))i=Oe(n[0],f),a=Oe(n[1],h);else if(Je(n)){var b=n;b.width=p[0],b.height=p[1];var _=rn(b,{width:f,height:h});i=_.x,a=_.y,g=null,v=null}else if(Be(n)&&u){var S=g1e(n,m,p,t.get("borderWidth"));i=S[0],a=S[1]}else{var S=p1e(i,a,o,f,h,g?null:20,v?null:20);i=S[0],a=S[1]}if(g&&(i-=YW(g)?p[0]/2:g==="right"?p[0]:0),v&&(a-=YW(v)?p[1]/2:v==="bottom"?p[1]:0),xZ(t)){var S=v1e(i,a,o,f,h);i=S[0],a=S[1]}o.moveTo(i,a)},e.prototype._updateContentNotChangedOnAxis=function(t,n){var i=this._lastDataByCoordSys,a=this._cbParamsList,o=!!i&&i.length===t.length;return o&&H(i,function(s,u){var f=s.dataByAxis||[],h=t[u]||{},p=h.dataByAxis||[];o=o&&f.length===p.length,o&&H(f,function(g,v){var m=p[v]||{},b=g.seriesDataIndices||[],_=m.seriesDataIndices||[];o=o&&g.value===m.value&&g.axisType===m.axisType&&g.axisId===m.axisId&&b.length===_.length,o&&H(b,function(S,C){var w=_[C];o=o&&S.seriesIndex===w.seriesIndex&&S.dataIndex===w.dataIndex}),a&&H(g.seriesDataIndices,function(S){var C=S.seriesIndex,w=n[C],k=a[C];w&&k&&k.data!==w.data&&(o=!1)})})}),this._lastDataByCoordSys=t,this._cbParamsList=n,!!o},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},e.prototype.dispose=function(t,n){yt.node||!n.getDom()||(Ay(this,"_updatePosition"),this._tooltipContent.dispose(),Y2("itemTooltip",n))},e.type="tooltip",e}(_r);function bm(r,e,t){var n=e.ecModel,i;t?(i=new qt(t,n,n),i=new qt(e.option,i,n)):i=e;for(var a=r.length-1;a>=0;a--){var o=r[a];o&&(o instanceof qt&&(o=o.get("tooltip",!0)),Be(o)&&(o={formatter:o}),o&&(i=new qt(o,i,n)))}return i}function UW(r,e){return r.dispatchAction||ze(e.dispatchAction,e)}function p1e(r,e,t,n,i,a,o){var s=t.getSize(),u=s[0],f=s[1];return a!=null&&(r+u+a+2>n?r-=u+a:r+=a),o!=null&&(e+f+o>i?e-=f+o:e+=o),[r,e]}function v1e(r,e,t,n,i){var a=t.getSize(),o=a[0],s=a[1];return r=Math.min(r+o,n)-o,e=Math.min(e+s,i)-s,r=Math.max(r,0),e=Math.max(e,0),[r,e]}function g1e(r,e,t,n){var i=t[0],a=t[1],o=Math.ceil(Math.SQRT2*n)+8,s=0,u=0,f=e.width,h=e.height;switch(r){case"inside":s=e.x+f/2-i/2,u=e.y+h/2-a/2;break;case"top":s=e.x+f/2-i/2,u=e.y-a-o;break;case"bottom":s=e.x+f/2-i/2,u=e.y+h+o;break;case"left":s=e.x-i-o,u=e.y+h/2-a/2;break;case"right":s=e.x+f+o,u=e.y+h/2-a/2}return[s,u]}function YW(r){return r==="center"||r==="middle"}function m1e(r,e,t){var n=pN(r).queryOptionMap,i=n.keys()[0];if(!(!i||i==="series")){var a=r_(e,i,n.get(i),{useDefault:!1,enableAll:!1,enableNone:!1}),o=a.models[0];if(o){var s=t.getViewOfComponentModel(o),u;if(s.group.traverse(function(f){var h=nt(f).tooltipConfig;if(h&&h.name===r.name)return u=f,!0}),u)return{componentMainType:i,componentIndex:o.componentIndex,el:u}}}}function y1e(r){vt(x_),r.registerComponentModel(e1e),r.registerComponentView(d1e),r.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},Or),r.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},Or)}var _1e=["rect","polygon","keep","clear"];function b1e(r,e){var t=Jt(r?r.brush:[]);if(t.length){var n=[];H(t,function(u){var f=u.hasOwnProperty("toolbox")?u.toolbox:[];f instanceof Array&&(n=n.concat(f))});var i=r&&r.toolbox;we(i)&&(i=i[0]),i||(i={feature:{}},r.toolbox=[i]);var a=i.feature||(i.feature={}),o=a.brush||(a.brush={}),s=o.type||(o.type=[]);s.push.apply(s,n),x1e(s),e&&!s.length&&s.push.apply(s,_1e)}}function x1e(r){var e={};H(r,function(t){e[t]=1}),r.length=0,H(e,function(t,n){r.push(n)})}var qW=H;function KW(r){if(r){for(var e in r)if(r.hasOwnProperty(e))return!0}}function J2(r,e,t){var n={};return qW(e,function(a){var o=n[a]=i();qW(r[a],function(s,u){if(fn.isValidType(u)){var f={type:u,visual:s};t&&t(f,a),o[u]=new fn(f),u==="opacity"&&(f=et(f),f.type="colorAlpha",o.__hidden.__alphaForOpacity=new fn(f))}})}),n;function i(){var a=function(){};a.prototype.__hidden=a.prototype;var o=new a;return o}}function TZ(r,e,t){var n;H(t,function(i){e.hasOwnProperty(i)&&KW(e[i])&&(n=!0)}),n&&H(t,function(i){e.hasOwnProperty(i)&&KW(e[i])?r[i]=et(e[i]):delete r[i]})}function S1e(r,e,t,n,i,a){var o={};H(r,function(p){var g=fn.prepareVisualTypes(e[p]);o[p]=g});var s;function u(p){return jN(t,s,p)}function f(p,g){UY(t,s,p,g)}t.each(h);function h(p,g){s=p;var v=t.getRawDataItem(s);if(!(v&&v.visualMap===!1))for(var m=n.call(i,p),b=e[m],_=o[m],S=0,C=_.length;Se[0][1]&&(e[0][1]=a[0]),a[1]e[1][1]&&(e[1][1]=a[1])}return e&&eG(e)}};function eG(r){return new ft(r[0][0],r[1][0],r[0][1]-r[0][0],r[1][1]-r[1][0])}var E1e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,n){this.ecModel=t,this.api=n,this.model,(this._brushController=new TF(n.getZr())).on("brush",ze(this._onBrush,this)).mount()},e.prototype.render=function(t,n,i,a){this.model=t,this._updateController(t,n,i,a)},e.prototype.updateTransform=function(t,n,i,a){DZ(n),this._updateController(t,n,i,a)},e.prototype.updateVisual=function(t,n,i,a){this.updateTransform(t,n,i,a)},e.prototype.updateView=function(t,n,i,a){this._updateController(t,n,i,a)},e.prototype._updateController=function(t,n,i,a){(!a||a.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(i)).enableBrush(t.brushOption).updateCovers(t.areas.slice())},e.prototype.dispose=function(){this._brushController.dispose()},e.prototype._onBrush=function(t){var n=this.model.id,i=this.model.brushTargetManager.setOutputRanges(t.areas,this.ecModel);(!t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:n,areas:et(i),$from:n}),t.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:n,areas:et(i),$from:n})},e.type="brush",e}(_r),I1e="#ddd",P1e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.areas=[],t.brushOption={},t}return e.prototype.optionUpdated=function(t,n){var i=this.option;!n&&TZ(i,t,["inBrush","outOfBrush"]);var a=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:I1e},a.hasOwnProperty("liftZ")||(a.liftZ=5)},e.prototype.setAreas=function(t){t&&(this.areas=Ce(t,function(n){return tG(this.option,n)},this))},e.prototype.setBrushOption=function(t){this.brushOption=tG(this.option,t),this.brushType=this.brushOption.brushType},e.type="brush",e.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],e.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},e}(Ct);function tG(r,e){return ot({brushType:r.brushType,brushMode:r.brushMode,transformable:r.transformable,brushStyle:new qt(r.brushStyle).getItemStyle(),removeOnClick:r.removeOnClick,z:r.z},e,!0)}var L1e=["rect","polygon","lineX","lineY","keep","clear"],O1e=function(r){ae(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.render=function(t,n,i){var a,o,s;n.eachComponent({mainType:"brush"},function(u){a=u.brushType,o=u.brushOption.brushMode||"single",s=s||!!u.areas.length}),this._brushType=a,this._brushMode=o,H(t.get("type",!0),function(u){t.setIconStatus(u,(u==="keep"?o==="multiple":u==="clear"?s:u===a)?"emphasis":"normal")})},e.prototype.updateView=function(t,n,i){this.render(t,n,i)},e.prototype.getIcons=function(){var t=this.model,n=t.get("icon",!0),i={};return H(t.get("type",!0),function(a){n[a]&&(i[a]=n[a])}),i},e.prototype.onclick=function(t,n,i){var a=this._brushType,o=this._brushMode;i==="clear"?(n.dispatchAction({type:"axisAreaSelect",intervals:[]}),n.dispatchAction({type:"brush",command:"clear",areas:[]})):n.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:i==="keep"?a:a===i?!1:i,brushMode:i==="keep"?o==="multiple"?"single":"multiple":o}})},e.getDefaultOption=function(t){var n={show:!0,type:L1e.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:t.getLocaleModel().get(["toolbox","brush","title"])};return n},e}(Ma);function R1e(r){r.registerComponentView(E1e),r.registerComponentModel(P1e),r.registerPreprocessor(b1e),r.registerVisual(r.PRIORITY.VISUAL.BRUSH,T1e),r.registerAction({type:"brush",event:"brush",update:"updateVisual"},function(e,t){t.eachComponent({mainType:"brush",query:e},function(n){n.setAreas(e.areas)})}),r.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},Or),r.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},Or),ep("brush",O1e)}var N1e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.layoutMode={type:"box",ignoreSize:!0},t}return e.type="title",e.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},e}(Ct),F1e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,n,i){if(this.group.removeAll(),!!t.get("show")){var a=this.group,o=t.getModel("textStyle"),s=t.getModel("subtextStyle"),u=t.get("textAlign"),f=it(t.get("textBaseline"),t.get("textVerticalAlign")),h=new Rt({style:sr(o,{text:t.get("text"),fill:o.getTextColor()},{disableBox:!0}),z2:10}),p=h.getBoundingRect(),g=t.get("subtext"),v=new Rt({style:sr(s,{text:g,fill:s.getTextColor(),y:p.height+t.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),m=t.get("link"),b=t.get("sublink"),_=t.get("triggerEvent",!0);h.silent=!m&&!_,v.silent=!b&&!_,m&&h.on("click",function(){E1(m,"_"+t.get("target"))}),b&&v.on("click",function(){E1(b,"_"+t.get("subtarget"))}),nt(h).eventData=nt(v).eventData=_?{componentType:"title",componentIndex:t.componentIndex}:null,a.add(h),g&&a.add(v);var S=a.getBoundingRect(),C=t.getBoxLayoutParams();C.width=S.width,C.height=S.height;var w=rn(C,{width:i.getWidth(),height:i.getHeight()},t.get("padding"));u||(u=t.get("left")||t.get("right"),u==="middle"&&(u="center"),u==="right"?w.x+=w.width:u==="center"&&(w.x+=w.width/2)),f||(f=t.get("top")||t.get("bottom"),f==="center"&&(f="middle"),f==="bottom"?w.y+=w.height:f==="middle"&&(w.y+=w.height/2),f=f||"top"),a.x=w.x,a.y=w.y,a.markRedraw();var k={align:u,verticalAlign:f};h.setStyle(k),v.setStyle(k),S=a.getBoundingRect();var M=w.margin,E=t.getItemStyle(["color","opacity"]);E.fill=t.get("backgroundColor");var I=new Pt({shape:{x:S.x-M[3],y:S.y-M[0],width:S.width+M[1]+M[3],height:S.height+M[0]+M[2],r:t.get("borderRadius")},style:E,subPixelOptimize:!0,silent:!0});a.add(I)}},e.type="title",e}(_r);function $1e(r){r.registerComponentModel(N1e),r.registerComponentView(F1e)}var rG=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.layoutMode="box",t}return e.prototype.init=function(t,n,i){this.mergeDefaultAndTheme(t,i),this._initData()},e.prototype.mergeOption=function(t){r.prototype.mergeOption.apply(this,arguments),this._initData()},e.prototype.setCurrentIndex=function(t){t==null&&(t=this.option.currentIndex);var n=this._data.count();this.option.loop?t=(t%n+n)%n:(t>=n&&(t=n-1),t<0&&(t=0)),this.option.currentIndex=t},e.prototype.getCurrentIndex=function(){return this.option.currentIndex},e.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},e.prototype.setPlayState=function(t){this.option.autoPlay=!!t},e.prototype.getPlayState=function(){return!!this.option.autoPlay},e.prototype._initData=function(){var t=this.option,n=t.data||[],i=t.axisType,a=this._names=[],o;i==="category"?(o=[],H(n,function(f,h){var p=tn(Fp(f),""),g;Je(f)?(g=et(f),g.value=h):g=h,o.push(g),a.push(p)})):o=n;var s={category:"ordinal",time:"time",value:"number"}[i]||"number",u=this._data=new fi([{name:"value",type:s}],this);u.initData(o,a)},e.prototype.getData=function(){return this._data},e.prototype.getCategories=function(){if(this.get("axisType")==="category")return this._names.slice()},e.type="timeline",e.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},e}(Ct),kZ=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="timeline.slider",e.defaultOption=xu(rG.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),e}(rG);Gr(kZ,UT.prototype);var B1e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="timeline",e}(_r),z1e=function(r){ae(e,r);function e(t,n,i,a){var o=r.call(this,t,n,i)||this;return o.type=a||"value",o}return e.prototype.getLabelModel=function(){return this.model.getModel("label")},e.prototype.isHorizontal=function(){return this.model.get("orient")==="horizontal"},e}(vo),HP=Math.PI,nG=Ot(),V1e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,n){this.api=n},e.prototype.render=function(t,n,i){if(this.model=t,this.api=i,this.ecModel=n,this.group.removeAll(),t.get("show",!0)){var a=this._layout(t,i),o=this._createGroup("_mainGroup"),s=this._createGroup("_labelGroup"),u=this._axis=this._createAxis(a,t);t.formatTooltip=function(f){var h=u.scale.getLabel({value:f});return dn("nameValue",{noName:!0,value:h})},H(["AxisLine","AxisTick","Control","CurrentPointer"],function(f){this["_render"+f](a,o,u,t)},this),this._renderAxisLabel(a,s,u,t),this._position(a,t)}this._doPlayStop(),this._updateTicksStatus()},e.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},e.prototype.dispose=function(){this._clearTimer()},e.prototype._layout=function(t,n){var i=t.get(["label","position"]),a=t.get("orient"),o=j1e(t,n),s;i==null||i==="auto"?s=a==="horizontal"?o.y+o.height/2=0||s==="+"?"left":"right"},f={horizontal:s>=0||s==="+"?"top":"bottom",vertical:"middle"},h={horizontal:0,vertical:HP/2},p=a==="vertical"?o.height:o.width,g=t.getModel("controlStyle"),v=g.get("show",!0),m=v?g.get("itemSize"):0,b=v?g.get("itemGap"):0,_=m+b,S=t.get(["label","rotate"])||0;S=S*HP/180;var C,w,k,M=g.get("position",!0),E=v&&g.get("showPlayBtn",!0),I=v&&g.get("showPrevBtn",!0),O=v&&g.get("showNextBtn",!0),R=0,$=p;M==="left"||M==="bottom"?(E&&(C=[0,0],R+=_),I&&(w=[R,0],R+=_),O&&(k=[$-m,0],$-=_)):(E&&(C=[$-m,0],$-=_),I&&(w=[0,0],R+=_),O&&(k=[$-m,0],$-=_));var V=[R,$];return t.get("inverse")&&V.reverse(),{viewRect:o,mainLength:p,orient:a,rotation:h[a],labelRotation:S,labelPosOpt:s,labelAlign:t.get(["label","align"])||u[a],labelBaseline:t.get(["label","verticalAlign"])||t.get(["label","baseline"])||f[a],playPosition:C,prevBtnPosition:w,nextBtnPosition:k,axisExtent:V,controlSize:m,controlGap:b}},e.prototype._position=function(t,n){var i=this._mainGroup,a=this._labelGroup,o=t.viewRect;if(t.orient==="vertical"){var s=Ji(),u=o.x,f=o.y+o.height;Qo(s,s,[-u,-f]),Bf(s,s,-HP/2),Qo(s,s,[u,f]),o=o.clone(),o.applyTransform(s)}var h=C(o),p=C(i.getBoundingRect()),g=C(a.getBoundingRect()),v=[i.x,i.y],m=[a.x,a.y];m[0]=v[0]=h[0][0];var b=t.labelPosOpt;if(b==null||Be(b)){var _=b==="+"?0:1;w(v,p,h,1,_),w(m,g,h,1,1-_)}else{var _=b>=0?0:1;w(v,p,h,1,_),m[1]=v[1]+b}i.setPosition(v),a.setPosition(m),i.rotation=a.rotation=t.rotation,S(i),S(a);function S(k){k.originX=h[0][0]-k.x,k.originY=h[1][0]-k.y}function C(k){return[[k.x,k.x+k.width],[k.y,k.y+k.height]]}function w(k,M,E,I,O){k[I]+=E[I][O]-M[I][O]}},e.prototype._createAxis=function(t,n){var i=n.getData(),a=n.get("axisType"),o=H1e(n,a);o.getTicks=function(){return i.mapArray(["value"],function(f){return{value:f}})};var s=i.getDataExtent("value");o.setExtent(s[0],s[1]),o.calcNiceTicks();var u=new z1e("value",o,t.axisExtent,a);return u.model=n,u},e.prototype._createGroup=function(t){var n=this[t]=new rt;return this.group.add(n),n},e.prototype._renderAxisLine=function(t,n,i,a){var o=i.getExtent();if(a.get(["lineStyle","show"])){var s=new un({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:me({lineCap:"round"},a.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});n.add(s);var u=this._progressLine=new un({shape:{x1:o[0],x2:this._currentPointer?this._currentPointer.x:o[0],y1:0,y2:0},style:Qe({lineCap:"round",lineWidth:s.style.lineWidth},a.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});n.add(u)}},e.prototype._renderAxisTick=function(t,n,i,a){var o=this,s=a.getData(),u=i.scale.getTicks();this._tickSymbols=[],H(u,function(f){var h=i.dataToCoord(f.value),p=s.getItemModel(f.value),g=p.getModel("itemStyle"),v=p.getModel(["emphasis","itemStyle"]),m=p.getModel(["progress","itemStyle"]),b={x:h,y:0,onclick:ze(o._changeTimeline,o,f.value)},_=iG(p,g,n,b);_.ensureState("emphasis").style=v.getItemStyle(),_.ensureState("progress").style=m.getItemStyle(),gf(_);var S=nt(_);p.get("tooltip")?(S.dataIndex=f.value,S.dataModel=a):S.dataIndex=S.dataModel=null,o._tickSymbols.push(_)})},e.prototype._renderAxisLabel=function(t,n,i,a){var o=this,s=i.getLabelModel();if(s.get("show")){var u=a.getData(),f=i.getViewLabels();this._tickLabels=[],H(f,function(h){var p=h.tickValue,g=u.getItemModel(p),v=g.getModel("label"),m=g.getModel(["emphasis","label"]),b=g.getModel(["progress","label"]),_=i.dataToCoord(h.tickValue),S=new Rt({x:_,y:0,rotation:t.labelRotation-t.rotation,onclick:ze(o._changeTimeline,o,p),silent:!1,style:sr(v,{text:h.formattedLabel,align:t.labelAlign,verticalAlign:t.labelBaseline})});S.ensureState("emphasis").style=sr(m),S.ensureState("progress").style=sr(b),n.add(S),gf(S),nG(S).dataIndex=p,o._tickLabels.push(S)})}},e.prototype._renderControl=function(t,n,i,a){var o=t.controlSize,s=t.rotation,u=a.getModel("controlStyle").getItemStyle(),f=a.getModel(["emphasis","controlStyle"]).getItemStyle(),h=a.getPlayState(),p=a.get("inverse",!0);g(t.nextBtnPosition,"next",ze(this._changeTimeline,this,p?"-":"+")),g(t.prevBtnPosition,"prev",ze(this._changeTimeline,this,p?"+":"-")),g(t.playPosition,h?"stop":"play",ze(this._handlePlayClick,this,!h),!0);function g(v,m,b,_){if(v){var S=uo(it(a.get(["controlStyle",m+"BtnSize"]),o),o),C=[0,-S/2,S,S],w=W1e(a,m+"Icon",C,{x:v[0],y:v[1],originX:o/2,originY:0,rotation:_?-s:0,rectHover:!0,style:u,onclick:b});w.ensureState("emphasis").style=f,n.add(w),gf(w)}}},e.prototype._renderCurrentPointer=function(t,n,i,a){var o=a.getData(),s=a.getCurrentIndex(),u=o.getItemModel(s).getModel("checkpointStyle"),f=this,h={onCreate:function(p){p.draggable=!0,p.drift=ze(f._handlePointerDrag,f),p.ondragend=ze(f._handlePointerDragend,f),aG(p,f._progressLine,s,i,a,!0)},onUpdate:function(p){aG(p,f._progressLine,s,i,a)}};this._currentPointer=iG(u,u,this._mainGroup,{},this._currentPointer,h)},e.prototype._handlePlayClick=function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},e.prototype._handlePointerDrag=function(t,n,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},e.prototype._handlePointerDragend=function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},e.prototype._pointerChangeTimeline=function(t,n){var i=this._toAxisCoord(t)[0],a=this._axis,o=Ia(a.getExtent().slice());i>o[1]&&(i=o[1]),i=0&&(o[a]=+o[a].toFixed(g)),[o,p]}var jP={min:at(Vw,"min"),max:at(Vw,"max"),average:at(Vw,"average"),median:at(Vw,"median")};function jy(r,e){if(e){var t=r.getData(),n=r.coordinateSystem,i=n&&n.dimensions;if(!X1e(e)&&!we(e.coord)&&we(i)){var a=MZ(e,t,n,r);if(e=et(e),e.type&&jP[e.type]&&a.baseAxis&&a.valueAxis){var o=dt(i,a.baseAxis.dim),s=dt(i,a.valueAxis.dim),u=jP[e.type](t,a.baseDataDim,a.valueDataDim,o,s);e.coord=u[0],e.value=u[1]}else e.coord=[e.xAxis!=null?e.xAxis:e.radiusAxis,e.yAxis!=null?e.yAxis:e.angleAxis]}if(e.coord==null||!we(i))e.coord=[];else for(var f=e.coord,h=0;h<2;h++)jP[f[h]]&&(f[h]=r$(t,t.mapDimension(i[h]),f[h]));return e}}function MZ(r,e,t,n){var i={};return r.valueIndex!=null||r.valueDim!=null?(i.valueDataDim=r.valueIndex!=null?e.getDimension(r.valueIndex):r.valueDim,i.valueAxis=t.getAxis(Z1e(n,i.valueDataDim)),i.baseAxis=t.getOtherAxis(i.valueAxis),i.baseDataDim=e.mapDimension(i.baseAxis.dim)):(i.baseAxis=n.getBaseAxis(),i.valueAxis=t.getOtherAxis(i.baseAxis),i.baseDataDim=e.mapDimension(i.baseAxis.dim),i.valueDataDim=e.mapDimension(i.valueAxis.dim)),i}function Z1e(r,e){var t=r.getData().getDimensionInfo(e);return t&&t.coordDim}function Wy(r,e){return r&&r.containData&&e.coord&&!tR(e)?r.containData(e.coord):!0}function Q1e(r,e,t){return r&&r.containZone&&e.coord&&t.coord&&!tR(e)&&!tR(t)?r.containZone(e.coord,t.coord):!0}function AZ(r,e){return r?function(t,n,i,a){var o=a<2?t.coord&&t.coord[a]:t.value;return ru(o,e[a])}:function(t,n,i,a){return ru(t.value,e[a])}}function r$(r,e,t){if(t==="average"){var n=0,i=0;return r.each(e,function(a,o){isNaN(a)||(n+=a,i++)}),n/i}else return t==="median"?r.getMedian(e):r.getDataExtent(e)[t==="max"?1:0]}var WP=Ot(),n$=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this.markerGroupMap=Ge()},e.prototype.render=function(t,n,i){var a=this,o=this.markerGroupMap;o.each(function(s){WP(s).keep=!1}),n.eachSeries(function(s){var u=Gs.getMarkerModelFromSeries(s,a.type);u&&a.renderSeries(s,u,n,i)}),o.each(function(s){!WP(s).keep&&a.group.remove(s.group)})},e.prototype.markKeep=function(t){WP(t).keep=!0},e.prototype.toggleBlurSeries=function(t,n){var i=this;H(t,function(a){var o=Gs.getMarkerModelFromSeries(a,i.type);if(o){var s=o.getData();s.eachItemGraphicEl(function(u){u&&(n?b9(u):xN(u))})}})},e.type="marker",e}(_r);function sG(r,e,t){var n=e.coordinateSystem;r.each(function(i){var a=r.getItemModel(i),o,s=Oe(a.get("x"),t.getWidth()),u=Oe(a.get("y"),t.getHeight());if(!isNaN(s)&&!isNaN(u))o=[s,u];else if(e.getMarkerPosition)o=e.getMarkerPosition(r.getValues(r.dimensions,i));else if(n){var f=r.get(n.dimensions[0],i),h=r.get(n.dimensions[1],i);o=n.dataToPoint([f,h])}isNaN(s)||(o[0]=s),isNaN(u)||(o[1]=u),r.setItemLayout(i,o)})}var J1e=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,n,i){n.eachSeries(function(a){var o=Gs.getMarkerModelFromSeries(a,"markPoint");o&&(sG(o.getData(),a,i),this.markerGroupMap.get(a.id).updateLayout())},this)},e.prototype.renderSeries=function(t,n,i,a){var o=t.coordinateSystem,s=t.id,u=t.getData(),f=this.markerGroupMap,h=f.get(s)||f.set(s,new p_),p=eTe(o,t,n);n.setData(p),sG(n.getData(),t,a),p.each(function(g){var v=p.getItemModel(g),m=v.getShallow("symbol"),b=v.getShallow("symbolSize"),_=v.getShallow("symbolRotate"),S=v.getShallow("symbolOffset"),C=v.getShallow("symbolKeepAspect");if(Ke(m)||Ke(b)||Ke(_)||Ke(S)){var w=n.getRawValue(g),k=n.getDataParams(g);Ke(m)&&(m=m(w,k)),Ke(b)&&(b=b(w,k)),Ke(_)&&(_=_(w,k)),Ke(S)&&(S=S(w,k))}var M=v.getModel("itemStyle").getItemStyle(),E=c_(u,"color");M.fill||(M.fill=E),p.setItemVisual(g,{symbol:m,symbolSize:b,symbolRotate:_,symbolOffset:S,symbolKeepAspect:C,style:M})}),h.updateData(p),this.group.add(h.group),p.eachItemGraphicEl(function(g){g.traverse(function(v){nt(v).dataModel=n})}),this.markKeep(h),h.group.silent=n.get("silent")||t.get("silent")},e.type="markPoint",e}(n$);function eTe(r,e,t){var n;r?n=Ce(r&&r.dimensions,function(s){var u=e.getData().getDimensionInfo(e.getData().mapDimension(s))||{};return me(me({},u),{name:s,ordinalMeta:null})}):n=[{name:"value",type:"float"}];var i=new fi(n,t),a=Ce(t.get("data"),at(jy,e));r&&(a=Wt(a,at(Wy,r)));var o=AZ(!!r,n);return i.initData(a,null,o),i}function tTe(r){r.registerComponentModel(K1e),r.registerComponentView(J1e),r.registerPreprocessor(function(e){t$(e.series,"markPoint")&&(e.markPoint=e.markPoint||{})})}var rTe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markLine",e.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},e}(Gs),Hw=Ot(),nTe=function(r,e,t,n){var i=r.getData(),a;if(we(n))a=n;else{var o=n.type;if(o==="min"||o==="max"||o==="average"||o==="median"||n.xAxis!=null||n.yAxis!=null){var s=void 0,u=void 0;if(n.yAxis!=null||n.xAxis!=null)s=e.getAxis(n.yAxis!=null?"y":"x"),u=mn(n.yAxis,n.xAxis);else{var f=MZ(n,i,e,r);s=f.valueAxis;var h=xq(i,f.valueDataDim);u=r$(i,h,o)}var p=s.dim==="x"?0:1,g=1-p,v=et(n),m={coord:[]};v.type=null,v.coord=[],v.coord[g]=-1/0,m.coord[g]=1/0;var b=t.get("precision");b>=0&&Ft(u)&&(u=+u.toFixed(Math.min(b,20))),v.coord[p]=m.coord[p]=u,a=[v,m,{type:o,valueIndex:n.valueIndex,value:u}]}else a=[]}var _=[jy(r,a[0]),jy(r,a[1]),me({},a[2])];return _[2].type=_[2].type||null,ot(_[2],_[0]),ot(_[2],_[1]),_};function tT(r){return!isNaN(r)&&!isFinite(r)}function lG(r,e,t,n){var i=1-r,a=n.dimensions[r];return tT(e[i])&&tT(t[i])&&e[r]===t[r]&&n.getAxis(a).containData(e[r])}function iTe(r,e){if(r.type==="cartesian2d"){var t=e[0].coord,n=e[1].coord;if(t&&n&&(lG(1,t,n,r)||lG(0,t,n,r)))return!0}return Wy(r,e[0])&&Wy(r,e[1])}function GP(r,e,t,n,i){var a=n.coordinateSystem,o=r.getItemModel(e),s,u=Oe(o.get("x"),i.getWidth()),f=Oe(o.get("y"),i.getHeight());if(!isNaN(u)&&!isNaN(f))s=[u,f];else{if(n.getMarkerPosition)s=n.getMarkerPosition(r.getValues(r.dimensions,e));else{var h=a.dimensions,p=r.get(h[0],e),g=r.get(h[1],e);s=a.dataToPoint([p,g])}if(Wf(a,"cartesian2d")){var v=a.getAxis("x"),m=a.getAxis("y"),h=a.dimensions;tT(r.get(h[0],e))?s[0]=v.toGlobalCoord(v.getExtent()[t?0:1]):tT(r.get(h[1],e))&&(s[1]=m.toGlobalCoord(m.getExtent()[t?0:1]))}isNaN(u)||(s[0]=u),isNaN(f)||(s[1]=f)}r.setItemLayout(e,s)}var aTe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,n,i){n.eachSeries(function(a){var o=Gs.getMarkerModelFromSeries(a,"markLine");if(o){var s=o.getData(),u=Hw(o).from,f=Hw(o).to;u.each(function(h){GP(u,h,!0,a,i),GP(f,h,!1,a,i)}),s.each(function(h){s.setItemLayout(h,[u.getItemLayout(h),f.getItemLayout(h)])}),this.markerGroupMap.get(a.id).updateLayout()}},this)},e.prototype.renderSeries=function(t,n,i,a){var o=t.coordinateSystem,s=t.id,u=t.getData(),f=this.markerGroupMap,h=f.get(s)||f.set(s,new CF);this.group.add(h.group);var p=oTe(o,t,n),g=p.from,v=p.to,m=p.line;Hw(n).from=g,Hw(n).to=v,n.setData(m);var b=n.get("symbol"),_=n.get("symbolSize"),S=n.get("symbolRotate"),C=n.get("symbolOffset");we(b)||(b=[b,b]),we(_)||(_=[_,_]),we(S)||(S=[S,S]),we(C)||(C=[C,C]),p.from.each(function(k){w(g,k,!0),w(v,k,!1)}),m.each(function(k){var M=m.getItemModel(k).getModel("lineStyle").getLineStyle();m.setItemLayout(k,[g.getItemLayout(k),v.getItemLayout(k)]),M.stroke==null&&(M.stroke=g.getItemVisual(k,"style").fill),m.setItemVisual(k,{fromSymbolKeepAspect:g.getItemVisual(k,"symbolKeepAspect"),fromSymbolOffset:g.getItemVisual(k,"symbolOffset"),fromSymbolRotate:g.getItemVisual(k,"symbolRotate"),fromSymbolSize:g.getItemVisual(k,"symbolSize"),fromSymbol:g.getItemVisual(k,"symbol"),toSymbolKeepAspect:v.getItemVisual(k,"symbolKeepAspect"),toSymbolOffset:v.getItemVisual(k,"symbolOffset"),toSymbolRotate:v.getItemVisual(k,"symbolRotate"),toSymbolSize:v.getItemVisual(k,"symbolSize"),toSymbol:v.getItemVisual(k,"symbol"),style:M})}),h.updateData(m),p.line.eachItemGraphicEl(function(k){nt(k).dataModel=n,k.traverse(function(M){nt(M).dataModel=n})});function w(k,M,E){var I=k.getItemModel(M);GP(k,M,E,t,a);var O=I.getModel("itemStyle").getItemStyle();O.fill==null&&(O.fill=c_(u,"color")),k.setItemVisual(M,{symbolKeepAspect:I.get("symbolKeepAspect"),symbolOffset:it(I.get("symbolOffset",!0),C[E?0:1]),symbolRotate:it(I.get("symbolRotate",!0),S[E?0:1]),symbolSize:it(I.get("symbolSize"),_[E?0:1]),symbol:it(I.get("symbol",!0),b[E?0:1]),style:O})}this.markKeep(h),h.group.silent=n.get("silent")||t.get("silent")},e.type="markLine",e}(n$);function oTe(r,e,t){var n;r?n=Ce(r&&r.dimensions,function(f){var h=e.getData().getDimensionInfo(e.getData().mapDimension(f))||{};return me(me({},h),{name:f,ordinalMeta:null})}):n=[{name:"value",type:"float"}];var i=new fi(n,t),a=new fi(n,t),o=new fi([],t),s=Ce(t.get("data"),at(nTe,e,r,t));r&&(s=Wt(s,at(iTe,r)));var u=AZ(!!r,n);return i.initData(Ce(s,function(f){return f[0]}),null,u),a.initData(Ce(s,function(f){return f[1]}),null,u),o.initData(Ce(s,function(f){return f[2]})),o.hasItemOption=!0,{from:i,to:a,line:o}}function sTe(r){r.registerComponentModel(rTe),r.registerComponentView(aTe),r.registerPreprocessor(function(e){t$(e.series,"markLine")&&(e.markLine=e.markLine||{})})}var lTe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markArea",e.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},e}(Gs),jw=Ot(),uTe=function(r,e,t,n){var i=n[0],a=n[1];if(!(!i||!a)){var o=jy(r,i),s=jy(r,a),u=o.coord,f=s.coord;u[0]=mn(u[0],-1/0),u[1]=mn(u[1],-1/0),f[0]=mn(f[0],1/0),f[1]=mn(f[1],1/0);var h=nN([{},o,s]);return h.coord=[o.coord,s.coord],h.x0=o.x,h.y0=o.y,h.x1=s.x,h.y1=s.y,h}};function rT(r){return!isNaN(r)&&!isFinite(r)}function uG(r,e,t,n){var i=1-r;return rT(e[i])&&rT(t[i])}function cTe(r,e){var t=e.coord[0],n=e.coord[1],i={coord:t,x:e.x0,y:e.y0},a={coord:n,x:e.x1,y:e.y1};return Wf(r,"cartesian2d")?t&&n&&(uG(1,t,n)||uG(0,t,n))?!0:Q1e(r,i,a):Wy(r,i)||Wy(r,a)}function cG(r,e,t,n,i){var a=n.coordinateSystem,o=r.getItemModel(e),s,u=Oe(o.get(t[0]),i.getWidth()),f=Oe(o.get(t[1]),i.getHeight());if(!isNaN(u)&&!isNaN(f))s=[u,f];else{if(n.getMarkerPosition){var h=r.getValues(["x0","y0"],e),p=r.getValues(["x1","y1"],e),g=a.clampData(h),v=a.clampData(p),m=[];t[0]==="x0"?m[0]=g[0]>v[0]?p[0]:h[0]:m[0]=g[0]>v[0]?h[0]:p[0],t[1]==="y0"?m[1]=g[1]>v[1]?p[1]:h[1]:m[1]=g[1]>v[1]?h[1]:p[1],s=n.getMarkerPosition(m,t,!0)}else{var b=r.get(t[0],e),_=r.get(t[1],e),S=[b,_];a.clampData&&a.clampData(S,S),s=a.dataToPoint(S,!0)}if(Wf(a,"cartesian2d")){var C=a.getAxis("x"),w=a.getAxis("y"),b=r.get(t[0],e),_=r.get(t[1],e);rT(b)?s[0]=C.toGlobalCoord(C.getExtent()[t[0]==="x0"?0:1]):rT(_)&&(s[1]=w.toGlobalCoord(w.getExtent()[t[1]==="y0"?0:1]))}isNaN(u)||(s[0]=u),isNaN(f)||(s[1]=f)}return s}var fG=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],fTe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,n,i){n.eachSeries(function(a){var o=Gs.getMarkerModelFromSeries(a,"markArea");if(o){var s=o.getData();s.each(function(u){var f=Ce(fG,function(p){return cG(s,u,p,a,i)});s.setItemLayout(u,f);var h=s.getItemGraphicEl(u);h.setShape("points",f)})}},this)},e.prototype.renderSeries=function(t,n,i,a){var o=t.coordinateSystem,s=t.id,u=t.getData(),f=this.markerGroupMap,h=f.get(s)||f.set(s,{group:new rt});this.group.add(h.group),this.markKeep(h);var p=hTe(o,t,n);n.setData(p),p.each(function(g){var v=Ce(fG,function(O){return cG(p,g,O,t,a)}),m=o.getAxis("x").scale,b=o.getAxis("y").scale,_=m.getExtent(),S=b.getExtent(),C=[m.parse(p.get("x0",g)),m.parse(p.get("x1",g))],w=[b.parse(p.get("y0",g)),b.parse(p.get("y1",g))];Ia(C),Ia(w);var k=!(_[0]>C[1]||_[1]w[1]||S[1]=0},e.prototype.getOrient=function(){return this.get("orient")==="vertical"?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},e.type="legend.plain",e.dependencies=["series"],e.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},e}(Ct),Wd=at,nR=H,Ww=rt,EZ=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.newlineDisabled=!1,t}return e.prototype.init=function(){this.group.add(this._contentGroup=new Ww),this.group.add(this._selectorGroup=new Ww),this._isFirstRender=!0},e.prototype.getContentGroup=function(){return this._contentGroup},e.prototype.getSelectorGroup=function(){return this._selectorGroup},e.prototype.render=function(t,n,i){var a=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),!!t.get("show",!0)){var o=t.get("align"),s=t.get("orient");(!o||o==="auto")&&(o=t.get("left")==="right"&&s==="vertical"?"right":"left");var u=t.get("selector",!0),f=t.get("selectorPosition",!0);u&&(!f||f==="auto")&&(f=s==="horizontal"?"end":"start"),this.renderInner(o,t,n,i,u,s,f);var h=t.getBoxLayoutParams(),p={width:i.getWidth(),height:i.getHeight()},g=t.get("padding"),v=rn(h,p,g),m=this.layoutInner(t,o,v,a,u,f),b=rn(Qe({width:m.width,height:m.height},h),p,g);this.group.x=b.x-m.x,this.group.y=b.y-m.y,this.group.markRedraw(),this.group.add(this._backgroundEl=yZ(m,t))}},e.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},e.prototype.renderInner=function(t,n,i,a,o,s,u){var f=this.getContentGroup(),h=Ge(),p=n.get("selectedMode"),g=[];i.eachRawSeries(function(v){!v.get("legendHoverLink")&&g.push(v.id)}),nR(n.getData(),function(v,m){var b=v.get("name");if(!this.newlineDisabled&&(b===""||b===` -`)){var _=new Ww;_.newline=!0,f.add(_);return}var S=i.getSeriesByName(b)[0];if(!h.get(b))if(S){var C=S.getData(),w=C.getVisual("legendLineStyle")||{},k=C.getVisual("legendIcon"),M=C.getVisual("style"),E=this._createItem(S,b,m,v,n,t,w,M,k,p,a);E.on("click",Wd(hG,b,null,a,g)).on("mouseover",Wd(iR,S.name,null,a,g)).on("mouseout",Wd(aR,S.name,null,a,g)),i.ssr&&E.eachChild(function(I){var O=nt(I);O.seriesIndex=S.seriesIndex,O.dataIndex=m,O.ssrType="legend"}),h.set(b,!0)}else i.eachRawSeries(function(I){if(!h.get(b)&&I.legendVisualProvider){var O=I.legendVisualProvider;if(!O.containName(b))return;var R=O.indexOfName(b),$=O.getItemVisual(R,"style"),V=O.getItemVisual(R,"legendIcon"),z=ea($.fill);z&&z[3]===0&&(z[3]=.2,$=me(me({},$),{fill:Ls(z,"rgba")}));var B=this._createItem(I,b,m,v,n,t,{},$,V,p,a);B.on("click",Wd(hG,null,b,a,g)).on("mouseover",Wd(iR,null,b,a,g)).on("mouseout",Wd(aR,null,b,a,g)),i.ssr&&B.eachChild(function(j){var U=nt(j);U.seriesIndex=I.seriesIndex,U.dataIndex=m,U.ssrType="legend"}),h.set(b,!0)}},this)},this),o&&this._createSelector(o,n,a,s,u)},e.prototype._createSelector=function(t,n,i,a,o){var s=this.getSelectorGroup();nR(t,function(f){var h=f.type,p=new Rt({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){i.dispatchAction({type:h==="all"?"legendAllSelect":"legendInverseSelect",legendId:n.id})}});s.add(p);var g=n.getModel("selectorLabel"),v=n.getModel(["emphasis","selectorLabel"]);An(p,{normal:g,emphasis:v},{defaultText:f.title}),gf(p)})},e.prototype._createItem=function(t,n,i,a,o,s,u,f,h,p,g){var v=t.visualDrawType,m=o.get("itemWidth"),b=o.get("itemHeight"),_=o.isSelected(n),S=a.get("symbolRotate"),C=a.get("symbolKeepAspect"),w=a.get("icon");h=w||h||"roundRect";var k=vTe(h,a,u,f,v,_,g),M=new Ww,E=a.getModel("textStyle");if(Ke(t.getLegendIcon)&&(!w||w==="inherit"))M.add(t.getLegendIcon({itemWidth:m,itemHeight:b,icon:h,iconRotate:S,itemStyle:k.itemStyle,lineStyle:k.lineStyle,symbolKeepAspect:C}));else{var I=w==="inherit"&&t.getData().getVisual("symbol")?S==="inherit"?t.getData().getVisual("symbolRotate"):S:0;M.add(gTe({itemWidth:m,itemHeight:b,icon:h,iconRotate:I,itemStyle:k.itemStyle,symbolKeepAspect:C}))}var O=s==="left"?m+5:-5,R=s,$=o.get("formatter"),V=n;Be($)&&$?V=$.replace("{name}",n??""):Ke($)&&(V=$(n));var z=_?E.getTextColor():a.get("inactiveColor");M.add(new Rt({style:sr(E,{text:V,x:O,y:b/2,fill:z,align:R,verticalAlign:"middle"},{inheritColor:z})}));var B=new Pt({shape:M.getBoundingRect(),style:{fill:"transparent"}}),j=a.getModel("tooltip");return j.get("show")&&zf({el:B,componentModel:o,itemName:n,itemTooltipOption:j.option}),M.add(B),M.eachChild(function(U){U.silent=!0}),B.silent=!p,this.getContentGroup().add(M),gf(M),M.__legendDataIndex=i,M},e.prototype.layoutInner=function(t,n,i,a,o,s){var u=this.getContentGroup(),f=this.getSelectorGroup();yf(t.get("orient"),u,t.get("itemGap"),i.width,i.height);var h=u.getBoundingRect(),p=[-h.x,-h.y];if(f.markRedraw(),u.markRedraw(),o){yf("horizontal",f,t.get("selectorItemGap",!0));var g=f.getBoundingRect(),v=[-g.x,-g.y],m=t.get("selectorButtonGap",!0),b=t.getOrient().index,_=b===0?"width":"height",S=b===0?"height":"width",C=b===0?"y":"x";s==="end"?v[b]+=h[_]+m:p[b]+=g[_]+m,v[1-b]+=h[S]/2-g[S]/2,f.x=v[0],f.y=v[1],u.x=p[0],u.y=p[1];var w={x:0,y:0};return w[_]=h[_]+m+g[_],w[S]=Math.max(h[S],g[S]),w[C]=Math.min(0,g[C]+v[1-b]),w}else return u.x=p[0],u.y=p[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type="legend.plain",e}(_r);function vTe(r,e,t,n,i,a,o){function s(_,S){_.lineWidth==="auto"&&(_.lineWidth=S.lineWidth>0?2:0),nR(_,function(C,w){_[w]==="inherit"&&(_[w]=S[w])})}var u=e.getModel("itemStyle"),f=u.getItemStyle(),h=r.lastIndexOf("empty",0)===0?"fill":"stroke",p=u.getShallow("decal");f.decal=!p||p==="inherit"?n.decal:xp(p,o),f.fill==="inherit"&&(f.fill=n[i]),f.stroke==="inherit"&&(f.stroke=n[h]),f.opacity==="inherit"&&(f.opacity=(i==="fill"?n:t).opacity),s(f,n);var g=e.getModel("lineStyle"),v=g.getLineStyle();if(s(v,t),f.fill==="auto"&&(f.fill=n.fill),f.stroke==="auto"&&(f.stroke=n.fill),v.stroke==="auto"&&(v.stroke=n.fill),!a){var m=e.get("inactiveBorderWidth"),b=f[h];f.lineWidth=m==="auto"?n.lineWidth>0&&b?2:0:f.lineWidth,f.fill=e.get("inactiveColor"),f.stroke=e.get("inactiveBorderColor"),v.stroke=g.get("inactiveColor"),v.lineWidth=g.get("inactiveWidth")}return{itemStyle:f,lineStyle:v}}function gTe(r){var e=r.icon||"roundRect",t=jr(e,0,0,r.itemWidth,r.itemHeight,r.itemStyle.fill,r.symbolKeepAspect);return t.setStyle(r.itemStyle),t.rotation=(r.iconRotate||0)*Math.PI/180,t.setOrigin([r.itemWidth/2,r.itemHeight/2]),e.indexOf("empty")>-1&&(t.style.stroke=t.style.fill,t.style.fill="#fff",t.style.lineWidth=2),t}function hG(r,e,t,n){aR(r,e,t,n),t.dispatchAction({type:"legendToggleSelect",name:r??e}),iR(r,e,t,n)}function IZ(r){for(var e=r.getZr().storage.getDisplayList(),t,n=0,i=e.length;ni[o],_=[-v.x,-v.y];n||(_[a]=h[f]);var S=[0,0],C=[-m.x,-m.y],w=it(t.get("pageButtonGap",!0),t.get("itemGap",!0));if(b){var k=t.get("pageButtonPosition",!0);k==="end"?C[a]+=i[o]-m[o]:S[a]+=m[o]+w}C[1-a]+=v[s]/2-m[s]/2,h.setPosition(_),p.setPosition(S),g.setPosition(C);var M={x:0,y:0};if(M[o]=b?i[o]:v[o],M[s]=Math.max(v[s],m[s]),M[u]=Math.min(0,m[u]+C[1-a]),p.__rectSize=i[o],b){var E={x:0,y:0};E[o]=Math.max(i[o]-m[o]-w,0),E[s]=M[s],p.setClipPath(new Pt({shape:E})),p.__rectSize=E[o]}else g.eachChild(function(O){O.attr({invisible:!0,silent:!0})});var I=this._getPageInfo(t);return I.pageIndex!=null&&Bt(h,{x:I.contentPosition[0],y:I.contentPosition[1]},b?t:null),this._updatePageInfoView(t,I),M},e.prototype._pageGo=function(t,n,i){var a=this._getPageInfo(n)[t];a!=null&&i.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:n.id})},e.prototype._updatePageInfoView=function(t,n){var i=this._controllerGroup;H(["pagePrev","pageNext"],function(h){var p=h+"DataIndex",g=n[p]!=null,v=i.childOfName(h);v&&(v.setStyle("fill",g?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),v.cursor=g?"pointer":"default")});var a=i.childOfName("pageText"),o=t.get("pageFormatter"),s=n.pageIndex,u=s!=null?s+1:0,f=n.pageCount;a&&o&&a.setStyle("text",Be(o)?o.replace("{current}",u==null?"":u+"").replace("{total}",f==null?"":f+""):o({current:u,total:f}))},e.prototype._getPageInfo=function(t){var n=t.get("scrollDataIndex",!0),i=this.getContentGroup(),a=this._containerGroup.__rectSize,o=t.getOrient().index,s=UP[o],u=YP[o],f=this._findTargetItemIndex(n),h=i.children(),p=h[f],g=h.length,v=g?1:0,m={contentPosition:[i.x,i.y],pageCount:v,pageIndex:v-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!p)return m;var b=k(p);m.contentPosition[o]=-b.s;for(var _=f+1,S=b,C=b,w=null;_<=g;++_)w=k(h[_]),(!w&&C.e>S.s+a||w&&!M(w,S.s))&&(C.i>S.i?S=C:S=w,S&&(m.pageNextDataIndex==null&&(m.pageNextDataIndex=S.i),++m.pageCount)),C=w;for(var _=f-1,S=b,C=b,w=null;_>=-1;--_)w=k(h[_]),(!w||!M(C,w.s))&&S.i=I&&E.s<=I+a}},e.prototype._findTargetItemIndex=function(t){if(!this._showController)return 0;var n,i=this.getContentGroup(),a;return i.eachChild(function(o,s){var u=o.__legendDataIndex;a==null&&u!=null&&(a=s),u===t&&(n=s)}),n??a},e.type="legend.scroll",e}(EZ);function xTe(r){r.registerAction("legendScroll","legendscroll",function(e,t){var n=e.scrollDataIndex;n!=null&&t.eachComponent({mainType:"legend",subType:"scroll",query:e},function(i){i.setScrollDataIndex(n)})})}function STe(r){vt(PZ),r.registerComponentModel(_Te),r.registerComponentView(bTe),xTe(r)}function wTe(r){vt(PZ),vt(STe)}var CTe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.inside",e.defaultOption=xu(Hy.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}(Hy),i$=Ot();function TTe(r,e,t){i$(r).coordSysRecordMap.each(function(n){var i=n.dataZoomInfoMap.get(e.uid);i&&(i.getRange=t)})}function DTe(r,e){for(var t=i$(r).coordSysRecordMap,n=t.keys(),i=0;in[t+e]&&(e=s),i=i&&o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!i}}}function ITe(r){r.registerProcessor(r.PRIORITY.PROCESSOR.FILTER,function(e,t){var n=i$(t),i=n.coordSysRecordMap||(n.coordSysRecordMap=Ge());i.each(function(a){a.dataZoomInfoMap=null}),e.eachComponent({mainType:"dataZoom",subType:"inside"},function(a){var o=vZ(a);H(o.infoList,function(s){var u=s.model.uid,f=i.get(u)||i.set(u,kTe(t,s.model)),h=f.dataZoomInfoMap||(f.dataZoomInfoMap=Ge());h.set(a.uid,{dzReferCoordSysInfo:s,model:a,getRange:null})})}),i.each(function(a){var o=a.controller,s,u=a.dataZoomInfoMap;if(u){var f=u.keys()[0];f!=null&&(s=u.get(f))}if(!s){LZ(i,a);return}var h=ETe(u);o.enable(h.controlType,h.opt),o.setPointerChecker(a.containsPoint),Up(a,"dispatchAction",s.model.get("throttle",!0),"fixRate")})})}var PTe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type="dataZoom.inside",t}return e.prototype.render=function(t,n,i){if(r.prototype.render.apply(this,arguments),t.noTarget()){this._clear();return}this.range=t.getPercentRange(),TTe(i,t,{pan:ze(qP.pan,this),zoom:ze(qP.zoom,this),scrollMove:ze(qP.scrollMove,this)})},e.prototype.dispose=function(){this._clear(),r.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){DTe(this.api,this.dataZoomModel),this.range=null},e.type="dataZoom.inside",e}(KF),qP={zoom:function(r,e,t,n){var i=this.range,a=i.slice(),o=r.axisModels[0];if(o){var s=KP[e](null,[n.originX,n.originY],o,t,r),u=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],f=Math.max(1/n.scale,0);a[0]=(a[0]-u)*f+u,a[1]=(a[1]-u)*f+u;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();if(Uf(0,a,[0,100],0,h.minSpan,h.maxSpan),this.range=a,i[0]!==a[0]||i[1]!==a[1])return a}},pan:gG(function(r,e,t,n,i,a){var o=KP[n]([a.oldX,a.oldY],[a.newX,a.newY],e,i,t);return o.signal*(r[1]-r[0])*o.pixel/o.pixelLength}),scrollMove:gG(function(r,e,t,n,i,a){var o=KP[n]([0,0],[a.scrollDelta,a.scrollDelta],e,i,t);return o.signal*(r[1]-r[0])*a.scrollDelta})};function gG(r){return function(e,t,n,i){var a=this.range,o=a.slice(),s=e.axisModels[0];if(s){var u=r(o,s,e,t,n,i);if(Uf(u,o,[0,100],"all"),this.range=o,a[0]!==o[0]||a[1]!==o[1])return o}}}var KP={grid:function(r,e,t,n,i){var a=t.axis,o={},s=i.model.coordinateSystem.getRect();return r=r||[0,0],a.dim==="x"?(o.pixel=e[0]-r[0],o.pixelLength=s.width,o.pixelStart=s.x,o.signal=a.inverse?1:-1):(o.pixel=e[1]-r[1],o.pixelLength=s.height,o.pixelStart=s.y,o.signal=a.inverse?-1:1),o},polar:function(r,e,t,n,i){var a=t.axis,o={},s=i.model.coordinateSystem,u=s.getRadiusAxis().getExtent(),f=s.getAngleAxis().getExtent();return r=r?s.pointToCoord(r):[0,0],e=s.pointToCoord(e),t.mainType==="radiusAxis"?(o.pixel=e[0]-r[0],o.pixelLength=u[1]-u[0],o.pixelStart=u[0],o.signal=a.inverse?1:-1):(o.pixel=e[1]-r[1],o.pixelLength=f[1]-f[0],o.pixelStart=f[0],o.signal=a.inverse?-1:1),o},singleAxis:function(r,e,t,n,i){var a=t.axis,o=i.model.coordinateSystem.getRect(),s={};return r=r||[0,0],a.orient==="horizontal"?(s.pixel=e[0]-r[0],s.pixelLength=o.width,s.pixelStart=o.x,s.signal=a.inverse?1:-1):(s.pixel=e[1]-r[1],s.pixelLength=o.height,s.pixelStart=o.y,s.signal=a.inverse?-1:1),s}};function OZ(r){XF(r),r.registerComponentModel(CTe),r.registerComponentView(PTe),ITe(r)}var LTe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.slider",e.layoutMode="box",e.defaultOption=xu(Hy.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleLabel:{show:!0},handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),e}(Hy),wm=Pt,mG=7,OTe=1,XP=30,RTe=7,Cm="horizontal",yG="vertical",NTe=5,FTe=["line","bar","candlestick","scatter"],$Te={easing:"cubicOut",duration:100,delay:0},BTe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._displayables={},t}return e.prototype.init=function(t,n){this.api=n,this._onBrush=ze(this._onBrush,this),this._onBrushEnd=ze(this._onBrushEnd,this)},e.prototype.render=function(t,n,i,a){if(r.prototype.render.apply(this,arguments),Up(this,"_dispatchZoomAction",t.get("throttle"),"fixRate"),this._orient=t.getOrient(),t.get("show")===!1){this.group.removeAll();return}if(t.noTarget()){this._clear(),this.group.removeAll();return}(!a||a.type!=="dataZoom"||a.from!==this.uid)&&this._buildView(),this._updateView()},e.prototype.dispose=function(){this._clear(),r.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){Ay(this,"_dispatchZoomAction");var t=this.api.getZr();t.off("mousemove",this._onBrush),t.off("mouseup",this._onBrushEnd)},e.prototype._buildView=function(){var t=this.group;t.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var n=this._displayables.sliderGroup=new rt;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(n),this._positionGroup()},e.prototype._resetLocation=function(){var t=this.dataZoomModel,n=this.api,i=t.get("brushSelect"),a=i?RTe:0,o=this._findCoordRect(),s={width:n.getWidth(),height:n.getHeight()},u=this._orient===Cm?{right:s.width-o.x-o.width,top:s.height-XP-mG-a,width:o.width,height:XP}:{right:mG,top:o.y,width:XP,height:o.height},f=jp(t.option);H(["right","top","width","height"],function(p){f[p]==="ph"&&(f[p]=u[p])});var h=rn(f,s);this._location={x:h.x,y:h.y},this._size=[h.width,h.height],this._orient===yG&&this._size.reverse()},e.prototype._positionGroup=function(){var t=this.group,n=this._location,i=this._orient,a=this.dataZoomModel.getFirstTargetAxisModel(),o=a&&a.get("inverse"),s=this._displayables.sliderGroup,u=(this._dataShadowInfo||{}).otherAxisInverse;s.attr(i===Cm&&!o?{scaleY:u?1:-1,scaleX:1}:i===Cm&&o?{scaleY:u?1:-1,scaleX:-1}:i===yG&&!o?{scaleY:u?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:u?-1:1,scaleX:-1,rotation:Math.PI/2});var f=t.getBoundingRect([s]);t.x=n.x-f.x,t.y=n.y-f.y,t.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var t=this.dataZoomModel,n=this._size,i=this._displayables.sliderGroup,a=t.get("brushSelect");i.add(new wm({silent:!0,shape:{x:0,y:0,width:n[0],height:n[1]},style:{fill:t.get("backgroundColor")},z2:-40}));var o=new wm({shape:{x:0,y:0,width:n[0],height:n[1]},style:{fill:"transparent"},z2:0,onclick:ze(this._onClickPanel,this)}),s=this.api.getZr();a?(o.on("mousedown",this._onBrushStart,this),o.cursor="crosshair",s.on("mousemove",this._onBrush),s.on("mouseup",this._onBrushEnd)):(s.off("mousemove",this._onBrush),s.off("mouseup",this._onBrushEnd)),i.add(o)},e.prototype._renderDataShadow=function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],!t)return;var n=this._size,i=this._shadowSize||[],a=t.series,o=a.getRawData(),s=a.getShadowDim&&a.getShadowDim(),u=s&&o.getDimensionInfo(s)?a.getShadowDim():t.otherDim;if(u==null)return;var f=this._shadowPolygonPts,h=this._shadowPolylinePts;if(o!==this._shadowData||u!==this._shadowDim||n[0]!==i[0]||n[1]!==i[1]){var p=o.getDataExtent(u),g=(p[1]-p[0])*.3;p=[p[0]-g,p[1]+g];var v=[0,n[1]],m=[0,n[0]],b=[[n[0],0],[0,0]],_=[],S=m[1]/(o.count()-1),C=0,w=Math.round(o.count()/n[0]),k;o.each([u],function(R,$){if(w>0&&$%w){C+=S;return}var V=R==null||isNaN(R)||R==="",z=V?0:Ut(R,p,v,!0);V&&!k&&$?(b.push([b[b.length-1][0],0]),_.push([_[_.length-1][0],0])):!V&&k&&(b.push([C,0]),_.push([C,0])),b.push([C,z]),_.push([C,z]),C+=S,k=V}),f=this._shadowPolygonPts=b,h=this._shadowPolylinePts=_}this._shadowData=o,this._shadowDim=u,this._shadowSize=[n[0],n[1]];var M=this.dataZoomModel;function E(R){var $=M.getModel(R?"selectedDataBackground":"dataBackground"),V=new rt,z=new mi({shape:{points:f},segmentIgnoreThreshold:1,style:$.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),B=new yi({shape:{points:h},segmentIgnoreThreshold:1,style:$.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return V.add(z),V.add(B),V}for(var I=0;I<3;I++){var O=E(I===1);this._displayables.sliderGroup.add(O),this._displayables.dataShadowSegs.push(O)}},e.prototype._prepareDataShadowInfo=function(){var t=this.dataZoomModel,n=t.get("showDataShadow");if(n!==!1){var i,a=this.ecModel;return t.eachTargetAxis(function(o,s){var u=t.getAxisProxy(o,s).getTargetSeriesModels();H(u,function(f){if(!i&&!(n!==!0&&dt(FTe,f.get("type"))<0)){var h=a.getComponent(Kl(o),s).axis,p=zTe(o),g,v=f.coordinateSystem;p!=null&&v.getOtherAxis&&(g=v.getOtherAxis(h).inverse),p=f.getData().mapDimension(p),i={thisAxis:h,series:f,thisDim:o,otherDim:p,otherAxisInverse:g}}},this)},this),i}},e.prototype._renderHandle=function(){var t=this.group,n=this._displayables,i=n.handles=[null,null],a=n.handleLabels=[null,null],o=this._displayables.sliderGroup,s=this._size,u=this.dataZoomModel,f=this.api,h=u.get("borderRadius")||0,p=u.get("brushSelect"),g=n.filler=new wm({silent:p,style:{fill:u.get("fillerColor")},textConfig:{position:"inside"}});o.add(g),o.add(new wm({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:s[0],height:s[1],r:h},style:{stroke:u.get("dataBackgroundColor")||u.get("borderColor"),lineWidth:OTe,fill:"rgba(0,0,0,0)"}})),H([0,1],function(w){var k=u.get("handleIcon");!L1[k]&&k.indexOf("path://")<0&&k.indexOf("image://")<0&&(k="path://"+k);var M=jr(k,-1,0,2,2,null,!0);M.attr({cursor:_G(this._orient),draggable:!0,drift:ze(this._onDragMove,this,w),ondragend:ze(this._onDragEnd,this),onmouseover:ze(this._showDataInfo,this,!0),onmouseout:ze(this._showDataInfo,this,!1),z2:5});var E=M.getBoundingRect(),I=u.get("handleSize");this._handleHeight=Oe(I,this._size[1]),this._handleWidth=E.width/E.height*this._handleHeight,M.setStyle(u.getModel("handleStyle").getItemStyle()),M.style.strokeNoScale=!0,M.rectHover=!0,M.ensureState("emphasis").style=u.getModel(["emphasis","handleStyle"]).getItemStyle(),gf(M);var O=u.get("handleColor");O!=null&&(M.style.fill=O),o.add(i[w]=M);var R=u.getModel("textStyle"),$=u.get("handleLabel")||{},V=$.show||!1;t.add(a[w]=new Rt({silent:!0,invisible:!V,style:sr(R,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:R.getTextColor(),font:R.getFont()}),z2:10}))},this);var v=g;if(p){var m=Oe(u.get("moveHandleSize"),s[1]),b=n.moveHandle=new Pt({style:u.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:s[1]-.5,height:m}}),_=m*.8,S=n.moveHandleIcon=jr(u.get("moveHandleIcon"),-_/2,-_/2,_,_,"#fff",!0);S.silent=!0,S.y=s[1]+m/2-.5,b.ensureState("emphasis").style=u.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var C=Math.min(s[1]/2,Math.max(m,10));v=n.moveZone=new Pt({invisible:!0,shape:{y:s[1]-C,height:m+C}}),v.on("mouseover",function(){f.enterEmphasis(b)}).on("mouseout",function(){f.leaveEmphasis(b)}),o.add(b),o.add(S),o.add(v)}v.attr({draggable:!0,cursor:_G(this._orient),drift:ze(this._onDragMove,this,"all"),ondragstart:ze(this._showDataInfo,this,!0),ondragend:ze(this._onDragEnd,this),onmouseover:ze(this._showDataInfo,this,!0),onmouseout:ze(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var t=this._range=this.dataZoomModel.getPercentRange(),n=this._getViewExtent();this._handleEnds=[Ut(t[0],[0,100],n,!0),Ut(t[1],[0,100],n,!0)]},e.prototype._updateInterval=function(t,n){var i=this.dataZoomModel,a=this._handleEnds,o=this._getViewExtent(),s=i.findRepresentativeAxisProxy().getMinMaxSpan(),u=[0,100];Uf(n,a,o,i.get("zoomLock")?"all":t,s.minSpan!=null?Ut(s.minSpan,u,o,!0):null,s.maxSpan!=null?Ut(s.maxSpan,u,o,!0):null);var f=this._range,h=this._range=Ia([Ut(a[0],o,u,!0),Ut(a[1],o,u,!0)]);return!f||f[0]!==h[0]||f[1]!==h[1]},e.prototype._updateView=function(t){var n=this._displayables,i=this._handleEnds,a=Ia(i.slice()),o=this._size;H([0,1],function(v){var m=n.handles[v],b=this._handleHeight;m.attr({scaleX:b/2,scaleY:b/2,x:i[v]+(v?-1:1),y:o[1]/2-b/2})},this),n.filler.setShape({x:a[0],y:0,width:a[1]-a[0],height:o[1]});var s={x:a[0],width:a[1]-a[0]};n.moveHandle&&(n.moveHandle.setShape(s),n.moveZone.setShape(s),n.moveZone.getBoundingRect(),n.moveHandleIcon&&n.moveHandleIcon.attr("x",s.x+s.width/2));for(var u=n.dataShadowSegs,f=[0,a[0],a[1],o[0]],h=0;hn[0]||i[1]<0||i[1]>n[1])){var a=this._handleEnds,o=(a[0]+a[1])/2,s=this._updateInterval("all",i[0]-o);this._updateView(),s&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(t){var n=t.offsetX,i=t.offsetY;this._brushStart=new lt(n,i),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(t){if(this._brushing){var n=this._displayables.brushRect;if(this._brushing=!1,!!n){n.attr("ignore",!0);var i=n.shape,a=+new Date;if(!(a-this._brushStartTime<200&&Math.abs(i.width)<5)){var o=this._getViewExtent(),s=[0,100];this._range=Ia([Ut(i.x,o,s,!0),Ut(i.x+i.width,o,s,!0)]),this._handleEnds=[i.x,i.x+i.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(t){this._brushing&&($s(t.event),this._updateBrushRect(t.offsetX,t.offsetY))},e.prototype._updateBrushRect=function(t,n){var i=this._displayables,a=this.dataZoomModel,o=i.brushRect;o||(o=i.brushRect=new wm({silent:!0,style:a.getModel("brushStyle").getItemStyle()}),i.sliderGroup.add(o)),o.attr("ignore",!1);var s=this._brushStart,u=this._displayables.sliderGroup,f=u.transformCoordToLocal(t,n),h=u.transformCoordToLocal(s.x,s.y),p=this._size;f[0]=Math.max(Math.min(p[0],f[0]),0),o.setShape({x:h[0],y:0,width:f[0]-h[0],height:p[1]})},e.prototype._dispatchZoomAction=function(t){var n=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:t?$Te:null,start:n[0],end:n[1]})},e.prototype._findCoordRect=function(){var t,n=vZ(this.dataZoomModel).infoList;if(!t&&n.length){var i=n[0].model.coordinateSystem;t=i.getRect&&i.getRect()}if(!t){var a=this.api.getWidth(),o=this.api.getHeight();t={x:a*.2,y:o*.2,width:a*.6,height:o*.6}}return t},e.type="dataZoom.slider",e}(KF);function zTe(r){var e={x:"y",y:"x",radius:"angle",angle:"radius"};return e[r]}function _G(r){return r==="vertical"?"ns-resize":"ew-resize"}function RZ(r){r.registerComponentModel(LTe),r.registerComponentView(BTe),XF(r)}function VTe(r){vt(OZ),vt(RZ)}var NZ={get:function(r,e,t){var n=et((HTe[r]||{})[e]);return t&&we(n)?n[n.length-1]:n}},HTe={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},bG=fn.mapVisual,jTe=fn.eachVisual,WTe=we,xG=H,GTe=Ia,UTe=Ut,nT=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t.stateList=["inRange","outOfRange"],t.replacableOptionKeys=["inRange","outOfRange","target","controller","color"],t.layoutMode={type:"box",ignoreSize:!0},t.dataBound=[-1/0,1/0],t.targetVisuals={},t.controllerVisuals={},t}return e.prototype.init=function(t,n,i){this.mergeDefaultAndTheme(t,i)},e.prototype.optionUpdated=function(t,n){var i=this.option;!n&&TZ(i,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},e.prototype.resetVisual=function(t){var n=this.stateList;t=ze(t,this),this.controllerVisuals=J2(this.option.controller,n,t),this.targetVisuals=J2(this.option.target,n,t)},e.prototype.getItemSymbol=function(){return null},e.prototype.getTargetSeriesIndices=function(){var t=this.option.seriesIndex,n=[];return t==null||t==="all"?this.ecModel.eachSeries(function(i,a){n.push(a)}):n=Jt(t),n},e.prototype.eachTargetSeries=function(t,n){H(this.getTargetSeriesIndices(),function(i){var a=this.ecModel.getSeriesByIndex(i);a&&t.call(n,a)},this)},e.prototype.isTargetSeries=function(t){var n=!1;return this.eachTargetSeries(function(i){i===t&&(n=!0)}),n},e.prototype.formatValueText=function(t,n,i){var a=this.option,o=a.precision,s=this.dataBound,u=a.formatter,f;i=i||["<",">"],we(t)&&(t=t.slice(),f=!0);var h=n?t:f?[p(t[0]),p(t[1])]:p(t);if(Be(u))return u.replace("{value}",f?h[0]:h).replace("{value2}",f?h[1]:h);if(Ke(u))return f?u(t[0],t[1]):u(t);if(f)return t[0]===s[0]?i[0]+" "+h[1]:t[1]===s[1]?i[1]+" "+h[0]:h[0]+" - "+h[1];return h;function p(g){return g===s[0]?"min":g===s[1]?"max":(+g).toFixed(Math.min(o,20))}},e.prototype.resetExtent=function(){var t=this.option,n=GTe([t.min,t.max]);this._dataExtent=n},e.prototype.getDataDimensionIndex=function(t){var n=this.option.dimension;if(n!=null)return t.getDimensionIndex(n);for(var i=t.dimensions,a=i.length-1;a>=0;a--){var o=i[a],s=t.getDimensionInfo(o);if(!s.isCalculationCoord)return s.storeDimIndex}},e.prototype.getExtent=function(){return this._dataExtent.slice()},e.prototype.completeVisualOption=function(){var t=this.ecModel,n=this.option,i={inRange:n.inRange,outOfRange:n.outOfRange},a=n.target||(n.target={}),o=n.controller||(n.controller={});ot(a,i),ot(o,i);var s=this.isCategory();u.call(this,a),u.call(this,o),f.call(this,a,"inRange","outOfRange"),h.call(this,o);function u(p){WTe(n.color)&&!p.inRange&&(p.inRange={color:n.color.slice().reverse()}),p.inRange=p.inRange||{color:t.get("gradientColor")}}function f(p,g,v){var m=p[g],b=p[v];m&&!b&&(b=p[v]={},xG(m,function(_,S){if(fn.isValidType(S)){var C=NZ.get(S,"inactive",s);C!=null&&(b[S]=C,S==="color"&&!b.hasOwnProperty("opacity")&&!b.hasOwnProperty("colorAlpha")&&(b.opacity=[0,0]))}}))}function h(p){var g=(p.inRange||{}).symbol||(p.outOfRange||{}).symbol,v=(p.inRange||{}).symbolSize||(p.outOfRange||{}).symbolSize,m=this.get("inactiveColor"),b=this.getItemSymbol(),_=b||"roundRect";xG(this.stateList,function(S){var C=this.itemSize,w=p[S];w||(w=p[S]={color:s?m:[m]}),w.symbol==null&&(w.symbol=g&&et(g)||(s?_:[_])),w.symbolSize==null&&(w.symbolSize=v&&et(v)||(s?C[0]:[C[0],C[0]])),w.symbol=bG(w.symbol,function(E){return E==="none"?_:E});var k=w.symbolSize;if(k!=null){var M=-1/0;jTe(k,function(E){E>M&&(M=E)}),w.symbolSize=bG(k,function(E){return UTe(E,[0,M],[0,C[0]],!0)})}},this)}},e.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},e.prototype.isCategory=function(){return!!this.option.categories},e.prototype.setSelected=function(t){},e.prototype.getSelected=function(){return null},e.prototype.getValueState=function(t){return null},e.prototype.getVisualMeta=function(t){return null},e.type="visualMap",e.dependencies=["series"],e.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}},e}(Ct),SG=[20,140],YTe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(t,n){r.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual(function(i){i.mappingMethod="linear",i.dataExtent=this.getExtent()}),this._resetRange()},e.prototype.resetItemSize=function(){r.prototype.resetItemSize.apply(this,arguments);var t=this.itemSize;(t[0]==null||isNaN(t[0]))&&(t[0]=SG[0]),(t[1]==null||isNaN(t[1]))&&(t[1]=SG[1])},e.prototype._resetRange=function(){var t=this.getExtent(),n=this.option.range;!n||n.auto?(t.auto=1,this.option.range=t):we(n)&&(n[0]>n[1]&&n.reverse(),n[0]=Math.max(n[0],t[0]),n[1]=Math.min(n[1],t[1]))},e.prototype.completeVisualOption=function(){r.prototype.completeVisualOption.apply(this,arguments),H(this.stateList,function(t){var n=this.option.controller[t].symbolSize;n&&n[0]!==n[1]&&(n[0]=n[1]/3)},this)},e.prototype.setSelected=function(t){this.option.range=t.slice(),this._resetRange()},e.prototype.getSelected=function(){var t=this.getExtent(),n=Ia((this.get("range")||[]).slice());return n[0]>t[1]&&(n[0]=t[1]),n[1]>t[1]&&(n[1]=t[1]),n[0]=i[1]||t<=n[1])?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var n=[];return this.eachTargetSeries(function(i){var a=[],o=i.getData();o.each(this.getDataDimensionIndex(o),function(s,u){t[0]<=s&&s<=t[1]&&a.push(u)},this),n.push({seriesId:i.id,dataIndex:a})},this),n},e.prototype.getVisualMeta=function(t){var n=wG(this,"outOfRange",this.getExtent()),i=wG(this,"inRange",this.option.range.slice()),a=[];function o(v,m){a.push({value:v,color:t(v,m)})}for(var s=0,u=0,f=i.length,h=n.length;ut[1])break;a.push({color:this.getControllerVisual(u,"color",n),offset:s/i})}return a.push({color:this.getControllerVisual(t[1],"color",n),offset:1}),a},e.prototype._createBarPoints=function(t,n){var i=this.visualMapModel.itemSize;return[[i[0]-n[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-n[1],t[1]]]},e.prototype._createBarGroup=function(t){var n=this._orient,i=this.visualMapModel.get("inverse");return new rt(n==="horizontal"&&!i?{scaleX:t==="bottom"?1:-1,rotation:Math.PI/2}:n==="horizontal"&&i?{scaleX:t==="bottom"?-1:1,rotation:-Math.PI/2}:n==="vertical"&&!i?{scaleX:t==="left"?1:-1,scaleY:-1}:{scaleX:t==="left"?1:-1})},e.prototype._updateHandle=function(t,n){if(this._useHandle){var i=this._shapes,a=this.visualMapModel,o=i.handleThumbs,s=i.handleLabels,u=a.itemSize,f=a.getExtent(),h=this._applyTransform("left",i.mainGroup);qTe([0,1],function(p){var g=o[p];g.setStyle("fill",n.handlesColor[p]),g.y=t[p];var v=$o(t[p],[0,u[1]],f,!0),m=this.getControllerVisual(v,"symbolSize");g.scaleX=g.scaleY=m/u[0],g.x=u[0]-m/2;var b=lo(i.handleLabelPoints[p],mf(g,this.group));if(this._orient==="horizontal"){var _=h==="left"||h==="top"?(u[0]-m)/2:(u[0]-m)/-2;b[1]+=_}s[p].setStyle({x:b[0],y:b[1],text:a.formatValueText(this._dataInterval[p]),verticalAlign:"middle",align:this._orient==="vertical"?this._applyTransform("left",i.mainGroup):"center"})},this)}},e.prototype._showIndicator=function(t,n,i,a){var o=this.visualMapModel,s=o.getExtent(),u=o.itemSize,f=[0,u[1]],h=this._shapes,p=h.indicator;if(p){p.attr("invisible",!1);var g={convertOpacityToAlpha:!0},v=this.getControllerVisual(t,"color",g),m=this.getControllerVisual(t,"symbolSize"),b=$o(t,s,f,!0),_=u[0]-m/2,S={x:p.x,y:p.y};p.y=b,p.x=_;var C=lo(h.indicatorLabelPoint,mf(p,this.group)),w=h.indicatorLabel;w.attr("invisible",!1);var k=this._applyTransform("left",h.mainGroup),M=this._orient,E=M==="horizontal";w.setStyle({text:(i||"")+o.formatValueText(n),verticalAlign:E?k:"middle",align:E?"center":k});var I={x:_,y:b,style:{fill:v}},O={style:{x:C[0],y:C[1]}};if(o.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var R={duration:100,easing:"cubicInOut",additive:!0};p.x=S.x,p.y=S.y,p.animateTo(I,R),w.animateTo(O,R)}else p.attr(I),w.attr(O);this._firstShowIndicator=!1;var $=this._shapes.handleLabels;if($)for(var V=0;V<$.length;V++)this.api.enterBlur($[V])}},e.prototype._enableHoverLinkToSeries=function(){var t=this;this._shapes.mainGroup.on("mousemove",function(n){if(t._hovering=!0,!t._dragging){var i=t.visualMapModel.itemSize,a=t._applyTransform([n.offsetX,n.offsetY],t._shapes.mainGroup,!0,!0);a[1]=TG(ZP(0,a[1]),i[1]),t._doHoverLinkToSeries(a[1],0<=a[0]&&a[0]<=i[0])}}).on("mouseout",function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},e.prototype._enableHoverLinkFromSeries=function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},e.prototype._doHoverLinkToSeries=function(t,n){var i=this.visualMapModel,a=i.itemSize;if(i.option.hoverLink){var o=[0,a[1]],s=i.getExtent();t=TG(ZP(o[0],t),o[1]);var u=QTe(i,s,o),f=[t-u,t+u],h=$o(t,o,s,!0),p=[$o(f[0],o,s,!0),$o(f[1],o,s,!0)];f[0]o[1]&&(p[1]=1/0),n&&(p[0]===-1/0?this._showIndicator(h,p[1],"< ",u):p[1]===1/0?this._showIndicator(h,p[0],"> ",u):this._showIndicator(h,h,"≈ ",u));var g=this._hoverLinkDataIndices,v=[];(n||kG(i))&&(v=this._hoverLinkDataIndices=i.findTargetDataIndices(p));var m=nue(g,v);this._dispatchHighDown("downplay",GC(m[0],i)),this._dispatchHighDown("highlight",GC(m[1],i))}},e.prototype._hoverLinkFromSeriesMouseOver=function(t){var n;if(rf(t.target,function(u){var f=nt(u);if(f.dataIndex!=null)return n=f,!0},!0),!!n){var i=this.ecModel.getSeriesByIndex(n.seriesIndex),a=this.visualMapModel;if(a.isTargetSeries(i)){var o=i.getData(n.dataType),s=o.getStore().get(a.getDataDimensionIndex(o),n.dataIndex);isNaN(s)||this._showIndicator(s,s)}}},e.prototype._hideIndicator=function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0);var n=this._shapes.handleLabels;if(n)for(var i=0;i=0&&(a.dimension=o,n.push(a))}}),r.getData().setVisual("visualMeta",n)}}];function rDe(r,e,t,n){for(var i=e.targetVisuals[n],a=fn.prepareVisualTypes(i),o={color:c_(r.getData(),"color")},s=0,u=a.length;s0:e.splitNumber>0)||e.calculable)?"continuous":"piecewise"}),r.registerAction(JTe,eDe),H(tDe,function(e){r.registerVisual(r.PRIORITY.VISUAL.COMPONENT,e)}),r.registerPreprocessor(nDe))}function zZ(r){r.registerComponentModel(YTe),r.registerComponentView(ZTe),BZ(r)}var iDe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t._pieceList=[],t}return e.prototype.optionUpdated=function(t,n){r.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var i=this._mode=this._determineMode();this._pieceList=[],aDe[this._mode].call(this,this._pieceList),this._resetSelected(t,n);var a=this.option.categories;this.resetVisual(function(o,s){i==="categories"?(o.mappingMethod="category",o.categories=et(a)):(o.dataExtent=this.getExtent(),o.mappingMethod="piecewise",o.pieceList=Ce(this._pieceList,function(u){return u=et(u),s!=="inRange"&&(u.visual=null),u}))})},e.prototype.completeVisualOption=function(){var t=this.option,n={},i=fn.listVisualTypes(),a=this.isCategory();H(t.pieces,function(s){H(i,function(u){s.hasOwnProperty(u)&&(n[u]=1)})}),H(n,function(s,u){var f=!1;H(this.stateList,function(h){f=f||o(t,h,u)||o(t.target,h,u)},this),!f&&H(this.stateList,function(h){(t[h]||(t[h]={}))[u]=NZ.get(u,h==="inRange"?"active":"inactive",a)})},this);function o(s,u,f){return s&&s[u]&&s[u].hasOwnProperty(f)}r.prototype.completeVisualOption.apply(this,arguments)},e.prototype._resetSelected=function(t,n){var i=this.option,a=this._pieceList,o=(n?i:t).selected||{};if(i.selected=o,H(a,function(u,f){var h=this.getSelectedMapKey(u);o.hasOwnProperty(h)||(o[h]=!0)},this),i.selectedMode==="single"){var s=!1;H(a,function(u,f){var h=this.getSelectedMapKey(u);o[h]&&(s?o[h]=!1:s=!0)},this)}},e.prototype.getItemSymbol=function(){return this.get("itemSymbol")},e.prototype.getSelectedMapKey=function(t){return this._mode==="categories"?t.value+"":t.index+""},e.prototype.getPieceList=function(){return this._pieceList},e.prototype._determineMode=function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},e.prototype.setSelected=function(t){this.option.selected=et(t)},e.prototype.getValueState=function(t){var n=fn.findPieceIndex(t,this._pieceList);return n!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[n])]?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var n=[],i=this._pieceList;return this.eachTargetSeries(function(a){var o=[],s=a.getData();s.each(this.getDataDimensionIndex(s),function(u,f){var h=fn.findPieceIndex(u,i);h===t&&o.push(f)},this),n.push({seriesId:a.id,dataIndex:o})},this),n},e.prototype.getRepresentValue=function(t){var n;if(this.isCategory())n=t.value;else if(t.value!=null)n=t.value;else{var i=t.interval||[];n=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return n},e.prototype.getVisualMeta=function(t){if(this.isCategory())return;var n=[],i=["",""],a=this;function o(h,p){var g=a.getRepresentValue({interval:h});p||(p=a.getValueState(g));var v=t(g,p);h[0]===-1/0?i[0]=v:h[1]===1/0?i[1]=v:n.push({value:h[0],color:v},{value:h[1],color:v})}var s=this._pieceList.slice();if(!s.length)s.push({interval:[-1/0,1/0]});else{var u=s[0].interval[0];u!==-1/0&&s.unshift({interval:[-1/0,u]}),u=s[s.length-1].interval[1],u!==1/0&&s.push({interval:[u,1/0]})}var f=-1/0;return H(s,function(h){var p=h.interval;p&&(p[0]>f&&o([f,p[0]],"outOfRange"),o(p.slice()),f=p[1])},this),{stops:n,outerColors:i}},e.type="visualMap.piecewise",e.defaultOption=xu(nT.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),e}(nT),aDe={splitNumber:function(r){var e=this.option,t=Math.min(e.precision,20),n=this.getExtent(),i=e.splitNumber;i=Math.max(parseInt(i,10),1),e.splitNumber=i;for(var a=(n[1]-n[0])/i;+a.toFixed(t)!==a&&t<5;)t++;e.precision=t,a=+a.toFixed(t),e.minOpen&&r.push({interval:[-1/0,n[0]],close:[0,0]});for(var o=0,s=n[0];o","≥"][n[0]]];t.text=t.text||this.formatValueText(t.value!=null?t.value:t.interval,!1,i)},this)}};function IG(r,e){var t=r.inverse;(r.orient==="vertical"?!t:t)&&e.reverse()}var oDe=function(r){ae(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.doRender=function(){var t=this.group;t.removeAll();var n=this.visualMapModel,i=n.get("textGap"),a=n.textStyleModel,o=a.getFont(),s=a.getTextColor(),u=this._getItemAlign(),f=n.itemSize,h=this._getViewData(),p=h.endsText,g=mn(n.get("showLabel",!0),!p),v=!n.get("selectedMode");p&&this._renderEndsText(t,p[0],f,g,u),H(h.viewPieceList,function(m){var b=m.piece,_=new rt;_.onclick=ze(this._onItemClick,this,b),this._enableHoverLink(_,m.indexInModelPieceList);var S=n.getRepresentValue(b);if(this._createItemSymbol(_,S,[0,0,f[0],f[1]],v),g){var C=this.visualMapModel.getValueState(S);_.add(new Rt({style:{x:u==="right"?-i:f[0]+i,y:f[1]/2,text:b.text,verticalAlign:"middle",align:u,font:o,fill:s,opacity:C==="outOfRange"?.5:1},silent:v}))}t.add(_)},this),p&&this._renderEndsText(t,p[1],f,g,u),yf(n.get("orient"),t,n.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},e.prototype._enableHoverLink=function(t,n){var i=this;t.on("mouseover",function(){return a("highlight")}).on("mouseout",function(){return a("downplay")});var a=function(o){var s=i.visualMapModel;s.option.hoverLink&&i.api.dispatchAction({type:o,batch:GC(s.findTargetDataIndices(n),s)})}},e.prototype._getItemAlign=function(){var t=this.visualMapModel,n=t.option;if(n.orient==="vertical")return $Z(t,this.api,t.itemSize);var i=n.align;return(!i||i==="auto")&&(i="left"),i},e.prototype._renderEndsText=function(t,n,i,a,o){if(n){var s=new rt,u=this.visualMapModel.textStyleModel;s.add(new Rt({style:sr(u,{x:a?o==="right"?i[0]:0:i[0]/2,y:i[1]/2,verticalAlign:"middle",align:a?o:"center",text:n})})),t.add(s)}},e.prototype._getViewData=function(){var t=this.visualMapModel,n=Ce(t.getPieceList(),function(s,u){return{piece:s,indexInModelPieceList:u}}),i=t.get("text"),a=t.get("orient"),o=t.get("inverse");return(a==="horizontal"?o:!o)?n.reverse():i&&(i=i.slice().reverse()),{viewPieceList:n,endsText:i}},e.prototype._createItemSymbol=function(t,n,i,a){var o=jr(this.getControllerVisual(n,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(n,"color"));o.silent=a,t.add(o)},e.prototype._onItemClick=function(t){var n=this.visualMapModel,i=n.option,a=i.selectedMode;if(a){var o=et(i.selected),s=n.getSelectedMapKey(t);a==="single"||a===!0?(o[s]=!0,H(o,function(u,f){o[f]=f===s})):o[s]=!o[s],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}},e.type="visualMap.piecewise",e}(FZ);function VZ(r){r.registerComponentModel(iDe),r.registerComponentView(oDe),BZ(r)}function sDe(r){vt(zZ),vt(VZ)}var lDe={label:{enabled:!0},decal:{show:!1}},PG=Ot(),uDe={};function cDe(r,e){var t=r.getModel("aria");if(!t.get("enabled"))return;var n=et(lDe);ot(n.label,r.getLocaleModel().get("aria"),!1),ot(t.option,n,!1),i(),a();function i(){var f=t.getModel("decal"),h=f.get("show");if(h){var p=Ge();r.eachSeries(function(g){if(!g.isColorBySeries()){var v=p.get(g.type);v||(v={},p.set(g.type,v)),PG(g).scope=v}}),r.eachRawSeries(function(g){if(r.isSeriesFiltered(g))return;if(Ke(g.enableAriaDecal)){g.enableAriaDecal();return}var v=g.getData();if(g.isColorBySeries()){var C=a2(g.ecModel,g.name,uDe,r.getSeriesCount()),w=v.getVisual("decal");v.setVisual("decal",k(w,C))}else{var m=g.getRawData(),b={},_=PG(g).scope;v.each(function(M){var E=v.getRawIndex(M);b[E]=M});var S=m.count();m.each(function(M){var E=b[M],I=m.getName(M)||M+"",O=a2(g.ecModel,I,_,S),R=v.getItemVisual(E,"decal");v.setItemVisual(E,"decal",k(R,O))})}function k(M,E){var I=M?me(me({},E),M):E;return I.dirty=!0,I}})}}function a(){var f=e.getZr().dom;if(f){var h=r.getLocaleModel().get("aria"),p=t.getModel("label");if(p.option=Qe(p.option,h),!!p.get("enabled")){if(f.setAttribute("role","img"),p.get("description")){f.setAttribute("aria-label",p.get("description"));return}var g=r.getSeriesCount(),v=p.get(["data","maxCount"])||10,m=p.get(["series","maxCount"])||10,b=Math.min(g,m),_;if(!(g<1)){var S=s();if(S){var C=p.get(["general","withTitle"]);_=o(C,{title:S})}else _=p.get(["general","withoutTitle"]);var w=[],k=g>1?p.get(["series","multiple","prefix"]):p.get(["series","single","prefix"]);_+=o(k,{seriesCount:g}),r.eachSeries(function(O,R){if(R1?p.get(["series","multiple",z]):p.get(["series","single",z]),$=o($,{seriesId:O.seriesIndex,seriesName:O.get("name"),seriesType:u(O.subType)});var B=O.getData();if(B.count()>v){var j=p.get(["data","partialData"]);$+=o(j,{displayCnt:v})}else $+=p.get(["data","allData"]);for(var U=p.get(["data","separator","middle"]),X=p.get(["data","separator","end"]),ee=p.get(["data","excludeDimensionId"]),Z=[],re=0;re":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},dDe=function(){function r(e){var t=this._condVal=Be(e)?new RegExp(e):bse(e)?e:null;if(t==null){var n="";jt(n)}}return r.prototype.evaluate=function(e){var t=typeof e;return Be(t)?this._condVal.test(e):Ft(t)?this._condVal.test(e+""):!1},r}(),pDe=function(){function r(){}return r.prototype.evaluate=function(){return this.value},r}(),vDe=function(){function r(){}return r.prototype.evaluate=function(){for(var e=this.children,t=0;t2&&n.push(i),i=[B,j]}function h(B,j,U,X){sp(B,U)&&sp(j,X)||i.push(B,j,U,X,U,X)}function p(B,j,U,X,ee,Z){var re=Math.abs(j-B),de=Math.tan(re/4)*4/3,ve=jO:V2&&n.push(i),n}function sR(r,e,t,n,i,a,o,s,u,f){if(sp(r,t)&&sp(e,n)&&sp(i,o)&&sp(a,s)){u.push(o,s);return}var h=2/f,p=h*h,g=o-r,v=s-e,m=Math.sqrt(g*g+v*v);g/=m,v/=m;var b=t-r,_=n-e,S=i-o,C=a-s,w=b*b+_*_,k=S*S+C*C;if(w=0&&O=0){u.push(o,s);return}var R=[],$=[];fu(r,t,i,o,.5,R),fu(e,n,a,s,.5,$),sR(R[0],$[0],R[1],$[1],R[2],$[2],R[3],$[3],u,f),sR(R[4],$[4],R[5],$[5],R[6],$[6],R[7],$[7],u,f)}function ADe(r,e){var t=oR(r),n=[];e=e||1;for(var i=0;i0)for(var f=0;fMath.abs(f),p=jZ([u,f],h?0:1,e),g=(h?s:f)/p.length,v=0;vi,o=jZ([n,i],a?0:1,e),s=a?"width":"height",u=a?"height":"width",f=a?"x":"y",h=a?"y":"x",p=r[s]/o.length,g=0;g1?null:new lt(b*u+r,b*f+e)}function PDe(r,e,t){var n=new lt;lt.sub(n,t,e),n.normalize();var i=new lt;lt.sub(i,r,e);var a=i.dot(n);return a}function Ud(r,e){var t=r[r.length-1];t&&t[0]===e[0]&&t[1]===e[1]||r.push(e)}function LDe(r,e,t){for(var n=r.length,i=[],a=0;ao?(f.x=h.x=s+a/2,f.y=u,h.y=u+o):(f.y=h.y=u+o/2,f.x=s,h.x=s+a),LDe(e,f,h)}function iT(r,e,t,n){if(t===1)n.push(e);else{var i=Math.floor(t/2),a=r(e);iT(r,a[0],i,n),iT(r,a[1],t-i,n)}return n}function ODe(r,e){for(var t=[],n=0;n0;f/=2){var h=0,p=0;(r&f)>0&&(h=1),(e&f)>0&&(p=1),s+=f*f*(3*h^p),p===0&&(h===1&&(r=f-1-r,e=f-1-e),u=r,r=e,e=u)}return s}function sT(r){var e=1/0,t=1/0,n=-1/0,i=-1/0,a=Ce(r,function(s){var u=s.getBoundingRect(),f=s.getComputedTransform(),h=u.x+u.width/2+(f?f[4]:0),p=u.y+u.height/2+(f?f[5]:0);return e=Math.min(h,e),t=Math.min(p,t),n=Math.max(h,n),i=Math.max(p,i),[h,p]}),o=Ce(a,function(s,u){return{cp:s,z:jDe(s[0],s[1],e,t,n,i),path:r[u]}});return o.sort(function(s,u){return s.z-u.z}).map(function(s){return s.path})}function UZ(r){return FDe(r.path,r.count)}function lR(){return{fromIndividuals:[],toIndividuals:[],count:0}}function WDe(r,e,t){var n=[];function i(M){for(var E=0;E=0;i--)if(!t[i].many.length){var u=t[s].many;if(u.length<=1)if(s)s=0;else return t;var a=u.length,f=Math.ceil(a/2);t[i].many=u.slice(f,a),t[s].many=u.slice(0,f),s++}return t}var UDe={clone:function(r){for(var e=[],t=1-Math.pow(1-r.path.style.opacity,1/r.count),n=0;n0))return;var s=n.getModel("universalTransition").get("delay"),u=Object.assign({setToFinal:!0},o),f,h;VG(r)&&(f=r,h=e),VG(e)&&(f=e,h=r);function p(S,C,w,k,M){var E=S.many,I=S.one;if(E.length===1&&!M){var O=C?E[0]:I,R=C?I:E[0];if(aT(O))p({many:[O],one:R},!0,w,k,!0);else{var $=s?Qe({delay:s(w,k)},u):u;o$(O,R,$),a(O,R,O,R,$)}}else for(var V=Qe({dividePath:UDe[t],individualDelay:s&&function(ee,Z,re,de){return s(ee+w,k)}},u),z=C?WDe(E,I,V):GDe(I,E,V),B=z.fromIndividuals,j=z.toIndividuals,U=B.length,X=0;Xe.length,v=f?HG(h,f):HG(g?e:r,[g?r:e]),m=0,b=0;bYZ))for(var a=n.getIndices(),o=0;o0&&E.group.traverse(function(O){O instanceof gt&&!O.animators.length&&O.animateFrom({style:{opacity:0}},I)})})}function YG(r){var e=r.getModel("universalTransition").get("seriesKey");return e||r.id}function qG(r){return we(r)?r.sort().join(","):r}function Fl(r){if(r.hostModel)return r.hostModel.getModel("universalTransition").get("divideShape")}function JDe(r,e){var t=Ge(),n=Ge(),i=Ge();return H(r.oldSeries,function(a,o){var s=r.oldDataGroupIds[o],u=r.oldData[o],f=YG(a),h=qG(f);n.set(h,{dataGroupId:s,data:u}),we(f)&&H(f,function(p){i.set(p,{key:h,dataGroupId:s,data:u})})}),H(e.updatedSeries,function(a){if(a.isUniversalTransitionEnabled()&&a.isAnimationEnabled()){var o=a.get("dataGroupId"),s=a.getData(),u=YG(a),f=qG(u),h=n.get(f);if(h)t.set(f,{oldSeries:[{dataGroupId:h.dataGroupId,divide:Fl(h.data),data:h.data}],newSeries:[{dataGroupId:o,divide:Fl(s),data:s}]});else if(we(u)){var p=[];H(u,function(m){var b=n.get(m);b.data&&p.push({dataGroupId:b.dataGroupId,divide:Fl(b.data),data:b.data})}),p.length&&t.set(f,{oldSeries:p,newSeries:[{dataGroupId:o,data:s,divide:Fl(s)}]})}else{var g=i.get(u);if(g){var v=t.get(g.key);v||(v={oldSeries:[{dataGroupId:g.dataGroupId,data:g.data,divide:Fl(g.data)}],newSeries:[]},t.set(g.key,v)),v.newSeries.push({dataGroupId:o,data:s,divide:Fl(s)})}}}}),t}function KG(r,e){for(var t=0;t=0&&i.push({dataGroupId:e.oldDataGroupIds[s],data:e.oldData[s],divide:Fl(e.oldData[s]),groupIdDim:o.dimension})}),H(Jt(r.to),function(o){var s=KG(t.updatedSeries,o);if(s>=0){var u=t.updatedSeries[s].getData();a.push({dataGroupId:e.oldDataGroupIds[s],data:u,divide:Fl(u),groupIdDim:o.dimension})}}),i.length>0&&a.length>0&&qZ(i,a,n)}function tke(r){r.registerUpdateLifecycle("series:beforeupdate",function(e,t,n){H(Jt(n.seriesTransition),function(i){H(Jt(i.to),function(a){for(var o=n.updatedSeries,s=0;se=>{const t=ike.call(e);return r[t]||(r[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),go=r=>(r=r.toLowerCase(),e=>uD(e)===r),cD=r=>e=>typeof e===r,{isArray:Xp}=Array,Gy=cD("undefined");function ake(r){return r!==null&&!Gy(r)&&r.constructor!==null&&!Gy(r.constructor)&&Fi(r.constructor.isBuffer)&&r.constructor.isBuffer(r)}const ZZ=go("ArrayBuffer");function oke(r){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(r):e=r&&r.buffer&&ZZ(r.buffer),e}const ske=cD("string"),Fi=cD("function"),QZ=cD("number"),fD=r=>r!==null&&typeof r=="object",lke=r=>r===!0||r===!1,UC=r=>{if(uD(r)!=="object")return!1;const e=s$(r);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(XZ in r)&&!(lD in r)},uke=go("Date"),cke=go("File"),fke=go("Blob"),hke=go("FileList"),dke=r=>fD(r)&&Fi(r.pipe),pke=r=>{let e;return r&&(typeof FormData=="function"&&r instanceof FormData||Fi(r.append)&&((e=uD(r))==="formdata"||e==="object"&&Fi(r.toString)&&r.toString()==="[object FormData]"))},vke=go("URLSearchParams"),[gke,mke,yke,_ke]=["ReadableStream","Request","Response","Headers"].map(go),bke=r=>r.trim?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function S_(r,e,{allOwnKeys:t=!1}={}){if(r===null||typeof r>"u")return;let n,i;if(typeof r!="object"&&(r=[r]),Xp(r))for(n=0,i=r.length;n0;)if(i=t[n],e===i.toLowerCase())return i;return null}const sf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,eQ=r=>!Gy(r)&&r!==sf;function uR(){const{caseless:r}=eQ(this)&&this||{},e={},t=(n,i)=>{const a=r&&JZ(e,i)||i;UC(e[a])&&UC(n)?e[a]=uR(e[a],n):UC(n)?e[a]=uR({},n):Xp(n)?e[a]=n.slice():e[a]=n};for(let n=0,i=arguments.length;n(S_(e,(i,a)=>{t&&Fi(i)?r[a]=KZ(i,t):r[a]=i},{allOwnKeys:n}),r),Ske=r=>(r.charCodeAt(0)===65279&&(r=r.slice(1)),r),wke=(r,e,t,n)=>{r.prototype=Object.create(e.prototype,n),r.prototype.constructor=r,Object.defineProperty(r,"super",{value:e.prototype}),t&&Object.assign(r.prototype,t)},Cke=(r,e,t,n)=>{let i,a,o;const s={};if(e=e||{},r==null)return e;do{for(i=Object.getOwnPropertyNames(r),a=i.length;a-- >0;)o=i[a],(!n||n(o,r,e))&&!s[o]&&(e[o]=r[o],s[o]=!0);r=t!==!1&&s$(r)}while(r&&(!t||t(r,e))&&r!==Object.prototype);return e},Tke=(r,e,t)=>{r=String(r),(t===void 0||t>r.length)&&(t=r.length),t-=e.length;const n=r.indexOf(e,t);return n!==-1&&n===t},Dke=r=>{if(!r)return null;if(Xp(r))return r;let e=r.length;if(!QZ(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=r[e];return t},kke=(r=>e=>r&&e instanceof r)(typeof Uint8Array<"u"&&s$(Uint8Array)),Mke=(r,e)=>{const n=(r&&r[lD]).call(r);let i;for(;(i=n.next())&&!i.done;){const a=i.value;e.call(r,a[0],a[1])}},Ake=(r,e)=>{let t;const n=[];for(;(t=r.exec(e))!==null;)n.push(t);return n},Eke=go("HTMLFormElement"),Ike=r=>r.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,n,i){return n.toUpperCase()+i}),XG=(({hasOwnProperty:r})=>(e,t)=>r.call(e,t))(Object.prototype),Pke=go("RegExp"),tQ=(r,e)=>{const t=Object.getOwnPropertyDescriptors(r),n={};S_(t,(i,a)=>{let o;(o=e(i,a,r))!==!1&&(n[a]=o||i)}),Object.defineProperties(r,n)},Lke=r=>{tQ(r,(e,t)=>{if(Fi(r)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const n=r[t];if(Fi(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},Oke=(r,e)=>{const t={},n=i=>{i.forEach(a=>{t[a]=!0})};return Xp(r)?n(r):n(String(r).split(e)),t},Rke=()=>{},Nke=(r,e)=>r!=null&&Number.isFinite(r=+r)?r:e;function Fke(r){return!!(r&&Fi(r.append)&&r[XZ]==="FormData"&&r[lD])}const $ke=r=>{const e=new Array(10),t=(n,i)=>{if(fD(n)){if(e.indexOf(n)>=0)return;if(!("toJSON"in n)){e[i]=n;const a=Xp(n)?[]:{};return S_(n,(o,s)=>{const u=t(o,i+1);!Gy(u)&&(a[s]=u)}),e[i]=void 0,a}}return n};return t(r,0)},Bke=go("AsyncFunction"),zke=r=>r&&(fD(r)||Fi(r))&&Fi(r.then)&&Fi(r.catch),rQ=((r,e)=>r?setImmediate:e?((t,n)=>(sf.addEventListener("message",({source:i,data:a})=>{i===sf&&a===t&&n.length&&n.shift()()},!1),i=>{n.push(i),sf.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",Fi(sf.postMessage)),Vke=typeof queueMicrotask<"u"?queueMicrotask.bind(sf):typeof process<"u"&&process.nextTick||rQ,Hke=r=>r!=null&&Fi(r[lD]),xe={isArray:Xp,isArrayBuffer:ZZ,isBuffer:ake,isFormData:pke,isArrayBufferView:oke,isString:ske,isNumber:QZ,isBoolean:lke,isObject:fD,isPlainObject:UC,isReadableStream:gke,isRequest:mke,isResponse:yke,isHeaders:_ke,isUndefined:Gy,isDate:uke,isFile:cke,isBlob:fke,isRegExp:Pke,isFunction:Fi,isStream:dke,isURLSearchParams:vke,isTypedArray:kke,isFileList:hke,forEach:S_,merge:uR,extend:xke,trim:bke,stripBOM:Ske,inherits:wke,toFlatObject:Cke,kindOf:uD,kindOfTest:go,endsWith:Tke,toArray:Dke,forEachEntry:Mke,matchAll:Ake,isHTMLForm:Eke,hasOwnProperty:XG,hasOwnProp:XG,reduceDescriptors:tQ,freezeMethods:Lke,toObjectSet:Oke,toCamelCase:Ike,noop:Rke,toFiniteNumber:Nke,findKey:JZ,global:sf,isContextDefined:eQ,isSpecCompliantForm:Fke,toJSONObject:$ke,isAsyncFn:Bke,isThenable:zke,setImmediate:rQ,asap:Vke,isIterable:Hke};function It(r,e,t,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=r,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),n&&(this.request=n),i&&(this.response=i,this.status=i.status?i.status:null)}xe.inherits(It,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:xe.toJSONObject(this.config),code:this.code,status:this.status}}});const nQ=It.prototype,iQ={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(r=>{iQ[r]={value:r}});Object.defineProperties(It,iQ);Object.defineProperty(nQ,"isAxiosError",{value:!0});It.from=(r,e,t,n,i,a)=>{const o=Object.create(nQ);return xe.toFlatObject(r,o,function(u){return u!==Error.prototype},s=>s!=="isAxiosError"),It.call(o,r.message,e,t,n,i),o.cause=r,o.name=r.name,a&&Object.assign(o,a),o};const jke=null;function cR(r){return xe.isPlainObject(r)||xe.isArray(r)}function aQ(r){return xe.endsWith(r,"[]")?r.slice(0,-2):r}function ZG(r,e,t){return r?r.concat(e).map(function(i,a){return i=aQ(i),!t&&a?"["+i+"]":i}).join(t?".":""):e}function Wke(r){return xe.isArray(r)&&!r.some(cR)}const Gke=xe.toFlatObject(xe,{},null,function(e){return/^is[A-Z]/.test(e)});function hD(r,e,t){if(!xe.isObject(r))throw new TypeError("target must be an object");e=e||new FormData,t=xe.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(b,_){return!xe.isUndefined(_[b])});const n=t.metaTokens,i=t.visitor||h,a=t.dots,o=t.indexes,u=(t.Blob||typeof Blob<"u"&&Blob)&&xe.isSpecCompliantForm(e);if(!xe.isFunction(i))throw new TypeError("visitor must be a function");function f(m){if(m===null)return"";if(xe.isDate(m))return m.toISOString();if(!u&&xe.isBlob(m))throw new It("Blob is not supported. Use a Buffer instead.");return xe.isArrayBuffer(m)||xe.isTypedArray(m)?u&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function h(m,b,_){let S=m;if(m&&!_&&typeof m=="object"){if(xe.endsWith(b,"{}"))b=n?b:b.slice(0,-2),m=JSON.stringify(m);else if(xe.isArray(m)&&Wke(m)||(xe.isFileList(m)||xe.endsWith(b,"[]"))&&(S=xe.toArray(m)))return b=aQ(b),S.forEach(function(w,k){!(xe.isUndefined(w)||w===null)&&e.append(o===!0?ZG([b],k,a):o===null?b:b+"[]",f(w))}),!1}return cR(m)?!0:(e.append(ZG(_,b,a),f(m)),!1)}const p=[],g=Object.assign(Gke,{defaultVisitor:h,convertValue:f,isVisitable:cR});function v(m,b){if(!xe.isUndefined(m)){if(p.indexOf(m)!==-1)throw Error("Circular reference detected in "+b.join("."));p.push(m),xe.forEach(m,function(S,C){(!(xe.isUndefined(S)||S===null)&&i.call(e,S,xe.isString(C)?C.trim():C,b,g))===!0&&v(S,b?b.concat(C):[C])}),p.pop()}}if(!xe.isObject(r))throw new TypeError("data must be an object");return v(r),e}function QG(r){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(r).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function l$(r,e){this._pairs=[],r&&hD(r,this,e)}const oQ=l$.prototype;oQ.append=function(e,t){this._pairs.push([e,t])};oQ.toString=function(e){const t=e?function(n){return e.call(this,n,QG)}:QG;return this._pairs.map(function(i){return t(i[0])+"="+t(i[1])},"").join("&")};function Uke(r){return encodeURIComponent(r).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function sQ(r,e,t){if(!e)return r;const n=t&&t.encode||Uke;xe.isFunction(t)&&(t={serialize:t});const i=t&&t.serialize;let a;if(i?a=i(e,t):a=xe.isURLSearchParams(e)?e.toString():new l$(e,t).toString(n),a){const o=r.indexOf("#");o!==-1&&(r=r.slice(0,o)),r+=(r.indexOf("?")===-1?"?":"&")+a}return r}class JG{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){xe.forEach(this.handlers,function(n){n!==null&&e(n)})}}const lQ={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Yke=typeof URLSearchParams<"u"?URLSearchParams:l$,qke=typeof FormData<"u"?FormData:null,Kke=typeof Blob<"u"?Blob:null,Xke={isBrowser:!0,classes:{URLSearchParams:Yke,FormData:qke,Blob:Kke},protocols:["http","https","file","blob","url","data"]},u$=typeof window<"u"&&typeof document<"u",fR=typeof navigator=="object"&&navigator||void 0,Zke=u$&&(!fR||["ReactNative","NativeScript","NS"].indexOf(fR.product)<0),Qke=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Jke=u$&&window.location.href||"http://localhost",eMe=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:u$,hasStandardBrowserEnv:Zke,hasStandardBrowserWebWorkerEnv:Qke,navigator:fR,origin:Jke},Symbol.toStringTag,{value:"Module"})),Hn={...eMe,...Xke};function tMe(r,e){return hD(r,new Hn.classes.URLSearchParams,Object.assign({visitor:function(t,n,i,a){return Hn.isNode&&xe.isBuffer(t)?(this.append(n,t.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},e))}function rMe(r){return xe.matchAll(/\w+|\[(\w*)]/g,r).map(e=>e[0]==="[]"?"":e[1]||e[0])}function nMe(r){const e={},t=Object.keys(r);let n;const i=t.length;let a;for(n=0;n=t.length;return o=!o&&xe.isArray(i)?i.length:o,u?(xe.hasOwnProp(i,o)?i[o]=[i[o],n]:i[o]=n,!s):((!i[o]||!xe.isObject(i[o]))&&(i[o]=[]),e(t,n,i[o],a)&&xe.isArray(i[o])&&(i[o]=nMe(i[o])),!s)}if(xe.isFormData(r)&&xe.isFunction(r.entries)){const t={};return xe.forEachEntry(r,(n,i)=>{e(rMe(n),i,t,0)}),t}return null}function iMe(r,e,t){if(xe.isString(r))try{return(e||JSON.parse)(r),xe.trim(r)}catch(n){if(n.name!=="SyntaxError")throw n}return(t||JSON.stringify)(r)}const w_={transitional:lQ,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",i=n.indexOf("application/json")>-1,a=xe.isObject(e);if(a&&xe.isHTMLForm(e)&&(e=new FormData(e)),xe.isFormData(e))return i?JSON.stringify(uQ(e)):e;if(xe.isArrayBuffer(e)||xe.isBuffer(e)||xe.isStream(e)||xe.isFile(e)||xe.isBlob(e)||xe.isReadableStream(e))return e;if(xe.isArrayBufferView(e))return e.buffer;if(xe.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(a){if(n.indexOf("application/x-www-form-urlencoded")>-1)return tMe(e,this.formSerializer).toString();if((s=xe.isFileList(e))||n.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return hD(s?{"files[]":e}:e,u&&new u,this.formSerializer)}}return a||i?(t.setContentType("application/json",!1),iMe(e)):e}],transformResponse:[function(e){const t=this.transitional||w_.transitional,n=t&&t.forcedJSONParsing,i=this.responseType==="json";if(xe.isResponse(e)||xe.isReadableStream(e))return e;if(e&&xe.isString(e)&&(n&&!this.responseType||i)){const o=!(t&&t.silentJSONParsing)&&i;try{return JSON.parse(e)}catch(s){if(o)throw s.name==="SyntaxError"?It.from(s,It.ERR_BAD_RESPONSE,this,null,this.response):s}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Hn.classes.FormData,Blob:Hn.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};xe.forEach(["delete","get","head","post","put","patch"],r=>{w_.headers[r]={}});const aMe=xe.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),oMe=r=>{const e={};let t,n,i;return r&&r.split(` -`).forEach(function(o){i=o.indexOf(":"),t=o.substring(0,i).trim().toLowerCase(),n=o.substring(i+1).trim(),!(!t||e[t]&&aMe[t])&&(t==="set-cookie"?e[t]?e[t].push(n):e[t]=[n]:e[t]=e[t]?e[t]+", "+n:n)}),e},e6=Symbol("internals");function Tm(r){return r&&String(r).trim().toLowerCase()}function YC(r){return r===!1||r==null?r:xe.isArray(r)?r.map(YC):String(r)}function sMe(r){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=t.exec(r);)e[n[1]]=n[2];return e}const lMe=r=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(r.trim());function tL(r,e,t,n,i){if(xe.isFunction(n))return n.call(this,e,t);if(i&&(e=t),!!xe.isString(e)){if(xe.isString(n))return e.indexOf(n)!==-1;if(xe.isRegExp(n))return n.test(e)}}function uMe(r){return r.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function cMe(r,e){const t=xe.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(r,n+t,{value:function(i,a,o){return this[n].call(this,e,i,a,o)},configurable:!0})})}let $i=class{constructor(e){e&&this.set(e)}set(e,t,n){const i=this;function a(s,u,f){const h=Tm(u);if(!h)throw new Error("header name must be a non-empty string");const p=xe.findKey(i,h);(!p||i[p]===void 0||f===!0||f===void 0&&i[p]!==!1)&&(i[p||u]=YC(s))}const o=(s,u)=>xe.forEach(s,(f,h)=>a(f,h,u));if(xe.isPlainObject(e)||e instanceof this.constructor)o(e,t);else if(xe.isString(e)&&(e=e.trim())&&!lMe(e))o(oMe(e),t);else if(xe.isObject(e)&&xe.isIterable(e)){let s={},u,f;for(const h of e){if(!xe.isArray(h))throw TypeError("Object iterator must return a key-value pair");s[f=h[0]]=(u=s[f])?xe.isArray(u)?[...u,h[1]]:[u,h[1]]:h[1]}o(s,t)}else e!=null&&a(t,e,n);return this}get(e,t){if(e=Tm(e),e){const n=xe.findKey(this,e);if(n){const i=this[n];if(!t)return i;if(t===!0)return sMe(i);if(xe.isFunction(t))return t.call(this,i,n);if(xe.isRegExp(t))return t.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Tm(e),e){const n=xe.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||tL(this,this[n],n,t)))}return!1}delete(e,t){const n=this;let i=!1;function a(o){if(o=Tm(o),o){const s=xe.findKey(n,o);s&&(!t||tL(n,n[s],s,t))&&(delete n[s],i=!0)}}return xe.isArray(e)?e.forEach(a):a(e),i}clear(e){const t=Object.keys(this);let n=t.length,i=!1;for(;n--;){const a=t[n];(!e||tL(this,this[a],a,e,!0))&&(delete this[a],i=!0)}return i}normalize(e){const t=this,n={};return xe.forEach(this,(i,a)=>{const o=xe.findKey(n,a);if(o){t[o]=YC(i),delete t[a];return}const s=e?uMe(a):String(a).trim();s!==a&&delete t[a],t[s]=YC(i),n[s]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return xe.forEach(this,(n,i)=>{n!=null&&n!==!1&&(t[i]=e&&xe.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach(i=>n.set(i)),n}static accessor(e){const n=(this[e6]=this[e6]={accessors:{}}).accessors,i=this.prototype;function a(o){const s=Tm(o);n[s]||(cMe(i,o),n[s]=!0)}return xe.isArray(e)?e.forEach(a):a(e),this}};$i.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);xe.reduceDescriptors($i.prototype,({value:r},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>r,set(n){this[t]=n}}});xe.freezeMethods($i);function rL(r,e){const t=this||w_,n=e||t,i=$i.from(n.headers);let a=n.data;return xe.forEach(r,function(s){a=s.call(t,a,i.normalize(),e?e.status:void 0)}),i.normalize(),a}function cQ(r){return!!(r&&r.__CANCEL__)}function Zp(r,e,t){It.call(this,r??"canceled",It.ERR_CANCELED,e,t),this.name="CanceledError"}xe.inherits(Zp,It,{__CANCEL__:!0});function fQ(r,e,t){const n=t.config.validateStatus;!t.status||!n||n(t.status)?r(t):e(new It("Request failed with status code "+t.status,[It.ERR_BAD_REQUEST,It.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}function fMe(r){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(r);return e&&e[1]||""}function hMe(r,e){r=r||10;const t=new Array(r),n=new Array(r);let i=0,a=0,o;return e=e!==void 0?e:1e3,function(u){const f=Date.now(),h=n[a];o||(o=f),t[i]=u,n[i]=f;let p=a,g=0;for(;p!==i;)g+=t[p++],p=p%r;if(i=(i+1)%r,i===a&&(a=(a+1)%r),f-o{t=h,i=null,a&&(clearTimeout(a),a=null),r.apply(null,f)};return[(...f)=>{const h=Date.now(),p=h-t;p>=n?o(f,h):(i=f,a||(a=setTimeout(()=>{a=null,o(i)},n-p)))},()=>i&&o(i)]}const lT=(r,e,t=3)=>{let n=0;const i=hMe(50,250);return dMe(a=>{const o=a.loaded,s=a.lengthComputable?a.total:void 0,u=o-n,f=i(u),h=o<=s;n=o;const p={loaded:o,total:s,progress:s?o/s:void 0,bytes:u,rate:f||void 0,estimated:f&&s&&h?(s-o)/f:void 0,event:a,lengthComputable:s!=null,[e?"download":"upload"]:!0};r(p)},t)},t6=(r,e)=>{const t=r!=null;return[n=>e[0]({lengthComputable:t,total:r,loaded:n}),e[1]]},r6=r=>(...e)=>xe.asap(()=>r(...e)),pMe=Hn.hasStandardBrowserEnv?((r,e)=>t=>(t=new URL(t,Hn.origin),r.protocol===t.protocol&&r.host===t.host&&(e||r.port===t.port)))(new URL(Hn.origin),Hn.navigator&&/(msie|trident)/i.test(Hn.navigator.userAgent)):()=>!0,vMe=Hn.hasStandardBrowserEnv?{write(r,e,t,n,i,a){const o=[r+"="+encodeURIComponent(e)];xe.isNumber(t)&&o.push("expires="+new Date(t).toGMTString()),xe.isString(n)&&o.push("path="+n),xe.isString(i)&&o.push("domain="+i),a===!0&&o.push("secure"),document.cookie=o.join("; ")},read(r){const e=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(r){this.write(r,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function gMe(r){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(r)}function mMe(r,e){return e?r.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):r}function hQ(r,e,t){let n=!gMe(e);return r&&(n||t==!1)?mMe(r,e):e}const n6=r=>r instanceof $i?{...r}:r;function Lf(r,e){e=e||{};const t={};function n(f,h,p,g){return xe.isPlainObject(f)&&xe.isPlainObject(h)?xe.merge.call({caseless:g},f,h):xe.isPlainObject(h)?xe.merge({},h):xe.isArray(h)?h.slice():h}function i(f,h,p,g){if(xe.isUndefined(h)){if(!xe.isUndefined(f))return n(void 0,f,p,g)}else return n(f,h,p,g)}function a(f,h){if(!xe.isUndefined(h))return n(void 0,h)}function o(f,h){if(xe.isUndefined(h)){if(!xe.isUndefined(f))return n(void 0,f)}else return n(void 0,h)}function s(f,h,p){if(p in e)return n(f,h);if(p in r)return n(void 0,f)}const u={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:s,headers:(f,h,p)=>i(n6(f),n6(h),p,!0)};return xe.forEach(Object.keys(Object.assign({},r,e)),function(h){const p=u[h]||i,g=p(r[h],e[h],h);xe.isUndefined(g)&&p!==s||(t[h]=g)}),t}const dQ=r=>{const e=Lf({},r);let{data:t,withXSRFToken:n,xsrfHeaderName:i,xsrfCookieName:a,headers:o,auth:s}=e;e.headers=o=$i.from(o),e.url=sQ(hQ(e.baseURL,e.url,e.allowAbsoluteUrls),r.params,r.paramsSerializer),s&&o.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):"")));let u;if(xe.isFormData(t)){if(Hn.hasStandardBrowserEnv||Hn.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if((u=o.getContentType())!==!1){const[f,...h]=u?u.split(";").map(p=>p.trim()).filter(Boolean):[];o.setContentType([f||"multipart/form-data",...h].join("; "))}}if(Hn.hasStandardBrowserEnv&&(n&&xe.isFunction(n)&&(n=n(e)),n||n!==!1&&pMe(e.url))){const f=i&&a&&vMe.read(a);f&&o.set(i,f)}return e},yMe=typeof XMLHttpRequest<"u",_Me=yMe&&function(r){return new Promise(function(t,n){const i=dQ(r);let a=i.data;const o=$i.from(i.headers).normalize();let{responseType:s,onUploadProgress:u,onDownloadProgress:f}=i,h,p,g,v,m;function b(){v&&v(),m&&m(),i.cancelToken&&i.cancelToken.unsubscribe(h),i.signal&&i.signal.removeEventListener("abort",h)}let _=new XMLHttpRequest;_.open(i.method.toUpperCase(),i.url,!0),_.timeout=i.timeout;function S(){if(!_)return;const w=$i.from("getAllResponseHeaders"in _&&_.getAllResponseHeaders()),M={data:!s||s==="text"||s==="json"?_.responseText:_.response,status:_.status,statusText:_.statusText,headers:w,config:r,request:_};fQ(function(I){t(I),b()},function(I){n(I),b()},M),_=null}"onloadend"in _?_.onloadend=S:_.onreadystatechange=function(){!_||_.readyState!==4||_.status===0&&!(_.responseURL&&_.responseURL.indexOf("file:")===0)||setTimeout(S)},_.onabort=function(){_&&(n(new It("Request aborted",It.ECONNABORTED,r,_)),_=null)},_.onerror=function(){n(new It("Network Error",It.ERR_NETWORK,r,_)),_=null},_.ontimeout=function(){let k=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const M=i.transitional||lQ;i.timeoutErrorMessage&&(k=i.timeoutErrorMessage),n(new It(k,M.clarifyTimeoutError?It.ETIMEDOUT:It.ECONNABORTED,r,_)),_=null},a===void 0&&o.setContentType(null),"setRequestHeader"in _&&xe.forEach(o.toJSON(),function(k,M){_.setRequestHeader(M,k)}),xe.isUndefined(i.withCredentials)||(_.withCredentials=!!i.withCredentials),s&&s!=="json"&&(_.responseType=i.responseType),f&&([g,m]=lT(f,!0),_.addEventListener("progress",g)),u&&_.upload&&([p,v]=lT(u),_.upload.addEventListener("progress",p),_.upload.addEventListener("loadend",v)),(i.cancelToken||i.signal)&&(h=w=>{_&&(n(!w||w.type?new Zp(null,r,_):w),_.abort(),_=null)},i.cancelToken&&i.cancelToken.subscribe(h),i.signal&&(i.signal.aborted?h():i.signal.addEventListener("abort",h)));const C=fMe(i.url);if(C&&Hn.protocols.indexOf(C)===-1){n(new It("Unsupported protocol "+C+":",It.ERR_BAD_REQUEST,r));return}_.send(a||null)})},bMe=(r,e)=>{const{length:t}=r=r?r.filter(Boolean):[];if(e||t){let n=new AbortController,i;const a=function(f){if(!i){i=!0,s();const h=f instanceof Error?f:this.reason;n.abort(h instanceof It?h:new Zp(h instanceof Error?h.message:h))}};let o=e&&setTimeout(()=>{o=null,a(new It(`timeout ${e} of ms exceeded`,It.ETIMEDOUT))},e);const s=()=>{r&&(o&&clearTimeout(o),o=null,r.forEach(f=>{f.unsubscribe?f.unsubscribe(a):f.removeEventListener("abort",a)}),r=null)};r.forEach(f=>f.addEventListener("abort",a));const{signal:u}=n;return u.unsubscribe=()=>xe.asap(s),u}},xMe=function*(r,e){let t=r.byteLength;if(t{const i=SMe(r,e);let a=0,o,s=u=>{o||(o=!0,n&&n(u))};return new ReadableStream({async pull(u){try{const{done:f,value:h}=await i.next();if(f){s(),u.close();return}let p=h.byteLength;if(t){let g=a+=p;t(g)}u.enqueue(new Uint8Array(h))}catch(f){throw s(f),f}},cancel(u){return s(u),i.return()}},{highWaterMark:2})},dD=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",pQ=dD&&typeof ReadableStream=="function",CMe=dD&&(typeof TextEncoder=="function"?(r=>e=>r.encode(e))(new TextEncoder):async r=>new Uint8Array(await new Response(r).arrayBuffer())),vQ=(r,...e)=>{try{return!!r(...e)}catch{return!1}},TMe=pQ&&vQ(()=>{let r=!1;const e=new Request(Hn.origin,{body:new ReadableStream,method:"POST",get duplex(){return r=!0,"half"}}).headers.has("Content-Type");return r&&!e}),a6=64*1024,hR=pQ&&vQ(()=>xe.isReadableStream(new Response("").body)),uT={stream:hR&&(r=>r.body)};dD&&(r=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!uT[e]&&(uT[e]=xe.isFunction(r[e])?t=>t[e]():(t,n)=>{throw new It(`Response type '${e}' is not supported`,It.ERR_NOT_SUPPORT,n)})})})(new Response);const DMe=async r=>{if(r==null)return 0;if(xe.isBlob(r))return r.size;if(xe.isSpecCompliantForm(r))return(await new Request(Hn.origin,{method:"POST",body:r}).arrayBuffer()).byteLength;if(xe.isArrayBufferView(r)||xe.isArrayBuffer(r))return r.byteLength;if(xe.isURLSearchParams(r)&&(r=r+""),xe.isString(r))return(await CMe(r)).byteLength},kMe=async(r,e)=>{const t=xe.toFiniteNumber(r.getContentLength());return t??DMe(e)},MMe=dD&&(async r=>{let{url:e,method:t,data:n,signal:i,cancelToken:a,timeout:o,onDownloadProgress:s,onUploadProgress:u,responseType:f,headers:h,withCredentials:p="same-origin",fetchOptions:g}=dQ(r);f=f?(f+"").toLowerCase():"text";let v=bMe([i,a&&a.toAbortSignal()],o),m;const b=v&&v.unsubscribe&&(()=>{v.unsubscribe()});let _;try{if(u&&TMe&&t!=="get"&&t!=="head"&&(_=await kMe(h,n))!==0){let M=new Request(e,{method:"POST",body:n,duplex:"half"}),E;if(xe.isFormData(n)&&(E=M.headers.get("content-type"))&&h.setContentType(E),M.body){const[I,O]=t6(_,lT(r6(u)));n=i6(M.body,a6,I,O)}}xe.isString(p)||(p=p?"include":"omit");const S="credentials"in Request.prototype;m=new Request(e,{...g,signal:v,method:t.toUpperCase(),headers:h.normalize().toJSON(),body:n,duplex:"half",credentials:S?p:void 0});let C=await fetch(m);const w=hR&&(f==="stream"||f==="response");if(hR&&(s||w&&b)){const M={};["status","statusText","headers"].forEach(R=>{M[R]=C[R]});const E=xe.toFiniteNumber(C.headers.get("content-length")),[I,O]=s&&t6(E,lT(r6(s),!0))||[];C=new Response(i6(C.body,a6,I,()=>{O&&O(),b&&b()}),M)}f=f||"text";let k=await uT[xe.findKey(uT,f)||"text"](C,r);return!w&&b&&b(),await new Promise((M,E)=>{fQ(M,E,{data:k,headers:$i.from(C.headers),status:C.status,statusText:C.statusText,config:r,request:m})})}catch(S){throw b&&b(),S&&S.name==="TypeError"&&/Load failed|fetch/i.test(S.message)?Object.assign(new It("Network Error",It.ERR_NETWORK,r,m),{cause:S.cause||S}):It.from(S,S&&S.code,r,m)}}),dR={http:jke,xhr:_Me,fetch:MMe};xe.forEach(dR,(r,e)=>{if(r){try{Object.defineProperty(r,"name",{value:e})}catch{}Object.defineProperty(r,"adapterName",{value:e})}});const o6=r=>`- ${r}`,AMe=r=>xe.isFunction(r)||r===null||r===!1,gQ={getAdapter:r=>{r=xe.isArray(r)?r:[r];const{length:e}=r;let t,n;const i={};for(let a=0;a`adapter ${s} `+(u===!1?"is not supported by the environment":"is not available in the build"));let o=e?a.length>1?`since : -`+a.map(o6).join(` -`):" "+o6(a[0]):"as no adapter specified";throw new It("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return n},adapters:dR};function nL(r){if(r.cancelToken&&r.cancelToken.throwIfRequested(),r.signal&&r.signal.aborted)throw new Zp(null,r)}function s6(r){return nL(r),r.headers=$i.from(r.headers),r.data=rL.call(r,r.transformRequest),["post","put","patch"].indexOf(r.method)!==-1&&r.headers.setContentType("application/x-www-form-urlencoded",!1),gQ.getAdapter(r.adapter||w_.adapter)(r).then(function(n){return nL(r),n.data=rL.call(r,r.transformResponse,n),n.headers=$i.from(n.headers),n},function(n){return cQ(n)||(nL(r),n&&n.response&&(n.response.data=rL.call(r,r.transformResponse,n.response),n.response.headers=$i.from(n.response.headers))),Promise.reject(n)})}const mQ="1.9.0",pD={};["object","boolean","number","function","string","symbol"].forEach((r,e)=>{pD[r]=function(n){return typeof n===r||"a"+(e<1?"n ":" ")+r}});const l6={};pD.transitional=function(e,t,n){function i(a,o){return"[Axios v"+mQ+"] Transitional option '"+a+"'"+o+(n?". "+n:"")}return(a,o,s)=>{if(e===!1)throw new It(i(o," has been removed"+(t?" in "+t:"")),It.ERR_DEPRECATED);return t&&!l6[o]&&(l6[o]=!0,console.warn(i(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(a,o,s):!0}};pD.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function EMe(r,e,t){if(typeof r!="object")throw new It("options must be an object",It.ERR_BAD_OPTION_VALUE);const n=Object.keys(r);let i=n.length;for(;i-- >0;){const a=n[i],o=e[a];if(o){const s=r[a],u=s===void 0||o(s,a,r);if(u!==!0)throw new It("option "+a+" must be "+u,It.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new It("Unknown option "+a,It.ERR_BAD_OPTION)}}const qC={assertOptions:EMe,validators:pD},Ro=qC.validators;let xf=class{constructor(e){this.defaults=e||{},this.interceptors={request:new JG,response:new JG}}async request(e,t){try{return await this._request(e,t)}catch(n){if(n instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const a=i.stack?i.stack.replace(/^.+\n/,""):"";try{n.stack?a&&!String(n.stack).endsWith(a.replace(/^.+\n.+\n/,""))&&(n.stack+=` -`+a):n.stack=a}catch{}}throw n}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=Lf(this.defaults,t);const{transitional:n,paramsSerializer:i,headers:a}=t;n!==void 0&&qC.assertOptions(n,{silentJSONParsing:Ro.transitional(Ro.boolean),forcedJSONParsing:Ro.transitional(Ro.boolean),clarifyTimeoutError:Ro.transitional(Ro.boolean)},!1),i!=null&&(xe.isFunction(i)?t.paramsSerializer={serialize:i}:qC.assertOptions(i,{encode:Ro.function,serialize:Ro.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),qC.assertOptions(t,{baseUrl:Ro.spelling("baseURL"),withXsrfToken:Ro.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=a&&xe.merge(a.common,a[t.method]);a&&xe.forEach(["delete","get","head","post","put","patch","common"],m=>{delete a[m]}),t.headers=$i.concat(o,a);const s=[];let u=!0;this.interceptors.request.forEach(function(b){typeof b.runWhen=="function"&&b.runWhen(t)===!1||(u=u&&b.synchronous,s.unshift(b.fulfilled,b.rejected))});const f=[];this.interceptors.response.forEach(function(b){f.push(b.fulfilled,b.rejected)});let h,p=0,g;if(!u){const m=[s6.bind(this),void 0];for(m.unshift.apply(m,s),m.push.apply(m,f),g=m.length,h=Promise.resolve(t);p{if(!n._listeners)return;let a=n._listeners.length;for(;a-- >0;)n._listeners[a](i);n._listeners=null}),this.promise.then=i=>{let a;const o=new Promise(s=>{n.subscribe(s),a=s}).then(i);return o.cancel=function(){n.unsubscribe(a)},o},e(function(a,o,s){n.reason||(n.reason=new Zp(a,o,s),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=n=>{e.abort(n)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new yQ(function(i){e=i}),cancel:e}}};function PMe(r){return function(t){return r.apply(null,t)}}function LMe(r){return xe.isObject(r)&&r.isAxiosError===!0}const pR={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(pR).forEach(([r,e])=>{pR[e]=r});function _Q(r){const e=new xf(r),t=KZ(xf.prototype.request,e);return xe.extend(t,xf.prototype,e,{allOwnKeys:!0}),xe.extend(t,e,null,{allOwnKeys:!0}),t.create=function(i){return _Q(Lf(r,i))},t}const Wr=_Q(w_);Wr.Axios=xf;Wr.CanceledError=Zp;Wr.CancelToken=IMe;Wr.isCancel=cQ;Wr.VERSION=mQ;Wr.toFormData=hD;Wr.AxiosError=It;Wr.Cancel=Wr.CanceledError;Wr.all=function(e){return Promise.all(e)};Wr.spread=PMe;Wr.isAxiosError=LMe;Wr.mergeConfig=Lf;Wr.AxiosHeaders=$i;Wr.formToJSON=r=>uQ(xe.isHTMLForm(r)?new FormData(r):r);Wr.getAdapter=gQ.getAdapter;Wr.HttpStatusCode=pR;Wr.default=Wr;const{Axios:hLe,AxiosError:dLe,CanceledError:pLe,isCancel:vLe,CancelToken:gLe,VERSION:mLe,all:yLe,Cancel:_Le,isAxiosError:bLe,spread:xLe,toFormData:SLe,AxiosHeaders:wLe,HttpStatusCode:CLe,formToJSON:TLe,getAdapter:DLe,mergeConfig:kLe}=Wr,Su=Wr.create({baseURL:"",timeout:5e3});Su.interceptors.request.use(r=>r,r=>(console.log(r),Promise.reject(r)));Su.interceptors.response.use(r=>r.data.code!==200?(console.error("Error:",data.message),Promise.reject(newError(data.message||"Error"))):r.data,r=>(console.log(r),Promise.reject(r)));function OMe(r,e){return Su({url:"/api/lineage/query",method:"POST",headers:{"Content-Type":"text/plain"},data:r,params:{datasourceType:e}})}function C_(){return Su({url:"/api/datasource/types",method:"GET"})}function RMe(r){return Su({url:"/api/datasource/parseTables",method:"post",data:r})}function NMe(r){return Su({url:"/api/datasource/parseCreateTable",method:"post",data:r})}const FMe={name:"LineageVisualizer",data(){return{sqlInput:`CREATE TABLE user_order_summary AS - SELECT - u.id as user_id, - u.name, - SUM(o.amount) as total_amount, - COUNT(o.id) as order_count - FROM users u JOIN orders o ON u.id = o.user_id - GROUP BY u.id, u.name`,isFieldLevel:!0,myChart:null,tableData:[],relationData:[],currentGraphicElements:[],currentLines:[],defaultLineColor:"#66b1ff40",activeLineColor:"#66b1ff",API_BASE_URL:"",selectedDataSource:1,dataSources:[],fieldRelationsMap:{},highlightedFields:new Set,tableWidth:160,zoomLevel:1,isFullscreen:!1,isDragging:!1,dragStartX:0,dragStartY:0,translateX:0,translateY:0}},mounted(){this.$refs.chartContainer.style.cursor="grab",this.fetchDataSourceTypes(),this.initChart(),this.loadExampleData(),this.parseSQL(),window.addEventListener("resize",this.handleResize),this.$nextTick(()=>{this.handleResize()})},beforeDestroy(){this.myChart&&this.myChart.dispose(),window.removeEventListener("resize",this.handleResize)},methods:{startDrag(r){this.isDragging=!0,this.dragStartX=r.clientX-this.translateX,this.dragStartY=r.clientY-this.translateY,this.$refs.chartContainer.style.cursor="grabbing"},handleDrag(r){this.isDragging&&(this.translateX=r.clientX-this.dragStartX,this.translateY=r.clientY-this.dragStartY,this.applyTransform())},endDrag(){this.isDragging=!1,this.$refs.chartContainer.style.cursor="grab"},applyTransform(){const r=this.$refs.chartContainer;r.style.transform=` - scale(${this.zoomLevel}) - translate(${this.translateX}px, ${this.translateY}px) - `},handleWheel(r){r.preventDefault();const e=r.deltaY>0?-.1:.1;this.zoomLevel=Math.min(Math.max(this.zoomLevel+e,.5),3),this.applyZoom()},zoomIn(){this.zoomLevel=Math.min(this.zoomLevel+.1,2),this.applyZoom()},zoomOut(){this.zoomLevel=Math.max(this.zoomLevel-.1,.5),this.applyZoom()},resetZoom(){this.zoomLevel=1,this.translateX=0,this.translateY=0,this.applyTransform(),this.$nextTick(()=>{this.myChart.resize(),this.renderChart()})},applyZoom(){this.applyTransform(),this.$nextTick(()=>{this.myChart.resize()})},async toggleFullscreen(){const r=this.$refs.chartContainer.parentElement;this.isFullscreen?(await nke(),this.isFullscreen=!1):(await rke(r),this.isFullscreen=!0),this.$nextTick(()=>{this.myChart.resize()})},handleResize(){if(this.myChart){const r=this.$refs.chartContainer;if(r){const e=r.parentElement;e&&(r.style.height=`${e.clientHeight-60}px`)}this.myChart.resize(),this.isFullscreen||this.renderChart()}},initChart(){this.myChart=qde(this.$refs.chartContainer),this.myChart.on("click",this.handleChartClick)},async parseSQL(){const r=this.sqlInput.trim();if(!r){alert("请输入SQL语句");return}try{this.myChart.showLoading();const{tableData:e,relationData:t}=await this.analyzeSQL(r);this.updateTableData(e,t),this.buildFieldRelationsMap(t)}catch(e){console.error("解析失败:",e),alert("解析失败: "+e.message)}finally{this.myChart.hideLoading()}},buildFieldRelationsMap(r){const e={};r.forEach(t=>{e[t.from]||(e[t.from]=new Set),e[t.from].add(t.to),e[t.to]||(e[t.to]=new Set),e[t.to].add(t.from)}),this.fieldRelationsMap=e},async loadExampleData(){try{this.myChart.showLoading();const{tableData:r,relationData:e}=await this.getExampleData();this.updateTableData(r,e)}catch(r){console.error("加载示例数据失败:",r)}finally{this.myChart.hideLoading()}},async analyzeSQL(r){try{return(await OMe(r,this.selectedDataSource)).data}catch(e){throw console.error("Error in analyzeSQL:",e),e}},async fetchDataSourceTypes(){try{const r=await C_();this.dataSources=r.data}catch(r){console.error("Error fetching data source types:",r),this.dataSources=[{value:3,label:"MYSQL"},{value:1,label:"ORACLE"},{value:11,label:"POSTGRESQL"},{value:17,label:"SQLSERVER"},{value:25,label:"HIVE"}]}},async getExampleData(){return this.analyzeSQL(`CREATE TABLE user_order_summary AS - SELECT - u.id as user_id, - u.name, - SUM(o.amount) as total_amount, - COUNT(o.id) as order_count - FROM users u JOIN orders o ON u.id = o.user_id - GROUP BY u.id, u.name`)},updateTableData(r,e){this.tableData=[...r],this.relationData=[...e],this.renderChart()},calculatePositions(r){const e={},i=this.$refs.chartContainer.clientHeight,a=this.$refs.chartContainer.clientWidth,o=this.isFieldLevel?60:30,s={};r.forEach(m=>{s[m.tableName]=this.isFieldLevel?30+m.fields.length*24:30});const u=[],f=[];r.forEach(m=>{const b=this.relationData.some(S=>S.from.startsWith(m.tableName+".")),_=this.relationData.some(S=>S.to.startsWith(m.tableName+"."));b&&!_?u.push(m):f.push(m)});const h=u.reduce((m,b)=>m+s[b.tableName],0)+(u.length-1)*o;let p=(i-h)/2,g=p;u.forEach(m=>{e[m.tableName]={x:a*.2,y:g},g+=s[m.tableName]+o});const v=f.reduce((m,b)=>m+s[b.tableName],0)+(f.length-1)*o;return p=(i-v)/2,g=p,f.forEach(m=>{e[m.tableName]={x:a*.7,y:g},g+=s[m.tableName]+o}),this.isFieldLevel&&this.adjustOverlaps(e,s,o),e},adjustOverlaps(r,e,t){const n=Object.keys(r),i=n.filter(o=>r[o].x===this.$refs.chartContainer.clientWidth*.2).sort((o,s)=>r[o].y-r[s].y);for(let o=1;or[o].x===this.$refs.chartContainer.clientWidth*.7).sort((o,s)=>r[o].y-r[s].y);for(let o=1;o{const t=e.from.split(".")[0],n=e.to.split(".")[0];r.some(i=>i.from===t&&i.to===n)||r.push({from:t,to:n})}),r},drawArrowLine(r,e,t,n,i=this.defaultLineColor,a=2){const o=Math.atan2(n-e,t-r),s=10,u=t-s*Math.cos(o-Math.PI/6),f=n-s*Math.sin(o-Math.PI/6),h=t-s*Math.cos(o+Math.PI/6),p=n-s*Math.sin(o+Math.PI/6);return[{type:"line",shape:{x1:r,y1:e,x2:t,y2:n},style:{stroke:i,lineWidth:a},z:5},{type:"polyline",shape:{points:[[t,n],[u,f],[h,p],[t,n]]},style:{fill:i,stroke:i,lineWidth:1},z:5}]},getTableAndField(r){if(/\.\d+$/.test(r)){const i=r.lastIndexOf(".");return{tableName:r.slice(0,i),fieldName:r.slice(i+1)}}const e=r.split(".");if(e.length<2)return{tableName:r,fieldName:""};const t=e.pop();return{tableName:e.join("."),fieldName:t}},renderChart(){if(!this.myChart)return;this.myChart.clear(),this.currentGraphicElements=[],this.currentLines=[];const r=this.calculatePositions(this.tableData);let e=this.tableWidth;this.tableData.forEach(i=>{const a=r[i.tableName];if(!a)return;30+i.fields.length*24;const o={type:"group",position:[a.x,a.y],children:[{type:"rect",shape:{width:e,height:30},style:{fill:"#409EFF"},name:i.tableName,data:{isTable:!0,tableName:i.tableName}},{type:"text",left:5,top:5,style:{text:i.tableName,fill:"#fff",fontSize:14}}]};this.isFieldLevel&&i.fields.forEach((s,u)=>{var h;const f=`${i.tableName}.${s}`;o.children.push({type:"rect",shape:{width:e,height:24},style:{fill:this.highlightedFields.has(f)?"#e6f7ff":"#fff",stroke:"#ccc"},position:[0,30+u*24],name:f,z:10,data:{isField:!0,source:(h=this.relationData.find(p=>p.to===f))==null?void 0:h.from,tableName:i.tableName,fieldName:s},onclick:p=>{this.handleChartClick({componentType:"graphic",name:f,data:{isField:!0}})}}),o.children.push({type:"text",left:10,top:30+u*24+7,style:{text:s,fill:"#333",fontSize:12},z:11})}),this.currentGraphicElements.push(o)}),(this.isFieldLevel?this.relationData:this.getTableRelations()).forEach(i=>{try{const{tableName:a,fieldName:o}=this.getTableAndField(i.from),{tableName:s,fieldName:u}=this.getTableAndField(i.to),f=r[a],h=r[s];if(!f||!h)return;let p,g,v,m;if(f.xk.tableName===a),S=this.tableData.find(k=>k.tableName===s);if(!_||!S){console.error(`Table data not found: fromTable=${a}, toTable=${s}`);return}const C=_.fields.indexOf(o),w=S.fields.indexOf(u);if(C===-1||w===-1){console.error(`Field not found: fromField=${o}, toField=${u}`);return}g=f.y+30+C*24+12,m=h.y+30+w*24+12}else g=f.y+15,m=h.y+15;this.drawArrowLine(p,g,v,m,this.defaultLineColor,2).forEach(_=>{_.name=`line_${i.from}_${i.to}`,_.data={from:i.from,to:i.to,isLine:!0,defaultColor:this.defaultLineColor,activeColor:this.activeLineColor},_.z=20,this.currentLines.push(_),this.currentGraphicElements.push(_)})}catch(a){console.error(`Error processing relation ${JSON.stringify(i)}:`,a)}});const n={graphic:this.currentGraphicElements,tooltip:{trigger:"item",formatter:i=>{var a,o;if(i.componentType==="graphic"){if((a=i.data)!=null&&a.isField)return`字段:${i.name}
来源:${i.data.source||"无"}`;if((o=i.data)!=null&&o.isTable){const s=this.isFieldLevel?[...new Set(this.relationData.filter(u=>u.to.startsWith(i.name+".")).map(u=>u.from.split(".")[0]))]:this.getTableRelations().filter(u=>u.to===i.name).map(u=>u.from);return`表:${i.name}
来源:${s.join(", ")||"无"}`}}return""}}};this.myChart.setOption(n)},handleChartClick(r){var e;if(r.componentType==="graphic"&&r.name){if((e=r.data)!=null&&e.isField){this.highlightedFields=new Set;const t=n=>{if(this.highlightedFields.has(n))return;this.highlightedFields.add(n),(this.fieldRelationsMap[n]||[]).forEach(a=>t(a))};t(r.name)}this.updateChartHighlight()}},updateChartHighlight(){const r=t=>{const n=t.data||{};if(t.type==="group"&&t.children)return{...t,children:t.children.map(i=>r(i))};if(n.isField){const i=this.highlightedFields.has(t.name);return{...t,style:{...t.style,fill:i?"#e6f7ff":"#fff"}}}if(n.isLine){const a=[...this.highlightedFields].some(o=>n.from===o||n.to===o)?this.activeLineColor:this.defaultLineColor;if(t.type==="polyline")return{...t,style:{...t.style,fill:a,stroke:a}};if(t.type==="line")return{...t,style:{...t.style,stroke:a}}}return t},e=this.currentGraphicElements.map(t=>r(t));this.myChart.setOption({graphic:e})}},watch:{isFieldLevel(){this.renderChart()}}};var $Me=function(){var e=this,t=e._self._c;return t("div",{staticClass:"lineage-visualizer"},[e._m(0),t("div",{staticClass:"main-container"},[t("div",{staticClass:"sql-panel"},[t("div",{staticClass:"panel-header"},[t("div",{staticClass:"panel-title"},[e._v("SQL输入")]),t("div",{staticClass:"data-source-selector"},[t("label",{attrs:{for:"data-source"}},[e._v("数据源:")]),t("select",{directives:[{name:"model",rawName:"v-model",value:e.selectedDataSource,expression:"selectedDataSource"}],attrs:{id:"data-source"},on:{change:function(n){var i=Array.prototype.filter.call(n.target.options,function(a){return a.selected}).map(function(a){var o="_value"in a?a._value:a.value;return o});e.selectedDataSource=n.target.multiple?i:i[0]}}},e._l(e.dataSources,function(n){return t("option",{key:n.value,domProps:{value:n.value}},[e._v(" "+e._s(n.label)+" ")])}),0)])]),t("div",{staticClass:"sql-input-wrapper"},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:e.sqlInput,expression:"sqlInput"}],attrs:{id:"sql-input",placeholder:"请输入SQL语句..."},domProps:{value:e.sqlInput},on:{input:function(n){n.target.composing||(e.sqlInput=n.target.value)}}})]),t("div",{staticClass:"sql-actions"},[t("button",{attrs:{id:"parse-btn"},on:{click:e.parseSQL}},[e._v("解析SQL")])])]),t("div",{staticClass:"visualization-panel"},[t("div",{staticClass:"panel-title"},[e._v("血缘关系图")]),t("div",{staticClass:"switch-container"},[t("span",[e._v("字段级血缘关系")]),t("label",{staticClass:"switch"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.isFieldLevel,expression:"isFieldLevel"}],attrs:{type:"checkbox",id:"toggle-switch"},domProps:{checked:Array.isArray(e.isFieldLevel)?e._i(e.isFieldLevel,null)>-1:e.isFieldLevel},on:{change:function(n){var i=e.isFieldLevel,a=n.target,o=!!a.checked;if(Array.isArray(i)){var s=null,u=e._i(i,s);a.checked?u<0&&(e.isFieldLevel=i.concat([s])):u>-1&&(e.isFieldLevel=i.slice(0,u).concat(i.slice(u+1)))}else e.isFieldLevel=o}}}),t("span",{staticClass:"slider round"})]),t("span",[e._v("表级别血缘关系")])]),t("div",{staticClass:"chart-controls"},[t("el-tooltip",{attrs:{content:"放大",placement:"bottom"}},[t("el-button",{attrs:{circle:"",size:"small"},on:{click:e.zoomIn}},[t("i",{staticClass:"el-icon-zoom-in"})])],1),t("el-tooltip",{attrs:{content:"缩小",placement:"bottom"}},[t("el-button",{attrs:{circle:"",size:"small"},on:{click:e.zoomOut}},[t("i",{staticClass:"el-icon-zoom-out"})])],1),t("el-tooltip",{attrs:{content:"重置",placement:"bottom"}},[t("el-button",{attrs:{circle:"",size:"small"},on:{click:e.resetZoom}},[t("i",{staticClass:"el-icon-refresh-left"})])],1),t("el-tooltip",{attrs:{content:"全屏",placement:"bottom"}},[t("el-button",{attrs:{circle:"",size:"small"},on:{click:e.toggleFullscreen}},[t("i",{staticClass:"el-icon-full-screen"})])],1)],1),t("div",{ref:"chartContainer",attrs:{id:"container"},on:{wheel:function(n){return n.preventDefault(),e.handleWheel.apply(null,arguments)},mousedown:e.startDrag,mousemove:e.handleDrag,mouseup:e.endDrag,mouseleave:e.endDrag}})])])])},BMe=[function(){var r=this,e=r._self._c;return e("div",{staticClass:"header"},[e("h2",[r._v("血缘解析可视化工具")])])}],zMe=rs(FMe,$Me,BMe,!1,null,"bccef05f");const VMe=zMe.exports;function HMe(r,e){return Su({url:"/api/sql/split",method:"POST",headers:{"Content-Type":"text/plain"},params:{datasourceType:e},data:r})}function jMe(r,e){return Su({url:"/api/datasource/grammarCheck",method:"POST",headers:{"Content-Type":"text/plain"},params:{datasourceType:e},data:r})}const WMe={name:"SQLSplitterTester",data(){return{sqlInput:`CREATE OR REPLACE FUNCTION add_numbers( - p_num1 IN NUMBER, - p_num2 IN NUMBER -) RETURN NUMBER IS -BEGIN - RETURN p_num1 + p_num2; -END add_numbers; - -select * from WWV_FLOW_FILE_OBJECTS$;`,selectedDataSource:1,dataSources:[],splitResults:[],API_BASE_URL:""}},mounted(){this.fetchDataSourceTypes()},methods:{async splitSQL(){var e,t;const r=this.sqlInput.trim();if(!r){this.$message.error("请输入SQL语句");return}try{const n=await HMe(r,this.selectedDataSource);n.code===200?(this.splitResults=n.data,this.$message.success("SQL切分成功")):this.$message.error(n.msg||"SQL切分失败")}catch(n){console.error("切分失败:",n),this.$message.error("切分失败: "+(((t=(e=n.response)==null?void 0:e.data)==null?void 0:t.msg)||n.message))}},async fetchDataSourceTypes(){try{const r=await C_();this.dataSources=r.data}catch(r){console.error("Error fetching data source types:",r),this.dataSources=[{value:3,label:"MYSQL"},{value:1,label:"ORACLE"},{value:11,label:"POSTGRESQL"},{value:17,label:"SQLSERVER"},{value:25,label:"HIVE"}]}}}};var GMe=function(){var e=this,t=e._self._c;return t("div",{staticClass:"sql-splitter-tester"},[e._m(0),t("div",{staticClass:"main-container"},[t("div",{staticClass:"sql-panel"},[t("div",{staticClass:"panel-header"},[t("div",{staticClass:"panel-title"},[e._v("SQL输入")]),t("div",{staticClass:"data-source-selector"},[t("label",{attrs:{for:"data-source"}},[e._v("数据源:")]),t("select",{directives:[{name:"model",rawName:"v-model",value:e.selectedDataSource,expression:"selectedDataSource"}],attrs:{id:"data-source"},on:{change:function(n){var i=Array.prototype.filter.call(n.target.options,function(a){return a.selected}).map(function(a){var o="_value"in a?a._value:a.value;return o});e.selectedDataSource=n.target.multiple?i:i[0]}}},e._l(e.dataSources,function(n){return t("option",{key:n.value,domProps:{value:n.value}},[e._v(" "+e._s(n.label)+" ")])}),0)])]),t("div",{staticClass:"sql-input-wrapper"},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:e.sqlInput,expression:"sqlInput"}],attrs:{id:"sql-input",placeholder:"请输入多条SQL语句..."},domProps:{value:e.sqlInput},on:{input:function(n){n.target.composing||(e.sqlInput=n.target.value)}}})]),t("div",{staticClass:"sql-actions"},[t("button",{attrs:{id:"split-btn"},on:{click:e.splitSQL}},[e._v("切分SQL")])])]),t("div",{staticClass:"result-panel"},[t("div",{staticClass:"panel-title"},[e._v("切分结果")]),t("div",{staticClass:"result-container"},e._l(e.splitResults,function(n,i){return t("div",{key:i,staticClass:"sql-item"},[t("div",{staticClass:"sql-index"},[e._v("SQL "+e._s(i+1)+":")]),t("textarea",{staticClass:"result-sql",attrs:{readonly:""},domProps:{value:n}})])}),0)])])])},UMe=[function(){var r=this,e=r._self._c;return e("div",{staticClass:"header"},[e("h2",[r._v("SQL切分测试工具")])])}],YMe=rs(WMe,GMe,UMe,!1,null,"9cbdff14");const qMe=YMe.exports,KMe={name:"SyntaxValidator",data(){return{sqlInput:"",selectedDataSource:1,dataSources:[],validationResult:null,API_BASE_URL:""}},mounted(){this.fetchDataSourceTypes()},methods:{async validateSQL(){const r=this.sqlInput.trim();if(!r){this.$message.error("请输入SQL语句");return}try{this.validationResult=await jMe(r,this.selectedDataSource)}catch(e){console.error("validationResult=>",validationResult),console.error("验证失败:",e),this.$message.error("验证失败: "+e.message),this.validationResult={code:500,msg:e.message,data:e.stack}}},async fetchDataSourceTypes(){try{const r=await C_();this.dataSources=r.data}catch(r){console.error("Error fetching data source types:",r),this.dataSources=[{value:3,label:"MYSQL"},{value:1,label:"ORACLE"},{value:11,label:"POSTGRESQL"},{value:17,label:"SQLSERVER"},{value:25,label:"HIVE"}]}}}};var XMe=function(){var e=this,t=e._self._c;return t("div",{staticClass:"syntax-validator"},[e._m(0),t("div",{staticClass:"main-container"},[t("div",{staticClass:"sql-panel"},[t("div",{staticClass:"panel-header"},[t("div",{staticClass:"panel-title"},[e._v("SQL输入")]),t("div",{staticClass:"data-source-selector"},[t("label",{attrs:{for:"data-source"}},[e._v("数据源:")]),t("select",{directives:[{name:"model",rawName:"v-model",value:e.selectedDataSource,expression:"selectedDataSource"}],attrs:{id:"data-source"},on:{change:function(n){var i=Array.prototype.filter.call(n.target.options,function(a){return a.selected}).map(function(a){var o="_value"in a?a._value:a.value;return o});e.selectedDataSource=n.target.multiple?i:i[0]}}},e._l(e.dataSources,function(n){return t("option",{key:n.value,domProps:{value:n.value}},[e._v(" "+e._s(n.label)+" ")])}),0)])]),t("div",{staticClass:"sql-input-wrapper"},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:e.sqlInput,expression:"sqlInput"}],attrs:{id:"sql-input",placeholder:"请输入SQL语句进行语法验证..."},domProps:{value:e.sqlInput},on:{input:function(n){n.target.composing||(e.sqlInput=n.target.value)}}})]),t("div",{staticClass:"sql-actions"},[t("button",{attrs:{id:"validate-btn"},on:{click:e.validateSQL}},[e._v("验证语法")])])]),t("div",{staticClass:"result-panel"},[t("div",{staticClass:"panel-title"},[e._v("验证结果")]),t("div",{staticClass:"result-container"},[e.validationResult?t("div",{staticClass:"result-content"},[e.validationResult.code===200?t("div",{staticClass:"success-message"},[t("i",{staticClass:"el-icon-success"}),e._v(" SQL语法验证通过 "),e.validationResult.msg?t("div",{staticClass:"success-details"},[e._v(" "+e._s(e.validationResult.msg)+" ")]):e._e()]):t("div",{staticClass:"error-message"},[t("i",{staticClass:"el-icon-error"}),e._v(" SQL语法错误 "),e.validationResult.msg?t("div",{staticClass:"error-details"},[e._v(" "+e._s(e.validationResult.msg)+" ")]):e._e(),e.validationResult.data?t("div",{staticClass:"stack-trace"},[t("pre",[e._v(e._s(e.validationResult.data))])]):e._e()])]):t("div",{staticClass:"empty-result"},[e._v(" 请先输入SQL并点击验证按钮 ")])])])])])},ZMe=[function(){var r=this,e=r._self._c;return e("div",{staticClass:"header"},[e("h2",[r._v("在线语法解析验证工具")])])}],QMe=rs(KMe,XMe,ZMe,!1,null,"04b1c73a");const JMe=QMe.exports,eAe={name:"TableParser",data(){return{sqlInput:`-- 完整查询(包含WITH AS、JOIN、子查询、UNION等) -WITH --- 第一个AS:简单SELECT -t1 AS ( - SELECT id, name, age - FROM digua_ceshi.demo_table_digua -), - --- 第二个AS:SELECT FROM (SELECT) 嵌套形式 -t2 AS ( - SELECT sub.id, sub.name - FROM ( - SELECT id, name - FROM digua_ceshi.demo_table_digua - WHERE id IS NOT NULL - ) AS sub -), - --- 第三个AS:UNION查询(使用新的表) -t3 AS ( - SELECT id, name, age - FROM digua_ceshi.new_table - WHERE age > 18 - UNION - SELECT id, name, age - FROM digua_ceshi.new_table - WHERE age IS NULL - UNION - SELECT id, name, age - FROM digua_ceshi.new_table2 - WHERE age IS NULL -), - --- 第四个AS:LEFT JOIN查询(使用新的表) -t4 AS ( - SELECT t.id, t.name, nt.age AS new_table_age - FROM digua_ceshi.demo_table_digua t - LEFT JOIN digua_ceshi.new_table nt ON t.id = nt.id -), - --- 第五个AS:递归CTE(使用新的表) -t5 AS ( - -- 递归CTE的初始查询 - SELECT id, name, manager_id, level - FROM digua_ceshi.hierarchy_table - WHERE manager_id IS NULL -- 假设顶级节点的manager_id为NULL - - UNION ALL - - -- 递归部分 - SELECT h.id, h.name, h.manager_id, t5.level + 1 - FROM digua_ceshi.hierarchy_table h - INNER JOIN t5 ON h.manager_id = t5.id -) - --- 最终主查询(包含所有JOIN、子查询、UNION操作) --- digua_ceshi.result_table.* 来源字段为 digua_ceshi.demo_table_digua.* 【见下层】 --- digua_ceshi.result_table.id 来源字段为 digua_ceshi.demo_table_digua.id --- digua_ceshi.result_table.name 来源字段为 digua_ceshi.demo_table_digua.name --- digua_ceshi.result_table.age 来源字段为 digua_ceshi.demo_table_digua.age --- digua_ceshi.result_table.t2_name 来源字段为 digua_ceshi.demo_table_digua.name --- digua_ceshi.result_table.t3_name 来源字段为 digua_ceshi.new_table.name、digua_ceshi.new_table2.name --- digua_ceshi.result_table.t4_age 来源字段为 digua_ceshi.new_table.age --- digua_ceshi.result_table.t5_level 来源字段为 digua_ceshi.hierarchy_table.level --- digua_ceshi.result_table.department 来源字段为 digua_ceshi.departments.department --- digua_ceshi.result_table.older_count 来源字段为 digua_ceshi.demo_table_digua.* 【见下层】 --- digua_ceshi.result_table.older_count 来源字段为 digua_ceshi.demo_table_digua.id --- digua_ceshi.result_table.older_count 来源字段为 digua_ceshi.demo_table_digua.name --- digua_ceshi.result_table.older_count 来源字段为 digua_ceshi.demo_table_digua.age -INSERT INTO digua_ceshi.result_table -SELECT - t1.*, - t2.name AS t2_name, - t3.name AS t3_name, - t4.new_table_age AS t4_age, - t5.level AS t5_level, -- 添加递归CTE中的层级字段 - -- 添加与真实表的JOIN - dt.department, - -- 添加子查询示例 - (SELECT COUNT(*) FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count -- 来源字段为 digua_ceshi.demo_table_digua.* -FROM t1 -JOIN t2 ON t1.id = t2.id -LEFT JOIN t3 ON t1.id = t3.id -LEFT JOIN t4 ON t1.id = t4.id -LEFT JOIN t5 ON t1.id = t5.id --- 添加与真实表的JOIN -JOIN digua_ceshi.department dt ON t1.id = dt.employee_id --- 添加UNION示例 -WHERE t1.age > 20 - -UNION ALL - -SELECT - t1.*, - t2.name AS t2_name, - t3.name AS t3_name, - t4.new_table_age AS t4_age, - t5.level AS t5_level, -- 添加递归CTE中的层级字段 - dt.department, - 0 AS older_count -- 默认值 -FROM t1 -JOIN t2 ON t1.id = t2.id -LEFT JOIN t3 ON t1.id = t3.id -LEFT JOIN t4 ON t1.id = t4.id -LEFT JOIN t5 ON t1.id = t5.id -JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id -WHERE t1.age <= 20;`,selectedDataSource:36,dataSources:[],parsedTables:[],API_BASE_URL:""}},mounted(){this.fetchDataSourceTypes()},methods:{async parseTables(){var e,t;const r=this.sqlInput.trim();if(!r){this.$message.error("请输入SQL语句");return}try{const n={datasourceType:this.selectedDataSource,sql:r};console.log("form:",n);const i=await RMe(n);i.code===200?(this.parsedTables=i.data,this.$message.success("表解析成功")):this.$message.error(i.msg||"表解析失败")}catch(n){console.error("解析失败:",n),this.$message.error("解析失败: "+(((t=(e=n.response)==null?void 0:e.data)==null?void 0:t.msg)||n.message))}},async fetchDataSourceTypes(){try{const r=await C_();this.dataSources=r.data}catch(r){console.error("Error fetching data source types:",r),this.dataSources=[{value:3,label:"MYSQL"},{value:1,label:"ORACLE"},{value:11,label:"POSTGRESQL"},{value:17,label:"SQLSERVER"},{value:25,label:"HIVE"}]}}}};var tAe=function(){var e=this,t=e._self._c;return t("div",{staticClass:"table-parser"},[e._m(0),t("div",{staticClass:"main-container"},[t("div",{staticClass:"input-panel"},[t("div",{staticClass:"panel-header"},[t("div",{staticClass:"panel-title"},[e._v("SQL输入")]),t("div",{staticClass:"data-source-selector"},[t("label",{attrs:{for:"data-source"}},[e._v("数据源:")]),t("select",{directives:[{name:"model",rawName:"v-model",value:e.selectedDataSource,expression:"selectedDataSource"}],attrs:{id:"data-source"},on:{change:function(n){var i=Array.prototype.filter.call(n.target.options,function(a){return a.selected}).map(function(a){var o="_value"in a?a._value:a.value;return o});e.selectedDataSource=n.target.multiple?i:i[0]}}},e._l(e.dataSources,function(n){return t("option",{key:n.value,domProps:{value:n.value}},[e._v(" "+e._s(n.label)+" ")])}),0)])]),t("div",{staticClass:"sql-input-wrapper"},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:e.sqlInput,expression:"sqlInput"}],attrs:{id:"sql-input",placeholder:"请输入SQL语句..."},domProps:{value:e.sqlInput},on:{input:function(n){n.target.composing||(e.sqlInput=n.target.value)}}})]),t("div",{staticClass:"sql-actions"},[t("button",{attrs:{id:"parse-btn"},on:{click:e.parseTables}},[e._v("解析表")])])]),t("div",{staticClass:"result-panel"},[t("div",{staticClass:"panel-title"},[e._v("解析结果")]),t("div",{staticClass:"result-container"},[e.parsedTables.length===0?t("div",{staticClass:"empty-result"},[e._v(" 暂无解析结果 ")]):t("div",{staticClass:"result-content"},[t("div",{staticClass:"result-count"},[e._v("共找到 "+e._s(e.parsedTables.length)+" 个表:")]),t("div",{staticClass:"table-list"},e._l(e.parsedTables,function(n,i){return t("div",{key:i,staticClass:"table-item"},[t("div",{staticClass:"table-index"},[e._v("表 "+e._s(i+1)+":")]),t("div",{staticClass:"table-name"},[e._v(e._s(n))])])}),0)])])])])])},rAe=[function(){var r=this,e=r._self._c;return e("div",{staticClass:"header"},[e("h2",[r._v("SQL 表解析工具")])])}],nAe=rs(eAe,tAe,rAe,!1,null,"6e144c21");const iAe=nAe.exports,aAe={name:"CreateTableParser",data(){return{sqlInput:`CREATE TABLE IF NOT EXISTS example_db.example_tbl_unique - ( - user_id LARGEINT NOT NULL, - user_name VARCHAR(50) NOT NULL, - city VARCHAR(20), - age SMALLINT, - sex TINYINT - ) - UNIQUE KEY(user_id, user_name) - DISTRIBUTED BY HASH(user_id) BUCKETS 10 - PROPERTIES ( - "enable_unique_key_merge_on_write" = "true" - );`,selectedDataSource:36,dataSources:[],parseResult:null}},mounted(){this.fetchDataSourceTypes()},methods:{async parseCreateTable(){var e,t;const r=this.sqlInput.trim();if(!r){this.$message.error("请输入建表SQL语句");return}if(!r.toLowerCase().includes("create table")){this.$message.warning("请输入有效的建表SQL语句");return}try{const n={datasourceType:this.selectedDataSource,sql:r};console.log("form:",n);const i=await NMe(n);i.code===200?(this.parseResult=i.data,this.$message.success("建表SQL解析成功")):this.$message.error(i.msg||"建表SQL解析失败")}catch(n){console.error("解析失败:",n),this.$message.error("解析失败: "+(((t=(e=n.response)==null?void 0:e.data)==null?void 0:t.msg)||n.message))}},async fetchDataSourceTypes(){try{const r=await C_();this.dataSources=r.data}catch(r){console.error("Error fetching data source types:",r),this.dataSources=[{value:3,label:"MYSQL"},{value:1,label:"ORACLE"},{value:11,label:"POSTGRESQL"},{value:17,label:"SQLSERVER"},{value:25,label:"HIVE"}]}}}};var oAe=function(){var e=this,t=e._self._c;return t("div",{staticClass:"create-table-parser"},[e._m(0),t("div",{staticClass:"main-container"},[t("div",{staticClass:"input-panel"},[t("div",{staticClass:"panel-header"},[t("div",{staticClass:"panel-title"},[e._v("建表SQL输入")]),t("div",{staticClass:"data-source-selector"},[t("label",{attrs:{for:"data-source"}},[e._v("数据源:")]),t("select",{directives:[{name:"model",rawName:"v-model",value:e.selectedDataSource,expression:"selectedDataSource"}],attrs:{id:"data-source"},on:{change:function(n){var i=Array.prototype.filter.call(n.target.options,function(a){return a.selected}).map(function(a){var o="_value"in a?a._value:a.value;return o});e.selectedDataSource=n.target.multiple?i:i[0]}}},e._l(e.dataSources,function(n){return t("option",{key:n.value,domProps:{value:n.value}},[e._v(" "+e._s(n.label)+" ")])}),0)])]),t("div",{staticClass:"sql-input-wrapper"},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:e.sqlInput,expression:"sqlInput"}],attrs:{id:"sql-input",placeholder:"请输入建表SQL语句..."},domProps:{value:e.sqlInput},on:{input:function(n){n.target.composing||(e.sqlInput=n.target.value)}}})]),t("div",{staticClass:"sql-actions"},[t("button",{attrs:{id:"parse-btn"},on:{click:e.parseCreateTable}},[e._v("解析建表SQL")])])]),t("div",{staticClass:"result-panel"},[t("div",{staticClass:"panel-title"},[e._v("解析结果")]),t("div",{staticClass:"result-container"},[e.parseResult?t("div",{staticClass:"result-content"},[t("div",{staticClass:"result-info"},[t("div",{staticClass:"result-section"},[t("h3",[e._v("完整JSON结果")]),t("pre",{staticClass:"json-result"},[e._v(e._s(JSON.stringify(e.parseResult,null,2)))])])])]):e._e()])])])])},sAe=[function(){var r=this,e=r._self._c;return e("div",{staticClass:"header"},[e("h2",[r._v("建表SQL解析工具")])])}],lAe=rs(aAe,oAe,sAe,!1,null,"d73075b8");const uAe=lAe.exports,cAe={name:"NavDropdown",methods:{handleCommand(r){this.$route.path!==r&&this.$router.push(r)}}};var fAe=function(){var e=this,t=e._self._c;return t("div",{staticClass:"nav-dropdown"},[t("el-dropdown",{attrs:{trigger:"click"},on:{command:e.handleCommand}},[t("span",{staticClass:"dropdown-trigger"},[t("i",{staticClass:"el-icon-menu"}),e._v(" SQL工具集 "),t("i",{staticClass:"el-icon-arrow-down caret"})]),t("el-dropdown-menu",{staticClass:"px-dropdown-menu",attrs:{slot:"dropdown"},slot:"dropdown"},[t("el-dropdown-item",{attrs:{command:"/syntax-validator"}},[e._v("在线语法解析验证工具")]),t("el-dropdown-item",{attrs:{command:"/lineage"}},[e._v("血缘解析可视化工具")]),t("el-dropdown-item",{attrs:{command:"/sql-splitter"}},[e._v("SQL切分测试工具")]),t("el-dropdown-item",{attrs:{command:"/table-parser"}},[e._v("SQL表解析工具")]),t("el-dropdown-item",{attrs:{command:"/create-table-parser"}},[e._v("建表SQL解析工具")])],1)],1)],1)},hAe=[],dAe=rs(cAe,fAe,hAe,!1,null,"5b1dbd30");const pAe=dAe.exports,vAe={name:"MainLayout",components:{NavDropdown:pAe},computed:{showNavDropdown(){return this.$route.path!=="/"}}};var gAe=function(){var e=this,t=e._self._c;return t("div",{staticClass:"main-layout"},[e.showNavDropdown?t("header",{staticClass:"app-header"},[t("div",{staticClass:"header-content"},[t("router-link",{staticClass:"home-link",attrs:{to:"/"}},[t("i",{staticClass:"el-icon-s-home"}),t("span",[e._v("返回首页")])]),t("div",{staticClass:"header-brand"},[e._v("SqlParserX")]),t("nav-dropdown")],1)]):e._e(),t("div",{class:["content-container",{"has-nav":e.showNavDropdown},{"is-home":!e.$route.path||e.$route.path==="/"}]},[t("router-view")],1)])},mAe=[],yAe=rs(vAe,gAe,mAe,!1,null,"92ea8acf");const _Ae=yAe.exports;Sr.use(h7);const bAe=new h7({routes:[{path:"/",component:_Ae,children:[{path:"",name:"Home",component:nse},{path:"/lineage",name:"LineageVisualizer",component:VMe},{path:"/sql-splitter",name:"SQLSplitterTester",component:qMe},{path:"/syntax-validator",name:"SyntaxValidator",component:JMe},{path:"/table-parser",name:"TableParser",component:iAe},{path:"/create-table-parser",name:"CreateTableParser",component:uAe}]}]});var Dm=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function xAe(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function c$(r){if(r.__esModule)return r;var e=r.default;if(typeof e=="function"){var t=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(r).forEach(function(n){var i=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return r[n]}})}),t}var bQ={exports:{}},Ze={},iL={exports:{}},u6;function xQ(){return u6||(u6=1,function(r){(function(e){var t={},n=/d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,i="\\d\\d?",a="\\d{3}",o="\\d{4}",s="[^\\s]+",u=/\[([^]*?)\]/gm,f=function(){};function h(k){return k.replace(/[|\\{()[^$+*?.-]/g,"\\$&")}function p(k,M){for(var E=[],I=0,O=k.length;I3?0:(M-M%10!==10)*M%10]}};var C={D:function(M){return M.getDay()},DD:function(M){return v(M.getDay())},Do:function(M,E){return E.DoFn(M.getDate())},d:function(M){return M.getDate()},dd:function(M){return v(M.getDate())},ddd:function(M,E){return E.dayNamesShort[M.getDay()]},dddd:function(M,E){return E.dayNames[M.getDay()]},M:function(M){return M.getMonth()+1},MM:function(M){return v(M.getMonth()+1)},MMM:function(M,E){return E.monthNamesShort[M.getMonth()]},MMMM:function(M,E){return E.monthNames[M.getMonth()]},yy:function(M){return v(String(M.getFullYear()),4).substr(2)},yyyy:function(M){return v(M.getFullYear(),4)},h:function(M){return M.getHours()%12||12},hh:function(M){return v(M.getHours()%12||12)},H:function(M){return M.getHours()},HH:function(M){return v(M.getHours())},m:function(M){return M.getMinutes()},mm:function(M){return v(M.getMinutes())},s:function(M){return M.getSeconds()},ss:function(M){return v(M.getSeconds())},S:function(M){return Math.round(M.getMilliseconds()/100)},SS:function(M){return v(Math.round(M.getMilliseconds()/10),2)},SSS:function(M){return v(M.getMilliseconds(),3)},a:function(M,E){return M.getHours()<12?E.amPm[0]:E.amPm[1]},A:function(M,E){return M.getHours()<12?E.amPm[0].toUpperCase():E.amPm[1].toUpperCase()},ZZ:function(M){var E=M.getTimezoneOffset();return(E>0?"-":"+")+v(Math.floor(Math.abs(E)/60)*100+Math.abs(E)%60,4)}},w={d:[i,function(k,M){k.day=M}],Do:[i+s,function(k,M){k.day=parseInt(M,10)}],M:[i,function(k,M){k.month=M-1}],yy:[i,function(k,M){var E=new Date,I=+(""+E.getFullYear()).substr(0,2);k.year=""+(M>68?I-1:I)+M}],h:[i,function(k,M){k.hour=M}],m:[i,function(k,M){k.minute=M}],s:[i,function(k,M){k.second=M}],yyyy:[o,function(k,M){k.year=M}],S:["\\d",function(k,M){k.millisecond=M*100}],SS:["\\d{2}",function(k,M){k.millisecond=M*10}],SSS:[a,function(k,M){k.millisecond=M}],D:[i,f],ddd:[s,f],MMM:[s,g("monthNamesShort")],MMMM:[s,g("monthNames")],a:[s,function(k,M,E){var I=M.toLowerCase();I===E.amPm[0]?k.isPm=!1:I===E.amPm[1]&&(k.isPm=!0)}],ZZ:["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",function(k,M){var E=(M+"").match(/([+-]|\d\d)/gi),I;E&&(I=+(E[1]*60)+parseInt(E[2],10),k.timezoneOffset=E[0]==="+"?I:-I)}]};w.dd=w.d,w.dddd=w.ddd,w.DD=w.D,w.mm=w.m,w.hh=w.H=w.HH=w.h,w.MM=w.M,w.ss=w.s,w.A=w.a,t.masks={default:"ddd MMM dd yyyy HH:mm:ss",shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},t.format=function(k,M,E){var I=E||t.i18n;if(typeof k=="number"&&(k=new Date(k)),Object.prototype.toString.call(k)!=="[object Date]"||isNaN(k.getTime()))throw new Error("Invalid Date in fecha.format");M=t.masks[M]||M||t.masks.default;var O=[];return M=M.replace(u,function(R,$){return O.push($),"@@@"}),M=M.replace(n,function(R){return R in C?C[R](k,I):R.slice(1,R.length-1)}),M.replace(/@@@/g,function(){return O.shift()})},t.parse=function(k,M,E){var I=E||t.i18n;if(typeof M!="string")throw new Error("Invalid format in fecha.parse");if(M=t.masks[M]||M,k.length>1e3)return null;var O={},R=[],$=[];M=M.replace(u,function(X,ee){return $.push(ee),"@@@"});var V=h(M).replace(n,function(X){if(w[X]){var ee=w[X];return R.push(ee[1]),"("+ee[0]+")"}return X});V=V.replace(/@@@/g,function(){return $.shift()});var z=k.match(new RegExp(V,"i"));if(!z)return null;for(var B=1;B"u"?b[S]=s(_,m):r(_)?b[S]=h(g[S],_,m):g.indexOf(_)===-1&&b.push(s(_,m))}),b}function f(g,v,m){var b={};return r(g)&&Object.keys(g).forEach(function(_){b[_]=s(g[_],m)}),Object.keys(v).forEach(function(_){!r(v[_])||!g[_]?b[_]=s(v[_],m):b[_]=h(g[_],v[_],m)}),b}function h(g,v,m){var b=Array.isArray(v),_=Array.isArray(g),S=m||{arrayMerge:u},C=b===_;if(C)if(b){var w=S.arrayMerge||u;return w(g,v,m)}else return f(g,v,m);else return s(v,m)}h.all=function(v,m){if(!Array.isArray(v)||v.length<2)throw new Error("first argument should be an array with at least two elements");return v.reduce(function(b,_){return h(b,_,m)})};var p=h;return aL=p,aL}var Uw={},wt={},Xi={},h6;function SQ(){if(h6)return Xi;h6=1,Xi.__esModule=!0,Xi.isDefined=Xi.isUndefined=Xi.isFunction=void 0;var r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u};Xi.isString=i,Xi.isObject=a,Xi.isHtmlElement=o;var e=na,t=n(e);function n(u){return u&&u.__esModule?u:{default:u}}function i(u){return Object.prototype.toString.call(u)==="[object String]"}function a(u){return Object.prototype.toString.call(u)==="[object Object]"}function o(u){return u&&u.nodeType===Node.ELEMENT_NODE}var s=function(f){var h={};return f&&h.toString.call(f)==="[object Function]"};return typeof/./!="function"&&(typeof Int8Array>"u"?"undefined":r(Int8Array))!=="object"&&(t.default.prototype.$isServer||typeof document.childNodes!="function")&&(Xi.isFunction=s=function(f){return typeof f=="function"||!1}),Xi.isFunction=s,Xi.isUndefined=function(f){return f===void 0},Xi.isDefined=function(f){return f!=null},Xi}var d6;function mo(){if(d6)return wt;d6=1,wt.__esModule=!0,wt.isMac=wt.isEmpty=wt.isEqual=wt.arrayEquals=wt.looseEqual=wt.capitalize=wt.kebabCase=wt.autoprefixer=wt.isFirefox=wt.isEdge=wt.isIE=wt.coerceTruthyValueToArray=wt.arrayFind=wt.arrayFindIndex=wt.escapeRegexpString=wt.valueEquals=wt.generateId=wt.getValueByPath=void 0;var r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(S){return typeof S}:function(S){return S&&typeof Symbol=="function"&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S};wt.noop=o,wt.hasOwn=s,wt.toObject=f,wt.getPropByPath=h,wt.rafThrottle=b,wt.objToArray=_;var e=na,t=i(e),n=SQ();function i(S){return S&&S.__esModule?S:{default:S}}var a=Object.prototype.hasOwnProperty;function o(){}function s(S,C){return a.call(S,C)}function u(S,C){for(var w in C)S[w]=C[w];return S}function f(S){for(var C={},w=0;w0&&arguments[0]!==void 0?arguments[0]:"";return String(C).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")};var p=wt.arrayFindIndex=function(C,w){for(var k=0;k!==C.length;++k)if(w(C[k]))return k;return-1};wt.arrayFind=function(C,w){var k=p(C,w);return k!==-1?C[k]:void 0},wt.coerceTruthyValueToArray=function(C){return Array.isArray(C)?C:C?[C]:[]},wt.isIE=function(){return!t.default.prototype.$isServer&&!isNaN(Number(document.documentMode))},wt.isEdge=function(){return!t.default.prototype.$isServer&&navigator.userAgent.indexOf("Edge")>-1},wt.isFirefox=function(){return!t.default.prototype.$isServer&&!!window.navigator.userAgent.match(/firefox/i)},wt.autoprefixer=function(C){if((typeof C>"u"?"undefined":r(C))!=="object")return C;var w=["transform","transition","animation"],k=["ms-","webkit-"];return w.forEach(function(M){var E=C[M];M&&E&&k.forEach(function(I){C[I+M]=E})}),C},wt.kebabCase=function(C){var w=/([^-])([A-Z])/g;return C.replace(w,"$1-$2").replace(w,"$1-$2").toLowerCase()},wt.capitalize=function(C){return(0,n.isString)(C)?C.charAt(0).toUpperCase()+C.slice(1):C};var g=wt.looseEqual=function(C,w){var k=(0,n.isObject)(C),M=(0,n.isObject)(w);return k&&M?JSON.stringify(C)===JSON.stringify(w):!k&&!M?String(C)===String(w):!1},v=wt.arrayEquals=function(C,w){if(C=C||[],w=w||[],C.length!==w.length)return!1;for(var k=0;k1?o-1:0),u=1;u1&&arguments[1]!==void 0?arguments[1]:1;return new Date(k.getFullYear(),k.getMonth(),k.getDate()-M)};Ze.nextDate=function(k){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return new Date(k.getFullYear(),k.getMonth(),k.getDate()+M)},Ze.getStartDateOfMonth=function(k,M){var E=new Date(k,M,1),I=E.getDay();return I===0?g(E,7):g(E,I)},Ze.getWeekNumber=function(k){if(!f(k))return null;var M=new Date(k.getTime());M.setHours(0,0,0,0),M.setDate(M.getDate()+3-(M.getDay()+6)%7);var E=new Date(M.getFullYear(),0,4);return 1+Math.round(((M.getTime()-E.getTime())/864e5-3+(E.getDay()+6)%7)/7)},Ze.getRangeHours=function(k){var M=[],E=[];if((k||[]).forEach(function(R){var $=R.map(function(V){return V.getHours()});E=E.concat(o($[0],$[1]))}),E.length)for(var I=0;I<24;I++)M[I]=E.indexOf(I)===-1;else for(var O=0;O<24;O++)M[O]=!1;return M},Ze.getPrevMonthLastDays=function(k,M){if(M<=0)return[];var E=new Date(k.getTime());E.setDate(0);var I=E.getDate();return m(M).map(function(O,R){return I-(M-R-1)})},Ze.getMonthDays=function(k){var M=new Date(k.getFullYear(),k.getMonth()+1,0),E=M.getDate();return m(E).map(function(I,O){return O+1})};function v(w,k,M,E){for(var I=k;I0?k.forEach(function(I){var O=I[0],R=I[1],$=O.getHours(),V=O.getMinutes(),z=R.getHours(),B=R.getMinutes();$===M&&z!==M?v(E,V,60,!0):$===M&&z===M?v(E,V,B+1,!0):$!==M&&z===M?v(E,0,B+1,!0):$M&&v(E,0,60,!0)}):v(E,0,60,!0),E};var m=Ze.range=function(k){return Array.apply(null,{length:k}).map(function(M,E){return E})},b=Ze.modifyDate=function(k,M,E,I){return new Date(M,E,I,k.getHours(),k.getMinutes(),k.getSeconds(),k.getMilliseconds())},_=Ze.modifyTime=function(k,M,E,I){return new Date(k.getFullYear(),k.getMonth(),k.getDate(),M,E,I,k.getMilliseconds())};Ze.modifyWithTimeString=function(k,M){return k==null||!M?k:(M=h(M,"HH:mm:ss"),_(k,M.getHours(),M.getMinutes(),M.getSeconds()))},Ze.clearTime=function(k){return new Date(k.getFullYear(),k.getMonth(),k.getDate())},Ze.clearMilliseconds=function(k){return new Date(k.getFullYear(),k.getMonth(),k.getDate(),k.getHours(),k.getMinutes(),k.getSeconds(),0)};var S=Ze.limitTimeRange=function(k,M){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"HH:mm:ss";if(M.length===0)return k;var I=function(j){return e.default.parse(e.default.format(j,E),E)},O=I(k),R=M.map(function(B){return B.map(I)});if(R.some(function(B){return O>=B[0]&&O<=B[1]}))return k;var $=R[0][0],V=R[0][0];R.forEach(function(B){$=new Date(Math.min(B[0],$)),V=new Date(Math.max(B[1],$))});var z=O<$?$:V;return b(z,k.getFullYear(),k.getMonth(),k.getDate())};Ze.timeWithinRange=function(k,M,E){var I=S(k,M,E);return I.getTime()===k.getTime()};var C=Ze.changeYearMonthAndClampDate=function(k,M,E){var I=Math.min(k.getDate(),p(M,E));return b(k,M,E,I)};return Ze.prevMonth=function(k){var M=k.getFullYear(),E=k.getMonth();return E===0?C(k,M-1,11):C(k,M,E-1)},Ze.nextMonth=function(k){var M=k.getFullYear(),E=k.getMonth();return E===11?C(k,M+1,0):C(k,M,E+1)},Ze.prevYear=function(k){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,E=k.getFullYear(),I=k.getMonth();return C(k,E-M,I)},Ze.nextYear=function(k){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,E=k.getFullYear(),I=k.getMonth();return C(k,E+M,I)},Ze.extractDateFormat=function(k){return k.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim()},Ze.extractTimeFormat=function(k){return k.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?y{2,4}/g,"").trim()},Ze.validateRangeInOneMonth=function(k,M){return k.getMonth()===M.getMonth()&&k.getFullYear()===M.getFullYear()},Ze}var Br={},m6;function Xs(){if(m6)return Br;m6=1,Br.__esModule=!0,Br.isInContainer=Br.getScrollContainer=Br.isScroll=Br.getStyle=Br.once=Br.off=Br.on=void 0;var r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C};Br.hasClass=g,Br.addClass=v,Br.removeClass=m,Br.setStyle=_;var e=na,t=n(e);function n(C){return C&&C.__esModule?C:{default:C}}var i=t.default.prototype.$isServer,a=/([\:\-\_]+(.))/g,o=/^moz([A-Z])/,s=i?0:Number(document.documentMode),u=function(w){return(w||"").replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g,"")},f=function(w){return w.replace(a,function(k,M,E,I){return I?E.toUpperCase():E}).replace(o,"Moz$1")},h=Br.on=function(){return!i&&document.addEventListener?function(C,w,k){C&&w&&k&&C.addEventListener(w,k,!1)}:function(C,w,k){C&&w&&k&&C.attachEvent("on"+w,k)}}(),p=Br.off=function(){return!i&&document.removeEventListener?function(C,w,k){C&&w&&C.removeEventListener(w,k,!1)}:function(C,w,k){C&&w&&C.detachEvent("on"+w,k)}}();Br.once=function(w,k,M){var E=function I(){M&&M.apply(this,arguments),p(w,k,I)};h(w,k,E)};function g(C,w){if(!C||!w)return!1;if(w.indexOf(" ")!==-1)throw new Error("className should not contain space.");return C.classList?C.classList.contains(w):(" "+C.className+" ").indexOf(" "+w+" ")>-1}function v(C,w){if(C){for(var k=C.className,M=(w||"").split(" "),E=0,I=M.length;E"u"?"undefined":r(w))==="object")for(var M in w)w.hasOwnProperty(M)&&_(C,M,w[M]);else w=f(w),w==="opacity"&&s<9?C.style.filter=isNaN(k)?"":"alpha(opacity="+k*100+")":C.style[w]=k}var S=Br.isScroll=function(w,k){if(!i){var M=k!=null,E=M?k?b(w,"overflow-y"):b(w,"overflow-x"):b(w,"overflow");return E.match(/(scroll|auto|overlay)/)}};return Br.getScrollContainer=function(w,k){if(!i){for(var M=w;M;){if([window,document,document.documentElement].includes(M))return window;if(S(M,k))return M;M=M.parentNode}return M}},Br.isInContainer=function(w,k){if(i||!w||!k)return!1;var M=w.getBoundingClientRect(),E=void 0;return[window,document,document.documentElement,null,void 0].includes(k)?E={top:0,right:window.innerWidth,bottom:window.innerHeight,left:0}:E=k.getBoundingClientRect(),M.topE.top&&M.right>E.left&&M.left0){var b=v[v.length-1];if(b.id===g){if(b.modalClass){var _=b.modalClass.trim().split(/\s+/);_.forEach(function(C){return(0,t.removeClass)(m,C)})}v.pop(),v.length>0&&(m.style.zIndex=v[v.length-1].zIndex)}else for(var S=v.length-1;S>=0;S--)if(v[S].id===g){v.splice(S,1);break}}v.length===0&&(this.modalFade&&(0,t.addClass)(m,"v-modal-leave"),setTimeout(function(){v.length===0&&(m.parentNode&&m.parentNode.removeChild(m),m.style.display="none",f.modalDom=void 0),(0,t.removeClass)(m,"v-modal-leave")},200))}};Object.defineProperty(f,"zIndex",{configurable:!0,get:function(){return a||(o=o||(e.default.prototype.$ELEMENT||{}).zIndex||2e3,a=!0),o},set:function(g){o=g}});var h=function(){if(!e.default.prototype.$isServer&&f.modalStack.length>0){var g=f.modalStack[f.modalStack.length-1];if(!g)return;var v=f.getInstance(g.id);return v}};return e.default.prototype.$isServer||window.addEventListener("keydown",function(p){if(p.keyCode===27){var g=h();g&&g.closeOnPressEscape&&(g.handleClose?g.handleClose():g.handleAction?g.handleAction("cancel"):g.close())}}),Zw.default=f,Zw}var Qw={},S6;function d$(){if(S6)return Qw;S6=1,Qw.__esModule=!0,Qw.default=function(){if(e.default.prototype.$isServer)return 0;if(n!==void 0)return n;var i=document.createElement("div");i.className="el-scrollbar__wrap",i.style.visibility="hidden",i.style.width="100px",i.style.position="absolute",i.style.top="-9999px",document.body.appendChild(i);var a=i.offsetWidth;i.style.overflow="scroll";var o=document.createElement("div");o.style.width="100%",i.appendChild(o);var s=o.offsetWidth;return i.parentNode.removeChild(i),n=a-s,n};var r=na,e=t(r);function t(i){return i&&i.__esModule?i:{default:i}}var n=void 0;return Qw}var w6;function wQ(){if(w6)return qd;w6=1,qd.__esModule=!0,qd.PopupManager=void 0;var r=na,e=f(r),t=vD(),n=f(t),i=DAe(),a=f(i),o=d$(),s=f(o),u=Xs();function f(g){return g&&g.__esModule?g:{default:g}}var h=1,p=void 0;return qd.default={props:{visible:{type:Boolean,default:!1},openDelay:{},closeDelay:{},zIndex:{},modal:{type:Boolean,default:!1},modalFade:{type:Boolean,default:!0},modalClass:{},modalAppendToBody:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!1}},beforeMount:function(){this._popupId="popup-"+h++,a.default.register(this._popupId,this)},beforeDestroy:function(){a.default.deregister(this._popupId),a.default.closeModal(this._popupId),this.restoreBodyStyle()},data:function(){return{opened:!1,bodyPaddingRight:null,computedBodyPaddingRight:0,withoutHiddenClass:!0,rendered:!1}},watch:{visible:function(v){var m=this;if(v){if(this._opening)return;this.rendered?this.open():(this.rendered=!0,e.default.nextTick(function(){m.open()}))}else this.close()}},methods:{open:function(v){var m=this;this.rendered||(this.rendered=!0);var b=(0,n.default)({},this.$props||this,v);this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),clearTimeout(this._openTimer);var _=Number(b.openDelay);_>0?this._openTimer=setTimeout(function(){m._openTimer=null,m.doOpen(b)},_):this.doOpen(b)},doOpen:function(v){if(!this.$isServer&&!(this.willOpen&&!this.willOpen())&&!this.opened){this._opening=!0;var m=this.$el,b=v.modal,_=v.zIndex;if(_&&(a.default.zIndex=_),b&&(this._closing&&(a.default.closeModal(this._popupId),this._closing=!1),a.default.openModal(this._popupId,a.default.nextZIndex(),this.modalAppendToBody?void 0:m,v.modalClass,v.modalFade),v.lockScroll)){this.withoutHiddenClass=!(0,u.hasClass)(document.body,"el-popup-parent--hidden"),this.withoutHiddenClass&&(this.bodyPaddingRight=document.body.style.paddingRight,this.computedBodyPaddingRight=parseInt((0,u.getStyle)(document.body,"paddingRight"),10)),p=(0,s.default)();var S=document.documentElement.clientHeight0&&(S||C==="scroll")&&this.withoutHiddenClass&&(document.body.style.paddingRight=this.computedBodyPaddingRight+p+"px"),(0,u.addClass)(document.body,"el-popup-parent--hidden")}getComputedStyle(m).position==="static"&&(m.style.position="absolute"),m.style.zIndex=a.default.nextZIndex(),this.opened=!0,this.onOpen&&this.onOpen(),this.doAfterOpen()}},doAfterOpen:function(){this._opening=!1},close:function(){var v=this;if(!(this.willClose&&!this.willClose())){this._openTimer!==null&&(clearTimeout(this._openTimer),this._openTimer=null),clearTimeout(this._closeTimer);var m=Number(this.closeDelay);m>0?this._closeTimer=setTimeout(function(){v._closeTimer=null,v.doClose()},m):this.doClose()}},doClose:function(){this._closing=!0,this.onClose&&this.onClose(),this.lockScroll&&setTimeout(this.restoreBodyStyle,200),this.opened=!1,this.doAfterClose()},doAfterClose:function(){a.default.closeModal(this._popupId),this._closing=!1},restoreBodyStyle:function(){this.modal&&this.withoutHiddenClass&&(document.body.style.paddingRight=this.bodyPaddingRight,(0,u.removeClass)(document.body,"el-popup-parent--hidden")),this.withoutHiddenClass=!0}}},qd.PopupManager=a.default,qd}var oL={exports:{}},C6;function kAe(){return C6||(C6=1,function(r){var e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};(function(t,n){e(r)==="object"&&r.exports?r.exports=n():t.Popper=n()})(void 0,function(){var t=window,n={placement:"bottom",gpuAcceleration:!0,offset:0,boundariesElement:"viewport",boundariesPadding:5,preventOverflowOrder:["left","right","top","bottom"],flipBehavior:"flip",arrowElement:"[x-arrow]",arrowOffset:0,modifiers:["shift","offset","preventOverflow","keepTogether","arrow","flip","applyStyle"],modifiersIgnored:[],forceAbsolute:!1};function i(w,k,M){this._reference=w.jquery?w[0]:w,this.state={};var E=typeof k>"u"||k===null,I=k&&Object.prototype.toString.call(k)==="[object Object]";return E||I?this._popper=this.parse(I?k:{}):this._popper=k.jquery?k[0]:k,this._options=Object.assign({},n,M),this._options.modifiers=this._options.modifiers.map((function(O){if(this._options.modifiersIgnored.indexOf(O)===-1)return O==="applyStyle"&&this._popper.setAttribute("x-placement",this._options.placement),this.modifiers[O]||O}).bind(this)),this.state.position=this._getPosition(this._popper,this._reference),v(this._popper,{position:this.state.position,top:0}),this.update(),this._setupEventListeners(),this}i.prototype.destroy=function(){return this._popper.removeAttribute("x-placement"),this._popper.style.left="",this._popper.style.position="",this._popper.style.top="",this._popper.style[C("transform")]="",this._removeEventListeners(),this._options.removeOnDestroy&&this._popper.remove(),this},i.prototype.update=function(){var w={instance:this,styles:{}};w.placement=this._options.placement,w._originalPlacement=this._options.placement,w.offsets=this._getOffsets(this._popper,this._reference,w.placement),w.boundaries=this._getBoundaries(w,this._options.boundariesPadding,this._options.boundariesElement),w=this.runModifiers(w,this._options.modifiers),typeof this.state.updateCallback=="function"&&this.state.updateCallback(w)},i.prototype.onCreate=function(w){return w(this),this},i.prototype.onUpdate=function(w){return this.state.updateCallback=w,this},i.prototype.parse=function(w){var k={tagName:"div",classNames:["popper"],attributes:[],parent:t.document.body,content:"",contentType:"text",arrowTagName:"div",arrowClassNames:["popper__arrow"],arrowAttributes:["x-arrow"]};w=Object.assign({},k,w);var M=t.document,E=M.createElement(w.tagName);if(R(E,w.classNames),$(E,w.attributes),w.contentType==="node"?E.appendChild(w.content.jquery?w.content[0]:w.content):w.contentType==="html"?E.innerHTML=w.content:E.textContent=w.content,w.arrowTagName){var I=M.createElement(w.arrowTagName);R(I,w.arrowClassNames),$(I,w.arrowAttributes),E.appendChild(I)}var O=w.parent.jquery?w.parent[0]:w.parent;if(typeof O=="string"){if(O=M.querySelectorAll(w.parent),O.length>1&&console.warn("WARNING: the given `parent` query("+w.parent+") matched more than one element, the first one will be used"),O.length===0)throw"ERROR: the given `parent` doesn't exists!";O=O[0]}return O.length>1&&!(O instanceof Element)&&(console.warn("WARNING: you have passed as parent a list of elements, the first one will be used"),O=O[0]),O.appendChild(E),E;function R(V,z){z.forEach(function(B){V.classList.add(B)})}function $(V,z){z.forEach(function(B){V.setAttribute(B.split(":")[0],B.split(":")[1]||"")})}},i.prototype._getPosition=function(w,k){if(h(k),this._options.forceAbsolute)return"absolute";var M=g(k);return M?"fixed":"absolute"},i.prototype._getOffsets=function(w,k,M){M=M.split("-")[0];var E={};E.position=this.state.position;var I=E.position==="fixed",O=S(k,h(w),I),R=a(w);return["right","left"].indexOf(M)!==-1?(E.top=O.top+O.height/2-R.height/2,M==="left"?E.left=O.left-R.width:E.left=O.right):(E.left=O.left+O.width/2-R.width/2,M==="top"?E.top=O.top-R.height:E.top=O.bottom),E.width=R.width,E.height=R.height,{popper:E,reference:O}},i.prototype._setupEventListeners=function(){if(this.state.updateBound=this.update.bind(this),t.addEventListener("resize",this.state.updateBound),this._options.boundariesElement!=="window"){var w=p(this._reference);(w===t.document.body||w===t.document.documentElement)&&(w=t),w.addEventListener("scroll",this.state.updateBound),this.state.scrollTarget=w}},i.prototype._removeEventListeners=function(){t.removeEventListener("resize",this.state.updateBound),this._options.boundariesElement!=="window"&&this.state.scrollTarget&&(this.state.scrollTarget.removeEventListener("scroll",this.state.updateBound),this.state.scrollTarget=null),this.state.updateBound=null},i.prototype._getBoundaries=function(w,k,M){var E={},I,O;if(M==="window"){var R=t.document.body,$=t.document.documentElement;O=Math.max(R.scrollHeight,R.offsetHeight,$.clientHeight,$.scrollHeight,$.offsetHeight),I=Math.max(R.scrollWidth,R.offsetWidth,$.clientWidth,$.scrollWidth,$.offsetWidth),E={top:0,right:I,bottom:O,left:0}}else if(M==="viewport"){var V=h(this._popper),z=p(this._popper),B=b(V),j=function(re){return re==document.body?Math.max(document.documentElement.scrollTop,document.body.scrollTop):re.scrollTop},U=function(re){return re==document.body?Math.max(document.documentElement.scrollLeft,document.body.scrollLeft):re.scrollLeft},X=w.offsets.popper.position==="fixed"?0:j(z),ee=w.offsets.popper.position==="fixed"?0:U(z);E={top:0-(B.top-X),right:t.document.documentElement.clientWidth-(B.left-ee),bottom:t.document.documentElement.clientHeight-(B.top-X),left:0-(B.left-ee)}}else h(this._popper)===M?E={top:0,left:0,right:M.clientWidth,bottom:M.clientHeight}:E=b(M);return E.left+=k,E.right-=k,E.top=E.top+k,E.bottom=E.bottom-k,E},i.prototype.runModifiers=function(w,k,M){var E=k.slice();return M!==void 0&&(E=this._options.modifiers.slice(0,u(this._options.modifiers,M))),E.forEach((function(I){m(I)&&(w=I.call(this,w))}).bind(this)),w},i.prototype.isModifierRequired=function(w,k){var M=u(this._options.modifiers,w);return!!this._options.modifiers.slice(0,M).filter(function(E){return E===k}).length},i.prototype.modifiers={},i.prototype.modifiers.applyStyle=function(w){var k={position:w.offsets.popper.position},M=Math.round(w.offsets.popper.left),E=Math.round(w.offsets.popper.top),I;return this._options.gpuAcceleration&&(I=C("transform"))?(k[I]="translate3d("+M+"px, "+E+"px, 0)",k.top=0,k.left=0):(k.left=M,k.top=E),Object.assign(k,w.styles),v(this._popper,k),this._popper.setAttribute("x-placement",w.placement),this.isModifierRequired(this.modifiers.applyStyle,this.modifiers.arrow)&&w.offsets.arrow&&v(w.arrowElement,w.offsets.arrow),w},i.prototype.modifiers.shift=function(w){var k=w.placement,M=k.split("-")[0],E=k.split("-")[1];if(E){var I=w.offsets.reference,O=s(w.offsets.popper),R={y:{start:{top:I.top},end:{top:I.top+I.height-O.height}},x:{start:{left:I.left},end:{left:I.left+I.width-O.width}}},$=["bottom","top"].indexOf(M)!==-1?"x":"y";w.offsets.popper=Object.assign(O,R[$][E])}return w},i.prototype.modifiers.preventOverflow=function(w){var k=this._options.preventOverflowOrder,M=s(w.offsets.popper),E={left:function(){var O=M.left;return M.leftw.boundaries.right&&(O=Math.min(M.left,w.boundaries.right-M.width)),{left:O}},top:function(){var O=M.top;return M.topw.boundaries.bottom&&(O=Math.min(M.top,w.boundaries.bottom-M.height)),{top:O}}};return k.forEach(function(I){w.offsets.popper=Object.assign(M,E[I]())}),w},i.prototype.modifiers.keepTogether=function(w){var k=s(w.offsets.popper),M=w.offsets.reference,E=Math.floor;return k.rightE(M.right)&&(w.offsets.popper.left=E(M.right)),k.bottomE(M.bottom)&&(w.offsets.popper.top=E(M.bottom)),w},i.prototype.modifiers.flip=function(w){if(!this.isModifierRequired(this.modifiers.flip,this.modifiers.preventOverflow))return console.warn("WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!"),w;if(w.flipped&&w.placement===w._originalPlacement)return w;var k=w.placement.split("-")[0],M=o(k),E=w.placement.split("-")[1]||"",I=[];return this._options.flipBehavior==="flip"?I=[k,M]:I=this._options.flipBehavior,I.forEach((function(O,R){if(!(k!==O||I.length===R+1)){k=w.placement.split("-")[0],M=o(k);var $=s(w.offsets.popper),V=["right","bottom"].indexOf(k)!==-1;(V&&Math.floor(w.offsets.reference[k])>Math.floor($[M])||!V&&Math.floor(w.offsets.reference[k])O[j]&&(w.offsets.popper[z]+=R[z]+U-O[j]);var X=R[z]+(M||R[V]/2-U/2),ee=X-O[z];return ee=Math.max(Math.min(O[V]-U-8,ee),8),E[z]=ee,E[B]="",w.offsets.arrow=E,w.arrowElement=k,w};function a(w){var k=w.style.display,M=w.style.visibility;w.style.display="block",w.style.visibility="hidden",w.offsetWidth;var E=t.getComputedStyle(w),I=parseFloat(E.marginTop)+parseFloat(E.marginBottom),O=parseFloat(E.marginLeft)+parseFloat(E.marginRight),R={width:w.offsetWidth+O,height:w.offsetHeight+I};return w.style.display=k,w.style.visibility=M,R}function o(w){var k={left:"right",right:"left",bottom:"top",top:"bottom"};return w.replace(/left|right|bottom|top/g,function(M){return k[M]})}function s(w){var k=Object.assign({},w);return k.right=k.left+k.width,k.bottom=k.top+k.height,k}function u(w,k){var M=0,E;for(E in w){if(w[E]===k)return M;M++}return null}function f(w,k){var M=t.getComputedStyle(w,null);return M[k]}function h(w){var k=w.offsetParent;return k===t.document.body||!k?t.document.documentElement:k}function p(w){var k=w.parentNode;return k?k===t.document?t.document.body.scrollTop||t.document.body.scrollLeft?t.document.body:t.document.documentElement:["scroll","auto"].indexOf(f(k,"overflow"))!==-1||["scroll","auto"].indexOf(f(k,"overflow-x"))!==-1||["scroll","auto"].indexOf(f(k,"overflow-y"))!==-1?k:p(w.parentNode):w}function g(w){return w===t.document.body?!1:f(w,"position")==="fixed"?!0:w.parentNode?g(w.parentNode):w}function v(w,k){function M(E){return E!==""&&!isNaN(parseFloat(E))&&isFinite(E)}Object.keys(k).forEach(function(E){var I="";["width","height","top","right","bottom","left"].indexOf(E)!==-1&&M(k[E])&&(I="px"),w.style[E]=k[E]+I})}function m(w){var k={};return w&&k.toString.call(w)==="[object Function]"}function b(w){var k={width:w.offsetWidth,height:w.offsetHeight,left:w.offsetLeft,top:w.offsetTop};return k.right=k.left+k.width,k.bottom=k.top+k.height,k}function _(w){var k=w.getBoundingClientRect(),M=navigator.userAgent.indexOf("MSIE")!=-1,E=M&&w.tagName==="HTML"?-w.scrollTop:k.top;return{left:k.left,top:E,right:k.right,bottom:k.bottom,width:k.right-k.left,height:k.bottom-E}}function S(w,k,M){var E=_(w),I=_(k);if(M){var O=p(k);I.top+=O.scrollTop,I.bottom+=O.scrollTop,I.left+=O.scrollLeft,I.right+=O.scrollLeft}var R={top:E.top-I.top,left:E.left-I.left,bottom:E.top-I.top+E.height,right:E.left-I.left+E.width,width:E.width,height:E.height};return R}function C(w){for(var k=["","ms","webkit","moz","o"],M=0;M-1?"center "+f:f+" center"}},appendArrow:function(s){var u=void 0;if(!this.appended){this.appended=!0;for(var f in s.attributes)if(/^_v-/.test(s.attributes[f].name)){u=s.attributes[f].name;break}var h=document.createElement("div");u&&h.setAttribute(u,""),h.setAttribute("x-arrow",""),h.className="popper__arrow",s.appendChild(h)}}},beforeDestroy:function(){this.doDestroy(!0),this.popperElm&&this.popperElm.parentNode===document.body&&(this.popperElm.removeEventListener("click",a),document.body.removeChild(this.popperElm))},deactivated:function(){this.$options.beforeDestroy[0].call(this)}},Kw}var sL={exports:{}},Jw={},D6;function CQ(){return D6||(D6=1,Jw.__esModule=!0,mo(),Jw.default={mounted:function(){},methods:{getMigratingConfig:function(){return{props:{},events:{}}}}}),Jw}var km={},k6;function mD(){if(k6)return km;k6=1,km.__esModule=!0,km.isDef=r,km.isKorean=e;function r(t){return t!=null}function e(t){var n=/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi;return n.test(t)}return km}var M6;function p$(){return M6||(M6=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=75)}({0:function(e,t,n){n.d(t,"a",function(){return i});function i(a,o,s,u,f,h,p,g){var v=typeof a=="function"?a.options:a;o&&(v.render=o,v.staticRenderFns=s,v._compiled=!0),u&&(v.functional=!0),h&&(v._scopeId="data-v-"+h);var m;if(p?(m=function(S){S=S||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!S&&typeof __VUE_SSR_CONTEXT__<"u"&&(S=__VUE_SSR_CONTEXT__),f&&f.call(this,S),S&&S._registeredComponents&&S._registeredComponents.add(p)},v._ssrRegister=m):f&&(m=g?function(){f.call(this,this.$root.$options.shadowRoot)}:f),m)if(v.functional){v._injectStyles=m;var b=v.render;v.render=function(C,w){return m.call(w),b(C,w)}}else{var _=v.beforeCreate;v.beforeCreate=_?[].concat(_,m):[m]}return{exports:a,options:v}}},11:function(e,t){e.exports=CQ()},21:function(e,t){e.exports=mD()},4:function(e,t){e.exports=Yf()},75:function(e,t,n){n.r(t);var i=function(){var I=this,O=I.$createElement,R=I._self._c||O;return R("div",{class:[I.type==="textarea"?"el-textarea":"el-input",I.inputSize?"el-input--"+I.inputSize:"",{"is-disabled":I.inputDisabled,"is-exceed":I.inputExceed,"el-input-group":I.$slots.prepend||I.$slots.append,"el-input-group--append":I.$slots.append,"el-input-group--prepend":I.$slots.prepend,"el-input--prefix":I.$slots.prefix||I.prefixIcon,"el-input--suffix":I.$slots.suffix||I.suffixIcon||I.clearable||I.showPassword}],on:{mouseenter:function($){I.hovering=!0},mouseleave:function($){I.hovering=!1}}},[I.type!=="textarea"?[I.$slots.prepend?R("div",{staticClass:"el-input-group__prepend"},[I._t("prepend")],2):I._e(),I.type!=="textarea"?R("input",I._b({ref:"input",staticClass:"el-input__inner",attrs:{tabindex:I.tabindex,type:I.showPassword?I.passwordVisible?"text":"password":I.type,disabled:I.inputDisabled,readonly:I.readonly,autocomplete:I.autoComplete||I.autocomplete,"aria-label":I.label},on:{compositionstart:I.handleCompositionStart,compositionupdate:I.handleCompositionUpdate,compositionend:I.handleCompositionEnd,input:I.handleInput,focus:I.handleFocus,blur:I.handleBlur,change:I.handleChange}},"input",I.$attrs,!1)):I._e(),I.$slots.prefix||I.prefixIcon?R("span",{staticClass:"el-input__prefix"},[I._t("prefix"),I.prefixIcon?R("i",{staticClass:"el-input__icon",class:I.prefixIcon}):I._e()],2):I._e(),I.getSuffixVisible()?R("span",{staticClass:"el-input__suffix"},[R("span",{staticClass:"el-input__suffix-inner"},[!I.showClear||!I.showPwdVisible||!I.isWordLimitVisible?[I._t("suffix"),I.suffixIcon?R("i",{staticClass:"el-input__icon",class:I.suffixIcon}):I._e()]:I._e(),I.showClear?R("i",{staticClass:"el-input__icon el-icon-circle-close el-input__clear",on:{mousedown:function($){$.preventDefault()},click:I.clear}}):I._e(),I.showPwdVisible?R("i",{staticClass:"el-input__icon el-icon-view el-input__clear",on:{click:I.handlePasswordVisible}}):I._e(),I.isWordLimitVisible?R("span",{staticClass:"el-input__count"},[R("span",{staticClass:"el-input__count-inner"},[I._v(` - `+I._s(I.textLength)+"/"+I._s(I.upperLimit)+` - `)])]):I._e()],2),I.validateState?R("i",{staticClass:"el-input__icon",class:["el-input__validateIcon",I.validateIcon]}):I._e()]):I._e(),I.$slots.append?R("div",{staticClass:"el-input-group__append"},[I._t("append")],2):I._e()]:R("textarea",I._b({ref:"textarea",staticClass:"el-textarea__inner",style:I.textareaStyle,attrs:{tabindex:I.tabindex,disabled:I.inputDisabled,readonly:I.readonly,autocomplete:I.autoComplete||I.autocomplete,"aria-label":I.label},on:{compositionstart:I.handleCompositionStart,compositionupdate:I.handleCompositionUpdate,compositionend:I.handleCompositionEnd,input:I.handleInput,focus:I.handleFocus,blur:I.handleBlur,change:I.handleChange}},"textarea",I.$attrs,!1)),I.isWordLimitVisible&&I.type==="textarea"?R("span",{staticClass:"el-input__count"},[I._v(I._s(I.textLength)+"/"+I._s(I.upperLimit))]):I._e()],2)},a=[];i._withStripped=!0;var o=n(4),s=n.n(o),u=n(11),f=n.n(u),h=void 0,p=` - height:0 !important; - visibility:hidden !important; - overflow:hidden !important; - position:absolute !important; - z-index:-1000 !important; - top:0 !important; - right:0 !important -`,g=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function v(I){var O=window.getComputedStyle(I),R=O.getPropertyValue("box-sizing"),$=parseFloat(O.getPropertyValue("padding-bottom"))+parseFloat(O.getPropertyValue("padding-top")),V=parseFloat(O.getPropertyValue("border-bottom-width"))+parseFloat(O.getPropertyValue("border-top-width")),z=g.map(function(B){return B+":"+O.getPropertyValue(B)}).join(";");return{contextStyle:z,paddingSize:$,borderSize:V,boxSizing:R}}function m(I){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,R=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;h||(h=document.createElement("textarea"),document.body.appendChild(h));var $=v(I),V=$.paddingSize,z=$.borderSize,B=$.boxSizing,j=$.contextStyle;h.setAttribute("style",j+";"+p),h.value=I.value||I.placeholder||"";var U=h.scrollHeight,X={};B==="border-box"?U=U+z:B==="content-box"&&(U=U-V),h.value="";var ee=h.scrollHeight-V;if(O!==null){var Z=ee*O;B==="border-box"&&(Z=Z+V+z),U=Math.max(Z,U),X.minHeight=Z+"px"}if(R!==null){var re=ee*R;B==="border-box"&&(re=re+V+z),U=Math.min(re,U)}return X.height=U+"px",h.parentNode&&h.parentNode.removeChild(h),h=null,X}var b=n(9),_=n.n(b),S=n(21),C={name:"ElInput",componentName:"ElInput",mixins:[s.a,f.a],inheritAttrs:!1,inject:{elForm:{default:""},elFormItem:{default:""}},data:function(){return{textareaCalcStyle:{},hovering:!1,focused:!1,isComposing:!1,passwordVisible:!1}},props:{value:[String,Number],size:String,resize:String,form:String,disabled:Boolean,readonly:Boolean,type:{type:String,default:"text"},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:"off"},autoComplete:{type:String,validator:function(O){return!0}},validateEvent:{type:Boolean,default:!0},suffixIcon:String,prefixIcon:String,label:String,clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},tabindex:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},validateState:function(){return this.elFormItem?this.elFormItem.validateState:""},needStatusIcon:function(){return this.elForm?this.elForm.statusIcon:!1},validateIcon:function(){return{validating:"el-icon-loading",success:"el-icon-circle-check",error:"el-icon-circle-close"}[this.validateState]},textareaStyle:function(){return _()({},this.textareaCalcStyle,{resize:this.resize})},inputSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputDisabled:function(){return this.disabled||(this.elForm||{}).disabled},nativeInputValue:function(){return this.value===null||this.value===void 0?"":String(this.value)},showClear:function(){return this.clearable&&!this.inputDisabled&&!this.readonly&&this.nativeInputValue&&(this.focused||this.hovering)},showPwdVisible:function(){return this.showPassword&&!this.inputDisabled&&!this.readonly&&(!!this.nativeInputValue||this.focused)},isWordLimitVisible:function(){return this.showWordLimit&&this.$attrs.maxlength&&(this.type==="text"||this.type==="textarea")&&!this.inputDisabled&&!this.readonly&&!this.showPassword},upperLimit:function(){return this.$attrs.maxlength},textLength:function(){return typeof this.value=="number"?String(this.value).length:(this.value||"").length},inputExceed:function(){return this.isWordLimitVisible&&this.textLength>this.upperLimit}},watch:{value:function(O){this.$nextTick(this.resizeTextarea),this.validateEvent&&this.dispatch("ElFormItem","el.form.change",[O])},nativeInputValue:function(){this.setNativeInputValue()},type:function(){var O=this;this.$nextTick(function(){O.setNativeInputValue(),O.resizeTextarea(),O.updateIconOffset()})}},methods:{focus:function(){this.getInput().focus()},blur:function(){this.getInput().blur()},getMigratingConfig:function(){return{props:{icon:"icon is removed, use suffix-icon / prefix-icon instead.","on-icon-click":"on-icon-click is removed."},events:{click:"click is removed."}}},handleBlur:function(O){this.focused=!1,this.$emit("blur",O),this.validateEvent&&this.dispatch("ElFormItem","el.form.blur",[this.value])},select:function(){this.getInput().select()},resizeTextarea:function(){if(!this.$isServer){var O=this.autosize,R=this.type;if(R==="textarea"){if(!O){this.textareaCalcStyle={minHeight:m(this.$refs.textarea).minHeight};return}var $=O.minRows,V=O.maxRows;this.textareaCalcStyle=m(this.$refs.textarea,$,V)}}},setNativeInputValue:function(){var O=this.getInput();O&&O.value!==this.nativeInputValue&&(O.value=this.nativeInputValue)},handleFocus:function(O){this.focused=!0,this.$emit("focus",O)},handleCompositionStart:function(O){this.$emit("compositionstart",O),this.isComposing=!0},handleCompositionUpdate:function(O){this.$emit("compositionupdate",O);var R=O.target.value,$=R[R.length-1]||"";this.isComposing=!Object(S.isKorean)($)},handleCompositionEnd:function(O){this.$emit("compositionend",O),this.isComposing&&(this.isComposing=!1,this.handleInput(O))},handleInput:function(O){this.isComposing||O.target.value!==this.nativeInputValue&&(this.$emit("input",O.target.value),this.$nextTick(this.setNativeInputValue))},handleChange:function(O){this.$emit("change",O.target.value)},calcIconOffset:function(O){var R=[].slice.call(this.$el.querySelectorAll(".el-input__"+O)||[]);if(R.length){for(var $=null,V=0;V0&&arguments[0]!==void 0?arguments[0]:{},v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};!p||!p.context||!g.target||!v.target||f.contains(g.target)||f.contains(v.target)||f===g.target||p.context.popperElm&&(p.context.popperElm.contains(g.target)||p.context.popperElm.contains(v.target))||(h.expression&&f[a].methodName&&p.context[f[a].methodName]?p.context[f[a].methodName]():f[a].bindingFn&&f[a].bindingFn())}}return eC.default={bind:function(h,p,g){i.push(h);var v=s++;h[a]={id:v,documentHandler:u(h,p,g),methodName:p.expression,bindingFn:p.value}},update:function(h,p,g){h[a].documentHandler=u(h,p,g),h[a].methodName=p.expression,h[a].bindingFn=p.value},unbind:function(h){for(var p=i.length,g=0;g-1:v._q(v.model,v.trueLabel)},on:{change:[function(_){var S=v.model,C=_.target,w=C.checked?v.trueLabel:v.falseLabel;if(Array.isArray(S)){var k=null,M=v._i(S,k);C.checked?M<0&&(v.model=S.concat([k])):M>-1&&(v.model=S.slice(0,M).concat(S.slice(M+1)))}else v.model=w},v.handleChange],focus:function(_){v.focus=!0},blur:function(_){v.focus=!1}}}):b("input",{directives:[{name:"model",rawName:"v-model",value:v.model,expression:"model"}],staticClass:"el-checkbox__original",attrs:{type:"checkbox","aria-hidden":v.indeterminate?"true":"false",disabled:v.isDisabled,name:v.name},domProps:{value:v.label,checked:Array.isArray(v.model)?v._i(v.model,v.label)>-1:v.model},on:{change:[function(_){var S=v.model,C=_.target,w=!!C.checked;if(Array.isArray(S)){var k=v.label,M=v._i(S,k);C.checked?M<0&&(v.model=S.concat([k])):M>-1&&(v.model=S.slice(0,M).concat(S.slice(M+1)))}else v.model=w},v.handleChange],focus:function(_){v.focus=!0},blur:function(_){v.focus=!1}}})]),v.$slots.default||v.label?b("span",{staticClass:"el-checkbox__label"},[v._t("default"),v.$slots.default?v._e():[v._v(v._s(v.label))]],2):v._e()])},a=[];i._withStripped=!0;var o=n(4),s=n.n(o),u={name:"ElCheckbox",mixins:[s.a],inject:{elForm:{default:""},elFormItem:{default:""}},componentName:"ElCheckbox",data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},computed:{model:{get:function(){return this.isGroup?this.store:this.value!==void 0?this.value:this.selfModel},set:function(m){this.isGroup?(this.isLimitExceeded=!1,this._checkboxGroup.min!==void 0&&m.lengththis._checkboxGroup.max&&(this.isLimitExceeded=!0),this.isLimitExceeded===!1&&this.dispatch("ElCheckboxGroup","input",[m])):(this.$emit("input",m),this.selfModel=m)}},isChecked:function(){if({}.toString.call(this.model)==="[object Boolean]")return this.model;if(Array.isArray(this.model))return this.model.indexOf(this.label)>-1;if(this.model!==null&&this.model!==void 0)return this.model===this.trueLabel},isGroup:function(){for(var m=this.$parent;m;)if(m.$options.componentName!=="ElCheckboxGroup")m=m.$parent;else return this._checkboxGroup=m,!0;return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},isLimitDisabled:function(){var m=this._checkboxGroup,b=m.max,_=m.min;return!!(b||_)&&this.model.length>=b&&!this.isChecked||this.model.length<=_&&this.isChecked},isDisabled:function(){return this.isGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxSize:function(){var m=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._checkboxGroup.checkboxGroupSize||m}},props:{value:{},label:{},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],id:String,controls:String,border:Boolean,size:String},methods:{addToStore:function(){Array.isArray(this.model)&&this.model.indexOf(this.label)===-1?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(m){var b=this;if(!this.isLimitExceeded){var _=void 0;m.target.checked?_=this.trueLabel===void 0?!0:this.trueLabel:_=this.falseLabel===void 0?!1:this.falseLabel,this.$emit("change",_,m),this.$nextTick(function(){b.isGroup&&b.dispatch("ElCheckboxGroup","change",[b._checkboxGroup.value])})}}},created:function(){this.checked&&this.addToStore()},mounted:function(){this.indeterminate&&this.$el.setAttribute("aria-controls",this.controls)},watch:{value:function(m){this.dispatch("ElFormItem","el.form.change",m)}}},f=u,h=n(0),p=Object(h.a)(f,i,a,!1,null,null,null);p.options.__file="packages/checkbox/src/checkbox.vue";var g=p.exports;g.install=function(v){v.component(g.name,g)},t.default=g}})}(uL)),uL.exports}var zc={},kQ=function(){if(typeof Map<"u")return Map;function r(e,t){var n=-1;return e.some(function(i,a){return i[0]===t?(n=a,!0):!1}),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(t){var n=r(this.__entries__,t),i=this.__entries__[n];return i&&i[1]},e.prototype.set=function(t,n){var i=r(this.__entries__,t);~i?this.__entries__[i][1]=n:this.__entries__.push([t,n])},e.prototype.delete=function(t){var n=this.__entries__,i=r(n,t);~i&&n.splice(i,1)},e.prototype.has=function(t){return!!~r(this.__entries__,t)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,n){n===void 0&&(n=null);for(var i=0,a=this.__entries__;i0},r.prototype.connect_=function(){!vR||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),OAe?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},r.prototype.disconnect_=function(){!vR||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},r.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=t===void 0?"":t,i=LAe.some(function(a){return!!~n.indexOf(a)});i&&this.refresh()},r.getInstance=function(){return this.instance_||(this.instance_=new r),this.instance_},r.instance_=null,r}(),MQ=function(r,e){for(var t=0,n=Object.keys(e);t"u"||!(Element instanceof Object))){if(!(e instanceof Mp(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new jAe(e)),this.controller_.addObserver(this),this.controller_.refresh())}},r.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(e instanceof Mp(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},r.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},r.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(t){t.isActive()&&e.activeObservations_.push(t)})},r.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map(function(n){return new WAe(n.target,n.broadcastRect())});this.callback_.call(e,t,e),this.clearActive()}},r.prototype.clearActive=function(){this.activeObservations_.splice(0)},r.prototype.hasActive=function(){return this.activeObservations_.length>0},r}(),EQ=typeof WeakMap<"u"?new WeakMap:new kQ,IQ=function(){function r(e){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var t=RAe.getInstance(),n=new GAe(e,t,this);EQ.set(this,n)}return r}();["observe","unobserve","disconnect"].forEach(function(r){IQ.prototype[r]=function(){var e;return(e=EQ.get(this))[r].apply(e,arguments)}});var UAe=function(){return typeof cT.ResizeObserver<"u"?cT.ResizeObserver:IQ}();const YAe=Object.freeze(Object.defineProperty({__proto__:null,default:UAe},Symbol.toStringTag,{value:"Module"})),qAe=c$(YAe);var cL,L6;function v$(){return L6||(L6=1,cL=function(r,e,t,n){var i,a=0;typeof e!="boolean"&&(n=t,t=e,e=void 0);function o(){var s=this,u=Number(new Date)-a,f=arguments;function h(){a=Number(new Date),t.apply(s,f)}function p(){i=void 0}n&&!i&&h(),i&&clearTimeout(i),n===void 0&&u>r?h():e!==!0&&(i=setTimeout(n?p:h,n===void 0?r-u:r))}return o}),cL}var fL,O6;function _D(){if(O6)return fL;O6=1;var r=v$();return fL=function(e,t,n){return n===void 0?r(e,t,!1):r(e,n,t!==!1)},fL}var hL,R6;function PQ(){if(R6)return hL;R6=1;var r=v$(),e=_D();return hL={throttle:r,debounce:e},hL}var N6;function g$(){if(N6)return zc;N6=1,zc.__esModule=!0,zc.removeResizeListener=zc.addResizeListener=void 0;var r=qAe,e=n(r),t=PQ();function n(o){return o&&o.__esModule?o:{default:o}}var i=typeof window>"u",a=function(s){for(var h=s,u=Array.isArray(h),f=0,h=u?h:h[Symbol.iterator]();;){var p;if(u){if(f>=h.length)break;p=h[f++]}else{if(f=h.next(),f.done)break;p=f.value}var g=p,v=g.target.__resizeListeners__||[];v.length&&v.forEach(function(m){m()})}};return zc.addResizeListener=function(s,u){i||(s.__resizeListeners__||(s.__resizeListeners__=[],s.__ro__=new e.default((0,t.debounce)(16,a)),s.__ro__.observe(s)),s.__resizeListeners__.push(u))},zc.removeResizeListener=function(s,u){!s||!s.__resizeListeners__||(s.__resizeListeners__.splice(s.__resizeListeners__.indexOf(u),1),s.__resizeListeners__.length||s.__ro__.disconnect())},zc}var dL={exports:{}},F6;function m$(){return F6||(F6=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=133)}({133:function(e,t,n){n.r(t);var i=n(16),a=n(39),o=n.n(a),s=n(3),u=n(2),f={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}};function h(v){var m=v.move,b=v.size,_=v.bar,S={},C="translate"+_.axis+"("+m+"%)";return S[_.size]=b,S.transform=C,S.msTransform=C,S.webkitTransform=C,S}var p={name:"Bar",props:{vertical:Boolean,size:String,move:Number},computed:{bar:function(){return f[this.vertical?"vertical":"horizontal"]},wrap:function(){return this.$parent.wrap}},render:function(m){var b=this.size,_=this.move,S=this.bar;return m("div",{class:["el-scrollbar__bar","is-"+S.key],on:{mousedown:this.clickTrackHandler}},[m("div",{ref:"thumb",class:"el-scrollbar__thumb",on:{mousedown:this.clickThumbHandler},style:h({size:b,move:_,bar:S})})])},methods:{clickThumbHandler:function(m){m.ctrlKey||m.button===2||(this.startDrag(m),this[this.bar.axis]=m.currentTarget[this.bar.offset]-(m[this.bar.client]-m.currentTarget.getBoundingClientRect()[this.bar.direction]))},clickTrackHandler:function(m){var b=Math.abs(m.target.getBoundingClientRect()[this.bar.direction]-m[this.bar.client]),_=this.$refs.thumb[this.bar.offset]/2,S=(b-_)*100/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=S*this.wrap[this.bar.scrollSize]/100},startDrag:function(m){m.stopImmediatePropagation(),this.cursorDown=!0,Object(u.on)(document,"mousemove",this.mouseMoveDocumentHandler),Object(u.on)(document,"mouseup",this.mouseUpDocumentHandler),document.onselectstart=function(){return!1}},mouseMoveDocumentHandler:function(m){if(this.cursorDown!==!1){var b=this[this.bar.axis];if(b){var _=(this.$el.getBoundingClientRect()[this.bar.direction]-m[this.bar.client])*-1,S=this.$refs.thumb[this.bar.offset]-b,C=(_-S)*100/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=C*this.wrap[this.bar.scrollSize]/100}}},mouseUpDocumentHandler:function(m){this.cursorDown=!1,this[this.bar.axis]=0,Object(u.off)(document,"mousemove",this.mouseMoveDocumentHandler),document.onselectstart=null}},destroyed:function(){Object(u.off)(document,"mouseup",this.mouseUpDocumentHandler)}},g={name:"ElScrollbar",components:{Bar:p},props:{native:Boolean,wrapStyle:{},wrapClass:{},viewClass:{},viewStyle:{},noresize:Boolean,tag:{type:String,default:"div"}},data:function(){return{sizeWidth:"0",sizeHeight:"0",moveX:0,moveY:0}},computed:{wrap:function(){return this.$refs.wrap}},render:function(m){var b=o()(),_=this.wrapStyle;if(b){var S="-"+b+"px",C="margin-bottom: "+S+"; margin-right: "+S+";";Array.isArray(this.wrapStyle)?(_=Object(s.toObject)(this.wrapStyle),_.marginRight=_.marginBottom=S):typeof this.wrapStyle=="string"?_+=C:_=C}var w=m(this.tag,{class:["el-scrollbar__view",this.viewClass],style:this.viewStyle,ref:"resize"},this.$slots.default),k=m("div",{ref:"wrap",style:_,on:{scroll:this.handleScroll},class:[this.wrapClass,"el-scrollbar__wrap",b?"":"el-scrollbar__wrap--hidden-default"]},[[w]]),M=void 0;return this.native?M=[m("div",{ref:"wrap",class:[this.wrapClass,"el-scrollbar__wrap"],style:_},[[w]])]:M=[k,m(p,{attrs:{move:this.moveX,size:this.sizeWidth}}),m(p,{attrs:{vertical:!0,move:this.moveY,size:this.sizeHeight}})],m("div",{class:"el-scrollbar"},M)},methods:{handleScroll:function(){var m=this.wrap;this.moveY=m.scrollTop*100/m.clientHeight,this.moveX=m.scrollLeft*100/m.clientWidth},update:function(){var m=void 0,b=void 0,_=this.wrap;_&&(m=_.clientHeight*100/_.scrollHeight,b=_.clientWidth*100/_.scrollWidth,this.sizeHeight=m<100?m+"%":"",this.sizeWidth=b<100?b+"%":"")}},mounted:function(){this.native||(this.$nextTick(this.update),!this.noresize&&Object(i.addResizeListener)(this.$refs.resize,this.update))},beforeDestroy:function(){this.native||!this.noresize&&Object(i.removeResizeListener)(this.$refs.resize,this.update)}};g.install=function(v){v.component(g.name,g)},t.default=g},16:function(e,t){e.exports=g$()},2:function(e,t){e.exports=Xs()},3:function(e,t){e.exports=mo()},39:function(e,t){e.exports=d$()}})}(dL)),dL.exports}var tC={},$6;function KAe(){if($6)return tC;$6=1,tC.__esModule=!0;var r=Xs();function e(n,i){if(!(n instanceof i))throw new TypeError("Cannot call a class as a function")}var t=function(){function n(){e(this,n)}return n.prototype.beforeEnter=function(a){(0,r.addClass)(a,"collapse-transition"),a.dataset||(a.dataset={}),a.dataset.oldPaddingTop=a.style.paddingTop,a.dataset.oldPaddingBottom=a.style.paddingBottom,a.style.height="0",a.style.paddingTop=0,a.style.paddingBottom=0},n.prototype.enter=function(a){a.dataset.oldOverflow=a.style.overflow,a.scrollHeight!==0?(a.style.height=a.scrollHeight+"px",a.style.paddingTop=a.dataset.oldPaddingTop,a.style.paddingBottom=a.dataset.oldPaddingBottom):(a.style.height="",a.style.paddingTop=a.dataset.oldPaddingTop,a.style.paddingBottom=a.dataset.oldPaddingBottom),a.style.overflow="hidden"},n.prototype.afterEnter=function(a){(0,r.removeClass)(a,"collapse-transition"),a.style.height="",a.style.overflow=a.dataset.oldOverflow},n.prototype.beforeLeave=function(a){a.dataset||(a.dataset={}),a.dataset.oldPaddingTop=a.style.paddingTop,a.dataset.oldPaddingBottom=a.style.paddingBottom,a.dataset.oldOverflow=a.style.overflow,a.style.height=a.scrollHeight+"px",a.style.overflow="hidden"},n.prototype.leave=function(a){a.scrollHeight!==0&&((0,r.addClass)(a,"collapse-transition"),a.style.height=0,a.style.paddingTop=0,a.style.paddingBottom=0)},n.prototype.afterLeave=function(a){(0,r.removeClass)(a,"collapse-transition"),a.style.height="",a.style.overflow=a.dataset.oldOverflow,a.style.paddingTop=a.dataset.oldPaddingTop,a.style.paddingBottom=a.dataset.oldPaddingBottom},n}();return tC.default={name:"ElCollapseTransition",functional:!0,render:function(i,a){var o=a.children,s={on:new t};return i("transition",s,o)}},tC}var rC={},B6;function XAe(){if(B6)return rC;B6=1,rC.__esModule=!0;var r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n};rC.isVNode=t;var e=mo();function t(n){return n!==null&&(typeof n>"u"?"undefined":r(n))==="object"&&(0,e.hasOwn)(n,"componentOptions")}return rC}var nC={},z6;function y$(){return z6||(z6=1,nC.__esModule=!0,nC.default=function(r){return{methods:{focus:function(){this.$refs[r].focus()}}}}),nC}var pL,V6;function LQ(){if(V6)return pL;V6=1;var r=/^(attrs|props|on|nativeOn|class|style|hook)$/;pL=function(n){return n.reduce(function(i,a){var o,s,u,f,h;for(u in a)if(o=i[u],s=a[u],o&&r.test(u))if(u==="class"&&(typeof o=="string"&&(h=o,i[u]=o={},o[h]=!0),typeof s=="string"&&(h=s,a[u]=s={},s[h]=!0)),u==="on"||u==="nativeOn"||u==="hook")for(f in s)o[f]=e(o[f],s[f]);else if(Array.isArray(o))i[u]=o.concat(s);else if(Array.isArray(s))i[u]=[o].concat(s);else for(f in s)o[f]=s[f];else i[u]=a[u];return i},{})};function e(t,n){return function(){t&&t.apply(this,arguments),n&&n.apply(this,arguments)}}return pL}var vL={exports:{}},H6;function ZAe(){return H6||(H6=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=138)}({138:function(e,t,n){n.r(t);var i=n(5),a=n.n(i),o=n(19),s=n.n(o),u=n(2),f=n(3),h=n(7),p=n.n(h),g={name:"ElTooltip",mixins:[a.a],props:{openDelay:{type:Number,default:0},disabled:Boolean,manual:Boolean,effect:{type:String,default:"dark"},arrowOffset:{type:Number,default:0},popperClass:String,content:String,visibleArrow:{default:!0},transition:{type:String,default:"el-fade-in-linear"},popperOptions:{default:function(){return{boundariesPadding:10,gpuAcceleration:!1}}},enterable:{type:Boolean,default:!0},hideAfter:{type:Number,default:0},tabindex:{type:Number,default:0}},data:function(){return{tooltipId:"el-tooltip-"+Object(f.generateId)(),timeoutPending:null,focusing:!1}},beforeCreate:function(){var m=this;this.$isServer||(this.popperVM=new p.a({data:{node:""},render:function(_){return this.node}}).$mount(),this.debounceClose=s()(200,function(){return m.handleClosePopper()}))},render:function(m){var b=this;this.popperVM&&(this.popperVM.node=m("transition",{attrs:{name:this.transition},on:{afterLeave:this.doDestroy}},[m("div",{on:{mouseleave:function(){b.setExpectedState(!1),b.debounceClose()},mouseenter:function(){b.setExpectedState(!0)}},ref:"popper",attrs:{role:"tooltip",id:this.tooltipId,"aria-hidden":this.disabled||!this.showPopper?"true":"false"},directives:[{name:"show",value:!this.disabled&&this.showPopper}],class:["el-tooltip__popper","is-"+this.effect,this.popperClass]},[this.$slots.content||this.content])]));var _=this.getFirstElement();if(!_)return null;var S=_.data=_.data||{};return S.staticClass=this.addTooltipClass(S.staticClass),_},mounted:function(){var m=this;this.referenceElm=this.$el,this.$el.nodeType===1&&(this.$el.setAttribute("aria-describedby",this.tooltipId),this.$el.setAttribute("tabindex",this.tabindex),Object(u.on)(this.referenceElm,"mouseenter",this.show),Object(u.on)(this.referenceElm,"mouseleave",this.hide),Object(u.on)(this.referenceElm,"focus",function(){if(!m.$slots.default||!m.$slots.default.length){m.handleFocus();return}var b=m.$slots.default[0].componentInstance;b&&b.focus?b.focus():m.handleFocus()}),Object(u.on)(this.referenceElm,"blur",this.handleBlur),Object(u.on)(this.referenceElm,"click",this.removeFocusing)),this.value&&this.popperVM&&this.popperVM.$nextTick(function(){m.value&&m.updatePopper()})},watch:{focusing:function(m){m?Object(u.addClass)(this.referenceElm,"focusing"):Object(u.removeClass)(this.referenceElm,"focusing")}},methods:{show:function(){this.setExpectedState(!0),this.handleShowPopper()},hide:function(){this.setExpectedState(!1),this.debounceClose()},handleFocus:function(){this.focusing=!0,this.show()},handleBlur:function(){this.focusing=!1,this.hide()},removeFocusing:function(){this.focusing=!1},addTooltipClass:function(m){return m?"el-tooltip "+m.replace("el-tooltip",""):"el-tooltip"},handleShowPopper:function(){var m=this;!this.expectedState||this.manual||(clearTimeout(this.timeout),this.timeout=setTimeout(function(){m.showPopper=!0},this.openDelay),this.hideAfter>0&&(this.timeoutPending=setTimeout(function(){m.showPopper=!1},this.hideAfter)))},handleClosePopper:function(){this.enterable&&this.expectedState||this.manual||(clearTimeout(this.timeout),this.timeoutPending&&clearTimeout(this.timeoutPending),this.showPopper=!1,this.disabled&&this.doDestroy())},setExpectedState:function(m){m===!1&&clearTimeout(this.timeoutPending),this.expectedState=m},getFirstElement:function(){var m=this.$slots.default;if(!Array.isArray(m))return null;for(var b=null,_=0;_p&&(i.scrollTop=f-i.clientHeight)}}return iC}var jm={exports:{}};jm.exports;var W6;function QAe(){return W6||(W6=1,function(r,e){var t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n};/** -* @license -* Lodash -* Copyright JS Foundation and other contributors -* Released under MIT license -* Based on Underscore.js 1.8.3 -* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -*/(function(){var n,i="4.17.10",a=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",u="__lodash_hash_undefined__",f=500,h="__lodash_placeholder__",p=1,g=2,v=4,m=1,b=2,_=1,S=2,C=4,w=8,k=16,M=32,E=64,I=128,O=256,R=512,$=30,V="...",z=800,B=16,j=1,U=2,X=3,ee=1/0,Z=9007199254740991,re=17976931348623157e292,de=NaN,ve=4294967295,_e=ve-1,Re=ve>>>1,Le=[["ary",I],["bind",_],["bindKey",S],["curry",w],["curryRight",k],["flip",R],["partial",M],["partialRight",E],["rearg",O]],je="[object Arguments]",Q="[object Array]",he="[object AsyncFunction]",ie="[object Boolean]",oe="[object Date]",Fe="[object DOMException]",Ne="[object Error]",We="[object Function]",St="[object GeneratorFunction]",ut="[object Map]",kt="[object Number]",$t="[object Null]",Ht="[object Object]",Ur="[object Promise]",Rr="[object Proxy]",Yr="[object RegExp]",vr="[object Set]",Yn="[object String]",Se="[object Symbol]",fe="[object Undefined]",pe="[object WeakMap]",ge="[object WeakSet]",Ie="[object ArrayBuffer]",Ye="[object DataView]",_t="[object Float32Array]",mt="[object Float64Array]",Kt="[object Int8Array]",hr="[object Int16Array]",_i="[object Int32Array]",qn="[object Uint8Array]",bi="[object Uint8ClampedArray]",yo="[object Uint16Array]",ia="[object Uint32Array]",_o=/\b__p \+= '';/g,I_=/\b(__p \+=) '' \+/g,P_=/(__e\(.*?\)|\b__t\)) \+\n'';/g,L_=/&(?:amp|lt|gt|quot|#39);/g,O_=/[&<>"']/g,ID=RegExp(L_.source),R_=RegExp(O_.source),Qf=/<%-([\s\S]+?)%>/g,N_=/<%([\s\S]+?)%>/g,qr=/<%=([\s\S]+?)%>/g,Zs=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Jf=/^\w*$/,PD=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wu=/[\\^$.*+?()[\]{}|]/g,LD=RegExp(wu.source),rv=/^\s+|\s+$/g,F_=/^\s+/,Ee=/\s+$/,OD=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,RD=/\{\n\/\* \[wrapped with (.+)\] \*/,ND=/,? & /,FD=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,$_=/\\(\\)?/g,eh=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,nv=/\w*$/,$D=/^[-+]0x[0-9a-f]+$/i,Cu=/^0b[01]+$/i,B_=/^\[object .+?Constructor\]$/,BD=/^0o[0-7]+$/i,zD=/^(?:0|[1-9]\d*)$/,VD=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,th=/($^)/,HD=/['\n\r\u2028\u2029\\]/g,Tu="\\ud800-\\udfff",rh="\\u0300-\\u036f",z_="\\ufe20-\\ufe2f",V_="\\u20d0-\\u20ff",H_=rh+z_+V_,j_="\\u2700-\\u27bf",nh="a-z\\xdf-\\xf6\\xf8-\\xff",jD="\\xac\\xb1\\xd7\\xf7",WD="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",W_="\\u2000-\\u206f",ih=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",iv="A-Z\\xc0-\\xd6\\xd8-\\xde",av="\\ufe0e\\ufe0f",G_=jD+WD+W_+ih,ov="['’]",GD="["+Tu+"]",sv="["+G_+"]",os="["+H_+"]",lv="\\d+",U_="["+j_+"]",Y_="["+nh+"]",Kn="[^"+Tu+G_+lv+j_+nh+iv+"]",uv="\\ud83c[\\udffb-\\udfff]",UD="(?:"+os+"|"+uv+")",q_="[^"+Tu+"]",ah="(?:\\ud83c[\\udde6-\\uddff]){2}",cv="[\\ud800-\\udbff][\\udc00-\\udfff]",Cr="["+iv+"]",ss="\\u200d",K_="(?:"+Y_+"|"+Kn+")",YD="(?:"+Cr+"|"+Kn+")",fv="(?:"+ov+"(?:d|ll|m|re|s|t|ve))?",Du="(?:"+ov+"(?:D|LL|M|RE|S|T|VE))?",hv=UD+"?",dv="["+av+"]?",qD="(?:"+ss+"(?:"+[q_,ah,cv].join("|")+")"+dv+hv+")*",X_="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",KD="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Z_=dv+hv+qD,Q_="(?:"+[U_,ah,cv].join("|")+")"+Z_,oh="(?:"+[q_+os+"?",os,ah,cv,GD].join("|")+")",J_=RegExp(ov,"g"),eb=RegExp(os,"g"),pv=RegExp(uv+"(?="+uv+")|"+oh+Z_,"g"),XD=RegExp([Cr+"?"+Y_+"+"+fv+"(?="+[sv,Cr,"$"].join("|")+")",YD+"+"+Du+"(?="+[sv,Cr+K_,"$"].join("|")+")",Cr+"?"+K_+"+"+fv,Cr+"+"+Du,KD,X_,lv,Q_].join("|"),"g"),ZD=RegExp("["+ss+Tu+H_+av+"]"),tb=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,sh=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rb=-1,ur={};ur[_t]=ur[mt]=ur[Kt]=ur[hr]=ur[_i]=ur[qn]=ur[bi]=ur[yo]=ur[ia]=!0,ur[je]=ur[Q]=ur[Ie]=ur[ie]=ur[Ye]=ur[oe]=ur[Ne]=ur[We]=ur[ut]=ur[kt]=ur[Ht]=ur[Yr]=ur[vr]=ur[Yn]=ur[pe]=!1;var cr={};cr[je]=cr[Q]=cr[Ie]=cr[Ye]=cr[ie]=cr[oe]=cr[_t]=cr[mt]=cr[Kt]=cr[hr]=cr[_i]=cr[ut]=cr[kt]=cr[Ht]=cr[Yr]=cr[vr]=cr[Yn]=cr[Se]=cr[qn]=cr[bi]=cr[yo]=cr[ia]=!0,cr[Ne]=cr[We]=cr[pe]=!1;var lh={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},QD={"&":"&","<":"<",">":">",'"':""","'":"'"},JD={"&":"&","<":"<",">":">",""":'"',"'":"'"},nb={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},uh=parseFloat,ib=parseInt,vv=(typeof Dm>"u"?"undefined":t(Dm))==="object"&&Dm&&Dm.Object===Object&&Dm,ek=(typeof self>"u"?"undefined":t(self))==="object"&&self&&self.Object===Object&&self,an=vv||ek||Function("return this")(),gv=t(e)==="object"&&e&&!e.nodeType&&e,bo=gv&&t(r)==="object"&&r&&!r.nodeType&&r,ku=bo&&bo.exports===gv,ch=ku&&vv.process,Xn=function(){try{var le=bo&&bo.require&&bo.require("util").types;return le||ch&&ch.binding&&ch.binding("util")}catch{}}(),ab=Xn&&Xn.isArrayBuffer,ob=Xn&&Xn.isDate,sb=Xn&&Xn.isMap,mv=Xn&&Xn.isRegExp,Mu=Xn&&Xn.isSet,yv=Xn&&Xn.isTypedArray;function En(le,Te,ye){switch(ye.length){case 0:return le.call(Te);case 1:return le.call(Te,ye[0]);case 2:return le.call(Te,ye[0],ye[1]);case 3:return le.call(Te,ye[0],ye[1],ye[2])}return le.apply(Te,ye)}function tk(le,Te,ye,Xe){for(var bt=-1,Xt=le==null?0:le.length;++bt-1}function fh(le,Te,ye){for(var Xe=-1,bt=le==null?0:le.length;++Xe-1;);return ye}function pb(le,Te){for(var ye=le.length;ye--&&ls(Te,le[ye],0)>-1;);return ye}function vb(le,Te){for(var ye=le.length,Xe=0;ye--;)le[ye]===Te&&++Xe;return Xe}var Eu=ph(lh),ok=ph(QD);function gb(le){return"\\"+nb[le]}function Si(le,Te){return le==null?n:le[Te]}function el(le){return ZD.test(le)}function Dv(le){return tb.test(le)}function sk(le){for(var Te,ye=[];!(Te=le.next()).done;)ye.push(Te.value);return ye}function kv(le){var Te=-1,ye=Array(le.size);return le.forEach(function(Xe,bt){ye[++Te]=[bt,Xe]}),ye}function mb(le,Te){return function(ye){return le(Te(ye))}}function za(le,Te){for(var ye=-1,Xe=le.length,bt=0,Xt=[];++ye-1}function Lk(x,D){var P=this.__data__,N=Vu(P,x);return N<0?(++this.size,P.push([x,D])):P[N][1]=D,this}Va.prototype.clear=Eb,Va.prototype.delete=Dh,Va.prototype.get=Ib,Va.prototype.has=Pk,Va.prototype.set=Lk;function Ha(x){var D=-1,P=x==null?0:x.length;for(this.clear();++D=D?x:D)),x}function Ci(x,D,P,N,W,K){var J,ne=D&p,ce=D&g,Me=D&v;if(P&&(J=W?P(x,N,W,K):P(x)),J!==n)return J;if(!mr(x))return x;var ke=Dt(x);if(ke){if(J=aM(x),!ne)return on(x,J)}else{var Pe=sn(x),qe=Pe==We||Pe==St;if(Ao(x))return Qv(x,ne);if(Pe==Ht||Pe==je||qe&&!W){if(J=ce||qe?{}:g0(x),!ne)return ce?eM(x,$k(J,x)):o0(x,Rb(J,x))}else{if(!cr[Pe])return W?x:{};J=oM(x,Pe,ne)}}K||(K=new Wi);var tt=K.get(x);if(tt)return tt;if(K.set(x,J),_x(x))return x.forEach(function(ct){J.add(Ci(ct,D,P,ct,x,K))}),J;if(dx(x))return x.forEach(function(ct,Vt){J.set(Vt,Ci(ct,D,P,Vt,x,K))}),J;var ht=Me?ce?lg:sg:ce?Ln:Qr,Nt=ke?n:ht(x);return xi(Nt||x,function(ct,Vt){Nt&&(Vt=ct,ct=x[Vt]),vs(J,Vt,Ci(ct,D,P,Vt,x,K))}),J}function Nb(x){var D=Qr(x);return function(P){return Fb(P,x,D)}}function Fb(x,D,P){var N=P.length;if(x==null)return!N;for(x=ar(x);N--;){var W=P[N],K=D[W],J=x[W];if(J===n&&!(W in x)||!K(J))return!1}return!0}function Rv(x,D,P){if(typeof x!="function")throw new Zn(s);return Qu(function(){x.apply(n,P)},D)}function ju(x,D,P,N){var W=-1,K=Au,J=!0,ne=x.length,ce=[],Me=D.length;if(!ne)return ce;P&&(D=br(D,In(P))),N?(K=fh,J=!1):D.length>=a&&(K=Js,J=!1,D=new wo(D));e:for(;++WW?0:W+P),N=N===n||N>W?W:At(N),N<0&&(N+=W),N=P>N?0:bx(N);P0&&P(ne)?D>1?Zr(ne,D-1,P,N,W):xo(W,ne):N||(W[W.length]=ne)}return W}var gs=l0(),Nv=l0(!0);function ua(x,D){return x&&gs(x,D,Qr)}function Fv(x,D){return x&&Nv(x,D,Qr)}function Eh(x,D){return Hi(D,function(P){return ga(x[P])})}function cl(x,D){D=Do(D,x);for(var P=0,N=D.length;x!=null&&PD}function zk(x,D){return x!=null&&fr.call(x,D)}function Vk(x,D){return x!=null&&D in ar(x)}function Vb(x,D,P){return x>=Xr(D,P)&&x=120&&ke.length>=120)?new wo(J&&ke):n}ke=x[0];var Pe=-1,qe=ne[0];e:for(;++Pe"u"?"undefined":t(x))==="object"?Dt(x)?Kb(x[0],x[1]):Vv(x):Qx(x)}function zv(x){if(!yl(x))return _k(x);var D=[];for(var P in ar(x))fr.call(x,P)&&P!="constructor"&&D.push(P);return D}function Uk(x){if(!mr(x))return fM(x);var D=yl(x),P=[];for(var N in x)N=="constructor"&&(D||!fr.call(x,N))||P.push(N);return P}function Ph(x,D){return x-1;)ne!==x&&Kr.call(ne,ce,1),Kr.call(x,ce,1);return x}function Zb(x,D){for(var P=x?D.length:0,N=P-1;P--;){var W=D[P];if(P==N||W!==K){var K=W;da(W)?Kr.call(x,W,1):Nh(x,W)}}return x}function Wv(x,D){return x+xh(Db()*(D-x+1))}function Qb(x,D,P,N){for(var W=-1,K=Fr(cs((D-x)/(P||1)),0),J=ye(K);K--;)J[N?K:++W]=x,x+=P;return J}function Gv(x,D){var P="";if(!x||D<1||D>Z)return P;do D%2&&(P+=x),D=xh(D/2),D&&(x+=x);while(D);return P}function Mt(x,D){return qh(_l(x,D,On),x+"")}function Lh(x){return ps(bs(x))}function Jb(x,D){var P=bs(x);return Kh(P,Co(D,0,P.length))}function dl(x,D,P,N){if(!mr(x))return x;D=Do(D,x);for(var W=-1,K=D.length,J=K-1,ne=x;ne!=null&&++WW?0:W+D),P=P>W?W:P,P<0&&(P+=W),W=D>P?0:P-D>>>0,D>>>=0;for(var K=ye(W);++N>>1,J=x[K];J!==null&&!ti(J)&&(P?J<=D:J=a){var Me=D?null:tM(x);if(Me)return Iu(Me);J=!1,W=Js,ce=new wo}else ce=D?[]:ne;e:for(;++N=N?x:Ti(x,D,P)}var Bh=pk||function(x){return an.clearTimeout(x)};function Qv(x,D){if(D)return x.slice();var P=x.length,N=Cb?Cb(P):new x.constructor(P);return x.copy(N),N}function zh(x){var D=new x.constructor(x.byteLength);return new Ou(D).set(new Ou(x)),D}function Zk(x,D){var P=D?zh(x.buffer):x.buffer;return new x.constructor(P,x.byteOffset,x.byteLength)}function Qk(x){var D=new x.constructor(x.source,nv.exec(x));return D.lastIndex=x.lastIndex,D}function Jk(x){return ll?ar(ll.call(x)):{}}function Jv(x,D){var P=D?zh(x.buffer):x.buffer;return new x.constructor(P,x.byteOffset,x.length)}function pl(x,D){if(x!==D){var P=x!==n,N=x===null,W=x===x,K=ti(x),J=D!==n,ne=D===null,ce=D===D,Me=ti(D);if(!ne&&!Me&&!K&&x>D||K&&J&&ce&&!ne&&!Me||N&&J&&ce||!P&&ce||!W)return 1;if(!N&&!K&&!Me&&x=ne)return ce;var Me=P[N];return ce*(Me=="desc"?-1:1)}}return x.index-D.index}function Vh(x,D,P,N){for(var W=-1,K=x.length,J=P.length,ne=-1,ce=D.length,Me=Fr(K-J,0),ke=ye(ce+Me),Pe=!N;++ne1?P[W-1]:n,J=W>2?P[2]:n;for(K=x.length>3&&typeof K=="function"?(W--,K):n,J&&bn(P[0],P[1],J)&&(K=W<3?n:K,W=1),D=ar(D);++N-1?W[K?D[J]:J]:n}}function ms(x){return ha(function(D){var P=D.length,N=P,W=Qn.prototype.thru;for(x&&D.reverse();N--;){var K=D[N];if(typeof K!="function")throw new Zn(s);if(W&&!J&&Ku(K)=="wrapper")var J=new Qn([],!0)}for(N=J?N:P;++N1&&er.reverse(),ke&&cene))return!1;var Me=K.get(x);if(Me&&K.get(D))return Me==D;var ke=-1,Pe=!0,qe=P&b?new wo:n;for(K.set(x,D),K.set(D,x);++ke1?"& ":"")+D[N],D=D.join(P>2?", ":" "),x.replace(OD,`{ -/* [wrapped with `+D+`] */ -`)}function lM(x){return Dt(x)||Mo(x)||!!(So&&x&&x[So])}function da(x,D){var P=typeof x>"u"?"undefined":t(x);return D=D??Z,!!D&&(P=="number"||P!="symbol"&&zD.test(x))&&x>-1&&x%1==0&&x"u"?"undefined":t(D);return(N=="number"?Pn(P)&&da(D,P.length):N=="string"&&D in P)?Ui(P[D],x):!1}function fg(x,D){if(Dt(x))return!1;var P=typeof x>"u"?"undefined":t(x);return P=="number"||P=="symbol"||P=="boolean"||x==null||ti(x)?!0:Jf.test(x)||!Zs.test(x)||D!=null&&x in ar(D)}function uM(x){var D=typeof x>"u"?"undefined":t(x);return D=="string"||D=="number"||D=="symbol"||D=="boolean"?x!=="__proto__":x===null}function Uh(x){var D=Ku(x),P=Y[D];if(typeof P!="function"||!(D in zt.prototype))return!1;if(x===P)return!0;var N=ug(P);return!!N&&x===N[0]}function Yh(x){return!!wb&&wb in x}var m0=wi?ga:Hg;function yl(x){var D=x&&x.constructor,P=typeof D=="function"&&D.prototype||il;return x===P}function y0(x){return x===x&&!mr(x)}function _0(x,D){return function(P){return P==null?!1:P[x]===D&&(D!==n||x in ar(P))}}function cM(x){var D=sd(x,function(N){return P.size===f&&P.clear(),N}),P=D.cache;return D}function b0(x,D){var P=x[1],N=D[1],W=P|N,K=W<(_|S|I),J=N==I&&P==w||N==I&&P==O&&x[7].length<=D[8]||N==(I|O)&&D[7].length<=D[8]&&P==w;if(!(K||J))return x;N&_&&(x[2]=D[2],W|=P&_?0:C);var ne=D[3];if(ne){var ce=x[3];x[3]=ce?Vh(ce,ne,D[4]):ne,x[4]=ce?za(x[3],h):D[4]}return ne=D[5],ne&&(ce=x[5],x[5]=ce?eg(ce,ne,D[6]):ne,x[6]=ce?za(x[5],h):D[6]),ne=D[7],ne&&(x[7]=ne),N&I&&(x[8]=x[8]==null?D[8]:Xr(x[8],D[8])),x[9]==null&&(x[9]=D[9]),x[0]=D[0],x[1]=W,x}function fM(x){var D=[];if(x!=null)for(var P in ar(x))D.push(P);return D}function x0(x){return _h.call(x)}function _l(x,D,P){return D=Fr(D===n?x.length-1:D,0),function(){for(var N=arguments,W=-1,K=Fr(N.length-D,0),J=ye(K);++W0){if(++D>=z)return arguments[0]}else D=0;return x.apply(n,arguments)}}function Kh(x,D){var P=-1,N=x.length,W=N-1;for(D=D===n?N:D;++P1?x[D-1]:n;return P=typeof P=="function"?(x.pop(),P):n,H0(x,P)});function xg(x){var D=Y(x);return D.__chain__=!0,D}function W0(x,D){return D(x),x}function ed(x,D){return D(x)}var jM=ha(function(x){var D=x.length,P=D?x[0]:0,N=this.__wrapped__,W=function(J){return Hu(J,x)};return D>1||this.__actions__.length||!(N instanceof zt)||!da(P)?this.thru(W):(N=N.slice(P,+P+(D?1:0)),N.__actions__.push({func:ed,args:[W],thisArg:n}),new Qn(N,this.__chain__).thru(function(K){return D&&!K.length&&K.push(n),K}))});function WM(){return xg(this)}function G0(){return new Qn(this.value(),this.__chain__)}function GM(){this.__values__===n&&(this.__values__=Mg(this.value()));var x=this.__index__>=this.__values__.length,D=x?n:this.__values__[this.__index__++];return{done:x,value:D}}function UM(){return this}function YM(x){for(var D,P=this;P instanceof Th;){var N=hg(P);N.__index__=0,N.__values__=n,D?W.__wrapped__=N:D=N;var W=N;P=P.__wrapped__}return W.__wrapped__=x,D}function U0(){var x=this.__wrapped__;if(x instanceof zt){var D=x;return this.__actions__.length&&(D=new zt(this)),D=D.reverse(),D.__actions__.push({func:ed,args:[_g],thisArg:n}),new Qn(D,this.__chain__)}return this.thru(_g)}function qM(){return n0(this.__wrapped__,this.__actions__)}var KM=Di(function(x,D,P){fr.call(x,P)?++x[P]:la(x,P,1)});function XM(x,D,P){var N=Dt(x)?_v:Bb;return P&&bn(x,D,P)&&(D=n),N(x,st(D,3))}function ZM(x,D){var P=Dt(x)?Hi:zb;return P(x,st(D,3))}var Y0=c0(dg),td=c0(Ju);function q0(x,D){return Zr(rd(x,D),1)}function K0(x,D){return Zr(rd(x,D),ee)}function QM(x,D,P){return P=P===n?1:At(P),Zr(rd(x,D),P)}function X0(x,D){var P=Dt(x)?xi:To;return P(x,st(D,3))}function Z0(x,D){var P=Dt(x)?rk:$b;return P(x,st(D,3))}var Q0=Di(function(x,D,P){fr.call(x,P)?x[P].push(D):la(x,P,[D])});function J0(x,D,P,N){x=Pn(x)?x:bs(x),P=P&&!N?At(P):0;var W=x.length;return P<0&&(P=Fr(W+P,0)),Sn(x)?P<=W&&x.indexOf(D,P)>-1:!!W&&ls(x,D,P)>-1}var JM=Mt(function(x,D,P){var N=-1,W=typeof D=="function",K=Pn(x)?ye(x.length):[];return To(x,function(J){K[++N]=W?En(D,J,P):Gu(J,D,P)}),K}),ex=Di(function(x,D,P){la(x,P,D)});function rd(x,D){var P=Dt(x)?br:qb;return P(x,st(D,3))}function tx(x,D,P,N){return x==null?[]:(Dt(D)||(D=D==null?[]:[D]),P=N?n:P,Dt(P)||(P=P==null?[]:[P]),Hv(x,D,P))}var rx=Di(function(x,D,P){x[P?0:1].push(D)},function(){return[[],[]]});function nd(x,D,P){var N=Dt(x)?bv:hb,W=arguments.length<3;return N(x,st(D,4),P,W,To)}function eA(x,D,P){var N=Dt(x)?lb:hb,W=arguments.length<3;return N(x,st(D,4),P,W,$b)}function id(x,D){var P=Dt(x)?Hi:zb;return P(x,ic(st(D,3)))}function tA(x){var D=Dt(x)?ps:Lh;return D(x)}function rA(x,D,P){(P?bn(x,D,P):D===n)?D=1:D=At(D);var N=Dt(x)?Lb:Jb;return N(x,D)}function nx(x){var D=Dt(x)?Ah:Uv;return D(x)}function Sg(x){if(x==null)return 0;if(Pn(x))return Sn(x)?rl(x):x.length;var D=sn(x);return D==ut||D==vr?x.size:zv(x).length}function ix(x,D,P){var N=Dt(x)?Qs:Xk;return P&&bn(x,D,P)&&(D=n),N(x,st(D,3))}var nA=Mt(function(x,D){if(x==null)return[];var P=D.length;return P>1&&bn(x,D[0],D[1])?D=[]:P>2&&bn(D[0],D[1],D[2])&&(D=[D[0]]),Hv(x,Zr(D,1),[])}),ad=Av||function(){return an.Date.now()};function iA(x,D){if(typeof D!="function")throw new Zn(s);return x=At(x),function(){if(--x<1)return D.apply(this,arguments)}}function wg(x,D,P){return D=P?n:D,D=x&&D==null?x.length:D,fa(x,I,n,n,n,n,D)}function tc(x,D){var P;if(typeof D!="function")throw new Zn(s);return x=At(x),function(){return--x>0&&(P=D.apply(this,arguments)),x<=1&&(D=n),P}}var od=Mt(function(x,D,P){var N=_;if(P.length){var W=za(P,Ga(od));N|=M}return fa(x,N,D,P,W)}),rc=Mt(function(x,D,P){var N=_|S;if(P.length){var W=za(P,Ga(rc));N|=M}return fa(D,N,x,P,W)});function Cg(x,D,P){D=P?n:D;var N=fa(x,w,n,n,n,n,n,D);return N.placeholder=Cg.placeholder,N}function ax(x,D,P){D=P?n:D;var N=fa(x,k,n,n,n,n,n,D);return N.placeholder=ax.placeholder,N}function nc(x,D,P){var N,W,K,J,ne,ce,Me=0,ke=!1,Pe=!1,qe=!0;if(typeof x!="function")throw new Zn(s);D=Ei(D)||0,mr(P)&&(ke=!!P.leading,Pe="maxWait"in P,K=Pe?Fr(Ei(P.maxWait)||0,D):K,qe="trailing"in P?!!P.trailing:qe);function tt(Dr){var qi=N,Ka=W;return N=W=n,Me=Dr,J=x.apply(Ka,qi),J}function ht(Dr){return Me=Dr,ne=Qu(Vt,D),ke?tt(Dr):J}function Nt(Dr){var qi=Dr-ce,Ka=Dr-Me,sS=D-qi;return Pe?Xr(sS,K-Ka):sS}function ct(Dr){var qi=Dr-ce,Ka=Dr-Me;return ce===n||qi>=D||qi<0||Pe&&Ka>=K}function Vt(){var Dr=ad();if(ct(Dr))return er(Dr);ne=Qu(Vt,Nt(Dr))}function er(Dr){return ne=n,qe&&N?tt(Dr):(N=W=n,J)}function $r(){ne!==n&&Bh(ne),Me=0,N=ce=W=ne=n}function Jr(){return ne===n?J:er(ad())}function qa(){var Dr=ad(),qi=ct(Dr);if(N=arguments,W=this,ce=Dr,qi){if(ne===n)return ht(ce);if(Pe)return ne=Qu(Vt,D),tt(ce)}return ne===n&&(ne=Qu(Vt,D)),J}return qa.cancel=$r,qa.flush=Jr,qa}var ox=Mt(function(x,D){return Rv(x,1,D)}),sx=Mt(function(x,D,P){return Rv(x,Ei(D)||0,P)});function aA(x){return fa(x,R)}function sd(x,D){if(typeof x!="function"||D!=null&&typeof D!="function")throw new Zn(s);var P=function N(){var W=arguments,K=D?D.apply(this,W):W[0],J=N.cache;if(J.has(K))return J.get(K);var ne=x.apply(this,W);return N.cache=J.set(K,ne)||J,ne};return P.cache=new(sd.Cache||Ha),P}sd.Cache=Ha;function ic(x){if(typeof x!="function")throw new Zn(s);return function(){var D=arguments;switch(D.length){case 0:return!x.call(this);case 1:return!x.call(this,D[0]);case 2:return!x.call(this,D[0],D[1]);case 3:return!x.call(this,D[0],D[1],D[2])}return!x.apply(this,D)}}function oA(x){return tc(2,x)}var sA=i0(function(x,D){D=D.length==1&&Dt(D[0])?br(D[0],In(st())):br(Zr(D,1),In(st()));var P=D.length;return Mt(function(N){for(var W=-1,K=Xr(N.length,P);++W=D}),Mo=Hb(function(){return arguments}())?Hb:function(x){return Tr(x)&&fr.call(x,"callee")&&!Mv.call(x,"callee")},Dt=ye.isArray,_s=ab?In(ab):jb;function Pn(x){return x!=null&&sc(x.length)&&!ga(x)}function Ar(x){return Tr(x)&&Pn(x)}function _A(x){return x===!0||x===!1||Tr(x)&&_n(x)==ie}var Ao=gk||Hg,cx=ob?In(ob):Wb;function ud(x){return Tr(x)&&x.nodeType===1&&!lc(x)}function fx(x){if(x==null)return!0;if(Pn(x)&&(Dt(x)||typeof x=="string"||typeof x.splice=="function"||Ao(x)||xl(x)||Mo(x)))return!x.length;var D=sn(x);if(D==ut||D==vr)return!x.size;if(yl(x))return!zv(x).length;for(var P in x)if(fr.call(x,P))return!1;return!0}function hx(x,D){return fl(x,D)}function bA(x,D,P){P=typeof P=="function"?P:n;var N=P?P(x,D):n;return N===n?fl(x,D,n,P):!!N}function Dg(x){if(!Tr(x))return!1;var D=_n(x);return D==Ne||D==Fe||typeof x.message=="string"&&typeof x.name=="string"&&!lc(x)}function xA(x){return typeof x=="number"&&mk(x)}function ga(x){if(!mr(x))return!1;var D=_n(x);return D==We||D==St||D==he||D==Rr}function oc(x){return typeof x=="number"&&x==At(x)}function sc(x){return typeof x=="number"&&x>-1&&x%1==0&&x<=Z}function mr(x){var D=typeof x>"u"?"undefined":t(x);return x!=null&&(D=="object"||D=="function")}function Tr(x){return x!=null&&(typeof x>"u"?"undefined":t(x))==="object"}var dx=sb?In(sb):Gb;function SA(x,D){return x===D||ei(x,D,cg(D))}function px(x,D,P){return P=typeof P=="function"?P:n,ei(x,D,cg(D),P)}function cd(x){return mx(x)&&x!=+x}function vx(x){if(m0(x))throw new bt(o);return Ub(x)}function gx(x){return x===null}function wA(x){return x==null}function mx(x){return typeof x=="number"||Tr(x)&&_n(x)==kt}function lc(x){if(!Tr(x)||_n(x)!=Ht)return!1;var D=Ru(x);if(D===null)return!0;var P=fr.call(D,"constructor")&&D.constructor;return typeof P=="function"&&P instanceof P&&Lu.call(P)==hk}var kg=mv?In(mv):Wk;function yx(x){return oc(x)&&x>=-9007199254740991&&x<=Z}var _x=Mu?In(Mu):Gk;function Sn(x){return typeof x=="string"||!Dt(x)&&Tr(x)&&_n(x)==Yn}function ti(x){return(typeof x>"u"?"undefined":t(x))==="symbol"||Tr(x)&&_n(x)==Se}var xl=yv?In(yv):Yb;function ri(x){return x===n}function Yi(x){return Tr(x)&&sn(x)==pe}function CA(x){return Tr(x)&&_n(x)==ge}var Sl=jh(Ph),TA=jh(function(x,D){return x<=D});function Mg(x){if(!x)return[];if(Pn(x))return Sn(x)?ji(x):on(x);if(Nu&&x[Nu])return sk(x[Nu]());var D=sn(x),P=D==ut?kv:D==vr?Iu:bs;return P(x)}function ma(x){if(!x)return x===0?x:0;if(x=Ei(x),x===ee||x===-1/0){var D=x<0?-1:1;return D*re}return x===x?x:0}function At(x){var D=ma(x),P=D%1;return D===D?P?D-P:D:0}function bx(x){return x?Co(At(x),0,ve):0}function Ei(x){if(typeof x=="number")return x;if(ti(x))return de;if(mr(x)){var D=typeof x.valueOf=="function"?x.valueOf():x;x=mr(D)?D+"":D}if(typeof x!="string")return x===0?x:+x;x=x.replace(rv,"");var P=Cu.test(x);return P||BD.test(x)?ib(x.slice(2),P?2:8):$D.test(x)?de:+x}function Ag(x){return Gi(x,Ln(x))}function fd(x){return x?Co(At(x),-9007199254740991,Z):x===0?x:0}function Zt(x){return x==null?"":pn(x)}var xx=Wa(function(x,D){if(yl(D)||Pn(D)){Gi(D,Qr(D),x);return}for(var P in D)fr.call(D,P)&&vs(x,P,D[P])}),Sx=Wa(function(x,D){Gi(D,Ln(D),x)}),hd=Wa(function(x,D,P,N){Gi(D,Ln(D),x,N)}),DA=Wa(function(x,D,P,N){Gi(D,Qr(D),x,N)}),Cx=ha(Hu);function dd(x,D){var P=ul(x);return D==null?P:Rb(P,D)}var Tx=Mt(function(x,D){x=ar(x);var P=-1,N=D.length,W=N>2?D[2]:n;for(W&&bn(D[0],D[1],W)&&(N=1);++P1),K}),Gi(x,lg(x),P),N&&(P=Ci(P,p|g|v,rM));for(var W=D.length;W--;)Nh(P,D[W]);return P});function LA(x,D){return uc(x,ic(st(D)))}var OA=ha(function(x,D){return x==null?{}:qk(x,D)});function uc(x,D){if(x==null)return{};var P=br(lg(x),function(N){return[N]});return D=st(D),jv(x,P,function(N,W){return D(N,W[0])})}function RA(x,D,P){D=Do(D,x);var N=-1,W=D.length;for(W||(W=1,x=n);++ND){var N=x;x=D,D=N}if(P||x%1||D%1){var W=Db();return Xr(x+W*(D-x+uh("1e-"+((W+"").length-1))),D)}return Wv(x,D)}var VA=vl(function(x,D,P){return D=D.toLowerCase(),x+(P?Rg(D):D)});function Rg(x){return Ng(Zt(x).toLowerCase())}function fc(x){return x=Zt(x),x&&x.replace(VD,Eu).replace(eb,"")}function Nx(x,D,P){x=Zt(x),D=pn(D);var N=x.length;P=P===n?N:Co(At(P),0,N);var W=P;return P-=D.length,P>=0&&x.slice(P,W)==D}function Fx(x){return x=Zt(x),x&&R_.test(x)?x.replace(O_,ok):x}function HA(x){return x=Zt(x),x&&LD.test(x)?x.replace(wu,"\\$&"):x}var jA=vl(function(x,D,P){return x+(P?"-":"")+D.toLowerCase()}),WA=vl(function(x,D,P){return x+(P?" ":"")+D.toLowerCase()}),$x=rg("toLowerCase");function _d(x,D,P){x=Zt(x),D=At(D);var N=D?rl(x):0;if(!D||N>=D)return x;var W=(D-N)/2;return rr(xh(W),P)+x+rr(cs(W),P)}function Bx(x,D,P){x=Zt(x),D=At(D);var N=D?rl(x):0;return D&&N>>0,P?(x=Zt(x),x&&(typeof D=="string"||D!=null&&!kg(D))&&(D=pn(D),!D&&el(x))?ca(ji(x),0,P):x.split(D,P)):[]}var Hx=vl(function(x,D,P){return x+(P?" ":"")+Ng(D)});function jx(x,D,P){return x=Zt(x),P=P==null?0:Co(At(P),0,x.length),D=pn(D),x.slice(P,P+D.length)==D}function qA(x,D,P){var N=Y.templateSettings;P&&bn(x,D,P)&&(D=n),x=Zt(x),D=hd({},D,N,f0);var W=hd({},D.imports,N.imports,f0),K=Qr(W),J=Tv(W,K),ne,ce,Me=0,ke=D.interpolate||th,Pe="__p += '",qe=mh((D.escape||th).source+"|"+ke.source+"|"+(ke===qr?eh:th).source+"|"+(D.evaluate||th).source+"|$","g"),tt="//# sourceURL="+("sourceURL"in D?D.sourceURL:"lodash.templateSources["+ ++rb+"]")+` -`;x.replace(qe,function(ct,Vt,er,$r,Jr,qa){return er||(er=$r),Pe+=x.slice(Me,qa).replace(HD,gb),Vt&&(ne=!0,Pe+=`' + -__e(`+Vt+`) + -'`),Jr&&(ce=!0,Pe+=`'; -`+Jr+`; -__p += '`),er&&(Pe+=`' + -((__t = (`+er+`)) == null ? '' : __t) + -'`),Me=qa+ct.length,ct}),Pe+=`'; -`;var ht=D.variable;ht||(Pe=`with (obj) { -`+Pe+` -} -`),Pe=(ce?Pe.replace(_o,""):Pe).replace(I_,"$1").replace(P_,"$1;"),Pe="function("+(ht||"obj")+`) { -`+(ht?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(ne?", __e = _.escape":"")+(ce?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+Pe+`return __p -}`;var Nt=Fg(function(){return Xt(K,tt+"return "+Pe).apply(n,J)});if(Nt.source=Pe,Dg(Nt))throw Nt;return Nt}function KA(x){return Zt(x).toLowerCase()}function XA(x){return Zt(x).toUpperCase()}function ZA(x,D,P){if(x=Zt(x),x&&(P||D===n))return x.replace(rv,"");if(!x||!(D=pn(D)))return x;var N=ji(x),W=ji(D),K=db(N,W),J=pb(N,W)+1;return ca(N,K,J).join("")}function Wx(x,D,P){if(x=Zt(x),x&&(P||D===n))return x.replace(Ee,"");if(!x||!(D=pn(D)))return x;var N=ji(x),W=pb(N,ji(D))+1;return ca(N,0,W).join("")}function Ua(x,D,P){if(x=Zt(x),x&&(P||D===n))return x.replace(F_,"");if(!x||!(D=pn(D)))return x;var N=ji(x),W=db(N,ji(D));return ca(N,W).join("")}function Gx(x,D){var P=$,N=V;if(mr(D)){var W="separator"in D?D.separator:W;P="length"in D?At(D.length):P,N="omission"in D?pn(D.omission):N}x=Zt(x);var K=x.length;if(el(x)){var J=ji(x);K=J.length}if(P>=K)return x;var ne=P-rl(N);if(ne<1)return N;var ce=J?ca(J,0,ne).join(""):x.slice(0,ne);if(W===n)return ce+N;if(J&&(ne+=ce.length-ne),kg(W)){if(x.slice(ne).search(W)){var Me,ke=ce;for(W.global||(W=mh(W.source,Zt(nv.exec(W))+"g")),W.lastIndex=0;Me=W.exec(ke);)var Pe=Me.index;ce=ce.slice(0,Pe===n?ne:Pe)}}else if(x.indexOf(pn(W),ne)!=ne){var qe=ce.lastIndexOf(W);qe>-1&&(ce=ce.slice(0,qe))}return ce+N}function QA(x){return x=Zt(x),x&&ID.test(x)?x.replace(L_,bb):x}var JA=vl(function(x,D,P){return x+(P?" ":"")+D.toUpperCase()}),Ng=rg("toUpperCase");function Ux(x,D,P){return x=Zt(x),D=P?n:D,D===n?Dv(x)?Sb(x):nk(x):x.match(D)||[]}var Fg=Mt(function(x,D){try{return En(x,n,D)}catch(P){return Dg(P)?P:new bt(P)}}),xd=ha(function(x,D){return xi(D,function(P){P=pa(P),la(x,P,od(x[P],x))}),x});function Yx(x){var D=x==null?0:x.length,P=st();return x=D?br(x,function(N){if(typeof N[1]!="function")throw new Zn(s);return[P(N[0]),N[1]]}):[],Mt(function(N){for(var W=-1;++WZ)return[];var P=ve,N=Xr(x,ve);D=st(D),x-=ve;for(var W=vh(N,D);++P0||D<0)?new zt(P):(x<0?P=P.takeRight(-x):x&&(P=P.drop(x)),D!==n&&(D=At(D),P=D<0?P.dropRight(-D):P.take(D-x)),P)},zt.prototype.takeRightWhile=function(x){return this.reverse().takeWhile(x).reverse()},zt.prototype.toArray=function(){return this.take(ve)},ua(zt.prototype,function(x,D){var P=/^(?:filter|find|map|reject)|While$/.test(D),N=/^(?:head|last)$/.test(D),W=Y[N?"take"+(D=="last"?"Right":""):D],K=N||/^find/.test(D);W&&(Y.prototype[D]=function(){var J=this.__wrapped__,ne=N?[1]:arguments,ce=J instanceof zt,Me=ne[0],ke=ce||Dt(J),Pe=function(er){var $r=W.apply(Y,xo([er],ne));return N&&qe?$r[0]:$r};ke&&P&&typeof Me=="function"&&Me.length!=1&&(ce=ke=!1);var qe=this.__chain__,tt=!!this.__actions__.length,ht=K&&!qe,Nt=ce&&!tt;if(!K&&ke){J=Nt?J:new zt(this);var ct=x.apply(J,ne);return ct.__actions__.push({func:ed,args:[Pe],thisArg:n}),new Qn(ct,qe)}return ht&&Nt?x.apply(this,ne):(ct=this.thru(Pe),ht?N?ct.value()[0]:ct.value():ct)})}),xi(["pop","push","shift","sort","splice","unshift"],function(x){var D=Pu[x],P=/^(?:push|sort|unshift)$/.test(x)?"tap":"thru",N=/^(?:pop|shift)$/.test(x);Y.prototype[x]=function(){var W=arguments;if(N&&!this.__chain__){var K=this.value();return D.apply(Dt(K)?K:[],W)}return this[P](function(J){return D.apply(Dt(J)?J:[],W)})}}),ua(zt.prototype,function(x,D){var P=Y[D];if(P){var N=P.name+"",W=sl[N]||(sl[N]=[]);W.push({name:D,func:P})}}),sl[gl(n,S).name]=[{name:"wrapper",func:n}],zt.prototype.clone=Ck,zt.prototype.reverse=Tk,zt.prototype.value=Dk,Y.prototype.at=jM,Y.prototype.chain=WM,Y.prototype.commit=G0,Y.prototype.next=GM,Y.prototype.plant=YM,Y.prototype.reverse=U0,Y.prototype.toJSON=Y.prototype.valueOf=Y.prototype.value=qM,Y.prototype.first=Y.prototype.head,Nu&&(Y.prototype[Nu]=UM),Y},nl=uk();bo?((bo.exports=nl)._=nl,gv._=nl):an._=nl}).call(void 0)}(jm,jm.exports)),jm.exports}var gL={exports:{}},G6;function JAe(){return G6||(G6=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=97)}({0:function(e,t,n){n.d(t,"a",function(){return i});function i(a,o,s,u,f,h,p,g){var v=typeof a=="function"?a.options:a;o&&(v.render=o,v.staticRenderFns=s,v._compiled=!0),u&&(v.functional=!0),h&&(v._scopeId="data-v-"+h);var m;if(p?(m=function(S){S=S||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!S&&typeof __VUE_SSR_CONTEXT__<"u"&&(S=__VUE_SSR_CONTEXT__),f&&f.call(this,S),S&&S._registeredComponents&&S._registeredComponents.add(p)},v._ssrRegister=m):f&&(m=g?function(){f.call(this,this.$root.$options.shadowRoot)}:f),m)if(v.functional){v._injectStyles=m;var b=v.render;v.render=function(C,w){return m.call(w),b(C,w)}}else{var _=v.beforeCreate;v.beforeCreate=_?[].concat(_,m):[m]}return{exports:a,options:v}}},97:function(e,t,n){n.r(t);var i=function(){var p=this,g=p.$createElement,v=p._self._c||g;return v("div",{staticClass:"el-button-group"},[p._t("default")],2)},a=[];i._withStripped=!0;var o={name:"ElButtonGroup"},s=o,u=n(0),f=Object(u.a)(s,i,a,!1,null,null,null);f.options.__file="packages/button/src/button-group.vue";var h=f.exports;h.install=function(p){p.component(h.name,h)},t.default=h}})}(gL)),gL.exports}var mL={exports:{}},U6;function OQ(){return U6||(U6=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=132)}({0:function(e,t,n){n.d(t,"a",function(){return i});function i(a,o,s,u,f,h,p,g){var v=typeof a=="function"?a.options:a;o&&(v.render=o,v.staticRenderFns=s,v._compiled=!0),u&&(v.functional=!0),h&&(v._scopeId="data-v-"+h);var m;if(p?(m=function(S){S=S||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!S&&typeof __VUE_SSR_CONTEXT__<"u"&&(S=__VUE_SSR_CONTEXT__),f&&f.call(this,S),S&&S._registeredComponents&&S._registeredComponents.add(p)},v._ssrRegister=m):f&&(m=g?function(){f.call(this,this.$root.$options.shadowRoot)}:f),m)if(v.functional){v._injectStyles=m;var b=v.render;v.render=function(C,w){return m.call(w),b(C,w)}}else{var _=v.beforeCreate;v.beforeCreate=_?[].concat(_,m):[m]}return{exports:a,options:v}}},132:function(e,t,n){n.r(t);var i={name:"ElTag",props:{text:String,closable:Boolean,type:String,hit:Boolean,disableTransitions:Boolean,color:String,size:String,effect:{type:String,default:"light",validator:function(g){return["dark","light","plain"].indexOf(g)!==-1}}},methods:{handleClose:function(g){g.stopPropagation(),this.$emit("close",g)},handleClick:function(g){this.$emit("click",g)}},computed:{tagSize:function(){return this.size||(this.$ELEMENT||{}).size}},render:function(g){var v=this.type,m=this.tagSize,b=this.hit,_=this.effect,S=["el-tag",v?"el-tag--"+v:"",m?"el-tag--"+m:"",_?"el-tag--"+_:"",b&&"is-hit"],C=g("span",{class:S,style:{backgroundColor:this.color},on:{click:this.handleClick}},[this.$slots.default,this.closable&&g("i",{class:"el-tag__close el-icon-close",on:{click:this.handleClose}})]);return this.disableTransitions?C:g("transition",{attrs:{name:"el-zoom-in-center"}},[C])}},a=i,o=n(0),s,u,f=Object(o.a)(a,s,u,!1,null,null,null);f.options.__file="packages/tag/src/tag.vue";var h=f.exports;h.install=function(p){p.component(h.name,h)},t.default=h}})}(mL)),mL.exports}var yL={exports:{}},Y6;function eEe(){return Y6||(Y6=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=93)}({0:function(e,t,n){n.d(t,"a",function(){return i});function i(a,o,s,u,f,h,p,g){var v=typeof a=="function"?a.options:a;o&&(v.render=o,v.staticRenderFns=s,v._compiled=!0),u&&(v.functional=!0),h&&(v._scopeId="data-v-"+h);var m;if(p?(m=function(S){S=S||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!S&&typeof __VUE_SSR_CONTEXT__<"u"&&(S=__VUE_SSR_CONTEXT__),f&&f.call(this,S),S&&S._registeredComponents&&S._registeredComponents.add(p)},v._ssrRegister=m):f&&(m=g?function(){f.call(this,this.$root.$options.shadowRoot)}:f),m)if(v.functional){v._injectStyles=m;var b=v.render;v.render=function(C,w){return m.call(w),b(C,w)}}else{var _=v.beforeCreate;v.beforeCreate=_?[].concat(_,m):[m]}return{exports:a,options:v}}},4:function(e,t){e.exports=Yf()},93:function(e,t,n){n.r(t);var i=function(){var v=this,m=v.$createElement,b=v._self._c||m;return b("div",{staticClass:"el-checkbox-group",attrs:{role:"group","aria-label":"checkbox-group"}},[v._t("default")],2)},a=[];i._withStripped=!0;var o=n(4),s=n.n(o),u={name:"ElCheckboxGroup",componentName:"ElCheckboxGroup",mixins:[s.a],inject:{elFormItem:{default:""}},props:{value:{},disabled:Boolean,min:Number,max:Number,size:String,fill:String,textColor:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxGroupSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size}},watch:{value:function(m){this.dispatch("ElFormItem","el.form.change",[m])}}},f=u,h=n(0),p=Object(h.a)(f,i,a,!1,null,null,null);p.options.__file="packages/checkbox/src/checkbox-group.vue";var g=p.exports;g.install=function(v){v.component(g.name,g)},t.default=g}})}(yL)),yL.exports}var aC={},q6;function tEe(){return q6||(q6=1,aC.__esModule=!0,aC.default=function(r,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:300,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!r||!e)throw new Error("instance & callback is required");var i=!1,a=function(){i||(i=!0,e&&e.apply(null,arguments))};n?r.$once("after-leave",a):r.$on("after-leave",a),setTimeout(function(){a()},t+100)}),aC}var _L={exports:{}},K6;function rEe(){return K6||(K6=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=104)}({0:function(e,t,n){n.d(t,"a",function(){return i});function i(a,o,s,u,f,h,p,g){var v=typeof a=="function"?a.options:a;o&&(v.render=o,v.staticRenderFns=s,v._compiled=!0),u&&(v.functional=!0),h&&(v._scopeId="data-v-"+h);var m;if(p?(m=function(S){S=S||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!S&&typeof __VUE_SSR_CONTEXT__<"u"&&(S=__VUE_SSR_CONTEXT__),f&&f.call(this,S),S&&S._registeredComponents&&S._registeredComponents.add(p)},v._ssrRegister=m):f&&(m=g?function(){f.call(this,this.$root.$options.shadowRoot)}:f),m)if(v.functional){v._injectStyles=m;var b=v.render;v.render=function(C,w){return m.call(w),b(C,w)}}else{var _=v.beforeCreate;v.beforeCreate=_?[].concat(_,m):[m]}return{exports:a,options:v}}},104:function(e,t,n){n.r(t);var i=function(){var p=this,g=p.$createElement,v=p._self._c||g;return v("div",{staticClass:"el-progress",class:["el-progress--"+p.type,p.status?"is-"+p.status:"",{"el-progress--without-text":!p.showText,"el-progress--text-inside":p.textInside}],attrs:{role:"progressbar","aria-valuenow":p.percentage,"aria-valuemin":"0","aria-valuemax":"100"}},[p.type==="line"?v("div",{staticClass:"el-progress-bar"},[v("div",{staticClass:"el-progress-bar__outer",style:{height:p.strokeWidth+"px",backgroundColor:p.defineBackColor}},[v("div",{staticClass:"el-progress-bar__inner",style:p.barStyle},[p.showText&&p.textInside?v("div",{staticClass:"el-progress-bar__innerText",style:{color:p.textColor}},[p._v(p._s(p.content))]):p._e()])])]):v("div",{staticClass:"el-progress-circle",style:{height:p.width+"px",width:p.width+"px"}},[v("svg",{attrs:{viewBox:"0 0 100 100"}},[v("path",{staticClass:"el-progress-circle__track",style:p.trailPathStyle,attrs:{d:p.trackPath,stroke:p.defineBackColor,"stroke-width":p.relativeStrokeWidth,fill:"none"}}),v("path",{staticClass:"el-progress-circle__path",style:p.circlePathStyle,attrs:{d:p.trackPath,stroke:p.stroke,fill:"none","stroke-linecap":p.strokeLinecap,"stroke-width":p.percentage?p.relativeStrokeWidth:0}})])]),p.showText&&!p.textInside?v("div",{staticClass:"el-progress__text",style:{fontSize:p.progressTextSize+"px",color:p.textColor}},[p.status?v("i",{class:p.iconClass}):[p._v(p._s(p.content))]],2):p._e()])},a=[];i._withStripped=!0;var o={name:"ElProgress",props:{type:{type:String,default:"line",validator:function(g){return["line","circle","dashboard"].indexOf(g)>-1}},percentage:{type:Number,default:0,required:!0,validator:function(g){return g>=0&&g<=100}},status:{type:String,validator:function(g){return["success","exception","warning"].indexOf(g)>-1}},strokeWidth:{type:Number,default:6},strokeLinecap:{type:String,default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:[String,Array,Function],default:""},defineBackColor:{type:[String,Array,Function],default:"#ebeef5"},textColor:{type:[String,Array,Function],default:"#606266"},format:Function},computed:{barStyle:function(){var g={};return g.width=this.percentage+"%",g.backgroundColor=this.getCurrentColor(this.percentage),g},relativeStrokeWidth:function(){return(this.strokeWidth/this.width*100).toFixed(1)},radius:function(){return this.type==="circle"||this.type==="dashboard"?parseInt(50-parseFloat(this.relativeStrokeWidth)/2,10):0},trackPath:function(){var g=this.radius,v=this.type==="dashboard";return` - M 50 50 - m 0 `+(v?"":"-")+g+` - a `+g+" "+g+" 0 1 1 0 "+(v?"-":"")+g*2+` - a `+g+" "+g+" 0 1 1 0 "+(v?"":"-")+g*2+` - `},perimeter:function(){return 2*Math.PI*this.radius},rate:function(){return this.type==="dashboard"?.75:1},strokeDashoffset:function(){var g=-1*this.perimeter*(1-this.rate)/2;return g+"px"},trailPathStyle:function(){return{strokeDasharray:this.perimeter*this.rate+"px, "+this.perimeter+"px",strokeDashoffset:this.strokeDashoffset}},circlePathStyle:function(){return{strokeDasharray:this.perimeter*this.rate*(this.percentage/100)+"px, "+this.perimeter+"px",strokeDashoffset:this.strokeDashoffset,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease"}},stroke:function(){var g=void 0;if(this.color)g=this.getCurrentColor(this.percentage);else switch(this.status){case"success":g="#13ce66";break;case"exception":g="#ff4949";break;case"warning":g="#e6a23c";break;default:g="#20a0ff"}return g},iconClass:function(){return this.status==="warning"?"el-icon-warning":this.type==="line"?this.status==="success"?"el-icon-circle-check":"el-icon-circle-close":this.status==="success"?"el-icon-check":"el-icon-close"},progressTextSize:function(){return this.type==="line"?12+this.strokeWidth*.4:this.width*.111111+2},content:function(){return typeof this.format=="function"?this.format(this.percentage)||"":this.percentage+"%"}},methods:{getCurrentColor:function(g){return typeof this.color=="function"?this.color(g):typeof this.color=="string"?this.color:this.getLevelColor(g)},getLevelColor:function(g){for(var v=this.getColorArray().sort(function(b,_){return b.percentage-_.percentage}),m=0;mg)return v[m].color;return v[v.length-1].color},getColorArray:function(){var g=this.color,v=100/g.length;return g.map(function(m,b){return typeof m=="string"?{color:m,percentage:(b+1)*v}:m})}}},s=o,u=n(0),f=Object(u.a)(s,i,a,!1,null,null,null);f.options.__file="packages/progress/src/progress.vue";var h=f.exports;h.install=function(p){p.component(h.name,h)},t.default=h}})}(_L)),_L.exports}var oC={},X6;function b$(){if(X6)return oC;X6=1,oC.__esModule=!0;var r=r||{};return r.Utils=r.Utils||{},r.Utils.focusFirstDescendant=function(e){for(var t=0;t=0;t--){var n=e.childNodes[t];if(r.Utils.attemptFocus(n)||r.Utils.focusLastDescendant(n))return!0}return!1},r.Utils.attemptFocus=function(e){if(!r.Utils.isFocusable(e))return!1;r.Utils.IgnoreUtilFocusChanges=!0;try{e.focus()}catch{}return r.Utils.IgnoreUtilFocusChanges=!1,document.activeElement===e},r.Utils.isFocusable=function(e){if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return e.type!=="hidden"&&e.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},r.Utils.triggerEvent=function(e,t){var n=void 0;/^mouse|click/.test(t)?n="MouseEvents":/^key/.test(t)?n="KeyboardEvent":n="HTMLEvents";for(var i=document.createEvent(n),a=arguments.length,o=Array(a>2?a-2:0),s=2;s=this.select.multipleLimit&&this.select.multipleLimit>0:!1}},watch:{currentLabel:function(){!this.created&&!this.select.remote&&this.dispatch("ElSelect","setSelected")},value:function(b,_){var S=this.select,C=S.remote,w=S.valueKey;if(!this.created&&!C){if(w&&(typeof b>"u"?"undefined":f(b))==="object"&&(typeof _>"u"?"undefined":f(_))==="object"&&b[w]===_[w])return;this.dispatch("ElSelect","setSelected")}}},methods:{isEqual:function(b,_){if(this.isObject){var S=this.select.valueKey;return Object(u.getValueByPath)(b,S)===Object(u.getValueByPath)(_,S)}else return b===_},contains:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],_=arguments[1];if(this.isObject){var S=this.select.valueKey;return b&&b.some(function(C){return Object(u.getValueByPath)(C,S)===Object(u.getValueByPath)(_,S)})}else return b&&b.indexOf(_)>-1},handleGroupDisabled:function(b){this.groupDisabled=b},hoverItem:function(){!this.disabled&&!this.groupDisabled&&(this.select.hoverIndex=this.select.options.indexOf(this))},selectOptionClick:function(){this.disabled!==!0&&this.groupDisabled!==!0&&this.dispatch("ElSelect","handleOptionClick",[this,!0])},queryChange:function(b){this.visible=new RegExp(Object(u.escapeRegexpString)(b),"i").test(this.currentLabel)||this.created,this.visible||this.select.filteredOptionsCount--}},created:function(){this.select.options.push(this),this.select.cachedOptions.push(this),this.select.optionsCount++,this.select.filteredOptionsCount++,this.$on("queryChange",this.queryChange),this.$on("handleGroupDisabled",this.handleGroupDisabled)},beforeDestroy:function(){var b=this.select,_=b.selected,S=b.multiple,C=S?_:[_],w=this.select.cachedOptions.indexOf(this),k=C.indexOf(this);w>-1&&k<0&&this.select.cachedOptions.splice(w,1),this.select.onOptionDestroy(this.select.options.indexOf(this))}},p=h,g=n(0),v=Object(g.a)(p,i,a,!1,null,null,null);v.options.__file="packages/select/src/option.vue",t.a=v.exports},38:function(e,t){e.exports=OQ()},4:function(e,t){e.exports=Yf()},5:function(e,t){e.exports=gD()},6:function(e,t){e.exports=h$()},62:function(e,t,n){n.r(t);var i=function(){var Q=this,he=Q.$createElement,ie=Q._self._c||he;return ie("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:Q.handleClose,expression:"handleClose"}],staticClass:"el-select",class:[Q.selectSize?"el-select--"+Q.selectSize:""],on:{click:function(oe){return oe.stopPropagation(),Q.toggleMenu(oe)}}},[Q.multiple?ie("div",{ref:"tags",staticClass:"el-select__tags",style:{"max-width":Q.inputWidth-32+"px",width:"100%"}},[Q.collapseTags&&Q.selected.length?ie("span",[ie("el-tag",{attrs:{closable:!Q.selectDisabled,size:Q.collapseTagSize,hit:Q.selected[0].hitState,type:"info","disable-transitions":""},on:{close:function(oe){Q.deleteTag(oe,Q.selected[0])}}},[ie("span",{staticClass:"el-select__tags-text"},[Q._v(Q._s(Q.selected[0].currentLabel))])]),Q.selected.length>1?ie("el-tag",{attrs:{closable:!1,size:Q.collapseTagSize,type:"info","disable-transitions":""}},[ie("span",{staticClass:"el-select__tags-text"},[Q._v("+ "+Q._s(Q.selected.length-1))])]):Q._e()],1):Q._e(),Q.collapseTags?Q._e():ie("transition-group",{on:{"after-leave":Q.resetInputHeight}},Q._l(Q.selected,function(oe){return ie("el-tag",{key:Q.getValueKey(oe),attrs:{closable:!Q.selectDisabled,size:Q.collapseTagSize,hit:oe.hitState,type:"info","disable-transitions":""},on:{close:function(Fe){Q.deleteTag(Fe,oe)}}},[ie("span",{staticClass:"el-select__tags-text"},[Q._v(Q._s(oe.currentLabel))])])}),1),Q.filterable?ie("input",{directives:[{name:"model",rawName:"v-model",value:Q.query,expression:"query"}],ref:"input",staticClass:"el-select__input",class:[Q.selectSize?"is-"+Q.selectSize:""],style:{"flex-grow":"1",width:Q.inputLength/(Q.inputWidth-32)+"%","max-width":Q.inputWidth-42+"px"},attrs:{type:"text",disabled:Q.selectDisabled,autocomplete:Q.autoComplete||Q.autocomplete},domProps:{value:Q.query},on:{focus:Q.handleFocus,blur:function(oe){Q.softFocus=!1},keyup:Q.managePlaceholder,keydown:[Q.resetInputState,function(oe){if(!("button"in oe)&&Q._k(oe.keyCode,"down",40,oe.key,["Down","ArrowDown"]))return null;oe.preventDefault(),Q.handleNavigate("next")},function(oe){if(!("button"in oe)&&Q._k(oe.keyCode,"up",38,oe.key,["Up","ArrowUp"]))return null;oe.preventDefault(),Q.handleNavigate("prev")},function(oe){return!("button"in oe)&&Q._k(oe.keyCode,"enter",13,oe.key,"Enter")?null:(oe.preventDefault(),Q.selectOption(oe))},function(oe){if(!("button"in oe)&&Q._k(oe.keyCode,"esc",27,oe.key,["Esc","Escape"]))return null;oe.stopPropagation(),oe.preventDefault(),Q.visible=!1},function(oe){return!("button"in oe)&&Q._k(oe.keyCode,"delete",[8,46],oe.key,["Backspace","Delete","Del"])?null:Q.deletePrevTag(oe)},function(oe){if(!("button"in oe)&&Q._k(oe.keyCode,"tab",9,oe.key,"Tab"))return null;Q.visible=!1}],compositionstart:Q.handleComposition,compositionupdate:Q.handleComposition,compositionend:Q.handleComposition,input:[function(oe){oe.target.composing||(Q.query=oe.target.value)},Q.debouncedQueryChange]}}):Q._e()],1):Q._e(),ie("el-input",{ref:"reference",class:{"is-focus":Q.visible},attrs:{type:"text",placeholder:Q.currentPlaceholder,name:Q.name,id:Q.id,autocomplete:Q.autoComplete||Q.autocomplete,size:Q.selectSize,disabled:Q.selectDisabled,readonly:Q.readonly,"validate-event":!1,tabindex:Q.multiple&&Q.filterable?"-1":null},on:{focus:Q.handleFocus,blur:Q.handleBlur,input:Q.debouncedOnInputChange,compositionstart:Q.handleComposition,compositionupdate:Q.handleComposition,compositionend:Q.handleComposition},nativeOn:{keydown:[function(oe){if(!("button"in oe)&&Q._k(oe.keyCode,"down",40,oe.key,["Down","ArrowDown"]))return null;oe.stopPropagation(),oe.preventDefault(),Q.handleNavigate("next")},function(oe){if(!("button"in oe)&&Q._k(oe.keyCode,"up",38,oe.key,["Up","ArrowUp"]))return null;oe.stopPropagation(),oe.preventDefault(),Q.handleNavigate("prev")},function(oe){return!("button"in oe)&&Q._k(oe.keyCode,"enter",13,oe.key,"Enter")?null:(oe.preventDefault(),Q.selectOption(oe))},function(oe){if(!("button"in oe)&&Q._k(oe.keyCode,"esc",27,oe.key,["Esc","Escape"]))return null;oe.stopPropagation(),oe.preventDefault(),Q.visible=!1},function(oe){if(!("button"in oe)&&Q._k(oe.keyCode,"tab",9,oe.key,"Tab"))return null;Q.visible=!1}],mouseenter:function(oe){Q.inputHovering=!0},mouseleave:function(oe){Q.inputHovering=!1}},model:{value:Q.selectedLabel,callback:function(oe){Q.selectedLabel=oe},expression:"selectedLabel"}},[Q.$slots.prefix?ie("template",{slot:"prefix"},[Q._t("prefix")],2):Q._e(),ie("template",{slot:"suffix"},[ie("i",{directives:[{name:"show",rawName:"v-show",value:!Q.showClose,expression:"!showClose"}],class:["el-select__caret","el-input__icon","el-icon-"+Q.iconClass]}),Q.showClose?ie("i",{staticClass:"el-select__caret el-input__icon el-icon-circle-close",on:{click:Q.handleClearClick}}):Q._e()])],2),ie("transition",{attrs:{name:"el-zoom-in-top"},on:{"before-enter":Q.handleMenuEnter,"after-leave":Q.doDestroy}},[ie("el-select-menu",{directives:[{name:"show",rawName:"v-show",value:Q.visible&&Q.emptyText!==!1,expression:"visible && emptyText !== false"}],ref:"popper",attrs:{"append-to-body":Q.popperAppendToBody}},[ie("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:Q.options.length>0&&!Q.loading,expression:"options.length > 0 && !loading"}],ref:"scrollbar",class:{"is-empty":!Q.allowCreate&&Q.query&&Q.filteredOptionsCount===0},attrs:{tag:"ul","wrap-class":"el-select-dropdown__wrap","view-class":"el-select-dropdown__list"}},[Q.showNewOption?ie("el-option",{attrs:{value:Q.query,created:""}}):Q._e(),Q._t("default")],2),Q.emptyText&&(!Q.allowCreate||Q.loading||Q.allowCreate&&Q.options.length===0)?[Q.$slots.empty?Q._t("empty"):ie("p",{staticClass:"el-select-dropdown__empty"},[Q._v(` - `+Q._s(Q.emptyText)+` - `)])]:Q._e()],2)],1)],1)},a=[];i._withStripped=!0;var o=n(4),s=n.n(o),u=n(22),f=n.n(u),h=n(6),p=n.n(h),g=n(10),v=n.n(g),m=function(){var Q=this,he=Q.$createElement,ie=Q._self._c||he;return ie("div",{staticClass:"el-select-dropdown el-popper",class:[{"is-multiple":Q.$parent.multiple},Q.popperClass],style:{minWidth:Q.minWidth}},[Q._t("default")],2)},b=[];m._withStripped=!0;var _=n(5),S=n.n(_),C={name:"ElSelectDropdown",componentName:"ElSelectDropdown",mixins:[S.a],props:{placement:{default:"bottom-start"},boundariesPadding:{default:0},popperOptions:{default:function(){return{gpuAcceleration:!1}}},visibleArrow:{default:!0},appendToBody:{type:Boolean,default:!0}},data:function(){return{minWidth:""}},computed:{popperClass:function(){return this.$parent.popperClass}},watch:{"$parent.inputWidth":function(){this.minWidth=this.$parent.$el.getBoundingClientRect().width+"px"}},mounted:function(){var he=this;this.referenceElm=this.$parent.$refs.reference.$el,this.$parent.popperElm=this.popperElm=this.$el,this.$on("updatePopper",function(){he.$parent.visible&&he.updatePopper()}),this.$on("destroyPopper",this.destroyPopper)}},w=C,k=n(0),M=Object(k.a)(w,m,b,!1,null,null,null);M.options.__file="packages/select/src/select-dropdown.vue";var E=M.exports,I=n(33),O=n(38),R=n.n(O),$=n(15),V=n.n($),z=n(19),B=n.n(z),j=n(12),U=n.n(j),X=n(16),ee=n(31),Z=n.n(ee),re=n(3),de={data:function(){return{hoverOption:-1}},computed:{optionsAllDisabled:function(){return this.options.filter(function(he){return he.visible}).every(function(he){return he.disabled})}},watch:{hoverIndex:function(he){var ie=this;typeof he=="number"&&he>-1&&(this.hoverOption=this.options[he]||{}),this.options.forEach(function(oe){oe.hover=ie.hoverOption===oe})}},methods:{navigateOptions:function(he){var ie=this;if(!this.visible){this.visible=!0;return}if(!(this.options.length===0||this.filteredOptionsCount===0)&&!this.optionsAllDisabled){he==="next"?(this.hoverIndex++,this.hoverIndex===this.options.length&&(this.hoverIndex=0)):he==="prev"&&(this.hoverIndex--,this.hoverIndex<0&&(this.hoverIndex=this.options.length-1));var oe=this.options[this.hoverIndex];(oe.disabled===!0||oe.groupDisabled===!0||!oe.visible)&&this.navigateOptions(he),this.$nextTick(function(){return ie.scrollToOption(ie.hoverOption)})}}}},ve=n(21),_e={mixins:[s.a,p.a,f()("reference"),de],name:"ElSelect",componentName:"ElSelect",inject:{elForm:{default:""},elFormItem:{default:""}},provide:function(){return{select:this}},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},readonly:function(){return!this.filterable||this.multiple||!Object(re.isIE)()&&!Object(re.isEdge)()&&!this.visible},showClose:function(){var he=this.multiple?Array.isArray(this.value)&&this.value.length>0:this.value!==void 0&&this.value!==null&&this.value!=="",ie=this.clearable&&!this.selectDisabled&&this.inputHovering&&he;return ie},iconClass:function(){return this.remote&&this.filterable?"":this.visible?"arrow-up is-reverse":"arrow-up"},debounce:function(){return this.remote?300:0},emptyText:function(){return this.loading?this.loadingText||this.t("el.select.loading"):this.remote&&this.query===""&&this.options.length===0?!1:this.filterable&&this.query&&this.options.length>0&&this.filteredOptionsCount===0?this.noMatchText||this.t("el.select.noMatch"):this.options.length===0?this.noDataText||this.t("el.select.noData"):null},showNewOption:function(){var he=this,ie=this.options.filter(function(oe){return!oe.created}).some(function(oe){return oe.currentLabel===he.query});return this.filterable&&this.allowCreate&&this.query!==""&&!ie},selectSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},selectDisabled:function(){return this.disabled||(this.elForm||{}).disabled},collapseTagSize:function(){return["small","mini"].indexOf(this.selectSize)>-1?"mini":"small"},propPlaceholder:function(){return typeof this.placeholder<"u"?this.placeholder:this.t("el.select.placeholder")}},components:{ElInput:v.a,ElSelectMenu:E,ElOption:I.a,ElTag:R.a,ElScrollbar:V.a},directives:{Clickoutside:U.a},props:{name:String,id:String,value:{required:!0},autocomplete:{type:String,default:"off"},autoComplete:{type:String,validator:function(he){return!0}},automaticDropdown:Boolean,size:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:String,remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String,required:!1},defaultFirstOption:Boolean,reserveKeyword:Boolean,valueKey:{type:String,default:"value"},collapseTags:Boolean,popperAppendToBody:{type:Boolean,default:!0}},data:function(){return{options:[],cachedOptions:[],createdLabel:null,createdSelected:!1,selected:this.multiple?[]:{},inputLength:20,inputWidth:0,initialInputHeight:0,cachedPlaceHolder:"",optionsCount:0,filteredOptionsCount:0,visible:!1,softFocus:!1,selectedLabel:"",hoverIndex:-1,query:"",previousQuery:null,inputHovering:!1,currentPlaceholder:"",menuVisibleOnFocus:!1,isOnComposition:!1,isSilentBlur:!1}},watch:{selectDisabled:function(){var he=this;this.$nextTick(function(){he.resetInputHeight()})},propPlaceholder:function(he){this.cachedPlaceHolder=this.currentPlaceholder=he},value:function(he,ie){this.multiple&&(this.resetInputHeight(),he&&he.length>0||this.$refs.input&&this.query!==""?this.currentPlaceholder="":this.currentPlaceholder=this.cachedPlaceHolder,this.filterable&&!this.reserveKeyword&&(this.query="",this.handleQueryChange(this.query))),this.setSelected(),this.filterable&&!this.multiple&&(this.inputLength=20),Object(re.valueEquals)(he,ie)||this.dispatch("ElFormItem","el.form.change",he)},visible:function(he){var ie=this;he?(this.broadcast("ElSelectDropdown","updatePopper"),this.filterable&&(this.query=this.remote?"":this.selectedLabel,this.handleQueryChange(this.query),this.multiple?this.$refs.input.focus():(this.remote||(this.broadcast("ElOption","queryChange",""),this.broadcast("ElOptionGroup","queryChange")),this.selectedLabel&&(this.currentPlaceholder=this.selectedLabel,this.selectedLabel="")))):(this.broadcast("ElSelectDropdown","destroyPopper"),this.$refs.input&&this.$refs.input.blur(),this.query="",this.previousQuery=null,this.selectedLabel="",this.inputLength=20,this.menuVisibleOnFocus=!1,this.resetHoverIndex(),this.$nextTick(function(){ie.$refs.input&&ie.$refs.input.value===""&&ie.selected.length===0&&(ie.currentPlaceholder=ie.cachedPlaceHolder)}),this.multiple||(this.selected&&(this.filterable&&this.allowCreate&&this.createdSelected&&this.createdLabel?this.selectedLabel=this.createdLabel:this.selectedLabel=this.selected.currentLabel,this.filterable&&(this.query=this.selectedLabel)),this.filterable&&(this.currentPlaceholder=this.cachedPlaceHolder))),this.$emit("visible-change",he)},options:function(){var he=this;if(!this.$isServer){this.$nextTick(function(){he.broadcast("ElSelectDropdown","updatePopper")}),this.multiple&&this.resetInputHeight();var ie=this.$el.querySelectorAll("input");[].indexOf.call(ie,document.activeElement)===-1&&this.setSelected(),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()}}},methods:{handleNavigate:function(he){this.isOnComposition||this.navigateOptions(he)},handleComposition:function(he){var ie=this,oe=he.target.value;if(he.type==="compositionend")this.isOnComposition=!1,this.$nextTick(function(Ne){return ie.handleQueryChange(oe)});else{var Fe=oe[oe.length-1]||"";this.isOnComposition=!Object(ve.isKorean)(Fe)}},handleQueryChange:function(he){var ie=this;if(!(this.previousQuery===he||this.isOnComposition)){if(this.previousQuery===null&&(typeof this.filterMethod=="function"||typeof this.remoteMethod=="function")){this.previousQuery=he;return}this.previousQuery=he,this.$nextTick(function(){ie.visible&&ie.broadcast("ElSelectDropdown","updatePopper")}),this.hoverIndex=-1,this.multiple&&this.filterable&&this.$nextTick(function(){var oe=ie.$refs.input.value.length*15+20;ie.inputLength=ie.collapseTags?Math.min(50,oe):oe,ie.managePlaceholder(),ie.resetInputHeight()}),this.remote&&typeof this.remoteMethod=="function"?(this.hoverIndex=-1,this.remoteMethod(he)):typeof this.filterMethod=="function"?(this.filterMethod(he),this.broadcast("ElOptionGroup","queryChange")):(this.filteredOptionsCount=this.optionsCount,this.broadcast("ElOption","queryChange",he),this.broadcast("ElOptionGroup","queryChange")),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()}},scrollToOption:function(he){var ie=Array.isArray(he)&&he[0]?he[0].$el:he.$el;if(this.$refs.popper&&ie){var oe=this.$refs.popper.$el.querySelector(".el-select-dropdown__wrap");Z()(oe,ie)}this.$refs.scrollbar&&this.$refs.scrollbar.handleScroll()},handleMenuEnter:function(){var he=this;this.$nextTick(function(){return he.scrollToOption(he.selected)})},emitChange:function(he){Object(re.valueEquals)(this.value,he)||this.$emit("change",he)},getOption:function(he){for(var ie=void 0,oe=Object.prototype.toString.call(he).toLowerCase()==="[object object]",Fe=Object.prototype.toString.call(he).toLowerCase()==="[object null]",Ne=Object.prototype.toString.call(he).toLowerCase()==="[object undefined]",We=this.cachedOptions.length-1;We>=0;We--){var St=this.cachedOptions[We],ut=oe?Object(re.getValueByPath)(St.value,this.valueKey)===Object(re.getValueByPath)(he,this.valueKey):St.value===he;if(ut){ie=St;break}}if(ie)return ie;var kt=!oe&&!Fe&&!Ne?String(he):"",$t={value:he,currentLabel:kt};return this.multiple&&($t.hitState=!1),$t},setSelected:function(){var he=this;if(!this.multiple){var ie=this.getOption(this.value);ie.created?(this.createdLabel=ie.currentLabel,this.createdSelected=!0):this.createdSelected=!1,this.selectedLabel=ie.currentLabel,this.selected=ie,this.filterable&&(this.query=this.selectedLabel);return}var oe=[];Array.isArray(this.value)&&this.value.forEach(function(Fe){oe.push(he.getOption(Fe))}),this.selected=oe,this.$nextTick(function(){he.resetInputHeight()})},handleFocus:function(he){this.softFocus?this.softFocus=!1:((this.automaticDropdown||this.filterable)&&(this.filterable&&!this.visible&&(this.menuVisibleOnFocus=!0),this.visible=!0),this.$emit("focus",he))},blur:function(){this.visible=!1,this.$refs.reference.blur()},handleBlur:function(he){var ie=this;setTimeout(function(){ie.isSilentBlur?ie.isSilentBlur=!1:ie.$emit("blur",he)},50),this.softFocus=!1},handleClearClick:function(he){this.deleteSelected(he)},doDestroy:function(){this.$refs.popper&&this.$refs.popper.doDestroy()},handleClose:function(){this.visible=!1},toggleLastOptionHitState:function(he){if(Array.isArray(this.selected)){var ie=this.selected[this.selected.length-1];if(ie)return he===!0||he===!1?(ie.hitState=he,he):(ie.hitState=!ie.hitState,ie.hitState)}},deletePrevTag:function(he){if(he.target.value.length<=0&&!this.toggleLastOptionHitState()){var ie=this.value.slice();ie.pop(),this.$emit("input",ie),this.emitChange(ie)}},managePlaceholder:function(){this.currentPlaceholder!==""&&(this.currentPlaceholder=this.$refs.input.value?"":this.cachedPlaceHolder)},resetInputState:function(he){he.keyCode!==8&&this.toggleLastOptionHitState(!1),this.inputLength=this.$refs.input.value.length*15+20,this.resetInputHeight()},resetInputHeight:function(){var he=this;this.collapseTags&&!this.filterable||this.$nextTick(function(){if(he.$refs.reference){var ie=he.$refs.reference.$el.childNodes,oe=[].filter.call(ie,function(St){return St.tagName==="INPUT"})[0],Fe=he.$refs.tags,Ne=Fe?Math.round(Fe.getBoundingClientRect().height):0,We=he.initialInputHeight||40;oe.style.height=he.selected.length===0?We+"px":Math.max(Fe?Ne+(Ne>We?6:0):0,We)+"px",he.visible&&he.emptyText!==!1&&he.broadcast("ElSelectDropdown","updatePopper")}})},resetHoverIndex:function(){var he=this;setTimeout(function(){he.multiple?he.selected.length>0?he.hoverIndex=Math.min.apply(null,he.selected.map(function(ie){return he.options.indexOf(ie)})):he.hoverIndex=-1:he.hoverIndex=he.options.indexOf(he.selected)},300)},handleOptionSelect:function(he,ie){var oe=this;if(this.multiple){var Fe=(this.value||[]).slice(),Ne=this.getValueIndex(Fe,he.value);Ne>-1?Fe.splice(Ne,1):(this.multipleLimit<=0||Fe.length0&&arguments[0]!==void 0?arguments[0]:[],ie=arguments[1],oe=Object.prototype.toString.call(ie).toLowerCase()==="[object object]";if(oe){var Fe=this.valueKey,Ne=-1;return he.some(function(We,St){return Object(re.getValueByPath)(We,Fe)===Object(re.getValueByPath)(ie,Fe)?(Ne=St,!0):!1}),Ne}else return he.indexOf(ie)},toggleMenu:function(){this.selectDisabled||(this.menuVisibleOnFocus?this.menuVisibleOnFocus=!1:this.visible=!this.visible,this.visible&&(this.$refs.input||this.$refs.reference).focus())},selectOption:function(){this.visible?this.options[this.hoverIndex]&&this.handleOptionSelect(this.options[this.hoverIndex]):this.toggleMenu()},deleteSelected:function(he){he.stopPropagation();var ie=this.multiple?[]:"";this.$emit("input",ie),this.emitChange(ie),this.visible=!1,this.$emit("clear")},deleteTag:function(he,ie){var oe=this.selected.indexOf(ie);if(oe>-1&&!this.selectDisabled){var Fe=this.value.slice();Fe.splice(oe,1),this.$emit("input",Fe),this.emitChange(Fe),this.$emit("remove-tag",ie.value)}he.stopPropagation()},onInputChange:function(){this.filterable&&this.query!==this.selectedLabel&&(this.query=this.selectedLabel,this.handleQueryChange(this.query))},onOptionDestroy:function(he){he>-1&&(this.optionsCount--,this.filteredOptionsCount--,this.options.splice(he,1))},resetInputWidth:function(){this.inputWidth=this.$refs.reference.$el.getBoundingClientRect().width},handleResize:function(){this.resetInputWidth(),this.multiple&&this.resetInputHeight()},checkDefaultFirstOption:function(){this.hoverIndex=-1;for(var he=!1,ie=this.options.length-1;ie>=0;ie--)if(this.options[ie].created){he=!0,this.hoverIndex=ie;break}if(!he)for(var oe=0;oe!==this.options.length;++oe){var Fe=this.options[oe];if(this.query){if(!Fe.disabled&&!Fe.groupDisabled&&Fe.visible){this.hoverIndex=oe;break}}else if(Fe.itemSelected){this.hoverIndex=oe;break}}},getValueKey:function(he){return Object.prototype.toString.call(he.value).toLowerCase()!=="[object object]"?he.value:Object(re.getValueByPath)(he.value,this.valueKey)}},created:function(){var he=this;this.cachedPlaceHolder=this.currentPlaceholder=this.propPlaceholder,this.multiple&&!Array.isArray(this.value)&&this.$emit("input",[]),!this.multiple&&Array.isArray(this.value)&&this.$emit("input",""),this.debouncedOnInputChange=B()(this.debounce,function(){he.onInputChange()}),this.debouncedQueryChange=B()(this.debounce,function(ie){he.handleQueryChange(ie.target.value)}),this.$on("handleOptionClick",this.handleOptionSelect),this.$on("setSelected",this.setSelected)},mounted:function(){var he=this;this.multiple&&Array.isArray(this.value)&&this.value.length>0&&(this.currentPlaceholder=""),Object(X.addResizeListener)(this.$el,this.handleResize);var ie=this.$refs.reference;if(ie&&ie.$el){var oe={medium:36,small:32,mini:28},Fe=ie.$el.querySelector("input");this.initialInputHeight=Fe.getBoundingClientRect().height||oe[this.selectSize]}this.remote&&this.multiple&&this.resetInputHeight(),this.$nextTick(function(){ie&&ie.$el&&(he.inputWidth=ie.$el.getBoundingClientRect().width)}),this.setSelected()},beforeDestroy:function(){this.$el&&this.handleResize&&Object(X.removeResizeListener)(this.$el,this.handleResize)}},Re=_e,Le=Object(k.a)(Re,i,a,!1,null,null,null);Le.options.__file="packages/select/src/select.vue";var je=Le.exports;je.install=function(Q){Q.component(je.name,je)},t.default=je}})}(bL)),bL.exports}var xL={exports:{}},Q6;function iEe(){return Q6||(Q6=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=54)}({0:function(e,t,n){n.d(t,"a",function(){return i});function i(a,o,s,u,f,h,p,g){var v=typeof a=="function"?a.options:a;o&&(v.render=o,v.staticRenderFns=s,v._compiled=!0),u&&(v.functional=!0),h&&(v._scopeId="data-v-"+h);var m;if(p?(m=function(S){S=S||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!S&&typeof __VUE_SSR_CONTEXT__<"u"&&(S=__VUE_SSR_CONTEXT__),f&&f.call(this,S),S&&S._registeredComponents&&S._registeredComponents.add(p)},v._ssrRegister=m):f&&(m=g?function(){f.call(this,this.$root.$options.shadowRoot)}:f),m)if(v.functional){v._injectStyles=m;var b=v.render;v.render=function(C,w){return m.call(w),b(C,w)}}else{var _=v.beforeCreate;v.beforeCreate=_?[].concat(_,m):[m]}return{exports:a,options:v}}},3:function(e,t){e.exports=mo()},33:function(e,t,n){var i=function(){var m=this,b=m.$createElement,_=m._self._c||b;return _("li",{directives:[{name:"show",rawName:"v-show",value:m.visible,expression:"visible"}],staticClass:"el-select-dropdown__item",class:{selected:m.itemSelected,"is-disabled":m.disabled||m.groupDisabled||m.limitReached,hover:m.hover},on:{mouseenter:m.hoverItem,click:function(S){return S.stopPropagation(),m.selectOptionClick(S)}}},[m._t("default",[_("span",[m._v(m._s(m.currentLabel))])])],2)},a=[];i._withStripped=!0;var o=n(4),s=n.n(o),u=n(3),f=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},h={mixins:[s.a],name:"ElOption",componentName:"ElOption",inject:["select"],props:{value:{required:!0},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:!1}},data:function(){return{index:-1,groupDisabled:!1,visible:!0,hitState:!1,hover:!1}},computed:{isObject:function(){return Object.prototype.toString.call(this.value).toLowerCase()==="[object object]"},currentLabel:function(){return this.label||(this.isObject?"":this.value)},currentValue:function(){return this.value||this.label||""},itemSelected:function(){return this.select.multiple?this.contains(this.select.value,this.value):this.isEqual(this.value,this.select.value)},limitReached:function(){return this.select.multiple?!this.itemSelected&&(this.select.value||[]).length>=this.select.multipleLimit&&this.select.multipleLimit>0:!1}},watch:{currentLabel:function(){!this.created&&!this.select.remote&&this.dispatch("ElSelect","setSelected")},value:function(b,_){var S=this.select,C=S.remote,w=S.valueKey;if(!this.created&&!C){if(w&&(typeof b>"u"?"undefined":f(b))==="object"&&(typeof _>"u"?"undefined":f(_))==="object"&&b[w]===_[w])return;this.dispatch("ElSelect","setSelected")}}},methods:{isEqual:function(b,_){if(this.isObject){var S=this.select.valueKey;return Object(u.getValueByPath)(b,S)===Object(u.getValueByPath)(_,S)}else return b===_},contains:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],_=arguments[1];if(this.isObject){var S=this.select.valueKey;return b&&b.some(function(C){return Object(u.getValueByPath)(C,S)===Object(u.getValueByPath)(_,S)})}else return b&&b.indexOf(_)>-1},handleGroupDisabled:function(b){this.groupDisabled=b},hoverItem:function(){!this.disabled&&!this.groupDisabled&&(this.select.hoverIndex=this.select.options.indexOf(this))},selectOptionClick:function(){this.disabled!==!0&&this.groupDisabled!==!0&&this.dispatch("ElSelect","handleOptionClick",[this,!0])},queryChange:function(b){this.visible=new RegExp(Object(u.escapeRegexpString)(b),"i").test(this.currentLabel)||this.created,this.visible||this.select.filteredOptionsCount--}},created:function(){this.select.options.push(this),this.select.cachedOptions.push(this),this.select.optionsCount++,this.select.filteredOptionsCount++,this.$on("queryChange",this.queryChange),this.$on("handleGroupDisabled",this.handleGroupDisabled)},beforeDestroy:function(){var b=this.select,_=b.selected,S=b.multiple,C=S?_:[_],w=this.select.cachedOptions.indexOf(this),k=C.indexOf(this);w>-1&&k<0&&this.select.cachedOptions.splice(w,1),this.select.onOptionDestroy(this.select.options.indexOf(this))}},p=h,g=n(0),v=Object(g.a)(p,i,a,!1,null,null,null);v.options.__file="packages/select/src/option.vue",t.a=v.exports},4:function(e,t){e.exports=Yf()},54:function(e,t,n){n.r(t);var i=n(33);i.a.install=function(a){a.component(i.a.name,i.a)},t.default=i.a}})}(xL)),xL.exports}var SL,J6;function aEe(){if(J6)return SL;J6=1;var r=!1,e,t,n,i,a,o,s,u,f,h,p,g,v,m,b;function _(){if(!r){r=!0;var C=navigator.userAgent,w=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(C),k=/(Mac OS X)|(Windows)|(Linux)/.exec(C);if(g=/\b(iPhone|iP[ao]d)/.exec(C),v=/\b(iP[ao]d)/.exec(C),h=/Android/i.exec(C),m=/FBAN\/\w+;/i.exec(C),b=/Mobile/i.exec(C),p=!!/Win64/.exec(C),w){e=w[1]?parseFloat(w[1]):w[5]?parseFloat(w[5]):NaN,e&&document&&document.documentMode&&(e=document.documentMode);var M=/(?:Trident\/(\d+.\d+))/.exec(C);o=M?parseFloat(M[1])+4:e,t=w[2]?parseFloat(w[2]):NaN,n=w[3]?parseFloat(w[3]):NaN,i=w[4]?parseFloat(w[4]):NaN,i?(w=/(?:Chrome\/(\d+\.\d+))/.exec(C),a=w&&w[1]?parseFloat(w[1]):NaN):a=NaN}else e=t=n=a=i=NaN;if(k){if(k[1]){var E=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(C);s=E?parseFloat(E[1].replace("_",".")):!0}else s=!1;u=!!k[2],f=!!k[3]}else s=u=f=!1}}var S={ie:function(){return _()||e},ieCompatibilityMode:function(){return _()||o>e},ie64:function(){return S.ie()&&p},firefox:function(){return _()||t},opera:function(){return _()||n},webkit:function(){return _()||i},safari:function(){return S.webkit()},chrome:function(){return _()||a},windows:function(){return _()||u},osx:function(){return _()||s},linux:function(){return _()||f},iphone:function(){return _()||g},mobile:function(){return _()||g||v||h||b},nativeApp:function(){return _()||m},android:function(){return _()||h},ipad:function(){return _()||v}};return SL=S,SL}var wL,e8;function oEe(){if(e8)return wL;e8=1;var r=!!(typeof window<"u"&&window.document&&window.document.createElement),e={canUseDOM:r,canUseWorkers:typeof Worker<"u",canUseEventListeners:r&&!!(window.addEventListener||window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};return wL=e,wL}var CL,t8;function sEe(){if(t8)return CL;t8=1;var r=oEe(),e;r.canUseDOM&&(e=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);/** - * Checks if an event is supported in the current execution environment. - * - * NOTE: This will not work correctly for non-generic events such as `change`, - * `reset`, `load`, `error`, and `select`. - * - * Borrows from Modernizr. - * - * @param {string} eventNameSuffix Event name, e.g. "click". - * @param {?boolean} capture Check if the capture phase is supported. - * @return {boolean} True if the event is supported. - * @internal - * @license Modernizr 3.0.0pre (Custom Build) | MIT - */function t(n,i){if(!r.canUseDOM||i&&!("addEventListener"in document))return!1;var a="on"+n,o=a in document;if(!o){var s=document.createElement("div");s.setAttribute(a,"return;"),o=typeof s[a]=="function"}return!o&&e&&n==="wheel"&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}return CL=t,CL}var TL,r8;function lEe(){if(r8)return TL;r8=1;var r=aEe(),e=sEe(),t=10,n=40,i=800;function a(o){var s=0,u=0,f=0,h=0;return"detail"in o&&(u=o.detail),"wheelDelta"in o&&(u=-o.wheelDelta/120),"wheelDeltaY"in o&&(u=-o.wheelDeltaY/120),"wheelDeltaX"in o&&(s=-o.wheelDeltaX/120),"axis"in o&&o.axis===o.HORIZONTAL_AXIS&&(s=u,u=0),f=s*t,h=u*t,"deltaY"in o&&(h=o.deltaY),"deltaX"in o&&(f=o.deltaX),(f||h)&&o.deltaMode&&(o.deltaMode==1?(f*=n,h*=n):(f*=i,h*=i)),f&&!s&&(s=f<1?-1:1),h&&!u&&(u=h<1?-1:1),{spinX:s,spinY:u,pixelX:f,pixelY:h}}return a.getEventType=function(){return r.firefox()?"DOMMouseScroll":e("wheel")?"wheel":"mousewheel"},TL=a,TL}var DL,n8;function uEe(){return n8||(n8=1,DL=lEe()),DL}var sC={},i8;function cEe(){if(i8)return sC;i8=1,sC.__esModule=!0;var r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},e=b$(),t=n(e);function n(o){return o&&o.__esModule?o:{default:o}}var i=i||{},a;return i.Dialog=function(o,s,u){var f=this;if(this.dialogNode=o,this.dialogNode===null||this.dialogNode.getAttribute("role")!=="dialog")throw new Error("Dialog() requires a DOM element with ARIA role of dialog.");typeof s=="string"?this.focusAfterClosed=document.getElementById(s):(typeof s>"u"?"undefined":r(s))==="object"?this.focusAfterClosed=s:this.focusAfterClosed=null,typeof u=="string"?this.focusFirst=document.getElementById(u):(typeof u>"u"?"undefined":r(u))==="object"?this.focusFirst=u:this.focusFirst=null,this.focusFirst?this.focusFirst.focus():t.default.focusFirstDescendant(this.dialogNode),this.lastFocus=document.activeElement,a=function(p){f.trapFocus(p)},this.addListeners()},i.Dialog.prototype.addListeners=function(){document.addEventListener("focus",a,!0)},i.Dialog.prototype.removeListeners=function(){document.removeEventListener("focus",a,!0)},i.Dialog.prototype.closeDialog=function(){var o=this;this.removeListeners(),this.focusAfterClosed&&setTimeout(function(){o.focusAfterClosed.focus()})},i.Dialog.prototype.trapFocus=function(o){t.default.IgnoreUtilFocusChanges||(this.dialogNode.contains(o.target)?this.lastFocus=o.target:(t.default.focusFirstDescendant(this.dialogNode),this.lastFocus===document.activeElement&&t.default.focusLastDescendant(this.dialogNode),this.lastFocus=document.activeElement))},sC.default=i.Dialog,sC}var RQ={exports:{}},fEe=RQ.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=fEe);var qf=RQ.exports,NQ={exports:{}},hEe=NQ.exports={version:"2.6.12"};typeof __e=="number"&&(__e=hEe);var T_=NQ.exports,dEe=function(r){if(typeof r!="function")throw TypeError(r+" is not a function!");return r},pEe=dEe,vEe=function(r,e,t){if(pEe(r),e===void 0)return r;switch(t){case 1:return function(n){return r.call(e,n)};case 2:return function(n,i){return r.call(e,n,i)};case 3:return function(n,i,a){return r.call(e,n,i,a)}}return function(){return r.apply(e,arguments)}},Kf={},D_=function(r){return typeof r=="object"?r!==null:typeof r=="function"},gEe=D_,bD=function(r){if(!gEe(r))throw TypeError(r+" is not an object!");return r},k_=function(r){try{return!!r()}catch{return!0}},Xf=!k_(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7}),kL,a8;function FQ(){if(a8)return kL;a8=1;var r=D_,e=qf.document,t=r(e)&&r(e.createElement);return kL=function(n){return t?e.createElement(n):{}},kL}var $Q=!Xf&&!k_(function(){return Object.defineProperty(FQ()("div"),"a",{get:function(){return 7}}).a!=7}),lC=D_,x$=function(r,e){if(!lC(r))return r;var t,n;if(e&&typeof(t=r.toString)=="function"&&!lC(n=t.call(r))||typeof(t=r.valueOf)=="function"&&!lC(n=t.call(r))||!e&&typeof(t=r.toString)=="function"&&!lC(n=t.call(r)))return n;throw TypeError("Can't convert object to primitive value")},o8=bD,mEe=$Q,yEe=x$,_Ee=Object.defineProperty;Kf.f=Xf?Object.defineProperty:function(e,t,n){if(o8(e),t=yEe(t,!0),o8(n),mEe)try{return _Ee(e,t,n)}catch{}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e};var xD=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}},bEe=Kf,xEe=xD,Qp=Xf?function(r,e,t){return bEe.f(r,e,xEe(1,t))}:function(r,e,t){return r[e]=t,r},SEe={}.hasOwnProperty,Zf=function(r,e){return SEe.call(r,e)},uC=qf,ML=T_,s8=vEe,wEe=Qp,CEe=Zf,cC="prototype",zn=function(r,e,t){var n=r&zn.F,i=r&zn.G,a=r&zn.S,o=r&zn.P,s=r&zn.B,u=r&zn.W,f=i?ML:ML[e]||(ML[e]={}),h=f[cC],p=i?uC:a?uC[e]:(uC[e]||{})[cC],g,v,m;i&&(t=e);for(g in t)v=!n&&p&&p[g]!==void 0,!(v&&CEe(f,g))&&(m=v?p[g]:t[g],f[g]=i&&typeof p[g]!="function"?t[g]:s&&v?s8(m,uC):u&&p[g]==m?function(b){var _=function(S,C,w){if(this instanceof b){switch(arguments.length){case 0:return new b;case 1:return new b(S);case 2:return new b(S,C)}return new b(S,C,w)}return b.apply(this,arguments)};return _[cC]=b[cC],_}(m):o&&typeof m=="function"?s8(Function.call,m):m,o&&((f.virtual||(f.virtual={}))[g]=m,r&zn.R&&h&&!h[g]&&wEe(h,g,m)))};zn.F=1;zn.G=2;zn.S=4;zn.P=8;zn.B=16;zn.W=32;zn.U=64;zn.R=128;var S$=zn,TEe={}.toString,BQ=function(r){return TEe.call(r).slice(8,-1)},DEe=BQ,zQ=Object("z").propertyIsEnumerable(0)?Object:function(r){return DEe(r)=="String"?r.split(""):Object(r)},w$=function(r){if(r==null)throw TypeError("Can't call method on "+r);return r},kEe=zQ,MEe=w$,Jp=function(r){return kEe(MEe(r))},AEe=Math.ceil,EEe=Math.floor,C$=function(r){return isNaN(r=+r)?0:(r>0?EEe:AEe)(r)},IEe=C$,PEe=Math.min,LEe=function(r){return r>0?PEe(IEe(r),9007199254740991):0},OEe=C$,REe=Math.max,NEe=Math.min,FEe=function(r,e){return r=OEe(r),r<0?REe(r+e,0):NEe(r,e)},$Ee=Jp,BEe=LEe,zEe=FEe,VEe=function(r){return function(e,t,n){var i=$Ee(e),a=BEe(i.length),o=zEe(n,a),s;if(r&&t!=t){for(;a>o;)if(s=i[o++],s!=s)return!0}else for(;a>o;o++)if((r||o in i)&&i[o]===t)return r||o||0;return!r&&-1}},VQ={exports:{}},HEe=T_,l8=qf,u8="__core-js_shared__",c8=l8[u8]||(l8[u8]={});(VQ.exports=function(r,e){return c8[r]||(c8[r]=e!==void 0?e:{})})("versions",[]).push({version:HEe.version,mode:"pure",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"});var T$=VQ.exports,jEe=0,WEe=Math.random(),SD=function(r){return"Symbol(".concat(r===void 0?"":r,")_",(++jEe+WEe).toString(36))},f8=T$("keys"),GEe=SD,D$=function(r){return f8[r]||(f8[r]=GEe(r))},h8=Zf,UEe=Jp,YEe=VEe(!1),qEe=D$("IE_PROTO"),HQ=function(r,e){var t=UEe(r),n=0,i=[],a;for(a in t)a!=qEe&&h8(t,a)&&i.push(a);for(;e.length>n;)h8(t,a=e[n++])&&(~YEe(i,a)||i.push(a));return i},k$="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),KEe=HQ,XEe=k$,wD=Object.keys||function(e){return KEe(e,XEe)},CD={};CD.f=Object.getOwnPropertySymbols;var M_={};M_.f={}.propertyIsEnumerable;var ZEe=w$,M$=function(r){return Object(ZEe(r))},AL,d8;function QEe(){if(d8)return AL;d8=1;var r=Xf,e=wD,t=CD,n=M_,i=M$,a=zQ,o=Object.assign;return AL=!o||k_(function(){var s={},u={},f=Symbol(),h="abcdefghijklmnopqrst";return s[f]=7,h.split("").forEach(function(p){u[p]=p}),o({},s)[f]!=7||Object.keys(o({},u)).join("")!=h})?function(u,f){for(var h=i(u),p=arguments.length,g=1,v=t.f,m=n.f;p>g;)for(var b=a(arguments[g++]),_=v?e(b).concat(v(b)):e(b),S=_.length,C=0,w;S>C;)w=_[C++],(!r||m.call(b,w))&&(h[w]=b[w]);return h}:o,AL}var EL=S$;EL(EL.S+EL.F,"Object",{assign:QEe()});var JEe=T_.Object.assign,eIe={default:JEe,__esModule:!0},tIe=eIe,rIe=nIe(tIe);function nIe(r){return r&&r.__esModule?r:{default:r}}var Wm=rIe.default||function(r){for(var e=1;e=a?r?"":void 0:(o=n.charCodeAt(i),o<55296||o>56319||i+1===a||(s=n.charCodeAt(i+1))<56320||s>57343?r?n.charAt(i):o:r?n.slice(i,i+2):(o-55296<<10)+(s-56320)+65536)}},jQ=Qp,A$={},sIe=Kf,lIe=bD,uIe=wD,cIe=Xf?Object.defineProperties:function(e,t){lIe(e);for(var n=uIe(t),i=n.length,a=0,o;i>a;)sIe.f(e,o=n[a++],t[o]);return e},IL,p8;function fIe(){if(p8)return IL;p8=1;var r=qf.document;return IL=r&&r.documentElement,IL}var hIe=bD,dIe=cIe,v8=k$,pIe=D$("IE_PROTO"),PL=function(){},gR="prototype",KC=function(){var r=FQ()("iframe"),e=v8.length,t="<",n=">",i;for(r.style.display="none",fIe().appendChild(r),r.src="javascript:",i=r.contentWindow.document,i.open(),i.write(t+"script"+n+"document.F=Object"+t+"/script"+n),i.close(),KC=i.F;e--;)delete KC[gR][v8[e]];return KC()},WQ=Object.create||function(e,t){var n;return e!==null?(PL[gR]=hIe(e),n=new PL,PL[gR]=null,n[pIe]=e):n=KC(),t===void 0?n:dIe(n,t)},GQ={exports:{}},mR=T$("wks"),vIe=SD,yR=qf.Symbol,g8=typeof yR=="function",gIe=GQ.exports=function(r){return mR[r]||(mR[r]=g8&&yR[r]||(g8?yR:vIe)("Symbol."+r))};gIe.store=mR;var ev=GQ.exports,mIe=Kf.f,yIe=Zf,m8=ev("toStringTag"),E$=function(r,e,t){r&&!yIe(r=t?r:r.prototype,m8)&&mIe(r,m8,{configurable:!0,value:e})},_Ie=WQ,bIe=xD,xIe=E$,UQ={};Qp(UQ,ev("iterator"),function(){return this});var SIe=function(r,e,t){r.prototype=_Ie(UQ,{next:bIe(1,t)}),xIe(r,e+" Iterator")},wIe=Zf,CIe=M$,y8=D$("IE_PROTO"),TIe=Object.prototype,DIe=Object.getPrototypeOf||function(r){return r=CIe(r),wIe(r,y8)?r[y8]:typeof r.constructor=="function"&&r instanceof r.constructor?r.constructor.prototype:r instanceof Object?TIe:null},LL=S$,kIe=jQ,MIe=Qp,_8=A$,AIe=SIe,EIe=E$,IIe=DIe,OL=ev("iterator"),RL=!([].keys&&"next"in[].keys()),PIe="@@iterator",b8="keys",fC="values",LIe=function(){return this},YQ=function(r,e,t,n,i,a,o){AIe(t,e,n);var s=function(w){if(!RL&&w in p)return p[w];switch(w){case b8:return function(){return new t(this,w)};case fC:return function(){return new t(this,w)}}return function(){return new t(this,w)}},u=e+" Iterator",f=i==fC,h=!1,p=r.prototype,g=p[OL]||p[PIe]||i&&p[i],v=g||s(i),m=i?f?s("entries"):v:void 0,b=e=="Array"&&p.entries||g,_,S,C;if(b&&(C=IIe(b.call(new r)),C!==Object.prototype&&C.next&&EIe(C,u,!0)),f&&g&&g.name!==fC&&(h=!0,v=function(){return g.call(this)}),o&&(RL||h||!p[OL])&&MIe(p,OL,v),_8[e]=v,_8[u]=LIe,i)if(_={values:f?v:s(fC),keys:a?v:s(b8),entries:m},o)for(S in _)S in p||kIe(p,S,_[S]);else LL(LL.P+LL.F*(RL||h),e,_);return _},OIe=oIe(!0);YQ(String,"String",function(r){this._t=String(r),this._i=0},function(){var r=this._t,e=this._i,t;return e>=r.length?{value:void 0,done:!0}:(t=OIe(r,e),this._i+=t.length,{value:t,done:!1})});var RIe=function(r,e){return{value:e,done:!!r}},hC=RIe,x8=A$,NIe=Jp;YQ(Array,"Array",function(r,e){this._t=NIe(r),this._i=0,this._k=e},function(){var r=this._t,e=this._k,t=this._i++;return!r||t>=r.length?(this._t=void 0,hC(1)):e=="keys"?hC(0,t):e=="values"?hC(0,r[t]):hC(0,[t,r[t]])},"values");x8.Arguments=x8.Array;var FIe=qf,$Ie=Qp,S8=A$,w8=ev("toStringTag"),C8="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(",");for(var NL=0;NLa;)i.call(r,o=n[a++])&&e.push(o);return e},rPe=BQ,nPe=Array.isArray||function(e){return rPe(e)=="Array"},KQ={},O$={},iPe=HQ,aPe=k$.concat("length","prototype");O$.f=Object.getOwnPropertyNames||function(e){return iPe(e,aPe)};var oPe=Jp,XQ=O$.f,sPe={}.toString,ZQ=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],lPe=function(r){try{return XQ(r)}catch{return ZQ.slice()}};KQ.f=function(e){return ZQ&&sPe.call(e)=="[object Window]"?lPe(e):XQ(oPe(e))};var QQ={},uPe=M_,cPe=xD,fPe=Jp,hPe=x$,dPe=Zf,pPe=$Q,k8=Object.getOwnPropertyDescriptor;QQ.f=Xf?k8:function(e,t){if(e=fPe(e),t=hPe(t,!0),pPe)try{return k8(e,t)}catch{}if(dPe(e,t))return cPe(!uPe.f.call(e,t),e[t])};var kD=qf,gn=Zf,JQ=Xf,jn=S$,vPe=jQ,gPe=KIe.KEY,R$=k_,N$=T$,F$=E$,mPe=SD,A_=ev,yPe=TD,_Pe=L$,bPe=tPe,xPe=nPe,_R=bD,SPe=D_,wPe=M$,MD=Jp,$$=x$,bR=xD,Uy=WQ,eJ=KQ,tJ=QQ,AD=CD,rJ=Kf,CPe=wD,nJ=tJ.f,Zc=rJ.f,iJ=eJ.f,Bi=kD.Symbol,hT=kD.JSON,dC=hT&&hT.stringify,iu="prototype",Ri=A_("_hidden"),M8=A_("toPrimitive"),TPe={}.propertyIsEnumerable,Mm=N$("symbol-registry"),Us=N$("symbols"),E_=N$("op-symbols"),ao=Object[iu],tv=typeof Bi=="function"&&!!AD.f,BL=kD.QObject,xR=!BL||!BL[iu]||!BL[iu].findChild,SR=JQ&&R$(function(){return Uy(Zc({},"a",{get:function(){return Zc(this,"a",{value:7}).a}})).a!=7})?function(r,e,t){var n=nJ(ao,e);n&&delete ao[e],Zc(r,e,t),n&&r!==ao&&Zc(ao,e,n)}:Zc,A8=function(r){var e=Us[r]=Uy(Bi[iu]);return e._k=r,e},wR=tv&&typeof Bi.iterator=="symbol"?function(r){return typeof r=="symbol"}:function(r){return r instanceof Bi},ED=function(e,t,n){return e===ao&&ED(E_,t,n),_R(e),t=$$(t,!0),_R(n),gn(Us,t)?(n.enumerable?(gn(e,Ri)&&e[Ri][t]&&(e[Ri][t]=!1),n=Uy(n,{enumerable:bR(0,!1)})):(gn(e,Ri)||Zc(e,Ri,bR(1,{})),e[Ri][t]=!0),SR(e,t,n)):Zc(e,t,n)},aJ=function(e,t){_R(e);for(var n=bPe(t=MD(t)),i=0,a=n.length,o;a>i;)ED(e,o=n[i++],t[o]);return e},DPe=function(e,t){return t===void 0?Uy(e):aJ(Uy(e),t)},kPe=function(e){var t=TPe.call(this,e=$$(e,!0));return this===ao&&gn(Us,e)&&!gn(E_,e)?!1:t||!gn(this,e)||!gn(Us,e)||gn(this,Ri)&&this[Ri][e]?t:!0},oJ=function(e,t){if(e=MD(e),t=$$(t,!0),!(e===ao&&gn(Us,t)&&!gn(E_,t))){var n=nJ(e,t);return n&&gn(Us,t)&&!(gn(e,Ri)&&e[Ri][t])&&(n.enumerable=!0),n}},sJ=function(e){for(var t=iJ(MD(e)),n=[],i=0,a;t.length>i;)!gn(Us,a=t[i++])&&a!=Ri&&a!=gPe&&n.push(a);return n},lJ=function(e){for(var t=e===ao,n=iJ(t?E_:MD(e)),i=[],a=0,o;n.length>a;)gn(Us,o=n[a++])&&(!t||gn(ao,o))&&i.push(Us[o]);return i};tv||(Bi=function(){if(this instanceof Bi)throw TypeError("Symbol is not a constructor!");var e=mPe(arguments.length>0?arguments[0]:void 0),t=function(n){this===ao&&t.call(E_,n),gn(this,Ri)&&gn(this[Ri],e)&&(this[Ri][e]=!1),SR(this,e,bR(1,n))};return JQ&&xR&&SR(ao,e,{configurable:!0,set:t}),A8(e)},vPe(Bi[iu],"toString",function(){return this._k}),tJ.f=oJ,rJ.f=ED,O$.f=eJ.f=sJ,M_.f=kPe,AD.f=lJ,yPe.f=function(r){return A8(A_(r))});jn(jn.G+jn.W+jn.F*!tv,{Symbol:Bi});for(var E8="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),I8=0;E8.length>I8;)A_(E8[I8++]);for(var P8=CPe(A_.store),L8=0;P8.length>L8;)_Pe(P8[L8++]);jn(jn.S+jn.F*!tv,"Symbol",{for:function(r){return gn(Mm,r+="")?Mm[r]:Mm[r]=Bi(r)},keyFor:function(e){if(!wR(e))throw TypeError(e+" is not a symbol!");for(var t in Mm)if(Mm[t]===e)return t},useSetter:function(){xR=!0},useSimple:function(){xR=!1}});jn(jn.S+jn.F*!tv,"Object",{create:DPe,defineProperty:ED,defineProperties:aJ,getOwnPropertyDescriptor:oJ,getOwnPropertyNames:sJ,getOwnPropertySymbols:lJ});var MPe=R$(function(){AD.f(1)});jn(jn.S+jn.F*MPe,"Object",{getOwnPropertySymbols:function(e){return AD.f(wPe(e))}});hT&&jn(jn.S+jn.F*(!tv||R$(function(){var r=Bi();return dC([r])!="[null]"||dC({a:r})!="{}"||dC(Object(r))!="{}"})),"JSON",{stringify:function(e){for(var t=[e],n=1,i,a;arguments.length>n;)t.push(arguments[n++]);if(a=i=t[1],!(!SPe(i)&&e===void 0||wR(e)))return xPe(i)||(i=function(o,s){if(typeof a=="function"&&(s=a.call(this,o,s)),!wR(s))return s}),t[1]=i,dC.apply(hT,t)}});Bi[iu][M8]||Qp(Bi[iu],M8,Bi[iu].valueOf);F$(Bi,"Symbol");F$(Math,"Math",!0);F$(kD.JSON,"JSON",!0);L$("asyncIterator");L$("observable");var APe=T_.Symbol,EPe={default:APe,__esModule:!0},IPe=zIe,uJ=cJ(IPe),PPe=EPe,Xl=cJ(PPe),zL=typeof Xl.default=="function"&&typeof uJ.default=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Xl.default=="function"&&r.constructor===Xl.default&&r!==Xl.default.prototype?"symbol":typeof r};function cJ(r){return r&&r.__esModule?r:{default:r}}var au=typeof Xl.default=="function"&&zL(uJ.default)==="symbol"?function(r){return typeof r>"u"?"undefined":zL(r)}:function(r){return r&&typeof Xl.default=="function"&&r.constructor===Xl.default&&r!==Xl.default.prototype?"symbol":typeof r>"u"?"undefined":zL(r)},LPe=/%[sdj%]/g;function Qi(){for(var r=arguments.length,e=Array(r),t=0;t=a)return u;switch(u){case"%s":return String(e[n++]);case"%d":return Number(e[n++]);case"%j":try{return JSON.stringify(e[n++])}catch{return"[Circular]"}break;default:return u}}),s=e[n];n"u"?"undefined":au(n))==="object"&&au(r[t])==="object"?r[t]=Wm({},r[t],n):r[t]=n}}return r}function fJ(r,e,t,n,i,a){r.required&&(!t.hasOwnProperty(r.field)||nn(e,a||r.type))&&n.push(Qi(i.messages.required,r.fullField))}function $Pe(r,e,t,n,i){(/^\s+$/.test(e)||e==="")&&n.push(Qi(i.messages.whitespace,r.fullField))}var VL={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},Gm={integer:function(e){return Gm.number(e)&&parseInt(e,10)===e},float:function(e){return Gm.number(e)&&!Gm.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"},number:function(e){return isNaN(e)?!1:typeof e=="number"},object:function(e){return(typeof e>"u"?"undefined":au(e))==="object"&&!Gm.array(e)},method:function(e){return typeof e=="function"},email:function(e){return typeof e=="string"&&!!e.match(VL.email)&&e.length<255},url:function(e){return typeof e=="string"&&!!e.match(VL.url)},hex:function(e){return typeof e=="string"&&!!e.match(VL.hex)}};function BPe(r,e,t,n,i){if(r.required&&e===void 0){fJ(r,e,t,n,i);return}var a=["integer","float","array","regexp","object","method","email","number","date","url","hex"],o=r.type;a.indexOf(o)>-1?Gm[o](e)||n.push(Qi(i.messages.types[o],r.fullField,r.type)):o&&(typeof e>"u"?"undefined":au(e))!==r.type&&n.push(Qi(i.messages.types[o],r.fullField,r.type))}function zPe(r,e,t,n,i){var a=typeof r.len=="number",o=typeof r.min=="number",s=typeof r.max=="number",u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=e,h=null,p=typeof e=="number",g=typeof e=="string",v=Array.isArray(e);if(p?h="number":g?h="string":v&&(h="array"),!h)return!1;v&&(f=e.length),g&&(f=e.replace(u,"_").length),a?f!==r.len&&n.push(Qi(i.messages[h].len,r.fullField,r.len)):o&&!s&&fr.max?n.push(Qi(i.messages[h].max,r.fullField,r.max)):o&&s&&(fr.max)&&n.push(Qi(i.messages[h].range,r.fullField,r.min,r.max))}var Kd="enum";function VPe(r,e,t,n,i){r[Kd]=Array.isArray(r[Kd])?r[Kd]:[],r[Kd].indexOf(e)===-1&&n.push(Qi(i.messages[Kd],r.fullField,r[Kd].join(", ")))}function HPe(r,e,t,n,i){if(r.pattern){if(r.pattern instanceof RegExp)r.pattern.lastIndex=0,r.pattern.test(e)||n.push(Qi(i.messages.pattern.mismatch,r.fullField,e,r.pattern));else if(typeof r.pattern=="string"){var a=new RegExp(r.pattern);a.test(e)||n.push(Qi(i.messages.pattern.mismatch,r.fullField,e,r.pattern))}}}const Yt={required:fJ,whitespace:$Pe,type:BPe,range:zPe,enum:VPe,pattern:HPe};function jPe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e,"string")&&!r.required)return t();Yt.required(r,e,n,a,i,"string"),nn(e,"string")||(Yt.type(r,e,n,a,i),Yt.range(r,e,n,a,i),Yt.pattern(r,e,n,a,i),r.whitespace===!0&&Yt.whitespace(r,e,n,a,i))}t(a)}function WPe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e)&&!r.required)return t();Yt.required(r,e,n,a,i),e!==void 0&&Yt.type(r,e,n,a,i)}t(a)}function GPe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e)&&!r.required)return t();Yt.required(r,e,n,a,i),e!==void 0&&(Yt.type(r,e,n,a,i),Yt.range(r,e,n,a,i))}t(a)}function UPe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e)&&!r.required)return t();Yt.required(r,e,n,a,i),e!==void 0&&Yt.type(r,e,n,a,i)}t(a)}function YPe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e)&&!r.required)return t();Yt.required(r,e,n,a,i),nn(e)||Yt.type(r,e,n,a,i)}t(a)}function qPe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e)&&!r.required)return t();Yt.required(r,e,n,a,i),e!==void 0&&(Yt.type(r,e,n,a,i),Yt.range(r,e,n,a,i))}t(a)}function KPe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e)&&!r.required)return t();Yt.required(r,e,n,a,i),e!==void 0&&(Yt.type(r,e,n,a,i),Yt.range(r,e,n,a,i))}t(a)}function XPe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e,"array")&&!r.required)return t();Yt.required(r,e,n,a,i,"array"),nn(e,"array")||(Yt.type(r,e,n,a,i),Yt.range(r,e,n,a,i))}t(a)}function ZPe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e)&&!r.required)return t();Yt.required(r,e,n,a,i),e!==void 0&&Yt.type(r,e,n,a,i)}t(a)}var QPe="enum";function JPe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e)&&!r.required)return t();Yt.required(r,e,n,a,i),e&&Yt[QPe](r,e,n,a,i)}t(a)}function eLe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e,"string")&&!r.required)return t();Yt.required(r,e,n,a,i),nn(e,"string")||Yt.pattern(r,e,n,a,i)}t(a)}function tLe(r,e,t,n,i){var a=[],o=r.required||!r.required&&n.hasOwnProperty(r.field);if(o){if(nn(e)&&!r.required)return t();if(Yt.required(r,e,n,a,i),!nn(e)){var s=void 0;typeof e=="number"?s=new Date(e):s=e,Yt.type(r,s,n,a,i),s&&Yt.range(r,s.getTime(),n,a,i)}}t(a)}function rLe(r,e,t,n,i){var a=[],o=Array.isArray(e)?"array":typeof e>"u"?"undefined":au(e);Yt.required(r,e,n,a,i,o),t(a)}function HL(r,e,t,n,i){var a=r.type,o=[],s=r.required||!r.required&&n.hasOwnProperty(r.field);if(s){if(nn(e,a)&&!r.required)return t();Yt.required(r,e,n,o,i,a),nn(e,a)||Yt.type(r,e,n,o,i)}t(o)}const XC={string:jPe,method:WPe,number:GPe,boolean:UPe,regexp:YPe,integer:qPe,float:KPe,array:XPe,object:ZPe,enum:JPe,pattern:eLe,date:tLe,url:HL,hex:HL,email:HL,required:rLe};function CR(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var B$=CR();function Yy(r){this.rules=null,this._messages=B$,this.define(r)}Yy.prototype={messages:function(e){return e&&(this._messages=N8(CR(),e)),this._messages},define:function(e){if(!e)throw new Error("Cannot configure a schema with no rules");if((typeof e>"u"?"undefined":au(e))!=="object"||Array.isArray(e))throw new Error("Rules must be an object");this.rules={};var t=void 0,n=void 0;for(t in e)e.hasOwnProperty(t)&&(n=e[t],this.rules[t]=Array.isArray(n)?n:[n])},validate:function(e){var t=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments[2],a=e,o=n,s=i;if(typeof o=="function"&&(s=o,o={}),!this.rules||Object.keys(this.rules).length===0){s&&s();return}function u(b){var _=void 0,S=void 0,C=[],w={};function k(M){Array.isArray(M)?C=C.concat.apply(C,M):C.push(M)}for(_=0;_0&&arguments[0]!==void 0?arguments[0]:[],I=E;if(Array.isArray(I)||(I=[I]),I.length,I.length&&S.message&&(I=[].concat(S.message)),I=I.map(R8(S)),o.first&&I.length)return m[S.field]=1,_(I);if(!C)_(I);else{if(S.required&&!b.value)return S.message?I=[].concat(S.message).map(R8(S)):o.error?I=[o.error(S,Qi(o.messages.required,S.field))]:I=[],_(I);var O={};if(S.defaultField)for(var R in b.value)b.value.hasOwnProperty(R)&&(O[R]=S.defaultField);O=Wm({},O,b.rule.fields);for(var $ in O)if(O.hasOwnProperty($)){var V=Array.isArray(O[$])?O[$]:[O[$]];O[$]=V.map(w.bind(null,$))}var z=new Yy(O);z.messages(o.messages),b.rule.options&&(b.rule.options.messages=o.messages,b.rule.options.error=o.error),z.validate(b.value,b.rule.options||o,function(B){_(B&&B.length?I.concat(B):B)})}}var M=S.validator(S,b.value,k,b.source,o);M&&M.then&&M.then(function(){return k()},function(E){return k(E)})},function(b){u(b)})},getType:function(e){if(e.type===void 0&&e.pattern instanceof RegExp&&(e.type="pattern"),typeof e.validator!="function"&&e.type&&!XC.hasOwnProperty(e.type))throw new Error(Qi("Unknown rule type %s",e.type));return e.type||"string"},getValidationMethod:function(e){if(typeof e.validator=="function")return e.validator;var t=Object.keys(e),n=t.indexOf("message");return n!==-1&&t.splice(n,1),t.length===1&&t[0]==="required"?XC.required:XC[this.getType(e)]||!1}};Yy.register=function(e,t){if(typeof t!="function")throw new Error("Cannot register a validator by type, validator is not a function");XC[e]=t};Yy.messages=B$;const nLe=Object.freeze(Object.defineProperty({__proto__:null,default:Yy},Symbol.toStringTag,{value:"Module"})),iLe=c$(nLe);var jL={exports:{}},F8;function aLe(){return F8||(F8=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=87)}({0:function(e,t,n){n.d(t,"a",function(){return i});function i(a,o,s,u,f,h,p,g){var v=typeof a=="function"?a.options:a;o&&(v.render=o,v.staticRenderFns=s,v._compiled=!0),u&&(v.functional=!0),h&&(v._scopeId="data-v-"+h);var m;if(p?(m=function(S){S=S||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!S&&typeof __VUE_SSR_CONTEXT__<"u"&&(S=__VUE_SSR_CONTEXT__),f&&f.call(this,S),S&&S._registeredComponents&&S._registeredComponents.add(p)},v._ssrRegister=m):f&&(m=g?function(){f.call(this,this.$root.$options.shadowRoot)}:f),m)if(v.functional){v._injectStyles=m;var b=v.render;v.render=function(C,w){return m.call(w),b(C,w)}}else{var _=v.beforeCreate;v.beforeCreate=_?[].concat(_,m):[m]}return{exports:a,options:v}}},10:function(e,t){e.exports=p$()},2:function(e,t){e.exports=Xs()},22:function(e,t){e.exports=y$()},3:function(e,t){e.exports=mo()},30:function(e,t,n){var i=n(2),a=n(3);t.a={bind:function(s,u,f){var h=null,p=void 0,g=Object(a.isMac)()?100:200,v=function(){return f.context[u.expression].apply()},m=function(){Date.now()-p=0&&S===parseInt(S,10)}}},data:function(){return{currentValue:0,userInput:null}},watch:{value:{immediate:!0,handler:function(S){var C=S===void 0?S:Number(S);if(C!==void 0){if(isNaN(C))return;if(this.stepStrictly){var w=this.getPrecision(this.step),k=Math.pow(10,w);C=Math.round(C/this.step)*k*this.step/k}this.precision!==void 0&&(C=this.toPrecision(C,this.precision))}C>=this.max&&(C=this.max),C<=this.min&&(C=this.min),this.currentValue=C,this.userInput=null,this.$emit("input",C)}}},computed:{minDisabled:function(){return this._decrease(this.value,this.step)this.max},numPrecision:function(){var S=this.value,C=this.step,w=this.getPrecision,k=this.precision,M=w(C);return k!==void 0?(M>k&&console.warn("[Element Warn][InputNumber]precision should not be less than the decimal places of step"),k):Math.max(w(S),M)},controlsAtRight:function(){return this.controls&&this.controlsPosition==="right"},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},inputNumberSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputNumberDisabled:function(){return this.disabled||!!(this.elForm||{}).disabled},displayValue:function(){if(this.userInput!==null)return this.userInput;var S=this.currentValue;if(typeof S=="number"){if(this.stepStrictly){var C=this.getPrecision(this.step),w=Math.pow(10,C);S=Math.round(S/this.step)*w*this.step/w}this.precision!==void 0&&(S=S.toFixed(this.precision))}return S}},methods:{toPrecision:function(S,C){return C===void 0&&(C=this.numPrecision),parseFloat(Math.round(S*Math.pow(10,C))/Math.pow(10,C))},getPrecision:function(S){if(S===void 0)return 0;var C=S.toString(),w=C.indexOf("."),k=0;return w!==-1&&(k=C.length-w-1),k},_increase:function(S,C){if(typeof S!="number"&&S!==void 0)return this.currentValue;var w=Math.pow(10,this.numPrecision);return this.toPrecision((w*S+w*C)/w)},_decrease:function(S,C){if(typeof S!="number"&&S!==void 0)return this.currentValue;var w=Math.pow(10,this.numPrecision);return this.toPrecision((w*S-w*C)/w)},increase:function(){if(!(this.inputNumberDisabled||this.maxDisabled)){var S=this.value||0,C=this._increase(S,this.step);this.setCurrentValue(C)}},decrease:function(){if(!(this.inputNumberDisabled||this.minDisabled)){var S=this.value||0,C=this._decrease(S,this.step);this.setCurrentValue(C)}},handleBlur:function(S){this.$emit("blur",S)},handleFocus:function(S){this.$emit("focus",S)},setCurrentValue:function(S){var C=this.currentValue;typeof S=="number"&&this.precision!==void 0&&(S=this.toPrecision(S,this.precision)),S>=this.max&&(S=this.max),S<=this.min&&(S=this.min),C!==S&&(this.userInput=null,this.$emit("input",S),this.$emit("change",S,C),this.currentValue=S)},handleInput:function(S){this.userInput=S},handleInputChange:function(S){var C=S===""?void 0:Number(S);(!isNaN(C)||S==="")&&this.setCurrentValue(C),this.userInput=null},select:function(){this.$refs.input.select()}},mounted:function(){var S=this.$refs.input.$refs.input;S.setAttribute("role","spinbutton"),S.setAttribute("aria-valuemax",this.max),S.setAttribute("aria-valuemin",this.min),S.setAttribute("aria-valuenow",this.currentValue),S.setAttribute("aria-disabled",this.inputNumberDisabled)},updated:function(){if(!(!this.$refs||!this.$refs.input)){var S=this.$refs.input.$refs.input;S.setAttribute("aria-valuenow",this.currentValue)}}},g=p,v=n(0),m=Object(v.a)(g,i,a,!1,null,null,null);m.options.__file="packages/input-number/src/input-number.vue";var b=m.exports;b.install=function(_){_.component(b.name,b)},t.default=b}})}(jL)),jL.exports}var WL={exports:{}},GL={exports:{}},$8;function hJ(){return $8||($8=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=88)}({0:function(e,t,n){n.d(t,"a",function(){return i});function i(a,o,s,u,f,h,p,g){var v=typeof a=="function"?a.options:a;o&&(v.render=o,v.staticRenderFns=s,v._compiled=!0),u&&(v.functional=!0),h&&(v._scopeId="data-v-"+h);var m;if(p?(m=function(S){S=S||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!S&&typeof __VUE_SSR_CONTEXT__<"u"&&(S=__VUE_SSR_CONTEXT__),f&&f.call(this,S),S&&S._registeredComponents&&S._registeredComponents.add(p)},v._ssrRegister=m):f&&(m=g?function(){f.call(this,this.$root.$options.shadowRoot)}:f),m)if(v.functional){v._injectStyles=m;var b=v.render;v.render=function(C,w){return m.call(w),b(C,w)}}else{var _=v.beforeCreate;v.beforeCreate=_?[].concat(_,m):[m]}return{exports:a,options:v}}},4:function(e,t){e.exports=Yf()},88:function(e,t,n){n.r(t);var i=function(){var v=this,m=v.$createElement,b=v._self._c||m;return b("label",{staticClass:"el-radio",class:[v.border&&v.radioSize?"el-radio--"+v.radioSize:"",{"is-disabled":v.isDisabled},{"is-focus":v.focus},{"is-bordered":v.border},{"is-checked":v.model===v.label}],attrs:{role:"radio","aria-checked":v.model===v.label,"aria-disabled":v.isDisabled,tabindex:v.tabIndex},on:{keydown:function(_){if(!("button"in _)&&v._k(_.keyCode,"space",32,_.key,[" ","Spacebar"]))return null;_.stopPropagation(),_.preventDefault(),v.model=v.isDisabled?v.model:v.label}}},[b("span",{staticClass:"el-radio__input",class:{"is-disabled":v.isDisabled,"is-checked":v.model===v.label}},[b("span",{staticClass:"el-radio__inner"}),b("input",{directives:[{name:"model",rawName:"v-model",value:v.model,expression:"model"}],ref:"radio",staticClass:"el-radio__original",attrs:{type:"radio","aria-hidden":"true",name:v.name,disabled:v.isDisabled,tabindex:"-1",autocomplete:"off"},domProps:{value:v.label,checked:v._q(v.model,v.label)},on:{focus:function(_){v.focus=!0},blur:function(_){v.focus=!1},change:[function(_){v.model=v.label},v.handleChange]}})]),b("span",{staticClass:"el-radio__label",on:{keydown:function(_){_.stopPropagation()}}},[v._t("default"),v.$slots.default?v._e():[v._v(v._s(v.label))]],2)])},a=[];i._withStripped=!0;var o=n(4),s=n.n(o),u={name:"ElRadio",mixins:[s.a],inject:{elForm:{default:""},elFormItem:{default:""}},componentName:"ElRadio",props:{value:{},label:{},disabled:Boolean,name:String,border:Boolean,size:String},data:function(){return{focus:!1}},computed:{isGroup:function(){for(var m=this.$parent;m;)if(m.$options.componentName!=="ElRadioGroup")m=m.$parent;else return this._radioGroup=m,!0;return!1},model:{get:function(){return this.isGroup?this._radioGroup.value:this.value},set:function(m){this.isGroup?this.dispatch("ElRadioGroup","input",[m]):this.$emit("input",m),this.$refs.radio&&(this.$refs.radio.checked=this.model===this.label)}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},radioSize:function(){var m=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._radioGroup.radioGroupSize||m},isDisabled:function(){return this.isGroup?this._radioGroup.disabled||this.disabled||(this.elForm||{}).disabled:this.disabled||(this.elForm||{}).disabled},tabIndex:function(){return this.isDisabled||this.isGroup&&this.model!==this.label?-1:0}},methods:{handleChange:function(){var m=this;this.$nextTick(function(){m.$emit("change",m.model),m.isGroup&&m.dispatch("ElRadioGroup","handleChange",m.model)})}}},f=u,h=n(0),p=Object(h.a)(f,i,a,!1,null,null,null);p.options.__file="packages/radio/src/radio.vue";var g=p.exports;g.install=function(v){v.component(g.name,g)},t.default=g}})}(GL)),GL.exports}var B8;function oLe(){return B8||(B8=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=61)}({0:function(e,t,n){n.d(t,"a",function(){return i});function i(a,o,s,u,f,h,p,g){var v=typeof a=="function"?a.options:a;o&&(v.render=o,v.staticRenderFns=s,v._compiled=!0),u&&(v.functional=!0),h&&(v._scopeId="data-v-"+h);var m;if(p?(m=function(S){S=S||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!S&&typeof __VUE_SSR_CONTEXT__<"u"&&(S=__VUE_SSR_CONTEXT__),f&&f.call(this,S),S&&S._registeredComponents&&S._registeredComponents.add(p)},v._ssrRegister=m):f&&(m=g?function(){f.call(this,this.$root.$options.shadowRoot)}:f),m)if(v.functional){v._injectStyles=m;var b=v.render;v.render=function(C,w){return m.call(w),b(C,w)}}else{var _=v.beforeCreate;v.beforeCreate=_?[].concat(_,m):[m]}return{exports:a,options:v}}},15:function(e,t){e.exports=m$()},18:function(e,t){e.exports=DQ()},21:function(e,t){e.exports=mD()},26:function(e,t){e.exports=LQ()},3:function(e,t){e.exports=mo()},31:function(e,t){e.exports=_$()},41:function(e,t){e.exports=b$()},52:function(e,t){e.exports=hJ()},6:function(e,t){e.exports=h$()},61:function(e,t,n){n.r(t);var i=function(){var Se=this,fe=Se.$createElement,pe=Se._self._c||fe;return pe("div",{class:["el-cascader-panel",Se.border&&"is-bordered"],on:{keydown:Se.handleKeyDown}},Se._l(Se.menus,function(ge,Ie){return pe("cascader-menu",{key:Ie,ref:"menu",refInFor:!0,attrs:{index:Ie,nodes:ge}})}),1)},a=[];i._withStripped=!0;var o=n(26),s=n.n(o),u=n(15),f=n.n(u),h=n(18),p=n.n(h),g=n(52),v=n.n(g),m=n(3),b=function(fe){return fe.stopPropagation()},_={inject:["panel"],components:{ElCheckbox:p.a,ElRadio:v.a},props:{node:{required:!0},nodeId:String},computed:{config:function(){return this.panel.config},isLeaf:function(){return this.node.isLeaf},isDisabled:function(){return this.node.isDisabled},checkedValue:function(){return this.panel.checkedValue},isChecked:function(){return this.node.isSameNode(this.checkedValue)},inActivePath:function(){return this.isInPath(this.panel.activePath)},inCheckedPath:function(){var fe=this;return this.config.checkStrictly?this.panel.checkedNodePaths.some(function(pe){return fe.isInPath(pe)}):!1},value:function(){return this.node.getValueByOption()}},methods:{handleExpand:function(){var fe=this,pe=this.panel,ge=this.node,Ie=this.isDisabled,Ye=this.config,_t=Ye.multiple,mt=Ye.checkStrictly;!mt&&Ie||ge.loading||(Ye.lazy&&!ge.loaded?pe.lazyLoad(ge,function(){var Kt=fe.isLeaf;if(Kt||fe.handleExpand(),_t){var hr=Kt?ge.checked:!1;fe.handleMultiCheckChange(hr)}}):pe.handleExpand(ge))},handleCheckChange:function(){var fe=this.panel,pe=this.value,ge=this.node;fe.handleCheckChange(pe),fe.handleExpand(ge)},handleMultiCheckChange:function(fe){this.node.doCheck(fe),this.panel.calculateMultiCheckedValue()},isInPath:function(fe){var pe=this.node,ge=fe[pe.level-1]||{};return ge.uid===pe.uid},renderPrefix:function(fe){var pe=this.isLeaf,ge=this.isChecked,Ie=this.config,Ye=Ie.checkStrictly,_t=Ie.multiple;return _t?this.renderCheckbox(fe):Ye?this.renderRadio(fe):pe&&ge?this.renderCheckIcon(fe):null},renderPostfix:function(fe){var pe=this.node,ge=this.isLeaf;return pe.loading?this.renderLoadingIcon(fe):ge?null:this.renderExpandIcon(fe)},renderCheckbox:function(fe){var pe=this.node,ge=this.config,Ie=this.isDisabled,Ye={on:{change:this.handleMultiCheckChange},nativeOn:{}};return ge.checkStrictly&&(Ye.nativeOn.click=b),fe("el-checkbox",s()([{attrs:{value:pe.checked,indeterminate:pe.indeterminate,disabled:Ie}},Ye]))},renderRadio:function(fe){var pe=this.checkedValue,ge=this.value,Ie=this.isDisabled;return Object(m.isEqual)(ge,pe)&&(ge=pe),fe("el-radio",{attrs:{value:pe,label:ge,disabled:Ie},on:{change:this.handleCheckChange},nativeOn:{click:b}},[fe("span")])},renderCheckIcon:function(fe){return fe("i",{class:"el-icon-check el-cascader-node__prefix"})},renderLoadingIcon:function(fe){return fe("i",{class:"el-icon-loading el-cascader-node__postfix"})},renderExpandIcon:function(fe){return fe("i",{class:"el-icon-arrow-right el-cascader-node__postfix"})},renderContent:function(fe){var pe=this.panel,ge=this.node,Ie=pe.renderLabelFn,Ye=Ie?Ie({node:ge,data:ge.data}):null;return fe("span",{class:"el-cascader-node__label"},[Ye||ge.label])}},render:function(fe){var pe=this,ge=this.inActivePath,Ie=this.inCheckedPath,Ye=this.isChecked,_t=this.isLeaf,mt=this.isDisabled,Kt=this.config,hr=this.nodeId,_i=Kt.expandTrigger,qn=Kt.checkStrictly,bi=Kt.multiple,yo=!qn&&mt,ia={on:{}};return _i==="click"?ia.on.click=this.handleExpand:(ia.on.mouseenter=function(_o){pe.handleExpand(),pe.$emit("expand",_o)},ia.on.focus=function(_o){pe.handleExpand(),pe.$emit("expand",_o)}),_t&&!mt&&!qn&&!bi&&(ia.on.click=this.handleCheckChange),fe("li",s()([{attrs:{role:"menuitem",id:hr,"aria-expanded":ge,tabindex:yo?null:-1},class:{"el-cascader-node":!0,"is-selectable":qn,"in-active-path":ge,"in-checked-path":Ie,"is-active":Ye,"is-disabled":yo}},ia]),[this.renderPrefix(fe),this.renderContent(fe),this.renderPostfix(fe)])}},S=_,C=n(0),w,k,M=Object(C.a)(S,w,k,!1,null,null,null);M.options.__file="packages/cascader-panel/src/cascader-node.vue";var E=M.exports,I=n(6),O=n.n(I),R={name:"ElCascaderMenu",mixins:[O.a],inject:["panel"],components:{ElScrollbar:f.a,CascaderNode:E},props:{nodes:{type:Array,required:!0},index:Number},data:function(){return{activeNode:null,hoverTimer:null,id:Object(m.generateId)()}},computed:{isEmpty:function(){return!this.nodes.length},menuId:function(){return"cascader-menu-"+this.id+"-"+this.index}},methods:{handleExpand:function(fe){this.activeNode=fe.target},handleMouseMove:function(fe){var pe=this.activeNode,ge=this.hoverTimer,Ie=this.$refs.hoverZone;if(!(!pe||!Ie))if(pe.contains(fe.target)){clearTimeout(ge);var Ye=this.$el.getBoundingClientRect(),_t=Ye.left,mt=fe.clientX-_t,Kt=this.$el,hr=Kt.offsetWidth,_i=Kt.offsetHeight,qn=pe.offsetTop,bi=qn+pe.offsetHeight;Ie.innerHTML=` - - - `}else ge||(this.hoverTimer=setTimeout(this.clearHoverZone,this.panel.config.hoverThreshold))},clearHoverZone:function(){var fe=this.$refs.hoverZone;fe&&(fe.innerHTML="")},renderEmptyText:function(fe){return fe("div",{class:"el-cascader-menu__empty-text"},[this.t("el.cascader.noData")])},renderNodeList:function(fe){var pe=this.menuId,ge=this.panel.isHoverMenu,Ie={on:{}};ge&&(Ie.on.expand=this.handleExpand);var Ye=this.nodes.map(function(_t,mt){var Kt=_t.hasChildren;return fe("cascader-node",s()([{key:_t.uid,attrs:{node:_t,"node-id":pe+"-"+mt,"aria-haspopup":Kt,"aria-owns":Kt?pe:null}},Ie]))});return[].concat(Ye,[ge?fe("svg",{ref:"hoverZone",class:"el-cascader-menu__hover-zone"}):null])}},render:function(fe){var pe=this.isEmpty,ge=this.menuId,Ie={nativeOn:{}};return this.panel.isHoverMenu&&(Ie.nativeOn.mousemove=this.handleMouseMove),fe("el-scrollbar",s()([{attrs:{tag:"ul",role:"menu",id:ge,"wrap-class":"el-cascader-menu__wrap","view-class":{"el-cascader-menu__list":!0,"is-empty":pe}},class:"el-cascader-menu"},Ie]),[pe?this.renderEmptyText(fe):this.renderNodeList(fe)])}},$=R,V,z,B=Object(C.a)($,V,z,!1,null,null,null);B.options.__file="packages/cascader-panel/src/cascader-menu.vue";var j=B.exports,U=n(21),X=function(){function Se(fe,pe){for(var ge=0;ge1?ge-1:0),Ye=1;Ye1?Ye-1:0),mt=1;mt0},Se.prototype.syncCheckState=function(pe){var ge=this.getValueByOption(),Ie=this.isSameNode(pe,ge);this.doCheck(Ie)},Se.prototype.doCheck=function(pe){this.checked!==pe&&(this.config.checkStrictly?this.checked=pe:(this.broadcast("check",pe),this.setCheckState(pe),this.emit("check")))},X(Se,[{key:"isDisabled",get:function(){var pe=this.data,ge=this.parent,Ie=this.config,Ye=Ie.disabled,_t=Ie.checkStrictly;return pe[Ye]||!_t&&ge&&ge.isDisabled}},{key:"isLeaf",get:function(){var pe=this.data,ge=this.loaded,Ie=this.hasChildren,Ye=this.children,_t=this.config,mt=_t.lazy,Kt=_t.leaf;if(mt){var hr=Object(U.isDef)(pe[Kt])?pe[Kt]:ge?!Ye.length:!1;return this.hasChildren=!hr,hr}return!Ie}}]),Se}(),de=re;function ve(Se,fe){if(!(Se instanceof fe))throw new TypeError("Cannot call a class as a function")}var _e=function Se(fe,pe){return fe.reduce(function(ge,Ie){return Ie.isLeaf?ge.push(Ie):(!pe&&ge.push(Ie),ge=ge.concat(Se(Ie.children,pe))),ge},[])},Re=function(){function Se(fe,pe){ve(this,Se),this.config=pe,this.initNodes(fe)}return Se.prototype.initNodes=function(pe){var ge=this;pe=Object(m.coerceTruthyValueToArray)(pe),this.nodes=pe.map(function(Ie){return new de(Ie,ge.config)}),this.flattedNodes=this.getFlattedNodes(!1,!1),this.leafNodes=this.getFlattedNodes(!0,!1)},Se.prototype.appendNode=function(pe,ge){var Ie=new de(pe,this.config,ge),Ye=ge?ge.children:this.nodes;Ye.push(Ie)},Se.prototype.appendNodes=function(pe,ge){var Ie=this;pe=Object(m.coerceTruthyValueToArray)(pe),pe.forEach(function(Ye){return Ie.appendNode(Ye,ge)})},Se.prototype.getNodes=function(){return this.nodes},Se.prototype.getFlattedNodes=function(pe){var ge=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Ie=pe?this.leafNodes:this.flattedNodes;return ge?Ie:_e(this.nodes,pe)},Se.prototype.getNodeByValue=function(pe){var ge=this.getFlattedNodes(!1,!this.config.lazy).filter(function(Ie){return Object(m.valueEquals)(Ie.path,pe)||Ie.value===pe});return ge&&ge.length?ge[0]:null},Se}(),Le=Re,je=n(9),Q=n.n(je),he=n(41),ie=n.n(he),oe=n(31),Fe=n.n(oe),Ne=Object.assign||function(Se){for(var fe=1;fe0){var bi=ge.store.getNodeByValue(hr);bi.data[qn]||ge.lazyLoad(bi,function(){ge.handleExpand(bi)}),ge.loadCount===ge.checkedValue.length&&ge.$parent.computePresentText()}}pe&&pe(mt)};Ie.lazyLoad(fe,Ye)},calculateMultiCheckedValue:function(){this.checkedValue=this.getCheckedNodes(this.leafOnly).map(function(fe){return fe.getValueByOption()})},scrollIntoView:function(){if(!this.$isServer){var fe=this.$refs.menu||[];fe.forEach(function(pe){var ge=pe.$el;if(ge){var Ie=ge.querySelector(".el-scrollbar__wrap"),Ye=ge.querySelector(".el-cascader-node.is-active")||ge.querySelector(".el-cascader-node.in-active-path");Fe()(Ie,Ye)}})}},getNodeByValue:function(fe){return this.store.getNodeByValue(fe)},getFlattedNodes:function(fe){var pe=!this.config.lazy;return this.store.getFlattedNodes(fe,pe)},getCheckedNodes:function(fe){var pe=this.checkedValue,ge=this.multiple;if(ge){var Ie=this.getFlattedNodes(fe);return Ie.filter(function(Ye){return Ye.checked})}else return this.isEmptyValue(pe)?[]:[this.getNodeByValue(pe)]},clearCheckedNodes:function(){var fe=this.config,pe=this.leafOnly,ge=fe.multiple,Ie=fe.emitPath;ge?(this.getCheckedNodes(pe).filter(function(Ye){return!Ye.isDisabled}).forEach(function(Ye){return Ye.doCheck(!1)}),this.calculateMultiCheckedValue()):this.checkedValue=Ie?[]:null}}},Yr=Rr,vr=Object(C.a)(Yr,i,a,!1,null,null,null);vr.options.__file="packages/cascader-panel/src/cascader-panel.vue";var Yn=vr.exports;Yn.install=function(Se){Se.component(Yn.name,Yn)},t.default=Yn},9:function(e,t){e.exports=vD()}})}(WL)),WL.exports}var UL={exports:{}},z8;function sLe(){return z8||(z8=1,function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=78)}({0:function(e,t,n){n.d(t,"a",function(){return i});function i(a,o,s,u,f,h,p,g){var v=typeof a=="function"?a.options:a;o&&(v.render=o,v.staticRenderFns=s,v._compiled=!0),u&&(v.functional=!0),h&&(v._scopeId="data-v-"+h);var m;if(p?(m=function(S){S=S||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!S&&typeof __VUE_SSR_CONTEXT__<"u"&&(S=__VUE_SSR_CONTEXT__),f&&f.call(this,S),S&&S._registeredComponents&&S._registeredComponents.add(p)},v._ssrRegister=m):f&&(m=g?function(){f.call(this,this.$root.$options.shadowRoot)}:f),m)if(v.functional){v._injectStyles=m;var b=v.render;v.render=function(C,w){return m.call(w),b(C,w)}}else{var _=v.beforeCreate;v.beforeCreate=_?[].concat(_,m):[m]}return{exports:a,options:v}}},2:function(e,t){e.exports=Xs()},3:function(e,t){e.exports=mo()},5:function(e,t){e.exports=gD()},7:function(e,t){e.exports=na},78:function(e,t,n){n.r(t);var i=function(){var w=this,k=w.$createElement,M=w._self._c||k;return M("span",[M("transition",{attrs:{name:w.transition},on:{"after-enter":w.handleAfterEnter,"after-leave":w.handleAfterLeave}},[M("div",{directives:[{name:"show",rawName:"v-show",value:!w.disabled&&w.showPopper,expression:"!disabled && showPopper"}],ref:"popper",staticClass:"el-popover el-popper",class:[w.popperClass,w.content&&"el-popover--plain"],style:{width:w.width+"px"},attrs:{role:"tooltip",id:w.tooltipId,"aria-hidden":w.disabled||!w.showPopper?"true":"false"}},[w.title?M("div",{staticClass:"el-popover__title",domProps:{textContent:w._s(w.title)}}):w._e(),w._t("default",[w._v(w._s(w.content))])],2)]),M("span",{ref:"wrapper",staticClass:"el-popover__reference-wrapper"},[w._t("reference")],2)],1)},a=[];i._withStripped=!0;var o=n(5),s=n.n(o),u=n(2),f=n(3),h={name:"ElPopover",mixins:[s.a],props:{trigger:{type:String,default:"click",validator:function(k){return["click","focus","hover","manual"].indexOf(k)>-1}},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:200},title:String,disabled:Boolean,content:String,reference:{},popperClass:String,width:{},visibleArrow:{default:!0},arrowOffset:{type:Number,default:0},transition:{type:String,default:"fade-in-linear"},tabindex:{type:Number,default:0}},computed:{tooltipId:function(){return"el-popover-"+Object(f.generateId)()}},watch:{showPopper:function(k){this.disabled||(k?this.$emit("show"):this.$emit("hide"))}},mounted:function(){var k=this,M=this.referenceElm=this.reference||this.$refs.reference,E=this.popper||this.$refs.popper;!M&&this.$refs.wrapper.children&&(M=this.referenceElm=this.$refs.wrapper.children[0]),M&&(Object(u.addClass)(M,"el-popover__reference"),M.setAttribute("aria-describedby",this.tooltipId),M.setAttribute("tabindex",this.tabindex),E.setAttribute("tabindex",0),this.trigger!=="click"&&(Object(u.on)(M,"focusin",function(){k.handleFocus();var I=M.__vue__;I&&typeof I.focus=="function"&&I.focus()}),Object(u.on)(E,"focusin",this.handleFocus),Object(u.on)(M,"focusout",this.handleBlur),Object(u.on)(E,"focusout",this.handleBlur)),Object(u.on)(M,"keydown",this.handleKeydown),Object(u.on)(M,"click",this.handleClick)),this.trigger==="click"?(Object(u.on)(M,"click",this.doToggle),Object(u.on)(document,"click",this.handleDocumentClick)):this.trigger==="hover"?(Object(u.on)(M,"mouseenter",this.handleMouseEnter),Object(u.on)(E,"mouseenter",this.handleMouseEnter),Object(u.on)(M,"mouseleave",this.handleMouseLeave),Object(u.on)(E,"mouseleave",this.handleMouseLeave)):this.trigger==="focus"&&(this.tabindex<0&&console.warn("[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key"),M.querySelector("input, textarea")?(Object(u.on)(M,"focusin",this.doShow),Object(u.on)(M,"focusout",this.doClose)):(Object(u.on)(M,"mousedown",this.doShow),Object(u.on)(M,"mouseup",this.doClose)))},beforeDestroy:function(){this.cleanup()},deactivated:function(){this.cleanup()},methods:{doToggle:function(){this.showPopper=!this.showPopper},doShow:function(){this.showPopper=!0},doClose:function(){this.showPopper=!1},handleFocus:function(){Object(u.addClass)(this.referenceElm,"focusing"),(this.trigger==="click"||this.trigger==="focus")&&(this.showPopper=!0)},handleClick:function(){Object(u.removeClass)(this.referenceElm,"focusing")},handleBlur:function(){Object(u.removeClass)(this.referenceElm,"focusing"),(this.trigger==="click"||this.trigger==="focus")&&(this.showPopper=!1)},handleMouseEnter:function(){var k=this;clearTimeout(this._timer),this.openDelay?this._timer=setTimeout(function(){k.showPopper=!0},this.openDelay):this.showPopper=!0},handleKeydown:function(k){k.keyCode===27&&this.trigger!=="manual"&&this.doClose()},handleMouseLeave:function(){var k=this;clearTimeout(this._timer),this.closeDelay?this._timer=setTimeout(function(){k.showPopper=!1},this.closeDelay):this.showPopper=!1},handleDocumentClick:function(k){var M=this.reference||this.$refs.reference,E=this.popper||this.$refs.popper;!M&&this.$refs.wrapper.children&&(M=this.referenceElm=this.$refs.wrapper.children[0]),!(!this.$el||!M||this.$el.contains(k.target)||M.contains(k.target)||!E||E.contains(k.target))&&(this.showPopper=!1)},handleAfterEnter:function(){this.$emit("after-enter")},handleAfterLeave:function(){this.$emit("after-leave"),this.doDestroy()},cleanup:function(){(this.openDelay||this.closeDelay)&&clearTimeout(this._timer)}},destroyed:function(){var k=this.reference;Object(u.off)(k,"click",this.doToggle),Object(u.off)(k,"mouseup",this.doClose),Object(u.off)(k,"mousedown",this.doShow),Object(u.off)(k,"focusin",this.doShow),Object(u.off)(k,"focusout",this.doClose),Object(u.off)(k,"mousedown",this.doShow),Object(u.off)(k,"mouseup",this.doClose),Object(u.off)(k,"mouseleave",this.handleMouseLeave),Object(u.off)(k,"mouseenter",this.handleMouseEnter),Object(u.off)(document,"click",this.handleDocumentClick)}},p=h,g=n(0),v=Object(g.a)(p,i,a,!1,null,null,null);v.options.__file="packages/popover/src/main.vue";var m=v.exports,b=function(k,M,E){var I=M.expression?M.value:M.arg,O=E.context.$refs[I];O&&(Array.isArray(O)?O[0].$refs.reference=k:O.$refs.reference=k)},_={bind:function(k,M,E){b(k,M,E)},inserted:function(k,M,E){b(k,M,E)}},S=n(7),C=n.n(S);C.a.directive("popover",_),m.install=function(w){w.directive("popover",_),w.component(m.name,m)},m.directive=_,t.default=m}})}(UL)),UL.exports}(function(r){r.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{enumerable:!0,get:o})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,a){if(a&1&&(i=n(i)),a&8||a&4&&typeof i=="object"&&i&&i.__esModule)return i;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:i}),a&2&&typeof i!="string")for(var s in i)n.d(o,s,(function(u){return i[u]}).bind(null,s));return o},n.n=function(i){var a=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="/dist/",n(n.s=46)}([function(e,t){e.exports=TAe()},function(e,t){e.exports=Xs()},function(e,t){e.exports=mo()},function(e,t){e.exports=Yf()},function(e,t){e.exports=h$()},function(e,t){e.exports=gD()},function(e,t){e.exports=na},function(e,t){e.exports=vD()},function(e,t){e.exports=p$()},function(e,t){e.exports=CQ()},function(e,t){e.exports=TQ()},function(e,t){e.exports=wQ()},function(e,t){e.exports=f$()},function(e,t){e.exports=MAe()},function(e,t){e.exports=DQ()},function(e,t){e.exports=g$()},function(e,t){e.exports=SQ()},function(e,t){e.exports=_D()},function(e,t){e.exports=m$()},function(e,t){e.exports=mD()},function(e,t){e.exports=xQ()},function(e,t){e.exports=KAe()},function(e,t){e.exports=XAe()},function(e,t){e.exports=y$()},function(e,t){e.exports=LQ()},function(e,t){e.exports=v$()},function(e,t){e.exports=ZAe()},function(e,t){e.exports=_$()},function(e,t){e.exports=QAe()},function(e,t){e.exports=JAe()},function(e,t){e.exports=OQ()},function(e,t){e.exports=d$()},function(e,t){e.exports=eEe()},function(e,t){e.exports=tEe()},function(e,t){e.exports=rEe()},function(e,t){e.exports=b$()},function(e,t){e.exports=PQ()},function(e,t){e.exports=nEe()},function(e,t){e.exports=iEe()},function(e,t){e.exports=uEe()},function(e,t){e.exports=cEe()},function(e,t){e.exports=iLe},function(e,t){e.exports=aLe()},function(e,t){e.exports=oLe()},function(e,t){e.exports=hJ()},function(e,t){e.exports=sLe()},function(e,t,n){e.exports=n(47)},function(e,t,n){n.r(t);var i=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("ul",{staticClass:"el-pager",on:{click:l.onPagerClick}},[l.pageCount>0?d("li",{staticClass:"number",class:{active:l.currentPage===1,disabled:l.disabled}},[l._v("1")]):l._e(),l.showPrevMore?d("li",{staticClass:"el-icon more btn-quickprev",class:[l.quickprevIconClass,{disabled:l.disabled}],on:{mouseenter:function(y){l.onMouseenter("left")},mouseleave:function(y){l.quickprevIconClass="el-icon-more"}}}):l._e(),l._l(l.pagers,function(y){return d("li",{key:y,staticClass:"number",class:{active:l.currentPage===y,disabled:l.disabled}},[l._v(l._s(y))])}),l.showNextMore?d("li",{staticClass:"el-icon more btn-quicknext",class:[l.quicknextIconClass,{disabled:l.disabled}],on:{mouseenter:function(y){l.onMouseenter("right")},mouseleave:function(y){l.quicknextIconClass="el-icon-more"}}}):l._e(),l.pageCount>1?d("li",{staticClass:"number",class:{active:l.currentPage===l.pageCount,disabled:l.disabled}},[l._v(l._s(l.pageCount))]):l._e()],2)},a=[];i._withStripped=!0;var o={name:"ElPager",props:{currentPage:Number,pageCount:Number,pagerCount:Number,disabled:Boolean},watch:{showPrevMore:function(c){c||(this.quickprevIconClass="el-icon-more")},showNextMore:function(c){c||(this.quicknextIconClass="el-icon-more")}},methods:{onPagerClick:function(c){var d=c.target;if(!(d.tagName==="UL"||this.disabled)){var y=Number(c.target.textContent),T=this.pageCount,A=this.currentPage,L=this.pagerCount-2;d.className.indexOf("more")!==-1&&(d.className.indexOf("quickprev")!==-1?y=A-L:d.className.indexOf("quicknext")!==-1&&(y=A+L)),isNaN(y)||(y<1&&(y=1),y>T&&(y=T)),y!==A&&this.$emit("change",y)}},onMouseenter:function(c){this.disabled||(c==="left"?this.quickprevIconClass="el-icon-d-arrow-left":this.quicknextIconClass="el-icon-d-arrow-right")}},computed:{pagers:function(){var c=this.pagerCount,d=(c-1)/2,y=Number(this.currentPage),T=Number(this.pageCount),A=!1,L=!1;T>c&&(y>c-d&&(A=!0),y4&&c<22&&c%2===1},default:7},currentPage:{type:Number,default:1},layout:{default:"prev, pager, next, jumper, ->, total"},pageSizes:{type:Array,default:function(){return[10,20,30,40,50,100]}},popperClass:String,prevText:String,nextText:String,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean},data:function(){return{internalCurrentPage:1,internalPageSize:0,lastEmittedPage:-1,userChangePageSize:!1}},render:function(c){var d=this.layout;if(!d||this.hideOnSinglePage&&(!this.internalPageCount||this.internalPageCount===1))return null;var y=c("div",{class:["el-pagination",{"is-background":this.background,"el-pagination--small":this.small}]}),T={prev:c("prev"),jumper:c("jumper"),pager:c("pager",{attrs:{currentPage:this.internalCurrentPage,pageCount:this.internalPageCount,pagerCount:this.pagerCount,disabled:this.disabled},on:{change:this.handleCurrentChange}}),next:c("next"),sizes:c("sizes",{attrs:{pageSizes:this.pageSizes}}),slot:c("slot",[this.$slots.default?this.$slots.default:""]),total:c("total")},A=d.split(",").map(function(G){return G.trim()}),L=c("div",{class:"el-pagination__rightwrapper"}),F=!1;return y.children=y.children||[],L.children=L.children||[],A.forEach(function(G){if(G==="->"){F=!0;return}F?L.children.push(T[G]):y.children.push(T[G])}),F&&y.children.unshift(L),y},components:{Prev:{render:function(c){return c("button",{attrs:{type:"button",disabled:this.$parent.disabled||this.$parent.internalCurrentPage<=1},class:"btn-prev",on:{click:this.$parent.prev}},[this.$parent.prevText?c("span",[this.$parent.prevText]):c("i",{class:"el-icon el-icon-arrow-left"})])}},Next:{render:function(c){return c("button",{attrs:{type:"button",disabled:this.$parent.disabled||this.$parent.internalCurrentPage===this.$parent.internalPageCount||this.$parent.internalPageCount===0},class:"btn-next",on:{click:this.$parent.next}},[this.$parent.nextText?c("span",[this.$parent.nextText]):c("i",{class:"el-icon el-icon-arrow-right"})])}},Sizes:{mixins:[C.a],props:{pageSizes:Array},watch:{pageSizes:{immediate:!0,handler:function(c,d){Object(w.valueEquals)(c,d)||Array.isArray(c)&&(this.$parent.internalPageSize=c.indexOf(this.$parent.pageSize)>-1?this.$parent.pageSize:this.pageSizes[0])}}},render:function(c){var d=this;return c("span",{class:"el-pagination__sizes"},[c("el-select",{attrs:{value:this.$parent.internalPageSize,popperClass:this.$parent.popperClass||"",size:"mini",disabled:this.$parent.disabled},on:{input:this.handleChange}},[this.pageSizes.map(function(y){return c("el-option",{attrs:{value:y,label:y+d.t("el.pagination.pagesize")}})})])])},components:{ElSelect:g.a,ElOption:m.a},methods:{handleChange:function(c){c!==this.$parent.internalPageSize&&(this.$parent.internalPageSize=c=parseInt(c,10),this.$parent.userChangePageSize=!0,this.$parent.$emit("update:pageSize",c),this.$parent.$emit("size-change",c))}}},Jumper:{mixins:[C.a],components:{ElInput:_.a},data:function(){return{userInput:null}},watch:{"$parent.internalCurrentPage":function(){this.userInput=null}},methods:{handleKeyup:function(c){var d=c.keyCode,y=c.target;d===13&&this.handleChange(y.value)},handleInput:function(c){this.userInput=c},handleChange:function(c){this.$parent.internalCurrentPage=this.$parent.getValidCurrentPage(c),this.$parent.emitChange(),this.userInput=null}},render:function(c){return c("span",{class:"el-pagination__jump"},[this.t("el.pagination.goto"),c("el-input",{class:"el-pagination__editor is-in-pagination",attrs:{min:1,max:this.$parent.internalPageCount,value:this.userInput!==null?this.userInput:this.$parent.internalCurrentPage,type:"number",disabled:this.$parent.disabled},nativeOn:{keyup:this.handleKeyup},on:{input:this.handleInput,change:this.handleChange}}),this.t("el.pagination.pageClassifier")])}},Total:{mixins:[C.a],render:function(c){return typeof this.$parent.total=="number"?c("span",{class:"el-pagination__total"},[this.t("el.pagination.total",{total:this.$parent.total})]):""}},Pager:h},methods:{handleCurrentChange:function(c){this.internalCurrentPage=this.getValidCurrentPage(c),this.userChangePageSize=!0,this.emitChange()},prev:function(){if(!this.disabled){var c=this.internalCurrentPage-1;this.internalCurrentPage=this.getValidCurrentPage(c),this.$emit("prev-click",this.internalCurrentPage),this.emitChange()}},next:function(){if(!this.disabled){var c=this.internalCurrentPage+1;this.internalCurrentPage=this.getValidCurrentPage(c),this.$emit("next-click",this.internalCurrentPage),this.emitChange()}},getValidCurrentPage:function(c){c=parseInt(c,10);var d=typeof this.internalPageCount=="number",y=void 0;return d?c<1?y=1:c>this.internalPageCount&&(y=this.internalPageCount):(isNaN(c)||c<1)&&(y=1),(y===void 0&&isNaN(c)||y===0)&&(y=1),y===void 0?c:y},emitChange:function(){var c=this;this.$nextTick(function(){(c.internalCurrentPage!==c.lastEmittedPage||c.userChangePageSize)&&(c.$emit("current-change",c.internalCurrentPage),c.lastEmittedPage=c.internalCurrentPage,c.userChangePageSize=!1)})}},computed:{internalPageCount:function(){return typeof this.total=="number"?Math.max(1,Math.ceil(this.total/this.internalPageSize)):typeof this.pageCount=="number"?Math.max(1,this.pageCount):null}},watch:{currentPage:{immediate:!0,handler:function(c){this.internalCurrentPage=this.getValidCurrentPage(c)}},pageSize:{immediate:!0,handler:function(c){this.internalPageSize=isNaN(c)?10:c}},internalCurrentPage:{immediate:!0,handler:function(c){this.$emit("update:currentPage",c),this.lastEmittedPage=-1}},internalPageCount:function(c){var d=this.internalCurrentPage;c>0&&d===0?this.internalCurrentPage=1:d>c&&(this.internalCurrentPage=c===0?1:c,this.userChangePageSize&&this.emitChange()),this.userChangePageSize=!1}}};k.install=function(l){l.component(k.name,k)};var M=k,E=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"dialog-fade"},on:{"after-enter":l.afterEnter,"after-leave":l.afterLeave}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-dialog__wrapper",on:{click:function(y){return y.target!==y.currentTarget?null:l.handleWrapperClick(y)}}},[d("div",{key:l.key,ref:"dialog",class:["el-dialog",{"is-fullscreen":l.fullscreen,"el-dialog--center":l.center},l.customClass],style:l.style,attrs:{role:"dialog","aria-modal":"true","aria-label":l.title||"dialog"}},[d("div",{staticClass:"el-dialog__header"},[l._t("title",[d("span",{staticClass:"el-dialog__title"},[l._v(l._s(l.title))])]),l.showClose?d("button",{staticClass:"el-dialog__headerbtn",attrs:{type:"button","aria-label":"Close"},on:{click:l.handleClose}},[d("i",{staticClass:"el-dialog__close el-icon el-icon-close"})]):l._e()],2),l.rendered?d("div",{staticClass:"el-dialog__body"},[l._t("default")],2):l._e(),l.$slots.footer?d("div",{staticClass:"el-dialog__footer"},[l._t("footer")],2):l._e()])])])},I=[];E._withStripped=!0;var O=n(11),R=n.n(O),$=n(9),V=n.n($),z=n(3),B=n.n(z),j={name:"ElDialog",mixins:[R.a,B.a,V.a],props:{title:{type:String,default:""},modal:{type:Boolean,default:!0},modalAppendToBody:{type:Boolean,default:!0},appendToBody:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},width:String,fullscreen:Boolean,customClass:{type:String,default:""},top:{type:String,default:"15vh"},beforeClose:Function,center:{type:Boolean,default:!1},destroyOnClose:Boolean},data:function(){return{closed:!1,key:0}},watch:{visible:function(c){var d=this;c?(this.closed=!1,this.$emit("open"),this.$el.addEventListener("scroll",this.updatePopper),this.$nextTick(function(){d.$refs.dialog.scrollTop=0}),this.appendToBody&&document.body.appendChild(this.$el)):(this.$el.removeEventListener("scroll",this.updatePopper),this.closed||this.$emit("close"),this.destroyOnClose&&this.$nextTick(function(){d.key++}))}},computed:{style:function(){var c={};return this.fullscreen||(c.marginTop=this.top,this.width&&(c.width=this.width)),c}},methods:{getMigratingConfig:function(){return{props:{size:"size is removed."}}},handleWrapperClick:function(){this.closeOnClickModal&&this.handleClose()},handleClose:function(){typeof this.beforeClose=="function"?this.beforeClose(this.hide):this.hide()},hide:function(c){c!==!1&&(this.$emit("update:visible",!1),this.$emit("close"),this.closed=!0)},updatePopper:function(){this.broadcast("ElSelectDropdown","updatePopper"),this.broadcast("ElDropdownMenu","updatePopper")},afterEnter:function(){this.$emit("opened")},afterLeave:function(){this.$emit("closed")}},mounted:function(){this.visible&&(this.rendered=!0,this.open(),this.appendToBody&&document.body.appendChild(this.$el))},destroyed:function(){this.appendToBody&&this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}},U=j,X=u(U,E,I,!1);X.options.__file="packages/dialog/src/component.vue";var ee=X.exports;ee.install=function(l){l.component(ee.name,ee)};var Z=ee,re=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:l.close,expression:"close"}],staticClass:"el-autocomplete",attrs:{"aria-haspopup":"listbox",role:"combobox","aria-expanded":l.suggestionVisible,"aria-owns":l.id}},[d("el-input",l._b({ref:"input",on:{input:l.handleInput,change:l.handleChange,focus:l.handleFocus,blur:l.handleBlur,clear:l.handleClear},nativeOn:{keydown:[function(y){if(!("button"in y)&&l._k(y.keyCode,"up",38,y.key,["Up","ArrowUp"]))return null;y.preventDefault(),l.highlight(l.highlightedIndex-1)},function(y){if(!("button"in y)&&l._k(y.keyCode,"down",40,y.key,["Down","ArrowDown"]))return null;y.preventDefault(),l.highlight(l.highlightedIndex+1)},function(y){return!("button"in y)&&l._k(y.keyCode,"enter",13,y.key,"Enter")?null:l.handleKeyEnter(y)},function(y){return!("button"in y)&&l._k(y.keyCode,"tab",9,y.key,"Tab")?null:l.close(y)}]}},"el-input",[l.$props,l.$attrs],!1),[l.$slots.prepend?d("template",{slot:"prepend"},[l._t("prepend")],2):l._e(),l.$slots.append?d("template",{slot:"append"},[l._t("append")],2):l._e(),l.$slots.prefix?d("template",{slot:"prefix"},[l._t("prefix")],2):l._e(),l.$slots.suffix?d("template",{slot:"suffix"},[l._t("suffix")],2):l._e()],2),d("el-autocomplete-suggestions",{ref:"suggestions",class:[l.popperClass?l.popperClass:""],attrs:{"visible-arrow":"","popper-options":l.popperOptions,"append-to-body":l.popperAppendToBody,placement:l.placement,id:l.id}},l._l(l.suggestions,function(y,T){return d("li",{key:T,class:{highlighted:l.highlightedIndex===T},attrs:{id:l.id+"-item-"+T,role:"option","aria-selected":l.highlightedIndex===T},on:{click:function(A){l.select(y)}}},[l._t("default",[l._v(` - `+l._s(y[l.valueKey])+` - `)],{item:y})],2)}),0)],1)},de=[];re._withStripped=!0;var ve=n(17),_e=n.n(ve),Re=n(10),Le=n.n(Re),je=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":l.doDestroy}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.showPopper,expression:"showPopper"}],staticClass:"el-autocomplete-suggestion el-popper",class:{"is-loading":!l.parent.hideLoading&&l.parent.loading},style:{width:l.dropdownWidth},attrs:{role:"region"}},[d("el-scrollbar",{attrs:{tag:"ul","wrap-class":"el-autocomplete-suggestion__wrap","view-class":"el-autocomplete-suggestion__list"}},[!l.parent.hideLoading&&l.parent.loading?d("li",[d("i",{staticClass:"el-icon-loading"})]):l._t("default")],2)],1)])},Q=[];je._withStripped=!0;var he=n(5),ie=n.n(he),oe=n(18),Fe=n.n(oe),Ne={components:{ElScrollbar:Fe.a},mixins:[ie.a,B.a],componentName:"ElAutocompleteSuggestions",data:function(){return{parent:this.$parent,dropdownWidth:""}},props:{options:{default:function(){return{gpuAcceleration:!1}}},id:String},methods:{select:function(c){this.dispatch("ElAutocomplete","item-click",c)}},updated:function(){var c=this;this.$nextTick(function(d){c.popperJS&&c.updatePopper()})},mounted:function(){this.$parent.popperElm=this.popperElm=this.$el,this.referenceElm=this.$parent.$refs.input.$refs.input||this.$parent.$refs.input.$refs.textarea,this.referenceList=this.$el.querySelector(".el-autocomplete-suggestion__list"),this.referenceList.setAttribute("role","listbox"),this.referenceList.setAttribute("id",this.id)},created:function(){var c=this;this.$on("visible",function(d,y){c.dropdownWidth=y+"px",c.showPopper=d})}},We=Ne,St=u(We,je,Q,!1);St.options.__file="packages/autocomplete/src/autocomplete-suggestions.vue";var ut=St.exports,kt=n(23),$t=n.n(kt),Ht={name:"ElAutocomplete",mixins:[B.a,$t()("input"),V.a],inheritAttrs:!1,componentName:"ElAutocomplete",components:{ElInput:_.a,ElAutocompleteSuggestions:ut},directives:{Clickoutside:Le.a},props:{valueKey:{type:String,default:"value"},popperClass:String,popperOptions:Object,placeholder:String,clearable:{type:Boolean,default:!1},disabled:Boolean,name:String,size:String,value:String,maxlength:Number,minlength:Number,autofocus:Boolean,fetchSuggestions:Function,triggerOnFocus:{type:Boolean,default:!0},customItem:String,selectWhenUnmatched:{type:Boolean,default:!1},prefixIcon:String,suffixIcon:String,label:String,debounce:{type:Number,default:300},placement:{type:String,default:"bottom-start"},hideLoading:Boolean,popperAppendToBody:{type:Boolean,default:!0},highlightFirstItem:{type:Boolean,default:!1}},data:function(){return{activated:!1,suggestions:[],loading:!1,highlightedIndex:-1,suggestionDisabled:!1}},computed:{suggestionVisible:function(){var c=this.suggestions,d=Array.isArray(c)&&c.length>0;return(d||this.loading)&&this.activated},id:function(){return"el-autocomplete-"+Object(w.generateId)()}},watch:{suggestionVisible:function(c){var d=this.getInput();d&&this.broadcast("ElAutocompleteSuggestions","visible",[c,d.offsetWidth])}},methods:{getMigratingConfig:function(){return{props:{"custom-item":"custom-item is removed, use scoped slot instead.",props:"props is removed, use value-key instead."}}},getData:function(c){var d=this;this.suggestionDisabled||(this.loading=!0,this.fetchSuggestions(c,function(y){d.loading=!1,!d.suggestionDisabled&&(Array.isArray(y)?(d.suggestions=y,d.highlightedIndex=d.highlightFirstItem?0:-1):console.error("[Element Error][Autocomplete]autocomplete suggestions must be an array"))}))},handleInput:function(c){if(this.$emit("input",c),this.suggestionDisabled=!1,!this.triggerOnFocus&&!c){this.suggestionDisabled=!0,this.suggestions=[];return}this.debouncedGetData(c)},handleChange:function(c){this.$emit("change",c)},handleFocus:function(c){this.activated=!0,this.$emit("focus",c),this.triggerOnFocus&&this.debouncedGetData(this.value)},handleBlur:function(c){this.$emit("blur",c)},handleClear:function(){this.activated=!1,this.$emit("clear")},close:function(c){this.activated=!1},handleKeyEnter:function(c){var d=this;this.suggestionVisible&&this.highlightedIndex>=0&&this.highlightedIndex=this.suggestions.length&&(c=this.suggestions.length-1);var d=this.$refs.suggestions.$el.querySelector(".el-autocomplete-suggestion__wrap"),y=d.querySelectorAll(".el-autocomplete-suggestion__list li"),T=y[c],A=d.scrollTop,L=T.offsetTop;L+T.scrollHeight>A+d.clientHeight&&(d.scrollTop+=T.scrollHeight),L=0&&this.resetTabindex(this.triggerElm),clearTimeout(this.timeout),this.timeout=setTimeout(function(){c.visible=!1},this.trigger==="click"?0:this.hideTimeout))},handleClick:function(){this.disabled||(this.visible?this.hide():this.show())},handleTriggerKeyDown:function(c){var d=c.keyCode;[38,40].indexOf(d)>-1?(this.removeTabindex(),this.resetTabindex(this.menuItems[0]),this.menuItems[0].focus(),c.preventDefault(),c.stopPropagation()):d===13?this.handleClick():[9,27].indexOf(d)>-1&&this.hide()},handleItemKeyDown:function(c){var d=c.keyCode,y=c.target,T=this.menuItemsArray.indexOf(y),A=this.menuItemsArray.length-1,L=void 0;[38,40].indexOf(d)>-1?(d===38?L=T!==0?T-1:0:L=T-1&&(this.hide(),this.triggerElmFocus())},resetTabindex:function(c){this.removeTabindex(),c.setAttribute("tabindex","0")},removeTabindex:function(){this.triggerElm.setAttribute("tabindex","-1"),this.menuItemsArray.forEach(function(c){c.setAttribute("tabindex","-1")})},initAria:function(){this.dropdownElm.setAttribute("id",this.listId),this.triggerElm.setAttribute("aria-haspopup","list"),this.triggerElm.setAttribute("aria-controls",this.listId),this.splitButton||(this.triggerElm.setAttribute("role","button"),this.triggerElm.setAttribute("tabindex",this.tabindex),this.triggerElm.setAttribute("class",(this.triggerElm.getAttribute("class")||"")+" el-dropdown-selfdefine"))},initEvent:function(){var c=this,d=this.trigger,y=this.show,T=this.hide,A=this.handleClick,L=this.splitButton,F=this.handleTriggerKeyDown,G=this.handleItemKeyDown;this.triggerElm=L?this.$refs.trigger.$el:this.$slots.default[0].elm;var q=this.dropdownElm;this.triggerElm.addEventListener("keydown",F),q.addEventListener("keydown",G,!0),L||(this.triggerElm.addEventListener("focus",function(){c.focusing=!0}),this.triggerElm.addEventListener("blur",function(){c.focusing=!1}),this.triggerElm.addEventListener("click",function(){c.focusing=!1})),d==="hover"?(this.triggerElm.addEventListener("mouseenter",y),this.triggerElm.addEventListener("mouseleave",T),q.addEventListener("mouseenter",y),q.addEventListener("mouseleave",T)):d==="click"&&this.triggerElm.addEventListener("click",A)},handleMenuItemClick:function(c,d){this.hideOnClick&&(this.visible=!1),this.$emit("command",c,d)},triggerElmFocus:function(){this.triggerElm.focus&&this.triggerElm.focus()},initDomOperation:function(){this.dropdownElm=this.popperElm,this.menuItems=this.dropdownElm.querySelectorAll("[tabindex='-1']"),this.menuItemsArray=[].slice.call(this.menuItems),this.initEvent(),this.initAria()}},render:function(c){var d=this,y=this.hide,T=this.splitButton,A=this.type,L=this.dropdownSize,F=this.disabled,G=function(Ue){d.$emit("click",Ue),y()},q=null;if(T)q=c("el-button-group",[c("el-button",{attrs:{type:A,size:L,disabled:F},nativeOn:{click:G}},[this.$slots.default]),c("el-button",{ref:"trigger",attrs:{type:A,size:L,disabled:F},class:"el-dropdown__caret-button"},[c("i",{class:"el-dropdown__icon el-icon-arrow-down"})])]);else{q=this.$slots.default;var te=q[0].data||{},se=te.attrs,Ae=se===void 0?{}:se;F&&!Ae.disabled&&(Ae.disabled=!0,te.attrs=Ae)}var $e=F?null:this.$slots.dropdown;return c("div",{class:"el-dropdown",directives:[{name:"clickoutside",value:y}],attrs:{"aria-disabled":F}},[q,$e])}},Ie=ge,Ye,_t,mt=u(Ie,Ye,_t,!1);mt.options.__file="packages/dropdown/src/dropdown.vue";var Kt=mt.exports;Kt.install=function(l){l.component(Kt.name,Kt)};var hr=Kt,_i=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":l.doDestroy}},[d("ul",{directives:[{name:"show",rawName:"v-show",value:l.showPopper,expression:"showPopper"}],staticClass:"el-dropdown-menu el-popper",class:[l.size&&"el-dropdown-menu--"+l.size]},[l._t("default")],2)])},qn=[];_i._withStripped=!0;var bi={name:"ElDropdownMenu",componentName:"ElDropdownMenu",mixins:[ie.a],props:{visibleArrow:{type:Boolean,default:!0},arrowOffset:{type:Number,default:0}},data:function(){return{size:this.dropdown.dropdownSize}},inject:["dropdown"],created:function(){var c=this;this.$on("updatePopper",function(){c.showPopper&&c.updatePopper()}),this.$on("visible",function(d){c.showPopper=d})},mounted:function(){this.dropdown.popperElm=this.popperElm=this.$el,this.referenceElm=this.dropdown.$el,this.dropdown.initDomOperation()},watch:{"dropdown.placement":{immediate:!0,handler:function(c){this.currentPlacement=c}}}},yo=bi,ia=u(yo,_i,qn,!1);ia.options.__file="packages/dropdown/src/dropdown-menu.vue";var _o=ia.exports;_o.install=function(l){l.component(_o.name,_o)};var I_=_o,P_=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("li",{staticClass:"el-dropdown-menu__item",class:{"is-disabled":l.disabled,"el-dropdown-menu__item--divided":l.divided},attrs:{"aria-disabled":l.disabled,tabindex:l.disabled?null:-1},on:{click:l.handleClick}},[l.icon?d("i",{class:l.icon}):l._e(),l._t("default")],2)},L_=[];P_._withStripped=!0;var O_={name:"ElDropdownItem",mixins:[B.a],props:{command:{},disabled:Boolean,divided:Boolean,icon:String},methods:{handleClick:function(c){this.dispatch("ElDropdown","menu-item-click",[this.command,this])}}},ID=O_,R_=u(ID,P_,L_,!1);R_.options.__file="packages/dropdown/src/dropdown-item.vue";var Qf=R_.exports;Qf.install=function(l){l.component(Qf.name,Qf)};var N_=Qf,qr=qr||{};qr.Utils=qr.Utils||{},qr.Utils.focusFirstDescendant=function(l){for(var c=0;c=0;c--){var d=l.childNodes[c];if(qr.Utils.attemptFocus(d)||qr.Utils.focusLastDescendant(d))return!0}return!1},qr.Utils.attemptFocus=function(l){if(!qr.Utils.isFocusable(l))return!1;qr.Utils.IgnoreUtilFocusChanges=!0;try{l.focus()}catch{}return qr.Utils.IgnoreUtilFocusChanges=!1,document.activeElement===l},qr.Utils.isFocusable=function(l){if(l.tabIndex>0||l.tabIndex===0&&l.getAttribute("tabIndex")!==null)return!0;if(l.disabled)return!1;switch(l.nodeName){case"A":return!!l.href&&l.rel!=="ignore";case"INPUT":return l.type!=="hidden"&&l.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},qr.Utils.triggerEvent=function(l,c){var d=void 0;/^mouse|click/.test(c)?d="MouseEvents":/^key/.test(c)?d="KeyboardEvent":d="HTMLEvents";for(var y=document.createEvent(d),T=arguments.length,A=Array(T>2?T-2:0),L=2;L=0;d--)c.splice(d,0,c[d]);c=c.join("")}return/^[0-9a-fA-F]{6}$/.test(c)?{red:parseInt(c.slice(0,2),16),green:parseInt(c.slice(2,4),16),blue:parseInt(c.slice(4,6),16)}:{red:255,green:255,blue:255}},mixColor:function(c,d){var y=this.getColorChannels(c),T=y.red,A=y.green,L=y.blue;return d>0?(T*=1-d,A*=1-d,L*=1-d):(T+=(255-T)*d,A+=(255-A)*d,L+=(255-L)*d),"rgb("+Math.round(T)+", "+Math.round(A)+", "+Math.round(L)+")"},addItem:function(c){this.$set(this.items,c.index,c)},removeItem:function(c){delete this.items[c.index]},addSubmenu:function(c){this.$set(this.submenus,c.index,c)},removeSubmenu:function(c){delete this.submenus[c.index]},openMenu:function(c,d){var y=this.openedMenus;y.indexOf(c)===-1&&(this.uniqueOpened&&(this.openedMenus=y.filter(function(T){return d.indexOf(T)!==-1})),this.openedMenus.push(c))},closeMenu:function(c){var d=this.openedMenus.indexOf(c);d!==-1&&this.openedMenus.splice(d,1)},handleSubmenuClick:function(c){var d=c.index,y=c.indexPath,T=this.openedMenus.indexOf(d)!==-1;T?(this.closeMenu(d),this.$emit("close",d,y)):(this.openMenu(d,y),this.$emit("open",d,y))},handleItemClick:function(c){var d=this,y=c.index,T=c.indexPath,A=this.activeIndex,L=c.index!==null;L&&(this.activeIndex=c.index),this.$emit("select",y,T,c),(this.mode==="horizontal"||this.collapse)&&(this.openedMenus=[]),this.router&&L&&this.routeToItem(c,function(F){if(d.activeIndex=A,F){if(F.name==="NavigationDuplicated")return;console.error(F)}})},initOpenedMenu:function(){var c=this,d=this.activeIndex,y=this.items[d];if(!(!y||this.mode==="horizontal"||this.collapse)){var T=y.indexPath;T.forEach(function(A){var L=c.submenus[A];L&&c.openMenu(A,L.indexPath)})}},routeToItem:function(c,d){var y=c.route||c.index;try{this.$router.push(y,function(){},d)}catch(T){console.error(T)}},open:function(c){var d=this,y=this.submenus[c.toString()].indexPath;y.forEach(function(T){return d.openMenu(T,y)})},close:function(c){this.closeMenu(c)}},mounted:function(){this.initOpenedMenu(),this.$on("item-click",this.handleItemClick),this.$on("submenu-click",this.handleSubmenuClick),this.mode==="horizontal"&&new F_(this.$el),this.$watch("items",this.updateActiveIndex)}},RD=OD,ND,FD,$_=u(RD,ND,FD,!1);$_.options.__file="packages/menu/src/menu.vue";var eh=$_.exports;eh.install=function(l){l.component(eh.name,eh)};var nv=eh,$D=n(21),Cu=n.n($D),B_={inject:["rootMenu"],computed:{indexPath:function(){for(var c=[this.index],d=this.$parent;d.$options.componentName!=="ElMenu";)d.index&&c.unshift(d.index),d=d.$parent;return c},parentMenu:function(){for(var c=this.$parent;c&&["ElMenu","ElSubmenu"].indexOf(c.$options.componentName)===-1;)c=c.$parent;return c},paddingStyle:function(){if(this.rootMenu.mode!=="vertical")return{};var c=20,d=this.$parent;if(this.rootMenu.collapse)c=20;else for(;d&&d.$options.componentName!=="ElMenu";)d.$options.componentName==="ElSubmenu"&&(c+=20),d=d.$parent;return{paddingLeft:c+"px"}}}},BD={props:{transformOrigin:{type:[Boolean,String],default:!1},offset:ie.a.props.offset,boundariesPadding:ie.a.props.boundariesPadding,popperOptions:ie.a.props.popperOptions},data:ie.a.data,methods:ie.a.methods,beforeDestroy:ie.a.beforeDestroy,deactivated:ie.a.deactivated},zD={name:"ElSubmenu",componentName:"ElSubmenu",mixins:[B_,B.a,BD],components:{ElCollapseTransition:Cu.a},props:{index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0}},data:function(){return{popperJS:null,timeout:null,items:{},submenus:{},mouseInChild:!1}},watch:{opened:function(c){var d=this;this.isMenuPopup&&this.$nextTick(function(y){d.updatePopper()})}},computed:{appendToBody:function(){return this.popperAppendToBody===void 0?this.isFirstLevel:this.popperAppendToBody},menuTransitionName:function(){return this.rootMenu.collapse?"el-zoom-in-left":"el-zoom-in-top"},opened:function(){return this.rootMenu.openedMenus.indexOf(this.index)>-1},active:function(){var c=!1,d=this.submenus,y=this.items;return Object.keys(y).forEach(function(T){y[T].active&&(c=!0)}),Object.keys(d).forEach(function(T){d[T].active&&(c=!0)}),c},hoverBackground:function(){return this.rootMenu.hoverBackground},backgroundColor:function(){return this.rootMenu.backgroundColor||""},activeTextColor:function(){return this.rootMenu.activeTextColor||""},textColor:function(){return this.rootMenu.textColor||""},mode:function(){return this.rootMenu.mode},isMenuPopup:function(){return this.rootMenu.isMenuPopup},titleStyle:function(){return this.mode!=="horizontal"?{color:this.textColor}:{borderBottomColor:this.active?this.rootMenu.activeTextColor?this.activeTextColor:"":"transparent",color:this.active?this.activeTextColor:this.textColor}},isFirstLevel:function(){for(var c=!0,d=this.$parent;d&&d!==this.rootMenu;)if(["ElSubmenu","ElMenuItemGroup"].indexOf(d.$options.componentName)>-1){c=!1;break}else d=d.$parent;return c}},methods:{handleCollapseToggle:function(c){c?this.initPopper():this.doDestroy()},addItem:function(c){this.$set(this.items,c.index,c)},removeItem:function(c){delete this.items[c.index]},addSubmenu:function(c){this.$set(this.submenus,c.index,c)},removeSubmenu:function(c){delete this.submenus[c.index]},handleClick:function(){var c=this.rootMenu,d=this.disabled;c.menuTrigger==="hover"&&c.mode==="horizontal"||c.collapse&&c.mode==="vertical"||d||this.dispatch("ElMenu","submenu-click",this)},handleMouseenter:function(c){var d=this,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.showTimeout;if(!(!("ActiveXObject"in window)&&c.type==="focus"&&!c.relatedTarget)){var T=this.rootMenu,A=this.disabled;T.menuTrigger==="click"&&T.mode==="horizontal"||!T.collapse&&T.mode==="vertical"||A||(this.dispatch("ElSubmenu","mouse-enter-child"),clearTimeout(this.timeout),this.timeout=setTimeout(function(){d.rootMenu.openMenu(d.index,d.indexPath)},y),this.appendToBody&&this.$parent.$el.dispatchEvent(new MouseEvent("mouseenter")))}},handleMouseleave:function(){var c=this,d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,y=this.rootMenu;y.menuTrigger==="click"&&y.mode==="horizontal"||!y.collapse&&y.mode==="vertical"||(this.dispatch("ElSubmenu","mouse-leave-child"),clearTimeout(this.timeout),this.timeout=setTimeout(function(){!c.mouseInChild&&c.rootMenu.closeMenu(c.index)},this.hideTimeout),this.appendToBody&&d&&this.$parent.$options.name==="ElSubmenu"&&this.$parent.handleMouseleave(!0))},handleTitleMouseenter:function(){if(!(this.mode==="horizontal"&&!this.rootMenu.backgroundColor)){var c=this.$refs["submenu-title"];c&&(c.style.backgroundColor=this.rootMenu.hoverBackground)}},handleTitleMouseleave:function(){if(!(this.mode==="horizontal"&&!this.rootMenu.backgroundColor)){var c=this.$refs["submenu-title"];c&&(c.style.backgroundColor=this.rootMenu.backgroundColor||"")}},updatePlacement:function(){this.currentPlacement=this.mode==="horizontal"&&this.isFirstLevel?"bottom-start":"right-start"},initPopper:function(){this.referenceElm=this.$el,this.popperElm=this.$refs.menu,this.updatePlacement()}},created:function(){var c=this;this.$on("toggle-collapse",this.handleCollapseToggle),this.$on("mouse-enter-child",function(){c.mouseInChild=!0,clearTimeout(c.timeout)}),this.$on("mouse-leave-child",function(){c.mouseInChild=!1,clearTimeout(c.timeout)})},mounted:function(){this.parentMenu.addSubmenu(this),this.rootMenu.addSubmenu(this),this.initPopper()},beforeDestroy:function(){this.parentMenu.removeSubmenu(this),this.rootMenu.removeSubmenu(this)},render:function(c){var d=this,y=this.active,T=this.opened,A=this.paddingStyle,L=this.titleStyle,F=this.backgroundColor,G=this.rootMenu,q=this.currentPlacement,te=this.menuTransitionName,se=this.mode,Ae=this.disabled,$e=this.popperClass,Ve=this.$slots,Ue=this.isFirstLevel,De=c("transition",{attrs:{name:te}},[c("div",{ref:"menu",directives:[{name:"show",value:T}],class:["el-menu--"+se,$e],on:{mouseenter:function(Gt){return d.handleMouseenter(Gt,100)},mouseleave:function(){return d.handleMouseleave(!0)},focus:function(Gt){return d.handleMouseenter(Gt,100)}}},[c("ul",{attrs:{role:"menu"},class:["el-menu el-menu--popup","el-menu--popup-"+q],style:{backgroundColor:G.backgroundColor||""}},[Ve.default])])]),Et=c("el-collapse-transition",[c("ul",{attrs:{role:"menu"},class:"el-menu el-menu--inline",directives:[{name:"show",value:T}],style:{backgroundColor:G.backgroundColor||""}},[Ve.default])]),pt=G.mode==="horizontal"&&Ue||G.mode==="vertical"&&!G.collapse?"el-icon-arrow-down":"el-icon-arrow-right";return c("li",{class:{"el-submenu":!0,"is-active":y,"is-opened":T,"is-disabled":Ae},attrs:{role:"menuitem","aria-haspopup":"true","aria-expanded":T},on:{mouseenter:this.handleMouseenter,mouseleave:function(){return d.handleMouseleave(!1)},focus:this.handleMouseenter}},[c("div",{class:"el-submenu__title",ref:"submenu-title",on:{click:this.handleClick,mouseenter:this.handleTitleMouseenter,mouseleave:this.handleTitleMouseleave},style:[A,L,{backgroundColor:F}]},[Ve.title,c("i",{class:["el-submenu__icon-arrow",pt]})]),this.isMenuPopup?De:Et])}},VD=zD,th,HD,Tu=u(VD,th,HD,!1);Tu.options.__file="packages/menu/src/submenu.vue";var rh=Tu.exports;rh.install=function(l){l.component(rh.name,rh)};var z_=rh,V_=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("li",{staticClass:"el-menu-item",class:{"is-active":l.active,"is-disabled":l.disabled},style:[l.paddingStyle,l.itemStyle,{backgroundColor:l.backgroundColor}],attrs:{role:"menuitem",tabindex:"-1"},on:{click:l.handleClick,mouseenter:l.onMouseEnter,focus:l.onMouseEnter,blur:l.onMouseLeave,mouseleave:l.onMouseLeave}},[l.parentMenu.$options.componentName==="ElMenu"&&l.rootMenu.collapse&&l.$slots.title?d("el-tooltip",{attrs:{effect:"dark",placement:"right"}},[d("div",{attrs:{slot:"content"},slot:"content"},[l._t("title")],2),d("div",{staticStyle:{position:"absolute",left:"0",top:"0",height:"100%",width:"100%",display:"inline-block","box-sizing":"border-box",padding:"0 20px"}},[l._t("default")],2)]):[l._t("default"),l._t("title")]],2)},H_=[];V_._withStripped=!0;var j_=n(26),nh=n.n(j_),jD={name:"ElMenuItem",componentName:"ElMenuItem",mixins:[B_,B.a],components:{ElTooltip:nh.a},props:{index:{default:null,validator:function(c){return typeof c=="string"||c===null}},route:[String,Object],disabled:Boolean},computed:{active:function(){return this.index===this.rootMenu.activeIndex},hoverBackground:function(){return this.rootMenu.hoverBackground},backgroundColor:function(){return this.rootMenu.backgroundColor||""},activeTextColor:function(){return this.rootMenu.activeTextColor||""},textColor:function(){return this.rootMenu.textColor||""},mode:function(){return this.rootMenu.mode},itemStyle:function(){var c={color:this.active?this.activeTextColor:this.textColor};return this.mode==="horizontal"&&!this.isNested&&(c.borderBottomColor=this.active?this.rootMenu.activeTextColor?this.activeTextColor:"":"transparent"),c},isNested:function(){return this.parentMenu!==this.rootMenu}},methods:{onMouseEnter:function(){this.mode==="horizontal"&&!this.rootMenu.backgroundColor||(this.$el.style.backgroundColor=this.hoverBackground)},onMouseLeave:function(){this.mode==="horizontal"&&!this.rootMenu.backgroundColor||(this.$el.style.backgroundColor=this.backgroundColor)},handleClick:function(){this.disabled||(this.dispatch("ElMenu","item-click",this),this.$emit("click",this))}},mounted:function(){this.parentMenu.addItem(this),this.rootMenu.addItem(this)},beforeDestroy:function(){this.parentMenu.removeItem(this),this.rootMenu.removeItem(this)}},WD=jD,W_=u(WD,V_,H_,!1);W_.options.__file="packages/menu/src/menu-item.vue";var ih=W_.exports;ih.install=function(l){l.component(ih.name,ih)};var iv=ih,av=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("li",{staticClass:"el-menu-item-group"},[d("div",{staticClass:"el-menu-item-group__title",style:{paddingLeft:l.levelPadding+"px"}},[l.$slots.title?l._t("title"):[l._v(l._s(l.title))]],2),d("ul",[l._t("default")],2)])},G_=[];av._withStripped=!0;var ov={name:"ElMenuItemGroup",componentName:"ElMenuItemGroup",inject:["rootMenu"],props:{title:{type:String}},data:function(){return{paddingLeft:20}},computed:{levelPadding:function(){var c=20,d=this.$parent;if(this.rootMenu.collapse)return 20;for(;d&&d.$options.componentName!=="ElMenu";)d.$options.componentName==="ElSubmenu"&&(c+=20),d=d.$parent;return c}}},GD=ov,sv=u(GD,av,G_,!1);sv.options.__file="packages/menu/src/menu-item-group.vue";var os=sv.exports;os.install=function(l){l.component(os.name,os)};var lv=os,U_=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{class:[l.type==="textarea"?"el-textarea":"el-input",l.inputSize?"el-input--"+l.inputSize:"",{"is-disabled":l.inputDisabled,"is-exceed":l.inputExceed,"el-input-group":l.$slots.prepend||l.$slots.append,"el-input-group--append":l.$slots.append,"el-input-group--prepend":l.$slots.prepend,"el-input--prefix":l.$slots.prefix||l.prefixIcon,"el-input--suffix":l.$slots.suffix||l.suffixIcon||l.clearable||l.showPassword}],on:{mouseenter:function(y){l.hovering=!0},mouseleave:function(y){l.hovering=!1}}},[l.type!=="textarea"?[l.$slots.prepend?d("div",{staticClass:"el-input-group__prepend"},[l._t("prepend")],2):l._e(),l.type!=="textarea"?d("input",l._b({ref:"input",staticClass:"el-input__inner",attrs:{tabindex:l.tabindex,type:l.showPassword?l.passwordVisible?"text":"password":l.type,disabled:l.inputDisabled,readonly:l.readonly,autocomplete:l.autoComplete||l.autocomplete,"aria-label":l.label},on:{compositionstart:l.handleCompositionStart,compositionupdate:l.handleCompositionUpdate,compositionend:l.handleCompositionEnd,input:l.handleInput,focus:l.handleFocus,blur:l.handleBlur,change:l.handleChange}},"input",l.$attrs,!1)):l._e(),l.$slots.prefix||l.prefixIcon?d("span",{staticClass:"el-input__prefix"},[l._t("prefix"),l.prefixIcon?d("i",{staticClass:"el-input__icon",class:l.prefixIcon}):l._e()],2):l._e(),l.getSuffixVisible()?d("span",{staticClass:"el-input__suffix"},[d("span",{staticClass:"el-input__suffix-inner"},[!l.showClear||!l.showPwdVisible||!l.isWordLimitVisible?[l._t("suffix"),l.suffixIcon?d("i",{staticClass:"el-input__icon",class:l.suffixIcon}):l._e()]:l._e(),l.showClear?d("i",{staticClass:"el-input__icon el-icon-circle-close el-input__clear",on:{mousedown:function(y){y.preventDefault()},click:l.clear}}):l._e(),l.showPwdVisible?d("i",{staticClass:"el-input__icon el-icon-view el-input__clear",on:{click:l.handlePasswordVisible}}):l._e(),l.isWordLimitVisible?d("span",{staticClass:"el-input__count"},[d("span",{staticClass:"el-input__count-inner"},[l._v(` - `+l._s(l.textLength)+"/"+l._s(l.upperLimit)+` - `)])]):l._e()],2),l.validateState?d("i",{staticClass:"el-input__icon",class:["el-input__validateIcon",l.validateIcon]}):l._e()]):l._e(),l.$slots.append?d("div",{staticClass:"el-input-group__append"},[l._t("append")],2):l._e()]:d("textarea",l._b({ref:"textarea",staticClass:"el-textarea__inner",style:l.textareaStyle,attrs:{tabindex:l.tabindex,disabled:l.inputDisabled,readonly:l.readonly,autocomplete:l.autoComplete||l.autocomplete,"aria-label":l.label},on:{compositionstart:l.handleCompositionStart,compositionupdate:l.handleCompositionUpdate,compositionend:l.handleCompositionEnd,input:l.handleInput,focus:l.handleFocus,blur:l.handleBlur,change:l.handleChange}},"textarea",l.$attrs,!1)),l.isWordLimitVisible&&l.type==="textarea"?d("span",{staticClass:"el-input__count"},[l._v(l._s(l.textLength)+"/"+l._s(l.upperLimit))]):l._e()],2)},Y_=[];U_._withStripped=!0;var Kn=void 0,uv=` - height:0 !important; - visibility:hidden !important; - overflow:hidden !important; - position:absolute !important; - z-index:-1000 !important; - top:0 !important; - right:0 !important -`,UD=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function q_(l){var c=window.getComputedStyle(l),d=c.getPropertyValue("box-sizing"),y=parseFloat(c.getPropertyValue("padding-bottom"))+parseFloat(c.getPropertyValue("padding-top")),T=parseFloat(c.getPropertyValue("border-bottom-width"))+parseFloat(c.getPropertyValue("border-top-width")),A=UD.map(function(L){return L+":"+c.getPropertyValue(L)}).join(";");return{contextStyle:A,paddingSize:y,borderSize:T,boxSizing:d}}function ah(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;Kn||(Kn=document.createElement("textarea"),document.body.appendChild(Kn));var y=q_(l),T=y.paddingSize,A=y.borderSize,L=y.boxSizing,F=y.contextStyle;Kn.setAttribute("style",F+";"+uv),Kn.value=l.value||l.placeholder||"";var G=Kn.scrollHeight,q={};L==="border-box"?G=G+A:L==="content-box"&&(G=G-T),Kn.value="";var te=Kn.scrollHeight-T;if(c!==null){var se=te*c;L==="border-box"&&(se=se+T+A),G=Math.max(se,G),q.minHeight=se+"px"}if(d!==null){var Ae=te*d;L==="border-box"&&(Ae=Ae+T+A),G=Math.min(Ae,G)}return q.height=G+"px",Kn.parentNode&&Kn.parentNode.removeChild(Kn),Kn=null,q}var cv=n(7),Cr=n.n(cv),ss=n(19),K_={name:"ElInput",componentName:"ElInput",mixins:[B.a,V.a],inheritAttrs:!1,inject:{elForm:{default:""},elFormItem:{default:""}},data:function(){return{textareaCalcStyle:{},hovering:!1,focused:!1,isComposing:!1,passwordVisible:!1}},props:{value:[String,Number],size:String,resize:String,form:String,disabled:Boolean,readonly:Boolean,type:{type:String,default:"text"},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:"off"},autoComplete:{type:String,validator:function(c){return!0}},validateEvent:{type:Boolean,default:!0},suffixIcon:String,prefixIcon:String,label:String,clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},tabindex:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},validateState:function(){return this.elFormItem?this.elFormItem.validateState:""},needStatusIcon:function(){return this.elForm?this.elForm.statusIcon:!1},validateIcon:function(){return{validating:"el-icon-loading",success:"el-icon-circle-check",error:"el-icon-circle-close"}[this.validateState]},textareaStyle:function(){return Cr()({},this.textareaCalcStyle,{resize:this.resize})},inputSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputDisabled:function(){return this.disabled||(this.elForm||{}).disabled},nativeInputValue:function(){return this.value===null||this.value===void 0?"":String(this.value)},showClear:function(){return this.clearable&&!this.inputDisabled&&!this.readonly&&this.nativeInputValue&&(this.focused||this.hovering)},showPwdVisible:function(){return this.showPassword&&!this.inputDisabled&&!this.readonly&&(!!this.nativeInputValue||this.focused)},isWordLimitVisible:function(){return this.showWordLimit&&this.$attrs.maxlength&&(this.type==="text"||this.type==="textarea")&&!this.inputDisabled&&!this.readonly&&!this.showPassword},upperLimit:function(){return this.$attrs.maxlength},textLength:function(){return typeof this.value=="number"?String(this.value).length:(this.value||"").length},inputExceed:function(){return this.isWordLimitVisible&&this.textLength>this.upperLimit}},watch:{value:function(c){this.$nextTick(this.resizeTextarea),this.validateEvent&&this.dispatch("ElFormItem","el.form.change",[c])},nativeInputValue:function(){this.setNativeInputValue()},type:function(){var c=this;this.$nextTick(function(){c.setNativeInputValue(),c.resizeTextarea(),c.updateIconOffset()})}},methods:{focus:function(){this.getInput().focus()},blur:function(){this.getInput().blur()},getMigratingConfig:function(){return{props:{icon:"icon is removed, use suffix-icon / prefix-icon instead.","on-icon-click":"on-icon-click is removed."},events:{click:"click is removed."}}},handleBlur:function(c){this.focused=!1,this.$emit("blur",c),this.validateEvent&&this.dispatch("ElFormItem","el.form.blur",[this.value])},select:function(){this.getInput().select()},resizeTextarea:function(){if(!this.$isServer){var c=this.autosize,d=this.type;if(d==="textarea"){if(!c){this.textareaCalcStyle={minHeight:ah(this.$refs.textarea).minHeight};return}var y=c.minRows,T=c.maxRows;this.textareaCalcStyle=ah(this.$refs.textarea,y,T)}}},setNativeInputValue:function(){var c=this.getInput();c&&c.value!==this.nativeInputValue&&(c.value=this.nativeInputValue)},handleFocus:function(c){this.focused=!0,this.$emit("focus",c)},handleCompositionStart:function(c){this.$emit("compositionstart",c),this.isComposing=!0},handleCompositionUpdate:function(c){this.$emit("compositionupdate",c);var d=c.target.value,y=d[d.length-1]||"";this.isComposing=!Object(ss.isKorean)(y)},handleCompositionEnd:function(c){this.$emit("compositionend",c),this.isComposing&&(this.isComposing=!1,this.handleInput(c))},handleInput:function(c){this.isComposing||c.target.value!==this.nativeInputValue&&(this.$emit("input",c.target.value),this.$nextTick(this.setNativeInputValue))},handleChange:function(c){this.$emit("change",c.target.value)},calcIconOffset:function(c){var d=[].slice.call(this.$el.querySelectorAll(".el-input__"+c)||[]);if(d.length){for(var y=null,T=0;T=0&&c===parseInt(c,10)}}},data:function(){return{currentValue:0,userInput:null}},watch:{value:{immediate:!0,handler:function(c){var d=c===void 0?c:Number(c);if(d!==void 0){if(isNaN(d))return;if(this.stepStrictly){var y=this.getPrecision(this.step),T=Math.pow(10,y);d=Math.round(d/this.step)*T*this.step/T}this.precision!==void 0&&(d=this.toPrecision(d,this.precision))}d>=this.max&&(d=this.max),d<=this.min&&(d=this.min),this.currentValue=d,this.userInput=null,this.$emit("input",d)}}},computed:{minDisabled:function(){return this._decrease(this.value,this.step)this.max},numPrecision:function(){var c=this.value,d=this.step,y=this.getPrecision,T=this.precision,A=y(d);return T!==void 0?(A>T&&console.warn("[Element Warn][InputNumber]precision should not be less than the decimal places of step"),T):Math.max(y(c),A)},controlsAtRight:function(){return this.controls&&this.controlsPosition==="right"},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},inputNumberSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputNumberDisabled:function(){return this.disabled||!!(this.elForm||{}).disabled},displayValue:function(){if(this.userInput!==null)return this.userInput;var c=this.currentValue;if(typeof c=="number"){if(this.stepStrictly){var d=this.getPrecision(this.step),y=Math.pow(10,d);c=Math.round(c/this.step)*y*this.step/y}this.precision!==void 0&&(c=c.toFixed(this.precision))}return c}},methods:{toPrecision:function(c,d){return d===void 0&&(d=this.numPrecision),parseFloat(Math.round(c*Math.pow(10,d))/Math.pow(10,d))},getPrecision:function(c){if(c===void 0)return 0;var d=c.toString(),y=d.indexOf("."),T=0;return y!==-1&&(T=d.length-y-1),T},_increase:function(c,d){if(typeof c!="number"&&c!==void 0)return this.currentValue;var y=Math.pow(10,this.numPrecision);return this.toPrecision((y*c+y*d)/y)},_decrease:function(c,d){if(typeof c!="number"&&c!==void 0)return this.currentValue;var y=Math.pow(10,this.numPrecision);return this.toPrecision((y*c-y*d)/y)},increase:function(){if(!(this.inputNumberDisabled||this.maxDisabled)){var c=this.value||0,d=this._increase(c,this.step);this.setCurrentValue(d)}},decrease:function(){if(!(this.inputNumberDisabled||this.minDisabled)){var c=this.value||0,d=this._decrease(c,this.step);this.setCurrentValue(d)}},handleBlur:function(c){this.$emit("blur",c)},handleFocus:function(c){this.$emit("focus",c)},setCurrentValue:function(c){var d=this.currentValue;typeof c=="number"&&this.precision!==void 0&&(c=this.toPrecision(c,this.precision)),c>=this.max&&(c=this.max),c<=this.min&&(c=this.min),d!==c&&(this.userInput=null,this.$emit("input",c),this.$emit("change",c,d),this.currentValue=c)},handleInput:function(c){this.userInput=c},handleInputChange:function(c){var d=c===""?void 0:Number(c);(!isNaN(d)||c==="")&&this.setCurrentValue(d),this.userInput=null},select:function(){this.$refs.input.select()}},mounted:function(){var c=this.$refs.input.$refs.input;c.setAttribute("role","spinbutton"),c.setAttribute("aria-valuemax",this.max),c.setAttribute("aria-valuemin",this.min),c.setAttribute("aria-valuenow",this.currentValue),c.setAttribute("aria-disabled",this.inputNumberDisabled)},updated:function(){if(!(!this.$refs||!this.$refs.input)){var c=this.$refs.input.$refs.input;c.setAttribute("aria-valuenow",this.currentValue)}}},Z_=KD,Q_=u(Z_,dv,qD,!1);Q_.options.__file="packages/input-number/src/input-number.vue";var oh=Q_.exports;oh.install=function(l){l.component(oh.name,oh)};var J_=oh,eb=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("label",{staticClass:"el-radio",class:[l.border&&l.radioSize?"el-radio--"+l.radioSize:"",{"is-disabled":l.isDisabled},{"is-focus":l.focus},{"is-bordered":l.border},{"is-checked":l.model===l.label}],attrs:{role:"radio","aria-checked":l.model===l.label,"aria-disabled":l.isDisabled,tabindex:l.tabIndex},on:{keydown:function(y){if(!("button"in y)&&l._k(y.keyCode,"space",32,y.key,[" ","Spacebar"]))return null;y.stopPropagation(),y.preventDefault(),l.model=l.isDisabled?l.model:l.label}}},[d("span",{staticClass:"el-radio__input",class:{"is-disabled":l.isDisabled,"is-checked":l.model===l.label}},[d("span",{staticClass:"el-radio__inner"}),d("input",{directives:[{name:"model",rawName:"v-model",value:l.model,expression:"model"}],ref:"radio",staticClass:"el-radio__original",attrs:{type:"radio","aria-hidden":"true",name:l.name,disabled:l.isDisabled,tabindex:"-1",autocomplete:"off"},domProps:{value:l.label,checked:l._q(l.model,l.label)},on:{focus:function(y){l.focus=!0},blur:function(y){l.focus=!1},change:[function(y){l.model=l.label},l.handleChange]}})]),d("span",{staticClass:"el-radio__label",on:{keydown:function(y){y.stopPropagation()}}},[l._t("default"),l.$slots.default?l._e():[l._v(l._s(l.label))]],2)])},pv=[];eb._withStripped=!0;var XD={name:"ElRadio",mixins:[B.a],inject:{elForm:{default:""},elFormItem:{default:""}},componentName:"ElRadio",props:{value:{},label:{},disabled:Boolean,name:String,border:Boolean,size:String},data:function(){return{focus:!1}},computed:{isGroup:function(){for(var c=this.$parent;c;)if(c.$options.componentName!=="ElRadioGroup")c=c.$parent;else return this._radioGroup=c,!0;return!1},model:{get:function(){return this.isGroup?this._radioGroup.value:this.value},set:function(c){this.isGroup?this.dispatch("ElRadioGroup","input",[c]):this.$emit("input",c),this.$refs.radio&&(this.$refs.radio.checked=this.model===this.label)}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},radioSize:function(){var c=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._radioGroup.radioGroupSize||c},isDisabled:function(){return this.isGroup?this._radioGroup.disabled||this.disabled||(this.elForm||{}).disabled:this.disabled||(this.elForm||{}).disabled},tabIndex:function(){return this.isDisabled||this.isGroup&&this.model!==this.label?-1:0}},methods:{handleChange:function(){var c=this;this.$nextTick(function(){c.$emit("change",c.model),c.isGroup&&c.dispatch("ElRadioGroup","handleChange",c.model)})}}},ZD=XD,tb=u(ZD,eb,pv,!1);tb.options.__file="packages/radio/src/radio.vue";var sh=tb.exports;sh.install=function(l){l.component(sh.name,sh)};var rb=sh,ur=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d(l._elTag,{tag:"component",staticClass:"el-radio-group",attrs:{role:"radiogroup"},on:{keydown:l.handleKeydown}},[l._t("default")],2)},cr=[];ur._withStripped=!0;var lh=Object.freeze({LEFT:37,UP:38,RIGHT:39,DOWN:40}),QD={name:"ElRadioGroup",componentName:"ElRadioGroup",inject:{elFormItem:{default:""}},mixins:[B.a],props:{value:{},size:String,fill:String,textColor:String,disabled:Boolean},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},_elTag:function(){var c=(this.$vnode.data||{}).tag;return(!c||c==="component")&&(c="div"),c},radioGroupSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size}},created:function(){var c=this;this.$on("handleChange",function(d){c.$emit("change",d)})},mounted:function(){var c=this.$el.querySelectorAll("[type=radio]"),d=this.$el.querySelectorAll("[role=radio]")[0];![].some.call(c,function(y){return y.checked})&&d&&(d.tabIndex=0)},methods:{handleKeydown:function(c){var d=c.target,y=d.nodeName==="INPUT"?"[type=radio]":"[role=radio]",T=this.$el.querySelectorAll(y),A=T.length,L=[].indexOf.call(T,d),F=this.$el.querySelectorAll("[role=radio]");switch(c.keyCode){case lh.LEFT:case lh.UP:c.stopPropagation(),c.preventDefault(),L===0?(F[A-1].click(),F[A-1].focus()):(F[L-1].click(),F[L-1].focus());break;case lh.RIGHT:case lh.DOWN:L===A-1?(c.stopPropagation(),c.preventDefault(),F[0].click(),F[0].focus()):(F[L+1].click(),F[L+1].focus());break}}},watch:{value:function(c){this.dispatch("ElFormItem","el.form.change",[this.value])}}},JD=QD,nb=u(JD,ur,cr,!1);nb.options.__file="packages/radio/src/radio-group.vue";var uh=nb.exports;uh.install=function(l){l.component(uh.name,uh)};var ib=uh,vv=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("label",{staticClass:"el-radio-button",class:[l.size?"el-radio-button--"+l.size:"",{"is-active":l.value===l.label},{"is-disabled":l.isDisabled},{"is-focus":l.focus}],attrs:{role:"radio","aria-checked":l.value===l.label,"aria-disabled":l.isDisabled,tabindex:l.tabIndex},on:{keydown:function(y){if(!("button"in y)&&l._k(y.keyCode,"space",32,y.key,[" ","Spacebar"]))return null;y.stopPropagation(),y.preventDefault(),l.value=l.isDisabled?l.value:l.label}}},[d("input",{directives:[{name:"model",rawName:"v-model",value:l.value,expression:"value"}],staticClass:"el-radio-button__orig-radio",attrs:{type:"radio",name:l.name,disabled:l.isDisabled,tabindex:"-1",autocomplete:"off"},domProps:{value:l.label,checked:l._q(l.value,l.label)},on:{change:[function(y){l.value=l.label},l.handleChange],focus:function(y){l.focus=!0},blur:function(y){l.focus=!1}}}),d("span",{staticClass:"el-radio-button__inner",style:l.value===l.label?l.activeStyle:null,on:{keydown:function(y){y.stopPropagation()}}},[l._t("default"),l.$slots.default?l._e():[l._v(l._s(l.label))]],2)])},ek=[];vv._withStripped=!0;var an={name:"ElRadioButton",mixins:[B.a],inject:{elForm:{default:""},elFormItem:{default:""}},props:{label:{},disabled:Boolean,name:String},data:function(){return{focus:!1}},computed:{value:{get:function(){return this._radioGroup.value},set:function(c){this._radioGroup.$emit("input",c)}},_radioGroup:function(){for(var c=this.$parent;c;)if(c.$options.componentName!=="ElRadioGroup")c=c.$parent;else return c;return!1},activeStyle:function(){return{backgroundColor:this._radioGroup.fill||"",borderColor:this._radioGroup.fill||"",boxShadow:this._radioGroup.fill?"-1px 0 0 0 "+this._radioGroup.fill:"",color:this._radioGroup.textColor||""}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},size:function(){return this._radioGroup.radioGroupSize||this._elFormItemSize||(this.$ELEMENT||{}).size},isDisabled:function(){return this.disabled||this._radioGroup.disabled||(this.elForm||{}).disabled},tabIndex:function(){return this.isDisabled||this._radioGroup&&this.value!==this.label?-1:0}},methods:{handleChange:function(){var c=this;this.$nextTick(function(){c.dispatch("ElRadioGroup","handleChange",c.value)})}}},gv=an,bo=u(gv,vv,ek,!1);bo.options.__file="packages/radio/src/radio-button.vue";var ku=bo.exports;ku.install=function(l){l.component(ku.name,ku)};var ch=ku,Xn=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("label",{staticClass:"el-checkbox",class:[l.border&&l.checkboxSize?"el-checkbox--"+l.checkboxSize:"",{"is-disabled":l.isDisabled},{"is-bordered":l.border},{"is-checked":l.isChecked}],attrs:{id:l.id}},[d("span",{staticClass:"el-checkbox__input",class:{"is-disabled":l.isDisabled,"is-checked":l.isChecked,"is-indeterminate":l.indeterminate,"is-focus":l.focus},attrs:{tabindex:l.indeterminate?0:!1,role:l.indeterminate?"checkbox":!1,"aria-checked":l.indeterminate?"mixed":!1}},[d("span",{staticClass:"el-checkbox__inner"}),l.trueLabel||l.falseLabel?d("input",{directives:[{name:"model",rawName:"v-model",value:l.model,expression:"model"}],staticClass:"el-checkbox__original",attrs:{type:"checkbox","aria-hidden":l.indeterminate?"true":"false",name:l.name,disabled:l.isDisabled,"true-value":l.trueLabel,"false-value":l.falseLabel},domProps:{checked:Array.isArray(l.model)?l._i(l.model,null)>-1:l._q(l.model,l.trueLabel)},on:{change:[function(y){var T=l.model,A=y.target,L=A.checked?l.trueLabel:l.falseLabel;if(Array.isArray(T)){var F=null,G=l._i(T,F);A.checked?G<0&&(l.model=T.concat([F])):G>-1&&(l.model=T.slice(0,G).concat(T.slice(G+1)))}else l.model=L},l.handleChange],focus:function(y){l.focus=!0},blur:function(y){l.focus=!1}}}):d("input",{directives:[{name:"model",rawName:"v-model",value:l.model,expression:"model"}],staticClass:"el-checkbox__original",attrs:{type:"checkbox","aria-hidden":l.indeterminate?"true":"false",disabled:l.isDisabled,name:l.name},domProps:{value:l.label,checked:Array.isArray(l.model)?l._i(l.model,l.label)>-1:l.model},on:{change:[function(y){var T=l.model,A=y.target,L=!!A.checked;if(Array.isArray(T)){var F=l.label,G=l._i(T,F);A.checked?G<0&&(l.model=T.concat([F])):G>-1&&(l.model=T.slice(0,G).concat(T.slice(G+1)))}else l.model=L},l.handleChange],focus:function(y){l.focus=!0},blur:function(y){l.focus=!1}}})]),l.$slots.default||l.label?d("span",{staticClass:"el-checkbox__label"},[l._t("default"),l.$slots.default?l._e():[l._v(l._s(l.label))]],2):l._e()])},ab=[];Xn._withStripped=!0;var ob={name:"ElCheckbox",mixins:[B.a],inject:{elForm:{default:""},elFormItem:{default:""}},componentName:"ElCheckbox",data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},computed:{model:{get:function(){return this.isGroup?this.store:this.value!==void 0?this.value:this.selfModel},set:function(c){this.isGroup?(this.isLimitExceeded=!1,this._checkboxGroup.min!==void 0&&c.lengththis._checkboxGroup.max&&(this.isLimitExceeded=!0),this.isLimitExceeded===!1&&this.dispatch("ElCheckboxGroup","input",[c])):(this.$emit("input",c),this.selfModel=c)}},isChecked:function(){if({}.toString.call(this.model)==="[object Boolean]")return this.model;if(Array.isArray(this.model))return this.model.indexOf(this.label)>-1;if(this.model!==null&&this.model!==void 0)return this.model===this.trueLabel},isGroup:function(){for(var c=this.$parent;c;)if(c.$options.componentName!=="ElCheckboxGroup")c=c.$parent;else return this._checkboxGroup=c,!0;return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},isLimitDisabled:function(){var c=this._checkboxGroup,d=c.max,y=c.min;return!!(d||y)&&this.model.length>=d&&!this.isChecked||this.model.length<=y&&this.isChecked},isDisabled:function(){return this.isGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxSize:function(){var c=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._checkboxGroup.checkboxGroupSize||c}},props:{value:{},label:{},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],id:String,controls:String,border:Boolean,size:String},methods:{addToStore:function(){Array.isArray(this.model)&&this.model.indexOf(this.label)===-1?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(c){var d=this;if(!this.isLimitExceeded){var y=void 0;c.target.checked?y=this.trueLabel===void 0?!0:this.trueLabel:y=this.falseLabel===void 0?!1:this.falseLabel,this.$emit("change",y,c),this.$nextTick(function(){d.isGroup&&d.dispatch("ElCheckboxGroup","change",[d._checkboxGroup.value])})}}},created:function(){this.checked&&this.addToStore()},mounted:function(){this.indeterminate&&this.$el.setAttribute("aria-controls",this.controls)},watch:{value:function(c){this.dispatch("ElFormItem","el.form.change",c)}}},sb=ob,mv=u(sb,Xn,ab,!1);mv.options.__file="packages/checkbox/src/checkbox.vue";var Mu=mv.exports;Mu.install=function(l){l.component(Mu.name,Mu)};var yv=Mu,En=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("label",{staticClass:"el-checkbox-button",class:[l.size?"el-checkbox-button--"+l.size:"",{"is-disabled":l.isDisabled},{"is-checked":l.isChecked},{"is-focus":l.focus}],attrs:{role:"checkbox","aria-checked":l.isChecked,"aria-disabled":l.isDisabled}},[l.trueLabel||l.falseLabel?d("input",{directives:[{name:"model",rawName:"v-model",value:l.model,expression:"model"}],staticClass:"el-checkbox-button__original",attrs:{type:"checkbox",name:l.name,disabled:l.isDisabled,"true-value":l.trueLabel,"false-value":l.falseLabel},domProps:{checked:Array.isArray(l.model)?l._i(l.model,null)>-1:l._q(l.model,l.trueLabel)},on:{change:[function(y){var T=l.model,A=y.target,L=A.checked?l.trueLabel:l.falseLabel;if(Array.isArray(T)){var F=null,G=l._i(T,F);A.checked?G<0&&(l.model=T.concat([F])):G>-1&&(l.model=T.slice(0,G).concat(T.slice(G+1)))}else l.model=L},l.handleChange],focus:function(y){l.focus=!0},blur:function(y){l.focus=!1}}}):d("input",{directives:[{name:"model",rawName:"v-model",value:l.model,expression:"model"}],staticClass:"el-checkbox-button__original",attrs:{type:"checkbox",name:l.name,disabled:l.isDisabled},domProps:{value:l.label,checked:Array.isArray(l.model)?l._i(l.model,l.label)>-1:l.model},on:{change:[function(y){var T=l.model,A=y.target,L=!!A.checked;if(Array.isArray(T)){var F=l.label,G=l._i(T,F);A.checked?G<0&&(l.model=T.concat([F])):G>-1&&(l.model=T.slice(0,G).concat(T.slice(G+1)))}else l.model=L},l.handleChange],focus:function(y){l.focus=!0},blur:function(y){l.focus=!1}}}),l.$slots.default||l.label?d("span",{staticClass:"el-checkbox-button__inner",style:l.isChecked?l.activeStyle:null},[l._t("default",[l._v(l._s(l.label))])],2):l._e()])},tk=[];En._withStripped=!0;var xi={name:"ElCheckboxButton",mixins:[B.a],inject:{elForm:{default:""},elFormItem:{default:""}},data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},props:{value:{},label:{},disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number]},computed:{model:{get:function(){return this._checkboxGroup?this.store:this.value!==void 0?this.value:this.selfModel},set:function(c){this._checkboxGroup?(this.isLimitExceeded=!1,this._checkboxGroup.min!==void 0&&c.lengththis._checkboxGroup.max&&(this.isLimitExceeded=!0),this.isLimitExceeded===!1&&this.dispatch("ElCheckboxGroup","input",[c])):this.value!==void 0?this.$emit("input",c):this.selfModel=c}},isChecked:function(){if({}.toString.call(this.model)==="[object Boolean]")return this.model;if(Array.isArray(this.model))return this.model.indexOf(this.label)>-1;if(this.model!==null&&this.model!==void 0)return this.model===this.trueLabel},_checkboxGroup:function(){for(var c=this.$parent;c;)if(c.$options.componentName!=="ElCheckboxGroup")c=c.$parent;else return c;return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},activeStyle:function(){return{backgroundColor:this._checkboxGroup.fill||"",borderColor:this._checkboxGroup.fill||"",color:this._checkboxGroup.textColor||"","box-shadow":"-1px 0 0 0 "+this._checkboxGroup.fill}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},size:function(){return this._checkboxGroup.checkboxGroupSize||this._elFormItemSize||(this.$ELEMENT||{}).size},isLimitDisabled:function(){var c=this._checkboxGroup,d=c.max,y=c.min;return!!(d||y)&&this.model.length>=d&&!this.isChecked||this.model.length<=y&&this.isChecked},isDisabled:function(){return this._checkboxGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled}},methods:{addToStore:function(){Array.isArray(this.model)&&this.model.indexOf(this.label)===-1?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(c){var d=this;if(!this.isLimitExceeded){var y=void 0;c.target.checked?y=this.trueLabel===void 0?!0:this.trueLabel:y=this.falseLabel===void 0?!1:this.falseLabel,this.$emit("change",y,c),this.$nextTick(function(){d._checkboxGroup&&d.dispatch("ElCheckboxGroup","change",[d._checkboxGroup.value])})}}},created:function(){this.checked&&this.addToStore()}},rk=xi,_v=u(rk,En,tk,!1);_v.options.__file="packages/checkbox/src/checkbox-button.vue";var Hi=_v.exports;Hi.install=function(l){l.component(Hi.name,Hi)};var Au=Hi,fh=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-checkbox-group",attrs:{role:"group","aria-label":"checkbox-group"}},[l._t("default")],2)},br=[];fh._withStripped=!0;var xo={name:"ElCheckboxGroup",componentName:"ElCheckboxGroup",mixins:[B.a],inject:{elFormItem:{default:""}},props:{value:{},disabled:Boolean,min:Number,max:Number,size:String,fill:String,textColor:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxGroupSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size}},watch:{value:function(c){this.dispatch("ElFormItem","el.form.change",[c])}}},bv=xo,lb=u(bv,fh,br,!1);lb.options.__file="packages/checkbox/src/checkbox-group.vue";var Qs=lb.exports;Qs.install=function(l){l.component(Qs.name,Qs)};var ub=Qs,cb=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-switch",class:{"is-disabled":l.switchDisabled,"is-checked":l.checked},attrs:{role:"switch","aria-checked":l.checked,"aria-disabled":l.switchDisabled},on:{click:function(y){return y.preventDefault(),l.switchValue(y)}}},[d("input",{ref:"input",staticClass:"el-switch__input",attrs:{type:"checkbox",id:l.id,name:l.name,"true-value":l.activeValue,"false-value":l.inactiveValue,disabled:l.switchDisabled},on:{change:l.handleChange,keydown:function(y){return!("button"in y)&&l._k(y.keyCode,"enter",13,y.key,"Enter")?null:l.switchValue(y)}}}),l.inactiveIconClass||l.inactiveText?d("span",{class:["el-switch__label","el-switch__label--left",l.checked?"":"is-active"]},[l.inactiveIconClass?d("i",{class:[l.inactiveIconClass]}):l._e(),!l.inactiveIconClass&&l.inactiveText?d("span",{attrs:{"aria-hidden":l.checked}},[l._v(l._s(l.inactiveText))]):l._e()]):l._e(),d("span",{ref:"core",staticClass:"el-switch__core",style:{width:l.coreWidth+"px"}}),l.activeIconClass||l.activeText?d("span",{class:["el-switch__label","el-switch__label--right",l.checked?"is-active":""]},[l.activeIconClass?d("i",{class:[l.activeIconClass]}):l._e(),!l.activeIconClass&&l.activeText?d("span",{attrs:{"aria-hidden":!l.checked}},[l._v(l._s(l.activeText))]):l._e()]):l._e()])},nk=[];cb._withStripped=!0;var fb={name:"ElSwitch",mixins:[$t()("input"),V.a,B.a],inject:{elForm:{default:""}},props:{value:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},width:{type:Number,default:40},activeIconClass:{type:String,default:""},inactiveIconClass:{type:String,default:""},activeText:String,inactiveText:String,activeColor:{type:String,default:""},inactiveColor:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},id:String},data:function(){return{coreWidth:this.width}},created:function(){~[this.activeValue,this.inactiveValue].indexOf(this.value)||this.$emit("input",this.inactiveValue)},computed:{checked:function(){return this.value===this.activeValue},switchDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{checked:function(){this.$refs.input.checked=this.checked,(this.activeColor||this.inactiveColor)&&this.setBackgroundColor(),this.validateEvent&&this.dispatch("ElFormItem","el.form.change",[this.value])}},methods:{handleChange:function(c){var d=this,y=this.checked?this.inactiveValue:this.activeValue;this.$emit("input",y),this.$emit("change",y),this.$nextTick(function(){d.$refs.input&&(d.$refs.input.checked=d.checked)})},setBackgroundColor:function(){var c=this.checked?this.activeColor:this.inactiveColor;this.$refs.core.style.borderColor=c,this.$refs.core.style.backgroundColor=c},switchValue:function(){!this.switchDisabled&&this.handleChange()},getMigratingConfig:function(){return{props:{"on-color":"on-color is renamed to active-color.","off-color":"off-color is renamed to inactive-color.","on-text":"on-text is renamed to active-text.","off-text":"off-text is renamed to inactive-text.","on-value":"on-value is renamed to active-value.","off-value":"off-value is renamed to inactive-value.","on-icon-class":"on-icon-class is renamed to active-icon-class.","off-icon-class":"off-icon-class is renamed to inactive-icon-class."}}}},mounted:function(){this.coreWidth=this.width||40,(this.activeColor||this.inactiveColor)&&this.setBackgroundColor(),this.$refs.input.checked=this.checked}},hh=fb,ls=u(hh,cb,nk,!1);ls.options.__file="packages/switch/src/component.vue";var dh=ls.exports;dh.install=function(l){l.component(dh.name,dh)};var xv=dh,Sv=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:l.handleClose,expression:"handleClose"}],staticClass:"el-select",class:[l.selectSize?"el-select--"+l.selectSize:""],on:{click:function(y){return y.stopPropagation(),l.toggleMenu(y)}}},[l.multiple?d("div",{ref:"tags",staticClass:"el-select__tags",style:{"max-width":l.inputWidth-32+"px",width:"100%"}},[l.collapseTags&&l.selected.length?d("span",[d("el-tag",{attrs:{closable:!l.selectDisabled,size:l.collapseTagSize,hit:l.selected[0].hitState,type:"info","disable-transitions":""},on:{close:function(y){l.deleteTag(y,l.selected[0])}}},[d("span",{staticClass:"el-select__tags-text"},[l._v(l._s(l.selected[0].currentLabel))])]),l.selected.length>1?d("el-tag",{attrs:{closable:!1,size:l.collapseTagSize,type:"info","disable-transitions":""}},[d("span",{staticClass:"el-select__tags-text"},[l._v("+ "+l._s(l.selected.length-1))])]):l._e()],1):l._e(),l.collapseTags?l._e():d("transition-group",{on:{"after-leave":l.resetInputHeight}},l._l(l.selected,function(y){return d("el-tag",{key:l.getValueKey(y),attrs:{closable:!l.selectDisabled,size:l.collapseTagSize,hit:y.hitState,type:"info","disable-transitions":""},on:{close:function(T){l.deleteTag(T,y)}}},[d("span",{staticClass:"el-select__tags-text"},[l._v(l._s(y.currentLabel))])])}),1),l.filterable?d("input",{directives:[{name:"model",rawName:"v-model",value:l.query,expression:"query"}],ref:"input",staticClass:"el-select__input",class:[l.selectSize?"is-"+l.selectSize:""],style:{"flex-grow":"1",width:l.inputLength/(l.inputWidth-32)+"%","max-width":l.inputWidth-42+"px"},attrs:{type:"text",disabled:l.selectDisabled,autocomplete:l.autoComplete||l.autocomplete},domProps:{value:l.query},on:{focus:l.handleFocus,blur:function(y){l.softFocus=!1},keyup:l.managePlaceholder,keydown:[l.resetInputState,function(y){if(!("button"in y)&&l._k(y.keyCode,"down",40,y.key,["Down","ArrowDown"]))return null;y.preventDefault(),l.handleNavigate("next")},function(y){if(!("button"in y)&&l._k(y.keyCode,"up",38,y.key,["Up","ArrowUp"]))return null;y.preventDefault(),l.handleNavigate("prev")},function(y){return!("button"in y)&&l._k(y.keyCode,"enter",13,y.key,"Enter")?null:(y.preventDefault(),l.selectOption(y))},function(y){if(!("button"in y)&&l._k(y.keyCode,"esc",27,y.key,["Esc","Escape"]))return null;y.stopPropagation(),y.preventDefault(),l.visible=!1},function(y){return!("button"in y)&&l._k(y.keyCode,"delete",[8,46],y.key,["Backspace","Delete","Del"])?null:l.deletePrevTag(y)},function(y){if(!("button"in y)&&l._k(y.keyCode,"tab",9,y.key,"Tab"))return null;l.visible=!1}],compositionstart:l.handleComposition,compositionupdate:l.handleComposition,compositionend:l.handleComposition,input:[function(y){y.target.composing||(l.query=y.target.value)},l.debouncedQueryChange]}}):l._e()],1):l._e(),d("el-input",{ref:"reference",class:{"is-focus":l.visible},attrs:{type:"text",placeholder:l.currentPlaceholder,name:l.name,id:l.id,autocomplete:l.autoComplete||l.autocomplete,size:l.selectSize,disabled:l.selectDisabled,readonly:l.readonly,"validate-event":!1,tabindex:l.multiple&&l.filterable?"-1":null},on:{focus:l.handleFocus,blur:l.handleBlur,input:l.debouncedOnInputChange,compositionstart:l.handleComposition,compositionupdate:l.handleComposition,compositionend:l.handleComposition},nativeOn:{keydown:[function(y){if(!("button"in y)&&l._k(y.keyCode,"down",40,y.key,["Down","ArrowDown"]))return null;y.stopPropagation(),y.preventDefault(),l.handleNavigate("next")},function(y){if(!("button"in y)&&l._k(y.keyCode,"up",38,y.key,["Up","ArrowUp"]))return null;y.stopPropagation(),y.preventDefault(),l.handleNavigate("prev")},function(y){return!("button"in y)&&l._k(y.keyCode,"enter",13,y.key,"Enter")?null:(y.preventDefault(),l.selectOption(y))},function(y){if(!("button"in y)&&l._k(y.keyCode,"esc",27,y.key,["Esc","Escape"]))return null;y.stopPropagation(),y.preventDefault(),l.visible=!1},function(y){if(!("button"in y)&&l._k(y.keyCode,"tab",9,y.key,"Tab"))return null;l.visible=!1}],mouseenter:function(y){l.inputHovering=!0},mouseleave:function(y){l.inputHovering=!1}},model:{value:l.selectedLabel,callback:function(y){l.selectedLabel=y},expression:"selectedLabel"}},[l.$slots.prefix?d("template",{slot:"prefix"},[l._t("prefix")],2):l._e(),d("template",{slot:"suffix"},[d("i",{directives:[{name:"show",rawName:"v-show",value:!l.showClose,expression:"!showClose"}],class:["el-select__caret","el-input__icon","el-icon-"+l.iconClass]}),l.showClose?d("i",{staticClass:"el-select__caret el-input__icon el-icon-circle-close",on:{click:l.handleClearClick}}):l._e()])],2),d("transition",{attrs:{name:"el-zoom-in-top"},on:{"before-enter":l.handleMenuEnter,"after-leave":l.doDestroy}},[d("el-select-menu",{directives:[{name:"show",rawName:"v-show",value:l.visible&&l.emptyText!==!1,expression:"visible && emptyText !== false"}],ref:"popper",attrs:{"append-to-body":l.popperAppendToBody}},[d("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:l.options.length>0&&!l.loading,expression:"options.length > 0 && !loading"}],ref:"scrollbar",class:{"is-empty":!l.allowCreate&&l.query&&l.filteredOptionsCount===0},attrs:{tag:"ul","wrap-class":"el-select-dropdown__wrap","view-class":"el-select-dropdown__list"}},[l.showNewOption?d("el-option",{attrs:{value:l.query,created:""}}):l._e(),l._t("default")],2),l.emptyText&&(!l.allowCreate||l.loading||l.allowCreate&&l.options.length===0)?[l.$slots.empty?l._t("empty"):d("p",{staticClass:"el-select-dropdown__empty"},[l._v(` - `+l._s(l.emptyText)+` - `)])]:l._e()],2)],1)],1)},wv=[];Sv._withStripped=!0;var ph=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-select-dropdown el-popper",class:[{"is-multiple":l.$parent.multiple},l.popperClass],style:{minWidth:l.minWidth}},[l._t("default")],2)},hb=[];ph._withStripped=!0;var ik={name:"ElSelectDropdown",componentName:"ElSelectDropdown",mixins:[ie.a],props:{placement:{default:"bottom-start"},boundariesPadding:{default:0},popperOptions:{default:function(){return{gpuAcceleration:!1}}},visibleArrow:{default:!0},appendToBody:{type:Boolean,default:!0}},data:function(){return{minWidth:""}},computed:{popperClass:function(){return this.$parent.popperClass}},watch:{"$parent.inputWidth":function(){this.minWidth=this.$parent.$el.getBoundingClientRect().width+"px"}},mounted:function(){var c=this;this.referenceElm=this.$parent.$refs.reference.$el,this.$parent.popperElm=this.popperElm=this.$el,this.$on("updatePopper",function(){c.$parent.visible&&c.updatePopper()}),this.$on("destroyPopper",this.destroyPopper)}},Cv=ik,vh=u(Cv,ph,hb,!1);vh.options.__file="packages/select/src/select-dropdown.vue";var ak=vh.exports,In=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("li",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-select-dropdown__item",class:{selected:l.itemSelected,"is-disabled":l.disabled||l.groupDisabled||l.limitReached,hover:l.hover},on:{mouseenter:l.hoverItem,click:function(y){return y.stopPropagation(),l.selectOptionClick(y)}}},[l._t("default",[d("span",[l._v(l._s(l.currentLabel))])])],2)},Tv=[];In._withStripped=!0;var Js=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},db={mixins:[B.a],name:"ElOption",componentName:"ElOption",inject:["select"],props:{value:{required:!0},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:!1}},data:function(){return{index:-1,groupDisabled:!1,visible:!0,hitState:!1,hover:!1}},computed:{isObject:function(){return Object.prototype.toString.call(this.value).toLowerCase()==="[object object]"},currentLabel:function(){return this.label||(this.isObject?"":this.value)},currentValue:function(){return this.value||this.label||""},itemSelected:function(){return this.select.multiple?this.contains(this.select.value,this.value):this.isEqual(this.value,this.select.value)},limitReached:function(){return this.select.multiple?!this.itemSelected&&(this.select.value||[]).length>=this.select.multipleLimit&&this.select.multipleLimit>0:!1}},watch:{currentLabel:function(){!this.created&&!this.select.remote&&this.dispatch("ElSelect","setSelected")},value:function(c,d){var y=this.select,T=y.remote,A=y.valueKey;if(!this.created&&!T){if(A&&(typeof c>"u"?"undefined":Js(c))==="object"&&(typeof d>"u"?"undefined":Js(d))==="object"&&c[A]===d[A])return;this.dispatch("ElSelect","setSelected")}}},methods:{isEqual:function(c,d){if(this.isObject){var y=this.select.valueKey;return Object(w.getValueByPath)(c,y)===Object(w.getValueByPath)(d,y)}else return c===d},contains:function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],d=arguments[1];if(this.isObject){var y=this.select.valueKey;return c&&c.some(function(T){return Object(w.getValueByPath)(T,y)===Object(w.getValueByPath)(d,y)})}else return c&&c.indexOf(d)>-1},handleGroupDisabled:function(c){this.groupDisabled=c},hoverItem:function(){!this.disabled&&!this.groupDisabled&&(this.select.hoverIndex=this.select.options.indexOf(this))},selectOptionClick:function(){this.disabled!==!0&&this.groupDisabled!==!0&&this.dispatch("ElSelect","handleOptionClick",[this,!0])},queryChange:function(c){this.visible=new RegExp(Object(w.escapeRegexpString)(c),"i").test(this.currentLabel)||this.created,this.visible||this.select.filteredOptionsCount--}},created:function(){this.select.options.push(this),this.select.cachedOptions.push(this),this.select.optionsCount++,this.select.filteredOptionsCount++,this.$on("queryChange",this.queryChange),this.$on("handleGroupDisabled",this.handleGroupDisabled)},beforeDestroy:function(){var c=this.select,d=c.selected,y=c.multiple,T=y?d:[d],A=this.select.cachedOptions.indexOf(this),L=T.indexOf(this);A>-1&&L<0&&this.select.cachedOptions.splice(A,1),this.select.onOptionDestroy(this.select.options.indexOf(this))}},pb=db,vb=u(pb,In,Tv,!1);vb.options.__file="packages/select/src/option.vue";var Eu=vb.exports,ok=n(30),gb=n.n(ok),Si=n(15),el=n(27),Dv=n.n(el),sk={data:function(){return{hoverOption:-1}},computed:{optionsAllDisabled:function(){return this.options.filter(function(c){return c.visible}).every(function(c){return c.disabled})}},watch:{hoverIndex:function(c){var d=this;typeof c=="number"&&c>-1&&(this.hoverOption=this.options[c]||{}),this.options.forEach(function(y){y.hover=d.hoverOption===y})}},methods:{navigateOptions:function(c){var d=this;if(!this.visible){this.visible=!0;return}if(!(this.options.length===0||this.filteredOptionsCount===0)&&!this.optionsAllDisabled){c==="next"?(this.hoverIndex++,this.hoverIndex===this.options.length&&(this.hoverIndex=0)):c==="prev"&&(this.hoverIndex--,this.hoverIndex<0&&(this.hoverIndex=this.options.length-1));var y=this.options[this.hoverIndex];(y.disabled===!0||y.groupDisabled===!0||!y.visible)&&this.navigateOptions(c),this.$nextTick(function(){return d.scrollToOption(d.hoverOption)})}}}},kv={mixins:[B.a,C.a,$t()("reference"),sk],name:"ElSelect",componentName:"ElSelect",inject:{elForm:{default:""},elFormItem:{default:""}},provide:function(){return{select:this}},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},readonly:function(){return!this.filterable||this.multiple||!Object(w.isIE)()&&!Object(w.isEdge)()&&!this.visible},showClose:function(){var c=this.multiple?Array.isArray(this.value)&&this.value.length>0:this.value!==void 0&&this.value!==null&&this.value!=="",d=this.clearable&&!this.selectDisabled&&this.inputHovering&&c;return d},iconClass:function(){return this.remote&&this.filterable?"":this.visible?"arrow-up is-reverse":"arrow-up"},debounce:function(){return this.remote?300:0},emptyText:function(){return this.loading?this.loadingText||this.t("el.select.loading"):this.remote&&this.query===""&&this.options.length===0?!1:this.filterable&&this.query&&this.options.length>0&&this.filteredOptionsCount===0?this.noMatchText||this.t("el.select.noMatch"):this.options.length===0?this.noDataText||this.t("el.select.noData"):null},showNewOption:function(){var c=this,d=this.options.filter(function(y){return!y.created}).some(function(y){return y.currentLabel===c.query});return this.filterable&&this.allowCreate&&this.query!==""&&!d},selectSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},selectDisabled:function(){return this.disabled||(this.elForm||{}).disabled},collapseTagSize:function(){return["small","mini"].indexOf(this.selectSize)>-1?"mini":"small"},propPlaceholder:function(){return typeof this.placeholder<"u"?this.placeholder:this.t("el.select.placeholder")}},components:{ElInput:_.a,ElSelectMenu:ak,ElOption:Eu,ElTag:gb.a,ElScrollbar:Fe.a},directives:{Clickoutside:Le.a},props:{name:String,id:String,value:{required:!0},autocomplete:{type:String,default:"off"},autoComplete:{type:String,validator:function(c){return!0}},automaticDropdown:Boolean,size:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:String,remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String,required:!1},defaultFirstOption:Boolean,reserveKeyword:Boolean,valueKey:{type:String,default:"value"},collapseTags:Boolean,popperAppendToBody:{type:Boolean,default:!0}},data:function(){return{options:[],cachedOptions:[],createdLabel:null,createdSelected:!1,selected:this.multiple?[]:{},inputLength:20,inputWidth:0,initialInputHeight:0,cachedPlaceHolder:"",optionsCount:0,filteredOptionsCount:0,visible:!1,softFocus:!1,selectedLabel:"",hoverIndex:-1,query:"",previousQuery:null,inputHovering:!1,currentPlaceholder:"",menuVisibleOnFocus:!1,isOnComposition:!1,isSilentBlur:!1}},watch:{selectDisabled:function(){var c=this;this.$nextTick(function(){c.resetInputHeight()})},propPlaceholder:function(c){this.cachedPlaceHolder=this.currentPlaceholder=c},value:function(c,d){this.multiple&&(this.resetInputHeight(),c&&c.length>0||this.$refs.input&&this.query!==""?this.currentPlaceholder="":this.currentPlaceholder=this.cachedPlaceHolder,this.filterable&&!this.reserveKeyword&&(this.query="",this.handleQueryChange(this.query))),this.setSelected(),this.filterable&&!this.multiple&&(this.inputLength=20),Object(w.valueEquals)(c,d)||this.dispatch("ElFormItem","el.form.change",c)},visible:function(c){var d=this;c?(this.broadcast("ElSelectDropdown","updatePopper"),this.filterable&&(this.query=this.remote?"":this.selectedLabel,this.handleQueryChange(this.query),this.multiple?this.$refs.input.focus():(this.remote||(this.broadcast("ElOption","queryChange",""),this.broadcast("ElOptionGroup","queryChange")),this.selectedLabel&&(this.currentPlaceholder=this.selectedLabel,this.selectedLabel="")))):(this.broadcast("ElSelectDropdown","destroyPopper"),this.$refs.input&&this.$refs.input.blur(),this.query="",this.previousQuery=null,this.selectedLabel="",this.inputLength=20,this.menuVisibleOnFocus=!1,this.resetHoverIndex(),this.$nextTick(function(){d.$refs.input&&d.$refs.input.value===""&&d.selected.length===0&&(d.currentPlaceholder=d.cachedPlaceHolder)}),this.multiple||(this.selected&&(this.filterable&&this.allowCreate&&this.createdSelected&&this.createdLabel?this.selectedLabel=this.createdLabel:this.selectedLabel=this.selected.currentLabel,this.filterable&&(this.query=this.selectedLabel)),this.filterable&&(this.currentPlaceholder=this.cachedPlaceHolder))),this.$emit("visible-change",c)},options:function(){var c=this;if(!this.$isServer){this.$nextTick(function(){c.broadcast("ElSelectDropdown","updatePopper")}),this.multiple&&this.resetInputHeight();var d=this.$el.querySelectorAll("input");[].indexOf.call(d,document.activeElement)===-1&&this.setSelected(),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()}}},methods:{handleNavigate:function(c){this.isOnComposition||this.navigateOptions(c)},handleComposition:function(c){var d=this,y=c.target.value;if(c.type==="compositionend")this.isOnComposition=!1,this.$nextTick(function(A){return d.handleQueryChange(y)});else{var T=y[y.length-1]||"";this.isOnComposition=!Object(ss.isKorean)(T)}},handleQueryChange:function(c){var d=this;if(!(this.previousQuery===c||this.isOnComposition)){if(this.previousQuery===null&&(typeof this.filterMethod=="function"||typeof this.remoteMethod=="function")){this.previousQuery=c;return}this.previousQuery=c,this.$nextTick(function(){d.visible&&d.broadcast("ElSelectDropdown","updatePopper")}),this.hoverIndex=-1,this.multiple&&this.filterable&&this.$nextTick(function(){var y=d.$refs.input.value.length*15+20;d.inputLength=d.collapseTags?Math.min(50,y):y,d.managePlaceholder(),d.resetInputHeight()}),this.remote&&typeof this.remoteMethod=="function"?(this.hoverIndex=-1,this.remoteMethod(c)):typeof this.filterMethod=="function"?(this.filterMethod(c),this.broadcast("ElOptionGroup","queryChange")):(this.filteredOptionsCount=this.optionsCount,this.broadcast("ElOption","queryChange",c),this.broadcast("ElOptionGroup","queryChange")),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()}},scrollToOption:function(c){var d=Array.isArray(c)&&c[0]?c[0].$el:c.$el;if(this.$refs.popper&&d){var y=this.$refs.popper.$el.querySelector(".el-select-dropdown__wrap");Dv()(y,d)}this.$refs.scrollbar&&this.$refs.scrollbar.handleScroll()},handleMenuEnter:function(){var c=this;this.$nextTick(function(){return c.scrollToOption(c.selected)})},emitChange:function(c){Object(w.valueEquals)(this.value,c)||this.$emit("change",c)},getOption:function(c){for(var d=void 0,y=Object.prototype.toString.call(c).toLowerCase()==="[object object]",T=Object.prototype.toString.call(c).toLowerCase()==="[object null]",A=Object.prototype.toString.call(c).toLowerCase()==="[object undefined]",L=this.cachedOptions.length-1;L>=0;L--){var F=this.cachedOptions[L],G=y?Object(w.getValueByPath)(F.value,this.valueKey)===Object(w.getValueByPath)(c,this.valueKey):F.value===c;if(G){d=F;break}}if(d)return d;var q=!y&&!T&&!A?String(c):"",te={value:c,currentLabel:q};return this.multiple&&(te.hitState=!1),te},setSelected:function(){var c=this;if(!this.multiple){var d=this.getOption(this.value);d.created?(this.createdLabel=d.currentLabel,this.createdSelected=!0):this.createdSelected=!1,this.selectedLabel=d.currentLabel,this.selected=d,this.filterable&&(this.query=this.selectedLabel);return}var y=[];Array.isArray(this.value)&&this.value.forEach(function(T){y.push(c.getOption(T))}),this.selected=y,this.$nextTick(function(){c.resetInputHeight()})},handleFocus:function(c){this.softFocus?this.softFocus=!1:((this.automaticDropdown||this.filterable)&&(this.filterable&&!this.visible&&(this.menuVisibleOnFocus=!0),this.visible=!0),this.$emit("focus",c))},blur:function(){this.visible=!1,this.$refs.reference.blur()},handleBlur:function(c){var d=this;setTimeout(function(){d.isSilentBlur?d.isSilentBlur=!1:d.$emit("blur",c)},50),this.softFocus=!1},handleClearClick:function(c){this.deleteSelected(c)},doDestroy:function(){this.$refs.popper&&this.$refs.popper.doDestroy()},handleClose:function(){this.visible=!1},toggleLastOptionHitState:function(c){if(Array.isArray(this.selected)){var d=this.selected[this.selected.length-1];if(d)return c===!0||c===!1?(d.hitState=c,c):(d.hitState=!d.hitState,d.hitState)}},deletePrevTag:function(c){if(c.target.value.length<=0&&!this.toggleLastOptionHitState()){var d=this.value.slice();d.pop(),this.$emit("input",d),this.emitChange(d)}},managePlaceholder:function(){this.currentPlaceholder!==""&&(this.currentPlaceholder=this.$refs.input.value?"":this.cachedPlaceHolder)},resetInputState:function(c){c.keyCode!==8&&this.toggleLastOptionHitState(!1),this.inputLength=this.$refs.input.value.length*15+20,this.resetInputHeight()},resetInputHeight:function(){var c=this;this.collapseTags&&!this.filterable||this.$nextTick(function(){if(c.$refs.reference){var d=c.$refs.reference.$el.childNodes,y=[].filter.call(d,function(F){return F.tagName==="INPUT"})[0],T=c.$refs.tags,A=T?Math.round(T.getBoundingClientRect().height):0,L=c.initialInputHeight||40;y.style.height=c.selected.length===0?L+"px":Math.max(T?A+(A>L?6:0):0,L)+"px",c.visible&&c.emptyText!==!1&&c.broadcast("ElSelectDropdown","updatePopper")}})},resetHoverIndex:function(){var c=this;setTimeout(function(){c.multiple?c.selected.length>0?c.hoverIndex=Math.min.apply(null,c.selected.map(function(d){return c.options.indexOf(d)})):c.hoverIndex=-1:c.hoverIndex=c.options.indexOf(c.selected)},300)},handleOptionSelect:function(c,d){var y=this;if(this.multiple){var T=(this.value||[]).slice(),A=this.getValueIndex(T,c.value);A>-1?T.splice(A,1):(this.multipleLimit<=0||T.length0&&arguments[0]!==void 0?arguments[0]:[],d=arguments[1],y=Object.prototype.toString.call(d).toLowerCase()==="[object object]";if(y){var T=this.valueKey,A=-1;return c.some(function(L,F){return Object(w.getValueByPath)(L,T)===Object(w.getValueByPath)(d,T)?(A=F,!0):!1}),A}else return c.indexOf(d)},toggleMenu:function(){this.selectDisabled||(this.menuVisibleOnFocus?this.menuVisibleOnFocus=!1:this.visible=!this.visible,this.visible&&(this.$refs.input||this.$refs.reference).focus())},selectOption:function(){this.visible?this.options[this.hoverIndex]&&this.handleOptionSelect(this.options[this.hoverIndex]):this.toggleMenu()},deleteSelected:function(c){c.stopPropagation();var d=this.multiple?[]:"";this.$emit("input",d),this.emitChange(d),this.visible=!1,this.$emit("clear")},deleteTag:function(c,d){var y=this.selected.indexOf(d);if(y>-1&&!this.selectDisabled){var T=this.value.slice();T.splice(y,1),this.$emit("input",T),this.emitChange(T),this.$emit("remove-tag",d.value)}c.stopPropagation()},onInputChange:function(){this.filterable&&this.query!==this.selectedLabel&&(this.query=this.selectedLabel,this.handleQueryChange(this.query))},onOptionDestroy:function(c){c>-1&&(this.optionsCount--,this.filteredOptionsCount--,this.options.splice(c,1))},resetInputWidth:function(){this.inputWidth=this.$refs.reference.$el.getBoundingClientRect().width},handleResize:function(){this.resetInputWidth(),this.multiple&&this.resetInputHeight()},checkDefaultFirstOption:function(){this.hoverIndex=-1;for(var c=!1,d=this.options.length-1;d>=0;d--)if(this.options[d].created){c=!0,this.hoverIndex=d;break}if(!c)for(var y=0;y!==this.options.length;++y){var T=this.options[y];if(this.query){if(!T.disabled&&!T.groupDisabled&&T.visible){this.hoverIndex=y;break}}else if(T.itemSelected){this.hoverIndex=y;break}}},getValueKey:function(c){return Object.prototype.toString.call(c.value).toLowerCase()!=="[object object]"?c.value:Object(w.getValueByPath)(c.value,this.valueKey)}},created:function(){var c=this;this.cachedPlaceHolder=this.currentPlaceholder=this.propPlaceholder,this.multiple&&!Array.isArray(this.value)&&this.$emit("input",[]),!this.multiple&&Array.isArray(this.value)&&this.$emit("input",""),this.debouncedOnInputChange=_e()(this.debounce,function(){c.onInputChange()}),this.debouncedQueryChange=_e()(this.debounce,function(d){c.handleQueryChange(d.target.value)}),this.$on("handleOptionClick",this.handleOptionSelect),this.$on("setSelected",this.setSelected)},mounted:function(){var c=this;this.multiple&&Array.isArray(this.value)&&this.value.length>0&&(this.currentPlaceholder=""),Object(Si.addResizeListener)(this.$el,this.handleResize);var d=this.$refs.reference;if(d&&d.$el){var y={medium:36,small:32,mini:28},T=d.$el.querySelector("input");this.initialInputHeight=T.getBoundingClientRect().height||y[this.selectSize]}this.remote&&this.multiple&&this.resetInputHeight(),this.$nextTick(function(){d&&d.$el&&(c.inputWidth=d.$el.getBoundingClientRect().width)}),this.setSelected()},beforeDestroy:function(){this.$el&&this.handleResize&&Object(Si.removeResizeListener)(this.$el,this.handleResize)}},mb=kv,za=u(mb,Sv,wv,!1);za.options.__file="packages/select/src/select.vue";var tl=za.exports;tl.install=function(l){l.component(tl.name,tl)};var Iu=tl;Eu.install=function(l){l.component(Eu.name,Eu)};var yb=Eu,_b=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("ul",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-select-group__wrap"},[d("li",{staticClass:"el-select-group__title"},[l._v(l._s(l.label))]),d("li",[d("ul",{staticClass:"el-select-group"},[l._t("default")],2)])])},lk=[];_b._withStripped=!0;var rl={mixins:[B.a],name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:{type:Boolean,default:!1}},data:function(){return{visible:!0}},watch:{disabled:function(c){this.broadcast("ElOption","handleGroupDisabled",c)}},methods:{queryChange:function(){this.visible=this.$children&&Array.isArray(this.$children)&&this.$children.some(function(c){return c.visible===!0})}},created:function(){this.$on("queryChange",this.queryChange)},mounted:function(){this.disabled&&this.broadcast("ElOption","handleGroupDisabled",this.disabled)}},ji=rl,bb=u(ji,_b,lk,!1);bb.options.__file="packages/select/src/option-group.vue";var gh=bb.exports;gh.install=function(l){l.component(gh.name,gh)};var xb=gh,Sb=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("button",{staticClass:"el-button",class:[l.type?"el-button--"+l.type:"",l.buttonSize?"el-button--"+l.buttonSize:"",{"is-disabled":l.buttonDisabled,"is-loading":l.loading,"is-plain":l.plain,"is-round":l.round,"is-circle":l.circle}],attrs:{disabled:l.buttonDisabled||l.loading,autofocus:l.autofocus,type:l.nativeType},on:{click:l.handleClick}},[l.loading?d("i",{staticClass:"el-icon-loading"}):l._e(),l.icon&&!l.loading?d("i",{class:l.icon}):l._e(),l.$slots.default?d("span",[l._t("default")],2):l._e()])},uk=[];Sb._withStripped=!0;var nl={name:"ElButton",inject:{elForm:{default:""},elFormItem:{default:""}},props:{type:{type:String,default:"default"},size:String,icon:{type:String,default:""},nativeType:{type:String,default:"button"},loading:Boolean,disabled:Boolean,plain:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},buttonSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},buttonDisabled:function(){return this.$options.propsData.hasOwnProperty("disabled")?this.disabled:(this.elForm||{}).disabled}},methods:{handleClick:function(c){this.$emit("click",c)}}},le=nl,Te=u(le,Sb,uk,!1);Te.options.__file="packages/button/src/button.vue";var ye=Te.exports;ye.install=function(l){l.component(ye.name,ye)};var Xe=ye,bt=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-button-group"},[l._t("default")],2)},Xt=[];bt._withStripped=!0;var Nr={name:"ElButtonGroup"},ar=Nr,mh=u(ar,bt,Xt,!1);mh.options.__file="packages/button/src/button-group.vue";var yh=mh.exports;yh.install=function(l){l.component(yh.name,yh)};var Zn=yh,Pu=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-table",class:[{"el-table--fit":l.fit,"el-table--striped":l.stripe,"el-table--border":l.border||l.isGroup,"el-table--hidden":l.isHidden,"el-table--group":l.isGroup,"el-table--fluid-height":l.maxHeight,"el-table--scrollable-x":l.layout.scrollX,"el-table--scrollable-y":l.layout.scrollY,"el-table--enable-row-hover":!l.store.states.isComplex,"el-table--enable-row-transition":(l.store.states.data||[]).length!==0&&(l.store.states.data||[]).length<100},l.tableSize?"el-table--"+l.tableSize:""],on:{mouseleave:function(y){l.handleMouseLeave(y)}}},[d("div",{ref:"hiddenColumns",staticClass:"hidden-columns"},[l._t("default")],2),l.showHeader?d("div",{directives:[{name:"mousewheel",rawName:"v-mousewheel",value:l.handleHeaderFooterMousewheel,expression:"handleHeaderFooterMousewheel"}],ref:"headerWrapper",staticClass:"el-table__header-wrapper"},[d("table-header",{ref:"tableHeader",style:{width:l.layout.bodyWidth?l.layout.bodyWidth+"px":""},attrs:{store:l.store,border:l.border,"default-sort":l.defaultSort}})],1):l._e(),d("div",{ref:"bodyWrapper",staticClass:"el-table__body-wrapper",class:[l.layout.scrollX?"is-scrolling-"+l.scrollPosition:"is-scrolling-none"],style:[l.bodyHeight]},[d("table-body",{style:{width:l.bodyWidth},attrs:{context:l.context,store:l.store,stripe:l.stripe,"row-class-name":l.rowClassName,"row-style":l.rowStyle,highlight:l.highlightCurrentRow}}),!l.data||l.data.length===0?d("div",{ref:"emptyBlock",staticClass:"el-table__empty-block",style:l.emptyBlockStyle},[d("span",{staticClass:"el-table__empty-text"},[l._t("empty",[l._v(l._s(l.emptyText||l.t("el.table.emptyText")))])],2)]):l._e(),l.$slots.append?d("div",{ref:"appendWrapper",staticClass:"el-table__append-wrapper"},[l._t("append")],2):l._e()],1),l.showSummary?d("div",{directives:[{name:"show",rawName:"v-show",value:l.data&&l.data.length>0,expression:"data && data.length > 0"},{name:"mousewheel",rawName:"v-mousewheel",value:l.handleHeaderFooterMousewheel,expression:"handleHeaderFooterMousewheel"}],ref:"footerWrapper",staticClass:"el-table__footer-wrapper"},[d("table-footer",{style:{width:l.layout.bodyWidth?l.layout.bodyWidth+"px":""},attrs:{store:l.store,border:l.border,"sum-text":l.sumText||l.t("el.table.sumText"),"summary-method":l.summaryMethod,"default-sort":l.defaultSort}})],1):l._e(),l.fixedColumns.length>0?d("div",{directives:[{name:"mousewheel",rawName:"v-mousewheel",value:l.handleFixedMousewheel,expression:"handleFixedMousewheel"}],ref:"fixedWrapper",staticClass:"el-table__fixed",style:[{width:l.layout.fixedWidth?l.layout.fixedWidth+"px":""},l.fixedHeight]},[l.showHeader?d("div",{ref:"fixedHeaderWrapper",staticClass:"el-table__fixed-header-wrapper"},[d("table-header",{ref:"fixedTableHeader",style:{width:l.bodyWidth},attrs:{fixed:"left",border:l.border,store:l.store}})],1):l._e(),d("div",{ref:"fixedBodyWrapper",staticClass:"el-table__fixed-body-wrapper",style:[{top:l.layout.headerHeight+"px"},l.fixedBodyHeight]},[d("table-body",{style:{width:l.bodyWidth},attrs:{fixed:"left",store:l.store,stripe:l.stripe,highlight:l.highlightCurrentRow,"row-class-name":l.rowClassName,"row-style":l.rowStyle}}),l.$slots.append?d("div",{staticClass:"el-table__append-gutter",style:{height:l.layout.appendHeight+"px"}}):l._e()],1),l.showSummary?d("div",{directives:[{name:"show",rawName:"v-show",value:l.data&&l.data.length>0,expression:"data && data.length > 0"}],ref:"fixedFooterWrapper",staticClass:"el-table__fixed-footer-wrapper"},[d("table-footer",{style:{width:l.bodyWidth},attrs:{fixed:"left",border:l.border,"sum-text":l.sumText||l.t("el.table.sumText"),"summary-method":l.summaryMethod,store:l.store}})],1):l._e()]):l._e(),l.rightFixedColumns.length>0?d("div",{directives:[{name:"mousewheel",rawName:"v-mousewheel",value:l.handleFixedMousewheel,expression:"handleFixedMousewheel"}],ref:"rightFixedWrapper",staticClass:"el-table__fixed-right",style:[{width:l.layout.rightFixedWidth?l.layout.rightFixedWidth+"px":"",right:l.layout.scrollY?(l.border?l.layout.gutterWidth:l.layout.gutterWidth||0)+"px":""},l.fixedHeight]},[l.showHeader?d("div",{ref:"rightFixedHeaderWrapper",staticClass:"el-table__fixed-header-wrapper"},[d("table-header",{ref:"rightFixedTableHeader",style:{width:l.bodyWidth},attrs:{fixed:"right",border:l.border,store:l.store}})],1):l._e(),d("div",{ref:"rightFixedBodyWrapper",staticClass:"el-table__fixed-body-wrapper",style:[{top:l.layout.headerHeight+"px"},l.fixedBodyHeight]},[d("table-body",{style:{width:l.bodyWidth},attrs:{fixed:"right",store:l.store,stripe:l.stripe,"row-class-name":l.rowClassName,"row-style":l.rowStyle,highlight:l.highlightCurrentRow}}),l.$slots.append?d("div",{staticClass:"el-table__append-gutter",style:{height:l.layout.appendHeight+"px"}}):l._e()],1),l.showSummary?d("div",{directives:[{name:"show",rawName:"v-show",value:l.data&&l.data.length>0,expression:"data && data.length > 0"}],ref:"rightFixedFooterWrapper",staticClass:"el-table__fixed-footer-wrapper"},[d("table-footer",{style:{width:l.bodyWidth},attrs:{fixed:"right",border:l.border,"sum-text":l.sumText||l.t("el.table.sumText"),"summary-method":l.summaryMethod,store:l.store}})],1):l._e()]):l._e(),l.rightFixedColumns.length>0?d("div",{ref:"rightFixedPatch",staticClass:"el-table__fixed-right-patch",style:{width:l.layout.scrollY?l.layout.gutterWidth+"px":"0",height:l.layout.headerHeight+"px"}}):l._e(),d("div",{directives:[{name:"show",rawName:"v-show",value:l.resizeProxyVisible,expression:"resizeProxyVisible"}],ref:"resizeProxy",staticClass:"el-table__column-resize-proxy"})])},ck=[];Pu._withStripped=!0;var il=n(14),wi=n.n(il),Lu=n(36),fr=n(39),fk=n.n(fr),wb=typeof navigator<"u"&&navigator.userAgent.toLowerCase().indexOf("firefox")>-1,_h=function(c,d){c&&c.addEventListener&&c.addEventListener(wb?"DOMMouseScroll":"mousewheel",function(y){var T=fk()(y);d&&d.apply(this,[y,T])})},hk={bind:function(c,d){_h(c,d.value)}},dk=n(6),gr=n.n(dk),bh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},aa=function(c){for(var d=c.target;d&&d.tagName.toUpperCase()!=="HTML";){if(d.tagName.toUpperCase()==="TD")return d;d=d.parentNode}return null},Ou=function(c){return c!==null&&(typeof c>"u"?"undefined":bh(c))==="object"},Cb=function(c,d,y,T,A){if(!d&&!T&&(!A||Array.isArray(A)&&!A.length))return c;typeof y=="string"?y=y==="descending"?-1:1:y=y&&y<0?-1:1;var L=T?null:function(G,q){return A?(Array.isArray(A)||(A=[A]),A.map(function(te){return typeof te=="string"?Object(w.getValueByPath)(G,te):te(G,q,c)})):(d!=="$key"&&Ou(G)&&"$value"in G&&(G=G.$value),[Ou(G)?Object(w.getValueByPath)(G,d):G])},F=function(q,te){if(T)return T(q.value,te.value);for(var se=0,Ae=q.key.length;sete.key[se])return 1}return 0};return c.map(function(G,q){return{value:G,index:q,key:L?L(G,q):null}}).sort(function(G,q){var te=F(G,q);return te||(te=G.index-q.index),te*y}).map(function(G){return G.value})},Ru=function(c,d){var y=null;return c.columns.forEach(function(T){T.id===d&&(y=T)}),y},Tb=function(c,d){for(var y=null,T=0;T2&&arguments[2]!==void 0?arguments[2]:"children",y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"hasChildren",T=function(F){return!(Array.isArray(F)&&F.length)};function A(L,F,G){c(L,F,G),F.forEach(function(q){if(q[y]){c(q,null,G+1);return}var te=q[d];T(te)||A(q,te,G+1)})}l.forEach(function(L){if(L[y]){c(L,null,0);return}var F=L[d];T(F)||A(L,F,0)})}var Ev=function(c,d){var y=Object.getOwnPropertyNames(c),T=Object.getOwnPropertyNames(d);if(y.length!==T.length)return!1;for(var A=0;A"u"?!F.expanded:d,A[L].expanded=d,G!==d&&this.table.$emit("expand-change",c,d),this.updateTableScrollY()}},loadOrToggle:function(c){this.assertRowKey();var d=this.states,y=d.lazy,T=d.treeData,A=d.rowKey,L=Kr(c,A),F=T[L];y&&F&&"loaded"in F&&!F.loaded?this.loadData(c,L,F):this.toggleTreeExpansion(c)},loadData:function(c,d,y){var T=this,A=this.table.load,L=this.states.treeData;A&&!L[d].loaded&&(L[d].loading=!0,A(c,y,function(F){if(!Array.isArray(F))throw new Error("[ElTable] data must be an array");var G=T.states,q=G.lazyTreeNodeMap,te=G.treeData;te[d].loading=!1,te[d].loaded=!0,te[d].expanded=!0,F.length&&T.$set(q,d,F),T.table.$emit("expand-change",c,!0)}))}}},Fr=function(c,d){var y=d.sortingColumn;return!y||typeof y.sortable=="string"?c:Cb(c,d.sortProp,d.sortOrder,y.sortMethod,y.sortBy)},Xr=function l(c){var d=[];return c.forEach(function(y){y.children?d.push.apply(d,l(y.children)):d.push(y)}),d},Sh=gr.a.extend({data:function(){return{states:{rowKey:null,data:[],isComplex:!1,_columns:[],originColumns:[],columns:[],fixedColumns:[],rightFixedColumns:[],leafColumns:[],fixedLeafColumns:[],rightFixedLeafColumns:[],leafColumnsLength:0,fixedLeafColumnsLength:0,rightFixedLeafColumnsLength:0,isAllSelected:!1,selection:[],reserveSelection:!1,selectOnIndeterminate:!1,selectable:null,filters:{},filteredData:null,sortingColumn:null,sortProp:null,sortOrder:null,hoverRow:null}}},mixins:[gk,mk,_k],methods:{assertRowKey:function(){var c=this.states.rowKey;if(!c)throw new Error("[ElTable] prop row-key is required")},updateColumns:function(){var c=this.states,d=c._columns||[];c.fixedColumns=d.filter(function(F){return F.fixed===!0||F.fixed==="left"}),c.rightFixedColumns=d.filter(function(F){return F.fixed==="right"}),c.fixedColumns.length>0&&d[0]&&d[0].type==="selection"&&!d[0].fixed&&(d[0].fixed=!0,c.fixedColumns.unshift(d[0]));var y=d.filter(function(F){return!F.fixed});c.originColumns=[].concat(c.fixedColumns).concat(y).concat(c.rightFixedColumns);var T=Xr(y),A=Xr(c.fixedColumns),L=Xr(c.rightFixedColumns);c.leafColumnsLength=T.length,c.fixedLeafColumnsLength=A.length,c.rightFixedLeafColumnsLength=L.length,c.columns=[].concat(A).concat(T).concat(L),c.isComplex=c.fixedColumns.length>0||c.rightFixedColumns.length>0},scheduleLayout:function(c){c&&this.updateColumns(),this.table.debouncedUpdateLayout()},isSelected:function(c){var d=this.states.selection,y=d===void 0?[]:d;return y.indexOf(c)>-1},clearSelection:function(){var c=this.states;c.isAllSelected=!1;var d=c.selection;d.length&&(c.selection=[],this.table.$emit("selection-change",[]))},cleanSelection:function(){var c=this.states,d=c.data,y=c.rowKey,T=c.selection,A=void 0;if(y){A=[];var L=So(T,y),F=So(d,y);for(var G in L)L.hasOwnProperty(G)&&!F[G]&&A.push(L[G].row)}else A=T.filter(function(te){return d.indexOf(te)===-1});if(A.length){var q=T.filter(function(te){return A.indexOf(te)===-1});c.selection=q,this.table.$emit("selection-change",q.slice())}},toggleRowSelection:function(c,d){var y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,T=cs(this.states.selection,c,d);if(T){var A=(this.states.selection||[]).slice();y&&this.table.$emit("select",A,c),this.table.$emit("selection-change",A)}},_toggleAllSelection:function(){var c=this.states,d=c.data,y=d===void 0?[]:d,T=c.selection,A=c.selectOnIndeterminate?!c.isAllSelected:!(c.isAllSelected||T.length);c.isAllSelected=A;var L=!1;y.forEach(function(F,G){c.selectable?c.selectable.call(null,F,G)&&cs(T,F,A)&&(L=!0):cs(T,F,A)&&(L=!0)}),L&&this.table.$emit("selection-change",T?T.slice():[]),this.table.$emit("select-all",T)},updateSelectionByRowKey:function(){var c=this.states,d=c.selection,y=c.rowKey,T=c.data,A=So(d,y);T.forEach(function(L){var F=Kr(L,y),G=A[F];G&&(d[G.index]=L)})},updateAllSelected:function(){var c=this.states,d=c.selection,y=c.rowKey,T=c.selectable,A=c.data||[];if(A.length===0){c.isAllSelected=!1;return}var L=void 0;y&&(L=So(d,y));for(var F=function(Ue){return L?!!L[Kr(Ue,y)]:d.indexOf(Ue)!==-1},G=!0,q=0,te=0,se=A.length;te1?d-1:0),T=1;T1&&arguments[1]!==void 0?arguments[1]:{};if(!l)throw new Error("Table is required.");var d=new bk;return d.table=l,d.toggleAllSelection=_e()(10,d._toggleAllSelection),Object.keys(c).forEach(function(y){d.states[y]=c[y]}),d}function wh(l){var c={};return Object.keys(l).forEach(function(d){var y=l[d],T=void 0;typeof y=="string"?T=function(){return this.store.states[y]}:typeof y=="function"?T=function(){return y.call(this,this.store.states)}:console.error("invalid value type"),T&&(c[d]=T)}),c}var Iv=n(31),al=n.n(Iv);function Pv(l,c){if(!(l instanceof c))throw new TypeError("Cannot call a class as a function")}var ol=function(){function l(c){Pv(this,l),this.observers=[],this.table=null,this.store=null,this.columns=null,this.fit=!0,this.showHeader=!0,this.height=null,this.scrollX=!1,this.scrollY=!1,this.bodyWidth=null,this.fixedWidth=null,this.rightFixedWidth=null,this.tableHeight=null,this.headerHeight=44,this.appendHeight=0,this.footerHeight=44,this.viewportHeight=null,this.bodyHeight=null,this.fixedBodyHeight=null,this.gutterWidth=al()();for(var d in c)c.hasOwnProperty(d)&&(this[d]=c[d]);if(!this.table)throw new Error("table is required for Table Layout");if(!this.store)throw new Error("store is required for Table Layout")}return l.prototype.updateScrollY=function(){var d=this.height;if(d===null)return!1;var y=this.table.bodyWrapper;if(this.table.$el&&y){var T=y.querySelector(".el-table__body"),A=this.scrollY,L=T.offsetHeight>this.bodyHeight;return this.scrollY=L,A!==L}return!1},l.prototype.setHeight=function(d){var y=this,T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"height";if(!gr.a.prototype.$isServer){var A=this.table.$el;if(d=Av(d),this.height=d,!A&&(d||d===0))return gr.a.nextTick(function(){return y.setHeight(d,T)});typeof d=="number"?(A.style[T]=d+"px",this.updateElsHeight()):typeof d=="string"&&(A.style[T]=d,this.updateElsHeight())}},l.prototype.setMaxHeight=function(d){this.setHeight(d,"max-height")},l.prototype.getFlattenColumns=function(){var d=[],y=this.table.columns;return y.forEach(function(T){T.isColumnGroup?d.push.apply(d,T.columns):d.push(T)}),d},l.prototype.updateElsHeight=function(){var d=this;if(!this.table.$ready)return gr.a.nextTick(function(){return d.updateElsHeight()});var y=this.table.$refs,T=y.headerWrapper,A=y.appendWrapper,L=y.footerWrapper;if(this.appendHeight=A?A.offsetHeight:0,!(this.showHeader&&!T)){var F=T?T.querySelector(".el-table__header tr"):null,G=this.headerDisplayNone(F),q=this.headerHeight=this.showHeader?T.offsetHeight:0;if(this.showHeader&&!G&&T.offsetWidth>0&&(this.table.columns||[]).length>0&&q<2)return gr.a.nextTick(function(){return d.updateElsHeight()});var te=this.tableHeight=this.table.$el.clientHeight,se=this.footerHeight=L?L.offsetHeight:0;this.height!==null&&(this.bodyHeight=te-q-se+(L?1:0)),this.fixedBodyHeight=this.scrollX?this.bodyHeight-this.gutterWidth:this.bodyHeight;var Ae=!(this.store.states.data&&this.store.states.data.length);this.viewportHeight=this.scrollX?te-(Ae?0:this.gutterWidth):te,this.updateScrollY(),this.notifyObservers("scrollable")}},l.prototype.headerDisplayNone=function(d){if(!d)return!0;for(var y=d;y.tagName!=="DIV";){if(getComputedStyle(y).display==="none")return!0;y=y.parentElement}return!1},l.prototype.updateColumnsWidth=function(){if(!gr.a.prototype.$isServer){var d=this.fit,y=this.table.$el.clientWidth,T=0,A=this.getFlattenColumns(),L=A.filter(function(De){return typeof De.width!="number"});if(A.forEach(function(De){typeof De.width=="number"&&De.realWidth&&(De.realWidth=null)}),L.length>0&&d){A.forEach(function(De){T+=De.width||De.minWidth||80});var F=this.scrollY?this.gutterWidth:0;if(T<=y-F){this.scrollX=!1;var G=y-F-T;if(L.length===1)L[0].realWidth=(L[0].minWidth||80)+G;else{var q=L.reduce(function(De,Et){return De+(Et.minWidth||80)},0),te=G/q,se=0;L.forEach(function(De,Et){if(Et!==0){var pt=Math.floor((De.minWidth||80)*te);se+=pt,De.realWidth=(De.minWidth||80)+pt}}),L[0].realWidth=(L[0].minWidth||80)+G-se}}else this.scrollX=!0,L.forEach(function(De){De.realWidth=De.minWidth});this.bodyWidth=Math.max(T,y),this.table.resizeState.width=this.bodyWidth}else A.forEach(function(De){!De.width&&!De.minWidth?De.realWidth=80:De.realWidth=De.width||De.minWidth,T+=De.realWidth}),this.scrollX=T>y,this.bodyWidth=T;var Ae=this.store.states.fixedColumns;if(Ae.length>0){var $e=0;Ae.forEach(function(De){$e+=De.realWidth||De.width}),this.fixedWidth=$e}var Ve=this.store.states.rightFixedColumns;if(Ve.length>0){var Ue=0;Ve.forEach(function(De){Ue+=De.realWidth||De.width}),this.rightFixedWidth=Ue}this.notifyObservers("columns")}},l.prototype.addObserver=function(d){this.observers.push(d)},l.prototype.removeObserver=function(d){var y=this.observers.indexOf(d);y!==-1&&this.observers.splice(y,1)},l.prototype.notifyObservers=function(d){var y=this,T=this.observers;T.forEach(function(A){switch(d){case"columns":A.onColumnsChange(y);break;case"scrollable":A.onScrollableChange(y);break;default:throw new Error("Table Layout don't have event "+d+".")}})},l}(),$u=ol,fs={created:function(){this.tableLayout.addObserver(this)},destroyed:function(){this.tableLayout.removeObserver(this)},computed:{tableLayout:function(){var c=this.layout;if(!c&&this.table&&(c=this.table.layout),!c)throw new Error("Can not find table layout.");return c}},mounted:function(){this.onColumnsChange(this.tableLayout),this.onScrollableChange(this.tableLayout)},updated:function(){this.__updated__||(this.onColumnsChange(this.tableLayout),this.onScrollableChange(this.tableLayout),this.__updated__=!0)},methods:{onColumnsChange:function(c){var d=this.$el.querySelectorAll("colgroup > col");if(d.length){var y=c.getFlattenColumns(),T={};y.forEach(function(te){T[te.id]=te});for(var A=0,L=d.length;A col[name=gutter]"),y=0,T=d.length;y=this.leftFixedLeafCount:this.fixed==="right"?c=this.columnsCount-this.rightFixedLeafCount},getSpan:function(c,d,y,T){var A=1,L=1,F=this.table.spanMethod;if(typeof F=="function"){var G=F({row:c,column:d,rowIndex:y,columnIndex:T});Array.isArray(G)?(A=G[0],L=G[1]):(typeof G>"u"?"undefined":xk(G))==="object"&&(A=G.rowspan,L=G.colspan)}return{rowspan:A,colspan:L}},getRowStyle:function(c,d){var y=this.table.rowStyle;return typeof y=="function"?y.call(null,{row:c,rowIndex:d}):y||null},getRowClass:function(c,d){var y=this.store.states.selection,T=["el-table__row"];if(this.table.highlightCurrentRow&&c===this.store.states.currentRow&&T.push("current-row"),this.table.highlightSelectionRow)for(var A=0;A-1&&T.push("expanded"),T},getCellStyle:function(c,d,y,T){var A=this.table.cellStyle;return typeof A=="function"?A.call(null,{rowIndex:c,columnIndex:d,row:y,column:T}):A},getCellClass:function(c,d,y,T){var A=[T.id,T.align,T.className];this.isColumnHidden(d)&&A.push("is-hidden");var L=this.table.cellClassName;return typeof L=="string"?A.push(L):typeof L=="function"&&A.push(L.call(null,{rowIndex:c,columnIndex:d,row:y,column:T})),A.push("el-table__cell"),A.join(" ")},getColspanRealWidth:function(c,d,y){if(d<1)return c[y].realWidth;var T=c.map(function(A){var L=A.realWidth;return L}).slice(y,y+d);return T.reduce(function(A,L){return A+L},-1)},handleCellMouseEnter:function(c,d){var y=this.table,T=aa(c);if(T){var A=Mv(y,T),L=y.hoverState={cell:T,column:A,row:d};y.$emit("cell-mouse-enter",L.row,L.column,L.cell,c)}var F=c.target.querySelector(".cell");if(Object(Ee.hasClass)(F,"el-tooltip")&&F.childNodes.length){var G=document.createRange();G.setStart(F,0),G.setEnd(F,F.childNodes.length);var q=G.getBoundingClientRect().width,te=(parseInt(Object(Ee.getStyle)(F,"paddingLeft"),10)||0)+(parseInt(Object(Ee.getStyle)(F,"paddingRight"),10)||0);if((q+te>F.offsetWidth||F.scrollWidth>F.offsetWidth)&&this.$refs.tooltip){var se=this.$refs.tooltip;this.tooltipContent=T.innerText||T.textContent,se.referenceElm=T,se.$refs.popper&&(se.$refs.popper.style.display="none"),se.doDestroy(),se.setExpectedState(!0),this.activateTooltip(se)}}},handleCellMouseLeave:function(c){var d=this.$refs.tooltip;d&&(d.setExpectedState(!1),d.handleClosePopper());var y=aa(c);if(y){var T=this.table.hoverState||{};this.table.$emit("cell-mouse-leave",T.row,T.column,T.cell,c)}},handleMouseEnter:_e()(30,function(l){this.store.commit("setHoverRow",l)}),handleMouseLeave:_e()(30,function(){this.store.commit("setHoverRow",null)}),handleContextMenu:function(c,d){this.handleEvent(c,d,"contextmenu")},handleDoubleClick:function(c,d){this.handleEvent(c,d,"dblclick")},handleClick:function(c,d){this.store.commit("setCurrentRow",d),this.handleEvent(c,d,"click")},handleEvent:function(c,d,y){var T=this.table,A=aa(c),L=void 0;A&&(L=Mv(T,A),L&&T.$emit("cell-"+y,d,L,A,c)),T.$emit("row-"+y,d,L,c)},rowRender:function(c,d,y){var T=this,A=this.$createElement,L=this.treeIndent,F=this.columns,G=this.firstDefaultColumnIndex,q=this.getRowClass(c,d),te=!0;y&&(q.push("el-table__row--level-"+y.level),te=y.display);var se=te?null:{display:"none"};return A(sl,{style:[se,this.getRowStyle(c,d)],class:q,key:this.getKeyOfRow(c,d),nativeOn:{dblclick:function($e){return T.handleDoubleClick($e,c)},click:function($e){return T.handleClick($e,c)},contextmenu:function($e){return T.handleContextMenu($e,c)},mouseenter:function($e){return T.handleMouseEnter(d)},mouseleave:this.handleMouseLeave},attrs:{columns:F,row:c,index:d,store:this.store,context:this.context||this.table.$vnode.context,firstDefaultColumnIndex:G,treeRowData:y,treeIndent:L,columnsHidden:this.columnsHidden,getSpan:this.getSpan,getColspanRealWidth:this.getColspanRealWidth,getCellStyle:this.getCellStyle,getCellClass:this.getCellClass,handleCellMouseEnter:this.handleCellMouseEnter,handleCellMouseLeave:this.handleCellMouseLeave,isSelected:this.store.isSelected(c),isExpanded:this.store.states.expandRows.indexOf(c)>-1,fixed:this.fixed}})},wrappedRowRender:function(c,d){var y=this,T=this.$createElement,A=this.store,L=A.isRowExpanded,F=A.assertRowKey,G=A.states,q=G.treeData,te=G.lazyTreeNodeMap,se=G.childrenColumnName,Ae=G.rowKey;if(this.hasExpandColumn&&L(c)){var $e=this.table.renderExpanded,Ve=this.rowRender(c,d);return $e?[[Ve,T("tr",{key:"expanded-row__"+Ve.key},[T("td",{attrs:{colspan:this.columnsCount},class:"el-table__cell el-table__expanded-cell"},[$e(this.$createElement,{row:c,$index:d,store:this.store})])])]]:(console.error("[Element Error]renderExpanded is required."),Ve)}else if(Object.keys(q).length){F();var Ue=Kr(c,Ae),De=q[Ue],Et=null;De&&(Et={expanded:De.expanded,level:De.level,display:!0},typeof De.lazy=="boolean"&&(typeof De.loaded=="boolean"&&De.loaded&&(Et.noLazyChildren=!(De.children&&De.children.length)),Et.loading=De.loading));var pt=[this.rowRender(c,d,Et)];if(De){var Qt=0,Gt=function wn(dr,kr){dr&&dr.length&&kr&&dr.forEach(function(en){var ii={display:kr.display&&kr.expanded,level:kr.level+1},Cn=Kr(en,Ae);if(Cn==null)throw new Error("for nested data item, row-key is required.");if(De=kb({},q[Cn]),De&&(ii.expanded=De.expanded,De.level=De.level||ii.level,De.display=!!(De.expanded&&ii.display),typeof De.lazy=="boolean"&&(typeof De.loaded=="boolean"&&De.loaded&&(ii.noLazyChildren=!(De.children&&De.children.length)),ii.loading=De.loading)),Qt++,pt.push(y.rowRender(en,d+Qt,ii)),De){var Ug=te[Cn]||en[se];wn(Ug,De)}})};De.display=!0;var ni=te[Ue]||c[se];Gt(ni,De)}return pt}else return this.rowRender(c,d)}}},Mb=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-zoom-in-top"}},[l.multiple?d("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:l.handleOutsideClick,expression:"handleOutsideClick"},{name:"show",rawName:"v-show",value:l.showPopper,expression:"showPopper"}],staticClass:"el-table-filter"},[d("div",{staticClass:"el-table-filter__content"},[d("el-scrollbar",{attrs:{"wrap-class":"el-table-filter__wrap"}},[d("el-checkbox-group",{staticClass:"el-table-filter__checkbox-group",model:{value:l.filteredValue,callback:function(y){l.filteredValue=y},expression:"filteredValue"}},l._l(l.filters,function(y){return d("el-checkbox",{key:y.value,attrs:{label:y.value}},[l._v(l._s(y.text))])}),1)],1)],1),d("div",{staticClass:"el-table-filter__bottom"},[d("button",{class:{"is-disabled":l.filteredValue.length===0},attrs:{disabled:l.filteredValue.length===0},on:{click:l.handleConfirm}},[l._v(l._s(l.t("el.table.confirmFilter")))]),d("button",{on:{click:l.handleReset}},[l._v(l._s(l.t("el.table.resetFilter")))])])]):d("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:l.handleOutsideClick,expression:"handleOutsideClick"},{name:"show",rawName:"v-show",value:l.showPopper,expression:"showPopper"}],staticClass:"el-table-filter"},[d("ul",{staticClass:"el-table-filter__list"},[d("li",{staticClass:"el-table-filter__list-item",class:{"is-active":l.filterValue===void 0||l.filterValue===null},on:{click:function(y){l.handleSelect(null)}}},[l._v(l._s(l.t("el.table.clearFilter")))]),l._l(l.filters,function(y){return d("li",{key:y.value,staticClass:"el-table-filter__list-item",class:{"is-active":l.isActive(y)},attrs:{label:y.value},on:{click:function(T){l.handleSelect(y.value)}}},[l._v(l._s(y.text))])})],2)])])},wk=[];Mb._withStripped=!0;var hs=[];!gr.a.prototype.$isServer&&document.addEventListener("click",function(l){hs.forEach(function(c){var d=l.target;!c||!c.$el||d===c.$el||c.$el.contains(d)||c.handleOutsideClick&&c.handleOutsideClick(l)})});var ll={open:function(c){c&&hs.push(c)},close:function(c){var d=hs.indexOf(c);d!==-1&&hs.splice(c,1)}},Ab=n(32),Y=n.n(Ab),ul={name:"ElTableFilterPanel",mixins:[ie.a,C.a],directives:{Clickoutside:Le.a},components:{ElCheckbox:wi.a,ElCheckboxGroup:Y.a,ElScrollbar:Fe.a},props:{placement:{type:String,default:"bottom-end"}},methods:{isActive:function(c){return c.value===this.filterValue},handleOutsideClick:function(){var c=this;setTimeout(function(){c.showPopper=!1},16)},handleConfirm:function(){this.confirmFilter(this.filteredValue),this.handleOutsideClick()},handleReset:function(){this.filteredValue=[],this.confirmFilter(this.filteredValue),this.handleOutsideClick()},handleSelect:function(c){this.filterValue=c,typeof c<"u"&&c!==null?this.confirmFilter(this.filteredValue):this.confirmFilter([]),this.handleOutsideClick()},confirmFilter:function(c){this.table.store.commit("filterChange",{column:this.column,values:c}),this.table.store.updateAllSelected()}},data:function(){return{table:null,cell:null,column:null}},computed:{filters:function(){return this.column&&this.column.filters},filterValue:{get:function(){return(this.column.filteredValue||[])[0]},set:function(c){this.filteredValue&&(typeof c<"u"&&c!==null?this.filteredValue.splice(0,1,c):this.filteredValue.splice(0,1))}},filteredValue:{get:function(){return this.column?this.column.filteredValue||[]:[]},set:function(c){this.column&&(this.column.filteredValue=c)}},multiple:function(){return this.column?this.column.filterMultiple:!0}},mounted:function(){var c=this;this.popperElm=this.$el,this.referenceElm=this.cell,this.table.bodyWrapper.addEventListener("scroll",function(){c.updatePopper()}),this.$watch("showPopper",function(d){c.column&&(c.column.filterOpened=d),d?ll.open(c):ll.close(c)})},watch:{showPopper:function(c){c===!0&&parseInt(this.popperJS._popper.style.zIndex,10)1;return A&&(this.$parent.isGroup=!0),c("table",{class:"el-table__header",attrs:{cellspacing:"0",cellpadding:"0",border:"0"}},[c("colgroup",[this.columns.map(function(L){return c("col",{attrs:{name:L.id},key:L.id})}),this.hasGutter?c("col",{attrs:{name:"gutter"}}):""]),c("thead",{class:[{"is-group":A,"has-gutter":this.hasGutter}]},[this._l(T,function(L,F){return c("tr",{style:d.getHeaderRowStyle(F),class:d.getHeaderRowClass(F)},[L.map(function(G,q){return c("th",{attrs:{colspan:G.colSpan,rowspan:G.rowSpan},on:{mousemove:function(se){return d.handleMouseMove(se,G)},mouseout:d.handleMouseOut,mousedown:function(se){return d.handleMouseDown(se,G)},click:function(se){return d.handleHeaderClick(se,G)},contextmenu:function(se){return d.handleHeaderContextMenu(se,G)}},style:d.getHeaderCellStyle(F,q,L,G),class:d.getHeaderCellClass(F,q,L,G),key:G.id},[c("div",{class:["cell",G.filteredValue&&G.filteredValue.length>0?"highlight":"",G.labelClassName]},[G.renderHeader?G.renderHeader.call(d._renderProxy,c,{column:G,$index:q,store:d.store,_self:d.$parent.$vnode.context}):G.label,G.sortable?c("span",{class:"caret-wrapper",on:{click:function(se){return d.handleSortClick(se,G)}}},[c("i",{class:"sort-caret ascending",on:{click:function(se){return d.handleSortClick(se,G,"ascending")}}}),c("i",{class:"sort-caret descending",on:{click:function(se){return d.handleSortClick(se,G,"descending")}}})]):"",G.filterable?c("span",{class:"el-table__column-filter-trigger",on:{click:function(se){return d.handleFilterClick(se,G)}}},[c("i",{class:["el-icon-arrow-down",G.filterOpened?"el-icon-arrow-up":""]})]):""])])}),d.hasGutter?c("th",{class:"el-table__cell gutter"}):""])})])])},props:{fixed:String,store:{required:!0},border:Boolean,defaultSort:{type:Object,default:function(){return{prop:"",order:""}}}},components:{ElCheckbox:wi.a},computed:Ck({table:function(){return this.$parent},hasGutter:function(){return!this.fixed&&this.tableLayout.gutterWidth}},wh({columns:"columns",isAllSelected:"isAllSelected",leftFixedLeafCount:"fixedLeafColumnsLength",rightFixedLeafCount:"rightFixedLeafColumnsLength",columnsCount:function(c){return c.columns.length},leftFixedCount:function(c){return c.fixedColumns.length},rightFixedCount:function(c){return c.rightFixedColumns.length}})),created:function(){this.filterPanels={}},mounted:function(){var c=this;this.$nextTick(function(){var d=c.defaultSort,y=d.prop,T=d.order,A=!0;c.store.commit("sort",{prop:y,order:T,init:A})})},beforeDestroy:function(){var c=this.filterPanels;for(var d in c)c.hasOwnProperty(d)&&c[d]&&c[d].$destroy(!0)},methods:{isCellHidden:function(c,d){for(var y=0,T=0;T=this.leftFixedLeafCount:this.fixed==="right"?y=this.columnsCount-this.rightFixedLeafCount},getHeaderRowStyle:function(c){var d=this.table.headerRowStyle;return typeof d=="function"?d.call(null,{rowIndex:c}):d},getHeaderRowClass:function(c){var d=[],y=this.table.headerRowClassName;return typeof y=="string"?d.push(y):typeof y=="function"&&d.push(y.call(null,{rowIndex:c})),d.join(" ")},getHeaderCellStyle:function(c,d,y,T){var A=this.table.headerCellStyle;return typeof A=="function"?A.call(null,{rowIndex:c,columnIndex:d,row:y,column:T}):A},getHeaderCellClass:function(c,d,y,T){var A=[T.id,T.order,T.headerAlign,T.className,T.labelClassName];c===0&&this.isCellHidden(d,y)&&A.push("is-hidden"),T.children||A.push("is-leaf"),T.sortable&&A.push("is-sortable");var L=this.table.headerCellClassName;return typeof L=="string"?A.push(L):typeof L=="function"&&A.push(L.call(null,{rowIndex:c,columnIndex:d,row:y,column:T})),A.push("el-table__cell"),A.join(" ")},toggleAllSelection:function(){this.store.commit("toggleAllSelection")},handleFilterClick:function(c,d){c.stopPropagation();var y=c.target,T=y.tagName==="TH"?y:y.parentNode;if(!Object(Ee.hasClass)(T,"noclick")){T=T.querySelector(".el-table__column-filter-trigger")||T;var A=this.$parent,L=this.filterPanels[d.id];if(L&&d.filterOpened){L.showPopper=!1;return}L||(L=new gr.a(zt),this.filterPanels[d.id]=L,d.filterPlacement&&(L.placement=d.filterPlacement),L.table=A,L.cell=T,L.column=d,!this.$isServer&&L.$mount(document.createElement("div"))),setTimeout(function(){L.showPopper=!0},16)}},handleHeaderClick:function(c,d){!d.filters&&d.sortable?this.handleSortClick(c,d):d.filterable&&!d.sortable&&this.handleFilterClick(c,d),this.$parent.$emit("header-click",d,c)},handleHeaderContextMenu:function(c,d){this.$parent.$emit("header-contextmenu",d,c)},handleMouseDown:function(c,d){var y=this;if(!this.$isServer&&!(d.children&&d.children.length>0)&&this.draggingColumn&&this.border){this.dragging=!0,this.$parent.resizeProxyVisible=!0;var T=this.$parent,A=T.$el,L=A.getBoundingClientRect().left,F=this.$el.querySelector("th."+d.id),G=F.getBoundingClientRect(),q=G.left-L+30;Object(Ee.addClass)(F,"noclick"),this.dragState={startMouseLeft:c.clientX,startLeft:G.right-L,startColumnLeft:G.left-L,tableLeft:L};var te=T.$refs.resizeProxy;te.style.left=this.dragState.startLeft+"px",document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};var se=function(Ve){var Ue=Ve.clientX-y.dragState.startMouseLeft,De=y.dragState.startLeft+Ue;te.style.left=Math.max(q,De)+"px"},Ae=function $e(){if(y.dragging){var Ve=y.dragState,Ue=Ve.startColumnLeft,De=Ve.startLeft,Et=parseInt(te.style.left,10),pt=Et-Ue;d.width=d.realWidth=pt,T.$emit("header-dragend",d.width,De-Ue,d,c),y.store.scheduleLayout(),document.body.style.cursor="",y.dragging=!1,y.draggingColumn=null,y.dragState={},T.resizeProxyVisible=!1}document.removeEventListener("mousemove",se),document.removeEventListener("mouseup",$e),document.onselectstart=null,document.ondragstart=null,setTimeout(function(){Object(Ee.removeClass)(F,"noclick")},0)};document.addEventListener("mousemove",se),document.addEventListener("mouseup",Ae)}},handleMouseMove:function(c,d){if(!(d.children&&d.children.length>0)){for(var y=c.target;y&&y.tagName!=="TH";)y=y.parentNode;if(!(!d||!d.resizable)&&!this.dragging&&this.border){var T=y.getBoundingClientRect(),A=document.body.style;T.width>12&&T.right-c.pageX<8?(A.cursor="col-resize",Object(Ee.hasClass)(y,"is-sortable")&&(y.style.cursor="col-resize"),this.draggingColumn=d):this.dragging||(A.cursor="",Object(Ee.hasClass)(y,"is-sortable")&&(y.style.cursor="pointer"),this.draggingColumn=null)}}},handleMouseOut:function(){this.$isServer||(document.body.style.cursor="")},toggleOrder:function(c){var d=c.order,y=c.sortOrders;if(d==="")return y[0];var T=y.indexOf(d||null);return y[T>y.length-2?0:T+1]},handleSortClick:function(c,d,y){c.stopPropagation();for(var T=d.order===y?null:y||this.toggleOrder(d),A=c.target;A&&A.tagName!=="TH";)A=A.parentNode;if(A&&A.tagName==="TH"&&Object(Ee.hasClass)(A,"noclick")){Object(Ee.removeClass)(A,"noclick");return}if(d.sortable){var L=this.store.states,F=L.sortProp,G=void 0,q=L.sortingColumn;(q!==d||q===d&&q.order===null)&&(q&&(q.order=null),L.sortingColumn=d,F=d.property),T?G=d.order=T:G=d.order=null,L.sortProp=F,L.sortOrder=G,this.store.commit("changeSortCondition")}}},data:function(){return{draggingColumn:null,dragging:!1,dragState:{}}}},kk=Object.assign||function(l){for(var c=1;c=this.leftFixedLeafCount;if(this.fixed==="right"){for(var T=0,A=0;A=this.columnsCount-this.rightFixedCount},getRowClasses:function(c,d){var y=[c.id,c.align,c.labelClassName];return c.className&&y.push(c.className),this.isCellHidden(d,this.columns,c)&&y.push("is-hidden"),c.children||y.push("is-leaf"),y}}},Ak=Object.assign||function(l){for(var c=1;c0){var T=y.scrollTop;d.pixelY<0&&T!==0&&c.preventDefault(),d.pixelY>0&&y.scrollHeight-y.clientHeight>T&&c.preventDefault(),y.scrollTop+=Math.ceil(d.pixelY/5)}else y.scrollLeft+=Math.ceil(d.pixelX/5)},handleHeaderFooterMousewheel:function(c,d){var y=d.pixelX,T=d.pixelY;Math.abs(y)>=Math.abs(T)&&(this.bodyWrapper.scrollLeft+=d.pixelX/5)},syncPostion:function(){var c=this.bodyWrapper,d=c.scrollLeft,y=c.scrollTop,T=c.offsetWidth,A=c.scrollWidth,L=this.$refs,F=L.headerWrapper,G=L.footerWrapper,q=L.fixedBodyWrapper,te=L.rightFixedBodyWrapper;F&&(F.scrollLeft=d),G&&(G.scrollLeft=d),q&&(q.scrollTop=y),te&&(te.scrollTop=y);var se=A-T-1;d>=se?this.scrollPosition="right":d===0?this.scrollPosition="left":this.scrollPosition="middle"},throttleSyncPostion:Object(Lu.throttle)(16,function(){this.syncPostion()}),onScroll:function(c){var d=window.requestAnimationFrame;d?d(this.syncPostion):this.throttleSyncPostion()},bindEvents:function(){this.bodyWrapper.addEventListener("scroll",this.onScroll,{passive:!0}),this.fit&&Object(Si.addResizeListener)(this.$el,this.resizeListener)},unbindEvents:function(){this.bodyWrapper.removeEventListener("scroll",this.onScroll,{passive:!0}),this.fit&&Object(Si.removeResizeListener)(this.$el,this.resizeListener)},resizeListener:function(){if(this.$ready){var c=!1,d=this.$el,y=this.resizeState,T=y.width,A=y.height,L=d.offsetWidth;T!==L&&(c=!0);var F=d.offsetHeight;(this.height||this.shouldUpdateHeight)&&A!==F&&(c=!0),c&&(this.resizeState.width=L,this.resizeState.height=F,this.doLayout())}},doLayout:function(){this.shouldUpdateHeight&&this.layout.updateElsHeight(),this.layout.updateColumnsWidth()},sort:function(c,d){this.store.commit("sort",{prop:c,order:d})},toggleAllSelection:function(){this.store.commit("toggleAllSelection")}},computed:Ak({tableSize:function(){return this.size||(this.$ELEMENT||{}).size},bodyWrapper:function(){return this.$refs.bodyWrapper},shouldUpdateHeight:function(){return this.height||this.maxHeight||this.fixedColumns.length>0||this.rightFixedColumns.length>0},bodyWidth:function(){var c=this.layout,d=c.bodyWidth,y=c.scrollY,T=c.gutterWidth;return d?d-(y?T:0)+"px":""},bodyHeight:function(){var c=this.layout,d=c.headerHeight,y=d===void 0?0:d,T=c.bodyHeight,A=c.footerHeight,L=A===void 0?0:A;if(this.height)return{height:T?T+"px":""};if(this.maxHeight){var F=Av(this.maxHeight);if(typeof F=="number")return{"max-height":F-L-(this.showHeader?y:0)+"px"}}return{}},fixedBodyHeight:function(){if(this.height)return{height:this.layout.fixedBodyHeight?this.layout.fixedBodyHeight+"px":""};if(this.maxHeight){var c=Av(this.maxHeight);if(typeof c=="number")return c=this.layout.scrollX?c-this.layout.gutterWidth:c,this.showHeader&&(c-=this.layout.headerHeight),c-=this.layout.footerHeight,{"max-height":c+"px"}}return{}},fixedHeight:function(){return this.maxHeight?this.showSummary?{bottom:0}:{bottom:this.layout.scrollX&&this.data.length?this.layout.gutterWidth+"px":""}:this.showSummary?{height:this.layout.tableHeight?this.layout.tableHeight+"px":""}:{height:this.layout.viewportHeight?this.layout.viewportHeight+"px":""}},emptyBlockStyle:function(){if(this.data&&this.data.length)return null;var c="100%";return this.layout.appendHeight&&(c="calc(100% - "+this.layout.appendHeight+"px)"),{width:this.bodyWidth,height:c}}},wh({selection:"selection",columns:"columns",tableData:"data",fixedColumns:"fixedColumns",rightFixedColumns:"rightFixedColumns"})),watch:{height:{immediate:!0,handler:function(c){this.layout.setHeight(c)}},maxHeight:{immediate:!0,handler:function(c){this.layout.setMaxHeight(c)}},currentRowKey:{immediate:!0,handler:function(c){this.rowKey&&this.store.setCurrentRowKey(c)}},data:{immediate:!0,handler:function(c){this.store.commit("setData",c)}},expandRowKeys:{immediate:!0,handler:function(c){c&&this.store.setExpandRowKeysAdapter(c)}}},created:function(){var c=this;this.tableId="el-table_"+Ek++,this.debouncedUpdateLayout=Object(Lu.debounce)(50,function(){return c.doLayout()})},mounted:function(){var c=this;this.bindEvents(),this.store.updateColumns(),this.doLayout(),this.resizeState={width:this.$el.offsetWidth,height:this.$el.offsetHeight},this.store.states.columns.forEach(function(d){d.filteredValue&&d.filteredValue.length&&c.store.commit("filterChange",{column:d,values:d.filteredValue,silent:!0})}),this.$ready=!0},destroyed:function(){this.unbindEvents()},data:function(){var c=this.treeProps,d=c.hasChildren,y=d===void 0?"hasChildren":d,T=c.children,A=T===void 0?"children":T;this.store=Db(this,{rowKey:this.rowKey,defaultExpandAll:this.defaultExpandAll,selectOnIndeterminate:this.selectOnIndeterminate,indent:this.indent,lazy:this.lazy,lazyColumnIdentifier:y,childrenColumnName:A});var L=new $u({store:this.store,table:this,fit:this.fit,showHeader:this.showHeader});return{layout:L,isHidden:!1,renderExpanded:null,resizeProxyVisible:!1,resizeState:{width:null,height:null},isGroup:!1,scrollPosition:"left"}}},Va=Ik,Eb=u(Va,Pu,ck,!1);Eb.options.__file="packages/table/src/table.vue";var Dh=Eb.exports;Dh.install=function(l){l.component(Dh.name,Dh)};var Ib=Dh,Pk={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:"",className:"el-table-column--selection"},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},Lk={selection:{renderHeader:function(c,d){var y=d.store;return c("el-checkbox",{attrs:{disabled:y.states.data&&y.states.data.length===0,indeterminate:y.states.selection.length>0&&!this.isAllSelected,value:this.isAllSelected},on:{input:this.toggleAllSelection}})},renderCell:function(c,d){var y=d.row,T=d.column,A=d.isSelected,L=d.store,F=d.$index;return c("el-checkbox",{nativeOn:{click:function(q){return q.stopPropagation()}},attrs:{value:A,disabled:T.selectable?!T.selectable.call(null,y,F):!1},on:{input:function(){L.commit("rowSelectedChanged",y)}}})},sortable:!1,resizable:!1},index:{renderHeader:function(c,d){var y=d.column;return y.label||"#"},renderCell:function(c,d){var y=d.$index,T=d.column,A=y+1,L=T.index;return typeof L=="number"?A=y+L:typeof L=="function"&&(A=L(y)),c("div",[A])},sortable:!1},expand:{renderHeader:function(c,d){var y=d.column;return y.label||""},renderCell:function(c,d){var y=d.row,T=d.store,A=d.isExpanded,L=["el-table__expand-icon"];A&&L.push("el-table__expand-icon--expanded");var F=function(q){q.stopPropagation(),T.toggleRowExpansion(y)};return c("div",{class:L,on:{click:F}},[c("i",{class:"el-icon el-icon-arrow-right"})])},sortable:!1,resizable:!1,className:"el-table__expand-column"}};function Ha(l,c){var d=c.row,y=c.column,T=c.$index,A=y.property,L=A&&Object(w.getPropByPath)(d,A).v;return y&&y.formatter?y.formatter(d,y,L,T):L}function Ok(l,c){var d=c.row,y=c.treeNode,T=c.store;if(!y)return null;var A=[],L=function(te){te.stopPropagation(),T.loadOrToggle(d)};if(y.indent&&A.push(l("span",{class:"el-table__indent",style:{"padding-left":y.indent+"px"}})),typeof y.expanded=="boolean"&&!y.noLazyChildren){var F=["el-table__expand-icon",y.expanded?"el-table__expand-icon--expanded":""],G=["el-icon-arrow-right"];y.loading&&(G=["el-icon-loading"]),A.push(l("div",{class:F,on:{click:L}},[l("i",{class:G})]))}else A.push(l("span",{class:"el-table__placeholder"}));return A}var Rk=Object.assign||function(l){for(var c=1;c-1})}}},data:function(){return{isSubColumn:!1,columns:[]}},computed:{owner:function(){for(var c=this.$parent;c&&!c.tableId;)c=c.$parent;return c},columnOrTableParent:function(){for(var c=this.$parent;c&&!c.tableId&&!c.columnId;)c=c.$parent;return c},realWidth:function(){return Fu(this.width)},realMinWidth:function(){return pk(this.minWidth)},realAlign:function(){return this.align?"is-"+this.align:null},realHeaderAlign:function(){return this.headerAlign?"is-"+this.headerAlign:this.realAlign}},methods:{getPropsData:function(){for(var c=this,d=arguments.length,y=Array(d),T=0;T3&&arguments[3]!==void 0?arguments[3]:"-";if(!c)return null;var A=(ps[y]||ps.default).parser,L=d||Lv[y];return A(c,L,T)},zu=function(c,d,y){if(!c)return null;var T=(ps[y]||ps.default).formatter,A=d||Lv[y];return T(c,A)},vs=function(c,d){var y=function(F,G){var q=F instanceof Date,te=G instanceof Date;return q&&te?F.getTime()===G.getTime():!q&&!te?F===G:!1},T=c instanceof Array,A=d instanceof Array;return T&&A?c.length!==d.length?!1:c.every(function(L,F){return y(L,d[F])}):!T&&!A?y(c,d):!1},Vu=function(c){return typeof c=="string"||c instanceof String},Ob=function(c){return c==null||Vu(c)||Array.isArray(c)&&c.length===2&&c.every(Vu)},Rb={mixins:[B.a,Wi],inject:{elForm:{default:""},elFormItem:{default:""}},props:{size:String,format:String,valueFormat:String,readonly:Boolean,placeholder:String,startPlaceholder:String,endPlaceholder:String,prefixIcon:String,clearIcon:{type:String,default:"el-icon-circle-close"},name:{default:"",validator:Ob},disabled:Boolean,clearable:{type:Boolean,default:!0},id:{default:"",validator:Ob},popperClass:String,editable:{type:Boolean,default:!0},align:{type:String,default:"left"},value:{},defaultValue:{},defaultTime:{},rangeSeparator:{default:"-"},pickerOptions:{},unlinkPanels:Boolean,validateEvent:{type:Boolean,default:!0}},components:{ElInput:_.a},directives:{Clickoutside:Le.a},data:function(){return{pickerVisible:!1,showClose:!1,userInput:null,valueOnOpen:null,unwatchPickerOptions:null}},watch:{pickerVisible:function(c){this.readonly||this.pickerDisabled||(c?(this.showPicker(),this.valueOnOpen=Array.isArray(this.value)?[].concat(this.value):this.value):(this.hidePicker(),this.emitChange(this.value),this.userInput=null,this.validateEvent&&this.dispatch("ElFormItem","el.form.blur"),this.$emit("blur",this),this.blur()))},parsedValue:{immediate:!0,handler:function(c){this.picker&&(this.picker.value=c)}},defaultValue:function(c){this.picker&&(this.picker.defaultValue=c)},value:function(c,d){!vs(c,d)&&!this.pickerVisible&&this.validateEvent&&this.dispatch("ElFormItem","el.form.change",c)}},computed:{ranged:function(){return this.type.indexOf("range")>-1},reference:function(){var c=this.$refs.reference;return c.$el||c},refInput:function(){return this.reference?[].slice.call(this.reference.querySelectorAll("input")):[]},valueIsEmpty:function(){var c=this.value;if(Array.isArray(c)){for(var d=0,y=c.length;d0&&arguments[0]!==void 0?arguments[0]:"",T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;c.userInput=null,c.pickerVisible=c.picker.visible=T,c.emitInput(y),c.picker.resetView&&c.picker.resetView()}),this.picker.$on("select-range",function(y,T,A){c.refInput.length!==0&&(!A||A==="min"?(c.refInput[0].setSelectionRange(y,T),c.refInput[0].focus()):A==="max"&&(c.refInput[1].setSelectionRange(y,T),c.refInput[1].focus()))})},unmountPicker:function(){this.picker&&(this.picker.$destroy(),this.picker.$off(),typeof this.unwatchPickerOptions=="function"&&this.unwatchPickerOptions(),this.picker.$el.parentNode.removeChild(this.picker.$el))},emitChange:function(c){vs(c,this.valueOnOpen)||(this.$emit("change",c),this.valueOnOpen=c,this.validateEvent&&this.dispatch("ElFormItem","el.form.change",c))},emitInput:function(c){var d=this.formatToValue(c);vs(this.value,d)||this.$emit("input",d)},isValidValue:function(c){return this.picker||this.mountPicker(),this.picker.isValidValue?c&&this.picker.isValidValue(c):!0}}},$k=Rb,la=u($k,wo,Fk,!1);la.options.__file="packages/date-picker/src/picker.vue";var Hu=la.exports,Co=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-enter":l.handleEnter,"after-leave":l.handleLeave}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-picker-panel el-date-picker el-popper",class:[{"has-sidebar":l.$slots.sidebar||l.shortcuts,"has-time":l.showTime},l.popperClass]},[d("div",{staticClass:"el-picker-panel__body-wrapper"},[l._t("sidebar"),l.shortcuts?d("div",{staticClass:"el-picker-panel__sidebar"},l._l(l.shortcuts,function(y,T){return d("button",{key:T,staticClass:"el-picker-panel__shortcut",attrs:{type:"button"},on:{click:function(A){l.handleShortcutClick(y)}}},[l._v(l._s(y.text))])}),0):l._e(),d("div",{staticClass:"el-picker-panel__body"},[l.showTime?d("div",{staticClass:"el-date-picker__time-header"},[d("span",{staticClass:"el-date-picker__editor-wrap"},[d("el-input",{attrs:{placeholder:l.t("el.datepicker.selectDate"),value:l.visibleDate,size:"small"},on:{input:function(y){return l.userInputDate=y},change:l.handleVisibleDateChange}})],1),d("span",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:l.handleTimePickClose,expression:"handleTimePickClose"}],staticClass:"el-date-picker__editor-wrap"},[d("el-input",{ref:"input",attrs:{placeholder:l.t("el.datepicker.selectTime"),value:l.visibleTime,size:"small"},on:{focus:function(y){l.timePickerVisible=!0},input:function(y){return l.userInputTime=y},change:l.handleVisibleTimeChange}}),d("time-picker",{ref:"timepicker",attrs:{"time-arrow-control":l.arrowControl,visible:l.timePickerVisible},on:{pick:l.handleTimePick,mounted:l.proxyTimePickerDataProperties}})],1)]):l._e(),d("div",{directives:[{name:"show",rawName:"v-show",value:l.currentView!=="time",expression:"currentView !== 'time'"}],staticClass:"el-date-picker__header",class:{"el-date-picker__header--bordered":l.currentView==="year"||l.currentView==="month"}},[d("button",{staticClass:"el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left",attrs:{type:"button","aria-label":l.t("el.datepicker.prevYear")},on:{click:l.prevYear}}),d("button",{directives:[{name:"show",rawName:"v-show",value:l.currentView==="date",expression:"currentView === 'date'"}],staticClass:"el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-arrow-left",attrs:{type:"button","aria-label":l.t("el.datepicker.prevMonth")},on:{click:l.prevMonth}}),d("span",{staticClass:"el-date-picker__header-label",attrs:{role:"button"},on:{click:l.showYearPicker}},[l._v(l._s(l.yearLabel))]),d("span",{directives:[{name:"show",rawName:"v-show",value:l.currentView==="date",expression:"currentView === 'date'"}],staticClass:"el-date-picker__header-label",class:{active:l.currentView==="month"},attrs:{role:"button"},on:{click:l.showMonthPicker}},[l._v(l._s(l.t("el.datepicker.month"+(l.month+1))))]),d("button",{staticClass:"el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right",attrs:{type:"button","aria-label":l.t("el.datepicker.nextYear")},on:{click:l.nextYear}}),d("button",{directives:[{name:"show",rawName:"v-show",value:l.currentView==="date",expression:"currentView === 'date'"}],staticClass:"el-picker-panel__icon-btn el-date-picker__next-btn el-icon-arrow-right",attrs:{type:"button","aria-label":l.t("el.datepicker.nextMonth")},on:{click:l.nextMonth}})]),d("div",{staticClass:"el-picker-panel__content"},[d("date-table",{directives:[{name:"show",rawName:"v-show",value:l.currentView==="date",expression:"currentView === 'date'"}],attrs:{"selection-mode":l.selectionMode,"first-day-of-week":l.firstDayOfWeek,value:l.value,"default-value":l.defaultValue?new Date(l.defaultValue):null,date:l.date,"cell-class-name":l.cellClassName,"disabled-date":l.disabledDate},on:{pick:l.handleDatePick}}),d("year-table",{directives:[{name:"show",rawName:"v-show",value:l.currentView==="year",expression:"currentView === 'year'"}],attrs:{"selection-mode":l.selectionMode,value:l.value,"default-value":l.defaultValue?new Date(l.defaultValue):null,date:l.date,"disabled-date":l.disabledDate},on:{pick:l.handleYearPick}}),d("month-table",{directives:[{name:"show",rawName:"v-show",value:l.currentView==="month",expression:"currentView === 'month'"}],attrs:{"selection-mode":l.selectionMode,value:l.value,"default-value":l.defaultValue?new Date(l.defaultValue):null,date:l.date,"disabled-date":l.disabledDate},on:{pick:l.handleMonthPick}})],1)])],2),d("div",{directives:[{name:"show",rawName:"v-show",value:l.footerVisible&&(l.currentView==="date"||l.currentView==="month"||l.currentView==="year"),expression:"footerVisible && (currentView === 'date' || currentView === 'month' || currentView === 'year')"}],staticClass:"el-picker-panel__footer"},[d("el-button",{directives:[{name:"show",rawName:"v-show",value:l.selectionMode!=="dates"&&l.selectionMode!=="months"&&l.selectionMode!=="years",expression:"selectionMode !== 'dates' && selectionMode !== 'months' && selectionMode !== 'years'"}],staticClass:"el-picker-panel__link-btn",attrs:{size:"mini",type:"text"},on:{click:l.changeToNow}},[l._v(` - `+l._s(l.t("el.datepicker.now"))+` - `)]),d("el-button",{staticClass:"el-picker-panel__link-btn",attrs:{plain:"",size:"mini"},on:{click:l.confirm}},[l._v(` - `+l._s(l.t("el.datepicker.confirm"))+` - `)])],1)])])},Ci=[];Co._withStripped=!0;var Nb=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(y){l.$emit("dodestroy")}}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-time-panel el-popper",class:l.popperClass},[d("div",{staticClass:"el-time-panel__content",class:{"has-seconds":l.showSeconds}},[d("time-spinner",{ref:"spinner",attrs:{"arrow-control":l.useArrow,"show-seconds":l.showSeconds,"am-pm-mode":l.amPmMode,date:l.date},on:{change:l.handleChange,"select-range":l.setSelectionRange}})],1),d("div",{staticClass:"el-time-panel__footer"},[d("button",{staticClass:"el-time-panel__btn cancel",attrs:{type:"button"},on:{click:l.handleCancel}},[l._v(l._s(l.t("el.datepicker.cancel")))]),d("button",{staticClass:"el-time-panel__btn",class:{confirm:!l.disabled},attrs:{type:"button"},on:{click:function(y){l.handleConfirm()}}},[l._v(l._s(l.t("el.datepicker.confirm")))])])])])},Fb=[];Nb._withStripped=!0;var Rv=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-time-spinner",class:{"has-seconds":l.showSeconds}},[l.arrowControl?l._e():[d("el-scrollbar",{ref:"hours",staticClass:"el-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"el-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(y){l.emitSelectRange("hours")},mousemove:function(y){l.adjustCurrentSpinner("hours")}}},l._l(l.hoursList,function(y,T){return d("li",{key:T,staticClass:"el-time-spinner__item",class:{active:T===l.hours,disabled:y},on:{click:function(A){l.handleClick("hours",{value:T,disabled:y})}}},[l._v(l._s(("0"+(l.amPmMode?T%12||12:T)).slice(-2))+l._s(l.amPm(T)))])}),0),d("el-scrollbar",{ref:"minutes",staticClass:"el-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"el-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(y){l.emitSelectRange("minutes")},mousemove:function(y){l.adjustCurrentSpinner("minutes")}}},l._l(l.minutesList,function(y,T){return d("li",{key:T,staticClass:"el-time-spinner__item",class:{active:T===l.minutes,disabled:!y},on:{click:function(A){l.handleClick("minutes",{value:T,disabled:!1})}}},[l._v(l._s(("0"+T).slice(-2)))])}),0),d("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:l.showSeconds,expression:"showSeconds"}],ref:"seconds",staticClass:"el-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"el-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(y){l.emitSelectRange("seconds")},mousemove:function(y){l.adjustCurrentSpinner("seconds")}}},l._l(60,function(y,T){return d("li",{key:T,staticClass:"el-time-spinner__item",class:{active:T===l.seconds},on:{click:function(A){l.handleClick("seconds",{value:T,disabled:!1})}}},[l._v(l._s(("0"+T).slice(-2)))])}),0)],l.arrowControl?[d("div",{staticClass:"el-time-spinner__wrapper is-arrow",on:{mouseenter:function(y){l.emitSelectRange("hours")}}},[d("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:l.decrease,expression:"decrease"}],staticClass:"el-time-spinner__arrow el-icon-arrow-up"}),d("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:l.increase,expression:"increase"}],staticClass:"el-time-spinner__arrow el-icon-arrow-down"}),d("ul",{ref:"hours",staticClass:"el-time-spinner__list"},l._l(l.arrowHourList,function(y,T){return d("li",{key:T,staticClass:"el-time-spinner__item",class:{active:y===l.hours,disabled:l.hoursList[y]}},[l._v(l._s(y===void 0?"":("0"+(l.amPmMode?y%12||12:y)).slice(-2)+l.amPm(y)))])}),0)]),d("div",{staticClass:"el-time-spinner__wrapper is-arrow",on:{mouseenter:function(y){l.emitSelectRange("minutes")}}},[d("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:l.decrease,expression:"decrease"}],staticClass:"el-time-spinner__arrow el-icon-arrow-up"}),d("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:l.increase,expression:"increase"}],staticClass:"el-time-spinner__arrow el-icon-arrow-down"}),d("ul",{ref:"minutes",staticClass:"el-time-spinner__list"},l._l(l.arrowMinuteList,function(y,T){return d("li",{key:T,staticClass:"el-time-spinner__item",class:{active:y===l.minutes}},[l._v(` - `+l._s(y===void 0?"":("0"+y).slice(-2))+` - `)])}),0)]),l.showSeconds?d("div",{staticClass:"el-time-spinner__wrapper is-arrow",on:{mouseenter:function(y){l.emitSelectRange("seconds")}}},[d("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:l.decrease,expression:"decrease"}],staticClass:"el-time-spinner__arrow el-icon-arrow-up"}),d("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:l.increase,expression:"increase"}],staticClass:"el-time-spinner__arrow el-icon-arrow-down"}),d("ul",{ref:"seconds",staticClass:"el-time-spinner__list"},l._l(l.arrowSecondList,function(y,T){return d("li",{key:T,staticClass:"el-time-spinner__item",class:{active:y===l.seconds}},[l._v(` - `+l._s(y===void 0?"":("0"+y).slice(-2))+` - `)])}),0)]):l._e()]:l._e()],2)},ju=[];Rv._withStripped=!0;var To={components:{ElScrollbar:Fe.a},directives:{repeatClick:X_},props:{date:{},defaultValue:{},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:String,default:""}},computed:{hours:function(){return this.date.getHours()},minutes:function(){return this.date.getMinutes()},seconds:function(){return this.date.getSeconds()},hoursList:function(){return Object(ue.getRangeHours)(this.selectableRange)},minutesList:function(){return Object(ue.getRangeMinutes)(this.selectableRange,this.hours)},arrowHourList:function(){var c=this.hours;return[c>0?c-1:void 0,c,c<23?c+1:void 0]},arrowMinuteList:function(){var c=this.minutes;return[c>0?c-1:void 0,c,c<59?c+1:void 0]},arrowSecondList:function(){var c=this.seconds;return[c>0?c-1:void 0,c,c<59?c+1:void 0]}},data:function(){return{selectableRange:[],currentScrollbar:null}},mounted:function(){var c=this;this.$nextTick(function(){!c.arrowControl&&c.bindScrollEvent()})},methods:{increase:function(){this.scrollDown(1)},decrease:function(){this.scrollDown(-1)},modifyDateField:function(c,d){switch(c){case"hours":this.$emit("change",Object(ue.modifyTime)(this.date,d,this.minutes,this.seconds));break;case"minutes":this.$emit("change",Object(ue.modifyTime)(this.date,this.hours,d,this.seconds));break;case"seconds":this.$emit("change",Object(ue.modifyTime)(this.date,this.hours,this.minutes,d));break}},handleClick:function(c,d){var y=d.value,T=d.disabled;T||(this.modifyDateField(c,y),this.emitSelectRange(c),this.adjustSpinner(c,y))},emitSelectRange:function(c){c==="hours"?this.$emit("select-range",0,2):c==="minutes"?this.$emit("select-range",3,5):c==="seconds"&&this.$emit("select-range",6,8),this.currentScrollbar=c},bindScrollEvent:function(){var c=this,d=function(T){c.$refs[T].wrap.onscroll=function(A){c.handleScroll(T,A)}};d("hours"),d("minutes"),d("seconds")},handleScroll:function(c){var d=Math.min(Math.round((this.$refs[c].wrap.scrollTop-(this.scrollBarHeight(c)*.5-10)/this.typeItemHeight(c)+3)/this.typeItemHeight(c)),c==="hours"?23:59);this.modifyDateField(c,d)},adjustSpinners:function(){this.adjustSpinner("hours",this.hours),this.adjustSpinner("minutes",this.minutes),this.adjustSpinner("seconds",this.seconds)},adjustCurrentSpinner:function(c){this.adjustSpinner(c,this[c])},adjustSpinner:function(c,d){if(!this.arrowControl){var y=this.$refs[c].wrap;y&&(y.scrollTop=Math.max(0,d*this.typeItemHeight(c)))}},scrollDown:function(c){var d=this;this.currentScrollbar||this.emitSelectRange("hours");var y=this.currentScrollbar,T=this.hoursList,A=this[y];if(this.currentScrollbar==="hours"){var L=Math.abs(c);c=c>0?1:-1;for(var F=T.length;F--&&L;)A=(A+c+T.length)%T.length,!T[A]&&L--;if(T[A])return}else A=(A+c+60)%60;this.modifyDateField(y,A),this.adjustSpinner(y,A),this.$nextTick(function(){return d.emitSelectRange(d.currentScrollbar)})},amPm:function(c){var d=this.amPmMode.toLowerCase()==="a";if(!d)return"";var y=this.amPmMode==="A",T=c<12?" am":" pm";return y&&(T=T.toUpperCase()),T},typeItemHeight:function(c){return this.$refs[c].$el.querySelector("li").offsetHeight},scrollBarHeight:function(c){return this.$refs[c].$el.offsetHeight}}},$b=To,Bb=u($b,Rv,ju,!1);Bb.options.__file="packages/date-picker/src/basic/time-spinner.vue";var Wu=Bb.exports,Bk={mixins:[C.a],components:{TimeSpinner:Wu},props:{visible:Boolean,timeArrowControl:Boolean},watch:{visible:function(c){var d=this;c?(this.oldValue=this.value,this.$nextTick(function(){return d.$refs.spinner.emitSelectRange("hours")})):this.needInitAdjust=!0},value:function(c){var d=this,y=void 0;c instanceof Date?y=Object(ue.limitTimeRange)(c,this.selectableRange,this.format):c||(y=this.defaultValue?new Date(this.defaultValue):new Date),this.date=y,this.visible&&this.needInitAdjust&&(this.$nextTick(function(T){return d.adjustSpinners()}),this.needInitAdjust=!1)},selectableRange:function(c){this.$refs.spinner.selectableRange=c},defaultValue:function(c){Object(ue.isDate)(this.value)||(this.date=c?new Date(c):new Date)}},data:function(){return{popperClass:"",format:"HH:mm:ss",value:"",defaultValue:null,date:new Date,oldValue:new Date,selectableRange:[],selectionRange:[0,2],disabled:!1,arrowControl:!1,needInitAdjust:!0}},computed:{showSeconds:function(){return(this.format||"").indexOf("ss")!==-1},useArrow:function(){return this.arrowControl||this.timeArrowControl||!1},amPmMode:function(){return(this.format||"").indexOf("A")!==-1?"A":(this.format||"").indexOf("a")!==-1?"a":""}},methods:{handleCancel:function(){this.$emit("pick",this.oldValue,!1)},handleChange:function(c){this.visible&&(this.date=Object(ue.clearMilliseconds)(c),this.isValidValue(this.date)&&this.$emit("pick",this.date,!0))},setSelectionRange:function(c,d){this.$emit("select-range",c,d),this.selectionRange=[c,d]},handleConfirm:function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,d=arguments[1];if(!d){var y=Object(ue.clearMilliseconds)(Object(ue.limitTimeRange)(this.date,this.selectableRange,this.format));this.$emit("pick",y,c,d)}},handleKeydown:function(c){var d=c.keyCode,y={38:-1,40:1,37:-1,39:1};if(d===37||d===39){var T=y[d];this.changeSelectionRange(T),c.preventDefault();return}if(d===38||d===40){var A=y[d];this.$refs.spinner.scrollDown(A),c.preventDefault();return}},isValidValue:function(c){return Object(ue.timeWithinRange)(c,this.selectableRange,this.format)},adjustSpinners:function(){return this.$refs.spinner.adjustSpinners()},changeSelectionRange:function(c){var d=[0,3].concat(this.showSeconds?[6]:[]),y=["hours","minutes"].concat(this.showSeconds?["seconds"]:[]),T=d.indexOf(this.selectionRange[0]),A=(T+c+d.length)%d.length;this.$refs.spinner.emitSelectRange(y[A])}},mounted:function(){var c=this;this.$nextTick(function(){return c.handleConfirm(!0,!0)}),this.$emit("mounted")}},zb=Bk,Zr=u(zb,Nb,Fb,!1);Zr.options.__file="packages/date-picker/src/panel/time.vue";var gs=Zr.exports,Nv=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("table",{staticClass:"el-year-table",on:{click:l.handleYearTableClick}},[d("tbody",[d("tr",[d("td",{staticClass:"available",class:l.getCellStyle(l.startYear+0)},[d("a",{staticClass:"cell"},[l._v(l._s(l.startYear))])]),d("td",{staticClass:"available",class:l.getCellStyle(l.startYear+1)},[d("a",{staticClass:"cell"},[l._v(l._s(l.startYear+1))])]),d("td",{staticClass:"available",class:l.getCellStyle(l.startYear+2)},[d("a",{staticClass:"cell"},[l._v(l._s(l.startYear+2))])]),d("td",{staticClass:"available",class:l.getCellStyle(l.startYear+3)},[d("a",{staticClass:"cell"},[l._v(l._s(l.startYear+3))])])]),d("tr",[d("td",{staticClass:"available",class:l.getCellStyle(l.startYear+4)},[d("a",{staticClass:"cell"},[l._v(l._s(l.startYear+4))])]),d("td",{staticClass:"available",class:l.getCellStyle(l.startYear+5)},[d("a",{staticClass:"cell"},[l._v(l._s(l.startYear+5))])]),d("td",{staticClass:"available",class:l.getCellStyle(l.startYear+6)},[d("a",{staticClass:"cell"},[l._v(l._s(l.startYear+6))])]),d("td",{staticClass:"available",class:l.getCellStyle(l.startYear+7)},[d("a",{staticClass:"cell"},[l._v(l._s(l.startYear+7))])])]),d("tr",[d("td",{staticClass:"available",class:l.getCellStyle(l.startYear+8)},[d("a",{staticClass:"cell"},[l._v(l._s(l.startYear+8))])]),d("td",{staticClass:"available",class:l.getCellStyle(l.startYear+9)},[d("a",{staticClass:"cell"},[l._v(l._s(l.startYear+9))])]),d("td"),d("td")])])])},ua=[];Nv._withStripped=!0;var Fv=function(c){var d=Object(ue.getDayCountOfYear)(c),y=new Date(c,0,1);return Object(ue.range)(d).map(function(T){return Object(ue.nextDate)(y,T)})},Eh={props:{disabledDate:{},value:{},defaultValue:{validator:function(c){return c===null||c instanceof Date&&Object(ue.isDate)(c)}},date:{},selectionMode:{}},computed:{startYear:function(){return Math.floor(this.date.getFullYear()/10)*10}},methods:{getCellStyle:function(c){var d={},y=new Date;return d.disabled=typeof this.disabledDate=="function"?Fv(c).every(this.disabledDate):!1,d.current=Object(w.arrayFindIndex)(Object(w.coerceTruthyValueToArray)(this.value),function(T){return T.getFullYear()===c})>=0,d.today=y.getFullYear()===c,d.default=this.defaultValue&&this.defaultValue.getFullYear()===c,d},handleYearTableClick:function(c){var d=c.target;if(d.tagName==="A"){if(Object(Ee.hasClass)(d.parentNode,"disabled"))return;var y=d.textContent||d.innerText;if(this.selectionMode==="years"){var T=this.value||[],A=Object(w.arrayFindIndex)(T,function(F){return F.getFullYear()===Number(y)}),L=A>-1?[].concat(T.slice(0,A),T.slice(A+1)):[].concat(T,[new Date(y)]);this.$emit("pick",L)}else this.$emit("pick",Number(y))}}}},cl=Eh,$v=u(cl,Nv,ua,!1);$v.options.__file="packages/date-picker/src/basic/year-table.vue";var _n=$v.exports,Ih=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("table",{staticClass:"el-month-table",on:{click:l.handleMonthTableClick,mousemove:l.handleMouseMove}},[d("tbody",l._l(l.rows,function(y,T){return d("tr",{key:T},l._l(y,function(A,L){return d("td",{key:L,class:l.getCellStyle(A)},[d("div",[d("a",{staticClass:"cell"},[l._v(l._s(l.t("el.datepicker.months."+l.months[A.text])))])])])}),0)}),0)])},zk=[];Ih._withStripped=!0;var Vk=function(c,d){var y=Object(ue.getDayCountOfMonth)(c,d),T=new Date(c,d,1);return Object(ue.range)(y).map(function(A){return Object(ue.nextDate)(T,A)})},Vb=function(c){return new Date(c.getFullYear(),c.getMonth())},Jn=function(c){return typeof c=="number"||typeof c=="string"?Vb(new Date(c)).getTime():c instanceof Date?Vb(c).getTime():NaN},Hk=function(c,d){var y=typeof d=="function"?Object(w.arrayFindIndex)(c,d):c.indexOf(d);return y>=0?[].concat(c.slice(0,y),c.slice(y+1)):c},Gu={props:{disabledDate:{},value:{},selectionMode:{default:"month"},minDate:{},maxDate:{},defaultValue:{validator:function(c){return c===null||Object(ue.isDate)(c)||Array.isArray(c)&&c.every(ue.isDate)}},date:{},rangeState:{default:function(){return{endDate:null,selecting:!1}}}},mixins:[C.a],watch:{"rangeState.endDate":function(c){this.markRange(this.minDate,c)},minDate:function(c,d){Jn(c)!==Jn(d)&&this.markRange(this.minDate,this.maxDate)},maxDate:function(c,d){Jn(c)!==Jn(d)&&this.markRange(this.minDate,this.maxDate)}},data:function(){return{months:["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],tableRows:[[],[],[]],lastRow:null,lastColumn:null}},methods:{cellMatchesDate:function(c,d){var y=new Date(d);return this.date.getFullYear()===y.getFullYear()&&Number(c.text)===y.getMonth()},getCellStyle:function(c){var d=this,y={},T=this.date.getFullYear(),A=new Date,L=c.text,F=this.defaultValue?Array.isArray(this.defaultValue)?this.defaultValue:[this.defaultValue]:[];return y.disabled=typeof this.disabledDate=="function"?Vk(T,L).every(this.disabledDate):!1,y.current=Object(w.arrayFindIndex)(Object(w.coerceTruthyValueToArray)(this.value),function(G){return G.getFullYear()===T&&G.getMonth()===L})>=0,y.today=A.getFullYear()===T&&A.getMonth()===L,y.default=F.some(function(G){return d.cellMatchesDate(c,G)}),c.inRange&&(y["in-range"]=!0,c.start&&(y["start-date"]=!0),c.end&&(y["end-date"]=!0)),y},getMonthOfCell:function(c){var d=this.date.getFullYear();return new Date(d,c,1)},markRange:function(c,d){c=Jn(c),d=Jn(d)||c;var y=[Math.min(c,d),Math.max(c,d)];c=y[0],d=y[1];for(var T=this.rows,A=0,L=T.length;A=c&&Ae<=d,te.start=c&&Ae===c,te.end=d&&Ae===d}},handleMouseMove:function(c){if(this.rangeState.selecting){var d=c.target;if(d.tagName==="A"&&(d=d.parentNode.parentNode),d.tagName==="DIV"&&(d=d.parentNode),d.tagName==="TD"){var y=d.parentNode.rowIndex,T=d.cellIndex;this.rows[y][T].disabled||(y!==this.lastRow||T!==this.lastColumn)&&(this.lastRow=y,this.lastColumn=T,this.$emit("changerange",{minDate:this.minDate,maxDate:this.maxDate,rangeState:{selecting:!0,endDate:this.getMonthOfCell(y*4+T)}}))}}},handleMonthTableClick:function(c){var d=c.target;if(d.tagName==="A"&&(d=d.parentNode.parentNode),d.tagName==="DIV"&&(d=d.parentNode),d.tagName==="TD"&&!Object(Ee.hasClass)(d,"disabled")){var y=d.cellIndex,T=d.parentNode.rowIndex,A=T*4+y,L=this.getMonthOfCell(A);if(this.selectionMode==="range")this.rangeState.selecting?(L>=this.minDate?this.$emit("pick",{minDate:this.minDate,maxDate:L}):this.$emit("pick",{minDate:L,maxDate:this.minDate}),this.rangeState.selecting=!1):(this.$emit("pick",{minDate:L,maxDate:null}),this.rangeState.selecting=!0);else if(this.selectionMode==="months"){var F=this.value||[],G=this.date.getFullYear(),q=Object(w.arrayFindIndex)(F,function(te){return te.getFullYear()===G&&te.getMonth()===A})>=0?Hk(F,function(te){return te.getTime()===L.getTime()}):[].concat(F,[L]);this.$emit("pick",q)}else this.$emit("pick",A)}}},computed:{rows:function(){for(var c=this,d=this.tableRows,y=this.disabledDate,T=[],A=Jn(new Date),L=0;L<3;L++)for(var F=d[L],G=function(se){var Ae=F[se];Ae||(Ae={row:L,column:se,type:"normal",inRange:!1,start:!1,end:!1}),Ae.type="normal";var $e=L*4+se,Ve=new Date(c.date.getFullYear(),$e).getTime();Ae.inRange=Ve>=Jn(c.minDate)&&Ve<=Jn(c.maxDate),Ae.start=c.minDate&&Ve===Jn(c.minDate),Ae.end=c.maxDate&&Ve===Jn(c.maxDate);var Ue=Ve===A;Ue&&(Ae.type="today"),Ae.text=$e;var De=new Date(Ve);Ae.disabled=typeof y=="function"&&y(De),Ae.selected=Object(w.arrayFind)(T,function(Et){return Et.getTime()===De.getTime()}),c.$set(F,se,Ae)},q=0;q<4;q++)G(q);return d}}},Hb=Gu,jb=u(Hb,Ih,zk,!1);jb.options.__file="packages/date-picker/src/basic/month-table.vue";var Wb=jb.exports,fl=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("table",{staticClass:"el-date-table",class:{"is-week-mode":l.selectionMode==="week"},attrs:{cellspacing:"0",cellpadding:"0"},on:{click:l.handleClick,mousemove:l.handleMouseMove}},[d("tbody",[d("tr",[l.showWeekNumber?d("th",[l._v(l._s(l.t("el.datepicker.week")))]):l._e(),l._l(l.WEEKS,function(y,T){return d("th",{key:T},[l._v(l._s(l.t("el.datepicker.weeks."+y)))])})],2),l._l(l.rows,function(y,T){return d("tr",{key:T,staticClass:"el-date-table__row",class:{current:l.isWeekActive(y[1])}},l._l(y,function(A,L){return d("td",{key:L,class:l.getCellClasses(A)},[d("div",[d("span",[l._v(` - `+l._s(A.text)+` - `)])])])}),0)})],2)])},jk=[];fl._withStripped=!0;var Gb=["sun","mon","tue","wed","thu","fri","sat"],ei=function(c){return typeof c=="number"||typeof c=="string"?Object(ue.clearTime)(new Date(c)).getTime():c instanceof Date?Object(ue.clearTime)(c).getTime():NaN},Ub=function(c,d){var y=typeof d=="function"?Object(w.arrayFindIndex)(c,d):c.indexOf(d);return y>=0?[].concat(c.slice(0,y),c.slice(y+1)):c},Wk={mixins:[C.a],props:{firstDayOfWeek:{default:7,type:Number,validator:function(c){return c>=1&&c<=7}},value:{},defaultValue:{validator:function(c){return c===null||Object(ue.isDate)(c)||Array.isArray(c)&&c.every(ue.isDate)}},date:{},selectionMode:{default:"day"},showWeekNumber:{type:Boolean,default:!1},disabledDate:{},cellClassName:{},minDate:{},maxDate:{},rangeState:{default:function(){return{endDate:null,selecting:!1}}}},computed:{offsetDay:function(){var c=this.firstDayOfWeek;return c>3?7-c:-c},WEEKS:function(){var c=this.firstDayOfWeek;return Gb.concat(Gb).slice(c,c+7)},year:function(){return this.date.getFullYear()},month:function(){return this.date.getMonth()},startDate:function(){return Object(ue.getStartDateOfMonth)(this.year,this.month)},rows:function(){var c=this,d=new Date(this.year,this.month,1),y=Object(ue.getFirstDayOfMonth)(d),T=Object(ue.getDayCountOfMonth)(d.getFullYear(),d.getMonth()),A=Object(ue.getDayCountOfMonth)(d.getFullYear(),d.getMonth()===0?11:d.getMonth()-1);y=y===0?7:y;for(var L=this.offsetDay,F=this.tableRows,G=1,q=this.startDate,te=this.disabledDate,se=this.cellClassName,Ae=this.selectionMode==="dates"?Object(w.coerceTruthyValueToArray)(this.value):[],$e=ei(new Date),Ve=0;Ve<6;Ve++){var Ue=F[Ve];this.showWeekNumber&&(Ue[0]||(Ue[0]={type:"week",text:Object(ue.getWeekNumber)(Object(ue.nextDate)(q,Ve*7+1))}));for(var De=function(wn){var dr=Ue[c.showWeekNumber?wn+1:wn];dr||(dr={row:Ve,column:wn,type:"normal",inRange:!1,start:!1,end:!1}),dr.type="normal";var kr=Ve*7+wn,en=Object(ue.nextDate)(q,kr-L).getTime();dr.inRange=en>=ei(c.minDate)&&en<=ei(c.maxDate),dr.start=c.minDate&&en===ei(c.minDate),dr.end=c.maxDate&&en===ei(c.maxDate);var ii=en===$e;if(ii&&(dr.type="today"),Ve>=0&&Ve<=1){var Cn=y+L<0?7+y+L:y+L;wn+Ve*7>=Cn?dr.text=G++:(dr.text=A-(Cn-wn%7)+1+Ve*7,dr.type="prev-month")}else G<=T?dr.text=G++:(dr.text=G++-T,dr.type="next-month");var Ug=new Date(en);dr.disabled=typeof te=="function"&&te(Ug),dr.selected=Object(w.arrayFind)(Ae,function(Ote){return Ote.getTime()===Ug.getTime()}),dr.customClass=typeof se=="function"&&se(Ug),c.$set(Ue,c.showWeekNumber?wn+1:wn,dr)},Et=0;Et<7;Et++)De(Et);if(this.selectionMode==="week"){var pt=this.showWeekNumber?1:0,Qt=this.showWeekNumber?7:6,Gt=this.isWeekActive(Ue[pt+1]);Ue[pt].inRange=Gt,Ue[pt].start=Gt,Ue[Qt].inRange=Gt,Ue[Qt].end=Gt}}return F}},watch:{"rangeState.endDate":function(c){this.markRange(this.minDate,c)},minDate:function(c,d){ei(c)!==ei(d)&&this.markRange(this.minDate,this.maxDate)},maxDate:function(c,d){ei(c)!==ei(d)&&this.markRange(this.minDate,this.maxDate)}},data:function(){return{tableRows:[[],[],[],[],[],[]],lastRow:null,lastColumn:null}},methods:{cellMatchesDate:function(c,d){var y=new Date(d);return this.year===y.getFullYear()&&this.month===y.getMonth()&&Number(c.text)===y.getDate()},getCellClasses:function(c){var d=this,y=this.selectionMode,T=this.defaultValue?Array.isArray(this.defaultValue)?this.defaultValue:[this.defaultValue]:[],A=[];return(c.type==="normal"||c.type==="today")&&!c.disabled?(A.push("available"),c.type==="today"&&A.push("today")):A.push(c.type),c.type==="normal"&&T.some(function(L){return d.cellMatchesDate(c,L)})&&A.push("default"),y==="day"&&(c.type==="normal"||c.type==="today")&&this.cellMatchesDate(c,this.value)&&A.push("current"),c.inRange&&(c.type==="normal"||c.type==="today"||this.selectionMode==="week")&&(A.push("in-range"),c.start&&A.push("start-date"),c.end&&A.push("end-date")),c.disabled&&A.push("disabled"),c.selected&&A.push("selected"),c.customClass&&A.push(c.customClass),A.join(" ")},getDateOfCell:function(c,d){var y=c*7+(d-(this.showWeekNumber?1:0))-this.offsetDay;return Object(ue.nextDate)(this.startDate,y)},isWeekActive:function(c){if(this.selectionMode!=="week")return!1;var d=new Date(this.year,this.month,1),y=d.getFullYear(),T=d.getMonth();if(c.type==="prev-month"&&(d.setMonth(T===0?11:T-1),d.setFullYear(T===0?y-1:y)),c.type==="next-month"&&(d.setMonth(T===11?0:T+1),d.setFullYear(T===11?y+1:y)),d.setDate(parseInt(c.text,10)),Object(ue.isDate)(this.value)){var A=(this.value.getDay()-this.firstDayOfWeek+7)%7-1,L=Object(ue.prevDate)(this.value,A);return L.getTime()===d.getTime()}return!1},markRange:function(c,d){c=ei(c),d=ei(d)||c;var y=[Math.min(c,d),Math.max(c,d)];c=y[0],d=y[1];for(var T=this.startDate,A=this.rows,L=0,F=A.length;L=c&&$e<=d,se.start=c&&$e===c,se.end=d&&$e===d}},handleMouseMove:function(c){if(this.rangeState.selecting){var d=c.target;if(d.tagName==="SPAN"&&(d=d.parentNode.parentNode),d.tagName==="DIV"&&(d=d.parentNode),d.tagName==="TD"){var y=d.parentNode.rowIndex-1,T=d.cellIndex;this.rows[y][T].disabled||(y!==this.lastRow||T!==this.lastColumn)&&(this.lastRow=y,this.lastColumn=T,this.$emit("changerange",{minDate:this.minDate,maxDate:this.maxDate,rangeState:{selecting:!0,endDate:this.getDateOfCell(y,T)}}))}}},handleClick:function(c){var d=c.target;if(d.tagName==="SPAN"&&(d=d.parentNode.parentNode),d.tagName==="DIV"&&(d=d.parentNode),d.tagName==="TD"){var y=d.parentNode.rowIndex-1,T=this.selectionMode==="week"?1:d.cellIndex,A=this.rows[y][T];if(!(A.disabled||A.type==="week")){var L=this.getDateOfCell(y,T);if(this.selectionMode==="range")this.rangeState.selecting?(L>=this.minDate?this.$emit("pick",{minDate:this.minDate,maxDate:L}):this.$emit("pick",{minDate:L,maxDate:this.minDate}),this.rangeState.selecting=!1):(this.$emit("pick",{minDate:L,maxDate:null}),this.rangeState.selecting=!0);else if(this.selectionMode==="day")this.$emit("pick",L);else if(this.selectionMode==="week"){var F=Object(ue.getWeekNumber)(L),G=L.getFullYear()+"w"+F;this.$emit("pick",{year:L.getFullYear(),week:F,value:G,date:L})}else if(this.selectionMode==="dates"){var q=this.value||[],te=A.selected?Ub(q,function(se){return se.getTime()===L.getTime()}):[].concat(q,[L]);this.$emit("pick",te)}}}}}},Gk=Wk,Yb=u(Gk,fl,jk,!1);Yb.options.__file="packages/date-picker/src/basic/date-table.vue";var Bv=Yb.exports,zv={mixins:[C.a],directives:{Clickoutside:Le.a},watch:{showTime:function(c){var d=this;c&&this.$nextTick(function(y){var T=d.$refs.input.$el;T&&(d.pickerWidth=T.getBoundingClientRect().width+10)})},value:function(c){this.selectionMode==="dates"&&this.value||this.selectionMode==="months"&&this.value||this.selectionMode==="years"&&this.value||(Object(ue.isDate)(c)?this.date=new Date(c):this.date=this.getDefaultValue())},defaultValue:function(c){Object(ue.isDate)(this.value)||(this.date=c?new Date(c):new Date)},timePickerVisible:function(c){var d=this;c&&this.$nextTick(function(){return d.$refs.timepicker.adjustSpinners()})},selectionMode:function(c){c==="month"?(this.currentView!=="year"||this.currentView!=="month")&&(this.currentView="month"):c==="dates"?this.currentView="date":c==="years"?this.currentView="year":c==="months"&&(this.currentView="month")}},methods:{proxyTimePickerDataProperties:function(){var c=this,d=function(F){c.$refs.timepicker.format=F},y=function(F){c.$refs.timepicker.value=F},T=function(F){c.$refs.timepicker.date=F},A=function(F){c.$refs.timepicker.selectableRange=F};this.$watch("value",y),this.$watch("date",T),this.$watch("selectableRange",A),d(this.timeFormat),y(this.value),T(this.date),A(this.selectableRange)},handleClear:function(){this.date=this.getDefaultValue(),this.$emit("pick",null)},emit:function(c){for(var d=this,y=arguments.length,T=Array(y>1?y-1:0),A=1;A0?Object(ue.timeWithinRange)(c,this.selectableRange,this.format||"HH:mm:ss"):!0}},components:{TimePicker:gs,YearTable:_n,MonthTable:Wb,DateTable:Bv,ElInput:_.a,ElButton:Se.a},data:function(){return{popperClass:"",date:new Date,value:"",defaultValue:null,defaultTime:null,showTime:!1,selectionMode:"day",shortcuts:"",visible:!1,currentView:"date",disabledDate:"",cellClassName:"",selectableRange:[],firstDayOfWeek:7,showWeekNumber:!1,timePickerVisible:!1,format:"",arrowControl:!1,userInputDate:null,userInputTime:null}},computed:{year:function(){return this.date.getFullYear()},month:function(){return this.date.getMonth()},week:function(){return Object(ue.getWeekNumber)(this.date)},monthDate:function(){return this.date.getDate()},footerVisible:function(){return this.showTime||this.selectionMode==="dates"||this.selectionMode==="months"||this.selectionMode==="years"},visibleTime:function(){return this.userInputTime!==null?this.userInputTime:Object(ue.formatDate)(this.value||this.defaultValue,this.timeFormat)},visibleDate:function(){return this.userInputDate!==null?this.userInputDate:Object(ue.formatDate)(this.value||this.defaultValue,this.dateFormat)},yearLabel:function(){var c=this.t("el.datepicker.year");if(this.currentView==="year"){var d=Math.floor(this.year/10)*10;return c?d+" "+c+" - "+(d+9)+" "+c:d+" - "+(d+9)}return this.year+" "+c},timeFormat:function(){return this.format?Object(ue.extractTimeFormat)(this.format):"HH:mm:ss"},dateFormat:function(){return this.format?Object(ue.extractDateFormat)(this.format):"yyyy-MM-dd"}}},Uk=zv,Ph=u(Uk,Co,Ci,!1);Ph.options.__file="packages/date-picker/src/panel/date.vue";var qb=Ph.exports,Vv=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(y){l.$emit("dodestroy")}}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-picker-panel el-date-range-picker el-popper",class:[{"has-sidebar":l.$slots.sidebar||l.shortcuts,"has-time":l.showTime},l.popperClass]},[d("div",{staticClass:"el-picker-panel__body-wrapper"},[l._t("sidebar"),l.shortcuts?d("div",{staticClass:"el-picker-panel__sidebar"},l._l(l.shortcuts,function(y,T){return d("button",{key:T,staticClass:"el-picker-panel__shortcut",attrs:{type:"button"},on:{click:function(A){l.handleShortcutClick(y)}}},[l._v(l._s(y.text))])}),0):l._e(),d("div",{staticClass:"el-picker-panel__body"},[l.showTime?d("div",{staticClass:"el-date-range-picker__time-header"},[d("span",{staticClass:"el-date-range-picker__editors-wrap"},[d("span",{staticClass:"el-date-range-picker__time-picker-wrap"},[d("el-input",{ref:"minInput",staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:l.rangeState.selecting,placeholder:l.t("el.datepicker.startDate"),value:l.minVisibleDate},on:{input:function(y){return l.handleDateInput(y,"min")},change:function(y){return l.handleDateChange(y,"min")}}})],1),d("span",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:l.handleMinTimeClose,expression:"handleMinTimeClose"}],staticClass:"el-date-range-picker__time-picker-wrap"},[d("el-input",{staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:l.rangeState.selecting,placeholder:l.t("el.datepicker.startTime"),value:l.minVisibleTime},on:{focus:function(y){l.minTimePickerVisible=!0},input:function(y){return l.handleTimeInput(y,"min")},change:function(y){return l.handleTimeChange(y,"min")}}}),d("time-picker",{ref:"minTimePicker",attrs:{"time-arrow-control":l.arrowControl,visible:l.minTimePickerVisible},on:{pick:l.handleMinTimePick,mounted:function(y){l.$refs.minTimePicker.format=l.timeFormat}}})],1)]),d("span",{staticClass:"el-icon-arrow-right"}),d("span",{staticClass:"el-date-range-picker__editors-wrap is-right"},[d("span",{staticClass:"el-date-range-picker__time-picker-wrap"},[d("el-input",{staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:l.rangeState.selecting,placeholder:l.t("el.datepicker.endDate"),value:l.maxVisibleDate,readonly:!l.minDate},on:{input:function(y){return l.handleDateInput(y,"max")},change:function(y){return l.handleDateChange(y,"max")}}})],1),d("span",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:l.handleMaxTimeClose,expression:"handleMaxTimeClose"}],staticClass:"el-date-range-picker__time-picker-wrap"},[d("el-input",{staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:l.rangeState.selecting,placeholder:l.t("el.datepicker.endTime"),value:l.maxVisibleTime,readonly:!l.minDate},on:{focus:function(y){l.minDate&&(l.maxTimePickerVisible=!0)},input:function(y){return l.handleTimeInput(y,"max")},change:function(y){return l.handleTimeChange(y,"max")}}}),d("time-picker",{ref:"maxTimePicker",attrs:{"time-arrow-control":l.arrowControl,visible:l.maxTimePickerVisible},on:{pick:l.handleMaxTimePick,mounted:function(y){l.$refs.maxTimePicker.format=l.timeFormat}}})],1)])]):l._e(),d("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-left"},[d("div",{staticClass:"el-date-range-picker__header"},[d("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",attrs:{type:"button"},on:{click:l.leftPrevYear}}),d("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-left",attrs:{type:"button"},on:{click:l.leftPrevMonth}}),l.unlinkPanels?d("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",class:{"is-disabled":!l.enableYearArrow},attrs:{type:"button",disabled:!l.enableYearArrow},on:{click:l.leftNextYear}}):l._e(),l.unlinkPanels?d("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-right",class:{"is-disabled":!l.enableMonthArrow},attrs:{type:"button",disabled:!l.enableMonthArrow},on:{click:l.leftNextMonth}}):l._e(),d("div",[l._v(l._s(l.leftLabel))])]),d("date-table",{attrs:{"selection-mode":"range",date:l.leftDate,"default-value":l.defaultValue,"min-date":l.minDate,"max-date":l.maxDate,"range-state":l.rangeState,"disabled-date":l.disabledDate,"cell-class-name":l.cellClassName,"first-day-of-week":l.firstDayOfWeek},on:{changerange:l.handleChangeRange,pick:l.handleRangePick}})],1),d("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-right"},[d("div",{staticClass:"el-date-range-picker__header"},[l.unlinkPanels?d("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",class:{"is-disabled":!l.enableYearArrow},attrs:{type:"button",disabled:!l.enableYearArrow},on:{click:l.rightPrevYear}}):l._e(),l.unlinkPanels?d("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-left",class:{"is-disabled":!l.enableMonthArrow},attrs:{type:"button",disabled:!l.enableMonthArrow},on:{click:l.rightPrevMonth}}):l._e(),d("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",attrs:{type:"button"},on:{click:l.rightNextYear}}),d("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-right",attrs:{type:"button"},on:{click:l.rightNextMonth}}),d("div",[l._v(l._s(l.rightLabel))])]),d("date-table",{attrs:{"selection-mode":"range",date:l.rightDate,"default-value":l.defaultValue,"min-date":l.minDate,"max-date":l.maxDate,"range-state":l.rangeState,"disabled-date":l.disabledDate,"cell-class-name":l.cellClassName,"first-day-of-week":l.firstDayOfWeek},on:{changerange:l.handleChangeRange,pick:l.handleRangePick}})],1)])],2),l.showTime?d("div",{staticClass:"el-picker-panel__footer"},[d("el-button",{staticClass:"el-picker-panel__link-btn",attrs:{size:"mini",type:"text"},on:{click:l.handleClear}},[l._v(` - `+l._s(l.t("el.datepicker.clear"))+` - `)]),d("el-button",{staticClass:"el-picker-panel__link-btn",attrs:{plain:"",size:"mini",disabled:l.btnDisabled},on:{click:function(y){l.handleConfirm(!1)}}},[l._v(` - `+l._s(l.t("el.datepicker.confirm"))+` - `)])],1):l._e()])])},Kb=[];Vv._withStripped=!0;var hl=function(c){return Array.isArray(c)?[new Date(c[0]),new Date(c[1])]:c?[new Date(c),Object(ue.nextDate)(new Date(c),1)]:[new Date,Object(ue.nextDate)(new Date,1)]},Yk={mixins:[C.a],directives:{Clickoutside:Le.a},computed:{btnDisabled:function(){return!(this.minDate&&this.maxDate&&!this.selecting&&this.isValidValue([this.minDate,this.maxDate]))},leftLabel:function(){return this.leftDate.getFullYear()+" "+this.t("el.datepicker.year")+" "+this.t("el.datepicker.month"+(this.leftDate.getMonth()+1))},rightLabel:function(){return this.rightDate.getFullYear()+" "+this.t("el.datepicker.year")+" "+this.t("el.datepicker.month"+(this.rightDate.getMonth()+1))},leftYear:function(){return this.leftDate.getFullYear()},leftMonth:function(){return this.leftDate.getMonth()},leftMonthDate:function(){return this.leftDate.getDate()},rightYear:function(){return this.rightDate.getFullYear()},rightMonth:function(){return this.rightDate.getMonth()},rightMonthDate:function(){return this.rightDate.getDate()},minVisibleDate:function(){return this.dateUserInput.min!==null?this.dateUserInput.min:this.minDate?Object(ue.formatDate)(this.minDate,this.dateFormat):""},maxVisibleDate:function(){return this.dateUserInput.max!==null?this.dateUserInput.max:this.maxDate||this.minDate?Object(ue.formatDate)(this.maxDate||this.minDate,this.dateFormat):""},minVisibleTime:function(){return this.timeUserInput.min!==null?this.timeUserInput.min:this.minDate?Object(ue.formatDate)(this.minDate,this.timeFormat):""},maxVisibleTime:function(){return this.timeUserInput.max!==null?this.timeUserInput.max:this.maxDate||this.minDate?Object(ue.formatDate)(this.maxDate||this.minDate,this.timeFormat):""},timeFormat:function(){return this.format?Object(ue.extractTimeFormat)(this.format):"HH:mm:ss"},dateFormat:function(){return this.format?Object(ue.extractDateFormat)(this.format):"yyyy-MM-dd"},enableMonthArrow:function(){var c=(this.leftMonth+1)%12,d=this.leftMonth+1>=12?1:0;return this.unlinkPanels&&new Date(this.leftYear+d,c)=12}},data:function(){return{popperClass:"",value:[],defaultValue:null,defaultTime:null,minDate:"",maxDate:"",leftDate:new Date,rightDate:Object(ue.nextMonth)(new Date),rangeState:{endDate:null,selecting:!1,row:null,column:null},showTime:!1,shortcuts:"",visible:"",disabledDate:"",cellClassName:"",firstDayOfWeek:7,minTimePickerVisible:!1,maxTimePickerVisible:!1,format:"",arrowControl:!1,unlinkPanels:!1,dateUserInput:{min:null,max:null},timeUserInput:{min:null,max:null}}},watch:{minDate:function(c){var d=this;this.dateUserInput.min=null,this.timeUserInput.min=null,this.$nextTick(function(){if(d.$refs.maxTimePicker&&d.maxDate&&d.maxDatethis.maxDate&&(this.maxDate=this.minDate)):(this.maxDate=Object(ue.modifyDate)(this.maxDate,y.getFullYear(),y.getMonth(),y.getDate()),this.maxDatethis.maxDate&&(this.maxDate=this.minDate),this.$refs.minTimePicker.value=this.minDate,this.minTimePickerVisible=!1):(this.maxDate=Object(ue.modifyTime)(this.maxDate,y.getHours(),y.getMinutes(),y.getSeconds()),this.maxDate1&&arguments[1]!==void 0?arguments[1]:!0,T=this.defaultTime||[],A=Object(ue.modifyWithTimeString)(c.minDate,T[0]),L=Object(ue.modifyWithTimeString)(c.maxDate,T[1]);this.maxDate===L&&this.minDate===A||(this.onPick&&this.onPick(c),this.maxDate=L,this.minDate=A,setTimeout(function(){d.maxDate=L,d.minDate=A},10),!(!y||this.showTime)&&this.handleConfirm())},handleShortcutClick:function(c){c.onClick&&c.onClick(this)},handleMinTimePick:function(c,d,y){this.minDate=this.minDate||new Date,c&&(this.minDate=Object(ue.modifyTime)(this.minDate,c.getHours(),c.getMinutes(),c.getSeconds())),y||(this.minTimePickerVisible=d),(!this.maxDate||this.maxDate&&this.maxDate.getTime()this.maxDate.getTime()&&(this.minDate=new Date(this.maxDate))},handleMaxTimeClose:function(){this.maxTimePickerVisible=!1},leftPrevYear:function(){this.leftDate=Object(ue.prevYear)(this.leftDate),this.unlinkPanels||(this.rightDate=Object(ue.nextMonth)(this.leftDate))},leftPrevMonth:function(){this.leftDate=Object(ue.prevMonth)(this.leftDate),this.unlinkPanels||(this.rightDate=Object(ue.nextMonth)(this.leftDate))},rightNextYear:function(){this.unlinkPanels?this.rightDate=Object(ue.nextYear)(this.rightDate):(this.leftDate=Object(ue.nextYear)(this.leftDate),this.rightDate=Object(ue.nextMonth)(this.leftDate))},rightNextMonth:function(){this.unlinkPanels?this.rightDate=Object(ue.nextMonth)(this.rightDate):(this.leftDate=Object(ue.nextMonth)(this.leftDate),this.rightDate=Object(ue.nextMonth)(this.leftDate))},leftNextYear:function(){this.leftDate=Object(ue.nextYear)(this.leftDate)},leftNextMonth:function(){this.leftDate=Object(ue.nextMonth)(this.leftDate)},rightPrevYear:function(){this.rightDate=Object(ue.prevYear)(this.rightDate)},rightPrevMonth:function(){this.rightDate=Object(ue.prevMonth)(this.rightDate)},handleConfirm:function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.isValidValue([this.minDate,this.maxDate])&&this.$emit("pick",[this.minDate,this.maxDate],c)},isValidValue:function(c){return Array.isArray(c)&&c&&c[0]&&c[1]&&Object(ue.isDate)(c[0])&&Object(ue.isDate)(c[1])&&c[0].getTime()<=c[1].getTime()&&(typeof this.disabledDate=="function"?!this.disabledDate(c[0])&&!this.disabledDate(c[1]):!0)},resetView:function(){this.minDate&&this.maxDate==null&&(this.rangeState.selecting=!1),this.minDate=this.value&&Object(ue.isDate)(this.value[0])?new Date(this.value[0]):null,this.maxDate=this.value&&Object(ue.isDate)(this.value[0])?new Date(this.value[1]):null}},components:{TimePicker:gs,DateTable:Bv,ElInput:_.a,ElButton:Se.a}},Xb=Yk,Hv=u(Xb,Vv,Kb,!1);Hv.options.__file="packages/date-picker/src/panel/date-range.vue";var qk=Hv.exports,jv=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(y){l.$emit("dodestroy")}}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-picker-panel el-date-range-picker el-popper",class:[{"has-sidebar":l.$slots.sidebar||l.shortcuts},l.popperClass]},[d("div",{staticClass:"el-picker-panel__body-wrapper"},[l._t("sidebar"),l.shortcuts?d("div",{staticClass:"el-picker-panel__sidebar"},l._l(l.shortcuts,function(y,T){return d("button",{key:T,staticClass:"el-picker-panel__shortcut",attrs:{type:"button"},on:{click:function(A){l.handleShortcutClick(y)}}},[l._v(l._s(y.text))])}),0):l._e(),d("div",{staticClass:"el-picker-panel__body"},[d("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-left"},[d("div",{staticClass:"el-date-range-picker__header"},[d("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",attrs:{type:"button"},on:{click:l.leftPrevYear}}),l.unlinkPanels?d("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",class:{"is-disabled":!l.enableYearArrow},attrs:{type:"button",disabled:!l.enableYearArrow},on:{click:l.leftNextYear}}):l._e(),d("div",[l._v(l._s(l.leftLabel))])]),d("month-table",{attrs:{"selection-mode":"range",date:l.leftDate,"default-value":l.defaultValue,"min-date":l.minDate,"max-date":l.maxDate,"range-state":l.rangeState,"disabled-date":l.disabledDate},on:{changerange:l.handleChangeRange,pick:l.handleRangePick}})],1),d("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-right"},[d("div",{staticClass:"el-date-range-picker__header"},[l.unlinkPanels?d("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",class:{"is-disabled":!l.enableYearArrow},attrs:{type:"button",disabled:!l.enableYearArrow},on:{click:l.rightPrevYear}}):l._e(),d("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",attrs:{type:"button"},on:{click:l.rightNextYear}}),d("div",[l._v(l._s(l.rightLabel))])]),d("month-table",{attrs:{"selection-mode":"range",date:l.rightDate,"default-value":l.defaultValue,"min-date":l.minDate,"max-date":l.maxDate,"range-state":l.rangeState,"disabled-date":l.disabledDate},on:{changerange:l.handleChangeRange,pick:l.handleRangePick}})],1)])],2)])])},Kk=[];jv._withStripped=!0;var Uu=function(c){return Array.isArray(c)?[new Date(c[0]),new Date(c[1])]:c?[new Date(c),Object(ue.nextMonth)(new Date(c))]:[new Date,Object(ue.nextMonth)(new Date)]},Zb={mixins:[C.a],directives:{Clickoutside:Le.a},computed:{btnDisabled:function(){return!(this.minDate&&this.maxDate&&!this.selecting&&this.isValidValue([this.minDate,this.maxDate]))},leftLabel:function(){return this.leftDate.getFullYear()+" "+this.t("el.datepicker.year")},rightLabel:function(){return this.rightDate.getFullYear()+" "+this.t("el.datepicker.year")},leftYear:function(){return this.leftDate.getFullYear()},rightYear:function(){return this.rightDate.getFullYear()===this.leftDate.getFullYear()?this.leftDate.getFullYear()+1:this.rightDate.getFullYear()},enableYearArrow:function(){return this.unlinkPanels&&this.rightYear>this.leftYear+1}},data:function(){return{popperClass:"",value:[],defaultValue:null,defaultTime:null,minDate:"",maxDate:"",leftDate:new Date,rightDate:Object(ue.nextYear)(new Date),rangeState:{endDate:null,selecting:!1,row:null,column:null},shortcuts:"",visible:"",disabledDate:"",format:"",arrowControl:!1,unlinkPanels:!1}},watch:{value:function(c){if(!c)this.minDate=null,this.maxDate=null;else if(Array.isArray(c))if(this.minDate=Object(ue.isDate)(c[0])?new Date(c[0]):null,this.maxDate=Object(ue.isDate)(c[1])?new Date(c[1]):null,this.minDate)if(this.leftDate=this.minDate,this.unlinkPanels&&this.maxDate){var d=this.minDate.getFullYear(),y=this.maxDate.getFullYear();this.rightDate=d===y?Object(ue.nextYear)(this.maxDate):this.maxDate}else this.rightDate=Object(ue.nextYear)(this.leftDate);else this.leftDate=Uu(this.defaultValue)[0],this.rightDate=Object(ue.nextYear)(this.leftDate)},defaultValue:function(c){if(!Array.isArray(this.value)){var d=Uu(c),y=d[0],T=d[1];this.leftDate=y,this.rightDate=c&&c[1]&&y.getFullYear()!==T.getFullYear()&&this.unlinkPanels?T:Object(ue.nextYear)(this.leftDate)}}},methods:{handleClear:function(){this.minDate=null,this.maxDate=null,this.leftDate=Uu(this.defaultValue)[0],this.rightDate=Object(ue.nextYear)(this.leftDate),this.$emit("pick",null)},handleChangeRange:function(c){this.minDate=c.minDate,this.maxDate=c.maxDate,this.rangeState=c.rangeState},handleRangePick:function(c){var d=this,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,T=this.defaultTime||[],A=Object(ue.modifyWithTimeString)(c.minDate,T[0]),L=Object(ue.modifyWithTimeString)(c.maxDate,T[1]);this.maxDate===L&&this.minDate===A||(this.onPick&&this.onPick(c),this.maxDate=L,this.minDate=A,setTimeout(function(){d.maxDate=L,d.minDate=A},10),y&&this.handleConfirm())},handleShortcutClick:function(c){c.onClick&&c.onClick(this)},leftPrevYear:function(){this.leftDate=Object(ue.prevYear)(this.leftDate),this.unlinkPanels||(this.rightDate=Object(ue.prevYear)(this.rightDate))},rightNextYear:function(){this.unlinkPanels||(this.leftDate=Object(ue.nextYear)(this.leftDate)),this.rightDate=Object(ue.nextYear)(this.rightDate)},leftNextYear:function(){this.leftDate=Object(ue.nextYear)(this.leftDate)},rightPrevYear:function(){this.rightDate=Object(ue.prevYear)(this.rightDate)},handleConfirm:function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;this.isValidValue([this.minDate,this.maxDate])&&this.$emit("pick",[this.minDate,this.maxDate],c)},isValidValue:function(c){return Array.isArray(c)&&c&&c[0]&&c[1]&&Object(ue.isDate)(c[0])&&Object(ue.isDate)(c[1])&&c[0].getTime()<=c[1].getTime()&&(typeof this.disabledDate=="function"?!this.disabledDate(c[0])&&!this.disabledDate(c[1]):!0)},resetView:function(){this.minDate=this.value&&Object(ue.isDate)(this.value[0])?new Date(this.value[0]):null,this.maxDate=this.value&&Object(ue.isDate)(this.value[0])?new Date(this.value[1]):null}},components:{MonthTable:Wb,ElInput:_.a,ElButton:Se.a}},Wv=Zb,Qb=u(Wv,jv,Kk,!1);Qb.options.__file="packages/date-picker/src/panel/month-range.vue";var Gv=Qb.exports,Mt=function(c){return c==="daterange"||c==="datetimerange"?qk:c==="monthrange"?Gv:qb},Lh={mixins:[Hu],name:"ElDatePicker",props:{type:{type:String,default:"date"},timeArrowControl:Boolean},watch:{type:function(c){this.picker?(this.unmountPicker(),this.panel=Mt(c),this.mountPicker()):this.panel=Mt(c)}},created:function(){this.panel=Mt(this.type)}};Lh.install=function(c){c.component(Lh.name,Lh)};var Jb=Lh,dl=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-zoom-in-top"},on:{"before-enter":l.handleMenuEnter,"after-leave":function(y){l.$emit("dodestroy")}}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],ref:"popper",staticClass:"el-picker-panel time-select el-popper",class:l.popperClass,style:{width:l.width+"px"}},[d("el-scrollbar",{attrs:{noresize:"","wrap-class":"el-picker-panel__content"}},l._l(l.items,function(y){return d("div",{key:y.value,staticClass:"time-select-item",class:{selected:l.value===y.value,disabled:y.disabled,default:y.value===l.defaultValue},attrs:{disabled:y.disabled},on:{click:function(T){l.handleClick(y)}}},[l._v(l._s(y.value))])}),0)],1)])},e0=[];dl._withStripped=!0;var Oh=function(c){var d=(c||"").split(":");if(d.length>=2){var y=parseInt(d[0],10),T=parseInt(d[1],10);return{hours:y,minutes:T}}return null},Uv=function(c,d){var y=Oh(c),T=Oh(d),A=y.minutes+y.hours*60,L=T.minutes+T.hours*60;return A===L?0:A>L?1:-1},Ti=function(c){return(c.hours<10?"0"+c.hours:c.hours)+":"+(c.minutes<10?"0"+c.minutes:c.minutes)},Xk=function(c,d){var y=Oh(c),T=Oh(d),A={hours:y.hours,minutes:y.minutes};return A.minutes+=T.minutes,A.hours+=T.hours,A.hours+=Math.floor(A.minutes/60),A.minutes=A.minutes%60,Ti(A)},Rh={components:{ElScrollbar:Fe.a},watch:{value:function(c){var d=this;c&&this.$nextTick(function(){return d.scrollToOption()})}},methods:{handleClick:function(c){c.disabled||this.$emit("pick",c.value)},handleClear:function(){this.$emit("pick",null)},scrollToOption:function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:".selected",d=this.$refs.popper.querySelector(".el-picker-panel__content");Dv()(d,d.querySelector(c))},handleMenuEnter:function(){var c=this,d=this.items.map(function(A){return A.value}).indexOf(this.value)!==-1,y=this.items.map(function(A){return A.value}).indexOf(this.defaultValue)!==-1,T=d&&".selected"||y&&".default"||".time-select-item:not(.disabled)";this.$nextTick(function(){return c.scrollToOption(T)})},scrollDown:function(c){for(var d=this.items,y=d.length,T=d.length,A=d.map(function(L){return L.value}).indexOf(this.value);T--;)if(A=(A+c+y)%y,!d[A].disabled){this.$emit("pick",d[A].value,!0);return}},isValidValue:function(c){return this.items.filter(function(d){return!d.disabled}).map(function(d){return d.value}).indexOf(c)!==-1},handleKeydown:function(c){var d=c.keyCode;if(d===38||d===40){var y={40:1,38:-1},T=y[d.toString()];this.scrollDown(T),c.stopPropagation();return}}},data:function(){return{popperClass:"",start:"09:00",end:"18:00",step:"00:30",value:"",defaultValue:"",visible:!1,minTime:"",maxTime:"",width:0}},computed:{items:function(){var c=this.start,d=this.end,y=this.step,T=[];if(c&&d&&y)for(var A=c;Uv(A,d)<=0;)T.push({value:A,disabled:Uv(A,this.minTime||"-1:-1")<=0||Uv(A,this.maxTime||"100:100")>=0}),A=Xk(A,y);return T}}},Yv=Rh,qv=u(Yv,dl,e0,!1);qv.options.__file="packages/date-picker/src/panel/time-select.vue";var t0=qv.exports,pn={mixins:[Hu],name:"ElTimeSelect",componentName:"ElTimeSelect",props:{type:{type:String,default:"time-select"}},beforeCreate:function(){this.panel=t0}};pn.install=function(l){l.component(pn.name,pn)};var ja=pn,Nh=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(y){l.$emit("dodestroy")}}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-time-range-picker el-picker-panel el-popper",class:l.popperClass},[d("div",{staticClass:"el-time-range-picker__content"},[d("div",{staticClass:"el-time-range-picker__cell"},[d("div",{staticClass:"el-time-range-picker__header"},[l._v(l._s(l.t("el.datepicker.startTime")))]),d("div",{staticClass:"el-time-range-picker__body el-time-panel__content",class:{"has-seconds":l.showSeconds,"is-arrow":l.arrowControl}},[d("time-spinner",{ref:"minSpinner",attrs:{"show-seconds":l.showSeconds,"am-pm-mode":l.amPmMode,"arrow-control":l.arrowControl,date:l.minDate},on:{change:l.handleMinChange,"select-range":l.setMinSelectionRange}})],1)]),d("div",{staticClass:"el-time-range-picker__cell"},[d("div",{staticClass:"el-time-range-picker__header"},[l._v(l._s(l.t("el.datepicker.endTime")))]),d("div",{staticClass:"el-time-range-picker__body el-time-panel__content",class:{"has-seconds":l.showSeconds,"is-arrow":l.arrowControl}},[d("time-spinner",{ref:"maxSpinner",attrs:{"show-seconds":l.showSeconds,"am-pm-mode":l.amPmMode,"arrow-control":l.arrowControl,date:l.maxDate},on:{change:l.handleMaxChange,"select-range":l.setMaxSelectionRange}})],1)])]),d("div",{staticClass:"el-time-panel__footer"},[d("button",{staticClass:"el-time-panel__btn cancel",attrs:{type:"button"},on:{click:function(y){l.handleCancel()}}},[l._v(l._s(l.t("el.datepicker.cancel")))]),d("button",{staticClass:"el-time-panel__btn confirm",attrs:{type:"button",disabled:l.btnDisabled},on:{click:function(y){l.handleConfirm()}}},[l._v(l._s(l.t("el.datepicker.confirm")))])])])])},r0=[];Nh._withStripped=!0;var Fh=Object(ue.parseDate)("00:00:00","HH:mm:ss"),n0=Object(ue.parseDate)("23:59:59","HH:mm:ss"),Kv=function(c){return Object(ue.modifyDate)(Fh,c.getFullYear(),c.getMonth(),c.getDate())},Xv=function(c){return Object(ue.modifyDate)(n0,c.getFullYear(),c.getMonth(),c.getDate())},$h=function(c,d){return new Date(Math.min(c.getTime()+d,Xv(c).getTime()))},Zv={mixins:[C.a],components:{TimeSpinner:Wu},computed:{showSeconds:function(){return(this.format||"").indexOf("ss")!==-1},offset:function(){return this.showSeconds?11:8},spinner:function(){return this.selectionRange[0]this.maxDate.getTime()},amPmMode:function(){return(this.format||"").indexOf("A")!==-1?"A":(this.format||"").indexOf("a")!==-1?"a":""}},data:function(){return{popperClass:"",minDate:new Date,maxDate:new Date,value:[],oldValue:[new Date,new Date],defaultValue:null,format:"HH:mm:ss",visible:!1,selectionRange:[0,2],arrowControl:!1}},watch:{value:function(c){Array.isArray(c)?(this.minDate=new Date(c[0]),this.maxDate=new Date(c[1])):Array.isArray(this.defaultValue)?(this.minDate=new Date(this.defaultValue[0]),this.maxDate=new Date(this.defaultValue[1])):this.defaultValue?(this.minDate=new Date(this.defaultValue),this.maxDate=$h(new Date(this.defaultValue),60*60*1e3)):(this.minDate=new Date,this.maxDate=$h(new Date,60*60*1e3))},visible:function(c){var d=this;c&&(this.oldValue=this.value,this.$nextTick(function(){return d.$refs.minSpinner.emitSelectRange("hours")}))}},methods:{handleClear:function(){this.$emit("pick",null)},handleCancel:function(){this.$emit("pick",this.oldValue)},handleMinChange:function(c){this.minDate=Object(ue.clearMilliseconds)(c),this.handleChange()},handleMaxChange:function(c){this.maxDate=Object(ue.clearMilliseconds)(c),this.handleChange()},handleChange:function(){this.isValidValue([this.minDate,this.maxDate])&&(this.$refs.minSpinner.selectableRange=[[Kv(this.minDate),this.maxDate]],this.$refs.maxSpinner.selectableRange=[[this.minDate,Xv(this.maxDate)]],this.$emit("pick",[this.minDate,this.maxDate],!0))},setMinSelectionRange:function(c,d){this.$emit("select-range",c,d,"min"),this.selectionRange=[c,d]},setMaxSelectionRange:function(c,d){this.$emit("select-range",c,d,"max"),this.selectionRange=[c+this.offset,d+this.offset]},handleConfirm:function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,d=this.$refs.minSpinner.selectableRange,y=this.$refs.maxSpinner.selectableRange;this.minDate=Object(ue.limitTimeRange)(this.minDate,d,this.format),this.maxDate=Object(ue.limitTimeRange)(this.maxDate,y,this.format),this.$emit("pick",[this.minDate,this.maxDate],c)},adjustSpinners:function(){this.$refs.minSpinner.adjustSpinners(),this.$refs.maxSpinner.adjustSpinners()},changeSelectionRange:function(c){var d=this.showSeconds?[0,3,6,11,14,17]:[0,3,8,11],y=["hours","minutes"].concat(this.showSeconds?["seconds"]:[]),T=d.indexOf(this.selectionRange[0]),A=(T+c+d.length)%d.length,L=d.length/2;A-1}},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:200},title:String,disabled:Boolean,content:String,reference:{},popperClass:String,width:{},visibleArrow:{default:!0},arrowOffset:{type:Number,default:0},transition:{type:String,default:"fade-in-linear"},tabindex:{type:Number,default:0}},computed:{tooltipId:function(){return"el-popover-"+Object(w.generateId)()}},watch:{showPopper:function(c){this.disabled||(c?this.$emit("show"):this.$emit("hide"))}},mounted:function(){var c=this,d=this.referenceElm=this.reference||this.$refs.reference,y=this.popper||this.$refs.popper;!d&&this.$refs.wrapper.children&&(d=this.referenceElm=this.$refs.wrapper.children[0]),d&&(Object(Ee.addClass)(d,"el-popover__reference"),d.setAttribute("aria-describedby",this.tooltipId),d.setAttribute("tabindex",this.tabindex),y.setAttribute("tabindex",0),this.trigger!=="click"&&(Object(Ee.on)(d,"focusin",function(){c.handleFocus();var T=d.__vue__;T&&typeof T.focus=="function"&&T.focus()}),Object(Ee.on)(y,"focusin",this.handleFocus),Object(Ee.on)(d,"focusout",this.handleBlur),Object(Ee.on)(y,"focusout",this.handleBlur)),Object(Ee.on)(d,"keydown",this.handleKeydown),Object(Ee.on)(d,"click",this.handleClick)),this.trigger==="click"?(Object(Ee.on)(d,"click",this.doToggle),Object(Ee.on)(document,"click",this.handleDocumentClick)):this.trigger==="hover"?(Object(Ee.on)(d,"mouseenter",this.handleMouseEnter),Object(Ee.on)(y,"mouseenter",this.handleMouseEnter),Object(Ee.on)(d,"mouseleave",this.handleMouseLeave),Object(Ee.on)(y,"mouseleave",this.handleMouseLeave)):this.trigger==="focus"&&(this.tabindex<0&&console.warn("[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key"),d.querySelector("input, textarea")?(Object(Ee.on)(d,"focusin",this.doShow),Object(Ee.on)(d,"focusout",this.doClose)):(Object(Ee.on)(d,"mousedown",this.doShow),Object(Ee.on)(d,"mouseup",this.doClose)))},beforeDestroy:function(){this.cleanup()},deactivated:function(){this.cleanup()},methods:{doToggle:function(){this.showPopper=!this.showPopper},doShow:function(){this.showPopper=!0},doClose:function(){this.showPopper=!1},handleFocus:function(){Object(Ee.addClass)(this.referenceElm,"focusing"),(this.trigger==="click"||this.trigger==="focus")&&(this.showPopper=!0)},handleClick:function(){Object(Ee.removeClass)(this.referenceElm,"focusing")},handleBlur:function(){Object(Ee.removeClass)(this.referenceElm,"focusing"),(this.trigger==="click"||this.trigger==="focus")&&(this.showPopper=!1)},handleMouseEnter:function(){var c=this;clearTimeout(this._timer),this.openDelay?this._timer=setTimeout(function(){c.showPopper=!0},this.openDelay):this.showPopper=!0},handleKeydown:function(c){c.keyCode===27&&this.trigger!=="manual"&&this.doClose()},handleMouseLeave:function(){var c=this;clearTimeout(this._timer),this.closeDelay?this._timer=setTimeout(function(){c.showPopper=!1},this.closeDelay):this.showPopper=!1},handleDocumentClick:function(c){var d=this.reference||this.$refs.reference,y=this.popper||this.$refs.popper;!d&&this.$refs.wrapper.children&&(d=this.referenceElm=this.$refs.wrapper.children[0]),!(!this.$el||!d||this.$el.contains(c.target)||d.contains(c.target)||!y||y.contains(c.target))&&(this.showPopper=!1)},handleAfterEnter:function(){this.$emit("after-enter")},handleAfterLeave:function(){this.$emit("after-leave"),this.doDestroy()},cleanup:function(){(this.openDelay||this.closeDelay)&&clearTimeout(this._timer)}},destroyed:function(){var c=this.reference;Object(Ee.off)(c,"click",this.doToggle),Object(Ee.off)(c,"mouseup",this.doClose),Object(Ee.off)(c,"mousedown",this.doShow),Object(Ee.off)(c,"focusin",this.doShow),Object(Ee.off)(c,"focusout",this.doClose),Object(Ee.off)(c,"mousedown",this.doShow),Object(Ee.off)(c,"mouseup",this.doClose),Object(Ee.off)(c,"mouseleave",this.handleMouseLeave),Object(Ee.off)(c,"mouseenter",this.handleMouseEnter),Object(Ee.off)(document,"click",this.handleDocumentClick)}},Jk=Qk,Jv=u(Jk,zh,Zk,!1);Jv.options.__file="packages/popover/src/main.vue";var pl=Jv.exports,a0=function(c,d,y){var T=d.expression?d.value:d.arg,A=y.context.$refs[T];A&&(Array.isArray(A)?A[0].$refs.reference=c:A.$refs.reference=c)},Vh={bind:function(c,d,y){a0(c,d,y)},inserted:function(c,d,y){a0(c,d,y)}};gr.a.directive("popover",Vh),pl.install=function(l){l.directive("popover",Vh),l.component(pl.name,pl)},pl.directive=Vh;var eg=pl,on={name:"ElTooltip",mixins:[ie.a],props:{openDelay:{type:Number,default:0},disabled:Boolean,manual:Boolean,effect:{type:String,default:"dark"},arrowOffset:{type:Number,default:0},popperClass:String,content:String,visibleArrow:{default:!0},transition:{type:String,default:"el-fade-in-linear"},popperOptions:{default:function(){return{boundariesPadding:10,gpuAcceleration:!1}}},enterable:{type:Boolean,default:!0},hideAfter:{type:Number,default:0},tabindex:{type:Number,default:0}},data:function(){return{tooltipId:"el-tooltip-"+Object(w.generateId)(),timeoutPending:null,focusing:!1}},beforeCreate:function(){var c=this;this.$isServer||(this.popperVM=new gr.a({data:{node:""},render:function(y){return this.node}}).$mount(),this.debounceClose=_e()(200,function(){return c.handleClosePopper()}))},render:function(c){var d=this;this.popperVM&&(this.popperVM.node=c("transition",{attrs:{name:this.transition},on:{afterLeave:this.doDestroy}},[c("div",{on:{mouseleave:function(){d.setExpectedState(!1),d.debounceClose()},mouseenter:function(){d.setExpectedState(!0)}},ref:"popper",attrs:{role:"tooltip",id:this.tooltipId,"aria-hidden":this.disabled||!this.showPopper?"true":"false"},directives:[{name:"show",value:!this.disabled&&this.showPopper}],class:["el-tooltip__popper","is-"+this.effect,this.popperClass]},[this.$slots.content||this.content])]));var y=this.getFirstElement();if(!y)return null;var T=y.data=y.data||{};return T.staticClass=this.addTooltipClass(T.staticClass),y},mounted:function(){var c=this;this.referenceElm=this.$el,this.$el.nodeType===1&&(this.$el.setAttribute("aria-describedby",this.tooltipId),this.$el.setAttribute("tabindex",this.tabindex),Object(Ee.on)(this.referenceElm,"mouseenter",this.show),Object(Ee.on)(this.referenceElm,"mouseleave",this.hide),Object(Ee.on)(this.referenceElm,"focus",function(){if(!c.$slots.default||!c.$slots.default.length){c.handleFocus();return}var d=c.$slots.default[0].componentInstance;d&&d.focus?d.focus():c.handleFocus()}),Object(Ee.on)(this.referenceElm,"blur",this.handleBlur),Object(Ee.on)(this.referenceElm,"click",this.removeFocusing)),this.value&&this.popperVM&&this.popperVM.$nextTick(function(){c.value&&c.updatePopper()})},watch:{focusing:function(c){c?Object(Ee.addClass)(this.referenceElm,"focusing"):Object(Ee.removeClass)(this.referenceElm,"focusing")}},methods:{show:function(){this.setExpectedState(!0),this.handleShowPopper()},hide:function(){this.setExpectedState(!1),this.debounceClose()},handleFocus:function(){this.focusing=!0,this.show()},handleBlur:function(){this.focusing=!1,this.hide()},removeFocusing:function(){this.focusing=!1},addTooltipClass:function(c){return c?"el-tooltip "+c.replace("el-tooltip",""):"el-tooltip"},handleShowPopper:function(){var c=this;!this.expectedState||this.manual||(clearTimeout(this.timeout),this.timeout=setTimeout(function(){c.showPopper=!0},this.openDelay),this.hideAfter>0&&(this.timeoutPending=setTimeout(function(){c.showPopper=!1},this.hideAfter)))},handleClosePopper:function(){this.enterable&&this.expectedState||this.manual||(clearTimeout(this.timeout),this.timeoutPending&&clearTimeout(this.timeoutPending),this.showPopper=!1,this.disabled&&this.doDestroy())},setExpectedState:function(c){c===!1&&clearTimeout(this.timeoutPending),this.expectedState=c},getFirstElement:function(){var c=this.$slots.default;if(!Array.isArray(c))return null;for(var d=null,y=0;y0){ki=qu.shift();var c=ki.options;for(var d in c)c.hasOwnProperty(d)&&(rr[d]=c[d]);c.callback===void 0&&(rr.callback=ig);var y=rr.callback;rr.callback=function(T,A){y(T,A),l()},Object(ms.isVNode)(rr.message)?(rr.$slots.default=[rr.message],rr.message=null):delete rr.$slots.default,["modal","showClose","closeOnClickModal","closeOnPressEscape","closeOnHashChange"].forEach(function(T){rr[T]===void 0&&(rr[T]=!0)}),document.body.appendChild(rr.$el),gr.a.nextTick(function(){rr.visible=!0})}},Mi=function l(c,d){if(!gr.a.prototype.$isServer){if(typeof c=="string"||Object(ms.isVNode)(c)?(c={message:c},typeof arguments[1]=="string"&&(c.title=arguments[1])):c.callback&&!d&&(d=c.callback),typeof Promise<"u")return new Promise(function(y,T){qu.push({options:Cr()({},ng,l.defaults,c),callback:d,resolve:y,reject:T}),ag()});qu.push({options:Cr()({},ng,l.defaults,c),callback:d}),ag()}};Mi.setDefaults=function(l){Mi.defaults=l},Mi.alert=function(l,c,d){return(typeof c>"u"?"undefined":gl(c))==="object"?(d=c,c=""):c===void 0&&(c=""),Mi(Cr()({title:c,message:l,$type:"alert",closeOnPressEscape:!1,closeOnClickModal:!1},d))},Mi.confirm=function(l,c,d){return(typeof c>"u"?"undefined":gl(c))==="object"?(d=c,c=""):c===void 0&&(c=""),Mi(Cr()({title:c,message:l,$type:"confirm",showCancelButton:!0},d))},Mi.prompt=function(l,c,d){return(typeof c>"u"?"undefined":gl(c))==="object"?(d=c,c=""):c===void 0&&(c=""),Mi(Cr()({title:c,message:l,showCancelButton:!0,showInput:!0,$type:"prompt"},d))},Mi.close=function(){rr.doClose(),rr.visible=!1,qu=[],ki=null};var tM=Mi,ml=tM,fa=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-breadcrumb",attrs:{"aria-label":"Breadcrumb",role:"navigation"}},[l._t("default")],2)},f0=[];fa._withStripped=!0;var h0={name:"ElBreadcrumb",props:{separator:{type:String,default:"/"},separatorClass:{type:String,default:""}},provide:function(){return{elBreadcrumb:this}},mounted:function(){var c=this.$el.querySelectorAll(".el-breadcrumb__item");c.length&&c[c.length-1].setAttribute("aria-current","page")}},rM=h0,og=u(rM,fa,f0,!1);og.options.__file="packages/breadcrumb/src/breadcrumb.vue";var Wh=og.exports;Wh.install=function(l){l.component(Wh.name,Wh)};var d0=Wh,ha=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("span",{staticClass:"el-breadcrumb__item"},[d("span",{ref:"link",class:["el-breadcrumb__inner",l.to?"is-link":""],attrs:{role:"link"}},[l._t("default")],2),l.separatorClass?d("i",{staticClass:"el-breadcrumb__separator",class:l.separatorClass}):d("span",{staticClass:"el-breadcrumb__separator",attrs:{role:"presentation"}},[l._v(l._s(l.separator))])])},sg=[];ha._withStripped=!0;var lg={name:"ElBreadcrumbItem",props:{to:{},replace:Boolean},data:function(){return{separator:"",separatorClass:""}},inject:["elBreadcrumb"],mounted:function(){var c=this;this.separator=this.elBreadcrumb.separator,this.separatorClass=this.elBreadcrumb.separatorClass;var d=this.$refs.link;d.setAttribute("role","link"),d.addEventListener("click",function(y){var T=c.to,A=c.$router;!T||!A||(c.replace?A.replace(T):A.push(T))})}},ug=lg,Ku=u(ug,ha,sg,!1);Ku.options.__file="packages/breadcrumb/src/breadcrumb-item.vue";var Ga=Ku.exports;Ga.install=function(l){l.component(Ga.name,Ga)};var st=Ga,Xu=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("form",{staticClass:"el-form",class:[l.labelPosition?"el-form--label-"+l.labelPosition:"",{"el-form--inline":l.inline}]},[l._t("default")],2)},cg=[];Xu._withStripped=!0;var ys={name:"ElForm",componentName:"ElForm",provide:function(){return{elForm:this}},props:{model:Object,rules:Object,labelPosition:String,labelWidth:String,labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},size:String,disabled:Boolean,validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1}},watch:{rules:function(){this.fields.forEach(function(c){c.removeValidateEvents(),c.addValidateEvents()}),this.validateOnRuleChange&&this.validate(function(){})}},computed:{autoLabelWidth:function(){if(!this.potentialLabelWidthArr.length)return 0;var c=Math.max.apply(Math,this.potentialLabelWidthArr);return c?c+"px":""}},data:function(){return{fields:[],potentialLabelWidthArr:[]}},created:function(){var c=this;this.$on("el.form.addField",function(d){d&&c.fields.push(d)}),this.$on("el.form.removeField",function(d){d.prop&&c.fields.splice(c.fields.indexOf(d),1)})},methods:{resetFields:function(){if(!this.model){console.warn("[Element Warn][Form]model is required for resetFields to work.");return}this.fields.forEach(function(c){c.resetField()})},clearValidate:function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],d=c.length?typeof c=="string"?this.fields.filter(function(y){return c===y.prop}):this.fields.filter(function(y){return c.indexOf(y.prop)>-1}):this.fields;d.forEach(function(y){y.clearValidate()})},validate:function(c){var d=this;if(!this.model){console.warn("[Element Warn][Form]model is required for validate to work!");return}var y=void 0;typeof c!="function"&&window.Promise&&(y=new window.Promise(function(F,G){c=function(te,se){te?F(te):G(se)}}));var T=!0,A=0;this.fields.length===0&&c&&c(!0);var L={};if(this.fields.forEach(function(F){F.validate("",function(G,q){G&&(T=!1),L=Cr()({},L,q),typeof c=="function"&&++A===d.fields.length&&c(T,L)})}),y)return y},validateField:function(c,d){c=[].concat(c);var y=this.fields.filter(function(T){return c.indexOf(T.prop)!==-1});if(!y.length){console.warn("[Element Warn]please pass correct props!");return}y.forEach(function(T){T.validate("",d)})},getLabelWidthIndex:function(c){var d=this.potentialLabelWidthArr.indexOf(c);if(d===-1)throw new Error("[ElementForm]unpected width ",c);return d},registerLabelWidth:function(c,d){if(c&&d){var y=this.getLabelWidthIndex(d);this.potentialLabelWidthArr.splice(y,1,c)}else c&&this.potentialLabelWidthArr.push(c)},deregisterLabelWidth:function(c){var d=this.getLabelWidthIndex(c);this.potentialLabelWidthArr.splice(d,1)}}},nM=ys,Gh=u(nM,Xu,cg,!1);Gh.options.__file="packages/form/src/form.vue";var Zu=Gh.exports;Zu.install=function(l){l.component(Zu.name,Zu)};var sn=Zu,p0=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-form-item",class:[{"el-form-item--feedback":l.elForm&&l.elForm.statusIcon,"is-error":l.validateState==="error","is-validating":l.validateState==="validating","is-success":l.validateState==="success","is-required":l.isRequired||l.required,"is-no-asterisk":l.elForm&&l.elForm.hideRequiredAsterisk},l.sizeClass?"el-form-item--"+l.sizeClass:""]},[d("label-wrap",{attrs:{"is-auto-width":l.labelStyle&&l.labelStyle.width==="auto","update-all":l.form.labelWidth==="auto"}},[l.label||l.$slots.label?d("label",{staticClass:"el-form-item__label",style:l.labelStyle,attrs:{for:l.labelFor}},[l._t("label",[l._v(l._s(l.label+l.form.labelSuffix))])],2):l._e()]),d("div",{staticClass:"el-form-item__content",style:l.contentStyle},[l._t("default"),d("transition",{attrs:{name:"el-zoom-in-top"}},[l.validateState==="error"&&l.showMessage&&l.form.showMessage?l._t("error",[d("div",{staticClass:"el-form-item__error",class:{"el-form-item__error--inline":typeof l.inlineMessage=="boolean"?l.inlineMessage:l.elForm&&l.elForm.inlineMessage||!1}},[l._v(` - `+l._s(l.validateMessage)+` - `)])],{error:l.validateMessage}):l._e()],2)],2)],1)},iM=[];p0._withStripped=!0;var v0=n(41),aM=n.n(v0),g0={props:{isAutoWidth:Boolean,updateAll:Boolean},inject:["elForm","elFormItem"],render:function(){var c=arguments[0],d=this.$slots.default;if(!d)return null;if(this.isAutoWidth){var y=this.elForm.autoLabelWidth,T={};if(y&&y!=="auto"){var A=parseInt(y,10)-this.computedWidth;A&&(T.marginLeft=A+"px")}return c("div",{class:"el-form-item__label-wrap",style:T},[d])}else return d[0]},methods:{getLabelWidth:function(){if(this.$el&&this.$el.firstElementChild){var c=window.getComputedStyle(this.$el.firstElementChild).width;return Math.ceil(parseFloat(c))}else return 0},updateLabelWidth:function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"update";this.$slots.default&&this.isAutoWidth&&this.$el.firstElementChild&&(c==="update"?this.computedWidth=this.getLabelWidth():c==="remove"&&this.elForm.deregisterLabelWidth(this.computedWidth))}},watch:{computedWidth:function(c,d){this.updateAll&&(this.elForm.registerLabelWidth(c,d),this.elFormItem.updateComputedLabelWidth(c))}},data:function(){return{computedWidth:0}},mounted:function(){this.updateLabelWidth("update")},updated:function(){this.updateLabelWidth("update")},beforeDestroy:function(){this.updateLabelWidth("remove")}},oM=g0,sM,lM,da=u(oM,sM,lM,!1);da.options.__file="packages/form/src/label-wrap.vue";var bn=da.exports,fg={name:"ElFormItem",componentName:"ElFormItem",mixins:[B.a],provide:function(){return{elFormItem:this}},inject:["elForm"],props:{label:String,labelWidth:String,prop:String,required:{type:Boolean,default:void 0},rules:[Object,Array],error:String,validateStatus:String,for:String,inlineMessage:{type:[String,Boolean],default:""},showMessage:{type:Boolean,default:!0},size:String},components:{LabelWrap:bn},watch:{error:{immediate:!0,handler:function(c){this.validateMessage=c,this.validateState=c?"error":""}},validateStatus:function(c){this.validateState=c},rules:function(c){(!c||c.length===0)&&this.required===void 0&&this.clearValidate()}},computed:{labelFor:function(){return this.for||this.prop},labelStyle:function(){var c={};if(this.form.labelPosition==="top")return c;var d=this.labelWidth||this.form.labelWidth;return d&&(c.width=d),c},contentStyle:function(){var c={},d=this.label;if(this.form.labelPosition==="top"||this.form.inline||!d&&!this.labelWidth&&this.isNested)return c;var y=this.labelWidth||this.form.labelWidth;return y==="auto"?this.labelWidth==="auto"?c.marginLeft=this.computedLabelWidth:this.form.labelWidth==="auto"&&(c.marginLeft=this.elForm.autoLabelWidth):c.marginLeft=y,c},form:function(){for(var c=this.$parent,d=c.$options.componentName;d!=="ElForm";)d==="ElFormItem"&&(this.isNested=!0),c=c.$parent,d=c.$options.componentName;return c},fieldValue:function(){var c=this.form.model;if(!(!c||!this.prop)){var d=this.prop;return d.indexOf(":")!==-1&&(d=d.replace(/:/,".")),Object(w.getPropByPath)(c,d,!0).v}},isRequired:function(){var c=this.getRules(),d=!1;return c&&c.length&&c.every(function(y){return y.required?(d=!0,!1):!0}),d},_formSize:function(){return this.elForm.size},elFormItemSize:function(){return this.size||this._formSize},sizeClass:function(){return this.elFormItemSize||(this.$ELEMENT||{}).size}},data:function(){return{validateState:"",validateMessage:"",validateDisabled:!1,validator:{},isNested:!1,computedLabelWidth:""}},methods:{validate:function(c){var d=this,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:w.noop;this.validateDisabled=!1;var T=this.getFilteredRule(c);if((!T||T.length===0)&&this.required===void 0)return y(),!0;this.validateState="validating";var A={};T&&T.length>0&&T.forEach(function(G){delete G.trigger}),A[this.prop]=T;var L=new aM.a(A),F={};F[this.prop]=this.fieldValue,L.validate(F,{firstFields:!0},function(G,q){d.validateState=G?"error":"success",d.validateMessage=G?G[0].message:"",y(d.validateMessage,q),d.elForm&&d.elForm.$emit("validate",d.prop,!G,d.validateMessage||null)})},clearValidate:function(){this.validateState="",this.validateMessage="",this.validateDisabled=!1},resetField:function(){var c=this;this.validateState="",this.validateMessage="";var d=this.form.model,y=this.fieldValue,T=this.prop;T.indexOf(":")!==-1&&(T=T.replace(/:/,"."));var A=Object(w.getPropByPath)(d,T,!0);this.validateDisabled=!0,Array.isArray(y)?A.o[A.k]=[].concat(this.initialValue):A.o[A.k]=this.initialValue,this.$nextTick(function(){c.validateDisabled=!1}),this.broadcast("ElTimeSelect","fieldReset",this.initialValue)},getRules:function(){var c=this.form.rules,d=this.rules,y=this.required!==void 0?{required:!!this.required}:[],T=Object(w.getPropByPath)(c,this.prop||"");return c=c?T.o[this.prop||""]||T.v:[],[].concat(d||c||[]).concat(y)},getFilteredRule:function(c){var d=this.getRules();return d.filter(function(y){return!y.trigger||c===""?!0:Array.isArray(y.trigger)?y.trigger.indexOf(c)>-1:y.trigger===c}).map(function(y){return Cr()({},y)})},onFieldBlur:function(){this.validate("blur")},onFieldChange:function(){if(this.validateDisabled){this.validateDisabled=!1;return}this.validate("change")},updateComputedLabelWidth:function(c){this.computedLabelWidth=c?c+"px":""},addValidateEvents:function(){var c=this.getRules();(c.length||this.required!==void 0)&&(this.$on("el.form.blur",this.onFieldBlur),this.$on("el.form.change",this.onFieldChange))},removeValidateEvents:function(){this.$off()}},mounted:function(){if(this.prop){this.dispatch("ElForm","el.form.addField",[this]);var c=this.fieldValue;Array.isArray(c)&&(c=[].concat(c)),Object.defineProperty(this,"initialValue",{value:c}),this.addValidateEvents()}},beforeDestroy:function(){this.dispatch("ElForm","el.form.removeField",[this])}},uM=fg,Uh=u(uM,p0,iM,!1);Uh.options.__file="packages/form/src/form-item.vue";var Yh=Uh.exports;Yh.install=function(l){l.component(Yh.name,Yh)};var m0=Yh,yl=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-tabs__active-bar",class:"is-"+l.rootTabs.tabPosition,style:l.barStyle})},y0=[];yl._withStripped=!0;var _0={name:"TabBar",props:{tabs:Array},inject:["rootTabs"],computed:{barStyle:{get:function(){var c=this,d={},y=0,T=0,A=["top","bottom"].indexOf(this.rootTabs.tabPosition)!==-1?"width":"height",L=A==="width"?"x":"y",F=function(te){return te.toLowerCase().replace(/( |^)[a-z]/g,function(se){return se.toUpperCase()})};this.tabs.every(function(q,te){var se=Object(w.arrayFind)(c.$parent.$refs.tabs||[],function($e){return $e.id.replace("tab-","")===q.paneName});if(!se)return!1;if(q.active){T=se["client"+F(A)];var Ae=window.getComputedStyle(se);return A==="width"&&c.tabs.length>1&&(T-=parseFloat(Ae.paddingLeft)+parseFloat(Ae.paddingRight)),A==="width"&&(y+=parseFloat(Ae.paddingLeft)),!1}else return y+=se["client"+F(A)],!0});var G="translate"+F(L)+"("+y+"px)";return d[A]=T+"px",d.transform=G,d.msTransform=G,d.webkitTransform=G,d}}}},cM=_0,b0=u(cM,yl,y0,!1);b0.options.__file="packages/tabs/src/tab-bar.vue";var fM=b0.exports;function x0(){}var _l=function(c){return c.toLowerCase().replace(/( |^)[a-z]/g,function(d){return d.toUpperCase()})},S0={name:"TabNav",components:{TabBar:fM},inject:["rootTabs"],props:{panes:Array,currentName:String,editable:Boolean,onTabClick:{type:Function,default:x0},onTabRemove:{type:Function,default:x0},type:String,stretch:Boolean},data:function(){return{scrollable:!1,navOffset:0,isFocus:!1,focusable:!0}},computed:{navStyle:function(){var c=["top","bottom"].indexOf(this.rootTabs.tabPosition)!==-1?"X":"Y";return{transform:"translate"+c+"(-"+this.navOffset+"px)"}},sizeName:function(){return["top","bottom"].indexOf(this.rootTabs.tabPosition)!==-1?"width":"height"}},methods:{scrollPrev:function(){var c=this.$refs.navScroll["offset"+_l(this.sizeName)],d=this.navOffset;if(d){var y=d>c?d-c:0;this.navOffset=y}},scrollNext:function(){var c=this.$refs.nav["offset"+_l(this.sizeName)],d=this.$refs.navScroll["offset"+_l(this.sizeName)],y=this.navOffset;if(!(c-y<=d)){var T=c-y>d*2?y+d:c-d;this.navOffset=T}},scrollToActiveTab:function(){if(this.scrollable){var c=this.$refs.nav,d=this.$el.querySelector(".is-active");if(d){var y=this.$refs.navScroll,T=["top","bottom"].indexOf(this.rootTabs.tabPosition)!==-1,A=d.getBoundingClientRect(),L=y.getBoundingClientRect(),F=T?c.offsetWidth-L.width:c.offsetHeight-L.height,G=this.navOffset,q=G;T?(A.leftL.right&&(q=G+A.right-L.right)):(A.topL.bottom&&(q=G+(A.bottom-L.bottom))),q=Math.max(q,0),this.navOffset=Math.min(q,F)}}},update:function(){if(this.$refs.nav){var c=this.sizeName,d=this.$refs.nav["offset"+_l(c)],y=this.$refs.navScroll["offset"+_l(c)],T=this.navOffset;if(y0&&(this.navOffset=0)}},changeTab:function(c){var d=c.keyCode,y=void 0,T=void 0,A=void 0;if([37,38,39,40].indexOf(d)!==-1)A=c.currentTarget.querySelectorAll("[role=tab]"),T=Array.prototype.indexOf.call(A,c.target);else return;d===37||d===38?T===0?y=A.length-1:y=T-1:T0&&arguments[0]!==void 0?arguments[0]:!1;if(this.$slots.default){var y=this.$slots.default.filter(function(L){return L.tag&&L.componentOptions&&L.componentOptions.Ctor.options.name==="ElTabPane"}),T=y.map(function(L){var F=L.componentInstance;return F}),A=!(T.length===this.panes.length&&T.every(function(L,F){return L===c.panes[F]}));(d||A)&&(this.panes=T)}else this.panes.length!==0&&(this.panes=[])},handleTabClick:function(c,d,y){c.disabled||(this.setCurrentName(d),this.$emit("tab-click",c,y))},handleTabRemove:function(c,d){c.disabled||(d.stopPropagation(),this.$emit("edit",c.name,"remove"),this.$emit("tab-remove",c.name))},handleTabAdd:function(){this.$emit("edit",null,"add"),this.$emit("tab-add")},setCurrentName:function(c){var d=this,y=function(){d.currentName=c,d.$emit("input",c)};if(this.currentName!==c&&this.beforeLeave){var T=this.beforeLeave(c,this.currentName);T&&T.then?T.then(function(){y(),d.$refs.nav&&d.$refs.nav.removeFocus()},function(){}):T!==!1&&y()}else y()}},render:function(c){var d,y=this.type,T=this.handleTabClick,A=this.handleTabRemove,L=this.handleTabAdd,F=this.currentName,G=this.panes,q=this.editable,te=this.addable,se=this.tabPosition,Ae=this.stretch,$e=q||te?c("span",{class:"el-tabs__new-tab",on:{click:L,keydown:function(pt){pt.keyCode===13&&L()}},attrs:{tabindex:"0"}},[c("i",{class:"el-icon-plus"})]):null,Ve={props:{currentName:F,onTabClick:T,onTabRemove:A,editable:q,type:y,panes:G,stretch:Ae},ref:"nav"},Ue=c("div",{class:["el-tabs__header","is-"+se]},[$e,c("tab-nav",Ve)]),De=c("div",{class:"el-tabs__content"},[this.$slots.default]);return c("div",{class:(d={"el-tabs":!0,"el-tabs--card":y==="card"},d["el-tabs--"+se]=!0,d["el-tabs--border-card"]=y==="border-card",d)},[se!=="bottom"?[Ue,De]:[De,Ue]])},created:function(){this.currentName||this.setCurrentName("0"),this.$on("tab-nav-update",this.calcPaneInstances.bind(null,!0))},mounted:function(){this.calcPaneInstances()},updated:function(){this.calcPaneInstances()}},Kh=T0,D0,pa,ko=u(Kh,D0,pa,!1);ko.options.__file="packages/tabs/src/tabs.vue";var Xh=ko.exports;Xh.install=function(l){l.component(Xh.name,Xh)};var hg=Xh,k0=function(){var l=this,c=l.$createElement,d=l._self._c||c;return!l.lazy||l.loaded||l.active?d("div",{directives:[{name:"show",rawName:"v-show",value:l.active,expression:"active"}],staticClass:"el-tab-pane",attrs:{role:"tabpanel","aria-hidden":!l.active,id:"pane-"+l.paneName,"aria-labelledby":"tab-"+l.paneName}},[l._t("default")],2):l._e()},dM=[];k0._withStripped=!0;var pM={name:"ElTabPane",componentName:"ElTabPane",props:{label:String,labelContent:Function,name:String,closable:Boolean,disabled:Boolean,lazy:Boolean},data:function(){return{index:null,loaded:!1}},computed:{isClosable:function(){return this.closable||this.$parent.closable},active:function(){var c=this.$parent.currentName===(this.name||this.index);return c&&(this.loaded=!0),c},paneName:function(){return this.name||this.index}},updated:function(){this.$parent.$emit("tab-nav-update")}},vM=pM,M0=u(vM,k0,dM,!1);M0.options.__file="packages/tabs/src/tab-pane.vue";var Zh=M0.exports;Zh.install=function(l){l.component(Zh.name,Zh)};var A0=Zh,gM={name:"ElTag",props:{text:String,closable:Boolean,type:String,hit:Boolean,disableTransitions:Boolean,color:String,size:String,effect:{type:String,default:"light",validator:function(c){return["dark","light","plain"].indexOf(c)!==-1}}},methods:{handleClose:function(c){c.stopPropagation(),this.$emit("close",c)},handleClick:function(c){this.$emit("click",c)}},computed:{tagSize:function(){return this.size||(this.$ELEMENT||{}).size}},render:function(c){var d=this.type,y=this.tagSize,T=this.hit,A=this.effect,L=["el-tag",d?"el-tag--"+d:"",y?"el-tag--"+y:"",A?"el-tag--"+A:"",T&&"is-hit"],F=c("span",{class:L,style:{backgroundColor:this.color},on:{click:this.handleClick}},[this.$slots.default,this.closable&&c("i",{class:"el-tag__close el-icon-close",on:{click:this.handleClose}})]);return this.disableTransitions?F:c("transition",{attrs:{name:"el-zoom-in-center"}},[F])}},mM=gM,yM,_M,dg=u(mM,yM,_M,!1);dg.options.__file="packages/tag/src/tag.vue";var Ju=dg.exports;Ju.install=function(l){l.component(Ju.name,Ju)};var pg=Ju,E0=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-tree",class:{"el-tree--highlight-current":l.highlightCurrent,"is-dragging":!!l.dragState.draggingNode,"is-drop-not-allow":!l.dragState.allowDrop,"is-drop-inner":l.dragState.dropType==="inner"},attrs:{role:"tree"}},[l._l(l.root.childNodes,function(y){return d("el-tree-node",{key:l.getNodeKey(y),attrs:{node:y,props:l.props,"render-after-expand":l.renderAfterExpand,"show-checkbox":l.showCheckbox,"render-content":l.renderContent},on:{"node-expand":l.handleNodeExpand}})}),l.isEmpty?d("div",{staticClass:"el-tree__empty-block"},[d("span",{staticClass:"el-tree__empty-text"},[l._v(l._s(l.emptyText))])]):l._e(),d("div",{directives:[{name:"show",rawName:"v-show",value:l.dragState.showDropIndicator,expression:"dragState.showDropIndicator"}],ref:"dropIndicator",staticClass:"el-tree__drop-indicator"})],2)},bM=[];E0._withStripped=!0;var bl="$treeNodeId",vg=function(c,d){!d||d[bl]||Object.defineProperty(d,bl,{value:c.id,enumerable:!1,configurable:!1,writable:!1})},gg=function(c,d){return c?d[c]:d[bl]},xM=function(c,d){for(var y=c;y&&y.tagName!=="BODY";){if(y.__vue__&&y.__vue__.$options.name===d)return y.__vue__;y=y.parentNode}return null},SM=function(){function l(c,d){for(var y=0;y"u"){var L=T[d];return L===void 0?"":L}},CM=0,TM=function(){function l(c){wM(this,l),this.id=CM++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1;for(var d in c)c.hasOwnProperty(d)&&(this[d]=c[d]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1);var y=this.store;if(!y)throw new Error("[Node]store is required!");y.registerNode(this);var T=y.props;if(T&&typeof T.isLeaf<"u"){var A=xn(this,"isLeaf");typeof A=="boolean"&&(this.isLeafByUser=A)}if(y.lazy!==!0&&this.data?(this.setData(this.data),y.defaultExpandAll&&(this.expanded=!0)):this.level>0&&y.lazy&&y.defaultExpandAll&&this.expand(),Array.isArray(this.data)||vg(this,this.data),!!this.data){var L=y.defaultExpandedKeys,F=y.key;F&&L&&L.indexOf(this.key)!==-1&&this.expand(null,y.autoExpandParent),F&&y.currentNodeKey!==void 0&&this.key===y.currentNodeKey&&(y.currentNode=this,y.currentNode.isCurrent=!0),y.lazy&&y._initDefaultCheckedNode(this),this.updateLeafState()}}return l.prototype.setData=function(d){Array.isArray(d)||vg(this,d),this.data=d,this.childNodes=[];var y=void 0;this.level===0&&this.data instanceof Array?y=this.data:y=xn(this,"children")||[];for(var T=0,A=y.length;T1&&arguments[1]!==void 0?arguments[1]:!0,T=function A(L){for(var F=L.childNodes||[],G=!1,q=0,te=F.length;q"u"||y<0?A.push(d.data):A.splice(y,0,d.data))}Cr()(d,{parent:this,store:this.store}),d=new l(d)}d.level=this.level+1,typeof y>"u"||y<0?this.childNodes.push(d):this.childNodes.splice(y,0,d),this.updateLeafState()},l.prototype.insertBefore=function(d,y){var T=void 0;y&&(T=this.childNodes.indexOf(y)),this.insertChild(d,T)},l.prototype.insertAfter=function(d,y){var T=void 0;y&&(T=this.childNodes.indexOf(y),T!==-1&&(T+=1)),this.insertChild(d,T)},l.prototype.removeChild=function(d){var y=this.getChildren()||[],T=y.indexOf(d.data);T>-1&&y.splice(T,1);var A=this.childNodes.indexOf(d);A>-1&&(this.store&&this.store.deregisterNode(d),d.parent=null,this.childNodes.splice(A,1)),this.updateLeafState()},l.prototype.removeChildByData=function(d){for(var y=null,T=0;T0;)F.expanded=!0,F=F.parent;T.expanded=!0,d&&d()};this.shouldLoadData()?this.loadData(function(L){L instanceof Array&&(T.checked?T.setChecked(!0,!0):T.store.checkStrictly||yg(T),A())}):A()},l.prototype.doCreateChildren=function(d){var y=this,T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};d.forEach(function(A){y.insertChild(Cr()({data:A},T),void 0,!0)})},l.prototype.collapse=function(){this.expanded=!1},l.prototype.shouldLoadData=function(){return this.store.lazy===!0&&this.store.load&&!this.loaded},l.prototype.updateLeafState=function(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser;return}var d=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!d||d.length===0;return}this.isLeaf=!1},l.prototype.setChecked=function(d,y,T,A){var L=this;if(this.indeterminate=d==="half",this.checked=d===!0,!this.store.checkStrictly){if(!(this.shouldLoadData()&&!this.store.checkDescendants)){var F=mg(this.childNodes),G=F.all,q=F.allWithoutDisable;!this.isLeaf&&!G&&q&&(this.checked=!1,d=!1);var te=function(){if(y){for(var $e=L.childNodes,Ve=0,Ue=$e.length;Ve0&&arguments[0]!==void 0?arguments[0]:!1;if(this.level===0)return this.data;var y=this.data;if(!y)return null;var T=this.store.props,A="children";return T&&(A=T.children||"children"),y[A]===void 0&&(y[A]=null),d&&!y[A]&&(y[A]=[]),y[A]},l.prototype.updateChildren=function(){var d=this,y=this.getChildren()||[],T=this.childNodes.map(function(F){return F.data}),A={},L=[];y.forEach(function(F,G){var q=F[bl],te=!!q&&Object(w.arrayFindIndex)(T,function(se){return se[bl]===q})>=0;te?A[q]={index:G,data:F}:L.push({index:G,data:F})}),this.store.lazy||T.forEach(function(F){A[F[bl]]||d.removeChildByData(F)}),L.forEach(function(F){var G=F.index,q=F.data;d.insertChild({data:q},G)}),this.updateLeafState()},l.prototype.loadData=function(d){var y=this,T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(T).length)){this.loading=!0;var A=function(F){y.childNodes=[],y.doCreateChildren(F,T),y.loaded=!0,y.loading=!1,y.updateLeafState(),d&&d.call(y,F)};this.store.load(this,A)}else d&&d.call(this)},SM(l,[{key:"label",get:function(){return xn(this,"label")}},{key:"key",get:function(){var d=this.store.key;return this.data?this.data[d]:null}},{key:"disabled",get:function(){return xn(this,"disabled")}},{key:"nextSibling",get:function(){var d=this.parent;if(d){var y=d.childNodes.indexOf(this);if(y>-1)return d.childNodes[y+1]}return null}},{key:"previousSibling",get:function(){var d=this.parent;if(d){var y=d.childNodes.indexOf(this);if(y>-1)return y>0?d.childNodes[y-1]:null}return null}}]),l}(),I0=TM,P0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l};function DM(l,c){if(!(l instanceof c))throw new TypeError("Cannot call a class as a function")}var kM=function(){function l(c){var d=this;DM(this,l),this.currentNode=null,this.currentNodeKey=null;for(var y in c)c.hasOwnProperty(y)&&(this[y]=c[y]);if(this.nodesMap={},this.root=new I0({data:this.data,store:this}),this.lazy&&this.load){var T=this.load;T(this.root,function(A){d.root.doCreateChildren(A),d._initDefaultCheckedNodes()})}else this._initDefaultCheckedNodes()}return l.prototype.filter=function(d){var y=this.filterNodeMethod,T=this.lazy,A=function L(F){var G=F.root?F.root.childNodes:F.childNodes;if(G.forEach(function(te){te.visible=y.call(te,d,te.data,te),L(te)}),!F.visible&&G.length){var q=!0;q=!G.some(function(te){return te.visible}),F.root?F.root.visible=q===!1:F.visible=q===!1}d&&F.visible&&!F.isLeaf&&!T&&F.expand()};A(this)},l.prototype.setData=function(d){var y=d!==this.root.data;y?(this.root.setData(d),this._initDefaultCheckedNodes()):this.root.updateChildren()},l.prototype.getNode=function(d){if(d instanceof I0)return d;var y=(typeof d>"u"?"undefined":P0(d))!=="object"?d:gg(this.key,d);return this.nodesMap[y]||null},l.prototype.insertBefore=function(d,y){var T=this.getNode(y);T.parent.insertBefore({data:d},T)},l.prototype.insertAfter=function(d,y){var T=this.getNode(y);T.parent.insertAfter({data:d},T)},l.prototype.remove=function(d){var y=this.getNode(d);y&&y.parent&&(y===this.currentNode&&(this.currentNode=null),y.parent.removeChild(y))},l.prototype.append=function(d,y){var T=y?this.getNode(y):this.root;T&&T.insertChild({data:d})},l.prototype._initDefaultCheckedNodes=function(){var d=this,y=this.defaultCheckedKeys||[],T=this.nodesMap;y.forEach(function(A){var L=T[A];L&&L.setChecked(!0,!d.checkStrictly)})},l.prototype._initDefaultCheckedNode=function(d){var y=this.defaultCheckedKeys||[];y.indexOf(d.key)!==-1&&d.setChecked(!0,!this.checkStrictly)},l.prototype.setDefaultCheckedKey=function(d){d!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=d,this._initDefaultCheckedNodes())},l.prototype.registerNode=function(d){var y=this.key;if(!(!y||!d||!d.data)){var T=d.key;T!==void 0&&(this.nodesMap[d.key]=d)}},l.prototype.deregisterNode=function(d){var y=this,T=this.key;!T||!d||!d.data||(d.childNodes.forEach(function(A){y.deregisterNode(A)}),delete this.nodesMap[d.key])},l.prototype.getCheckedNodes=function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,T=[],A=function L(F){var G=F.root?F.root.childNodes:F.childNodes;G.forEach(function(q){(q.checked||y&&q.indeterminate)&&(!d||d&&q.isLeaf)&&T.push(q.data),L(q)})};return A(this),T},l.prototype.getCheckedKeys=function(){var d=this,y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return this.getCheckedNodes(y).map(function(T){return(T||{})[d.key]})},l.prototype.getHalfCheckedNodes=function(){var d=[],y=function T(A){var L=A.root?A.root.childNodes:A.childNodes;L.forEach(function(F){F.indeterminate&&d.push(F.data),T(F)})};return y(this),d},l.prototype.getHalfCheckedKeys=function(){var d=this;return this.getHalfCheckedNodes().map(function(y){return(y||{})[d.key]})},l.prototype._getAllNodes=function(){var d=[],y=this.nodesMap;for(var T in y)y.hasOwnProperty(T)&&d.push(y[T]);return d},l.prototype.updateChildren=function(d,y){var T=this.nodesMap[d];if(T){for(var A=T.childNodes,L=A.length-1;L>=0;L--){var F=A[L];this.remove(F.data)}for(var G=0,q=y.length;G1&&arguments[1]!==void 0?arguments[1]:!1,T=arguments[2],A=this._getAllNodes().sort(function(Ve,Ue){return Ue.level-Ve.level}),L=Object.create(null),F=Object.keys(T);A.forEach(function(Ve){return Ve.setChecked(!1,!1)});for(var G=0,q=A.length;G-1;if(!Ae){te.checked&&!L[se]&&te.setChecked(!1,!1);continue}for(var $e=te.parent;$e&&$e.level>0;)L[$e.data[d]]=!0,$e=$e.parent;if(te.isLeaf||this.checkStrictly){te.setChecked(!0,!1);continue}te.setChecked(!0,!0),y&&function(){te.setChecked(!1,!1);var Ve=function Ue(De){var Et=De.childNodes;Et.forEach(function(pt){pt.isLeaf||pt.setChecked(!1,!1),Ue(pt)})};Ve(te)}()}},l.prototype.setCheckedNodes=function(d){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,T=this.key,A={};d.forEach(function(L){A[(L||{})[T]]=!0}),this._setCheckedKeys(T,y,A)},l.prototype.setCheckedKeys=function(d){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.defaultCheckedKeys=d;var T=this.key,A={};d.forEach(function(L){A[L]=!0}),this._setCheckedKeys(T,y,A)},l.prototype.setDefaultExpandedKeys=function(d){var y=this;d=d||[],this.defaultExpandedKeys=d,d.forEach(function(T){var A=y.getNode(T);A&&A.expand(null,y.autoExpandParent)})},l.prototype.setChecked=function(d,y,T){var A=this.getNode(d);A&&A.setChecked(!!y,T)},l.prototype.getCurrentNode=function(){return this.currentNode},l.prototype.setCurrentNode=function(d){var y=this.currentNode;y&&(y.isCurrent=!1),this.currentNode=d,this.currentNode.isCurrent=!0},l.prototype.setUserCurrentNode=function(d){var y=d[this.key],T=this.nodesMap[y];this.setCurrentNode(T)},l.prototype.setCurrentNodeKey=function(d){if(d==null){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}var y=this.getNode(d);y&&this.setCurrentNode(y)},l}(),MM=kM,L0=function(){var l=this,c=this,d=c.$createElement,y=c._self._c||d;return y("div",{directives:[{name:"show",rawName:"v-show",value:c.node.visible,expression:"node.visible"}],ref:"node",staticClass:"el-tree-node",class:{"is-expanded":c.expanded,"is-current":c.node.isCurrent,"is-hidden":!c.node.visible,"is-focusable":!c.node.disabled,"is-checked":!c.node.disabled&&c.node.checked},attrs:{role:"treeitem",tabindex:"-1","aria-expanded":c.expanded,"aria-disabled":c.node.disabled,"aria-checked":c.node.checked,draggable:c.tree.draggable},on:{click:function(T){return T.stopPropagation(),c.handleClick(T)},contextmenu:function(T){return l.handleContextMenu(T)},dragstart:function(T){return T.stopPropagation(),c.handleDragStart(T)},dragover:function(T){return T.stopPropagation(),c.handleDragOver(T)},dragend:function(T){return T.stopPropagation(),c.handleDragEnd(T)},drop:function(T){return T.stopPropagation(),c.handleDrop(T)}}},[y("div",{staticClass:"el-tree-node__content",style:{"padding-left":(c.node.level-1)*c.tree.indent+"px"}},[y("span",{class:[{"is-leaf":c.node.isLeaf,expanded:!c.node.isLeaf&&c.expanded},"el-tree-node__expand-icon",c.tree.iconClass?c.tree.iconClass:"el-icon-caret-right"],on:{click:function(T){return T.stopPropagation(),c.handleExpandIconClick(T)}}}),c.showCheckbox?y("el-checkbox",{attrs:{indeterminate:c.node.indeterminate,disabled:!!c.node.disabled},on:{change:c.handleCheckChange},nativeOn:{click:function(T){T.stopPropagation()}},model:{value:c.node.checked,callback:function(T){c.$set(c.node,"checked",T)},expression:"node.checked"}}):c._e(),c.node.loading?y("span",{staticClass:"el-tree-node__loading-icon el-icon-loading"}):c._e(),y("node-content",{attrs:{node:c.node}})],1),y("el-collapse-transition",[!c.renderAfterExpand||c.childNodeRendered?y("div",{directives:[{name:"show",rawName:"v-show",value:c.expanded,expression:"expanded"}],staticClass:"el-tree-node__children",attrs:{role:"group","aria-expanded":c.expanded}},c._l(c.node.childNodes,function(T){return y("el-tree-node",{key:c.getNodeKey(T),attrs:{"render-content":c.renderContent,"render-after-expand":c.renderAfterExpand,"show-checkbox":c.showCheckbox,node:T},on:{"node-expand":c.handleChildNodeExpand}})}),1):c._e()])],1)},_g=[];L0._withStripped=!0;var AM={name:"ElTreeNode",componentName:"ElTreeNode",mixins:[B.a],props:{node:{default:function(){return{}}},props:{},renderContent:Function,renderAfterExpand:{type:Boolean,default:!0},showCheckbox:{type:Boolean,default:!1}},components:{ElCollapseTransition:Cu.a,ElCheckbox:wi.a,NodeContent:{props:{node:{required:!0}},render:function(c){var d=this.$parent,y=d.tree,T=this.node,A=T.data,L=T.store;return d.renderContent?d.renderContent.call(d._renderProxy,c,{_self:y.$vnode.context,node:T,data:A,store:L}):y.$scopedSlots.default?y.$scopedSlots.default({node:T,data:A}):c("span",{class:"el-tree-node__label"},[T.label])}}},data:function(){return{tree:null,expanded:!1,childNodeRendered:!1,oldChecked:null,oldIndeterminate:null}},watch:{"node.indeterminate":function(c){this.handleSelectChange(this.node.checked,c)},"node.checked":function(c){this.handleSelectChange(c,this.node.indeterminate)},"node.expanded":function(c){var d=this;this.$nextTick(function(){return d.expanded=c}),c&&(this.childNodeRendered=!0)}},methods:{getNodeKey:function(c){return gg(this.tree.nodeKey,c.data)},handleSelectChange:function(c,d){this.oldChecked!==c&&this.oldIndeterminate!==d&&this.tree.$emit("check-change",this.node.data,c,d),this.oldChecked=c,this.indeterminate=d},handleClick:function(){var c=this.tree.store;c.setCurrentNode(this.node),this.tree.$emit("current-change",c.currentNode?c.currentNode.data:null,c.currentNode),this.tree.currentNode=this,this.tree.expandOnClickNode&&this.handleExpandIconClick(),this.tree.checkOnClickNode&&!this.node.disabled&&this.handleCheckChange(null,{target:{checked:!this.node.checked}}),this.tree.$emit("node-click",this.node.data,this.node,this)},handleContextMenu:function(c){this.tree._events["node-contextmenu"]&&this.tree._events["node-contextmenu"].length>0&&(c.stopPropagation(),c.preventDefault()),this.tree.$emit("node-contextmenu",c,this.node.data,this.node,this)},handleExpandIconClick:function(){this.node.isLeaf||(this.expanded?(this.tree.$emit("node-collapse",this.node.data,this.node,this),this.node.collapse()):(this.node.expand(),this.$emit("node-expand",this.node.data,this.node,this)))},handleCheckChange:function(c,d){var y=this;this.node.setChecked(d.target.checked,!this.tree.checkStrictly),this.$nextTick(function(){var T=y.tree.store;y.tree.$emit("check",y.node.data,{checkedNodes:T.getCheckedNodes(),checkedKeys:T.getCheckedKeys(),halfCheckedNodes:T.getHalfCheckedNodes(),halfCheckedKeys:T.getHalfCheckedKeys()})})},handleChildNodeExpand:function(c,d,y){this.broadcast("ElTreeNode","tree-node-expand",d),this.tree.$emit("node-expand",c,d,y)},handleDragStart:function(c){this.tree.draggable&&this.tree.$emit("tree-node-drag-start",c,this)},handleDragOver:function(c){this.tree.draggable&&(this.tree.$emit("tree-node-drag-over",c,this),c.preventDefault())},handleDrop:function(c){c.preventDefault()},handleDragEnd:function(c){this.tree.draggable&&this.tree.$emit("tree-node-drag-end",c,this)}},created:function(){var c=this,d=this.$parent;d.isTree?this.tree=d:this.tree=d.tree;var y=this.tree;y||console.warn("Can not find node's tree.");var T=y.props||{},A=T.children||"children";this.$watch("node.data."+A,function(){c.node.updateChildren()}),this.node.expanded&&(this.expanded=!0,this.childNodeRendered=!0),this.tree.accordion&&this.$on("tree-node-expand",function(L){c.node!==L&&c.node.collapse()})}},EM=AM,O0=u(EM,L0,_g,!1);O0.options.__file="packages/tree/src/tree-node.vue";var IM=O0.exports,PM={name:"ElTree",mixins:[B.a],components:{ElTreeNode:IM},data:function(){return{store:null,root:null,currentNode:null,treeItems:null,checkboxItems:[],dragState:{showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0}}},props:{data:{type:Array},emptyText:{type:String,default:function(){return Object(Di.t)("el.tree.emptyText")}},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkDescendants:{type:Boolean,default:!1},autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:Function,showCheckbox:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},allowDrag:Function,allowDrop:Function,props:{default:function(){return{children:"children",label:"label",disabled:"disabled"}}},lazy:{type:Boolean,default:!1},highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},iconClass:String},computed:{children:{set:function(c){this.data=c},get:function(){return this.data}},treeItemArray:function(){return Array.prototype.slice.call(this.treeItems)},isEmpty:function(){var c=this.root.childNodes;return!c||c.length===0||c.every(function(d){var y=d.visible;return!y})}},watch:{defaultCheckedKeys:function(c){this.store.setDefaultCheckedKey(c)},defaultExpandedKeys:function(c){this.store.defaultExpandedKeys=c,this.store.setDefaultExpandedKeys(c)},data:function(c){this.store.setData(c)},checkboxItems:function(c){Array.prototype.forEach.call(c,function(d){d.setAttribute("tabindex",-1)})},checkStrictly:function(c){this.store.checkStrictly=c}},methods:{filter:function(c){if(!this.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");this.store.filter(c)},getNodeKey:function(c){return gg(this.nodeKey,c.data)},getNodePath:function(c){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");var d=this.store.getNode(c);if(!d)return[];for(var y=[d.data],T=d.parent;T&&T!==this.root;)y.push(T.data),T=T.parent;return y.reverse()},getCheckedNodes:function(c,d){return this.store.getCheckedNodes(c,d)},getCheckedKeys:function(c){return this.store.getCheckedKeys(c)},getCurrentNode:function(){var c=this.store.getCurrentNode();return c?c.data:null},getCurrentKey:function(){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");var c=this.getCurrentNode();return c?c[this.nodeKey]:null},setCheckedNodes:function(c,d){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");this.store.setCheckedNodes(c,d)},setCheckedKeys:function(c,d){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");this.store.setCheckedKeys(c,d)},setChecked:function(c,d,y){this.store.setChecked(c,d,y)},getHalfCheckedNodes:function(){return this.store.getHalfCheckedNodes()},getHalfCheckedKeys:function(){return this.store.getHalfCheckedKeys()},setCurrentNode:function(c){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");this.store.setUserCurrentNode(c)},setCurrentKey:function(c){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");this.store.setCurrentNodeKey(c)},getNode:function(c){return this.store.getNode(c)},remove:function(c){this.store.remove(c)},append:function(c,d){this.store.append(c,d)},insertBefore:function(c,d){this.store.insertBefore(c,d)},insertAfter:function(c,d){this.store.insertAfter(c,d)},handleNodeExpand:function(c,d,y){this.broadcast("ElTreeNode","tree-node-expand",d),this.$emit("node-expand",c,d,y)},updateKeyChildren:function(c,d){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");this.store.updateChildren(c,d)},initTabIndex:function(){this.treeItems=this.$el.querySelectorAll(".is-focusable[role=treeitem]"),this.checkboxItems=this.$el.querySelectorAll("input[type=checkbox]");var c=this.$el.querySelectorAll(".is-checked[role=treeitem]");if(c.length){c[0].setAttribute("tabindex",0);return}this.treeItems[0]&&this.treeItems[0].setAttribute("tabindex",0)},handleKeydown:function(c){var d=c.target;if(d.className.indexOf("el-tree-node")!==-1){var y=c.keyCode;this.treeItems=this.$el.querySelectorAll(".is-focusable[role=treeitem]");var T=this.treeItemArray.indexOf(d),A=void 0;[38,40].indexOf(y)>-1&&(c.preventDefault(),y===38?A=T!==0?T-1:0:A=T-1&&(c.preventDefault(),d.click());var L=d.querySelector('[type="checkbox"]');[13,32].indexOf(y)>-1&&L&&(c.preventDefault(),L.click())}}},created:function(){var c=this;this.isTree=!0,this.store=new MM({key:this.nodeKey,data:this.data,lazy:this.lazy,props:this.props,load:this.load,currentNodeKey:this.currentNodeKey,checkStrictly:this.checkStrictly,checkDescendants:this.checkDescendants,defaultCheckedKeys:this.defaultCheckedKeys,defaultExpandedKeys:this.defaultExpandedKeys,autoExpandParent:this.autoExpandParent,defaultExpandAll:this.defaultExpandAll,filterNodeMethod:this.filterNodeMethod}),this.root=this.store.root;var d=this.dragState;this.$on("tree-node-drag-start",function(y,T){if(typeof c.allowDrag=="function"&&!c.allowDrag(T.node))return y.preventDefault(),!1;y.dataTransfer.effectAllowed="move";try{y.dataTransfer.setData("text/plain","")}catch{}d.draggingNode=T,c.$emit("node-drag-start",T.node,y)}),this.$on("tree-node-drag-over",function(y,T){var A=xM(y.target,"ElTreeNode"),L=d.dropNode;L&&L!==A&&Object(Ee.removeClass)(L.$el,"is-drop-inner");var F=d.draggingNode;if(!(!F||!A)){var G=!0,q=!0,te=!0,se=!0;typeof c.allowDrop=="function"&&(G=c.allowDrop(F.node,A.node,"prev"),se=q=c.allowDrop(F.node,A.node,"inner"),te=c.allowDrop(F.node,A.node,"next")),y.dataTransfer.dropEffect=q?"move":"none",(G||q||te)&&L!==A&&(L&&c.$emit("node-drag-leave",F.node,L.node,y),c.$emit("node-drag-enter",F.node,A.node,y)),(G||q||te)&&(d.dropNode=A),A.node.nextSibling===F.node&&(te=!1),A.node.previousSibling===F.node&&(G=!1),A.node.contains(F.node,!1)&&(q=!1),(F.node===A.node||F.node.contains(A.node))&&(G=!1,q=!1,te=!1);var Ae=A.$el.getBoundingClientRect(),$e=c.$el.getBoundingClientRect(),Ve=void 0,Ue=G?q?.25:te?.45:1:-1,De=te?q?.75:G?.55:0:1,Et=-9999,pt=y.clientY-Ae.top;ptAe.height*De?Ve="after":q?Ve="inner":Ve="none";var Qt=A.$el.querySelector(".el-tree-node__expand-icon").getBoundingClientRect(),Gt=c.$refs.dropIndicator;Ve==="before"?Et=Qt.top-$e.top:Ve==="after"&&(Et=Qt.bottom-$e.top),Gt.style.top=Et+"px",Gt.style.left=Qt.right-$e.left+"px",Ve==="inner"?Object(Ee.addClass)(A.$el,"is-drop-inner"):Object(Ee.removeClass)(A.$el,"is-drop-inner"),d.showDropIndicator=Ve==="before"||Ve==="after",d.allowDrop=d.showDropIndicator||se,d.dropType=Ve,c.$emit("node-drag-over",F.node,A.node,y)}}),this.$on("tree-node-drag-end",function(y){var T=d.draggingNode,A=d.dropType,L=d.dropNode;if(y.preventDefault(),y.dataTransfer.dropEffect="move",T&&L){var F={data:T.node.data};A!=="none"&&T.node.remove(),A==="before"?L.node.parent.insertBefore(F,L.node):A==="after"?L.node.parent.insertAfter(F,L.node):A==="inner"&&L.node.insertChild(F),A!=="none"&&c.store.registerNode(F),Object(Ee.removeClass)(L.$el,"is-drop-inner"),c.$emit("node-drag-end",T.node,L.node,A,y),A!=="none"&&c.$emit("node-drop",T.node,L.node,A,y)}T&&!L&&c.$emit("node-drag-end",T.node,null,A,y),d.showDropIndicator=!1,d.draggingNode=null,d.dropNode=null,d.allowDrop=!0})},mounted:function(){this.initTabIndex(),this.$el.addEventListener("keydown",this.handleKeydown)},updated:function(){this.treeItems=this.$el.querySelectorAll("[role=treeitem]"),this.checkboxItems=this.$el.querySelectorAll("input[type=checkbox]")}},LM=PM,R0=u(LM,E0,bM,!1);R0.options.__file="packages/tree/src/tree.vue";var Qh=R0.exports;Qh.install=function(l){l.component(Qh.name,Qh)};var N0=Qh,F0=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-alert-fade"}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-alert",class:[l.typeClass,l.center?"is-center":"","is-"+l.effect],attrs:{role:"alert"}},[l.showIcon?d("i",{staticClass:"el-alert__icon",class:[l.iconClass,l.isBigIcon]}):l._e(),d("div",{staticClass:"el-alert__content"},[l.title||l.$slots.title?d("span",{staticClass:"el-alert__title",class:[l.isBoldTitle]},[l._t("title",[l._v(l._s(l.title))])],2):l._e(),l.$slots.default&&!l.description?d("p",{staticClass:"el-alert__description"},[l._t("default")],2):l._e(),l.description&&!l.$slots.default?d("p",{staticClass:"el-alert__description"},[l._v(l._s(l.description))]):l._e(),d("i",{directives:[{name:"show",rawName:"v-show",value:l.closable,expression:"closable"}],staticClass:"el-alert__closebtn",class:{"is-customed":l.closeText!=="","el-icon-close":l.closeText===""},on:{click:function(y){l.close()}}},[l._v(l._s(l.closeText))])])])])},OM=[];F0._withStripped=!0;var RM={success:"el-icon-success",warning:"el-icon-warning",error:"el-icon-error"},NM={name:"ElAlert",props:{title:{type:String,default:""},description:{type:String,default:""},type:{type:String,default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,default:"light",validator:function(c){return["light","dark"].indexOf(c)!==-1}}},data:function(){return{visible:!0}},methods:{close:function(){this.visible=!1,this.$emit("close")}},computed:{typeClass:function(){return"el-alert--"+this.type},iconClass:function(){return RM[this.type]||"el-icon-info"},isBigIcon:function(){return this.description||this.$slots.default?"is-big":""},isBoldTitle:function(){return this.description||this.$slots.default?"is-bold":""}}},FM=NM,$0=u(FM,F0,OM,!1);$0.options.__file="packages/alert/src/main.vue";var Jh=$0.exports;Jh.install=function(l){l.component(Jh.name,Jh)};var B0=Jh,z0=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-notification-fade"}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],class:["el-notification",l.customClass,l.horizontalClass],style:l.positionStyle,attrs:{role:"alert"},on:{mouseenter:function(y){l.clearTimer()},mouseleave:function(y){l.startTimer()},click:l.click}},[l.type||l.iconClass?d("i",{staticClass:"el-notification__icon",class:[l.typeClass,l.iconClass]}):l._e(),d("div",{staticClass:"el-notification__group",class:{"is-with-icon":l.typeClass||l.iconClass}},[d("h2",{staticClass:"el-notification__title",domProps:{textContent:l._s(l.title)}}),d("div",{directives:[{name:"show",rawName:"v-show",value:l.message,expression:"message"}],staticClass:"el-notification__content"},[l._t("default",[l.dangerouslyUseHTMLString?d("p",{domProps:{innerHTML:l._s(l.message)}}):d("p",[l._v(l._s(l.message))])])],2),l.showClose?d("div",{staticClass:"el-notification__closeBtn el-icon-close",on:{click:function(y){return y.stopPropagation(),l.close(y)}}}):l._e()])])])},$M=[];z0._withStripped=!0;var V0={success:"success",info:"info",warning:"warning",error:"error"},bg={data:function(){return{visible:!1,title:"",message:"",duration:4500,type:"",showClose:!0,customClass:"",iconClass:"",onClose:null,onClick:null,closed:!1,verticalOffset:0,timer:null,dangerouslyUseHTMLString:!1,position:"top-right"}},computed:{typeClass:function(){return this.type&&V0[this.type]?"el-icon-"+V0[this.type]:""},horizontalClass:function(){return this.position.indexOf("right")>-1?"right":"left"},verticalProperty:function(){return/^top-/.test(this.position)?"top":"bottom"},positionStyle:function(){var c;return c={},c[this.verticalProperty]=this.verticalOffset+"px",c}},watch:{closed:function(c){c&&(this.visible=!1,this.$el.addEventListener("transitionend",this.destroyElement))}},methods:{destroyElement:function(){this.$el.removeEventListener("transitionend",this.destroyElement),this.$destroy(!0),this.$el.parentNode.removeChild(this.$el)},click:function(){typeof this.onClick=="function"&&this.onClick()},close:function(){this.closed=!0,typeof this.onClose=="function"&&this.onClose()},clearTimer:function(){clearTimeout(this.timer)},startTimer:function(){var c=this;this.duration>0&&(this.timer=setTimeout(function(){c.closed||c.close()},this.duration))},keydown:function(c){c.keyCode===46||c.keyCode===8?this.clearTimer():c.keyCode===27?this.closed||this.close():this.startTimer()}},mounted:function(){var c=this;this.duration>0&&(this.timer=setTimeout(function(){c.closed||c.close()},this.duration)),document.addEventListener("keydown",this.keydown)},beforeDestroy:function(){document.removeEventListener("keydown",this.keydown)}},H0=bg,j0=u(H0,z0,$M,!1);j0.options.__file="packages/notification/src/main.vue";var BM=j0.exports,zM=gr.a.extend(BM),Ai=void 0,va=[],VM=1,ec=function l(c){if(!gr.a.prototype.$isServer){c=Cr()({},c);var d=c.onClose,y="notification_"+VM++,T=c.position||"top-right";c.onClose=function(){l.close(y,d)},Ai=new zM({data:c}),Object(ms.isVNode)(c.message)&&(Ai.$slots.default=[c.message],c.message="REPLACED_BY_VNODE"),Ai.id=y,Ai.$mount(),document.body.appendChild(Ai.$el),Ai.visible=!0,Ai.dom=Ai.$el,Ai.dom.style.zIndex=O.PopupManager.nextZIndex();var A=c.offset||0;return va.filter(function(L){return L.position===T}).forEach(function(L){A+=L.$el.offsetHeight+16}),A+=16,Ai.verticalOffset=A,va.push(Ai),Ai}};["success","warning","info","error"].forEach(function(l){ec[l]=function(c){return(typeof c=="string"||Object(ms.isVNode)(c))&&(c={message:c}),c.type=l,ec(c)}}),ec.close=function(l,c){var d=-1,y=va.length,T=va.filter(function(G,q){return G.id===l?(d=q,!0):!1})[0];if(T&&(typeof c=="function"&&c(T),va.splice(d,1),!(y<=1)))for(var A=T.position,L=T.dom.offsetHeight,F=d;F=0;l--)va[l].close()};var HM=ec,xg=HM,W0=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-slider",class:{"is-vertical":l.vertical,"el-slider--with-input":l.showInput},attrs:{role:"slider","aria-valuemin":l.min,"aria-valuemax":l.max,"aria-orientation":l.vertical?"vertical":"horizontal","aria-disabled":l.sliderDisabled}},[l.showInput&&!l.range?d("el-input-number",{ref:"input",staticClass:"el-slider__input",attrs:{step:l.step,disabled:l.sliderDisabled,controls:l.showInputControls,min:l.min,max:l.max,debounce:l.debounce,size:l.inputSize},on:{change:l.emitChange},model:{value:l.firstValue,callback:function(y){l.firstValue=y},expression:"firstValue"}}):l._e(),d("div",{ref:"slider",staticClass:"el-slider__runway",class:{"show-input":l.showInput,disabled:l.sliderDisabled},style:l.runwayStyle,on:{click:l.onSliderClick}},[d("div",{staticClass:"el-slider__bar",style:l.barStyle}),d("slider-button",{ref:"button1",attrs:{vertical:l.vertical,"tooltip-class":l.tooltipClass},model:{value:l.firstValue,callback:function(y){l.firstValue=y},expression:"firstValue"}}),l.range?d("slider-button",{ref:"button2",attrs:{vertical:l.vertical,"tooltip-class":l.tooltipClass},model:{value:l.secondValue,callback:function(y){l.secondValue=y},expression:"secondValue"}}):l._e(),l._l(l.stops,function(y,T){return l.showStops?d("div",{key:T,staticClass:"el-slider__stop",style:l.getStopStyle(y)}):l._e()}),l.markList.length>0?[d("div",l._l(l.markList,function(y,T){return d("div",{key:T,staticClass:"el-slider__stop el-slider__marks-stop",style:l.getStopStyle(y.position)})}),0),d("div",{staticClass:"el-slider__marks"},l._l(l.markList,function(y,T){return d("slider-marker",{key:T,style:l.getStopStyle(y.position),attrs:{mark:y.mark}})}),1)]:l._e()],2)],1)},ed=[];W0._withStripped=!0;var jM=n(42),WM=n.n(jM),G0=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{ref:"button",staticClass:"el-slider__button-wrapper",class:{hover:l.hovering,dragging:l.dragging},style:l.wrapperStyle,attrs:{tabindex:"0"},on:{mouseenter:l.handleMouseEnter,mouseleave:l.handleMouseLeave,mousedown:l.onButtonDown,touchstart:l.onButtonDown,focus:l.handleMouseEnter,blur:l.handleMouseLeave,keydown:[function(y){return!("button"in y)&&l._k(y.keyCode,"left",37,y.key,["Left","ArrowLeft"])||"button"in y&&y.button!==0?null:l.onLeftKeyDown(y)},function(y){return!("button"in y)&&l._k(y.keyCode,"right",39,y.key,["Right","ArrowRight"])||"button"in y&&y.button!==2?null:l.onRightKeyDown(y)},function(y){return!("button"in y)&&l._k(y.keyCode,"down",40,y.key,["Down","ArrowDown"])?null:(y.preventDefault(),l.onLeftKeyDown(y))},function(y){return!("button"in y)&&l._k(y.keyCode,"up",38,y.key,["Up","ArrowUp"])?null:(y.preventDefault(),l.onRightKeyDown(y))}]}},[d("el-tooltip",{ref:"tooltip",attrs:{placement:"top","popper-class":l.tooltipClass,disabled:!l.showTooltip}},[d("span",{attrs:{slot:"content"},slot:"content"},[l._v(l._s(l.formatValue))]),d("div",{staticClass:"el-slider__button",class:{hover:l.hovering,dragging:l.dragging}})])],1)},GM=[];G0._withStripped=!0;var UM={name:"ElSliderButton",components:{ElTooltip:nh.a},props:{value:{type:Number,default:0},vertical:{type:Boolean,default:!1},tooltipClass:String},data:function(){return{hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:null,oldValue:this.value}},computed:{disabled:function(){return this.$parent.sliderDisabled},max:function(){return this.$parent.max},min:function(){return this.$parent.min},step:function(){return this.$parent.step},showTooltip:function(){return this.$parent.showTooltip},precision:function(){return this.$parent.precision},currentPosition:function(){return(this.value-this.min)/(this.max-this.min)*100+"%"},enableFormat:function(){return this.$parent.formatTooltip instanceof Function},formatValue:function(){return this.enableFormat&&this.$parent.formatTooltip(this.value)||this.value},wrapperStyle:function(){return this.vertical?{bottom:this.currentPosition}:{left:this.currentPosition}}},watch:{dragging:function(c){this.$parent.dragging=c}},methods:{displayTooltip:function(){this.$refs.tooltip&&(this.$refs.tooltip.showPopper=!0)},hideTooltip:function(){this.$refs.tooltip&&(this.$refs.tooltip.showPopper=!1)},handleMouseEnter:function(){this.hovering=!0,this.displayTooltip()},handleMouseLeave:function(){this.hovering=!1,this.hideTooltip()},onButtonDown:function(c){this.disabled||(c.preventDefault(),this.onDragStart(c),window.addEventListener("mousemove",this.onDragging),window.addEventListener("touchmove",this.onDragging),window.addEventListener("mouseup",this.onDragEnd),window.addEventListener("touchend",this.onDragEnd),window.addEventListener("contextmenu",this.onDragEnd))},onLeftKeyDown:function(){this.disabled||(this.newPosition=parseFloat(this.currentPosition)-this.step/(this.max-this.min)*100,this.setPosition(this.newPosition),this.$parent.emitChange())},onRightKeyDown:function(){this.disabled||(this.newPosition=parseFloat(this.currentPosition)+this.step/(this.max-this.min)*100,this.setPosition(this.newPosition),this.$parent.emitChange())},onDragStart:function(c){this.dragging=!0,this.isClick=!0,c.type==="touchstart"&&(c.clientY=c.touches[0].clientY,c.clientX=c.touches[0].clientX),this.vertical?this.startY=c.clientY:this.startX=c.clientX,this.startPosition=parseFloat(this.currentPosition),this.newPosition=this.startPosition},onDragging:function(c){if(this.dragging){this.isClick=!1,this.displayTooltip(),this.$parent.resetSize();var d=0;c.type==="touchmove"&&(c.clientY=c.touches[0].clientY,c.clientX=c.touches[0].clientX),this.vertical?(this.currentY=c.clientY,d=(this.startY-this.currentY)/this.$parent.sliderSize*100):(this.currentX=c.clientX,d=(this.currentX-this.startX)/this.$parent.sliderSize*100),this.newPosition=this.startPosition+d,this.setPosition(this.newPosition)}},onDragEnd:function(){var c=this;this.dragging&&(setTimeout(function(){c.dragging=!1,c.hideTooltip(),c.isClick||(c.setPosition(c.newPosition),c.$parent.emitChange())},0),window.removeEventListener("mousemove",this.onDragging),window.removeEventListener("touchmove",this.onDragging),window.removeEventListener("mouseup",this.onDragEnd),window.removeEventListener("touchend",this.onDragEnd),window.removeEventListener("contextmenu",this.onDragEnd))},setPosition:function(c){var d=this;if(!(c===null||isNaN(c))){c<0?c=0:c>100&&(c=100);var y=100/((this.max-this.min)/this.step),T=Math.round(c/y),A=T*y*(this.max-this.min)*.01+this.min;A=parseFloat(A.toFixed(this.precision)),this.$emit("input",A),this.$nextTick(function(){d.displayTooltip(),d.$refs.tooltip&&d.$refs.tooltip.updatePopper()}),!this.dragging&&this.value!==this.oldValue&&(this.oldValue=this.value)}}}},YM=UM,U0=u(YM,G0,GM,!1);U0.options.__file="packages/slider/src/button.vue";var qM=U0.exports,KM={name:"ElMarker",props:{mark:{type:[String,Object]}},render:function(){var c=arguments[0],d=typeof this.mark=="string"?this.mark:this.mark.label;return c("div",{class:"el-slider__marks-text",style:this.mark.style||{}},[d])}},XM={name:"ElSlider",mixins:[B.a],inject:{elForm:{default:""}},props:{min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},value:{type:[Number,Array],default:0},showInput:{type:Boolean,default:!1},showInputControls:{type:Boolean,default:!0},inputSize:{type:String,default:"small"},showStops:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!0},formatTooltip:Function,disabled:{type:Boolean,default:!1},range:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},height:{type:String},debounce:{type:Number,default:300},label:{type:String},tooltipClass:String,marks:Object},components:{ElInputNumber:WM.a,SliderButton:qM,SliderMarker:KM},data:function(){return{firstValue:null,secondValue:null,oldValue:null,dragging:!1,sliderSize:1}},watch:{value:function(c,d){this.dragging||Array.isArray(c)&&Array.isArray(d)&&c.every(function(y,T){return y===d[T]})||this.setValues()},dragging:function(c){c||this.setValues()},firstValue:function(c){this.range?this.$emit("input",[this.minValue,this.maxValue]):this.$emit("input",c)},secondValue:function(){this.range&&this.$emit("input",[this.minValue,this.maxValue])},min:function(){this.setValues()},max:function(){this.setValues()}},methods:{valueChanged:function(){var c=this;return this.range?![this.minValue,this.maxValue].every(function(d,y){return d===c.oldValue[y]}):this.value!==this.oldValue},setValues:function(){if(this.min>this.max){console.error("[Element Error][Slider]min should not be greater than max.");return}var c=this.value;this.range&&Array.isArray(c)?c[1]this.max?this.$emit("input",[this.max,this.max]):c[0]this.max?this.$emit("input",[c[0],this.max]):(this.firstValue=c[0],this.secondValue=c[1],this.valueChanged()&&(this.dispatch("ElFormItem","el.form.change",[this.minValue,this.maxValue]),this.oldValue=c.slice())):!this.range&&typeof c=="number"&&!isNaN(c)&&(cthis.max?this.$emit("input",this.max):(this.firstValue=c,this.valueChanged()&&(this.dispatch("ElFormItem","el.form.change",c),this.oldValue=c)))},setPosition:function(c){var d=this.min+c*(this.max-this.min)/100;if(!this.range){this.$refs.button1.setPosition(c);return}var y=void 0;Math.abs(this.minValue-d)this.secondValue?"button1":"button2",this.$refs[y].setPosition(c)},onSliderClick:function(c){if(!(this.sliderDisabled||this.dragging)){if(this.resetSize(),this.vertical){var d=this.$refs.slider.getBoundingClientRect().bottom;this.setPosition((d-c.clientY)/this.sliderSize*100)}else{var y=this.$refs.slider.getBoundingClientRect().left;this.setPosition((c.clientX-y)/this.sliderSize*100)}this.emitChange()}},resetSize:function(){this.$refs.slider&&(this.sliderSize=this.$refs.slider["client"+(this.vertical?"Height":"Width")])},emitChange:function(){var c=this;this.$nextTick(function(){c.$emit("change",c.range?[c.minValue,c.maxValue]:c.value)})},getStopStyle:function(c){return this.vertical?{bottom:c+"%"}:{left:c+"%"}}},computed:{stops:function(){var c=this;if(!this.showStops||this.min>this.max)return[];if(this.step===0)return[];for(var d=(this.max-this.min)/this.step,y=100*this.step/(this.max-this.min),T=[],A=1;A100*(c.maxValue-c.min)/(c.max-c.min)}):T.filter(function(L){return L>100*(c.firstValue-c.min)/(c.max-c.min)})},markList:function(){var c=this;if(!this.marks)return[];var d=Object.keys(this.marks);return d.map(parseFloat).sort(function(y,T){return y-T}).filter(function(y){return y<=c.max&&y>=c.min}).map(function(y){return{point:y,position:(y-c.min)*100/(c.max-c.min),mark:c.marks[y]}})},minValue:function(){return Math.min(this.firstValue,this.secondValue)},maxValue:function(){return Math.max(this.firstValue,this.secondValue)},barSize:function(){return this.range?100*(this.maxValue-this.minValue)/(this.max-this.min)+"%":100*(this.firstValue-this.min)/(this.max-this.min)+"%"},barStart:function(){return this.range?100*(this.minValue-this.min)/(this.max-this.min)+"%":"0%"},precision:function(){var c=[this.min,this.max,this.step].map(function(d){var y=(""+d).split(".")[1];return y?y.length:0});return Math.max.apply(null,c)},runwayStyle:function(){return this.vertical?{height:this.height}:{}},barStyle:function(){return this.vertical?{height:this.barSize,bottom:this.barStart}:{width:this.barSize,left:this.barStart}},sliderDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},mounted:function(){var c=void 0;this.range?(Array.isArray(this.value)?(this.firstValue=Math.max(this.min,this.value[0]),this.secondValue=Math.min(this.max,this.value[1])):(this.firstValue=this.min,this.secondValue=this.max),this.oldValue=[this.firstValue,this.secondValue],c=this.firstValue+"-"+this.secondValue):(typeof this.value!="number"||isNaN(this.value)?this.firstValue=this.min:this.firstValue=Math.min(this.max,Math.max(this.min,this.value)),this.oldValue=this.firstValue,c=this.firstValue),this.$el.setAttribute("aria-valuetext",c),this.$el.setAttribute("aria-label",this.label?this.label:"slider between "+this.min+" and "+this.max),this.resetSize(),window.addEventListener("resize",this.resetSize)},beforeDestroy:function(){window.removeEventListener("resize",this.resetSize)}},ZM=XM,Y0=u(ZM,W0,ed,!1);Y0.options.__file="packages/slider/src/main.vue";var td=Y0.exports;td.install=function(l){l.component(td.name,td)};var q0=td,K0=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-loading-fade"},on:{"after-leave":l.handleAfterLeave}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-loading-mask",class:[l.customClass,{"is-fullscreen":l.fullscreen}],style:{backgroundColor:l.background||""}},[d("div",{staticClass:"el-loading-spinner"},[l.spinner?d("i",{class:l.spinner}):d("svg",{staticClass:"circular",attrs:{viewBox:"25 25 50 50"}},[d("circle",{staticClass:"path",attrs:{cx:"50",cy:"50",r:"20",fill:"none"}})]),l.text?d("p",{staticClass:"el-loading-text"},[l._v(l._s(l.text))]):l._e()])])])},QM=[];K0._withStripped=!0;var X0={data:function(){return{text:null,spinner:null,background:null,fullscreen:!0,visible:!1,customClass:""}},methods:{handleAfterLeave:function(){this.$emit("after-leave")},setText:function(c){this.text=c}}},Z0=X0,Q0=u(Z0,K0,QM,!1);Q0.options.__file="packages/loading/src/loading.vue";var J0=Q0.exports,JM=n(33),ex=n.n(JM),rd=gr.a.extend(J0),tx={};tx.install=function(l){if(!l.prototype.$isServer){var c=function(T,A){A.value?l.nextTick(function(){A.modifiers.fullscreen?(T.originalPosition=Object(Ee.getStyle)(document.body,"position"),T.originalOverflow=Object(Ee.getStyle)(document.body,"overflow"),T.maskStyle.zIndex=O.PopupManager.nextZIndex(),Object(Ee.addClass)(T.mask,"is-fullscreen"),d(document.body,T,A)):(Object(Ee.removeClass)(T.mask,"is-fullscreen"),A.modifiers.body?(T.originalPosition=Object(Ee.getStyle)(document.body,"position"),["top","left"].forEach(function(L){var F=L==="top"?"scrollTop":"scrollLeft";T.maskStyle[L]=T.getBoundingClientRect()[L]+document.body[F]+document.documentElement[F]-parseInt(Object(Ee.getStyle)(document.body,"margin-"+L),10)+"px"}),["height","width"].forEach(function(L){T.maskStyle[L]=T.getBoundingClientRect()[L]+"px"}),d(document.body,T,A)):(T.originalPosition=Object(Ee.getStyle)(T,"position"),d(T,T,A)))}):(ex()(T.instance,function(L){if(T.instance.hiding){T.domVisible=!1;var F=A.modifiers.fullscreen||A.modifiers.body?document.body:T;Object(Ee.removeClass)(F,"el-loading-parent--relative"),Object(Ee.removeClass)(F,"el-loading-parent--hidden"),T.instance.hiding=!1}},300,!0),T.instance.visible=!1,T.instance.hiding=!0)},d=function(T,A,L){!A.domVisible&&Object(Ee.getStyle)(A,"display")!=="none"&&Object(Ee.getStyle)(A,"visibility")!=="hidden"?(Object.keys(A.maskStyle).forEach(function(F){A.mask.style[F]=A.maskStyle[F]}),A.originalPosition!=="absolute"&&A.originalPosition!=="fixed"&&A.originalPosition!=="sticky"&&Object(Ee.addClass)(T,"el-loading-parent--relative"),L.modifiers.fullscreen&&L.modifiers.lock&&Object(Ee.addClass)(T,"el-loading-parent--hidden"),A.domVisible=!0,T.appendChild(A.mask),l.nextTick(function(){A.instance.hiding?A.instance.$emit("after-leave"):A.instance.visible=!0}),A.domInserted=!0):A.domVisible&&A.instance.hiding===!0&&(A.instance.visible=!0,A.instance.hiding=!1)};l.directive("loading",{bind:function(T,A,L){var F=T.getAttribute("element-loading-text"),G=T.getAttribute("element-loading-spinner"),q=T.getAttribute("element-loading-background"),te=T.getAttribute("element-loading-custom-class"),se=L.context,Ae=new rd({el:document.createElement("div"),data:{text:se&&se[F]||F,spinner:se&&se[G]||G,background:se&&se[q]||q,customClass:se&&se[te]||te,fullscreen:!!A.modifiers.fullscreen}});T.instance=Ae,T.mask=Ae.$el,T.maskStyle={},A.value&&c(T,A)},update:function(T,A){T.instance.setText(T.getAttribute("element-loading-text")),A.oldValue!==A.value&&c(T,A)},unbind:function(T,A){T.domInserted&&(T.mask&&T.mask.parentNode&&T.mask.parentNode.removeChild(T.mask),c(T,{value:!1,modifiers:A.modifiers})),T.instance&&T.instance.$destroy()}})}};var rx=tx,nd=gr.a.extend(J0),eA={text:null,fullscreen:!0,body:!1,lock:!1,customClass:""},id=void 0;nd.prototype.originalPosition="",nd.prototype.originalOverflow="",nd.prototype.close=function(){var l=this;this.fullscreen&&(id=void 0),ex()(this,function(c){var d=l.fullscreen||l.body?document.body:l.target;Object(Ee.removeClass)(d,"el-loading-parent--relative"),Object(Ee.removeClass)(d,"el-loading-parent--hidden"),l.$el&&l.$el.parentNode&&l.$el.parentNode.removeChild(l.$el),l.$destroy()},300),this.visible=!1};var tA=function(c,d,y){var T={};c.fullscreen?(y.originalPosition=Object(Ee.getStyle)(document.body,"position"),y.originalOverflow=Object(Ee.getStyle)(document.body,"overflow"),T.zIndex=O.PopupManager.nextZIndex()):c.body?(y.originalPosition=Object(Ee.getStyle)(document.body,"position"),["top","left"].forEach(function(A){var L=A==="top"?"scrollTop":"scrollLeft";T[A]=c.target.getBoundingClientRect()[A]+document.body[L]+document.documentElement[L]+"px"}),["height","width"].forEach(function(A){T[A]=c.target.getBoundingClientRect()[A]+"px"})):y.originalPosition=Object(Ee.getStyle)(d,"position"),Object.keys(T).forEach(function(A){y.$el.style[A]=T[A]})},rA=function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!gr.a.prototype.$isServer){if(c=Cr()({},eA,c),typeof c.target=="string"&&(c.target=document.querySelector(c.target)),c.target=c.target||document.body,c.target!==document.body?c.fullscreen=!1:c.body=!0,c.fullscreen&&id)return id;var d=c.body?document.body:c.target,y=new nd({el:document.createElement("div"),data:c});return tA(c,d,y),y.originalPosition!=="absolute"&&y.originalPosition!=="fixed"&&y.originalPosition!=="sticky"&&Object(Ee.addClass)(d,"el-loading-parent--relative"),c.fullscreen&&c.lock&&Object(Ee.addClass)(d,"el-loading-parent--hidden"),d.appendChild(y.$el),gr.a.nextTick(function(){y.visible=!0}),c.fullscreen&&(id=y),y}},nx=rA,Sg={install:function(c){c.use(rx),c.prototype.$loading=nx},directive:rx,service:nx},ix=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("i",{class:"el-icon-"+l.name})},nA=[];ix._withStripped=!0;var ad={name:"ElIcon",props:{name:String}},iA=ad,wg=u(iA,ix,nA,!1);wg.options.__file="packages/icon/src/icon.vue";var tc=wg.exports;tc.install=function(l){l.component(tc.name,tc)};var od=tc,rc={name:"ElRow",componentName:"ElRow",props:{tag:{type:String,default:"div"},gutter:Number,type:String,justify:{type:String,default:"start"},align:String},computed:{style:function(){var c={};return this.gutter&&(c.marginLeft="-"+this.gutter/2+"px",c.marginRight=c.marginLeft),c}},render:function(c){return c(this.tag,{class:["el-row",this.justify!=="start"?"is-justify-"+this.justify:"",this.align?"is-align-"+this.align:"",{"el-row--flex":this.type==="flex"}],style:this.style},this.$slots.default)}};rc.install=function(l){l.component(rc.name,rc)};var Cg=rc,ax=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},nc={name:"ElCol",props:{span:{type:Number,default:24},tag:{type:String,default:"div"},offset:Number,pull:Number,push:Number,xs:[Number,Object],sm:[Number,Object],md:[Number,Object],lg:[Number,Object],xl:[Number,Object]},computed:{gutter:function(){for(var c=this.$parent;c&&c.$options.componentName!=="ElRow";)c=c.$parent;return c?c.gutter:0}},render:function(c){var d=this,y=[],T={};return this.gutter&&(T.paddingLeft=this.gutter/2+"px",T.paddingRight=T.paddingLeft),["span","offset","pull","push"].forEach(function(A){(d[A]||d[A]===0)&&y.push(A!=="span"?"el-col-"+A+"-"+d[A]:"el-col-"+d[A])}),["xs","sm","md","lg","xl"].forEach(function(A){if(typeof d[A]=="number")y.push("el-col-"+A+"-"+d[A]);else if(ax(d[A])==="object"){var L=d[A];Object.keys(L).forEach(function(F){y.push(F!=="span"?"el-col-"+A+"-"+F+"-"+L[F]:"el-col-"+A+"-"+L[F])})}}),c(this.tag,{class:["el-col",y],style:T},this.$slots.default)}};nc.install=function(l){l.component(nc.name,nc)};var ox=nc,sx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition-group",{class:["el-upload-list","el-upload-list--"+l.listType,{"is-disabled":l.disabled}],attrs:{tag:"ul",name:"el-list"}},l._l(l.files,function(y){return d("li",{key:y.uid,class:["el-upload-list__item","is-"+y.status,l.focusing?"focusing":""],attrs:{tabindex:"0"},on:{keydown:function(T){if(!("button"in T)&&l._k(T.keyCode,"delete",[8,46],T.key,["Backspace","Delete","Del"]))return null;!l.disabled&&l.$emit("remove",y)},focus:function(T){l.focusing=!0},blur:function(T){l.focusing=!1},click:function(T){l.focusing=!1}}},[l._t("default",[y.status!=="uploading"&&["picture-card","picture"].indexOf(l.listType)>-1?d("img",{staticClass:"el-upload-list__item-thumbnail",attrs:{src:y.url,alt:""}}):l._e(),d("a",{staticClass:"el-upload-list__item-name",on:{click:function(T){l.handleClick(y)}}},[d("i",{staticClass:"el-icon-document"}),l._v(l._s(y.name)+` - `)]),d("label",{staticClass:"el-upload-list__item-status-label"},[d("i",{class:{"el-icon-upload-success":!0,"el-icon-circle-check":l.listType==="text","el-icon-check":["picture-card","picture"].indexOf(l.listType)>-1}})]),l.disabled?l._e():d("i",{staticClass:"el-icon-close",on:{click:function(T){l.$emit("remove",y)}}}),l.disabled?l._e():d("i",{staticClass:"el-icon-close-tip"},[l._v(l._s(l.t("el.upload.deleteTip")))]),y.status==="uploading"?d("el-progress",{attrs:{type:l.listType==="picture-card"?"circle":"line","stroke-width":l.listType==="picture-card"?6:2,percentage:l.parsePercentage(y.percentage)}}):l._e(),l.listType==="picture-card"?d("span",{staticClass:"el-upload-list__item-actions"},[l.handlePreview&&l.listType==="picture-card"?d("span",{staticClass:"el-upload-list__item-preview",on:{click:function(T){l.handlePreview(y)}}},[d("i",{staticClass:"el-icon-zoom-in"})]):l._e(),l.disabled?l._e():d("span",{staticClass:"el-upload-list__item-delete",on:{click:function(T){l.$emit("remove",y)}}},[d("i",{staticClass:"el-icon-delete"})])]):l._e()],{file:y})],2)}),0)},aA=[];sx._withStripped=!0;var sd=n(34),ic=n.n(sd),oA={name:"ElUploadList",mixins:[C.a],data:function(){return{focusing:!1}},components:{ElProgress:ic.a},props:{files:{type:Array,default:function(){return[]}},disabled:{type:Boolean,default:!1},handlePreview:Function,listType:String},methods:{parsePercentage:function(c){return parseInt(c,10)},handleClick:function(c){this.handlePreview&&this.handlePreview(c)}}},sA=oA,ld=u(sA,sx,aA,!1);ld.options.__file="packages/upload/src/upload-list.vue";var Tg=ld.exports,lA=n(24),ac=n.n(lA);function uA(l,c,d){var y=void 0;d.response?y=""+(d.response.error||d.response):d.responseText?y=""+d.responseText:y="fail to post "+l+" "+d.status;var T=new Error(y);return T.status=d.status,T.method="post",T.url=l,T}function cA(l){var c=l.responseText||l.response;if(!c)return c;try{return JSON.parse(c)}catch{return c}}function fA(l){if(!(typeof XMLHttpRequest>"u")){var c=new XMLHttpRequest,d=l.action;c.upload&&(c.upload.onprogress=function(F){F.total>0&&(F.percent=F.loaded/F.total*100),l.onProgress(F)});var y=new FormData;l.data&&Object.keys(l.data).forEach(function(L){y.append(L,l.data[L])}),y.append(l.filename,l.file,l.file.name),c.onerror=function(F){l.onError(F)},c.onload=function(){if(c.status<200||c.status>=300)return l.onError(uA(d,l,c));l.onSuccess(cA(c))},c.open("post",d,!0),l.withCredentials&&"withCredentials"in c&&(c.withCredentials=!0);var T=l.headers||{};for(var A in T)T.hasOwnProperty(A)&&T[A]!==null&&c.setRequestHeader(A,T[A]);return c.send(y),c}}var lx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-upload-dragger",class:{"is-dragover":l.dragover},on:{drop:function(y){return y.preventDefault(),l.onDrop(y)},dragover:function(y){return y.preventDefault(),l.onDragover(y)},dragleave:function(y){y.preventDefault(),l.dragover=!1}}},[l._t("default")],2)},hA=[];lx._withStripped=!0;var dA={name:"ElUploadDrag",props:{disabled:Boolean},inject:{uploader:{default:""}},data:function(){return{dragover:!1}},methods:{onDragover:function(){this.disabled||(this.dragover=!0)},onDrop:function(c){if(!(this.disabled||!this.uploader)){var d=this.uploader.accept;if(this.dragover=!1,!d){this.$emit("file",c.dataTransfer.files);return}this.$emit("file",[].slice.call(c.dataTransfer.files).filter(function(y){var T=y.type,A=y.name,L=A.indexOf(".")>-1?"."+A.split(".").pop():"",F=T.replace(/\/.*$/,"");return d.split(",").map(function(G){return G.trim()}).filter(function(G){return G}).some(function(G){return/\..+$/.test(G)?L===G:/\/\*$/.test(G)?F===G.replace(/\/\*$/,""):/^[^\/]+\/[^\/]+$/.test(G)?T===G:!1})}))}}}},pA=dA,ux=u(pA,lx,hA,!1);ux.options.__file="packages/upload/src/upload-dragger.vue";var vA=ux.exports,gA={inject:["uploader"],components:{UploadDragger:vA},props:{type:String,action:{type:String,required:!0},name:{type:String,default:"file"},data:Object,headers:Object,withCredentials:Boolean,multiple:Boolean,accept:String,onStart:Function,onProgress:Function,onSuccess:Function,onError:Function,beforeUpload:Function,drag:Boolean,onPreview:{type:Function,default:function(){}},onRemove:{type:Function,default:function(){}},fileList:Array,autoUpload:Boolean,listType:String,httpRequest:{type:Function,default:fA},disabled:Boolean,limit:Number,onExceed:Function},data:function(){return{mouseover:!1,reqs:{}}},methods:{isImage:function(c){return c.indexOf("image")!==-1},handleChange:function(c){var d=c.target.files;d&&this.uploadFiles(d)},uploadFiles:function(c){var d=this;if(this.limit&&this.fileList.length+c.length>this.limit){this.onExceed&&this.onExceed(c,this.fileList);return}var y=Array.prototype.slice.call(c);this.multiple||(y=y.slice(0,1)),y.length!==0&&y.forEach(function(T){d.onStart(T),d.autoUpload&&d.upload(T)})},upload:function(c){var d=this;if(this.$refs.input.value=null,!this.beforeUpload)return this.post(c);var y=this.beforeUpload(c);y&&y.then?y.then(function(T){var A=Object.prototype.toString.call(T);if(A==="[object File]"||A==="[object Blob]"){A==="[object Blob]"&&(T=new File([T],c.name,{type:c.type}));for(var L in c)c.hasOwnProperty(L)&&(T[L]=c[L]);d.post(T)}else d.post(c)},function(){d.onRemove(null,c)}):y!==!1?this.post(c):this.onRemove(null,c)},abort:function(c){var d=this.reqs;if(c){var y=c;c.uid&&(y=c.uid),d[y]&&d[y].abort()}else Object.keys(d).forEach(function(T){d[T]&&d[T].abort(),delete d[T]})},post:function(c){var d=this,y=c.uid,T={headers:this.headers,withCredentials:this.withCredentials,file:c,data:this.data,filename:this.name,action:this.action,onProgress:function(F){d.onProgress(F,c)},onSuccess:function(F){d.onSuccess(F,c),delete d.reqs[y]},onError:function(F){d.onError(F,c),delete d.reqs[y]}},A=this.httpRequest(T);this.reqs[y]=A,A&&A.then&&A.then(T.onSuccess,T.onError)},handleClick:function(){this.disabled||(this.$refs.input.value=null,this.$refs.input.click())},handleKeydown:function(c){c.target===c.currentTarget&&(c.keyCode===13||c.keyCode===32)&&this.handleClick()}},render:function(c){var d=this.handleClick,y=this.drag,T=this.name,A=this.handleChange,L=this.multiple,F=this.accept,G=this.listType,q=this.uploadFiles,te=this.disabled,se=this.handleKeydown,Ae={class:{"el-upload":!0},on:{click:d,keydown:se}};return Ae.class["el-upload--"+G]=!0,c("div",ac()([Ae,{attrs:{tabindex:"0"}}]),[y?c("upload-dragger",{attrs:{disabled:te},on:{file:q}},[this.$slots.default]):this.$slots.default,c("input",{class:"el-upload__input",attrs:{type:"file",name:T,multiple:L,accept:F},ref:"input",on:{change:A}})])}},Ui=gA,mA,yA,Mo=u(Ui,mA,yA,!1);Mo.options.__file="packages/upload/src/upload.vue";var Dt=Mo.exports;function _s(){}var Pn={name:"ElUpload",mixins:[V.a],components:{ElProgress:ic.a,UploadList:Tg,Upload:Dt},provide:function(){return{uploader:this}},inject:{elForm:{default:""}},props:{action:{type:String,required:!0},headers:{type:Object,default:function(){return{}}},data:Object,multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,dragger:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:String,type:{type:String,default:"select"},beforeUpload:Function,beforeRemove:Function,onRemove:{type:Function,default:_s},onChange:{type:Function,default:_s},onPreview:{type:Function},onSuccess:{type:Function,default:_s},onProgress:{type:Function,default:_s},onError:{type:Function,default:_s},fileList:{type:Array,default:function(){return[]}},autoUpload:{type:Boolean,default:!0},listType:{type:String,default:"text"},httpRequest:Function,disabled:Boolean,limit:Number,onExceed:{type:Function,default:_s}},data:function(){return{uploadFiles:[],dragOver:!1,draging:!1,tempIndex:1}},computed:{uploadDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{listType:function(c){(c==="picture-card"||c==="picture")&&(this.uploadFiles=this.uploadFiles.map(function(d){if(!d.url&&d.raw)try{d.url=URL.createObjectURL(d.raw)}catch(y){console.error("[Element Error][Upload]",y)}return d}))},fileList:{immediate:!0,handler:function(c){var d=this;this.uploadFiles=c.map(function(y){return y.uid=y.uid||Date.now()+d.tempIndex++,y.status=y.status||"success",y})}}},methods:{handleStart:function(c){c.uid=Date.now()+this.tempIndex++;var d={status:"ready",name:c.name,size:c.size,percentage:0,uid:c.uid,raw:c};if(this.listType==="picture-card"||this.listType==="picture")try{d.url=URL.createObjectURL(c)}catch(y){console.error("[Element Error][Upload]",y);return}this.uploadFiles.push(d),this.onChange(d,this.uploadFiles)},handleProgress:function(c,d){var y=this.getFile(d);this.onProgress(c,y,this.uploadFiles),y.status="uploading",y.percentage=c.percent||0},handleSuccess:function(c,d){var y=this.getFile(d);y&&(y.status="success",y.response=c,this.onSuccess(c,y,this.uploadFiles),this.onChange(y,this.uploadFiles))},handleError:function(c,d){var y=this.getFile(d),T=this.uploadFiles;y.status="fail",T.splice(T.indexOf(y),1),this.onError(c,y,this.uploadFiles),this.onChange(y,this.uploadFiles)},handleRemove:function(c,d){var y=this;d&&(c=this.getFile(d));var T=function(){y.abort(c);var F=y.uploadFiles;F.splice(F.indexOf(c),1),y.onRemove(c,F)};if(!this.beforeRemove)T();else if(typeof this.beforeRemove=="function"){var A=this.beforeRemove(c,this.uploadFiles);A&&A.then?A.then(function(){T()},_s):A!==!1&&T()}},getFile:function(c){var d=this.uploadFiles,y=void 0;return d.every(function(T){return y=c.uid===T.uid?T:null,!y}),y},abort:function(c){this.$refs["upload-inner"].abort(c)},clearFiles:function(){this.uploadFiles=[]},submit:function(){var c=this;this.uploadFiles.filter(function(d){return d.status==="ready"}).forEach(function(d){c.$refs["upload-inner"].upload(d.raw)})},getMigratingConfig:function(){return{props:{"default-file-list":"default-file-list is renamed to file-list.","show-upload-list":"show-upload-list is renamed to show-file-list.","thumbnail-mode":"thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan"}}}},beforeDestroy:function(){this.uploadFiles.forEach(function(c){c.url&&c.url.indexOf("blob:")===0&&URL.revokeObjectURL(c.url)})},render:function(c){var d=this,y=void 0;this.showFileList&&(y=c(Tg,{attrs:{disabled:this.uploadDisabled,listType:this.listType,files:this.uploadFiles,handlePreview:this.onPreview},on:{remove:this.handleRemove}},[function(F){if(d.$scopedSlots.file)return d.$scopedSlots.file({file:F.file})}]));var T={props:{type:this.type,drag:this.drag,action:this.action,multiple:this.multiple,"before-upload":this.beforeUpload,"with-credentials":this.withCredentials,headers:this.headers,name:this.name,data:this.data,accept:this.accept,fileList:this.uploadFiles,autoUpload:this.autoUpload,listType:this.listType,disabled:this.uploadDisabled,limit:this.limit,"on-exceed":this.onExceed,"on-start":this.handleStart,"on-progress":this.handleProgress,"on-success":this.handleSuccess,"on-error":this.handleError,"on-preview":this.onPreview,"on-remove":this.handleRemove,"http-request":this.httpRequest},ref:"upload-inner"},A=this.$slots.trigger||this.$slots.default,L=c("upload",T,[A]);return c("div",[this.listType==="picture-card"?y:"",this.$slots.trigger?[L,this.$slots.default]:L,this.$slots.tip,this.listType!=="picture-card"?y:""])}},Ar=Pn,_A,Ao,cx=u(Ar,_A,Ao,!1);cx.options.__file="packages/upload/src/index.vue";var ud=cx.exports;ud.install=function(l){l.component(ud.name,ud)};var fx=ud,hx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-progress",class:["el-progress--"+l.type,l.status?"is-"+l.status:"",{"el-progress--without-text":!l.showText,"el-progress--text-inside":l.textInside}],attrs:{role:"progressbar","aria-valuenow":l.percentage,"aria-valuemin":"0","aria-valuemax":"100"}},[l.type==="line"?d("div",{staticClass:"el-progress-bar"},[d("div",{staticClass:"el-progress-bar__outer",style:{height:l.strokeWidth+"px",backgroundColor:l.defineBackColor}},[d("div",{staticClass:"el-progress-bar__inner",style:l.barStyle},[l.showText&&l.textInside?d("div",{staticClass:"el-progress-bar__innerText",style:{color:l.textColor}},[l._v(l._s(l.content))]):l._e()])])]):d("div",{staticClass:"el-progress-circle",style:{height:l.width+"px",width:l.width+"px"}},[d("svg",{attrs:{viewBox:"0 0 100 100"}},[d("path",{staticClass:"el-progress-circle__track",style:l.trailPathStyle,attrs:{d:l.trackPath,stroke:l.defineBackColor,"stroke-width":l.relativeStrokeWidth,fill:"none"}}),d("path",{staticClass:"el-progress-circle__path",style:l.circlePathStyle,attrs:{d:l.trackPath,stroke:l.stroke,fill:"none","stroke-linecap":l.strokeLinecap,"stroke-width":l.percentage?l.relativeStrokeWidth:0}})])]),l.showText&&!l.textInside?d("div",{staticClass:"el-progress__text",style:{fontSize:l.progressTextSize+"px",color:l.textColor}},[l.status?d("i",{class:l.iconClass}):[l._v(l._s(l.content))]],2):l._e()])},bA=[];hx._withStripped=!0;var Dg={name:"ElProgress",props:{type:{type:String,default:"line",validator:function(c){return["line","circle","dashboard"].indexOf(c)>-1}},percentage:{type:Number,default:0,required:!0,validator:function(c){return c>=0&&c<=100}},status:{type:String,validator:function(c){return["success","exception","warning"].indexOf(c)>-1}},strokeWidth:{type:Number,default:6},strokeLinecap:{type:String,default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:[String,Array,Function],default:""},defineBackColor:{type:[String,Array,Function],default:"#ebeef5"},textColor:{type:[String,Array,Function],default:"#606266"},format:Function},computed:{barStyle:function(){var c={};return c.width=this.percentage+"%",c.backgroundColor=this.getCurrentColor(this.percentage),c},relativeStrokeWidth:function(){return(this.strokeWidth/this.width*100).toFixed(1)},radius:function(){return this.type==="circle"||this.type==="dashboard"?parseInt(50-parseFloat(this.relativeStrokeWidth)/2,10):0},trackPath:function(){var c=this.radius,d=this.type==="dashboard";return` - M 50 50 - m 0 `+(d?"":"-")+c+` - a `+c+" "+c+" 0 1 1 0 "+(d?"-":"")+c*2+` - a `+c+" "+c+" 0 1 1 0 "+(d?"":"-")+c*2+` - `},perimeter:function(){return 2*Math.PI*this.radius},rate:function(){return this.type==="dashboard"?.75:1},strokeDashoffset:function(){var c=-1*this.perimeter*(1-this.rate)/2;return c+"px"},trailPathStyle:function(){return{strokeDasharray:this.perimeter*this.rate+"px, "+this.perimeter+"px",strokeDashoffset:this.strokeDashoffset}},circlePathStyle:function(){return{strokeDasharray:this.perimeter*this.rate*(this.percentage/100)+"px, "+this.perimeter+"px",strokeDashoffset:this.strokeDashoffset,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease"}},stroke:function(){var c=void 0;if(this.color)c=this.getCurrentColor(this.percentage);else switch(this.status){case"success":c="#13ce66";break;case"exception":c="#ff4949";break;case"warning":c="#e6a23c";break;default:c="#20a0ff"}return c},iconClass:function(){return this.status==="warning"?"el-icon-warning":this.type==="line"?this.status==="success"?"el-icon-circle-check":"el-icon-circle-close":this.status==="success"?"el-icon-check":"el-icon-close"},progressTextSize:function(){return this.type==="line"?12+this.strokeWidth*.4:this.width*.111111+2},content:function(){return typeof this.format=="function"?this.format(this.percentage)||"":this.percentage+"%"}},methods:{getCurrentColor:function(c){return typeof this.color=="function"?this.color(c):typeof this.color=="string"?this.color:this.getLevelColor(c)},getLevelColor:function(c){for(var d=this.getColorArray().sort(function(T,A){return T.percentage-A.percentage}),y=0;yc)return d[y].color;return d[d.length-1].color},getColorArray:function(){var c=this.color,d=100/c.length;return c.map(function(y,T){return typeof y=="string"?{color:y,percentage:(T+1)*d}:y})}}},xA=Dg,ga=u(xA,hx,bA,!1);ga.options.__file="packages/progress/src/progress.vue";var oc=ga.exports;oc.install=function(l){l.component(oc.name,oc)};var sc=oc,mr=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("span",{staticClass:"el-spinner"},[d("svg",{staticClass:"el-spinner-inner",style:{width:l.radius/2+"px",height:l.radius/2+"px"},attrs:{viewBox:"0 0 50 50"}},[d("circle",{staticClass:"path",attrs:{cx:"25",cy:"25",r:"20",fill:"none",stroke:l.strokeColor,"stroke-width":l.strokeWidth}})])])},Tr=[];mr._withStripped=!0;var dx={name:"ElSpinner",props:{type:String,radius:{type:Number,default:100},strokeWidth:{type:Number,default:5},strokeColor:{type:String,default:"#efefef"}}},SA=dx,px=u(SA,mr,Tr,!1);px.options.__file="packages/spinner/src/spinner.vue";var cd=px.exports;cd.install=function(l){l.component(cd.name,cd)};var vx=cd,gx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-message-fade"},on:{"after-leave":l.handleAfterLeave}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],class:["el-message",l.type&&!l.iconClass?"el-message--"+l.type:"",l.center?"is-center":"",l.showClose?"is-closable":"",l.customClass],style:l.positionStyle,attrs:{role:"alert"},on:{mouseenter:l.clearTimer,mouseleave:l.startTimer}},[l.iconClass?d("i",{class:l.iconClass}):d("i",{class:l.typeClass}),l._t("default",[l.dangerouslyUseHTMLString?d("p",{staticClass:"el-message__content",domProps:{innerHTML:l._s(l.message)}}):d("p",{staticClass:"el-message__content"},[l._v(l._s(l.message))])]),l.showClose?d("i",{staticClass:"el-message__closeBtn el-icon-close",on:{click:l.close}}):l._e()],2)])},wA=[];gx._withStripped=!0;var mx={success:"success",info:"info",warning:"warning",error:"error"},lc={data:function(){return{visible:!1,message:"",duration:3e3,type:"info",iconClass:"",customClass:"",onClose:null,showClose:!1,closed:!1,verticalOffset:20,timer:null,dangerouslyUseHTMLString:!1,center:!1}},computed:{typeClass:function(){return this.type&&!this.iconClass?"el-message__icon el-icon-"+mx[this.type]:""},positionStyle:function(){return{top:this.verticalOffset+"px"}}},watch:{closed:function(c){c&&(this.visible=!1)}},methods:{handleAfterLeave:function(){this.$destroy(!0),this.$el.parentNode.removeChild(this.$el)},close:function(){this.closed=!0,typeof this.onClose=="function"&&this.onClose(this)},clearTimer:function(){clearTimeout(this.timer)},startTimer:function(){var c=this;this.duration>0&&(this.timer=setTimeout(function(){c.closed||c.close()},this.duration))},keydown:function(c){c.keyCode===27&&(this.closed||this.close())}},mounted:function(){this.startTimer(),document.addEventListener("keydown",this.keydown)},beforeDestroy:function(){document.removeEventListener("keydown",this.keydown)}},kg=lc,yx=u(kg,gx,wA,!1);yx.options.__file="packages/message/src/main.vue";var _x=yx.exports,Sn=n(16),ti=Object.assign||function(l){for(var c=1;cYi.length-1))for(var L=y;L=0;l--)Yi[l].close()};var TA=Sl,Mg=TA,ma=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-badge"},[l._t("default"),d("transition",{attrs:{name:"el-zoom-in-center"}},[d("sup",{directives:[{name:"show",rawName:"v-show",value:!l.hidden&&(l.content||l.content===0||l.isDot),expression:"!hidden && (content || content === 0 || isDot)"}],staticClass:"el-badge__content",class:[l.type?"el-badge__content--"+l.type:null,{"is-fixed":l.$slots.default,"is-dot":l.isDot}],domProps:{textContent:l._s(l.content)}})])],2)},At=[];ma._withStripped=!0;var bx={name:"ElBadge",props:{value:[String,Number],max:Number,isDot:Boolean,hidden:Boolean,type:{type:String,validator:function(c){return["primary","success","warning","info","danger"].indexOf(c)>-1}}},computed:{content:function(){if(!this.isDot){var c=this.value,d=this.max;return typeof c=="number"&&typeof d=="number"&&d0&&c-1this.value,y=this.allowHalf&&this.pointerAtLeftHalf&&c-.5<=this.currentValue&&c>this.currentValue;return d||y},getIconStyle:function(c){var d=this.rateDisabled?this.disabledVoidColor:this.voidColor;return{color:c<=this.currentValue?this.activeColor:d}},selectValue:function(c){this.rateDisabled||(this.allowHalf&&this.pointerAtLeftHalf?(this.$emit("input",this.currentValue),this.$emit("change",this.currentValue)):(this.$emit("input",c),this.$emit("change",c)))},handleKey:function(c){if(!this.rateDisabled){var d=this.currentValue,y=c.keyCode;y===38||y===39?(this.allowHalf?d+=.5:d+=1,c.stopPropagation(),c.preventDefault()):(y===37||y===40)&&(this.allowHalf?d-=.5:d-=1,c.stopPropagation(),c.preventDefault()),d=d<0?0:d,d=d>this.max?this.max:d,this.$emit("input",d),this.$emit("change",d)}},setCurrentValue:function(c,d){if(!this.rateDisabled){if(this.allowHalf){var y=d.target;Object(Ee.hasClass)(y,"el-rate__item")&&(y=y.querySelector(".el-rate__icon")),Object(Ee.hasClass)(y,"el-rate__decimal")&&(y=y.parentNode),this.pointerAtLeftHalf=d.offsetX*2<=y.clientWidth,this.currentValue=this.pointerAtLeftHalf?c-.5:c}else this.currentValue=c;this.hoverIndex=c}},resetCurrentValue:function(){this.rateDisabled||(this.allowHalf&&(this.pointerAtLeftHalf=this.value!==Math.floor(this.value)),this.currentValue=this.value,this.hoverIndex=-1)}},created:function(){this.value||this.$emit("input",0)}},AA=MA,kx=u(AA,Dx,kA,!1);kx.options.__file="packages/rate/src/main.vue";var pd=kx.exports;pd.install=function(l){l.component(pd.name,pd)};var Mx=pd,Ax=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-steps",class:[!l.simple&&"el-steps--"+l.direction,l.simple&&"el-steps--simple"]},[l._t("default")],2)},EA=[];Ax._withStripped=!0;var Eg={name:"ElSteps",mixins:[V.a],props:{space:[Number,String],active:Number,direction:{type:String,default:"horizontal"},alignCenter:Boolean,simple:Boolean,finishStatus:{type:String,default:"finish"},processStatus:{type:String,default:"process"}},data:function(){return{steps:[],stepOffset:0}},methods:{getMigratingConfig:function(){return{props:{center:"center is removed."}}}},watch:{active:function(c,d){this.$emit("change",c,d)},steps:function(c){c.forEach(function(d,y){d.index=y})}}},IA=Eg,vd=u(IA,Ax,EA,!1);vd.options.__file="packages/steps/src/steps.vue";var gd=vd.exports;gd.install=function(l){l.component(gd.name,gd)};var Ex=gd,Ix=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-step",class:[!l.isSimple&&"is-"+l.$parent.direction,l.isSimple&&"is-simple",l.isLast&&!l.space&&!l.isCenter&&"is-flex",l.isCenter&&!l.isVertical&&!l.isSimple&&"is-center"],style:l.style},[d("div",{staticClass:"el-step__head",class:"is-"+l.currentStatus},[d("div",{staticClass:"el-step__line",style:l.isLast?"":{marginRight:l.$parent.stepOffset+"px"}},[d("i",{staticClass:"el-step__line-inner",style:l.lineStyle})]),d("div",{staticClass:"el-step__icon",class:"is-"+(l.icon?"icon":"text")},[l.currentStatus!=="success"&&l.currentStatus!=="error"?l._t("icon",[l.icon?d("i",{staticClass:"el-step__icon-inner",class:[l.icon]}):l._e(),!l.icon&&!l.isSimple?d("div",{staticClass:"el-step__icon-inner"},[l._v(l._s(l.index+1))]):l._e()]):d("i",{staticClass:"el-step__icon-inner is-status",class:["el-icon-"+(l.currentStatus==="success"?"check":"close")]})],2)]),d("div",{staticClass:"el-step__main"},[d("div",{ref:"title",staticClass:"el-step__title",class:["is-"+l.currentStatus]},[l._t("title",[l._v(l._s(l.title))])],2),l.isSimple?d("div",{staticClass:"el-step__arrow"}):d("div",{staticClass:"el-step__description",class:["is-"+l.currentStatus]},[l._t("description",[l._v(l._s(l.description))])],2)])])},Qr=[];Ix._withStripped=!0;var Ln={name:"ElStep",props:{title:String,icon:String,description:String,status:String},data:function(){return{index:-1,lineStyle:{},internalStatus:""}},beforeCreate:function(){this.$parent.steps.push(this)},beforeDestroy:function(){var c=this.$parent.steps,d=c.indexOf(this);d>=0&&c.splice(d,1)},computed:{currentStatus:function(){return this.status||this.internalStatus},prevStatus:function(){var c=this.$parent.steps[this.index-1];return c?c.currentStatus:"wait"},isCenter:function(){return this.$parent.alignCenter},isVertical:function(){return this.$parent.direction==="vertical"},isSimple:function(){return this.$parent.simple},isLast:function(){var c=this.$parent;return c.steps[c.steps.length-1]===this},stepsCount:function(){return this.$parent.steps.length},space:function(){var c=this.isSimple,d=this.$parent.space;return c?"":d},style:function(){var c={},d=this.$parent,y=d.steps.length,T=typeof this.space=="number"?this.space+"px":this.space?this.space:100/(y-(this.isCenter?0:1))+"%";return c.flexBasis=T,this.isVertical||(this.isLast?c.maxWidth=100/this.stepsCount+"%":c.marginRight=-this.$parent.stepOffset+"px"),c}},methods:{updateStatus:function(c){var d=this.$parent.$children[this.index-1];c>this.index?this.internalStatus=this.$parent.finishStatus:c===this.index&&this.prevStatus!=="error"?this.internalStatus=this.$parent.processStatus:this.internalStatus="wait",d&&d.calcProgress(this.internalStatus)},calcProgress:function(c){var d=100,y={};y.transitionDelay=150*this.index+"ms",c===this.$parent.processStatus?d=(this.currentStatus!=="error",0):c==="wait"&&(d=0,y.transitionDelay=-150*this.index+"ms"),y.borderWidth=d&&!this.isSimple?"1px":0,this.$parent.direction==="vertical"?y.height=d+"%":y.width=d+"%",this.lineStyle=y}},mounted:function(){var c=this,d=this.$watch("index",function(y){c.$watch("$parent.active",c.updateStatus,{immediate:!0}),c.$watch("$parent.processStatus",function(){var T=c.$parent.active;c.updateStatus(T)},{immediate:!0}),d()})}},PA=Ln,Px=u(PA,Ix,Qr,!1);Px.options.__file="packages/steps/src/step.vue";var md=Px.exports;md.install=function(l){l.component(md.name,md)};var Ig=md,Lx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{class:l.carouselClasses,on:{mouseenter:function(y){return y.stopPropagation(),l.handleMouseEnter(y)},mouseleave:function(y){return y.stopPropagation(),l.handleMouseLeave(y)}}},[d("div",{staticClass:"el-carousel__container",style:{height:l.height}},[l.arrowDisplay?d("transition",{attrs:{name:"carousel-arrow-left"}},[d("button",{directives:[{name:"show",rawName:"v-show",value:(l.arrow==="always"||l.hover)&&(l.loop||l.activeIndex>0),expression:"(arrow === 'always' || hover) && (loop || activeIndex > 0)"}],staticClass:"el-carousel__arrow el-carousel__arrow--left",attrs:{type:"button"},on:{mouseenter:function(y){l.handleButtonEnter("left")},mouseleave:l.handleButtonLeave,click:function(y){y.stopPropagation(),l.throttledArrowClick(l.activeIndex-1)}}},[d("i",{staticClass:"el-icon-arrow-left"})])]):l._e(),l.arrowDisplay?d("transition",{attrs:{name:"carousel-arrow-right"}},[d("button",{directives:[{name:"show",rawName:"v-show",value:(l.arrow==="always"||l.hover)&&(l.loop||l.activeIndex0})},carouselClasses:function(){var c=["el-carousel","el-carousel--"+this.direction];return this.type==="card"&&c.push("el-carousel--card"),c},indicatorsClasses:function(){var c=["el-carousel__indicators","el-carousel__indicators--"+this.direction];return this.hasLabel&&c.push("el-carousel__indicators--labels"),(this.indicatorPosition==="outside"||this.type==="card")&&c.push("el-carousel__indicators--outside"),c}},watch:{items:function(c){c.length>0&&this.setActiveItem(this.initialIndex)},activeIndex:function(c,d){this.resetItemPosition(d),d>-1&&this.$emit("change",c,d)},autoplay:function(c){c?this.startTimer():this.pauseTimer()},loop:function(){this.setActiveItem(this.activeIndex)},interval:function(){this.pauseTimer(),this.startTimer()}},methods:{handleMouseEnter:function(){this.hover=!0,this.pauseTimer()},handleMouseLeave:function(){this.hover=!1,this.startTimer()},itemInStage:function(c,d){var y=this.items.length;return d===y-1&&c.inStage&&this.items[0].active||c.inStage&&this.items[d+1]&&this.items[d+1].active?"left":d===0&&c.inStage&&this.items[y-1].active||c.inStage&&this.items[d-1]&&this.items[d-1].active?"right":!1},handleButtonEnter:function(c){var d=this;this.direction!=="vertical"&&this.items.forEach(function(y,T){c===d.itemInStage(y,T)&&(y.hover=!0)})},handleButtonLeave:function(){this.direction!=="vertical"&&this.items.forEach(function(c){c.hover=!1})},updateItems:function(){this.items=this.$children.filter(function(c){return c.$options.name==="ElCarouselItem"})},resetItemPosition:function(c){var d=this;this.items.forEach(function(y,T){y.translateItem(T,d.activeIndex,c)})},playSlides:function(){this.activeIndex0&&(c=this.items.indexOf(d[0]))}if(c=Number(c),isNaN(c)||c!==Math.floor(c)){console.warn("[Element Warn][Carousel]index must be an integer.");return}var y=this.items.length,T=this.activeIndex;c<0?this.activeIndex=this.loop?y-1:0:c>=y?this.activeIndex=this.loop?0:y-1:this.activeIndex=c,T===this.activeIndex&&this.resetItemPosition(T),this.resetTimer()},prev:function(){this.setActiveItem(this.activeIndex-1)},next:function(){this.setActiveItem(this.activeIndex+1)},handleIndicatorClick:function(c){this.activeIndex=c},handleIndicatorHover:function(c){this.trigger==="hover"&&c!==this.activeIndex&&(this.activeIndex=c)}},created:function(){var c=this;this.throttledArrowClick=uc()(300,!0,function(d){c.setActiveItem(d)}),this.throttledIndicatorHover=uc()(300,function(d){c.handleIndicatorHover(d)})},mounted:function(){var c=this;this.updateItems(),this.$nextTick(function(){Object(Si.addResizeListener)(c.$el,c.resetItemPosition),c.initialIndex=0&&(c.activeIndex=c.initialIndex),c.startTimer()})},beforeDestroy:function(){this.$el&&Object(Si.removeResizeListener)(this.$el,this.resetItemPosition),this.pauseTimer()}},NA=RA,Ox=u(NA,Lx,LA,!1);Ox.options.__file="packages/carousel/src/main.vue";var cc=Ox.exports;cc.install=function(l){l.component(cc.name,cc)};var Pg=cc,FA={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}};function $A(l){var c=l.move,d=l.size,y=l.bar,T={},A="translate"+y.axis+"("+c+"%)";return T[y.size]=d,T.transform=A,T.msTransform=A,T.webkitTransform=A,T}var Lg={name:"Bar",props:{vertical:Boolean,size:String,move:Number},computed:{bar:function(){return FA[this.vertical?"vertical":"horizontal"]},wrap:function(){return this.$parent.wrap}},render:function(c){var d=this.size,y=this.move,T=this.bar;return c("div",{class:["el-scrollbar__bar","is-"+T.key],on:{mousedown:this.clickTrackHandler}},[c("div",{ref:"thumb",class:"el-scrollbar__thumb",on:{mousedown:this.clickThumbHandler},style:$A({size:d,move:y,bar:T})})])},methods:{clickThumbHandler:function(c){c.ctrlKey||c.button===2||(this.startDrag(c),this[this.bar.axis]=c.currentTarget[this.bar.offset]-(c[this.bar.client]-c.currentTarget.getBoundingClientRect()[this.bar.direction]))},clickTrackHandler:function(c){var d=Math.abs(c.target.getBoundingClientRect()[this.bar.direction]-c[this.bar.client]),y=this.$refs.thumb[this.bar.offset]/2,T=(d-y)*100/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=T*this.wrap[this.bar.scrollSize]/100},startDrag:function(c){c.stopImmediatePropagation(),this.cursorDown=!0,Object(Ee.on)(document,"mousemove",this.mouseMoveDocumentHandler),Object(Ee.on)(document,"mouseup",this.mouseUpDocumentHandler),document.onselectstart=function(){return!1}},mouseMoveDocumentHandler:function(c){if(this.cursorDown!==!1){var d=this[this.bar.axis];if(d){var y=(this.$el.getBoundingClientRect()[this.bar.direction]-c[this.bar.client])*-1,T=this.$refs.thumb[this.bar.offset]-d,A=(y-T)*100/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=A*this.wrap[this.bar.scrollSize]/100}}},mouseUpDocumentHandler:function(c){this.cursorDown=!1,this[this.bar.axis]=0,Object(Ee.off)(document,"mousemove",this.mouseMoveDocumentHandler),document.onselectstart=null}},destroyed:function(){Object(Ee.off)(document,"mouseup",this.mouseUpDocumentHandler)}},yd={name:"ElScrollbar",components:{Bar:Lg},props:{native:Boolean,wrapStyle:{},wrapClass:{},viewClass:{},viewStyle:{},noresize:Boolean,tag:{type:String,default:"div"}},data:function(){return{sizeWidth:"0",sizeHeight:"0",moveX:0,moveY:0}},computed:{wrap:function(){return this.$refs.wrap}},render:function(c){var d=al()(),y=this.wrapStyle;if(d){var T="-"+d+"px",A="margin-bottom: "+T+"; margin-right: "+T+";";Array.isArray(this.wrapStyle)?(y=Object(w.toObject)(this.wrapStyle),y.marginRight=y.marginBottom=T):typeof this.wrapStyle=="string"?y+=A:y=A}var L=c(this.tag,{class:["el-scrollbar__view",this.viewClass],style:this.viewStyle,ref:"resize"},this.$slots.default),F=c("div",{ref:"wrap",style:y,on:{scroll:this.handleScroll},class:[this.wrapClass,"el-scrollbar__wrap",d?"":"el-scrollbar__wrap--hidden-default"]},[[L]]),G=void 0;return this.native?G=[c("div",{ref:"wrap",class:[this.wrapClass,"el-scrollbar__wrap"],style:y},[[L]])]:G=[F,c(Lg,{attrs:{move:this.moveX,size:this.sizeWidth}}),c(Lg,{attrs:{vertical:!0,move:this.moveY,size:this.sizeHeight}})],c("div",{class:"el-scrollbar"},G)},methods:{handleScroll:function(){var c=this.wrap;this.moveY=c.scrollTop*100/c.clientHeight,this.moveX=c.scrollLeft*100/c.clientWidth},update:function(){var c=void 0,d=void 0,y=this.wrap;y&&(c=y.clientHeight*100/y.scrollHeight,d=y.clientWidth*100/y.scrollWidth,this.sizeHeight=c<100?c+"%":"",this.sizeWidth=d<100?d+"%":"")}},mounted:function(){this.native||(this.$nextTick(this.update),!this.noresize&&Object(Si.addResizeListener)(this.$refs.resize,this.update))},beforeDestroy:function(){this.native||!this.noresize&&Object(Si.removeResizeListener)(this.$refs.resize,this.update)}};yd.install=function(l){l.component(yd.name,yd)};var bs=yd,Rx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{directives:[{name:"show",rawName:"v-show",value:l.ready,expression:"ready"}],staticClass:"el-carousel__item",class:{"is-active":l.active,"el-carousel__item--card":l.$parent.type==="card","is-in-stage":l.inStage,"is-hover":l.hover,"is-animating":l.animating},style:l.itemStyle,on:{click:l.handleItemClick}},[l.$parent.type==="card"?d("div",{directives:[{name:"show",rawName:"v-show",value:!l.active,expression:"!active"}],staticClass:"el-carousel__mask"}):l._e(),l._t("default")],2)},BA=[];Rx._withStripped=!0;var Og=.83,zA={name:"ElCarouselItem",props:{name:String,label:{type:[String,Number],default:""}},data:function(){return{hover:!1,translate:0,scale:1,active:!1,ready:!1,inStage:!1,animating:!1}},methods:{processIndex:function(c,d,y){return d===0&&c===y-1?-1:d===y-1&&c===0?y:c=y/2?y+1:c>d+1&&c-d>=y/2?-2:c},calcCardTranslate:function(c,d){var y=this.$parent.$el.offsetWidth;return this.inStage?y*((2-Og)*(c-d)+1)/4:c2&&this.$parent.loop&&(c=this.processIndex(c,d,L)),T==="card")A==="vertical"&&console.warn("[Element Warn][Carousel]vertical direction is not supported in card mode"),this.inStage=Math.round(Math.abs(c-d))<=1,this.active=c===d,this.translate=this.calcCardTranslate(c,d),this.scale=this.active?1:Og;else{this.active=c===d;var F=A==="vertical";this.translate=this.calcTranslate(c,d,F),this.scale=1}this.ready=!0},handleItemClick:function(){var c=this.$parent;if(c&&c.type==="card"){var d=c.items.indexOf(this);c.setActiveItem(d)}}},computed:{parentDirection:function(){return this.$parent.direction},itemStyle:function(){var c=this.parentDirection==="vertical"?"translateY":"translateX",d=c+"("+this.translate+"px) scale("+this.scale+")",y={transform:d};return Object(w.autoprefixer)(y)}},created:function(){this.$parent&&this.$parent.updateItems()},destroyed:function(){this.$parent&&this.$parent.updateItems()}},VA=zA,Rg=u(VA,Rx,BA,!1);Rg.options.__file="packages/carousel/src/item.vue";var fc=Rg.exports;fc.install=function(l){l.component(fc.name,fc)};var Nx=fc,Fx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-collapse",attrs:{role:"tablist","aria-multiselectable":"true"}},[l._t("default")],2)},HA=[];Fx._withStripped=!0;var jA={name:"ElCollapse",componentName:"ElCollapse",props:{accordion:Boolean,value:{type:[Array,String,Number],default:function(){return[]}}},data:function(){return{activeNames:[].concat(this.value)}},provide:function(){return{collapse:this}},watch:{value:function(c){this.activeNames=[].concat(c)}},methods:{setActiveNames:function(c){c=[].concat(c);var d=this.accordion?c[0]:c;this.activeNames=c,this.$emit("input",d),this.$emit("change",d)},handleItemClick:function(c){if(this.accordion)this.setActiveNames((this.activeNames[0]||this.activeNames[0]===0)&&this.activeNames[0]===c.name?"":c.name);else{var d=this.activeNames.slice(0),y=d.indexOf(c.name);y>-1?d.splice(y,1):d.push(c.name),this.setActiveNames(d)}}},created:function(){this.$on("item-click",this.handleItemClick)}},WA=jA,$x=u(WA,Fx,HA,!1);$x.options.__file="packages/collapse/src/collapse.vue";var _d=$x.exports;_d.install=function(l){l.component(_d.name,_d)};var Bx=_d,zx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-collapse-item",class:{"is-active":l.isActive,"is-disabled":l.disabled}},[d("div",{attrs:{role:"tab","aria-expanded":l.isActive,"aria-controls":"el-collapse-content-"+l.id,"aria-describedby":"el-collapse-content-"+l.id}},[d("div",{staticClass:"el-collapse-item__header",class:{focusing:l.focusing,"is-active":l.isActive},attrs:{role:"button",id:"el-collapse-head-"+l.id,tabindex:l.disabled?void 0:0},on:{click:l.handleHeaderClick,keyup:function(y){return!("button"in y)&&l._k(y.keyCode,"space",32,y.key,[" ","Spacebar"])&&l._k(y.keyCode,"enter",13,y.key,"Enter")?null:(y.stopPropagation(),l.handleEnterClick(y))},focus:l.handleFocus,blur:function(y){l.focusing=!1}}},[l._t("title",[l._v(l._s(l.title))]),d("i",{staticClass:"el-collapse-item__arrow el-icon-arrow-right",class:{"is-active":l.isActive}})],2)]),d("el-collapse-transition",[d("div",{directives:[{name:"show",rawName:"v-show",value:l.isActive,expression:"isActive"}],staticClass:"el-collapse-item__wrap",attrs:{role:"tabpanel","aria-hidden":!l.isActive,"aria-labelledby":"el-collapse-head-"+l.id,id:"el-collapse-content-"+l.id}},[d("div",{staticClass:"el-collapse-item__content"},[l._t("default")],2)])])],1)},GA=[];zx._withStripped=!0;var UA={name:"ElCollapseItem",componentName:"ElCollapseItem",mixins:[B.a],components:{ElCollapseTransition:Cu.a},data:function(){return{contentWrapStyle:{height:"auto",display:"block"},contentHeight:0,focusing:!1,isClick:!1,id:Object(w.generateId)()}},inject:["collapse"],props:{title:String,name:{type:[String,Number],default:function(){return this._uid}},disabled:Boolean},computed:{isActive:function(){return this.collapse.activeNames.indexOf(this.name)>-1}},methods:{handleFocus:function(){var c=this;setTimeout(function(){c.isClick?c.isClick=!1:c.focusing=!0},50)},handleHeaderClick:function(){this.disabled||(this.dispatch("ElCollapse","item-click",this),this.focusing=!1,this.isClick=!0)},handleEnterClick:function(){this.dispatch("ElCollapse","item-click",this)}}},YA=UA,Vx=u(YA,zx,GA,!1);Vx.options.__file="packages/collapse/src/collapse-item.vue";var bd=Vx.exports;bd.install=function(l){l.component(bd.name,bd)};var Hx=bd,jx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:function(){return l.toggleDropDownVisible(!1)},expression:"() => toggleDropDownVisible(false)"}],ref:"reference",class:["el-cascader",l.realSize&&"el-cascader--"+l.realSize,{"is-disabled":l.isDisabled}],on:{mouseenter:function(y){l.inputHover=!0},mouseleave:function(y){l.inputHover=!1},click:function(){return l.toggleDropDownVisible(l.readonly?void 0:!0)},keydown:l.handleKeyDown}},[d("el-input",{ref:"input",class:{"is-focus":l.dropDownVisible},attrs:{size:l.realSize,placeholder:l.placeholder,readonly:l.readonly,disabled:l.isDisabled,"validate-event":!1},on:{focus:l.handleFocus,blur:l.handleBlur,input:l.handleInput},model:{value:l.multiple?l.presentText:l.inputValue,callback:function(y){l.multiple?l.presentText:l.inputValue=y},expression:"multiple ? presentText : inputValue"}},[d("template",{slot:"suffix"},[l.clearBtnVisible?d("i",{key:"clear",staticClass:"el-input__icon el-icon-circle-close",on:{click:function(y){return y.stopPropagation(),l.handleClear(y)}}}):d("i",{key:"arrow-down",class:["el-input__icon","el-icon-arrow-down",l.dropDownVisible&&"is-reverse"],on:{click:function(y){y.stopPropagation(),l.toggleDropDownVisible()}}})])],2),l.multiple?d("div",{staticClass:"el-cascader__tags"},[l._l(l.presentTags,function(y){return d("el-tag",{key:y.key,attrs:{type:"info",size:l.tagSize,hit:y.hitState,closable:y.closable,"disable-transitions":""},on:{close:function(T){l.deleteTag(y)}}},[d("span",[l._v(l._s(y.text))])])}),l.filterable&&!l.isDisabled?d("input",{directives:[{name:"model",rawName:"v-model.trim",value:l.inputValue,expression:"inputValue",modifiers:{trim:!0}}],staticClass:"el-cascader__search-input",attrs:{type:"text",placeholder:l.presentTags.length?"":l.placeholder},domProps:{value:l.inputValue},on:{input:[function(y){y.target.composing||(l.inputValue=y.target.value.trim())},function(y){return l.handleInput(l.inputValue,y)}],click:function(y){y.stopPropagation(),l.toggleDropDownVisible(!0)},keydown:function(y){return!("button"in y)&&l._k(y.keyCode,"delete",[8,46],y.key,["Backspace","Delete","Del"])?null:l.handleDelete(y)},blur:function(y){l.$forceUpdate()}}}):l._e()],2):l._e(),d("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":l.handleDropdownLeave}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.dropDownVisible,expression:"dropDownVisible"}],ref:"popper",class:["el-popper","el-cascader__dropdown",l.popperClass]},[d("el-cascader-panel",{directives:[{name:"show",rawName:"v-show",value:!l.filtering,expression:"!filtering"}],ref:"panel",attrs:{options:l.options,props:l.config,border:!1,"render-label":l.$scopedSlots.default},on:{"expand-change":l.handleExpandChange,close:function(y){l.toggleDropDownVisible(!1)}},model:{value:l.checkedValue,callback:function(y){l.checkedValue=y},expression:"checkedValue"}}),l.filterable?d("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:l.filtering,expression:"filtering"}],ref:"suggestionPanel",staticClass:"el-cascader__suggestion-panel",attrs:{tag:"ul","view-class":"el-cascader__suggestion-list"},nativeOn:{keydown:function(y){return l.handleSuggestionKeyDown(y)}}},[l.suggestions.length?l._l(l.suggestions,function(y,T){return d("li",{key:y.uid,class:["el-cascader__suggestion-item",y.checked&&"is-checked"],attrs:{tabindex:-1},on:{click:function(A){l.handleSuggestionClick(T)}}},[d("span",[l._v(l._s(y.text))]),y.checked?d("i",{staticClass:"el-icon-check"}):l._e()])}):l._t("empty",[d("li",{staticClass:"el-cascader__empty-text"},[l._v(l._s(l.t("el.cascader.noMatch")))])])],2):l._e()],1)])],1)},qA=[];jx._withStripped=!0;var KA=n(43),XA=n.n(KA),ZA=n(35),Wx=n.n(ZA),Ua=Wx.a.keys,Gx={expandTrigger:{newProp:"expandTrigger",type:String},changeOnSelect:{newProp:"checkStrictly",type:Boolean},hoverThreshold:{newProp:"hoverThreshold",type:Number}},QA={props:{placement:{type:String,default:"bottom-start"},appendToBody:ie.a.props.appendToBody,visibleArrow:{type:Boolean,default:!0},arrowOffset:ie.a.props.arrowOffset,offset:ie.a.props.offset,boundariesPadding:ie.a.props.boundariesPadding,popperOptions:ie.a.props.popperOptions,transformOrigin:ie.a.props.transformOrigin},methods:ie.a.methods,data:ie.a.data,beforeDestroy:ie.a.beforeDestroy},JA={medium:36,small:32,mini:28},Ng={name:"ElCascader",directives:{Clickoutside:Le.a},mixins:[QA,B.a,C.a,V.a],inject:{elForm:{default:""},elFormItem:{default:""}},components:{ElInput:_.a,ElTag:gb.a,ElScrollbar:Fe.a,ElCascaderPanel:XA.a},props:{value:{},options:Array,props:Object,size:String,placeholder:{type:String,default:function(){return Object(Di.t)("el.cascader.placeholder")}},disabled:Boolean,clearable:Boolean,filterable:Boolean,filterMethod:Function,separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,debounce:{type:Number,default:300},beforeFilter:{type:Function,default:function(){return function(){}}},popperClass:String},data:function(){return{dropDownVisible:!1,checkedValue:this.value,inputHover:!1,inputValue:null,presentText:null,presentTags:[],checkedNodes:[],filtering:!1,suggestions:[],inputInitialHeight:0,pressDeleteCount:0}},computed:{realSize:function(){var c=(this.elFormItem||{}).elFormItemSize;return this.size||c||(this.$ELEMENT||{}).size},tagSize:function(){return["small","mini"].indexOf(this.realSize)>-1?"mini":"small"},isDisabled:function(){return this.disabled||(this.elForm||{}).disabled},config:function(){var c=this.props||{},d=this.$attrs;return Object.keys(Gx).forEach(function(y){var T=Gx[y],A=T.newProp,L=T.type,F=d[y]||d[Object(w.kebabCase)(y)];Object(ss.isDef)(y)&&!Object(ss.isDef)(c[A])&&(L===Boolean&&F===""&&(F=!0),c[A]=F)}),c},multiple:function(){return this.config.multiple},leafOnly:function(){return!this.config.checkStrictly},readonly:function(){return!this.filterable||this.multiple},clearBtnVisible:function(){return!this.clearable||this.isDisabled||this.filtering||!this.inputHover?!1:this.multiple?!!this.checkedNodes.filter(function(c){return!c.isDisabled}).length:!!this.presentText},panel:function(){return this.$refs.panel}},watch:{disabled:function(){this.computePresentContent()},value:function(c){Object(w.isEqual)(c,this.checkedValue)||(this.checkedValue=c,this.computePresentContent())},checkedValue:function(c){var d=this.value,y=this.dropDownVisible,T=this.config,A=T.checkStrictly,L=T.multiple;(!Object(w.isEqual)(c,d)||Object(Sn.isUndefined)(d))&&(this.computePresentContent(),!L&&!A&&y&&this.toggleDropDownVisible(!1),this.$emit("input",c),this.$emit("change",c),this.dispatch("ElFormItem","el.form.change",[c]))},options:{handler:function(){this.$nextTick(this.computePresentContent)},deep:!0},presentText:function(c){this.inputValue=c},presentTags:function(c,d){this.multiple&&(c.length||d.length)&&this.$nextTick(this.updateStyle)},filtering:function(c){this.$nextTick(this.updatePopper)}},mounted:function(){var c=this,d=this.$refs.input;d&&d.$el&&(this.inputInitialHeight=d.$el.offsetHeight||JA[this.realSize]||40),this.isEmptyValue(this.value)||this.computePresentContent(),this.filterHandler=_e()(this.debounce,function(){var y=c.inputValue;if(!y){c.filtering=!1;return}var T=c.beforeFilter(y);T&&T.then?T.then(c.getSuggestions):T!==!1?c.getSuggestions():c.filtering=!1}),Object(Si.addResizeListener)(this.$el,this.updateStyle)},beforeDestroy:function(){Object(Si.removeResizeListener)(this.$el,this.updateStyle)},methods:{getMigratingConfig:function(){return{props:{"expand-trigger":"expand-trigger is removed, use `props.expandTrigger` instead.","change-on-select":"change-on-select is removed, use `props.checkStrictly` instead.","hover-threshold":"hover-threshold is removed, use `props.hoverThreshold` instead"},events:{"active-item-change":"active-item-change is renamed to expand-change"}}},toggleDropDownVisible:function(c){var d=this;if(!this.isDisabled){var y=this.dropDownVisible,T=this.$refs.input;c=Object(ss.isDef)(c)?c:!y,c!==y&&(this.dropDownVisible=c,c&&this.$nextTick(function(){d.updatePopper(),d.panel.scrollIntoView()}),T.$refs.input.setAttribute("aria-expanded",c),this.$emit("visible-change",c))}},handleDropdownLeave:function(){this.filtering=!1,this.inputValue=this.presentText,this.doDestroy()},handleKeyDown:function(c){switch(c.keyCode){case Ua.enter:this.toggleDropDownVisible();break;case Ua.down:this.toggleDropDownVisible(!0),this.focusFirstNode(),c.preventDefault();break;case Ua.esc:case Ua.tab:this.toggleDropDownVisible(!1);break}},handleFocus:function(c){this.$emit("focus",c)},handleBlur:function(c){this.$emit("blur",c)},handleInput:function(c,d){!this.dropDownVisible&&this.toggleDropDownVisible(!0),!(d&&d.isComposing)&&(c?this.filterHandler():this.filtering=!1)},handleClear:function(){this.presentText="",this.panel.clearCheckedNodes()},handleExpandChange:function(c){this.$nextTick(this.updatePopper.bind(this)),this.$emit("expand-change",c),this.$emit("active-item-change",c)},focusFirstNode:function(){var c=this;this.$nextTick(function(){var d=c.filtering,y=c.$refs,T=y.popper,A=y.suggestionPanel,L=null;if(d&&A)L=A.$el.querySelector(".el-cascader__suggestion-item");else{var F=T.querySelector(".el-cascader-menu");L=F.querySelector('.el-cascader-node[tabindex="-1"]')}L&&(L.focus(),!d&&L.click())})},computePresentContent:function(){var c=this;this.$nextTick(function(){c.config.multiple?(c.computePresentTags(),c.presentText=c.presentTags.length?" ":null):c.computePresentText()})},isEmptyValue:function(c){var d=this.multiple,y=this.panel.config.emitPath;return d||y?Object(w.isEmpty)(c):!1},computePresentText:function(){var c=this.checkedValue,d=this.config;if(!this.isEmptyValue(c)){var y=this.panel.getNodeByValue(c);if(y&&(d.checkStrictly||y.isLeaf)){this.presentText=y.getText(this.showAllLevels,this.separator);return}}this.presentText=null},computePresentTags:function(){var c=this.isDisabled,d=this.leafOnly,y=this.showAllLevels,T=this.separator,A=this.collapseTags,L=this.getCheckedNodes(d),F=[],G=function($e){return{node:$e,key:$e.uid,text:$e.getText(y,T),hitState:!1,closable:!c&&!$e.isDisabled}};if(L.length){var q=L[0],te=L.slice(1),se=te.length;F.push(G(q)),se&&(A?F.push({key:-1,text:"+ "+se,closable:!1}):te.forEach(function(Ae){return F.push(G(Ae))}))}this.checkedNodes=L,this.presentTags=F},getSuggestions:function(){var c=this,d=this.filterMethod;Object(Sn.isFunction)(d)||(d=function(A,L){return A.text.includes(L)});var y=this.panel.getFlattedNodes(this.leafOnly).filter(function(T){return T.isDisabled?!1:(T.text=T.getText(c.showAllLevels,c.separator)||"",d(T,c.inputValue))});this.multiple?this.presentTags.forEach(function(T){T.hitState=!1}):y.forEach(function(T){T.checked=Object(w.isEqual)(c.checkedValue,T.getValueByOption())}),this.filtering=!0,this.suggestions=y,this.$nextTick(this.updatePopper)},handleSuggestionKeyDown:function(c){var d=c.keyCode,y=c.target;switch(d){case Ua.enter:y.click();break;case Ua.up:var T=y.previousElementSibling;T&&T.focus();break;case Ua.down:var A=y.nextElementSibling;A&&A.focus();break;case Ua.esc:case Ua.tab:this.toggleDropDownVisible(!1);break}},handleDelete:function(){var c=this.inputValue,d=this.pressDeleteCount,y=this.presentTags,T=y.length-1,A=y[T];this.pressDeleteCount=c?0:d+1,A&&this.pressDeleteCount&&(A.hitState?this.deleteTag(A):A.hitState=!0)},handleSuggestionClick:function(c){var d=this.multiple,y=this.suggestions[c];if(d){var T=y.checked;y.doCheck(!T),this.panel.calculateMultiCheckedValue()}else this.checkedValue=y.getValueByOption(),this.toggleDropDownVisible(!1)},deleteTag:function(c){var d=this.checkedValue,y=c.node.getValueByOption(),T=d.find(function(A){return Object(w.isEqual)(A,y)});this.checkedValue=d.filter(function(A){return!Object(w.isEqual)(A,y)}),this.$emit("remove-tag",T)},updateStyle:function(){var c=this.$el,d=this.inputInitialHeight;if(!(this.$isServer||!c)){var y=this.$refs.suggestionPanel,T=c.querySelector(".el-input__inner");if(T){var A=c.querySelector(".el-cascader__tags"),L=null;if(y&&(L=y.$el)){var F=L.querySelector(".el-cascader__suggestion-list");F.style.minWidth=T.offsetWidth+"px"}if(A){var G=Math.round(A.getBoundingClientRect().height),q=Math.max(G+6,d)+"px";T.style.height=q,this.dropDownVisible&&this.updatePopper()}}}},getCheckedNodes:function(c){return this.panel.getCheckedNodes(c)}}},Ux=Ng,Fg=u(Ux,jx,qA,!1);Fg.options.__file="packages/cascader/src/cascader.vue";var xd=Fg.exports;xd.install=function(l){l.component(xd.name,xd)};var Yx=xd,qx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:l.hide,expression:"hide"}],class:["el-color-picker",l.colorDisabled?"is-disabled":"",l.colorSize?"el-color-picker--"+l.colorSize:""]},[l.colorDisabled?d("div",{staticClass:"el-color-picker__mask"}):l._e(),d("div",{staticClass:"el-color-picker__trigger",on:{click:l.handleTrigger}},[d("span",{staticClass:"el-color-picker__color",class:{"is-alpha":l.showAlpha}},[d("span",{staticClass:"el-color-picker__color-inner",style:{backgroundColor:l.displayedColor}}),!l.value&&!l.showPanelColor?d("span",{staticClass:"el-color-picker__empty el-icon-close"}):l._e()]),d("span",{directives:[{name:"show",rawName:"v-show",value:l.value||l.showPanelColor,expression:"value || showPanelColor"}],staticClass:"el-color-picker__icon el-icon-arrow-down"})]),d("picker-dropdown",{ref:"dropdown",class:["el-color-picker__panel",l.popperClass||""],attrs:{color:l.color,"show-alpha":l.showAlpha,predefine:l.predefine},on:{pick:l.confirmValue,clear:l.clearValue},model:{value:l.showPicker,callback:function(y){l.showPicker=y},expression:"showPicker"}})],1)},$g=[];qx._withStripped=!0;var eE=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l};function tE(l,c){if(!(l instanceof c))throw new TypeError("Cannot call a class as a function")}var Kx=function(c,d,y){return[c,d*y/((c=(2-d)*y)<1?c:2-c)||0,c/2]},On=function(c){return typeof c=="string"&&c.indexOf(".")!==-1&&parseFloat(c)===1},Bg=function(c){return typeof c=="string"&&c.indexOf("%")!==-1},wl=function(c,d){On(c)&&(c="100%");var y=Bg(c);return c=Math.min(d,Math.max(0,parseFloat(c))),y&&(c=parseInt(c*d,10)/100),Math.abs(c-d)<1e-6?1:c%d/parseFloat(d)},Xx={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"},rE=function(c){var d=c.r,y=c.g,T=c.b,A=function(F){F=Math.min(Math.round(F),255);var G=Math.floor(F/16),q=F%16;return""+(Xx[G]||G)+(Xx[q]||q)};return isNaN(d)||isNaN(y)||isNaN(T)?"":"#"+A(d)+A(y)+A(T)},zg={A:10,B:11,C:12,D:13,E:14,F:15},Ya=function(c){return c.length===2?(zg[c[0].toUpperCase()]||+c[0])*16+(zg[c[1].toUpperCase()]||+c[1]):zg[c[1].toUpperCase()]||+c[1]},nE=function(c,d,y){d=d/100,y=y/100;var T=d,A=Math.max(y,.01),L=void 0,F=void 0;return y*=2,d*=y<=1?y:2-y,T*=A<=1?A:2-A,F=(y+d)/2,L=y===0?2*T/(A+T):2*d/(y+d),{h:c,s:L*100,v:F*100}},Sd=function(c,d,y){c=wl(c,255),d=wl(d,255),y=wl(y,255);var T=Math.max(c,d,y),A=Math.min(c,d,y),L=void 0,F=void 0,G=T,q=T-A;if(F=T===0?0:q/T,T===A)L=0;else{switch(T){case c:L=(d-y)/q+(d"u"?"undefined":eE(d))==="object"){for(var T in d)d.hasOwnProperty(T)&&this.set(T,d[T]);return}this["_"+d]=y,this.doOnChange()},l.prototype.get=function(d){return this["_"+d]},l.prototype.toRgb=function(){return wd(this._hue,this._saturation,this._value)},l.prototype.fromString=function(d){var y=this;if(!d){this._hue=0,this._saturation=100,this._value=100,this.doOnChange();return}var T=function(en,ii,Cn){y._hue=Math.max(0,Math.min(360,en)),y._saturation=Math.max(0,Math.min(100,ii)),y._value=Math.max(0,Math.min(100,Cn)),y.doOnChange()};if(d.indexOf("hsl")!==-1){var A=d.replace(/hsla|hsl|\(|\)/gm,"").split(/\s|,/g).filter(function(kr){return kr!==""}).map(function(kr,en){return en>2?parseFloat(kr):parseInt(kr,10)});if(A.length===4?this._alpha=Math.floor(parseFloat(A[3])*100):A.length===3&&(this._alpha=100),A.length>=3){var L=nE(A[0],A[1],A[2]),F=L.h,G=L.s,q=L.v;T(F,G,q)}}else if(d.indexOf("hsv")!==-1){var te=d.replace(/hsva|hsv|\(|\)/gm,"").split(/\s|,/g).filter(function(kr){return kr!==""}).map(function(kr,en){return en>2?parseFloat(kr):parseInt(kr,10)});te.length===4?this._alpha=Math.floor(parseFloat(te[3])*100):te.length===3&&(this._alpha=100),te.length>=3&&T(te[0],te[1],te[2])}else if(d.indexOf("rgb")!==-1){var se=d.replace(/rgba|rgb|\(|\)/gm,"").split(/\s|,/g).filter(function(kr){return kr!==""}).map(function(kr,en){return en>2?parseFloat(kr):parseInt(kr,10)});if(se.length===4?this._alpha=Math.floor(parseFloat(se[3])*100):se.length===3&&(this._alpha=100),se.length>=3){var Ae=Sd(se[0],se[1],se[2]),$e=Ae.h,Ve=Ae.s,Ue=Ae.v;T($e,Ve,Ue)}}else if(d.indexOf("#")!==-1){var De=d.replace("#","").trim();if(!/^(?:[0-9a-fA-F]{3}){1,2}|[0-9a-fA-F]{8}$/.test(De))return;var Et=void 0,pt=void 0,Qt=void 0;De.length===3?(Et=Ya(De[0]+De[0]),pt=Ya(De[1]+De[1]),Qt=Ya(De[2]+De[2])):(De.length===6||De.length===8)&&(Et=Ya(De.substring(0,2)),pt=Ya(De.substring(2,4)),Qt=Ya(De.substring(4,6))),De.length===8?this._alpha=Math.floor(Ya(De.substring(6))/255*100):(De.length===3||De.length===6)&&(this._alpha=100);var Gt=Sd(Et,pt,Qt),ni=Gt.h,wn=Gt.s,dr=Gt.v;T(ni,wn,dr)}},l.prototype.compare=function(d){return Math.abs(d._hue-this._hue)<2&&Math.abs(d._saturation-this._saturation)<1&&Math.abs(d._value-this._value)<1&&Math.abs(d._alpha-this._alpha)<1},l.prototype.doOnChange=function(){var d=this._hue,y=this._saturation,T=this._value,A=this._alpha,L=this.format;if(this.enableAlpha)switch(L){case"hsl":var F=Kx(d,y/100,T/100);this.value="hsla("+d+", "+Math.round(F[1]*100)+"%, "+Math.round(F[2]*100)+"%, "+A/100+")";break;case"hsv":this.value="hsva("+d+", "+Math.round(y)+"%, "+Math.round(T)+"%, "+A/100+")";break;default:var G=wd(d,y,T),q=G.r,te=G.g,se=G.b;this.value="rgba("+q+", "+te+", "+se+", "+A/100+")"}else switch(L){case"hsl":var Ae=Kx(d,y/100,T/100);this.value="hsl("+d+", "+Math.round(Ae[1]*100)+"%, "+Math.round(Ae[2]*100)+"%)";break;case"hsv":this.value="hsv("+d+", "+Math.round(y)+"%, "+Math.round(T)+"%)";break;case"rgb":var $e=wd(d,y,T),Ve=$e.r,Ue=$e.g,De=$e.b;this.value="rgb("+Ve+", "+Ue+", "+De+")";break;default:this.value=rE(wd(d,y,T))}},l}(),hc=iE,Zx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":l.doDestroy}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.showPopper,expression:"showPopper"}],staticClass:"el-color-dropdown"},[d("div",{staticClass:"el-color-dropdown__main-wrapper"},[d("hue-slider",{ref:"hue",staticStyle:{float:"right"},attrs:{color:l.color,vertical:""}}),d("sv-panel",{ref:"sl",attrs:{color:l.color}})],1),l.showAlpha?d("alpha-slider",{ref:"alpha",attrs:{color:l.color}}):l._e(),l.predefine?d("predefine",{attrs:{color:l.color,colors:l.predefine}}):l._e(),d("div",{staticClass:"el-color-dropdown__btns"},[d("span",{staticClass:"el-color-dropdown__value"},[d("el-input",{attrs:{"validate-event":!1,size:"mini"},on:{blur:l.handleConfirm},nativeOn:{keyup:function(y){return!("button"in y)&&l._k(y.keyCode,"enter",13,y.key,"Enter")?null:l.handleConfirm(y)}},model:{value:l.customInput,callback:function(y){l.customInput=y},expression:"customInput"}})],1),d("el-button",{staticClass:"el-color-dropdown__link-btn",attrs:{size:"mini",type:"text"},on:{click:function(y){l.$emit("clear")}}},[l._v(` - `+l._s(l.t("el.colorpicker.clear"))+` - `)]),d("el-button",{staticClass:"el-color-dropdown__btn",attrs:{plain:"",size:"mini"},on:{click:l.confirmValue}},[l._v(` - `+l._s(l.t("el.colorpicker.confirm"))+` - `)])],1)],1)])},Qx=[];Zx._withStripped=!0;var Jx=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-color-svpanel",style:{backgroundColor:l.background}},[d("div",{staticClass:"el-color-svpanel__white"}),d("div",{staticClass:"el-color-svpanel__black"}),d("div",{staticClass:"el-color-svpanel__cursor",style:{top:l.cursorTop+"px",left:l.cursorLeft+"px"}},[d("div")])])},aE=[];Jx._withStripped=!0;var Vg=!1,xs=function(l,c){if(!gr.a.prototype.$isServer){var d=function(A){c.drag&&c.drag(A)},y=function T(A){document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",T),document.onselectstart=null,document.ondragstart=null,Vg=!1,c.end&&c.end(A)};l.addEventListener("mousedown",function(T){Vg||(document.onselectstart=function(){return!1},document.ondragstart=function(){return!1},document.addEventListener("mousemove",d),document.addEventListener("mouseup",y),Vg=!0,c.start&&c.start(T))})}},Hg={name:"el-sl-panel",props:{color:{required:!0}},computed:{colorValue:function(){var c=this.color.get("hue"),d=this.color.get("value");return{hue:c,value:d}}},watch:{colorValue:function(){this.update()}},methods:{update:function(){var c=this.color.get("saturation"),d=this.color.get("value"),y=this.$el,T=y.clientWidth,A=y.clientHeight;this.cursorLeft=c*T/100,this.cursorTop=(100-d)*A/100,this.background="hsl("+this.color.get("hue")+", 100%, 50%)"},handleDrag:function(c){var d=this.$el,y=d.getBoundingClientRect(),T=c.clientX-y.left,A=c.clientY-y.top;T=Math.max(0,T),T=Math.min(T,y.width),A=Math.max(0,A),A=Math.min(A,y.height),this.cursorLeft=T,this.cursorTop=A,this.color.set({saturation:T/y.width*100,value:100-A/y.height*100})}},mounted:function(){var c=this;xs(this.$el,{drag:function(y){c.handleDrag(y)},end:function(y){c.handleDrag(y)}}),this.update()},data:function(){return{cursorTop:0,cursorLeft:0,background:"hsl(0, 100%, 50%)"}}},oE=Hg,eS=u(oE,Jx,aE,!1);eS.options.__file="packages/color-picker/src/components/sv-panel.vue";var sE=eS.exports,tS=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-color-hue-slider",class:{"is-vertical":l.vertical}},[d("div",{ref:"bar",staticClass:"el-color-hue-slider__bar",on:{click:l.handleClick}}),d("div",{ref:"thumb",staticClass:"el-color-hue-slider__thumb",style:{left:l.thumbLeft+"px",top:l.thumbTop+"px"}})])},lE=[];tS._withStripped=!0;var uE={name:"el-color-hue-slider",props:{color:{required:!0},vertical:Boolean},data:function(){return{thumbLeft:0,thumbTop:0}},computed:{hueValue:function(){var c=this.color.get("hue");return c}},watch:{hueValue:function(){this.update()}},methods:{handleClick:function(c){var d=this.$refs.thumb,y=c.target;y!==d&&this.handleDrag(c)},handleDrag:function(c){var d=this.$el.getBoundingClientRect(),y=this.$refs.thumb,T=void 0;if(this.vertical){var L=c.clientY-d.top;L=Math.min(L,d.height-y.offsetHeight/2),L=Math.max(y.offsetHeight/2,L),T=Math.round((L-y.offsetHeight/2)/(d.height-y.offsetHeight)*360)}else{var A=c.clientX-d.left;A=Math.min(A,d.width-y.offsetWidth/2),A=Math.max(y.offsetWidth/2,A),T=Math.round((A-y.offsetWidth/2)/(d.width-y.offsetWidth)*360)}this.color.set("hue",T)},getThumbLeft:function(){if(this.vertical)return 0;var c=this.$el,d=this.color.get("hue");if(!c)return 0;var y=this.$refs.thumb;return Math.round(d*(c.offsetWidth-y.offsetWidth/2)/360)},getThumbTop:function(){if(!this.vertical)return 0;var c=this.$el,d=this.color.get("hue");if(!c)return 0;var y=this.$refs.thumb;return Math.round(d*(c.offsetHeight-y.offsetHeight/2)/360)},update:function(){this.thumbLeft=this.getThumbLeft(),this.thumbTop=this.getThumbTop()}},mounted:function(){var c=this,d=this.$refs,y=d.bar,T=d.thumb,A={drag:function(F){c.handleDrag(F)},end:function(F){c.handleDrag(F)}};xs(y,A),xs(T,A),this.update()}},cE=uE,rS=u(cE,tS,lE,!1);rS.options.__file="packages/color-picker/src/components/hue-slider.vue";var fE=rS.exports,nS=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-color-alpha-slider",class:{"is-vertical":l.vertical}},[d("div",{ref:"bar",staticClass:"el-color-alpha-slider__bar",style:{background:l.background},on:{click:l.handleClick}}),d("div",{ref:"thumb",staticClass:"el-color-alpha-slider__thumb",style:{left:l.thumbLeft+"px",top:l.thumbTop+"px"}})])},hE=[];nS._withStripped=!0;var dE={name:"el-color-alpha-slider",props:{color:{required:!0},vertical:Boolean},watch:{"color._alpha":function(){this.update()},"color.value":function(){this.update()}},methods:{handleClick:function(c){var d=this.$refs.thumb,y=c.target;y!==d&&this.handleDrag(c)},handleDrag:function(c){var d=this.$el.getBoundingClientRect(),y=this.$refs.thumb;if(this.vertical){var A=c.clientY-d.top;A=Math.max(y.offsetHeight/2,A),A=Math.min(A,d.height-y.offsetHeight/2),this.color.set("alpha",Math.round((A-y.offsetHeight/2)/(d.height-y.offsetHeight)*100))}else{var T=c.clientX-d.left;T=Math.max(y.offsetWidth/2,T),T=Math.min(T,d.width-y.offsetWidth/2),this.color.set("alpha",Math.round((T-y.offsetWidth/2)/(d.width-y.offsetWidth)*100))}},getThumbLeft:function(){if(this.vertical)return 0;var c=this.$el,d=this.color._alpha;if(!c)return 0;var y=this.$refs.thumb;return Math.round(d*(c.offsetWidth-y.offsetWidth/2)/100)},getThumbTop:function(){if(!this.vertical)return 0;var c=this.$el,d=this.color._alpha;if(!c)return 0;var y=this.$refs.thumb;return Math.round(d*(c.offsetHeight-y.offsetHeight/2)/100)},getBackground:function(){if(this.color&&this.color.value){var c=this.color.toRgb(),d=c.r,y=c.g,T=c.b;return"linear-gradient(to right, rgba("+d+", "+y+", "+T+", 0) 0%, rgba("+d+", "+y+", "+T+", 1) 100%)"}return null},update:function(){this.thumbLeft=this.getThumbLeft(),this.thumbTop=this.getThumbTop(),this.background=this.getBackground()}},data:function(){return{thumbLeft:0,thumbTop:0,background:null}},mounted:function(){var c=this,d=this.$refs,y=d.bar,T=d.thumb,A={drag:function(F){c.handleDrag(F)},end:function(F){c.handleDrag(F)}};xs(y,A),xs(T,A),this.update()}},pE=dE,iS=u(pE,nS,hE,!1);iS.options.__file="packages/color-picker/src/components/alpha-slider.vue";var vE=iS.exports,aS=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-color-predefine"},[d("div",{staticClass:"el-color-predefine__colors"},l._l(l.rgbaColors,function(y,T){return d("div",{key:l.colors[T],staticClass:"el-color-predefine__color-selector",class:{selected:y.selected,"is-alpha":y._alpha<100},on:{click:function(A){l.handleSelect(T)}}},[d("div",{style:{"background-color":y.value}})])}),0)])},gE=[];aS._withStripped=!0;var mE={props:{colors:{type:Array,required:!0},color:{required:!0}},data:function(){return{rgbaColors:this.parseColors(this.colors,this.color)}},methods:{handleSelect:function(c){this.color.fromString(this.colors[c])},parseColors:function(c,d){return c.map(function(y){var T=new hc;return T.enableAlpha=!0,T.format="rgba",T.fromString(y),T.selected=T.value===d.value,T})}},watch:{"$parent.currentColor":function(c){var d=new hc;d.fromString(c),this.rgbaColors.forEach(function(y){y.selected=d.compare(y)})},colors:function(c){this.rgbaColors=this.parseColors(c,this.color)},color:function(c){this.rgbaColors=this.parseColors(this.colors,c)}}},yE=mE,oS=u(yE,aS,gE,!1);oS.options.__file="packages/color-picker/src/components/predefine.vue";var _E=oS.exports,x={name:"el-color-picker-dropdown",mixins:[ie.a,C.a],components:{SvPanel:sE,HueSlider:fE,AlphaSlider:vE,ElInput:_.a,ElButton:Se.a,Predefine:_E},props:{color:{required:!0},showAlpha:Boolean,predefine:Array},data:function(){return{customInput:""}},computed:{currentColor:function(){var c=this.$parent;return!c.value&&!c.showPanelColor?"":c.color.value}},methods:{confirmValue:function(){this.$emit("pick")},handleConfirm:function(){this.color.fromString(this.customInput)}},mounted:function(){this.$parent.popperElm=this.popperElm=this.$el,this.referenceElm=this.$parent.$el},watch:{showPopper:function(c){var d=this;c===!0&&this.$nextTick(function(){var y=d.$refs,T=y.sl,A=y.hue,L=y.alpha;T&&T.update(),A&&A.update(),L&&L.update()})},currentColor:{immediate:!0,handler:function(c){this.customInput=c}}}},D=x,P=u(D,Zx,Qx,!1);P.options.__file="packages/color-picker/src/components/picker-dropdown.vue";var N=P.exports,W={name:"ElColorPicker",mixins:[B.a],props:{value:String,showAlpha:Boolean,colorFormat:String,disabled:Boolean,size:String,popperClass:String,predefine:Array},inject:{elForm:{default:""},elFormItem:{default:""}},directives:{Clickoutside:Le.a},computed:{displayedColor:function(){return!this.value&&!this.showPanelColor?"transparent":this.displayedRgb(this.color,this.showAlpha)},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},colorSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},colorDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{value:function(c){c?c&&c!==this.color.value&&this.color.fromString(c):this.showPanelColor=!1},color:{deep:!0,handler:function(){this.showPanelColor=!0}},displayedColor:function(c){if(this.showPicker){var d=new hc({enableAlpha:this.showAlpha,format:this.colorFormat});d.fromString(this.value);var y=this.displayedRgb(d,this.showAlpha);c!==y&&this.$emit("active-change",c)}}},methods:{handleTrigger:function(){this.colorDisabled||(this.showPicker=!this.showPicker)},confirmValue:function(){var c=this.color.value;this.$emit("input",c),this.$emit("change",c),this.dispatch("ElFormItem","el.form.change",c),this.showPicker=!1},clearValue:function(){this.$emit("input",null),this.$emit("change",null),this.value!==null&&this.dispatch("ElFormItem","el.form.change",null),this.showPanelColor=!1,this.showPicker=!1,this.resetColor()},hide:function(){this.showPicker=!1,this.resetColor()},resetColor:function(){var c=this;this.$nextTick(function(d){c.value?c.color.fromString(c.value):c.showPanelColor=!1})},displayedRgb:function(c,d){if(!(c instanceof hc))throw Error("color should be instance of Color Class");var y=c.toRgb(),T=y.r,A=y.g,L=y.b;return d?"rgba("+T+", "+A+", "+L+", "+c.get("alpha")/100+")":"rgb("+T+", "+A+", "+L+")"}},mounted:function(){var c=this.value;c&&this.color.fromString(c),this.popperElm=this.$refs.dropdown.$el},data:function(){var c=new hc({enableAlpha:this.showAlpha,format:this.colorFormat});return{color:c,showPicker:!1,showPanelColor:!1}},components:{PickerDropdown:N}},K=W,J=u(K,qx,$g,!1);J.options.__file="packages/color-picker/src/main.vue";var ne=J.exports;ne.install=function(l){l.component(ne.name,ne)};var ce=ne,Me=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-transfer"},[d("transfer-panel",l._b({ref:"leftPanel",attrs:{data:l.sourceData,title:l.titles[0]||l.t("el.transfer.titles.0"),"default-checked":l.leftDefaultChecked,placeholder:l.filterPlaceholder||l.t("el.transfer.filterPlaceholder")},on:{"checked-change":l.onSourceCheckedChange}},"transfer-panel",l.$props,!1),[l._t("left-footer")],2),d("div",{staticClass:"el-transfer__buttons"},[d("el-button",{class:["el-transfer__button",l.hasButtonTexts?"is-with-texts":""],attrs:{type:"primary",disabled:l.rightChecked.length===0},nativeOn:{click:function(y){return l.addToLeft(y)}}},[d("i",{staticClass:"el-icon-arrow-left"}),l.buttonTexts[0]!==void 0?d("span",[l._v(l._s(l.buttonTexts[0]))]):l._e()]),d("el-button",{class:["el-transfer__button",l.hasButtonTexts?"is-with-texts":""],attrs:{type:"primary",disabled:l.leftChecked.length===0},nativeOn:{click:function(y){return l.addToRight(y)}}},[l.buttonTexts[1]!==void 0?d("span",[l._v(l._s(l.buttonTexts[1]))]):l._e(),d("i",{staticClass:"el-icon-arrow-right"})])],1),d("transfer-panel",l._b({ref:"rightPanel",attrs:{data:l.targetData,title:l.titles[1]||l.t("el.transfer.titles.1"),"default-checked":l.rightDefaultChecked,placeholder:l.filterPlaceholder||l.t("el.transfer.filterPlaceholder")},on:{"checked-change":l.onTargetCheckedChange}},"transfer-panel",l.$props,!1),[l._t("right-footer")],2)],1)},ke=[];Me._withStripped=!0;var Pe=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-transfer-panel"},[d("p",{staticClass:"el-transfer-panel__header"},[d("el-checkbox",{attrs:{indeterminate:l.isIndeterminate},on:{change:l.handleAllCheckedChange},model:{value:l.allChecked,callback:function(y){l.allChecked=y},expression:"allChecked"}},[l._v(` - `+l._s(l.title)+` - `),d("span",[l._v(l._s(l.checkedSummary))])])],1),d("div",{class:["el-transfer-panel__body",l.hasFooter?"is-with-footer":""]},[l.filterable?d("el-input",{staticClass:"el-transfer-panel__filter",attrs:{size:"small",placeholder:l.placeholder},nativeOn:{mouseenter:function(y){l.inputHover=!0},mouseleave:function(y){l.inputHover=!1}},model:{value:l.query,callback:function(y){l.query=y},expression:"query"}},[d("i",{class:["el-input__icon","el-icon-"+l.inputIcon],attrs:{slot:"prefix"},on:{click:l.clearQuery},slot:"prefix"})]):l._e(),d("el-checkbox-group",{directives:[{name:"show",rawName:"v-show",value:!l.hasNoMatch&&l.data.length>0,expression:"!hasNoMatch && data.length > 0"}],staticClass:"el-transfer-panel__list",class:{"is-filterable":l.filterable},model:{value:l.checked,callback:function(y){l.checked=y},expression:"checked"}},l._l(l.filteredData,function(y){return d("el-checkbox",{key:y[l.keyProp],staticClass:"el-transfer-panel__item",attrs:{label:y[l.keyProp],disabled:y[l.disabledProp]}},[d("option-content",{attrs:{option:y}})],1)}),1),d("p",{directives:[{name:"show",rawName:"v-show",value:l.hasNoMatch,expression:"hasNoMatch"}],staticClass:"el-transfer-panel__empty"},[l._v(l._s(l.t("el.transfer.noMatch")))]),d("p",{directives:[{name:"show",rawName:"v-show",value:l.data.length===0&&!l.hasNoMatch,expression:"data.length === 0 && !hasNoMatch"}],staticClass:"el-transfer-panel__empty"},[l._v(l._s(l.t("el.transfer.noData")))])],1),l.hasFooter?d("p",{staticClass:"el-transfer-panel__footer"},[l._t("default")],2):l._e()])},qe=[];Pe._withStripped=!0;var tt={mixins:[C.a],name:"ElTransferPanel",componentName:"ElTransferPanel",components:{ElCheckboxGroup:Y.a,ElCheckbox:wi.a,ElInput:_.a,OptionContent:{props:{option:Object},render:function(c){var d=function A(L){return L.$options.componentName==="ElTransferPanel"?L:L.$parent?A(L.$parent):L},y=d(this),T=y.$parent||y;return y.renderContent?y.renderContent(c,this.option):T.$scopedSlots.default?T.$scopedSlots.default({option:this.option}):c("span",[this.option[y.labelProp]||this.option[y.keyProp]])}}},props:{data:{type:Array,default:function(){return[]}},renderContent:Function,placeholder:String,title:String,filterable:Boolean,format:Object,filterMethod:Function,defaultChecked:Array,props:Object},data:function(){return{checked:[],allChecked:!1,query:"",inputHover:!1,checkChangeByUser:!0}},watch:{checked:function(c,d){if(this.updateAllChecked(),this.checkChangeByUser){var y=c.concat(d).filter(function(T){return c.indexOf(T)===-1||d.indexOf(T)===-1});this.$emit("checked-change",c,y)}else this.$emit("checked-change",c),this.checkChangeByUser=!0},data:function(){var c=this,d=[],y=this.filteredData.map(function(T){return T[c.keyProp]});this.checked.forEach(function(T){y.indexOf(T)>-1&&d.push(T)}),this.checkChangeByUser=!1,this.checked=d},checkableData:function(){this.updateAllChecked()},defaultChecked:{immediate:!0,handler:function(c,d){var y=this;if(!(d&&c.length===d.length&&c.every(function(L){return d.indexOf(L)>-1}))){var T=[],A=this.checkableData.map(function(L){return L[y.keyProp]});c.forEach(function(L){A.indexOf(L)>-1&&T.push(L)}),this.checkChangeByUser=!1,this.checked=T}}}},computed:{filteredData:function(){var c=this;return this.data.filter(function(d){if(typeof c.filterMethod=="function")return c.filterMethod(c.query,d);var y=d[c.labelProp]||d[c.keyProp].toString();return y.toLowerCase().indexOf(c.query.toLowerCase())>-1})},checkableData:function(){var c=this;return this.filteredData.filter(function(d){return!d[c.disabledProp]})},checkedSummary:function(){var c=this.checked.length,d=this.data.length,y=this.format,T=y.noChecked,A=y.hasChecked;return T&&A?c>0?A.replace(/\${checked}/g,c).replace(/\${total}/g,d):T.replace(/\${total}/g,d):c+"/"+d},isIndeterminate:function(){var c=this.checked.length;return c>0&&c0&&this.filteredData.length===0},inputIcon:function(){return this.query.length>0&&this.inputHover?"circle-close":"search"},labelProp:function(){return this.props.label||"label"},keyProp:function(){return this.props.key||"key"},disabledProp:function(){return this.props.disabled||"disabled"},hasFooter:function(){return!!this.$slots.default}},methods:{updateAllChecked:function(){var c=this,d=this.checkableData.map(function(y){return y[c.keyProp]});this.allChecked=d.length>0&&d.every(function(y){return c.checked.indexOf(y)>-1})},handleAllCheckedChange:function(c){var d=this;this.checked=c?this.checkableData.map(function(y){return y[d.keyProp]}):[]},clearQuery:function(){this.inputIcon==="circle-close"&&(this.query="")}}},ht=tt,Nt=u(ht,Pe,qe,!1);Nt.options.__file="packages/transfer/src/transfer-panel.vue";var ct=Nt.exports,Vt={name:"ElTransfer",mixins:[B.a,C.a,V.a],components:{TransferPanel:ct,ElButton:Se.a},props:{data:{type:Array,default:function(){return[]}},titles:{type:Array,default:function(){return[]}},buttonTexts:{type:Array,default:function(){return[]}},filterPlaceholder:{type:String,default:""},filterMethod:Function,leftDefaultChecked:{type:Array,default:function(){return[]}},rightDefaultChecked:{type:Array,default:function(){return[]}},renderContent:Function,value:{type:Array,default:function(){return[]}},format:{type:Object,default:function(){return{}}},filterable:Boolean,props:{type:Object,default:function(){return{label:"label",key:"key",disabled:"disabled"}}},targetOrder:{type:String,default:"original"}},data:function(){return{leftChecked:[],rightChecked:[]}},computed:{dataObj:function(){var c=this.props.key;return this.data.reduce(function(d,y){return(d[y[c]]=y)&&d},{})},sourceData:function(){var c=this;return this.data.filter(function(d){return c.value.indexOf(d[c.props.key])===-1})},targetData:function(){var c=this;return this.targetOrder==="original"?this.data.filter(function(d){return c.value.indexOf(d[c.props.key])>-1}):this.value.reduce(function(d,y){var T=c.dataObj[y];return T&&d.push(T),d},[])},hasButtonTexts:function(){return this.buttonTexts.length===2}},watch:{value:function(c){this.dispatch("ElFormItem","el.form.change",c)}},methods:{getMigratingConfig:function(){return{props:{"footer-format":"footer-format is renamed to format."}}},onSourceCheckedChange:function(c,d){this.leftChecked=c,d!==void 0&&this.$emit("left-check-change",c,d)},onTargetCheckedChange:function(c,d){this.rightChecked=c,d!==void 0&&this.$emit("right-check-change",c,d)},addToLeft:function(){var c=this.value.slice();this.rightChecked.forEach(function(d){var y=c.indexOf(d);y>-1&&c.splice(y,1)}),this.$emit("input",c),this.$emit("change",c,"left",this.rightChecked)},addToRight:function(){var c=this,d=this.value.slice(),y=[],T=this.props.key;this.data.forEach(function(A){var L=A[T];c.leftChecked.indexOf(L)>-1&&c.value.indexOf(L)===-1&&y.push(L)}),d=this.targetOrder==="unshift"?y.concat(d):d.concat(y),this.$emit("input",d),this.$emit("change",d,"right",this.leftChecked)},clearQuery:function(c){c==="left"?this.$refs.leftPanel.query="":c==="right"&&(this.$refs.rightPanel.query="")}}},er=Vt,$r=u(er,Me,ke,!1);$r.options.__file="packages/transfer/src/main.vue";var Jr=$r.exports;Jr.install=function(l){l.component(Jr.name,Jr)};var qa=Jr,Dr=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("section",{staticClass:"el-container",class:{"is-vertical":l.isVertical}},[l._t("default")],2)},qi=[];Dr._withStripped=!0;var Ka={name:"ElContainer",componentName:"ElContainer",props:{direction:String},computed:{isVertical:function(){return this.direction==="vertical"?!0:this.direction==="horizontal"?!1:this.$slots&&this.$slots.default?this.$slots.default.some(function(c){var d=c.componentOptions&&c.componentOptions.tag;return d==="el-header"||d==="el-footer"}):!1}}},sS=Ka,z$=u(sS,Dr,qi,!1);z$.options.__file="packages/container/src/main.vue";var lS=z$.exports;lS.install=function(l){l.component(lS.name,lS)};var V$=lS,H$=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("header",{staticClass:"el-header",style:{height:l.height}},[l._t("default")],2)},dJ=[];H$._withStripped=!0;var pJ={name:"ElHeader",componentName:"ElHeader",props:{height:{type:String,default:"60px"}}},vJ=pJ,j$=u(vJ,H$,dJ,!1);j$.options.__file="packages/header/src/main.vue";var uS=j$.exports;uS.install=function(l){l.component(uS.name,uS)};var W$=uS,G$=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("aside",{staticClass:"el-aside",style:{width:l.width}},[l._t("default")],2)},gJ=[];G$._withStripped=!0;var mJ={name:"ElAside",componentName:"ElAside",props:{width:{type:String,default:"300px"}}},yJ=mJ,U$=u(yJ,G$,gJ,!1);U$.options.__file="packages/aside/src/main.vue";var cS=U$.exports;cS.install=function(l){l.component(cS.name,cS)};var Y$=cS,q$=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("main",{staticClass:"el-main"},[l._t("default")],2)},_J=[];q$._withStripped=!0;var bJ={name:"ElMain",componentName:"ElMain"},xJ=bJ,K$=u(xJ,q$,_J,!1);K$.options.__file="packages/main/src/main.vue";var fS=K$.exports;fS.install=function(l){l.component(fS.name,fS)};var X$=fS,Z$=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("footer",{staticClass:"el-footer",style:{height:l.height}},[l._t("default")],2)},SJ=[];Z$._withStripped=!0;var wJ={name:"ElFooter",componentName:"ElFooter",props:{height:{type:String,default:"60px"}}},CJ=wJ,Q$=u(CJ,Z$,SJ,!1);Q$.options.__file="packages/footer/src/main.vue";var hS=Q$.exports;hS.install=function(l){l.component(hS.name,hS)};var J$=hS,TJ={name:"ElTimeline",props:{reverse:{type:Boolean,default:!1}},provide:function(){return{timeline:this}},render:function(){var c=arguments[0],d=this.reverse,y={"el-timeline":!0,"is-reverse":d},T=this.$slots.default||[];return d&&(T=T.reverse()),c("ul",{class:y},[T])}},DJ=TJ,kJ,MJ,eB=u(DJ,kJ,MJ,!1);eB.options.__file="packages/timeline/src/main.vue";var dS=eB.exports;dS.install=function(l){l.component(dS.name,dS)};var tB=dS,rB=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("li",{staticClass:"el-timeline-item"},[d("div",{staticClass:"el-timeline-item__tail"}),l.$slots.dot?l._e():d("div",{staticClass:"el-timeline-item__node",class:["el-timeline-item__node--"+(l.size||""),"el-timeline-item__node--"+(l.type||"")],style:{backgroundColor:l.color}},[l.icon?d("i",{staticClass:"el-timeline-item__icon",class:l.icon}):l._e()]),l.$slots.dot?d("div",{staticClass:"el-timeline-item__dot"},[l._t("dot")],2):l._e(),d("div",{staticClass:"el-timeline-item__wrapper"},[!l.hideTimestamp&&l.placement==="top"?d("div",{staticClass:"el-timeline-item__timestamp is-top"},[l._v(` - `+l._s(l.timestamp)+` - `)]):l._e(),d("div",{staticClass:"el-timeline-item__content"},[l._t("default")],2),!l.hideTimestamp&&l.placement==="bottom"?d("div",{staticClass:"el-timeline-item__timestamp is-bottom"},[l._v(` - `+l._s(l.timestamp)+` - `)]):l._e()])])},AJ=[];rB._withStripped=!0;var EJ={name:"ElTimelineItem",inject:["timeline"],props:{timestamp:String,hideTimestamp:{type:Boolean,default:!1},placement:{type:String,default:"bottom"},type:String,color:String,size:{type:String,default:"normal"},icon:String}},IJ=EJ,nB=u(IJ,rB,AJ,!1);nB.options.__file="packages/timeline/src/item.vue";var pS=nB.exports;pS.install=function(l){l.component(pS.name,pS)};var iB=pS,aB=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("a",l._b({class:["el-link",l.type?"el-link--"+l.type:"",l.disabled&&"is-disabled",l.underline&&!l.disabled&&"is-underline"],attrs:{href:l.disabled?null:l.href},on:{click:l.handleClick}},"a",l.$attrs,!1),[l.icon?d("i",{class:l.icon}):l._e(),l.$slots.default?d("span",{staticClass:"el-link--inner"},[l._t("default")],2):l._e(),l.$slots.icon?[l.$slots.icon?l._t("icon"):l._e()]:l._e()],2)},PJ=[];aB._withStripped=!0;var LJ={name:"ElLink",props:{type:{type:String,default:"default"},underline:{type:Boolean,default:!0},disabled:Boolean,href:String,icon:String},methods:{handleClick:function(c){this.disabled||this.href||this.$emit("click",c)}}},OJ=LJ,oB=u(OJ,aB,PJ,!1);oB.options.__file="packages/link/src/main.vue";var vS=oB.exports;vS.install=function(l){l.component(vS.name,vS)};var sB=vS,lB=function(l,c){var d=c._c;return d("div",c._g(c._b({class:[c.data.staticClass,"el-divider","el-divider--"+c.props.direction]},"div",c.data.attrs,!1),c.listeners),[c.slots().default&&c.props.direction!=="vertical"?d("div",{class:["el-divider__text","is-"+c.props.contentPosition]},[c._t("default")],2):c._e()])},RJ=[];lB._withStripped=!0;var NJ={name:"ElDivider",props:{direction:{type:String,default:"horizontal",validator:function(c){return["horizontal","vertical"].indexOf(c)!==-1}},contentPosition:{type:String,default:"center",validator:function(c){return["left","center","right"].indexOf(c)!==-1}}}},FJ=NJ,uB=u(FJ,lB,RJ,!0);uB.options.__file="packages/divider/src/main.vue";var gS=uB.exports;gS.install=function(l){l.component(gS.name,gS)};var cB=gS,fB=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-image"},[l.loading?l._t("placeholder",[d("div",{staticClass:"el-image__placeholder"})]):l.error?l._t("error",[d("div",{staticClass:"el-image__error"},[l._v(l._s(l.t("el.image.error")))])]):d("img",l._g(l._b({staticClass:"el-image__inner",class:{"el-image__inner--center":l.alignCenter,"el-image__preview":l.preview},style:l.imageStyle,attrs:{src:l.src},on:{click:l.clickHandler}},"img",l.$attrs,!1),l.$listeners)),l.preview?[l.showViewer?d("image-viewer",{attrs:{"z-index":l.zIndex,"initial-index":l.imageIndex,"on-close":l.closeViewer,"url-list":l.previewSrcList}}):l._e()]:l._e()],2)},$J=[];fB._withStripped=!0;var hB=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"viewer-fade"}},[d("div",{ref:"el-image-viewer__wrapper",staticClass:"el-image-viewer__wrapper",style:{"z-index":l.viewerZIndex},attrs:{tabindex:"-1"}},[d("div",{staticClass:"el-image-viewer__mask",on:{click:function(y){return y.target!==y.currentTarget?null:l.handleMaskClick(y)}}}),d("span",{staticClass:"el-image-viewer__btn el-image-viewer__close",on:{click:l.hide}},[d("i",{staticClass:"el-icon-close"})]),l.isSingle?l._e():[d("span",{staticClass:"el-image-viewer__btn el-image-viewer__prev",class:{"is-disabled":!l.infinite&&l.isFirst},on:{click:l.prev}},[d("i",{staticClass:"el-icon-arrow-left"})]),d("span",{staticClass:"el-image-viewer__btn el-image-viewer__next",class:{"is-disabled":!l.infinite&&l.isLast},on:{click:l.next}},[d("i",{staticClass:"el-icon-arrow-right"})])],d("div",{staticClass:"el-image-viewer__btn el-image-viewer__actions"},[d("div",{staticClass:"el-image-viewer__actions__inner"},[d("i",{staticClass:"el-icon-zoom-out",on:{click:function(y){l.handleActions("zoomOut")}}}),d("i",{staticClass:"el-icon-zoom-in",on:{click:function(y){l.handleActions("zoomIn")}}}),d("i",{staticClass:"el-image-viewer__actions__divider"}),d("i",{class:l.mode.icon,on:{click:l.toggleMode}}),d("i",{staticClass:"el-image-viewer__actions__divider"}),d("i",{staticClass:"el-icon-refresh-left",on:{click:function(y){l.handleActions("anticlocelise")}}}),d("i",{staticClass:"el-icon-refresh-right",on:{click:function(y){l.handleActions("clocelise")}}})])]),d("div",{staticClass:"el-image-viewer__canvas"},l._l(l.urlList,function(y,T){return T===l.index?d("img",{key:y,ref:"img",refInFor:!0,staticClass:"el-image-viewer__img",style:l.imgStyle,attrs:{src:l.currentImg},on:{load:l.handleImgLoad,error:l.handleImgError,mousedown:l.handleMouseDown}}):l._e()}),0)],2)])},BJ=[];hB._withStripped=!0;var zJ=Object.assign||function(l){for(var c=1;cc?this.zIndex:c}},watch:{index:{handler:function(c){this.reset(),this.onSwitch(c)}},currentImg:function(c){var d=this;this.$nextTick(function(y){var T=d.$refs.img[0];T.complete||(d.loading=!0)})}},methods:{hide:function(){this.deviceSupportUninstall(),this.onClose()},deviceSupportInstall:function(){var c=this;this._keyDownHandler=function(d){d.stopPropagation();var y=d.keyCode;switch(y){case 27:c.hide();break;case 32:c.toggleMode();break;case 37:c.prev();break;case 38:c.handleActions("zoomIn");break;case 39:c.next();break;case 40:c.handleActions("zoomOut");break}},this._mouseWheelHandler=Object(w.rafThrottle)(function(d){var y=d.wheelDelta?d.wheelDelta:-d.detail;y>0?c.handleActions("zoomIn",{zoomRate:.015,enableTransition:!1}):c.handleActions("zoomOut",{zoomRate:.015,enableTransition:!1})}),Object(Ee.on)(document,"keydown",this._keyDownHandler),Object(Ee.on)(document,dB,this._mouseWheelHandler)},deviceSupportUninstall:function(){Object(Ee.off)(document,"keydown",this._keyDownHandler),Object(Ee.off)(document,dB,this._mouseWheelHandler),this._keyDownHandler=null,this._mouseWheelHandler=null},handleImgLoad:function(c){this.loading=!1},handleImgError:function(c){this.loading=!1,c.target.alt="加载失败"},handleMouseDown:function(c){var d=this;if(!(this.loading||c.button!==0)){var y=this.transform,T=y.offsetX,A=y.offsetY,L=c.pageX,F=c.pageY;this._dragHandler=Object(w.rafThrottle)(function(G){d.transform.offsetX=T+G.pageX-L,d.transform.offsetY=A+G.pageY-F}),Object(Ee.on)(document,"mousemove",this._dragHandler),Object(Ee.on)(document,"mouseup",function(G){Object(Ee.off)(document,"mousemove",d._dragHandler)}),c.preventDefault()}},handleMaskClick:function(){this.maskClosable&&this.hide()},reset:function(){this.transform={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}},toggleMode:function(){if(!this.loading){var c=Object.keys(jg),d=Object.values(jg),y=d.indexOf(this.mode),T=(y+1)%c.length;this.mode=jg[c[T]],this.reset()}},prev:function(){if(!(this.isFirst&&!this.infinite)){var c=this.urlList.length;this.index=(this.index-1+c)%c}},next:function(){if(!(this.isLast&&!this.infinite)){var c=this.urlList.length;this.index=(this.index+1)%c}},handleActions:function(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.loading){var y=zJ({zoomRate:.2,rotateDeg:90,enableTransition:!0},d),T=y.zoomRate,A=y.rotateDeg,L=y.enableTransition,F=this.transform;switch(c){case"zoomOut":F.scale>.2&&(F.scale=parseFloat((F.scale-T).toFixed(3)));break;case"zoomIn":F.scale=parseFloat((F.scale+T).toFixed(3));break;case"clocelise":F.deg+=A;break;case"anticlocelise":F.deg-=A;break}F.enableTransition=L}}},mounted:function(){this.deviceSupportInstall(),this.appendToBody&&document.body.appendChild(this.$el),this.$refs["el-image-viewer__wrapper"].focus()},destroyed:function(){this.appendToBody&&this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}},HJ=VJ,pB=u(HJ,hB,BJ,!1);pB.options.__file="packages/image/src/image-viewer.vue";var jJ=pB.exports,vB=function(){return document.documentElement.style.objectFit!==void 0},dc={NONE:"none",CONTAIN:"contain",COVER:"cover",FILL:"fill",SCALE_DOWN:"scale-down"},gB="",WJ={name:"ElImage",mixins:[C.a],inheritAttrs:!1,components:{ImageViewer:jJ},props:{src:String,fit:String,lazy:Boolean,scrollContainer:{},previewSrcList:{type:Array,default:function(){return[]}},zIndex:{type:Number,default:2e3},initialIndex:Number},data:function(){return{loading:!0,error:!1,show:!this.lazy,imageWidth:0,imageHeight:0,showViewer:!1}},computed:{imageStyle:function(){var c=this.fit;return!this.$isServer&&c?vB()?{"object-fit":c}:this.getImageStyle(c):{}},alignCenter:function(){return!this.$isServer&&!vB()&&this.fit!==dc.FILL},preview:function(){var c=this.previewSrcList;return Array.isArray(c)&&c.length>0},imageIndex:function(){var c=0,d=this.initialIndex;if(d>=0)return c=d,c;var y=this.previewSrcList.indexOf(this.src);return y>=0&&(c=y),c}},watch:{src:function(c){this.show&&this.loadImage()},show:function(c){c&&this.loadImage()}},mounted:function(){this.lazy?this.addLazyLoadListener():this.loadImage()},beforeDestroy:function(){this.lazy&&this.removeLazyLoadListener()},methods:{loadImage:function(){var c=this;if(!this.$isServer){this.loading=!0,this.error=!1;var d=new Image;d.onload=function(y){return c.handleLoad(y,d)},d.onerror=this.handleError.bind(this),Object.keys(this.$attrs).forEach(function(y){var T=c.$attrs[y];d.setAttribute(y,T)}),d.src=this.src}},handleLoad:function(c,d){this.imageWidth=d.width,this.imageHeight=d.height,this.loading=!1,this.error=!1},handleError:function(c){this.loading=!1,this.error=!0,this.$emit("error",c)},handleLazyLoad:function(){Object(Ee.isInContainer)(this.$el,this._scrollContainer)&&(this.show=!0,this.removeLazyLoadListener())},addLazyLoadListener:function(){if(!this.$isServer){var c=this.scrollContainer,d=null;Object(Sn.isHtmlElement)(c)?d=c:Object(Sn.isString)(c)?d=document.querySelector(c):d=Object(Ee.getScrollContainer)(this.$el),d&&(this._scrollContainer=d,this._lazyLoadHandler=uc()(200,this.handleLazyLoad),Object(Ee.on)(d,"scroll",this._lazyLoadHandler),this.handleLazyLoad())}},removeLazyLoadListener:function(){var c=this._scrollContainer,d=this._lazyLoadHandler;this.$isServer||!c||!d||(Object(Ee.off)(c,"scroll",d),this._scrollContainer=null,this._lazyLoadHandler=null)},getImageStyle:function(c){var d=this.imageWidth,y=this.imageHeight,T=this.$el,A=T.clientWidth,L=T.clientHeight;if(!d||!y||!A||!L)return{};var F=d/y,G=A/L;if(c===dc.SCALE_DOWN){var q=dA)return console.warn("[ElementCalendar]end time should be greater than start time"),[];if(Object(ue.validateRangeInOneMonth)(T,A))return[[T,A]];var L=[],F=new Date(T.getFullYear(),T.getMonth()+1,1),G=this.toDate(F.getTime()-xB);if(!Object(ue.validateRangeInOneMonth)(F,A))return console.warn("[ElementCalendar]start time and end time interval must not exceed two months"),[];L.push([T,G]);var q=this.realFirstDayOfWeek,te=F.getDay(),se=0;return te!==q&&(q===0?se=7-te:(se=q-te,se=se>0?se:7+se)),F=this.toDate(F.getTime()+se*xB),F.getDate()6?0:Math.floor(this.firstDayOfWeek)}},data:function(){return{selectedDay:"",now:new Date}}},ree=tee,SB=u(ree,_B,UJ,!1);SB.options.__file="packages/calendar/src/main.vue";var yS=SB.exports;yS.install=function(l){l.component(yS.name,yS)};var wB=yS,CB=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-fade-in"}},[l.visible?d("div",{staticClass:"el-backtop",style:{right:l.styleRight,bottom:l.styleBottom},on:{click:function(y){return y.stopPropagation(),l.handleClick(y)}}},[l._t("default",[d("el-icon",{attrs:{name:"caret-top"}})])],2):l._e()])},nee=[];CB._withStripped=!0;var TB=function(c){return Math.pow(c,3)},iee=function(c){return c<.5?TB(c*2)/2:1-TB((1-c)*2)/2},aee={name:"ElBacktop",props:{visibilityHeight:{type:Number,default:200},target:[String],right:{type:Number,default:40},bottom:{type:Number,default:40}},data:function(){return{el:null,container:null,visible:!1}},computed:{styleBottom:function(){return this.bottom+"px"},styleRight:function(){return this.right+"px"}},mounted:function(){this.init(),this.throttledScrollHandler=uc()(300,this.onScroll),this.container.addEventListener("scroll",this.throttledScrollHandler)},methods:{init:function(){if(this.container=document,this.el=document.documentElement,this.target){if(this.el=document.querySelector(this.target),!this.el)throw new Error("target is not existed: "+this.target);this.container=this.el}},onScroll:function(){var c=this.el.scrollTop;this.visible=c>=this.visibilityHeight},handleClick:function(c){this.scrollToTop(),this.$emit("click",c)},scrollToTop:function(){var c=this.el,d=Date.now(),y=c.scrollTop,T=window.requestAnimationFrame||function(L){return setTimeout(L,16)},A=function L(){var F=(Date.now()-d)/500;F<1?(c.scrollTop=y*(1-iee(F)),T(L)):c.scrollTop=0};T(A)}},beforeDestroy:function(){this.container.removeEventListener("scroll",this.throttledScrollHandler)}},oee=aee,DB=u(oee,CB,nee,!1);DB.options.__file="packages/backtop/src/main.vue";var _S=DB.exports;_S.install=function(l){l.component(_S.name,_S)};var kB=_S,see=function(c,d){if(c===window&&(c=document.documentElement),c.nodeType!==1)return[];var y=window.getComputedStyle(c,null);return y[d]},lee=function(c){return Object.keys(c||{}).map(function(d){return[d,c[d]]})},MB=function(c,d){return c===window||c===document?document.documentElement[d]:c[d]},AB=function(c){return MB(c,"offsetHeight")},uee=function(c){return MB(c,"clientHeight")},Wg="ElInfiniteScroll",cee={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},EB=function(c,d){return Object(Sn.isHtmlElement)(c)?lee(cee).reduce(function(y,T){var A=T[0],L=T[1],F=L.type,G=L.default,q=c.getAttribute("infinite-scroll-"+A);switch(q=Object(Sn.isUndefined)(d[q])?q:d[q],F){case Number:q=Number(q),q=Number.isNaN(q)?G:q;break;case Boolean:q=Object(Sn.isDefined)(q)?q==="false"?!1:!!q:G;break;default:q=F(q)}return y[A]=q,y},{}):{}},IB=function(c){return c.getBoundingClientRect().top},fee=function(c){var d=this[Wg],y=d.el,T=d.vm,A=d.container,L=d.observer,F=EB(y,T),G=F.distance,q=F.disabled;if(!q){var te=A.getBoundingClientRect();if(!(!te.width&&!te.height)){var se=!1;if(A===y){var Ae=A.scrollTop+uee(A);se=A.scrollHeight-Ae<=G}else{var $e=AB(y)+IB(y)-IB(A),Ve=AB(A),Ue=Number.parseFloat(see(A,"borderBottomWidth"));se=$e-Ve+Ue<=G}se&&Object(Sn.isFunction)(c)?c.call(T):L&&(L.disconnect(),this[Wg].observer=null)}}},bS={name:"InfiniteScroll",inserted:function(c,d,y){var T=d.value,A=y.context,L=Object(Ee.getScrollContainer)(c,!0),F=EB(c,A),G=F.delay,q=F.immediate,te=_e()(G,fee.bind(c,T));if(c[Wg]={el:c,vm:A,container:L,onScroll:te},L&&(L.addEventListener("scroll",te),q)){var se=c[Wg].observer=new MutationObserver(te);se.observe(L,{childList:!0,subtree:!0}),te()}},unbind:function(c){var d=c[Wg],y=d.container,T=d.onScroll;y&&y.removeEventListener("scroll",T)}};bS.install=function(l){l.directive(bS.name,bS)};var PB=bS,LB=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-page-header"},[d("div",{staticClass:"el-page-header__left",on:{click:function(y){l.$emit("back")}}},[d("i",{staticClass:"el-icon-back"}),d("div",{staticClass:"el-page-header__title"},[l._t("title",[l._v(l._s(l.title))])],2)]),d("div",{staticClass:"el-page-header__content"},[l._t("content",[l._v(l._s(l.content))])],2)])},hee=[];LB._withStripped=!0;var dee={name:"ElPageHeader",props:{title:{type:String,default:function(){return Object(Di.t)("el.pageHeader.title")}},content:String}},pee=dee,OB=u(pee,LB,hee,!1);OB.options.__file="packages/page-header/src/main.vue";var xS=OB.exports;xS.install=function(l){l.component(xS.name,xS)};var RB=xS,NB=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{class:["el-cascader-panel",l.border&&"is-bordered"],on:{keydown:l.handleKeyDown}},l._l(l.menus,function(y,T){return d("cascader-menu",{key:T,ref:"menu",refInFor:!0,attrs:{index:T,nodes:y}})}),1)},vee=[];NB._withStripped=!0;var gee=n(44),mee=n.n(gee),FB=function(c){return c.stopPropagation()},yee={inject:["panel"],components:{ElCheckbox:wi.a,ElRadio:mee.a},props:{node:{required:!0},nodeId:String},computed:{config:function(){return this.panel.config},isLeaf:function(){return this.node.isLeaf},isDisabled:function(){return this.node.isDisabled},checkedValue:function(){return this.panel.checkedValue},isChecked:function(){return this.node.isSameNode(this.checkedValue)},inActivePath:function(){return this.isInPath(this.panel.activePath)},inCheckedPath:function(){var c=this;return this.config.checkStrictly?this.panel.checkedNodePaths.some(function(d){return c.isInPath(d)}):!1},value:function(){return this.node.getValueByOption()}},methods:{handleExpand:function(){var c=this,d=this.panel,y=this.node,T=this.isDisabled,A=this.config,L=A.multiple,F=A.checkStrictly;!F&&T||y.loading||(A.lazy&&!y.loaded?d.lazyLoad(y,function(){var G=c.isLeaf;if(G||c.handleExpand(),L){var q=G?y.checked:!1;c.handleMultiCheckChange(q)}}):d.handleExpand(y))},handleCheckChange:function(){var c=this.panel,d=this.value,y=this.node;c.handleCheckChange(d),c.handleExpand(y)},handleMultiCheckChange:function(c){this.node.doCheck(c),this.panel.calculateMultiCheckedValue()},isInPath:function(c){var d=this.node,y=c[d.level-1]||{};return y.uid===d.uid},renderPrefix:function(c){var d=this.isLeaf,y=this.isChecked,T=this.config,A=T.checkStrictly,L=T.multiple;return L?this.renderCheckbox(c):A?this.renderRadio(c):d&&y?this.renderCheckIcon(c):null},renderPostfix:function(c){var d=this.node,y=this.isLeaf;return d.loading?this.renderLoadingIcon(c):y?null:this.renderExpandIcon(c)},renderCheckbox:function(c){var d=this.node,y=this.config,T=this.isDisabled,A={on:{change:this.handleMultiCheckChange},nativeOn:{}};return y.checkStrictly&&(A.nativeOn.click=FB),c("el-checkbox",ac()([{attrs:{value:d.checked,indeterminate:d.indeterminate,disabled:T}},A]))},renderRadio:function(c){var d=this.checkedValue,y=this.value,T=this.isDisabled;return Object(w.isEqual)(y,d)&&(y=d),c("el-radio",{attrs:{value:d,label:y,disabled:T},on:{change:this.handleCheckChange},nativeOn:{click:FB}},[c("span")])},renderCheckIcon:function(c){return c("i",{class:"el-icon-check el-cascader-node__prefix"})},renderLoadingIcon:function(c){return c("i",{class:"el-icon-loading el-cascader-node__postfix"})},renderExpandIcon:function(c){return c("i",{class:"el-icon-arrow-right el-cascader-node__postfix"})},renderContent:function(c){var d=this.panel,y=this.node,T=d.renderLabelFn,A=T?T({node:y,data:y.data}):null;return c("span",{class:"el-cascader-node__label"},[A||y.label])}},render:function(c){var d=this,y=this.inActivePath,T=this.inCheckedPath,A=this.isChecked,L=this.isLeaf,F=this.isDisabled,G=this.config,q=this.nodeId,te=G.expandTrigger,se=G.checkStrictly,Ae=G.multiple,$e=!se&&F,Ve={on:{}};return te==="click"?Ve.on.click=this.handleExpand:(Ve.on.mouseenter=function(Ue){d.handleExpand(),d.$emit("expand",Ue)},Ve.on.focus=function(Ue){d.handleExpand(),d.$emit("expand",Ue)}),L&&!F&&!se&&!Ae&&(Ve.on.click=this.handleCheckChange),c("li",ac()([{attrs:{role:"menuitem",id:q,"aria-expanded":y,tabindex:$e?null:-1},class:{"el-cascader-node":!0,"is-selectable":se,"in-active-path":y,"in-checked-path":T,"is-active":A,"is-disabled":$e}},Ve]),[this.renderPrefix(c),this.renderContent(c),this.renderPostfix(c)])}},_ee=yee,bee,xee,$B=u(_ee,bee,xee,!1);$B.options.__file="packages/cascader-panel/src/cascader-node.vue";var See=$B.exports,wee={name:"ElCascaderMenu",mixins:[C.a],inject:["panel"],components:{ElScrollbar:Fe.a,CascaderNode:See},props:{nodes:{type:Array,required:!0},index:Number},data:function(){return{activeNode:null,hoverTimer:null,id:Object(w.generateId)()}},computed:{isEmpty:function(){return!this.nodes.length},menuId:function(){return"cascader-menu-"+this.id+"-"+this.index}},methods:{handleExpand:function(c){this.activeNode=c.target},handleMouseMove:function(c){var d=this.activeNode,y=this.hoverTimer,T=this.$refs.hoverZone;if(!(!d||!T))if(d.contains(c.target)){clearTimeout(y);var A=this.$el.getBoundingClientRect(),L=A.left,F=c.clientX-L,G=this.$el,q=G.offsetWidth,te=G.offsetHeight,se=d.offsetTop,Ae=se+d.offsetHeight;T.innerHTML=` - - - `}else y||(this.hoverTimer=setTimeout(this.clearHoverZone,this.panel.config.hoverThreshold))},clearHoverZone:function(){var c=this.$refs.hoverZone;c&&(c.innerHTML="")},renderEmptyText:function(c){return c("div",{class:"el-cascader-menu__empty-text"},[this.t("el.cascader.noData")])},renderNodeList:function(c){var d=this.menuId,y=this.panel.isHoverMenu,T={on:{}};y&&(T.on.expand=this.handleExpand);var A=this.nodes.map(function(L,F){var G=L.hasChildren;return c("cascader-node",ac()([{key:L.uid,attrs:{node:L,"node-id":d+"-"+F,"aria-haspopup":G,"aria-owns":G?d:null}},T]))});return[].concat(A,[y?c("svg",{ref:"hoverZone",class:"el-cascader-menu__hover-zone"}):null])}},render:function(c){var d=this.isEmpty,y=this.menuId,T={nativeOn:{}};return this.panel.isHoverMenu&&(T.nativeOn.mousemove=this.handleMouseMove),c("el-scrollbar",ac()([{attrs:{tag:"ul",role:"menu",id:y,"wrap-class":"el-cascader-menu__wrap","view-class":{"el-cascader-menu__list":!0,"is-empty":d}},class:"el-cascader-menu"},T]),[d?this.renderEmptyText(c):this.renderNodeList(c)])}},Cee=wee,Tee,Dee,BB=u(Cee,Tee,Dee,!1);BB.options.__file="packages/cascader-panel/src/cascader-menu.vue";var kee=BB.exports,Mee=function(){function l(c,d){for(var y=0;y1?y-1:0),A=1;A1?A-1:0),F=1;F0},l.prototype.syncCheckState=function(d){var y=this.getValueByOption(),T=this.isSameNode(d,y);this.doCheck(T)},l.prototype.doCheck=function(d){this.checked!==d&&(this.config.checkStrictly?this.checked=d:(this.broadcast("check",d),this.setCheckState(d),this.emit("check")))},Mee(l,[{key:"isDisabled",get:function(){var d=this.data,y=this.parent,T=this.config,A=T.disabled,L=T.checkStrictly;return d[A]||!L&&y&&y.isDisabled}},{key:"isLeaf",get:function(){var d=this.data,y=this.loaded,T=this.hasChildren,A=this.children,L=this.config,F=L.lazy,G=L.leaf;if(F){var q=Object(ss.isDef)(d[G])?d[G]:y?!A.length:!1;return this.hasChildren=!q,q}return!T}}]),l}(),zB=Iee;function Pee(l,c){if(!(l instanceof c))throw new TypeError("Cannot call a class as a function")}var Lee=function l(c,d){return c.reduce(function(y,T){return T.isLeaf?y.push(T):(!d&&y.push(T),y=y.concat(l(T.children,d))),y},[])},Oee=function(){function l(c,d){Pee(this,l),this.config=d,this.initNodes(c)}return l.prototype.initNodes=function(d){var y=this;d=Object(w.coerceTruthyValueToArray)(d),this.nodes=d.map(function(T){return new zB(T,y.config)}),this.flattedNodes=this.getFlattedNodes(!1,!1),this.leafNodes=this.getFlattedNodes(!0,!1)},l.prototype.appendNode=function(d,y){var T=new zB(d,this.config,y),A=y?y.children:this.nodes;A.push(T)},l.prototype.appendNodes=function(d,y){var T=this;d=Object(w.coerceTruthyValueToArray)(d),d.forEach(function(A){return T.appendNode(A,y)})},l.prototype.getNodes=function(){return this.nodes},l.prototype.getFlattedNodes=function(d){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,T=d?this.leafNodes:this.flattedNodes;return y?T:Lee(this.nodes,d)},l.prototype.getNodeByValue=function(d){var y=this.getFlattedNodes(!1,!this.config.lazy).filter(function(T){return Object(w.valueEquals)(T.path,d)||T.value===d});return y&&y.length?y[0]:null},l}(),VB=Oee,Ree=Object.assign||function(l){for(var c=1;c0){var Ae=y.store.getNodeByValue(q);Ae.data[se]||y.lazyLoad(Ae,function(){y.handleExpand(Ae)}),y.loadCount===y.checkedValue.length&&y.$parent.computePresentText()}}d&&d(F)};T.lazyLoad(c,A)},calculateMultiCheckedValue:function(){this.checkedValue=this.getCheckedNodes(this.leafOnly).map(function(c){return c.getValueByOption()})},scrollIntoView:function(){if(!this.$isServer){var c=this.$refs.menu||[];c.forEach(function(d){var y=d.$el;if(y){var T=y.querySelector(".el-scrollbar__wrap"),A=y.querySelector(".el-cascader-node.is-active")||y.querySelector(".el-cascader-node.in-active-path");Dv()(T,A)}})}},getNodeByValue:function(c){return this.store.getNodeByValue(c)},getFlattedNodes:function(c){var d=!this.config.lazy;return this.store.getFlattedNodes(c,d)},getCheckedNodes:function(c){var d=this.checkedValue,y=this.multiple;if(y){var T=this.getFlattedNodes(c);return T.filter(function(A){return A.checked})}else return this.isEmptyValue(d)?[]:[this.getNodeByValue(d)]},clearCheckedNodes:function(){var c=this.config,d=this.leafOnly,y=c.multiple,T=c.emitPath;y?(this.getCheckedNodes(d).filter(function(A){return!A.isDisabled}).forEach(function(A){return A.doCheck(!1)}),this.calculateMultiCheckedValue()):this.checkedValue=T?[]:null}}},Bee=$ee,GB=u(Bee,NB,vee,!1);GB.options.__file="packages/cascader-panel/src/cascader-panel.vue";var wS=GB.exports;wS.install=function(l){l.component(wS.name,wS)};var UB=wS,zee={name:"ElAvatar",props:{size:{type:[Number,String],validator:function(c){return typeof c=="string"?["large","medium","small"].includes(c):typeof c=="number"}},shape:{type:String,default:"circle",validator:function(c){return["circle","square"].includes(c)}},icon:String,src:String,alt:String,srcSet:String,error:Function,fit:{type:String,default:"cover"}},data:function(){return{isImageExist:!0}},computed:{avatarClass:function(){var c=this.size,d=this.icon,y=this.shape,T=["el-avatar"];return c&&typeof c=="string"&&T.push("el-avatar--"+c),d&&T.push("el-avatar--icon"),y&&T.push("el-avatar--"+y),T.join(" ")}},methods:{handleError:function(){var c=this.error,d=c?c():void 0;d!==!1&&(this.isImageExist=!1)},renderAvatar:function(){var c=this.$createElement,d=this.icon,y=this.src,T=this.alt,A=this.isImageExist,L=this.srcSet,F=this.fit;return A&&y?c("img",{attrs:{src:y,alt:T,srcSet:L},on:{error:this.handleError},style:{"object-fit":F}}):d?c("i",{class:d}):this.$slots.default}},render:function(){var c=arguments[0],d=this.avatarClass,y=this.size,T=typeof y=="number"?{height:y+"px",width:y+"px",lineHeight:y+"px"}:{};return c("span",{class:d,style:T},[this.renderAvatar()])}},Vee=zee,Hee,jee,YB=u(Vee,Hee,jee,!1);YB.options.__file="packages/avatar/src/main.vue";var CS=YB.exports;CS.install=function(l){l.component(CS.name,CS)};var qB=CS,KB=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("transition",{attrs:{name:"el-drawer-fade"},on:{"after-enter":l.afterEnter,"after-leave":l.afterLeave}},[d("div",{directives:[{name:"show",rawName:"v-show",value:l.visible,expression:"visible"}],staticClass:"el-drawer__wrapper",attrs:{tabindex:"-1"}},[d("div",{staticClass:"el-drawer__container",class:l.visible&&"el-drawer__open",attrs:{role:"document",tabindex:"-1"},on:{click:function(y){return y.target!==y.currentTarget?null:l.handleWrapperClick(y)}}},[d("div",{ref:"drawer",staticClass:"el-drawer",class:[l.direction,l.customClass],style:l.isHorizontal?"width: "+l.drawerSize:"height: "+l.drawerSize,attrs:{"aria-modal":"true","aria-labelledby":"el-drawer__title","aria-label":l.title,role:"dialog",tabindex:"-1"}},[l.withHeader?d("header",{staticClass:"el-drawer__header",attrs:{id:"el-drawer__title"}},[l._t("title",[d("span",{attrs:{role:"heading",title:l.title}},[l._v(l._s(l.title))])]),l.showClose?d("button",{staticClass:"el-drawer__close-btn",attrs:{"aria-label":"close "+(l.title||"drawer"),type:"button"},on:{click:l.closeDrawer}},[d("i",{staticClass:"el-dialog__close el-icon el-icon-close"})]):l._e()],2):l._e(),l.rendered?d("section",{staticClass:"el-drawer__body"},[l._t("default")],2):l._e()])])])])},Wee=[];KB._withStripped=!0;var Gee={name:"ElDrawer",mixins:[R.a,B.a],props:{appendToBody:{type:Boolean,default:!1},beforeClose:{type:Function},customClass:{type:String,default:""},closeOnPressEscape:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!1},modal:{type:Boolean,default:!0},direction:{type:String,default:"rtl",validator:function(c){return["ltr","rtl","ttb","btt"].indexOf(c)!==-1}},modalAppendToBody:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},size:{type:[Number,String],default:"30%"},title:{type:String,default:""},visible:{type:Boolean},wrapperClosable:{type:Boolean,default:!0},withHeader:{type:Boolean,default:!0}},computed:{isHorizontal:function(){return this.direction==="rtl"||this.direction==="ltr"},drawerSize:function(){return typeof this.size=="number"?this.size+"px":this.size}},data:function(){return{closed:!1,prevActiveElement:null}},watch:{visible:function(c){var d=this;c?(this.closed=!1,this.$emit("open"),this.appendToBody&&document.body.appendChild(this.$el),this.prevActiveElement=document.activeElement):(this.closed||(this.$emit("close"),this.destroyOnClose===!0&&(this.rendered=!1)),this.$nextTick(function(){d.prevActiveElement&&d.prevActiveElement.focus()}))}},methods:{afterEnter:function(){this.$emit("opened")},afterLeave:function(){this.$emit("closed")},hide:function(c){c!==!1&&(this.$emit("update:visible",!1),this.$emit("close"),this.destroyOnClose===!0&&(this.rendered=!1),this.closed=!0)},handleWrapperClick:function(){this.wrapperClosable&&this.closeDrawer()},closeDrawer:function(){typeof this.beforeClose=="function"?this.beforeClose(this.hide):this.hide()},handleClose:function(){this.closeDrawer()}},mounted:function(){this.visible&&(this.rendered=!0,this.open(),this.appendToBody&&document.body.appendChild(this.$el))},destroyed:function(){this.appendToBody&&this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}},Uee=Gee,XB=u(Uee,KB,Wee,!1);XB.options.__file="packages/drawer/src/main.vue";var TS=XB.exports;TS.install=function(l){l.component(TS.name,TS)};var ZB=TS,QB=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-statistic"},[l.title||l.$slots.title?d("div",{staticClass:"head"},[l._t("title",[d("span",{staticClass:"title"},[l._v(` - `+l._s(l.title)+` - `)])])],2):l._e(),d("div",{staticClass:"con"},[l.prefix||l.$slots.prefix?d("span",{staticClass:"prefix"},[l._t("prefix",[l._v(` - `+l._s(l.prefix)+` - `)])],2):l._e(),d("span",{staticClass:"number",style:l.valueStyle},[l._t("formatter",[l._v(" "+l._s(l.disposeValue))])],2),l.suffix||l.$slots.suffix?d("span",{staticClass:"suffix"},[l._t("suffix",[l._v(` - `+l._s(l.suffix)+` - `)])],2):l._e()])])},Yee=[];QB._withStripped=!0;var Gg=n(28),qee={name:"ElStatistic",data:function(){return{disposeValue:"",timeTask:null,REFRESH_INTERVAL:1e3/30}},props:{decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:""},precision:{type:Number,default:null},value:{type:[String,Number,Date],default:""},prefix:{type:String,default:""},suffix:{type:String,default:""},title:{type:[String,Number],default:""},timeIndices:{type:Boolean,default:!1},valueStyle:{type:Object,default:function(){return{}}},format:{type:String,default:"HH:mm:ss:SSS"},rate:{type:Number,default:1e3}},created:function(){this.branch()},watch:{value:function(){this.branch()},groupSeparator:function(){this.dispose()},mulriple:function(){this.dispose()}},methods:{branch:function(){var c=this.timeIndices,d=this.countDown,y=this.dispose;c?d(this.value.valueOf()||this.value):y()},magnification:function(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e3,y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:",",T=String(d).length;return c.replace(new RegExp("(\\d)(?=(\\d{"+(T-1)+"})+$)","g"),"$1"+y)},dispose:function(){var c=this.value,d=this.rate,y=this.groupSeparator;if(!Object(Gg.isNumber)(c))return!1;this.precision&&(c=c.toFixed(this.precision));var T=String(c).split("."),A=T[0],L=T[1];y&&(A=this.magnification(A,d,y));var F=""+A+(L?this.decimalSeparator+L:"");return this.disposeValue=F,F},diffDate:function(c,d){return Math.max(c-d,0)},suspend:function(c){return c?this.timeTask&&(clearInterval(this.timeTask),this.timeTask=null):this.branch(),this.disposeValue},formatTimeStr:function(c){var d=this.format,y=/\[[^\]]*]/g,T=(d.match(y)||[]).map(function(G){return G.slice(1,-1)}),A=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]],L=Object(Gg.reduce)(A,function(G,q){var te=q[0];return G.replace(new RegExp(te+"+","g"),function(se){var Ae=Object(Gg.chain)(c).divide(q[1]).floor(0).value();return c-=Object(Gg.multiply)(Ae,q[1]),Object(Gg.padStart)(String(Ae),String(se).length,0)})},d),F=0;return L.replace(y,function(){var G=T[F];return F+=1,G})},stopTime:function(c){var d=!0;return c?(this.$emit("change",c),d=!1):(d=!0,this.suspend(!0),this.$emit("finish",!0)),d},countDown:function(c){var d=this.REFRESH_INTERVAL,y=this.timeTask,T=this.diffDate,A=this.formatTimeStr,L=this.stopTime,F=this.suspend;if(!y){var G=this;this.timeTask=setInterval(function(){var q=T(c,Date.now());G.disposeValue=A(q),L(q)},d),this.$once("hook:beforeDestroy",function(){F(!0)})}}}},Kee=qee,JB=u(Kee,QB,Yee,!1);JB.options.__file="packages/statistic/src/main.vue";var DS=JB.exports;DS.install=function(l){l.component(DS.name,DS)};var ez=DS,tz=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("el-popover",l._b({attrs:{trigger:"click"},model:{value:l.visible,callback:function(y){l.visible=y},expression:"visible"}},"el-popover",l.$attrs,!1),[d("div",{staticClass:"el-popconfirm"},[d("p",{staticClass:"el-popconfirm__main"},[l.hideIcon?l._e():d("i",{staticClass:"el-popconfirm__icon",class:l.icon,style:{color:l.iconColor}}),l._v(` - `+l._s(l.title)+` - `)]),d("div",{staticClass:"el-popconfirm__action"},[d("el-button",{attrs:{size:"mini",type:l.cancelButtonType},on:{click:l.cancel}},[l._v(` - `+l._s(l.displayCancelButtonText)+` - `)]),d("el-button",{attrs:{size:"mini",type:l.confirmButtonType},on:{click:l.confirm}},[l._v(` - `+l._s(l.displayConfirmButtonText)+` - `)])],1)]),l._t("reference",null,{slot:"reference"})],2)},Xee=[];tz._withStripped=!0;var Zee=n(45),Qee=n.n(Zee),Jee={name:"ElPopconfirm",props:{title:{type:String},confirmButtonText:{type:String},cancelButtonText:{type:String},confirmButtonType:{type:String,default:"primary"},cancelButtonType:{type:String,default:"text"},icon:{type:String,default:"el-icon-question"},iconColor:{type:String,default:"#f90"},hideIcon:{type:Boolean,default:!1}},components:{ElPopover:Qee.a,ElButton:Se.a},data:function(){return{visible:!1}},computed:{displayConfirmButtonText:function(){return this.confirmButtonText||Object(Di.t)("el.popconfirm.confirmButtonText")},displayCancelButtonText:function(){return this.cancelButtonText||Object(Di.t)("el.popconfirm.cancelButtonText")}},methods:{confirm:function(){this.visible=!1,this.$emit("confirm")},cancel:function(){this.visible=!1,this.$emit("cancel")}}},ete=Jee,rz=u(ete,tz,Xee,!1);rz.options.__file="packages/popconfirm/src/main.vue";var kS=rz.exports;kS.install=function(l){l.component(kS.name,kS)};var nz=kS,iz=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",[l.uiLoading?[d("div",l._b({class:["el-skeleton",l.animated?"is-animated":""]},"div",l.$attrs,!1),[l._l(l.count,function(y){return[l.loading?l._t("template",l._l(l.rows,function(T){return d("el-skeleton-item",{key:y+"-"+T,class:{"el-skeleton__paragraph":T!==1,"is-first":T===1,"is-last":T===l.rows&&l.rows>1},attrs:{variant:"p"}})})):l._e()]})],2)]:[l._t("default",null,null,l.$attrs)]],2)},tte=[];iz._withStripped=!0;var rte={name:"ElSkeleton",props:{animated:{type:Boolean,default:!1},count:{type:Number,default:1},rows:{type:Number,default:4},loading:{type:Boolean,default:!0},throttle:{type:Number,default:0}},watch:{loading:{handler:function(c){var d=this;if(this.throttle<=0){this.uiLoading=c;return}c?(clearTimeout(this.timeoutHandle),this.timeoutHandle=setTimeout(function(){d.uiLoading=d.loading},this.throttle)):this.uiLoading=c},immediate:!0}},data:function(){return{uiLoading:this.throttle<=0?this.loading:!1}}},nte=rte,az=u(nte,iz,tte,!1);az.options.__file="packages/skeleton/src/index.vue";var MS=az.exports;MS.install=function(l){l.component(MS.name,MS)};var oz=MS,sz=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{class:["el-skeleton__item","el-skeleton__"+l.variant]},[l.variant==="image"?d("img-placeholder"):l._e()],1)},ite=[];sz._withStripped=!0;var lz=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("svg",{attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"}},[d("path",{attrs:{d:"M64 896V128h896v768H64z m64-128l192-192 116.352 116.352L640 448l256 307.2V192H128v576z m224-480a96 96 0 1 1-0.064 192.064A96 96 0 0 1 352 288z"}})])},ate=[];lz._withStripped=!0;var ote={name:"ImgPlaceholder"},ste=ote,uz=u(ste,lz,ate,!1);uz.options.__file="packages/skeleton/src/img-placeholder.vue";var cz=uz.exports,bE,lte={name:"ElSkeletonItem",props:{variant:{type:String,default:"text"}},components:(bE={},bE[cz.name]=cz,bE)},ute=lte,fz=u(ute,sz,ite,!1);fz.options.__file="packages/skeleton/src/item.vue";var AS=fz.exports;AS.install=function(l){l.component(AS.name,AS)};var hz=AS,dz=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("div",{staticClass:"el-empty"},[d("div",{staticClass:"el-empty__image",style:l.imageStyle},[l.image?d("img",{attrs:{src:l.image,ondragstart:"return false"}}):l._t("image",[d("img-empty")])],2),d("div",{staticClass:"el-empty__description"},[l.$slots.description?l._t("description"):d("p",[l._v(l._s(l.emptyDescription))])],2),l.$slots.default?d("div",{staticClass:"el-empty__bottom"},[l._t("default")],2):l._e()])},cte=[];dz._withStripped=!0;var pz=function(){var l=this,c=l.$createElement,d=l._self._c||c;return d("svg",{attrs:{viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[d("defs",[d("linearGradient",{attrs:{id:"linearGradient-1-"+l.id,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"}},[d("stop",{attrs:{"stop-color":"#FCFCFD",offset:"0%"}}),d("stop",{attrs:{"stop-color":"#EEEFF3",offset:"100%"}})],1),d("linearGradient",{attrs:{id:"linearGradient-2-"+l.id,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"}},[d("stop",{attrs:{"stop-color":"#FCFCFD",offset:"0%"}}),d("stop",{attrs:{"stop-color":"#E9EBEF",offset:"100%"}})],1),d("rect",{attrs:{id:"path-3-"+l.id,x:"0",y:"0",width:"17",height:"36"}})],1),d("g",{attrs:{id:"Illustrations",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"}},[d("g",{attrs:{id:"B-type",transform:"translate(-1268.000000, -535.000000)"}},[d("g",{attrs:{id:"Group-2",transform:"translate(1268.000000, 535.000000)"}},[d("path",{attrs:{id:"Oval-Copy-2",d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:"#F7F8FC"}}),d("polygon",{attrs:{id:"Rectangle-Copy-14",fill:"#E5E7E9",transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"}}),d("g",{attrs:{id:"Group-Copy",transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"}},[d("polygon",{attrs:{id:"Rectangle-Copy-10",fill:"#E5E7E9",transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"}}),d("polygon",{attrs:{id:"Rectangle-Copy-11",fill:"#EDEEF2",points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"}}),d("rect",{attrs:{id:"Rectangle-Copy-12",fill:"url(#linearGradient-1-"+l.id+")",transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"}}),d("polygon",{attrs:{id:"Rectangle-Copy-13",fill:"#F8F9FB",transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"}})]),d("rect",{attrs:{id:"Rectangle-Copy-15",fill:"url(#linearGradient-2-"+l.id+")",x:"13",y:"45",width:"40",height:"36"}}),d("g",{attrs:{id:"Rectangle-Copy-17",transform:"translate(53.000000, 45.000000)"}},[d("mask",{attrs:{id:"mask-4-"+l.id,fill:"white"}},[d("use",{attrs:{"xlink:href":"#path-3-"+l.id}})]),d("use",{attrs:{id:"Mask",fill:"#E0E3E9",transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":"#path-3-"+l.id}}),d("polygon",{attrs:{id:"Rectangle-Copy",fill:"#D5D7DE",mask:"url(#mask-4-"+l.id+")",transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 -1.70530257e-13 16"}})]),d("polygon",{attrs:{id:"Rectangle-Copy-18",fill:"#F8F9FB",transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"}})])])])])},fte=[];pz._withStripped=!0;var hte=0,dte={name:"ImgEmpty",data:function(){return{id:++hte}}},pte=dte,vz=u(pte,pz,fte,!1);vz.options.__file="packages/empty/src/img-empty.vue";var gz=vz.exports,xE,vte={name:"ElEmpty",components:(xE={},xE[gz.name]=gz,xE),props:{image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}},computed:{emptyDescription:function(){return this.description||Object(Di.t)("el.empty.description")},imageStyle:function(){return{width:this.imageSize?this.imageSize+"px":""}}}},gte=vte,mz=u(gte,dz,cte,!1);mz.options.__file="packages/empty/src/index.vue";var ES=mz.exports;ES.install=function(l){l.component(ES.name,ES)};var yz=ES,mte=Object.assign||function(l){for(var c=1;c3&&arguments[3]!==void 0?arguments[3]:!1;return c.props||(c.props={}),d>y&&(c.props.span=y),T&&(c.props.span=y),c},getRows:function(){var c=this,d=(this.$slots.default||[]).filter(function(F){return F.tag&&F.componentOptions&&F.componentOptions.Ctor.options.name==="ElDescriptionsItem"}),y=d.map(function(F){return{props:c.getOptionProps(F),slots:c.getSlots(F),vnode:F}}),T=[],A=[],L=this.column;return y.forEach(function(F,G){var q=F.props.span||1;if(G===d.length-1){A.push(c.filledNode(F,q,L,!0)),T.push(A);return}q1&&arguments[1]!==void 0?arguments[1]:{};Wa.a.use(d.locale),Wa.a.i18n(d.i18n),Lte.forEach(function(y){c.component(y.name,y)}),c.use(PB),c.use(Sg.directive),c.prototype.$ELEMENT={size:d.size||"",zIndex:d.zIndex||2e3},c.prototype.$loading=Sg.service,c.prototype.$msgbox=ml,c.prototype.$alert=ml.alert,c.prototype.$confirm=ml.confirm,c.prototype.$prompt=ml.prompt,c.prototype.$notify=xg,c.prototype.$message=Mg};typeof window<"u"&&window.Vue&&$z(window.Vue),t.default={version:"2.15.14",locale:Wa.a.use,i18n:Wa.a.i18n,install:$z,CollapseTransition:Cu.a,Loading:Sg,Pagination:M,Dialog:Z,Autocomplete:vr,Dropdown:hr,DropdownMenu:I_,DropdownItem:N_,Menu:nv,Submenu:z_,MenuItem:iv,MenuItemGroup:lv,Input:hv,InputNumber:J_,Radio:rb,RadioGroup:ib,RadioButton:ch,Checkbox:yv,CheckboxButton:Au,CheckboxGroup:ub,Switch:xv,Select:Iu,Option:yb,OptionGroup:xb,Button:Xe,ButtonGroup:Zn,Table:Ib,TableColumn:Pb,DatePicker:Jb,TimeSelect:ja,TimePicker:Qv,Popover:eg,Tooltip:Gi,MessageBox:ml,Breadcrumb:d0,BreadcrumbItem:st,Form:sn,FormItem:m0,Tabs:hg,TabPane:A0,Tag:pg,Tree:N0,Alert:B0,Notification:xg,Slider:q0,Icon:od,Row:Cg,Col:ox,Upload:fx,Progress:sc,Spinner:vx,Message:Mg,Badge:Zt,Card:Tx,Rate:Mx,Steps:Ex,Step:Ig,Carousel:Pg,Scrollbar:bs,CarouselItem:Nx,Collapse:Bx,CollapseItem:Hx,Cascader:Yx,ColorPicker:ce,Transfer:qa,Container:V$,Header:W$,Aside:Y$,Main:X$,Footer:J$,Timeline:tB,TimelineItem:iB,Link:sB,Divider:cB,Image:yB,Calendar:wB,Backtop:kB,InfiniteScroll:PB,PageHeader:RB,CascaderPanel:UB,Avatar:qB,Drawer:ZB,Statistic:ez,Popconfirm:nz,Skeleton:oz,SkeletonItem:hz,Empty:yz,Descriptions:bz,DescriptionsItem:xz,Result:Fz}}]).default})(bQ);var lLe=bQ.exports;const uLe=xAe(lLe);Sr.config.productionTip=!1;Sr.use(uLe);new Sr({router:bAe,render:r=>r(Gae)}).$mount("#app"); diff --git a/conf/static/index.html b/conf/static/index.html deleted file mode 100644 index f5d2a01..0000000 --- a/conf/static/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - SqlParserX - 多方言 SQL 解析引擎 - - - - -
- - diff --git a/conf/static/vite.svg b/conf/static/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/conf/static/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/config/eclipse-formatter.xml b/config/eclipse-formatter.xml deleted file mode 100644 index ddf190f..0000000 --- a/config/eclipse-formatter.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/config/license-header.txt b/config/license-header.txt deleted file mode 100644 index 2379dda..0000000 --- a/config/license-header.txt +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git "a/docs/01\343\200\201SQL\350\257\255\346\263\225\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/Druid\347\211\210\346\234\254\344\270\216SQL\350\257\255\346\263\225\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/01\343\200\201SQL\350\257\255\346\263\225\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/Druid\347\211\210\346\234\254\344\270\216SQL\350\257\255\346\263\225\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index 94e083f..0000000 --- "a/docs/01\343\200\201SQL\350\257\255\346\263\225\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/Druid\347\211\210\346\234\254\344\270\216SQL\350\257\255\346\263\225\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,29 +0,0 @@ -# 一、SqlParserX 当前适配的 Druid 版本情况 - -| 项目 | 当前情况 | -|---|---| -| Druid 版本 | `1.2.28` | -| 版本定义位置 | `sqlparserx-engine/pom.xml` 的 `dependencyManagement` | -| Syntax 引用方式 | `sqlparserx-engine/sqlparserx-syntax/pom.xml` 引入 `com.alibaba:druid`,版本继承 Engine 父 POM | -| Java 版本 | SqlParserX Core 保持 Java 8 编译目标 | -| 适配方式 | SqlParserX 不重复实现 SQL Lexer 和 StatementParser,直接使用 Druid 的 `DbType`、`SQLParserUtils`、方言 Parser 和 `SQLStatement` AST | -| 业务层关系 | Druid 负责 SQL 文本到 AST 的语法解析;SqlParserX 基于 AST 实现真实表、建表结构、表血缘、字段血缘、函数提取和 SQL 改写 | -| 当前 Core 方言范围 | `SqlParserFactory` 注册 15 种方言:MySQL、Hive、Trino、Oracle、Greenplum、TiDB、PostgreSQL、SQL Server、StarRocks、Doris、OceanBase、OceanBase Oracle、DM、ClickHouse、Spark | -| 版本结论 | 截至 2026-09-28,项目使用的 `1.2.28` 与 Druid 官方最新 Release 一致,当前不需要进行版本升级 | - -Druid `1.2.28` 与 SqlParserX 当前重点方言直接相关的修复和增强包括:修复 SQL Server `COLLATION`、Redshift `SORTKEY`、Spark/ClickHouse/StarRocks 的 `SQLParserFeature` 传递问题;增加 ClickHouse `ON CLUSTER`、Doris `PARTITION BY`、DB2 CTAS、Snowflake 和 ODPS Parser 增强,同时优化方言加载、Lexer 关键字加载和 SQLDialect 性能。版本信息以 [Druid 1.2.28 官方 Release](https://github.com/alibaba/druid/releases/tag/1.2.28) 为准。 - -# 二、Druid 最新版本的 SQL 语法支持情况 - -截至 2026-09-28,Druid 官方最新版本为 `1.2.28`。官方项目说明 SQL Parser 支持 30 种数据库方言,并为各方言提供 Lexer、Parser、AST 和 Visitor 能力;具体支持范围可参考 [Druid 官方仓库的 SQL 方言支持说明](https://github.com/alibaba/druid#sql-%E6%96%B9%E8%A8%80%E6%94%AF%E6%8C%81) 和 [SQL Parser 官方说明](https://github.com/alibaba/druid/wiki/SQL-Parser)。 - -| 官方分类 | Druid 1.2.28 方言支持 | SqlParserX 当前使用情况 | -|---|---|---| -| 主流关系型数据库 | MySQL、PostgreSQL、Oracle、SQL Server、DB2、H2、Informix | 已注册 MySQL、PostgreSQL、Oracle、SQL Server;其他方言尚未注册为 Core 独立业务解析器 | -| 国产数据库 | DM、Oscar、GaussDB | 已注册 DM;Oscar、GaussDB 尚未注册为 Core 独立业务解析器 | -| 分析型 / MPP | ClickHouse、Doris、StarRocks、Teradata、Redshift | 已注册 ClickHouse、Doris、StarRocks;Teradata、Redshift 尚未注册为 Core 独立业务解析器 | -| 云原生 / 数仓 | BigQuery、Snowflake、Synapse、Hologres、ODPS(MaxCompute) | 当前均未注册为 Core 独立业务解析器 | -| 计算引擎 | Hive、Spark、Presto、Impala、Athena、Blink、Databricks | 已注册 Hive、Spark、Trino;其余尚未注册为 Core 独立业务解析器 | -| 兼容方言 | TiDB、MariaDB、GoldenDB、OceanBase、OceanBase Oracle、Greenplum、EDB、Trino 等可通过 Druid 方言路由或专用 Parser 解析 | 已注册 TiDB、OceanBase、OceanBase Oracle、Greenplum、Trino;部分兼容数据源只在 Web/MCP 映射层复用相近方言 | - -需要注意:Druid “支持某种方言”表示语法层具备相应 Lexer、Parser、AST 或兼容路由,不等于 SqlParserX 已经完成该数据源的业务解析适配。只有同时满足以下条件,才能列入 SqlParserX 正式支持范围:Druid 能生成正确 AST、`SqlParserFactory` 已注册对应业务解析器、通用或方言 Client 能正确输出业务结果,并具备相应回归验证。 diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\345\272\225\345\261\202\345\216\237\347\220\206\350\256\276\350\256\241/\345\217\230\351\207\217\345\217\202\346\225\260\350\247\243\346\236\220/\345\217\230\351\207\217\345\217\202\346\225\260\350\247\243\346\236\220\344\270\216\351\242\204\347\274\226\350\257\221\357\274\210\347\272\257Druid\357\274\211\345\256\236\347\216\260\346\226\271\346\241\210.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\345\272\225\345\261\202\345\216\237\347\220\206\350\256\276\350\256\241/\345\217\230\351\207\217\345\217\202\346\225\260\350\247\243\346\236\220/\345\217\230\351\207\217\345\217\202\346\225\260\350\247\243\346\236\220\344\270\216\351\242\204\347\274\226\350\257\221\357\274\210\347\272\257Druid\357\274\211\345\256\236\347\216\260\346\226\271\346\241\210.md" deleted file mode 100644 index 0343bc8..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\345\272\225\345\261\202\345\216\237\347\220\206\350\256\276\350\256\241/\345\217\230\351\207\217\345\217\202\346\225\260\350\247\243\346\236\220/\345\217\230\351\207\217\345\217\202\346\225\260\350\247\243\346\236\220\344\270\216\351\242\204\347\274\226\350\257\221\357\274\210\347\272\257Druid\357\274\211\345\256\236\347\216\260\346\226\271\346\241\210.md" +++ /dev/null @@ -1,862 +0,0 @@ -# 变量参数解析与预编译(纯 Druid)实现方案 - -> 状态:初步实现(持续完善) -> 能力入口:`ISqlParser#parseParameterSql` / `ISqlParser#buildSqlByPrepareCompile` -> 底座:**仅 Druid 1.2.28**(`sqlparserx-syntax` 已提供 `String → SQLStatement`) -> 关联文档:[变量参数解析与预编译支持情况](../../能力支持情况/通用解析能力/变量参数解析与预编译支持情况.md) -> 说明:本文为该能力的**纯 Druid 实现方案**,也是其唯一设计文档。 - ---- - -## 一、背景与目标 - -「SQL 转 API」场景下,用户手写带 `${变量}` 的 SQL,平台需要: - -- **配置期**:解析出有哪些 `${变量}`、绑定哪个字段、操作符、是否必填,以及 `SELECT` 输出字段 → `parseParameterSql`; -- **运行期**:用请求值把 `${变量}` 改写为 JDBC `?`,并按顺序给出绑定值 → `buildSqlByPrepareCompile`。 - -```text -配置期:SQL 里的 ${变量} -> 解析成 API 入参配置(变量名/绑定字段/操作符/是否必填) -运行期:调用方传入参数值 -> ${变量} 改写成 ? 并按序绑定执行 -> 返回标准结果 -``` - -> 范围说明:本能力面向「SQL 转 API」的**查询(SELECT)**场景——API 契约要求同时具备**输入参数**(`${变量}`)与**输出参数**(`SELECT` 投影列);因此仅支持 SELECT,INSERT/UPDATE/DELETE 等非查询语句不支持。 - ---- - -## 二、纯 Druid 实现可行性(基于 Druid 1.2.28 实测) - -**核心结论:纯 Druid 可以承载该能力。** - -> Druid 1.2.28 **原生**把 `${name}` 解析为 `SQLVariantRefExpr`(name = `${name}`),绝大多数位置**无需任何预处理**。 - -### 2.1 解析实测 - -| 输入 SQL(片段) | Druid 解析结果 | 是否可用 | -|---|---|---| -| `WHERE tenant_id = ${tenantId}` | `SQLBinaryOpExpr`,右值 `SQLVariantRefExpr("${tenantId}")` | ✅ | -| `WHERE id in (${ids})` | `SQLInListExpr`,`targetList=[SQLVariantRefExpr]` | ✅ | -| `SELECT ${col} AS c` | select 项为 `SQLVariantRefExpr` | ✅ | -| `concat(name, ${suf})` | 函数参数为 `SQLVariantRefExpr` | ✅ | -| `LIMIT ${offset}, ${rows}` | `SQLLimit.offset/rowCount` 均为 `SQLVariantRefExpr` | ✅ | -| `ORDER BY ${col}` / `ORDER BY ${col} asc` | `SQLSelectOrderByItem.expr` 为 `SQLVariantRefExpr` | ✅ | -| `WHERE name = '${x}'` | 右值是 `SQLCharExpr`(**字符串字面量,非变量**) | ✅ 天然排除 | -| `ORDER BY ${col} ${dir}` | **解析失败**(方向位 VARIANT 非法) | ⚠️ 需兜底 | -| `LIMIT ${a}*10` | **解析失败**(illegal variable) | ⚠️ 需兜底 | - -### 2.2 结论 - -- 变量识别直接依赖 Druid 原生 `SQLVariantRefExpr`,**无需任何字符串占位替换**、**无需字符坐标**; -- Druid 对「ORDER BY 方向变量 / LIMIT 算术表达式」等位置原生解析失败;当前实现没有预处理兜底,需调用方调整 SQL 或另行实现预处理(见 6.1)。 - ---- - -## 三、整体架构设计 - -### 3.1 核心设计原则:结构递归分派,结果模型参考血缘解析 - -**关键结论:参数解析不能用一个通用 `SQLASTVisitorAdapter` 遍历变量节点来完成。** 原因是血缘解析早已证明的做法——真正需要的是**递归、按节点类型分派、带上下文与别名映射的 Service**: - -| 维度 | 血缘解析(现有) | 参数解析(本方案) | -|---|---|---| -| 编排 | `ColumnLineageClient` 判定语句类型 → 解析目标/来源 → 组装结果 | `BaseParseParameterClient` 委托 `ParamParseService` / `PrepareSqlRewriter` | -| 遍历 | `SelectColumnSpecialLineageService` **按 `SQLTableSource`/`SQLExpr` 类型递归分派** | `ParamParseService` **按 `SQLSelectQueryBlock`/`SQLExpr` 类型递归分派** | -| 别名归一 | `SelectTableSpecialLineageService.queryFromTable`(from/join/子查询/union/lateral + with-as) | 设计目标复用血缘解析;当前只按简单字段名/owner 查元数据,别名穿透待完善 | -| 结果 | `SelectColumn`(真实表+字段+别名) | `ParseParameterResult`(输入为 `ParamInfo`,输出为 `ApiParamSpan`;当前 `tables` 为空) | - -配置期按 SQL 语句结构和表达式类型递归分派,条件节点由父级处理以同时获得字段侧和变量侧;运行期对 AST 做结构改写和条件剪枝。当前有序值收集使用 AST 节点访问顺序收集,SQL 渲染仍由 `SQLUtils.toSQLString` 完成;尚未实现设计中的 `SQLASTOutputVisitor` 子类同步收集(见 4.2.4)。 - -### 3.2 整体架构 - -```text -调用方 - └─ ISqlParser#parseParameterSql / buildSqlByPrepareCompile (String 入口) - └─ BaseSqlParser → createStatement(sql) (syntax 层 Druid) - └─ BaseParseParameterClient(入口编排) - ├─ ParamParseService 配置期语句分派、AST 递归解析和直接字段元数据匹配 - ├─ PrepareSqlRewriter 克隆 AST、条件剪枝、变量改写、IN 展开、排序/分组内联 - ├─ SqlConditionPruner SELECT WHERE / HAVING 可选条件剪枝 - └─ ParamDataTypeTransfer 默认通用类型转换;由数据源 Parser 注入方言实现 - -数据源扩展:`parser/mysql/parameter` 和 `parser/doris/parameter` 各自提供 `ParseParameterClient` 与类型转换实现;对应的 `MySqlParser` / `DorisSqlParser` 覆盖 `getParseParameterClient()`。 -``` - -### 3.3 数据源类型传递(业务数据源类型,无需改接口) - -先区分两个概念: - -- **业务数据源类型** `SqlParserDataSourceType`(`MYSQL`/`ORACLE`/`DORIS`…):当前用于选择类型转换实现;分页方言尚未实现; -- **Druid 方言** `DbType`:**仅用于 AST 渲染**(`SQLUtils.toSQLString` / `createOutputVisitor`)。 - -`ISqlParser#getDbType()` 返回 Druid `DbType`。默认入口用 `SqlParserDataSourceType.fromDbType(getDbType())` 构造 `BaseParseParameterClient`;数据源 Client 子类通过覆盖其可扩展方法来注入专属转换器: - -```java -// ISqlParser 默认方法:反查业务类型,使用通用类型转换器 -default IParseParameterClient getParseParameterClient() { - return new BaseParseParameterClient(SqlParserDataSourceType.fromDbType(getDbType())); -} - -// BaseParseParameterClient:提供默认实现,子类可覆盖 -public BaseParseParameterClient(SqlParserDataSourceType dataSourceType) { - DbType dbType = dataSourceType == null ? null : dataSourceType.getDbType(); - this.parseService = getParamParseService(); - this.prepareSqlRewriter = getPrepareSqlRewriter(dbType); // 转换器在此注入 -} -protected ParamParseService getParamParseService() { return new ParamParseService(); } -protected PrepareSqlRewriter getPrepareSqlRewriter(DbType dbType) { - return new PrepareSqlRewriter(dbType, new BaseParamDataTypeTransfer()); -} - -// MySqlParser / DorisSqlParser 覆盖 getParseParameterClient(),返回自己的 Client 子类; -// 子类仅覆盖 getPrepareSqlRewriter(...) 注入方言转换器 -``` - -- `ISqlParser#getSqlFilterClient(getDbType())` 已是同类先例;此处 **不改动 `IParseParameterClient` 方法签名**; -- `BaseParseParameterClient` 由 `dataSourceType` 得到 Druid `DbType` 用于 SQL 渲染,并在 `getPrepareSqlRewriter(dbType)` 内创建并注入 `ParamDataTypeTransfer`;base 不维护数据源转换注册表; -- 转换器注入点收敛为 `getPrepareSqlRewriter(DbType)` 一个可覆盖方法,新增数据源时在其 `parser//parameter` 下扩展实现并由对应 Parser 选择。 - -### 3.4 核心数据模型(沿用现有 VO/Domain) - -```text -ParseParameterResult -├── inputParams List // 入参定义 -├── outputParams List // 出参定义 -└── tables List - -PrepareCompileResult -├── beautifulSql String // ${变量} 已改写为 ? -└── inputFields List // 与每个 ? 一一对应的有序绑定值 - -DataTypeColumn { name, type, comment } // 绑定字段的方言原始类型 -ApiParamSpan { sqlPart, alias, bindColumns } -ParamInfo { name, value, imperative, dataType, defaultValue, desc, fieldName, operator, sqlPart } -``` - -### 3.5 操作符口径:`ParamOperatorEnum` - -`ParamInfo.operator` 目前是 `String`,语义上混合两类值: - -| 类别 | 取值示例 | 来源 | -|---|---|---| -| 真实 SQL 操作符 | `=` / `<>` / `>=` / `like` / `in` / `not in` / `between` | Druid `SQLBinaryOperator`、`SQLInListExpr` 等 | -| 内部伪操作符 | `CUSTOM` / `CASE_WHEN` / `ORDER_BY_CASE_WHEN` / `API_PARAM_IN_SELECT_LIST` | SQL 结构(ORDER BY/LIMIT/CASE WHEN/select 变量) | - -项目已维护枚举 `ParamOperatorEnum`(位于 `core/enums`)统一常见 SQL 操作符和内部伪操作符口径: - -```java -public enum ParamOperatorEnum { - EQ("="), NE("<>"), GT(">"), GTE(">="), LT("<"), LTE("<="), - IS_NULL("is null"), IS_NOT_NULL("is not null"), - LIKE("like"), NOT_LIKE("not like"), - IN("in"), NOT_IN("not in"), - BETWEEN("between"), NOT_BETWEEN("not between"), - CUSTOM("CUSTOM"), CASE_WHEN("CASE_WHEN"), - ORDER_BY_CASE_WHEN("ORDER_BY_CASE_WHEN"), SELECT_LIST("API_PARAM_IN_SELECT_LIST"), - UNKNOWN("UNKNOWN"); - - private final String symbol; - public String getSymbol() { return symbol; } - - public static ParamOperatorEnum ofSymbol(String symbol) { ... } // 由符号解析(容错大小写) - public static ParamOperatorEnum ofDruid(SQLBinaryOperator op) { ... } // 由 Druid 二元操作符映射 -} -``` - -- **保留 `ParamInfo.operator: String`**(对外/落库兼容,旧值即 `"="`/`"in"`/`"CUSTOM"`);解析过程通过内部 `ParameterSpan` 暂存操作符,再写入最终入参定义。 - ---- - -## 四、核心实现方法设计 - -### 4.1 核心方法一:`parseParameterSql`(配置期) - -```java -ParseParameterResult parseParameterSql(SQLStatement stmt, - Boolean isIgnoreSyntaxCheck, - Map> tableColumnsMap); -``` - -#### 4.1.1 全流程细节步骤 - -```text -BaseSqlParser.parseParameterSql(String sql) (String 入口) - └─ createStatement(sql) -> SQLStatement (syntax 层 Druid 解析) - └─ ISqlParser.getParseParameterClient() -> BaseParseParameterClient - └─ ParamParseService.parse(stmt, isIgnoreSyntaxCheck, tableColumnsMap) - -1. 语句类型判定:仅 SQLSelectStatement 继续解析 - - 其他语句:isIgnoreSyntaxCheck=true 返回空结果,否则抛 IllegalArgumentException -2. 初始化结果容器 - - LinkedHashMap 入参(按首次出现顺序) - - List 出参 -3. SELECT 递归(walkSelect) - 3.1 WITH 子查询:遍历 CTE entry,逐个 walkSelect - 3.2 主体查询(walkQuery) - - SQLSelectQueryBlock -> walkBlock - - SQLUnionQuery -> 各 relation 递归 walkQuery,再处理 union 级 ORDER BY / LIMIT - 3.3 SELECT 级 ORDER BY / LIMIT(walkOrderBy / walkLimit,兼容极端形态) -4. QueryBlock 结构递归(walkBlock),严格按结构顺序: - from -> where -> group by(items + having) -> order by -> limit -> select list - 4.1 walkTable:按 from 形态递归(派生表 / JOIN / UNION 子查询 / LATERAL VIEW) - 4.2 walkExpr(where):表达式分派(比较 / IN / BETWEEN / 子查询 / 变量 / 复合表达式兜底) - 4.3 group items、having、order items、limit offset/rowCount 分别 walkExpr - 4.4 select list:变量登记为必填(携带别名);非变量生成出参 ApiParamSpan 并 walkExpr 递归 -5. 表达式递归(walkExpr)命中变量时构造内部 ParameterSpan - - sqlPart = 节点文本、operator、params = [变量名]、mustFlag、bindColumns = bind(左值) -6. register 写入 ParamInfo(LinkedHashMap) - - 首次:写入 name / imperative / operator / sqlPart / (fieldName / dataType / desc) - - 同名再次出现:mergeParamInfo —— 必填优先、sqlPart 补齐、绑定信息补齐 -7. bind 绑定字段:对简单 SQLIdentifierExpr / SQLPropertyExpr 取字段名 + owner,匹配 tableColumnsMap 回填类型/注释 -8. 组装 ParseParameterResult(inputParams, outputParams, tables = []) -``` - -补充说明: - -- 参数对象按首次出现顺序保存在 `LinkedHashMap`;`isIgnoreSyntaxCheck` 只控制非 SELECT 语句的处理(为 `true` 返回空结果,否则抛 `IllegalArgumentException`)。 -- 出参 `outputParams` 由非变量 select 项生成;`tables` 当前返回空集合。 - -#### 4.1.2 递归分派(Service 内部,非通用 visitor) - -**按结构分派(`SQLSelectQueryBlock` 的各部位)**: - -| 部位 | 入口方法 | 当前实现说明 | -|---|---|---| -| `where` | `walkExpr(where)` | 条件块 | -| `groupBy.having` | `walkExpr(having)` | 条件块 | -| `groupBy.items` | `walkExpr` | 收集变量;运行期内联变量值 | -| `orderBy.items` | `walkExpr` | 收集变量;运行期内联变量值 | -| `limit` | `walkExpr` | offset / rowCount 变量按通用变量登记;未区分最外层 LIMIT | -| `selectList` | `walkBlock` | 直接变量登记为必填;普通输出列生成 `ApiParamSpan` | -| `from` | `walkTable` | 递归子查询 / join / union / lateral | -| union 的 order by / limit | `walkQuery` | UNION 顶层 ORDER BY / LIMIT 挂在 `SQLUnionQuery` 上,需单独递归 | -| SELECT 级 order by / limit | `walkSelect` | 兼容挂在 `SQLSelect` 上的形态 | - -**按表达式分派(`walkExpr`,同 `buildSelectColumnItem` 的分派风格)**: - -| 表达式类型 | Druid 节点 | 处理 | -|---|---|---| -| 比较条件 | `SQLBinaryOpExpr` | 右值为变量 → 生成 span;`operator = ParamOperatorEnum.ofDruid(op)`;`bindColumns = bindField(left)`;否则递归左右 | -| `IN/NOT IN` | `SQLInListExpr` | 左值 bindField;`targetList` 中变量 → params;operator=`IN`/`NOT_IN` | -| `BETWEEN / NOT BETWEEN` | `SQLBetweenExpr` | 区间两端变量归到同一参数定义;被比较值为绑定字段;operator=`BETWEEN`/`NOT BETWEEN` | -| `LIKE` | `SQLBinaryOpExpr`(`SQLBinaryOperator.Like`) | operator=`LIKE` | -| 函数 / CASE / 其他复合表达式 | Druid `SQLExpr` 子类 | 使用 `walkChildren` 的 Druid visitor 兜底收集变量,未单独生成 CASE 参数语义 | -| 子查询 | `SQLQueryExpr` | 递归进入内部 select | -| `IN 子查询/EXISTS` | `SQLInSubQueryExpr`/`SQLExistsExpr` | 递归进入内部 select;IN 左侧表达式同时递归 | -| 字面量 | `SQLCharExpr`/`SQLIntegerExpr` | 跳过(`'${x}'` 即此,天然排除) | -| 变量 | `SQLVariantRefExpr` | 命中变量(`${...}` 判定) | - -#### 4.1.3 变量识别 - -```java -static boolean isApiVariable(SQLExpr e) { - if (!(e instanceof SQLVariantRefExpr)) return false; // '${x}' 已是 SQLCharExpr,天然排除 - String n = ((SQLVariantRefExpr) e).getName(); - return n != null && n.startsWith("${") && n.endsWith("}"); -} -static String varName(SQLExpr e) { return ((SQLVariantRefExpr) e).getName().substring(2, ((SQLVariantRefExpr) e).getName().length() - 1); } -``` - -#### 4.1.4 树处理要点(候选收集 · 必填 · 递归) - -1. **从结构入口识别主要参数块**:从 `where` / `having` / `limit` / `order by` / `group by` / `select list` / 子查询进入;主要条件节点由 `walkExpr` 按类型识别,其他复合表达式使用 visitor 兜底。 -2. **必填(`mustFlag`)由结构决定**:`select-list` 参数视为**必填**;`where` 等条件参数默认**非必填**(与「缺省即删条件」呼应)。 -3. **递归进子查询**:`field in (select ...)`、`exists (select ...)`、`from (select ...)` 递归进入内部 `select`。 -4. **外层判定用结构而非文本(后续目标)**:如「最外层 `LIMIT`」应以「当前 `select` 是否为主体」判定;当前尚未区分最外层与子查询内的 `LIMIT`。 -5. **with-as / CTE**:当前递归解析 CTE 子查询中的变量;字段绑定尚未复用血缘解析的 CTE/派生表别名穿透,元数据查找只处理直接字段引用。 -6. **同名变量合并**:同一 `${变量}` 出现多次时只产出一条 `ParamInfo` —— **必填优先**(任一次为必填则整体必填),字段/类型/注释等绑定信息**补齐首次缺失项**,操作符与绑定字段保留首次出现;运行期每次出现各产生一个 `?`,值同源。 - -#### 4.1.5 参数与表字段绑定解析(核心难点) - -**为什么要专门解决**:`${变量}` 只声明了「值来自入参」,但要确定预编译时该 `?` 应绑定成**什么类型**,必须先知道这个参数**绑定的是哪张表的哪个字段**: - -```text -配置期:param -> 真实表字段(绑定) -> 字段类型 // parseParameterSql - | | - +------ 落成入参配置 ParamInfo(dataType) ------+ - v -运行期:buildSqlByPrepareCompile 用 columns[param].dataType 决定每个 ? 的类型 -``` - -**期望支持的绑定语义**(当前实际只从简单 `SQLIdentifierExpr` / `SQLPropertyExpr` 提取字段元数据,函数、算术、CASE 左值的字段集合尚未实现): - -| 场景 | 示例 | 绑定字段 | -|---|---|---| -| 字段 = 变量 | `t.tenant_id = ${tenantId}` | 左值字段 `t.tenant_id` | -| 表达式比较 | `func(a, b) > ${x}`、`a + b = ${x}` | 左值表达式内真实字段集合(API 取第一个) | -| IN / NOT IN | `t.status in (${states})` | 左值字段 `t.status` | -| LIKE | `t.name like ${kw}` | 左值字段 `t.name` | -| 无字段 | `ORDER BY ${col} ${dir}`、`LIMIT ${n}` | 无绑定字段,类型走兜底(`OBJECT`/`String`) | - -**当前字段绑定实现**:已在 parameter 模块增加独立的 `ParameterColumnResolver`,第一阶段支持普通表、schema/catalog 表、表别名、JOIN 和裸字段唯一性消歧。`ParamParseService.bind` 先根据字段所在 `SQLSelectQueryBlock` 的 `FROM` 作用域将 owner 解析为真实表,再用真实表名和字段名精确查询 `tableColumnsMap`;派生表/CTE/UNION 输出列穿透及复杂表达式字段提取仍待完善。 - -- **`t.field`**:在当前查询块中解析 `t -> real_table`,再精确匹配 `real_table.field`; -- **裸字段 `field`**:只在当前查询块的真实表集合中匹配,唯一命中才绑定;多表同名时保留字段名但不猜测类型; -- **函数 / 算术 / CASE 左值**:尚未可靠提取其中真实字段集合,不能保证类型绑定正确; -- **元数据匹配规则**:优先使用作用域解析出的真实表名和字段名精确查找;查不到或存在歧义时仍创建只有字段名、type/comment 为空的 `DataTypeColumn`; -- **后续目标**:递归还原派生表/CTE 输出列,并对多表同名字段结合作用域消歧。 - -因此,普通表别名与 JOIN 多表同名字段已经做到确定性匹配,并复用了 `TableSourceUtil`;CTE、派生表输出列和多级别名仍未做到血缘级别的确定性归一。 - -##### 4.1.5.1 优化前的确定性问题与优化后状态 - -优化前的 `bind(field, metadata)` 只有“字段表达式 + 全局元数据”,没有使用字段所在 `SQLSelectQueryBlock` 的 `FROM` 和查询作用域,所以它无法回答 owner 是 SQL 别名时对应哪张真实表。例如: - -```sql -select u.id -from user_info u -where u.tenant_id = ${tenantId} -``` - -优化前的实际执行路径是: - -```text -u.tenant_id - -> owner=u, column=tenant_id - -> 遍历整个 tableColumnsMap - -> metadata key=user_info 与 owner=u 不匹配 - -> 退化为只按 tenant_id 查找 fallback -``` - -这里最终得到 `user_info.tenant_id`,只是因为测试元数据中恰好只有一个 `tenant_id`,并不是已经解析出 `u -> user_info`。一旦多张表存在同名字段,结果就可能随 `Map` 遍历顺序变化: - -```sql -select u.id -from user_info u -join audit_log a on a.user_id = u.id -where u.tenant_id = ${tenantId} -``` - -```text -user_info.tenant_id -> BIGINT -audit_log.tenant_id -> VARCHAR(64) -``` - -因为 `u` 与两个 metadata key 都不相等,两个字段都会成为 fallback,最后一次遍历到的字段可能覆盖前一个字段,导致 `tenantId` 被错误标记成 `VARCHAR(64)`。随后运行期会依据错误的 `ParamInfo.dataType` 转换绑定值,问题会从“字段归属不准”继续传播为“JDBC 参数类型不准”。 - -问题按第一阶段优化后的状态整理如下: - -| 场景 | 优化后行为 | 状态 | -|---|---|---| -| 表别名 | `u.id` 通过当前查询块的 `FROM user_info u` 还原为 `user_info.id` | 已解决 | -| schema/catalog 表 | `app.user_info u` 同时登记全名、短表名和别名,元数据仍按真实全名查询 | 已解决 | -| JOIN 限定字段 | JOIN 左右表别名分别指向自己的真实表,同名字段不再互相覆盖 | 已解决 | -| 裸字段 | 只在当前查询块的真实表集合中查找;唯一命中才绑定,多表同名时不猜类型 | 已解决 | -| 同名别名嵌套 | 从字段 AST 向上取最近的 `SQLSelectQueryBlock`,内层别名遮蔽外层别名 | 已解决 | -| 派生表 | `t.id` 尚未沿 `t -> 子查询输出列 -> 源表字段` 追溯 | 后续阶段 | -| CTE / UNION | 外层 CTE/UNION 输出列尚未穿透到源表字段 | 后续阶段 | -| 复杂左值 | `cast(u.id as char)`、`u.amount + u.tax` 尚未递归提取真实字段 | 后续阶段 | -| 变量在比较左侧 | `${minId} < u.id` 仍会退化为 CUSTOM,尚未做左右归一 | 后续阶段 | - -##### 4.1.5.2 优化边界:只增强参数解析,不修改字段血缘行为 - -本次优化已收敛在 parameter 模块内。现有字段血缘逻辑保持原有入口、数据模型和行为,没有修改 `ColumnLineageClient`、`SelectColumnSpecialLineageService` 的匹配规则。 - -实际新增的轻量组件如下: - -```text -parameter -├── service/ParamParseService -└── resolve - ├── ParameterColumnResolver // 字段表达式 + 当前查询作用域 -> 真实表字段 - └── ResolvedParameterColumn // tableName / columnName -``` - -实际职责拆分: - -```text -ParamParseService - -> 识别变量所在条件,并取得作为绑定候选的字段表达式 - -ParameterColumnResolver - -> 从字段 AST 的 parent 链定位最近 SQLSelectQueryBlock - -> 遍历当前块 FROM/JOIN,解析表别名和字段来源 - -> 输出 ResolvedParameterColumn(realTable, realColumn) - -ParameterColumnResolver.findColumn - -> 使用 realTable + realColumn 在 tableColumnsMap 中精确查询 - -ParamParseService - -> 回填 ParamInfo.fieldName/dataType/desc -``` - -组件复用遵循“参数解析调用稳定公共工具,不反向修改字段血缘”的边界: - -- 已复用 `TableSourceUtil.extractTableName/removeQuotes` 解析真实表名、catalog、db 和引号; -- 普通表别名和 JOIN 规则在 parameter 的轻量解析器中独立实现,避免引入完整血缘解析状态; -- 后续复杂表达式和派生表穿透可参考 `SelectColumnSpecialLineageService.buildSelectColumnItem/queryFromTableByColumns` 的递归分派思路; -- 不直接调用 `ColumnLineageClient`,因为它面向 INSERT/CTAS 完整血缘,结果模型不含参数所需的类型和注释; -- 不把 `DataTypeColumn` 强行改造成血缘 `Column`;真实字段定位完成后仍由 parameter 使用原 `tableColumnsMap` 查询类型。 - -##### 4.1.5.3 参数场景的解析流程 - -当前实现不修改 `walkExpr/span/bind` 的整条方法签名,而是利用 Druid AST 已有的 parent 关系从字段节点反向找到最近查询块。实际调用链如下: - -```text -ParamParseService.walkExpr - -> 识别 u.tenant_id = ${tenantId} - -> span(part, field=u.tenant_id, variable=tenantId) - -> bind(field, tableColumnsMap) - -> ParameterColumnResolver.resolve(field, metadata) - 1. fieldReference:拆成 owner=u、column=tenant_id - 2. findQueryBlock:沿 field.parent 找最近 SQLSelectQueryBlock - 3. collectTables:递归当前 block.getFrom() - - 普通表:登记 alias/fullTable/shortTable -> realTable - - JOIN:递归收集 left/right - - LATERAL VIEW:递归内部 tableSource - 4. owner 非空:在当前作用域执行 u -> user_info - owner 未命中别名时,再兼容直接真实表名/schema.table 写法 - 5. owner 为空:在当前作用域各真实表中查字段 - - 唯一命中:返回该真实表字段 - - 多个命中:tableName=null,标记无法确定 - 6. 返回 ResolvedParameterColumn(tableName, columnName) - -> findColumn:只在 realTable 对应元数据中精确查字段 - -> 生成 DataTypeColumn(name, type, comment) - -> register/applyBindInfo - -> 写入 ParamInfo.fieldName/dataType/desc -``` - -最近查询块策略天然形成作用域隔离:如果外层和内层都声明 `u`,内层字段向上首先遇到内层 `SQLSelectQueryBlock`,因此只扫描内层 `FROM`,不会串用外层的 `u`。 - -限定字段和裸字段采用不同算法: - -| 字段形态 | 定位规则 | 无法确定时的行为 | -|---|---|---| -| `u.tenant_id` | `u -> realTable` 后精确查 `realTable.tenant_id` | 保留 `tenant_id`,类型/注释为空 | -| `user_info.tenant_id` | owner 直接与元数据表名匹配 | 保留字段名,类型/注释为空 | -| `tenant_id` | 只检查当前查询块内真实表,要求恰好一个表包含该字段 | 多表同名时不绑定类型 | -| 无查询块上下文 | 仅允许全局元数据唯一命中 | 多个候选时不绑定类型 | - -元数据表名匹配兼容 `table`、`schema.table` 和 `catalog.schema.table`:先做忽略大小写的全名比较,再做带点边界的后缀比较。字段名也忽略大小写,但字段查找始终限制在已经确定的真实表中。 - -普通表别名的最小闭环如下: - -```text -FROM user_info u -WHERE u.tenant_id = ${tenantId} - -u.tenant_id - -> tablesByQualifier["u"] = "user_info" - -> tableColumnsMap["user_info"] 查 tenant_id - -> DataTypeColumn(tenant_id, BIGINT, 租户) - -> ParamInfo(fieldName=tenant_id, dataType=BIGINT, desc=租户) -``` - -当前已完成第一阶段:普通表、schema/catalog 表、表别名、JOIN、查询块作用域隔离和裸字段唯一性消歧。全局字段名 fallback 已被严格限制为“没有可识别 FROM 实表且全局元数据恰好唯一命中”;任何歧义都不会再依赖 `Map` 顺序选择。第二阶段支持派生表、CTE、UNION 输出列穿透;第三阶段补充复杂表达式多字段和相关子查询的外层引用。 - -##### 4.1.5.4 可直接暴露现有问题的单测 - -原有测试主要验证“变量是否被发现”,字段名又大多不冲突,因此旧 fallback 容易被掩盖。第一阶段已经增加 9 个真实表定位回归测试,其中编号 18 是正式测试资源中的嵌套查询: - -| 已覆盖场景 | 核心断言 | -|---|---| -| JOIN 同名字段 + `u` 别名 | 必须绑定 `user_info.tenant_id/BIGINT` | -| JOIN 同名字段 + `a` 别名 | 必须绑定 `audit_log.tenant_id/VARCHAR(64)` | -| 反向调整 `LinkedHashMap` 插入顺序 | 字段类型和注释结果完全一致 | -| JOIN 裸字段多表同名 | 保留字段名,`dataType/desc` 必须为空 | -| JOIN 裸字段唯一命中 | 绑定唯一包含该字段的真实表类型 | -| schema 表别名 | `app.user_info u` 正确绑定 `app.user_info.tenant_id` | -| 内外层使用同名别名 | 参数绑定最近查询块内的真实表字段 | -| 编号 18 复杂嵌套查询 | 多 CTE、派生表、JOIN、CTE 内 UNION、标量子查询和主查询 UNION 中的 8 个参数分别绑定真实字段类型,并生成 8 个有序运行期值;最终输出严格等于最外层第一 UNION 分支的 7 列 | -| 配置期到运行期组合 | 解析得到 `BIGINT` 后,字符串 `"9"` 最终转换为 `Long 9L` | - -所有定向测试同时断言 `fieldName/dataType/desc`;顺序测试使用 `LinkedHashMap` 主动交换元数据顺序;组合测试把 `parseParameterSql` 结果直接传入 `buildSqlByPrepareCompile`,验证字段定位错误不会在运行期被隐藏。测试类中的每一次 `parseParameterSql` 调用还必须同时断言 `inputParams` 和 `outputParams` 的准确数量,防止只验证参数名称或单个绑定结果时遗漏 CTE、派生表、标量子查询及 UNION 内部投影污染最终 API 输出的问题。派生表、CTE、UNION 字段穿透和复杂左值的测试将在对应阶段实现时补充。 - -**类型如何传到预编译**: - -- `buildSqlByPrepareCompile(stmt, inParams, columns)` **不接收 `tableColumnsMap`**,运行期类型只能来自 `columns[param].dataType`; -- 因此配置期必须把「绑定字段类型」写入 `ParamInfo.dataType` 随配置落库; -- 运行期据此调用 `ParamDataTypeTransfer.transfer(dataType, value)` 决定每个 `?` 的绑定类型(见 4.2.6); -- 元数据缺失时,当前 base 类型转换器在 dataType 为空时原样返回 value。 - -#### 4.1.6 出参与元数据 - -- 输出参数表示 SQL 转 API 的最终结果集结构,只收集最外层查询投影;CTE、FROM 派生表、标量子查询的内部投影均使用临时输出容器,不追加到最终 `outputParams`; -- 顶层 `UNION/UNION ALL` 的各分支按位置共享同一套结果结构,因此只使用第一分支生成输出参数,后续分支仍解析输入变量但不重复追加输出列; -- 当前将最外层非变量 select 项转成 `ApiParamSpan`(表达式文本、别名及简单字段绑定);尚未复用血缘输出列解析,也未展开 `*`; -- 当前参数服务通过独立的 `ParameterColumnResolver` 先定位真实表字段,再查询 `tableColumnsMap`;输出字段仍只支持简单字段绑定,尚未展开 `*` 或穿透派生表/CTE 输出列。 - -##### 4.1.6.1 复杂嵌套 SQL 的输入、输出分流步骤 - -配置期递归过程中,输入参数和输出字段具有不同的传播范围:`${变量}` 无论出现在外层还是任意子查询中,都是调用该 API 时需要提供的输入,因此所有层级共享同一个 `LinkedHashMap params`;输出字段只描述最终结果集,只有最外层主体查询可以写入主 `outputs`。实现通过“共享 `params`、按查询边界切换 `outputs` 容器”保证两者不会相互污染: - -```text -parse(statement) - 创建 sharedParams // 整棵 AST 共享,汇总所有层级输入变量 - 创建 finalOutputs // 只承载 API 最终结果结构 - walkSelect(root, sharedParams, finalOutputs) - -walkSelect(select, params, outputs) - 1. WITH 中每个 CTE: - walkSelect(cte.query, params, new temporaryOutputs()) - // 收集 CTE 内参数,丢弃 CTE 中间投影 - 2. 主体 query:walkQuery(select.query, params, outputs) - 3. 继续收集 SELECT 级 ORDER BY / LIMIT 中的变量 - -walkTable(from, params, outputs) - 1. FROM (SELECT ...) 派生表:使用 temporaryOutputs - 2. FROM (query UNION query) :使用 temporaryOutputs - 3. JOIN:左右表源继续递归,并解析 ON 条件参数 - // 表源子查询只提供中间数据,不改变外层 API 输出结构 - -walkExpr(expr, params) - 1. 标量子查询、EXISTS、IN 子查询:共享 params,使用 temporaryOutputs - 2. 普通条件:提取变量并绑定条件另一侧真实字段 - // 子查询 SELECT 列不进入 finalOutputs,其中的变量仍进入 sharedParams - -walkQuery(union, params, outputs) - 1. 第一个分支:使用当前 outputs,建立 UNION 最终列结构 - 2. 第二个及后续分支:共享 params,使用 temporaryOutputs - 3. 解析 UNION 自身 ORDER BY / LIMIT 参数 - // UNION 各分支按列位置形成一套结果,不能把每个分支的投影纵向累加 -``` - -这里的临时容器不是跳过子查询解析。子查询仍完整遍历,其变量、操作符、字段绑定类型和首次出现顺序都会写入共享 `params`;只有不属于最终结果集的内部投影被隔离。临时容器在该递归分支返回后即可丢弃。 - -以编号 18 的复杂 SQL 为例: - -```text -输入参数: - CTE t1/t2/t3/t4 内参数 5 个 - 主查询标量子查询 olderAge 1 个 - 主查询两个 UNION 分支条件参数 2 个 - => 去重后 inputParams = 8 - -最终输出: - 只取最外层 UNION 第一分支: - t1.id, t1.name, t2_name, t3_name, t4_age, dt.department, older_count - => outputParams = 7 - -被隔离的内部投影: - 各 CTE 的 SELECT 列、FROM 派生表列、older_count 标量子查询内部 COUNT(*)、 - 最外层 UNION 第二分支的重复投影 -``` - -修复前,递归调用始终传递同一个 `outputs`,导致上述内部投影被逐层追加,编号 18 最终错误地产生 30 个输出字段。修复后每个查询边界明确选择最终容器或临时容器,并由单测同时锁定输入、输出数量及最外层输出名称。 - -#### 4.1.7 LIMIT / 分页 - -- 当前遍历 LIMIT offset / rowCount 并识别变量;参数属性按普通表达式变量处理,没有固定设为 INT/imperative,也未区分最外层 LIMIT; -- 运行期保留 Druid 当前方言的 LIMIT AST 形态并改写其中变量;尚未实现跨方言分页语法重写器。 - ---- - -### 4.2 核心方法二:`buildSqlByPrepareCompile`(运行期) - -```java -PrepareCompileResult buildSqlByPrepareCompile(SQLStatement stmt, - Map inParams, - Map columns); -``` - -#### 4.2.1 全流程细节步骤 - -```text -BaseSqlParser.buildSqlByPrepareCompile(String sql, inParams, columns) (String 入口) - └─ createStatement(sql) -> SQLStatement (syntax 层 Druid 解析) - └─ ISqlParser.getParseParameterClient() -> BaseParseParameterClient - └─ PrepareSqlRewriter.rewrite(stmt, inParams, columns) - -0. 语句校验:仅 SQLSelectStatement,非查询直接抛 IllegalArgumentException -1. 克隆 AST:statement.clone()(不改写调用方语法树);规整 inParams / columns(空 Map 兜底) -2. Pass 1 条件剪枝(SqlConditionPruner) - 遍历 SQLSelectQueryBlock,对 where / having 递归剪枝: - - 缺值的可选条件移除;AND/OR 一侧为空保留另一侧;两侧皆空则整体置空 - - 参数标记 imperative=true 时,缺值前调用 ParamInfo.hasValue() 抛缺值异常 -3. Pass 2 变量改写(一次 visitor 遍历,记录 IdentityHashMap<占位符, 绑定值>) - 3.1 SQLInListExpr:变量值按集合展开为多个占位符(id IN (?, ?, ?)) - 3.2 SQLSelectOrderByItem / SQLSelectGroupByClause:变量内联为 SQLIdentifierExpr(值直接写入,不产生 ?) - 3.3 SQLVariantRefExpr:${变量} -> Constant.PREPARED_PLACEHOLDER("?"), - 并按 columns[name].dataType 经 ParamDataTypeTransfer 转换绑定值 -4. Pass 3 收集绑定值:按改写后 AST 的 SQLVariantRefExpr 遍历顺序收集 inputFields(与渲染顺序一致) -5. 渲染:SQLUtils.toSQLString(sql, dbType) -> beautifulSql -6. 返回 PrepareCompileResult(inputFields, beautifulSql) -``` - -关键点: - -- 占位符统一使用 `Constant.PREPARED_PLACEHOLDER`;每个 `?` 与 `inputFields` 一一对应、按序绑定。 -- 运行期类型来自 `columns[param].dataType`(配置期 `ParamInfo.dataType` 落库传递),与 `tableColumnsMap` 无关。 -- 当前实现没有自定义 `SQLASTOutputVisitor`:绑定值来自改写后 AST 的 visitor 遍历顺序,之后独立调用 `SQLUtils.toSQLString` 渲染;顺序一致性与其风险见 4.2.4。 - -#### 4.2.2 条件剪枝:`SqlConditionPruner` - -- 遍历 SELECT QueryBlock,对 WHERE 与 HAVING 调用 `SqlConditionPruner`;缺值参数对应条件被移除; -- 逻辑表达式(AND/OR)一侧移除时保留另一侧;两侧都可空则整体置空; -- 如果参数定义标记 `imperative=true`,剪枝前调用 `ParamInfo.hasValue()` 触发缺值异常; -- 仅处理 SELECT 的 WHERE/HAVING;非 SELECT 语句在运行期直接拒绝(抛 `IllegalArgumentException`)。 - -#### 4.2.3 变量改写与绑定记录 - -```java -// 变量 -> ?,记录绑定值 -Object bind = transfer.transfer(columns.get(name).getDataType(), inParams.get(name)); -ref.setName(Constant.PREPARED_PLACEHOLDER); -pairing.put(ref, bind); // IdentityHashMap - -// IN/NOT IN 展开:值按 Iterable / 数组 / 单值转列表,展开为多个 ? -List targets = new ArrayList<>(); -for (Object v : toList(value)) { - SQLVariantRefExpr vref = new SQLVariantRefExpr(Constant.PREPARED_PLACEHOLDER); - pairing.put(vref, transfer.transfer(dataType, v)); - targets.add(vref); -} -inExpr.setTargetList(targets); // id IN (?, ?, ?) - -// ORDER BY / GROUP BY 内联:值直接写成标识符,不使用占位符、不计入 inputFields -// ORDER BY ${col} ASC -> setExpr(new SQLIdentifierExpr(value)) -``` - -- `ORDER BY ${col} ASC` → `setExpr(new SQLIdentifierExpr(value))`;`GROUP BY ${x}` → 写入实际值; -- 这些位置不能用 `?`(改变语义),值内联;调用方需限制这些位置的值为可信合法标识符。 - -#### 4.2.4 参数值收集与顺序一致性 - -```java -List ordered = new ArrayList<>(); -rewrittenSql.accept(new SQLASTVisitorAdapter() { - @Override public boolean visit(SQLVariantRefExpr x) { - if (Constant.PREPARED_PLACEHOLDER.equals(x.getName()) && pairing.containsKey(x)) - ordered.add(pairing.get(x)); - return true; - } -}); -String beautifulSql = SQLUtils.toSQLString(rewrittenSql, dbType); -``` - -顺序一致性依赖「AST 遍历顺序」与「Druid 输出顺序」一致。对 SELECT 常见结构(WHERE/GROUP BY/HAVING/ORDER BY/LIMIT、子查询/CTE/UNION/JOIN)两者一致,已由测试覆盖;但这并非 Druid 的通用保证,已知例外:`WINDOW` 子句(accept 先于 WHERE,输出后于 WHERE)与 PostgreSQL/Oracle 的 `LIMIT ... OFFSET ...`(输出顺序与 accept 相反),这些位置当前不在支持范围内。彻底方案是改用输出 visitor,在打印占位符时同步收集。 - -#### 4.2.5 LIMIT / OFFSET 当前处理范围 - -- `offset/rowCount` 是变量则 `setName(Constant.PREPARED_PLACEHOLDER)` 并记录值;是常量则写字面量; -- 当前不重写分页语法,序列化保留输入 AST 所属方言的表达方式;MySQL 的 `LIMIT offset, rowCount` 变量会参与普通 `?` 改写及参数收集; -- PostgreSQL / Oracle / DB2 / Trino 等跨方言分页结构转换属于后续工作。 - -#### 4.2.6 字段类型转换:`ParamDataTypeTransfer` - -负责把「方言原始类型 + 原始值」转换为最终放入 `PrepareCompileResult.inputFields` 的 Java 对象。运行期类型来自 `columns[param].dataType`;配置期解析得到的 `ParamInfo.dataType` 可以直接作为 `columns` 配置传入。 - -```java -public interface ParamDataTypeTransfer { - Object transfer(String dataType, Object value); // 方言原始类型 -> 预编译绑定对象 -} -``` - -- base 默认实现:整数类型前缀转 `Integer/Long`,DECIMAL/NUMERIC/NUMBER 转 `BigDecimal`,FLOAT/DOUBLE 转对应浮点类型,BOOL 转 `Boolean`,TIMESTAMP 转 `Timestamp`;未识别的非空类型转 `String`;转换异常回退 `value.toString()`;`dataType` 或 value 为空时原样返回; -- 注入方式:`BaseParseParameterClient` 通过可覆盖的 `getPrepareSqlRewriter(dbType)` 创建 `PrepareSqlRewriter`,转换器在该方法内注入;base 默认使用 `BaseParamDataTypeTransfer`,MySQL / Doris 分别覆盖该方法注入自身 `parser//parameter` 包下的实现;base 不维护方言注册中心; -- 配合:`transfer(columns[param].dataType, inParams.get(param)) -> 绑定值`; -- 当前方言差异实现: - -| 数据源 | 实现位置 | 覆盖类型 | 最终对象 | -|---|---|---|---| -| Base 默认 | `parser/base/parameter/transfer/BaseParamDataTypeTransfer` | 常见整数、DECIMAL/NUMERIC/NUMBER、FLOAT/DOUBLE、BOOL、TIMESTAMP;其他非空类型作为字符串 | `Integer` / `Long` / `BigDecimal` / `Float` / `Double` / `Boolean` / `Timestamp` / `String` | -| MySQL | `parser/mysql/parameter/MysqlParamDataTypeTransfer` | 继承 base;额外处理 BIT/BOOL、DATETIME/TIMESTAMP、DATE、YEAR | BIT/BOOL → `Integer`;DATETIME/TIMESTAMP → `Timestamp`;DATE → `java.sql.Date`;YEAR → `Integer` | -| Doris | `parser/doris/parameter/DorisParamDataTypeTransfer` | 继承 base;额外处理 BOOLEAN、DATETIME、DATE、LARGEINT | BOOLEAN → `Boolean`;DATETIME → `Timestamp`;DATE → `java.sql.Date`;LARGEINT 当前作为 `String` | - -Oracle、PostgreSQL、Hive、Spark、StarRocks、Trino、ClickHouse 等目前走 base 默认转换,尚无专属实现。 - ---- - -### 4.3 端到端示例 - -#### 4.3.1 配置期 - -```sql -SELECT id, name FROM user_info WHERE tenant_id = ${tenantId} AND status = ${status} -``` - -设计目标中的绑定解析:`tenantId -> user_info.tenant_id`、`status -> user_info.status`,类型由 `tableColumnsMap` 回填。当前实现会将这类字段类型写入 `ParamInfo`;参数识别过程的变量列表和绑定列保存在内部 `ParameterSpan`,不会混入只表示最终输出字段的 `ApiParamSpan`。 - -以下 JSON 是目标 API 配置形态示意,**不是当前 `ParseParameterResult.inputParams` 的序列化结果**: - -```json -{ - "inputParams": [ - {"sqlPart":"tenant_id = ${tenantId}","params":["tenantId"],"operator":"=", - "bindColumns":[{"name":"tenant_id","type":"BIGINT","comment":"租户ID"}]}, - {"sqlPart":"status = ${status}","params":["status"],"operator":"=", - "bindColumns":[{"name":"status","type":"VARCHAR","comment":"状态"}]} - ], - "outputParams": [{"sqlPart":"id"},{"sqlPart":"name"}] -} -``` - -#### 4.3.2 运行期 - -输入 `inParams={tenantId:1001, status:"OPEN"}`: - -```json -{ - "beautifulSql": "SELECT id, name FROM user_info WHERE tenant_id = ? AND status = ?", - "inputFields": [1001, "OPEN"] -} -``` - -`tenant_id = ?` ↔ `inputFields[0]`(MySQL BIGINT 经 base 转换器转为 `Long`),`status = ?` ↔ `inputFields[1]`(VARCHAR→`String`)。 - -#### 4.3.3 关键流程时序 - -```text -配置期: -Caller -> ISqlParser.parseParameterSql(sql, ...) - -> BaseSqlParser.createStatement(sql) (syntax 层 Druid) - -> ISqlParser.getParseParameterClient() (MySQL / Doris 使用各自 parser Client) - -> BaseParseParameterClient.parseParameterSql(stmt, ...) - -> ParamParseService.parse(...) (四类 SQL 语句分派) - -> walkSelect / walkQuery / walkBlock / walkTable / walkExpr - -> bind(...) (简单字段名查 tableColumnsMap) - -> 组装 ParamInfo 与 outputParams - -> return ParseParameterResult - -运行期: -Caller -> ISqlParser.buildSqlByPrepareCompile(sql, inParams, columns) - -> BaseSqlParser.createStatement(sql) - -> ISqlParser.getParseParameterClient() - -> BaseParseParameterClient.buildSqlByPrepareCompile(stmt, inParams, columns) - -> PrepareSqlRewriter.rewrite(...) - -> SqlConditionPruner(SELECT WHERE / HAVING) - -> 注入的 ParamDataTypeTransfer 转换值 - -> AST 遍历收集 inputFields;SQLUtils 渲染 beautifulSql - -> return PrepareCompileResult(beautifulSql, inputFields) -``` - ---- - -## 五、核心的类包结构 - -```text -core/enums/ -└── ParamOperatorEnum (操作符口径:SQL 操作符 + 内部伪操作符) - -core/config/ -└── Constant (PREPARED_PLACEHOLDER = "?") - -core/parser/base/parameter/ -├── BaseParseParameterClient (入口编排;可覆盖 getParamParseService / getPrepareSqlRewriter) -├── support/ParameterAstUtils (变量识别、取值、IN 值转集合) -├── service/ -│ └── ParamParseService (SELECT 解析及 AST 递归) -├── domain/ (已有:ApiParamSpan / DataTypeColumn / ParamInfo) -├── vo/ (已有:ParseParameterResult / PrepareCompileResult) -├── rewrite/ -│ ├── PrepareSqlRewriter (克隆、改写、绑定映射、参数收集与渲染) -│ └── SqlConditionPruner (SELECT WHERE / HAVING 条件剪枝) -└── transfer/ - ├── ParamDataTypeTransfer (转换接口) - └── BaseParamDataTypeTransfer (通用实现) - -core/parser/mysql/parameter/ -├── MysqlParseParameterClient (覆盖 getPrepareSqlRewriter 注入 MySQL 类型转换器) -└── MysqlParamDataTypeTransfer - -core/parser/doris/parameter/ -├── DorisParseParameterClient (覆盖 getPrepareSqlRewriter 注入 Doris 类型转换器) -└── DorisParamDataTypeTransfer -``` - -- `BaseParseParameterClient` 只编排配置期解析和运行期预编译:配置期委托 `ParamParseService`,运行期委托 `PrepareSqlRewriter`。构造时用 `SqlParserDataSourceType` 得到 Druid `DbType`,并通过可覆盖的 `getPrepareSqlRewriter(dbType)` 创建改写器、在该方法内注入 `ParamDataTypeTransfer`; -- `ISqlParser` 默认方法根据 `getDbType()` 反查 `SqlParserDataSourceType` 并创建 base Client。MySQL 和 Doris 分别由 `MySqlParser`、`DorisSqlParser` 覆盖 `getParseParameterClient()`,返回自己的 `MysqlParseParameterClient` / `DorisParseParameterClient`;这两个子类仅覆盖 `getPrepareSqlRewriter(dbType)` 注入方言转换器。新增数据源沿该结构在自己的 parser 目录扩展,base 不包含数据源注册表; -- 当前参数字段绑定尚未复用 `core/select/*` 的 alias / lineage 解析。 - ---- - -## 六、核心目前的实现范围边界情况 - -### 6.1 非法语法边界 - -| 位置 | 现象 | 兜底 | -|---|---|---| -| `ORDER BY ${col} ${dir}` | 方向位 `${dir}` 解析失败 | 当前没有预处理兜底;调用方需调整 SQL 或后续补充预处理 | -| `LIMIT ${a}*10` | `illegal variable`(变量参与算术) | 当前不支持;后续可用轻量表达式求值 | - -当前实现没有 `PreprocessFallback`;`'${x}'` 无需处理(Druid 已解析为字符串字面量)。 - -### 6.2 运行期尚未接入的行为 - -- 仅支持 SELECT:配置期与运行期对非 SELECT 语句分别忽略/拒绝; -- 条件剪枝只处理 SELECT 的 WHERE/HAVING; -- LIMIT 变量按普通变量改写,不进行跨方言分页重写,也未区分最外层 LIMIT; -- 空集合 IN 的专门 SQL 语义尚未定义; -- 输出字段 `*` 未展开,主体 SELECT 输出边界与 `tables` 结果尚未实现。 - -### 6.3 边界与风险 - -| 项 | 说明 | 处置 | -|---|---|---| -| 变量语法 | 仅 `${name}`(`[a-zA-Z_0-9]+`) | 正则约束;不支持 `${bdp.system.bizdate}` | -| 引号内变量 | `'${x}'` | Druid 天然识别为 `SQLCharExpr`,无需处理 | -| **遍历方式** | 配置期结构递归;复合表达式兜底 visitor | 当前已实现主要节点递归分派 | -| 有序参数顺序 | AST 遍历收集与 SQLUtils 单独渲染 | 常见结构一致并由测试覆盖;WINDOW / 跨方言 LIMIT-OFFSET 等除外,见 4.2.4 | -| 参数-字段绑定 | 别名/子查询/CTE/多表同名字段 | 当前只按简单字段名/owner 匹配;别名穿透及歧义消解待完善 | -| 无绑定字段 | ORDER BY/LIMIT/自定义 SQL | 使用 `columns[param].dataType`;空类型时原值不转换 | -| 元数据缺失 | `bindColumns.type` 为空 | base transfer 空类型保留原值;未知非空类型转字符串 | -| 操作符口径 | `operator` 混用 SQL/伪操作符 | 当前在 `ParamOperatorEnum` 中定义常见符号;部分节点使用 CUSTOM | -| SQL 重新渲染 | 大小写/换行可能变化 | SQLUtils 重新渲染,格式与原文可能不同 | -| ORDER BY 方向变量 | 原生解析失败 | 当前无预处理支持 | -| LIMIT 算术 | 原生解析失败 | 一期不支持,二期表达式求值 | -| 条件剪枝 | AND/OR/括号/空 WHERE | 当前 SELECT WHERE/HAVING 使用递归剪枝;非 SELECT 语句直接拒绝 | -| 重复变量 | 同一变量多次出现 | 每次出现各产生一个 `?`,值同源 | -| 类型转换 | 方言类型繁多 | base / MySQL / Doris 三层实现;其他数据源当前走 base | - -### 6.4 测试覆盖 - -测试 SQL 统一放在 `core/base/parameter/BaseParseParameterClientTest.txt`(**均为查询语句**),目前有 18 条编号 SQL;Java 测试通过资源 SQL与内联场景,共覆盖 37 个场景。覆盖内容: - -- **基础**:字段=变量、比较操作符(`>` / `>=` / `<` / `<=` / `<>` / `like`)、`IN`/`NOT IN`、`BETWEEN`/`NOT BETWEEN`、select-list 变量、字符串字面量排除、`select *`; -- **结构**:`GROUP BY`/`HAVING`/`ORDER BY`/`LIMIT` 内联与改写; -- **嵌套**:CTE、派生表、多表 JOIN、UNION(顶层 + FROM 内)、EXISTS、多层 IN 子查询、SELECT 列表标量子查询; -- **顺序**:多个 SELECT 列表标量子查询(配置顺序与渲染顺序不同)、UNION 分支与 `LIMIT` 等复杂嵌套下 `inputFields` 与 `?` 渲染顺序一致性(含 `?` 相对位置断言); -- **去重/合并**:同一变量重复出现;同名变量在 `where` 与 `select-list` 同时出现时必填优先; -- **输入/输出数量契约**:测试类中全部 27 次 `parseParameterSql` 调用均同时断言 `inputParams` 与 `outputParams` 的准确数量;嵌套 SQL 的内部投影不得计入最终输出,顶层 UNION 只以第一分支定义结果结构; -- **输出字段**:除数量外,对最外层输出投影名称及 `ParamInfo`/`ApiParamSpan`/`ParseParameterResult` 的关键字段做断言;编号 18 明确验证 8 个输入参数、7 个最终输出字段,避免此前内部投影累计为 30 个输出字段的问题回归; -- **组合**:`parseParameterSql` 生成的 `ParamInfo` 直接作为 `buildSqlByPrepareCompile` 的 `columns`; -- **类型**:MySQL 与 Doris 类型转换断言最终对象类型。 -- **定义侧取值**:请求参数缺失时从 `ParamInfo.value/defaultValue` 回退,并验证仍按 `dataType` 转换;证明这些字段属于运行期预编译契约。 -- **真实表定位**:JOIN 两侧别名精确绑定、schema 表别名、元数据顺序不影响结果、裸字段唯一命中/多表同名歧义、内外层同名别名作用域、编号 18 多 CTE/派生表/JOIN/UNION/标量子查询综合验证,以及解析类型向运行期绑定值类型传递。 - -2026-10-13 最近一次验证:参数专项测试 37 个通过;`AllTestsSuite` 114 个通过;core 与依赖模块全量测试 118 个通过。 - -后续需增加: - -- 基础:单变量、多变量、重复变量、必填缺值、`'${x}'` 字符串、无变量; -- **绑定**:字段=变量、表达式多字段、别名/子查询/CTE 别名、多表同名字段、无字段场景(ORDER BY/LIMIT); -- 条件:`=`/`IN`/`NOT IN`/`LIKE`、未赋值非必填条件删除、`AND/OR` 混合、括号; -- 结构:`ORDER BY`(含 asc/desc 变量)、`GROUP BY`、`LIMIT/OFFSET` 变量、最外层常量 `LIMIT`; -- 出参:别名、`*` 展开(依赖 `tableColumnsMap`)、函数列、`CASE WHEN` 列; -- 操作符:`ParamOperatorEnum.ofSymbol/ofDruid` 映射正确; -- 类型:各数据源典型类型经 `ParamDataTypeTransfer` 转换; -- 一致性断言:`beautifulSql` 中第 N 个 `?` ↔ `inputFields` 第 N 个值。 - -### 6.5 后续完善项 - -| 阶段 | 内容 | 重点复用 | -|---|---|---| -| 已完成(第一阶段) | 参数字段绑定支持普通表、schema/catalog 表、表别名、JOIN 和裸字段唯一性消歧 | parameter 内 `ParameterColumnResolver`、`TableSourceUtil` | -| 下一步 | 参数字段绑定支持 CTE、派生表、UNION 输出列穿透和复杂表达式字段提取 | 参考 `SelectColumnSpecialLineageService`,不修改字段血缘行为 | -| 下一步 | 用 Druid 输出 visitor 在渲染时同步收集每个 `?` 的绑定值 | `SQLASTOutputVisitor` | -| 下一步 | 输出字段 `*` 展开、主体 SELECT 输出边界、tables 结果 | select / lineage 引擎 | -| 下一步 | 方言分页改写、LIMIT 元数据标记、非法变量位置预处理 | datasource-specific rewriter / preprocessor | -| 持续扩展 | 新数据源在自己的 `parser//parameter` 目录增加 Client 与 Transfer | `ParamDataTypeTransfer` | - ---- - -## 七、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-10-10 | 初版:基于 Druid 1.2.28 实测(`${x}` → `SQLVariantRefExpr`),给出纯 Druid 实现蓝本、可复用组件与分期计划 | -| 2026-10-10 | 明确遍历方案:改用与血缘解析同构的「递归分派 Service」(不用通用 AST visitor);有序值用 Druid 输出访问者收集;新增 `ParamOperatorEnum` | -| 2026-10-10 | 细化「别名.字段 → 真实表.字段 → 类型」解析:from 别名映射、真实表 vs 派生表两种字段引用、元数据查询、逐层示例 | -| 2026-10-10 | 将「参数与表字段绑定解析」并入配置期方法的字段绑定小节(现 4.1.5);明确核心复用它 `SelectTableSpecialLineageService.queryFromTable` | -| 2026-10-10 | 澄清数据源类型传递:区分**业务数据源类型 `SqlParserDataSourceType`**(类型转换/分页)与 **Druid `DbType`**(仅渲染);Client 由 `fromDbType(getDbType())` 获得业务类型,不改接口 | -| 2026-10-12 | 补充初步实现记录:Base Client 编排、SELECT 解析与嵌套递归、MySQL/Doris 方言类型转换注入、当前边界及测试资源组织 | -| 2026-10-12 | 参数能力收敛为**仅支持 SELECT 查询**:移除 INSERT/UPDATE/DELETE 解析分支,运行期对非 SELECT 直接拒绝;同步测试资源与文档 | -| 2026-10-12 | 补充 `BETWEEN`/`NOT BETWEEN` 与 `SQLUnionQuery` 顶层 `ORDER BY`/`LIMIT` 的变量识别;测试资源改为纯查询并扩充到 14 条、22 个场景,覆盖全部输出字段与多层嵌套 | -| 2026-10-12 | 同名变量合并:必填优先 + 绑定信息补齐;测试补充多标量子查询/CTE+UNION 的 `?` 顺序断言与同名参数合并用例,扩充到 17 条、26 个场景 | -| 2026-10-12 | `ApiParamSpan` 移除未赋值字段 `isOutLayer`/`isConst`/`constValue`;`ParamInfo` 增加 `sqlPart`(参数块来源片段);4.1/4.2 各补充「全流程细节步骤」子章节 | -| 2026-10-12 | 转换器注入点收敛为可覆盖的 `BaseParseParameterClient#getPrepareSqlRewriter(dbType)`;占位符统一为 `Constant.PREPARED_PLACEHOLDER`;核心方法补充流程序号注释 | -| 2026-10-12 | 文档重构为「背景/可行性/整体架构设计/核心实现方法设计/类包结构/实现范围边界情况」六大章;核心方法一二补充细节流程,冗余的独立实现说明章节并入正文 | -| 2026-10-13 | 补充参数字段绑定的确定性问题、参数模块内 `ParameterColumnResolver`/查询作用域设计,以及可暴露别名与多表同名字段误绑定的定向测试方案;明确不修改现有字段血缘行为 | -| 2026-10-13 | 落地字段绑定第一阶段:新增 `ParameterColumnResolver`,支持普通表别名、JOIN、schema/catalog 表及裸字段歧义保护;增加 9 个回归测试(含编号 18 复杂嵌套查询),参数专项 35 个通过 | -| 2026-10-13 | 修复嵌套查询输出污染:CTE、派生表、标量子查询使用临时输出容器,UNION 只取第一分支结果结构;复杂编号 18 输出由错误的 30 列收敛为最外层真实 7 列,并为全部嵌套结构用例补充输出投影断言 | -| 2026-10-13 | 完善配置期解析测试契约:审计测试类全部 27 次 `parseParameterSql` 调用,统一补充输入参数数量与最终输出字段数量断言 | -| 2026-10-13 | 精简结果模型:`ApiParamSpan` 仅保留输出字段属性,参数块状态改为服务内部 `ParameterSpan`;`ParamInfo` 删除始终无有效值的 `constant/groupId` 和与 `imperative` 重复的 `required`,保留预编译读取的 `value/defaultValue/dataType/imperative` | diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\345\272\225\345\261\202\345\216\237\347\220\206\350\256\276\350\256\241/\350\247\243\346\236\220sql\347\261\273\345\236\213/\350\247\243\346\236\220sql\347\261\273\345\236\213\345\256\236\347\216\260\346\226\271\346\241\210.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\345\272\225\345\261\202\345\216\237\347\220\206\350\256\276\350\256\241/\350\247\243\346\236\220sql\347\261\273\345\236\213/\350\247\243\346\236\220sql\347\261\273\345\236\213\345\256\236\347\216\260\346\226\271\346\241\210.md" deleted file mode 100644 index a4a6990..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\345\272\225\345\261\202\345\216\237\347\220\206\350\256\276\350\256\241/\350\247\243\346\236\220sql\347\261\273\345\236\213/\350\247\243\346\236\220sql\347\261\273\345\236\213\345\256\236\347\216\260\346\226\271\346\241\210.md" +++ /dev/null @@ -1,313 +0,0 @@ -# 解析 SQL 类型实现方案 - -> 状态:初步实现 -> 能力入口:`ISqlParser#parseSqlType(String)` / `ISqlParser#parseSqlType(SQLStatement)` -> 底座:**仅 Druid 1.2.28**(`sqlparserx-syntax` 已提供 `String → SQLStatement`) -> 目标:SqlParserX 拥有自己的业务层 `SqlType` 定义,并基于 **Druid 语法树**判定 SQL 类型 - ---- - -## 一、背景与目标 - -平台在「SQL 转 API / 权限 / 审计」等场景需要先知道一条 SQL 属于哪一类操作(查询 / 写入 / DDL / SHOW…),再决定后续处理: - -- **能力入口**:`ISqlParser#parseSqlType`,提供 `String` 与 `SQLStatement` 两个重载,返回业务枚举 `SqlType`; -- **判定方式**:优先用 **Druid AST 分派**(`SQLStatement` 的具体子类 + 关键字段)判定,而非文本正则; -- **范围收敛**:一期只覆盖通用 Druid 语句;方言专属语句与无法识别的一律归 `SqlType.OTHER`,不做正则兜底。 - -```text -String SQL -> BaseSqlParser.createStatement(sql) -> SQLStatement(Druid AST) - │ - IParseSqlTypeClient.parseSqlType(stmt) - │ - SqlType(业务枚举) -``` - ---- - -## 二、业务层 `SqlType` 枚举定义 - -`com.dtstack.sqlparserx.core.enums.SqlType`,**仅收录可由 `parseSqlType` 判定出的类型**,外加兜底 `OTHER`;`type` 为对外业务标识串,`value` 为整型编码。 - -### 2.1 查询 - -| 常量 | type | value | 说明 | -|---|---|---|---| -| `QUERY` | `select` | 44 | 查询 | -| `WITH_QUERY` | `with_query` | 49 | 带 CTE 的查询 | -| `QUERY_NO_FROM` | `xxx` | 48 | 无 from 的简单查询 | - -### 2.2 数据操作(DML) - -| 常量 | type | value | 说明 | -|---|---|---|---| -| `INSERT` | `insert` | 41 | 插入 | -| `UPDATE` | `update` | 45 | 更新 | -| `DELETE` | `delete` | 46 | 删除 | -| `TRUNCATE` | `truncate` | 43 | 清空表 | -| `MERGE_INTO` | `merge_into` | 50 | Merge Into | -| `BEGIN_END` | `begin_end` | 51 | 过程块 | - -### 2.3 结构操作(DDL) - -| 常量 | type | value | 说明 | -|---|---|---|---| -| `CREATE` | `create` | 101 | 建表 | -| `CREATE_AS` | `create_as` | 103 | Create As Select(含视图 as) | -| `CREATE_LIKE` | `create_like` | 102 | Create Table Like | -| `CREATE_TEMP` | `create_temp` | 200 | 建临时表 | -| `DROP` | `drop` | 104 | 删表 / 删视图 | -| `ALTER` | `alter` | 105 | 改表(笼统) | -| `ALTERTABLE_RENAME` | `altertable_rename` | 106 | 改表名 | -| `ALTERTABLE_RENAMECOL` | `altertable_renamecol` | 113 | 改列名 | -| `ALTERTABLE_ADDCOLS` | `altertable_addcols` | 114 | 加列 | -| `ALTERTABLE_REPLACECOLS` | `altertable_replacecols` | 115 | 替换列 | -| `ALTERTABLE_ADDPARTS` | `altertable_addparts` | 109 | 加分区 | -| `ALTERTABLE_DROPPARTS` | `altertable_dropparts` | 111 | 删分区 | -| `ALTERTABLE_RENAMEPART` | `altertable_renamepart` | 110 | 改分区名 | -| `COMMENT_ON` | `comment_on` | 200 | Comment On | - -### 2.4 描述 / SHOW - -| 常量 | type | value | 说明 | -|---|---|---|---| -| `DESC_TABLE` | `desc_table` | 176 | 表描述 | -| `DATABASE_DESC` | `databases_desc` | 13 | 库描述 | -| `SHOW` | `show` | 180 | Show(笼统兜底) | -| `SHOW_TABLES` | `show_tables` | 171 | 显示表 | -| `SHOW_CREATETABLE` | `show_createtable` | 172 | 显示建表语句 | -| `SHOW_COLUMNS` | `show_columns` | 175 | 显示列 | -| `SHOW_FUNCTION` | `show_function` | 25 | 显示函数 | -| `SHOW_MATERIALIZED_VIEW` | `show_materialized_view` | 406 | 显示物化视图 | -| `SHOW_CREATE_MATERIALIZED_VIEW` | `show_create_materialized_view` | 407 | 显示建物化视图语句 | -| `EXPLAIN` | `explain` | 177 | 执行计划 | - -### 2.5 视图 / 物化视图 / 函数 / 数据库 - -| 常量 | type | value | 说明 | -|---|---|---|---| -| `CREATE_VIEW` | `create_view` | 401 | 建视图(无 as select) | -| `CREATE_MATERIALIZED_VIEW` | `create_materialized_view` | 403 | 建物化视图 | -| `DROP_MATERIALIZED_VIEW` | `drop_materialized_view` | 404 | 删物化视图 | -| `ALTER_MATERIALIZED_VIEW` | `alter_materialized_view` | 405 | 改物化视图 | -| `REFRESH_MATERIALIZED_VIEW` | `refresh_materialized_view` | 408 | 刷新物化视图 | -| `CREATE_FUNCTION` | `create_function` | 22 | 建函数 | -| `DROP_FUNCTION` | `drop_function` | 23 | 删函数 | -| `PROCEDURE_EXEC` | `procedure_exec` | 410 | 存储过程 / EXEC | -| `DATABASE_CREATE` | `databases_create` | 11 | 建库 | -| `DATABASE_DROP` | `databases_drop` | 12 | 删库 | -| `DATABASE_SHOW` | `databases_show` | 14 | 列出库 | - -### 2.6 兜底 - -| 常量 | type | value | 说明 | -|---|---|---|---| -| `OTHER` | `other` | 500 | 未识别 / 暂不支持 | - -### 2.7 字段与辅助方法 - -- `getType()` / `getValue()`:读取业务标识串与编码; -- `getByType(String)`:按 `type` 解析(忽略大小写),未命中返回 `OTHER`; -- `getByValue(Integer)`:按 `value` 解析,未命中返回 `OTHER`; -- **value 说明**:`COMMENT_ON` 与 `CREATE_TEMP` 均为 `200`(沿用历史口径),`getByValue(200)` 返回首个匹配项。 - ---- - -## 三、Druid 判定方式 - -### 3.1 结论 - -**可以。** 上述类型均可由 Druid 的 `SQLStatement` 子类(配合少量关键字段/子项)直接判定,无需文本匹配。 - -### 3.2 判定总表 - -| SqlType | Druid 节点 / 条件 | -|---|---| -| `QUERY` | `SQLSelectStatement`,`SQLSelect#getWithSubQuery() == null` 且主体 queryBlock 有 from | -| `QUERY_NO_FROM` | `SQLSelectStatement`,主体 `SQLSelectQueryBlock#getFrom() == null` | -| `WITH_QUERY` | `SQLSelectStatement`,`SQLSelect#getWithSubQuery() != null` | -| `INSERT` | `SQLInsertStatement` | -| `UPDATE` | `SQLUpdateStatement` | -| `DELETE` | `SQLDeleteStatement` | -| `TRUNCATE` | `SQLTruncateStatement` | -| `MERGE_INTO` | `SQLMergeStatement` | -| `BEGIN_END` | `SQLBlockStatement` / `SQLBeginStatement` | -| `CREATE` | `SQLCreateTableStatement`,非 as / like / temp | -| `CREATE_AS` | `SQLCreateTableStatement#getSelect() != null`;或 `SQLCreateViewStatement#getSubQuery() != null` | -| `CREATE_LIKE` | `SQLCreateTableStatement#getLike() != null` | -| `CREATE_TEMP` | `SQLCreateTableStatement#isTemporary()` | -| `DROP` | `SQLDropTableStatement` / `SQLDropViewStatement` | -| `ALTER` | `SQLAlterTableStatement` 默认 | -| `ALTERTABLE_RENAME` | alter item `SQLAlterTableRename` | -| `ALTERTABLE_RENAMECOL` | alter item `SQLAlterTableRenameColumn` | -| `ALTERTABLE_ADDCOLS` | alter item `SQLAlterTableAddColumn` | -| `ALTERTABLE_REPLACECOLS` | alter item `SQLAlterTableReplaceColumn` | -| `ALTERTABLE_ADDPARTS` | alter item `SQLAlterTableAddPartition` | -| `ALTERTABLE_DROPPARTS` | alter item `SQLAlterTableDropPartition` | -| `ALTERTABLE_RENAMEPART` | alter item `SQLAlterTableRenamePartition` | -| `COMMENT_ON` | `SQLCommentStatement` | -| `DESC_TABLE` / `DATABASE_DESC` | `SQLDescribeStatement#getObjectType()`(`DATABASE` → 库描述) | -| `SHOW` / `SHOW_TABLES` / `SHOW_CREATETABLE` / `SHOW_COLUMNS` / `SHOW_FUNCTION` / `SHOW_MATERIALIZED_VIEW` / `SHOW_CREATE_MATERIALIZED_VIEW` | `SQLShowStatement` 及子类(具体子类优先,未命中归 `SHOW`) | -| `EXPLAIN` | `SQLExplainStatement` / `SQLExplainAnalyzeStatement` | -| `CREATE_VIEW` | `SQLCreateViewStatement`,`getSubQuery() == null` | -| `CREATE_MATERIALIZED_VIEW` | `SQLCreateMaterializedViewStatement` | -| `DROP_MATERIALIZED_VIEW` | `SQLDropMaterializedViewStatement` | -| `ALTER_MATERIALIZED_VIEW` | `SQLAlterMaterializedViewStatement` | -| `REFRESH_MATERIALIZED_VIEW` | `SQLRefreshMaterializedViewStatement` | -| `CREATE_FUNCTION` | `SQLCreateFunctionStatement` | -| `DROP_FUNCTION` | `SQLDropFunctionStatement` | -| `PROCEDURE_EXEC` | `SQLServerExecStatement` / `SQLCallStatement` | -| `DATABASE_CREATE` | `SQLCreateDatabaseStatement` | -| `DATABASE_DROP` | `SQLDropDatabaseStatement` | -| `DATABASE_SHOW` | `SQLShowDatabasesStatement` | -| `OTHER` | 以上均未命中 | - ---- - -## 四、核心代码设计 - -### 4.1 对外 API:`ISqlParser` - -```java -/** 根据 SQL 文本解析 SQL 类型 */ -SqlType parseSqlType(String sql); - -/** 根据 Druid 语法树解析 SQL 类型 */ -SqlType parseSqlType(SQLStatement sqlStatement); - -/** 默认 SQL 类型解析 Client,数据源可覆盖以支持方言语句 */ -default IParseSqlTypeClient getParseSqlTypeClient() { - return new BaseParseSqlTypeClient(); -} -``` - -### 4.2 Client 接口:`IParseSqlTypeClient` - -```java -public interface IParseSqlTypeClient { - SqlType parseSqlType(SQLStatement stmt); -} -``` - -### 4.3 默认实现:`BaseParseSqlTypeClient` - -`core/parser/base/sqltype/BaseParseSqlTypeClient`,按 `SQLStatement` 子类分派;子判定收敛为保护方法,便于数据源覆盖: - -```java -public class BaseParseSqlTypeClient implements IParseSqlTypeClient { - - public SqlType parseSqlType(SQLStatement stmt) { - if (stmt == null) return SqlType.OTHER; - if (stmt instanceof SQLSelectStatement) return selectType((SQLSelectStatement) stmt); - if (stmt instanceof SQLInsertStatement) return SqlType.INSERT; - if (stmt instanceof SQLUpdateStatement) return SqlType.UPDATE; - if (stmt instanceof SQLDeleteStatement) return SqlType.DELETE; - if (stmt instanceof SQLTruncateStatement) return SqlType.TRUNCATE; - if (stmt instanceof SQLMergeStatement) return SqlType.MERGE_INTO; - if (stmt instanceof SQLBlockStatement - || stmt instanceof SQLBeginStatement) return SqlType.BEGIN_END; - if (stmt instanceof SQLCreateTableStatement) return createTableType((SQLCreateTableStatement) stmt); - if (stmt instanceof SQLCreateViewStatement) return createViewType((SQLCreateViewStatement) stmt); - if (stmt instanceof SQLCreateMaterializedViewStatement) - return SqlType.CREATE_MATERIALIZED_VIEW; - if (stmt instanceof SQLDropTableStatement - || stmt instanceof SQLDropViewStatement) return SqlType.DROP; - if (stmt instanceof SQLDropMaterializedViewStatement) - return SqlType.DROP_MATERIALIZED_VIEW; - if (stmt instanceof SQLAlterTableStatement) return alterTableType((SQLAlterTableStatement) stmt); - if (stmt instanceof SQLAlterMaterializedViewStatement) - return SqlType.ALTER_MATERIALIZED_VIEW; - if (stmt instanceof SQLRefreshMaterializedViewStatement) - return SqlType.REFRESH_MATERIALIZED_VIEW; - if (stmt instanceof SQLCommentStatement) return SqlType.COMMENT_ON; - if (stmt instanceof SQLDescribeStatement) return describeType((SQLDescribeStatement) stmt); - if (stmt instanceof SQLShowDatabasesStatement) return SqlType.DATABASE_SHOW; - if (stmt instanceof SQLShowStatement) return showType((SQLShowStatement) stmt); - if (stmt instanceof SQLExplainStatement - || stmt instanceof SQLExplainAnalyzeStatement) return SqlType.EXPLAIN; - if (stmt instanceof SQLCreateFunctionStatement) return SqlType.CREATE_FUNCTION; - if (stmt instanceof SQLDropFunctionStatement) return SqlType.DROP_FUNCTION; - if (stmt instanceof SQLServerExecStatement - || stmt instanceof SQLCallStatement) return SqlType.PROCEDURE_EXEC; - if (stmt instanceof SQLCreateDatabaseStatement) return SqlType.DATABASE_CREATE; - if (stmt instanceof SQLDropDatabaseStatement) return SqlType.DATABASE_DROP; - return SqlType.OTHER; - } - - protected SqlType selectType(SQLSelectStatement stmt) { /* with / no-from / query */ } - - protected SqlType createTableType(SQLCreateTableStatement stmt) { /* as / like / temp / create */ } - - protected SqlType createViewType(SQLCreateViewStatement stmt) { /* as -> CREATE_AS else CREATE_VIEW */ } - - protected SqlType alterTableType(SQLAlterTableStatement stmt) { /* 遍历 items 细分,否则 ALTER */ } - - protected SqlType describeType(SQLDescribeStatement stmt) { /* DATABASE -> DATABASE_DESC */ } - - protected SqlType showType(SQLShowStatement stmt) { /* 具体子类优先,否则 SHOW */ } -} -``` - -设计要点: - -- **不用通用 visitor**:类型判定本质是语句层级的 `instanceof` 分派; -- **顺序敏感**:`SQLShowDatabasesStatement` 必须先于 `SQLShowStatement`;`SQLCreateViewStatement` 的 `CREATE_AS` 判定在 `CREATE_VIEW` 之前(同一方法内处理); -- **空安全**:`stmt == null` 直接 `OTHER`。 - -### 4.4 编排接入:`BaseSqlParser` - -```java -@Override -public SqlType parseSqlType(String sql) { - return parseSqlType(this.createStatement(sql)); -} - -@Override -public SqlType parseSqlType(SQLStatement sqlStatement) { - return getParseSqlTypeClient().parseSqlType(sqlStatement); -} -``` - -`String` 入口先经 syntax 层 `createStatement` 得到 Druid 语法树,再委托 Client。 - -### 4.5 方言扩展 - -与表解析 / 参数解析同构,数据源可在自身目录下提供子类并覆盖 `getParseSqlTypeClient()`: - -```text -core/parser/base/sqltype/ -└── BaseParseSqlTypeClient (通用 Druid 分派) -core/parser//sqltype/ (按需) -└── XxxParseSqlTypeClient (覆盖方言专属语句) -``` - -一期不在任何数据源做专属实现。 - -### 4.6 兜底策略 - -- **不做正则兜底**:语法解析失败由 `createStatement` 抛出异常,调用方处理; -- **未命中分支**:统一返回 `SqlType.OTHER`,不抛异常。 - ---- - -## 五、实现范围与边界 - -### 5.1 已覆盖 - -查询、DML(INSERT/UPDATE/DELETE/TRUNCATE/MERGE_INTO)、`BEGIN_END`、建表/建视图及其 as/like/temp 变体、DROP、ALTER 及常见子项、COMMENT ON、DESCRIBE、SHOW 系列、EXPLAIN、物化视图增删改刷、函数增删、EXEC/CALL、库的增删列示。 - -### 5.2 一期未覆盖(归 `OTHER`) - -方言专属语句:`INSERT OVERWRITE`、`LOAD`、`CREATE MACRO`、`CACHE TABLE`、`CACHE LAZY TABLE`、`INVALIDATE TABLE`、`ZORDER`、`SCHEMA` 操作等。 - -### 5.3 特殊说明 - -- **`desc` / `describe` 的差异**:MySQL 中 `desc t1` 被 Druid 解析为 `MySqlExplainStatement`,故归 `EXPLAIN`;PG / Spark / Hive / DM 等方言下为独立 `SQLDescribeStatement`,归 `DESC_TABLE`; -- **`create view ... as select`**:归 `CREATE_AS`(与建表 as select 同一语义分支);`CREATE_VIEW` 仅在视图无 as select 时返回; -- **ALTER 细分**:`properties / serdeproperties / location` 等无统一 Druid item,归 `ALTER`; -- **多语句**:`parseSqlType(String)` 只取首条 SQL。 - -### 5.4 后续可扩展 - -- 方言专属 SqlType(insert overwrite、cache、zorder 等)由对应数据源 Client 覆盖; -- 需要时再评估批量解析与正则兜底(当前不做)。 diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\346\240\207\345\207\206\350\277\255\344\273\243\347\273\264\346\212\244\346\211\251\345\261\225\346\226\207\346\241\243/SqlParserX\350\247\243\346\236\220\350\203\275\345\212\233\346\240\207\345\207\206\350\277\255\344\273\243\347\273\264\346\212\244\346\211\251\345\261\225\346\214\207\345\215\227.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\346\240\207\345\207\206\350\277\255\344\273\243\347\273\264\346\212\244\346\211\251\345\261\225\346\226\207\346\241\243/SqlParserX\350\247\243\346\236\220\350\203\275\345\212\233\346\240\207\345\207\206\350\277\255\344\273\243\347\273\264\346\212\244\346\211\251\345\261\225\346\214\207\345\215\227.md" deleted file mode 100644 index 83b244d..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\346\240\207\345\207\206\350\277\255\344\273\243\347\273\264\346\212\244\346\211\251\345\261\225\346\226\207\346\241\243/SqlParserX\350\247\243\346\236\220\350\203\275\345\212\233\346\240\207\345\207\206\350\277\255\344\273\243\347\273\264\346\212\244\346\211\251\345\261\225\346\214\207\345\215\227.md" +++ /dev/null @@ -1,266 +0,0 @@ -# SqlParserX 解析能力标准迭代维护扩展指南 - -> 文档定位:本文件是 SqlParserX 解析能力的**核心标准维护文档**,统一约定**语法层(`sqlparserx-syntax`)**与**业务层(`sqlparserx-core`)**的后续迭代、扩展、修复、测试与验收流程。 -> 相关文档:[双层架构设计](../../架构设计/架构设计.md)、[模块依赖包引用结构设计](../模块依赖包引用结构设计.md)、[Druid 版本与 SQL 语法支持情况](../../01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md)、[能力支持情况导航](../能力支持情况/README.md)。 - -## 一、总原则 - -1. **语法问题扩展 Druid(Syntax),业务语义扩展 SqlParserX(Core)**;通用能力沉淀 Base,数据源差异按方言覆盖。 -2. 所有 SQL→AST 操作必须经过 `SqlSyntaxParser`,Core/Web 不直接创建 Druid StatementParser。 -3. 任何改动以「**语法层能生成正确 AST + 业务层能输出正确业务结果 + 具备回归用例**」三者同时成立为完成标准。 -4. 改动 Core 后**必须**运行聚合单测 `AllTestsSuite`,确认未影响解析主流程。 -5. 代码改动同步更新对应能力支持文档,见[文档同步矩阵](#八文档同步矩阵)。 - -## 二、分层与模块结构 - -```text -SqlParserX(根 Reactor) -├── sqlparserx-engine(聚合父模块,packaging=pom) -│ ├── sqlparserx-syntax(jar,基于 Druid) ← 语法层 -│ └── sqlparserx-core(jar,依赖 syntax) ← 业务层 -├── sqlparserx-web(依赖 core,必要时显式依赖 syntax) -├── sqlparserx-mcp-server-sse(独立构建,依赖 core/syntax) -└── sqlparserx-ui(前端,仅通过 Web HTTP API) -``` - -| 层 | 模块 | 入口 | 职责边界 | -|---|---|---|---| -| 语法层 | `sqlparserx-syntax` | `SqlSyntaxParserFactory.getParser(DbType)` | 只做 SQL→AST、多语句解析、切分、方言语法扩展 | -| 业务层 | `sqlparserx-core` | `SqlParserFactory.getSqlParser(DbType)` | 基于 AST 做表解析、建表、血缘、函数、SQL 改写 | - -禁止的依赖方向: - -```text -sqlparserx-syntax -X-> sqlparserx-core -sqlparserx-core -X-> sqlparserx-web / sqlparserx-mcp-server-sse -Druid -X-> 任意 SqlParserX 业务模型 -``` - -## 三、问题归属判定 - -| 现象 | 归属层 | 处理位置 | -|---|---|---| -| SQL 无法解析、关键字不识别、Parser 直接报错 | 语法层 | `syntax` 方言 Lexer / StatementParser | -| AST 节点或方言属性缺失/错误 | 语法层 | `syntax` 方言 AST Node | -| AST 正确,但表/建表/血缘/函数结果错误 | 业务层 | `core` 通用 Client 或方言 Client | -| 所有数据源都有同样问题 | 业务层通用逻辑 | `core.parser.base`、`core.select`、`core.utils` | -| 只有单个数据源结果不同 | 业务层方言扩展 | `core.parser.` 下对应 Client | - -核心判断方法:用目标 `DbType` 单独调用 `SqlSyntaxParserFactory.getParser(dbType).parseStatement(sql)`,能生成正确 AST 则问题在业务层,否则在语法层。 - -## 四、核心扩展 - -> 后续迭代只面对两个扩展面:**语法层扩展**与**业务层扩展**。 - -### 4.1 语法层扩展(`sqlparserx-syntax`) - -**何时扩展** - -- 新增/变更数据源关键字; -- SQL 在 Parser 阶段报语法错误; -- Druid 未生成正确的 Statement 或表达式节点; -- 新语法需要新增 AST Node; -- 方言特有 Lexer / StatementParser 行为。 - -**包结构约定** - -```text -sqlparserx-syntax -└── com.dtstack.sqlparserx.syntax - ├── SqlSyntaxParser.java - ├── SqlSyntaxParserFactory.java - └── druid - ├── DruidSqlSyntaxParser.java - └── dialect. ← 数据源语法扩展(Lexer/Parser/AST Node) -``` - -**扩展步骤** - -1. 在 `syntax.druid.dialect.` 下新增方言 Lexer / StatementParser / AST Node 扩展; -2. 在 `SqlSyntaxParserFactory` 中登记方言解析器(后续作为方言注册入口); -3. 补充语法层单测(`sqlparserx-syntax/src/test`); -4. 运行 `mvn -f sqlparserx-engine/pom.xml test` 验证语法层; -5. 确认 Core 现有业务能力仍能消费新 AST。 - -**禁止事项** - -- 不实现真实表、建表结构、血缘等业务语义; -- 不复制自有 AST,直接复用 Druid AST; -- 不在业务层用大量正则替换规避语法问题。 - -**Druid 版本升级** - -1. 在 `sqlparserx-engine/pom.xml` 的 `dependencyManagement` 中统一改版本; -2. 先跑 Syntax 方言语法测试,再跑 Core 全量回归(`AllTestsSuite`); -3. 更新[《Druid版本与SQL语法支持情况》](../../01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md)。 - -### 4.2 业务层扩展(`sqlparserx-core`) - -**能力入口与扩展点** - -| 业务能力 | Core 入口 | 扩展点接口/基类 | -|---|---|---| -| 真实表解析 | `ISqlParser.parseTables` | `IParseTableClient` / `ParseTablesClient` / `BaseParseTableClient` | -| CREATE TABLE 解析 | `ISqlParser.parseCreateTable` | `ParseCreateTableClient` | -| 字段血缘 | `ISqlParser.parseColumnLineages` | `IColumnLineageClient` / `ColumnLineageClient` | -| 表血缘 | `ISqlParser.parseTableLineages` | `ITableLineageClient` / `TableLineageClient` | -| 函数提取 | `ISqlParser.parseFunction` | `BaseSqlParser` + `SQLASTVisitorAdapter` | -| 行级权限改写 | `ISqlParser.getRowLevelPermissionSql` | `ISqlFilterClient` / `BaseSqlFilterClient` | -| 参数化 / 预编译 | `parseParameterSql` / `buildSqlByPrepareCompile` | `IParseParameterClient` / `BaseParseParameterClient`(预留) | - -**通用 vs 方言** - -```text -问题在所有数据源出现 → 修改 base 通用实现(core.parser.base / core.select / core.utils) -问题只在单数据源出现 → 在 core.parser. 继承并覆盖对应 Client -``` - -方言解析器标准骨架: - -```java -public class XxxSqlParser extends BaseSqlParser { - @Override - public DbType getDbType() { - return DbType.xxx; - } - - @Override - public IParseTableClient getParseTableClient() { - return new XxxParseTableClient(); - } - - @Override - public IColumnLineageClient getColumnLineageClient(Map> tableColumnsMap) { - return new ColumnLineageClient(tableColumnsMap /*, SQLParseStrategy... */); - } - - @Override - public ITableLineageClient getTableLineageClient() { - return new TableLineageClient(/* SQLParseStrategy... */); - } -} -``` - -**扩展步骤** - -1. 判断通用问题还是方言差异,确定改 Base 还是方言 Client; -2. 在对应 Client 继承基类,仅覆盖有差异的方法(参考 `MysqlParseTablesClient`、`DorisParseCreateTableClient`、`StarrocksParseCreateTableClient`); -3. 在 `SqlParserFactory` 注册方言解析器(若为新数据源); -4. 补充该数据源 / 能力的测试用例与资源文件,并挂载到对应 Suite; -5. 运行 `AllTestsSuite` 回归。 - -**方言策略(`SQLParseStrategy`)** - -| 策略 | 含义 | 典型数据源 | -|---|---|---| -| `COLUMN_IGNORE_CASE` | SQL 字段与元数据字段忽略大小写匹配 | Doris | -| `SUBQUERY_COLUMN_IGNORE_CASE` | 子查询字段忽略大小写匹配 | Doris | -| `CTE_FORWARD_REFERENCE` | CTE 前向引用(引用后面定义的 CTE) | Doris | - -新增策略:增加枚举 → 在 Base/方言逻辑用 `isEnabled` 判定 → 在方言解析器中组合启用 → 补单测。 - -**禁止事项** - -- 不直接调用 `SQLParserUtils.createSQLStatementParser` 或自行实例化 StatementParser; -- 不在 Web/MCP 层实现解析算法,只做编排与协议转换; -- 不为隔离 Druid 而复制自有 AST。 - -## 五、新增数据源标准流程 - -| 步骤 | 动作 | 层次 | -|---|---|---| -| 1 | 确认 Druid 是否已支持该方言(`DbType` 是否存在、能否生成正确 AST) | 语法层 | -| 2 | 语法不足时,在 `syntax.druid.dialect.` 扩展 Lexer/StatementParser/AST | 语法层 | -| 3 | 新增 `XxxSqlParser extends BaseSqlParser` 并注册到 `SqlParserFactory` | 业务层 | -| 4 | 按需实现方言 Client(表/建表/血缘/策略) | 业务层 | -| 5 | 在 `core/datasource//` 补充专项测试与资源 | 测试 | -| 6 | 挂载到 `DatasourceSuite` → `AllTestsSuite` | 测试 | -| 7 | 建立 `能力支持情况/datasource//` 两份文档并在总表登记 | 文档 | - -## 六、测试标准 - -### 6.1 聚合单测(强制) - -改动 Core **必须**运行聚合单测 `AllTestsSuite`: - -```text -AllTestsSuite -├── BaseSuite # 通用模板测试:血缘(字段/表)、表解析、函数、字段过滤 -├── DatasourceSuite # 数据源专项测试:doris 等 -└── SQLParseStrategySimpleTest # 策略单测 -``` - -| 新增内容 | 应挂载位置 | -|---|---| -| 通用能力用例 | `BaseSuite`(或对应子 Suite,如 `BaseLineageSuite`) | -| 数据源专项用例 | `DatasourceSuite` | -| 策略/工具用例 | `SQLParseStrategySimpleTest` 或对应工具测试 | - -> 约束:新增测试类必须挂到 Suite,否则不会被聚合单测执行。 - -### 6.2 测试基类与资源约定 - -| 项目 | 约定 | -|---|---| -| 基类 | `AbstractSqlParserTest`、`BaseColumnLineageAnalyzerTest` 等 | -| 资源路径 | 重写 `getSqlTestPath()`,如 `/core/datasource/doris/` | -| 资源文件 | `<测试类同名>.txt`,多条 SQL 用 `-----N-----` 分隔,UTF-8 | -| 读取方式 | `readSqlByIndex(file, index)`(从 1 开始)或 `readSqlFile(file)` | -| 断言 | 直接断言解析结果对象/枚举/集合 | - -资源文件示例: - -```text ---------------------1-------------------- -insert into new_table -WITH t1 AS (SELECT id, name FROM demo_table) -SELECT * FROM t1 ---------------------2-------------------- -select * from demo_table2 -``` - -### 6.3 测试层次 - -| 层次 | 验证内容 | -|---|---| -| Syntax 单测 | SQL→AST、多语句解析、切分、方言语法扩展 | -| Core 通用测试 | 表解析、建表、字段/表血缘、函数、权限改写 | -| Core 方言测试 | Doris、MySQL、StarRocks 等方言业务差异 | -| Web/MCP 测试 | 参数转换、接口协议、结果序列化(不重复测解析算法) | - -## 七、构建与验收 - -```bash -# 只构建并测试 Syntax + Core -mvn -f sqlparserx-engine/pom.xml test - -# 从根 Reactor 精确测试 Syntax + Core -mvn -pl sqlparserx-engine/sqlparserx-syntax,sqlparserx-engine/sqlparserx-core -am test -DskipTests=false - -# 完整 Reactor 构建 -mvn clean package -``` - -验收清单(全部满足才可合并): - -1. 语法层:目标方言 SQL 能生成正确 AST(必要时补 Syntax 单测); -2. 业务层:目标能力输出正确业务结果; -3. 回归:`AllTestsSuite` 全绿,未破坏主流程; -4. 新增测试已挂载到对应 Suite; -5. 相关能力支持文档已同步更新。 - -## 八、文档同步矩阵 - -| 改动类型 | 需同步的文档 | -|---|---| -| 新增/调整语法能力 | [Druid版本与SQL语法支持情况](../../01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md)、数据源`SQL语法解析支持情况.md` | -| 新增/调整业务能力 | [能力支持情况导航](../能力支持情况/README.md)、[数据源总表](../能力支持情况/datasource/SQL解析能力&数据源支撑适配情况.md)、数据源`SQL业务解析支持情况.md` | -| 通用 Base 能力变化 | [通用解析能力](../能力支持情况/通用解析能力/) 对应场景文档 | -| 模块/依赖结构变化 | [模块依赖包引用结构设计](../模块依赖包引用结构设计.md)、[双层架构设计](../../架构设计/架构设计.md) | -| 新增数据源 | 数据源目录两份文档 + 总表登记 + [能力支持情况导航](../能力支持情况/README.md) | - -## 九、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化语法层与业务层标准迭代维护扩展指南 | diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\346\250\241\345\235\227\344\276\235\350\265\226\345\214\205\345\274\225\347\224\250\347\273\223\346\236\204\350\256\276\350\256\241.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\346\250\241\345\235\227\344\276\235\350\265\226\345\214\205\345\274\225\347\224\250\347\273\223\346\236\204\350\256\276\350\256\241.md" deleted file mode 100644 index d01b0df..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\346\250\241\345\235\227\344\276\235\350\265\226\345\214\205\345\274\225\347\224\250\347\273\223\346\236\204\350\256\276\350\256\241.md" +++ /dev/null @@ -1,231 +0,0 @@ -# SqlParserX 模块依赖与包引用结构设计 - -## 1. 设计目标 - -SqlParserX 使用 `sqlparserx-engine` 聚合管理解析内核,并将原 `sqlparserx-core` 中混合的 SQL 语法解析职责拆分为两个独立 Jar Module: - -| Module | 架构定位 | 核心职责 | -|---|---|---| -| `sqlparserx-engine` | 解析引擎聚合父模块 | 使用 `packaging=pom` 聚合 Syntax/Core,统一管理 Java 版本、Druid 版本和解析引擎测试依赖;不包含 Java 业务代码 | -| `sqlparserx-syntax` | SQL 语法解析层 | 统一维护 Druid 版本、SQL→AST、多语句解析、SQL 切分,以及后续数据源 Lexer、StatementParser、AST Node 扩展 | -| `sqlparserx-core` | SQL 业务解析层 | 基于语法层输出的 Druid AST,实现真实表、建表结构、表/字段血缘、函数和 SQL 权限改写 | - -两层使用 `DbType + SQLStatement AST` 作为连接契约。项目不额外复制一套 AST,避免 Druid AST 与自有 AST 之间长期转换和同步。 - -## 2. Maven Module 依赖结构 - -工程目录与聚合关系: - -```text -SqlParserX(根 Reactor) -├── sqlparserx-engine(聚合父模块,packaging=pom) -│ ├── sqlparserx-syntax(jar) -│ └── sqlparserx-core(jar,依赖 syntax) -├── sqlparserx-web(jar) -├── sqlparserx-mcp-server-sse(独立构建) -└── sqlparserx-ui -``` - -```text - ┌─────────────────────┐ - │ sqlparserx-ui │ - └──────────┬──────────┘ - │ HTTP - ▼ -┌──────────────────────┐ ┌─────────────────────┐ -│ sqlparserx-mcp- │ │ sqlparserx-web │ -│ server-sse │ └──────────┬──────────┘ -└──────────┬───────────┘ │ - ├──────────────┬────────────┘ - │ ▼ - │ ┌─────────────────────┐ - │ │ sqlparserx-core │ - │ │ SQL 业务解析层 │ - │ └──────────┬──────────┘ - │ │ - └─────────────────┼──────────────────┐ - ▼ │ - ┌─────────────────────┐ │ - │ sqlparserx-syntax │◀─────┘ - │ SQL 语法解析层 │ 出口模块直接使用语法 API 时显式依赖 - └──────────┬──────────┘ - ▼ - ┌─────────────────────┐ - │ Druid 1.2.28 │ - │ commons-lang3 │ - └─────────────────────┘ -``` - -Maven Reactor 构建顺序: - -```text -SqlParserX → sqlparserx-engine → sqlparserx-syntax → sqlparserx-core → sqlparserx-web -``` - -`sqlparserx-mcp-server-sse` 当前保持独立构建,但依赖关系同样是 Core + Syntax。 - -## 3. Module 依赖规则 - -| 调用方 | 允许依赖 | 原因 | -|---|---|---| -| 根 `SqlParserX` | 聚合 `sqlparserx-engine`、`sqlparserx-web` | 管理整个仓库的 Reactor 与通用构建插件 | -| `sqlparserx-engine` | 父 `SqlParserX`;聚合 Syntax/Core | 管理解析引擎公共版本和依赖,不产生 Jar | -| `sqlparserx-syntax` | Druid、commons-lang3 | 语法层拥有 Druid 版本和 Parser 入口 | -| `sqlparserx-core` | `sqlparserx-syntax` | 业务层通过 Syntax 将 SQL 转换为 AST,再进行业务分析 | -| `sqlparserx-web` | `sqlparserx-core`;直接使用语法校验、`DbType` 时显式依赖 `sqlparserx-syntax` | Web 只负责编排和协议转换,不实现解析算法 | -| `sqlparserx-mcp-server-sse` | `sqlparserx-core`;直接使用 `DbType` 时显式依赖 `sqlparserx-syntax` | MCP 只暴露 Core/Syntax 已有能力 | -| `sqlparserx-ui` | Web HTTP API | 前端不直接依赖 Java Module | - -禁止的依赖方向: - -```text -sqlparserx-syntax -X-> sqlparserx-core -sqlparserx-core -X-> sqlparserx-web / sqlparserx-mcp-server-sse -Druid -X-> 任意 SqlParserX 业务模型 -``` - -## 4. `sqlparserx-syntax` 包结构 - -```text -sqlparserx-engine -└── sqlparserx-syntax - └── src/main/java/com/dtstack/sqlparserx/syntax - ├── SqlSyntaxParser.java - ├── SqlSyntaxParserFactory.java - └── druid - └── DruidSqlSyntaxParser.java -``` - -| 包 / 类型 | 职责 | -|---|---| -| `SqlSyntaxParser` | 对外提供单条解析、多条解析和 SQL 切分的统一语法契约 | -| `SqlSyntaxParserFactory` | 根据 `DbType` 创建语法解析器;后续作为方言 Parser 注册入口 | -| `syntax.druid.DruidSqlSyntaxParser` | 基于 Druid `SQLParserUtils`、Lexer 和 StatementParser 的默认实现 | -| `syntax.dialect.`(后续) | 放置 SqlParserX 自维护的数据源语法扩展,不放业务血缘或表解析逻辑 | - -当前统一语法 API: - -```java -SqlSyntaxParser parser = SqlSyntaxParserFactory.getParser(DbType.doris); - -SQLStatement statement = parser.parseStatement(sql); -List statements = parser.parseStatements(sqlScript); -List originalSqlList = parser.split(sqlScript); -``` - -语法层允许出现的代码: - -- `DbType` 方言选择与注册。 -- SQL Lexer、StatementParser、AST Node 和 Visitor 基础设施。 -- SQL 文本到 `SQLStatement` 的转换。 -- 多语句解析、语法校验和切分。 -- 数据源语法兼容测试。 - -语法层禁止出现的代码: - -- 主表、真实表和建表业务模型解析。 -- 表血缘、字段血缘推导。 -- 行级或列级权限业务规则。 -- Web DTO、MCP Tool 或子产品任务模型。 - -## 5. `sqlparserx-core` 包结构 - -```text -sqlparserx-engine -└── sqlparserx-core - └── src/main/java/com/dtstack/sqlparserx/core - ├── parser - │ ├── ISqlParser.java - │ ├── SqlParserFactory.java - │ ├── base - │ │ ├── BaseSqlParser.java - │ │ ├── table - │ │ ├── lineage - │ │ ├── sqlfilter - │ │ └── parameter - │ └── - │ ├── mysql - │ ├── doris - │ ├── starrocks - │ └── ... - ├── select - ├── domain - ├── enums - └── utils -``` - -Core 可以遍历和修改 Druid AST,因为 AST 是两层公开契约;但 Core 不应再直接调用 `SQLParserUtils.createSQLStatementParser` 或自行实例化 StatementParser。所有 SQL→AST 操作必须经过 `SqlSyntaxParser`。 - -```java -// 正确:业务层通过 Syntax 获得 AST -SQLStatement statement = SqlSyntaxParserFactory - .getParser(dbType) - .parseStatement(sql); - -// 禁止:业务层绕过 Syntax 直接创建 Druid Parser -SQLParserUtils.createSQLStatementParser(sql, dbType); -``` - -## 6. 两层方言包对应关系 - -同一数据源可以分别拥有语法扩展和业务扩展,两者按数据源名称保持对应: - -```text -sqlparserx-syntax -└── syntax/dialect/doris - ├── DorisLexerExtension - ├── DorisStatementParserExtension - └── DorisAstExtension - -sqlparserx-core -└── core/parser/doris - ├── DorisSqlParser - ├── DorisParseTableClient - └── DorisParseCreateTableClient -``` - -| 问题表现 | 修改 Module | 示例 | -|---|---|---| -| SQL 无法解析、关键字不识别 | `sqlparserx-syntax` | Lexer 或 StatementParser 扩展 | -| AST 节点或方言属性缺失 | `sqlparserx-syntax` | 新增或完善方言 AST Node | -| AST 正确但真实表结果错误 | `sqlparserx-core` | 扩展 `IParseTableClient` | -| AST 正确但建表结构缺失 | `sqlparserx-core` | 扩展 `ParseCreateTableClient` | -| AST 正确但血缘结果错误 | `sqlparserx-core` | 扩展血缘 Client 或解析策略 | - -## 7. Druid 依赖管理原则 - -| 原则 | 说明 | -|---|---| -| 版本唯一 | Druid 版本在 `sqlparserx-engine/pom.xml` 的 `dependencyManagement` 中统一定义 | -| 声明唯一 | 只有 `sqlparserx-syntax` 直接声明 Druid 和其 optional 运行依赖 | -| AST 可传递 | Syntax 公共 API 返回 Druid AST,因此 Druid 是 Syntax 的公开传递依赖 | -| Parser 入口收口 | Core/Web 不直接创建 Druid StatementParser,统一通过 `SqlSyntaxParser` | -| 升级先语法层 | 升级 Druid 时先运行 Syntax 方言语法测试,再运行 Core 业务解析回归测试 | - -## 8. 构建与测试顺序 - -```bash -# 在 Engine 目录构建并测试两个子模块 -mvn -f sqlparserx-engine/pom.xml test - -# 从根 Reactor 精确测试 Syntax + Core -mvn -pl sqlparserx-engine/sqlparserx-syntax,sqlparserx-engine/sqlparserx-core -am test -DskipTests=false - -# 完整 Reactor 构建 -mvn clean package -``` - -| 测试层次 | 验证内容 | -|---|---| -| Syntax 单元测试 | SQL→AST、多语句解析、SQL 切分和方言语法扩展 | -| Core 通用测试 | 表解析、建表解析、表/字段血缘、函数和权限改写 | -| Core 方言测试 | Doris、MySQL、StarRocks 等数据源业务差异 | -| Web/MCP 测试 | 参数转换、接口协议和结果序列化,不重复测试解析算法 | - -## 9. 后续演进约束 - -1. 新增数据源时,先确认 Syntax 能生成完整 AST,再实现或复用 Core 业务能力。 -2. Syntax 的方言支持集合可以大于 Core 的正式业务支持集合。 -3. 只有 Syntax 语法通过、Core 业务结果通过且具备回归用例后,才能对外标记为正式支持。 -4. 不为隔离 Druid 而复制自有 AST;除非未来存在第二套长期共存的语法引擎。 -5. 新增 Parser、Lexer 或 AST 扩展只能进入 `sqlparserx-syntax`,新增血缘和业务解释逻辑只能进入 `sqlparserx-core`。 diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/README.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/README.md" deleted file mode 100644 index 3528799..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/README.md" +++ /dev/null @@ -1,59 +0,0 @@ -# SQL 解析能力支持情况 · 导航 - -本目录维护 SqlParserX `sqlparserx-core` 的 SQL 解析能力与数据源支撑情况。按「数据源(总表 + 专项)+ 通用能力」组织。 - -## 目录结构 - -```text -能力支持情况/ -├── README.md # 本导航 -├── datasource/ # 数据源能力支持情况 -│ ├── SQL解析能力&数据源支撑适配情况.md # 数据源总表与索引 -│ ├── doris/ # 语法解析 + 业务解析 两份 -│ ├── mysql/ -│ └── starrocks/ -└── 通用解析能力/ # 按 BaseSqlParser 场景维护:一种场景一篇 - ├── 函数解析支持情况.md - ├── 字段血缘解析支持情况.md - ├── 表血缘解析支持情况.md - ├── 表解析支持情况.md - └── 变量参数解析与预编译支持情况.md -``` - -## 一、数据源总表与索引 - -| 文档 | 内容 | -|---|---| -| [datasource/SQL解析能力&数据源支撑适配情况.md](datasource/SQL解析能力&数据源支撑适配情况.md) | 业务能力双层支撑矩阵、数据源双层适配矩阵、支持等级判定、验证边界;并作为数据源目录索引 | - -## 二、数据源专项 - -每个数据源一个子目录,两份文档:**SQL语法解析支持情况**(`sqlparserx-syntax`)+ **SQL业务解析支持情况**(`sqlparserx-core`)。 - -| 数据源 | 语法解析支持 | 业务解析支持 | 支持等级 | -|---|---|---|---| -| Doris | [SQL语法解析支持情况](datasource/doris/SQL语法解析支持情况.md) | [SQL业务解析支持情况](datasource/doris/SQL业务解析支持情况.md) | 重度支持 | -| MySQL | [SQL语法解析支持情况](datasource/mysql/SQL语法解析支持情况.md) | [SQL业务解析支持情况](datasource/mysql/SQL业务解析支持情况.md) | 重点支持 | -| StarRocks | [SQL语法解析支持情况](datasource/starrocks/SQL语法解析支持情况.md) | [SQL业务解析支持情况](datasource/starrocks/SQL业务解析支持情况.md) | 重点支持 | - -索引与维护约定见[数据源总表](datasource/SQL解析能力&数据源支撑适配情况.md)。其余已注册方言后续按同一结构补充。 - -## 三、通用解析能力 - -按 `BaseSqlParser` 场景维护,记录不区分数据源的通用能力**已支持粒度与深度**。 - -| 场景 | Core 入口 | 默认实现 | -|---|---|---| -| [函数解析支持情况](通用解析能力/函数解析支持情况.md) | `ISqlParser.parseFunction` | `BaseSqlParser` + Visitor | -| [字段血缘解析支持情况](通用解析能力/字段血缘解析支持情况.md) | `ISqlParser.parseColumnLineages` | `ColumnLineageClient` | -| [表血缘解析支持情况](通用解析能力/表血缘解析支持情况.md) | `ISqlParser.parseTableLineages` | `TableLineageClient` | -| [表解析支持情况](通用解析能力/表解析支持情况.md) | `ISqlParser.parseTables` / `parseCreateTable` | `ParseTablesClient` / `ParseCreateTableClient` | -| [变量参数解析与预编译支持情况](通用解析能力/变量参数解析与预编译支持情况.md) | `ISqlParser.parseParameterSql` / `buildSqlByPrepareCompile` | `IParseParameterClient` / `BaseParseParameterClient` | - -## 维护约定 - -1. **双层同时成立**才算业务能力支持:语法层生成正确 AST,业务层输出正确业务结果。 -2. **通用能力**写入 `通用解析能力/`,**单数据源差异**写入 `datasource/<数据源>/`,**总览与等级**写入总表。 -3. 支持项标 ✅,不支持/待明确标 ❌。 -4. 新增数据源:先建子目录两份文档,再在总表和本导航登记。 -5. 支持等级提升前必须补充该数据源专项回归用例。 \ No newline at end of file diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/SQL\350\247\243\346\236\220\350\203\275\345\212\233&\346\225\260\346\215\256\346\272\220\346\224\257\346\222\221\351\200\202\351\205\215\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/SQL\350\247\243\346\236\220\350\203\275\345\212\233&\346\225\260\346\215\256\346\272\220\346\224\257\346\222\221\351\200\202\351\205\215\346\203\205\345\206\265.md" deleted file mode 100644 index 5b5172d..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/SQL\350\247\243\346\236\220\350\203\275\345\212\233&\346\225\260\346\215\256\346\272\220\346\224\257\346\222\221\351\200\202\351\205\215\346\203\205\345\206\265.md" +++ /dev/null @@ -1,127 +0,0 @@ -# SqlParserX SQL 解析能力与数据源支撑适配情况 - -> 本文件位于 `datasource/`,作为**数据源能力支持情况的总表与索引**。上层导航见 [`../README.md`](../README.md)。 -> 统计口径:以 `sqlparserx-core` 当前代码为准,从业务解析能力出发,分别检查 Druid SQL 语法解析层能否提供所需 AST,以及 SqlParserX 业务解析层是否具备对应实现、方言增强和专项测试。接口已定义但 Base 实现为空的能力标记为“预留”,不计为正式支持。 - -## 一、支撑关系说明 - -一项 SQL 业务解析能力可用,需要上下两层同时成立: - -```text -SQL + DbType - → Druid SQL 语法解析层:SQL 能否生成正确、完整的方言 AST - → SqlParserX 业务解析层:能否将 AST 转换成正确的业务结果 -``` - -| 检查维度 | 关注内容 | 支持判定 | -|---|---|---| -| Druid SQL 语法解析层 | Lexer、StatementParser、Statement 类型、表达式节点和方言属性 | 指定 `DbType` 后能够生成业务能力所需的正确 AST | -| SqlParserX 业务解析层 | `ISqlParser`、`BaseSqlParser`、通用 Client、方言 Client 和解析策略 | 能够消费 AST 并输出稳定的表、字段、血缘、建表结构或改写 SQL | -| 数据源专项验证 | 该方言真实 SQL 用例及预期业务结果 | 具备对应数据源的回归用例,且覆盖其方言差异 | - -## 二、业务解析能力双层支撑矩阵 - -> 各业务能力对应的 `BaseSqlParser` 通用实现的**支持粒度与深度**,见 [`../README.md`](../README.md) 导航与 [`../通用解析能力/`](../通用解析能力/):[函数解析](../通用解析能力/函数解析支持情况.md)、[字段血缘](../通用解析能力/字段血缘解析支持情况.md)、[表血缘](../通用解析能力/表血缘解析支持情况.md)、[表解析](../通用解析能力/表解析支持情况.md)。 - -| 业务解析能力 | Druid 语法层所需支撑 | SqlParserX 业务层实现 | 当前结论 | 主要输出 / 说明 | -|---|---|---|---|---| -| SQL 语法解析 | 按 `DbType` 提供 Lexer、StatementParser 和 AST | 通过 `BaseSqlParser` 创建或接收 `SQLStatement` | **已支持 ✅** | 为其他业务解析能力提供统一 AST 输入 | -| SQL 语法校验 | Parser 能识别完整 SQL,并在非法语法处抛出异常 | 基于 Druid Parser 的成功或异常判断校验结果 | **已支持 ✅** | 输出校验成功或语法异常;属于语法层直接能力 | -| 多 SQL 切分 | 正确识别字符串、注释、语句边界和方言语法 | `SQLSplitterUtil.splitSQL` 组织切分结果 | **已支持 ✅** | 输出 SQL 语句列表 | -| 真实表解析 | 需要正确的 SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、TRUNCATE 等 Statement 和表源节点 | `parseTables`、`BaseParseTableClient`、`ParseTablesClient` | **已支持 ✅** | 输出主表与全部真实表;MySQL 增强 `RENAME TABLE` 识别 | -| CREATE TABLE 解析 | 需要完整的建表 Statement、列定义、键、分区、分桶和 properties AST | `parseCreateTable`、`ParseCreateTableClient` 及方言 Client | **已支持 ✅** | 输出表、字段、键、分区、分桶等;Doris、StarRocks 有专项扩展 | -| 表血缘解析 | 需要正确的目标表、查询表源、CTE、子查询及集合操作 AST | `parseTableLineages`、`TableLineageClient`、`TableLineageAnalyzer` | **已支持 ✅** | 输出来源表到目标表关系;Doris 启用 CTE 前向引用策略 | -| 字段血缘解析 | 需要正确的 SelectItem、表达式、别名、JOIN、UNION、CTE、窗口函数等 AST | `parseColumnLineages`、`ColumnLineageClient`、`ColumnLineageAnalyzer` | **已支持 ✅** | 输出来源字段到目标字段关系;`SELECT *` 完整展开依赖字段元数据 | -| SQL 函数提取 | 需要正确生成 `SQLMethodInvokeExpr`、`SQLAggregateExpr` 等表达式节点 | `parseFunction` 使用 AST Visitor 遍历函数节点 | **已支持 ✅** | 输出去重后的普通函数和聚合函数名称 | -| 行级权限 SQL 改写 | 需要可遍历、可修改并可重新输出的 SELECT、INSERT、UPDATE、DELETE AST | `getRowLevelPermissionSql`、`BaseSqlFilterClient`、`RowLevelPermissionHandler` | **已支持 ✅** | 输出注入权限过滤条件后的 SQL | -| 列级字段过滤与排序 | 需要正确的 SELECT 输出字段及表达式 AST | 已定义 `filterSortSelectField` 契约,Base 当前返回空字符串 | **预留 ❌** | 尚不可作为正式能力使用 | -| 参数化 SQL 解析 | 需要变量节点、字段表达式和类型相关 AST | 已定义 `parseParameterSql` 和结果模型,Base 当前返回 `null` | **预留 ❌** | 尚未形成可用参数解析结果 | -| 预编译 SQL 构建 | 需要变量、表达式和可序列化 AST | 已定义 `buildSqlByPrepareCompile` 和结果模型,Base 当前返回 `null` | **预留 ❌** | 尚未形成可用预编译构建结果 | - -## 三、核心业务接口与结果模型 - -| 业务能力 | Core 入口 | 主要结果类型 | 当前实现位置 | -|---|---|---|---| -| 真实表解析 | `ISqlParser.parseTables` | `ParseTableResult` | `parser.base.table` + 方言 Table Client | -| CREATE TABLE 解析 | `ISqlParser.parseCreateTable` | `ParseCreateTableResult` | `ParseCreateTableClient` + Doris/StarRocks 方言实现 | -| 字段血缘 | `ISqlParser.parseColumnLineages` | `ColumnLineageResult` | `parser.base.lineage.column` + 方言策略 | -| 表血缘 | `ISqlParser.parseTableLineages` | `TableLineageResult` | `parser.base.lineage.table` + 方言策略 | -| 函数提取 | `ISqlParser.parseFunction` | `Set` | `BaseSqlParser` AST Visitor | -| 行级权限改写 | `ISqlParser.getRowLevelPermissionSql` | 改写后的 SQL | `parser.base.sqlfilter` | -| 参数化 SQL | `ISqlParser.parseParameterSql` | `ParseParameterResult` | 已定义模型,当前实现预留 | -| 预编译 SQL | `ISqlParser.buildSqlByPrepareCompile` | `PrepareCompileResult` | 已定义模型,当前实现预留 | - -## 四、数据源双层适配矩阵 - -下表中的“语法层支撑”表示 Druid 存在对应 `DbType` 并被 Core 方言解析器使用;“业务层支撑”表示 `SqlParserFactory` 存在独立解析器。业务层没有方言定制时,默认继承通用 Base 能力。 - -> 每个数据源一个子目录、两份文档:`SQL语法解析支持情况.md`(`sqlparserx-syntax`)与 `SQL业务解析支持情况.md`(`sqlparserx-core`)。数据源名称链接到其业务解析支持情况文档。 -> 维护约定:① 双层同时成立才算支持;② 语法问题只记语法文档,业务语义问题只记业务文档;③ 新增数据源先建子目录两份文档再在本表登记;④ 支持等级提升前必须补充专项回归用例。 - -| 数据源 / 方言 | Druid `DbType` | Druid 语法层支撑 | SqlParserX 业务层支撑 | 方言业务增强 | 专项验证 | 综合等级 | -|---|---|---|---|---|---|---| -| [Doris](doris/SQL业务解析支持情况.md) | `doris` | 独立方言 Parser / AST | `DorisSqlParser` | 建表解析、真实表、字段忽略大小写、CTE 前向引用血缘策略 | 字段血缘、表血缘、CREATE TABLE | **重度支持** | -| [MySQL](mysql/SQL业务解析支持情况.md) | `mysql` | 独立方言 Parser / AST | `MySqlParser` | `MysqlParseTablesClient` 补充 `RENAME TABLE` | 主要依赖通用测试 | **重点支持** | -| [StarRocks](starrocks/SQL业务解析支持情况.md) | `starrocks` | 独立方言 Parser / AST | `StarrocksSqlParser` | StarRocks 建表解析 Client | 主要依赖通用测试 | **重点支持** | -| Hive | `hive` | 独立方言 Parser / AST | `HiveSqlParser` | 预留 `HiveColumnLineageClient`;当前主要复用通用逻辑 | 主要依赖通用测试 | 标准支持 | -| Trino | `trino` | 独立方言 Parser / AST | `TrinoSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持 | -| Oracle | `oracle` | 独立方言 Parser / AST | `OracleSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持 | -| Greenplum | `greenplum` | 独立方言 Parser / AST | `GreenplumSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持 | -| TiDB | `tidb` | 独立方言 Parser / AST | `TidbSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持 | -| PostgreSQL | `postgresql` | 独立方言 Parser / AST | `PostgresqlSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持 | -| SQL Server | `sqlserver` | 独立方言 Parser / AST | `SqlServerSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持 | -| OceanBase(MySQL 模式) | `oceanbase` | 独立方言 Parser / AST | `OceanBaseSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持 | -| OceanBase(Oracle 模式) | `oceanbase_oracle` | 独立方言 Parser / AST | `OceanBaseOracleSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持 | -| 达梦 DM | `dm` | 独立方言 Parser / AST | `DmSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持(仅 Core) | -| ClickHouse | `clickhouse` | 独立方言 Parser / AST | `ClickHouseSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持 | -| Spark SQL | `spark` | 独立方言 Parser / AST | `SparkSqlParser` | 复用通用业务实现 | 主要依赖通用测试 | 标准支持 | - -## 五、支持等级判定 - -| 等级 | Druid 语法层要求 | SqlParserX 业务层要求 | 验证要求 | 当前数据源 | -|---|---|---|---|---| -| 重度支持 | 独立方言 Parser / AST | 多项明确的方言业务增强 | 已有数据源专项测试 | Doris | -| 重点支持 | 独立方言 Parser / AST | 至少一项明确的方言业务增强 | 当前可主要依赖通用测试 | MySQL、StarRocks | -| 标准支持 | 独立方言 Parser / AST | 已注册独立业务解析器,主要复用 Base | 当前可主要依赖通用测试 | Hive、Trino、Oracle、Greenplum、TiDB、PostgreSQL、SQL Server、OceanBase、OceanBase Oracle、DM、ClickHouse、Spark SQL | - -## 六、业务能力与重点数据源交叉检查 - -| 数据源 | 真实表解析 | CREATE TABLE | 表血缘 | 字段血缘 | 函数提取 | 行级权限 | 说明 | -|---|---|---|---|---|---|---|---| -| Doris | 通用 + 方言增强 | **方言增强 / 专项测试** | **策略增强 / 专项测试** | **策略增强 / 专项测试** | 通用 | 通用 | 当前业务层适配和验证最完整 | -| MySQL | **方言增强** | 通用 | 通用 | 通用 | 通用 | 通用 | 增强 `RENAME TABLE`,其余主要复用 Base | -| StarRocks | 通用 | **方言增强** | 通用 | 通用 | 通用 | 通用 | 建表属性使用方言 Client | -| Hive | 通用 | 通用 | 通用 | 独立扩展点,当前复用通用逻辑 | 通用 | 通用 | 尚无 Hive 专项业务测试 | -| 其余已注册方言 | 通用 | 通用 | 通用 | 通用 | 通用 | 通用 | “通用”表示具备统一实现,不代表已完成同等规模专项验证 | - -## 七、Core 与对外数据源编码差异 - -| 项目 | 当前情况 | 对业务解析的影响 | -|---|---|---| -| Core 正式支持集合 | `SqlParserFactory` 注册 15 种 `DbType` | Java Core 可直接选择这些方言解析器 | -| Web 数据源编码 | 通过 `DatasourceTypeEnum` 和 `DataSourceType2DbType` 映射,并使用 `SqlParserFactory.supports` 校验 | Web `/api/datasource/types` 只展示 Core 已注册的 15 种正式方言;兼容映射不再冒充独立支持 | -| TiDB 路由 | Web 已映射到 `DbType.tidb`,与 Core 的 `TidbSqlParser` 一致 | Web 与 Java Core 均按 TiDB 独立方言解析 | -| DM 暴露 | Web 已补充 DM 数据源编码并映射到 `DbType.dm` | DM 可通过 Web 与 Core 两种入口选择 | -| 未注册方言回退 | 工厂对未注册 `DbType` 返回 `BaseSqlParser` | 回退仅表示尝试使用通用能力,不代表该数据源获得正式支持 | - -## 八、验证覆盖与能力边界 - -| 边界项 | 当前说明 | -|---|---| -| 双层同时成立 | Druid 能解析 SQL 只是前提;只有 SqlParserX 能正确消费 AST 并输出业务结果,才算业务解析能力支持 | -| 通用实现 | “通用支持”表示该方言继承统一业务算法,不表示所有复杂方言 SQL 都已逐条验证 | -| 专项测试 | 当前以 Doris 的字段血缘、表血缘和建表解析专项测试为主,其他方言需逐步补充 | -| 元数据依赖 | 字段血缘中的 `SELECT *` 等场景需要表字段元数据,缺少元数据时无法保证完整展开 | -| 兼容方言 | MariaDB、GoldenDB、EDB、Presto 等可能映射到相近 `DbType`,属于兼容路由,不等于独立双层适配 | -| 预留能力 | 参数解析、预编译构建和列级字段过滤已有接口,但 Base 实现未完成,不能标记为正式支持 | - -## 九、新增数据源或能力的检查顺序 - -| 步骤 | 检查内容 | 处理层次 | -|---|---|---| -| 1 | 使用目标 `DbType` 验证 SQL 能否生成正确 AST | Druid SQL 语法解析层 | -| 2 | 核对业务能力依赖的 Statement、表源、表达式和方言属性是否完整 | Druid SQL 语法解析层 | -| 3 | 使用 `SqlParserFactory` 获取方言解析器并执行目标业务 API | SqlParserX 业务解析层 | -| 4 | AST 正确但业务结果错误时,判断是通用问题还是方言差异 | SqlParserX Base 或方言 Client | -| 5 | 补充最小方言 SQL、预期 AST 特征和预期业务结果 | 双层测试 | -| 6 | 只有通过专项回归后,再提升该数据源的支持等级 | 支持矩阵维护 | diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/doris/SQL\344\270\232\345\212\241\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/doris/SQL\344\270\232\345\212\241\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index 7dd34a7..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/doris/SQL\344\270\232\345\212\241\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,82 +0,0 @@ -# Doris SQL 业务解析支持情况 - -> 维护范围:本文件专门维护 Doris 数据源在 **SqlParserX 业务解析层(`sqlparserx-core`)** 的支撑情况,即基于 Doris 方言 AST 能输出哪些稳定的业务结果。 -> 语法层解析情况见 [SQL语法解析支持情况.md](SQL语法解析支持情况.md)。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../SQL解析能力&数据源支撑适配情况.md)。 - -## 一、基本信息 - -| 项目 | 当前情况 | -|---|---| -| 数据源 | Doris | -| Druid `DbType` | `doris` | -| 业务解析模块 | `sqlparserx-core` | -| 业务解析器 | `DorisSqlParser`(继承 `BaseSqlParser`) | -| 工厂入口 | `SqlParserFactory` | -| 综合支持等级 | **重度支持** | -| 专项测试 | 字段血缘、表血缘、CREATE TABLE | - -## 二、业务层实现位置 - -```text -sqlparserx-core -└── com.dtstack.sqlparserx.core.parser.doris - ├── DorisSqlParser.java - └── table - ├── DorisParseTableClient.java - └── DorisParseCreateTableClient.java -``` - -| 类型 | 职责 | -|---|---| -| `DorisSqlParser` | Doris 业务解析器,决定字段血缘策略、表解析 Client 和表血缘策略 | -| `DorisParseTableClient` | 继承 `StarrocksParseTableClient` 复用真实表解析逻辑,建表 Client 使用 Doris 实现 | -| `DorisParseCreateTableClient` | 继承 `StarrocksParseCreateTableClient`,开启动态分区识别 | - -## 三、方言业务增强 - -| 增强点 | 实现位置 | 说明 | -|---|---|---| -| 字段血缘忽略大小写 | `DorisSqlParser.getColumnLineageClient` | 使用 `COLUMN_IGNORE_CASE`:SQL 字段与元数据表字段忽略大小写匹配 | -| 子查询字段忽略大小写 | `DorisSqlParser.getColumnLineageClient` | 使用 `SUBQUERY_COLUMN_IGNORE_CASE` | -| CTE 前向引用血缘 | `DorisSqlParser.getTableLineageClient` | 使用 `CTE_FORWARD_REFERENCE`,支持 CTE 前向引用推断 | -| 真实表解析复用 | `DorisParseTableClient` | 继承 StarRocks 表解析逻辑 | -| 动态分区建表解析 | `DorisParseCreateTableClient` | `isDynamicPartitionEnabled()` 返回 `true`,识别 `dynamic_partition.enable=true` | - -## 四、业务能力支撑矩阵 - -| 业务能力 | Core 入口 | Doris 实现 | 当前结论 | 专项验证 | -|---|---|---|---|---| -| 真实表解析 | `ISqlParser.parseTables` | `DorisParseTableClient` | **已支持 ✅** | 复用 StarRocks/通用用例 | -| CREATE TABLE 解析 | `ISqlParser.parseCreateTable` | `DorisParseCreateTableClient` | **已支持 ✅** | `DorisCreateTableTest` | -| 表血缘解析 | `ISqlParser.parseTableLineages` | `TableLineageClient` + CTE 前向引用策略 | **已支持 ✅** | `DorisTableLineageTest` | -| 字段血缘解析 | `ISqlParser.parseColumnLineages` | `ColumnLineageClient` + 忽略大小写策略 | **已支持 ✅** | `DorisColumnLineageTest` | -| 函数提取 | `ISqlParser.parseFunction` | 通用 AST Visitor | **已支持 ✅** | 通用用例 | -| 行级权限改写 | `ISqlParser.getRowLevelPermissionSql` | `BaseSqlFilterClient` | **已支持 ✅** | 通用用例 | -| 列级字段过滤与排序 | `ISqlParser.filterSortSelectField` | Base 返回空字符串 | **预留 ❌** | 无 | -| 参数化 SQL / 预编译 | `parseParameterSql` / `buildSqlByPrepareCompile` | Base 返回 `null` | **预留 ❌** | 无 | - -## 五、专项测试 - -| 测试类 | 资源文件 | 覆盖能力 | -|---|---|---| -| `DorisColumnLineageTest` | `core/datasource/doris/DorisColumnLineageTest.txt` | 字段血缘,含忽略大小写、CTE 等场景 | -| `DorisTableLineageTest` | `core/datasource/doris/DorisTableLineageTest.txt` | 表血缘,含 CTE 前向引用 | -| `DorisCreateTableTest` | `core/datasource/doris/DorisCreateTableTest.txt` | CREATE TABLE,含键、分区、分桶、动态分区 | - -测试入口:`sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/DatasourceSuite.java`。 - -## 六、能力边界 - -| 边界项 | 说明 | -|---|---| -| `SELECT *` 展开 | 需要表字段元数据,缺少元数据时无法保证完整展开 | -| 动态分区识别 | 依赖 `dynamic_partition.enable=true` 属性判断 | -| 未覆盖语法 | Doris 特有新分区、新数据类型等语法需先确认语法层 AST 正确性 | -| 预留能力 | 列级字段过滤、参数化解析、预编译构建尚未完成 | - -## 七、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化 Doris 业务解析支持情况,整理方言增强、业务矩阵与专项测试 | \ No newline at end of file diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/doris/SQL\350\257\255\346\263\225\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/doris/SQL\350\257\255\346\263\225\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index 5096b8a..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/doris/SQL\350\257\255\346\263\225\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,84 +0,0 @@ -# Doris SQL 语法解析支持情况 - -> 维护范围:本文件专门维护 Doris 数据源在 **SQL 语法解析层(`sqlparserx-syntax`)** 的支撑情况,即 SQL 文本能否通过 Druid 生成正确、完整的 Doris 方言 AST。 -> 业务层解析情况见 [SQL业务解析支持情况.md](SQL业务解析支持情况.md)。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../SQL解析能力&数据源支撑适配情况.md)。 - -## 一、基本信息 - -| 项目 | 当前情况 | -|---|---| -| 数据源 | Doris | -| Druid `DbType` | `doris` | -| 语法解析模块 | `sqlparserx-syntax` | -| 语法 Parser 入口 | `SqlSyntaxParserFactory.getParser(DbType.doris)` | -| 默认实现 | `DruidSqlSyntaxParser` | -| Druid 版本 | `1.2.28`(定义于 `sqlparserx-engine/pom.xml` 的 `dependencyManagement`) | -| 是否独立方言 Parser / AST | 是,Druid 提供独立 Doris 方言 Lexer、StatementParser 和 AST | -| 当前语法等级 | 独立方言语法支持 | - -## 二、语法层统一契约 - -Doris 语法解析通过统一语法契约调用,不直接创建 Druid Parser: - -```java -SqlSyntaxParser parser = SqlSyntaxParserFactory.getParser(DbType.doris); - -SQLStatement statement = parser.parseStatement(sql); -List statements = parser.parseStatements(sqlScript); -List sqlList = parser.split(sqlScript); -``` - -| 接口方法 | 职责 | Doris 关注点 | -|---|---|---| -| `parseStatement` | 解析单条 SQL 为 `SQLStatement` | 校验单条 Doris 语句能否生成正确 AST | -| `parseStatements` | 解析多条 SQL | 多语句脚本解析 | -| `split` | 按语句边界切分 SQL | 字符串、注释、Doris 特殊语法边界识别 | -| `splitAndFormat` | 切分并按 AST 重新格式化 | 依赖正确 AST 输出 | -| `splitByDruid` | 使用 Druid 原生切分 | 与 `split` 互为补充 | - -## 三、语法能力支撑矩阵 - -| 语法能力 | Druid Doris 方言支撑 | 当前结论 | 说明 | -|---|---|---|---| -| SQL 语法校验 | 独立 Doris Lexer / StatementParser | **已支持 ✅** | 非法语法可抛出异常 | -| 多语句解析 | 支持 `parseStatementList` | **已支持 ✅** | 供脚本场景使用 | -| SQL 切分 | 支持按语句边界切分 | **已支持 ✅** | 统一语法 API 提供 | -| SELECT 解析 | 独立方言 AST | **已支持 ✅** | 业务表解析、血缘依赖 | -| INSERT / UPDATE / DELETE | 独立方言 AST | **已支持 ✅** | 业务表解析依赖 | -| CREATE TABLE(含 Doris 扩展) | 支持列定义、键、分区、分桶、properties | **已支持 ✅** | 建表业务解析依赖 | -| DROP / TRUNCATE | 独立方言 AST | **已支持 ✅** | 真实表解析依赖 | -| CTE / 子查询 / 集合操作 | 独立方言 AST | **已支持 ✅** | 表、字段血缘依赖 | -| 函数与表达式 | `SQLMethodInvokeExpr`、`SQLAggregateExpr` 等 | **已支持 ✅** | 函数提取依赖 | - -## 四、业务能力对语法层的依赖 - -| 业务能力 | 语法层必须提供 | 状态 | -|---|---|---| -| 真实表解析 | SELECT / INSERT / UPDATE / DELETE / CREATE / DROP / TRUNCATE 及表源节点 | 满足 ✅ | -| CREATE TABLE 解析 | 建表 Statement、列定义、键、分区、分桶、properties AST | 满足 ✅ | -| 表血缘解析 | 目标表、查询表源、CTE、子查询、集合操作 AST | 满足 ✅ | -| 字段血缘解析 | SelectItem、表达式、别名、JOIN、UNION、CTE、窗口函数 AST | 满足 ✅ | -| 函数提取 | 函数调用与聚合表达式节点 | 满足 ✅ | -| 行级权限改写 | 可遍历、可修改、可重新输出的 DML / SELECT AST | 满足 ✅ | - -## 五、语法层禁止事项 - -- 不在 `sqlparserx-syntax` 内实现真实表、建表结构、血缘等业务语义。 -- 不在业务层用大量正则替换规避 Doris 语法解析问题。 -- 需要扩充 Doris 关键字、Statement 或 AST 节点时,扩展位置为 `sqlparserx-syntax`。 - -## 六、验证与维护 - -| 项目 | 当前情况 | -|---|---| -| 语法专项测试 | 依赖 Druid Doris 方言回归;SqlParserX 侧以业务专项测试间接覆盖语法正确性 | -| 语法测试入口 | `SqlSyntaxParserFactory.getParser(DbType.doris)` + `SqlSyntaxParser` | -| 升级约束 | 升级 Druid 前先运行 Doris 语法解析测试,再运行业务层 Doris 回归 | -| 待补充 | Doris 特有语法(如新分区/新数据类型)的独立语法用例 | - -## 七、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化 Doris 语法解析支持情况,同步 `sqlparserx-syntax` 统一语法契约 | \ No newline at end of file diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/mysql/SQL\344\270\232\345\212\241\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/mysql/SQL\344\270\232\345\212\241\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index 5ae4cec..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/mysql/SQL\344\270\232\345\212\241\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,81 +0,0 @@ -# MySQL SQL 业务解析支持情况 - -> 维护范围:本文件专门维护 MySQL 数据源在 **SqlParserX 业务解析层(`sqlparserx-core`)** 的支撑情况。 -> 语法层解析情况见 [SQL语法解析支持情况.md](SQL语法解析支持情况.md)。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../SQL解析能力&数据源支撑适配情况.md)。 - -## 一、基本信息 - -| 项目 | 当前情况 | -|---|---| -| 数据源 | MySQL | -| Druid `DbType` | `mysql` | -| 业务解析模块 | `sqlparserx-core` | -| 业务解析器 | `MySqlParser`(继承 `BaseSqlParser`) | -| 工厂入口 | `SqlParserFactory` | -| 综合支持等级 | **重点支持** | -| 专项测试 | 主要依赖通用测试 | - -## 二、业务层实现位置 - -```text -sqlparserx-core -└── com.dtstack.sqlparserx.core.parser.mysql - ├── MySqlParser.java - └── table - └── MysqlParseTablesClient.java -``` - -| 类型 | 职责 | -|---|---| -| `MySqlParser` | MySQL 业务解析器,注册方言真实表解析 Client | -| `MysqlParseTablesClient` | 继承 `ParseTablesClient`,补充 `RENAME TABLE` 真实表识别 | - -## 三、方言业务增强 - -| 增强点 | 实现位置 | 说明 | -|---|---|---| -| `RENAME TABLE` 真实表识别 | `MysqlParseTablesClient.parseTables` | 命中 `MySqlRenameTableStatement` 时解析 `mainTable` 与 `allTables` | - -```java -// 命中 MySqlRenameTableStatement 时,主表取第一个表名,全部表取所有表名 -if (stmt instanceof MySqlRenameTableStatement) { - this.parseMySqlRenameTable((MySqlRenameTableStatement) stmt); -} -``` - -## 四、业务能力支撑矩阵 - -| 业务能力 | Core 入口 | MySQL 实现 | 当前结论 | 专项验证 | -|---|---|---|---|---| -| 真实表解析 | `ISqlParser.parseTables` | `MysqlParseTablesClient`(增强 `RENAME TABLE`) | **已支持 ✅** | 通用用例 | -| CREATE TABLE 解析 | `ISqlParser.parseCreateTable` | 通用 `ParseCreateTableClient` | **已支持 ✅** | 通用用例 | -| 表血缘解析 | `ISqlParser.parseTableLineages` | 通用 `TableLineageClient` | **已支持 ✅** | 通用用例 | -| 字段血缘解析 | `ISqlParser.parseColumnLineages` | 通用 `ColumnLineageClient` | **已支持 ✅** | 通用用例 | -| 函数提取 | `ISqlParser.parseFunction` | 通用 AST Visitor | **已支持 ✅** | 通用用例 | -| 行级权限改写 | `ISqlParser.getRowLevelPermissionSql` | `BaseSqlFilterClient` | **已支持 ✅** | 通用用例 | -| 列级字段过滤与排序 | `ISqlParser.filterSortSelectField` | Base 返回空字符串 | **预留 ❌** | 无 | -| 参数化 SQL / 预编译 | `parseParameterSql` / `buildSqlByPrepareCompile` | Base 返回 `null` | **预留 ❌** | 无 | - -## 五、测试情况 - -| 项目 | 当前情况 | -|---|---| -| 通用测试 | 表解析、建表解析、表/字段血缘、函数、权限改写通用用例 | -| MySQL 专项测试 | 当前缺失,`RENAME TABLE` 增强主要依赖通用测试间接覆盖 | -| 建议补充 | 针对 `RENAME TABLE`、MySQL 特有 DDL 的专项用例 | - -## 六、能力边界 - -| 边界项 | 说明 | -|---|---| -| 方言增强范围 | 仅真实表解析补充 `RENAME TABLE`,其余能力复用 Base | -| 无专项测试 | 增强逻辑缺少 MySQL 专项回归,需逐步补充 | -| 兼容路由 | Web 保留部分历史兼容映射,但 TiDB 已切换为 Core 独立的 `DbType.tidb`;兼容映射不会出现在正式支持列表 | -| 预留能力 | 列级字段过滤、参数化解析、预编译构建尚未完成 | - -## 七、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化 MySQL 业务解析支持情况,记录 `RENAME TABLE` 增强与测试缺口 | diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/mysql/SQL\350\257\255\346\263\225\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/mysql/SQL\350\257\255\346\263\225\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index 0fe7938..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/mysql/SQL\350\257\255\346\263\225\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,74 +0,0 @@ -# MySQL SQL 语法解析支持情况 - -> 维护范围:本文件专门维护 MySQL 数据源在 **SQL 语法解析层(`sqlparserx-syntax`)** 的支撑情况,即 SQL 文本能否通过 Druid 生成正确、完整的 MySQL 方言 AST。 -> 业务层解析情况见 [SQL业务解析支持情况.md](SQL业务解析支持情况.md)。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../SQL解析能力&数据源支撑适配情况.md)。 - -## 一、基本信息 - -| 项目 | 当前情况 | -|---|---| -| 数据源 | MySQL | -| Druid `DbType` | `mysql` | -| 语法解析模块 | `sqlparserx-syntax` | -| 语法 Parser 入口 | `SqlSyntaxParserFactory.getParser(DbType.mysql)` | -| 默认实现 | `DruidSqlSyntaxParser` | -| Druid 版本 | `1.2.28`(定义于 `sqlparserx-engine/pom.xml` 的 `dependencyManagement`) | -| 是否独立方言 Parser / AST | 是,Druid 提供独立 MySQL 方言 Lexer、StatementParser 和 AST | -| 当前语法等级 | 独立方言语法支持 | - -## 二、语法层统一契约 - -```java -SqlSyntaxParser parser = SqlSyntaxParserFactory.getParser(DbType.mysql); - -SQLStatement statement = parser.parseStatement(sql); -List statements = parser.parseStatements(sqlScript); -List sqlList = parser.split(sqlScript); -``` - -## 三、语法能力支撑矩阵 - -| 语法能力 | Druid MySQL 方言支撑 | 当前结论 | 说明 | -|---|---|---|---| -| SQL 语法校验 | 独立 MySQL Lexer / StatementParser | **已支持 ✅** | 非法语法可抛出异常 | -| 多语句解析 | 支持 `parseStatementList` | **已支持 ✅** | 供脚本场景使用 | -| SQL 切分 | 支持按语句边界切分 | **已支持 ✅** | 统一语法 API 提供 | -| SELECT / INSERT / UPDATE / DELETE | 独立方言 AST | **已支持 ✅** | 业务表解析、血缘依赖 | -| CREATE TABLE | 独立方言 AST | **已支持 ✅** | 建表业务解析依赖 | -| `RENAME TABLE` | `MySqlRenameTableStatement` | **已支持 ✅** | 业务层据此增强真实表识别 | -| DROP / TRUNCATE | 独立方言 AST | **已支持 ✅** | 真实表解析依赖 | -| CTE / 子查询 / 集合操作 | 独立方言 AST | **已支持 ✅** | 表、字段血缘依赖 | -| 函数与表达式 | 函数调用与聚合表达式节点 | **已支持 ✅** | 函数提取依赖 | - -## 四、业务能力对语法层的依赖 - -| 业务能力 | 语法层必须提供 | 状态 | -|---|---|---| -| 真实表解析 | DML/DDL 语句及表源节点,含 `MySqlRenameTableStatement` | 满足 ✅ | -| CREATE TABLE 解析 | 建表 Statement、列定义、键、properties AST | 满足 ✅ | -| 表血缘解析 | 目标表、查询表源、CTE、子查询、集合操作 AST | 满足 ✅ | -| 字段血缘解析 | SelectItem、表达式、别名、JOIN、UNION、CTE、窗口函数 AST | 满足 ✅ | -| 函数提取 | 函数调用与聚合表达式节点 | 满足 ✅ | -| 行级权限改写 | 可遍历、可修改、可重新输出的 DML / SELECT AST | 满足 ✅ | - -## 五、语法层禁止事项 - -- 不在 `sqlparserx-syntax` 内实现真实表、建表结构、血缘等业务语义。 -- 不在业务层用正则替换规避 MySQL 语法解析问题。 -- 需要扩充 MySQL 关键字、Statement 或 AST 节点时,扩展位置为 `sqlparserx-syntax`。 - -## 六、验证与维护 - -| 项目 | 当前情况 | -|---|---| -| 语法专项测试 | 依赖 Druid MySQL 方言回归;SqlParserX 侧主要依赖通用测试间接覆盖 | -| 语法测试入口 | `SqlSyntaxParserFactory.getParser(DbType.mysql)` + `SqlSyntaxParser` | -| 升级约束 | 升级 Druid 前先运行 MySQL 语法解析测试,再运行业务层回归 | -| 待补充 | MySQL 特有语法(如新 DDL 子句、JSON 函数)的独立语法用例 | - -## 七、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化 MySQL 语法解析支持情况,同步 `sqlparserx-syntax` 统一语法契约 | \ No newline at end of file diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/starrocks/SQL\344\270\232\345\212\241\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/starrocks/SQL\344\270\232\345\212\241\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index 3bfc799..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/starrocks/SQL\344\270\232\345\212\241\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,77 +0,0 @@ -# StarRocks SQL 业务解析支持情况 - -> 维护范围:本文件专门维护 StarRocks 数据源在 **SqlParserX 业务解析层(`sqlparserx-core`)** 的支撑情况。 -> 语法层解析情况见 [SQL语法解析支持情况.md](SQL语法解析支持情况.md)。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../SQL解析能力&数据源支撑适配情况.md)。 - -## 一、基本信息 - -| 项目 | 当前情况 | -|---|---| -| 数据源 | StarRocks | -| Druid `DbType` | `starrocks` | -| 业务解析模块 | `sqlparserx-core` | -| 业务解析器 | `StarrocksSqlParser`(继承 `BaseSqlParser`) | -| 工厂入口 | `SqlParserFactory` | -| 综合支持等级 | **重点支持** | -| 专项测试 | 主要依赖通用测试 | - -## 二、业务层实现位置 - -```text -sqlparserx-core -└── com.dtstack.sqlparserx.core.parser.starrocks - ├── StarrocksSqlParser.java - └── table - ├── StarrocksParseTableClient.java - └── StarrocksParseCreateTableClient.java -``` - -| 类型 | 职责 | -|---|---| -| `StarrocksSqlParser` | StarRocks 业务解析器,注册方言真实表解析 Client | -| `StarrocksParseTableClient` | 继承 `BaseParseTableClient`,建表 Client 使用 StarRocks 实现 | -| `StarrocksParseCreateTableClient` | 继承 `ParseCreateTableClient`,处理 StarRocks 建表特有语法;同时被 Doris 复用 | - -## 三、方言业务增强 - -| 增强点 | 实现位置 | 说明 | -|---|---|---| -| 分布方式解析 | `StarrocksParseCreateTableClient.dealDistributeByColumns` | 识别 `StarRocksCreateTableStatement` 的 `DistributedByType`(Hash / Random)及分布列 | -| 键类型识别 | `StarrocksParseCreateTableClient.dealTableKey` | 识别 `StarRocksDuplicateKey` → `DUPLICATE`、`StarRocksAggregateKey` → `AGGREGATE` | - -## 四、业务能力支撑矩阵 - -| 业务能力 | Core 入口 | StarRocks 实现 | 当前结论 | 专项验证 | -|---|---|---|---|---| -| 真实表解析 | `ISqlParser.parseTables` | `StarrocksParseTableClient` | **已支持 ✅** | 通用用例 | -| CREATE TABLE 解析 | `ISqlParser.parseCreateTable` | `StarrocksParseCreateTableClient` | **已支持 ✅** | 通用用例(无 StarRocks 专项) | -| 表血缘解析 | `ISqlParser.parseTableLineages` | 通用 `TableLineageClient` | **已支持 ✅** | 通用用例 | -| 字段血缘解析 | `ISqlParser.parseColumnLineages` | 通用 `ColumnLineageClient` | **已支持 ✅** | 通用用例 | -| 函数提取 | `ISqlParser.parseFunction` | 通用 AST Visitor | **已支持 ✅** | 通用用例 | -| 行级权限改写 | `ISqlParser.getRowLevelPermissionSql` | `BaseSqlFilterClient` | **已支持 ✅** | 通用用例 | -| 列级字段过滤与排序 | `ISqlParser.filterSortSelectField` | Base 返回空字符串 | **预留 ❌** | 无 | -| 参数化 SQL / 预编译 | `parseParameterSql` / `buildSqlByPrepareCompile` | Base 返回 `null` | **预留 ❌** | 无 | - -## 五、测试情况 - -| 项目 | 当前情况 | -|---|---| -| 通用测试 | 表解析、建表解析、表/字段血缘、函数、权限改写通用用例 | -| StarRocks 专项测试 | 当前缺失,建表方言增强主要依赖通用测试间接覆盖 | -| 建议补充 | StarRocks `DISTRIBUTED BY`、`DUPLICATE KEY` / `AGGREGATE KEY` 建表专项用例 | - -## 六、能力边界 - -| 边界项 | 说明 | -|---|---| -| 方言增强范围 | 仅建表解析补充分布方式与键类型,其余能力复用 Base | -| 无专项测试 | 建表方言增强缺少 StarRocks 专项回归,需逐步补充 | -| 与 Doris 复用 | `StarrocksParseCreateTableClient` 被 `DorisParseCreateTableClient` 继承,修改时需同时考虑 Doris | -| 预留能力 | 列级字段过滤、参数化解析、预编译构建尚未完成 | - -## 七、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化 StarRocks 业务解析支持情况,记录建表方言增强与测试缺口 | \ No newline at end of file diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/starrocks/SQL\350\257\255\346\263\225\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/starrocks/SQL\350\257\255\346\263\225\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index 83ec711..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/datasource/starrocks/SQL\350\257\255\346\263\225\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,75 +0,0 @@ -# StarRocks SQL 语法解析支持情况 - -> 维护范围:本文件专门维护 StarRocks 数据源在 **SQL 语法解析层(`sqlparserx-syntax`)** 的支撑情况,即 SQL 文本能否通过 Druid 生成正确、完整的 StarRocks 方言 AST。 -> 业务层解析情况见 [SQL业务解析支持情况.md](SQL业务解析支持情况.md)。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../SQL解析能力&数据源支撑适配情况.md)。 - -## 一、基本信息 - -| 项目 | 当前情况 | -|---|---| -| 数据源 | StarRocks | -| Druid `DbType` | `starrocks` | -| 语法解析模块 | `sqlparserx-syntax` | -| 语法 Parser 入口 | `SqlSyntaxParserFactory.getParser(DbType.starrocks)` | -| 默认实现 | `DruidSqlSyntaxParser` | -| Druid 版本 | `1.2.28`(定义于 `sqlparserx-engine/pom.xml` 的 `dependencyManagement`) | -| 是否独立方言 Parser / AST | 是,Druid 提供独立 StarRocks 方言 AST(`StarRocksCreateTableStatement` 等) | -| 当前语法等级 | 独立方言语法支持 | - -## 二、语法层统一契约 - -```java -SqlSyntaxParser parser = SqlSyntaxParserFactory.getParser(DbType.starrocks); - -SQLStatement statement = parser.parseStatement(sql); -List statements = parser.parseStatements(sqlScript); -List sqlList = parser.split(sqlScript); -``` - -## 三、语法能力支撑矩阵 - -| 语法能力 | Druid StarRocks 方言支撑 | 当前结论 | 说明 | -|---|---|---|---| -| SQL 语法校验 | 独立方言 Lexer / StatementParser | **已支持 ✅** | 非法语法可抛出异常 | -| 多语句解析 | 支持 `parseStatementList` | **已支持 ✅** | 供脚本场景使用 | -| SQL 切分 | 支持按语句边界切分 | **已支持 ✅** | 统一语法 API 提供 | -| SELECT / INSERT / UPDATE / DELETE | 独立方言 AST | **已支持 ✅** | 业务表解析、血缘依赖 | -| CREATE TABLE(StarRocks 扩展) | `StarRocksCreateTableStatement`、分布键、键类型 | **已支持 ✅** | 建表业务解析依赖 | -| 分布方式(`DISTRIBUTED BY`) | `DistributedByType`(Hash / Random) | **已支持 ✅** | 建表解析依赖 | -| 键类型(`DUPLICATE KEY` / `AGGREGATE KEY`) | `StarRocksDuplicateKey`、`StarRocksAggregateKey` | **已支持 ✅** | 建表解析依赖 | -| DROP / TRUNCATE | 独立方言 AST | **已支持 ✅** | 真实表解析依赖 | -| CTE / 子查询 / 集合操作 | 独立方言 AST | **已支持 ✅** | 表、字段血缘依赖 | -| 函数与表达式 | 函数调用与聚合表达式节点 | **已支持 ✅** | 函数提取依赖 | - -## 四、业务能力对语法层的依赖 - -| 业务能力 | 语法层必须提供 | 状态 | -|---|---|---| -| 真实表解析 | DML/DDL 语句及表源节点 | 满足 ✅ | -| CREATE TABLE 解析 | 建表 Statement、分布键、键类型、列定义、properties AST | 满足 ✅ | -| 表血缘解析 | 目标表、查询表源、CTE、子查询、集合操作 AST | 满足 ✅ | -| 字段血缘解析 | SelectItem、表达式、别名、JOIN、UNION、CTE、窗口函数 AST | 满足 ✅ | -| 函数提取 | 函数调用与聚合表达式节点 | 满足 ✅ | -| 行级权限改写 | 可遍历、可修改、可重新输出的 DML / SELECT AST | 满足 ✅ | - -## 五、语法层禁止事项 - -- 不在 `sqlparserx-syntax` 内实现真实表、建表结构、血缘等业务语义。 -- 不在业务层用正则替换规避 StarRocks 语法解析问题。 -- 需要扩充 StarRocks 关键字、Statement 或 AST 节点时,扩展位置为 `sqlparserx-syntax`。 - -## 六、验证与维护 - -| 项目 | 当前情况 | -|---|---| -| 语法专项测试 | 依赖 Druid StarRocks 方言回归;SqlParserX 侧主要依赖通用测试间接覆盖 | -| 语法测试入口 | `SqlSyntaxParserFactory.getParser(DbType.starrocks)` + `SqlSyntaxParser` | -| 升级约束 | 升级 Druid 前先运行 StarRocks 语法解析测试,再运行业务层回归 | -| 待补充 | StarRocks 特有建表/分布语法的独立语法用例 | - -## 七、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化 StarRocks 语法解析支持情况,同步 `sqlparserx-syntax` 统一语法契约 | \ No newline at end of file diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\345\207\275\346\225\260\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\345\207\275\346\225\260\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index 3d02ce0..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\345\207\275\346\225\260\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,89 +0,0 @@ -# 通用解析能力 · 函数解析支持情况 - -> 维护范围:`sqlparserx-core` 中基于 `BaseSqlParser` 的**通用函数解析能力**,即不区分数据源的函数名提取能力。 -> 实现思路参考:[基于Druid实现function函数解析](../../../../reference/sqlparserx核心解析层实现思路/基于Druid实现function函数解析.md)。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../datasource/SQL解析能力&数据源支撑适配情况.md)。 - -## 用例示范(快速上手) - -```java -// 1. 获取解析器 -ISqlParser sqlParser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -// 2. 准备 SQL -String sql = "SELECT id, sum(amount) AS total, concat(name, '-x') AS tag " - + "FROM orders GROUP BY id"; - -// 3. 调用函数解析,返回去重后的函数名集合 -Set functions = sqlParser.parseFunction(sql); -System.out.println(functions); // [sum, concat] -``` - -## 一、实现目标 - -解析 SQL 中出现的函数名。函数名与血缘无关,属于**纯遍历提取**能力,因此直接使用 Druid 的 Visitor 访问者模式完成匹配。 - -```text -SQL - → SqlSyntaxParser.parseStatements - → 每个 SQLStatement.accept(SQLASTVisitorAdapter) - → 命中 SQLMethodInvokeExpr / SQLAggregateExpr - → Set 函数名集合 -``` - -## 二、Core 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseFunction(String sql)` | -| 默认实现 | `BaseSqlParser.parseFunction` | -| 返回类型 | `Set`(已去重) | -| 解析对象 | SQLMethodInvokeExpr(普通函数、窗口函数)、SQLAggregateExpr(聚合函数) | - -## 三、支持粒度与深度 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| 普通函数名提取(`SQLMethodInvokeExpr`) | **已支持 ✅** | 如 `now()`、`concat(id, name)` | -| 聚合函数名提取(`SQLAggregateExpr`) | **已支持 ✅** | 如 `sum`、`count`、`avg` | -| 窗口函数提取(`xxx over xxx`) | **已支持 ✅** | 基于 `SQLMethodInvokeExpr` 识别 | -| 多语句 SQL 提取 | **已支持 ✅** | 遍历 `parseStatements` 得到的全部 Statement | -| 结果去重 | **已支持 ✅** | 使用 `HashSet` 去重 | -| 函数参数/表达式分析 | **不支持 ❌** | 只提取函数名,不返回参数与类型 | -| 函数分类(普通/聚合标签) | **不支持 ❌** | 统一放入同一集合,不区分类别 | -| 函数血缘 | **不支持 ❌** | 与血缘无关,不参与来源推导 | - -## 四、典型示例 - -```java -Set functions = sqlParser.parseFunction(sql); -``` - -| 输入 SQL(片段) | 输出函数名 | -|---|---| -| `select now() as current_time` | `now` | -| `select sum(o.id) as s, CONCAT(n.tt1, n2.tt2) as tmp` | `sum`, `concat` | -| `select row_number() over (partition by id order by ts) from t` | `row_number` | - -## 五、能力边界 - -| 边界项 | 说明 | -|---|---| -| 仅函数名 | 输出为函数名的字符串集合,不含参数、返回值、调用位置 | -| 大小写 | 以 Druid AST 中 `getMethodName()` 原值返回,不做大小写归一 | -| 方言语义 | 不处理方法名映射(如不同方言同义函数名) | -| 无专项测试 | 当前由通用测试覆盖,尚未建立函数解析专项用例 | - -## 六、测试 - -| 项目 | 当前情况 | -|---|---| -| 通用测试 | `core/base/function/BaseParseFunctionTest` | -| 数据源差异 | 无方言差异,全部数据源复用 `BaseSqlParser.parseFunction` | -| 建议补充 | 窗口函数、多语句、重复函数名等边界用例 | - -## 七、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化通用函数解析支持情况,整理支持粒度与边界 | \ No newline at end of file diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\345\217\230\351\207\217\345\217\202\346\225\260\350\247\243\346\236\220\344\270\216\351\242\204\347\274\226\350\257\221\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\345\217\230\351\207\217\345\217\202\346\225\260\350\247\243\346\236\220\344\270\216\351\242\204\347\274\226\350\257\221\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index cdee014..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\345\217\230\351\207\217\345\217\202\346\225\260\350\247\243\346\236\220\344\270\216\351\242\204\347\274\226\350\257\221\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,421 +0,0 @@ -# 通用解析能力 · 变量参数解析与预编译支持情况 - -> 维护范围:`sqlparserx-core` 中基于 `BaseSqlParser` / `IParseParameterClient`(`BaseParseParameterClient`)的**变量参数解析与预编译改写能力**。 -> Core 入口:`ISqlParser.parseParameterSql` / `ISqlParser.buildSqlByPrepareCompile`。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../datasource/SQL解析能力&数据源支撑适配情况.md)。 - -## 用例示范(快速上手) - -```java -// 1. 获取解析器 -ISqlParser sqlParser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -// 2. 准备带 ${变量} 的 SQL -String sql = "SELECT id, name FROM user_info " - + "WHERE tenant_id = ${tenantId} AND status = ${status}"; - -// 3. 配置期:解析变量与输出字段 -Map> tableColumnsMap = new HashMap<>(); -tableColumnsMap.put("user_info", Arrays.asList( - new DataTypeColumn("tenant_id", "BIGINT", "租户ID"), - new DataTypeColumn("status", "VARCHAR", "状态"))); - -ParseParameterResult parseResult = sqlParser.parseParameterSql(sql, true, tableColumnsMap); -System.out.println(parseResult.getInputParams()); // 入参定义:tenantId / status(绑定字段、操作符、是否必填) -System.out.println(parseResult.getOutputParams()); // 出参定义:id / name - -// 4. 运行期:预编译改写 -Map inParams = new HashMap<>(); -inParams.put("tenantId", 1001L); -inParams.put("status", "OPEN"); - -Map columns = new HashMap<>(); -for (ParamInfo inputParam : parseResult.getInputParams()) { - columns.put(inputParam.getName(), inputParam); -} -PrepareCompileResult compileResult = sqlParser.buildSqlByPrepareCompile(sql, inParams, columns); -System.out.println(compileResult.getBeautifulSql()); // SELECT ... WHERE tenant_id = ? AND status = ? -System.out.println(compileResult.getInputFields()); // [1001, OPEN] -``` - -运行期依赖 `columns` 中的 `dataType`、`imperative` 等配置完成类型转换和必填校验,因此应传入配置期保存的 -参数定义,不能只传请求值。 - -> 以上为接口用法示范;`BaseParseParameterClient` 已基于 Druid 实现,当前**仅支持 SELECT 查询**。 - -## 一、能力定位:SQL 转 API 的两个关键时刻 - -这套能力服务的是「**SQL 转 API / 数据 API**」场景:用户在平台上**手写一条 SQL**,把需要外部传入的值写成 `${变量}` 占位符;平台据此生成一个标准 API,调用方按标准入参传值即可拿到查询结果。 - -```text -配置期:SQL 里的 ${变量} -> 解析成 API 入参配置(变量名/绑定字段/操作符/是否必填) -运行期:调用方传入参数值 -> ${变量} 改写成 ? 并按序绑定执行 -> 返回标准结果 -``` - -- **手写 SQL + 占位符**:SQL 由用户手写,动态值用 `${变量}` 声明,例如 `WHERE tenant_id = ${tenantId}`。 -- **标准化入参**:配置期解析出的 `inputParams` 落成 API 入参(`ParamInfo`),调用方只需按名字传值,不必关心 SQL 细节。 -- **参数化执行**:运行期把 `${变量}` 改写成 JDBC `?` 并给出有序参数,避免字符串拼接与 SQL 注入;`IN` 集合展开、`LIMIT` 分页上限也由插件统一处理。 -- **标准结果**:`SELECT` 字段被解析为输出参数,执行结果按 API 约定返回。 - -在这条链路上,**SQLParser 只负责「解析」与「改写」两件事**,不连数据库、不执行 SQL、不查元数据: - -| 阶段 | SQLParser 要做的事 | 目的 | -|---|---|---| -| 配置期 | 从 SQL 中识别 `${变量}`、所在条件、绑定字段、操作符、必填性,以及 `SELECT` 输出字段 | 产出可落库的 API 入参/出参定义 | -| 运行期 | 依据 AST 中变量位置,把 `${变量}` 按位置改写成 `?`,并按 `?` 顺序产出绑定参数 | 产出可直接交给 JDBC `PreparedStatement` 执行的预编译 SQL 与有序参数 | - -## 二、Core 入口与两个核心方法 - -原实现用一个 `parseApiSql(..., prepareCompile)` 开关在同一个方法里切换两种模式;SqlParserX 将其**拆分为两个语义清晰的核心方法**,分别对应配置期与运行期。 - -| 阶段 | 核心方法 | 输入 | 输出 | 当前状态 | -|---|---|---|---|---| -| 配置期 | `parseParameterSql` | `stmt`、`isIgnoreSyntaxCheck`、`tableColumnsMap` | `ParseParameterResult` | 已实现(仅 SELECT)✅ | -| 运行期 | `buildSqlByPrepareCompile` | `stmt`、`inParams`、`columns` | `PrepareCompileResult` | 已实现(仅 SELECT)✅ | - -入口签名: - -```java -// 配置期:解析带变量的 SQL(非预编译) -ParseParameterResult parseParameterSql( - SQLStatement stmt, - Boolean isIgnoreSyntaxCheck, - Map> tableColumnsMap); - -// 运行期:生成预编译 SQL -PrepareCompileResult buildSqlByPrepareCompile( - SQLStatement stmt, - Map inParams, - Map columns); -``` - -调用链: - -```text -ISqlParser#parseParameterSql / buildSqlByPrepareCompile (String 入口,内部先 createStatement) - -> BaseSqlParser#parseParameterSql / buildSqlByPrepareCompile - -> IParseParameterClient#parseParameterSql / buildSqlByPrepareCompile - -> BaseParseParameterClient(通用默认实现,方言可按需重写) -``` - -`ISqlParser` 同时提供 `String sql` 版本作为对外便捷入口,由 `BaseSqlParser` 统一解析成 `SQLStatement` 后转交 `IParseParameterClient`;业务层只需实现 Client 即可。 - -与旧接口的对应关系: - -| 旧入口 | 新入口 | -|---|---| -| `parseApiSql(..., prepareCompile=false)` | `parseParameterSql(stmt, isIgnoreSyntaxCheck, tableColumnsMap)` | -| `parseApiSql(..., prepareCompile=true)` | `buildSqlByPrepareCompile(stmt, inParams, columns)` | - -## 三、配置期:`parseParameterSql` —— 动态变量解析 - -### 3.1 目的 - -只分析 SQL、不生成可供 JDBC 执行的 `?` SQL,用于在用户保存/发布 API 时产出入参与出参定义。 - -### 3.2 解析内容 - -- `${变量}` 的名称; -- 变量所在的条件或表达式(`sqlPart`); -- 变量绑定的表字段; -- `=`、`IN`、`LIKE` 等操作符; -- 是否为必填参数(最终写入 `ParamInfo.imperative`); -- `SELECT` 输出字段(`outputParams`)。 - -### 3.3 输出:`ParseParameterResult` - -```text -ParseParameterResult -├── inputParams List 动态变量参数块(入参定义) -├── outputParams List SELECT 输出字段(出参定义) -└── tables List
当前固定为空(尚未接入表解析结果) -``` - -`ApiParamSpan`(输出字段)关键字段: - -| 字段 | 说明 | -|---|---| -| `sqlPart` | 参数块对应的 SQL 片段 | -| `bindColumns` | 绑定的表字段及元数据(`DataTypeColumn`) | - -`ParamInfo`(入参定义)关键字段: - -| 字段 | 说明 | -|---|---| -| `name` | 参数名 | -| `fieldName` | 绑定字段名 | -| `operator` | 操作符 | -| `sqlPart` | 参数块对应的 SQL 片段(标明来自源 SQL 的哪一部分) | -| `dataType` | 参数类型 | -| `imperative` | 是否必填;运行期缺值校验使用该字段 | -| `desc` | 描述 | -| `value` / `defaultValue` | 定义侧配置值与默认值;当本次 `inParams` 未提供参数时依次作为回退值 | - -### 3.4 示例 - -输入 SQL: - -```sql -SELECT id, name -FROM user_info -WHERE tenant_id = ${tenantId} - AND status = ${status} -``` - -输出语义: - -```json -{ - "inputParams": [ - { - "name": "tenantId", - "sqlPart": "tenant_id = ${tenantId}", - "fieldName": "tenant_id", - "dataType": "BIGINT", - "operator": "=", - "imperative": false - }, - { - "name": "status", - "sqlPart": "status = ${status}", - "fieldName": "status", - "dataType": "VARCHAR", - "operator": "=", - "imperative": false - } - ], - "outputParams": [ - {"sqlPart": "id"}, - {"sqlPart": "name"} - ] -} -``` - -`ParamInfo.dataType/desc` 来源于字段绑定阶段匹配到的 `DataTypeColumn.type/comment`,依赖调用方传入的 -`tableColumnsMap`;传空 Map 时仍可识别变量名和部分字段关系,但类型、注释等元数据可能不完整。 - -### 3.5 输入参数支持矩阵 - -| SQL 位置或结构 | 支持情况 | 当前行为 | -|---|---|---| -| 二元比较 `field = ${x}`、`>`、`>=`、`<`、`<=`、`<>`、`LIKE` | **已支持 ✅** | 记录操作符,以变量另一侧表达式作为绑定字段 | -| `IN (${values})` / `NOT IN (${values})` | **已支持 ✅** | 配置期形成参数定义;运行期集合展开为多个 `?` | -| `BETWEEN ${min} AND ${max}` / `NOT BETWEEN` | **已支持 ✅** | 两端变量分别登记,绑定被比较字段 | -| SELECT 列表中的 `${x}` | **已支持 ✅** | 标记为必填,操作符为 `API_PARAM_IN_SELECT_LIST`,不作为普通输出字段 | -| `GROUP BY` / `ORDER BY` 中的变量 | **有限支持 ⚠️** | 运行期作为标识符内联,不生成 `?`;业务层需限制允许值 | -| `LIMIT` / `OFFSET` 中的变量 | **有限支持 ⚠️** | 可以识别和改写,尚未统一固定为整数类型,也未实现跨方言分页转换 | -| CTE、派生表、JOIN、EXISTS、IN 子查询、标量子查询、UNION 内变量 | **已支持 ✅** | 递归收集到同一个有序输入参数集合 | -| 同一变量重复出现 | **已支持 ✅** | 配置期按名称去重;必填优先,运行期每次出现都生成绑定值 | -| 字符串字面量中的 `'${x}'` | **排除 ✅** | Druid 将其解析为字符串常量,不登记变量 | -| `${bdp.system.bizdate}` 等带点号变量名 | **不支持 ❌** | 当前变量名仅支持字母、数字和下划线 | -| `${x} < field`(变量位于比较左侧) | **有限支持 ⚠️** | 可发现变量,但尚未做左右归一,字段绑定和操作符可能退化为 `CUSTOM` | -| WINDOW 等特殊子句中的变量 | **不保证 ⚠️** | AST 收集顺序与最终 SQL 渲染顺序可能不同 | - -### 3.6 参数到真实表字段的绑定能力 - -字段类型匹配会先使用变量所在的最近 `SQLSelectQueryBlock` 确定 `FROM/JOIN` 作用域,再把 -`owner.field` 还原为真实表字段: - -```text -u.tenant_id = ${tenantId} - -> 取变量另一侧字段 u.tenant_id - -> 在最近查询块中解析 u -> user_info - -> 精确查询 tableColumnsMap["user_info"] 中的 tenant_id - -> 回填 fieldName=tenant_id、dataType=BIGINT、desc=租户 -``` - -| 字段定位场景 | 支持情况 | 消歧规则 | -|---|---|---| -| 普通表及别名 | **已支持 ✅** | `u.field -> real_table.field` | -| schema/catalog 限定表 | **已支持 ✅** | 优先使用完整表名匹配元数据,并兼容逐级回退 | -| JOIN 多表同名字段 + owner | **已支持 ✅** | 按 owner 对应真实表精确命中,不依赖 Map 遍历顺序 | -| JOIN 中无 owner 的裸字段 | **保守支持 ✅** | 当前作用域唯一命中才绑定;多表同名时类型和注释留空 | -| 内外查询块使用同名别名 | **已支持 ✅** | 使用距离字段最近的查询块,内层别名遮蔽外层别名 | -| CTE/派生表输出列穿透 | **不支持 ❌** | 尚未沿 `cte.col -> CTE 投影 -> 源表字段` 追溯 | -| UNION 输出列穿透 | **不支持 ❌** | 尚未合并各分支来源字段 | -| 函数、算术、CASE 等复杂绑定表达式 | **不完整 ⚠️** | 尚未稳定抽取表达式内真实字段集合 | - -### 3.7 最终输出字段口径 - -- `outputParams` 只表示 API 最终结果集;CTE、FROM 派生表、EXISTS/IN/标量子查询内部投影不会进入最终输出。 -- 顶层 `UNION/UNION ALL` 各分支按位置共享一套结果结构,只使用第一分支生成输出定义,后续分支仍解析输入变量。 -- 普通非变量 SELECT 项生成一个 `ApiParamSpan`,保存表达式文本、别名及简单字段绑定。 -- `SELECT *` 当前保留为一个 `*` 输出项,不依据 `tableColumnsMap` 展开全部真实列。 -- 输出字段的 CTE/派生表血缘穿透尚未实现。 - -## 四、运行期:`buildSqlByPrepareCompile` —— 预编译改写 - -### 4.1 目的 - -在变量解析的基础上继续改写,把 SQL 变成可以交给 JDBC `PreparedStatement` 执行的形态,避免直接拼接参数值。 - -### 4.2 改写内容 - -- 依据 AST 中变量位置,将 `${变量}` 改写为 `?`; -- 删除没有值的非必填参数条件; -- 将 `IN / NOT IN` 集合值展开为多个 `?`; -- 按 SQL 中 `?` 的先后顺序组织绑定参数; -- 保留当前数据源方言的 `LIMIT / OFFSET` AST 形态并改写其中变量。 - -跨方言 `LIMIT/OFFSET` 语法转换尚未实现。 - -### 4.3 输出:`PrepareCompileResult` - -```text -PrepareCompileResult -├── beautifulSql String `${变量}` 改写后的 SQL(含 `?`) -└── inputFields List 与每个 `?` 一一对应的有序参数 -``` - -必须保持的对应关系: - -```text -beautifulSql 中第 N 个 ? <-> inputFields 中第 N 个参数 -``` - -对于集合参数,一个变量可能展开成多个 `?`,下游按序摊平为实际绑定值序列。 - -### 4.4 输入 - -| 参数 | 说明 | -|---|---| -| `inParams` | 调用方本次请求的变量名 → 值 | -| `columns` | 已保存的变量配置(`ParamInfo`:类型、是否必填、操作符等) | - -### 4.5 示例 - -输入 SQL 与请求值 `tenantId=1001`、`status=OPEN`: - -```sql -SELECT id, name -FROM user_info -WHERE tenant_id = ${tenantId} - AND status = ${status} -``` - -输出语义: - -```json -{ - "beautifulSql": "SELECT id, name FROM user_info WHERE tenant_id = ? AND status = ?", - "inputFields": [1001, "OPEN"] -} -``` - -`tenant_id = ?` 对应 `inputFields[0]=1001`,`status = ?` 对应 `inputFields[1]="OPEN"`,下游按序 `setParam` 即可。 - -## 五、两个核心方法如何在业务中搭配使用 - -作用场景在:sql转api中,我们预先设定好一个sql包含变量参数的,结合真实的元数据表字段,解析出入参定义,落库后发布成api;调用方按标准入参传值,运行期再把sql改写成预编译形式并按顺序绑定参数执行。 - -两个方法是**同一链路上的两个阶段**,按业务生命周期搭配: - -```text -配置阶段(编辑/保存/发布):parseParameterSql -> inputParams(声明了哪些变量、绑定哪些字段) -运行阶段(收到请求要执行):buildSqlByPrepareCompile -> beautifulSql + inputFields(? SQL 和有序参数) -``` - -完整流程(配置期 → 运行期): - -```text -1. 【配置 SQL】用户在平台上新建 API,手写一条 SQL;需要外部传入的值写成 ${变量}。 -2. 【表解析】platform 调 SQLParser 表解析 parseTablesWithDbType(sql),得到 SQL 涉及的表。 -3. 【取真实元数据】按表名到底层数据源查真实字段,组装 tableColumnsMap。 -4. 【解析变量/输出】parseParameterSql(stmt, isIgnoreSyntaxCheck, tableColumnsMap) - - 入参:inputParams —— 有哪些 ${变量}、绑定哪个字段、操作符、是否必填; - - 出参:outputParams —— SELECT 字段,作为 API 返回值定义。 -5. 【落配置并发布】把 inputParams 转成 API 入参定义(ParamInfo)连同 SQL 一起保存、发布。 -6. 【调用方请求】外部按标准入参传值,例:tenantId=1001、status=OPEN。 -7. 【预编译】buildSqlByPrepareCompile(stmt, inParams, columns) - - beautifulSql —— ${变量} 已按位置改写成 ?; - - inputFields —— 与每个 ? 一一对应的绑定值(IN 集合会展开); - - 如 SQL 自带最外层 LIMIT 且开启分页,再外包一层临时表。 -8. 【执行 JDBC】用 beautifulSql 建 PreparedStatement,按 inputFields 顺序 setParam,执行得到结果集。 -9. 【返回结果】按第 4 步的 outputParams 约定,把结果集包装成标准 API 返回值。 -``` - -即:**用户用 `${变量}` 指定可替换参数 → 配置期解析出标准入参/出参 → 运行期用请求值生成预编译 SQL 和有序参数 → 直接 JDBC 执行并返回标准结果。** - -> 说明:本仓库关注 SQLParser 承担的部分——`${变量}` 的解析与预编译改写;对应配置端在 `dt-center-api`,运行端在 `dt-center-api-server`。 - -## 六、元数据依赖:`tableColumnsMap` - -SQLParser 本身没有数据库连接,也不会主动访问元数据表;如需 `bindColumns` 返回真实字段类型、注释,调用方需先按 SQL 涉及的真实表查出元数据再传入。 - -```text -原始 SQL - -> 识别 SQL 涉及的真实表 - -> 上层查询元数据服务/元数据表 - -> 组装 Map> tableColumnsMap - -> parseParameterSql(..., tableColumnsMap) - -> bindColumns 返回真实 type/comment -``` - -| 阶段 | 是否需要真实元数据 | -|---|---| -| 配置期 `parseParameterSql` | 需要,用于回填 `bindColumns` 的类型与注释 | -| 运行期 `buildSqlByPrepareCompile` | 不需要,生成 `?` 与排列有序参数只依赖变量位置与顺序 | - -> 说明:`DataTypeColumn.type` 保持 `String`,承载的是**数据源方言的原始类型**(如 MySQL `BIGINT`、Hive `array`、Oracle `NUMBER(10,2)`)。SQLParser 只按「表名 + 字段名」匹配元数据后**原样回填**,不对类型做识别或归一化;为兼容不同数据源,这里不使用固定枚举。 - -## 七、实现思路(基于 Druid) - -SqlParserX 统一以 **Druid** 作为 AST 底座:语法层负责把 SQL 解析为 `SQLStatement`,业务层在此基础上完成变量识别与改写。 - -```text -SQL 文本 - -> Druid 解析(sqlparserx-syntax,构建 SQLStatement AST) - -> BaseSqlParser 转交 IParseParameterClient - -> BaseParseParameterClient(仅 SELECT) - 配置期 -> ParamParseService:按结构递归识别 ${变量} / 输出字段 - 运行期 -> PrepareSqlRewriter:克隆 AST、条件剪枝、${变量} -> ?、IN 展开、ORDER/GROUP 内联 - 生成 ParseParameterResult / PrepareCompileResult -``` - -要点: - -- **变量识别**:Druid 原生把 `${name}` 解析为 `SQLVariantRefExpr`,直接命中,**无需字符串占位替换、无需字符坐标**。 -- **改写方式**:在克隆后的 AST 上直接改写节点(`SQLVariantRefExpr.setName("?")`),用 `IdentityHashMap` 记录占位符绑定值,再按遍历顺序收集;渲染由 `SQLUtils.toSQLString` 完成。 -- **条件剪枝**:`WHERE / HAVING` 中缺值的可选条件在改写前移除。 -- **方言适配**:类型转换经 `ParamDataTypeTransfer` 由数据源覆盖;跨方言 `LIMIT/OFFSET` 改写尚未实现。 - -## 八、能力边界 - -| 边界项 | 说明 | -|---|---| -| 支持语句 | **仅 SELECT 查询**(SQL 转 API 需要输入参数 + 输出参数,非查询语句不支持) | -| 变量语法 | 支持 `${name}` 形式,不对带点号的调度变量(如 `${bdp.system.bizdate}`)直接支持 | -| 元数据 | 不连数据库、不查元数据,字段类型/注释依赖调用方传入 `tableColumnsMap` | -| 执行 | 只产出 SQL 与参数,不负责执行与结果包装 | -| 位置信息 | 当前返回 `sqlPart` 语义片段,公共模型未直接暴露 `{start, end}` 字符坐标 | -| 真实字段绑定 | 已支持普通表、schema/catalog、别名、JOIN 和裸字段唯一消歧;CTE/派生表/UNION 输出列穿透尚未实现 | -| 输出字段 | 只收集最外层结果结构;`*` 不展开,复杂输出表达式不做完整字段血缘解析 | -| 标识符变量 | `GROUP BY`/`ORDER BY` 变量直接作为标识符内联,业务层需使用白名单约束可选值 | -| 参数顺序 | 常见 SELECT 结构已覆盖;WINDOW 及部分跨方言分页结构不保证收集顺序与渲染顺序一致 | - -## 九、测试 - -| 项目 | 当前情况 | -|---|---| -| 通用测试 | `BaseParseParameterClientTest` 共 37 个场景,已加入 `BaseSuite` / `AllTestsSuite` | -| 输入/输出契约 | 全部 27 次 `parseParameterSql` 调用均断言准确的输入、输出数量;嵌套用例同时断言最外层输出名称 | -| 复杂嵌套 | 编号 18 覆盖多 CTE、派生表、JOIN、CTE 内 UNION、标量子查询及主查询 UNION,断言 8 个输入、7 个最终输出和 8 个运行期值 | -| 真实表定位 | 已覆盖 JOIN 两侧同名字段、元数据顺序交换、schema 表、裸字段唯一/歧义、内外层同名别名 | -| 预编译 | 已覆盖集合展开、条件剪枝、重复变量、占位符相对顺序及 MySQL/Doris 类型转换 | -| 定义侧取值 | 已覆盖 `inParams` 缺值时从 `ParamInfo.value/defaultValue` 回退,并继续按 `dataType` 转换 | -| 非 SELECT | 配置期根据 `isIgnoreSyntaxCheck` 忽略或拒绝;运行期直接拒绝 | -| 待补充 | CTE/派生表/UNION 字段穿透、复杂绑定表达式、WINDOW 顺序和跨方言分页 | - -最近验证(2026-10-13):参数专项 37 个通过;`AllTestsSuite` 114 个通过;core 与依赖模块常规全量 118 个通过。 - -## 十、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-10-10 | 拆分 `parseApiSql` 为 `parseParameterSql` / `buildSqlByPrepareCompile` 两方法;补充 SQL 转 API 定位、输入输出模型、Druid 实现思路与能力边界 | -| 2026-10-12 | 明确能力**仅支持 SELECT 查询**;更新实现现状(基于 Druid,非预留实现)与测试覆盖 | -| 2026-10-12 | `ApiParamSpan` 移除未使用的 `isOutLayer`/`isConst`/`constValue`;`ParamInfo` 增加 `sqlPart`(标明参数块来源片段) | -| 2026-10-13 | 新增参数真实表字段解析器,支持普通表别名、JOIN、schema/catalog 表、查询块作用域和裸字段唯一消歧 | -| 2026-10-13 | 修复复杂嵌套输出污染:隔离 CTE、派生表和表达式子查询内部投影,顶层 UNION 只取第一分支;编号 18 从错误的 30 个输出收敛为真实 7 个 | -| 2026-10-13 | 完善输入/输出数量契约、支持矩阵、能力边界及测试依据,并将参数测试纳入 `BaseSuite` | -| 2026-10-13 | 精简参数结果模型:`ApiParamSpan` 只保留输出字段属性,参数块状态收口为解析服务内部对象;`ParamInfo` 删除始终无有效值的 `constant/groupId` 及与 `imperative` 重复的 `required` | diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\345\255\227\346\256\265\350\241\200\347\274\230\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\345\255\227\346\256\265\350\241\200\347\274\230\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index 3e7981a..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\345\255\227\346\256\265\350\241\200\347\274\230\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,135 +0,0 @@ -# 通用解析能力 · 字段血缘解析支持情况 - -> 维护范围:`sqlparserx-core` 中基于 `BaseSqlParser` / `ColumnLineageClient` 的**通用字段血缘解析能力**。 -> 实现思路参考:[基于Druid实现字段血缘解析的核心思路](../../../../reference/sqlparserx核心解析层实现思路/基于Druid实现字段血缘解析的核心思路.md)。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../datasource/SQL解析能力&数据源支撑适配情况.md)。 - -## 用例示范(快速上手) - -```java -// 1. 获取解析器 -ISqlParser sqlParser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -// 2. 准备写入类 SQL -String sql = "INSERT INTO user_order_summary " - + "SELECT u.id AS user_id, sum(o.amount) AS total " - + "FROM users u JOIN orders o ON u.id = o.user_id GROUP BY u.id"; - -// 3. 准备真实表字段元数据(select * 场景需要,普通场景可传空 Map) -Map> tableColumnsMap = new HashMap<>(); -tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1))); -tableColumnsMap.put("orders", Arrays.asList(new Column("id", 0), new Column("amount", 1))); - -// 4. 调用字段血缘解析 -ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - -// 5. 读取结果 -result.printColumnLineage(); // users.id -> user_id;orders.amount -> total -``` - -## 一、实现目标 - -从 SQL 中推导**来源表.来源字段 → 目标表.目标字段**的字段级血缘关系。 - -核心思路:把「来源 select 字段列表」与「目标字段列表」各自归一为 `(真实字段, 别名字段, 真实表名)` 的三元组集合,再按固定匹配规则生成血缘。字段血缘的输入是插入/建表类 SQL,纯查询 SQL 不产生血缘。 - -```text -SQLInsertStatement / SQLCreateTableStatement(AS SELECT) - → ColumnLineageClient.parseColumnLineages - → 目标字段列表 + 来源 select 字段列表 - → addColumnRelations 逐条匹配 - → ColumnLineageResult -``` - -## 二、Core 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseColumnLineages(sql, tableColumnsMap)` | -| 默认实现 | `BaseSqlParser.parseColumnLineages` → `ColumnLineageClient` | -| 返回类型 | `ColumnLineageResult`(`columnRelations` + `columnLineages`) | -| 适用语句 | `SQLInsertStatement`、`SQLCreateTableStatement`(AS SELECT) | -| 元数据输入 | `Map> tableColumnsMap`(表 → 字段列表) | - -## 三、支持粒度与深度 - -### 3.1 字段场景 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| `catalog.db.table.column` 字段识别 | **已支持 ✅** | 支持 Hive/Trino/StarRocks 等多 catalog 场景 | -| `db.table.column` 字段识别 | **已支持 ✅** | MySQL/PostgreSQL 等标准用法 | -| 字段表达式计算(`SQLBinaryOpExpr`) | **已支持 ✅** | 如 `t5.level + 1`,左右递归收集字段 | -| `*` / `xx.*` 展开 | **已支持 ✅** | 依据元数据 `tableColumnsMap` 读取字段;无元数据保留 `*` | -| `select *` / `select t1.*` 优化 | **已支持 ✅** | 子查询场景拷贝下层 selectColumns | -| `case when ... end` | **已支持 ✅** | 遍历 when 结构,识别字段 vs 字面量 | -| 带函数(有参数/无参数) | **已支持 ✅** | `sum(o.id)`、`concat(...)`、`now()`,多字段以 `,` 合并 | -| 嵌套聚合子查询(`SQLQueryExpr`) | **已支持 ✅** | 如 `(select count(*) from t)`,有元数据时展开 | -| `SQLCaseExpr`(`case()`) | **已支持 ✅** | 仅收集内部 `SQLMethodInvokeExpr` 结果 | -| `in (xxx, xx)`(`SQLInListExpr`) | **已支持 ✅** | 处理 expr 与 targetList,整型等字面量不作为字段 | - -### 3.2 SQL 结构场景 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| `with as` 血缘 | **已支持 ✅** | 含递归 CTE;主查询 `select t1.*` 匹配处理 | -| `insert into ... select` | **已支持 ✅** | 含 `insert into table select * from (select *)` 嵌套 | -| `insert overwrite ... select` | **已支持 ✅** | Hive 覆盖写场景 | -| `create table ... as select` | **已支持 ✅** | 列名随 select 走 | -| `with as` 搭配 insert(上/下两种写法) | **已支持 ✅** | Doris 等 with 在下场景 | -| `select union` 合并 | **已支持 ✅** | 真实字段/真实表名按 `,` 合并,别名保留第一组 | -| union all 字段数量不匹配 | **已支持 ✅** | 记录日志不报错,按两组匹配合并 | -| 子查询 + union 结构 | **已支持 ✅** | 复用子查询与 union 逻辑 | -| LATERAL VIEW 表 | **已支持 ✅** | 复用内部 tableSource 逻辑 | - -### 3.3 识别深度 - -| 维度 | 深度 | -|---|---| -| 字段深度 | `catalog.db.table.column` ✅ | -| 表来源深度 | `catalog.db.table` ✅ | - -## 四、核心匹配规则 - -1. 目标端字段列表:优先取 `insert into xxx(col...)` 指定列;否则取元数据表字段;再否则取来源 select 的别名字段。 -2. 来源端字段列表:由主体 select 追溯汇总(子查询/CTE/union 归一)。 -3. 逐条匹配:来源端「真实表名 → 来源表」「真实字段 → 来源字段」,目标端「别名字段 → 目标字段」。 -4. 单列多字段(表格 `,` 合并)时,按 `,` 拆分为多条血缘记录。 -5. 无来源表/来源字段为字面量时不产生血缘。 - -## 五、未支持 / 待明确场景 - -| 场景 | 状态 | 说明 | -|---|---|---| -| JOIN `on` 条件字段是否计入血缘 | **待明确 ❌** | 如 `table1.id = table2.id`,是否作为字段血缘一部分未定义 | -| `case when end` 作为独立属性 | **待明确 ❌** | 是否单独成列未定义 | -| 无元数据的 `SELECT *` 完整展开 | **不支持 ❌** | 缺少元数据时无法保证完整展开 | - -## 六、元数据依赖 - -| 依赖项 | 说明 | -|---|---| -| `tableColumnsMap` | `*` 展开、目标字段补齐、子查询字段匹配均可能依赖表字段元数据 | -| 缺失影响 | 缺少元数据时 `*` 无法完整展开,可能保留 `*` 或退化为别名 | - -## 七、异常与边界 - -| 边界项 | 说明 | -|---|---| -| 目标字段多于来源字段 | 抛出 `血缘解析异常,sql写法问题` 运行时异常 | -| union 字段数量不匹配 | 兼容处理,记录日志并按两组匹配,不报错 | -| 无匹配源表 | 过滤,不生成血缘记录 | - -## 八、测试 - -| 项目 | 当前情况 | -|---|---| -| 通用测试 | `core/base/lineage/column`(CTAS、InsertSelect、WithAsInsert 等) | -| 数据源专项 | Doris 字段血缘专项(`DorisColumnLineageTest`) | -| 建议补充 | JOIN on 血缘、复杂嵌套表达式的专项用例 | - -## 九、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化通用字段血缘解析支持情况,整理字段/结构场景与识别深度 | \ No newline at end of file diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\350\241\250\350\241\200\347\274\230\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\350\241\250\350\241\200\347\274\230\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index d165b5e..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\350\241\250\350\241\200\347\274\230\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,114 +0,0 @@ -# 通用解析能力 · 表血缘解析支持情况 - -> 维护范围:`sqlparserx-core` 中基于 `BaseSqlParser` / `TableLineageClient` 的**通用表级别血缘解析能力**。 -> 实现思路参考:[基于Druid实现表级别血缘解析的核心思路](../../../../reference/sqlparserx核心解析层实现思路/基于Druid实现表级别血缘解析的核心思路.md)。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../datasource/SQL解析能力&数据源支撑适配情况.md)。 - -## 用例示范(快速上手) - -```java -// 1. 获取解析器 -ISqlParser sqlParser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -// 2. 准备写入类 SQL(select 查询不产生表血缘) -String sql = "CREATE TABLE user_order_summary AS " - + "SELECT u.id, o.amount FROM users u JOIN orders o ON u.id = o.user_id"; - -// 3. 调用表血缘解析 -TableLineageResult result = sqlParser.parseTableLineages(sql); - -// 4. 读取结果 -List lineages = result.getTableLineages(); -System.out.println(lineages); // users -> user_order_summary;orders -> user_order_summary -``` - -## 一、实现目标 - -从 SQL 中推导**来源表 → 目标表**的表级血缘关系。表血缘只认同「有写入」的语句,即 `insert` 与 `create table ... as select`;纯查询 `select` 不产生表血缘。 - -```text -SQLInsertStatement / SQLCreateTableStatement(AS SELECT) - → TableLineageClient.parseTableLineages - → 目标表 + 来源表集合(SelectTableSpecialLineageService 追溯) - → TableRelation 集合 - → TableLineageResult -``` - -表血缘与字段血缘共享同一套 `select` 追溯逻辑,二者思路可互相搭配。 - -## 二、Core 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseTableLineages(String sql)` | -| 默认实现 | `BaseSqlParser.parseTableLineages` → `TableLineageClient` | -| 返回类型 | `TableLineageResult`(目标表 + 来源表集合 + `TableRelation`) | -| 适用语句 | `SQLInsertStatement`、`SQLCreateTableStatement`(AS SELECT) | -| 共享服务 | `SelectTableSpecialLineageService`(from/with as 追溯) | - -## 三、支持粒度与深度 - -### 3.1 SQL 结构场景 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| from 普通表(`SQLExprTableSource`) | **已支持 ✅** | `真实表名 ←→ 表别名` 直接映射 | -| join 场景(`SQLJoinTableSource`) | **已支持 ✅** | 多组 from 合并,如 `table4 t4 left join table5 t5` | -| from 子查询(`SQLSubqueryTableSource`) | **已支持 ✅** | 子查询真实表与别名 `t34` 建立映射 | -| select union 场景 | **已支持 ✅** | 每个 union 分支独立追溯后合并 | -| union all 子查询(`SQLUnionQueryTableSource`) | **已支持 ✅** | 复用 union 查询逻辑 | -| 子查询 + union 结构 | **已支持 ✅** | 复用子查询与 union 逻辑 | -| LATERAL VIEW 表源(`SQLLateralViewTableSource`) | **已支持 ✅** | 复用内部 tableSource 逻辑 | -| `with as` 表映射 | **已支持 ✅** | CTE 别名替换为真实表 | -| `with as insert into/overwrite` | **已支持 ✅** | 主体 select 引用 CTE 别名时替换 | -| 递归 CTE | **已支持 ✅** | 过滤别名自身引用,避免自血缘 | - -### 3.2 字段内部场景 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| 字段中嵌套子查询(`SQLQueryExpr`) | **已支持 ✅** | 如 `(select max(col1) from table5 t5) as col2`,可追溯真实表 | - -### 3.3 识别深度 - -| 维度 | 深度 | -|---|---| -| 表识别深度 | `catalog.db.table` ✅ | -| 来源表合并 | 子查询/union 的多个真实表以 `,` 合并,展开为多条来源表 | - -## 四、核心流程 - -1. 取目标表(主表)。 -2. 取主体查询的一组来源表,归一为 `真实表名 ↔ 表别名`。 -3. 若为 `with as` 结构:构建 `别名 → 一组来源表` 映射,替换主体中引用 CTE 的别名,并补齐未在主查询使用但已定义的 CTE 来源表。 -4. 来源表集合与目标表两两组合,生成 `TableRelation`。 - -## 五、方言策略 - -| 策略 | 说明 | 启用数据源 | -|---|---|---| -| `CTE_FORWARD_REFERENCE` | CTE 前向引用:允许 CTE 引用后面定义的 CTE | Doris | -| 默认策略 | 不开启上述策略时按标准 CTE 顺序解析 | 其他数据源 | - -## 六、能力边界 - -| 边界项 | 说明 | -|---|---| -| 仅写入语句 | `select` 查询本身不产生表血缘 | -| 只解析一层 | 表血缘为直接来源关系,不做跨语句递归串联 | -| `where ... in` 子查询表 | 属于间接影响/条件依赖,不计入直接表血缘(表解析可识别) | -| CTE 前向引用 | 需数据源显式开启策略,默认不开启 | - -## 七、测试 - -| 项目 | 当前情况 | -|---|---| -| 通用测试 | `core/base/lineage/table`(CTAS、InsertSelect、WithAsInsert 等) | -| 数据源专项 | Doris 表血缘专项(`DorisTableLineageTest`),覆盖 CTE 前向引用 | -| 建议补充 | join、lateral view、字段嵌套子查询的专项用例 | - -## 八、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化通用表血缘解析支持情况,整理结构场景、识别深度与方言策略 | \ No newline at end of file diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\350\241\250\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\350\241\250\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index 26075d0..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\350\241\250\350\247\243\346\236\220\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,138 +0,0 @@ -# 通用解析能力 · 表解析支持情况 - -> 维护范围:`sqlparserx-core` 中基于 `BaseSqlParser` / `ParseTablesClient` / `ParseCreateTableClient` 的**通用表解析能力**,包含真实表解析与 CREATE TABLE 结构解析。 -> 实现思路参考:[基于Druid实现表解析实现](../../../../reference/sqlparserx核心解析层实现思路/基于Druid实现表解析实现.md)。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../datasource/SQL解析能力&数据源支撑适配情况.md)。 - -## 用例示范(快速上手) - -```java -// 1. 获取解析器(工厂方式;也可直接 new MySqlParser()) -ISqlParser sqlParser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -// 2. 准备 SQL -String sql = "CREATE TABLE user_order_summary AS " - + "SELECT u.id AS user_id, o.amount FROM users u JOIN orders o ON u.id = o.user_id"; - -// 3. 调用表解析 -ParseTableResult result = sqlParser.parseTables(sql); - -// 4. 读取结果 -System.out.println(result.getMainTable()); // 主表 -System.out.println(result.getAllTableName()); // 全部真实表名 -System.out.println(result.getAllTables()); // 全部表对象(catalog/db/name) -``` - -建表结构解析(CREATE TABLE)同理,入口为 `sqlParser.parseCreateTable(sql)`,返回字段、键、分区、分桶等结构。 - -## 一、实现目标 - -| 能力 | 目标 | -|---|---| -| 真实表解析 | 从任意受支持语句中解析出主表与全部真实表 | -| CREATE TABLE 解析 | 将建表语句解析为字段、键、分区、分桶、properties 等结构 | - -真实表解析的 `select` 追溯逻辑与表血缘**共享**:普通 `select ... from`、字段中嵌套 `select max(id) from tables` 等,都复用表血缘的 `select` 追溯过程来定位真实表。区别在于真实表解析覆盖的 SQL 结构**多于**表血缘。 - -## 二、Core 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| 真实表入口 | `ISqlParser.parseTables(String sql)` | -| 建表入口 | `ISqlParser.parseCreateTable(String sql)` | -| 默认实现 | `BaseSqlParser` → `ParseTablesClient` / `ParseCreateTableClient` | -| 结果类型 | `ParseTableResult`(`mainTable` + `allTables`)、`ParseCreateTableResult` | -| 共享服务 | `ParseSelectTableService`(from/with as 追溯,与表血缘同源) | - -## 三、真实表解析支持粒度 - -### 3.1 语句类型 - -| 语句 | 支持情况 | 说明 | -|---|---|---| -| `SELECT` | **已支持 ✅** | 主体查询追溯真实表 | -| `INSERT` | **已支持 ✅** | 目标表 + 来源表;含 `with as`(上/下两种写法) | -| `UPDATE` | **已支持 ✅** | 提取目标表 | -| `DELETE` | **已支持 ✅** | 提取目标表 | -| `CREATE TABLE`(含 AS SELECT) | **已支持 ✅** | 目标表 + `select` 来源表 | -| `DROP TABLE` | **已支持 ✅** | 提取全部表 | -| `TRUNCATE TABLE` | **已支持 ✅** | 提取全部表 | -| `COMMENT ON TABLE/COLUMN` | **已支持 ✅** | 解析注释目标表 | -| `RENAME TABLE` | **方言增强 ✅** | MySQL 通过 `MysqlParseTablesClient` 识别 `MySqlRenameTableStatement` | - -### 3.2 表来源结构(与表血缘共用) - -| 结构 | 支持情况 | -|---|---| -| from 普通表(`SQLExprTableSource`) | **已支持 ✅** | -| join(`SQLJoinTableSource`) | **已支持 ✅** | -| 子查询(`SQLSubqueryTableSource`) | **已支持 ✅** | -| union / union 子查询(`SQLUnionQueryTableSource`) | **已支持 ✅** | -| LATERAL VIEW 表源(`SQLLateralViewTableSource`) | **已支持 ✅** | -| `with as` / 递归 CTE | **已支持 ✅** | - -### 3.3 识别深度 - -| 维度 | 深度 | -|---|---| -| 表识别深度 | `catalog.db.table` ✅ | -| 结果拆分 | `mainTable` 为主表,`allTables` 含全部真实表 | - -## 四、CREATE TABLE 解析支持粒度 - -| 项目 | 支持情况 | 说明 | -|---|---|---| -| `IF NOT EXISTS` | **已支持 ✅** | `isNotExists` | -| db / 表名 / 表注释 | **已支持 ✅** | `db`、`tableName`、`tableComment` | -| 字段列定义 | **已支持 ✅** | `tableElementList` | -| 分区字段(无类型) | **已支持 ✅** | `partitionedByList` | -| 表键(主键/唯一/聚合/重复) | **已支持 ✅** | `tableKey`,方言可覆盖 `dealTableKey` | -| 分桶(bucket num + 分布列) | **已支持 ✅** | `tableDistributedBuckets`,方言可覆盖 `dealDistributeByColumns` | -| 分区(范围/列表等) | **已支持 ✅** | `tablePartition`,含分区元素 | -| 表 properties | **已支持 ✅** | `properties` | -| 动态分区 | **方言增强 ✅** | Doris 开启 `isDynamicPartitionEnabled` 并识别 `dynamic_partition.enable` | - -## 五、单独实现逻辑场景 - -| 场景 | 处理方式 | 说明 | -|---|---|---| -| `where ... in (子查询)` 中的表 | **表解析可识别 ✅** | 该类表属于间接影响/条件依赖,不作为直接表血缘,但表解析提供获取其真实表的能力 | - -示例: - -```sql -CREATE TABLE test_2a AS -SELECT cust_name, cust_contact -FROM Customers -WHERE cust_id IN (SELECT cust_id - FROM Orders - WHERE order_num IN (SELECT order_num - FROM OrderItems - WHERE prod_id = 'RGAN01')); -``` - -`Orders`、`OrderItems` 可被真实表解析识别。 - -## 六、能力边界 - -| 边界项 | 说明 | -|---|---| -| 真实表 vs 血缘 | 真实表解析覆盖语句多于表血缘;`where in` 子查询表计入表解析但不计入直接血缘 | -| 建表结构方言差异 | 键类型、分桶、分区由方言 Client 覆盖,Base 提供通用实现 | -| 未识别语句 | 未在 `ParseTablesClient.parseTables` 分发的语句类型不产生结果 | -| 元数据无关 | 表解析本身不依赖字段元数据 | - -## 七、测试 - -| 项目 | 当前情况 | -|---|---| -| 通用测试 | `core/base/tables/BaseParseTablesTest` | -| 数据源专项 | Doris 建表专项(`DorisCreateTableTest`) | -| 方言增强 | MySQL `RENAME TABLE`、StarRocks/Doris 建表增强 | -| 建议补充 | `where in` 子查询、update/delete、comment 的专项用例 | - -## 八、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-09-28 | 初始化通用表解析支持情况,整理语句类型、表来源与建表结构粒度 | \ No newline at end of file diff --git "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\350\247\243\346\236\220sql\347\261\273\345\236\213\346\224\257\346\214\201\346\203\205\345\206\265.md" "b/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\350\247\243\346\236\220sql\347\261\273\345\236\213\346\224\257\346\214\201\346\203\205\345\206\265.md" deleted file mode 100644 index ae77741..0000000 --- "a/docs/02\343\200\201SQL\344\270\232\345\212\241\345\261\202\350\247\243\346\236\220\350\203\275\345\212\233\346\224\257\346\222\221\346\203\205\345\206\265/\350\203\275\345\212\233\346\224\257\346\214\201\346\203\205\345\206\265/\351\200\232\347\224\250\350\247\243\346\236\220\350\203\275\345\212\233/\350\247\243\346\236\220sql\347\261\273\345\236\213\346\224\257\346\214\201\346\203\205\345\206\265.md" +++ /dev/null @@ -1,187 +0,0 @@ -# 通用解析能力 · SQL 类型解析支持情况 - -> 维护范围:`sqlparserx-core` 中基于 `ISqlParser` / `IParseSqlTypeClient` / `BaseParseSqlTypeClient` -> 的 SQL 业务类型判定能力。 -> Core 入口:`ISqlParser.parseSqlType(String)` / `ISqlParser.parseSqlType(SQLStatement)`。 -> 上层汇总入口见 [SQL解析能力&数据源支撑适配情况.md](../datasource/SQL解析能力&数据源支撑适配情况.md)。 - -## 用例示范(快速上手) - -```java -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -SqlType query = parser.parseSqlType("select * from user_info"); -SqlType cte = parser.parseSqlType("with u as (select 1) select * from u"); -SqlType createAs = parser.parseSqlType("create table t2 as select * from t1"); - -System.out.println(query); // QUERY -System.out.println(cte); // WITH_QUERY -System.out.println(createAs); // CREATE_AS -``` - -该能力返回面向业务的 `SqlType`,用于路由解析能力、选择执行策略或做语句准入控制。它不返回表、字段或血缘信息。 - -## 一、实现目标与判定原则 - -SQL 类型解析先由当前数据源的语法解析器把 SQL 文本转换成 Druid `SQLStatement`,再依据 AST 节点的实际类型进行分派: - -```text -SQL 文本 - -> 当前数据源 SqlSyntaxParser.parseStatement - -> Druid SQLStatement - -> BaseParseSqlTypeClient.parseSqlType - -> instanceof 精确分派 - -> SqlType;未命中返回 OTHER -``` - -这里不使用 SQL 前缀、正则或字符串包含关系判断,因此换行、注释和关键字大小写不会改变已经成功解析出的 AST 类型。方言是否能解析某条语句,以及同一文本会生成哪种 AST,由当前解析器的 Druid `DbType` 决定。 - -## 二、Core 入口与扩展位置 - -| 项目 | 内容 | -|---|---| -| 文本入口 | `ISqlParser.parseSqlType(String sql)` | -| AST 入口 | `ISqlParser.parseSqlType(SQLStatement sqlStatement)` | -| 默认实现 | `BaseSqlParser` → `IParseSqlTypeClient` → `BaseParseSqlTypeClient` | -| 返回类型 | `SqlType` | -| 未识别节点 | 返回 `SqlType.OTHER` | -| 空 AST | 返回 `SqlType.OTHER` | -| 方言扩展 | 数据源 Parser 可覆盖 `getParseSqlTypeClient()`,或继承 Client 覆盖细分类方法 | - -文本入口只负责使用当前方言构建 AST,随后与 AST 入口走同一套分类逻辑。SQL 文本语法错误由语法解析层抛出,不会被转换成 `OTHER`;`OTHER` 表示 AST 已生成,但当前业务分类未收录该节点类型。 - -## 三、SQL 类型支持矩阵 - -### 3.1 查询与数据操作 - -| SQL 形态 | `SqlType` | 支持情况 | 判定依据 | -|---|---|---|---| -| `SELECT ... FROM ...` | `QUERY` | **已支持 ✅** | `SQLSelectStatement`,普通主体查询 | -| `SELECT 1` 等无 FROM 查询 | `QUERY_NO_FROM` | **已支持 ✅** | 主体为 `SQLSelectQueryBlock` 且 `from == null` | -| `WITH ... SELECT ...` | `WITH_QUERY` | **已支持 ✅** | `SQLSelect#getWithSubQuery()` 非空 | -| `INSERT` | `INSERT` | **已支持 ✅** | `SQLInsertStatement` | -| `UPDATE` | `UPDATE` | **已支持 ✅** | `SQLUpdateStatement` | -| `DELETE` | `DELETE` | **已支持 ✅** | `SQLDeleteStatement` | -| `TRUNCATE` | `TRUNCATE` | **已支持 ✅** | `SQLTruncateStatement` | -| `MERGE INTO` | `MERGE_INTO` | **已支持 ✅** | `SQLMergeStatement` | -| `BEGIN ... END` / block | `BEGIN_END` | **已支持,依赖方言 ⚠️** | `SQLBlockStatement` / `SQLBeginStatement` | - -查询分类的优先级为 `WITH_QUERY` → `QUERY_NO_FROM` → `QUERY`。因此带 CTE 的无 FROM 主查询仍返回 `WITH_QUERY`。 - -### 3.2 建表、视图与通用 DDL - -| SQL 形态 | `SqlType` | 支持情况 | 说明 | -|---|---|---|---| -| `CREATE TABLE` | `CREATE` | **已支持 ✅** | 普通建表 | -| `CREATE TABLE ... AS SELECT` | `CREATE_AS` | **已支持 ✅** | `select != null` 优先判定 | -| `CREATE TABLE ... LIKE ...` | `CREATE_LIKE` | **已支持 ✅** | `like != null` | -| `CREATE TEMPORARY TABLE` | `CREATE_TEMP` | **已支持 ✅** | `isTemporary()` | -| `CREATE VIEW ... AS SELECT` | `CREATE_AS` | **已支持 ✅** | 当前将带子查询的建视图统一归到 `CREATE_AS` | -| 无子查询的 `CREATE VIEW` AST | `CREATE_VIEW` | **已支持 ✅** | `subQuery == null` | -| `DROP TABLE` / `DROP VIEW` | `DROP` | **已支持 ✅** | 两者共用业务类型 | -| `COMMENT ON` | `COMMENT_ON` | **已支持,依赖方言 ⚠️** | `SQLCommentStatement` | -| 未细分的 `ALTER TABLE` | `ALTER` | **已支持 ✅** | alter item 未命中细分类时兜底 | - -建表细分优先级为 `CREATE_AS` → `CREATE_LIKE` → `CREATE_TEMP` → `CREATE`。如果某个方言 AST 同时具有多个标记,返回最先命中的业务类型。 - -### 3.3 ALTER TABLE 细分 - -| DDL 操作 | `SqlType` | 支持情况 | -|---|---|---| -| 重命名表 | `ALTERTABLE_RENAME` | **已支持 ✅** | -| 重命名字段 | `ALTERTABLE_RENAMECOL` | **已支持 ✅** | -| 增加字段 | `ALTERTABLE_ADDCOLS` | **已支持 ✅** | -| 替换字段 | `ALTERTABLE_REPLACECOLS` | **已支持,依赖方言 ⚠️** | -| 增加分区 | `ALTERTABLE_ADDPARTS` | **已支持,依赖方言 ⚠️** | -| 删除分区 | `ALTERTABLE_DROPPARTS` | **已支持,依赖方言 ⚠️** | -| 重命名分区 | `ALTERTABLE_RENAMEPART` | **已支持,依赖方言 ⚠️** | -| 其他 ALTER TABLE | `ALTER` | **兜底 ✅** | - -一个 `ALTER TABLE` 如果包含多个 alter item,当前按 item 顺序返回第一个可识别细分类,不组合返回多个类型。 - -### 3.4 SHOW、DESCRIBE 与 EXPLAIN - -| SQL 形态 | `SqlType` | 支持情况 | -|---|---|---| -| `SHOW TABLES` | `SHOW_TABLES` | **已支持 ✅** | -| `SHOW CREATE TABLE` | `SHOW_CREATETABLE` | **已支持 ✅** | -| `SHOW COLUMNS` | `SHOW_COLUMNS` | **已支持,依赖方言 ⚠️** | -| `SHOW FUNCTIONS` | `SHOW_FUNCTION` | **已支持,依赖方言 ⚠️** | -| 其他 `SHOW` | `SHOW` | **兜底 ✅** | -| `SHOW DATABASES` | `DATABASE_SHOW` | **已支持 ✅** | -| `DESCRIBE DATABASE` | `DATABASE_DESC` | **已支持,依赖方言 ⚠️** | -| `DESCRIBE TABLE` | `DESC_TABLE` | **已支持,依赖方言 ⚠️** | -| `EXPLAIN` / `EXPLAIN ANALYZE` | `EXPLAIN` | **已支持 ✅** | - -同一关键字在不同方言中可能对应不同 AST。例如 MySQL 的 `DESC t1` 会被 Druid 解析为执行计划语句,因此返回 `EXPLAIN`;PostgreSQL 方言下测试使用 `DESCRIBE t1`,对应 `SQLDescribeStatement`,返回 `DESC_TABLE`。 - -### 3.5 物化视图、函数、过程与数据库 - -| SQL 形态 | `SqlType` | 支持情况 | -|---|---|---| -| 创建物化视图 | `CREATE_MATERIALIZED_VIEW` | **已支持,依赖方言 ⚠️** | -| 删除物化视图 | `DROP_MATERIALIZED_VIEW` | **已支持,依赖方言 ⚠️** | -| 修改物化视图 | `ALTER_MATERIALIZED_VIEW` | **已支持,依赖方言 ⚠️** | -| 刷新物化视图 | `REFRESH_MATERIALIZED_VIEW` | **已支持,依赖方言 ⚠️** | -| 查看物化视图 | `SHOW_MATERIALIZED_VIEW` | **已支持,依赖方言 ⚠️** | -| 查看物化视图建语句 | `SHOW_CREATE_MATERIALIZED_VIEW` | **已支持,依赖方言 ⚠️** | -| 创建函数 | `CREATE_FUNCTION` | **已支持,依赖方言 ⚠️** | -| 删除函数 | `DROP_FUNCTION` | **已支持,依赖方言 ⚠️** | -| `CALL` / SQL Server `EXEC` | `PROCEDURE_EXEC` | **已支持,依赖方言 ⚠️** | -| 创建数据库 | `DATABASE_CREATE` | **已支持 ✅** | -| 删除数据库 | `DATABASE_DROP` | **已支持 ✅** | - -“依赖方言”表示分类分支已实现,前提是所选数据源的 Druid Parser 能把输入解析成对应 AST 节点;它不代表所有已接入数据源都接受同一种语法文本。 - -## 四、返回值约定 - -`SqlType` 同时保存枚举名、业务标识字符串 `type` 和整数编码 `value`: - -```java -SqlType type = parser.parseSqlType(sql); -type.name(); // 例如 WITH_QUERY -type.getType(); // 例如 "with_query" -type.getValue(); // 例如 49 -``` - -- `SqlType.getByType(String)` 忽略大小写并去除首尾空白,未匹配返回 `OTHER`。 -- `SqlType.getByValue(Integer)` 按枚举声明顺序匹配,未匹配返回 `OTHER`。 -- 当前 `CREATE_TEMP` 与 `COMMENT_ON` 的整数编码都为 `200`;按值反查会先得到 `CREATE_TEMP`。需要无歧义持久化或传输时应优先使用枚举名或 `type` 字符串。 -- `QUERY_NO_FROM` 的历史业务标识为 `"xxx"`,当前保持兼容;业务侧不应根据枚举名自行推导 `type`。 - -## 五、能力边界 - -| 边界项 | 说明 | -|---|---| -| 类型识别粒度 | 返回一条语句的单一主类型,不返回复合类型集合 | -| 多语句文本 | 文本入口使用单语句解析入口;需要批量分类时应先拆成多个 `SQLStatement` 后逐个调用 AST 入口 | -| 语法错误 | 由当前方言的语法解析层抛出,不会返回 `OTHER` | -| 未支持 AST | 已成功解析但没有分类分支的语句返回 `OTHER`,例如当前测试中的 `GRANT` | -| 方言差异 | 分类依据 AST 类型;同一文本在不同方言下可能解析失败或得到不同分类 | -| ALTER 多动作 | 只返回首个被识别的 alter item 类型 | -| CREATE VIEW | 带查询的建视图当前统一返回 `CREATE_AS`,不会返回 `CREATE_VIEW` | -| DROP | 普通表与普通视图统一返回 `DROP` | -| 业务编码 | `value` 存在历史重复值,按值反查并非所有枚举都可逆 | - -## 六、测试与验证 - -| 项目 | 当前情况 | -|---|---| -| 测试类 | `core/base/sqltype/BaseParseSqlTypeClientTest`,共 6 个测试方法 | -| 查询/DML | 覆盖普通查询、无 FROM、WITH、INSERT、UPDATE、DELETE、TRUNCATE | -| DDL | 覆盖 CREATE、CTAS、LIKE、TEMP、DROP、增加列、重命名列和 ALTER 兜底 | -| 描述类 | 覆盖 SHOW TABLES、SHOW CREATE TABLE、EXPLAIN,以及 MySQL/PostgreSQL 的 DESC 差异 | -| 方言场景 | 覆盖 Oracle COMMENT/CREATE VIEW、PostgreSQL MERGE INTO | -| 两种入口 | 覆盖 SQL 文本入口及 `SQLStatement` AST 入口 | -| 兜底 | 覆盖未分类的 GRANT 返回 `OTHER` | -| 聚合套件 | 已加入 `BaseSuite`,并通过 `AllTestsSuite` 执行 | - -最近验证(2026-10-13):`AllTestsSuite` 114 个通过;core 与依赖模块常规全量 118 个通过。 - -## 七、变更记录 - -| 日期 | 变更 | -|---|---| -| 2026-10-12 | 新增 `SqlType`、`IParseSqlTypeClient` 与基于 Druid AST 的默认分类实现,提供文本和 AST 两种入口 | -| 2026-10-13 | 补充查询、DML、DDL、SHOW/DESCRIBE/EXPLAIN 与方言差异测试,并加入 `BaseSuite` | -| 2026-10-13 | 完善支持矩阵、判定优先级、返回值约定、方言依赖、历史编码兼容和能力边界 | diff --git a/docs/about/architecture.html b/docs/about/architecture.html new file mode 100644 index 0000000..c5bc98d --- /dev/null +++ b/docs/about/architecture.html @@ -0,0 +1,18 @@ +架构设计 | SqlParserX + + +
版本:1.0

SqlParserX 双层统一扩展架构

+

SqlParserX 的解析内核由两套相互衔接、结构对称的扩展体系组成,分别落在两个独立 Jar Module:

+
    +
  • SQL 语法解析层(sqlparserx-syntax):基于官方 Druid,通过统一的方言路由、Parser 基座和 AST 模型,扩展不同数据源的 Lexer、StatementParser 与 AST Node。
  • +
  • SqlParserX 业务解析层(sqlparserx-core):通过统一的方言路由、ISqlParser 契约和业务 Client,扩展不同数据源的表解析、血缘解析与 SQL 改写逻辑。
  • +
+

两层都遵循“统一入口 → 通用基座 → 统一扩展点 → 数据源实现 → 统一结果”的模式。新增数据源时,语法差异在 Druid 层扩展,业务差异在 SqlParserX 层扩展,上下两层通过 DbType 和 Druid AST 对齐。

+

SqlParserX 双层统一扩展架构

+

总体架构​

+ +

两层职责​

+
统一扩展阶段SQL 语法解析层(sqlparserx-syntax)SqlParserX 业务解析层(sqlparserx-core)
统一方言路由SqlSyntaxParserFactory 按 DbType 选择对应语法方言SqlParserFactory 根据同一个 DbType 选择业务解析器
通用基座通用 Lexer、StatementParser 和 ASTISqlParser、BaseSqlParser 和 Base Client
统一扩展点方言 Lexer、方言 StatementParser、方言 AST NodeIParseTableClient、IColumnLineageClient、ITableLineageClient、解析策略等
数据源实现MySQL、Doris、Oracle、Hive 等 Druid 方言实现MySQL、Doris、StarRocks、Hive 等业务方言实现
统一结果SQLStatement AST表、建表结构、字段血缘、表血缘、函数及改写后的 SQL
+

模块依赖​

+
Access: sqlparserx-web (REST) / sqlparserx-ui
│ unified ISqlParser contract
Business layer: sqlparserx-core
│ SQL + DbType / SQLStatement AST
Syntax layer: sqlparserx-syntax (Druid 1.2.28)
+

业务扩展遵循 SqlParserFactory → ISqlParser → BaseSqlParser → 方言实现的模式。完整的模块依赖与包结构见 sqlparserx-core 模块的 README。

\ No newline at end of file diff --git a/docs/about/introduction.html b/docs/about/introduction.html new file mode 100644 index 0000000..b888a70 --- /dev/null +++ b/docs/about/introduction.html @@ -0,0 +1,17 @@ +SqlParserX 介绍 | SqlParserX + + +
版本:1.0

SqlParserX 介绍

+

SqlParserX 是一个多方言 SQL 解析引擎与工具包,提供 SQL 类型识别、表/DDL 解析、表与字段血缘、函数提取以及参数提取与预编译能力。

+

解决的典型问题​

+
问题方案
不同 SQL 方言语法差异大通过 DbType 路由 Druid 方言,统一 AST
真实表与 DDL 藏在 SQL 文本中表、CTE、CREATE TABLE、分区与属性解析
数据依赖难以追踪覆盖 JOIN、UNION、子查询、聚合与 CTE 的表/字段血缘
脚本中包含多条语句SQL 拆分与语法校验
权限谓词难以维护行级权限 SQL 改写
+

模块组成​

+
模块层次说明技术栈
sqlparserx-syntax语法解析层SQL 转 AST、校验、拆分与 Druid 方言扩展Java 8 + Druid 1.2.28
sqlparserx-core业务解析层表、血缘、DDL、函数与 SQL 改写Java 8 + sqlparserx-syntax
sqlparserx-web访问层Spring Boot REST 服务Spring Boot 2.3.12 + Java 8
sqlparserx-ui访问层血缘可视化与在线解析工具Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5
+

数据源支持​

+
数据源支持说明
MySQL重点支持,增强 RENAME TABLE 处理
Doris重度支持,DDL 与血缘有专项测试
StarRocks支持独立的 DISTRIBUTED BY 与关键 DDL
Hive / ClickHouse / Oracle / DM已注册解析器,通用业务实现
+

完整的语法层与业务层支撑矩阵见核心解析能力使用与项目 docs/ 目录下的能力支持文档。

+

延伸阅读​

+
\ No newline at end of file diff --git "a/docs/blogs/20260928\357\274\232SqlParserX\347\232\204\350\257\236\347\224\237\350\265\267\346\272\220\350\203\214\346\231\257&\345\206\205\351\203\250\346\224\271\351\200\240.md" "b/docs/blogs/20260928\357\274\232SqlParserX\347\232\204\350\257\236\347\224\237\350\265\267\346\272\220\350\203\214\346\231\257&\345\206\205\351\203\250\346\224\271\351\200\240.md" deleted file mode 100644 index 3cd4700..0000000 --- "a/docs/blogs/20260928\357\274\232SqlParserX\347\232\204\350\257\236\347\224\237\350\265\267\346\272\220\350\203\214\346\231\257&\345\206\205\351\203\250\346\224\271\351\200\240.md" +++ /dev/null @@ -1,444 +0,0 @@ -# SqlParserX 的诞生起源背景 - -> 作者:changlu | 日期:2026-09-28 -> -> 这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 -> 项目地址与使用方式见根目录 [README](../../README.md),双层架构设计见 [双层架构设计](../架构设计/架构设计.md)。 - ---- - -## 一、为什么需要懂解析器 - -### 1.1 什么是解析器 - -解析器是计算机科学和编程语言领域中至关重要的工具,其核心作用是**将人类可理解的「形式化语言」(如代码、数据格式、表达式等)转换为机器可处理的结构**,从而实现信息的解析、验证和后续处理。 - -人类使用的语言(无论是编程语言如 Python、数据格式如 JSON,还是查询语句如 SQL)本质是**结构化的字符串**,但机器无法直接理解这种字符串的逻辑含义。 - -例如,程序员写的 `x = (a + b) * 3` 是一串字符,但机器需要知道这是「先算 `a + b`,再乘以 3,最后赋值给 `x`」的运算逻辑。解析器把这个字符串解析为一棵语法树,再按规则一步步运算。 - -```sql -// 解析器 扫描解析方程 x = (a + b) * 3 得到的语法树 AST - - [=] - / \ - [x] [*] - / \ - [+] [3] - / \ - [a] [b] - -解释执行步骤: -1、从根节点 = 开始,表示这是一个赋值操作。 -2、左子树 x 是赋值目标,右子树 * 是计算内容。 -3、计算 * 时,先计算左子树 +(a + b),再乘以右子树 3。 -4、最后将结果赋值给 x。 -``` - -编程语言同理,如 C、Java 等都有特定的语法规则,通过解析器把代码转为 AST 语法树,再编译字节码、机器码来执行。 - -```sql -// 解析器 扫描解析 Java 代码 if (x > 0) { y = 10; } 得到的语法树 AST - [if] - / \ - [>] [block] - / \ \ -[x] [0] [=] - / \ - [y] [10] - -解析执行步骤: -1、根节点 if 表示条件判断。 -2、先计算条件 >(x > 0),如果为真: -3、进入 block 执行内部语句 y = 10。 -4、如果为假,跳过整个 block。 -``` - -**解析器的作用**,就是把这种字符串「拆解」为有意义的语法结构(如抽象语法树 AST),让机器能按规则执行。 - -### 1.2 如何实现解析器 - -在编译器实现中,主要要做的是**词法分析和语法分析**: - -- **词法分析**:解析代码并生成 Token(一个单词的字面和它的种类及语义值)序列,实现一般称为扫描器(Scanner)。核心逻辑是定义 token(语义)与 scanner(扫描 token)。 -- **语法分析**:利用扫描器生成的 Token 序列生成抽象语法树,实现一般称为解析器(Parser)。核心逻辑是进行语法检查,并构建由输入单词组成的层次化数据结构(语法分析树、抽象语法树等)。 - -```sql -数学表达式:1 + 2 * 3 - -// 首先在进行词法、语法分析前,我们先定义好 token -单词字面 Token 类型 说明 -1 INTEGER 整数 1 -+ ADD_OP 加法运算符 -2 INTEGER 整数 2 -* MUL_OP 乘法运算符 -3 INTEGER 整数 3 - -// 1、词法分析:从前往后扫描得到一组 Token 流 -[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)] - -// 2、语法分析:根据运算符优先级(* 优先于 +)和 Token 流构建 AST - [+] - / \ - 1 [*] - / \ - 2 3 -``` - -实现一种规则的解析器有两种方式: - -- **方式一**:不依赖任何工具,手写扫描器和解析器。 -- **方式二**:使用现成的解析器生成器(Yacc、ANTLR、JavaCC 等),根据自定义语法规则文件自动生成解析器代码,从而专注于语法规则设计。 - -### 1.3 什么是 SQL 解析器 - -SQL 解析器是**能够将 SQL 语句转换为计算机可理解和执行结构的程序组件**。它将文本形式的 SQL 转换为抽象语法树(AST),为后续的查询优化和执行提供基础。通俗地说,就是能对 SQL 进行解析、转换成语法树的工具。 - -```sql -# 查询 -SELECT * FROM users WHERE status = 'active'; -# 插入 -INSERT INTO customers (name, email) VALUES ('李四', 'lisi@example.com'); -# 更新 -UPDATE products SET price = 5999 WHERE id = 1001; -# 删除 -DELETE FROM logs WHERE create_time < '2024-01-01'; -# 创建表 -CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2)); -# 修改表 -ALTER TABLE employees ADD COLUMN department VARCHAR(20); -# 删除表 -DROP TABLE temp_data; -# 授权 -GRANT SELECT ON customers TO user1; -``` - -### 1.4 SQL 解析位于整条链路的哪个位置 - -常见数据库执行 SQL 的整个过程: - -```text -SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 语义分析 → 优化SQL → 产生执行计划/执行任务 -``` - -而 SQL 解析中间件关注的是 AST 之后的应用层能力: - -```text -SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 应用层(类型识别、表字段血缘、表解析、SQL脱敏)→ 子产品应用 -``` - -**这正是 SqlParserX 的定位**:不重复实现数据库引擎,只基于一套统一的 AST,把「表、血缘、函数、权限改写」等解析能力做成可复用的中间件。 - ---- - -## 二、市面上常见的 SQL 解析方案 - -在动手之前,我们先横向比较了主流方案。 - -![市面上常见的解析器整体介绍](assets/01-parser-market.png) - -### 2.1 底层解析器件:JavaCC / ANTLR 3 / ANTLR 4 - -| 特性 | JavaCC | ANTLR 3 | ANTLR 4 | -|---|---|---|---| -| 语法分析算法 | LL(k) | LL(*) | LL(*)(自适应预测) | -| 左递归处理 | 不支持,需手动转换 | 需手动转换 | 自动处理 | -| 目标语言 | Java | Java、C#、Python 等 | 同 ANTLR 3 | -| 错误处理 | 基础错误恢复 | 增强的错误恢复 | 智能错误恢复与诊断 | -| 语法复杂度 | 简单直观 | 较复杂 | 简化(相比 ANTLR 3) | -| 应用场景 | 小型项目、教育 | 中大型项目 | 大型项目、复杂语法 | - -### 2.2 SQL 解析器脚手架:Calcite / hive-exec - -所谓脚手架,是基于 JavaCC 或 ANTLR 已经实现了标准 SQL 的词法、语法规则,我们只需按其规范扩展: - -- **Calcite(基于 JavaCC)**:模块化、可扩展的 SQL 解析与优化框架,很多开源 SQL 引擎用它来做标准 SQL 解析与优化。 -- **hive-exec(基于 ANTLR3)**:Hive 的核心包,支持 Hive/Spark 语法解析。 - -### 2.3 更「具象化」的解析器:JSqlParser / Druid - -- **JSqlParser**:基于 JavaCC,能将 SQL 转为更语义化的结构(如 `select` → `SelectStatement`),支持语法树类继承、JavaAPI 构建 SQL、语法树转 SQL;但 **API 无明显的特定方言解析分层,支持的数据源解析能力较弱**。 -- **Druid**:完全用 Java 自实现扫描器、解析器,解析出的语法树是**具象化的抽象语法树(具有继承关系)**,并且**支持按数据源分层扩展**(Lexer、Parser 扫描可分层隔离)。 - -### 2.4 核心对比与选型结论 - -| 工具 | 依赖工具 | 解析 SQL 能力 | 语法树类继承 | 优缺点 | -|---|---|---|---|---| -| JavaCC | 原生定义解析规则 | 无 | 无 | 需从零定义 SQL 规则 | -| ANTLR4 | 原生定义解析规则 | 有,官方语法生态极好 | 无 | 语法生态强,但解析语法树无抽象继承关系 | -| Calcite | 基于 JavaCC | 标准 SQL,多方言扩展、生态较弱 | 有 | 需手动扩展分层写语法规则,成本大 | -| hive-exec | 基于 ANTLR3 | 仅 Hive、Spark | 无 | 无法扩展分层到其他数据源 | -| JSqlParser | 基于 JavaCC | 标准 SQL,部分方言 | 有 | API 无明显数据源分层 | -| **Druid** | 原生 Java 实现扫描、解析器件 | 支持 MySQL、Oracle、Hive、Spark、Doris、StarRocks 等 | **有(极强)** | 数据源生态好、AST 有继承关系;缺点是 Java 自实现扫描器,入门有难度 | - -面向数栈「大量异构数据源都要有同样继承关系的语法树」的场景,需要抽象定义统一的 `Insert`、`Select`、`Update`、`Delete` 等结构。 - -**基于 Druid 这样一套有继承关系的 AST,不同功能只需实现一套解析逻辑即可对应所有数据源,部分数据源再单独通过分层兼容即可。** 这成为后续选型的决定性理由。 - -### 2.5 为什么不直接用 ANTLR4 - -ANTLR4 生态确实很好(官方有 grammars-v4),但它的语法树**没有抽象继承关系**,难以在多数据源上沉淀「一套业务解析逻辑」,需要在业务层重新抽象一套结构,反而增加维护成本。Druid 的 AST 天然带继承体系,更契合我们的目标。 - ---- - -## 三、历史背景:改造前的 SQL 解析为什么难维护 - -### 3.1 子产品各自为战 - -改造前,SQL 解析散落在多个子产品中,各用各的方案: - -```sql -离线 batchparser:SQL 类型识别、真实表解析、SQL 脱敏、行列级权限 - 面向 SQL 类型:rdb(mysql、oracle、doris...)、hive、spark、impala - 实现:calcite & hive-exec 模块解析器,加上 druid 兜底【中间各种兼容语法正则匹配替换逻辑】 - -API apiparser:API 解析(预编译、非预编译)、真实表解析、行列级权限 - 面向 SQL 类型:rdb - 实现:calcite + druid,druid 兜底 - -label labelparser:标签解析 - 实现:calcite - -实时 streamparser - StreamCreateTableParser 直接使用正则匹配解析 - StreamCreateViewParser 使用 hive-exec 进行表、字段血缘解析 - StreamInsertParser 使用 FlinkPlanner & hive parser 进行表、字段血缘解析 - -资产 sqlparser:表、字段血缘解析、真实表解析、SQL 类型识别 - 实现:比较混乱,calcite、druid 以及 hive parser 混用 -``` - -核心问题是:**历史上针对 SQL 语法层面的扩展很少**,导致语法解析「一个不行就换另一个」,各种兜底;做过语法扩展的主要是基于 Calcite 扩展了少量语法(limit、starrocks 等)。 - -### 3.2 历史设计架构 - -改造前主要针对 Calcite(rdb 类型)、hive-exec(spark、hive)两类 SQL,Druid 与正则方式作为兜底。 - -![改造前的历史设计架构](assets/02-legacy-architecture.png) - -业务逻辑可以分为两类: - -**一类:SQL 类型识别、表解析、SQL 脱敏、行列级权限** - -1. 根据 SQL 类型用 Calcite、hive-exec 解析得到语法树; -2. 基于语法树做上述业务。 - -**另一类:血缘实现** - -1. 用 Calcite、hive-exec 解析得到语法树; -2. **自定义语法树**,实现两套转换器(Calcite AST → 自定义 AST、hive-exec AstNode → 自定义 AST); -3. 针对自定义语法树写一套血缘解析逻辑。 - -> 问题:转换与解析扫描过程中,历史上曾出现死循环导致子产品服务挂掉等各种情况。 - -![Calcite 分层扩展文章的探索](assets/03-calcite-layered-article.png) - -### 3.3 主要问题 - -1. **不同数据源语法解析扩展能力弱**:不同 rdb 语法需要正则前置处理,或单独去扩展语法,且扩展语法集中在一个模块; -2. **使用多种解析框架、各种兜底,代码维护难**:拿到语法树后的应用层解析逻辑也冗余在一起,到处是 `if` 判断数据源兼容逻辑,改一个地方可能影响其他地方,难以维护; -3. **血缘解析扩展弱、学习成本极高**:需要先了解 Calcite / AstNode 的节点定义,再具备自定义语法树能力,然后扩展两层转换逻辑(还容易死循环),最后才到血缘解析本身。 - ---- - -## 四、技术改造:双层分层 - -技术改造围绕两个层面分层:**语法解析层** 与 **业务解析层**。 - -### 4.1 语法解析层(基于 Druid) - -![语法解析层分层](assets/04-druid-syntax-layer.png) - -分层实现后,扫描器、解析器都支持继承复用,且相互独立、互不影响,结构类可自定义扩展: - -![Druid 分层结构类](assets/05-druid-layer-structure.png) - -```java -// 工具类指定数据源类型实现解析 -SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris); -SQLStatement statement = parser.parseStatement(); - -// 或直接 new 特定 Parser -DorisStatementParser statementParser = new DorisStatementParser(sql); -SQLStatement sqlStatement = statementParser.parseStatement(); -``` - -### 4.2 业务解析层 - -- **解析层**:不同数据源 → 统一抽象结构语法树; -- **应用层**:针对统一 AST 实现一套解析方法;特定数据源在 AST 中自定义了部分节点时,应用层再针对该数据源的节点做分层处理。 - -![业务解析分层](assets/06-business-layer.png) - -针对抽象语法树实现通用解析组件: - -![应用层通用解析组件](assets/07-application-components.png) - -后续扩展时,若在语法层单独实现了某个节点,只需继承 `BaseXxxClient`,单独实现差异方法即可,重复逻辑复用: - -![继承 BaseXxxClient 扩展](assets/08-inherit-baseclient.png) - -创建 Client 后,在对应 `XxxSqlParser` 中注册: - -![在方言解析器中注册 Client](assets/09-register-client.png) - -示例: - -```java -// 准备 SQL -String sql = getSql(); - -// 1、获取解析器(工厂方式) -ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - -// 2.1、解析表 -ParseTableResult parseTableResult = sqlParser.parseTables(sql); -System.out.println(parseTableResult.getMainTable()); // 主表 -System.out.println(parseTableResult.getAllTableName()); // 所有表 - -// 2.2、解析字段血缘(select * 场景可传入 tableColumnsMap 提供字段元数据) -ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap); - -// 2.3、解析表血缘 -TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql); - -// 2.4、解析函数 -Set functions = sqlParser.parseFunction(sql); -``` - -### 4.3 改造后整体实现 - -后续语法解析、业务层解析都可独立扩展: - -![改造后整体实现](assets/10-after-refactor.png) - ---- - -## 五、业务层解析的重新实现 - -历史上基于 Druid 的业务层实现很少(仅 API 解析、离线部分解析用 Druid 兜底),因此表解析、血缘解析都需要重新实现。 - -**有血缘特征的 SQL 类型**:`insert into/overwrite ... select`、`create ... select`、`with as ... insert`。 - -### 5.1 字段血缘解析 - -核心思路是**把来源与目标各自归一为一张二维表**。 - -以一条 `insert select` 为例: - -```sql -insert into new_table (id, name) -select a.id as aid, b.name as bname -from old_table as a -left join old_table2 b on a.id = b.id -``` - -1. 拆成两个部分:`insert` 目标端、`select` 来源端; -2. 各自追溯得到一组列表: - -```text -# 目标端 -真实字段 别名字段 真实表名 - id id new_table - name name new_table - -# 来源端 -真实字段 别名字段 真实表名 - id aid old_table - name bname old_table2 -``` - -3. 两组按固定规则匹配,即得字段血缘: - -```text -# 第一条 -admin 目标端 new_table.id ← 来源端 old_table.id -# 第二条 -目标端 new_table.name ← 来源端 old_table2.name -``` - -来源端的「真实表名 → 来源表」「真实字段 → 来源字段」,目标端的「别名字段 → 目标字段」。 - -对于 `with as` 场景,每个 CTE 的 `()` 作为一组同样归一为二维表再匹配;对于**单列来源于多字段**的场景(如 `concat(t1.name, t2.name)`),真实字段与真实表名以 `,` 合并,最终拆成多条血缘。 - -### 5.2 表血缘解析 - -本质与字段血缘类似,更多是对表进行分组列表,一个 `select` 同样得到一组「表、表别名」的二维表,最终与 `insert` 目标表匹配即可完成表血缘。 - -### 5.3 表解析 - -与表血缘类似,需要解析出所有真实表;除了追溯真实表的过程,还要合并没有被追溯到的真实表,同时覆盖比表血缘更多的 SQL 结构(`select`、`update`、`delete`、`insert`、`drop`、`rename` 等)。 - -### 5.4 函数解析 - -函数与血缘无关,直接使用 **Visitor 模式**收集所有函数即可: - -![基于 Visitor 的函数解析](assets/11-function-visitor.png) - -### 5.5 其他业务能力 - -- **SQL 脱敏(离线)**:复用字段血缘的 select column 组件拿到字段列表,再结合语法层位点能力进行改写;难点是 Druid 无精确原始 SQL 位点,需要扩展。 -- **行级权限改写 SQL**:利用 Druid API 补充 AST 节点,再转回 SQL,本质是根据主体 select 封装/补充条件节点后重新输出。 - ---- - -## 六、SqlParserX 的诞生 - -在内部双层改造验证落地之后,一个更清晰的想法出现了:**能不能把「基于 Druid 的 SQL 解析」做成一个纯净、可独立演进的开源项目?** - -于是有了 **SqlParserX** —— 一个无需依赖 Calcite、ANTLR 等其他解析组件,**完全基于 Druid 实现各类不同 SQL 解析**的开源项目。 - -### 6.1 双层架构 - -SqlParserX 将解析内核拆分为两个独立 Jar Module,结构对称、职责清晰: - -```text -SqlParserX(根 Reactor) -├── sqlparserx-engine(聚合父模块,packaging=pom) -│ ├── sqlparserx-syntax(jar,语法解析层,基于 Druid) ← 只管 SQL → AST -│ └── sqlparserx-core(jar,业务解析层,依赖 syntax) ← 只管 AST → 业务结果 -├── sqlparserx-web(HTTP 服务) -├── sqlparserx-mcp-server-sse(MCP Server) -└── sqlparserx-ui(前端) -``` - -- **语法解析层(`sqlparserx-syntax`)**:统一维护 Druid 依赖、SQL→AST、多语句解析与切分,以及后续数据源 Lexer / StatementParser / AST Node 扩展; -- **业务解析层(`sqlparserx-core`)**:基于统一 AST 实现真实表、建表结构、表/字段血缘、函数与 SQL 权限改写。 - -两层以 `DbType + SQLStatement AST` 作为连接契约,**不额外复制一套 AST**,避免长期转换与同步。详细设计见 [模块依赖包引用结构设计](../02、SQL业务层解析能力支撑情况/模块依赖包引用结构设计.md)。 - -### 6.2 从内部二开走向官方 Druid - -项目早期依赖内部二开的 Druid 版本,随着能力沉淀,SqlParserX 已统一为**官方 Druid 1.2.28**,降低维护成本、方便社区协作。语法层坚持「**不在业务层用大量正则替换规避语法问题**」,方言语法差异一律回到语法层按 Druid 的方式扩展。 - -### 6.3 能力与文档体系 - -SqlParserX 不仅提供代码,也提供了一套可维护的文档体系: - -- [双层架构设计](../架构设计/架构设计.md) -- [模块依赖包引用结构设计](../02、SQL业务层解析能力支撑情况/模块依赖包引用结构设计.md) -- [Druid 版本与 SQL 语法支持情况](../01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) -- [能力支持情况(数据源 + 通用解析能力)](../02、SQL业务层解析能力支撑情况/能力支持情况/README.md) -- [解析能力标准迭代维护扩展指南](../02、SQL业务层解析能力支撑情况/标准迭代维护扩展文档/SqlParserX解析能力标准迭代维护扩展指南.md) - -### 6.4 目标 - -- 无需依赖 Calcite、ANTLR 等其他解析组件,**完全基于 Druid** 实现各种数据源的 SQL 解析; -- **语法问题扩展 Druid,业务语义扩展 SqlParserX**;通用能力沉淀 Base,数据源差异按方言覆盖; -- 新增数据源时,语法差异在语法层扩展,业务差异在业务层扩展,上下两层通过 `DbType` 与 AST 对齐。 - ---- - -## 七、结语 - -从「散落各处的解析器 + 各种兜底」到「统一 AST + 双层分层」,再到「一个纯净、只依赖 Druid 的开源项目」,SqlParserX 的诞生不是一次性的重构,而是一次次把问题放回正确层次的取舍: - -> **语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖。** - -如果你在做多数据源的 SQL 解析、血缘、表解析相关工作,欢迎一起交流与共建。 - ---- - -> 作者:changlu | 2026-09-28 -> -> 本文图片位于 [`assets/`](assets/) 目录,仓库内以相对路径引用。 diff --git a/docs/contributing.html b/docs/contributing.html new file mode 100644 index 0000000..9d0d74d --- /dev/null +++ b/docs/contributing.html @@ -0,0 +1,31 @@ +贡献指南 | SqlParserX + + +
版本:1.0

贡献指南

+

感谢你对 SqlParserX 的关注!欢迎通过 Issue、Pull Request 参与共建。

+

参与方式​

+ +

开发流程​

+
    +
  1. Fork 仓库并创建特性分支:git checkout -b feature/xxx
  2. +
  3. 本地构建:mvn clean install -DskipTests
  4. +
  5. 编写代码与测试,确保 mvn test 通过
  6. +
  7. 提交并推送分支,发起 Pull Request
  8. +
  9. 通过 CI 与 Review 后合并
  10. +
+

代码约定​

+
    +
  • 遵循现有模块分层:语法差异改 sqlparserx-syntax,业务差异改 sqlparserx-core
  • +
  • 新增数据源时,同步补充能力支持文档与回归测试
  • +
  • 保持与现有代码风格一致,不引入无关依赖
  • +
+

文档约定​

+
    +
  • 文档统一维护在项目根目录 docs/,本站文档从中同步
  • +
  • 新增解析能力时,更新对应「能力支持情况」文档
  • +
  • 参考架构设计理解两层扩展模式
  • +
\ No newline at end of file diff --git a/docs/core/field-lineage.html b/docs/core/field-lineage.html new file mode 100644 index 0000000..6d8a377 --- /dev/null +++ b/docs/core/field-lineage.html @@ -0,0 +1,26 @@ +字段血缘解析 | SqlParserX + + +
版本:1.0

字段血缘解析

+

1. 引入依赖​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core 已传递依赖 sqlparserx-syntax 与 Druid,无需额外引入。

+
+

2. 完整示例​

+

从获取解析器、构造元数据到打印字段血缘的完整可运行类:

+
FieldLineageDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;

import com.alibaba.druid.DbType;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FieldLineageDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1、准备元数据:表 -> 字段列表(用于 select * / 字段展开)
Map<String, List<Column>> tableColumnsMap = new HashMap<>();
tableColumnsMap.put("users", Arrays.asList(
new Column("id", 0), new Column("name", 1)));
tableColumnsMap.put("orders", Arrays.asList(
new Column("amount", 0), new Column("id", 1)));

// 2、获取解析器
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 3、解析字段血缘
ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap);

// 4、打印结果:目标表 + 目标字段 -> 来源字段
System.out.println("目标表: " + result.getTargetTable());
result.printColumnLineage();
}
}
+

控制台输出(示例):

+
目标表: user_order_summary
users.id -> user_order_summary.user_id
users.name -> user_order_summary.name
orders.amount -> user_order_summary.total_amount
orders.id -> user_order_summary.order_count
+

3. 实现目标​

+

从 SQL 中推导 来源表.来源字段 → 目标表.目标字段 的字段级血缘关系。

+

核心思路:把「来源 select 字段列表」与「目标字段列表」各自归一为 (真实字段, 别名字段, 真实表名) 的三元组集合,再按固定匹配规则生成血缘。字段血缘的输入是插入/建表类 SQL,纯查询 SQL 不产生血缘。

+
SQLInsertStatement / SQLCreateTableStatement(AS SELECT)
→ ColumnLineageClient.parseColumnLineages
→ 目标字段列表 + 来源 select 字段列表
→ addColumnRelations 逐条匹配
→ ColumnLineageResult
+

4. 入口与实现位置​

+
项目内容
Core 入口ISqlParser.parseColumnLineages(sql, tableColumnsMap)
默认实现BaseSqlParser.parseColumnLineages → ColumnLineageClient
返回类型ColumnLineageResult(getColumnRelations() + getColumnLineages())
适用语句SQLInsertStatement、SQLCreateTableStatement(AS SELECT)
元数据输入Map<String, List<Column>> tableColumnsMap(表 → 字段列表)
+

5. 支持粒度与深度​

+

字段场景​

+
能力项支持情况说明
catalog.db.table.column 字段识别已支持 ✅支持 Hive/Trino/StarRocks 等多 catalog 场景
db.table.column 字段识别已支持 ✅MySQL/PostgreSQL 等标准用法
字段表达式计算(SQLBinaryOpExpr)已支持 ✅如 t5.level + 1,左右递归收集字段
* / xx.* 展开已支持 ✅依据元数据 tableColumnsMap 读取字段;无元数据保留 *
+
+

更多字段场景、表达式与子查询的覆盖情况,以项目 docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/字段血缘解析支持情况.md 为准。

+
\ No newline at end of file diff --git a/docs/core/function-parse.html b/docs/core/function-parse.html new file mode 100644 index 0000000..6eba36f --- /dev/null +++ b/docs/core/function-parse.html @@ -0,0 +1,24 @@ +函数解析 | SqlParserX + + +
版本:1.0

函数解析

+

1. 引入依赖​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core 已传递依赖 sqlparserx-syntax 与 Druid,无需额外引入。

+
+

2. 完整示例​

+

沿用官方 sqlparserx-core/README.md 的示例 SQL,提取 SQL 中出现的函数集合:

+
FunctionParseDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;

import com.alibaba.druid.DbType;

import java.util.Set;

public class FunctionParseDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1、获取解析器
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2、解析 SQL 中出现的函数
Set<String> functions = parser.parseFunction(sql);

// 3、读取结果
System.out.println("函数集合: " + functions);
}
}
+

控制台输出(示例):

+
函数集合: [sum, count]
+

3. 实现目标​

+

从 SQL 中提取函数调用信息,返回去重后的函数名集合,便于做函数级治理与依赖分析。

+
SQLStatement AST
→ BaseSqlParser.parseFunction
→ 遍历 AST 收集函数表达式
→ Set<String> 函数集合
+

4. 入口与实现位置​

+
项目内容
Core 入口ISqlParser.parseFunction(sql)
默认实现BaseSqlParser.parseFunction
返回类型Set<String>(函数名集合,统一小写)
覆盖范围内置函数、聚合函数、窗口函数、自定义函数
+

5. 支持粒度​

+
能力项支持情况说明
普通函数调用已支持 ✅如 substr(name, 1, 3)
聚合函数已支持 ✅如 sum、count、max
窗口函数已支持 ✅如 row_number() over(...)
嵌套函数已支持 ✅递归收集内外层函数
+
+

更多函数场景与数据源差异,以项目 docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/函数解析支持情况.md 为准。

+
\ No newline at end of file diff --git a/docs/core/parameter-compile.html b/docs/core/parameter-compile.html new file mode 100644 index 0000000..ec0a0b5 --- /dev/null +++ b/docs/core/parameter-compile.html @@ -0,0 +1,11 @@ +参数提取与预编译 | SqlParserX + + +
版本:1.0

参数提取与预编译

+

SqlParserX 可识别 SELECT 中的 ${变量},返回输入参数和输出字段;传入参数值后,可生成 JDBC ? 占位符 SQL 与按出现顺序排列的绑定值。

+
ParameterCompileDemo.java
import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType;
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult;
import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);
String sql = "SELECT id, name FROM users "
+ "WHERE dt = '${bizdate}' AND region = '${region}'";

// 第一步:提取输入参数与输出字段
ParseParameterResult parsed = parser.parseParameterSql(
sql, false, Collections.emptyMap());
parsed.getInputParams().forEach(param ->
System.out.println(param.getName() + " / " + param.getSqlPart()));

// 第二步:传入参数值并生成预编译 SQL
Map<String, Object> values = new HashMap<>();
values.put("bizdate", "20261014");
values.put("region", "hangzhou");

PrepareCompileResult compiled = parser.buildSqlByPrepareCompile(
sql, values, Collections.emptyMap());
System.out.println(compiled.getBeautifulSql());
System.out.println(compiled.getInputFields());
+

输出示例:

+
SELECT id, name FROM users WHERE dt = ? AND region = ?
[20261014, hangzhou]
+

返回内容​

+
阶段返回内容
参数提取输入参数名称、类型、是否必填、默认值、SQL 片段以及输出字段
预编译格式化后的占位符 SQL 与有序绑定值列表
+

当前通用实现面向 SELECT;排序、分组等标识符位置的变量会以内联方式处理。

\ No newline at end of file diff --git a/docs/core/sql-type.html b/docs/core/sql-type.html new file mode 100644 index 0000000..429a395 --- /dev/null +++ b/docs/core/sql-type.html @@ -0,0 +1,9 @@ +SQL 类型识别 | SqlParserX + + +
版本:1.0

SQL 类型识别

+

parseSqlType 先按所选数据源方言构建 Druid AST,再返回统一的 SqlType,适合语句路由、审计分类和执行策略选择。

+
SqlTypeDemo.java
import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType;
import com.dtstack.sqlparserx.core.enums.SqlType;
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;

ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);

SqlType queryType = parser.parseSqlType("SELECT id FROM users");
SqlType insertType = parser.parseSqlType(
"INSERT INTO target_table SELECT id FROM source_table");

System.out.println(queryType); // QUERY
System.out.println(insertType); // INSERT
+

支持范围​

+
分类典型类型
查询QUERY、WITH_QUERY、QUERY_NO_FROM
DMLINSERT、UPDATE、DELETE、MERGE_INTO
DDLCREATE、CREATE_AS、ALTER、DROP、TRUNCATE
管理与查看SHOW_TABLES、SHOW_COLUMNS、DESC_TABLE、EXPLAIN
其他无法归类的 AST 返回 OTHER
+

具体 SQL 能否构建 AST,仍取决于所选数据源的方言支持情况。

\ No newline at end of file diff --git a/docs/core/table-lineage.html b/docs/core/table-lineage.html new file mode 100644 index 0000000..b89801b --- /dev/null +++ b/docs/core/table-lineage.html @@ -0,0 +1,24 @@ +表血缘解析 | SqlParserX + + +
版本:1.0

表血缘解析

+

1. 引入依赖​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core 已传递依赖 sqlparserx-syntax 与 Druid,无需额外引入。

+
+

2. 完整示例​

+

沿用官方 sqlparserx-core/README.md 的示例 SQL,从获取解析器到打印表血缘:

+
TableLineageDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;
import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;

import com.alibaba.druid.DbType;

import java.util.List;

public class TableLineageDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1、获取解析器
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2、解析表血缘
TableLineageResult result = parser.parseTableLineages(sql);

// 3、读取结果
System.out.println("目标表: " + result.getTargetTable());
System.out.println("来源表: " + result.getSourceTables());

List<TableLineage> tableLineages = result.getTableLineages();
for (TableLineage lineage : tableLineages) {
System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable());
}
}
}
+

控制台输出(示例):

+
目标表: user_order_summary
来源表: [users, orders]
users -> user_order_summary
orders -> user_order_summary
+

3. 实现目标​

+

从 SQL 中解析目标表 → 来源表的表级血缘关系,覆盖 JOIN、UNION、子查询、聚合与 CTE 等结构。

+
SQLStatement AST
→ TableLineageClient.parseTableLineages
→ 收集来源表 + 目标表
→ TableLineageResult
+

4. 入口与实现位置​

+
项目内容
Core 入口ISqlParser.parseTableLineages(sql)
默认实现BaseSqlParser.parseTableLineages → TableLineageClient
返回类型TableLineageResult(getTargetTable() + getSourceTables() + getTableLineages())
覆盖结构JOIN、UNION、子查询、聚合、CTE
+

5. 支持粒度​

+
能力项支持情况说明
单表 / 多表 JOIN已支持 ✅解析所有参与表
UNION / UNION ALL已支持 ✅归并各分支来源表
子查询 / 派生表已支持 ✅递归收集真实表
CTE(WITH)已支持 ✅识别 CTE 与其真实来源
INSERT INTO ... SELECT已支持 ✅输出目标表与来源表
+
+

更多表血缘场景与数据源差异,以项目 docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表血缘解析支持情况.md 为准。

+
\ No newline at end of file diff --git a/docs/core/table-parse.html b/docs/core/table-parse.html new file mode 100644 index 0000000..e740aff --- /dev/null +++ b/docs/core/table-parse.html @@ -0,0 +1,24 @@ +表解析 | SqlParserX + + +
版本:1.0

表解析

+

1. 引入依赖​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core 已传递依赖 sqlparserx-syntax 与 Druid,无需额外引入。

+
+

2. 完整示例​

+

同样沿用官方 sqlparserx-core/README.md 的示例 SQL,演示「解析真实表」与「解析建表语句」:

+
TableParseDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;

import com.alibaba.druid.DbType;

public class TableParseDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1、获取解析器
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2、解析 SQL 中的真实表
ParseTableResult tableResult = parser.parseTables(sql);
System.out.println("主表: " + tableResult.getMainTable().getName());
System.out.println("所有表: " + tableResult.getAllTableName());

// 3、解析 CREATE TABLE 语句结构
ParseCreateTableResult createResult = parser.parseCreateTable(sql);
System.out.println("建表名: " + createResult.getDb() + "." + createResult.getTableName());
System.out.println("字段数: " + createResult.getTableElementList().size());
}
}
+

控制台输出(示例):

+
主表: users
所有表: [user_order_summary, users, orders]
建表名: null.user_order_summary
字段数: 4
+

3. 实现目标​

+

从 SQL 文本中识别真实表,包括普通查询用表、CTE、CREATE TABLE 定义、分区与表属性等。

+
SQLStatement AST
→ ParseTableClient.parseTables / parseCreateTable
→ 收集表 / CTE / 建表结构 / 分区 / 属性
→ ParseTableResult / ParseCreateTableResult
+

4. 入口与实现位置​

+
项目内容
Core 入口ISqlParser.parseTables(sql)、ISqlParser.parseCreateTable(sql)
默认实现BaseSqlParser.parseTables → ParseTableClient
返回类型ParseTableResult、ParseCreateTableResult
覆盖对象查询用表、CTE、CREATE TABLE、分区、表属性
+

5. 支持粒度​

+
能力项支持情况说明
查询用表识别已支持 ✅SELECT / INSERT / UPDATE / DELETE
CTE 识别已支持 ✅WITH 定义的临时表
CREATE TABLE DDL已支持 ✅表名、字段、类型、注释
分区与表属性已支持 ✅各数据源方言差异内聚在语法层
catalog.db.table 多级命名已支持 ✅多 catalog 场景
+
+

更多表解析场景与数据源差异,以项目 docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表解析支持情况.md 为准。

+
\ No newline at end of file diff --git a/docs/intro.html b/docs/intro.html new file mode 100644 index 0000000..3fe049a --- /dev/null +++ b/docs/intro.html @@ -0,0 +1,22 @@ +SqlParserX 文档 | SqlParserX + + +
版本:1.0

欢迎使用 SqlParserX

+

SqlParserX 是一个多方言 SQL 解析引擎与工具包,面向 SQL 类型识别、表/DDL 解析、表与字段血缘、函数提取以及参数提取与预编译等场景。

+

项目采用两层架构:sqlparserx-syntax 负责把 SQL 解析为 Druid AST 并承载语法扩展;sqlparserx-core 通过统一的 ISqlParser 契约消费 AST,产出业务解析结果。sqlparserx-web 与 sqlparserx-ui 提供服务化与可视化访问能力。

+

从这里开始​

+ +

文档结构​

+
    +
  • 关于 SqlParserX:项目介绍与两层架构设计
  • +
  • 快速开始:环境准备、构建与运行
  • +
  • 核心解析能力使用:SQL 类型识别、字段血缘、表血缘、表解析、函数解析、参数提取与预编译
  • +
  • 贡献指南:参与贡献的流程与规范
  • +
+

:::tip 提示 +本站右侧导航栏可切换版本(1.0 / Next)与语言(简体中文 / English)。 +:::

\ No newline at end of file diff --git a/docs/next/about/architecture.html b/docs/next/about/architecture.html new file mode 100644 index 0000000..f20754d --- /dev/null +++ b/docs/next/about/architecture.html @@ -0,0 +1,18 @@ +架构设计 | SqlParserX + + +
版本:Next 🚧

SqlParserX 双层统一扩展架构

+

SqlParserX 的解析内核由两套相互衔接、结构对称的扩展体系组成,分别落在两个独立 Jar Module:

+
    +
  • SQL 语法解析层(sqlparserx-syntax):基于官方 Druid,通过统一的方言路由、Parser 基座和 AST 模型,扩展不同数据源的 Lexer、StatementParser 与 AST Node。
  • +
  • SqlParserX 业务解析层(sqlparserx-core):通过统一的方言路由、ISqlParser 契约和业务 Client,扩展不同数据源的表解析、血缘解析与 SQL 改写逻辑。
  • +
+

两层都遵循“统一入口 → 通用基座 → 统一扩展点 → 数据源实现 → 统一结果”的模式。新增数据源时,语法差异在 Druid 层扩展,业务差异在 SqlParserX 层扩展,上下两层通过 DbType 和 Druid AST 对齐。

+

SqlParserX 双层统一扩展架构

+

总体架构​

+ +

两层职责​

+
统一扩展阶段SQL 语法解析层(sqlparserx-syntax)SqlParserX 业务解析层(sqlparserx-core)
统一方言路由SqlSyntaxParserFactory 按 DbType 选择对应语法方言SqlParserFactory 根据同一个 DbType 选择业务解析器
通用基座通用 Lexer、StatementParser 和 ASTISqlParser、BaseSqlParser 和 Base Client
统一扩展点方言 Lexer、方言 StatementParser、方言 AST NodeIParseTableClient、IColumnLineageClient、ITableLineageClient、解析策略等
数据源实现MySQL、Doris、Oracle、Hive 等 Druid 方言实现MySQL、Doris、StarRocks、Hive 等业务方言实现
统一结果SQLStatement AST表、建表结构、字段血缘、表血缘、函数及改写后的 SQL
+

模块依赖​

+
Access: sqlparserx-web (REST) / sqlparserx-ui
│ unified ISqlParser contract
Business layer: sqlparserx-core
│ SQL + DbType / SQLStatement AST
Syntax layer: sqlparserx-syntax (Druid 1.2.28)
+

业务扩展遵循 SqlParserFactory → ISqlParser → BaseSqlParser → 方言实现的模式。完整的模块依赖与包结构见 sqlparserx-core 模块的 README。

\ No newline at end of file diff --git a/docs/next/about/introduction.html b/docs/next/about/introduction.html new file mode 100644 index 0000000..504abf2 --- /dev/null +++ b/docs/next/about/introduction.html @@ -0,0 +1,17 @@ +SqlParserX 介绍 | SqlParserX + + +
版本:Next 🚧

SqlParserX 介绍

+

SqlParserX 是一个多方言 SQL 解析引擎与工具包,提供 SQL 类型识别、表/DDL 解析、表与字段血缘、函数提取以及参数提取与预编译能力。

+

解决的典型问题​

+
问题方案
不同 SQL 方言语法差异大通过 DbType 路由 Druid 方言,统一 AST
真实表与 DDL 藏在 SQL 文本中表、CTE、CREATE TABLE、分区与属性解析
数据依赖难以追踪覆盖 JOIN、UNION、子查询、聚合与 CTE 的表/字段血缘
脚本中包含多条语句SQL 拆分与语法校验
权限谓词难以维护行级权限 SQL 改写
+

模块组成​

+
模块层次说明技术栈
sqlparserx-syntax语法解析层SQL 转 AST、校验、拆分与 Druid 方言扩展Java 8 + Druid 1.2.28
sqlparserx-core业务解析层表、血缘、DDL、函数与 SQL 改写Java 8 + sqlparserx-syntax
sqlparserx-web访问层Spring Boot REST 服务Spring Boot 2.3.12 + Java 8
sqlparserx-ui访问层血缘可视化与在线解析工具Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5
+

数据源支持​

+
数据源支持说明
MySQL重点支持,增强 RENAME TABLE 处理
Doris重度支持,DDL 与血缘有专项测试
StarRocks支持独立的 DISTRIBUTED BY 与关键 DDL
Hive / ClickHouse / Oracle / DM已注册解析器,通用业务实现
+

完整的语法层与业务层支撑矩阵见核心解析能力使用与项目 docs/ 目录下的能力支持文档。

+

延伸阅读​

+
\ No newline at end of file diff --git a/docs/next/contributing.html b/docs/next/contributing.html new file mode 100644 index 0000000..0cbd3ef --- /dev/null +++ b/docs/next/contributing.html @@ -0,0 +1,31 @@ +贡献指南 | SqlParserX + + +
版本:Next 🚧

贡献指南

+

感谢你对 SqlParserX 的关注!欢迎通过 Issue、Pull Request 参与共建。

+

参与方式​

+ +

开发流程​

+
    +
  1. Fork 仓库并创建特性分支:git checkout -b feature/xxx
  2. +
  3. 本地构建:mvn clean install -DskipTests
  4. +
  5. 编写代码与测试,确保 mvn test 通过
  6. +
  7. 提交并推送分支,发起 Pull Request
  8. +
  9. 通过 CI 与 Review 后合并
  10. +
+

代码约定​

+
    +
  • 遵循现有模块分层:语法差异改 sqlparserx-syntax,业务差异改 sqlparserx-core
  • +
  • 新增数据源时,同步补充能力支持文档与回归测试
  • +
  • 保持与现有代码风格一致,不引入无关依赖
  • +
+

文档约定​

+
    +
  • 文档统一维护在项目根目录 docs/,本站文档从中同步
  • +
  • 新增解析能力时,更新对应「能力支持情况」文档
  • +
  • 参考架构设计理解两层扩展模式
  • +
\ No newline at end of file diff --git a/docs/next/core/field-lineage.html b/docs/next/core/field-lineage.html new file mode 100644 index 0000000..846ad84 --- /dev/null +++ b/docs/next/core/field-lineage.html @@ -0,0 +1,26 @@ +字段血缘解析 | SqlParserX + + +
版本:Next 🚧

字段血缘解析

+

1. 引入依赖​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core 已传递依赖 sqlparserx-syntax 与 Druid,无需额外引入。

+
+

2. 完整示例​

+

从获取解析器、构造元数据到打印字段血缘的完整可运行类:

+
FieldLineageDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;

import com.alibaba.druid.DbType;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FieldLineageDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1、准备元数据:表 -> 字段列表(用于 select * / 字段展开)
Map<String, List<Column>> tableColumnsMap = new HashMap<>();
tableColumnsMap.put("users", Arrays.asList(
new Column("id", 0), new Column("name", 1)));
tableColumnsMap.put("orders", Arrays.asList(
new Column("amount", 0), new Column("id", 1)));

// 2、获取解析器
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 3、解析字段血缘
ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap);

// 4、打印结果:目标表 + 目标字段 -> 来源字段
System.out.println("目标表: " + result.getTargetTable());
result.printColumnLineage();
}
}
+

控制台输出(示例):

+
目标表: user_order_summary
users.id -> user_order_summary.user_id
users.name -> user_order_summary.name
orders.amount -> user_order_summary.total_amount
orders.id -> user_order_summary.order_count
+

3. 实现目标​

+

从 SQL 中推导 来源表.来源字段 → 目标表.目标字段 的字段级血缘关系。

+

核心思路:把「来源 select 字段列表」与「目标字段列表」各自归一为 (真实字段, 别名字段, 真实表名) 的三元组集合,再按固定匹配规则生成血缘。字段血缘的输入是插入/建表类 SQL,纯查询 SQL 不产生血缘。

+
SQLInsertStatement / SQLCreateTableStatement(AS SELECT)
→ ColumnLineageClient.parseColumnLineages
→ 目标字段列表 + 来源 select 字段列表
→ addColumnRelations 逐条匹配
→ ColumnLineageResult
+

4. 入口与实现位置​

+
项目内容
Core 入口ISqlParser.parseColumnLineages(sql, tableColumnsMap)
默认实现BaseSqlParser.parseColumnLineages → ColumnLineageClient
返回类型ColumnLineageResult(getColumnRelations() + getColumnLineages())
适用语句SQLInsertStatement、SQLCreateTableStatement(AS SELECT)
元数据输入Map<String, List<Column>> tableColumnsMap(表 → 字段列表)
+

5. 支持粒度与深度​

+

字段场景​

+
能力项支持情况说明
catalog.db.table.column 字段识别已支持 ✅支持 Hive/Trino/StarRocks 等多 catalog 场景
db.table.column 字段识别已支持 ✅MySQL/PostgreSQL 等标准用法
字段表达式计算(SQLBinaryOpExpr)已支持 ✅如 t5.level + 1,左右递归收集字段
* / xx.* 展开已支持 ✅依据元数据 tableColumnsMap 读取字段;无元数据保留 *
+
+

更多字段场景、表达式与子查询的覆盖情况,以项目 docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/字段血缘解析支持情况.md 为准。

+
\ No newline at end of file diff --git a/docs/next/core/function-parse.html b/docs/next/core/function-parse.html new file mode 100644 index 0000000..d6ed46c --- /dev/null +++ b/docs/next/core/function-parse.html @@ -0,0 +1,24 @@ +函数解析 | SqlParserX + + +
版本:Next 🚧

函数解析

+

1. 引入依赖​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core 已传递依赖 sqlparserx-syntax 与 Druid,无需额外引入。

+
+

2. 完整示例​

+

沿用官方 sqlparserx-core/README.md 的示例 SQL,提取 SQL 中出现的函数集合:

+
FunctionParseDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;

import com.alibaba.druid.DbType;

import java.util.Set;

public class FunctionParseDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1、获取解析器
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2、解析 SQL 中出现的函数
Set<String> functions = parser.parseFunction(sql);

// 3、读取结果
System.out.println("函数集合: " + functions);
}
}
+

控制台输出(示例):

+
函数集合: [sum, count]
+

3. 实现目标​

+

从 SQL 中提取函数调用信息,返回去重后的函数名集合,便于做函数级治理与依赖分析。

+
SQLStatement AST
→ BaseSqlParser.parseFunction
→ 遍历 AST 收集函数表达式
→ Set<String> 函数集合
+

4. 入口与实现位置​

+
项目内容
Core 入口ISqlParser.parseFunction(sql)
默认实现BaseSqlParser.parseFunction
返回类型Set<String>(函数名集合,统一小写)
覆盖范围内置函数、聚合函数、窗口函数、自定义函数
+

5. 支持粒度​

+
能力项支持情况说明
普通函数调用已支持 ✅如 substr(name, 1, 3)
聚合函数已支持 ✅如 sum、count、max
窗口函数已支持 ✅如 row_number() over(...)
嵌套函数已支持 ✅递归收集内外层函数
+
+

更多函数场景与数据源差异,以项目 docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/函数解析支持情况.md 为准。

+
\ No newline at end of file diff --git a/docs/next/core/parameter-compile.html b/docs/next/core/parameter-compile.html new file mode 100644 index 0000000..25d99d3 --- /dev/null +++ b/docs/next/core/parameter-compile.html @@ -0,0 +1,11 @@ +参数提取与预编译 | SqlParserX + + +
版本:Next 🚧

参数提取与预编译

+

SqlParserX 可识别 SELECT 中的 ${变量},返回输入参数和输出字段;传入参数值后,可生成 JDBC ? 占位符 SQL 与按出现顺序排列的绑定值。

+
ParameterCompileDemo.java
import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType;
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult;
import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);
String sql = "SELECT id, name FROM users "
+ "WHERE dt = '${bizdate}' AND region = '${region}'";

// 第一步:提取输入参数与输出字段
ParseParameterResult parsed = parser.parseParameterSql(
sql, false, Collections.emptyMap());
parsed.getInputParams().forEach(param ->
System.out.println(param.getName() + " / " + param.getSqlPart()));

// 第二步:传入参数值并生成预编译 SQL
Map<String, Object> values = new HashMap<>();
values.put("bizdate", "20261014");
values.put("region", "hangzhou");

PrepareCompileResult compiled = parser.buildSqlByPrepareCompile(
sql, values, Collections.emptyMap());
System.out.println(compiled.getBeautifulSql());
System.out.println(compiled.getInputFields());
+

输出示例:

+
SELECT id, name FROM users WHERE dt = ? AND region = ?
[20261014, hangzhou]
+

返回内容​

+
阶段返回内容
参数提取输入参数名称、类型、是否必填、默认值、SQL 片段以及输出字段
预编译格式化后的占位符 SQL 与有序绑定值列表
+

当前通用实现面向 SELECT;排序、分组等标识符位置的变量会以内联方式处理。

\ No newline at end of file diff --git a/docs/next/core/sql-type.html b/docs/next/core/sql-type.html new file mode 100644 index 0000000..ded0d5a --- /dev/null +++ b/docs/next/core/sql-type.html @@ -0,0 +1,9 @@ +SQL 类型识别 | SqlParserX + + +
版本:Next 🚧

SQL 类型识别

+

parseSqlType 先按所选数据源方言构建 Druid AST,再返回统一的 SqlType,适合语句路由、审计分类和执行策略选择。

+
SqlTypeDemo.java
import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType;
import com.dtstack.sqlparserx.core.enums.SqlType;
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;

ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);

SqlType queryType = parser.parseSqlType("SELECT id FROM users");
SqlType insertType = parser.parseSqlType(
"INSERT INTO target_table SELECT id FROM source_table");

System.out.println(queryType); // QUERY
System.out.println(insertType); // INSERT
+

支持范围​

+
分类典型类型
查询QUERY、WITH_QUERY、QUERY_NO_FROM
DMLINSERT、UPDATE、DELETE、MERGE_INTO
DDLCREATE、CREATE_AS、ALTER、DROP、TRUNCATE
管理与查看SHOW_TABLES、SHOW_COLUMNS、DESC_TABLE、EXPLAIN
其他无法归类的 AST 返回 OTHER
+

具体 SQL 能否构建 AST,仍取决于所选数据源的方言支持情况。

\ No newline at end of file diff --git a/docs/next/core/table-lineage.html b/docs/next/core/table-lineage.html new file mode 100644 index 0000000..3522d2c --- /dev/null +++ b/docs/next/core/table-lineage.html @@ -0,0 +1,24 @@ +表血缘解析 | SqlParserX + + +
版本:Next 🚧

表血缘解析

+

1. 引入依赖​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core 已传递依赖 sqlparserx-syntax 与 Druid,无需额外引入。

+
+

2. 完整示例​

+

沿用官方 sqlparserx-core/README.md 的示例 SQL,从获取解析器到打印表血缘:

+
TableLineageDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;
import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;

import com.alibaba.druid.DbType;

import java.util.List;

public class TableLineageDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1、获取解析器
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2、解析表血缘
TableLineageResult result = parser.parseTableLineages(sql);

// 3、读取结果
System.out.println("目标表: " + result.getTargetTable());
System.out.println("来源表: " + result.getSourceTables());

List<TableLineage> tableLineages = result.getTableLineages();
for (TableLineage lineage : tableLineages) {
System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable());
}
}
}
+

控制台输出(示例):

+
目标表: user_order_summary
来源表: [users, orders]
users -> user_order_summary
orders -> user_order_summary
+

3. 实现目标​

+

从 SQL 中解析目标表 → 来源表的表级血缘关系,覆盖 JOIN、UNION、子查询、聚合与 CTE 等结构。

+
SQLStatement AST
→ TableLineageClient.parseTableLineages
→ 收集来源表 + 目标表
→ TableLineageResult
+

4. 入口与实现位置​

+
项目内容
Core 入口ISqlParser.parseTableLineages(sql)
默认实现BaseSqlParser.parseTableLineages → TableLineageClient
返回类型TableLineageResult(getTargetTable() + getSourceTables() + getTableLineages())
覆盖结构JOIN、UNION、子查询、聚合、CTE
+

5. 支持粒度​

+
能力项支持情况说明
单表 / 多表 JOIN已支持 ✅解析所有参与表
UNION / UNION ALL已支持 ✅归并各分支来源表
子查询 / 派生表已支持 ✅递归收集真实表
CTE(WITH)已支持 ✅识别 CTE 与其真实来源
INSERT INTO ... SELECT已支持 ✅输出目标表与来源表
+
+

更多表血缘场景与数据源差异,以项目 docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表血缘解析支持情况.md 为准。

+
\ No newline at end of file diff --git a/docs/next/core/table-parse.html b/docs/next/core/table-parse.html new file mode 100644 index 0000000..a42015b --- /dev/null +++ b/docs/next/core/table-parse.html @@ -0,0 +1,24 @@ +表解析 | SqlParserX + + +
版本:Next 🚧

表解析

+

1. 引入依赖​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core 已传递依赖 sqlparserx-syntax 与 Druid,无需额外引入。

+
+

2. 完整示例​

+

同样沿用官方 sqlparserx-core/README.md 的示例 SQL,演示「解析真实表」与「解析建表语句」:

+
TableParseDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;

import com.alibaba.druid.DbType;

public class TableParseDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1、获取解析器
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2、解析 SQL 中的真实表
ParseTableResult tableResult = parser.parseTables(sql);
System.out.println("主表: " + tableResult.getMainTable().getName());
System.out.println("所有表: " + tableResult.getAllTableName());

// 3、解析 CREATE TABLE 语句结构
ParseCreateTableResult createResult = parser.parseCreateTable(sql);
System.out.println("建表名: " + createResult.getDb() + "." + createResult.getTableName());
System.out.println("字段数: " + createResult.getTableElementList().size());
}
}
+

控制台输出(示例):

+
主表: users
所有表: [user_order_summary, users, orders]
建表名: null.user_order_summary
字段数: 4
+

3. 实现目标​

+

从 SQL 文本中识别真实表,包括普通查询用表、CTE、CREATE TABLE 定义、分区与表属性等。

+
SQLStatement AST
→ ParseTableClient.parseTables / parseCreateTable
→ 收集表 / CTE / 建表结构 / 分区 / 属性
→ ParseTableResult / ParseCreateTableResult
+

4. 入口与实现位置​

+
项目内容
Core 入口ISqlParser.parseTables(sql)、ISqlParser.parseCreateTable(sql)
默认实现BaseSqlParser.parseTables → ParseTableClient
返回类型ParseTableResult、ParseCreateTableResult
覆盖对象查询用表、CTE、CREATE TABLE、分区、表属性
+

5. 支持粒度​

+
能力项支持情况说明
查询用表识别已支持 ✅SELECT / INSERT / UPDATE / DELETE
CTE 识别已支持 ✅WITH 定义的临时表
CREATE TABLE DDL已支持 ✅表名、字段、类型、注释
分区与表属性已支持 ✅各数据源方言差异内聚在语法层
catalog.db.table 多级命名已支持 ✅多 catalog 场景
+
+

更多表解析场景与数据源差异,以项目 docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表解析支持情况.md 为准。

+
\ No newline at end of file diff --git a/docs/next/intro.html b/docs/next/intro.html new file mode 100644 index 0000000..86e2928 --- /dev/null +++ b/docs/next/intro.html @@ -0,0 +1,22 @@ +SqlParserX 文档 | SqlParserX + + +
版本:Next 🚧

欢迎使用 SqlParserX

+

SqlParserX 是一个多方言 SQL 解析引擎与工具包,面向 SQL 类型识别、表/DDL 解析、表与字段血缘、函数提取以及参数提取与预编译等场景。

+

项目采用两层架构:sqlparserx-syntax 负责把 SQL 解析为 Druid AST 并承载语法扩展;sqlparserx-core 通过统一的 ISqlParser 契约消费 AST,产出业务解析结果。sqlparserx-web 与 sqlparserx-ui 提供服务化与可视化访问能力。

+

从这里开始​

+ +

文档结构​

+
    +
  • 关于 SqlParserX:项目介绍与两层架构设计
  • +
  • 快速开始:环境准备、构建与运行
  • +
  • 核心解析能力使用:SQL 类型识别、字段血缘、表血缘、表解析、函数解析、参数提取与预编译
  • +
  • 贡献指南:参与贡献的流程与规范
  • +
+

:::tip 提示 +本站右侧导航栏可切换版本(1.0 / Next)与语言(简体中文 / English)。 +:::

\ No newline at end of file diff --git a/docs/next/quickstart/setup.html b/docs/next/quickstart/setup.html new file mode 100644 index 0000000..36ef018 --- /dev/null +++ b/docs/next/quickstart/setup.html @@ -0,0 +1,31 @@ +快速开始 | SqlParserX + + +
版本:Next 🚧

快速开始

+

1. 环境要求​

+
依赖版本
JDKJava 8+
Maven3.6+
Node.js(仅 sqlparserx-ui)>= 20
+

2. 引入依赖​

+

在业务工程的 pom.xml 中引入业务解析层 sqlparserx-core 即可:

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+

:::tip 依赖说明 +sqlparserx-core 会传递依赖 sqlparserx-syntax(语法层)与官方 Druid,因此业务解析只需引入 core 一个坐标;若只做 SQL→AST 的语法解析,也可以单独引入 sqlparserx-syntax。 +:::

+

:::note 从源码使用 +1.0-SNAPSHOT 若尚未发布到远程仓库,请先拉取源码并安装到本地仓库:

+
git clone https://github.com/DTStack/SqlParserX.git
cd SqlParserX
mvn clean install -DskipTests
+

之后上面的坐标即可在本地直接使用。 +:::

+

3. Hello World:解析一段 SQL​

+

下面是一个完整可运行的类,覆盖解析表、字段血缘、表血缘与函数四类能力, +与官方 sqlparserx-core/README.md 中的示例保持一致:

+
SqlParserXDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;
import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;
import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;

import com.alibaba.druid.DbType;

import java.util.*;

public class SqlParserXDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1、按数据源类型获取解析器(支持 mysql/hive/doris/... 15+ 方言)
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2、解析真实表
ParseTableResult tableResult = parser.parseTables(sql);
System.out.println("主表: " + tableResult.getMainTable().getName());
System.out.println("所有表: " + tableResult.getAllTableName());

// 3、解析字段血缘(select * 场景可传入真实字段元数据)
Map<String, List<Column>> tableColumnsMap = new HashMap<>();
tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1)));
tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1)));
ColumnLineageResult columnLineageResult =
parser.parseColumnLineages(sql, tableColumnsMap);
columnLineageResult.printColumnLineage();

// 4、解析表血缘
TableLineageResult tableLineageResult = parser.parseTableLineages(sql);
List<TableLineage> tableLineages = tableLineageResult.getTableLineages();
System.out.println("表血缘: " + tableLineages);

// 5、解析函数
Set<String> functions = parser.parseFunction(sql);
System.out.println("函数集合: " + functions);
}
}
+

控制台输出(示例):

+
主表: users
所有表: [user_order_summary, users, orders]
users.id -> user_order_summary.user_id
users.name -> user_order_summary.name
orders.amount -> user_order_summary.total_amount
orders.id -> user_order_summary.order_count
表血缘: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...]
函数集合: [sum, count]
+

4. 下一步​

+

各核心能力的依赖引入 + 完整示例见:

+
\ No newline at end of file diff --git a/docs/quickstart/setup.html b/docs/quickstart/setup.html new file mode 100644 index 0000000..fb15af4 --- /dev/null +++ b/docs/quickstart/setup.html @@ -0,0 +1,31 @@ +快速开始 | SqlParserX + + +
版本:1.0

快速开始

+

1. 环境要求​

+
依赖版本
JDKJava 8+
Maven3.6+
Node.js(仅 sqlparserx-ui)>= 20
+

2. 引入依赖​

+

在业务工程的 pom.xml 中引入业务解析层 sqlparserx-core 即可:

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+

:::tip 依赖说明 +sqlparserx-core 会传递依赖 sqlparserx-syntax(语法层)与官方 Druid,因此业务解析只需引入 core 一个坐标;若只做 SQL→AST 的语法解析,也可以单独引入 sqlparserx-syntax。 +:::

+

:::note 从源码使用 +1.0-SNAPSHOT 若尚未发布到远程仓库,请先拉取源码并安装到本地仓库:

+
git clone https://github.com/DTStack/SqlParserX.git
cd SqlParserX
mvn clean install -DskipTests
+

之后上面的坐标即可在本地直接使用。 +:::

+

3. Hello World:解析一段 SQL​

+

下面是一个完整可运行的类,覆盖解析表、字段血缘、表血缘与函数四类能力, +与官方 sqlparserx-core/README.md 中的示例保持一致:

+
SqlParserXDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;
import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;
import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;

import com.alibaba.druid.DbType;

import java.util.*;

public class SqlParserXDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1、按数据源类型获取解析器(支持 mysql/hive/doris/... 15+ 方言)
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2、解析真实表
ParseTableResult tableResult = parser.parseTables(sql);
System.out.println("主表: " + tableResult.getMainTable().getName());
System.out.println("所有表: " + tableResult.getAllTableName());

// 3、解析字段血缘(select * 场景可传入真实字段元数据)
Map<String, List<Column>> tableColumnsMap = new HashMap<>();
tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1)));
tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1)));
ColumnLineageResult columnLineageResult =
parser.parseColumnLineages(sql, tableColumnsMap);
columnLineageResult.printColumnLineage();

// 4、解析表血缘
TableLineageResult tableLineageResult = parser.parseTableLineages(sql);
List<TableLineage> tableLineages = tableLineageResult.getTableLineages();
System.out.println("表血缘: " + tableLineages);

// 5、解析函数
Set<String> functions = parser.parseFunction(sql);
System.out.println("函数集合: " + functions);
}
}
+

控制台输出(示例):

+
主表: users
所有表: [user_order_summary, users, orders]
users.id -> user_order_summary.user_id
users.name -> user_order_summary.name
orders.amount -> user_order_summary.total_amount
orders.id -> user_order_summary.order_count
表血缘: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...]
函数集合: [sum, count]
+

4. 下一步​

+

各核心能力的依赖引入 + 完整示例见:

+
\ No newline at end of file diff --git "a/docs/\344\272\247\345\223\201\350\260\203\347\240\224/\345\270\202\351\235\242\345\274\200\346\272\220sql\350\247\243\346\236\220\345\231\250\347\233\270\345\205\263\344\272\247\345\223\201\350\260\203\347\240\224.md" "b/docs/\344\272\247\345\223\201\350\260\203\347\240\224/\345\270\202\351\235\242\345\274\200\346\272\220sql\350\247\243\346\236\220\345\231\250\347\233\270\345\205\263\344\272\247\345\223\201\350\260\203\347\240\224.md" deleted file mode 100644 index 1b99c99..0000000 --- "a/docs/\344\272\247\345\223\201\350\260\203\347\240\224/\345\270\202\351\235\242\345\274\200\346\272\220sql\350\247\243\346\236\220\345\231\250\347\233\270\345\205\263\344\272\247\345\223\201\350\260\203\347\240\224.md" +++ /dev/null @@ -1,231 +0,0 @@ -# 市面开源 SQL 解析器及相关产品调研 - -> 调研日期:2026-10-10 -> -> 调研目标:从 SqlParserX 的产品定位出发,盘点可直接集成的开源 SQL 解析器、血缘分析工具及可在线体验的竞品。本文所称“开箱即用”分为三类:**依赖库可直接集成**、**CLI/服务可直接运行**、**官网可直接体验**。 - -## 1. 结论摘要 - -如果只看“可作为 SqlParserX 直接竞品或技术参照”的项目,建议优先关注: - -1. **SQLGlot**:多方言解析、转换、优化和血缘能力最完整,Python 生态下开箱体验优秀,是方言转换和 API 设计的首要对标对象。 -2. **Alibaba Druid SQL Parser**:Java 技术栈、多数据库方言、手写解析器,和 SqlParserX 的技术路线最接近,适合作为语法解析底座。 -3. **JSqlParser**:轻量 Java AST 库,Maven 集成简单,适合作为纯解析/改写能力的横向基线。 -4. **Apache Calcite**:提供解析、校验、关系代数和优化器,不是单纯解析器;适合复杂语义校验与查询规划,不适合追求轻量接入的场景。 -5. **SQLLineage / DataHub SQL Parser**:直接面向表级、列级血缘,最值得对标 SqlParserX 的业务解析输出和血缘准确度。 -6. **Apache DataFusion SQL Parser**:Rust 生态中成熟、可扩展的多方言 AST 解析器,适合观察手写解析器与方言扩展设计。 -7. **Gudu SQLFlow / GSP Playground**:商业闭源,但真正做到打开官网即可看到 AST 或列级血缘,最适合作为产品体验和演示交互的竞品标杆。 - -总体判断:**没有一个开源项目同时完整覆盖“Java、多方言、本地化语法、表/字段血缘、SQL 改写、Web API、可视化 UI”**。SqlParserX 的差异化机会不是再做一个 AST 库,而是把 Druid 的方言能力包装成稳定的业务语义模型、服务接口和可视化体验。 - -## 2. 产品分类说明 - -SQL 相关项目经常被放在同一张表里比较,但它们解决的问题不同: - -| 类型 | 典型输入输出 | 代表项目 | 与 SqlParserX 的关系 | -| --- | --- | --- | --- | -| 语法解析器 | SQL → Token/AST | Druid、JSqlParser、DataFusion SQL Parser | 底层能力直接竞品 | -| 解析与转换框架 | SQL → AST → 方言 SQL/优化结果 | SQLGlot、Calcite | 能力上限与扩展设计参照 | -| SQL 质量工具 | SQL → 语法树 → Lint/格式化 | SQLFluff | 方言、模板 SQL 和工程体验参照 | -| 血缘分析工具 | SQL + 元数据 → 表/列依赖图 | SQLLineage、DataHub Parser | 业务层直接竞品 | -| 数据血缘平台/标准 | 作业事件、SQL、元数据 → 全局血缘 | OpenLineage、DataHub、OpenMetadata | 上游集成及产品边界参照 | -| 在线商业产品 | SQL → 在线 AST/血缘图 | GSP、Gudu SQLFlow | 官网体验和商业化参照 | - -## 3. 开源 SQL 解析器横向对比 - -### 3.1 核心项目 - -这里按两个维度拆分:**通用解析器**主要输出 Token/AST,使用者需要继续开发业务逻辑;**业务型解析项目**已经在 AST 之上提供方言转换、血缘、Lint、格式化或语义解析等可直接使用的能力。 - -#### 3.1.1 通用/底层 SQL 解析器 - -| 项目 | 语言 | 主要定位 | 方言/能力概况 | 开箱即用方式 | 网址/在线体验 | 许可证 | 主要局限 | -| --- | --- | --- | --- | --- | --- | --- | --- | -| Alibaba Druid SQL Parser | Java | 多方言 SQL AST 解析 | MySQL、Oracle、PostgreSQL、SQL Server、DB2、Hive、ODPS 等;Visitor、格式化、参数化 | Maven 依赖,调用 `SQLUtils` 等 API | [GitHub](https://github.com/alibaba/druid) · [SQL Parser 文档](https://github.com/alibaba/druid/wiki/SQL-Parser);无官方 Playground | Apache-2.0 | AST 与 Druid 类型体系耦合;跨方言转换、业务血缘需上层实现 | -| JSqlParser | Java | SQL → Java AST | Visitor、SQL 反序列化与改写 | Maven/Gradle 依赖 | [GitHub](https://github.com/JSQLParser/JSqlParser) · [使用文档](https://jsqlparser.github.io/JSqlParser/);无官方 Playground | Apache-2.0 或 LGPL-2.1 双许可 | 方言完整度不等同于数据库原生解析器;复杂血缘需自行建设 | -| Apache Calcite | Java | SQL 解析、校验与关系代数框架 | Parser、Validator、RelNode、规则优化器、方言输出 | Maven 依赖;配置 Parser/Validator | [官网](https://calcite.apache.org/) · [SQL 参考](https://calcite.apache.org/docs/reference.html);无官方 Playground | Apache-2.0 | 体系重、学习成本高;厂商特有语法通常需要扩展 JavaCC 语法 | -| Apache DataFusion SQL Parser | Rust | 可扩展 SQL Lexer/Parser | ANSI 与多种数据库方言;AST、Visitor、Serde、JSON CLI 示例 | Cargo crate;CLI 示例可输出 JSON | [GitHub](https://github.com/apache/datafusion-sqlparser-rs) · [Crates.io](https://crates.io/crates/sqlparser);无官方 Playground | Apache-2.0 | 核心是语法 AST,不直接提供业务血缘或 Web 产品 | -| node-sql-parser | TypeScript / JavaScript | SQL AST 解析与反序列化 | 多数据库语法;AST、表/列访问列表、SQLify | npm 包;Node.js/浏览器 API | [GitHub](https://github.com/taozhi8833998/node-sql-parser) · [npm](https://www.npmjs.com/package/node-sql-parser);无稳定的官方 Playground | Apache-2.0 | 复杂方言和存储过程覆盖需逐项实测;血缘语义较基础 | -| libpg_query | C(多语言绑定) | 复用 PostgreSQL 原生 parser | PostgreSQL 语法树、normalize、fingerprint、scan | C 库及 Ruby/Go/Rust 等绑定 | [GitHub](https://github.com/pganalyze/libpg_query);无官方 Playground | BSD-3-Clause | 基本只面向 PostgreSQL;版本升级跟随 PG 源码 | -| ANTLR grammars-v4 SQL grammars | Grammar + 多目标语言 | 语法生成器的 SQL 文法集合 | 包含多种 SQL grammar,可生成 Java/Python/Go/C# 等 parser | 选 grammar 后使用 ANTLR 生成代码 | [SQL grammars 目录](https://github.com/antlr/grammars-v4/tree/master/sql) · [ANTLR Lab](https://lab.antlr.org/)(通用 grammar 调试,非 SQL 成品) | BSD-3-Clause(仓库;使用时需复核具体文件) | 更像原材料而非成品;AST、错误恢复、方言维护和业务语义均需自行实现 | - -#### 3.1.2 带业务能力、可开箱使用的解析项目/产品 - -| 项目 | 语言 | 已封装的业务能力 | 开箱即用方式 | 网址/在线体验 | 许可证 | 适合场景 | 主要局限 | -| --- | --- | --- | --- | --- | --- | --- | --- | -| Gudu SQLFlow(马哈鱼) | SaaS / 私有化服务 | SQL 解析、表级/列级血缘、关系可视化、SQL 文件与数据库元数据分析 | 浏览器打开网站,登录后提交 SQL 或脚本分析 | **[在线使用](https://sqlflow.gudusoft.com/#/)** · [中文官网](https://www.sqlflow.cn/) · [GSP Playground](https://www.sqlparser.com/playground/) | **商业闭源** | 零部署体验复杂 SQL 血缘;对标 SqlParserX 的产品交互与结果展示 | 不是开源项目;免费额度、账号要求和私有化授权以官网当前政策为准;敏感 SQL 不应上传公网 | -| SQLGlot | Python | 多方言解析、Transpile、AST 改写、优化、表达式执行、血缘 | `pip install sqlglot`,Python API/CLI | [官网/文档](https://sqlglot.com/sqlglot.html) · [GitHub](https://github.com/tobymao/sqlglot);官网以文档/API 示例为主 | MIT | 方言转换、数据平台 SQL 分析、原型验证 | Python 技术栈;复杂语义仍依赖 schema/metadata;并非数据库原生校验器 | -| SQLFluff | Python | 多方言 Lint、自动修复、格式化、Jinja/dbt 模板解析 | `pip install sqlfluff`,CLI 直接 `lint`、`fix`、`parse` | [官网/文档](https://sqlfluff.com/) · [在线 Demo](https://online.sqlfluff.com/) · [GitHub](https://github.com/sqlfluff/sqlfluff) | MIT | SQL 规范治理、模板 SQL、CI | 产品重点是 Lint,不是通用 AST SDK 或完整血缘引擎 | -| SQLLineage | Python | 源/目标表、表级和列级血缘、图形化展示 | 安装后使用 CLI 或 Python API,可用 `-g` 查看图 | [在线 Demo](https://reata.github.io/sqllineage/) · [文档](https://sqllineage.readthedocs.io/) · [GitHub](https://github.com/reata/sqllineage) | MIT | 最快搭建开源血缘 Demo、SQL 文件批量分析 | 复杂字段消歧、动态 SQL、存储过程通常需要 metadata 或定制 | -| DataHub SQL Parser | Python | schema-aware 表/列血缘、置信度、调试信息、跨语句临时表聚合 | DataHub Python SDK `parse_sql_lineage()` | [功能文档](https://docs.datahub.com/docs/lineage/sql_parsing) · [DataHub Demo](https://demo.datahubproject.io/) · [GitHub](https://github.com/datahub-project/datahub) | Apache-2.0 | 生产级元数据和查询日志血缘 | Parser 隶属 DataHub 体系;公开 Demo 主要展示平台而非独立 SQL Playground | -| OpenMetadata SQLLineage | Python | 基于 SQLFluff/sqlparse 的表级、列级血缘分析 | Python 包/源码集成 | [GitHub](https://github.com/open-metadata/openmetadata-sqllineage) · [OpenMetadata Sandbox](https://sandbox.open-metadata.org/)(平台体验) | Apache-2.0 | 研究可插拔解析后端、接入 OpenMetadata | 需确认与 SQLLineage 上游的版本差异和维护方向;Sandbox 不是独立解析器页面 | -| JSQLTranspiler | Java | 基于 JSqlParser 的方言转换、列解析和血缘 | Maven/Gradle 依赖或命令行集成 | [GitHub](https://github.com/starlake-ai/JSQLTranspiler);无稳定的官方在线 Playground | Apache-2.0 | Java 技术栈方言转换、与 JSqlParser 配套评估 | 社区规模和方言覆盖需结合自己的 SQL 样本验证 | - -其中“官网/文档”只表示无需下载即可阅读示例,**不等于可以在网页中提交 SQL**;只有明确标记“在线 Demo/Playground/在线使用”的入口才按在线开箱体验统计。Gudu SQLFlow 因为与 SqlParserX 的业务和产品形态高度相关,作为商业参照列入本表,但不计入开源项目数量。第三方在线站点可能调整或关闭,正式演示前应再次确认可访问性。 - -### 3.2 Java 技术栈重点比较 - -| 维度 | Druid | JSqlParser | Calcite | ShardingSphere SQL Parser | -| --- | --- | --- | --- | --- | -| 核心定位 | 高性能多方言 AST | 轻量 Java AST | 解析 + 校验 + 优化 | 分布式数据库内核的解析引擎 | -| 解析实现 | 手写 parser | JavaCC 生成 | JavaCC 及扩展 parser | ANTLR grammar + Visitor | -| 接入成本 | 低 | 低 | 中高 | 高,不建议单独拆作通用 SDK | -| 方言适配 | 强,国内数据库生态较友好 | 中等,需按 SQL 样本验证 | 默认 SQL 较通用,厂商语法需扩展 | 围绕 ShardingSphere 支持的数据源 | -| 语义校验/优化 | 弱 | 弱 | 强 | 服务于路由、改写、执行 | -| 血缘开箱能力 | 无完整产品级输出 | 无,姊妹项目提供延伸能力 | 需基于关系表达式开发 | 非对外通用血缘产品 | -| 对 SqlParserX 的价值 | 当前底座及方言实现参照 | 轻量 API/AST 易用性参照 | 语义层与优化层参照 | ANTLR、多方言模块化和缓存参照 | - -[Apache ShardingSphere](https://github.com/apache/shardingsphere) 本身是分布式 SQL 数据库生态,而不是独立通用解析产品。其[解析引擎文档](https://shardingsphere.apache.org/document/current/en/reference/sharding/parse/)展示了 ANTLR 解析、AST Visitor 和缓存等设计,适合研究,但若只需要“输入 SQL、输出统一 AST/血缘”,直接嵌入的成本通常高于 Druid 或 JSqlParser。 - -## 4. 开源血缘与业务解析工具 - -### 4.1 SQLLineage - -- 项目:[reata/sqllineage](https://github.com/reata/sqllineage),文档:[sqllineage.readthedocs.io](https://sqllineage.readthedocs.io/)。 -- 定位:输入 SQL 文件或字符串,直接输出源表、目标表以及列级血缘。 -- 开箱方式:安装 Python 包后使用 `sqllineage -f test.sql --dialect=ansi`;可用 `-g` 启动图形化展示。 -- 优点:用户不需要直接理解 AST;CLI、Python API、可视化链路完整,很适合做血缘 Demo 和回归基准。 -- 局限:解析正确不代表血缘一定正确;`SELECT *`、同名字段、动态 SQL、临时表和存储过程通常需要 schema 或上下文辅助。 -- 对标价值:重点参考“单条命令产出血缘”“中间结果可解释”“图形化预览”。 - -### 4.2 DataHub SQL Parser - -- 项目文档:[DataHub SQL Parsing](https://docs.datahub.com/docs/lineage/sql_parsing);源码位于 [datahub-project/datahub](https://github.com/datahub-project/datahub)。 -- 定位:基于 SQLGlot 增强的 SQL 血缘解析器,服务于 DataHub 元数据平台。 -- 能力:表级血缘、列级血缘、CTE、子查询、Union,以及临时表、rename/swap 等跨语句聚合场景;SDK 会返回置信度和调试信息。 -- 开箱方式:通过 DataHub Python SDK 调用 `parse_sql_lineage()`,也可结合查询日志采集器批量解析。 -- 亮点:不是只从 AST 猜测字段,而是结合平台 schema 解析列名;“置信度 + debug info”非常值得 SqlParserX 借鉴。 -- 注意:官方宣称的准确率来自其自有 benchmark,不能直接当作对 SqlParserX 的公平结论,应使用同一测试集复测。 - -### 4.3 OpenMetadata SQLLineage 分支 - -- 项目:[open-metadata/openmetadata-sqllineage](https://github.com/open-metadata/openmetadata-sqllineage)。 -- 定位:OpenMetadata 社区维护的 SQLLineage 分支,引入 SQLFluff 作为解析后端。 -- 价值:适合观察“底层 parser 可插拔”和多方言血缘的工程方式。 -- 风险:选型前需确认与上游 SQLLineage 的版本差异、维护节奏和最终集成方向,不宜只按名称判断成熟度。 - -### 4.4 OpenLineage 与 Marquez(相邻产品,不是解析器) - -- [OpenLineage](https://openlineage.io/) 是作业、运行和数据集血缘事件的开放标准,并非 SQL AST 库。 -- [Marquez](https://github.com/MarquezProject/marquez) 是 OpenLineage 的参考后端和可视化实现。 -- 它们适合承接 SqlParserX 的解析结果:SqlParserX 负责“从 SQL 识别依赖”,OpenLineage 负责“以标准事件传递依赖”,Marquez/DataHub/OpenMetadata 负责“存储与展示全局血缘”。 - -## 5. 打开官网即可用的产品与 Demo - -| 产品 | 在线入口 | 是否开源 | 无部署可体验内容 | 对标重点 | -| --- | --- | --- | --- | --- | -| GSP SQL Parser Playground | [sqlparser.com/playground](https://www.sqlparser.com/playground/) | 否,商业产品 | 多方言语法解析、对象识别、AST、列级关系 | AST 可读性、错误反馈、方言切换 | -| Gudu SQLFlow(马哈鱼) | [在线使用](https://sqlflow.gudusoft.com/#/) / [中文站](https://www.sqlflow.cn/) | 否,商业产品 | 在线提交 SQL、表/列级血缘图;部分能力需注册 | 零安装体验、血缘图交互、复杂脚本展示 | -| SQLLineage Demo | [reata.github.io/sqllineage](https://reata.github.io/sqllineage/) | 是 | 浏览器查看 SQL 血缘示例/在线能力(以页面当前功能为准) | 开源项目 Demo、快速展示 | -| SQLGlot | [sqlglot.com](https://sqlglot.com/) | 是 | 官方文档、示例;社区存在基于其构建的 Playground | 方言互转 API 和表达式展示 | - -需要特别区分两个同名项目:本文的 **Gudu SQLFlow** 是 Gudusoft 的数据血缘商业产品;[sql-machine-learning/sqlflow](https://github.com/sql-machine-learning/sqlflow) 则是“用扩展 SQL 描述机器学习流程”的开源项目,两者不是同一产品。 - -## 6. 开箱即用能力评分 - -评分说明:5 分表示几乎无需二次建设;该评分是面向 SqlParserX 产品场景的相对评价,不代表项目综合质量。 - -| 项目 | 集成易用性 | 方言广度 | AST/改写 | 方言互转 | 表/列血缘 | CLI/服务/UI | 综合建议 | -| --- | :---: | :---: | :---: | :---: | :---: | :---: | --- | -| Druid | 5 | 5 | 5 | 2 | 2 | 2 | Java 多方言解析底座首选之一 | -| JSqlParser | 5 | 3 | 4 | 2 | 2 | 2 | 适合作为轻量 Java API 基线 | -| Calcite | 3 | 3 | 5 | 3 | 2 | 1 | 适合语义校验/优化,不宜只为 AST 引入 | -| SQLGlot | 5 | 5 | 5 | 5 | 4 | 4 | 综合能力最值得对标 | -| DataFusion SQL Parser | 4 | 4 | 4 | 2 | 1 | 2 | Rust 生态和 parser 设计参照 | -| node-sql-parser | 5 | 3 | 4 | 2 | 2 | 3 | Node/浏览器场景便捷,需实测复杂 SQL | -| SQLFluff | 5 | 5 | 3 | 1 | 1 | 4 | Lint、格式化、模板 SQL 的标杆 | -| SQLLineage | 5 | 4 | 2 | 1 | 4 | 4 | 最快搭建开源血缘 Demo | -| DataHub SQL Parser | 3 | 5 | 3 | 1 | 5 | 3 | 带 schema、置信度的生产血缘参照 | -| GSP / SQLFlow | 5(在线) | 5 | 4 | 2 | 5 | 5 | 产品体验标杆,但闭源且商业授权 | - -## 7. 建议的实测方案 - -仅比较官网声明容易失真,建议建立统一 SQL 语料库,对候选项目跑同一套测试。首轮可选择 **Druid、JSqlParser、SQLGlot、SQLLineage、DataHub SQL Parser**。 - -### 7.1 测试语料 - -1. 基础 DML:SELECT、INSERT SELECT、UPDATE、DELETE、MERGE。 -2. DDL:CTAS、CREATE VIEW、ALTER TABLE、分区 DDL。 -3. 复杂查询:多层 CTE、相关子查询、UNION、窗口函数、LATERAL VIEW、PIVOT。 -4. 字段语义:`*` 展开、同名字段、别名覆盖、CASE WHEN、聚合函数、UDF。 -5. 脚本上下文:临时表、变量替换、多语句、存储过程、动态 SQL。 -6. 方言:MySQL、Oracle、PostgreSQL、SQL Server、Hive、Spark、Flink、Doris/StarRocks、ClickHouse、Trino。 -7. 异常输入:半截 SQL、注释、模板占位符、超长 SQL、深层嵌套。 - -### 7.2 评价指标 - -| 指标 | 建议定义 | -| --- | --- | -| Parse Success Rate | 能生成完整 AST 的 SQL 数 / 总 SQL 数 | -| AST Correctness | 表、字段、表达式、语句类型是否与预期一致 | -| Lineage Precision / Recall | 产出的正确血缘边占比 / 应产出血缘边覆盖率 | -| Round-trip | AST 反序列化后是否保持原语义并可被目标数据库解析 | -| Error Quality | 是否给出位置、期望 token、上下文及可恢复结果 | -| Performance | 单条 P50/P95、吞吐量、内存、首次启动耗时 | -| Extensibility | 新增一种语法/方言所需改动范围、测试成本 | -| Operability | CLI、API、批处理、日志、指标、容器化、UI 完整度 | - -## 8. 对 SqlParserX 的产品建议 - -### 8.1 短期:补齐“真的能马上用” - -- 提供无需部署的公开 Playground,支持粘贴 SQL、选择方言、切换 AST/表解析/字段血缘/格式化视图。 -- 提供单一可执行包或 Docker 镜像,并给出 5 分钟 Quick Start。 -- 输出统一 JSON Schema,避免调用者直接依赖 Druid AST 类型。 -- 错误结果包含行列号、失败阶段、期望语法以及“部分解析结果”。 -- 内置 10~20 条典型复杂 SQL 示例,使用户打开页面即可看到产品上限。 - -### 8.2 中期:形成区别于底层 parser 的业务能力 - -- 建立 schema-aware 列解析:支持 `*` 展开、同名字段消歧和 UDF 规则。 -- 为每一条血缘边保留来源表达式、SQL 位置、解析规则和置信度。 -- 支持多语句上下文,追踪临时表、CTE、rename、swap 和脚本变量。 -- 增加方言互转评估;不一定自己完整实现,可先探索以 SQLGlot 作为旁路服务。 -- 输出 OpenLineage/DataHub/OpenMetadata 可消费的格式,降低进入数据治理平台的集成成本。 - -### 8.3 竞品借鉴优先级 - -| 优先级 | 对标对象 | 建议借鉴内容 | -| --- | --- | --- | -| P0 | GSP Playground / Gudu SQLFlow | 在线体验、示例 SQL、AST/血缘交互和结果解释 | -| P0 | SQLGlot | 极简 API、方言选择、Transpile、表达式树操作 | -| P0 | DataHub SQL Parser | schema-aware、置信度、debug 信息、跨语句聚合 | -| P1 | SQLLineage | CLI 一条命令、血缘图、测试样例组织 | -| P1 | SQLFluff | 模板 SQL、错误定位、插件化方言和工程文档 | -| P2 | Calcite / ShardingSphere | 校验与优化、ANTLR 缓存、多阶段编译架构 | - -## 9. 选型建议 - -- **Java 项目,只需解析、改写**:优先实测 Druid 与 JSqlParser。 -- **Java 项目,需要校验、关系代数、优化**:选择 Calcite,接受较高接入复杂度。 -- **多方言转换或 Python 数据平台**:优先 SQLGlot。 -- **快速生成表/列血缘 Demo**:优先 SQLLineage。 -- **生产级元数据平台血缘**:评估 DataHub/OpenMetadata,将 SQL parser 与 schema、查询日志结合。 -- **Rust 查询引擎或代理**:选择 Apache DataFusion SQL Parser。 -- **必须与 PostgreSQL 原生语法一致**:选择 libpg_query 及对应语言绑定。 -- **希望浏览器打开即体验**:GSP Playground 和 Gudu SQLFlow 最成熟,但需注意其商业授权和数据安全要求。 - -## 10. 风险与注意事项 - -1. **方言数量不等于覆盖质量**:项目声明“支持某方言”通常不意味着覆盖全部 DDL、存储过程和最新版本语法。 -2. **语法成功不等于语义正确**:没有 catalog/schema 时,`*`、非限定字段、UDF 和动态 SQL 的列级血缘不可避免地存在歧义。 -3. **许可证需要最终复核**:引入前应固定具体版本并由法务/开源治理流程复核许可证、依赖许可证及 NOTICE 要求。 -4. **在线工具的数据安全**:生产 SQL 可能包含表名、字段名、业务规则甚至常量数据,不应直接提交到第三方官网。 -5. **活跃度会变化**:版本、支持方言和维护状态应在正式选型时以仓库 release、commit 和 issue 响应重新核验。 -6. **不要把 OpenLineage 当成 parser**:它解决血缘事件标准化,不负责完整理解任意 SQL。 - -## 11. 参考资料 - -- [Alibaba Druid SQL Parser Wiki](https://github.com/alibaba/druid/wiki/SQL-Parser) -- [JSqlParser GitHub](https://github.com/JSQLParser/JSqlParser) -- [Apache Calcite 官方文档](https://calcite.apache.org/docs/) -- [SQLGlot GitHub](https://github.com/tobymao/sqlglot) -- [Apache DataFusion SQL Parser GitHub](https://github.com/apache/datafusion-sqlparser-rs) -- [node-sql-parser GitHub](https://github.com/taozhi8833998/node-sql-parser) -- [SQLFluff GitHub](https://github.com/sqlfluff/sqlfluff) -- [SQLLineage 文档](https://sqllineage.readthedocs.io/) -- [DataHub SQL Parsing 文档](https://docs.datahub.com/docs/lineage/sql_parsing) -- [OpenLineage 官方文档](https://openlineage.io/docs/) -- [Apache ShardingSphere Parse Engine](https://shardingsphere.apache.org/document/current/en/reference/sharding/parse/) -- [GSP Online SQL Parser Playground](https://www.sqlparser.com/playground/) -- [Gudu SQLFlow](https://www.sqlflow.cn/) diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.drawio" "b/docs/\346\236\266\346\236\204\350\256\276\350\256\241/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.drawio" deleted file mode 100644 index 3db38d8..0000000 --- "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.drawio" +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/\346\236\266\346\236\204\350\256\276\350\256\241.md" "b/docs/\346\236\266\346\236\204\350\256\276\350\256\241/\346\236\266\346\236\204\350\256\276\350\256\241.md" deleted file mode 100644 index f10c743..0000000 --- "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/\346\236\266\346\236\204\350\256\276\350\256\241.md" +++ /dev/null @@ -1,150 +0,0 @@ -# SqlParserX 双层统一扩展架构 - -SqlParserX 的解析内核由两套相互衔接、结构对称的扩展体系组成,分别落在两个独立 Jar Module: - -- **SQL 语法解析层(`sqlparserx-syntax`)**:基于官方 Druid,通过统一的方言路由、Parser 基座和 AST 模型,扩展不同数据源的 Lexer、StatementParser 与 AST Node。 -- **SqlParserX 业务解析层(`sqlparserx-core`)**:通过统一的方言路由、`ISqlParser` 契约和业务 Client,扩展不同数据源的表解析、血缘解析与 SQL 改写逻辑。 - -两个模块由聚合父模块 `sqlparserx-engine`(`packaging=pom`)统一管理,模块依赖与包结构详见[模块依赖包引用结构设计](../02、SQL业务层解析能力支撑情况/模块依赖包引用结构设计.md)。 - -两层都遵循“**统一入口 → 通用基座 → 统一扩展点 → 数据源实现 → 统一结果**”的模式。新增数据源时,语法差异在 Druid 层扩展,业务差异在 SqlParserX 层扩展,上下两层通过 `DbType` 和 Druid AST 对齐。 - -架构图源文件:[SqlParserX两层架构.drawio](SqlParserX两层架构.drawio),可直接预览的导出图如下。图中底部使用代表性厂商 Logo 展示数据源生态;Logo 仅表达可扩展的数据源方言范围,正式支持程度以能力支撑文档及回归测试为准。 - -![SqlParserX 双层统一扩展架构](SqlParserX两层架构.png) - -## 总体架构 - -```mermaid -flowchart TB - subgraph Business[sqlparserx-core|SqlParserX 业务解析层] - direction LR - B_ROUTE[统一方言路由
SqlParserFactory] - B_BASE[统一业务基座
ISqlParser · BaseSqlParser · Base Client] - B_EXT[统一扩展点
方言 Client · 解析策略] - B_DIALECT[数据源业务实现
MySQL · Doris · StarRocks · ...] - B_RESULT[统一业务结果
表 · 建表结构 · 血缘 · SQL] - B_ROUTE --> B_BASE --> B_EXT --> B_DIALECT --> B_RESULT - end - - subgraph Syntax[sqlparserx-syntax|SQL 语法解析层,基于 Druid] - direction LR - S_ROUTE[统一方言路由
SqlSyntaxParserFactory · DbType] - S_BASE[统一语法基座
Lexer · StatementParser · AST] - S_EXT[统一扩展点
方言 Lexer · Parser · AST Node] - S_DIALECT[数据源语法实现
MySQL · Doris · Oracle · ...] - S_RESULT[统一语法结果
SQLStatement AST] - S_ROUTE --> S_BASE --> S_EXT --> S_DIALECT --> S_RESULT - end - - B_ROUTE -. DbType 对齐 .-> S_ROUTE - B_DIALECT -. 同一数据源方言 .-> S_DIALECT - B_BASE -->|SQL + DbType| S_BASE - S_RESULT -->|SQLStatement AST| B_BASE -``` - -## 两层职责 - -| 统一扩展阶段 | SQL 语法解析层(`sqlparserx-syntax`) | SqlParserX 业务解析层(`sqlparserx-core`) | -|---|---|---| -| 统一方言路由 | `SqlSyntaxParserFactory` 按 `DbType` 选择对应语法方言 | `SqlParserFactory` 根据同一个 `DbType` 选择业务解析器 | -| 通用基座 | 通用 Lexer、StatementParser 和 AST | `ISqlParser`、`BaseSqlParser` 和 Base Client | -| 统一扩展点 | 方言 Lexer、方言 StatementParser、方言 AST Node | `IParseTableClient`、`IColumnLineageClient`、`ITableLineageClient`、解析策略等 | -| 数据源实现 | MySQL、Doris、Oracle、Hive 等 Druid 方言实现 | MySQL、Doris、StarRocks、Hive 等业务方言实现 | -| 统一结果 | `SQLStatement` AST | 表、建表结构、字段血缘、表血缘、函数及改写后的 SQL | - -## SQL 语法解析层 - -语法解析层位于 `sqlparserx-syntax`,基于官方 Druid SQL Parser 实现。Druid 先提供统一的 Parser 和 AST 基座,再通过相同的方言分层方式扩展各数据源的 Lexer、StatementParser 和 AST 节点。Syntax 对 Core/Web 暴露统一语法契约 `SqlSyntaxParser`,所有 SQL→AST 操作都经由它完成。 - -```text -SQL + DbType - → SqlSyntaxParserFactory - → SqlSyntaxParser - → SQLParserUtils - → 方言 Lexer - → 方言 StatementParser - → SQLStatement AST -``` - -这一层只解决“SQL 是否能按指定数据源的语法被正确识别”。以下问题应在该层扩展: - -- 新增或变更数据源关键字。 -- SQL 在 Parser 阶段直接报语法错误。 -- Druid 没有生成正确的 Statement 或表达式节点。 -- 新语法需要新增 AST Node。 -- 方言特有的 Lexer 或 StatementParser 行为。 - -语法扩展必须遵循 Druid 已有的数据源分层方式,不在业务层使用大量正则替换来规避语法问题。 - -## 业务解析层 - -业务解析层位于 `sqlparserx-core`,以 Druid AST 为解析基础。它复用与 Druid 语法层一致的分层思路:公共能力进入 Base,数据源差异进入对应方言实现,并最终返回统一业务模型。 - -```text -SqlParserFactory - → ISqlParser - → BaseSqlParser - → 通用业务 Client - → 数据源方言 Client(按需覆盖) - → 统一业务结果模型 -``` - -| 组成 | 主要职责 | -|---|---| -| `SqlParserFactory` | 根据 `DbType` 选择对应的数据源业务解析器 | -| `ISqlParser` | 定义表解析、血缘、函数、参数和 SQL 权限改写等统一入口 | -| `BaseSqlParser` | 生成或接收 AST,并将其分发给不同业务 Client | -| 通用 Client | 实现不同数据源可以共享的表解析、字段血缘、表血缘和 SQL 改写逻辑 | -| 方言 Client | 仅覆盖该数据源与通用逻辑不同的业务处理 | -| 结果模型 | 将 Druid AST 转换为稳定的表、字段、血缘和建表结构等业务对象 | - -当前的数据源业务扩展示例: - -| 数据源 | 业务层扩展 | -|---|---| -| MySQL | 补充 `RENAME TABLE` 的真实表识别 | -| StarRocks | 扩展 StarRocks 建表结构解析 | -| Doris | 扩展建表解析、字段大小写匹配及 CTE 前向引用血缘策略 | -| 其他数据源 | 默认复用 Base 实现,出现明确的业务差异时再覆盖相应 Client | - -## 两层协作边界 - -| 现象 | 问题归属 | 处理位置 | -|---|---|---| -| SQL 无法解析或 AST 节点错误 | 语法解析层(`sqlparserx-syntax`) | 对应数据源的 Druid Lexer、Parser 或 AST | -| AST 正确,但表、字段或血缘结果错误 | 业务解析层(`sqlparserx-core`) | 通用 Client 或数据源方言 Client | -| 所有数据源都有相同问题 | 业务解析层通用逻辑 | `parser.base`、`select` 或公共工具 | -| 只有单个数据源的业务结果不同 | 业务解析层方言扩展 | `parser.` 下对应能力 Client | - -核心原则:**语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖。** - -## 双层扩展示例 - -| 数据源变化 | SQL 语法解析层(`sqlparserx-syntax`) | SqlParserX 业务解析层(`sqlparserx-core`) | -|---|---|---| -| MySQL 新增一种 Statement | 扩展 MySQL StatementParser 和对应 AST Node | 根据新 AST 节点扩展 MySQL 业务 Client | -| Doris 新增建表语法属性 | 扩展 Doris CREATE TABLE 语法及 AST 属性 | 扩展 Doris 建表解析 Client,将属性转换为统一建表模型 | -| 某方言仅血缘规则不同 | Druid AST 已正确时无需修改 | 只扩展该方言的字段或表血缘 Client/策略 | - -因此,一个数据源可以只复用两层的通用实现,也可以同时拥有"Druid 方言语法实现 + SqlParserX 方言业务实现";两层扩展位置独立,但方言标识、AST 输入和数据源测试应保持一致。 - -## 模块依赖概览 - -```text -SqlParserX(根 Reactor) -├── sqlparserx-engine(聚合父模块,packaging=pom) -│ ├── sqlparserx-syntax(jar,基于 Druid) -│ └── sqlparserx-core(jar,依赖 syntax) -├── sqlparserx-web(依赖 core,直接使用语法 API 时显式依赖 syntax) -├── sqlparserx-mcp-server-sse(独立构建,依赖 core/syntax) -└── sqlparserx-ui(前端,仅通过 Web HTTP API 访问) -``` - -依赖方向约束: - -- `sqlparserx-core` → `sqlparserx-syntax`:业务层通过 Syntax 获得 AST。 -- `sqlparserx-syntax` 不得反向依赖 `sqlparserx-core`。 -- Core/Web 不直接创建 Druid StatementParser,统一经由 `SqlSyntaxParser`。 - -完整的模块依赖规则、包结构和构建测试命令见[模块依赖包引用结构设计](../02、SQL业务层解析能力支撑情况/模块依赖包引用结构设计.md)。 diff --git a/en/.nojekyll b/en/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/en/404.html b/en/404.html new file mode 100644 index 0000000..d0c7dba --- /dev/null +++ b/en/404.html @@ -0,0 +1,4 @@ +Page Not Found | SqlParserX + + +

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

\ No newline at end of file diff --git a/en/assets/css/styles.325f5414.css b/en/assets/css/styles.325f5414.css new file mode 100644 index 0000000..a2babab --- /dev/null +++ b/en/assets/css/styles.325f5414.css @@ -0,0 +1 @@ +@layer docusaurus.infima{:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-500:var(--ifm-color-gray-500);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:.2s;--ifm-transition-slow:.4s;--ifm-transition-timing-default:cubic-bezier(.08,.52,.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:.1rem;--ifm-code-padding-vertical:.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:.875rem;--ifm-h6-font-size:.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:.8rem;--ifm-breadcrumb-padding-vertical:.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url("data:image/svg+xml;utf8,");--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-color:var(--ifm-font-color-base-inverse);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:.5rem;--ifm-toc-padding-horizontal:.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:.75rem;--ifm-menu-link-padding-vertical:.375rem;--ifm-menu-link-sublist-icon:url("data:image/svg+xml;utf8,");--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:.75rem;--ifm-navbar-item-padding-vertical:.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-hover-color:var(--ifm-color-primary);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url("data:image/svg+xml;utf8,");--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}*{box-sizing:border-box}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base)var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{word-wrap:break-word;margin:0}iframe{color-scheme:normal;border:0}.container{max-width:var(--ifm-container-width);padding:0 var(--ifm-spacing-horizontal);width:100%;margin:0 auto}.container--fluid{max-width:inherit}.row{margin:0 calc(var(--ifm-spacing-horizontal)*-1);flex-wrap:wrap;display:flex}.row--no-gutters{margin-left:0;margin-right:0}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;max-width:var(--ifm-col-width);padding:0 var(--ifm-spacing-horizontal);flex:1 0;width:100%;margin-left:0}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:calc(1/12*100%)}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:calc(2/12*100%)}.col--offset-2{margin-left:16.6667%}.col--3{--ifm-col-width:calc(3/12*100%)}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:calc(4/12*100%)}.col--offset-4{margin-left:33.3333%}.col--5{--ifm-col-width:calc(5/12*100%)}.col--offset-5{margin-left:41.6667%}.col--6{--ifm-col-width:calc(6/12*100%)}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:calc(7/12*100%)}.col--offset-7{margin-left:58.3333%}.col--8{--ifm-col-width:calc(8/12*100%)}.col--offset-8{margin-left:66.6667%}.col--9{--ifm-col-width:calc(9/12*100%)}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:calc(10/12*100%)}.col--offset-10{margin-left:83.3333%}.col--11{--ifm-col-width:calc(11/12*100%)}.col--offset-11{margin-left:91.6667%}.col--12{--ifm-col-width:calc(12/12*100%)}.col--offset-12{margin-left:100%}.margin--none{margin:0!important}.margin-top--none{margin-top:0!important}.margin-left--none{margin-left:0!important}.margin-bottom--none{margin-bottom:0!important}.margin-right--none{margin-right:0!important}.margin-vert--none{margin-top:0!important;margin-bottom:0!important}.margin-horiz--none{margin-left:0!important;margin-right:0!important}.margin--xs{margin:.25rem!important}.margin-top--xs{margin-top:.25rem!important}.margin-left--xs{margin-left:.25rem!important}.margin-bottom--xs{margin-bottom:.25rem!important}.margin-right--xs{margin-right:.25rem!important}.margin-vert--xs{margin-top:.25rem!important;margin-bottom:.25rem!important}.margin-horiz--xs{margin-left:.25rem!important;margin-right:.25rem!important}.margin--sm{margin:.5rem!important}.margin-top--sm{margin-top:.5rem!important}.margin-left--sm{margin-left:.5rem!important}.margin-bottom--sm{margin-bottom:.5rem!important}.margin-right--sm{margin-right:.5rem!important}.margin-vert--sm{margin-top:.5rem!important;margin-bottom:.5rem!important}.margin-horiz--sm{margin-left:.5rem!important;margin-right:.5rem!important}.margin--md{margin:1rem!important}.margin-top--md{margin-top:1rem!important}.margin-left--md{margin-left:1rem!important}.margin-bottom--md{margin-bottom:1rem!important}.margin-right--md{margin-right:1rem!important}.margin-vert--md{margin-top:1rem!important;margin-bottom:1rem!important}.margin-horiz--md{margin-left:1rem!important;margin-right:1rem!important}.margin--lg{margin:2rem!important}.margin-top--lg{margin-top:2rem!important}.margin-left--lg{margin-left:2rem!important}.margin-bottom--lg{margin-bottom:2rem!important}.margin-right--lg{margin-right:2rem!important}.margin-vert--lg{margin-top:2rem!important;margin-bottom:2rem!important}.margin-horiz--lg{margin-left:2rem!important;margin-right:2rem!important}.margin--xl{margin:5rem!important}.margin-top--xl{margin-top:5rem!important}.margin-left--xl{margin-left:5rem!important}.margin-bottom--xl{margin-bottom:5rem!important}.margin-right--xl{margin-right:5rem!important}.margin-vert--xl{margin-top:5rem!important;margin-bottom:5rem!important}.margin-horiz--xl{margin-left:5rem!important;margin-right:5rem!important}.padding--none{padding:0!important}.padding-top--none{padding-top:0!important}.padding-left--none{padding-left:0!important}.padding-bottom--none{padding-bottom:0!important}.padding-right--none{padding-right:0!important}.padding-vert--none{padding-top:0!important;padding-bottom:0!important}.padding-horiz--none{padding-left:0!important;padding-right:0!important}.padding--xs{padding:.25rem!important}.padding-top--xs{padding-top:.25rem!important}.padding-left--xs{padding-left:.25rem!important}.padding-bottom--xs{padding-bottom:.25rem!important}.padding-right--xs{padding-right:.25rem!important}.padding-vert--xs{padding-top:.25rem!important;padding-bottom:.25rem!important}.padding-horiz--xs{padding-left:.25rem!important;padding-right:.25rem!important}.padding--sm{padding:.5rem!important}.padding-top--sm{padding-top:.5rem!important}.padding-left--sm{padding-left:.5rem!important}.padding-bottom--sm{padding-bottom:.5rem!important}.padding-right--sm{padding-right:.5rem!important}.padding-vert--sm{padding-top:.5rem!important;padding-bottom:.5rem!important}.padding-horiz--sm{padding-left:.5rem!important;padding-right:.5rem!important}.padding--md{padding:1rem!important}.padding-top--md{padding-top:1rem!important}.padding-left--md{padding-left:1rem!important}.padding-bottom--md{padding-bottom:1rem!important}.padding-right--md{padding-right:1rem!important}.padding-vert--md{padding-top:1rem!important;padding-bottom:1rem!important}.padding-horiz--md{padding-left:1rem!important;padding-right:1rem!important}.padding--lg{padding:2rem!important}.padding-top--lg{padding-top:2rem!important}.padding-left--lg{padding-left:2rem!important}.padding-bottom--lg{padding-bottom:2rem!important}.padding-right--lg{padding-right:2rem!important}.padding-vert--lg{padding-top:2rem!important;padding-bottom:2rem!important}.padding-horiz--lg{padding-left:2rem!important;padding-right:2rem!important}.padding--xl{padding:5rem!important}.padding-top--xl{padding-top:5rem!important}.padding-left--xl{padding-left:5rem!important}.padding-bottom--xl{padding-bottom:5rem!important}.padding-right--xl{padding-right:5rem!important}.padding-vert--xl{padding-top:5rem!important;padding-bottom:5rem!important}.padding-horiz--xl{padding-left:5rem!important;padding-right:5rem!important}code{background-color:var(--ifm-code-background);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical)var(--ifm-code-padding-horizontal);vertical-align:middle;border:.1rem solid rgba(0,0,0,.1)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height)var(--ifm-font-family-monospace);margin:0 0 var(--ifm-spacing-vertical);padding:var(--ifm-pre-padding);overflow:auto}pre code{font-size:100%;line-height:inherit;background-color:transparent;border:none;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);border-radius:.2rem;padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top)0 var(--ifm-heading-margin-bottom)0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:before{content:"";display:table}.markdown:after{clear:both;content:"";display:table}.markdown>:last-child{margin-bottom:0!important}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading));margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>pre,.markdown>ul,.markdown>p{margin-bottom:var(--ifm-leading)}.markdown li{word-wrap:break-word}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ul,ol{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ul ul,ul ol,ol ol,ol ul{margin:0}ul ul ol,ul ol ol,ol ul ol,ol ol ol{list-style-type:lower-alpha}table{border-collapse:collapse;margin-bottom:var(--ifm-spacing-vertical);display:block;overflow:auto}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead{background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width)solid var(--ifm-table-border-color)}table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table th,table td{border:var(--ifm-table-border-width)solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);-webkit-text-decoration:var(--ifm-link-decoration);text-decoration:var(--ifm-link-decoration);transition:color var(--ifm-transition-fast)var(--ifm-transition-timing-default)}a:hover{color:var(--ifm-link-hover-color);-webkit-text-decoration:var(--ifm-link-hover-decoration);text-decoration:var(--ifm-link-hover-decoration)}a:not([href]){-webkit-text-decoration:none;text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width)solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);margin:0 0 var(--ifm-spacing-vertical);padding:var(--ifm-blockquote-padding-vertical)var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical)0;border:0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text--break{word-wrap:break-word!important;word-break:break-word!important}.text--no-decoration,.text--no-decoration:hover{-webkit-text-decoration:none;text-decoration:none}.clean-btn{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.clean-list{padding-left:0;list-style:none}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width)solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);color:var(--ifm-alert-foreground-color);padding:var(--ifm-alert-padding-vertical)var(--ifm-alert-padding-horizontal)}.alert__heading{font:bold var(--ifm-h5-font-size)/var(--ifm-heading-line-height)var(--ifm-heading-font-family);text-transform:uppercase;align-items:center;margin-bottom:.5rem;display:flex}.alert__icon{margin-right:.4em;display:inline-flex}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{color:var(--ifm-alert-foreground-color);margin:calc(var(--ifm-alert-padding-vertical)*-1)calc(var(--ifm-alert-padding-horizontal)*-1)0 0;opacity:.75}.alert .close:hover,.alert .close:focus{opacity:1}.alert a{-webkit-text-decoration-color:var(--ifm-alert-border-color);text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size);border-radius:50%;display:block;overflow:hidden}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{text-align:var(--ifm-avatar-intro-alignment);flex-direction:column;flex:1;justify-content:center;display:flex}.avatar__name{font:bold var(--ifm-h4-font-size)/var(--ifm-heading-line-height)var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:.5rem;flex-direction:column;align-items:center}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width)solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);padding:var(--ifm-badge-padding-vertical)var(--ifm-badge-padding-horizontal);line-height:1;display:inline-block}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);--ifm-badge-border-color:var(--ifm-badge-background-color);color:var(--ifm-color-black)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning);--ifm-badge-border-color:var(--ifm-badge-background-color)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger);--ifm-badge-border-color:var(--ifm-badge-background-color)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item{display:inline-block}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator)center;content:" ";filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));display:inline-block}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);color:var(--ifm-font-color-base);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier))calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-property:background,color;transition-duration:var(--ifm-transition-fast);transition-timing-function:var(--ifm-transition-timing-default);display:inline-block}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);-webkit-text-decoration:none;text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width)solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);color:var(--ifm-button-color);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier))calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;transition-property:color,background,border-color;transition-duration:var(--ifm-button-transition-duration);transition-timing-function:var(--ifm-transition-timing-default);line-height:1.5;display:inline-block}.button:hover{color:var(--ifm-button-color);-webkit-text-decoration:none;text-decoration:none}.button--outline{--ifm-button-background-color:transparent;--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--outline:hover,.button--outline:active,.button--outline.button--active{--ifm-button-color:var(--ifm-font-color-base-inverse)}.button--link{--ifm-button-background-color:transparent;--ifm-button-border-color:transparent;color:var(--ifm-link-color);-webkit-text-decoration:var(--ifm-link-decoration);text-decoration:var(--ifm-link-decoration)}.button--link:hover,.button--link:active,.button--link.button--active{color:var(--ifm-link-hover-color);-webkit-text-decoration:var(--ifm-link-hover-decoration);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{width:100%;display:block}.button.button--secondary{color:var(--ifm-color-gray-900)}.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary:active,.button--primary.button--active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary:active,.button--secondary.button--active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success:active,.button--success.button--active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info:active,.button--info.button--active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning:active,.button--warning.button--active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger:active,.button--danger.button--active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{gap:var(--ifm-button-group-spacing);display:inline-flex}.button-group>.button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.button-group>.button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.button-group--block{justify-content:stretch;display:flex}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);flex-direction:column;display:flex;overflow:hidden}.card--full-height{height:100%}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__header,.card__body,.card__footer{padding:var(--ifm-card-vertical-spacing)var(--ifm-card-horizontal-spacing)}.card__header:not(:last-child),.card__body:not(:last-child),.card__footer:not(:last-child){padding-bottom:0}.card__header>:last-child,.card__body>:last-child,.card__footer>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{padding:var(--ifm-toc-padding-vertical)0;margin-bottom:0;font-size:.8rem}.table-of-contents,.table-of-contents ul{padding-left:var(--ifm-toc-padding-horizontal);list-style:none}.table-of-contents li{margin:var(--ifm-toc-padding-vertical)var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link:hover,.table-of-contents__link:hover code,.table-of-contents__link--active,.table-of-contents__link--active code{color:var(--ifm-color-primary);-webkit-text-decoration:none;text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);opacity:.5;transition:opacity var(--ifm-transition-fast)var(--ifm-transition-timing-default);padding:1rem;line-height:1}.close:hover{opacity:.7}.close:focus{opacity:.8}.dropdown{font-weight:var(--ifm-dropdown-font-weight);vertical-align:top;display:inline-flex;position:relative}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;visibility:visible;transform:translateY(-1px)}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);opacity:0;pointer-events:none;min-width:10rem;max-height:80vh;left:0;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);visibility:hidden;z-index:var(--ifm-z-index-dropdown);transition-property:opacity,transform,visibility;transition-duration:var(--ifm-transition-fast);transition-timing-function:var(--ifm-transition-timing-default);padding:.5rem;list-style:none;position:absolute;overflow-y:auto;transform:translateY(-.625rem)}.dropdown__link{color:var(--ifm-dropdown-link-color);white-space:nowrap;border-radius:.25rem;margin-top:.2rem;padding:.25rem .5rem;font-size:.875rem;display:block}.dropdown__link:hover,.dropdown__link--active{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);-webkit-text-decoration:none;text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{content:"";border:.4em solid transparent;border-top-color:currentColor;border-bottom:0 solid;margin-left:.3em;display:inline-block;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical)var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{max-width:var(--ifm-footer-logo-max-width);margin-top:1rem}.footer__title{color:var(--ifm-footer-title-color);font:bold var(--ifm-h4-font-size)/var(--ifm-heading-line-height)var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.footer__item{margin-top:0}.footer__items{margin-bottom:0}[type=checkbox]{padding:0}.hero{background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);align-items:center;padding:4rem 2rem;display:flex}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu{font-weight:var(--ifm-font-weight-semibold);overflow-x:hidden}.menu__list{margin:0;padding-left:0;list-style:none}.menu__list .menu__list{padding-left:var(--ifm-menu-link-padding-horizontal);flex:0 0 100%;margin-top:.25rem}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.menu__list-item--collapsed .menu__link--sublist:after,.menu__list-item--collapsed .menu__caret:before{transform:rotate(90deg)}.menu__list-item-collapsible{transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.25rem;flex-wrap:wrap;display:flex;position:relative}.menu__list-item-collapsible:hover,.menu__list-item-collapsible--active{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link:hover,.menu__list-item-collapsible .menu__link--active{background:0 0!important}.menu__link,.menu__caret{transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.25rem;align-items:center;display:flex}.menu__link:hover,.menu__caret:hover{background:var(--ifm-menu-color-background-hover)}.menu__link{color:var(--ifm-menu-color);padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);transition:color var(--ifm-transition-fast)var(--ifm-transition-timing-default);-webkit-text-decoration:none;text-decoration:none}.menu__link--sublist-caret:after{content:"";background:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem;min-width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast)linear;margin-left:auto;transform:rotate(180deg)}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret{padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal)}.menu__caret:before{content:"";background:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast)linear;transform:rotate(180deg)}html[data-theme=dark],.navbar--dark{--ifm-menu-link-sublist-icon-filter:invert(100%)sepia(94%)saturate(17%)hue-rotate(223deg)brightness(104%)contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical)var(--ifm-navbar-padding-horizontal);display:flex}.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{z-index:var(--ifm-z-index-fixed);position:sticky;top:0}.navbar__inner{flex-wrap:wrap;justify-content:space-between;width:100%;display:flex}.navbar__brand{color:var(--ifm-navbar-link-color);align-items:center;min-width:0;margin-right:1rem;display:flex}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);-webkit-text-decoration:none;text-decoration:none}.navbar__title{flex:auto}.navbar__toggle{margin-right:.5rem;display:none}.navbar__logo{flex:none;height:2rem;margin-right:.5rem}.navbar__logo img{height:100%}.navbar__items{flex:1;align-items:center;min-width:0;display:flex}.navbar__items--center{flex:none}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:none;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{padding:var(--ifm-navbar-item-padding-vertical)var(--ifm-navbar-item-padding-horizontal);display:inline-block}.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link{color:var(--ifm-navbar-link-color);font-weight:var(--ifm-font-weight-semibold)}.navbar__link:hover,.navbar__link--active{color:var(--ifm-navbar-link-hover-color);-webkit-text-decoration:none;text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:rgba(255,255,255,.1);--ifm-navbar-search-input-placeholder-color:rgba(255,255,255,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-navbar-link-hover-color:var(--ifm-color-primary);--ifm-menu-color-background-active:rgba(255,255,255,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color)var(--ifm-navbar-search-input-icon)no-repeat .75rem center/1rem 1rem;color:var(--ifm-navbar-search-input-color);cursor:text;border:none;border-radius:2rem;width:12.5rem;height:2rem;padding:0 .5rem 0 2.25rem;font-size:1rem;display:inline-block}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);opacity:0;visibility:hidden;width:var(--ifm-navbar-sidebar-width);transition-property:opacity,visibility,transform;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;transform:translate(-100%)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar--show .navbar-sidebar{transform:translate(0,0)}.navbar-sidebar__backdrop{opacity:0;visibility:hidden;transition-property:opacity,visibility;transition-duration:var(--ifm-transition-fast);background-color:rgba(0,0,0,.6);transition-timing-function:ease-in-out;position:fixed;inset:0}.navbar-sidebar__brand{box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical)var(--ifm-navbar-padding-horizontal);flex:1;align-items:center;display:flex}.navbar-sidebar__items{height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast)ease-in-out;display:flex;transform:translateZ(0)}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{width:calc(var(--ifm-navbar-sidebar-width));flex-shrink:0;padding:.5rem}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);text-align:left;width:calc(100% + 1rem);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;top:-.5rem}.navbar-sidebar__close{margin-left:auto;display:flex}.pagination{column-gap:var(--ifm-pagination-page-spacing);font-size:var(--ifm-pagination-font-size);padding-left:0;display:flex}.pagination--sm{--ifm-pagination-font-size:.8rem;--ifm-pagination-padding-horizontal:.8rem;--ifm-pagination-padding-vertical:.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{background:var(--ifm-pagination-item-active-background);color:var(--ifm-pagination-color-active)}.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);padding:var(--ifm-pagination-padding-vertical)var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);display:inline-block}.pagination__link:hover{-webkit-text-decoration:none;text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr);display:grid}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast)var(--ifm-transition-timing-default);display:block}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);-webkit-text-decoration:none;text-decoration:none}.pagination-nav__link--next{text-align:right;grid-column:2/3}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills{gap:var(--ifm-pills-spacing);padding-left:0;display:flex}.pills__item{cursor:pointer;font-weight:var(--ifm-font-weight-bold);transition:background var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-radius:.5rem;padding:.25rem 1rem;display:inline-block}.pills__item--active{background:var(--ifm-pills-color-background-active);color:var(--ifm-pills-color-active)}.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{text-align:center;flex-grow:1}.tabs{color:var(--ifm-tabs-color);font-weight:var(--ifm-font-weight-bold);margin-bottom:0;padding-left:0;display:flex;overflow-x:auto}.tabs__item{border-radius:var(--ifm-global-radius);cursor:pointer;padding:var(--ifm-tabs-padding-vertical)var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast)var(--ifm-transition-timing-default);border-bottom:3px solid transparent;display:inline-flex}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);color:var(--ifm-tabs-color-active);border-bottom-right-radius:0;border-bottom-left-radius:0}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-500:var(--ifm-color-gray-500);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:rgba(255,255,255,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%)sepia(11%)saturate(0%)hue-rotate(149deg)brightness(99%)contrast(95%);--ifm-code-background:rgba(255,255,255,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:rgba(255,255,255,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}@media (width>=1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (width<=996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.footer__link-separator{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{width:max-content;display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__item{display:none}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}}@media (width<=576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0s;--ifm-transition-slow:0s}}@media print{.table-of-contents,.footer,.menu,.navbar,.pagination-nav{display:none}.tabs{page-break-inside:avoid}}}@layer docusaurus.theme-common{.themedComponent_mlkZ{display:none}[data-theme=light] .themedComponent--light_NVdE,[data-theme=dark] .themedComponent--dark_xIcU,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}.errorBoundaryError_a6uf{white-space:pre-wrap;color:red}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.anchorTargetStickyNavbar_Vzrq{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorTargetHideOnScrollNavbar_vjPI{scroll-margin-top:.5rem}.details_lb9f{--docusaurus-details-summary-arrow-size:.38rem;--docusaurus-details-transition:transform .2s ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;padding-left:1rem;list-style:none;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{content:"";border-width:var(--docusaurus-details-summary-arrow-size);border-style:solid;border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);transition:var(--docusaurus-details-transition);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2)50%;position:absolute;top:.45rem;left:0;transform:rotate(0)}.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before{transform:rotate(90deg)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child{margin-bottom:0}}@layer docusaurus.theme-classic{:root{--docusaurus-progress-bar-color:var(--ifm-color-primary)}#nprogress{pointer-events:none}#nprogress .bar{background:var(--docusaurus-progress-bar-color);z-index:1031;width:100%;height:2px;position:fixed;top:0;left:0}#nprogress .peg{width:100px;height:100%;box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);opacity:1;position:absolute;right:0;transform:rotate(3deg)translateY(-4px)}.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1);padding:calc(var(--ifm-global-spacing)/2)var(--ifm-global-spacing);color:var(--ifm-color-emphasis-900);background-color:var(--ifm-background-surface-color);position:fixed;top:1rem;left:100%}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{padding:0;line-height:0}.content_knG7{text-align:center;padding:5px 0;font-size:85%}.content_knG7 a{color:inherit;-webkit-text-decoration:underline;text-decoration:underline}:root{--docusaurus-announcement-bar-height:auto}.announcementBar_mb4j{height:var(--docusaurus-announcement-bar-height);background-color:var(--ifm-color-white);color:var(--ifm-color-black);border-bottom:1px solid var(--ifm-color-emphasis-100);align-items:center;display:flex}html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{flex:0 0 30px;align-self:stretch}.announcementBarContent_xLdY{flex:auto}@media print{.announcementBar_mb4j{display:none}}@media (width>=997px){:root{--docusaurus-announcement-bar-height:30px}.announcementBarPlaceholder_vyr4,.announcementBarClose_gvF7{flex-basis:50px}}.toggle_vylO{width:2rem;height:2rem}.toggleButton_gllP{-webkit-tap-highlight-color:transparent;width:100%;height:100%;transition:background var(--ifm-transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleIcon_g3eP{display:none}[data-theme-choice=system] .systemToggleIcon_QzmC,[data-theme-choice=light] .lightToggleIcon_pyhR,[data-theme-choice=dark] .darkToggleIcon_wfgR{display:initial}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}.iconExternalLink_nPIU{margin-left:.3rem}.dropdownNavbarItemMobile_J0Sd{cursor:pointer}.iconLanguage_nlXk{vertical-align:text-bottom;margin-right:5px}.navbarSearchContainer_Bca1:empty{display:none}@media (width<=996px){.navbarSearchContainer_Bca1{right:var(--ifm-navbar-padding-horizontal);position:absolute}}@media (width>=997px){.navbarSearchContainer_Bca1{padding:0 var(--ifm-navbar-item-padding-horizontal)}}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast)ease}.navbarHidden_jGov{transform:translateY(calc(-100% - 2px))}@media (width<=996px){.colorModeToggle_DEke{display:none}}.navbar__items--right>:last-child{padding-right:0}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast)var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover{opacity:1}.hash-link{opacity:0;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none;padding-left:.5rem}.hash-link:before{content:"#"}.hash-link:focus,:hover>.hash-link{opacity:1}html,body{height:100%}.mainWrapper_z2l0{flex-direction:column;flex:1 0 auto;display:flex}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{flex-direction:column;min-height:100%;display:flex}.sidebar_re4s{max-height:calc(100vh - (var(--ifm-navbar-height) + 2rem));top:calc(var(--ifm-navbar-height) + 2rem);position:sticky;overflow-y:auto}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.sidebarItemList_Yudw{font-size:.9rem}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLink_mo7H:hover{-webkit-text-decoration:none;text-decoration:none}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}@media (width<=996px){.sidebar_re4s{display:none}}.yearGroupHeading_rMGB{margin-top:1.6rem;margin-bottom:.4rem}.yearGroupHeading_QT03{margin:1rem .75rem .5rem}.title_f1Hy{font-size:3rem}@media (width<=576px){.title_f1Hy{font-size:2rem}}.container_mt6G{font-size:.9rem}[data-theme=dark] .githubSvg_Uu4N{fill:var(--light)}[data-theme=light] .githubSvg_Uu4N{fill:var(--dark)}[data-theme=dark] .xSvg_y3PF{fill:var(--light)}[data-theme=light] .xSvg_y3PF{fill:var(--dark)}[data-theme=dark] .linkedinSvg_FCgI{fill:var(--light)}[data-theme=light] .linkedinSvg_FCgI{fill:var(--dark)}[data-theme=dark] .blueskySvg_AzZw{fill:var(--light)}[data-theme=light] .blueskySvg_AzZw{fill:var(--dark)}[data-theme=dark] .instagramSvg_YC40{fill:var(--light)}[data-theme=light] .instagramSvg_YC40{fill:var(--dark)}[data-theme=dark] .threadsSvg_PTXY{fill:var(--light)}[data-theme=light] .threadsSvg_PTXY{fill:var(--dark)}:root{--docusaurus-blog-social-icon-size:1rem}.authorSocials_rSDt{height:var(--docusaurus-blog-social-icon-size);line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;flex-wrap:wrap;align-items:center;line-height:0;display:flex;overflow:hidden}.authorSocialLink_owbf{height:var(--docusaurus-blog-social-icon-size);width:var(--docusaurus-blog-social-icon-size);margin-right:.4rem;line-height:0}.authorSocialIcon_XYv3{width:var(--docusaurus-blog-social-icon-size);height:var(--docusaurus-blog-social-icon-size)}.authorImage_XqGP{--ifm-avatar-photo-size:3.6rem}.author-as-h1_n9oJ .authorImage_XqGP{--ifm-avatar-photo-size:7rem}.author-as-h2_gXvM .authorImage_XqGP{--ifm-avatar-photo-size:5.4rem}.authorDetails_lV9A{flex-direction:column;justify-content:space-around;align-items:flex-start;display:flex}.authorName_yefp{flex-direction:row;font-size:1.1rem;line-height:1.1rem;display:flex}.author-as-h1_n9oJ .authorName_yefp{font-size:2.4rem;line-height:2.4rem;display:inline}.author-as-h2_gXvM .authorName_yefp{font-size:1.4rem;line-height:1.4rem;display:inline}.authorTitle_nd0D{line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.8rem;line-height:1rem;display:-webkit-box;overflow:hidden}.author-as-h1_n9oJ .authorTitle_nd0D{font-size:1.2rem;line-height:1.6rem}.author-as-h2_gXvM .authorTitle_nd0D{font-size:1rem;line-height:1.3rem}.authorBlogPostCount_iiJ5{background:var(--ifm-color-secondary);color:var(--ifm-color-black);border-radius:var(--ifm-global-radius);margin-left:.3rem;padding:.1rem .4rem;font-size:.8rem;line-height:1.2}.authorCol_Hf19{max-width:inherit!important}.imageOnlyAuthorRow_pa_O{flex-flow:wrap;display:flex}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.authorListItem_n3yI{margin-bottom:2rem;list-style-type:none}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);width:3rem;height:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1);box-shadow:var(--ifm-global-shadow-lw);transition:all var(--ifm-transition-fast)var(--ifm-transition-timing-default);opacity:0;visibility:hidden;border-radius:50%;position:fixed;bottom:1.3rem;right:1.3rem;transform:scale(0)}.backToTopButton_sjWU:after{content:" ";-webkit-mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;-webkit-mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon)50%/2rem 2rem no-repeat;background-color:var(--ifm-color-emphasis-1000);width:100%;height:100%;display:inline-block}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}.backToTopButtonShow_xfvO{opacity:1;visibility:visible;transform:scale(1)}:root{--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1)}[data-theme=dark]:root{--docusaurus-collapse-button-bg:rgba(255,255,255,.05);--docusaurus-collapse-button-bg-hover:rgba(255,255,255,.1)}@media (width>=997px){.collapseSidebarButton_PEFL{background-color:var(--docusaurus-collapse-button-bg);border:1px solid var(--ifm-toc-border-color);border-radius:0;height:40px;position:sticky;bottom:0;display:block!important}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:hover,.collapseSidebarButton_PEFL:focus{background-color:var(--docusaurus-collapse-button-bg-hover)}}.collapseSidebarButton_PEFL{margin:0;display:none}.menuExternalLink_NmtK{align-items:center}.linkLabel_WmDU{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.categoryLink_byQd{overflow:hidden}.menu__link--sublist-caret:after{margin-left:var(--ifm-menu-link-padding-vertical)}.categoryLinkLabel_W154{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}@media (width>=997px){.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical)var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{scrollbar-gutter:stable;padding:.5rem 0 .5rem .5rem}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width);flex-direction:column;display:flex}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{margin:0 var(--ifm-navbar-padding-horizontal);min-height:var(--ifm-navbar-height);max-height:var(--ifm-navbar-height);align-items:center;color:inherit!important;-webkit-text-decoration:none!important;text-decoration:none!important;display:flex!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}}.sidebarLogo_isFc{display:none}@media (width>=997px){.expandButton_TmdG{width:100%;height:100%;transition:background-color var(--ifm-transition-fast)ease;background-color:var(--docusaurus-collapse-button-bg);justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.expandButton_TmdG:hover,.expandButton_TmdG:focus{background-color:var(--docusaurus-collapse-button-bg-hover)}.expandButtonIcon_i1dp{transform:rotate(0)}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}}:root{--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.docSidebarContainer_YfHR{display:none}@media (width>=997px){.docSidebarContainer_YfHR{width:var(--doc-sidebar-width);margin-top:calc(-1*var(--ifm-navbar-height));border-right:1px solid var(--ifm-toc-border-color);will-change:width;transition:width var(--ifm-transition-fast)ease;clip-path:inset(0);display:block}.docSidebarContainerHidden_DPk8{width:var(--doc-sidebar-hidden-width);cursor:pointer}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}}.docMainContainer_TBSr{width:100%;display:flex}@media (width>=997px){.docMainContainer_TBSr{max-width:calc(100% - var(--doc-sidebar-width));flex-grow:1}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}.docRoot_UBD9{width:100%;display:flex}.docsWrapper_hBAB{flex:1 0 auto;display:flex}.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color);margin-bottom:var(--ifm-leading);box-shadow:var(--ifm-global-shadow-lw);border-radius:var(--ifm-code-border-radius)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockStandalone_MEMb{padding:0}.codeBlockLines_e6Vv{font:inherit;float:left;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{padding:var(--ifm-pre-padding)0;display:table}@media print{.codeBlockLines_e6Vv{white-space:pre-wrap}}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);margin:0 calc(-1*var(--ifm-pre-padding));padding:0 var(--ifm-pre-padding);display:block}.codeLine_lJS_{counter-increment:line-count;display:table-row}.codeLineNumber_Tfdd{text-align:right;width:1%;padding:0 var(--ifm-pre-padding);background:var(--ifm-pre-background);overflow-wrap:normal;display:table-cell;position:sticky;left:0}.codeLineNumber_Tfdd:before{content:counter(line-count);opacity:.4}.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_Vdqa{opacity:1!important}.copyButtonIcons_IEyt{width:1.125rem;height:1.125rem;position:relative}.copyButtonIcon_TrPX,.copyButtonSuccessIcon_cVMy{fill:currentColor;opacity:inherit;width:inherit;height:inherit;transition:all var(--ifm-transition-fast)ease;position:absolute;top:0;left:0}.copyButtonSuccessIcon_cVMy{opacity:0;color:#00d600;top:50%;left:50%;transform:translate(-50%,-50%)scale(.33)}.copyButtonCopied_Vdqa .copyButtonIcon_TrPX{opacity:0;transform:scale(.33)}.copyButtonCopied_Vdqa .copyButtonSuccessIcon_cVMy{opacity:1;transition-delay:75ms;transform:translate(-50%,-50%)scale(1)}.wordWrapButtonIcon_b1P5{width:1.2rem;height:1.2rem}.wordWrapButtonEnabled_uzNF .wordWrapButtonIcon_b1P5{color:var(--ifm-color-primary)}.buttonGroup_M5ko{right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2);column-gap:.2rem;display:flex;position:absolute}.buttonGroup_M5ko button{background:var(--prism-background-color);color:var(--prism-color);border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);transition:opacity var(--ifm-transition-fast)ease-in-out;opacity:0;align-items:center;padding:.4rem;line-height:0;display:flex}.buttonGroup_M5ko button:hover{opacity:1!important}.buttonGroup_M5ko button:focus-visible{opacity:1!important}.theme-code-block:hover .buttonGroup_M5ko button{opacity:.4}.codeBlockContent_QJqH{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_OeMC{border-bottom:1px solid var(--ifm-color-emphasis-300);font-size:var(--ifm-code-font-size);padding:.75rem var(--ifm-pre-padding);border-top-left-radius:inherit;border-top-right-radius:inherit;font-weight:500}.codeBlockTitle_OeMC+.codeBlockContent_QJqH .codeBlock_a8dz{border-top-left-radius:0;border-top-right-radius:0}:root{--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);-webkit-text-decoration:none;text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);padding:.2rem .5rem .3rem;font-size:90%}.tagWithCount_h2kH{border-left:0;align-items:center;padding:0 .5rem 0 1rem;display:flex;position:relative}.tagWithCount_h2kH:before,.tagWithCount_h2kH:after{content:"";border:1px solid var(--docusaurus-tag-list-border);transition:inherit;position:absolute;top:50%}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;width:1.18rem;height:1.18rem;right:100%;transform:translate(50%,-50%)rotate(-45deg)}.tagWithCount_h2kH:after{border-radius:50%;width:.5rem;height:.5rem;left:0;transform:translateY(-50%)}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);color:var(--ifm-color-black);border-radius:var(--ifm-global-radius);margin-left:.3rem;padding:.1rem .4rem;font-size:.7rem;line-height:1.2}.tag_Nnez{margin:.5rem .5rem 0 1rem;display:inline-block}.tags_jXut{display:inline}.tag_QGVx{margin:0 .4rem .5rem 0;display:inline-block}.iconEdit_Z9Sw{vertical-align:sub;margin-right:.3em}.lastUpdated_JAkA{margin-top:.2rem;font-size:smaller;font-style:italic}@media (width>=997px){.lastUpdated_JAkA{text-align:right}}@media print{.noPrint_WFHX{display:none}}.tocCollapsibleButton_TO0P{font-size:inherit;justify-content:space-between;align-items:center;width:100%;padding:.4rem .8rem;display:flex}.tocCollapsibleButton_TO0P:after{content:"";background:var(--ifm-menu-link-sublist-icon)50% 50%/2rem 2rem no-repeat;filter:var(--ifm-menu-link-sublist-icon-filter);width:1.25rem;height:1.25rem;transition:transform var(--ifm-transition-fast);transform:rotate(180deg)}.tocCollapsibleButtonExpanded_MG3E:after{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);padding:.2rem 0;font-size:15px}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tocCollapsibleExpanded_sAul{transform:none}@media (width>=997px){.tocMobile_ITEo{display:none}}@media print{.tocMobile_ITEo{display:none}}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast)ease;margin:0 0 var(--ifm-spacing-vertical);border:1px solid var(--ifm-alert-border-color)}.containsTaskList_mC6p{list-style:none}:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.img_ev3q{height:auto}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight)var(--ifm-h5-font-size)/var(--ifm-heading-line-height)var(--ifm-heading-font-family);text-transform:uppercase}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{vertical-align:middle;margin-right:.4em;display:inline-block}.admonitionIcon_Rf37 svg{width:1.6em;height:1.6em;fill:var(--ifm-alert-foreground-color);display:inline-block}.admonitionContent_BuS1>:last-child{margin-bottom:0}.tableOfContents_bqdL{max-height:calc(100vh - (var(--ifm-navbar-height) + 2rem));top:calc(var(--ifm-navbar-height) + 1rem);position:sticky;overflow-y:auto}@media (width<=996px){.tableOfContents_bqdL{display:none}.docItemContainer_F8PC{padding:0 .3rem}}.breadcrumbHomeIcon_YNFT{vertical-align:top;width:1.1rem;height:1.1rem;position:relative;top:1px}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:.8;margin-bottom:.8rem}.docItemContainer_Djhp header+*,.docItemContainer_Djhp article>:first-child{margin-top:0}@media (width>=997px){.docItemCol_VOVn{max-width:75%!important}}}@layer docusaurus.core{#__docusaurus-base-url-issue-banner-container{display:none}}@layer docusaurus.plugin-debug;@layer docusaurus.theme-mermaid{.container_lyt7,.container_lyt7>svg{max-width:100%}}@layer docusaurus.theme-live-codeblock,docusaurus.theme-search-algolia.docsearch,docusaurus.theme-search-algolia;:root{--ifm-color-primary:#1684ff;--ifm-color-primary-dark:#0872eb;--ifm-color-primary-darker:#066bdc;--ifm-color-primary-darkest:#0758b4;--ifm-color-primary-light:#3495ff;--ifm-color-primary-lighter:#43a0ff;--ifm-color-primary-lightest:#7abfff;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:rgba(0,0,0,.1);--ifm-navbar-background-color:rgba(255,255,255,.85);--ifm-background-surface-color:#fff;--ifm-color-content:#1f2430;--ifm-color-content-secondary:#6b7280;--banner-gradient-from:#f8fbff;--banner-gradient-to:#ecfeff;--home-border:rgba(15,23,42,.08);--home-border-strong:rgba(15,23,42,.16);--home-hero-bg:linear-gradient(180deg,#f7fbff 0%,#fff 72%);--home-grid-image:linear-gradient(rgba(22,132,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(22,132,255,.055) 1px,transparent 1px);--home-glow-a:rgba(22,132,255,.28);--home-glow-b:rgba(17,201,232,.2);--home-brand-gradient:linear-gradient(120deg,#11c9e8 0%,#1684ff 52%,#073de1 100%);--home-primary-glow:rgba(22,132,255,.35);--home-badge-bg:rgba(22,132,255,.075);--home-badge-border:rgba(22,132,255,.18);--home-badge-text-dark:#0864c8;--home-window-bg:#fff;--home-window-bar:#f8fafc;--home-window-shadow:0 30px 60px -20px rgba(15,23,42,.25);--home-code-kw:#2563eb;--home-code-tbl:#0891b2;--home-tag-bg:rgba(22,132,255,.1);--home-tag-warm-bg:rgba(245,158,11,.14);--home-tag-warm-text:#b45309;--home-soft-bg:#f8fafc;--home-cta-bg:linear-gradient(120deg,#0b72e7 0%,#1684ff 52%,#08b9d7 100%)}[data-theme=dark]{--ifm-color-primary:#53a8ff;--ifm-color-primary-dark:#2993ff;--ifm-color-primary-darker:#1689ff;--ifm-color-primary-darkest:#0070df;--ifm-color-primary-light:#7dbdff;--ifm-color-primary-lighter:#91c7ff;--ifm-color-primary-lightest:#cbe5ff;--docusaurus-highlighted-code-line-bg:rgba(255,255,255,.1);--ifm-background-color:#0f1220;--ifm-background-surface-color:#171a2b;--ifm-navbar-background-color:rgba(15,18,32,.85);--ifm-color-content:#e7e9f3;--ifm-color-content-secondary:#9aa0b5;--banner-gradient-from:#12162a;--banner-gradient-to:#0f1220;--home-border:rgba(255,255,255,.08);--home-border-strong:rgba(255,255,255,.16);--home-hero-bg:linear-gradient(180deg,#0c0f1d 0%,#0f1220 100%);--home-grid-image:linear-gradient(rgba(56,189,248,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.09) 1px,transparent 1px);--home-glow-a:rgba(22,132,255,.34);--home-glow-b:rgba(17,201,232,.22);--home-brand-gradient:linear-gradient(120deg,#22d3ee 0%,#53a8ff 50%,#4770ff 100%);--home-primary-glow:rgba(22,132,255,.46);--home-badge-bg:rgba(83,168,255,.12);--home-badge-border:rgba(83,168,255,.28);--home-badge-text-dark:#bae0ff;--home-window-bg:#12162a;--home-window-bar:#0d101d;--home-window-shadow:0 30px 60px -20px rgba(0,0,0,.6);--home-code-kw:#7dbdff;--home-code-tbl:#38bdf8;--home-tag-bg:rgba(83,168,255,.16);--home-tag-warm-bg:rgba(245,158,11,.18);--home-tag-warm-text:#fbbf24;--home-soft-bg:#10131f;--home-cta-bg:linear-gradient(120deg,#075fc4 0%,#137fe8 52%,#078da8 100%)}table{width:100%;display:table}table thead tr{border-bottom:none}.navbar{-webkit-backdrop-filter:saturate(180%)blur(8px);backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--home-border);box-shadow:0 4px 18px rgba(15,67,120,.043)}.navbar__logo{width:38px;height:38px}.navbar__logo img{object-fit:contain;width:100%;height:100%}.navbar__title{letter-spacing:-.025em;font-weight:800}.header-github-link:hover{opacity:.6}.header-github-link:before{content:"";background:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;width:24px;height:24px;display:flex}[data-theme=dark] .header-github-link:before{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat}.main_mXnJ{max-width:1100px;margin:0 auto;padding:3rem 1rem 5rem}.hero_Xgt0{text-align:center;margin-bottom:3rem}.title_P3Qk{margin-bottom:.75rem;font-size:2.4rem}.subtitle_E8C4{color:var(--ifm-color-content-secondary);font-size:1.1rem}.grid_N3Zu{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.card_SFkr{border:1px solid var(--ifm-color-emphasis-200);background:var(--ifm-background-surface-color);border-radius:12px;flex-direction:column;gap:.6rem;padding:1.75rem;display:flex}.icon_ZV17{font-size:2rem}.cardTitle_tde4{margin:0}.cardDesc_eKeg{color:var(--ifm-color-content-secondary);flex:1}.hero_reY0{border-bottom:1px solid var(--home-border);background:var(--home-hero-bg);padding:6rem 1.5rem 5rem;position:relative;overflow:hidden}.gridBg_zRbt{background-image:var(--home-grid-image);pointer-events:none;background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,transparent 100%);mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,transparent 100%)}.glowA_dnBZ,.glowB_NjYj{filter:blur(90px);opacity:.55;pointer-events:none;border-radius:50%;position:absolute}.glowA_dnBZ{background:var(--home-glow-a);width:460px;height:460px;top:-180px;right:6%}.glowB_NjYj{background:var(--home-glow-b);width:380px;height:380px;bottom:-200px;left:-80px}.inner_IGGz{z-index:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:3.5rem;max-width:1200px;margin:0 auto;display:grid;position:relative}.left_uKTZ{text-align:left}.badge_D9jF{letter-spacing:.01em;color:var(--ifm-color-primary-dark);background:var(--home-badge-bg);border:1px solid var(--home-badge-border);border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.35rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}[data-theme=dark] .badge_D9jF{color:var(--home-badge-text-dark)}.badgeDot_ycdE{background:var(--ifm-color-primary);width:7px;height:7px;box-shadow:0 0 0 3px var(--home-glow-a);border-radius:50%}.title_DbXn{letter-spacing:-.035em;align-items:center;gap:0;margin:0 0 .5rem;font-size:4.25rem;font-weight:900;line-height:1.02;display:flex}.brandLogo_fzYv{object-fit:contain;width:74px;height:74px;margin-right:.7rem}.titleGrad_wsmG{background:var(--home-brand-gradient);-webkit-text-fill-color:transparent;color:transparent;-webkit-background-clip:text;background-clip:text}@media (width<=600px){.title_DbXn{font-size:3rem}.brandLogo_fzYv{width:56px;height:56px;margin-right:.45rem}}.tagline_Omcq{color:var(--ifm-color-content);margin:0 0 .85rem;font-size:1.55rem;font-weight:700}.desc_oE5c{color:var(--ifm-color-content-secondary);max-width:34rem;margin:0 0 2rem;font-size:1.05rem;line-height:1.7}.actions_BPoi{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.ctaPrimary_nzdu{background:var(--home-brand-gradient);box-shadow:0 10px 24px -8px var(--home-primary-glow);border:none;transition:transform .18s,box-shadow .18s}.ctaPrimary_nzdu:hover{box-shadow:0 16px 32px -8px var(--home-primary-glow);background:var(--home-brand-gradient);transform:translateY(-2px)}.arrow_ohpH{margin-left:.5rem;transition:transform .18s;display:inline-block}.ctaPrimary_nzdu:hover .arrow_ohpH{transform:translate(3px)}.ctaSecondary_ioAi{border:1px solid var(--home-border-strong);color:var(--ifm-color-content);background:0 0}.ctaSecondary_ioAi:hover{border-color:var(--ifm-color-primary);color:var(--ifm-color-primary);background:0 0}.ghLink_HXFT{color:var(--ifm-color-content-secondary);font-weight:600;-webkit-text-decoration:none;text-decoration:none}.ghLink_HXFT:hover{color:var(--ifm-color-primary);-webkit-text-decoration:none;text-decoration:none}.stats_UghV{border-top:1px solid var(--home-border);flex-wrap:wrap;gap:2.25rem;margin:3rem 0 0;padding:1.75rem 0 0;list-style:none;display:flex}.stats_UghV li{flex-direction:column;gap:.2rem;display:flex}.stats_UghV strong{letter-spacing:-.02em;color:var(--ifm-color-content);background:var(--home-brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800}.stats_UghV span{color:var(--ifm-color-content-secondary);font-size:.85rem}.right_YUha{perspective:1200px}.window_mZAp{border:1px solid var(--home-border);background:var(--home-window-bg);box-shadow:var(--home-window-shadow);border-radius:16px;transition:transform .4s;overflow:hidden;transform:rotateY(-2deg)rotateX(1deg)}.window_mZAp:hover{transform:rotateY(0)rotateX(0)}.windowBar_IG7S{border-bottom:1px solid var(--home-border);background:var(--home-window-bar);align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex}.dots_dSgu{gap:6px;display:inline-flex}.dots_dSgu i{border-radius:50%;width:11px;height:11px;display:block}.dots_dSgu i:first-child{background:#ff5f57}.dots_dSgu i:nth-child(2){background:#febc2e}.dots_dSgu i:nth-child(3){background:#28c840}.windowTitle_C7Wi{font-size:.82rem;font-family:var(--ifm-font-family-monospace);color:var(--ifm-color-content-secondary)}.pane_IGTq{padding:1.1rem 1.25rem}.paneLabel_AJ3a{text-transform:uppercase;letter-spacing:.08em;color:var(--ifm-color-content-secondary);margin-bottom:.6rem;font-size:.72rem;font-weight:700}.code_ciTM{font-family:var(--ifm-font-family-monospace);white-space:pre;color:var(--ifm-color-content);font-size:.88rem;line-height:1.85;overflow-x:auto}.kw_CYEt{color:var(--home-code-kw);font-weight:700}.tbl_ICwn{color:var(--home-code-tbl)}.divider_ybTj{text-transform:uppercase;letter-spacing:.08em;color:var(--ifm-color-content-secondary);background:var(--home-window-bar);border-top:1px solid var(--home-border);border-bottom:1px solid var(--home-border);align-items:center;gap:.5rem;margin:0;padding:.55rem 1.25rem;font-size:.72rem;font-weight:700;display:flex}.dividerDot_PbM6{background:#28c840;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px rgba(40,200,64,.18)}.result_UYmE{flex-direction:column;gap:.55rem;display:flex}.resLine_Yxvh{font-family:var(--ifm-font-family-monospace);color:var(--ifm-color-content);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.check_W2bt{color:#22c55e;font-weight:800}.tag_bkpi{color:var(--ifm-color-primary-dark);background:var(--home-tag-bg);border-radius:6px;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.tagWarm_CVvE{color:var(--home-tag-warm-text);background:var(--home-tag-warm-bg);border-radius:6px;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.arrowSm_NRI0{color:var(--ifm-color-content-secondary)}@media (width<=996px){.hero_reY0{padding:4.5rem 1.25rem 3.5rem}.inner_IGGz{grid-template-columns:1fr;gap:2.5rem}.title_DbXn{font-size:3.25rem}.tagline_Omcq{font-size:1.3rem}.stats_UghV{gap:1.75rem}.window_mZAp{transform:none}}@media (width<=600px){.title_DbXn{font-size:2.6rem}.stats_UghV li{min-width:40%}}.section_eBTT{text-align:center;max-width:1160px;margin:0 auto;padding:0 1.5rem 1rem}.lead_wHuz{letter-spacing:.06em;text-transform:uppercase;color:var(--ifm-color-content-secondary);margin-bottom:1.75rem;font-size:.85rem;font-weight:600}.row_w6Q8{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.item_Mtdw{border:1px solid var(--home-border);background:var(--ifm-background-surface-color);color:var(--ifm-color-content-secondary);border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;transition:transform .18s,border-color .18s,color .18s;display:flex}.item_Mtdw:hover{border-color:var(--home-border-strong);color:var(--ifm-color-content);transform:translateY(-3px)}.item_Mtdw img{object-fit:contain;filter:grayscale();opacity:.75;width:20px;height:20px;transition:filter .18s,opacity .18s}.fallbackIcon_XJXT{width:20px;height:20px;color:var(--ifm-color-primary);opacity:.72;place-items:center;font-size:.65rem;display:grid}.item_Mtdw:hover img{filter:grayscale(0%);opacity:1}@media (width<=600px){.item_Mtdw span{display:none}.item_Mtdw{padding:.55rem}}.section_R2J0{max-width:1160px;margin:0 auto;padding:5.5rem 1.5rem 4.5rem}.header_nMSq{text-align:center;max-width:640px;margin:0 auto 3rem}.eyebrow_KQpq{letter-spacing:.1em;text-transform:uppercase;color:var(--ifm-color-primary);margin-bottom:.75rem;font-size:.8rem;font-weight:700;display:inline-block}.heading_fnW7{letter-spacing:-.02em;margin:0 0 .75rem;font-size:2.15rem;font-weight:800}.subheading_cJ8g{color:var(--ifm-color-content-secondary);margin:0;font-size:1.05rem}.grid_vg4X{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.card_ooQ2{border:1px solid var(--home-border);background:var(--ifm-background-surface-color);border-radius:16px;padding:1.85rem 1.6rem;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.card_ooQ2:before{content:"";background:var(--home-brand-gradient);opacity:0;height:3px;transition:opacity .2s;position:absolute;inset:0 0 auto}.card_ooQ2:hover{box-shadow:0 18px 40px -18px var(--home-primary-glow);border-color:transparent;transform:translateY(-5px)}.card_ooQ2:hover:before{opacity:1}.iconWrap_ISBW{background:var(--home-badge-bg);border:1px solid var(--home-badge-border);border-radius:13px;place-items:center;width:48px;height:48px;margin-bottom:1.1rem;display:grid}.iconWrap_ISBW svg{width:27px;height:27px;color:var(--ifm-color-primary)}.iconAccent_kca4{stroke-width:2.15px}.cardTitle_FpVF{margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.cardDesc_Hcpx{color:var(--ifm-color-content-secondary);margin:0;font-size:.95rem;line-height:1.65}@media (width<=996px){.grid_vg4X{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.section_R2J0{padding:3.5rem 1.25rem 3rem}.heading_fnW7{font-size:1.7rem}.grid_vg4X{grid-template-columns:1fr}}.section_XM3Q{max-width:1160px;margin:0 auto;padding:1rem 1.5rem 5rem}.row_mLVB{align-items:center;gap:3.5rem;margin:4rem 0;display:flex}.reverse_tY76{flex-direction:row-reverse}.info_rZXn{flex:1}.eyebrow_cIXQ{letter-spacing:.1em;text-transform:uppercase;color:var(--ifm-color-primary);margin-bottom:.6rem;font-size:.78rem;font-weight:700;display:inline-block}.title_ULaK{letter-spacing:-.02em;margin-bottom:1rem;font-size:1.75rem;font-weight:800}.desc_yXFq{color:var(--ifm-color-content-secondary);margin-bottom:1.5rem;font-size:1rem;line-height:1.75}.steps_EEbF{counter-reset:step;flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.step_eGvK{color:var(--ifm-color-content);align-items:center;gap:.7rem;font-size:.95rem;display:flex}.stepNo_MhRk{color:#fff;background:var(--home-brand-gradient);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.78rem;font-weight:700;display:grid}.showcase_mNzI{flex:1.15}.showcase_mNzI img{border:1px solid var(--home-border);background:var(--ifm-background-surface-color);width:100%;box-shadow:0 24px 50px -28px var(--home-primary-glow);border-radius:16px}@media (width<=996px){.row_mLVB,.reverse_tY76{flex-direction:column;gap:2rem;margin:3rem 0}.showcase_mNzI{width:100%}}.band_iMg9{max-width:1160px;margin:0 auto 5rem;padding:0 1.5rem}.inner_s1W7{text-align:center;background:var(--home-cta-bg);color:#fff;border-radius:24px;padding:4rem 2rem;position:relative;overflow:hidden}.inner_s1W7:before{content:"";pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70% at 50% 0,#000 20%,transparent 80%);mask-image:radial-gradient(70% 70% at 50% 0,#000 20%,transparent 80%)}.title_Xeao{letter-spacing:-.02em;color:#fff;margin:0 0 .75rem;font-size:2rem;font-weight:800;position:relative}.desc_fTY7{color:rgba(255,255,255,.85);margin:0 0 2rem;font-size:1.05rem;position:relative}.actions_AcwB{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex;position:relative}.primary_lgmO{color:#4f46e5;background:#fff;border:none;font-weight:700}.primary_lgmO:hover{color:#4f46e5;background:#f1f0ff}.secondary_m1GY{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);font-weight:700}.secondary_m1GY:hover{color:#fff;background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.7)}@media (width<=600px){.inner_s1W7{padding:3rem 1.25rem}.title_Xeao{font-size:1.5rem}}.main_iUjq{background:var(--ifm-background-color)} \ No newline at end of file diff --git a/website/blog/assets/01-parser-market.png b/en/assets/images/01-parser-market-69347f790ddfccf38bcd49b4df85e909.png similarity index 100% rename from website/blog/assets/01-parser-market.png rename to en/assets/images/01-parser-market-69347f790ddfccf38bcd49b4df85e909.png diff --git a/website/blog/assets/02-legacy-architecture.png b/en/assets/images/02-legacy-architecture-8c0e245dcac8e3570e5a686b9f58b9d9.png similarity index 100% rename from website/blog/assets/02-legacy-architecture.png rename to en/assets/images/02-legacy-architecture-8c0e245dcac8e3570e5a686b9f58b9d9.png diff --git a/website/blog/assets/03-calcite-layered-article.png b/en/assets/images/03-calcite-layered-article-1d0e86b355eba0e53d237d95afd4d3a6.png similarity index 100% rename from website/blog/assets/03-calcite-layered-article.png rename to en/assets/images/03-calcite-layered-article-1d0e86b355eba0e53d237d95afd4d3a6.png diff --git a/website/blog/assets/04-druid-syntax-layer.png b/en/assets/images/04-druid-syntax-layer-815515eac5295f9f772e1beb97f04c11.png similarity index 100% rename from website/blog/assets/04-druid-syntax-layer.png rename to en/assets/images/04-druid-syntax-layer-815515eac5295f9f772e1beb97f04c11.png diff --git a/website/blog/assets/05-druid-layer-structure.png b/en/assets/images/05-druid-layer-structure-5737c5a7826cff1a2874cf2b927ccd34.png similarity index 100% rename from website/blog/assets/05-druid-layer-structure.png rename to en/assets/images/05-druid-layer-structure-5737c5a7826cff1a2874cf2b927ccd34.png diff --git a/website/blog/assets/06-business-layer.png b/en/assets/images/06-business-layer-46c84fa8b5f3c12f0316fc058e9daf15.png similarity index 100% rename from website/blog/assets/06-business-layer.png rename to en/assets/images/06-business-layer-46c84fa8b5f3c12f0316fc058e9daf15.png diff --git a/website/blog/assets/07-application-components.png b/en/assets/images/07-application-components-3fa01967e1605c21791788f2a06212eb.png similarity index 100% rename from website/blog/assets/07-application-components.png rename to en/assets/images/07-application-components-3fa01967e1605c21791788f2a06212eb.png diff --git a/website/blog/assets/08-inherit-baseclient.png b/en/assets/images/08-inherit-baseclient-cb4fb84bd3af91ceb7d6b08e4ec7d466.png similarity index 100% rename from website/blog/assets/08-inherit-baseclient.png rename to en/assets/images/08-inherit-baseclient-cb4fb84bd3af91ceb7d6b08e4ec7d466.png diff --git a/website/blog/assets/09-register-client.png b/en/assets/images/09-register-client-c6216b08439b96af51fda129de838a4e.png similarity index 100% rename from website/blog/assets/09-register-client.png rename to en/assets/images/09-register-client-c6216b08439b96af51fda129de838a4e.png diff --git a/website/blog/assets/10-after-refactor.png b/en/assets/images/10-after-refactor-c8b89cd447d9cea7894354ffea6a2fdf.png similarity index 100% rename from website/blog/assets/10-after-refactor.png rename to en/assets/images/10-after-refactor-c8b89cd447d9cea7894354ffea6a2fdf.png diff --git a/website/blog/assets/11-function-visitor.png b/en/assets/images/11-function-visitor-43a9830686ce367f536545b5691f504f.png similarity index 100% rename from website/blog/assets/11-function-visitor.png rename to en/assets/images/11-function-visitor-43a9830686ce367f536545b5691f504f.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en.png" "b/en/assets/images/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en-710c1c16b39bd3885dfe50d51143759f.png" similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en.png" rename to "en/assets/images/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en-710c1c16b39bd3885dfe50d51143759f.png" diff --git a/en/assets/js/01a85c17.35e1a59a.js b/en/assets/js/01a85c17.35e1a59a.js new file mode 100644 index 0000000..7e05143 --- /dev/null +++ b/en/assets/js/01a85c17.35e1a59a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9786"],{7645(e,t,a){a.d(t,{J_:()=>b,x:()=>i,Gx:()=>_,Ki:()=>k,kJ:()=>x,OU:()=>C,e7:()=>m,in:()=>c});var s=a(4848),r=a(6540),l=a(2260),n=a(8491);function i(){let e=(0,n.A)(),t=e?.data?.blogMetadata;if(!t)throw Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}let o=r.createContext(null);function c({children:e,content:t,isBlogPostPage:a=!1}){let l=function({content:e,isBlogPostPage:t}){return(0,r.useMemo)(()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,toc:e.toc,isBlogPostPage:t}),[e,t])}({content:t,isBlogPostPage:a});return(0,s.jsx)(o.Provider,{value:l,children:e})}function m(){let e=(0,r.useContext)(o);if(null===e)throw new l.dV("BlogPostProvider");return e}var u=a(6497),d=a(898);let g=e=>new Date(e).toISOString();function h(e){let t=e.map(j);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:function({imageUrl:e,caption:t}){return{"@type":"ImageObject","@id":e,url:e,contentUrl:e,caption:t}}({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function x(e){let{siteConfig:t}=(0,d.A)(),{withBaseUrl:a}=(0,u.hH)(),{metadata:{blogDescription:s,blogTitle:r,permalink:l}}=e,n=`${t.url}${l}`;return{"@context":"https://schema.org","@type":"Blog","@id":n,mainEntityOfPage:n,headline:r,description:s,blogPost:e.items.map(e=>(function(e,t,a){let{assets:s,frontMatter:r,metadata:l}=e,{date:n,title:i,description:o,lastUpdatedAt:c}=l,m=s.image??r.image,u=r.keywords??[],d=`${t.url}${l.permalink}`,x=c?g(c):void 0;return{"@type":"BlogPosting","@id":d,mainEntityOfPage:d,url:d,headline:i,name:i,description:o,datePublished:n,...x?{dateModified:x}:{},...h(l.authors),...p(m,a,i),...u?{keywords:u}:{}}})(e.content,t,a))}}function b(){let e=i(),{assets:t,metadata:a}=m(),{siteConfig:s}=(0,d.A)(),{withBaseUrl:r}=(0,u.hH)(),{date:l,title:n,description:o,frontMatter:c,lastUpdatedAt:x}=a,b=t.image??c.image,j=c.keywords??[],f=x?g(x):void 0,v=`${s.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":v,mainEntityOfPage:v,url:v,headline:n,name:n,description:o,datePublished:l,...f?{dateModified:f}:{},...h(a.authors),...p(b,r,n),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}var f=a(6347),v=a(5310),N=a(618),A=a(9209);function _(e){let{pathname:t}=(0,f.zy)();return(0,r.useMemo)(()=>e.filter(e=>!e.unlisted||!!(0,A.ys)(e.permalink,t)),[e,t])}function k(e){let t=Object.entries((0,N.$z)(e,e=>`${new Date(e.date).getFullYear()}`));return t.reverse(),t}function C({items:e,ulClassName:t,liClassName:a,linkClassName:r,linkActiveClassName:l}){return(0,s.jsx)("ul",{className:t,children:e.map(e=>(0,s.jsx)("li",{className:a,children:(0,s.jsx)(v.A,{isNavLink:!0,to:e.permalink,className:r,activeClassName:l,children:e.title})},e.permalink))})}},8579(e,t,a){a.d(t,{A:()=>N});var s=a(4848),r=a(6540),l=a(4164),n=a(6525),i=a(3741),o=a(568),c=a(7645),m=a(1022),u=a(2072);function d({year:e,yearGroupHeadingClassName:t,children:a}){return(0,s.jsxs)("div",{role:"group",children:[(0,s.jsx)(u.A,{as:"h3",className:t,children:e}),a]})}let g=(0,r.memo)(function({items:e,yearGroupHeadingClassName:t,ListComponent:a}){if(!(0,m.p)().blog.sidebar.groupByYear)return(0,s.jsx)(a,{items:e});{let r=(0,c.Ki)(e);return(0,s.jsx)(s.Fragment,{children:r.map(([e,r])=>(0,s.jsx)(d,{year:e,yearGroupHeadingClassName:t,children:(0,s.jsx)(a,{items:r})},e))})}}),h=({items:e})=>(0,s.jsx)(c.OU,{items:e,ulClassName:(0,l.A)("sidebarItemList_Yudw","clean-list"),liClassName:"sidebarItem__DBe",linkClassName:"sidebarItemLink_mo7H",linkActiveClassName:"sidebarItemLinkActive_I1ZP"}),p=(0,r.memo)(function({sidebar:e}){let t=(0,c.Gx)(e.items);return(0,s.jsx)("aside",{className:"col col--3",children:(0,s.jsxs)("nav",{className:(0,l.A)("sidebar_re4s","thin-scrollbar"),"aria-label":(0,o.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,s.jsx)("div",{className:(0,l.A)("sidebarItemTitle_pO2u","margin-bottom--md"),children:e.title}),(0,s.jsx)(g,{items:t,ListComponent:h,yearGroupHeadingClassName:"yearGroupHeading_rMGB"})]})})});var x=a(7e3);let b=({items:e})=>(0,s.jsx)(c.OU,{items:e,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"});function j({sidebar:e}){let t=(0,c.Gx)(e.items);return(0,s.jsx)(g,{items:t,ListComponent:b,yearGroupHeadingClassName:"yearGroupHeading_QT03"})}let f=(0,r.memo)(function(e){return(0,s.jsx)(x.GX,{component:j,props:e})});function v({sidebar:e}){let t=(0,i.l)();return e?.items.length?"mobile"===t?(0,s.jsx)(f,{sidebar:e}):(0,s.jsx)(p,{sidebar:e}):null}function N(e){let{sidebar:t,toc:a,children:r,...i}=e,o=t&&t.items.length>0;return(0,s.jsx)(n.A,{...i,children:(0,s.jsx)("div",{className:"container margin-vert--lg",children:(0,s.jsxs)("div",{className:"row",children:[(0,s.jsx)(v,{sidebar:t}),(0,s.jsx)("main",{className:(0,l.A)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:r}),a&&(0,s.jsx)("div",{className:"col col--2",children:a})]})})})}},3456(e,t,a){a.r(t),a.d(t,{default:()=>h});var s=a(4848);a(6540);var r=a(4164),l=a(568),n=a(4308),i=a(8287),o=a(8579),c=a(535),m=a(2072);function u({letterEntry:e}){return(0,s.jsxs)("article",{children:[(0,s.jsx)(m.A,{as:"h2",id:e.letter,children:e.letter}),(0,s.jsx)("ul",{className:"padding--none",children:e.tags.map(e=>(0,s.jsx)("li",{className:"tag_Nnez",children:(0,s.jsx)(c.A,{...e})},e.permalink))}),(0,s.jsx)("hr",{})]})}function d({tags:e}){let t,a=(t={},Object.values(e).forEach(e=>{let a=e.label[0].toUpperCase();t[a]??=[],t[a].push(e)}),Object.entries(t).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({letter:e,tags:t.sort((e,t)=>e.label.localeCompare(t.label))})));return(0,s.jsx)("section",{className:"margin-vert--lg",children:a.map(e=>(0,s.jsx)(u,{letterEntry:e},e.letter))})}var g=a(4175);function h({tags:e,sidebar:t}){let a=(0,l.T)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});return(0,s.jsxs)(n.e3,{className:(0,r.A)(i.G.wrapper.blogPages,i.G.page.blogTagsListPage),children:[(0,s.jsx)(n.be,{title:a}),(0,s.jsx)(g.A,{tag:"blog_tags_list"}),(0,s.jsxs)(o.A,{sidebar:t,children:[(0,s.jsx)(m.A,{as:"h1",children:a}),(0,s.jsx)(d,{tags:e})]})]})}},535(e,t,a){a.d(t,{A:()=>n});var s=a(4848);a(6540);var r=a(4164),l=a(5310);function n({permalink:e,label:t,count:a,description:i}){return(0,s.jsxs)(l.A,{rel:"tag",href:e,title:i,className:(0,r.A)("tag_zVej",a?"tagWithCount_h2kH":"tagRegular_sFm0"),children:[t,a&&(0,s.jsx)("span",{children:a})]})}}}]); \ No newline at end of file diff --git a/en/assets/js/02854a60.7f72547b.js b/en/assets/js/02854a60.7f72547b.js new file mode 100644 index 0000000..e3e9aa0 --- /dev/null +++ b/en/assets/js/02854a60.7f72547b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8384"],{7455(e,n,r){r.r(n),r.d(n,{metadata:()=>s,default:()=>u,frontMatter:()=>l,contentTitle:()=>i,toc:()=>d,assets:()=>o});var s=JSON.parse('{"id":"quickstart/setup","title":"Quick Start","description":"Add the dependency, build and run SqlParserX locally","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/quickstart/setup.md","sourceDirName":"quickstart","slug":"/quickstart/setup","permalink":"/SqlParserX/en/docs/next/quickstart/setup","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/quickstart/setup.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"Quick Start","description":"Add the dependency, build and run SqlParserX locally","sidebar_label":"Setup & Build","sidebar_position":1},"sidebar":"docs","previous":{"title":"Architecture","permalink":"/SqlParserX/en/docs/next/about/architecture"},"next":{"title":"SQL Type Detection","permalink":"/SqlParserX/en/docs/next/core/sql-type"}}'),a=r(4848),t=r(8453);let l={title:"Quick Start",description:"Add the dependency, build and run SqlParserX locally",sidebar_label:"Setup & Build",sidebar_position:1},i="Quick Start",o={},d=[{value:"1. Requirements",id:"1-requirements",level:2},{value:"2. Add the Dependency",id:"2-add-the-dependency",level:2},{value:"3. Hello World: Parse a SQL",id:"3-hello-world-parse-a-sql",level:2},{value:"4. Next Steps",id:"4-next-steps",level:2}];function c(e){let n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"quick-start",children:"Quick Start"})}),"\n",(0,a.jsx)(n.h2,{id:"1-requirements",children:"1. Requirements"}),"\n",(0,a.jsxs)(n.table,{children:[(0,a.jsx)(n.thead,{children:(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.th,{children:"Dependency"}),(0,a.jsx)(n.th,{children:"Version"})]})}),(0,a.jsxs)(n.tbody,{children:[(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"JDK"}),(0,a.jsx)(n.td,{children:"Java 8+"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"Maven"}),(0,a.jsx)(n.td,{children:"3.6+"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsxs)(n.td,{children:["Node.js (only ",(0,a.jsx)(n.code,{children:"sqlparserx-ui"}),")"]}),(0,a.jsx)(n.td,{children:">= 20"})]})]})]}),"\n",(0,a.jsx)(n.h2,{id:"2-add-the-dependency",children:"2. Add the Dependency"}),"\n",(0,a.jsxs)(n.p,{children:["Add the ",(0,a.jsx)(n.strong,{children:"business parsing layer"})," ",(0,a.jsx)(n.code,{children:"sqlparserx-core"})," to your ",(0,a.jsx)(n.code,{children:"pom.xml"}),":"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-xml",children:"\n com.dtstack\n sqlparserx-core\n 1.0-SNAPSHOT\n\n"})}),"\n",(0,a.jsxs)(n.p,{children:[":::tip Dependency note\n",(0,a.jsx)(n.code,{children:"sqlparserx-core"})," transitively brings in ",(0,a.jsx)(n.code,{children:"sqlparserx-syntax"})," (syntax layer) and official Druid, so business parsing only needs the single ",(0,a.jsx)(n.code,{children:"core"})," coordinate. If you only need SQL\u2192AST syntax parsing, you can depend on ",(0,a.jsx)(n.code,{children:"sqlparserx-syntax"})," alone.\n:::"]}),"\n",(0,a.jsxs)(n.p,{children:[":::note Use from source\nIf ",(0,a.jsx)(n.code,{children:"1.0-SNAPSHOT"})," is not published to a remote repository yet, build and install it locally first:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/DTStack/SqlParserX.git\ncd SqlParserX\nmvn clean install -DskipTests\n"})}),"\n",(0,a.jsx)(n.p,{children:":::"}),"\n",(0,a.jsx)(n.h2,{id:"3-hello-world-parse-a-sql",children:"3. Hello World: Parse a SQL"}),"\n",(0,a.jsxs)(n.p,{children:["A ",(0,a.jsx)(n.strong,{children:"complete runnable"})," class covering table parsing, column lineage, table lineage and functions, consistent with the official ",(0,a.jsx)(n.code,{children:"sqlparserx-core/README.md"})," demo:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-java",metastring:'title="SqlParserXDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.*;\n\npublic class SqlParserXDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1. Get a parser by datasource type (mysql/hive/doris/... 15+ dialects)\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2. Parse real tables\n ParseTableResult tableResult = parser.parseTables(sql);\n System.out.println("main table: " + tableResult.getMainTable().getName());\n System.out.println("all tables: " + tableResult.getAllTableName());\n\n // 3. Parse column lineage (pass metadata for select * cases)\n Map> tableColumnsMap = new HashMap<>();\n tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1)));\n tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1)));\n ColumnLineageResult columnLineageResult =\n parser.parseColumnLineages(sql, tableColumnsMap);\n columnLineageResult.printColumnLineage();\n\n // 4. Parse table lineage\n TableLineageResult tableLineageResult = parser.parseTableLineages(sql);\n List tableLineages = tableLineageResult.getTableLineages();\n System.out.println("table lineage: " + tableLineages);\n\n // 5. Parse functions\n Set functions = parser.parseFunction(sql);\n System.out.println("functions: " + functions);\n }\n}\n'})}),"\n",(0,a.jsx)(n.p,{children:"Console output (example):"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-text",children:"main table: users\nall tables: [user_order_summary, users, orders]\nusers.id -> user_order_summary.user_id\nusers.name -> user_order_summary.name\norders.amount -> user_order_summary.total_amount\norders.id -> user_order_summary.order_count\ntable lineage: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...]\nfunctions: [sum, count]\n"})}),"\n",(0,a.jsx)(n.h2,{id:"4-next-steps",children:"4. Next Steps"}),"\n",(0,a.jsx)(n.p,{children:"Dependency + complete example for each capability:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"/SqlParserX/en/docs/next/core/field-lineage",children:"Field lineage"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"/SqlParserX/en/docs/next/core/table-lineage",children:"Table lineage"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"/SqlParserX/en/docs/next/core/table-parse",children:"Table parsing"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"/SqlParserX/en/docs/next/core/function-parse",children:"Function parsing"})}),"\n"]})]})}function u(e={}){let{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},8453(e,n,r){r.d(n,{R:()=>l,x:()=>i});var s=r(6540);let a={},t=s.createContext(a);function l(e){let n=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/1016.1b255e6a.js b/en/assets/js/1016.1b255e6a.js new file mode 100644 index 0000000..f522f17 --- /dev/null +++ b/en/assets/js/1016.1b255e6a.js @@ -0,0 +1 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1016"],{8426(e,t){function n(e){let t,n=[];for(let s of e.split(",").map(e=>e.trim()))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,r]=t;if(s&&r){let e=(s=parseInt(s))<(r=parseInt(r))?1:-1;("-"===a||".."===a||"\u2025"===a)&&(r+=e);for(let t=s;t!==r;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},7444(e,t,n){"use strict";n.d(t,{A:()=>y});var s=n(4848),a=n(6540),r=n(4164),i=n(568),l=n(8287);function c({type:e,className:t,children:n,id:a}){return(0,s.jsx)("div",{className:(0,r.A)(l.G.common.admonition,l.G.common.admonitionType(e),"admonition_xJq3",t),id:a,children:n})}function o({icon:e,title:t}){return(0,s.jsxs)("div",{className:"admonitionHeading_Gvgb",children:[(0,s.jsx)("span",{className:"admonitionIcon_Rf37",children:e}),t]})}function d({children:e}){return e?(0,s.jsx)("div",{className:"admonitionContent_BuS1",children:e}):null}function u(e){let{type:t,icon:n,title:a,children:r,className:i,id:l}=e;return(0,s.jsxs)(c,{type:t,className:i,id:l,children:[a||n?(0,s.jsx)(o,{title:a,icon:n}):null,(0,s.jsx)(d,{children:r})]})}let m={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})},{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function h(e){return(0,s.jsx)(u,{...m,...e,className:(0,r.A)("alert alert--secondary",e.className),children:e.children})}let f={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})},{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function p(e){return(0,s.jsx)(u,{...f,...e,className:(0,r.A)("alert alert--success",e.className),children:e.children})}let x={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})},{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function j(e){return(0,s.jsx)(u,{...x,...e,className:(0,r.A)("alert alert--info",e.className),children:e.children})}function g(e){return(0,s.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}let b={icon:(0,s.jsx)(g,{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})},v={icon:(0,s.jsx)(function(e){return(0,s.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,s.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})},{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})},N={icon:(0,s.jsx)(g,{}),title:(0,s.jsx)(i.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})},A={note:h,tip:p,info:j,warning:function(e){return(0,s.jsx)(u,{...b,...e,className:(0,r.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,s.jsx)(u,{...v,...e,className:(0,r.A)("alert alert--danger",e.className),children:e.children})},secondary:e=>(0,s.jsx)(h,{title:"secondary",...e}),important:e=>(0,s.jsx)(j,{title:"important",...e}),success:e=>(0,s.jsx)(p,{title:"success",...e}),caution:function(e){return(0,s.jsx)(u,{...N,...e,className:(0,r.A)("alert alert--warning",e.className),children:e.children})}};function y(e){var t;let n,r=function(e){var t;let n,r,i,{mdxAdmonitionTitle:l,rest:c}=(t=e.children,r=(n=a.Children.toArray(t)).find(e=>a.isValidElement(e)&&"mdxAdmonitionTitle"===e.type),i=n.filter(e=>e!==r),{mdxAdmonitionTitle:r?.props.children,rest:i.length>0?(0,s.jsx)(s.Fragment,{children:i}):null}),o=e.title??l;return{...e,...o&&{title:o},children:c}}(e),i=(n=A[t=r.type])||(console.warn(`No admonition component found for admonition type "${t}". Using Info as fallback.`),A.info);return(0,s.jsx)(i,{...r})}},7410(e,t,n){"use strict";n.d(t,{A:()=>f});var s=n(4848);n(6540);var a=n(4164),r=n(568),i=n(8287),l=n(5310);function c({className:e,...t}){return(0,s.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,a.A)("iconEdit_Z9Sw",e),"aria-hidden":"true",...t,children:(0,s.jsx)("g",{children:(0,s.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function o({editUrl:e}){return(0,s.jsxs)(l.A,{to:e,className:i.G.common.editThisPage,children:[(0,s.jsx)(c,{}),(0,s.jsx)(r.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var d=n(7954);function u({lastUpdatedAt:e}){let t=new Date(e),n=(0,d.i)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(t);return(0,s.jsx)(r.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,s.jsx)("b",{children:(0,s.jsx)("time",{dateTime:t.toISOString(),itemProp:"dateModified",children:n})})},children:" on {date}"})}function m({lastUpdatedBy:e}){return(0,s.jsx)(r.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,s.jsx)("b",{children:e})},children:" by {user}"})}function h({lastUpdatedAt:e,lastUpdatedBy:t}){return(0,s.jsxs)("span",{className:i.G.common.lastUpdated,children:[(0,s.jsx)(r.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:e?(0,s.jsx)(u,{lastUpdatedAt:e}):"",byUser:t?(0,s.jsx)(m,{lastUpdatedBy:t}):""},children:"Last updated{atDate}{byUser}"}),!1]})}function f({className:e,editUrl:t,lastUpdatedAt:n,lastUpdatedBy:r}){return(0,s.jsxs)("div",{className:(0,a.A)("row",e),children:[(0,s.jsx)("div",{className:(0,a.A)("col","noPrint_WFHX"),children:t&&(0,s.jsx)(o,{editUrl:t})}),(0,s.jsx)("div",{className:(0,a.A)("col","lastUpdated_JAkA"),children:(n||r)&&(0,s.jsx)(h,{lastUpdatedAt:n,lastUpdatedBy:r})})]})}},4743(e,t,n){"use strict";n.d(t,{A:()=>eg});var s=n(4848),a=n(6540),r=n(8453),i=n(3572),l=n(9863),c=n(4164),o=n(3941),d=n(1022);function u(){let{prism:e}=(0,d.p)(),{colorMode:t}=(0,o.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var m=n(8287),h=n(8426),f=n.n(h),p=n(2260);let x=/title=(?["'])(?.*?)\1/,j=/\{(?<range>[\d,-]+)\}/,g={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},b={...g,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},v=Object.keys(g);function N(e,t){let n=e.map(e=>{let{start:n,end:s}=b[e];return`(?:${n}\\s*(${t.flatMap(e=>[e.line,e.block?.start,e.block?.end].filter(Boolean)).join("|")})\\s*${s})`}).join("|");return RegExp(`^\\s*(?:${n})\\s*$`)}let A=(0,a.createContext)(null);function y({metadata:e,wordWrap:t,children:n}){let r=(0,a.useMemo)(()=>({metadata:e,wordWrap:t}),[e,t]);return(0,s.jsx)(A.Provider,{value:r,children:n})}function w(){let e=(0,a.useContext)(A);if(null===e)throw new p.dV("CodeBlockContextProvider");return e}function k({as:e,...t}){let n,a,r=(n={color:"--prism-color",backgroundColor:"--prism-background-color"},a={},Object.entries(u().plain).forEach(([e,t])=>{let s=n[e];s&&"string"==typeof t&&(a[s]=t)}),a);return(0,s.jsx)(e,{...t,style:r,className:(0,c.A)(t.className,"codeBlockContainer_Ckt0",m.G.common.codeBlock)})}let C="codeBlockLines_e6Vv";function _({children:e,className:t}){return(0,s.jsx)(k,{as:"pre",tabIndex:0,className:(0,c.A)("codeBlockStandalone_MEMb","thin-scrollbar",t),children:(0,s.jsx)("code",{className:C,children:e})})}let B={attributes:!0,characterData:!0,childList:!0,subtree:!0};function T({children:e}){return e}var L=n(1765);function E({line:e,token:t,...n}){return(0,s.jsx)("span",{...n})}function M(){return(0,s.jsx)("br",{})}function S({line:e,classNames:t,showLineNumbers:n,getLineProps:a,getTokenProps:r}){let i,l=(i=1===e.length&&"\n"===e[0].content?e[0]:void 0)?[{...i,content:""}]:e,o=a({line:l,className:(0,c.A)(t,n&&"codeLine_lJS_")}),d=l.map((e,t)=>{let n=r({token:e});return(0,s.jsx)(E,{...n,line:l,token:e,children:n.children},t)});return(0,s.jsxs)("div",{...o,children:[n?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"codeLineNumber_Tfdd"}),(0,s.jsx)("span",{className:"codeLineContent_feaV",children:d})]}):d,(0,s.jsx)(M,{})]})}let z=a.forwardRef((e,t)=>(0,s.jsx)("pre",{ref:t,tabIndex:0,...e,className:(0,c.A)(e.className,"codeBlock_bY9V","thin-scrollbar")}));function I(e){let{metadata:t}=w();return(0,s.jsx)("code",{...e,className:(0,c.A)(e.className,C,void 0!==t.lineNumbersStart&&"codeBlockLinesWithNumbering_o6Pm"),style:{...e.style,counterReset:void 0===t.lineNumbersStart?void 0:`line-count ${t.lineNumbersStart-1}`}})}function H({className:e}){let{metadata:t,wordWrap:n}=w(),a=u(),{code:r,language:i,lineNumbersStart:l,lineClassNames:o}=t;return(0,s.jsx)(L.f4,{theme:a,code:r,language:i,children:({className:t,style:a,tokens:r,getLineProps:i,getTokenProps:d})=>(0,s.jsx)(z,{ref:n.codeBlockRef,className:(0,c.A)(e,t),style:a,children:(0,s.jsx)(I,{children:r.map((e,t)=>(0,s.jsx)(S,{line:e,getLineProps:i,getTokenProps:d,classNames:o[t],showLineNumbers:void 0!==l},t))})})})}function V({children:e,fallback:t}){return(0,l.A)()?(0,s.jsx)(s.Fragment,{children:e?.()}):t??null}var R=n(568);function U({className:e,...t}){return(0,s.jsx)("button",{type:"button",...t,className:(0,c.A)("clean-btn",e)})}function $(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function q(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}let D={copyButtonCopied:"copyButtonCopied_Vdqa",copyButtonIcons:"copyButtonIcons_IEyt",copyButtonIcon:"copyButtonIcon_TrPX",copyButtonSuccessIcon:"copyButtonSuccessIcon_cVMy"};async function P(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);let{default:t}=await n.e("3693").then(n.bind(n,3436));return t(e)}function F({className:e}){let{copyCode:t,isCopied:n}=function(){let{metadata:{code:e}}=w(),[t,n]=(0,a.useState)(!1),s=(0,a.useRef)(void 0),r=(0,a.useCallback)(()=>{P(e).then(()=>{n(!0),s.current=window.setTimeout(()=>{n(!1)},1e3)})},[e]);return(0,a.useEffect)(()=>()=>window.clearTimeout(s.current),[]),{copyCode:r,isCopied:t}}();return(0,s.jsx)(U,{"aria-label":n?(0,R.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,R.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,R.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,c.A)(e,D.copyButton,n&&D.copyButtonCopied),onClick:t,children:(0,s.jsxs)("span",{className:D.copyButtonIcons,"aria-hidden":"true",children:[(0,s.jsx)($,{className:D.copyButtonIcon}),(0,s.jsx)(q,{className:D.copyButtonSuccessIcon})]})})}function O(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}function W({className:e}){let{wordWrap:t}=w();if(!(t.isEnabled||t.isCodeScrollable))return!1;let n=(0,R.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,s.jsx)(U,{onClick:()=>t.toggle(),className:(0,c.A)(e,t.isEnabled&&"wordWrapButtonEnabled_uzNF"),"aria-label":n,title:n,children:(0,s.jsx)(O,{className:"wordWrapButtonIcon_b1P5","aria-hidden":"true"})})}function G({className:e}){return(0,s.jsx)(V,{children:()=>(0,s.jsxs)("div",{className:(0,c.A)(e,"buttonGroup_M5ko"),children:[(0,s.jsx)(W,{}),(0,s.jsx)(F,{})]})})}function J({className:e}){let{metadata:t}=w();return(0,s.jsxs)(k,{as:"div",className:(0,c.A)(e,t.className),children:[t.title&&(0,s.jsx)("div",{className:"codeBlockTitle_OeMC",children:(0,s.jsx)(T,{children:t.title})}),(0,s.jsxs)("div",{className:"codeBlockContent_QJqH",children:[(0,s.jsx)(H,{}),(0,s.jsx)(G,{})]})]})}function Z(e){let t=function(e){let{prism:t}=(0,d.p)();return function(e){var t,n,s,a,r;let i,l=(n=(t={language:e.language,defaultLanguage:e.defaultLanguage,className:e.className}).language??function(e){if(!e)return;let t=e.split(" ").find(e=>e.startsWith("language-"));return t?.replace(/language-/,"")}(t.className)??t.defaultLanguage,n?.toLowerCase()??"text"),{lineClassNames:o,code:d}=(s=e.code,a={metastring:e.metastring,magicComments:e.magicComments,language:l},function(e,{metastring:t,magicComments:n}){if(t&&j.test(t)){let s=t.match(j).groups.range;if(0===n.length)throw Error(`A highlight range has been given in code block's metastring (\`\`\` ${t}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);let a=n[0].className;return{lineClassNames:Object.fromEntries(f()(s).filter(e=>e>0).map(e=>[e-1,[a]])),code:e}}return null}(i=s.replace(/\r?\n$/,""),{...a})??function(e,t){let{language:n,magicComments:s}=t;if(void 0===n)return{lineClassNames:{},code:e};let a=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return N(["js","jsBlock"],t);case"jsx":case"tsx":return N(["js","jsBlock","jsx"],t);case"html":return N(["js","jsBlock","html"],t);case"python":case"py":case"bash":return N(["bash"],t);case"markdown":case"md":return N(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return N(["tex"],t);case"lua":case"haskell":return N(["lua"],t);case"sql":return N(["lua","jsBlock"],t);case"wasm":return N(["wasm"],t);case"vb":case"vba":case"visual-basic":return N(["vb","rem"],t);case"vbnet":return N(["vbnet","rem"],t);case"batch":return N(["rem"],t);case"basic":return N(["rem","f90"],t);case"fsharp":return N(["js","ml"],t);case"ocaml":case"sml":return N(["ml"],t);case"fortran":return N(["f90"],t);case"cobol":return N(["cobol"],t);default:return N(v,t)}}(n,s),r=e.split(/\r?\n/),i=Object.fromEntries(s.map(e=>[e.className,{start:0,range:""}])),l=Object.fromEntries(s.filter(e=>e.line).map(({className:e,line:t})=>[t,e])),c=Object.fromEntries(s.filter(e=>e.block).map(({className:e,block:t})=>[t.start,e])),o=Object.fromEntries(s.filter(e=>e.block).map(({className:e,block:t})=>[t.end,e]));for(let e=0;e<r.length;){let t=r[e].match(a);if(!t){e+=1;continue}let n=t.slice(1).find(e=>void 0!==e);l[n]?i[l[n]].range+=`${e},`:c[n]?i[c[n]].start=e:o[n]&&(i[o[n]].range+=`${i[o[n]].start}-${e-1},`),r.splice(e,1)}let d={};return Object.entries(i).forEach(([e,{range:t}])=>{f()(t).forEach(t=>{d[t]??=[],d[t].push(e)})}),{code:r.join("\n"),lineClassNames:d}}(i,{...a})),u=function({className:e,language:t}){return(0,c.A)(e,t&&!e?.includes(`language-${t}`)&&`language-${t}`)}({className:e.className,language:l}),m=(r=e.metastring,(r?.match(x)?.groups.title??"")||e.title),h=function({showLineNumbers:e,metastring:t}){if("boolean"==typeof e)return e?1:void 0;if("number"==typeof e)return e;let n=t?.split(" ").find(e=>e.startsWith("showLineNumbers"));if(n)return n.startsWith("showLineNumbers=")?parseInt(n.replace("showLineNumbers=",""),10):1}({showLineNumbers:e.showLineNumbers,metastring:e.metastring});return{codeInput:e.code,code:d,className:u,language:l,title:m,lineNumbersStart:h,lineClassNames:o}}({code:e.children,className:e.className,metastring:e.metastring,magicComments:t.magicComments,defaultLanguage:t.defaultLanguage,language:e.language,title:e.title,showLineNumbers:e.showLineNumbers})}(e),n=function(){let[e,t]=(0,a.useState)(!1),[n,s]=(0,a.useState)(!1),r=(0,a.useRef)(null),i=(0,a.useCallback)(()=>{let n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t(e=>!e)},[r,e]),l=(0,a.useCallback)(()=>{let{scrollWidth:e,clientWidth:t}=r.current;s(e>t||r.current.querySelector("code").hasAttribute("style"))},[r]);return!function(e,t){let[n,s]=(0,a.useState)(),r=(0,a.useCallback)(()=>{s(e.current?.closest("[role=tabpanel][hidden]"))},[e,s]);(0,a.useEffect)(()=>{r()},[r]),function(e,t,n=B){let s=(0,p._q)(t),r=(0,p.Be)(n);(0,a.useEffect)(()=>{let t=new MutationObserver(s);return e&&t.observe(e,r),()=>t.disconnect()},[e,s,r])}(n,e=>{e.forEach(e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())})},{attributes:!0,characterData:!1,childList:!1,subtree:!1})}(r,l),(0,a.useEffect)(()=>{l()},[e,l]),(0,a.useEffect)(()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)}),[l]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:i}}();return(0,s.jsx)(y,{metadata:t,wordWrap:n,children:(0,s.jsx)(J,{})})}function X({children:e,...t}){let n=(0,l.A)(),r=a.Children.toArray(e).some(e=>(0,a.isValidElement)(e))?e:Array.isArray(e)?e.join(""):e;return(0,s.jsx)("string"==typeof r?Z:_,{...t,children:r},String(n))}function Q(e){return(0,s.jsx)("code",{...e})}var Y=n(5310),K=n(4727),ee=n(5916),et=n(9510);function en(e){return!!e&&("SUMMARY"===e.tagName||en(e.parentElement))}function es({summary:e,children:t,...n}){(0,ee.A)().collectAnchor(n.id);let r=(0,l.A)(),i=(0,a.useRef)(null),{collapsed:o,setCollapsed:d}=(0,et.u)({initialState:!n.open}),[u,m]=(0,a.useState)(n.open),h=a.isValidElement(e)?e:(0,s.jsx)("summary",{children:e??"Details"});return(0,s.jsxs)("details",{...n,ref:i,open:u,"data-collapsed":o,className:(0,c.A)("details_lb9f",r&&"isBrowser_bmU9",n.className),onMouseDown:e=>{en(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();let t=e.target;en(t)&&function e(t,n){return!!t&&(t===n||e(t.parentElement,n))}(t,i.current)&&(e.preventDefault(),o?(d(!1),m(!0)):d(!0))},children:[h,(0,s.jsx)(et.N,{lazy:!1,collapsed:o,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,s.jsx)("div",{className:"collapsibleContent_i85q",children:t})})]})}function ea({...e}){return(0,s.jsx)(es,{...e,className:(0,c.A)("alert alert--info","details_b_Ee",e.className)})}function er(e){let t=a.Children.toArray(e.children),n=t.find(e=>a.isValidElement(e)&&"summary"===e.type),r=(0,s.jsx)(s.Fragment,{children:t.filter(e=>e!==n)});return(0,s.jsx)(ea,{...e,summary:n,children:r})}var ei=n(2072);function el(e){return(0,s.jsx)(ei.A,{...e})}var ec=n(7444),eo=n(1701),ed=n(3072);async function eu(){return(await n.e("1134").then(n.bind(n,2346))).default}let em=null;async function eh(){return em||(em=eu()),em}async function ef({id:e,text:t,config:n}){let s=await eh();s.initialize(n);try{return await s.render(e,t)}catch(t){throw document.querySelector(`#d${e}`)?.remove(),t}}function ep({renderResult:e}){let t=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let n=t.current;e.bindFunctions?.(n)},[e]),(0,s.jsx)("div",{ref:t,className:"docusaurus-mermaid-container container_lyt7",dangerouslySetInnerHTML:{__html:e.svg}})}function ex({value:e}){let t=function({text:e,config:t}){let[n,s]=(0,a.useState)(null),r=(0,a.useState)(`mermaid-svg-${Math.round(1e7*Math.random())}`)[0],i=function(){let{colorMode:e}=(0,o.G)(),t=(0,d.p)().mermaid,n=t.theme[e],{options:s}=t;return(0,a.useMemo)(()=>({startOnLoad:!1,...s,theme:n}),[n,s])}(),l=t??i;return(0,a.useEffect)(()=>{ef({id:r,text:e,config:l}).then(s).catch(e=>{s(()=>{throw e})})},[r,e,l]),n}({text:e});return null===t?null:(0,s.jsx)(ep,{renderResult:t})}let ej={Head:i.A,details:er,Details:er,code:function(e){return void 0!==e.children&&a.Children.toArray(e.children).every(e=>"string"==typeof e&&!e.includes("\n"))?(0,s.jsx)(Q,{...e}):(0,s.jsx)(X,{...e})},a:function(e){let t=(0,K.v)(e.id);return(0,s.jsx)(Y.A,{...e,className:(0,c.A)(t,e.className)})},pre:function(e){return(0,s.jsx)(s.Fragment,{children:e.children})},ul:function(e){return(0,s.jsx)("ul",{...e,className:function(e){if(void 0!==e)return(0,c.A)(e,e?.includes("contains-task-list")&&"containsTaskList_mC6p")}(e.className)})},li:function(e){(0,ee.A)().collectAnchor(e.id);let t=(0,K.v)(e.id);return(0,s.jsx)("li",{className:(0,c.A)(t,e.className),...e})},img:function(e){var t;return(0,s.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,c.A)(t,"img_ev3q"))})},h1:e=>(0,s.jsx)(el,{as:"h1",...e}),h2:e=>(0,s.jsx)(el,{as:"h2",...e}),h3:e=>(0,s.jsx)(el,{as:"h3",...e}),h4:e=>(0,s.jsx)(el,{as:"h4",...e}),h5:e=>(0,s.jsx)(el,{as:"h5",...e}),h6:e=>(0,s.jsx)(el,{as:"h6",...e}),admonition:ec.A,mermaid:function(e){return(0,s.jsx)(eo.A,{fallback:e=>(0,s.jsx)(ed.MN,{...e}),children:(0,s.jsx)(ex,{...e})})}};function eg({children:e}){return(0,s.jsx)(r.x,{components:ej,children:e})}},7174(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n(4848);n(6540);var a=n(4164),r=n(5310);function i(e){let{permalink:t,title:n,subLabel:i,isNext:l}=e;return(0,s.jsxs)(r.A,{className:(0,a.A)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[i&&(0,s.jsx)("div",{className:"pagination-nav__sublabel",children:i}),(0,s.jsx)("div",{className:"pagination-nav__label",children:n})]})}},535(e,t,n){"use strict";n.d(t,{A:()=>i});var s=n(4848);n(6540);var a=n(4164),r=n(5310);function i({permalink:e,label:t,count:n,description:l}){return(0,s.jsxs)(r.A,{rel:"tag",href:e,title:l,className:(0,a.A)("tag_zVej",n?"tagWithCount_h2kH":"tagRegular_sFm0"),children:[t,n&&(0,s.jsx)("span",{children:n})]})}},4999(e,t,n){"use strict";n.d(t,{A:()=>l});var s=n(4848);n(6540);var a=n(4164),r=n(568),i=n(535);function l({tags:e}){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("b",{children:(0,s.jsx)(r.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,s.jsx)("ul",{className:(0,a.A)("tags_jXut","padding--none","margin-left--sm"),children:e.map(e=>(0,s.jsx)("li",{className:"tag_QGVx",children:(0,s.jsx)(i.A,{...e})},e.permalink))})]})}},7954(e,t,n){"use strict";n.d(t,{i:()=>a});var s=n(898);function a(e={}){let{i18n:{currentLocale:t}}=(0,s.A)(),n=function(){let{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},8453(e,t,n){"use strict";n.d(t,{R:()=>i,x:()=>l});var s=n(6540);let a={},r=s.createContext(a);function i(e){let t=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/1078a278.d2a43e18.js b/en/assets/js/1078a278.d2a43e18.js new file mode 100644 index 0000000..abd61b8 --- /dev/null +++ b/en/assets/js/1078a278.d2a43e18.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3674"],{3445(e,r,n){n.r(r),n.d(r,{metadata:()=>t,default:()=>p,frontMatter:()=>l,contentTitle:()=>i,toc:()=>c,assets:()=>d});var t=JSON.parse('{"id":"core/table-lineage","title":"Table Lineage","description":"Parse source-to-target table lineage from SQL","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/table-lineage.md","sourceDirName":"core","slug":"/core/table-lineage","permalink":"/SqlParserX/en/docs/core/table-lineage","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/table-lineage.md","tags":[],"version":"1.0","sidebarPosition":2,"frontMatter":{"title":"Table Lineage","description":"Parse source-to-target table lineage from SQL","sidebar_label":"Table Lineage","sidebar_position":2},"sidebar":"docs","previous":{"title":"Field Lineage","permalink":"/SqlParserX/en/docs/core/field-lineage"},"next":{"title":"Table Parsing","permalink":"/SqlParserX/en/docs/core/table-parse"}}'),s=n(4848),a=n(8453);let l={title:"Table Lineage",description:"Parse source-to-target table lineage from SQL",sidebar_label:"Table Lineage",sidebar_position:2},i="Table Lineage",d={},c=[{value:"1. Add the Dependency",id:"1-add-the-dependency",level:2},{value:"2. Complete Example",id:"2-complete-example",level:2},{value:"3. Goal",id:"3-goal",level:2},{value:"4. Entry & Implementation",id:"4-entry--implementation",level:2},{value:"5. Supported Scenarios",id:"5-supported-scenarios",level:2}];function o(e){let r={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"table-lineage",children:"Table Lineage"})}),"\n",(0,s.jsx)(r.h2,{id:"1-add-the-dependency",children:"1. Add the Dependency"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"sqlparserx-core"})," transitively brings in ",(0,s.jsx)(r.code,{children:"sqlparserx-syntax"})," and Druid."]}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"2-complete-example",children:"2. Complete Example"}),"\n",(0,s.jsxs)(r.p,{children:["Using the official ",(0,s.jsx)(r.code,{children:"sqlparserx-core/README.md"})," sample SQL, from parser creation to printing table lineage:"]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-java",metastring:'title="TableLineageDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.List;\n\npublic class TableLineageDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1. Get a parser\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2. Parse table lineage\n TableLineageResult result = parser.parseTableLineages(sql);\n\n // 3. Read the result\n System.out.println("target table: " + result.getTargetTable());\n System.out.println("source tables: " + result.getSourceTables());\n\n List<TableLineage> tableLineages = result.getTableLineages();\n for (TableLineage lineage : tableLineages) {\n System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable());\n }\n }\n}\n'})}),"\n",(0,s.jsx)(r.p,{children:"Console output (example):"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-text",children:"target table: user_order_summary\nsource tables: [users, orders]\nusers -> user_order_summary\norders -> user_order_summary\n"})}),"\n",(0,s.jsx)(r.h2,{id:"3-goal",children:"3. Goal"}),"\n",(0,s.jsxs)(r.p,{children:["Parse ",(0,s.jsx)(r.strong,{children:"target table \u2192 source table"})," table-level lineage from SQL, covering JOIN, UNION, subqueries, aggregates and CTEs."]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-text",children:"SQLStatement AST\n \u2192 TableLineageClient.parseTableLineages\n \u2192 collect source tables + target tables\n \u2192 TableLineageResult\n"})}),"\n",(0,s.jsx)(r.h2,{id:"4-entry--implementation",children:"4. Entry & Implementation"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Item"}),(0,s.jsx)(r.th,{children:"Content"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Core entry"}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.code,{children:"ISqlParser.parseTableLineages(sql)"})})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Default impl"}),(0,s.jsxs)(r.td,{children:[(0,s.jsx)(r.code,{children:"BaseSqlParser.parseTableLineages"})," \u2192 ",(0,s.jsx)(r.code,{children:"TableLineageClient"})]})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Return type"}),(0,s.jsxs)(r.td,{children:[(0,s.jsx)(r.code,{children:"TableLineageResult"})," (",(0,s.jsx)(r.code,{children:"getTargetTable()"})," + ",(0,s.jsx)(r.code,{children:"getSourceTables()"})," + ",(0,s.jsx)(r.code,{children:"getTableLineages()"}),")"]})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Coverage"}),(0,s.jsx)(r.td,{children:"JOIN, UNION, subquery, aggregate, CTE"})]})]})]}),"\n",(0,s.jsx)(r.h2,{id:"5-supported-scenarios",children:"5. Supported Scenarios"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Capability"}),(0,s.jsx)(r.th,{children:"Status"}),(0,s.jsx)(r.th,{children:"Notes"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Single/multi-table JOIN"}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.strong,{children:"Supported \u2705"})}),(0,s.jsx)(r.td,{children:"All participating tables"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"UNION / UNION ALL"}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.strong,{children:"Supported \u2705"})}),(0,s.jsx)(r.td,{children:"Merge branches"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Subquery / derived table"}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.strong,{children:"Supported \u2705"})}),(0,s.jsx)(r.td,{children:"Recursively collect real tables"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"CTE (WITH)"}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.strong,{children:"Supported \u2705"})}),(0,s.jsx)(r.td,{children:"Recognize CTE and real sources"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:(0,s.jsx)(r.code,{children:"INSERT INTO ... SELECT"})}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.strong,{children:"Supported \u2705"})}),(0,s.jsx)(r.td,{children:"Output target and source tables"})]})]})]})]})}function p(e={}){let{wrapper:r}={...(0,a.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},8453(e,r,n){n.d(r,{R:()=>l,x:()=>i});var t=n(6540);let s={},a=t.createContext(s);function l(e){let r=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(a.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/1134.87475e33.js b/en/assets/js/1134.87475e33.js new file mode 100644 index 0000000..cbfbadf --- /dev/null +++ b/en/assets/js/1134.87475e33.js @@ -0,0 +1,256 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1134"],{9119(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BLANK_URL=e.relativeFirstCharacters=e.whitespaceEscapeCharsRegex=e.urlSchemeRegex=e.ctrlCharactersRegex=e.htmlCtrlEntityRegex=e.htmlEntitiesRegex=e.invalidProtocolRegex=void 0,e.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,e.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,e.htmlCtrlEntityRegex=/&(newline|tab);/gi,e.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,e.urlSchemeRegex=/^.+(:|:)/gim,e.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,e.relativeFirstCharacters=[".","/"],e.BLANK_URL="about:blank"},6750(t,e,r){"use strict";e.sanitizeUrl=function(t){if(!t)return i.BLANK_URL;var e,r=o(t.trim());do e=(r=o(r=r.replace(i.ctrlCharactersRegex,"").replace(i.htmlEntitiesRegex,function(t,e){return String.fromCharCode(e)}).replace(i.htmlCtrlEntityRegex,"").replace(i.ctrlCharactersRegex,"").replace(i.whitespaceEscapeCharsRegex,"").trim())).match(i.ctrlCharactersRegex)||r.match(i.htmlEntitiesRegex)||r.match(i.htmlCtrlEntityRegex)||r.match(i.whitespaceEscapeCharsRegex);while(e&&e.length>0)var a=r;if(!a)return i.BLANK_URL;if(i.relativeFirstCharacters.indexOf(a[0])>-1)return a;var n=a.trimStart(),s=n.match(i.urlSchemeRegex);if(!s)return a;var l=s[0].toLowerCase().trim();if(i.invalidProtocolRegex.test(l))return i.BLANK_URL;var h=n.replace(/\\/g,"/");if("mailto:"===l||l.includes("://"))return h;if("http:"===l||"https:"===l){if(!URL.canParse(h))return i.BLANK_URL;var c=new URL(h);return c.protocol=c.protocol.toLowerCase(),c.hostname=c.hostname.toLowerCase(),c.toString()}return h};var i=r(9119);function o(t){try{return decodeURIComponent(t)}catch(e){return t}}},4353(t){t.exports=function(){"use strict";var t="millisecond",e="second",r="minute",i="hour",o="week",a="month",n="quarter",s="year",l="date",h="Invalid Date",c=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=function(t,e,r){var i=String(t);return!i||i.length>=e?t:""+Array(e+1-i.length).join(r)+t},p="en",g={};g[p]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],r=t%100;return"["+t+(e[(r-20)%10]||e[r]||e[0])+"]"}};var f="$isDayjsObject",y=function(t){return t instanceof b||!(!t||!t[f])},m=function t(e,r,i){var o;if(!e)return p;if("string"==typeof e){var a=e.toLowerCase();g[a]&&(o=a),r&&(g[a]=r,o=a);var n=e.split("-");if(!o&&n.length>1)return t(n[0])}else{var s=e.name;g[s]=e,o=s}return!i&&o&&(p=o),o||!i&&p},x=function(t,e){if(y(t))return t.clone();var r="object"==typeof e?e:{};return r.date=t,r.args=arguments,new b(r)},C={s:u,z:function(t){var e=-t.utcOffset(),r=Math.abs(e);return(e<=0?"+":"-")+u(Math.floor(r/60),2,"0")+":"+u(r%60,2,"0")},m:function t(e,r){if(e.date()<r.date())return-t(r,e);var i=12*(r.year()-e.year())+(r.month()-e.month()),o=e.clone().add(i,a),n=r-o<0,s=e.clone().add(i+(n?-1:1),a);return+(-(i+(r-o)/(n?o-s:s-o))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(h){return({M:a,y:s,w:o,d:"day",D:l,h:i,m:r,s:e,ms:t,Q:n})[h]||String(h||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}};C.l=m,C.i=y,C.w=function(t,e){return x(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var b=function(){function u(t){this.$L=m(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[f]=!0}var p=u.prototype;return p.parse=function(t){this.$d=function(t){var e=t.date,r=t.utc;if(null===e)return new Date(NaN);if(C.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(c);if(i){var o=i[2]-1||0,a=(i[7]||"0").substring(0,3);return r?new Date(Date.UTC(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,a)):new Date(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,a)}}return new Date(e)}(t),this.init()},p.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},p.$utils=function(){return C},p.isValid=function(){return this.$d.toString()!==h},p.isSame=function(t,e){var r=x(t);return this.startOf(e)<=r&&r<=this.endOf(e)},p.isAfter=function(t,e){return x(t)<this.startOf(e)},p.isBefore=function(t,e){return this.endOf(e)<x(t)},p.$g=function(t,e,r){return C.u(t)?this[e]:this.set(r,t)},p.unix=function(){return Math.floor(this.valueOf()/1e3)},p.valueOf=function(){return this.$d.getTime()},p.startOf=function(t,n){var h=this,c=!!C.u(n)||n,d=C.p(t),u=function(t,e){var r=C.w(h.$u?Date.UTC(h.$y,e,t):new Date(h.$y,e,t),h);return c?r:r.endOf("day")},p=function(t,e){return C.w(h.toDate()[t].apply(h.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(e)),h)},g=this.$W,f=this.$M,y=this.$D,m="set"+(this.$u?"UTC":"");switch(d){case s:return c?u(1,0):u(31,11);case a:return c?u(1,f):u(0,f+1);case o:var x=this.$locale().weekStart||0,b=(g<x?g+7:g)-x;return u(c?y-b:y+(6-b),f);case"day":case l:return p(m+"Hours",0);case i:return p(m+"Minutes",1);case r:return p(m+"Seconds",2);case e:return p(m+"Milliseconds",3);default:return this.clone()}},p.endOf=function(t){return this.startOf(t,!1)},p.$set=function(o,n){var h,c=C.p(o),d="set"+(this.$u?"UTC":""),u=((h={}).day=d+"Date",h[l]=d+"Date",h[a]=d+"Month",h[s]=d+"FullYear",h[i]=d+"Hours",h[r]=d+"Minutes",h[e]=d+"Seconds",h[t]=d+"Milliseconds",h)[c],p="day"===c?this.$D+(n-this.$W):n;if(c===a||c===s){var g=this.clone().set(l,1);g.$d[u](p),g.init(),this.$d=g.set(l,Math.min(this.$D,g.daysInMonth())).$d}else u&&this.$d[u](p);return this.init(),this},p.set=function(t,e){return this.clone().$set(t,e)},p.get=function(t){return this[C.p(t)]()},p.add=function(t,n){var l,h=this;t=Number(t);var c=C.p(n),d=function(e){var r=x(h);return C.w(r.date(r.date()+Math.round(e*t)),h)};if(c===a)return this.set(a,this.$M+t);if(c===s)return this.set(s,this.$y+t);if("day"===c)return d(1);if(c===o)return d(7);var u=((l={})[r]=6e4,l[i]=36e5,l[e]=1e3,l)[c]||1,p=this.$d.getTime()+t*u;return C.w(p,this)},p.subtract=function(t,e){return this.add(-1*t,e)},p.format=function(t){var e=this,r=this.$locale();if(!this.isValid())return r.invalidDate||h;var i=t||"YYYY-MM-DDTHH:mm:ssZ",o=C.z(this),a=this.$H,n=this.$m,s=this.$M,l=r.weekdays,c=r.months,u=r.meridiem,p=function(t,r,o,a){return t&&(t[r]||t(e,i))||o[r].slice(0,a)},g=function(t){return C.s(a%12||12,t,"0")},f=u||function(t,e,r){var i=t<12?"AM":"PM";return r?i.toLowerCase():i};return i.replace(d,function(t,i){return i||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return C.s(e.$y,4,"0");case"M":return s+1;case"MM":return C.s(s+1,2,"0");case"MMM":return p(r.monthsShort,s,c,3);case"MMMM":return p(c,s);case"D":return e.$D;case"DD":return C.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return p(r.weekdaysMin,e.$W,l,2);case"ddd":return p(r.weekdaysShort,e.$W,l,3);case"dddd":return l[e.$W];case"H":return String(a);case"HH":return C.s(a,2,"0");case"h":return g(1);case"hh":return g(2);case"a":return f(a,n,!0);case"A":return f(a,n,!1);case"m":return String(n);case"mm":return C.s(n,2,"0");case"s":return String(e.$s);case"ss":return C.s(e.$s,2,"0");case"SSS":return C.s(e.$ms,3,"0");case"Z":return o}return null}(t)||o.replace(":","")})},p.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},p.diff=function(t,l,h){var c,d=this,u=C.p(l),p=x(t),g=(p.utcOffset()-this.utcOffset())*6e4,f=this-p,y=function(){return C.m(d,p)};switch(u){case s:c=y()/12;break;case a:c=y();break;case n:c=y()/3;break;case o:c=(f-g)/6048e5;break;case"day":c=(f-g)/864e5;break;case i:c=f/36e5;break;case r:c=f/6e4;break;case e:c=f/1e3;break;default:c=f}return h?c:C.a(c)},p.daysInMonth=function(){return this.endOf(a).$D},p.$locale=function(){return g[this.$L]},p.locale=function(t,e){if(!t)return this.$L;var r=this.clone(),i=m(t,e,!0);return i&&(r.$L=i),r},p.clone=function(){return C.w(this.$d,this)},p.toDate=function(){return new Date(this.valueOf())},p.toJSON=function(){return this.isValid()?this.toISOString():null},p.toISOString=function(){return this.$d.toISOString()},p.toString=function(){return this.$d.toUTCString()},u}(),k=b.prototype;return x.prototype=k,[["$ms",t],["$s",e],["$m",r],["$H",i],["$W","day"],["$M",a],["$y",s],["$D",l]].forEach(function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),x.extend=function(t,e){return t.$i||(t(e,b,x),t.$i=!0),x},x.locale=m,x.isDayjs=y,x.unix=function(t){return x(1e3*t)},x.en=g[p],x.Ls=g,x.p={},x}()},2274(t,e,r){"use strict";function i(t,e,r){if(t&&t.length){let[i,o]=e,a=Math.PI/180*r,n=Math.cos(a),s=Math.sin(a);for(let e of t){let[t,r]=e;e[0]=(t-i)*n-(r-o)*s+i,e[1]=(t-i)*s+(r-o)*n+o}}}function o(t,e){var r;let o=e.hachureAngle+90,a=e.hachureGap;a<0&&(a=4*e.strokeWidth),a=Math.round(Math.max(a,.1));let n=1;return e.roughness>=1&&((null==(r=e.randomizer)?void 0:r.next())||Math.random())>.7&&(n=a),function(t,e,r,o=1){let a=Math.max(e,.1),n=t[0]&&t[0][0]&&"number"==typeof t[0][0]?[t]:t,s=[0,0];if(r)for(let t of n)i(t,s,r);let l=function(t,e,r){let i=[];for(let e of t){var o,a;let t=[...e];o=t[0],a=t[t.length-1],o[0]===a[0]&&o[1]===a[1]||t.push([t[0][0],t[0][1]]),t.length>2&&i.push(t)}let n=[];e=Math.max(e,.1);let s=[];for(let t of i)for(let e=0;e<t.length-1;e++){let r=t[e],i=t[e+1];if(r[1]!==i[1]){let t=Math.min(r[1],i[1]);s.push({ymin:t,ymax:Math.max(r[1],i[1]),x:t===r[1]?r[0]:i[0],islope:(i[0]-r[0])/(i[1]-r[1])})}}if(s.sort((t,e)=>t.ymin<e.ymin?-1:t.ymin>e.ymin?1:t.x<e.x?-1:t.x>e.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax)),!s.length)return n;let l=[],h=s[0].ymin,c=0;for(;l.length||s.length;){if(s.length){let t=-1;for(let e=0;e<s.length&&!(s[e].ymin>h);e++)t=e;s.splice(0,t+1).forEach(t=>{l.push({s:h,edge:t})})}if((l=l.filter(t=>!(t.edge.ymax<=h))).sort((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x)),(1!==r||c%e==0)&&l.length>1)for(let t=0;t<l.length;t+=2){let e=t+1;if(e>=l.length)break;let r=l[t].edge,i=l[e].edge;n.push([[Math.round(r.x),h],[Math.round(i.x),h]])}h+=r,l.forEach(t=>{t.edge.x=t.edge.x+r*t.edge.islope}),c++}return n}(n,a,o);if(r){let t;for(let t of n)i(t,s,-r);t=[],l.forEach(e=>t.push(...e)),i(t,s,-r)}return l}(t,a,o,n||1)}r.d(e,{A:()=>X});class a{constructor(t){this.helper=t}fillPolygons(t,e){return this._fillPolygons(t,e)}_fillPolygons(t,e){let r=o(t,e);return{type:"fillSketch",ops:this.renderLines(r,e)}}renderLines(t,e){let r=[];for(let i of t)r.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],e));return r}}function n(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}class s extends a{fillPolygons(t,e){let r=e.hachureGap;r<0&&(r=4*e.strokeWidth);let i=o(t,Object.assign({},e,{hachureGap:r=Math.max(r,.1)})),a=Math.PI/180*e.hachureAngle,s=[],l=.5*r*Math.cos(a),h=.5*r*Math.sin(a);for(let[t,e]of i)n([t,e])&&s.push([[t[0]-l,t[1]+h],[...e]],[[t[0]+l,t[1]-h],[...e]]);return{type:"fillSketch",ops:this.renderLines(s,e)}}}class l extends a{fillPolygons(t,e){let r=this._fillPolygons(t,e),i=Object.assign({},e,{hachureAngle:e.hachureAngle+90}),o=this._fillPolygons(t,i);return r.ops=r.ops.concat(o.ops),r}}class h{constructor(t){this.helper=t}fillPolygons(t,e){let r=o(t,e=Object.assign({},e,{hachureAngle:0}));return this.dotsOnLines(r,e)}dotsOnLines(t,e){let r=[],i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.max(i,.1);let o=e.fillWeight;o<0&&(o=e.strokeWidth/2);let a=i/4;for(let s of t){let t=n(s),l=Math.ceil(t/i)-1,h=t-l*i,c=(s[0][0]+s[1][0])/2-i/4,d=Math.min(s[0][1],s[1][1]);for(let t=0;t<l;t++){let n=c-a+2*Math.random()*a,s=d+h+t*i-a+2*Math.random()*a,l=this.helper.ellipse(n,s,o,o,e);r.push(...l.ops)}}return{type:"fillSketch",ops:r}}}class c{constructor(t){this.helper=t}fillPolygons(t,e){let r=o(t,e);return{type:"fillSketch",ops:this.dashedLine(r,e)}}dashedLine(t,e){let r=e.dashOffset<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashOffset,i=e.dashGap<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashGap,o=[];return t.forEach(t=>{let a=n(t),s=Math.floor(a/(r+i)),l=(a+i-s*(r+i))/2,h=t[0],c=t[1];h[0]>c[0]&&(h=t[1],c=t[0]);let d=Math.atan((c[1]-h[1])/(c[0]-h[0]));for(let t=0;t<s;t++){let a=t*(r+i),n=a+r,s=[h[0]+a*Math.cos(d)+l*Math.cos(d),h[1]+a*Math.sin(d)+l*Math.sin(d)],c=[h[0]+n*Math.cos(d)+l*Math.cos(d),h[1]+n*Math.sin(d)+l*Math.sin(d)];o.push(...this.helper.doubleLineOps(s[0],s[1],c[0],c[1],e))}}),o}}class d{constructor(t){this.helper=t}fillPolygons(t,e){let r=e.hachureGap<0?4*e.strokeWidth:e.hachureGap,i=e.zigzagOffset<0?r:e.zigzagOffset,a=o(t,e=Object.assign({},e,{hachureGap:r+i}));return{type:"fillSketch",ops:this.zigzagLines(a,i,e)}}zigzagLines(t,e,r){let i=[];return t.forEach(t=>{let o=Math.round(n(t)/(2*e)),a=t[0],s=t[1];a[0]>s[0]&&(a=t[1],s=t[0]);let l=Math.atan((s[1]-a[1])/(s[0]-a[0]));for(let t=0;t<o;t++){let o=2*t*e,n=2*(t+1)*e,s=Math.sqrt(2*Math.pow(e,2)),h=[a[0]+o*Math.cos(l),a[1]+o*Math.sin(l)],c=[a[0]+n*Math.cos(l),a[1]+n*Math.sin(l)],d=[h[0]+s*Math.cos(l+Math.PI/4),h[1]+s*Math.sin(l+Math.PI/4)];i.push(...this.helper.doubleLineOps(h[0],h[1],d[0],d[1],r),...this.helper.doubleLineOps(d[0],d[1],c[0],c[1],r))}}),i}}let u={};class p{constructor(t){this.seed=t}next(){return this.seed?(0x80000000-1&(this.seed=Math.imul(48271,this.seed)))/0x80000000:Math.random()}}let g={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function f(t){let e=[],r=function(t){let e=[];for(;""!==t;)if(t.match(/^([ \t\r\n,]+)/))t=t.substr(RegExp.$1.length);else if(t.match(/^([aAcChHlLmMqQsStTvVzZ])/))e[e.length]={type:0,text:RegExp.$1},t=t.substr(RegExp.$1.length);else{if(!t.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e[e.length]={type:1,text:`${parseFloat(RegExp.$1)}`},t=t.substr(RegExp.$1.length)}return e[e.length]={type:2,text:""},e}(t),i="BOD",o=0,a=r[0];for(;2!==a.type;){let n=0,s=[];if("BOD"===i){if("M"!==a.text&&"m"!==a.text)return f("M0,0"+t);o++,n=g[a.text],i=a.text}else 1===a.type?n=g[i]:(o++,n=g[a.text],i=a.text);if(!(o+n<r.length))throw Error("Path data ended short");for(let t=o;t<o+n;t++){let e=r[t];if(1!==e.type)throw Error("Param not a number: "+i+","+e.text);s[s.length]=+e.text}if("number"!=typeof g[i])throw Error("Bad segment: "+i);{let t={key:i,data:s};e.push(t),o+=n,a=r[o],"M"===i&&(i="L"),"m"===i&&(i="l")}}return e}function y(t){let e=0,r=0,i=0,o=0,a=[];for(let{key:n,data:s}of t)switch(n){case"M":a.push({key:"M",data:[...s]}),[e,r]=s,[i,o]=s;break;case"m":e+=s[0],r+=s[1],a.push({key:"M",data:[e,r]}),i=e,o=r;break;case"L":a.push({key:"L",data:[...s]}),[e,r]=s;break;case"l":e+=s[0],r+=s[1],a.push({key:"L",data:[e,r]});break;case"C":a.push({key:"C",data:[...s]}),e=s[4],r=s[5];break;case"c":{let t=s.map((t,i)=>i%2?t+r:t+e);a.push({key:"C",data:t}),e=t[4],r=t[5];break}case"Q":a.push({key:"Q",data:[...s]}),e=s[2],r=s[3];break;case"q":{let t=s.map((t,i)=>i%2?t+r:t+e);a.push({key:"Q",data:t}),e=t[2],r=t[3];break}case"A":a.push({key:"A",data:[...s]}),e=s[5],r=s[6];break;case"a":e+=s[5],r+=s[6],a.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],e,r]});break;case"H":a.push({key:"H",data:[...s]}),e=s[0];break;case"h":e+=s[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...s]}),r=s[0];break;case"v":r+=s[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...s]}),e=s[2],r=s[3];break;case"s":{let t=s.map((t,i)=>i%2?t+r:t+e);a.push({key:"S",data:t}),e=t[2],r=t[3];break}case"T":a.push({key:"T",data:[...s]}),e=s[0],r=s[1];break;case"t":e+=s[0],r+=s[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=i,r=o}return a}function m(t){let e=[],r="",i=0,o=0,a=0,n=0,s=0,l=0;for(let{key:h,data:c}of t){switch(h){case"M":e.push({key:"M",data:[...c]}),[i,o]=c,[a,n]=c;break;case"C":e.push({key:"C",data:[...c]}),i=c[4],o=c[5],s=c[2],l=c[3];break;case"L":e.push({key:"L",data:[...c]}),[i,o]=c;break;case"H":i=c[0],e.push({key:"L",data:[i,o]});break;case"V":o=c[0],e.push({key:"L",data:[i,o]});break;case"S":{let t=0,a=0;"C"===r||"S"===r?(t=i+(i-s),a=o+(o-l)):(t=i,a=o),e.push({key:"C",data:[t,a,...c]}),s=c[0],l=c[1],i=c[2],o=c[3];break}case"T":{let[t,a]=c,n=0,h=0;"Q"===r||"T"===r?(n=i+(i-s),h=o+(o-l)):(n=i,h=o);let d=i+2*(n-i)/3,u=o+2*(h-o)/3,p=t+2*(n-t)/3,g=a+2*(h-a)/3;e.push({key:"C",data:[d,u,p,g,t,a]}),s=n,l=h,i=t,o=a;break}case"Q":{let[t,r,a,n]=c,h=i+2*(t-i)/3,d=o+2*(r-o)/3,u=a+2*(t-a)/3,p=n+2*(r-n)/3;e.push({key:"C",data:[h,d,u,p,a,n]}),s=t,l=r,i=a,o=n;break}case"A":{let t=Math.abs(c[0]),r=Math.abs(c[1]),a=c[2],n=c[3],s=c[4],l=c[5],h=c[6];0===t||0===r?(e.push({key:"C",data:[i,o,l,h,l,h]}),i=l,o=h):(i!==l||o!==h)&&((function t(e,r,i,o,a,n,s,l,h,c){let d=Math.PI*s/180,u=[],p=0,g=0,f=0,y=0;if(c)[p,g,f,y]=c;else{[e,r]=x(e,r,-d),[i,o]=x(i,o,-d);let t=(e-i)/2,s=(r-o)/2,c=t*t/(a*a)+s*s/(n*n);c>1&&(a*=c=Math.sqrt(c),n*=c);let u=a*a,m=n*n,C=(l===h?-1:1)*Math.sqrt(Math.abs((u*m-u*s*s-m*t*t)/(u*s*s+m*t*t)));f=C*a*s/n+(e+i)/2,y=-(C*n)*t/a+(r+o)/2,p=Math.asin(parseFloat(((r-y)/n).toFixed(9))),g=Math.asin(parseFloat(((o-y)/n).toFixed(9))),e<f&&(p=Math.PI-p),i<f&&(g=Math.PI-g),p<0&&(p=2*Math.PI+p),g<0&&(g=2*Math.PI+g),h&&p>g&&(p-=2*Math.PI),!h&&g>p&&(g-=2*Math.PI)}let m=g-p;if(Math.abs(m)>120*Math.PI/180){let e=g,r=i,l=o;u=t(i=f+a*Math.cos(g=h&&g>p?p+120*Math.PI/180*1:p+-(120*Math.PI/180*1)),o=y+n*Math.sin(g),r,l,a,n,s,0,h,[g,e,f,y])}m=g-p;let C=Math.cos(p),b=Math.cos(g),k=Math.tan(m/4),w=4/3*a*k,T=4/3*n*k,B=[e,r],S=[e+w*Math.sin(p),r-T*C],v=[i+w*Math.sin(g),o-T*b],_=[i,o];if(S[0]=2*B[0]-S[0],S[1]=2*B[1]-S[1],c)return[S,v,_].concat(u);{u=[S,v,_].concat(u);let t=[];for(let e=0;e<u.length;e+=3){let r=x(u[e][0],u[e][1],d),i=x(u[e+1][0],u[e+1][1],d),o=x(u[e+2][0],u[e+2][1],d);t.push([r[0],r[1],i[0],i[1],o[0],o[1]])}return t}})(i,o,l,h,t,r,a,n,s).forEach(function(t){e.push({key:"C",data:t})}),i=l,o=h);break}case"Z":e.push({key:"Z",data:[]}),i=a,o=n}r=h}return e}function x(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}let C={randOffset:function(t,e){return $(t,e)},randOffsetWithRange:function(t,e,r){return M(t,e,r)},ellipse:function(t,e,r,i,o){let a=T(r,i,o);return B(t,e,o,a).opset},doubleLineOps:function(t,e,r,i,o){return E(t,e,r,i,o,!0)}};function b(t,e,r,i,o){return{type:"path",ops:E(t,e,r,i,o)}}function k(t,e,r){let i=(t||[]).length;if(i>2){let o=[];for(let e=0;e<i-1;e++)o.push(...E(t[e][0],t[e][1],t[e+1][0],t[e+1][1],r));return e&&o.push(...E(t[i-1][0],t[i-1][1],t[0][0],t[0][1],r)),{type:"path",ops:o}}return 2===i?b(t[0][0],t[0][1],t[1][0],t[1][1],r):{type:"path",ops:[]}}function w(t,e){if(t.length){let r="number"==typeof t[0][0]?[t]:t,i=D(r[0],+(1+.2*e.roughness),e),o=e.disableMultiStroke?[]:D(r[0],1.5*(1+.22*e.roughness),A(e));for(let t=1;t<r.length;t++){let a=r[t];if(a.length){let t=D(a,+(1+.2*e.roughness),e),r=e.disableMultiStroke?[]:D(a,1.5*(1+.22*e.roughness),A(e));for(let e of t)"move"!==e.op&&i.push(e);for(let t of r)"move"!==t.op&&o.push(t)}}return{type:"path",ops:i.concat(o)}}return{type:"path",ops:[]}}function T(t,e,r){let i=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t/2,2)+Math.pow(e/2,2))/2)),o=2*Math.PI/Math.ceil(Math.max(r.curveStepCount,r.curveStepCount/Math.sqrt(200)*i)),a=Math.abs(t/2),n=Math.abs(e/2),s=1-r.curveFitting;return a+=$(a*s,r),n+=$(n*s,r),{increment:o,rx:a,ry:n}}function B(t,e,r,i){let[o,a]=I(i.increment,t,e,i.rx,i.ry,1,i.increment*M(.1,M(.4,1,r),r),r),n=K(o,null,r);if(!r.disableMultiStroke&&0!==r.roughness){let[o]=I(i.increment,t,e,i.rx,i.ry,1.5,0,r),a=K(o,null,r);n=n.concat(a)}return{estimatedPoints:a,opset:{type:"path",ops:n}}}function S(t,e,r,i,o,a,n,s,l){let h=Math.abs(r/2),c=Math.abs(i/2);h+=$(.01*h,l),c+=$(.01*c,l);let d=o,u=a;for(;d<0;)d+=2*Math.PI,u+=2*Math.PI;u-d>2*Math.PI&&(d=0,u=2*Math.PI);let p=Math.min(2*Math.PI/l.curveStepCount/2,(u-d)/2),g=q(p,t,e,h,c,d,u,1,l);if(!l.disableMultiStroke){let r=q(p,t,e,h,c,d,u,1.5,l);g.push(...r)}return n&&(s?g.push(...E(t,e,t+h*Math.cos(d),e+c*Math.sin(d),l),...E(t,e,t+h*Math.cos(u),e+c*Math.sin(u),l)):g.push({op:"lineTo",data:[t,e]},{op:"lineTo",data:[t+h*Math.cos(d),e+c*Math.sin(d)]})),{type:"path",ops:g}}function v(t,e){let r=m(y(f(t))),i=[],o=[0,0],a=[0,0];for(let{key:t,data:n}of r)switch(t){case"M":a=[n[0],n[1]],o=[n[0],n[1]];break;case"L":i.push(...E(a[0],a[1],n[0],n[1],e)),a=[n[0],n[1]];break;case"C":{let[t,r,o,s,l,h]=n;i.push(...function(t,e,r,i,o,a,n,s){let l=[],h=[s.maxRandomnessOffset||1,(s.maxRandomnessOffset||1)+.3],c=[0,0],d=s.disableMultiStroke?1:2,u=s.preserveVertices;for(let p=0;p<d;p++)0===p?l.push({op:"move",data:[n[0],n[1]]}):l.push({op:"move",data:[n[0]+(u?0:$(h[0],s)),n[1]+(u?0:$(h[0],s))]}),c=u?[o,a]:[o+$(h[p],s),a+$(h[p],s)],l.push({op:"bcurveTo",data:[t+$(h[p],s),e+$(h[p],s),r+$(h[p],s),i+$(h[p],s),c[0],c[1]]});return l}(t,r,o,s,l,h,a,e)),a=[l,h];break}case"Z":i.push(...E(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]]}return{type:"path",ops:i}}function _(t,e){let r=[];for(let i of t)if(i.length){let t=e.maxRandomnessOffset||0,o=i.length;if(o>2){r.push({op:"move",data:[i[0][0]+$(t,e),i[0][1]+$(t,e)]});for(let a=1;a<o;a++)r.push({op:"lineTo",data:[i[a][0]+$(t,e),i[a][1]+$(t,e)]})}}return{type:"fillPath",ops:r}}function F(t,e){return(function(t,e){let r=t.fillStyle||"hachure";if(!u[r])switch(r){case"zigzag":u[r]||(u[r]=new s(e));break;case"cross-hatch":u[r]||(u[r]=new l(e));break;case"dots":u[r]||(u[r]=new h(e));break;case"dashed":u[r]||(u[r]=new c(e));break;case"zigzag-line":u[r]||(u[r]=new d(e));break;default:u[r="hachure"]||(u[r]=new a(e))}return u[r]})(e,C).fillPolygons(t,e)}function A(t){let e=Object.assign({},t);return e.randomizer=void 0,t.seed&&(e.seed=t.seed+1),e}function L(t){return t.randomizer||(t.randomizer=new p(t.seed||0)),t.randomizer.next()}function M(t,e,r,i=1){return r.roughness*i*(L(r)*(e-t)+t)}function $(t,e,r=1){return M(-t,t,e,r)}function E(t,e,r,i,o,a=!1){let n=a?o.disableMultiStrokeFill:o.disableMultiStroke,s=O(t,e,r,i,o,!0,!1);if(n)return s;let l=O(t,e,r,i,o,!0,!0);return s.concat(l)}function O(t,e,r,i,o,a,n){let s=Math.pow(t-r,2)+Math.pow(e-i,2),l=Math.sqrt(s),h=1;h=l<200?1:l>500?.4:-.0016668*l+1.233334;let c=o.maxRandomnessOffset||0;c*c*100>s&&(c=l/10);let d=c/2,u=.2+.2*L(o),p=o.bowing*o.maxRandomnessOffset*(i-e)/200,g=o.bowing*o.maxRandomnessOffset*(t-r)/200;p=$(p,o,h),g=$(g,o,h);let f=[],y=o.preserveVertices;return a&&(n?f.push({op:"move",data:[t+(y?0:$(d,o,h)),e+(y?0:$(d,o,h))]}):f.push({op:"move",data:[t+(y?0:$(c,o,h)),e+(y?0:$(c,o,h))]})),n?f.push({op:"bcurveTo",data:[p+t+(r-t)*u+$(d,o,h),g+e+(i-e)*u+$(d,o,h),p+t+2*(r-t)*u+$(d,o,h),g+e+2*(i-e)*u+$(d,o,h),r+(y?0:$(d,o,h)),i+(y?0:$(d,o,h))]}):f.push({op:"bcurveTo",data:[p+t+(r-t)*u+$(c,o,h),g+e+(i-e)*u+$(c,o,h),p+t+2*(r-t)*u+$(c,o,h),g+e+2*(i-e)*u+$(c,o,h),r+(y?0:$(c,o,h)),i+(y?0:$(c,o,h))]}),f}function D(t,e,r){if(!t.length)return[];let i=[];i.push([t[0][0]+$(e,r),t[0][1]+$(e,r)]),i.push([t[0][0]+$(e,r),t[0][1]+$(e,r)]);for(let o=1;o<t.length;o++)i.push([t[o][0]+$(e,r),t[o][1]+$(e,r)]),o===t.length-1&&i.push([t[o][0]+$(e,r),t[o][1]+$(e,r)]);return K(i,null,r)}function K(t,e,r){let i=t.length,o=[];if(i>3){let a=[],n=1-r.curveTightness;o.push({op:"move",data:[t[1][0],t[1][1]]});for(let e=1;e+2<i;e++){let r=t[e];a[0]=[r[0],r[1]],a[1]=[r[0]+(n*t[e+1][0]-n*t[e-1][0])/6,r[1]+(n*t[e+1][1]-n*t[e-1][1])/6],a[2]=[t[e+1][0]+(n*t[e][0]-n*t[e+2][0])/6,t[e+1][1]+(n*t[e][1]-n*t[e+2][1])/6],a[3]=[t[e+1][0],t[e+1][1]],o.push({op:"bcurveTo",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(e&&2===e.length){let t=r.maxRandomnessOffset;o.push({op:"lineTo",data:[e[0]+$(t,r),e[1]+$(t,r)]})}}else 3===i?(o.push({op:"move",data:[t[1][0],t[1][1]]}),o.push({op:"bcurveTo",data:[t[1][0],t[1][1],t[2][0],t[2][1],t[2][0],t[2][1]]})):2===i&&o.push(...O(t[0][0],t[0][1],t[1][0],t[1][1],r,!0,!0));return o}function I(t,e,r,i,o,a,n,s){let l=[],h=[];if(0===s.roughness){t/=4,h.push([e+i*Math.cos(-t),r+o*Math.sin(-t)]);for(let a=0;a<=2*Math.PI;a+=t){let t=[e+i*Math.cos(a),r+o*Math.sin(a)];l.push(t),h.push(t)}h.push([e+ +i,r+0*o]),h.push([e+i*Math.cos(t),r+o*Math.sin(t)])}else{let c=$(.5,s)-Math.PI/2;h.push([$(a,s)+e+.9*i*Math.cos(c-t),$(a,s)+r+.9*o*Math.sin(c-t)]);let d=2*Math.PI+c-.01;for(let n=c;n<d;n+=t){let t=[$(a,s)+e+i*Math.cos(n),$(a,s)+r+o*Math.sin(n)];l.push(t),h.push(t)}h.push([$(a,s)+e+i*Math.cos(c+2*Math.PI+.5*n),$(a,s)+r+o*Math.sin(c+2*Math.PI+.5*n)]),h.push([$(a,s)+e+.98*i*Math.cos(c+n),$(a,s)+r+.98*o*Math.sin(c+n)]),h.push([$(a,s)+e+.9*i*Math.cos(c+.5*n),$(a,s)+r+.9*o*Math.sin(c+.5*n)])}return[h,l]}function q(t,e,r,i,o,a,n,s,l){let h=a+$(.1,l),c=[];c.push([$(s,l)+e+.9*i*Math.cos(h-t),$(s,l)+r+.9*o*Math.sin(h-t)]);for(let a=h;a<=n;a+=t)c.push([$(s,l)+e+i*Math.cos(a),$(s,l)+r+o*Math.sin(a)]);return c.push([e+i*Math.cos(n),r+o*Math.sin(n)]),c.push([e+i*Math.cos(n),r+o*Math.sin(n)]),K(c,null,l)}function R(t,e=0){let r=t.length;if(r<3)throw Error("A curve must have at least three points.");let i=[];if(3===r)i.push([...t[0]],[...t[1]],[...t[2]],[...t[2]]);else{let r=[];r.push(t[0],t[0]);for(let e=1;e<t.length;e++)r.push(t[e]),e===t.length-1&&r.push(t[e]);let o=[],a=1-e;i.push([...r[0]]);for(let t=1;t+2<r.length;t++){let e=r[t];o[0]=[e[0],e[1]],o[1]=[e[0]+(a*r[t+1][0]-a*r[t-1][0])/6,e[1]+(a*r[t+1][1]-a*r[t-1][1])/6],o[2]=[r[t+1][0]+(a*r[t][0]-a*r[t+2][0])/6,r[t+1][1]+(a*r[t][1]-a*r[t+2][1])/6],o[3]=[r[t+1][0],r[t+1][1]],i.push(o[1],o[2],o[3])}}return i}function P(t,e){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function z(t,e,r){return[t[0]+(e[0]-t[0])*r,t[1]+(e[1]-t[1])*r]}function W(t,e,r,i,o){let a=o||[],n=t[e],s=t[r-1],l=0,h=1;for(let i=e+1;i<r-1;++i){let e=function(t,e,r){let i=P(e,r);if(0===i)return P(t,e);let o=((t[0]-e[0])*(r[0]-e[0])+(t[1]-e[1])*(r[1]-e[1]))/i;return P(t,z(e,r,o=Math.max(0,Math.min(1,o))))}(t[i],n,s);e>l&&(l=e,h=i)}return Math.sqrt(l)>i?(W(t,e,h+1,i,a),W(t,h,r,i,a)):(a.length||a.push(n),a.push(s)),a}function N(t,e=.15,r){let i=[],o=(t.length-1)/3;for(let r=0;r<o;r++)!function t(e,r,i,o){let a,n,s,l,h,c,d,u,p=o||[];if(a=e[r+0],n=e[r+1],s=e[r+2],l=e[r+3],h=3*n[0]-2*a[0]-l[0],h*=h,c=3*n[1]-2*a[1]-l[1],c*=c,d=3*s[0]-2*l[0]-a[0],d*=d,u=3*s[1]-2*l[1]-a[1],u*=u,h<d&&(h=d),c<u&&(c=u),h+c<i){let t=e[r+0];p.length?Math.sqrt(P(p[p.length-1],t))>1&&p.push(t):p.push(t),p.push(e[r+3])}else{let o=e[r+0],a=e[r+1],n=e[r+2],s=e[r+3],l=z(o,a,.5),h=z(a,n,.5),c=z(n,s,.5),d=z(l,h,.5),u=z(h,c,.5),g=z(d,u,.5);t([o,l,d,g],0,i,p),t([g,u,c,s],0,i,p)}return p}(t,3*r,e,i);return r&&r>0?W(i,0,i.length,r):i}let j="none";class H{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(0x80000000*Math.random())}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,e,r){return{shape:t,sets:e||[],options:r||this.defaultOptions}}line(t,e,r,i,o){let a=this._o(o);return this._d("line",[b(t,e,r,i,a)],a)}rectangle(t,e,r,i,o){var a,n,s,l;let h=this._o(o),c=[],d=k([[a=t,n=e],[a+(s=r),n],[a+s,n+(l=i)],[a,n+l]],!0,h);if(h.fill){let o=[[t,e],[t+r,e],[t+r,e+i],[t,e+i]];"solid"===h.fillStyle?c.push(_([o],h)):c.push(F([o],h))}return h.stroke!==j&&c.push(d),this._d("rectangle",c,h)}ellipse(t,e,r,i,o){let a=this._o(o),n=[],s=T(r,i,a),l=B(t,e,a,s);if(a.fill)if("solid"===a.fillStyle){let r=B(t,e,a,s).opset;r.type="fillPath",n.push(r)}else n.push(F([l.estimatedPoints],a));return a.stroke!==j&&n.push(l.opset),this._d("ellipse",n,a)}circle(t,e,r,i){let o=this.ellipse(t,e,r,r,i);return o.shape="circle",o}linearPath(t,e){let r=this._o(e);return this._d("linearPath",[k(t,!1,r)],r)}arc(t,e,r,i,o,a,n=!1,s){let l=this._o(s),h=[],c=S(t,e,r,i,o,a,n,!0,l);if(n&&l.fill)if("solid"===l.fillStyle){let n=Object.assign({},l);n.disableMultiStroke=!0;let s=S(t,e,r,i,o,a,!0,!1,n);s.type="fillPath",h.push(s)}else h.push(function(t,e,r,i,o,a,n){let s=Math.abs(r/2),l=Math.abs(i/2);s+=$(.01*s,n),l+=$(.01*l,n);let h=o,c=a;for(;h<0;)h+=2*Math.PI,c+=2*Math.PI;c-h>2*Math.PI&&(h=0,c=2*Math.PI);let d=(c-h)/n.curveStepCount,u=[];for(let r=h;r<=c;r+=d)u.push([t+s*Math.cos(r),e+l*Math.sin(r)]);return u.push([t+s*Math.cos(c),e+l*Math.sin(c)]),u.push([t,e]),F([u],n)}(t,e,r,i,o,a,l));return l.stroke!==j&&h.push(c),this._d("arc",h,l)}curve(t,e){let r=this._o(e),i=[],o=w(t,r);if(r.fill&&r.fill!==j)if("solid"===r.fillStyle){let e=w(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else{let e=[];if(t.length)for(let i of"number"==typeof t[0][0]?[t]:t)i.length<3?e.push(...i):3===i.length?e.push(...N(R([i[0],i[0],i[1],i[2]]),10,(1+r.roughness)/2)):e.push(...N(R(i),10,(1+r.roughness)/2));e.length&&i.push(F([e],r))}return r.stroke!==j&&i.push(o),this._d("curve",i,r)}polygon(t,e){let r=this._o(e),i=[],o=k(t,!0,r);return r.fill&&("solid"===r.fillStyle?i.push(_([t],r)):i.push(F([t],r))),r.stroke!==j&&i.push(o),this._d("polygon",i,r)}path(t,e){let r=this._o(e),i=[];if(!t)return this._d("path",i,r);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let o=r.fill&&"transparent"!==r.fill&&r.fill!==j,a=r.stroke!==j,n=!!(r.simplification&&r.simplification<1),s=function(t,e){let r=m(y(f(t))),i=[],o=[],a=[0,0],n=[],s=()=>{n.length>=4&&o.push(...N(n,1)),n=[]},l=()=>{s(),o.length&&(i.push(o),o=[])};for(let{key:t,data:e}of r)switch(t){case"M":l(),a=[e[0],e[1]],o.push(a);break;case"L":s(),o.push([e[0],e[1]]);break;case"C":if(!n.length){let t=o.length?o[o.length-1]:a;n.push([t[0],t[1]])}n.push([e[0],e[1]]),n.push([e[2],e[3]]),n.push([e[4],e[5]]);break;case"Z":s(),o.push([a[0],a[1]])}if(l(),!e)return i;let h=[];for(let t of i){let r=W(t,0,t.length,e);r.length&&h.push(r)}return h}(t,n?4-4*(r.simplification||1):(1+r.roughness)/2),l=v(t,r);if(o)if("solid"===r.fillStyle)if(1===s.length){let e=v(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else i.push(_(s,r));else i.push(F(s,r));return a&&(n?s.forEach(t=>{i.push(k(t,!1,r))}):i.push(l)),this._d("path",i,r)}opsToPath(t,e){let r="";for(let i of t.ops){let t="number"==typeof e&&e>=0?i.data.map(t=>+t.toFixed(e)):i.data;switch(i.op){case"move":r+=`M${t[0]} ${t[1]} `;break;case"bcurveTo":r+=`C${t[0]} ${t[1]}, ${t[2]} ${t[3]}, ${t[4]} ${t[5]} `;break;case"lineTo":r+=`L${t[0]} ${t[1]} `}}return r.trim()}toPaths(t){let e=t.sets||[],r=t.options||this.defaultOptions,i=[];for(let t of e){let e=null;switch(t.type){case"path":e={d:this.opsToPath(t),stroke:r.stroke,strokeWidth:r.strokeWidth,fill:j};break;case"fillPath":e={d:this.opsToPath(t),stroke:j,strokeWidth:0,fill:r.fill||j};break;case"fillSketch":e=this.fillSketch(t,r)}e&&i.push(e)}return i}fillSketch(t,e){let r=e.fillWeight;return r<0&&(r=e.strokeWidth/2),{d:this.opsToPath(t),stroke:e.fill||j,strokeWidth:r,fill:j}}_mergedShape(t){return t.filter((t,e)=>0===e||"move"!==t.op)}}class U{constructor(t,e){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new H(e)}draw(t){let e=t.sets||[],r=t.options||this.getDefaultOptions(),i=this.ctx,o=t.options.fixedDecimalPlaceDigits;for(let a of e)switch(a.type){case"path":i.save(),i.strokeStyle="none"===r.stroke?"transparent":r.stroke,i.lineWidth=r.strokeWidth,r.strokeLineDash&&i.setLineDash(r.strokeLineDash),r.strokeLineDashOffset&&(i.lineDashOffset=r.strokeLineDashOffset),this._drawToContext(i,a,o),i.restore();break;case"fillPath":{i.save(),i.fillStyle=r.fill||"";let e="curve"===t.shape||"polygon"===t.shape||"path"===t.shape?"evenodd":"nonzero";this._drawToContext(i,a,o,e),i.restore();break}case"fillSketch":this.fillSketch(i,a,r)}}fillSketch(t,e,r){let i=r.fillWeight;i<0&&(i=r.strokeWidth/2),t.save(),r.fillLineDash&&t.setLineDash(r.fillLineDash),r.fillLineDashOffset&&(t.lineDashOffset=r.fillLineDashOffset),t.strokeStyle=r.fill||"",t.lineWidth=i,this._drawToContext(t,e,r.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,e,r,i="nonzero"){for(let i of(t.beginPath(),e.ops)){let e="number"==typeof r&&r>=0?i.data.map(t=>+t.toFixed(r)):i.data;switch(i.op){case"move":t.moveTo(e[0],e[1]);break;case"bcurveTo":t.bezierCurveTo(e[0],e[1],e[2],e[3],e[4],e[5]);break;case"lineTo":t.lineTo(e[0],e[1])}}"fillPath"===e.type?t.fill(i):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,e,r,i,o){let a=this.gen.line(t,e,r,i,o);return this.draw(a),a}rectangle(t,e,r,i,o){let a=this.gen.rectangle(t,e,r,i,o);return this.draw(a),a}ellipse(t,e,r,i,o){let a=this.gen.ellipse(t,e,r,i,o);return this.draw(a),a}circle(t,e,r,i){let o=this.gen.circle(t,e,r,i);return this.draw(o),o}linearPath(t,e){let r=this.gen.linearPath(t,e);return this.draw(r),r}polygon(t,e){let r=this.gen.polygon(t,e);return this.draw(r),r}arc(t,e,r,i,o,a,n=!1,s){let l=this.gen.arc(t,e,r,i,o,a,n,s);return this.draw(l),l}curve(t,e){let r=this.gen.curve(t,e);return this.draw(r),r}path(t,e){let r=this.gen.path(t,e);return this.draw(r),r}}let Y="http://www.w3.org/2000/svg";class G{constructor(t,e){this.svg=t,this.gen=new H(e)}draw(t){let e=t.sets||[],r=t.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,o=i.createElementNS(Y,"g"),a=t.options.fixedDecimalPlaceDigits;for(let n of e){let e=null;switch(n.type){case"path":(e=i.createElementNS(Y,"path")).setAttribute("d",this.opsToPath(n,a)),e.setAttribute("stroke",r.stroke),e.setAttribute("stroke-width",r.strokeWidth+""),e.setAttribute("fill","none"),r.strokeLineDash&&e.setAttribute("stroke-dasharray",r.strokeLineDash.join(" ").trim()),r.strokeLineDashOffset&&e.setAttribute("stroke-dashoffset",`${r.strokeLineDashOffset}`);break;case"fillPath":(e=i.createElementNS(Y,"path")).setAttribute("d",this.opsToPath(n,a)),e.setAttribute("stroke","none"),e.setAttribute("stroke-width","0"),e.setAttribute("fill",r.fill||""),"curve"!==t.shape&&"polygon"!==t.shape||e.setAttribute("fill-rule","evenodd");break;case"fillSketch":e=this.fillSketch(i,n,r)}e&&o.appendChild(e)}return o}fillSketch(t,e,r){let i=r.fillWeight;i<0&&(i=r.strokeWidth/2);let o=t.createElementNS(Y,"path");return o.setAttribute("d",this.opsToPath(e,r.fixedDecimalPlaceDigits)),o.setAttribute("stroke",r.fill||""),o.setAttribute("stroke-width",i+""),o.setAttribute("fill","none"),r.fillLineDash&&o.setAttribute("stroke-dasharray",r.fillLineDash.join(" ").trim()),r.fillLineDashOffset&&o.setAttribute("stroke-dashoffset",`${r.fillLineDashOffset}`),o}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,e){return this.gen.opsToPath(t,e)}line(t,e,r,i,o){let a=this.gen.line(t,e,r,i,o);return this.draw(a)}rectangle(t,e,r,i,o){let a=this.gen.rectangle(t,e,r,i,o);return this.draw(a)}ellipse(t,e,r,i,o){let a=this.gen.ellipse(t,e,r,i,o);return this.draw(a)}circle(t,e,r,i){let o=this.gen.circle(t,e,r,i);return this.draw(o)}linearPath(t,e){let r=this.gen.linearPath(t,e);return this.draw(r)}polygon(t,e){let r=this.gen.polygon(t,e);return this.draw(r)}arc(t,e,r,i,o,a,n=!1,s){let l=this.gen.arc(t,e,r,i,o,a,n,s);return this.draw(l)}curve(t,e){let r=this.gen.curve(t,e);return this.draw(r)}path(t,e){let r=this.gen.path(t,e);return this.draw(r)}}var X={canvas:(t,e)=>new U(t,e),svg:(t,e)=>new G(t,e),generator:t=>new H(t),newSeed:()=>H.newSeed()}},7829(t,e,r){"use strict";function i(t,e){let r;if(void 0===e)for(let e of t)null!=e&&(r<e||void 0===r&&e>=e)&&(r=e);else{let i=-1;for(let o of t)null!=(o=e(o,++i,t))&&(r<o||void 0===r&&o>=o)&&(r=o)}return r}function o(t,e){let r;if(void 0===e)for(let e of t)null!=e&&(r>e||void 0===r&&e>=e)&&(r=e);else{let i=-1;for(let o of t)null!=(o=e(o,++i,t))&&(r>o||void 0===r&&o>=o)&&(r=o)}return r}function a(t){return t}function n(t){return"translate("+t+",0)"}function s(t){return"translate(0,"+t+")"}function l(){return!this.__axis}function h(t,e){var r=[],i=null,o=null,h=6,c=6,d=3,u="u">typeof window&&window.devicePixelRatio>1?0:.5,p=1===t||4===t?-1:1,g=4===t||2===t?"x":"y",f=1===t||3===t?n:s;function y(n){var s=null==i?e.ticks?e.ticks.apply(e,r):e.domain():i,y=null==o?e.tickFormat?e.tickFormat.apply(e,r):a:o,m=Math.max(h,0)+d,x=e.range(),C=+x[0]+u,b=+x[x.length-1]+u,k=(e.bandwidth?function(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}:function(t){return e=>+t(e)})(e.copy(),u),w=n.selection?n.selection():n,T=w.selectAll(".domain").data([null]),B=w.selectAll(".tick").data(s,e).order(),S=B.exit(),v=B.enter().append("g").attr("class","tick"),_=B.select("line"),F=B.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),B=B.merge(v),_=_.merge(v.append("line").attr("stroke","currentColor").attr(g+"2",p*h)),F=F.merge(v.append("text").attr("fill","currentColor").attr(g,p*m).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),n!==w&&(T=T.transition(n),B=B.transition(n),_=_.transition(n),F=F.transition(n),S=S.transition(n).attr("opacity",1e-6).attr("transform",function(t){return isFinite(t=k(t))?f(t+u):this.getAttribute("transform")}),v.attr("opacity",1e-6).attr("transform",function(t){var e=this.parentNode.__axis;return f((e&&isFinite(e=e(t))?e:k(t))+u)})),S.remove(),T.attr("d",4===t||2===t?c?"M"+p*c+","+C+"H"+u+"V"+b+"H"+p*c:"M"+u+","+C+"V"+b:c?"M"+C+","+p*c+"V"+u+"H"+b+"V"+p*c:"M"+C+","+u+"H"+b),B.attr("opacity",1).attr("transform",function(t){return f(k(t)+u)}),_.attr(g+"2",p*h),F.attr(g,p*m).text(y),w.filter(l).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),w.each(function(){this.__axis=k})}return y.scale=function(t){return arguments.length?(e=t,y):e},y.ticks=function(){return r=Array.from(arguments),y},y.tickArguments=function(t){return arguments.length?(r=null==t?[]:Array.from(t),y):r.slice()},y.tickValues=function(t){return arguments.length?(i=null==t?null:Array.from(t),y):i&&i.slice()},y.tickFormat=function(t){return arguments.length?(o=t,y):o},y.tickSize=function(t){return arguments.length?(h=c=+t,y):h},y.tickSizeInner=function(t){return arguments.length?(h=+t,y):h},y.tickSizeOuter=function(t){return arguments.length?(c=+t,y):c},y.tickPadding=function(t){return arguments.length?(d=+t,y):d},y.offset=function(t){return arguments.length?(u=+t,y):u},y}function c(t){return h(1,t)}function d(t){return h(3,t)}function u(){}function p(t){return null==t?u:function(){return this.querySelector(t)}}function g(){return[]}function f(t){return null==t?g:function(){return this.querySelectorAll(t)}}function y(t){return function(){return this.matches(t)}}function m(t){return function(e){return e.matches(t)}}r.d(e,{wXd:()=>rq,Ui6:()=>r8,Agd:()=>rP,YPH:()=>rU,UAC:()=>rW,T9B:()=>i,rGn:()=>rQ,hkb:()=>eQ,Lx9:()=>ak,Wi0:()=>ar,Mol:()=>rZ,y8u:()=>al,Sk5:()=>eW,rLf:()=>o2,GuW:()=>rX,olC:()=>ac,JLW:()=>oY,m4Y:()=>function t(){var e,r=r$();return r.copy=function(){return rM(r,t())},rn.apply(r,arguments),e=r.domain,r.ticks=function(t){var r=e();return function(t,e,r){if(e*=1,t*=1,!((r*=1)>0))return[];if(t===e)return[t];let i=e<t,[o,a,n]=i?rf(e,t,r):rf(t,e,r);if(!(a>=o))return[];let s=a-o+1,l=Array(s);if(i)if(n<0)for(let t=0;t<s;++t)l[t]=-((a-t)/n);else for(let t=0;t<s;++t)l[t]=(a-t)*n;else if(n<0)for(let t=0;t<s;++t)l[t]=-((o+t)/n);else for(let t=0;t<s;++t)l[t]=(o+t)*n;return l}(r[0],r[r.length-1],null==t?10:t)},r.tickFormat=function(t,r){var i=e();return function(t,e,r,i){var o,a,n=rm(t,e,r);switch((i=eO(null==i?",f":i)).type){case"s":var s=Math.max(Math.abs(t),Math.abs(e));return null!=i.precision||isNaN(a=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(e$(s)/3)))-e$(Math.abs(n))))||(i.precision=a),ts(i,s);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(a=Math.max(0,e$(Math.abs(Math.max(Math.abs(t),Math.abs(e)))-(o=Math.abs(o=n)))-e$(o))+1)||(i.precision=a-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(a=Math.max(0,-e$(Math.abs(n))))||(i.precision=a-("%"===i.type)*2)}return tn(i)}(i[0],i[i.length-1],null==t?10:t,r)},r.nice=function(t){null==t&&(t=10);var i,o,a=e(),n=0,s=a.length-1,l=a[n],h=a[s],c=10;for(h<l&&(o=l,l=h,h=o,o=n,n=s,s=o);c-- >0;){if((o=ry(l,h,t))===i)return a[n]=l,a[s]=h,e(a);if(o>0)l=Math.floor(l/o)*o,h=Math.ceil(h/o)*o;else if(o<0)l=Math.ceil(l*o)/o,h=Math.floor(h*o)/o;else break;i=o}return r},r},cVp:()=>aC,Q7f:()=>am,n8j:()=>oJ,zt:()=>ok,Xf2:()=>a$,DCK:()=>th,TUC:()=>rV,dyv:()=>aD,GPZ:()=>tn,IrU:()=>au,OEq:()=>aa,lUB:()=>oZ,nVG:()=>aF,WH:()=>function t(){var e,r,i=rd().unknown(void 0),o=i.domain,a=i.range,n=0,s=1,l=!1,h=0,c=0,d=.5;function u(){var t=o().length,i=s<n,u=i?s:n,p=i?n:s;e=(p-u)/Math.max(1,t-h+2*c),l&&(e=Math.floor(e)),u+=(p-u-e*(t-h))*d,r=e*(1-h),l&&(u=Math.round(u),r=Math.round(r));var g=(function(t,e,r){t*=1,e*=1,r=(o=arguments.length)<2?(e=t,t=0,1):o<3?1:+r;for(var i=-1,o=0|Math.max(0,Math.ceil((e-t)/r)),a=Array(o);++i<o;)a[i]=t+i*r;return a})(t).map(function(t){return u+e*t});return a(i?g.reverse():g)}return delete i.unknown,i.domain=function(t){return arguments.length?(o(t),u()):o()},i.range=function(t){return arguments.length?([n,s]=t,n*=1,s*=1,u()):[n,s]},i.rangeRound=function(t){return[n,s]=t,n*=1,s*=1,l=!0,u()},i.bandwidth=function(){return r},i.step=function(){return e},i.round=function(t){return arguments.length?(l=!!t,u()):l},i.padding=function(t){return arguments.length?(h=Math.min(1,c=+t),u()):h},i.paddingInner=function(t){return arguments.length?(h=Math.min(1,t),u()):h},i.paddingOuter=function(t){return arguments.length?(c=+t,u()):c},i.align=function(t){return arguments.length?(d=Math.max(0,Math.min(1,t)),u()):d},i.copy=function(){return t(o(),[n,s]).round(l).paddingInner(h).paddingOuter(c).align(d)},rn.apply(u(),arguments)},ABi:()=>rY,qrM:()=>o6,PGu:()=>rG,oDi:()=>af,ucG:()=>rI,UMr:()=>rd,Ltv:()=>ow,UPb:()=>aK,w7C:()=>ob,IA3:()=>at,bEH:()=>ra,GZz:()=>aO,jkA:()=>o,l78:()=>d,Yu4:()=>o7,uxU:()=>aA,t6C:()=>rK,PGM:()=>ai,tlR:()=>c});var x=Array.prototype.find;function C(){return this.firstElementChild}var b=Array.prototype.filter;function k(){return Array.from(this.children)}function w(t){return Array(t.length)}function T(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function B(t,e,r,i,o,a){for(var n,s=0,l=e.length,h=a.length;s<h;++s)(n=e[s])?(n.__data__=a[s],i[s]=n):r[s]=new T(t,a[s]);for(;s<l;++s)(n=e[s])&&(o[s]=n)}function S(t,e,r,i,o,a,n){var s,l,h,c=new Map,d=e.length,u=a.length,p=Array(d);for(s=0;s<d;++s)(l=e[s])&&(p[s]=h=n.call(l,l.__data__,s,e)+"",c.has(h)?o[s]=l:c.set(h,l));for(s=0;s<u;++s)h=n.call(t,a[s],s,a)+"",(l=c.get(h))?(i[s]=l,l.__data__=a[s],c.delete(h)):r[s]=new T(t,a[s]);for(s=0;s<d;++s)(l=e[s])&&c.get(p[s])===l&&(o[s]=l)}function v(t){return t.__data__}function _(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}T.prototype={constructor:T,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var F="http://www.w3.org/1999/xhtml";let A={svg:"http://www.w3.org/2000/svg",xhtml:F,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function L(t){var e=t+="",r=e.indexOf(":");return r>=0&&"xmlns"!==(e=t.slice(0,r))&&(t=t.slice(r+1)),A.hasOwnProperty(e)?{space:A[e],local:t}:t}function M(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function $(t,e){return t.style.getPropertyValue(e)||M(t).getComputedStyle(t,null).getPropertyValue(e)}function E(t){return t.trim().split(/^|\s+/)}function O(t){return t.classList||new D(t)}function D(t){this._node=t,this._names=E(t.getAttribute("class")||"")}function K(t,e){for(var r=O(t),i=-1,o=e.length;++i<o;)r.add(e[i])}function I(t,e){for(var r=O(t),i=-1,o=e.length;++i<o;)r.remove(e[i])}function q(){this.textContent=""}function R(){this.innerHTML=""}function P(){this.nextSibling&&this.parentNode.appendChild(this)}function z(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function W(t){var e=L(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===F&&e.documentElement.namespaceURI===F?e.createElement(t):e.createElementNS(r,t)}})(e)}function N(){return null}function j(){var t=this.parentNode;t&&t.removeChild(this)}function H(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function U(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Y(t){return function(){var e=this.__on;if(e){for(var r,i=0,o=-1,a=e.length;i<a;++i)(r=e[i],t.type&&r.type!==t.type||r.name!==t.name)?e[++o]=r:this.removeEventListener(r.type,r.listener,r.options);++o?e.length=o:delete this.__on}}}function G(t,e,r){return function(){var i,o=this.__on,a=function(t){e.call(this,t,this.__data__)};if(o){for(var n=0,s=o.length;n<s;++n)if((i=o[n]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=r),i.value=e;return}}this.addEventListener(t.type,a,r),i={type:t.type,name:t.name,value:e,listener:a,options:r},o?o.push(i):this.__on=[i]}}function X(t,e,r){var i=M(t),o=i.CustomEvent;"function"==typeof o?o=new o(e,r):(o=i.document.createEvent("Event"),r?(o.initEvent(e,r.bubbles,r.cancelable),o.detail=r.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}D.prototype={add:function(t){0>this._names.indexOf(t)&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var Z=[null];function V(t,e){this._groups=t,this._parents=e}function Q(){return new V([[document.documentElement]],Z)}V.prototype=Q.prototype={constructor:V,select:function(t){"function"!=typeof t&&(t=p(t));for(var e=this._groups,r=e.length,i=Array(r),o=0;o<r;++o)for(var a,n,s=e[o],l=s.length,h=i[o]=Array(l),c=0;c<l;++c)(a=s[c])&&(n=t.call(a,a.__data__,c,s))&&("__data__"in a&&(n.__data__=a.__data__),h[c]=n);return new V(i,this._parents)},selectAll:function(t){if("function"==typeof t){var e;e=t,t=function(){var t;return t=e.apply(this,arguments),null==t?[]:Array.isArray(t)?t:Array.from(t)}}else t=f(t);for(var r=this._groups,i=r.length,o=[],a=[],n=0;n<i;++n)for(var s,l=r[n],h=l.length,c=0;c<h;++c)(s=l[c])&&(o.push(t.call(s,s.__data__,c,l)),a.push(s));return new V(o,a)},selectChild:function(t){var e;return this.select(null==t?C:(e="function"==typeof t?t:m(t),function(){return x.call(this.children,e)}))},selectChildren:function(t){var e;return this.selectAll(null==t?k:(e="function"==typeof t?t:m(t),function(){return b.call(this.children,e)}))},filter:function(t){"function"!=typeof t&&(t=y(t));for(var e=this._groups,r=e.length,i=Array(r),o=0;o<r;++o)for(var a,n=e[o],s=n.length,l=i[o]=[],h=0;h<s;++h)(a=n[h])&&t.call(a,a.__data__,h,n)&&l.push(a);return new V(i,this._parents)},data:function(t,e){if(!arguments.length)return Array.from(this,v);var r=e?S:B,i=this._parents,o=this._groups;"function"!=typeof t&&(x=t,t=function(){return x});for(var a=o.length,n=Array(a),s=Array(a),l=Array(a),h=0;h<a;++h){var c=i[h],d=o[h],u=d.length,p="object"==typeof(m=t.call(c,c&&c.__data__,h,i))&&"length"in m?m:Array.from(m),g=p.length,f=s[h]=Array(g),y=n[h]=Array(g);r(c,d,f,y,l[h]=Array(u),p,e);for(var m,x,C,b,k=0,w=0;k<g;++k)if(C=f[k]){for(k>=w&&(w=k+1);!(b=y[w])&&++w<g;);C._next=b||null}}return(n=new V(n,i))._enter=s,n._exit=l,n},enter:function(){return new V(this._enter||this._groups.map(w),this._parents)},exit:function(){return new V(this._exit||this._groups.map(w),this._parents)},join:function(t,e,r){var i=this.enter(),o=this,a=this.exit();return"function"==typeof t?(i=t(i))&&(i=i.selection()):i=i.append(t+""),null!=e&&(o=e(o))&&(o=o.selection()),null==r?a.remove():r(a),i&&o?i.merge(o).order():o},merge:function(t){for(var e=t.selection?t.selection():t,r=this._groups,i=e._groups,o=r.length,a=i.length,n=Math.min(o,a),s=Array(o),l=0;l<n;++l)for(var h,c=r[l],d=i[l],u=c.length,p=s[l]=Array(u),g=0;g<u;++g)(h=c[g]||d[g])&&(p[g]=h);for(;l<o;++l)s[l]=r[l];return new V(s,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,e=-1,r=t.length;++e<r;)for(var i,o=t[e],a=o.length-1,n=o[a];--a>=0;)(i=o[a])&&(n&&4^i.compareDocumentPosition(n)&&n.parentNode.insertBefore(i,n),n=i);return this},sort:function(t){function e(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}t||(t=_);for(var r=this._groups,i=r.length,o=Array(i),a=0;a<i;++a){for(var n,s=r[a],l=s.length,h=o[a]=Array(l),c=0;c<l;++c)(n=s[c])&&(h[c]=n);h.sort(e)}return new V(o,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var i=t[e],o=0,a=i.length;o<a;++o){var n=i[o];if(n)return n}return null},size:function(){let t=0;for(let e of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,r=0,i=e.length;r<i;++r)for(var o,a=e[r],n=0,s=a.length;n<s;++n)(o=a[n])&&t.call(o,o.__data__,n,a);return this},attr:function(t,e){var r=L(t);if(arguments.length<2){var i=this.node();return r.local?i.getAttributeNS(r.space,r.local):i.getAttribute(r)}return this.each((null==e?r.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}}:"function"==typeof e?r.local?function(t,e){return function(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}:function(t,e){return function(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}}:r.local?function(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}:function(t,e){return function(){this.setAttribute(t,e)}})(r,e))},style:function(t,e,r){return arguments.length>1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,r){return function(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,r)}}:function(t,e,r){return function(){this.style.setProperty(t,e,r)}})(t,e,null==r?"":r)):$(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var r=E(t+"");if(arguments.length<2){for(var i=O(this.node()),o=-1,a=r.length;++o<a;)if(!i.contains(r[o]))return!1;return!0}return this.each(("function"==typeof e?function(t,e){return function(){(e.apply(this,arguments)?K:I)(this,t)}}:e?function(t){return function(){K(this,t)}}:function(t){return function(){I(this,t)}})(r,e))},text:function(t){return arguments.length?this.each(null==t?q:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}:function(t){return function(){this.textContent=t}})(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?R:("function"==typeof t?function(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}:function(t){return function(){this.innerHTML=t}})(t)):this.node().innerHTML},raise:function(){return this.each(P)},lower:function(){return this.each(z)},append:function(t){var e="function"==typeof t?t:W(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})},insert:function(t,e){var r="function"==typeof t?t:W(t),i=null==e?N:"function"==typeof e?e:p(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),i.apply(this,arguments)||null)})},remove:function(){return this.each(j)},clone:function(t){return this.select(t?U:H)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,r){var i,o,a=(t+"").trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");return r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),{type:t,name:e}}),n=a.length;if(arguments.length<2){var s=this.node().__on;if(s){for(var l,h=0,c=s.length;h<c;++h)for(i=0,l=s[h];i<n;++i)if((o=a[i]).type===l.type&&o.name===l.name)return l.value}return}for(i=0,s=e?G:Y;i<n;++i)this.each(s(a[i],e,r));return this},dispatch:function(t,e){return this.each(("function"==typeof e?function(t,e){return function(){return X(this,t,e.apply(this,arguments))}}:function(t,e){return function(){return X(this,t,e)}})(t,e))},[Symbol.iterator]:function*(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var i,o=t[e],a=0,n=o.length;a<n;++a)(i=o[a])&&(yield i)}};var J={value:()=>{}};function tt(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+"")||t in i||/[\s.]/.test(t))throw Error("illegal type: "+t);i[t]=[]}return new te(i)}function te(t){this._=t}function tr(t,e,r){for(var i=0,o=t.length;i<o;++i)if(t[i].name===e){t[i]=J,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=r&&t.push({name:e,value:r}),t}te.prototype=tt.prototype={constructor:te,on:function(t,e){var r,i=this._,o=(t+"").trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!i.hasOwnProperty(t))throw Error("unknown type: "+t);return{type:t,name:e}}),a=-1,n=o.length;if(arguments.length<2){for(;++a<n;)if((r=(t=o[a]).type)&&(r=function(t,e){for(var r,i=0,o=t.length;i<o;++i)if((r=t[i]).name===e)return r.value}(i[r],t.name)))return r;return}if(null!=e&&"function"!=typeof e)throw Error("invalid callback: "+e);for(;++a<n;)if(r=(t=o[a]).type)i[r]=tr(i[r],t.name,e);else if(null==e)for(r in i)i[r]=tr(i[r],t.name,null);return this},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new te(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,i,o=Array(r),a=0;a<r;++a)o[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(i=this._[t],a=0,r=i.length;a<r;++a)i[a].value.apply(e,o)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw Error("unknown type: "+t);for(var i=this._[t],o=0,a=i.length;o<a;++o)i[o].value.apply(e,r)}};var ti,to,ta,tn,ts,tl,th,tc,td,tu=0,tp=0,tg=0,tf=0,ty=0,tm=0,tx="object"==typeof performance&&performance.now?performance:Date,tC="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tb(){return ty||(tC(tk),ty=tx.now()+tm)}function tk(){ty=0}function tw(){this._call=this._time=this._next=null}function tT(t,e,r){var i=new tw;return i.restart(t,e,r),i}function tB(){ty=(tf=tx.now())+tm,tu=tp=0;try{tb(),++tu;for(var t,e=tc;e;)(t=ty-e._time)>=0&&e._call.call(void 0,t),e=e._next;--tu}finally{tu=0,function(){for(var t,e,r=tc,i=1/0;r;)r._call?(i>r._time&&(i=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:tc=e);td=t,tv(i)}(),ty=0}}function tS(){var t=tx.now(),e=t-tf;e>1e3&&(tm-=e,tf=t)}function tv(t){!tu&&(tp&&(tp=clearTimeout(tp)),t-ty>24?(t<1/0&&(tp=setTimeout(tB,t-tx.now()-tm)),tg&&(tg=clearInterval(tg))):(tg||(tf=tx.now(),tg=setInterval(tS,1e3)),tu=1,tC(tB)))}function t_(t,e,r){var i=new tw;return e=null==e?0:+e,i.restart(r=>{i.stop(),t(r+e)},e,r),i}tw.prototype=tT.prototype={constructor:tw,restart:function(t,e,r){if("function"!=typeof t)throw TypeError("callback is not a function");r=(null==r?tb():+r)+(null==e?0:+e),this._next||td===this||(td?td._next=this:tc=this,td=this),this._call=t,this._time=r,tv()},stop:function(){this._call&&(this._call=null,this._time=1/0,tv())}};var tF=tt("start","end","cancel","interrupt"),tA=[];function tL(t,e,r,i,o,a){var n=t.__transition;if(n){if(r in n)return}else t.__transition={};!function(t,e,r){var i,o=t.__transition;function a(l){var h,c,d,u;if(1!==r.state)return s();for(h in o)if((u=o[h]).name===r.name){if(3===u.state)return t_(a);4===u.state?(u.state=6,u.timer.stop(),u.on.call("interrupt",t,t.__data__,u.index,u.group),delete o[h]):+h<e&&(u.state=6,u.timer.stop(),u.on.call("cancel",t,t.__data__,u.index,u.group),delete o[h])}if(t_(function(){3===r.state&&(r.state=4,r.timer.restart(n,r.delay,r.time),n(l))}),r.state=2,r.on.call("start",t,t.__data__,r.index,r.group),2===r.state){for(h=0,r.state=3,i=Array(d=r.tween.length),c=-1;h<d;++h)(u=r.tween[h].value.call(t,t.__data__,r.index,r.group))&&(i[++c]=u);i.length=c+1}}function n(e){for(var o=e<r.duration?r.ease.call(null,e/r.duration):(r.timer.restart(s),r.state=5,1),a=-1,n=i.length;++a<n;)i[a].call(t,o);5===r.state&&(r.on.call("end",t,t.__data__,r.index,r.group),s())}function s(){for(var i in r.state=6,r.timer.stop(),delete o[e],o)return;delete t.__transition}o[e]=r,r.timer=tT(function(t){r.state=1,r.timer.restart(a,r.delay,r.time),r.delay<=t&&a(t-r.delay)},0,r.time)}(t,r,{name:e,index:i,group:o,on:tF,tween:tA,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function tM(t,e){var r=tE(t,e);if(r.state>0)throw Error("too late; already scheduled");return r}function t$(t,e){var r=tE(t,e);if(r.state>3)throw Error("too late; already running");return r}function tE(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw Error("transition not found");return r}function tO(t,e){return t*=1,e*=1,function(r){return t*(1-r)+e*r}}var tD=180/Math.PI,tK={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function tI(t,e,r,i,o,a){var n,s,l;return(n=Math.sqrt(t*t+e*e))&&(t/=n,e/=n),(l=t*r+e*i)&&(r-=t*l,i-=e*l),(s=Math.sqrt(r*r+i*i))&&(r/=s,i/=s,l/=s),t*i<e*r&&(t=-t,e=-e,l=-l,n=-n),{translateX:o,translateY:a,rotate:Math.atan2(e,t)*tD,skewX:Math.atan(l)*tD,scaleX:n,scaleY:s}}function tq(t,e,r,i){function o(t){return t.length?t.pop()+" ":""}return function(a,n){var s,l,h,c,d=[],u=[];return a=t(a),n=t(n),!function(t,i,o,a,n,s){if(t!==o||i!==a){var l=n.push("translate(",null,e,null,r);s.push({i:l-4,x:tO(t,o)},{i:l-2,x:tO(i,a)})}else(o||a)&&n.push("translate("+o+e+a+r)}(a.translateX,a.translateY,n.translateX,n.translateY,d,u),s=a.rotate,l=n.rotate,s!==l?(s-l>180?l+=360:l-s>180&&(s+=360),u.push({i:d.push(o(d)+"rotate(",null,i)-2,x:tO(s,l)})):l&&d.push(o(d)+"rotate("+l+i),h=a.skewX,c=n.skewX,h!==c?u.push({i:d.push(o(d)+"skewX(",null,i)-2,x:tO(h,c)}):c&&d.push(o(d)+"skewX("+c+i),!function(t,e,r,i,a,n){if(t!==r||e!==i){var s=a.push(o(a)+"scale(",null,",",null,")");n.push({i:s-4,x:tO(t,r)},{i:s-2,x:tO(e,i)})}else(1!==r||1!==i)&&a.push(o(a)+"scale("+r+","+i+")")}(a.scaleX,a.scaleY,n.scaleX,n.scaleY,d,u),a=n=null,function(t){for(var e,r=-1,i=u.length;++r<i;)d[(e=u[r]).i]=e.x(t);return d.join("")}}}var tR=tq(function(t){let e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?tK:tI(e.a,e.b,e.c,e.d,e.e,e.f)},"px, ","px)","deg)"),tP=tq(function(t){return null==t?tK:(ti||(ti=document.createElementNS("http://www.w3.org/2000/svg","g")),ti.setAttribute("transform",t),t=ti.transform.baseVal.consolidate())?tI((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):tK},", ",")",")");function tz(t,e,r){var i=t._id;return t.each(function(){var t=t$(this,i);(t.value||(t.value={}))[e]=r.apply(this,arguments)}),function(t){return tE(t,i).value[e]}}function tW(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function tN(t,e){var r=Object.create(t.prototype);for(var i in e)r[i]=e[i];return r}function tj(){}var tH="\\s*([+-]?\\d+)\\s*",tU="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",tY="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tG=/^#([0-9a-f]{3,8})$/,tX=RegExp(`^rgb\\(${tH},${tH},${tH}\\)$`),tZ=RegExp(`^rgb\\(${tY},${tY},${tY}\\)$`),tV=RegExp(`^rgba\\(${tH},${tH},${tH},${tU}\\)$`),tQ=RegExp(`^rgba\\(${tY},${tY},${tY},${tU}\\)$`),tJ=RegExp(`^hsl\\(${tU},${tY},${tY}\\)$`),t0=RegExp(`^hsla\\(${tU},${tY},${tY},${tU}\\)$`),t1={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function t2(){return this.rgb().formatHex()}function t5(){return this.rgb().formatRgb()}function t3(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=tG.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?t4(e):3===r?new t9(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?t6(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?t6(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=tX.exec(t))?new t9(e[1],e[2],e[3],1):(e=tZ.exec(t))?new t9(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=tV.exec(t))?t6(e[1],e[2],e[3],e[4]):(e=tQ.exec(t))?t6(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=tJ.exec(t))?ea(e[1],e[2]/100,e[3]/100,1):(e=t0.exec(t))?ea(e[1],e[2]/100,e[3]/100,e[4]):t1.hasOwnProperty(t)?t4(t1[t]):"transparent"===t?new t9(NaN,NaN,NaN,0):null}function t4(t){return new t9(t>>16&255,t>>8&255,255&t,1)}function t6(t,e,r,i){return i<=0&&(t=e=r=NaN),new t9(t,e,r,i)}function t8(t){return(t instanceof tj||(t=t3(t)),t)?new t9((t=t.rgb()).r,t.g,t.b,t.opacity):new t9}function t7(t,e,r,i){return 1==arguments.length?t8(t):new t9(t,e,r,null==i?1:i)}function t9(t,e,r,i){this.r=+t,this.g=+e,this.b=+r,this.opacity=+i}function et(){return`#${eo(this.r)}${eo(this.g)}${eo(this.b)}`}function ee(){let t=er(this.opacity);return`${1===t?"rgb(":"rgba("}${ei(this.r)}, ${ei(this.g)}, ${ei(this.b)}${1===t?")":`, ${t})`}`}function er(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ei(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function eo(t){return((t=ei(t))<16?"0":"")+t.toString(16)}function ea(t,e,r,i){return i<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new es(t,e,r,i)}function en(t){if(t instanceof es)return new es(t.h,t.s,t.l,t.opacity);if(t instanceof tj||(t=t3(t)),!t)return new es;if(t instanceof es)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,o=Math.min(e,r,i),a=Math.max(e,r,i),n=NaN,s=a-o,l=(a+o)/2;return s?(n=e===a?(r-i)/s+(r<i)*6:r===a?(i-e)/s+2:(e-r)/s+4,s/=l<.5?a+o:2-a-o,n*=60):s=l>0&&l<1?0:n,new es(n,s,l,t.opacity)}function es(t,e,r,i){this.h=+t,this.s=+e,this.l=+r,this.opacity=+i}function el(t){return(t=(t||0)%360)<0?t+360:t}function eh(t){return Math.max(0,Math.min(1,t||0))}function ec(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function ed(t,e,r,i,o){var a=t*t,n=a*t;return((1-3*t+3*a-n)*e+(4-6*a+3*n)*r+(1+3*t+3*a-3*n)*i+n*o)/6}tW(tj,t3,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:t2,formatHex:t2,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return en(this).formatHsl()},formatRgb:t5,toString:t5}),tW(t9,t7,tN(tj,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new t9(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new t9(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new t9(ei(this.r),ei(this.g),ei(this.b),er(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:et,formatHex:et,formatHex8:function(){return`#${eo(this.r)}${eo(this.g)}${eo(this.b)}${eo((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:ee,toString:ee})),tW(es,function(t,e,r,i){return 1==arguments.length?en(t):new es(t,e,r,null==i?1:i)},tN(tj,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new es(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new es(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*e,o=2*r-i;return new t9(ec(t>=240?t-240:t+120,o,i),ec(t,o,i),ec(t<120?t+240:t-120,o,i),this.opacity)},clamp(){return new es(el(this.h),eh(this.s),eh(this.l),er(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(){let t=er(this.opacity);return`${1===t?"hsl(":"hsla("}${el(this.h)}, ${100*eh(this.s)}%, ${100*eh(this.l)}%${1===t?")":`, ${t})`}`}}));let eu=t=>()=>t;function ep(t,e){return function(r){return t+r*e}}function eg(t,e){var r=e-t;return r?ep(t,r):eu(isNaN(t)?e:t)}let ef=function t(e){var r,i=1==(r=+e)?eg:function(t,e){var i,o,a;return e-t?(i=t,o=e,i=Math.pow(i,a=r),o=Math.pow(o,a)-i,a=1/a,function(t){return Math.pow(i+t*o,a)}):eu(isNaN(t)?e:t)};function o(t,e){var r=i((t=t7(t)).r,(e=t7(e)).r),o=i(t.g,e.g),a=i(t.b,e.b),n=eg(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=o(e),t.b=a(e),t.opacity=n(e),t+""}}return o.gamma=t,o}(1);function ey(t){return function(e){var r,i,o=e.length,a=Array(o),n=Array(o),s=Array(o);for(r=0;r<o;++r)i=t7(e[r]),a[r]=i.r||0,n[r]=i.g||0,s[r]=i.b||0;return a=t(a),n=t(n),s=t(s),i.opacity=1,function(t){return i.r=a(t),i.g=n(t),i.b=s(t),i+""}}}ey(function(t){var e=t.length-1;return function(r){var i=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),o=t[i],a=t[i+1],n=i>0?t[i-1]:2*o-a,s=i<e-1?t[i+2]:2*a-o;return ed((r-i/e)*e,n,o,a,s)}}),ey(function(t){var e=t.length;return function(r){var i=Math.floor(((r%=1)<0?++r:r)*e),o=t[(i+e-1)%e],a=t[i%e],n=t[(i+1)%e],s=t[(i+2)%e];return ed((r-i/e)*e,o,a,n,s)}});var em=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ex=RegExp(em.source,"g");function eC(t,e){var r,i,o,a,n,s=em.lastIndex=ex.lastIndex=0,l=-1,h=[],c=[];for(t+="",e+="";(o=em.exec(t))&&(a=ex.exec(e));)(n=a.index)>s&&(n=e.slice(s,n),h[l]?h[l]+=n:h[++l]=n),(o=o[0])===(a=a[0])?h[l]?h[l]+=a:h[++l]=a:(h[++l]=null,c.push({i:l,x:tO(o,a)})),s=ex.lastIndex;return s<e.length&&(n=e.slice(s),h[l]?h[l]+=n:h[++l]=n),h.length<2?c[0]?(r=c[0].x,function(t){return r(t)+""}):(i=e,function(){return i}):(e=c.length,function(t){for(var r,i=0;i<e;++i)h[(r=c[i]).i]=r.x(t);return h.join("")})}function eb(t,e){var r;return("number"==typeof e?tO:e instanceof t3?ef:(r=t3(e))?(e=r,ef):eC)(t,e)}var ek=Q.prototype.constructor;function ew(t){return function(){this.style.removeProperty(t)}}var eT=0;function eB(t,e,r,i){this._groups=t,this._parents=e,this._name=r,this._id=i}var eS=Q.prototype;eB.prototype=(function(t){return Q().transition(t)}).prototype={constructor:eB,select:function(t){var e=this._name,r=this._id;"function"!=typeof t&&(t=p(t));for(var i=this._groups,o=i.length,a=Array(o),n=0;n<o;++n)for(var s,l,h=i[n],c=h.length,d=a[n]=Array(c),u=0;u<c;++u)(s=h[u])&&(l=t.call(s,s.__data__,u,h))&&("__data__"in s&&(l.__data__=s.__data__),d[u]=l,tL(d[u],e,r,u,d,tE(s,r)));return new eB(a,this._parents,e,r)},selectAll:function(t){var e=this._name,r=this._id;"function"!=typeof t&&(t=f(t));for(var i=this._groups,o=i.length,a=[],n=[],s=0;s<o;++s)for(var l,h=i[s],c=h.length,d=0;d<c;++d)if(l=h[d]){for(var u,p=t.call(l,l.__data__,d,h),g=tE(l,r),y=0,m=p.length;y<m;++y)(u=p[y])&&tL(u,e,r,y,p,g);a.push(p),n.push(l)}return new eB(a,n,e,r)},selectChild:eS.selectChild,selectChildren:eS.selectChildren,filter:function(t){"function"!=typeof t&&(t=y(t));for(var e=this._groups,r=e.length,i=Array(r),o=0;o<r;++o)for(var a,n=e[o],s=n.length,l=i[o]=[],h=0;h<s;++h)(a=n[h])&&t.call(a,a.__data__,h,n)&&l.push(a);return new eB(i,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw Error();for(var e=this._groups,r=t._groups,i=e.length,o=r.length,a=Math.min(i,o),n=Array(i),s=0;s<a;++s)for(var l,h=e[s],c=r[s],d=h.length,u=n[s]=Array(d),p=0;p<d;++p)(l=h[p]||c[p])&&(u[p]=l);for(;s<i;++s)n[s]=e[s];return new eB(n,this._parents,this._name,this._id)},selection:function(){return new ek(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,r=++eT,i=this._groups,o=i.length,a=0;a<o;++a)for(var n,s=i[a],l=s.length,h=0;h<l;++h)if(n=s[h]){var c=tE(n,e);tL(n,t,r,h,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new eB(i,this._parents,t,r)},call:eS.call,nodes:eS.nodes,node:eS.node,size:eS.size,empty:eS.empty,each:eS.each,on:function(t,e){var r,i,o,a,n,s,l=this._id;return arguments.length<2?tE(this.node(),l).on.on(t):this.each((r=l,i=t,o=e,s=(i+"").trim().split(/^|\s+/).every(function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t})?tM:t$,function(){var t=s(this,r),e=t.on;e!==a&&(n=(a=e).copy()).on(i,o),t.on=n}))},attr:function(t,e){var r=L(t),i="transform"===r?tP:eb;return this.attrTween(t,"function"==typeof e?(r.local?function(t,e,r){var i,o,a;return function(){var n,s,l=r(this);return null==l?void this.removeAttributeNS(t.space,t.local):(n=this.getAttributeNS(t.space,t.local))===(s=l+"")?null:n===i&&s===o?a:(o=s,a=e(i=n,l))}}:function(t,e,r){var i,o,a;return function(){var n,s,l=r(this);return null==l?void this.removeAttribute(t):(n=this.getAttribute(t))===(s=l+"")?null:n===i&&s===o?a:(o=s,a=e(i=n,l))}})(r,i,tz(this,"attr."+t,e)):null==e?(r.local?function(t){return function(){this.removeAttributeNS(t.space,t.local)}}:function(t){return function(){this.removeAttribute(t)}})(r):(r.local?function(t,e,r){var i,o,a=r+"";return function(){var n=this.getAttributeNS(t.space,t.local);return n===a?null:n===i?o:o=e(i=n,r)}}:function(t,e,r){var i,o,a=r+"";return function(){var n=this.getAttribute(t);return n===a?null:n===i?o:o=e(i=n,r)}})(r,i,e))},attrTween:function(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw Error();var i=L(t);return this.tween(r,(i.local?function(t,e){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e){this.setAttributeNS(t.space,t.local,o.call(this,e))}),r}return o._value=e,o}:function(t,e){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(e){this.setAttribute(t,o.call(this,e))}),r}return o._value=e,o})(i,e))},style:function(t,e,r){var i,o,a,n,s,l,h,c,d,u,p,g,f,y,m,x,C,b,k,w,T,B="transform"==(t+="")?tR:eb;return null==e?this.styleTween(t,(i=t,function(){var t=$(this,i),e=(this.style.removeProperty(i),$(this,i));return t===e?null:t===o&&e===a?n:n=B(o=t,a=e)})).on("end.style."+t,ew(t)):"function"==typeof e?this.styleTween(t,(s=t,l=tz(this,"style."+t,e),function(){var t=$(this,s),e=l(this),r=e+"";return null==e&&(this.style.removeProperty(s),r=e=$(this,s)),t===r?null:t===h&&r===c?d:(c=r,d=B(h=t,e))})).each((u=this._id,C="end."+(x="style."+(p=t)),function(){var t=t$(this,u),e=t.on,r=null==t.value[x]?m||(m=ew(p)):void 0;(e!==g||y!==r)&&(f=(g=e).copy()).on(C,y=r),t.on=f})):this.styleTween(t,(b=t,T=e+"",function(){var t=$(this,b);return t===T?null:t===k?w:w=B(k=t,e)}),r).on("end.style."+t,null)},styleTween:function(t,e,r){var i="style."+(t+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==e)return this.tween(i,null);if("function"!=typeof e)throw Error();return this.tween(i,function(t,e,r){var i,o;function a(){var a=e.apply(this,arguments);return a!==o&&(i=(o=a)&&function(e){this.style.setProperty(t,a.call(this,e),r)}),i}return a._value=e,a}(t,e,null==r?"":r))},text:function(t){var e,r;return this.tween("text","function"==typeof t?(e=tz(this,"text",t),function(){var t=e(this);this.textContent=null==t?"":t}):(r=null==t?"":t+"",function(){this.textContent=r}))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw Error();return this.tween(e,function(t){var e,r;function i(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&function(t){this.textContent=i.call(this,t)}),e}return i._value=t,i}(t))},remove:function(){var t;return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}))},tween:function(t,e){var r=this._id;if(t+="",arguments.length<2){for(var i,o=tE(this.node(),r).tween,a=0,n=o.length;a<n;++a)if((i=o[a]).name===t)return i.value;return null}return this.each((null==e?function(t,e){var r,i;return function(){var o=t$(this,t),a=o.tween;if(a!==r){i=r=a;for(var n=0,s=i.length;n<s;++n)if(i[n].name===e){(i=i.slice()).splice(n,1);break}}o.tween=i}}:function(t,e,r){var i,o;if("function"!=typeof r)throw Error();return function(){var a=t$(this,t),n=a.tween;if(n!==i){o=(i=n).slice();for(var s={name:e,value:r},l=0,h=o.length;l<h;++l)if(o[l].name===e){o[l]=s;break}l===h&&o.push(s)}a.tween=o}})(r,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){tM(this,t).delay=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){tM(this,t).delay=e}})(e,t)):tE(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?function(t,e){return function(){t$(this,t).duration=+e.apply(this,arguments)}}:function(t,e){return e*=1,function(){t$(this,t).duration=e}})(e,t)):tE(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(function(t,e){if("function"!=typeof e)throw Error();return function(){t$(this,t).ease=e}}(e,t)):tE(this.node(),e).ease},easeVarying:function(t){var e;if("function"!=typeof t)throw Error();return this.each((e=this._id,function(){var r=t.apply(this,arguments);if("function"!=typeof r)throw Error();t$(this,e).ease=r}))},end:function(){var t,e,r=this,i=r._id,o=r.size();return new Promise(function(a,n){var s={value:n},l={value:function(){0==--o&&a()}};r.each(function(){var r=t$(this,i),o=r.on;o!==t&&((e=(t=o).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),r.on=e}),0===o&&a()})},[Symbol.iterator]:eS[Symbol.iterator]};var ev={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};Q.prototype.interrupt=function(t){return this.each(function(){!function(t,e){var r,i,o,a=t.__transition,n=!0;if(a){for(o in e=null==e?null:e+"",a){if((r=a[o]).name!==e){n=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete a[o]}n&&delete t.__transition}}(this,t)})},Q.prototype.transition=function(t){var e,r;t instanceof eB?(e=t._id,t=t._name):(e=++eT,(r=ev).time=tb(),t=null==t?null:t+"");for(var i=this._groups,o=i.length,a=0;a<o;++a)for(var n,s=i[a],l=s.length,h=0;h<l;++h)(n=s[h])&&tL(n,t,e,h,s,r||function(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw Error(`transition ${e} not found`);return r}(n,e));return new eB(i,this._parents,t,e)};let{abs:e_,max:eF,min:eA}=Math;function eL(t){return{type:t}}function eM(t,e){if(!isFinite(t)||0===t)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),i=t.slice(0,r);return[i.length>1?i[0]+i.slice(2):i,+t.slice(r+1)]}function e$(t){return(t=eM(Math.abs(t)))?t[1]:NaN}["w","e"].map(eL),["n","s"].map(eL),["n","w","e","s","nw","ne","sw","se"].map(eL);var eE=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function eO(t){var e;if(!(e=eE.exec(t)))throw Error("invalid format: "+t);return new eD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function eD(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function eK(t,e){var r=eM(t,e);if(!r)return t+"";var i=r[0],o=r[1];return o<0?"0."+Array(-o).join("0")+i:i.length>o+1?i.slice(0,o+1)+"."+i.slice(o+1):i+Array(o-i.length+2).join("0")}eO.prototype=eD.prototype,eD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};let eI={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>eK(100*t,e),r:eK,s:function(t,e){var r=eM(t,e);if(!r)return to=void 0,t.toPrecision(e);var i=r[0],o=r[1],a=o-(to=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,n=i.length;return a===n?i:a>n?i+Array(a-n+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+Array(1-a).join("0")+eM(t,Math.max(0,e+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function eq(t){return t}var eR=Array.prototype.map,eP=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function ez(t){var e=0,r=t.children,i=r&&r.length;if(i)for(;--i>=0;)e+=r[i].value;else e=1;t.value=e}function eW(t,e){t instanceof Map?(t=[void 0,t],void 0===e&&(e=ej)):void 0===e&&(e=eN);for(var r,i,o,a,n,s=new eY(t),l=[s];r=l.pop();)if((o=e(r.data))&&(n=(o=Array.from(o)).length))for(r.children=o,a=n-1;a>=0;--a)l.push(i=o[a]=new eY(o[a])),i.parent=r,i.depth=r.depth+1;return s.eachBefore(eU)}function eN(t){return t.children}function ej(t){return Array.isArray(t)?t[1]:null}function eH(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function eU(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function eY(t){this.data=t,this.depth=this.height=0,this.parent=null}function eG(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}tn=(ta=function(t){var e,r,i,o=void 0===t.grouping||void 0===t.thousands?eq:(e=eR.call(t.grouping,Number),r=t.thousands+"",function(t,i){for(var o=t.length,a=[],n=0,s=e[0],l=0;o>0&&s>0&&(l+s+1>i&&(s=Math.max(1,i-l)),a.push(t.substring(o-=s,o+s)),!((l+=s+1)>i));)s=e[n=(n+1)%e.length];return a.reverse().join(r)}),a=void 0===t.currency?"":t.currency[0]+"",n=void 0===t.currency?"":t.currency[1]+"",s=void 0===t.decimal?".":t.decimal+"",l=void 0===t.numerals?eq:(i=eR.call(t.numerals,String),function(t){return t.replace(/[0-9]/g,function(t){return i[+t]})}),h=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"\u2212":t.minus+"",d=void 0===t.nan?"NaN":t.nan+"";function u(t,e){var r=(t=eO(t)).fill,i=t.align,u=t.sign,p=t.symbol,g=t.zero,f=t.width,y=t.comma,m=t.precision,x=t.trim,C=t.type;"n"===C?(y=!0,C="g"):eI[C]||(void 0===m&&(m=12),x=!0,C="g"),(g||"0"===r&&"="===i)&&(g=!0,r="0",i="=");var b=(e&&void 0!==e.prefix?e.prefix:"")+("$"===p?a:"#"===p&&/[boxX]/.test(C)?"0"+C.toLowerCase():""),k=("$"===p?n:/[%p]/.test(C)?h:"")+(e&&void 0!==e.suffix?e.suffix:""),w=eI[C],T=/[defgprs%]/.test(C);function B(t){var e,a,n,h=b,p=k;if("c"===C)p=w(t)+p,t="";else{var B=(t*=1)<0||1/t<0;if(t=isNaN(t)?d:w(Math.abs(t),m),x&&(t=function(t){t:for(var e,r=t.length,i=1,o=-1;i<r;++i)switch(t[i]){case".":o=e=i;break;case"0":0===o&&(o=i),e=i;break;default:if(!+t[i])break t;o>0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t}(t)),B&&0==+t&&"+"!==u&&(B=!1),h=(B?"("===u?u:c:"-"===u||"("===u?"":u)+h,p=("s"!==C||isNaN(t)||void 0===to?"":eP[8+to/3])+p+(B&&"("===u?")":""),T){for(e=-1,a=t.length;++e<a;)if(48>(n=t.charCodeAt(e))||n>57){p=(46===n?s+t.slice(e+1):t.slice(e))+p,t=t.slice(0,e);break}}}y&&!g&&(t=o(t,1/0));var S=h.length+t.length+p.length,v=S<f?Array(f-S+1).join(r):"";switch(y&&g&&(t=o(v+t,v.length?f-p.length:1/0),v=""),i){case"<":t=h+t+p+v;break;case"=":t=h+v+t+p;break;case"^":t=v.slice(0,S=v.length>>1)+h+t+p+v.slice(S);break;default:t=v+h+t+p}return l(t)}return m=void 0===m?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),B.toString=function(){return t+""},B}return{format:u,formatPrefix:function(t,e){var r=3*Math.max(-8,Math.min(8,Math.floor(e$(e)/3))),i=Math.pow(10,-r),o=u(((t=eO(t)).type="f",t),{suffix:eP[8+r/3]});return function(t){return o(i*t)}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,ts=ta.formatPrefix,eY.prototype=eW.prototype={constructor:eY,count:function(){return this.eachAfter(ez)},each:function(t,e){let r=-1;for(let i of this)t.call(e,i,++r,this);return this},eachAfter:function(t,e){for(var r,i,o,a=this,n=[a],s=[],l=-1;a=n.pop();)if(s.push(a),r=a.children)for(i=0,o=r.length;i<o;++i)n.push(r[i]);for(;a=s.pop();)t.call(e,a,++l,this);return this},eachBefore:function(t,e){for(var r,i,o=this,a=[o],n=-1;o=a.pop();)if(t.call(e,o,++n,this),r=o.children)for(i=r.length-1;i>=0;--i)a.push(r[i]);return this},find:function(t,e){let r=-1;for(let i of this)if(t.call(e,i,++r,this))return i},sum:function(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,i=e.children,o=i&&i.length;--o>=0;)r+=i[o].value;e.value=r})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),i=e.ancestors(),o=null;for(t=r.pop(),e=i.pop();t===e;)o=t,t=r.pop(),e=i.pop();return o}(e,t),i=[e];e!==r;)i.push(e=e.parent);for(var o=i.length;t!==r;)i.splice(o,0,t),t=t.parent;return i},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e},copy:function(){return eW(this).eachBefore(eH)},[Symbol.iterator]:function*(){var t,e,r,i,o=this,a=[o];do for(t=a.reverse(),a=[];o=t.pop();)if(yield o,e=o.children)for(r=0,i=e.length;r<i;++r)a.push(e[r]);while(a.length)}};let eX=function t(e){function r(t,r,i,o,a){!function(t,e,r,i,o,a){for(var n,s,l,h,c,d,u,p,g,f,y,m=[],x=e.children,C=0,b=0,k=x.length,w=e.value;C<k;){l=o-r,h=a-i;do c=x[b++].value;while(!c&&b<k)for(d=u=c,g=Math.max(u/(y=c*c*(f=Math.max(h/l,l/h)/(w*t))),y/d);b<k;++b){if(c+=s=x[b].value,s<d&&(d=s),s>u&&(u=s),(p=Math.max(u/(y=c*c*f),y/d))>g){c-=s;break}g=p}m.push(n={value:c,dice:l<h,children:x.slice(C,b)}),n.dice?function(t,e,r,i,o){for(var a,n=t.children,s=-1,l=n.length,h=t.value&&(i-e)/t.value;++s<l;)(a=n[s]).y0=r,a.y1=o,a.x0=e,a.x1=e+=a.value*h}(n,r,i,o,w?i+=h*c/w:a):function(t,e,r,i,o){for(var a,n=t.children,s=-1,l=n.length,h=t.value&&(o-r)/t.value;++s<l;)(a=n[s]).x0=e,a.x1=i,a.y0=r,a.y1=r+=a.value*h}(n,r,i,w?r+=l*c/w:o,a),w-=c,C=b}}(e,t,r,i,o,a)}return r.ratio=function(e){return t((e*=1)>1?e:1)},r}((1+Math.sqrt(5))/2);function eZ(){return 0}function eV(t){return function(){return t}}function eQ(){var t=eX,e=!1,r=1,i=1,o=[0],a=eZ,n=eZ,s=eZ,l=eZ,h=eZ;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=i,t.eachBefore(d),o=[0],e&&t.eachBefore(eG),t}function d(e){var r=o[e.depth],i=e.x0+r,c=e.y0+r,d=e.x1-r,u=e.y1-r;d<i&&(i=d=(i+d)/2),u<c&&(c=u=(c+u)/2),e.x0=i,e.y0=c,e.x1=d,e.y1=u,e.children&&(r=o[e.depth+1]=a(e)/2,i+=h(e)-r,c+=n(e)-r,d-=s(e)-r,u-=l(e)-r,d<i&&(i=d=(i+d)/2),u<c&&(c=u=(c+u)/2),t(e,i,c,d,u))}return c.round=function(t){return arguments.length?(e=!!t,c):e},c.size=function(t){return arguments.length?(r=+t[0],i=+t[1],c):[r,i]},c.tile=function(e){return arguments.length?(t=function(t){if("function"!=typeof t)throw Error();return t}(e),c):t},c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()},c.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:eV(+t),c):a},c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()},c.paddingTop=function(t){return arguments.length?(n="function"==typeof t?t:eV(+t),c):n},c.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:eV(+t),c):s},c.paddingBottom=function(t){return arguments.length?(l="function"==typeof t?t:eV(+t),c):l},c.paddingLeft=function(t){return arguments.length?(h="function"==typeof t?t:eV(+t),c):h},c}let eJ=Math.PI/180,e0=180/Math.PI,e1=4/29,e2=6/29,e5=6/29*3*(6/29),e3=6/29*(6/29)*(6/29);function e4(t){if(t instanceof e6)return new e6(t.l,t.a,t.b,t.opacity);if(t instanceof rr)return ri(t);t instanceof t9||(t=t8(t));var e,r,i=rt(t.r),o=rt(t.g),a=rt(t.b),n=e8((.2225045*i+.7168786*o+.0606169*a)/1);return i===o&&o===a?e=r=n:(e=e8((.4360747*i+.3850649*o+.1430804*a)/.96422),r=e8((.0139322*i+.0971045*o+.7141733*a)/.82521)),new e6(116*n-16,500*(e-n),200*(n-r),t.opacity)}function e6(t,e,r,i){this.l=+t,this.a=+e,this.b=+r,this.opacity=+i}function e8(t){return t>e3?Math.pow(t,1/3):t/e5+e1}function e7(t){return t>e2?t*t*t:e5*(t-e1)}function e9(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function rt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function re(t,e,r,i){return 1==arguments.length?function(t){if(t instanceof rr)return new rr(t.h,t.c,t.l,t.opacity);if(t instanceof e6||(t=e4(t)),0===t.a&&0===t.b)return new rr(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*e0;return new rr(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new rr(t,e,r,null==i?1:i)}function rr(t,e,r,i){this.h=+t,this.c=+e,this.l=+r,this.opacity=+i}function ri(t){if(isNaN(t.h))return new e6(t.l,0,0,t.opacity);var e=t.h*eJ;return new e6(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}function ro(t){return function(e,r){var i=t((e=re(e)).h,(r=re(r)).h),o=eg(e.c,r.c),a=eg(e.l,r.l),n=eg(e.opacity,r.opacity);return function(t){return e.h=i(t),e.c=o(t),e.l=a(t),e.opacity=n(t),e+""}}}tW(e6,function(t,e,r,i){return 1==arguments.length?e4(t):new e6(t,e,r,null==i?1:i)},tN(tj,{brighter(t){return new e6(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker(t){return new e6(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=.96422*e7(e),new t9(e9(3.1338561*e-1.6168667*(t=+e7(t))-.4906146*(r=.82521*e7(r))),e9(-.9787684*e+1.9161415*t+.033454*r),e9(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),tW(rr,re,tN(tj,{brighter(t){return new rr(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker(t){return new rr(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb(){return ri(this).rgb()}}));let ra=ro(function(t,e){var r=e-t;return r?ep(t,r>180||r<-180?r-360*Math.round(r/360):r):eu(isNaN(t)?e:t)});function rn(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}ro(eg);class rs extends Map{constructor(t,e=rh){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(let[e,r]of t)this.set(e,r)}get(t){return super.get(rl(this,t))}has(t){return super.has(rl(this,t))}set(t,e){return super.set(function({_intern:t,_key:e},r){let i=e(r);return t.has(i)?t.get(i):(t.set(i,r),r)}(this,t),e)}delete(t){return super.delete(function({_intern:t,_key:e},r){let i=e(r);return t.has(i)&&(r=t.get(i),t.delete(i)),r}(this,t))}}function rl({_intern:t,_key:e},r){let i=e(r);return t.has(i)?t.get(i):r}function rh(t){return null!==t&&"object"==typeof t?t.valueOf():t}let rc=Symbol("implicit");function rd(){var t=new rs,e=[],r=[],i=rc;function o(o){let a=t.get(o);if(void 0===a){if(i!==rc)return i;t.set(o,a=e.push(o)-1)}return r[a%r.length]}return o.domain=function(r){if(!arguments.length)return e.slice();for(let i of(e=[],t=new rs,r))t.has(i)||t.set(i,e.push(i)-1);return o},o.range=function(t){return arguments.length?(r=Array.from(t),o):r.slice()},o.unknown=function(t){return arguments.length?(i=t,o):i},o.copy=function(){return rd(e,r).unknown(i)},rn.apply(o,arguments),o}let ru=Math.sqrt(50),rp=Math.sqrt(10),rg=Math.sqrt(2);function rf(t,e,r){let i,o,a,n=(e-t)/Math.max(0,r),s=Math.floor(Math.log10(n)),l=n/Math.pow(10,s),h=l>=ru?10:l>=rp?5:l>=rg?2:1;return(s<0?(i=Math.round(t*(a=Math.pow(10,-s)/h)),o=Math.round(e*a),i/a<t&&++i,o/a>e&&--o,a=-a):(i=Math.round(t/(a=Math.pow(10,s)*h)),o=Math.round(e/a),i*a<t&&++i,o*a>e&&--o),o<i&&.5<=r&&r<2)?rf(t,e,2*r):[i,o,a]}function ry(t,e,r){return rf(t*=1,e*=1,r*=1)[2]}function rm(t,e,r){e*=1,t*=1,r*=1;let i=e<t,o=i?ry(e,t,r):ry(t,e,r);return(i?-1:1)*(o<0?-(1/o):o)}function rx(t,e){return null==t||null==e?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function rC(t,e){return null==t||null==e?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function rb(t){let e,r,i;function o(t,i,a=0,n=t.length){if(a<n){if(0!==e(i,i))return n;do{let e=a+n>>>1;0>r(t[e],i)?a=e+1:n=e}while(a<n)}return a}return 2!==t.length?(e=rx,r=(e,r)=>rx(t(e),r),i=(e,r)=>t(e)-r):(e=t===rx||t===rC?t:rk,r=t,i=t),{left:o,center:function(t,e,r=0,a=t.length){let n=o(t,e,r,a-1);return n>r&&i(t[n-1],e)>-i(t[n],e)?n-1:n},right:function(t,i,o=0,a=t.length){if(o<a){if(0!==e(i,i))return a;do{let e=o+a>>>1;0>=r(t[e],i)?o=e+1:a=e}while(o<a)}return o}}}function rk(){return 0}let rw=rb(rx),rT=rw.right;rw.left,rb(function(t){return null===t?NaN:+t}).center;function rB(t,e){return t*=1,e*=1,function(r){return Math.round(t*(1-r)+e*r)}}function rS(t){return+t}var rv=[0,1];function r_(t){return t}function rF(t,e){var r;return(e-=t*=1)?function(r){return(r-t)/e}:(r=isNaN(e)?NaN:.5,function(){return r})}function rA(t,e,r){var i=t[0],o=t[1],a=e[0],n=e[1];return o<i?(i=rF(o,i),a=r(n,a)):(i=rF(i,o),a=r(a,n)),function(t){return a(i(t))}}function rL(t,e,r){var i=Math.min(t.length,e.length)-1,o=Array(i),a=Array(i),n=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++n<i;)o[n]=rF(t[n],t[n+1]),a[n]=r(e[n],e[n+1]);return function(e){var r=rT(t,e,1,i)-1;return a[r](o[r](e))}}function rM(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function r$(){return(function(){var t,e,r,i,o,a,n=rv,s=rv,l=function t(e,r){var i,o,a=typeof r;return null==r||"boolean"===a?eu(r):("number"===a?tO:"string"===a?(o=t3(r))?(r=o,ef):eC:r instanceof t3?ef:r instanceof Date?function(t,e){var r=new Date;return t*=1,e*=1,function(i){return r.setTime(t*(1-i)+e*i),r}}:!ArrayBuffer.isView(i=r)||i instanceof DataView?Array.isArray(r)?function(e,r){var i,o=r?r.length:0,a=e?Math.min(o,e.length):0,n=Array(a),s=Array(o);for(i=0;i<a;++i)n[i]=t(e[i],r[i]);for(;i<o;++i)s[i]=r[i];return function(t){for(i=0;i<a;++i)s[i]=n[i](t);return s}}:"function"!=typeof r.valueOf&&"function"!=typeof r.toString||isNaN(r)?function(e,r){var i,o={},a={};for(i in(null===e||"object"!=typeof e)&&(e={}),(null===r||"object"!=typeof r)&&(r={}),r)i in e?o[i]=t(e[i],r[i]):a[i]=r[i];return function(t){for(i in o)a[i]=o[i](t);return a}}:tO:function(t,e){e||(e=[]);var r,i=t?Math.min(e.length,t.length):0,o=e.slice();return function(a){for(r=0;r<i;++r)o[r]=t[r]*(1-a)+e[r]*a;return o}})(e,r)},h=r_;function c(){var t,e,r,l=Math.min(n.length,s.length);return h!==r_&&(t=n[0],e=n[l-1],t>e&&(r=t,t=e,e=r),h=function(r){return Math.max(t,Math.min(e,r))}),i=l>2?rL:rA,o=a=null,d}function d(e){return null==e||isNaN(e*=1)?r:(o||(o=i(n.map(t),s,l)))(t(h(e)))}return d.invert=function(r){return h(e((a||(a=i(s,n.map(t),tO)))(r)))},d.domain=function(t){return arguments.length?(n=Array.from(t,rS),c()):n.slice()},d.range=function(t){return arguments.length?(s=Array.from(t),c()):s.slice()},d.rangeRound=function(t){return s=Array.from(t),l=rB,c()},d.clamp=function(t){return arguments.length?(h=!!t||r_,c()):h!==r_},d.interpolate=function(t){return arguments.length?(l=t,c()):l},d.unknown=function(t){return arguments.length?(r=t,d):r},function(r,i){return t=r,e=i,c()}})()(r_,r_)}let rE=new Date,rO=new Date;function rD(t,e,r,i){function o(e){return t(e=0==arguments.length?new Date:new Date(+e)),e}return o.floor=e=>(t(e=new Date(+e)),e),o.ceil=r=>(t(r=new Date(r-1)),e(r,1),t(r),r),o.round=t=>{let e=o(t),r=o.ceil(t);return t-e<r-t?e:r},o.offset=(t,r)=>(e(t=new Date(+t),null==r?1:Math.floor(r)),t),o.range=(r,i,a)=>{let n,s=[];if(r=o.ceil(r),a=null==a?1:Math.floor(a),!(r<i)||!(a>0))return s;do s.push(n=new Date(+r)),e(r,a),t(r);while(n<r&&r<i)return s},o.filter=r=>rD(e=>{if(e>=e)for(;t(e),!r(e);)e.setTime(e-1)},(t,i)=>{if(t>=t)if(i<0)for(;++i<=0;)for(;e(t,-1),!r(t););else for(;--i>=0;)for(;e(t,1),!r(t););}),r&&(o.count=(e,i)=>(rE.setTime(+e),rO.setTime(+i),t(rE),t(rO),Math.floor(r(rE,rO))),o.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?o.filter(i?e=>i(e)%t==0:e=>o.count(0,e)%t==0):o:null),o}let rK=rD(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);rK.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?rD(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):rK:null,rK.range;let rI=rD(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+1e3*e)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds());rI.range;let rq=rD(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getMinutes());rq.range;let rR=rD(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes());rR.range;let rP=rD(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getHours());rP.range;let rz=rD(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours());rz.range;let rW=rD(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1);rW.range;let rN=rD(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1);rN.range;let rj=rD(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5));function rH(t){return rD(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(t,e)=>{t.setDate(t.getDate()+7*e)},(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}rj.range;let rU=rH(0),rY=rH(1),rG=rH(2),rX=rH(3),rZ=rH(4),rV=rH(5),rQ=rH(6);function rJ(t){return rD(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)},(t,e)=>(e-t)/6048e5)}rU.range,rY.range,rG.range,rX.range,rZ.range,rV.range,rQ.range;let r0=rJ(0),r1=rJ(1),r2=rJ(2),r5=rJ(3),r3=rJ(4),r4=rJ(5),r6=rJ(6);r0.range,r1.range,r2.range,r5.range,r3.range,r4.range,r6.range;let r8=rD(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());r8.range;let r7=rD(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());r7.range;let r9=rD(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());r9.every=t=>isFinite(t=Math.floor(t))&&t>0?rD(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)}):null,r9.range;let it=rD(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());function ie(t,e,r,i,o,a){let n=[[rI,1,1e3],[rI,5,5e3],[rI,15,15e3],[rI,30,3e4],[a,1,6e4],[a,5,3e5],[a,15,9e5],[a,30,18e5],[o,1,36e5],[o,3,108e5],[o,6,216e5],[o,12,432e5],[i,1,864e5],[i,2,1728e5],[r,1,6048e5],[e,1,2592e6],[e,3,7776e6],[t,1,31536e6]];function s(e,r,i){let o=Math.abs(r-e)/i,a=rb(([,,t])=>t).right(n,o);if(a===n.length)return t.every(rm(e/31536e6,r/31536e6,i));if(0===a)return rK.every(Math.max(rm(e,r,i),1));let[s,l]=n[o/n[a-1][2]<n[a][2]/o?a-1:a];return s.every(l)}return[function(t,e,r){let i=e<t;i&&([t,e]=[e,t]);let o=r&&"function"==typeof r.range?r:s(t,e,r),a=o?o.range(t,+e+1):[];return i?a.reverse():a},s]}it.every=t=>isFinite(t=Math.floor(t))&&t>0?rD(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)}):null,it.range;let[ir,ii]=ie(it,r7,r0,rj,rz,rR),[io,ia]=ie(r9,r8,rU,rW,rP,rq);function is(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function il(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ih(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}var ic={"-":"",_:" ",0:"0"},id=/^\s*\d+/,iu=/^%/,ip=/[\\^$*+?|[\]().{}]/g;function ig(t,e,r){var i=t<0?"-":"",o=(i?-t:t)+"",a=o.length;return i+(a<r?Array(r-a+1).join(e)+o:o)}function iy(t){return t.replace(ip,"\\$&")}function im(t){return RegExp("^(?:"+t.map(iy).join("|")+")","i")}function ix(t){return new Map(t.map((t,e)=>[t.toLowerCase(),e]))}function iC(t,e,r){var i=id.exec(e.slice(r,r+1));return i?(t.w=+i[0],r+i[0].length):-1}function ib(t,e,r){var i=id.exec(e.slice(r,r+1));return i?(t.u=+i[0],r+i[0].length):-1}function ik(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.U=+i[0],r+i[0].length):-1}function iw(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.V=+i[0],r+i[0].length):-1}function iT(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.W=+i[0],r+i[0].length):-1}function iB(t,e,r){var i=id.exec(e.slice(r,r+4));return i?(t.y=+i[0],r+i[0].length):-1}function iS(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),r+i[0].length):-1}function iv(t,e,r){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),r+i[0].length):-1}function i_(t,e,r){var i=id.exec(e.slice(r,r+1));return i?(t.q=3*i[0]-3,r+i[0].length):-1}function iF(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.m=i[0]-1,r+i[0].length):-1}function iA(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.d=+i[0],r+i[0].length):-1}function iL(t,e,r){var i=id.exec(e.slice(r,r+3));return i?(t.m=0,t.d=+i[0],r+i[0].length):-1}function iM(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.H=+i[0],r+i[0].length):-1}function i$(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.M=+i[0],r+i[0].length):-1}function iE(t,e,r){var i=id.exec(e.slice(r,r+2));return i?(t.S=+i[0],r+i[0].length):-1}function iO(t,e,r){var i=id.exec(e.slice(r,r+3));return i?(t.L=+i[0],r+i[0].length):-1}function iD(t,e,r){var i=id.exec(e.slice(r,r+6));return i?(t.L=Math.floor(i[0]/1e3),r+i[0].length):-1}function iK(t,e,r){var i=iu.exec(e.slice(r,r+1));return i?r+i[0].length:-1}function iI(t,e,r){var i=id.exec(e.slice(r));return i?(t.Q=+i[0],r+i[0].length):-1}function iq(t,e,r){var i=id.exec(e.slice(r));return i?(t.s=+i[0],r+i[0].length):-1}function iR(t,e){return ig(t.getDate(),e,2)}function iP(t,e){return ig(t.getHours(),e,2)}function iz(t,e){return ig(t.getHours()%12||12,e,2)}function iW(t,e){return ig(1+rW.count(r9(t),t),e,3)}function iN(t,e){return ig(t.getMilliseconds(),e,3)}function ij(t,e){return iN(t,e)+"000"}function iH(t,e){return ig(t.getMonth()+1,e,2)}function iU(t,e){return ig(t.getMinutes(),e,2)}function iY(t,e){return ig(t.getSeconds(),e,2)}function iG(t){var e=t.getDay();return 0===e?7:e}function iX(t,e){return ig(rU.count(r9(t)-1,t),e,2)}function iZ(t){var e=t.getDay();return e>=4||0===e?rZ(t):rZ.ceil(t)}function iV(t,e){return t=iZ(t),ig(rZ.count(r9(t),t)+(4===r9(t).getDay()),e,2)}function iQ(t){return t.getDay()}function iJ(t,e){return ig(rY.count(r9(t)-1,t),e,2)}function i0(t,e){return ig(t.getFullYear()%100,e,2)}function i1(t,e){return ig((t=iZ(t)).getFullYear()%100,e,2)}function i2(t,e){return ig(t.getFullYear()%1e4,e,4)}function i5(t,e){var r=t.getDay();return ig((t=r>=4||0===r?rZ(t):rZ.ceil(t)).getFullYear()%1e4,e,4)}function i3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+ig(e/60|0,"0",2)+ig(e%60,"0",2)}function i4(t,e){return ig(t.getUTCDate(),e,2)}function i6(t,e){return ig(t.getUTCHours(),e,2)}function i8(t,e){return ig(t.getUTCHours()%12||12,e,2)}function i7(t,e){return ig(1+rN.count(it(t),t),e,3)}function i9(t,e){return ig(t.getUTCMilliseconds(),e,3)}function ot(t,e){return i9(t,e)+"000"}function oe(t,e){return ig(t.getUTCMonth()+1,e,2)}function or(t,e){return ig(t.getUTCMinutes(),e,2)}function oi(t,e){return ig(t.getUTCSeconds(),e,2)}function oo(t){var e=t.getUTCDay();return 0===e?7:e}function oa(t,e){return ig(r0.count(it(t)-1,t),e,2)}function on(t){var e=t.getUTCDay();return e>=4||0===e?r3(t):r3.ceil(t)}function os(t,e){return t=on(t),ig(r3.count(it(t),t)+(4===it(t).getUTCDay()),e,2)}function ol(t){return t.getUTCDay()}function oh(t,e){return ig(r1.count(it(t)-1,t),e,2)}function oc(t,e){return ig(t.getUTCFullYear()%100,e,2)}function od(t,e){return ig((t=on(t)).getUTCFullYear()%100,e,2)}function ou(t,e){return ig(t.getUTCFullYear()%1e4,e,4)}function op(t,e){var r=t.getUTCDay();return ig((t=r>=4||0===r?r3(t):r3.ceil(t)).getUTCFullYear()%1e4,e,4)}function og(){return"+0000"}function of(){return"%"}function oy(t){return+t}function om(t){return Math.floor(t/1e3)}function ox(t){return new Date(t)}function oC(t){return t instanceof Date?+t:+new Date(+t)}function ob(){return rn.apply((function t(e,r,i,o,a,n,s,l,h,c){var d=r$(),u=d.invert,p=d.domain,g=c(".%L"),f=c(":%S"),y=c("%I:%M"),m=c("%I %p"),x=c("%a %d"),C=c("%b %d"),b=c("%B"),k=c("%Y");function w(t){return(h(t)<t?g:l(t)<t?f:s(t)<t?y:n(t)<t?m:o(t)<t?a(t)<t?x:C:i(t)<t?b:k)(t)}return d.invert=function(t){return new Date(u(t))},d.domain=function(t){return arguments.length?p(Array.from(t,oC)):p().map(ox)},d.ticks=function(t){var r=p();return e(r[0],r[r.length-1],null==t?10:t)},d.tickFormat=function(t,e){return null==e?w:c(e)},d.nice=function(t){var e,i,o,a,n,s,l,h=p();return t&&"function"==typeof t.range||(t=r(h[0],h[h.length-1],null==t?10:t)),t?p((e=h,i=t,e=e.slice(),a=0,n=e.length-1,s=e[a],(l=e[n])<s&&(o=a,a=n,n=o,o=s,s=l,l=o),e[a]=i.floor(s),e[n]=i.ceil(l),e)):d},d.copy=function(){return rM(d,t(e,r,i,o,a,n,s,l,h,c))},d})(io,ia,r9,r8,rU,rW,rP,rq,rI,th).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}th=(tl=function(t){var e=t.dateTime,r=t.date,i=t.time,o=t.periods,a=t.days,n=t.shortDays,s=t.months,l=t.shortMonths,h=im(o),c=ix(o),d=im(a),u=ix(a),p=im(n),g=ix(n),f=im(s),y=ix(s),m=im(l),x=ix(l),C={a:function(t){return n[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:iR,e:iR,f:ij,g:i1,G:i5,H:iP,I:iz,j:iW,L:iN,m:iH,M:iU,p:function(t){return o[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:oy,s:om,S:iY,u:iG,U:iX,V:iV,w:iQ,W:iJ,x:null,X:null,y:i0,Y:i2,Z:i3,"%":of},b={a:function(t){return n[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:i4,e:i4,f:ot,g:od,G:op,H:i6,I:i8,j:i7,L:i9,m:oe,M:or,p:function(t){return o[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:oy,s:om,S:oi,u:oo,U:oa,V:os,w:ol,W:oh,x:null,X:null,y:oc,Y:ou,Z:og,"%":of},k={a:function(t,e,r){var i=p.exec(e.slice(r));return i?(t.w=g.get(i[0].toLowerCase()),r+i[0].length):-1},A:function(t,e,r){var i=d.exec(e.slice(r));return i?(t.w=u.get(i[0].toLowerCase()),r+i[0].length):-1},b:function(t,e,r){var i=m.exec(e.slice(r));return i?(t.m=x.get(i[0].toLowerCase()),r+i[0].length):-1},B:function(t,e,r){var i=f.exec(e.slice(r));return i?(t.m=y.get(i[0].toLowerCase()),r+i[0].length):-1},c:function(t,r,i){return B(t,e,r,i)},d:iA,e:iA,f:iD,g:iS,G:iB,H:iM,I:iM,j:iL,L:iO,m:iF,M:i$,p:function(t,e,r){var i=h.exec(e.slice(r));return i?(t.p=c.get(i[0].toLowerCase()),r+i[0].length):-1},q:i_,Q:iI,s:iq,S:iE,u:ib,U:ik,V:iw,w:iC,W:iT,x:function(t,e,i){return B(t,r,e,i)},X:function(t,e,r){return B(t,i,e,r)},y:iS,Y:iB,Z:iv,"%":iK};function w(t,e){return function(r){var i,o,a,n=[],s=-1,l=0,h=t.length;for(r instanceof Date||(r=new Date(+r));++s<h;)37===t.charCodeAt(s)&&(n.push(t.slice(l,s)),null!=(o=ic[i=t.charAt(++s)])?i=t.charAt(++s):o="e"===i?" ":"0",(a=e[i])&&(i=a(r,o)),n.push(i),l=s+1);return n.push(t.slice(l,s)),n.join("")}}function T(t,e){return function(r){var i,o,a=ih(1900,void 0,1);if(B(a,t,r+="",0)!=r.length)return null;if("Q"in a)return new Date(a.Q);if("s"in a)return new Date(1e3*a.s+("L"in a?a.L:0));if(!e||"Z"in a||(a.Z=0),"p"in a&&(a.H=a.H%12+12*a.p),void 0===a.m&&(a.m="q"in a?a.q:0),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(i=(o=(i=il(ih(a.y,0,1))).getUTCDay())>4||0===o?r1.ceil(i):r1(i),i=rN.offset(i,(a.V-1)*7),a.y=i.getUTCFullYear(),a.m=i.getUTCMonth(),a.d=i.getUTCDate()+(a.w+6)%7):(i=(o=(i=is(ih(a.y,0,1))).getDay())>4||0===o?rY.ceil(i):rY(i),i=rW.offset(i,(a.V-1)*7),a.y=i.getFullYear(),a.m=i.getMonth(),a.d=i.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:+("W"in a)),o="Z"in a?il(ih(a.y,0,1)).getUTCDay():is(ih(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(o+5)%7:a.w+7*a.U-(o+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,il(a)):is(a)}}function B(t,e,r,i){for(var o,a,n=0,s=e.length,l=r.length;n<s;){if(i>=l)return -1;if(37===(o=e.charCodeAt(n++))){if(!(a=k[(o=e.charAt(n++))in ic?e.charAt(n++):o])||(i=a(t,r,i))<0)return -1}else if(o!=r.charCodeAt(i++))return -1}return i}return C.x=w(r,C),C.X=w(i,C),C.c=w(e,C),b.x=w(r,b),b.X=w(i,b),b.c=w(e,b),{format:function(t){var e=w(t+="",C);return e.toString=function(){return t},e},parse:function(t){var e=T(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=w(t+="",b);return e.toString=function(){return t},e},utcParse:function(t){var e=T(t+="",!0);return e.toString=function(){return t},e}}}({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"]})).format,tl.parse,tl.utcFormat,tl.utcParse;let ok=function(t){for(var e=t.length/6|0,r=Array(e),i=0;i<e;)r[i]="#"+t.slice(6*i,6*++i);return r}("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function ow(t){return"string"==typeof t?new V([[document.querySelector(t)]],[document.documentElement]):new V([[t]],Z)}function oT(t){return function(){return t}}let oB=Math.abs,oS=Math.atan2,ov=Math.cos,o_=Math.max,oF=Math.min,oA=Math.sin,oL=Math.sqrt,oM=Math.PI,o$=oM/2,oE=2*oM;function oO(t){return t>=1?o$:t<=-1?-o$:Math.asin(t)}let oD=Math.PI,oK=2*oD,oI=oK-1e-6;function oq(t){this._+=t[0];for(let e=1,r=t.length;e<r;++e)this._+=arguments[e]+t[e]}class oR{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?oq:function(t){let e=Math.floor(t);if(!(e>=0))throw Error(`invalid digits: ${t}`);if(e>15)return oq;let r=10**e;return function(t){this._+=t[0];for(let e=1,i=t.length;e<i;++e)this._+=Math.round(arguments[e]*r)/r+t[e]}}(t)}moveTo(t,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,e){this._append`L${this._x1=+t},${this._y1=+e}`}quadraticCurveTo(t,e,r,i){this._append`Q${+t},${+e},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(t,e,r,i,o,a){this._append`C${+t},${+e},${+r},${+i},${this._x1=+o},${this._y1=+a}`}arcTo(t,e,r,i,o){if(t*=1,e*=1,r*=1,i*=1,(o*=1)<0)throw Error(`negative radius: ${o}`);let a=this._x1,n=this._y1,s=r-t,l=i-e,h=a-t,c=n-e,d=h*h+c*c;if(null===this._x1)this._append`M${this._x1=t},${this._y1=e}`;else if(d>1e-6)if(Math.abs(c*s-l*h)>1e-6&&o){let u=r-a,p=i-n,g=s*s+l*l,f=Math.sqrt(g),y=Math.sqrt(d),m=o*Math.tan((oD-Math.acos((g+d-(u*u+p*p))/(2*f*y)))/2),x=m/y,C=m/f;Math.abs(x-1)>1e-6&&this._append`L${t+x*h},${e+x*c}`,this._append`A${o},${o},0,0,${+(c*u>h*p)},${this._x1=t+C*s},${this._y1=e+C*l}`}else this._append`L${this._x1=t},${this._y1=e}`}arc(t,e,r,i,o,a){if(t*=1,e*=1,r*=1,a=!!a,r<0)throw Error(`negative radius: ${r}`);let n=r*Math.cos(i),s=r*Math.sin(i),l=t+n,h=e+s,c=1^a,d=a?i-o:o-i;null===this._x1?this._append`M${l},${h}`:(Math.abs(this._x1-l)>1e-6||Math.abs(this._y1-h)>1e-6)&&this._append`L${l},${h}`,r&&(d<0&&(d=d%oK+oK),d>oI?this._append`A${r},${r},0,1,${c},${t-n},${e-s}A${r},${r},0,1,${c},${this._x1=l},${this._y1=h}`:d>1e-6&&this._append`A${r},${r},0,${+(d>=oD)},${c},${this._x1=t+r*Math.cos(o)},${this._y1=e+r*Math.sin(o)}`)}rect(t,e,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${r*=1}v${+i}h${-r}Z`}toString(){return this._}}function oP(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(null==r)e=null;else{let t=Math.floor(r);if(!(t>=0))throw RangeError(`invalid digits: ${r}`);e=t}return t},()=>new oR(e)}function oz(t){return t.innerRadius}function oW(t){return t.outerRadius}function oN(t){return t.startAngle}function oj(t){return t.endAngle}function oH(t){return t&&t.padAngle}function oU(t,e,r,i,o,a,n){var s=t-r,l=e-i,h=(n?a:-a)/oL(s*s+l*l),c=h*l,d=-h*s,u=t+c,p=e+d,g=r+c,f=i+d,y=(u+g)/2,m=(p+f)/2,x=g-u,C=f-p,b=x*x+C*C,k=o-a,w=u*f-g*p,T=(C<0?-1:1)*oL(o_(0,k*k*b-w*w)),B=(w*C-x*T)/b,S=(-w*x-C*T)/b,v=(w*C+x*T)/b,_=(-w*x+C*T)/b,F=B-y,A=S-m,L=v-y,M=_-m;return F*F+A*A>L*L+M*M&&(B=v,S=_),{cx:B,cy:S,x01:-c,y01:-d,x11:B*(o/k-1),y11:S*(o/k-1)}}function oY(){var t=oz,e=oW,r=oT(0),i=null,o=oN,a=oj,n=oH,s=null,l=oP(h);function h(){var h,c,d=+t.apply(this,arguments),u=+e.apply(this,arguments),p=o.apply(this,arguments)-o$,g=a.apply(this,arguments)-o$,f=oB(g-p),y=g>p;if(s||(s=h=l()),u<d&&(c=u,u=d,d=c),u>1e-12)if(f>oE-1e-12)s.moveTo(u*ov(p),u*oA(p)),s.arc(0,0,u,p,g,!y),d>1e-12&&(s.moveTo(d*ov(g),d*oA(g)),s.arc(0,0,d,g,p,y));else{var m,x,C=p,b=g,k=p,w=g,T=f,B=f,S=n.apply(this,arguments)/2,v=S>1e-12&&(i?+i.apply(this,arguments):oL(d*d+u*u)),_=oF(oB(u-d)/2,+r.apply(this,arguments)),F=_,A=_;if(v>1e-12){var L=oO(v/d*oA(S)),M=oO(v/u*oA(S));(T-=2*L)>1e-12?(L*=y?1:-1,k+=L,w-=L):(T=0,k=w=(p+g)/2),(B-=2*M)>1e-12?(M*=y?1:-1,C+=M,b-=M):(B=0,C=b=(p+g)/2)}var $=u*ov(C),E=u*oA(C),O=d*ov(w),D=d*oA(w);if(_>1e-12){var K,I=u*ov(b),q=u*oA(b),R=d*ov(k),P=d*oA(k);if(f<oM)if(K=function(t,e,r,i,o,a,n,s){var l=r-t,h=i-e,c=n-o,d=s-a,u=d*l-c*h;if(!(u*u<1e-12))return u=(c*(e-a)-d*(t-o))/u,[t+u*l,e+u*h]}($,E,R,P,I,q,O,D)){var z,W=$-K[0],N=E-K[1],j=I-K[0],H=q-K[1],U=1/oA(((z=(W*j+N*H)/(oL(W*W+N*N)*oL(j*j+H*H)))>1?0:z<-1?oM:Math.acos(z))/2),Y=oL(K[0]*K[0]+K[1]*K[1]);F=oF(_,(d-Y)/(U-1)),A=oF(_,(u-Y)/(U+1))}else F=A=0}B>1e-12?A>1e-12?(m=oU(R,P,$,E,u,A,y),x=oU(I,q,O,D,u,A,y),s.moveTo(m.cx+m.x01,m.cy+m.y01),A<_?s.arc(m.cx,m.cy,A,oS(m.y01,m.x01),oS(x.y01,x.x01),!y):(s.arc(m.cx,m.cy,A,oS(m.y01,m.x01),oS(m.y11,m.x11),!y),s.arc(0,0,u,oS(m.cy+m.y11,m.cx+m.x11),oS(x.cy+x.y11,x.cx+x.x11),!y),s.arc(x.cx,x.cy,A,oS(x.y11,x.x11),oS(x.y01,x.x01),!y))):(s.moveTo($,E),s.arc(0,0,u,C,b,!y)):s.moveTo($,E),d>1e-12&&T>1e-12?F>1e-12?(m=oU(O,D,I,q,d,-F,y),x=oU($,E,R,P,d,-F,y),s.lineTo(m.cx+m.x01,m.cy+m.y01),F<_?s.arc(m.cx,m.cy,F,oS(m.y01,m.x01),oS(x.y01,x.x01),!y):(s.arc(m.cx,m.cy,F,oS(m.y01,m.x01),oS(m.y11,m.x11),!y),s.arc(0,0,d,oS(m.cy+m.y11,m.cx+m.x11),oS(x.cy+x.y11,x.cx+x.x11),y),s.arc(x.cx,x.cy,F,oS(x.y11,x.x11),oS(x.y01,x.x01),!y))):s.arc(0,0,d,w,k,y):s.lineTo(O,D)}else s.moveTo(0,0);if(s.closePath(),h)return s=null,h+""||null}return h.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,i=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-oM/2;return[ov(i)*r,oA(i)*r]},h.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:oT(+e),h):t},h.outerRadius=function(t){return arguments.length?(e="function"==typeof t?t:oT(+t),h):e},h.cornerRadius=function(t){return arguments.length?(r="function"==typeof t?t:oT(+t),h):r},h.padRadius=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:oT(+t),h):i},h.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:oT(+t),h):o},h.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:oT(+t),h):a},h.padAngle=function(t){return arguments.length?(n="function"==typeof t?t:oT(+t),h):n},h.context=function(t){return arguments.length?(s=null==t?null:t,h):s},h}function oG(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function oX(t){this._context=t}function oZ(t){return new oX(t)}function oV(t){return t[0]}function oQ(t){return t[1]}function oJ(t,e){var r=oT(!0),i=null,o=oZ,a=null,n=oP(s);function s(s){var l,h,c,d=(s=oG(s)).length,u=!1;for(null==i&&(a=o(c=n())),l=0;l<=d;++l)!(l<d&&r(h=s[l],l,s))===u&&((u=!u)?a.lineStart():a.lineEnd()),u&&a.point(+t(h,l,s),+e(h,l,s));if(c)return a=null,c+""||null}return t="function"==typeof t?t:void 0===t?oV:oT(t),e="function"==typeof e?e:void 0===e?oQ:oT(e),s.x=function(e){return arguments.length?(t="function"==typeof e?e:oT(+e),s):t},s.y=function(t){return arguments.length?(e="function"==typeof t?t:oT(+t),s):e},s.defined=function(t){return arguments.length?(r="function"==typeof t?t:oT(!!t),s):r},s.curve=function(t){return arguments.length?(o=t,null!=i&&(a=o(i)),s):o},s.context=function(t){return arguments.length?(null==t?i=a=null:a=o(i=t),s):i},s}function o0(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function o1(t){return t}function o2(){var t=o1,e=o0,r=null,i=oT(0),o=oT(oE),a=oT(0);function n(n){var s,l,h,c,d,u=(n=oG(n)).length,p=0,g=Array(u),f=Array(u),y=+i.apply(this,arguments),m=Math.min(oE,Math.max(-oE,o.apply(this,arguments)-y)),x=Math.min(Math.abs(m)/u,a.apply(this,arguments)),C=x*(m<0?-1:1);for(s=0;s<u;++s)(d=f[g[s]=s]=+t(n[s],s,n))>0&&(p+=d);for(null!=e?g.sort(function(t,r){return e(f[t],f[r])}):null!=r&&g.sort(function(t,e){return r(n[t],n[e])}),s=0,h=p?(m-u*C)/p:0;s<u;++s,y=c)c=y+((d=f[l=g[s]])>0?d*h:0)+C,f[l]={data:n[l],index:s,value:d,startAngle:y,endAngle:c,padAngle:x};return f}return n.value=function(e){return arguments.length?(t="function"==typeof e?e:oT(+e),n):t},n.sortValues=function(t){return arguments.length?(e=t,r=null,n):e},n.sort=function(t){return arguments.length?(r=t,e=null,n):r},n.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:oT(+t),n):i},n.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:oT(+t),n):o},n.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:oT(+t),n):a},n}function o5(){}function o3(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function o4(t){this._context=t}function o6(t){return new o4(t)}function o8(t){this._context=t}function o7(t){return new o8(t)}function o9(t){this._context=t}function at(t){return new o9(t)}oR.prototype,Array.prototype.slice,oX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},o4.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:o3(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:o3(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},o8.prototype={areaStart:o5,areaEnd:o5,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)}},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:o3(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},o9.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,i):this._context.moveTo(r,i);break;case 3:this._point=4;default:o3(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class ae{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function ar(t){return new ae(t,!0)}function ai(t){return new ae(t,!1)}function ao(t,e){this._basis=new o4(t),this._beta=e}ao.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var i,o=t[0],a=e[0],n=t[r]-o,s=e[r]-a,l=-1;++l<=r;)i=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(o+i*n),this._beta*e[l]+(1-this._beta)*(a+i*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};let aa=function t(e){function r(t){return 1===e?new o4(t):new ao(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function an(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function as(t,e){this._context=t,this._k=(1-e)/6}as.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:an(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:an(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let al=function t(e){function r(t){return new as(t,e)}return r.tension=function(e){return t(+e)},r}(0);function ah(t,e){this._context=t,this._k=(1-e)/6}ah.prototype={areaStart:o5,areaEnd:o5,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)}},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:an(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let ac=function t(e){function r(t){return new ah(t,e)}return r.tension=function(e){return t(+e)},r}(0);function ad(t,e){this._context=t,this._k=(1-e)/6}ad.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,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:an(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let au=function t(e){function r(t){return new ad(t,e)}return r.tension=function(e){return t(+e)},r}(0);function ap(t,e,r){var i=t._x1,o=t._y1,a=t._x2,n=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,o=(o*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>1e-12){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/c,n=(n*h+t._y1*t._l23_2a-r*t._l12_2a)/c}t._context.bezierCurveTo(i,o,a,n,t._x2,t._y2)}function ag(t,e){this._context=t,this._alpha=e}ag.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)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t*=1,e*=1,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:ap(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let af=function t(e){function r(t){return e?new ag(t,e):new as(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function ay(t,e){this._context=t,this._alpha=e}ay.prototype={areaStart:o5,areaEnd:o5,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)}},point:function(t,e){if(t*=1,e*=1,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:ap(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let am=function t(e){function r(t){return e?new ay(t,e):new ah(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function ax(t,e){this._context=t,this._alpha=e}ax.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||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t*=1,e*=1,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,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:ap(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let aC=function t(e){function r(t){return e?new ax(t,e):new ad(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function ab(t){this._context=t}function ak(t){return new ab(t)}function aw(t,e,r){var i=t._x1-t._x0,o=e-t._x1,a=(t._y1-t._y0)/(i||o<0&&-0),n=(r-t._y1)/(o||i<0&&-0);return((a<0?-1:1)+(n<0?-1:1))*Math.min(Math.abs(a),Math.abs(n),.5*Math.abs((a*o+n*i)/(i+o)))||0}function aT(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function aB(t,e,r){var i=t._x0,o=t._y0,a=t._x1,n=t._y1,s=(a-i)/3;t._context.bezierCurveTo(i+s,o+s*e,a-s,n-s*r,a,n)}function aS(t){this._context=t}function av(t){this._context=new a_(t)}function a_(t){this._context=t}function aF(t){return new aS(t)}function aA(t){return new av(t)}function aL(t){this._context=t}function aM(t){var e,r,i=t.length-1,o=Array(i),a=Array(i),n=Array(i);for(o[0]=0,a[0]=2,n[0]=t[0]+2*t[1],e=1;e<i-1;++e)o[e]=1,a[e]=4,n[e]=4*t[e]+2*t[e+1];for(o[i-1]=2,a[i-1]=7,n[i-1]=8*t[i-1]+t[i],e=1;e<i;++e)r=o[e]/a[e-1],a[e]-=r,n[e]-=r*n[e-1];for(o[i-1]=n[i-1]/a[i-1],e=i-2;e>=0;--e)o[e]=(n[e]-o[e+1])/a[e];for(e=0,a[i-1]=(t[i]+o[i-1])/2;e<i-1;++e)a[e]=2*t[e+1]-o[e+1];return[o,a]}function a$(t){return new aL(t)}function aE(t,e){this._context=t,this._t=e}function aO(t){return new aE(t,.5)}function aD(t){return new aE(t,0)}function aK(t){return new aE(t,1)}function aI(t,e,r){this.k=t,this.x=e,this.y=r}ab.prototype={areaStart:o5,areaEnd:o5,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t*=1,e*=1,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},aS.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:aB(this,this._t0,aT(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e*=1,(t*=1)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,aB(this,aT(this,r=aw(this,t,e)),r);break;default:aB(this,this._t0,r=aw(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(av.prototype=Object.create(aS.prototype)).point=function(t,e){aS.prototype.point.call(this,e,t)},a_.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,i,o,a){this._context.bezierCurveTo(e,t,i,r,a,o)}},aL.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var i=aM(t),o=aM(e),a=0,n=1;n<r;++a,++n)this._context.bezierCurveTo(i[0][a],o[0][a],i[1][a],o[1][a],t[n],e[n]);(this._line||0!==this._line&&1===r)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},aE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},aI.prototype={constructor:aI,scale:function(t){return 1===t?this:new aI(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new aI(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};new aI(1,0,0);aI.prototype},9418(t,e,r){"use strict";let i;function o(t,e){this.v=t,this.k=e}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,i=Array(e);r<e;r++)i[r]=t[r];return i}function n(t){var e,r;function i(e,r){try{var n=t[e](r),s=n.value,l=s instanceof o;Promise.resolve(l?s.v:s).then(function(r){if(l){var o="return"===e&&s.k?e:"next";if(!s.k||r.done)return i(o,r);r=t[o](r).value}a(!!n.done,r)},function(t){i("throw",t)})}catch(t){a(2,t)}}function a(t,o){2===t?e.reject(o):e.resolve({value:o,done:t}),(e=e.next)?i(e.key,e.arg):r=null}this._invoke=function(t,o){return new Promise(function(a,n){var s={key:t,arg:o,resolve:a,reject:n,next:null};r?r=r.next=s:(e=r=s,i(t,o))})},"function"!=typeof t.return&&(this.return=void 0)}r.d(e,{A:()=>tk}),n.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},n.prototype.next=function(t){return this._invoke("next",t)},n.prototype.throw=function(t){return this._invoke("throw",t)},n.prototype.return=function(t){return this._invoke("return",t)};let s=Object.entries,l=Object.setPrototypeOf,h=Object.isFrozen,c=Object.getPrototypeOf,d=Object.getOwnPropertyDescriptor,u=Object.freeze,p=Object.seal,g=Object.create,f="u">typeof Reflect&&Reflect,y=f.apply,m=f.construct;u||(u=function(t){return t}),p||(p=function(t){return t}),y||(y=function(t,e){for(var r=arguments.length,i=Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return t.apply(e,i)}),m||(m=function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];return new t(...r)});let x=q(Array.prototype.forEach);Array.prototype.indexOf;let C=q(Array.prototype.lastIndexOf),b=q(Array.prototype.pop),k=q(Array.prototype.push);Array.prototype.slice;let w=q(Array.prototype.splice),T=Array.isArray,B=q(String.prototype.toLowerCase),S=q(String.prototype.toString),v=q(String.prototype.match),_=q(String.prototype.replace),F=q(String.prototype.indexOf),A=q(String.prototype.trim),L=q(Number.prototype.toString),M=q(Boolean.prototype.toString),$="u"<typeof BigInt?null:q(BigInt.prototype.toString),E="u"<typeof Symbol?null:q(Symbol.prototype.toString),O=q(Object.prototype.hasOwnProperty),D=q(Object.prototype.toString),K=q(RegExp.prototype.test),I=(tb=TypeError,function(){for(var t=arguments.length,e=Array(t),r=0;r<t;r++)e[r]=arguments[r];return m(tb,e)});function q(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var r=arguments.length,i=Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return y(t,e,i)}}function R(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:B;if(l&&l(t,null),!T(e))return t;let i=e.length;for(;i--;){let o=e[i];if("string"==typeof o){let t=r(o);t!==o&&(h(e)||(e[i]=t),o=t)}t[o]=!0}return t}function P(t){let e=g(null);for(let i of s(t)){var r=function(t){if(Array.isArray(t))return t}(i)||function(t){var e=null==t?null:"u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var r,i,o,a,n=[],s=!0,l=!1;try{o=(e=e.call(t)).next,!1;for(;!(s=(r=o.call(e)).done)&&(n.push(r.value),2!==n.length);s=!0);}catch(t){l=!0,i=t}finally{try{if(!s&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(l)throw i}}return n}}(i)||function(t){if(t){if("string"==typeof t)return a(t,2);var e=({}).toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?a(t,2):void 0}}(i)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();let o=r[0],n=r[1];O(t,o)&&(T(n)?e[o]=function(t){for(let e=0;e<t.length;e++)O(t,e)||(t[e]=null);return t}(n):n&&"object"==typeof n&&n.constructor===Object?e[o]=P(n):e[o]=n)}return e}function z(t,e){for(;null!==t;){let r=d(t,e);if(r){if(r.get)return q(r.get);if("function"==typeof r.value)return q(r.value)}t=c(t)}return function(){return null}}let W=u(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),N=u(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),j=u(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),H=u(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),U=u(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Y=u(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),G=u(["#text"]),X=u(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Z=u(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),V=u(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Q=u(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),J=p(/{{[\w\W]*|^[\w\W]*}}/g),tt=p(/<%[\w\W]*|^[\w\W]*%>/g),te=p(/\${[\w\W]*/g),tr=p(/^data-[\-\w.\u00B7-\uFFFF]+$/),ti=p(/^aria-[\-\w]+$/),to=p(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ta=p(/^(?:\w+script|data):/i),tn=p(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ts=p(/^html$/i),tl=p(/^[a-z][.\w]*(-[.\w]+)+$/i),th=p(/<[/\w!]/g),tc=p(/<[/\w]/g),td=p(/<\/no(script|embed|frames)/i),tu=p(/\/>/i),tp=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],tg=u(R({},tp)),tf=(i={},x(tp,t=>{i[t]=p(RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),u(i)),ty=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let r=null,i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(r=e.getAttribute(i));let o="dompurify"+(r?"#"+r:"");try{return t.createPolicy(o,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+o+" could not be created."),null}},tm=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},tx=function(t,e,r,i){return O(t,e)&&T(t[e])?R(i.base?P(i.base):{},t[e],i.transform):r},tC=function(t,e,r){let i=O(t,e)?t[e]:void 0;return i&&"object"==typeof i?P(i):r()};var tb,tk=function t(){let e,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"u"<typeof window?null:window,o=e=>t(e);if(o.version="3.4.16",o.removed=[],!i||!i.document||9!==i.document.nodeType||!i.Element)return o.isSupported=!1,o;let a=i.document,n=a,l=n.currentScript;i.DocumentFragment;let h=i.HTMLTemplateElement,c=i.Node,d=i.Element,f=i.NodeFilter;void 0===i.NamedNodeMap&&(i.NamedNodeMap||i.MozNamedAttrMap),i.HTMLFormElement;let y=i.DOMParser,m=i.trustedTypes,q=d.prototype,tp=z(q,"cloneNode"),tb=z(q,"remove"),tk=z(q,"removeAttributeNode"),tw=z(q,"nextSibling"),tT=z(q,"childNodes"),tB=z(q,"parentNode"),tS=z(q,"shadowRoot"),tv=z(q,"attributes"),t_=c&&c.prototype?z(c.prototype,"nodeType"):null,tF=c&&c.prototype?z(c.prototype,"nodeName"):null,tA=c&&c.prototype?z(c.prototype,"ownerDocument"):null,tL=function(t){return t_?t_(t):t.nodeType},tM=function(t){return tF?tF(t):t.nodeName};if("function"==typeof h){let t=a.createElement("template");t.content&&t.content.ownerDocument&&(a=t.content.ownerDocument)}let t$="",tE=!1,tO=0,tD=function(){if(tO>0)throw I('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},tK=function(t){tD(),tO++;try{return e.createHTML(t)}finally{tO--}},tI=function(t){tD(),tO++;try{return e.createScriptURL(t)}finally{tO--}},tq=a,tR=tq.implementation,tP=tq.createNodeIterator,tz=tq.createDocumentFragment,tW=tq.getElementsByTagName,tN=n.importNode,tj=tm();o.isSupported="function"==typeof s&&"function"==typeof tB&&tR&&void 0!==tR.createHTMLDocument;let tH=to,tU=null,tY=R({},[...W,...N,...j,...U,...G]),tG=null,tX=R({},[...X,...Z,...V,...Q]),tZ=Object.seal(g(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}})),tV=null,tQ=null,tJ=Object.seal(g(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),t0=!0,t1=!0,t2=!1,t5=!0,t3=!1,t4=!0,t6=!1,t8=!1,t7=null,t9=null,et=!1,ee=!1,er=!1,ei=!1,eo=!0,ea=!1,en="user-content-",es=!0,el=!1,eh={},ec=null,ed=R({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),eu=null,ep=R({},["audio","video","img","source","image","track"]),eg=null,ef=R({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ey="http://www.w3.org/1998/Math/MathML",em="http://www.w3.org/2000/svg",ex="http://www.w3.org/1999/xhtml",eC=ex,eb=!1,ek=null,ew=R({},[ey,em,ex],S),eT=u(["mi","mo","mn","ms","mtext"]),eB=R({},eT),eS=u(["annotation-xml"]),ev=R({},eS),e_=R({},["title","style","font","a","script"]),eF=null,eA=["application/xhtml+xml","text/html"],eL=null,eM=null,e$=a.createElement("form"),eE=function(t){return t instanceof RegExp||t instanceof Function},eO=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(eM&&eM===t)return;t&&"object"==typeof t||(t={}),t=P(t),eL="application/xhtml+xml"===(eF=-1===eA.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE)?S:B,tU=tx(t,"ALLOWED_TAGS",tY,{transform:eL}),tG=tx(t,"ALLOWED_ATTR",tX,{transform:eL}),ek=tx(t,"ALLOWED_NAMESPACES",ew,{transform:S}),eg=tx(t,"ADD_URI_SAFE_ATTR",ef,{transform:eL,base:ef}),eu=tx(t,"ADD_DATA_URI_TAGS",ep,{transform:eL,base:ep}),ec=tx(t,"FORBID_CONTENTS",ed,{transform:eL}),tV=tx(t,"FORBID_TAGS",P({}),{transform:eL}),tQ=tx(t,"FORBID_ATTR",P({}),{transform:eL}),eh=!!O(t,"USE_PROFILES")&&(t.USE_PROFILES&&"object"==typeof t.USE_PROFILES?P(t.USE_PROFILES):t.USE_PROFILES),t0=!1!==t.ALLOW_ARIA_ATTR,t1=!1!==t.ALLOW_DATA_ATTR,t2=t.ALLOW_UNKNOWN_PROTOCOLS||!1,t5=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,t3=t.SAFE_FOR_TEMPLATES||!1,t4=!1!==t.SAFE_FOR_XML,t6=t.WHOLE_DOCUMENT||!1,ee=t.RETURN_DOM||!1,er=t.RETURN_DOM_FRAGMENT||!1,ei=t.RETURN_TRUSTED_TYPE||!1,et=t.FORCE_BODY||!1,eo=!1!==t.SANITIZE_DOM,ea=t.SANITIZE_NAMED_PROPS||!1,es=!1!==t.KEEP_CONTENT,el=t.IN_PLACE||!1,tH=!function(t){try{return K(t,""),!0}catch(t){return!1}}(t.ALLOWED_URI_REGEXP)?to:t.ALLOWED_URI_REGEXP,eC="string"==typeof t.NAMESPACE?t.NAMESPACE:ex,eB=tC(t,"MATHML_TEXT_INTEGRATION_POINTS",()=>R({},eT)),ev=tC(t,"HTML_INTEGRATION_POINTS",()=>R({},eS));let i=tC(t,"CUSTOM_ELEMENT_HANDLING",()=>g(null));if(tZ=g(null),O(i,"tagNameCheck")&&eE(i.tagNameCheck)&&(tZ.tagNameCheck=i.tagNameCheck),O(i,"attributeNameCheck")&&eE(i.attributeNameCheck)&&(tZ.attributeNameCheck=i.attributeNameCheck),O(i,"allowCustomizedBuiltInElements")&&"boolean"==typeof i.allowCustomizedBuiltInElements&&(tZ.allowCustomizedBuiltInElements=i.allowCustomizedBuiltInElements),p(tZ),t3&&(t1=!1),er&&(ee=!0),eh&&(tU=R({},G),tG=g(null),!0===eh.html&&(R(tU,W),R(tG,X)),!0===eh.svg&&(R(tU,N),R(tG,Z),R(tG,Q)),!0===eh.svgFilters&&(R(tU,j),R(tG,Z),R(tG,Q)),!0===eh.mathMl&&(R(tU,U),R(tG,V),R(tG,Q))),tJ.tagCheck=null,tJ.attributeCheck=null,O(t,"ADD_TAGS")&&("function"==typeof t.ADD_TAGS?tJ.tagCheck=t.ADD_TAGS:T(t.ADD_TAGS)&&(tU===tY&&(tU=P(tU)),R(tU,t.ADD_TAGS,eL))),O(t,"ADD_ATTR")&&("function"==typeof t.ADD_ATTR?tJ.attributeCheck=t.ADD_ATTR:T(t.ADD_ATTR)&&(tG===tX&&(tG=P(tG)),R(tG,t.ADD_ATTR,eL))),O(t,"ADD_FORBID_CONTENTS")&&T(t.ADD_FORBID_CONTENTS)&&(ec===ed&&(ec=P(ec)),R(ec,t.ADD_FORBID_CONTENTS,eL)),es&&(tU["#text"]=!0),t6&&R(tU,["html","head","body"]),tU.table&&(R(tU,["tbody"]),delete tV.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw I('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw I('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let r=e;e=t.TRUSTED_TYPES_POLICY;try{t$=tK("")}catch(t){throw e=r,t}}else null===t.TRUSTED_TYPES_POLICY?(e=void 0,t$=""):(void 0===e&&(tE||(r=ty(m,l),tE=!0),e=r),e&&"string"==typeof t$&&(t$=tK("")));u&&u(t),eM=t},eD=R({},[...N,...j,...H]),eK=R({},[...U,...Y]),eI=function(t){var e,r,i;let o=tB(t);o&&o.tagName||(o={namespaceURI:eC,tagName:"template"});let a=B(t.tagName),n=B(o.tagName);return!!ek[t.namespaceURI]&&(t.namespaceURI===em?(e=o).namespaceURI===ex?"svg"===a:e.namespaceURI===ey?"svg"===a&&("annotation-xml"===n||eB[n]):!!eD[a]:t.namespaceURI===ey?(r=o).namespaceURI===ex?"math"===a:r.namespaceURI===em?"math"===a&&ev[n]:!!eK[a]:t.namespaceURI===ex?((i=o).namespaceURI!==em||!!ev[n])&&(i.namespaceURI!==ey||!!eB[n])&&!eK[a]&&(e_[a]||!eD[a]):"application/xhtml+xml"===eF&&!!ek[t.namespaceURI])},eq=function(t){k(o.removed,{element:t});try{tB(t).removeChild(t)}catch(e){if(tb(t),!tB(t))throw I("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},eR=function(t,e,r){try{tk(t,e)}catch(e){try{t.removeAttribute(r)}catch(t){}}},eP=function(t){eN(t);let e=tT(t);if(e){let t=[];x(e,e=>{k(t,e)}),x(t,t=>{try{tb(t)}catch(t){}})}let r=tv(t);if(r)for(let e=r.length-1;e>=0;--e){let i=r[e],o=i&&i.name;"string"==typeof o&&eR(t,i,o)}},ez=function(t,e,r){if(!r)try{r=e.getAttributeNode(t)}catch(t){r=null}k(o.removed,{attribute:r||null,from:e});try{r?tk(e,r):e.removeAttribute(t)}catch(r){try{e.removeAttribute(t)}catch(t){}}if("is"===t)if(ee||er)try{eq(e)}catch(t){}else try{e.setAttribute(t,"")}catch(t){}},eW=function(t){let e=tv(t);if(e)for(let r=e.length-1;r>=0;--r){let i=e[r],o=i&&i.name;"string"!=typeof o||tG[eL(o)]||eR(t,i,o)}},eN=function(t){let e=[t];for(;e.length>0;){let t=e.pop();1===tL(t)&&eW(t);let r=tT(t);if(r)for(let t=r.length-1;t>=0;--t)e.push(r[t])}},ej=function(t,e){return!!t4&&("patchsrc"===t||"for"===t&&"label"!==e&&"output"!==e)},eH=function(t){if(!t4)return;let e=[t];for(;e.length>0;){let t=e.pop(),r=tL(t);if(7===r||8===r&&K(tc,t.data)){try{tb(t)}catch(t){}continue}if(1===r){let e=eL(tM(t));try{t.hasAttribute&&t.hasAttribute("patchsrc")&&t.removeAttribute("patchsrc"),t.hasAttribute&&t.hasAttribute("for")&&ej("for",e)&&t.removeAttribute("for")}catch(t){}}let i=tT(t);if(i)for(let t=i.length-1;t>=0;--t)e.push(i[t])}},eU=function(t){let r=null,i=null;if(et)t="<remove></remove>"+t;else{let e=v(t,/^[\r\n\t ]+/);i=e&&e[0]}"application/xhtml+xml"===eF&&eC===ex&&(t='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+t+"</body></html>");let o=e?tK(t):t;if(eC===ex)try{r=new y().parseFromString(o,eF)}catch(t){}if(!r||!r.documentElement){r=tR.createDocument(eC,"template",null);try{r.documentElement.innerHTML=eb?t$:o}catch(t){}}let n=r.body||r.documentElement;return(t&&i&&n.insertBefore(a.createTextNode(i),n.childNodes[0]||null),eC===ex)?tW.call(r,t6?"html":"body")[0]:t6?r.documentElement:n},eY=function(t){let e=tA?tA(t):t.ownerDocument;return tP.call(e||t,t,f.SHOW_ELEMENT|f.SHOW_COMMENT|f.SHOW_TEXT|f.SHOW_PROCESSING_INSTRUCTION|f.SHOW_CDATA_SECTION,null)},eG=function(t){return t=_(t,J," "),t=_(t,tt," "),t=_(t,te," ")},eX=function(t){var e;t.normalize();let r=tA?tA(t):t.ownerDocument,i=tP.call(r||t,t,f.SHOW_TEXT|f.SHOW_COMMENT|f.SHOW_CDATA_SECTION|f.SHOW_PROCESSING_INSTRUCTION,null),o=i.nextNode();for(;o;)o.data=eG(o.data),o=i.nextNode();let a=null==(e=t.querySelectorAll)?void 0:e.call(t,"template");a&&x(a,t=>{eV(t.content)&&eX(t.content)})},eZ=function(t){let e=tF?tF(t):null;return"string"==typeof e&&"form"===eL(e)&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||t.attributes!==tv(t)||"function"!=typeof t.removeAttribute||"function"!=typeof t.removeAttributeNode||"function"!=typeof t.getAttributeNode||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes||t.nodeType!==t_(t)||t.childNodes!==tT(t))},eV=function(t){if(!t_||"object"!=typeof t||null===t)return!1;try{return 11===t_(t)}catch(t){return!1}},eQ=function(t){if(!t_||"object"!=typeof t||null===t)return!1;try{return"number"==typeof t_(t)}catch(t){return!1}};function eJ(t,e,r){0!==t.length&&x(t,t=>{t.call(o,e,r,eM)})}let e0=function(t,e){if(t instanceof RegExp)return K(t,e);if(t instanceof Function){for(var r=arguments.length,i=Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return!!t(e,...i)}return!1},e1=function(t,e,r){if(!tV[e]&&e8(e)&&e0(tZ.tagNameCheck,e))return!1;if(es&&!ec[e]){let e=tB(t),i=tT(t);if(i&&e){let o=i.length;for(let a=o-1;a>=0;--a){let o=t===r?tp(i[a],!0):i[a];e.insertBefore(o,tw(t))}}}return eq(t),!0},e2=function(t,e,r,i){return 0===t.length?e:e===r||e===i?P(e):e},e5=function(t,e){return t!==e&&null===tB(t)&&(el&&eN(t),!0)},e3=function(t,e){if(eJ(tj.beforeSanitizeElements,t,null),e5(t,e))return!0;if(eZ(t))return eq(t),!0;let r=eL(tM(t));if(tU=e2(tj.uponSanitizeElement,tU,tY,t7),eJ(tj.uponSanitizeElement,t,{tagName:r,allowedTags:tU}),e5(t,e))return!0;if(t4&&t.hasChildNodes()&&!eQ(t.firstElementChild)&&K(th,t.textContent)&&K(th,t.innerHTML)||t4&&t.namespaceURI===ex&&tg[r]&&(eQ(t.firstElementChild)||"string"==typeof t.textContent&&K(tf[r],t.textContent))||7===t.nodeType||t4&&8===t.nodeType&&K(tc,t.data))return eq(t),!0;if(tV[r]||!(tJ.tagCheck instanceof Function&&tJ.tagCheck(r))&&!tU[r]){let i=e1(t,r,e);return!!(!1===i&&(eJ(tj.afterSanitizeElements,t,null),e5(t,e)))||i}if(1===tL(t)&&!eI(t)||("noscript"===r||"noembed"===r||"noframes"===r)&&K(td,t.innerHTML))return eq(t),!0;if(t3&&3===t.nodeType){let e=eG(t.textContent);t.textContent!==e&&(k(o.removed,{element:t.cloneNode()}),t.textContent=e)}return eJ(tj.afterSanitizeElements,t,null),e5(t,e)},e4=function(t,e,r){if(tQ[e]||ej(e,t)||eo&&("id"===e||"name"===e)&&(r in a||r in e$))return!1;let i=tG[e]||tJ.attributeCheck instanceof Function&&tJ.attributeCheck(e,t);return!!(t1&&K(tr,e)||t0&&K(ti,e))||(i?!(!(eg[e]||K(tH,_(r,tn,"")))&&("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==F(r,"data:")||!eu[t])&&(!t2||K(ta,_(r,tn,""))))||!r:e8(t)&&e0(tZ.tagNameCheck,t)&&e0(tZ.attributeNameCheck,e,t)||"is"===e&&tZ.allowCustomizedBuiltInElements&&e0(tZ.tagNameCheck,r))},e6=R({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),e8=function(t){return!e6[B(t)]&&K(tl,t)},e7=function(t,r,i,o){if(e&&"object"==typeof m&&"function"==typeof m.getAttributeType&&!i)switch(m.getAttributeType(t,r)){case"TrustedHTML":return tK(o);case"TrustedScriptURL":return tI(o)}return o},e9=function(t,e,r,i){try{if(r?t.setAttributeNS(r,e,i):t.setAttribute(e,i),eZ(t))return eq(t),!1;return!0}catch(r){return ez(e,t),!1}},rt=function(t,e){if(eJ(tj.beforeSanitizeAttributes,t,null),e5(t,e))return;let r=t.attributes;if(!r||eZ(t))return;let i={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:tG=e2(tj.uponSanitizeAttribute,tG,tX,t9),forceKeepAttr:void 0},a=r.length,n=eL(t.nodeName);for(;a--;){let e=r[a],s=e.name,l=e.namespaceURI,h=e.value,c=eL(s),d="value"===s?h:A(h),u=!1;if(i.attrName=c,i.attrValue=d,i.keepAttr=!0,i.forceKeepAttr=void 0,eJ(tj.uponSanitizeAttribute,t,i),d=i.attrValue,ea&&("id"===c||"name"===c)&&0!==F(d,en)&&(ez(s,t,e),d=en+d,u=!0),t4&&K(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)||"attributename"===c&&v(d,"href")){ez(s,t,e);continue}if(!i.forceKeepAttr){if(!i.keepAttr||!t5&&K(tu,d)||(t3&&(d=eG(d)),!e4(n,c,d))){ez(s,t,e);continue}(d=e7(n,c,l,d))!==h&&e9(t,s,l,d)&&u&&b(o.removed)}}eJ(tj.afterSanitizeAttributes,t,null),e5(t,e)},re=function(t){let e=null,r=eY(t);for(eJ(tj.beforeSanitizeShadowDOM,t,null);e=r.nextNode();)if(eJ(tj.uponSanitizeShadowNode,e,null),e3(e,t),rt(e,t),eV(e.content)&&re(e.content),1===tL(e)){let t=tS(e);eV(t)&&(rr(t),re(t))}eJ(tj.afterSanitizeShadowDOM,t,null)},rr=function(t){let e=[{node:t,shadow:null}];for(;e.length>0;){let t=e.pop();if(t.shadow){re(t.shadow);continue}let r=t.node,i=1===tL(r),o=tT(r);if(o)for(let t=o.length-1;t>=0;--t)e.push({node:o[t],shadow:null});if(i){let t=tF?tF(r):null;if("string"==typeof t&&"template"===eL(t)){let t=r.content;eV(t)&&e.push({node:t,shadow:null})}}if(i){let t=tS(r);eV(t)&&e.push({node:null,shadow:t},{node:t,shadow:null})}}};return o.sanitize=function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null,a=null,s=null,l=null;if((eb=!t)&&(t="\x3c!--\x3e"),"string"!=typeof t&&!eQ(t)&&"string"!=typeof(t=function(t){switch(typeof t){case"string":return t;case"number":return L(t);case"boolean":return M(t);case"bigint":return $?$(t):"0";case"symbol":return E?E(t):"Symbol()";case"undefined":default:return D(t);case"function":case"object":{if(null===t)return D(t);let e=z(t,"toString");if("function"==typeof e){let r=e(t);return"string"==typeof r?r:D(r)}return D(t)}}}(t)))throw I("dirty is not a string, aborting");if(!o.isSupported)return t;t8?(tU=t7,tG=t9):eO(r),(tj.uponSanitizeElement.length>0||tj.uponSanitizeAttribute.length>0)&&(tU=P(tU)),tj.uponSanitizeAttribute.length>0&&(tG=P(tG)),o.removed=[];let h=el&&"string"!=typeof t&&eQ(t);if(h){eH(t);let e=tM(t);if("string"==typeof e){let r=eL(e);if(!tU[r]||tV[r])throw eP(t),I("root node is forbidden and cannot be sanitized in-place")}if(eZ(t))throw eP(t),I("root node is clobbered and cannot be sanitized in-place");try{rr(t)}catch(e){throw eP(t),e}}else if(eQ(t))1===(a=(i=eU("\x3c!----\x3e")).ownerDocument.importNode(t,!0)).nodeType&&"BODY"===a.nodeName||"HTML"===a.nodeName?i=a:i.appendChild(a),rr(i);else{if(!ee&&!t3&&!t6&&-1===t.indexOf("<"))return e&&ei?tK(t):t;if(!(i=eU(t)))return ee?null:ei?t$:""}i&&et&&eq(i.firstChild);let c=h?t:i;try{let t=eY(c);for(;s=t.nextNode();)e3(s,c),rt(s,c),eV(s.content)&&re(s.content)}catch(e){throw h&&(eP(t),x(o.removed,t=>{t.element&&eN(t.element)})),e}if(h){let e=!1;if(x(o.removed,r=>{r.element&&(r.element===t&&(e=!0),eN(r.element))}),e)throw I("a node selected for removal could not be safely returned; refusing to sanitize in place");return t3&&eX(t),t}if(ee){if(t3&&eX(i),er)for(l=tz.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(tG.shadowroot||tG.shadowrootmode)&&(l=tN.call(n,l,!0)),l}let d=t6?i.outerHTML:i.innerHTML;return t6&&tU["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&K(ts,i.ownerDocument.doctype.name)&&(d="<!DOCTYPE "+i.ownerDocument.doctype.name+">\n"+d),t3&&(d=eG(d)),e&&ei?tK(d):d},o.setConfig=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};eO(t),t8=!0,t7=tU,t9=tG},o.clearConfig=function(){eM=null,t8=!1,t7=null,t9=null,e=r,t$=""},o.isValidAttribute=function(t,e,r){return eM||eO({}),e4(eL(t),eL(e),r)},o.addHook=function(t,e){"function"!=typeof e||O(tj,t)&&k(tj[t],e)},o.removeHook=function(t,e){if(O(tj,t)){if(void 0!==e){let r=C(tj[t],e);return -1===r?void 0:w(tj[t],r,1)[0]}return b(tj[t])}},o.removeHooks=function(t){O(tj,t)&&(tj[t]=[])},o.removeAllHooks=function(){tj=tm()},o}()},9125(t,e,r){"use strict";function i(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}r.d(e,{b:()=>i})},9826(t,e,r){"use strict";r.d(e,{$V:()=>n,Av:()=>i,GX:()=>g,ML:()=>B,NA:()=>d,OG:()=>o,Qb:()=>y,R_:()=>s,Uw:()=>u,VP:()=>l,XZ:()=>b,ZR:()=>C,_u:()=>w,cT:()=>p,i1:()=>k,iq:()=>f,kj:()=>a,pj:()=>c,q:()=>m,ri:()=>T,vC:()=>h,x6:()=>x});let i="[object RegExp]",o="[object String]",a="[object Number]",n="[object Boolean]",s="[object Arguments]",l="[object Symbol]",h="[object Date]",c="[object Map]",d="[object Set]",u="[object Array]",p="[object ArrayBuffer]",g="[object Object]",f="[object DataView]",y="[object Uint8Array]",m="[object Uint8ClampedArray]",x="[object Uint16Array]",C="[object Uint32Array]",b="[object Int8Array]",k="[object Int16Array]",w="[object Int32Array]",T="[object Float32Array]",B="[object Float64Array]"},4608(t,e,r){"use strict";r.d(e,{N:()=>o});var i=r(9125);function o(t){return null!==t&&"object"==typeof t&&"[object Arguments]"===(0,i.b)(t)}},9480(t,e,r){"use strict";function i(t){var e;return null!=t&&"function"!=typeof t&&Number.isSafeInteger(e=t.length)&&e>=0}r.d(e,{X:()=>i})},9663(t,e,r){"use strict";r.d(e,{i:()=>o});var i=r(2796);function o(t){return(0,i.i)(t)}},1069(t,e,r){"use strict";r.d(e,{P:()=>o});let i="object"==typeof globalThis&&globalThis||"object"==typeof window&&window||"object"==typeof self&&self||"object"==typeof global&&global||function(){return this}();function o(t){return void 0!==i.Buffer&&i.Buffer.isBuffer(t)}},7110(t,e,r){"use strict";function i(t){return null==t||"object"!=typeof t&&"function"!=typeof t}r.d(e,{s:()=>i})},2796(t,e,r){"use strict";function i(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}r.d(e,{i:()=>i})},1665(t,e,r){"use strict";r.d(e,{A:()=>n});var i=r(1553),o=r(3122);let a=class{constructor(){this.type=o.Z.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=o.Z.ALL}is(t){return this.type===t}},n=new class{constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new a}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=o.Z.ALL,this}_ensureHSL(){let t=this.data,{h:e,s:r,l:o}=t;void 0===e&&(t.h=i.A.channel.rgb2hsl(t,"h")),void 0===r&&(t.s=i.A.channel.rgb2hsl(t,"s")),void 0===o&&(t.l=i.A.channel.rgb2hsl(t,"l"))}_ensureRGB(){let t=this.data,{r:e,g:r,b:o}=t;void 0===e&&(t.r=i.A.channel.hsl2rgb(t,"r")),void 0===r&&(t.g=i.A.channel.hsl2rgb(t,"g")),void 0===o&&(t.b=i.A.channel.hsl2rgb(t,"b"))}get r(){let t=this.data,e=t.r;return this.type.is(o.Z.HSL)||void 0===e?(this._ensureHSL(),i.A.channel.hsl2rgb(t,"r")):e}get g(){let t=this.data,e=t.g;return this.type.is(o.Z.HSL)||void 0===e?(this._ensureHSL(),i.A.channel.hsl2rgb(t,"g")):e}get b(){let t=this.data,e=t.b;return this.type.is(o.Z.HSL)||void 0===e?(this._ensureHSL(),i.A.channel.hsl2rgb(t,"b")):e}get h(){let t=this.data,e=t.h;return this.type.is(o.Z.RGB)||void 0===e?(this._ensureRGB(),i.A.channel.rgb2hsl(t,"h")):e}get s(){let t=this.data,e=t.s;return this.type.is(o.Z.RGB)||void 0===e?(this._ensureRGB(),i.A.channel.rgb2hsl(t,"s")):e}get l(){let t=this.data,e=t.l;return this.type.is(o.Z.RGB)||void 0===e?(this._ensureRGB(),i.A.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set(o.Z.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(o.Z.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(o.Z.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(o.Z.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(o.Z.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(o.Z.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}({r:0,g:0,b:0,a:0},"transparent")},6408(t,e,r){"use strict";r.d(e,{A:()=>c});var i=r(1665),o=r(3122);let a={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(35!==t.charCodeAt(0))return;let e=t.match(a.re);if(!e)return;let r=e[1],o=parseInt(r,16),n=r.length,s=n%4==0,l=n>4,h=l?1:17,c=l?8:4,d=s?0:-1,u=l?255:15;return i.A.set({r:(o>>c*(d+3)&u)*h,g:(o>>c*(d+2)&u)*h,b:(o>>c*(d+1)&u)*h,a:s?(o&u)*h/255:1},t)},stringify:t=>{let{r:e,g:r,b:i,a}=t;return a<1?`#${o.Y[Math.round(e)]}${o.Y[Math.round(r)]}${o.Y[Math.round(i)]}${o.Y[Math.round(255*a)]}`:`#${o.Y[Math.round(e)]}${o.Y[Math.round(r)]}${o.Y[Math.round(i)]}`}};var n=r(1553);let s={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{let e=t.match(s.hueRe);if(e){let[,t,r]=e;switch(r){case"grad":return n.A.channel.clamp.h(.9*parseFloat(t));case"rad":return n.A.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return n.A.channel.clamp.h(360*parseFloat(t))}}return n.A.channel.clamp.h(parseFloat(t))},parse:t=>{let e=t.charCodeAt(0);if(104!==e&&72!==e)return;let r=t.match(s.re);if(!r)return;let[,o,a,l,h,c]=r;return i.A.set({h:s._hue2deg(o),s:n.A.channel.clamp.s(parseFloat(a)),l:n.A.channel.clamp.l(parseFloat(l)),a:h?n.A.channel.clamp.a(c?parseFloat(h)/100:parseFloat(h)):1},t)},stringify:t=>{let{h:e,s:r,l:i,a:o}=t;return o<1?`hsla(${n.A.lang.round(e)}, ${n.A.lang.round(r)}%, ${n.A.lang.round(i)}%, ${o})`:`hsl(${n.A.lang.round(e)}, ${n.A.lang.round(r)}%, ${n.A.lang.round(i)}%)`}},l={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();let e=l.colors[t];if(e)return a.parse(e)},stringify:t=>{let e=a.stringify(t);for(let t in l.colors)if(l.colors[t]===e)return t}},h={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{let e=t.charCodeAt(0);if(114!==e&&82!==e)return;let r=t.match(h.re);if(!r)return;let[,o,a,s,l,c,d,u,p]=r;return i.A.set({r:n.A.channel.clamp.r(a?2.55*parseFloat(o):parseFloat(o)),g:n.A.channel.clamp.g(l?2.55*parseFloat(s):parseFloat(s)),b:n.A.channel.clamp.b(d?2.55*parseFloat(c):parseFloat(c)),a:u?n.A.channel.clamp.a(p?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{let{r:e,g:r,b:i,a:o}=t;return o<1?`rgba(${n.A.lang.round(e)}, ${n.A.lang.round(r)}, ${n.A.lang.round(i)}, ${n.A.lang.round(o)})`:`rgb(${n.A.lang.round(e)}, ${n.A.lang.round(r)}, ${n.A.lang.round(i)})`}},c={format:{keyword:l,hex:a,rgb:h,rgba:h,hsl:s,hsla:s},parse:t=>{if("string"!=typeof t)return t;let e=a.parse(t)||h.parse(t)||s.parse(t)||l.parse(t);if(e)return e;throw Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(o.Z.HSL)||void 0===t.data.r?s.stringify(t):!(t.a<1)&&Number.isInteger(t.r)&&Number.isInteger(t.g)&&Number.isInteger(t.b)?a.stringify(t):h.stringify(t)}},3122(t,e,r){"use strict";r.d(e,{Y:()=>o,Z:()=>a});var i=r(1553);let o={};for(let t=0;t<=255;t++)o[t]=i.A.unit.dec2hex(t);let a={ALL:0,RGB:1,HSL:2}},5635(t,e,r){"use strict";r.d(e,{A:()=>a});var i=r(1553),o=r(6408);let a=(t,e,r)=>{let a=o.A.parse(t),n=a[e],s=i.A.channel.clamp[e](n+r);return n!==s&&(a[e]=s),o.A.stringify(a)}},8232(t,e,r){"use strict";r.d(e,{A:()=>a});var i=r(1553),o=r(6408);let a=(t,e)=>{let r=o.A.parse(t);for(let t in e)r[t]=i.A.channel.clamp[t](e[t]);return o.A.stringify(r)}},5263(t,e,r){"use strict";r.d(e,{A:()=>o});var i=r(5635);let o=(t,e)=>(0,i.A)(t,"l",-e)},4682(t,e,r){"use strict";r.d(e,{A:()=>a});var i=r(1553),o=r(6408);let a=t=>!((t=>{let{r:e,g:r,b:a}=o.A.parse(t),n=.2126*i.A.channel.toLinear(e)+.7152*i.A.channel.toLinear(r)+.0722*i.A.channel.toLinear(a);return i.A.lang.round(n)})(t)>=.5)},8041(t,e,r){"use strict";r.d(e,{A:()=>o});var i=r(5635);let o=(t,e)=>(0,i.A)(t,"l",e)},5582(t,e,r){"use strict";r.d(e,{A:()=>s});var i=r(1553),o=r(1665),a=r(6408),n=r(8232);let s=(t,e,r=0,s=1)=>{if("number"!=typeof t)return(0,n.A)(t,{a:e});let l=o.A.set({r:i.A.channel.clamp.r(t),g:i.A.channel.clamp.g(e),b:i.A.channel.clamp.b(r),a:i.A.channel.clamp.a(s)});return a.A.stringify(l)}},1553(t,e,r){"use strict";r.d(e,{A:()=>o});let i={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6)?t+(e-t)*6*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t,hsl2rgb:({h:t,s:e,l:r},o)=>{if(!e)return 2.55*r;t/=360,e/=100;let a=(r/=100)<.5?r*(1+e):r+e-r*e,n=2*r-a;switch(o){case"r":return 255*i.hue2rgb(n,a,t+1/3);case"g":return 255*i.hue2rgb(n,a,t);case"b":return 255*i.hue2rgb(n,a,t-1/3)}},rgb2hsl:({r:t,g:e,b:r},i)=>{let o=Math.max(t/=255,e/=255,r/=255),a=Math.min(t,e,r),n=(o+a)/2;if("l"===i)return 100*n;if(o===a)return 0;let s=o-a;if("s"===i)return 100*(n>.5?s/(2-o-a):s/(o+a));switch(o){case t:return((e-r)/s+6*(e<r))*60;case e:return((r-t)/s+2)*60;case r:return((t-e)/s+4)*60;default:return -1}}},o={channel:i,lang:{clamp:(t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(1e10*t)/1e10},unit:{dec2hex:t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}}},7827(t,e,r){"use strict";r.d(e,{IU:()=>d,Oi:()=>s,U7:()=>c,U_:()=>u,on:()=>h});var i=r(3002),o=r(6348),a=r(1293),n=r(6827),s=(0,n.K)(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:e+r}},"getSubGraphTitleMargins"),l=new Map;async function h(t,e,r){let a,n;"rect"===e.shape&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let s=e.shape?i.nq[e.shape]:void 0;if(!s)throw Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let i;"sandbox"===r.config.securityLevel?i="_top":e.linkTarget&&(i=e.linkTarget||"_blank"),a=t.insert("svg:a").attr("xlink:href",e.link).attr("target",i??null),n=await s(a,e,r)}else a=n=await s(t,e,r);return a.attr("data-look",(0,o.KL)(e.look)),e.tooltip&&n.attr("title",e.tooltip),l.set(e.id,a),e.haveCallback&&a.attr("class",a.attr("class")+" clickable"),a}(0,n.K)(h,"insertNode");var c=(0,n.K)((t,e)=>{l.set(e.id,t)},"setNodeElem"),d=(0,n.K)(()=>{l.clear()},"clear"),u=(0,n.K)(t=>{let e=l.get(t.id);a.R.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r},"positionNode")},4924(t,e,r){"use strict";r.d(e,{D:()=>n});var i=r(1177),o=r(6827),a=r(7829),n=(0,o.K)(t=>{let{securityLevel:e}=(0,i.D7)(),r=(0,a.Ltv)("body");if("sandbox"===e){let e=(0,a.Ltv)(`#i${t}`),i=e.node()?.contentDocument??document;r=(0,a.Ltv)(i.body)}return r.select(`#${t}`)},"selectSvgElement")},2217(t,e,r){"use strict";r.d(e,{WY:()=>S,dn:()=>B,pC:()=>w,Gc:()=>C});var i=r(1177),o=r(1293),a=r(6827);let n=(t,e)=>!!t&&!!((e&&""===t.prefix||t.prefix)&&t.name),s=Object.freeze({left:0,top:0,width:16,height:16}),l=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),h=Object.freeze({...s,...l}),c=Object.freeze({...h,body:"",hidden:!1});function d(t,e){let r,i,o=(r={},!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0),(i=((t.rotate||0)+(e.rotate||0))%4)&&(r.rotate=i),r);for(let r in c)r in l?r in t&&!(r in o)&&(o[r]=l[r]):r in e?o[r]=e[r]:r in t&&(o[r]=t[r]);return o}function u(t,e,r){let i=t.icons,o=t.aliases||Object.create(null),a={};function n(t){a=d(i[t]||o[t],a)}return n(e),r.forEach(n),d(t,a)}let p=Object.freeze({...Object.freeze({width:null,height:null}),...l}),g=/(-?[0-9.]*[0-9]+[0-9.]*)/g,f=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function y(t,e,r){if(1===e)return t;if(r=r||100,"number"==typeof t)return Math.ceil(t*e*r)/r;if("string"!=typeof t)return t;let i=t.split(g);if(null===i||!i.length)return t;let o=[],a=i.shift(),n=f.test(a);for(;;){if(n){let t=parseFloat(a);isNaN(t)?o.push(a):o.push(Math.ceil(t*e*r)/r)}else o.push(a);if(void 0===(a=i.shift()))return o.join("");n=!n}}let m=/\sid="(\S+)"/g,x=new Map;var C={body:'<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/><text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text></g>',height:80,width:80},b=new Map,k=new Map,w=(0,a.K)(t=>{for(let e of t){if(!e.name)throw Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(o.R.debug("Registering icon pack:",e.name),"loader"in e)k.set(e.name,e.loader);else if("icons"in e)b.set(e.name,e.icons);else throw o.R.error("Invalid icon loader:",e),Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),T=(0,a.K)(async(t,e)=>{let r=((t,e,r,i="")=>{let o=t.split(":");if("@"===t.slice(0,1)){if(o.length<2||o.length>3)return null;i=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){let t=o.pop(),r=o.pop(),a={provider:o.length>0?o[0]:i,prefix:r,name:t};return e&&!n(a)?null:a}let a=o[0],s=a.split("-");if(s.length>1){let t={provider:i,prefix:s.shift(),name:s.join("-")};return e&&!n(t)?null:t}if(r&&""===i){let t={provider:i,prefix:"",name:a};return e&&!n(t,r)?null:t}return null})(t,!0,void 0!==e);if(!r)throw Error(`Invalid icon name: ${t}`);let i=r.prefix||e;if(!i)throw Error(`Icon name must contain a prefix: ${t}`);let a=b.get(i);if(!a){let t=k.get(i);if(!t)throw Error(`Icon set not found: ${r.prefix}`);try{a={...await t(),prefix:i},b.set(i,a)}catch(t){throw o.R.error(t),Error(`Failed to load icon set: ${r.prefix}`)}}let s=function(t,e){var r;let i,o,a;if(t.icons[e])return u(t,e,[]);let n=(r=[e],i=t.icons,o=t.aliases||Object.create(null),a=Object.create(null),(r||Object.keys(i).concat(Object.keys(o))).forEach(function t(e){if(i[e])return a[e]=[];if(!(e in a)){a[e]=null;let r=o[e]&&o[e].parent,i=r&&t(r);i&&(a[e]=[r].concat(i))}return a[e]}),a)[e];return n?u(t,e,n):null}(a,r.name);if(!s)throw Error(`Icon not found: ${t}`);return s},"getRegisteredIconData"),B=(0,a.K)(async t=>{try{return await T(t),!0}catch{return!1}},"isIconAvailable"),S=(0,a.K)(async(t,e,r)=>{var a;let n,s,l,c,d,u,g,f,b,k,w,B,S,v;try{n=await T(t,e?.fallbackPrefix)}catch(t){o.R.error(t),n=C}let _=(a=n,c={...h,...a},d={...p,...e},u={left:c.left,top:c.top,width:c.width,height:c.height},g=c.body,[c,d].forEach(t=>{var e,r,i,o;let a,n,s=[],l=t.hFlip,h=t.vFlip,c=t.rotate;switch(l?h?c+=2:(s.push("translate("+(u.width+u.left).toString()+" "+(0-u.top).toString()+")"),s.push("scale(-1 1)"),u.top=u.left=0):h&&(s.push("translate("+(0-u.left).toString()+" "+(u.height+u.top).toString()+")"),s.push("scale(1 -1)"),u.top=u.left=0),c<0&&(c-=4*Math.floor(c/4)),c%=4){case 1:s.unshift("rotate(90 "+(a=u.height/2+u.top).toString()+" "+a.toString()+")");break;case 2:s.unshift("rotate(180 "+(u.width/2+u.left).toString()+" "+(u.height/2+u.top).toString()+")");break;case 3:s.unshift("rotate(-90 "+(a=u.width/2+u.left).toString()+" "+a.toString()+")")}c%2==1&&(u.left!==u.top&&(a=u.left,u.left=u.top,u.top=a),u.width!==u.height&&(a=u.width,u.width=u.height,u.height=a)),s.length&&(e=g,r='<g transform="'+s.join(" ")+'">',i=(n=function(t,e="defs"){let r="",i=t.indexOf("<"+e);for(;i>=0;){let o=t.indexOf(">",i),a=t.indexOf("</"+e);if(-1===o||-1===a)break;let n=t.indexOf(">",a);if(-1===n)break;r+=t.slice(o+1,a).trim(),t=t.slice(0,i).trim()+t.slice(n+1)}return{defs:r,content:t}}(e)).defs,o=r+n.content+"</g>",g=i?"<defs>"+i+"</defs>"+o:o)}),f=d.width,b=d.height,k=u.width,w=u.height,null===f?s=y(l=null===b?"1em":"auto"===b?w:b,k/w):(s="auto"===f?k:f,l=null===b?y(s,w/k):"auto"===b?w:b),B={},(S=(t,e)=>{"unset"!==e&&"undefined"!==e&&"none"!==e&&(B[t]=e.toString())})("width",s),S("height",l),B.viewBox=(v=[u.left,u.top,k,w]).join(" "),{attributes:B,viewBox:v,body:g}),F=function(t,e){let r=-1===t.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let t in e)r+=" "+t+'="'+e[t]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+r+">"+t+"</svg>"}(function(t){let e,r=[];for(;e=m.exec(t);)r.push(e[1]);if(!r.length)return t;let i="suffix"+(0x1000000*Math.random()|Date.now()).toString(16);return r.forEach(e=>{var r;let o,a=(r=(r=e).replace(/[0-9]+$/,"")||"a",o=x.get(r)||0,x.set(r,o+1),o?`${r}${o}`:r),n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(RegExp('([#;"])('+n+')([")]|\\.[a-z])',"g"),"$1"+a+i+"$3")}),t=t.replace(RegExp(i,"g"),"")}(_.body),{..._.attributes,...r});return(0,i.jZ)(F,(0,i.zj)())},"getIconSVG")},3002(t,e,r){"use strict";r.d(e,{DA:()=>O,FA:()=>E,I7:()=>$,Zk:()=>m,aP:()=>eY,lC:()=>C,nM:()=>S,nq:()=>eU});var i=r(739),o=r(6320),a=r(2217),n=r(2941),s=r(6348),l=r(1177),h=r(1293),c=r(6827),d=r(7829),u=r(2274);async function p(t){let e=t.getElementsByTagName("img");if(!e||0===e.length)return;let r=!g(t);await Promise.all([...e].map(t=>new Promise(e=>{function i(){if(t.style.display="flex",t.style.flexDirection="column",r){let e=(0,l.D7)().fontSize?(0,l.D7)().fontSize:window.getComputedStyle(document.body).fontSize,[r=l.UI.fontSize]=(0,s.I5)(e),i=5*r+"px";t.style.minWidth=i,t.style.maxWidth=i}else t.style.width="100%";e(t)}(0,c.K)(i,"setupImage"),setTimeout(()=>{t.complete&&i()}),t.addEventListener("error",i),t.addEventListener("load",i)})))}function g(t){return 3===t.nodeType?t.textContent?.trim()!=="":1===t.nodeType&&"img"!==t.tagName.toLowerCase()&&[...t.childNodes].some(g)}(0,c.K)(p,"configureLabelImages"),(0,c.K)(g,"hasTextBesidesImages");var f=(0,c.K)(async(t,e,r)=>{let i=(0,l.D7)(),a=t.insert("g").attr("class",r??"node default").attr("id",e.domId||e.id),n=a.insert("g").attr("class","label").attr("style",(0,s.KL)(e.labelStyle)),h=[{text:"string"==typeof e.label?e.label:e.label?.[0]??"",cssClass:"c4-name"},{text:e.stereotype,cssClass:"c4-type"},...(e.description??[]).map(t=>({text:t,cssClass:"c4-descr"}))].filter(t=>t.text),c=e.width?Math.max(e.width-2*(e.padding??0),32):(0,l.D7)().flowchart?.wrappingWidth??200,u=i.c4?.wrap??!0?c:1/0,p=await Promise.all(h.map(async t=>{let r=n.append("g").attr("class",t.cssClass),a=await (0,o.GZ)(r,(0,l.jZ)((0,s.Sm)(t.text??""),i),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:u,style:e.labelStyle},i);return(0,d.Ltv)(a).selectAll("tspan.text-outer-tspan").attr("text-anchor","middle"),(0,d.Ltv)(a).selectAll("tspan.text-inner-tspan").attr("font-weight",null).attr("font-style",null),{el:r,box:r.node().getBBox()}})),g=Math.max(...p.map(({box:t})=>t.width),0),f=0;for(let{el:t,box:e}of p)t.attr("transform",`translate(${g/2-e.x-e.width/2}, ${f-e.y})`),f+=e.height+3;let y=p.length>0?f-3:0;return n.insert("rect",":first-child"),n.attr("transform",`translate(${-g/2}, ${-y/2})`),{shapeSvg:a,bbox:n.node().getBBox(),halfPadding:(e.padding??0)/2,label:n}},"c4LabelHelper"),y=(0,c.K)((t,e)=>{let{x:r,y:i,width:o,height:a}=t;return o>=e?t:"left"in t?{x:r,y:i,width:e,height:a,top:i,left:r,bottom:i+a,right:r+e,toJSON:(0,c.K)(()=>({}),"toJSON")}:{x:r-(e-o)/2,y:i,width:e,height:a}},"withMinWidth"),m=(0,c.K)(async(t,e,r)=>{let i,a,n;if(void 0!==e.stereotype)return f(t,e,r);let h=e.useHtmlLabels||(0,l._3)((0,l.D7)()?.htmlLabels);i=r||"node default";let c=t.insert("g").attr("class",i).attr("id",e.domId||e.id),u=c.insert("g").attr("class","label").attr("style",(0,s.KL)(e.labelStyle));a=void 0===e.label?"":"string"==typeof e.label?e.label:e.label[0];let g=!!e.icon||!!e.img,m="markdown"===e.labelType,x=a&&!e.width?e.minWidth??0:0,C=await (0,o.GZ)(u,(0,l.jZ)((0,s.Sm)(a),(0,l.D7)()),{useHtmlLabels:h,width:e.width||e.wrappingWidth||(0,l.D7)().flowchart?.wrappingWidth,minWidth:x,classes:m?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:g,markdown:m},(0,l.D7)()),b=(e?.padding??0)/2;if(h){let t=C.children[0],e=(0,d.Ltv)(C);await p(t),n=y(n=await o.lT.measure(()=>t.getBoundingClientRect()),x),e.attr("width",n.width),e.attr("height",n.height)}else n=y(n=await o.lT.measure(()=>C.getBBox()),x);return h?u.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"):u.attr("transform","translate(0, "+-n.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:c,bbox:n,halfPadding:b,label:u}},"labelHelper"),x=(0,c.K)(async(t,e,r)=>{let i,a=r.useHtmlLabels??(0,l.E)((0,l.D7)()),n=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),h=await (0,o.GZ)(n,(0,l.jZ)((0,s.Sm)(e),(0,l.D7)()),{useHtmlLabels:a,width:r.width||(0,l.D7)()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),c=r.padding/2;if((0,l.E)((0,l.D7)())){let t=h.children[0],e=(0,d.Ltv)(h);i=await o.lT.measure(()=>t.getBoundingClientRect()),e.attr("width",i.width),e.attr("height",i.height)}else i=await o.lT.measure(()=>h.getBBox());return a?n.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"):n.attr("transform","translate(0, "+-i.height/2+")"),r.centerLabel&&n.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:t,bbox:i,halfPadding:c,label:n}},"insertLabel"),C=(0,c.K)((t,e,r)=>{if(r){t.width=r.width,t.height=r.height;return}let i=e.node().getBBox();t.width=i.width,t.height=i.height},"updateNodeBounds"),b=(0,c.K)((t,e)=>("handDrawn"===t.look?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function k(t){let e=t.map((t,e)=>`${0===e?"M":"L"}${t.x},${t.y}`);return e.push("Z"),e.join(" ")}function w(t,e,r,i,o,a){let n=[],s=r-t,l=2*Math.PI/(s/a),h=e+(i-e)/2;for(let e=0;e<=50;e++){let r=t+e/50*s,i=h+o*Math.sin(l*(r-t));n.push({x:r,y:i})}return n}function T(t,e,r,i,o,a){let n=[],s=o*Math.PI/180,l=(a*Math.PI/180-s)/(i-1);for(let o=0;o<i;o++){let i=s+o*l,a=t+r*Math.cos(i),h=e+r*Math.sin(i);n.push({x:-a,y:-h})}return n}function B(t){let e=Array.from(t.childNodes).filter(t=>"path"===t.tagName),r=document.createElementNS("http://www.w3.org/2000/svg","path"),i=e.map(t=>t.getAttribute("d")).filter(t=>null!==t).join(" ");r.setAttribute("d",i);let o=e.find(t=>"none"!==t.getAttribute("fill")),a=e.find(t=>"none"!==t.getAttribute("stroke")),n=(0,c.K)((t,e)=>t?.getAttribute(e)??void 0,"getAttr");o&&Object.entries({fill:n(o,"fill"),"fill-opacity":n(o,"fill-opacity")??"1"}).forEach(([t,e])=>{e&&r.setAttribute(t,e)}),a&&Object.entries({stroke:n(a,"stroke"),"stroke-width":n(a,"stroke-width")??"1","stroke-opacity":n(a,"stroke-opacity")??"1"}).forEach(([t,e])=>{e&&r.setAttribute(t,e)});let s=document.createElementNS("http://www.w3.org/2000/svg","g");return s.appendChild(r),s}(0,c.K)(k,"createPathFromPoints"),(0,c.K)(w,"generateFullSineWavePoints"),(0,c.K)(T,"generateCirclePoints"),(0,c.K)(B,"mergePaths");var S=(0,c.K)((t,e)=>{var r,i,o=t.x,a=t.y,n=e.x-o,s=e.y-a,l=t.width/2,h=t.height/2;return Math.abs(s)*l>Math.abs(n)*h?(s<0&&(h=-h),r=0===s?0:h*n/s,i=h):(n<0&&(l=-l),r=l,i=0===n?0:l*s/n),{x:o+r,y:a+i}},"intersectRect");function v(t,e){return t.intersect(e)}function _(t,e,r,i){var o=t.x,a=t.y,n=o-i.x,s=a-i.y,l=Math.sqrt(e*e*s*s+r*r*n*n),h=Math.abs(e*r*n/l);i.x<o&&(h=-h);var c=Math.abs(e*r*s/l);return i.y<a&&(c=-c),{x:o+h,y:a+c}}function F(t,e,r){return _(t,e,e,r)}function A(t,e,r,i){{let o=e.y-t.y,a=t.x-e.x,n=e.x*t.y-t.x*e.y,s=o*r.x+a*r.y+n,l=o*i.x+a*i.y+n;if(0!==s&&0!==l&&L(s,l))return;let h=i.y-r.y,c=r.x-i.x,d=i.x*r.y-r.x*i.y,u=h*t.x+c*t.y+d,p=h*e.x+c*e.y+d;if(1e-6>Math.abs(u)&&1e-6>Math.abs(p)&&L(u,p))return;let g=o*c-h*a;if(0===g)return;return{x:(a*d-c*n)/g,y:(h*n-o*d)/g}}}function L(t,e){return t*e>0}function M(t,e,r){let i=t.x,o=t.y,a=[],n=1/0,s=1/0;"function"==typeof e.forEach?e.forEach(function(t){n=Math.min(n,t.x),s=Math.min(s,t.y)}):(n=Math.min(n,e.x),s=Math.min(s,e.y));let l=i-t.width/2-n,h=o-t.height/2-s;for(let i=0;i<e.length;i++){let o=e[i],n=e[i<e.length-1?i+1:0],s=A(t,r,{x:l+o.x,y:h+o.y},{x:l+n.x,y:h+n.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(t,e){let i=t.x-r.x,o=t.y-r.y,a=Math.sqrt(i*i+o*o),n=e.x-r.x,s=e.y-r.y,l=Math.sqrt(n*n+s*s);return a<l?-1:+(a!==l)}),a[0]):t}(0,c.K)(v,"intersectNode"),(0,c.K)(_,"intersectEllipse"),(0,c.K)(F,"intersectCircle"),(0,c.K)(A,"intersectLine"),(0,c.K)(L,"sameSign"),(0,c.K)(M,"intersectPolygon");var $={node:v,circle:F,ellipse:_,polygon:M,rect:S},E=(0,c.K)((t,e,r,i,o)=>["M",t+o,e,"H",t+r-o,"A",o,o,"0 0 1",t+r,e+o,"V",e+i-o,"A",o,o,"0 0 1",t+r-o,e+i,"H",t+o,"A",o,o,"0 0 1",t,e+i-o,"V",e+o,"A",o,o,"0 0 1",t+o,e,"Z"].join(" "),"createRoundedRectPathD"),O=(0,c.K)(async(t,e,r,i=!1,a=!1)=>{let n=e||"";"object"==typeof n&&(n=n[0]);let s=(0,l.D7)(),h=(0,l.E)(s);return await (0,o.GZ)(t,n,{style:r,isTitle:i,useHtmlLabels:h,markdown:!1,isNode:a,width:1/0},s)},"createLabel");function D(t,e){let{labelStyles:r}=(0,i.GX)(e);e.labelStyle=r;let o=b(e),a=o;o||(a="anchor");let n=t.insert("g").attr("class",a).attr("id",e.domId||e.id),{cssStyles:l}=e,c=u.A.svg(n),d=(0,i.Fr)(e,{fill:"black",stroke:"none",fillStyle:"solid"});"handDrawn"!==e.look&&(d.roughness=0);let p=c.circle(0,0,2,d),g=n.insert(()=>p,":first-child");return g.attr("class","anchor").attr("style",(0,s.KL)(l)),C(e,g),e.intersect=function(t){return h.R.info("Circle intersect",e,1,t),$.circle(e,1,t)},n}function K(t,e,r,i,o,a,n){let s=Math.atan2(i-e,r-t),l=Math.sqrt(((r-t)/2/o)**2+((i-e)/2/a)**2);if(l>1)throw Error("The given radii are too small to create an arc between the points.");let h=Math.sqrt(1-l**2),c=(t+r)/2+h*a*Math.sin(s)*(n?-1:1),d=(e+i)/2-h*o*Math.cos(s)*(n?-1:1),u=Math.atan2((e-d)/a,(t-c)/o),p=Math.atan2((i-d)/a,(r-c)/o)-u;n&&p<0&&(p+=2*Math.PI),!n&&p>0&&(p-=2*Math.PI);let g=[];for(let t=0;t<20;t++){let e=u+t/19*p,r=c+o*Math.cos(e),i=d+a*Math.sin(e);g.push({x:r,y:i})}return g}function I(t,e,r){let[i,o]=[e,r].sort((t,e)=>e-t);return o*(1-Math.sqrt(1-(t/i/2)**2))}async function q(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a,l=(0,c.K)(t=>t+s,"calcTotalHeight"),h=(0,c.K)(t=>{let e=t/2;return[e/(2.5+t/50),e]},"calcEllipseRadius"),{shapeSvg:d,bbox:p}=await m(t,e,b(e)),g=l(e?.height?e?.height:p.height),[f,y]=h(g),x=I(g,f,y),w=(e?.width?e?.width:p.width)+2*n+x-x,{cssStyles:T}=e,B=[{x:w/2,y:-g/2},{x:-w/2,y:-g/2},...K(-w/2,-g/2,-w/2,g/2,f,y,!1),{x:w/2,y:g/2},...K(w/2,g/2,w/2,-g/2,f,y,!0)],S=u.A.svg(d),v=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");let _=k(B),F=S.path(_,v),A=d.insert(()=>F,":first-child");return A.attr("class","basic label-container outer-path"),T&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",T),o&&"handDrawn"!==e.look&&A.selectAll("path").attr("style",o),A.attr("transform",`translate(${f/2}, 0)`),C(e,A),e.intersect=function(t){return $.polygon(e,B,t)},d}async function R(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:s,label:l}=await m(t,e,b(e)),h=r?.nodeBorder??r?.lineColor??"currentColor",d=e.padding??12,p=Math.max(s.width+2*d,e.width??0,80),g=Math.max(Math.min(.08*p,12),5),f=Math.max(s.height+2*d+g,e.height??0),y=-f/2+g,x=f/2,k=.72*p,w=`M${-p/2},${y} L${-k/2},${x} A${k/2},${g} 0 0 0 ${k/2},${x} L${p/2},${y} A${p/2},${g} 0 0 0 ${-p/2},${y} Z`,{cssStyles:T}=e,B=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=u.A.svg(n).path(w,(0,i.Fr)(e,{}));B.node()?.appendChild(t),T&&B.attr("style",T)}else B.append("path").attr("d",w).attr("style",a);B.append("ellipse").attr("cx",0).attr("cy",y).attr("rx",p/2).attr("ry",g).attr("style",`fill:none;stroke:${h};stroke-width:1px`),C(e,B);let S=y+(x-y)/2;l.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${S-s.height/2-(s.y-(s.top??0))})`);let v=(0,c.K)((t,e,r)=>Array.from({length:13},(i,o)=>{let a=Math.PI-o*Math.PI/12;return{x:t*Math.cos(a),y:e+r*g*Math.sin(a)}}),"arc"),_=[...v(p/2,y,-1),...v(k/2,x,1).reverse()];return e.intersect=function(t){return $.polygon(e,_,t)},n}function P(t){let{themeVariables:e}=(0,l.D7)(),r=e.clusterBkg,i=e.clusterBorder;return"flow"===t?{rx:10,fill:"none",stroke:e.flowContainerStroke||e.secondaryBorderColor,strokeWidth:.75,cssClass:"flow-collapsed"}:{rx:8,fill:r,stroke:i,cssClass:"collapsed-group"}}async function z(t,e){let r,o=P(e.metadata?.containerType),{fill:a,stroke:h}=o,{nodeStyles:c}=(0,i.GX)(e),{shapeSvg:d,bbox:p}=await m(t,e,b(e)),{theme:g,themeVariables:f}=(0,l.D7)();(0,n.XE)(d,e.colorIndex,g,f.borderColorArray);let y=e.padding??8,x=p.height,k=Math.max(p.width+2*y,80,e?.width??0),w=Math.max(x+8+20+2*y,e?.height??0),T=-k/2,B=-w/2,S=d.select(".label");if(S&&(e.useHtmlLabels??(0,l.E)((0,l.D7)())?S.attr("transform",`translate(${-p.width/2}, ${-p.height/2+-14})`):S.attr("transform",`translate(0, ${-p.height/2+-14})`)),"handDrawn"===e.look){let t=u.A.svg(d),n=(0,i.Fr)(e,{fill:a,stroke:h,...void 0===o.strokeWidth?{}:{strokeWidth:o.strokeWidth},..."none"===a?{fillWeight:0}:{fillStyle:"solid"}}),l=t.path(E(T,B,k,w,o.rx),n);(r=d.insert(()=>l,":first-child")).attr("class","basic label-container "+o.cssClass).attr("style",(0,s.KL)(e.cssStyles))}else(r=d.insert("rect",":first-child")).attr("class","basic label-container "+o.cssClass).attr("style",c).attr("rx",o.rx).attr("ry",o.rx).attr("x",T).attr("y",B).attr("width",k).attr("height",w).attr("fill",a).attr("stroke",h),void 0!==o.strokeWidth&&r.attr("stroke-width",o.strokeWidth+"px");let v=B+y+x+8;d.append("line").attr("class","collapsed-separator").attr("x1",T+8).attr("y1",v).attr("x2",T+k-8).attr("y2",v).attr("stroke",h).attr("stroke-dasharray","3, 3");let _=v+10;for(let t=-1;t<=1;t++)d.append("circle").attr("class","collapsed-indicator").attr("cx",10*t).attr("cy",_).attr("r",2.5).attr("fill",h);return C(e,r),e.calcIntersect=function(t,e){return $.rect(t,e)},e.intersect=function(t){return $.rect(e,t)},d}function W(t,e,r,i){return t.insert("polygon",":first-child").attr("points",i.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}(0,c.K)(D,"anchor"),(0,c.K)(K,"generateArcPoints"),(0,c.K)(I,"calculateArcSagitta"),(0,c.K)(q,"bowTieRect"),(0,c.K)(R,"bucket"),(0,c.K)(P,"getCollapsedStyle"),(0,c.K)(z,"collapsedGroup"),(0,c.K)(W,"insertPolygonShape");var N=["right","left","up","down"],j="point",H=(0,c.K)(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r)}return e},"expandAndDeduplicateDirections"),U=(0,c.K)(t=>N.filter(e=>t.has(e)).join("|")||j,"getDirectionKey"),Y={"right|left|up|down":(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:0,y:0},{x:e,y:0},{x:i/2,y:2*r},{x:i-e,y:0},{x:i,y:0},{x:i,y:-t/3},{x:i+2*r,y:-t/2},{x:i,y:-2*t/3},{x:i,y:-t},{x:i-e,y:-t},{x:i/2,y:-t-2*r},{x:e,y:-t},{x:0,y:-t},{x:0,y:-2*t/3},{x:-2*r,y:-t/2},{x:0,y:-t/3}],"right|left|up|down"),"right|left|up":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:e,y:0},{x:r-e,y:0},{x:r,y:-t/2},{x:r-e,y:-t},{x:e,y:-t},{x:0,y:-t/2}],"right|left|up"),"right|left|down":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:0,y:0},{x:e,y:-t},{x:r-e,y:-t},{x:r,y:0}],"right|left|down"),"right|up|down":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:0,y:0},{x:r,y:-e},{x:r,y:-t+e},{x:0,y:-t}],"right|up|down"),"left|up|down":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:r,y:0},{x:0,y:-e},{x:0,y:-t+e},{x:r,y:-t}],"left|up|down"),"right|left":(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:e,y:0},{x:e,y:-r},{x:i-e,y:-r},{x:i-e,y:0},{x:i,y:-t/2},{x:i-e,y:-t},{x:i-e,y:-t+r},{x:e,y:-t+r},{x:e,y:-t},{x:0,y:-t/2}],"right|left"),"up|down":(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:i/2,y:0},{x:0,y:-r},{x:e,y:-r},{x:e,y:-t+r},{x:0,y:-t+r},{x:i/2,y:-t},{x:i,y:-t+r},{x:i-e,y:-t+r},{x:i-e,y:-r},{x:i,y:-r}],"up|down"),"right|up":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:0,y:0},{x:r,y:-e},{x:0,y:-t}],"right|up"),"right|down":(0,c.K)(({height:t,width:e})=>[{x:0,y:0},{x:e,y:0},{x:0,y:-t}],"right|down"),"left|up":(0,c.K)(({height:t,midpoint:e,width:r})=>[{x:r,y:0},{x:0,y:-e},{x:r,y:-t}],"left|up"),"left|down":(0,c.K)(({height:t,width:e})=>[{x:e,y:0},{x:0,y:0},{x:e,y:-t}],"left|down"),right:(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:e,y:-r},{x:e,y:-r},{x:i-e,y:-r},{x:i-e,y:0},{x:i,y:-t/2},{x:i-e,y:-t},{x:i-e,y:-t+r},{x:e,y:-t+r},{x:e,y:-t+r}],"right"),left:(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:e,y:0},{x:e,y:-r},{x:i-e,y:-r},{x:i-e,y:-t+r},{x:e,y:-t+r},{x:e,y:-t},{x:0,y:-t/2}],"left"),up:(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:e,y:-r},{x:e,y:-t+r},{x:0,y:-t+r},{x:i/2,y:-t},{x:i,y:-t+r},{x:i-e,y:-t+r},{x:i-e,y:-r}],"up"),down:(0,c.K)(({height:t,midpoint:e,padding:r,width:i})=>[{x:i/2,y:0},{x:0,y:-r},{x:e,y:-r},{x:e,y:-t+r},{x:i-e,y:-t+r},{x:i-e,y:-r},{x:i,y:-r}],"down"),[j]:()=>[{x:0,y:0}]},G=(0,c.K)((t,e,r,i)=>{let o=H(t),a=(r.padding??0)/2,n=e.height+4*a,s=n/2,l=i??e.width+2*s+2*a;return(Y[U(o)]??Y[j])({height:n,midpoint:s,padding:a,width:l})},"getArrowPoints");async function X(t,e){let{shapeSvg:r,bbox:i}=await m(t,e,b(e)),o=e.padding??0,a=i.height+2*o,n=a/2,s=i.width+2*n+o,l=e.width??0,h=e.positioned&&(e.widthInColumns??1)>1&&l>s?l:s,c=G(e.directions??[],i,e,h),d=W(r,h,a,c);return d.attr("style",e.style??null),C(e,d),e.intersect=function(t){return $.polygon(e,c,t)},r}async function Z(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:s,label:l}=await m(t,e,b(e)),h=r?.nodeBorder??r?.lineColor??"currentColor",c=e.padding??12,d=Math.max(s.width+2*c,e.width??0,90),p=Math.max(s.height+2*c+18,e.height??0),g=-p/2,{cssStyles:f}=e,y=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=u.A.svg(n).path(E(-d/2,g,d,p,12),(0,i.Fr)(e,{}));y.node()?.appendChild(t),f&&y.attr("style",f)}else y.append("rect").attr("x",-d/2).attr("y",g).attr("width",d).attr("height",p).attr("rx",12).attr("ry",12).attr("style",a);y.append("line").attr("x1",-d/2).attr("y1",g+18).attr("x2",d/2).attr("y2",g+18).attr("style",`stroke:${h};stroke-width:1px`);for(let t=0;t<3;t++)y.append("circle").attr("cx",-d/2+12+9*t).attr("cy",g+9).attr("r",2.5).attr("style",`fill:${h};stroke:none`);y.append("rect").attr("class","browser-address-bar").attr("x",-d/2+44).attr("y",g+4).attr("width",Math.max(d-56,10)).attr("height",10).attr("rx",3).attr("ry",3).attr("style",`fill:none;stroke:${h};stroke-width:1px;opacity:0.6`),C(e,y);let x=g+18+(p-18)/2;return l.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return $.rect(e,t)},n}async function V(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,s="neo"===e.look?28:n,l="neo"===e.look?24:n,{shapeSvg:h,bbox:c}=await m(t,e,b(e)),d=(e?.width??c.width)+("neo"===e.look?2*s:s+12),p=(e?.height??c.height)+("neo"===e.look?2*l:l),g=-p,f=[{x:12,y:g},{x:d,y:g},{x:d,y:0},{x:0,y:0},{x:0,y:g+12},{x:12,y:g}],{cssStyles:y}=e;if("handDrawn"===e.look){let t=u.A.svg(h),o=(0,i.Fr)(e,{}),a=k(f),n=t.path(a,o);r=h.insert(()=>n,":first-child").attr("transform",`translate(${-d/2}, ${p/2})`),y&&r.attr("style",y)}else r=W(h,d,p,f);return a&&r.attr("style",a),C(e,r),e.intersect=function(t){return $.polygon(e,f,t)},h}function Q(t,e){let{nodeStyles:r}=(0,i.GX)(e);e.label="";let o=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,n=Math.max(28,e.width??0),s=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}],l=u.A.svg(o),h=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(h.roughness=0,h.fillStyle="solid");let c=k(s),d=l.path(c,h),p=o.insert(()=>d,":first-child");return a&&"handDrawn"!==e.look&&p.selectAll("path").attr("style",a),r&&"handDrawn"!==e.look&&p.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(t){return $.polygon(e,s,t)},o}async function J(t,e,r){let o,{labelStyles:a,nodeStyles:n}=(0,i.GX)(e);e.labelStyle=a;let{shapeSvg:l,bbox:c,halfPadding:d}=await m(t,e,b(e)),p=r?.padding??d,g=Math.sqrt(c.width**2+c.height**2)/2,f="neo"===e.look?g+32:g+p,{cssStyles:y}=e;if("handDrawn"===e.look){let t=u.A.svg(l),r=(0,i.Fr)(e,{}),a=t.circle(0,0,2*f,r);(o=l.insert(()=>a,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(y))}else o=l.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",f).attr("cx",0).attr("cy",0);return C(e,o),e.calcIntersect=function(t,e){let r=t.width/2;return $.circle(t,r,e)},e.intersect=function(t){return h.R.info("Circle intersect",e,f,t),$.circle(e,f,t)},l}async function tt(t,e){let r=["node",e.cssClasses,e.class].filter(Boolean).join(" "),{shapeSvg:i,bbox:o,halfPadding:a}=await m(t,e,r),n=i.insert("rect",":first-child"),s=e.padding??0,l=e.positioned?e.width??0:o.width+s,h=e.positioned?e.height??0:o.height+s,c=e.positioned?-l/2:-o.width/2-a,d=e.positioned?-h/2:-o.height/2-a;return n.attr("class","basic cluster composite label-container").attr("style",e.style??null).attr("rx",e.rx??null).attr("ry",e.ry??null).attr("x",c).attr("y",d).attr("width",l).attr("height",h),C(e,n),e.intersect=function(t){return $.rect(e,t)},i}async function te(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:s,label:l}=await m(t,e,b(e)),h=r?.nodeBorder??r?.lineColor??"currentColor",c=e.padding??12,d=Math.max(s.width+2*c,e.width??0,90),p=Math.max(s.height+2*c+20,e.height??0),g=-p/2,{cssStyles:f}=e,y=n.insert("g",":first-child").attr("class","basic label-container");if("handDrawn"===e.look){let t=u.A.svg(n).path(E(-d/2,g,d,p,12),(0,i.Fr)(e,{}));y.node()?.appendChild(t),f&&y.attr("style",f)}else y.append("rect").attr("x",-d/2).attr("y",g).attr("width",d).attr("height",p).attr("rx",12).attr("ry",12).attr("style",a);y.append("text").attr("x",-d/2+12).attr("y",g+16).attr("class","console-glyph").attr("style",`font-family:monospace;font-weight:bold;font-size:14px;fill:${h}`).text(">_"),C(e,y);let x=g+20+(p-20)/2;return l.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return $.rect(e,t)},n}function tr(t){let e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),i=2*t,o={x:i/2*e,y:i/2*r},a={x:-(i/2)*e,y:i/2*r},n={x:-(i/2)*e,y:-(i/2)*r},s={x:i/2*e,y:-(i/2)*r};return`M ${a.x},${a.y} L ${s.x},${s.y} + M ${o.x},${o.y} L ${n.x},${n.y}`}function ti(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r,e.label="";let a=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),n=Math.max(30,e?.width??0),{cssStyles:s}=e,l=u.A.svg(a),c=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(c.roughness=0,c.fillStyle="solid");let d=l.circle(0,0,2*n,c),p=tr(n),g=l.path(p,c),f=a.insert(()=>d,":first-child");return f.insert(()=>g),f.attr("class","outer-path"),s&&"handDrawn"!==e.look&&f.selectAll("path").attr("style",s),o&&"handDrawn"!==e.look&&f.selectAll("path").attr("style",o),C(e,f),e.intersect=function(t){return h.R.info("crossedCircle intersect",e,{radius:n,point:t}),$.circle(e,n,t)},a}function to(t,e,r,i=100,o=0,a=180){let n=[],s=o*Math.PI/180,l=(a*Math.PI/180-s)/(i-1);for(let o=0;o<i;o++){let i=s+o*l,a=t+r*Math.cos(i),h=e+r*Math.sin(i);n.push({x:-a,y:-h})}return n}async function ta(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l="neo"===e.look?18:e.padding??0,h="neo"===e.look?12:e.padding??0,c=n.width+l,d=n.height+h,p=Math.max(5,.1*d),{cssStyles:g}=e,f=[...to(c/2,-d/2,p,30,-90,0),{x:-c/2-p,y:p},...to(c/2+2*p,-p,p,20,-180,-270),...to(c/2+2*p,p,p,20,-90,-180),{x:-c/2-p,y:-d/2},...to(c/2,d/2,p,20,0,90)],y=[{x:c/2,y:-d/2-p},{x:-c/2,y:-d/2-p},...to(c/2,-d/2,p,20,-90,0),{x:-c/2-p,y:-p},...to(c/2+.1*c,-p,p,20,-180,-270),...to(c/2+.1*c,p,p,20,-90,-180),{x:-c/2-p,y:d/2},...to(c/2,d/2,p,20,0,90),{x:-c/2,y:d/2+p},{x:c/2,y:d/2+p}],x=u.A.svg(a),w=(0,i.Fr)(e,{fill:"none"});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=k(f).replace("Z",""),B=x.path(T,w),S=k(y),v=x.path(S,{...w}),_=a.insert("g",":first-child");return _.insert(()=>v,":first-child").attr("stroke-opacity",0),_.insert(()=>B,":first-child"),_.attr("class","text"),g&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",g),o&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",o),_.attr("transform",`translate(${p}, 0)`),s.attr("transform",`translate(${-c/2+p-(n.x-(n.left??0))},${-d/2+(e.padding??0)/2-(n.y-(n.top??0))})`),C(e,_),e.intersect=function(t){return $.polygon(e,y,t)},a}function tn(t,e,r,i=100,o=0,a=180){let n=[],s=o*Math.PI/180,l=(a*Math.PI/180-s)/(i-1);for(let o=0;o<i;o++){let i=s+o*l,a=t+r*Math.cos(i),h=e+r*Math.sin(i);n.push({x:a,y:h})}return n}async function ts(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l="neo"===e.look?18:e.padding??0,h="neo"===e.look?12:e.padding??0,c=n.width+("neo"===e.look?2*l:l),d=n.height+("neo"===e.look?2*h:h),p=Math.max(5,.1*d),{cssStyles:g}=e,f=[...tn(c/2,-d/2,p,20,-90,0),{x:c/2+p,y:-p},...tn(c/2+2*p,-p,p,20,-180,-270),...tn(c/2+2*p,p,p,20,-90,-180),{x:c/2+p,y:d/2},...tn(c/2,d/2,p,20,0,90)],y=[{x:-c/2,y:-d/2-p},{x:c/2,y:-d/2-p},...tn(c/2,-d/2,p,20,-90,0),{x:c/2+p,y:-p},...tn(c/2+2*p,-p,p,20,-180,-270),...tn(c/2+2*p,p,p,20,-90,-180),{x:c/2+p,y:d/2},...tn(c/2,d/2,p,20,0,90),{x:c/2,y:d/2+p},{x:-c/2,y:d/2+p}],x=u.A.svg(a),w=(0,i.Fr)(e,{fill:"none"});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=k(f).replace("Z",""),B=x.path(T,w),S=k(y),v=x.path(S,{...w}),_=a.insert("g",":first-child");return _.insert(()=>v,":first-child").attr("stroke-opacity",0),_.insert(()=>B,":first-child"),_.attr("class","text"),g&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",g),o&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",o),_.attr("transform",`translate(${-p}, 0)`),s.attr("transform",`translate(${-c/2+(e.padding??0)/2-(n.x-(n.left??0))},${-d/2+(e.padding??0)/2-(n.y-(n.top??0))})`),C(e,_),e.intersect=function(t){return $.polygon(e,y,t)},a}function tl(t,e,r,i=100,o=0,a=180){let n=[],s=o*Math.PI/180,l=(a*Math.PI/180-s)/(i-1);for(let o=0;o<i;o++){let i=s+o*l,a=t+r*Math.cos(i),h=e+r*Math.sin(i);n.push({x:-a,y:-h})}return n}async function th(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l="neo"===e.look?18:e.padding??0,h="neo"===e.look?12:e.padding??0,c=n.width+("neo"===e.look?2*l:l),d=n.height+("neo"===e.look?2*h:h),p=Math.max(5,.1*d),{cssStyles:g}=e,f=[...tl(c/2,-d/2,p,30,-90,0),{x:-c/2-p,y:p},...tl(c/2+2*p,-p,p,20,-180,-270),...tl(c/2+2*p,p,p,20,-90,-180),{x:-c/2-p,y:-d/2},...tl(c/2,d/2,p,20,0,90)],y=[...tl(-c/2+p+p/2,-d/2,p,20,-90,-180),{x:c/2-p/2,y:p},...tl(-c/2-p/2,-p,p,20,0,90),...tl(-c/2-p/2,p,p,20,-90,0),{x:c/2-p/2,y:-p},...tl(-c/2+p+p/2,d/2,p,30,-180,-270)],x=[{x:c/2,y:-d/2-p},{x:-c/2,y:-d/2-p},...tl(c/2,-d/2,p,20,-90,0),{x:-c/2-p,y:-p},...tl(c/2+2*p,-p,p,20,-180,-270),...tl(c/2+2*p,p,p,20,-90,-180),{x:-c/2-p,y:d/2},...tl(c/2,d/2,p,20,0,90),{x:-c/2,y:d/2+p},{x:c/2-p-p/2,y:d/2+p},...tl(-c/2+p+p/2,-d/2,p,20,-90,-180),{x:c/2-p/2,y:p},...tl(-c/2-p/2,-p,p,20,0,90),...tl(-c/2-p/2,p,p,20,-90,0),{x:c/2-p/2,y:-p},...tl(-c/2+p+p/2,d/2,p,30,-180,-270)],w=u.A.svg(a),T=(0,i.Fr)(e,{fill:"none"});"handDrawn"!==e.look&&(T.roughness=0,T.fillStyle="solid");let B=k(f).replace("Z",""),S=w.path(B,T),v=k(y).replace("Z",""),_=w.path(v,T),F=k(x),A=w.path(F,{...T}),L=a.insert("g",":first-child");return L.insert(()=>A,":first-child").attr("stroke-opacity",0),L.insert(()=>S,":first-child"),L.insert(()=>_,":first-child"),L.attr("class","text"),g&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",g),o&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",o),L.attr("transform",`translate(${p-p/4}, 0)`),s.attr("transform",`translate(${-c/2+(e.padding??0)/2-(n.x-(n.left??0))},${-d/2+(e.padding??0)/2-(n.y-(n.top??0))})`),C(e,L),e.intersect=function(t){return $.polygon(e,x,t)},a}async function tc(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a,{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=Math.max(5,h.height+2*s,e?.height??0),d=c/2,p=Math.max(c/4,d-Math.sqrt(Math.max(0,d**2-(h.height/2)**2))),g=Math.max(20,h.width+2*n+2*p,(h.width+2*n)*1.25,e?.width??0),{cssStyles:f}=e,y=u.A.svg(l),x=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let w=g-d,B=c/4,S=[{x:w,y:0},{x:B,y:0},{x:0,y:c/2},{x:B,y:c},{x:w,y:c},...T(-w,-c/2,d,50,270,90)],v=k(S),_=y.path(v,x),F=l.insert(()=>_,":first-child");return F.attr("class","basic label-container outer-path"),f&&"handDrawn"!==e.look&&F.selectChildren("path").attr("style",f),o&&"handDrawn"!==e.look&&F.selectChildren("path").attr("style",o),F.attr("transform",`translate(${-g/2}, ${-c/2})`),C(e,F),e.intersect=function(t){return $.polygon(e,S,t)},l}async function td(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l=e.padding??20,h=Math.max(n.width+2*l,e.width??0,100),c=Math.min(Math.max(.23*h,16),56),d=.27*c,p=Math.max(n.height+2*l,e.height?e.height-(2*c-d):0),g=Math.min(.177*h,.45*p),f=p+2*c-d,y=-f/2,x=y+2*c-d,k=a.insert("g",":first-child").attr("class","basic label-container"),{cssStyles:w}=e;if("handDrawn"===e.look){let t=u.A.svg(a),r=(0,i.Fr)(e,{}),o=t.path(E(-h/2,x,h,p,g),r),n=t.circle(0,y+c,2*c,r);k.insert(()=>n,":first-child"),k.insert(()=>o,":first-child"),w&&k.attr("style",w)}else k.append("rect").attr("x",-h/2).attr("y",x).attr("width",h).attr("height",p).attr("rx",g).attr("ry",g).attr("style",o),k.append("circle").attr("cx",0).attr("cy",y+c).attr("r",c).attr("style",o);C(e,k);let B=x+p/2;s.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${B-n.height/2-(n.y-(n.top??0))})`);let S=y+c,v=180*Math.asin(Math.min(1,(x-S)/c))/Math.PI,_=[...T(0,-S,c,24,180+v,-v),...T(-(-h/2+g),-(x+g),g,12,90,0),...T(-(-h/2+g),-(f/2-g),g,12,360,270),...T(-(h/2-g),-(f/2-g),g,12,270,180),...T(-(h/2-g),-(x+g),g,12,180,90)];return e.intersect=function(t){return $.polygon(e,_,t)},a}(0,c.K)(X,"block_arrow"),(0,c.K)(Z,"browser"),(0,c.K)(V,"card"),(0,c.K)(Q,"choice"),(0,c.K)(J,"circle"),(0,c.K)(tt,"composite"),(0,c.K)(te,"consoleWindow"),(0,c.K)(tr,"createLine"),(0,c.K)(ti,"crossedCircle"),(0,c.K)(to,"generateCirclePoints"),(0,c.K)(ta,"curlyBraceLeft"),(0,c.K)(tn,"generateCirclePoints"),(0,c.K)(ts,"curlyBraceRight"),(0,c.K)(tl,"generateCirclePoints"),(0,c.K)(th,"curlyBraces"),(0,c.K)(tc,"curvedTrapezoid"),(0,c.K)(td,"person");var tu=(0,c.K)((t,e,r,i,o,a)=>`M${t},${e+a} a${o},${a} 0,0,0 ${r},0 a${o},${a} 0,0,0 ${-r},0 l0,${i} a${o},${a} 0,0,0 ${r},0 l0,${-i}`,"createCylinderPathD"),tp=(0,c.K)((t,e,r,i,o,a)=>`M${t},${e+a} M${t+r},${e+a} a${o},${a} 0,0,0 ${-r},0 l0,${i} a${o},${a} 0,0,0 ${r},0 l0,${-i}`,"createOuterCylinderPathD"),tg=(0,c.K)((t,e,r,i,o,a)=>`M${t-r/2},${-i/2} a${o},${a} 0,0,0 ${r},0`,"createInnerCylinderPathD");async function tf(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,l="neo"===e.look?24:n,h="neo"===e.look?24:n,c=e.width??0;e.width&&(e.width=e.width-h,e.width<8&&(e.width=8)),e.height&&(e.height=e.height-l-c/2/(2.5+c/50)*3,e.height<8&&(e.height=8));let{shapeSvg:d,bbox:p,label:g}=await m(t,e,b(e)),f=Math.max(e.width??0,p.width)+h,y=f/2,x=y/(2.5+f/50),k=Math.max(e.height??0,p.height)+l+x,{cssStyles:w}=e;if("handDrawn"===e.look){let t=u.A.svg(d),o=tp(0,0,f,k,y,x),a=tg(0,x,f,k,y,x),n=(0,i.Fr)(e,{}),s=t.path(o,n),l=t.path(a,(0,i.Fr)(e,{fill:"none"}));r=d.insert(()=>l,":first-child"),(r=d.insert(()=>s,":first-child")).attr("class","basic label-container"),w&&r.attr("style",w)}else{let t=tu(0,0,f,k,y,x);r=d.insert("path",":first-child").attr("d",t).attr("class","basic label-container outer-path").attr("style",(0,s.KL)(w)).attr("style",a)}return r.attr("label-offset-y",x),r.attr("transform",`translate(${-f/2}, ${-(k/2+x)})`),C(e,r),g.attr("transform",`translate(${-(p.width/2)-(p.x-(p.left??0))}, ${-(p.height/2)+(e.padding??0)/1.5-(p.y-(p.top??0))})`),e.intersect=function(t){let r=$.rect(e,t),i=r.x-(e.x??0);if(0!=y&&(Math.abs(i)<(e.width??0)/2||Math.abs(i)==(e.width??0)/2&&Math.abs(r.y-(e.y??0))>(e.height??0)/2-x)){let o=x*x*(1-i*i/(y*y));o>0&&(o=Math.sqrt(o)),o=x-o,t.y-(e.y??0)>0&&(o=-o),r.y+=o}return r},d}async function ty(t,e,r){let o,{labelStyles:a,nodeStyles:n}=(0,i.GX)(e);e.labelStyle=a;let{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=Math.max(h.width+2*r.labelPaddingX,e?.width||0),d=Math.max(h.height+2*r.labelPaddingY,e?.height||0),p=-c/2,g=-d/2,{rx:f,ry:y}=e,{cssStyles:x}=e;if(r?.rx&&r.ry&&(f=r.rx,y=r.ry),"handDrawn"===e.look){let t=u.A.svg(l),r=(0,i.Fr)(e,{}),a=f||y?t.path(E(p,g,c,d,f||0),r):t.rectangle(p,g,c,d,r);(o=l.insert(()=>a,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(x))}else(o=l.insert("rect",":first-child")).attr("class","basic label-container").attr("style",n).attr("rx",(0,s.KL)(f)).attr("ry",(0,s.KL)(y)).attr("x",p).attr("y",g).attr("width",c).attr("height",d);return C(e,o,"handDrawn"===e.look?void 0:{width:c,height:d}),e.calcIntersect=function(t,e){return $.rect(t,e)},e.intersect=function(t){return $.rect(e,t)},l}async function tm(t,e){let{cssClasses:r,labelPaddingX:o,labelPaddingY:a,padding:n,width:s,height:l}=e,h=await ty(t,e,{rx:0,ry:0,classes:r??"",labelPaddingX:o??(n??0)*2,labelPaddingY:a??n??0});if("handDrawn"===e.look){let t=u.A.svg(h),r=(0,i.Fr)(e,{}),o=h.select(".basic.label-container > path:nth-child(2)"),a=o.node();if(!a)return h;let n=null;return a instanceof SVGGraphicsElement&&(n=a.getBBox(),h.insert(()=>t.line(n.x,n.y,n.x+n.width,n.y,r),".basic.label-container g.label"),h.insert(()=>t.line(n.x,n.y+n.height,n.x+n.width,n.y+n.height,r),".basic.label-container g.label"),o.remove()),h}let c=h.select(".basic.label-container"),d=(Number(c.attr("width"))||s)??0,p=(Number(c.attr("height"))||l)??0;return d>0&&p>0&&c.attr("stroke-dasharray",`${d} ${p}`),h}async function tx(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a="neo"===e.look?16:e.padding??0,n="neo"===e.look?16:e.padding??0,{shapeSvg:s,bbox:l,label:h}=await m(t,e,b(e)),c=l.width+a,d=l.height+n,p=.2*d,g=-c/2,f=-d/2-p/2,{cssStyles:y}=e,x=u.A.svg(s),k=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");let w=x.polygon([{x:g,y:f+p},{x:-g,y:f+p},{x:-g,y:-f},{x:g,y:-f},{x:g,y:f},{x:-g,y:f},{x:-g,y:f+p}].map(t=>[t.x,t.y]),k),T=s.insert(()=>w,":first-child");return T.attr("class","basic label-container outer-path"),y&&"handDrawn"!==e.look&&T.selectAll("path").attr("style",y),o&&"handDrawn"!==e.look&&T.selectAll("path").attr("style",o),h.attr("transform",`translate(${g+(e.padding??0)/2-(l.x-(l.left??0))}, ${f+p+(e.padding??0)/2-(l.y-(l.top??0))})`),C(e,T),e.intersect=function(t){return $.rect(e,t)},s}async function tC(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e),n="neo"===e.look?12:5;e.labelStyle=o;let l=e.padding??0,c="neo"===e.look?16:l,{shapeSvg:d,bbox:p}=await m(t,e,b(e)),g=Math.sqrt(p.width**2+p.height**2)/2,f=(e?.width?e?.width/2:g)+(c??0),y=f+n,{cssStyles:x}=e;if("handDrawn"===e.look){let t=u.A.svg(d),o=(0,i.Fr)(e,{roughness:.2,strokeWidth:2.5}),a=(0,i.Fr)(e,{roughness:.2,strokeWidth:1.5}),n=t.circle(0,0,2*y,o),l=t.circle(0,0,2*f,a);(r=d.insert("g",":first-child")).attr("class",(0,s.KL)(e.cssClasses)).attr("style",(0,s.KL)(x)),r.node()?.appendChild(n),r.node()?.appendChild(l)}else{let t=(r=d.insert("g",":first-child")).insert("circle",":first-child"),e=r.insert("circle");r.attr("class","basic label-container").attr("style",a),t.attr("class","outer-circle").attr("style",a).attr("r",y).attr("cx",0).attr("cy",0),e.attr("class","inner-circle").attr("style",a).attr("r",f).attr("cx",0).attr("cy",0)}return C(e,r),e.intersect=function(t){return h.R.info("DoubleCircle intersect",e,y,t),$.circle(e,y,t)},d}async function tb(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:s,bbox:h,halfPadding:c}=await m(t,e,b(e)),{theme:d,themeVariables:p}=(0,l.D7)();(0,n.XE)(s,e.colorIndex,d,p.borderColorArray);let g=c??10,f=h.width/2+2*g,y=h.height/2+2*g,{cssStyles:x}=e;if("handDrawn"===e.look){let t=u.A.svg(s),o=(0,i.Fr)(e,{}),a=t.ellipse(0,0,2*f,2*y,o);(r=s.insert(()=>a,":first-child")).attr("class","basic label-container"),x&&r.attr("style",x)}else r=s.insert("ellipse",":first-child").attr("class","basic label-container").attr("style",a).attr("rx",f).attr("ry",y).attr("cx",0).attr("cy",0);return e.width=2*f,e.height=2*y,C(e,r),e.calcIntersect=function(t,e){let r=t.width/2,i=t.height/2;return $.ellipse(t,r,i,e)},e.intersect=function(t){return $.ellipse(e,f,y,t)},s}function tk(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.label="",e.labelStyle=o;let n=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:s}=e,l=u.A.svg(n),{nodeBorder:c}=r,d=(0,i.Fr)(e,{fillStyle:"solid"});"handDrawn"!==e.look&&(d.roughness=0);let p=l.circle(0,0,14,d),g=n.insert(()=>p,":first-child");return g.selectAll("path").attr("style",`fill: ${c} !important;`),s&&s.length>0&&"handDrawn"!==e.look&&g.selectAll("path").attr("style",s),a&&"handDrawn"!==e.look&&g.selectAll("path").attr("style",a),C(e,g),e.intersect=function(t){return h.R.info("filledCircle intersect",e,{radius:7,point:t}),$.circle(e,7,t)},n}async function tw(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?2*a:a;(e.width||e.height)&&(e.height=e?.height??0,e.height<10&&(e.height=10),e.width=(e?.width??0)-n-n/2,e.width<10&&(e.width=10));let{shapeSvg:s,bbox:l,label:c}=await m(t,e,b(e)),d=(e?.width?e?.width:l.width)+(n??0),p=e?.height?e?.height:d+l.height,g=[{x:0,y:-p},{x:p,y:-p},{x:p/2,y:0}],{cssStyles:f}=e,y=u.A.svg(s),x=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let w=k(g),T=y.path(w,x),B=s.insert(()=>T,":first-child").attr("transform",`translate(${-p/2}, ${p/2})`).attr("class","outer-path");return f&&"handDrawn"!==e.look&&B.selectChildren("path").attr("style",f),o&&"handDrawn"!==e.look&&B.selectChildren("path").attr("style",o),e.width=d,e.height=p,C(e,B),c.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${-p/2+(e.padding??0)/2+(l.y-(l.top??0))})`),e.intersect=function(t){return h.R.info("Triangle intersect",e,g,t),$.polygon(e,g,t)},s}async function tT(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:s,label:l}=await m(t,e,b(e)),h=e.padding??12,c=Math.max(s.width+2*h,e.width??0,90),d=s.height+2*h,p=Math.max(Math.min(.16*d,14),8),g=Math.max(d+p,e.height??0),f=g-p,y=Math.max(.38*c,28),x=-g/2,k=[{x:-c/2,y:x},{x:-c/2+y,y:x},{x:-c/2+y,y:x+p},{x:c/2,y:x+p},{x:c/2,y:g/2},{x:-c/2,y:g/2}],w=[`M${k[0].x},${k[0].y}`,...k.slice(1).map(t=>`L${t.x},${t.y}`),"Z"].join(" "),{cssStyles:T}=e;if("handDrawn"===e.look){let t=u.A.svg(n).path(w,(0,i.Fr)(e,{}));r=n.insert(()=>t,":first-child").attr("class","basic label-container"),T&&r.attr("style",T)}else r=n.insert("path",":first-child").attr("d",w).attr("class","basic label-container").attr("style",a);return"handDrawn"===e.look?C(e,r):C(e,r,{width:c,height:g}),l.attr("transform",`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${x+p+f/2-s.height/2-(s.y-(s.top??0))})`),e.intersect=function(t){return $.polygon(e,k,t)},n}function tB(t,e,{dir:r,config:{state:o,themeVariables:a}}){let{nodeStyles:n}=(0,i.GX)(e);e.label="";let s=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:l}=e,h=Math.max(70,e?.width??0),c=Math.max(10,e?.height??0);("LR"===r||"RL"===r)&&(h=Math.max(10,e?.width??0),c=Math.max(70,e?.height??0));let d=-1*h/2,p=-1*c/2,g=u.A.svg(s),f=(0,i.Fr)(e,{stroke:a.lineColor,fill:a.lineColor});"handDrawn"!==e.look&&(f.roughness=0,f.fillStyle="solid");let y=g.rectangle(d,p,h,c,f),m=s.insert(()=>y,":first-child");l&&"handDrawn"!==e.look&&m.selectAll("path").attr("style",l),n&&"handDrawn"!==e.look&&m.selectAll("path").attr("style",n),C(e,m);let x=o?.padding??0;return e.width&&e.height&&(e.width+=x/2||0,e.height+=x/2||0),e.intersect=function(t){return $.rect(e,t)},s}async function tS(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a="neo"===e.look?16:e.padding??0,n="neo"===e.look?12:e.padding??0;(e.width||e.height)&&(e.height=(e?.height??0)-2*n,e.height<10&&(e.height=10),e.width=(e?.width??0)-2*a,e.width<15&&(e.width=15));let{shapeSvg:s,bbox:l}=await m(t,e,b(e)),c=(e?.height?e?.height:Math.max(10,l.height))+2*n,d=c/2,p=d-Math.sqrt(Math.max(0,d**2-(l.height/2)**2)),g=(e?.width?e?.width:Math.max(15,l.width)+2*p)+2*a,{cssStyles:f}=e,y=u.A.svg(s),x=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let w=[{x:-g/2,y:-c/2},{x:g/2-d,y:-c/2},...T(-g/2+d,0,d,50,90,270),{x:g/2-d,y:c/2},{x:-g/2,y:c/2}],B=k(w),S=y.path(B,x),v=s.insert(()=>S,":first-child");return v.attr("class","basic label-container outer-path"),f&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",f),o&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",o),C(e,v),e.intersect=function(t){return h.R.info("Pill intersect",e,{radius:d,point:t}),$.polygon(e,w,t)},s}(0,c.K)(tf,"cylinder"),(0,c.K)(ty,"drawRect"),(0,c.K)(tm,"datastore"),(0,c.K)(tx,"dividedRectangle"),(0,c.K)(tC,"doublecircle"),(0,c.K)(tb,"usecaseEllipse"),(0,c.K)(tk,"filledCircle"),(0,c.K)(tw,"flippedTriangle"),(0,c.K)(tT,"folder"),(0,c.K)(tB,"forkJoin"),(0,c.K)(tS,"halfRoundedRectangle");var tv=(0,c.K)((t,e,r,i,o)=>`M${t+o},${e} L${t+r-o},${e} L${t+r},${e-i/2} L${t+r-o},${e-i} L${t+o},${e-i} L${t},${e-i/2} Z`,"createHexagonPathD");async function t_(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e),n="neo"===e.look?3.5:4;e.labelStyle=o;let s=e.padding??0,l="neo"===e.look?70:s,h="neo"===e.look?32:s;if(e.width||e.height){let t=e.height??0;e.width=(e?.width??0)-t/n*2-h,e.height=(e.height??0)-l}let{shapeSvg:c,bbox:d}=await m(t,e,b(e)),p=(e?.height?e?.height:d.height)+l,g=p/n,f=(e?.width?e?.width:d.width)+2*g+h,y=[{x:g,y:0},{x:f-g,y:0},{x:f,y:-p/2},{x:f-g,y:-p},{x:g,y:-p},{x:0,y:-p/2}],{cssStyles:x}=e;if("handDrawn"===e.look){let t=u.A.svg(c),o=(0,i.Fr)(e,{}),a=tv(0,0,f,p,g),n=t.path(a,o);r=c.insert(()=>n,":first-child").attr("transform",`translate(${-f/2}, ${p/2})`),x&&r.attr("style",x)}else r=W(c,f,p,y);return a&&r.attr("style",a),e.width=f,e.height=p,C(e,r),e.intersect=function(t){return $.polygon(e,y,t)},c}async function tF(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.label="",e.labelStyle=r;let{shapeSvg:a}=await m(t,e,b(e)),n=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,c=u.A.svg(a),d=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(d.roughness=0,d.fillStyle="solid");let p=[{x:0,y:0},{x:n,y:0},{x:0,y:s},{x:n,y:s}],g=k(p),f=c.path(g,d),y=a.insert(()=>f,":first-child");return y.attr("class","basic label-container outer-path"),l&&"handDrawn"!==e.look&&y.selectChildren("path").attr("style",l),o&&"handDrawn"!==e.look&&y.selectChildren("path").attr("style",o),y.attr("transform",`translate(${-n/2}, ${-s/2})`),C(e,y),e.intersect=function(t){return h.R.info("Pill intersect",e,{points:p}),$.polygon(e,p,t)},a}async function tA(t,e,{config:{themeVariables:r,flowchart:o}}){let{labelStyles:n}=(0,i.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,o?.wrappingWidth??0);let{shapeSvg:l,bbox:c,label:d}=await m(t,e,"icon-shape default"),p="t"===e.pos,{nodeBorder:g}=r,{stylesMap:f}=(0,i.WW)(e),y=-s/2,x=-s/2,b=8*!!e.label,k=u.A.svg(l),w=(0,i.Fr)(e,{stroke:"none",fill:"none"});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=k.rectangle(y,x,s,s,w),B=Math.max(s,c.width),S=s+c.height+b,v=k.rectangle(-B/2,-S/2,B,S,{...w,fill:"transparent",stroke:"none"}),_=l.insert(()=>T,":first-child"),F=l.insert(()=>v);if(e.icon){let t=l.append("g");t.html(`<g>${await (0,a.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let r=t.node().getBBox(),i=r.width,o=r.height,n=r.x,h=r.y;t.attr("transform",`translate(${-i/2-n},${p?c.height/2+b/2-o/2-h:-c.height/2-b/2-o/2-h})`),t.attr("style",`color: ${f.get("stroke")??g};`)}return d.attr("transform",`translate(${-c.width/2-(c.x-(c.left??0))},${p?-S/2:S/2-c.height})`),_.attr("transform",`translate(0,${p?c.height/2+b/2:-c.height/2-b/2})`),C(e,F),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return $.rect(e,t);let r=e.x??0,i=e.y??0,o=e.height??0,a=[];return a=p?[{x:r-c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2+c.height+b},{x:r+s/2,y:i-o/2+c.height+b},{x:r+s/2,y:i+o/2},{x:r-s/2,y:i+o/2},{x:r-s/2,y:i-o/2+c.height+b},{x:r-c.width/2,y:i-o/2+c.height+b}]:[{x:r-s/2,y:i-o/2},{x:r+s/2,y:i-o/2},{x:r+s/2,y:i-o/2+s},{x:r+c.width/2,y:i-o/2+s},{x:r+c.width/2/2,y:i+o/2},{x:r-c.width/2,y:i+o/2},{x:r-c.width/2,y:i-o/2+s},{x:r-s/2,y:i-o/2+s}],$.polygon(e,a,t)},l}async function tL(t,e,{config:{themeVariables:r,flowchart:o}}){let{labelStyles:n}=(0,i.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,o?.wrappingWidth??0);let{shapeSvg:l,bbox:c,label:d}=await m(t,e,"icon-shape default"),p=8*!!e.label,g="t"===e.pos,{nodeBorder:f,mainBkg:y}=r,{stylesMap:x}=(0,i.WW)(e),b=u.A.svg(l),k=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid"),k.stroke=x.get("fill")??y;let w=l.append("g");e.icon&&w.html(`<g>${await (0,a.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let T=w.node().getBBox(),B=T.width,S=T.height,v=T.x,_=T.y,F=Math.max(B,S)*Math.SQRT2+40,A=b.circle(0,0,F,k),L=Math.max(F,c.width),M=F+c.height+p,E=b.rectangle(-L/2,-M/2,L,M,{...k,fill:"transparent",stroke:"none"}),O=l.insert(()=>A,":first-child"),D=l.insert(()=>E);return w.attr("transform",`translate(${-B/2-v},${g?c.height/2+p/2-S/2-_:-c.height/2-p/2-S/2-_})`),w.attr("style",`color: ${x.get("stroke")??f};`),d.attr("transform",`translate(${-c.width/2-(c.x-(c.left??0))},${g?-M/2:M/2-c.height})`),O.attr("transform",`translate(0,${g?c.height/2+p/2:-c.height/2-p/2})`),C(e,D),e.intersect=function(t){return h.R.info("iconSquare intersect",e,t),$.rect(e,t)},l}async function tM(t,e,{config:{themeVariables:r,flowchart:o}}){let{labelStyles:n}=(0,i.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,o?.wrappingWidth??0);let{shapeSvg:l,bbox:c,halfPadding:d,label:p}=await m(t,e,"icon-shape default"),g="t"===e.pos,f=s+2*d,y=s+2*d,{nodeBorder:x,mainBkg:b}=r,{stylesMap:k}=(0,i.WW)(e),w=8*!!e.label,T=u.A.svg(l),B=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(B.roughness=0,B.fillStyle="solid"),B.stroke=k.get("fill")??b;let S=T.path(E(-y/2,-f/2,y,f,5),B),v=Math.max(y,c.width),_=f+c.height+w,F=T.rectangle(-v/2,-_/2,v,_,{...B,fill:"transparent",stroke:"none"}),A=l.insert(()=>S,":first-child").attr("class","icon-shape2"),L=l.insert(()=>F);if(e.icon){let t=l.append("g");t.html(`<g>${await (0,a.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let r=t.node().getBBox(),i=r.width,o=r.height,n=r.x,h=r.y;t.attr("transform",`translate(${-i/2-n},${g?c.height/2+w/2-o/2-h:-c.height/2-w/2-o/2-h})`),t.attr("style",`color: ${k.get("stroke")??x};`)}return p.attr("transform",`translate(${-c.width/2-(c.x-(c.left??0))},${g?-_/2:_/2-c.height})`),A.attr("transform",`translate(0,${g?c.height/2+w/2:-c.height/2-w/2})`),C(e,L),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return $.rect(e,t);let r=e.x??0,i=e.y??0,o=e.height??0,a=[];return a=g?[{x:r-c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2+c.height+w},{x:r+y/2,y:i-o/2+c.height+w},{x:r+y/2,y:i+o/2},{x:r-y/2,y:i+o/2},{x:r-y/2,y:i-o/2+c.height+w},{x:r-c.width/2,y:i-o/2+c.height+w}]:[{x:r-y/2,y:i-o/2},{x:r+y/2,y:i-o/2},{x:r+y/2,y:i-o/2+f},{x:r+c.width/2,y:i-o/2+f},{x:r+c.width/2/2,y:i+o/2},{x:r-c.width/2,y:i+o/2},{x:r-c.width/2,y:i-o/2+f},{x:r-y/2,y:i-o/2+f}],$.polygon(e,a,t)},l}async function t$(t,e,{config:{themeVariables:r,flowchart:o}}){let{labelStyles:n}=(0,i.GX)(e);e.labelStyle=n;let s=Math.max(e.assetHeight??48,e.assetWidth??48);e.width=Math.max(s,o?.wrappingWidth??0);let{shapeSvg:l,bbox:c,halfPadding:d,label:p}=await m(t,e,"icon-shape default"),g="t"===e.pos,f=s+2*d,y=s+2*d,{nodeBorder:x,mainBkg:b}=r,{stylesMap:k}=(0,i.WW)(e),w=8*!!e.label,T=u.A.svg(l),B=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(B.roughness=0,B.fillStyle="solid"),B.stroke=k.get("fill")??b;let S=T.path(E(-y/2,-f/2,y,f,.1),B),v=Math.max(y,c.width),_=f+c.height+w,F=T.rectangle(-v/2,-_/2,v,_,{...B,fill:"transparent",stroke:"none"}),A=l.insert(()=>S,":first-child"),L=l.insert(()=>F);if(e.icon){let t=l.append("g");t.html(`<g>${await (0,a.WY)(e.icon,{height:s,width:s,fallbackPrefix:""})}</g>`);let r=t.node().getBBox(),i=r.width,o=r.height,n=r.x,h=r.y;t.attr("transform",`translate(${-i/2-n},${g?c.height/2+w/2-o/2-h:-c.height/2-w/2-o/2-h})`),t.attr("style",`color: ${k.get("stroke")??x};`)}return p.attr("transform",`translate(${-c.width/2-(c.x-(c.left??0))},${g?-_/2:_/2-c.height})`),A.attr("transform",`translate(0,${g?c.height/2+w/2:-c.height/2-w/2})`),C(e,L),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return $.rect(e,t);let r=e.x??0,i=e.y??0,o=e.height??0,a=[];return a=g?[{x:r-c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2},{x:r+c.width/2,y:i-o/2+c.height+w},{x:r+y/2,y:i-o/2+c.height+w},{x:r+y/2,y:i+o/2},{x:r-y/2,y:i+o/2},{x:r-y/2,y:i-o/2+c.height+w},{x:r-c.width/2,y:i-o/2+c.height+w}]:[{x:r-y/2,y:i-o/2},{x:r+y/2,y:i-o/2},{x:r+y/2,y:i-o/2+f},{x:r+c.width/2,y:i-o/2+f},{x:r+c.width/2/2,y:i+o/2},{x:r-c.width/2,y:i+o/2},{x:r-c.width/2,y:i-o/2+f},{x:r-y/2,y:i-o/2+f}],$.polygon(e,a,t)},l}async function tE(t,e,{config:{flowchart:r}}){let o=new Image;o.src=e?.img??"",await o.decode();let a=Number(o.naturalWidth.toString().replace("px","")),n=Number(o.naturalHeight.toString().replace("px",""));e.imageAspectRatio=a/n;let{labelStyles:s}=(0,i.GX)(e);e.labelStyle=s;let l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;let c=Math.max(e.label?l??0:0,e?.assetWidth??a),d="on"===e.constraint&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:c,p="on"===e.constraint?d/e.imageAspectRatio:e?.assetHeight??n;e.width=Math.max(d,l??0);let{shapeSvg:g,bbox:f,label:y}=await m(t,e,"image-shape default"),x="t"===e.pos,b=-d/2,k=8*!!e.label,w=u.A.svg(g),T=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(T.roughness=0,T.fillStyle="solid");let B=w.rectangle(b,-p/2,d,p,T),S=Math.max(d,f.width),v=p+f.height+k,_=w.rectangle(-S/2,-v/2,S,v,{...T,fill:"none",stroke:"none"}),F=g.insert(()=>B,":first-child"),A=g.insert(()=>_);if(e.img){let t=g.append("image");t.attr("href",e.img),t.attr("width",d),t.attr("height",p),t.attr("preserveAspectRatio","none"),t.attr("transform",`translate(${-d/2},${x?v/2-p:-v/2})`)}return y.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${x?-p/2-f.height/2-k/2:p/2-f.height/2+k/2})`),F.attr("transform",`translate(0,${x?f.height/2+k/2:-f.height/2-k/2})`),C(e,A),e.intersect=function(t){if(h.R.info("iconSquare intersect",e,t),!e.label)return $.rect(e,t);let r=e.x??0,i=e.y??0,o=e.height??0,a=[];return a=x?[{x:r-f.width/2,y:i-o/2},{x:r+f.width/2,y:i-o/2},{x:r+f.width/2,y:i-o/2+f.height+k},{x:r+d/2,y:i-o/2+f.height+k},{x:r+d/2,y:i+o/2},{x:r-d/2,y:i+o/2},{x:r-d/2,y:i-o/2+f.height+k},{x:r-f.width/2,y:i-o/2+f.height+k}]:[{x:r-d/2,y:i-o/2},{x:r+d/2,y:i-o/2},{x:r+d/2,y:i-o/2+p},{x:r+f.width/2,y:i-o/2+p},{x:r+f.width/2/2,y:i+o/2},{x:r-f.width/2,y:i+o/2},{x:r-f.width/2,y:i-o/2+p},{x:r-d/2,y:i-o/2+p}],$.polygon(e,a,t)},g}async function tO(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,s="neo"===e.look?2*n:n,{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=Math.max(h.height+2*n,e.height??0),d=Math.max(h.width+2*s,(e.width??0)-c),p=[{x:0,y:0},{x:d,y:0},{x:d+3*c/6,y:-c},{x:-3*c/6,y:-c}],{cssStyles:g}=e;if("handDrawn"===e.look){let t=u.A.svg(l),o=(0,i.Fr)(e,{}),a=k(p),n=t.path(a,o);r=l.insert(()=>n,":first-child").attr("transform",`translate(${-d/2}, ${c/2})`),g&&r.attr("style",g)}else r=W(l,d,c,p);return a&&r.attr("style",a),e.width=d,e.height=c,C(e,r),e.intersect=function(t){return $.polygon(e,p,t)},l}async function tD(t,e){let{shapeSvg:r,bbox:i,label:o}=await m(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),o.attr("transform",`translate(${-(i.width/2)-(i.x-(i.left??0))}, ${-(i.height/2)-(i.y-(i.top??0))})`),C(e,a),e.intersect=function(t){return $.rect(e,t)},r}async function tK(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,s="neo"===e.look?2*n:n,{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=Math.max(h.height+n,e.height??0),d=Math.max(h.width+s,(e.width??0)-c),p=[{x:0,y:0},{x:d+3*c/6,y:0},{x:d,y:-c},{x:-(3*c)/6,y:-c}],{cssStyles:g}=e;if("handDrawn"===e.look){let t=u.A.svg(l),o=(0,i.Fr)(e,{}),a=k(p),n=t.path(a,o);r=l.insert(()=>n,":first-child").attr("transform",`translate(${-d/2}, ${c/2})`),g&&r.attr("style",g)}else r=W(l,d,c,p);return a&&r.attr("style",a),e.width=d,e.height=c,C(e,r),e.intersect=function(t){return $.polygon(e,p,t)},l}async function tI(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,s="neo"===e.look?2*n:n,{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=Math.max(h.height+n,e.height??0),d=Math.max(h.width+s,(e.width??0)-c),p=[{x:-3*c/6,y:0},{x:d,y:0},{x:d+3*c/6,y:-c},{x:0,y:-c}],{cssStyles:g}=e;if("handDrawn"===e.look){let t=u.A.svg(l),o=(0,i.Fr)(e,{}),a=k(p),n=t.path(a,o);r=l.insert(()=>n,":first-child").attr("transform",`translate(${-d/2}, ${c/2})`),g&&r.attr("style",g)}else r=W(l,d,c,p);return a&&r.attr("style",a),e.width=d,e.height=c,C(e,r),e.intersect=function(t){return $.polygon(e,p,t)},l}function tq(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.label="",e.labelStyle=r;let a=t.insert("g").attr("class",b(e)).attr("id",e.domId??e.id),{cssStyles:n}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),c=[{x:s,y:0},{x:0,y:l+3.5},{x:s-14,y:l+3.5},{x:0,y:2*l},{x:s,y:l-3.5},{x:14,y:l-3.5}],d=u.A.svg(a),p=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(p.roughness=0,p.fillStyle="solid");let g=k(c),f=d.path(g,p),y=a.insert(()=>f,":first-child");return y.attr("class","outer-path"),n&&"handDrawn"!==e.look&&y.selectAll("path").attr("style",n),o&&"handDrawn"!==e.look&&y.selectAll("path").attr("style",o),y.attr("transform",`translate(-${s/2},${-l})`),C(e,y),e.intersect=function(t){return h.R.info("lightningBolt intersect",e,t),$.polygon(e,c,t)},a}(0,c.K)(t_,"hexagon"),(0,c.K)(tF,"hourglass"),(0,c.K)(tA,"icon"),(0,c.K)(tL,"iconCircle"),(0,c.K)(tM,"iconRounded"),(0,c.K)(t$,"iconSquare"),(0,c.K)(tE,"imageSquare"),(0,c.K)(tO,"inv_trapezoid"),(0,c.K)(tD,"labelRect"),(0,c.K)(tK,"lean_left"),(0,c.K)(tI,"lean_right"),(0,c.K)(tq,"lightningBolt");var tR=(0,c.K)((t,e,r,i,o,a,n)=>`M${t},${e+a} a${o},${a} 0,0,0 ${r},0 a${o},${a} 0,0,0 ${-r},0 l0,${i} a${o},${a} 0,0,0 ${r},0 l0,${-i} M${t},${e+a+n} a${o},${a} 0,0,0 ${r},0`,"createCylinderPathD"),tP=(0,c.K)((t,e,r,i,o,a,n)=>`M${t},${e+a} M${t+r},${e+a} a${o},${a} 0,0,0 ${-r},0 l0,${i} a${o},${a} 0,0,0 ${r},0 l0,${-i} M${t},${e+a+n} a${o},${a} 0,0,0 ${r},0`,"createOuterCylinderPathD"),tz=(0,c.K)((t,e,r,i,o,a)=>`M${t-r/2},${-i/2} a${o},${a} 0,0,0 ${r},0`,"createInnerCylinderPathD");async function tW(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,l="neo"===e.look?16:n,h="neo"===e.look?24:n;if(e.width||e.height){let t=e.width??0;e.width=(e.width??0)-l,e.width<10&&(e.width=10),e.height=(e.height??0)-h-t/2/(2.5+t/50)*3,e.height<10&&(e.height=10)}let{shapeSvg:c,bbox:d,label:p}=await m(t,e,b(e)),g=(e?.width?e?.width:d.width)+2*l,f=g/2,y=f/(2.5+g/50),x=(e?.height?e?.height:d.height)+y+2*h,k=.1*x,{cssStyles:w}=e;if("handDrawn"===e.look){let t=u.A.svg(c),o=tP(0,0,g,x,f,y,k),a=tz(0,y,g,x,f,y),n=(0,i.Fr)(e,{}),s=t.path(o,n),l=t.path(a,n);c.insert(()=>l,":first-child").attr("class","line"),(r=c.insert(()=>s,":first-child")).attr("class","basic label-container"),w&&r.attr("style",w)}else{let t=tR(0,0,g,x,f,y,k);r=c.insert("path",":first-child").attr("d",t).attr("class","basic label-container outer-path").attr("style",(0,s.KL)(w)).attr("style",a)}return r.attr("label-offset-y",y),r.attr("transform",`translate(${-g/2}, ${-(x/2+y)})`),C(e,r),p.attr("transform",`translate(${-(d.width/2)-(d.x-(d.left??0))}, ${-(d.height/2)+y-(d.y-(d.top??0))})`),e.intersect=function(t){let r=$.rect(e,t),i=r.x-(e.x??0);if(0!=f&&(Math.abs(i)<(e.width??0)/2||Math.abs(i)==(e.width??0)/2&&Math.abs(r.y-(e.y??0))>(e.height??0)/2-y)){let o=y*y*(1-i*i/(f*f));o>0&&(o=Math.sqrt(o)),o=y-o,t.y-(e.y??0)>0&&(o=-o),r.y+=o}return r},c}async function tN(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a;if(e.width||e.height){let t=e.width;e.width=(t??0)*10/11-2*n,e.width<10&&(e.width=10),e.height=(e?.height??0)-2*s,e.height<10&&(e.height=10)}let{shapeSvg:l,bbox:h,label:c}=await m(t,e,b(e)),d=(e?.width?e?.width:h.width)+(n??0)*2,p=(e?.height?e?.height:h.height)+(s??0)*2,g="neo"===e.look?p/4:p/8,f=p+g,{cssStyles:y}=e,x=u.A.svg(l),k=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(k.roughness=0,k.fillStyle="solid");let T=[{x:-d/2-d/2*.1,y:-f/2},{x:-d/2-d/2*.1,y:f/2},...w(-d/2-d/2*.1,f/2,d/2+d/2*.1,f/2,g,.8),{x:d/2+d/2*.1,y:-f/2},{x:-d/2-d/2*.1,y:-f/2},{x:-d/2,y:-f/2},{x:-d/2,y:f/2*1.1},{x:-d/2,y:-f/2}],B=x.polygon(T.map(t=>[t.x,t.y]),k),S=l.insert(()=>B,":first-child");return S.attr("class","basic label-container outer-path"),y&&"handDrawn"!==e.look&&S.selectAll("path").attr("style",y),o&&"handDrawn"!==e.look&&S.selectAll("path").attr("style",o),S.attr("transform",`translate(0,${-g/2})`),c.attr("transform",`translate(${-d/2+(e.padding??0)+d/2*.1/2-(h.x-(h.left??0))},${-p/2+(e.padding??0)-g-(h.y-(h.top??0))})`),C(e,S),e.intersect=function(t){return $.polygon(e,T,t)},l}(0,c.K)(tW,"linedCylinder"),(0,c.K)(tN,"linedWaveEdgedRect");var tj={normal:"usecase-actor-shape usecase-actor-normal",hollow:"usecase-actor-hollow",awesome:"usecase-actor-awesome",icon:"usecase-actor-icon"},tH=Math.PI/3,tU=(0,c.K)((t,e)=>{let r=.6*e,i=e*Math.sqrt(.64),o=Math.cos(tH),a=-Math.sin(tH),n=-(r*a),s=t+r*o,l=i*o,h=i*a;return`M ${n-l} ${s-h} L ${n+l} ${s+h}`},"businessMarkerPathForCircle"),tY={normal:tU(-24,12),hollow:tU(-23,9),awesome:tU(-21,13),icon:"M 12 -8 L 26 -26"},tG=(0,c.K)((t,e,r)=>{let i=(e.x??0)-(e.left??0),o=(e.y??0)-(e.top??0);t.attr("transform",`translate(${-e.width/2-i},${r-e.height/2-o})`)},"positionLabel"),tX=(0,c.K)((t,e,r,o,a=!1)=>{if("handDrawn"===e.look){let n=u.A.svg(t).path(r,(0,i.Fr)(e,a?{fill:"none"}:{}));return t.insert(()=>n,":first-child").attr("class",o)}let n=t.append("path").attr("class",o).attr("d",r);return a&&n.attr("fill","none"),n},"appendActorPath"),tZ=(0,c.K)((t,e,r,o,a,n,s=!1)=>{if("handDrawn"===e.look){let l=u.A.svg(t).circle(r,o,2*a,(0,i.Fr)(e,s?{fill:"none"}:{}));return t.insert(()=>l,":first-child").attr("class",n)}let l=t.append("circle").attr("class",n).attr("cx",r).attr("cy",o).attr("r",a);return s&&l.attr("fill","none"),l},"appendActorCircle"),tV=(0,c.K)((t,e,r)=>{e.business&&t.append("path").attr("class","usecase-business-marker usecase-actor-business-marker").attr("d",tY[r]).attr("fill","none").attr("style","stroke: inherit !important; stroke-width: inherit !important")},"appendBusinessActorMarker");async function tQ(t,e,r,o){let a,s,{labelStyles:h,nodeStyles:c}=(0,i.GX)(e);e.labelStyle=h;let d="icon"===r||void 0!==e.stereotype?{...e,icon:"icon"===r?void 0:e.icon,stereotype:void 0}:e,{shapeSvg:u,bbox:p,label:g}=await m(t,d,b(e,`usecase-actor-variant usecase-actor-${r}`)),f=e.accessibleName??e.label;f&&u.attr("role","img").attr("aria-label",f),g.attr("class","label actor-label usecase-actor-label");let{theme:y,themeVariables:k}=(0,l.D7)();if((0,n.XE)(u,e.colorIndex,y,k.borderColorArray),e.stereotype){let t=await x(u,`\xab${e.stereotype}\xbb`,{labelStyle:h,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0,width:e.wrappingWidth});a=t.label.attr("class","label usecase-stereotype"),s=t.bbox}let w=u.append("g").attr("class",`usecase-actor-glyph ${tj[r]}`).attr("style",c||null);await o(w,e),tV(w,e,r);let T=e.padding??8,B=s?.height??0,S=80+p.height+(s?B+2:0),v=Math.max(56,p.width,s?.width??0)+2*T,_=S+2*T,F=-S/2;w.attr("transform",`translate(0,${F+36})`);let A=F+72+8;return a&&s&&(tG(a,s,A+=B/2),A+=B/2+2),tG(g,p,A+p.height/2),C(e,u.insert("rect",":first-child").attr("class","usecase-actor-outline").attr("x",-v/2).attr("y",-_/2).attr("width",v).attr("height",_).attr("opacity",0).attr("aria-hidden","true")),e.intersect=t=>$.rect(e,t),u}async function tJ(t,e){return tQ(t,e,"normal",(t,e)=>{tX(t,e,"M 0 -12 C 6.627 -12 12 -17.373 12 -24 C 12 -30.627 6.627 -36 0 -36 C -6.627 -36 -12 -30.627 -12 -24 C -12 -17.373 -6.627 -12 0 -12 Z M 0 -12 V 8 M -17 -5 H 17 M 0 8 L -15 28 M 0 8 L 15 28","usecase-actor-stick")})}async function t0(t,e){return tQ(t,e,"awesome",(t,e)=>{tX(t,e,"M 0 -34 C 7.18 -34 13 -28.18 13 -21 C 13 -13.82 7.18 -8 0 -8 C -7.18 -8 -13 -13.82 -13 -21 C -13 -28.18 -7.18 -34 0 -34 Z M -24 25 C -24 7 -14 -3 0 -3 C 14 -3 24 7 24 25 C 24 28 21 30 18 30 H -18 C -21 30 -24 28 -24 25 Z","usecase-actor-awesome-silhouette")})}async function t1(t,e){return tQ(t,e,"hollow",(t,e)=>{tZ(t,e,0,-23,9,"usecase-actor-hollow-head",!0),tX(t,e,"M -22 -10 H 22 V 0 H 6 L 22 17 L 13 28 L 0 13 L -13 28 L -22 17 L -6 0 H -22 Z","usecase-actor-hollow-body",!0)})}(0,c.K)(tQ,"renderUsecaseActor"),(0,c.K)(tJ,"usecaseActor"),(0,c.K)(t0,"usecaseActorAwesome"),(0,c.K)(t1,"usecaseActorHollow");var t2=(0,c.K)(async(t,e)=>{if("handDrawn"===e.look){let r=u.A.svg(t).rectangle(-26,-28,52,52,(0,i.Fr)(e,{}));t.insert(()=>r,":first-child").attr("class","usecase-actor-icon-frame")}else t.append("rect").attr("class","usecase-actor-icon-frame").attr("x",-26).attr("y",-28).attr("width",52).attr("height",52).attr("rx",4).attr("ry",4);let r=e.icon??"",o=await (0,a.dn)(r.includes(":")?r:`fa:${r}`),n=await (0,a.WY)(r,{height:42,width:42,fallbackPrefix:"fa"}),s=t.append("g").attr("class",`usecase-actor-icon-symbol${o?"":" usecase-actor-icon-fallback"}`).attr("aria-hidden","true").html(`<g>${n}</g>`),l=s.node()?.getBBox();l&&s.attr("transform",`translate(${-l.width/2-l.x},${-2-l.height/2-l.y})`)},"drawIconActor");async function t5(t,e){return tQ(t,e,"icon",t2)}(0,c.K)(t5,"usecaseActorIcon");var t3=(0,c.K)((t,e,r)=>{let i=(e.x??0)-(e.left??0),o=(e.y??0)-(e.top??0);t.attr("transform",`translate(${-e.width/2-i},${r-e.height/2-o})`)},"positionLabel");async function t4(t,e){let r,o,a,{labelStyles:s,nodeStyles:h}=(0,i.GX)(e);e.labelStyle=s;let c=e.stereotype?{...e,stereotype:void 0}:e,{shapeSvg:d,bbox:p,halfPadding:g,label:f}=await m(t,c,b(e,"usecase-business-shape"));f.attr("class","label usecase-label");let{theme:y,themeVariables:k}=(0,l.D7)();if((0,n.XE)(d,e.colorIndex,y,k.borderColorArray),e.stereotype){let t=await x(d,`\xab${e.stereotype}\xbb`,{labelStyle:s,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0,width:e.wrappingWidth});r=t.label.attr("class","label usecase-stereotype"),o=t.bbox}let w=2*!!o,T=p.height+(o?.height??0)+w,B=Math.max(p.width,o?.width??0),S=g??10,v=B/2+2*S,_=T/2+2*S,F=Math.min(Math.max(S/5,1),S/2),A=B/2+F,L=v-F,M=A/v,E=L/v,O=_*Math.sqrt(Math.max(0,1-M*M)),D=-_*Math.sqrt(Math.max(0,1-E*E));if(r&&o&&t3(r,o,-T/2+o.height/2),t3(f,p,T/2-p.height/2),"handDrawn"===e.look){let t=u.A.svg(d).ellipse(0,0,2*v,2*_,(0,i.Fr)(e,{}));a=d.insert(()=>t,":first-child").attr("class","basic label-container usecase-business-ellipse")}else a=d.insert("ellipse",":first-child").attr("class","basic label-container usecase-business-ellipse").attr("style",h).attr("rx",v).attr("ry",_).attr("cx",0).attr("cy",0);d.append("path").attr("class","usecase-business-marker").attr("d",`M ${A} ${O} L ${L} ${D}`).attr("fill","none").attr("style",h||null);let K=e.accessibleName??e.label;return K&&d.attr("role","img").attr("aria-label",K),C(e,a),e.calcIntersect=(t,e)=>$.ellipse(t,t.width/2,t.height/2,e),e.intersect=t=>$.ellipse(e,v,_,t),d}(0,c.K)(t4,"usecaseBusiness");var t6=(0,c.K)((t,e,r,i)=>{let o=(e.x??0)-(e.left??0),a=(e.y??0)-(e.top??0);t.attr("transform",`translate(${r-e.width/2-o},${i-e.height/2-a})`)},"positionLabel"),t8=(0,c.K)(t=>{let e=Number.parseFloat(t??"");return Number.isFinite(e)&&e>=0?e:1},"numericStrokeWidth");async function t7(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e),{stylesMap:a}=(0,i.WW)(e);e.labelStyle=r;let{shapeSvg:n,bbox:s,label:l}=await m(t,e,b(e,"usecase-json-table"));n.attr("role","img"),e.accessibleName&&n.attr("aria-label",e.accessibleName),l.attr("class","label usecase-json-title");let h=n.append("g").attr("class","usecase-json-table-grid"),d=[];for(let t of e.jsonRows??[]){let i=await x(h,t.key,{labelStyle:r,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0}),o=await x(h,t.value,{labelStyle:r,useHtmlLabels:e.useHtmlLabels,padding:0,centerLabel:!0});d.push({key:{label:i.label.attr("class","label usecase-json-key"),bbox:i.bbox},value:{label:o.label.attr("class","label usecase-json-value"),bbox:o.bbox}})}let p=Math.max(0,...d.map(({key:t})=>t.bbox.width))+16,g=Math.max(0,...d.map(({value:t})=>t.bbox.width))+16,f=Math.max(s.width+16,p+g),y=g+Math.max(0,f-p-g),k=s.height+8,w=d.map(({key:t,value:e})=>Math.max(t.bbox.height,e.bbox.height)+8),T=k+w.reduce((t,e)=>t+e,0),B=t8(a.get("stroke-width")),S=f+2*B,v=T+2*B,_=-f/2,F=-T/2,A="handDrawn"===e.look?u.A.svg(n):void 0,L=A?(0,i.Fr)(e,{}):void 0,M=(0,c.K)((t,e,r,i,a,n)=>{if(A&&L){let o=A.rectangle(r,i,a,n,L);return t.insert(()=>o,":first-child").attr("class",e)}return t.insert("rect",":first-child").attr("class",e).attr("x",r).attr("y",i).attr("width",a).attr("height",n).attr("style",o)},"insertCell"),E=M(n,"label-container usecase-json-border",-S/2,-v/2,S,v);M(h,"usecase-json-cell usecase-json-title-cell",_,F,f,k),h.node()?.append(l.node()),t6(l,s,0,F+k/2);let O=F+k;return d.forEach(({key:t,value:e},r)=>{let i=w[r],o=h.append("g").attr("class","usecase-json-row").attr("data-row-index",r).attr("transform",`translate(0,${O})`);M(o,"usecase-json-cell usecase-json-key-cell",_,0,p,i),M(o,"usecase-json-cell usecase-json-value-cell",_+p,0,y,i),o.node()?.append(t.label.node(),e.label.node()),t6(t.label,t.bbox,_+p/2,i/2),t6(e.label,e.bbox,_+p+y/2,i/2),O+=i}),C(e,E),e.intersect=t=>$.rect(e,t),n}async function t9(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a,l="neo"===e.look?10:5;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-2*n-2*l,10),e.height=Math.max((e?.height??0)-2*s-2*l,10));let{shapeSvg:h,bbox:c,label:d}=await m(t,e,b(e)),p=(e?.width?e?.width:c.width)+2*n+2*l,g=(e?.height?e?.height:c.height)+2*s+2*l,f=p-2*l,y=g-2*l,x=-f/2,w=-y/2,{cssStyles:T}=e,S=u.A.svg(h),v=(0,i.Fr)(e,{}),_=[{x:x-l,y:w+l},{x:x-l,y:w+y+l},{x:x+f-l,y:w+y+l},{x:x+f-l,y:w+y},{x:x+f,y:w+y},{x:x+f,y:w+y-l},{x:x+f+l,y:w+y-l},{x:x+f+l,y:w-l},{x:x+l,y:w-l},{x:x+l,y:w},{x,y:w},{x,y:w+l}];"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");let F=k(_),A=S.path(F,v),L=k([{x,y:w+l},{x:x+f-l,y:w+l},{x:x+f-l,y:w+y},{x:x+f,y:w+y},{x:x+f,y:w},{x,y:w}]),M=S.path(L,v);"handDrawn"!==e.look&&(A=B(A),M=B(M));let E=h.insert("g",":first-child");return E.insert(()=>A),E.insert(()=>M),E.attr("class","basic label-container outer-path"),T&&"handDrawn"!==e.look&&E.selectAll("path").attr("style",T),o&&"handDrawn"!==e.look&&E.selectAll("path").attr("style",o),d.attr("transform",`translate(${-(c.width/2)-l-(c.x-(c.left??0))}, ${-(c.height/2)+l-(c.y-(c.top??0))})`),C(e,E),e.intersect=function(t){return $.polygon(e,_,t)},h}async function et(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l=e.padding??0,h="neo"===e.look?16:l,c="neo"===e.look?12:l,d=!0;(e.width||e.height)&&(d=!1,e.width=(e?.width??0)-2*h,e.height=(e?.height??0)-3*c);let p=Math.max(n.width,e?.width??0)+2*h,g=Math.max(n.height,e?.height??0)+3*c,f="neo"===e.look?g/4:g/8,y=g+(d?f/2:-f/2),x=-p/2,T=-y/2,{cssStyles:B}=e,S=w(x-10,T+y+10,x+p-10,T+y+10,f,.8),v=S?.[S.length-1],_=[{x:x-10,y:T+10},{x:x-10,y:T+y+10},...S,{x:x+p-10,y:v.y-10},{x:x+p,y:v.y-10},{x:x+p,y:v.y-20},{x:x+p+10,y:v.y-20},{x:x+p+10,y:T-10},{x:x+10,y:T-10},{x:x+10,y:T},{x,y:T},{x,y:T+10}],F=[{x,y:T+10},{x:x+p-10,y:T+10},{x:x+p-10,y:v.y-10},{x:x+p,y:v.y-10},{x:x+p,y:T},{x,y:T}],A=u.A.svg(a),L=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(L.roughness=0,L.fillStyle="solid");let M=k(_),E=A.path(M,L),O=k(F),D=A.path(O,L),K=a.insert(()=>E,":first-child");return K.insert(()=>D),K.attr("class","basic label-container outer-path"),B&&"handDrawn"!==e.look&&K.selectAll("path").attr("style",B),o&&"handDrawn"!==e.look&&K.selectAll("path").attr("style",o),K.attr("transform",`translate(0,${-f/2})`),s.attr("transform",`translate(${-(n.width/2)-10-(n.x-(n.left??0))}, ${-(n.height/2)+10-f-(n.y-(n.top??0))})`),C(e,K),e.intersect=function(t){return $.polygon(e,_,t)},a}async function ee(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o,e.useHtmlLabels||(0,l.E)((0,l.zj)())||(e.centerLabel=!0);let{shapeSvg:n,bbox:s,label:h}=await m(t,e,b(e)),c=Math.max(s.width+(e.padding??0)*2,e?.width??0),d=Math.max(s.height+(e.padding??0)*2,e?.height??0),{cssStyles:p}=e,g=u.A.svg(n),f=(0,i.Fr)(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});"handDrawn"!==e.look&&(f.roughness=0,f.fillStyle="solid");let y=g.rectangle(-c/2,-d/2,c,d,f),x=n.insert(()=>y,":first-child");return x.attr("class","basic label-container outer-path"),h.attr("class","label noteLabel"),p&&"handDrawn"!==e.look&&x.selectAll("path").attr("style",p),a&&"handDrawn"!==e.look&&x.selectAll("path").attr("style",a),h.attr("transform",`translate(${-s.width/2-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),C(e,x),e.intersect=function(t){return $.rect(e,t)},n}(0,c.K)(t7,"usecaseJsonTable"),(0,c.K)(t9,"multiRect"),(0,c.K)(et,"multiWaveEdgedRectangle"),(0,c.K)(ee,"note");var er=(0,c.K)((t,e,r)=>`M${t+r/2},${e} L${t+r},${e-r/2} L${t+r/2},${e-r} L${t},${e-r/2} Z`,"createDecisionBoxPathD");async function ei(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:s}=await m(t,e,b(e)),l=s.width+(e.padding??0)+(s.height+(e.padding??0)),h=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}],{cssStyles:c}=e;if("handDrawn"===e.look){let t=u.A.svg(n),o=(0,i.Fr)(e,{}),a=er(0,0,l),s=t.path(a,o);r=n.insert(()=>s,":first-child").attr("transform",`translate(${-l/2+.5}, ${l/2})`),c&&r.attr("style",c)}else(r=W(n,l,l,h)).attr("transform",`translate(${-l/2+.5}, ${l/2})`);return a&&r.attr("style",a),C(e,r),e.calcIntersect=function(t,e){let r=t.width;return $.polygon(t,[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}],e)},e.intersect=function(t){return this.calcIntersect(e,t)},n}async function eo(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?21:a??0,s="neo"===e.look?12:a??0,{shapeSvg:l,bbox:h,label:c}=await m(t,e,b(e)),d=h.width+("neo"===e.look?2*n:n),p=Math.max(h.height+("neo"===e.look?2*s:s),e.height??0),g=-Math.max(d,(e.width??0)-p/4)/2,f=-p/2,y=f/2,x=[{x:g+y,y:f},{x:g,y:0},{x:g+y,y:-f},{x:-g,y:-f},{x:-g,y:f}],{cssStyles:w}=e,T=u.A.svg(l),B=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(B.roughness=0,B.fillStyle="solid");let S=k(x),v=T.path(S,B),_=l.insert(()=>v,":first-child");return _.attr("class","basic label-container outer-path"),w&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",w),o&&"handDrawn"!==e.look&&_.selectAll("path").attr("style",o),_.attr("transform",`translate(${-y/2},0)`),c.attr("transform",`translate(${-y/2-h.width/2-(h.x-(h.left??0))}, ${-(h.height/2)-(h.y-(h.top??0))})`),C(e,_),e.intersect=function(t){return $.polygon(e,x,t)},l}async function ea(t,e){let r,o,a,{labelStyles:n,nodeStyles:s}=(0,i.GX)(e);e.labelStyle=n,r=e.cssClasses?"node "+e.cssClasses:"node default";let c=t.insert("g").attr("class",r).attr("id",e.domId||e.id),p=c.insert("g"),g=c.insert("g").attr("class","label").attr("style",s),f=e.description,y=e.label,m=await O(g,y,e.labelStyle,!0,!0),x={width:0,height:0};if((0,l.E)((0,l.D7)())){let t=m.children[0],e=(0,d.Ltv)(m);x=t.getBoundingClientRect(),e.attr("width",x.width),e.attr("height",x.height)}h.R.info("Text 2",f);let b=f||[],k=m.getBBox(),w=await O(g,Array.isArray(b)?b.join("<br/>"):b,e.labelStyle,!0,!0),T=w.children[0],B=(0,d.Ltv)(w);x=T.getBoundingClientRect(),B.attr("width",x.width),B.attr("height",x.height);let S=(e.padding||0)/2;(0,d.Ltv)(w).attr("transform","translate( "+(x.width>k.width?0:(k.width-x.width)/2)+", "+(k.height+S+5)+")"),(0,d.Ltv)(m).attr("transform","translate( "+(x.width<k.width?0:-(k.width-x.width)/2)+", 0)"),x=g.node().getBBox(),g.attr("transform","translate("+-x.width/2+", "+(-x.height/2-S+3)+")");let v=x.width+(e.padding||0),_=x.height+(e.padding||0),F=-x.width/2-S,A=-x.height/2-S;if("handDrawn"===e.look){let t=u.A.svg(c),r=(0,i.Fr)(e,{}),n=t.path(E(F,A,v,_,e.rx||0),r),s=t.line(-x.width/2-S,-x.height/2-S+k.height+S,x.width/2+S,-x.height/2-S+k.height+S,r);a=c.insert(()=>(h.R.debug("Rough node insert CXC",n),s),":first-child"),o=c.insert(()=>(h.R.debug("Rough node insert CXC",n),n),":first-child")}else o=p.insert("rect",":first-child"),a=p.insert("line"),o.attr("class","outer title-state").attr("style",s).attr("x",-x.width/2-S).attr("y",-x.height/2-S).attr("width",x.width+(e.padding||0)).attr("height",x.height+(e.padding||0)),a.attr("class","divider").attr("x1",-x.width/2-S).attr("x2",x.width/2+S).attr("y1",-x.height/2-S+k.height+S).attr("y2",-x.height/2-S+k.height+S);return C(e,o),e.intersect=function(t){return $.rect(e,t)},c}async function en(t,e,{config:{themeVariables:r}}){let i=r?.radius??5,o={rx:i,ry:i,classes:"",labelPaddingX:(e?.padding??0)*1,labelPaddingY:(e?.padding??0)*1};return ty(t,e,o)}async function es(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a="neo"===e.look?16:e.padding??0,n="neo"===e.look?12:e.padding??0,{shapeSvg:l,bbox:h,label:c}=await m(t,e,b(e)),d=(e?.width??h.width)+2*a+("neo"===e.look?8:16),p=(e?.height??h.height)+2*n,g=d-8,f=8-d/2,y=-p/2,{cssStyles:x}=e,k=u.A.svg(l),w=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=k.polygon([{x:f,y},{x:f+g,y},{x:f+g,y:y+p},{x:f-8,y:y+p},{x:f-8,y},{x:f,y},{x:f,y:y+p}].map(t=>[t.x,t.y]),w),B=l.insert(()=>T,":first-child");return B.attr("class","basic label-container outer-path").attr("style",(0,s.KL)(x)),o&&"handDrawn"!==e.look&&B.selectAll("path").attr("style",o),x&&"handDrawn"!==e.look&&B.selectAll("path").attr("style",o),c.attr("transform",`translate(${4-h.width/2-(h.x-(h.left??0))}, ${-(h.height/2)-(h.y-(h.top??0))})`),C(e,B),e.intersect=function(t){return $.rect(e,t)},l}async function el(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-2*n,10),e.height=Math.max((e?.height??0)/1.5-2*s,10));let{shapeSvg:l,bbox:h,label:c}=await m(t,e,b(e)),d=(e?.width?e?.width:h.width)+2*n,p=((e?.height?e?.height:h.height)+2*s)*1.5/1.5,g=-d/2,f=-p/2,{cssStyles:y}=e,x=u.A.svg(l),w=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=[{x:g,y:f},{x:g,y:f+p},{x:g+d,y:f+p},{x:g+d,y:f-p/2}],B=k(T),S=x.path(B,w),v=l.insert(()=>S,":first-child");return v.attr("class","basic label-container outer-path"),y&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",y),o&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",o),v.attr("transform",`translate(0, ${p/4})`),c.attr("transform",`translate(${-d/2+(e.padding??0)-(h.x-(h.left??0))}, ${-p/4+(e.padding??0)-(h.y-(h.top??0))})`),C(e,v),e.intersect=function(t){return $.polygon(e,T,t)},l}async function eh(t,e){let r=e.padding??0,i="neo"===e.look?16:2*r,o="neo"===e.look?12:r,a={rx:0,ry:0,classes:"",labelPaddingX:e.labelPaddingX??i,labelPaddingY:o},s=await ty(t,e,a);if(void 0!==e.colorIndex){let{theme:t,themeVariables:r}=(0,l.D7)();(0,n.XE)(s,e.colorIndex,t,r.borderColorArray)}return s}(0,c.K)(ei,"question"),(0,c.K)(eo,"rect_left_inv_arrow"),(0,c.K)(ea,"rectWithTitle"),(0,c.K)(en,"roundedRect"),(0,c.K)(es,"shadedProcess"),(0,c.K)(el,"slopedRect"),(0,c.K)(eh,"squareRect");var ec=(0,c.K)((t,e,r)=>{let i=t.height+r,o=i*Math.cos(Math.PI/98),a=Math.sqrt(Math.max(0,o**2-t.height**2));return{w:Math.max(t.width+i/4+e,1.5*i+(i-o),t.width+e+i-a),h:i}},"stadiumDimensions");async function ed(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?40:a,s="neo"===e.look?24:a,{shapeSvg:l,bbox:h}=await m(t,e,b(e)),{w:c,h:d}=ec(h,n,s),p=d/2,{cssStyles:g}=e,f=u.A.svg(l),y=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(y.roughness=0,y.fillStyle="solid");let x=[{x:-c/2+p,y:-d/2},{x:c/2-p,y:-d/2},...T(-c/2+p,0,p,50,90,270),{x:c/2-p,y:d/2},...T(c/2-p,0,p,50,270,450)],w=k(x),B=f.path(w,y),S=l.insert(()=>B,":first-child");return S.attr("class","basic label-container outer-path"),g&&"handDrawn"!==e.look&&S.selectChildren("path").attr("style",g),o&&"handDrawn"!==e.look&&S.selectChildren("path").attr("style",o),C(e,S),e.intersect=function(t){return $.polygon(e,x,t)},l}async function eu(t,e){let r={rx:"neo"===e.look?3:5,ry:"neo"===e.look?3:5,classes:"flowchart-node"};return ty(t,e,r)}function ep(t,e,{config:{themeVariables:r}}){let{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{cssStyles:n}=e,{lineColor:s,stateBorder:l,nodeBorder:h,nodeShadow:c}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);let d=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),p=u.A.svg(d),g=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(g.roughness=0,g.fillStyle="solid");let f=p.circle(0,0,e.width,{...g,stroke:s,strokeWidth:2}),y=l??h,m=(e.width??0)*5/14,x=p.circle(0,0,m,{...g,fill:y,stroke:y,strokeWidth:2,fillStyle:"solid"}),b=d.insert(()=>f,":first-child");if(b.insert(()=>x),"handDrawn"!==e.look&&b.attr("class","outer-path"),n&&b.selectAll("path").attr("style",n),a&&b.selectAll("path").attr("style",a),e.width<25&&c&&"handDrawn"!==e.look){let e=t.node()?.ownerSVGElement?.id??"",r=e?`${e}-drop-shadow-small`:"drop-shadow-small";b.attr("style",`filter:url(#${r})`)}return C(e,b),e.intersect=function(t){return $.circle(e,(e.width??0)/2,t)},d}function eg(t,e,{config:{themeVariables:r}}){let o,{lineColor:a,nodeShadow:n}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);let s=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);if("handDrawn"===e.look){let t=u.A.svg(s).circle(0,0,e.width,(0,i.ue)(a));(o=s.insert(()=>t)).attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else(o=s.insert("circle",":first-child")).attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&n&&"handDrawn"!==e.look){let e=t.node()?.ownerSVGElement?.id??"",r=e?`${e}-drop-shadow-small`:"drop-shadow-small";o.attr("style",`filter:url(#${r})`)}return C(e,o),e.intersect=function(t){return $.circle(e,(e.width??7)/2,t)},s}async function ef(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e?.padding??8,n="neo"===e.look?28:a,l="neo"===e.look?12:a,{shapeSvg:h,bbox:c}=await m(t,e,b(e)),d=Math.max(c.width+16+n,e.width??0),p=Math.max(c.height+l,e.height??0),g=d-16,f=-d/2,y=-p/2,x=[{x:0,y:0},{x:g,y:0},{x:g,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:g+8,y:0},{x:g+8,y:-p},{x:-8,y:-p},{x:-8,y:0}];if("handDrawn"===e.look){let t=u.A.svg(h),r=(0,i.Fr)(e,{}),o=t.rectangle(f,y,g+16,p,r),a=t.line(f+8,y,f+8,y+p,r),n=t.line(f+8+g,y,f+8+g,y+p,r);h.insert(()=>a,":first-child"),h.insert(()=>n,":first-child");let l=h.insert(()=>o,":first-child"),{cssStyles:c}=e;l.attr("class","basic label-container").attr("style",(0,s.KL)(c)),C(e,l)}else{let t=W(h,g,p,x);o&&t.attr("style",o),C(e,t)}return e.intersect=function(t){return $.polygon(e,x,t)},h}async function ey(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a;(e.width||e.height)&&(e.height=Math.max((e?.height??0)-2*s,10),e.width=Math.max((e?.width??0)-2*n-.2*(e.height+2*s),10));let{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=(e?.height?e?.height:h.height)+2*s,d=.2*c,p=(e?.width?e?.width:h.width)+2*n+d-d,g=-p/2,f=-c/2,{cssStyles:y}=e,x=u.A.svg(l),w=(0,i.Fr)(e,{}),T=[{x:g-d/2,y:f},{x:g+p+d/2,y:f},{x:g+p+d/2,y:f+c},{x:g-d/2,y:f+c}];"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let B=k(T),S=x.path(B,w),v=k([{x:g+p-d/2,y:f+c},{x:g+p+d/2,y:f+c},{x:g+p+d/2,y:f+c-.2*c}]),_=x.path(v,{...w,fillStyle:"solid"}),F=l.insert(()=>_,":first-child");return F.insert(()=>S,":first-child"),F.attr("class","basic label-container outer-path"),y&&"handDrawn"!==e.look&&F.selectAll("path").attr("style",y),o&&"handDrawn"!==e.look&&F.selectAll("path").attr("style",o),C(e,F),e.intersect=function(t){return $.polygon(e,T,t)},l}async function em(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,label:s}=await m(t,e,b(e)),l=Math.max(n.width+(e.padding??0)*2,e?.width??0),h=Math.max(n.height+(e.padding??0)*2,e?.height??0),c=h/8,d=.2*l,p=.2*h,g=h+c,{cssStyles:f}=e,y=u.A.svg(a),x=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let T=[{x:-l/2-l/2*.1,y:g/2},...w(-l/2-l/2*.1,g/2,l/2+l/2*.1,g/2,c,.8),{x:l/2+l/2*.1,y:-g/2},{x:-l/2-l/2*.1,y:-g/2}],B=-l/2+l/2*.1,S=-g/2-.4*p,v=[{x:B+l-d,y:(S+h)*1.3},{x:B+l,y:S+h-p},{x:B+l,y:(S+h)*.9},...w(B+l,(S+h)*1.25,B+l-d,(S+h)*1.3,-(.02*h),.5)],_=k(T),F=y.path(_,x),A=k(v),L=y.path(A,{...x,fillStyle:"solid"}),M=a.insert(()=>L,":first-child");return M.insert(()=>F,":first-child"),M.attr("class","basic label-container outer-path"),f&&"handDrawn"!==e.look&&M.selectAll("path").attr("style",f),o&&"handDrawn"!==e.look&&M.selectAll("path").attr("style",o),M.attr("transform",`translate(0,${-c/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(n.x-(n.left??0))},${-h/2+(e.padding??0)-c/2-(n.y-(n.top??0))})`),C(e,M),e.intersect=function(t){return $.polygon(e,T,t)},a}async function ex(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n}=await m(t,e,b(e)),s=Math.max(n.width+(e.padding??0),e?.width||0),l=Math.max(n.height+(e.padding??0),e?.height||0),h=a.insert("rect",":first-child");return h.attr("class","text").attr("style",o).attr("rx",0).attr("ry",0).attr("x",-s/2).attr("y",-l/2).attr("width",s).attr("height",l),C(e,h),e.intersect=function(t){return $.rect(e,t)},a}(0,c.K)(ed,"stadium"),(0,c.K)(eu,"state"),(0,c.K)(ep,"stateEnd"),(0,c.K)(eg,"stateStart"),(0,c.K)(ef,"subroutine"),(0,c.K)(ey,"taggedRect"),(0,c.K)(em,"taggedWaveEdgedRectangle"),(0,c.K)(ex,"text");var eC=(0,c.K)((t,e,r,i,o,a)=>`M${t},${e} + a${o},${a} 0,0,1 0,${-i} + l${r},0 + a${o},${a} 0,0,1 0,${i} + M${r},${-i} + a${o},${a} 0,0,0 0,${i} + l${-r},0`,"createCylinderPathD"),eb=(0,c.K)((t,e,r,i,o,a)=>`M${t},${e} M${t+r},${e} a${o},${a} 0,0,0 0,${-i} l${-r},0 a${o},${a} 0,0,0 0,${i} l${r},0`,"createOuterCylinderPathD"),ek=(0,c.K)((t,e,r,i,o,a)=>`M${t+r/2},${-i/2} a${o},${a} 0,0,0 0,${i}`,"createInnerCylinderPathD");async function ew(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,l="neo"===e.look?12:n/2,h=e.height??0;e.height&&(e.height=e.height-l,e.height<5&&(e.height=5)),e.width&&(e.width=e.width-l-h/2/(2.5+h/50)*3,e.width<10&&(e.width=10));let{shapeSvg:c,bbox:d,label:p}=await m(t,e,b(e)),g=Math.max(e.height??0,d.height)+l,f=g/2,y=f/(2.5+g/50),x=Math.max(e.width??0,d.width)+y+l,{cssStyles:k}=e;if("handDrawn"===e.look){let t=u.A.svg(c),o=eb(0,0,x,g,y,f),a=ek(0,0,x,g,y,f),n=t.path(o,(0,i.Fr)(e,{})),s=t.path(a,(0,i.Fr)(e,{fill:"none"}));r=c.insert(()=>s,":first-child"),(r=c.insert(()=>n,":first-child")).attr("class","basic label-container"),k&&r.attr("style",k)}else{let t=eC(0,0,x,g,y,f);(r=c.insert("path",":first-child").attr("d",t).attr("class","basic label-container").attr("style",(0,s.KL)(k)).attr("style",a)).attr("class","basic label-container outer-path"),k&&r.selectAll("path").attr("style",k),a&&r.selectAll("path").attr("style",a)}return r.attr("label-offset-x",y),r.attr("transform",`translate(${-x/2}, ${g/2} )`),p.attr("transform",`translate(${-(d.width/2)-y-(d.x-(d.left??0))}, ${-(d.height/2)-(d.y-(d.top??0))})`),C(e,r),e.intersect=function(t){let r=$.rect(e,t),i=r.y-(e.y??0);if(0!=f&&(Math.abs(i)<(e.height??0)/2||Math.abs(i)==(e.height??0)/2&&Math.abs(r.x-(e.x??0))>(e.width??0)/2-y)){let o=y*y*(1-i*i/(f*f));0!=o&&(o=Math.sqrt(Math.abs(o))),o=y-o,t.x-(e.x??0)>0&&(o=-o),r.x+=o}return r},c}async function eT(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n=e.padding??0,s=(e.look,n),l="neo"===e.look?2*n:n,{shapeSvg:h,bbox:c}=await m(t,e,b(e)),d=Math.max(c.height+s,e.height??0),p=Math.max(c.width+l,(e.width??0)-d),g=[{x:-3*d/6,y:0},{x:p+3*d/6,y:0},{x:p,y:-d},{x:0,y:-d}],{cssStyles:f}=e;if("handDrawn"===e.look){let t=u.A.svg(h),o=(0,i.Fr)(e,{}),a=k(g),n=t.path(a,o);r=h.insert(()=>n,":first-child").attr("transform",`translate(${-p/2}, ${d/2})`),f&&r.attr("style",f)}else r=W(h,p,d,g);return a&&r.attr("style",a),e.width=p,e.height=d,C(e,r),e.intersect=function(t){return $.polygon(e,g,t)},h}async function eB(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a;(e.width||e.height)&&(e.height=(e.height??0)-2*s,e.height<5&&(e.height=5),e.width=(e.width??0)-2*n,e.width<15&&(e.width=15));let{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=(e?.width?e?.width:h.width)+2*n,d=(e?.height?e?.height:h.height)+2*s,{cssStyles:p}=e,g=u.A.svg(l),f=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(f.roughness=0,f.fillStyle="solid");let y=[{x:-c/2*.8,y:-d/2},{x:c/2*.8,y:-d/2},{x:c/2,y:-d/2*.6},{x:c/2,y:d/2},{x:-c/2,y:d/2},{x:-c/2,y:-d/2*.6}],x=k(y),w=g.path(x,f),T=l.insert(()=>w,":first-child");return T.attr("class","basic label-container outer-path"),p&&"handDrawn"!==e.look&&T.selectChildren("path").attr("style",p),o&&"handDrawn"!==e.look&&T.selectChildren("path").attr("style",o),C(e,T),e.intersect=function(t){return $.polygon(e,y,t)},l}async function eS(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?2*a:a;(e.width||e.height)&&(e.width=((e?.width??0)-n)/2,e.width<10&&(e.width=10),e.height=e?.height??0,e.height<10&&(e.height=10));let{shapeSvg:s,bbox:c,label:d}=await m(t,e,b(e)),p=(0,l._3)((0,l.D7)().flowchart?.htmlLabels),g=(e?.width?e?.width:c.width)+n,f=e?.height?e?.height:g+c.height,y=[{x:0,y:0},{x:f,y:0},{x:f/2,y:-f}],{cssStyles:x}=e,w=u.A.svg(s),T=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(T.roughness=0,T.fillStyle="solid");let B=k(y),S=w.path(B,T),v=s.insert(()=>S,":first-child").attr("transform",`translate(${-f/2}, ${f/2})`).attr("class","outer-path");return x&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",x),o&&"handDrawn"!==e.look&&v.selectChildren("path").attr("style",o),e.width=g,e.height=f,C(e,v),d.attr("transform",`translate(${-c.width/2-(c.x-(c.left??0))}, ${f/2-(c.height+(e.padding??0)/(p?2:1)-(c.y-(c.top??0)))})`),e.intersect=function(t){return h.R.info("Triangle intersect",e,y,t),$.polygon(e,y,t)},s}async function ev(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?12:a,l=!0;(e.width||e.height)&&(l=!1,e.width=(e?.width??0)-2*n,e.width<10&&(e.width=10),e.height=(e?.height??0)-2*s,e.height<10&&(e.height=10));let{shapeSvg:h,bbox:c,label:d}=await m(t,e,b(e)),p=(e?.width?e?.width:c.width)+(n??0)*2,g=(e?.height?e?.height:c.height)+(s??0)*2,f="neo"===e.look?g/4:g/8,y=g+(l?f:-f),{cssStyles:x}=e,T=14-p,B=T>0?T/2:0,S=u.A.svg(h),v=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");let _=[{x:-p/2-B,y:y/2},...w(-p/2-B,y/2,p/2+B,y/2,f,.8),{x:p/2+B,y:-y/2},{x:-p/2-B,y:-y/2}],F=k(_),A=S.path(F,v),L=h.insert(()=>A,":first-child");return L.attr("class","basic label-container outer-path"),x&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",x),o&&"handDrawn"!==e.look&&L.selectAll("path").attr("style",o),L.attr("transform",`translate(0,${-f/2})`),d.attr("transform",`translate(${-p/2+(e.padding??0)-(c.x-(c.left??0))},${-g/2+(e.padding??0)-f-(c.y-(c.top??0))})`),C(e,L),e.intersect=function(t){return $.polygon(e,_,t)},h}async function e_(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a=e.padding??0,n="neo"===e.look?16:a,s="neo"===e.look?20:a;if(e.width||e.height){e.width=e?.width??0,e.width<20&&(e.width=20),e.height=e?.height??0,e.height<10&&(e.height=10);let t=Math.min(.2*e.height,e.height/4);e.height=Math.ceil(e.height-s-20/9*t),e.width=e.width-2*n}let{shapeSvg:l,bbox:h}=await m(t,e,b(e)),c=(e?.width?e?.width:h.width)+2*n,d=(e?.height?e?.height:h.height)+s,p=d/8,g=d+2*p,{cssStyles:f}=e,y=u.A.svg(l),x=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(x.roughness=0,x.fillStyle="solid");let T=[{x:-c/2,y:g/2},...w(-c/2,g/2,c/2,g/2,p,1),{x:c/2,y:-g/2},...w(c/2,-g/2,-c/2,-g/2,p,-1)],B=k(T),S=y.path(B,x),v=l.insert(()=>S,":first-child");return v.attr("class","basic label-container"),f&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",f),o&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",o),C(e,v),e.intersect=function(t){return $.polygon(e,T,t)},l}async function eF(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let a="neo"===e.look?16:e.padding??0,n="neo"===e.look?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max((e?.width??0)-2*a-10,10),e.height=Math.max((e?.height??0)-2*n-10,10));let{shapeSvg:s,bbox:l,label:h}=await m(t,e,b(e)),c=(e?.width?e?.width:l.width)+2*a+10,d=(e?.height?e?.height:l.height)+2*n+10,p=c-10,g=d-10,f=-p/2,y=-g/2,{cssStyles:x}=e,k=u.A.svg(s),w=(0,i.Fr)(e,{}),T=[{x:f-10,y:y-10},{x:f-10,y:y+g},{x:f+p,y:y+g},{x:f+p,y:y-10}],B=`M${f-10},${y-10} L${f+p},${y-10} L${f+p},${y+g} L${f-10},${y+g} L${f-10},${y-10} + M${f-10},${y} L${f+p},${y} + M${f},${y-10} L${f},${y+g}`;"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let S=k.path(B,w),v=s.insert(()=>S,":first-child");return v.attr("transform","translate(5, 5)"),v.attr("class","basic label-container outer-path"),x&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",x),o&&"handDrawn"!==e.look&&v.selectAll("path").attr("style",o),h.attr("transform",`translate(${-(l.width/2)+5-(l.x-(l.left??0))}, ${-(l.height/2)+5-(l.y-(l.top??0))})`),C(e,v),e.intersect=function(t){return $.polygon(e,T,t)},s}(0,c.K)(ew,"tiltedCylinder"),(0,c.K)(eT,"trapezoid"),(0,c.K)(eB,"trapezoidalPentagon"),(0,c.K)(eS,"triangle"),(0,c.K)(ev,"waveEdgedRectangle"),(0,c.K)(e_,"waveRectangle"),(0,c.K)(eF,"windowPane");var eA=new Set(["redux-color","redux-dark-color"]),eL=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function eM(t,e){e.alias&&(e.label=e.alias);let{theme:r,themeVariables:o}=(0,l.zj)(),{rowEven:a,rowOdd:n,nodeBorder:h,borderColorArray:c}=o;if("handDrawn"===e.look){let{themeVariables:r}=(0,l.zj)(),{background:i}=r,o={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${i}`]};await eM(t,o)}let p=(0,l.zj)();e.useHtmlLabels=p.htmlLabels;let g=p.er?.diagramPadding??10,f=p.er?.entityPadding??6,{cssStyles:y}=e,{labelStyles:m,nodeStyles:x}=(0,i.GX)(e);if(0===e.attributes.length&&e.label){let i={rx:0,ry:0,labelPaddingX:g,labelPaddingY:1.5*g,classes:""};(0,s.Un)(e.label,p)+2*i.labelPaddingX<p.er.minEntityWidth&&(e.width=p.er.minEntityWidth);let o=await ty(t,e,i);if(null!=r&&eA.has(r)){let t=e.colorIndex??0;o.attr("data-color-id",`color-${t%c.length}`)}if(!(0,l._3)(p.htmlLabels)){let t=o.select("text"),e=t.node()?.getBBox();t.attr("transform",`translate(${-e.width/2}, 0)`)}return o}p.htmlLabels||(g*=1.25,f*=1.25);let k=b(e);k||(k="node default");let w=t.insert("g").attr("class",k).attr("id",e.domId||e.id),T=await e$(w,e.label??"",p,0,0,["name"],m);T.height+=f;let B=0,S=[],v=[],_=0,F=0,A=0,L=0,M=!0,E=!0;for(let t of e.attributes){let e=await e$(w,t.type,p,0,B,["attribute-type"],m);_=Math.max(_,e.width+g);let r=await e$(w,t.name,p,0,B,["attribute-name"],m);F=Math.max(F,r.width+g);let i=await e$(w,t.keys.join(),p,0,B,["attribute-keys"],m);A=Math.max(A,i.width+g);let o=await e$(w,t.comment,p,0,B,["attribute-comment"],m);L=Math.max(L,o.width+g);let a=Math.max(e.height,r.height,i.height,o.height)+f;v.push({yOffset:B,rowHeight:a}),B+=a}let O=4;A<=g&&(M=!1,A=0,O--),L<=g&&(E=!1,L=0,O--);let D=w.node().getBBox();if(T.width+2*g-(_+F+A+L)>0){let t=T.width+2*g-(_+F+A+L);_+=t/O,F+=t/O,A>0&&(A+=t/O),L>0&&(L+=t/O)}let K=_+F+A+L,I=u.A.svg(w),q=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(q.roughness=0,q.fillStyle="solid");let R=0;v.length>0&&(R=v.reduce((t,e)=>t+(e?.rowHeight??0),0));let P=Math.max(D.width+2*g,e?.width||0,K),z=Math.max((R??0)+T.height,e?.height||0),W=-P/2,N=-z/2;if(w.selectAll("g:not(:first-child)").each((t,e,r)=>{let i=(0,d.Ltv)(r[e]),o=i.attr("transform"),a=0,n=0;if(o){let t=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(o);t&&(a=parseFloat(t[1]),n=parseFloat(t[2]),i.attr("class").includes("attribute-name")?a+=_:i.attr("class").includes("attribute-keys")?a+=_+F:i.attr("class").includes("attribute-comment")&&(a+=_+F+A))}i.attr("transform",`translate(${W+g/2+a}, ${n+N+T.height+f/2})`)}),w.select(".name").attr("transform","translate("+-T.width/2+", "+(N+f/2)+")"),null!=r&&eA.has(r)){let t=e.colorIndex??0;w.attr("data-color-id",`color-${t%c.length}`)}let j=I.rectangle(W,N,P,z,q),H=w.insert(()=>j,":first-child").attr("class","outer-path").attr("style",y.join(""));for(let[t,e]of(S.push(0),v.entries())){let r=(t+1)%2==0&&0!==e.yOffset,i=I.rectangle(W,T.height+N+e?.yOffset,P,e?.rowHeight,{...q,fill:r?a:n,stroke:h});w.insert(()=>i,"g.label").attr("style",y.join("")).attr("class",`row-rect-${r?"even":"odd"}`)}let U=eE(W,T.height+N,P+W,T.height+N,1e-4),Y=I.polygon(U.map(t=>[t.x,t.y]),q);if(w.insert(()=>Y).attr("class","divider"),U=eE(_+W,T.height+N,_+W,z+N,1e-4),Y=I.polygon(U.map(t=>[t.x,t.y]),q),w.insert(()=>Y).attr("class","divider"),M){let t=_+F+W;U=eE(t,T.height+N,t,z+N,1e-4),Y=I.polygon(U.map(t=>[t.x,t.y]),q),w.insert(()=>Y).attr("class","divider")}if(E){let t=_+F+A+W;U=eE(t,T.height+N,t,z+N,1e-4),Y=I.polygon(U.map(t=>[t.x,t.y]),q),w.insert(()=>Y).attr("class","divider")}for(let t of S){let e=T.height+N+t;U=eE(W,e,P+W,e,1e-4),Y=I.polygon(U.map(t=>[t.x,t.y]),q),w.insert(()=>Y).attr("class","divider")}if(C(e,H),x&&"handDrawn"!==e.look)if(null!=r&&eL.has(r))w.selectAll("path").attr("style",x);else{let t=x.split(";"),e=t?.filter(t=>t.includes("stroke"))?.map(t=>`${t}`).join("; ");w.selectAll("path").attr("style",e??""),w.selectAll(".row-rect-even path").attr("style",x)}return e.intersect=function(t){return $.rect(e,t)},w}async function e$(t,e,r,i=0,a=0,n=[],h=""){let c=t.insert("g").attr("class",`label ${n.join(" ")}`).attr("transform",`translate(${i}, ${a})`).attr("style",h);e!==(0,l.QO)(e)&&(e=(e=(0,l.QO)(e)).replaceAll("<","<").replaceAll(">",">"));let u=c.node().appendChild(await (0,o.GZ)(c,e,{width:(0,s.Un)(e,r)+100,style:h,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let t=u.children[0];for(t.textContent=t.textContent.replaceAll("<","<").replaceAll(">",">");t.childNodes[0];)(t=t.childNodes[0]).textContent=t.textContent.replaceAll("<","<").replaceAll(">",">")}let p=u.getBBox();if((0,l._3)(r.htmlLabels)){let t=u.children[0];t.style.textAlign="start";let e=(0,d.Ltv)(u);p=t.getBoundingClientRect(),e.attr("width",p.width),e.attr("height",p.height)}return p}function eE(t,e,r,i,o){return t===r?[{x:t-o/2,y:e},{x:t+o/2,y:e},{x:r+o/2,y:i},{x:r-o/2,y:i}]:[{x:t,y:e-o/2},{x:t,y:e+o/2},{x:r,y:i+o/2},{x:r,y:i-o/2}]}async function eO(t,e,r,i,o=r.class.padding??12){let a=3*!i,n=t.insert("g").attr("class",b(e)).attr("id",e.domId||e.id),s=null,l=null,h=null,c=null,d=0,u=0,p=0;if(s=n.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let t=e.annotations[0];await eD(s,{text:`\xab${t}\xbb`},0),d=s.node().getBBox().height}l=n.insert("g").attr("class","label-group text"),await eD(l,e,0,["font-weight: bolder"]);let g=l.node().getBBox();u=g.height,h=n.insert("g").attr("class","members-group text");let f=0;for(let t of e.members){let e=await eD(h,t,f,[t.parseClassifier()]);f+=e+a}(p=h.node().getBBox().height)<=0&&(p=o/2),c=n.insert("g").attr("class","methods-group text");let y=0;for(let t of e.methods){let e=await eD(c,t,y,[t.parseClassifier()]);y+=e+a}let m=n.node().getBBox();if(null!==s){let t=s.node().getBBox();s.attr("transform",`translate(${-t.width/2})`)}return l.attr("transform",`translate(${-g.width/2}, ${d})`),m=n.node().getBBox(),h.attr("transform",`translate(0, ${d+u+2*o})`),m=n.node().getBBox(),c.attr("transform",`translate(0, ${d+u+(p?p+4*o:2*o)})`),m=n.node().getBBox(),{shapeSvg:n,bbox:m}}async function eD(t,e,r,i=[]){let a,n=t.insert("g").attr("class","label").attr("style",i.join("; ")),h=(0,l.zj)(),c="useHtmlLabels"in e?e.useHtmlLabels:(0,l._3)(h.htmlLabels)??!0,u="";u="text"in e?e.text:e.label,!c&&u.startsWith("\\")&&(u=u.substring(1)),(0,l.Wi)(u)&&(c=!0);let g=await (0,o.GZ)(n,(0,l.oB)((0,s.Sm)(u)),{width:(0,s.Un)(u,h)+50,classes:"markdown-node-label",useHtmlLabels:c},h),f=1;if(c){let t=g.children[0],e=(0,d.Ltv)(g);f=t.innerHTML.split("<br>").length,t.innerHTML.includes("</math>")&&(f+=t.innerHTML.split("<mrow>").length-1),await p(t),a=t.getBoundingClientRect(),e.attr("width",a.width),e.attr("height",a.height)}else{i.includes("font-weight: bolder")&&(0,d.Ltv)(g).selectAll("tspan").attr("font-weight",""),f=g.children.length;let t=g.children[0];(""===g.textContent||g.textContent.includes(">"))&&(t.textContent=u[0]+u.substring(1).replaceAll(">",">").replaceAll("<","<").trim()," "===u[1]&&(t.textContent=t.textContent[0]+" "+t.textContent.substring(1))),"undefined"===t.textContent&&(t.textContent=""),a=g.getBBox()}return n.attr("transform","translate(0,"+(-a.height/(2*f)+r)+")"),a.height}async function eK(t,e){let r=(0,l.D7)(),{theme:o,themeVariables:a}=r,{useGradient:s,borderColorArray:h}=a,c=r.class.padding??12,p=e.useHtmlLabels??(0,l._3)(r.htmlLabels)??!0;e.annotations=e.annotations??[],e.members=e.members??[],e.methods=e.methods??[];let{shapeSvg:g,bbox:f}=await eO(t,e,r,p,c);(0,n.XE)(g,e.colorIndex,o,h);let{labelStyles:y,nodeStyles:m}=(0,i.GX)(e);e.labelStyle=y,e.cssStyles=e.styles||"";let x=e.styles?.join(";")||m||"";e.cssStyles||(e.cssStyles=x.replaceAll("!important","").split(";"));let b=0===e.members.length&&0===e.methods.length&&!r.class?.hideEmptyMembersBox,k=u.A.svg(g),w=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(w.roughness=0,w.fillStyle="solid");let T=Math.max(e.width??0,f.width),B=Math.max(e.height??0,f.height),S=(e.height??0)>f.height;0===e.members.length&&0===e.methods.length?B+=c:e.members.length>0&&0===e.methods.length&&(B+=2*c);let v=-T/2,_=-B/2,F=b?2*c:0===e.members.length&&0===e.methods.length?-c:0;S&&(F=2*c);let A=k.rectangle(v-c,_-c-(b?c:0===e.members.length&&0===e.methods.length?-c/2:0),T+2*c,B+2*c+F,w),L=g.insert(()=>A,":first-child");L.attr("class","basic label-container outer-path");let M=L.node().getBBox(),E=g.select(".annotation-group").node().getBBox().height-(b?c/2:0)||0,O=g.select(".label-group").node().getBBox().height-(b?c/2:0)||0,D=g.select(".members-group").node().getBBox().height-(b?c/2:0)||0,K=(E+O+_+c-(_-c-(b?c:0===e.members.length&&0===e.methods.length?-c/2:0)))/2;if(g.selectAll(".text").each((t,i,o)=>{let a=(0,d.Ltv)(o[i]),n=a.attr("transform"),s=0;if(n){let t=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(n);t&&(s=parseFloat(t[2]))}let l=s+_+c-(b?c:0===e.members.length&&0===e.methods.length?-c/2:0);if(a.attr("class").includes("methods-group")){let t=Math.max(D,c/2);l=S?Math.max(K,E+O+t+_+2*c+c)+2*c:E+O+t+_+4*c+c}0===e.members.length&&0===e.methods.length&&r.class?.hideEmptyMembersBox&&(l=e.annotations.length>0?s-c:s),p||(l-=4);let h=v;(a.attr("class").includes("label-group")||a.attr("class").includes("annotation-group"))&&(h=-a.node()?.getBBox().width/2||0,g.selectAll("text").each(function(t,e,r){"middle"===window.getComputedStyle(r[e]).textAnchor&&(h=0)})),a.attr("transform",`translate(${h}, ${l})`)}),e.members.length>0||e.methods.length>0||b){let t=E+O+_+c,r=k.line(M.x,t,M.x+M.width,t+.001,w);g.insert(()=>r).attr("class",`divider${"neo"===e.look&&!s?" neo-line":""}`).attr("style",x)}if(b||e.members.length>0||e.methods.length>0){let t=E+O+D+_+2*c+c,r=k.line(M.x,S?Math.max(K,t):t,M.x+M.width,(S?Math.max(K,t):t)+.001,w);g.insert(()=>r).attr("class",`divider${"neo"===e.look&&!s?" neo-line":""}`).attr("style",x)}if("handDrawn"!==e.look&&g.selectAll("path").attr("style",x),L.select(":nth-child(2)").attr("style",x),g.selectAll(".divider").select("path").attr("style",x),e.labelStyle?g.selectAll("span").attr("style",e.labelStyle):g.selectAll("span").attr("style",x),!p){let t=RegExp(/color\s*:\s*([^;]*)/),e=t.exec(x);if(e){let t=e[0].replace("color","fill");g.selectAll("tspan").attr("style",t)}else if(y){let e=t.exec(y);if(e){let t=e[0].replace("color","fill");g.selectAll("tspan").attr("style",t)}}}return C(e,L),e.intersect=function(t){return $.rect(e,t)},g}async function eI(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let n="verifyMethod"in e,s=b(e),h=(0,l.D7)(),{themeVariables:c}=h,{borderColorArray:p,requirementEdgeLabelBackground:g}=c,f="elk"===h.layout?"start":"center",y=t.insert("g").attr("class",s).attr("id",e.domId??e.id),m=r=n?await eq(y,`<<${e.type}>>`,0,e.labelStyle):await eq(y,"<<Element>>",0,e.labelStyle),x=await eq(y,e.name,m,e.labelStyle+"; font-weight: bold;");if(m+=x+20,n){let t=await eq(y,`${e.requirementId?`ID: ${e.requirementId}`:""}`,m,e.labelStyle,f);m+=t;let r=await eq(y,`${e.text?`Text: ${e.text}`:""}`,m,e.labelStyle,f);m+=r;let i=await eq(y,`${e.risk?`Risk: ${e.risk}`:""}`,m,e.labelStyle,f);m+=i,await eq(y,`${e.verifyMethod?`Verification: ${e.verifyMethod}`:""}`,m,e.labelStyle,f)}else{let t=await eq(y,`${e.type?`Type: ${e.type}`:""}`,m,e.labelStyle,f);m+=t,await eq(y,`${e.docRef?`Doc Ref: ${e.docRef}`:""}`,m,e.labelStyle,f)}let k=(y.node()?.getBBox().width??200)+20,w=(y.node()?.getBBox().height??200)+20,T=-k/2,B=-w/2,S=u.A.svg(y),v=(0,i.Fr)(e,{});"handDrawn"!==e.look&&(v.roughness=0,v.fillStyle="solid");let _=S.rectangle(T,B,k,w,v),F=y.insert(()=>_,":first-child");if(F.attr("class","basic label-container outer-path").attr("style",a),p?.length){let t=e.colorIndex??0;y.attr("data-color-id",`color-${t%p.length}`)}if(y.selectAll(".label").each((t,e,r)=>{let i=(0,d.Ltv)(r[e]),o=i.attr("transform"),a=0,n=0;if(o){let t=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(o);t&&(a=parseFloat(t[1]),n=parseFloat(t[2]))}let s=n-w/2,l=T+10;(0===e||1===e)&&(l=a),i.attr("transform",`translate(${l}, ${s+20})`)}),m>r+x+20){let t,i=B+r+x+20;if("neo"===e.look){let e=[[T,i],[T+k,i],[T+k,i+.001],[T,i+.001]];t=S.polygon(e,v)}else t=S.line(T,i,T+k,i,v);y.insert(()=>t).attr("class","divider")}return C(e,F),e.intersect=function(t){return $.rect(e,t)},a&&"handDrawn"!==e.look&&(g||p?.length)&&y.selectAll("path").attr("style",a),y}async function eq(t,e,r,i="",a="center"){let n;if(""===e)return 0;let h=t.insert("g").attr("class","label").attr("style",i),c=(0,l.D7)(),u=c.htmlLabels??!0,p=await (0,o.GZ)(h,(0,l.oB)((0,s.Sm)(e)),{width:(0,s.Un)(e,c)+50,classes:"markdown-node-label",useHtmlLabels:u,style:i},c);if(u){let t=p.children[0],e=(0,d.Ltv)(p);"start"===a&&(0,d.Ltv)(t).style("text-align","left"),n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}else{let t=p.children[0];for(let e of t.children)i&&e.setAttribute("style",i);if("start"===a)for(let e of(t.setAttribute("text-anchor","start"),t.children))e.setAttribute("text-anchor","start");n=p.getBBox(),n.height+=6}return h.attr("transform",`translate(${-n.width/2},${-n.height/2+r})`),n.height}(0,c.K)(eM,"erBox"),(0,c.K)(e$,"addText"),(0,c.K)(eE,"lineToPolygon"),(0,c.K)(eO,"textHelper"),(0,c.K)(eD,"addText"),(0,c.K)(eK,"classBox"),(0,c.K)(eI,"requirementBox"),(0,c.K)(eq,"addText");var eR=(0,c.K)(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function eP(t,e,{config:r}){let o,a,n,s,{labelStyles:l,nodeStyles:h}=(0,i.GX)(e);e.labelStyle=l||"";let c=e.width;e.width=(e.width??200)-10;let{shapeSvg:d,bbox:p,label:g}=await m(t,e,b(e)),f=e.padding||10,y="";"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(y=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),o=d.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",y).attr("target","_blank"));let k={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};o?{label:a,bbox:n}=await x(o,"ticket"in e&&e.ticket||"",k):{label:a,bbox:n}=await x(d,"ticket"in e&&e.ticket||"",k);let{label:w,bbox:T}=await x(d,"assigned"in e&&e.assigned||"",k);e.width=c;let B=e?.width||0,S=Math.max(n.height,T.height)/2,v=Math.max(p.height+20,e?.height||0)+S,_=-B/2,F=-v/2;g.attr("transform","translate("+(f-B/2)+", "+(-S-p.height/2)+")"),a.attr("transform","translate("+(f-B/2)+", "+(-S+p.height/2)+")"),w.attr("transform","translate("+(f+B/2-T.width-20)+", "+(-S+p.height/2)+")");let{rx:A,ry:L}=e,{cssStyles:M}=e;if("handDrawn"===e.look){let t=u.A.svg(d),r=(0,i.Fr)(e,{}),o=A||L?t.path(E(_,F,B,v,A||0),r):t.rectangle(_,F,B,v,r);(s=d.insert(()=>o,":first-child")).attr("class","basic label-container").attr("style",M||null)}else{(s=d.insert("rect",":first-child")).attr("class","basic label-container __APA__").attr("style",h).attr("rx",A??5).attr("ry",L??5).attr("x",_).attr("y",F).attr("width",B).attr("height",v);let t="priority"in e&&e.priority;if(t){let e=d.append("line"),r=_+2,i=F+Math.floor((A??0)/2),o=F+v-Math.floor((A??0)/2);e.attr("x1",r).attr("y1",i).attr("x2",r).attr("y2",o).attr("stroke-width","4").attr("stroke",eR(t))}}return C(e,s),e.height=v,e.intersect=function(t){return $.rect(e,t)},d}async function ez(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:l,halfPadding:c,label:d}=await m(t,e,b(e)),p=l.width+10*c,g=l.height+8*c,f=.15*p,{cssStyles:y}=e,x=l.width+20,k=l.height+20,w=Math.max(p,x),T=Math.max(g,k);d.attr("transform",`translate(${-l.width/2}, ${-l.height/2})`);let B=`M0 0 + a${f},${f} 1 0,0 ${.25*w},${-1*T*.1} + a${f},${f} 1 0,0 ${.25*w},0 + a${f},${f} 1 0,0 ${.25*w},0 + a${f},${f} 1 0,0 ${.25*w},${.1*T} + + a${f},${f} 1 0,0 ${.15*w},${.33*T} + a${.8*f},${.8*f} 1 0,0 0,${.34*T} + a${f},${f} 1 0,0 ${-1*w*.15},${.33*T} + + a${f},${f} 1 0,0 ${-1*w*.25},${.15*T} + a${f},${f} 1 0,0 ${-1*w*.25},0 + a${f},${f} 1 0,0 ${-1*w*.25},0 + a${f},${f} 1 0,0 ${-1*w*.25},${-1*T*.15} + + a${f},${f} 1 0,0 ${-1*w*.1},${-1*T*.33} + a${.8*f},${.8*f} 1 0,0 0,${-1*T*.34} + a${f},${f} 1 0,0 ${.1*w},${-1*T*.33} + H0 V0 Z`;if("handDrawn"===e.look){let t=u.A.svg(n),o=(0,i.Fr)(e,{}),a=t.path(B,o);(r=n.insert(()=>a,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(y))}else r=n.insert("path",":first-child").attr("class","basic label-container").attr("style",a).attr("d",B);return r.attr("transform",`translate(${-w/2}, ${-T/2})`),C(e,r),e.calcIntersect=function(t,e){return $.rect(t,e)},e.intersect=function(t){return h.R.info("Bang intersect",e,t),$.rect(e,t)},n}async function eW(t,e){let r,{labelStyles:o,nodeStyles:a}=(0,i.GX)(e);e.labelStyle=o;let{shapeSvg:n,bbox:l,halfPadding:c,label:d}=await m(t,e,b(e)),p=l.width+2*c,g=l.height+2*c,f=.15*p,y=.25*p,x=.35*p,k=.2*p,{cssStyles:w}=e,T=`M0 0 + a${f},${f} 0 0,1 ${.25*p},${-1*p*.1} + a${x},${x} 1 0,1 ${.4*p},${-1*p*.1} + a${y},${y} 1 0,1 ${.35*p},${.2*p} + + a${f},${f} 1 0,1 ${.15*p},${.35*g} + a${k},${k} 1 0,1 ${-1*p*.15},${.65*g} + + a${y},${f} 1 0,1 ${-1*p*.25},${.15*p} + a${x},${x} 1 0,1 ${-1*p*.5},0 + a${f},${f} 1 0,1 ${-1*p*.25},${-1*p*.15} + + a${f},${f} 1 0,1 ${-1*p*.1},${-1*g*.35} + a${k},${k} 1 0,1 ${.1*p},${-1*g*.65} + H0 V0 Z`;if("handDrawn"===e.look){let t=u.A.svg(n),o=(0,i.Fr)(e,{}),a=t.path(T,o);(r=n.insert(()=>a,":first-child")).attr("class","basic label-container").attr("style",(0,s.KL)(w))}else r=n.insert("path",":first-child").attr("class","basic label-container").attr("style",a).attr("d",T);return d.attr("transform",`translate(${-l.width/2}, ${-l.height/2})`),r.attr("transform",`translate(${-p/2}, ${-g/2})`),C(e,r),e.calcIntersect=function(t,e){return $.rect(t,e)},e.intersect=function(t){return h.R.info("Cloud intersect",e,t),$.rect(e,t)},n}async function eN(t,e){let{labelStyles:r,nodeStyles:o}=(0,i.GX)(e);e.labelStyle=r;let{shapeSvg:a,bbox:n,halfPadding:s,label:l}=await m(t,e,b(e)),h=n.width+8*s,c=n.height+2*s,d="neo"===e.look?` + M${-h/2} ${c/2-5} + v${-c+10} + q0,-5 5,-5 + h${h-10} + q5,0 5,5 + v${c-5} + H${-h/2} + Z + `:` + M${-h/2} ${c/2-5} + v${-c+10} + q0,-5 5,-5 + h${h-10} + q5,0 5,5 + v${c-10} + q0,5 -5,5 + h${-(h-10)} + q-5,0 -5,-5 + Z + `;if(!e.domId)throw Error(`defaultMindmapNode: node "${e.id}" is missing a domId \u2014 was render.ts domId prefixing skipped?`);let u=a.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",o).attr("d",d);return a.append("line").attr("class","node-line-").attr("x1",-h/2).attr("y1",c/2).attr("x2",h/2).attr("y2",c/2),l.attr("transform",`translate(${-n.width/2}, ${-n.height/2})`),a.append(()=>l.node()),C(e,u),e.calcIntersect=function(t,e){return $.rect(t,e)},e.intersect=function(t){return $.rect(e,t)},a}async function ej(t,e){let r={padding:e.padding??0};return J(t,e,r)}(0,c.K)(eP,"kanbanItem"),(0,c.K)(ez,"bang"),(0,c.K)(eW,"cloud"),(0,c.K)(eN,"defaultMindmapNode"),(0,c.K)(ej,"mindmapCircle");var eH=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:eh},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:en},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:ed},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:ef},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:tf},{semanticName:"Data Store",name:"Data Store",shortName:"datastore",description:"Data flow diagram data store",aliases:["data-store"],handler:tm},{semanticName:"Folder",name:"Folder",shortName:"folder",description:"Folder or directory",aliases:["directory"],handler:tT},{semanticName:"Bucket",name:"Bucket",shortName:"bucket",description:"Object storage bucket",handler:R},{semanticName:"Console",name:"Console (terminal window)",shortName:"console",description:"Terminal or console window",handler:te},{semanticName:"Browser",name:"Browser",shortName:"browser",description:"Browser window",handler:Z},{semanticName:"Person",name:"Person",shortName:"person",description:"Person (circular head above a rounded body)",handler:td},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:J},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:ez},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:eW},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:ei},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:t_},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:tI},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:tK},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:eT},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:tO},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:tC},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:ex},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:V},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:es},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:eg},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:ep},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:tB},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:tF},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:ta},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:ts},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:th},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:tq},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:ev},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:tS},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:ew},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:tW},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:tc},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:tx},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:eS},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:eF},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:tk},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:eB},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:tw},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:el},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:et},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:t9},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:q},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:ti},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:em},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:ey},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:e_},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:eo},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:tN}],eU=(0,c.K)(()=>Object.fromEntries([...Object.entries({state:eu,choice:Q,note:ee,composite:tt,rectWithTitle:ea,labelRect:tD,block_arrow:X,collapsedGroup:z,iconSquare:t$,iconCircle:tL,icon:tA,iconRounded:tM,imageSquare:tE,anchor:D,kanbanItem:eP,mindmapCircle:ej,defaultMindmapNode:eN,classBox:eK,erBox:eM,requirementBox:eI,usecaseActor:tJ,usecaseActorHollow:t1,usecaseActorAwesome:t0,usecaseActorIcon:t5,usecaseBusiness:t4,usecaseEllipse:tb,usecaseJsonTable:t7}),...eH.flatMap(t=>[t.shortName,..."aliases"in t?t.aliases:[],..."internalAliases"in t?t.internalAliases:[]].map(e=>[e,t.handler]))]),"generateShapeMap")();function eY(t){return t in eU}(0,c.K)(eY,"isValidShape")},739(t,e,r){"use strict";r.d(e,{Fr:()=>d,GX:()=>c,KX:()=>h,WW:()=>s,ue:()=>a});var i=r(1177),o=r(6827),a=(0,o.K)(t=>{let{handDrawnSeed:e}=(0,i.D7)();return{fill:t,hachureAngle:120,hachureGap:1.5,fillWeight:1.5,roughness:.7,stroke:t,seed:e}},"solidStateFill"),n=(0,o.K)(t=>Array.isArray(t)?t:t?t.split(";").map(t=>t.trim()).filter(Boolean):[],"normalizeStyleList"),s=(0,o.K)(t=>{let e=l([...t.cssCompiledStyles||[],...t.cssStyles||[],...n(t.labelStyle)]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),l=(0,o.K)(t=>{let e=new Map;return t.forEach(t=>{let[r,i]=t.split(":");e.set(r.trim(),i?.trim())}),e},"styles2Map"),h=(0,o.K)(t=>"color"===t||"font-size"===t||"font-family"===t||"font-weight"===t||"font-style"===t||"text-decoration"===t||"text-align"===t||"text-transform"===t||"line-height"===t||"letter-spacing"===t||"word-spacing"===t||"text-shadow"===t||"text-overflow"===t||"white-space"===t||"word-wrap"===t||"word-break"===t||"overflow-wrap"===t||"hyphens"===t,"isLabelStyle"),c=(0,o.K)(t=>{let{stylesArray:e}=s(t),r=[],i=[],o=[],a=[];return e.forEach(t=>{let e=t[0];h(e)?r.push(t.join(":")+" !important"):(i.push(t.join(":")+" !important"),e.includes("stroke")&&o.push(t.join(":")+" !important"),"fill"===e&&a.push(t.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:i.join(";"),stylesArray:e,borderStyles:o,backgroundStyles:a}},"styles2String"),d=(0,o.K)((t,e)=>{let{themeVariables:r,handDrawnSeed:o}=(0,i.D7)(),{nodeBorder:a,mainBkg:n}=r,{stylesMap:l}=s(t);return Object.assign({roughness:.7,fill:l.get("fill")||n,fillStyle:"hachure",fillWeight:1.5,hachureGap:1.5,stroke:l.get("stroke")||a,seed:o,strokeWidth:l.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:u(l.get("stroke-dasharray"))},e)},"userNodeOverrides"),u=(0,o.K)(t=>{if(!t)return[0,0];let e=t.trim().split(/\s+/).map(Number);if(1===e.length){let t=isNaN(e[0])?0:e[0];return[t,t]}return[isNaN(e[0])?0:e[0],isNaN(e[1])?0:e[1]]},"getStrokeDashArray")},3247(t,e,r){"use strict";r.d(e,{F:()=>o});var i=r(6827),o=(0,i.K)((t,e)=>{let{theme:r,themeVariables:o}=e,{useGradient:a,gradientStart:n,gradientStop:s}=o??{},l=t.attr("id"),h=r?.includes("dark")?"#FFFFFF":"#000000",c=(0,i.K)((e,r,i)=>t.append("defs").append("filter").attr("id",e).attr("height",r).attr("width",r).append("feDropShadow").attr("dx",i).attr("dy",i).attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",h),"dropShadow");if(c(`${l}-drop-shadow`,"130%","4"),c(`${l}-drop-shadow-small`,"150%","2"),!a)return;let d=t.append("linearGradient").attr("id",`${l}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");d.append("svg:stop").attr("offset","0%").attr("stop-color",n).attr("stop-opacity",1),d.append("svg:stop").attr("offset","100%").attr("stop-color",s).attr("stop-opacity",1)},"insertLookDefs")},2391(t,e,r){"use strict";r.d(e,{XX:()=>m,q7:()=>C,sO:()=>f});var i=r(3247),o=r(5616),a=r(6163),n=r(7827),s=r(3002),l=r(6348),h=r(1177),c=r(1293),d=r(6827),u={common:h.Y2,getConfig:h.zj,insertCluster:o.U,insertEdge:a.Jo,insertEdgeLabel:a.jP,insertMarkers:a.g0,insertNode:n.on,interpolateToCurve:l.Ib,labelHelper:s.Zk,log:c.R,positionEdgeLabel:a.T_},p=["elk.stress","elk.force","elk.mrtree","elk.sporeOverlap","elk.box","elk.rectpacking"],g=Object.create(null),f=(0,d.K)(t=>{for(let e of t)g[e.name]=e},"registerLayoutLoaders"),y=(0,d.K)(()=>{let t=(0,d.K)(async()=>await Promise.all([r.e("2107"),r.e("5250"),r.e("5576"),r.e("5651")]).then(r.bind(r,510)),"loader");return[{name:"elk",loader:t,algorithm:"elk.layered"},...p.map(e=>({name:e,loader:t,algorithm:e}))]},"elkLayoutLoaders");(0,d.K)(()=>{f([{name:"dagre",loader:(0,d.K)(async()=>await Promise.all([r.e("2107"),r.e("5250"),r.e("5576"),r.e("7472"),r.e("7693")]).then(r.bind(r,5308)),"loader")},{name:"swimlane",loader:(0,d.K)(async()=>await Promise.all([r.e("2107"),r.e("5250"),r.e("5576"),r.e("896")]).then(r.bind(r,6483)),"loader")},{name:"cose-bilkent",loader:(0,d.K)(async()=>await Promise.all([r.e("4950"),r.e("8645")]).then(r.bind(r,2180)),"loader")},...y()])},"registerDefaultLayoutLoaders")();var m=(0,d.K)(async(t,e)=>{if(!Object.hasOwn(g,t.layoutAlgorithm))throw Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(let e of t.nodes){let r=e.domId||e.id;e.domId=`${t.diagramId}-${r}`}let r=g[t.layoutAlgorithm],o=await r.loader();return(0,i.F)(e,t.config),o.render(t,e,u,{algorithm:r.algorithm})},"render"),x="dagre",C=(0,d.K)((t="",{fallback:e=x}={})=>{if(Object.hasOwn(g,t))return t;for(let r of[e,x])if(Object.hasOwn(g,r))return c.R.warn(`Layout algorithm ${t} is not registered. Using ${r} as fallback.`),r;throw Error(`Neither layout algorithm ${t}, ${e}, nor ${x} is registered.`)},"getRegisteredLayoutAlgorithm")},2941(t,e,r){"use strict";r.d(e,{Fx:()=>o,Hu:()=>h,Ic:()=>a,P1:()=>n,XE:()=>d,nw:()=>c,rq:()=>l});var i=r(6827),o=new Set(["redux-color","redux-dark-color"]),a=(0,i.K)(t=>Array.isArray(t)&&t.length>0,"hasPalette"),n=(0,i.K)((t,e)=>null!=t&&o.has(t)&&a(e),"isColorTheme"),s=/^[\w-]+$/,l=(0,i.K)(t=>{let e="string"==typeof t||"number"==typeof t?String(t):"";return s.test(e)?e:"classic"},"safeLook"),h=(0,i.K)(t=>a(t)?t.length:0,"paletteSlotCount"),c=(0,i.K)((t,e)=>a(e)?h(e):"number"==typeof t&&Number.isInteger(t)&&t>0&&t<=64?t:12,"colorSlotCount"),d=(0,i.K)((t,e,r,i)=>{if(void 0===e||!n(r,i))return;let o=e%h(i);t.attr("data-color-id",`color-${o}`)},"stampColorSlot")},841(t,e,r){"use strict";r.d(e,{H:()=>t_,r:()=>tv});var i,o,a,n,s,l,h,c,d,u,p,g,f,y,m,x,C,b,k,w,T,B,S,v,_,F,A,L,M,$,E,O,D,K,I,q,R,P,z,W,N,j,H,U,Y,G,X=r(6827);function Z(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}(0,X.K)(Z,"getDefaultExportFromCjs");var V={},Q={},J={};function tt(){if(i)return J;function t(t){return null==t}function e(t){return"object"==typeof t&&null!==t}function r(e){return Array.isArray(e)?e:t(e)?[]:[e]}function o(t,e){if(e){let r=Object.keys(e);for(let i=0,o=r.length;i<o;i+=1){let o=r[i];t[o]=e[o]}}return t}function a(t,e){let r="";for(let i=0;i<e;i+=1)r+=t;return r}function n(t){return 0===t&&-1/0==1/t}return i=1,(0,X.K)(t,"isNothing"),(0,X.K)(e,"isObject"),(0,X.K)(r,"toArray"),(0,X.K)(o,"extend"),(0,X.K)(a,"repeat"),(0,X.K)(n,"isNegativeZero"),J.isNothing=t,J.isObject=e,J.toArray=r,J.repeat=a,J.isNegativeZero=n,J.extend=o,J}function te(){if(a)return o;function t(t,e){let r="",i=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(r+='in "'+t.mark.name+'" '),r+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(r+="\n\n"+t.mark.snippet),i+" "+r):i}function e(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=t(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack||""}return a=1,(0,X.K)(t,"formatError"),(0,X.K)(e,"YAMLException2"),e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e.prototype.toString=(0,X.K)(function(e){return this.name+": "+t(this,e)},"toString"),o=e}function tr(){if(s)return n;s=1;let t=tt();function e(t,e,r,i,o){let a="",n="",s=Math.floor(o/2)-1;return i-e>s&&(e=i-s+(a=" ... ").length),r-i>s&&(r=i+s-(n=" ...").length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+n,pos:i-e+a.length}}function r(e,r){return t.repeat(" ",r-e.length)+e}function i(i,o){let a;if(o=Object.create(o||null),!i.buffer)return null;o.maxLength||(o.maxLength=79),"number"!=typeof o.indent&&(o.indent=1),"number"!=typeof o.linesBefore&&(o.linesBefore=3),"number"!=typeof o.linesAfter&&(o.linesAfter=2);let n=/\r?\n|\r|\0/g,s=[0],l=[],h=-1;for(;a=n.exec(i.buffer);)l.push(a.index),s.push(a.index+a[0].length),i.position<=a.index&&h<0&&(h=s.length-2);h<0&&(h=s.length-1);let c="",d=Math.min(i.line+o.linesAfter,l.length).toString().length,u=o.maxLength-(o.indent+d+3);for(let a=1;a<=o.linesBefore&&!(h-a<0);a++){let n=e(i.buffer,s[h-a],l[h-a],i.position-(s[h]-s[h-a]),u);c=t.repeat(" ",o.indent)+r((i.line-a+1).toString(),d)+" | "+n.str+"\n"+c}let p=e(i.buffer,s[h],l[h],i.position,u);c+=t.repeat(" ",o.indent)+r((i.line+1).toString(),d)+" | "+p.str+"\n"+t.repeat("-",o.indent+d+3+p.pos)+"^\n";for(let a=1;a<=o.linesAfter&&!(h+a>=l.length);a++){let n=e(i.buffer,s[h+a],l[h+a],i.position-(s[h]-s[h+a]),u);c+=t.repeat(" ",o.indent)+r((i.line+a+1).toString(),d)+" | "+n.str+"\n"}return c.replace(/\n$/,"")}return(0,X.K)(e,"getLine"),(0,X.K)(r,"padStart"),(0,X.K)(i,"makeSnippet"),n=i}function ti(){if(h)return l;h=1;let t=te(),e=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],r=["scalar","sequence","mapping"];function i(t){let e={};return null!==t&&Object.keys(t).forEach(function(r){t[r].forEach(function(t){e[String(t)]=r})}),e}function o(o,a){if(Object.keys(a=a||{}).forEach(function(r){if(-1===e.indexOf(r))throw new t('Unknown option "'+r+'" is met in definition of "'+o+'" YAML type.')}),this.options=a,this.tag=o,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(t){return t},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=i(a.styleAliases||null),-1===r.indexOf(this.kind))throw new t('Unknown kind "'+this.kind+'" is specified for "'+o+'" YAML type.')}return(0,X.K)(i,"compileStyleAliases"),(0,X.K)(o,"Type2"),l=o}function to(){if(d)return c;d=1;let t=te(),e=ti();function r(t,e){let r=[];return t[e].forEach(function(t){let e=r.length;r.forEach(function(r,i){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=i)}),r[e]=t}),r}function i(){let t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function e(e){e.multi?(t.multi[e.kind].push(e),t.multi.fallback.push(e)):t[e.kind][e.tag]=t.fallback[e.tag]=e}(0,X.K)(e,"collectType");for(let t=0,r=arguments.length;t<r;t+=1)arguments[t].forEach(e);return t}function o(t){return this.extend(t)}return(0,X.K)(r,"compileList"),(0,X.K)(i,"compileMap"),(0,X.K)(o,"Schema2"),o.prototype.extend=(0,X.K)(function(a){let n=[],s=[];if(a instanceof e)s.push(a);else if(Array.isArray(a))s=s.concat(a);else if(a&&(Array.isArray(a.implicit)||Array.isArray(a.explicit)))a.implicit&&(n=n.concat(a.implicit)),a.explicit&&(s=s.concat(a.explicit));else throw new t("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");n.forEach(function(r){if(!(r instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(r.loadKind&&"scalar"!==r.loadKind)throw new t("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(r.multi)throw new t("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),s.forEach(function(r){if(!(r instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.")});let l=Object.create(o.prototype);return l.implicit=(this.implicit||[]).concat(n),l.explicit=(this.explicit||[]).concat(s),l.compiledImplicit=r(l,"implicit"),l.compiledExplicit=r(l,"explicit"),l.compiledTypeMap=i(l.compiledImplicit,l.compiledExplicit),l},"extend"),c=o}function ta(){return p?u:(p=1,u=new(ti())("tag:yaml.org,2002:str",{kind:"scalar",construct:(0,X.K)(function(t){return null!==t?t:""},"construct")}))}function tn(){return f?g:(f=1,g=new(ti())("tag:yaml.org,2002:seq",{kind:"sequence",construct:(0,X.K)(function(t){return null!==t?t:[]},"construct")}))}function ts(){return m?y:(m=1,y=new(ti())("tag:yaml.org,2002:map",{kind:"mapping",construct:(0,X.K)(function(t){return null!==t?t:{}},"construct")}))}function tl(){return C?x:(C=1,x=new(to())({explicit:[ta(),tn(),ts()]}))}function th(){if(k)return b;k=1;let t=ti();function e(t){if(null===t)return!0;let e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)}function r(){return null}function i(t){return null===t}return(0,X.K)(e,"resolveYamlNull"),(0,X.K)(r,"constructYamlNull"),(0,X.K)(i,"isNull"),b=new t("tag:yaml.org,2002:null",{kind:"scalar",resolve:e,construct:r,predicate:i,represent:{canonical:(0,X.K)(function(){return"~"},"canonical"),lowercase:(0,X.K)(function(){return"null"},"lowercase"),uppercase:(0,X.K)(function(){return"NULL"},"uppercase"),camelcase:(0,X.K)(function(){return"Null"},"camelcase"),empty:(0,X.K)(function(){return""},"empty")},defaultStyle:"lowercase"})}function tc(){if(T)return w;T=1;let t=ti();function e(t){if(null===t)return!1;let e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)}function r(t){return"true"===t||"True"===t||"TRUE"===t}function i(t){return"[object Boolean]"===Object.prototype.toString.call(t)}return(0,X.K)(e,"resolveYamlBoolean"),(0,X.K)(r,"constructYamlBoolean"),(0,X.K)(i,"isBoolean"),w=new t("tag:yaml.org,2002:bool",{kind:"scalar",resolve:e,construct:r,predicate:i,represent:{lowercase:(0,X.K)(function(t){return t?"true":"false"},"lowercase"),uppercase:(0,X.K)(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:(0,X.K)(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"})}function td(){if(S)return B;S=1;let t=tt(),e=ti();function r(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function i(t){return t>=48&&t<=55}function o(t){return t>=48&&t<=57}function a(t){if(null===t)return!1;let e=t.length,a=0,s=!1;if(!e)return!1;let l=t[a];if(("-"===l||"+"===l)&&(l=t[++a]),"0"===l){if(a+1===e)return!0;if("b"===(l=t[++a])){for(a++;a<e;a++){if("0"!==(l=t[a])&&"1"!==l)return!1;s=!0}return s&&isFinite(n(t))}if("x"===l){for(a++;a<e;a++){if(!r(t.charCodeAt(a)))return!1;s=!0}return s&&isFinite(n(t))}if("o"===l){for(a++;a<e;a++){if(!i(t.charCodeAt(a)))return!1;s=!0}return s&&isFinite(n(t))}}for(;a<e;a++){if(!o(t.charCodeAt(a)))return!1;s=!0}return!!s&&isFinite(n(t))}function n(t){let e=t,r=1,i=e[0];if(("-"===i||"+"===i)&&("-"===i&&(r=-1),i=(e=e.slice(1))[0]),"0"===e)return 0;if("0"===i){if("b"===e[1])return r*parseInt(e.slice(2),2);if("x"===e[1])return r*parseInt(e.slice(2),16);if("o"===e[1])return r*parseInt(e.slice(2),8)}return r*parseInt(e,10)}function s(t){return n(t)}function l(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!t.isNegativeZero(e)}return(0,X.K)(r,"isHexCode"),(0,X.K)(i,"isOctCode"),(0,X.K)(o,"isDecCode"),(0,X.K)(a,"resolveYamlInteger"),(0,X.K)(n,"parseYamlInteger"),(0,X.K)(s,"constructYamlInteger"),(0,X.K)(l,"isInteger"),B=new e("tag:yaml.org,2002:int",{kind:"scalar",resolve:a,construct:s,predicate:l,represent:{binary:(0,X.K)(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:(0,X.K)(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:(0,X.K)(function(t){return t.toString(10)},"decimal"),hexadecimal:(0,X.K)(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})}function tu(){if(_)return v;_=1;let t=tt(),e=ti(),r=RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),i=RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function o(t){return null!==t&&!!r.test(t)&&(!!isFinite(parseFloat(t,10))||i.test(t))}function a(t){let e=t.toLowerCase(),r="-"===e[0]?-1:1;return("+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e)?1===r?1/0:-1/0:".nan"===e?NaN:r*parseFloat(e,10)}(0,X.K)(o,"resolveYamlFloat"),(0,X.K)(a,"constructYamlFloat");let n=/^[-+]?[0-9]+e/;function s(e,r){if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(1/0===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(-1/0===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(t.isNegativeZero(e))return"-0.0";let i=e.toString(10);return n.test(i)?i.replace("e",".e"):i}function l(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||t.isNegativeZero(e))}return(0,X.K)(s,"representYamlFloat"),(0,X.K)(l,"isFloat"),v=new e("tag:yaml.org,2002:float",{kind:"scalar",resolve:o,construct:a,predicate:l,represent:s,defaultStyle:"lowercase"})}function tp(){return A?F:(A=1,F=tl().extend({implicit:[th(),tc(),td(),tu()]}))}function tg(){return M?L:(M=1,L=tp())}function tf(){if(E)return $;E=1;let t=ti(),e=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),r=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 i(t){return null!==t&&(null!==e.exec(t)||null!==r.exec(t))}function o(t){let i=0,o=null,a=e.exec(t);if(null===a&&(a=r.exec(t)),null===a)throw Error("Date resolve error");let n=+a[1],s=a[2]-1,l=+a[3];if(!a[4])return new Date(Date.UTC(n,s,l));let h=+a[4],c=+a[5],d=+a[6];if(a[7]){for(i=a[7].slice(0,3);i.length<3;)i+="0";i*=1}a[9]&&(o=(60*a[10]+ +(a[11]||0))*6e4,"-"===a[9]&&(o=-o));let u=new Date(Date.UTC(n,s,l,h,c,d,i));return o&&u.setTime(u.getTime()-o),u}function a(t){return t.toISOString()}return(0,X.K)(i,"resolveYamlTimestamp"),(0,X.K)(o,"constructYamlTimestamp"),(0,X.K)(a,"representYamlTimestamp"),$=new t("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:i,construct:o,instanceOf:Date,represent:a})}function ty(){if(D)return O;D=1;let t=ti();function e(t){return"<<"===t||null===t}return(0,X.K)(e,"resolveYamlMerge"),O=new t("tag:yaml.org,2002:merge",{kind:"scalar",resolve:e})}function tm(){if(I)return K;I=1;let t=ti(),e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function r(t){if(null===t)return!1;let r=0,i=t.length;for(let o=0;o<i;o++){let i=e.indexOf(t.charAt(o));if(!(i>64)){if(i<0)return!1;r+=6}}return r%8==0}function i(t){let r=t.replace(/[\r\n=]/g,""),i=r.length,o=0,a=[];for(let t=0;t<i;t++)t%4==0&&t&&(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|e.indexOf(r.charAt(t));let n=i%4*6;return 0===n?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===n?(a.push(o>>10&255),a.push(o>>2&255)):12===n&&a.push(o>>4&255),new Uint8Array(a)}function o(t){let r="",i=0,o=t.length;for(let a=0;a<o;a++)a%3==0&&a&&(r+=e[i>>18&63],r+=e[i>>12&63],r+=e[i>>6&63],r+=e[63&i]),i=(i<<8)+t[a];let a=o%3;return 0===a?(r+=e[i>>18&63],r+=e[i>>12&63],r+=e[i>>6&63],r+=e[63&i]):2===a?(r+=e[i>>10&63],r+=e[i>>4&63],r+=e[i<<2&63],r+=e[64]):1===a&&(r+=e[i>>2&63],r+=e[i<<4&63],r+=e[64],r+=e[64]),r}function a(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)}return(0,X.K)(r,"resolveYamlBinary"),(0,X.K)(i,"constructYamlBinary"),(0,X.K)(o,"representYamlBinary"),(0,X.K)(a,"isBinary"),K=new t("tag:yaml.org,2002:binary",{kind:"scalar",resolve:r,construct:i,predicate:a,represent:o})}function tx(){if(R)return q;R=1;let t=ti(),e=Object.prototype.hasOwnProperty,r=Object.prototype.toString;function i(t){if(null===t)return!0;let i=[];for(let o=0,a=t.length;o<a;o+=1){let a,n=t[o],s=!1;if("[object Object]"!==r.call(n))return!1;for(a in n)if(e.call(n,a))if(s)return!1;else s=!0;if(!s||-1!==i.indexOf(a))return!1;i.push(a)}return!0}function o(t){return null!==t?t:[]}return(0,X.K)(i,"resolveYamlOmap"),(0,X.K)(o,"constructYamlOmap"),q=new t("tag:yaml.org,2002:omap",{kind:"sequence",resolve:i,construct:o})}function tC(){if(z)return P;z=1;let t=ti(),e=Object.prototype.toString;function r(t){if(null===t)return!0;let r=Array(t.length);for(let i=0,o=t.length;i<o;i+=1){let o=t[i];if("[object Object]"!==e.call(o))return!1;let a=Object.keys(o);if(1!==a.length)return!1;r[i]=[a[0],o[a[0]]]}return!0}function i(t){if(null===t)return[];let e=Array(t.length);for(let r=0,i=t.length;r<i;r+=1){let i=t[r],o=Object.keys(i);e[r]=[o[0],i[o[0]]]}return e}return(0,X.K)(r,"resolveYamlPairs"),(0,X.K)(i,"constructYamlPairs"),P=new t("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:r,construct:i})}function tb(){if(N)return W;N=1;let t=ti(),e=Object.prototype.hasOwnProperty;function r(t){if(null===t)return!0;for(let r in t)if(e.call(t,r)&&null!==t[r])return!1;return!0}function i(t){return null!==t?t:{}}return(0,X.K)(r,"resolveYamlSet"),(0,X.K)(i,"constructYamlSet"),W=new t("tag:yaml.org,2002:set",{kind:"mapping",resolve:r,construct:i})}function tk(){return H?j:(H=1,j=tg().extend({implicit:[tf(),ty()],explicit:[tm(),tx(),tC(),tb()]}))}function tw(){if(U)return Q;U=1;let t=tt(),e=te(),r=tr(),i=tk(),o=Object.prototype.hasOwnProperty,a=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=/[\x85\u2028\u2029]/,s=/[,\[\]{}]/,l=/^(?:!|!!|![0-9A-Za-z-]+!)$/,h=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function c(t){return Object.prototype.toString.call(t)}function d(t){return 10===t||13===t}function u(t){return 9===t||32===t}function p(t){return 9===t||32===t||10===t||13===t}function g(t){return 44===t||91===t||93===t||123===t||125===t}function f(t){if(t>=48&&t<=57)return t-48;let e=32|t;return e>=97&&e<=102?e-97+10:-1}function y(t){return 120===t?2:117===t?4:8*(85===t)}function m(t){return t>=48&&t<=57?t-48:-1}function x(t){switch(t){case 48:return"\0";case 97:return"\x07";case 98:return"\b";case 116:case 9:return" ";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1b";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xa0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}function C(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}function b(t,e,r){"__proto__"===e?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}(0,X.K)(c,"_class"),(0,X.K)(d,"isEol"),(0,X.K)(u,"isWhiteSpace"),(0,X.K)(p,"isWsOrEol"),(0,X.K)(g,"isFlowIndicator"),(0,X.K)(f,"fromHexCode"),(0,X.K)(y,"escapedHexLen"),(0,X.K)(m,"fromDecimalCode"),(0,X.K)(x,"simpleEscapeSequence"),(0,X.K)(C,"charFromCodepoint"),(0,X.K)(b,"setProperty");let k=Array(256),w=Array(256);for(let t=0;t<256;t++)k[t]=+!!x(t),w[t]=x(t);function T(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||i,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.maxDepth="number"==typeof e.maxDepth?e.maxDepth:100,this.maxTotalMergeKeys="number"==typeof e.maxTotalMergeKeys?e.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}function B(t,i){let o={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return o.snippet=r(o),new e(i,o)}function S(t,e){throw B(t,e)}function v(t,e){t.onWarning&&t.onWarning.call(null,B(t,e))}function _(t,e,r){let i=t.anchorMapTransactions;if(0!==i.length){let r=i[i.length-1];o.call(r,e)||(r[e]={existed:o.call(t.anchorMap,e),value:t.anchorMap[e]})}t.anchorMap[e]=r}function F(t){t.anchorMapTransactions.push(Object.create(null))}function A(t){let e=t.anchorMapTransactions.pop(),r=t.anchorMapTransactions;if(0===r.length)return;let i=r[r.length-1],a=Object.keys(e);for(let t=0,r=a.length;t<r;t+=1){let r=a[t];o.call(i,r)||(i[r]=e[r])}}function L(t){let e=t.anchorMapTransactions.pop(),r=Object.keys(e);for(let i=r.length-1;i>=0;i-=1){let o=e[r[i]];o.existed?t.anchorMap[r[i]]=o.value:delete t.anchorMap[r[i]]}}function M(t){return{position:t.position,line:t.line,lineStart:t.lineStart,lineIndent:t.lineIndent,firstTabInLine:t.firstTabInLine,tag:t.tag,anchor:t.anchor,kind:t.kind,result:t.result}}function $(t,e){t.position=e.position,t.line=e.line,t.lineStart=e.lineStart,t.lineIndent=e.lineIndent,t.firstTabInLine=e.firstTabInLine,t.tag=e.tag,t.anchor=e.anchor,t.kind=e.kind,t.result=e.result}(0,X.K)(T,"State"),(0,X.K)(B,"generateError"),(0,X.K)(S,"throwError"),(0,X.K)(v,"throwWarning"),(0,X.K)(_,"storeAnchor"),(0,X.K)(F,"beginAnchorTransaction"),(0,X.K)(A,"commitAnchorTransaction"),(0,X.K)(L,"rollbackAnchorTransaction"),(0,X.K)(M,"snapshotState"),(0,X.K)($,"restoreState");let E={YAML:(0,X.K)(function(t,e,r){null!==t.version&&S(t,"duplication of %YAML directive"),1!==r.length&&S(t,"YAML directive accepts exactly one argument");let i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]);null===i&&S(t,"ill-formed argument of the YAML directive");let o=parseInt(i[1],10),a=parseInt(i[2],10);1!==o&&S(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=a<2,1!==a&&2!==a&&v(t,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:(0,X.K)(function(t,e,r){let i;2!==r.length&&S(t,"TAG directive accepts exactly two arguments");let a=r[0];i=r[1],l.test(a)||S(t,"ill-formed tag handle (first argument) of the TAG directive"),o.call(t.tagMap,a)&&S(t,'there is a previously declared suffix for "'+a+'" tag handle'),h.test(i)||S(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(e){S(t,"tag prefix is malformed: "+i)}t.tagMap[a]=i},"handleTagDirective")};function O(t,e,r,i){if(e<r){let o=t.input.slice(e,r);if(i)for(let e=0,r=o.length;e<r;e+=1){let r=o.charCodeAt(e);9===r||r>=32&&r<=1114111||S(t,"expected valid JSON character")}else a.test(o)&&S(t,"the stream contains non-printable characters");t.result+=o}}function D(e,r,i,a){t.isObject(i)||S(e,"cannot merge mappings; the provided source object is unacceptable");let n=Object.keys(i);for(let t=0,s=n.length;t<s;t+=1){let s=n[t];-1!==e.maxTotalMergeKeys&&++e.totalMergeKeys>e.maxTotalMergeKeys&&S(e,"merge keys exceeded maxTotalMergeKeys ("+e.maxTotalMergeKeys+")"),o.call(r,s)||(b(r,s,i[s]),a[s]=!0)}}function K(t,e,r,i,a,n,s,l,h){if(Array.isArray(a)){a=Array.prototype.slice.call(a);for(let e=0,r=a.length;e<r;e+=1)Array.isArray(a[e])&&S(t,"nested arrays are not supported inside keys"),"object"==typeof a&&"[object Object]"===c(a[e])&&(a[e]="[object Object]")}if("object"==typeof a&&"[object Object]"===c(a)&&(a="[object Object]"),a=String(a),null===e&&(e={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(n))for(let i=0,o=n.length;i<o;i+=1)D(t,e,n[i],r);else D(t,e,n,r);else!t.json&&!o.call(r,a)&&o.call(e,a)&&(t.line=s||t.line,t.lineStart=l||t.lineStart,t.position=h||t.position,S(t,"duplicated mapping key")),b(e,a,n),delete r[a];return e}function I(t){let e=t.input.charCodeAt(t.position);10===e?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):S(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function q(t,e,r){let i=0,o=t.input.charCodeAt(t.position);for(;0!==o;){for(;u(o);)9===o&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),o=t.input.charCodeAt(++t.position);if(e&&35===o)do o=t.input.charCodeAt(++t.position);while(10!==o&&13!==o&&0!==o)if(d(o))for(I(t),o=t.input.charCodeAt(t.position),i++,t.lineIndent=0;32===o;)t.lineIndent++,o=t.input.charCodeAt(++t.position);else break}return -1!==r&&0!==i&&t.lineIndent<r&&v(t,"deficient indentation"),i}function R(t){let e=t.position,r=t.input.charCodeAt(e);return!!((45===r||46===r)&&r===t.input.charCodeAt(e+1)&&r===t.input.charCodeAt(e+2)&&(e+=3,0===(r=t.input.charCodeAt(e))||p(r)))||!1}function P(e,r){1===r?e.result+=" ":r>1&&(e.result+=t.repeat("\n",r-1))}function z(t,e,r){let i,o,a,n,s,l,h=t.kind,c=t.result,f=t.input.charCodeAt(t.position);if(p(f)||g(f)||35===f||38===f||42===f||33===f||124===f||62===f||39===f||34===f||37===f||64===f||96===f)return!1;if(63===f||45===f){let e=t.input.charCodeAt(t.position+1);if(p(e)||r&&g(e))return!1}for(t.kind="scalar",t.result="",i=o=t.position,a=!1;0!==f;){if(58===f){let e=t.input.charCodeAt(t.position+1);if(p(e)||r&&g(e))break}else if(35===f){if(p(t.input.charCodeAt(t.position-1)))break}else if(t.position===t.lineStart&&R(t)||r&&g(f))break;else if(d(f)){if(n=t.line,s=t.lineStart,l=t.lineIndent,q(t,!1,-1),t.lineIndent>=e){a=!0,f=t.input.charCodeAt(t.position);continue}t.position=o,t.line=n,t.lineStart=s,t.lineIndent=l;break}a&&(O(t,i,o,!1),P(t,t.line-n),i=o=t.position,a=!1),u(f)||(o=t.position+1),f=t.input.charCodeAt(++t.position)}return O(t,i,o,!1),!!t.result||(t.kind=h,t.result=c,!1)}function W(t,e){let r,i,o=t.input.charCodeAt(t.position);if(39!==o)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(o=t.input.charCodeAt(t.position));)if(39===o){if(O(t,r,t.position,!0),39!==(o=t.input.charCodeAt(++t.position)))return!0;r=t.position,t.position++,i=t.position}else d(o)?(O(t,r,i,!0),P(t,q(t,!1,e)),r=i=t.position):t.position===t.lineStart&&R(t)?S(t,"unexpected end of the document within a single quoted scalar"):(t.position++,u(o)||(i=t.position));S(t,"unexpected end of the stream within a single quoted scalar")}function N(t,e){let r,i,o,a=t.input.charCodeAt(t.position);if(34!==a)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(a=t.input.charCodeAt(t.position));)if(34===a)return O(t,r,t.position,!0),t.position++,!0;else if(92===a){if(O(t,r,t.position,!0),d(a=t.input.charCodeAt(++t.position)))q(t,!1,e);else if(a<256&&k[a])t.result+=w[a],t.position++;else if((o=y(a))>0){let e=o,r=0;for(;e>0;e--)(o=f(a=t.input.charCodeAt(++t.position)))>=0?r=(r<<4)+o:S(t,"expected hexadecimal character");t.result+=C(r),t.position++}else S(t,"unknown escape sequence");r=i=t.position}else d(a)?(O(t,r,i,!0),P(t,q(t,!1,e)),r=i=t.position):t.position===t.lineStart&&R(t)?S(t,"unexpected end of the document within a double quoted scalar"):(t.position++,u(a)||(i=t.position));S(t,"unexpected end of the stream within a double quoted scalar")}function j(t,e){let r,i,o,a,n,s,l,h,c,d,u,g=!0,f=t.tag,y=t.anchor,m=Object.create(null),x=t.input.charCodeAt(t.position);if(91===x)n=93,h=!1,a=[];else{if(123!==x)return!1;n=125,h=!0,a={}}for(null!==t.anchor&&_(t,t.anchor,a),x=t.input.charCodeAt(++t.position);0!==x;){if(q(t,!0,e),(x=t.input.charCodeAt(t.position))===n)return t.position++,t.tag=f,t.anchor=y,t.kind=h?"mapping":"sequence",t.result=a,!0;g?44===x&&S(t,"expected the node content, but found ','"):S(t,"missed comma between flow collection entries"),d=c=u=null,s=l=!1,63===x&&p(t.input.charCodeAt(t.position+1))&&(s=l=!0,t.position++,q(t,!0,e)),r=t.line,i=t.lineStart,o=t.position,to(t,e,1,!1,!0),d=t.tag,c=t.result,q(t,!0,e),x=t.input.charCodeAt(t.position),(l||t.line===r)&&58===x&&(s=!0,x=t.input.charCodeAt(++t.position),q(t,!0,e),to(t,e,1,!1,!0),u=t.result),h?K(t,a,m,d,c,u,r,i,o):s?a.push(K(t,null,m,d,c,u,r,i,o)):a.push(c),q(t,!0,e),44===(x=t.input.charCodeAt(t.position))?(g=!0,x=t.input.charCodeAt(++t.position)):g=!1}S(t,"unexpected end of the stream within a flow collection")}function H(e,r){let i,o,a=1,n=!1,s=!1,l=r,h=0,c=!1,p=e.input.charCodeAt(e.position);if(124===p)i=!1;else{if(62!==p)return!1;i=!0}for(e.kind="scalar",e.result="";0!==p;)if(43===(p=e.input.charCodeAt(++e.position))||45===p)1===a?a=43===p?3:2:S(e,"repeat of a chomping mode identifier");else if((o=m(p))>=0)0===o?S(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?S(e,"repeat of an indentation width identifier"):(l=r+o-1,s=!0);else break;if(u(p)){do p=e.input.charCodeAt(++e.position);while(u(p))if(35===p)do p=e.input.charCodeAt(++e.position);while(!d(p)&&0!==p)}for(;0!==p;){for(I(e),e.lineIndent=0,p=e.input.charCodeAt(e.position);(!s||e.lineIndent<l)&&32===p;)e.lineIndent++,p=e.input.charCodeAt(++e.position);if(!s&&e.lineIndent>l&&(l=e.lineIndent),d(p)){h++;continue}if(s||0!==l||S(e,"missing indentation for block scalar"),e.lineIndent<l){3===a?e.result+=t.repeat("\n",n?1+h:h):1===a&&n&&(e.result+="\n");break}i?u(p)?(c=!0,e.result+=t.repeat("\n",n?1+h:h)):c?(c=!1,e.result+=t.repeat("\n",h+1)):0===h?n&&(e.result+=" "):e.result+=t.repeat("\n",h):e.result+=t.repeat("\n",n?1+h:h),n=!0,s=!0,h=0;let r=e.position;for(;!d(p)&&0!==p;)p=e.input.charCodeAt(++e.position);O(e,r,e.position,!1)}return!0}function Y(t,e){let r=t.tag,i=t.anchor,o=[],a=!1;if(-1!==t.firstTabInLine)return!1;null!==t.anchor&&_(t,t.anchor,o);let n=t.input.charCodeAt(t.position);for(;0!==n&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,S(t,"tab characters must not be used in indentation")),45===n&&p(t.input.charCodeAt(t.position+1)));){if(a=!0,t.position++,q(t,!0,-1)&&t.lineIndent<=e){o.push(null),n=t.input.charCodeAt(t.position);continue}let r=t.line;if(to(t,e,3,!1,!0),o.push(t.result),q(t,!0,-1),n=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==n)S(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return!!a&&(t.tag=r,t.anchor=i,t.kind="sequence",t.result=o,!0)}function G(t,e,r){let i,o,a,n,s=t.tag,l=t.anchor,h={},c=Object.create(null),d=null,g=null,f=null,y=!1,m=!1;if(-1!==t.firstTabInLine)return!1;null!==t.anchor&&_(t,t.anchor,h);let x=t.input.charCodeAt(t.position);for(;0!==x;){y||-1===t.firstTabInLine||(t.position=t.firstTabInLine,S(t,"tab characters must not be used in indentation"));let C=t.input.charCodeAt(t.position+1),b=t.line;if((63===x||58===x)&&p(C))63===x?(y&&(K(t,h,c,d,g,null,o,a,n),d=g=f=null),m=!0,y=!0,i=!0):y?(y=!1,i=!0):S(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,x=C;else{if(o=t.line,a=t.lineStart,n=t.position,!to(t,r,2,!1,!0))break;if(t.line===b){for(x=t.input.charCodeAt(t.position);u(x);)x=t.input.charCodeAt(++t.position);if(58===x)p(x=t.input.charCodeAt(++t.position))||S(t,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(K(t,h,c,d,g,null,o,a,n),d=g=f=null),m=!0,y=!1,i=!1,d=t.tag,g=t.result;else{if(!m)return t.tag=s,t.anchor=l,!0;S(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!m)return t.tag=s,t.anchor=l,!0;S(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}if((t.line===b||t.lineIndent>e)&&(y&&(o=t.line,a=t.lineStart,n=t.position),to(t,e,4,!0,i)&&(y?g=t.result:f=t.result),y||(K(t,h,c,d,g,f,o,a,n),d=g=f=null),q(t,!0,-1),x=t.input.charCodeAt(t.position)),(t.line===b||t.lineIndent>e)&&0!==x)S(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return y&&K(t,h,c,d,g,null,o,a,n),m&&(t.tag=s,t.anchor=l,t.kind="mapping",t.result=h),m}function Z(t){let e,r,i=!1,a=!1,n=t.input.charCodeAt(t.position);if(33!==n)return!1;null!==t.tag&&S(t,"duplication of a tag property"),60===(n=t.input.charCodeAt(++t.position))?(i=!0,n=t.input.charCodeAt(++t.position)):33===n?(a=!0,e="!!",n=t.input.charCodeAt(++t.position)):e="!";let c=t.position;if(i){do n=t.input.charCodeAt(++t.position);while(0!==n&&62!==n)t.position<t.length?(r=t.input.slice(c,t.position),n=t.input.charCodeAt(++t.position)):S(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==n&&!p(n);)33===n&&(a?S(t,"tag suffix cannot contain exclamation marks"):(e=t.input.slice(c-1,t.position+1),l.test(e)||S(t,"named tag handle cannot contain such characters"),a=!0,c=t.position+1)),n=t.input.charCodeAt(++t.position);r=t.input.slice(c,t.position),s.test(r)&&S(t,"tag suffix cannot contain flow indicator characters")}r&&!h.test(r)&&S(t,"tag name cannot contain such characters: "+r);try{r=decodeURIComponent(r)}catch(e){S(t,"tag name is malformed: "+r)}return i?t.tag=r:o.call(t.tagMap,e)?t.tag=t.tagMap[e]+r:"!"===e?t.tag="!"+r:"!!"===e?t.tag="tag:yaml.org,2002:"+r:S(t,'undeclared tag handle "'+e+'"'),!0}function V(t){let e=t.input.charCodeAt(t.position);if(38!==e)return!1;null!==t.anchor&&S(t,"duplication of an anchor property"),e=t.input.charCodeAt(++t.position);let r=t.position;for(;0!==e&&!p(e)&&!g(e);)e=t.input.charCodeAt(++t.position);return t.position===r&&S(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(r,t.position),!0}function J(t){let e=t.input.charCodeAt(t.position);if(42!==e)return!1;e=t.input.charCodeAt(++t.position);let r=t.position;for(;0!==e&&!p(e)&&!g(e);)e=t.input.charCodeAt(++t.position);t.position===r&&S(t,"name of an alias node must contain at least one character");let i=t.input.slice(r,t.position);return o.call(t.anchorMap,i)||S(t,'unidentified alias "'+i+'"'),t.result=t.anchorMap[i],q(t,!0,-1),!0}function ti(t,e,r,i){let o=M(t);return(F(t),$(t,e),t.tag=null,t.anchor=null,t.kind=null,t.result=null,G(t,r,i)&&"mapping"===t.kind)?(A(t),!0):(L(t),$(t,o),!1)}function to(t,e,r,i,a){let n,s,l,h,c,d=1,u=!1,p=!1,g=null;t.depth>=t.maxDepth&&S(t,"nesting exceeded maxDepth ("+t.maxDepth+")"),t.depth+=1,null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null;let f=n=s=4===r||3===r;if(i&&q(t,!0,-1)&&(u=!0,t.lineIndent>e?d=1:t.lineIndent===e?d=0:t.lineIndent<e&&(d=-1)),1===d)for(;;){let r=t.input.charCodeAt(t.position),i=M(t);if(u&&(33===r&&null!==t.tag||38===r&&null!==t.anchor)||!Z(t)&&!V(t))break;null===g&&(g=i),q(t,!0,-1)?(u=!0,s=f,t.lineIndent>e?d=1:t.lineIndent===e?d=0:t.lineIndent<e&&(d=-1)):s=!1}if(s&&(s=u||a),1===d||4===r)if(h=1===r||2===r?e:e+1,c=t.position-t.lineStart,1===d)if(s&&(Y(t,c)||G(t,c,h))||j(t,h))p=!0;else{let e=t.input.charCodeAt(t.position);null!==g&&f&&!s&&124!==e&&62!==e&&ti(t,g,g.position-g.lineStart,h)||n&&H(t,h)||W(t,h)||N(t,h)?p=!0:J(t)?(p=!0,(null!==t.tag||null!==t.anchor)&&S(t,"alias node should not have any properties")):z(t,h,1===r)&&(p=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&_(t,t.anchor,t.result)}else 0===d&&(p=s&&Y(t,c));if(null===t.tag)null!==t.anchor&&_(t,t.anchor,t.result);else if("?"===t.tag){null!==t.result&&"scalar"!==t.kind&&S(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"');for(let e=0,r=t.implicitTypes.length;e<r;e+=1)if((l=t.implicitTypes[e]).resolve(t.result)){t.result=l.construct(t.result),t.tag=l.tag,null!==t.anchor&&_(t,t.anchor,t.result);break}}else if("!"!==t.tag){if(o.call(t.typeMap[t.kind||"fallback"],t.tag))l=t.typeMap[t.kind||"fallback"][t.tag];else{l=null;let e=t.typeMap.multi[t.kind||"fallback"];for(let r=0,i=e.length;r<i;r+=1)if(t.tag.slice(0,e[r].tag.length)===e[r].tag){l=e[r];break}}l||S(t,"unknown tag !<"+t.tag+">"),null!==t.result&&l.kind!==t.kind&&S(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+l.kind+'", not "'+t.kind+'"'),l.resolve(t.result,t.tag)?(t.result=l.construct(t.result,t.tag),null!==t.anchor&&_(t,t.anchor,t.result)):S(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),t.depth-=1,null!==t.tag||null!==t.anchor||p}function ta(t){let e,r=t.position,i=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(e=t.input.charCodeAt(t.position))&&(q(t,!0,-1),e=t.input.charCodeAt(t.position),!(t.lineIndent>0)&&37===e);){i=!0,e=t.input.charCodeAt(++t.position);let r=t.position;for(;0!==e&&!p(e);)e=t.input.charCodeAt(++t.position);let a=t.input.slice(r,t.position),n=[];for(a.length<1&&S(t,"directive name must not be less than one character in length");0!==e;){for(;u(e);)e=t.input.charCodeAt(++t.position);if(35===e){do e=t.input.charCodeAt(++t.position);while(0!==e&&!d(e))break}if(d(e))break;for(r=t.position;0!==e&&!p(e);)e=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}0!==e&&I(t),o.call(E,a)?E[a](t,a,n):v(t,'unknown document directive "'+a+'"')}if(q(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,q(t,!0,-1)):i&&S(t,"directives end mark is expected"),to(t,t.lineIndent-1,4,!1,!0),q(t,!0,-1),t.checkLineBreaks&&n.test(t.input.slice(r,t.position))&&v(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&R(t)){46===t.input.charCodeAt(t.position)&&(t.position+=3,q(t,!0,-1));return}t.position<t.length-1&&S(t,"end of the stream or a document separator is expected")}function tn(t,e){t=String(t),e=e||{},0!==t.length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));let r=new T(t,e),i=t.indexOf("\0");for(-1!==i&&(r.position=i,S(r,"null byte is not allowed in input")),r.input+="\0";32===r.input.charCodeAt(r.position);)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)ta(r);return r.documents}function ts(t,e,r){null!==e&&"object"==typeof e&&void 0===r&&(r=e,e=null);let i=tn(t,r);if("function"!=typeof e)return i;for(let t=0,r=i.length;t<r;t+=1)e(i[t])}function tl(t,r){let i=tn(t,r);if(0!==i.length){if(1===i.length)return i[0];throw new e("expected a single document in the stream, but found more")}}return(0,X.K)(O,"captureSegment"),(0,X.K)(D,"mergeMappings"),(0,X.K)(K,"storeMappingPair"),(0,X.K)(I,"readLineBreak"),(0,X.K)(q,"skipSeparationSpace"),(0,X.K)(R,"testDocumentSeparator"),(0,X.K)(P,"writeFoldedLines"),(0,X.K)(z,"readPlainScalar"),(0,X.K)(W,"readSingleQuotedScalar"),(0,X.K)(N,"readDoubleQuotedScalar"),(0,X.K)(j,"readFlowCollection"),(0,X.K)(H,"readBlockScalar"),(0,X.K)(Y,"readBlockSequence"),(0,X.K)(G,"readBlockMapping"),(0,X.K)(Z,"readTagProperty"),(0,X.K)(V,"readAnchorProperty"),(0,X.K)(J,"readAlias"),(0,X.K)(ti,"tryReadBlockMappingFromProperty"),(0,X.K)(to,"composeNode"),(0,X.K)(ta,"readDocument"),(0,X.K)(tn,"loadDocuments"),(0,X.K)(ts,"loadAll2"),(0,X.K)(tl,"load2"),Q.loadAll=ts,Q.load=tl,Q}(0,X.K)(tt,"requireCommon"),(0,X.K)(te,"requireException"),(0,X.K)(tr,"requireSnippet"),(0,X.K)(ti,"requireType"),(0,X.K)(to,"requireSchema"),(0,X.K)(ta,"requireStr"),(0,X.K)(tn,"requireSeq"),(0,X.K)(ts,"requireMap"),(0,X.K)(tl,"requireFailsafe"),(0,X.K)(th,"require_null"),(0,X.K)(tc,"requireBool"),(0,X.K)(td,"requireInt"),(0,X.K)(tu,"requireFloat"),(0,X.K)(tp,"requireJson"),(0,X.K)(tg,"requireCore"),(0,X.K)(tf,"requireTimestamp"),(0,X.K)(ty,"requireMerge"),(0,X.K)(tm,"requireBinary"),(0,X.K)(tx,"requireOmap"),(0,X.K)(tC,"requirePairs"),(0,X.K)(tb,"requireSet"),(0,X.K)(tk,"require_default"),(0,X.K)(tw,"requireLoader");var tT={};function tB(){if(Y)return tT;Y=1;let t=tt(),e=te(),r=tk(),i=Object.prototype.toString,o=Object.prototype.hasOwnProperty,a={};a[0]="\\0",a[7]="\\a",a[8]="\\b",a[9]="\\t",a[10]="\\n",a[11]="\\v",a[12]="\\f",a[13]="\\r",a[27]="\\e",a[34]='\\"',a[92]="\\\\",a[133]="\\N",a[160]="\\_",a[8232]="\\L",a[8233]="\\P";let n=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],s=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function l(t,e){if(null===e)return{};let r={},i=Object.keys(e);for(let a=0,n=i.length;a<n;a+=1){let n=i[a],s=String(e[n]);"!!"===n.slice(0,2)&&(n="tag:yaml.org,2002:"+n.slice(2));let l=t.compiledTypeMap.fallback[n];l&&o.call(l.styleAliases,s)&&(s=l.styleAliases[s]),r[n]=s}return r}function h(r){let i,o,a=r.toString(16).toUpperCase();if(r<=255)i="x",o=2;else if(r<=65535)i="u",o=4;else if(r<=0xffffffff)i="U",o=8;else throw new e("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+i+t.repeat("0",o-a.length)+a}function c(e){this.schema=e.schema||r,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=t.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=l(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType='"'===e.quotingType?2:1,this.forceQuotes=e.forceQuotes||!1,this.replacer="function"==typeof e.replacer?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function d(e,r){let i=t.repeat(" ",r),o=0,a="",n=e.length;for(;o<n;){let t,r=e.indexOf("\n",o);-1===r?(t=e.slice(o),o=n):(t=e.slice(o,r+1),o=r+1),t.length&&"\n"!==t&&(a+=i),a+=t}return a}function u(e,r){return"\n"+t.repeat(" ",e.indent*r)}function p(t,e){for(let r=0,i=t.implicitTypes.length;r<i;r+=1)if(t.implicitTypes[r].resolve(e))return!0;return!1}function g(t){return 32===t||9===t}function f(t){return t>=32&&t<=126||t>=161&&t<=55295&&8232!==t&&8233!==t||t>=57344&&t<=65533&&65279!==t||t>=65536&&t<=1114111}function y(t){return f(t)&&65279!==t&&13!==t&&10!==t}function m(t,e,r){let i=y(t),o=i&&!g(t);return(r?i:i&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t)&&35!==t&&!(58===e&&!o)||y(e)&&!g(e)&&35===t||58===e&&o}function x(t){return f(t)&&65279!==t&&!g(t)&&45!==t&&63!==t&&58!==t&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t&&35!==t&&38!==t&&42!==t&&33!==t&&124!==t&&61!==t&&62!==t&&39!==t&&34!==t&&37!==t&&64!==t&&96!==t}function C(t){return!g(t)&&58!==t}function b(t,e){let r,i=t.charCodeAt(e);return i>=55296&&i<=56319&&e+1<t.length&&(r=t.charCodeAt(e+1))>=56320&&r<=57343?(i-55296)*1024+r-56320+65536:i}function k(t){return/^\n* /.test(t)}function w(t,e,r,i,o,a,n,s){let l,h=0,c=null,d=!1,u=!1,p=-1!==i,g=-1,y=x(b(t,0))&&C(b(t,t.length-1));if(e||n)for(l=0;l<t.length;h>=65536?l+=2:l++){if(!f(h=b(t,l)))return 5;y=y&&m(h,c,s),c=h}else{for(l=0;l<t.length;h>=65536?l+=2:l++){if(10===(h=b(t,l)))d=!0,p&&(u=u||l-g-1>i&&" "!==t[g+1],g=l);else if(!f(h))return 5;y=y&&m(h,c,s),c=h}u=u||p&&l-g-1>i&&" "!==t[g+1]}return d||u?r>9&&k(t)?5:n?2===a?5:2:u?4:3:!y||n||o(t)?2===a?5:2:1}function T(t,r,i,o,a){t.dump=function(){if(0===r.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==n.indexOf(r)||s.test(r)))return 2===t.quotingType?'"'+r+'"':"'"+r+"'";let l=t.indent*Math.max(1,i),h=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-l),c=o||t.flowLevel>-1&&i>=t.flowLevel;function u(e){return p(t,e)}switch((0,X.K)(u,"testAmbiguity"),w(r,c,t.indent,h,u,t.quotingType,t.forceQuotes&&!o,a)){case 1:return r;case 2:return"'"+r.replace(/'/g,"''")+"'";case 3:return"|"+B(r,t.indent)+S(d(r,l));case 4:return">"+B(r,t.indent)+S(d(v(r,h),l));case 5:return'"'+F(r)+'"';default:throw new e("impossible error: invalid scalar style")}}()}function B(t,e){let r=k(t)?String(e):"",i="\n"===t[t.length-1];return r+(i&&("\n"===t[t.length-2]||"\n"===t)?"+":i?"":"-")+"\n"}function S(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function v(t,e){let r,i,o,a=/(\n+)([^\n]*)/g,n=(a.lastIndex=o=-1!==(o=t.indexOf("\n"))?o:t.length,_(t.slice(0,o),e)),s="\n"===t[0]||" "===t[0];for(;i=a.exec(t);){let t=i[1],o=i[2];r=" "===o[0],n+=t+(s||r||""===o?"":"\n")+_(o,e),s=r}return n}function _(t,e){let r,i;if(""===t||" "===t[0])return t;let o=/ [^ ]/g,a=0,n=0,s=0,l="";for(;r=o.exec(t);)(s=r.index)-a>e&&(i=n>a?n:s,l+="\n"+t.slice(a,i),a=i+1),n=s;return l+="\n",t.length-a>e&&n>a?l+=t.slice(a,n)+"\n"+t.slice(n+1):l+=t.slice(a),l.slice(1)}function F(t){let e="",r=0;for(let i=0;i<t.length;r>=65536?i+=2:i++){let o=a[r=b(t,i)];!o&&f(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=o||h(r)}return e}function A(t,e,r){let i="",o=t.tag;for(let o=0,a=r.length;o<a;o+=1){let a=r[o];t.replacer&&(a=t.replacer.call(r,String(o),a)),(O(t,e,a,!1,!1)||void 0===a&&O(t,e,null,!1,!1))&&(""!==i&&(i+=","+(t.condenseFlow?"":" ")),i+=t.dump)}t.tag=o,t.dump="["+i+"]"}function L(t,e,r,i){let o="",a=t.tag;for(let a=0,n=r.length;a<n;a+=1){let n=r[a];t.replacer&&(n=t.replacer.call(r,String(a),n)),(O(t,e+1,n,!0,!0,!1,!0)||void 0===n&&O(t,e+1,null,!0,!0,!1,!0))&&(i&&""===o||(o+=u(t,e)),t.dump&&10===t.dump.charCodeAt(0)?o+="-":o+="- ",o+=t.dump)}t.tag=a,t.dump=o||"[]"}function M(t,e,r){let i="",o=t.tag,a=Object.keys(r);for(let o=0,n=a.length;o<n;o+=1){let n="";""!==i&&(n+=", "),t.condenseFlow&&(n+='"');let s=a[o],l=r[s];t.replacer&&(l=t.replacer.call(r,s,l)),O(t,e,s,!1,!1)&&(t.dump.length>1024&&(n+="? "),n+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),O(t,e,l,!1,!1)&&(n+=t.dump,i+=n))}t.tag=o,t.dump="{"+i+"}"}function $(t,r,i,o){let a="",n=t.tag,s=Object.keys(i);if(!0===t.sortKeys)s.sort();else if("function"==typeof t.sortKeys)s.sort(t.sortKeys);else if(t.sortKeys)throw new e("sortKeys must be a boolean or a function");for(let e=0,n=s.length;e<n;e+=1){let n="";o&&""===a||(n+=u(t,r));let l=s[e],h=i[l];if(t.replacer&&(h=t.replacer.call(i,l,h)),!O(t,r+1,l,!0,!0,!0))continue;let c=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024;c&&(t.dump&&10===t.dump.charCodeAt(0)?n+="?":n+="? "),n+=t.dump,c&&(n+=u(t,r)),O(t,r+1,h,!0,c)&&(t.dump&&10===t.dump.charCodeAt(0)?n+=":":n+=": ",n+=t.dump,a+=n)}t.tag=n,t.dump=a||"{}"}function E(t,r,a){let n=a?t.explicitTypes:t.implicitTypes;for(let s=0,l=n.length;s<l;s+=1){let l=n[s];if((l.instanceOf||l.predicate)&&(!l.instanceOf||"object"==typeof r&&r instanceof l.instanceOf)&&(!l.predicate||l.predicate(r))){if(a?l.multi&&l.representName?t.tag=l.representName(r):t.tag=l.tag:t.tag="?",l.represent){let a,n=t.styleMap[l.tag]||l.defaultStyle;if("[object Function]"===i.call(l.represent))a=l.represent(r,n);else if(o.call(l.represent,n))a=l.represent[n](r,n);else throw new e("!<"+l.tag+'> tag resolver accepts not "'+n+'" style');t.dump=a}return!0}}return!1}function O(t,r,o,a,n,s,l){let h,c;t.tag=null,t.dump=o,E(t,o,!1)||E(t,o,!0);let d=i.call(t.dump),u=a;a&&(a=t.flowLevel<0||t.flowLevel>r);let p="[object Object]"===d||"[object Array]"===d;if(p&&(c=-1!==(h=t.duplicates.indexOf(o))),(null!==t.tag&&"?"!==t.tag||c||2!==t.indent&&r>0)&&(n=!1),c&&t.usedDuplicates[h])t.dump="*ref_"+h;else{if(p&&c&&!t.usedDuplicates[h]&&(t.usedDuplicates[h]=!0),"[object Object]"===d)a&&0!==Object.keys(t.dump).length?($(t,r,t.dump,n),c&&(t.dump="&ref_"+h+t.dump)):(M(t,r,t.dump),c&&(t.dump="&ref_"+h+" "+t.dump));else if("[object Array]"===d)a&&0!==t.dump.length?(t.noArrayIndent&&!l&&r>0?L(t,r-1,t.dump,n):L(t,r,t.dump,n),c&&(t.dump="&ref_"+h+t.dump)):(A(t,r,t.dump),c&&(t.dump="&ref_"+h+" "+t.dump));else if("[object String]"===d)"?"!==t.tag&&T(t,t.dump,r,s,u);else{if("[object Undefined]"===d||t.skipInvalid)return!1;throw new e("unacceptable kind of an object to dump "+d)}if(null!==t.tag&&"?"!==t.tag){let e=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21");e="!"===t.tag[0]?"!"+e:"tag:yaml.org,2002:"===e.slice(0,18)?"!!"+e.slice(18):"!<"+e+">",t.dump=e+" "+t.dump}}return!0}function D(t,e){let r=[],i=[];K(t,r,i);let o=i.length;for(let t=0;t<o;t+=1)e.duplicates.push(r[i[t]]);e.usedDuplicates=Array(o)}function K(t,e,r){if(null!==t&&"object"==typeof t){let i=e.indexOf(t);if(-1!==i)-1===r.indexOf(i)&&r.push(i);else if(e.push(t),Array.isArray(t))for(let i=0,o=t.length;i<o;i+=1)K(t[i],e,r);else{let i=Object.keys(t);for(let o=0,a=i.length;o<a;o+=1)K(t[i[o]],e,r)}}}function I(t,e){let r=new c(e=e||{});r.noRefs||D(t,r);let i=t;return(r.replacer&&(i=r.replacer.call({"":i},"",i)),O(r,0,i,!0,!0))?r.dump+"\n":""}return(0,X.K)(l,"compileStyleMap"),(0,X.K)(h,"encodeHex"),(0,X.K)(c,"State"),(0,X.K)(d,"indentString"),(0,X.K)(u,"generateNextLine"),(0,X.K)(p,"testImplicitResolving"),(0,X.K)(g,"isWhitespace"),(0,X.K)(f,"isPrintable"),(0,X.K)(y,"isNsCharOrWhitespace"),(0,X.K)(m,"isPlainSafe"),(0,X.K)(x,"isPlainSafeFirst"),(0,X.K)(C,"isPlainSafeLast"),(0,X.K)(b,"codePointAt"),(0,X.K)(k,"needIndentIndicator"),(0,X.K)(w,"chooseScalarStyle"),(0,X.K)(T,"writeScalar"),(0,X.K)(B,"blockHeader"),(0,X.K)(S,"dropEndingNewline"),(0,X.K)(v,"foldString"),(0,X.K)(_,"foldLine"),(0,X.K)(F,"escapeString"),(0,X.K)(A,"writeFlowSequence"),(0,X.K)(L,"writeBlockSequence"),(0,X.K)(M,"writeFlowMapping"),(0,X.K)($,"writeBlockMapping"),(0,X.K)(E,"detectType"),(0,X.K)(O,"writeNode"),(0,X.K)(D,"getDuplicateReferences"),(0,X.K)(K,"inspectNode"),(0,X.K)(I,"dump2"),tT.dump=I,tT}function tS(){if(G)return V;G=1;let t=tw(),e=tB();function r(t,e){return function(){throw Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}return(0,X.K)(r,"renamed"),V.Type=ti(),V.Schema=to(),V.FAILSAFE_SCHEMA=tl(),V.JSON_SCHEMA=tp(),V.CORE_SCHEMA=tg(),V.DEFAULT_SCHEMA=tk(),V.load=t.load,V.loadAll=t.loadAll,V.dump=e.dump,V.YAMLException=te(),V.types={binary:tm(),float:tu(),map:ts(),null:th(),pairs:tC(),set:tb(),timestamp:tf(),bool:tc(),int:td(),merge:ty(),omap:tx(),seq:tn(),str:ta()},V.safeLoad=r("safeLoad","load"),V.safeLoadAll=r("safeLoadAll","loadAll"),V.safeDump=r("safeDump","dump"),V}(0,X.K)(tB,"requireDumper"),(0,X.K)(tS,"requireJsYaml");var{JSON_SCHEMA:tv,load:t_}=Z(tS())},6320(t,e,r){"use strict";r.d(e,{lT:()=>tP,W6:()=>tZ,O6:()=>tL,GZ:()=>t1});var i=r(2217),o=r(6348),a=r(1177),n=r(1293),s=r(6827);function l(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var h=l(),c={exec:()=>null};function d(t,e=""){let r="string"==typeof t?t:t.source,i={replace:(t,e)=>{let o="string"==typeof e?e:e.source;return o=o.replace(p.caret,"$1"),r=r.replace(t,o),i},getRegex:()=>new RegExp(r,e)};return i}var u=(()=>{try{return!!RegExp("(?<=1)(?<!1)")}catch{return!1}})(),p={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},g=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,f=/(?:[*+-]|\d{1,9}[.)])/,y=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,m=d(y).replace(/bull/g,f).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),x=d(y).replace(/bull/g,f).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),C=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,b=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,k=d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",b).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),w=d(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,f).getRegex(),T="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",B=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,S=d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",B).replace("tag",T).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),v=d(C).replace("hr",g).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",T).getRegex(),_={blockquote:d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",v).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:k,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:g,html:S,lheading:m,list:w,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:v,table:c,text:/^[^\n]+/},F=d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",g).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",T).getRegex(),A={..._,lheading:x,table:F,paragraph:d(C).replace("hr",g).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",F).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",T).getRegex()},L={..._,html:d("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",B).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:c,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:d(C).replace("hr",g).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",m).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},M=/^( {2,}|\\)\n(?!\s*$)/,$=/[\p{P}\p{S}]/u,E=/[\s\p{P}\p{S}]/u,O=/[^\s\p{P}\p{S}]/u,D=d(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,E).getRegex(),K=/(?!~)[\p{P}\p{S}]/u,I=d(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",u?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),q=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,R=d(q,"u").replace(/punct/g,$).getRegex(),P=d(q,"u").replace(/punct/g,K).getRegex(),z="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",W=d(z,"gu").replace(/notPunctSpace/g,O).replace(/punctSpace/g,E).replace(/punct/g,$).getRegex(),N=d(z,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,K).getRegex(),j=d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,O).replace(/punctSpace/g,E).replace(/punct/g,$).getRegex(),H=d(/\\(punct)/,"gu").replace(/punct/g,$).getRegex(),U=d(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Y=d(B).replace("(?:--\x3e|$)","--\x3e").getRegex(),G=d("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Y).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),X=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Z=d(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",X).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),V=d(/^!?\[(label)\]\[(ref)\]/).replace("label",X).replace("ref",b).getRegex(),Q=d(/^!?\[(ref)\](?:\[\])?/).replace("ref",b).getRegex(),J=d("reflink|nolink(?!\\()","g").replace("reflink",V).replace("nolink",Q).getRegex(),tt=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,te={_backpedal:c,anyPunctuation:H,autolink:U,blockSkip:I,br:M,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:c,emStrongLDelim:R,emStrongRDelimAst:W,emStrongRDelimUnd:j,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:Z,nolink:Q,punctuation:D,reflink:V,reflinkSearch:J,tag:G,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:c},tr={...te,link:d(/^!?\[(label)\]\((.*?)\)/).replace("label",X).getRegex(),reflink:d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",X).getRegex()},ti={...te,emStrongRDelimAst:N,emStrongLDelim:P,url:d(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",tt).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:d(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",tt).getRegex()},to={...ti,br:d(M).replace("{2,}","*").getRegex(),text:d(ti.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ta={normal:_,gfm:A,pedantic:L},tn={normal:te,gfm:ti,breaks:to,pedantic:tr},ts={"&":"&","<":"<",">":">",'"':""","'":"'"},tl=t=>ts[t];function th(t,e){if(e){if(p.escapeTest.test(t))return t.replace(p.escapeReplace,tl)}else if(p.escapeTestNoEncode.test(t))return t.replace(p.escapeReplaceNoEncode,tl);return t}function tc(t){try{t=encodeURI(t).replace(p.percentDecode,"%")}catch{return null}return t}function td(t,e){let r=t.replace(p.findPipe,(t,e,r)=>{let i=!1,o=e;for(;--o>=0&&"\\"===r[o];)i=!i;return i?"|":" |"}).split(p.splitPipe),i=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length<e;)r.push("");for(;i<r.length;i++)r[i]=r[i].trim().replace(p.slashPipe,"|");return r}function tu(t,e,r){let i=t.length;if(0===i)return"";let o=0;for(;o<i;){let a=t.charAt(i-o-1);if(a!==e||r)if(a!==e&&r)o++;else break;else o++}return t.slice(0,i-o)}function tp(t,e,r,i,o){let a=e.href,n=e.title||null,s=t[1].replace(o.other.outputLinkReplace,"$1");i.state.inLink=!0;let l={type:"!"===t[0].charAt(0)?"image":"link",raw:r,href:a,title:n,text:s,tokens:i.inlineTokens(s)};return i.state.inLink=!1,l}var tg=class{options;rules;lexer;constructor(t){this.options=t||h}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let t=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:tu(t,` +`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let t=e[0],r=function(t,e,r){let i=t.match(r.other.indentCodeCompensation);if(null===i)return e;let o=i[1];return e.split(` +`).map(t=>{let e=t.match(r.other.beginningSpace);if(null===e)return t;let[i]=e;return i.length>=o.length?t.slice(o.length):t}).join(` +`)}(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:r}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let e=tu(t,"#");(this.options.pedantic||!e||this.rules.other.endingSpaceChar.test(e))&&(t=e.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:tu(e[0],` +`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let t=tu(e[0],` +`).split(` +`),r="",i="",o=[];for(;t.length>0;){let e=!1,a=[],n;for(n=0;n<t.length;n++)if(this.rules.other.blockquoteStart.test(t[n]))a.push(t[n]),e=!0;else if(e)break;else a.push(t[n]);t=t.slice(n);let s=a.join(` +`),l=s.replace(this.rules.other.blockquoteSetextReplace,` + $1`).replace(this.rules.other.blockquoteSetextReplace2,"");r=r?`${r} +${s}`:s,i=i?`${i} +${l}`:l;let h=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,o,!0),this.lexer.state.top=h,0===t.length)break;let c=o.at(-1);if(c?.type==="code")break;if(c?.type==="blockquote"){let e=c.raw+` +`+t.join(` +`),a=this.blockquote(e);o[o.length-1]=a,r=r.substring(0,r.length-c.raw.length)+a.raw,i=i.substring(0,i.length-c.text.length)+a.text;break}if(c?.type==="list"){let e=c.raw+` +`+t.join(` +`),a=this.list(e);o[o.length-1]=a,r=r.substring(0,r.length-c.raw.length)+a.raw,i=i.substring(0,i.length-c.raw.length)+a.raw,t=e.substring(o.at(-1).raw.length).split(` +`);continue}}return{type:"blockquote",raw:r,tokens:o,text:i}}}list(t){let e=this.rules.block.list.exec(t);if(e){let r=e[1].trim(),i=r.length>1,o={type:"list",raw:"",ordered:i,start:i?+r.slice(0,-1):"",loose:!1,items:[]};r=i?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=i?r:"[*+-]");let a=this.rules.other.listItemRegex(r),n=!1;for(;t;){let r=!1,i="",s="";if(!(e=a.exec(t))||this.rules.block.hr.test(t))break;i=e[0],t=t.substring(i.length);let l=e[2].split(` +`,1)[0].replace(this.rules.other.listReplaceTabs,t=>" ".repeat(3*t.length)),h=t.split(` +`,1)[0],c=!l.trim(),d=0;if(this.options.pedantic?(d=2,s=l.trimStart()):c?d=e[1].length+1:(d=(d=e[2].search(this.rules.other.nonSpaceChar))>4?1:d,s=l.slice(d),d+=e[1].length),c&&this.rules.other.blankLine.test(h)&&(i+=h+` +`,t=t.substring(h.length+1),r=!0),!r){let e=this.rules.other.nextBulletRegex(d),r=this.rules.other.hrRegex(d),o=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),n=this.rules.other.htmlBeginRegex(d);for(;t;){let u=t.split(` +`,1)[0],p;if(h=u,p=this.options.pedantic?h=h.replace(this.rules.other.listReplaceNesting," "):h.replace(this.rules.other.tabCharGlobal," "),o.test(h)||a.test(h)||n.test(h)||e.test(h)||r.test(h))break;if(p.search(this.rules.other.nonSpaceChar)>=d||!h.trim())s+=` +`+p.slice(d);else{if(c||l.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||o.test(l)||a.test(l)||r.test(l))break;s+=` +`+h}c||h.trim()||(c=!0),i+=u+` +`,t=t.substring(u.length+1),l=p.slice(d)}}o.loose||(n?o.loose=!0:this.rules.other.doubleBlankLine.test(i)&&(n=!0));let u=null,p;this.options.gfm&&(u=this.rules.other.listIsTask.exec(s))&&(p="[ ] "!==u[0],s=s.replace(this.rules.other.listReplaceTask,"")),o.items.push({type:"list_item",raw:i,task:!!u,checked:p,loose:!1,text:s,tokens:[]}),o.raw+=i}let s=o.items.at(-1);if(!s)return;s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd(),o.raw=o.raw.trimEnd();for(let t=0;t<o.items.length;t++)if(this.lexer.state.top=!1,o.items[t].tokens=this.lexer.blockTokens(o.items[t].text,[]),!o.loose){let e=o.items[t].tokens.filter(t=>"space"===t.type);o.loose=e.length>0&&e.some(t=>this.rules.other.anyLine.test(t.raw))}if(o.loose)for(let t=0;t<o.items.length;t++)o.items[t].loose=!0;return o}}html(t){let e=this.rules.block.html.exec(t);if(e)return{type:"html",block:!0,raw:e[0],pre:"pre"===e[1]||"script"===e[1]||"style"===e[1],text:e[0]}}def(t){let e=this.rules.block.def.exec(t);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:r,title:i}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let r=td(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),o=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(` +`):[],a={type:"table",raw:e[0],header:[],align:[],rows:[]};if(r.length===i.length){for(let t of i)this.rules.other.tableAlignRight.test(t)?a.align.push("right"):this.rules.other.tableAlignCenter.test(t)?a.align.push("center"):this.rules.other.tableAlignLeft.test(t)?a.align.push("left"):a.align.push(null);for(let t=0;t<r.length;t++)a.header.push({text:r[t],tokens:this.lexer.inline(r[t]),header:!0,align:a.align[t]});for(let t of o)a.rows.push(td(t,a.header.length).map((t,e)=>({text:t,tokens:this.lexer.inline(t),header:!1,align:a.align[e]})));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let t=e[1].charAt(e[1].length-1)===` +`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let e=tu(t.slice(0,-1),"\\");if((t.length-e.length)%2==0)return}else{let t=function(t){if(-1===t.indexOf(")"))return -1;let e=0;for(let r=0;r<t.length;r++)if("\\"===t[r])r++;else if("("===t[r])e++;else if(")"===t[r]&&--e<0)return r;return e>0?-2:-1}(e[2]);if(-2===t)return;if(t>-1){let r=(0===e[0].indexOf("!")?5:4)+e[1].length+t;e[2]=e[2].substring(0,t),e[0]=e[0].substring(0,r).trim(),e[3]=""}}let r=e[2],i="";if(this.options.pedantic){let t=this.rules.other.pedanticHrefTitle.exec(r);t&&(r=t[1],i=t[3])}else i=e[3]?e[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(r=this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?r.slice(1):r.slice(1,-1)),tp(e,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let t=e[(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!t){let t=r[0].charAt(0);return{type:"text",raw:t,text:t}}return tp(r,t,r[0],this.lexer,this.rules)}}emStrong(t,e,r=""){let i=this.rules.inline.emStrongLDelim.exec(t);if(!(!i||i[3]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!r||this.rules.inline.punctuation.exec(r))){let r=[...i[0]].length-1,o,a,n=r,s=0,l="*"===i[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,e=e.slice(-1*t.length+r);null!=(i=l.exec(e));){if(!(o=i[1]||i[2]||i[3]||i[4]||i[5]||i[6]))continue;if(a=[...o].length,i[3]||i[4]){n+=a;continue}if((i[5]||i[6])&&r%3&&!((r+a)%3)){s+=a;continue}if((n-=a)>0)continue;a=Math.min(a,a+n+s);let e=[...i[0]][0].length,l=t.slice(0,r+i.index+e+a);if(Math.min(r,a)%2){let t=l.slice(1,-1);return{type:"em",raw:l,text:t,tokens:this.lexer.inlineTokens(t)}}let h=l.slice(2,-2);return{type:"strong",raw:l,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(t),i=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return r&&i&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let t,r;return r="@"===e[2]?"mailto:"+(t=e[1]):t=e[1],{type:"link",raw:e[0],text:t,href:r,tokens:[{type:"text",raw:t,text:t}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let t,r;if("@"===e[2])r="mailto:"+(t=e[0]);else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0])t=e[0],r="www."===e[1]?"http://"+e[0]:e[0]}return{type:"link",raw:e[0],text:t,href:r,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},tf=class t{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||h,this.options.tokenizer=this.options.tokenizer||new tg,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={other:p,block:ta.normal,inline:tn.normal};this.options.pedantic?(e.block=ta.pedantic,e.inline=tn.pedantic):this.options.gfm&&(e.block=ta.gfm,this.options.breaks?e.inline=tn.breaks:e.inline=tn.gfm),this.tokenizer.rules=e}static get rules(){return{block:ta,inline:tn}}static lex(e,r){return new t(r).lex(e)}static lexInline(e,r){return new t(r).inlineTokens(e)}lex(t){t=t.replace(p.carriageReturn,` +`),this.blockTokens(t,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let e=this.inlineQueue[t];this.inlineTokens(e.src,e.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,e=[],r=!1){for(this.options.pedantic&&(t=t.replace(p.tabCharGlobal," ").replace(p.spaceLine,""));t;){let i;if(this.options.extensions?.block?.some(r=>!!(i=r.call({lexer:this},t,e))&&(t=t.substring(i.raw.length),e.push(i),!0)))continue;if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length);let r=e.at(-1);1===i.raw.length&&void 0!==r?r.raw+=` +`:e.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length);let r=e.at(-1);r?.type==="paragraph"||r?.type==="text"?(r.raw+=(r.raw.endsWith(` +`)?"":` +`)+i.raw,r.text+=` +`+i.text,this.inlineQueue.at(-1).src=r.text):e.push(i);continue}if((i=this.tokenizer.fences(t))||(i=this.tokenizer.heading(t))||(i=this.tokenizer.hr(t))||(i=this.tokenizer.blockquote(t))||(i=this.tokenizer.list(t))||(i=this.tokenizer.html(t))){t=t.substring(i.raw.length),e.push(i);continue}if(i=this.tokenizer.def(t)){t=t.substring(i.raw.length);let r=e.at(-1);r?.type==="paragraph"||r?.type==="text"?(r.raw+=(r.raw.endsWith(` +`)?"":` +`)+i.raw,r.text+=` +`+i.raw,this.inlineQueue.at(-1).src=r.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},e.push(i));continue}if((i=this.tokenizer.table(t))||(i=this.tokenizer.lheading(t))){t=t.substring(i.raw.length),e.push(i);continue}let o=t;if(this.options.extensions?.startBlock){let e=1/0,r=t.slice(1),i;this.options.extensions.startBlock.forEach(t=>{"number"==typeof(i=t.call({lexer:this},r))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(o=t.substring(0,e+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){let a=e.at(-1);r&&a?.type==="paragraph"?(a.raw+=(a.raw.endsWith(` +`)?"":` +`)+i.raw,a.text+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):e.push(i),r=o.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length);let r=e.at(-1);r?.type==="text"?(r.raw+=(r.raw.endsWith(` +`)?"":` +`)+i.raw,r.text+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):e.push(i);continue}if(t){let e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw Error(e)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let r,i=t,o=null;if(this.tokens.links){let t=Object.keys(this.tokens.links);if(t.length>0)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(i));)t.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.anyPunctuation.exec(i));)i=i.slice(0,o.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(i));)r=o[2]?o[2].length:0,i=i.slice(0,o.index+r)+"["+"a".repeat(o[0].length-r-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=this.options.hooks?.emStrongMask?.call({lexer:this},i)??i;let a=!1,n="";for(;t;){let r;if(a||(n=""),a=!1,this.options.extensions?.inline?.some(i=>!!(r=i.call({lexer:this},t,e))&&(t=t.substring(r.raw.length),e.push(r),!0)))continue;if((r=this.tokenizer.escape(t))||(r=this.tokenizer.tag(t))||(r=this.tokenizer.link(t))){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(r.raw.length);let i=e.at(-1);"text"===r.type&&i?.type==="text"?(i.raw+=r.raw,i.text+=r.text):e.push(r);continue}if((r=this.tokenizer.emStrong(t,i,n))||(r=this.tokenizer.codespan(t))||(r=this.tokenizer.br(t))||(r=this.tokenizer.del(t))||(r=this.tokenizer.autolink(t))||!this.state.inLink&&(r=this.tokenizer.url(t))){t=t.substring(r.raw.length),e.push(r);continue}let o=t;if(this.options.extensions?.startInline){let e=1/0,r=t.slice(1),i;this.options.extensions.startInline.forEach(t=>{"number"==typeof(i=t.call({lexer:this},r))&&i>=0&&(e=Math.min(e,i))}),e<1/0&&e>=0&&(o=t.substring(0,e+1))}if(r=this.tokenizer.inlineText(o)){t=t.substring(r.raw.length),"_"!==r.raw.slice(-1)&&(n=r.raw.slice(-1)),a=!0;let i=e.at(-1);i?.type==="text"?(i.raw+=r.raw,i.text+=r.text):e.push(r);continue}if(t){let e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw Error(e)}}return e}},ty=class{options;parser;constructor(t){this.options=t||h}space(t){return""}code({text:t,lang:e,escaped:r}){let i=(e||"").match(p.notSpaceStart)?.[0],o=t.replace(p.endingNewline,"")+` +`;return i?'<pre><code class="language-'+th(i)+'">'+(r?o:th(o,!0))+`</code></pre> +`:"<pre><code>"+(r?o:th(o,!0))+`</code></pre> +`}blockquote({tokens:t}){return`<blockquote> +${this.parser.parse(t)}</blockquote> +`}html({text:t}){return t}def(t){return""}heading({tokens:t,depth:e}){return`<h${e}>${this.parser.parseInline(t)}</h${e}> +`}hr(t){return`<hr> +`}list(t){let e=t.ordered,r=t.start,i="";for(let e=0;e<t.items.length;e++){let r=t.items[e];i+=this.listitem(r)}let o=e?"ol":"ul";return"<"+o+(e&&1!==r?' start="'+r+'"':"")+`> +`+i+"</"+o+`> +`}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens[0]?.type==="paragraph"?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=r+" "+th(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" ",escaped:!0}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`<li>${e}</li> +`}checkbox({checked:t}){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:t}){return`<p>${this.parser.parseInline(t)}</p> +`}table(t){let e="",r="";for(let e=0;e<t.header.length;e++)r+=this.tablecell(t.header[e]);e+=this.tablerow({text:r});let i="";for(let e=0;e<t.rows.length;e++){let o=t.rows[e];r="";for(let t=0;t<o.length;t++)r+=this.tablecell(o[t]);i+=this.tablerow({text:r})}return i&&(i=`<tbody>${i}</tbody>`),`<table> +<thead> +`+e+`</thead> +`+i+`</table> +`}tablerow({text:t}){return`<tr> +${t}</tr> +`}tablecell(t){let e=this.parser.parseInline(t.tokens),r=t.header?"th":"td";return(t.align?`<${r} align="${t.align}">`:`<${r}>`)+e+`</${r}> +`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${th(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,tokens:r}){let i=this.parser.parseInline(r),o=tc(t);if(null===o)return i;let a='<a href="'+(t=o)+'"';return e&&(a+=' title="'+th(e)+'"'),a+=">"+i+"</a>"}image({href:t,title:e,text:r,tokens:i}){i&&(r=this.parser.parseInline(i,this.parser.textRenderer));let o=tc(t);if(null===o)return th(r);t=o;let a=`<img src="${t}" alt="${r}"`;return e&&(a+=` title="${th(e)}"`),a+=">"}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:th(t.text)}},tm=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}},tx=class t{options;renderer;textRenderer;constructor(t){this.options=t||h,this.options.renderer=this.options.renderer||new ty,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new tm}static parse(e,r){return new t(r).parse(e)}static parseInline(e,r){return new t(r).parseInline(e)}parse(t,e=!0){let r="";for(let i=0;i<t.length;i++){let o=t[i];if(this.options.extensions?.renderers?.[o.type]){let t=this.options.extensions.renderers[o.type].call({parser:this},o);if(!1!==t||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(o.type)){r+=t||"";continue}}switch(o.type){case"space":r+=this.renderer.space(o);continue;case"hr":r+=this.renderer.hr(o);continue;case"heading":r+=this.renderer.heading(o);continue;case"code":r+=this.renderer.code(o);continue;case"table":r+=this.renderer.table(o);continue;case"blockquote":r+=this.renderer.blockquote(o);continue;case"list":r+=this.renderer.list(o);continue;case"html":r+=this.renderer.html(o);continue;case"def":r+=this.renderer.def(o);continue;case"paragraph":r+=this.renderer.paragraph(o);continue;case"text":{let a=o,n=this.renderer.text(a);for(;i+1<t.length&&"text"===t[i+1].type;)a=t[++i],n+=` +`+this.renderer.text(a);e?r+=this.renderer.paragraph({type:"paragraph",raw:n,text:n,tokens:[{type:"text",raw:n,text:n,escaped:!0}]}):r+=n;continue}default:{let t='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw Error(t)}}}return r}parseInline(t,e=this.renderer){let r="";for(let i=0;i<t.length;i++){let o=t[i];if(this.options.extensions?.renderers?.[o.type]){let t=this.options.extensions.renderers[o.type].call({parser:this},o);if(!1!==t||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){r+=t||"";continue}}switch(o.type){case"escape":case"text":r+=e.text(o);break;case"html":r+=e.html(o);break;case"link":r+=e.link(o);break;case"image":r+=e.image(o);break;case"strong":r+=e.strong(o);break;case"em":r+=e.em(o);break;case"codespan":r+=e.codespan(o);break;case"br":r+=e.br(o);break;case"del":r+=e.del(o);break;default:{let t='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(t),"";throw Error(t)}}}return r}},tC=class{options;block;constructor(t){this.options=t||h}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(){return this.block?tf.lex:tf.lexInline}provideParser(){return this.block?tx.parse:tx.parseInline}},tb=new class{defaults=l();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=tx;Renderer=ty;TextRenderer=tm;Lexer=tf;Tokenizer=tg;Hooks=tC;constructor(...t){this.use(...t)}walkTokens(t,e){let r=[];for(let i of t)switch(r=r.concat(e.call(this,i)),i.type){case"table":for(let t of i.header)r=r.concat(this.walkTokens(t.tokens,e));for(let t of i.rows)for(let i of t)r=r.concat(this.walkTokens(i.tokens,e));break;case"list":r=r.concat(this.walkTokens(i.items,e));break;default:{let t=i;this.defaults.extensions?.childTokens?.[t.type]?this.defaults.extensions.childTokens[t.type].forEach(i=>{let o=t[i].flat(1/0);r=r.concat(this.walkTokens(o,e))}):t.tokens&&(r=r.concat(this.walkTokens(t.tokens,e)))}}return r}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(t=>{let r={...t};if(r.async=this.defaults.async||r.async||!1,t.extensions&&(t.extensions.forEach(t=>{if(!t.name)throw Error("extension name required");if("renderer"in t){let r=e.renderers[t.name];r?e.renderers[t.name]=function(...e){let i=t.renderer.apply(this,e);return!1===i&&(i=r.apply(this,e)),i}:e.renderers[t.name]=t.renderer}if("tokenizer"in t){if(!t.level||"block"!==t.level&&"inline"!==t.level)throw Error("extension level must be 'block' or 'inline'");let r=e[t.level];r?r.unshift(t.tokenizer):e[t.level]=[t.tokenizer],t.start&&("block"===t.level?e.startBlock?e.startBlock.push(t.start):e.startBlock=[t.start]:"inline"===t.level&&(e.startInline?e.startInline.push(t.start):e.startInline=[t.start]))}"childTokens"in t&&t.childTokens&&(e.childTokens[t.name]=t.childTokens)}),r.extensions=e),t.renderer){let e=this.defaults.renderer||new ty(this.defaults);for(let r in t.renderer){if(!(r in e))throw Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;let i=t.renderer[r],o=e[r];e[r]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=o.apply(e,t)),r||""}}r.renderer=e}if(t.tokenizer){let e=this.defaults.tokenizer||new tg(this.defaults);for(let r in t.tokenizer){if(!(r in e))throw Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;let i=t.tokenizer[r],o=e[r];e[r]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=o.apply(e,t)),r}}r.tokenizer=e}if(t.hooks){let e=this.defaults.hooks||new tC;for(let r in t.hooks){if(!(r in e))throw Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;let i=t.hooks[r],o=e[r];tC.passThroughHooks.has(r)?e[r]=t=>{if(this.defaults.async&&tC.passThroughHooksRespectAsync.has(r))return(async()=>{let r=await i.call(e,t);return o.call(e,r)})();let a=i.call(e,t);return o.call(e,a)}:e[r]=(...t)=>{if(this.defaults.async)return(async()=>{let r=await i.apply(e,t);return!1===r&&(r=await o.apply(e,t)),r})();let r=i.apply(e,t);return!1===r&&(r=o.apply(e,t)),r}}r.hooks=e}if(t.walkTokens){let e=this.defaults.walkTokens,i=t.walkTokens;r.walkTokens=function(t){let r=[];return r.push(i.call(this,t)),e&&(r=r.concat(e.call(this,t))),r}}this.defaults={...this.defaults,...r}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return tf.lex(t,e??this.defaults)}parser(t,e){return tx.parse(t,e??this.defaults)}parseMarkdown(t){return(e,r)=>{let i={...r},o={...this.defaults,...i},a=this.onError(!!o.silent,!!o.async);if(!0===this.defaults.async&&!1===i.async)return a(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||null===e)return a(Error("marked(): input parameter is undefined or null"));if("string"!=typeof e)return a(Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(o.hooks&&(o.hooks.options=o,o.hooks.block=t),o.async)return(async()=>{let r=o.hooks?await o.hooks.preprocess(e):e,i=await (o.hooks?await o.hooks.provideLexer():t?tf.lex:tf.lexInline)(r,o),a=o.hooks?await o.hooks.processAllTokens(i):i;o.walkTokens&&await Promise.all(this.walkTokens(a,o.walkTokens));let n=await (o.hooks?await o.hooks.provideParser():t?tx.parse:tx.parseInline)(a,o);return o.hooks?await o.hooks.postprocess(n):n})().catch(a);try{o.hooks&&(e=o.hooks.preprocess(e));let r=(o.hooks?o.hooks.provideLexer():t?tf.lex:tf.lexInline)(e,o);o.hooks&&(r=o.hooks.processAllTokens(r)),o.walkTokens&&this.walkTokens(r,o.walkTokens);let i=(o.hooks?o.hooks.provideParser():t?tx.parse:tx.parseInline)(r,o);return o.hooks&&(i=o.hooks.postprocess(i)),i}catch(t){return a(t)}}}onError(t,e){return r=>{if(r.message+=` +Please report this to https://github.com/markedjs/marked.`,t){let t="<p>An error occurred:</p><pre>"+th(r.message+"",!0)+"</pre>";return e?Promise.resolve(t):t}if(e)return Promise.reject(r);throw r}}};function tk(t,e){return tb.parse(t,e)}tk.options=tk.setOptions=function(t){return tb.setOptions(t),tk.defaults=tb.defaults,h=tk.defaults,tk},tk.getDefaults=l,tk.defaults=h,tk.use=function(...t){return tb.use(...t),tk.defaults=tb.defaults,h=tk.defaults,tk},tk.walkTokens=function(t,e){return tb.walkTokens(t,e)},tk.parseInline=tb.parseInline,tk.Parser=tx,tk.parser=tx.parse,tk.Renderer=ty,tk.TextRenderer=tm,tk.Lexer=tf,tk.lexer=tf.lex,tk.Tokenizer=tg,tk.Hooks=tC,tk.parse=tk,tk.options,tk.setOptions,tk.use,tk.walkTokens,tk.parseInline,tx.parse,tf.lex;var tw=r(8908),tT=r(7829),tB="u">typeof performance&&"function"==typeof performance.now,tS=(0,s.K)(()=>tB?performance.now():0,"now"),tv="\u{1F9DC} ",t_={parse:"tertiary",prepare:"secondary",measure:"primary",layout:"primary-dark",layoutCore:"error",draw:"primary-light",paint:"secondary-dark",serialize:"tertiary-dark",render:"primary-light"};function tF(t,{markdownAutoWrap:e}){let r=t.replace(/<br\/>/g,"\n").replace(/\n{2,}/g,"\n");return(0,tw.T)(r)}function tA(t){return t.split(/\\n|\n|<br\s*\/?>/gi).map(t=>t.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(t=>({content:t,type:"normal"}))??[])}function tL(t,e={}){let r=tF(t,e),i=tk.lexer(r),o=[[]],a=0;function n(t,e="normal"){"text"===t.type?t.text.split("\n").forEach((t,r)=>{0!==r&&(a++,o.push([])),t.split(" ").forEach(t=>{(t=t.replace(/'/g,"'"))&&o[a].push({content:t,type:e})})}):"strong"===t.type||"em"===t.type?t.tokens.forEach(e=>{n(e,t.type)}):"html"===t.type&&o[a].push({content:t.text,type:"normal"})}return(0,s.K)(n,"processNode"),i.forEach(t=>{"paragraph"===t.type?t.tokens?.forEach(t=>{n(t)}):"html"===t.type?o[a].push({content:t.text,type:"normal"}):o[a].push({content:t.raw,type:"normal"})}),o}function tM(t){return t?`<p>${t.replace(/\\n|\n/g,"<br />")}</p>`:""}function t$(t,{markdownAutoWrap:e}={}){let r=tk.lexer(t);function i(t){if("text"===t.type)return!1===e?t.text.replace(/\n */g,"<br/>").replace(/ /g," "):t.text.replace(/\n */g,"<br/>");if("strong"===t.type)return`<strong>${t.tokens?.map(i).join("")}</strong>`;if("em"===t.type)return`<em>${t.tokens?.map(i).join("")}</em>`;if("paragraph"===t.type)return`<p>${t.tokens?.map(i).join("")}</p>`;if("space"===t.type)return"";else if("html"===t.type)return`${t.text}`;else if("escape"===t.type)return t.text;return n.R.warn(`Unsupported markdown: ${t.type}`),t.raw}return(0,s.K)(i,"output"),r.map(i).join("")}(class{constructor(){this.enabled=!1,this.autoPrint=!0,this.records=[],this.maxRecords=200,this.roots=[],this.stack=[],this.buckets={}}static{(0,s.K)(this,"Profiler")}enable(){return this.enabled=!0,this}disable(){return this.enabled=!1,this}start(t){this.enabled&&(this.roots=[],this.stack=[],this.buckets={},this.begin(t))}tickSync(t,e){if(!this.enabled)return e();let r=tS();try{return e()}finally{this.buckets[t]=(this.buckets[t]??0)+(tS()-r)}}async tick(t,e){if(!this.enabled)return e();let r=tS();try{return await e()}finally{this.buckets[t]=(this.buckets[t]??0)+(tS()-r)}}stop(){if(!this.enabled)return;for(;this.stack.length>0;)this.end();let t=this.roots.at(-1),e=this.runLabel??t?.name;return t&&(this.records.push({label:e??t.name,tree:t,buckets:{...this.buckets}}),this.records.length>this.maxRecords&&this.records.splice(0,this.records.length-this.maxRecords),this.autoPrint&&this.printSummary(t,e)),this.runLabel=void 0,t}begin(t){if(!this.enabled)return;let e={name:t,start:tS(),duration:-1,children:[]},r=this.stack.at(-1);if(r?r.children.push(e):this.roots.push(e),this.stack.push(e),tB&&"function"==typeof performance.mark)try{performance.mark(`${tv}${t} \u25B6`)}catch{}}end(){if(!this.enabled)return;let t=this.stack.pop();if(!t)return;let e=tS();if(t.duration=e-t.start,tB&&"function"==typeof performance.measure)try{performance.measure(`${tv}${t.name}`,{start:t.start,end:e,detail:{devtools:{dataType:"track-entry",track:"Mermaid render",trackGroup:"Mermaid",color:t_[t.name]??"primary",tooltipText:`${t.name} \u2014 ${t.duration.toFixed(1)} ms`}}})}catch{}}async span(t,e){if(!this.enabled)return e();this.begin(t);try{return await e()}finally{this.end()}}report(){return this.records.at(-1)?.tree??this.roots.at(-1)}clear(){this.records.length=0,this.roots=[],this.stack=[],this.runLabel=void 0}reset(){this.roots=[],this.stack=[]}printSummary(t=this.report(),e){if(!t)return;let r=t.duration,i=e&&e!==t.name?`${t.name} [${e}]`:t.name,o=["ms % phase"],a=(0,s.K)((t,e)=>{let i=" ".repeat(e),n=t.duration.toFixed(1).padStart(8),s=r>0?`${(t.duration/r*100).toFixed(0).padStart(3)}%`:" -";for(let r of(o.push(`${n} ${s} ${i}${t.name}`),t.children))a(r,e+1);if(t.children.length>0){let e=t.children.reduce((t,e)=>t+e.duration,0),r=t.duration-e;if(r>.5){let t=r.toFixed(1).padStart(8);o.push(`${t} ${i} (self)`)}}},"walk");a(t,0);let n=Object.keys(this.buckets);if(n.length>0)for(let t of(o.push("\u2014\u2014 buckets (summed) \u2014\u2014"),n))o.push(`${this.buckets[t].toFixed(1).padStart(8)} ${t}`);console.log(`${tv}mermaid render profile \xb7 ${i} +${o.join("\n")}`)}}),globalThis.injected??={includeLargeFeatures:!0,profiling:!1,version:"0.0.0"},(0,s.K)(tF,"preprocessMarkdown"),(0,s.K)(tA,"nonMarkdownToLines"),(0,s.K)(tL,"markdownToLines"),(0,s.K)(tM,"nonMarkdownToHTML"),(0,s.K)(t$,"markdownToHTML");var tE=function(t){var e=function(){},r=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.msRequestAnimationFrame||function(t){return setTimeout(t,16)};function i(){this.reads=[],this.writes=[],this.raf=r.bind(t),e("initialized",this)}function o(t){t.scheduled||(t.scheduled=!0,t.raf(a.bind(null,t)),e("flush scheduled"))}function a(t){e("flush");var r,i=t.writes,a=t.reads;try{e("flushing reads",a.length),t.runTasks(a),e("flushing writes",i.length),t.runTasks(i)}catch(t){r=t}if(t.scheduled=!1,(a.length||i.length)&&o(t),r)if(e("task errored",r.message),t.catch)t.catch(r);else throw r}function n(t,e){var r=t.indexOf(e);return!!~r&&!!t.splice(r,1)}function l(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])}return(0,s.K)(i,"FastDom"),i.prototype={constructor:i,runTasks:(0,s.K)(function(t){var r;for(e("run tasks");r=t.shift();)r()},"runTasks"),measure:(0,s.K)(function(t,r){e("measure");var i=r?t.bind(r):t;return this.reads.push(i),o(this),i},"measure"),mutate:(0,s.K)(function(t,r){e("mutate");var i=r?t.bind(r):t;return this.writes.push(i),o(this),i},"mutate"),clear:(0,s.K)(function(t){return e("clear",t),n(this.reads,t)||n(this.writes,t)},"clear"),extend:(0,s.K)(function(t){if(e("extend",t),"object"!=typeof t)throw Error("expected object");var r=Object.create(this);return l(r,t),r.fastdom=this,r.initialize&&r.initialize(),r},"extend"),catch:null},(0,s.K)(o,"scheduleFlush"),(0,s.K)(a,"flush"),(0,s.K)(n,"remove"),(0,s.K)(l,"mixin"),t.fastdom=t.fastdom||new i}("u">typeof window?window:globalThis),tO={initialize:(0,s.K)(function(){this._tasks=new Map},"initialize"),mutate:(0,s.K)(function(t,e){return tD(this,"mutate",t,e)},"mutate"),measure:(0,s.K)(function(t,e){return tD(this,"measure",t,e)},"measure"),clear:(0,s.K)(function(t){var e=this._tasks,r=e.get(t);this.fastdom.clear(r),e.delete(t)},"clear")};function tD(t,e,r,i){var o,a=t._tasks,n=t.fastdom,s=new Promise(function(t,l){o=n[e](function(){a.delete(s);try{t(i?r.call(i):r())}catch(t){l(t)}},i)});return a.set(s,o),s}(0,s.K)(tD,"create");var{initialize:tK,mutate:tI,measure:tq,clear:tR}=tO,tP=tE.extend({raf(t){"function"==typeof queueMicrotask?queueMicrotask(t):setTimeout(t,0)}}).extend(tO);function tz(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(t=>t.segment):[...t]}function tW(t,e){return tN(t,[],tz(e.content),e.type)}function tN(t,e,r,i){if(0===r.length)return[{content:e.join(""),type:i},{content:"",type:i}];let[o,...a]=r,n=[...e,o];return t([{content:n.join(""),type:i}])?tN(t,n,a,i):(0===e.length&&o&&(e.push(o),r.shift()),[{content:e.join(""),type:i},{content:r.join(""),type:i}])}function tj(t,e){if(t.some(({content:t})=>t.includes("\n")))throw Error("splitLineToFitWidth does not support newlines in the line");return tH(t,e)}function tH(t,e,r=[],i=[]){if(0===t.length)return i.length>0&&r.push(i),r.length>0?r:[];let o="";" "===t[0].content&&(o=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},n=[...i];if(""!==o&&n.push({content:o,type:"normal"}),n.push(a),e(n))return tH(t,e,r,n);if(i.length>0)r.push(i),t.unshift(a);else if(a.content){let[i,o]=tW(e,a);r.push([i]),o.content&&t.unshift(o)}return tH(t,e,r)}function tU(t,e){e&&t.attr("style",e)}async function tY(t,e,r,i,o=!1,n=(0,a.zj)(),s=0){let l=t.append("foreignObject");l.attr("width",`${Math.min(10*r,16384)}px`),l.attr("height",`${Math.min(10*r,16384)}px`);let h=l.append("xhtml:div"),c=(0,a.Wi)(e.label)?await (0,a.dj)(e.label.replace(a.Y2.lineBreakRegex,"\n"),n):(0,a.jZ)(e.label,n),d=e.isNode?"nodeLabel":"edgeLabel",u=h.append("span");u.html(c),tU(u,e.labelStyle),u.attr("class",`${d} ${i}`),tU(h,e.labelStyle),h.style("display","table-cell"),h.style("white-space","nowrap"),h.style("line-height","1.5"),r!==1/0&&(h.style("max-width",r+"px"),h.style("text-align","center")),h.attr("xmlns","http://www.w3.org/1999/xhtml"),o&&h.attr("class","labelBkg");let p=await tP.measure(()=>h.node().getBoundingClientRect());return p.width===r?(h.style("display","table"),h.style("white-space","break-spaces"),h.style("width",r+"px")):p.width<s&&(h.style("display","table"),h.style("width",s+"px"),h.style("text-align","center")),l.node()}function tG(t,e,r,i=!1){let o=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return i&&o.attr("text-anchor","middle"),o}function tX(t,e,r){let i=t.append("text"),o=tG(i,1,e);tJ(o,r);let a=o.node().getComputedTextLength();return i.remove(),a}function tZ(t,e,r){let i=t.append("text"),o=tG(i,1,e);tJ(o,[{content:r,type:"normal"}]);let a=o.node()?.getBoundingClientRect();return a&&i.remove(),a}function tV(t,e,r,i=!1,o=!1){let a=e.append("g"),n=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1");o&&l.attr("text-anchor","middle");let h=0;for(let e of r){let r=(0,s.K)(e=>tX(a,1.1,e)<=t,"checkWidth");for(let t of r(e)?[e]:tj(e,r))tJ(tG(l,h,1.1,o),t),h++}if(!i)return l.node();{let t=l.node().getBBox();return n.attr("x",t.x-2).attr("y",t.y-2).attr("width",t.width+4).attr("height",t.height+4),a.node()}}function tQ(t){return t.replace(/&(amp|lt|gt);/g,(t,e)=>{switch(e){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return t}})}function tJ(t,e){t.text(""),e.forEach((e,r)=>{let i=t.append("tspan").attr("font-style","em"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===r?i.text(tQ(e.content)):i.text(" "+tQ(e.content))})}async function t0(t,e={}){let r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(t,o,n)=>(r.push((async()=>{let r=`${o}:${n}`;return await (0,i.dn)(r)?await (0,i.WY)(r,void 0,{class:"label-icon"}):`<i class='${(0,a.jZ)(t,e).replace(":"," ")}'></i>`})()),t));let o=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>o.shift()??"")}(0,s.K)(tz,"splitTextToChars"),(0,s.K)(tW,"splitWordToFitWidth"),(0,s.K)(tN,"splitWordToFitWidthRecursion"),(0,s.K)(tj,"splitLineToFitWidth"),(0,s.K)(tH,"splitLineToFitWidthRecursion"),(0,s.K)(tU,"applyStyle"),(0,s.K)(tY,"addHtmlSpan"),(0,s.K)(tG,"createTspan"),(0,s.K)(tX,"computeWidthOfText"),(0,s.K)(tZ,"computeDimensionOfText"),(0,s.K)(tV,"createFormattedText"),(0,s.K)(tQ,"decodeHTMLEntities"),(0,s.K)(tJ,"updateTextContentAndStyles"),(0,s.K)(t0,"replaceIconSubstring");var t1=(0,s.K)(async(t,e="",{style:r="",isTitle:i=!1,classes:s="",useHtmlLabels:l=!0,markdown:h=!0,isNode:c=!0,width:d=200,minWidth:u=0,addSvgBackground:p=!1}={},g)=>{if(n.R.debug("XYZ createText",e,r,i,s,l,c,"addSvgBackground: ",p),l){let i=h?t$(e,g):tM(e),n=await t0((0,o.Sm)(i),g),l=e.replace(/\\\\/g,"\\"),f={isNode:c,label:(0,a.Wi)(e)?l:n,labelStyle:r.replace("fill:","color:")};return await tY(t,f,d,s,p,g,u)}{let a=(0,o.Sm)(e.replace(/<br\s*\/?>/g,"<br/>")),n=tV(d,t,h?tL(a.replace("<br>","<br/>"),g):tA(a),!!e&&p,!c);if(c){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let t=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");(0,tT.Ltv)(n).attr("style",t)}else{let t=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");(0,tT.Ltv)(n).select("rect").attr("style",t.replace(/background:/g,"fill:"));let e=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");(0,tT.Ltv)(n).select("text").attr("style",e)}return i?(0,tT.Ltv)(n).selectAll("tspan.text-outer-tspan").classed("title-row",!0):(0,tT.Ltv)(n).selectAll("tspan.text-outer-tspan").classed("row",!0),n}},"createText")},1177(t,e,r){"use strict";let i;r.d(e,{Q2:()=>t_,UU:()=>tB,EI:()=>eC,KG:()=>es,mW:()=>w,Y2:()=>ee,DB:()=>x,Gs:()=>eE,ID:()=>tQ,Wt:()=>ed,QO:()=>t1,TM:()=>tI,wZ:()=>tS,UI:()=>to,D7:()=>eS,mj:()=>eA,Wi:()=>t8,B6:()=>tv,xA:()=>tM,C0:()=>k,m7:()=>eb,ab:()=>ew,Nk:()=>tF,IU:()=>ey,H1:()=>tR,Xd:()=>B,hH:()=>F,zj:()=>tA,iN:()=>ex,dj:()=>et,Df:()=>tc,E:()=>tq,oB:()=>eF,ME:()=>e_,ke:()=>ek,ot:()=>ea,tM:()=>ec,a$:()=>eo,Ch:()=>T,SV:()=>em,H$:()=>J,P$:()=>I,sb:()=>td,_3:()=>ty,cL:()=>t$,$i:()=>th,XV:()=>ev,Dl:()=>t7,jZ:()=>tU,yj:()=>tT,EJ:()=>m,J$:()=>v,Js:()=>e$});var o,a,n=r(1293),s=r(6827),l=r(6408),h=r(8232);let c=(t,e)=>{let r=l.A.parse(t),i={};for(let t in e)e[t]&&(i[t]=r[t]+e[t]);return(0,h.A)(t,i)};var d=r(5582);let u=(t,e=100)=>{let r=l.A.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,((t,e,r=50)=>{let{r:i,g:o,b:a,a:n}=l.A.parse(t),{r:s,g:h,b:c,a:u}=l.A.parse(e),p=r/100,g=2*p-1,f=n-u,y=((g*f==-1?g:(g+f)/(1+g*f))+1)/2,m=1-y;return(0,d.A)(i*y+s*m,o*y+h*m,a*y+c*m,n*p+u*(1-p))})(r,t,e)};var p=r(5263),g=r(8041),f=r(4682),y=r(9418),m=/^([^\S\n\r]*)-{3}\s*[\n\r](.*?)[\n\r]\1-{3}\s*[\n\r]+/s,x=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,C=/\s/,b=(0,s.K)(t=>{let e="",r=0,i=0;for(;i<t.length;){let o=t.indexOf("%%",i);if(-1===o)break;let a=t.indexOf("\n",o);if(-1===a)break;let n=o;for(;n>r&&C.test(t[n-1]);)n--;e+=t.slice(r,n)+"\n",i=r=a+1}return e+t.slice(r)},"stripAnyComments"),k=class extends Error{static{(0,s.K)(this,"UnknownDiagramError")}constructor(t){super(t),this.name="UnknownDiagramError"}},w={},T=(0,s.K)(function(t,e){for(let[r,{detector:i}]of(t=b(t.replace(m,"").replace(x,"")),Object.entries(w)))if(i(t,e))return r;throw new k(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),B=(0,s.K)((...t)=>{for(let{id:e,detector:r,loader:i}of t)S(e,r,i)},"registerLazyLoadedDiagrams"),S=(0,s.K)((t,e,r)=>{w[t]&&n.R.warn(`Detector with key ${t} already exists. Overwriting.`),w[t]={detector:e,loader:r},n.R.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),v=(0,s.K)(t=>w[t].loader,"getDiagramLoader"),_=(0,s.K)((t,e,{depth:r=2}={})=>{let i={depth:r};if(Array.isArray(e)&&!Array.isArray(t))return e.forEach(e=>_(t,e,i)),t;if(Array.isArray(e)&&Array.isArray(t))return e.forEach(e=>{t.includes(e)||t.push(e)}),t;if(null==t||r<=0)if(null!=t&&"object"==typeof t&&"object"==typeof e)return Object.assign(t,e);else return e;return null!=e&&"object"==typeof t&&"object"==typeof e&&Object.entries(e).forEach(([e,i])=>{"object"==typeof i?null!==i&&(Object.hasOwn(t,e)||Object.defineProperty(t,e,{value:void 0,writable:!0,enumerable:!0,configurable:!0}),void 0===t[e]&&(t[e]=Array.isArray(i)?[]:{}),"object"==typeof t[e]&&(t[e]=_(t[e],i,{depth:r-1}))):"object"!=typeof t[e]&&(Object.hasOwn(t,e)?t[e]=i:Object.defineProperty(t,e,{value:i,writable:!0,enumerable:!0,configurable:!0}))}),t},"assignWithDepth"),F=_,A="#ffffff",L="#f2f2f2",M=(0,s.K)((t,e)=>e?c(t,{s:-40,l:10}):c(t,{s:-40,l:-10}),"mkBorder"),$=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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||(0,g.A)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||(0,p.A)(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||(0,p.A)(this.mainBkg,10)):(this.rowOdd=this.rowOdd||(0,g.A)(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||(0,g.A)(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let t=this.darkMode?-4:-1;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(5+3*e)}),this["surfacePeer"+e]=this["surfacePeer"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(8+3*e)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||c(this.primaryColor,{h:64}),this.fillType3=this.fillType3||c(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||c(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||c(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||c(this.primaryColor,{h:128}),this.fillType7=this.fillType7||c(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||c(this.primaryColor,{l:-10}),this.pie5=this.pie5||c(this.secondaryColor,{l:-10}),this.pie6=this.pie6||c(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||c(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||c(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||c(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||c(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||c(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||c(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??c(this.primaryColor,{l:-30}),this.venn2=this.venn2??c(this.secondaryColor,{l:-30}),this.venn3=this.venn3??c(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??c(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??c(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??c(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??c(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??c(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B0000",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#E8F5E9",complicatedBg:this.cynefin?.complicatedBg||"#E3F2FD",chaoticBg:this.cynefin?.chaoticBg||"#FBE9E7",clearBg:this.cynefin?.clearBg||"#FFF8E1",confusionBg:this.cynefin?.confusionBg||"#F3E5F5",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.archEdgeColor=this.archEdgeColor||"#777",this.archEdgeArrowColor=this.archEdgeArrowColor||"#777",this.archEdgeWidth=this.archEdgeWidth||"3",this.archGroupBorderColor=this.archGroupBorderColor||"#000",this.archGroupBorderWidth=this.archGroupBorderWidth||"2px",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||c(this.primaryColor,{h:-30}),this.git4=this.git4||c(this.primaryColor,{h:-60}),this.git5=this.git5||c(this.primaryColor,{h:-90}),this.git6=this.git6||c(this.primaryColor,{h:60}),this.git7=this.git7||c(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]}),Object.hasOwn(t,"nodeBorder")&&!Object.hasOwn(t,"useGradient")&&(this.useGradient=!1)}},E=(0,s.K)(t=>{let e=new $;return e.calculate(t),e},"getThemeVariables"),O=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,g.A)(this.primaryColor,16),this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=u(this.background),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,g.A)(u("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=(0,d.A)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=(0,p.A)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=(0,p.A)(this.sectionBkgColor,10),this.taskBorderColor=(0,d.A)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=(0,d.A)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||(0,g.A)(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||(0,p.A)(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=(0,g.A)(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=(0,g.A)(this.labelBackground,25),this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.background,this.taskBkgColor=(0,g.A)(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=u(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=c(this.primaryColor,{h:64}),this.fillType3=c(this.secondaryColor,{h:64}),this.fillType4=c(this.primaryColor,{h:-64}),this.fillType5=c(this.secondaryColor,{h:-64}),this.fillType6=c(this.primaryColor,{h:128}),this.fillType7=c(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||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10);for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:30,s:-30,l:-(-10+4*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:30,s:-30,l:-(-7+4*t)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.mainContrastColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.mainContrastColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let t=0;t<8;t++)this["venn"+(t+1)]=this["venn"+(t+1)]??(0,g.A)(this["cScale"+t],30);this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#FF6B6B",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#1B5E20",complicatedBg:this.cynefin?.complicatedBg||"#0D47A1",chaoticBg:this.cynefin?.chaoticBg||"#BF360C",clearBg:this.cynefin?.clearBg||"#F57F17",confusionBg:this.cynefin?.confusionBg||"#4A148C",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.background},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#ff6b6b",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.mainBkg,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.mainBkg},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,g.A)(this.secondaryColor,20),this.git1=(0,g.A)(this.pie2||this.secondaryColor,20),this.git2=(0,g.A)(this.pie3||this.tertiaryColor,20),this.git3=(0,g.A)(this.pie4||c(this.primaryColor,{h:-30}),20),this.git4=(0,g.A)(this.pie5||c(this.primaryColor,{h:-60}),20),this.git5=(0,g.A)(this.pie6||c(this.primaryColor,{h:-90}),10),this.git6=(0,g.A)(this.pie7||c(this.primaryColor,{h:60}),10),this.git7=(0,g.A)(this.pie8||c(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||u(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||u(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"#2d2d2d",this.emUiStroke=this.emUiStroke||"#555",this.emProcessorFill=this.emProcessorFill||(0,g.A)("#5a3d5c",10),this.emProcessorStroke=this.emProcessorStroke||"#8a6d8c",this.emReadModelFill=this.emReadModelFill||(0,g.A)("#3d5a2d",10),this.emReadModelStroke=this.emReadModelStroke||"#6d8c5c",this.emCommandFill=this.emCommandFill||(0,g.A)("#2d3d5a",10),this.emCommandStroke=this.emCommandStroke||"#5c6d8c",this.emEventFill=this.emEventFill||(0,g.A)("#5a452d",10),this.emEventStroke=this.emEventStroke||"#8c755c",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||(0,g.A)(this.background,5),this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||(0,g.A)(this.background,12),this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||(0,g.A)(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||(0,g.A)(this.background,2),this.nodeBorder=this.nodeBorder||"#999"}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},D=(0,s.K)(t=>{let e=new O;return e.calculate(t),e},"getThemeVariables"),K=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=c(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.primaryColor,this.darkMode),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=M(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=(0,d.A)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,p.A)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,p.A)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||c(this["cScale"+t],{h:180});for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:30,l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:30,l:-(7+5*t)});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||u(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||u(this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||(0,g.A)(this.primaryColor,75)||"#ffffff",this.rowEven=this.rowEven||(0,g.A)(this.primaryColor,1),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=c(this.primaryColor,{h:64}),this.fillType3=c(this.secondaryColor,{h:64}),this.fillType4=c(this.primaryColor,{h:-64}),this.fillType5=c(this.secondaryColor,{h:-64}),this.fillType6=c(this.primaryColor,{h:128}),this.fillType7=c(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||c(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||c(this.primaryColor,{l:-10}),this.pie5=this.pie5||c(this.secondaryColor,{l:-30}),this.pie6=this.pie6||c(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||c(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||c(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||c(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||c(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||c(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||c(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??c(this.primaryColor,{l:-30}),this.venn2=this.venn2??c(this.secondaryColor,{l:-30}),this.venn3=this.venn3??c(this.tertiaryColor,{l:-40}),this.venn4=this.venn4??c(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??c(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??c(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??c(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??c(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B0000",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#E8F5E9",complicatedBg:this.cynefin?.complicatedBg||"#E3F2FD",chaoticBg:this.cynefin?.chaoticBg||"#FBE9E7",clearBg:this.cynefin?.clearBg||"#FFF8E1",confusionBg:this.cynefin?.confusionBg||"#F3E5F5",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||c(this.primaryColor,{h:-30}),this.git4=this.git4||c(this.primaryColor,{h:-60}),this.git5=this.git5||c(this.primaryColor,{h:-90}),this.git6=this.git6||c(this.primaryColor,{h:60}),this.git7=this.git7||c(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||(0,p.A)(u(this.git0),25),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||u(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||u(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if(Object.keys(this).forEach(t=>{"calculated"===this[t]&&(this[t]=void 0)}),"object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},I=(0,s.K)(t=>{let e=new K;return e.calculate(t),e},"getThemeVariables"),q=class{static{(0,s.K)(this,"Theme")}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=(0,g.A)("#cde498",10),this.primaryBorderColor=M(this.primaryColor,this.darkMode),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.primaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=(0,p.A)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,p.A)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,p.A)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||c(this["cScale"+t],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:30,s:-30,l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:30,s:-30,l:-(8+5*t)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||(0,g.A)(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||(0,g.A)(this.mainBkg,20),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=c(this.primaryColor,{h:64}),this.fillType3=c(this.secondaryColor,{h:64}),this.fillType4=c(this.primaryColor,{h:-64}),this.fillType5=c(this.secondaryColor,{h:-64}),this.fillType6=c(this.primaryColor,{h:128}),this.fillType7=c(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||c(this.primaryColor,{l:-30}),this.pie5=this.pie5||c(this.secondaryColor,{l:-30}),this.pie6=this.pie6||c(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||c(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||c(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||c(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||c(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||c(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||c(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??c(this.primaryColor,{l:-30}),this.venn2=this.venn2??c(this.secondaryColor,{l:-30}),this.venn3=this.venn3??c(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??c(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??c(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??c(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??c(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??c(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B4513",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#C8E6C9",complicatedBg:this.cynefin?.complicatedBg||"#DCEDC8",chaoticBg:this.cynefin?.chaoticBg||"#FFE0B2",clearBg:this.cynefin?.clearBg||"#FFF9C4",confusionBg:this.cynefin?.confusionBg||"#D7CCC8",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.mainBkg},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||c(this.primaryColor,{h:-30}),this.git4=this.git4||c(this.primaryColor,{h:-60}),this.git5=this.git5||c(this.primaryColor,{h:-90}),this.git6=this.git6||c(this.primaryColor,{h:60}),this.git7=this.git7||c(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||u(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||u(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},R=(0,s.K)(t=>{let e=new q;return e.calculate(t),e},"getThemeVariables"),P=class{static{(0,s.K)(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=(0,g.A)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=M(this.primaryColor,this.darkMode),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.lineColor=u(this.background),this.textColor=u(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||(0,g.A)(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=(0,g.A)(this.contrast,55),this.border2=this.contrast,this.actorBorder=(0,g.A)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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 t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{l:-(8+5*t)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.sectionBkgColor=(0,g.A)(this.contrast,30),this.sectionBkgColor2=(0,g.A)(this.contrast,30),this.taskBorderColor=(0,p.A)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=(0,g.A)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=(0,p.A)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.vertLineColor=this.critBkgColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||"#000",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||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=c(this.primaryColor,{h:64}),this.fillType3=c(this.secondaryColor,{h:64}),this.fillType4=c(this.primaryColor,{h:-64}),this.fillType5=c(this.secondaryColor,{h:-64}),this.fillType6=c(this.primaryColor,{h:128}),this.fillType7=c(this.secondaryColor,{h:128});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let t=0;t<8;t++)this["venn"+(t+1)]=this["venn"+(t+1)]??this["cScale"+t];this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B0000",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#E8F5E9",complicatedBg:this.cynefin?.complicatedBg||"#E3F2FD",chaoticBg:this.cynefin?.chaoticBg||"#FBE9E7",clearBg:this.cynefin?.clearBg||"#FFF8E1",confusionBg:this.cynefin?.confusionBg||"#F3E5F5",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,p.A)(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||c(this.primaryColor,{h:-30}),this.git4=this.pie5||c(this.primaryColor,{h:-60}),this.git5=this.pie6||c(this.primaryColor,{h:-90}),this.git6=this.pie7||c(this.primaryColor,{h:60}),this.git7=this.pie8||c(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},z=(0,s.K)(t=>{let e=new P;return e.calculate(t),e},"getThemeVariables"),W=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=M(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||((0,f.A)(this.background)?(0,g.A)(this.background,4):(0,p.A)(this.background,4));let t="#ECECFE",e="#E9E9F1",r=c(t,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||r,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||e,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,g.A)(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||t,this.cScale1=this.cScale1||e,this.cScale2=this.cScale2||r,this.cScale3=this.cScale3||c(t,{h:30}),this.cScale4=this.cScale4||c(t,{h:60}),this.cScale5=this.cScale5||c(t,{h:90}),this.cScale6=this.cScale6||c(t,{h:120}),this.cScale7=this.cScale7||c(t,{h:150}),this.cScale8=this.cScale8||c(t,{h:210,l:150}),this.cScale9=this.cScale9||c(t,{h:270}),this.cScale10=this.cScale10||c(t,{h:300}),this.cScale11=this.cScale11||c(t,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let i=this.darkMode?-4:-1;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:180,s:-15,l:i*(5+3*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:180,s:-15,l:i*(8+3*t)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||t,this.fillType1=this.fillType1||e,this.fillType2=this.fillType2||c(t,{h:64}),this.fillType3=this.fillType3||c(e,{h:64}),this.fillType4=this.fillType4||c(t,{h:-64}),this.fillType5=this.fillType5||c(e,{h:-64}),this.fillType6=this.fillType6||c(t,{h:128}),this.fillType7=this.fillType7||c(e,{h:128}),this.pie1=this.pie1||t,this.pie2=this.pie2||e,this.pie3=this.pie3||r,this.pie4=this.pie4||c(t,{l:-10}),this.pie5=this.pie5||c(e,{l:-10}),this.pie6=this.pie6||c(r,{l:-10}),this.pie7=this.pie7||c(t,{h:60,l:-10}),this.pie8=this.pie8||c(t,{h:-60,l:-10}),this.pie9=this.pie9||c(t,{h:120,l:0}),this.pie10=this.pie10||c(t,{h:60,l:-20}),this.pie11=this.pie11||c(t,{h:-60,l:-20}),this.pie12=this.pie12||c(t,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||t,this.quadrant2Fill=this.quadrant2Fill||c(t,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(t,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(t,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||t,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||t,this.git1=this.git1||e,this.git2=this.git2||r,this.git3=this.git3||c(t,{h:-30}),this.git4=this.git4||c(t,{h:-60}),this.git5=this.git5||c(t,{h:-90}),this.git6=this.git6||c(t,{h:60}),this.git7=this.git7||c(t,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},N=(0,s.K)(t=>{let e=new W;return e.calculate(t),e},"getThemeVariables"),j=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,g.A)(this.primaryColor,16),this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=u(this.background),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,g.A)(u("#323D47"),10),this.border1="#ccc",this.border2=(0,d.A)(255,255,255,.25),this.arrowheadColor=u(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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.secondBkg="calculated"===this.secondBkg?(0,g.A)(this.mainBkg,16):this.secondBkg,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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||(0,g.A)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||this.secondBkg,this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let t=this.darkMode?-4:-1;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(5+3*e)}),this["surfacePeer"+e]=this["surfacePeer"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(8+3*e)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||c(this.primaryColor,{h:64}),this.fillType3=this.fillType3||c(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||c(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||c(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||c(this.primaryColor,{h:128}),this.fillType7=this.fillType7||c(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||c(this.primaryColor,{l:-10}),this.pie5=this.pie5||c(this.secondaryColor,{l:-10}),this.pie6=this.pie6||c(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||c(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||c(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||c(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||c(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||c(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||c(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||"#0b0000",this.git1=this.git1||"#4d1037",this.git2=this.git2||"#3f5258",this.git3=this.git3||"#4f2f1b",this.git4=this.git4||"#6e0a0a",this.git5=this.git5||"#3b0048",this.git6=this.git6||"#995a01",this.git7=this.git7||"#154706",this.gitDarkMode=!0,this.gitDarkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},H=(0,s.K)(t=>{let e=new j;return e.calculate(t),e},"getThemeVariables"),U=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=M("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||((0,f.A)(this.background)?(0,g.A)(this.background,4):(0,p.A)(this.background,4));let t="#ECECFE",e="#E9E9F1",r=c(t,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||r,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||e,this.sectionBkgColor2=this.sectionBkgColor2||t,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,g.A)(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=this.mainBkg;if(this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let i=this.darkMode?-4:-1;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:180,s:-15,l:i*(5+3*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:180,s:-15,l:i*(8+3*t)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||t,this.fillType1=this.fillType1||e,this.fillType2=this.fillType2||c(t,{h:64}),this.fillType3=this.fillType3||c(e,{h:64}),this.fillType4=this.fillType4||c(t,{h:-64}),this.fillType5=this.fillType5||c(e,{h:-64}),this.fillType6=this.fillType6||c(t,{h:128}),this.fillType7=this.fillType7||c(e,{h:128}),this.pie1=this.pie1||t,this.pie2=this.pie2||e,this.pie3=this.pie3||r,this.pie4=this.pie4||c(t,{l:-10}),this.pie5=this.pie5||c(e,{l:-10}),this.pie6=this.pie6||c(r,{l:-10}),this.pie7=this.pie7||c(t,{h:60,l:-10}),this.pie8=this.pie8||c(t,{h:-60,l:-10}),this.pie9=this.pie9||c(t,{h:120,l:0}),this.pie10=this.pie10||c(t,{h:60,l:-20}),this.pie11=this.pie11||c(t,{h:-60,l:-20}),this.pie12=this.pie12||c(t,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||t,this.quadrant2Fill=this.quadrant2Fill||c(t,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(t,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(t,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||t,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#FFFFFF",this.git0=this.git0||t,this.git1=this.git1||e,this.git2=this.git2||r,this.git3=this.git3||c(t,{h:-30}),this.git4=this.git4||c(t,{h:-60}),this.git5=this.git5||c(t,{h:-90}),this.git6=this.git6||c(t,{h:60}),this.git7=this.git7||c(t,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},Y=(0,s.K)(t=>{let e=new U;return e.calculate(t),e},"getThemeVariables"),G=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,g.A)(this.primaryColor,16),this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=u(this.background),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,g.A)(u("#323D47"),10),this.border1="#ccc",this.border2=(0,d.A)(255,255,255,.25),this.arrowheadColor=u(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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.secondBkg="calculated"===this.secondBkg?(0,g.A)(this.mainBkg,16):this.secondBkg,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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||(0,g.A)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||this.secondBkg,this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||c(this.primaryColor,{h:30}),this.cScale4=this.cScale4||c(this.primaryColor,{h:60}),this.cScale5=this.cScale5||c(this.primaryColor,{h:90}),this.cScale6=this.cScale6||c(this.primaryColor,{h:120}),this.cScale7=this.cScale7||c(this.primaryColor,{h:150}),this.cScale8=this.cScale8||c(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||c(this.primaryColor,{h:270}),this.cScale10=this.cScale10||c(this.primaryColor,{h:300}),this.cScale11=this.cScale11||c(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,p.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let t=this.darkMode?-4:-1;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(5+3*e)}),this["surfacePeer"+e]=this["surfacePeer"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(8+3*e)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||c(this.primaryColor,{h:64}),this.fillType3=this.fillType3||c(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||c(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||c(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||c(this.primaryColor,{h:128}),this.fillType7=this.fillType7||c(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||c(this.primaryColor,{l:-10}),this.pie5=this.pie5||c(this.secondaryColor,{l:-10}),this.pie6=this.pie6||c(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||c(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||c(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||c(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||c(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||c(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||c(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#16141F",this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||c(this.primaryColor,{h:-30}),this.git4=this.git4||c(this.primaryColor,{h:-60}),this.git5=this.git5||c(this.primaryColor,{h:-90}),this.git6=this.git6||c(this.primaryColor,{h:60}),this.git7=this.git7||c(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},X=(0,s.K)(t=>{let e=new G;return e.calculate(t),e},"getThemeVariables"),Z=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=M("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.usecaseActorBorder="#A78BFA",this.usecaseActorBkg="#F5F3FF",this.usecaseBorder="#2DD4BF",this.usecaseBkg="#F0FDFA",this.usecaseBoundaryBorder="#BDBCCC",this.usecaseBoundaryBkg="#FAFAFC",this.usecaseIncludeLine="#38BDF8",this.usecaseExtendLine="#FB923C",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||((0,f.A)(this.background)?(0,g.A)(this.background,4):(0,p.A)(this.background,4));let t="#ECECFE",e=c(t,{h:180,l:5});this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||t,this.activeTaskBorderColor=this.activeTaskBorderColor||t,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,g.A)(t,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateEdgeLabelBackground=this.stateEdgeLabelBackground||"#FFFFFF",this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#F9F9FB",this.compositeTitleBackground=this.compositeTitleBackground||"#F9F9FB",this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad",this.sectionBkgColor=this.sectionBkgColor||this.cScale0,this.sectionBkgColor2=this.sectionBkgColor2||this.cScale1,this.altSectionBkgColor=this.altSectionBkgColor||"white";for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;let r=this.darkMode?-4:-1;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||c(this.mainBkg,{h:180,s:-15,l:r*(5+3*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||c(this.mainBkg,{h:180,s:-15,l:r*(8+3*t)});this.classText=this.classText||this.textColor;for(let t=0;t<8;t++)this["fillType"+t]=this["fillType"+t]||this.bkgColorArray[t];for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+(t+1)]=this["pie"+(t+1)]||this["cScale"+t];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let t=0;t<8;t++)this["venn"+(t+1)]=this["venn"+(t+1)]??this.borderColorArray[t%this.borderColorArray.length];this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||t,this.quadrant2Fill=this.quadrant2Fill||c(t,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(t,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(t,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||t,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#FFFFFF",this.git0=this.git0||t,this.git1=this.git1||"#E9E9F1",this.git2=this.git2||e,this.git3=this.git3||c(t,{h:-30}),this.git4=this.git4||c(t,{h:-60}),this.git5=this.git5||c(t,{h:-90}),this.git6=this.git6||c(t,{h:60}),this.git7=this.git7||c(t,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLineColor=this.commitLineColor??"#BDBCCC",this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.fontWeight=600,this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},V=(0,s.K)(t=>{let e=new Z;return e.calculate(t),e},"getThemeVariables"),Q=class{static{(0,s.K)(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,g.A)(this.primaryColor,16),this.tertiaryColor=c(this.primaryColor,{h:-160}),this.primaryBorderColor=u(this.background),this.secondaryBorderColor=M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=M(this.tertiaryColor,this.darkMode),this.primaryTextColor=u(this.primaryColor),this.secondaryTextColor=u(this.secondaryColor),this.tertiaryTextColor=u(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,g.A)(u("#323D47"),10),this.border1="#ccc",this.border2=(0,d.A)(255,255,255,.25),this.arrowheadColor=u(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.usecaseActorBorder="#A78BFA",this.usecaseBorder="#2DD4BF",this.usecaseBoundaryBorder="#BDBCCC",this.usecaseIncludeLine="#38BDF8",this.usecaseExtendLine="#FB923C",this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||c(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||c(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||M(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||M(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||M(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||M(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||u(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||u(this.tertiaryColor),this.lineColor=this.lineColor||u(this.background),this.arrowheadColor=this.arrowheadColor||u(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.secondBkg="calculated"===this.secondBkg?(0,g.A)(this.mainBkg,16):this.secondBkg,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.flowContainerStroke=this.flowContainerStroke||this.secondaryBorderColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,p.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||u(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.rootLabelColor="#FFFFFF",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||(0,g.A)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||this.secondBkg,this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateEdgeLabelBackground=this.stateEdgeLabelBackground||"#16141F",this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||"#16141F",this.altBackground=this.altBackground||"#16141F",this.compositeTitleBackground=this.compositeTitleBackground||"#16141F",this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad",this.sectionBkgColor=this.sectionBkgColor||this.cScale0,this.sectionBkgColor2=this.sectionBkgColor2||this.cScale1,this.altSectionBkgColor=this.altSectionBkgColor||this.background;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||u(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,g.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,p.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=(0,p.A)(this["cScale"+t],75);let t=this.darkMode?-4:-1;for(let e=0;e<5;e++)this["surface"+e]=this["surface"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(5+3*e)}),this["surfacePeer"+e]=this["surfacePeer"+e]||c(this.mainBkg,{h:180,s:-15,l:t*(8+3*e)});this.classText=this.classText||this.textColor,["#701a75","#134e4a","#7c2d12","#581c87","#14532d","#4c1d95","#7f1d1d","#713f12"].forEach((t,e)=>{this["fillType"+e]=this["fillType"+e]||t});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+(t+1)]=this["pie"+(t+1)]||this["cScale"+t];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||"#28253D",this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let t=0;t<8;t++)this["venn"+(t+1)]=this["venn"+(t+1)]??this.borderColorArray[t%this.borderColorArray.length];this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||c(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||c(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||c(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||c(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||c(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||c(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,f.A)(this.quadrant1Fill)?(0,g.A)(this.quadrant1Fill):(0,p.A)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,legendTextColor:this.xyChart?.legendTextColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,p.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#16141F",this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||c(this.primaryColor,{h:-30}),this.git4=this.git4||c(this.primaryColor,{h:-60}),this.git5=this.git5||c(this.primaryColor,{h:-90}),this.git6=this.git6||c(this.primaryColor,{h:60}),this.git7=this.git7||c(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,g.A)(this.git0,25),this.git1=(0,g.A)(this.git1,25),this.git2=(0,g.A)(this.git2,25),this.git3=(0,g.A)(this.git3,25),this.git4=(0,g.A)(this.git4,25),this.git5=(0,g.A)(this.git5,25),this.git6=(0,g.A)(this.git6,25),this.git7=(0,g.A)(this.git7,25)):(this.git0=(0,p.A)(this.git0,25),this.git1=(0,p.A)(this.git1,25),this.git2=(0,p.A)(this.git2,25),this.git3=(0,p.A)(this.git3,25),this.git4=(0,p.A)(this.git4,25),this.git5=(0,p.A)(this.git5,25),this.git6=(0,p.A)(this.git6,25),this.git7=(0,p.A)(this.git7,25)),this.gitInv0=this.gitInv0||u(this.git0),this.gitInv1=this.gitInv1||u(this.git1),this.gitInv2=this.gitInv2||u(this.git2),this.gitInv3=this.gitInv3||u(this.git3),this.gitInv4=this.gitInv4||u(this.git4),this.gitInv5=this.gitInv5||u(this.git5),this.gitInv6=this.gitInv6||u(this.git6),this.gitInv7=this.gitInv7||u(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.fontWeight=600,this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||A,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||L}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}},J={base:{getThemeVariables:E},dark:{getThemeVariables:D},default:{getThemeVariables:I},forest:{getThemeVariables:R},neutral:{getThemeVariables:z},neo:{getThemeVariables:N},"neo-dark":{getThemeVariables:H},redux:{getThemeVariables:Y},"redux-dark":{getThemeVariables:X},"redux-color":{getThemeVariables:V},"redux-dark-color":{getThemeVariables:(0,s.K)(t=>{let e=new Q;return e.calculate(t),e},"getThemeVariables")}},tt={flowchart:{useMaxWidth:!0,theme:"redux-color",look:"neo",titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,wrappingWidth:120,minNodeWidth:120,inheritDir:!1},swimlane:{useMaxWidth:!0,theme:"redux-color",look:"neo",layout:"swimlane",lineHops:"arc",ignoreCrossLaneEdges:!0,optimizeRanksByCrossings:!0,automaticLaneOrdering:!1},agentflow:{useMaxWidth:!0,theme:"redux-color",look:"neo",titleTopMargin:25,diagramPadding:8,nodeSpacing:50,rankSpacing:50,wrappingWidth:120,minNodeWidth:120},sequence:{useMaxWidth:!0,theme:"redux-color",look:"neo",hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,theme:"redux-color",look:"neo",titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,htmlLabels:!1,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},state:{useMaxWidth:!0,theme:"redux-color",look:"neo",layout:"elk",wrappingWidth:120,minNodeWidth:120,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},er:{useMaxWidth:!0,theme:"redux-color",look:"neo",titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75,donutHole:0,legendPosition:"right",highlightSlice:""},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,showLegend:!0,legendFontSize:14,legendPadding:10,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,labelRotation:0},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,labelRotation:0},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,theme:"redux-color",look:"neo",rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:"",nodeWidth:10,nodePadding:12,labelStyle:"legacy"},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1,showIcons:!1,defaultIconPack:"",filenameIcons:{},extensionIcons:{}},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1,nodeSeparation:75,idealEdgeLengthMultiplier:1.5,edgeElasticity:.45,numIter:2500,seed:1},eventmodeling:{useMaxWidth:!0,padding:30,rowHeight:32},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},usecase:{useMaxWidth:!0,theme:"redux-color",look:"neo",wrappingWidth:120,minNodeWidth:120,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:"normal",usecaseFontSize:12,usecaseFontFamily:'"Open Sans", sans-serif',usecaseFontWeight:"normal",nodeSpacing:50,rankSpacing:50,diagramPadding:20,colorScheme:"role"},venn:{useMaxWidth:!0,theme:"redux-color",look:"neo",width:800,height:450,padding:8,useDebugLayout:!1},cynefin:{useMaxWidth:!0,width:800,height:600,padding:40,showDomainDescriptions:!0,boundaryAmplitude:8,seed:0},theme:"default",look:"classic",handDrawnSeed:0,layout:"elk",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},te={...tt,deterministicIDSeed:void 0,elk:{mergeEdges:!1,straightenEdges:!0,lineHops:!0,preset:"default",nodePlacementStrategy:void 0,layeringStrategy:void 0,cycleBreakingStrategy:void 0,layeringLayerBound:4,nodePlacementAlignment:void 0,forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES",keepEntryNodeOnTop:!1},themeCSS:void 0,themeVariables:J.default.getThemeVariables(),sequence:{...tt.sequence,messageFont:(0,s.K)(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:(0,s.K)(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:(0,s.K)(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{theme:tt.class?.theme,look:tt.class?.look,layout:tt.class?.layout,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},gantt:{...tt.gantt,tickInterval:void 0,useWidth:void 0},c4:{...tt.c4,useWidth:void 0,personFont:(0,s.K)(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...tt.flowchart,inheritDir:!1},external_personFont:(0,s.K)(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:(0,s.K)(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:(0,s.K)(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:(0,s.K)(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:(0,s.K)(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:(0,s.K)(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:(0,s.K)(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:(0,s.K)(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:(0,s.K)(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:(0,s.K)(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:(0,s.K)(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:(0,s.K)(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:(0,s.K)(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:(0,s.K)(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:(0,s.K)(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:(0,s.K)(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:(0,s.K)(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:(0,s.K)(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:(0,s.K)(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:(0,s.K)(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:(0,s.K)(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...tt.pie,useWidth:984},xyChart:{...tt.xyChart,useWidth:void 0},requirement:{...tt.requirement,useWidth:void 0},packet:{...tt.packet},eventmodeling:{...tt.eventmodeling},treeView:{...tt.treeView,useWidth:void 0},radar:{...tt.radar},usecase:{...tt.usecase},railroad:{...tt.railroad,fontSize:void 0,fontFamily:void 0,terminalFill:void 0,terminalStroke:void 0,terminalTextColor:void 0,nonTerminalFill:void 0,nonTerminalStroke:void 0,nonTerminalTextColor:void 0,lineColor:void 0,markerFill:void 0,commentFill:void 0,commentStroke:void 0,commentTextColor:void 0,specialFill:void 0,specialStroke:void 0,ruleNameColor:void 0},ishikawa:{...tt.ishikawa},sankey:{...tt.sankey,nodeColors:void 0},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...tt.venn},cynefin:{...tt.cynefin}},tr=(0,s.K)((t,e="")=>Object.keys(t).reduce((r,i)=>Array.isArray(t[i])?r:"object"==typeof t[i]&&null!==t[i]?[...r,e+i,...tr(t[i],"")]:[...r,e+i],[]),"keyify"),ti=new Set(tr(te,"")),to=te,ta={"flowchart-v2":"flowchart","flowchart-elk":"flowchart",classDiagram:"class",stateDiagram:"state",xychart:"xyChart",railroadAbnf:"railroad",railroadEbnf:"railroad",railroadPeg:"railroad"},tn=(0,s.K)(t=>ta[t]??t,"getDiagramConfigKey"),ts={nodeColors:/^#[\da-f]{3,8}$|^rgb\([\d\s%,.]+\)$|^hsl\([\d\s%,.]+\)$|^[a-z]+$/i,filenameIcons:/^[\w-]+(?::[\w-]+)?$/,extensionIcons:/^[\w-]+(?::[\w-]+)?$/},tl=(0,s.K)((t,e)=>{for(let r of Object.keys(t)){let i=t[r];(r.startsWith("__")||r.includes("proto")||r.includes("constr")||"string"!=typeof i||!e.test(i))&&(n.R.debug("sanitize deleting dictionary entry:",r,i),delete t[r])}},"sanitizeDictionaryConfig"),th=(0,s.K)(t=>{if(n.R.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t){if(Array.isArray(t))return void t.forEach(t=>th(t));for(let e of Object.keys(t)){if(n.R.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!ti.has(e)||null==t[e]){n.R.debug("sanitize deleting key: ",e),delete t[e];continue}if("object"==typeof t[e]){let r=ts[e];r?tl(t[e],r):(n.R.debug("sanitizing object",e),th(t[e]));continue}for(let r of["themeCSS","fontFamily","altFontFamily"])e.includes(r)&&(n.R.debug("sanitizing css option",e),t[e]=tc(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}n.R.debug("After sanitization",t)}},"sanitizeDirective"),tc=(0,s.K)(t=>{let e=0,r=0;for(let i of t){if(e<r)return"{ /* ERROR: Unbalanced CSS */ }";"{"===i?e++:"}"===i&&r++}return e!==r?"{ /* ERROR: Unbalanced CSS */ }":t},"sanitizeCss"),td=Object.freeze(to),tu=["theme","look","layout"],tp=new Set(["classic","handDrawn","neo"]),tg=(0,s.K)((t,e)=>"theme"===t?"null"===e||Object.hasOwn(J,e):"look"!==t||tp.has(e),"isUsableAppearance"),tf=(0,s.K)((t,e,r)=>{if(!t)return;let i=t[e];return[i?.[r],t[r]].find(t=>void 0!==t&&tg(r,t))},"readAppearance"),ty=(0,s.K)(t=>!(!1===t||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),tm=F({},td),tx={},tC=[],tb=F({},td),tk=(0,s.K)((t,e)=>{if(!a)return;let r=[e,...[...tC].reverse(),tx,td],i=t[a];for(let e of tu)for(let o of r){let r=tf(o,a,e);if(void 0!==r){t[e]=r,i?.[e]!==void 0&&(i[e]=r);break}}},"resolveAppearance"),tw=(0,s.K)((t,e)=>{let r=F({},t),i={};for(let t of e)tL(t),i=F(i,t);if(tk(r=F(r,i),i),(i.theme||r.theme!==t.theme)&&r.theme&&Object.hasOwn(J,r.theme)){let t=F({},o),e=F(t.themeVariables||{},i.themeVariables);r.themeVariables=J[r.theme].getThemeVariables(e)}return tK(tb=r),tb},"updateCurrentConfig"),tT=(0,s.K)(t=>{a=void 0===t?void 0:tn(t),tw(tm,tC)},"setDiagramConfigScope"),tB=(0,s.K)(t=>(tm=F({},td),tm=F(tm,t),tx=F({},t),t.theme&&Object.hasOwn(J,t.theme)&&(tm.themeVariables=J[t.theme].getThemeVariables(t.themeVariables)),tw(tm,tC),tm),"setSiteConfig"),tS=(0,s.K)(t=>{o=F({},t)},"saveConfigFromInitialize"),tv=(0,s.K)(t=>(tm=F(tm,t),tx=F(tx,t),tw(tm,tC),tm),"updateSiteConfig"),t_=(0,s.K)(()=>F({},tm),"getSiteConfig"),tF=(0,s.K)(t=>(tw(tb,[t]),tA()),"setConfig"),tA=(0,s.K)(()=>F({},tb),"getConfig"),tL=(0,s.K)(t=>{t&&(["secure",...tm.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(n.R.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&tL(t[e])}))},"sanitize"),tM=(0,s.K)(t=>{th(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),tC.push(t),tw(tm,tC)},"addDirective"),t$=(0,s.K)((t=tm)=>{a=void 0,tw(t,tC=[])},"reset"),tE={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},tO={},tD=(0,s.K)(t=>{tO[t]||(n.R.warn(tE[t]),tO[t]=!0)},"issueWarning"),tK=(0,s.K)(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&tD("LAZY_LOAD_DEPRECATED")},"checkConfig"),tI=(0,s.K)(()=>{let t={};for(let e of(o&&(t=F(t,o)),tC))t=F(t,e);return t},"getUserDefinedConfig"),tq=(0,s.K)(t=>(t.flowchart?.htmlLabels!=void 0&&tD("FLOWCHART_HTML_LABELS_DEPRECATED"),ty(t.htmlLabels??t.flowchart?.htmlLabels??!0)),"getEffectiveHtmlLabels"),tR=/<\/?br\s*\/?>/gi,tP=RegExp(tR.source,"i"),tz=(0,s.K)(t=>t?tV(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),tW=(i=!1,()=>{i||(tN(),i=!0)});function tN(){let t="data-temp-href-target";y.A.addHook("beforeSanitizeAttributes",e=>{"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),y.A.addHook("afterSanitizeAttributes",e=>{"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),"_blank"===e.getAttribute("target")&&e.setAttribute("rel","noopener"))})}(0,s.K)(tN,"setupDompurifyHooks");var tj=(0,s.K)(t=>(tW(),y.A.sanitize(t)),"removeScript"),tH=(0,s.K)((t,e)=>{if(tq(e)){let r=e.securityLevel;"antiscript"===r||"strict"===r||"sandbox"===r?t=tj(t):"loose"!==r&&(t=tZ(t=(t=(t=tV(t)).replace(/</g,"<").replace(/>/g,">")).replace(/=/g,"=")))}return t},"sanitizeMore"),tU=(0,s.K)((t,e)=>t?t=e.dompurifyConfig?y.A.sanitize(tH(t,e),e.dompurifyConfig).toString():y.A.sanitize(tH(t,e),{FORBID_TAGS:["style"]}).toString():t,"sanitizeText"),tY=(0,s.K)((t,e)=>"string"==typeof t?tU(t,e):t.flat().map(t=>tU(t,e)),"sanitizeTextOrArray"),tG=(0,s.K)(t=>tP.test(t),"hasBreaks"),tX=(0,s.K)(t=>t.split(tR),"splitBreaks"),tZ=(0,s.K)(t=>t.replace(/#br#/g,"<br/>"),"placeholderToBreak"),tV=(0,s.K)(t=>t.replace(tR,"#br#"),"breakToPlaceholder"),tQ=(0,s.K)(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),tJ=(0,s.K)(function(...t){return Math.max(...t.filter(t=>!isNaN(t)))},"getMax"),t0=(0,s.K)(function(...t){return Math.min(...t.filter(t=>!isNaN(t)))},"getMin"),t1=(0,s.K)(function(t){let e=t.split(/(,)/),r=[];for(let t=0;t<e.length;t++){let i=e[t];if(","===i&&t>0&&t+1<e.length){let o=e[t-1],a=e[t+1];t5(o,a)&&(i=o+","+a,t++,r.pop())}r.push(t3(i))}return r.join("")},"parseGenericTypes"),t2=(0,s.K)((t,e)=>Math.max(0,t.split(e).length-1),"countOccurrence"),t5=(0,s.K)((t,e)=>{let r=t2(t,"~"),i=t2(e,"~");return 1===r&&1===i},"shouldCombineSets"),t3=(0,s.K)(t=>{let e=t2(t,"~"),r=!1;if(e<=1)return t;e%2!=0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let i=[...t],o=i.indexOf("~"),a=i.lastIndexOf("~");for(;-1!==o&&-1!==a&&o!==a;)i[o]="<",i[a]=">",o=i.indexOf("~"),a=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),t4=(0,s.K)(()=>void 0!==window.MathMLElement,"isMathMLSupported"),t6=/\$\$(.*?)\$\$/g,t8=(0,s.K)(t=>(t.match(t6)?.length??0)>0,"hasKatex"),t7=(0,s.K)(async(t,e)=>{let r=document.createElement("div");r.innerHTML=await et(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0";let i=document.querySelector("body");i?.insertAdjacentElement("beforeend",r);let o={width:r.clientWidth,height:r.clientHeight};return r.remove(),o},"calculateMathMLDimensions"),t9=(0,s.K)(async(t,e)=>{if(!t8(t))return t;if(!(t4()||e.legacyMathML||e.forceLegacyMathML))return t.replace(t6,"MathML is unsupported in this environment.");{let{default:i}=await r.e("3535").then(r.bind(r,2130)),o=e.forceLegacyMathML||!t4()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(tR).map(t=>t8(t)?`<div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">${t}</div>`:`<div>${t}</div>`).join("").replace(t6,(t,e)=>i.renderToString(e,{throwOnError:!0,displayMode:!0,output:o}).replace(/\n/g," ").replace(/<annotation.*<\/annotation>/g,""))}},"renderKatexUnsanitized"),et=(0,s.K)(async(t,e)=>tU(await t9(t,e),e),"renderKatexSanitized"),ee={getRows:tz,sanitizeText:tU,sanitizeTextOrArray:tY,hasBreaks:tG,splitBreaks:tX,lineBreakRegex:tR,removeScript:tj,getUrl:tQ,evaluate:ty,getMax:tJ,getMin:t0},er=(0,s.K)(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),ei=(0,s.K)(function(t,e,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${e}px;`)):(i.set("height",t),i.set("width",e)),i},"calculateSvgSizeAttrs"),eo=(0,s.K)(function(t,e,r,i){er(t,ei(e,r,i))},"configureSvgSize"),ea=(0,s.K)(function(t,e,r,i){let o=e.node().getBBox(),a=o.width,s=o.height;n.R.info(`SVG bounds: ${a}x${s}`,o);let l=0,h=0;n.R.info(`Graph bounds: ${l}x${h}`,t),l=a+2*r,h=s+2*r,n.R.info(`Calculated bounds: ${l}x${h}`),eo(e,h,l,i);let c=`${o.x-r} ${o.y-r} ${o.width+2*r} ${o.height+2*r}`;e.attr("viewBox",c)},"setupGraphViewbox"),en={};function es(t){return[...t.cssRules].map(t=>t.cssText).join("\n")}(0,s.K)(es,"cssStyleSheetToString");var el=(0,s.K)((t,e,r,i)=>{let o="";return t in en&&en[t]?o=en[t]({...r,svgId:i}):n.R.warn(`No theme found for ${t}`),`& { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + fill: ${r.textColor} + } + @keyframes edge-animation-frame { + from { + stroke-dashoffset: 0; + } + } + @keyframes dash { + to { + stroke-dashoffset: 0; + } + } + & .edge-animation-slow { + stroke-dasharray: 9,5 !important; + stroke-dashoffset: 900; + animation: dash 50s linear infinite; + stroke-linecap: round; + } + & .edge-animation-fast { + stroke-dasharray: 9,5 !important; + stroke-dashoffset: 900; + animation: dash 20s linear infinite; + stroke-linecap: round; + } + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${r.errorBkgColor}; + } + & .error-text { + fill: ${r.errorTextColor}; + stroke: ${r.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: ${r.strokeWidth??1}px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + } + & .marker.cross { + stroke: ${r.lineColor}; + } + + & svg { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + } + & p { + margin: 0 + } + + ${o} + .node .neo-node { + stroke: ${r.nodeBorder}; + } + + [data-look="neo"].node rect, [data-look="neo"].cluster rect, [data-look="neo"].node polygon { + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + [data-look="neo"].swimlane.cluster rect { + filter: none; + } + + + [data-look="neo"].node path { + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + stroke-width: ${r.strokeWidth??1}px; + } + + [data-look="neo"].node .outer-path { + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + [data-look="neo"].node .neo-line path { + stroke: ${r.nodeBorder}; + filter: none; + } + + [data-look="neo"].node circle{ + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + [data-look="neo"].node circle .state-start{ + fill: #000000; + } + + [data-look="neo"].icon-shape .icon { + fill: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + [data-look="neo"].icon-shape .icon-neo path { + stroke: ${r.useGradient?"url("+i+"-gradient)":r.nodeBorder}; + filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${i}-drop-shadow)`):"none"}; + } + + ${e} +`},"getStyles"),eh=(0,s.K)((t,e)=>{void 0!==e&&(en[t]=e)},"addStylesForDiagram"),ec=el,ed={};(0,s.V)(ed,{clear:()=>ey,getAccDescription:()=>eb,getAccTitle:()=>ex,getDiagramTitle:()=>ew,setAccDescription:()=>eC,setAccTitle:()=>em,setDiagramTitle:()=>ek});var eu="",ep="",eg="",ef=(0,s.K)(t=>tU(t,tA()),"sanitizeText"),ey=(0,s.K)(()=>{eu="",eg="",ep=""},"clear"),em=(0,s.K)(t=>{eu=ef(t).replace(/^\s+/g,"")},"setAccTitle"),ex=(0,s.K)(()=>eu,"getAccTitle"),eC=(0,s.K)(t=>{eg=ef(t).replace(/\n\s+/g,"\n")},"setAccDescription"),eb=(0,s.K)(()=>eg,"getAccDescription"),ek=(0,s.K)(t=>{ep=ef(t)},"setDiagramTitle"),ew=(0,s.K)(()=>ep,"getDiagramTitle"),eT=n.R,eB=n.H,eS=tA,ev=tF,e_=td,eF=(0,s.K)(t=>tU(t,eS()),"sanitizeText"),eA=ea,eL=(0,s.K)(()=>ed,"getCommonDb"),eM={},e$=(0,s.K)((t,e,r)=>{eM[t]&&eT.warn(`Diagram with id ${t} already registered. Overwriting.`),eM[t]=e,r&&S(t,r),eh(t,e.styles),e.injectUtils?.(eT,eB,eS,eF,eA,eL(),()=>{})},"registerDiagram"),eE=(0,s.K)(t=>{if(t in eM)return eM[t];throw new eO(t)},"getDiagram"),eO=class extends Error{static{(0,s.K)(this,"DiagramNotFoundError")}constructor(t){super(`Diagram ${t} not found.`)}}},5616(t,e,r){"use strict";r.d(e,{IU:()=>_,U:()=>v,qV:()=>B});var i=r(7827),o=r(3002),a=r(739),n=r(6320),s=r(2941),l=r(1177),h=r(1293),c=r(6827),d=r(7829),u=r(2274),p=(0,c.K)(async(t,e)=>{let r,i,c=(0,l.D7)(),{theme:p,themeVariables:g,handDrawnSeed:f}=c,{clusterBkg:y,clusterBorder:m,borderColorArray:x}=g,{labelStyles:C,nodeStyles:b,borderStyles:k,backgroundStyles:w}=(0,a.GX)(e),T=t.insert("g").attr("class","cluster swimlane "+(e.cssClasses||"")).attr("id",e.id).attr("data-id",e.id).attr("data-et","cluster").attr("data-look",e.look);(0,s.XE)(T,e.colorIndex,p,x);let B=(0,l._3)(c.flowchart.htmlLabels),S="LR"===e.direction,v=T.insert("g").attr("class","cluster-label swimlane-label"),_=await (0,n.GZ)(v,e.label,{style:e.labelStyle,useHtmlLabels:B,isNode:!0,width:e.width}),F=_.getBBox();if(B){let t=_.children[0],e=(0,d.Ltv)(_);F=t.getBoundingClientRect(),e.attr("width",F.width),e.attr("height",F.height)}let A=e.padding??0,L=e.width<=F.width+A?F.width+A:e.width;e.width<=F.width+A?e.diff=(L-e.width)/2-A:e.diff=-A;let M=e.height,$=e.y-M/2,E=e.y+M/2,O=e.x-L/2,D=void 0!==e.swimlaneContentTop?e.swimlaneContentTop:$+M/3,K=4*!!S,I=F.height+2*K;if(S){let t=Math.max(I,F.height+2*K),o=O+t,n=Math.max(0,L-t);if("handDrawn"===e.look){let s=u.A.svg(T),l=(0,a.Fr)(e,{roughness:.7,fill:y,stroke:m,seed:f}),h=(0,a.Fr)(e,{roughness:.7,fill:"none",stroke:m,seed:f}),c=s.rectangle(O,$,t,M,l);r=T.insert(()=>c,":first-child").attr("class","swimlane-title");let d=s.rectangle(o,$,n,M,h);i=T.insert(()=>d,":first-child").attr("class","swimlane-body"),r.select("path:nth-child(2)").attr("style",k.join(";")),r.select("path").attr("style",w.join(";").replace("fill","stroke"))}else r=T.insert("rect",":first-child"),i=T.insert("rect",":first-child"),r.attr("class","swimlane-title").attr("style",b).attr("x",O).attr("y",$).attr("width",t).attr("height",M).attr("fill",y).attr("stroke",m),i.attr("class","swimlane-body").attr("style",b).attr("x",o).attr("y",$).attr("width",n).attr("height",M).attr("fill","none").attr("stroke",m);let s=O+t/2,l=e.y;v.attr("transform",`translate(${s}, ${l}) rotate(-90) translate(${-F.width/2}, ${-F.height/2})`)}else{let t=Math.min(I,Math.max(0,D-$)),o=$+t,n=Math.max(0,E-o),s=e.x-L/2;if("handDrawn"===e.look){let l=u.A.svg(T),h=(0,a.Fr)(e,{roughness:.7,fill:y,stroke:m,fillWeight:3,seed:f}),c=(0,a.Fr)(e,{roughness:.7,fill:"none",stroke:m,seed:f}),d=l.rectangle(s,$,L,t,h);r=T.insert(()=>d,":first-child").attr("class","swimlane-title");let p=l.rectangle(s,o,L,n,c);i=T.insert(()=>p,":first-child").attr("class","swimlane-body"),r.select("path:nth-child(2)").attr("style",k.join(";")),r.select("path").attr("style",w.join(";").replace("fill","stroke"))}else r=T.insert("rect",":first-child"),i=T.insert("rect",":first-child"),r.attr("class","swimlane-title").attr("style",b).attr("x",s).attr("y",$).attr("width",L).attr("height",t).attr("fill",y).attr("stroke",m),i.attr("class","swimlane-body").attr("style",b).attr("x",s).attr("y",o).attr("width",L).attr("height",n).attr("fill","none").attr("stroke",m);let l=e.x-F.width/2,h=$+(t-F.height)/2;v.attr("transform",`translate(${l}, ${h})`)}if(h.R.trace("Swimlane data ",e,JSON.stringify(e)),C){let t=v.select("span");t&&t.attr("style",C)}return e.offsetX=0,e.width=L,e.height=M,e.offsetY=F.height-A/2,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:T,labelBBox:F}},"swimlane"),g=(0,c.K)(async(t,e)=>{let r,c;h.R.info("Creating subgraph rect for ",e.id,e);let p=(0,l.D7)(),{theme:g,themeVariables:f,handDrawnSeed:y}=p,{clusterBkg:m,clusterBorder:x,borderColorArray:C}=f,{labelStyles:b,nodeStyles:k,borderStyles:w,backgroundStyles:T}=(0,a.GX)(e),B=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look);(0,s.XE)(B,e.colorIndex,g,C);let S=(0,l.E)(p),v=B.insert("g").attr("class","cluster-label "),_=(r="markdown"===e.labelType?await (0,n.GZ)(v,e.label,{style:e.labelStyle,useHtmlLabels:S,isNode:!0,width:e.width}):await (0,o.DA)(v,e.label,e.labelStyle||"",!1,!0)).getBBox();if((0,l.E)(p)){let t=r.children[0],e=(0,d.Ltv)(r);_=t.getBoundingClientRect(),e.attr("width",_.width),e.attr("height",_.height)}let F=e.width<=_.width+e.padding?_.width+e.padding:e.width;e.width<=_.width+e.padding?e.diff=(F-e.width)/2-e.padding:e.diff=-e.padding;let A=e.height,L=e.x-F/2,M=e.y-A/2;if(h.R.trace("Data ",e,JSON.stringify(e)),"handDrawn"===e.look){let t=u.A.svg(B),r=(0,a.Fr)(e,{roughness:.7,fill:m,stroke:x,fillWeight:3,seed:y}),i=t.path((0,o.FA)(L,M,F,A,0),r);(c=B.insert(()=>(h.R.debug("Rough node insert CXC",i),i),":first-child")).select("path:nth-child(2)").attr("style",w.join(";")),c.select("path").attr("style",T.join(";").replace("fill","stroke"))}else(c=B.insert("rect",":first-child")).attr("style",k).attr("rx",e.rx).attr("ry",e.ry).attr("x",L).attr("y",M).attr("width",F).attr("height",A);let{subGraphTitleTopMargin:$}=(0,i.Oi)(p);if(v.attr("transform",`translate(${e.x-_.width/2}, ${e.y-e.height/2+$})`),b){let t=v.select("span");t&&t.attr("style",b)}let E=c.node().getBBox();return e.offsetX=0,e.width=E.width,e.height=E.height,e.offsetY=_.height-e.padding/2,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:B,labelBBox:_}},"rect"),f=(0,c.K)((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),i=r.insert("rect",":first-child"),a=0*e.padding,n=a/2;i.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-n).attr("y",e.y-e.height/2-n).attr("width",e.width+a).attr("height",e.height+a).attr("fill","none");let s=i.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),y=(0,c.K)(async(t,e)=>{let r,i=(0,l.D7)(),{theme:a,themeVariables:n,handDrawnSeed:h}=i,{altBackground:c,borderColorArray:p,compositeBackground:g,compositeTitleBackground:f,nodeBorder:y}=n,m=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look);(0,s.XE)(m,e.colorIndex,a,p);let x=m.insert("g",":first-child"),C=m.insert("g").attr("class","cluster-label"),b=m.append("rect"),k=await (0,o.DA)(C,e.label,e.labelStyle,void 0,!0),w=k.getBBox();if((0,l.E)(i)){let t=k.children[0],e=(0,d.Ltv)(k);w=t.getBoundingClientRect(),e.attr("width",w.width),e.attr("height",w.height)}let T=0*e.padding,B=(e.width<=w.width+e.padding?w.width+e.padding:e.width)+T;e.width<=w.width+e.padding?e.diff=(B-e.width)/2-e.padding:e.diff=-e.padding;let S=e.height+T,v=e.height+T-w.height-6,_=e.x-B/2,F=e.y-S/2;e.width=B;let A=e.y-e.height/2-T/2+w.height+2;if("handDrawn"===e.look){let t=e.cssClasses.includes("statediagram-cluster-alt"),i=u.A.svg(m),a=e.rx||e.ry?i.path((0,o.FA)(_,F,B,S,10),{roughness:.7,fill:f,fillStyle:"solid",stroke:y,seed:h}):i.rectangle(_,F,B,S,{seed:h});r=m.insert(()=>a,":first-child");let n=i.rectangle(_,A,B,v,{fill:t?c:g,fillStyle:t?"hachure":"solid",stroke:y,seed:h});r=m.insert(()=>a,":first-child"),b=m.insert(()=>n),r.attr("class","outer"),b.attr("class","inner")}else(r=x.insert("rect",":first-child")).attr("class","outer").attr("x",_).attr("y",F).attr("width",B).attr("height",S).attr("data-look",e.look),b.attr("class","inner").attr("x",_).attr("y",A).attr("width",B).attr("height",v);return C.attr("transform",`translate(${e.x-w.width/2}, ${F+1-3*!(0,l.E)(i)})`),e.height=r.node().getBBox().height,e.offsetX=0,e.offsetY=w.height-e.padding/2,e.labelBBox=w,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:m,labelBBox:w}},"roundedWithTitle"),m=(0,c.K)(async(t,e)=>{let r;h.R.info("Creating subgraph rect for ",e.id,e);let s=(0,l.D7)(),{themeVariables:c,handDrawnSeed:p}=s,{clusterBkg:g,clusterBorder:f}=c,{labelStyles:y,nodeStyles:m,borderStyles:x,backgroundStyles:C}=(0,a.GX)(e),b=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),k=(0,l.E)(s),w=b.insert("g").attr("class","cluster-label "),T=await (0,n.GZ)(w,e.label,{style:e.labelStyle,useHtmlLabels:k,isNode:!0,width:e.width}),B=T.getBBox();if((0,l.E)(s)){let t=T.children[0],e=(0,d.Ltv)(T);B=t.getBoundingClientRect(),e.attr("width",B.width),e.attr("height",B.height)}let S=e.width<=B.width+e.padding?B.width+e.padding:e.width;e.width<=B.width+e.padding?e.diff=(S-e.width)/2-e.padding:e.diff=-e.padding;let v=e.height,_=e.x-S/2,F=e.y-v/2;if(h.R.trace("Data ",e,JSON.stringify(e)),"handDrawn"===e.look){let t=u.A.svg(b),i=(0,a.Fr)(e,{roughness:.7,fill:g,stroke:f,fillWeight:4,seed:p}),n=t.path((0,o.FA)(_,F,S,v,e.rx),i);(r=b.insert(()=>(h.R.debug("Rough node insert CXC",n),n),":first-child")).select("path:nth-child(2)").attr("style",x.join(";")),r.select("path").attr("style",C.join(";").replace("fill","stroke"))}else(r=b.insert("rect",":first-child")).attr("style",m).attr("rx",e.rx).attr("ry",e.ry).attr("x",_).attr("y",F).attr("width",S).attr("height",v);let{subGraphTitleTopMargin:A}=(0,i.Oi)(s);if(w.attr("transform",`translate(${e.x-B.width/2}, ${e.y-e.height/2+A})`),y){let t=w.select("span");t&&t.attr("style",y)}let L=r.node().getBBox();return e.offsetX=0,e.width=L.width,e.height=L.height,e.offsetY=B.height-e.padding/2,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:b,labelBBox:B}},"kanbanSection"),x=(0,c.K)((t,e)=>{let r,{theme:i,themeVariables:a,handDrawnSeed:n}=(0,l.D7)(),{altBackground:h,nodeBorder:c,borderColorArray:d}=a,p=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look);(0,s.XE)(p,e.colorIndex,i,d);let g=p.insert("g",":first-child"),f=0*e.padding,y=e.width+f;e.diff=-e.padding;let m=e.height+f,x=e.x-y/2,C=e.y-m/2;if(e.width=y,"handDrawn"===e.look){let t=u.A.svg(p).rectangle(x,C,y,m,{fill:h??"#efefef",fillStyle:"solid",roughness:.5,strokeLineDash:[5],stroke:c,seed:n});r=p.insert(()=>t,":first-child").attr("class","divider")}else{r=g.insert("rect",":first-child");let t="outer";e.look,t="divider",r.attr("class",t).attr("x",x).attr("y",C).attr("width",y).attr("height",m).attr("data-look",e.look)}return e.height=r.node().getBBox().height,e.offsetX=0,e.offsetY=0,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:p,labelBBox:{}}},"divider"),C=(0,c.K)(async(t,e,r)=>{let c;h.R.info(`Creating ${r.cssClass} for `,e.id,e);let p=(0,l.D7)(),{theme:g,themeVariables:f,handDrawnSeed:y}=p,{borderColorArray:m}=f,{labelStyles:x,borderStyles:C}=(0,a.GX)(e),b=t.insert("g").attr("class","cluster "+r.cssClass+" "+e.cssClasses).attr("id",e.domId??e.id).attr("data-look",e.look);(0,s.XE)(b,e.colorIndex,g,m);let k=(0,l.E)(p),w=b.insert("g").attr("class","cluster-label"),T={width:0,height:0},B=e.label?.trim();if(B){let t;if(T=(t="markdown"===e.labelType?await (0,n.GZ)(w,e.label,{style:e.labelStyle,useHtmlLabels:k,isNode:!0,width:e.width}):await (0,o.DA)(w,e.label,e.labelStyle||"",!1,!0)).getBBox(),k){let e=t.children[0],r=(0,d.Ltv)(t);T=e.getBoundingClientRect(),r.attr("width",T.width),r.attr("height",T.height)}}let S=e.width<=T.width+e.padding?T.width+e.padding:e.width;e.width<=T.width+e.padding?e.diff=(S-e.width)/2-e.padding:e.diff=-e.padding;let v=e.height,_=e.x-S/2,F=e.y-v/2;if("handDrawn"===e.look){let t=u.A.svg(b),i=(0,a.Fr)(e,{roughness:r.roughness,fill:r.fill,stroke:r.stroke,strokeWidth:r.strokeWidth,seed:y,..."none"===r.fill?{fillWeight:0}:{fillStyle:"solid"},...r.strokeDash?{strokeLineDash:r.strokeDash}:{}}),n=t.path((0,o.FA)(_,F,S,v,r.rx),i);(c=b.insert(()=>n,":first-child")).select("path:nth-child(2)").attr("style",C.join(";"))}else(c=b.insert("rect",":first-child")).attr("rx",r.rx).attr("ry",r.rx).attr("x",_).attr("y",F).attr("width",S).attr("height",v).attr("fill",r.fill).attr("stroke",r.stroke).attr("stroke-width",r.strokeWidth+"px"),r.strokeDash&&c.attr("stroke-dasharray",r.strokeDash.join(", "));if(B){let{subGraphTitleTopMargin:t}=(0,i.Oi)(p);if(w.attr("transform",`translate(${e.x-T.width/2}, ${e.y-e.height/2+t})`),x){let t=w.select("span");t&&t.attr("style",x)}}let A=c.node().getBBox();return e.offsetX=0,e.width=A.width,e.height=A.height,e.offsetY=T.height-e.padding/2,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:b,labelBBox:T}},"createContainerGroup"),b=(0,c.K)(async(t,e)=>{let{themeVariables:r}=(0,l.D7)();return C(t,e,{cssClass:"flow-cluster",rx:10,fill:"none",stroke:r.flowContainerStroke||r.secondaryBorderColor,strokeWidth:.75,roughness:.7})},"flowGroup"),k=(0,c.K)((t,e)=>{let r=t.boundaryType||"rect",i="package"===r?20:t.padding,o="package"===r?e.height+10:0,a=Math.max(t.width,e.width+i),n="package"===r?Math.max(t.height,o+2*t.padding):t.height,s=t.x-a/2,l=t.y-n/2;return{boundaryType:r,width:a,height:n,x:s,y:l,bodyY:l+o,bodyHeight:n-o,tabHeight:o,tabWidth:"package"===r?Math.min(a,Math.max(80,e.width+20)):0}},"getUsecaseSystemBoundaryGeometry"),w={rect:g,squareRect:g,roundedWithTitle:y,noteGroup:f,divider:x,kanbanSection:m,flowGroup:b,usecaseSystemBoundary:(0,c.K)(async(t,e)=>{h.R.info("Creating usecase system boundary for ",e.id,e);let r=(0,l.D7)(),{theme:c,themeVariables:p,handDrawnSeed:g}=r,{clusterBkg:f,clusterBorder:y,borderColorArray:m}=p,{labelStyles:x,nodeStyles:C}=(0,a.GX)(e),{stylesMap:b}=(0,a.WW)(e),w=e.boundaryType||"rect",T=t.insert("g").attr("class",`cluster usecase-system-boundary usecase-system-boundary-${w} ${e.cssClasses}`).attr("id","string"==typeof e.domId?e.domId:e.id).attr("data-boundary-type",w).attr("data-look",e.look);(0,s.XE)(T,e.colorIndex,c,m);let B=(0,l.E)(r),S=T.insert("g").attr("class","cluster-label system-boundary-title"),v=await (0,n.GZ)(S,e.label,{style:x,useHtmlLabels:B,isNode:!0}),_=v.getBBox();if(B){let t=v.children[0],e=(0,d.Ltv)(v);_=t.getBoundingClientRect(),e.attr("width",_.width),e.attr("height",_.height)}let{width:F,height:A,x:L,y:M,bodyY:$,bodyHeight:E,tabHeight:O,tabWidth:D}=k(e,_);e.diff=e.width<=_.width+e.padding?(F-e.width)/2-e.padding:-e.padding;let K=(0,a.Fr)(e,{fill:b.get("fill")||f,stroke:b.get("stroke")||y,strokeWidth:b.get("stroke-width")?.replace("px","")||1,seed:g});if("handDrawn"===e.look){let t=u.A.svg(T),e=t.rectangle(L,$,F,E,K);if(T.insert(()=>e,":first-child").attr("class","boundary-body label-container"),"package"===w){let e=t.rectangle(L,M,D,O,K);T.insert(()=>e,":first-child").attr("class","boundary-tab system-boundary-package-tab label-container")}}else T.insert("rect",":first-child").attr("class","boundary-body label-container").attr("style",C).attr("x",L).attr("y",$).attr("width",F).attr("height",E),"package"===w&&T.insert("rect",":first-child").attr("class","boundary-tab system-boundary-package-tab label-container").attr("style",C).attr("x",L).attr("y",M).attr("width",D).attr("height",O);let{subGraphTitleTopMargin:I}=(0,i.Oi)(r);return"package"===w?S.attr("transform",`translate(${L+(D-_.width)/2}, ${M+(O-_.height)/2})`):S.attr("transform",`translate(${e.x-_.width/2}, ${M+I})`),x&&(S.attr("style",x),S.select("span").attr("style",x)),e.offsetX=0,e.width=F,e.height=A,e.offsetY=_.height-e.padding/2,e.labelBBox=_,e.intersect=function(t){return(0,o.nM)(e,t)},{cluster:T,labelBBox:_}},"usecaseSystemBoundary"),swimlane:p},T=new Set(["noteGroup","divider"]),B=(0,c.K)(t=>!T.has(t??"rect"),"clusterPaintsTitle"),S=new Map,v=(0,c.K)(async(t,e)=>{let r=e.shape||"rect",i=await w[r](t,e);return S.set(e.id,i),i},"insertCluster"),_=(0,c.K)(()=>{S=new Map},"clear")},1293(t,e,r){"use strict";r.d(e,{H:()=>s,R:()=>n});var i=r(6827),o=r(4353),a={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},n={trace:(0,i.K)((...t)=>{},"trace"),debug:(0,i.K)((...t)=>{},"debug"),info:(0,i.K)((...t)=>{},"info"),warn:(0,i.K)((...t)=>{},"warn"),error:(0,i.K)((...t)=>{},"error"),fatal:(0,i.K)((...t)=>{},"fatal")},s=(0,i.K)(function(t="fatal"){let e=a.fatal;"string"==typeof t?t.toLowerCase()in a&&(e=a[t]):"number"==typeof t&&(e=t),n.trace=()=>{},n.debug=()=>{},n.info=()=>{},n.warn=()=>{},n.error=()=>{},n.fatal=()=>{},e<=a.fatal&&(n.fatal=console.error?console.error.bind(console,l("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",l("FATAL"))),e<=a.error&&(n.error=console.error?console.error.bind(console,l("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",l("ERROR"))),e<=a.warn&&(n.warn=console.warn?console.warn.bind(console,l("WARN"),"color: orange"):console.log.bind(console,"\x1b[33m",l("WARN"))),e<=a.info&&(n.info=console.info?console.info.bind(console,l("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",l("INFO"))),e<=a.debug&&(n.debug=console.debug?console.debug.bind(console,l("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",l("DEBUG"))),e<=a.trace&&(n.trace=console.debug?console.debug.bind(console,l("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",l("TRACE")))},"setLogLevel"),l=(0,i.K)(t=>{let e=o().format("ss.SSS");return`%c${e} : ${t} : `},"format")},6827(t,e,r){"use strict";r.d(e,{K:()=>o,V:()=>a});var i=Object.defineProperty,o=(t,e)=>i(t,"name",{value:e,configurable:!0}),a=(t,e)=>{for(var r in e)i(t,r,{get:e[r],enumerable:!0})}},6163(t,e,r){"use strict";r.d(e,{IU:()=>v,Jo:()=>P,Nq:()=>f,T_:()=>M,UQ:()=>S,a6:()=>_,g0:()=>tg,hq:()=>g,jP:()=>A,lP:()=>B});var i=r(7827),o=r(3002),a=r(739),n=r(6320),s=r(6348),l=r(1177),h=r(1293),c=r(6827),d=r(7829),u=r(2274),p=(0,c.K)((t,e)=>{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";let r=t.x??0,i=t.y??0;return"translate("+-(r+t.width/2)+", "+-(i+t.height/2)+")"},"computeLabelTransform"),g={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},f={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function y(t,e){if(void 0===t||void 0===e)return{angle:0,deltaX:0,deltaY:0};t=m(t),e=m(e);let[r,i]=[t.x,t.y],[o,a]=[e.x,e.y],n=o-r,s=a-i;return{angle:Math.atan(s/n),deltaX:n,deltaY:s}}(0,c.K)(y,"calculateDeltaAndAngle");var m=(0,c.K)(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),x=(0,c.K)(t=>({x:(0,c.K)(function(e,r,i){let o=0,a=m(i[0]).x<m(i[i.length-1]).x?"left":"right";if(0===r&&Object.hasOwn(g,t.arrowTypeStart)){let{angle:e,deltaX:r}=y(i[0],i[1]);o=g[t.arrowTypeStart]*Math.cos(e)*(r>=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(g,t.arrowTypeEnd)){let{angle:e,deltaX:r}=y(i[i.length-1],i[i.length-2]);o=g[t.arrowTypeEnd]*Math.cos(e)*(r>=0?1:-1)}let n=Math.abs(m(e).x-m(i[i.length-1]).x),s=Math.abs(m(e).y-m(i[i.length-1]).y),l=Math.abs(m(e).x-m(i[0]).x),h=Math.abs(m(e).y-m(i[0]).y),c=g[t.arrowTypeStart],d=g[t.arrowTypeEnd];if(n<d&&n>0&&s<d){let t=d+1-n;t*="right"===a?-1:1,o-=t}if(l<c&&l>0&&h<c){let t=c+1-l;t*="right"===a?-1:1,o+=t}return m(e).x+o},"x"),y:(0,c.K)(function(e,r,i){let o=0,a=m(i[0]).y<m(i[i.length-1]).y?"down":"up";if(0===r&&Object.hasOwn(g,t.arrowTypeStart)){let{angle:e,deltaY:r}=y(i[0],i[1]);o=g[t.arrowTypeStart]*Math.abs(Math.sin(e))*(r>=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(g,t.arrowTypeEnd)){let{angle:e,deltaY:r}=y(i[i.length-1],i[i.length-2]);o=g[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(r>=0?1:-1)}let n=Math.abs(m(e).y-m(i[i.length-1]).y),s=Math.abs(m(e).x-m(i[i.length-1]).x),l=Math.abs(m(e).y-m(i[0]).y),h=Math.abs(m(e).x-m(i[0]).x),c=g[t.arrowTypeStart],d=g[t.arrowTypeEnd];if(n<d&&n>0&&s<d){let t=d+1-n;t*="up"===a?-1:1,o-=t}if(l<c&&l>0&&h<c){let t=c+1-l;t*="up"===a?-1:1,o+=t}return m(e).y+o},"y")}),"getLineFunctionsWithOffset"),C=(0,c.K)((t,e,r,i,o,a=!1,n)=>{e.arrowTypeStart&&w(t,"start",e.arrowTypeStart,r,i,o,a,n),e.arrowTypeEnd&&w(t,"end",e.arrowTypeEnd,r,i,o,a,n)},"addEdgeMarkers"),b={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},arrow_hierarchy:{type:"hierarchy",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},k=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],w=(0,c.K)((t,e,r,i,o,a,n=!1,s)=>{if(!r||"none"===r)return;let l=b[r],c=l&&k.includes(l.type);if(!l)return void h.R.warn(`Unknown arrow type: ${r}`);let d=l.type,u=`${o}_${a}-${d}${"start"===e?"Start":"End"}${n&&c?"-margin":""}`;if(s&&""!==s.trim()){let r=s.replace(/[^\dA-Za-z]/g,"_"),o=`${u}_${r}`;if(!document.getElementById(o)){let t=document.getElementById(u);if(t){let e=t.cloneNode(!0);e.id=o,e.querySelectorAll("path, circle, line").forEach(t=>{t.setAttribute("stroke",s),l.fill&&t.setAttribute("fill",s)}),t.parentNode?.appendChild(e)}}t.attr(`marker-${e}`,`url(${i}#${o})`)}else t.attr(`marker-${e}`,`url(${i}#${u})`)},"addEdgeMarker"),T=(0,c.K)(t=>"string"==typeof t?t:(0,l.D7)()?.flowchart?.curve,"resolveEdgeCurveType"),B=new Map,S=new Map,v=(0,c.K)(()=>{B.clear(),S.clear()},"clear"),_=(0,c.K)(t=>!!(t.label||t.startLabelLeft||t.startLabelRight||t.endLabelLeft||t.endLabelRight),"hasEdgeLabel"),F=(0,c.K)(t=>t?"string"==typeof t?t:t.reduce((t,e)=>t+";"+e,""):"","getLabelStyles"),A=(0,c.K)(async(t,e)=>{let r,i,s,c=(0,l.D7)(),u=(0,l.E)(c),{labelStyles:g}=(0,a.GX)(e);e.labelStyle=g;let f=t.insert("g").attr("class","edgeLabel"),y=f.insert("g").attr("class","label").attr("data-id",e.id),m="markdown"===e.labelType,x=await (0,n.GZ)(t,e.label,{style:F(e.labelStyle),useHtmlLabels:u,addSvgBackground:!0,isNode:!1,markdown:m,width:void 0},c);if(y.node().appendChild(x),h.R.info("abc82",e,e.labelType),u){let t=x.children[0],e=(0,d.Ltv)(x);i=r=await n.lT.measure(()=>t.getBoundingClientRect()),e.attr("width",r.width),e.attr("height",r.height)}else{let t=(0,d.Ltv)(x).select("text").node();await n.lT.measure(()=>{r=x.getBBox(),i=t&&"function"==typeof t.getBBox?t.getBBox():r})}if(y.attr("transform",p(i,u)),B.set(e.id,f),e.width=r.width,e.height=r.height,e.startLabelLeft){let r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner"),a=await (0,o.DA)(i,e.startLabelLeft,F(e.labelStyle)||"",!1,!1);s=a;let n=a.getBBox();if(u){let t=a.children[0],e=(0,d.Ltv)(a);n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}i.attr("transform",p(n,u)),S.get(e.id)||S.set(e.id,{}),S.get(e.id).startLeft=r,L(s,e.startLabelLeft)}if(e.startLabelRight){let r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner"),a=await (0,o.DA)(i,e.startLabelRight,F(e.labelStyle)||"",!1,!1);s=a;let n=a.getBBox();if(u){let t=a.children[0],e=(0,d.Ltv)(a);n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}i.attr("transform",p(n,u)),S.get(e.id)||S.set(e.id,{}),S.get(e.id).startRight=r,L(s,e.startLabelRight)}if(e.endLabelLeft){let r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner"),a=await (0,o.DA)(r,e.endLabelLeft,F(e.labelStyle)||"",!1,!1);s=a;let n=a.getBBox();if(u){let t=a.children[0],e=(0,d.Ltv)(a);n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}i.attr("transform",p(n,u)),S.get(e.id)||S.set(e.id,{}),S.get(e.id).endLeft=r,L(s,e.endLabelLeft)}if(e.endLabelRight){let r=t.insert("g").attr("class","edgeTerminals"),i=r.insert("g").attr("class","inner"),a=await (0,o.DA)(r,e.endLabelRight,F(e.labelStyle)||"",!1,!1);s=a;let n=a.getBBox();if(u){let t=a.children[0],e=(0,d.Ltv)(a);n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}i.attr("transform",p(n,u)),S.get(e.id)||S.set(e.id,{}),S.get(e.id).endRight=r,L(s,e.endLabelRight)}return x},"insertEdgeLabel");function L(t,e){(0,l.E)((0,l.D7)())&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}(0,c.K)(L,"setTerminalWidth");var M=(0,c.K)((t,e)=>{h.R.debug("Moving label abc88 ",t.id,t.label,B.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,o=(0,l.D7)(),{subGraphTitleTotalMargin:a}=(0,i.Oi)(o);if(t.label){let i=B.get(t.id),o=t.x,n=t.y;if(r){let i=s._K.calcLabelPosition(r);h.R.debug("Moving label "+t.label+" from (",o,",",n,") to (",i.x,",",i.y,") abc88"),e.updatedPath&&(o=i.x,n=i.y)}i.attr("transform",`translate(${o}, ${n+a/2})`)}if(t.startLabelLeft){let e=S.get(t.id).startLeft,i=t.x,o=t.y;if(r){let e=s._K.calcTerminalLabelPosition(10*!!t.arrowTypeStart,"start_left",r);i=e.x,o=e.y}e.attr("transform",`translate(${i}, ${o})`)}if(t.startLabelRight){let e=S.get(t.id).startRight,i=t.x,o=t.y;if(r){let e=s._K.calcTerminalLabelPosition(10*!!t.arrowTypeStart,"start_right",r);i=e.x,o=e.y}e.attr("transform",`translate(${i}, ${o})`)}if(t.endLabelLeft){let e=S.get(t.id).endLeft,i=t.x,o=t.y;if(r){let e=s._K.calcTerminalLabelPosition(10*!!t.arrowTypeEnd,"end_left",r);i=e.x,o=e.y}e.attr("transform",`translate(${i}, ${o})`)}if(t.endLabelRight){let e=S.get(t.id).endRight,i=t.x,o=t.y;if(r){let e=s._K.calcTerminalLabelPosition(10*!!t.arrowTypeEnd,"end_right",r);i=e.x,o=e.y}e.attr("transform",`translate(${i}, ${o})`)}},"positionEdgeLabel"),$=(0,c.K)((t,e)=>{if(!t?.isLabelEdge||!t?.id?.endsWith("-to-label")||!Array.isArray(e)||2!==e.length)return e;let[r,i]=e,o=Math.abs(i.x-r.x),a=Math.abs(i.y-r.y);return o<.001||a<.001?e:a>=o?[r,{x:r.x,y:i.y},i]:[r,{x:i.x,y:r.y},i]},"orthogonalizeToLabelClippedPoints"),E=(0,c.K)((t,e)=>{let r=t.x,i=t.y,o=Math.abs(e.x-r),a=Math.abs(e.y-i),n=t.width/2,s=t.height/2;return o>=n||a>=s},"outsideNode"),O=(0,c.K)((t,e,r)=>{h.R.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let i=t.x,o=t.y,a=Math.abs(i-r.x),n=t.width/2,s=r.x<e.x?n-a:n+a,l=t.height/2,c=Math.abs(e.y-r.y),d=Math.abs(e.x-r.x);if(Math.abs(o-e.y)*n>Math.abs(i-e.x)*l){let t=r.y<e.y?e.y-l-o:o-l-e.y;s=d*t/c;let i={x:r.x<e.x?r.x+s:r.x-d+s,y:r.y<e.y?r.y+c-t:r.y-c+t};return 0===s&&(i.x=e.x,i.y=e.y),0===d&&(i.x=e.x),0===c&&(i.y=e.y),h.R.debug(`abc89 top/bottom calc, Q ${c}, q ${t}, R ${d}, r ${s}`,i),i}{let t=c*(s=r.x<e.x?e.x-n-i:i-n-e.x)/d,o=r.x<e.x?r.x+d-s:r.x-d+s,a=r.y<e.y?r.y+t:r.y-t;return h.R.debug(`sides calc abc89, Q ${c}, q ${t}, R ${d}, r ${s}`,{_x:o,_y:a}),0===s&&(o=e.x,a=e.y),0===d&&(o=e.x),0===c&&(a=e.y),{x:o,y:a}}},"intersection"),D=(0,c.K)((t,e)=>{h.R.warn("abc88 cutPathAtIntersect",t,e);let r=[],i=t[0],o=!1;return t.forEach(t=>{if(h.R.info("abc88 checking point",t,e),E(e,t)||o)h.R.warn("abc88 outside",t,i),i=t,o||r.push(t);else{let a=O(e,i,t);h.R.debug("abc88 inside",t,i,a),h.R.debug("abc88 intersection",a,e);let n=!1;r.forEach(t=>{n=n||t.x===a.x&&t.y===a.y}),r.some(t=>t.x===a.x&&t.y===a.y)?h.R.warn("abc88 no intersect",a,r):r.push(a),o=!0}}),h.R.debug("returning points",r),r},"cutPathAtIntersect");function K(t){let e=[],r=[];for(let i=1;i<t.length-1;i++){let o=t[i-1],a=t[i],n=t[i+1];o.x===a.x&&a.y===n.y&&Math.abs(a.x-n.x)>5&&Math.abs(a.y-o.y)>5?(e.push(a),r.push(i)):o.y===a.y&&a.x===n.x&&Math.abs(a.x-o.x)>5&&Math.abs(a.y-n.y)>5&&(e.push(a),r.push(i))}return{cornerPoints:e,cornerPointPositions:r}}(0,c.K)(K,"extractCornerPoints");var I=(0,c.K)(function(t,e,r){let i=e.x-t.x,o=e.y-t.y,a=r/Math.sqrt(i*i+o*o);return{x:e.x-a*i,y:e.y-a*o}},"findAdjacentPoint"),q=(0,c.K)(function(t){let{cornerPointPositions:e}=K(t),r=[];for(let i=0;i<t.length;i++)if(e.includes(i)){let e=t[i-1],o=t[i+1],a=t[i],n=I(e,a,5),s=I(o,a,5),l=s.x-n.x,c=s.y-n.y;r.push(n);let d=2*Math.sqrt(2),u={x:a.x,y:a.y};Math.abs(o.x-e.x)>10&&Math.abs(o.y-e.y)>=10?(h.R.debug("Corner point fixing",Math.abs(o.x-e.x),Math.abs(o.y-e.y)),u=a.x===n.x?{x:l<0?n.x-5+d:n.x+5-d,y:c<0?n.y-d:n.y+d}:{x:l<0?n.x-d:n.x+d,y:c<0?n.y-5+d:n.y+5-d}):h.R.debug("Corner point skipping fixing",Math.abs(o.x-e.x),Math.abs(o.y-e.y)),r.push(u,s)}else r.push(t[i]);return r},"fixCorners"),R=(0,c.K)((t,e,r)=>{let i=Math.floor((t-e-r)/4),o=Array(Number.isFinite(i)?Math.max(0,i):0).fill("2 2").join(" ");return`0 ${e} ${o} ${r}`},"generateDashArray"),P=(0,c.K)(function(t,e,r,i,o,n,c,p=!1){let g,y;if(!c)throw Error(`insertEdge: missing diagramId for edge "${e.id}" \u2014 edge IDs require a diagram prefix for uniqueness`);let{handDrawnSeed:m,layout:b}=(0,l.D7)(),k=e.points,w=!1,B=[];for(let t in e.cssCompiledStyles)(0,a.KX)(t)||B.push(e.cssCompiledStyles[t]);if("swimlane"===b){if(n.intersect&&o.intersect&&Array.isArray(k)&&k.length>=2)if(2===k.length)k=[o.intersect(k[0]),n.intersect(k[1])];else{let t=k.slice(1,-1),e=t[0],r=t[t.length-1],i=.5>Math.abs(k[k.length-1].x-r.x)&&.5>Math.abs(k[k.length-1].y-r.y),a=o.intersect(e),s=i?r:n.intersect(r),l=.5>Math.abs(s.x-r.x)&&.5>Math.abs(s.y-r.y);k=[....5>Math.abs(a.x-e.x)&&.5>Math.abs(a.y-e.y)?[]:[a],...t,...l?[]:[s]]}k=$(e,k)}else n.intersect&&o.intersect&&!p&&((k=k.slice(1,e.points.length-1)).unshift(o.intersect(k[0])),k.push(n.intersect(k[k.length-1])));let S=btoa(JSON.stringify(k));e.toCluster&&(h.R.info("to cluster abc88",r.get(e.toCluster)),k=D(e.points,r.get(e.toCluster).node),w=!0),e.fromCluster&&(h.R.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(k,null,2)),k=D(k.reverse(),r.get(e.fromCluster).node).reverse(),w=!0);let v=k.filter(t=>!Number.isNaN(t.y)),_=T(e.curve);"rounded"!==_&&(v=q(v));let F=d.lUB;switch(_){case"linear":case"rounded":F=d.lUB;break;case"basis":default:F=d.qrM;break;case"cardinal":F=d.y8u;break;case"bumpX":F=d.Wi0;break;case"bumpY":F=d.PGM;break;case"catmullRom":F=d.oDi;break;case"monotoneX":F=d.nVG;break;case"monotoneY":F=d.uxU;break;case"natural":F=d.Xf2;break;case"step":F=d.GZz;break;case"stepAfter":F=d.UPb;break;case"stepBefore":F=d.dyv}let{x:A,y:L}=x(e),M=(0,d.n8j)().x(A).y(L).curve(F);switch(e.thickness){case"normal":default:g="edge-thickness-normal";break;case"thick":g="edge-thickness-thick";break;case"invisible":g="edge-thickness-invisible"}switch(e.pattern){case"solid":default:g+=" edge-pattern-solid";break;case"dotted":g+=" edge-pattern-dotted";break;case"dashed":g+=" edge-pattern-dashed"}let E="rounded"===_?z(N(v,e),5):M(v),O=Array.isArray(e.style)?e.style:[e.style],K=O.find(t=>t?.startsWith("stroke:")),I="";e.animate&&(I="edge-animation-fast"),e.animation&&(I="edge-animation-"+e.animation);let P=!1;if("handDrawn"===e.look){let r=u.A.svg(t);Object.assign([],v);let i=r.path(E,{roughness:.3,seed:m});g+=" transition";let o=(y=(0,d.Ltv)(i).select("path").attr("id",`${c}-${e.id}`).attr("class"," "+g+(e.classes?" "+e.classes:"")+(I?" "+I:"")).attr("style",O?O.reduce((t,e)=>t+";"+e,""):"")).attr("d");y.attr("d",o),t.node().appendChild(y.node())}else{let r=B.join(";"),i=O?O.reduce((t,e)=>t+e+";",""):"",o=(r?r+";"+i+";":i)+";"+(O?O.reduce((t,e)=>t+";"+e,""):"");y=t.append("path").attr("d",E).attr("id",`${c}-${e.id}`).attr("class"," "+g+(e.classes?" "+e.classes:"")+(I?" "+I:"")).attr("style",o),K=o.match(/stroke:([^;]+)/)?.[1],P=!0===e.animate||!!e.animation||r.includes("animation");let a=y.node(),n="function"==typeof a.getTotalLength?a.getTotalLength():0,s=f[e.arrowTypeStart]||0,l=f[e.arrowTypeEnd]||0;if("neo"===e.look&&!P){let t="dotted"===e.pattern||"dashed"===e.pattern?R(n,s,l):`0 ${s} ${n-s-l} ${l}`,r=`stroke-dasharray: ${t}; stroke-dashoffset: 0;`;y.attr("style",r+y.attr("style"))}}y.attr("data-edge",!0),y.attr("data-et","edge"),y.attr("data-id",e.id),y.attr("data-points",S),y.attr("data-look",(0,s.KL)(e.look)),e.showPoints&&v.forEach(e=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",e.x).attr("cy",e.y)});let W="";((0,l.D7)().flowchart.arrowMarkerAbsolute||(0,l.D7)().state.arrowMarkerAbsolute)&&(W=(W=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(").replace(/\)/g,"\\)")),h.R.info("arrowTypeStart",e.arrowTypeStart),h.R.info("arrowTypeEnd",e.arrowTypeEnd);let j=!P&&e?.look==="neo";C(y,e,W,c,i,j,K);let H=Math.floor(k.length/2),U=k[H];s._K.isLabelCoordinateInPath(U,y.attr("d"))||(w=!0);let Y={};return w&&(Y.updatedPath=k),Y.originalPath=e.points,Y},"insertEdge");function z(t,e){if(t.length<2)return"";let r="",i=t.length;for(let o=0;o<i;o++){let a=t[o],n=t[o-1],s=t[o+1];if(0===o)r+=`M${a.x},${a.y}`;else if(o===i-1)r+=`L${a.x},${a.y}`;else{let t=a.x-n.x,i=a.y-n.y,o=s.x-a.x,l=s.y-a.y,h=Math.hypot(t,i),c=Math.hypot(o,l);if(h<1e-5||c<1e-5){r+=`L${a.x},${a.y}`;continue}let d=t/h,u=i/h,p=o/c,g=l/c,f=Math.acos(Math.max(-1,Math.min(1,d*p+u*g)));if(f<1e-5||1e-5>Math.abs(Math.PI-f)){r+=`L${a.x},${a.y}`;continue}let y=Math.min(e/Math.sin(f/2),h/2,c/2),m=a.x-d*y,x=a.y-u*y,C=a.x+p*y,b=a.y+g*y;r+=`L${m},${x}Q${a.x},${a.y} ${C},${b}`}}return r}function W(t,e){if(!t||!e)return{angle:0,deltaX:0,deltaY:0};let r=e.x-t.x,i=e.y-t.y;return{angle:Math.atan2(i,r),deltaX:r,deltaY:i}}function N(t,e){let r=t.map(t=>({...t}));if(t.length>=2&&g[e.arrowTypeStart]){let i=g[e.arrowTypeStart],o=t[0],{angle:a}=W(o,t[1]),n=i*Math.cos(a),s=i*Math.sin(a);r[0].x=o.x+n,r[0].y=o.y+s}let i=t.length;if(i>=2&&g[e.arrowTypeEnd]){let o=g[e.arrowTypeEnd],a=t[i-1],{angle:n}=W(t[i-2],a),s=o*Math.cos(n),l=o*Math.sin(n);r[i-1].x=a.x-s,r[i-1].y=a.y-l}return r}(0,c.K)(z,"generateRoundedPath"),(0,c.K)(W,"calculateDeltaAndAngle"),(0,c.K)(N,"applyMarkerOffsetsToPoints");var j=(0,c.K)((t,e,r,i)=>{e.forEach(e=>{tp[e](t,r,i)})},"insertMarkers"),H=(0,c.K)((t,e,r)=>{h.R.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),U=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Y=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),G=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),X=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),Z=(0,c.K)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),V=(0,c.K)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),Q=(0,c.K)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),J=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),tt=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{transitionColor:o}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${o}`)},"barbNeo"),te=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),tr=(0,c.K)((t,e,r)=>{let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),i.append("path").attr("d","M9,0 L9,18");let o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");o.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),o.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),ti=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),to=(0,c.K)((t,e,r)=>{let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),i.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");o.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),o.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),ta=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${o}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${o}`)},"only_one_neo"),tn=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o,mainBkg:a}=i,n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");n.append("circle").attr("fill",a??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${o}`).attr("r",6),n.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${o}`);let s=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");s.append("circle").attr("fill",a??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${o}`).attr("r",6),s.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${o}`)},"zero_or_one_neo"),ts=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${o}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${o}`)},"one_or_more_neo"),tl=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o,mainBkg:a}=i,n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");n.append("circle").attr("fill",a??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${o}`),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${o}`);let s=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");s.append("circle").attr("fill",a??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${o}`),s.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${o}`)},"zero_or_more_neo"),th=(0,c.K)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 + L20,10 + M20,10 + L0,20`)},"requirement_arrow"),tc=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${o}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0 + L20,10 + M20,10 + L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),td=(0,c.K)((t,e,r)=>{let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");i.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),i.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),i.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),tu=(0,c.K)((t,e,r)=>{let{themeVariables:i}=(0,l.zj)(),{strokeWidth:o}=i,a=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");a.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),a.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),a.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),a.selectAll("*").attr("stroke-width",`${o}`)},"requirement_contains_neo"),tp={extension:H,composition:U,aggregation:Y,dependency:G,lollipop:X,point:Z,circle:V,cross:Q,barb:J,barbNeo:tt,hierarchy:(0,c.K)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-hierarchyEnd").attr("class","marker hierarchy "+e).attr("viewBox","0 0 12 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 0 0 L 6 5 L 0 10 M 4 0 L 10 5 L 4 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none"),t.append("marker").attr("id",r+"_"+e+"-hierarchyStart").attr("class","marker hierarchy "+e).attr("viewBox","0 0 12 10").attr("refX",2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 12 0 L 6 5 L 12 10 M 8 0 L 2 5 L 8 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none")},"hierarchy"),only_one:te,zero_or_one:tr,one_or_more:ti,zero_or_more:to,only_one_neo:ta,zero_or_one_neo:tn,one_or_more_neo:ts,zero_or_more_neo:tl,requirement_arrow:th,requirement_contains:td,requirement_arrow_neo:tc,requirement_contains_neo:tu},tg=j},6348(t,e,r){"use strict";r.d(e,{yT:()=>U,PX:()=>J,vU:()=>L,rY:()=>th,pe:()=>S,KL:()=>tc,Ib:()=>$,I5:()=>to,bH:()=>X,$C:()=>j,$t:()=>ta,ru:()=>V,dq:()=>tr,Sm:()=>tl,C4:()=>ts,sM:()=>W,_K:()=>tn,Un:()=>Q});var i,o=r(1177),a=r(1293),n=r(6827),s=r(6750),l=r(7829);function h(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw TypeError("Expected a function");let r=function(...i){let o=e?e.apply(this,i):i[0],a=r.cache;if(a.has(o))return a.get(o);let n=t.apply(this,i);return r.cache=a.set(o,n)||a,n};return r.cache=new(h.Cache||Map),r}function c(){}h.Cache=Map;var d=r(7110),u=r(2796);function p(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}var g=r(1069);function f(t){if("object"!=typeof t||null==t)return!1;if(null===Object.getPrototypeOf(t))return!0;if("[object Object]"!==Object.prototype.toString.call(t)){let e=t[Symbol.toStringTag];return null!=e&&!!Object.getOwnPropertyDescriptor(t,Symbol.toStringTag)?.writable&&t.toString()===`[object ${e}]`}let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}var y=r(9125),m=r(9826);function x(t,e,r,i=new Map,o){let a=o?.(t,e,r,i);if(void 0!==a)return a;if((0,d.s)(t))return t;if(i.has(t))return i.get(t);if(Array.isArray(t)){let e=Array(t.length);i.set(t,e);for(let a=0;a<t.length;a++)e[a]=x(t[a],a,r,i,o);return Object.hasOwn(t,"index")&&(e.index=t.index),Object.hasOwn(t,"input")&&(e.input=t.input),e}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){let e=new RegExp(t.source,t.flags);return e.lastIndex=t.lastIndex,e}if(t instanceof Map){let e=new Map;for(let[a,n]of(i.set(t,e),t))e.set(a,x(n,a,r,i,o));return e}if(t instanceof Set){let e=new Set;for(let a of(i.set(t,e),t))e.add(x(a,void 0,r,i,o));return e}if((0,g.P)(t))return t.subarray();if((0,u.i)(t)){let e=new(Object.getPrototypeOf(t)).constructor(t.length);i.set(t,e);for(let a=0;a<t.length;a++)e[a]=x(t[a],a,r,i,o);return e}if(t instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){let e=new DataView(t.buffer.slice(0),t.byteOffset,t.byteLength);return i.set(t,e),C(e,t,r,i,o),e}if("u">typeof File&&t instanceof File){let e=new File([t],t.name,{type:t.type});return i.set(t,e),C(e,t,r,i,o),e}if("u">typeof Blob&&t instanceof Blob){let e=new Blob([t],{type:t.type});return i.set(t,e),C(e,t,r,i,o),e}if(t instanceof Error){let e=structuredClone(t);return i.set(t,e),e.message=t.message,e.name=t.name,e.stack=t.stack,e.cause=t.cause,e.constructor=t.constructor,C(e,t,r,i,o),e}if(t instanceof Boolean){let e=new Boolean(t.valueOf());return i.set(t,e),C(e,t,r,i,o),e}if(t instanceof Number){let e=new Number(t.valueOf());return i.set(t,e),C(e,t,r,i,o),e}if(t instanceof String){let e=new String(t.valueOf());return i.set(t,e),C(e,t,r,i,o),e}if("object"==typeof t&&function(t){switch((0,y.b)(t)){case m.R_:case m.Uw:case m.cT:case m.iq:case m.$V:case m.vC:case m.ri:case m.ML:case m.XZ:case m.i1:case m._u:case m.pj:case m.kj:case m.GX:case m.Av:case m.NA:case m.OG:case m.VP:case m.Qb:case m.q:case m.x6:case m.ZR:return!0;default:return!1}}(t)){let e=Object.create(Object.getPrototypeOf(t));return i.set(t,e),C(e,t,r,i,o),e}return t}function C(t,e,r=t,i,o){let a=[...Object.keys(e),...p(e)];for(let n=0;n<a.length;n++){let s=a[n],l=Object.getOwnPropertyDescriptor(t,s);(null==l||l.writable)&&(t[s]=x(e[s],s,r,i,o))}}function b(t){var e;return e=(e,r,i,o)=>{let a;if(void 0!==a)return a;if("object"==typeof t){if("[object Object]"===(0,y.b)(t)&&"function"!=typeof t.constructor){let e={};return o.set(t,e),C(e,t,i,o),e}switch(Object.prototype.toString.call(t)){case m.kj:case m.OG:case m.$V:{let e=new t.constructor(t?.valueOf());return C(e,t),e}case m.R_:{let e={};return C(e,t),e.length=t.length,e[Symbol.iterator]=t[Symbol.iterator],e}default:return}}},x(t,void 0,t,new Map,e)}var k=r(4608);function w(t){return"object"==typeof t&&null!==t}var T=r(9480),B=r(9663),S="\u200B",v={curveBasis:l.qrM,curveBasisClosed:l.Yu4,curveBasisOpen:l.IA3,curveBumpX:l.Wi0,curveBumpY:l.PGM,curveBundle:l.OEq,curveCardinalClosed:l.olC,curveCardinalOpen:l.IrU,curveCardinal:l.y8u,curveCatmullRomClosed:l.Q7f,curveCatmullRomOpen:l.cVp,curveCatmullRom:l.oDi,curveLinear:l.lUB,curveLinearClosed:l.Lx9,curveMonotoneX:l.nVG,curveMonotoneY:l.uxU,curveNatural:l.Xf2,curveStep:l.GZz,curveStepAfter:l.UPb,curveStepBefore:l.dyv},_=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,F=(0,n.K)(function(t,e){let r=A(t,/(?:init\b)|(?:initialize\b)/),i={};if(Array.isArray(r)){let t=r.map(t=>t.args);(0,o.$i)(t),i=(0,o.hH)(i,[...t])}else i=r.args;if(!i)return;let a=(0,o.Ch)(t,e),n="config";return void 0!==i[n]&&("flowchart-v2"===a&&(a="flowchart"),i[a]=i[n],delete i[n]),i},"detectInit"),A=(0,n.K)(function(t,e=null){try{let r,i=RegExp(`[%]{2}(?![{]${_.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),a.R.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);let n=[];for(;null!==(r=o.DB.exec(t));)if(r.index===o.DB.lastIndex&&o.DB.lastIndex++,r&&!e||e&&r[1]?.match(e)||e&&r[2]?.match(e)){let t=r[1]?r[1]:r[2],e=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:t,args:e})}if(0===n.length)return{type:t,args:null};return 1===n.length?n[0]:n}catch(r){return a.R.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),L=(0,n.K)(function(t){return t.replace(o.DB,"")},"removeDirectives"),M=(0,n.K)(function(t,e){for(let[r,i]of e.entries())if(i.match(t))return r;return -1},"isSubstringInArray");function $(t,e){return t?v[`curve${t.charAt(0).toUpperCase()+t.slice(1)}`]??e:e}function E(t,e){let r=t.trim();if(r)return"loose"!==e.securityLevel?(0,s.sanitizeUrl)(r):r}(0,n.K)($,"interpolateToCurve"),(0,n.K)(E,"formatUrl");var O=(0,n.K)((t,...e)=>{let r=t.split("."),i=r.length-1,o=r[i],n=window;for(let e=0;e<i;e++)if(!(n=n[r[e]]))return void a.R.error(`Function name: ${t} not found in window`);n[o](...e)},"runFunc");function D(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}function K(t){let e,r=0;return t.forEach(t=>{r+=D(t,e),e=t}),R(t,r/2)}function I(t){return 1===t.length?t[0]:K(t)}(0,n.K)(D,"distance"),(0,n.K)(K,"traverseEdge"),(0,n.K)(I,"calcLabelPosition");var q=(0,n.K)((t,e=2)=>{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),R=(0,n.K)((t,e)=>{let r,i=e;for(let e of t){if(r){let t=D(e,r);if(0===t)return r;if(t<i)i-=t;else{let o=i/t;if(o<=0)return r;if(o>=1)return{x:e.x,y:e.y};if(o>0&&o<1)return{x:q((1-o)*r.x+o*e.x,5),y:q((1-o)*r.y+o*e.y,5)}}}r=e}throw Error("Could not find a suitable point for the given distance")},"calculatePoint"),P=(0,n.K)((t,e,r)=>{a.R.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=R(e,25),o=t?10:5,n=Math.atan2(e[0].y-i.y,e[0].x-i.x),s={x:0,y:0};return s.x=Math.sin(n)*o+(e[0].x+i.x)/2,s.y=-Math.cos(n)*o+(e[0].y+i.y)/2,s},"calcCardinalityPosition");function z(t,e,r){let i=structuredClone(r);a.R.info("our points",i),"start_left"!==e&&"start_right"!==e&&i.reverse();let o=R(i,25+t),n=10+.5*t,s=Math.atan2(i[0].y-o.y,i[0].x-o.x),l={x:0,y:0};return"start_left"===e?(l.x=Math.sin(s+Math.PI)*n+(i[0].x+o.x)/2,l.y=-Math.cos(s+Math.PI)*n+(i[0].y+o.y)/2):"end_right"===e?(l.x=Math.sin(s-Math.PI)*n+(i[0].x+o.x)/2-5,l.y=-Math.cos(s-Math.PI)*n+(i[0].y+o.y)/2-5):"end_left"===e?(l.x=Math.sin(s)*n+(i[0].x+o.x)/2-5,l.y=-Math.cos(s)*n+(i[0].y+o.y)/2-5):(l.x=Math.sin(s)*n+(i[0].x+o.x)/2,l.y=-Math.cos(s)*n+(i[0].y+o.y)/2),l}function W(t){let e="",r="";for(let i of t)void 0!==i&&(i.startsWith("color:")||i.startsWith("text-align:")?r=r+i+";":e=e+i+";");return{style:e,labelStyle:r}}(0,n.K)(z,"calcTerminalLabelPosition"),(0,n.K)(W,"getStylesFromArray");var N=0,j=(0,n.K)(()=>(N++,"id-"+Math.random().toString(36).substr(2,12)+"-"+N),"generateId");function H(t){let e="",r="0123456789abcdef",i=r.length;for(let o=0;o<t;o++)e+=r.charAt(Math.floor(Math.random()*i));return e}(0,n.K)(H,"makeRandomHex");var U=(0,n.K)(t=>H(t.length),"random"),Y=(0,n.K)(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),G=(0,n.K)(function(t,e){let r=e.text.replace(o.Y2.lineBreakRegex," "),[,i]=to(e.fontSize),a=t.append("text");a.attr("x",e.x),a.attr("y",e.y),a.style("text-anchor",e.anchor),a.style("font-family",e.fontFamily),a.style("font-size",i),a.style("font-weight",e.fontWeight),a.attr("fill",e.fill),void 0!==e.class&&a.attr("class",e.class);let n=a.append("tspan");return n.attr("x",e.x+2*e.textMargin),n.attr("fill",e.fill),n.text(r),a},"drawSimpleText"),X=h((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},r),o.Y2.hasBreaks(t)))return t;let i=t.split(" ").filter(Boolean),a=[],n="";return i.forEach((t,o)=>{let s=Q(`${t} `,r),l=Q(n,r);if(s>e){let{hyphenatedStrings:i,remainingWord:o}=Z(t,e,"-",r);a.push(n,...i),n=o}else l+s>=e?(a.push(n),n=t):n=[n,t].filter(Boolean).join(" ");o+1===i.length&&a.push(n)}),a.filter(t=>""!==t).join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),Z=h((t,e,r="-",i)=>{i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},i);let o=[...t],a=[],n="";return o.forEach((t,s)=>{let l=`${n}${t}`;if(Q(l,i)>=e){let t=o.length===s+1,e=`${l}${r}`;a.push(t?l:e),n=""}else n=l}),{hyphenatedStrings:a,remainingWord:n}},(t,e,r="-",i)=>`${t}${e}${r}${i.fontSize}${i.fontWeight}${i.fontFamily}`);function V(t,e){return J(t,e).height}function Q(t,e){return J(t,e).width}(0,n.K)(V,"calculateTextHeight"),(0,n.K)(Q,"calculateTextWidth");var J=h((t,e)=>{let{fontSize:r=12,fontFamily:i="Arial",fontWeight:a=400}=e;if(!t)return{width:0,height:0};let[,n]=to(r),s=t.split(o.Y2.lineBreakRegex),h=[],c=(0,l.Ltv)("body");if(!c.remove)return{width:0,height:0,lineHeight:0};let d=c.append("svg");for(let t of["sans-serif",i]){let e=0,r={width:0,height:0,lineHeight:0};for(let i of s){let o=Y();o.text=i||S;let s=G(d,o).style("font-size",n).style("font-weight",a).style("font-family",t),l=(s._groups||s)[0][0].getBBox();if(0===l.width&&0===l.height)throw Error("svg element not in render tree");r.width=Math.round(Math.max(r.width,l.width)),e=Math.round(l.height),r.height+=e,r.lineHeight=Math.round(Math.max(r.lineHeight,e))}h.push(r)}d.remove();let u=isNaN(h[1].height)||isNaN(h[1].width)||isNaN(h[1].lineHeight)||h[0].height>h[1].height&&h[0].width>h[1].width&&h[0].lineHeight>h[1].lineHeight?0:1;return h[u]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),tt=class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}static{(0,n.K)(this,"InitIDGenerator")}},te=(0,n.K)(function(t){return i=i||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),i.innerHTML=t,unescape(i.textContent)},"entityDecode");function tr(t){return"str"in t}(0,n.K)(tr,"isDetailedError");var ti=(0,n.K)((t,e,r,i)=>{if(!i)return;let o=t.node()?.getBBox();o&&t.append("text").text(i).attr("text-anchor","middle").attr("x",o.x+o.width/2).attr("y",-r).attr("class",e)},"insertTitle"),to=(0,n.K)(t=>{if("number"==typeof t)return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function ta(t,e){return function(t,...e){return function(t,...e){let r=e.slice(0,-1),i=e[e.length-1],o=t;for(let t=0;t<r.length;t++)o=function t(e,r,i,o){if((0,d.s)(e)&&(e=Object(e)),null==r||"object"!=typeof r)return e;if(o.has(r))return function(t){if((0,d.s)(t))return t;if(Array.isArray(t)||(0,u.i)(t)||t instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&t instanceof SharedArrayBuffer)return t.slice(0);let e=Object.getPrototypeOf(t);if(null==e)return Object.assign(Object.create(e),t);let r=e.constructor;if(t instanceof Date||t instanceof Map||t instanceof Set)return new r(t);if(t instanceof RegExp){let e=new r(t);return e.lastIndex=t.lastIndex,e}if(t instanceof DataView)return new r(t.buffer.slice(0));if(t instanceof Error){let e;return(e=t instanceof AggregateError?new r(t.errors,t.message,{cause:t.cause}):new r(t.message,{cause:t.cause})).stack=t.stack,Object.assign(e,t),e}return"u">typeof File&&t instanceof File?new r([t],t.name,{type:t.type,lastModified:t.lastModified}):"object"==typeof t?Object.assign(Object.create(e),t):t}(o.get(r));if(o.set(r,e),Array.isArray(r)){r=r.slice();for(let t=0;t<r.length;t++)t in r||(r[t]=void 0)}let a=[...Object.keys(r),...p(r)];for(let s=0;s<a.length;s++){let l=a[s];if("__proto__"===l)continue;let h=r[l],c=e[l];if((0,k.N)(h)&&(h={...h}),(0,k.N)(c)&&(c={...c}),(0,g.P)(h)&&(h=b(h)),Array.isArray(h))if(Array.isArray(c)){let t=[],e=Reflect.ownKeys(c);for(let r=0;r<e.length;r++){let i=e[r];t[i]=c[i]}c=t}else{var n;if(w(n=c)&&(0,T.X)(n)){let t=[];for(let e=0;e<c.length;e++)t[e]=c[e];c=t}else c=[]}let d=i(c,h,l,e,r,o);void 0!==d?e[l]=d:Array.isArray(h)||w(c)&&w(h)&&(f(c)||f(h)||(0,B.i)(c)||(0,B.i)(h))?e[l]=t(c,h,i,o):null==c&&f(h)?e[l]=t({},h,i,o):null==c&&(0,B.i)(h)?e[l]=b(h):(void 0===c||void 0!==h)&&(e[l]=h)}return e}(o,r[t],i,new Map);return o}(t,...e,c)}({},t,e)}(0,n.K)(ta,"cleanAndMerge");var tn={assignWithDepth:o.hH,wrapLabel:X,calculateTextHeight:V,calculateTextWidth:Q,calculateTextDimensions:J,cleanAndMerge:ta,detectInit:F,detectDirective:A,isSubstringInArray:M,interpolateToCurve:$,calcLabelPosition:I,calcCardinalityPosition:P,calcTerminalLabelPosition:z,formatUrl:E,getStylesFromArray:W,generateId:j,random:U,runFunc:O,entityDecode:te,insertTitle:ti,isLabelCoordinateInPath:td,parseFontSize:to,InitIDGenerator:tt},ts=(0,n.K)(function(t){let e=t;return(e=(e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/#\w+;/g,function(t){let e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"\uFB02\xb0\xb0"+e+"\xb6\xdf":"\uFB02\xb0"+e+"\xb6\xdf"})},"encodeEntities"),tl=(0,n.K)(function(t){return t.replace(/\ufb02\xb0\xb0/g,"&#").replace(/\ufb02\xb0/g,"&").replace(/\xb6\xdf/g,";")},"decodeEntities"),th=(0,n.K)((t,e,{counter:r=0,prefix:i,suffix:o},a)=>a||`${i?`${i}_`:""}${t}_${e}_${r}${o?`_${o}`:""}`,"getEdgeId");function tc(t){return t??null}function td(t,e){let r=Math.round(t.x),i=Math.round(t.y),o=e.replace(/(\d+\.\d+)/g,t=>Math.round(parseFloat(t)).toString());return o.includes(r.toString())||o.includes(i.toString())}(0,n.K)(tc,"handleUndefinedAttr"),(0,n.K)(td,"isLabelCoordinateInPath")},2346(t,e,r){"use strict";r.r(e),r.d(e,{default:()=>r0});var i=r(4924),o=r(841),a=r(2391);r(3247),r(5616),r(6163),r(7827),r(3002),r(739),r(6320);var n=r(2217);r(2941);var s=r(6348),l=r(1177),h=r(1293),c=r(6827),d=r(8908),u=r(7829),p="comm",g="rule",f="decl",y="@keyframes",m="@layer",x=Math.abs,C=String.fromCharCode;function b(t,e,r){return t.replace(e,r)}function k(t,e){return 0|t.charCodeAt(e)}function w(t,e,r){return t.slice(e,r)}function T(t){return t.length}function B(t,e){return e.push(t),t}function S(t,e){for(var r="",i=0;i<t.length;i++)r+=e(t[i],i,t,e)||"";return r}function v(t,e,r,i){switch(t.type){case m:if(t.children.length)break;case"@import":case"@namespace":case f:return t.return=t.return||t.value;case p:return"";case y:return t.return=t.value+"{"+S(t.children,i)+"}";case g:if(!T(t.value=t.props.join(",")))return""}return T(r=S(t.children,i))?t.return=t.value+"{"+r+"}":""}var _=1,F=1,A=0,L=0,M=0,$="";function E(t,e,r,i,o,a,n,s){return{value:t,root:e,parent:r,type:i,props:o,children:a,line:_,column:F,length:n,return:"",siblings:s}}function O(){return M=L<A?k($,L++):0,F++,10===M&&(F=1,_++),M}function D(){return k($,L)}function K(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function I(t){var e,r;return(e=L-1,r=function t(e){for(;O();)switch(M){case e:return L;case 34:case 39:34!==e&&39!==e&&t(M);break;case 40:41===e&&t(e);break;case 92:O()}return L}(91===t?t+2:40===t?t+1:t),w($,e,r)).trim()}function q(t,e,r,i,o,a,n,s,l,h,c,d){for(var u=o-1,p=0===o?a:[""],f=p.length,y=0,m=0,C=0;y<i;++y)for(var k=0,T=w(t,u+1,u=x(m=n[y])),B=t;k<f;++k)(B=(m>0?p[k]+" "+T:b(T,/&\f/g,p[k])).trim())&&(l[C++]=B);return E(t,e,r,0===o?g:s,l,h,c,d)}function R(t,e,r,i,o){return E(t,e,r,f,w(t,0,i),w(t,i+1,-1),i,o)}var P=r(9418),z=r(1069),W=r(9480),N=r(4608),j=r(9663);function H(t){if(null==t)return!0;if((0,W.X)(t))return("function"==typeof t.splice||"string"==typeof t||!!(0,z.P)(t)||!!(0,j.i)(t)||!!(0,N.N)(t))&&0===t.length;if("object"==typeof t||"function"==typeof t){let e;if(t instanceof Map||t instanceof Set)return 0===t.size;let r=Object.keys(t);return(e=t?.constructor,t===("function"==typeof e?e.prototype:Object.prototype))?0===r.filter(t=>"constructor"!==t).length:0===r.length}return!0}var U={id:"c4",detector:(0,c.K)(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),loader:(0,c.K)(async()=>{let{diagram:t}=await r.e("1862").then(r.bind(r,9301));return{id:"c4",diagram:t}},"loader")},Y="flowchart-v2",G=(0,c.K)(t=>/^\s*(graph|flowchart)/.test(t),"detector"),X=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("5505"),r.e("7874")]).then(r.bind(r,5289));return{id:Y,diagram:t}},"loader"),Z={id:Y,detector:G,loader:X},V="agentflow",Q=(0,c.K)(t=>/^\s*agentflow-beta\b/.test(t),"detector"),J=(0,c.K)(async()=>{let{diagram:t}=await r.e("5783").then(r.bind(r,4810));return{id:V,diagram:t}},"loader"),tt={id:V,detector:Q,loader:J},te="swimlane",tr=(0,c.K)(t=>/^\s*swimlane-beta\b/.test(t),"detector"),ti=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("5505"),r.e("1567")]).then(r.bind(r,5698));return{id:te,diagram:t}},"loader"),to={id:te,detector:tr,loader:ti},ta={id:"er",detector:(0,c.K)(t=>/^\s*erDiagram/.test(t),"detector"),loader:(0,c.K)(async()=>{let{diagram:t}=await r.e("3636").then(r.bind(r,7599));return{id:"er",diagram:t}},"loader")},tn="gitGraph",ts=(0,c.K)(t=>/^\s*gitGraph/.test(t),"detector"),tl=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("4137")]).then(r.bind(r,2208));return{id:tn,diagram:t}},"loader"),th={id:tn,detector:ts,loader:tl},tc="gantt",td=(0,c.K)(t=>/^\s*gantt/.test(t),"detector"),tu=(0,c.K)(async()=>{let{diagram:t}=await r.e("6374").then(r.bind(r,6389));return{id:tc,diagram:t}},"loader"),tp={id:tc,detector:td,loader:tu},tg="info",tf=(0,c.K)(t=>/^\s*info/.test(t),"detector"),ty=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("6184")]).then(r.bind(r,1019));return{id:tg,diagram:t}},"loader"),tm={id:tg,detector:tf,loader:ty},tx={id:"pie",detector:(0,c.K)(t=>/^\s*pie/.test(t),"detector"),loader:(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("2951")]).then(r.bind(r,7834));return{id:"pie",diagram:t}},"loader")},tC="quadrantChart",tb=(0,c.K)(t=>/^\s*quadrantChart/.test(t),"detector"),tk=(0,c.K)(async()=>{let{diagram:t}=await r.e("9948").then(r.bind(r,791));return{id:tC,diagram:t}},"loader"),tw={id:tC,detector:tb,loader:tk},tT="xychart",tB=(0,c.K)(t=>/^\s*xychart(-beta)?/.test(t),"detector"),tS=(0,c.K)(async()=>{let{diagram:t}=await r.e("4875").then(r.bind(r,1238));return{id:tT,diagram:t}},"loader"),tv={id:tT,detector:tB,loader:tS},t_="requirement",tF=(0,c.K)(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),tA=(0,c.K)(async()=>{let{diagram:t}=await r.e("6856").then(r.bind(r,1819));return{id:t_,diagram:t}},"loader"),tL={id:t_,detector:tF,loader:tA},tM="sequence",t$=(0,c.K)(t=>/^\s*sequenceDiagram/.test(t),"detector"),tE=(0,c.K)(async()=>{let{diagram:t}=await r.e("4617").then(r.bind(r,7280));return{id:tM,diagram:t}},"loader"),tO={id:tM,detector:t$,loader:tE},tD="classDiagram",tK=(0,c.K)(t=>/^\s*classDiagram/.test(t),"detector"),tI=(0,c.K)(async()=>{let{diagram:t}=await r.e("8683").then(r.bind(r,8726));return{id:tD,diagram:t}},"loader"),tq={id:tD,detector:tK,loader:tI},tR="stateDiagram",tP=(0,c.K)(t=>/^\s*stateDiagram/.test(t),"detector"),tz=(0,c.K)(async()=>{let{diagram:t}=await r.e("2268").then(r.bind(r,7335));return{id:tR,diagram:t}},"loader"),tW={id:tR,detector:tP,loader:tz},tN="journey",tj=(0,c.K)(t=>/^\s*journey/.test(t),"detector"),tH=(0,c.K)(async()=>{let{diagram:t}=await r.e("2358").then(r.bind(r,1493));return{id:tN,diagram:t}},"loader"),tU={id:tN,detector:tj,loader:tH},tY={draw:(0,c.K)((t,e,r)=>{h.R.debug("rendering svg for syntax error\n");let o=(0,i.D)(e),a=o.append("g");o.attr("viewBox","0 0 2412 512"),(0,l.a$)(o,100,512,!0),a.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"),a.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"),a.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"),a.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"),a.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"),a.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"),a.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"),a.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw")},tG={db:{},renderer:tY,parser:{parse:(0,c.K)(()=>{},"parse")}},tX="flowchart-elk",tZ=(0,c.K)((t,e={})=>!!/^\s*flowchart-elk/.test(t)&&(e.layout="elk",!0),"detector"),tV=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("5505"),r.e("5493")]).then(r.bind(r,5289));return{id:tX,diagram:t}},"loader"),tQ={id:tX,detector:tZ,loader:tV},tJ="timeline",t0=(0,c.K)(t=>/^\s*timeline/.test(t),"detector"),t1=(0,c.K)(async()=>{let{diagram:t}=await r.e("181").then(r.bind(r,6180));return{id:tJ,diagram:t}},"loader"),t2={id:tJ,detector:t0,loader:t1},t5="mindmap",t3=(0,c.K)(t=>/^\s*mindmap/.test(t),"detector"),t4=(0,c.K)(async()=>{let{diagram:t}=await r.e("8272").then(r.bind(r,1123));return{id:t5,diagram:t}},"loader"),t6={id:t5,detector:t3,loader:t4},t8="kanban",t7=(0,c.K)(t=>/^\s*kanban/.test(t),"detector"),t9=(0,c.K)(async()=>{let{diagram:t}=await r.e("6326").then(r.bind(r,4773));return{id:t8,diagram:t}},"loader"),et={id:t8,detector:t7,loader:t9},ee="sankey",er=(0,c.K)(t=>/^\s*sankey(-beta)?/.test(t),"detector"),ei=(0,c.K)(async()=>{let{diagram:t}=await r.e("4892").then(r.bind(r,6247));return{id:ee,diagram:t}},"loader"),eo={id:ee,detector:er,loader:ei},ea="packet",en=(0,c.K)(t=>/^\s*packet(-beta)?/.test(t),"detector"),es=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("7256")]).then(r.bind(r,6699));return{id:ea,diagram:t}},"loader"),el={id:ea,detector:en,loader:es},eh="radar",ec=(0,c.K)(t=>/^\s*radar-beta/.test(t),"detector"),ed=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("4788")]).then(r.bind(r,5487));return{id:eh,diagram:t}},"loader"),eu={id:eh,detector:ec,loader:ed},ep="block",eg=(0,c.K)(t=>/^\s*block(-beta)?/.test(t),"detector"),ef=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("2107"),r.e("5250"),r.e("3851")]).then(r.bind(r,9734));return{id:ep,diagram:t}},"loader"),ey={id:ep,detector:eg,loader:ef},em="treeView",ex=(0,c.K)(t=>/^\s*treeView-beta/.test(t),"detector"),eC=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("1491")]).then(r.bind(r,4638));return{id:em,diagram:t}},"loader"),eb={id:em,detector:ex,loader:eC},ek="architecture",ew=(0,c.K)(t=>/^\s*architecture/.test(t),"detector"),eT=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("4950"),r.e("6832")]).then(r.bind(r,9827));return{id:ek,diagram:t}},"loader"),eB={id:ek,detector:ew,loader:eT},eS="eventmodeling",ev=(0,c.K)(t=>/^\s*eventmodeling/.test(t),"detector"),e_=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("6073")]).then(r.bind(r,944));return{id:eS,diagram:t}},"loader"),eF={id:eS,detector:ev,loader:e_},eA="ishikawa",eL=(0,c.K)(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),eM=(0,c.K)(async()=>{let{diagram:t}=await r.e("9729").then(r.bind(r,2840));return{id:eA,diagram:t}},"loader"),e$={id:eA,detector:eL,loader:eM},eE="venn",eO=(0,c.K)(t=>/^\s*venn-beta/.test(t),"detector"),eD=(0,c.K)(async()=>{let{diagram:t}=await r.e("3788").then(r.bind(r,3367));return{id:eE,diagram:t}},"loader"),eK={id:eE,detector:eO,loader:eD},eI="treemap",eq=(0,c.K)(t=>/^\s*treemap/.test(t),"detector"),eR=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("8927")]).then(r.bind(r,4738));return{id:eI,diagram:t}},"loader"),eP={id:eI,detector:eq,loader:eR},ez="usecase",eW=(0,c.K)(t=>/^\s*usecase-beta(?:\s|$)/.test(t),"detector"),eN=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("2107"),r.e("7472"),r.e("9956")]).then(r.bind(r,463));return{id:ez,diagram:t}},"loader"),ej={id:ez,detector:eW,loader:eN},eH="wardley",eU=(0,c.K)(t=>/^\s*wardley-beta/i.test(t),"detector"),eY=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("2881")]).then(r.bind(r,5448));return{id:eH,diagram:t}},"loader"),eG={id:eH,detector:eU,loader:eY},eX="cynefin",eZ=(0,c.K)(t=>/^\s*cynefin-beta(?:[\s:]|$)/.test(t),"detector"),eV=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("480")]).then(r.bind(r,7475));return{id:eX,diagram:t}},"loader"),eQ={id:eX,detector:eZ,loader:eV},eJ="railroad",e0=(0,c.K)(t=>/^\s*railroad-beta/i.test(t),"detector"),e1=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("8738"),r.e("4709")]).then(r.bind(r,6871));return{id:eJ,diagram:t}},"loader"),e2={id:eJ,detector:e0,loader:e1},e5="railroadEbnf",e3=(0,c.K)(t=>/^\s*railroad-ebnf-beta/i.test(t),"detector"),e4=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("8738"),r.e("9156")]).then(r.bind(r,5567));return{id:e5,diagram:t}},"loader"),e6={id:e5,detector:e3,loader:e4},e8="railroadAbnf",e7=(0,c.K)(t=>/^\s*railroad-abnf-beta/i.test(t),"detector"),e9=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("8738"),r.e("4551")]).then(r.bind(r,7034));return{id:e8,diagram:t}},"loader"),rt={id:e8,detector:e7,loader:e9},re="railroadPeg",rr=(0,c.K)(t=>/^\s*railroad-peg-beta/i.test(t),"detector"),ri=(0,c.K)(async()=>{let{diagram:t}=await Promise.all([r.e("4936"),r.e("8738"),r.e("2240")]).then(r.bind(r,8931));return{id:re,diagram:t}},"loader"),ro={id:re,detector:rr,loader:ri},ra=!1,rn=(0,c.K)(()=>{ra||(ra=!0,(0,l.Js)("error",tG,t=>"error"===t.toLowerCase().trim()),(0,l.Js)("---",{db:{clear:(0,c.K)(()=>{},"clear")},styles:{},renderer:{draw:(0,c.K)(()=>{},"draw")},parser:{parse:(0,c.K)(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:(0,c.K)(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),(0,l.Xd)(tQ,t6,eB),(0,l.Xd)(tt,U,et,tq,ta,tp,tm,tx,tL,tO,to,Z,t2,th,tW,tU,tw,eo,el,tv,ey,eF,eb,eu,e$,eP,e2,e6,rt,ro,eK,eG,eQ,ej))},"addDiagrams"),rs=(0,c.K)(async()=>{h.R.debug("Loading registered diagrams");let t=(await Promise.allSettled(Object.entries(l.mW).map(async([t,{detector:e,loader:r}])=>{if(r)try{(0,l.Gs)(t)}catch{try{let{diagram:t,id:i}=await r();(0,l.Js)(i,t,e)}catch(e){throw h.R.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete l.mW[t],e}}}))).filter(t=>"rejected"===t.status);if(t.length>0){for(let e of(h.R.error(`Failed to load ${t.length} external diagrams`),t))h.R.error(e);throw Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams");function rl(t,e){t.attr("role","graphics-document document"),""!==e&&t.attr("aria-roledescription",e)}function rh(t,e,r,i){if(void 0!==t.insert){if(r){let e=`chart-desc-${i}`;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(r)}if(e){let r=`chart-title-${i}`;t.attr("aria-labelledby",r),t.insert("title",":first-child").attr("id",r).text(e)}}}(0,c.K)(rl,"setA11yDiagramInfo"),(0,c.K)(rh,"addSVGa11yTitleDescription");var rc=class t{constructor(t,e,r,i,o){this.type=t,this.text=e,this.db=r,this.parser=i,this.renderer=o}static{(0,c.K)(this,"Diagram")}static async fromText(e,r={}){let i="string"==typeof e?{raw:e,cleaned:e}:e,o=(0,l.zj)(),a=(0,l.Ch)(i.cleaned,o);try{(0,l.Gs)(a)}catch{let t=(0,l.J$)(a);if(!t)throw new l.C0(`Diagram ${a} not found.`);let{id:e,diagram:r}=await t();(0,l.Js)(e,r)}let{db:n,parser:c,renderer:d,init:u}=(0,l.Gs)(a);c.parser&&(c.parser.yy=n),n.clear?.(),u?.(o),r.title&&n.setDiagramTitle?.(r.title);let p=i.cleaned;if(n.preserveCommentsWhenParsing&&i.withComments){let t=o.maxTextSize??l.UI.maxTextSize;i.withComments.length>t?h.R.warn(`Comment-preserving source exceeds maxTextSize (${i.withComments.length} > ${t}); parsing the comment-stripped text instead. Reported source positions will not account for comment lines.`):p=i.withComments}let g=(0,s.C4)(p)+"\n";return i.frontmatterLineOffset&&n.setFrontmatterLineOffset?.(i.frontmatterLineOffset),await c.parse(g),new t(a,g,n,c,d)}async render(t,e){await this.renderer.draw(this.text,t,e,this)}getParser(){return this.parser}getType(){return this.type}},rd=[],ru=(0,c.K)(()=>{rd.forEach(t=>{t()}),rd=[]},"attachFunctions"),rp=(0,c.K)(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function rg(t){let e=t.match(l.EJ);if(!e)return{text:t,metadata:{}};let r=e[1],i=r?e[2].split("\n").map(t=>t.startsWith(r)?t.slice(r.length):t).join("\n"):e[2],a=(0,o.H)(i,{schema:o.r})??{};a="object"!=typeof a||Array.isArray(a)?{}:a;let n={};return a.displayMode&&(n.displayMode=a.displayMode.toString()),a.title&&(n.title=a.title.toString()),a.config&&(n.config=a.config),{text:t.slice(e[0].length),metadata:n}}(0,c.K)(rg,"extractFrontMatter");var rf=(0,c.K)(t=>t.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,(t,e,r)=>"<"+e+r.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),ry=(0,c.K)(t=>{let{text:e,metadata:r}=rg(t),{displayMode:i,title:o,config:a={}}=r;return i&&(a.gantt||(a.gantt={}),a.gantt.displayMode=i),{title:o,config:a,text:e}},"processFrontmatter"),rm=(0,c.K)(t=>{let e=s._K.detectInit(t)??{},r=s._K.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:t})=>"wrap"===t):r?.type==="wrap"&&(e.wrap=!0),{text:(0,s.vU)(t),directive:e}},"processDirectives");function rx(t){let e=rf(t),r=ry(e),i=rm(r.text),o=(0,s.$t)(r.config,i.directive),a=i.text;return{code:{raw:t,cleaned:rp(a),withComments:a,frontmatterLineOffset:e.length>r.text.length?(e.substring(0,e.length-r.text.length).match(/\n/g)??[]).length:0},title:r.title,config:o}}function rC(t){return btoa(Array.from(new TextEncoder().encode(t),t=>String.fromCodePoint(t)).join(""))}(0,c.K)(rx,"preprocessDiagram"),(0,c.K)(rC,"toBase64");var rb=["foreignobject"],rk=["dominant-baseline"];function rw(t){let e,r=rx(t);(0,l.cL)();try{e=(0,l.Ch)(r.code.cleaned,(0,l.zj)())}catch{e=void 0}return(0,l.yj)(e),(0,l.xA)(r.config??{}),r}async function rT(t,e){rn();try{let{code:e,config:r}=rw(t);return{diagramType:(await rc.fromText(e)).type,config:r}}catch(t){if(e?.suppressErrors)return!1;throw t}finally{(0,l.yj)(void 0)}}(0,c.K)(rw,"processAndSetConfigs"),(0,c.K)(rT,"parse");var rB=(0,c.K)((t,e,r=[])=>{let i=(0,l.Df)(`{ ${r.join(" !important; ")} !important; }`);return`.${t} ${e} ${i}`},"cssImportantStyles"),rS=(0,c.K)((t,e=new Map)=>{let r=new CSSStyleSheet;if(void 0!==t.fontFamily&&r.insertRule(`:root { --mermaid-font-family: ${t.fontFamily}}`,r.cssRules.length),void 0!==t.altFontFamily&&r.insertRule(`:root { --mermaid-alt-font-family: ${t.altFontFamily}}`,r.cssRules.length),e instanceof Map){let i=(0,l.E)(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(t=>{H(t.styles)||i.forEach(e=>{r.insertRule(rB(t.id,e,t.styles),r.cssRules.length)}),H(t.textStyles)||r.insertRule(rB(t.id,"tspan",(t?.textStyles||[]).map(t=>t.replace("color","fill"))),r.cssRules.length)})}let i="";if(void 0!==t.themeCSS)if("function"==typeof r.replaceSync){let e=new CSSStyleSheet;e.replaceSync(t.themeCSS),i=(0,l.KG)(e)+"\n"}else i+=`${t.themeCSS} +`;return i+(0,l.KG)(r)},"createCssStyles"),rv=(0,c.K)((t,e)=>{var r,i,o,a,n;return S((o=function t(e,r,i,o,a,n,s,l,h){for(var c,d,u,g,f=0,y=0,m=s,x=0,S=0,v=0,A=1,P=1,z=1,W=0,N=0,j="",H=a,U=n,Y=o,G=j;P;)switch(v=N,N=O()){case 40:108!=v&&58==k(G,m-1)?(W++,G+="("):G+=I(N);break;case 41:W--,G+=")";break;case 34:case 39:case 91:G+=I(N);break;case 9:case 10:case 13:case 32:if(W>0){G+=C(N);break}G+=function(t){for(;M=D();)if(M<33)O();else break;return K(t)>2||K(M)>3?"":" "}(v);break;case 92:G+=function(t,e){for(var r;--e&&O()&&!(M<48)&&!(M>102)&&(!(M>57)||!(M<65))&&(!(M>70)||!(M<97)););return r=L+(e<6&&32==D()&&32==O()),w($,t,r)}(L-1,7);continue;case 47:switch(D()){case 42:case 47:B((c=function(t,e){for(;O();)if(t+M===57)break;else if(t+M===84&&47===D())break;return"/*"+w($,e,L-1)+"*"+C(47===t?t:O())}(O(),L),d=r,u=i,g=h,E(c,d,u,p,C(M),w(c,2,-2),0,g)),h),(5==K(v||1)||5==K(D()||1))&&T(G)&&" "!==w(G,-1,void 0)&&(G+=" ");break;default:G+="/"}break;case 123*A:l[f++]=T(G)*z;case 125*A:case 59:case 0:if(W>0&&N){G+=C(N);break}switch(N){case 0:case 125:P=0;case 59+y:-1==z&&(G=b(G,/\f/g,"")),S>0&&(T(G)-m||0===A)&&B(S>32?R(G+";",o,i,m-1,h):R(b(G," ","")+";",o,i,m-2,h),h);break;case 59:G+=";";default:if(B(Y=q(G,r,i,f,y,a,l,j,H=[],U=[],m,n),n),123===N)if(0===y)t(G,r,Y,Y,H,n,m,l,U);else{switch(x){case 99:if(110===k(G,3))break;case 108:if(97===k(G,2))break;default:y=0;case 100:case 109:case 115:}y?t(e,Y,Y,o&&B(q(e,Y,Y,0,0,a,l,j,a,H=[],m,U),U),a,U,m,l,o?H:U):t(G,Y,Y,Y,[""],U,0,l,U)}}f=y=S=0,A=z=1,j=G="",m=s;break;case 58:m=1+T(G),S=v;default:if(A<1){if(123==N)--A;else if(125==N&&0==A++&&125==(M=L>0?k($,--L):0,F--,10===M&&(F=1,_--),M))continue}switch(G+=C(N),N*A){case 38:z=y>0?1:(G+="\f",-1);break;case 44:if(W>0)break;l[f++]=(T(G)-1)*z,z=1;break;case 64:45===D()&&(G+=I(O())),x=D(),y=m=T(j=G+=function(t){for(;!K(D());)O();return w($,t,L)}(L)),N++;break;case 45:45===v&&2==T(G)&&(A=0)}}return n}("",null,null,null,[""],(i=r=`${t}{${e}}`,_=F=1,A=T($=i),L=0,r=[]),0,[0],r),$="",o),(n=(a=[(0,c.K)(function(e,r,i,o){"rule"===e.type&&Array.isArray(e.props)?e.parent&&e.parent.type===y||(e.props=e.props.map(r=>r===t&&Array.isArray(e.children)&&e.children.every(t=>"decl"===t.type&&new Set(["font-family","font-size","fill"]).has(t.props))||(r.startsWith(`${t} `)||r.startsWith(`${t}>`))&&!r.startsWith(`${t} ||`)?r:`${t} ${r}`)):e.type.startsWith("@")&&(["@media","@supports",m,"@scope","@container","@starting-style",y].includes(e.type)||(h.R.warn(`Removing unsupported at-rule ${e.type} from CSS`),e.type=p))},"addNamespace"),v]).length,function(t,e,r,i){for(var o="",s=0;s<n;s++)o+=a[s](t,e,r,i)||"";return o}))},"compileCSS"),r_=(0,c.K)((t,e,r,i)=>{let o=rS(t,r),a=(0,l.tM)(e,o,{...t.themeVariables,theme:t.theme,look:t.look},i);return rv(i,a)},"createUserStyles"),rF=(0,c.K)((t="",e,r)=>{let i=t;return r||e||(i=i.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),i=(i=(0,s.Sm)(i)).replace(/<br>/g,"<br/>")},"cleanUpSvgCode"),rA=(0,c.K)((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":"100%",i=rC(`<body style="margin:0">${t}</body>`);return`<iframe style="width:100%;height:${r};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${i}" sandbox="allow-top-navigation-by-user-activation allow-popups"> + The "iframe" tag is not supported by your browser. +</iframe>`},"putIntoIFrame"),rL=(0,c.K)((t,e,r,i,o)=>{let a=t.append("div");a.attr("id",r),i&&a.attr("style",i);let n=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return o&&n.attr("xmlns:xlink",o),n.append("g"),t},"appendDivSvgG");function rM(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}(0,c.K)(rM,"sandboxedIframe");var r$=(0,c.K)((t,e,r,i)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(i)?.remove()},"removeExistingElements"),rE=(0,c.K)(async function(t,e,r){let i,o;rn();let a=rw(e),n=a.code;e=n.cleaned;let s=(0,l.zj)();h.R.debug(s),e.length>(s?.maxTextSize??5e4)&&(n={raw:e="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",cleaned:e});let d=`#${t}`,p="i"+t,g="#"+p,f="d"+t,y="#"+f,m=(0,c.K)(()=>{let t=C?g:y,e=(0,u.Ltv)(t).node();e&&"remove"in e&&e.remove()},"removeTempElements"),x=(0,u.Ltv)(document.body),C="sandbox"===s.securityLevel,b="loose"===s.securityLevel,k=s.fontFamily;if(void 0!==r){if(r&&(r.innerHTML=""),C){let t=rM((0,u.Ltv)(r),p);(x=(0,u.Ltv)(t.nodes()[0].contentDocument.body)).node().style.margin="0"}else x=(0,u.Ltv)(r);rL(x,t,f,`font-family: ${k}`,"http://www.w3.org/1999/xlink")}else{if(r$(document,t,f,p),C){let t=rM((0,u.Ltv)(document.body),p);(x=(0,u.Ltv)(t.nodes()[0].contentDocument.body)).node().style.margin="0"}else x=(0,u.Ltv)("body");rL(x,t,f)}try{i=await rc.fromText(n,{title:a.title})}catch(t){if(s.suppressErrorRendering)throw m(),t;i=await rc.fromText("error"),o=t}let w=x.select(y).node(),T=i.type,B=w.firstChild,S=B.firstChild,v=r_(s,T,i.renderer.getClasses?.(e,i),d),_=document.createElement("style");_.innerHTML=v,B.insertBefore(_,S);try{await i.renderer.draw(e,t,"12.0.0",i)}catch(r){throw s.suppressErrorRendering?m():tY.draw(e,t,"12.0.0"),r}rI(T,x.select(`${y} svg`),i.db.getAccTitle?.(),i.db.getAccDescription?.());let F=(0,c.K)(()=>{x.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let e=x.select(y).node().innerHTML;return h.R.debug("config.arrowMarkerAbsolute",s.arrowMarkerAbsolute),e=rF(e,C,(0,l._3)(s.arrowMarkerAbsolute)),C?e=rA(e,x.select(y+" svg").node()):b||(e=P.A.sanitize(e,{ADD_TAGS:rb,ADD_ATTR:rk,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),ru(),e},"serializeSvg")();if(o)throw o;return m(),{diagramType:T,svg:F,bindFunctions:i.db.bindFunctions}},"renderDiagram"),rO=(0,c.K)(async function(t,e,r){try{return await rE(t,e,r)}finally{(0,l.yj)(void 0)}},"render");function rD(t={}){let e=(0,l.hH)({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),(0,l.wZ)(e);let r=l.sb.theme;e?.theme&&Object.hasOwn(l.H$,e.theme)?e.themeVariables=l.H$[e.theme].getThemeVariables(e.themeVariables):e&&(null!=e.theme&&"null"!==e.theme&&(e.theme=r),e.themeVariables=l.H$[r].getThemeVariables(e.themeVariables));let i="object"==typeof e?(0,l.UU)(e):(0,l.Q2)();(0,h.H)(i.logLevel),rn()}(0,c.K)(rD,"initialize");var rK=(0,c.K)((t,e={})=>{let{code:r}=rx(t);return rc.fromText(r,e)},"getDiagramFromText");function rI(t,e,r,i){rl(e,t),rh(e,r,i,e.attr("id"))}(0,c.K)(rI,"addA11yInfo");var rq=Object.freeze({render:rO,parse:rT,getDiagramFromText:rK,initialize:rD,getConfig:l.zj,setConfig:l.Nk,getSiteConfig:l.Q2,updateSiteConfig:l.B6,reset:(0,c.K)(()=>{(0,l.cL)()},"reset"),globalReset:(0,c.K)(()=>{(0,l.cL)(l.sb)},"globalReset"),defaultConfig:l.sb});(0,h.H)((0,l.zj)().logLevel),(0,l.cL)((0,l.zj)());var rR=(0,c.K)((t,e,r)=>{h.R.warn(t),(0,s.dq)(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),rP=(0,c.K)(async function(t={querySelector:".mermaid"}){try{await rz(t)}catch(e){if((0,s.dq)(e)&&h.R.error(e.str),rJ.parseError&&rJ.parseError(e),!t.suppressErrors)throw h.R.error("Use the suppressErrors option to suppress these errors"),e}},"run"),rz=(0,c.K)(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let i,o,a=rq.getConfig();if(h.R.debug(`${!t?"No ":""}Callback function found`),r)i=r;else if(e)i=document.querySelectorAll(e);else throw Error("Nodes and querySelector are both undefined");h.R.debug(`Found ${i.length} diagrams`),a?.startOnLoad!==void 0&&(h.R.debug("Start On Load: "+a?.startOnLoad),rq.updateSiteConfig({startOnLoad:a?.startOnLoad}));let n=new s._K.InitIDGenerator(a.deterministicIds,a.deterministicIDSeed),l=[];for(let e of Array.from(i)){if(h.R.info("Rendering diagram: "+e.id),e.getAttribute("data-processed"))continue;e.setAttribute("data-processed","true");let r=`mermaid-${n.next()}`;o=e.innerHTML,o=(0,d.T)(s._K.entityDecode(o)).trim().replace(/<br\s*\/?>/gi,"<br/>");let i=s._K.detectInit(o);i&&h.R.debug("Detected early reinit: ",i);try{let{svg:i,bindFunctions:a}=await rV(r,o,e);e.innerHTML=i,t&&await t(r),a&&a(e)}catch(t){rR(t,l,rJ.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),rW=(0,c.K)(function(t){rq.initialize(t)},"initialize"),rN=(0,c.K)(async function(t,e,r){h.R.warn("mermaid.init is deprecated. Please use run instead."),t&&rW(t);let i={postRenderCallback:r,querySelector:".mermaid"};"string"==typeof e?i.querySelector=e:e&&(e instanceof HTMLElement?i.nodes=[e]:i.nodes=e),await rP(i)},"init"),rj=(0,c.K)(async(t,{lazyLoad:e=!0}={})=>{rn(),(0,l.Xd)(...t),!1===e&&await rs()},"registerExternalDiagrams"),rH=(0,c.K)(function(){if(rJ.startOnLoad){let{startOnLoad:t}=rq.getConfig();t&&rJ.run().catch(t=>h.R.error("Mermaid failed to initialize",t))}},"contentLoaded");"u">typeof document&&window.addEventListener("load",rH,!1);var rU=(0,c.K)(function(t){rJ.parseError=t},"setParseErrorHandler"),rY=[],rG=!1,rX=(0,c.K)(async()=>{if(!rG){for(rG=!0;rY.length>0;){let t=rY.shift();if(t)try{await t()}catch(t){h.R.error("Error executing queue",t)}}rG=!1}},"executeQueue"),rZ=(0,c.K)(async(t,e)=>new Promise((r,i)=>{let o=(0,c.K)(()=>new Promise((o,a)=>{rq.parse(t,e).then(t=>{o(t),r(t)},t=>{h.R.error("Error parsing",t),rJ.parseError?.(t),a(t),i(t)})}),"performCall");rY.push(o),rX().catch(i)}),"parse"),rV=(0,c.K)((t,e,r)=>new Promise((i,o)=>{let a=(0,c.K)(()=>new Promise((a,n)=>{rq.render(t,e,r).then(t=>{a(t),i(t)},t=>{h.R.error("Error parsing",t),rJ.parseError?.(t),n(t),o(t)})}),"performCall");rY.push(a),rX().catch(o)}),"render"),rQ=(0,c.K)(()=>Object.keys(l.mW).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),rJ={startOnLoad:!0,mermaidAPI:rq,parse:rZ,render:rV,init:rN,run:rP,registerExternalDiagrams:rj,registerLayoutLoaders:a.sO,initialize:rW,parseError:void 0,contentLoaded:rH,setParseErrorHandler:rU,detectType:l.Ch,registerIconPacks:n.pC,getRegisteredDiagramsMetadata:rQ},r0=rJ},8908(t,e,r){"use strict";function i(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var i=Array.from("string"==typeof t?[t]:t);i[i.length-1]=i[i.length-1].replace(/\r?\n([\t ]*)$/,"");var o=i.reduce(function(t,e){var r=e.match(/\n([\t ]+|(?!\s).)/g);return r?t.concat(r.map(function(t){var e,r;return null!=(r=null==(e=t.match(/[\t ]/g))?void 0:e.length)?r:0})):t},[]);if(o.length){var a=RegExp("\n[ ]{".concat(Math.min.apply(Math,o),"}"),"g");i=i.map(function(t){return t.replace(a,"\n")})}i[0]=i[0].replace(/^\r?\n/,"");var n=i[0];return e.forEach(function(t,e){var r=n.match(/(?:^|\n)( *)$/),o=r?r[1]:"",a=t;"string"==typeof t&&t.includes("\n")&&(a=String(t).split("\n").map(function(t,e){return 0===e?t:"".concat(o).concat(t)}).join("\n")),n+=a+i[e+1]}),n}r.d(e,{T:()=>i})}}]); \ No newline at end of file diff --git a/en/assets/js/136d9fb6.e7c4760d.js b/en/assets/js/136d9fb6.e7c4760d.js new file mode 100644 index 0000000..a91c8de --- /dev/null +++ b/en/assets/js/136d9fb6.e7c4760d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9901"],{9216(e){e.exports=JSON.parse('{"tag":{"label":"\u8D77\u6E90\u4E0E\u80CC\u666F","permalink":"/SqlParserX/en/blog/tags/origin","description":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u4E0E\u5185\u90E8\u6539\u9020\u5386\u7A0B","allTagsPath":"/SqlParserX/en/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/SqlParserX/en/blog/tags/origin","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/en/assets/js/1491.cb46ae3f.js b/en/assets/js/1491.cb46ae3f.js new file mode 100644 index 0000000..49b05a8 --- /dev/null +++ b/en/assets/js/1491.cb46ae3f.js @@ -0,0 +1,27 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1491"],{5350(e,t,i){i.d(t,{m:()=>n});var r=i(6827),n=class{constructor(e){this.init=e,this.records=this.init()}static{(0,r.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},7454(e,t,i){function r(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}i.d(t,{S:()=>r}),(0,i(6827).K)(r,"populateCommonDb")},4638(e,t,i){i.d(t,{diagram:()=>j});var r=i(5350),n=i(7454),o=i(4924),s=i(2217),a=i(6348),l=i(1177),d=i(1293),c=i(6827),h=i(8731),p=/[\u2500\u2501\u2502\u2503\u2514\u2517\u251c\u2523]/,f=/[\u2514\u2517\u251c\u2523]/,g=/[\u2500\u2501]/,u=/^[\s\u2502\u2503]+$/,w=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,x=/^\s*%%/;function m(e){return e.some(e=>p.test(e))}function b(e){for(let t of e){let e=f.exec(t);if(e?.index&&e.index>0)return e.index}return 4}function y(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,i)=>{let r=parseInt(i,10),n=t.get(r);return n?`line ${n}`:e})}function $(e){let t=e.split("\n"),i=new Map,r=-1;for(let[e,i]of t.entries())if("treeView-beta"===i.trim()){r=e;break}if(-1===r)return{text:e,lineMap:i};let n=[];for(let e=r+1;e<t.length;e++){let i=t[e];!(""===i.trim()||x.test(i)||w.test(i))&&(u.test(i)||n.push(i.replace(/\t/g," ")))}if(!m(n))return{text:e,lineMap:i};let o=b(n),s=[],a=0;for(let e=0;e<=r;e++)s.push(t[e]),a++,i.set(a,e+1);for(let e=r+1;e<t.length;e++){let r=t[e],n=r.trim(),l=e+1;if(""===n||x.test(r)||w.test(r)){s.push(r),a++,i.set(a,l);continue}if(u.test(r))continue;let d=r.replace(/\t/g," "),c=f.exec(d);if(c?.index!==void 0){let e=c.index,t=Math.round(e/o)+1,r=e+1;for(;r<d.length&&g.test(d[r]);)r++;for(;r<d.length&&" "===d[r];)r++;let n=d.slice(r).trimEnd();if(!n)throw Error(`Line ${l}: Empty node \u2014 expected a filename or directory name after the box-drawing prefix`);let h=" ".repeat(t);s.push(h+n),a++,i.set(a,l)}else if(/^[\s\u2500\u2501\u2502\u2503\u2514\u2517\u251c\u2523]+$/.test(d))continue;else if(p.test(d))s.push(r),a++,i.set(a,l);else if(/^\s+/.test(d))throw Error(`Line ${l}: Unexpected indentation without box-drawing characters. In box-drawing format, use \u251C\u2500\u2500 or \u2514\u2500\u2500 prefixes for indented nodes.`);else s.push(r),a++,i.set(a,l)}return{text:s.join("\n"),lineMap:i}}(0,c.K)(m,"isBoxDrawingFormat"),(0,c.K)(b,"inferSegmentWidth"),(0,c.K)(y,"remapErrorLines"),(0,c.K)($,"preprocessBoxDrawing");var k=new r.m(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),K=(0,c.K)(()=>{k.reset(),(0,l.IU)()},"clear"),v=(0,c.K)(()=>k.records.stack[0],"getRoot"),V=(0,c.K)(()=>k.records.cnt,"getCount"),B=l.UI.treeView,C=(0,c.K)(()=>(0,a.$t)(B,(0,l.zj)().treeView),"getConfig"),I={clear:K,addNode:(0,c.K)((e,t,i,r,n,o)=>{for(;e<=k.records.stack[k.records.stack.length-1].level;)k.records.stack.pop();let s={id:k.records.cnt++,level:e,name:t,nodeType:i,icon:n,cssClass:r,description:o,children:[]};k.records.stack[k.records.stack.length-1].children.push(s),k.records.stack.push(s)},"addNode"),getRoot:v,getCount:V,getConfig:C,getAccTitle:l.iN,getAccDescription:l.m7,getDiagramTitle:l.ab,setAccDescription:l.EI,setAccTitle:l.SV,setDiagramTitle:l.ke},T=(0,c.K)(e=>{for(let t of((0,n.S)(e,I),e.nodes)){let e="number"==typeof t.indent?t.indent:0,i=t.name,r=i.endsWith("/");r&&(i=i.slice(0,-1));let n=r?"directory":"file",o=t.classAnnotation||void 0,s=t.iconAnnotation,a=void 0!==s?s||"none":void 0,d=t.descAnnotation||void 0,c=d?(0,l.jZ)(d,(0,l.zj)()):void 0;I.addNode(e,i,n,o,a,c)}},"populate"),D={parse:(0,c.K)(async e=>{let{text:t,lineMap:i}=$(e);try{let e=await (0,h.qg)("treeView",t);d.R.debug(e),T(e)}catch(e){throw i.size>0&&e instanceof Error&&(e.message=y(e.message,i)),e}},"parse")},A={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function E(e,t){let i=t?.filenameIcons?.[e];if(i)return i;let r=e.lastIndexOf(".");if(r>0){let i=e.substring(r).toLowerCase(),n=t?.extensionIcons;return n?.[i]??n?.[i.slice(1)]}}function M(e,t){return e.includes(":")?e:e in A.icons||!t?`${A.prefix}:${e}`:`${t}:${e}`}function N(e,t){if("none"!==e.icon){if(e.icon)return M(e.icon,t.defaultIconPack);if(t.showIcons){if("file"===e.nodeType){let i=E(e.name,t);if("none"===i)return;if(i)return M(i,t.defaultIconPack)}return`${A.prefix}:${"directory"===e.nodeType?"folder":"file"}`}}}(0,c.K)(E,"detectIcon"),(0,c.K)(M,"qualifyIcon"),(0,c.K)(N,"getNodeIcon"),(0,s.pC)([{name:A.prefix,icons:A}]);var z=(0,c.K)(async(e,t)=>{let i=[],r=(0,c.K)(e=>{let n=N(e,t);n&&i.push({icon:n,node:e}),e.children.forEach(r)},"collect");return r(e),new Map((await Promise.all(i.map(async({icon:e,node:t})=>({id:t.id,svg:await (0,s.WY)(e,{height:14,width:14})})))).map(({id:e,svg:t})=>[e,t]))},"resolveNodeIcons"),S=(0,c.K)((e,t,i,r,n,o)=>{let s=r.append("g"),a="treeView-node-label";"directory"===i.nodeType&&(a+=" treeView-node-dir"),i.cssClass&&(a+=` ${i.cssClass}`);let l=N(i,n),d=void 0!==l;l&&s.append("g").attr("class","treeView-node-icon").attr("transform",`translate(${e+n.paddingX}, ${t+n.paddingY})`).html(o.get(i.id)??"");let c=s.append("text").text(i.name).attr("dominant-baseline","middle").attr("class",a),{height:h,width:p}=c.node().getBBox(),f=h+2*n.paddingY,g=e+n.paddingX+18*!!d;c.attr("x",g),c.attr("y",t+f/2);let u=g+p;return i.BBox={x:e,y:t,width:p+2*n.paddingX+18*!!d,height:f},i.cssClass?.split(/\s+/).includes("highlight")&&s.insert("rect",":first-child").attr("x",e).attr("y",t+1).attr("width",0).attr("height",f-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:i,nodeGroup:s,labelRightEdge:u,centerY:t+f/2}},"positionLabel"),X=(0,c.K)((e,t,i,r,n,o)=>e.append("line").attr("x1",t).attr("y1",i).attr("x2",r).attr("y2",n).attr("stroke-width",o).attr("class","treeView-node-line"),"positionLine"),L=(0,c.K)((e,t,i,r)=>{let n=0,o=0,s=[],a=(0,c.K)((e,t,i,a)=>{let l=a*(i.rowIndent+i.paddingX),d=S(l,n,t,e,i,r);s.push(d);let{height:c,width:h}=t.BBox;X(e,l-i.rowIndent,n+c/2,l,n+c/2,i.lineThickness),o=Math.max(o,l+h),n+=c},"drawNode"),l=(0,c.K)((t,r=0)=>{a(e,t,i,r),t.children.forEach(e=>{l(e,r+1)});let{x:n,y:o,height:s}=t.BBox;if(t.children.length){let{y:r,height:a}=t.children[t.children.length-1].BBox;X(e,n+i.paddingX,o+s,n+i.paddingX,r+a/2+i.lineThickness/2,i.lineThickness)}},"processNode");l(t);let d=s.filter(e=>e.node.description);if(d.length>0){let e=Math.max(...s.map(e=>e.labelRightEdge))+16;for(let t of d){let r=t.nodeGroup.append("text").text(t.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",e).attr("y",t.centerY).node().getBBox();o=Math.max(o,e+r.width+i.paddingX)}}for(let e of s)if(e.node.cssClass?.split(/\s+/).includes("highlight")){let t=e.nodeGroup.select(".treeView-highlight-bg");if(!t.empty()){let i=o-e.node.BBox.x+8;t.attr("width",i),o=Math.max(o,e.node.BBox.x+i+2)}}return{totalHeight:n,totalWidth:o}},"drawTree"),R=(0,c.K)(async(e,t,i,r)=>{d.R.debug("Rendering treeView diagram\n"+e);let n=r.db,s=n.getRoot(),a=n.getConfig(),c=(0,o.D)(t),h=c.append("g");h.attr("class","tree-view");let p=await z(s,a),{totalHeight:f,totalWidth:g}=L(h,s,a,p);c.attr("viewBox",`-${a.lineThickness/2} 0 ${g} ${f}`),(0,l.a$)(c,f,g,a.useMaxWidth)},"draw"),Y={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},j={db:I,renderer:{draw:R},parser:D,styles:(0,c.K)(({treeView:e})=>{let{labelFontSize:t,labelColor:i,lineColor:r,iconColor:n,descriptionColor:o,highlightBg:s,highlightStroke:l}=(0,a.$t)(Y,e);return` + .treeView-node-label { + font-size: ${t}; + fill: ${i}; + white-space: pre; + } + .treeView-node-dir { + font-weight: bold; + } + .treeView-node-line { + stroke: ${r}; + } + .treeView-node-icon { + color: ${n}; + } + .treeView-node-description { + font-size: ${t}; + fill: ${o}; + font-style: italic; + white-space: pre; + } + .treeView-highlight-bg { + fill: ${s}; + stroke: ${l}; + stroke-width: 1; + } + `},"styles")}}}]); \ No newline at end of file diff --git a/en/assets/js/1567.9f44ced9.js b/en/assets/js/1567.9f44ced9.js new file mode 100644 index 0000000..ea9e6ad --- /dev/null +++ b/en/assets/js/1567.9f44ced9.js @@ -0,0 +1,8 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1567"],{5698(e,r,t){t.d(r,{diagram:()=>l});var s=t(8312);t(4918),t(6755),t(5869),t(841),t(2391),t(3247),t(2735),t(5616),t(6163),t(7827),t(3002),t(739),t(6320),t(2217),t(2941),t(6348),t(1177),t(1293);var a=(0,t(6827).K)(e=>`${(0,s.tM)(e)} + .swimlane.cluster:not([data-color-id]) rect { + stroke: ${e.clusterBorder} !important; + } + [data-look="neo"].cluster rect { + filter: none; + } +`,"getStyles"),l=(0,s.ur)({styles:a})}}]); \ No newline at end of file diff --git a/en/assets/js/17896441.06353295.js b/en/assets/js/17896441.06353295.js new file mode 100644 index 0000000..f6c2b41 --- /dev/null +++ b/en/assets/js/17896441.06353295.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["106"],{1250(e,n,t){t.d(n,{A:()=>c});var s=t(4848);t(6540);var i=t(4164),r=t(3276),l=t(8287),a=t(7444);function o({className:e}){return(0,s.jsx)(a.A,{type:"caution",title:(0,s.jsx)(r.Rc,{}),className:(0,i.A)(e,l.G.common.unlistedBanner),children:(0,s.jsx)(r.Uh,{})})}function c(e){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.AE,{}),(0,s.jsx)(o,{...e})]})}},7502(e,n,t){t.d(n,{A:()=>d});var s=t(4848);t(6540);var i=t(4164),r=t(3276),l=t(8287),a=t(7444);function o({className:e}){return(0,s.jsx)(a.A,{type:"caution",title:(0,s.jsx)(r.Yh,{}),className:(0,i.A)(e,l.G.common.draftBanner),children:(0,s.jsx)(r.TT,{})})}var c=t(1250);function d({metadata:e}){let{unlisted:n,frontMatter:t}=e;return(0,s.jsxs)(s.Fragment,{children:[(n||t.unlisted)&&(0,s.jsx)(c.A,{}),t.draft&&(0,s.jsx)(o,{})]})}},280(e,n,t){t.r(n),t.d(n,{default:()=>ee});var s=t(4848),i=t(6540),r=t(4308),l=t(2260);let a=i.createContext(null);function o({children:e,content:n}){let t=(0,i.useMemo)(()=>({metadata:n.metadata,frontMatter:n.frontMatter,assets:n.assets,contentTitle:n.contentTitle,toc:n.toc}),[n]);return(0,s.jsx)(a.Provider,{value:t,children:e})}function c(){let e=(0,i.useContext)(a);if(null===e)throw new l.dV("DocProvider");return e}function d(){let{metadata:e,frontMatter:n,assets:t}=c();return(0,s.jsx)(r.be,{title:e.title,description:e.description,keywords:n.keywords,image:t.image??n.image})}var u=t(4164),h=t(3741),m=t(568),b=t(7174);function x(e){let{className:n,previous:t,next:i}=e;return(0,s.jsxs)("nav",{className:(0,u.A)(n,"pagination-nav"),"aria-label":(0,m.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,s.jsx)(b.A,{...t,subLabel:(0,s.jsx)(m.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),i&&(0,s.jsx)(b.A,{...i,subLabel:(0,s.jsx)(m.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function v(){let{metadata:e}=c();return(0,s.jsx)(x,{className:"docusaurus-mt-lg",previous:e.previous,next:e.next})}var f=t(898),j=t(5310),p=t(698),g=t(8287),A=t(2086),N=t(921);let _={unreleased:function({siteTitle:e,versionMetadata:n}){return(0,s.jsx)(m.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:e,versionLabel:(0,s.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function({siteTitle:e,versionMetadata:n}){return(0,s.jsx)(m.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:e,versionLabel:(0,s.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function L(e){let n=_[e.versionMetadata.banner];return(0,s.jsx)(n,{...e})}function T({versionLabel:e,to:n,onClick:t}){return(0,s.jsx)(m.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:e,latestVersionLink:(0,s.jsx)("b",{children:(0,s.jsx)(j.A,{to:n,onClick:t,children:(0,s.jsx)(m.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function k({className:e,versionMetadata:n}){let{siteConfig:{title:t}}=(0,f.A)(),{pluginId:i}=(0,p.vT)({failfast:!0}),{savePreferredVersionName:r}=(0,A.g1)(i),{latestDocSuggestion:l,latestVersionSuggestion:a}=(0,p.HW)(i),o=l??a.docs.find(e=>e.id===a.mainDocId);return(0,s.jsxs)("div",{className:(0,u.A)(e,g.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,s.jsx)("div",{children:(0,s.jsx)(L,{siteTitle:t,versionMetadata:n})}),(0,s.jsx)("div",{className:"margin-top--md",children:(0,s.jsx)(T,{versionLabel:a.label,to:o.path,onClick:()=>r(a.name)})})]})}function C({className:e}){let n=(0,N.r)();return n.banner?(0,s.jsx)(k,{className:e,versionMetadata:n}):null}function y({className:e}){let n=(0,N.r)();return n.badge?(0,s.jsx)("span",{className:(0,u.A)(e,g.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,s.jsx)(m.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}var w=t(4999),B=t(7410);function E(){let{metadata:e}=c(),{editUrl:n,lastUpdatedAt:t,lastUpdatedBy:i,tags:r}=e,l=r.length>0,a=!!(n||t||i);return l||a?(0,s.jsxs)("footer",{className:(0,u.A)(g.G.docs.docFooter,"docusaurus-mt-lg"),children:[l&&(0,s.jsx)("div",{className:(0,u.A)("row margin-top--sm",g.G.docs.docFooterTagsRow),children:(0,s.jsx)("div",{className:"col",children:(0,s.jsx)(w.A,{tags:r})})}),a&&(0,s.jsx)(B.A,{className:(0,u.A)("margin-top--sm",g.G.docs.docFooterEditMetaRow),editUrl:n,lastUpdatedAt:t,lastUpdatedBy:i})]}):null}var H=t(9510),M=t(254);function V({collapsed:e,...n}){return(0,s.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn","tocCollapsibleButton_TO0P",!e&&"tocCollapsibleButtonExpanded_MG3E",n.className),children:(0,s.jsx)(m.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}function I({toc:e,className:n,minHeadingLevel:t,maxHeadingLevel:i}){let{collapsed:r,toggleCollapsed:l}=(0,H.u)({initialState:!0});return(0,s.jsxs)("div",{className:(0,u.A)("tocCollapsible_ETCw",!r&&"tocCollapsibleExpanded_sAul",n),children:[(0,s.jsx)(V,{collapsed:r,onClick:l}),(0,s.jsx)(H.N,{lazy:!0,className:"tocCollapsibleContent_vkbj",collapsed:r,children:(0,s.jsx)(M.A,{toc:e,minHeadingLevel:t,maxHeadingLevel:i})})]})}function O(){let{toc:e,frontMatter:n}=c();return(0,s.jsx)(I,{toc:e,minHeadingLevel:n.toc_min_heading_level,maxHeadingLevel:n.toc_max_heading_level,className:(0,u.A)(g.G.docs.docTocMobile,"tocMobile_ITEo")})}var G=t(3242);function R(){let{toc:e,frontMatter:n}=c();return(0,s.jsx)(G.A,{toc:e,minHeadingLevel:n.toc_min_heading_level,maxHeadingLevel:n.toc_max_heading_level,className:g.G.docs.docTocDesktop})}var F=t(2072),U=t(4743);function D({children:e}){let n=function(){let{metadata:e,frontMatter:n,contentTitle:t}=c();return n.hide_title||void 0!==t?null:e.title}();return(0,s.jsxs)("div",{className:(0,u.A)(g.G.docs.docMarkdown,"markdown"),children:[n&&(0,s.jsx)("header",{children:(0,s.jsx)(F.A,{as:"h1",children:n})}),(0,s.jsx)(U.A,{children:e})]})}var S=t(8260),q=t(9209),$=t(6497);function z(e){return(0,s.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,s.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}function P(){let e=(0,$.Ay)("/");return(0,s.jsx)("li",{className:"breadcrumbs__item",children:(0,s.jsx)(j.A,{"aria-label":(0,m.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,s.jsx)(z,{className:"breadcrumbHomeIcon_YNFT"})})})}var Y=t(3572);function J(e){let n=function({breadcrumbs:e}){let{siteConfig:n}=(0,f.A)();return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:e.filter(e=>e.href).map((e,t)=>({"@type":"ListItem",position:t+1,name:e.label,item:`${n.url}${e.href}`}))}}({breadcrumbs:e.breadcrumbs});return(0,s.jsx)(Y.A,{children:(0,s.jsx)("script",{type:"application/ld+json",children:JSON.stringify(n)})})}function W({children:e,href:n,isLast:t}){let i="breadcrumbs__link";return t?(0,s.jsx)("span",{className:i,children:e}):n?(0,s.jsx)(j.A,{className:i,href:n,children:(0,s.jsx)("span",{children:e})}):(0,s.jsx)("span",{className:i,children:e})}function Z({children:e,active:n}){return(0,s.jsx)("li",{className:(0,u.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:e})}function K(){let e=(0,S.OF)(),n=(0,q.Dt)();return e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(J,{breadcrumbs:e}),(0,s.jsx)("nav",{className:(0,u.A)(g.G.docs.docBreadcrumbs,"breadcrumbsContainer_Z_bl"),"aria-label":(0,m.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,s.jsxs)("ul",{className:"breadcrumbs",children:[n&&(0,s.jsx)(P,{}),e.map((n,t)=>{let i=t===e.length-1,r="category"===n.type&&n.linkUnlisted?void 0:n.href;return(0,s.jsx)(Z,{active:i,children:(0,s.jsx)(W,{href:r,isLast:i,children:n.label})},t)})]})})]}):null}var Q=t(7502);function X({children:e}){let n=function(){let{frontMatter:e,toc:n}=c(),t=(0,h.l)(),i=e.hide_table_of_contents,r=!i&&n.length>0;return{hidden:i,mobile:r?(0,s.jsx)(O,{}):void 0,desktop:r&&("desktop"===t||"ssr"===t)?(0,s.jsx)(R,{}):void 0}}(),{metadata:t}=c();return(0,s.jsxs)("div",{className:"row",children:[(0,s.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&"docItemCol_VOVn"),children:[(0,s.jsx)(Q.A,{metadata:t}),(0,s.jsx)(C,{}),(0,s.jsxs)("div",{className:"docItemContainer_Djhp",children:[(0,s.jsxs)("article",{children:[(0,s.jsx)(K,{}),(0,s.jsx)(y,{}),n.mobile,(0,s.jsx)(D,{children:e}),(0,s.jsx)(E,{})]}),(0,s.jsx)(v,{})]})]}),n.desktop&&(0,s.jsx)("div",{className:"col col--3",children:n.desktop})]})}function ee(e){let n=`docs-doc-id-${e.content.metadata.id}`,t=e.content;return(0,s.jsx)(o,{content:e.content,children:(0,s.jsxs)(r.e3,{className:n,children:[(0,s.jsx)(d,{}),(0,s.jsx)(X,{children:(0,s.jsx)(t,{})})]})})}},3242(e,n,t){t.d(n,{A:()=>l});var s=t(4848);t(6540);var i=t(4164),r=t(254);function l({className:e,...n}){return(0,s.jsx)("div",{className:(0,i.A)("tableOfContents_bqdL","thin-scrollbar",e),children:(0,s.jsx)(r.A,{...n,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},254(e,n,t){t.d(n,{A:()=>c});var s=t(4848),i=t(6540),r=t(1022);function l(e){let n=e.getBoundingClientRect();return n.top===n.bottom?l(e.parentNode):n}var a=t(5310);let o=i.memo(function e({toc:n,className:t,linkClassName:i,isChild:r}){return n.length?(0,s.jsx)("ul",{className:r?void 0:t,children:n.map(n=>(0,s.jsxs)("li",{children:[(0,s.jsx)(a.A,{to:`#${n.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:n.value}}),(0,s.jsx)(e,{isChild:!0,toc:n.children,className:t,linkClassName:i})]},n.id))}):null});function c({toc:e,className:n="table-of-contents table-of-contents__left-border",linkClassName:t="table-of-contents__link",linkActiveClassName:a,minHeadingLevel:d,maxHeadingLevel:u,...h}){var m;let b,x,v=(0,r.p)(),f=d??v.tableOfContents.minHeadingLevel,j=u??v.tableOfContents.maxHeadingLevel,p=function({toc:e,minHeadingLevel:n,maxHeadingLevel:t}){return(0,i.useMemo)(()=>{let s,i,r;return function e({toc:n,minHeadingLevel:t,maxHeadingLevel:s}){return n.flatMap(n=>{let i=e({toc:n.children,minHeadingLevel:t,maxHeadingLevel:s});return n.level>=t&&n.level<=s?[{...n,children:i}]:i})}({toc:(s=e.map(e=>({...e,parentIndex:-1,children:[]})),i=Array(7).fill(-1),s.forEach((e,n)=>{let t=i.slice(2,e.level);e.parentIndex=Math.max(...t),i[e.level]=n}),r=[],s.forEach(e=>{let{parentIndex:n,...t}=e;n>=0?s[n].children.push(t):r.push(t)}),r),minHeadingLevel:n,maxHeadingLevel:t})},[e,n,t])}({toc:e,minHeadingLevel:f,maxHeadingLevel:j});return m=(0,i.useMemo)(()=>{if(t&&a)return{linkClassName:t,linkActiveClassName:a,minHeadingLevel:f,maxHeadingLevel:j}},[t,a,f,j]),b=(0,i.useRef)(void 0),x=function(){let e=(0,i.useRef)(0),{navbar:{hideOnScroll:n}}=(0,r.p)();return(0,i.useEffect)(()=>{e.current=n?0:document.querySelector(".navbar").clientHeight},[n]),e}(),(0,i.useEffect)(()=>{if(!m)return()=>{};let{linkClassName:e,linkActiveClassName:n,minHeadingLevel:t,maxHeadingLevel:s}=m;function i(){let i=Array.from(document.getElementsByClassName(e)),r=function(e,{anchorTopOffset:n}){let t=e.find(e=>l(e).top>=n);if(t){var s;return(s=l(t)).top>0&&s.bottom<window.innerHeight/2?t:e[e.indexOf(t)-1]??null}return e[e.length-1]??null}(function({minHeadingLevel:e,maxHeadingLevel:n}){let t=[];for(let s=e;s<=n;s+=1)t.push(`h${s}.anchor`);return Array.from(document.querySelectorAll(t.join()))}({minHeadingLevel:t,maxHeadingLevel:s}),{anchorTopOffset:x.current}),a=i.find(e=>r&&r.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));i.forEach(e=>{e===a?(b.current&&b.current!==e&&b.current.classList.remove(n),e.classList.add(n),b.current=e):e.classList.remove(n)})}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}},[m,x]),(0,s.jsx)(o,{toc:p,className:n,linkClassName:t,...h})}},3276(e,n,t){t.d(n,{AE:()=>o,Rc:()=>l,TT:()=>d,Uh:()=>a,Yh:()=>c});var s=t(4848);t(6540);var i=t(568),r=t(3572);function l(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function a(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,s.jsx)(r.A,{children:(0,s.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,s.jsx)(i.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/en/assets/js/181.90e2d56b.js b/en/assets/js/181.90e2d56b.js new file mode 100644 index 0000000..9b352f0 --- /dev/null +++ b/en/assets/js/181.90e2d56b.js @@ -0,0 +1,115 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["181"],{6180(t,e,n){n.d(e,{diagram:()=>tn});var i=n(4924),r=n(2941),a=n(6348),s=n(1177),o=n(1293),l=n(6827),c=n(7829),h=n(4682),d=n(8041),u=n(5263),p=function(){var t=(0,l.K)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],a=[1,15],s=[1,16],o=[1,19],c=[1,20],h={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:(0,l.K)(function(t,e,n,i,r,a,s){var o=a.length-1;switch(r){case 1:return a[o-1];case 3:i.setDirection("LR");break;case 4:i.setDirection("TD");break;case 5:case 9:case 10:this.$=[];break;case 6:a[o-1].push(a[o]),this.$=a[o-1];break;case 7:case 8:this.$=a[o];break;case 11:i.getCommonDb().setDiagramTitle(a[o].substr(6)),this.$=a[o].substr(6);break;case 12:this.$=a[o].trim(),i.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=a[o].trim(),i.getCommonDb().setAccDescription(this.$);break;case 15:i.addSection(a[o].substr(8)),this.$=a[o].substr(8);break;case 18:i.addTask(a[o],0,""),this.$=a[o];break;case 19:i.addEvent(a[o].substr(2)),this.$=a[o]}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:a,20:s,21:17,22:18,23:o,24:c},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:n,15:i,17:r,19:a,20:s,21:17,22:18,23:o,24:c},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:(0,l.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,l.K)(function(t){var e=this,n=[0],i=[],r=[null],a=[],s=this.table,o="",c=0,h=0,d=0,u=a.slice.call(arguments,1),p=Object.create(this.lexer),g={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g[f]=this.yy[f]);p.setInput(t,g),g.lexer=p,g.parser=this,void 0===p.yylloc&&(p.yylloc={});var y=p.yylloc;a.push(y);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.parseError?this.parseError=g.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){n.length=n.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,l.K)(b,"lex");for(var x,k,_,w,$,v,K,S,E,R={};;){if(_=n[n.length-1],this.defaultActions[_]?w=this.defaultActions[_]:(null==x&&(x=b()),w=s[_]&&s[_][x]),void 0===w||!w.length||!w[0]){var I="";for(v in E=[],s[_])this.terminals_[v]&&v>2&&E.push("'"+this.terminals_[v]+"'");I=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(I,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:y,expected:E})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+x);switch(w[0]){case 1:n.push(x),r.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,k?(x=k,k=null):(h=p.yyleng,o=p.yytext,c=p.yylineno,y=p.yylloc,d>0&&d--);break;case 2:if(K=this.productions_[w[1]][1],R.$=r[r.length-K],R._$={first_line:a[a.length-(K||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(K||1)].first_column,last_column:a[a.length-1].last_column},m&&(R._$.range=[a[a.length-(K||1)].range[0],a[a.length-1].range[1]]),void 0!==($=this.performAction.apply(R,[o,h,c,g,w[1],r,a].concat(u))))return $;K&&(n=n.slice(0,-1*K*2),r=r.slice(0,-1*K),a=a.slice(0,-1*K)),n.push(this.productions_[w[1]][0]),r.push(R.$),a.push(R._$),S=s[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0},"parse")};function d(){this.yy={}}return h.lexer={EOF:1,parseError:(0,l.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,l.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var 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:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K)(function(t,e){var n,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,i,r=this._currentRules(),a=0;a<r.length;a++)if((n=this._input.match(this.rules[r[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,e,n,i){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 13;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}},(0,l.K)(d,"Parser"),d.prototype=h,h.Parser=d,new d}();p.parser=p;var g={};(0,l.V)(g,{addEvent:()=>I,addSection:()=>K,addTask:()=>R,addTaskOrg:()=>T,clear:()=>w,default:()=>L,getCommonDb:()=>_,getDirection:()=>v,getSections:()=>S,getTasks:()=>E,setDirection:()=>$});var f="",y=0,m="LR",b=[],x=[],k=[],_=(0,l.K)(()=>s.Wt,"getCommonDb"),w=(0,l.K)(function(){b.length=0,x.length=0,f="",k.length=0,m="LR",(0,s.IU)()},"clear"),$=(0,l.K)(function(t){m=t},"setDirection"),v=(0,l.K)(function(){return m},"getDirection"),K=(0,l.K)(function(t){f=t,b.push(t)},"addSection"),S=(0,l.K)(function(){return b},"getSections"),E=(0,l.K)(function(){let t=M(),e=0;for(;!t&&e<100;)t=M(),e++;return x.push(...k),x},"getTasks"),R=(0,l.K)(function(t,e,n){let i={id:y++,section:f,type:f,task:t,score:e||0,events:n?[n]:[]};k.push(i)},"addTask"),I=(0,l.K)(function(t){k.find(t=>t.id===y-1).events.push(t)},"addEvent"),T=(0,l.K)(function(t){let e={section:f,type:f,description:t,task:t,classes:[]};x.push(e)},"addTaskOrg"),M=(0,l.K)(function(){let t=(0,l.K)(function(t){return k[t].processed},"compileTask"),e=!0;for(let[n,i]of k.entries())t(n),e=e&&i.processed;return e},"compileTasks"),L={clear:w,getCommonDb:_,getDirection:v,setDirection:$,addSection:K,getSections:S,getTasks:E,addTask:R,addTaskOrg:T,addEvent:I},C=0,H=(0,l.K)(function(t,e){let n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},"drawRect"),A=(0,l.K)(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");function r(t){let n=(0,c.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function a(t){let n=(0,c.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function s(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return i.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,l.K)(r,"smile"),(0,l.K)(a,"sad"),(0,l.K)(s,"ambivalent"),e.score>3?r(i):e.score<3?a(i):s(i),n},"drawFace"),D=(0,l.K)(function(t,e){let n=e.text.replace(/<br\s*\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),void 0!==e.class&&i.attr("class",e.class);let r=i.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(n),i},"drawText"),O=-1,B=(0,l.K)(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),P=function(){function t(t,e,n,r,a,s,o,l){i(e.append("text").attr("x",n+a/2).attr("y",r+s/2+5).style("font-color",l).style("text-anchor","middle").text(t),o)}function e(t,e,n,r,a,s,o,l,c){let{taskFontSize:h,taskFontFamily:d}=l,u=t.split(/<br\s*\/?>/gi);for(let t=0;t<u.length;t++){let l=t*h-h*(u.length-1)/2,p=e.append("text").attr("x",n+a/2).attr("y",r).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",d);p.append("tspan").attr("x",n+a/2).attr("dy",l).text(u[t]),p.attr("y",r+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(p,o)}}function n(t,n,r,a,s,o,l,c){let h=n.append("switch"),d=h.append("foreignObject").attr("x",r).attr("y",a).attr("width",s).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,r,a,s,o,l,c),i(d,l)}function i(t,e){for(let n in e)n in e&&t.attr(n,e[n])}return(0,l.K)(t,"byText"),(0,l.K)(e,"byTspan"),(0,l.K)(n,"byFo"),(0,l.K)(i,"_setTextAttrs"),function(i){return"fo"===i.textPlacement?n:"old"===i.textPlacement?t:e}}(),W=(0,l.K)(function(t,e){C=0,O=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");function N(t,e){t.each(function(){var t,n=(0,c.Ltv)(this),i=n.text().split(/(\s+|<br>)/).reverse(),r=[],a=n.attr("y"),s=parseFloat(n.attr("dy")),o=n.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",s+"em");for(let s=0;s<i.length;s++)t=i[i.length-1-s],r.push(t),o.text(r.join(" ").trim()),(o.node().getComputedTextLength()>e||"<br>"===t)&&(r.pop(),o.text(r.join(" ").trim()),r="<br>"===t?[""]:[t],o=n.append("tspan").attr("x",0).attr("y",a).attr("dy","1.1em").text(t))})}(0,l.K)(N,"wrap");var z=(0,l.K)(function(t,e,n,i,r,a=!1){let{theme:s,look:o}=i,l=s?.includes("redux"),h=n%(i?.themeVariables?.THEME_COLOR_LIMIT??12)-1,d=t.append("g");e.section=h,d.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+h);let u=d.append("g"),p=d.append("g"),g=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(N,e.width).node().getBBox(),f=i.fontSize?.replace?i.fontSize.replace("px",""):i.fontSize;if(e.height=g.height+1.1*f*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),F(u,e,h,r,i),"neo"===o&&(d.attr("data-look","neo"),l)){let e=s.includes("dark"),n=t.node()?.ownerSVGElement??t.node(),i=(0,c.Ltv)(n),r=i.attr("id")??"",a=r?`${r}-drop-shadow`:"drop-shadow";if(i.select(`#${a}`).empty()){let t=i.select("defs");(t.empty()?i.append("defs"):t).append("filter").attr("id",a).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",e?"0.2":"0.06").attr("flood-color",e?"#FFFFFF":"#000000")}}return e},"drawNode"),j=(0,l.K)(function(t,e,n){let i=t.append("g"),r=i.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(N,e.width).node().getBBox(),a=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;return i.remove(),r.height+1.1*a*.5+e.padding},"getVirtualNodeHeight"),F=(0,l.K)(function(t,e,n,i,r){let{theme:a}=r,s=5*!a?.includes("redux"),o=s>0?`M0 ${e.height-5} v${-e.height+10} q0,-${s},${s},-${s} h${e.width-10} q${s},0,${s},${s} v${e.height-5} H0 Z`:`M0 ${e.height-5} v${-(e.height-5)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",i+"-node-"+C++).attr("class","node-bkg node-"+e.type).attr("d",o),a?.includes("redux")||t.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),V=(0,l.K)(function(t,e,n,i){let r,a=(0,s.D7)(),{look:l,theme:h,themeVariables:d}=a,{useGradient:u,gradientStart:p,gradientStop:g}=d,f=a.timeline?.leftMargin??50;o.R.debug("timeline",i.db);let y=a.securityLevel;"sandbox"===y&&(r=(0,c.Ltv)("#i"+e));let m=("sandbox"===y?(0,c.Ltv)(r.nodes()[0].contentDocument.body):(0,c.Ltv)("body")).select("#"+e);m.append("g");let b=i.db.getTasks(),x=i.db.getCommonDb().getDiagramTitle();o.R.debug("task",b),W(m,e);let k=i.db.getSections();o.R.debug("sections",k);let _=0,w=0,$=0,v=0,K=50+f,S=50;v=50;let E=0,R=!0;k.forEach(function(t){let e=j(m,{number:E,descr:t,section:E,width:150,padding:20,maxHeight:_},a);o.R.debug("sectionHeight before draw",e),_=Math.max(_,e+20)});let I=0,T=0;for(let[t,e]of(o.R.debug("tasks.length",b.length),b.entries())){let n=j(m,{number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:w},a);o.R.debug("taskHeight before draw",n),w=Math.max(w,n+20),I=Math.max(I,e.events.length);let i=0;for(let t of e.events)i+=j(m,{descr:t,section:e.section,number:e.section,width:150,padding:20,maxHeight:50},a);e.events.length>0&&(i+=(e.events.length-1)*10),T=Math.max(T,i)}o.R.debug("maxSectionHeight before draw",_),o.R.debug("maxTaskHeight before draw",w),k&&k.length>0?k.forEach(t=>{let n=b.filter(e=>e.section===t),i={number:E,descr:t,section:E,width:200*Math.max(n.length,1)-50,padding:20,maxHeight:_};o.R.debug("sectionNode",i);let r=m.append("g"),s=z(r,i,E,a,e);o.R.debug("sectionNode output",s),r.attr("transform",`translate(${K}, ${v})`),S+=_+50,n.length>0&&q(m,n,E,K,S,w,a,I,T,_,!1,e),K+=200*Math.max(n.length,1),S=v,E++}):(R=!1,q(m,b,E,K,S,w,a,I,T,_,!0,e));let M=m.node().getBBox();if(o.R.debug("bounds",M),x&&m.append("text").text(x).attr("x","neo"===l?2*M.x+f:M.width/2-f).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),$=R?_+w+150:w+100,m.append("g").attr("class","lineWrapper").append("line").attr("x1",f).attr("y1",$).attr("x2",M.width+3*f).attr("y2",$).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),"neo"===l&&u&&"neutral"!==h){let t=m.select("defs"),e=(t.empty()?m.append("defs"):t).append("linearGradient").attr("id",m.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");e.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),e.append("stop").attr("offset","100%").attr("stop-color",g).attr("stop-opacity",1)}(0,s.ot)(void 0,m,a.timeline?.padding??50,a.timeline?.useMaxWidth??!1)},"draw"),q=(0,l.K)(function(t,e,n,i,r,a,s,l,c,h,d,u){for(let l of e){let e={descr:l.task,section:n,number:n,width:150,padding:20,maxHeight:a};o.R.debug("taskNode",e);let h=t.append("g").attr("class","taskWrapper"),p=z(h,e,n,s,u).height;if(o.R.debug("taskHeight after draw",p),h.attr("transform",`translate(${i}, ${r})`),a=Math.max(a,p),l.events){let e=t.append("g").attr("class","lineWrapper");r+=100,G(t,l.events,n,i,r,s,u),r-=100,e.append("line").attr("x1",i+95).attr("y1",r+a).attr("x2",i+95).attr("y2",r+a+100+c+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${u}-arrowhead)`).attr("stroke-dasharray","5,5")}i+=200,d&&!s.timeline?.disableMulticolor&&n++}},"drawTasks"),G=(0,l.K)(function(t,e,n,i,r,a,s){let l=0,c=r;for(let c of(r+=100,e)){let e={descr:c,section:n,number:n,width:150,padding:20,maxHeight:50};o.R.debug("eventNode",e);let h=t.append("g").attr("class","eventWrapper"),d=z(h,e,n,a,s,!0).height;l+=d,h.attr("transform",`translate(${i}, ${r})`),r=r+10+d}return r=c,l},"drawEvents"),U={setConf:(0,l.K)(()=>{},"setConf"),draw:V},Z=(0,l.K)(function(t,e,n,r){let l=(0,s.D7)(),c=l.timeline?.leftMargin??50;o.R.debug("timeline",r.db);let h=(0,i.D)(e);h.append("g");let d=r.db.getTasks(),u=r.db.getCommonDb().getDiagramTitle();o.R.debug("task",d),W(h);let p=r.db.getSections();o.R.debug("sections",p);let g=0,f=0,y=50,m=230,b=0,x=p&&p.length>0,k=50+c+m,_=Math.max(50,m+360-10);p.forEach(function(t){let e=j(h,{number:b,descr:t,section:b,width:_,padding:5,maxHeight:g},l);o.R.debug("sectionHeight before draw",e),g=Math.max(g,e)});let w=0;for(let[t,e]of(o.R.debug("tasks.length",d.length),d.entries())){let n=j(h,{number:t,descr:e,section:e.section,width:200,padding:5,maxHeight:f},l);o.R.debug("taskHeight before draw",n),f=Math.max(f,n);let i=0;for(let t of e.events)i+=j(h,{descr:t,section:e.section,number:e.section,width:300,padding:5,maxHeight:50},l);e.events.length>0&&(i+=(e.events.length-1)*10),w=Math.max(w,i)+0}o.R.debug("maxSectionHeight before draw",g),o.R.debug("maxTaskHeight before draw",f);let $=Math.max(f,w)+30;x?p.forEach(t=>{let e=d.filter(e=>e.section===t),n={number:b,descr:t,section:b,width:_,padding:5,maxHeight:g};o.R.debug("sectionNode",n);let i=h.append("g"),r=z(i,n,b,l);o.R.debug("sectionNode output",r);let a=k-m;i.attr("transform",`translate(${a}, ${y})`);let s=y+r.height+20;e.length>0&&J(h,e,b,k,s,f,l,$,!1);let c=e.length,u=r.height+20+$*Math.max(c,1)-60*(c>0);y+=u,b++}):J(h,d,b,k,y,f,l,$,!0);let v=h.node()?.getBBox();if(!v)throw Error("bbox not found");if(o.R.debug("bounds",v),u){if(h.append("text").text(u).attr("x",v.width/2-c).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),!(v=h.node()?.getBBox()))throw Error("bbox not found");o.R.debug("bounds after title",v)}let[K]=(0,a.I5)(l.fontSize),S=h.append("g").attr("class","lineWrapper");S.append("line").attr("x1",k).attr("y1",50-(K??16)*2).attr("x2",k).attr("y2",v.y+v.height+((K??16)*.5+20)).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),S.lower(),(0,s.ot)(void 0,h,l.timeline?.padding??50,l.timeline?.useMaxWidth??!1)},"draw"),J=(0,l.K)(function(t,e,n,i,r,a,s,l,c){for(let h of e){let e={descr:h.task,section:n,number:n,width:200,padding:5,maxHeight:a};o.R.debug("taskNode",e);let d=t.append("g").attr("class","taskWrapper"),u=z(d,e,n,s),p=u.height;o.R.debug("taskHeight after draw",p);let g=i-20-u.width;if(d.attr("transform",`translate(${g}, ${r})`),a=Math.max(a,p),h.events&&h.events.length>0){let e=r,a=i+50;Y(t,h.events,n,i,a,e,s)}r+=l,c&&!s.timeline?.disableMulticolor&&n++}},"drawTasks"),Y=(0,l.K)(function(t,e,n,i,r,a,s){let l=a;for(let a of e){let e={descr:a,section:n,number:n,width:300,padding:5,maxHeight:0};o.R.debug("eventNode",e);let c=t.append("g").attr("class","eventWrapper"),h=z(c,e,n,s).height;c.attr("transform",`translate(${r}, ${l})`);let d=t.append("g").attr("class","lineWrapper"),u=l+h/2;d.append("line").attr("x1",i).attr("y1",u).attr("x2",r).attr("y2",u).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),l=l+h+10}return l-a},"drawEvents"),X={setConf:(0,l.K)(()=>{},"setConf"),draw:Z},Q=(0,l.K)(t=>{let{theme:e}=(0,s.zj)(),n=e?.includes("dark"),i=(0,r.P1)(e,t.borderColorArray),a=t.svgId?.replace(/^#/,"")??"",o=a?`url(#${a}-drop-shadow)`:t.dropShadow??"none",l="";for(let e=0;e<(0,r.nw)(t.THEME_COLOR_LIMIT);e++){let r=`${17-3*e}`,a=i?t.borderColorArray[e%t.borderColorArray.length]:void 0,s=a??t.mainBkg,c=a??t.nodeBorder;l+=` + .section-${e-1} rect, + .section-${e-1} path, + .section-${e-1} circle { + fill: ${n&&i?t.mainBkg:s}; + stroke: ${c}; + stroke-width: ${t.strokeWidth}; + filter: ${o}; + } + + .section-${e-1} text { + fill: ${t.nodeBorder}; + font-weight: ${t.fontWeight} + } + + .node-icon-${e-1} { + font-size: 40px; + color: ${t["cScaleLabel"+e]}; + } + + .section-edge-${e-1} { + stroke: ${t["cScale"+e]}; + } + + .edge-depth-${e-1} { + stroke-width: ${r}; + } + + .section-${e-1} line { + stroke: ${t["cScaleInv"+e]}; + stroke-width: 3; + } + + .lineWrapper line { + stroke: ${t.nodeBorder}; + stroke-width:${t.strokeWidth} + } + + .disabled, + .disabled circle, + .disabled text { + fill: ${t.tertiaryColor??"lightgray"}; + } + + .disabled text { + fill: ${t.clusterBorder??"#efefef"}; + } + `}return l},"genReduxSections"),tt=(0,l.K)(t=>{let e="",n=(0,r.nw)(t.THEME_COLOR_LIMIT);for(let e=0;e<n;e++)t["lineColor"+e]=t["lineColor"+e]??t["cScaleInv"+e],(0,h.A)(t["lineColor"+e])?t["lineColor"+e]=(0,d.A)(t["lineColor"+e],20):t["lineColor"+e]=(0,u.A)(t["lineColor"+e],20);for(let i=0;i<n;i++){let n=""+(17-3*i);e+=` + .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} path { + fill: ${t["cScale"+i]}; + } + .section-${i-1} text { + fill: ${t["cScaleLabel"+i]}; + } + .node-icon-${i-1} { + font-size: 40px; + color: ${t["cScaleLabel"+i]}; + } + .section-edge-${i-1}{ + stroke: ${t["cScale"+i]}; + } + .edge-depth-${i-1}{ + stroke-width: ${n}; + } + .section-${i-1} line { + stroke: ${t["cScaleInv"+i]} ; + stroke-width: 3; + } + + .lineWrapper line{ + stroke: ${t["cScaleLabel"+i]} ; + } + + .disabled, .disabled circle, .disabled text { + fill: ${t.tertiaryColor??"lightgray"}; + } + .disabled text { + fill: ${t.clusterBorder??"#efefef"}; + } + `}return e},"genSections"),te=(0,l.K)(t=>{let{theme:e}=(0,s.zj)(),n=e?.includes("redux"),i="neutral"===e,a=t.svgId?.replace(/^#/,"")??"",o="";if(t.useGradient&&a&&t.THEME_COLOR_LIMIT&&!i){let e=(0,r.nw)(t.THEME_COLOR_LIMIT);for(let n=0;n<e;n++)o+=` + .section-${n-1}[data-look="neo"] rect, + .section-${n-1}[data-look="neo"] path, + .section-${n-1}[data-look="neo"] circle { + fill: ${t.mainBkg}; + stroke: url(#${a}-gradient); + stroke-width: 2; + } + .section-${n-1}[data-look="neo"] line { + stroke: url(#${a}-gradient); + stroke-width: 2; + }`}return` + .edge { + stroke-width: 3; + } + ${n?Q(t):tt(t)} + ${o} + .section-root rect, .section-root path, .section-root circle { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`},"getStyles"),tn={db:g,renderer:{setConf:(0,l.K)(()=>{},"setConf"),draw:(0,l.K)((t,e,n,i)=>"TD"===(i?.db?.getDirection?.()??"LR")?X.draw(t,e,n,i):U.draw(t,e,n,i),"draw")},parser:p,styles:te}}}]); \ No newline at end of file diff --git a/en/assets/js/1862.1a43044f.js b/en/assets/js/1862.1a43044f.js new file mode 100644 index 0000000..240e782 --- /dev/null +++ b/en/assets/js/1862.1a43044f.js @@ -0,0 +1,32 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1862"],{9301(t,e,n){n.d(e,{diagram:()=>tq});var a,r=n(2735),i=n(3002);n(739),n(6320),n(2217),n(2941);var s=n(6348),l=n(1177),o=n(1293),h=n(6827),u=n(7829),d=function(){var t=(0,h.K)(function(t,e,n,a){for(n=n||{},a=t.length;a--;n[t[a]]=e);return n},"o"),e=[1,24],n=[1,25],a=[1,26],r=[1,27],i=[1,28],s=[1,63],l=[1,64],o=[1,65],u=[1,66],d=[1,67],p=[1,68],y=[1,69],b=[1,29],_=[1,30],f=[1,31],m=[1,32],g=[1,33],x=[1,34],E=[1,35],S=[1,36],T=[1,37],k=[1,38],C=[1,39],v=[1,40],O=[1,41],R=[1,42],w=[1,43],P=[1,44],D=[1,45],N=[1,46],K=[1,47],L=[1,48],A=[1,50],M=[1,51],$=[1,52],I=[1,53],B=[1,54],j=[1,55],Y=[1,56],U=[1,57],F=[1,58],z=[1,59],X=[1,60],q=[14,42],W=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Q=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],V=[1,82],H=[1,83],G=[1,84],Z=[1,85],J=[12,14,42],tt=[12,14,33,42],te=[12,14,33,42,76,77,79,80],tn=[12,33],ta=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],tr={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:(0,h.K)(function(t,e,n,a,r,i,s){var l=i.length-1;switch(r){case 3:a.setDirection("TB");break;case 4:a.setDirection("BT");break;case 5:a.setDirection("RL");break;case 6:a.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:a.setC4Type(i[l-3]);break;case 19:a.setTitle(i[l].substring(6)),this.$=i[l].substring(6);break;case 20:a.setAccDescription(i[l].substring(15)),this.$=i[l].substring(15);break;case 21:this.$=i[l].trim(),a.setTitle(this.$);break;case 22:case 23:this.$=i[l].trim(),a.setAccDescription(this.$);break;case 28:i[l].splice(2,0,"ENTERPRISE"),a.addPersonOrSystemBoundary(...i[l]),this.$=i[l];break;case 29:i[l].splice(2,0,"SYSTEM"),a.addPersonOrSystemBoundary(...i[l]),this.$=i[l];break;case 30:a.addPersonOrSystemBoundary(...i[l]),this.$=i[l];break;case 31:i[l].splice(2,0,"CONTAINER"),a.addContainerBoundary(...i[l]),this.$=i[l];break;case 32:a.addDeploymentNode("node",...i[l]),this.$=i[l];break;case 33:a.addDeploymentNode("nodeL",...i[l]),this.$=i[l];break;case 34:a.addDeploymentNode("nodeR",...i[l]),this.$=i[l];break;case 35:a.popBoundaryParseStack();break;case 39:a.addPersonOrSystem("person",...i[l]),this.$=i[l];break;case 40:a.addPersonOrSystem("external_person",...i[l]),this.$=i[l];break;case 41:a.addPersonOrSystem("system",...i[l]),this.$=i[l];break;case 42:a.addPersonOrSystem("system_db",...i[l]),this.$=i[l];break;case 43:a.addPersonOrSystem("system_queue",...i[l]),this.$=i[l];break;case 44:a.addPersonOrSystem("external_system",...i[l]),this.$=i[l];break;case 45:a.addPersonOrSystem("external_system_db",...i[l]),this.$=i[l];break;case 46:a.addPersonOrSystem("external_system_queue",...i[l]),this.$=i[l];break;case 47:a.addContainer("container",...i[l]),this.$=i[l];break;case 48:a.addContainer("container_db",...i[l]),this.$=i[l];break;case 49:a.addContainer("container_queue",...i[l]),this.$=i[l];break;case 50:a.addContainer("external_container",...i[l]),this.$=i[l];break;case 51:a.addContainer("external_container_db",...i[l]),this.$=i[l];break;case 52:a.addContainer("external_container_queue",...i[l]),this.$=i[l];break;case 53:a.addComponent("component",...i[l]),this.$=i[l];break;case 54:a.addComponent("component_db",...i[l]),this.$=i[l];break;case 55:a.addComponent("component_queue",...i[l]),this.$=i[l];break;case 56:a.addComponent("external_component",...i[l]),this.$=i[l];break;case 57:a.addComponent("external_component_db",...i[l]),this.$=i[l];break;case 58:a.addComponent("external_component_queue",...i[l]),this.$=i[l];break;case 60:a.addRel("rel",...i[l]),this.$=i[l];break;case 61:a.addRel("birel",...i[l]),this.$=i[l];break;case 62:a.addRel("rel_u",...i[l]),this.$=i[l];break;case 63:a.addRel("rel_d",...i[l]),this.$=i[l];break;case 64:a.addRel("rel_l",...i[l]),this.$=i[l];break;case 65:a.addRel("rel_r",...i[l]),this.$=i[l];break;case 66:a.addRel("rel_b",...i[l]),this.$=i[l];break;case 67:i[l].splice(0,1),a.addRel("rel",...i[l]),this.$=i[l];break;case 68:a.updateElStyle("update_el_style",...i[l]),this.$=i[l];break;case 69:a.updateRelStyle("update_rel_style",...i[l]),this.$=i[l];break;case 70:a.updateLayoutConfig("update_layout_config",...i[l]),this.$=i[l];break;case 71:this.$=[i[l]];break;case 72:i[l].unshift(i[l-1]),this.$=i[l];break;case 73:case 75:this.$=i[l].trim();break;case 74:let o={};o[i[l-1].trim()]=i[l].trim(),this.$=o;break;case 76:this.$=""}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:70,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:71,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:72,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{13:73,19:20,20:21,21:22,22:e,23:n,24:a,26:r,28:i,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{14:[1,74]},t(q,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:o,38:u,39:d,40:p,41:y,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X}),t(q,[2,14]),t(W,[2,16],{12:[1,76]}),t(q,[2,36],{12:[1,77]}),t(Q,[2,19]),t(Q,[2,20]),{25:[1,78]},{27:[1,79]},t(Q,[2,23]),{35:80,75:81,76:V,77:H,79:G,80:Z},{35:86,75:81,76:V,77:H,79:G,80:Z},{35:87,75:81,76:V,77:H,79:G,80:Z},{35:88,75:81,76:V,77:H,79:G,80:Z},{35:89,75:81,76:V,77:H,79:G,80:Z},{35:90,75:81,76:V,77:H,79:G,80:Z},{35:91,75:81,76:V,77:H,79:G,80:Z},{35:92,75:81,76:V,77:H,79:G,80:Z},{35:93,75:81,76:V,77:H,79:G,80:Z},{35:94,75:81,76:V,77:H,79:G,80:Z},{35:95,75:81,76:V,77:H,79:G,80:Z},{35:96,75:81,76:V,77:H,79:G,80:Z},{35:97,75:81,76:V,77:H,79:G,80:Z},{35:98,75:81,76:V,77:H,79:G,80:Z},{35:99,75:81,76:V,77:H,79:G,80:Z},{35:100,75:81,76:V,77:H,79:G,80:Z},{35:101,75:81,76:V,77:H,79:G,80:Z},{35:102,75:81,76:V,77:H,79:G,80:Z},{35:103,75:81,76:V,77:H,79:G,80:Z},{35:104,75:81,76:V,77:H,79:G,80:Z},t(J,[2,59]),{35:105,75:81,76:V,77:H,79:G,80:Z},{35:106,75:81,76:V,77:H,79:G,80:Z},{35:107,75:81,76:V,77:H,79:G,80:Z},{35:108,75:81,76:V,77:H,79:G,80:Z},{35:109,75:81,76:V,77:H,79:G,80:Z},{35:110,75:81,76:V,77:H,79:G,80:Z},{35:111,75:81,76:V,77:H,79:G,80:Z},{35:112,75:81,76:V,77:H,79:G,80:Z},{35:113,75:81,76:V,77:H,79:G,80:Z},{35:114,75:81,76:V,77:H,79:G,80:Z},{35:115,75:81,76:V,77:H,79:G,80:Z},{20:116,29:49,30:61,32:62,34:s,36:l,37:o,38:u,39:d,40:p,41:y,43:23,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X},{12:[1,118],33:[1,117]},{35:119,75:81,76:V,77:H,79:G,80:Z},{35:120,75:81,76:V,77:H,79:G,80:Z},{35:121,75:81,76:V,77:H,79:G,80:Z},{35:122,75:81,76:V,77:H,79:G,80:Z},{35:123,75:81,76:V,77:H,79:G,80:Z},{35:124,75:81,76:V,77:H,79:G,80:Z},{35:125,75:81,76:V,77:H,79:G,80:Z},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(q,[2,15]),t(W,[2,17],{21:22,19:130,22:e,23:n,24:a,26:r,28:i}),t(q,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:n,24:a,26:r,28:i,34:s,36:l,37:o,38:u,39:d,40:p,41:y,44:b,45:_,46:f,47:m,48:g,49:x,50:E,51:S,52:T,53:k,54:C,55:v,56:O,57:R,58:w,59:P,60:D,61:N,62:K,63:L,64:A,65:M,66:$,67:I,68:B,69:j,70:Y,71:U,72:F,73:z,74:X}),t(Q,[2,21]),t(Q,[2,22]),t(J,[2,39]),t(tt,[2,71],{75:81,35:132,76:V,77:H,79:G,80:Z}),t(te,[2,73]),{78:[1,133]},t(te,[2,75]),t(te,[2,76]),t(J,[2,40]),t(J,[2,41]),t(J,[2,42]),t(J,[2,43]),t(J,[2,44]),t(J,[2,45]),t(J,[2,46]),t(J,[2,47]),t(J,[2,48]),t(J,[2,49]),t(J,[2,50]),t(J,[2,51]),t(J,[2,52]),t(J,[2,53]),t(J,[2,54]),t(J,[2,55]),t(J,[2,56]),t(J,[2,57]),t(J,[2,58]),t(J,[2,60]),t(J,[2,61]),t(J,[2,62]),t(J,[2,63]),t(J,[2,64]),t(J,[2,65]),t(J,[2,66]),t(J,[2,67]),t(J,[2,68]),t(J,[2,69]),t(J,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(tn,[2,28]),t(tn,[2,29]),t(tn,[2,30]),t(tn,[2,31]),t(tn,[2,32]),t(tn,[2,33]),t(tn,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(W,[2,18]),t(q,[2,38]),t(tt,[2,72]),t(te,[2,74]),t(J,[2,24]),t(J,[2,35]),t(ta,[2,25]),t(ta,[2,26],{12:[1,138]}),t(ta,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:(0,h.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,h.K)(function(t){var e=this,n=[0],a=[],r=[null],i=[],s=this.table,l="",o=0,u=0,d=0,p=i.slice.call(arguments,1),y=Object.create(this.lexer),b={};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(b[_]=this.yy[_]);y.setInput(t,b),b.lexer=y,b.parser=this,void 0===y.yylloc&&(y.yylloc={});var f=y.yylloc;i.push(f);var m=y.options&&y.options.ranges;function g(){var t;return"number"!=typeof(t=a.pop()||y.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof b.parseError?this.parseError=b.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){n.length=n.length-2*t,r.length=r.length-t,i.length=i.length-t},"popStack"),(0,h.K)(g,"lex");for(var x,E,S,T,k,C,v,O,R,w={};;){if(S=n[n.length-1],this.defaultActions[S]?T=this.defaultActions[S]:(null==x&&(x=g()),T=s[S]&&s[S][x]),void 0===T||!T.length||!T[0]){var P="";for(C in R=[],s[S])this.terminals_[C]&&C>2&&R.push("'"+this.terminals_[C]+"'");P=y.showPosition?"Parse error on line "+(o+1)+":\n"+y.showPosition()+"\nExpecting "+R.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(P,{text:y.match,token:this.terminals_[x]||x,line:y.yylineno,loc:f,expected:R})}if(T[0]instanceof Array&&T.length>1)throw Error("Parse Error: multiple actions possible at state: "+S+", token: "+x);switch(T[0]){case 1:n.push(x),r.push(y.yytext),i.push(y.yylloc),n.push(T[1]),x=null,E?(x=E,E=null):(u=y.yyleng,l=y.yytext,o=y.yylineno,f=y.yylloc,d>0&&d--);break;case 2:if(v=this.productions_[T[1]][1],w.$=r[r.length-v],w._$={first_line:i[i.length-(v||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(v||1)].first_column,last_column:i[i.length-1].last_column},m&&(w._$.range=[i[i.length-(v||1)].range[0],i[i.length-1].range[1]]),void 0!==(k=this.performAction.apply(w,[l,u,o,b,T[1],r,i].concat(p))))return k;v&&(n=n.slice(0,-1*v*2),r=r.slice(0,-1*v),i=i.slice(0,-1*v)),n.push(this.productions_[T[1]][0]),r.push(w.$),i.push(w._$),O=s[n[n.length-2]][n[n.length-1]],n.push(O);break;case 3:return!0}}return!0},"parse")};function ti(){this.yy={}}return tr.lexer={EOF:1,parseError:(0,h.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.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:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var n,a,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))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var i in r)this[i]=r[i];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,a,r=this._currentRules(),i=0;i<r.length;i++)if((n=this._input.match(this.rules[r[i]]))&&(!e||n[0].length>e[0].length)){if(e=n,a=i,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[i])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,h.K)(function(t,e,n,a){switch(n){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:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;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: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:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58: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:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80: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 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}},(0,h.K)(ti,"Parser"),ti.prototype=tr,tr.Parser=ti,new ti}();d.parser=d;var p=(0,h.K)(t=>(0,l.D7)()[t],"getRequiredConfig"),y=new Set(["label","descr","techn","type"]),b=(0,h.K)((t,e)=>{for(let[n,a]of Object.entries(e))if(void 0!==a)if("object"==typeof a){let[e,n]=Object.entries(a)[0];t[e]=y.has(e)?{text:n}:n}else t[n]=a},"assignAttributes"),_=(0,h.K)(()=>({alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}),"createGlobalBoundary"),f=[],m=[""],g="global",x="",E=[_()],S=[],T="",k=!1,C=4,v=2,O=(0,h.K)(function(){return a},"getC4Type"),R=(0,h.K)(function(t){a=(0,l.jZ)(t,(0,l.D7)())},"setC4Type"),w=(0,h.K)(function(t,e,n,a,r,i,s,l,o){if(null==t||null==e||null==n||null==a)return;let h={},u=S.find(t=>t.from===e&&t.to===n);if(u?h=u:S.push(h),h.type=t,h.from=e,h.to=n,h.label={text:a},null==r)h.techn??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];h[t]=y.has(t)?{text:e}:e}else h.techn={text:r};if(null==i)h.descr??={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];h[t]=y.has(t)?{text:e}:e}else h.descr={text:i};b(h,{sprite:s,tags:l,link:o}),h.wrap=G()},"addRel"),P=(0,h.K)(function(t,e,n,a,r,i,s){if(null===e||null===n)return;let l={},o=f.find(t=>t.alias===e);if(o&&e===o.alias?l=o:(l.alias=e,f.push(l)),null==n?l.label={text:""}:l.label={text:n},null==a)l.descr??={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=y.has(t)?{text:e}:e}else l.descr={text:a};b(l,{sprite:r,tags:i,link:s}),l.typeC4Shape={text:t},l.parentBoundary=g,l.wrap=G()},"addPersonOrSystem"),D=(0,h.K)(function(t,e,n,a,r,i,s,l){if(null===e||null===n)return;let o={},h=f.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,f.push(o)),null==n?o.label={text:""}:o.label={text:n},null==a)o.techn??={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=y.has(t)?{text:e}:e}else o.techn={text:a};if(null==r)o.descr??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=y.has(t)?{text:e}:e}else o.descr={text:r};b(o,{sprite:i,tags:s,link:l}),o.wrap=G(),o.typeC4Shape={text:t},o.parentBoundary=g},"addContainer"),N=(0,h.K)(function(t,e,n,a,r,i,s,l){if(null===e||null===n)return;let o={},h=f.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,f.push(o)),null==n?o.label={text:""}:o.label={text:n},null==a)o.techn??={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=y.has(t)?{text:e}:e}else o.techn={text:a};if(null==r)o.descr??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=y.has(t)?{text:e}:e}else o.descr={text:r};b(o,{sprite:i,tags:s,link:l}),o.wrap=G(),o.typeC4Shape={text:t},o.parentBoundary=g},"addComponent"),K=(0,h.K)(function(t,e,n,a,r){if(null===t||null===e)return;let i={},s=E.find(e=>e.alias===t);if(s&&t===s.alias?i=s:(i.alias=t,E.push(i)),null==e?i.label={text:""}:i.label={text:e},null==n)i.type={text:"system"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];i[t]=y.has(t)?{text:e}:e}else i.type={text:n};b(i,{tags:a,link:r}),i.parentBoundary=g,i.wrap=G(),x=g,g=t,m.push(x)},"addPersonOrSystemBoundary"),L=(0,h.K)(function(t,e,n,a,r){if(null===t||null===e)return;let i={},s=E.find(e=>e.alias===t);if(s&&t===s.alias?i=s:(i.alias=t,E.push(i)),null==e?i.label={text:""}:i.label={text:e},null==n)i.type={text:"container"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];i[t]=y.has(t)?{text:e}:e}else i.type={text:n};b(i,{tags:a,link:r}),i.parentBoundary=g,i.wrap=G(),x=g,g=t,m.push(x)},"addContainerBoundary"),A=(0,h.K)(function(t,e,n,a,r,i,s,l){if(null===e||null===n)return;let o={},h=E.find(t=>t.alias===e);if(h&&e===h.alias?o=h:(o.alias=e,E.push(o)),null==n?o.label={text:""}:o.label={text:n},null==a)o.type={text:"node"};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=y.has(t)?{text:e}:e}else o.type={text:a};if(null==r)o.descr??={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=y.has(t)?{text:e}:e}else o.descr={text:r};b(o,{tags:s,link:l}),o.nodeType=t,o.parentBoundary=g,o.wrap=G(),x=g,g=e,m.push(x)},"addDeploymentNode"),M=(0,h.K)(function(){g=x,m.pop(),x=m.pop(),m.push(x)},"popBoundaryParseStack"),$=(0,h.K)(function(t,e,n,a,r,i,s,l,o,h,u){let d=f.find(t=>t.alias===e);if(void 0!==d||void 0!==(d=E.find(t=>t.alias===e))){if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];d[t]=e}else d.bgColor=n;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];d[t]=e}else d.fontColor=a;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];d[t]=e}else d.borderColor=r;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];d[t]=e}else d.shadowing=i;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];d[t]=e}else d.shape=s;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];d[t]=e}else d.sprite=l;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];d[t]=e}else d.techn=o;if(null!=h)if("object"==typeof h){let[t,e]=Object.entries(h)[0];d[t]=e}else d.legendText=h;if(null!=u)if("object"==typeof u){let[t,e]=Object.entries(u)[0];d[t]=e}else d.legendSprite=u}},"updateElStyle"),I=(0,h.K)(function(t,e,n,a,r,i,s){let l=S.find(t=>t.from===e&&t.to===n);if(void 0!==l){if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.textColor=a;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=e}else l.lineColor=r;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=parseInt(e)}else l.offsetX=parseInt(i);if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=parseInt(e)}else l.offsetY=parseInt(s)}},"updateRelStyle"),B=(0,h.K)(function(t,e,n){let a=C,r=v;a="object"==typeof e?parseInt(Object.values(e)[0]):parseInt(e),r="object"==typeof n?parseInt(Object.values(n)[0]):parseInt(n),a>=1&&(C=a),r>=1&&(v=r)},"updateLayoutConfig"),j=(0,h.K)(function(){return C},"getC4ShapeInRow"),Y=(0,h.K)(function(){return v},"getC4BoundaryInRow"),U=(0,h.K)(function(){return g},"getCurrentBoundaryParse"),F=(0,h.K)(function(){return x},"getParentBoundaryParse"),z=(0,h.K)(function(t){return null==t?f:f.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),X=(0,h.K)(function(t){return f.find(e=>e.alias===t)??E.find(e=>e.alias===t)},"getC4Shape"),q=(0,h.K)(function(t){return Object.keys(z(t))},"getC4ShapeKeys"),W=(0,h.K)(function(t){return null==t?E:E.filter(e=>e.parentBoundary===t)},"getBoundaries"),Q=(0,h.K)(function(){return S},"getRels"),V=(0,h.K)(function(){return T},"getTitle"),H=(0,h.K)(function(t){k=t},"setWrap"),G=(0,h.K)(function(){return k},"autoWrap"),Z=(0,h.K)(function(){f=[],E=[_()],x="",g="global",m=[""],S=[],m=[""],T="",k=!1,C=4,v=2},"clear"),J=(0,h.K)(function(t){T=(0,l.jZ)(t,(0,l.D7)())},"setTitle"),tt={addPersonOrSystem:P,addPersonOrSystemBoundary:K,addContainer:D,addContainerBoundary:L,addComponent:N,addDeploymentNode:A,popBoundaryParseStack:M,addRel:w,updateElStyle:$,updateRelStyle:I,updateLayoutConfig:B,autoWrap:G,setWrap:H,getC4ShapeArray:z,getC4Shape:X,getC4ShapeKeys:q,getBoundaries:W,getBoundarys:W,getCurrentBoundaryParse:U,getParentBoundaryParse:F,getRels:Q,getTitle:V,getC4Type:O,getC4ShapeInRow:j,getC4BoundaryInRow:Y,setAccTitle:l.SV,getAccTitle:l.iN,getAccDescription:l.m7,setAccDescription:l.EI,getConfig:(0,h.K)(()=>p("c4"),"getConfig"),clear:Z,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:J,setC4Type:R},te=(0,h.K)(function(t,e){return(0,r.tk)(t,e)},"drawRect"),tn=(0,h.K)((t,e,n,a)=>{let r=t.append("g"),i=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",s=t.lineColor?t.lineColor:"#444444",l=t.offsetX?parseInt(String(t.offsetX)):0,o=t.offsetY?parseInt(String(t.offsetY)):0;if(0===i){let e=r.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",s),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url(#"+a+"-arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#"+a+"-arrowend)"),i=-1}else{let e=r.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",s).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url(#"+a+"-arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#"+a+"-arrowend)")}let h=t.label.width,u=n.messageFont();tu(n)(t.label.text,r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+l,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+o,h,t.label.height,{fill:e},u),t.techn&&""!==t.techn.text&&(u=n.messageFont(),tu(n)("["+t.techn.text+"]",r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+l,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+n.messageFontSize+5+o,Math.max(h,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},u))}},"drawRels"),ta=(0,h.K)(function(t,e,n){let a=t.append("g"),r=e.bgColor?e.bgColor:"none",i=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1}),te(a,{x:e.x,y:e.y,fill:r,stroke:i,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l});let o=n.boundaryFont();o.fontWeight="bold",o.fontSize=o.fontSize+2,o.fontColor=s,tu(n)(e.label.text,a,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},o),e.type&&""!==e.type.text&&((o=n.boundaryFont()).fontColor=s,tu(n)(e.type.text,a,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},o)),e.descr&&""!==e.descr.text&&((o=n.boundaryFont()).fontSize=o.fontSize-2,o.fontColor=s,tu(n)(e.descr.text,a,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},o))},"drawBoundary"),tr=(0,h.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),ti=(0,h.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),ts=(0,h.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),tl=(0,h.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),to=(0,h.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),tc=(0,h.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),th=(0,h.K)(function(t,e){let n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),tu=function(){function t(t,e,n,r,i,s,l){a(e.append("text").attr("x",n+i/2).attr("y",r+s/2+5).style("text-anchor","middle").text(t),l)}function e(t,e,n,r,i,s,o,h){let{fontSize:u,fontFamily:d,fontWeight:p}=h,y=t.split(l.Y2.lineBreakRegex);for(let t=0;t<y.length;t++){let s=t*u-u*(y.length-1)/2,l=e.append("text").attr("x",n+i/2).attr("y",r).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",u).style("font-weight",p).style("font-family",d);l.append("tspan").attr("dy",s).text(y[t]).attr("alignment-baseline","mathematical"),a(l,o)}}function n(t,n,r,i,s,l,o,h){let u=n.append("switch"),d=u.append("foreignObject").attr("x",r).attr("y",i).attr("width",s).attr("height",l).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,u,r,i,s,l,o,h),a(d,o)}function a(t,e){for(let n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return(0,h.K)(t,"byText"),(0,h.K)(e,"byTspan"),(0,h.K)(n,"byFo"),(0,h.K)(a,"_setTextAttrs"),function(a){return"fo"===a.textPlacement?n:"old"===a.textPlacement?t:e}}(),td=(0,h.K)((t,e)=>{if("sandbox"===e){let e=(0,u.Ltv)("#i"+t),n=e.node()?.contentDocument;if(!n)throw Error(`Sandbox iframe #i${t} is missing its content document`);return{root:(0,u.Ltv)(n.body),doc:n}}return{root:(0,u.Ltv)("body"),doc:document}},"getDiagramRoot"),tp=new Set(["system_queue","external_system_queue","container_queue","external_container_queue","component_queue","external_component_queue"]),ty=new Set(["system_db","external_system_db","container_db","external_container_db","component_db","external_component_db"]),tb={person:"person",box:"rounded",rounded:"rounded",cylinder:"cylinder",database:"cylinder",db:"cylinder",queue:"h-cyl",pipe:"h-cyl",component:"fr-rect"},t_=(0,h.K)(t=>t?tb[t.toLowerCase()]:void 0,"keywordShape"),tf=(0,h.K)(t=>{let e=t_(t.shape)??t_(t.sprite);if(e)return e;if(t.tags)for(let e of t.tags.split(",")){let t=t_(e.trim());if(t)return t}let n=t.typeC4Shape.text;return"person"===n||"external_person"===n?"person":ty.has(n)?"cylinder":tp.has(n)?"h-cyl":"rounded"},"resolveNodeShape"),tm={person:"Person",system:"Software System",container:"Container",component:"Component"},tg=(0,h.K)(t=>{let e=t.replace(/^external_/,"").replace(/_(db|queue)$/,"");return tm[e]??e.replace(/_/g," ")},"stereotypeLabel"),tx=(0,h.K)(t=>t.startsWith("external_"),"isExternal"),tE=(0,h.K)(t=>{let e=tg(t.typeC4Shape.text);return t.techn?.text?`[${e}: ${t.techn.text}]`:`[${e}]`},"stereotypeText"),tS=["person","system","system_db","system_queue","container","container_db","container_queue","component","component_db","component_queue"].flatMap(t=>[t,`external_${t}`]),tT=new Set(tS),tk=(0,h.K)(t=>tT.has(t),"isC4ElementType"),tC=(0,h.K)((t,e)=>{let n=t.typeC4Shape.text,a=t.bgColor??(tk(n)&&e[`${n}_bg_color`]),r=t.borderColor??(tk(n)&&e[`${n}_border_color`]),i=[];return a&&i.push(`fill:${a}`),r&&i.push(`stroke:${r}`),i.push(`color:${t.fontColor??"#FFFFFF"}`),i},"elementCssStyles"),tv=(0,h.K)((t,e,n,a,r)=>{let i=t.typeC4Shape.text,s=["c4-shape",`c4-${i}`];tx(i)&&s.push("c4-external");let l=tf(t),o=tC(t,e);return("rounded"===l||"fr-rect"===l)&&o.push("rx:12px","ry:12px"),{id:t.alias,label:t.label.text,stereotype:tE(t),description:t.descr?.text?[t.descr.text]:void 0,labelType:"string",isGroup:!1,shape:l,cssClasses:s.join(" "),cssStyles:o,padding:n,look:a,useHtmlLabels:!1,width:r}},"buildC4Node"),tO=0,tR=0,tw=4,tP=2;d.yy=tt;var tD={},tN=class{static{(0,h.K)(this,"Bounds")}constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,tK(t.db.getConfig())}setData(t,e,n,a){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=a}updateVal(t,e,n,a){void 0===t[e]?t[e]=n:t[e]=a(n,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.stopx,n=this.data.widthLimit,a=this.nextData.startx===this.nextData.stopx?e+t.margin:e+2*t.margin,r=a+t.width,i=this.nextData.starty+2*t.margin,s=i+t.height;(a>=n||r>=n||this.nextData.cnt>tw)&&(a=this.nextData.startx+t.margin+tD.nextLinePaddingX,i=this.nextData.stopy+2*t.margin,this.nextData.stopx=r=a+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=s=i+t.height,this.nextData.cnt=1),t.x=a,t.y=i,this.updateVal(this.data,"startx",a,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",r,Math.max),this.updateVal(this.data,"stopy",s,Math.max),this.updateVal(this.nextData,"startx",a,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",r,Math.max),this.updateVal(this.nextData,"stopy",s,Math.max)}init(t){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},tK(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},tK=(0,h.K)(function(t){(0,l.hH)(tD,t),t?.fontFamily&&(tD.personFontFamily=tD.systemFontFamily=tD.messageFontFamily=t.fontFamily),t?.fontSize&&(tD.personFontSize=tD.systemFontSize=tD.messageFontSize=t.fontSize),t?.fontWeight&&(tD.personFontWeight=tD.systemFontWeight=tD.messageFontWeight=t.fontWeight)},"setConf"),tL=(0,h.K)(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),tA=(0,h.K)(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function tM(t,e,n,a,r){let i=e[t];if(!i.width)if(n)i.text=(0,s.bH)(i.text,r,a),i.textLines=i.text.split(l.Y2.lineBreakRegex).length,i.width=r,i.height=(0,s.ru)(i.text,a);else{let t=i.text.split(l.Y2.lineBreakRegex);i.textLines=t.length;let e=0;for(let n of(i.height=0,i.width=0,t))i.width=Math.max((0,s.Un)(n,a),i.width),e=(0,s.ru)(n,a),i.height=i.height+e}return i}(0,h.K)(tM,"calcC4ShapeTextWH");var t$=(0,h.K)(function(t,e,n){let a=n.data.startx,r=n.data.starty;e.x=a,e.y=r,e.width=n.data.stopx-a,e.height=n.data.stopy-r,e.intersect=t=>i.I7.rect({x:e.x+e.width/2,y:e.y+e.height/2,width:e.width,height:e.height},t),e.label.y=tD.c4ShapeMargin-35;let l=e.wrap&&tD.wrap,o=tL(tD);o.fontSize=o.fontSize+2,o.fontWeight="bold";let h=(0,s.Un)(e.label.text,o);tM("label",e,l,o,h),ta(t,e,tD)},"drawBoundary"),tI=(0,h.K)(async function(t,e,n,a){let r=(0,l.D7)(),s=r.look??"classic",o={config:r},u=e.attr("id")??"",d=a.map(t=>n[Number(t)]),p=(0,h.K)(t=>{let e=t.shape?i.nq[t.shape]:void 0;if(!e)throw Error(`C4: no shape handler for "${t.shape}"`);return e},"shapeHandlerFor");for(let n of(await Promise.all(d.map(async t=>{let n=tv(t,tD,tD.c4ShapePadding,s,tD.width);n.domId=`${u}-${n.id}`;let a=await p(n)(e,n,o);t.width=n.width??tD.width,t.height=n.height??tD.height,t.margin=tD.c4ShapeMargin,a.remove()})),d))t.insert(n);await Promise.all(d.map(async t=>{let n=tv(t,tD,tD.c4ShapePadding,s,tD.width);n.domId=`${u}-${n.id}`,n.x=t.x+t.width/2,n.y=t.y+t.height/2;let a=e.append("g").attr("transform",`translate(${t.x+t.width/2}, ${t.y+t.height/2})`);await p(n)(a,n,o),t.intersect=n.intersect})),t.bumpLastMargin(tD.c4ShapeMargin)},"drawC4ShapeArray"),tB=class{static{(0,h.K)(this,"Point")}constructor(t,e){this.x=t,this.y=e}},tj=(0,h.K)(function(t,e){if(!t.intersect)throw Error(`C4 element "${t.alias}" has no intersect function. Please report this to https://github.com/mermaid-js/mermaid/issues`);let{x:n,y:a}=t.intersect(e);return new tB(n,a)},"getIntersectPoint"),tY=(0,h.K)(function(t,e){let n={x:0,y:0};n.x=e.x+e.width/2,n.y=e.y+e.height/2;let a=tj(t,n);return n.x=t.x+t.width/2,n.y=t.y+t.height/2,{startPoint:a,endPoint:tj(e,n)}},"getIntersectPoints"),tU=(0,h.K)(function(t,e,n,a,r){let i=a.db.getC4Type(),l=0;for(let t of e){l+=1;let e=t.wrap&&tD.wrap,a=tA(tD);"C4Dynamic"===i&&(t.label.text=l+": "+t.label.text);let r=(0,s.Un)(t.label.text,a);tM("label",t,e,a,r),t.techn&&""!==t.techn.text&&(r=(0,s.Un)(t.techn.text,a),tM("techn",t,e,a,r)),t.descr&&""!==t.descr.text&&(r=(0,s.Un)(t.descr.text,a),tM("descr",t,e,a,r));let o=n(t.from),h=n(t.to);if(!o||!h)throw Error(`C4 rel "${t.from}" -> "${t.to}" references an unknown shape or boundary`);let u=tY(o,h);if(!u.startPoint||!u.endPoint)throw Error(`Could not calculate intersection points for rel "${t.from}" -> "${t.to}"`);t.startPoint=u.startPoint,t.endPoint=u.endPoint}tn(t,e,tD,r)},"drawRels");async function tF(t,e,n,a,r){let i=r.db,s=new tN(r);for(let[l,o]of(s.data.widthLimit=n.data.widthLimit/Math.min(tP,a.length),a.entries())){let a=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=a,a=o.image.Y+o.image.height);let h=o.wrap&&tD.wrap,u=tL(tD);u.fontSize=u.fontSize+2,u.fontWeight="bold";let d=tM("label",o,h,u,s.data.widthLimit);if(d.Y=a+8,a=d.Y+d.height,o.type&&""!==o.type.text){o.type.text="["+o.type.text+"]";let t=tM("type",o,h,tL(tD),s.data.widthLimit);t.Y=a+5,a=t.Y+t.height}if(o.descr&&""!==o.descr.text){let t=tL(tD);t.fontSize=t.fontSize-2;let e=tM("descr",o,h,t,s.data.widthLimit);e.Y=a+20,a=e.Y+e.height}if(0==l||l%tP==0){let t=n.data.startx+tD.diagramMarginX,e=n.data.stopy+tD.diagramMarginY+a;s.setData(t,t,e,e)}else{let t=s.data.stopx!==s.data.startx?s.data.stopx+tD.diagramMarginX:s.data.startx,e=s.data.starty;s.setData(t,t,e,e)}s.name=o.alias;let p=i.getC4ShapeArray(o.alias),y=i.getC4ShapeKeys(o.alias);y.length>0&&await tI(s,t,p,y),e=o.alias;let b=i.getBoundaries(e);b.length>0&&await tF(t,e,s,b,r),"global"!==o.alias&&t$(t,o,s),n.data.stopy=Math.max(s.data.stopy+tD.c4ShapeMargin,n.data.stopy),n.data.stopx=Math.max(s.data.stopx+tD.c4ShapeMargin,n.data.stopx),tO=Math.max(tO,n.data.stopx),tR=Math.max(tR,n.data.stopy)}}(0,h.K)(tF,"drawInsideBoundary");var tz={drawPersonOrSystemArray:tI,drawBoundary:t$,setConf:tK,draw:(0,h.K)(async function(t,e,n,a){tD=p("c4");let{root:r}=td(e,(0,l.D7)().securityLevel),i=a.db;i.setWrap(tD.wrap),tw=i.getC4ShapeInRow(),tP=i.getC4BoundaryInRow(),o.R.debug(`C:${JSON.stringify(tD,null,2)}`);let s=r.select(`[id="${e}"]`);ti(s,e),tr(s,e),ts(s,e);let h=new tN(a);h.setData(tD.diagramMarginX,tD.diagramMarginX,tD.diagramMarginY,tD.diagramMarginY),h.data.widthLimit=screen.availWidth,tO=tD.diagramMarginX,tR=tD.diagramMarginY;let u=i.getTitle(),d=i.getBoundaries("");await tF(s,"",h,d,a),tl(s,e),to(s,e),th(s,e),tc(s,e),tU(s,i.getRels(),i.getC4Shape,a,e),h.data.stopx=tO,h.data.stopy=tR;let y=h.data,b=y.startx,_=y.starty,f=tR-_+2*tD.diagramMarginY,m=tO-b,g=m+2*tD.diagramMarginX;u&&s.append("text").text(u).attr("x",m/2-4*tD.diagramMarginX).attr("y",_+tD.diagramMarginY),(0,l.a$)(s,f,g,tD.useMaxWidth);let x=60*!!u;s.attr("viewBox",b-tD.diagramMarginX+" -"+(tD.diagramMarginY+x)+" "+g+" "+(f+x)),o.R.debug("models:",y)},"draw")},tX=(0,h.K)(()=>{let t=(0,l.D7)().c4??{},e=new CSSStyleSheet;for(let n of tS){let a=e.cssRules[e.insertRule(`.c4-shape.c4-${n} .label {}`,e.cssRules.length)],r=t[`${n}FontFamily`],i=t[`${n}FontSize`],s=t[`${n}FontWeight`];r&&a.style.setProperty("font-family",r),i&&a.style.setProperty("font-size","number"==typeof i?`${i}px`:i),s&&a.style.setProperty("font-weight",String(s))}return[...e.cssRules].filter(t=>t.style.length>0).map(t=>` ${t.cssText}`).join("\n")},"elementFontStyles"),tq={parser:d,db:tt,renderer:tz,styles:(0,h.K)(t=>`.person { + stroke: ${t.personBorder}; + fill: ${t.personBkg}; + } +${tX()} + + /* The element font colour is set inline per element (default white); the + label text takes it via currentColor. */ + .c4-shape .label, + .c4-shape .label text { + color: inherit; + fill: currentColor; + } + /* Structurizr typography: bold name, smaller stereotype/type and description lines. */ + .c4-shape .label .c4-name { + font-weight: bold; + } + .c4-shape .label .c4-type { + font-size: 0.75em; + } + .c4-shape .label .c4-descr { + font-size: 0.82em; + } + .c4-shape .basic, + .c4-shape rect, + .c4-shape path, + .c4-shape circle, + .c4-shape ellipse, + .c4-shape line { + stroke-width: 2px; + } +`,"getStyles"),init:(0,h.K)(({c4:t,wrap:e})=>{tz.setConf(t),tt.setWrap(e)},"init")}},2735(t,e,n){n.d(e,{CP:()=>d,Ck:()=>b,HT:()=>y,PB:()=>p,aC:()=>u,lC:()=>o,m:()=>h,tk:()=>l});var a=n(1177),r=n(6827),i=n(6750),s=n(7829),l=(0,r.K)((t,e)=>{let n=t.append("rect");if(n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),e.name&&n.attr("name",e.name),e.rx&&n.attr("rx",e.rx),e.ry&&n.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)n.attr(t,e.attrs[t]);return e.class&&n.attr("class",e.class),n},"drawRect"),o=(0,r.K)((t,e)=>{l(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),h=(0,r.K)((t,e)=>{let n=e.text.replace(a.H1," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let i=r.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.text(n),r},"drawText"),u=(0,r.K)((t,e,n,a)=>{let r=t.append("image");r.attr("x",e),r.attr("y",n);let s=(0,i.sanitizeUrl)(a);r.attr("xlink:href",s)},"drawImage"),d=(0,r.K)((t,e,n,a)=>{let r=t.append("use");r.attr("x",e),r.attr("y",n);let s=(0,i.sanitizeUrl)(a);r.attr("xlink:href",`#${s}`)},"drawEmbeddedImage"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),y=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),b=(0,r.K)(()=>{let t=(0,s.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,s.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")}}]); \ No newline at end of file diff --git a/en/assets/js/190.c766b1ae.js b/en/assets/js/190.c766b1ae.js new file mode 100644 index 0000000..e918b38 --- /dev/null +++ b/en/assets/js/190.c766b1ae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["190"],{6445(e,s,r){r.d(s,{createInfoServices:()=>a.v});var a=r(4614);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/1a0052a3.2e24b2ea.js b/en/assets/js/1a0052a3.2e24b2ea.js new file mode 100644 index 0000000..6298b48 --- /dev/null +++ b/en/assets/js/1a0052a3.2e24b2ea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1389"],{6185(e,r,t){t.r(r),t.d(r,{metadata:()=>a,default:()=>p,frontMatter:()=>i,contentTitle:()=>o,toc:()=>c,assets:()=>l});var a=JSON.parse('{"id":"core/parameter-compile","title":"Parameter Extraction and Prepared SQL","description":"Extract dynamic SELECT parameters and build JDBC prepared SQL","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/parameter-compile.md","sourceDirName":"core","slug":"/core/parameter-compile","permalink":"/SqlParserX/en/docs/core/parameter-compile","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/parameter-compile.md","tags":[],"version":"1.0","sidebarPosition":6,"frontMatter":{"title":"Parameter Extraction and Prepared SQL","description":"Extract dynamic SELECT parameters and build JDBC prepared SQL","sidebar_label":"Parameter Extraction","sidebar_position":6},"sidebar":"docs","previous":{"title":"Function Parsing","permalink":"/SqlParserX/en/docs/core/function-parse"},"next":{"title":"Contributing","permalink":"/SqlParserX/en/docs/contributing"}}'),n=t(4848),s=t(8453);let i={title:"Parameter Extraction and Prepared SQL",description:"Extract dynamic SELECT parameters and build JDBC prepared SQL",sidebar_label:"Parameter Extraction",sidebar_position:6},o="Parameter Extraction and Prepared SQL",l={},c=[];function d(e){let r={code:"code",h1:"h1",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.header,{children:(0,n.jsx)(r.h1,{id:"parameter-extraction-and-prepared-sql",children:"Parameter Extraction and Prepared SQL"})}),"\n",(0,n.jsxs)(r.p,{children:["SqlParserX extracts ",(0,n.jsx)(r.code,{children:"${variable}"})," expressions and output fields from SELECT statements. Given parameter values, it produces JDBC ",(0,n.jsx)(r.code,{children:"?"})," placeholders and an ordered binding list."]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-java",children:'ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);\nString sql = "SELECT id, name FROM users "\n + "WHERE dt = \'${bizdate}\' AND region = \'${region}\'";\n\nParseParameterResult parsed = parser.parseParameterSql(\n sql, false, Collections.emptyMap());\n\nMap<String, Object> values = new HashMap<>();\nvalues.put("bizdate", "20261014");\nvalues.put("region", "hangzhou");\n\nPrepareCompileResult compiled = parser.buildSqlByPrepareCompile(\n sql, values, Collections.emptyMap());\nSystem.out.println(compiled.getBeautifulSql());\nSystem.out.println(compiled.getInputFields());\n'})}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-text",children:"SELECT id, name FROM users WHERE dt = ? AND region = ?\n[20261014, hangzhou]\n"})}),"\n",(0,n.jsx)(r.p,{children:"The common implementation currently targets SELECT statements. Variables used as identifiers in sorting or grouping clauses are inlined."})]})}function p(e={}){let{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453(e,r,t){t.d(r,{R:()=>i,x:()=>o});var a=t(6540);let n={},s=a.createContext(n);function i(e){let r=a.useContext(s);return a.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/1f5cb825.56402be9.js b/en/assets/js/1f5cb825.56402be9.js new file mode 100644 index 0000000..38483f0 --- /dev/null +++ b/en/assets/js/1f5cb825.56402be9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4684"],{8607(e,t,r){r.r(t),r.d(t,{metadata:()=>s,default:()=>d,frontMatter:()=>a,contentTitle:()=>o,toc:()=>l,assets:()=>c});var s=JSON.parse('{"id":"core/sql-type","title":"SQL Type Detection","description":"Detect the business SQL type from the parsed syntax tree","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/core/sql-type.md","sourceDirName":"core","slug":"/core/sql-type","permalink":"/SqlParserX/en/docs/next/core/sql-type","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/sql-type.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"SQL Type Detection","description":"Detect the business SQL type from the parsed syntax tree","sidebar_label":"SQL Type Detection","sidebar_position":1},"sidebar":"docs","previous":{"title":"Setup & Build","permalink":"/SqlParserX/en/docs/next/quickstart/setup"},"next":{"title":"Field Lineage","permalink":"/SqlParserX/en/docs/next/core/field-lineage"}}'),n=r(4848),i=r(8453);let a={title:"SQL Type Detection",description:"Detect the business SQL type from the parsed syntax tree",sidebar_label:"SQL Type Detection",sidebar_position:1},o="SQL Type Detection",c={},l=[];function p(e){let t={code:"code",h1:"h1",header:"header",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"sql-type-detection",children:"SQL Type Detection"})}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"parseSqlType"})," parses SQL with the selected datasource dialect and maps the resulting Druid AST to a unified ",(0,n.jsx)(t.code,{children:"SqlType"}),". It can drive statement routing, audit classification, and execution policies."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-java",children:'ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);\n\nSqlType queryType = parser.parseSqlType("SELECT id FROM users");\nSqlType insertType = parser.parseSqlType(\n "INSERT INTO target_table SELECT id FROM source_table");\n\nSystem.out.println(queryType); // QUERY\nSystem.out.println(insertType); // INSERT\n'})}),"\n",(0,n.jsxs)(t.p,{children:["The common implementation recognizes query, DML, DDL, SHOW, DESCRIBE, and EXPLAIN statements. An unclassified AST returns ",(0,n.jsx)(t.code,{children:"OTHER"}),"; syntax support still depends on the selected dialect."]})]})}function d(e={}){let{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8453(e,t,r){r.d(t,{R:()=>a,x:()=>o});var s=r(6540);let n={},i=s.createContext(n);function a(e){let t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/2107.f3b80883.js b/en/assets/js/2107.f3b80883.js new file mode 100644 index 0000000..4580ff1 --- /dev/null +++ b/en/assets/js/2107.f3b80883.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2107"],{9346(t,e,r){r.d(e,{A:()=>i});var n=r(6984);let o=function(t,e){for(var r=t.length;r--;)if((0,n.A)(t[r][0],e))return r;return -1};var u=Array.prototype.splice;function a(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}a.prototype.clear=function(){this.__data__=[],this.size=0},a.prototype.delete=function(t){var e=this.__data__,r=o(e,t);return!(r<0)&&(r==e.length-1?e.pop():u.call(e,r,1),--this.size,!0)},a.prototype.get=function(t){var e=this.__data__,r=o(e,t);return r<0?void 0:e[r][1]},a.prototype.has=function(t){return o(this.__data__,t)>-1},a.prototype.set=function(t,e){var r=this.__data__,n=o(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};let i=a},8335(t,e,r){r.d(e,{A:()=>u});var n=r(8983),o=r(1917);let u=(0,n.A)(o.A,"Map")},1046(t,e,r){r.d(e,{A:()=>s});var n=(0,r(8983).A)(Object,"create"),o=Object.prototype.hasOwnProperty,u=Object.prototype.hasOwnProperty;function a(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}a.prototype.clear=function(){this.__data__=n?n(null):{},this.size=0},a.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=!!e,e},a.prototype.get=function(t){var e=this.__data__;if(n){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(e,t)?e[t]:void 0},a.prototype.has=function(t){var e=this.__data__;return n?void 0!==e[t]:u.call(e,t)},a.prototype.set=function(t,e){var r=this.__data__;return this.size+=+!this.has(t),r[t]=n&&void 0===e?"__lodash_hash_undefined__":e,this};var i=r(9346),c=r(8335);let l=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t},f=function(t,e){var r=t.__data__;return l(e)?r["string"==typeof e?"string":"hash"]:r.map};function A(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}A.prototype.clear=function(){this.size=0,this.__data__={hash:new a,map:new(c.A||i.A),string:new a}},A.prototype.delete=function(t){var e=f(this,t).delete(t);return this.size-=!!e,e},A.prototype.get=function(t){return f(this,t).get(t)},A.prototype.has=function(t){return f(this,t).has(t)},A.prototype.set=function(t,e){var r=f(this,t),n=r.size;return r.set(t,e),this.size+=+(r.size!=n),this};let s=A},9857(t,e,r){r.d(e,{A:()=>u});var n=r(8983),o=r(1917);let u=(0,n.A)(o.A,"Set")},674(t,e,r){r.d(e,{A:()=>u});var n=r(1046);function o(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new n.A;++e<r;)this.add(t[e])}o.prototype.add=o.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},o.prototype.has=function(t){return this.__data__.has(t)};let u=o},13(t,e,r){r.d(e,{A:()=>i});var n=r(9346),o=r(8335),u=r(1046);function a(t){var e=this.__data__=new n.A(t);this.size=e.size}a.prototype.clear=function(){this.__data__=new n.A,this.size=0},a.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},a.prototype.get=function(t){return this.__data__.get(t)},a.prototype.has=function(t){return this.__data__.has(t)},a.prototype.set=function(t,e){var r=this.__data__;if(r instanceof n.A){var a=r.__data__;if(!o.A||a.length<199)return a.push([t,e]),this.size=++r.size,this;r=this.__data__=new u.A(a)}return r.set(t,e),this.size=r.size,this};let i=a},241(t,e,r){r.d(e,{A:()=>n});let n=r(1917).A.Symbol},3988(t,e,r){r.d(e,{A:()=>n});let n=r(1917).A.Uint8Array},2641(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}},2634(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,u=[];++r<n;){var a=t[r];e(a,r,t)&&(u[o++]=a)}return u}},5530(t,e,r){r.d(e,{A:()=>o});var n=r(4428);let o=function(t,e){return!!(null==t?0:t.length)&&(0,n.A)(t,e,0)>-1}},7809(t,e,r){r.d(e,{A:()=>n});let n=function(t,e,r){for(var n=-1,o=null==t?0:t.length;++n<o;)if(r(e,t[n]))return!0;return!1}},1463(t,e,r){r.d(e,{A:()=>f});let n=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n};var o=r(18),u=r(2049),a=r(5254),i=r(5353),c=r(9415),l=Object.prototype.hasOwnProperty;let f=function(t,e){var r=(0,u.A)(t),f=!r&&(0,o.A)(t),A=!r&&!f&&(0,a.A)(t),s=!r&&!f&&!A&&(0,c.A)(t),v=r||f||A||s,p=v?n(t.length,String):[],d=p.length;for(var h in t)(e||l.call(t,h))&&!(v&&("length"==h||A&&("offset"==h||"parent"==h)||s&&("buffer"==h||"byteLength"==h||"byteOffset"==h)||(0,i.A)(h,d)))&&p.push(h);return p}},5572(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o}},6912(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}},3736(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}},5045(t,e,r){r.d(e,{A:()=>a});var n,o=r(9841),u=r(8446);let a=(n=o.A,function(t,e){if(null==t)return t;if(!(0,u.A)(t))return n(t,e);for(var r=t.length,o=-1,a=Object(t);++o<r&&!1!==e(a[o],o,a););return t})},1790(t,e,r){r.d(e,{A:()=>o});var n=r(5045);let o=function(t,e){var r=[];return(0,n.A)(t,function(t,n,o){e(t,n,o)&&r.push(t)}),r}},5707(t,e,r){r.d(e,{A:()=>n});let n=function(t,e,r,n){for(var o=t.length,u=r+(n?1:-1);n?u--:++u<o;)if(e(t[u],u,t))return u;return -1}},6335(t,e,r){r.d(e,{A:()=>l});var n=r(6912),o=r(241),u=r(18),a=r(2049),i=o.A?o.A.isConcatSpreadable:void 0;let c=function(t){return(0,a.A)(t)||(0,u.A)(t)||!!(i&&t&&t[i])},l=function t(e,r,o,u,a){var i=-1,l=e.length;for(o||(o=c),a||(a=[]);++i<l;){var f=e[i];r>0&&o(f)?r>1?t(f,r-1,o,u,a):(0,n.A)(a,f):u||(a[a.length]=f)}return a}},3816(t,e,r){r.d(e,{A:()=>n});let n=function(t,e,r){for(var n=-1,o=Object(t),u=r(t),a=u.length;a--;){var i=u[++n];if(!1===e(o[i],i,o))break}return t}},9841(t,e,r){r.d(e,{A:()=>u});var n=r(3816),o=r(7422);let u=function(t,e){return t&&(0,n.A)(t,e,o.A)}},6318(t,e,r){r.d(e,{A:()=>u});var n=r(4548),o=r(901);let u=function(t,e){e=(0,n.A)(e,t);for(var r=0,u=e.length;null!=t&&r<u;)t=t[(0,o.A)(e[r++])];return r&&r==u?t:void 0}},3831(t,e,r){r.d(e,{A:()=>u});var n=r(6912),o=r(2049);let u=function(t,e,r){var u=e(t);return(0,o.A)(t)?u:(0,n.A)(u,r(t))}},8348(t,e,r){r.d(e,{A:()=>A});var n=r(241),o=Object.prototype,u=o.hasOwnProperty,a=o.toString,i=n.A?n.A.toStringTag:void 0;let c=function(t){var e=u.call(t,i),r=t[i];try{t[i]=void 0;var n=!0}catch(t){}var o=a.call(t);return n&&(e?t[i]=r:delete t[i]),o};var l=Object.prototype.toString,f=n.A?n.A.toStringTag:void 0;let A=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":f&&f in Object(t)?c(t):l.call(t)}},4428(t,e,r){r.d(e,{A:()=>a});var n=r(5707);let o=function(t){return t!=t},u=function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return -1},a=function(t,e,r){return e==e?u(t,e,r):(0,n.A)(t,o,r)}},1990(t,e,r){r.d(e,{A:()=>W});var n=r(13),o=r(674),u=r(3736),a=r(4099);let i=function(t,e,r,n,i,c){var l=1&r,f=t.length,A=e.length;if(f!=A&&!(l&&A>f))return!1;var s=c.get(t),v=c.get(e);if(s&&v)return s==e&&v==t;var p=-1,d=!0,h=2&r?new o.A:void 0;for(c.set(t,e),c.set(e,t);++p<f;){var b=t[p],y=e[p];if(n)var _=l?n(y,b,p,e,t,c):n(b,y,p,t,e,c);if(void 0!==_){if(_)continue;d=!1;break}if(h){if(!(0,u.A)(e,function(t,e){if(!(0,a.A)(h,e)&&(b===t||i(b,t,r,n,c)))return h.push(e)})){d=!1;break}}else if(!(b===y||i(b,y,r,n,c))){d=!1;break}}return c.delete(t),c.delete(e),d};var c=r(241),l=r(3988),f=r(6984);let A=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r};var s=r(9959),v=c.A?c.A.prototype:void 0,p=v?v.valueOf:void 0;let d=function(t,e,r,n,o,u,a){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)break;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":if(t.byteLength!=e.byteLength||!u(new l.A(t),new l.A(e)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,f.A)(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var c=A;case"[object Set]":var v=1&n;if(c||(c=s.A),t.size!=e.size&&!v)break;var d=a.get(t);if(d)return d==e;n|=2,a.set(t,e);var h=i(c(t),c(e),n,o,u,a);return a.delete(t),h;case"[object Symbol]":if(p)return p.call(t)==p.call(e)}return!1};var h=r(9042),b=Object.prototype.hasOwnProperty;let y=function(t,e,r,n,o,u){var a=1&r,i=(0,h.A)(t),c=i.length;if(c!=(0,h.A)(e).length&&!a)return!1;for(var l=c;l--;){var f=i[l];if(!(a?f in e:b.call(e,f)))return!1}var A=u.get(t),s=u.get(e);if(A&&s)return A==e&&s==t;var v=!0;u.set(t,e),u.set(e,t);for(var p=a;++l<c;){var d=t[f=i[l]],y=e[f];if(n)var _=a?n(y,d,f,e,t,u):n(d,y,f,t,e,u);if(!(void 0===_?d===y||o(d,y,r,n,u):_)){v=!1;break}p||(p="constructor"==f)}if(v&&!p){var g=t.constructor,j=e.constructor;g!=j&&"constructor"in t&&"constructor"in e&&!("function"==typeof g&&g instanceof g&&"function"==typeof j&&j instanceof j)&&(v=!1)}return u.delete(t),u.delete(e),v};var _=r(3231),g=r(2049),j=r(5254),O=r(9415),w="[object Arguments]",m="[object Array]",z="[object Object]",S=Object.prototype.hasOwnProperty;let x=function(t,e,r,o,u,a){var c=(0,g.A)(t),l=(0,g.A)(e),f=c?m:(0,_.A)(t),A=l?m:(0,_.A)(e);f=f==w?z:f,A=A==w?z:A;var s=f==z,v=A==z,p=f==A;if(p&&(0,j.A)(t)){if(!(0,j.A)(e))return!1;c=!0,s=!1}if(p&&!s)return a||(a=new n.A),c||(0,O.A)(t)?i(t,e,r,o,u,a):d(t,e,f,r,o,u,a);if(!(1&r)){var h=s&&S.call(t,"__wrapped__"),b=v&&S.call(e,"__wrapped__");if(h||b){var x=h?t.value():t,k=b?e.value():e;return a||(a=new n.A),u(x,k,r,o,a)}}return!!p&&(a||(a=new n.A),y(t,e,r,o,u,a))};var k=r(3098);let P=function t(e,r,n,o,u){return e===r||(null!=e&&null!=r&&((0,k.A)(e)||(0,k.A)(r))?x(e,r,n,o,t,u):e!=e&&r!=r)},E=function(t,e,r,o){var u=r.length,a=u,i=!o;if(null==t)return!a;for(t=Object(t);u--;){var c=r[u];if(i&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++u<a;){var l=(c=r[u])[0],f=t[l],A=c[1];if(i&&c[2]){if(void 0===f&&!(l in t))return!1}else{var s=new n.A;if(o)var v=o(f,A,l,t,e,s);if(!(void 0===v?P(A,f,3,o,s):v))return!1}}return!0};var $=r(3149);let F=function(t){return t==t&&!(0,$.A)(t)};var M=r(7422);let T=function(t){for(var e=(0,M.A)(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,F(o)]}return e},C=function(t,e){return function(r){return null!=r&&r[t]===e&&(void 0!==e||t in Object(r))}},B=function(t){var e=T(t);return 1==e.length&&e[0][2]?C(e[0][0],e[0][1]):function(r){return r===t||E(r,t,e)}};var D=r(6318);let I=function(t,e,r){var n=null==t?void 0:(0,D.A)(t,e);return void 0===n?r:n};var U=r(6953),L=r(6586),q=r(901),R=r(9008),V=r(805);let N=function(t){return(0,L.A)(t)?(0,V.A)((0,q.A)(t)):function(e){return(0,D.A)(e,t)}},W=function(t){if("function"==typeof t)return t;if(null==t)return R.A;if("object"==typeof t){var e,r;return(0,g.A)(t)?(e=t[0],r=t[1],(0,L.A)(e)&&F(r)?C((0,q.A)(e),r):function(t){var n=I(t,e);return void 0===n&&n===r?(0,U.A)(t,e):P(r,n,3)}):B(t)}return N(t)}},4065(t,e,r){r.d(e,{A:()=>a});var n=r(7271),o=(0,r(367).A)(Object.keys,Object),u=Object.prototype.hasOwnProperty;let a=function(t){if(!(0,n.A)(t))return o(t);var e=[];for(var r in Object(t))u.call(t,r)&&"constructor"!=r&&e.push(r);return e}},805(t,e,r){r.d(e,{A:()=>n});let n=function(t){return function(e){return null==e?void 0:e[t]}}},4326(t,e,r){r.d(e,{A:()=>a});var n=r(9008),o=r(3310),u=r(7211);let a=function(t,e){return(0,u.A)((0,o.A)(t,e,n.A),t+"")}},2789(t,e,r){r.d(e,{A:()=>n});let n=function(t){return function(e){return t(e)}}},449(t,e,r){r.d(e,{A:()=>A});var n=r(674),o=r(5530),u=r(7809),a=r(4099),i=r(9857),c=r(2302),l=r(9959),f=i.A&&1/(0,l.A)(new i.A([,-0]))[1]==1/0?function(t){return new i.A(t)}:c.A;let A=function(t,e,r){var i=-1,c=o.A,A=t.length,s=!0,v=[],p=v;if(r)s=!1,c=u.A;else if(A>=200){var d=e?null:f(t);if(d)return(0,l.A)(d);s=!1,c=a.A,p=new n.A}else p=e?[]:v;t:for(;++i<A;){var h=t[i],b=e?e(h):h;if(h=r||0!==h?h:0,s&&b==b){for(var y=p.length;y--;)if(p[y]===b)continue t;e&&p.push(b),v.push(h)}else c(p,b,r)||(p!==v&&p.push(b),v.push(h))}return v}},4099(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){return t.has(e)}},9922(t,e,r){r.d(e,{A:()=>o});var n=r(9008);let o=function(t){return"function"==typeof t?t:n.A}},4548(t,e,r){r.d(e,{A:()=>v});var n,o,u=r(2049),a=r(6586),i=r(1046);function c(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],u=r.cache;if(u.has(o))return u.get(o);var a=t.apply(this,n);return r.cache=u.set(o,a)||u,a};return r.cache=new(c.Cache||i.A),r}c.Cache=i.A;var l=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,f=/\\(\\)?/g,A=(o=(n=c(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(l,function(t,r,n,o){e.push(n?o.replace(f,"$1"):r||t)}),e},function(t){return 500===o.size&&o.clear(),t})).cache,n),s=r(4898);let v=function(t,e){return(0,u.A)(t)?t:(0,a.A)(t,e)?[t]:A((0,s.A)(t))}},4171(t,e,r){r.d(e,{A:()=>o});var n=r(8983);let o=function(){try{var t=(0,n.A)(Object,"defineProperty");return t({},"",{}),t}catch(t){}}()},2136(t,e,r){r.d(e,{A:()=>n});let n="object"==typeof global&&global&&global.Object===Object&&global},9042(t,e,r){r.d(e,{A:()=>a});var n=r(3831),o=r(4792),u=r(7422);let a=function(t){return(0,n.A)(t,u.A,o.A)}},8983(t,e,r){r.d(e,{A:()=>d});var n,o=r(9610),u=r(1917).A["__core-js_shared__"],a=(n=/[^.]+$/.exec(u&&u.keys&&u.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",i=r(3149),c=r(1121),l=/^\[object .+?Constructor\]$/,f=Object.prototype,A=Function.prototype.toString,s=f.hasOwnProperty,v=RegExp("^"+A.call(s).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");let p=function(t){return!!(0,i.A)(t)&&(!a||!(a in t))&&((0,o.A)(t)?v:l).test((0,c.A)(t))},d=function(t,e){var r=null==t?void 0:t[e];return p(r)?r:void 0}},4792(t,e,r){r.d(e,{A:()=>i});var n=r(2634),o=r(3153),u=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols;let i=a?function(t){return null==t?[]:(t=Object(t),(0,n.A)(a(t),function(e){return u.call(t,e)}))}:o.A},3231(t,e,r){r.d(e,{A:()=>w});var n=r(8983),o=r(1917),u=(0,n.A)(o.A,"DataView"),a=r(8335),i=(0,n.A)(o.A,"Promise"),c=r(9857),l=(0,n.A)(o.A,"WeakMap"),f=r(8348),A=r(1121),s="[object Map]",v="[object Promise]",p="[object Set]",d="[object WeakMap]",h="[object DataView]",b=(0,A.A)(u),y=(0,A.A)(a.A),_=(0,A.A)(i),g=(0,A.A)(c.A),j=(0,A.A)(l),O=f.A;(u&&O(new u(new ArrayBuffer(1)))!=h||a.A&&O(new a.A)!=s||i&&O(i.resolve())!=v||c.A&&O(new c.A)!=p||l&&O(new l)!=d)&&(O=function(t){var e=(0,f.A)(t),r="[object Object]"==e?t.constructor:void 0,n=r?(0,A.A)(r):"";if(n)switch(n){case b:return h;case y:return s;case _:return v;case g:return p;case j:return d}return e});let w=O},5054(t,e,r){r.d(e,{A:()=>l});var n=r(4548),o=r(18),u=r(2049),a=r(5353),i=r(2873),c=r(901);let l=function(t,e,r){e=(0,n.A)(e,t);for(var l=-1,f=e.length,A=!1;++l<f;){var s=(0,c.A)(e[l]);if(!(A=null!=t&&r(t,s)))break;t=t[s]}return A||++l!=f?A:!!(f=null==t?0:t.length)&&(0,i.A)(f)&&(0,a.A)(s,f)&&((0,u.A)(t)||(0,o.A)(t))}},5353(t,e,r){r.d(e,{A:()=>o});var n=/^(?:0|[1-9]\d*)$/;let o=function(t,e){var r=typeof t;return!!(e=null==e?0x1fffffffffffff:e)&&("number"==r||"symbol"!=r&&n.test(t))&&t>-1&&t%1==0&&t<e}},6586(t,e,r){r.d(e,{A:()=>i});var n=r(2049),o=r(1882),u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;let i=function(t,e){if((0,n.A)(t))return!1;var r=typeof t;return!!("number"==r||"symbol"==r||"boolean"==r||null==t||(0,o.A)(t))||a.test(t)||!u.test(t)||null!=e&&t in Object(e)}},7271(t,e,r){r.d(e,{A:()=>o});var n=Object.prototype;let o=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},4841(t,e,r){r.d(e,{A:()=>i});var n=r(2136),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,u=o&&"object"==typeof module&&module&&!module.nodeType&&module,a=u&&u.exports===o&&n.A.process;let i=function(){try{var t=u&&u.require&&u.require("util").types;if(t)return t;return a&&a.binding&&a.binding("util")}catch(t){}}()},367(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){return function(r){return t(e(r))}}},3310(t,e,r){r.d(e,{A:()=>u});let n=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)};var o=Math.max;let u=function(t,e,r){return e=o(void 0===e?t.length-1:e,0),function(){for(var u=arguments,a=-1,i=o(u.length-e,0),c=Array(i);++a<i;)c[a]=u[e+a];a=-1;for(var l=Array(e+1);++a<e;)l[a]=u[a];return l[e]=r(c),n(t,this,l)}}},1917(t,e,r){r.d(e,{A:()=>u});var n=r(2136),o="object"==typeof self&&self&&self.Object===Object&&self;let u=n.A||o||Function("return this")()},9959(t,e,r){r.d(e,{A:()=>n});let n=function(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}},7211(t,e,r){r.d(e,{A:()=>f});var n,o,u=r(9142),a=r(4171),i=r(9008),c=a.A?function(t,e){return(0,a.A)(t,"toString",{configurable:!0,enumerable:!1,value:(0,u.A)(e),writable:!0})}:i.A,l=Date.now;let f=(n=0,o=0,function(){var t=l(),e=16-(t-o);if(o=t,e>0){if(++n>=800)return arguments[0]}else n=0;return c.apply(void 0,arguments)})},901(t,e,r){r.d(e,{A:()=>u});var n=r(1882),o=1/0;let u=function(t){if("string"==typeof t||(0,n.A)(t))return t;var e=t+"";return"0"==e&&1/t==-o?"-0":e}},1121(t,e,r){r.d(e,{A:()=>o});var n=Function.prototype.toString;let o=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},9142(t,e,r){r.d(e,{A:()=>n});let n=function(t){return function(){return t}}},6984(t,e,r){r.d(e,{A:()=>n});let n=function(t,e){return t===e||t!=t&&e!=e}},4092(t,e,r){r.d(e,{A:()=>i});var n=r(2634),o=r(1790),u=r(1990),a=r(2049);let i=function(t,e){return((0,a.A)(t)?n.A:o.A)(t,(0,u.A)(e,3))}},8058(t,e,r){r.d(e,{A:()=>i});var n=r(2641),o=r(5045),u=r(9922),a=r(2049);let i=function(t,e){return((0,a.A)(t)?n.A:o.A)(t,(0,u.A)(e))}},6953(t,e,r){r.d(e,{A:()=>u});let n=function(t,e){return null!=t&&e in Object(t)};var o=r(5054);let u=function(t,e){return null!=t&&(0,o.A)(t,e,n)}},9008(t,e,r){r.d(e,{A:()=>n});let n=function(t){return t}},18(t,e,r){r.d(e,{A:()=>l});var n=r(8348),o=r(3098);let u=function(t){return(0,o.A)(t)&&"[object Arguments]"==(0,n.A)(t)};var a=Object.prototype,i=a.hasOwnProperty,c=a.propertyIsEnumerable;let l=u(function(){return arguments}())?u:function(t){return(0,o.A)(t)&&i.call(t,"callee")&&!c.call(t,"callee")}},2049(t,e,r){r.d(e,{A:()=>n});let n=Array.isArray},8446(t,e,r){r.d(e,{A:()=>u});var n=r(9610),o=r(2873);let u=function(t){return null!=t&&(0,o.A)(t.length)&&!(0,n.A)(t)}},3533(t,e,r){r.d(e,{A:()=>u});var n=r(8446),o=r(3098);let u=function(t){return(0,o.A)(t)&&(0,n.A)(t)}},5254(t,e,r){r.d(e,{A:()=>i});var n=r(1917),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,u=o&&"object"==typeof module&&module&&!module.nodeType&&module,a=u&&u.exports===o?n.A.Buffer:void 0;let i=(a?a.isBuffer:void 0)||function(){return!1}},6401(t,e,r){r.d(e,{A:()=>s});var n=r(4065),o=r(3231),u=r(18),a=r(2049),i=r(8446),c=r(5254),l=r(7271),f=r(9415),A=Object.prototype.hasOwnProperty;let s=function(t){if(null==t)return!0;if((0,i.A)(t)&&((0,a.A)(t)||"string"==typeof t||"function"==typeof t.splice||(0,c.A)(t)||(0,f.A)(t)||(0,u.A)(t)))return!t.length;var e=(0,o.A)(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if((0,l.A)(t))return!(0,n.A)(t).length;for(var r in t)if(A.call(t,r))return!1;return!0}},9610(t,e,r){r.d(e,{A:()=>u});var n=r(8348),o=r(3149);let u=function(t){if(!(0,o.A)(t))return!1;var e=(0,n.A)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},2873(t,e,r){r.d(e,{A:()=>n});let n=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=0x1fffffffffffff}},3149(t,e,r){r.d(e,{A:()=>n});let n=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},3098(t,e,r){r.d(e,{A:()=>n});let n=function(t){return null!=t&&"object"==typeof t}},1882(t,e,r){r.d(e,{A:()=>u});var n=r(8348),o=r(3098);let u=function(t){return"symbol"==typeof t||(0,o.A)(t)&&"[object Symbol]"==(0,n.A)(t)}},9415(t,e,r){r.d(e,{A:()=>f});var n=r(8348),o=r(2873),u=r(3098),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1;var i=r(2789),c=r(4841),l=c.A&&c.A.isTypedArray;let f=l?(0,i.A)(l):function(t){return(0,u.A)(t)&&(0,o.A)(t.length)&&!!a[(0,n.A)(t)]}},9592(t,e,r){r.d(e,{A:()=>n});let n=function(t){return void 0===t}},7422(t,e,r){r.d(e,{A:()=>a});var n=r(1463),o=r(4065),u=r(8446);let a=function(t){return(0,u.A)(t)?(0,n.A)(t):(0,o.A)(t)}},2302(t,e,r){r.d(e,{A:()=>n});let n=function(){}},4039(t,e,r){r.d(e,{A:()=>c});let n=function(t,e,r,n){var o=-1,u=null==t?0:t.length;for(n&&u&&(r=t[++o]);++o<u;)r=e(r,t[o],o,t);return r};var o=r(5045),u=r(1990);let a=function(t,e,r,n,o){return o(t,function(t,o,u){r=n?(n=!1,t):e(r,t,o,u)}),r};var i=r(2049);let c=function(t,e,r){var c=(0,i.A)(t)?n:a,l=arguments.length<3;return c(t,(0,u.A)(e,4),r,l,o.A)}},3153(t,e,r){r.d(e,{A:()=>n});let n=function(){return[]}},4898(t,e,r){r.d(e,{A:()=>A});var n=r(241),o=r(5572),u=r(2049),a=r(1882),i=1/0,c=n.A?n.A.prototype:void 0,l=c?c.toString:void 0;let f=function t(e){if("string"==typeof e)return e;if((0,u.A)(e))return(0,o.A)(e,t)+"";if((0,a.A)(e))return l?l.call(e):"";var r=e+"";return"0"==r&&1/e==-i?"-0":r},A=function(t){return null==t?"":f(t)}},2888(t,e,r){r.d(e,{A:()=>u});var n=r(5572),o=r(7422);let u=function(t){var e;return null==t?[]:(e=(0,o.A)(t),(0,n.A)(e,function(e){return t[e]}))}}}]); \ No newline at end of file diff --git a/en/assets/js/2240.925a2a48.js b/en/assets/js/2240.925a2a48.js new file mode 100644 index 0000000..a5d8bd6 --- /dev/null +++ b/en/assets/js/2240.925a2a48.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2240"],{8931(e,r,t){t.d(r,{diagram:()=>g});var a=t(1578),n=t(7454);t(4924),t(1177);var s=t(1293),l=t(6827),p=t(8731),i=(0,p.Pz)().RailroadPeg.parser.LangiumParser,o=(0,l.K)(e=>{let r=e.alternatives.map(u);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),u=(0,l.K)(e=>{let r=e.elements.map(m);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),m=(0,l.K)(e=>{let r=c(e.suffix);return e.operator?{type:"special",text:"&"===e.operator?`&${d(r)}`:`!${d(r)}`}:r},"transformPrefix"),d=(0,l.K)(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),c=(0,l.K)(e=>{let r=f(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),f=(0,l.K)(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return o(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=(0,l.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),P=(0,l.K)(e=>{(0,n.S)(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(e=>a.db.addRule(y(e)))},"populateDb"),g={parser:{parse:(0,l.K)(e=>{a.db.clear(),s.R.debug("[PEG Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;s.R.debug("[PEG Parser] Parsed rules:",t.rules.length),P(t),s.R.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.U,styles:a.$}}}]); \ No newline at end of file diff --git a/en/assets/js/2268.485f02c6.js b/en/assets/js/2268.485f02c6.js new file mode 100644 index 0000000..1cdd60c --- /dev/null +++ b/en/assets/js/2268.485f02c6.js @@ -0,0 +1,286 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2268"],{2735(t,e,s){s.d(e,{CP:()=>d,Ck:()=>y,HT:()=>p,PB:()=>u,aC:()=>h,lC:()=>l,m:()=>c,tk:()=>o});var i=s(1177),r=s(6827),a=s(6750),n=s(7829),o=(0,r.K)((t,e)=>{let s=t.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),e.name&&s.attr("name",e.name),e.rx&&s.attr("rx",e.rx),e.ry&&s.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)s.attr(t,e.attrs[t]);return e.class&&s.attr("class",e.class),s},"drawRect"),l=(0,r.K)((t,e)=>{o(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),c=(0,r.K)((t,e)=>{let s=e.text.replace(i.H1," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(s),r},"drawText"),h=(0,r.K)((t,e,s,i)=>{let r=t.append("image");r.attr("x",e),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",n)},"drawImage"),d=(0,r.K)((t,e,s,i)=>{let r=t.append("use");r.attr("x",e),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),u=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),y=(0,r.K)(()=>{let t=(0,n.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},5869(t,e,s){s.d(e,{P:()=>n});var i=s(1177),r=s(1293),a=s(6827),n=(0,a.K)((t,e,s,a)=>{t.attr("class",s);let{width:n,height:c,x:h,y:d}=o(t,e);(0,i.a$)(t,c,n,a);let u=l(h,d,n,c,e);t.attr("viewBox",u),r.R.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),o=(0,a.K)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,a.K)((t,e,s,i,r)=>`${t-r} ${e-r} ${s} ${i}`,"createViewBox")},6755(t,e,s){s.d(e,{A:()=>a});var i=s(6827),r=s(7829),a=(0,i.K)((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ltv)("#i"+t)),("sandbox"===e?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},7335(t,e,s){s.d(e,{diagram:()=>td});var i=s(6755),r=s(5869),a=s(2391);s(3247);var n=s(2735);s(5616),s(6163),s(7827),s(3002),s(739),s(6320),s(2217);var o=s(2941),l=s(6348),c=s(1177),h=s(1293),d=s(6827),u=s(7829),p=s(9418),y=function(){var t=(0,d.K)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[1,2],s=[1,3],i=[1,4],r=[2,4],a=[1,9],n=[1,11],o=[1,16],l=[1,17],c=[1,18],h=[1,19],u=[1,33],p=[1,20],y=[1,21],g=[1,22],f=[1,23],m=[1,24],S=[1,26],k=[1,27],b=[1,28],T=[1,29],_=[1,30],x=[1,31],E=[1,32],$=[1,35],D=[1,36],C=[1,37],v=[1,38],w=[1,34],I=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],A=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],L=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],R={trace:(0,d.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:(0,d.K)(function(t,e,s,i,r,a,n){var o=a.length-1;switch(r){case 3:return i.setRootDoc(a[o]),a[o];case 4:this.$=[];break;case 5:"nl"!=a[o]&&(a[o-1].push(a[o]),this.$=a[o-1]);break;case 6:case 7:case 12:this.$=a[o];break;case 8:this.$="nl";break;case 13:let l=a[o-1];l.description=i.trimColon(a[o]),this.$=l;break;case 14:this.$={stmt:"relation",state1:a[o-2],state2:a[o]};break;case 15:let c=i.trimColon(a[o]);this.$={stmt:"relation",state1:a[o-3],state2:a[o-1],description:c};break;case 19:this.$={stmt:"state",id:a[o-3],type:"default",description:"",doc:a[o-1]};break;case 20:var h=a[o],d=a[o-2].trim();if(a[o].match(":")){var u=a[o].split(":");h=u[0],d=[d,u[1]]}this.$={stmt:"state",id:h,type:"default",description:d};break;case 21:this.$={stmt:"state",id:a[o-3],type:"default",description:a[o-5],doc:a[o-1]};break;case 22:this.$={stmt:"state",id:a[o],type:"fork"};break;case 23:this.$={stmt:"state",id:a[o],type:"join"};break;case 24:this.$={stmt:"state",id:a[o],type:"choice"};break;case 25:this.$={stmt:"state",id:i.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:a[o-1].trim(),note:{position:a[o-2].trim(),text:a[o].trim()}};break;case 29:this.$=a[o].trim(),i.setAccTitle(this.$);break;case 30:case 31:this.$=a[o].trim(),i.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:a[o-3],url:a[o-2],tooltip:a[o-1]};break;case 33:this.$={stmt:"click",id:a[o-3],url:a[o-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:a[o-1].trim(),classes:a[o].trim()};break;case 36:this.$={stmt:"style",id:a[o-1].trim(),styleClass:a[o].trim()};break;case 37:this.$={stmt:"applyClass",id:a[o-1].trim(),styleClass:a[o].trim()};break;case 38:i.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:i.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:i.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:i.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:a[o].trim(),type:"default",description:""};break;case 46:case 47:this.$={stmt:"state",id:a[o-2].trim(),classes:[a[o].trim()],type:"default",description:""}}},"anonymous"),table:[{3:1,4:e,5:s,6:i},{1:[3]},{3:5,4:e,5:s,6:i},{3:6,4:e,5:s,6:i},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:n,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:c,22:h,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:k,37:b,38:T,41:_,45:x,48:E,51:$,52:D,53:C,54:v,57:w},t(I,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:c,22:h,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:k,37:b,38:T,41:_,45:x,48:E,51:$,52:D,53:C,54:v,57:w},t(I,[2,7]),t(I,[2,8]),t(I,[2,9]),t(I,[2,10]),t(I,[2,11]),t(I,[2,12],{14:[1,40],15:[1,41]}),t(I,[2,16]),{18:[1,42]},t(I,[2,18],{20:[1,43]}),{23:[1,44]},t(I,[2,22]),t(I,[2,23]),t(I,[2,24]),t(I,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(I,[2,28]),{34:[1,49]},{36:[1,50]},t(I,[2,31]),{13:51,24:u,57:w},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(A,[2,44],{58:[1,56]}),t(A,[2,45],{58:[1,57]}),t(I,[2,38]),t(I,[2,39]),t(I,[2,40]),t(I,[2,41]),t(I,[2,6]),t(I,[2,13]),{13:58,24:u,57:w},t(I,[2,17]),t(L,r,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(I,[2,29]),t(I,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(I,[2,14],{14:[1,71]}),{4:a,5:n,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:c,21:[1,72],22:h,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:k,37:b,38:T,41:_,45:x,48:E,51:$,52:D,53:C,54:v,57:w},t(I,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(I,[2,34]),t(I,[2,35]),t(I,[2,36]),t(I,[2,37]),t(A,[2,46]),t(A,[2,47]),t(I,[2,15]),t(I,[2,19]),t(L,r,{7:78}),t(I,[2,26]),t(I,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:n,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:c,21:[1,81],22:h,24:u,25:p,26:y,27:g,28:f,29:m,32:25,33:S,35:k,37:b,38:T,41:_,45:x,48:E,51:$,52:D,53:C,54:v,57:w},t(I,[2,32]),t(I,[2,33]),t(I,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:(0,d.K)(function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},"parseError"),parse:(0,d.K)(function(t){var e=this,s=[0],i=[],r=[null],a=[],n=this.table,o="",l=0,c=0,h=0,u=a.slice.call(arguments,1),p=Object.create(this.lexer),y={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y[g]=this.yy[g]);p.setInput(t,y),y.lexer=p,y.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;a.push(f);var m=p.options&&p.options.ranges;function S(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.parseError?this.parseError=y.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,d.K)(function(t){s.length=s.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,d.K)(S,"lex");for(var k,b,T,_,x,E,$,D,C,v={};;){if(T=s[s.length-1],this.defaultActions[T]?_=this.defaultActions[T]:(null==k&&(k=S()),_=n[T]&&n[T][k]),void 0===_||!_.length||!_[0]){var w="";for(E in C=[],n[T])this.terminals_[E]&&E>2&&C.push("'"+this.terminals_[E]+"'");w=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(w,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:f,expected:C})}if(_[0]instanceof Array&&_.length>1)throw Error("Parse Error: multiple actions possible at state: "+T+", token: "+k);switch(_[0]){case 1:s.push(k),r.push(p.yytext),a.push(p.yylloc),s.push(_[1]),k=null,b?(k=b,b=null):(c=p.yyleng,o=p.yytext,l=p.yylineno,f=p.yylloc,h>0&&h--);break;case 2:if($=this.productions_[_[1]][1],v.$=r[r.length-$],v._$={first_line:a[a.length-($||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-($||1)].first_column,last_column:a[a.length-1].last_column},m&&(v._$.range=[a[a.length-($||1)].range[0],a[a.length-1].range[1]]),void 0!==(x=this.performAction.apply(v,[o,c,l,y,_[1],r,a].concat(u))))return x;$&&(s=s.slice(0,-1*$*2),r=r.slice(0,-1*$),a=a.slice(0,-1*$)),s.push(this.productions_[_[1]][0]),r.push(v.$),a.push(v._$),D=n[s[s.length-2]][s[s.length-1]],s.push(D);break;case 3:return!0}}return!0},"parse")};function N(){this.yy={}}return R.lexer={EOF:1,parseError:(0,d.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,d.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,d.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,d.K)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,d.K)(function(){return this._more=!0,this},"more"),reject:(0,d.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,d.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,d.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,d.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,d.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,d.K)(function(t,e){var s,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,d.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,r=this._currentRules(),a=0;a<r.length;a++)if((s=this._input.match(this.rules[r[a]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,d.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,d.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,d.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,d.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,d.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,d.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,d.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,d.K)(function(t,e,s,i){function r(){let s=e.yytext.indexOf("%%");if(0===s)return!1;if(s>0){let i=e.yytext.slice(0,s),r=e.yytext.slice(s);r&&t.lexer.unput(r),e.yytext=i}return!0}switch((0,d.K)(r,"processId"),s){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:case 43:return 51;case 5:case 44:return 52;case 6:case 45:return 53;case 7:case 46:return 54;case 8:case 78:return 5;case 9:case 10:case 11:case 12:case 57:case 63:break;case 13:case 33:return this.pushState("SCALE"),17;case 14:case 34:return 18;case 15:case 21:case 35:case 50:case 54:this.popState();break;case 16:return this.begin("acc_title"),33;case 17:return this.popState(),"acc_title_value";case 18:return this.begin("acc_descr"),35;case 19:return this.popState(),"acc_descr_value";case 20:this.begin("acc_descr_multiline");break;case 22:return"acc_descr_multiline_value";case 23:return this.pushState("CLASSDEF"),41;case 24:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 25:return this.popState(),this.pushState("CLASSDEFID"),42;case 26:return this.popState(),43;case 27:return this.pushState("CLASS"),48;case 28:return this.popState(),this.pushState("CLASS_STYLE"),49;case 29:return this.popState(),50;case 30:return this.pushState("STYLE"),45;case 31:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 32:return this.popState(),47;case 36:this.pushState("STATE");break;case 37:case 40:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 38:case 41:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),26;case 39:case 42:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),27;case 47:this.pushState("STATE_STRING");break;case 48:return this.pushState("STATE_ID"),"AS";case 49:case 65:if(!r())return;return this.popState(),"ID";case 51:return"STATE_DESCR";case 52:throw Error('Error: State name must be a single word. Found: "'+e.yytext.trim()+'"');case 53:return 19;case 55:return this.popState(),this.pushState("struct"),20;case 56:return this.popState(),21;case 58:return this.begin("NOTE"),29;case 59:return this.popState(),this.pushState("NOTE_ID"),59;case 60:return this.popState(),this.pushState("NOTE_ID"),60;case 61:this.popState(),this.pushState("FLOATING_NOTE");break;case 62:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 64:return"NOTE_TEXT";case 66:if(!r())return;return this.popState(),this.pushState("NOTE_TEXT"),24;case 67:return this.popState(),e.yytext=e.yytext.substr(2).trim(),31;case 68:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),31;case 69:case 70:return 6;case 71:return 16;case 72:return 57;case 73:if(!r())return;return 24;case 74:return e.yytext=e.yytext.trim(),14;case 75:return 15;case 76:return 28;case 77:return 58;case 79:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/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,/^(?:\w+\s+\w+.*?\{)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/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]*?\n\s*end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[10,11,12],inclusive:!1},struct:{rules:[10,11,12,23,27,30,36,43,44,45,46,56,57,58,72,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[65],inclusive:!1},FLOATING_NOTE:{rules:[62,63,64],inclusive:!1},NOTE_TEXT:{rules:[67,68],inclusive:!1},NOTE_ID:{rules:[66],inclusive:!1},NOTE:{rules:[59,60,61],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[32],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[31],inclusive:!1},CLASS_STYLE:{rules:[29],inclusive:!1},CLASS:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[26],inclusive:!1},CLASSDEF:{rules:[24,25],inclusive:!1},acc_descr_multiline:{rules:[21,22],inclusive:!1},acc_descr:{rules:[19],inclusive:!1},acc_title:{rules:[17],inclusive:!1},SCALE:{rules:[14,15,34,35],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[49],inclusive:!1},STATE_STRING:{rules:[50,51],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[10,11,12,37,38,39,40,41,42,47,48,52,53,54,55],inclusive:!1},ID:{rules:[10,11,12],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,12,13,16,18,20,23,27,30,33,36,55,58,69,70,71,72,73,74,75,77,78,79],inclusive:!0}}},(0,d.K)(N,"Parser"),N.prototype=R,R.Parser=N,new N}();y.parser=y;var g="TB",f="state",m="root",S="relation",k="default",b="divider",T="fill:none",_="fill: #333",x="markdown",E="normal",$="rect",D="rectWithTitle",C="divider",v="roundedWithTitle",w="statediagram",I=`${w}-state`,A="transition",L=`${A} note-edge`,R=`${w}-note`,N=`${w}-cluster`,K=`${w}-cluster-alt`,O="parent",B="note",F="----",P=`${F}${B}`,Y=`${F}${O}`,G=new Map,j=0,W=0,z=new Map,M=(0,d.K)((t,e,s,i)=>{if(t===C&&s?.id!==void 0&&z.has(s.id)){let t=z.get(s.id);return z.set(e,t),t}let r=W++,a=i?void 0:r;return z.set(e,a),a},"colorSlotFor");function U(t="",e=0,s="",i=F){let r=null!==s&&s.length>0?`${i}${s}`:"";return`state-${t}${r}-${e}`}(0,d.K)(U,"stateDomId");var H=(0,d.K)((t,e,s,i,r,a,n,o)=>{h.R.trace("items",e),e.forEach(e=>{switch(e.stmt){case f:case k:Q(t,e,s,i,r,a,n,o);break;case S:{Q(t,e.state1,s,i,r,a,n,o),Q(t,e.state2,s,i,r,a,n,o);let l="neo"===n,h={id:"edge"+j,start:e.state1.id,end:e.state2.id,arrowhead:"normal",arrowTypeEnd:l?"arrow_barb_neo":"arrow_barb",style:T,labelStyle:"",label:c.Y2.sanitizeText(e.description??"",(0,c.D7)()),arrowheadStyle:_,labelpos:"c",labelType:x,thickness:E,classes:A,look:n};r.push(h),j++}}})},"setupDoc"),X=(0,d.K)((t,e=g)=>{let s=e;if(t.doc)for(let e of t.doc)"dir"===e.stmt&&(s=e.value);return s},"getDir");function V(t,e,s){if(!e.id||"</join></fork>"===e.id||"</choice>"===e.id)return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(t=>{let i=s.get(t);i&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...i.styles])}));let i=t.find(t=>t.id===e.id);i?Object.assign(i,e):t.push(e)}function q(t){return t?.classes?.join(" ")??""}function J(t){return t?.styles??[]}(0,d.K)(V,"insertOrUpdateNode"),(0,d.K)(q,"getClassesFromDbInfo"),(0,d.K)(J,"getStylesFromDbInfo");var Q=(0,d.K)((t,e,s,i,r,a,n,o)=>{let l=e.id,d=s.get(l),u=q(d),p=J(d),y=(0,c.D7)(),g=""!==u.trim()||p.length>0;if(h.R.info("dataFetcher parsedItem",e,d,p),"root"!==l){let s=$;!0===e.start?s="stateStart":!1===e.start&&(s="stateEnd"),e.type!==k&&(s=e.type),G.get(l)||G.set(l,{id:l,shape:s,description:c.Y2.sanitizeText(l,y),cssClasses:`${u} ${I}`,cssStyles:p});let d=G.get(l);e.description&&(Array.isArray(d.description)?(d.shape=D,d.description.push(e.description)):d.description?.length&&d.description.length>0?(d.shape=D,d.description===l?d.description=[e.description]:d.description=[d.description,e.description]):(d.shape=$,d.description=e.description),d.description=c.Y2.sanitizeTextOrArray(d.description,y)),d.description?.length===1&&d.shape===D&&("group"===d.type?d.shape=v:d.shape=$),!d.type&&e.doc&&(h.R.info("Setting cluster for XCX",l,X(e)),d.type="group",d.isGroup=!0,d.dir=X(e),d.shape=e.type===b?C:v,d.colorIndex=M(d.shape,l,t,g),d.cssClasses=`${d.cssClasses} ${N} ${a?K:""}`);let f={labelStyle:"",shape:d.shape,label:d.description,cssClasses:d.cssClasses,cssCompiledStyles:[],cssStyles:d.cssStyles,id:l,dir:d.dir,domId:U(l,j),type:d.type,isGroup:"group"===d.type,colorIndex:d.colorIndex,padding:8,rx:10,ry:10,look:n,labelType:"markdown"};if(f.shape===C&&(f.label=""),t&&"root"!==t.id&&(h.R.trace("Setting node ",l," to be child of its parent ",t.id),f.parentId=t.id),f.centerLabel=!0,e.note){let t={labelStyle:"",shape:"note",label:e.note.text,labelType:"markdown",cssClasses:R,cssStyles:[],cssCompiledStyles:[],id:l+P+"-"+j,domId:U(l,j,B),type:"node",isGroup:!1,padding:y.flowchart?.padding,look:n,position:e.note.position},s=l+Y,a={labelStyle:"",shape:"noteGroup",label:e.note.text,cssClasses:d.cssClasses,cssStyles:[],id:l+Y,domId:U(l,j,O),type:"group",isGroup:!0,padding:16,look:n,position:e.note.position};j++,a.id=s,t.parentId=s,V(i,a,o),V(i,t,o),V(i,f,o);let c=l,h=t.id;"left of"===e.note.position&&(c=t.id,h=l),r.push({id:c+"-"+h,start:c,end:h,arrowhead:"none",arrowTypeEnd:"",style:T,labelStyle:"",classes:L,pattern:"dashed",arrowheadStyle:_,labelpos:"c",labelType:x,thickness:E,look:n})}else V(i,f,o)}e.doc&&(h.R.trace("Adding nodes children "),H(e,e.doc,s,i,r,!a,n,o))},"dataFetcher"),Z=(0,d.K)(()=>{G.clear(),j=0,W=0,z.clear()},"reset"),tt=(0,d.K)((t,e=g)=>{if(!t.doc)return e;let s=e;for(let e of t.doc)"dir"===e.stmt&&(s=e.value);return s},"getDir"),te=(0,d.K)(function(t,e){return e.db.getClasses()},"getClasses"),ts=(0,d.K)(async function(t,e,s,n){h.R.info("REF0:"),h.R.info("Drawing state diagram (v2)",e);let{securityLevel:o,state:d,layout:u}=(0,c.D7)();n.db.extract(n.db.getRootDocV2());let p=n.db.getData(),y=(0,i.A)(e,o);p.type=n.type,p.layoutAlgorithm=(0,a.q7)(u),p.nodeSpacing=d?.nodeSpacing||50,p.rankSpacing=d?.rankSpacing||50,"neo"===(0,c.D7)().look?p.markers=["barbNeo"]:p.markers=["barb"],p.diagramId=e,await (0,a.XX)(p,y);try{("function"==typeof n.db.getLinks?n.db.getLinks():new Map).forEach((t,e)=>{let s,i="string"==typeof e?e:"string"==typeof e?.id?e.id:"",r=p.nodes.find(t=>t.id===i);if(!i)return void h.R.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(e));let a=y.node()?.querySelectorAll("g.node, g.rough-node");if(a?.forEach(t=>{let e=t.textContent?.trim();(t.id===r?.domId||e===i)&&(s=t)}),!s)return void h.R.warn("\u26A0\uFE0F Could not find node matching text:",i);let n=s.parentNode;if(!n)return void h.R.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",i);let o=document.createElementNS("http://www.w3.org/2000/svg","a"),l=t.url.replace(/^"+|"+$/g,"");if(o.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l),o.setAttribute("target","_blank"),t.tooltip){let e=t.tooltip.replace(/^"+|"+$/g,"");o.setAttribute("title",e),s.setAttribute("title",e)}n.replaceChild(o,s),o.appendChild(s),h.R.info("\u{1F517} Wrapped node in <a> tag for:",i,t.url)})}catch(t){h.R.error("\u274C Error injecting clickable links:",t)}l._K.insertTitle(y,"statediagramTitleText",d?.titleTopMargin??25,n.db.getDiagramTitle()),(0,r.P)(y,8,w,d?.useMaxWidth??!0)},"draw"),ti="start",tr="color",ta="fill",tn=(0,d.K)(()=>new Map,"newClassesList"),to=(0,d.K)(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),tl=(0,d.K)(t=>JSON.parse(JSON.stringify(t)),"clone"),tc=class{constructor(t){this.version=t,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=tn(),this.documents={root:to()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.funs=[],this.getAccTitle=c.iN,this.setAccTitle=c.SV,this.getAccDescription=c.m7,this.setAccDescription=c.EI,this.setDiagramTitle=c.ke,this.getDiagramTitle=c.ab,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this),this.bindFunctions=this.bindFunctions.bind(this)}static{(0,d.K)(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(t){for(let e of(this.clear(!0),Array.isArray(t)?t:t.doc))switch(e.stmt){case f:this.addState(e.id.trim(),e.type,e.doc,e.description,e.note);break;case S:this.addRelation(e.state1,e.state2,e.description);break;case"classDef":this.addStyleClass(e.id.trim(),e.classes);break;case"style":this.handleStyleDef(e);break;case"applyClass":this.setCssClass(e.id.trim(),e.styleClass);break;case"click":this.addLink(e.id,e.url,e.tooltip)}let e=this.getStates(),s=(0,c.D7)();for(let t of(Z(),Q(void 0,this.getRootDocV2(),e,this.nodes,this.edges,!0,s.look,this.classes),this.nodes))if(Array.isArray(t.label)){if(t.description=t.label.slice(1),t.isGroup&&t.description.length>0)throw Error(`Group nodes can only have label. Remove the additional description for node [${t.id}]`);t.label=t.label[0]}}handleStyleDef(t){let e=t.id.trim().split(","),s=t.styleClass.split(",");for(let t of e){let e=this.getState(t);if(!e){let s=t.trim();this.addState(s),e=this.getState(s)}e&&(e.styles=s.map(t=>t.replace(/;/g,"")?.trim()))}}setRootDoc(t){h.R.info("Setting root doc",t),this.rootDoc=t,1===this.version?this.extract(t):this.extract(this.getRootDocV2())}docTranslator(t,e,s){if(e.stmt===S){this.docTranslator(t,e.state1,!0),this.docTranslator(t,e.state2,!1);return}if(e.stmt===f&&("[*]"===e.id?(e.id=t.id+(s?"_start":"_end"),e.start=s):e.id=e.id.trim()),e.stmt!==m&&e.stmt!==f||!e.doc)return;let i=[],r=[];for(let t of e.doc)if(t.type===b){let e=tl(t);e.doc=tl(r),i.push(e),r=[]}else r.push(t);if(i.length>0&&r.length>0){let t={stmt:f,id:(0,l.$C)(),type:"divider",doc:tl(r)};i.push(tl(t)),e.doc=i}e.doc.forEach(t=>this.docTranslator(e,t,!0))}getRootDocV2(){return this.docTranslator({id:m,stmt:m},{id:m,stmt:m,doc:this.rootDoc},!0),{id:m,doc:this.rootDoc}}addState(t,e=k,s,i,r,a,n,o){let l=t?.trim();if(this.currentDocument.states.has(l)){let t=this.currentDocument.states.get(l);if(!t)throw Error(`State not found: ${l}`);t.doc||(t.doc=s),t.type||(t.type=e)}else h.R.info("Adding state ",l,i),this.currentDocument.states.set(l,{stmt:f,id:l,descriptions:[],type:e,doc:s,note:r,classes:[],styles:[],textStyles:[]});if(i&&(h.R.info("Setting state description",l,i),(Array.isArray(i)?i:[i]).forEach(t=>this.addDescription(l,t.trim()))),r){let t=this.currentDocument.states.get(l);if(!t)throw Error(`State not found: ${l}`);t.note=r,t.note.text=c.Y2.sanitizeText(t.note.text,(0,c.D7)())}a&&(h.R.info("Setting state classes",l,a),(Array.isArray(a)?a:[a]).forEach(t=>this.setCssClass(l,t.trim()))),n&&(h.R.info("Setting state styles",l,n),(Array.isArray(n)?n:[n]).forEach(t=>this.setStyle(l,t.trim()))),o&&(h.R.info("Setting state styles",l,n),(Array.isArray(o)?o:[o]).forEach(t=>this.setTextStyle(l,t.trim())))}clear(t){this.nodes=[],this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.documents={root:to()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=tn(),t||(this.links=new Map,(0,c.IU)())}getState(t){return this.currentDocument.states.get(t)}getStates(){return this.currentDocument.states}logDocuments(){h.R.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(t,e,s){this.links.set(t,{url:e,tooltip:s}),h.R.warn("Adding link",t,e,s)}getLinks(){return this.links}startIdIfNeeded(t=""){return"[*]"===t?(this.startEndCount++,`${ti}${this.startEndCount}`):t}startTypeIfNeeded(t="",e=k){return"[*]"===t?ti:e}endIdIfNeeded(t=""){return"[*]"===t?(this.startEndCount++,`end${this.startEndCount}`):t}endTypeIfNeeded(t="",e=k){return"[*]"===t?"end":e}addRelationObjs(t,e,s=""){let i=this.startIdIfNeeded(t.id.trim()),r=this.startTypeIfNeeded(t.id.trim(),t.type),a=this.startIdIfNeeded(e.id.trim()),n=this.startTypeIfNeeded(e.id.trim(),e.type);this.addState(i,r,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),this.addState(a,n,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.currentDocument.relations.push({id1:i,id2:a,relationTitle:c.Y2.sanitizeText(s,(0,c.D7)())})}addRelation(t,e,s){if("object"==typeof t&&"object"==typeof e)this.addRelationObjs(t,e,s);else if("string"==typeof t&&"string"==typeof e){let i=this.startIdIfNeeded(t.trim()),r=this.startTypeIfNeeded(t),a=this.endIdIfNeeded(e.trim()),n=this.endTypeIfNeeded(e);this.addState(i,r),this.addState(a,n),this.currentDocument.relations.push({id1:i,id2:a,relationTitle:s?c.Y2.sanitizeText(s,(0,c.D7)()):void 0})}}addDescription(t,e){let s=this.currentDocument.states.get(t),i=e.startsWith(":")?e.replace(":","").trim():e;s?.descriptions?.push(c.Y2.sanitizeText(i,(0,c.D7)()))}cleanupLabel(t){return t.startsWith(":")?t.slice(2).trim():t.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(t,e=""){this.classes.has(t)||this.classes.set(t,{id:t,styles:[],textStyles:[]});let s=this.classes.get(t);e&&s&&e.split(",").forEach(t=>{let e=t.replace(/([^;]*);/,"$1").trim();if(RegExp(tr).exec(t)){let t=e.replace(ta,"bgFill").replace(tr,ta);s.textStyles.push(t)}s.styles.push(e)})}getClasses(){return this.classes}setupToolTips(t){let e=(0,n.Ck)();(0,u.Ltv)(t).select("svg").selectAll("g.node, g.rough-node").on("mouseover",t=>{let s=(0,u.Ltv)(t.currentTarget),i=s.attr("title");if(null===i)return;let r=t.currentTarget?.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.style("left",window.scrollX+r.left+(r.right-r.left)/2+"px").style("top",window.scrollY+r.bottom+"px"),e.html(p.A.sanitize(i)),s.classed("hover",!0)}).on("mouseout",t=>{e.transition().duration(500).style("opacity",0),(0,u.Ltv)(t.currentTarget).classed("hover",!1)})}setCssClass(t,e){t.split(",").forEach(t=>{let s=this.getState(t);if(!s){let e=t.trim();this.addState(e),s=this.getState(e)}s?.classes?.push(e)})}setStyle(t,e){this.getState(t)?.styles?.push(e)}setTextStyle(t,e){this.getState(t)?.textStyles?.push(e)}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirectionStatement(){return this.rootDoc.find(t=>"dir"===t.stmt)}getDirection(){return this.getDirectionStatement()?.value??"TB"}setDirection(t){let e=this.getDirectionStatement();e?e.value=t:this.rootDoc.unshift({stmt:"dir",value:t})}trimColon(t){return t.startsWith(":")?t.slice(1).trim():t.trim()}getData(){let t=(0,c.D7)();for(let e of this.nodes)e.wrappingWidth??=t.state?.wrappingWidth,e.isGroup||(e.minWidth??=t.state?.minNodeWidth);return{nodes:this.nodes,edges:this.edges,other:{},config:t,direction:tt(this.getRootDocV2())}}getConfig(){return(0,c.D7)().state}},th=(0,d.K)(t=>{let{theme:e,bkgColorArray:s,borderColorArray:i}=t;if(!(0,o.P1)(e,i))return"";let r=(0,o.rq)(t.look),a=(0,o.Ic)(s),n="";for(let t=0;t<(0,o.Hu)(i);t++){let e=i[t],o=a?`fill: ${s[t%s.length]};`:"",l=`[data-look="${r}"][data-color-id="color-${t}"]`;n+=` + + /* The title strip: \`rect.outer\` spans the whole composite and \`rect.inner\` covers + the body, so what stays visible of \`outer\` is the band behind the label. */ + ${l}.statediagram-cluster rect.outer { + stroke: ${e}; + ${o} + } + + ${l}.statediagram-cluster rect.inner { + stroke: ${e}; + } + + /* Concurrency regions. Siblings of one composite share a slot, so a divided composite + reads as one thing split into parts rather than as several composites. */ + ${l}.statediagram-cluster rect.divider { + stroke: ${e}; + ${o} + } + + /* handDrawn draws the same container as roughjs shapes rather than plain rects, so it + needs its own rules. \`roundedWithTitle\` and \`divider\` name those groups \`outer\`, + \`inner\` and \`divider\` to match the classic branch, which is what lets these + discriminate -- a bare \`.statediagram-cluster path\` rule reached the body as well and + tinted the whole composite, losing \`compositeBackground\` and diverging from what + classic and neo do. + + roughjs emits two paths per shape and marks them: the filled shape carries + \`stroke="none"\` and the sketched outline carries \`fill="none"\`. Splitting on that is + what keeps \`fill\` off the outline -- a rough outline is open squiggles, not a closed + region, so filling it produces smears -- and keeps \`stroke\` off the fill shape, which + would otherwise gain an edge it was drawn without. */ + ${l}.statediagram-cluster .outer path[stroke='none'] { + ${o} + } + + ${l}.statediagram-cluster .outer path[fill='none'] { + stroke: ${e}; + } + + /* No \`.inner\` rule on purpose. The body shape is left entirely alone under handDrawn, + where a rect's \`inner\` counterpart cannot be recoloured safely: roughjs draws a + hachure fill as *stroked* lines, so its fill paths carry \`fill="none"\` exactly like + the outline and no selector separates them. An \`.inner\` stroke rule therefore + repainted the hatching of every alt composite in the palette colour instead of + leaving it on \`altBackground\`. The container still reads as palette-coloured: the + \`outer\` shape spans the whole composite, so its outline already frames the body. */ + + /* Regions split the same way, which is why \`divider\` fills solid rather than taking + roughjs's default hachure -- see the note on that call. Hatched, both of its paths + carried \`fill="none"\` and these two rules degenerated: the tint matched nothing and + the border rule repainted the hatching. */ + ${l}.statediagram-cluster .divider path[stroke='none'] { + ${o} + } + + ${l}.statediagram-cluster .divider path[fill='none'] { + stroke: ${e}; + } + `}return n},"genColor"),td={parser:y,get db(){return new tc(2)},renderer:{getClasses:te,draw:ts,getDir:tt},styles:(0,d.K)(t=>` +${th(t)} +defs [id$="-barbEnd"] { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth||1}; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: ${t.strokeWidth||1}; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor||t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor||t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground||t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg||t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: ${t.strokeWidth||1}px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: ${t.strokeWidth||1}px; +} +[id$="-barbEnd"] { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: ${t.strokeWidth||1}px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // line-height: 1; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder||t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground||t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground?t.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: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +[id$="-dependencyStart"], [id$="-dependencyEnd"] { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth||1}; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} + +[data-look="neo"].statediagram-cluster rect { + fill: ${t.mainBkg}; + stroke: ${t.useGradient?"url("+t.svgId+"-gradient)":t.stateBorder||t.nodeBorder}; + stroke-width: ${t.strokeWidth??1}; +} +[data-look="neo"].statediagram-cluster rect.outer { + rx: ${t.radius}px; + ry: ${t.radius}px; + filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"} +} +`,"getStyles"),init:(0,d.K)(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}}}]); \ No newline at end of file diff --git a/en/assets/js/22e0017f.f9dfb251.js b/en/assets/js/22e0017f.f9dfb251.js new file mode 100644 index 0000000..4f7f57c --- /dev/null +++ b/en/assets/js/22e0017f.f9dfb251.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1591"],{3558(s){s.exports=JSON.parse('{"tags":[{"label":"\u8D77\u6E90\u4E0E\u80CC\u666F","permalink":"/SqlParserX/en/blog/tags/origin","description":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u4E0E\u5185\u90E8\u6539\u9020\u5386\u7A0B","count":1}]}')}}]); \ No newline at end of file diff --git a/en/assets/js/2358.f2f121b1.js b/en/assets/js/2358.f2f121b1.js new file mode 100644 index 0000000..487df9e --- /dev/null +++ b/en/assets/js/2358.f2f121b1.js @@ -0,0 +1,148 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2358"],{4918(t,e,i){i.d(e,{o:()=>r});var r=(0,i(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")},2735(t,e,i){i.d(e,{CP:()=>u,Ck:()=>d,HT:()=>y,PB:()=>p,aC:()=>h,lC:()=>o,m:()=>c,tk:()=>l});var r=i(1177),n=i(6827),s=i(6750),a=i(7829),l=(0,n.K)((t,e)=>{let i=t.append("rect");if(i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),e.name&&i.attr("name",e.name),e.rx&&i.attr("rx",e.rx),e.ry&&i.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)i.attr(t,e.attrs[t]);return e.class&&i.attr("class",e.class),i},"drawRect"),o=(0,n.K)((t,e)=>{l(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),c=(0,n.K)((t,e)=>{let i=e.text.replace(r.H1," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let s=n.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(i),n},"drawText"),h=(0,n.K)((t,e,i,r)=>{let n=t.append("image");n.attr("x",e),n.attr("y",i);let a=(0,s.sanitizeUrl)(r);n.attr("xlink:href",a)},"drawImage"),u=(0,n.K)((t,e,i,r)=>{let n=t.append("use");n.attr("x",e),n.attr("y",i);let a=(0,s.sanitizeUrl)(r);n.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),p=(0,n.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),y=(0,n.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),d=(0,n.K)(()=>{let t=(0,a.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,a.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},1493(t,e,i){i.d(e,{diagram:()=>q});var r=i(4918),n=i(2735),s=i(1177);i(1293);var a=i(6827),l=i(7829),o=function(){var t=(0,a.K)(function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},"o"),e=[6,8,10,11,12,14,16,17,18],i=[1,9],r=[1,10],n=[1,11],s=[1,12],l=[1,13],o=[1,14],c={trace:(0,a.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:(0,a.K)(function(t,e,i,r,n,s,a){var l=s.length-1;switch(n){case 1:return s[l-1];case 2:case 6:case 7:this.$=[];break;case 3:s[l-1].push(s[l]),this.$=s[l-1];break;case 4:case 5:this.$=s[l];break;case 8:r.setDiagramTitle(s[l].substr(6)),this.$=s[l].substr(6);break;case 9:this.$=s[l].trim(),r.setAccTitle(this.$);break;case 10:case 11:this.$=s[l].trim(),r.setAccDescription(this.$);break;case 12:r.addSection(s[l].substr(8)),this.$=s[l].substr(8);break;case 13:r.addTask(s[l-1],s[l]),this.$="task"}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:r,14:n,16:s,17:l,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:r,14:n,16:s,17:l,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:(0,a.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,a.K)(function(t){var e=this,i=[0],r=[],n=[null],s=[],l=this.table,o="",c=0,h=0,u=0,p=s.slice.call(arguments,1),y=Object.create(this.lexer),d={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d[f]=this.yy[f]);y.setInput(t,d),d.lexer=y,d.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;s.push(g);var x=y.options&&y.options.ranges;function m(){var t;return"number"!=typeof(t=r.pop()||y.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.K)(function(t){i.length=i.length-2*t,n.length=n.length-t,s.length=s.length-t},"popStack"),(0,a.K)(m,"lex");for(var k,b,_,v,w,K,$,M,T,S={};;){if(_=i[i.length-1],this.defaultActions[_]?v=this.defaultActions[_]:(null==k&&(k=m()),v=l[_]&&l[_][k]),void 0===v||!v.length||!v[0]){var C="";for(K in T=[],l[_])this.terminals_[K]&&K>2&&T.push("'"+this.terminals_[K]+"'");C=y.showPosition?"Parse error on line "+(c+1)+":\n"+y.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(C,{text:y.match,token:this.terminals_[k]||k,line:y.yylineno,loc:g,expected:T})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+k);switch(v[0]){case 1:i.push(k),n.push(y.yytext),s.push(y.yylloc),i.push(v[1]),k=null,b?(k=b,b=null):(h=y.yyleng,o=y.yytext,c=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if($=this.productions_[v[1]][1],S.$=n[n.length-$],S._$={first_line:s[s.length-($||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-($||1)].first_column,last_column:s[s.length-1].last_column},x&&(S._$.range=[s[s.length-($||1)].range[0],s[s.length-1].range[1]]),void 0!==(w=this.performAction.apply(S,[o,h,c,d,v[1],n,s].concat(p))))return w;$&&(i=i.slice(0,-1*$*2),n=n.slice(0,-1*$),s=s.slice(0,-1*$)),i.push(this.productions_[v[1]][0]),n.push(S.$),s.push(S._$),M=l[i[i.length-2]][i[i.length-1]],i.push(M);break;case 3:return!0}}return!0},"parse")};function h(){this.yy={}}return c.lexer={EOF:1,parseError:(0,a.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,a.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,a.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,a.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.K)(function(){return this._more=!0,this},"more"),reject:(0,a.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,a.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,a.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,a.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,a.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,a.K)(function(t,e){var i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},"test_match"),next:(0,a.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,a.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,a.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,a.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,a.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,a.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,a.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.K)(function(t,e,i,r){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}},(0,a.K)(h,"Parser"),h.prototype=c,c.Parser=h,new h}();o.parser=o;var c="",h=[],u=[],p=[],y=(0,a.K)(function(){h.length=0,u.length=0,c="",p.length=0,(0,s.IU)()},"clear"),d=(0,a.K)(function(t){c=t,h.push(t)},"addSection"),f=(0,a.K)(function(){return h},"getSections"),g=(0,a.K)(function(){let t=b(),e=0;for(;!t&&e<100;)t=b(),e++;return u.push(...p),u},"getTasks"),x=(0,a.K)(function(){let t=[];return u.forEach(e=>{e.people&&t.push(...e.people)}),[...new Set(t)].sort()},"updateActors"),m=(0,a.K)(function(t,e){let i=e.substr(1).split(":"),r=0,n=[];1===i.length?(r=Number(i[0]),n=[]):(r=Number(i[0]),n=i[1].split(","));let s=n.map(t=>t.trim()),a={section:c,type:c,people:s,task:t,score:r};p.push(a)},"addTask"),k=(0,a.K)(function(t){let e={section:c,type:c,description:t,task:t,classes:[]};u.push(e)},"addTaskOrg"),b=(0,a.K)(function(){let t=(0,a.K)(function(t){return p[t].processed},"compileTask"),e=!0;for(let[i,r]of p.entries())t(i),e=e&&r.processed;return e},"compileTasks"),_=(0,a.K)(function(){return x()},"getActors"),v={getConfig:(0,a.K)(()=>(0,s.D7)().journey,"getConfig"),clear:y,setDiagramTitle:s.ke,getDiagramTitle:s.ab,setAccTitle:s.SV,getAccTitle:s.iN,setAccDescription:s.EI,getAccDescription:s.m7,addSection:d,getSections:f,getTasks:g,addTask:m,addTaskOrg:k,getActors:_},w=(0,a.K)(t=>`.label { + font-family: ${t.fontFamily}; + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + font-family: ${t.fontFamily}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePaths .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0?`fill: ${t.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${t.fillType0?`fill: ${t.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${t.fillType0?`fill: ${t.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${t.fillType0?`fill: ${t.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${t.fillType0?`fill: ${t.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${t.fillType0?`fill: ${t.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${t.fillType0?`fill: ${t.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${t.fillType0?`fill: ${t.fillType7}`:""}; + } + + .actor-0 { + ${t.actor0?`fill: ${t.actor0}`:""}; + } + .actor-1 { + ${t.actor1?`fill: ${t.actor1}`:""}; + } + .actor-2 { + ${t.actor2?`fill: ${t.actor2}`:""}; + } + .actor-3 { + ${t.actor3?`fill: ${t.actor3}`:""}; + } + .actor-4 { + ${t.actor4?`fill: ${t.actor4}`:""}; + } + .actor-5 { + ${t.actor5?`fill: ${t.actor5}`:""}; + } + ${(0,r.o)()} +`,"getStyles"),K=(0,a.K)(function(t,e){return(0,n.tk)(t,e)},"drawRect"),$=(0,a.K)(function(t,e){let i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");function n(t){let i=(0,l.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function s(t){let i=(0,l.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function o(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return r.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,a.K)(n,"smile"),(0,a.K)(s,"sad"),(0,a.K)(o,"ambivalent"),e.score>3?n(r):e.score<3?s(r):o(r),i},"drawFace"),M=(0,a.K)(function(t,e){let i=t.append("circle");return i.attr("cx",e.cx),i.attr("cy",e.cy),i.attr("class","actor-"+e.pos),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("r",e.r),void 0!==i.class&&i.attr("class",i.class),void 0!==e.title&&i.append("title").text(e.title),i},"drawCircle"),T=(0,a.K)(function(t,e){return(0,n.m)(t,e)},"drawText"),S=(0,a.K)(function(t,e,i){let r=t.append("g"),s=(0,n.PB)();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=i.width*e.taskCount+i.diagramMarginX*(e.taskCount-1),s.height=i.height,s.class="journey-section section-type-"+e.num,s.rx=3,s.ry=3,K(r,s),I(i)(e.text,r,s.x,s.y,s.width,s.height,{class:"journey-section section-type-"+e.num},i,e.colour)},"drawSection"),C=-1,E=(0,a.K)(function(t,e,i,r){let s=e.x+i.width/2,a=t.append("g");C++,a.append("line").attr("id",r+"-task"+C).attr("x1",s).attr("y1",e.y).attr("x2",s).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),$(a,{cx:s,cy:300+(5-e.score)*30,score:e.score});let l=(0,n.PB)();l.x=e.x,l.y=e.y,l.fill=e.fill,l.width=i.width,l.height=i.height,l.class="task task-type-"+e.num,l.rx=3,l.ry=3,K(a,l);let o=e.x+14;e.people.forEach(t=>{let i=e.actors[t].color;M(a,{cx:o,cy:e.y,r:7,fill:i,stroke:"#000",title:t,pos:e.actors[t].position}),o+=10}),I(i)(e.task,a,l.x,l.y,l.width,l.height,{class:"task"},i,e.colour)},"drawTask"),I=function(){function t(t,e,i,n,s,a,l,o){r(e.append("text").attr("x",i+s/2).attr("y",n+a/2+5).style("font-color",o).style("text-anchor","middle").text(t),l)}function e(t,e,i,n,s,a,l,o,c){let{taskFontSize:h,taskFontFamily:u}=o,p=t.split(/<br\s*\/?>/gi);for(let t=0;t<p.length;t++){let o=t*h-h*(p.length-1)/2,y=e.append("text").attr("x",i+s/2).attr("y",n).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",u);y.append("tspan").attr("x",i+s/2).attr("dy",o).text(p[t]),y.attr("y",n+a/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(y,l)}}function i(t,i,n,s,a,l,o,c){let h=i.append("switch"),u=h.append("foreignObject").attr("x",n).attr("y",s).attr("width",a).attr("height",l).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,n,s,a,l,o,c),r(u,o)}function r(t,e){for(let i in e)i in e&&t.attr(i,e[i])}return(0,a.K)(t,"byText"),(0,a.K)(e,"byTspan"),(0,a.K)(i,"byFo"),(0,a.K)(r,"_setTextAttrs"),function(r){return"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}(),P=(0,a.K)(function(t,e){C=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics"),A=(0,a.K)(function(t){Object.keys(t).forEach(function(e){V[e]=t[e]})},"setConf"),j={},L=0;function D(t){let e=(0,s.D7)().journey,i=e.maxLabelWidth;L=0;let r=60;Object.keys(j).forEach(n=>{let s=j[n].color;M(t,{cx:20,cy:r,r:7,fill:s,stroke:"#000",pos:j[n].position});let a=t.append("text").attr("visibility","hidden").text(n),l=a.node().getBoundingClientRect().width;a.remove();let o=[];if(l<=i)o=[n];else{let e=n.split(" "),r="";a=t.append("text").attr("visibility","hidden"),e.forEach(t=>{let e=r?`${r} ${t}`:t;if(a.text(e),a.node().getBoundingClientRect().width>i){if(r&&o.push(r),r=t,a.text(t),a.node().getBoundingClientRect().width>i){let e="";for(let r of t)e+=r,a.text(e+"-"),a.node().getBoundingClientRect().width>i&&(o.push(e.slice(0,-1)+"-"),e=r);r=e}}else r=e}),r&&o.push(r),a.remove()}o.forEach((i,n)=>{let s=T(t,{x:40,y:r+7+20*n,fill:"#666",text:i,textMargin:e.boxTextMargin??5}).node().getBoundingClientRect().width;s>L&&s>e.leftMargin-s&&(L=s)}),r+=Math.max(20,20*o.length)})}(0,a.K)(D,"drawActorLegend");var V=(0,s.D7)().journey,B=0,F=(0,a.K)(function(t,e,i,r){let n,a=(0,s.D7)(),o=a.journey.titleColor,c=a.journey.titleFontSize,h=a.journey.titleFontFamily,u=a.securityLevel;"sandbox"===u&&(n=(0,l.Ltv)("#i"+e));let p="sandbox"===u?(0,l.Ltv)(n.nodes()[0].contentDocument.body):(0,l.Ltv)("body");R.init();let y=p.select("#"+e);P(y,e);let d=r.db.getTasks(),f=r.db.getDiagramTitle(),g=r.db.getActors();for(let t in j)delete j[t];let x=0;g.forEach(t=>{j[t]={color:V.actorColours[x%V.actorColours.length],position:x},x++}),D(y),B=V.leftMargin+L,R.insert(0,0,B,50*Object.keys(j).length),z(y,d,0,e);let m=R.getBounds();f&&y.append("text").text(f).attr("x",B).attr("font-size",c).attr("font-weight","bold").attr("y",25).attr("fill",o).attr("font-family",h);let k=m.stopy-m.starty+2*V.diagramMarginY,b=B+m.stopx+2*V.diagramMarginX;(0,s.a$)(y,k,b,V.useMaxWidth),y.append("line").attr("x1",B).attr("y1",4*V.height).attr("x2",b-B-4).attr("y2",4*V.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");let _=70*!!f;y.attr("viewBox",`${m.startx} -25 ${b} ${k+_}`),y.attr("preserveAspectRatio","xMinYMin meet"),y.attr("height",k+_+25)},"draw"),R={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:(0,a.K)(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:(0,a.K)(function(t,e,i,r){void 0===t[e]?t[e]=i:t[e]=r(i,t[e])},"updateVal"),updateBounds:(0,a.K)(function(t,e,i,r){let n=(0,s.D7)().journey,l=this,o=0;function c(s){return(0,a.K)(function(a){o++;let c=l.sequenceItems.length-o+1;l.updateVal(a,"starty",e-c*n.boxMargin,Math.min),l.updateVal(a,"stopy",r+c*n.boxMargin,Math.max),l.updateVal(R.data,"startx",t-c*n.boxMargin,Math.min),l.updateVal(R.data,"stopx",i+c*n.boxMargin,Math.max),"activation"!==s&&(l.updateVal(a,"startx",t-c*n.boxMargin,Math.min),l.updateVal(a,"stopx",i+c*n.boxMargin,Math.max),l.updateVal(R.data,"starty",e-c*n.boxMargin,Math.min),l.updateVal(R.data,"stopy",r+c*n.boxMargin,Math.max))},"updateItemBounds")}(0,a.K)(c,"updateFn"),this.sequenceItems.forEach(c())},"updateBounds"),insert:(0,a.K)(function(t,e,i,r){let n=Math.min(t,i),s=Math.max(t,i),a=Math.min(e,r),l=Math.max(e,r);this.updateVal(R.data,"startx",n,Math.min),this.updateVal(R.data,"starty",a,Math.min),this.updateVal(R.data,"stopx",s,Math.max),this.updateVal(R.data,"stopy",l,Math.max),this.updateBounds(n,a,s,l)},"insert"),bumpVerticalPos:(0,a.K)(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:(0,a.K)(function(){return this.verticalPos},"getVerticalPos"),getBounds:(0,a.K)(function(){return this.data},"getBounds")},O=V.sectionFills,N=V.sectionColours,z=(0,a.K)(function(t,e,i,r){let n=(0,s.D7)().journey,a="",l=i+(2*n.height+n.diagramMarginY),o=0,c="#CCC",h="black",u=0;for(let[i,s]of e.entries()){if(a!==s.section){c=O[o%O.length],u=o%O.length,h=N[o%N.length];let r=0,l=s.section;for(let t=i;t<e.length;t++)if(e[t].section==l)r+=1;else break;S(t,{x:i*n.taskMargin+i*n.width+B,y:50,text:s.section,fill:c,num:u,colour:h,taskCount:r},n),a=s.section,o++}let p=s.people.reduce((t,e)=>(j[e]&&(t[e]=j[e]),t),{});s.x=i*n.taskMargin+i*n.width+B,s.y=l,s.width=n.diagramMarginX,s.height=n.diagramMarginY,s.colour=h,s.fill=c,s.num=u,s.actors=p,E(t,s,n,r),R.insert(s.x,s.y,s.x+s.width+n.taskMargin,450)}},"drawTasks"),W={setConf:A,draw:F},q={parser:o,db:v,renderer:W,styles:w,init:(0,a.K)(t=>{W.setConf(t.journey),v.clear()},"init")}}}]); \ No newline at end of file diff --git a/en/assets/js/2395.66d8d46d.js b/en/assets/js/2395.66d8d46d.js new file mode 100644 index 0000000..87e2e6d --- /dev/null +++ b/en/assets/js/2395.66d8d46d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2395"],{9590(e,s,r){r.d(s,{createPieServices:()=>a.f});var a=r(6041);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/255.9c291378.js b/en/assets/js/255.9c291378.js new file mode 100644 index 0000000..f318cd6 --- /dev/null +++ b/en/assets/js/255.9c291378.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["255"],{7636(e,s,r){r.d(s,{createCynefinServices:()=>a.t});var a=r(3279);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/2853.1bd4804e.js b/en/assets/js/2853.1bd4804e.js new file mode 100644 index 0000000..be8f5c3 --- /dev/null +++ b/en/assets/js/2853.1bd4804e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2853"],{884(e,s,r){r.d(s,{createTreemapServices:()=>a.d});var a=r(6527);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/2881.cdbfd8a4.js b/en/assets/js/2881.cdbfd8a4.js new file mode 100644 index 0000000..44a6e2d --- /dev/null +++ b/en/assets/js/2881.cdbfd8a4.js @@ -0,0 +1,77 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2881"],{7454(t,e,a){function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(6827).K)(r,"populateCommonDb")},5448(t,e,a){a.d(e,{diagram:()=>F});var r=a(7454),o=a(4924),n=a(6348),i=a(1177),l=a(1293),s=a(6827),d=a(8731),c=(0,s.K)((t,e)=>{let a=t<=1?100*t:t;if(a<0||a>100)throw Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return a},"toPercent"),p=(0,s.K)((t,e,a)=>({x:c(e,`${a} evolution`),y:c(t,`${a} visibility`)}),"toCoordinates"),h=(0,s.K)(t=>{if(t){if("+<>"===t)return"bidirectional";if("+<"===t)return"backward";if("+>"===t)return"forward"}},"getFlowFromPort"),x=(0,s.K)(t=>{if(!t?.startsWith("+"))return{};let e=/^\+'([^']*)'/.exec(t),a=e?.[1];return t.includes("<>")?{flow:"bidirectional",label:a}:t.includes("<")?{flow:"backward",label:a}:t.includes(">")?{flow:"forward",label:a}:{label:a}},"extractFlowFromArrow"),y=(0,s.K)((t,e)=>{if((0,r.S)(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){let a=t.evolution.stages.map(t=>t.secondName?`${t.name.trim()} / ${t.secondName.trim()}`:t.name.trim()),r=t.evolution.stages.filter(t=>void 0!==t.boundary).map(t=>t.boundary);e.updateAxes({stages:a,stageBoundaries:r})}if(t.anchors.forEach(t=>{let a=p(t.visibility,t.evolution,`Anchor "${t.name}"`);e.addNode(t.name,t.name,a.x,a.y,"anchor")}),t.components.forEach(t=>{let a=p(t.visibility,t.evolution,`Component "${t.name}"`),r=t.label?(t.label.negX?-1:1)*t.label.offsetX:void 0,o=t.label?(t.label.negY?-1:1)*t.label.offsetY:void 0,n=t.decorator?.strategy;e.addNode(t.name,t.name,a.x,a.y,"component",r,o,t.inertia,n)}),t.notes.forEach(t=>{let a=p(t.visibility,t.evolution,`Note "${t.text}"`);e.addNote(t.text,a.x,a.y)}),t.pipelines.forEach(t=>{let a=e.getNode(t.parent);if(!a||"number"!=typeof a.y)throw Error(`Pipeline "${t.parent}" must reference an existing component with coordinates.`);let r=a.y;e.startPipeline(t.parent),t.components.forEach(a=>{let o=`${t.parent}_${a.name}`,n=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,i=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,l=c(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(o,a.name,l,r,"pipeline-component",n,i),e.addPipelineComponent(t.parent,o)})}),t.links.forEach(t=>{let a=!!t.arrow&&(t.arrow.includes("-.->")||t.arrow.includes(".-.")),r=h(t.fromPort)??h(t.toPort),{flow:o,label:n}=x(t.arrow);!r&&o&&(r=o);let i=t.linkLabel;e.addLink(e.resolveNodeId(t.from),e.resolveNodeId(t.to),a,n??i,r)}),t.evolves.forEach(t=>{let a=e.getNode(t.component);if(a?.y!==void 0){let r=c(t.target,`Evolve target for "${t.component}"`);e.addTrend(t.component,r,a.y)}}),t.annotations.length>0){let a=t.annotations[0],r=p(a.x,a.y,"Annotations box");e.setAnnotationsBox(r.x,r.y)}t.annotation.forEach(t=>{let a=p(t.x,t.y,`Annotation ${t.number}`);e.addAnnotation(t.number,[{x:a.x,y:a.y}],t.text)}),t.accelerators.forEach(t=>{let a=p(t.x,t.y,`Accelerator "${t.name}"`);e.addAccelerator(t.name,a.x,a.y)}),t.deaccelerators.forEach(t=>{let a=p(t.x,t.y,`Deaccelerator "${t.name}"`);e.addDeaccelerator(t.name,a.x,a.y)})},"populateDb"),f={parser:{yy:void 0},parse:(0,s.K)(async t=>{let e=await (0,d.qg)("wardley",t);l.R.debug(e);let a=f.parser?.yy;if(!a||"function"!=typeof a.addNode)throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");y(e,a)},"parse")},g=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{(0,s.K)(this,"WardleyBuilder")}addNode(t){let e=this.nodes.get(t.id)??{id:t.id,label:t.label},a={...e,...t,className:t.className??e.className,labelOffsetX:t.labelOffsetX??e.labelOffsetX,labelOffsetY:t.labelOffsetY??e.labelOffsetY};this.nodes.set(t.id,a)}addLink(t){this.links.push(t)}addTrend(t){this.trends.set(t.nodeId,t)}startPipeline(t){this.pipelines.set(t,{nodeId:t,componentIds:[]});let e=this.nodes.get(t);e&&(e.isPipelineParent=!0)}addPipelineComponent(t,e){let a=this.pipelines.get(t);a&&a.componentIds.push(e);let r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(t){this.annotations.push(t)}addNote(t){this.notes.push(t)}addAccelerator(t){this.accelerators.push(t)}addDeaccelerator(t){this.deaccelerators.push(t)}setAnnotationsBox(t,e){this.annotationsBox={x:t,y:e}}setAxes(t){this.axes={...this.axes,...t}}setSize(t,e){this.size={width:t,height:e}}getNode(t){return this.nodes.get(t)}resolveNodeId(t){if(this.nodes.has(t))return t;for(let[e,a]of this.nodes)if(a.label===t)return e;return t}build(){let t=[];for(let e of this.nodes.values()){if("number"!=typeof e.x||"number"!=typeof e.y)throw Error(`Node "${e.label}" is missing coordinates`);t.push(e)}return{nodes:t,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function u(){return(0,i.D7)()["wardley-beta"]}function w(t,e,a,r,o,n,i,l,s){g.addNode({id:t,label:e,x:a,y:r,className:o,labelOffsetX:n,labelOffsetY:i,inertia:l,sourceStrategy:s})}function m(t,e,a=!1,r,o){g.addLink({source:t,target:e,dashed:a,label:r,flow:o})}function k(t,e,a){g.addTrend({nodeId:t,targetX:e,targetY:a})}function b(t,e,a){g.addAnnotation({number:t,coordinates:e,text:a})}function $(t,e,a){g.addNote({text:t,x:e,y:a})}function S(t,e,a){g.addAccelerator({name:t,x:e,y:a})}function v(t,e,a){g.addDeaccelerator({name:t,x:e,y:a})}function C(t,e){g.setAnnotationsBox(t,e)}function M(t,e){g.setSize(t,e)}function P(t){g.startPipeline(t)}function N(t,e){g.addPipelineComponent(t,e)}function T(t){g.setAxes(t)}function z(t){return g.getNode(t)}function L(t){return g.resolveNodeId(t)}function A(){return g.build()}function E(){g.clear(),(0,i.IU)()}(0,s.K)(u,"getConfig"),(0,s.K)(w,"addNode"),(0,s.K)(m,"addLink"),(0,s.K)(k,"addTrend"),(0,s.K)(b,"addAnnotation"),(0,s.K)($,"addNote"),(0,s.K)(S,"addAccelerator"),(0,s.K)(v,"addDeaccelerator"),(0,s.K)(C,"setAnnotationsBox"),(0,s.K)(M,"setSize"),(0,s.K)(P,"startPipeline"),(0,s.K)(N,"addPipelineComponent"),(0,s.K)(T,"updateAxes"),(0,s.K)(z,"getNode"),(0,s.K)(L,"resolveNodeId"),(0,s.K)(A,"getWardleyData"),(0,s.K)(E,"clear");var K={getConfig:u,addNode:w,addLink:m,addTrend:k,addAnnotation:b,addNote:$,addAccelerator:S,addDeaccelerator:v,setAnnotationsBox:C,setSize:M,startPipeline:P,addPipelineComponent:N,updateAxes:T,getNode:z,resolveNodeId:L,getWardleyData:A,clear:E,setAccTitle:i.SV,getAccTitle:i.iN,setDiagramTitle:i.ke,getDiagramTitle:i.ab,getAccDescription:i.m7,setAccDescription:i.EI},I=["Genesis","Custom Built","Product","Commodity"],R=(0,s.K)(()=>{let{themeVariables:t}=(0,i.D7)();return{backgroundColor:t.wardley?.backgroundColor??t.background??"#fff",axisColor:t.wardley?.axisColor??"#000",axisTextColor:t.wardley?.axisTextColor??t.primaryTextColor??"#222",gridColor:t.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:t.wardley?.componentFill??"#fff",componentStroke:t.wardley?.componentStroke??"#000",componentLabelColor:t.wardley?.componentLabelColor??t.primaryTextColor??"#222",linkStroke:t.wardley?.linkStroke??"#000",evolutionStroke:t.wardley?.evolutionStroke??"#dc3545",annotationStroke:t.wardley?.annotationStroke??"#000",annotationTextColor:t.wardley?.annotationTextColor??t.primaryTextColor??"#222",annotationFill:t.wardley?.annotationFill??t.background??"#fff"}},"getTheme"),D=(0,s.K)(()=>{let t=(0,i.D7)()["wardley-beta"];return{width:t?.width??900,height:t?.height??600,padding:t?.padding??48,nodeRadius:t?.nodeRadius??6,nodeLabelOffset:t?.nodeLabelOffset??8,axisFontSize:t?.axisFontSize??12,labelFontSize:t?.labelFontSize??10,showGrid:t?.showGrid??!1,useMaxWidth:t?.useMaxWidth??!0}},"getConfigValues"),F={parser:f,db:K,renderer:{draw:(0,s.K)((t,e,a,r)=>{l.R.debug("Rendering Wardley map\n"+t);let n=D(),d=R(),c=1.6*n.nodeRadius,p=r.db,h=p.getWardleyData(),x=p.getDiagramTitle(),y=h.size?.width??n.width,f=h.size?.height??n.height,g=(0,o.D)(e);g.selectAll("*").remove(),(0,i.a$)(g,f,y,n.useMaxWidth),g.attr("viewBox",`0 0 ${y} ${f}`);let u=g.append("g").attr("class","wardley-map"),w=g.append("defs");w.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),w.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),w.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),u.append("rect").attr("class","wardley-background").attr("width",y).attr("height",f).attr("fill",d.backgroundColor);let m=y-2*n.padding,k=f-2*n.padding;x&&u.append("text").attr("class","wardley-title").attr("x",y/2).attr("y",n.padding/2).attr("fill",d.axisTextColor).attr("font-size",1.05*n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(x);let b=(0,s.K)(t=>n.padding+t/100*m,"projectX"),$=(0,s.K)(t=>f-n.padding-t/100*k,"projectY"),S=u.append("g").attr("class","wardley-axes");S.append("line").attr("x1",n.padding).attr("x2",y-n.padding).attr("y1",f-n.padding).attr("y2",f-n.padding).attr("stroke",d.axisColor).attr("stroke-width",1),S.append("line").attr("x1",n.padding).attr("x2",n.padding).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke",d.axisColor).attr("stroke-width",1);let v=h.axes.xLabel??"Evolution",C=h.axes.yLabel??"Visibility";S.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",n.padding+m/2).attr("y",f-n.padding/4).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(v),S.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",n.padding/3).attr("y",n.padding+k/2).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${n.padding/3} ${n.padding+k/2})`).text(C);let M=h.axes.stages&&h.axes.stages.length>0?h.axes.stages:I;if(M.length>0){let t=u.append("g").attr("class","wardley-stages"),e=h.axes.stageBoundaries,a=[];if(e&&e.length===M.length){let t=0;e.forEach(e=>{a.push({start:t,end:e}),t=e})}else{let t=1/M.length;M.forEach((e,r)=>{a.push({start:r*t,end:(r+1)*t})})}M.forEach((e,r)=>{let o=a[r],i=n.padding+o.start*m,l=(i+(n.padding+o.end*m))/2;r>0&&t.append("line").attr("x1",i).attr("x2",i).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",l).attr("y",f-n.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",n.axisFontSize-2).attr("text-anchor","middle").text(e)})}if(n.showGrid){let t=u.append("g").attr("class","wardley-grid");for(let e=1;e<4;e++){let a=e/4,r=n.padding+m*a;t.append("line").attr("x1",r).attr("x2",r).attr("y1",n.padding).attr("y2",f-n.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",n.padding).attr("x2",y-n.padding).attr("y1",f-n.padding-k*a).attr("y2",f-n.padding-k*a).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}let P=new Map;if(h.nodes.forEach(t=>{P.set(t.id,{x:b(t.x),y:$(t.y),node:t})}),h.pipelines.length>0){let t=u.append("g").attr("class","wardley-pipelines"),e=u.append("g").attr("class","wardley-pipeline-links");h.pipelines.forEach(a=>{if(0===a.componentIds.length)return;let r=a.componentIds.map(t=>({id:t,pos:P.get(t),node:h.nodes.find(e=>e.id===t)})).filter(t=>t.pos&&t.node).sort((t,e)=>t.node.x-e.node.x);for(let t=0;t<r.length-1;t++){let a=r[t],o=r[t+1];e.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",a.pos.x).attr("y1",a.pos.y).attr("x2",o.pos.x).attr("y2",o.pos.y).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let o=1/0,i=-1/0,l=0;if(a.componentIds.forEach(t=>{let e=P.get(t);e&&(o=Math.min(o,e.x),i=Math.max(i,e.x),l=e.y)}),o!==1/0&&i!==-1/0){let e=4*n.nodeRadius,r=l-e/2,s=P.get(a.nodeId);s&&(s.x=(o+i)/2,s.y=r-c/6),t.append("rect").attr("class","wardley-pipeline-box").attr("x",o-15).attr("y",r).attr("width",i-o+30).attr("height",e).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let N=u.append("g").attr("class","wardley-links"),T=new Map;h.pipelines.forEach(t=>{T.set(t.nodeId,new Set(t.componentIds))});let z=h.links.filter(t=>{if(!P.has(t.source)||!P.has(t.target))return!1;let e=T.get(t.target);return!e?.has(t.source)});N.selectAll("line").data(z).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.source).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=a.x-e.x,i=a.y-e.y,l=Math.sqrt(o*o+i*i);return e.x+o/l*r}).attr("y1",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.source).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=a.x-e.x,i=a.y-e.y,l=Math.sqrt(o*o+i*i);return e.y+i/l*r}).attr("x2",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.target).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=e.x-a.x,i=e.y-a.y,l=Math.sqrt(o*o+i*i);return a.x+o/l*r}).attr("y2",t=>{let e=P.get(t.source),a=P.get(t.target),r=h.nodes.find(e=>e.id===t.target).isPipelineParent?c/Math.sqrt(2):n.nodeRadius,o=e.x-a.x,i=e.y-a.y,l=Math.sqrt(o*o+i*i);return a.y+i/l*r}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>"forward"===t.flow||"bidirectional"===t.flow?`url(#link-arrow-end-${e})`:null).attr("marker-start",t=>"backward"===t.flow||"bidirectional"===t.flow?`url(#link-arrow-start-${e})`:null),N.selectAll("text").data(z.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.x+a.x)/2,o=a.y-e.y,n=a.x-e.x,i=Math.sqrt(n*n+o*o);return r+o/i*8}).attr("y",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.y+a.y)/2,o=a.x-e.x,n=a.y-e.y,i=Math.sqrt(o*o+n*n);return r+-o/i*8}).attr("fill",d.axisTextColor).attr("font-size",n.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{let e=P.get(t.source),a=P.get(t.target),r=(e.x+a.x)/2,o=(e.y+a.y)/2,n=a.x-e.x,i=a.y-e.y,l=Math.sqrt(n*n+i*i),s=180*Math.atan2(i,n)/Math.PI;return(s>90||s<-90)&&(s+=180),`rotate(${s} ${r+i/l*8} ${o+-n/l*8})`}).text(t=>t.label);let L=u.append("g").attr("class","wardley-trends"),A=h.trends.map(t=>{let e=P.get(t.nodeId);if(!e)return null;let a=b(t.targetX),r=$(t.targetY),o=a-e.x,i=r-e.y,l=Math.sqrt(o*o+i*i),s=n.nodeRadius+2;return{origin:e,targetX:a,targetY:r,adjustedX2:l>s?a-o/l*s:a,adjustedY2:l>s?r-i/l*s:r}}).filter(t=>null!==t);L.selectAll("line").data(A).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);let E=u.append("g").attr("class","wardley-nodes").selectAll("g").data(h.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));E.filter(t=>"outsource"===t.sourceStrategy).append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),E.filter(t=>"buy"===t.sourceStrategy).append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),E.filter(t=>"build"===t.sourceStrategy).append("circle").attr("class","wardley-build-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let K=E.filter(t=>"market"===t.sourceStrategy);K.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",2*n.nodeRadius).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),E.filter(t=>!t.isPipelineParent&&"market"!==t.sourceStrategy&&"anchor"!==t.className).append("circle").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y).attr("r",n.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);let F=.7*n.nodeRadius,B=1.2*n.nodeRadius;if(K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x).attr("y1",t=>P.get(t.id).y-B).attr("x2",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("y2",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("y1",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("x2",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("y2",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("line").attr("class","wardley-market-line").attr("x1",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("y1",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("x2",t=>P.get(t.id).x).attr("y2",t=>P.get(t.id).y-B).attr("stroke",d.componentStroke).attr("stroke-width",1),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x).attr("cy",t=>P.get(t.id).y-B).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x-B*Math.cos(Math.PI/6)).attr("cy",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),K.append("circle").attr("class","wardley-market-dot").attr("cx",t=>P.get(t.id).x+B*Math.cos(Math.PI/6)).attr("cy",t=>P.get(t.id).y+B*Math.sin(Math.PI/6)).attr("r",F).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),E.filter(t=>!0===t.isPipelineParent).append("rect").attr("x",t=>P.get(t.id).x-c/2).attr("y",t=>P.get(t.id).y-c/2).attr("width",c).attr("height",c).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),E.filter(t=>!0===t.inertia).append("line").attr("class","wardley-inertia").attr("x1",t=>{let e=P.get(t.id),a=t.isPipelineParent?c/2+15:n.nodeRadius+15;return t.sourceStrategy&&(a+=n.nodeRadius+10),e.x+a}).attr("y1",t=>{let e=P.get(t.id),a=t.isPipelineParent?c:2*n.nodeRadius;return e.y-a/2}).attr("x2",t=>{let e=P.get(t.id),a=t.isPipelineParent?c/2+15:n.nodeRadius+15;return t.sourceStrategy&&(a+=n.nodeRadius+10),e.x+a}).attr("y2",t=>{let e=P.get(t.id),a=t.isPipelineParent?c:2*n.nodeRadius;return e.y+a/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),E.append("text").attr("x",t=>{let e=P.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetX?e.x+t.labelOffsetX:e.x;let a=n.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetX&&(a+=10);let r=t.labelOffsetX??a;return e.x+r}).attr("y",t=>{let e=P.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetY?e.y+t.labelOffsetY:e.y-3;let a=-n.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetY&&(a-=10);let r=t.labelOffsetY??a;return e.y+r}).attr("class","wardley-node-label").attr("fill",t=>"evolved"===t.className?d.evolutionStroke:"anchor"===t.className?"#000":d.componentLabelColor).attr("font-size",n.labelFontSize).attr("font-weight",t=>"anchor"===t.className?"bold":"normal").attr("text-anchor",t=>"anchor"===t.className?"middle":"start").attr("dominant-baseline",t=>"anchor"===t.className?"middle":"auto").text(t=>t.label),h.annotations.length>0){let t=u.append("g").attr("class","wardley-annotations");if(h.annotations.forEach(e=>{let a=e.coordinates.map(t=>({x:b(t.x),y:$(t.y)}));if(a.length>1)for(let e=0;e<a.length-1;e++)t.append("line").attr("class","wardley-annotation-line").attr("x1",a[e].x).attr("y1",a[e].y).attr("x2",a[e+1].x).attr("y2",a[e+1].y).attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");a.forEach(a=>{let r=t.append("g").attr("class","wardley-annotation");r.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),r.append("text").attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.number)})}),h.annotationsBox){let e=b(h.annotationsBox.x),a=$(h.annotationsBox.y),r=t.append("g").attr("class","wardley-annotations-box"),o=[...h.annotations].filter(t=>t.text).sort((t,e)=>t.number-e.number),i=[];if(o.forEach((t,o)=>{let n=r.append("text").attr("x",e+10).attr("y",a+10+(o+1)*16).attr("font-size",11).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${t.number}. ${t.text}`);i.push(n)}),i.length>0){let t=0,l=0;i.forEach(e=>{let a=e.node(),r=a.getComputedTextLength();t=Math.max(t,r);let o=a.getBBox();l=Math.max(l,o.height)});let s=t+20+105,c=16*o.length+20+l/2,p=n.padding,h=y-n.padding-s,x=n.padding,g=f-n.padding-c;e=Math.max(p,Math.min(e,h)),a=Math.max(x,Math.min(a,g)),i.forEach((t,r)=>{t.attr("x",e+10).attr("y",a+10+(r+1)*16)}),r.insert("rect","text").attr("x",e).attr("y",a).attr("width",s).attr("height",c).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(h.notes.length>0){let t=u.append("g").attr("class","wardley-notes");h.notes.forEach(e=>{let a=b(e.x),r=$(e.y);t.append("text").attr("x",a).attr("y",r).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.text)})}if(h.accelerators.length>0){let t=u.append("g").attr("class","wardley-accelerators");h.accelerators.forEach(e=>{let a=b(e.x),r=$(e.y),o=` + M ${a} ${r-15} + L ${a+60-20} ${r-15} + L ${a+60-20} ${r-15-8} + L ${a+60} ${r} + L ${a+60-20} ${r+15+8} + L ${a+60-20} ${r+15} + L ${a} ${r+15} + Z + `;t.append("path").attr("d",o).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.name)})}if(h.deaccelerators.length>0){let t=u.append("g").attr("class","wardley-deaccelerators");h.deaccelerators.forEach(e=>{let a=b(e.x),r=$(e.y),o=` + M ${a+60} ${r-15} + L ${a+20} ${r-15} + L ${a+20} ${r-15-8} + L ${a} ${r} + L ${a+20} ${r+15+8} + L ${a+20} ${r+15} + L ${a+60} ${r+15} + Z + `;t.append("path").attr("d",o).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(e.name)})}},"draw")},styles:(0,s.K)(({wardley:t}={})=>{let e=(0,i.P$)(),a=(0,i.zj)(),r=(0,n.$t)(e,a.themeVariables),o=(0,n.$t)(r.wardley,t);return` + .wardley-background { + fill: ${o.backgroundColor}; + } + .wardley-axes line, .wardley-axes path { + stroke: ${o.axisColor}; + } + .wardley-axis-label { + fill: ${o.axisTextColor}; + } + .wardley-stage-label { + fill: ${o.axisTextColor}; + } + .wardley-grid line { + stroke: ${o.gridColor}; + } + .wardley-node circle { + fill: ${o.componentFill}; + stroke: ${o.componentStroke}; + } + .wardley-node-label { + fill: ${o.componentLabelColor}; + } + .wardley-link { + stroke: ${o.linkStroke}; + } + .wardley-link--dashed { + stroke-dasharray: 4 4; + } + .wardley-link-label { + fill: ${o.axisTextColor}; + } + .wardley-trend line { + stroke: ${o.evolutionStroke}; + } + .wardley-annotation-line { + stroke: ${o.annotationStroke}; + } + .wardley-annotation circle { + fill: ${o.annotationFill}; + stroke: ${o.annotationStroke}; + } + .wardley-annotation text { + fill: ${o.annotationTextColor}; + } + .wardley-annotations-box rect { + fill: ${o.annotationFill}; + stroke: ${o.annotationStroke}; + } + .wardley-annotations-box text { + fill: ${o.annotationTextColor}; + } + .wardley-pipeline-box { + stroke: ${o.componentStroke}; + } + .wardley-notes text { + fill: ${o.axisTextColor}; + } + `},"styles")}}}]); \ No newline at end of file diff --git a/en/assets/js/2951.c9b9b0af.js b/en/assets/js/2951.c9b9b0af.js new file mode 100644 index 0000000..d971e5d --- /dev/null +++ b/en/assets/js/2951.c9b9b0af.js @@ -0,0 +1,38 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2951"],{7454(e,t,a){function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>i}),(0,a(6827).K)(i,"populateCommonDb")},7834(e,t,a){a.d(t,{diagram:()=>v});var i=a(7454),l=a(4924),r=a(6348),s=a(1177),n=a(1293),o=a(6827),c=a(8731),p=a(7829),d=s.UI.pie,h={sections:new Map,showData:!1,config:d},g=h.sections,u=h.showData,f=structuredClone(d),m=(0,o.K)(()=>structuredClone(f),"getConfig"),x=(0,o.K)(()=>{g=new Map,u=h.showData,(0,s.IU)()},"clear"),$=(0,o.K)(({label:e,value:t})=>{if(t<0)throw Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);g.has(e)||(g.set(e,t),n.R.debug(`added new section: ${e}, with value: ${t}`))},"addSection"),w=(0,o.K)(()=>g,"getSections"),S=(0,o.K)(e=>{u=e},"setShowData"),y=(0,o.K)(()=>u,"getShowData"),b={getConfig:m,clear:x,setDiagramTitle:s.ke,getDiagramTitle:s.ab,setAccTitle:s.SV,getAccTitle:s.iN,setAccDescription:s.EI,getAccDescription:s.m7,addSection:$,getSections:w,setShowData:S,getShowData:y},C=(0,o.K)((e,t)=>{(0,i.S)(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),D={parse:(0,o.K)(async e=>{let t=await (0,c.qg)("pie",e);n.R.debug(t),C(t,b)},"parse")},T=(0,o.K)(e=>` + .pieCircle{ + stroke: ${e.pieStrokeColor}; + stroke-width : ${e.pieStrokeWidth}; + opacity : ${e.pieOpacity}; + } + .pieCircle.highlighted{ + scale: 1.05; + opacity: 1; + } + .pieCircle.highlightedOnHover:hover{ + transition-duration: 250ms; + scale: 1.05; + opacity: 1; + } + .pieOuterCircle{ + stroke: ${e.pieOuterStrokeColor}; + stroke-width: ${e.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${e.pieTitleTextSize}; + fill: ${e.pieTitleTextColor}; + font-family: ${e.fontFamily}; + } + .slice { + font-family: ${e.fontFamily}; + fill: ${e.pieSectionTextColor}; + font-size:${e.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${e.pieLegendTextColor}; + font-family: ${e.fontFamily}; + font-size: ${e.pieLegendTextSize}; + } +`,"getStyles"),k=(0,o.K)(e=>{let t=[...e.values()].reduce((e,t)=>e+t,0),a=[...e.entries()].map(([e,t])=>({label:e,value:t})).filter(e=>e.value/t*100>=1);return(0,p.rLf)().value(e=>e.value).sort(null)(a)},"createPieArcs"),v={parser:D,db:b,renderer:{draw:(0,o.K)((e,t,a,i)=>{n.R.debug("rendering pie chart\n"+e);let o=i.db,c=(0,s.D7)(),d=(0,r.$t)(o.getConfig(),c.pie),h=(0,l.D)(t),g=h.append("g");g.attr("transform","translate(225,225)");let{themeVariables:u}=c,[f]=(0,r.I5)(u.pieOuterStrokeWidth);f??=2;let m=d.legendPosition,x=d.textPosition,$=d.donutHole>0&&d.donutHole<=.9?d.donutHole:0,w=(0,p.JLW)().innerRadius(185*$).outerRadius(185),S=(0,p.JLW)().innerRadius(185*x).outerRadius(185*x),y=g.append("g");y.append("circle").attr("cx",0).attr("cy",0).attr("r",185+f/2).attr("class","pieOuterCircle");let b=o.getSections(),C=k(b),D=[u.pie1,u.pie2,u.pie3,u.pie4,u.pie5,u.pie6,u.pie7,u.pie8,u.pie9,u.pie10,u.pie11,u.pie12],T=0;b.forEach(e=>{T+=e});let v=C.filter(e=>"0"!==(e.data.value/T*100).toFixed(0)),A=(0,p.UMr)(D).domain([...b.keys()]);y.selectAll("mySlices").data(v).enter().append("path").attr("d",w).attr("fill",e=>A(e.data.label)).attr("class",e=>{let t="pieCircle";return"hover"===d.highlightSlice?t+=" highlightedOnHover":d.highlightSlice===e.data.label&&(t+=" highlighted"),t}),y.selectAll("mySlices").data(v).enter().append("text").text(e=>(e.data.value/T*100).toFixed(0)+"%").attr("transform",e=>"translate("+S.centroid(e)+")").style("text-anchor","middle").attr("class","slice");let K=g.append("text").text(o.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText"),R=[...b.entries()].map(([e,t])=>({label:e,value:t})),O=g.selectAll(".legend").data(R).enter().append("g").attr("class","legend");O.append("rect").attr("width",18).attr("height",18).style("fill",e=>A(e.label)).style("stroke",e=>A(e.label)),O.append("text").attr("x",22).attr("y",14).text(e=>o.getShowData()?`${e.label} [${e.value}]`:e.label);let M=Math.max(...O.selectAll("text").nodes().map(e=>e?.getBoundingClientRect().width??0)),z=450,W=490,F=22*R.length;switch(m){case"center":O.attr("transform",(e,t)=>"translate("+(-M/2-22)+","+(22*t-22*R.length/2)+")");break;case"top":z+=F,O.attr("transform",(e,t)=>`translate(${-M/2-22}, ${22*t-185})`),y.attr("transform",()=>`translate(0, ${F+22})`);break;case"bottom":z+=F,O.attr("transform",(e,t)=>"translate("+(-M/2-22)+","+(22*t- -207)+")");break;case"left":W+=22+M,O.attr("transform",(e,t)=>"translate(-207,"+(22*t-22*R.length/2)+")"),y.attr("transform",()=>`translate(${M+18+4}, 0)`);break;default:W+=22+M,O.attr("transform",(e,t)=>"translate(216,"+(22*t-22*R.length/2)+")")}let H=K.node()?.getBoundingClientRect().width??0,L=Math.min(0,225-H/2),I=Math.max(W,225+H/2)-L;h.attr("viewBox",`${L} 0 ${I} ${z}`),(0,s.a$)(h,z,I,d.useMaxWidth)},"draw")},styles:T}}}]); \ No newline at end of file diff --git a/en/assets/js/2cb18a50.881d2316.js b/en/assets/js/2cb18a50.881d2316.js new file mode 100644 index 0000000..02204d9 --- /dev/null +++ b/en/assets/js/2cb18a50.881d2316.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9548"],{1564(e,r,n){n.r(r),n.d(r,{metadata:()=>t,default:()=>u,frontMatter:()=>a,contentTitle:()=>l,toc:()=>o,assets:()=>c});var t=JSON.parse('{"id":"about/architecture","title":"Architecture","description":"The two-layer unified extension architecture of SqlParserX","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/about/architecture.md","sourceDirName":"about","slug":"/about/architecture","permalink":"/SqlParserX/en/docs/about/architecture","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/about/architecture.md","tags":[],"version":"1.0","sidebarPosition":2,"frontMatter":{"title":"Architecture","description":"The two-layer unified extension architecture of SqlParserX","sidebar_label":"Architecture","sidebar_position":2},"sidebar":"docs","previous":{"title":"Introduction","permalink":"/SqlParserX/en/docs/about/introduction"},"next":{"title":"Setup & Build","permalink":"/SqlParserX/en/docs/quickstart/setup"}}'),s=n(4848),i=n(8453);let a={title:"Architecture",description:"The two-layer unified extension architecture of SqlParserX",sidebar_label:"Architecture",sidebar_position:2},l="Two-Layer Unified Extension Architecture",c={},o=[{value:"Overall Architecture",id:"overall-architecture",level:2},{value:"Module Dependencies",id:"module-dependencies",level:2}];function d(e){let r={code:"code",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",mermaid:"mermaid",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"two-layer-unified-extension-architecture",children:"Two-Layer Unified Extension Architecture"})}),"\n",(0,s.jsx)(r.p,{children:"The SqlParserX parsing kernel consists of two connected, structurally symmetric extension systems, each in its own Jar module:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:[(0,s.jsxs)(r.strong,{children:["SQL syntax layer (",(0,s.jsx)(r.code,{children:"sqlparserx-syntax"}),")"]}),": built on official Druid, extending Lexer, StatementParser and AST nodes per datasource through unified dialect routing, parser base and AST model."]}),"\n",(0,s.jsxs)(r.li,{children:[(0,s.jsxs)(r.strong,{children:["SqlParserX business layer (",(0,s.jsx)(r.code,{children:"sqlparserx-core"}),")"]}),": extending table parsing, lineage and SQL rewriting per datasource through unified dialect routing, the ",(0,s.jsx)(r.code,{children:"ISqlParser"})," contract and business clients."]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Both layers follow the pattern ",(0,s.jsx)(r.strong,{children:"unified entry \u2192 common base \u2192 unified extension point \u2192 datasource implementation \u2192 unified result"}),". When adding a datasource, syntax differences are extended in the Druid layer and business differences in the SqlParserX layer, aligned via ",(0,s.jsx)(r.code,{children:"DbType"})," and Druid AST."]}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.img,{alt:"SqlParserX two-layer unified extension architecture",src:n(702).A+"",width:"1421",height:"1107"})}),"\n",(0,s.jsx)(r.h2,{id:"overall-architecture",children:"Overall Architecture"}),"\n",(0,s.jsx)(r.mermaid,{value:"flowchart TB\n subgraph Business[sqlparserx-core\uFF5CBusiness parsing layer]\n direction LR\n B_ROUTE[Dialect routing<br/>SqlParserFactory]\n B_BASE[Common base<br/>ISqlParser \xb7 BaseSqlParser \xb7 Base Client]\n B_EXT[Extension points<br/>Dialect Client \xb7 Strategy]\n B_DIALECT[Datasource implementations<br/>MySQL \xb7 Doris \xb7 StarRocks \xb7 ...]\n B_RESULT[Unified results<br/>Table \xb7 DDL \xb7 Lineage \xb7 SQL]\n B_ROUTE --\x3e B_BASE --\x3e B_EXT --\x3e B_DIALECT --\x3e B_RESULT\n end\n\n subgraph Syntax[sqlparserx-syntax\uFF5CSyntax parsing layer, on Druid]\n direction LR\n S_ROUTE[Dialect routing<br/>SqlSyntaxParserFactory \xb7 DbType]\n S_BASE[Common base<br/>Lexer \xb7 StatementParser \xb7 AST]\n S_EXT[Extension points<br/>Dialect Lexer \xb7 Parser \xb7 AST Node]\n S_DIALECT[Datasource implementations<br/>MySQL \xb7 Doris \xb7 Oracle \xb7 ...]\n S_RESULT[Unified results<br/>SQLStatement AST]\n S_ROUTE --\x3e S_BASE --\x3e S_EXT --\x3e S_DIALECT --\x3e S_RESULT\n end\n\n B_ROUTE -. DbType alignment .-> S_ROUTE\n B_DIALECT -. same datasource dialect .-> S_DIALECT\n B_BASE --\x3e|SQL + DbType| S_BASE\n S_RESULT --\x3e|SQLStatement AST| B_BASE"}),"\n",(0,s.jsx)(r.h2,{id:"module-dependencies",children:"Module Dependencies"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-text",children:"Access: sqlparserx-web (REST) / sqlparserx-ui\n \u2502 unified ISqlParser contract\nBusiness layer: sqlparserx-core\n \u2502 SQL + DbType / SQLStatement AST\nSyntax layer: sqlparserx-syntax (Druid 1.2.28)\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Business extensions follow ",(0,s.jsx)(r.code,{children:"SqlParserFactory"})," \u2192 ",(0,s.jsx)(r.code,{children:"ISqlParser"})," \u2192 ",(0,s.jsx)(r.code,{children:"BaseSqlParser"})," \u2192 dialect implementations."]})]})}function u(e={}){let{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},702(e,r,n){n.d(r,{A:()=>t});let t=n.p+"assets/images/SqlParserX\u4E24\u5C42\u67B6\u6784-en-710c1c16b39bd3885dfe50d51143759f.png"},8453(e,r,n){n.d(r,{R:()=>a,x:()=>l});var t=n(6540);let s={},i=t.createContext(s);function a(e){let r=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/3009.12978314.js b/en/assets/js/3009.12978314.js new file mode 100644 index 0000000..0a6fdab --- /dev/null +++ b/en/assets/js/3009.12978314.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3009"],{5784(e,s,r){r.d(s,{createRailroadPegServices:()=>a.P});var a=r(3245);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/3017.e8b74ccb.js b/en/assets/js/3017.e8b74ccb.js new file mode 100644 index 0000000..fb2476b --- /dev/null +++ b/en/assets/js/3017.e8b74ccb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3017"],{7632(e,s,r){r.d(s,{createWardleyServices:()=>a.J});var a=r(9427);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/3312.b999d1ad.js b/en/assets/js/3312.b999d1ad.js new file mode 100644 index 0000000..2786f3b --- /dev/null +++ b/en/assets/js/3312.b999d1ad.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3312"],{2355(e,s,r){r.d(s,{createEventModelingServices:()=>a.g});var a=r(2688);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/33fc5bb8.3fe0f57b.js b/en/assets/js/33fc5bb8.3fe0f57b.js new file mode 100644 index 0000000..60429fa --- /dev/null +++ b/en/assets/js/33fc5bb8.3fe0f57b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["48"],{2242(e,t,r){r.r(t),r.d(t,{default:()=>b});var s=r(4848);r(6540);var a=r(4164),n=r(4308),l=r(8287),o=r(9365),i=r(5310),c=r(7645),d=r(8579),u=r(4553),h=r(4175),g=r(284),m=r(6947);function p({author:e}){let t=(0,o.wI)(e);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.be,{title:t}),(0,s.jsx)(h.A,{tag:"blog_authors_posts"})]})}function x(){let{authorsListPath:e}=(0,c.x)();return(0,s.jsx)(i.A,{href:e,children:(0,s.jsx)(o.np,{})})}function j({author:e,items:t,sidebar:r,listMetadata:a}){return(0,s.jsxs)(d.A,{sidebar:r,children:[(0,s.jsxs)("header",{className:"margin-bottom--xl",children:[(0,s.jsx)(m.A,{as:"h1",author:e}),e.description&&(0,s.jsx)("p",{children:e.description}),(0,s.jsx)(x,{})]}),0===t.length?(0,s.jsx)("p",{children:(0,s.jsx)(o.Y4,{})}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("hr",{}),(0,s.jsx)(g.A,{items:t}),(0,s.jsx)(u.A,{metadata:a})]})]})}function b(e){return(0,s.jsxs)(n.e3,{className:(0,a.A)(l.G.wrapper.blogPages,l.G.page.blogAuthorsPostsPage),children:[(0,s.jsx)(p,{...e}),(0,s.jsx)(j,{...e})]})}},4553(e,t,r){r.d(t,{A:()=>l});var s=r(4848);r(6540);var a=r(568),n=r(7174);function l(e){let{metadata:t}=e,{previousPage:r,nextPage:l}=t;return(0,s.jsxs)("nav",{className:"pagination-nav","aria-label":(0,a.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[r&&(0,s.jsx)(n.A,{permalink:r,title:(0,s.jsx)(a.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),l&&(0,s.jsx)(n.A,{permalink:l,title:(0,s.jsx)(a.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},4533(e,t,r){r.d(t,{A:()=>_});var s=r(4848);r(6540);var a=r(4164),n=r(7645);function l({children:e,className:t}){return(0,s.jsx)("article",{className:t,children:e})}var o=r(5310);function i({className:e}){let{metadata:t,isBlogPostPage:r}=(0,n.e7)(),{permalink:l,title:c}=t;return(0,s.jsx)(r?"h1":"h2",{className:(0,a.A)("title_f1Hy",e),children:r?c:(0,s.jsx)(o.A,{to:l,children:c})})}var c=r(568),d=r(8878),u=r(7954);function h({readingTime:e}){let t=function(){let{selectMessage:e}=(0,d.W)();return t=>{let r=Math.ceil(t);return e(r,(0,c.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:r}))}}();return(0,s.jsx)(s.Fragment,{children:t(e)})}function g({date:e,formattedDate:t}){return(0,s.jsx)("time",{dateTime:e,children:t})}function m(){return(0,s.jsx)(s.Fragment,{children:" \xb7 "})}function p({className:e}){let{metadata:t}=(0,n.e7)(),{date:r,readingTime:l}=t,o=(0,u.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,s.jsxs)("div",{className:(0,a.A)("container_mt6G","margin-vert--md",e),children:[(0,s.jsx)(g,{date:r,formattedDate:o.format(new Date(r))}),void 0!==l&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(m,{}),(0,s.jsx)(h,{readingTime:l})]})]})}var x=r(6947);function j({className:e}){let{metadata:{authors:t},assets:r}=(0,n.e7)();if(0===t.length)return null;let l=t.every(({name:e})=>!e),o=1===t.length;return(0,s.jsx)("div",{className:(0,a.A)("margin-top--md margin-bottom--sm",l?"imageOnlyAuthorRow_pa_O":"row",e),children:t.map((e,t)=>(0,s.jsx)("div",{className:(0,a.A)(!l&&(o?"col col--12":"col col--6"),l?"imageOnlyAuthorCol_G86a":"authorCol_Hf19"),children:(0,s.jsx)(x.A,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t))})}function b(){return(0,s.jsxs)("header",{children:[(0,s.jsx)(i,{}),(0,s.jsx)(p,{}),(0,s.jsx)(j,{})]})}var f=r(5248),A=r(4743);function v({children:e,className:t}){let{isBlogPostPage:r}=(0,n.e7)();return(0,s.jsx)("div",{id:r?f.blogPostContainerID:void 0,className:(0,a.A)("markdown",t),children:(0,s.jsx)(A.A,{children:e})})}var T=r(8287),w=r(7410),N=r(4999);function y(){return(0,s.jsx)("b",{children:(0,s.jsx)(c.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function k(e){let{blogPostTitle:t,...r}=e;return(0,s.jsx)(o.A,{"aria-label":(0,c.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...r,children:(0,s.jsx)(y,{})})}function P(){let{metadata:e,isBlogPostPage:t}=(0,n.e7)(),{tags:r,title:l,editUrl:o,hasTruncateMarker:i,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&i,h=r.length>0;if(!(h||u||o))return null;if(!t)return(0,s.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[h&&(0,s.jsx)("div",{className:(0,a.A)("col",{"col--9":u}),children:(0,s.jsx)(N.A,{tags:r})}),u&&(0,s.jsx)("div",{className:(0,a.A)("col text--right",{"col--3":h}),children:(0,s.jsx)(k,{blogPostTitle:l,to:e.permalink})})]});{let e=!!(o||d||c);return(0,s.jsxs)("footer",{className:"docusaurus-mt-lg",children:[h&&(0,s.jsx)("div",{className:(0,a.A)("row","margin-top--sm",T.G.blog.blogFooterEditMetaRow),children:(0,s.jsx)("div",{className:"col",children:(0,s.jsx)(N.A,{tags:r})})}),e&&(0,s.jsx)(w.A,{className:(0,a.A)("margin-top--sm",T.G.blog.blogFooterEditMetaRow),editUrl:o,lastUpdatedAt:d,lastUpdatedBy:c})]})}}function _({children:e,className:t}){let r=function(){let{isBlogPostPage:e}=(0,n.e7)();return e?void 0:"margin-bottom--xl"}();return(0,s.jsxs)(l,{className:(0,a.A)(r,t),children:[(0,s.jsx)(b,{}),(0,s.jsx)(v,{children:e}),(0,s.jsx)(P,{})]})}},284(e,t,r){r.d(t,{A:()=>l});var s=r(4848);r(6540);var a=r(7645),n=r(4533);function l({items:e,component:t=n.A}){return(0,s.jsx)(s.Fragment,{children:e.map(({content:e})=>(0,s.jsx)(a.in,{content:e,children:(0,s.jsx)(t,{children:(0,s.jsx)(e,{})})},e.metadata.permalink))})}},9365(e,t,r){r.d(t,{Y4:()=>u,ZD:()=>o,np:()=>d,uz:()=>c,wI:()=>i});var s=r(4848);r(6540);var a=r(568),n=r(8878);function l(){let{selectMessage:e}=(0,n.W)();return t=>e(t,(0,a.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function o(e){let t=l();return(0,a.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function i(e){let t=l();return(0,a.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}let c=()=>(0,a.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function d(){return(0,s.jsx)(a.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function u(){return(0,s.jsx)(a.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}}}]); \ No newline at end of file diff --git a/en/assets/js/3535.18db5811.js b/en/assets/js/3535.18db5811.js new file mode 100644 index 0000000..90bedb3 --- /dev/null +++ b/en/assets/js/3535.18db5811.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3535"],{2130(e,t,r){r.d(t,{default:()=>aZ});class a extends Error{constructor(e,t){var r="KaTeX parse error: "+e,n=t&&t.loc;if(n&&n.start<=n.end){var i,s,o=n.lexer.input;i=n.start,s=n.end,i===o.length?r+=" at end of input: ":r+=" at position "+(i+1)+": ";var l=o.slice(i,s).replace(/[^]/g,"$&\u0332");r+=(i>15?"\u2026"+o.slice(i-15,i):o.slice(0,i))+l+(s+15<o.length?o.slice(s,s+15)+"\u2026":o.slice(s))}super(r),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,a.prototype),this.position=i,null!=i&&null!=s&&(this.length=s-i),this.rawMessage=e}}var n,i,s,o=/([A-Z])/g,l=e=>e.replace(o,"-$1").toLowerCase(),h={"&":"&",">":">","<":"<",'"':""","'":"'"},m=/[&><"']/g,c=e=>String(e).replace(m,e=>h[e]),u=e=>{if("ordgroup"===e.type||"color"===e.type)if(1===e.body.length)return u(e.body[0]);else return e;return"font"===e.type?u(e.body):e},p=new Set(["mathord","textord","atom"]),d=e=>p.has(u(e).type),g={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 <type>"},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 <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:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},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:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",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:e=>Math.max(0,e),cli:"-s, --max-size <n>",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:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};class f{constructor(e){for(var t of(void 0===e&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{},Object.keys(g))){var r=g[t];r&&function(e,t,r,a){var n=r[t];e[t]=void 0!==n?a.processor?a.processor(n):n:function(e){if(void 0!==e.default)return e.default;var t=Array.isArray(e.type)?e.type[0]:e.type;if("string"!=typeof t)return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw Error("Unexpected schema type; settings must declare an explicit default.")}}(a)}(this,t,e,r)}}reportNonstrict(e,t,r){var n=this.strict;if("function"==typeof n&&(n=n(e,t,r)),n&&"ignore"!==n){if(!0===n||"error"===n)throw new a("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" [")+e+"]",r);"warn"===n?"u">typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" [")+e+"]"):"u">typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+t+" [")+e+"]")}}useStrictBehavior(e,t,r){var a=this.strict;if("function"==typeof a)try{a=a(e,t,r)}catch(e){a="error"}return!!a&&"ignore"!==a&&(!0===a||"error"===a||("warn"===a?("u">typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" [")+e+"]"),!1):("u">typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+a+"': "+t+" [")+e+"]"),!1)))}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var t,r,a=(t=e.url,(r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t))?":"===r[2]&&/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?r[1].toLowerCase():null:"_relative");if(null==a)return!1;e.protocol=a}return!!("function"==typeof this.trust?this.trust(e):this.trust)}}class v{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return b[y[this.id]]}sub(){return b[x[this.id]]}fracNum(){return b[w[this.id]]}fracDen(){return b[k[this.id]]}cramp(){return b[z[this.id]]}text(){return b[S[this.id]]}isTight(){return this.size>=2}}var b=[new v(0,0,!1),new v(1,0,!0),new v(2,1,!1),new v(3,1,!0),new v(4,2,!1),new v(5,2,!0),new v(6,3,!1),new v(7,3,!0)],y=[4,5,4,5,6,7,6,7],x=[5,5,5,5,7,7,7,7],w=[2,3,4,5,6,7,6,7],k=[3,3,5,5,7,7,7,7],z=[1,1,3,3,5,5,7,7],S=[0,1,2,3,2,3,2,3],M={DISPLAY:b[0],TEXT:b[2],SCRIPT:b[4],SCRIPTSCRIPT:b[6]},A=[{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]]}],T=[];function C(e){for(var t=0;t<T.length;t+=2)if(e>=T[t]&&e<=T[t+1])return!0;return!1}A.forEach(e=>e.blocks.forEach(e=>T.push(...e)));var B=function(e,t,r){t*=1e3;var a,n,i,s,o,l,h="";switch(e){case"sqrtMain":h="M95,"+(622+(a=t)+80)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.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\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+a/2.075+" -"+a+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+a)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+a)+" 80h400000v"+(40+a)+"h-400000z";break;case"sqrtSize1":h="M263,"+(601+(n=t)+80)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+n/2.084+" -"+n+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+n)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+n)+" 80h400000v"+(40+n)+"h-400000z";break;case"sqrtSize2":h="M983 "+(10+(i=t)+80)+"\nl"+i/3.13+" -"+i+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+i)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+i)+" 80h400000v"+(40+i)+"h-400000z";break;case"sqrtSize3":h="M424,"+(2398+(s=t)+80)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-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\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+s/4.223+" -"+s+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+s)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+s)+" 80\nh400000v"+(40+s)+"h-400000z";break;case"sqrtSize4":h="M473,"+(2713+(o=t)+80)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+o/5.298+" -"+o+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+o)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-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\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+o)+" 80h400000v"+(40+o)+"H1017.7z";break;case"sqrtTall":h="M702 "+((l=t)+80)+"H400000"+(40+l)+"\nH742v"+(r-54-80-l)+"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\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 80H400000v"+(40+l)+"H742z"}return h},q=function(e,t){switch(e){case"\u239C":let r;return(r="M291 0 H417 V"+t+" H291z")+" "+r;case"\u2223":let a;return(a="M145 0 H188 V"+t+" H145z")+" "+a;case"\u2225":let n,i;return(n="M145 0 H188 V"+t+" H145z")+" "+n+((i="M367 0 H410 V"+t+" H367z")+" ")+i;case"\u239F":let s;return(s="M457 0 H583 V"+t+" H457z")+" "+s;case"\u23A2":let o;return(o="M319 0 H403 V"+t+" H319z")+" "+o;case"\u23A5":let l;return(l="M263 0 H347 V"+t+" H263z")+" "+l;case"\u23AA":let h;return(h="M384 0 H504 V"+t+" H384z")+" "+h;case"\u23D0":let m;return(m="M312 0 H355 V"+t+" H312z")+" "+m;case"\u2016":let c,u;return(c="M257 0 H300 V"+t+" H257z")+" "+c+((u="M478 0 H521 V"+t+" H478z")+" ")+u;default:return""}},I={doubleleftarrow:"M262 157\nl10-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\n 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\n 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\nc2 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\n 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\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-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\n 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\n-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\n-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\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-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\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 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\n-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\nc-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\n 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\n 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\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 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\n 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\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 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\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-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\n-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\n-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\n 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\n-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\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 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\n-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\n 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\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-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\n-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\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z M40 281 V428 H0 V94 H40 V241 H400000 v40z",leftbracketunder:"M0 0 h120 V290 H399995 v120 H0z M0 0 h120 V290 H399995 v120 H0z",leftbracketover:"M0 440 h120 V150 H399995 v-120 H0z M0 440 h120 V150 H399995 v-120 H0z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z M40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.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\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z M0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-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\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 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\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.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\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 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\n-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\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.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\n60.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\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 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\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.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\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 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\n-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\n 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\n 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\n-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\n-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\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-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\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.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\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-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\n 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\n 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\n-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\n-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\n 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\n-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\n 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\nm0 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\n 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\n-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\n-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\n 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\n 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\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-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\n 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\n-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\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z M399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightbracketunder:"M399995 0 h-120 V290 H0 v120 H400000z M399995 0 h-120 V290 H0 v120 H400000z",rightbracketover:"M399995 440 h-120 V150 H0 v-120 H399995z 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\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-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\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 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\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 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\nc-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\n 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\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 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\n-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\n 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\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-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\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 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\n 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\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -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\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-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\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-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\n-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\n-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\n-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,\n-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,\n-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,\n-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,\n-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\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-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\ns-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\n121.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\ns2.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\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-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\n13.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\n-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\n-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\n-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\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,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\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-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\nc-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\nM0 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\nc1.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,\n1c0,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,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 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\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-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\nc-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\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},H=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 v84 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" 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\nc-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,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.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\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-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,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-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\nc-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\nc0,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\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw Error("Unknown stretchy delimiter.")}};class R{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){return this.children.map(e=>{if("toText"in e)return e.toText();throw Error("Expected MathDomNode with toText, got "+e.constructor.name)}).join("")}}var E={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},O={ex:!0,em:!0,mu:!0},D=function(e){return"string"!=typeof e&&(e=e.unit),e in E||e in O||"ex"===e},N=function(e,t){var r,n;if(e.unit in E)r=E[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{if(n=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=n.fontMetrics().xHeight;else if("em"===e.unit)r=n.fontMetrics().quad;else throw new a("Invalid unit: '"+e.unit+"'");n!==t&&(r*=n.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},L=function(e){return+e.toFixed(4)+"em"},F=function(e){return e.filter(e=>e).join(" ")},P=function(e){var t="";for(var r of Object.keys(e)){var a=e[r];void 0!==a&&(t+=l(r)+":"+a+";")}return t},V=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");var a=t.getColor();a&&(this.style.color=a)}},G=function(e){var t=document.createElement(e);for(var r of(t.className=F(this.classes),Object.assign(t.style,this.style),Object.keys(this.attributes)))t.setAttribute(r,this.attributes[r]);for(var a=0;a<this.children.length;a++)t.appendChild(this.children[a].toNode());return t},U=/[\s"'>/=\x00-\x1f]/,X=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+c(F(this.classes))+'"');var r=P(this.style);for(var n of(r&&(t+=' style="'+c(r)+'"'),Object.keys(this.attributes))){if(U.test(n))throw new a("Invalid attribute name '"+n+"'");t+=" "+n+'="'+c(this.attributes[n])+'"'}t+=">";for(var i=0;i<this.children.length;i++)t+=this.children[i].toMarkup();return t+("</"+e+">")};class Y{constructor(e,t,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,V.call(this,e,r,a),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return G.call(this,"span")}toMarkup(){return X.call(this,"span")}}class j{constructor(e,t,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,V.call(this,t,a),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return G.call(this,"a")}toMarkup(){return X.call(this,"a")}}class W{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=r}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");return e.src=this.src,e.alt=this.alt,e.className="mord",Object.assign(e.style,this.style),e}toMarkup(){var e='<img src="'+c(this.src)+'" alt="'+c(this.alt)+'"',t=P(this.style);return t&&(e+=' style="'+c(t)+'"'),e+="'/>"}}var _={"\xee":"\u0131\u0302","\xef":"\u0131\u0308","\xed":"\u0131\u0301","\xec":"\u0131\u0300"};class ${constructor(e,t,r,a,n,i,s,o){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=r||0,this.italic=a||0,this.skew=n||0,this.width=i||0,this.classes=s||[],this.style=o||{},this.maxFontSize=0;var l=function(e){for(var t=0;t<A.length;t++)for(var r=A[t],a=0;a<r.blocks.length;a++){var n=r.blocks[a];if(e>=n[0]&&e<=n[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=_[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;return(this.italic>0&&((t=document.createElement("span")).style.marginRight=L(this.italic)),this.classes.length>0&&((t=t||document.createElement("span")).className=F(this.classes)),Object.keys(this.style).length>0&&Object.assign((t=t||document.createElement("span")).style,this.style),t)?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="<span";this.classes.length&&(e=!0,t+=' class="',t+=c(F(this.classes)),t+='"');var r="";this.italic>0&&(r+="margin-right:"+L(this.italic)+";"),(r+=P(this.style))&&(e=!0,t+=' style="'+c(r)+'"');var a=c(this.text);return e?(t+=">",t+=a,t+="</span>"):a}}class Z{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);for(var r=0;r<this.children.length;r++)e.appendChild(this.children[r].toNode());return e}toMarkup(){var e='<svg xmlns="http://www.w3.org/2000/svg"';for(var t of Object.keys(this.attributes))e+=" "+t+'="'+c(this.attributes[t])+'"';e+=">";for(var r=0;r<this.children.length;r++)e+=this.children[r].toMarkup();return e+"</svg>"}}class K{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?e.setAttribute("d",this.alternate):e.setAttribute("d",I[this.pathName]),e}toMarkup(){return this.alternate?'<path d="'+c(this.alternate)+'"/>':'<path d="'+c(I[this.pathName])+'"/>'}}class J{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e=document.createElementNS("http://www.w3.org/2000/svg","line");for(var t of Object.keys(this.attributes))e.setAttribute(t,this.attributes[t]);return e}toMarkup(){var e="<line";for(var t of Object.keys(this.attributes))e+=" "+t+'="'+c(this.attributes[t])+'"';return e+"/>"}}var Q={"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]}},ee={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]},et={"\xc5":"A","\xd0":"D","\xde":"o","\xe5":"a","\xf0":"d","\xfe":"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};function er(e,t,r){if(!Q[t])throw Error("Font metrics not found for font: "+t+".");var a=e.charCodeAt(0),n=Q[t][a];if(!n&&e[0]in et&&(a=et[e[0]].charCodeAt(0),n=Q[t][a]),!n&&"text"===r&&C(a)&&(n=Q[t][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var ea={},en={math:{},text:{}};function ei(e,t,r,a,n,i){en[e][n]={font:t,group:r,replace:a},i&&a&&(en[e][a]=en[e][n])}var es="math",eo="text",el="main",eh="accent-token",em="close",ec="inner",eu="mathord",ep="op-token",ed="open",eg="punct",ef="spacing",ev="textord";ei(es,el,"rel","\u2261","\\equiv",!0),ei(es,el,"rel","\u227A","\\prec",!0),ei(es,el,"rel","\u227B","\\succ",!0),ei(es,el,"rel","\u223C","\\sim",!0),ei(es,el,"rel","\u22A5","\\perp"),ei(es,el,"rel","\u2AAF","\\preceq",!0),ei(es,el,"rel","\u2AB0","\\succeq",!0),ei(es,el,"rel","\u2243","\\simeq",!0),ei(es,el,"rel","\u2223","\\mid",!0),ei(es,el,"rel","\u226A","\\ll",!0),ei(es,el,"rel","\u226B","\\gg",!0),ei(es,el,"rel","\u224D","\\asymp",!0),ei(es,el,"rel","\u2225","\\parallel"),ei(es,el,"rel","\u22C8","\\bowtie",!0),ei(es,el,"rel","\u2323","\\smile",!0),ei(es,el,"rel","\u2291","\\sqsubseteq",!0),ei(es,el,"rel","\u2292","\\sqsupseteq",!0),ei(es,el,"rel","\u2250","\\doteq",!0),ei(es,el,"rel","\u2322","\\frown",!0),ei(es,el,"rel","\u220B","\\ni",!0),ei(es,el,"rel","\u221D","\\propto",!0),ei(es,el,"rel","\u22A2","\\vdash",!0),ei(es,el,"rel","\u22A3","\\dashv",!0),ei(es,el,"rel","\u220B","\\owns"),ei(es,el,eg,".","\\ldotp"),ei(es,el,eg,"\u22C5","\\cdotp"),ei(es,el,eg,"\u22C5","\xb7"),ei(eo,el,ev,"\u22C5","\xb7"),ei(es,el,ev,"#","\\#"),ei(eo,el,ev,"#","\\#"),ei(es,el,ev,"&","\\&"),ei(eo,el,ev,"&","\\&"),ei(es,el,ev,"\u2135","\\aleph",!0),ei(es,el,ev,"\u2200","\\forall",!0),ei(es,el,ev,"\u210F","\\hbar",!0),ei(es,el,ev,"\u2203","\\exists",!0),ei(es,el,ev,"\u2207","\\nabla",!0),ei(es,el,ev,"\u266D","\\flat",!0),ei(es,el,ev,"\u2113","\\ell",!0),ei(es,el,ev,"\u266E","\\natural",!0),ei(es,el,ev,"\u2663","\\clubsuit",!0),ei(es,el,ev,"\u2118","\\wp",!0),ei(es,el,ev,"\u266F","\\sharp",!0),ei(es,el,ev,"\u2662","\\diamondsuit",!0),ei(es,el,ev,"\u211C","\\Re",!0),ei(es,el,ev,"\u2661","\\heartsuit",!0),ei(es,el,ev,"\u2111","\\Im",!0),ei(es,el,ev,"\u2660","\\spadesuit",!0),ei(es,el,ev,"\xa7","\\S",!0),ei(eo,el,ev,"\xa7","\\S"),ei(es,el,ev,"\xb6","\\P",!0),ei(eo,el,ev,"\xb6","\\P"),ei(es,el,ev,"\u2020","\\dag"),ei(eo,el,ev,"\u2020","\\dag"),ei(eo,el,ev,"\u2020","\\textdagger"),ei(es,el,ev,"\u2021","\\ddag"),ei(eo,el,ev,"\u2021","\\ddag"),ei(eo,el,ev,"\u2021","\\textdaggerdbl"),ei(es,el,em,"\u23B1","\\rmoustache",!0),ei(es,el,ed,"\u23B0","\\lmoustache",!0),ei(es,el,em,"\u27EF","\\rgroup",!0),ei(es,el,ed,"\u27EE","\\lgroup",!0),ei(es,el,"bin","\u2213","\\mp",!0),ei(es,el,"bin","\u2296","\\ominus",!0),ei(es,el,"bin","\u228E","\\uplus",!0),ei(es,el,"bin","\u2293","\\sqcap",!0),ei(es,el,"bin","\u2217","\\ast"),ei(es,el,"bin","\u2294","\\sqcup",!0),ei(es,el,"bin","\u25EF","\\bigcirc",!0),ei(es,el,"bin","\u2219","\\bullet",!0),ei(es,el,"bin","\u2021","\\ddagger"),ei(es,el,"bin","\u2240","\\wr",!0),ei(es,el,"bin","\u2A3F","\\amalg"),ei(es,el,"bin","&","\\And"),ei(es,el,"rel","\u27F5","\\longleftarrow",!0),ei(es,el,"rel","\u21D0","\\Leftarrow",!0),ei(es,el,"rel","\u27F8","\\Longleftarrow",!0),ei(es,el,"rel","\u27F6","\\longrightarrow",!0),ei(es,el,"rel","\u21D2","\\Rightarrow",!0),ei(es,el,"rel","\u27F9","\\Longrightarrow",!0),ei(es,el,"rel","\u2194","\\leftrightarrow",!0),ei(es,el,"rel","\u27F7","\\longleftrightarrow",!0),ei(es,el,"rel","\u21D4","\\Leftrightarrow",!0),ei(es,el,"rel","\u27FA","\\Longleftrightarrow",!0),ei(es,el,"rel","\u21A6","\\mapsto",!0),ei(es,el,"rel","\u27FC","\\longmapsto",!0),ei(es,el,"rel","\u2197","\\nearrow",!0),ei(es,el,"rel","\u21A9","\\hookleftarrow",!0),ei(es,el,"rel","\u21AA","\\hookrightarrow",!0),ei(es,el,"rel","\u2198","\\searrow",!0),ei(es,el,"rel","\u21BC","\\leftharpoonup",!0),ei(es,el,"rel","\u21C0","\\rightharpoonup",!0),ei(es,el,"rel","\u2199","\\swarrow",!0),ei(es,el,"rel","\u21BD","\\leftharpoondown",!0),ei(es,el,"rel","\u21C1","\\rightharpoondown",!0),ei(es,el,"rel","\u2196","\\nwarrow",!0),ei(es,el,"rel","\u21CC","\\rightleftharpoons",!0),ei(es,"ams","rel","\u226E","\\nless",!0),ei(es,"ams","rel","\uE010","\\@nleqslant"),ei(es,"ams","rel","\uE011","\\@nleqq"),ei(es,"ams","rel","\u2A87","\\lneq",!0),ei(es,"ams","rel","\u2268","\\lneqq",!0),ei(es,"ams","rel","\uE00C","\\@lvertneqq"),ei(es,"ams","rel","\u22E6","\\lnsim",!0),ei(es,"ams","rel","\u2A89","\\lnapprox",!0),ei(es,"ams","rel","\u2280","\\nprec",!0),ei(es,"ams","rel","\u22E0","\\npreceq",!0),ei(es,"ams","rel","\u22E8","\\precnsim",!0),ei(es,"ams","rel","\u2AB9","\\precnapprox",!0),ei(es,"ams","rel","\u2241","\\nsim",!0),ei(es,"ams","rel","\uE006","\\@nshortmid"),ei(es,"ams","rel","\u2224","\\nmid",!0),ei(es,"ams","rel","\u22AC","\\nvdash",!0),ei(es,"ams","rel","\u22AD","\\nvDash",!0),ei(es,"ams","rel","\u22EA","\\ntriangleleft"),ei(es,"ams","rel","\u22EC","\\ntrianglelefteq",!0),ei(es,"ams","rel","\u228A","\\subsetneq",!0),ei(es,"ams","rel","\uE01A","\\@varsubsetneq"),ei(es,"ams","rel","\u2ACB","\\subsetneqq",!0),ei(es,"ams","rel","\uE017","\\@varsubsetneqq"),ei(es,"ams","rel","\u226F","\\ngtr",!0),ei(es,"ams","rel","\uE00F","\\@ngeqslant"),ei(es,"ams","rel","\uE00E","\\@ngeqq"),ei(es,"ams","rel","\u2A88","\\gneq",!0),ei(es,"ams","rel","\u2269","\\gneqq",!0),ei(es,"ams","rel","\uE00D","\\@gvertneqq"),ei(es,"ams","rel","\u22E7","\\gnsim",!0),ei(es,"ams","rel","\u2A8A","\\gnapprox",!0),ei(es,"ams","rel","\u2281","\\nsucc",!0),ei(es,"ams","rel","\u22E1","\\nsucceq",!0),ei(es,"ams","rel","\u22E9","\\succnsim",!0),ei(es,"ams","rel","\u2ABA","\\succnapprox",!0),ei(es,"ams","rel","\u2246","\\ncong",!0),ei(es,"ams","rel","\uE007","\\@nshortparallel"),ei(es,"ams","rel","\u2226","\\nparallel",!0),ei(es,"ams","rel","\u22AF","\\nVDash",!0),ei(es,"ams","rel","\u22EB","\\ntriangleright"),ei(es,"ams","rel","\u22ED","\\ntrianglerighteq",!0),ei(es,"ams","rel","\uE018","\\@nsupseteqq"),ei(es,"ams","rel","\u228B","\\supsetneq",!0),ei(es,"ams","rel","\uE01B","\\@varsupsetneq"),ei(es,"ams","rel","\u2ACC","\\supsetneqq",!0),ei(es,"ams","rel","\uE019","\\@varsupsetneqq"),ei(es,"ams","rel","\u22AE","\\nVdash",!0),ei(es,"ams","rel","\u2AB5","\\precneqq",!0),ei(es,"ams","rel","\u2AB6","\\succneqq",!0),ei(es,"ams","rel","\uE016","\\@nsubseteqq"),ei(es,"ams","bin","\u22B4","\\unlhd"),ei(es,"ams","bin","\u22B5","\\unrhd"),ei(es,"ams","rel","\u219A","\\nleftarrow",!0),ei(es,"ams","rel","\u219B","\\nrightarrow",!0),ei(es,"ams","rel","\u21CD","\\nLeftarrow",!0),ei(es,"ams","rel","\u21CF","\\nRightarrow",!0),ei(es,"ams","rel","\u21AE","\\nleftrightarrow",!0),ei(es,"ams","rel","\u21CE","\\nLeftrightarrow",!0),ei(es,"ams","rel","\u25B3","\\vartriangle"),ei(es,"ams",ev,"\u210F","\\hslash"),ei(es,"ams",ev,"\u25BD","\\triangledown"),ei(es,"ams",ev,"\u25CA","\\lozenge"),ei(es,"ams",ev,"\u24C8","\\circledS"),ei(es,"ams",ev,"\xae","\\circledR"),ei(eo,"ams",ev,"\xae","\\circledR"),ei(es,"ams",ev,"\u2221","\\measuredangle",!0),ei(es,"ams",ev,"\u2204","\\nexists"),ei(es,"ams",ev,"\u2127","\\mho"),ei(es,"ams",ev,"\u2132","\\Finv",!0),ei(es,"ams",ev,"\u2141","\\Game",!0),ei(es,"ams",ev,"\u2035","\\backprime"),ei(es,"ams",ev,"\u25B2","\\blacktriangle"),ei(es,"ams",ev,"\u25BC","\\blacktriangledown"),ei(es,"ams",ev,"\u25A0","\\blacksquare"),ei(es,"ams",ev,"\u29EB","\\blacklozenge"),ei(es,"ams",ev,"\u2605","\\bigstar"),ei(es,"ams",ev,"\u2222","\\sphericalangle",!0),ei(es,"ams",ev,"\u2201","\\complement",!0),ei(es,"ams",ev,"\xf0","\\eth",!0),ei(eo,el,ev,"\xf0","\xf0"),ei(es,"ams",ev,"\u2571","\\diagup"),ei(es,"ams",ev,"\u2572","\\diagdown"),ei(es,"ams",ev,"\u25A1","\\square"),ei(es,"ams",ev,"\u25A1","\\Box"),ei(es,"ams",ev,"\u25CA","\\Diamond"),ei(es,"ams",ev,"\xa5","\\yen",!0),ei(eo,"ams",ev,"\xa5","\\yen",!0),ei(es,"ams",ev,"\u2713","\\checkmark",!0),ei(eo,"ams",ev,"\u2713","\\checkmark"),ei(es,"ams",ev,"\u2136","\\beth",!0),ei(es,"ams",ev,"\u2138","\\daleth",!0),ei(es,"ams",ev,"\u2137","\\gimel",!0),ei(es,"ams",ev,"\u03DD","\\digamma",!0),ei(es,"ams",ev,"\u03F0","\\varkappa"),ei(es,"ams",ed,"\u250C","\\@ulcorner",!0),ei(es,"ams",em,"\u2510","\\@urcorner",!0),ei(es,"ams",ed,"\u2514","\\@llcorner",!0),ei(es,"ams",em,"\u2518","\\@lrcorner",!0),ei(es,"ams","rel","\u2266","\\leqq",!0),ei(es,"ams","rel","\u2A7D","\\leqslant",!0),ei(es,"ams","rel","\u2A95","\\eqslantless",!0),ei(es,"ams","rel","\u2272","\\lesssim",!0),ei(es,"ams","rel","\u2A85","\\lessapprox",!0),ei(es,"ams","rel","\u224A","\\approxeq",!0),ei(es,"ams","bin","\u22D6","\\lessdot"),ei(es,"ams","rel","\u22D8","\\lll",!0),ei(es,"ams","rel","\u2276","\\lessgtr",!0),ei(es,"ams","rel","\u22DA","\\lesseqgtr",!0),ei(es,"ams","rel","\u2A8B","\\lesseqqgtr",!0),ei(es,"ams","rel","\u2251","\\doteqdot"),ei(es,"ams","rel","\u2253","\\risingdotseq",!0),ei(es,"ams","rel","\u2252","\\fallingdotseq",!0),ei(es,"ams","rel","\u223D","\\backsim",!0),ei(es,"ams","rel","\u22CD","\\backsimeq",!0),ei(es,"ams","rel","\u2AC5","\\subseteqq",!0),ei(es,"ams","rel","\u22D0","\\Subset",!0),ei(es,"ams","rel","\u228F","\\sqsubset",!0),ei(es,"ams","rel","\u227C","\\preccurlyeq",!0),ei(es,"ams","rel","\u22DE","\\curlyeqprec",!0),ei(es,"ams","rel","\u227E","\\precsim",!0),ei(es,"ams","rel","\u2AB7","\\precapprox",!0),ei(es,"ams","rel","\u22B2","\\vartriangleleft"),ei(es,"ams","rel","\u22B4","\\trianglelefteq"),ei(es,"ams","rel","\u22A8","\\vDash",!0),ei(es,"ams","rel","\u22AA","\\Vvdash",!0),ei(es,"ams","rel","\u2323","\\smallsmile"),ei(es,"ams","rel","\u2322","\\smallfrown"),ei(es,"ams","rel","\u224F","\\bumpeq",!0),ei(es,"ams","rel","\u224E","\\Bumpeq",!0),ei(es,"ams","rel","\u2267","\\geqq",!0),ei(es,"ams","rel","\u2A7E","\\geqslant",!0),ei(es,"ams","rel","\u2A96","\\eqslantgtr",!0),ei(es,"ams","rel","\u2273","\\gtrsim",!0),ei(es,"ams","rel","\u2A86","\\gtrapprox",!0),ei(es,"ams","bin","\u22D7","\\gtrdot"),ei(es,"ams","rel","\u22D9","\\ggg",!0),ei(es,"ams","rel","\u2277","\\gtrless",!0),ei(es,"ams","rel","\u22DB","\\gtreqless",!0),ei(es,"ams","rel","\u2A8C","\\gtreqqless",!0),ei(es,"ams","rel","\u2256","\\eqcirc",!0),ei(es,"ams","rel","\u2257","\\circeq",!0),ei(es,"ams","rel","\u225C","\\triangleq",!0),ei(es,"ams","rel","\u223C","\\thicksim"),ei(es,"ams","rel","\u2248","\\thickapprox"),ei(es,"ams","rel","\u2AC6","\\supseteqq",!0),ei(es,"ams","rel","\u22D1","\\Supset",!0),ei(es,"ams","rel","\u2290","\\sqsupset",!0),ei(es,"ams","rel","\u227D","\\succcurlyeq",!0),ei(es,"ams","rel","\u22DF","\\curlyeqsucc",!0),ei(es,"ams","rel","\u227F","\\succsim",!0),ei(es,"ams","rel","\u2AB8","\\succapprox",!0),ei(es,"ams","rel","\u22B3","\\vartriangleright"),ei(es,"ams","rel","\u22B5","\\trianglerighteq"),ei(es,"ams","rel","\u22A9","\\Vdash",!0),ei(es,"ams","rel","\u2223","\\shortmid"),ei(es,"ams","rel","\u2225","\\shortparallel"),ei(es,"ams","rel","\u226C","\\between",!0),ei(es,"ams","rel","\u22D4","\\pitchfork",!0),ei(es,"ams","rel","\u221D","\\varpropto"),ei(es,"ams","rel","\u25C0","\\blacktriangleleft"),ei(es,"ams","rel","\u2234","\\therefore",!0),ei(es,"ams","rel","\u220D","\\backepsilon"),ei(es,"ams","rel","\u25B6","\\blacktriangleright"),ei(es,"ams","rel","\u2235","\\because",!0),ei(es,"ams","rel","\u22D8","\\llless"),ei(es,"ams","rel","\u22D9","\\gggtr"),ei(es,"ams","bin","\u22B2","\\lhd"),ei(es,"ams","bin","\u22B3","\\rhd"),ei(es,"ams","rel","\u2242","\\eqsim",!0),ei(es,el,"rel","\u22C8","\\Join"),ei(es,"ams","rel","\u2251","\\Doteq",!0),ei(es,"ams","bin","\u2214","\\dotplus",!0),ei(es,"ams","bin","\u2216","\\smallsetminus"),ei(es,"ams","bin","\u22D2","\\Cap",!0),ei(es,"ams","bin","\u22D3","\\Cup",!0),ei(es,"ams","bin","\u2A5E","\\doublebarwedge",!0),ei(es,"ams","bin","\u229F","\\boxminus",!0),ei(es,"ams","bin","\u229E","\\boxplus",!0),ei(es,"ams","bin","\u22C7","\\divideontimes",!0),ei(es,"ams","bin","\u22C9","\\ltimes",!0),ei(es,"ams","bin","\u22CA","\\rtimes",!0),ei(es,"ams","bin","\u22CB","\\leftthreetimes",!0),ei(es,"ams","bin","\u22CC","\\rightthreetimes",!0),ei(es,"ams","bin","\u22CF","\\curlywedge",!0),ei(es,"ams","bin","\u22CE","\\curlyvee",!0),ei(es,"ams","bin","\u229D","\\circleddash",!0),ei(es,"ams","bin","\u229B","\\circledast",!0),ei(es,"ams","bin","\u22C5","\\centerdot"),ei(es,"ams","bin","\u22BA","\\intercal",!0),ei(es,"ams","bin","\u22D2","\\doublecap"),ei(es,"ams","bin","\u22D3","\\doublecup"),ei(es,"ams","bin","\u22A0","\\boxtimes",!0),ei(es,"ams","rel","\u21E2","\\dashrightarrow",!0),ei(es,"ams","rel","\u21E0","\\dashleftarrow",!0),ei(es,"ams","rel","\u21C7","\\leftleftarrows",!0),ei(es,"ams","rel","\u21C6","\\leftrightarrows",!0),ei(es,"ams","rel","\u21DA","\\Lleftarrow",!0),ei(es,"ams","rel","\u219E","\\twoheadleftarrow",!0),ei(es,"ams","rel","\u21A2","\\leftarrowtail",!0),ei(es,"ams","rel","\u21AB","\\looparrowleft",!0),ei(es,"ams","rel","\u21CB","\\leftrightharpoons",!0),ei(es,"ams","rel","\u21B6","\\curvearrowleft",!0),ei(es,"ams","rel","\u21BA","\\circlearrowleft",!0),ei(es,"ams","rel","\u21B0","\\Lsh",!0),ei(es,"ams","rel","\u21C8","\\upuparrows",!0),ei(es,"ams","rel","\u21BF","\\upharpoonleft",!0),ei(es,"ams","rel","\u21C3","\\downharpoonleft",!0),ei(es,el,"rel","\u22B6","\\origof",!0),ei(es,el,"rel","\u22B7","\\imageof",!0),ei(es,"ams","rel","\u22B8","\\multimap",!0),ei(es,"ams","rel","\u21AD","\\leftrightsquigarrow",!0),ei(es,"ams","rel","\u21C9","\\rightrightarrows",!0),ei(es,"ams","rel","\u21C4","\\rightleftarrows",!0),ei(es,"ams","rel","\u21A0","\\twoheadrightarrow",!0),ei(es,"ams","rel","\u21A3","\\rightarrowtail",!0),ei(es,"ams","rel","\u21AC","\\looparrowright",!0),ei(es,"ams","rel","\u21B7","\\curvearrowright",!0),ei(es,"ams","rel","\u21BB","\\circlearrowright",!0),ei(es,"ams","rel","\u21B1","\\Rsh",!0),ei(es,"ams","rel","\u21CA","\\downdownarrows",!0),ei(es,"ams","rel","\u21BE","\\upharpoonright",!0),ei(es,"ams","rel","\u21C2","\\downharpoonright",!0),ei(es,"ams","rel","\u21DD","\\rightsquigarrow",!0),ei(es,"ams","rel","\u21DD","\\leadsto"),ei(es,"ams","rel","\u21DB","\\Rrightarrow",!0),ei(es,"ams","rel","\u21BE","\\restriction"),ei(es,el,ev,"\u2018","`"),ei(es,el,ev,"$","\\$"),ei(eo,el,ev,"$","\\$"),ei(eo,el,ev,"$","\\textdollar"),ei(es,el,ev,"%","\\%"),ei(eo,el,ev,"%","\\%"),ei(es,el,ev,"_","\\_"),ei(eo,el,ev,"_","\\_"),ei(eo,el,ev,"_","\\textunderscore"),ei(es,el,ev,"\u2220","\\angle",!0),ei(es,el,ev,"\u221E","\\infty",!0),ei(es,el,ev,"\u2032","\\prime"),ei(es,el,ev,"\u25B3","\\triangle"),ei(es,el,ev,"\u0393","\\Gamma",!0),ei(es,el,ev,"\u0394","\\Delta",!0),ei(es,el,ev,"\u0398","\\Theta",!0),ei(es,el,ev,"\u039B","\\Lambda",!0),ei(es,el,ev,"\u039E","\\Xi",!0),ei(es,el,ev,"\u03A0","\\Pi",!0),ei(es,el,ev,"\u03A3","\\Sigma",!0),ei(es,el,ev,"\u03A5","\\Upsilon",!0),ei(es,el,ev,"\u03A6","\\Phi",!0),ei(es,el,ev,"\u03A8","\\Psi",!0),ei(es,el,ev,"\u03A9","\\Omega",!0),ei(es,el,ev,"A","\u0391"),ei(es,el,ev,"B","\u0392"),ei(es,el,ev,"E","\u0395"),ei(es,el,ev,"Z","\u0396"),ei(es,el,ev,"H","\u0397"),ei(es,el,ev,"I","\u0399"),ei(es,el,ev,"K","\u039A"),ei(es,el,ev,"M","\u039C"),ei(es,el,ev,"N","\u039D"),ei(es,el,ev,"O","\u039F"),ei(es,el,ev,"P","\u03A1"),ei(es,el,ev,"T","\u03A4"),ei(es,el,ev,"X","\u03A7"),ei(es,el,ev,"\xac","\\neg",!0),ei(es,el,ev,"\xac","\\lnot"),ei(es,el,ev,"\u22A4","\\top"),ei(es,el,ev,"\u22A5","\\bot"),ei(es,el,ev,"\u2205","\\emptyset"),ei(es,"ams",ev,"\u2205","\\varnothing"),ei(es,el,eu,"\u03B1","\\alpha",!0),ei(es,el,eu,"\u03B2","\\beta",!0),ei(es,el,eu,"\u03B3","\\gamma",!0),ei(es,el,eu,"\u03B4","\\delta",!0),ei(es,el,eu,"\u03F5","\\epsilon",!0),ei(es,el,eu,"\u03B6","\\zeta",!0),ei(es,el,eu,"\u03B7","\\eta",!0),ei(es,el,eu,"\u03B8","\\theta",!0),ei(es,el,eu,"\u03B9","\\iota",!0),ei(es,el,eu,"\u03BA","\\kappa",!0),ei(es,el,eu,"\u03BB","\\lambda",!0),ei(es,el,eu,"\u03BC","\\mu",!0),ei(es,el,eu,"\u03BD","\\nu",!0),ei(es,el,eu,"\u03BE","\\xi",!0),ei(es,el,eu,"\u03BF","\\omicron",!0),ei(es,el,eu,"\u03C0","\\pi",!0),ei(es,el,eu,"\u03C1","\\rho",!0),ei(es,el,eu,"\u03C3","\\sigma",!0),ei(es,el,eu,"\u03C4","\\tau",!0),ei(es,el,eu,"\u03C5","\\upsilon",!0),ei(es,el,eu,"\u03D5","\\phi",!0),ei(es,el,eu,"\u03C7","\\chi",!0),ei(es,el,eu,"\u03C8","\\psi",!0),ei(es,el,eu,"\u03C9","\\omega",!0),ei(es,el,eu,"\u03B5","\\varepsilon",!0),ei(es,el,eu,"\u03D1","\\vartheta",!0),ei(es,el,eu,"\u03D6","\\varpi",!0),ei(es,el,eu,"\u03F1","\\varrho",!0),ei(es,el,eu,"\u03C2","\\varsigma",!0),ei(es,el,eu,"\u03C6","\\varphi",!0),ei(es,el,"bin","\u2217","*",!0),ei(es,el,"bin","+","+"),ei(es,el,"bin","\u2212","-",!0),ei(es,el,"bin","\u22C5","\\cdot",!0),ei(es,el,"bin","\u2218","\\circ",!0),ei(es,el,"bin","\xf7","\\div",!0),ei(es,el,"bin","\xb1","\\pm",!0),ei(es,el,"bin","\xd7","\\times",!0),ei(es,el,"bin","\u2229","\\cap",!0),ei(es,el,"bin","\u222A","\\cup",!0),ei(es,el,"bin","\u2216","\\setminus",!0),ei(es,el,"bin","\u2227","\\land"),ei(es,el,"bin","\u2228","\\lor"),ei(es,el,"bin","\u2227","\\wedge",!0),ei(es,el,"bin","\u2228","\\vee",!0),ei(es,el,ev,"\u221A","\\surd"),ei(es,el,ed,"\u27E8","\\langle",!0),ei(es,el,ed,"\u2223","\\lvert"),ei(es,el,ed,"\u2225","\\lVert"),ei(es,el,em,"?","?"),ei(es,el,em,"!","!"),ei(es,el,em,"\u27E9","\\rangle",!0),ei(es,el,em,"\u2223","\\rvert"),ei(es,el,em,"\u2225","\\rVert"),ei(es,el,"rel","=","="),ei(es,el,"rel",":",":"),ei(es,el,"rel","\u2248","\\approx",!0),ei(es,el,"rel","\u2245","\\cong",!0),ei(es,el,"rel","\u2265","\\ge"),ei(es,el,"rel","\u2265","\\geq",!0),ei(es,el,"rel","\u2190","\\gets"),ei(es,el,"rel",">","\\gt",!0),ei(es,el,"rel","\u2208","\\in",!0),ei(es,el,"rel","\uE020","\\@not"),ei(es,el,"rel","\u2282","\\subset",!0),ei(es,el,"rel","\u2283","\\supset",!0),ei(es,el,"rel","\u2286","\\subseteq",!0),ei(es,el,"rel","\u2287","\\supseteq",!0),ei(es,"ams","rel","\u2288","\\nsubseteq",!0),ei(es,"ams","rel","\u2289","\\nsupseteq",!0),ei(es,el,"rel","\u22A8","\\models"),ei(es,el,"rel","\u2190","\\leftarrow",!0),ei(es,el,"rel","\u2264","\\le"),ei(es,el,"rel","\u2264","\\leq",!0),ei(es,el,"rel","<","\\lt",!0),ei(es,el,"rel","\u2192","\\rightarrow",!0),ei(es,el,"rel","\u2192","\\to"),ei(es,"ams","rel","\u2271","\\ngeq",!0),ei(es,"ams","rel","\u2270","\\nleq",!0),ei(es,el,ef,"\xa0","\\ "),ei(es,el,ef,"\xa0","\\space"),ei(es,el,ef,"\xa0","\\nobreakspace"),ei(eo,el,ef,"\xa0","\\ "),ei(eo,el,ef,"\xa0"," "),ei(eo,el,ef,"\xa0","\\space"),ei(eo,el,ef,"\xa0","\\nobreakspace"),ei(es,el,ef,"","\\nobreak"),ei(es,el,ef,"","\\allowbreak"),ei(es,el,eg,",",","),ei(es,el,eg,";",";"),ei(es,"ams","bin","\u22BC","\\barwedge",!0),ei(es,"ams","bin","\u22BB","\\veebar",!0),ei(es,el,"bin","\u2299","\\odot",!0),ei(es,el,"bin","\u2295","\\oplus",!0),ei(es,el,"bin","\u2297","\\otimes",!0),ei(es,el,ev,"\u2202","\\partial",!0),ei(es,el,"bin","\u2298","\\oslash",!0),ei(es,"ams","bin","\u229A","\\circledcirc",!0),ei(es,"ams","bin","\u22A1","\\boxdot",!0),ei(es,el,"bin","\u25B3","\\bigtriangleup"),ei(es,el,"bin","\u25BD","\\bigtriangledown"),ei(es,el,"bin","\u2020","\\dagger"),ei(es,el,"bin","\u22C4","\\diamond"),ei(es,el,"bin","\u22C6","\\star"),ei(es,el,"bin","\u25C3","\\triangleleft"),ei(es,el,"bin","\u25B9","\\triangleright"),ei(es,el,ed,"{","\\{"),ei(eo,el,ev,"{","\\{"),ei(eo,el,ev,"{","\\textbraceleft"),ei(es,el,em,"}","\\}"),ei(eo,el,ev,"}","\\}"),ei(eo,el,ev,"}","\\textbraceright"),ei(es,el,ed,"{","\\lbrace"),ei(es,el,em,"}","\\rbrace"),ei(es,el,ed,"[","\\lbrack",!0),ei(eo,el,ev,"[","\\lbrack",!0),ei(es,el,em,"]","\\rbrack",!0),ei(eo,el,ev,"]","\\rbrack",!0),ei(es,el,ed,"(","\\lparen",!0),ei(es,el,em,")","\\rparen",!0),ei(eo,el,ev,"<","\\textless",!0),ei(eo,el,ev,">","\\textgreater",!0),ei(es,el,ed,"\u230A","\\lfloor",!0),ei(es,el,em,"\u230B","\\rfloor",!0),ei(es,el,ed,"\u2308","\\lceil",!0),ei(es,el,em,"\u2309","\\rceil",!0),ei(es,el,ev,"\\","\\backslash"),ei(es,el,ev,"\u2223","|"),ei(es,el,ev,"\u2223","\\vert"),ei(eo,el,ev,"|","\\textbar",!0),ei(es,el,ev,"\u2225","\\|"),ei(es,el,ev,"\u2225","\\Vert"),ei(eo,el,ev,"\u2225","\\textbardbl"),ei(eo,el,ev,"~","\\textasciitilde"),ei(eo,el,ev,"\\","\\textbackslash"),ei(eo,el,ev,"^","\\textasciicircum"),ei(es,el,"rel","\u2191","\\uparrow",!0),ei(es,el,"rel","\u21D1","\\Uparrow",!0),ei(es,el,"rel","\u2193","\\downarrow",!0),ei(es,el,"rel","\u21D3","\\Downarrow",!0),ei(es,el,"rel","\u2195","\\updownarrow",!0),ei(es,el,"rel","\u21D5","\\Updownarrow",!0),ei(es,el,ep,"\u2210","\\coprod"),ei(es,el,ep,"\u22C1","\\bigvee"),ei(es,el,ep,"\u22C0","\\bigwedge"),ei(es,el,ep,"\u2A04","\\biguplus"),ei(es,el,ep,"\u22C2","\\bigcap"),ei(es,el,ep,"\u22C3","\\bigcup"),ei(es,el,ep,"\u222B","\\int"),ei(es,el,ep,"\u222B","\\intop"),ei(es,el,ep,"\u222C","\\iint"),ei(es,el,ep,"\u222D","\\iiint"),ei(es,el,ep,"\u220F","\\prod"),ei(es,el,ep,"\u2211","\\sum"),ei(es,el,ep,"\u2A02","\\bigotimes"),ei(es,el,ep,"\u2A01","\\bigoplus"),ei(es,el,ep,"\u2A00","\\bigodot"),ei(es,el,ep,"\u222E","\\oint"),ei(es,el,ep,"\u222F","\\oiint"),ei(es,el,ep,"\u2230","\\oiiint"),ei(es,el,ep,"\u2A06","\\bigsqcup"),ei(es,el,ep,"\u222B","\\smallint"),ei(eo,el,ec,"\u2026","\\textellipsis"),ei(es,el,ec,"\u2026","\\mathellipsis"),ei(eo,el,ec,"\u2026","\\ldots",!0),ei(es,el,ec,"\u2026","\\ldots",!0),ei(es,el,ec,"\u22EF","\\@cdots",!0),ei(es,el,ec,"\u22F1","\\ddots",!0),ei(es,el,ev,"\u22EE","\\varvdots"),ei(eo,el,ev,"\u22EE","\\varvdots"),ei(es,el,eh,"\u02CA","\\acute"),ei(es,el,eh,"\u02CB","\\grave"),ei(es,el,eh,"\xa8","\\ddot"),ei(es,el,eh,"~","\\tilde"),ei(es,el,eh,"\u02C9","\\bar"),ei(es,el,eh,"\u02D8","\\breve"),ei(es,el,eh,"\u02C7","\\check"),ei(es,el,eh,"^","\\hat"),ei(es,el,eh,"\u20D7","\\vec"),ei(es,el,eh,"\u02D9","\\dot"),ei(es,el,eh,"\u02DA","\\mathring"),ei(es,el,eu,"\uE131","\\@imath"),ei(es,el,eu,"\uE237","\\@jmath"),ei(es,el,ev,"\u0131","\u0131"),ei(es,el,ev,"\u0237","\u0237"),ei(eo,el,ev,"\u0131","\\i",!0),ei(eo,el,ev,"\u0237","\\j",!0),ei(eo,el,ev,"\xdf","\\ss",!0),ei(eo,el,ev,"\xe6","\\ae",!0),ei(eo,el,ev,"\u0153","\\oe",!0),ei(eo,el,ev,"\xf8","\\o",!0),ei(eo,el,ev,"\xc6","\\AE",!0),ei(eo,el,ev,"\u0152","\\OE",!0),ei(eo,el,ev,"\xd8","\\O",!0),ei(eo,el,eh,"\u02CA","\\'"),ei(eo,el,eh,"\u02CB","\\`"),ei(eo,el,eh,"\u02C6","\\^"),ei(eo,el,eh,"\u02DC","\\~"),ei(eo,el,eh,"\u02C9","\\="),ei(eo,el,eh,"\u02D8","\\u"),ei(eo,el,eh,"\u02D9","\\."),ei(eo,el,eh,"\xb8","\\c"),ei(eo,el,eh,"\u02DA","\\r"),ei(eo,el,eh,"\u02C7","\\v"),ei(eo,el,eh,"\xa8",'\\"'),ei(eo,el,eh,"\u02DD","\\H"),ei(eo,el,eh,"\u25EF","\\textcircled");var eb={"--":!0,"---":!0,"``":!0,"''":!0};ei(eo,el,ev,"\u2013","--",!0),ei(eo,el,ev,"\u2013","\\textendash"),ei(eo,el,ev,"\u2014","---",!0),ei(eo,el,ev,"\u2014","\\textemdash"),ei(eo,el,ev,"\u2018","`",!0),ei(eo,el,ev,"\u2018","\\textquoteleft"),ei(eo,el,ev,"\u2019","'",!0),ei(eo,el,ev,"\u2019","\\textquoteright"),ei(eo,el,ev,"\u201C","``",!0),ei(eo,el,ev,"\u201C","\\textquotedblleft"),ei(eo,el,ev,"\u201D","''",!0),ei(eo,el,ev,"\u201D","\\textquotedblright"),ei(es,el,ev,"\xb0","\\degree",!0),ei(eo,el,ev,"\xb0","\\degree"),ei(eo,el,ev,"\xb0","\\textdegree",!0),ei(es,el,ev,"\xa3","\\pounds"),ei(es,el,ev,"\xa3","\\mathsterling",!0),ei(eo,el,ev,"\xa3","\\pounds"),ei(eo,el,ev,"\xa3","\\textsterling",!0),ei(es,"ams",ev,"\u2720","\\maltese"),ei(eo,"ams",ev,"\u2720","\\maltese");for(var ey='0123456789/@."',ex=0;ex<ey.length;ex++){var ew=ey.charAt(ex);ei(es,el,ev,ew,ew)}for(var ek='0123456789!@*()-=+";:?/.,',ez=0;ez<ek.length;ez++){var eS=ek.charAt(ez);ei(eo,el,ev,eS,eS)}for(var eM="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",eA=0;eA<eM.length;eA++){var eT=eM.charAt(eA);ei(es,el,eu,eT,eT),ei(eo,el,ev,eT,eT)}ei(es,"ams",ev,"C","\u2102"),ei(eo,"ams",ev,"C","\u2102"),ei(es,"ams",ev,"H","\u210D"),ei(eo,"ams",ev,"H","\u210D"),ei(es,"ams",ev,"N","\u2115"),ei(eo,"ams",ev,"N","\u2115"),ei(es,"ams",ev,"P","\u2119"),ei(eo,"ams",ev,"P","\u2119"),ei(es,"ams",ev,"Q","\u211A"),ei(eo,"ams",ev,"Q","\u211A"),ei(es,"ams",ev,"R","\u211D"),ei(eo,"ams",ev,"R","\u211D"),ei(es,"ams",ev,"Z","\u2124"),ei(eo,"ams",ev,"Z","\u2124"),ei(es,el,eu,"h","\u210E"),ei(eo,el,eu,"h","\u210E");for(var eC=0;eC<eM.length;eC++){var eB=eM.charAt(eC);ei(es,el,eu,eB,s=String.fromCharCode(55349,56320+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56372+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56424+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56580+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56684+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56736+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56788+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56840+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56944+eC)),ei(eo,el,ev,eB,s),eC<26&&(ei(es,el,eu,eB,s=String.fromCharCode(55349,56632+eC)),ei(eo,el,ev,eB,s),ei(es,el,eu,eB,s=String.fromCharCode(55349,56476+eC)),ei(eo,el,ev,eB,s))}ei(es,el,eu,"k",s=String.fromCharCode(55349,56668)),ei(eo,el,ev,"k",s);for(var eq=0;eq<10;eq++){var eI=eq.toString();ei(es,el,eu,eI,s=String.fromCharCode(55349,57294+eq)),ei(eo,el,ev,eI,s),ei(es,el,eu,eI,s=String.fromCharCode(55349,57314+eq)),ei(eo,el,ev,eI,s),ei(es,el,eu,eI,s=String.fromCharCode(55349,57324+eq)),ei(eo,el,ev,eI,s),ei(es,el,eu,eI,s=String.fromCharCode(55349,57334+eq)),ei(eo,el,ev,eI,s)}for(var eH="\xd0\xde\xfe",eR=0;eR<eH.length;eR++){var eE=eH.charAt(eR);ei(es,el,eu,eE,eE),ei(eo,el,ev,eE,eE)}var eO={mathClass:"mathbf",textClass:"textbf",font:"Main-Bold"},eD={mathClass:"mathnormal",textClass:"textit",font:"Math-Italic"},eN={mathClass:"boldsymbol",textClass:"boldsymbol",font:"Main-BoldItalic"},eL={mathClass:"",textClass:"",font:""},eF={mathClass:"mathfrak",textClass:"textfrak",font:"Fraktur-Regular"},eP={mathClass:"mathbb",textClass:"textbb",font:"AMS-Regular"},eV={mathClass:"mathboldfrak",textClass:"textboldfrak",font:"Fraktur-Regular"},eG={mathClass:"mathsf",textClass:"textsf",font:"SansSerif-Regular"},eU={mathClass:"mathboldsf",textClass:"textboldsf",font:"SansSerif-Bold"},eX={mathClass:"mathitsf",textClass:"textitsf",font:"SansSerif-Italic"},eY={mathClass:"mathtt",textClass:"texttt",font:"Typewriter-Regular"},ej=[eO,eO,eD,eD,eN,eN,{mathClass:"mathscr",textClass:"textscr",font:"Script-Regular"},eL,eL,eL,eF,eF,eP,eP,eV,eV,eG,eG,eU,eU,eX,eX,eL,eL,eY,eY],eW=[eO,eL,eG,eU,eY],e_=function(e,t,r){if(en[r][e]){var a=en[r][e].replace;a&&(e=a)}return{value:e,metrics:er(e,t,r)}},e$=function(e,t,r,a,n){var i,s=e_(e,t,r),o=s.metrics;if(e=s.value,o){var l=o.italic;("text"===r||a&&"mathit"===a.font)&&(l=0),i=new $(e,o.height,o.depth,l,o.skew,o.width,n)}else"u">typeof console&&console.warn("No character metrics "+("for '"+e+"' in style '"+t+"' and mode '")+r+"'"),i=new $(e,0,0,0,0,0,n);if(a){i.maxFontSize=a.sizeMultiplier,a.style.isTight()&&i.classes.push("mtight");var h=a.getColor();h&&(i.style.color=h)}return i},eZ=function(e,t,r,a){return(void 0===a&&(a=[]),"boldsymbol"===r.font&&e_(e,"Main-Bold",t).metrics)?e$(e,"Main-Bold",t,r,a.concat(["mathbf"])):"\\"===e||"main"===en[t][e].font?e$(e,"Main-Regular",t,r,a):e$(e,"AMS-Regular",t,r,a.concat(["amsrm"]))},eK=function(e,t,r){var n=e.mode,i=e.text,s=["mord"],{font:o,fontFamily:l,fontWeight:h,fontShape:m}=t,c="math"===n||"text"===n&&!!o,u=c?o:l,p="",d="";if(55349===i.charCodeAt(0)){var g=(e=>{var t=(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320)+65536;if(119808<=t&&t<120484)return ej[Math.floor((t-119808)/26)];if(120782<=t&&t<=120831)return eW[Math.floor((t-120782)/10)];if(120485===t||120486===t)return ej[0];if(120486<t&&t<120782)return eL;throw new a("Unsupported character: "+e)})(i);p=g.font,d=g[n+"Class"]}if(p)return e$(i,p,n,t,s.concat(d));if(u){if("boldsymbol"===u){var f,v,b="textord"!==r&&e_(i,"Math-BoldItalic",n).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"};f=b.fontName,v=[b.fontClass]}else c?(f=tt[o].fontName,v=[o]):(f=te(l,h,m),v=[l,h,m]);if(e_(i,f,n).metrics)return e$(i,f,n,t,s.concat(v));if(eb.hasOwnProperty(i)&&"Typewriter"===f.slice(0,10)){for(var y=[],x=0;x<i.length;x++)y.push(e$(i[x],f,n,t,s.concat(v)));return e7(y)}}if("mathord"===r)return e$(i,"Math-Italic",n,t,s.concat(["mathnormal"]));if("textord"===r){var w=en[n][i]&&en[n][i].font;if("ams"===w)return e$(i,te("amsrm",h,m),n,t,s.concat("amsrm",h,m));if("main"===w||!w)return e$(i,te("textrm",h,m),n,t,s.concat(h,m));var k=te(w,h,m);return e$(i,k,n,t,s.concat(k,h,m))}throw Error("unexpected type: "+r+" in makeOrd")},eJ=(e,t)=>{if(F(e.classes)!==F(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize||0!==e.italic&&e.hasClass("mathnormal"))return!1;if(1===e.classes.length){var r=e.classes[0];if("mbin"===r||"mord"===r)return!1}for(var a of Object.keys(e.style))if(e.style[a]!==t.style[a])return!1;for(var n of Object.keys(t.style))if(e.style[n]!==t.style[n])return!1;return!0},eQ=e=>{for(var t=0;t<e.length-1;t++){var r=e[t],a=e[t+1];r instanceof $&&a instanceof $&&eJ(r,a)&&(r.text+=a.text,r.height=Math.max(r.height,a.height),r.depth=Math.max(r.depth,a.depth),r.italic=a.italic,e.splice(t+1,1),t--)}return e},e0=function(e){for(var t=0,r=0,a=0,n=0;n<e.children.length;n++){var i=e.children[n];i.height>t&&(t=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>a&&(a=i.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=a},e1=function(e,t,r,a){var n=new Y(e,t,r,a);return e0(n),n},e4=(e,t,r,a)=>new Y(e,t,r,a),e5=function(e,t,r){var a=e1([e],[],t);return a.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),a.style.borderBottomWidth=L(a.height),a.maxFontSize=1,a},e6=function(e,t,r,a){var n=new j(e,t,r,a);return e0(n),n},e7=function(e){var t=new R(e);return e0(t),t},e3=function(e,t){return e instanceof R?e1([],[e],t):e},e8=function(e){if("individualShift"===e.positionType){for(var t,r=e.children,a=[r[0]],n=-r[0].shift-r[0].elem.depth,i=n,s=1;s<r.length;s++){var o=-r[s].shift-i-r[s].elem.depth,l=o-(r[s-1].elem.height+r[s-1].elem.depth);i+=o,a.push({type:"kern",size:l}),a.push(r[s])}return{children:a,depth:n}}if("top"===e.positionType){for(var h=e.positionData,m=0;m<e.children.length;m++){var c=e.children[m];h-="kern"===c.type?c.size:c.elem.height+c.elem.depth}t=h}else if("bottom"===e.positionType)t=-e.positionData;else{var u=e.children[0];if("elem"!==u.type)throw Error('First child must have type "elem".');if("shift"===e.positionType)t=-u.elem.depth-e.positionData;else if("firstBaseline"===e.positionType)t=-u.elem.depth;else throw Error("Invalid positionType "+e.positionType+".")}return{children:e.children,depth:t}},e2=function(e,t){for(var r,{children:a,depth:n}=e8(e),i=0,s=0;s<a.length;s++){var o=a[s];if("elem"===o.type){var l=o.elem;i=Math.max(i,l.maxFontSize,l.height)}}i+=2;var h=e1(["pstrut"],[]);h.style.height=L(i);for(var m=[],c=n,u=n,p=n,d=0;d<a.length;d++){var g=a[d];if("kern"===g.type)p+=g.size;else{var f=g.elem,v=e1(g.wrapperClasses||[],[h,f],void 0,g.wrapperStyle||{});v.style.top=L(-i-p-f.depth),g.marginLeft&&(v.style.marginLeft=g.marginLeft),g.marginRight&&(v.style.marginRight=g.marginRight),m.push(v),p+=f.height+f.depth}c=Math.min(c,p),u=Math.max(u,p)}var b=e1(["vlist"],m);if(b.style.height=L(u),c<0){var y=e1([],[]),x=e1(["vlist"],[y]);x.style.height=L(-c);var w=e1(["vlist-s"],[new $("\u200B")]);r=[e1(["vlist-r"],[b,w]),e1(["vlist-r"],[x])]}else r=[e1(["vlist-r"],[b])];var k=e1(["vlist-t"],r);return 2===r.length&&k.classes.push("vlist-t2"),k.height=u,k.depth=-c,k},e9=(e,t)=>{var r=e1(["mspace"],[],t),a=N(e,t);return r.style.marginRight=L(a),r},te=(e,t,r)=>{var a;switch(e){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=e}return a+"-"+("textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===r?"Italic":"Regular")},tt={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"}},tr={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},ta=function(e,t){var[r,a,n]=tr[e],i=e4(["overlay"],[new Z([new K(r)],{width:L(a),height:L(n),style:"width:"+L(a),viewBox:"0 0 "+1e3*a+" "+1e3*n,preserveAspectRatio:"xMinYMin"})],t);return i.height=n,i.style.height=L(n),i.style.width=L(a),i},tn={number:3,unit:"mu"},ti={number:4,unit:"mu"},ts={number:5,unit:"mu"},to={mord:{mop:tn,mbin:ti,mrel:ts,minner:tn},mop:{mord:tn,mop:tn,mrel:ts,minner:tn},mbin:{mord:ti,mop:ti,mopen:ti,minner:ti},mrel:{mord:ts,mop:ts,mopen:ts,minner:ts},mopen:{},mclose:{mop:tn,mbin:ti,mrel:ts,minner:tn},mpunct:{mord:tn,mop:tn,mrel:ts,mopen:tn,mclose:tn,mpunct:tn,minner:tn},minner:{mord:tn,mop:tn,mbin:ti,mrel:ts,mopen:tn,mpunct:tn,minner:tn}},tl={mord:{mop:tn},mop:{mord:tn,mop:tn},mbin:{},mrel:{},mopen:{},mclose:{mop:tn},mpunct:{},minner:{mop:tn}},th={},tm={},tc={};function tu(e){for(var{type:t,names:r,props:a,handler:n,htmlBuilder:i,mathmlBuilder:s}=e,o={type:t,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:void 0===a.allowedInMath||a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:n},l=0;l<r.length;++l)th[r[l]]=o;t&&(i&&(tm[t]=i),s&&(tc[t]=s))}function tp(e){var{type:t,htmlBuilder:r,mathmlBuilder:a}=e;tu({type:t,names:[],props:{numArgs:0},handler(){throw Error("Should never be called.")},htmlBuilder:r,mathmlBuilder:a})}var td=function(e){return"ordgroup"===e.type&&1===e.body.length?e.body[0]:e},tg=function(e){return"ordgroup"===e.type?e.body:[e]},tf=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),tv=new Set(["rightmost","mrel","mclose","mpunct"]),tb={display:M.DISPLAY,text:M.TEXT,script:M.SCRIPT,scriptscript:M.SCRIPTSCRIPT},ty={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},tx=function(e,t,r,a){void 0===a&&(a=[null,null]);for(var n=[],i=0;i<e.length;i++){var s=tA(e[i],t);if(s instanceof R){var o=s.children;n.push(...o)}else n.push(s)}if(eQ(n),!r)return n;var l=t;if(1===e.length){var h=e[0];"sizing"===h.type?l=t.havingSize(h.size):"styling"===h.type&&(l=t.havingStyle(tb[h.style]))}var m=e1([a[0]||"leftmost"],[],t),c=e1([a[1]||"rightmost"],[],t),u="root"===r;return tw(n,(e,t)=>{var r=t.classes[0],a=e.classes[0];"mbin"===r&&tv.has(a)?t.classes[0]="mord":"mbin"===a&&tf.has(r)&&(e.classes[0]="mord")},{node:m},c,u),tw(n,(e,t)=>{var r,a,n=tS(t),i=tS(e),s=n&&i?e.hasClass("mtight")?null==(r=tl[n])?void 0:r[i]:null==(a=to[n])?void 0:a[i]:null;if(s)return e9(s,l)},{node:m},c,u),n},tw=function(e,t,r,a,n){a&&e.push(a);for(var i=0;i<e.length;i++){let a;var s=e[i],o=tk(s);if(o){tw(o.children,t,r,null,n);continue}var l=!s.hasClass("mspace");if(l){var h=t(s,r.node);h&&(r.insertAfter?r.insertAfter(h):(e.unshift(h),i++))}l?r.node=s:n&&s.hasClass("newline")&&(r.node=e1(["leftmost"])),a=i,r.insertAfter=t=>{e.splice(a+1,0,t),i++}}a&&e.pop()},tk=function(e){return e instanceof R||e instanceof j||e instanceof Y&&e.hasClass("enclosing")?e:null},tz=function(e,t){var r=tk(e);if(r){var a=r.children;if(a.length){if("right"===t)return tz(a[a.length-1],"right");else if("left"===t)return tz(a[0],"left")}}return e},tS=function(e,t){return e?(t&&(e=tz(e,t)),ty[e.classes[0]]||null):null},tM=function(e,t){var r=["nulldelimiter"].concat(e.baseSizingClasses());return e1(t.concat(r))},tA=function(e,t,r){if(!e)return e1();if(tm[e.type]){var n=tm[e.type](e,t);if(r&&t.size!==r.size){n=e1(t.sizingClasses(r),[n],t);var i=t.sizeMultiplier/r.sizeMultiplier;n.height*=i,n.depth*=i}return n}throw new a("Got group of unknown type: '"+e.type+"'")};function tT(e,t){var r=e1(["base"],e,t),a=e1(["strut"]);return a.style.height=L(r.height+r.depth),r.depth&&(a.style.verticalAlign=L(-r.depth)),r.children.unshift(a),r}function tC(e,t){var r,a,n=null;1===e.length&&"tag"===e[0].type&&(n=e[0].tag,e=e[0].body);var i=tx(e,t,"root");2===i.length&&i[1].hasClass("tag")&&(r=i.pop());for(var s=[],o=[],l=0;l<i.length;l++)if(o.push(i[l]),i[l].hasClass("mbin")||i[l].hasClass("mrel")||i[l].hasClass("allowbreak")){for(var h=!1;l<i.length-1&&i[l+1].hasClass("mspace")&&!i[l+1].hasClass("newline");)l++,o.push(i[l]),i[l].hasClass("nobreak")&&(h=!0);h||(s.push(tT(o,t)),o=[])}else i[l].hasClass("newline")&&(o.pop(),o.length>0&&(s.push(tT(o,t)),o=[]),s.push(i[l]));o.length>0&&s.push(tT(o,t)),n?((a=tT(tx(n,t,!0),t)).classes=["tag"],s.push(a)):r&&s.push(r);var m=e1(["katex-html"],s);if(m.setAttribute("aria-hidden","true"),a){var c=a.children[0];c.style.height=L(m.height+m.depth),m.depth&&(c.style.verticalAlign=L(-m.depth))}return m}class tB{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=F(this.classes));for(var r=0;r<this.children.length;r++)if(this.children[r]instanceof tq&&this.children[r+1]instanceof tq){for(var a=this.children[r].toText()+this.children[++r].toText();this.children[r+1]instanceof tq;)a+=this.children[++r].toText();e.appendChild(new tq(a).toNode())}else e.appendChild(this.children[r].toNode());return e}toMarkup(){var e="<"+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="',e+=c(this.attributes[t]),e+='"');this.classes.length>0&&(e+=' class ="'+c(F(this.classes))+'"'),e+=">";for(var r=0;r<this.children.length;r++)e+=this.children[r].toMarkup();return e+("</"+this.type+">")}toText(){return this.children.map(e=>e.toText()).join("")}}class tq{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return c(this.toText())}toText(){return this.text}}class tI{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",L(this.width)),e}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+L(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var tH=new Set(["\\imath","\\jmath"]),tR=new Set(["mrow","mtable"]),tE=function(e,t,r){return en[t][e]&&en[t][e].replace&&55349!==e.charCodeAt(0)&&!(eb.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6)))&&(e=en[t][e].replace),new tq(e)},tO=function(e){return 1===e.length?e[0]:new tB("mrow",e)},tD={mathit:"italic",boldsymbol:e=>"textord"===e.type?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},tN=(e,t)=>{if("text"===e.mode){if("texttt"===t.fontFamily)return"monospace";else if("textsf"===t.fontFamily)if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"sans-serif-bold-italic";else if("textit"===t.fontShape)return"sans-serif-italic";else if("textbf"===t.fontWeight)return"bold-sans-serif";else return"sans-serif";else if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";else if("textit"===t.fontShape)return"italic";else if("textbf"===t.fontWeight)return"bold"}var r=t.font;if(!r||"mathnormal"===r)return null;var a=e.mode,n=tD[r];if(n)return"function"==typeof n?n(e):n;var i=e.text;if(tH.has(i))return null;if(en[a][i]){var s=en[a][i].replace;s&&(i=s)}return er(i,tt[r].fontName,a)?tt[r].variant:null};function tL(e){if(!e)return!1;if("mi"===e.type&&1===e.children.length){var t=e.children[0];return t instanceof tq&&"."===t.text}if("mo"!==e.type||1!==e.children.length||"true"!==e.getAttribute("separator")||"0em"!==e.getAttribute("lspace")||"0em"!==e.getAttribute("rspace"))return!1;var r=e.children[0];return r instanceof tq&&","===r.text}var tF=function(e,t,r){if(1===e.length){var a,n=tV(e[0],t);return r&&n instanceof tB&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var i=[],s=0;s<e.length;s++){var o=tV(e[s],t);if(o instanceof tB&&a instanceof tB){if("mtext"===o.type&&"mtext"===a.type&&o.getAttribute("mathvariant")===a.getAttribute("mathvariant")){a.children.push(...o.children);continue}else if("mn"===o.type&&"mn"===a.type){a.children.push(...o.children);continue}else if(tL(o)&&"mn"===a.type){a.children.push(...o.children);continue}else if("mn"===o.type&&tL(a))o.children=[...a.children,...o.children],i.pop();else if(("msup"===o.type||"msub"===o.type)&&o.children.length>=1&&("mn"===a.type||tL(a))){var l=o.children[0];l instanceof tB&&"mn"===l.type&&(l.children=[...a.children,...l.children],i.pop())}else if("mi"===a.type&&1===a.children.length){var h=a.children[0];if(h instanceof tq&&"\u0338"===h.text&&("mo"===o.type||"mi"===o.type||"mn"===o.type)){var m=o.children[0];m instanceof tq&&m.text.length>0&&(m.text=m.text.slice(0,1)+"\u0338"+m.text.slice(1),i.pop())}}}i.push(o),a=o}return i},tP=function(e,t,r){return tO(tF(e,t,r))},tV=function(e,t){if(!e)return new tB("mrow");if(tc[e.type])return tc[e.type](e,t);throw new a("Got group of unknown type: '"+e.type+"'")};function tG(e,t,r,a,n){var i,s=tF(e,r);i=1===s.length&&s[0]instanceof tB&&tR.has(s[0].type)?s[0]:new tB("mrow",s);var o=new tB("annotation",[new tq(t)]);o.setAttribute("encoding","application/x-tex");var l=new tB("semantics",[i,o]),h=new tB("math",[l]);return h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&h.setAttribute("display","block"),e1([n?"katex":"katex-mathml"],[h])}var tU=[[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]],tX=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],tY=function(e,t){return t.size<2?e:tU[e-1][t.size-1]};class tj{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||tj.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=tX[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={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(t,e),new tj(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:tY(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:tX[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=tY(tj.BASESIZE,e);return this.size===t&&this.textSize===tj.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==tj.BASESIZE?["sizing","reset-size"+this.size,"size"+tj.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){var t;if(!ea[t=e>=5?0:e>=3?1:2]){var r=ea[t]={cssEmPerMu:ee.quad[t]/18};for(var a in ee)ee.hasOwnProperty(a)&&(r[a]=ee[a][t])}return ea[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}tj.BASESIZE=6;var tW=function(e){return new tj({style:e.displayMode?M.DISPLAY:M.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},t_=function(e,t){if(t.displayMode){var r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=e1(r,[e])}return e},t$=function(e,t,r){var a=tW(r);return"mathml"===r.output?tG(e,t,a,r.displayMode,!0):t_("html"===r.output?e1(["katex"],[tC(e,a)]):e1(["katex"],[tG(e,t,a,r.displayMode,!1),tC(e,a)]),r)},tZ={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",underbracket:"\u23B5",overbracket:"\u23B4",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},tK=function(e){var t=new tB("mo",[new tq(tZ[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},tJ={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]},tQ=new Set(["widehat","widecheck","widetilde","utilde"]),t0=function(e,t){var{span:r,minWidth:a,height:n}=function(){var r=4e5,a=e.label.slice(1);if(tQ.has(a)&&"base"in e){var n,i,s,o="ordgroup"===e.base.type?e.base.body.length:1;if(o>5)"widehat"===a||"widecheck"===a?(n=420,r=2364,s=.42,i=a+"4"):(n=312,r=2340,s=.34,i="tilde4");else{var l=[1,1,2,2,3,3][o];"widehat"===a||"widecheck"===a?(r=[0,1062,2364,2364,2364][l],n=[0,239,300,360,420][l],s=[0,.24,.3,.3,.36,.42][l],i=a+l):(r=[0,600,1033,2339,2340][l],n=[0,260,286,306,312][l],s=[0,.26,.286,.3,.306,.34][l],i="tilde"+l)}return{span:e4([],[new Z([new K(i)],{width:"100%",height:L(s),viewBox:"0 0 "+r+" "+n,preserveAspectRatio:"none"})],t),minWidth:0,height:s}}var h,m,c=[],u=tJ[a];if(!u)throw Error('No SVG data for "'+a+'".');var[p,d,g]=u,f=g/1e3,v=p.length;if(1===v){if(4!==u.length)throw Error('Expected 4-tuple for single-path SVG data "'+a+'".');h=["hide-tail"],m=[u[3]]}else if(2===v)h=["halfarrow-left","halfarrow-right"],m=["xMinYMin","xMaxYMin"];else if(3===v)h=["brace-left","brace-center","brace-right"],m=["xMinYMin","xMidYMin","xMaxYMin"];else throw Error("Correct katexImagesData or update code here to support\n "+v+" children.");for(var b=0;b<v;b++){var y=new Z([new K(p[b])],{width:"400em",height:L(f),viewBox:"0 0 "+r+" "+g,preserveAspectRatio:m[b]+" slice"}),x=e4([h[b]],[y],t);if(1===v)return{span:x,minWidth:d,height:f};x.style.height=L(f),c.push(x)}return{span:e1(["stretchy"],c,t),minWidth:d,height:f}}();return r.height=n,r.style.height=L(n),a>0&&(r.style.minWidth=L(a)),r},t1=function(e,t,r,a,n){var i,s=e.height+e.depth+r+a;if(/fbox|color|angl/.test(t)){if(i=e1(["stretchy",t],[],n),"fbox"===t){var o=n.color&&n.getColor();o&&(i.style.borderColor=o)}}else{var l=[];/^[bx]cancel$/.test(t)&&l.push(new J({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&l.push(new J({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"})),i=e4([],[new Z(l,{width:"100%",height:L(s)})],n)}return i.height=s,i.style.height=L(s),i},t4={bin:1,close:1,inner:1,open:1,punct:1,rel:1},t5={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};function t6(e,t){if(!e||e.type!==t)throw Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function t7(e){var t=t3(e);if(!t)throw Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function t3(e){return e&&("atom"===e.type||t5.hasOwnProperty(e.type))?e:null}var t8=e=>e instanceof $?e:(e instanceof Y||e instanceof j||e instanceof R)&&1===e.children.length?t8(e.children[0]):void 0,t2=(e,t)=>{e&&"supsub"===e.type?(o=(l=t6(e.base,"accent")).base,e.base=o,h=function(e){if(e instanceof Y)return e;throw Error("Expected span<HtmlDomNode> but got "+String(e)+".")}(tA(e,t)),e.base=l):o=(l=t6(e,"accent")).base;var r=tA(o,t.havingCrampedStyle()),a=l.isShifty&&d(o),n=0;a&&(n=null!=(m=null==(c=t8(r))?void 0:c.skew)?m:0);var i="\\c"===l.label,s=i?r.height+r.depth:Math.min(r.height,t.fontMetrics().xHeight);if(l.isStretchy)g=e2({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"elem",elem:g=t0(l,t),wrapperClasses:["svg-align"],wrapperStyle:n>0?{width:"calc(100% - "+L(2*n)+")",marginLeft:L(2*n)}:void 0}]});else{"\\vec"===l.label?(u=ta("vec",t),p=tr.vec[1]):((u=function(e){if(e instanceof $)return e;throw Error("Expected symbolNode but got "+String(e)+".")}(u=eK({type:"textord",mode:l.mode,text:l.label},t,"textord"))).italic=0,p=u.width,i&&(s+=u.depth));var o,l,h,m,c,u,p,g=e1(["accent-body"],[u]),f="\\textcircled"===l.label;f&&(g.classes.push("accent-full"),s=r.height);var v=n;f||(v-=p/2),g.style.left=L(v),"\\textcircled"===l.label&&(g.style.top=".2em"),g=e2({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:-s},{type:"elem",elem:g}]})}var b=e1(["mord","accent"],[g],t);return h?(h.children[0]=b,h.height=Math.max(b.height,h.height),h.classes[0]="mord",h):b},t9=(e,t)=>{var r=e.isStretchy?tK(e.label):new tB("mo",[tE(e.label,e.mode)]),a=new tB("mover",[tV(e.base,t),r]);return a.setAttribute("accent","true"),a},re=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(e=>"\\"+e).join("|"));tu({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:(e,t)=>{var r=td(t[0]),a=!re.test(e.funcName),n=!a||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:a,isShifty:n,base:r}},htmlBuilder:t2,mathmlBuilder:t9}),tu({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{var r=t[0],a=e.parser.mode;return"math"===a&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:t2,mathmlBuilder:t9}),tu({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"accentUnder",mode:r.mode,label:a,base:n}},htmlBuilder:(e,t)=>{var r=tA(e.base,t),a=t0(e,t),n=.12*("\\utilde"===e.label);return e1(["mord","accentunder"],[e2({positionType:"top",positionData:r.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:r}]})],t)},mathmlBuilder:(e,t)=>{var r=tK(e.label),a=new tB("munder",[tV(e.base,t),r]);return a.setAttribute("accentunder","true"),a}});var rt=e=>{var t=new tB("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};function rr(e,t){var r=tx(e.body,t,!0);return e1([e.mclass],r,t)}function ra(e,t){var r,a=tF(e.body,t);return"minner"===e.mclass?r=new tB("mpadded",a):"mord"===e.mclass?e.isCharacterBox?(r=a[0]).type="mi":r=new tB("mi",a):(e.isCharacterBox?(r=a[0]).type="mo":r=new tB("mo",a),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}tu({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(e,t,r){var{parser:a,funcName:n}=e;return{type:"xArrow",mode:a.mode,label:n,body:t[0],below:r[0]}},htmlBuilder(e,t){var r,a,n=t.style,i=t.havingStyle(n.sup()),s=e3(tA(e.body,i,t),t),o="\\x"===e.label.slice(0,2)?"x":"cd";s.classes.push(o+"-arrow-pad"),e.below&&(i=t.havingStyle(n.sub()),(r=e3(tA(e.below,i,t),t)).classes.push(o+"-arrow-pad"));var l=t0(e,t),h=-t.fontMetrics().axisHeight+.5*l.height,m=-t.fontMetrics().axisHeight-.5*l.height-.111;if((s.depth>.25||"\\xleftequilibrium"===e.label)&&(m-=s.depth),r){var c=-t.fontMetrics().axisHeight+r.height+.5*l.height+.111;a=e2({positionType:"individualShift",children:[{type:"elem",elem:s,shift:m},{type:"elem",elem:l,shift:h,wrapperClasses:["svg-align"]},{type:"elem",elem:r,shift:c}]})}else a=e2({positionType:"individualShift",children:[{type:"elem",elem:s,shift:m},{type:"elem",elem:l,shift:h,wrapperClasses:["svg-align"]}]});return e1(["mrel","x-arrow"],[a],t)},mathmlBuilder(e,t){var r,a=tK(e.label);if(a.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){var n=rt(tV(e.body,t));r=e.below?new tB("munderover",[a,rt(tV(e.below,t)),n]):new tB("mover",[a,n])}else r=e.below?new tB("munder",[a,rt(tV(e.below,t))]):new tB("mover",[a,r=rt()]);return r}}),tu({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+a.slice(5),body:tg(n),isCharacterBox:d(n)}},htmlBuilder:rr,mathmlBuilder:ra});var rn=e=>{var t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"===t.type&&("bin"===t.family||"rel"===t.family)?"m"+t.family:"mord"};tu({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){var{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:rn(t[0]),body:tg(t[1]),isCharacterBox:d(t[1])}}}),tu({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){var r,{parser:a,funcName:n}=e,i=t[1],s=t[0];r="\\stackrel"!==n?rn(i):"mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:tg(i)},l={type:"supsub",mode:s.mode,base:o,sup:"\\underset"===n?null:s,sub:"\\underset"===n?s:null};return{type:"mclass",mode:a.mode,mclass:r,body:[l],isCharacterBox:d(l)}},htmlBuilder:rr,mathmlBuilder:ra}),tu({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:rn(t[0]),body:tg(t[0])}},htmlBuilder(e,t){var r=tx(e.body,t,!0),a=e1([e.mclass],r,t);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(e,t){var r=new tB("mstyle",tF(e.body,t));return r.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),r}});var ri={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},rs=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),ro=e=>"textord"===e.type&&"@"===e.text,rl=(e,t)=>("mathord"===e.type||"atom"===e.type)&&e.text===t;tu({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e;return{type:"cdlabel",mode:r.mode,side:a.slice(4),label:t[0]}},htmlBuilder(e,t){var r=t.havingStyle(t.style.sup()),a=e3(tA(e.label,r,t),t);return a.classes.push("cd-label-"+e.side),a.style.bottom=L(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(e,t){var r=new tB("mrow",[tV(e.label,t)]);return(r=new tB("mpadded",[r])).setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),(r=new tB("mstyle",[r])).setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),tu({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){var{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){var r=e3(tA(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder:(e,t)=>new tB("mrow",[tV(e.fragment,t)])}),tu({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){for(var r,{parser:n}=e,i=t6(t[0],"ordgroup").body,s="",o=0;o<i.length;o++)s+=t6(i[o],"textord").text;var l=parseInt(s);if(isNaN(l))throw new a("\\@char has non-numeric argument "+s);if(l<0||l>=1114111)throw new a("\\@char with invalid code point "+s);return l<=65535?r=String.fromCharCode(l):(l-=65536,r=String.fromCharCode((l>>10)+55296,(1023&l)+56320)),{type:"textord",mode:n.mode,text:r}}});var rh=(e,t)=>e7(tx(e.body,t.withColor(e.color),!1)),rm=(e,t)=>{var r=new tB("mstyle",tF(e.body,t.withColor(e.color)));return r.setAttribute("mathcolor",e.color),r};tu({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){var{parser:r}=e,a=t6(t[0],"color-token").color,n=t[1];return{type:"color",mode:r.mode,color:a,body:tg(n)}},htmlBuilder:rh,mathmlBuilder:rm}),tu({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){var{parser:r,breakOnTokenText:a}=e,n=t6(t[0],"color-token").color;r.gullet.macros.set("\\current@color",n);var i=r.parseExpression(!0,a);return{type:"color",mode:r.mode,color:n,body:i}},htmlBuilder:rh,mathmlBuilder:rm}),tu({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){var{parser:a}=e,n="["===a.gullet.future().text?a.parseSizeGroup(!0):null,i=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:i,size:n&&t6(n,"size").value}},htmlBuilder(e,t){var r=e1(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=L(N(e.size,t)))),r},mathmlBuilder(e,t){var r=new tB("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",L(N(e.size,t)))),r}});var rc={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},ru=e=>{var t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new a("Expected a control sequence",e);return t},rp=(e,t,r,a)=>{var n=e.gullet.macros.get(r.text);null==n&&(r.noexpand=!0,n={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,n,a)};tu({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){var{parser:t,funcName:r}=e;t.consumeSpaces();var n=t.fetch();if(rc[n.text])return("\\global"===r||"\\\\globallong"===r)&&(n.text=rc[n.text]),t6(t.parseFunction(),"internal");throw new a("Invalid token after macro prefix",n)}}),tu({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var t,{parser:r,funcName:n}=e,i=r.gullet.popToken(),s=i.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new a("Expected a control sequence",i);for(var o=0,l=[[]];"{"!==r.gullet.future().text;)if("#"===(i=r.gullet.popToken()).text){if("{"===r.gullet.future().text){t=r.gullet.future(),l[o].push("{");break}if(i=r.gullet.popToken(),!/^[1-9]$/.test(i.text))throw new a('Invalid argument number "'+i.text+'"');if(parseInt(i.text)!==o+1)throw new a('Argument number "'+i.text+'" out of order');o++,l.push([])}else if("EOF"===i.text)throw new a("Expected a macro definition");else l[o].push(i.text);var{tokens:h}=r.gullet.consumeArg();return t&&h.unshift(t),("\\edef"===n||"\\xdef"===n)&&(h=r.gullet.expandTokens(h)).reverse(),r.gullet.macros.set(s,{tokens:h,numArgs:o,delimiters:l},n===rc[n]),{type:"internal",mode:r.mode}}}),tu({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var t,{parser:r,funcName:a}=e,n=ru(r.gullet.popToken());r.gullet.consumeSpaces();var i=("="===(t=r.gullet.popToken()).text&&" "===(t=r.gullet.popToken()).text&&(t=r.gullet.popToken()),t);return rp(r,n,i,"\\\\globallet"===a),{type:"internal",mode:r.mode}}}),tu({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){var{parser:t,funcName:r}=e,a=ru(t.gullet.popToken()),n=t.gullet.popToken(),i=t.gullet.popToken();return rp(t,a,i,"\\\\globalfuture"===r),t.gullet.pushToken(i),t.gullet.pushToken(n),{type:"internal",mode:t.mode}}});var rd=function(e,t,r){var a=er(en.math[e]&&en.math[e].replace||e,t,r);if(!a)throw Error("Unsupported symbol "+e+" and font size "+t+".");return a},rg=function(e,t,r,a){var n=r.havingBaseStyle(t),i=e1(a.concat(n.sizingClasses(r)),[e],r),s=n.sizeMultiplier/r.sizeMultiplier;return i.height*=s,i.depth*=s,i.maxFontSize=n.sizeMultiplier,i},rf=function(e,t,r){var a=t.havingBaseStyle(r),n=(1-t.sizeMultiplier/a.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=L(n),e.height-=n,e.depth+=n},rv=function(e,t,r,a,n,i){var s=rg(e$(e,"Main-Regular",n,a),t,a,i);return r&&rf(s,a,t),s},rb=function(e,t,r,a,n,i){var s=e$(e,"Size"+t+"-Regular",n,a),o=rg(e1(["delimsizing","size"+t],[s],a),M.TEXT,a,i);return r&&rf(o,a,M.TEXT),o},ry=function(e,t,r){return{type:"elem",elem:e1(["delimsizinginner","Size1-Regular"===t?"delim-size1":"delim-size4"],[e1([],[e$(e,t,r)])])}},rx=function(e,t,r){var a=Q["Size4-Regular"][e.charCodeAt(0)]?Q["Size4-Regular"][e.charCodeAt(0)][4]:Q["Size1-Regular"][e.charCodeAt(0)][4],n=e4([],[new Z([new K("inner",q(e,Math.round(1e3*t)))],{width:L(a),height:L(t),style:"width:"+L(a),viewBox:"0 0 "+1e3*a+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"})],r);return n.height=t,n.style.height=L(t),n.style.width=L(a),{type:"elem",elem:n}},rw={type:"kern",size:-.008},rk=new Set(["|","\\lvert","\\rvert","\\vert"]),rz=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),rS=function(e,t,r,a,n,i){var s,o,l,h,m="",c=0;s=l=h=e,o=null;var u="Size1-Regular";"\\uparrow"===e?l=h="\u23D0":"\\Uparrow"===e?l=h="\u2016":"\\downarrow"===e?s=l="\u23D0":"\\Downarrow"===e?s=l="\u2016":"\\updownarrow"===e?(s="\\uparrow",l="\u23D0",h="\\downarrow"):"\\Updownarrow"===e?(s="\\Uparrow",l="\u2016",h="\\Downarrow"):rk.has(e)?(l="\u2223",m="vert",c=333):rz.has(e)?(l="\u2225",m="doublevert",c=556):"["===e||"\\lbrack"===e?(s="\u23A1",l="\u23A2",h="\u23A3",u="Size4-Regular",m="lbrack",c=667):"]"===e||"\\rbrack"===e?(s="\u23A4",l="\u23A5",h="\u23A6",u="Size4-Regular",m="rbrack",c=667):"\\lfloor"===e||"\u230A"===e?(l=s="\u23A2",h="\u23A3",u="Size4-Regular",m="lfloor",c=667):"\\lceil"===e||"\u2308"===e?(s="\u23A1",l=h="\u23A2",u="Size4-Regular",m="lceil",c=667):"\\rfloor"===e||"\u230B"===e?(l=s="\u23A5",h="\u23A6",u="Size4-Regular",m="rfloor",c=667):"\\rceil"===e||"\u2309"===e?(s="\u23A4",l=h="\u23A5",u="Size4-Regular",m="rceil",c=667):"("===e||"\\lparen"===e?(s="\u239B",l="\u239C",h="\u239D",u="Size4-Regular",m="lparen",c=875):")"===e||"\\rparen"===e?(s="\u239E",l="\u239F",h="\u23A0",u="Size4-Regular",m="rparen",c=875):"\\{"===e||"\\lbrace"===e?(s="\u23A7",o="\u23A8",h="\u23A9",l="\u23AA",u="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(s="\u23AB",o="\u23AC",h="\u23AD",l="\u23AA",u="Size4-Regular"):"\\lgroup"===e||"\u27EE"===e?(s="\u23A7",h="\u23A9",l="\u23AA",u="Size4-Regular"):"\\rgroup"===e||"\u27EF"===e?(s="\u23AB",h="\u23AD",l="\u23AA",u="Size4-Regular"):"\\lmoustache"===e||"\u23B0"===e?(s="\u23A7",h="\u23AD",l="\u23AA",u="Size4-Regular"):("\\rmoustache"===e||"\u23B1"===e)&&(s="\u23AB",h="\u23A9",l="\u23AA",u="Size4-Regular");var p=rd(s,u,n),d=p.height+p.depth,g=rd(l,u,n),f=g.height+g.depth,v=rd(h,u,n),b=v.height+v.depth,y=0,x=1;if(null!==o){var w=rd(o,u,n);y=w.height+w.depth,x=2}var k=d+b+y,z=Math.max(0,Math.ceil((t-k)/(x*f))),S=k+z*x*f,A=a.fontMetrics().axisHeight;r&&(A*=a.sizeMultiplier);var T=S/2-A,C=[];if(m.length>0){var B=Math.round(1e3*S),q=H(m,Math.round(1e3*(S-d-b))),I=new K(m,q),R=L(c/1e3),E=L(B/1e3),O=e4([],[new Z([I],{width:R,height:E,viewBox:"0 0 "+c+" "+B})],a);O.height=B/1e3,O.style.width=R,O.style.height=E,C.push({type:"elem",elem:O})}else{if(C.push(ry(h,u,n)),C.push(rw),null===o)C.push(rx(l,S-d-b+.016,a));else{var D=(S-d-b-y)/2+.016;C.push(rx(l,D,a)),C.push(rw),C.push(ry(o,u,n)),C.push(rw),C.push(rx(l,D,a))}C.push(rw),C.push(ry(s,u,n))}var N=a.havingBaseStyle(M.TEXT);return rg(e1(["delimsizing","mult"],[e2({positionType:"bottom",positionData:T,children:C})],N),M.TEXT,a,i)},rM=function(e,t,r,a,n){var i=B(e,a,r);return e4(["hide-tail"],[new Z([new K(e,i)],{width:"400em",height:L(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"})],n)},rA=function(e,t){var r,a,n,i,s,o=t.havingBaseSizing(),l=rD("\\surd",e*o.sizeMultiplier,rE,o),h=o.sizeMultiplier,m=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness);return"small"===l.type?(i=1e3+1e3*m+80,e<1?h=1:e<1.4&&(h=.7),a=(1+m+.08)/h,n=(1+m)/h,(r=rM("sqrtMain",a,i,m,t)).style.minWidth="0.853em",s=.833/h):"large"===l.type?(i=1080*rq[l.size],n=(rq[l.size]+m)/h,a=(rq[l.size]+m+.08)/h,(r=rM("sqrtSize"+l.size,a,i,m,t)).style.minWidth="1.02em",s=1/h):(a=e+m+.08,n=e+m,(r=rM("sqrtTall",a,i=Math.floor(1e3*e+m)+80,m,t)).style.minWidth="0.742em",s=1.056),r.height=n,r.style.height=L(a),{span:r,advanceWidth:s,ruleWidth:(t.fontMetrics().sqrtRuleThickness+m)*h}},rT=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"]),rC=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"]),rB=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),rq=[0,1.2,1.8,2.4,3],rI=function(e,t,r,n,i){if("<"===e||"\\lt"===e||"\u27E8"===e?e="\\langle":(">"===e||"\\gt"===e||"\u27E9"===e)&&(e="\\rangle"),rT.has(e)||rB.has(e))return rb(e,t,!1,r,n,i);if(rC.has(e))return rS(e,rq[t],!1,r,n,i);throw new a("Illegal delimiter: '"+e+"'")},rH=[{type:"small",style:M.SCRIPTSCRIPT},{type:"small",style:M.SCRIPT},{type:"small",style:M.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],rR=[{type:"small",style:M.SCRIPTSCRIPT},{type:"small",style:M.SCRIPT},{type:"small",style:M.TEXT},{type:"stack"}],rE=[{type:"small",style:M.SCRIPTSCRIPT},{type:"small",style:M.SCRIPT},{type:"small",style:M.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],rO=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw Error("Add support for delim type '"+e.type+"' here.")},rD=function(e,t,r,a){for(var n=Math.min(2,3-a.style.size),i=n;i<r.length;i++){var s=r[i];if("stack"===s.type)break;var o=rd(e,rO(s),"math"),l=o.height+o.depth;if("small"===s.type&&(l*=a.havingBaseStyle(s.style).sizeMultiplier),l>t)return s}return r[r.length-1]},rN=function(e,t,r,a,n,i){"<"===e||"\\lt"===e||"\u27E8"===e?e="\\langle":(">"===e||"\\gt"===e||"\u27E9"===e)&&(e="\\rangle");var s=rB.has(e)?rH:rT.has(e)?rE:rR,o=rD(e,t,s,a);return"small"===o.type?rv(e,o.style,r,a,n,i):"large"===o.type?rb(e,o.size,r,a,n,i):rS(e,t,r,a,n,i)},rL=function(e,t,r,a,n,i){var s=a.fontMetrics().axisHeight*a.sizeMultiplier,o=5/a.fontMetrics().ptPerEm,l=Math.max(t-s,r+s);return rN(e,Math.max(l/500*901,2*l-o),!0,a,n,i)},rF={"\\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}},rP=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function rV(e){return"isMiddle"in e}function rG(e,t){var r=t3(e);if(r&&rP.has(r.text))return r;if(r)throw new a("Invalid delimiter '"+r.text+"' after '"+t.funcName+"'",e);throw new a("Invalid delimiter type '"+e.type+"'",e)}function rU(e){if(!e.body)throw Error("Bug: The leftright ParseNode wasn't fully parsed.")}tu({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:(e,t)=>{var r=rG(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:rF[e.funcName].size,mclass:rF[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?e1([e.mclass]):rI(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{var t=[];"."!==e.delim&&t.push(tE(e.delim,e.mode));var r=new tB("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var a=L(rq[e.size]);return r.setAttribute("minsize",a),r.setAttribute("maxsize",a),r}}),tu({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new a("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:rG(t[0],e).text,color:r}}}),tu({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=rG(t[0],e),a=e.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var i=t6(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:(e,t)=>{rU(e);for(var r,a,n=tx(e.body,t,!0,["mopen","mclose"]),i=0,s=0,o=!1,l=0;l<n.length;l++)rV(n[l])?o=!0:(i=Math.max(n[l].height,i),s=Math.max(n[l].depth,s));if(i*=t.sizeMultiplier,s*=t.sizeMultiplier,r="."===e.left?tM(t,["mopen"]):rL(e.left,i,s,t,e.mode,["mopen"]),n.unshift(r),o)for(var h=1;h<n.length;h++){var m=n[h];if(rV(m)){var c=m.isMiddle;n[h]=rL(c.delim,i,s,c.options,e.mode,[])}}if("."===e.right)a=tM(t,["mclose"]);else{var u=e.rightColor?t.withColor(e.rightColor):t;a=rL(e.right,i,s,u,e.mode,["mclose"])}return n.push(a),e1(["minner"],n,t)},mathmlBuilder:(e,t)=>{rU(e);var r=tF(e.body,t);if("."!==e.left){var a=new tB("mo",[tE(e.left,e.mode)]);a.setAttribute("fence","true"),r.unshift(a)}if("."!==e.right){var n=new tB("mo",[tE(e.right,e.mode)]);n.setAttribute("fence","true"),e.rightColor&&n.setAttribute("mathcolor",e.rightColor),r.push(n)}return tO(r)}}),tu({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var r=rG(t[0],e);if(!e.parser.leftrightDepth)throw new a("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{var r;return"."===e.delim?r=tM(t,[]):(r=rI(e.delim,1,t,e.mode,[])).isMiddle={delim:e.delim,options:t},r},mathmlBuilder:(e,t)=>{var r=new tB("mo",["\\vert"===e.delim||"|"===e.delim?tE("|","text"):tE(e.delim,e.mode)]);return r.setAttribute("fence","true"),r.setAttribute("lspace","0.05em"),r.setAttribute("rspace","0.05em"),r}});var rX=(e,t)=>{var r,a=e3(tA(e.body,t),t),n=e.label.slice(1),i=t.sizeMultiplier,s=d(e.body);if("sout"===n)(c=e1(["stretchy","sout"])).height=t.fontMetrics().defaultRuleThickness/i,u=-.5*t.fontMetrics().xHeight;else if("phase"===n){var o=N({number:.6,unit:"pt"},t),l=N({number:.35,unit:"ex"},t);i/=t.havingBaseSizing().sizeMultiplier;var h=a.height+a.depth+o+l;a.style.paddingLeft=L(h/2+o);var m=Math.floor(1e3*h*i);(c=e4(["hide-tail"],[new Z([new K("phase","M400000 "+m+" H0 L"+m/2+" 0 l65 45 L145 "+(m-80)+" H400000z")],{width:"400em",height:L(m/1e3),viewBox:"0 0 400000 "+m,preserveAspectRatio:"xMinYMin slice"})],t)).style.height=L(h),u=a.depth+o+l}else{/cancel/.test(n)?s||a.classes.push("cancel-pad"):"angl"===n?a.classes.push("anglpad"):a.classes.push("boxpad");var c,u,p,g,f=0;/box/.test(n)?(f=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),g=p=t.fontMetrics().fboxsep+("colorbox"===n?0:f)):"angl"===n?(p=4*(f=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness)),g=Math.max(0,.25-a.depth)):g=p=.2*!!s,c=t1(a,n,p,g,t),/fbox|boxed|fcolorbox/.test(n)?(c.style.borderStyle="solid",c.style.borderWidth=L(f)):"angl"===n&&.049!==f&&(c.style.borderTopWidth=L(f),c.style.borderRightWidth=L(f)),u=a.depth+g,e.backgroundColor&&(c.style.backgroundColor=e.backgroundColor,e.borderColor&&(c.style.borderColor=e.borderColor))}return(r=e.backgroundColor?e2({positionType:"individualShift",children:[{type:"elem",elem:c,shift:u},{type:"elem",elem:a,shift:0}]}):e2({positionType:"individualShift",children:[{type:"elem",elem:a,shift:0},{type:"elem",elem:c,shift:u,wrapperClasses:/cancel|phase/.test(n)?["svg-align"]:[]}]}),/cancel/.test(n)&&(r.height=a.height,r.depth=a.depth),/cancel/.test(n)&&!s)?e1(["mord","cancel-lap"],[r],t):e1(["mord"],[r],t)},rY=(e,t)=>{var r,a=new tB(e.label.includes("colorbox")?"mpadded":"menclose",[tV(e.body,t)]);switch(e.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*r+"pt"),a.setAttribute("height","+"+2*r+"pt"),a.setAttribute("lspace",r+"pt"),a.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){var n=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);a.setAttribute("style","border: "+L(n)+" solid "+e.borderColor)}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&a.setAttribute("mathbackground",e.backgroundColor),a};tu({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","hbox"]},handler(e,t,r){var{parser:a,funcName:n}=e,i=t6(t[0],"color-token").color,s=t[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:i,body:s}},htmlBuilder:rX,mathmlBuilder:rY}),tu({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"]},handler(e,t,r){var{parser:a,funcName:n}=e,i=t6(t[0],"color-token").color,s=t6(t[1],"color-token").color,o=t[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:s,borderColor:i,body:o}},htmlBuilder:rX,mathmlBuilder:rY}),tu({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),tu({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"enclose",mode:r.mode,label:a,body:n}},htmlBuilder:rX,mathmlBuilder:rY}),tu({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e;"math"===r.mode&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var n=t[0];return{type:"enclose",mode:r.mode,label:a,body:n}},htmlBuilder:rX,mathmlBuilder:rY}),tu({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){var{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});var rj={};function rW(e){for(var{type:t,names:r,props:a,handler:n,htmlBuilder:i,mathmlBuilder:s}=e,o={type:t,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:n},l=0;l<r.length;++l)rj[r[l]]=o;i&&(tm[t]=i),s&&(tc[t]=s)}var r_={};class r${constructor(e,t,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=r}static range(e,t){return t?e&&e.loc&&t.loc&&e.loc.lexer===t.loc.lexer?new r$(e.loc.lexer,e.loc.start,t.loc.end):null:e&&e.loc}}class rZ{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new rZ(t,r$.range(this,e))}}function rK(e){var t=[];e.consumeSpaces();var r=e.fetch().text;for("\\relax"===r&&(e.consume(),e.consumeSpaces(),r=e.fetch().text);"\\hline"===r||"\\hdashline"===r;)e.consume(),t.push("\\hdashline"===r),e.consumeSpaces(),r=e.fetch().text;return t}var rJ=e=>{if(!e.parser.settings.displayMode)throw new a("{"+e.envName+"} can be used only in display mode.")},rQ=new Set(["gather","gather*"]);function r0(e){if(!e.includes("ed"))return!e.includes("*")}function r1(e,t,r){var{hskipBeforeAndAfter:n,addJot:i,cols:s,arraystretch:o,colSeparationType:l,autoTag:h,singleRow:m,emptySingleRow:c,maxNumCols:u,leqno:p}=t;if(e.gullet.beginGroup(),m||e.gullet.macros.set("\\cr","\\\\\\relax"),!o){var d=e.gullet.expandMacroAsText("\\arraystretch");if(null==d)o=1;else if(!(o=parseFloat(d))||o<0)throw new a("Invalid \\arraystretch: "+d)}e.gullet.beginGroup();var g=[],f=[g],v=[],b=[],y=null!=h?[]:void 0;function x(){h&&e.gullet.macros.set("\\@eqnsw","1",!0)}function w(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new rZ("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(!!h&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(x(),b.push(rK(e));;){var k=e.parseExpression(!1,m?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup();var z={type:"ordgroup",mode:e.mode,body:k};r&&(z={type:"styling",mode:e.mode,style:r,resetFont:!0,body:[z]}),g.push(z);var S=e.fetch().text;if("&"===S){if(u&&g.length===u)if(m||l)throw new a("Too many tab characters: &",e.nextToken);else e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.");e.consume()}else if("\\end"===S){w(),1===g.length&&"styling"===z.type&&1===z.body.length&&"ordgroup"===z.body[0].type&&0===z.body[0].body.length&&(f.length>1||!c)&&f.pop(),b.length<f.length+1&&b.push([]);break}else if("\\\\"===S){e.consume();var M=void 0;" "!==e.gullet.future().text&&(M=e.parseSizeGroup(!0)),v.push(M?M.value:null),w(),b.push(rK(e)),g=[],f.push(g),x()}else throw new a("Expected & or \\\\ or \\cr or \\end",e.nextToken)}return e.gullet.endGroup(),e.gullet.endGroup(),{type:"array",mode:e.mode,addJot:i,arraystretch:o,body:f,cols:s,rowGaps:v,hskipBeforeAndAfter:n,hLinesBeforeRow:b,colSeparationType:l,tags:y,leqno:p}}function r4(e){return"d"===e.slice(0,1)?"display":"text"}var r5=function(e,t){var r=e.body.length,n=e.hLinesBeforeRow,i=0,s=Array(r),o=[],l=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),h=1/t.fontMetrics().ptPerEm,m=5*h;e.colSeparationType&&"small"===e.colSeparationType&&(m=.2778*(t.havingStyle(M.SCRIPT).sizeMultiplier/t.sizeMultiplier));var c="CD"===e.colSeparationType?N({number:3,unit:"ex"},t):12*h,u=3*h,p=e.arraystretch*c,d=.7*p,g=.3*p,f=0;function v(e){for(var t=0;t<e.length;++t)t>0&&(f+=.25),o.push({pos:f,isDashed:e[t]})}for(v(n[0]),E=0;E<e.body.length;++E){var b=e.body[E],y=d,x=g;i<b.length&&(i=b.length);var w={cells:Array(b.length),height:0,depth:0,pos:0};for(O=0;O<b.length;++O){var k=tA(b[O],t);x<k.depth&&(x=k.depth),y<k.height&&(y=k.height),w.cells[O]=k}var z=e.rowGaps[E],S=0;z&&(S=N(z,t))>0&&(x<(S+=g)&&(x=S),S=0),e.addJot&&E<e.body.length-1&&(x+=u),w.height=y,w.depth=x,w.pos=f+=y,f+=x+S,s[E]=w,v(n[E+1])}var A=f/2+t.fontMetrics().axisHeight,T=e.cols||[],C=[],B=[];if(e.tags&&e.tags.some(e=>e))for(E=0;E<r;++E){var q=s[E],I=q.pos-A,H=e.tags[E],R=void 0;(R=!0===H?e1(["eqn-num"],[],t):!1===H?e1([],[],t):e1([],tx(H,t,!0),t)).depth=q.depth,R.height=q.height,B.push({type:"elem",elem:R,shift:I})}for(O=0,F=0;O<i||F<T.length;++O,++F){for(var E,O,D,F,P,V,G,U,X,Y,j=T[F],W=!0;(null==(V=j)?void 0:V.type)==="separator";){if(W||((D=e1(["arraycolsep"],[])).style.width=L(t.fontMetrics().doubleRuleSep),C.push(D)),"|"===j.separator||":"===j.separator){var _="|"===j.separator?"solid":"dashed",$=e1(["vertical-separator"],[],t);$.style.height=L(f),$.style.borderRightWidth=L(l),$.style.borderRightStyle=_,$.style.margin="0 "+L(-l/2);var Z=f-A;Z&&($.style.verticalAlign=L(-Z)),C.push($)}else throw new a("Invalid separator type: "+j.separator);j=T[++F],W=!1}if(!(O>=i)){var K=void 0;(O>0||e.hskipBeforeAndAfter)&&0!==(K=null!=(G=null==(U=j)?void 0:U.pregap)?G:m)&&((D=e1(["arraycolsep"],[])).style.width=L(K),C.push(D));var J=[];for(E=0;E<r;++E){var Q=s[E],ee=Q.cells[O];if(ee){var et=Q.pos-A;ee.depth=Q.depth,ee.height=Q.height,J.push({type:"elem",elem:ee,shift:et})}}var er=e2({positionType:"individualShift",children:J}),ea=e1(["col-align-"+((null==(P=j)?void 0:P.align)||"c")],[er]);C.push(ea),(O<i-1||e.hskipBeforeAndAfter)&&0!==(K=null!=(X=null==(Y=j)?void 0:Y.postgap)?X:m)&&((D=e1(["arraycolsep"],[])).style.width=L(K),C.push(D))}}var en=e1(["mtable"],C);if(o.length>0){for(var ei=e5("hline",t,l),es=e5("hdashline",t,l),eo=[{type:"elem",elem:en,shift:0}];o.length>0;){var el=o.pop(),eh=el.pos-A;el.isDashed?eo.push({type:"elem",elem:es,shift:eh}):eo.push({type:"elem",elem:ei,shift:eh})}en=e2({positionType:"individualShift",children:eo})}return 0===B.length?e1(["mord"],[en],t):e7([en,e1(["tag"],[e2({positionType:"individualShift",children:B})],t)])},r6={c:"center ",l:"left ",r:"right "},r7=function(e,t){for(var r=[],a=new tB("mtd",[],["mtr-glue"]),n=new tB("mtd",[],["mml-eqn-num"]),i=0;i<e.body.length;i++){for(var s=e.body[i],o=[],l=0;l<s.length;l++)o.push(new tB("mtd",[tV(s[l],t)]));e.tags&&e.tags[i]&&(o.unshift(a),o.push(a),e.leqno?o.unshift(n):o.push(n)),r.push(new tB("mtr",o))}var h=new tB("mtable",r),m=.5===e.arraystretch?.1:.16+e.arraystretch-1+.09*!!e.addJot;h.setAttribute("rowspacing",L(m));var c="",u="";if(e.cols&&e.cols.length>0){var p=e.cols,d="",g=!1,f=0,v=p.length;"separator"===p[0].type&&(c+="top ",f=1),"separator"===p[p.length-1].type&&(c+="bottom ",v-=1);for(var b=f;b<v;b++){var y=p[b];"align"===y.type?(u+=r6[y.align],g&&(d+="none "),g=!0):"separator"===y.type&&g&&(d+="|"===y.separator?"solid ":"dashed ",g=!1)}h.setAttribute("columnalign",u.trim()),/[sd]/.test(d)&&h.setAttribute("columnlines",d.trim())}if("align"===e.colSeparationType){for(var x=e.cols||[],w="",k=1;k<x.length;k++)w+=k%2?"0em ":"1em ";h.setAttribute("columnspacing",w.trim())}else"alignat"===e.colSeparationType||"gather"===e.colSeparationType?h.setAttribute("columnspacing","0em"):"small"===e.colSeparationType?h.setAttribute("columnspacing","0.2778em"):"CD"===e.colSeparationType?h.setAttribute("columnspacing","0.5em"):h.setAttribute("columnspacing","1em");var z="",S=e.hLinesBeforeRow;c+=(S[0].length>0?"left ":"")+(S[S.length-1].length>0?"right ":"");for(var M=1;M<S.length-1;M++)z+=0===S[M].length?"none ":S[M][0]?"dashed ":"solid ";return/[sd]/.test(z)&&h.setAttribute("rowlines",z.trim()),""!==c&&(h=new tB("menclose",[h])).setAttribute("notation",c.trim()),e.arraystretch&&e.arraystretch<1&&(h=new tB("mstyle",[h])).setAttribute("scriptlevel","1"),h},r3=function(e,t){e.envName.includes("ed")||rJ(e);var r=[],n=e.envName.includes("at")?"alignat":"align",i="split"===e.envName,s=r1(e.parser,{cols:r,addJot:!0,autoTag:i?void 0:r0(e.envName),emptySingleRow:!0,colSeparationType:n,maxNumCols:i?2:void 0,leqno:e.parser.settings.leqno},"display"),o=0,l=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var m="",c=0;c<t[0].body.length;c++)m+=t6(t[0].body[c],"textord").text;l=2*(o=Number(m))}var u=!l;s.body.forEach(function(e){for(var t=1;t<e.length;t+=2){var r=t6(e[t],"styling");t6(r.body[0],"ordgroup").body.unshift(h)}if(u)l<e.length&&(l=e.length);else{var n=e.length/2;if(o<n)throw new a("Too many math in a row: expected "+o+", but got "+n,e[0])}});for(var p=0;p<l;++p){var d="r",g=0;p%2==1?d="l":p>0&&u&&(g=1),r[p]={type:"align",align:d,pregap:g,postgap:0}}return s.colSeparationType=u?"align":"alignat",s};rW({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){var r=(t3(t[0])?[t[0]]:t6(t[0],"ordgroup").body).map(function(e){var t=t7(e).text;if("lcr".includes(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new a("Unknown column alignment: "+t,e)}),n={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return r1(e.parser,n,r4(e.envName))},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var i=e.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new a("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var s=r1(e.parser,n,r4(e.envName)),o=Math.max(0,...s.body.map(e=>e.length));return s.cols=Array(o).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){var t=r1(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){var r=(t3(t[0])?[t[0]]:t6(t[0],"ordgroup").body).map(function(e){var t=t7(e).text;if("lc".includes(t))return{type:"align",align:t};throw new a("Unknown column alignment: "+t,e)});if(r.length>1)throw new a("{subarray} can contain only one column");var n=r1(e.parser,{cols:r,hskipBeforeAndAfter:!1,arraystretch:.5},"script");if(n.body.length>0&&n.body[0].length>1)throw new a("{subarray} can contain only one column");return n},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){var t=r1(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r4(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.includes("r")?".":"\\{",right:e.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:r3,htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){rQ.has(e.envName)&&rJ(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:r0(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return r1(e.parser,t,"display")},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:r3,htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){rJ(e);var t={autoTag:r0(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return r1(e.parser,t,"display")},htmlBuilder:r5,mathmlBuilder:r7}),rW({type:"array",names:["CD"],props:{numArgs:0},handler:e=>(rJ(e),function(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var r=e.fetch().text;if("&"===r||"\\\\"===r)e.consume();else if("\\end"===r){0===t[t.length-1].length&&t.pop();break}else throw new a("Expected \\\\ or \\cr or \\end",e.nextToken)}for(var n=[],i=[n],s=0;s<t.length;s++){for(var o=t[s],l=rs(),h=0;h<o.length;h++)if(ro(o[h])){n.push(l);var m=t7(o[h+=1]).text,c=[,,];if(c[0]={type:"ordgroup",mode:"math",body:[]},c[1]={type:"ordgroup",mode:"math",body:[]},"=|.".includes(m));else if("<>AV".includes(m))for(var u=0;u<2;u++){for(var p=!0,d=h+1;d<o.length;d++){if(rl(o[d],m)){p=!1,h=d;break}if(ro(o[d]))throw new a("Missing a "+m+" character to complete a CD arrow.",o[d]);c[u].body.push(o[d])}if(p)throw new a("Missing a "+m+" character to complete a CD arrow.",o[h])}else throw new a('Expected one of "<>AV=|." after @',o[h]);var g={type:"styling",body:[function(e,t,r){var a=ri[e];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(a,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var n=r.callFunction("\\\\cdleft",[t[0]],[]),i=r.callFunction("\\Big",[{type:"atom",text:a,mode:"math",family:"rel"}],[]),s=r.callFunction("\\\\cdright",[t[1]],[]);return r.callFunction("\\\\cdparent",[{type:"ordgroup",mode:"math",body:[n,i,s]}],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}(m,c,e)],mode:"math",style:"display",resetFont:!0};n.push(g),l=rs()}else l.body.push(o[h]);s%2==0?n.push(l):n.shift(),n=[],i.push(n)}e.gullet.endGroup(),e.gullet.endGroup();var f=Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:f,colSeparationType:"CD",hLinesBeforeRow:Array(i.length+1).fill([])}}(e.parser)),htmlBuilder:r5,mathmlBuilder:r7}),r_["\\nonumber"]="\\gdef\\@eqnsw{0}",r_["\\notag"]="\\nonumber",tu({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(e,t){throw new a(e.funcName+" valid only within array environment")}}),tu({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(e,t){var{parser:r,funcName:n}=e,i=t[0];if("ordgroup"!==i.type)throw new a("Invalid environment name",i);for(var s="",o=0;o<i.body.length;++o)s+=t6(i.body[o],"textord").text;if("\\begin"===n){if(!rj.hasOwnProperty(s))throw new a("No such environment: "+s,i);var l=rj[s],{args:h,optArgs:m}=r.parseArguments("\\begin{"+s+"}",l),c={mode:r.mode,envName:s,parser:r},u=l.handler(c,h,m);r.expect("\\end",!1);var p=r.nextToken,d=t6(r.parseFunction(),"environment");if(d.name!==s)throw new a("Mismatch: \\begin{"+s+"} matched by \\end{"+d.name+"}",p);return u}return{type:"environment",mode:r.mode,name:s,nameGroup:i}}});var r8=(e,t)=>{var r=e.font,a=t.withFont(r);return tA(e.body,a)},r2=(e,t)=>{var r=e.font,a=t.withFont(r);return tV(e.body,a)},r9={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};tu({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=td(t[0]),i=a;return i in r9&&(i=r9[i]),{type:"font",mode:r.mode,font:i.slice(1),body:n}},htmlBuilder:r8,mathmlBuilder:r2}),tu({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"mclass",mode:r.mode,mclass:rn(a),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:a}],isCharacterBox:d(a)}}}),tu({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{parser:r,funcName:a,breakOnTokenText:n}=e,{mode:i}=r,s=r.parseExpression(!0,n);return{type:"font",mode:i,font:"math"+a.slice(1),body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:r8,mathmlBuilder:r2});var ae=(e,t)=>t?{type:"styling",mode:e.mode,style:t,body:[e]}:e;tu({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{var r,{parser:a,funcName:n}=e,i=t[0],s=t[1],o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":r=!0;break;case"\\\\atopfrac":r=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":r=!1,o="(",l=")";break;case"\\\\bracefrac":r=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":r=!1,o="[",l="]";break;default:throw Error("Unrecognized genfrac command")}var h="\\cfrac"===n,m=null;return h||n.startsWith("\\d")?m="display":n.startsWith("\\t")&&(m="text"),ae({type:"genfrac",mode:a.mode,numer:i,denom:s,continued:h,hasBarLine:r,leftDelim:o,rightDelim:l,barSize:null},m)},htmlBuilder:(e,t)=>{var r,a,n,i,s,o,l,h,m,c,u,p=t.style,d=p.fracNum(),g=p.fracDen();r=t.havingStyle(d);var f=tA(e.numer,r,t);if(e.continued){var v=8.5/t.fontMetrics().ptPerEm,b=3.5/t.fontMetrics().ptPerEm;f.height=f.height<v?v:f.height,f.depth=f.depth<b?b:f.depth}r=t.havingStyle(g);var y=tA(e.denom,r,t);if(e.hasBarLine?(e.barSize?(n=N(e.barSize,t),a=e5("frac-line",t,n)):a=e5("frac-line",t),n=a.height,i=a.height):(a=null,n=0,i=t.fontMetrics().defaultRuleThickness),p.size===M.DISPLAY.size?(s=t.fontMetrics().num1,o=n>0?3*i:7*i,l=t.fontMetrics().denom1):(n>0?(s=t.fontMetrics().num2,o=i):(s=t.fontMetrics().num3,o=3*i),l=t.fontMetrics().denom2),a){var x=t.fontMetrics().axisHeight;s-f.depth-(x+.5*n)<o&&(s+=o-(s-f.depth-(x+.5*n))),x-.5*n-(y.height-l)<o&&(l+=o-(x-.5*n-(y.height-l))),h=e2({positionType:"individualShift",children:[{type:"elem",elem:y,shift:l},{type:"elem",elem:a,shift:-(x-.5*n)},{type:"elem",elem:f,shift:-s}]})}else{var w=s-f.depth-(y.height-l);w<o&&(s+=.5*(o-w),l+=.5*(o-w)),h=e2({positionType:"individualShift",children:[{type:"elem",elem:y,shift:l},{type:"elem",elem:f,shift:-s}]})}return r=t.havingStyle(p),h.height*=r.sizeMultiplier/t.sizeMultiplier,h.depth*=r.sizeMultiplier/t.sizeMultiplier,m=p.size===M.DISPLAY.size?t.fontMetrics().delim1:p.size===M.SCRIPTSCRIPT.size?t.havingStyle(M.SCRIPT).fontMetrics().delim2:t.fontMetrics().delim2,c=null==e.leftDelim?tM(t,["mopen"]):rN(e.leftDelim,m,!0,t.havingStyle(p),e.mode,["mopen"]),u=e.continued?e1([]):null==e.rightDelim?tM(t,["mclose"]):rN(e.rightDelim,m,!0,t.havingStyle(p),e.mode,["mclose"]),e1(["mord"].concat(r.sizingClasses(t)),[c,e1(["mfrac"],[h]),u],t)},mathmlBuilder:(e,t)=>{var r=new tB("mfrac",[tV(e.numer,t),tV(e.denom,t)]);if(e.hasBarLine){if(e.barSize){var a=N(e.barSize,t);r.setAttribute("linethickness",L(a))}}else r.setAttribute("linethickness","0px");if(null!=e.leftDelim||null!=e.rightDelim){var n=[];if(null!=e.leftDelim){var i=new tB("mo",[new tq(e.leftDelim.replace("\\",""))]);i.setAttribute("fence","true"),n.push(i)}if(n.push(r),null!=e.rightDelim){var s=new tB("mo",[new tq(e.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),n.push(s)}return tO(n)}return r}}),tu({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){var t,{parser:r,funcName:a,token:n}=e;switch(a){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:n}}});var at=["display","text","script","scriptscript"],ar=function(e){var t=null;return e.length>0&&(t="."===(t=e)?null:t),t};tu({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){var r,{parser:a}=e,n=t[4],i=t[5],s=td(t[0]),o="atom"===s.type&&"open"===s.family?ar(s.text):null,l=td(t[1]),h="atom"===l.type&&"close"===l.family?ar(l.text):null,m=t6(t[2],"size"),c=null;r=!!m.isBlank||(c=m.value).number>0;var u=null,p=t[3];return"ordgroup"===p.type?p.body.length>0&&(u=at[Number(t6(p.body[0],"textord").text)]):u=at[Number((p=t6(p,"textord")).text)],ae({type:"genfrac",mode:a.mode,numer:n,denom:i,continued:!1,hasBarLine:r,barSize:c,leftDelim:o,rightDelim:h},u)}}),tu({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){var{parser:r,funcName:a,token:n}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:t6(t[0],"size").value,token:n}}}),tu({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0],i=t6(t[1],"infix").size;if(!i)throw Error("\\\\abovefrac expected size, but got "+String(i));var s=t[2],o=i.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:s,continued:!1,hasBarLine:o,barSize:i,leftDelim:null,rightDelim:null}}});var aa=(e,t)=>{var r,a,n,i=t.style;"supsub"===e.type?(r=e.sup?tA(e.sup,t.havingStyle(i.sup()),t):tA(e.sub,t.havingStyle(i.sub()),t),a=t6(e.base,"horizBrace")):a=t6(e,"horizBrace");var s=tA(a.base,t.havingBaseStyle(M.DISPLAY)),o=t0(a,t);if(n=a.isOver?e2({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o,wrapperClasses:["svg-align"]}]}):e2({positionType:"bottom",positionData:s.depth+.1+o.height,children:[{type:"elem",elem:o,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:s}]}),r){var l=e1(["minner",a.isOver?"mover":"munder"],[n],t);n=a.isOver?e2({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]}):e2({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]})}return e1(["minner",a.isOver?"mover":"munder"],[n],t)};tu({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(e,t){var{parser:r,funcName:a}=e;return{type:"horizBrace",mode:r.mode,label:a,isOver:a.includes("\\over"),base:t[0]}},htmlBuilder:aa,mathmlBuilder:(e,t)=>{var r=tK(e.label);return new tB(e.isOver?"mover":"munder",[tV(e.base,t),r])}}),tu({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[1],n=t6(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:r.mode,href:n,body:tg(a)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{var r=tx(e.body,t,!1);return e6(e.href,[],r,t)},mathmlBuilder:(e,t)=>{var r=tP(e.body,t);return r instanceof tB||(r=new tB("mrow",[r])),r.setAttribute("href",e.href),r}}),tu({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t6(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:a}))return r.formatUnsupportedCmd("\\url");for(var n=[],i=0;i<a.length;i++){var s=a[i];"~"===s&&(s="\\textasciitilde"),n.push({type:"textord",mode:"text",text:s})}var o={type:"text",mode:r.mode,font:"\\texttt",body:n};return{type:"href",mode:r.mode,href:a,body:tg(o)}}}),tu({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(e,t){var{parser:r}=e;return{type:"hbox",mode:r.mode,body:tg(t[0])}},htmlBuilder:(e,t)=>e7(tx(e.body,t.withFont(""),!1)),mathmlBuilder:(e,t)=>new tB("mrow",tF(e.body,t.withFont("")))}),tu({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(e,t)=>{var r,{parser:n,funcName:i,token:s}=e,o=t6(t[0],"raw").string,l=t[1];n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var h={};switch(i){case"\\htmlClass":h.class=o,r={command:"\\htmlClass",class:o};break;case"\\htmlId":h.id=o,r={command:"\\htmlId",id:o};break;case"\\htmlStyle":h.style=o,r={command:"\\htmlStyle",style:o};break;case"\\htmlData":for(var m=o.split(","),c=0;c<m.length;c++){var u=m[c],p=u.indexOf("=");if(p<0)throw new a("\\htmlData key/value '"+u+"' missing equals sign");var d=u.slice(0,p),g=u.slice(p+1);h["data-"+d.trim()]=g}r={command:"\\htmlData",attributes:h};break;default:throw Error("Unrecognized html command")}return n.settings.isTrusted(r)?{type:"html",mode:n.mode,attributes:h,body:tg(l)}:n.formatUnsupportedCmd(i)},htmlBuilder:(e,t)=>{var r=tx(e.body,t,!1),a=["enclosing"];e.attributes.class&&a.push(...e.attributes.class.trim().split(/\s+/));var n=e1(a,r,t);for(var i in e.attributes)"class"!==i&&e.attributes.hasOwnProperty(i)&&n.setAttribute(i,e.attributes[i]);return n},mathmlBuilder:(e,t)=>tP(e.body,t)}),tu({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:tg(t[0]),mathml:tg(t[1])}},htmlBuilder:(e,t)=>e7(tx(e.html,t,!1)),mathmlBuilder:(e,t)=>tP(e.mathml,t)});var an=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new a("Invalid size: '"+e+"' in \\includegraphics");var r={number:+(t[1]+t[2]),unit:t[3]};if(!D(r))throw new a("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r};tu({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{var{parser:n}=e,i={number:0,unit:"em"},s={number:.9,unit:"em"},o={number:0,unit:"em"},l="";if(r[0])for(var h=t6(r[0],"raw").string.split(","),m=0;m<h.length;m++){var c=h[m].split("=");if(2===c.length){var u=c[1].trim();switch(c[0].trim()){case"alt":l=u;break;case"width":i=an(u);break;case"height":s=an(u);break;case"totalheight":o=an(u);break;default:throw new a("Invalid key: '"+c[0]+"' in \\includegraphics.")}}}var p=t6(t[0],"url").url;return(""===l&&(l=(l=(l=p).replace(/^.*[\\/]/,"")).substring(0,l.lastIndexOf("."))),n.settings.isTrusted({command:"\\includegraphics",url:p}))?{type:"includegraphics",mode:n.mode,alt:l,width:i,height:s,totalheight:o,src:p}:n.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(e,t)=>{var r=N(e.height,t),a=0;e.totalheight.number>0&&(a=N(e.totalheight,t)-r);var n=0;e.width.number>0&&(n=N(e.width,t));var i={height:L(r+a)};n>0&&(i.width=L(n)),a>0&&(i.verticalAlign=L(-a));var s=new W(e.src,e.alt,i);return s.height=r,s.depth=a,s},mathmlBuilder:(e,t)=>{var r=new tB("mglyph",[]);r.setAttribute("alt",e.alt);var a=N(e.height,t),n=0;if(e.totalheight.number>0&&(n=N(e.totalheight,t)-a,r.setAttribute("valign",L(-n))),r.setAttribute("height",L(a+n)),e.width.number>0){var i=N(e.width,t);r.setAttribute("width",L(i))}return r.setAttribute("src",e.src),r}}),tu({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t6(t[0],"size");if(r.settings.strict){var i="m"===a[1],s="mu"===n.value.unit;i?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, not "+n.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:n.value}},htmlBuilder:(e,t)=>e9(e.dimension,t),mathmlBuilder:(e,t)=>new tI(N(e.dimension,t))}),tu({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"lap",mode:r.mode,alignment:a.slice(5),body:n}},htmlBuilder:(e,t)=>{"clap"===e.alignment?(r=e1([],[tA(e.body,t)]),r=e1(["inner"],[r],t)):r=e1(["inner"],[tA(e.body,t)]);var r,a=e1(["fix"],[]),n=e1([e.alignment],[r,a],t),i=e1(["strut"]);return i.style.height=L(n.height+n.depth),n.depth&&(i.style.verticalAlign=L(-n.depth)),n.children.unshift(i),n=e1(["thinbox"],[n],t),e1(["mord","vbox"],[n],t)},mathmlBuilder:(e,t)=>{var r=new tB("mpadded",[tV(e.body,t)]);if("rlap"!==e.alignment){var a="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",a+"width")}return r.setAttribute("width","0px"),r}}),tu({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){var{funcName:r,parser:a}=e,n=a.mode;a.switchMode("math");var i="\\("===r?"\\)":"$",s=a.parseExpression(!1,i);return a.expect(i),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",resetFont:!0,body:s}}}),tu({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new a("Mismatched "+e.funcName)}});var ai=(e,t)=>{switch(t.style.size){case M.DISPLAY.size:return e.display;case M.TEXT.size:return e.text;case M.SCRIPT.size:return e.script;case M.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};tu({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{var{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:tg(t[0]),text:tg(t[1]),script:tg(t[2]),scriptscript:tg(t[3])}},htmlBuilder:(e,t)=>e7(tx(ai(e,t),t,!1)),mathmlBuilder:(e,t)=>tP(ai(e,t),t)});var as=(e,t,r,a,n,i,s)=>{e=e1([],[e]);var o,l,h,m=r&&d(r);if(t){var c=tA(t,a.havingStyle(n.sup()),a);l={elem:c,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-c.depth)}}if(r){var u=tA(r,a.havingStyle(n.sub()),a);o={elem:u,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-u.height)}}if(l&&o)h=e2({positionType:"bottom",positionData:a.fontMetrics().bigOpSpacing5+o.elem.height+o.elem.depth+o.kern+e.depth+s,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:L(-i)},{type:"kern",size:o.kern},{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:L(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]});else if(o)h=e2({positionType:"top",positionData:e.height-s,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:o.elem,marginLeft:L(-i)},{type:"kern",size:o.kern},{type:"elem",elem:e}]});else{if(!l)return e;h=e2({positionType:"bottom",positionData:e.depth+s,children:[{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:L(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}var p=[h];if(o&&0!==i&&!m){var g=e1(["mspace"],[],a);g.style.marginRight=L(i),p.unshift(g)}return e1(["mop","op-limits"],p,a)},ao=new Set(["\\smallint"]),al=(e,t)=>{var r,a,n,i,s,o,l=!1;"supsub"===e.type?(r=e.sup,a=e.sub,n=t6(e.base,"op"),l=!0):n=t6(e,"op");var h=t.style,m=!1;if(h.size===M.DISPLAY.size&&n.symbol&&!ao.has(n.name)&&(m=!0),n.symbol){var c=m?"Size2-Regular":"Size1-Regular",u="";("\\oiint"===n.name||"\\oiiint"===n.name)&&(u=n.name.slice(1),n.name="oiint"===u?"\\iint":"\\iiint"),s=(i=e$(n.name,c,"math",t,["mop","op-symbol",m?"large-op":"small-op"])).italic,u.length>0&&(i=e2({positionType:"individualShift",children:[{type:"elem",elem:i,shift:0},{type:"elem",elem:ta(u+"Size"+(m?"2":"1"),t),shift:.08*!!m}]}),n.name="\\"+u,i.classes.unshift("mop"),i.italic=s)}else if(n.body){var p=tx(n.body,t,!0);1===p.length&&p[0]instanceof $?(i=p[0]).classes[0]="mop":i=e1(["mop"],p,t)}else{for(var d=[],g=1;g<n.name.length;g++)d.push(eZ(n.name[g],n.mode,t));i=e1(["mop"],d,t)}var f=0,v=0;return((i instanceof $||"\\oiint"===n.name||"\\oiiint"===n.name)&&!n.suppressBaseShift&&(f=(i.height-i.depth)/2-t.fontMetrics().axisHeight,v=null!=(o=i.italic)?o:0),l)?as(i,r,a,t,h,v,f):(f&&(i.style.position="relative",i.style.top=L(f)),i)},ah=(e,t)=>{var r;if(e.symbol)r=new tB("mo",[tE(e.name,e.mode)]),ao.has(e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new tB("mo",tF(e.body,t));else{r=new tB("mi",[new tq(e.name.slice(1))]);var a=new tB("mo",[tE("\u2061","text")]);r=e.parentIsSupSub?new tB("mrow",[r,a]):new R([r,a])}return r},am={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};tu({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=a;return 1===n.length&&(n=am[n]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:al,mathmlBuilder:ah}),tu({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:tg(a)}},htmlBuilder:al,mathmlBuilder:ah});var ac={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};tu({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(e){var{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:al,mathmlBuilder:ah}),tu({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){var{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:al,mathmlBuilder:ah}),tu({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0,allowedInArgument:!0},handler(e){var{parser:t,funcName:r}=e,a=r;return 1===a.length&&(a=ac[a]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:al,mathmlBuilder:ah});var au=(e,t)=>{var r,a,n,i,s=!1;if("supsub"===e.type?(r=e.sup,a=e.sub,n=t6(e.base,"operatorname"),s=!0):n=t6(e,"operatorname"),n.body.length>0){for(var o=tx(n.body.map(e=>{var t="text"in e?e.text:void 0;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e}),t.withFont("mathrm"),!0),l=0;l<o.length;l++){var h=o[l];h instanceof $&&(h.text=h.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}i=e1(["mop"],o,t)}else i=e1(["mop"],[],t);return s?as(i,r,a,t,t.style,0,0):i};function ap(e,t,r){for(var a=tx(e,t,!1),n=t.sizeMultiplier/r.sizeMultiplier,i=0;i<a.length;i++){var s=a[i].classes.indexOf("sizing");s<0?Array.prototype.push.apply(a[i].classes,t.sizingClasses(r)):a[i].classes[s+1]==="reset-size"+t.size&&(a[i].classes[s+1]="reset-size"+r.size),a[i].height*=n,a[i].depth*=n}return e7(a)}tu({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(e,t)=>{var{parser:r,funcName:a}=e,n=t[0];return{type:"operatorname",mode:r.mode,body:tg(n),alwaysHandleSupSub:"\\operatornamewithlimits"===a,limits:!1,parentIsSupSub:!1}},htmlBuilder:au,mathmlBuilder:(e,t)=>{for(var r=tF(e.body,t.withFont("mathrm")),a=!0,n=0;n<r.length;n++){var i=r[n];if(i instanceof tI);else if(i instanceof tB)switch(i.type){case"mi":case"mn":case"mspace":case"mtext":break;case"mo":var s=i.children[0];1===i.children.length&&s instanceof tq?s.text=s.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):a=!1;break;default:a=!1}else a=!1}a&&(r=[new tq(r.map(e=>e.toText()).join(""))]);var o=new tB("mi",r);o.setAttribute("mathvariant","normal");var l=new tB("mo",[tE("\u2061","text")]);return e.parentIsSupSub?new tB("mrow",[o,l]):new R([o,l])}}),r_["\\operatorname"]="\\@ifstar\\operatornamewithlimits\\operatorname@",tp({type:"ordgroup",htmlBuilder:(e,t)=>e.semisimple?e7(tx(e.body,t,!1)):e1(["mord"],tx(e.body,t,!0),t),mathmlBuilder:(e,t)=>tP(e.body,t,!0)}),tu({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){var{parser:r}=e,a=t[0];return{type:"overline",mode:r.mode,body:a}},htmlBuilder(e,t){var r=tA(e.body,t.havingCrampedStyle()),a=e5("overline-line",t),n=t.fontMetrics().defaultRuleThickness;return e1(["mord","overline"],[e2({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*n},{type:"elem",elem:a},{type:"kern",size:n}]})],t)},mathmlBuilder(e,t){var r=new tB("mo",[new tq("\u203E")]);r.setAttribute("stretchy","true");var a=new tB("mover",[tV(e.body,t),r]);return a.setAttribute("accent","true"),a}}),tu({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"phantom",mode:r.mode,body:tg(a)}},htmlBuilder:(e,t)=>e7(tx(e.body,t.withPhantom(),!1)),mathmlBuilder:(e,t)=>new tB("mphantom",tF(e.body,t))}),r_["\\hphantom"]="\\smash{\\phantom{#1}}",tu({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{var{parser:r}=e,a=t[0];return{type:"vphantom",mode:r.mode,body:a}},htmlBuilder:(e,t)=>{var r=e1(["inner"],[tA(e.body,t.withPhantom())]),a=e1(["fix"],[]);return e1(["mord","rlap"],[r,a],t)},mathmlBuilder:(e,t)=>{var r=new tB("mphantom",tF(tg(e.body),t)),a=new tB("mpadded",[r]);return a.setAttribute("width","0px"),a}}),tu({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){var{parser:r}=e,a=t6(t[0],"size").value,n=t[1];return{type:"raisebox",mode:r.mode,dy:a,body:n}},htmlBuilder(e,t){var r=tA(e.body,t);return e2({positionType:"shift",positionData:-N(e.dy,t),children:[{type:"elem",elem:r}]})},mathmlBuilder(e,t){var r=new tB("mpadded",[tV(e.body,t)]),a=e.dy.number+e.dy.unit;return r.setAttribute("voffset",a),r}}),tu({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(e){var{parser:t}=e;return{type:"internal",mode:t.mode}}}),tu({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(e,t,r){var{parser:a}=e,n=r[0],i=t6(t[0],"size"),s=t6(t[1],"size");return{type:"rule",mode:a.mode,shift:n&&t6(n,"size").value,width:i.value,height:s.value}},htmlBuilder(e,t){var r=e1(["mord","rule"],[],t),a=N(e.width,t),n=N(e.height,t),i=e.shift?N(e.shift,t):0;return r.style.borderRightWidth=L(a),r.style.borderTopWidth=L(n),r.style.bottom=L(i),r.width=a,r.height=n+i,r.depth=-i,r.maxFontSize=1.125*n*t.sizeMultiplier,r},mathmlBuilder(e,t){var r=N(e.width,t),a=N(e.height,t),n=e.shift?N(e.shift,t):0,i=t.color&&t.getColor()||"black",s=new tB("mspace");s.setAttribute("mathbackground",i),s.setAttribute("width",L(r)),s.setAttribute("height",L(a));var o=new tB("mpadded",[s]);return n>=0?o.setAttribute("height",L(n)):(o.setAttribute("height",L(n)),o.setAttribute("depth",L(-n))),o.setAttribute("voffset",L(n)),o}});var ad=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];tu({type:"sizing",names:ad,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{var{breakOnTokenText:r,funcName:a,parser:n}=e,i=n.parseExpression(!1,r);return{type:"sizing",mode:n.mode,size:ad.indexOf(a)+1,body:i}},htmlBuilder:(e,t)=>{var r=t.havingSize(e.size);return ap(e.body,r,t)},mathmlBuilder:(e,t)=>{var r=t.havingSize(e.size),a=new tB("mstyle",tF(e.body,r));return a.setAttribute("mathsize",L(r.sizeMultiplier)),a}}),tu({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{var a,{parser:n}=e,i=!1,s=!1,o=r[0]&&t6(r[0],"ordgroup");if(o)for(var l=0;l<o.body.length;++l)if("t"===(a=t7(o.body[l]).text))i=!0;else if("b"===a)s=!0;else{i=!1,s=!1;break}else i=!0,s=!0;var h=t[0];return{type:"smash",mode:n.mode,body:h,smashHeight:i,smashDepth:s}},htmlBuilder:(e,t)=>{var r=e1([],[tA(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0),e.smashDepth&&(r.depth=0),e.smashHeight&&e.smashDepth)return e1(["mord","smash"],[r],t);if(r.children)for(var a=0;a<r.children.length;a++)e.smashHeight&&(r.children[a].height=0),e.smashDepth&&(r.children[a].depth=0);return e1(["mord"],[e2({positionType:"firstBaseline",children:[{type:"elem",elem:r}]})],t)},mathmlBuilder:(e,t)=>{var r=new tB("mpadded",[tV(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),tu({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){var{parser:a}=e,n=r[0],i=t[0];return{type:"sqrt",mode:a.mode,body:i,index:n}},htmlBuilder(e,t){var r=tA(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=e3(r,t);var a=t.fontMetrics().defaultRuleThickness,n=a;t.style.id<M.TEXT.id&&(n=t.fontMetrics().xHeight);var i=a+n/4,{span:s,ruleWidth:o,advanceWidth:l}=rA(r.height+r.depth+i+a,t),h=s.height-o;h>r.height+r.depth+i&&(i=(i+h-r.height-r.depth)/2);var m=s.height-r.height-i-o;r.style.paddingLeft=L(l);var c=e2({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+m)},{type:"elem",elem:s},{type:"kern",size:o}]});if(!e.index)return e1(["mord","sqrt"],[c],t);var u=t.havingStyle(M.SCRIPTSCRIPT),p=tA(e.index,u,t),d=e1(["root"],[e2({positionType:"shift",positionData:-(.6*(c.height-c.depth)),children:[{type:"elem",elem:p}]})]);return e1(["mord","sqrt"],[d,c],t)},mathmlBuilder(e,t){var{body:r,index:a}=e;return a?new tB("mroot",[tV(r,t),tV(a,t)]):new tB("msqrt",[tV(r,t)])}});var ag={display:M.DISPLAY,text:M.TEXT,script:M.SCRIPT,scriptscript:M.SCRIPTSCRIPT};tu({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){var{breakOnTokenText:r,funcName:a,parser:n}=e,i=n.parseExpression(!0,r),s=a.slice(1,a.length-5);if(!(s in ag))throw Error("Unknown style: "+s);return{type:"styling",mode:n.mode,style:s,body:i}},htmlBuilder(e,t){var r=ag[e.style],a=t.havingStyle(r);return e.resetFont&&(a=a.withFont("")),ap(e.body,a,t)},mathmlBuilder(e,t){var r=ag[e.style],a=t.havingStyle(r);e.resetFont&&(a=a.withFont(""));var n=new tB("mstyle",tF(e.body,a)),i={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return n.setAttribute("scriptlevel",i[0]),n.setAttribute("displaystyle",i[1]),n}});var af=function(e,t){var r=e.base;if(!r)return null;if("op"===r.type)return r.limits&&(t.style.size===M.DISPLAY.size||r.alwaysHandleSupSub)?al:null;if("operatorname"===r.type)return r.alwaysHandleSupSub&&(t.style.size===M.DISPLAY.size||r.limits)?au:null;if("accent"===r.type)return d(r.base)?t2:null;if("horizBrace"===r.type)return!e.sub===r.isOver?aa:null;else return null};tp({type:"supsub",htmlBuilder(e,t){var r,a=af(e,t);if(a)return a(e,t);var{base:n,sup:i,sub:s}=e,o=tA(n,t),l=t.fontMetrics(),h=0,m=0,c=n&&d(n);if(i){var u=t.havingStyle(t.style.sup());b=tA(i,u,t),c||(h=o.height-u.fontMetrics().supDrop*u.sizeMultiplier/t.sizeMultiplier)}if(s){var p=t.havingStyle(t.style.sub());y=tA(s,p,t),c||(m=o.depth+p.fontMetrics().subDrop*p.sizeMultiplier/t.sizeMultiplier)}x=t.style===M.DISPLAY?l.sup1:t.style.cramped?l.sup3:l.sup2;var g=t.sizeMultiplier,f=L(.5/l.ptPerEm/g),v=null;if(y){var b,y,x,w,k=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(o instanceof $||k)&&(v=L(-(null!=(w=o.italic)?w:0)))}if(b&&y){h=Math.max(h,x,b.depth+.25*l.xHeight),m=Math.max(m,l.sub2);var z=4*l.defaultRuleThickness;if(h-b.depth-(y.height-m)<z){m=z-(h-b.depth)+y.height;var S=.8*l.xHeight-(h-b.depth);S>0&&(h+=S,m-=S)}r=e2({positionType:"individualShift",children:[{type:"elem",elem:y,shift:m,marginRight:f,marginLeft:v},{type:"elem",elem:b,shift:-h,marginRight:f}]})}else if(y)r=e2({positionType:"shift",positionData:m=Math.max(m,l.sub1,y.height-.8*l.xHeight),children:[{type:"elem",elem:y,marginLeft:v,marginRight:f}]});else if(b)r=e2({positionType:"shift",positionData:-(h=Math.max(h,x,b.depth+.25*l.xHeight)),children:[{type:"elem",elem:b,marginRight:f}]});else throw Error("supsub must have either sup or sub.");return e1([tS(o,"right")||"mord"],[o,e1(["msupsub"],[r])],t)},mathmlBuilder(e,t){var r,a,n=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(n=!0,r=e.base.isOver),e.base&&("op"===e.base.type||"operatorname"===e.base.type)&&(e.base.parentIsSupSub=!0);var i=[tV(e.base,t)];if(e.sub&&i.push(tV(e.sub,t)),e.sup&&i.push(tV(e.sup,t)),n)a=r?"mover":"munder";else if(e.sub)if(e.sup){var s=e.base;a=s&&"op"===s.type&&s.limits&&t.style===M.DISPLAY||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(t.style===M.DISPLAY||s.limits)?"munderover":"msubsup"}else{var o=e.base;a=o&&"op"===o.type&&o.limits&&(t.style===M.DISPLAY||o.alwaysHandleSupSub)||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(o.limits||t.style===M.DISPLAY)?"munder":"msub"}else{var l=e.base;a=l&&"op"===l.type&&l.limits&&(t.style===M.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===M.DISPLAY)?"mover":"msup"}return new tB(a,i)}}),tp({type:"atom",htmlBuilder:(e,t)=>eZ(e.text,e.mode,t,["m"+e.family]),mathmlBuilder(e,t){var r=new tB("mo",[tE(e.text,e.mode)]);if("bin"===e.family){var a=tN(e,t);"bold-italic"===a&&r.setAttribute("mathvariant",a)}else"punct"===e.family?r.setAttribute("separator","true"):("open"===e.family||"close"===e.family)&&r.setAttribute("stretchy","false");return r}});var av={mi:"italic",mn:"normal",mtext:"normal"};tp({type:"mathord",htmlBuilder:(e,t)=>eK(e,t,"mathord"),mathmlBuilder(e,t){var r=new tB("mi",[tE(e.text,e.mode,t)]),a=tN(e,t)||"italic";return a!==av[r.type]&&r.setAttribute("mathvariant",a),r}}),tp({type:"textord",htmlBuilder:(e,t)=>eK(e,t,"textord"),mathmlBuilder(e,t){var r,a=tE(e.text,e.mode,t),n=tN(e,t)||"normal";return n!==av[(r="text"===e.mode?new tB("mtext",[a]):/[0-9]/.test(e.text)?new tB("mn",[a]):"\\prime"===e.text?new tB("mo",[a]):new tB("mi",[a])).type]&&r.setAttribute("mathvariant",n),r}});var ab={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},ay={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};tp({type:"spacing",htmlBuilder(e,t){if(ay.hasOwnProperty(e.text)){var r=ay[e.text].className||"";if("text"!==e.mode)return e1(["mspace",r],[eZ(e.text,e.mode,t)],t);var n=eK(e,t,"textord");return n.classes.push(r),n}if(ab.hasOwnProperty(e.text))return e1(["mspace",ab[e.text]],[],t);throw new a('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){var r;if(ay.hasOwnProperty(e.text))r=new tB("mtext",[new tq("\xa0")]);else if(ab.hasOwnProperty(e.text))return new tB("mspace");else throw new a('Unknown type of space "'+e.text+'"');return r}});var ax=()=>{var e=new tB("mtd",[]);return e.setAttribute("width","50%"),e};tp({type:"tag",mathmlBuilder(e,t){var r=new tB("mtable",[new tB("mtr",[ax(),new tB("mtd",[tP(e.body,t)]),ax(),new tB("mtd",[tP(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var aw={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},ak={"\\textbf":"textbf","\\textmd":"textmd"},az={"\\textit":"textit","\\textup":"textup"},aS=(e,t)=>{var r=e.font;return r?aw[r]?t.withTextFontFamily(aw[r]):ak[r]?t.withTextFontWeight(ak[r]):"\\emph"===r?"textit"===t.fontShape?t.withTextFontShape("textup"):t.withTextFontShape("textit"):t.withTextFontShape(az[r]):t};tu({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){var{parser:r,funcName:a}=e,n=t[0];return{type:"text",mode:r.mode,body:tg(n),font:a}},htmlBuilder(e,t){var r=aS(e,t);return e1(["mord","text"],tx(e.body,r,!0),r)},mathmlBuilder(e,t){var r=aS(e,t);return tP(e.body,r)}}),tu({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){var{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){var r=tA(e.body,t),a=e5("underline-line",t),n=t.fontMetrics().defaultRuleThickness;return e1(["mord","underline"],[e2({positionType:"top",positionData:r.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:r}]})],t)},mathmlBuilder(e,t){var r=new tB("mo",[new tq("\u203E")]);r.setAttribute("stretchy","true");var a=new tB("munder",[tV(e.body,t),r]);return a.setAttribute("accentunder","true"),a}}),tu({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){var{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){var r=tA(e.body,t),a=t.fontMetrics().axisHeight;return e2({positionType:"shift",positionData:.5*(r.height-a-(r.depth+a)),children:[{type:"elem",elem:r}]})},mathmlBuilder(e,t){var r=new tB("mpadded",[tV(e.body,t)],["vcenter"]);return new tB("mrow",[r])}}),tu({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new a("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){for(var r=aM(e),a=[],n=t.havingStyle(t.style.text()),i=0;i<r.length;i++){var s=r[i];"~"===s&&(s="\\textasciitilde"),a.push(e$(s,"Typewriter-Regular",e.mode,n,["mord","texttt"]))}return e1(["mord","text"].concat(n.sizingClasses(t)),eQ(a),n)},mathmlBuilder(e,t){var r=new tB("mtext",[new tq(aM(e))]);return r.setAttribute("mathvariant","monospace"),r}});var aM=e=>e.body.replace(/ /g,e.star?"\u2423":"\xa0"),aA="[ \r\n ]",aT="[\u0300-\u036F]",aC=RegExp(aT+"+$"),aB="("+aA+"+)|\\\\(\n|[ \r ]+\n?)[ \r ]*|([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+aT+"*|[\uD800-\uDBFF][\uDC00-\uDFFF]"+aT+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|(\\\\[a-zA-Z@]+)"+aA+"*|\\\\[^\uD800-\uDFFF])";class aq{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=RegExp(aB,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new rZ("EOF",new r$(this,t,t));var r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new a("Unexpected character: '"+e[t]+"'",new rZ(e[t],new r$(this,t,t+1)));var n=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[n]){var i=e.indexOf("\n",this.tokenRegex.lastIndex);return -1===i?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=i+1,this.lex()}return new rZ(n,new r$(this,t,this.tokenRegex.lastIndex))}}class aI{constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new a("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(var a=0;a<this.undefStack.length;a++)delete this.undefStack[a][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(e)&&(n[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}r_["\\noexpand"]=function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}},r_["\\expandafter"]=function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}},r_["\\@firstoftwo"]=function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}},r_["\\@secondoftwo"]=function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}},r_["\\@ifnextchar"]=function(e){var t=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}},r_["\\@ifstar"]="\\@ifnextchar *{\\@firstoftwo{#1}}",r_["\\TextOrMath"]=function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}};var aH={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};r_["\\char"]=function(e){var t,r,n=e.popToken(),i=0;if("'"===n.text)t=8,n=e.popToken();else if('"'===n.text)t=16,n=e.popToken();else if("`"===n.text)if("\\"===(n=e.popToken()).text[0])i=n.text.charCodeAt(1);else if("EOF"===n.text)throw new a("\\char` missing argument");else i=n.text.charCodeAt(0);else t=10;if(t){if(null==(i=aH[n.text])||i>=t)throw new a("Invalid base-"+t+" digit "+n.text);for(;null!=(r=aH[e.future().text])&&r<t;)i*=t,i+=r,e.popToken()}return"\\@char{"+i+"}"};var aR=(e,t,r,n)=>{var i=e.consumeArg().tokens;if(1!==i.length)throw new a("\\newcommand's first argument must be a macro name");var s=i[0].text,o=e.isDefined(s);if(o&&!t)throw new a("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!o&&!r)throw new a("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var l=0;if(1===(i=e.consumeArg().tokens).length&&"["===i[0].text){for(var h="",m=e.expandNextToken();"]"!==m.text&&"EOF"!==m.text;)h+=m.text,m=e.expandNextToken();if(!h.match(/^\s*[0-9]+\s*$/))throw new a("Invalid number of arguments: "+h);l=parseInt(h),i=e.consumeArg().tokens}return o&&n||e.macros.set(s,{tokens:i,numArgs:l}),""};r_["\\newcommand"]=e=>aR(e,!1,!0,!1),r_["\\renewcommand"]=e=>aR(e,!0,!1,!1),r_["\\providecommand"]=e=>aR(e,!0,!0,!0),r_["\\message"]=e=>(console.log(e.consumeArgs(1)[0].reverse().map(e=>e.text).join("")),""),r_["\\errmessage"]=e=>(console.error(e.consumeArgs(1)[0].reverse().map(e=>e.text).join("")),""),r_["\\show"]=e=>{var t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),th[r],en.math[r],en.text[r]),""},r_["\\bgroup"]="{",r_["\\egroup"]="}",r_["~"]="\\nobreakspace",r_["\\lq"]="`",r_["\\rq"]="'",r_["\\aa"]="\\r a",r_["\\AA"]="\\r A",r_["\\textcopyright"]="\\html@mathml{\\textcircled{c}}{\\char`\xa9}",r_["\\copyright"]="\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}",r_["\\textregistered"]="\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}",r_["\u212C"]="\\mathscr{B}",r_["\u2130"]="\\mathscr{E}",r_["\u2131"]="\\mathscr{F}",r_["\u210B"]="\\mathscr{H}",r_["\u2110"]="\\mathscr{I}",r_["\u2112"]="\\mathscr{L}",r_["\u2133"]="\\mathscr{M}",r_["\u211B"]="\\mathscr{R}",r_["\u212D"]="\\mathfrak{C}",r_["\u210C"]="\\mathfrak{H}",r_["\u2128"]="\\mathfrak{Z}",r_["\\Bbbk"]="\\Bbb{k}",r_["\\llap"]="\\mathllap{\\textrm{#1}}",r_["\\rlap"]="\\mathrlap{\\textrm{#1}}",r_["\\clap"]="\\mathclap{\\textrm{#1}}",r_["\\mathstrut"]="\\vphantom{(}",r_["\\underbar"]="\\underline{\\text{#1}}",r_["\\not"]='\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}',r_["\\neq"]="\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}",r_["\\ne"]="\\neq",r_["\u2260"]="\\neq",r_["\\notin"]="\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}",r_["\u2209"]="\\notin",r_["\u2258"]="\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}",r_["\u2259"]="\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}",r_["\u225A"]="\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}",r_["\u225B"]="\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}",r_["\u225D"]="\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}",r_["\u225E"]="\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}",r_["\u225F"]="\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}",r_["\u27C2"]="\\perp",r_["\u203C"]="\\mathclose{!\\mkern-0.8mu!}",r_["\u220C"]="\\notni",r_["\u231C"]="\\ulcorner",r_["\u231D"]="\\urcorner",r_["\u231E"]="\\llcorner",r_["\u231F"]="\\lrcorner",r_["\xa9"]="\\copyright",r_["\xae"]="\\textregistered",r_["\\ulcorner"]='\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}',r_["\\urcorner"]='\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}',r_["\\llcorner"]='\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}',r_["\\lrcorner"]='\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}',r_["\\vdots"]="{\\varvdots\\rule{0pt}{15pt}}",r_["\u22EE"]="\\vdots",r_["\\varGamma"]="\\mathit{\\Gamma}",r_["\\varDelta"]="\\mathit{\\Delta}",r_["\\varTheta"]="\\mathit{\\Theta}",r_["\\varLambda"]="\\mathit{\\Lambda}",r_["\\varXi"]="\\mathit{\\Xi}",r_["\\varPi"]="\\mathit{\\Pi}",r_["\\varSigma"]="\\mathit{\\Sigma}",r_["\\varUpsilon"]="\\mathit{\\Upsilon}",r_["\\varPhi"]="\\mathit{\\Phi}",r_["\\varPsi"]="\\mathit{\\Psi}",r_["\\varOmega"]="\\mathit{\\Omega}",r_["\\substack"]="\\begin{subarray}{c}#1\\end{subarray}",r_["\\colon"]="\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax",r_["\\boxed"]="\\fbox{$\\displaystyle{#1}$}",r_["\\iff"]="\\DOTSB\\;\\Longleftrightarrow\\;",r_["\\implies"]="\\DOTSB\\;\\Longrightarrow\\;",r_["\\impliedby"]="\\DOTSB\\;\\Longleftarrow\\;",r_["\\dddot"]="{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}",r_["\\ddddot"]="{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}";var aE={",":"\\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"},aO=new Set(["bin","rel"]);r_["\\dots"]=function(e){var t="\\dotso",r=e.expandAfterFuture().text;return r in aE?t=aE[r]:"\\not"===r.slice(0,4)?t="\\dotsb":r in en.math&&aO.has(en.math[r].group)&&(t="\\dotsb"),t};var aD={")":!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};r_["\\dotso"]=function(e){return e.future().text in aD?"\\ldots\\,":"\\ldots"},r_["\\dotsc"]=function(e){var t=e.future().text;return t in aD&&","!==t?"\\ldots\\,":"\\ldots"},r_["\\cdots"]=function(e){return e.future().text in aD?"\\@cdots\\,":"\\@cdots"},r_["\\dotsb"]="\\cdots",r_["\\dotsm"]="\\cdots",r_["\\dotsi"]="\\!\\cdots",r_["\\dotsx"]="\\ldots\\,",r_["\\DOTSI"]="\\relax",r_["\\DOTSB"]="\\relax",r_["\\DOTSX"]="\\relax",r_["\\tmspace"]="\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax",r_["\\,"]="\\tmspace+{3mu}{.1667em}",r_["\\thinspace"]="\\,",r_["\\>"]="\\mskip{4mu}",r_["\\:"]="\\tmspace+{4mu}{.2222em}",r_["\\medspace"]="\\:",r_["\\;"]="\\tmspace+{5mu}{.2777em}",r_["\\thickspace"]="\\;",r_["\\!"]="\\tmspace-{3mu}{.1667em}",r_["\\negthinspace"]="\\!",r_["\\negmedspace"]="\\tmspace-{4mu}{.2222em}",r_["\\negthickspace"]="\\tmspace-{5mu}{.277em}",r_["\\enspace"]="\\kern.5em ",r_["\\enskip"]="\\hskip.5em\\relax",r_["\\quad"]="\\hskip1em\\relax",r_["\\qquad"]="\\hskip2em\\relax",r_["\\tag"]="\\@ifstar\\tag@literal\\tag@paren",r_["\\tag@paren"]="\\tag@literal{({#1})}",r_["\\tag@literal"]=e=>{if(e.macros.get("\\df@tag"))throw new a("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"},r_["\\bmod"]="\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}",r_["\\pod"]="\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)",r_["\\pmod"]="\\pod{{\\rm mod}\\mkern6mu#1}",r_["\\mod"]="\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1",r_["\\newline"]="\\\\\\relax",r_["\\TeX"]="\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}";var aN=L(Q["Main-Regular"][84][1]-.7*Q["Main-Regular"][65][1]);r_["\\LaTeX"]="\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+aN+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}",r_["\\KaTeX"]="\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+aN+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}",r_["\\hspace"]="\\@ifstar\\@hspacer\\@hspace",r_["\\@hspace"]="\\hskip #1\\relax",r_["\\@hspacer"]="\\rule{0pt}{0pt}\\hskip #1\\relax",r_["\\ordinarycolon"]=":",r_["\\vcentcolon"]="\\mathrel{\\mathop\\ordinarycolon}",r_["\\dblcolon"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}',r_["\\coloneqq"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}',r_["\\Coloneqq"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}',r_["\\coloneq"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}',r_["\\Coloneq"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}',r_["\\eqqcolon"]='\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}',r_["\\Eqqcolon"]='\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}',r_["\\eqcolon"]='\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}',r_["\\Eqcolon"]='\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}',r_["\\colonapprox"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}',r_["\\Colonapprox"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}',r_["\\colonsim"]='\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}',r_["\\Colonsim"]='\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}',r_["\u2237"]="\\dblcolon",r_["\u2239"]="\\eqcolon",r_["\u2254"]="\\coloneqq",r_["\u2255"]="\\eqqcolon",r_["\u2A74"]="\\Coloneqq",r_["\\ratio"]="\\vcentcolon",r_["\\coloncolon"]="\\dblcolon",r_["\\colonequals"]="\\coloneqq",r_["\\coloncolonequals"]="\\Coloneqq",r_["\\equalscolon"]="\\eqqcolon",r_["\\equalscoloncolon"]="\\Eqqcolon",r_["\\colonminus"]="\\coloneq",r_["\\coloncolonminus"]="\\Coloneq",r_["\\minuscolon"]="\\eqcolon",r_["\\minuscoloncolon"]="\\Eqcolon",r_["\\coloncolonapprox"]="\\Colonapprox",r_["\\coloncolonsim"]="\\Colonsim",r_["\\simcolon"]="\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}",r_["\\simcoloncolon"]="\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}",r_["\\approxcolon"]="\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}",r_["\\approxcoloncolon"]="\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}",r_["\\notni"]="\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}",r_["\\limsup"]="\\DOTSB\\operatorname*{lim\\,sup}",r_["\\liminf"]="\\DOTSB\\operatorname*{lim\\,inf}",r_["\\injlim"]="\\DOTSB\\operatorname*{inj\\,lim}",r_["\\projlim"]="\\DOTSB\\operatorname*{proj\\,lim}",r_["\\varlimsup"]="\\DOTSB\\operatorname*{\\overline{lim}}",r_["\\varliminf"]="\\DOTSB\\operatorname*{\\underline{lim}}",r_["\\varinjlim"]="\\DOTSB\\operatorname*{\\underrightarrow{lim}}",r_["\\varprojlim"]="\\DOTSB\\operatorname*{\\underleftarrow{lim}}",r_["\\gvertneqq"]="\\html@mathml{\\@gvertneqq}{\u2269}",r_["\\lvertneqq"]="\\html@mathml{\\@lvertneqq}{\u2268}",r_["\\ngeqq"]="\\html@mathml{\\@ngeqq}{\u2271}",r_["\\ngeqslant"]="\\html@mathml{\\@ngeqslant}{\u2271}",r_["\\nleqq"]="\\html@mathml{\\@nleqq}{\u2270}",r_["\\nleqslant"]="\\html@mathml{\\@nleqslant}{\u2270}",r_["\\nshortmid"]="\\html@mathml{\\@nshortmid}{\u2224}",r_["\\nshortparallel"]="\\html@mathml{\\@nshortparallel}{\u2226}",r_["\\nsubseteqq"]="\\html@mathml{\\@nsubseteqq}{\u2288}",r_["\\nsupseteqq"]="\\html@mathml{\\@nsupseteqq}{\u2289}",r_["\\varsubsetneq"]="\\html@mathml{\\@varsubsetneq}{\u228A}",r_["\\varsubsetneqq"]="\\html@mathml{\\@varsubsetneqq}{\u2ACB}",r_["\\varsupsetneq"]="\\html@mathml{\\@varsupsetneq}{\u228B}",r_["\\varsupsetneqq"]="\\html@mathml{\\@varsupsetneqq}{\u2ACC}",r_["\\imath"]="\\html@mathml{\\@imath}{\u0131}",r_["\\jmath"]="\\html@mathml{\\@jmath}{\u0237}",r_["\\llbracket"]="\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}",r_["\\rrbracket"]="\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}",r_["\u27E6"]="\\llbracket",r_["\u27E7"]="\\rrbracket",r_["\\lBrace"]="\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}",r_["\\rBrace"]="\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}",r_["\u2983"]="\\lBrace",r_["\u2984"]="\\rBrace",r_["\\minuso"]="\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}",r_["\u29B5"]="\\minuso",r_["\\darr"]="\\downarrow",r_["\\dArr"]="\\Downarrow",r_["\\Darr"]="\\Downarrow",r_["\\lang"]="\\langle",r_["\\rang"]="\\rangle",r_["\\uarr"]="\\uparrow",r_["\\uArr"]="\\Uparrow",r_["\\Uarr"]="\\Uparrow",r_["\\N"]="\\mathbb{N}",r_["\\R"]="\\mathbb{R}",r_["\\Z"]="\\mathbb{Z}",r_["\\alef"]="\\aleph",r_["\\alefsym"]="\\aleph",r_["\\Alpha"]="\\mathrm{A}",r_["\\Beta"]="\\mathrm{B}",r_["\\bull"]="\\bullet",r_["\\Chi"]="\\mathrm{X}",r_["\\clubs"]="\\clubsuit",r_["\\cnums"]="\\mathbb{C}",r_["\\Complex"]="\\mathbb{C}",r_["\\Dagger"]="\\ddagger",r_["\\diamonds"]="\\diamondsuit",r_["\\empty"]="\\emptyset",r_["\\Epsilon"]="\\mathrm{E}",r_["\\Eta"]="\\mathrm{H}",r_["\\exist"]="\\exists",r_["\\harr"]="\\leftrightarrow",r_["\\hArr"]="\\Leftrightarrow",r_["\\Harr"]="\\Leftrightarrow",r_["\\hearts"]="\\heartsuit",r_["\\image"]="\\Im",r_["\\infin"]="\\infty",r_["\\Iota"]="\\mathrm{I}",r_["\\isin"]="\\in",r_["\\Kappa"]="\\mathrm{K}",r_["\\larr"]="\\leftarrow",r_["\\lArr"]="\\Leftarrow",r_["\\Larr"]="\\Leftarrow",r_["\\lrarr"]="\\leftrightarrow",r_["\\lrArr"]="\\Leftrightarrow",r_["\\Lrarr"]="\\Leftrightarrow",r_["\\Mu"]="\\mathrm{M}",r_["\\natnums"]="\\mathbb{N}",r_["\\Nu"]="\\mathrm{N}",r_["\\Omicron"]="\\mathrm{O}",r_["\\plusmn"]="\\pm",r_["\\rarr"]="\\rightarrow",r_["\\rArr"]="\\Rightarrow",r_["\\Rarr"]="\\Rightarrow",r_["\\real"]="\\Re",r_["\\reals"]="\\mathbb{R}",r_["\\Reals"]="\\mathbb{R}",r_["\\Rho"]="\\mathrm{P}",r_["\\sdot"]="\\cdot",r_["\\sect"]="\\S",r_["\\spades"]="\\spadesuit",r_["\\sub"]="\\subset",r_["\\sube"]="\\subseteq",r_["\\supe"]="\\supseteq",r_["\\Tau"]="\\mathrm{T}",r_["\\thetasym"]="\\vartheta",r_["\\weierp"]="\\wp",r_["\\Zeta"]="\\mathrm{Z}",r_["\\argmin"]="\\DOTSB\\operatorname*{arg\\,min}",r_["\\argmax"]="\\DOTSB\\operatorname*{arg\\,max}",r_["\\plim"]="\\DOTSB\\mathop{\\operatorname{plim}}\\limits",r_["\\bra"]="\\mathinner{\\langle{#1}|}",r_["\\ket"]="\\mathinner{|{#1}\\rangle}",r_["\\braket"]="\\mathinner{\\langle{#1}\\rangle}",r_["\\Bra"]="\\left\\langle#1\\right|",r_["\\Ket"]="\\left|#1\\right\\rangle";var aL=e=>t=>{var r=t.consumeArg().tokens,a=t.consumeArg().tokens,n=t.consumeArg().tokens,i=t.consumeArg().tokens,s=t.macros.get("|"),o=t.macros.get("\\|");t.macros.beginGroup();var l=t=>r=>{e&&(r.macros.set("|",s),n.length&&r.macros.set("\\|",o));var i=t;return!t&&n.length&&"|"===r.future().text&&(r.popToken(),i=!0),{tokens:i?n:a,numArgs:0}};t.macros.set("|",l(!1)),n.length&&t.macros.set("\\|",l(!0));var h=t.consumeArg().tokens,m=t.expandTokens([...i,...h,...r]);return t.macros.endGroup(),{tokens:m.reverse(),numArgs:0}};n=aL(!1),r_["\\bra@ket"]=n,i=aL(!0),r_["\\bra@set"]=i,r_["\\Braket"]="\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}",r_["\\Set"]="\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}",r_["\\set"]="\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}",r_["\\angln"]="{\\angl n}",r_["\\blue"]="\\textcolor{##6495ed}{#1}",r_["\\orange"]="\\textcolor{##ffa500}{#1}",r_["\\pink"]="\\textcolor{##ff00af}{#1}",r_["\\red"]="\\textcolor{##df0030}{#1}",r_["\\green"]="\\textcolor{##28ae7b}{#1}",r_["\\gray"]="\\textcolor{gray}{#1}",r_["\\purple"]="\\textcolor{##9d38bd}{#1}",r_["\\blueA"]="\\textcolor{##ccfaff}{#1}",r_["\\blueB"]="\\textcolor{##80f6ff}{#1}",r_["\\blueC"]="\\textcolor{##63d9ea}{#1}",r_["\\blueD"]="\\textcolor{##11accd}{#1}",r_["\\blueE"]="\\textcolor{##0c7f99}{#1}",r_["\\tealA"]="\\textcolor{##94fff5}{#1}",r_["\\tealB"]="\\textcolor{##26edd5}{#1}",r_["\\tealC"]="\\textcolor{##01d1c1}{#1}",r_["\\tealD"]="\\textcolor{##01a995}{#1}",r_["\\tealE"]="\\textcolor{##208170}{#1}",r_["\\greenA"]="\\textcolor{##b6ffb0}{#1}",r_["\\greenB"]="\\textcolor{##8af281}{#1}",r_["\\greenC"]="\\textcolor{##74cf70}{#1}",r_["\\greenD"]="\\textcolor{##1fab54}{#1}",r_["\\greenE"]="\\textcolor{##0d923f}{#1}",r_["\\goldA"]="\\textcolor{##ffd0a9}{#1}",r_["\\goldB"]="\\textcolor{##ffbb71}{#1}",r_["\\goldC"]="\\textcolor{##ff9c39}{#1}",r_["\\goldD"]="\\textcolor{##e07d10}{#1}",r_["\\goldE"]="\\textcolor{##a75a05}{#1}",r_["\\redA"]="\\textcolor{##fca9a9}{#1}",r_["\\redB"]="\\textcolor{##ff8482}{#1}",r_["\\redC"]="\\textcolor{##f9685d}{#1}",r_["\\redD"]="\\textcolor{##e84d39}{#1}",r_["\\redE"]="\\textcolor{##bc2612}{#1}",r_["\\maroonA"]="\\textcolor{##ffbde0}{#1}",r_["\\maroonB"]="\\textcolor{##ff92c6}{#1}",r_["\\maroonC"]="\\textcolor{##ed5fa6}{#1}",r_["\\maroonD"]="\\textcolor{##ca337c}{#1}",r_["\\maroonE"]="\\textcolor{##9e034e}{#1}",r_["\\purpleA"]="\\textcolor{##ddd7ff}{#1}",r_["\\purpleB"]="\\textcolor{##c6b9fc}{#1}",r_["\\purpleC"]="\\textcolor{##aa87ff}{#1}",r_["\\purpleD"]="\\textcolor{##7854ab}{#1}",r_["\\purpleE"]="\\textcolor{##543b78}{#1}",r_["\\mintA"]="\\textcolor{##f5f9e8}{#1}",r_["\\mintB"]="\\textcolor{##edf2df}{#1}",r_["\\mintC"]="\\textcolor{##e0e5cc}{#1}",r_["\\grayA"]="\\textcolor{##f6f7f7}{#1}",r_["\\grayB"]="\\textcolor{##f0f1f2}{#1}",r_["\\grayC"]="\\textcolor{##e3e5e6}{#1}",r_["\\grayD"]="\\textcolor{##d6d8da}{#1}",r_["\\grayE"]="\\textcolor{##babec2}{#1}",r_["\\grayF"]="\\textcolor{##888d93}{#1}",r_["\\grayG"]="\\textcolor{##626569}{#1}",r_["\\grayH"]="\\textcolor{##3b3e40}{#1}",r_["\\grayI"]="\\textcolor{##21242c}{#1}",r_["\\kaBlue"]="\\textcolor{##314453}{#1}",r_["\\kaGreen"]="\\textcolor{##71B307}{#1}";var aF={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class aP{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new aI(r_,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new aq(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,r,a;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),{tokens:a,end:r}=this.consumeArg(["]"])}else({tokens:a,start:t,end:r}=this.consumeArg());return this.pushToken(new rZ("EOF",r.loc)),this.pushTokens(a),new rZ("",r$.range(t,r))}consumeSpaces(){for(;;)if(" "===this.future().text)this.stack.pop();else break}consumeArg(e){var t,r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),s=0,o=0;do{if(t=this.popToken(),r.push(t),"{"===t.text)++s;else if("}"===t.text){if(-1==--s)throw new a("Extra }",t)}else if("EOF"===t.text)throw new a("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",t);if(e&&n)if((0===s||1===s&&"{"===e[o])&&t.text===e[o]){if(++o===e.length){r.splice(-o,o);break}}else o=0}while(0!==s||n)return"{"===i.text&&"}"===r[r.length-1].text&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:t}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new a("The length of delimiters doesn't match the number of args!");for(var r=t[0],n=0;n<r.length;n++){var i=this.popToken();if(r[n]!==i.text)throw new a("Use of the macro doesn't match its definition",i)}}for(var s=[],o=0;o<e;o++)s.push(this.consumeArg(t&&t[o+1]).tokens);return s}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new a("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),r=t.text,n=t.noexpand?null:this._getExpansion(r);if(null==n||e&&n.unexpandable){if(e&&null==n&&"\\"===r[0]&&!this.isDefined(r))throw new a("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);var i=n.tokens,s=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs){i=i.slice();for(var o=i.length-1;o>=0;--o){var l=i[o];if("#"===l.text){if(0===o)throw new a("Incomplete placeholder at end of macro body",l);if("#"===(l=i[--o]).text)i.splice(o+1,1);else if(/^[1-9]$/.test(l.text))i.splice(o,2,...s[l.text-1]);else throw new a("Not a valid argument number",l)}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new rZ(e)]):void 0}expandTokens(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){var a=this.stack.pop();a.treatAsRelax&&(a.noexpand=!1,a.treatAsRelax=!1),t.push(a)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t?t.map(e=>e.text).join(""):t}_getExpansion(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){var r=this.lexer.catcodes[e];if(null!=r&&13!==r)return}var a="function"==typeof t?t(this):t;if("string"==typeof a){var n=0;if(a.includes("#"))for(var i=a.replace(/##/g,"");i.includes("#"+(n+1));)++n;for(var s=new aq(a,this.settings),o=[],l=s.lex();"EOF"!==l.text;)o.push(l),l=s.lex();return o.reverse(),{tokens:o,numArgs:n}}return a}isDefined(e){return this.macros.has(e)||th.hasOwnProperty(e)||en.math.hasOwnProperty(e)||en.text.hasOwnProperty(e)||aF.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:th.hasOwnProperty(e)&&!th[e].primitive}}var aV=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,aG=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9",\u2090:"a",\u2091:"e",\u2095:"h",\u1D62:"i",\u2C7C:"j",\u2096:"k",\u2097:"l",\u2098:"m",\u2099:"n",\u2092:"o",\u209A:"p",\u1D63:"r",\u209B:"s",\u209C:"t",\u1D64:"u",\u1D65:"v",\u2093:"x",\u1D66:"\u03B2",\u1D67:"\u03B3",\u1D68:"\u03C1",\u1D69:"\u03D5",\u1D6A:"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9",\u1D2C:"A",\u1D2E:"B",\u1D30:"D",\u1D31:"E",\u1D33:"G",\u1D34:"H",\u1D35:"I",\u1D36:"J",\u1D37:"K",\u1D38:"L",\u1D39:"M",\u1D3A:"N",\u1D3C:"O",\u1D3E:"P",\u1D3F:"R",\u1D40:"T",\u1D41:"U",\u2C7D:"V",\u1D42:"W",\u1D43:"a",\u1D47:"b",\u1D9C:"c",\u1D48:"d",\u1D49:"e",\u1DA0:"f",\u1D4D:"g",\u02B0:"h",\u2071:"i",\u02B2:"j",\u1D4F:"k",\u02E1:"l",\u1D50:"m",\u207F:"n",\u1D52:"o",\u1D56:"p",\u02B3:"r",\u02E2:"s",\u1D57:"t",\u1D58:"u",\u1D5B:"v",\u02B7:"w",\u02E3:"x",\u02B8:"y",\u1DBB:"z",\u1D5D:"\u03B2",\u1D5E:"\u03B3",\u1D5F:"\u03B4",\u1D60:"\u03D5",\u1D61:"\u03C7",\u1DBF:"\u03B8"}),aU={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},aX={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308",\u01DF:"a\u0308\u0304","\xe3":"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C","\xe2":"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304","\xe5":"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307","\xe7":"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C","\xea":"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C","\xee":"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300","\xf1":"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308",\u022B:"o\u0308\u0304","\xf5":"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C","\xf4":"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C","\xfb":"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307","\xfd":"y\u0301",\u1EF3:"y\u0300","\xff":"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308",\u01DE:"A\u0308\u0304","\xc3":"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C","\xc2":"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304","\xc5":"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307","\xc7":"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C","\xca":"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C","\xce":"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300","\xd1":"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308",\u022A:"O\u0308\u0304","\xd5":"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C","\xd4":"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C","\xdb":"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307","\xdd":"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"};class aY{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new aP(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new a("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new rZ("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){for(var r=[];;){"math"===this.mode&&this.consumeSpaces();var a=this.fetch();if(aY.endOfExpression.has(a.text)||t&&a.text===t||e&&th[a.text]&&th[a.text].infix)break;var n=this.parseAtom(t);if(n){if("internal"===n.type)continue}else break;r.push(n)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){for(var t=-1,r=0;r<e.length;r++){var n=e[r];if("infix"===n.type){if(-1!==t)throw new a("only one infix operator per group",n.token);t=r,i=n.replaceWith}}if(-1===t||!i)return e;var i,s,o,l=e.slice(0,t),h=e.slice(t+1);return s=1===l.length&&"ordgroup"===l[0].type?l[0]:{type:"ordgroup",mode:this.mode,body:l},o=1===h.length&&"ordgroup"===h[0].type?h[0]:{type:"ordgroup",mode:this.mode,body:h},["\\\\abovefrac"===i?this.callFunction(i,[s,e[t],o],[]):this.callFunction(i,[s,o],[])]}handleSupSubscript(e){var t,r=this.fetch(),n=r.text;this.consume(),this.consumeSpaces();do t=this.parseGroup(e);while((null==t?void 0:t.type)==="internal")if(!t)throw new a("Expected group after '"+n+"'",r);return t}formatUnsupportedCmd(e){for(var t=[],r=0;r<e.length;r++)t.push({type:"textord",mode:"text",text:e[r]});var a={type:"text",mode:this.mode,body:t};return{type:"color",mode:this.mode,color:this.settings.errorColor,body:[a]}}parseAtom(e){var t,r,n=this.parseGroup("atom",e);if((null==n?void 0:n.type)==="internal"||"text"===this.mode)return n;for(;;){this.consumeSpaces();var i=this.fetch();if("\\limits"===i.text||"\\nolimits"===i.text){if(n&&"op"===n.type)n.limits="\\limits"===i.text,n.alwaysHandleSupSub=!0;else if(n&&"operatorname"===n.type)n.alwaysHandleSupSub&&(n.limits="\\limits"===i.text);else throw new a("Limit controls must follow a math operator",i);this.consume()}else if("^"===i.text){if(t)throw new a("Double superscript",i);t=this.handleSupSubscript("superscript")}else if("_"===i.text){if(r)throw new a("Double subscript",i);r=this.handleSupSubscript("subscript")}else if("'"===i.text){if(t)throw new a("Double superscript",i);var s={type:"textord",mode:this.mode,text:"\\prime"},o=[s];for(this.consume();"'"===this.fetch().text;)o.push(s),this.consume();"^"===this.fetch().text&&o.push(this.handleSupSubscript("superscript")),t={type:"ordgroup",mode:this.mode,body:o}}else if(aG[i.text]){var l=aV.test(i.text),h=[];for(h.push(new rZ(aG[i.text])),this.consume();;){var m=this.fetch().text;if(!aG[m]||aV.test(m)!==l)break;h.unshift(new rZ(aG[m])),this.consume()}var c=this.subparse(h);l?r={type:"ordgroup",mode:"math",body:c}:t={type:"ordgroup",mode:"math",body:c}}else break}return t||r?{type:"supsub",mode:this.mode,base:n,sup:t,sub:r}:n}parseFunction(e,t){var r=this.fetch(),n=r.text,i=th[n];if(!i)return null;if(this.consume(),t&&"atom"!==t&&!i.allowedInArgument)throw new a("Got function '"+n+"' with no arguments"+(t?" as "+t:""),r);if("text"!==this.mode||i.allowedInText){if("math"===this.mode&&!1===i.allowedInMath)throw new a("Can't use function '"+n+"' in math mode",r)}else throw new a("Can't use function '"+n+"' in text mode",r);var{args:s,optArgs:o}=this.parseArguments(n,i);return this.callFunction(n,s,o,r,e)}callFunction(e,t,r,n,i){var s=th[e];if(s&&s.handler)return s.handler({funcName:e,parser:this,token:n,breakOnTokenText:i},t,r);throw new a("No function handler for "+e)}parseArguments(e,t){var r=t.numArgs+t.numOptionalArgs;if(0===r)return{args:[],optArgs:[]};for(var n=[],i=[],s=0;s<r;s++){var o=t.argTypes&&t.argTypes[s],l=s<t.numOptionalArgs;("primitive"in t&&t.primitive&&null==o||"sqrt"===t.type&&1===s&&null==i[0])&&(o="primitive");var h=this.parseGroupOfType("argument to '"+e+"'",o,l);if(l)i.push(h);else if(null!=h)n.push(h);else throw new a("Null argument, please report this as a bug")}return{args:n,optArgs:i}}parseGroupOfType(e,t,r){switch(t){case"color":return this.parseColorGroup(r);case"size":return this.parseSizeGroup(r);case"url":return this.parseUrlGroup(r);case"math":case"text":return this.parseArgumentGroup(r,t);case"hbox":var n=this.parseArgumentGroup(r,"text");return null!=n?{type:"styling",mode:n.mode,body:[n],style:"text",resetFont:!0}:null;case"raw":var i=this.parseStringGroup("raw",r);return null!=i?{type:"raw",mode:"text",string:i.text}:null;case"primitive":if(r)throw new a("A primitive argument cannot be optional");var s=this.parseGroup(e);if(null==s)throw new a("Expected group as "+e,this.fetch());return s;case"original":case null:case void 0:return this.parseArgumentGroup(r);default:throw new a("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;" "===this.fetch().text;)this.consume()}parseStringGroup(e,t){var r,a=this.gullet.scanArgument(t);if(null==a)return null;for(var n="";"EOF"!==(r=this.fetch()).text;)n+=r.text,this.consume();return this.consume(),a.text=n,a}parseRegexGroup(e,t){for(var r,n=this.fetch(),i=n,s="";"EOF"!==(r=this.fetch()).text&&e.test(s+r.text);)s+=(i=r).text,this.consume();if(""===s)throw new a("Invalid "+t+": '"+n.text+"'",n);return n.range(i,s)}parseColorGroup(e){var t=this.parseStringGroup("color",e);if(null==t)return null;var r=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!r)throw new a("Invalid color: '"+t.text+"'",t);var n=r[0];return/^[0-9a-f]{6}$/i.test(n)&&(n="#"+n),{type:"color-token",mode:this.mode,color:n}}parseSizeGroup(e){var t,r=!1;if(this.gullet.consumeSpaces(),!(t=e||"{"===this.gullet.future().text?this.parseStringGroup("size",e):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;e||0!==t.text.length||(t.text="0pt",r=!0);var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!n)throw new a("Invalid size: '"+t.text+"'",t);var i={number:+(n[1]+n[2]),unit:n[3]};if(!D(i))throw new a("Invalid unit: '"+i.unit+"'",t);return{type:"size",mode:this.mode,value:i,isBlank:r}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup("url",e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),null==t)return null;var r=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:r}}parseArgumentGroup(e,t){var r=this.gullet.scanArgument(e);if(null==r)return null;var a=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var n=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var i={type:"ordgroup",mode:this.mode,loc:r.loc,body:n};return t&&this.switchMode(a),i}parseGroup(e,t){var r,n=this.fetch(),i=n.text;if("{"===i||"\\begingroup"===i){this.consume();var s="{"===i?"}":"\\endgroup";this.gullet.beginGroup();var o=this.parseExpression(!1,s),l=this.fetch();this.expect(s),this.gullet.endGroup(),r={type:"ordgroup",mode:this.mode,loc:r$.range(n,l),body:o,semisimple:"\\begingroup"===i||void 0}}else if(null==(r=this.parseFunction(t,e)||this.parseSymbol())&&"\\"===i[0]&&!aF.hasOwnProperty(i)){if(this.settings.throwOnError)throw new a("Undefined control sequence: "+i,n);r=this.formatUnsupportedCmd(i),this.consume()}return r}formLigatures(e){for(var t=e.length-1,r=0;r<t;++r){var a=e[r];if("textord"===a.type){var n=a.text,i=e[r+1];if(i&&"textord"===i.type){if("-"===n&&"-"===i.text){var s=e[r+2];r+1<t&&s&&"textord"===s.type&&"-"===s.text?(e.splice(r,3,{type:"textord",mode:"text",loc:r$.range(a,s),text:"---"}),t-=2):(e.splice(r,2,{type:"textord",mode:"text",loc:r$.range(a,i),text:"--"}),t-=1)}("'"===n||"`"===n)&&i.text===n&&(e.splice(r,2,{type:"textord",mode:"text",loc:r$.range(a,i),text:n+n}),t-=1)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var r=t.slice(5),n="*"===r.charAt(0);if(n&&(r=r.slice(1)),r.length<2||r.charAt(0)!==r.slice(-1))throw new a("\\verb assertion failed --\n please report what input caused this bug");return{type:"verb",mode:"text",body:r=r.slice(1,-1),star:n}}aX.hasOwnProperty(t[0])&&!en[this.mode][t[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=aX[t[0]]+t.slice(1));var i=aC.exec(t);if(i&&("i"===(t=t.substring(0,i.index))?t="\u0131":"j"===t&&(t="\u0237")),en[this.mode][t]){this.settings.strict&&"math"===this.mode&&eH.includes(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var s,o,l=en[this.mode][t].group,h=r$.range(e);s=o=l in t4?{type:"atom",mode:this.mode,family:l,loc:h,text:t}:{type:l,mode:this.mode,loc:h,text:t}}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(C(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),s={type:"textord",mode:"text",loc:r$.range(e),text:t}}if(this.consume(),i)for(var m=0;m<i[0].length;m++){var c=i[0][m];if(!aU[c])throw new a("Unknown accent ' "+c+"'",e);var u=aU[c][this.mode]||aU[c].text;if(!u)throw new a("Accent "+c+" unsupported in "+this.mode+" mode",e);s={type:"accent",mode:this.mode,loc:r$.range(e),label:u,isStretchy:!1,isShifty:!0,base:s}}return s}}aY.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var aj=function(e,t){if(!("string"==typeof e||e instanceof String))throw TypeError("KaTeX can only parse string typed expression");var r=new aY(e,t);delete r.gullet.macros.current["\\df@tag"];var n=r.parse();if(delete r.gullet.macros.current["\\current@color"],delete r.gullet.macros.current["\\color"],r.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new a("\\tag works only in display equations");n=[{type:"tag",mode:"text",body:n,tag:r.subparse([new rZ("\\df@tag")])}]}return n},aW=function(e,t,r){t.textContent="";var a=a$(e,r).toNode();t.appendChild(a)};"u">typeof document&&"CSS1Compat"!==document.compatMode&&("u">typeof console&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),aW=function(){throw new a("KaTeX doesn't work in quirks mode.")});var a_=function(e,t,r){if(r.throwOnError||!(e instanceof a))throw e;var n=e1(["katex-error"],[new $(t)]);return n.setAttribute("title",e.toString()),n.setAttribute("style","color:"+r.errorColor),n},a$=function(e,t){var r=new f(t);try{var a=aj(e,r);return t$(a,e,r)}catch(t){return a_(t,e,r)}},aZ={version:"0.16.47",render:aW,renderToString:function(e,t){return a$(e,t).toMarkup()},ParseError:a,SETTINGS_SCHEMA:g,__parse:function(e,t){return aj(e,new f(t))},__renderToDomTree:a$,__renderToHTMLTree:function(e,t){var r,a=new f(t);try{return r=aj(e,a),t_(e1(["katex"],[tC(r,tW(a))]),a)}catch(t){return a_(t,e,a)}},__setFontMetrics:function(e,t){Q[e]=t},__defineSymbol:ei,__defineFunction:tu,__defineMacro:function(e,t){r_[e]=t},__domTree:{Span:Y,Anchor:j,SymbolNode:$,SvgNode:Z,PathNode:K,LineNode:J}}}}]); \ No newline at end of file diff --git a/en/assets/js/3636.d70391ac.js b/en/assets/js/3636.d70391ac.js new file mode 100644 index 0000000..2d2b76c --- /dev/null +++ b/en/assets/js/3636.d70391ac.js @@ -0,0 +1,94 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3636"],{5937(t,e,s){s.d(e,{A:()=>a});var i=s(1553),r=s(6408);let a=(t,e)=>i.A.lang.round(r.A.parse(t)[e])},5869(t,e,s){s.d(e,{P:()=>n});var i=s(1177),r=s(1293),a=s(6827),n=(0,a.K)((t,e,s,a)=>{t.attr("class",s);let{width:n,height:c,x:h,y:u}=l(t,e);(0,i.a$)(t,c,n,a);let d=o(h,u,n,c,e);t.attr("viewBox",d),r.R.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),l=(0,a.K)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),o=(0,a.K)((t,e,s,i,r)=>`${t-r} ${e-r} ${s} ${i}`,"createViewBox")},6755(t,e,s){s.d(e,{A:()=>a});var i=s(6827),r=s(7829),a=(0,i.K)((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ltv)("#i"+t)),("sandbox"===e?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},7599(t,e,s){s.d(e,{diagram:()=>k});var i=s(6755),r=s(5869),a=s(2391);s(3247),s(5616),s(6163),s(7827),s(3002),s(739),s(6320),s(2217);var n=s(2941),l=s(6348),o=s(1177),c=s(1293),h=s(6827),u=s(7829),d=s(5937),y=s(5582),p=function(){var t=(0,h.K)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[6,9,21,23,25,27,34,37,38,39,40,41,43,46,47,51,53,54,55],s=[2,2],i=[1,7],r=[1,9],a=[1,10],n=[1,11],l=[1,12],o=[1,30],c=[1,23],u=[1,24],d=[1,25],y=[1,26],p=[1,27],b=[1,19],g=[1,28],_=[1,29],f=[1,20],m=[1,18],k=[1,21],E=[1,22],S=[2,6],$=[6,9,21,23,25,27,33,34,37,38,39,40,41,43,46,47,51,53,54,55],T=[1,36],O=[1,37],x=[1,38],N=[1,39],C=[1,40],A=[6,9,12,14,16,19,20,21,23,25,27,33,34,37,38,39,40,41,43,46,47,50,51,53,54,55,69,70,71,72,73],R=[1,46],I=[1,47],D=[1,57],v=[43,51,53,54,55,74,75],L=[1,70],w=[1,68],K=[1,65],M=[1,69],B=[1,71],G=[6,9,12,16,21,23,25,27,33,34,37,38,39,40,41,43,44,45,46,47,51,52,53,54,55,69,70,71,72,73],F=[1,78],Y=[1,77],P=[1,76],z=[69,70,71,72,73],U=[1,91],Z=[6,9,45,50],j=[6,9,12,44,45,50,51,52],q=[1,101],W=[1,100],X=[1,99],V=[18,61],H=[1,110],Q=[1,109],J=[20,43,51,53,54,55],tt=[18,61,64,66],te={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,statement:8,NEWLINE:9,entityName:10,relSpec:11,COLON:12,role:13,STYLE_SEPARATOR:14,idList:15,BLOCK_START:16,attributes: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,direction:28,classDefStatement:29,classStatement:30,styleStatement:31,subgraphHeader:32,END:33,SUBGRAPH:34,separator:35,subgraphTitle:36,direction_tb:37,direction_bt:38,direction_rl:39,direction_lr:40,CLASSDEF:41,stylesOpt:42,UNICODE_TEXT:43,STYLE_TEXT:44,COMMA:45,CLASS:46,STYLE:47,style:48,styleComponent:49,SEMI:50,NUM:51,BRKT:52,ENTITY_NAME:53,DECIMAL_NUM:54,ENTITY_ONE:55,attribute:56,attributeType:57,attributeName:58,attributeKeyTypeList:59,attributeComment:60,ATTRIBUTE_WORD:61,"?":62,attributeKeyType:63,",":64,ATTRIBUTE_KEY:65,COMMENT:66,cardinality:67,relType:68,ZERO_OR_ONE:69,ZERO_OR_MORE:70,ONE_OR_MORE:71,ONLY_ONE:72,MD_PARENT:73,NON_IDENTIFYING:74,IDENTIFYING:75,WORD:76,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"NEWLINE",12:"COLON",14:"STYLE_SEPARATOR",16:"BLOCK_START",18:"BLOCK_STOP",19:"SQS",20:"SQE",21:"title",22:"title_value",23:"acc_title",24:"acc_title_value",25:"acc_descr",26:"acc_descr_value",27:"acc_descr_multiline_value",33:"END",34:"SUBGRAPH",37:"direction_tb",38:"direction_bt",39:"direction_rl",40:"direction_lr",41:"CLASSDEF",43:"UNICODE_TEXT",44:"STYLE_TEXT",45:"COMMA",46:"CLASS",47:"STYLE",50:"SEMI",51:"NUM",52:"BRKT",53:"ENTITY_NAME",54:"DECIMAL_NUM",55:"ENTITY_ONE",61:"ATTRIBUTE_WORD",62:"?",64:",",65:"ATTRIBUTE_KEY",66:"COMMENT",69:"ZERO_OR_ONE",70:"ZERO_OR_MORE",71:"ONE_OR_MORE",72:"ONLY_ONE",73:"MD_PARENT",74:"NON_IDENTIFYING",75:"IDENTIFYING",76:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[7,1],[8,5],[8,9],[8,7],[8,7],[8,4],[8,6],[8,3],[8,5],[8,1],[8,3],[8,7],[8,9],[8,6],[8,8],[8,4],[8,6],[8,2],[8,2],[8,2],[8,1],[8,1],[8,1],[8,1],[8,1],[8,3],[32,3],[32,6],[36,1],[36,2],[28,1],[28,1],[28,1],[28,1],[29,4],[15,1],[15,1],[15,3],[15,3],[30,3],[31,4],[42,1],[42,3],[48,1],[48,2],[35,1],[35,1],[35,1],[49,1],[49,1],[49,1],[49,1],[10,1],[10,1],[10,1],[10,1],[10,1],[17,1],[17,2],[56,2],[56,3],[56,3],[56,4],[57,1],[57,2],[58,1],[59,1],[59,3],[63,1],[60,1],[11,3],[67,1],[67,1],[67,1],[67,1],[67,1],[68,1],[68,1],[13,1],[13,1],[13,1]],performAction:(0,h.K)(function(t,e,s,i,r,a,n){var l=a.length-1;switch(r){case 1:break;case 2:case 5:case 6:this.$=[];break;case 3:this.$=a[l-1].concat(a[l]);break;case 4:case 34:case 59:case 60:case 61:case 62:case 86:case 69:case 71:case 74:this.$=a[l];break;case 7:i.addEntity(a[l-4]),i.addEntity(a[l-2]),i.addRelationship(a[l-4],a[l],a[l-2],a[l-3]),this.$=[a[l-4],a[l-2]];break;case 8:i.addEntity(a[l-8]),i.addEntity(a[l-4]),i.addRelationship(a[l-8],a[l],a[l-4],a[l-5]),i.setClass([a[l-8]],a[l-6]),i.setClass([a[l-4]],a[l-2]),this.$=[a[l-8],a[l-4]];break;case 9:i.addEntity(a[l-6]),i.addEntity(a[l-2]),i.addRelationship(a[l-6],a[l],a[l-2],a[l-3]),i.setClass([a[l-6]],a[l-4]),this.$=[a[l-6],a[l-2]];break;case 10:i.addEntity(a[l-6]),i.addEntity(a[l-4]),i.addRelationship(a[l-6],a[l],a[l-4],a[l-5]),i.setClass([a[l-4]],a[l-2]),this.$=[a[l-6],a[l-4]];break;case 11:i.addEntity(a[l-3]),i.addAttributes(a[l-3],a[l-1]),this.$=[a[l-3]];break;case 12:i.addEntity(a[l-5]),i.addAttributes(a[l-5],a[l-1]),i.setClass([a[l-5]],a[l-3]),this.$=[a[l-5]];break;case 13:i.addEntity(a[l-2]),this.$=[a[l-2]];break;case 14:i.addEntity(a[l-4]),i.setClass([a[l-4]],a[l-2]),this.$=[a[l-4]];break;case 15:i.addEntity(a[l]),this.$=[a[l]];break;case 16:i.addEntity(a[l-2]),i.setClass([a[l-2]],a[l]),this.$=[a[l-2]];break;case 17:i.addEntity(a[l-6],a[l-4]),i.addAttributes(a[l-6],a[l-1]),this.$=[a[l-6]];break;case 18:i.addEntity(a[l-8],a[l-6]),i.addAttributes(a[l-8],a[l-1]),i.setClass([a[l-8]],a[l-3]),this.$=[a[l-8]];break;case 19:i.addEntity(a[l-5],a[l-3]),this.$=[a[l-5]];break;case 20:i.addEntity(a[l-7],a[l-5]),i.setClass([a[l-7]],a[l-2]),this.$=[a[l-7]];break;case 21:i.addEntity(a[l-3],a[l-1]);break;case 22:i.addEntity(a[l-5],a[l-3]),i.setClass([a[l-5]],a[l]);break;case 23:case 24:this.$=a[l].trim(),i.setAccTitle(this.$);break;case 25:case 26:this.$=a[l].trim(),i.setAccDescription(this.$);break;case 27:i.subgraphDepth?this.$=a[l]:(i.setDirection(a[l].value),this.$=[]);break;case 31:i.subgraphDepth=(i.subgraphDepth||1)-1,this.$=i.addSubGraph({text:a[l-2].id},a[l-1],{text:a[l-2].text});break;case 32:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:a[l-1],text:a[l-1]};break;case 33:i.subgraphDepth=(i.subgraphDepth||0)+1,this.$={id:a[l-4],text:a[l-2]};break;case 35:this.$=a[l-1]+" "+a[l];break;case 36:this.$={stmt:"dir",value:"TB"};break;case 37:this.$={stmt:"dir",value:"BT"};break;case 38:this.$={stmt:"dir",value:"RL"};break;case 39:this.$={stmt:"dir",value:"LR"};break;case 40:this.$=a[l-3],i.addClass(a[l-2],a[l-1]);break;case 41:case 42:case 63:case 72:case 47:this.$=[a[l]];break;case 43:case 44:this.$=a[l-2].concat([a[l]]);break;case 45:this.$=a[l-2],i.setClass(a[l-1],a[l]);break;case 46:this.$=a[l-3],i.addCssStyles(a[l-2],a[l-1]);break;case 48:case 73:a[l-2].push(a[l]),this.$=a[l-2];break;case 50:case 70:this.$=a[l-1]+a[l];break;case 58:case 84:case 85:case 75:this.$=a[l].replace(/"/g,"");break;case 64:a[l].push(a[l-1]),this.$=a[l];break;case 65:this.$={type:a[l-1],name:a[l]};break;case 66:this.$={type:a[l-2],name:a[l-1],keys:a[l]};break;case 67:this.$={type:a[l-2],name:a[l-1],comment:a[l]};break;case 68:this.$={type:a[l-3],name:a[l-2],keys:a[l-1],comment:a[l]};break;case 76:this.$={cardA:a[l],relType:a[l-1],cardB:a[l-2]};break;case 77:this.$=i.Cardinality.ZERO_OR_ONE;break;case 78:this.$=i.Cardinality.ZERO_OR_MORE;break;case 79:this.$=i.Cardinality.ONE_OR_MORE;break;case 80:this.$=i.Cardinality.ONLY_ONE;break;case 81:this.$=i.Cardinality.MD_PARENT;break;case 82:this.$=i.Identification.NON_IDENTIFYING;break;case 83:this.$=i.Identification.IDENTIFYING}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,s,{5:3}),{6:[1,4],7:5,8:6,9:i,10:8,21:r,23:a,25:n,27:l,28:13,29:14,30:15,31:16,32:17,34:o,37:c,38:u,39:d,40:y,41:p,43:b,46:g,47:_,51:f,53:m,54:k,55:E},t(e,S,{1:[2,1]}),t($,[2,3]),t($,[2,4]),t($,[2,5]),t($,[2,15],{11:31,67:35,14:[1,32],16:[1,33],19:[1,34],69:T,70:O,71:x,72:N,73:C}),{22:[1,41]},{24:[1,42]},{26:[1,43]},t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),t($,s,{5:44}),t(A,[2,58]),t(A,[2,59]),t(A,[2,60]),t(A,[2,61]),t(A,[2,62]),t($,[2,36]),t($,[2,37]),t($,[2,38]),t($,[2,39]),{15:45,43:R,44:I},{15:48,43:R,44:I},{15:49,43:R,44:I},{10:50,43:b,51:f,53:m,54:k,55:E},{10:51,43:b,51:f,53:m,54:k,55:E},{15:52,43:R,44:I},{17:53,18:[1,54],56:55,57:56,61:D},{10:58,43:b,51:f,53:m,54:k,55:E},{68:59,74:[1,60],75:[1,61]},t(v,[2,77]),t(v,[2,78]),t(v,[2,79]),t(v,[2,80]),t(v,[2,81]),t($,[2,23]),t($,[2,24]),t($,[2,25]),{6:[1,63],7:5,8:6,9:i,10:8,21:r,23:a,25:n,27:l,28:13,29:14,30:15,31:16,32:17,33:[1,62],34:o,37:c,38:u,39:d,40:y,41:p,43:b,46:g,47:_,51:f,53:m,54:k,55:E},{12:L,42:64,44:w,45:K,48:66,49:67,51:M,52:B},t(G,[2,41]),t(G,[2,42]),{15:72,43:R,44:I,45:K},{12:L,42:73,44:w,45:K,48:66,49:67,51:M,52:B},{6:F,9:Y,19:[1,75],35:74,50:P},{12:[1,79],14:[1,80]},t($,[2,16],{67:35,11:81,16:[1,82],45:K,69:T,70:O,71:x,72:N,73:C}),{18:[1,83]},t($,[2,13]),{17:84,18:[2,63],56:55,57:56,61:D},{58:85,61:[1,86]},{61:[2,69],62:[1,87]},{20:[1,88]},{67:89,69:T,70:O,71:x,72:N,73:C},t(z,[2,82]),t(z,[2,83]),t($,[2,31]),t($,S),{6:F,9:Y,35:90,45:U,50:P},{43:[1,92],44:[1,93]},t(Z,[2,47],{49:94,12:L,44:w,51:M,52:B}),t(j,[2,49]),t(j,[2,54]),t(j,[2,55]),t(j,[2,56]),t(j,[2,57]),t($,[2,45],{45:K}),{6:F,9:Y,35:95,45:U,50:P},t($,[2,32]),{10:97,36:96,43:b,51:f,53:m,54:k,55:E},t($,[2,51]),t($,[2,52]),t($,[2,53]),{13:98,43:q,53:W,76:X},{15:102,43:R,44:I},{10:103,43:b,51:f,53:m,54:k,55:E},{17:104,18:[1,105],56:55,57:56,61:D},t($,[2,11]),{18:[2,64]},t(V,[2,65],{59:106,60:107,63:108,65:H,66:Q}),t([18,61,65,66],[2,71]),{61:[2,70]},t($,[2,21],{14:[1,112],16:[1,111]}),t([43,51,53,54,55],[2,76]),t($,[2,40]),{12:L,44:w,48:113,49:67,51:M,52:B},t(G,[2,43]),t(G,[2,44]),t(j,[2,50]),t($,[2,46]),{10:115,20:[1,114],43:b,51:f,53:m,54:k,55:E},t(J,[2,34]),t($,[2,7]),t($,[2,84]),t($,[2,85]),t($,[2,86]),{12:[1,116],45:K},{12:[1,118],14:[1,117]},{18:[1,119]},t($,[2,14]),t(V,[2,66],{60:120,64:[1,121],66:Q}),t(V,[2,67]),t(tt,[2,72]),t(V,[2,75]),t(tt,[2,74]),{17:122,18:[1,123],56:55,57:56,61:D},{15:124,43:R,44:I},t(Z,[2,48],{49:94,12:L,44:w,51:M,52:B}),{6:F,9:Y,35:125,50:P},t(J,[2,35]),{13:126,43:q,53:W,76:X},{15:127,43:R,44:I},{13:128,43:q,53:W,76:X},t($,[2,12]),t(V,[2,68]),{63:129,65:H},{18:[1,130]},t($,[2,19]),t($,[2,22],{16:[1,131],45:K}),t($,[2,33]),t($,[2,10]),{12:[1,132],45:K},t($,[2,9]),t(tt,[2,73]),t($,[2,17]),{17:133,18:[1,134],56:55,57:56,61:D},{13:135,43:q,53:W,76:X},{18:[1,136]},t($,[2,20]),t($,[2,8]),t($,[2,18])],defaultActions:{84:[2,64],87:[2,70]},parseError:(0,h.K)(function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},"parseError"),parse:(0,h.K)(function(t){var e=this,s=[0],i=[],r=[null],a=[],n=this.table,l="",o=0,c=0,u=0,d=a.slice.call(arguments,1),y=Object.create(this.lexer),p={};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(p[b]=this.yy[b]);y.setInput(t,p),p.lexer=y,p.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;a.push(g);var _=y.options&&y.options.ranges;function f(){var t;return"number"!=typeof(t=i.pop()||y.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){s.length=s.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,h.K)(f,"lex");for(var m,k,E,S,$,T,O,x,N,C={};;){if(E=s[s.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==m&&(m=f()),S=n[E]&&n[E][m]),void 0===S||!S.length||!S[0]){var A="";for(T in N=[],n[E])this.terminals_[T]&&T>2&&N.push("'"+this.terminals_[T]+"'");A=y.showPosition?"Parse error on line "+(o+1)+":\n"+y.showPosition()+"\nExpecting "+N.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:y.match,token:this.terminals_[m]||m,line:y.yylineno,loc:g,expected:N})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+m);switch(S[0]){case 1:s.push(m),r.push(y.yytext),a.push(y.yylloc),s.push(S[1]),m=null,k?(m=k,k=null):(c=y.yyleng,l=y.yytext,o=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(O=this.productions_[S[1]][1],C.$=r[r.length-O],C._$={first_line:a[a.length-(O||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(O||1)].first_column,last_column:a[a.length-1].last_column},_&&(C._$.range=[a[a.length-(O||1)].range[0],a[a.length-1].range[1]]),void 0!==($=this.performAction.apply(C,[l,c,o,p,S[1],r,a].concat(d))))return $;O&&(s=s.slice(0,-1*O*2),r=r.slice(0,-1*O),a=a.slice(0,-1*O)),s.push(this.productions_[S[1]][0]),r.push(C.$),a.push(C._$),x=n[s[s.length-2]][s[s.length-1]],s.push(x);break;case 3:return!0}}return!0},"parse")};function ts(){this.yy={}}return te.lexer={EOF:1,parseError:(0,h.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var s,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,r=this._currentRules(),a=0;a<r.length;a++)if((s=this._input.match(this.rules[r[a]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K)(function(t,e,s,i){switch(s){case 0:return this.begin("acc_title"),23;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),25;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 28:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 37;case 8:return 38;case 9:return 39;case 10:return 40;case 11:case 22:case 30:case 37:break;case 12:return 9;case 13:return 53;case 14:return 76;case 15:return 4;case 16:return this.begin("block"),16;case 17:case 18:case 40:return 52;case 19:case 39:return 45;case 20:return 14;case 21:case 38:return 12;case 23:return 65;case 24:case 25:case 27:return 61;case 26:this.begin("block_bq");break;case 29:return 66;case 31:return this.popState(),18;case 32:case 81:return e.yytext[0];case 33:return 19;case 34:return 20;case 35:return this.begin("style"),47;case 36:return this.popState(),9;case 41:return this.begin("style"),41;case 42:return 46;case 43:return 34;case 44:return 33;case 45:case 49:case 50:case 68:return 69;case 46:case 47:case 48:case 56:case 58:case 70:return 71;case 51:case 52:case 53:case 54:case 55:case 57:case 69:return 70;case 59:case 60:case 62:case 63:case 64:case 67:return 72;case 61:return 54;case 65:return 55;case 66:return 51;case 71:return 73;case 72:case 75:case 76:case 77:return 74;case 73:case 74:return 75;case 78:return 44;case 79:return 50;case 80:return 43;case 82:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[ \t\r]+)/i,/^(?:[\n]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:subgraph\b)/i,/^(?:end\b\s*)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[36,37,38,39,40,78,79],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[27,28],inclusive:!1},block:{rules:[22,23,24,25,26,29,30,31,32],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,33,34,35,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,80,81,82],inclusive:!0}}},(0,h.K)(ts,"Parser"),ts.prototype=te,te.Parser=ts,new ts}();p.parser=p;var b=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.subgraphDepth=0,this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setAccDescription=o.EI,this.getAccDescription=o.m7,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getConfig=(0,h.K)(()=>(0,o.D7)().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this),this.addSubGraph=this.addSubGraph.bind(this)}static{(0,h.K)(this,"ErDB")}addEntity(t,e=""){return this.entities.has(t)?!this.entities.get(t)?.alias&&e&&(this.entities.get(t).alias=e,c.R.info(`Add alias '${e}' to entity '${t}'`)):(this.entities.set(t,{id:`entity-${t}-${this.entities.size}`,label:t,attributes:[],alias:e,shape:"erBox",look:(0,o.D7)().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),c.R.info("Added new entity :",t)),this.entities.get(t)}getEntity(t){return this.entities.get(t)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(t,e){let s,i=this.addEntity(t);for(s=e.length-1;s>=0;s--)e[s].keys||(e[s].keys=[]),e[s].comment||(e[s].comment=""),i.attributes.push(e[s]),c.R.debug("Added attribute ",e[s].name)}addRelationship(t,e,s,i){let r,a;if(this.subGraphLookup.has(t))r=t;else{let e=this.addEntity(t);if(!e)return;r=e.id}if(this.subGraphLookup.has(s))a=s;else{let t=this.addEntity(s);if(!t)return;a=t.id}let n={entityA:r,roleA:e,entityB:a,relSpec:i};this.relationships.push(n),c.R.debug("Added new relationship :",n)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(t){this.direction=t}getCompiledStyles(t){let e=[];for(let s of t){let t=this.classes.get(s);t?.styles&&(e=[...e,...t.styles??[]].map(t=>t.trim())),t?.textStyles&&(e=[...e,...t.textStyles??[]].map(t=>t.trim()))}return e}addCssStyles(t,e){for(let s of t){let t=this.entities.get(s),i=this.subGraphLookup.get(s);if(e){if(t)for(let s of e)t.cssStyles.push(s);if(i)for(let t of(i.cssStyles||(i.cssStyles=[]),e))i.cssStyles.push(t)}}}addClass(t,e){t.forEach(t=>{let s=this.classes.get(t);void 0===s&&(s={id:t,styles:[],textStyles:[]},this.classes.set(t,s)),e&&e.forEach(function(t){if(/color/.exec(t)){let e=t.replace("fill","bgFill");s.textStyles.push(e)}s.styles.push(t)})})}addSubGraph(t,e,s){let i=t.text.trim(),r=s.text,a=(0,h.K)(t=>{let e,s=new Set;return{nodeList:t.filter(t=>{if(t?.stmt)return"dir"===t.stmt&&(e=t.value),!1;if("string"!=typeof t)return!1;let i=t.trim();return!(!i||s.has(i))&&(s.add(i),!0)}),dir:e}},"uniq")(e.flat()),n=a.nodeList,l=a.dir;i=i??"subGraph"+this.subCount,r=r||"",r=this.sanitizeText(r),this.subCount=this.subCount+1;let o={id:i,nodes:n,title:r.trim(),classes:[],cssStyles:[],dir:l,labelType:this.sanitizeNodeLabelType(s?.type)};return c.R.info("Adding",o.id,o.nodes,o.dir),o.nodes=this.makeUniq(o,this.subGraphs).nodes,this.subGraphs.push(o),this.subGraphLookup.set(i,o),i}getSubGraphs(){return this.subGraphs}setClass(t,e){for(let s of t){let t=this.entities.get(s);if(t)for(let s of e)t.cssClasses+=" "+s;let i=this.subGraphLookup.get(s);if(i)for(let t of e)i.classes.push(t)}}subgraphNodeCache(t){let e=new Set;for(let s of t)for(let t of s.nodes)e.add(t);return e}makeUniq(t,e){let s=this.subgraphNodeCache(e),i=[];return t.nodes.forEach((e,r)=>{s.has(e)?c.R.warn(`Entity '${e}' already belongs to another subgraph and will be ignored`):i.push(t.nodes[r])}),{nodes:i}}sanitizeText(t){return o.Y2.sanitizeText(t,(0,o.D7)())}sanitizeNodeLabelType(t){switch(t){case"markdown":case"string":case"text":return t;default:return"markdown"}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.subgraphDepth=0,(0,o.IU)()}getData(){let t=[],e=[],s=(0,o.D7)(),i=this.getSubGraphs(),r=new Map,a=new Map;for(let t=i.length-1;t>=0;t--){let e=i[t];for(let t of(e.nodes.length>0&&a.set(e.id,!0),e.nodes))r.set(t,e.id)}for(let e=i.length-1;e>=0;e--){let a=i[e];t.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssStyles:a.cssStyles,cssClasses:a.classes.join(" "),shape:"rect",dir:a.dir,isGroup:!0,look:s.look})}let n=new Set(i.map(t=>t.id)),c=0;for(let e of this.entities.keys()){if(n.has(e))continue;let s=this.entities.get(e);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),s.colorIndex=c++,t.push({...s,parentId:r.get(e),isGroup:!1}))}let h=0;for(let t of this.relationships){let i={id:(0,l.rY)(t.entityA,t.entityB,{prefix:"id",counter:h++}),type:"normal",curve:"basis",start:t.entityA,end:t.entityB,label:t.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:t.relSpec.cardB.toLowerCase(),arrowTypeEnd:t.relSpec.cardA.toLowerCase(),pattern:"IDENTIFYING"==t.relSpec.relType?"solid":"dashed",look:s.look,labelType:"markdown"};e.push(i)}return{nodes:t,edges:e,other:{},config:s,direction:this.direction}}},g={};(0,h.V)(g,{draw:()=>_});var _=(0,h.K)(async function(t,e,s,n){c.R.info("REF0:"),c.R.info("Drawing er diagram (unified)",e);let{securityLevel:h,er:d,layout:y}=(0,o.D7)(),p=n.db.getData(),b=(0,i.A)(e,h);p.type=n.type,p.layoutAlgorithm=(0,a.q7)(y),p.config.flowchart.nodeSpacing=d?.nodeSpacing||140,p.config.flowchart.rankSpacing=d?.rankSpacing||80,p.direction=n.db.getDirection();let{config:g}=p,{look:_}=g;"neo"===_?p.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:p.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],p.diagramId=e,await (0,a.XX)(p,b);let f=b.selectAll('[id*="-background"]');Array.from(f).length>0&&f.each(function(){let t=(0,u.Ltv)(this),e=t.attr("id").replace("-background",""),s=b.select(`#${CSS.escape(e)}`);if(!s.empty()){let e=s.attr("transform");t.attr("transform",e)}}),l._K.insertTitle(b,"erDiagramTitleText",d?.titleTopMargin??25,n.db.getDiagramTitle()),(0,r.P)(b,8,"erDiagram",d?.useMaxWidth??!0)},"draw"),f=(0,h.K)((t,e)=>{let s=d.A,i=s(t,"r"),r=s(t,"g"),a=s(t,"b");return y.A(i,r,a,e)},"fade"),m=(0,h.K)(t=>{let{theme:e,bkgColorArray:s,borderColorArray:i}=t;if(!(0,n.P1)(e,i))return"";let r=(0,n.rq)(t.look),a=(0,n.Ic)(s),l="";for(let t=0;t<(0,n.Hu)(i);t++){let e=i[t],n=a?`fill: ${s[t%s.length]};`:"";l+=` + + [data-look="${r}"][data-color-id="color-${t}"].node path { + stroke: ${e}; + ${n} + } + + [data-look="${r}"][data-color-id="color-${t}"].node rect { + stroke: ${e}; + ${n} + } + `}return l},"genColor"),k={parser:p,get db(){return new b},renderer:g,styles:(0,h.K)(t=>{let{look:e,theme:s,erEdgeLabelBackground:i,strokeWidth:r}=t;return` + ${m(t)} + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .labelBkg { + background-color: ${n.Fx.has(s)&&i?i:f(t.tertiaryColor,.5)}; + } + + .edgeLabel { + background-color: ${n.Fx.has(s)&&i?i:t.edgeLabelBackground}; + } + .edgeLabel .label rect { + fill: ${n.Fx.has(s)&&i?i:t.edgeLabelBackground}; + } + .edgeLabel .label text { + fill: ${t.textColor}; + } + + .edgeLabel .label { + fill: ${t.nodeBorder}; + font-size: 14px; + } + + .label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + + .edge-pattern-dashed { + stroke-dasharray: 8,8; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon + { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: ${"neo"===e?r:"1px"}; + } + + .relationshipLine { + stroke: ${t.lineColor}; + stroke-width: ${"neo"===e?r:"1px"}; + fill: none; + } + + .marker { + fill: none !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } + [data-look=neo].labelBkg { + background-color: ${f(t.tertiaryColor,.5)}; + } + + .cluster rect { + fill: ${t.clusterBkg??t.mainBkg}; + stroke: ${t.clusterBorder??t.nodeBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor??t.textColor}; + } + + .cluster-label text { + fill: ${t.titleColor??t.textColor}; + } +`},"getStyles")}}}]); \ No newline at end of file diff --git a/en/assets/js/3693.178dfbe0.js b/en/assets/js/3693.178dfbe0.js new file mode 100644 index 0000000..14def1a --- /dev/null +++ b/en/assets/js/3693.178dfbe0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3693"],{3436(e,t,n){n.d(t,{default:()=>l});function l(e,{target:t=document.body}={}){if("string"!=typeof e)throw TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);let n=document.createElement("textarea"),o=document.activeElement;n.value=e,n.setAttribute("readonly",""),n.style.all="unset",n.style.contain="strict",n.style.position="absolute",n.style.left="-9999px",n.style.width="2em",n.style.height="2em",n.style.padding="0",n.style.border="none",n.style.outline="none",n.style.boxShadow="none",n.style.background="transparent",n.style.fontSize="12pt",n.style.whiteSpace="pre";let s=document.getSelection(),a=s.rangeCount>0&&s.getRangeAt(0);t.append(n),n.select(),n.selectionStart=0,n.selectionEnd=e.length;let r=!1;try{r=document.execCommand("copy")}catch{}return n.remove(),a&&(s.removeAllRanges(),s.addRange(a)),o&&o.focus(),r}}}]); \ No newline at end of file diff --git a/en/assets/js/36994c47.a19db22c.js b/en/assets/js/36994c47.a19db22c.js new file mode 100644 index 0000000..ad549f2 --- /dev/null +++ b/en/assets/js/36994c47.a19db22c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["191"],{5516(s){s.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/en/assets/js/3788.070794c2.js b/en/assets/js/3788.070794c2.js new file mode 100644 index 0000000..17e4b36 --- /dev/null +++ b/en/assets/js/3788.070794c2.js @@ -0,0 +1,23 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3788"],{3367(t,e,n){n.d(e,{diagram:()=>tp});var s,i=n(4924),r=n(6348),l=n(1177);n(1293);var a=n(6827),o=n(7829),h=n(4682),c=n(5635);let u=(t,e)=>(0,c.A)(t,"a",-e);var f=n(8041),d=n(5263);function y(t,e){let n=function(t){let e=[];for(let n=0;n<t.length;++n)for(let s=n+1;s<t.length;++s)for(let i of m(t[n],t[s]))i.parentIndex=[n,s],e.push(i);return e}(t),s=n.filter(e=>{var n;return n=e,t.every(t=>x(n,t)<t.radius+1e-10)}),i=0,r=0,l=[];if(s.length>1){let e=b(s);for(let t=0;t<s.length;++t){let n=s[t];n.angle=Math.atan2(n.x-e.x,n.y-e.y)}s.sort((t,e)=>e.angle-t.angle);let n=s[s.length-1];for(let e=0;e<s.length;++e){let a=s[e];r+=(n.x+a.x)*(a.y-n.y);let o={x:(a.x+n.x)/2,y:(a.y+n.y)/2},h=null;for(let e=0;e<a.parentIndex.length;++e)if(n.parentIndex.includes(a.parentIndex[e])){let s=t[a.parentIndex[e]],i=Math.atan2(a.x-s.x,a.y-s.y),r=Math.atan2(n.x-s.x,n.y-s.y),l=r-i;l<0&&(l+=2*Math.PI);let c=r-l/2,u=x(o,{x:s.x+s.radius*Math.sin(c),y:s.y+s.radius*Math.cos(c)});u>2*s.radius&&(u=2*s.radius),(null==h||h.width>u)&&(h={circle:s,width:u,p1:a,p2:n,large:u>s.radius,sweep:!0})}null!=h&&(l.push(h),i+=g(h.circle.radius,h.width),n=a)}}else{let e=t[0];for(let n=1;n<t.length;++n)t[n].radius<e.radius&&(e=t[n]);let n=!1;for(let s=0;s<t.length;++s)if(x(t[s],e)>Math.abs(e.radius-t[s].radius)){n=!0;break}n?i=r=0:(i=e.radius*e.radius*Math.PI,l.push({circle:e,p1:{x:e.x,y:e.y+e.radius},p2:{x:e.x-1e-10,y:e.y+e.radius},width:2*e.radius,large:!0,sweep:!0}))}return r/=2,e&&(e.area=i+r,e.arcArea=i,e.polygonArea=r,e.arcs=l,e.innerPoints=s,e.intersectionPoints=n),i+r}function g(t,e){return t*t*Math.acos(1-e/t)-(t-e)*Math.sqrt(e*(2*t-e))}function x(t,e){return Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y))}function p(t,e,n){return n>=t+e?0:n<=Math.abs(t-e)?Math.PI*Math.min(t,e)*Math.min(t,e):g(t,t-(n*n-e*e+t*t)/(2*n))+g(e,e-(n*n-t*t+e*e)/(2*n))}function m(t,e){let n=x(t,e),s=t.radius,i=e.radius;if(n>=s+i||n<=Math.abs(s-i))return[];let r=(s*s-i*i+n*n)/(2*n),l=Math.sqrt(s*s-r*r),a=t.x+r*(e.x-t.x)/n,o=t.y+r*(e.y-t.y)/n,h=-(e.y-t.y)*(l/n),c=-(e.x-t.x)*(l/n);return[{x:a+h,y:o-c},{x:a-h,y:o+c}]}function b(t){let e={x:0,y:0};for(let n of t)e.x+=n.x,e.y+=n.y;return e.x/=t.length,e.y/=t.length,e}function v(t){let e=Array(t);for(let n=0;n<t;++n)e[n]=0;return e}function M(t,e){return v(t).map(()=>v(e))}function I(t,e){let n=0;for(let s=0;s<t.length;++s)n+=t[s]*e[s];return n}function k(t){return Math.sqrt(I(t,t))}function _(t,e,n){for(let s=0;s<e.length;++s)t[s]=e[s]*n}function w(t,e,n,s,i){for(let r=0;r<t.length;++r)t[r]=e*n[r]+s*i[r]}function S(t,e,n){let s,i=(n=n||{}).maxIterations||200*e.length,r=n.nonZeroDelta||1.05,l=n.zeroDelta||.001,a=n.minErrorDelta||1e-6,o=n.minErrorDelta||1e-5,h=void 0!==n.rho?n.rho:1,c=void 0!==n.chi?n.chi:2,u=void 0!==n.psi?n.psi:-.5,f=void 0!==n.sigma?n.sigma:.5,d=e.length,y=Array(d+1);y[0]=e,y[0].fx=t(e),y[0].id=0;for(let n=0;n<d;++n){let s=e.slice();s[n]=s[n]?s[n]*r:l,y[n+1]=s,y[n+1].fx=t(s),y[n+1].id=n+1}function g(t){for(let e=0;e<t.length;e++)y[d][e]=t[e];y[d].fx=t.fx}let x=(t,e)=>t.fx-e.fx,p=e.slice(),m=e.slice(),b=e.slice(),v=e.slice();for(let e=0;e<i;++e){if(y.sort(x),n.history){let t=y.map(t=>{let e=t.slice();return e.fx=t.fx,e.id=t.id,e});t.sort((t,e)=>t.id-e.id),n.history.push({x:y[0].slice(),fx:y[0].fx,simplex:t})}s=0;for(let t=0;t<d;++t)s=Math.max(s,Math.abs(y[0][t]-y[1][t]));if(Math.abs(y[0].fx-y[d].fx)<a&&s<o)break;for(let t=0;t<d;++t){p[t]=0;for(let e=0;e<d;++e)p[t]+=y[e][t];p[t]/=d}let e=y[d];if(w(m,1+h,p,-h,e),m.fx=t(m),m.fx<y[0].fx)w(v,1+c,p,-c,e),v.fx=t(v),g(v.fx<m.fx?v:m);else if(m.fx>=y[d-1].fx){let n=!1;if(m.fx>e.fx?(w(b,1+u,p,-u,e),b.fx=t(b),b.fx<e.fx?g(b):n=!0):(w(b,1-u*h,p,u*h,e),b.fx=t(b),b.fx<m.fx?g(b):n=!0),n){if(f>=1)break;for(let e=1;e<y.length;++e)w(y[e],1-f,y[0],f,y[e]),y[e].fx=t(y[e])}}else g(m)}return y.sort(x),{fx:y[0].fx,x:y[0]}}function E(t,e={}){e.maxIterations=e.maxIterations||500;let n=e.initialLayout||T,s=e.lossFunction||A,i=function(t,e={}){let n=e.distinct,s=t.map(t=>Object.assign({},t));function i(t){return t.join(";")}if(n){let t=new Map;for(let e of s)for(let n=0;n<e.sets.length;n++){let s=String(e.sets[n]);t.set(s,e.size+(t.get(s)||0));for(let i=n+1;i<e.sets.length;i++){let n=String(e.sets[i]),r=`${s};${n}`,l=`${n};${s}`;t.set(r,e.size+(t.get(r)||0)),t.set(l,e.size+(t.get(l)||0))}}for(let e of s)e.sets.length<3&&(e.size=t.get(i(e.sets)))}let r=[],l=new Set;for(let t of s)if(1===t.sets.length)r.push(t.sets[0]);else if(2===t.sets.length){let e=t.sets[0],n=t.sets[1];l.add(i(t.sets)),l.add(i([n,e]))}r.sort((t,e)=>t===e?0:t<e?-1:1);for(let t=0;t<r.length;++t){let e=r[t];for(let n=t+1;n<r.length;++n){let t=r[n];l.has(i([e,t]))||s.push({sets:[e,t],size:0})}}return s}(t,e),r=n(i,e),l=Object.keys(r),a=[];for(let t of l)a.push(r[t].x),a.push(r[t].y);let o=S(t=>{let e={};for(let n=0;n<l.length;++n){let s=l[n];e[s]={x:t[2*n],y:t[2*n+1],radius:r[s].radius}}return s(e,i)},a,e).x;for(let t=0;t<l.length;++t){let e=l[t];r[e].x=o[2*t],r[e].y=o[2*t+1]}return r}function z(t,e,n){return Math.min(t,e)*Math.min(t,e)*Math.PI<=n+1e-10?Math.abs(t-e):function(t,e,n,s){let i=(s=s||{}).maxIterations||100,r=s.tolerance||1e-10,l=t(e),a=t(n),o=n-e;if(l*a>0)throw"Initial bisect points must have opposite signs";if(0===l)return e;if(0===a)return n;for(let n=0;n<i;++n){let n=e+(o/=2),s=t(n);if(s*l>=0&&(e=n),Math.abs(o)<r||0===s)return n}return e+o}(s=>p(t,e,s)-n,0,t+e)}function T(t,e={}){let n=function(t,e){let n=e&&e.lossFunction?e.lossFunction:A,s={},i={};for(let e of t)if(1===e.sets.length){let t=e.sets[0];s[t]={x:1e10,y:1e10,rowid:s.length,size:e.size,radius:Math.sqrt(e.size/Math.PI)},i[t]=[]}for(let e of t=t.filter(t=>2===t.sets.length)){let t=null!=e.weight?e.weight:1,n=e.sets[0],r=e.sets[1];e.size+1e-10>=Math.min(s[n].size,s[r].size)&&(t=0),i[n].push({set:r,size:e.size,weight:t}),i[r].push({set:n,size:e.size,weight:t})}let r=[];function l(t,e){return e.size-t.size}Object.keys(i).forEach(t=>{let e=0;for(let n=0;n<i[t].length;++n)e+=i[t][n].size*i[t][n].weight;r.push({set:t,size:e})}),r.sort(l);let a={};function o(t){return t.set in a}function h(t,e){s[e].x=t.x,s[e].y=t.y,a[e]=!0}h({x:0,y:0},r[0].set);for(let e=1;e<r.length;++e){let a=r[e].set,u=i[a].filter(o),f=s[a];if(u.sort(l),0===u.length)throw"ERROR: missing pairwise overlap information";let d=[];for(var c=0;c<u.length;++c){let t=s[u[c].set],e=z(f.radius,t.radius,u[c].size);d.push({x:t.x+e,y:t.y}),d.push({x:t.x-e,y:t.y}),d.push({y:t.y+e,x:t.x}),d.push({y:t.y-e,x:t.x});for(let n=c+1;n<u.length;++n){let i=s[u[n].set],r=z(f.radius,i.radius,u[n].size),l=m({x:t.x,y:t.y,radius:e},{x:i.x,y:i.y,radius:r});d.push(...l)}}let y=1e50,g=d[0];for(let e of d){s[a].x=e.x,s[a].y=e.y;let i=n(s,t);i<y&&(y=i,g=e)}h(g,a)}return s}(t,e),s=e.lossFunction||A;if(t.length>=8){let i=function(t,e={}){let n,s,i=e.restarts||10,r=[],l={};for(let e of t)1===e.sets.length&&(l[e.sets[0]]=r.length,r.push(e));let{distances:a,constraints:o}=(n=M(r.length,r.length),s=M(r.length,r.length),t.filter(t=>2===t.sets.length).forEach(t=>{let e=l[t.sets[0]],i=l[t.sets[1]],a=z(Math.sqrt(r[e].size/Math.PI),Math.sqrt(r[i].size/Math.PI),t.size);n[e][i]=n[i][e]=a;let o=0;t.size+1e-10>=Math.min(r[e].size,r[i].size)?o=1:t.size<=1e-10&&(o=-1),s[e][i]=s[i][e]=o}),{distances:n,constraints:s}),h=k(a.map(k))/a.length;a=a.map(t=>t.map(t=>t/h));let c=(t,e)=>(function(t,e,n,s){for(let t=0;t<e.length;++t)e[t]=0;let i=0;for(let r=0;r<n.length;++r){let l=t[2*r],a=t[2*r+1];for(let o=r+1;o<n.length;++o){let h=t[2*o],c=t[2*o+1],u=n[r][o],f=s[r][o],d=(h-l)*(h-l)+(c-a)*(c-a),y=Math.sqrt(d),g=d-u*u;f>0&&y<=u||f<0&&y>=u||(i+=2*g*g,e[2*r]+=4*g*(l-h),e[2*r+1]+=4*g*(a-c),e[2*o]+=4*g*(h-l),e[2*o+1]+=4*g*(c-a))}}return i})(t,e,a,o),u=null;for(let t=0;t<i;++t){let t=function(t,e,n){let s,i,r,l={x:e.slice(),fx:0,fxprime:e.slice()},a={x:e.slice(),fx:0,fxprime:e.slice()},o=e.slice(),h=1;r=(n=n||{}).maxIterations||20*e.length,l.fx=t(l.x,l.fxprime),_(s=l.fxprime.slice(),l.fxprime,-1);for(let e=0;e<r;++e){if(h=function(t,e,n,s,i,r,l){let a=n.fx,o=I(n.fxprime,e),h=a,c=a,u=o,f=0;function d(c,f,d){for(let y=0;y<16;++y)if(i=(c+f)/2,w(s.x,1,n.x,i,e),h=s.fx=t(s.x,s.fxprime),u=I(s.fxprime,e),h>a+r*i*o||h>=d)f=i;else{if(Math.abs(u)<=-l*o)return i;u*(f-c)>=0&&(f=c),c=i,d=h}return 0}i=i||1,r=r||1e-6,l=l||.1;for(let y=0;y<10;++y){if(w(s.x,1,n.x,i,e),h=s.fx=t(s.x,s.fxprime),u=I(s.fxprime,e),h>a+r*i*o||y&&h>=c)return d(f,i,c);if(Math.abs(u)<=-l*o)break;if(u>=0)return d(i,f,h);c=h,f=i,i*=2}return i}(t,s,l,a,h),n.history&&n.history.push({x:l.x.slice(),fx:l.fx,fxprime:l.fxprime.slice(),alpha:h}),h){w(o,1,a.fxprime,-1,l.fxprime);let t=I(l.fxprime,l.fxprime);w(s,Math.max(0,I(o,a.fxprime)/t),s,-1,a.fxprime),i=l,l=a,a=i}else _(s,l.fxprime,-1);if(1e-5>=k(l.fxprime))break}return n.history&&n.history.push({x:l.x.slice(),fx:l.fx,fxprime:l.fxprime.slice(),alpha:h}),l}(c,v(2*a.length).map(Math.random),e);(!u||t.fx<u.fx)&&(u=t)}let f=u.x,d={};for(let t=0;t<r.length;++t){let e=r[t];d[e.sets[0]]={x:f[2*t]*h,y:f[2*t+1]*h,radius:Math.sqrt(e.size/Math.PI)}}if(e.history)for(let t of e.history)_(t.x,h);return d}(t,e);s(i,t)+1e-8<s(n,t)&&(n=i)}return n}function A(t,e){let n=0;for(let s of e){let e;if(1!==s.sets.length){if(2===s.sets.length){let n=t[s.sets[0]],i=t[s.sets[1]];e=p(n.radius,i.radius,x(n,i))}else e=y(s.sets.map(e=>t[e]));n+=(null!=s.weight?s.weight:1)*(e-s.size)*(e-s.size)}}return n}function K(t,e){let n=0;for(let s of e){let e;if(1===s.sets.length)continue;if(2===s.sets.length){let n=t[s.sets[0]],i=t[s.sets[1]];e=p(n.radius,i.radius,x(n,i))}else e=y(s.sets.map(e=>t[e]));let i=null!=s.weight?s.weight:1,r=Math.log((e+1)/(s.size+1));n+=i*r*r}return n}function R(t){let e=e=>({max:t.reduce((t,n)=>Math.max(t,n[e]+n.radius),-1/0),min:t.reduce((t,n)=>Math.min(t,n[e]-n.radius),1/0)});return{xRange:e("x"),yRange:e("y")}}function $(t,e,n){null==e&&(e=Math.PI/2);let s=C(t).map(t=>Object.assign({},t)),i=function(t){function e(t){return t.parent!==t&&(t.parent=e(t.parent)),t.parent}t.forEach(t=>{t.parent=t});for(let i=0;i<t.length;++i)for(let r=i+1;r<t.length;++r){var n,s;let l=t[i].radius+t[r].radius;x(t[i],t[r])+1e-10<l&&(n=t[r],s=t[i],e(n).parent=e(s))}let i=new Map;for(let n=0;n<t.length;++n){let s=e(t[n]).parent.setid;i.has(s)||i.set(s,[]),i.get(s).push(t[n])}return t.forEach(t=>{delete t.parent}),Array.from(i.values())}(s);for(let t of i){!function(t,e,n){if(null==n?t.sort((t,e)=>e.radius-t.radius):t.sort(n),t.length>0){let e=t[0].x,n=t[0].y;for(let s of t)s.x-=e,s.y-=n}if(2===t.length&&x(t[0],t[1])<Math.abs(t[1].radius-t[0].radius)&&(t[1].x=t[0].x+t[0].radius-t[1].radius-1e-10,t[1].y=t[0].y),t.length>1){let n=Math.atan2(t[1].x,t[1].y)-e,s=Math.cos(n),i=Math.sin(n);for(let e of t){let t=e.x,n=e.y;e.x=s*t-i*n,e.y=i*t+s*n}}if(t.length>2){let n=Math.atan2(t[2].x,t[2].y)-e;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let e=t[1].y/(1e-10+t[1].x);for(let n of t){var s=(n.x+e*n.y)/(1+e*e);n.x=2*s-n.x,n.y=2*s*e-n.y}}}}(t,e,n);let s=R(t);t.size=(s.xRange.max-s.xRange.min)*(s.yRange.max-s.yRange.min),t.bounds=s}i.sort((t,e)=>e.size-t.size);let r=(s=i[0]).bounds,l=(r.xRange.max-r.xRange.min)/50;function a(t,e,n){let i,a;if(!t)return;let o=t.bounds;if(e)i=r.xRange.max-o.xRange.min+l;else{i=r.xRange.max-o.xRange.max;let t=(o.xRange.max-o.xRange.min)/2-(r.xRange.max-r.xRange.min)/2;t<0&&(i+=t)}if(n)a=r.yRange.max-o.yRange.min+l;else{a=r.yRange.max-o.yRange.max;let t=(o.yRange.max-o.yRange.min)/2-(r.yRange.max-r.yRange.min)/2;t<0&&(a+=t)}for(let e of t)e.x+=i,e.y+=a,s.push(e)}let o=1;for(;o<i.length;)a(i[o],!0,!1),a(i[o+1],!1,!0),a(i[o+2],!0,!0),o+=3,r=R(s);return O(s)}function N(t,e,n,s,i){let r,l,a=C(t);e-=2*s,n-=2*s;let{xRange:o,yRange:h}=R(a);if(o.max===o.min||h.max===h.min)return console.log("not scaling solution: zero size detected"),t;if(i){let t=2*Math.sqrt(i/Math.PI);r=e/t,l=n/t}else r=e/(o.max-o.min),l=n/(h.max-h.min);let c=Math.min(l,r),u=(e-(o.max-o.min)*c)/2,f=(n-(h.max-h.min)*c)/2;return O(a.map(t=>({radius:c*t.radius,x:s+u+(t.x-o.min)*c,y:s+f+(t.y-h.min)*c,setid:t.setid})))}function O(t){let e={};for(let n of t)e[n.setid]=n;return e}function C(t){return Object.keys(t).map(e=>Object.assign(t[e],{setid:e}))}function D(t,e){return function(n){let s=this,i=t[n.sets[0]].radius||50,r=e(n)||"",l=r.split(/\s+/).reverse(),a=(r.length+l.length)/3,o=l.pop(),h=[o],c=0;s.textContent=null;let u=[];function f(t){let e=s.ownerDocument.createElementNS(s.namespaceURI,"tspan");return e.textContent=t,u.push(e),s.append(e),e}let d=f(o);for(;o=l.pop();){h.push(o);let t=h.join(" ");d.textContent=t,t.length>a&&d.getComputedTextLength()>i&&(h.pop(),d.textContent=h.join(" "),h=[o],d=f(o),c++)}let y=.35-1.1*c/2,g=s.getAttribute("x"),x=s.getAttribute("y");u.forEach((t,e)=>{t.setAttribute("x",g),t.setAttribute("y",x),t.setAttribute("dy",`${y+1.1*e}em`)})}}function F(t,e,n){let s=e[0].radius-x(e[0],t);for(let n=1;n<e.length;++n){let i=e[n].radius-x(e[n],t);i<=s&&(s=i)}for(let e=0;e<n.length;++e){let i=x(n[e],t)-n[e].radius;i<=s&&(s=i)}return s}function j(t,e,n){let s={},i=function(t){let e={},n=Object.keys(t);for(let t of n)e[t]=[];for(let s=0;s<n.length;s++){let i=n[s],r=t[i];for(let l=s+1;l<n.length;++l){let s=n[l],a=t[s],o=x(r,a);o+a.radius<=r.radius+1e-10?e[s].push(i):o+r.radius<=a.radius+1e-10&&e[i].push(s)}}return e}(t);for(let r=0;r<e.length;++r){let l=e[r].sets,a={},o={};for(let t=0;t<l.length;++t){a[l[t]]=!0;let e=i[l[t]];for(let t=0;t<e.length;++t)o[e[t]]=!0}let h=[],c=[];for(let e in t)e in a?h.push(t[e]):e in o||c.push(t[e]);let u=function t(e,n,s){let i=[];for(let t of e)i.push({x:t.x,y:t.y}),i.push({x:t.x+t.radius/2,y:t.y}),i.push({x:t.x-t.radius/2,y:t.y}),i.push({x:t.x,y:t.y+t.radius/2}),i.push({x:t.x,y:t.y-t.radius/2});let r=i[0],l=F(i[0],e,n);for(let t=1;t<i.length;++t){let s=F(i[t],e,n);s>=l&&(r=i[t],l=s)}let a=S(t=>-1*F({x:t[0],y:t[1]},e,n),[r.x,r.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:s?0:a[0],y:a[1]},h=!0;for(let t of e)if(x(o,t)>t.radius){h=!1;break}for(let t of n)if(x(o,t)<t.radius){h=!1;break}if(h)return o;if(1==e.length)return{x:e[0].x,y:e[0].y};let c={};return(y(e,c),0===c.arcs.length)?{x:0,y:-1e3,disjoint:!0}:1==c.arcs.length?{x:c.arcs[0].circle.x,y:c.arcs[0].circle.y}:n.length?t(e,[]):b(c.arcs.map(t=>t.p1))}(h,c,n);s[l]=u,u.disjoint&&e[r].size>0&&console.log("WARNING: area "+l+" not represented on screen")}return s}function L(t){if(0===t.length)return[];let e={};return y(t,e),e.arcs}function P(t,e){if(0===t.length)return"M 0 0";let n=Math.pow(10,e||0),s=null!=e?t=>Math.round(t*n)/n:t=>t;if(1==t.length){var i,r,l;let e,n=t[0].circle;return i=s(n.x),r=s(n.y),l=s(n.radius),(e=[]).push("\nM",i,r),e.push("\nm",-l,0),e.push("\na",l,l,0,1,0,2*l,0),e.push("\na",l,l,0,1,0,-(2*l),0),e.join(" ")}let a=["\nM",s(t[0].p2.x),s(t[0].p2.y)];for(let e of t){let t=s(e.circle.radius);a.push("\nA",t,t,0,+!!e.large,+!!e.sweep,s(e.p1.x),s(e.p1.y))}return a.join(" ")}var q=n(2274),U=function(){var t=(0,a.K)(function(t,e,n,s){for(n=n||{},s=t.length;s--;n[t[s]]=e);return n},"o"),e=[5,8],n=[7,8,11,12,17,19,22,24],s=[1,17],i=[1,18],r=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],l=[1,31],o=[1,39],h=[7,8,11,12,17,19,22,24,27],c=[1,57],u=[1,56],f=[1,58],d=[1,59],y=[1,60],g=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],x={trace:(0,a.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:(0,a.K)(function(t,e,n,s,i,r,l){var a=r.length-1;switch(i){case 1:return r[a-1];case 2:case 3:case 4:case 6:this.$=[];break;case 5:case 35:r[a-1].push(r[a]),this.$=r[a-1];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:case 43:case 44:this.$=r[a];break;case 8:s.setDiagramTitle(r[a].substr(6)),this.$=r[a].substr(6);break;case 9:s.addSubsetData([r[a]],void 0,void 0),s.setIndentMode&&s.setIndentMode(!0);break;case 10:s.addSubsetData([r[a-1]],r[a],void 0),s.setIndentMode&&s.setIndentMode(!0);break;case 11:s.addSubsetData([r[a-2]],void 0,parseFloat(r[a])),s.setIndentMode&&s.setIndentMode(!0);break;case 12:s.addSubsetData([r[a-3]],r[a-2],parseFloat(r[a])),s.setIndentMode&&s.setIndentMode(!0);break;case 13:if(r[a].length<2)throw Error("union requires multiple identifiers");s.validateUnionIdentifiers&&s.validateUnionIdentifiers(r[a]),s.addSubsetData(r[a],void 0,void 0),s.setIndentMode&&s.setIndentMode(!0);break;case 14:if(r[a-1].length<2)throw Error("union requires multiple identifiers");s.validateUnionIdentifiers&&s.validateUnionIdentifiers(r[a-1]),s.addSubsetData(r[a-1],r[a],void 0),s.setIndentMode&&s.setIndentMode(!0);break;case 15:if(r[a-2].length<2)throw Error("union requires multiple identifiers");s.validateUnionIdentifiers&&s.validateUnionIdentifiers(r[a-2]),s.addSubsetData(r[a-2],void 0,parseFloat(r[a])),s.setIndentMode&&s.setIndentMode(!0);break;case 16:if(r[a-3].length<2)throw Error("union requires multiple identifiers");s.validateUnionIdentifiers&&s.validateUnionIdentifiers(r[a-3]),s.addSubsetData(r[a-3],r[a-2],parseFloat(r[a])),s.setIndentMode&&s.setIndentMode(!0);break;case 17:case 18:case 19:s.addTextData(r[a-1],r[a],void 0);break;case 20:case 21:s.addTextData(r[a-2],r[a-1],r[a]);break;case 23:s.addStyleData(r[a-1],r[a]);break;case 24:case 25:case 26:var o=s.getCurrentSets();if(!o)throw Error("text requires set");s.addTextData(o,r[a],void 0);break;case 27:case 28:var o=s.getCurrentSets();if(!o)throw Error("text requires set");s.addTextData(o,r[a-1],r[a]);break;case 29:case 41:case 34:this.$=[r[a]];break;case 30:case 42:this.$=[...r[a-2],r[a]];break;case 31:this.$=[r[a-2],r[a]];break;case 33:this.$=r[a].join(" ")}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(n,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(n,[2,5]),t(n,[2,6]),t(n,[2,7]),t(n,[2,8]),{13:16,20:s,21:i},{13:20,18:19,20:s,21:i},{13:20,18:21,20:s,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:s,21:i},t(n,[2,9],{14:[1,27],15:[1,28]}),t(r,[2,43]),t(r,[2,44]),t(n,[2,13],{14:[1,29],15:[1,30],27:l}),t(r,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:l},t(n,[2,22]),t(n,[2,24],{14:[1,35]}),t(n,[2,25],{14:[1,36]}),t(n,[2,26]),{20:o,25:37,26:38,27:l},t(n,[2,10],{15:[1,40]}),{16:[1,41]},t(n,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:s,21:i},t(n,[2,17],{14:[1,45]}),t(n,[2,18],{14:[1,46]}),t(n,[2,19]),t(n,[2,27]),t(n,[2,28]),t(n,[2,23],{27:[1,47]}),t(h,[2,29]),{15:[1,48]},{16:[1,49]},t(n,[2,11]),{16:[1,50]},t(n,[2,15]),t(r,[2,42]),t(n,[2,20]),t(n,[2,21]),{20:o,26:51},{16:c,20:u,21:[1,53],28:52,29:54,30:55,31:f,32:d,33:y},t(n,[2,12]),t(n,[2,16]),t(h,[2,30]),t(h,[2,31]),t(h,[2,32]),t(h,[2,33],{30:61,16:c,20:u,31:f,32:d,33:y}),t(g,[2,34]),t(g,[2,36]),t(g,[2,37]),t(g,[2,38]),t(g,[2,39]),t(g,[2,40]),t(g,[2,35])],defaultActions:{6:[2,1]},parseError:(0,a.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,a.K)(function(t){var e=this,n=[0],s=[],i=[null],r=[],l=this.table,o="",h=0,c=0,u=0,f=r.slice.call(arguments,1),d=Object.create(this.lexer),y={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y[g]=this.yy[g]);d.setInput(t,y),y.lexer=d,y.parser=this,void 0===d.yylloc&&(d.yylloc={});var x=d.yylloc;r.push(x);var p=d.options&&d.options.ranges;function m(){var t;return"number"!=typeof(t=s.pop()||d.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.parseError?this.parseError=y.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.K)(function(t){n.length=n.length-2*t,i.length=i.length-t,r.length=r.length-t},"popStack"),(0,a.K)(m,"lex");for(var b,v,M,I,k,_,w,S,E,z={};;){if(M=n[n.length-1],this.defaultActions[M]?I=this.defaultActions[M]:(null==b&&(b=m()),I=l[M]&&l[M][b]),void 0===I||!I.length||!I[0]){var T="";for(_ in E=[],l[M])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");T=d.showPosition?"Parse error on line "+(h+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(T,{text:d.match,token:this.terminals_[b]||b,line:d.yylineno,loc:x,expected:E})}if(I[0]instanceof Array&&I.length>1)throw Error("Parse Error: multiple actions possible at state: "+M+", token: "+b);switch(I[0]){case 1:n.push(b),i.push(d.yytext),r.push(d.yylloc),n.push(I[1]),b=null,v?(b=v,v=null):(c=d.yyleng,o=d.yytext,h=d.yylineno,x=d.yylloc,u>0&&u--);break;case 2:if(w=this.productions_[I[1]][1],z.$=i[i.length-w],z._$={first_line:r[r.length-(w||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(w||1)].first_column,last_column:r[r.length-1].last_column},p&&(z._$.range=[r[r.length-(w||1)].range[0],r[r.length-1].range[1]]),void 0!==(k=this.performAction.apply(z,[o,c,h,y,I[1],i,r].concat(f))))return k;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),r=r.slice(0,-1*w)),n.push(this.productions_[I[1]][0]),i.push(z.$),r.push(z._$),S=l[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0},"parse")};function p(){this.yy={}}return x.lexer={EOF:1,parseError:(0,a.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,a.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,a.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,a.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.K)(function(){return this._more=!0,this},"more"),reject:(0,a.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,a.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,a.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,a.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,a.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,a.K)(function(t,e){var n,s,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var r in i)this[r]=i[r];return!1},"test_match"),next:(0,a.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,s,i=this._currentRules(),r=0;r<i.length;r++)if((n=this._input.match(this.rules[i[r]]))&&(!e||n[0].length>e[0].length)){if(e=n,s=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,a.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,a.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,a.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,a.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,a.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,a.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.K)(function(t,e,n,s){switch(n){case 0:case 1:case 2:case 4:case 7:case 8:break;case 3:if(t.getIndentMode&&t.getIndentMode())return t.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 5:t.setIndentMode&&t.setIndentMode(!1),this.begin("INITIAL"),this.unput(e.yytext);break;case 6:return this.begin("bol"),8;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(!t.consumeIndentText)return 19;t.consumeIndentText=!1;break;case 15:return 24;case 16:return e.yytext=e.yytext.slice(2,-2),14;case 17:return e.yytext=e.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}},(0,a.K)(p,"Parser"),p.prototype=x,x.Parser=p,new p}();U.parser=U;var B=[],G=[],W=[],V=new Set,X=!1,Y=(0,a.K)((t,e,n)=>{let i=tn(t).sort(),r=n??10/Math.pow(t.length,2);s=i,1===i.length&&V.add(i[0]),B.push({sets:i,size:r,label:e?H(e):void 0})},"addSubsetData"),Z=(0,a.K)(()=>B,"getSubsetData"),H=(0,a.K)(t=>{let e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),J=(0,a.K)(t=>t?H(t):t,"normalizeStyleValue"),Q=(0,a.K)((t,e,n)=>{let s=H(e);G.push({sets:tn(t).sort(),id:s,label:n?H(n):void 0})},"addTextData"),tt=(0,a.K)((t,e)=>{let n=tn(t).sort(),s={};for(let[t,n]of e)s[t]=J(n)??n;W.push({targets:n,styles:s})},"addStyleData"),te=(0,a.K)(()=>W,"getStyleData"),tn=(0,a.K)(t=>t.map(t=>H(t)),"normalizeIdentifierList"),ts=(0,a.K)(t=>{let e=tn(t).filter(t=>!V.has(t));if(e.length>0)throw Error(`unknown set identifier: ${e.join(", ")}`)},"validateUnionIdentifiers"),ti=(0,a.K)(()=>G,"getTextData"),tr=(0,a.K)(()=>s,"getCurrentSets"),tl=(0,a.K)(()=>X,"getIndentMode"),ta=(0,a.K)(t=>{X=t},"setIndentMode"),to=l.UI.venn;function th(){return(0,r.$t)(to,(0,l.zj)().venn)}(0,a.K)(th,"getConfig");var tc={getConfig:th,clear:(0,a.K)(()=>{(0,l.IU)(),B.length=0,G.length=0,W.length=0,V.clear(),s=void 0,X=!1},"customClear"),setAccTitle:l.SV,getAccTitle:l.iN,setDiagramTitle:l.ke,getDiagramTitle:l.ab,getAccDescription:l.m7,setAccDescription:l.EI,addSubsetData:Y,getSubsetData:Z,addTextData:Q,addStyleData:tt,validateUnionIdentifiers:ts,getTextData:ti,getStyleData:te,getCurrentSets:tr,getIndentMode:tl,setIndentMode:ta},tu=(0,a.K)(t=>` + .venn-title { + font-size: 32px; + fill: ${t.vennTitleTextColor}; + font-family: ${t.fontFamily}; + } + + .venn-circle text { + font-size: 48px; + font-family: ${t.fontFamily}; + } + + .venn-intersection text { + font-size: 48px; + fill: ${t.vennSetTextColor}; + font-family: ${t.fontFamily}; + } + + .venn-text-node { + font-family: ${t.fontFamily}; + color: ${t.vennSetTextColor}; + } +`,"getStyles");function tf(t){let e=new Map;for(let n of t){let t=n.targets.join("|"),s=e.get(t);s?Object.assign(s,n.styles):e.set(t,{...n.styles})}return e}(0,a.K)(tf,"buildStyleByKey");var td=(0,a.K)((t,e,n,s)=>{let r=s.db,a=r.getConfig?.(),{themeVariables:c,look:y,handDrawnSeed:g}=(0,l.zj)(),x="handDrawn"===y,p=[c.venn1,c.venn2,c.venn3,c.venn4,c.venn5,c.venn6,c.venn7,c.venn8].filter(Boolean),m=r.getDiagramTitle?.(),b=r.getSubsetData(),v=r.getTextData(),M=tf(r.getStyleData()),I=tx(b),k=a?.width??800,_=a?.height??450,w=k/1600,S=m?48*w:0,z=c.primaryTextColor??c.textColor,T=(0,i.D)(e);T.attr("viewBox",`0 0 ${k} ${_}`),m&&T.append("text").text(m).attr("class","venn-title").attr("font-size",`${32*w}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*w).style("fill",c.vennTitleTextColor||c.titleColor);let R=(0,o.Ltv)(document.createElement("div")),O=(function(t={}){let e=!1,n=600,s=350,i=15,r=1e3,l=Math.PI/2,a=!0,o=null,h=!0,c=!0,u=null,f=null,d=!1,y=null,g=!!t&&!!t.symmetricalTextCentre&&t.symmetricalTextCentre,x={},p=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],m=0,b=function(t){if(t in x)return x[t];var e=x[t]=p[m];return(m+=1)>=p.length&&(m=0),e},v=E,M=A;function I(x){let p=x.datum(),m=new Set;p.forEach(t=>{0==t.size&&1==t.sets.length&&m.add(t.sets[0])});let I={},k={};if((p=p.filter(t=>!t.sets.some(t=>m.has(t)))).length>0){let t=v(p,{lossFunction:M,distinct:d});a&&(t=$(t,l,f)),k=j(I=N(t,n,s,i,o),p,g)}let _={};function w(t){return t.sets in _?_[t.sets]:1==t.sets.length?""+t.sets[0]:void 0}p.forEach(t=>{t.label&&(_[t.sets]=t.label)}),x.selectAll("svg").data([I]).enter().append("svg");let S=x.select("svg");e?S.attr("viewBox",`0 0 ${n} ${s}`):S.attr("width",n).attr("height",s);let E={},z=!1;function T(t){return e=>{var i,r;return i=t.sets.map(t=>{let i=E[t],r=I[t];return i||(i={x:n/2,y:s/2,radius:1}),r||(r={x:n/2,y:s/2,radius:1}),{x:i.x*(1-e)+r.x*e,y:i.y*(1-e)+r.y*e,radius:i.radius*(1-e)+r.radius*e}}),r=y,P(L(i),r)}}S.selectAll(".venn-area path").each(function(t){let e,n=this.getAttribute("d");1==t.sets.length&&n&&!d&&(z=!0,E[t.sets[0]]={x:Number.parseFloat((e=n.split(" "))[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])})});let A=S.selectAll(".venn-area").data(p,t=>t.sets),K=A.enter().append("g").attr("class",t=>`venn-area venn-${1==t.sets.length?"circle":"intersection"}${t.colour||t.color?" venn-coloured":""}`).attr("data-venn-sets",t=>t.sets.join("_")),R=K.append("path"),O=K.append("text").attr("class","label").text(t=>w(t)).attr("text-anchor","middle").attr("dy",".35em").attr("x",n/2).attr("y",s/2);function C(t){return"function"==typeof t.transition?t.transition("venn").duration(r):t}c&&(R.style("fill-opacity","0").filter(t=>1==t.sets.length).style("fill",t=>t.colour?t.colour:t.color?t.color:b(t.sets)).style("fill-opacity",".25"),O.style("fill",e=>e.colour||e.color?"#FFF":t.textFill?t.textFill:1==e.sets.length?b(e.sets):"#444"));let F=x;z&&"function"==typeof F.transition?(F=C(x)).selectAll("path").attrTween("d",T):F.selectAll("path").attr("d",t=>P(L(t.sets.map(t=>I[t])),void 0),y);let q=F.selectAll("text").filter(t=>t.sets in k).text(t=>w(t)).attr("x",t=>Math.floor(k[t.sets].x)).attr("y",t=>Math.floor(k[t.sets].y));h&&(z?"on"in q?q.on("end",D(I,w)):q.each("end",D(I,w)):q.each(D(I,w)));let U=C(A.exit()).remove();"function"==typeof A.transition&&U.selectAll("path").attrTween("d",T);let B=U.selectAll("text").attr("x",n/2).attr("y",s/2);return null!==u&&(O.style("font-size","0px"),q.style("font-size",u),B.style("font-size","0px")),{circles:I,textCentres:k,nodes:A,enter:K,update:F,exit:U}}return I.wrap=function(t){return arguments.length?(h=t,I):h},I.useViewBox=function(){return e=!0,I},I.width=function(t){return arguments.length?(n=t,I):n},I.height=function(t){return arguments.length?(s=t,I):s},I.padding=function(t){return arguments.length?(i=t,I):i},I.distinct=function(t){return arguments.length?(d=t,I):d},I.colours=function(t){return arguments.length?(b=t,I):b},I.colors=function(t){return arguments.length?(b=t,I):b},I.fontSize=function(t){return arguments.length?(u=t,I):u},I.round=function(t){return arguments.length?(y=t,I):y},I.duration=function(t){return arguments.length?(r=t,I):r},I.layoutFunction=function(t){return arguments.length?(v=t,I):v},I.normalize=function(t){return arguments.length?(a=t,I):a},I.scaleToFit=function(t){return arguments.length?(o=t,I):o},I.styled=function(t){return arguments.length?(c=t,I):c},I.orientation=function(t){return arguments.length?(l=t,I):l},I.orientationOrder=function(t){return arguments.length?(f=t,I):f},I.lossFunction=function(t){return arguments.length?(M="default"===t?A:"logRatio"===t?K:t,I):M},I})().width(k).height(_-S);R.datum(I).call(O);let C=x?q.A.svg(R.select("svg").node()):void 0,F=function(t,e={}){let{lossFunction:n,layoutFunction:s=E,normalize:i=!0,orientation:r=Math.PI/2,orientationOrder:l,width:a=600,height:o=350,padding:h=15,scaleToFit:c=!1,symmetricalTextCentre:u=!1,distinct:f,round:d=2}=e,y=s(t,{lossFunction:"default"!==n&&n?"logRatio"===n?K:n:A,distinct:f});i&&(y=$(y,r,l));let g=N(y,a,o,h,c),x=j(g,t,u),p=new Map(Object.keys(g).map(t=>[t,{set:t,x:g[t].x,y:g[t].y,radius:g[t].radius}])),m=t.map(t=>{let e=t.sets.map(t=>p.get(t)),n=L(e),s=P(n,d);return{circles:e,arcs:n,path:s,area:t,has:new Set(t.sets)}});return m.map(({circles:t,arcs:e,path:n,area:s})=>({data:s,text:x[s.sets],circles:t,arcs:e,path:n,distinctPath:n+function(t){let e="";for(let n of m)n.has.size>t.length&&t.every(t=>n.has.has(t))&&(e+=" "+n.path);return e}(s.sets)}))}(I,{width:k,height:_-S,padding:a?.padding??15}),U=new Map;for(let t of F){let e=ty([...t.data.sets].sort());U.set(e,t)}v.length>0&&tg(a,U,R,v,w,M);let B=(0,h.A)(c.background||"#f4f4f4");R.selectAll(".venn-circle").each(function(t,e){let n=(0,o.Ltv)(this),s=ty([...t.sets].sort()),i=M.get(s),r=p.length>0?p[e%p.length]:void 0,l=i?.fill||r||c.primaryColor;n.classed(`venn-set-${e%8}`,!0);let a=i?.["fill-opacity"]??.1,h=i?.stroke||l,y=i?.["stroke-width"]||`${5*w}`;if(x&&C){let t=U.get(s);if(t&&t.circles.length>0){let s=t.circles[0],i=C.circle(s.x,s.y,2*s.radius,{roughness:.7,seed:g,fill:u(l,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+60*e,stroke:h,strokeWidth:parseFloat(String(y))});n.select("path").remove(),n.node()?.insertBefore(i,n.select("text").node())}}else n.select("path").style("fill",l).style("fill-opacity",a).style("stroke",h).style("stroke-width",y).style("stroke-opacity",.95);let m=i?.color||(B?(0,f.A)(l,30):(0,d.A)(l,30));n.select("text").style("font-size",`${48*w}px`).style("fill",m)}),x&&C?R.selectAll(".venn-intersection").each(function(t){let e=(0,o.Ltv)(this),n=ty([...t.sets].sort()),s=M.get(n),i=s?.fill;if(i){let t=e.select("path"),n=t.attr("d");if(n){let e=C.path(n,{roughness:.7,seed:g,fill:u(i,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),s=t.node();s?.parentNode?.insertBefore(e,s),t.remove()}}else e.select("path").style("fill-opacity",0);e.select("text").style("font-size",`${48*w}px`).style("fill",s?.color??c.vennSetTextColor??z)}):(R.selectAll(".venn-intersection text").style("font-size",`${48*w}px`).style("fill",t=>{let e=ty([...t.sets].sort());return M.get(e)?.color??c.vennSetTextColor??z}),R.selectAll(".venn-intersection path").style("fill-opacity",t=>{let e=ty([...t.sets].sort());return+!!M.get(e)?.fill}).style("fill",t=>{let e=ty([...t.sets].sort());return M.get(e)?.fill??"transparent"}));let G=T.append("g").attr("transform",`translate(0, ${S})`),W=R.select("svg").node();if(W&&"childNodes"in W)for(let t of[...W.childNodes])G.node()?.appendChild(t);(0,l.a$)(T,_,k,a?.useMaxWidth??!0)},"draw");function ty(t){return t.join("|")}function tg(t,e,n,s,i,r){let l=t?.useDebugLayout??!1,a=n.select("svg").append("g").attr("class","venn-text-nodes"),o=new Map;for(let t of s){let e=ty(t.sets),n=o.get(e);n?n.push(t):o.set(e,[t])}for(let[t,n]of o.entries()){let s=e.get(t);if(!s?.text)continue;let o=s.text.x,h=s.text.y,c=Math.min(...s.circles.map(t=>t.radius)),u=Math.min(...s.circles.map(t=>t.radius-Math.hypot(o-t.x,h-t.y))),f=Number.isFinite(u)?Math.max(0,u):0;0===f&&Number.isFinite(c)&&(f=.6*c);let d=a.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);l&&d.append("circle").attr("class","venn-text-debug-circle").attr("cx",o).attr("cy",h).attr("r",f).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);let y=Math.max(80*i,2*f*.95),g=Math.max(60*i,2*f*.95),x=(s.data.label&&s.data.label.length>0?Math.min(32*i,.25*f):0)+(n.length<=2?30*i:0),p=o-y/2,m=h-g/2+x,b=Math.max(1,Math.ceil(Math.sqrt(n.length))),v=Math.max(1,Math.ceil(n.length/b)),M=y/b,I=g/v;for(let[t,e]of n.entries()){let n=t%b,s=Math.floor(t/b),a=p+M*(n+.5),o=m+I*(s+.5);l&&d.append("rect").attr("class","venn-text-debug-cell").attr("x",p+M*n).attr("y",m+I*s).attr("width",M).attr("height",I).attr("fill","none").attr("stroke","teal").attr("stroke-width",+i).attr("stroke-dasharray",`${4*i} ${3*i}`);let h=.9*M,c=.9*I,u=d.append("foreignObject").attr("class","venn-text-node-fo").attr("width",h).attr("height",c).attr("x",a-h/2).attr("y",o-c/2).attr("overflow","visible"),f=r.get(e.id)?.color,y=u.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(e.label??e.id);f&&y.style("color",f)}}}function tx(t){let e=new Set(t.map(t=>[...t.sets].sort().join("|"))),n=new Map(t.filter(t=>1===t.sets.length&&void 0!==t.size).map(t=>[t.sets[0],t.size])),s=[];for(let i of t){if(i.sets.length<3)continue;let t=[...i.sets].sort();for(let i=0;i<t.length-1;i++)for(let r=i+1;r<t.length;r++){let l=[t[i],t[r]],a=l.join("|");if(!e.has(a)){e.add(a);let t=n.get(l[0]),i=n.get(l[1]),r=void 0!==t&&void 0!==i?Math.min(t,i)/4:2.5;s.push({sets:l,size:r,label:""})}}}return s.length>0?[...t,...s]:t}(0,a.K)(ty,"stableSetsKey"),(0,a.K)(tg,"renderTextNodes"),(0,a.K)(tx,"ensurePairwiseSubsets");var tp={parser:U,db:tc,renderer:{draw:td},styles:tu}}}]); \ No newline at end of file diff --git a/en/assets/js/3851.7f972b73.js b/en/assets/js/3851.7f972b73.js new file mode 100644 index 0000000..1253c70 --- /dev/null +++ b/en/assets/js/3851.7f972b73.js @@ -0,0 +1,149 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3851"],{5937(e,t,s){s.d(t,{A:()=>n});var i=s(1553),r=s(6408);let n=(e,t)=>i.A.lang.round(r.A.parse(e)[t])},9734(e,t,s){s.d(t,{diagram:()=>eL});var i=s(4918),r=s(3247),n=s(6163),a=s(7827);s(3002),s(739),s(6320),s(2217);var o=s(2941),l=s(6348),c=s(1177),h=s(1293),u=s(6827),g=s(7110),d=s(9125),y=s(9826),p=s(9663);function b(e,t){for(let s in t)Object.hasOwn(t,s)&&(e[s]=t[s])}var f=s(5937),x=s(5582),S=s(7829),m=s(697),L=function(){var e=(0,u.K)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,15],s=[1,7],i=[1,13],r=[1,14],n=[1,19],a=[1,16],o=[1,17],l=[1,18],c=[8,30],h=[8,10,21,28,29,30,31,39,43,46],g=[1,23],d=[1,24],y=[8,10,15,16,21,28,29,30,31,39,43,46],p=[8,10,15,16,21,27,28,29,30,31,39,43,46],b=[1,49],f={trace:(0,u.K)(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:(0,u.K)(function(e,t,s,i,r,n,a){var o=n.length-1;switch(r){case 4:i.getLogger().debug("Rule: separator (NL) ");break;case 5:i.getLogger().debug("Rule: separator (Space) ");break;case 6:i.getLogger().debug("Rule: separator (EOF) ");break;case 7:i.getLogger().debug("Rule: hierarchy: ",n[o-1]),i.setHierarchy(n[o-1]);break;case 8:i.getLogger().debug("Stop NL ");break;case 9:i.getLogger().debug("Stop EOF ");break;case 10:i.getLogger().debug("Stop NL2 ");break;case 11:i.getLogger().debug("Stop EOF2 ");break;case 12:i.getLogger().debug("Rule: statement: ",n[o]),"number"==typeof n[o].length?this.$=n[o]:this.$=[n[o]];break;case 13:i.getLogger().debug("Rule: statement #2: ",n[o-1]),this.$=[n[o-1]].concat(n[o]);break;case 14:i.getLogger().debug("Rule: link: ",n[o],e),this.$={edgeTypeStr:n[o],label:""};break;case 15:i.getLogger().debug("Rule: LABEL link: ",n[o-3],n[o-1],n[o]),this.$={edgeTypeStr:n[o],label:n[o-1]};break;case 18:let l=parseInt(n[o]),c=i.generateId();this.$={id:c,type:"space",label:"",width:l,children:[]};break;case 23:i.getLogger().debug("Rule: (nodeStatement link node) ",n[o-2],n[o-1],n[o]," typestr: ",n[o-1].edgeTypeStr);let h=i.edgeStrToEdgeData(n[o-1].edgeTypeStr),u=i.edgeStrToEdgeStartData(n[o-1].edgeTypeStr),g=i.edgeStrToThickness(n[o-1].edgeTypeStr),d=i.edgeStrToPattern(n[o-1].edgeTypeStr);this.$=[{id:n[o-2].id,label:n[o-2].label,type:n[o-2].type,directions:n[o-2].directions},{id:n[o-2].id+"-"+n[o].id,start:n[o-2].id,end:n[o].id,label:n[o-1].label,type:"edge",thickness:g,pattern:d,directions:n[o].directions,arrowTypeEnd:h,arrowTypeStart:u},{id:n[o].id,label:n[o].label,type:i.typeStr2Type(n[o].typeStr),directions:n[o].directions}];break;case 24:i.getLogger().debug("Rule: nodeStatement (abc88 node size) ",n[o-1],n[o]),this.$={id:n[o-1].id,label:n[o-1].label,type:i.typeStr2Type(n[o-1].typeStr),directions:n[o-1].directions,widthInColumns:parseInt(n[o],10)};break;case 25:i.getLogger().debug("Rule: nodeStatement (node) ",n[o]),this.$={id:n[o].id,label:n[o].label,type:i.typeStr2Type(n[o].typeStr),directions:n[o].directions,widthInColumns:1};break;case 26:i.getLogger().debug("APA123",this?this:"na"),i.getLogger().debug("COLUMNS: ",n[o]),this.$={type:"column-setting",columns:"auto"===n[o]?-1:parseInt(n[o])};break;case 27:i.getLogger().debug("Rule: id-block statement : ",n[o-2],n[o-1]),i.generateId(),this.$={...n[o-2],type:"composite",children:n[o-1]};break;case 28:i.getLogger().debug("Rule: blockStatement : ",n[o-2],n[o-1],n[o]);let y=i.generateId();this.$={id:y,type:"composite",label:"",children:n[o-1]};break;case 29:i.getLogger().debug("Rule: node (NODE_ID separator): ",n[o]),this.$={id:n[o]};break;case 30:i.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",n[o-1],n[o]),this.$={id:n[o-1],label:n[o].label,typeStr:n[o].typeStr,directions:n[o].directions};break;case 31:i.getLogger().debug("Rule: dirList: ",n[o]),this.$=[n[o]];break;case 32:i.getLogger().debug("Rule: dirList: ",n[o-1],n[o]),this.$=[n[o-1]].concat(n[o]);break;case 33:i.getLogger().debug("Rule: nodeShapeNLabel: ",n[o-2],n[o-1],n[o]),this.$={typeStr:n[o-2]+n[o],label:n[o-1]};break;case 34:i.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",n[o-3],n[o-2]," #3:",n[o-1],n[o]),this.$={typeStr:n[o-3]+n[o],label:n[o-2],directions:n[o-1]};break;case 35:case 36:this.$={type:"classDef",id:n[o-1].trim(),css:n[o].trim()};break;case 37:this.$={type:"applyClass",id:n[o-1].trim(),styleClass:n[o].trim()};break;case 38:this.$={type:"applyStyles",id:n[o-1].trim(),stylesStr:n[o].trim()}}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:i,29:r,31:n,39:a,43:o,46:l},{8:[1,20]},e(c,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:s,28:i,29:r,31:n,39:a,43:o,46:l}),e(h,[2,16],{14:22,15:g,16:d}),e(h,[2,17]),e(h,[2,18]),e(h,[2,19]),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(y,[2,25],{27:[1,25]}),e(h,[2,26]),{19:26,26:12,31:n},{10:t,11:27,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:i,29:r,31:n,39:a,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(p,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(c,[2,13]),{26:35,31:n},{31:[2,14]},{17:[1,36]},e(y,[2,24]),{10:t,11:37,13:4,14:22,15:g,16:d,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:i,29:r,31:n,39:a,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(p,[2,30]),{18:[1,43]},{18:[1,44]},e(y,[2,23]),{18:[1,45]},{30:[1,46]},e(h,[2,28]),e(h,[2,35]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),{36:[1,47]},{33:48,34:b},{15:[1,50]},e(h,[2,27]),e(p,[2,33]),{38:[1,51]},{33:52,34:b,38:[2,31]},{31:[2,15]},e(p,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:(0,u.K)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,u.K)(function(e){var t=this,s=[0],i=[],r=[null],n=[],a=this.table,o="",l=0,c=0,h=0,g=n.slice.call(arguments,1),d=Object.create(this.lexer),y={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(y[p]=this.yy[p]);d.setInput(e,y),y.lexer=d,y.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;n.push(b);var f=d.options&&d.options.ranges;function x(){var e;return"number"!=typeof(e=i.pop()||d.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof y.parseError?this.parseError=y.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,u.K)(function(e){s.length=s.length-2*e,r.length=r.length-e,n.length=n.length-e},"popStack"),(0,u.K)(x,"lex");for(var S,m,L,k,_,w,E,D,$,I={};;){if(L=s[s.length-1],this.defaultActions[L]?k=this.defaultActions[L]:(null==S&&(S=x()),k=a[L]&&a[L][S]),void 0===k||!k.length||!k[0]){var N="";for(w in $=[],a[L])this.terminals_[w]&&w>2&&$.push("'"+this.terminals_[w]+"'");N=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+$.join(", ")+", got '"+(this.terminals_[S]||S)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==S?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(N,{text:d.match,token:this.terminals_[S]||S,line:d.yylineno,loc:b,expected:$})}if(k[0]instanceof Array&&k.length>1)throw Error("Parse Error: multiple actions possible at state: "+L+", token: "+S);switch(k[0]){case 1:s.push(S),r.push(d.yytext),n.push(d.yylloc),s.push(k[1]),S=null,m?(S=m,m=null):(c=d.yyleng,o=d.yytext,l=d.yylineno,b=d.yylloc,h>0&&h--);break;case 2:if(E=this.productions_[k[1]][1],I.$=r[r.length-E],I._$={first_line:n[n.length-(E||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(E||1)].first_column,last_column:n[n.length-1].last_column},f&&(I._$.range=[n[n.length-(E||1)].range[0],n[n.length-1].range[1]]),void 0!==(_=this.performAction.apply(I,[o,c,l,y,k[1],r,n].concat(g))))return _;E&&(s=s.slice(0,-1*E*2),r=r.slice(0,-1*E),n=n.slice(0,-1*E)),s.push(this.productions_[k[1]][0]),r.push(I.$),n.push(I._$),D=a[s[s.length-2]][s[s.length-1]],s.push(D);break;case 3:return!0}}return!0},"parse")};function x(){this.yy={}}return f.lexer={EOF:1,parseError:(0,u.K)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,u.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,u.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,u.K)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,u.K)(function(){return this._more=!0,this},"more"),reject:(0,u.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,u.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,u.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,u.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,u.K)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,u.K)(function(e,t){var s,i,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))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var n in r)this[n]=r[n];return!1},"test_match"),next:(0,u.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,r=this._currentRules(),n=0;n<r.length;n++)if((s=this._input.match(this.rules[r[n]]))&&(!t||s[0].length>t[0].length)){if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[n])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,u.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,u.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,u.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,u.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,u.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,u.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,u.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,u.K)(function(e,t,s,i){switch(s){case 0:return e.getLogger().debug("Found block-beta"),10;case 1:return e.getLogger().debug("Found id-block"),29;case 2:return e.getLogger().debug("Found block"),10;case 3:e.getLogger().debug(".",t.yytext);break;case 4:e.getLogger().debug("_",t.yytext);break;case 5:return 5;case 6:return t.yytext=-1,28;case 7:return t.yytext=t.yytext.replace(/columns\s+/,""),e.getLogger().debug("COLUMNS (LEX)",t.yytext),28;case 8:case 76:case 77:case 99:this.pushState("md_string");break;case 9:return"MD_STR";case 10:case 34:case 79:this.popState();break;case 11:this.pushState("string");break;case 12:e.getLogger().debug("LEX: POPPING STR:",t.yytext),this.popState();break;case 13:return e.getLogger().debug("LEX: STR end:",t.yytext),"STR";case 14:return t.yytext=t.yytext.replace(/space\:/,""),e.getLogger().debug("SPACE NUM (LEX)",t.yytext),21;case 15:return t.yytext="1",e.getLogger().debug("COLUMNS (LEX)",t.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:case 38:case 40:case 41:case 44:return this.popState(),e.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),e.getLogger().debug("Lex: ))"),"NODE_DEND";case 42:return this.popState(),e.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),e.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),e.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),e.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),e.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:case 49:return this.popState(),e.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),e.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),e.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),e.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),e.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return e.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return e.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return e.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:case 59:case 60:case 61:case 64:return e.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return e.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 62:return e.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return e.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 65:case 66:case 67:case 68:case 69:case 70:case 71:return this.pushState("NODE"),35;case 72:return e.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),e.getLogger().debug("LEX ARR START"),37;case 74:return e.getLogger().debug("Lex: NODE_ID",t.yytext),31;case 75:return e.getLogger().debug("Lex: EOF",t.yytext),8;case 78:return"NODE_DESCR";case 80:e.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:e.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return e.getLogger().debug("LEX: NODE_DESCR:",t.yytext),"NODE_DESCR";case 83:e.getLogger().debug("LEX POPPING"),this.popState();break;case 84:e.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (right): dir:",t.yytext),"DIR";case 86:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (left):",t.yytext),"DIR";case 87:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (x):",t.yytext),"DIR";case 88:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (y):",t.yytext),"DIR";case 89:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (up):",t.yytext),"DIR";case 90:return t.yytext=t.yytext.replace(/^,\s*/,""),e.getLogger().debug("Lex (down):",t.yytext),"DIR";case 91:return t.yytext="]>",e.getLogger().debug("Lex (ARROW_DIR end):",t.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 93:case 94:case 95:return e.getLogger().debug("Lex: LINK",t.yytext),15;case 96:case 97:case 98:return e.getLogger().debug("Lex: START_LINK",t.yytext),this.pushState("LLABEL"),16;case 100:return e.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),e.getLogger().debug("Lex: LINK","#"+t.yytext+"#"),15;case 102:case 103:return this.popState(),e.getLogger().debug("Lex: LINK",t.yytext),15;case 104:return e.getLogger().debug("Lex: COLON",t.yytext),t.yytext=t.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:=]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}},(0,u.K)(x,"Parser"),x.prototype=f,f.Parser=x,new x}();L.parser=L;var k=new Map,_=[],w=new Map,E="color",D="fill",$=new Map,I="",N=(0,u.K)(e=>c.Y2.sanitizeText(e,(0,c.D7)()),"sanitizeText"),T=(0,u.K)(function(e,t=""){let s=$.get(e);s||(s={id:e,styles:[],textStyles:[]},$.set(e,s)),null!=t&&t.split(",").forEach(e=>{let t=e.replace(/([^;]*);/,"$1").trim();if(RegExp(E).exec(e)){let e=t.replace(D,"bgFill").replace(E,D);s.textStyles.push(e)}s.styles.push(t)})},"addStyleClass"),O=(0,u.K)(function(e,t=""){let s=k.get(e);null!=t&&(s.styles=t.split(","))},"addStyle2Node"),R=(0,u.K)(function(e,t){e.split(",").forEach(function(e){let s=k.get(e);if(void 0===s){let t=e.trim();s={id:t,type:"na",children:[]},k.set(t,s)}s.classes||(s.classes=[]),s.classes.push(t)})},"setCssClass"),z=0,C=(0,u.K)((e,t)=>{let s=e.flat(),i=[],r=s.find(e=>e?.type==="column-setting"),n=r?.columns??-1;for(let e of s){if("number"==typeof n&&n>0&&"column-setting"!==e.type&&"number"==typeof e.widthInColumns&&e.widthInColumns>n&&h.R.warn(`Block ${e.id} width ${e.widthInColumns} exceeds configured column width ${n}`),e.label&&(e.label=N(e.label)),"classDef"===e.type){T(e.id,e.css);continue}if("applyClass"===e.type){R(e.id,e?.styleClass??"");continue}if("applyStyles"===e.type){e?.stylesStr&&O(e.id,e?.stylesStr);continue}if("column-setting"===e.type)t.columns=e.columns??-1;else if("edge"===e.type){let t=(w.get(e.id)??0)+1;w.set(e.id,t),e.id=t+"-"+e.id,_.push(e)}else{e.label||("composite"===e.type?e.label="":e.label=e.id);let t=k.get(e.id);if(void 0===t?("composite"===e.type&&(e.colorIndex=z++),k.set(e.id,e)):("na"!==e.type&&(t.type=e.type),e.label!==e.id&&(t.label=e.label)),e.children&&C(e.children,e),"space"===e.type){let t=e.width??1;for(let s=0;s<t;s++){let t=function(e){if((0,g.s)(e))return e;let t=(0,d.b)(e);if(!function(e){switch((0,d.b)(e)){case y.R_:case y.Uw:case y.cT:case y.iq:case y.$V:case y.vC:case y.ri:case y.ML:case y.XZ:case y.i1:case y._u:case y.pj:case y.kj:case y.GX:case y.Av:case y.NA:case y.OG:case y.VP:case y.Qb:case y.q:case y.x6:case y.ZR:return!0;default:return!1}}(e))return{};if(Array.isArray(e)){let t=Array.from(e);return e.length>0&&"string"==typeof e[0]&&Object.hasOwn(e,"index")&&(t.index=e.index,t.input=e.input),t}if((0,p.i)(e))return new e.constructor(e.buffer,e.byteOffset,e.length);if("[object ArrayBuffer]"===t)return new ArrayBuffer(e.byteLength);if("[object DataView]"===t){let t=e.buffer,s=e.byteOffset,i=e.byteLength,r=new ArrayBuffer(i),n=new Uint8Array(t,s,i);return new Uint8Array(r).set(n),new DataView(r)}if("[object Boolean]"===t||"[object Number]"===t||"[object String]"===t){let s=new e.constructor(e.valueOf());return"[object String]"===t?function(e,t){let s=t.valueOf().length;for(let i in t)Object.hasOwn(t,i)&&(Number.isNaN(Number(i))||Number(i)>=s)&&(e[i]=t[i])}(s,e):b(s,e),s}if("[object Date]"===t)return new Date(Number(e));if("[object RegExp]"===t){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if("[object Symbol]"===t)return Object(Symbol.prototype.valueOf.call(e));if("[object Map]"===t){let t=new Map;return e.forEach((e,s)=>{t.set(s,e)}),t}if("[object Set]"===t){let t=new Set;return e.forEach(e=>{t.add(e)}),t}if("[object Arguments]"===t){let t={};return b(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}let s={};return function(e,t){let s=Object.getPrototypeOf(t);null!==s&&"function"==typeof t.constructor&&Object.setPrototypeOf(e,s)}(s,e),b(s,e),function(e,t){let s=Object.getOwnPropertySymbols(t);for(let i=0;i<s.length;i++){let r=s[i];Object.prototype.propertyIsEnumerable.call(t,r)&&(e[r]=t[r])}}(s,e),s}(e);t.id=t.id+"-"+s,k.set(t.id,t),i.push(t)}}else void 0===t&&i.push(e)}}t.children=i},"populateBlockDatabase"),A=[],K={id:"root",type:"composite",children:[],columns:-1},v=(0,u.K)(()=>{h.R.debug("Clear called"),(0,c.IU)(),k=new Map([["root",K={id:"root",type:"composite",children:[],columns:-1}]]),A=[],$=new Map,_=[],w=new Map,I="",z=0},"clear");function B(e){switch(h.R.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return h.R.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 P(e){return(h.R.debug("typeStr2Type",e),"=="===e)?"thick":"normal"}function F(e){switch(e.trim().slice(-1)){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}function j(e){switch(e.trim().charAt(0)){case"x":return"arrow_cross";case"o":return"arrow_circle";case"<":return"arrow_point";default:return"arrow_open"}}function M(e){return e.includes("==")?"thick":"normal"}function Y(e){return e.includes(".-")?"dotted":"solid"}(0,u.K)(B,"typeStr2Type"),(0,u.K)(P,"edgeTypeStr2Type"),(0,u.K)(F,"edgeStrToEdgeData"),(0,u.K)(j,"edgeStrToEdgeStartData"),(0,u.K)(M,"edgeStrToThickness"),(0,u.K)(Y,"edgeStrToPattern");var W=0,X=(0,u.K)(()=>(W++,"id-"+Math.random().toString(36).substr(2,12)+"-"+W),"generateId"),U=(0,u.K)(e=>{K.children=e,C(e,K),A=K.children},"setHierarchy"),q=(0,u.K)(e=>{let t=k.get(e);return t?t.columns?t.columns:t.children?t.children.length:-1:-1},"getColumns"),G=(0,u.K)(()=>[...k.values()],"getBlocksFlat"),H=(0,u.K)(()=>A||[],"getBlocks"),V=(0,u.K)(()=>_,"getEdges"),Z=(0,u.K)(e=>k.get(e),"getBlock"),J=(0,u.K)(e=>{k.set(e.id,e)},"setBlock"),Q=(0,u.K)(e=>{I=e},"setDiagramId"),ee=(0,u.K)(()=>I,"getDiagramId"),et=(0,u.K)(()=>h.R,"getLogger"),es=(0,u.K)(function(){return $},"getClasses"),ei={getConfig:(0,u.K)(()=>(0,c.zj)().block,"getConfig"),typeStr2Type:B,edgeTypeStr2Type:P,edgeStrToEdgeData:F,edgeStrToEdgeStartData:j,edgeStrToThickness:M,edgeStrToPattern:Y,getLogger:et,getBlocksFlat:G,getBlocks:H,getEdges:V,setHierarchy:U,getBlock:Z,setBlock:J,getColumns:q,getClasses:es,clear:v,generateId:X,setDiagramId:Q,getDiagramId:ee},er=(0,u.K)(e=>{let{theme:t,bkgColorArray:s,borderColorArray:i}=e;if(!(0,o.P1)(t,i))return"";let r=(0,o.rq)(e.look),n=(0,o.Ic)(s),a="";for(let t=0;t<(0,o.nw)(e.THEME_COLOR_LIMIT,i);t++){let e=i[t%i.length],o=n?`fill: ${s[t%s.length]};`:"",l=`[data-look="${r}"][data-color-id="color-${t}"]`;a+=` + + ${l}.node rect.composite { + stroke: ${e}; + ${o} + } +`}return a},"genColor"),en=(0,u.K)((e,t)=>{let s=f.A,i=s(e,"r"),r=s(e,"g"),n=s(e,"b");return x.A(i,r,n,t)},"fade"),ea=(0,u.K)(e=>`${er(e)} + .label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span { + color: ${e.titleColor}; + } + + + + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + /* From the theme, as every other diagram does. Pinned at 1px here, so block drew a + thinner border than an identical flowchart node under any theme asking for more -- + the neo theme asks for 2. Nothing downstream corrected it: the neo rules set stroke + and filter, never stroke-width. */ + stroke-width: ${e.strokeWidth??1}px; + } + .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: ${e.arrowheadColor}; + } + + .edgePaths .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + /* + * This is for backward compatibility with existing code that didn't + * add a \`<p>\` around edge labels. + * + * TODO: We should probably remove this in a future release. + */ + p { + margin: 0; + padding: 0; + display: inline; + } + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${e.edgeLabelBackground}; + } + + .node .cluster { + // fill: ${en(e.mainBkg,.5)}; + fill: ${en(e.clusterBkg,.5)}; + stroke: ${en(e.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: ${e.titleColor}; + } + + .cluster span { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } + ${(0,i.o)()} +`,"getStyles");function eo(e,t){if(0===e||!Number.isInteger(e))throw Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw Error("Position must be a non-negative integer."+t);return e<0?{px:t,py:0}:1===e?{px:0,py:t}:{px:t%e,py:Math.floor(t/e)}}(0,u.K)(eo,"calculateBlockPosition");var el=(0,u.K)(e=>{let t=0,s=0;for(let i of e.children){let{width:e,height:r,x:n,y:a}=i.size??{width:0,height:0,x:0,y:0};if(h.R.debug("getMaxChildSize abc95 child:",i.id,"width:",e,"height:",r,"x:",n,"y:",a,i.type),"space"===i.type)continue;let o=e/(i.widthInColumns??1);o>t&&(t=o),r>s&&(s=r)}return{width:t,height:s}},"getMaxChildSize");function ec(e,t,s=0,i=0,r=8){h.R.debug("setBlockSizes abc95 (start)",e.id,e?.size?.x,"block width =",e?.size,"siblingWidth",s),e?.size?.width||(e.size={width:s,height:i,x:0,y:0});let n=0,a=0;if(e.children?.length>0){for(let s of e.children)ec(s,t,0,0,r);let o=el(e);for(let t of(n=o.width,a=o.height,h.R.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",n,a),e.children))t.size&&(h.R.debug(`abc95 Setting size of children of ${e.id} id=${t.id} ${n} ${a} ${JSON.stringify(t.size)}`),t.size.width=n*(t.widthInColumns??1)+r*((t.widthInColumns??1)-1),t.size.height=a,t.size.x=0,t.size.y=0,h.R.debug(`abc95 updating size of ${e.id} children child:${t.id} maxWidth:${n} maxHeight:${a}`));for(let s of e.children)ec(s,t,n,a,r);let l=e.columns??-1,c=0;for(let t of e.children)c+=t.widthInColumns??1;let u=e.children.length;l>0&&l<c&&(u=l);let g=Math.ceil(c/u),d=u*(n+r)+r,y=g*(a+r)+r;if(d<s){h.R.debug(`Detected to small sibling: abc95 ${e.id} siblingWidth ${s} siblingHeight ${i} width ${d}`),d=s,y=i;let t=(s-u*r-r)/u,o=(i-g*r-r)/g;for(let s of(h.R.debug("Size indata abc88",e.id,"childWidth",t,"maxWidth",n),h.R.debug("Size indata abc88",e.id,"childHeight",o,"maxHeight",a),h.R.debug("Size indata abc88 xSize",u,"padding",r),e.children))s.size&&(s.size.width=t,s.size.height=o,s.size.x=0,s.size.y=0)}if(h.R.debug(`abc95 (finale calc) ${e.id} xSize ${u} ySize ${g} columns ${l}${e.children.length} width=${Math.max(d,e.size?.width||0)}`),d<(e?.size?.width||0)){d=e?.size?.width||0;let t=l>0?Math.min(e.children.length,l):e.children.length;if(t>0){let s=(d-t*r-r)/t;for(let t of(h.R.debug("abc95 (growing to fit) width",e.id,d,e.size?.width,s),e.children))t.size&&(t.size.width=s)}}e.size={width:d,height:y,x:0,y:0}}h.R.debug("setBlockSizes abc94 (done)",e.id,e?.size?.x,e?.size?.width,e?.size?.y,e?.size?.height)}function eh(e,t,s=8){h.R.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`);let i=e.columns??-1;if(h.R.debug("layoutBlocks columns abc95",e.id,"=>",i,e),e.children&&e.children.length>0){let r=e?.children[0]?.size?.width??0,n=e.children.length*r+(e.children.length-1)*s;h.R.debug("widthOfChildren 88",n,"posX");let a=new Map;{let t=0;for(let s of e.children){if(!s.size)continue;let{py:e}=eo(i,t),r=a.get(e)??0;s.size.height>r&&a.set(e,s.size.height);let n=s?.widthInColumns??1;i>0&&(n=Math.min(n,i-t%i)),t+=n}}let o=new Map;{let e=0;for(let t of[...a.keys()].sort((e,t)=>e-t))o.set(t,e),e+=(a.get(t)??0)+s}let l=0;h.R.debug("abc91 block?.size?.x",e.id,e?.size?.x);let c=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-s,u=0;for(let r of e.children){if(!r.size)continue;let{width:n,height:g}=r.size,{px:d,py:y}=eo(i,l);if(y!=u&&(u=y,c=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-s,h.R.debug("New row in layout for block",e.id," and child ",r.id,u)),h.R.debug(`abc89 layout blocks (child) id: ${r.id} Pos: ${l} (px, py) ${d},${y} (${e?.size?.x},${e?.size?.y}) parent: ${e.id} width: ${n}${s}`),e.size){let t=n/2;r.size.x=c+s+t,h.R.debug(`abc91 layout blocks (calc) px, pyid:${r.id} startingPos=X${c} new startingPosX${r.size.x} ${t} padding=${s} width=${n} halfWidth=${t} => x:${r.size.x} y:${r.size.y} ${r.widthInColumns} (width * (child?.w || 1)) / 2 ${n*(r?.widthInColumns??1)/2}`),c=r.size.x+t;let i=o.get(y)??0,l=a.get(y)??g;r.size.y=e.size.y-e.size.height/2+i+l/2+s,h.R.debug(`abc88 layout blocks (calc) px, pyid:${r.id}startingPosX${c}${s}${t}=>x:${r.size.x}y:${r.size.y}${r.widthInColumns}(width * (child?.w || 1)) / 2${n*(r?.widthInColumns??1)/2}`)}r.children&&eh(r,t,s);let p=r?.widthInColumns??1;i>0&&(p=Math.min(p,i-l%i)),l+=p,h.R.debug("abc88 columnsPos",r,l)}}h.R.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`)}function eu(e,{minX:t,minY:s,maxX:i,maxY:r}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&"root"!==e.id){let{x:n,y:a,width:o,height:l}=e.size;n-o/2<t&&(t=n-o/2),a-l/2<s&&(s=a-l/2),n+o/2>i&&(i=n+o/2),a+l/2>r&&(r=a+l/2)}if(e.children)for(let n of e.children)({minX:t,minY:s,maxX:i,maxY:r}=eu(n,{minX:t,minY:s,maxX:i,maxY:r}));return{minX:t,minY:s,maxX:i,maxY:r}}function eg(e){let t=e.getBlock("root");if(!t)return;let s=(0,c.D7)()?.block?.padding??8;ec(t,e,0,0,s),eh(t,e,s),h.R.debug("getBlocks",JSON.stringify(t,null,2));let{minX:i,minY:r,maxX:n,maxY:a}=eu(t);return{x:i,y:r,width:n-i,height:a-r}}function ed(e,t,s=!1){let i,r="default";(e?.classes?.length||0)>0&&(r=(e?.classes??[]).join(" ")),r+=" flowchart-label";let n=(e?.classes??[]).flatMap(e=>t.getClasses().get(e)?.styles??[]),a=0,o="rect";switch(e.type){case"round":a=5,o="rect";break;case"composite":a=0,o="composite",i=0;break;case"square":case"group":default:o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"block_arrow":o="block_arrow";break;case"odd":case"rect_left_inv_arrow":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"doublecircle":o="doublecircle"}let h=(0,l.sM)(e?.styles??[]),u=e.label,g=e.size??{width:0,height:0,x:0,y:0},d=t.getDiagramId();return{labelStyle:h.labelStyle,shape:o,label:u,labelText:u,rx:a,ry:a,class:r,cssClasses:r,cssStyles:e?.styles??[],cssCompiledStyles:n,style:h.style,id:e.id,domId:d?`${d}-${e.id}`:e.id,isGroup:!1,directions:e.directions,width:g.width||void 0,height:g.height||void 0,wrappingWidth:g.width||1/0,x:g.x,y:g.y,positioned:s,intersect:void 0,padding:i??(0,c.zj)()?.block?.padding??0,widthInColumns:e.widthInColumns??1,colorIndex:e.colorIndex,look:(0,c.zj)().look}}async function ey(e,t,s){let i=ed(t,s,!1);if("group"===t.type)return;let r=(0,c.zj)(),n=await (0,a.on)(e,i,{config:r}),o=n.node()?.getBBox()??{width:0,height:0},l=s.getBlock(i.id);l.size={width:o.width,height:o.height,x:0,y:0,node:n},s.setBlock(l),n.remove()}async function ep(e,t,s){let i=ed(t,s,!0);if("space"!==s.getBlock(i.id).type){let s=(0,c.zj)(),r=await (0,a.on)(e,i,{config:s});void 0!==i.colorIndex&&(0,o.XE)(r,i.colorIndex,s.theme,s.themeVariables?.borderColorArray),t.intersect=i?.intersect,(0,a.U_)(i)}}async function eb(e,t,s,i){for(let r of t)await i(e,r,s),r.children&&await eb(e,r.children,s,i)}async function ef(e,t,s){await eb(e,t,s,ey)}async function ex(e,t,s){await eb(e,t,s,ep)}async function eS(e,t,s,i,r){let a=new m.T({multigraph:!0,compound:!0});for(let e of(a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8}),s))e.size&&a.setNode(e.id,{width:e.size.width,height:e.size.height,intersect:e.intersect});for(let s of t)if(s.start&&s.end){let t=i.getBlock(s.start),o=i.getBlock(s.end);if(t?.size&&o?.size){let i=t.size,l=o.size,c=[{x:i.x,y:i.y},{x:i.x+(l.x-i.x)/2,y:i.y+(l.y-i.y)/2},{x:l.x,y:l.y}],h=r?`${r}-${s.id}`:s.id,u="thick"===s.thickness?"edge-thickness-thick":"edge-thickness-normal",g="dotted"===s.pattern?"edge-pattern-dotted":"edge-pattern-solid",d=`${u} ${g} flowchart-link LS-a1 LE-b1`;(0,n.Jo)(e,{...s,id:h,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:c,classes:d},{},"block",a.node(s.start),a.node(s.end),r),s.label&&(await (0,n.jP)(e,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:c,classes:d}),(0,n.T_)({...s,x:c[1].x,y:c[1].y},{originalPath:c}))}}}(0,u.K)(ec,"setBlockSizes"),(0,u.K)(eh,"layoutBlocks"),(0,u.K)(eu,"findBounds"),(0,u.K)(eg,"layout"),(0,u.K)(ed,"getNodeFromBlock"),(0,u.K)(ey,"calculateBlockSize"),(0,u.K)(ep,"insertBlockPositioned"),(0,u.K)(eb,"performOperations"),(0,u.K)(ef,"calculateBlockSizes"),(0,u.K)(ex,"insertBlocks"),(0,u.K)(eS,"insertEdges");var em=(0,u.K)(function(e,t){return t.db.getClasses()},"getClasses"),eL={parser:L,db:ei,renderer:{draw:(0,u.K)(async function(e,t,s,i){let a,{securityLevel:o,block:l}=(0,c.zj)(),u=i.db;u.setDiagramId(t),"sandbox"===o&&(a=(0,S.Ltv)("#i"+t));let g="sandbox"===o?(0,S.Ltv)(a.nodes()[0].contentDocument.body):(0,S.Ltv)("body"),d="sandbox"===o?g.select(`[id="${t}"]`):(0,S.Ltv)(`[id="${t}"]`);(0,r.F)(d,(0,c.zj)()),(0,n.g0)(d,["point","circle","cross"],i.type,t);let y=u.getBlocks(),p=u.getBlocksFlat(),b=u.getEdges(),f=d.insert("g").attr("class","block");await ef(f,y,u);let x=eg(u);await ex(f,y,u),await eS(f,b,p,u,t);let m=f.node()?.getBBox(),L=m&&Number.isFinite(m.width)&&Number.isFinite(m.height)?m:x;if(L){let e=Math.max(1,Math.round(.125*(L.width/L.height))),t=L.height+e+10,s=L.width+10,{useMaxWidth:i}=l;(0,c.a$)(d,t,s,!!i),h.R.debug("Here Bounds",x,L),d.attr("viewBox",`${L.x-5} ${L.y-5} ${L.width+10} ${L.height+10}`)}},"draw"),getClasses:em},styles:ea}},4918(e,t,s){s.d(t,{o:()=>i});var i=(0,s(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")}}]); \ No newline at end of file diff --git a/en/assets/js/4137.1b2a1b68.js b/en/assets/js/4137.1b2a1b68.js new file mode 100644 index 0000000..d24f8ac --- /dev/null +++ b/en/assets/js/4137.1b2a1b68.js @@ -0,0 +1,104 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4137"],{5350(t,e,r){r.d(e,{m:()=>a});var o=r(6827),a=class{constructor(t){this.init=t,this.records=this.init()}static{(0,o.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},7454(t,e,r){function o(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}r.d(e,{S:()=>o}),(0,r(6827).K)(o,"populateCommonDb")},2208(t,e,r){r.d(e,{diagram:()=>tM});var o=r(5350),a=r(7454),i=r(6348),n=r(1177),s=r(1293),c=r(6827),d=r(8731),l=r(7829),h={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},$=n.UI.gitGraph,m=(0,c.K)(()=>(0,i.$t)({...$,...(0,n.zj)().gitGraph}),"getConfig"),g=new o.m(()=>{let t=m(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function p(){return(0,i.yT)({length:7})}function y(t,e){let r=Object.create(null);return t.reduce((t,o)=>{let a=e(o);return r[a]||(r[a]=!0,t.push(o)),t},[])}(0,c.K)(p,"getID"),(0,c.K)(y,"uniqBy");var f=(0,c.K)(function(t){g.records.direction=t},"setDirection"),x=(0,c.K)(function(t){s.R.debug("options str",t),t=(t=t?.trim())||"{}";try{g.records.options=JSON.parse(t)}catch(t){s.R.error("error while parsing gitGraph options",t.message)}},"setOptions"),u=(0,c.K)(function(){return g.records.options},"getOptions"),b=(0,c.K)(function(t){let e=t.msg,r=t.id,o=t.type,a=t.tags;s.R.info("commit",e,r,o,a),s.R.debug("Entering commit:",e,r,o,a);let i=m();r=n.Y2.sanitizeText(r,i),e=n.Y2.sanitizeText(e,i),a=a?.map(t=>n.Y2.sanitizeText(t,i));let c={id:r||g.records.seq+"-"+p(),message:e,seq:g.records.seq++,type:o??h.NORMAL,tags:a??[],parents:null==g.records.head?[]:[g.records.head.id],branch:g.records.currBranch};g.records.head=c,s.R.info("main branch",i.mainBranchName),g.records.commits.has(c.id)&&s.R.warn(`Commit ID ${c.id} already exists`),g.records.commits.set(c.id,c),g.records.branches.set(g.records.currBranch,c.id),s.R.debug("in pushCommit "+c.id)},"commit"),k=(0,c.K)(function(t){let e=t.name,r=t.order;if(e=n.Y2.sanitizeText(e,m()),g.records.branches.has(e))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);g.records.branches.set(e,null!=g.records.head?g.records.head.id:null),g.records.branchConfig.set(e,{name:e,order:r}),E(e),s.R.debug("in createBranch")},"branch"),B=(0,c.K)(t=>{let e=t.branch,r=t.id,o=t.type,a=t.tags,i=m();e=n.Y2.sanitizeText(e,i),r&&(r=n.Y2.sanitizeText(r,i));let c=g.records.branches.get(g.records.currBranch),d=g.records.branches.get(e),l=c?g.records.commits.get(c):void 0,$=d?g.records.commits.get(d):void 0;if(l&&$&&l.branch===e)throw Error(`Cannot merge branch '${e}' into itself.`);if(g.records.currBranch===e){let t=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(void 0===l||!l){let t=Error(`Incorrect usage of "merge". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},t}if(!g.records.branches.has(e)){let t=Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},t}if(void 0===$||!$){let t=Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},t}if(l===$){let t=Error('Incorrect usage of "merge". Both branches have same head');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(r&&g.records.commits.has(r)){let t=Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw t.hash={text:`merge ${e} ${r} ${o} ${a?.join(" ")}`,token:`merge ${e} ${r} ${o} ${a?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${o} ${a?.join(" ")}`]},t}let y={id:r||`${g.records.seq}-${p()}`,message:`merged branch ${e} into ${g.records.currBranch}`,seq:g.records.seq++,parents:null==g.records.head?[]:[g.records.head.id,d||""],branch:g.records.currBranch,type:h.MERGE,customType:o,customId:!!r,tags:a??[]};g.records.head=y,g.records.commits.set(y.id,y),g.records.branches.set(g.records.currBranch,y.id),s.R.debug(g.records.branches),s.R.debug("in mergeBranch")},"merge"),w=(0,c.K)(function(t){let e=t.id,r=t.targetId,o=t.tags,a=t.parent;s.R.debug("Entering cherryPick:",e,r,o);let i=m();if(e=n.Y2.sanitizeText(e,i),r=n.Y2.sanitizeText(r,i),o=o?.map(t=>n.Y2.sanitizeText(t,i)),a=n.Y2.sanitizeText(a,i),!e||!g.records.commits.has(e)){let t=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let c=g.records.commits.get(e);if(void 0===c||!c)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(a&&!(Array.isArray(c.parents)&&c.parents.includes(a)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let d=c.branch;if(c.type===h.MERGE&&!a)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!g.records.commits.has(r)){if(d===g.records.currBranch){let t=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let t=g.records.branches.get(g.records.currBranch);if(void 0===t||!t){let t=Error(`Incorrect usage of "cherry-pick". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let i=g.records.commits.get(t);if(void 0===i||!i){let t=Error(`Incorrect usage of "cherry-pick". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},t}let n={id:g.records.seq+"-"+p(),message:`cherry-picked ${c?.message} into ${g.records.currBranch}`,seq:g.records.seq++,parents:null==g.records.head?[]:[g.records.head.id,c.id],branch:g.records.currBranch,type:h.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${c.id}${c.type===h.MERGE?`|parent:${a}`:""}`]};g.records.head=n,g.records.commits.set(n.id,n),g.records.branches.set(g.records.currBranch,n.id),s.R.debug(g.records.branches),s.R.debug("in cherryPick")}},"cherryPick"),E=(0,c.K)(function(t){if(t=n.Y2.sanitizeText(t,m()),g.records.branches.has(t)){g.records.currBranch=t;let e=g.records.branches.get(g.records.currBranch);void 0!==e&&e?g.records.head=g.records.commits.get(e)??null:g.records.head=null}else{let e=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function T(t,e,r){let o=t.indexOf(e);-1===o?t.push(r):t.splice(o,1,r)}function C(t){let e=t.reduce((t,e)=>t.seq>e.seq?t:e,t[0]),r="";t.forEach(function(t){t===e?r+=" *":r+=" |"});let o=[r,e.id,e.seq];for(let t in g.records.branches)g.records.branches.get(t)===e.id&&o.push(t);if(s.R.debug(o.join(" ")),e.parents&&2==e.parents.length&&e.parents[0]&&e.parents[1]){let r=g.records.commits.get(e.parents[0]);T(t,e,r),e.parents[1]&&t.push(g.records.commits.get(e.parents[1]))}else if(0==e.parents.length)return;else if(e.parents[0]){let r=g.records.commits.get(e.parents[0]);T(t,e,r)}C(t=y(t,t=>t.id))}(0,c.K)(T,"upsert"),(0,c.K)(C,"prettyPrintCommitHistory");var L=(0,c.K)(function(){s.R.debug(g.records.commits),C([I()[0]])},"prettyPrint"),K=(0,c.K)(function(){g.reset(),(0,n.IU)()},"clear"),M=(0,c.K)(function(){return[...g.records.branchConfig.values()].map((t,e)=>null!==t.order&&void 0!==t.order?t:{...t,order:parseFloat(`0.${e}`)}).sort((t,e)=>(t.order??0)-(e.order??0)).map(({name:t})=>({name:t}))},"getBranchesAsObjArray"),R=(0,c.K)(function(){return g.records.branches},"getBranches"),v=(0,c.K)(function(){return g.records.commits},"getCommits"),I=(0,c.K)(function(){let t=[...g.records.commits.values()];return t.forEach(function(t){s.R.debug(t.id)}),t.sort((t,e)=>t.seq-e.seq),t},"getCommitsArray"),P={commitType:h,getConfig:m,setDirection:f,setOptions:x,getOptions:u,commit:b,branch:k,merge:B,cherryPick:w,checkout:E,prettyPrint:L,clear:K,getBranchesAsObjArray:M,getBranches:R,getCommits:v,getCommitsArray:I,getCurrentBranch:(0,c.K)(function(){return g.records.currBranch},"getCurrentBranch"),getDirection:(0,c.K)(function(){return g.records.direction},"getDirection"),getHead:(0,c.K)(function(){return g.records.head},"getHead"),setAccTitle:n.SV,getAccTitle:n.iN,getAccDescription:n.m7,setAccDescription:n.EI,setDiagramTitle:n.ke,getDiagramTitle:n.ab},O=(0,c.K)((t,e)=>{for(let r of((0,a.S)(t,e),t.dir&&e.setDirection(t.dir),t.statements))A(r,e)},"populate"),A=(0,c.K)((t,e)=>{let r={Commit:(0,c.K)(t=>e.commit(G(t)),"Commit"),Branch:(0,c.K)(t=>e.branch(S(t)),"Branch"),Merge:(0,c.K)(t=>e.merge(q(t)),"Merge"),Checkout:(0,c.K)(t=>e.checkout(H(t)),"Checkout"),CherryPicking:(0,c.K)(t=>e.cherryPick(D(t)),"CherryPicking")}[t.$type];r?r(t):s.R.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),G=(0,c.K)(t=>({id:t.id,msg:t.message??"",type:void 0!==t.type?h[t.type]:h.NORMAL,tags:t.tags??void 0}),"parseCommit"),S=(0,c.K)(t=>({name:t.name,order:t.order??0}),"parseBranch"),q=(0,c.K)(t=>({branch:t.branch,id:t.id??"",type:void 0!==t.type?h[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),H=(0,c.K)(t=>t.branch,"parseCheckout"),D=(0,c.K)(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),W={parse:(0,c.K)(async t=>{let e=await (0,d.qg)("gitGraph",t);s.R.debug(e),O(e,P)},"parse")},z=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),_=new Set(["redux-color","redux-dark-color"]),Y=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),j=(0,c.K)((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),F=new Map,N=new Map,U=new Map,V=[],J=0,Q="LR",X=(0,c.K)(()=>{F.clear(),N.clear(),U.clear(),J=0,V=[],Q="LR"},"clear"),Z=(0,c.K)(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return("string"==typeof t?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(t=>{let r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),r.setAttribute("class","row"),r.textContent=t.trim(),e.appendChild(r)}),e},"drawText"),tt=(0,c.K)(t=>{let e,r,o;return"BT"===Q?(r=(0,c.K)((t,e)=>t<=e,"comparisonFunc"),o=1/0):(r=(0,c.K)((t,e)=>t>=e,"comparisonFunc"),o=0),t.forEach(t=>{let a="TB"===Q||"BT"==Q?N.get(t)?.y:N.get(t)?.x;void 0!==a&&r(a,o)&&(e=t,o=a)}),e},"findClosestParent"),te=(0,c.K)(t=>{let e="",r=1/0;return t.forEach(t=>{let o=N.get(t).y;o<=r&&(e=t,r=o)}),e||void 0},"findClosestParentBT"),tr=(0,c.K)((t,e,r)=>{let o=r,a=r,i=[];t.forEach(t=>{let r=e.get(t);if(!r)throw Error(`Commit not found for key ${t}`);r.parents.length?a=Math.max(o=ta(r),a):i.push(r),ti(r,o)}),o=a,i.forEach(t=>{tn(t,o,r)}),t.forEach(t=>{let r=e.get(t);if(r?.parents.length){let t=te(r.parents);(o=N.get(t).y-40)<=a&&(a=o);let e=F.get(r.branch).pos,i=o-10;N.set(r.id,{x:e,y:i})}})},"setParallelBTPos"),to=(0,c.K)(t=>{let e=tt(t.parents.filter(t=>null!==t));if(!e)throw Error(`Closest parent not found for commit ${t.id}`);let r=N.get(e)?.y;if(void 0===r)throw Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),ta=(0,c.K)(t=>to(t)+40,"calculateCommitPosition"),ti=(0,c.K)((t,e)=>{let r=F.get(t.branch);if(!r)throw Error(`Branch not found for commit ${t.id}`);let o=r.pos,a=e+10;return N.set(t.id,{x:o,y:a}),{x:o,y:a}},"setCommitPosition"),tn=(0,c.K)((t,e,r)=>{let o=F.get(t.branch);if(!o)throw Error(`Branch not found for commit ${t.id}`);let a=o.pos;N.set(t.id,{x:a,y:e+r})},"setRootPosition"),ts=(0,c.K)((t,e,r,o,a,i)=>{let{theme:s}=(0,n.D7)(),c=z.has(s??""),d=_.has(s??""),l=Y.has(s??"");if(i===h.HIGHLIGHT)t.append("rect").attr("x",r.x-10+3*!!c).attr("y",r.y-10+3*!!c).attr("width",c?14:20).attr("height",c?14:20).attr("class",`commit ${e.id} commit-highlight${j(a,8,d)} ${o}-outer`),t.append("rect").attr("x",r.x-6+2*!!c).attr("y",r.y-6+2*!!c).attr("width",c?8:12).attr("height",c?8:12).attr("class",`commit ${e.id} commit${j(a,8,d)} ${o}-inner`);else if(i===h.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",c?7:10).attr("class",`commit ${e.id} ${o}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",c?2.5:2.75).attr("fill",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",c?2.5:2.75).attr("fill",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",l?"#000000":"#fff").attr("class",`commit ${e.id} ${o}`);else{let n=t.append("circle");if(n.attr("cx",r.x),n.attr("cy",r.y),n.attr("r",c?7:10),n.attr("class",`commit ${e.id} commit${j(a,8,d)}`),i===h.MERGE){let i=t.append("circle");i.attr("cx",r.x),i.attr("cy",r.y),i.attr("r",c?5:6),i.attr("class",`commit ${o} ${e.id} commit${j(a,8,d)}`)}if(i===h.REVERSE){let i=t.append("path"),n=c?4:5;i.attr("d",`M ${r.x-n},${r.y-n}L${r.x+n},${r.y+n}M${r.x-n},${r.y+n}L${r.x+n},${r.y-n}`).attr("class",`commit ${o} ${e.id} commit${j(a,8,d)}`)}}},"drawCommitBullet"),tc=(0,c.K)((t,e,r,o,a)=>{if(e.type!==h.CHERRY_PICK&&(e.customId&&e.type===h.MERGE||e.type!==h.MERGE)&&a.showCommitLabel){let i=t.append("g"),n=i.insert("rect").attr("class","commit-label-bkg"),s=i.append("text").attr("x",o).attr("y",r.y+25).attr("class","commit-label").text(e.id),c=s.node()?.getBBox();if(c&&(n.attr("x",r.posWithOffset-c.width/2-2).attr("y",r.y+13.5).attr("width",c.width+4).attr("height",c.height+4),"TB"===Q||"BT"===Q?(n.attr("x",r.x-(c.width+16+5)).attr("y",r.y-12),s.attr("x",r.x-(c.width+16)).attr("y",r.y+c.height-12)):s.attr("x",r.posWithOffset-c.width/2),a.rotateCommitLabel))if("TB"===Q||"BT"===Q)s.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),n.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let t=-7.5-(c.width+10)/25*9.5,e=10+c.width/25*8.5;i.attr("transform","translate("+t+", "+e+") rotate(-45, "+o+", "+r.y+")")}}},"drawCommitLabel"),td=(0,c.K)((t,e,r,o)=>{if(e.tags.length>0){let a=0,i=0,n=0,s=[];for(let o of e.tags.reverse()){let e=t.insert("polygon"),c=t.append("circle"),d=t.append("text").attr("y",r.y-16-a).attr("class","tag-label").text(o),l=d.node()?.getBBox();if(!l)throw Error("Tag bbox not found");i=Math.max(i,l.width),n=Math.max(n,l.height),d.attr("x",r.posWithOffset-l.width/2),s.push({tag:d,hole:c,rect:e,yOffset:a}),a+=20}for(let{tag:t,hole:e,rect:a,yOffset:c}of s){let s=n/2,d=r.y-19.2-c;if(a.attr("class","tag-label-bkg").attr("points",` + ${o-i/2-2},${d+2} + ${o-i/2-2},${d-2} + ${r.posWithOffset-i/2-4},${d-s-2} + ${r.posWithOffset+i/2+4},${d-s-2} + ${r.posWithOffset+i/2+4},${d+s+2} + ${r.posWithOffset-i/2-4},${d+s+2}`),e.attr("cy",d).attr("cx",o-i/2+2).attr("r",1.5).attr("class","tag-hole"),"TB"===Q||"BT"===Q){let n=o+c;a.attr("class","tag-label-bkg").attr("points",` + ${r.x},${n+2} + ${r.x},${n-2} + ${r.x+10},${n-s-2} + ${r.x+10+i+4},${n-s-2} + ${r.x+10+i+4},${n+s+2} + ${r.x+10},${n+s+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+o+")"),e.attr("cx",r.x+2).attr("cy",n).attr("transform","translate(12,12) rotate(45, "+r.x+","+o+")"),t.attr("x",r.x+5).attr("y",n+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+o+")")}}}},"drawCommitTags"),tl=(0,c.K)(t=>{switch(t.customType??t.type){case h.NORMAL:return"commit-normal";case h.REVERSE:return"commit-reverse";case h.HIGHLIGHT:return"commit-highlight";case h.MERGE:return"commit-merge";case h.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),th=(0,c.K)((t,e,r,o)=>{let a={x:0,y:0};if(t.parents.length>0){let r=tt(t.parents);if(r){let i=o.get(r)??a;return"TB"===e?i.y+40:"BT"===e?(o.get(t.id)??a).y-40:i.x+40}}else if("TB"===e)return 30;else if("BT"===e)return(o.get(t.id)??a).y-40;return 0},"calculatePosition"),t$=(0,c.K)((t,e,r)=>{let o="BT"===Q&&r?e:e+10,a=F.get(t.branch)?.pos,i="TB"===Q||"BT"===Q?F.get(t.branch)?.pos:o;if(void 0===i||void 0===a)throw Error(`Position were undefined for commit ${t.id}`);let s=z.has((0,n.D7)().theme??"");return{x:i,y:"TB"===Q||"BT"===Q?o:a+(s?7:-2),posWithOffset:o}},"getCommitPosition"),tm=(0,c.K)((t,e,r,o)=>{let a=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),n=30*("TB"===Q||"BT"===Q),s=[...e.keys()],d=o.parallelCommits??!1,l=s.sort((0,c.K)((t,r)=>{let o=e.get(t)?.seq,a=e.get(r)?.seq;return void 0!==o&&void 0!==a?o-a:0},"sortKeys"));"BT"===Q&&(d&&tr(l,e,n),l=l.reverse()),l.forEach(t=>{let s=e.get(t);if(!s)throw Error(`Commit not found for key ${t}`);d&&(n=th(s,Q,n,N));let c=t$(s,n,d);if(r){let t=tl(s),e=s.customType??s.type,r=F.get(s.branch)?.index??0;ts(a,s,c,t,r,e),tc(i,s,c,n,o),td(i,s,c,n)}"TB"===Q||"BT"===Q?N.set(s.id,{x:c.x,y:c.posWithOffset}):N.set(s.id,{x:c.posWithOffset,y:c.y}),(n="BT"===Q&&d?n+40:n+40+10)>J&&(J=n)})},"drawCommits"),tg=(0,c.K)((t,e,r,o,a)=>{let i=("TB"===Q||"BT"===Q?r.x<o.x:r.y<o.y)?e.branch:t.branch,n=(0,c.K)(t=>t.branch===i,"isOnBranchToGetCurve"),s=(0,c.K)(r=>r.seq>t.seq&&r.seq<e.seq,"isBetweenCommits");return[...a.values()].some(t=>s(t)&&n(t))},"shouldRerouteArrow"),tp=(0,c.K)((t,e,r=0)=>{let o=t+Math.abs(t-e)/2;if(r>5)return o;if(V.every(t=>Math.abs(t-o)>=10))return V.push(o),o;let a=Math.abs(t-e);return tp(t,e-a/5,r+1)},"findLane"),ty=(0,c.K)((t,e,r,o)=>{let a,{theme:i}=(0,n.D7)(),s=_.has(i??""),c=N.get(e.id),d=N.get(r.id);if(void 0===c||void 0===d)throw Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let l=tg(e,r,c,d,o),$="",m="",g=0,p=0,y=F.get(r.branch)?.index;if(r.type===h.MERGE&&e.id!==r.parents[0]&&(y=F.get(e.branch)?.index),l){$="A 10 10, 0, 0, 0,",m="A 10 10, 0, 0, 1,",g=10,p=10;let t=c.y<d.y?tp(c.y,d.y):tp(d.y,c.y),r=c.x<d.x?tp(c.x,d.x):tp(d.x,c.x);"TB"===Q?c.x<d.x?a=`M ${c.x} ${c.y} L ${r-g} ${c.y} ${m} ${r} ${c.y+p} L ${r} ${d.y-g} ${$} ${r+p} ${d.y} L ${d.x} ${d.y}`:(y=F.get(e.branch)?.index,a=`M ${c.x} ${c.y} L ${r+g} ${c.y} ${$} ${r} ${c.y+p} L ${r} ${d.y-g} ${m} ${r-p} ${d.y} L ${d.x} ${d.y}`):"BT"===Q?c.x<d.x?a=`M ${c.x} ${c.y} L ${r-g} ${c.y} ${$} ${r} ${c.y-p} L ${r} ${d.y+g} ${m} ${r+p} ${d.y} L ${d.x} ${d.y}`:(y=F.get(e.branch)?.index,a=`M ${c.x} ${c.y} L ${r+g} ${c.y} ${m} ${r} ${c.y-p} L ${r} ${d.y+g} ${$} ${r-p} ${d.y} L ${d.x} ${d.y}`):c.y<d.y?a=`M ${c.x} ${c.y} L ${c.x} ${t-g} ${$} ${c.x+p} ${t} L ${d.x-g} ${t} ${m} ${d.x} ${t+p} L ${d.x} ${d.y}`:(y=F.get(e.branch)?.index,a=`M ${c.x} ${c.y} L ${c.x} ${t+g} ${m} ${c.x+p} ${t} L ${d.x-g} ${t} ${$} ${d.x} ${t-p} L ${d.x} ${d.y}`)}else $="A 20 20, 0, 0, 0,",m="A 20 20, 0, 0, 1,",g=20,p=20,"TB"===Q?(c.x<d.x&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y-g} ${$} ${c.x+p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${m} ${d.x} ${c.y+p} L ${d.x} ${d.y}`),c.x>d.x&&($="A 20 20, 0, 0, 0,",m="A 20 20, 0, 0, 1,",g=20,p=20,a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y-g} ${m} ${c.x-p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x+g} ${c.y} ${$} ${d.x} ${c.y+p} L ${d.x} ${d.y}`),c.x===d.x&&(a=`M ${c.x} ${c.y} L ${d.x} ${d.y}`)):"BT"===Q?(c.x<d.x&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y+g} ${m} ${c.x+p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${$} ${d.x} ${c.y-p} L ${d.x} ${d.y}`),c.x>d.x&&($="A 20 20, 0, 0, 0,",m="A 20 20, 0, 0, 1,",g=20,p=20,a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${c.x} ${d.y+g} ${$} ${c.x-p} ${d.y} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${d.x+g} ${c.y} ${m} ${d.x} ${c.y-p} L ${d.x} ${d.y}`),c.x===d.x&&(a=`M ${c.x} ${c.y} L ${d.x} ${d.y}`)):(c.y<d.y&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${m} ${d.x} ${c.y+p} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${c.x} ${d.y-g} ${$} ${c.x+p} ${d.y} L ${d.x} ${d.y}`),c.y>d.y&&(a=r.type===h.MERGE&&e.id!==r.parents[0]?`M ${c.x} ${c.y} L ${d.x-g} ${c.y} ${$} ${d.x} ${c.y-p} L ${d.x} ${d.y}`:`M ${c.x} ${c.y} L ${c.x} ${d.y+g} ${m} ${c.x+p} ${d.y} L ${d.x} ${d.y}`),c.y===d.y&&(a=`M ${c.x} ${c.y} L ${d.x} ${d.y}`));if(void 0===a)throw Error("Line definition not found");t.append("path").attr("d",a).attr("class","arrow arrow"+j(y,8,s))},"drawArrow"),tf=(0,c.K)((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(t=>{let o=e.get(t);o.parents&&o.parents.length>0&&o.parents.forEach(t=>{ty(r,e.get(t),o,e)})})},"drawArrows"),tx=(0,c.K)((t,e,r,o)=>{let{look:a,theme:i,themeVariables:s}=(0,n.D7)(),{dropShadow:c,THEME_COLOR_LIMIT:d}=s,l=z.has(i??""),h=_.has(i??""),$=t.append("g");e.forEach((t,e)=>{let i=j(e,l?d:8,h),n=F.get(t.name)?.pos;if(void 0===n)throw Error(`Position not found for branch ${t.name}`);let s="TB"===Q||"BT"===Q?n:l?n+6+1:n-2,m=$.append("line");m.attr("x1",0),m.attr("y1",s),m.attr("x2",J),m.attr("y2",s),m.attr("class","branch branch"+i),"TB"===Q?(m.attr("y1",30),m.attr("x1",n),m.attr("y2",J),m.attr("x2",n)):"BT"===Q&&(m.attr("y1",J),m.attr("x1",n),m.attr("y2",30),m.attr("x2",n)),V.push(s);let g=Z(t.name),p=$.insert("rect"),y=$.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+i);y.node().appendChild(g);let f=g.getBBox(),x=4*!l,u=16*!!l,b=12*!!l;"neo"===a&&p.attr("data-look","neo"),p.attr("class","branchLabelBkg label"+i).attr("style","neo"===a?`filter:${l?`url(#${o}-drop-shadow)`:c}`:"").attr("rx",x).attr("ry",x).attr("x",-f.width-4-30*(!0===r.rotateCommitLabel)).attr("y",-f.height/2+10).attr("width",f.width+18+u).attr("height",f.height+4+b),y.attr("transform","translate("+(-f.width-14-30*(!0===r.rotateCommitLabel)+u/2)+", "+(s-f.height/2-2)+")"),"TB"===Q?(p.attr("x",n-f.width/2-10).attr("y",0),y.attr("transform","translate("+(n-f.width/2-5)+", 0)"),l&&(p.attr("transform",`translate(${-u/2-3}, ${-b-10})`),y.attr("transform","translate("+(n-f.width/2-5)+", "+(-(2*b)+7)+")"))):"BT"===Q?(p.attr("x",n-f.width/2-10).attr("y",J),y.attr("transform","translate("+(n-f.width/2-5)+", "+J+")"),l&&(p.attr("transform",`translate(${-u/2-3}, ${b+10})`),y.attr("transform","translate("+(n-f.width/2-5)+", "+(J+2*b+4)+")"))):p.attr("transform","translate(-19, "+(s-12-b/2)+")")})},"drawBranches"),tu=(0,c.K)(function(t,e,r,o,a){return F.set(t,{pos:e,index:r}),e+=50+40*!!a+("TB"===Q||"BT"===Q?o.width/2:0)},"setBranchPosition"),tb=(0,c.K)(function(t,e,r,o){X(),s.R.debug("in gitgraph renderer",t+"\n","id:",e,r);let a=o.db;if(!a.getConfig)return void s.R.error("getConfig method is not available on db");let c=a.getConfig(),d=c.rotateCommitLabel??!1;U=a.getCommits();let h=a.getBranchesAsObjArray();Q=a.getDirection();let $=(0,l.Ltv)(`[id="${e}"]`),{look:m,theme:g,themeVariables:p}=(0,n.D7)(),{useGradient:y,gradientStart:f,gradientStop:x,filterColor:u}=p;if(y){let t=$.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");t.append("stop").attr("offset","0%").attr("stop-color",f).attr("stop-opacity",1),t.append("stop").attr("offset","100%").attr("stop-color",x).attr("stop-opacity",1)}"neo"===m&&z.has(g??"")&&$.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",u);let b=0;h.forEach((t,e)=>{let r=Z(t.name),o=$.append("g"),a=o.insert("g").attr("class","branchLabel"),i=a.insert("g").attr("class","label branch-label");i.node()?.appendChild(r);let n=r.getBBox();b=tu(t.name,b,e,n,d),i.remove(),a.remove(),o.remove()}),tm($,U,!1,c),c.showBranches&&tx($,h,c,e),tf($,U),tm($,U,!0,c),i._K.insertTitle($,"gitTitleText",c.titleTopMargin??0,a.getDiagramTitle()),(0,n.mj)(void 0,$,c.diagramPadding,c.useMaxWidth)},"draw"),tk=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),tB=new Set(["redux-color","redux-dark-color"]),tw=new Set(["neo","neo-dark"]),tE=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),tT=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),tC=(0,c.K)(t=>{let{svgId:e}=t,r="";if(t.useGradient&&e)for(let o=0;o<t.THEME_COLOR_LIMIT;o++)r+=` + .label${o} { fill: ${t.mainBkg}; stroke: url(${e}-gradient); stroke-width: ${t.strokeWidth};} + `;return r},"genGitGraphGradient"),tL=(0,c.K)(t=>{let{theme:e,themeVariables:r}=(0,n.zj)(),{borderColorArray:o}=r,a=tk.has(e);if(tw.has(e)){let e="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++)if(0===r)e+=` + .branch-label${r} { fill: ${t.nodeBorder};} + .commit${r} { stroke: ${t.nodeBorder}; } + .commit-highlight${r} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; } + .arrow${r} { stroke: ${t.nodeBorder}; } + .commit-bullets { fill: ${t.nodeBorder}; } + .commit-cherry-pick${r} { stroke: ${t.nodeBorder}; } + ${tC(t)}`;else{let o=r%8;e+=` + .branch-label${r} { fill: ${t["gitBranchLabel"+o]}; } + .commit${r} { stroke: ${t["git"+o]}; fill: ${t["git"+o]}; } + .commit-highlight${r} { stroke: ${t["gitInv"+o]}; fill: ${t["gitInv"+o]}; } + .arrow${r} { stroke: ${t["git"+o]}; } + `}return e}if(tB.has(e)){let r="";for(let i=0;i<t.THEME_COLOR_LIMIT;i++)if(0===i)r+=` + .branch-label${i} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} } + .commit${i} { stroke: ${t.nodeBorder}; } + .commit-highlight${i} { stroke: ${t.nodeBorder}; fill: ${t.mainBkg}; } + .label${i} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${a?`font-weight:${t.noteFontWeight}`:""} } + .arrow${i} { stroke: ${t.nodeBorder}; } + .commit-bullets { fill: ${t.nodeBorder}; } + `;else{let n=i%o.length;r+=` + .branch-label${i} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} } + .commit${i} { stroke: ${o[n]}; fill: ${o[n]}; } + .commit-highlight${i} { stroke: ${o[n]}; fill: ${o[n]}; } + .label${i} { fill: ${tE.has(e)?t.mainBkg:o[n]}; stroke: ${o[n]}; stroke-width: ${t.strokeWidth}; } + .arrow${i} { stroke: ${o[n]}; } + `}return r}{let e="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++)e+=` + .branch-label${r} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} } + .commit${r} { stroke: ${t.nodeBorder}; } + .commit-highlight${r} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; } + .label${r} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${a?`font-weight:${t.noteFontWeight}`:""}} + .arrow${r} { stroke: ${t.nodeBorder}; } + .commit-bullets { fill: ${t.nodeBorder}; } + .commit-cherry-pick${r} { stroke: ${t.nodeBorder}; } + `;return e}},"genColor"),tK=(0,c.K)(t=>`${Array.from({length:t.THEME_COLOR_LIMIT},(t,e)=>e).map(e=>{let r=e%8;return` + .branch-label${e} { fill: ${t["gitBranchLabel"+r]}; } + .commit${e} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; } + .commit-highlight${e} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; } + .label${e} { fill: ${t["git"+r]}; } + .arrow${e} { stroke: ${t["git"+r]}; } + `}).join("\n")}`,"normalTheme"),tM={parser:W,db:P,renderer:{draw:tb},styles:(0,c.K)(t=>{let{theme:e}=(0,n.zj)(),r=tT.has(e);return` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + + ${r?tL(t):tK(t)} + + .branch { + stroke-width: ${t.strokeWidth}; + stroke: ${t.commitLineColor??t.lineColor}; + stroke-dasharray: ${r?"4 2":"2"}; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${r?t.nodeBorder:t.commitLabelColor}; ${r?`font-weight:${t.noteFontWeight};`:""}} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${r?"transparent":t.commitLabelBackground}; opacity: ${r?"":.5}; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${r?t.mainBkg:t.tagLabelBackground}; stroke: ${r?t.nodeBorder:t.tagLabelBorder}; ${r?`filter:${t.dropShadow}`:""} } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${r?t.mainBkg:t.primaryColor}; + fill: ${r?t.mainBkg:t.primaryColor}; + } + .commit-reverse { + stroke: ${r?t.mainBkg:t.primaryColor}; + fill: ${r?t.mainBkg:t.primaryColor}; + stroke-width: ${r?t.strokeWidth:3}; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${r?t.mainBkg:t.primaryColor}; + fill: ${r?t.mainBkg:t.primaryColor}; + } + + .arrow { + /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */ + stroke-width: ${tk.has(e)?t.strokeWidth:8}; + stroke-linecap: round; + fill: none + } + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`},"getStyles")}}}]); \ No newline at end of file diff --git a/en/assets/js/4551.88d2b179.js b/en/assets/js/4551.88d2b179.js new file mode 100644 index 0000000..daab225 --- /dev/null +++ b/en/assets/js/4551.88d2b179.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4551"],{7034(e,r,t){t.d(r,{diagram:()=>y});var a=t(1578),n=t(7454);t(4924),t(1177);var l=t(1293),s=t(6827),p=t(8731),i=(0,p.sB)().RailroadAbnf.parser.LangiumParser,u=(0,s.K)(e=>{let r=e.alternatives.map(m);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),m=(0,s.K)(e=>{let r=e.elements.map(d);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),o=(0,s.K)(e=>{if(e.includes("*")){let[r,t]=e.split("*");return{min:r?parseInt(r,10):0,max:t?parseInt(t,10):1/0}}let r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),d=(0,s.K)(e=>{let r=b(e.primary);if(!e.repeat)return r;let{min:t,max:a}=o(e.repeat);return 0===t&&1===a?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:a}},"transformElement"),b=(0,s.K)(e=>{switch(e.$type){case"AbnfStringLiteral":case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return u(e.element);case"AbnfOptionalGroup":return{type:"optional",element:u(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),f=(0,s.K)(e=>({name:e.name,definition:u(e.definition)}),"transformRule"),c=(0,s.K)(e=>{(0,n.S)(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(e=>a.db.addRule(f(e)))},"populateDb"),y={parser:{parse:(0,s.K)(e=>{a.db.clear(),l.R.debug("[ABNF Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;l.R.debug("[ABNF Parser] Parsed rules:",t.rules.length),c(t),l.R.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.U,styles:a.$}}}]); \ No newline at end of file diff --git a/en/assets/js/4617.6e66f439.js b/en/assets/js/4617.6e66f439.js new file mode 100644 index 0000000..0196117 --- /dev/null +++ b/en/assets/js/4617.6e66f439.js @@ -0,0 +1,160 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4617"],{5350(t,e,a){a.d(e,{m:()=>i});var r=a(6827),i=class{constructor(t){this.init=t,this.records=this.init()}static{(0,r.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},2735(t,e,a){a.d(e,{CP:()=>h,Ck:()=>E,HT:()=>T,PB:()=>p,aC:()=>d,lC:()=>c,m:()=>l,tk:()=>o});var r=a(1177),i=a(6827),s=a(6750),n=a(7829),o=(0,i.K)((t,e)=>{let a=t.append("rect");if(a.attr("x",e.x),a.attr("y",e.y),a.attr("fill",e.fill),a.attr("stroke",e.stroke),a.attr("width",e.width),a.attr("height",e.height),e.name&&a.attr("name",e.name),e.rx&&a.attr("rx",e.rx),e.ry&&a.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)a.attr(t,e.attrs[t]);return e.class&&a.attr("class",e.class),a},"drawRect"),c=(0,i.K)((t,e)=>{o(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),l=(0,i.K)((t,e)=>{let a=e.text.replace(r.H1," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class&&i.attr("class",e.class);let s=i.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(a),i},"drawText"),d=(0,i.K)((t,e,a,r)=>{let i=t.append("image");i.attr("x",e),i.attr("y",a);let n=(0,s.sanitizeUrl)(r);i.attr("xlink:href",n)},"drawImage"),h=(0,i.K)((t,e,a,r)=>{let i=t.append("use");i.attr("x",e),i.attr("y",a);let n=(0,s.sanitizeUrl)(r);i.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),p=(0,i.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),T=(0,i.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),E=(0,i.K)(()=>{let t=(0,n.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},7280(t,e,a){a.d(e,{diagram:()=>tF});var r=a(5350),i=a(841),s=a(2735),n=a(6348),o=a(1177),c=a(1293),l=a(6827),d=a(7829),h=a(6750),p=function(){var t=(0,l.K)(function(t,e,a,r){for(a=a||{},r=t.length;r--;a[t[r]]=e);return a},"o"),e=[1,2],a=[1,3],r=[1,4],i=[2,4],s=[1,9],n=[1,11],o=[1,12],c=[1,14],d=[1,15],h=[1,17],p=[1,18],T=[1,19],E=[1,25],g=[1,26],u=[1,27],y=[1,28],x=[1,29],_=[1,30],O=[1,31],m=[1,32],b=[1,33],I=[1,34],f=[1,35],R=[1,36],L=[1,37],P=[1,38],w=[1,39],S=[1,40],D=[1,42],N=[1,43],A=[1,44],k=[1,45],M=[1,46],C=[1,47],v=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],Y=[1,74],K=[1,80],B=[1,81],$=[1,82],V=[1,83],W=[1,84],F=[1,85],q=[1,86],H=[1,87],z=[1,88],j=[1,89],U=[1,90],G=[1,91],X=[1,92],Z=[1,93],J=[1,94],Q=[1,95],tt=[1,96],te=[1,97],ta=[1,98],tr=[1,99],ti=[1,100],ts=[1,101],tn=[1,102],to=[1,103],tc=[1,104],tl=[1,105],td=[2,78],th=[4,5,17,51,53,54],tp=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],tT=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],tE=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],tg=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],tu=[5,52],ty=[70,71,72,73],tx=[1,151],t_={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:(0,l.K)(function(t,e,a,r,i,s,n){var o=s.length-1;switch(i){case 3:return r.apply(s[o]),s[o];case 4:case 10:case 8:case 9:case 14:this.$=[];break;case 5:case 11:s[o-1].push(s[o]),this.$=s[o-1];break;case 6:case 7:case 12:case 13:case 67:this.$=s[o];break;case 16:s[o].type="createParticipant",this.$=s[o];break;case 17:s[o-1].unshift({type:"boxStart",boxData:r.parseBoxData(s[o-2])}),s[o-1].push({type:"boxEnd",boxText:s[o-2]}),this.$=s[o-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-2]),sequenceIndexStep:Number(s[o-1]),sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:r.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:s[o-1].actor};break;case 24:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:s[o-1].actor};break;case 30:r.setDiagramTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 31:r.setDiagramTitle(s[o].substring(7)),this.$=s[o].substring(7);break;case 32:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 33:case 34:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 35:s[o-1].unshift({type:"loopStart",loopText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.LOOP_START}),s[o-1].push({type:"loopEnd",loopText:s[o-2],signalType:r.LINETYPE.LOOP_END}),this.$=s[o-1];break;case 36:s[o-1].unshift({type:"rectStart",color:r.parseMessage(s[o-2]),signalType:r.LINETYPE.RECT_START}),s[o-1].push({type:"rectEnd",color:r.parseMessage(s[o-2]),signalType:r.LINETYPE.RECT_END}),this.$=s[o-1];break;case 37:s[o-1].unshift({type:"optStart",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.OPT_START}),s[o-1].push({type:"optEnd",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.OPT_END}),this.$=s[o-1];break;case 38:s[o-1].unshift({type:"altStart",altText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.ALT_START}),s[o-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=s[o-1];break;case 39:s[o-1].unshift({type:"parStart",parText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.PAR_START}),s[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=s[o-1];break;case 40:s[o-1].unshift({type:"parStart",parText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.PAR_OVER_START}),s[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=s[o-1];break;case 41:s[o-1].unshift({type:"criticalStart",criticalText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.CRITICAL_START}),s[o-1].push({type:"criticalEnd",signalType:r.LINETYPE.CRITICAL_END}),this.$=s[o-1];break;case 42:s[o-1].unshift({type:"breakStart",breakText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.BREAK_START}),s[o-1].push({type:"breakEnd",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.BREAK_END}),this.$=s[o-1];break;case 44:this.$=s[o-3].concat([{type:"option",optionText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.CRITICAL_OPTION},s[o]]);break;case 46:this.$=s[o-3].concat([{type:"and",parText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.PAR_AND},s[o]]);break;case 48:this.$=s[o-3].concat([{type:"else",altText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.ALT_ELSE},s[o]]);break;case 49:case 54:s[o-3].draw="participant",s[o-3].type="addParticipant",s[o-3].description=r.parseMessage(s[o-1]),this.$=s[o-3];break;case 50:case 55:s[o-1].draw="participant",s[o-1].type="addParticipant",this.$=s[o-1];break;case 51:case 56:s[o-3].draw="actor",s[o-3].type="addParticipant",s[o-3].description=r.parseMessage(s[o-1]),this.$=s[o-3];break;case 52:case 57:s[o-1].draw="actor",s[o-1].type="addParticipant",this.$=s[o-1];break;case 53:s[o-1].type="destroyParticipant",this.$=s[o-1];break;case 58:this.$=[s[o-1],{type:"addNote",placement:s[o-2],actor:s[o-1].actor,text:s[o]}];break;case 59:s[o-2]=[].concat(s[o-1],s[o-1]).slice(0,2),s[o-2][0]=s[o-2][0].actor,s[o-2][1]=s[o-2][1].actor,this.$=[s[o-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:s[o-2].slice(0,2),text:s[o]}];break;case 60:this.$=[s[o-1],{type:"addLinks",actor:s[o-1].actor,text:s[o]}];break;case 61:this.$=[s[o-1],{type:"addALink",actor:s[o-1].actor,text:s[o]}];break;case 62:this.$=[s[o-1],{type:"addProperties",actor:s[o-1].actor,text:s[o]}];break;case 63:this.$=[s[o-1],{type:"addDetails",actor:s[o-1].actor,text:s[o]}];break;case 66:this.$=[s[o-2],s[o]];break;case 68:this.$=r.PLACEMENT.LEFTOF;break;case 69:this.$=r.PLACEMENT.RIGHTOF;break;case 70:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o],activate:!0},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:s[o-1].actor}];break;case 71:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:s[o-4].actor}];break;case 72:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o],activate:!0,centralConnection:r.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:r.LINETYPE.CENTRAL_CONNECTION,actor:s[o-1].actor}];break;case 73:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-2],msg:s[o],activate:!1,centralConnection:r.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:r.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:s[o-4].actor}];break;case 74:this.$=[s[o-5],s[o-1],{type:"addMessage",from:s[o-5].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o],activate:!0,centralConnection:r.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:r.LINETYPE.CENTRAL_CONNECTION,actor:s[o-1].actor},{type:"centralConnectionReverse",signalType:r.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:s[o-5].actor}];break;case 75:this.$=[s[o-3],s[o-1],{type:"addMessage",from:s[o-3].actor,to:s[o-1].actor,signalType:s[o-2],msg:s[o]}];break;case 76:this.$={type:"addParticipant",actor:s[o-1],config:s[o]};break;case 77:this.$=s[o-1].trim();break;case 78:this.$={type:"addParticipant",actor:s[o]};break;case 79:this.$=r.LINETYPE.SOLID_OPEN;break;case 80:this.$=r.LINETYPE.DOTTED_OPEN;break;case 81:this.$=r.LINETYPE.SOLID;break;case 82:this.$=r.LINETYPE.SOLID_TOP;break;case 83:this.$=r.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=r.LINETYPE.STICK_TOP;break;case 85:this.$=r.LINETYPE.STICK_BOTTOM;break;case 86:this.$=r.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=r.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=r.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=r.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=r.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=r.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=r.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=r.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=r.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=r.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=r.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=r.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=r.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=r.LINETYPE.DOTTED;break;case 100:this.$=r.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=r.LINETYPE.SOLID_CROSS;break;case 102:this.$=r.LINETYPE.DOTTED_CROSS;break;case 103:this.$=r.LINETYPE.SOLID_POINT;break;case 104:this.$=r.LINETYPE.DOTTED_POINT;break;case 105:this.$=r.parseMessage(s[o].trim().substring(1))}},"anonymous"),table:[{3:1,4:e,5:a,6:r},{1:[3]},{3:5,4:e,5:a,6:r},{3:6,4:e,5:a,6:r},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},t(v,[2,5]),{9:48,13:13,14:c,15:d,18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},t(v,[2,7]),t(v,[2,8]),t(v,[2,9]),t(v,[2,15]),{13:49,51:P,53:w,54:S},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:C},{23:56,73:C},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(v,[2,30]),t(v,[2,31]),{33:[1,62]},{35:[1,63]},t(v,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:Y},{23:75,55:76,73:Y},{23:77,73:C},{69:78,72:[1,79],78:K,79:B,80:$,81:V,82:W,83:F,84:q,85:H,86:z,87:j,88:U,89:G,90:X,91:Z,92:J,93:Q,94:tt,95:te,96:ta,97:tr,98:ti,99:ts,100:tn,101:to,102:tc,103:tl},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:C},{23:111,73:C},{23:112,73:C},{23:113,73:C},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],td),t(v,[2,6]),t(v,[2,16]),t(th,[2,10],{11:114}),t(v,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(v,[2,22]),{5:[1,118]},{5:[1,119]},t(v,[2,25]),t(v,[2,26]),t(v,[2,27]),t(v,[2,28]),t(v,[2,29]),t(v,[2,32]),t(v,[2,33]),t(tp,i,{7:120}),t(tp,i,{7:121}),t(tp,i,{7:122}),t(tT,i,{41:123,7:124}),t(tE,i,{43:125,7:126}),t(tE,i,{7:126,43:127}),t(tg,i,{46:128,7:129}),t(tp,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(tu,td,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:C},{69:146,78:K,79:B,80:$,81:V,82:W,83:F,84:q,85:H,86:z,87:j,88:U,89:G,90:X,91:Z,92:J,93:Q,94:tt,95:te,96:ta,97:tr,98:ti,99:ts,100:tn,101:to,102:tc,103:tl},t(ty,[2,79]),t(ty,[2,80]),t(ty,[2,81]),t(ty,[2,82]),t(ty,[2,83]),t(ty,[2,84]),t(ty,[2,85]),t(ty,[2,86]),t(ty,[2,87]),t(ty,[2,88]),t(ty,[2,89]),t(ty,[2,90]),t(ty,[2,91]),t(ty,[2,92]),t(ty,[2,93]),t(ty,[2,94]),t(ty,[2,95]),t(ty,[2,96]),t(ty,[2,97]),t(ty,[2,98]),t(ty,[2,99]),t(ty,[2,100]),t(ty,[2,101]),t(ty,[2,102]),t(ty,[2,103]),t(ty,[2,104]),{23:147,73:C},{23:149,60:148,73:C},{73:[2,68]},{73:[2,69]},{58:150,104:tx},{58:152,104:tx},{58:153,104:tx},{58:154,104:tx},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:P,53:w,54:S},{5:[1,160]},t(v,[2,20]),t(v,[2,21]),t(v,[2,23]),t(v,[2,24]),{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[1,161],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[1,162],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[1,163],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{17:[1,164]},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[2,47],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,50:[1,165],51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{17:[1,166]},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[2,45],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,49:[1,167],51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{17:[1,168]},{17:[1,169]},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[2,43],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,48:[1,170],51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{4:s,5:n,8:8,9:10,10:o,13:13,14:c,15:d,17:[1,171],18:16,19:h,22:p,23:41,24:T,25:20,26:21,27:22,28:23,29:24,30:E,31:g,32:u,34:y,36:x,37:_,38:O,39:m,40:b,42:I,44:f,45:R,47:L,51:P,53:w,54:S,56:D,61:N,62:A,63:k,64:M,73:C},{16:[1,172]},t(v,[2,50]),{16:[1,173]},t(v,[2,55]),t(tu,[2,76]),{76:[1,174]},{16:[1,175]},t(v,[2,52]),{16:[1,176]},t(v,[2,57]),t(v,[2,53]),{23:177,73:C},{23:178,73:C},{23:179,73:C},{58:180,104:tx},{23:181,72:[1,182],73:C},{58:183,104:tx},{58:184,104:tx},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(v,[2,17]),t(th,[2,11]),{13:186,51:P,53:w,54:S},t(th,[2,13]),t(th,[2,14]),t(v,[2,19]),t(v,[2,35]),t(v,[2,36]),t(v,[2,37]),t(v,[2,38]),{16:[1,187]},t(v,[2,39]),{16:[1,188]},t(v,[2,40]),t(v,[2,41]),{16:[1,189]},t(v,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:tx},{58:196,104:tx},{58:197,104:tx},{5:[2,75]},{58:198,104:tx},{23:199,73:C},{5:[2,58]},{5:[2,59]},{23:200,73:C},t(th,[2,12]),t(tT,i,{7:124,41:201}),t(tE,i,{7:126,43:202}),t(tg,i,{7:129,46:203}),t(v,[2,49]),t(v,[2,54]),t(tu,[2,77]),t(v,[2,51]),t(v,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:tx},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:(0,l.K)(function(t,e){if(e.recoverable)this.trace(t);else{var a=Error(t);throw a.hash=e,a}},"parseError"),parse:(0,l.K)(function(t){var e=this,a=[0],r=[],i=[null],s=[],n=this.table,o="",c=0,d=0,h=0,p=s.slice.call(arguments,1),T=Object.create(this.lexer),E={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(E[g]=this.yy[g]);T.setInput(t,E),E.lexer=T,E.parser=this,void 0===T.yylloc&&(T.yylloc={});var u=T.yylloc;s.push(u);var y=T.options&&T.options.ranges;function x(){var t;return"number"!=typeof(t=r.pop()||T.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof E.parseError?this.parseError=E.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){a.length=a.length-2*t,i.length=i.length-t,s.length=s.length-t},"popStack"),(0,l.K)(x,"lex");for(var _,O,m,b,I,f,R,L,P,w={};;){if(m=a[a.length-1],this.defaultActions[m]?b=this.defaultActions[m]:(null==_&&(_=x()),b=n[m]&&n[m][_]),void 0===b||!b.length||!b[0]){var S="";for(f in P=[],n[m])this.terminals_[f]&&f>2&&P.push("'"+this.terminals_[f]+"'");S=T.showPosition?"Parse error on line "+(c+1)+":\n"+T.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(S,{text:T.match,token:this.terminals_[_]||_,line:T.yylineno,loc:u,expected:P})}if(b[0]instanceof Array&&b.length>1)throw Error("Parse Error: multiple actions possible at state: "+m+", token: "+_);switch(b[0]){case 1:a.push(_),i.push(T.yytext),s.push(T.yylloc),a.push(b[1]),_=null,O?(_=O,O=null):(d=T.yyleng,o=T.yytext,c=T.yylineno,u=T.yylloc,h>0&&h--);break;case 2:if(R=this.productions_[b[1]][1],w.$=i[i.length-R],w._$={first_line:s[s.length-(R||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(R||1)].first_column,last_column:s[s.length-1].last_column},y&&(w._$.range=[s[s.length-(R||1)].range[0],s[s.length-1].range[1]]),void 0!==(I=this.performAction.apply(w,[o,d,c,E,b[1],i,s].concat(p))))return I;R&&(a=a.slice(0,-1*R*2),i=i.slice(0,-1*R),s=s.slice(0,-1*R)),a.push(this.productions_[b[1]][0]),i.push(w.$),s.push(w._$),L=n[a[a.length-2]][a[a.length-1]],a.push(L);break;case 3:return!0}}return!0},"parse")};function tO(){this.yy={}}return t_.lexer={EOF:1,parseError:(0,l.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,l.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var e=t.length,a=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var i=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===r.length?this.yylloc.first_column:0)+r[r.length-a.length].length-a[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K)(function(t,e){var a,r,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],a=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a)return a;if(this._backtrack)for(var s in i)this[s]=i[s];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,a,r,i=this._currentRules(),s=0;s<i.length;s++)if((a=this._input.match(this.rules[i[s]]))&&(!e||a[0].length>e[0].length)){if(e=a,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(a,i[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,e,a,r){switch(a){case 0:case 59:case 92:return 5;case 1:case 2:case 3:case 4:case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:case 60:return e.yytext=e.yytext.trim(),73;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),73;case 13:return e.yytext=e.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return e.yytext=e.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:([0-9]+(\.[0-9]{1,2})?|\.[0-9]{1,2})(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}},(0,l.K)(tO,"Parser"),tO.prototype=t_,t_.Parser=tO,new tO}();p.parser=p;var T={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},E={FILLED:0,OPEN:1},g={LEFTOF:0,RIGHTOF:1,OVER:2},u=class{constructor(){this.state=new r.m(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=o.SV,this.setAccDescription=o.EI,this.setDiagramTitle=o.ke,this.getAccTitle=o.iN,this.getAccDescription=o.m7,this.getDiagramTitle=o.ab,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap((0,o.D7)().wrap),this.LINETYPE=T,this.ARROWTYPE=E,this.PLACEMENT=g}static{(0,l.K)(this,"SequenceDB")}addBox(t){this.state.records.boxes.push({name:t.text,wrap:t.wrap??this.autoWrap(),fill:t.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(t,e,a,r,s){let n,o=this.state.records.currentBox;if(void 0!==s){let t;t=s.includes("\n")?s+"\n":"{\n"+s+"\n}",n=(0,i.H)(t,{schema:i.r})}r=n?.type??r,n?.alias&&(!a||a.text===e)&&(a={text:n.alias,wrap:a?.wrap,type:r});let c=this.state.records.actors.get(t);if(c){if(this.state.records.currentBox&&c.box&&this.state.records.currentBox!==c.box)throw Error(`A same participant should only be defined in one Box: ${c.name} can't be in '${c.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(o=c.box?c.box:this.state.records.currentBox,c.box=o,c&&e===c.name&&null==a)return}if(a?.text==null&&(a={text:e,type:r}),(null==r||null==a.text)&&(a={text:e,type:r}),this.state.records.actors.set(t,{box:o,name:e,description:a.text,wrap:a.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:r??"participant"}),this.state.records.prevActor){let e=this.state.records.actors.get(this.state.records.prevActor);e&&(e.nextActor=t)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(t),this.state.records.prevActor=t}activationCount(t){let e,a=0;if(!t)return 0;for(e=0;e<this.state.records.messages.length;e++)this.state.records.messages[e].type===this.LINETYPE.ACTIVE_START&&this.state.records.messages[e].from===t&&a++,this.state.records.messages[e].type===this.LINETYPE.ACTIVE_END&&this.state.records.messages[e].from===t&&a--;return a}addMessage(t,e,a,r){this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:t,to:e,message:a.text,wrap:a.wrap??this.autoWrap(),answer:r})}addSignal(t,e,a,r,i=!1,s){if(r===this.LINETYPE.ACTIVE_END&&1>this.activationCount(t??"")){let e=Error("Trying to inactivate an inactive participant ("+t+")");throw e.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:t,to:e,message:a?.text??"",wrap:a?.wrap??this.autoWrap(),type:r,activate:i,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(t=>t.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(t){return this.state.records.actors.get(t)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(t){this.state.records.wrapEnabled=t}extractWrap(t){if(void 0===t)return{};t=t.trim();let e=null!==/^:?wrap:/.exec(t)||null===/^:?nowrap:/.exec(t)&&void 0;return{cleanedText:(void 0===e?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}}autoWrap(){return void 0!==this.state.records.wrapEnabled?this.state.records.wrapEnabled:(0,o.D7)().sequence?.wrap??!1}clear(){this.state.reset(),(0,o.IU)()}parseMessage(t){let e=t.trim(),{wrap:a,cleanedText:r}=this.extractWrap(e),i={text:r,wrap:a};return c.R.debug(`parseMessage: ${JSON.stringify(i)}`),i}parseBoxData(t){let e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),a=e?.[1]?e[1].trim():"transparent",r=e?.[2]?e[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",a)||(a="transparent",r=t.trim());else{let e=new Option().style;e.color=a,e.color!==a&&(a="transparent",r=t.trim())}let{wrap:i,cleanedText:s}=this.extractWrap(r);return{text:s?(0,o.jZ)(s,(0,o.D7)()):void 0,color:a,wrap:i}}addNote(t,e,a){let r={actor:t,placement:e,message:a.text,wrap:a.wrap??this.autoWrap()},i=[].concat(t,t);this.state.records.notes.push(r),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:i[0],to:i[1],message:a.text,wrap:a.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:e})}addLinks(t,e){let a=this.getActor(t);try{let t=(0,o.jZ)(e.text,(0,o.D7)());t=(t=t.replace(/=/g,"=")).replace(/&/g,"&");let r=JSON.parse(t);this.insertLinks(a,r)}catch(t){c.R.error("error while parsing actor link text",t)}}addALink(t,e){let a=this.getActor(t);try{let t={},r=(0,o.jZ)(e.text,(0,o.D7)()),i=r.indexOf("@"),s=(r=(r=r.replace(/=/g,"=")).replace(/&/g,"&")).slice(0,i-1).trim(),n=r.slice(i+1).trim();t[s]=n,this.insertLinks(a,t)}catch(t){c.R.error("error while parsing actor link text",t)}}insertLinks(t,e){if(null==t.links)t.links=e;else for(let a in e)t.links[a]=e[a]}addProperties(t,e){let a=this.getActor(t);try{let t=(0,o.jZ)(e.text,(0,o.D7)()),r=JSON.parse(t);this.insertProperties(a,r)}catch(t){c.R.error("error while parsing actor properties text",t)}}insertProperties(t,e){if(null==t.properties)t.properties=e;else for(let a in e)t.properties[a]=e[a]}boxEnd(){this.state.records.currentBox=void 0}addDetails(t,e){let a=this.getActor(t),r=document.getElementById(e.text);try{let t=r.innerHTML,e=JSON.parse(t);e.properties&&this.insertProperties(a,e.properties),e.links&&this.insertLinks(a,e.links)}catch(t){c.R.error("error while parsing actor details text",t)}}getActorProperty(t,e){if(t?.properties!==void 0)return t.properties[e]}apply(t){if(Array.isArray(t))t.forEach(t=>{this.apply(t)});else switch(t.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":this.addActor(t.actor,t.actor,t.description,t.draw,t.config);break;case"createParticipant":if(this.state.records.actors.has(t.actor))throw Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=t.actor,this.addActor(t.actor,t.actor,t.description,t.draw,t.config),this.state.records.createdActors.set(t.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=t.actor,this.state.records.destroyedActors.set(t.actor,this.state.records.messages.length);break;case"activeStart":case"centralConnection":case"centralConnectionReverse":case"activeEnd":this.addSignal(t.actor,void 0,void 0,t.signalType);break;case"addNote":this.addNote(t.actor,t.placement,t.text);break;case"addLinks":this.addLinks(t.actor,t.text);break;case"addALink":this.addALink(t.actor,t.text);break;case"addProperties":this.addProperties(t.actor,t.text);break;case"addDetails":this.addDetails(t.actor,t.text);break;case"addMessage":if(this.state.records.lastCreated)if(t.to!==this.state.records.lastCreated)throw Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");else this.state.records.lastCreated=void 0;else if(this.state.records.lastDestroyed)if(t.to!==this.state.records.lastDestroyed&&t.from!==this.state.records.lastDestroyed)throw Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");else this.state.records.lastDestroyed=void 0;this.addSignal(t.from,t.to,t.msg,t.signalType,t.activate,t.centralConnection);break;case"boxStart":this.addBox(t.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":this.addSignal(void 0,void 0,void 0,t.signalType);break;case"rectStart":this.addSignal(void 0,void 0,t.color,t.signalType);break;case"optStart":this.addSignal(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":this.addSignal(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":(0,o.SV)(t.text);break;case"parStart":case"and":this.addSignal(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,t.criticalText,t.signalType);break;case"option":this.addSignal(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":this.addSignal(void 0,void 0,t.breakText,t.signalType)}}getConfig(){return(0,o.D7)().sequence}},y=(0,l.K)(t=>{let e=t.dropShadow??"none",{look:a}=(0,o.D7)();return`.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: ${t.strokeWidth??1}; + } + + rect.actor.outer-path[data-look="neo"] { + filter: ${e}; + } + + rect.note[data-look="neo"] { + stroke:${t.noteBorderColor}; + fill:${t.noteBkgColor}; + filter: ${e}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .innerArc { + stroke-width: 1.5; + stroke-dasharray: none; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + [id$="-arrowhead"] path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + [id$="-sequencenumber"] { + fill: ${t.signalColor}; + } + + [id$="-crosshead"] path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + filter: ${"neo"===a?e:"none"}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .sectionTitle, .sectionTitle > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + /* + * No font-weight here, deliberately. Note text renders inside tspan elements, and a weight emitted at + * tspan level outranks the inline style drawText puts on the parent text element from the + * sequence.noteFontWeight config key -- so that documented key would never reach the glyphs. + * The theme variable formerly emitted here is a different value from that config key, and + * git/styles.js reads it as its own bold-label weight under redux and neo, so it cannot be + * lowered there either. + */ + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.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 circle, line { + fill: ${t.actorBkg}; + stroke-width: 2px; + } + + g rect.rect { + filter: ${e}; + stroke: ${t.nodeBorder}; + } +`},"getStyles"),x=(0,l.K)((t,e)=>t.actorTextHeight??n._K.calculateTextDimensions(t.description??"",{fontFamily:e.actorFontFamily,fontSize:e.actorFontSize,fontWeight:e.actorFontWeight}).height,"actorLabelHeight"),_=(0,l.K)(t=>50+t+6,"actorStackHeight"),O=(0,l.K)((t,e,a)=>{let r=t+e;return{lifelineStartY:r,glyphBottomY:r-6-a-6,labelCenterY:r-6-a/2}},"headerBands"),m=(0,l.K)((t,e)=>{let a=t+6,r=a+44;return{glyphTopY:a,glyphBottomY:r,labelCenterY:r+6+e/2,stackHeight:_(e)}},"footerBands"),b=(0,l.K)((t,e,a,r)=>{if("neo"!==e.look)return null;let i=x(t,e);return a?m(r,i):O(r,t.height,i)},"neoBands"),I="actor-top",f="actor-bottom",R="actor-box",L="actor-man",P=new Set(["redux-color","redux-dark-color"]),w=(0,l.K)((t,e)=>t?.length?t[e%t.length]:void 0,"paletteColor"),S=(0,l.K)(function(t,e){let a=(0,s.tk)(t,e);return"neo"===(0,o.zj)().look&&a.attr("data-look","neo"),a},"drawRect"),D=(0,l.K)(function(t,e,a,r,i){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return{height:0,width:0};let s=e.links,n=e.actorCnt,o=e.rectData;var c="none";i&&(c="block !important");let l=t.append("g");l.attr("id","actor"+n+"_popup"),l.attr("class","actorPopupMenu"),l.attr("display",c);var d="";void 0!==o.class&&(d=" "+o.class);let p=o.width>a?o.width:a,T=l.append("rect");if(T.attr("class","actorPopupMenuPanel"+d),T.attr("x",o.x),T.attr("y",o.height),T.attr("fill",o.fill),T.attr("stroke",o.stroke),T.attr("width",p),T.attr("height",o.height),T.attr("rx",o.rx),T.attr("ry",o.ry),null!=s){var E=20;for(let t in s){var g=l.append("a"),u=(0,h.sanitizeUrl)(s[t]);g.attr("xlink:href",u),g.attr("target","_blank"),tl(r)(t,g,o.x+10,o.height+E,p,20,{class:"actor"},r),E+=30}}return T.attr("height",E),{height:o.height+E,width:p}},"drawPopup"),N=(0,l.K)(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),A=(0,l.K)(async function(t,e,a=null){let r=t.append("foreignObject"),i=await (0,o.dj)(e.text,(0,o.zj)()),s=r.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(r.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),"noteText"===e.class){let a=t.node().firstChild;a.setAttribute("height",s.height+2*e.textMargin);let i=a.getBBox();r.attr("x",Math.round(i.x+i.width/2-s.width/2)).attr("y",Math.round(i.y+i.height/2-s.height/2))}else if(a){let{startx:t,stopx:i,starty:n}=a;if(t>i){let e=t;t=i,i=e}r.attr("x",Math.round(t+Math.abs(t-i)/2-s.width/2)),"loopText"===e.class?r.attr("y",Math.round(n)):r.attr("y",Math.round(n-s.height))}return[r]},"drawKatex"),k=(0,l.K)(function(t,e){let a=0,r=0,i=e.text.split(o.Y2.lineBreakRegex),[s,c]=(0,n.I5)(e.fontSize),d=[],h=0,p=(0,l.K)(()=>e.y,"yfunc");if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":p=(0,l.K)(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":p=(0,l.K)(()=>Math.round(e.y+(a+r+e.textMargin)/2),"yfunc");break;case"bottom":case"end":p=(0,l.K)(()=>Math.round(e.y+(a+r+2*e.textMargin)-e.textMargin),"yfunc")}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle"}for(let[o,l]of i.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==s&&(h=o*s);let i=t.append("text");i.attr("x",e.x),i.attr("y",p()),void 0!==e.anchor&&i.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&i.style("font-family",e.fontFamily),void 0!==c&&i.style("font-size",c),void 0!==e.fontWeight&&i.style("font-weight",e.fontWeight),void 0!==e.fill&&i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class),void 0!==e.dy?i.attr("dy",e.dy):0!==h&&i.attr("dy",h);let T=l||n.pe;if(e.tspan){let t=i.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(T)}else i.text(T);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(r+=(i._groups||i)[0][0].getBBox().height,a=r),d.push(i)}return d},"drawText"),M=(0,l.K)(function(t,e){function a(t,e,a,r,i){return t+","+e+" "+(t+a)+","+e+" "+(t+a)+","+(e+r-i)+" "+(t+a-1.2*i)+","+(e+r)+" "+t+","+(e+r)}(0,l.K)(a,"genPoints");let r=t.append("polygon");return r.attr("points",a(e.x,e.y,e.width,e.height,7)),r.attr("class","labelBox"),e.y=e.y+e.height/2,k(t,e),r},"drawLabel"),C=-1,v=(0,l.K)((t,e,a,r)=>{t.select&&a.forEach(a=>{let i=e.get(a),s=t.select("#actor"+i.actorCnt);!r.mirrorActors&&i.stopy?s.attr("y2",i.stopy+i.height/2):r.mirrorActors&&s.attr("y2",i.stopy)})},"fixLifeLineHeights"),Y=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=c+e.height,{look:h,theme:p,themeVariables:T}=a,{bkgColorArray:E,borderColorArray:g}=T,u=t.append("g").lower();var y=u;r||(C++,Object.keys(e.links||{}).length&&!a.forceMenus&&y.attr("onclick",N(`actor${C}_popup`)).attr("cursor","pointer"),y.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",d).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),y=u.append("g"),e.actorCnt=C,null!=e.links&&y.attr("id","root-"+C),"neo"===h&&y.attr("data-look","neo"));let x=(0,s.PB)();var _="actor";e.properties?.class?_=e.properties.class:x.fill="#eaeaea",r?_+=` ${f}`:_+=` ${I}`,x.x=e.x,x.y=c,x.width=e.width,x.height=e.height,x.class=_,x.rx=3,x.ry=3,x.name=e.name,"neo"===h&&(x.rx=6,x.ry=6);let O=S(y,x),m=n.get(e.name)??0;if(P.has(p)&&(O.style("stroke",w(g,m)),O.style("fill",w(E,m))),"neo"===h&&O.attr("filter",`url(#${ti(i)})`),e.rectData=x,e.properties?.icon){let t=e.properties.icon.trim();"@"===t.charAt(0)?(0,s.CP)(y,x.x+x.width-20,x.y+10,t.substr(1)):(0,s.aC)(y,x.x+x.width-20,x.y+10,t)}r||(y.attr("data-et","participant"),y.attr("data-type","participant"),y.attr("data-id",e.name)),tc(a,(0,o.Wi)(e.description))(e.description,y,x.x,x.y,x.width,x.height,{class:`actor ${R}`},a);let b=e.height;if(O.node){let t=O.node().getBBox();"neo"!==a.look&&(e.height=t.height,b=t.height)}return b},"drawActorTypeParticipant"),K=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=c+e.height,{look:h,theme:p,themeVariables:T}=a,{bkgColorArray:E,borderColorArray:g}=T,u=t.append("g").lower();var y=u;r||(C++,Object.keys(e.links||{}).length&&!a.forceMenus&&y.attr("onclick",N(`actor${C}_popup`)).attr("cursor","pointer"),y.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",d).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),y=u.append("g"),e.actorCnt=C,null!=e.links&&y.attr("id","root-"+C),"neo"===h&&y.attr("data-look","neo"));let x=(0,s.PB)();var _="actor";e.properties?.class?_=e.properties.class:x.fill="#eaeaea",r?_+=` ${f}`:_+=` ${I}`,x.x=e.x,x.y=c,x.width=e.width,x.height=e.height,x.class=_,x.name=e.name,"neo"===a.look&&(x.height=e.height-6);let O={...x,x:x.x+-6,y:x.y+6,class:"actor"},m=S(y,x),b=S(y,O);e.rectData=x,"neo"===h&&y.attr("filter",`url(#${ti(i)})`);let L=n.get(e.name)??0;if(P.has(p)&&(m.style("stroke",w(g,L)),m.style("fill",w(E,L)),b.style("stroke",w(g,L)),b.style("fill",w(E,L))),e.properties?.icon){let t=e.properties.icon.trim();"@"===t.charAt(0)?(0,s.CP)(y,x.x+x.width-20,x.y+10,t.substr(1)):(0,s.aC)(y,x.x+x.width-20,x.y+10,t)}tc(a,(0,o.Wi)(e.description))(e.description,y,x.x-6,x.y+6,x.width,x.height,{class:`actor ${R}`},a);let D=e.height;if(m.node){let t=m.node().getBBox();"neo"!==a.look&&(e.height=t.height,D=t.height)}return r||(y.attr("data-et","participant"),y.attr("data-type","collections"),y.attr("data-id",e.name)),D},"drawActorTypeCollections"),B=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=c+e.height,{look:h,theme:p,themeVariables:T}=a,{bkgColorArray:E,borderColorArray:g}=T,u=t.append("g").lower(),y=u;r||(C++,Object.keys(e.links||{}).length&&!a.forceMenus&&y.attr("onclick",N(`actor${C}_popup`)).attr("cursor","pointer"),y.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",d).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),y=u.append("g"),e.actorCnt=C,null!=e.links&&y.attr("id","root-"+C),"neo"===h&&y.attr("data-look","neo"));let x=(0,s.PB)(),_="actor";e.properties?.class?_=e.properties.class:x.fill="#eaeaea",r?_+=` ${f}`:_+=` ${I}`,y.attr("class",_),x.x=e.x,x.y=c,x.width=e.width,x.height=e.height,x.name=e.name;let O=x.height/2,m=O/(2.5+x.height/50),b=y.append("g"),L=y.append("g"),S=`M ${x.x},${x.y+O} + a ${m},${O} 0 0 0 0,${x.height} + h ${x.width-2*m} + a ${m},${O} 0 0 0 0,-${x.height} + Z + `;b.append("path").attr("d",S),L.append("path").attr("d",`M ${x.x},${x.y+O} + a ${m},${O} 0 0 0 0,${x.height}`),b.attr("transform",`translate(${m}, ${-(x.height/2)})`),L.attr("transform",`translate(${x.width-m}, ${-x.height/2})`),e.rectData=x,"neo"===h&&b.attr("filter",`url(#${ti(i)})`);let D=n.get(e.name)??0;if(P.has(p)&&(b.style("stroke",w(g,D)),b.style("fill",w(E,D)),L.style("stroke",w(g,D)),L.style("fill",w(E,D))),e.properties?.icon){let t=e.properties.icon.trim(),a=x.x+x.width-20,r=x.y+10;"@"===t.charAt(0)?(0,s.CP)(y,a,r,t.substr(1)):(0,s.aC)(y,a,r,t)}tc(a,(0,o.Wi)(e.description))(e.description,y,x.x,x.y,x.width,x.height,{class:`actor ${R}`},a);let A=e.height,k=b.select("path:last-child");if(k.node()){let t=k.node().getBBox();"neo"!==a.look&&(e.height=t.height,A=t.height)}return r||(y.attr("data-et","participant"),y.attr("data-type","queue"),y.attr("data-id",e.name)),A},"drawActorTypeQueue"),$=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=b(e,a,r,c),h=d?d.lifelineStartY:c+75,{look:p,theme:T,themeVariables:E}=a,{bkgColorArray:g,borderColorArray:u,actorBorder:y,actorBkg:x}=E,_=t.append("g").lower();r||(C++,_.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",h).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=C);let O=t.append("g"),m=L;r?m+=` ${f}`:m+=` ${I}`,O.attr("class",m),O.attr("name",e.name);let R=(0,s.PB)();R.x=e.x,R.y=c,R.fill="#eaeaea",R.width=e.width,R.height=e.height,R.class="actor";let S=e.x+e.width/2,D=d?d.glyphBottomY-22:c+32;O.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),O.append("circle").attr("cx",S).attr("cy",D).attr("r",22).attr("filter",`${"neo"===p?`url(#${ti(i)})`:""}`),O.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${S}, ${D-22})`);let N=n.get(e.name)??0;return P.has(T)?(O.style("stroke",w(u,N)),O.style("fill",w(g,N))):(O.style("stroke",y),O.style("fill",x)),d||(e.height=O.node().getBBox().height+2*(a?.sequence?.labelBoxHeight??0)),tc(a,(0,o.Wi)(e.description))(e.description,O,R.x,d?d.labelCenterY-R.height/2:R.y+22+(r?5:12),R.width,R.height,{class:`actor ${L}`},a),r||(O.attr("data-et","participant"),O.attr("data-type","control"),O.attr("data-id",e.name)),e.height},"drawActorTypeControl"),V=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=b(e,a,r,c),h=d?d.lifelineStartY:c+75,{look:p,theme:T,themeVariables:E}=a,{bkgColorArray:g,borderColorArray:u}=E,y=t.append("g").lower(),x=t.append("g"),_="actor";r?_+=` ${f}`:_+=` ${I}`,x.attr("class",_),x.attr("name",e.name);let O=(0,s.PB)();O.x=e.x,O.y=c,O.fill="#eaeaea",O.width=e.width,O.height=e.height,O.class="actor";let m=e.x+e.width/2,R=d?d.glyphBottomY-22:c+(r?10:25);x.append("circle").attr("cx",m).attr("cy",R).attr("r",22).attr("width",e.width).attr("height",e.height),x.append("line").attr("x1",m-22).attr("x2",m+22).attr("y1",R+22).attr("y2",R+22).attr("stroke-width",2),"neo"===p&&x.attr("filter",`url(#${ti(i)})`);let S=n.get(e.name)??0;return P.has(T)&&(x.style("stroke",w(u,S)),x.style("fill",w(g,S))),d||(e.height=x.node().getBBox().height+(a?.sequence?.labelBoxHeight??0)),r||(C++,y.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",h).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=C),tc(a,(0,o.Wi)(e.description))(e.description,x,O.x,d?d.labelCenterY-O.height/2:O.y+(r?15:30),O.width,O.height,{class:`actor ${L}`},a),d||x.attr("transform",`translate(0, ${r?22:6})`),r||(x.attr("data-et","participant"),x.attr("data-type","entity"),x.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),W=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=b(e,a,r,c),h=d?d.lifelineStartY:c+e.height+2*a.boxTextMargin,{theme:p,themeVariables:T,look:E}=a,{bkgColorArray:g,borderColorArray:u,actorBorder:y}=T,x=t.append("g").lower(),_=x;r||(C++,Object.keys(e.links||{}).length&&!a.forceMenus&&_.attr("onclick",N(`actor${C}_popup`)).attr("cursor","pointer"),_.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",h).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),_=x.append("g"),e.actorCnt=C,null!=e.links&&_.attr("id","root-"+C),"neo"===E&&_.attr("data-look","neo"));let O=(0,s.PB)(),m="actor";e.properties?.class?m=e.properties.class:O.fill="#eaeaea",r?m+=` ${f}`:m+=` ${I}`,O.x=e.x,O.y=c,O.width=e.width,O.height=e.height,O.class=m,O.name=e.name,O.x=e.x,O.y=c;let L=O.width/3,S=L/2,D=S/(2.5+L/50),A=d?44:O.width/3,k=d?d.glyphBottomY-A-D:O.y,M=_.append("g");M.attr("class",m);let v=` + M ${O.x},${k+D} + a ${S},${D} 0 0 0 ${L},0 + a ${S},${D} 0 0 0 -${L},0 + l 0,${A-2*D} + a ${S},${D} 0 0 0 ${L},0 + l 0,-${A-2*D} +`;M.append("path").attr("d",v),"neo"===E&&M.attr("filter",`url(#${ti(i)})`);let Y=n.get(e.name)??0;if(P.has(p)?(M.style("stroke",w(u,Y)),M.style("fill",w(g,Y))):M.style("stroke",y),M.attr("transform",`translate(${L}, ${D})`),e.rectData=O,tc(a,(0,o.Wi)(e.description))(e.description,_,O.x,d?d.labelCenterY-O.height/2:O.y+35,O.width,O.height,{class:`actor ${R}`},a),!d){let t=M.select("path:last-child");t.node()&&(e.height=t.node().getBBox().height+(a.sequence.labelBoxHeight??0))}return r||(_.attr("data-et","participant"),_.attr("data-type","database"),_.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),F=(0,l.K)(function(t,e,a,r,i,n){let c=r?e.stopy:e.starty,l=e.x+e.width/2,d=b(e,a,r,c),h=d?d.lifelineStartY:c+80,p=d?d.glyphBottomY-22:c+12,T=t.append("g").lower(),{look:E,theme:g,themeVariables:u}=a,{bkgColorArray:y,borderColorArray:x,actorBorder:_}=u;r||(C++,T.append("line").attr("id","actor"+C).attr("x1",l).attr("y1",h).attr("x2",l).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=C);let O=t.append("g"),m=L;r?m+=` ${f}`:m+=` ${I}`,O.attr("class",m),O.attr("name",e.name);let R=(0,s.PB)();R.x=e.x,R.y=c,R.fill="#eaeaea",R.width=e.width,R.height=e.height,R.class="actor",O.append("line").attr("id","actor-man-torso"+C).attr("x1",e.x+e.width/2-55).attr("y1",p).attr("x2",e.x+e.width/2-15).attr("y2",p),O.append("line").attr("id","actor-man-arms"+C).attr("x1",e.x+e.width/2-55).attr("y1",p-10).attr("x2",e.x+e.width/2-55).attr("y2",p+10),O.append("circle").attr("cx",e.x+e.width/2).attr("cy",p).attr("r",22),"neo"===E&&O.attr("filter",`url(#${ti(i)})`);let S=n.get(e.name)??0;return P.has(g)?(O.style("stroke",w(x,S)),O.style("fill",w(y,S))):O.style("stroke",_),d||(e.height=O.node().getBBox().height+(a.sequence.labelBoxHeight??0)),tc(a,(0,o.Wi)(e.description))(e.description,O,R.x,d?d.labelCenterY-R.height/2:R.y+15,R.width,R.height,{class:`actor ${L}`},a),d||O.attr("transform","translate(0,21)"),r||(O.attr("data-et","participant"),O.attr("data-type","boundary"),O.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),q=(0,l.K)(function(t,e,a,r,i){let n=r?e.stopy:e.starty,c=e.x+e.width/2,d=b(e,a,r,n),h=d?d.lifelineStartY:n+80,{theme:p,themeVariables:T}=a,{bkgColorArray:E,borderColorArray:g,actorBorder:u}=T,y=t.append("g").lower();r||(C++,y.append("line").attr("id","actor"+C).attr("x1",c).attr("y1",h).attr("x2",c).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=C);let x=t.append("g"),_=L;r?_+=` ${f}`:_+=` ${I}`,x.attr("class",_),x.attr("name",e.name),r||x.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);let O=d?.676923076923077:1,m=(0,l.K)(t=>d?d.glyphBottomY-(60-t)*O:n+t,"gy"),R=(0,l.K)(t=>c+t*O,"gx");x.append("line").attr("id","actor-man-torso"+C).attr("x1",c).attr("y1",m(25)).attr("x2",c).attr("y2",m(45)),x.append("line").attr("id","actor-man-arms"+C).attr("x1",R(-18)).attr("y1",m(33)).attr("x2",R(18)).attr("y2",m(33)),x.append("line").attr("x1",R(-18)).attr("y1",m(60)).attr("x2",c).attr("y2",m(45)),x.append("line").attr("x1",c).attr("y1",m(45)).attr("x2",R(16)).attr("y2",m(60));let S=x.append("circle");S.attr("cx",e.x+e.width/2),S.attr("cy",m(10)),S.attr("r",15*O),S.attr("width",e.width),S.attr("height",e.height),d||(e.height=65);let D=(0,s.PB)();D.x=e.x,D.y=n,D.fill="#eaeaea",D.width=e.width,D.height=e.height,D.class="actor",D.rx=3,D.ry=3;let N=i.get(e.name)??0;return P.has(p)?(x.style("stroke",w(g,N)),x.style("fill",w(E,N))):x.style("stroke",u),tc(a,(0,o.Wi)(e.description))(e.description,x,D.x,d?d.labelCenterY-D.height/2:n+35,D.width,D.height,{class:`actor ${L}`},a),e.height},"drawActorTypeActor"),H=(0,l.K)(async function(t,e,a,r,i,s,n){let o=n??new Map([...s.db.getActors().values()].map((t,e)=>[t.name,e]));switch(e.type){case"actor":return await q(t,e,a,r,o);case"participant":return await Y(t,e,a,r,i,o);case"boundary":return await F(t,e,a,r,i,o);case"control":return await $(t,e,a,r,i,o);case"entity":return await V(t,e,a,r,i,o);case"database":return await W(t,e,a,r,i,o);case"collections":return await K(t,e,a,r,i,o);case"queue":return await B(t,e,a,r,i,o)}},"drawActor"),z=(0,l.K)(function(t,e,a){let r=t.append("g");X(r,e),e.name&&tc(a)(e.name,r,e.x,e.y+a.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},a),r.lower()},"drawBox"),j=(0,l.K)(function(t){return t.append("g")},"anchorElement"),U=(0,l.K)(function(t,e,a,r,i,n,o){let{theme:c,themeVariables:l}=r,{bkgColorArray:d,borderColorArray:h,mainBkg:p}=l,T=(0,s.PB)(),E=e.anchored,g=e.actor;T.x=e.startx,T.y=e.starty,T.class="activation"+i%3,T.width=e.stopx-e.startx,T.height=a-e.starty;let u=S(E,T),y=(o??new Map([...n.db.getActors().values()].map((t,e)=>[t.name,e]))).get(g)??0;P.has(c)&&(u.style("stroke",w(h,y)),u.style("fill",w(d,y)??p))},"drawActivation"),G=(0,l.K)(async function(t,e,a,r,i){let{boxMargin:n,boxTextMargin:c,labelBoxHeight:d,labelBoxWidth:h,messageFontFamily:p,messageFontSize:T,messageFontWeight:E}=r,g=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),u=(0,l.K)(function(t,e,a,r){return g.append("line").attr("x1",t).attr("y1",e).attr("x2",a).attr("y2",r).attr("class","loopLine")},"drawLoopLine");u(e.startx,e.starty,e.stopx,e.starty),u(e.stopx,e.starty,e.stopx,e.stopy),u(e.startx,e.stopy,e.stopx,e.stopy),u(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach(function(t){u(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")});let y=(0,s.HT)();y.text=a,y.x=e.startx,y.y=e.starty,y.fontFamily=p,y.fontSize=T,y.fontWeight=E,y.anchor="middle",y.valign="middle",y.tspan=!1,y.width=Math.max(h??0,50),y.height=d+15*("neo"===r.look)||20,y.textMargin=c,y.class="labelText",M(g,y),(y=tn()).text=e.title,y.x=e.startx+h/2+(e.stopx-e.startx)/2,y.y=e.starty+n+c,y.anchor="middle",y.valign="middle",y.textMargin=c,y.class="loopText",y.fontFamily=p,y.fontSize=T,y.fontWeight=E,y.wrap=!0;let x=(0,o.Wi)(y.text)?await A(g,y,e):k(g,y);if(void 0!==e.sectionTitles){for(let[t,a]of Object.entries(e.sectionTitles))if(a.message){y.text=a.message,y.x=e.startx+(e.stopx-e.startx)/2,y.y=e.sections[t].y+n+c,y.class="sectionTitle",y.anchor="middle",y.valign="middle",y.tspan=!1,y.fontFamily=p,y.fontSize=T,y.fontWeight=E,y.wrap=e.wrap,(0,o.Wi)(y.text)?(e.starty=e.sections[t].y,await A(g,y,e)):k(g,y);let r=Math.round(x.map(t=>(t._groups||t)[0][0].getBBox().height).reduce((t,e)=>t+e));e.sections[t].height+=r-(n+c)}}return e.height=Math.round(e.stopy-e.starty),g},"drawLoop"),X=(0,l.K)(function(t,e){(0,s.lC)(t,e)},"drawBackgroundRect"),Z=(0,l.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),J=(0,l.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),Q=(0,l.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),tt=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),te=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),ta=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),tr=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),ti=(0,l.K)(t=>t?`${t}-drop-shadow`:"drop-shadow","dropShadowId"),ts=(0,l.K)(function(t,e,a){let{theme:r}=e;t.append("defs").append("filter").attr("id",ti(a)).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${"redux"===r||"redux-color"===r?"#000000":"#FFFFFF"}`)},"insertDropShadow"),tn=(0,l.K)(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),to=(0,l.K)(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),tc=function(){function t(t,e,a,r,s,n,o){i(e.append("text").attr("x",a+s/2).attr("y",r+n/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,a,r,s,c,l,d){let{actorFontSize:h,actorFontFamily:p,actorFontWeight:T}=d,[E,g]=(0,n.I5)(h),u=t.split(o.Y2.lineBreakRegex);for(let t=0;t<u.length;t++){let n=t*E-E*(u.length-1)/2,o=e.append("text").attr("x",a+s/2).attr("y",r).style("text-anchor","middle").style("font-size",g).style("font-weight",T).style("font-family",p);o.append("tspan").attr("x",a+s/2).attr("dy",n).text(u[t]),o.attr("y",r+c/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(o,l)}}function a(t,a,r,s,n,o,c,l){let d=a.append("switch"),h=d.append("foreignObject").attr("x",r).attr("y",s).attr("width",n).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,d,r,s,n,o,c,l),i(h,c)}async function r(t,a,r,s,n,c,l,d){let h=await (0,o.Dl)(t,(0,o.zj)()),p=a.append("switch"),T=p.append("foreignObject").attr("x",r+n/2-h.width/2).attr("y",s+c/2-h.height/2).attr("width",h.width).attr("height",h.height).append("xhtml:div").style("height","100%").style("width","100%");T.append("div").style("text-align","center").style("vertical-align","middle").html(await (0,o.dj)(t,(0,o.zj)())),e(t,p,r,s,n,c,l,d),i(T,l)}function i(t,e){for(let a in e)e.hasOwnProperty(a)&&t.attr(a,e[a])}return(0,l.K)(t,"byText"),(0,l.K)(e,"byTspan"),(0,l.K)(a,"byFo"),(0,l.K)(r,"byKatex"),(0,l.K)(i,"_setTextAttrs"),function(i,s=!1){return s?r:"fo"===i.textPlacement?a:"old"===i.textPlacement?t:e}}(),tl=function(){function t(t,e,a,i,s,n,o){r(e.append("text").attr("x",a).attr("y",i).style("text-anchor","start").text(t),o)}function e(t,e,a,i,s,n,c,l){let{actorFontSize:d,actorFontFamily:h,actorFontWeight:p}=l,T=t.split(o.Y2.lineBreakRegex);for(let t=0;t<T.length;t++){let s=t*d-d*(T.length-1)/2,o=e.append("text").attr("x",a).attr("y",i).style("text-anchor","start").style("font-size",d).style("font-weight",p).style("font-family",h);o.append("tspan").attr("x",a).attr("dy",s).text(T[t]),o.attr("y",i+n/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(o,c)}}function a(t,a,i,s,n,o,c,l){let d=a.append("switch"),h=d.append("foreignObject").attr("x",i).attr("y",s).attr("width",n).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,d,i,s,n,o,c,l),r(h,c)}function r(t,e){for(let a in e)e.hasOwnProperty(a)&&t.attr(a,e[a])}return(0,l.K)(t,"byText"),(0,l.K)(e,"byTspan"),(0,l.K)(a,"byFo"),(0,l.K)(r,"_setTextAttrs"),function(r){return"fo"===r.textPlacement?a:"old"===r.textPlacement?t:e}}(),td=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-solidTopArrowHead").attr("refX",7.9).attr("refY",7.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 8 L 0 8 z")},"insertSolidTopArrowHead"),th=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-solidBottomArrowHead").attr("refX",7.9).attr("refY",.75).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 0 L 0 8 z")},"insertSolidBottomArrowHead"),tp=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-stickTopArrowHead").attr("refX",7.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 7 7").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickTopArrowHead"),tT=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-stickBottomArrowHead").attr("refX",7.5).attr("refY",0).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 7 L 7 0").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickBottomArrowHead"),tE={drawRect:S,drawText:k,drawLabel:M,drawActor:H,drawBox:z,drawPopup:D,anchorElement:j,drawActivation:U,drawLoop:G,drawBackgroundRect:X,insertArrowHead:tt,insertArrowFilledHead:te,insertSequenceNumber:ta,insertArrowCrossHead:tr,insertDatabaseIcon:Z,insertComputerIcon:J,insertClockIcon:Q,getTextObj:tn,getNoteRect:to,fixLifeLineHeights:v,sanitizeUrl:h.sanitizeUrl,insertDropShadow:ts,insertSolidTopArrowHead:td,insertSolidBottomArrowHead:th,insertStickTopArrowHead:tp,insertStickBottomArrowHead:tT},tg={},tu={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:(0,l.K)(function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map(t=>t.height||0))+(0===this.loops.length?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(0===this.messages.length?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(0===this.notes.length?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:(0,l.K)(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:(0,l.K)(function(t){this.boxes.push(t)},"addBox"),addActor:(0,l.K)(function(t){this.actors.push(t)},"addActor"),addLoop:(0,l.K)(function(t){this.loops.push(t)},"addLoop"),addMessage:(0,l.K)(function(t){this.messages.push(t)},"addMessage"),addNote:(0,l.K)(function(t){this.notes.push(t)},"addNote"),lastActor:(0,l.K)(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:(0,l.K)(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:(0,l.K)(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:(0,l.K)(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:(0,l.K)(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,tP((0,o.D7)())},"init"),updateVal:(0,l.K)(function(t,e,a,r){void 0===t[e]?t[e]=a:t[e]=r(a,t[e])},"updateVal"),updateBounds:(0,l.K)(function(t,e,a,r){let i=this,s=0;function n(n){return(0,l.K)(function(o){s++;let c=i.sequenceItems.length-s+1;i.updateVal(o,"starty",e-c*tg.boxMargin,Math.min),i.updateVal(o,"stopy",r+c*tg.boxMargin,Math.max),i.updateVal(tu.data,"startx",t-c*tg.boxMargin,Math.min),i.updateVal(tu.data,"stopx",a+c*tg.boxMargin,Math.max),"activation"!==n&&(i.updateVal(o,"startx",t-c*tg.boxMargin,Math.min),i.updateVal(o,"stopx",a+c*tg.boxMargin,Math.max),i.updateVal(tu.data,"starty",e-c*tg.boxMargin,Math.min),i.updateVal(tu.data,"stopy",r+c*tg.boxMargin,Math.max))},"updateItemBounds")}(0,l.K)(n,"updateFn"),this.sequenceItems.forEach(n()),this.activations.forEach(n("activation"))},"updateBounds"),insert:(0,l.K)(function(t,e,a,r){let i=o.Y2.getMin(t,a),s=o.Y2.getMax(t,a),n=o.Y2.getMin(e,r),c=o.Y2.getMax(e,r);this.updateVal(tu.data,"startx",i,Math.min),this.updateVal(tu.data,"starty",n,Math.min),this.updateVal(tu.data,"stopx",s,Math.max),this.updateVal(tu.data,"stopy",c,Math.max),this.updateBounds(i,n,s,c)},"insert"),newActivation:(0,l.K)(function(t,e,a){let r=a.get(t.from),i=tw(t.from).length||0,s=r.x+r.width/2+(i-1)*tg.activationWidth/2;this.activations.push({startx:s,starty:this.verticalPos+2,stopx:s+tg.activationWidth,stopy:void 0,actor:t.from,anchored:tE.anchorElement(e)})},"newActivation"),endActivation:(0,l.K)(function(t){let e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:(0,l.K)(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:(0,l.K)(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:(0,l.K)(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:(0,l.K)(function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap},"isLoopOverlap"),addSectionToLoop:(0,l.K)(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:tu.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:(0,l.K)(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:(0,l.K)(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:(0,l.K)(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=o.Y2.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:(0,l.K)(function(){return this.verticalPos},"getVerticalPos"),getBounds:(0,l.K)(function(){return{bounds:this.data,models:this.models}},"getBounds")},ty=(0,l.K)(async function(t,e,a){tu.bumpVerticalPos(tg.boxMargin),e.height=tg.boxMargin,e.starty=tu.getVerticalPos();let r=(0,s.PB)();r.x=e.startx,r.y=e.starty,r.width=e.width||tg.width,r.class="note";let i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+a);let n=tE.drawRect(i,r),c=(0,s.HT)();c.x=e.startx,c.y=e.starty,c.width=r.width,c.dy="1em",c.text=e.message,c.class="noteText",c.fontFamily=tg.noteFontFamily,c.fontSize=tg.noteFontSize,c.fontWeight=tg.noteFontWeight,c.anchor=tg.noteAlign,c.textMargin=tg.noteMargin,c.valign="center";let l=Math.round(((0,o.Wi)(c.text)?await A(i,c):k(i,c)).map(t=>(t._groups||t)[0][0].getBBox().height).reduce((t,e)=>t+e));n.attr("height",l+2*tg.noteMargin),e.height+=l+2*tg.noteMargin,tu.bumpVerticalPos(l+2*tg.noteMargin),e.stopy=e.starty+l+2*tg.noteMargin,e.stopx=e.startx+r.width,tu.insert(e.startx,e.starty,e.stopx,e.stopy),tu.models.addNote(e)},"drawNote"),tx=(0,l.K)(function(t,e,a,r,i,s,n){let o=r.db.getActors(),c=o.get(e.from),d=o.get(e.to),h=a.sequenceVisible,p=c.x+c.width/2,T=d.x+d.width/2,E=p<=T,g=tB(e,r),u=t.append("g"),y=(0,l.K)((t,e)=>{let a=t?16.5:-16.5;return e?-a:a},"getCircleOffset"),x=(0,l.K)(t=>{u.append("circle").attr("cx",t).attr("cy",n).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:_,CENTRAL_CONNECTION_REVERSE:O,CENTRAL_CONNECTION_DUAL:m}=r.db.LINETYPE;if(h)switch(e.centralConnection){case _:g&&(T+=y(E,!0));break;case O:g||(p+=y(E,!1));break;case m:g?T+=y(E,!0):p+=y(E,!1)}switch(e.centralConnection){case _:x(T);break;case O:x(p);break;case m:x(p),x(T)}},"drawCentralConnection"),t_=(0,l.K)(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),tO=(0,l.K)(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),tm=(0,l.K)(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function tb(t,e){let a;tu.bumpVerticalPos(10);let{startx:r,stopx:i,message:s}=e,c=o.Y2.splitBreaks(s).length,l=(0,o.Wi)(s),d=l?await (0,o.Dl)(s,(0,o.D7)()):n._K.calculateTextDimensions(s,t_(tg));if(!l){let t=d.height/c;e.height+=t,tu.bumpVerticalPos(t)}let h=d.height-10,p=d.width;if(r===i){a=tu.getVerticalPos()+h,tg.rightAngles||(h+=tg.boxMargin,a=tu.getVerticalPos()+h),h+=30;let t=o.Y2.getMax(p/2,tg.width/2);tu.insert(r-t,tu.getVerticalPos()-10+h,i+t,tu.getVerticalPos()+30+h)}else h+=tg.boxMargin,a=tu.getVerticalPos()+h,tu.insert(r,a-10,i,a);return tu.bumpVerticalPos(h),e.height+=h,e.stopy=e.starty+e.height,tu.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),a}(0,l.K)(tb,"boundMessage");var tI=(0,l.K)(async function(t,e,a,r,i,c){let l,{startx:d,stopx:h,starty:p,message:T,type:E,sequenceIndex:g,sequenceVisible:u}=e,y=n._K.calculateTextDimensions(T,t_(tg)),x=(0,s.HT)();x.x=Math.min(d,h),x.y=p+10,x.width=Math.abs(h-d),x.class="messageText",x.dy="1em",x.text=T,x.fontFamily=tg.messageFontFamily,x.fontSize=tg.messageFontSize,x.fontWeight=tg.messageFontWeight,x.anchor=tg.messageAlign,x.valign="center",x.textMargin=tg.wrapPadding,x.tspan=!1,(0,o.Wi)(x.text)?await A(t,x,{startx:d,stopx:h,starty:a}):k(t,x);let _=y.width;if(d===h){let s=u||tg.showSequenceNumbers,n=tB(i,r),c=t$(i,r),p=d+(s&&(n||c)?10:0);l=tg.rightAngles?t.append("path").attr("d",`M ${p},${a} H ${d+o.Y2.getMax(tg.width/2,_/2)} V ${a+25} H ${d}`):t.append("path").attr("d","M "+p+","+a+" C "+(p+60)+","+(a-10)+" "+(d+60)+","+(a+30)+" "+d+","+(a+20)),tY(i,r)&&tx(t,i,e,r,d,h,a)}else(l=t.append("line")).attr("x1",d),l.attr("y1",a),l.attr("x2",h),l.attr("y2",a),tY(i,r)&&tx(t,i,e,r,d,h,a);E===r.db.LINETYPE.DOTTED||E===r.db.LINETYPE.DOTTED_CROSS||E===r.db.LINETYPE.DOTTED_POINT||E===r.db.LINETYPE.DOTTED_OPEN||E===r.db.LINETYPE.BIDIRECTIONAL_DOTTED||E===r.db.LINETYPE.SOLID_TOP_DOTTED||E===r.db.LINETYPE.SOLID_BOTTOM_DOTTED||E===r.db.LINETYPE.STICK_TOP_DOTTED||E===r.db.LINETYPE.STICK_BOTTOM_DOTTED||E===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||E===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||E===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||E===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(l.style("stroke-dasharray","3, 3"),l.attr("class","messageLine1")):l.attr("class","messageLine0"),l.attr("data-et","message"),l.attr("data-id","i"+e.id),l.attr("data-from",e.from),l.attr("data-to",e.to);let O="";if(tg.arrowMarkerAbsolute&&(O=(0,o.ID)(!0)),l.attr("stroke-width",2),l.attr("stroke","none"),l.style("fill","none"),(E===r.db.LINETYPE.SOLID_TOP||E===r.db.LINETYPE.SOLID_TOP_DOTTED)&&l.attr("marker-end","url("+O+"#"+c+"-solidTopArrowHead)"),(E===r.db.LINETYPE.SOLID_BOTTOM||E===r.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&l.attr("marker-end","url("+O+"#"+c+"-solidBottomArrowHead)"),(E===r.db.LINETYPE.STICK_TOP||E===r.db.LINETYPE.STICK_TOP_DOTTED)&&l.attr("marker-end","url("+O+"#"+c+"-stickTopArrowHead)"),(E===r.db.LINETYPE.STICK_BOTTOM||E===r.db.LINETYPE.STICK_BOTTOM_DOTTED)&&l.attr("marker-end","url("+O+"#"+c+"-stickBottomArrowHead)"),(E===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||E===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&l.attr("marker-start","url("+O+"#"+c+"-solidBottomArrowHead)"),(E===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||E===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&l.attr("marker-start","url("+O+"#"+c+"-solidTopArrowHead)"),(E===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE||E===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&l.attr("marker-start","url("+O+"#"+c+"-stickBottomArrowHead)"),(E===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||E===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&l.attr("marker-start","url("+O+"#"+c+"-stickTopArrowHead)"),(E===r.db.LINETYPE.SOLID||E===r.db.LINETYPE.DOTTED)&&l.attr("marker-end","url("+O+"#"+c+"-arrowhead)"),(E===r.db.LINETYPE.BIDIRECTIONAL_SOLID||E===r.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(l.attr("marker-start","url("+O+"#"+c+"-arrowhead)"),l.attr("marker-end","url("+O+"#"+c+"-arrowhead)")),(E===r.db.LINETYPE.SOLID_POINT||E===r.db.LINETYPE.DOTTED_POINT)&&l.attr("marker-end","url("+O+"#"+c+"-filled-head)"),(E===r.db.LINETYPE.SOLID_CROSS||E===r.db.LINETYPE.DOTTED_CROSS)&&l.attr("marker-end","url("+O+"#"+c+"-crosshead)"),u||tg.showSequenceNumbers){let s=E===r.db.LINETYPE.BIDIRECTIONAL_SOLID||E===r.db.LINETYPE.BIDIRECTIONAL_DOTTED,n=E===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||E===r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||E===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||E===r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||E===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE||E===r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||E===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||E===r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,o=tY(i,r),p=d,T=h;s?(p=d<h?d+12:d-6+(o?-5:0)+(i?.centralConnection===r.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===r.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),l.attr("x1",p)):n?(h>d?T=h-12:(T=h-6,p+=i?.centralConnection===r.db.LINETYPE.CENTRAL_CONNECTION_DUAL||i?.centralConnection===r.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),T+=15*!!o,l.attr("x2",T),l.attr("x1",p)):l.attr("x1",d+6);let u=0,y=d===h,x=d<=h;u=y?e.fromBounds+1:n?x?e.toBounds-1:e.fromBounds+1:x?e.fromBounds+1:e.toBounds-1;let _="12px",m=g.toString().length;m>5?_="7px":m>3&&(_="9px"),t.append("line").attr("x1",u).attr("y1",a).attr("x2",u).attr("y2",a).attr("stroke-width",0).attr("marker-start","url("+O+"#"+c+"-sequencenumber)"),t.append("text").attr("x",u).attr("y",a+4).attr("font-family","sans-serif").attr("font-size",_).attr("text-anchor","middle").attr("class","sequenceNumber").text(g)}},"drawMessage"),tf=(0,l.K)(function(t,e,a,r,i,s,n){let c,l=0,d=0,h=0;for(let t of r){let r=e.get(t),s=r.box;c&&c!=s&&(n||tu.models.addBox(c),d+=tg.boxMargin+c.margin),s&&s!=c&&(n||(s.x=l+d,s.y=i),d+=s.margin),r.width=o.Y2.getMax(r.width||tg.width,tg.width),r.height=o.Y2.getMax(r.height||tg.height,tg.height),r.margin=r.margin||tg.actorMargin,h=o.Y2.getMax(h,r.height),a.get(r.name)&&(d+=r.width/2),r.x=l+d,r.starty=tu.getVerticalPos(),tu.insert(r.x,i,r.x+r.width,r.height),l+=r.width+d,r.box&&(r.box.width=l+s.margin-r.box.x),d=r.margin,c=r.box,tu.models.addActor(r)}c&&!n&&tu.models.addBox(c),tu.bumpVerticalPos(h)},"addActorRenderingData"),tR=(0,l.K)(async function(t,e,a,r,i,s,n){if(r){let r=0;for(let c of(tu.bumpVerticalPos(2*tg.boxMargin),a)){let a=e.get(c);a.stopy||(a.stopy=tu.getVerticalPos());let l=await tE.drawActor(t,a,tg,!0,i,s,n);r=o.Y2.getMax(r,l)}tu.bumpVerticalPos(r+tg.boxMargin)}else for(let r of a){let a=e.get(r);await tE.drawActor(t,a,tg,!1,i,s,n)}},"drawActors"),tL=(0,l.K)(function(t,e,a,r){let i=0,s=0;for(let n of a){let a=e.get(n),o=tM(a),c=tE.drawPopup(t,a,o,tg,tg.forceMenus,r);c.height>i&&(i=c.height),c.width+a.x>s&&(s=c.width+a.x)}return{maxHeight:i,maxWidth:s}},"drawActorsPopup"),tP=(0,l.K)(function(t){(0,o.hH)(tg,t),t.fontFamily&&(tg.actorFontFamily=tg.noteFontFamily=tg.messageFontFamily=t.fontFamily),t.fontSize&&(tg.actorFontSize=tg.noteFontSize=tg.messageFontSize=t.fontSize),t.fontWeight&&(tg.actorFontWeight=tg.noteFontWeight=tg.messageFontWeight=t.fontWeight)},"setConf"),tw=(0,l.K)(function(t){return tu.activations.filter(function(e){return e.actor===t})},"actorActivations"),tS=(0,l.K)(function(t,e){let a=e.get(t),r=tw(t);return[r.reduce(function(t,e){return o.Y2.getMin(t,e.startx)},a.x+a.width/2-1),r.reduce(function(t,e){return o.Y2.getMax(t,e.stopx)},a.x+a.width/2+1)]},"activationBounds");function tD(t,e,a,r,i){tu.bumpVerticalPos(a);let s=r;if(e.id&&e.message&&t[e.id]){let a=t[e.id].width,i=t_(tg);e.message=n._K.wrapLabel(`[${e.message}]`,a-2*tg.wrapPadding,i),e.width=a,e.wrap=!0;let l=n._K.calculateTextDimensions(e.message,i),d=o.Y2.getMax(l.height,tg.labelBoxHeight);s=r+d,c.R.debug(`${d} - ${e.message}`)}i(e),tu.bumpVerticalPos(s)}function tN(t,e,a,r,i,s,n){function o(a,r){a.x<i.get(t.from).x?(tu.insert(e.stopx-r,e.starty,e.startx,e.stopy+a.height/2+tg.noteMargin),e.stopx=e.stopx+r):(tu.insert(e.startx,e.starty,e.stopx+r,e.stopy+a.height/2+tg.noteMargin),e.stopx=e.stopx-r)}function c(a,r){a.x<i.get(t.to).x?(tu.insert(e.startx-r,e.starty,e.stopx,e.stopy+a.height/2+tg.noteMargin),e.startx=e.startx+r):(tu.insert(e.stopx,e.starty,e.startx+r,e.stopy+a.height/2+tg.noteMargin),e.startx=e.startx-r)}(0,l.K)(o,"receiverAdjustment"),(0,l.K)(c,"senderAdjustment");let d=["actor","control","entity","database"];if(s.get(t.to)==r){let e=i.get(t.to),r=d.includes(e.type)?21:e.width/2+3;o(e,r),e.starty=a-e.height/2,tu.bumpVerticalPos(e.height/2)}else if(n.get(t.from)==r){let e=i.get(t.from);if(tg.mirrorActors){let t=d.includes(e.type)?18:e.width/2;c(e,t)}e.stopy=a-e.height/2,tu.bumpVerticalPos(e.height/2)}else if(n.get(t.to)==r){let e=i.get(t.to);if(tg.mirrorActors){let t=d.includes(e.type)?21:e.width/2+3;o(e,t)}e.stopy=a-e.height/2,tu.bumpVerticalPos(e.height/2)}}(0,l.K)(tD,"adjustLoopHeightForWrap"),(0,l.K)(tN,"adjustCreatedDestroyedData");var tA=(0,l.K)(async function(t,e,a,r){let i,{securityLevel:s,sequence:n,look:h,themeVariables:p}=(0,o.D7)();tg=n,"sandbox"===s&&(i=(0,d.Ltv)("#i"+e));let T="sandbox"===s?(0,d.Ltv)(i.nodes()[0].contentDocument.body):(0,d.Ltv)("body"),E="sandbox"===s?i.nodes()[0].contentDocument:document;tu.init(),c.R.debug(r.db);let g="sandbox"===s?T.select(`[id="${e}"]`):(0,d.Ltv)(`[id="${e}"]`),u=r.db.getActors(),y=r.db.getCreatedActors(),x=r.db.getDestroyedActors(),_=r.db.getBoxes(),O=r.db.getActorKeys(),m=r.db.getMessages(),b=r.db.getDiagramTitle(),I=r.db.hasAtLeastOneBox(),f=r.db.hasAtLeastOneBoxWithTitle(),R=await tk(u,m,r);if(tg.height=await tC(u,R,_),tE.insertComputerIcon(g,e),tE.insertDatabaseIcon(g,e),tE.insertClockIcon(g,e),I&&(tu.bumpVerticalPos(tg.boxMargin),f&&tu.bumpVerticalPos(_[0].textMaxHeight)),!0===tg.hideUnusedParticipants){let t=new Set;m.forEach(e=>{t.add(e.from),t.add(e.to)}),O=O.filter(e=>t.has(e))}let L=new Map(O.map((t,e)=>[u.get(t)?.name??t,e]));tf(g,u,y,O,0,m,!1);let P=await tW(m,u,R,r);function w(t,e){let a=tu.endActivation(t);a.starty+18>e&&(a.starty=e-6,e+=12),tE.drawActivation(g,a,e,tg,tw(t.from).length,r,L),tu.insert(a.startx,e-10,a.stopx,e)}tE.insertArrowHead(g,e),tE.insertArrowCrossHead(g,e),tE.insertArrowFilledHead(g,e),tE.insertSequenceNumber(g,e),tE.insertSolidTopArrowHead(g,e),tE.insertSolidBottomArrowHead(g,e),tE.insertStickTopArrowHead(g,e),tE.insertStickBottomArrowHead(g,e),"neo"===h&&tE.insertDropShadow(g,tg,e),(0,l.K)(w,"activeEnd");let S=1,D=1,N=[],A=[],k=0;for(let t of m){let e,a,i;switch(t.type){case r.db.LINETYPE.NOTE:tu.resetVerticalPos(),a=t.noteModel,await ty(g,a,t.id);break;case r.db.LINETYPE.ACTIVE_START:case r.db.LINETYPE.CENTRAL_CONNECTION:case r.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:tu.newActivation(t,g,u);break;case r.db.LINETYPE.ACTIVE_END:w(t,tu.getVerticalPos());break;case r.db.LINETYPE.LOOP_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t));break;case r.db.LINETYPE.LOOP_END:e=tu.endLoop(),await tE.drawLoop(g,e,"loop",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;case r.db.LINETYPE.RECT_START:tD(P,t,tg.boxMargin,tg.boxMargin,t=>{let e=t.message;e||(e=p?.rectBkgColor||p?.actorBkg||"rgba(128, 128, 128, 0.5)"),tu.newLoop(void 0,e)});break;case r.db.LINETYPE.RECT_END:e=tu.endLoop(),A.push(e),tu.models.addLoop(e),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos());break;case r.db.LINETYPE.OPT_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t));break;case r.db.LINETYPE.OPT_END:e=tu.endLoop(),await tE.drawLoop(g,e,"opt",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;case r.db.LINETYPE.ALT_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t));break;case r.db.LINETYPE.ALT_ELSE:tD(P,t,tg.boxMargin+tg.boxTextMargin,tg.boxMargin,t=>tu.addSectionToLoop(t));break;case r.db.LINETYPE.ALT_END:e=tu.endLoop(),await tE.drawLoop(g,e,"alt",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t)),tu.saveVerticalPos();break;case r.db.LINETYPE.PAR_AND:tD(P,t,tg.boxMargin+tg.boxTextMargin,tg.boxMargin,t=>tu.addSectionToLoop(t));break;case r.db.LINETYPE.PAR_END:e=tu.endLoop(),await tE.drawLoop(g,e,"par",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;case r.db.LINETYPE.AUTONUMBER:S=t.message.start||S,D=t.message.step||D,t.message.visible?r.db.enableSequenceNumbers():r.db.disableSequenceNumbers();break;case r.db.LINETYPE.CRITICAL_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t));break;case r.db.LINETYPE.CRITICAL_OPTION:tD(P,t,tg.boxMargin+tg.boxTextMargin,tg.boxMargin,t=>tu.addSectionToLoop(t));break;case r.db.LINETYPE.CRITICAL_END:e=tu.endLoop(),await tE.drawLoop(g,e,"critical",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;case r.db.LINETYPE.BREAK_START:tD(P,t,tg.boxMargin,tg.boxMargin+tg.boxTextMargin,t=>tu.newLoop(t));break;case r.db.LINETYPE.BREAK_END:e=tu.endLoop(),await tE.drawLoop(g,e,"break",tg,t),tu.bumpVerticalPos(e.stopy-tu.getVerticalPos()),tu.models.addLoop(e);break;default:try{(i=t.msgModel).starty=tu.getVerticalPos(),i.sequenceIndex=S,i.sequenceVisible=r.db.showSequenceNumbers(),i.id=t.id,i.from=t.from,i.to=t.to;let e=await tb(g,i);tN(t,i,e,k,u,y,x),N.push({messageModel:i,lineStartY:e,msg:t}),tu.models.addMessage(i)}catch(t){c.R.error("error while drawing message",t)}}[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.SOLID_TOP,r.db.LINETYPE.SOLID_BOTTOM,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.SOLID_TOP_DOTTED,r.db.LINETYPE.SOLID_BOTTOM_DOTTED,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT,r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(S=Math.round((S+D)*100)/100),k++}for(let t of(c.R.debug("createdActors",y),c.R.debug("destroyedActors",x),await tR(g,u,O,!1,e,r,L),N))await tI(g,t.messageModel,t.lineStartY,r,t.msg,e);for(let t of(tg.mirrorActors&&await tR(g,u,O,!0,e,r,L),A.forEach(t=>tE.drawBackgroundRect(g,t)),v(g,u,O,tg),tu.models.boxes)){t.height=tu.getVerticalPos()-t.y,tu.insert(t.x,t.y,t.x+t.width,t.height);let e=2*tg.boxMargin;t.startx=t.x-e,t.starty=t.y-.25*e,t.stopx=t.startx+t.width+2*e,t.stopy=t.starty+t.height+.75*e,t.stroke="rgb(0,0,0, 0.5)",tE.drawBox(g,t,tg)}I&&tu.bumpVerticalPos(tg.boxMargin);let M=tL(g,u,O,E),{bounds:C}=tu.getBounds();void 0===C.startx&&(C.startx=0),void 0===C.starty&&(C.starty=0),void 0===C.stopx&&(C.stopx=0),void 0===C.stopy&&(C.stopy=0);let Y=C.stopy-C.starty;Y<M.maxHeight&&(Y=M.maxHeight);let K=Y+2*tg.diagramMarginY;tg.mirrorActors&&(K=K-tg.boxMargin+tg.bottomMarginAdj);let B=C.stopx-C.startx;B<M.maxWidth&&(B=M.maxWidth);let $=B+2*tg.diagramMarginX;b&&g.append("text").text(b).attr("x",(C.stopx-C.startx)/2-2*tg.diagramMarginX).attr("y",-25),(0,o.a$)(g,K,$,tg.useMaxWidth);let V=40*!!b,W=u.size&&"neo"===h?30:0;g.attr("viewBox",C.startx-tg.diagramMarginX+" -"+(tg.diagramMarginY+V)+" "+$+" "+(K+V+W)),c.R.debug("models:",tu.models)},"draw");async function tk(t,e,a){let r={};for(let i of e)if(t.get(i.to)&&t.get(i.from)){let e=t.get(i.to);if(i.placement===a.db.PLACEMENT.LEFTOF&&!e.prevActor||i.placement===a.db.PLACEMENT.RIGHTOF&&!e.nextActor)continue;let s=void 0!==i.placement,c=!s,l=s?tO(tg):t_(tg),d=i.wrap?n._K.wrapLabel(i.message,tg.width-2*tg.wrapPadding,l):i.message,h=((0,o.Wi)(d)?await (0,o.Dl)(i.message,(0,o.D7)()):n._K.calculateTextDimensions(d,l)).width+2*tg.wrapPadding;c&&i.from===e.nextActor?r[i.to]=o.Y2.getMax(r[i.to]||0,h):c&&i.from===e.prevActor?r[i.from]=o.Y2.getMax(r[i.from]||0,h):c&&i.from===i.to?(r[i.from]=o.Y2.getMax(r[i.from]||0,h/2),r[i.to]=o.Y2.getMax(r[i.to]||0,h/2)):i.placement===a.db.PLACEMENT.RIGHTOF?r[i.from]=o.Y2.getMax(r[i.from]||0,h):i.placement===a.db.PLACEMENT.LEFTOF?r[e.prevActor]=o.Y2.getMax(r[e.prevActor]||0,h):i.placement===a.db.PLACEMENT.OVER&&(e.prevActor&&(r[e.prevActor]=o.Y2.getMax(r[e.prevActor]||0,h/2)),e.nextActor&&(r[i.from]=o.Y2.getMax(r[i.from]||0,h/2)))}return c.R.debug("maxMessageWidthPerActor:",r),r}(0,l.K)(tk,"getMaxMessageWidthPerActor");var tM=(0,l.K)(function(t){let e=0,a=tm(tg);for(let r in t.links){let t=n._K.calculateTextDimensions(r,a).width+2*tg.wrapPadding+2*tg.boxMargin;e<t&&(e=t)}return e},"getRequiredPopupWidth");async function tC(t,e,a){let r=0;for(let e of t.keys()){let a=t.get(e);a.wrap&&(a.description=n._K.wrapLabel(a.description,tg.width-2*tg.wrapPadding,tm(tg)));let i=(0,o.Wi)(a.description)?await (0,o.Dl)(a.description,(0,o.D7)()):n._K.calculateTextDimensions(a.description,tm(tg));a.width=a.wrap?tg.width:o.Y2.getMax(tg.width,i.width+2*tg.wrapPadding),"neo"===(0,o.D7)().look?(a.actorTextHeight=i.height,a.height=o.Y2.getMax(_(i.height),tg.height)):a.height=a.wrap?o.Y2.getMax(i.height,tg.height):tg.height,r=o.Y2.getMax(r,a.height)}for(let a in e){let r=t.get(a);if(!r)continue;let i=t.get(r.nextActor);if(!i){let t=e[a]+tg.actorMargin-r.width/2;r.margin=o.Y2.getMax(t,tg.actorMargin);continue}let s=e[a]+tg.actorMargin-r.width/2-i.width/2;r.margin=o.Y2.getMax(s,tg.actorMargin)}let i=0;return a.forEach(e=>{let a=t_(tg),r=e.actorKeys.reduce((e,a)=>e+=t.get(a).width+(t.get(a).margin||0),0);r+=8*tg.boxMargin,r-=2*tg.boxTextMargin,e.wrap&&(e.name=n._K.wrapLabel(e.name,r-2*tg.wrapPadding,a));let s=n._K.calculateTextDimensions(e.name,a);i=o.Y2.getMax(s.height,i);let c=o.Y2.getMax(r,s.width+2*tg.wrapPadding);if(e.margin=tg.boxTextMargin,r<c){let t=(c-r)/2;e.margin+=t}}),a.forEach(t=>t.textMaxHeight=i),o.Y2.getMax(r,tg.height)}(0,l.K)(tC,"calculateActorMargins");var tv=(0,l.K)(async function(t,e,a){let r=e.get(t.from),i=e.get(t.to),s=r.x,l=i.x,d=t.wrap&&t.message,h=(0,o.Wi)(t.message)?await (0,o.Dl)(t.message,(0,o.D7)()):n._K.calculateTextDimensions(d?n._K.wrapLabel(t.message,tg.width,tO(tg)):t.message,tO(tg)),p={width:d?tg.width:o.Y2.getMax(tg.width,h.width+2*tg.noteMargin),height:0,startx:r.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===a.db.PLACEMENT.RIGHTOF?(p.width=d?o.Y2.getMax(tg.width,h.width):o.Y2.getMax(r.width/2+i.width/2,h.width+2*tg.noteMargin),p.startx=s+(r.width+tg.actorMargin)/2):t.placement===a.db.PLACEMENT.LEFTOF?(p.width=d?o.Y2.getMax(tg.width,h.width+2*tg.noteMargin):o.Y2.getMax(r.width/2+i.width/2,h.width+2*tg.noteMargin),p.startx=s-p.width+(r.width-tg.actorMargin)/2):t.to===t.from?(h=n._K.calculateTextDimensions(d?n._K.wrapLabel(t.message,o.Y2.getMax(tg.width,r.width),tO(tg)):t.message,tO(tg)),p.width=d?o.Y2.getMax(tg.width,r.width):o.Y2.getMax(r.width,tg.width,h.width+2*tg.noteMargin),p.startx=s+(r.width-p.width)/2):(p.width=Math.abs(s+r.width/2-(l+i.width/2))+tg.actorMargin,p.startx=s<l?s+r.width/2-tg.actorMargin/2:l+i.width/2-tg.actorMargin/2),d&&(p.message=n._K.wrapLabel(t.message,p.width-2*tg.wrapPadding,tO(tg))),c.R.debug(`NM:[${p.startx},${p.stopx},${p.starty},${p.stopy}:${p.width},${p.height}=${t.message}]`),p},"buildNoteModel"),tY=(0,l.K)(function(t,e){let{CENTRAL_CONNECTION:a,CENTRAL_CONNECTION_REVERSE:r,CENTRAL_CONNECTION_DUAL:i}=e.db.LINETYPE;return[a,r,i].includes(t.centralConnection)},"hasCentralConnection"),tK=(0,l.K)(function(t,e,a){let{CENTRAL_CONNECTION_REVERSE:r,CENTRAL_CONNECTION_DUAL:i,BIDIRECTIONAL_SOLID:s,BIDIRECTIONAL_DOTTED:n}=e.db.LINETYPE,o=0;return(t.centralConnection===r||t.centralConnection===i)&&(o+=4),(t.centralConnection===r||t.centralConnection===i)&&(t.type===s||t.type===n)&&(o+=a?0:-6),o},"calculateCentralConnectionOffset"),tB=(0,l.K)(function(t,e){let{SOLID_ARROW_TOP_REVERSE:a,SOLID_ARROW_TOP_REVERSE_DOTTED:r,SOLID_ARROW_BOTTOM_REVERSE:i,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:s,STICK_ARROW_TOP_REVERSE:n,STICK_ARROW_TOP_REVERSE_DOTTED:o,STICK_ARROW_BOTTOM_REVERSE:c,STICK_ARROW_BOTTOM_REVERSE_DOTTED:l}=e.db.LINETYPE;return[a,r,i,s,n,o,c,l].includes(t.type)},"isReverseArrowType"),t$=(0,l.K)(function(t,e){let{BIDIRECTIONAL_SOLID:a,BIDIRECTIONAL_DOTTED:r}=e.db.LINETYPE;return[a,r].includes(t.type)},"isBidirectionalArrowType"),tV=(0,l.K)(function(t,e,a){let{look:r}=(0,o.D7)();if(![a.db.LINETYPE.SOLID_OPEN,a.db.LINETYPE.DOTTED_OPEN,a.db.LINETYPE.SOLID,a.db.LINETYPE.SOLID_TOP,a.db.LINETYPE.SOLID_BOTTOM,a.db.LINETYPE.STICK_TOP,a.db.LINETYPE.STICK_BOTTOM,a.db.LINETYPE.SOLID_TOP_DOTTED,a.db.LINETYPE.SOLID_BOTTOM_DOTTED,a.db.LINETYPE.STICK_TOP_DOTTED,a.db.LINETYPE.STICK_BOTTOM_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,a.db.LINETYPE.STICK_ARROW_TOP_REVERSE,a.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.DOTTED,a.db.LINETYPE.SOLID_CROSS,a.db.LINETYPE.DOTTED_CROSS,a.db.LINETYPE.SOLID_POINT,a.db.LINETYPE.DOTTED_POINT,a.db.LINETYPE.BIDIRECTIONAL_SOLID,a.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type))return{};let[i,s]=tS(t.from,e),[c,d]=tS(t.to,e),h=i<=c,p=h?s:i,T=h?c:d;"neo"===r&&(t.type!==a.db.LINETYPE.SOLID_OPEN&&(T+=h?-3:3),(t.type===a.db.LINETYPE.BIDIRECTIONAL_SOLID||t.type===a.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(p+=h?3:-3)),p+=tK(t,a,h);let E=Math.abs(c-d)>2,g=(0,l.K)(t=>h?-t:t,"adjustValue");t.from===t.to?T=p:(t.activate&&!E&&(T+=g(tg.activationWidth/2-1)),[a.db.LINETYPE.SOLID_OPEN,a.db.LINETYPE.DOTTED_OPEN,a.db.LINETYPE.STICK_TOP,a.db.LINETYPE.STICK_BOTTOM,a.db.LINETYPE.STICK_TOP_DOTTED,a.db.LINETYPE.STICK_BOTTOM_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.STICK_ARROW_TOP_REVERSE,a.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,a.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(T+=g(3)),[a.db.LINETYPE.BIDIRECTIONAL_SOLID,a.db.LINETYPE.BIDIRECTIONAL_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,a.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,a.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(p-=g(3)));let u=[i,s,c,d],y=Math.abs(p-T);t.wrap&&t.message&&(t.message=n._K.wrapLabel(t.message,o.Y2.getMax(y+2*tg.wrapPadding,tg.width),t_(tg)));let x=n._K.calculateTextDimensions(t.message,t_(tg));return{width:o.Y2.getMax(t.wrap?0:x.width+2*tg.wrapPadding,y+2*tg.wrapPadding,tg.width),height:0,startx:p,stopx:T,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,u),toBounds:Math.max.apply(null,u)}},"buildMessageModel"),tW=(0,l.K)(async function(t,e,a,r){let i,s,n,l={},d=[];for(let a of t){switch(a.type){case r.db.LINETYPE.LOOP_START:case r.db.LINETYPE.ALT_START:case r.db.LINETYPE.OPT_START:case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.PAR_OVER_START:case r.db.LINETYPE.CRITICAL_START:case r.db.LINETYPE.BREAK_START:d.push({id:a.id,msg:a.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case r.db.LINETYPE.ALT_ELSE:case r.db.LINETYPE.PAR_AND:case r.db.LINETYPE.CRITICAL_OPTION:a.message&&(l[(i=d.pop()).id]=i,l[a.id]=i,d.push(i));break;case r.db.LINETYPE.LOOP_END:case r.db.LINETYPE.ALT_END:case r.db.LINETYPE.OPT_END:case r.db.LINETYPE.PAR_END:case r.db.LINETYPE.CRITICAL_END:case r.db.LINETYPE.BREAK_END:l[(i=d.pop()).id]=i;break;case r.db.LINETYPE.ACTIVE_START:{let t=e.get(a.from?a.from:a.to.actor),r=tw(a.from?a.from:a.to.actor).length,i=t.x+t.width/2+(r-1)*tg.activationWidth/2,s={startx:i,stopx:i+tg.activationWidth,actor:a.from,enabled:!0};tu.activations.push(s)}break;case r.db.LINETYPE.ACTIVE_END:{let t=tu.activations.map(t=>t.actor).lastIndexOf(a.from);tu.activations.splice(t,1).splice(0,1)}}void 0!==a.placement?(s=await tv(a,e,r),a.noteModel=s,d.forEach(t=>{(i=t).from=o.Y2.getMin(i.from,s.startx),i.to=o.Y2.getMax(i.to,s.startx+s.width),i.width=o.Y2.getMax(i.width,Math.abs(i.from-i.to))-tg.labelBoxWidth})):(n=tV(a,e,r),a.msgModel=n,n.startx&&n.stopx&&d.length>0&&d.forEach(t=>{if(i=t,n.startx===n.stopx){let t=e.get(a.from),r=e.get(a.to);i.from=o.Y2.getMin(t.x-n.width/2,t.x-t.width/2,i.from),i.to=o.Y2.getMax(r.x+n.width/2,r.x+t.width/2,i.to),i.width=o.Y2.getMax(i.width,Math.abs(i.to-i.from))-tg.labelBoxWidth}else i.from=o.Y2.getMin(n.startx,i.from),i.to=o.Y2.getMax(n.stopx,i.to),i.width=o.Y2.getMax(i.width,n.width)-tg.labelBoxWidth}))}return tu.activations=[],c.R.debug("Loop type widths:",l),l},"calculateLoopBounds"),tF={parser:p,get db(){return new u},renderer:{bounds:tu,drawActors:tR,drawActorsPopup:tL,setConf:tP,draw:tA},styles:y,init:(0,l.K)(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,(0,o.XV)({sequence:{wrap:t.wrap}}))},"init")}}}]); \ No newline at end of file diff --git a/en/assets/js/4709.1ea5418e.js b/en/assets/js/4709.1ea5418e.js new file mode 100644 index 0000000..5d22c81 --- /dev/null +++ b/en/assets/js/4709.1ea5418e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4709"],{6871(e,r,a){a.d(r,{diagram:()=>m});var t=a(1578),l=a(7454);a(4924),a(1177);var n=a(1293),s=a(6827),i=a(8731),p=(0,i.lz)().Railroad.parser.LangiumParser,o=(0,s.K)(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{let r=e.elements.map(o);return 1===r.length?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{let r=e.alternatives.map(o);return 1===r.length?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:o(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:o(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),d=(0,s.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),u=(0,s.K)(e=>{(0,l.S)(e,t.db),e.title&&t.db.setTitle(e.title),e.rules.map(e=>t.db.addRule(d(e)))},"populateDb"),m={parser:{parse:(0,s.K)(e=>{t.db.clear(),n.R.debug("[Railroad Parser] Starting Langium parse");let r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new i.zg(r);let a=r.value;n.R.debug("[Railroad Parser] Parsed rules:",a.rules.length),u(a),n.R.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t.db}},db:t.db,renderer:t.U,styles:t.$}}}]); \ No newline at end of file diff --git a/en/assets/js/4788.eef239cb.js b/en/assets/js/4788.eef239cb.js new file mode 100644 index 0000000..da30b16 --- /dev/null +++ b/en/assets/js/4788.eef239cb.js @@ -0,0 +1,41 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4788"],{7454(t,e,a){function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(6827).K)(r,"populateCommonDb")},5487(t,e,a){a.d(e,{diagram:()=>R});var r=a(7454),i=a(4924),l=a(6348),n=a(1177),s=a(1293),o=a(6827),c=a(8731),d={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},g={axes:[],curves:[],options:d},u=structuredClone(g),p=n.UI.radar,x=(0,o.K)(()=>(0,l.$t)({...p,...(0,n.zj)().radar}),"getConfig"),h=(0,o.K)(()=>u.axes,"getAxes"),m=(0,o.K)(()=>u.curves,"getCurves"),$=(0,o.K)(()=>u.options,"getOptions"),f=(0,o.K)(t=>{u.axes=t.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),y=(0,o.K)(t=>{u.curves=t.map(t=>({name:t.name,label:t.label??t.name,entries:v(t.entries)}))},"setCurves"),v=(0,o.K)(t=>{if(void 0==t[0].axis)return t.map(t=>t.value);let e=h();if(0===e.length)throw Error("Axes must be populated before curves for reference entries");return e.map(e=>{let a=t.find(t=>t.axis?.$refText===e.name);if(void 0===a)throw Error("Missing entry for axis "+e.label);return a.value})},"computeCurveEntries"),w={getAxes:h,getCurves:m,getOptions:$,setAxes:f,setCurves:y,setOptions:(0,o.K)(t=>{let e=t.reduce((t,e)=>(t[e.name]=e,t),{});u.options={showLegend:e.showLegend?.value??d.showLegend,ticks:e.ticks?.value??d.ticks,max:e.max?.value??d.max,min:e.min?.value??d.min,graticule:e.graticule?.value??d.graticule},u.options.ticks>32&&(s.R.warn(`Radar diagram ticks (${u.options.ticks}) exceeds maximum allowed (32). Using 32 instead.`),u.options.ticks=32)},"setOptions"),getConfig:x,clear:(0,o.K)(()=>{(0,n.IU)(),u=structuredClone(g)},"clear"),setAccTitle:n.SV,getAccTitle:n.iN,setDiagramTitle:n.ke,getDiagramTitle:n.ab,getAccDescription:n.m7,setAccDescription:n.EI},b=(0,o.K)(t=>{(0,r.S)(t,w);let{axes:e,curves:a,options:i}=t;w.setAxes(e),w.setCurves(a),w.setOptions(i)},"populate"),C={parse:(0,o.K)(async t=>{let e=await (0,c.qg)("radar",t);s.R.debug(e),b(e)},"parse")},k=(0,o.K)((t,e,a,r)=>{let l=r.db,n=l.getAxes(),s=l.getCurves(),o=l.getOptions(),c=l.getConfig(),d=l.getDiagramTitle(),g=K((0,i.D)(e),c),u=o.max??Math.max(...s.map(t=>Math.max(...t.entries))),p=o.min,x=Math.min(c.width,c.height)/2;M(g,n,x,o.ticks,o.graticule),L(g,n,x,c),T(g,n,s,p,u,o.graticule,c),I(g,s,o.showLegend,c),g.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),K=(0,o.K)((t,e)=>{let a=e.width+e.marginLeft+e.marginRight,r=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return(0,n.a$)(t,r,a,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${a} ${r}`).attr("overflow","visible"),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),M=(0,o.K)((t,e,a,r,i)=>{if("circle"===i)for(let e=0;e<r;e++){let i=a*(e+1)/r;t.append("circle").attr("r",i).attr("class","radarGraticule")}else if("polygon"===i){let i=e.length;for(let l=0;l<r;l++){let n=a*(l+1)/r,s=e.map((t,e)=>{let a=2*e*Math.PI/i-Math.PI/2,r=n*Math.cos(a),l=n*Math.sin(a);return`${r},${l}`}).join(" ");t.append("polygon").attr("points",s).attr("class","radarGraticule")}}},"drawGraticule"),L=(0,o.K)((t,e,a,r)=>{let i=e.length;for(let l=0;l<i;l++){let n=e[l].label,s=2*l*Math.PI/i-Math.PI/2,o=Math.cos(s),c=Math.sin(s);t.append("line").attr("x1",0).attr("y1",0).attr("x2",a*r.axisScaleFactor*o).attr("y2",a*r.axisScaleFactor*c).attr("class","radarAxisLine");let d=o>.01?"start":o<-.01?"end":"middle",g=c>.01?"hanging":c<-.01?"auto":"central";t.append("text").text(n).attr("x",a*r.axisLabelFactor*o+4*o).attr("y",a*r.axisLabelFactor*c+4*c).attr("text-anchor",d).attr("dominant-baseline",g).attr("class","radarAxisLabel")}},"drawAxes");function T(t,e,a,r,i,l,n){let s=e.length,o=Math.min(n.width,n.height)/2;a.forEach((e,a)=>{if(e.entries.length!==s)return;let c=e.entries.map((t,e)=>{let a=2*Math.PI*e/s-Math.PI/2,l=A(t,r,i,o);return{x:l*Math.cos(a),y:l*Math.sin(a)}});"circle"===l?t.append("path").attr("d",S(c,n.curveTension)).attr("class",`radarCurve-${a}`):"polygon"===l&&t.append("polygon").attr("points",c.map(t=>`${t.x},${t.y}`).join(" ")).attr("class",`radarCurve-${a}`)})}function A(t,e,a,r){return r*(Math.min(Math.max(t,e),a)-e)/(a-e)}function S(t,e){let a=t.length,r=`M${t[0].x},${t[0].y}`;for(let i=0;i<a;i++){let l=t[(i-1+a)%a],n=t[i],s=t[(i+1)%a],o=t[(i+2)%a],c={x:n.x+(s.x-l.x)*e,y:n.y+(s.y-l.y)*e},d={x:s.x-(o.x-n.x)*e,y:s.y-(o.y-n.y)*e};r+=` C${c.x},${c.y} ${d.x},${d.y} ${s.x},${s.y}`}return`${r} Z`}function I(t,e,a,r){if(!a)return;let i=(r.width/2+r.marginRight)*3/4,l=-(3*(r.height/2+r.marginTop))/4;e.forEach((e,a)=>{let r=t.append("g").attr("transform",`translate(${i}, ${l+20*a})`);r.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${a}`),r.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(e.label)})}(0,o.K)(T,"drawCurves"),(0,o.K)(A,"relativeRadius"),(0,o.K)(S,"closedRoundCurve"),(0,o.K)(I,"drawLegend");var D=(0,o.K)((t,e)=>{let a="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++){let i=t[`cScale${r}`];a+=` + .radarCurve-${r} { + color: ${i}; + fill: ${i}; + fill-opacity: ${e.curveOpacity}; + stroke: ${i}; + stroke-width: ${e.curveStrokeWidth}; + } + .radarLegendBox-${r} { + fill: ${i}; + fill-opacity: ${e.curveOpacity}; + stroke: ${i}; + } + `}return a},"genIndexStyles"),O=(0,o.K)(t=>{let e=(0,n.P$)(),a=(0,n.zj)(),r=(0,l.$t)(e,a.themeVariables),i=(0,l.$t)(r.radar,t);return{themeVariables:r,radarOptions:i}},"buildRadarStyleOptions"),R={parser:C,db:w,renderer:{draw:k},styles:(0,o.K)(({radar:t}={})=>{let{themeVariables:e,radarOptions:a}=O(t);return` + .radarTitle { + font-size: ${e.fontSize}; + color: ${e.titleColor}; + dominant-baseline: hanging; + text-anchor: middle; + } + .radarAxisLine { + stroke: ${a.axisColor}; + stroke-width: ${a.axisStrokeWidth}; + } + .radarAxisLabel { + font-size: ${a.axisLabelFontSize}px; + color: ${a.axisColor}; + } + .radarGraticule { + fill: ${a.graticuleColor}; + fill-opacity: ${a.graticuleOpacity}; + stroke: ${a.graticuleColor}; + stroke-width: ${a.graticuleStrokeWidth}; + } + .radarLegendText { + text-anchor: start; + font-size: ${a.legendFontSize}px; + dominant-baseline: hanging; + } + ${D(e,a)} + `},"styles")}}}]); \ No newline at end of file diff --git a/en/assets/js/480.1eb9a3a7.js b/en/assets/js/480.1eb9a3a7.js new file mode 100644 index 0000000..34fec64 --- /dev/null +++ b/en/assets/js/480.1eb9a3a7.js @@ -0,0 +1,62 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["480"],{7454(t,e,a){function n(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>n}),(0,a(6827).K)(n,"populateCommonDb")},7475(t,e,a){a.d(e,{diagram:()=>B});var n=a(7454),r=a(4924),i=a(6348),o=a(1177),l=a(1293),c=a(6827),s=a(8731),d=(0,c.K)(()=>({domains:new Map,transitions:[]}),"createDefaultData"),f=d(),p=(0,c.K)(()=>f.domains,"getDomains"),y={getDomains:p,getTransitions:(0,c.K)(()=>f.transitions,"getTransitions"),setDomains:(0,c.K)(t=>{if(t)for(let e of t){let t=e.domain,a=(e.items??[]).map(t=>({label:t.label}));f.domains.set(t,{name:t,items:a})}},"setDomains"),setTransitions:(0,c.K)(t=>{t&&(f.transitions=t.filter(t=>t.from!==t.to||(l.R.warn(`Cynefin: self-loop transition on domain "${t.from}" is not meaningful and will be skipped.`),!1)).map(t=>({from:t.from,to:t.to,label:t.label||void 0})))},"setTransitions"),getConfig:(0,c.K)(()=>(0,i.$t)({...o.UI.cynefin,...(0,o.zj)().cynefin}),"getConfig"),clear:(0,c.K)(()=>{(0,o.IU)(),f=d()},"clear"),setAccTitle:o.SV,getAccTitle:o.iN,setDiagramTitle:o.ke,getDiagramTitle:o.ab,getAccDescription:o.m7,setAccDescription:o.EI},m=(0,c.K)(t=>{(0,n.S)(t,y),y.setDomains(t.domains),y.setTransitions(t.transitions)},"populate"),x={parse:(0,c.K)(async t=>{let e=await (0,s.qg)("cynefin",t);l.R.debug(e),m(e)},"parse")};function h(t){let e=t+0x6d2b79f5|0;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000}function $(t){let e=0;for(let a=0;a<t.length;a++)e=(e<<5)-e+t.charCodeAt(a)|0;return e}function g(t,e){return"number"==typeof t&&Number.isFinite(t)&&0!==t?t:$(e)}function u(t,e,a,n){let r=t/2,i=n??.015*t,o=e/7,l=[];for(let t=0;t<=7;t++){let e=h(a+17*t)*i*2-i;l.push({x:r+e,y:t*o})}let c=`M${l[0].x},${l[0].y}`;for(let t=0;t<l.length-1;t++){let e=l[t],n=l[t+1],r=(e.y+n.y)/2,o=1.5*i*(t%2==0?1:-1)*h(a+31*t+7),s=e.x+o,d=n.x-o;c+=` C${s},${r} ${d},${r} ${n.x},${n.y}`}return c}function b(t,e,a,n){let r=e/2,i=n??.015*e,o=t/7,l=[];for(let t=0;t<=7;t++){let e=h(a+23*t)*i*2-i;l.push({x:t*o,y:r+e})}let c=`M${l[0].x},${l[0].y}`;for(let t=0;t<l.length-1;t++){let e=l[t],n=l[t+1],r=(e.x+n.x)/2,o=1.5*i*(t%2==0?1:-1)*h(a+37*t+11),s=e.y+o,d=n.y-o;c+=` C${r},${s} ${r},${d} ${n.x},${n.y}`}return c}function w(t,e){let a=t/2,n=.5*e,r=.03*t;return`M${a},${n} C${a+r},${n+(e-n)*.2} ${a-1.5*r},${n+(e-n)*.55} ${a+.5*r},${n+(e-n)*.75} C${a-r},${n+(e-n)*.85} ${a+.3*r},${n+(e-n)*.95} ${a},${e}`}function C(t,e,a,n){return`M${t-a},${e} A${a},${n} 0 1,1 ${t+a},${e} A${a},${n} 0 1,1 ${t-a},${e} Z`}(0,c.K)(h,"seededRandom"),(0,c.K)($,"hashString"),(0,c.K)(g,"resolveSeed"),(0,c.K)(u,"generateFoldPath"),(0,c.K)(b,"generateHorizontalBoundary"),(0,c.K)(w,"generateCliffPath"),(0,c.K)(C,"generateConfusionPath");var k={complex:{model:"Probe \u2192 Sense \u2192 Respond",practice:"Emergent Practices"},complicated:{model:"Sense \u2192 Analyse \u2192 Respond",practice:"Good Practices"},clear:{model:"Sense \u2192 Categorise \u2192 Respond",practice:"Best Practices"},chaotic:{model:"Act \u2192 Sense \u2192 Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},D=(0,c.K)((t,e)=>{let a=t/2,n=e/2;return{complex:{cx:a/2,cy:n/2,x:0,y:0,w:a,h:n},complicated:{cx:a+a/2,cy:n/2,x:a,y:0,w:a,h:n},chaotic:{cx:a/2,cy:n+n/2,x:0,y:n,w:a,h:n},clear:{cx:a+a/2,cy:n+n/2,x:a,y:n,w:a,h:n},confusion:{cx:a,cy:n,x:.7*a,y:.7*n,w:.6*a,h:.6*n}}},"getDomainLayouts"),K=(0,c.K)(()=>{let t=(0,o.P$)(),e=(0,o.zj)();return(0,i.$t)(t,e.themeVariables).cynefin},"getCynefinDomainColors"),T=(0,c.K)((t,e,a,n)=>{let i=n.db,c=i.getDomains(),s=i.getTransitions(),d=i.getDiagramTitle(),f=i.getAccTitle(),p=i.getAccDescription(),y=i.getConfig(),m=K();l.R.debug("Rendering Cynefin diagram");let x=y.width,h=y.height,$=y.padding,T=y.showDomainDescriptions,A=y.boundaryAmplitude,B=x+2*$,S=h+2*$,z={complex:m.complexBg,complicated:m.complicatedBg,clear:m.clearBg,chaotic:m.chaoticBg,confusion:m.confusionBg},v=(0,r.D)(e);(0,o.a$)(v,S,B,y.useMaxWidth??!0),v.attr("viewBox",`0 0 ${B} ${S}`),f&&v.append("title").text(f),p&&v.append("desc").text(p);let M=v.append("g").attr("transform",`translate(${$}, ${$})`),I=D(x,h),L=g(y.seed,e),P=M.append("g").attr("class","cynefin-backgrounds"),R=["complex","complicated","chaotic","clear"];for(let t of R){let e=I[t];P.append("rect").attr("class","cynefinDomain").attr("x",e.x).attr("y",e.y).attr("width",e.w).attr("height",e.h).attr("fill",z[t]).attr("fill-opacity",.4).attr("stroke","none")}let F=M.append("g").attr("class","cynefin-boundaries");F.append("path").attr("class","cynefinBoundary").attr("d",u(x,h,L,A)).attr("fill","none"),F.append("path").attr("class","cynefinBoundary").attr("d",b(x,h,L+100,A)).attr("fill","none"),F.append("path").attr("class","cynefinCliff").attr("d",w(x,h)).attr("fill","none");let W=.15*x,q=.15*h;M.append("path").attr("class","cynefinConfusion").attr("d",C(x/2,h/2,W,q)).attr("fill",z.confusion).attr("fill-opacity",.5);let E=M.append("g").attr("class","cynefin-labels");for(let t of R){let e=I[t];E.append("text").attr("class","cynefinDomainLabel").attr("x",e.cx).attr("y",T?e.cy-30:e.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(t.charAt(0).toUpperCase()+t.slice(1))}if(E.append("text").attr("class","cynefinDomainLabel").attr("x",x/2).attr("y",T?h/2-10:h/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),T){let t=M.append("g").attr("class","cynefin-subtitles");for(let e of R){let a=I[e],n=k[e];t.append("text").attr("class","cynefinSubtitle").attr("x",a.cx).attr("y",a.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n.model),t.append("text").attr("class","cynefinSubtitle").attr("x",a.cx).attr("y",a.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n.practice)}t.append("text").attr("class","cynefinSubtitle").attr("x",x/2).attr("y",h/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(k.confusion.practice)}let H=M.append("g").attr("class","cynefin-items");for(let t of["complex","complicated","chaotic","clear","confusion"]){let e,a=c.get(t);if(!a||0===a.items.length)continue;let n=I[t],r="confusion"===t,i=a.items,o=0;if(r&&a.items.length>3&&(o=a.items.length-3,i=a.items.slice(0,3)),r){let t=T?22:14;e=n.cy+t}else e=n.cy+(T?25:15);if([...i].forEach((a,r)=>{let i=e+30*r,o=H.append("g"),l=o.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(a.label),c=7*a.label.length,s=l.node();if(s&&"function"==typeof s.getBBox){let t=s.getBBox();t.width>0&&(c=t.width)}let d=c+20,f=n.cx-d/2;o.attr("transform",`translate(${f}, ${i})`),o.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",d).attr("height",26).attr("rx",4).attr("ry",4).attr("fill",z[t]).attr("fill-opacity",.95),l.attr("x",d/2).attr("y",13)}),o>0){let a=e+30*i.length,r=`+${o} more`,l=H.append("g"),c=l.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(r),s=7*r.length,d=c.node();if(d&&"function"==typeof d.getBBox){let t=d.getBBox();t.width>0&&(s=t.width)}let f=s+20,p=n.cx-f/2;l.attr("transform",`translate(${p}, ${a})`),l.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",f).attr("height",26).attr("rx",4).attr("ry",4).attr("fill",z[t]).attr("fill-opacity",.6),c.attr("x",f/2).attr("y",13)}}if(s.length>0){let t=v.select("defs").empty()?v.append("defs"):v.select("defs"),a=`cynefin-arrow-${e}`;t.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");let n=M.append("g").attr("class","cynefin-arrows");s.forEach(t=>{let e=I[t.from],r=I[t.to];if(!e||!r)return;if(t.from===t.to)return void l.R.warn(`Cynefin renderer: skipping self-loop on domain "${t.from}"`);let i=e.cx,o=e.cy,c=r.cx,s=r.cy,d=c-i,f=s-o,p=Math.sqrt(d*d+f*f),y=.15*p,m=(i+c)/2+-f/p*y,x=(o+s)/2+d/p*y;n.append("path").attr("class","cynefinArrowLine").attr("d",`M${i},${o} Q${m},${x} ${c},${s}`).attr("fill","none").attr("marker-end",`url(#${a})`),t.label&&n.append("text").attr("class","cynefinArrowLabel").attr("x",m).attr("y",x-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(t.label)})}d&&M.append("text").attr("class","cynefinTitle").attr("x",x/2).attr("y",-$/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d)},"draw"),A=(0,c.K)(()=>{let t=(0,o.P$)(),e=(0,o.zj)();return(0,i.$t)(t,e.themeVariables).cynefin},"getCynefinTheme"),B={parser:x,db:y,renderer:{draw:T},styles:(0,c.K)(()=>{let t=A();return` + .cynefinDomain { + stroke: none; + } + .cynefinDomainLabel { + font-size: ${t.domainFontSize}px; + font-weight: bold; + fill: ${t.labelColor}; + } + .cynefinSubtitle { + font-size: ${t.itemFontSize-1}px; + fill: ${t.textColor}; + font-style: italic; + } + .cynefinItem { + fill-opacity: 0.95; + stroke: ${t.boundaryColor}; + stroke-width: 1; + } + .cynefinItemText { + font-size: ${t.itemFontSize}px; + fill: ${t.textColor}; + } + .cynefinItemOverflow { + fill-opacity: 0.6; + stroke: ${t.boundaryColor}; + stroke-width: 1; + stroke-dasharray: 3 2; + } + .cynefinBoundary { + stroke: ${t.boundaryColor}; + stroke-width: ${t.boundaryWidth}; + stroke-dasharray: 6 3; + } + .cynefinCliff { + stroke: ${t.cliffColor}; + stroke-width: ${t.cliffWidth}; + } + .cynefinConfusion { + stroke: ${t.boundaryColor}; + stroke-width: 1.5; + stroke-dasharray: 4 2; + } + .cynefinArrowLine { + stroke: ${t.arrowColor}; + stroke-width: ${t.arrowWidth}; + fill: none; + } + .cynefinArrowHead { + fill: ${t.arrowColor}; + stroke: none; + } + .cynefinArrowLabel { + font-size: ${t.itemFontSize-1}px; + fill: ${t.textColor}; + } + .cynefinTitle { + font-size: ${t.domainFontSize+2}px; + font-weight: bold; + fill: ${t.labelColor}; + } + `},"styles")}}}]); \ No newline at end of file diff --git a/en/assets/js/4875.484cb0fc.js b/en/assets/js/4875.484cb0fc.js new file mode 100644 index 0000000..2065381 --- /dev/null +++ b/en/assets/js/4875.484cb0fc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4875"],{1238(t,i,e){e.d(i,{diagram:()=>tn});var s,a=e(4924),n=e(6320);e(2217);var h=e(6348),o=e(1177),r=e(1293),l=e(6827),c=e(7829),g=function(){var t=(0,l.K)(function(t,i,e,s){for(e=e||{},s=t.length;s--;e[t[s]]=i);return e},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],a=[1,5],n=[1,6],h=[1,7],o=[1,5,10,12,14,16,18,19,21,23,36,37,38],r=[1,25],c=[1,26],g=[1,28],u=[1,29],x=[1,30],d=[1,31],p=[1,32],f=[1,33],m=[1,34],y=[1,35],b=[1,36],w=[1,37],A=[1,43],C=[1,42],S=[1,47],k=[1,50],R=[1,10,12,14,16,18,19,21,23,36,37,38],_=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],T=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],D=[1,65],L=[26,28],P={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$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",28:"COMMA",29:"NUMBER_WITH_DECIMAL",30:"STR",33:"ARROW_DELIMITER",36:"NEWLINE",37:"SEMI",38:"EOF",40:"MD_STR",42:"AMP",43:"NUM",44:"ALPHA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"MINUS",51:"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],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:(0,l.K)(function(t,i,e,s,a,n,h){var o=n.length-1;switch(a){case 5:s.setOrientation(n[o]);break;case 9:s.setDiagramTitle(n[o].text.trim());break;case 12:s.setLineData({text:"",type:"text"},n[o]);break;case 13:s.setLineData(n[o-1],n[o]);break;case 14:s.setBarData({text:"",type:"text"},n[o]);break;case 15:s.setBarData(n[o-1],n[o]);break;case 16:this.$=n[o].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=n[o].trim(),s.setAccDescription(this.$);break;case 19:case 29:this.$=n[o-1];break;case 20:case 30:this.$=[n[o-2],...n[o]];break;case 21:case 31:this.$=[n[o]];break;case 22:this.$={value:Number(n[o-1]),label:n[o]};break;case 23:this.$={value:Number(n[o]),label:""};break;case 24:s.setXAxisTitle(n[o]);break;case 25:s.setXAxisTitle(n[o-1]);break;case 26:s.setXAxisTitle({type:"text",text:""});break;case 27:s.setXAxisBand(n[o]);break;case 28:s.setXAxisRangeData(Number(n[o-2]),Number(n[o]));break;case 32:s.setYAxisTitle(n[o]);break;case 33:s.setYAxisTitle(n[o-1]);break;case 34:s.setYAxisTitle({type:"text",text:""});break;case 35:s.setYAxisRangeData(Number(n[o-2]),Number(n[o]));break;case 39:case 40:this.$={text:n[o],type:"text"};break;case 41:this.$={text:n[o],type:"markdown"};break;case 42:this.$=n[o];break;case 43:this.$=n[o-1]+""+n[o]}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,36:a,37:n,38:h}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,36:a,37:n,38:h}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],36:a,37:n,38:h}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,36]),t(o,[2,37]),t(o,[2,38]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,36:a,37:n,38:h}),{1:[2,3]},t(o,[2,5]),t(i,[2,7],{4:22,36:a,37:n,38:h}),{11:23,30:r,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},{11:39,13:38,24:A,29:C,30:r,31:40,32:41,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},{11:45,15:44,29:S,30:r,35:46,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},{11:49,17:48,24:k,30:r,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},{11:52,17:51,24:k,30:r,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},{20:[1,53]},{22:[1,54]},t(R,[2,18]),{1:[2,2]},t(R,[2,8]),t(R,[2,9]),t(_,[2,39],{41:55,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w}),t(_,[2,40]),t(_,[2,41]),t(T,[2,42]),t(T,[2,44]),t(T,[2,45]),t(T,[2,46]),t(T,[2,47]),t(T,[2,48]),t(T,[2,49]),t(T,[2,50]),t(T,[2,51]),t(T,[2,52]),t(T,[2,53]),t(R,[2,10]),t(R,[2,24],{32:41,31:56,24:A,29:C}),t(R,[2,26]),t(R,[2,27]),{33:[1,57]},{11:59,30:r,34:58,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},t(R,[2,11]),t(R,[2,32],{35:60,29:S}),t(R,[2,34]),{33:[1,61]},t(R,[2,12]),{17:62,24:k},{25:63,27:64,29:D},t(R,[2,14]),{17:66,24:k},t(R,[2,16]),t(R,[2,17]),t(T,[2,43]),t(R,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},t(R,[2,33]),{29:[1,70]},t(R,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},t(L,[2,23],{30:[1,73]}),t(R,[2,15]),t(R,[2,28]),t(R,[2,29]),{11:59,30:r,34:74,39:24,40:c,41:27,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:y,50:b,51:w},t(R,[2,35]),t(R,[2,19]),{25:75,27:64,29:D},t(L,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:(0,l.K)(function(t,i){if(i.recoverable)this.trace(t);else{var e=Error(t);throw e.hash=i,e}},"parseError"),parse:(0,l.K)(function(t){var i=this,e=[0],s=[],a=[null],n=[],h=this.table,o="",r=0,c=0,g=0,u=n.slice.call(arguments,1),x=Object.create(this.lexer),d={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d[p]=this.yy[p]);x.setInput(t,d),d.lexer=x,d.parser=this,void 0===x.yylloc&&(x.yylloc={});var f=x.yylloc;n.push(f);var m=x.options&&x.options.ranges;function y(){var t;return"number"!=typeof(t=s.pop()||x.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=i.symbols_[t]||t),t}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){e.length=e.length-2*t,a.length=a.length-t,n.length=n.length-t},"popStack"),(0,l.K)(y,"lex");for(var b,w,A,C,S,k,R,_,T,D={};;){if(A=e[e.length-1],this.defaultActions[A]?C=this.defaultActions[A]:(null==b&&(b=y()),C=h[A]&&h[A][b]),void 0===C||!C.length||!C[0]){var L="";for(k in T=[],h[A])this.terminals_[k]&&k>2&&T.push("'"+this.terminals_[k]+"'");L=x.showPosition?"Parse error on line "+(r+1)+":\n"+x.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(r+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(L,{text:x.match,token:this.terminals_[b]||b,line:x.yylineno,loc:f,expected:T})}if(C[0]instanceof Array&&C.length>1)throw Error("Parse Error: multiple actions possible at state: "+A+", token: "+b);switch(C[0]){case 1:e.push(b),a.push(x.yytext),n.push(x.yylloc),e.push(C[1]),b=null,w?(b=w,w=null):(c=x.yyleng,o=x.yytext,r=x.yylineno,f=x.yylloc,g>0&&g--);break;case 2:if(R=this.productions_[C[1]][1],D.$=a[a.length-R],D._$={first_line:n[n.length-(R||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(R||1)].first_column,last_column:n[n.length-1].last_column},m&&(D._$.range=[n[n.length-(R||1)].range[0],n[n.length-1].range[1]]),void 0!==(S=this.performAction.apply(D,[o,c,r,d,C[1],a,n].concat(u))))return S;R&&(e=e.slice(0,-1*R*2),a=a.slice(0,-1*R),n=n.slice(0,-1*R)),e.push(this.productions_[C[1]][0]),a.push(D.$),n.push(D._$),_=h[e[e.length-2]][e[e.length-1]],e.push(_);break;case 3:return!0}}return!0},"parse")};function v(){this.yy={}}return P.lexer={EOF:1,parseError:(0,l.K)(function(t,i){if(this.yy.parser)this.yy.parser.parseError(t,i);else throw Error(t)},"parseError"),setInput:(0,l.K)(function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var i=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var s=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===s.length?this.yylloc.first_column:0)+s[s.length-e.length].length-e[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),i=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"},"showPosition"),test_match:(0,l.K)(function(t,i){var e,s,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))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack)for(var n in a)this[n]=a[n];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,i,e,s,a=this._currentRules(),n=0;n<a.length;n++)if((e=this._input.match(this.rules[a[n]]))&&(!i||e[0].length>i[0].length)){if(i=e,s=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,a[n])))return t;if(!this._backtrack)return!1;i=!1;continue}if(!this.options.flex)break}return i?!1!==(t=this.test_match(i,a[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,i,e,s){switch(e){case 0:case 1:case 5:case 44:break;case 2:case 3:return this.popState(),36;case 4:return 36;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:case 26:case 28:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 33;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 29;case 25:return this.popState(),26;case 27:this.pushState("string");break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 44;case 33:return"COLON";case 34:return 45;case 35:return 28;case 36:return 46;case 37:return 47;case 38:return 49;case 39:return 51;case 40:return 48;case 41:return 42;case 42:return 50;case 43:return 43;case 45:return 37;case 46:return 38}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}},(0,l.K)(v,"Parser"),v.prototype=P,P.Parser=v,new v}();function u(t){return"bar"===t.type}function x(t){return"band"===t.type}function d(t){return"linear"===t.type}g.parser=g,(0,l.K)(u,"isBarPlot"),(0,l.K)(x,"isBandAxisData"),(0,l.K)(d,"isLinearAxisData");var p=class{constructor(t){this.parentGroup=t}static{(0,l.K)(this,"TextDimensionCalculatorWithFont")}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((t,i)=>Math.max(i.length,t),0)*i,height:i};let e={width:0,height:0},s=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(let a of t){let t=(0,n.W6)(s,1,a),h=t?t.width:a.length*i,o=t?t.height:i;e.width=Math.max(e.width,h),e.height=Math.max(e.height,o)}return s.remove(),e}},f=class{constructor(t,i,e,s){this.axisConfig=t,this.title=i,this.textDimensionCalculator=e,this.axisThemeConfig=s,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.normalizedLabelRotationInRad=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.normalizedLabelRotationInRad=this.axisConfig.labelRotation>=-90&&this.axisConfig.labelRotation<=90?this.axisConfig.labelRotation*Math.PI/180:0}static{(0,l.K)(this,"BaseAxis")}setRange(t){this.range=t,"left"===this.axisPosition||"right"===this.axisPosition?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){let t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>2*this.outerPadding&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),s=.2*t.width;this.outerPadding=Math.min(e.width/2,s);let a=e.height;"bottom"===this.axisPosition&&0!==this.normalizedLabelRotationInRad&&(a=Math.max(a,Math.abs(Math.sin(this.normalizedLabelRotationInRad)*e.width)+Math.abs(Math.cos(this.normalizedLabelRotationInRad)*e.height))),a+=2*this.axisConfig.labelPadding,this.labelTextHeight=e.height,a<=i&&(i-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),s=.2*t.height;this.outerPadding=Math.min(e.height/2,s);let a=e.width+2*this.axisConfig.labelPadding;a<=i&&(i-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return"left"===this.axisPosition||"right"===this.axisPosition?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateOffsetByRotation(t){let i=this.normalizedLabelRotationInRad;return 0===i?0:Math.sin(i)*this.getLabelDimension()[t]/2}getDrawableElementsForLeftAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(t=>({text:t.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(t),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${i},${this.getScaleValue(t)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(t)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.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"}]}),t}getDrawableElementsForBottomAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.getScaleValue(t)+this.calculateOffsetByRotation("height"),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0)+Math.abs(this.calculateOffsetByRotation("width")),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:180*this.normalizedLabelRotationInRad/Math.PI,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${this.getScaleValue(t)},${i} L ${this.getScaleValue(t)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.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"}]}),t}getDrawableElementsForTopAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+2*this.axisConfig.titlePadding:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${this.getScaleValue(t)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(t)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.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"}]}),t}getDrawableElements(){if("left"===this.axisPosition)return this.getDrawableElementsForLeftAxis();if("right"===this.axisPosition)throw Error("Drawing of right axis is not implemented");return"bottom"===this.axisPosition?this.getDrawableElementsForBottomAxis():"top"===this.axisPosition?this.getDrawableElementsForTopAxis():[]}},m=class extends f{static{(0,l.K)(this,"BandAxis")}constructor(t,i,e,s,a){super(t,s,a,i),this.categories=e,this.scale=(0,c.WH)().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=(0,c.WH)().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),r.R.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},y=class extends f{static{(0,l.K)(this,"LinearAxis")}constructor(t,i,e,s,a){super(t,s,a,i),this.domain=e,this.scale=(0,c.m4Y)().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=(0,c.m4Y)().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}};function b(t,i,e,s){let a=new p(s);return x(t)?new m(i,e,t.categories,t.title,a):new y(i,e,[t.min,t.max],t.title,a)}(0,l.K)(b,"getAxis");var w=class{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{(0,l.K)(this,"ChartTitle")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){let i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),e=Math.max(i.width,t.width),s=i.height+2*this.chartConfig.titlePadding;return i.width<=e&&i.height<=s&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=e,this.boundingRect.height=s,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let t=[];return this.showChartTitle&&t.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}]}),t}};function A(t,i,e,s){return new w(new p(s),t,i,e)}function C(t){return{fontSize:t,markerSize:.75*t,markerSpacing:.35*t,itemSpacing:.5*t}}(0,l.K)(A,"getChartTitleComponent"),(0,l.K)(C,"getLegendLayout");var S=class{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.visiblePlots=[]}static{(0,l.K)(this,"ChartLegend")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){if(this.visiblePlots=this.chartConfig.showLegend?this.chartData.plots.filter(t=>t.title):[],0===this.visiblePlots.length)return this.boundingRect.width=0,this.boundingRect.height=0,{width:0,height:0};let{fontSize:i,markerSize:e,markerSpacing:s,itemSpacing:a}=C(this.chartConfig.legendFontSize),n=this.textDimensionCalculator.getMaxDimension(this.visiblePlots.map(t=>t.title),i),h=2*this.chartConfig.legendPadding+e+s+n.width,o=2*this.chartConfig.legendPadding+this.visiblePlots.length*i+(this.visiblePlots.length-1)*a;return h<=t.width&&o<=t.height?(this.boundingRect.width=h,this.boundingRect.height=o):(this.visiblePlots=[],this.boundingRect.width=0,this.boundingRect.height=0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(0===this.visiblePlots.length)return[];let{fontSize:t,markerSize:i,markerSpacing:e,itemSpacing:s}=C(this.chartConfig.legendFontSize),a=t+s,n=this.boundingRect.x+this.chartConfig.legendPadding,h=this.boundingRect.y+this.chartConfig.legendPadding,o=[],r=[];for(let[t,e]of this.visiblePlots.entries())if(u(e))o.push({x:n,y:h+t*a,width:i,height:i,fill:e.fill,strokeFill:e.fill,strokeWidth:0});else{let s=h+t*a+i/2;r.push({path:`M ${n},${s} L ${n+i},${s}`,strokeFill:e.strokeFill,strokeWidth:e.strokeWidth})}return[{groupTexts:["legend","markers"],type:"rect",data:o},{groupTexts:["legend","markers"],type:"path",data:r},{groupTexts:["legend","label"],type:"text",data:this.visiblePlots.map((s,o)=>({text:s.title,x:n+i+e,y:h+o*a+i/2,fill:this.chartThemeConfig.legendTextColor,fontSize:t,rotation:0,verticalPos:"middle",horizontalPos:"left"}))}]}};function k(t,i,e,s){return new S(new p(s),t,i,e)}(0,l.K)(k,"getChartLegendComponent");var R=class{constructor(t,i,e,s,a){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=s,this.plotIndex=a}static{(0,l.K)(this,"LinePlot")}getDrawableElement(){let t,i=this.plotData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]);if(!(t="horizontal"===this.orientation?(0,c.n8j)().y(t=>t[0]).x(t=>t[1])(i):(0,c.n8j)().x(t=>t[0]).y(t=>t[1])(i)))return[];let e=[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:t,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}];if(this.plotData.pointLabels&&this.plotData.pointLabels.length>0){let t=[];for(let[e,[s,a]]of i.entries()){let i=this.plotData.pointLabels[e];i&&("horizontal"===this.orientation?t.push({x:a+10,y:s,text:i,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"left",fontSize:12,rotation:0}):t.push({x:s,y:a-10,text:i,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"center",fontSize:12,rotation:0}))}t.length>0&&e.push({groupTexts:["plot",`line-plot-${this.plotIndex}`,"labels"],type:"text",data:t})}return e}},_=class{constructor(t,i,e,s,a,n){this.barData=t,this.boundingRect=i,this.xAxis=e,this.yAxis=s,this.orientation=a,this.plotIndex=n}static{(0,l.K)(this,"BarPlot")}getDrawableElement(){let t=this.barData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]),i=.95*Math.min(2*this.xAxis.getAxisOuterPadding(),this.xAxis.getTickDistance()),e=i/2;return"horizontal"===this.orientation?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(t=>({x:this.boundingRect.x,y:t[0]-e,height:i,width:t[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(t=>({x:t[0]-e,y:t[1],width:i,height:this.boundingRect.y+this.boundingRect.height-t[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},T=class{constructor(t,i,e){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=e,this.boundingRect={x:0,y:0,width:0,height:0}}static{(0,l.K)(this,"BasePlot")}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let t=[];for(let[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{let s=new R(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break;case"bar":{let s=new _(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}}return t}};function D(t,i,e){return new T(t,i,e)}(0,l.K)(D,"getPlotComponent");var L=class{constructor(t,i,e,s){this.chartConfig=t,this.chartData=i,this.componentStore={title:A(t,i,e,s),plot:D(t,i,e),legend:k(t,i,e,s),xAxis:b(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},s),yAxis:b(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},s)}}static{(0,l.K)(this,"Orchestrator")}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,a={width:0,height:0},n=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),h=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:n,height:h});t-=o.width,i-=o.height,s=(o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i})).height,i-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=o.height,this.componentStore.yAxis.setAxisPosition("left"),e=(o=this.componentStore.yAxis.calculateSpace({width:t,height:i})).width,t-=o.width,a=this.componentStore.legend.calculateSpace({width:t,height:h}),(t-=a.width)>0&&(n+=t,t=0),i>0&&(h+=i,i=0),this.componentStore.plot.calculateSpace({width:n,height:h}),this.componentStore.plot.setBoundingBoxXY({x:e,y:s}),this.componentStore.legend.setBoundingBoxXY({x:e+n,y:s+Math.max((h-a.height)/2,0)}),this.componentStore.xAxis.setRange([e,e+n]),this.componentStore.xAxis.setBoundingBoxXY({x:e,y:s+h}),this.componentStore.yAxis.setRange([s,s+h]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:s}),this.chartData.plots.some(t=>u(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,a=0,n={width:0,height:0},h=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),r=this.componentStore.plot.calculateSpace({width:h,height:o});t-=r.width,i-=r.height,e=(r=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i})).height,i-=r.height,this.componentStore.xAxis.setAxisPosition("left"),r=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=r.width,s=r.width,this.componentStore.yAxis.setAxisPosition("top"),r=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=r.height,a=e+r.height,n=this.componentStore.legend.calculateSpace({width:t,height:o}),(t-=n.width)>0&&(h+=t,t=0),i>0&&(o+=i,i=0),this.componentStore.plot.calculateSpace({width:h,height:o}),this.componentStore.plot.setBoundingBoxXY({x:s,y:a}),this.componentStore.legend.setBoundingBoxXY({x:s+h,y:a+Math.max((o-n.height)/2,0)}),this.componentStore.yAxis.setRange([s,s+h]),this.componentStore.yAxis.setBoundingBoxXY({x:s,y:e}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(t=>u(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let t=[];for(let i of(this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis),Object.values(this.componentStore)))t.push(...i.getDrawableElements());return t}},P=class{static{(0,l.K)(this,"XYChartBuilder")}static build(t,i,e,s){return new L(t,i,e,s).getDrawableElement()}},v=0,E=W(),K=B(),I=F(),M=K.plotColorPalette.split(",").map(t=>t.trim()),z=!1,$=!1;function B(){let t=(0,o.P$)(),i=(0,o.zj)();return(0,h.$t)(t.xyChart,i.themeVariables.xyChart)}function W(){let t=(0,o.zj)();return(0,h.$t)(o.UI.xyChart,t.xyChart)}function F(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function O(t){let i=(0,o.zj)();return(0,o.jZ)(t.trim(),i)}function X(t){s=t}function N(t){"horizontal"===t?E.chartOrientation="horizontal":E.chartOrientation="vertical"}function V(t){I.xAxis.title=O(t.text)}function Y(t,i){I.xAxis={type:"linear",title:I.xAxis.title,min:t,max:i},z=!0}function H(t){I.xAxis={type:"band",title:I.xAxis.title,categories:t.map(t=>O(t.text))},z=!0}function U(t){I.yAxis.title=O(t.text)}function j(t,i){I.yAxis={type:"linear",title:I.yAxis.title,min:t,max:i},$=!0}function G(t){let i=Math.min(...t),e=Math.max(...t),s=d(I.yAxis)?I.yAxis.min:1/0,a=d(I.yAxis)?I.yAxis.max:-1/0;I.yAxis={type:"linear",title:I.yAxis.title,min:Math.min(s,i),max:Math.max(a,e)}}function Q(t){let i=[];if(0===t.length)return i;if(z||Y(Math.min(d(I.xAxis)?I.xAxis.min:1/0,1),Math.max(d(I.xAxis)?I.xAxis.max:-1/0,t.length)),x(I.xAxis)&&t.length>I.xAxis.categories.length&&(t=t.slice(0,I.xAxis.categories.length)),$||G(t),x(I.xAxis)&&(i=I.xAxis.categories.map((i,e)=>[i,t[e]])),d(I.xAxis)){let e=I.xAxis.min,s=I.xAxis.max;if(1===t.length)i=[[`${e}`,t[0]]];else{let a=(s-e)/(t.length-1);i=t.map((t,i)=>[`${e+i*a}`,t])}}return i}function q(t){return M[0===t?0:t%M.length]}function Z(t,i){let e=i.map(t=>t.value),s=i.map(t=>t.label?O(t.label):""),a=Q(e),n=s.some(t=>""!==t);I.plots.push({type:"line",title:O(t.text),strokeFill:q(v),strokeWidth:2,data:a,...n?{pointLabels:s}:{}}),v++}function J(t,i){let e=Q(i.map(t=>t.value));I.plots.push({type:"bar",title:O(t.text),fill:q(v),data:e}),v++}function tt(){if(0===I.plots.length)throw Error("No Plot to render, please provide a plot with some data");return I.title=(0,o.ab)(),P.build(E,I,K,s)}function ti(){return K}function te(){return E}function ts(){return I}(0,l.K)(B,"getChartDefaultThemeConfig"),(0,l.K)(W,"getChartDefaultConfig"),(0,l.K)(F,"getChartDefaultData"),(0,l.K)(O,"textSanitizer"),(0,l.K)(X,"setTmpSVGG"),(0,l.K)(N,"setOrientation"),(0,l.K)(V,"setXAxisTitle"),(0,l.K)(Y,"setXAxisRangeData"),(0,l.K)(H,"setXAxisBand"),(0,l.K)(U,"setYAxisTitle"),(0,l.K)(j,"setYAxisRangeData"),(0,l.K)(G,"setYAxisRangeFromPlotData"),(0,l.K)(Q,"transformDataWithoutCategory"),(0,l.K)(q,"getPlotColorFromPalette"),(0,l.K)(Z,"setLineData"),(0,l.K)(J,"setBarData"),(0,l.K)(tt,"getDrawableElem"),(0,l.K)(ti,"getChartThemeConfig"),(0,l.K)(te,"getChartConfig"),(0,l.K)(ts,"getXYChartData");var ta={getDrawableElem:tt,clear:(0,l.K)(function(){(0,o.IU)(),v=0,E=W(),I=F(),M=(K=B()).plotColorPalette.split(",").map(t=>t.trim()),z=!1,$=!1},"clear"),setAccTitle:o.SV,getAccTitle:o.iN,setDiagramTitle:o.ke,getDiagramTitle:o.ab,getAccDescription:o.m7,setAccDescription:o.EI,setOrientation:N,setXAxisTitle:V,setXAxisRangeData:Y,setXAxisBand:H,setYAxisTitle:U,setYAxisRangeData:j,setLineData:Z,setBarData:J,setTmpSVGG:X,getChartThemeConfig:ti,getChartConfig:te,getXYChartData:ts},tn={parser:g,db:ta,renderer:{draw:(0,l.K)((t,i,e,s)=>{let n=s.db,h=n.getChartThemeConfig(),c=n.getChartConfig(),g=n.getXYChartData().plots[0].data.map(t=>t[1]);function u(t){return"top"===t?"text-before-edge":"middle"}function x(t){return"left"===t?"start":"right"===t?"end":"middle"}function d(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,l.K)(u,"getDominantBaseLine"),(0,l.K)(x,"getTextAnchor"),(0,l.K)(d,"getTextTransformation"),r.R.debug("Rendering xychart chart\n"+t);let p=(0,a.D)(i),f=p.append("g").attr("class","main"),m=f.append("rect").attr("width",c.width).attr("height",c.height).attr("class","background");(0,o.a$)(p,c.height,c.width,!0),p.attr("viewBox",`0 0 ${c.width} ${c.height}`),m.attr("fill",h.backgroundColor),n.setTmpSVGG(p.append("g").attr("class","mermaid-tmp-group"));let y=n.getDrawableElem(),b={};function w(t){let i=f,e="";for(let[s]of t.entries()){let a=f;s>0&&b[e]&&(a=b[e]),e+=t[s],(i=b[e])||(i=b[e]=a.append("g").attr("class",t[s]))}return i}for(let t of((0,l.K)(w,"getGroup"),y)){if(0===t.data.length)continue;let i=w(t.groupTexts);switch(t.type){case"rect":if(i.selectAll("rect").data(t.data).enter().append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeFill).attr("stroke-width",t=>t.strokeWidth),c.showDataLabel){let e=c.showDataLabelOutsideBar;if("horizontal"===c.chartOrientation){let s=function(t,i){let{data:e,label:s}=t;return i*s.length*a<=e.width-n};(0,l.K)(s,"fitsHorizontally");let a=.7,n=10,o=t.data.map((t,i)=>({data:t,label:g[i].toString()})).filter(t=>t.data.width>0&&t.data.height>0),r=Math.floor(Math.min(...o.map(t=>{let{data:i}=t,e=.7*i.height;for(;!s(t,e)&&e>0;)e-=1;return e}))),c=(0,l.K)(t=>e?t.data.x+t.data.width+n:t.data.x+t.data.width-n,"determineLabelXPosition");i.selectAll("text").data(o).enter().append("text").attr("x",c).attr("y",t=>t.data.y+t.data.height/2).attr("text-anchor",e?"start":"end").attr("dominant-baseline","middle").attr("fill",h.dataLabelColor).attr("font-size",`${r}px`).text(t=>t.label)}else{let s=function(t,i,e){let{data:s,label:a}=t,n=i*a.length*.7,h=s.x+s.width/2,o=h-n/2,r=h+n/2,l=o>=s.x&&r<=s.x+s.width,c=s.y+e+i<=s.y+s.height;return l&&c};(0,l.K)(s,"fitsInBar");let a=t.data.map((t,i)=>({data:t,label:g[i].toString()})).filter(t=>t.data.width>0&&t.data.height>0),n=Math.floor(Math.min(...a.map(t=>{let{data:i,label:e}=t,a=i.width/(.7*e.length);for(;!s(t,a,10)&&a>0;)a-=1;return a}))),o=(0,l.K)(t=>e?t.data.y-10:t.data.y+10,"determineLabelYPosition");i.selectAll("text").data(a).enter().append("text").attr("x",t=>t.data.x+t.data.width/2).attr("y",o).attr("text-anchor","middle").attr("dominant-baseline",e?"auto":"hanging").attr("fill",h.dataLabelColor).attr("font-size",`${n}px`).text(t=>t.label)}}break;case"text":i.selectAll("text").data(t.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>u(t.verticalPos)).attr("text-anchor",t=>x(t.horizontalPos)).attr("transform",t=>d(t)).text(t=>t.text);break;case"path":i.selectAll("path").data(t.data).enter().append("path").attr("d",t=>t.path).attr("fill",t=>t.fill?t.fill:"none").attr("stroke",t=>t.strokeFill).attr("stroke-width",t=>t.strokeWidth)}}},"draw")}}}}]); \ No newline at end of file diff --git a/en/assets/js/4892.beb61f34.js b/en/assets/js/4892.beb61f34.js new file mode 100644 index 0000000..20cc5e9 --- /dev/null +++ b/en/assets/js/4892.beb61f34.js @@ -0,0 +1,34 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4892"],{6247(t,e,n){n.d(e,{diagram:()=>te});var i=n(1177);n(1293);var r=n(6827),s=n(7829);function o(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}function l(t){return t.target.depth}function a(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t,e){let n=0;if(void 0===e)for(let e of t)(e*=1)&&(n+=e);else{let i=-1;for(let r of t)(r=+e(r,++i,t))&&(n+=r)}return n}function c(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n<e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}function u(t){return function(){return t}}function f(t,e){return d(t.source,e.source)||t.index-e.index}function y(t,e){return d(t.target,e.target)||t.index-e.index}function d(t,e){return t.y0-e.y0}function p(t){return t.value}function g(t){return t.index}function _(t){return t.nodes}function x(t){return t.links}function k(t,e){let n=t.get(e);if(!n)throw Error("missing: "+e);return n}function m({nodes:t}){for(let e of t){let t=e.y0,n=t;for(let n of e.sourceLinks)n.y0=t+n.width/2,t+=n.width;for(let t of e.targetLinks)t.y1=n+t.width/2,n+=t.width}}var b=Math.PI,v=2*b,S=v-1e-6;function E(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function w(){return new E}E.prototype=w.prototype={constructor:E,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i)},bezierCurveTo:function(t,e,n,i,r,s){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+r)+","+(this._y1=+s)},arcTo:function(t,e,n,i,r){t*=1,e*=1,n*=1,i*=1,r*=1;var s=this._x1,o=this._y1,l=n-t,a=i-e,h=s-t,c=o-e,u=h*h+c*c;if(r<0)throw Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(u>1e-6)if(Math.abs(c*l-a*h)>1e-6&&r){var f=n-s,y=i-o,d=l*l+a*a,p=Math.sqrt(d),g=Math.sqrt(u),_=r*Math.tan((b-Math.acos((d+u-(f*f+y*y))/(2*p*g)))/2),x=_/g,k=_/p;Math.abs(x-1)>1e-6&&(this._+="L"+(t+x*h)+","+(e+x*c)),this._+="A"+r+","+r+",0,0,"+ +(c*f>h*y)+","+(this._x1=t+k*l)+","+(this._y1=e+k*a)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,n,i,r,s){t*=1,e*=1,n*=1,s=!!s;var o=n*Math.cos(i),l=n*Math.sin(i),a=t+o,h=e+l,c=1^s,u=s?i-r:r-i;if(n<0)throw Error("negative radius: "+n);null===this._x1?this._+="M"+a+","+h:(Math.abs(this._x1-a)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+="L"+a+","+h),n&&(u<0&&(u=u%v+v),u>S?this._+="A"+n+","+n+",0,1,"+c+","+(t-o)+","+(e-l)+"A"+n+","+n+",0,1,"+c+","+(this._x1=a)+","+(this._y1=h):u>1e-6&&(this._+="A"+n+","+n+",0,"+ +(u>=b)+","+c+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var K=Array.prototype.slice;function L(t){return function(){return t}}function A(t){return t[0]}function M(t){return t[1]}function I(t){return t.source}function T(t){return t.target}function P(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function C(t){return[t.source.x1,t.y0]}function $(t){return[t.target.x0,t.y1]}var N=function(){var t=(0,r.K)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[1,9],n=[1,10],i=[1,5,10,12],s={trace:(0,r.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:(0,r.K)(function(t,e,n,i,r,s,o){var l=s.length-1;switch(r){case 7:let a=i.findOrCreateNode(s[l-4].trim().replaceAll('""','"')),h=i.findOrCreateNode(s[l-2].trim().replaceAll('""','"')),c=parseFloat(s[l].trim());i.addLink(a,h,c);break;case 8:case 9:case 11:this.$=s[l];break;case 10:this.$=s[l-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:n},{1:[2,6],7:11,10:[1,12]},t(n,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(i,[2,8]),t(i,[2,9]),{19:[1,16]},t(i,[2,11]),{1:[2,1]},{1:[2,5]},t(n,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:n},{15:18,16:7,17:8,18:e,20:n},{18:[1,19]},t(n,[2,3]),{12:[1,20]},t(i,[2,10]),{15:21,16:7,17:8,18:e,20:n},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:(0,r.K)(function(t,e){if(e.recoverable)this.trace(t);else{var n=Error(t);throw n.hash=e,n}},"parseError"),parse:(0,r.K)(function(t){var e=this,n=[0],i=[],s=[null],o=[],l=this.table,a="",h=0,c=0,u=0,f=o.slice.call(arguments,1),y=Object.create(this.lexer),d={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d[p]=this.yy[p]);y.setInput(t,d),d.lexer=y,d.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;o.push(g);var _=y.options&&y.options.ranges;function x(){var t;return"number"!=typeof(t=i.pop()||y.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.K)(function(t){n.length=n.length-2*t,s.length=s.length-t,o.length=o.length-t},"popStack"),(0,r.K)(x,"lex");for(var k,m,b,v,S,E,w,K,L,A={};;){if(b=n[n.length-1],this.defaultActions[b]?v=this.defaultActions[b]:(null==k&&(k=x()),v=l[b]&&l[b][k]),void 0===v||!v.length||!v[0]){var M="";for(E in L=[],l[b])this.terminals_[E]&&E>2&&L.push("'"+this.terminals_[E]+"'");M=y.showPosition?"Parse error on line "+(h+1)+":\n"+y.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(M,{text:y.match,token:this.terminals_[k]||k,line:y.yylineno,loc:g,expected:L})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+k);switch(v[0]){case 1:n.push(k),s.push(y.yytext),o.push(y.yylloc),n.push(v[1]),k=null,m?(k=m,m=null):(c=y.yyleng,a=y.yytext,h=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if(w=this.productions_[v[1]][1],A.$=s[s.length-w],A._$={first_line:o[o.length-(w||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(w||1)].first_column,last_column:o[o.length-1].last_column},_&&(A._$.range=[o[o.length-(w||1)].range[0],o[o.length-1].range[1]]),void 0!==(S=this.performAction.apply(A,[a,c,h,d,v[1],s,o].concat(f))))return S;w&&(n=n.slice(0,-1*w*2),s=s.slice(0,-1*w),o=o.slice(0,-1*w)),n.push(this.productions_[v[1]][0]),s.push(A.$),o.push(A._$),K=l[n[n.length-2]][n[n.length-1]],n.push(K);break;case 3:return!0}}return!0},"parse")};function o(){this.yy={}}return s.lexer={EOF:1,parseError:(0,r.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,r.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,r.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,r.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var 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:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,r.K)(function(){return this._more=!0,this},"more"),reject:(0,r.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,r.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,r.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,r.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,r.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,r.K)(function(t,e){var n,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var s in r)this[s]=r[s];return!1},"test_match"),next:(0,r.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,n,i,r=this._currentRules(),s=0;s<r.length;s++)if((n=this._input.match(this.rules[r[s]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,r.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,r.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,r.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,r.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,r.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,r.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,r.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.K)(function(t,e,n,i){switch(n){case 0:case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}},(0,r.K)(o,"Parser"),o.prototype=s,s.Parser=o,new o}();N.parser=N;var D=[],O=[],j=new Map,z=(0,r.K)(()=>{D=[],O=[],j=new Map,(0,i.IU)()},"clear"),F=class{constructor(t,e,n=0){this.source=t,this.target=e,this.value=n}static{(0,r.K)(this,"SankeyLink")}},U=(0,r.K)((t,e,n)=>{D.push(new F(t,e,n))},"addLink"),W=class{constructor(t){this.ID=t}static{(0,r.K)(this,"SankeyNode")}},q=(0,r.K)(t=>{t=i.Y2.sanitizeText(t,(0,i.D7)());let e=j.get(t);return void 0===e&&(e=new W(t),j.set(t,e),O.push(e)),e},"findOrCreateNode"),V=(0,r.K)(()=>O,"getNodes"),G=(0,r.K)(()=>D,"getLinks"),X=(0,r.K)(()=>({nodes:O.map(t=>({id:t.ID})),links:D.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),Y={nodesMap:j,getConfig:(0,r.K)(()=>(0,i.D7)().sankey,"getConfig"),getNodes:V,getLinks:G,getGraph:X,addLink:U,findOrCreateNode:q,getAccTitle:i.iN,setAccTitle:i.SV,getAccDescription:i.m7,setAccDescription:i.EI,getDiagramTitle:i.ab,setDiagramTitle:i.ke,clear:z},B=class t{static{(0,r.K)(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}},Q={left:function(t){return t.depth},right:function(t,e){return e-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?o(t.sourceLinks,l)-1:0},justify:a},R=(0,r.K)(t=>{let e=0,n=0;for(let i of t){let t=i.value??0;t>e&&(e=t,n=i.layer??0)}return n},"findCentralNodeLayer"),Z=(0,r.K)(function(t,e,n,l){let b,v,{securityLevel:S,sankey:E}=(0,i.D7)(),N=i.ME.sankey;"sandbox"===S&&(b=(0,s.Ltv)("#i"+e));let D="sandbox"===S?(0,s.Ltv)(b.nodes()[0].contentDocument.body):(0,s.Ltv)("body"),O="sandbox"===S?D.select(`[id="${e}"]`):(0,s.Ltv)(`[id="${e}"]`),j=E?.width??N.width,z=E?.height??N.width,F=E?.useMaxWidth??N.useMaxWidth,U=E?.nodeAlignment??N.nodeAlignment,W=E?.prefix??N.prefix,q=E?.suffix??N.suffix,V=E?.showValues??N.showValues,G=E?.nodeWidth??N.nodeWidth??10,X=E?.nodePadding??N.nodePadding??12,Y=E?.labelStyle??N.labelStyle??"legacy",Z=E?.nodeColors??{},H=l.db.getGraph(),J=Q[U];(function(){let t,e,n=0,i=0,r=1,s=1,l=24,b=8,v,S=g,E=a,w=_,K=x,L=6;function A(){let a={nodes:w.apply(null,arguments),links:K.apply(null,arguments)};return function({nodes:t,links:n}){for(let[e,n]of t.entries())n.index=e,n.sourceLinks=[],n.targetLinks=[];let i=new Map(t.map((e,n)=>[S(e,n,t),e]));for(let[t,e]of n.entries()){e.index=t;let{source:n,target:r}=e;"object"!=typeof n&&(n=e.source=k(i,n)),"object"!=typeof r&&(r=e.target=k(i,r)),n.sourceLinks.push(e),r.targetLinks.push(e)}if(null!=e)for(let{sourceLinks:n,targetLinks:i}of t)n.sort(e),i.sort(e)}(a),function({nodes:t}){for(let e of t)e.value=void 0===e.fixedValue?Math.max(h(e.sourceLinks,p),h(e.targetLinks,p)):e.fixedValue}(a),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{target:e}of(t.depth=r,t.sourceLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(a),function({nodes:t}){let e=t.length,n=new Set(t),i=new Set,r=0;for(;n.size;){for(let t of n)for(let{source:e}of(t.height=r,t.targetLinks))i.add(e);if(++r>e)throw Error("circular link");n=i,i=new Set}}(a),function(a){let u=function({nodes:e}){let i=c(e,t=>t.depth)+1,s=(r-n-l)/(i-1),o=Array(i);for(let t of e){let e=Math.max(0,Math.min(i-1,Math.floor(E.call(null,t,i))));t.layer=e,t.x0=n+e*s,t.x1=t.x0+l,o[e]?o[e].push(t):o[e]=[t]}if(t)for(let e of o)e.sort(t);return o}(a);v=Math.min(b,(s-i)/(c(u,t=>t.length)-1));let g=o(u,t=>(s-i-(t.length-1)*v)/h(t,p));for(let t of u){let n=i;for(let e of t)for(let t of(e.y0=n,e.y1=n+e.value*g,n=e.y1+v,e.sourceLinks))t.width=t.value*g;n=(s-n+v)/(t.length+1);for(let e=0;e<t.length;++e){let i=t[e];i.y0+=n*(e+1),i.y1+=n*(e+1)}var _=t;if(void 0===e)for(let{sourceLinks:t,targetLinks:e}of _)t.sort(y),e.sort(f)}for(let e=0;e<L;++e){let n=Math.pow(.99,e),i=Math.max(1-n,(e+1)/L);(function(e,n,i){for(let r=e.length,s=r-2;s>=0;--s){let r=e[s];for(let t of r){let e=0,i=0;for(let{target:n,value:r}of t.sourceLinks){let s=r*(n.layer-t.layer);e+=function(t,e){let n=e.y0-(e.targetLinks.length-1)*v/2;for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n+=r+v}for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n-=r}return n}(t,n)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,P(t)}void 0===t&&r.sort(d),M(r,i)}})(u,n,i),function(e,n,i){for(let r=1,s=e.length;r<s;++r){let s=e[r];for(let t of s){let e=0,i=0;for(let{source:n,value:r}of t.targetLinks){let s=r*(t.layer-n.layer);e+=function(t,e){let n=t.y0-(t.sourceLinks.length-1)*v/2;for(let{target:i,width:r}of t.sourceLinks){if(i===e)break;n+=r+v}for(let{source:i,width:r}of e.targetLinks){if(i===t)break;n-=r}return n}(n,t)*s,i+=s}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,P(t)}void 0===t&&s.sort(d),M(s,i)}}(u,n,i)}}(a),m(a),a}function M(t,e){let n=t.length>>1,r=t[n];T(t,r.y0-v,n-1,e),I(t,r.y1+v,n+1,e),T(t,s,t.length-1,e),I(t,i,0,e)}function I(t,e,n,i){for(;n<t.length;++n){let r=t[n],s=(e-r.y0)*i;s>1e-6&&(r.y0+=s,r.y1+=s),e=r.y1+v}}function T(t,e,n,i){for(;n>=0;--n){let r=t[n],s=(r.y1-e)*i;s>1e-6&&(r.y0-=s,r.y1-=s),e=r.y0-v}}function P({sourceLinks:t,targetLinks:n}){if(void 0===e){for(let{source:{sourceLinks:t}}of n)t.sort(y);for(let{target:{targetLinks:e}}of t)e.sort(f)}}return A.update=function(t){return m(t),t},A.nodeId=function(t){return arguments.length?(S="function"==typeof t?t:u(t),A):S},A.nodeAlign=function(t){return arguments.length?(E="function"==typeof t?t:u(t),A):E},A.nodeSort=function(e){return arguments.length?(t=e,A):t},A.nodeWidth=function(t){return arguments.length?(l=+t,A):l},A.nodePadding=function(t){return arguments.length?(b=v=+t,A):b},A.nodes=function(t){return arguments.length?(w="function"==typeof t?t:u(t),A):w},A.links=function(t){return arguments.length?(K="function"==typeof t?t:u(t),A):K},A.linkSort=function(t){return arguments.length?(e=t,A):e},A.size=function(t){return arguments.length?(n=i=0,r=+t[0],s=+t[1],A):[r-n,s-i]},A.extent=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],i=+t[0][1],s=+t[1][1],A):[[n,i],[r,s]]},A.iterations=function(t){return arguments.length?(L=+t,A):L},A})().nodeId(t=>t.id).nodeWidth(G).nodePadding(X+15*!!V).nodeAlign(J).extent([[0,0],[j,z]])(H);let tt=R(H.nodes),te=(0,s.UMr)(s.zt),tn=(0,r.K)(t=>Z[t]??te(t),"getNodeColor");O.append("g").attr("class","nodes").selectAll(".node").data(H.nodes).join("g").attr("class","node").attr("id",t=>(t.uid=B.next("node-")).id).attr("transform",function(t){return"translate("+t.x0+","+t.y0+")"}).attr("x",t=>t.x0).attr("y",t=>t.y0).append("rect").attr("height",t=>t.y1-t.y0).attr("width",t=>t.x1-t.x0).attr("fill",t=>tn(t.id));let ti=(0,r.K)(({id:t,value:e})=>V?`${t} +${W}${Math.round(100*e)/100}${q}`:t,"getText"),tr=(0,r.K)(t=>"outlined"===Y?(t.layer??0)<tt?{x:t.x0-6,anchor:"end"}:{x:t.x1+6,anchor:"start"}:t.x0<j/2?{x:t.x1+6,anchor:"start"}:{x:t.x0-6,anchor:"end"},"getLabelPosition"),ts=O.append("g").attr("class","node-labels").attr("font-size",14),to=(0,r.K)(t=>ts.selectAll(t?`.${t}`:"text").data(H.nodes).join("text").attr("class",t??null).attr("x",t=>tr(t).x).attr("y",t=>(t.y1+t.y0)/2).attr("dy",`${V?"0":"0.35"}em`).attr("text-anchor",t=>tr(t).anchor).text(ti),"appendLabel");"outlined"===Y?(to("sankey-label-bg"),to("sankey-label-fg")):to();let tl=O.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(H.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),ta=E?.linkColor??"gradient";if("gradient"===ta){let t=tl.append("linearGradient").attr("id",t=>(t.uid=B.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",t=>t.source.x1).attr("x2",t=>t.target.x0);t.append("stop").attr("offset","0%").attr("stop-color",t=>tn(t.source.id)),t.append("stop").attr("offset","100%").attr("stop-color",t=>tn(t.target.id))}switch(ta){case"gradient":v=(0,r.K)(t=>t.uid,"coloring");break;case"source":v=(0,r.K)(t=>tn(t.source.id),"coloring");break;case"target":v=(0,r.K)(t=>tn(t.target.id),"coloring");break;default:v=ta}tl.append("path").attr("d",(function(t){var e=I,n=T,i=A,r=M,s=null;function o(){var o,l=K.call(arguments),a=e.apply(this,l),h=n.apply(this,l);if(s||(s=o=w()),t(s,+i.apply(this,(l[0]=a,l)),+r.apply(this,l),+i.apply(this,(l[0]=h,l)),+r.apply(this,l)),o)return s=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(i="function"==typeof t?t:L(+t),o):i},o.y=function(t){return arguments.length?(r="function"==typeof t?t:L(+t),o):r},o.context=function(t){return arguments.length?(s=null==t?null:t,o):s},o})(P).source(C).target($)).attr("stroke",v).attr("stroke-width",t=>Math.max(1,t.width)),(0,i.ot)(void 0,O,0,F)},"draw"),H=(0,r.K)(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim(),"prepareTextForParsing"),J=(0,r.K)(t=>`.label { + font-family: ${t.fontFamily}; + } + + .node-labels { + font-family: ${t.fontFamily}; + } + + /* Outlined label style - background stroke for better readability */ + .sankey-label-bg { + stroke: ${t.mainBkg||t.background||"#fff"}; + stroke-width: 4px; + stroke-linejoin: round; + paint-order: stroke; + } + + /* Foreground label text */ + .sankey-label-fg { + fill: ${t.textColor}; + } + + /* Node styling */ + .node rect { + shape-rendering: crispEdges; + } + + /* Link styling */ + .link { + fill: none; + stroke-opacity: 0.5; + mix-blend-mode: multiply; + } +`,"getStyles"),tt=N.parse.bind(N);N.parse=t=>tt(H(t));var te={styles:J,parser:N,db:Y,renderer:{draw:Z}}}}]); \ No newline at end of file diff --git a/en/assets/js/4936.2ebabc8b.js b/en/assets/js/4936.2ebabc8b.js new file mode 100644 index 0000000..1d00cd1 --- /dev/null +++ b/en/assets/js/4936.2ebabc8b.js @@ -0,0 +1,82 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4936"],{4916(e,t,r){r.d(t,{W:()=>l});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadEbnfTokenBuilder")}constructor(){super(["railroad-ebnf-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadEbnfValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){return"EBNF_STRING"===e.name?a(t):"EBNF_SPECIAL_SEQUENCE"===e.name?t.slice(1,-1).trim():void 0}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.U4,o);return t.ServiceRegistry.register(r),{shared:t,RailroadEbnf:r}}(0,n.K2)(l,"createRailroadEbnfServices")},6041(e,t,r){r.d(t,{f:()=>o});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},a=class extends n.dg{static{(0,n.K2)(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.D_,s);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}(0,n.K2)(o,"createPieServices")},4614(e,t,r){r.d(t,{v:()=>s});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.FZ,a);return t.ServiceRegistry.register(r),{shared:t,Info:r}}(0,n.K2)(s,"createInfoServices")},5796(e,t,r){r.d(t,{S:()=>o});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},a=class extends n.dg{static{(0,n.K2)(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){if("ARCH_ICON"===e.name)return t.replace(/[()]/g,"").trim();if("ARCH_TEXT_ICON"===e.name)return t.replace(/["()]/g,"");if("ARCH_TITLE"===e.name){let e=t.replace(/^\[|]$/g,"").trim();return(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))&&(e=(e=e.slice(1,-1)).replace(/\\"/g,'"').replace(/\\'/g,"'")),e.trim()}}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.wV,s);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}(0,n.K2)(o,"createArchitectureServices")},2688(e,t,r){r.d(t,{g:()=>d});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"EventModelingTokenBuilder")}constructor(){super(["eventmodeling"])}},a=new Set(["cmd","command"]),s=new Set(["evt","event"]),o=new Set(["rmo","readmodel"]),l=new Set(["pcr","processor"]),u=new Set(["ui"]);function c(e){let t=e.validation.EventModelingValidator,r=e.validation.ValidationRegistry;if(r){let e={EmTimeFrame:t.checkSourceFrameTypes.bind(t),EmResetFrame:t.checkSourceFrameTypes.bind(t)};r.register(e,t)}}(0,n.K2)(c,"registerValidationChecks");var p=class{static{(0,n.K2)(this,"EventModelingValidator")}checkSourceFrameTypes(e,t){0!==e.sourceFrames.length&&(a.has(e.modelEntityType)?this.validateSources(e,new Set([...u,...l]),"command","ui or processor",t):s.has(e.modelEntityType)?this.validateSources(e,a,"event","command",t):o.has(e.modelEntityType)?this.validateSources(e,s,"read model","event",t):l.has(e.modelEntityType)?this.validateSources(e,o,"processor","read model",t):u.has(e.modelEntityType)&&this.validateSources(e,o,"ui","read model",t))}validateSources(e,t,r,n,i){for(let a of e.sourceFrames){let s=a.ref;void 0===s||t.has(s.modelEntityType)||i("error",`A ${r} can only receive input from a ${n}, not from '${s.modelEntityType}'.`,{node:e,property:"sourceFrames"})}}},f={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")},validation:{EventModelingValidator:(0,n.K2)(()=>new p,"EventModelingValidator")}};function d(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.x0,f);return t.ServiceRegistry.register(r),c(r),{shared:t,EventModel:r}}(0,n.K2)(d,"createEventModelingServices")},6527(e,t,r){r.d(t,{d:()=>c});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},a=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,s=class extends n.dg{static{(0,n.K2)(this,"TreemapValueConverter")}runCustomConverter(e,t,r){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name)return t.substring(1,t.length-1);if("STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;let e=a.exec(t);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function o(e){let t=e.validation.TreemapValidator,r=e.validation.ValidationRegistry;if(r){let e={Treemap:t.checkSingleRoot.bind(t)};r.register(e,t)}}(0,n.K2)(o,"registerValidationChecks");var l=class{static{(0,n.K2)(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(let n of e.TreemapRows)n.item&&(void 0===r&&void 0===n.indent?r=0:void 0===n.indent?t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):void 0!==r&&r>=parseInt(n.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},u={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")},validation:{TreemapValidator:(0,n.K2)(()=>new l,"TreemapValidator")}};function c(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.XE,u);return t.ServiceRegistry.register(r),o(r),{shared:t,Treemap:r}}(0,n.K2)(c,"createTreemapServices")},3279(e,t,r){r.d(t,{t:()=>s});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"CynefinTokenBuilder")}constructor(){super(["cynefin-beta"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Jn,a);return t.ServiceRegistry.register(r),{shared:t,Cynefin:r}}(0,n.K2)(s,"createCynefinServices")},3245(e,t,r){r.d(t,{P:()=>l});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadPegTokenBuilder")}constructor(){super(["railroad-peg-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadPegValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){if("PEG_STRING"===e.name)return a(t)}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.dj,o);return t.ServiceRegistry.register(r),{shared:t,RailroadPeg:r}}(0,n.K2)(l,"createRailroadPegServices")},4954(e,t,r){let n,i;r.d(t,{Bg:()=>Ex,Bi:()=>EI,CZ:()=>EO,DD:()=>Rd,D_:()=>Ek,F5:()=>RO,FZ:()=>EC,Jn:()=>EE,K2:()=>tD,Tm:()=>Ej,U4:()=>Ew,WQ:()=>Rt,XE:()=>EP,Xr:()=>ED,d$:()=>EA,dg:()=>EM,dj:()=>E_,mR:()=>EF,oI:()=>EN,p5:()=>ES,sr:()=>E$,tG:()=>$8,uM:()=>Re,wV:()=>ER,x0:()=>Eb});var a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C,S,k,x,N,w,I,_,P,O,D,L,M,j,F,G,z,K,q,U,B,W,V,H,Y,Q,Z,X,J,ee,et,er,en,ei,ea,es,eo,el,eu,ec,ep,ef,ed,em,eh,ey,eg,eT,ev,e$,eR,eE,eb,eA,eC,eS,ek,ex,eN,ew,eI,e_,eP,eO,eD,eL,eM,ej,eF,eG,ez,eK,eq,eU,eB,eW,eV,eH,eY,eQ,eZ,eX,eJ,e0,e1,e2,e3,e4,e9,e5,e6,e7,e8,te,tt,tr,tn,ti,ta,ts,to,tl,tu,tc,tp,tf,td,tm,th,ty,tg,tT,tv,t$,tR,tE,tb,tA,tC,tS,tk,tx,tN=Object.create,tw=Object.defineProperty,tI=Object.getOwnPropertyDescriptor,t_=Object.getOwnPropertyNames,tP=Object.getPrototypeOf,tO=Object.prototype.hasOwnProperty,tD=(e,t)=>tw(e,"name",{value:t,configurable:!0}),tL=(e,t)=>function(){return t||(0,e[t_(e)[0]])((t={exports:{}}).exports,t),t.exports},tM=(e,t)=>{for(var r in t)tw(e,r,{get:t[r],enumerable:!0})},tj=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of t_(t))tO.call(e,i)||i===r||tw(e,i,{get:()=>t[i],enumerable:!(n=tI(t,i))||n.enumerable});return e},tF=(e,t,r)=>(tj(e,t,"default"),r&&tj(r,t,"default")),tG=(e,t,r)=>(r=null!=e?tN(tP(e)):{},tj(!t&&e&&e.__esModule?r:tw(r,"default",{value:e,enumerable:!0}),e)),tz=e=>tj(tw({},"__esModule",{value:!0}),e),tK={};tM(tK,{AnnotatedTextEdit:()=>j,ChangeAnnotation:()=>L,ChangeAnnotationIdentifier:()=>M,CodeAction:()=>eR,CodeActionContext:()=>e$,CodeActionKind:()=>eT,CodeActionTriggerKind:()=>ev,CodeDescription:()=>_,CodeLens:()=>eE,Color:()=>A,ColorInformation:()=>C,ColorPresentation:()=>S,Command:()=>O,CompletionItem:()=>ea,CompletionItemKind:()=>J,CompletionItemLabelDetails:()=>ei,CompletionItemTag:()=>et,CompletionList:()=>es,CreateFile:()=>G,DeleteFile:()=>K,Diagnostic:()=>P,DiagnosticRelatedInformation:()=>N,DiagnosticSeverity:()=>w,DiagnosticTag:()=>I,DocumentHighlight:()=>ef,DocumentHighlightKind:()=>ep,DocumentLink:()=>eA,DocumentSymbol:()=>eg,DocumentUri:()=>y,EOL:()=>eq,FoldingRange:()=>x,FoldingRangeKind:()=>k,FormattingOptions:()=>eb,Hover:()=>el,InlayHint:()=>eD,InlayHintKind:()=>eP,InlayHintLabelPart:()=>eO,InlineCompletionContext:()=>ez,InlineCompletionItem:()=>eM,InlineCompletionList:()=>ej,InlineCompletionTriggerKind:()=>eF,InlineValueContext:()=>e_,InlineValueEvaluatableExpression:()=>eI,InlineValueText:()=>eN,InlineValueVariableLookup:()=>ew,InsertReplaceEdit:()=>er,InsertTextFormat:()=>ee,InsertTextMode:()=>en,Location:()=>E,LocationLink:()=>b,MarkedString:()=>eo,MarkupContent:()=>X,MarkupKind:()=>Z,OptionalVersionedTextDocumentIdentifier:()=>Y,ParameterInformation:()=>eu,Position:()=>$,Range:()=>R,RenameFile:()=>z,SelectedCompletionInfo:()=>eG,SelectionRange:()=>eC,SemanticTokenModifiers:()=>ek,SemanticTokenTypes:()=>eS,SemanticTokens:()=>ex,SignatureInformation:()=>ec,StringValue:()=>eL,SymbolInformation:()=>eh,SymbolKind:()=>ed,SymbolTag:()=>em,TextDocument:()=>eU,TextDocumentEdit:()=>F,TextDocumentIdentifier:()=>V,TextDocumentItem:()=>Q,TextEdit:()=>D,URI:()=>g,VersionedTextDocumentIdentifier:()=>H,WorkspaceChange:()=>W,WorkspaceEdit:()=>q,WorkspaceFolder:()=>eK,WorkspaceSymbol:()=>ey,integer:()=>T,uinteger:()=>v});var tq=(n={"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var e,t,r,n,i,a,s,o,l,u,c,p,f,d=y||(y={});function m(e){return"string"==typeof e}tD(m,"is"),d.is=m;var h=g||(g={});function eV(e){return"string"==typeof e}tD(eV,"is"),h.is=eV;var eH=T||(T={});function eY(e){return"number"==typeof e&&eH.MIN_VALUE<=e&&e<=eH.MAX_VALUE}eH.MIN_VALUE=-0x80000000,eH.MAX_VALUE=0x7fffffff,tD(eY,"is"),eH.is=eY;var eQ=v||(v={});function eZ(e){return"number"==typeof e&&eQ.MIN_VALUE<=e&&e<=eQ.MAX_VALUE}eQ.MIN_VALUE=0,eQ.MAX_VALUE=0x7fffffff,tD(eZ,"is"),eQ.is=eZ;var eX=$||($={});function eJ(e,t){return e===Number.MAX_VALUE&&(e=v.MAX_VALUE),t===Number.MAX_VALUE&&(t=v.MAX_VALUE),{line:e,character:t}}function e0(e){return eW.objectLiteral(e)&&eW.uinteger(e.line)&&eW.uinteger(e.character)}tD(eJ,"create"),eX.create=eJ,tD(e0,"is"),eX.is=e0;var e1=R||(R={});function e2(e,t,r,n){if(eW.uinteger(e)&&eW.uinteger(t)&&eW.uinteger(r)&&eW.uinteger(n))return{start:$.create(e,t),end:$.create(r,n)};if($.is(e)&&$.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)}function e3(e){return eW.objectLiteral(e)&&$.is(e.start)&&$.is(e.end)}tD(e2,"create"),e1.create=e2,tD(e3,"is"),e1.is=e3;var e4=E||(E={});function e9(e,t){return{uri:e,range:t}}function e5(e){return eW.objectLiteral(e)&&R.is(e.range)&&(eW.string(e.uri)||eW.undefined(e.uri))}tD(e9,"create"),e4.create=e9,tD(e5,"is"),e4.is=e5;var e6=b||(b={});function e7(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}}function e8(e){return eW.objectLiteral(e)&&R.is(e.targetRange)&&eW.string(e.targetUri)&&R.is(e.targetSelectionRange)&&(R.is(e.originSelectionRange)||eW.undefined(e.originSelectionRange))}tD(e7,"create"),e6.create=e7,tD(e8,"is"),e6.is=e8;var te=A||(A={});function tt(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}}function tr(e){return eW.objectLiteral(e)&&eW.numberRange(e.red,0,1)&&eW.numberRange(e.green,0,1)&&eW.numberRange(e.blue,0,1)&&eW.numberRange(e.alpha,0,1)}tD(tt,"create"),te.create=tt,tD(tr,"is"),te.is=tr;var tn=C||(C={});function ti(e,t){return{range:e,color:t}}function ta(e){return eW.objectLiteral(e)&&R.is(e.range)&&A.is(e.color)}tD(ti,"create"),tn.create=ti,tD(ta,"is"),tn.is=ta;var ts=S||(S={});function to(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}}function tl(e){return eW.objectLiteral(e)&&eW.string(e.label)&&(eW.undefined(e.textEdit)||D.is(e))&&(eW.undefined(e.additionalTextEdits)||eW.typedArray(e.additionalTextEdits,D.is))}tD(to,"create"),ts.create=to,tD(tl,"is"),ts.is=tl,(e=k||(k={})).Comment="comment",e.Imports="imports",e.Region="region";var tu=x||(x={});function tc(e,t,r,n,i,a){let s={startLine:e,endLine:t};return eW.defined(r)&&(s.startCharacter=r),eW.defined(n)&&(s.endCharacter=n),eW.defined(i)&&(s.kind=i),eW.defined(a)&&(s.collapsedText=a),s}function tp(e){return eW.objectLiteral(e)&&eW.uinteger(e.startLine)&&eW.uinteger(e.startLine)&&(eW.undefined(e.startCharacter)||eW.uinteger(e.startCharacter))&&(eW.undefined(e.endCharacter)||eW.uinteger(e.endCharacter))&&(eW.undefined(e.kind)||eW.string(e.kind))}tD(tc,"create"),tu.create=tc,tD(tp,"is"),tu.is=tp;var tf=N||(N={});function td(e,t){return{location:e,message:t}}function tm(e){return eW.defined(e)&&E.is(e.location)&&eW.string(e.message)}tD(td,"create"),tf.create=td,tD(tm,"is"),tf.is=tm,(t=w||(w={})).Error=1,t.Warning=2,t.Information=3,t.Hint=4,(r=I||(I={})).Unnecessary=1,r.Deprecated=2;var th=_||(_={});function ty(e){return eW.objectLiteral(e)&&eW.string(e.href)}tD(ty,"is"),th.is=ty;var tg=P||(P={});function tT(e,t,r,n,i,a){let s={range:e,message:t};return eW.defined(r)&&(s.severity=r),eW.defined(n)&&(s.code=n),eW.defined(i)&&(s.source=i),eW.defined(a)&&(s.relatedInformation=a),s}function tv(e){var t;return eW.defined(e)&&R.is(e.range)&&eW.string(e.message)&&(eW.number(e.severity)||eW.undefined(e.severity))&&(eW.integer(e.code)||eW.string(e.code)||eW.undefined(e.code))&&(eW.undefined(e.codeDescription)||eW.string(null==(t=e.codeDescription)?void 0:t.href))&&(eW.string(e.source)||eW.undefined(e.source))&&(eW.undefined(e.relatedInformation)||eW.typedArray(e.relatedInformation,N.is))}tD(tT,"create"),tg.create=tT,tD(tv,"is"),tg.is=tv;var t$=O||(O={});function tR(e,t,...r){let n={title:e,command:t};return eW.defined(r)&&r.length>0&&(n.arguments=r),n}function tE(e){return eW.defined(e)&&eW.string(e.title)&&eW.string(e.command)}tD(tR,"create"),t$.create=tR,tD(tE,"is"),t$.is=tE,function(e){function t(e,t){return{range:e,newText:t}}function r(e,t){return{range:{start:e,end:e},newText:t}}function n(e){return{range:e,newText:""}}function i(e){return eW.objectLiteral(e)&&eW.string(e.newText)&&R.is(e.range)}tD(t,"replace"),e.replace=t,tD(r,"insert"),e.insert=r,tD(n,"del"),e.del=n,tD(i,"is"),e.is=i}(D||(D={}));var tb=L||(L={});function tA(e,t,r){let n={label:e};return void 0!==t&&(n.needsConfirmation=t),void 0!==r&&(n.description=r),n}function tC(e){return eW.objectLiteral(e)&&eW.string(e.label)&&(eW.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(eW.string(e.description)||void 0===e.description)}tD(tA,"create"),tb.create=tA,tD(tC,"is"),tb.is=tC;var tS=M||(M={});function tk(e){return eW.string(e)}tD(tk,"is"),tS.is=tk,function(e){function t(e,t,r){return{range:e,newText:t,annotationId:r}}function r(e,t,r){return{range:{start:e,end:e},newText:t,annotationId:r}}function n(e,t){return{range:e,newText:"",annotationId:t}}function i(e){return D.is(e)&&(L.is(e.annotationId)||M.is(e.annotationId))}tD(t,"replace"),e.replace=t,tD(r,"insert"),e.insert=r,tD(n,"del"),e.del=n,tD(i,"is"),e.is=i}(j||(j={}));var tx=F||(F={});function tN(e,t){return{textDocument:e,edits:t}}function tw(e){return eW.defined(e)&&Y.is(e.textDocument)&&Array.isArray(e.edits)}tD(tN,"create"),tx.create=tN,tD(tw,"is"),tx.is=tw;var tI=G||(G={});function t_(e,t,r){let n={kind:"create",uri:e};return void 0!==t&&(void 0!==t.overwrite||void 0!==t.ignoreIfExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n}function tP(e){return e&&"create"===e.kind&&eW.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||eW.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||eW.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tD(t_,"create"),tI.create=t_,tD(tP,"is"),tI.is=tP;var tO=z||(z={});function tL(e,t,r,n){let i={kind:"rename",oldUri:e,newUri:t};return void 0!==r&&(void 0!==r.overwrite||void 0!==r.ignoreIfExists)&&(i.options=r),void 0!==n&&(i.annotationId=n),i}function tM(e){return e&&"rename"===e.kind&&eW.string(e.oldUri)&&eW.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||eW.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||eW.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tD(tL,"create"),tO.create=tL,tD(tM,"is"),tO.is=tM;var tj=K||(K={});function tF(e,t,r){let n={kind:"delete",uri:e};return void 0!==t&&(void 0!==t.recursive||void 0!==t.ignoreIfNotExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n}function tG(e){return e&&"delete"===e.kind&&eW.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||eW.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||eW.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||M.is(e.annotationId))}tD(tF,"create"),tj.create=tF,tD(tG,"is"),tj.is=tG;var tz=q||(q={});function tK(e){return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every(e=>eW.string(e.kind)?G.is(e)||z.is(e)||K.is(e):F.is(e)))}tD(tK,"is"),tz.is=tK,U=class{static{tD(this,"TextEditChangeImpl")}constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,i;if(void 0===r?n=D.insert(e,t):M.is(r)?(i=r,n=j.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=j.insert(e,t,i)),this.edits.push(n),void 0!==i)return i}replace(e,t,r){let n,i;if(void 0===r?n=D.replace(e,t):M.is(r)?(i=r,n=j.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=j.replace(e,t,i)),this.edits.push(n),void 0!==i)return i}delete(e,t){let r,n;if(void 0===t?r=D.del(e):M.is(t)?(n=t,r=j.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),r=j.del(e,n)),this.edits.push(r),void 0!==n)return n}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(void 0===e)throw Error("Text edit change is not configured to manage change annotations.")}},B=class{static{tD(this,"ChangeAnnotations")}constructor(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,t){let r;if(M.is(e)?r=e:(r=this.nextId(),t=e),void 0!==this._annotations[r])throw Error(`Id ${r} is already in use.`);if(void 0===t)throw Error(`No annotation provided for id ${r}`);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}},W=class{static{tD(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new B(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(e=>{if(F.is(e)){let t=new U(e.edits,this._changeAnnotations);this._textEditChanges[e.textDocument.uri]=t}})):e.changes&&Object.keys(e.changes).forEach(t=>{let r=new U(e.changes[t]);this._textEditChanges[t]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Y.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");let t={uri:e.uri,version:e.version},r=this._textEditChanges[t.uri];if(!r){let e=[];this._workspaceEdit.documentChanges.push({textDocument:t,edits:e}),r=new U(e,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}{if(this.initChanges(),void 0===this._workspaceEdit.changes)throw Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];if(!t){let r=[];this._workspaceEdit.changes[e]=r,t=new U(r),this._textEditChanges[e]=t}return t}}initDocumentChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new B,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,t,r){let n,i,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(t)||M.is(t)?n=t:r=t,void 0===n?i=G.create(e,r):(a=M.is(n)?n:this._changeAnnotations.manage(n),i=G.create(e,r,a)),this._workspaceEdit.documentChanges.push(i),void 0!==a)return a}renameFile(e,t,r,n){let i,a,s;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(r)||M.is(r)?i=r:n=r,void 0===i?a=z.create(e,t,n):(s=M.is(i)?i:this._changeAnnotations.manage(i),a=z.create(e,t,n,s)),this._workspaceEdit.documentChanges.push(a),void 0!==s)return s}deleteFile(e,t,r){let n,i,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(L.is(t)||M.is(t)?n=t:r=t,void 0===n?i=K.create(e,r):(a=M.is(n)?n:this._changeAnnotations.manage(n),i=K.create(e,r,a)),this._workspaceEdit.documentChanges.push(i),void 0!==a)return a}};var tq=V||(V={});function tU(e){return{uri:e}}function tB(e){return eW.defined(e)&&eW.string(e.uri)}tD(tU,"create"),tq.create=tU,tD(tB,"is"),tq.is=tB;var tW=H||(H={});function tV(e,t){return{uri:e,version:t}}function tH(e){return eW.defined(e)&&eW.string(e.uri)&&eW.integer(e.version)}tD(tV,"create"),tW.create=tV,tD(tH,"is"),tW.is=tH;var tY=Y||(Y={});function tQ(e,t){return{uri:e,version:t}}function tZ(e){return eW.defined(e)&&eW.string(e.uri)&&(null===e.version||eW.integer(e.version))}tD(tQ,"create"),tY.create=tQ,tD(tZ,"is"),tY.is=tZ;var tX=Q||(Q={});function tJ(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}}function t0(e){return eW.defined(e)&&eW.string(e.uri)&&eW.string(e.languageId)&&eW.integer(e.version)&&eW.string(e.text)}tD(tJ,"create"),tX.create=tJ,tD(t0,"is"),tX.is=t0;var t1=Z||(Z={});function t2(e){return e===t1.PlainText||e===t1.Markdown}t1.PlainText="plaintext",t1.Markdown="markdown",tD(t2,"is"),t1.is=t2;var t3=X||(X={});function t4(e){return eW.objectLiteral(e)&&Z.is(e.kind)&&eW.string(e.value)}tD(t4,"is"),t3.is=t4,(n=J||(J={})).Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25,(i=ee||(ee={})).PlainText=1,i.Snippet=2,(et||(et={})).Deprecated=1;var t9=er||(er={});function t5(e,t,r){return{newText:e,insert:t,replace:r}}function t6(e){return e&&eW.string(e.newText)&&R.is(e.insert)&&R.is(e.replace)}tD(t5,"create"),t9.create=t5,tD(t6,"is"),t9.is=t6,(a=en||(en={})).asIs=1,a.adjustIndentation=2;var t7=ei||(ei={});function t8(e){return e&&(eW.string(e.detail)||void 0===e.detail)&&(eW.string(e.description)||void 0===e.description)}tD(t8,"is"),t7.is=t8;var re=ea||(ea={});function rt(e){return{label:e}}tD(rt,"create"),re.create=rt;var rr=es||(es={});function rn(e,t){return{items:e||[],isIncomplete:!!t}}tD(rn,"create"),rr.create=rn;var ri=eo||(eo={});function ra(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function rs(e){return eW.string(e)||eW.objectLiteral(e)&&eW.string(e.language)&&eW.string(e.value)}tD(ra,"fromPlainText"),ri.fromPlainText=ra,tD(rs,"is"),ri.is=rs;var ro=el||(el={});function rl(e){return!!e&&eW.objectLiteral(e)&&(X.is(e.contents)||eo.is(e.contents)||eW.typedArray(e.contents,eo.is))&&(void 0===e.range||R.is(e.range))}tD(rl,"is"),ro.is=rl;var ru=eu||(eu={});function rc(e,t){return t?{label:e,documentation:t}:{label:e}}tD(rc,"create"),ru.create=rc;var rp=ec||(ec={});function rf(e,t,...r){let n={label:e};return eW.defined(t)&&(n.documentation=t),eW.defined(r)?n.parameters=r:n.parameters=[],n}tD(rf,"create"),rp.create=rf,(s=ep||(ep={})).Text=1,s.Read=2,s.Write=3;var rd=ef||(ef={});function rm(e,t){let r={range:e};return eW.number(t)&&(r.kind=t),r}tD(rm,"create"),rd.create=rm,(o=ed||(ed={})).File=1,o.Module=2,o.Namespace=3,o.Package=4,o.Class=5,o.Method=6,o.Property=7,o.Field=8,o.Constructor=9,o.Enum=10,o.Interface=11,o.Function=12,o.Variable=13,o.Constant=14,o.String=15,o.Number=16,o.Boolean=17,o.Array=18,o.Object=19,o.Key=20,o.Null=21,o.EnumMember=22,o.Struct=23,o.Event=24,o.Operator=25,o.TypeParameter=26,(em||(em={})).Deprecated=1;var rh=eh||(eh={});function ry(e,t,r,n,i){let a={name:e,kind:t,location:{uri:n,range:r}};return i&&(a.containerName=i),a}tD(ry,"create"),rh.create=ry;var rg=ey||(ey={});function rT(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}}tD(rT,"create"),rg.create=rT;var rv=eg||(eg={});function r$(e,t,r,n,i,a){let s={name:e,detail:t,kind:r,range:n,selectionRange:i};return void 0!==a&&(s.children=a),s}function rR(e){return e&&eW.string(e.name)&&eW.number(e.kind)&&R.is(e.range)&&R.is(e.selectionRange)&&(void 0===e.detail||eW.string(e.detail))&&(void 0===e.deprecated||eW.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))}tD(r$,"create"),rv.create=r$,tD(rR,"is"),rv.is=rR,(l=eT||(eT={})).Empty="",l.QuickFix="quickfix",l.Refactor="refactor",l.RefactorExtract="refactor.extract",l.RefactorInline="refactor.inline",l.RefactorRewrite="refactor.rewrite",l.Source="source",l.SourceOrganizeImports="source.organizeImports",l.SourceFixAll="source.fixAll",(u=ev||(ev={})).Invoked=1,u.Automatic=2;var rE=e$||(e$={});function rb(e,t,r){let n={diagnostics:e};return null!=t&&(n.only=t),null!=r&&(n.triggerKind=r),n}function rA(e){return eW.defined(e)&&eW.typedArray(e.diagnostics,P.is)&&(void 0===e.only||eW.typedArray(e.only,eW.string))&&(void 0===e.triggerKind||e.triggerKind===ev.Invoked||e.triggerKind===ev.Automatic)}tD(rb,"create"),rE.create=rb,tD(rA,"is"),rE.is=rA;var rC=eR||(eR={});function rS(e,t,r){let n={title:e},i=!0;return"string"==typeof t?(i=!1,n.kind=t):O.is(t)?n.command=t:n.edit=t,i&&void 0!==r&&(n.kind=r),n}function rk(e){return e&&eW.string(e.title)&&(void 0===e.diagnostics||eW.typedArray(e.diagnostics,P.is))&&(void 0===e.kind||eW.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||O.is(e.command))&&(void 0===e.isPreferred||eW.boolean(e.isPreferred))&&(void 0===e.edit||q.is(e.edit))}tD(rS,"create"),rC.create=rS,tD(rk,"is"),rC.is=rk;var rx=eE||(eE={});function rN(e,t){let r={range:e};return eW.defined(t)&&(r.data=t),r}function rw(e){return eW.defined(e)&&R.is(e.range)&&(eW.undefined(e.command)||O.is(e.command))}tD(rN,"create"),rx.create=rN,tD(rw,"is"),rx.is=rw;var rI=eb||(eb={});function r_(e,t){return{tabSize:e,insertSpaces:t}}function rP(e){return eW.defined(e)&&eW.uinteger(e.tabSize)&&eW.boolean(e.insertSpaces)}tD(r_,"create"),rI.create=r_,tD(rP,"is"),rI.is=rP;var rO=eA||(eA={});function rD(e,t,r){return{range:e,target:t,data:r}}function rL(e){return eW.defined(e)&&R.is(e.range)&&(eW.undefined(e.target)||eW.string(e.target))}tD(rD,"create"),rO.create=rD,tD(rL,"is"),rO.is=rL;var rM=eC||(eC={});function rj(e,t){return{range:e,parent:t}}function rF(e){return eW.objectLiteral(e)&&R.is(e.range)&&(void 0===e.parent||rM.is(e.parent))}tD(rj,"create"),rM.create=rj,tD(rF,"is"),rM.is=rF,(c=eS||(eS={})).namespace="namespace",c.type="type",c.class="class",c.enum="enum",c.interface="interface",c.struct="struct",c.typeParameter="typeParameter",c.parameter="parameter",c.variable="variable",c.property="property",c.enumMember="enumMember",c.event="event",c.function="function",c.method="method",c.macro="macro",c.keyword="keyword",c.modifier="modifier",c.comment="comment",c.string="string",c.number="number",c.regexp="regexp",c.operator="operator",c.decorator="decorator",(p=ek||(ek={})).declaration="declaration",p.definition="definition",p.readonly="readonly",p.static="static",p.deprecated="deprecated",p.abstract="abstract",p.async="async",p.modification="modification",p.documentation="documentation",p.defaultLibrary="defaultLibrary";var rG=ex||(ex={});function rz(e){return eW.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])}tD(rz,"is"),rG.is=rz;var rK=eN||(eN={});function rq(e,t){return{range:e,text:t}}function rU(e){return null!=e&&R.is(e.range)&&eW.string(e.text)}tD(rq,"create"),rK.create=rq,tD(rU,"is"),rK.is=rU;var rB=ew||(ew={});function rW(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}}function rV(e){return null!=e&&R.is(e.range)&&eW.boolean(e.caseSensitiveLookup)&&(eW.string(e.variableName)||void 0===e.variableName)}tD(rW,"create"),rB.create=rW,tD(rV,"is"),rB.is=rV;var rH=eI||(eI={});function rY(e,t){return{range:e,expression:t}}function rQ(e){return null!=e&&R.is(e.range)&&(eW.string(e.expression)||void 0===e.expression)}tD(rY,"create"),rH.create=rY,tD(rQ,"is"),rH.is=rQ;var rZ=e_||(e_={});function rX(e,t){return{frameId:e,stoppedLocation:t}}function rJ(e){return eW.defined(e)&&R.is(e.stoppedLocation)}tD(rX,"create"),rZ.create=rX,tD(rJ,"is"),rZ.is=rJ;var r0=eP||(eP={});function r1(e){return 1===e||2===e}r0.Type=1,r0.Parameter=2,tD(r1,"is"),r0.is=r1;var r2=eO||(eO={});function r3(e){return{value:e}}function r4(e){return eW.objectLiteral(e)&&(void 0===e.tooltip||eW.string(e.tooltip)||X.is(e.tooltip))&&(void 0===e.location||E.is(e.location))&&(void 0===e.command||O.is(e.command))}tD(r3,"create"),r2.create=r3,tD(r4,"is"),r2.is=r4;var r9=eD||(eD={});function r5(e,t,r){let n={position:e,label:t};return void 0!==r&&(n.kind=r),n}function r6(e){return eW.objectLiteral(e)&&$.is(e.position)&&(eW.string(e.label)||eW.typedArray(e.label,eO.is))&&(void 0===e.kind||eP.is(e.kind))&&void 0===e.textEdits||eW.typedArray(e.textEdits,D.is)&&(void 0===e.tooltip||eW.string(e.tooltip)||X.is(e.tooltip))&&(void 0===e.paddingLeft||eW.boolean(e.paddingLeft))&&(void 0===e.paddingRight||eW.boolean(e.paddingRight))}tD(r5,"create"),r9.create=r5,tD(r6,"is"),r9.is=r6;var r7=eL||(eL={});function r8(e){return{kind:"snippet",value:e}}tD(r8,"createSnippet"),r7.createSnippet=r8;var ne=eM||(eM={});function nt(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}}tD(nt,"create"),ne.create=nt;var nr=ej||(ej={});function nn(e){return{items:e}}tD(nn,"create"),nr.create=nn,(f=eF||(eF={})).Invoked=0,f.Automatic=1;var ni=eG||(eG={});function na(e,t){return{range:e,text:t}}tD(na,"create"),ni.create=na;var ns=ez||(ez={});function no(e,t){return{triggerKind:e,selectedCompletionInfo:t}}tD(no,"create"),ns.create=no;var nl=eK||(eK={});function nu(e){return eW.objectLiteral(e)&&g.is(e.uri)&&eW.string(e.name)}tD(nu,"is"),nl.is=nu,eq=["\n","\r\n","\r"],function(e){function t(e,t,r,n){return new eB(e,t,r,n)}function r(e){return!!(eW.defined(e)&&eW.string(e.uri)&&(eW.undefined(e.languageId)||eW.string(e.languageId))&&eW.uinteger(e.lineCount)&&eW.func(e.getText)&&eW.func(e.positionAt)&&eW.func(e.offsetAt))}function n(e,t){let r=e.getText(),n=i(t,(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),a=r.length;for(let t=n.length-1;t>=0;t--){let i=n[t],s=e.offsetAt(i.range.start),o=e.offsetAt(i.range.end);if(o<=a)r=r.substring(0,s)+i.newText+r.substring(o,r.length);else throw Error("Overlapping edit");a=s}return r}function i(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);i(n,t),i(a,t);let s=0,o=0,l=0;for(;s<n.length&&o<a.length;)0>=t(n[s],a[o])?e[l++]=n[s++]:e[l++]=a[o++];for(;s<n.length;)e[l++]=n[s++];for(;o<a.length;)e[l++]=a[o++];return e}tD(t,"create"),e.create=t,tD(r,"is"),e.is=r,tD(n,"applyEdits"),e.applyEdits=n,tD(i,"mergeSort")}(eU||(eU={})),eB=class{static{tD(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,r=!0;for(let n=0;n<t.length;n++){r&&(e.push(n),r=!1);let i=t.charAt(n);r="\r"===i||"\n"===i,"\r"===i&&n+1<t.length&&"\n"===t.charAt(n+1)&&n++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return $.create(0,e);for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return $.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,n),r)}get lineCount(){return this.getLineOffsets().length}},function(e){let t=Object.prototype.toString;function r(e){return void 0!==e}function n(e){return void 0===e}function i(e){return!0===e||!1===e}function a(e){return"[object String]"===t.call(e)}function s(e){return"[object Number]"===t.call(e)}function o(e,r,n){return"[object Number]"===t.call(e)&&r<=e&&e<=n}function l(e){return"[object Number]"===t.call(e)&&-0x80000000<=e&&e<=0x7fffffff}function u(e){return"[object Number]"===t.call(e)&&0<=e&&e<=0x7fffffff}function c(e){return"[object Function]"===t.call(e)}function p(e){return null!==e&&"object"==typeof e}function f(e,t){return Array.isArray(e)&&e.every(t)}tD(r,"defined"),e.defined=r,tD(n,"undefined"),e.undefined=n,tD(i,"boolean"),e.boolean=i,tD(a,"string"),e.string=a,tD(s,"number"),e.number=s,tD(o,"numberRange"),e.numberRange=o,tD(l,"integer"),e.integer=l,tD(u,"uinteger"),e.uinteger=u,tD(c,"func"),e.func=c,tD(p,"objectLiteral"),e.objectLiteral=p,tD(f,"typedArray"),e.typedArray=f}(eW||(eW={}))}},function(){return n&&(i=(0,n[t_(n)[0]])(n=0)),i}),tU=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(e){function t(){if(void 0===r)throw Error("No runtime abstraction layer installed");return r}Object.defineProperty(e,"__esModule",{value:!0}),tD(t,"RAL");var r,n=t||(t={});function i(e){if(void 0===e)throw Error("No runtime abstraction layer provided");r=e}tD(i,"install"),n.install=i,e.default=t}}),tB=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(e){function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function i(e){return e instanceof Error}function a(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,tD(t,"boolean"),e.boolean=t,tD(r,"string"),e.string=r,tD(n,"number"),e.number=n,tD(i,"error"),e.error=i,tD(a,"func"),e.func=a,tD(s,"array"),e.array=s,tD(o,"stringArray"),e.stringArray=o}}),tW=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(e){let t;Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var r,n,i=tU();r=n||(e.Event=n={}),t={dispose(){}},r.None=function(){return t};var a=class{static{tD(this,"CallbackList")}add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:tD(()=>this.remove(e,t),"dispose")})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e)if(this._contexts[n]===t){this._callbacks.splice(n,1),this._contexts.splice(n,1);return}else r=!0;if(r)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],r=this._callbacks.slice(0),n=this._contexts.slice(0);for(let a=0,s=r.length;a<s;a++)try{t.push(r[a].apply(n[a],e))}catch(e){(0,i.default)().console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}},s=class e{static{tD(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(t,r,n)=>{this._callbacks||(this._callbacks=new a),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,r);let i={dispose:tD(()=>{this._callbacks&&(this._callbacks.remove(t,r),i.dispose=e._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};e.Emitter=s,s._noop=function(){}}}),tV=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t,r=tU(),n=tB(),i=tW(),a=t||(e.CancellationToken=t={});function s(e){return e&&(e===a.None||e===a.Cancelled||n.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)}a.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i.Event.None}),tD(s,"is"),a.is=s;var o=Object.freeze(function(e,t){let n=(0,r.default)().timer.setTimeout(e.bind(t),0);return{dispose(){n.dispose()}}}),l=class{static{tD(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){!this._isCancelled&&(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?o:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}};e.CancellationTokenSource=class{static{tD(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=t.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=t.None}}}}),tH=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;var t,r,n,i=tB();(t=r||(e.ErrorCodes=r={})).ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3,e.ResponseError=class e extends Error{static{tD(this,"ResponseError")}constructor(t,n,a){super(n),this.code=i.number(t)?t:r.UnknownErrorCode,this.data=a,Object.setPrototypeOf(this,e.prototype)}toJson(){let e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}};var a=class e{static{tD(this,"ParameterStructures")}constructor(e){this.kind=e}static is(t){return t===e.auto||t===e.byName||t===e.byPosition}toString(){return this.kind}};e.ParameterStructures=a,a.auto=new a("auto"),a.byPosition=new a("byPosition"),a.byName=new a("byName");var s=class{static{tD(this,"AbstractMessageSignature")}constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return a.auto}};e.AbstractMessageSignature=s,e.RequestType0=class extends s{static{tD(this,"RequestType0")}constructor(e){super(e,0)}},e.RequestType=class extends s{static{tD(this,"RequestType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType1=class extends s{static{tD(this,"RequestType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType2=class extends s{static{tD(this,"RequestType2")}constructor(e){super(e,2)}},e.RequestType3=class extends s{static{tD(this,"RequestType3")}constructor(e){super(e,3)}},e.RequestType4=class extends s{static{tD(this,"RequestType4")}constructor(e){super(e,4)}},e.RequestType5=class extends s{static{tD(this,"RequestType5")}constructor(e){super(e,5)}},e.RequestType6=class extends s{static{tD(this,"RequestType6")}constructor(e){super(e,6)}},e.RequestType7=class extends s{static{tD(this,"RequestType7")}constructor(e){super(e,7)}},e.RequestType8=class extends s{static{tD(this,"RequestType8")}constructor(e){super(e,8)}},e.RequestType9=class extends s{static{tD(this,"RequestType9")}constructor(e){super(e,9)}},e.NotificationType=class extends s{static{tD(this,"NotificationType")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType0=class extends s{static{tD(this,"NotificationType0")}constructor(e){super(e,0)}},e.NotificationType1=class extends s{static{tD(this,"NotificationType1")}constructor(e,t=a.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType2=class extends s{static{tD(this,"NotificationType2")}constructor(e){super(e,2)}},e.NotificationType3=class extends s{static{tD(this,"NotificationType3")}constructor(e){super(e,3)}},e.NotificationType4=class extends s{static{tD(this,"NotificationType4")}constructor(e){super(e,4)}},e.NotificationType5=class extends s{static{tD(this,"NotificationType5")}constructor(e){super(e,5)}},e.NotificationType6=class extends s{static{tD(this,"NotificationType6")}constructor(e){super(e,6)}},e.NotificationType7=class extends s{static{tD(this,"NotificationType7")}constructor(e){super(e,7)}},e.NotificationType8=class extends s{static{tD(this,"NotificationType8")}constructor(e){super(e,8)}},e.NotificationType9=class extends s{static{tD(this,"NotificationType9")}constructor(e){super(e,9)}},function(e){function t(e){return e&&i.string(e.method)&&(i.string(e.id)||i.number(e.id))}function r(e){return e&&i.string(e.method)&&void 0===e.id}function n(e){return e&&(void 0!==e.result||!!e.error)&&(i.string(e.id)||i.number(e.id)||null===e.id)}tD(t,"isRequest"),e.isRequest=t,tD(r,"isNotification"),e.isNotification=r,tD(n,"isResponse"),e.isResponse=n}(n||(e.Message=n={}))}}),tY=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0,(t=n||(e.Touch=n={})).None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last;var t,r,n,i=class{static{tD(this,"LinkedMap")}constructor(){this[r]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=n.None){let r=this._map.get(e);if(r)return t!==n.None&&this.touch(r,t),r.value}set(e,t,r=n.None){let i=this._map.get(e);if(i)i.value=t,r!==n.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==r)throw Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tD(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.key,done:!1};return t=t.next,e}},"next")};return r}values(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tD(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.value,done:!1};return t=t.next,e}},"next")};return r}entries(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:tD(()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:[t.key,t.value],done:!1};return t=t.next,e}},"next")};return r}[(r=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail)if(this._head)e.next=this._head,this._head.previous=e;else throw Error("Invalid list");else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail)if(this._tail)e.previous=this._tail,this._tail.next=e;else throw Error("Invalid list");else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw Error("Invalid list");if(t===n.First||t===n.Last){if(t===n.First){if(e===this._head)return;let t=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(t.previous=r,r.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;let t=e.next,r=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=r,r.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){for(let[t,r]of(this.clear(),e))this.set(t,r)}};e.LinkedMap=i,e.LRUCache=class extends i{static{tD(this,"LRUCache")}constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}}}),tQ=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0;var t,r=t||(e.Disposable=t={});function n(e){return{dispose:e}}tD(n,"create"),r.create=n}}),tZ=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t,r,n=tV();(t=r||(r={})).Continue=0,t.Cancelled=1,e.SharedArraySenderStrategy=class{static{tD(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(null===e.id)return;let t=new SharedArrayBuffer(4);new Int32Array(t,0,1)[0]=r.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let n=this.buffers.get(t);if(void 0===n)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,r.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};var i=class{static{tD(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===r.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},a=class{static{tD(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new i(e)}cancel(){}dispose(){}};e.SharedArrayReceiverStrategy=class{static{tD(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let t=e.$cancellationData;return void 0===t?new n.CancellationTokenSource:new a(t)}}}}),tX=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;var t=tU();e.Semaphore=class{static{tD(this,"Semaphore")}constructor(e=1){if(e<=0)throw Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(t=>{this._active--,e.resolve(t),this.runNext()},t=>{this._active--,e.reject(t),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}}}),tJ=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var t,r,n=tU(),i=tB(),a=tW(),s=tX(),o=t||(e.MessageReader=t={});function l(e){return e&&i.func(e.listen)&&i.func(e.dispose)&&i.func(e.onError)&&i.func(e.onClose)&&i.func(e.onPartialMessage)}tD(l,"is"),o.is=l;var u=class{static{tD(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new a.Emitter,this.closeEmitter=new a.Emitter,this.partialMessageEmitter=new a.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:Error(`Reader received error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageReader=u;var c=r||(r={});function p(e){let t,r,i,a=new Map,s=new Map;if(void 0===e||"string"==typeof e)t=e??"utf-8";else{if(t=e.charset??"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,a.set(r.name,r)),void 0!==e.contentDecoders)for(let t of e.contentDecoders)a.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(i=e.contentTypeDecoder,s.set(i.name,i)),void 0!==e.contentTypeDecoders)for(let t of e.contentTypeDecoders)s.set(t.name,t)}return void 0===i&&(i=(0,n.default)().applicationJson.decoder,s.set(i.name,i)),{charset:t,contentDecoder:r,contentDecoders:a,contentTypeDecoder:i,contentTypeDecoders:s}}tD(p,"fromOptions"),c.fromOptions=p,e.ReadableStreamMessageReader=class extends u{static{tD(this,"ReadableStreamMessageReader")}constructor(e,t){super(),this.readable=e,this.options=r.fromOptions(t),this.buffer=(0,n.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new s.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(e=>{this.onData(e)});return this.readable.onError(e=>this.fireError(e)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(-1===this.nextMessageLength){let e=this.buffer.tryReadHeaders(!0);if(!e)return;let t=e.get("content-length");if(!t)return void this.fireError(Error(`Header must provide a Content-Length property. +${JSON.stringify(Object.fromEntries(e))}`));let r=parseInt(t);if(isNaN(r))return void this.fireError(Error(`Content-Length value must be a number. Got ${t}`));this.nextMessageLength=r}let e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let t=void 0!==this.options.contentDecoder?await this.options.contentDecoder.decode(e):e,r=await this.options.contentTypeDecoder.decode(t,this.options);this.callback(r)}).catch(e=>{this.fireError(e)})}}catch(e){this.fireError(e)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,n.default)().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}}}),t0=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;var t,r,n=tU(),i=tB(),a=tX(),s=tW(),o=t||(e.MessageWriter=t={});function l(e){return e&&i.func(e.dispose)&&i.func(e.onClose)&&i.func(e.onError)&&i.func(e.write)}tD(l,"is"),o.is=l;var u=class{static{tD(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,r){this.errorEmitter.fire([this.asError(e),t,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:Error(`Writer received error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}};e.AbstractMessageWriter=u;var c=r||(r={});function p(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,n.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,n.default)().applicationJson.encoder}}tD(p,"fromOptions"),c.fromOptions=p,e.WriteableStreamMessageWriter=class extends u{static{tD(this,"WriteableStreamMessageWriter")}constructor(e,t){super(),this.writable=e,this.options=r.fromOptions(t),this.errorCount=0,this.writeSemaphore=new a.Semaphore(1),this.writable.onError(e=>this.fireError(e)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e).then(t=>{let r=[];return r.push("Content-Length: ",t.byteLength.toString(),"\r\n"),r.push("\r\n"),this.doWrite(e,r,t)},e=>{throw this.fireError(e),e}))}async doWrite(e,t,r){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(r)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}}}),t1=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMessageBuffer=void 0,e.AbstractMessageBuffer=class{static{tD(this,"AbstractMessageBuffer")}constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(e=!1){if(0===this._chunks.length)return;let t=0,r=0,n=0,i=0;e:for(;r<this._chunks.length;){let e=this._chunks[r];for(n=0;n<e.length;){switch(e[n]){case 13:switch(t){case 0:t=1;break;case 2:t=3;break;default:t=0}break;case 10:switch(t){case 1:t=2;break;case 3:t=4,n++;break e;default:t=0}break;default:t=0}n++}i+=e.byteLength,r++}if(4!==t)return;let a=this._read(i+n),s=new Map,o=this.toString(a,"ascii").split("\r\n");if(o.length<2)return s;for(let t=0;t<o.length-2;t++){let r=o[t],n=r.indexOf(":");if(-1===n)throw Error(`Message header must separate key and value using ':' +${r}`);let i=r.substr(0,n),a=r.substr(n+1).trim();s.set(e?i.toLowerCase():i,a)}return s}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(0===e)return this.emptyBuffer();if(e>this._totalLength)throw Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){let t=this._chunks[0],r=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,r}let t=this.allocNative(e),r=0;for(;e>0;){let n=this._chunks[0];if(n.byteLength>e){let i=n.slice(0,e);t.set(i,r),r+=e,this._chunks[0]=n.slice(e),this._totalLength-=e,e-=e}else t.set(n,r),r+=n.byteLength,this._chunks.shift(),this._totalLength-=n.byteLength,e-=n.byteLength}return t}}}}),t2=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C=tU(),S=tB(),k=tH(),x=tY(),N=tW(),w=tV();(s||(s={})).type=new k.NotificationType("$/cancelRequest");var I=o||(e.ProgressToken=o={});function _(e){return"string"==typeof e||"number"==typeof e}tD(_,"is"),I.is=_,(l||(l={})).type=new k.NotificationType("$/progress"),e.ProgressType=class{static{tD(this,"ProgressType")}};var P=u||(u={});function O(e){return S.func(e)}tD(O,"is"),P.is=O,e.NullLogger=Object.freeze({error:tD(()=>{},"error"),warn:tD(()=>{},"warn"),info:tD(()=>{},"info"),log:tD(()=>{},"log")}),(t=c||(e.Trace=c={}))[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose",(r=p||(e.TraceValues=p={})).Off="off",r.Messages="messages",r.Compact="compact",r.Verbose="verbose";var D=c||(e.Trace=c={});function L(e){if(!S.string(e))return D.Off;switch(e=e.toLowerCase()){case"off":default:return D.Off;case"messages":return D.Messages;case"compact":return D.Compact;case"verbose":return D.Verbose}}function M(e){switch(e){case D.Off:return"off";case D.Messages:return"messages";case D.Compact:return"compact";case D.Verbose:return"verbose";default:return"off"}}tD(L,"fromString"),D.fromString=L,tD(M,"toString"),D.toString=M,(n=f||(e.TraceFormat=f={})).Text="text",n.JSON="json";var j=f||(e.TraceFormat=f={});function F(e){return S.string(e)&&"json"===(e=e.toLowerCase())?j.JSON:j.Text}tD(F,"fromString"),j.fromString=F,(d||(e.SetTraceNotification=d={})).type=new k.NotificationType("$/setTrace"),(m||(e.LogTraceNotification=m={})).type=new k.NotificationType("$/logTrace"),(i=h||(e.ConnectionErrors=h={}))[i.Closed=1]="Closed",i[i.Disposed=2]="Disposed",i[i.AlreadyListening=3]="AlreadyListening";var G=class e extends Error{static{tD(this,"ConnectionError")}constructor(t,r){super(r),this.code=t,Object.setPrototypeOf(this,e.prototype)}};e.ConnectionError=G;var z=y||(e.ConnectionStrategy=y={});function K(e){return e&&S.func(e.cancelUndispatched)}tD(K,"is"),z.is=K;var q=g||(e.IdCancellationReceiverStrategy=g={});function U(e){return e&&(void 0===e.kind||"id"===e.kind)&&S.func(e.createCancellationTokenSource)&&(void 0===e.dispose||S.func(e.dispose))}tD(U,"is"),q.is=U;var B=T||(e.RequestCancellationReceiverStrategy=T={});function W(e){return e&&"request"===e.kind&&S.func(e.createCancellationTokenSource)&&(void 0===e.dispose||S.func(e.dispose))}tD(W,"is"),B.is=W;var V=v||(e.CancellationReceiverStrategy=v={});function H(e){return g.is(e)||T.is(e)}V.Message=Object.freeze({createCancellationTokenSource:e=>new w.CancellationTokenSource}),tD(H,"is"),V.is=H;var Y=$||(e.CancellationSenderStrategy=$={});function Q(e){return e&&S.func(e.sendCancellation)&&S.func(e.cleanup)}Y.Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(s.type,{id:t}),cleanup(e){}}),tD(Q,"is"),Y.is=Q;var Z=R||(e.CancellationStrategy=R={});function X(e){return e&&v.is(e.receiver)&&$.is(e.sender)}Z.Message=Object.freeze({receiver:v.Message,sender:$.Message}),tD(X,"is"),Z.is=X;var J=E||(e.MessageStrategy=E={});function ee(e){return e&&S.func(e.handleMessage)}tD(ee,"is"),J.is=ee;var et=b||(e.ConnectionOptions=b={});function er(e){return e&&(R.is(e.cancellationStrategy)||y.is(e.connectionStrategy)||E.is(e.messageStrategy))}function en(t,r,n,i){let a,p,y,T,v=void 0!==n?n:e.NullLogger,$=0,b=0,I=0,_=new Map,P=new Map,O=new Map,D=new x.LinkedMap,L=new Map,M=new Set,j=new Map,F=c.Off,z=f.Text,K=A.New,q=new N.Emitter,U=new N.Emitter,B=new N.Emitter,W=new N.Emitter,V=new N.Emitter,H=i&&i.cancellationStrategy?i.cancellationStrategy:R.Message;function Y(e){if(null===e)throw Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function Q(e){return null===e?"res-unknown-"+(++I).toString():"res-"+e.toString()}function Z(){return"not-"+(++b).toString()}function X(e,t){k.Message.isRequest(t)?e.set(Y(t.id),t):k.Message.isResponse(t)?e.set(Q(t.id),t):e.set(Z(),t)}function J(e){}function ee(){return K===A.Listening}function et(){return K===A.Closed}function er(){return K===A.Disposed}function en(){(K===A.New||K===A.Listening)&&(K=A.Closed,U.fire(void 0))}function ei(e){q.fire([e,void 0,void 0])}function ea(e){q.fire(e)}function es(){a||0===D.size||(a=(0,C.default)().timer.setImmediate(()=>{a=void 0,el()}))}function eo(e){k.Message.isRequest(e)?ec(e):k.Message.isNotification(e)?ef(e):k.Message.isResponse(e)?ep(e):ed(e)}function el(){if(0===D.size)return;let e=D.shift();try{let t=i?.messageStrategy;E.is(t)?t.handleMessage(e,eo):eo(e)}finally{es()}}tD(Y,"createRequestQueueKey"),tD(Q,"createResponseQueueKey"),tD(Z,"createNotificationQueueKey"),tD(X,"addMessageToQueue"),tD(J,"cancelUndispatched"),tD(ee,"isListening"),tD(et,"isClosed"),tD(er,"isDisposed"),tD(en,"closeHandler"),tD(ei,"readErrorHandler"),tD(ea,"writeErrorHandler"),t.onClose(en),t.onError(ei),r.onClose(en),r.onError(ea),tD(es,"triggerMessageQueue"),tD(eo,"handleMessage"),tD(el,"processMessageQueue");let eu=tD(e=>{try{if(k.Message.isNotification(e)&&e.method===s.type.method){let t=e.params.id,n=Y(t),a=D.get(n);if(k.Message.isRequest(a)){let s=i?.connectionStrategy,o=s&&s.cancelUndispatched?s.cancelUndispatched(a,J):J(a);if(o&&(void 0!==o.error||void 0!==o.result)){D.delete(n),j.delete(t),o.id=a.id,eg(o,e.method,Date.now()),r.write(o).catch(()=>v.error("Sending response for canceled message failed."));return}}let s=j.get(t);if(void 0!==s){s.cancel(),ev(e);return}M.add(t)}X(D,e)}finally{es()}},"callback");function ec(e){let t,n;if(er())return;function i(t,n,i){let a={jsonrpc:"2.0",id:e.id};t instanceof k.ResponseError?a.error=t.toJson():a.result=void 0===t?null:t,eg(a,n,i),r.write(a).catch(()=>v.error("Sending response failed."))}function a(t,n,i){let a={jsonrpc:"2.0",id:e.id,error:t.toJson()};eg(a,n,i),r.write(a).catch(()=>v.error("Sending response failed."))}function s(t,n,i){void 0===t&&(t=null);let a={jsonrpc:"2.0",id:e.id,result:t};eg(a,n,i),r.write(a).catch(()=>v.error("Sending response failed."))}tD(i,"reply"),tD(a,"replyError"),tD(s,"replySuccess"),eT(e);let o=_.get(e.method);o&&(t=o.type,n=o.handler);let l=Date.now();if(n||y){let r=e.id??String(Date.now()),o=g.is(H.receiver)?H.receiver.createCancellationTokenSource(r):H.receiver.createCancellationTokenSource(e);null!==e.id&&M.has(e.id)&&o.cancel(),null!==e.id&&j.set(r,o);try{let u;if(n)if(void 0===e.params){if(void 0!==t&&0!==t.numberOfParams)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines ${t.numberOfParams} params but received none.`),e.method,l);u=n(o.token)}else if(Array.isArray(e.params)){if(void 0!==t&&t.parameterStructures===k.ParameterStructures.byName)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,l);u=n(...e.params,o.token)}else{if(void 0!==t&&t.parameterStructures===k.ParameterStructures.byPosition)return void a(new k.ResponseError(k.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,l);u=n(e.params,o.token)}else y&&(u=y(e.method,e.params,o.token));let c=u;u?c.then?c.then(t=>{j.delete(r),i(t,e.method,l)},t=>{j.delete(r),t instanceof k.ResponseError?a(t,e.method,l):t&&S.string(t.message)?a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}):(j.delete(r),i(u,e.method,l)):(j.delete(r),s(u,e.method,l))}catch(t){j.delete(r),t instanceof k.ResponseError?i(t,e.method,l):t&&S.string(t.message)?a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):a(new k.ResponseError(k.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}}else a(new k.ResponseError(k.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,l)}function ep(e){if(!er())if(null===e.id)e.error?v.error(`Received response message without id: Error is: +${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{let t=e.id,r=L.get(t);if(e$(e,r),void 0!==r){L.delete(t);try{if(e.error){let t=e.error;r.reject(new k.ResponseError(t.code,t.message,t.data))}else if(void 0!==e.result)r.resolve(e.result);else throw Error("Should never happen.")}catch(e){e.message?v.error(`Response handler '${r.method}' failed with message: ${e.message}`):v.error(`Response handler '${r.method}' failed unexpectedly.`)}}}}function ef(e){let t,r;if(!er()){if(e.method===s.type.method){let t=e.params.id;M.delete(t),ev(e);return}{let n=P.get(e.method);n&&(t=n.handler,r=n.type)}if(t||T)try{if(ev(e),t)if(void 0===e.params)void 0!==r&&0!==r.numberOfParams&&r.parameterStructures!==k.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${r.numberOfParams} params but received none.`),t();else if(Array.isArray(e.params)){let n=e.params;e.method===l.type.method&&2===n.length&&o.is(n[0])?t({token:n[0],value:n[1]}):(void 0!==r&&(r.parameterStructures===k.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),r.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${r.numberOfParams} params but received ${n.length} arguments`)),t(...n))}else void 0!==r&&r.parameterStructures===k.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),t(e.params);else T&&T(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else B.fire(e)}}function ed(e){if(!e)return void v.error("Received empty message.");if(v.error(`Received message which is neither a response nor a notification message: +${JSON.stringify(e,null,4)}`),S.string(e.id)||S.number(e.id)){let t=e.id,r=L.get(t);r&&r.reject(Error("The received response has neither a result nor an error property."))}}function em(e){if(null!=e)switch(F){case c.Verbose:return JSON.stringify(e,null,4);case c.Compact:return JSON.stringify(e);default:return}}function eh(e){if(F!==c.Off&&p)if(z===f.Text){let t;(F===c.Verbose||F===c.Compact)&&e.params&&(t=`Params: ${em(e.params)} + +`),p.log(`Sending request '${e.method} - (${e.id})'.`,t)}else eR("send-request",e)}function ey(e){if(F!==c.Off&&p)if(z===f.Text){let t;(F===c.Verbose||F===c.Compact)&&(t=e.params?`Params: ${em(e.params)} + +`:"No parameters provided.\n\n"),p.log(`Sending notification '${e.method}'.`,t)}else eR("send-notification",e)}function eg(e,t,r){if(F!==c.Off&&p)if(z===f.Text){let n;(F===c.Verbose||F===c.Compact)&&(e.error&&e.error.data?n=`Error data: ${em(e.error.data)} + +`:e.result?n=`Result: ${em(e.result)} + +`:void 0===e.error&&(n="No result returned.\n\n")),p.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-r}ms`,n)}else eR("send-response",e)}function eT(e){if(F!==c.Off&&p)if(z===f.Text){let t;(F===c.Verbose||F===c.Compact)&&e.params&&(t=`Params: ${em(e.params)} + +`),p.log(`Received request '${e.method} - (${e.id})'.`,t)}else eR("receive-request",e)}function ev(e){if(F!==c.Off&&p&&e.method!==m.type.method)if(z===f.Text){let t;(F===c.Verbose||F===c.Compact)&&(t=e.params?`Params: ${em(e.params)} + +`:"No parameters provided.\n\n"),p.log(`Received notification '${e.method}'.`,t)}else eR("receive-notification",e)}function e$(e,t){if(F!==c.Off&&p)if(z===f.Text){let r;if((F===c.Verbose||F===c.Compact)&&(e.error&&e.error.data?r=`Error data: ${em(e.error.data)} + +`:e.result?r=`Result: ${em(e.result)} + +`:void 0===e.error&&(r="No result returned.\n\n")),t){let n=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";p.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${n}`,r)}else p.log(`Received response ${e.id} without active response promise.`,r)}else eR("receive-response",e)}function eR(e,t){if(!p||F===c.Off)return;let r={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};p.log(r)}function eE(){if(et())throw new G(h.Closed,"Connection is closed.");if(er())throw new G(h.Disposed,"Connection is disposed.")}function eb(){if(ee())throw new G(h.AlreadyListening,"Connection is already listening")}function eA(){if(!ee())throw Error("Call listen() first.")}function eC(e){return void 0===e?null:e}function eS(e){if(null!==e)return e}function ek(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function ex(e,t){switch(e){case k.ParameterStructures.auto:if(ek(t))return eS(t);return[eC(t)];case k.ParameterStructures.byName:if(!ek(t))throw Error("Received parameters by name but param is not an object literal.");return eS(t);case k.ParameterStructures.byPosition:return[eC(t)];default:throw Error(`Unknown parameter structure ${e.toString()}`)}}function eN(e,t){let r,n=e.numberOfParams;switch(n){case 0:r=void 0;break;case 1:r=ex(e.parameterStructures,t[0]);break;default:r=[];for(let e=0;e<t.length&&e<n;e++)r.push(eC(t[e]));if(t.length<n)for(let e=t.length;e<n;e++)r.push(null)}return r}tD(ec,"handleRequest"),tD(ep,"handleResponse"),tD(ef,"handleNotification"),tD(ed,"handleInvalidMessage"),tD(em,"stringifyTrace"),tD(eh,"traceSendingRequest"),tD(ey,"traceSendingNotification"),tD(eg,"traceSendingResponse"),tD(eT,"traceReceivedRequest"),tD(ev,"traceReceivedNotification"),tD(e$,"traceReceivedResponse"),tD(eR,"logLSPMessage"),tD(eE,"throwIfClosedOrDisposed"),tD(eb,"throwIfListening"),tD(eA,"throwIfNotListening"),tD(eC,"undefinedToNull"),tD(eS,"nullToUndefined"),tD(ek,"isNamedParam"),tD(ex,"computeSingleParam"),tD(eN,"computeMessageParams");let ew={sendNotification:tD((e,...t)=>{let n,i;if(eE(),S.string(e)){n=e;let r=t[0],a=0,s=k.ParameterStructures.auto;k.ParameterStructures.is(r)&&(a=1,s=r);let o=t.length,l=o-a;switch(l){case 0:i=void 0;break;case 1:i=ex(s,t[a]);break;default:if(s===k.ParameterStructures.byName)throw Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);i=t.slice(a,o).map(e=>eC(e))}}else n=e.method,i=eN(e,t);let a={jsonrpc:"2.0",method:n,params:i};return ey(a),r.write(a).catch(e=>{throw v.error("Sending notification failed."),e})},"sendNotification"),onNotification:tD((e,t)=>{let r;return eE(),S.func(e)?T=e:t&&(S.string(e)?(r=e,P.set(e,{type:void 0,handler:t})):(r=e.method,P.set(e.method,{type:e,handler:t}))),{dispose:tD(()=>{void 0!==r?P.delete(r):T=void 0},"dispose")}},"onNotification"),onProgress:tD((e,t,r)=>{if(O.has(t))throw Error(`Progress handler for token ${t} already registered`);return O.set(t,r),{dispose:tD(()=>{O.delete(t)},"dispose")}},"onProgress"),sendProgress:tD((e,t,r)=>ew.sendNotification(l.type,{token:t,value:r}),"sendProgress"),onUnhandledProgress:W.event,sendRequest:tD((e,...t)=>{let n,i,a,s;if(eE(),eA(),S.string(e)){n=e;let r=t[0],a=t[t.length-1],o=0,l=k.ParameterStructures.auto;k.ParameterStructures.is(r)&&(o=1,l=r);let u=t.length;w.CancellationToken.is(a)&&(u-=1,s=a);let c=u-o;switch(c){case 0:i=void 0;break;case 1:i=ex(l,t[o]);break;default:if(l===k.ParameterStructures.byName)throw Error(`Received ${c} parameters for 'by Name' request parameter structure.`);i=t.slice(o,u).map(e=>eC(e))}}else{n=e.method,i=eN(e,t);let r=e.numberOfParams;s=w.CancellationToken.is(t[r])?t[r]:void 0}let o=$++;s&&(a=s.onCancellationRequested(()=>{let e=H.sender.sendCancellation(ew,o);return void 0===e?(v.log(`Received no promise from cancellation strategy when cancelling id ${o}`),Promise.resolve()):e.catch(()=>{v.log(`Sending cancellation messages for id ${o} failed`)})}));let l={jsonrpc:"2.0",id:o,method:n,params:i};return eh(l),"function"==typeof H.sender.enableCancellation&&H.sender.enableCancellation(l),new Promise(async(e,t)=>{let i=tD(t=>{e(t),H.sender.cleanup(o),a?.dispose()},"resolveWithCleanup"),s=tD(e=>{t(e),H.sender.cleanup(o),a?.dispose()},"rejectWithCleanup"),u={method:n,timerStart:Date.now(),resolve:i,reject:s};try{await r.write(l),L.set(o,u)}catch(e){throw v.error("Sending request failed."),u.reject(new k.ResponseError(k.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),e}})},"sendRequest"),onRequest:tD((e,t)=>{eE();let r=null;return u.is(e)?(r=void 0,y=e):S.string(e)?(r=null,void 0!==t&&(r=e,_.set(e,{handler:t,type:void 0}))):void 0!==t&&(r=e.method,_.set(e.method,{type:e,handler:t})),{dispose:tD(()=>{null!==r&&(void 0!==r?_.delete(r):y=void 0)},"dispose")}},"onRequest"),hasPendingResponse:tD(()=>L.size>0,"hasPendingResponse"),trace:tD(async(e,t,r)=>{let n=!1,i=f.Text;void 0!==r&&(S.boolean(r)?n=r:(n=r.sendNotification||!1,i=r.traceFormat||f.Text)),F=e,z=i,p=F===c.Off?void 0:t,!n||et()||er()||await ew.sendNotification(d.type,{value:c.toString(e)})},"trace"),onError:q.event,onClose:U.event,onUnhandledNotification:B.event,onDispose:V.event,end:tD(()=>{r.end()},"end"),dispose:tD(()=>{if(er())return;K=A.Disposed,V.fire(void 0);let e=new k.ResponseError(k.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let t of L.values())t.reject(e);L=new Map,j=new Map,M=new Set,D=new x.LinkedMap,S.func(r.dispose)&&r.dispose(),S.func(t.dispose)&&t.dispose()},"dispose"),listen:tD(()=>{eE(),eb(),K=A.Listening,t.listen(eu)},"listen"),inspect:tD(()=>{(0,C.default)().console.log("inspect")},"inspect")};return ew.onNotification(m.type,e=>{if(F===c.Off||!p)return;let t=F===c.Verbose||F===c.Compact;p.log(e.message,t?e.verbose:void 0)}),ew.onNotification(l.type,e=>{let t=O.get(e.token);t?t(e.value):W.fire(e)}),ew}tD(er,"is"),et.is=er,(a=A||(A={}))[a.New=1]="New",a[a.Listening=2]="Listening",a[a.Closed=3]="Closed",a[a.Disposed=4]="Disposed",tD(en,"createMessageConnection"),e.createMessageConnection=en}}),t3=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;var t=tH();Object.defineProperty(e,"Message",{enumerable:!0,get:tD(function(){return t.Message},"get")}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:tD(function(){return t.RequestType},"get")}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:tD(function(){return t.RequestType0},"get")}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:tD(function(){return t.RequestType1},"get")}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:tD(function(){return t.RequestType2},"get")}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:tD(function(){return t.RequestType3},"get")}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:tD(function(){return t.RequestType4},"get")}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:tD(function(){return t.RequestType5},"get")}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:tD(function(){return t.RequestType6},"get")}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:tD(function(){return t.RequestType7},"get")}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:tD(function(){return t.RequestType8},"get")}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:tD(function(){return t.RequestType9},"get")}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:tD(function(){return t.ResponseError},"get")}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:tD(function(){return t.ErrorCodes},"get")}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:tD(function(){return t.NotificationType},"get")}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:tD(function(){return t.NotificationType0},"get")}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:tD(function(){return t.NotificationType1},"get")}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:tD(function(){return t.NotificationType2},"get")}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:tD(function(){return t.NotificationType3},"get")}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:tD(function(){return t.NotificationType4},"get")}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:tD(function(){return t.NotificationType5},"get")}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:tD(function(){return t.NotificationType6},"get")}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:tD(function(){return t.NotificationType7},"get")}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:tD(function(){return t.NotificationType8},"get")}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:tD(function(){return t.NotificationType9},"get")}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:tD(function(){return t.ParameterStructures},"get")});var r=tY();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:tD(function(){return r.LinkedMap},"get")}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:tD(function(){return r.LRUCache},"get")}),Object.defineProperty(e,"Touch",{enumerable:!0,get:tD(function(){return r.Touch},"get")});var n=tQ();Object.defineProperty(e,"Disposable",{enumerable:!0,get:tD(function(){return n.Disposable},"get")});var i=tW();Object.defineProperty(e,"Event",{enumerable:!0,get:tD(function(){return i.Event},"get")}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:tD(function(){return i.Emitter},"get")});var a=tV();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:tD(function(){return a.CancellationTokenSource},"get")}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:tD(function(){return a.CancellationToken},"get")});var s=tZ();Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:tD(function(){return s.SharedArraySenderStrategy},"get")}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:tD(function(){return s.SharedArrayReceiverStrategy},"get")});var o=tJ();Object.defineProperty(e,"MessageReader",{enumerable:!0,get:tD(function(){return o.MessageReader},"get")}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:tD(function(){return o.AbstractMessageReader},"get")}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:tD(function(){return o.ReadableStreamMessageReader},"get")});var l=t0();Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:tD(function(){return l.MessageWriter},"get")}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:tD(function(){return l.AbstractMessageWriter},"get")}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:tD(function(){return l.WriteableStreamMessageWriter},"get")});var u=t1();Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:tD(function(){return u.AbstractMessageBuffer},"get")});var c=t2();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:tD(function(){return c.ConnectionStrategy},"get")}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:tD(function(){return c.ConnectionOptions},"get")}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:tD(function(){return c.NullLogger},"get")}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:tD(function(){return c.createMessageConnection},"get")}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:tD(function(){return c.ProgressToken},"get")}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:tD(function(){return c.ProgressType},"get")}),Object.defineProperty(e,"Trace",{enumerable:!0,get:tD(function(){return c.Trace},"get")}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:tD(function(){return c.TraceValues},"get")}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:tD(function(){return c.TraceFormat},"get")}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:tD(function(){return c.SetTraceNotification},"get")}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:tD(function(){return c.LogTraceNotification},"get")}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:tD(function(){return c.ConnectionErrors},"get")}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:tD(function(){return c.ConnectionError},"get")}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:tD(function(){return c.CancellationReceiverStrategy},"get")}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:tD(function(){return c.CancellationSenderStrategy},"get")}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:tD(function(){return c.CancellationStrategy},"get")}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:tD(function(){return c.MessageStrategy},"get")}),e.RAL=tU().default}}),t4=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=t3(),r=class e extends t.AbstractMessageBuffer{static{tD(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return e.emptyBuffer}fromString(e,t){return new TextEncoder().encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}};r.emptyBuffer=new Uint8Array(0);var n=class{static{tD(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new t.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then(e=>{this._onData.fire(new Uint8Array(e))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),t.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),t.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),t.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},i=class{static{tD(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),t.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),t.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),t.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},a=new TextEncoder,s=Object.freeze({messageBuffer:Object.freeze({create:tD(e=>new r(e),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:tD((e,t)=>{if("utf-8"!==t.charset)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t.charset}`);return Promise.resolve(a.encode(JSON.stringify(e,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:tD((e,t)=>{if(!(e instanceof Uint8Array))throw Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))},"decode")})}),stream:Object.freeze({asReadableStream:tD(e=>new n(e),"asReadableStream"),asWritableStream:tD(e=>new i(e),"asWritableStream")}),console,timer:Object.freeze({setTimeout(e,t,...r){let n=setTimeout(e,t,...r);return{dispose:tD(()=>clearTimeout(n),"dispose")}},setImmediate(e,...t){let r=setTimeout(e,0,...t);return{dispose:tD(()=>clearTimeout(r),"dispose")}},setInterval(e,t,...r){let n=setInterval(e,t,...r);return{dispose:tD(()=>clearInterval(n),"dispose")}}})});function o(){return s}tD(o,"RIL");var l=o||(o={});function u(){t.RAL.install(s)}tD(u,"install"),l.install=u,e.default=o}}),t9=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tD(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0,t4().default.install();var n=t3();function i(e,t,r,i){return void 0===r&&(r=n.NullLogger),n.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,n.createMessageConnection)(e,t,r,i)}r(t3(),e),e.BrowserMessageReader=class extends n.AbstractMessageReader{static{tD(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new n.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",e=>this.fireError(e)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}},e.BrowserMessageWriter=class extends n.AbstractMessageWriter{static{tD(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",e=>this.fireError(e))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}},tD(i,"createMessageConnection"),e.createMessageConnection=i}}),t5=tL({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(e,t){t.exports=t9()}}),t6=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t,r,n=t9();(t=r||(e.MessageDirection=r={})).clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both",e.RegistrationType=class{static{tD(this,"RegistrationType")}constructor(e){this.method=e}},e.ProtocolRequestType0=class extends n.RequestType0{static{tD(this,"ProtocolRequestType0")}constructor(e){super(e)}},e.ProtocolRequestType=class extends n.RequestType{static{tD(this,"ProtocolRequestType")}constructor(e){super(e,n.ParameterStructures.byName)}},e.ProtocolNotificationType0=class extends n.NotificationType0{static{tD(this,"ProtocolNotificationType0")}constructor(e){super(e)}},e.ProtocolNotificationType=class extends n.NotificationType{static{tD(this,"ProtocolNotificationType")}constructor(e){super(e,n.ParameterStructures.byName)}}}}),t7=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(e){function t(e){return!0===e||!1===e}function r(e){return"string"==typeof e||e instanceof String}function n(e){return"number"==typeof e||e instanceof Number}function i(e){return e instanceof Error}function a(e){return"function"==typeof e}function s(e){return Array.isArray(e)}function o(e){return s(e)&&e.every(e=>r(e))}function l(e,t){return Array.isArray(e)&&e.every(t)}function u(e){return null!==e&&"object"==typeof e}Object.defineProperty(e,"__esModule",{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0,tD(t,"boolean"),e.boolean=t,tD(r,"string"),e.string=r,tD(n,"number"),e.number=n,tD(i,"error"),e.error=i,tD(a,"func"),e.func=a,tD(s,"array"),e.array=s,tD(o,"stringArray"),e.stringArray=o,tD(l,"typedArray"),e.typedArray=l,tD(u,"objectLiteral"),e.objectLiteral=u}}),t8=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;var t,r,n=t6();(t=r||(e.ImplementationRequest=r={})).method="textDocument/implementation",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),re=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;var t,r,n=t6();(t=r||(e.TypeDefinitionRequest=r={})).method="textDocument/typeDefinition",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rt=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t,r,n,i,a=t6();(t=n||(e.WorkspaceFoldersRequest=n={})).method="workspace/workspaceFolders",t.messageDirection=a.MessageDirection.serverToClient,t.type=new a.ProtocolRequestType0(t.method),(r=i||(e.DidChangeWorkspaceFoldersNotification=i={})).method="workspace/didChangeWorkspaceFolders",r.messageDirection=a.MessageDirection.clientToServer,r.type=new a.ProtocolNotificationType(r.method)}}),rr=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;var t,r,n=t6();(t=r||(e.ConfigurationRequest=r={})).method="workspace/configuration",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}}),rn=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t,r,n,i,a=t6();(t=n||(e.DocumentColorRequest=n={})).method="textDocument/documentColor",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.ColorPresentationRequest=i={})).method="textDocument/colorPresentation",r.messageDirection=a.MessageDirection.clientToServer,r.type=new a.ProtocolRequestType(r.method)}}),ri=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t,r,n,i,a=t6();(t=n||(e.FoldingRangeRequest=n={})).method="textDocument/foldingRange",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.FoldingRangeRefreshRequest=i={})).method="workspace/foldingRange/refresh",r.messageDirection=a.MessageDirection.serverToClient,r.type=new a.ProtocolRequestType0(r.method)}}),ra=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;var t,r,n=t6();(t=r||(e.DeclarationRequest=r={})).method="textDocument/declaration",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rs=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;var t,r,n=t6();(t=r||(e.SelectionRangeRequest=r={})).method="textDocument/selectionRange",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),ro=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t,r,n,i,a,s=t9(),o=t6(),l=n||(e.WorkDoneProgress=n={});function u(e){return e===l.type}l.type=new s.ProgressType,tD(u,"is"),l.is=u,(t=i||(e.WorkDoneProgressCreateRequest=i={})).method="window/workDoneProgress/create",t.messageDirection=o.MessageDirection.serverToClient,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.WorkDoneProgressCancelNotification=a={})).method="window/workDoneProgress/cancel",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolNotificationType(r.method)}}),rl=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o=t6();(t=i||(e.CallHierarchyPrepareRequest=i={})).method="textDocument/prepareCallHierarchy",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.CallHierarchyIncomingCallsRequest=a={})).method="callHierarchy/incomingCalls",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.CallHierarchyOutgoingCallsRequest=s={})).method="callHierarchy/outgoingCalls",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),ru=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t,r,n,i,a,s,o,l,u,c,p,f=t6();(s||(e.TokenFormat=s={})).Relative="relative",(t=o||(e.SemanticTokensRegistrationType=o={})).method="textDocument/semanticTokens",t.type=new f.RegistrationType(t.method),(r=l||(e.SemanticTokensRequest=l={})).method="textDocument/semanticTokens/full",r.messageDirection=f.MessageDirection.clientToServer,r.type=new f.ProtocolRequestType(r.method),r.registrationMethod=o.method,(n=u||(e.SemanticTokensDeltaRequest=u={})).method="textDocument/semanticTokens/full/delta",n.messageDirection=f.MessageDirection.clientToServer,n.type=new f.ProtocolRequestType(n.method),n.registrationMethod=o.method,(i=c||(e.SemanticTokensRangeRequest=c={})).method="textDocument/semanticTokens/range",i.messageDirection=f.MessageDirection.clientToServer,i.type=new f.ProtocolRequestType(i.method),i.registrationMethod=o.method,(a=p||(e.SemanticTokensRefreshRequest=p={})).method="workspace/semanticTokens/refresh",a.messageDirection=f.MessageDirection.serverToClient,a.type=new f.ProtocolRequestType0(a.method)}}),rc=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;var t,r,n=t6();(t=r||(e.ShowDocumentRequest=r={})).method="window/showDocument",t.messageDirection=n.MessageDirection.serverToClient,t.type=new n.ProtocolRequestType(t.method)}}),rp=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;var t,r,n=t6();(t=r||(e.LinkedEditingRangeRequest=r={})).method="textDocument/linkedEditingRange",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),rf=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h=t6();(t=l||(e.FileOperationPatternKind=l={})).file="file",t.folder="folder",(r=u||(e.WillCreateFilesRequest=u={})).method="workspace/willCreateFiles",r.messageDirection=h.MessageDirection.clientToServer,r.type=new h.ProtocolRequestType(r.method),(n=c||(e.DidCreateFilesNotification=c={})).method="workspace/didCreateFiles",n.messageDirection=h.MessageDirection.clientToServer,n.type=new h.ProtocolNotificationType(n.method),(i=p||(e.WillRenameFilesRequest=p={})).method="workspace/willRenameFiles",i.messageDirection=h.MessageDirection.clientToServer,i.type=new h.ProtocolRequestType(i.method),(a=f||(e.DidRenameFilesNotification=f={})).method="workspace/didRenameFiles",a.messageDirection=h.MessageDirection.clientToServer,a.type=new h.ProtocolNotificationType(a.method),(s=d||(e.DidDeleteFilesNotification=d={})).method="workspace/didDeleteFiles",s.messageDirection=h.MessageDirection.clientToServer,s.type=new h.ProtocolNotificationType(s.method),(o=m||(e.WillDeleteFilesRequest=m={})).method="workspace/willDeleteFiles",o.messageDirection=h.MessageDirection.clientToServer,o.type=new h.ProtocolRequestType(o.method)}}),rd=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t,r,n,i,a,s,o=t6();(t=i||(e.UniquenessLevel=i={})).document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global",(r=a||(e.MonikerKind=a={})).$import="import",r.$export="export",r.local="local",(n=s||(e.MonikerRequest=s={})).method="textDocument/moniker",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),rm=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o=t6();(t=i||(e.TypeHierarchyPrepareRequest=i={})).method="textDocument/prepareTypeHierarchy",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.TypeHierarchySupertypesRequest=a={})).method="typeHierarchy/supertypes",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.TypeHierarchySubtypesRequest=s={})).method="typeHierarchy/subtypes",n.messageDirection=o.MessageDirection.clientToServer,n.type=new o.ProtocolRequestType(n.method)}}),rh=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t,r,n,i,a=t6();(t=n||(e.InlineValueRequest=n={})).method="textDocument/inlineValue",t.messageDirection=a.MessageDirection.clientToServer,t.type=new a.ProtocolRequestType(t.method),(r=i||(e.InlineValueRefreshRequest=i={})).method="workspace/inlineValue/refresh",r.messageDirection=a.MessageDirection.serverToClient,r.type=new a.ProtocolRequestType0(r.method)}}),ry=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t,r,n,i,a,s,o=t6();(t=i||(e.InlayHintRequest=i={})).method="textDocument/inlayHint",t.messageDirection=o.MessageDirection.clientToServer,t.type=new o.ProtocolRequestType(t.method),(r=a||(e.InlayHintResolveRequest=a={})).method="inlayHint/resolve",r.messageDirection=o.MessageDirection.clientToServer,r.type=new o.ProtocolRequestType(r.method),(n=s||(e.InlayHintRefreshRequest=s={})).method="workspace/inlayHint/refresh",n.messageDirection=o.MessageDirection.serverToClient,n.type=new o.ProtocolRequestType0(n.method)}}),rg=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var t,r,n,i,a,s,o,l,u,c=t9(),p=t7(),f=t6(),d=a||(e.DiagnosticServerCancellationData=a={});function m(e){return e&&p.boolean(e.retriggerRequest)}tD(m,"is"),d.is=m,(t=s||(e.DocumentDiagnosticReportKind=s={})).Full="full",t.Unchanged="unchanged",(r=o||(e.DocumentDiagnosticRequest=o={})).method="textDocument/diagnostic",r.messageDirection=f.MessageDirection.clientToServer,r.type=new f.ProtocolRequestType(r.method),r.partialResult=new c.ProgressType,(n=l||(e.WorkspaceDiagnosticRequest=l={})).method="workspace/diagnostic",n.messageDirection=f.MessageDirection.clientToServer,n.type=new f.ProtocolRequestType(n.method),n.partialResult=new c.ProgressType,(i=u||(e.DiagnosticRefreshRequest=u={})).method="workspace/diagnostic/refresh",i.messageDirection=f.MessageDirection.serverToClient,i.type=new f.ProtocolRequestType0(i.method)}}),rT=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y=(tq(),tz(tK)),g=t7(),T=t6(),v=s||(e.NotebookCellKind=s={});function $(e){return 1===e||2===e}v.Markup=1,v.Code=2,tD($,"is"),v.is=$,function(e){function t(e,t){let r={executionOrder:e};return(!0===t||!1===t)&&(r.success=t),r}function r(e){return g.objectLiteral(e)&&y.uinteger.is(e.executionOrder)&&(void 0===e.success||g.boolean(e.success))}function n(e,t){return e===t||null!=e&&null!=t&&e.executionOrder===t.executionOrder&&e.success===t.success}tD(t,"create"),e.create=t,tD(r,"is"),e.is=r,tD(n,"equals"),e.equals=n}(o||(e.ExecutionSummary=o={})),function(e){function t(e,t){return{kind:e,document:t}}function r(e){return g.objectLiteral(e)&&s.is(e.kind)&&y.DocumentUri.is(e.document)&&(void 0===e.metadata||g.objectLiteral(e.metadata))}function n(e,t){let r=new Set;return e.document!==t.document&&r.add("document"),e.kind!==t.kind&&r.add("kind"),e.executionSummary!==t.executionSummary&&r.add("executionSummary"),void 0===e.metadata&&void 0===t.metadata||i(e.metadata,t.metadata)||r.add("metadata"),void 0===e.executionSummary&&void 0===t.executionSummary||o.equals(e.executionSummary,t.executionSummary)||r.add("executionSummary"),r}function i(e,t){if(e===t)return!0;if(null==e||null==t||typeof e!=typeof t||"object"!=typeof e)return!1;let r=Array.isArray(e),n=Array.isArray(t);if(r!==n)return!1;if(r&&n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!i(e[r],t[r]))return!1}if(g.objectLiteral(e)&&g.objectLiteral(t)){let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length||(r.sort(),n.sort(),!i(r,n)))return!1;for(let n=0;n<r.length;n++){let a=r[n];if(!i(e[a],t[a]))return!1}}return!0}tD(t,"create"),e.create=t,tD(r,"is"),e.is=r,tD(n,"diff"),e.diff=n,tD(i,"equalsMetadata")}(l||(e.NotebookCell=l={}));var R=u||(e.NotebookDocument=u={});function E(e,t,r,n){return{uri:e,notebookType:t,version:r,cells:n}}function b(e){return g.objectLiteral(e)&&g.string(e.uri)&&y.integer.is(e.version)&&g.typedArray(e.cells,l.is)}tD(E,"create"),R.create=E,tD(b,"is"),R.is=b,(t=c||(e.NotebookDocumentSyncRegistrationType=c={})).method="notebookDocument/sync",t.messageDirection=T.MessageDirection.clientToServer,t.type=new T.RegistrationType(t.method),(r=p||(e.DidOpenNotebookDocumentNotification=p={})).method="notebookDocument/didOpen",r.messageDirection=T.MessageDirection.clientToServer,r.type=new T.ProtocolNotificationType(r.method),r.registrationMethod=c.method;var A=f||(e.NotebookCellArrayChange=f={});function C(e){return g.objectLiteral(e)&&y.uinteger.is(e.start)&&y.uinteger.is(e.deleteCount)&&(void 0===e.cells||g.typedArray(e.cells,l.is))}function S(e,t,r){let n={start:e,deleteCount:t};return void 0!==r&&(n.cells=r),n}tD(C,"is"),A.is=C,tD(S,"create"),A.create=S,(n=d||(e.DidChangeNotebookDocumentNotification=d={})).method="notebookDocument/didChange",n.messageDirection=T.MessageDirection.clientToServer,n.type=new T.ProtocolNotificationType(n.method),n.registrationMethod=c.method,(i=m||(e.DidSaveNotebookDocumentNotification=m={})).method="notebookDocument/didSave",i.messageDirection=T.MessageDirection.clientToServer,i.type=new T.ProtocolNotificationType(i.method),i.registrationMethod=c.method,(a=h||(e.DidCloseNotebookDocumentNotification=h={})).method="notebookDocument/didClose",a.messageDirection=T.MessageDirection.clientToServer,a.type=new T.ProtocolNotificationType(a.method),a.registrationMethod=c.method}}),rv=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionRequest=void 0;var t,r,n=t6();(t=r||(e.InlineCompletionRequest=r={})).method="textDocument/inlineCompletion",t.messageDirection=n.MessageDirection.clientToServer,t.type=new n.ProtocolRequestType(t.method)}}),r$=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=e.CodeActionRequest=e.DocumentSymbolRequest=e.DocumentHighlightRequest=e.ReferencesRequest=e.DefinitionRequest=e.SignatureHelpRequest=e.SignatureHelpTriggerKind=e.HoverRequest=e.CompletionResolveRequest=e.CompletionRequest=e.CompletionTriggerKind=e.PublishDiagnosticsNotification=e.WatchKind=e.RelativePattern=e.FileChangeType=e.DidChangeWatchedFilesNotification=e.WillSaveTextDocumentWaitUntilRequest=e.WillSaveTextDocumentNotification=e.TextDocumentSaveReason=e.DidSaveTextDocumentNotification=e.DidCloseTextDocumentNotification=e.DidChangeTextDocumentNotification=e.TextDocumentContentChangeEvent=e.DidOpenTextDocumentNotification=e.TextDocumentSyncKind=e.TelemetryEventNotification=e.LogMessageNotification=e.ShowMessageRequest=e.ShowMessageNotification=e.MessageType=e.DidChangeConfigurationNotification=e.ExitNotification=e.ShutdownRequest=e.InitializedNotification=e.InitializeErrorCodes=e.InitializeRequest=e.WorkDoneProgressOptions=e.TextDocumentRegistrationOptions=e.StaticRegistrationOptions=e.PositionEncodingKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.WillRenameFilesRequest=e.DidRenameFilesNotification=e.WillCreateFilesRequest=e.DidCreateFilesNotification=e.FileOperationPatternKind=e.LinkedEditingRangeRequest=e.ShowDocumentRequest=e.SemanticTokensRegistrationType=e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.TokenFormat=e.CallHierarchyPrepareRequest=e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=e.SelectionRangeRequest=e.DeclarationRequest=e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=e.ColorPresentationRequest=e.DocumentColorRequest=e.ConfigurationRequest=e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=e.TypeDefinitionRequest=e.ImplementationRequest=e.ApplyWorkspaceEditRequest=e.ExecuteCommandRequest=e.PrepareRenameRequest=e.RenameRequest=e.PrepareSupportDefaultBehavior=e.DocumentOnTypeFormattingRequest=e.DocumentRangesFormattingRequest=e.DocumentRangeFormattingRequest=e.DocumentFormattingRequest=e.DocumentLinkResolveRequest=e.DocumentLinkRequest=e.CodeLensRefreshRequest=e.CodeLensResolveRequest=e.CodeLensRequest=e.WorkspaceSymbolResolveRequest=void 0,e.InlineCompletionRequest=e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=e.InlineValueRefreshRequest=e.InlineValueRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchySubtypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t,r,n,i,a,s,o,l,u,c,p,f,d,m,h,y,g,T,v,$,R,E,b,A,C,S,k,x,N,w,I,_,P,O,D,L,M,j,F,G,z,K,q,U,B,W,V,H,Y,Q,Z,X,J,ee,et,er,en,ei,ea,es,eo,el,eu,ec,ep,ef,ed,em,eh,ey,eg,eT,ev,e$,eR,eE,eb,eA,eC,eS,ek,ex,eN,ew,eI,e_,eP,eO,eD,eL,eM,ej,eF,eG,ez,eK,eq,eU,eB,eW,eV,eH,eY,eQ,eZ,eX,eJ,e0,e1,e2,e3,e4,e9,e5,e6,e7,e8,te,tt,tr=t6(),tn=(tq(),tz(tK)),ti=t7(),ta=t8();Object.defineProperty(e,"ImplementationRequest",{enumerable:!0,get:tD(function(){return ta.ImplementationRequest},"get")});var ts=re();Object.defineProperty(e,"TypeDefinitionRequest",{enumerable:!0,get:tD(function(){return ts.TypeDefinitionRequest},"get")});var to=rt();Object.defineProperty(e,"WorkspaceFoldersRequest",{enumerable:!0,get:tD(function(){return to.WorkspaceFoldersRequest},"get")}),Object.defineProperty(e,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:tD(function(){return to.DidChangeWorkspaceFoldersNotification},"get")});var tl=rr();Object.defineProperty(e,"ConfigurationRequest",{enumerable:!0,get:tD(function(){return tl.ConfigurationRequest},"get")});var tu=rn();Object.defineProperty(e,"DocumentColorRequest",{enumerable:!0,get:tD(function(){return tu.DocumentColorRequest},"get")}),Object.defineProperty(e,"ColorPresentationRequest",{enumerable:!0,get:tD(function(){return tu.ColorPresentationRequest},"get")});var tc=ri();Object.defineProperty(e,"FoldingRangeRequest",{enumerable:!0,get:tD(function(){return tc.FoldingRangeRequest},"get")}),Object.defineProperty(e,"FoldingRangeRefreshRequest",{enumerable:!0,get:tD(function(){return tc.FoldingRangeRefreshRequest},"get")});var tp=ra();Object.defineProperty(e,"DeclarationRequest",{enumerable:!0,get:tD(function(){return tp.DeclarationRequest},"get")});var tf=rs();Object.defineProperty(e,"SelectionRangeRequest",{enumerable:!0,get:tD(function(){return tf.SelectionRangeRequest},"get")});var td=ro();Object.defineProperty(e,"WorkDoneProgress",{enumerable:!0,get:tD(function(){return td.WorkDoneProgress},"get")}),Object.defineProperty(e,"WorkDoneProgressCreateRequest",{enumerable:!0,get:tD(function(){return td.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(e,"WorkDoneProgressCancelNotification",{enumerable:!0,get:tD(function(){return td.WorkDoneProgressCancelNotification},"get")});var tm=rl();Object.defineProperty(e,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:tD(function(){return tm.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:tD(function(){return tm.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyPrepareRequest",{enumerable:!0,get:tD(function(){return tm.CallHierarchyPrepareRequest},"get")});var th=ru();Object.defineProperty(e,"TokenFormat",{enumerable:!0,get:tD(function(){return th.TokenFormat},"get")}),Object.defineProperty(e,"SemanticTokensRequest",{enumerable:!0,get:tD(function(){return th.SemanticTokensRequest},"get")}),Object.defineProperty(e,"SemanticTokensDeltaRequest",{enumerable:!0,get:tD(function(){return th.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(e,"SemanticTokensRangeRequest",{enumerable:!0,get:tD(function(){return th.SemanticTokensRangeRequest},"get")}),Object.defineProperty(e,"SemanticTokensRefreshRequest",{enumerable:!0,get:tD(function(){return th.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(e,"SemanticTokensRegistrationType",{enumerable:!0,get:tD(function(){return th.SemanticTokensRegistrationType},"get")});var ty=rc();Object.defineProperty(e,"ShowDocumentRequest",{enumerable:!0,get:tD(function(){return ty.ShowDocumentRequest},"get")});var tg=rp();Object.defineProperty(e,"LinkedEditingRangeRequest",{enumerable:!0,get:tD(function(){return tg.LinkedEditingRangeRequest},"get")});var tT=rf();Object.defineProperty(e,"FileOperationPatternKind",{enumerable:!0,get:tD(function(){return tT.FileOperationPatternKind},"get")}),Object.defineProperty(e,"DidCreateFilesNotification",{enumerable:!0,get:tD(function(){return tT.DidCreateFilesNotification},"get")}),Object.defineProperty(e,"WillCreateFilesRequest",{enumerable:!0,get:tD(function(){return tT.WillCreateFilesRequest},"get")}),Object.defineProperty(e,"DidRenameFilesNotification",{enumerable:!0,get:tD(function(){return tT.DidRenameFilesNotification},"get")}),Object.defineProperty(e,"WillRenameFilesRequest",{enumerable:!0,get:tD(function(){return tT.WillRenameFilesRequest},"get")}),Object.defineProperty(e,"DidDeleteFilesNotification",{enumerable:!0,get:tD(function(){return tT.DidDeleteFilesNotification},"get")}),Object.defineProperty(e,"WillDeleteFilesRequest",{enumerable:!0,get:tD(function(){return tT.WillDeleteFilesRequest},"get")});var tv=rd();Object.defineProperty(e,"UniquenessLevel",{enumerable:!0,get:tD(function(){return tv.UniquenessLevel},"get")}),Object.defineProperty(e,"MonikerKind",{enumerable:!0,get:tD(function(){return tv.MonikerKind},"get")}),Object.defineProperty(e,"MonikerRequest",{enumerable:!0,get:tD(function(){return tv.MonikerRequest},"get")});var t$=rm();Object.defineProperty(e,"TypeHierarchyPrepareRequest",{enumerable:!0,get:tD(function(){return t$.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(e,"TypeHierarchySubtypesRequest",{enumerable:!0,get:tD(function(){return t$.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(e,"TypeHierarchySupertypesRequest",{enumerable:!0,get:tD(function(){return t$.TypeHierarchySupertypesRequest},"get")});var tR=rh();Object.defineProperty(e,"InlineValueRequest",{enumerable:!0,get:tD(function(){return tR.InlineValueRequest},"get")}),Object.defineProperty(e,"InlineValueRefreshRequest",{enumerable:!0,get:tD(function(){return tR.InlineValueRefreshRequest},"get")});var tE=ry();Object.defineProperty(e,"InlayHintRequest",{enumerable:!0,get:tD(function(){return tE.InlayHintRequest},"get")}),Object.defineProperty(e,"InlayHintResolveRequest",{enumerable:!0,get:tD(function(){return tE.InlayHintResolveRequest},"get")}),Object.defineProperty(e,"InlayHintRefreshRequest",{enumerable:!0,get:tD(function(){return tE.InlayHintRefreshRequest},"get")});var tb=rg();Object.defineProperty(e,"DiagnosticServerCancellationData",{enumerable:!0,get:tD(function(){return tb.DiagnosticServerCancellationData},"get")}),Object.defineProperty(e,"DocumentDiagnosticReportKind",{enumerable:!0,get:tD(function(){return tb.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(e,"DocumentDiagnosticRequest",{enumerable:!0,get:tD(function(){return tb.DocumentDiagnosticRequest},"get")}),Object.defineProperty(e,"WorkspaceDiagnosticRequest",{enumerable:!0,get:tD(function(){return tb.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(e,"DiagnosticRefreshRequest",{enumerable:!0,get:tD(function(){return tb.DiagnosticRefreshRequest},"get")});var tA=rT();Object.defineProperty(e,"NotebookCellKind",{enumerable:!0,get:tD(function(){return tA.NotebookCellKind},"get")}),Object.defineProperty(e,"ExecutionSummary",{enumerable:!0,get:tD(function(){return tA.ExecutionSummary},"get")}),Object.defineProperty(e,"NotebookCell",{enumerable:!0,get:tD(function(){return tA.NotebookCell},"get")}),Object.defineProperty(e,"NotebookDocument",{enumerable:!0,get:tD(function(){return tA.NotebookDocument},"get")}),Object.defineProperty(e,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:tD(function(){return tA.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(e,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:tD(function(){return tA.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(e,"NotebookCellArrayChange",{enumerable:!0,get:tD(function(){return tA.NotebookCellArrayChange},"get")}),Object.defineProperty(e,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:tD(function(){return tA.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:tD(function(){return tA.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:tD(function(){return tA.DidCloseNotebookDocumentNotification},"get")});var tC=rv();Object.defineProperty(e,"InlineCompletionRequest",{enumerable:!0,get:tD(function(){return tC.InlineCompletionRequest},"get")});var tS=et||(e.TextDocumentFilter=et={});function tk(e){return ti.string(e)||ti.string(e.language)||ti.string(e.scheme)||ti.string(e.pattern)}tD(tk,"is"),tS.is=tk;var tx=er||(e.NotebookDocumentFilter=er={});function tN(e){return ti.objectLiteral(e)&&(ti.string(e.notebookType)||ti.string(e.scheme)||ti.string(e.pattern))}tD(tN,"is"),tx.is=tN;var tw=en||(e.NotebookCellTextDocumentFilter=en={});function tI(e){return ti.objectLiteral(e)&&(ti.string(e.notebook)||er.is(e.notebook))&&(void 0===e.language||ti.string(e.language))}tD(tI,"is"),tw.is=tI;var t_=ei||(e.DocumentSelector=ei={});function tP(e){if(!Array.isArray(e))return!1;for(let t of e)if(!ti.string(t)&&!et.is(t)&&!en.is(t))return!1;return!0}tD(tP,"is"),t_.is=tP,(t=ea||(e.RegistrationRequest=ea={})).method="client/registerCapability",t.messageDirection=tr.MessageDirection.serverToClient,t.type=new tr.ProtocolRequestType(t.method),(r=es||(e.UnregistrationRequest=es={})).method="client/unregisterCapability",r.messageDirection=tr.MessageDirection.serverToClient,r.type=new tr.ProtocolRequestType(r.method),(n=eo||(e.ResourceOperationKind=eo={})).Create="create",n.Rename="rename",n.Delete="delete",(i=el||(e.FailureHandlingKind=el={})).Abort="abort",i.Transactional="transactional",i.TextOnlyTransactional="textOnlyTransactional",i.Undo="undo",(a=eu||(e.PositionEncodingKind=eu={})).UTF8="utf-8",a.UTF16="utf-16",a.UTF32="utf-32";var tO=ec||(e.StaticRegistrationOptions=ec={});function tL(e){return e&&ti.string(e.id)&&e.id.length>0}tD(tL,"hasId"),tO.hasId=tL;var tM=ep||(e.TextDocumentRegistrationOptions=ep={});function tj(e){return e&&(null===e.documentSelector||ei.is(e.documentSelector))}tD(tj,"is"),tM.is=tj;var tF=ef||(e.WorkDoneProgressOptions=ef={});function tG(e){return ti.objectLiteral(e)&&(void 0===e.workDoneProgress||ti.boolean(e.workDoneProgress))}function tU(e){return e&&ti.boolean(e.workDoneProgress)}tD(tG,"is"),tF.is=tG,tD(tU,"hasWorkDoneProgress"),tF.hasWorkDoneProgress=tU,(s=ed||(e.InitializeRequest=ed={})).method="initialize",s.messageDirection=tr.MessageDirection.clientToServer,s.type=new tr.ProtocolRequestType(s.method),(em||(e.InitializeErrorCodes=em={})).unknownProtocolVersion=1,(o=eh||(e.InitializedNotification=eh={})).method="initialized",o.messageDirection=tr.MessageDirection.clientToServer,o.type=new tr.ProtocolNotificationType(o.method),(l=ey||(e.ShutdownRequest=ey={})).method="shutdown",l.messageDirection=tr.MessageDirection.clientToServer,l.type=new tr.ProtocolRequestType0(l.method),(u=eg||(e.ExitNotification=eg={})).method="exit",u.messageDirection=tr.MessageDirection.clientToServer,u.type=new tr.ProtocolNotificationType0(u.method),(c=eT||(e.DidChangeConfigurationNotification=eT={})).method="workspace/didChangeConfiguration",c.messageDirection=tr.MessageDirection.clientToServer,c.type=new tr.ProtocolNotificationType(c.method),(p=ev||(e.MessageType=ev={})).Error=1,p.Warning=2,p.Info=3,p.Log=4,p.Debug=5,(f=e$||(e.ShowMessageNotification=e$={})).method="window/showMessage",f.messageDirection=tr.MessageDirection.serverToClient,f.type=new tr.ProtocolNotificationType(f.method),(d=eR||(e.ShowMessageRequest=eR={})).method="window/showMessageRequest",d.messageDirection=tr.MessageDirection.serverToClient,d.type=new tr.ProtocolRequestType(d.method),(m=eE||(e.LogMessageNotification=eE={})).method="window/logMessage",m.messageDirection=tr.MessageDirection.serverToClient,m.type=new tr.ProtocolNotificationType(m.method),(h=eb||(e.TelemetryEventNotification=eb={})).method="telemetry/event",h.messageDirection=tr.MessageDirection.serverToClient,h.type=new tr.ProtocolNotificationType(h.method),(y=eA||(e.TextDocumentSyncKind=eA={})).None=0,y.Full=1,y.Incremental=2,(g=eC||(e.DidOpenTextDocumentNotification=eC={})).method="textDocument/didOpen",g.messageDirection=tr.MessageDirection.clientToServer,g.type=new tr.ProtocolNotificationType(g.method);var tB=eS||(e.TextDocumentContentChangeEvent=eS={});function tW(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}function tV(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}tD(tW,"isIncremental"),tB.isIncremental=tW,tD(tV,"isFull"),tB.isFull=tV,(T=ek||(e.DidChangeTextDocumentNotification=ek={})).method="textDocument/didChange",T.messageDirection=tr.MessageDirection.clientToServer,T.type=new tr.ProtocolNotificationType(T.method),(v=ex||(e.DidCloseTextDocumentNotification=ex={})).method="textDocument/didClose",v.messageDirection=tr.MessageDirection.clientToServer,v.type=new tr.ProtocolNotificationType(v.method),($=eN||(e.DidSaveTextDocumentNotification=eN={})).method="textDocument/didSave",$.messageDirection=tr.MessageDirection.clientToServer,$.type=new tr.ProtocolNotificationType($.method),(R=ew||(e.TextDocumentSaveReason=ew={})).Manual=1,R.AfterDelay=2,R.FocusOut=3,(E=eI||(e.WillSaveTextDocumentNotification=eI={})).method="textDocument/willSave",E.messageDirection=tr.MessageDirection.clientToServer,E.type=new tr.ProtocolNotificationType(E.method),(b=e_||(e.WillSaveTextDocumentWaitUntilRequest=e_={})).method="textDocument/willSaveWaitUntil",b.messageDirection=tr.MessageDirection.clientToServer,b.type=new tr.ProtocolRequestType(b.method),(A=eP||(e.DidChangeWatchedFilesNotification=eP={})).method="workspace/didChangeWatchedFiles",A.messageDirection=tr.MessageDirection.clientToServer,A.type=new tr.ProtocolNotificationType(A.method),(C=eO||(e.FileChangeType=eO={})).Created=1,C.Changed=2,C.Deleted=3;var tH=eD||(e.RelativePattern=eD={});function tY(e){return ti.objectLiteral(e)&&(tn.URI.is(e.baseUri)||tn.WorkspaceFolder.is(e.baseUri))&&ti.string(e.pattern)}tD(tY,"is"),tH.is=tY,(S=eL||(e.WatchKind=eL={})).Create=1,S.Change=2,S.Delete=4,(k=eM||(e.PublishDiagnosticsNotification=eM={})).method="textDocument/publishDiagnostics",k.messageDirection=tr.MessageDirection.serverToClient,k.type=new tr.ProtocolNotificationType(k.method),(x=ej||(e.CompletionTriggerKind=ej={})).Invoked=1,x.TriggerCharacter=2,x.TriggerForIncompleteCompletions=3,(N=eF||(e.CompletionRequest=eF={})).method="textDocument/completion",N.messageDirection=tr.MessageDirection.clientToServer,N.type=new tr.ProtocolRequestType(N.method),(w=eG||(e.CompletionResolveRequest=eG={})).method="completionItem/resolve",w.messageDirection=tr.MessageDirection.clientToServer,w.type=new tr.ProtocolRequestType(w.method),(I=ez||(e.HoverRequest=ez={})).method="textDocument/hover",I.messageDirection=tr.MessageDirection.clientToServer,I.type=new tr.ProtocolRequestType(I.method),(_=eK||(e.SignatureHelpTriggerKind=eK={})).Invoked=1,_.TriggerCharacter=2,_.ContentChange=3,(P=eq||(e.SignatureHelpRequest=eq={})).method="textDocument/signatureHelp",P.messageDirection=tr.MessageDirection.clientToServer,P.type=new tr.ProtocolRequestType(P.method),(O=eU||(e.DefinitionRequest=eU={})).method="textDocument/definition",O.messageDirection=tr.MessageDirection.clientToServer,O.type=new tr.ProtocolRequestType(O.method),(D=eB||(e.ReferencesRequest=eB={})).method="textDocument/references",D.messageDirection=tr.MessageDirection.clientToServer,D.type=new tr.ProtocolRequestType(D.method),(L=eW||(e.DocumentHighlightRequest=eW={})).method="textDocument/documentHighlight",L.messageDirection=tr.MessageDirection.clientToServer,L.type=new tr.ProtocolRequestType(L.method),(M=eV||(e.DocumentSymbolRequest=eV={})).method="textDocument/documentSymbol",M.messageDirection=tr.MessageDirection.clientToServer,M.type=new tr.ProtocolRequestType(M.method),(j=eH||(e.CodeActionRequest=eH={})).method="textDocument/codeAction",j.messageDirection=tr.MessageDirection.clientToServer,j.type=new tr.ProtocolRequestType(j.method),(F=eY||(e.CodeActionResolveRequest=eY={})).method="codeAction/resolve",F.messageDirection=tr.MessageDirection.clientToServer,F.type=new tr.ProtocolRequestType(F.method),(G=eQ||(e.WorkspaceSymbolRequest=eQ={})).method="workspace/symbol",G.messageDirection=tr.MessageDirection.clientToServer,G.type=new tr.ProtocolRequestType(G.method),(z=eZ||(e.WorkspaceSymbolResolveRequest=eZ={})).method="workspaceSymbol/resolve",z.messageDirection=tr.MessageDirection.clientToServer,z.type=new tr.ProtocolRequestType(z.method),(K=eX||(e.CodeLensRequest=eX={})).method="textDocument/codeLens",K.messageDirection=tr.MessageDirection.clientToServer,K.type=new tr.ProtocolRequestType(K.method),(q=eJ||(e.CodeLensResolveRequest=eJ={})).method="codeLens/resolve",q.messageDirection=tr.MessageDirection.clientToServer,q.type=new tr.ProtocolRequestType(q.method),(U=e0||(e.CodeLensRefreshRequest=e0={})).method="workspace/codeLens/refresh",U.messageDirection=tr.MessageDirection.serverToClient,U.type=new tr.ProtocolRequestType0(U.method),(B=e1||(e.DocumentLinkRequest=e1={})).method="textDocument/documentLink",B.messageDirection=tr.MessageDirection.clientToServer,B.type=new tr.ProtocolRequestType(B.method),(W=e2||(e.DocumentLinkResolveRequest=e2={})).method="documentLink/resolve",W.messageDirection=tr.MessageDirection.clientToServer,W.type=new tr.ProtocolRequestType(W.method),(V=e3||(e.DocumentFormattingRequest=e3={})).method="textDocument/formatting",V.messageDirection=tr.MessageDirection.clientToServer,V.type=new tr.ProtocolRequestType(V.method),(H=e4||(e.DocumentRangeFormattingRequest=e4={})).method="textDocument/rangeFormatting",H.messageDirection=tr.MessageDirection.clientToServer,H.type=new tr.ProtocolRequestType(H.method),(Y=e9||(e.DocumentRangesFormattingRequest=e9={})).method="textDocument/rangesFormatting",Y.messageDirection=tr.MessageDirection.clientToServer,Y.type=new tr.ProtocolRequestType(Y.method),(Q=e5||(e.DocumentOnTypeFormattingRequest=e5={})).method="textDocument/onTypeFormatting",Q.messageDirection=tr.MessageDirection.clientToServer,Q.type=new tr.ProtocolRequestType(Q.method),(e6||(e.PrepareSupportDefaultBehavior=e6={})).Identifier=1,(Z=e7||(e.RenameRequest=e7={})).method="textDocument/rename",Z.messageDirection=tr.MessageDirection.clientToServer,Z.type=new tr.ProtocolRequestType(Z.method),(X=e8||(e.PrepareRenameRequest=e8={})).method="textDocument/prepareRename",X.messageDirection=tr.MessageDirection.clientToServer,X.type=new tr.ProtocolRequestType(X.method),(J=te||(e.ExecuteCommandRequest=te={})).method="workspace/executeCommand",J.messageDirection=tr.MessageDirection.clientToServer,J.type=new tr.ProtocolRequestType(J.method),(ee=tt||(e.ApplyWorkspaceEditRequest=tt={})).method="workspace/applyEdit",ee.messageDirection=tr.MessageDirection.serverToClient,ee.type=new tr.ProtocolRequestType("workspace/applyEdit")}}),rR=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var t=t9();function r(e,r,n,i){return t.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,t.createMessageConnection)(e,r,n,i)}tD(r,"createProtocolConnection"),e.createProtocolConnection=r}}),rE=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(e){var t,r,n=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tD(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=e&&e.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,i(t9(),e),i((tq(),tz(tK)),e),i(t6(),e),i(r$(),e);var a=rR();Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:tD(function(){return a.createProtocolConnection},"get")}),(t=r||(e.LSPErrorCodes=r={})).lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800}}),rb=tL({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(e){var t=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:tD(function(){return t[r]},"get")}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),r=e&&e.__exportStar||function(e,r){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(r,n)||t(r,e,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var n=t5();function i(e,t,r,i){return(0,n.createMessageConnection)(e,t,r,i)}r(t5(),e),r(rE(),e),tD(i,"createProtocolConnection"),e.createProtocolConnection=i}}),rA={};tM(rA,{AbstractAstReflection:()=>rI,AbstractCstNode:()=>TZ,AbstractLangiumParser:()=>T9,AbstractParserErrorMessageProvider:()=>T6,AbstractThreadedAsyncParser:()=>$9,AstUtils:()=>rK,BiMap:()=>vJ,Cancellation:()=>vS,CompositeCstNodeImpl:()=>TJ,ContextCache:()=>v6,CstNodeBuilder:()=>TQ,CstUtils:()=>rC,DEFAULT_TOKENIZE_OPTIONS:()=>$A,DONE_RESULT:()=>rF,DatatypeSymbol:()=>T2,DefaultAstNodeDescriptionProvider:()=>$f,DefaultAstNodeLocator:()=>$m,DefaultAsyncParser:()=>$4,DefaultCommentProvider:()=>$3,DefaultConfigurationProvider:()=>$y,DefaultDocumentBuilder:()=>$$,DefaultDocumentValidator:()=>$l,DefaultHydrator:()=>$7,DefaultIndexManager:()=>$R,DefaultJsonSerializer:()=>$n,DefaultLangiumDocumentFactory:()=>vB,DefaultLangiumDocuments:()=>vW,DefaultLangiumProfiler:()=>RT,DefaultLexer:()=>$C,DefaultLexerErrorMessageProvider:()=>$b,DefaultLinker:()=>vH,DefaultNameProvider:()=>vQ,DefaultReferenceDescriptionProvider:()=>$d,DefaultReferences:()=>vZ,DefaultScopeComputation:()=>v0,DefaultScopeProvider:()=>$e,DefaultServiceRegistry:()=>$i,DefaultTokenBuilder:()=>vA,DefaultValueConverter:()=>vC,DefaultWorkspaceLock:()=>$6,DefaultWorkspaceManager:()=>$E,Deferred:()=>vD,Disposable:()=>e5,DisposableCache:()=>v9,DocumentCache:()=>v7,DocumentState:()=>e3,DocumentValidator:()=>e9,EMPTY_SCOPE:()=>v4,EMPTY_STREAM:()=>rj,EmptyFileSystem:()=>Rd,EmptyFileSystemProvider:()=>Rf,ErrorWithLocation:()=>i9,GrammarAST:()=>r3,GrammarUtils:()=>i4,IndentationAwareLexer:()=>Rc,IndentationAwareTokenBuilder:()=>Ru,JSDocDocumentationProvider:()=>$2,LangiumCompletionParser:()=>T8,LangiumParser:()=>T5,LangiumParserErrorMessageProvider:()=>T7,LeafCstNodeImpl:()=>TX,LexingMode:()=>e7,MapScope:()=>v2,Module:()=>e6,MultiMap:()=>vX,MultiMapScope:()=>v3,OperationCancelled:()=>v_,ParserWorker:()=>$5,ProfilingTask:()=>Rv,Reduction:()=>eV,RefResolving:()=>vV,RegExpUtils:()=>i7,RootCstNodeImpl:()=>T1,SimpleCache:()=>v5,StreamImpl:()=>rD,StreamScope:()=>v1,TextDocument:()=>e0,TreeStreamImpl:()=>rz,URI:()=>vK,UriTrie:()=>vU,UriUtils:()=>e2,VALIDATE_EACH_NODE:()=>$o,ValidationCategory:()=>e4,ValidationRegistry:()=>$s,ValueConverter:()=>eJ,WorkspaceCache:()=>v8,assertCondition:()=>i6,assertUnreachable:()=>i5,createCompletionParser:()=>vR,createDefaultCoreModule:()=>$8,createDefaultSharedCoreModule:()=>Re,createGrammarConfig:()=>a7,createLangiumParser:()=>vE,createParser:()=>vn,delayNextTick:()=>vk,diagnosticData:()=>$a,eagerLoad:()=>Rn,getDiagnosticRange:()=>$u,indentationBuilderDefaultOptions:()=>Rl,inject:()=>Rt,interruptAndCheck:()=>vO,isAstNode:()=>rS,isAstNodeDescription:()=>rN,isAstNodeWithComment:()=>$t,isCompositeCstNode:()=>r_,isIMultiModeLexerDefinition:()=>$k,isJSDoc:()=>$w,isLeafCstNode:()=>rP,isLinkingError:()=>rw,isMultiReference:()=>rx,isNamed:()=>vY,isOperationCancelled:()=>vP,isReference:()=>rk,isRootCstNode:()=>rO,isTokenTypeArray:()=>$S,isTokenTypeDictionary:()=>$x,loadGrammarFromJson:()=>Rg,parseJSDoc:()=>$N,prepareLangiumParser:()=>vb,setInterruptionPeriod:()=>vI,startCancelableOperation:()=>vw,stream:()=>rG,toDiagnosticData:()=>$p,toDiagnosticSeverity:()=>$c});var rC={};function rS(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function rk(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"ref"in e}function rx(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"items"in e}function rN(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function rw(e){return"object"==typeof e&&null!==e&&"object"==typeof e.info&&"string"==typeof e.message}tM(rC,{DefaultNameRegexp:()=>iB,RangeComparison:()=>eH,compareRange:()=>iq,findCommentNode:()=>iV,findDeclarationNodeAtOffset:()=>iW,findLeafNodeAtOffset:()=>iY,findLeafNodeBeforeOffset:()=>iQ,flattenCst:()=>iF,getDatatypeNode:()=>iM,getInteriorNodes:()=>i1,getNextNode:()=>iJ,getPreviousNode:()=>iX,getStartlineNode:()=>i0,inRange:()=>iU,isChildNode:()=>iG,isCommentNode:()=>iH,streamCst:()=>ij,toDocumentSegment:()=>iK,tokenToRange:()=>iz}),tD(rS,"isAstNode"),tD(rk,"isReference"),tD(rx,"isMultiReference"),tD(rN,"isAstNodeDescription"),tD(rw,"isLinkingError");var rI=class{static{tD(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let t=this.types[e.container.$type];if(!t)throw Error(`Type ${e.container.$type||"undefined"} not found.`);let r=t.properties[e.property]?.referenceType;if(!r)throw Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){let t=this.types[e];return t||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return rS(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(void 0!==n)return n;{let n=this.types[e],i=!!n&&n.superTypes.some(e=>this.isSubtype(e,t));return r[t]=i,i}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),r=[];for(let n of t)this.isSubtype(n,e)&&r.push(n);return this.allSubtypes[e]=r,r}}};function r_(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function rP(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function rO(e){return r_(e)&&"string"==typeof e.fullText}tD(r_,"isCompositeCstNode"),tD(rP,"isLeafCstNode"),tD(rO,"isRootCstNode");var rD=class e{static{tD(this,"StreamImpl")}constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:tD(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e,t=[],r=this.iterator();do void 0!==(e=r.next()).value&&t.push(e.value);while(!e.done)return t}toSet(){return new Set(this)}toMap(e,t){return new Map(this.map(r=>[e?e(r):r,t?t(r):r]))}toString(){return this.join()}concat(t){return new e(()=>({first:this.startFn(),firstDone:!1,iterator:t[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do if(!(t=this.nextFn(e.first)).done)return t;while(!t.done)e.firstDone=!0}do if(!(t=e.iterator.next()).done)return t;while(!t.done)return rF})}join(e=","){let t,r=this.iterator(),n="",i=!1;do(t=r.next()).done||(i&&(n+=e),n+=rL(t.value)),i=!0;while(!t.done)return n}indexOf(e,t=0){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(n>=t&&i.value===e)return n;i=r.next(),n++}return -1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(t){return new e(this.startFn,e=>{let{done:r,value:n}=this.nextFn(e);return r?rF:{done:!1,value:t(n)}})}filter(t){return new e(this.startFn,e=>{let r;do if(!(r=this.nextFn(e)).done&&t(r.value))return r;while(!r.done)return rF})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let r=this.iterator(),n=t,i=r.next();for(;!i.done;)n=void 0===n?i.value:e(n,i.value),i=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let n=e.next();if(n.done)return r;let i=this.recursiveReduce(e,t,r);return void 0===i?n.value:t(i,n.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return -1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(t){return new e(()=>({this:this.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:r,value:n}=this.nextFn(e.this);if(!r){let r=t(n);if(!rM(r))return{done:!1,value:r};e.iterator=r[Symbol.iterator]()}}while(e.iterator)return rF})}flat(t){if(void 0===t&&(t=1),t<=0)return this;let r=t>1?this.flat(t-1):this;return new e(()=>({this:r.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:t,value:n}=r.nextFn(e.this);if(!t)if(!rM(n))return{done:!1,value:n};else e.iterator=n[Symbol.iterator]()}while(e.iterator)return rF})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(t=1){return new e(()=>{let e=this.startFn();for(let r=0;r<t&&!this.nextFn(e).done;r++);return e},this.nextFn)}limit(t){return new e(()=>({size:0,state:this.startFn()}),e=>(e.size++,e.size>t)?rF:this.nextFn(e.state))}distinct(t){return new e(()=>({set:new Set,internalState:this.startFn()}),e=>{let r;do if(!(r=this.nextFn(e.internalState)).done){let n=t?t(r.value):r.value;if(!e.set.has(n))return e.set.add(n),r}while(!r.done)return rF})}exclude(e,t){let r=new Set;for(let n of e){let e=t?t(n):n;r.add(e)}return this.filter(e=>{let n=t?t(e):e;return!r.has(n)})}};function rL(e){return"string"==typeof e?e:void 0===e?"undefined":"function"==typeof e.toString?e.toString():Object.prototype.toString.call(e)}function rM(e){return!!e&&"function"==typeof e[Symbol.iterator]}tD(rL,"toString"),tD(rM,"isIterable");var rj=new rD(()=>void 0,()=>rF),rF=Object.freeze({done:!0,value:void 0});function rG(...e){if(1===e.length){let t=e[0];if(t instanceof rD)return t;if(rM(t))return new rD(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new rD(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:rF)}return e.length>1?new rD(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let r=e[t.collIndex++];rM(r)?t.iterator=r[Symbol.iterator]():r&&"number"==typeof r.length&&(t.array=r)}}while(t.iterator||t.array||t.collIndex<e.length)return rF}):rj}tD(rG,"stream");var rz=class extends rD{static{tD(this,"TreeStreamImpl")}constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){let r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return rF})}iterator(){let e={state:this.startFn(),next:tD(()=>this.nextFn(e.state),"next"),prune:tD(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};!function(e){function t(e){return e.reduce((e,t)=>e+t,0)}function r(e){return e.reduce((e,t)=>e*t,0)}function n(e){return e.reduce((e,t)=>Math.min(e,t))}function i(e){return e.reduce((e,t)=>Math.max(e,t))}tD(t,"sum"),e.sum=t,tD(r,"product"),e.product=r,tD(n,"min"),e.min=n,tD(i,"max"),e.max=i}(eV||(eV={}));var rK={};function rq(e,t={}){for(let[r,n]of Object.entries(e))!r.startsWith("$")&&(Array.isArray(n)?n.forEach((n,i)=>{rS(n)&&(n.$container=e,n.$containerProperty=r,n.$containerIndex=i,t.deep&&rq(n,t))}):rS(n)&&(n.$container=e,n.$containerProperty=r,t.deep&&rq(n,t)))}function rU(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function rB(e,t){let r=e;for(;r;){if(t(r))return!0;r=r.$container}return!1}function rW(e){let t=rV(e).$document;if(!t)throw Error("AST node has no document.");return t}function rV(e){for(;e.$container;)e=e.$container;return e}function rH(e){return rk(e)?e.ref?[e.ref]:[]:rx(e)?e.items.map(e=>e.ref):[]}function rY(e,t){if(!e)throw Error("Node must be an AstNode.");let r=t?.range;return new rD(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let n=t.keys[t.keyIndex];if(!n.startsWith("$")){let i=e[n];if(rS(i)){if(t.keyIndex++,rX(i,r))return{done:!1,value:i}}else if(Array.isArray(i)){for(;t.arrayIndex<i.length;){let e=i[t.arrayIndex++];if(rS(e)&&rX(e,r))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return rF})}function rQ(e,t){if(!e)throw Error("Root node must be an AstNode.");return new rz(e,e=>rY(e,t))}function rZ(e,t){if(e){if(t?.range&&!rX(e,t.range))return new rz(e,()=>[])}else throw Error("Root node must be an AstNode.");return new rz(e,e=>rY(e,t),{includeRoot:!0})}function rX(e,t){if(!t)return!0;let r=e.$cstNode?.range;return!!r&&iU(r,t)}function rJ(e){return new rD(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith("$")){let n=e[r];if(rk(n)||rx(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){let i=t.arrayIndex++,a=n[i];if(rk(a)||rx(n))return{done:!1,value:{reference:a,container:e,property:r,index:i}}}t.arrayIndex=0}}t.keyIndex++}return rF})}function r0(e,t){for(let r of Object.values(e.getTypeMetaData(t.$type).properties))void 0!==r.defaultValue&&void 0===t[r.name]&&(t[r.name]=r1(r.defaultValue))}function r1(e){return Array.isArray(e)?[...e.map(r1)]:e}function r2(e,t,r){let n={$type:e.$type};for(let[i,a]of(r&&(r.set(e,n),r.set(n,e)),Object.entries(e)))if(!i.startsWith("$"))if(rS(a))n[i]=r2(a,t,r);else if(rk(a))n[i]=t(n,i,a.$refNode,a.$refText,a);else if(Array.isArray(a)){let e=[];for(let s of a)rS(s)?e.push(r2(s,t,r)):rk(s)?e.push(t(n,i,s.$refNode,s.$refText,s)):e.push(s);n[i]=e}else n[i]=a;return rq(n,{deep:!0}),n}tM(rK,{assignMandatoryProperties:()=>r0,copyAstNode:()=>r2,findRootNode:()=>rV,getContainerOfType:()=>rU,getDocument:()=>rW,getReferenceNodes:()=>rH,hasContainerOfType:()=>rB,linkContentToContainer:()=>rq,streamAllContents:()=>rQ,streamAst:()=>rZ,streamContents:()=>rY,streamReferences:()=>rJ}),tD(rq,"linkContentToContainer"),tD(rU,"getContainerOfType"),tD(rB,"hasContainerOfType"),tD(rW,"getDocument"),tD(rV,"findRootNode"),tD(rH,"getReferenceNodes"),tD(rY,"streamContents"),tD(rQ,"streamAllContents"),tD(rZ,"streamAst"),tD(rX,"isAstNodeInRange"),tD(rJ,"streamReferences"),tD(r0,"assignMandatoryProperties"),tD(r1,"copyDefaultValue"),tD(r2,"copyAstNode");var r3={};tM(r3,{AbstractElement:()=>r9,AbstractParserRule:()=>r6,AbstractRule:()=>r8,AbstractType:()=>nt,Action:()=>nn,Alternatives:()=>na,ArrayLiteral:()=>no,ArrayType:()=>nu,Assignment:()=>np,BooleanLiteral:()=>nd,CharacterRange:()=>nh,Condition:()=>ng,Conjunction:()=>nv,CrossReference:()=>nR,Disjunction:()=>nb,EndOfFile:()=>nC,Grammar:()=>nk,GrammarImport:()=>nN,Group:()=>nI,InferredType:()=>nP,InfixRule:()=>nD,InfixRuleOperatorList:()=>nM,InfixRuleOperators:()=>nF,Interface:()=>nz,Keyword:()=>nq,LangiumGrammarAstReflection:()=>iD,LangiumGrammarTerminals:()=>r4,NamedArgument:()=>nB,NegatedToken:()=>nV,Negation:()=>nY,NumberLiteral:()=>nZ,Parameter:()=>nJ,ParameterReference:()=>n1,ParserRule:()=>n3,ReferenceType:()=>n9,RegexToken:()=>n6,ReturnType:()=>n8,RuleCall:()=>it,SimpleType:()=>ii,StringLiteral:()=>is,TerminalAlternatives:()=>il,TerminalElement:()=>ic,TerminalGroup:()=>id,TerminalRule:()=>ih,TerminalRuleCall:()=>ig,Type:()=>iv,TypeAttribute:()=>iR,TypeDefinition:()=>ib,UnionType:()=>iC,UnorderedGroup:()=>ik,UntilToken:()=>iN,ValueLiteral:()=>iI,Wildcard:()=>iP,isAbstractElement:()=>r5,isAbstractParserRule:()=>r7,isAbstractRule:()=>ne,isAbstractType:()=>nr,isAction:()=>ni,isAlternatives:()=>ns,isArrayLiteral:()=>nl,isArrayType:()=>nc,isAssignment:()=>nf,isBooleanLiteral:()=>nm,isCharacterRange:()=>ny,isCondition:()=>nT,isConjunction:()=>n$,isCrossReference:()=>nE,isDisjunction:()=>nA,isEndOfFile:()=>nS,isGrammar:()=>nx,isGrammarImport:()=>nw,isGroup:()=>n_,isInferredType:()=>nO,isInfixRule:()=>nL,isInfixRuleOperatorList:()=>nj,isInfixRuleOperators:()=>nG,isInterface:()=>nK,isKeyword:()=>nU,isNamedArgument:()=>nW,isNegatedToken:()=>nH,isNegation:()=>nQ,isNumberLiteral:()=>nX,isParameter:()=>n0,isParameterReference:()=>n2,isParserRule:()=>n4,isReferenceType:()=>n5,isRegexToken:()=>n7,isReturnType:()=>ie,isRuleCall:()=>ir,isSimpleType:()=>ia,isStringLiteral:()=>io,isTerminalAlternatives:()=>iu,isTerminalElement:()=>ip,isTerminalGroup:()=>im,isTerminalRule:()=>iy,isTerminalRuleCall:()=>iT,isType:()=>i$,isTypeAttribute:()=>iE,isTypeDefinition:()=>iA,isUnionType:()=>iS,isUnorderedGroup:()=>ix,isUntilToken:()=>iw,isValueLiteral:()=>i_,isWildcard:()=>iO,reflection:()=>iL});var r4={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},r9={$type:"AbstractElement",cardinality:"cardinality"};function r5(e){return iL.isInstance(e,r9.$type)}tD(r5,"isAbstractElement");var r6={$type:"AbstractParserRule"};function r7(e){return iL.isInstance(e,r6.$type)}tD(r7,"isAbstractParserRule");var r8={$type:"AbstractRule"};function ne(e){return iL.isInstance(e,r8.$type)}tD(ne,"isAbstractRule");var nt={$type:"AbstractType"};function nr(e){return iL.isInstance(e,nt.$type)}tD(nr,"isAbstractType");var nn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function ni(e){return iL.isInstance(e,nn.$type)}tD(ni,"isAction");var na={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function ns(e){return iL.isInstance(e,na.$type)}tD(ns,"isAlternatives");var no={$type:"ArrayLiteral",elements:"elements"};function nl(e){return iL.isInstance(e,no.$type)}tD(nl,"isArrayLiteral");var nu={$type:"ArrayType",elementType:"elementType"};function nc(e){return iL.isInstance(e,nu.$type)}tD(nc,"isArrayType");var np={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function nf(e){return iL.isInstance(e,np.$type)}tD(nf,"isAssignment");var nd={$type:"BooleanLiteral",true:"true"};function nm(e){return iL.isInstance(e,nd.$type)}tD(nm,"isBooleanLiteral");var nh={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function ny(e){return iL.isInstance(e,nh.$type)}tD(ny,"isCharacterRange");var ng={$type:"Condition"};function nT(e){return iL.isInstance(e,ng.$type)}tD(nT,"isCondition");var nv={$type:"Conjunction",left:"left",right:"right"};function n$(e){return iL.isInstance(e,nv.$type)}tD(n$,"isConjunction");var nR={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function nE(e){return iL.isInstance(e,nR.$type)}tD(nE,"isCrossReference");var nb={$type:"Disjunction",left:"left",right:"right"};function nA(e){return iL.isInstance(e,nb.$type)}tD(nA,"isDisjunction");var nC={$type:"EndOfFile",cardinality:"cardinality"};function nS(e){return iL.isInstance(e,nC.$type)}tD(nS,"isEndOfFile");var nk={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function nx(e){return iL.isInstance(e,nk.$type)}tD(nx,"isGrammar");var nN={$type:"GrammarImport",path:"path"};function nw(e){return iL.isInstance(e,nN.$type)}tD(nw,"isGrammarImport");var nI={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function n_(e){return iL.isInstance(e,nI.$type)}tD(n_,"isGroup");var nP={$type:"InferredType",name:"name"};function nO(e){return iL.isInstance(e,nP.$type)}tD(nO,"isInferredType");var nD={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function nL(e){return iL.isInstance(e,nD.$type)}tD(nL,"isInfixRule");var nM={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function nj(e){return iL.isInstance(e,nM.$type)}tD(nj,"isInfixRuleOperatorList");var nF={$type:"InfixRuleOperators",precedences:"precedences"};function nG(e){return iL.isInstance(e,nF.$type)}tD(nG,"isInfixRuleOperators");var nz={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function nK(e){return iL.isInstance(e,nz.$type)}tD(nK,"isInterface");var nq={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function nU(e){return iL.isInstance(e,nq.$type)}tD(nU,"isKeyword");var nB={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function nW(e){return iL.isInstance(e,nB.$type)}tD(nW,"isNamedArgument");var nV={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function nH(e){return iL.isInstance(e,nV.$type)}tD(nH,"isNegatedToken");var nY={$type:"Negation",value:"value"};function nQ(e){return iL.isInstance(e,nY.$type)}tD(nQ,"isNegation");var nZ={$type:"NumberLiteral",value:"value"};function nX(e){return iL.isInstance(e,nZ.$type)}tD(nX,"isNumberLiteral");var nJ={$type:"Parameter",name:"name"};function n0(e){return iL.isInstance(e,nJ.$type)}tD(n0,"isParameter");var n1={$type:"ParameterReference",parameter:"parameter"};function n2(e){return iL.isInstance(e,n1.$type)}tD(n2,"isParameterReference");var n3={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function n4(e){return iL.isInstance(e,n3.$type)}tD(n4,"isParserRule");var n9={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function n5(e){return iL.isInstance(e,n9.$type)}tD(n5,"isReferenceType");var n6={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function n7(e){return iL.isInstance(e,n6.$type)}tD(n7,"isRegexToken");var n8={$type:"ReturnType",name:"name"};function ie(e){return iL.isInstance(e,n8.$type)}tD(ie,"isReturnType");var it={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function ir(e){return iL.isInstance(e,it.$type)}tD(ir,"isRuleCall");var ii={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function ia(e){return iL.isInstance(e,ii.$type)}tD(ia,"isSimpleType");var is={$type:"StringLiteral",value:"value"};function io(e){return iL.isInstance(e,is.$type)}tD(io,"isStringLiteral");var il={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function iu(e){return iL.isInstance(e,il.$type)}tD(iu,"isTerminalAlternatives");var ic={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function ip(e){return iL.isInstance(e,ic.$type)}tD(ip,"isTerminalElement");var id={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function im(e){return iL.isInstance(e,id.$type)}tD(im,"isTerminalGroup");var ih={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function iy(e){return iL.isInstance(e,ih.$type)}tD(iy,"isTerminalRule");var ig={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function iT(e){return iL.isInstance(e,ig.$type)}tD(iT,"isTerminalRuleCall");var iv={$type:"Type",name:"name",type:"type"};function i$(e){return iL.isInstance(e,iv.$type)}tD(i$,"isType");var iR={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function iE(e){return iL.isInstance(e,iR.$type)}tD(iE,"isTypeAttribute");var ib={$type:"TypeDefinition"};function iA(e){return iL.isInstance(e,ib.$type)}tD(iA,"isTypeDefinition");var iC={$type:"UnionType",types:"types"};function iS(e){return iL.isInstance(e,iC.$type)}tD(iS,"isUnionType");var ik={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function ix(e){return iL.isInstance(e,ik.$type)}tD(ix,"isUnorderedGroup");var iN={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function iw(e){return iL.isInstance(e,iN.$type)}tD(iw,"isUntilToken");var iI={$type:"ValueLiteral"};function i_(e){return iL.isInstance(e,iI.$type)}tD(i_,"isValueLiteral");var iP={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function iO(e){return iL.isInstance(e,iP.$type)}tD(iO,"isWildcard");var iD=class extends rI{static{tD(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:r9.$type,properties:{cardinality:{name:r9.cardinality}},superTypes:[]},AbstractParserRule:{name:r6.$type,properties:{},superTypes:[r8.$type,nt.$type]},AbstractRule:{name:r8.$type,properties:{},superTypes:[]},AbstractType:{name:nt.$type,properties:{},superTypes:[]},Action:{name:nn.$type,properties:{cardinality:{name:nn.cardinality},feature:{name:nn.feature},inferredType:{name:nn.inferredType},operator:{name:nn.operator},type:{name:nn.type,referenceType:nt.$type}},superTypes:[r9.$type]},Alternatives:{name:na.$type,properties:{cardinality:{name:na.cardinality},elements:{name:na.elements,defaultValue:[]}},superTypes:[r9.$type]},ArrayLiteral:{name:no.$type,properties:{elements:{name:no.elements,defaultValue:[]}},superTypes:[iI.$type]},ArrayType:{name:nu.$type,properties:{elementType:{name:nu.elementType}},superTypes:[ib.$type]},Assignment:{name:np.$type,properties:{cardinality:{name:np.cardinality},feature:{name:np.feature},operator:{name:np.operator},predicate:{name:np.predicate},terminal:{name:np.terminal}},superTypes:[r9.$type]},BooleanLiteral:{name:nd.$type,properties:{true:{name:nd.true,defaultValue:!1}},superTypes:[ng.$type,iI.$type]},CharacterRange:{name:nh.$type,properties:{cardinality:{name:nh.cardinality},left:{name:nh.left},lookahead:{name:nh.lookahead},parenthesized:{name:nh.parenthesized,defaultValue:!1},right:{name:nh.right}},superTypes:[ic.$type]},Condition:{name:ng.$type,properties:{},superTypes:[]},Conjunction:{name:nv.$type,properties:{left:{name:nv.left},right:{name:nv.right}},superTypes:[ng.$type]},CrossReference:{name:nR.$type,properties:{cardinality:{name:nR.cardinality},deprecatedSyntax:{name:nR.deprecatedSyntax,defaultValue:!1},isMulti:{name:nR.isMulti,defaultValue:!1},terminal:{name:nR.terminal},type:{name:nR.type,referenceType:nt.$type}},superTypes:[r9.$type]},Disjunction:{name:nb.$type,properties:{left:{name:nb.left},right:{name:nb.right}},superTypes:[ng.$type]},EndOfFile:{name:nC.$type,properties:{cardinality:{name:nC.cardinality}},superTypes:[r9.$type]},Grammar:{name:nk.$type,properties:{imports:{name:nk.imports,defaultValue:[]},interfaces:{name:nk.interfaces,defaultValue:[]},isDeclared:{name:nk.isDeclared,defaultValue:!1},name:{name:nk.name},rules:{name:nk.rules,defaultValue:[]},types:{name:nk.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:nN.$type,properties:{path:{name:nN.path}},superTypes:[]},Group:{name:nI.$type,properties:{cardinality:{name:nI.cardinality},elements:{name:nI.elements,defaultValue:[]},guardCondition:{name:nI.guardCondition},predicate:{name:nI.predicate}},superTypes:[r9.$type]},InferredType:{name:nP.$type,properties:{name:{name:nP.name}},superTypes:[nt.$type]},InfixRule:{name:nD.$type,properties:{call:{name:nD.call},dataType:{name:nD.dataType},inferredType:{name:nD.inferredType},name:{name:nD.name},operators:{name:nD.operators},parameters:{name:nD.parameters,defaultValue:[]},returnType:{name:nD.returnType,referenceType:nt.$type}},superTypes:[r6.$type]},InfixRuleOperatorList:{name:nM.$type,properties:{associativity:{name:nM.associativity},operators:{name:nM.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:nF.$type,properties:{precedences:{name:nF.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:nz.$type,properties:{attributes:{name:nz.attributes,defaultValue:[]},name:{name:nz.name},superTypes:{name:nz.superTypes,defaultValue:[],referenceType:nt.$type}},superTypes:[nt.$type]},Keyword:{name:nq.$type,properties:{cardinality:{name:nq.cardinality},predicate:{name:nq.predicate},value:{name:nq.value}},superTypes:[r9.$type]},NamedArgument:{name:nB.$type,properties:{calledByName:{name:nB.calledByName,defaultValue:!1},parameter:{name:nB.parameter,referenceType:nJ.$type},value:{name:nB.value}},superTypes:[]},NegatedToken:{name:nV.$type,properties:{cardinality:{name:nV.cardinality},lookahead:{name:nV.lookahead},parenthesized:{name:nV.parenthesized,defaultValue:!1},terminal:{name:nV.terminal}},superTypes:[ic.$type]},Negation:{name:nY.$type,properties:{value:{name:nY.value}},superTypes:[ng.$type]},NumberLiteral:{name:nZ.$type,properties:{value:{name:nZ.value}},superTypes:[iI.$type]},Parameter:{name:nJ.$type,properties:{name:{name:nJ.name}},superTypes:[]},ParameterReference:{name:n1.$type,properties:{parameter:{name:n1.parameter,referenceType:nJ.$type}},superTypes:[ng.$type]},ParserRule:{name:n3.$type,properties:{dataType:{name:n3.dataType},definition:{name:n3.definition},entry:{name:n3.entry,defaultValue:!1},fragment:{name:n3.fragment,defaultValue:!1},inferredType:{name:n3.inferredType},name:{name:n3.name},parameters:{name:n3.parameters,defaultValue:[]},returnType:{name:n3.returnType,referenceType:nt.$type}},superTypes:[r6.$type]},ReferenceType:{name:n9.$type,properties:{isMulti:{name:n9.isMulti,defaultValue:!1},referenceType:{name:n9.referenceType}},superTypes:[ib.$type]},RegexToken:{name:n6.$type,properties:{cardinality:{name:n6.cardinality},lookahead:{name:n6.lookahead},parenthesized:{name:n6.parenthesized,defaultValue:!1},regex:{name:n6.regex}},superTypes:[ic.$type]},ReturnType:{name:n8.$type,properties:{name:{name:n8.name}},superTypes:[]},RuleCall:{name:it.$type,properties:{arguments:{name:it.arguments,defaultValue:[]},cardinality:{name:it.cardinality},predicate:{name:it.predicate},rule:{name:it.rule,referenceType:r8.$type}},superTypes:[r9.$type]},SimpleType:{name:ii.$type,properties:{primitiveType:{name:ii.primitiveType},stringType:{name:ii.stringType},typeRef:{name:ii.typeRef,referenceType:nt.$type}},superTypes:[ib.$type]},StringLiteral:{name:is.$type,properties:{value:{name:is.value}},superTypes:[iI.$type]},TerminalAlternatives:{name:il.$type,properties:{cardinality:{name:il.cardinality},elements:{name:il.elements,defaultValue:[]},lookahead:{name:il.lookahead},parenthesized:{name:il.parenthesized,defaultValue:!1}},superTypes:[ic.$type]},TerminalElement:{name:ic.$type,properties:{cardinality:{name:ic.cardinality},lookahead:{name:ic.lookahead},parenthesized:{name:ic.parenthesized,defaultValue:!1}},superTypes:[r9.$type]},TerminalGroup:{name:id.$type,properties:{cardinality:{name:id.cardinality},elements:{name:id.elements,defaultValue:[]},lookahead:{name:id.lookahead},parenthesized:{name:id.parenthesized,defaultValue:!1}},superTypes:[ic.$type]},TerminalRule:{name:ih.$type,properties:{definition:{name:ih.definition},fragment:{name:ih.fragment,defaultValue:!1},hidden:{name:ih.hidden,defaultValue:!1},name:{name:ih.name},type:{name:ih.type}},superTypes:[r8.$type]},TerminalRuleCall:{name:ig.$type,properties:{cardinality:{name:ig.cardinality},lookahead:{name:ig.lookahead},parenthesized:{name:ig.parenthesized,defaultValue:!1},rule:{name:ig.rule,referenceType:ih.$type}},superTypes:[ic.$type]},Type:{name:iv.$type,properties:{name:{name:iv.name},type:{name:iv.type}},superTypes:[nt.$type]},TypeAttribute:{name:iR.$type,properties:{defaultValue:{name:iR.defaultValue},isOptional:{name:iR.isOptional,defaultValue:!1},name:{name:iR.name},type:{name:iR.type}},superTypes:[]},TypeDefinition:{name:ib.$type,properties:{},superTypes:[]},UnionType:{name:iC.$type,properties:{types:{name:iC.types,defaultValue:[]}},superTypes:[ib.$type]},UnorderedGroup:{name:ik.$type,properties:{cardinality:{name:ik.cardinality},elements:{name:ik.elements,defaultValue:[]}},superTypes:[r9.$type]},UntilToken:{name:iN.$type,properties:{cardinality:{name:iN.cardinality},lookahead:{name:iN.lookahead},parenthesized:{name:iN.parenthesized,defaultValue:!1},terminal:{name:iN.terminal}},superTypes:[ic.$type]},ValueLiteral:{name:iI.$type,properties:{},superTypes:[]},Wildcard:{name:iP.$type,properties:{cardinality:{name:iP.cardinality},lookahead:{name:iP.lookahead},parenthesized:{name:iP.parenthesized,defaultValue:!1}},superTypes:[ic.$type]}}}},iL=new iD;function iM(e){let t=e,r=!1;for(;t;){let e=rU(t.grammarSource,n4);if(e&&e.dataType)t=t.container,r=!0;else if(r)return t;else break}}function ij(e){return new rz(e,e=>r_(e)?e.content:[],{includeRoot:!0})}function iF(e){return ij(e).filter(rP)}function iG(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}function iz(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function iK(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}function iq(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return eH.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return eH.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return r&&n?eH.Inside:r?eH.OverlapBack:n?eH.OverlapFront:eH.Outside}function iU(e,t){return iq(e,t)>eH.After}tD(iM,"getDatatypeNode"),tD(ij,"streamCst"),tD(iF,"flattenCst"),tD(iG,"isChildNode"),tD(iz,"tokenToRange"),tD(iK,"toDocumentSegment"),(a=eH||(eH={}))[a.Before=0]="Before",a[a.After=1]="After",a[a.OverlapFront=2]="OverlapFront",a[a.OverlapBack=3]="OverlapBack",a[a.Inside=4]="Inside",a[a.Outside=5]="Outside",tD(iq,"compareRange"),tD(iU,"inRange");var iB=/^[\w\p{L}]$/u;function iW(e,t,r=iB){if(e){if(t>0){let n=t-e.offset,i=e.text.charAt(n);!r.test(i)&&t--}return iY(e,t)}}function iV(e,t){if(e){let r=iX(e,!0);if(r&&iH(r,t))return r;if(rO(e)){let r=e.content.findIndex(e=>!e.hidden);for(let n=r-1;n>=0;n--){let r=e.content[n];if(iH(r,t))return r}}}}function iH(e,t){return rP(e)&&t.includes(e.tokenType.name)}function iY(e,t){if(rP(e))return e;if(r_(e)){let r=iZ(e,t,!1);if(r)return iY(r,t)}}function iQ(e,t){if(rP(e))return e;if(r_(e)){let r=iZ(e,t,!0);if(r)return iQ(r,t)}}function iZ(e,t,r){let n,i=0,a=e.content.length-1;for(;i<=a;){let s=Math.floor((i+a)/2),o=e.content[s];if(o.offset<=t&&o.end>t)return o;o.end<=t?(n=r?o:void 0,i=s+1):a=s-1}return n}function iX(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let e=r.content[n];if(t||!e.hidden)return e}e=r}}function iJ(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e),i=r.content.length-1;for(;n<i;){n++;let e=r.content[n];if(t||!e.hidden)return e}e=r}}function i0(e){let t;if(0===e.range.start.character)return e;let r=e.range.start.line,n=e;for(;e.container;){let i=e.container,a=t??i.content.indexOf(e);if(0===a?(e=i,t=void 0):(t=a-1,e=i.content[t]),e.range.start.line!==r)break;n=e}return n}function i1(e,t){let r=i2(e,t);return r?r.parent.content.slice(r.a+1,r.b):[]}function i2(e,t){let r,n=i3(e),i=i3(t);for(let e=0;e<n.length&&e<i.length;e++){let t=n[e],a=i[e];if(t.parent===a.parent)r={parent:t.parent,a:t.index,b:a.index};else break}return r}function i3(e){let t=[];for(;e.container;){let r=e.container,n=r.content.indexOf(e);t.push({parent:r,index:n}),e=r}return t.reverse()}tD(iW,"findDeclarationNodeAtOffset"),tD(iV,"findCommentNode"),tD(iH,"isCommentNode"),tD(iY,"findLeafNodeAtOffset"),tD(iQ,"findLeafNodeBeforeOffset"),tD(iZ,"binarySearch"),tD(iX,"getPreviousNode"),tD(iJ,"getNextNode"),tD(i0,"getStartlineNode"),tD(i1,"getInteriorNodes"),tD(i2,"getCommonParent"),tD(i3,"getParentChain");var i4={};tM(i4,{findAssignment:()=>aL,findNameAssignment:()=>aM,findNodeForKeyword:()=>aO,findNodeForProperty:()=>aI,findNodesForKeyword:()=>aP,findNodesForKeywordInternal:()=>aD,findNodesForProperty:()=>aw,getActionAtElement:()=>aF,getActionType:()=>aY,getAllReachableRules:()=>aC,getAllRulesUsedForCrossReferences:()=>ak,getCrossReferenceTerminal:()=>ax,getEntryRule:()=>ab,getExplicitRuleType:()=>aV,getHiddenRules:()=>aA,getRuleType:()=>aZ,getRuleTypeName:()=>aQ,getTypeName:()=>aH,isArrayCardinality:()=>az,isArrayOperator:()=>aK,isCommentTerminal:()=>aN,isDataType:()=>aB,isDataTypeRule:()=>aq,isOptionalCardinality:()=>aG,terminalRegex:()=>aX});var i9=class extends Error{static{tD(this,"ErrorWithLocation")}constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function i5(e,t="Error: Got unexpected value."){throw Error(t)}function i6(e,t="Error: Condition is violated."){if(!e)throw Error(t)}tD(i5,"assertUnreachable"),tD(i6,"assertCondition");var i7={};function i8(e){return e.charCodeAt(0)}function ae(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function at(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function ar(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function an(){throw Error("Internal Error - Should never get here!")}function ai(e){return"Character"===e.type}tM(i7,{NEWLINE_REGEXP:()=>ad,escapeRegExp:()=>a$,getTerminalParts:()=>ay,isMultilineComment:()=>ag,isWhitespace:()=>av,partialMatches:()=>aR,partialRegExp:()=>aE,whitespaceCharacters:()=>aT}),tD(i8,"cc"),tD(ae,"insertToSet"),tD(at,"addFlag"),tD(ar,"ASSERT_EXISTS"),tD(an,"ASSERT_NEVER_REACH_HERE"),tD(ai,"isCharacter");var aa=[];for(let e=i8("0");e<=i8("9");e++)aa.push(e);var as=[i8("_")].concat(aa);for(let e=i8("a");e<=i8("z");e++)as.push(e);for(let e=i8("A");e<=i8("Z");e++)as.push(e);var ao=[i8(" "),i8("\f"),i8("\n"),i8("\r"),i8(" "),i8("\v"),i8(" "),i8("\xa0"),i8("\u1680"),i8("\u2000"),i8("\u2001"),i8("\u2002"),i8("\u2003"),i8("\u2004"),i8("\u2005"),i8("\u2006"),i8("\u2007"),i8("\u2008"),i8("\u2009"),i8("\u200A"),i8("\u2028"),i8("\u2029"),i8("\u202F"),i8("\u205F"),i8("\u3000"),i8("\uFEFF")],al=/[0-9a-fA-F]/,au=/[0-9]/,ac=/[1-9]/,ap=class{static{tD(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":at(r,"global");break;case"i":at(r,"ignoreCase");break;case"m":at(r,"multiLine");break;case"u":at(r,"unicode");break;case"y":at(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}}ar(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return an()}quantifier(e=!1){let t,r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;ar(t)}if((!0!==e||void 0!==t)&&ar(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),ar(e))?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):an()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[i8("\n"),i8("\r"),i8("\u2028"),i8("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=aa;break;case"D":e=aa,t=!0;break;case"s":e=ao;break;case"S":e=ao,t=!0;break;case"w":e=as;break;case"W":e=as,t=!0}return ar(e)?{type:"Set",value:e,complement:t}:an()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=i8("\f");break;case"n":e=i8("\n");break;case"r":e=i8("\r");break;case"t":e=i8(" ");break;case"v":e=i8("\v")}return ar(e)?{type:"Character",value:e}:an()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:i8("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:i8(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:i8(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,ai(t)&&this.isRangeDash()){this.consumeChar("-");let r=this.classAtom();if(r.type,ai(r)){if(r.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:r.value})}else ae(t.value,e),e.push(i8("-")),ae(r.value,e)}else ae(t.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:i8("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),"?"===this.peekChar(0)?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let t=this.disjunction();this.consumeChar(")");let r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(!1===ac.test(e))throw Error("Expecting a positive integer");for(;au.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===au.test(e))throw Error("Expecting an integer");for(;au.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:i8(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return au.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2)||"<"===this.peekChar(2)&&("="===this.peekChar(3)||"!"===this.peekChar(3)));default:return!1}}isQuantifier(){let e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let r=0;r<e;r++){let e=this.popChar();if(!1===al.test(e))throw Error("Expecting a HexDecimal digits");t+=e}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}},af=class{static{tD(this,"BaseRegExpVisitor")}visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},ad=/\r?\n/gm,am=new ap,ah=new class extends af{static{tD(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=a$(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=new RegExp(this.regex.substring(e.loc.begin,e.loc.end));this.multiline=!!"\n".match(t)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}};function ay(e){try{"string"!=typeof e&&(e=e.source),e=`/${e}/`;let t=am.pattern(e),r=[];for(let n of t.value.value)ah.reset(e),ah.visit(n),r.push({start:ah.startRegexp,end:ah.endRegex});return r}catch{return[]}}function ag(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),ah.reset(e),ah.visit(am.pattern(e)),ah.multiline}catch{return!1}}tD(ay,"getTerminalParts"),tD(ag,"isMultilineComment");var aT="\f\n\r \v \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF".split("");function av(e){let t="string"==typeof e?new RegExp(e):e;return aT.some(e=>t.test(e))}function a$(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function aR(e,t){let r=aE(e),n=t.match(r);return!!n&&n[0].length>0}function aE(e){"string"==typeof e&&(e=new RegExp(e));let t=e,r=e.source,n=0;function i(){let e="",a;function s(t){e+=r.substr(n,t),n+=t}function o(t){e+="(?:"+r.substr(n,t)+"|$)",n+=t}for(tD(s,"appendRaw"),tD(o,"appendOptional");n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":o(3);break;case"x":o(4);break;case"u":o(t.unicode?"{"===r[n+2]?r.indexOf("}",n)-n+1:6:2);break;case"p":case"P":o(t.unicode?r.indexOf("}",n)-n+1:2);break;case"k":o(r.indexOf(">",n)-n+1);break;default:o(2)}break;case"[":(a=/\[(?:\\.|.)*?\]/g).lastIndex=n,o((a=a.exec(r)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":(a=/\{\d+,?\d*\}/g).lastIndex=n,(a=a.exec(r))?s(a[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":e+="(?:",n+=3,e+=i()+"|$)";break;case"=":e+="(?=",n+=3,e+=i()+")";break;case"!":a=n,n+=3,i(),e+=r.substr(a,n-a);break;case"<":switch(r[n+3]){case"=":case"!":a=n,n+=4,i(),e+=r.substr(a,n-a);break;default:s(r.indexOf(">",n)-n+1),e+=i()+"|$)"}}else s(1),e+=i()+"|$)";break;case")":return++n,e;default:o(1)}return e}return tD(i,"process"),new RegExp(i(),e.flags)}function ab(e){return e.rules.find(e=>n4(e)&&e.entry)}function aA(e){return e.rules.filter(e=>iy(e)&&e.hidden)}function aC(e,t){let r=new Set,n=ab(e);if(!n)return new Set(e.rules);for(let i of[n].concat(aA(e)))aS(i,r,t);let i=new Set;for(let t of e.rules)(r.has(t.name)||iy(t)&&t.hidden)&&i.add(t);return i}function aS(e,t,r){t.add(e.name),rQ(e).forEach(e=>{if(ir(e)||r&&iT(e)){let n=e.rule.ref;n&&!t.has(n.name)&&aS(n,t,r)}})}function ak(e){let t=new Set;return rQ(e).forEach(e=>{nE(e)&&(n4(e.type.ref)&&t.add(e.type.ref),nO(e.type.ref)&&n4(e.type.ref.$container)&&t.add(e.type.ref.$container))}),t}function ax(e){if(e.terminal)return e.terminal;if(e.type.ref){let t=aM(e.type.ref);return t?.terminal}}function aN(e){return e.hidden&&!av(aX(e))}function aw(e,t){return e&&t?a_(e,t,e.astNode,!0):[]}function aI(e,t,r){if(!e||!t)return;let n=a_(e,t,e.astNode,!0);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function a_(e,t,r,n){if(!n){let r=rU(e.grammarSource,nf);if(r&&r.feature===t)return[e]}return r_(e)&&e.astNode===r?e.content.flatMap(e=>a_(e,t,r,!1)):[]}function aP(e,t){return e?aD(e,t,e?.astNode):[]}function aO(e,t,r){if(!e)return;let n=aD(e,t,e?.astNode);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function aD(e,t,r){let n;if(e.astNode!==r)return[];if(nU(e.grammarSource)&&e.grammarSource.value===t)return[e];let i=ij(e).iterator(),a=[];do if(!(n=i.next()).done){let e=n.value;e.astNode===r?nU(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):i.prune()}while(!n.done)return a}function aL(e){let t=e.astNode;for(;t===e.container?.astNode;){let t=rU(e.grammarSource,nf);if(t)return t;e=e.container}}function aM(e){let t=e;return nO(t)&&(ni(t.$container)?t=t.$container.$container:r7(t.$container)?t=t.$container:i5(t.$container)),aj(e,t,new Map)}function aj(e,t,r){function n(t,n){let i;return rU(t,nf)||(i=aj(n,n,r)),r.set(e,i),i}if(tD(n,"go"),r.has(e))return r.get(e);for(let i of(r.set(e,void 0),rQ(t)))if(nf(i)&&"name"===i.feature.toLowerCase())return r.set(e,i),i;else if(ir(i)&&n4(i.rule.ref))return n(i,i.rule.ref);else if(ia(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}function aF(e){let t=e.$container;if(n_(t)){let r=t.elements,n=r.indexOf(e);for(let e=n-1;e>=0;e--){let t=r[e];if(ni(t))return t;{let t=rQ(r[e]).find(ni);if(t)return t}}}return r5(t)?aF(t):void 0}function aG(e,t){return"?"===e||"*"===e||n_(t)&&!!t.guardCondition}function az(e){return"*"===e||"+"===e}function aK(e){return"+="===e}function aq(e){return aU(e,new Set)}function aU(e,t){if(t.has(e))return!0;for(let r of(t.add(e),rQ(e)))if(ir(r)){if(!r.rule.ref||n4(r.rule.ref)&&!aU(r.rule.ref,t)||nL(r.rule.ref))return!1}else if(nf(r))return!1;else if(ni(r))return!1;return!!e.definition}function aB(e){return aW(e.type,new Set)}function aW(e,t){if(t.has(e))return!0;if(t.add(e),nc(e)||n5(e))return!1;if(iS(e))return e.types.every(e=>aW(e,t));{if(!ia(e))return!1;if(void 0!==e.primitiveType||void 0!==e.stringType)return!0;if(void 0===e.typeRef)return!1;let r=e.typeRef.ref;return!!i$(r)&&aW(r.type,t)}}function aV(e){if(!iy(e)){if(e.inferredType)return e.inferredType.name;else if(e.dataType)return e.dataType;else if(e.returnType){let t=e.returnType.ref;if(t)return t.name}}}function aH(e){if(r7(e))return n4(e)&&aq(e)?e.name:aV(e)??e.name;if(nK(e)||i$(e)||ie(e))return e.name;if(ni(e)){let t=aY(e);if(t)return t}else if(nO(e))return e.name;throw Error("Cannot get name of Unknown Type")}function aY(e){return e.inferredType?e.inferredType.name:e.type?.ref?aH(e.type.ref):void 0}function aQ(e){return iy(e)?e.type?.name??"string":n4(e)&&aq(e)?e.name:aV(e)??e.name}function aZ(e){return iy(e)?e.type?.name??"string":aV(e)??e.name}function aX(e){let t={s:!1,i:!1,u:!1};return new RegExp(a0(e.definition,t),Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(""))}tD(av,"isWhitespace"),tD(a$,"escapeRegExp"),tD(aR,"partialMatches"),tD(aE,"partialRegExp"),tD(ab,"getEntryRule"),tD(aA,"getHiddenRules"),tD(aC,"getAllReachableRules"),tD(aS,"ruleDfs"),tD(ak,"getAllRulesUsedForCrossReferences"),tD(ax,"getCrossReferenceTerminal"),tD(aN,"isCommentTerminal"),tD(aw,"findNodesForProperty"),tD(aI,"findNodeForProperty"),tD(a_,"findNodesForPropertyInternal"),tD(aP,"findNodesForKeyword"),tD(aO,"findNodeForKeyword"),tD(aD,"findNodesForKeywordInternal"),tD(aL,"findAssignment"),tD(aM,"findNameAssignment"),tD(aj,"findNameAssignmentInternal"),tD(aF,"getActionAtElement"),tD(aG,"isOptionalCardinality"),tD(az,"isArrayCardinality"),tD(aK,"isArrayOperator"),tD(aq,"isDataTypeRule"),tD(aU,"isDataTypeRuleInternal"),tD(aB,"isDataType"),tD(aW,"isDataTypeInternal"),tD(aV,"getExplicitRuleType"),tD(aH,"getTypeName"),tD(aY,"getActionType"),tD(aQ,"getRuleTypeName"),tD(aZ,"getRuleType"),tD(aX,"terminalRegex");var aJ=/[\s\S]/.source;function a0(e,t){if(iu(e))return a1(e);if(im(e))return a2(e);if(ny(e))return a9(e);if(iT(e)){let t=e.rule.ref;if(!t)throw Error("Missing rule reference.");return a6(a0(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}if(nH(e))return a4(e);else if(iw(e))return a3(e);else if(n7(e)){let r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),i=e.regex.substring(r+1);return t&&(t.i=i.includes("i"),t.s=i.includes("s"),t.u=i.includes("u")),a6(n,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}else if(iO(e))return a6(aJ,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});else throw Error(`Invalid terminal element: ${e?.$type}, ${e?.$cstNode?.text}`)}function a1(e){return a6(e.elements.map(e=>a0(e)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a2(e){return a6(e.elements.map(e=>a0(e)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a3(e){return a6(`${aJ}*?${a0(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function a4(e){return a6(`(?!${a0(e.terminal)})${aJ}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function a9(e){return e.right?a6(`[${a5(e.left)}-${a5(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):a6(a5(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function a5(e){return a$(e.value)}function a6(e,t){if(t.parenthesized||t.lookahead||!1!==t.wrap){let r=t.lookahead??(t.parenthesized?"":"?:");e=`(${r}${e})`}return t.cardinality?`${e}${t.cardinality}`:e}function a7(e){let t=[];for(let r of e.Grammar.rules)iy(r)&&aN(r)&&ag(aX(r))&&t.push(r.name);return{multilineCommentRules:t,nameRegexp:iB}}tD(a0,"abstractElementToRegex"),tD(a1,"terminalAlternativesToRegex"),tD(a2,"terminalGroupToRegex"),tD(a3,"untilTokenToRegex"),tD(a4,"negateTokenToRegex"),tD(a9,"characterRangeToRegex"),tD(a5,"keywordToRegex"),tD(a6,"withCardinality"),tD(a7,"createGrammarConfig");var a8="object"==typeof global&&global&&global.Object===Object&&global,se="object"==typeof self&&self&&self.Object===Object&&self,st=a8||se||Function("return this")(),sr=st.Symbol,sn=Object.prototype,si=sn.hasOwnProperty,sa=sn.toString,ss=sr?sr.toStringTag:void 0;function so(e){var t=si.call(e,ss),r=e[ss];try{e[ss]=void 0;var n=!0}catch(e){}var i=sa.call(e);return n&&(t?e[ss]=r:delete e[ss]),i}tD(so,"getRawTag");var sl=Object.prototype.toString;function su(e){return sl.call(e)}tD(su,"objectToString");var sc=sr?sr.toStringTag:void 0;function sp(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":sc&&sc in Object(e)?so(e):su(e)}function sf(e){return null!=e&&"object"==typeof e}function sd(e){return"symbol"==typeof e||sf(e)&&"[object Symbol]"==sp(e)}function sm(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}tD(sp,"baseGetTag"),tD(sf,"isObjectLike"),tD(sd,"isSymbol"),tD(sm,"arrayMap");var sh=Array.isArray,sy=1/0,sg=sr?sr.prototype:void 0,sT=sg?sg.toString:void 0;function sv(e){if("string"==typeof e)return e;if(sh(e))return sm(e,sv)+"";if(sd(e))return sT?sT.call(e):"";var t=e+"";return"0"==t&&1/e==-sy?"-0":t}tD(sv,"baseToString");var s$=/\s/;function sR(e){for(var t=e.length;t--&&s$.test(e.charAt(t)););return t}tD(sR,"trimmedEndIndex");var sE=/^\s+/;function sb(e){return e?e.slice(0,sR(e)+1).replace(sE,""):e}function sA(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}tD(sb,"baseTrim"),tD(sA,"isObject");var sC=0/0,sS=/^[-+]0x[0-9a-f]+$/i,sk=/^0b[01]+$/i,sx=/^0o[0-7]+$/i,sN=parseInt;function sw(e){if("number"==typeof e)return e;if(sd(e))return sC;if(sA(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=sA(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=sb(e);var r=sk.test(e);return r||sx.test(e)?sN(e.slice(2),r?2:8):sS.test(e)?sC:+e}tD(sw,"toNumber");var sI=1/0;function s_(e){return e?(e=sw(e))===sI||e===-sI?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}function sP(e){var t=s_(e),r=t%1;return t==t?r?t-r:t:0}function sO(e){return e}function sD(e){if(!sA(e))return!1;var t=sp(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}tD(s_,"toFinite"),tD(sP,"toInteger"),tD(sO,"identity"),tD(sD,"isFunction");var sL=st["__core-js_shared__"],sM=(s=/[^.]+$/.exec(sL&&sL.keys&&sL.keys.IE_PROTO||""))?"Symbol(src)_1."+s:"";function sj(e){return!!sM&&sM in e}tD(sj,"isMasked");var sF=Function.prototype.toString;function sG(e){if(null!=e){try{return sF.call(e)}catch(e){}try{return e+""}catch(e){}}return""}tD(sG,"toSource");var sz=/^\[object .+?Constructor\]$/,sK=Object.prototype,sq=Function.prototype.toString,sU=sK.hasOwnProperty,sB=RegExp("^"+sq.call(sU).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sW(e){return!(!sA(e)||sj(e))&&(sD(e)?sB:sz).test(sG(e))}function sV(e,t){return null==e?void 0:e[t]}function sH(e,t){var r=sV(e,t);return sW(r)?r:void 0}tD(sW,"baseIsNative"),tD(sV,"getValue"),tD(sH,"getNative");var sY=sH(st,"WeakMap"),sQ=Object.create,sZ=function(){function e(){}return tD(e,"object"),function(t){if(!sA(t))return{};if(sQ)return sQ(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function sX(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function sJ(){}function s0(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}tD(sX,"apply"),tD(sJ,"noop"),tD(s0,"copyArray");var s1=Date.now;function s2(e){var t=0,r=0;return function(){var n=s1(),i=16-(n-r);if(r=n,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function s3(e){return function(){return e}}tD(s2,"shortOut"),tD(s3,"constant");var s4=function(){try{var e=sH(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),s9=s2(s4?function(e,t){return s4(e,"toString",{configurable:!0,enumerable:!1,value:s3(t),writable:!0})}:sO);function s5(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function s6(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a<i;)if(t(e[a],a,e))return a;return -1}function s7(e){return e!=e}function s8(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return -1}function oe(e,t,r){return t==t?s8(e,t,r):s6(e,s7,r)}function ot(e,t){return!!(null==e?0:e.length)&&oe(e,t,0)>-1}tD(s5,"arrayEach"),tD(s6,"baseFindIndex"),tD(s7,"baseIsNaN"),tD(s8,"strictIndexOf"),tD(oe,"baseIndexOf"),tD(ot,"arrayIncludes");var or=/^(?:0|[1-9]\d*)$/;function on(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&or.test(e))&&e>-1&&e%1==0&&e<t}function oi(e,t,r){"__proto__"==t&&s4?s4(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function oa(e,t){return e===t||e!=e&&t!=t}tD(on,"isIndex"),tD(oi,"baseAssignValue"),tD(oa,"eq");var os=Object.prototype.hasOwnProperty;function oo(e,t,r){var n=e[t];os.call(e,t)&&oa(n,r)&&(void 0!==r||t in e)||oi(e,t,r)}function ol(e,t,r,n){var i=!r;r||(r={});for(var a=-1,s=t.length;++a<s;){var o=t[a],l=n?n(r[o],e[o],o,r,e):void 0;void 0===l&&(l=e[o]),i?oi(r,o,l):oo(r,o,l)}return r}tD(oo,"assignValue"),tD(ol,"copyObject");var ou=Math.max;function oc(e,t,r){return t=ou(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=ou(n.length-t,0),s=Array(a);++i<a;)s[i]=n[t+i];i=-1;for(var o=Array(t+1);++i<t;)o[i]=n[i];return o[t]=r(s),sX(e,this,o)}}function op(e,t){return s9(oc(e,t,sO),e+"")}function of(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}function od(e){return null!=e&&of(e.length)&&!sD(e)}function om(e,t,r){if(!sA(r))return!1;var n=typeof t;return("number"==n?!!(od(r)&&on(t,r.length)):"string"==n&&t in r)&&oa(r[t],e)}function oh(e){return op(function(t,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,s&&om(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),t=Object(t);++n<i;){var o=r[n];o&&e(t,o,n,a)}return t})}tD(oc,"overRest"),tD(op,"baseRest"),tD(of,"isLength"),tD(od,"isArrayLike"),tD(om,"isIterateeCall"),tD(oh,"createAssigner");var oy=Object.prototype;function og(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||oy)}function oT(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function ov(e){return sf(e)&&"[object Arguments]"==sp(e)}tD(og,"isPrototype"),tD(oT,"baseTimes"),tD(ov,"baseIsArguments");var o$=Object.prototype,oR=o$.hasOwnProperty,oE=o$.propertyIsEnumerable,ob=ov(function(){return arguments}())?ov:function(e){return sf(e)&&oR.call(e,"callee")&&!oE.call(e,"callee")};function oA(){return!1}tD(oA,"stubFalse");var oC="object"==typeof exports&&exports&&!exports.nodeType&&exports,oS=oC&&"object"==typeof module&&module&&!module.nodeType&&module,ok=oS&&oS.exports===oC?st.Buffer:void 0,ox=(ok?ok.isBuffer:void 0)||oA,oN={};function ow(e){return sf(e)&&of(e.length)&&!!oN[sp(e)]}function oI(e){return function(t){return e(t)}}oN["[object Float32Array]"]=oN["[object Float64Array]"]=oN["[object Int8Array]"]=oN["[object Int16Array]"]=oN["[object Int32Array]"]=oN["[object Uint8Array]"]=oN["[object Uint8ClampedArray]"]=oN["[object Uint16Array]"]=oN["[object Uint32Array]"]=!0,oN["[object Arguments]"]=oN["[object Array]"]=oN["[object ArrayBuffer]"]=oN["[object Boolean]"]=oN["[object DataView]"]=oN["[object Date]"]=oN["[object Error]"]=oN["[object Function]"]=oN["[object Map]"]=oN["[object Number]"]=oN["[object Object]"]=oN["[object RegExp]"]=oN["[object Set]"]=oN["[object String]"]=oN["[object WeakMap]"]=!1,tD(ow,"baseIsTypedArray"),tD(oI,"baseUnary");var o_="object"==typeof exports&&exports&&!exports.nodeType&&exports,oP=o_&&"object"==typeof module&&module&&!module.nodeType&&module,oO=oP&&oP.exports===o_&&a8.process,oD=function(){try{var e=oP&&oP.require&&oP.require("util").types;if(e)return e;return oO&&oO.binding&&oO.binding("util")}catch(e){}}(),oL=oD&&oD.isTypedArray,oM=oL?oI(oL):ow,oj=Object.prototype.hasOwnProperty;function oF(e,t){var r=sh(e),n=!r&&ob(e),i=!r&&!n&&ox(e),a=!r&&!n&&!i&&oM(e),s=r||n||i||a,o=s?oT(e.length,String):[],l=o.length;for(var u in e)(t||oj.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||on(u,l)))&&o.push(u);return o}function oG(e,t){return function(r){return e(t(r))}}tD(oF,"arrayLikeKeys"),tD(oG,"overArg");var oz=oG(Object.keys,Object),oK=Object.prototype.hasOwnProperty;function oq(e){if(!og(e))return oz(e);var t=[];for(var r in Object(e))oK.call(e,r)&&"constructor"!=r&&t.push(r);return t}function oU(e){return od(e)?oF(e):oq(e)}tD(oq,"baseKeys"),tD(oU,"keys");var oB=Object.prototype.hasOwnProperty,oW=oh(function(e,t){if(og(t)||od(t))return void ol(t,oU(t),e);for(var r in t)oB.call(t,r)&&oo(e,r,t[r])});function oV(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}tD(oV,"nativeKeysIn");var oH=Object.prototype.hasOwnProperty;function oY(e){if(!sA(e))return oV(e);var t=og(e),r=[];for(var n in e)"constructor"==n&&(t||!oH.call(e,n))||r.push(n);return r}function oQ(e){return od(e)?oF(e,!0):oY(e)}tD(oY,"baseKeysIn"),tD(oQ,"keysIn");var oZ=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,oX=/^\w*$/;function oJ(e,t){if(sh(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||sd(e))||oX.test(e)||!oZ.test(e)||null!=t&&e in Object(t)}tD(oJ,"isKey");var o0=sH(Object,"create");function o1(){this.__data__=o0?o0(null):{},this.size=0}function o2(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}tD(o1,"hashClear"),tD(o2,"hashDelete");var o3=Object.prototype.hasOwnProperty;function o4(e){var t=this.__data__;if(o0){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o3.call(t,e)?t[e]:void 0}tD(o4,"hashGet");var o9=Object.prototype.hasOwnProperty;function o5(e){var t=this.__data__;return o0?void 0!==t[e]:o9.call(t,e)}function o6(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=o0&&void 0===t?"__lodash_hash_undefined__":t,this}function o7(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function o8(){this.__data__=[],this.size=0}function le(e,t){for(var r=e.length;r--;)if(oa(e[r][0],t))return r;return -1}tD(o5,"hashHas"),tD(o6,"hashSet"),tD(o7,"Hash"),o7.prototype.clear=o1,o7.prototype.delete=o2,o7.prototype.get=o4,o7.prototype.has=o5,o7.prototype.set=o6,tD(o8,"listCacheClear"),tD(le,"assocIndexOf");var lt=Array.prototype.splice;function lr(e){var t=this.__data__,r=le(t,e);return!(r<0)&&(r==t.length-1?t.pop():lt.call(t,r,1),--this.size,!0)}function ln(e){var t=this.__data__,r=le(t,e);return r<0?void 0:t[r][1]}function li(e){return le(this.__data__,e)>-1}function la(e,t){var r=this.__data__,n=le(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function ls(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}tD(lr,"listCacheDelete"),tD(ln,"listCacheGet"),tD(li,"listCacheHas"),tD(la,"listCacheSet"),tD(ls,"ListCache"),ls.prototype.clear=o8,ls.prototype.delete=lr,ls.prototype.get=ln,ls.prototype.has=li,ls.prototype.set=la;var lo=sH(st,"Map");function ll(){this.size=0,this.__data__={hash:new o7,map:new(lo||ls),string:new o7}}function lu(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function lc(e,t){var r=e.__data__;return lu(t)?r["string"==typeof t?"string":"hash"]:r.map}function lp(e){var t=lc(this,e).delete(e);return this.size-=!!t,t}function lf(e){return lc(this,e).get(e)}function ld(e){return lc(this,e).has(e)}function lm(e,t){var r=lc(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this}function lh(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function ly(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=tD(function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(ly.Cache||lh),r}function lg(e){var t=ly(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}tD(ll,"mapCacheClear"),tD(lu,"isKeyable"),tD(lc,"getMapData"),tD(lp,"mapCacheDelete"),tD(lf,"mapCacheGet"),tD(ld,"mapCacheHas"),tD(lm,"mapCacheSet"),tD(lh,"MapCache"),lh.prototype.clear=ll,lh.prototype.delete=lp,lh.prototype.get=lf,lh.prototype.has=ld,lh.prototype.set=lm,tD(ly,"memoize"),ly.Cache=lh,tD(lg,"memoizeCapped");var lT=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,lv=/\\(\\)?/g,l$=lg(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(lT,function(e,r,n,i){t.push(n?i.replace(lv,"$1"):r||e)}),t});function lR(e){return null==e?"":sv(e)}function lE(e,t){return sh(e)?e:oJ(e,t)?[e]:l$(lR(e))}tD(lR,"toString"),tD(lE,"castPath");var lb=1/0;function lA(e){if("string"==typeof e||sd(e))return e;var t=e+"";return"0"==t&&1/e==-lb?"-0":t}function lC(e,t){t=lE(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[lA(t[r++])];return r&&r==n?e:void 0}function lS(e,t,r){var n=null==e?void 0:lC(e,t);return void 0===n?r:n}function lk(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}tD(lA,"toKey"),tD(lC,"baseGet"),tD(lS,"get"),tD(lk,"arrayPush");var lx=sr?sr.isConcatSpreadable:void 0;function lN(e){return sh(e)||ob(e)||!!(lx&&e&&e[lx])}function lw(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=lN),i||(i=[]);++a<s;){var o=e[a];t>0&&r(o)?t>1?lw(o,t-1,r,n,i):lk(i,o):n||(i[i.length]=o)}return i}function lI(e){return(null==e?0:e.length)?lw(e,1):[]}tD(lN,"isFlattenable"),tD(lw,"baseFlatten"),tD(lI,"flatten");var l_=oG(Object.getPrototypeOf,Object);function lP(e,t,r){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var a=Array(i);++n<i;)a[n]=e[n+t];return a}function lO(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function lD(){this.__data__=new ls,this.size=0}function lL(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function lM(e){return this.__data__.get(e)}function lj(e){return this.__data__.has(e)}function lF(e,t){var r=this.__data__;if(r instanceof ls){var n=r.__data__;if(!lo||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new lh(n)}return r.set(e,t),this.size=r.size,this}function lG(e){var t=this.__data__=new ls(e);this.size=t.size}function lz(e,t){return e&&ol(t,oU(t),e)}function lK(e,t){return e&&ol(t,oQ(t),e)}tD(lP,"baseSlice"),tD(lO,"arrayReduce"),tD(lD,"stackClear"),tD(lL,"stackDelete"),tD(lM,"stackGet"),tD(lj,"stackHas"),tD(lF,"stackSet"),tD(lG,"Stack"),lG.prototype.clear=lD,lG.prototype.delete=lL,lG.prototype.get=lM,lG.prototype.has=lj,lG.prototype.set=lF,tD(lz,"baseAssign"),tD(lK,"baseAssignIn");var lq="object"==typeof exports&&exports&&!exports.nodeType&&exports,lU=lq&&"object"==typeof module&&module&&!module.nodeType&&module,lB=lU&&lU.exports===lq?st.Buffer:void 0,lW=lB?lB.allocUnsafe:void 0;function lV(e,t){if(t)return e.slice();var r=e.length,n=lW?lW(r):new e.constructor(r);return e.copy(n),n}function lH(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function lY(){return[]}tD(lV,"cloneBuffer"),tD(lH,"arrayFilter"),tD(lY,"stubArray");var lQ=Object.prototype.propertyIsEnumerable,lZ=Object.getOwnPropertySymbols,lX=lZ?function(e){return null==e?[]:lH(lZ(e=Object(e)),function(t){return lQ.call(e,t)})}:lY;function lJ(e,t){return ol(e,lX(e),t)}tD(lJ,"copySymbols");var l0=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)lk(t,lX(e)),e=l_(e);return t}:lY;function l1(e,t){return ol(e,l0(e),t)}function l2(e,t,r){var n=t(e);return sh(e)?n:lk(n,r(e))}function l3(e){return l2(e,oU,lX)}function l4(e){return l2(e,oQ,l0)}tD(l1,"copySymbolsIn"),tD(l2,"baseGetAllKeys"),tD(l3,"getAllKeys"),tD(l4,"getAllKeysIn");var l9=sH(st,"DataView"),l5=sH(st,"Promise"),l6=sH(st,"Set"),l7="[object Map]",l8="[object Promise]",ue="[object Set]",ut="[object WeakMap]",ur="[object DataView]",un=sG(l9),ui=sG(lo),ua=sG(l5),us=sG(l6),uo=sG(sY),ul=sp;(l9&&ul(new l9(new ArrayBuffer(1)))!=ur||lo&&ul(new lo)!=l7||l5&&ul(l5.resolve())!=l8||l6&&ul(new l6)!=ue||sY&&ul(new sY)!=ut)&&(ul=tD(function(e){var t=sp(e),r="[object Object]"==t?e.constructor:void 0,n=r?sG(r):"";if(n)switch(n){case un:return ur;case ui:return l7;case ua:return l8;case us:return ue;case uo:return ut}return t},"getTag"));var uu=ul,uc=Object.prototype.hasOwnProperty;function up(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&uc.call(e,"index")&&(r.index=e.index,r.input=e.input),r}tD(up,"initCloneArray");var uf=st.Uint8Array;function ud(e){var t=new e.constructor(e.byteLength);return new uf(t).set(new uf(e)),t}function um(e,t){var r=t?ud(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}tD(ud,"cloneArrayBuffer"),tD(um,"cloneDataView");var uh=/\w*$/;function uy(e){var t=new e.constructor(e.source,uh.exec(e));return t.lastIndex=e.lastIndex,t}tD(uy,"cloneRegExp");var ug=sr?sr.prototype:void 0,uT=ug?ug.valueOf:void 0;function uv(e){return uT?Object(uT.call(e)):{}}function u$(e,t){var r=t?ud(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function uR(e,t,r){var n=e.constructor;switch(t){case"[object ArrayBuffer]":return ud(e);case"[object Boolean]":case"[object Date]":return new n(+e);case"[object DataView]":return um(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return u$(e,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(e);case"[object RegExp]":return uy(e);case"[object Symbol]":return uv(e)}}function uE(e){return"function"!=typeof e.constructor||og(e)?{}:sZ(l_(e))}function ub(e){return sf(e)&&"[object Map]"==uu(e)}tD(uv,"cloneSymbol"),tD(u$,"cloneTypedArray"),tD(uR,"initCloneByTag"),tD(uE,"initCloneObject"),tD(ub,"baseIsMap");var uA=oD&&oD.isMap,uC=uA?oI(uA):ub;function uS(e){return sf(e)&&"[object Set]"==uu(e)}tD(uS,"baseIsSet");var uk=oD&&oD.isSet,ux=uk?oI(uk):uS,uN="[object Arguments]",uw="[object Function]",uI="[object Object]",u_={};function uP(e,t,r,n,i,a){var s,o=1&t,l=2&t,u=4&t;if(r&&(s=i?r(e,n,i,a):r(e)),void 0!==s)return s;if(!sA(e))return e;var c=sh(e);if(c){if(s=up(e),!o)return s0(e,s)}else{var p=uu(e),f=p==uw||"[object GeneratorFunction]"==p;if(ox(e))return lV(e,o);if(p==uI||p==uN||f&&!i){if(s=l||f?{}:uE(e),!o)return l?l1(e,lK(s,e)):lJ(e,lz(s,e))}else{if(!u_[p])return i?e:{};s=uR(e,p,o)}}a||(a=new lG);var d=a.get(e);if(d)return d;a.set(e,s),ux(e)?e.forEach(function(n){s.add(uP(n,t,r,n,e,a))}):uC(e)&&e.forEach(function(n,i){s.set(i,uP(n,t,r,i,e,a))});var m=u?l?l4:l3:l?oQ:oU,h=c?void 0:m(e);return s5(h||e,function(n,i){h&&(n=e[i=n]),oo(s,i,uP(n,t,r,i,e,a))}),s}function uO(e){return uP(e,4)}function uD(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var a=e[t];a&&(i[n++]=a)}return i}function uL(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}function uM(e){return this.__data__.has(e)}function uj(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new lh;++t<r;)this.add(e[t])}function uF(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function uG(e,t){return e.has(t)}function uz(e,t,r,n,i,a){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var p=-1,f=!0,d=2&r?new uj:void 0;for(a.set(e,t),a.set(t,e);++p<o;){var m=e[p],h=t[p];if(n)var y=s?n(h,m,p,t,e,a):n(m,h,p,e,t,a);if(void 0!==y){if(y)continue;f=!1;break}if(d){if(!uF(t,function(e,t){if(!uG(d,t)&&(m===e||i(m,e,r,n,a)))return d.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,r,n,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function uK(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function uq(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}u_[uN]=u_["[object Array]"]=u_["[object ArrayBuffer]"]=u_["[object DataView]"]=u_["[object Boolean]"]=u_["[object Date]"]=u_["[object Float32Array]"]=u_["[object Float64Array]"]=u_["[object Int8Array]"]=u_["[object Int16Array]"]=u_["[object Int32Array]"]=u_["[object Map]"]=u_["[object Number]"]=u_[uI]=u_["[object RegExp]"]=u_["[object Set]"]=u_["[object String]"]=u_["[object Symbol]"]=u_["[object Uint8Array]"]=u_["[object Uint8ClampedArray]"]=u_["[object Uint16Array]"]=u_["[object Uint32Array]"]=!0,u_["[object Error]"]=u_[uw]=u_["[object WeakMap]"]=!1,tD(uP,"baseClone"),tD(uO,"clone"),tD(uD,"compact"),tD(uL,"setCacheAdd"),tD(uM,"setCacheHas"),tD(uj,"SetCache"),uj.prototype.add=uj.prototype.push=uL,uj.prototype.has=uM,tD(uF,"arraySome"),tD(uG,"cacheHas"),tD(uz,"equalArrays"),tD(uK,"mapToArray"),tD(uq,"setToArray");var uU=sr?sr.prototype:void 0,uB=uU?uU.valueOf:void 0;function uW(e,t,r,n,i,a,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!a(new uf(e),new uf(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return oa(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=uK;case"[object Set]":var l=1&n;if(o||(o=uq),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var c=uz(o(e),o(t),n,i,a,s);return s.delete(e),c;case"[object Symbol]":if(uB)return uB.call(e)==uB.call(t)}return!1}tD(uW,"equalByTag");var uV=Object.prototype.hasOwnProperty;function uH(e,t,r,n,i,a){var s=1&r,o=l3(e),l=o.length;if(l!=l3(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:uV.call(t,c)))return!1}var p=a.get(e),f=a.get(t);if(p&&f)return p==t&&f==e;var d=!0;a.set(e,t),a.set(t,e);for(var m=s;++u<l;){var h=e[c=o[u]],y=t[c];if(n)var g=s?n(y,h,c,t,e,a):n(h,y,c,e,t,a);if(!(void 0===g?h===y||i(h,y,r,n,a):g)){d=!1;break}m||(m="constructor"==c)}if(d&&!m){var T=e.constructor,v=t.constructor;T!=v&&"constructor"in e&&"constructor"in t&&!("function"==typeof T&&T instanceof T&&"function"==typeof v&&v instanceof v)&&(d=!1)}return a.delete(e),a.delete(t),d}tD(uH,"equalObjects");var uY="[object Arguments]",uQ="[object Array]",uZ="[object Object]",uX=Object.prototype.hasOwnProperty;function uJ(e,t,r,n,i,a){var s=sh(e),o=sh(t),l=s?uQ:uu(e),u=o?uQ:uu(t);l=l==uY?uZ:l,u=u==uY?uZ:u;var c=l==uZ,p=u==uZ,f=l==u;if(f&&ox(e)){if(!ox(t))return!1;s=!0,c=!1}if(f&&!c)return a||(a=new lG),s||oM(e)?uz(e,t,r,n,i,a):uW(e,t,l,r,n,i,a);if(!(1&r)){var d=c&&uX.call(e,"__wrapped__"),m=p&&uX.call(t,"__wrapped__");if(d||m){var h=d?e.value():e,y=m?t.value():t;return a||(a=new lG),i(h,y,r,n,a)}}return!!f&&(a||(a=new lG),uH(e,t,r,n,i,a))}function u0(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(sf(e)||sf(t))?uJ(e,t,r,n,u0,i):e!=e&&t!=t)}function u1(e,t,r,n){var i=r.length,a=i,s=!n;if(null==e)return!a;for(e=Object(e);i--;){var o=r[i];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<a;){var l=(o=r[i])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p=new lG;if(n)var f=n(u,c,l,e,t,p);if(!(void 0===f?u0(c,u,3,n,p):f))return!1}}return!0}function u2(e){return e==e&&!sA(e)}function u3(e){for(var t=oU(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,u2(i)]}return t}function u4(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}function u9(e){var t=u3(e);return 1==t.length&&t[0][2]?u4(t[0][0],t[0][1]):function(r){return r===e||u1(r,e,t)}}function u5(e,t){return null!=e&&t in Object(e)}function u6(e,t,r){t=lE(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=lA(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&of(i)&&on(s,i)&&(sh(e)||ob(e))}function u7(e,t){return null!=e&&u6(e,t,u5)}function u8(e,t){return oJ(e)&&u2(t)?u4(lA(e),t):function(r){var n=lS(r,e);return void 0===n&&n===t?u7(r,e):u0(t,n,3)}}function ce(e){return function(t){return null==t?void 0:t[e]}}function ct(e){return function(t){return lC(t,e)}}function cr(e){return oJ(e)?ce(lA(e)):ct(e)}function cn(e){return"function"==typeof e?e:null==e?sO:"object"==typeof e?sh(e)?u8(e[0],e[1]):u9(e):cr(e)}function ci(e,t,r,n){for(var i=-1,a=null==e?0:e.length;++i<a;){var s=e[i];t(n,s,r(s),e)}return n}function ca(e){return function(t,r,n){for(var i=-1,a=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++i];if(!1===r(a[l],l,a))break}return t}}tD(uJ,"baseIsEqualDeep"),tD(u0,"baseIsEqual"),tD(u1,"baseIsMatch"),tD(u2,"isStrictComparable"),tD(u3,"getMatchData"),tD(u4,"matchesStrictComparable"),tD(u9,"baseMatches"),tD(u5,"baseHasIn"),tD(u6,"hasPath"),tD(u7,"hasIn"),tD(u8,"baseMatchesProperty"),tD(ce,"baseProperty"),tD(ct,"basePropertyDeep"),tD(cr,"property"),tD(cn,"baseIteratee"),tD(ci,"arrayAggregator"),tD(ca,"createBaseFor");var cs=ca();function co(e,t){return e&&cs(e,t,oU)}function cl(e,t){return function(r,n){if(null==r)return r;if(!od(r))return e(r,n);for(var i=r.length,a=t?i:-1,s=Object(r);(t?a--:++a<i)&&!1!==n(s[a],a,s););return r}}tD(co,"baseForOwn"),tD(cl,"createBaseEach");var cu=cl(co);function cc(e,t,r,n){return cu(e,function(e,i,a){t(n,e,r(e),a)}),n}function cp(e,t){return function(r,n){var i=sh(r)?ci:cc,a=t?t():{};return i(r,e,cn(n,2),a)}}tD(cc,"baseAggregator"),tD(cp,"createAggregator");var cf=Object.prototype,cd=cf.hasOwnProperty,cm=op(function(e,t){e=Object(e);var r=-1,n=t.length,i=n>2?t[2]:void 0;for(i&&om(t[0],t[1],i)&&(n=1);++r<n;)for(var a=t[r],s=oQ(a),o=-1,l=s.length;++o<l;){var u=s[o],c=e[u];(void 0===c||oa(c,cf[u])&&!cd.call(e,u))&&(e[u]=a[u])}return e});function ch(e){return sf(e)&&od(e)}function cy(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function cg(e,t,r,n){var i=-1,a=ot,s=!0,o=e.length,l=[],u=t.length;if(!o)return l;r&&(t=sm(t,oI(r))),n?(a=cy,s=!1):t.length>=200&&(a=uG,s=!1,t=new uj(t));t:for(;++i<o;){var c=e[i],p=null==r?c:r(c);if(c=n||0!==c?c:0,s&&p==p){for(var f=u;f--;)if(t[f]===p)continue t;l.push(c)}else a(t,p,n)||l.push(c)}return l}tD(ch,"isArrayLikeObject"),tD(cy,"arrayIncludesWith"),tD(cg,"baseDifference");var cT=op(function(e,t){return ch(e)?cg(e,lw(t,1,ch,!0)):[]});function cv(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function c$(e,t,r){var n=null==e?0:e.length;return n?lP(e,(t=r||void 0===t?1:sP(t))<0?0:t,n):[]}function cR(e,t,r){var n=null==e?0:e.length;return n?lP(e,0,(t=n-(t=r||void 0===t?1:sP(t)))<0?0:t):[]}function cE(e){return"function"==typeof e?e:sO}function cb(e,t){return(sh(e)?s5:cu)(e,cE(t))}function cA(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}function cC(e,t){var r=!0;return cu(e,function(e,n,i){return r=!!t(e,n,i)}),r}function cS(e,t,r){var n=sh(e)?cA:cC;return r&&om(e,t,r)&&(t=void 0),n(e,cn(t,3))}function ck(e,t){var r=[];return cu(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function cx(e,t){return(sh(e)?lH:ck)(e,cn(t,3))}function cN(e){return function(t,r,n){var i=Object(t);if(!od(t)){var a=cn(r,3);t=oU(t),r=tD(function(e){return a(i[e],e,i)},"predicate")}var s=e(t,r,n);return s>-1?i[a?t[s]:s]:void 0}}tD(cv,"last"),tD(c$,"drop"),tD(cR,"dropRight"),tD(cE,"castFunction"),tD(cb,"forEach"),tD(cA,"arrayEvery"),tD(cC,"baseEvery"),tD(cS,"every"),tD(ck,"baseFilter"),tD(cx,"filter"),tD(cN,"createFind");var cw=Math.max;function cI(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:sP(r);return i<0&&(i=cw(n+i,0)),s6(e,cn(t,3),i)}tD(cI,"findIndex");var c_=cN(cI);function cP(e){return e&&e.length?e[0]:void 0}function cO(e,t){var r=-1,n=od(e)?Array(e.length):[];return cu(e,function(e,i,a){n[++r]=t(e,i,a)}),n}function cD(e,t){return(sh(e)?sm:cO)(e,cn(t,3))}function cL(e,t){return lw(cD(e,t),1)}tD(cP,"head"),tD(cO,"baseMap"),tD(cD,"map"),tD(cL,"flatMap");var cM=Object.prototype.hasOwnProperty,cj=cp(function(e,t,r){cM.call(e,r)?e[r].push(t):oi(e,r,[t])}),cF=Object.prototype.hasOwnProperty;function cG(e,t){return null!=e&&cF.call(e,t)}function cz(e,t){return null!=e&&u6(e,t,cG)}function cK(e){return"string"==typeof e||!sh(e)&&sf(e)&&"[object String]"==sp(e)}function cq(e,t){return sm(t,function(t){return e[t]})}function cU(e){return null==e?[]:cq(e,oU(e))}tD(cG,"baseHas"),tD(cz,"has"),tD(cK,"isString"),tD(cq,"baseValues"),tD(cU,"values");var cB=Math.max;function cW(e,t,r,n){e=od(e)?e:cU(e),r=r&&!n?sP(r):0;var i=e.length;return r<0&&(r=cB(i+r,0)),cK(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&oe(e,t,r)>-1}tD(cW,"includes");var cV=Math.max;function cH(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:sP(r);return i<0&&(i=cV(n+i,0)),oe(e,t,i)}tD(cH,"indexOf");var cY=Object.prototype.hasOwnProperty;function cQ(e){if(null==e)return!0;if(od(e)&&(sh(e)||"string"==typeof e||"function"==typeof e.splice||ox(e)||oM(e)||ob(e)))return!e.length;var t=uu(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(og(e))return!oq(e).length;for(var r in e)if(cY.call(e,r))return!1;return!0}function cZ(e){return sf(e)&&"[object RegExp]"==sp(e)}tD(cQ,"isEmpty"),tD(cZ,"baseIsRegExp");var cX=oD&&oD.isRegExp,cJ=cX?oI(cX):cZ;function c0(e){return void 0===e}function c1(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function c2(e,t,r,n){if(!sA(e))return e;t=lE(t,e);for(var i=-1,a=t.length,s=a-1,o=e;null!=o&&++i<a;){var l=lA(t[i]),u=r;if("__proto__"===l||"constructor"===l||"prototype"===l)break;if(i!=s){var c=o[l];void 0===(u=n?n(c,l,o):void 0)&&(u=sA(c)?c:on(t[i+1])?[]:{})}oo(o,l,u),o=o[l]}return e}function c3(e,t,r){for(var n=-1,i=t.length,a={};++n<i;){var s=t[n],o=lC(e,s);r(o,s)&&c2(a,lE(s,e),o)}return a}function c4(e,t){if(null==e)return{};var r=sm(l4(e),function(e){return[e]});return t=cn(t),c3(e,r,function(e,r){return t(e,r[0])})}function c9(e,t,r,n,i){return i(e,function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)}),r}function c5(e,t,r){var n=sh(e)?lO:c9,i=arguments.length<3;return n(e,cn(t,4),r,i,cu)}function c6(e,t){return(sh(e)?lH:ck)(e,c1(cn(t,3)))}function c7(e,t){var r;return cu(e,function(e,n,i){return!(r=t(e,n,i))}),!!r}function c8(e,t,r){var n=sh(e)?uF:c7;return r&&om(e,t,r)&&(t=void 0),n(e,cn(t,3))}tD(c0,"isUndefined"),tD(c1,"negate"),tD(c2,"baseSet"),tD(c3,"basePickBy"),tD(c4,"pickBy"),tD(c9,"baseReduce"),tD(c5,"reduce"),tD(c6,"reject"),tD(c7,"baseSome"),tD(c8,"some");var pe=l6&&1/uq(new l6([,-0]))[1]==1/0?function(e){return new l6(e)}:sJ;function pt(e,t,r){var n=-1,i=ot,a=e.length,s=!0,o=[],l=o;if(r)s=!1,i=cy;else if(a>=200){var u=t?null:pe(e);if(u)return uq(u);s=!1,i=uG,l=new uj}else l=t?[]:o;t:for(;++n<a;){var c=e[n],p=t?t(c):c;if(c=r||0!==c?c:0,s&&p==p){for(var f=l.length;f--;)if(l[f]===p)continue t;t&&l.push(p),o.push(c)}else i(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}function pr(e){return e&&e.length?pt(e):[]}function pn(e){console&&console.error&&console.error(`Error: ${e}`)}function pi(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function pa(e){let t=new Date().getTime(),r=e();return{time:new Date().getTime()-t,value:r}}function ps(e){function t(){}tD(t,"FakeConstructor"),t.prototype=e;let r=new t;function n(){return typeof r.bar}return tD(n,"fakeAccess"),n(),n(),e}function po(e){return pl(e)?e.LABEL:e.name}function pl(e){return cK(e.LABEL)&&""!==e.LABEL}tD(pt,"baseUniq"),tD(pr,"uniq"),tD(pn,"PRINT_ERROR"),tD(pi,"PRINT_WARNING"),tD(pa,"timer"),tD(ps,"toFastProperties"),tD(po,"tokenLabel"),tD(pl,"hasTokenLabel");var pu=class{static{tD(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),cb(this.definition,t=>{t.accept(e)})}},pc=class extends pu{static{tD(this,"NonTerminal")}constructor(e){super([]),this.idx=1,oW(this,c4(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}},pp=class extends pu{static{tD(this,"Rule")}constructor(e){super(e.definition),this.orgText="",oW(this,c4(e,e=>void 0!==e))}},pf=class extends pu{static{tD(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,oW(this,c4(e,e=>void 0!==e))}},pd=class extends pu{static{tD(this,"Option")}constructor(e){super(e.definition),this.idx=1,oW(this,c4(e,e=>void 0!==e))}},pm=class extends pu{static{tD(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,oW(this,c4(e,e=>void 0!==e))}},ph=class extends pu{static{tD(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,oW(this,c4(e,e=>void 0!==e))}},py=class extends pu{static{tD(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,oW(this,c4(e,e=>void 0!==e))}},pg=class extends pu{static{tD(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,oW(this,c4(e,e=>void 0!==e))}},pT=class extends pu{static{tD(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,oW(this,c4(e,e=>void 0!==e))}},pv=class{static{tD(this,"Terminal")}constructor(e){this.idx=1,oW(this,c4(e,e=>void 0!==e))}accept(e){e.visit(this)}};function p$(e){return cD(e,pR)}function pR(e){function t(e){return cD(e,pR)}if(tD(t,"convertDefinition"),e instanceof pc){let t={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return cK(e.label)&&(t.label=e.label),t}if(e instanceof pf)return{type:"Alternative",definition:t(e.definition)};if(e instanceof pd)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof pm)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof ph)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:pR(new pv({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof pg)return{type:"RepetitionWithSeparator",idx:e.idx,separator:pR(new pv({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof py)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};else if(e instanceof pT)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};else if(e instanceof pv){let t={type:"Terminal",name:e.terminalType.name,label:po(e.terminalType),idx:e.idx};cK(e.label)&&(t.terminalLabel=e.label);let r=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=cJ(r)?r.source:r),t}else if(e instanceof pp)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};else throw Error("non exhaustive match")}tD(p$,"serializeGrammar"),tD(pR,"serializeProduction");var pE=class{static{tD(this,"GAstVisitor")}visit(e){switch(e.constructor){case pc:return this.visitNonTerminal(e);case pf:return this.visitAlternative(e);case pd:return this.visitOption(e);case pm:return this.visitRepetitionMandatory(e);case ph:return this.visitRepetitionMandatoryWithSeparator(e);case pg:return this.visitRepetitionWithSeparator(e);case py:return this.visitRepetition(e);case pT:return this.visitAlternation(e);case pv:return this.visitTerminal(e);case pp:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function pb(e){return e instanceof pf||e instanceof pd||e instanceof py||e instanceof pm||e instanceof ph||e instanceof pg||e instanceof pv||e instanceof pp}function pA(e,t=[]){return e instanceof pd||e instanceof py||e instanceof pg||(e instanceof pT?c8(e.definition,e=>pA(e,t)):!(e instanceof pc&&cW(t,e))&&e instanceof pu&&(e instanceof pc&&t.push(e),cS(e.definition,e=>pA(e,t))))}function pC(e){return e instanceof pT}function pS(e){if(e instanceof pc)return"SUBRULE";if(e instanceof pd)return"OPTION";if(e instanceof pT)return"OR";if(e instanceof pm)return"AT_LEAST_ONE";if(e instanceof ph)return"AT_LEAST_ONE_SEP";else if(e instanceof pg)return"MANY_SEP";else if(e instanceof py)return"MANY";else if(e instanceof pv)return"CONSUME";else throw Error("non exhaustive match")}tD(pb,"isSequenceProd"),tD(pA,"isOptionalProd"),tD(pC,"isBranchingProd"),tD(pS,"getProductionDslName");var pk=class{static{tD(this,"RestWalker")}walk(e,t=[]){cb(e.definition,(r,n)=>{let i=c$(e.definition,n+1);if(r instanceof pc)this.walkProdRef(r,i,t);else if(r instanceof pv)this.walkTerminal(r,i,t);else if(r instanceof pf)this.walkFlat(r,i,t);else if(r instanceof pd)this.walkOption(r,i,t);else if(r instanceof pm)this.walkAtLeastOne(r,i,t);else if(r instanceof ph)this.walkAtLeastOneSep(r,i,t);else if(r instanceof pg)this.walkManySep(r,i,t);else if(r instanceof py)this.walkMany(r,i,t);else if(r instanceof pT)this.walkOr(r,i,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new pd({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=px(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new pd({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=px(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);cb(e.definition,e=>{let t=new pf({definition:[e]});this.walk(t,n)})}};function px(e,t,r){return[new pd({definition:[new pv({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}function pN(e){if(e instanceof pc)return pN(e.referencedRule);if(e instanceof pv)return p_(e);if(pb(e))return pw(e);if(pC(e))return pI(e);throw Error("non exhaustive match")}function pw(e){let t,r=[],n=e.definition,i=0,a=n.length>i,s=!0;for(;a&&s;)s=pA(t=n[i]),r=r.concat(pN(t)),i+=1,a=n.length>i;return pr(r)}function pI(e){return pr(lI(cD(e.definition,e=>pN(e))))}function p_(e){return[e.terminalType]}tD(px,"restForRepetitionWithSeparator"),tD(pN,"first"),tD(pw,"firstForSequence"),tD(pI,"firstForBranching"),tD(p_,"firstForTerminal");var pP="_~IN~_",pO=class extends pk{static{tD(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){let n=pL(e.referencedRule,e.idx)+this.topProd.name,i=pN(new pf({definition:t.concat(r)}));this.follows[n]=i}};function pD(e){let t={};return cb(e,e=>{oW(t,new pO(e).startWalking())}),t}function pL(e,t){return e.name+t+pP}tD(pD,"computeAllProdsFollows"),tD(pL,"buildBetweenProdsFollowPrefix");var pM={},pj=new ap;function pF(e){let t=e.toString();if(pM.hasOwnProperty(t))return pM[t];{let e=pj.pattern(t);return pM[t]=e,e}}function pG(){pM={}}tD(pF,"getRegExpAst"),tD(pG,"clearRegExpParserCache");var pz="Complement Sets are not supported for first char optimization",pK='Unable to use "first char" lexer optimizations:\n';function pq(e,t=!1){try{let t=pF(e);return pU(t.value,{},t.flags.ignoreCase)}catch(r){if(r.message===pz)t&&pi(`${pK} Unable to optimize: < ${e.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";t&&(r="\n This will disable the lexer's first char optimizations.\n See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),pn(`${pK} + Failed parsing: < ${e.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function pU(e,t,r){switch(e.type){case"Disjunction":for(let n=0;n<e.value.length;n++)pU(e.value[n],t,r);break;case"Alternative":let n=e.value;for(let e=0;e<n.length;e++){let i=n[e];switch(i.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}switch(i.type){case"Character":pB(i.value,t,r);break;case"Set":if(!0===i.complement)throw Error(pz);cb(i.value,e=>{if("number"==typeof e)pB(e,t,r);else if(!0===r)for(let n=e.from;n<=e.to;n++)pB(n,t,r);else{for(let n=e.from;n<=e.to&&n<fv;n++)pB(n,t,r);if(e.to>=fv){let r=e.from>=fv?e.from:fv,n=e.to,i=fR(r),a=fR(n);for(let e=i;e<=a;e++)t[e]=e}}});break;case"Group":pU(i.value,t,r);break;default:throw Error("Non Exhaustive Match")}let a=void 0!==i.quantifier&&0===i.quantifier.atLeast;if("Group"===i.type&&!1===pH(i)||"Group"!==i.type&&!1===a)break}break;default:throw Error("non exhaustive match!")}return cU(t)}function pB(e,t,r){let n=fR(e);t[n]=n,!0===r&&pW(e,t)}function pW(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let e=fR(n.charCodeAt(0));t[e]=e}else{let e=r.toLowerCase();if(e!==r){let r=fR(e.charCodeAt(0));t[r]=r}}}function pV(e,t){return c_(e.value,e=>"number"==typeof e?cW(t,e):void 0!==c_(t,t=>e.from<=t&&t<=e.to))}function pH(e){let t=e.quantifier;return!!t&&0===t.atLeast||!!e.value&&(sh(e.value)?cS(e.value,pH):pH(e.value))}tD(pq,"getOptimizedStartCodesIndices"),tD(pU,"firstCharOptimizedIndices"),tD(pB,"addOptimizedIdxToResult"),tD(pW,"handleIgnoreCase"),tD(pV,"findCode"),tD(pH,"isWholeOptional");var pY=class extends af{static{tD(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){cW(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===pV(e,this.targetCharCodes)&&(this.found=!0):void 0!==pV(e,this.targetCharCodes)&&(this.found=!0)}};function pQ(e,t){if(!(t instanceof RegExp))return void 0!==c_(t,t=>cW(e,t.charCodeAt(0)));{let r=pF(t),n=new pY(e);return n.visit(r),n.found}}tD(pQ,"canMatchCharCode");var pZ="PATTERN",pX="defaultMode",pJ="modes";function p0(e,t){let r,n,i,a,s,o,l,u,c,p,f,d,m=(t=cm(t,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:tD((e,t)=>t(),"tracer")})).tracer;m("initCharCodeToOptimizedIndexMap",()=>{fE()}),m("Reject Lexer.NA",()=>{r=c6(e,e=>e[pZ]===fG.NA)});let h=!1;m("Transform Patterns",()=>{h=!1,n=cD(r,e=>{let t=e[pZ];if(cJ(t)){let e=t.source;return 1!==e.length||"^"===e||"$"===e||"."===e||t.ignoreCase?2!==e.length||"\\"!==e[0]||cW(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?fl(t):e[1]:e}if(sD(t))return h=!0,{exec:t};if("object"==typeof t)return h=!0,t;if("string"==typeof t)if(1===t.length)return t;else return fl(new RegExp(t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")));throw Error("non exhaustive match")})}),m("misc mapping",()=>{i=cD(r,e=>e.tokenTypeIdx),a=cD(r,e=>{let t=e.GROUP;if(t!==fG.SKIPPED){if(cK(t))return t;if(c0(t))return!1;throw Error("non exhaustive match")}}),s=cD(r,e=>{let t=e.LONGER_ALT;if(t)return sh(t)?cD(t,e=>cH(r,e)):[cH(r,t)]}),o=cD(r,e=>e.PUSH_MODE),l=cD(r,e=>cz(e,"POP_MODE"))}),m("Line Terminator Handling",()=>{let e=fg(t.lineTerminatorCharacters);u=cD(r,e=>!1),"onlyOffset"!==t.positionTracking&&(u=cD(r,t=>cz(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===fh(t,e)&&pQ(e,t.PATTERN)))}),m("Misc Mapping #2",()=>{c=cD(r,ff),p=cD(n,fd),f=c5(r,(e,t)=>{let r=t.GROUP;return cK(r)&&r!==fG.SKIPPED&&(e[r]=[]),e},{}),d=cD(n,(e,t)=>({pattern:n[t],longerAlt:s[t],canLineTerminator:u[t],isCustom:c[t],short:p[t],group:a[t],push:o[t],pop:l[t],tokenTypeIdx:i[t],tokenType:r[t]}))});let y=!0,g=[];return t.safeMode||m("First Char Optimization",()=>{g=c5(r,(e,r,n)=>{if("string"==typeof r.PATTERN)fT(e,fR(r.PATTERN.charCodeAt(0)),d[n]);else if(sh(r.START_CHARS_HINT)){let t;cb(r.START_CHARS_HINT,r=>{let i=fR("string"==typeof r?r.charCodeAt(0):r);t!==i&&(t=i,fT(e,i,d[n]))})}else if(cJ(r.PATTERN))if(r.PATTERN.unicode)y=!1,t.ensureOptimizations&&pn(`${pK} Unable to analyze < ${r.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let i=pq(r.PATTERN,t.ensureOptimizations);cQ(i)&&(y=!1),cb(i,t=>{fT(e,t,d[n])})}else t.ensureOptimizations&&pn(`${pK} TokenType: <${r.name}> is using a custom token pattern without providing <start_chars_hint> parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return e},[])}),{emptyGroups:f,patternIdxToConfig:d,charCodeToPatternIdxToConfig:g,hasCustom:h,canBeOptimized:y}}function p1(e,t){let r=[],n=p3(e);r=r.concat(n.errors);let i=p4(n.valid),a=i.valid;return(r=(r=(r=(r=r.concat(i.errors)).concat(p2(a))).concat(fr(a))).concat(fn(a,t))).concat(fi(a))}function p2(e){let t=[],r=cx(e,e=>cJ(e[pZ]));return(t=(t=(t=(t=t.concat(p5(r))).concat(p8(r))).concat(fe(r))).concat(ft(r))).concat(p6(r))}function p3(e){let t=cx(e,e=>!cz(e,pZ));return{errors:cD(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:eY.MISSING_PATTERN,tokenTypes:[e]})),valid:cT(e,t)}}function p4(e){let t=cx(e,e=>{let t=e[pZ];return!cJ(t)&&!sD(t)&&!cz(t,"exec")&&!cK(t)});return{errors:cD(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:eY.INVALID_PATTERN,tokenTypes:[e]})),valid:cT(e,t)}}tD(p0,"analyzeTokenTypes"),tD(p1,"validatePatterns"),tD(p2,"validateRegExpPattern"),tD(p3,"findMissingPatterns"),tD(p4,"findInvalidPatterns");var p9=/[^\\][$]/;function p5(e){class t extends af{static{tD(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return cD(cx(e,e=>{let r=e.PATTERN;try{let e=pF(r),n=new t;return n.visit(e),n.found}catch(e){return p9.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:eY.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function p6(e){return cD(cx(e,e=>e.PATTERN.test("")),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:eY.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}tD(p5,"findEndOfInputAnchor"),tD(p6,"findEmptyMatchRegExps");var p7=/[^\\[][\^]|^\^/;function p8(e){class t extends af{static{tD(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return cD(cx(e,e=>{let r=e.PATTERN;try{let e=pF(r),n=new t;return n.visit(e),n.found}catch(e){return p7.test(r.source)}}),e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:eY.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function fe(e){return cD(cx(e,e=>{let t=e[pZ];return t instanceof RegExp&&(t.multiline||t.global)}),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:eY.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function ft(e){let t=[],r=cD(e,r=>c5(e,(e,n)=>(r.PATTERN.source!==n.PATTERN.source||cW(t,n)||n.PATTERN===fG.NA||(t.push(n),e.push(n)),e),[]));return cD(cx(r=uD(r),e=>e.length>1),e=>{let t=cD(e,e=>e.name),r=cP(e).PATTERN;return{message:`The same RegExp pattern ->${r}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:eY.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function fr(e){return cD(cx(e,e=>{if(!cz(e,"GROUP"))return!1;let t=e.GROUP;return t!==fG.SKIPPED&&t!==fG.NA&&!cK(t)}),e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:eY.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function fn(e,t){return cD(cx(e,e=>void 0!==e.PUSH_MODE&&!cW(t,e.PUSH_MODE)),e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:eY.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function fi(e){let t=[],r=c5(e,(e,t,r)=>{let n=t.PATTERN;return n===fG.NA||(cK(n)?e.push({str:n,idx:r,tokenType:t}):cJ(n)&&fs(n)&&e.push({str:n.source,idx:r,tokenType:t})),e},[]);return cb(e,(e,n)=>{cb(r,({str:r,idx:i,tokenType:a})=>{if(n<i&&fa(r,e.PATTERN)){let r=`Token: ->${a.name}<- can never be matched. +Because it appears AFTER the Token Type ->${e.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:r,type:eY.UNREACHABLE_PATTERN,tokenTypes:[e,a]})}})}),t}function fa(e,t){if(cJ(t)){if(fo(t))return!1;let r=t.exec(e);return null!==r&&0===r.index}if(sD(t))return t(e,0,[],{});if(cz(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}function fs(e){return void 0===c_([".","\\","[","]","|","^","$","(",")","?","*","+","{"],t=>-1!==e.source.indexOf(t))}function fo(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(e.source)}function fl(e){let t=e.ignoreCase?"iy":"y";return RegExp(`${e.source}`,t)}function fu(e,t,r){let n=[];return cz(e,pX)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+pX+"> property in its definition\n",type:eY.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),cz(e,pJ)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+pJ+"> property in its definition\n",type:eY.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),cz(e,pJ)&&cz(e,pX)&&!cz(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${pX}: <${e.defaultMode}>which does not exist +`,type:eY.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),cz(e,pJ)&&cb(e.modes,(e,t)=>{cb(e,(r,i)=>{c0(r)?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${i}> +`,type:eY.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):cz(r,"LONGER_ALT")&&cb(sh(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT],i=>{c0(i)||cW(e,i)||n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${t}> +`,type:eY.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function fc(e,t,r){let n=[],i=!1,a=c6(uD(lI(cU(e.modes))),e=>e[pZ]===fG.NA),s=fg(r);return t&&cb(a,e=>{let t=fh(e,s);if(!1!==t){let r={message:fy(e,t),type:t.issue,tokenType:e};n.push(r)}else cz(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):pQ(s,e.PATTERN)&&(i=!0)}),t&&!i&&n.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:eY.NO_LINE_BREAKS_FLAGS}),n}function fp(e){let t={};return cb(oU(e),r=>{if(sh(e[r]))t[r]=[];else throw Error("non exhaustive match")}),t}function ff(e){let t=e.PATTERN;if(cJ(t))return!1;if(sD(t))return!0;if(cz(t,"exec"))return!0;if(cK(t))return!1;throw Error("non exhaustive match")}function fd(e){return!!cK(e)&&1===e.length&&e.charCodeAt(0)}tD(p8,"findStartOfInputAnchor"),tD(fe,"findUnsupportedFlags"),tD(ft,"findDuplicatePatterns"),tD(fr,"findInvalidGroupType"),tD(fn,"findModesThatDoNotExist"),tD(fi,"findUnreachablePatterns"),tD(fa,"tryToMatchStrToPattern"),tD(fs,"noMetaChar"),tD(fo,"usesLookAheadOrBehind"),tD(fl,"addStickyFlag"),tD(fu,"performRuntimeChecks"),tD(fc,"performWarningRuntimeChecks"),tD(fp,"cloneEmptyGroups"),tD(ff,"isCustomPattern"),tD(fd,"isShortPattern");var fm={test:tD(function(e){let t=e.length;for(let r=this.lastIndex;r<t;r++){let t=e.charCodeAt(r);if(10===t)return this.lastIndex=r+1,!0;if(13===t)return 10===e.charCodeAt(r+1)?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},"test"),lastIndex:0};function fh(e,t){if(cz(e,"LINE_BREAKS"))return!1;if(cJ(e.PATTERN)){try{pQ(t,e.PATTERN)}catch(e){return{issue:eY.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(cK(e.PATTERN))return!1;if(ff(e))return{issue:eY.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function fy(e,t){if(t.issue===eY.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. + The problem is in the <${e.name}> Token Type + Root cause: ${t.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===eY.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option. + The problem is in the <${e.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function fg(e){return cD(e,e=>cK(e)?e.charCodeAt(0):e)}function fT(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}tD(fh,"checkLineBreaksIssues"),tD(fy,"buildLineBreakIssueMessage"),tD(fg,"getCharCodes"),tD(fT,"addToMapOfArrays");var fv=256,f$=[];function fR(e){return e<fv?e:f$[e]}function fE(){if(cQ(f$)){f$=Array(65536);for(let e=0;e<65536;e++)f$[e]=e>255?255+~~(e/255):e}}function fb(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function fA(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}tD(fR,"charCodeToOptimizedIndex"),tD(fE,"initCharCodeToOptimizedIndexMap"),tD(fb,"tokenStructuredMatcher"),tD(fA,"tokenStructuredMatcherNoCategories");var fC=1,fS={};function fk(e){let t=fx(e);fN(t),fI(t),fw(t),cb(t,e=>{e.isParent=e.categoryMatches.length>0})}function fx(e){let t=uO(e),r=e,n=!0;for(;n;){let e=cT(r=uD(lI(cD(r,e=>e.CATEGORIES))),t);t=t.concat(e),cQ(e)?n=!1:r=e}return t}function fN(e){cb(e,e=>{fP(e)||(fS[fC]=e,e.tokenTypeIdx=fC++),fO(e)&&!sh(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),fO(e)||(e.CATEGORIES=[]),fD(e)||(e.categoryMatches=[]),fL(e)||(e.categoryMatchesMap={})})}function fw(e){cb(e,e=>{e.categoryMatches=[],cb(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(fS[r].tokenTypeIdx)})})}function fI(e){cb(e,e=>{f_([],e)})}function f_(e,t){cb(e,e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),cb(t.CATEGORIES,r=>{let n=e.concat(t);cW(n,r)||f_(n,r)})}function fP(e){return cz(e,"tokenTypeIdx")}function fO(e){return cz(e,"CATEGORIES")}function fD(e){return cz(e,"categoryMatches")}function fL(e){return cz(e,"categoryMatchesMap")}function fM(e){return cz(e,"tokenTypeIdx")}tD(fk,"augmentTokenTypes"),tD(fx,"expandCategories"),tD(fN,"assignTokenDefaultProps"),tD(fw,"assignCategoriesTokensProp"),tD(fI,"assignCategoriesMapProp"),tD(f_,"singleAssignCategoriesToksMap"),tD(fP,"hasShortKeyProperty"),tD(fO,"hasCategoriesProperty"),tD(fD,"hasExtendingTokensTypesProperty"),tD(fL,"hasExtendingTokensTypesMapProperty"),tD(fM,"isTokenType");var fj={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,i,a)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`};(o=eY||(eY={}))[o.MISSING_PATTERN=0]="MISSING_PATTERN",o[o.INVALID_PATTERN=1]="INVALID_PATTERN",o[o.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",o[o.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",o[o.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",o[o.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",o[o.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",o[o.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",o[o.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",o[o.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",o[o.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",o[o.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",o[o.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",o[o.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",o[o.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",o[o.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",o[o.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",o[o.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";var fF={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:fj,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(fF);var fG=class{static{tD(this,"Lexer")}constructor(e,t=fF){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=pa(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=oW({},fF,t);let r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let r,n=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===fF.lineTerminatorsPattern)this.config.lineTerminatorsPattern=fm;else if(this.config.lineTerminatorCharacters===fF.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),sh(e)?r={modes:{defaultMode:uO(e)},defaultMode:pX}:(n=!1,r=uO(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(fu(r,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(fc(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),r.modes=r.modes?r.modes:{},cb(r.modes,(e,t)=>{r.modes[t]=c6(e,e=>c0(e))});let i=oU(r.modes);if(cb(r.modes,(e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(p1(e,i))}),cQ(this.lexerDefinitionErrors)){let n;fk(e),this.TRACE_INIT("analyzeTokenTypes",()=>{n=p0(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=oW({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,!cQ(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+cD(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));cb(this.lexerDefinitionWarning,e=>{pi(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(n&&(this.handleModes=sJ),!1===this.trackStartLines&&(this.computeNewColumn=sO),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=sJ),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let e=c5(this.canModeBeOptimized,(e,t,r)=>(!1===t&&e.push(r),e),[]);if(t.ensureOptimizations&&!cQ(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{pG()}),this.TRACE_INIT("toFastProperties",()=>{ps(this)})})}tokenize(e,t=this.defaultMode){if(!cQ(this.lexerDefinitionErrors))throw Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+cD(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,i,a,s,o,l,u,c,p,f,d,m,h,y,g,T=e.length,v=0,$=0,R=Array(this.hasCustom?0:Math.floor(e.length/10)),E=[],b=this.trackStartLines?1:void 0,A=this.trackStartLines?1:void 0,C=fp(this.emptyGroups),S=this.trackStartLines,k=this.config.lineTerminatorsPattern,x=0,N=[],w=[],I=[],_=[];Object.freeze(_);let P=!1,O=tD(e=>{if(1===I.length&&void 0===e.tokenType.PUSH_MODE){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);E.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{I.pop();let e=cv(I);N=this.patternIdxToConfig[e],w=this.charCodeToPatternIdxToConfig[e],x=N.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;P=!!w&&!!t}},"pop_mode");function D(e){I.push(e),w=this.charCodeToPatternIdxToConfig[e],x=(N=this.patternIdxToConfig[e]).length,x=N.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;P=!!w&&!!t}tD(D,"push_mode"),D.call(this,t);let L=this.config.recoveryEnabled;for(;v<T;){let t;o=null,c=-1;let M=e.charCodeAt(v);if(P){let e=w[fR(M)];t=void 0!==e?e:_}else t=N;let j=t.length;for(r=0;r<j;r++){let n=(g=t[r]).pattern;l=null;let p=g.short;if(!1!==p?M===p&&(c=1,o=n):!0===g.isCustom?null!==(y=n.exec(e,v,R,C))?(c=(o=y[0]).length,void 0!==y.payload&&(l=y.payload)):o=null:(n.lastIndex=v,c=this.matchLength(n,e,v)),-1!==c){if(void 0!==(s=g.longerAlt)){o=e.substring(v,v+c);let t=s.length;for(i=0;i<t;i++){let t=N[s[i]],r=t.pattern;if(u=null,!0===t.isCustom?null!==(y=r.exec(e,v,R,C))?(a=y[0],void 0!==y.payload&&(u=y.payload)):a=null:(r.lastIndex=v,a=this.match(r,e,v)),a&&a.length>o.length){o=a,c=a.length,l=u,g=t;break}}}break}}if(-1!==c){if(void 0!==(p=g.group)&&(o=null!==o?o:e.substring(v,v+c),f=g.tokenTypeIdx,d=this.createTokenInstance(o,v,f,g.tokenType,b,A,c),this.handlePayload(d,l),!1===p?$=this.addToken(R,$,d):C[p].push(d)),!0===S&&!0===g.canLineTerminator){let t,r,n=0;k.lastIndex=0;do o=null!==o?o:e.substring(v,v+c),!0===(t=k.test(o))&&(r=k.lastIndex-1,n++);while(!0===t)0!==n?(b+=n,A=c-r,this.updateTokenEndLineColumnLocation(d,p,r,n,b,A,c)):A=this.computeNewColumn(A,c)}else A=this.computeNewColumn(A,c);v+=c,this.handleModes(g,O,D,d)}else{let t=v,r=b,i=A,a=!1===L;for(;!1===a&&v<T;)for(v++,n=0;n<x;n++){let t=N[n],r=t.pattern,i=t.short;if(!1!==i?e.charCodeAt(v)===i&&(a=!0):!0===t.isCustom?a=null!==r.exec(e,v,R,C):(r.lastIndex=v,a=null!==r.exec(e)),!0===a)break}if(m=v-t,A=this.computeNewColumn(A,m),h=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(e,t,m,r,i,cv(I)),E.push({offset:t,line:r,column:i,length:m,message:h}),!1===L)break}}return this.hasCustom||(R.length=$),{tokens:R,groups:C,errors:E}}handleModes(e,t,r,n){if(!0===e.pop){let i=e.push;t(n),void 0!==i&&r.call(this,i)}else void 0!==e.push&&r.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,r,n,i,a,s){let o,l;void 0!==t&&(l=(o=r===s-1)?-1:0,(1!==n||!0!==o)&&(e.endLine=i+l,e.endColumn=a-1+-l))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}}createStartOnlyToken(e,t,r,n,i,a){return{image:e,startOffset:t,startLine:i,startColumn:a,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,i,a,s){return{image:e,startOffset:t,endOffset:t+s-1,startLine:i,endLine:i,startColumn:a,endColumn:a+s-1,tokenTypeIdx:r,tokenType:n}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}match(e,t,r){return!0===e.test(t)?t.substring(r,e.lastIndex):null}matchLength(e,t,r){return!0===e.test(t)?e.lastIndex-r:-1}};function fz(e){return fK(e)?e.LABEL:e.name}function fK(e){return cK(e.LABEL)&&""!==e.LABEL}fG.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",fG.NA=/NOT_APPLICABLE/,tD(fz,"tokenLabel"),tD(fK,"hasTokenLabel");var fq="categories",fU="label",fB="group",fW="push_mode",fV="pop_mode",fH="longer_alt",fY="line_breaks",fQ="start_chars_hint";function fZ(e){return fX(e)}function fX(e){let t=e.pattern,r={};if(r.name=e.name,c0(t)||(r.PATTERN=t),cz(e,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return cz(e,fq)&&(r.CATEGORIES=e[fq]),fk([r]),cz(e,fU)&&(r.LABEL=e[fU]),cz(e,fB)&&(r.GROUP=e[fB]),cz(e,fV)&&(r.POP_MODE=e[fV]),cz(e,fW)&&(r.PUSH_MODE=e[fW]),cz(e,fH)&&(r.LONGER_ALT=e[fH]),cz(e,fY)&&(r.LINE_BREAKS=e[fY]),cz(e,fQ)&&(r.START_CHARS_HINT=e[fQ]),r}tD(fZ,"createToken"),tD(fX,"createTokenInternal");var fJ=fZ({name:"EOF",pattern:fG.NA});function f0(e,t,r,n,i,a,s,o){return{image:t,startOffset:r,endOffset:n,startLine:i,endLine:a,startColumn:s,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function f1(e,t){return fb(e,t)}fk([fJ]),tD(f0,"createTokenInstance"),tD(f1,"tokenMatcher");var f2={buildMismatchTokenMessage({expected:e,actual:t,previous:r,ruleName:n}){let i=fK(e)?`--> ${fz(e)} <--`:`token of type --> ${e.name} <--`;return`Expecting ${i} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",s="\nbut found: '"+cP(t).image+"'";if(n)return a+n+s;{let t=cD(c5(e,(e,t)=>e.concat(t),[]),e=>`[${cD(e,e=>fz(e)).join(", ")}]`),r=cD(t,(e,t)=>` ${t+1}. ${e}`);return a+`one of these possible Token sequences: +${r.join("\n")}`+s}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){let i="Expecting: ",a="\nbut found: '"+cP(t).image+"'";if(r)return i+r+a;{let t=cD(e,e=>`[${cD(e,e=>fz(e)).join(",")}]`);return i+`expecting at least one iteration which starts with one of these possible Token sequences:: + <${t.join(" ,")}>`+a}}};Object.freeze(f2);var f3={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},f4={buildDuplicateFoundError(e,t){function r(e){return e instanceof pv?e.terminalType.name:e instanceof pc?e.nonTerminalName:""}tD(r,"getExtraProductionArgument");let n=e.name,i=cP(t),a=i.idx,s=pS(i),o=r(i),l=`->${s}${a>0?a:""}<- ${o?`with argument: ->${o}<-`:""} + appears more than once (${t.length} times) in the top level rule: ->${n}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return(l=l.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:e=>`Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){let t=cD(e.prefixPath,e=>fz(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in <OR${r}> inside <${e.topLevelRule.name}> Rule, +<${t}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`},buildAlternationAmbiguityError(e){let t=0===e.alternation.idx?"":e.alternation.idx,r=0===e.prefixPath.length,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${e.topLevelRule.name}> Rule, +`;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable. +Only the last alternative may be empty. +`;else{let t=cD(e.prefixPath,e=>fz(e)).join(", ");n+=`<${t}> may appears as a prefix path in all these alternatives. +`}return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`},buildEmptyRepetitionError(e){let t=pS(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives: +<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. + has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){let t=e.topLevelRule.name,r=cD(e.leftRecursionPath,e=>e.name),n=`${t} --> ${r.concat([t]).join(" --\x3e ")}`;return`Left Recursion found in grammar. +rule: <${t}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${n} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof pp?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function f9(e,t){let r=new f5(e,t);return r.resolveRefs(),r.errors}tD(f9,"resolveGrammar");var f5=class extends pE{static{tD(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){cb(cU(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:eX.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},f6=class extends pk{static{tD(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=uO(this.path.ruleStack).reverse(),this.occurrenceStack=uO(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){cQ(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},f7=class extends f6{static{tD(this,"NextAfterTokenWalker")}constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new pf({definition:t.concat(r)});this.possibleTokTypes=pN(e),this.found=!0}}},f8=class extends pk{static{tD(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},de=class extends f8{static{tD(this,"NextTerminalAfterManyWalker")}walkMany(e,t,r){if(e.idx===this.occurrence){let e=cP(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pv&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,r)}},dt=class extends f8{static{tD(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,r){if(e.idx===this.occurrence){let e=cP(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pv&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,r)}},dr=class extends f8{static{tD(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let e=cP(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pv&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,r)}},dn=class extends f8{static{tD(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let e=cP(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof pv&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,r)}};function di(e,t,r=[]){r=uO(r);let n=[],i=0;function a(t){return t.concat(c$(e,i+1))}function s(e){let i=di(a(e),t,r);return n.concat(i)}for(tD(a,"remainingPathWith"),tD(s,"getAlternativesForProd");r.length<t&&i<e.length;){let t=e[i];if(t instanceof pf)return s(t.definition);if(t instanceof pc)return s(t.definition);if(t instanceof pd)n=s(t.definition);else if(t instanceof pm)return s(t.definition.concat([new py({definition:t.definition})]));else if(t instanceof ph)return s([new pf({definition:t.definition}),new py({definition:[new pv({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof pg)n=s(t.definition.concat([new py({definition:[new pv({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof py)n=s(t.definition.concat([new py({definition:t.definition})]));else if(t instanceof pT)return cb(t.definition,e=>{!1===cQ(e.definition)&&(n=s(e.definition))}),n;else if(t instanceof pv)r.push(t.terminalType);else throw Error("non exhaustive match");i++}return n.push({partialPath:r,suffixDef:c$(e,i)}),n}function da(e,t,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",o=!1,l=t.length,u=l-n-1,c=[],p=[];for(p.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!cQ(p);){let e=p.pop();if(e===s){o&&cv(p).idx<=u&&p.pop();continue}let n=e.def,f=e.idx,d=e.ruleStack,m=e.occurrenceStack;if(cQ(n))continue;let h=n[0];if(h===i){let e={idx:f,def:c$(n),ruleStack:cR(d),occurrenceStack:cR(m)};p.push(e)}else if(h instanceof pv)if(f<l-1){let e=f+1;if(r(t[e],h.terminalType)){let t={idx:e,def:c$(n),ruleStack:d,occurrenceStack:m};p.push(t)}}else if(f===l-1)c.push({nextTokenType:h.terminalType,nextTokenOccurrence:h.idx,ruleStack:d,occurrenceStack:m}),o=!0;else throw Error("non exhaustive match");else if(h instanceof pc){let e=uO(d);e.push(h.nonTerminalName);let t=uO(m);t.push(h.idx);let r={idx:f,def:h.definition.concat(a,c$(n)),ruleStack:e,occurrenceStack:t};p.push(r)}else if(h instanceof pd){let e={idx:f,def:c$(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t={idx:f,def:h.definition.concat(c$(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof pm){let e=new py({definition:h.definition,idx:h.idx}),t={idx:f,def:h.definition.concat([e],c$(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof ph){let e=new py({definition:[new pv({terminalType:h.separator})].concat(h.definition),idx:h.idx}),t={idx:f,def:h.definition.concat([e],c$(n)),ruleStack:d,occurrenceStack:m};p.push(t)}else if(h instanceof pg){let e={idx:f,def:c$(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t=new py({definition:[new pv({terminalType:h.separator})].concat(h.definition),idx:h.idx}),r={idx:f,def:h.definition.concat([t],c$(n)),ruleStack:d,occurrenceStack:m};p.push(r)}else if(h instanceof py){let e={idx:f,def:c$(n),ruleStack:d,occurrenceStack:m};p.push(e),p.push(s);let t=new py({definition:h.definition,idx:h.idx}),r={idx:f,def:h.definition.concat([t],c$(n)),ruleStack:d,occurrenceStack:m};p.push(r)}else if(h instanceof pT)for(let e=h.definition.length-1;e>=0;e--){let t={idx:f,def:h.definition[e].definition.concat(c$(n)),ruleStack:d,occurrenceStack:m};p.push(t),p.push(s)}else if(h instanceof pf)p.push({idx:f,def:h.definition.concat(c$(n)),ruleStack:d,occurrenceStack:m});else if(h instanceof pp)p.push(ds(h,f,d,m));else throw Error("non exhaustive match")}return c}function ds(e,t,r,n){let i=uO(r);i.push(e.name);let a=uO(n);return a.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:a}}function dl(e){if(e instanceof pd||"Option"===e)return eQ.OPTION;if(e instanceof py||"Repetition"===e)return eQ.REPETITION;if(e instanceof pm||"RepetitionMandatory"===e)return eQ.REPETITION_MANDATORY;if(e instanceof ph||"RepetitionMandatoryWithSeparator"===e)return eQ.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof pg||"RepetitionWithSeparator"===e)return eQ.REPETITION_WITH_SEPARATOR;else if(e instanceof pT||"Alternation"===e)return eQ.ALTERNATION;else throw Error("non exhaustive match")}function du(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:i}=e,a=dl(n);return a===eQ.ALTERNATION?d$(t,r,i):dR(t,r,a,i)}function dc(e,t,r,n,i,a){let s=d$(e,t,r),o=dA(s)?fA:fb;return a(s,n,o,i)}function dp(e,t,r,n,i,a){let s=dR(e,t,i,r),o=dA(s)?fA:fb;return a(s[0],o,n)}function df(e,t,r,n){let i=e.length,a=cS(e,e=>cS(e,e=>1===e.length));if(t)return function(t){let n=cD(t,e=>e.GATE);for(let t=0;t<i;t++){let i=e[t],a=i.length,s=n[t];if(void 0===s||!1!==s.call(this))r:for(let e=0;e<a;e++){let n=i[e],a=n.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),n[e]))continue r;return t}}};if(!a||n)return function(){for(let t=0;t<i;t++){let n=e[t],i=n.length;r:for(let e=0;e<i;e++){let i=n[e],a=i.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),i[e]))continue r;return t}}};{let t=c5(cD(e,e=>lI(e)),(e,t,r)=>(cb(t,t=>{cz(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),cb(t.categoryMatches,t=>{cz(e,t)||(e[t]=r)})}),e),{});return function(){return t[this.LA(1).tokenTypeIdx]}}}function dd(e,t,r){let n=cS(e,e=>1===e.length),i=e.length;if(!n||r)return function(){r:for(let r=0;r<i;r++){let n=e[r],i=n.length;for(let e=0;e<i;e++)if(!1===t(this.LA(e+1),n[e]))continue r;return!0}return!1};{let t=lI(e);if(1===t.length&&cQ(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=c5(t,(e,t,r)=>(e[t.tokenTypeIdx]=!0,cb(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}tD(di,"possiblePathsFrom"),tD(da,"nextPossibleTokensAfter"),tD(ds,"expandTopLevelRule"),(l=eQ||(eQ={}))[l.OPTION=0]="OPTION",l[l.REPETITION=1]="REPETITION",l[l.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",l[l.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",l[l.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",l[l.ALTERNATION=5]="ALTERNATION",tD(dl,"getProdType"),tD(du,"getLookaheadPaths"),tD(dc,"buildLookaheadFuncForOr"),tD(dp,"buildLookaheadFuncForOptionalProd"),tD(df,"buildAlternativesLookAheadFunc"),tD(dd,"buildSingleAlternativeLookaheadFunction");var dm=class extends pk{static{tD(this,"RestDefinitionFinderWalker")}constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,eQ.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,eQ.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,eQ.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,eQ.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}},dh=class extends pE{static{tD(this,"InsideDefinitionFinderVisitor")}constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,eQ.OPTION)}visitRepetition(e){this.checkIsTarget(e,eQ.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,eQ.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,eQ.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,eQ.ALTERNATION)}};function dy(e){let t=Array(e);for(let r=0;r<e;r++)t[r]=[];return t}function dg(e){let t=[""];for(let r=0;r<e.length;r++){let n=e[r],i=[];for(let e=0;e<t.length;e++){let r=t[e];i.push(r+"_"+n.tokenTypeIdx);for(let e=0;e<n.categoryMatches.length;e++){let t="_"+n.categoryMatches[e];i.push(r+t)}}t=i}return t}function dT(e,t,r){for(let n=0;n<e.length;n++){if(n===r)continue;let i=e[n];for(let e=0;e<t.length;e++)if(!0===i[t[e]])return!1}return!0}function dv(e,t){let r=cD(e,e=>di([e],1)),n=dy(r.length),i=cD(r,e=>{let t={};return cb(e,e=>{cb(dg(e.partialPath),e=>{t[e]=!0})}),t}),a=r;for(let e=1;e<=t;e++){let r=a;a=dy(r.length);for(let s=0;s<r.length;s++){let o=r[s];for(let r=0;r<o.length;r++){let l=o[r].partialPath,u=o[r].suffixDef,c=dg(l);if(dT(i,c,s)||cQ(u)||l.length===t){let e=n[s];if(!1===dE(e,l)){e.push(l);for(let e=0;e<c.length;e++){let t=c[e];i[s][t]=!0}}}else{let t=di(u,e+1,l);a[s]=a[s].concat(t),cb(t,e=>{cb(dg(e.partialPath),e=>{i[s][e]=!0})})}}}}return n}function d$(e,t,r,n){let i=new dh(e,eQ.ALTERNATION,n);return t.accept(i),dv(i.result,r)}function dR(e,t,r,n){let i=new dh(e,r);t.accept(i);let a=i.result,s=new dm(t,e,r).startWalking();return dv([new pf({definition:a}),new pf({definition:s})],n)}function dE(e,t){n:for(let r=0;r<e.length;r++){let n=e[r];if(n.length===t.length){for(let e=0;e<n.length;e++){let r=t[e],i=n[e];if(!1==(r===i||void 0!==i.categoryMatchesMap[r.tokenTypeIdx]))continue n}return!0}}return!1}function db(e,t){return e.length<t.length&&cS(e,(e,r)=>{let n=t[r];return e===n||n.categoryMatchesMap[e.tokenTypeIdx]})}function dA(e){return cS(e,e=>cS(e,e=>cS(e,e=>cQ(e.categoryMatches))))}function dC(e){return cD(e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),e=>Object.assign({type:eX.CUSTOM_LOOKAHEAD_VALIDATION},e))}function dS(e,t,r,n){let i=cL(e,e=>dk(e,r)),a=dq(e,t,r),s=cL(e,e=>dF(e,r)),o=cL(e,t=>dI(t,e,n,r));return i.concat(a,s,o)}function dk(e,t){let r=new dw;return e.accept(r),cD(cU(c4(cj(r.allProductions,dx),e=>e.length>1)),r=>{let n=cP(r),i=t.buildDuplicateFoundError(e,r),a=pS(n),s={message:i,type:eX.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:n.idx},o=dN(n);return o&&(s.parameter=o),s})}function dx(e){return`${pS(e)}_#_${e.idx}_#_${dN(e)}`}function dN(e){return e instanceof pv?e.terminalType.name:e instanceof pc?e.nonTerminalName:""}tD(dy,"initializeArrayOfArrays"),tD(dg,"pathToHashKeys"),tD(dT,"isUniquePrefixHash"),tD(dv,"lookAheadSequenceFromAlternatives"),tD(d$,"getLookaheadPathsForOr"),tD(dR,"getLookaheadPathsForOptionalProd"),tD(dE,"containsPath"),tD(db,"isStrictPrefixOfPath"),tD(dA,"areTokenCategoriesNotUsed"),tD(dC,"validateLookahead"),tD(dS,"validateGrammar"),tD(dk,"validateDuplicateProductions"),tD(dx,"identifyProductionForDuplicates"),tD(dN,"getExtraProductionArgument");var dw=class extends pE{static{tD(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function dI(e,t,r,n){let i=[];if(c5(t,(t,r)=>r.name===e.name?t+1:t,0)>1){let t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});i.push({message:t,type:eX.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}function d_(e,t,r){let n=[];return cW(t,e)||n.push({message:`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,type:eX.INVALID_RULE_OVERRIDE,ruleName:e}),n}function dP(e,t,r,n=[]){let i=[],a=dO(t.definition);if(cQ(a))return[];{let t=e.name;cW(a,e)&&i.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:eX.LEFT_RECURSION,ruleName:t});let s=cL(cT(a,n.concat([e])),t=>{let i=uO(n);return i.push(t),dP(e,t,r,i)});return i.concat(s)}}function dO(e){let t=[];if(cQ(e))return t;let r=cP(e);if(r instanceof pc)t.push(r.referencedRule);else if(r instanceof pf||r instanceof pd||r instanceof pm||r instanceof ph||r instanceof pg||r instanceof py)t=t.concat(dO(r.definition));else if(r instanceof pT)t=lI(cD(r.definition,e=>dO(e.definition)));else if(r instanceof pv);else throw Error("non exhaustive match");let n=pA(r),i=e.length>1;if(!n||!i)return t;{let r=c$(e);return t.concat(dO(r))}}tD(dI,"validateRuleDoesNotAlreadyExist"),tD(d_,"validateRuleIsOverridden"),tD(dP,"validateNoLeftRecursion"),tD(dO,"getFirstNoneTerminal");var dD=class extends pE{static{tD(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function dL(e,t){let r=new dD;return e.accept(r),cL(r.alternations,r=>cL(cR(r.definition),(n,i)=>cQ(da([n],[],fb,1))?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:i}),type:eX.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:i+1}]:[]))}function dM(e,t,r){let n=new dD;e.accept(n);let i=n.alternations;return cL(i=c6(i,e=>!0===e.ignoreAmbiguities),n=>{let i=d$(n.idx,e,n.maxLookahead||t,n),a=dz(i,n,e,r),s=dK(i,n,e,r);return a.concat(s)})}tD(dL,"validateEmptyOrAlternative"),tD(dM,"validateAmbiguousAlternationAlternatives");var dj=class extends pE{static{tD(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function dF(e,t){let r=new dD;return e.accept(r),cL(r.alternations,r=>r.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:eX.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[])}function dG(e,t,r){let n=[];return cb(e,e=>{let i=new dj;e.accept(i),cb(i.allProductions,i=>{let a=dl(i),s=i.maxLookahead||t;if(cQ(lI(dR(i.idx,e,a,s)[0]))){let t=r.buildEmptyRepetitionError({topLevelRule:e,repetition:i});n.push({message:t,type:eX.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),n}function dz(e,t,r,n){let i=[];return cD(c5(e,(r,n,a)=>(!0===t.definition[a].ignoreAmbiguities||cb(n,n=>{let s=[a];cb(e,(e,r)=>{a!==r&&dE(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&s.push(r)}),s.length>1&&!dE(i,n)&&(i.push(n),r.push({alts:s,path:n}))}),r),[]),e=>{let i=cD(e.alts,e=>e+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:eX.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}})}function dK(e,t,r,n){let i=c5(e,(e,t,r)=>{let n=cD(t,e=>({idx:r,path:e}));return e.concat(n)},[]);return uD(cL(i,e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];let a=e.idx,s=e.path;return cD(cx(i,e=>!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<a&&db(e.path,s)),e=>{let i=[e.idx+1,a+1],s=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:eX.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:s,alternatives:i}})}))}function dq(e,t,r){let n=[],i=cD(t,e=>e.name);return cb(e,e=>{let t=e.name;if(cW(i,t)){let i=r.buildNamespaceConflictError(e);n.push({message:i,type:eX.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),n}function dU(e){let t=cm(e,{errMsgProvider:f3}),r={};return cb(e.rules,e=>{r[e.name]=e}),f9(r,t.errMsgProvider)}function dB(e){return dS((e=cm(e,{errMsgProvider:f4})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}tD(dF,"validateTooManyAlts"),tD(dG,"validateSomeNonEmptyLookaheadPath"),tD(dz,"checkAlternativesAmbiguities"),tD(dK,"checkPrefixAlternativesAmbiguities"),tD(dq,"checkTerminalAndNoneTerminalsNameSpace"),tD(dU,"resolveGrammar"),tD(dB,"validateGrammar");var dW="MismatchedTokenException",dV="NoViableAltException",dH="EarlyExitException",dY="NotAllInputParsedException",dQ=[dW,dV,dH,dY];function dZ(e){return cW(dQ,e.name)}Object.freeze(dQ),tD(dZ,"isRecognitionException");var dX=class extends Error{static{tD(this,"RecognitionException")}constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},dJ=class extends dX{static{tD(this,"MismatchedTokenException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dW}},d0=class extends dX{static{tD(this,"NoViableAltException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dV}},d1=class extends dX{static{tD(this,"NotAllInputParsedException")}constructor(e,t){super(e,t),this.name=dY}},d2=class extends dX{static{tD(this,"EarlyExitException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=dH}},d3={},d4="InRuleRecoveryException",d9=class extends Error{static{tD(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=d4}},d5=class{static{tD(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=cz(e,"recoveryEnabled")?e.recoveryEnabled:mI.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=d6)}getTokenToInsert(e){let t=f0(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let i=this.findReSyncTokenType(),a=this.exportLexerState(),s=[],o=!1,l=this.LA(1),u=this.LA(1),c=tD(()=>{let e=this.LA(0),t=new dJ(this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=cR(s),this.SAVE_ERROR(t)},"generateErrorMessage");for(;!o;)if(this.tokenMatcher(u,n))return void c();else if(r.call(this)){c(),e.apply(this,t);return}else this.tokenMatcher(u,i)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(!1===r||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new d9("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||cQ(t))return!1;let r=this.LA(1);return void 0!==c_(t,e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return cW(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=c_(e,e=>f1(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return d3;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return cD(e,(r,n)=>0===n?d3:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){return lI(cD(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===d3)return[fJ];let t=e.ruleName+e.idxInCallingRule+pP+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,fJ)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return cR(t)}attemptInRepetitionRecovery(e,t,r,n,i,a,s){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:uO(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return cD(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function d6(e,t,r,n,i,a,s){let o=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence,p=l.isEndOfRule;1===this.RULE_STACK.length&&p&&void 0===u&&(u=fJ,c=1),void 0!==u&&void 0!==c&&this.shouldInRepetitionRecoveryBeTried(u,c,s)&&this.tryInRepetitionRecovery(e,t,r,u)}tD(d6,"attemptInRepetitionRecovery");function d7(e,t,r){return r|t|e}tD(d7,"getKeyForAutomaticLookahead");var d8=class{static{tD(this,"LLkLookaheadStrategy")}constructor(e){var t;this.maxLookahead=null!=(t=null==e?void 0:e.maxLookahead)?t:mI.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);return cQ(t)?[...t,...this.validateEmptyOrAlternatives(e.rules),...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]:t}validateNoLeftRecursion(e){return cL(e,e=>dP(e,e,f4))}validateEmptyOrAlternatives(e){return cL(e,e=>dL(e,f4))}validateAmbiguousAlternationAlternatives(e,t){return cL(e,e=>dM(e,t,f4))}validateSomeNonEmptyLookaheadPath(e,t){return dG(e,t,f4)}buildLookaheadForAlternation(e){return dc(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,df)}buildLookaheadForOptional(e){return dp(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,dl(e.prodType),dd)}},me=class{static{tD(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=cz(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:mI.dynamicTokensEnabled,this.maxLookahead=cz(e,"maxLookahead")?e.maxLookahead:mI.maxLookahead,this.lookaheadStrategy=cz(e,"lookaheadStrategy")?e.lookaheadStrategy:new d8({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){cb(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:r,option:n,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:s}=mr(e);cb(t,t=>{let r=0===t.idx?"":t.idx;this.TRACE_INIT(`${pS(t)}${r}`,()=>{let r=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),n=d7(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(n,r)})}),cb(r,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,pS(t))}),cb(n,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,pS(t))}),cb(i,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,pS(t))}),cb(a,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,pS(t))}),cb(s,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,pS(t))})})})}computeLookaheadFunc(e,t,r,n,i,a){this.TRACE_INIT(`${a}${0===t?"":t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),s=d7(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(s,a)})}getKeyForAutomaticLookahead(e,t){return d7(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},mt=new class extends pE{static{tD(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function mr(e){mt.reset(),e.accept(mt);let t=mt.dslMethods;return mt.reset(),t}function mn(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function mi(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function ma(e,t,r){void 0===e.children[r]?e.children[r]=[t]:e.children[r].push(t)}function ms(e,t,r){void 0===e.children[t]?e.children[t]=[r]:e.children[t].push(r)}function mo(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function ml(e,t){let r=oU(e),n=r.length;for(let i=0;i<n;i++){let n=e[r[i]],a=n.length;for(let e=0;e<a;e++){let r=n[e];void 0===r.tokenTypeIdx&&this[r.name](r.children,t)}}}function mu(e,t){let r=tD(function(){},"derivedConstructor");return mo(r,e+"BaseSemantics"),r.prototype={visit:tD(function(e,t){if(sh(e)&&(e=e[0]),!c0(e))return this[e.name](e.children,t)},"visit"),validateVisitor:tD(function(){let e=mp(this,t);if(!cQ(e)){let t=cD(e,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${t.join("\n\n").replace(/\n/g,"\n ")}`)}},"validateVisitor")},r.prototype.constructor=r,r._RULE_NAMES=t,r}function mc(e,t,r){let n=tD(function(){},"derivedConstructor");mo(n,e+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return cb(t,e=>{i[e]=ml}),n.prototype=i,n.prototype.constructor=n,n}function mp(e,t){return mf(e,t)}function mf(e,t){return uD(cD(cx(t,t=>!1===sD(e[t])),t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:eZ.MISSING_METHOD,methodName:t})))}tD(mr,"collectMethods"),tD(mn,"setNodeLocationOnlyOffset"),tD(mi,"setNodeLocationFull"),tD(ma,"addTerminalToCst"),tD(ms,"addNoneTerminalToCst"),tD(mo,"defineNameProp"),tD(ml,"defaultVisit"),tD(mu,"createBaseSemanticVisitorConstructor"),tD(mc,"createBaseVisitorConstructorWithDefaults"),(u=eZ||(eZ={}))[u.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",u[u.MISSING_METHOD=1]="MISSING_METHOD",tD(mp,"validateVisitor"),tD(mf,"validateMissingCstMethods");var md=class{static{tD(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=cz(e,"nodeLocationTracking")?e.nodeLocationTracking:mI.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=mi,this.setNodeLocationFromNode=mi,this.cstPostRule=sJ,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=sJ,this.setNodeLocationFromNode=sJ,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=mn,this.setNodeLocationFromNode=mn,this.cstPostRule=sJ,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=sJ,this.setNodeLocationFromNode=sJ,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=sJ,this.setNodeLocationFromNode=sJ,this.cstPostRule=sJ,this.setInitialNodeLocation=sJ;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);else this.cstInvocationStateUpdate=sJ,this.cstFinallyStateUpdate=sJ,this.cstPostTerminal=sJ,this.cstPostNonTerminal=sJ,this.cstPostRule=sJ}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];ma(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];ms(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(c0(this.baseCstVisitorConstructor)){let e=mu(this.className,oU(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(c0(this.baseCstVisitorWithDefaultsConstructor)){let e=mc(this.className,oU(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},mm=class{static{tD(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):mw}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?mw:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},mh=class{static{tD(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=m_){if(cW(this.definedRulesNames,e)){let t={message:f4.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:eX.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=m_){let n=d_(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let i=this.defineRule(e,t,r);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(dZ(e))return!1;throw e}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return p$(cU(this.gastProductionsCache))}},my=class{static{tD(this,"RecognizerEngine")}initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=fA,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},cz(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if(sh(e)){if(cQ(e))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if(sh(e))this.tokensMap=c5(e,(e,t)=>(e[t.name]=t,e),{});else if(cz(e,"modes")&&cS(lI(cU(e.modes)),fM)){let t=pr(lI(cU(e.modes)));this.tokensMap=c5(t,(e,t)=>(e[t.name]=t,e),{})}else if(sA(e))this.tokensMap=uO(e);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=fJ;let r=cS(cz(e,"modes")?lI(cU(e.modes)):cU(e),e=>cQ(e.categoryMatches));this.tokenMatcher=r?fA:fb,fk(cU(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n=cz(r,"resyncEnabled")?r.resyncEnabled:m_.resyncEnabled,i=cz(r,"recoveryValueFunc")?r.recoveryValueFunc:m_.recoveryValueFunc,a=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a,Object.assign(!0===this.outputCst?tD(function(...r){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r);let n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):tD(function(...r){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r)}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(dZ(e)){if(i){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return r(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(n)return this.moveToTerminatedState(),r(e)}throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=i;i=tD(()=>t.call(this)&&e.call(this),"lookAheadFunc")}}else n=e;if(!0===i.call(this))return n.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=tD(()=>e.call(this)&&t.call(this),"lookAheadFunc")}}else n=t;if(!0===i.call(this)){let e=this.doSingleRepetition(n);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(n)}else throw this.raiseEarlyExitException(e,eQ.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,dr)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=tD(()=>this.tokenMatcher(this.LA(1),i),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,dn],t,1536,e,dn)}else throw this.raiseEarlyExitException(e,eQ.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=tD(()=>e.call(this)&&t.call(this),"lookaheadFunction")}}else n=t;let a=!0;for(;!0===i.call(this)&&!0===a;)a=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,de,a)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=tD(()=>this.tokenMatcher(this.LA(1),i),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,dt],t,1280,e,dt)}}repetitionSepSecondInternal(e,t,r,n,i){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,i],r,1536,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),n=sh(e)?e:e.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new d1(t,e))}}subruleInternal(e,t,r){let n;try{let i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw dZ(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),n=t):this.consumeInternalError(e,t,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n,i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new dJ(n,t,i))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&"MismatchedTokenException"===r.name&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(e){if(e.name===d4)throw r;throw e}}throw r}saveRecogState(){let e=this.errors,t=uO(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),fJ)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},mg=class{static{tD(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=cz(e,"errorMessageProvider")?e.errorMessageProvider:mI.errorMessageProvider}SAVE_ERROR(e){if(dZ(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:uO(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return uO(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),i=dR(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:a,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new d2(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=d$(e,this.getGAstProductions()[r],this.maxLookahead),i=[];for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));let a=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:i,previous:a,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new d0(s,this.LA(1),a))}},mT=class{static{tD(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if(c0(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return da([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=cP(e.ruleStack);return new f7(this.getGAstProductions()[t],e).startWalking()}},mv={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(mv);var m$=fZ({name:"RECORDING_PHASE_TOKEN",pattern:fG.NA});fk([m$]);var mR=f0(m$,"This IToken indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(mR);var mE={name:"This CSTNode indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}},mb=class{static{tD(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(t,r){return this.consumeInternalRecord(t,e,r)},this[`SUBRULE${t}`]=function(t,r){return this.subruleInternalRecord(t,e,r)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return mw}topLevelRuleRecord(e,t){try{let r=new pp({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return mA.call(this,pd,e,t)}atLeastOneInternalRecord(e,t){mA.call(this,pm,t,e)}atLeastOneSepFirstInternalRecord(e,t){mA.call(this,ph,t,e,!0)}manyInternalRecord(e,t){mA.call(this,py,t,e)}manySepFirstInternalRecord(e,t){mA.call(this,pg,t,e,!0)}orInternalRecord(e,t){return mC.call(this,e,t)}subruleInternalRecord(e,t,r){if(mk(t),!e||!1===cz(e,"ruleName")){let r=Error(`<SUBRULE${mS(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=cv(this.recordingProdStack),i=new pc({idx:t,nonTerminalName:e.ruleName,label:null==r?void 0:r.LABEL,referencedRule:void 0});return n.definition.push(i),this.outputCst?mE:mv}consumeInternalRecord(e,t,r){if(mk(t),!fP(e)){let r=Error(`<CONSUME${mS(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=cv(this.recordingProdStack),i=new pv({idx:t,terminalType:e,label:null==r?void 0:r.LABEL});return n.definition.push(i),mR}};function mA(e,t,r,n=!1){mk(r);let i=cv(this.recordingProdStack),a=sD(t)?t:t.DEF,s=new e({definition:[],idx:r});return n&&(s.separator=t.SEP),cz(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),mv}function mC(e,t){mk(t);let r=cv(this.recordingProdStack),n=!1===sh(e),i=!1===n?e:e.DEF,a=new pT({definition:[],idx:t,ignoreAmbiguities:n&&!0===e.IGNORE_AMBIGUITIES});return cz(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),a.hasPredicates=c8(i,e=>sD(e.GATE)),r.definition.push(a),cb(i,e=>{let t=new pf({definition:[]});a.definition.push(t),cz(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:cz(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),mv}function mS(e){return 0===e?"":`${e}`}function mk(e){if(e<0||e>255){let t=Error(`Invalid DSL Method idx value: <${e}> + Idx value must be a none negative value smaller than ${256}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}tD(mA,"recordProd"),tD(mC,"recordOrProd"),tD(mS,"getIdxSuffix"),tD(mk,"assertMethodIdxIsValid");var mx=class{static{tD(this,"PerformanceTracer")}initPerformanceTracer(e){if(cz(e,"traceInitPerf")){let t=e.traceInitPerf,r="number"==typeof t;this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=mI.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=pa(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}}};function mN(e,t){t.forEach(t=>{let r=t.prototype;Object.getOwnPropertyNames(r).forEach(n=>{if("constructor"===n)return;let i=Object.getOwnPropertyDescriptor(r,n);i&&(i.get||i.set)?Object.defineProperty(e.prototype,n,i):e.prototype[n]=t.prototype[n]})})}tD(mN,"applyMixins");var mw=f0(fJ,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(mw);var mI=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:f2,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),m_=Object.freeze({recoveryValueFunc:tD(()=>void 0,"recoveryValueFunc"),resyncEnabled:!0});function mP(e){return function(){return e}}(c=eX||(eX={}))[c.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",c[c.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",c[c.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",c[c.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",c[c.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",c[c.LEFT_RECURSION=5]="LEFT_RECURSION",c[c.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",c[c.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",c[c.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",c[c.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",c[c.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",c[c.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",c[c.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",c[c.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION",tD(mP,"EMPTY_ALT");var mO=class e{static{tD(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let t;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{ps(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),cb(this.definedRulesNames,e=>{let t,r=this[e].originalGrammarAction;this.TRACE_INIT(`${e} Rule`,()=>{t=this.topLevelRuleRecord(e,r)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=dU({rules:cU(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(cQ(n)&&!1===this.skipValidations){let e=dB({rules:cU(this.gastProductionsCache),tokenTypes:cU(this.tokensMap),errMsgProvider:f4,grammarName:r}),t=dC({lookaheadStrategy:this.lookaheadStrategy,rules:cU(this.gastProductionsCache),tokenTypes:cU(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(e,t)}}),cQ(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let e=pD(cU(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null==(t=(e=this.lookaheadStrategy).initialize)||t.call(e,{rules:cU(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(cU(this.gastProductionsCache))})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&!cQ(this.definitionErrors))throw t=cD(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected: + ${t.join("\n-------------------------------\n")}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),cz(t,"ignoredIssues"))throw Error("The <ignoredIssues> IParserConfig property has been deprecated.\n Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=cz(t,"skipValidations")?t.skipValidations:mI.skipValidations}};mO.DEFER_DEFINITION_ERRORS_HANDLING=!1,mN(mO,[d5,me,md,mm,my,mh,mg,mT,mb,mx]);var mD=class extends mO{static{tD(this,"EmbeddedActionsParser")}constructor(e,t=mI){let r=uO(t);r.outputCst=!1,super(e,r)}};function mL(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}function mM(){this.__data__=[],this.size=0}function mj(e,t){return e===t||e!=e&&t!=t}function mF(e,t){for(var r=e.length;r--;)if(mj(e[r][0],t))return r;return -1}tD(mL,"arrayMap"),tD(mM,"listCacheClear"),tD(mj,"eq"),tD(mF,"assocIndexOf");var mG=Array.prototype.splice;function mz(e){var t=this.__data__,r=mF(t,e);return!(r<0)&&(r==t.length-1?t.pop():mG.call(t,r,1),--this.size,!0)}function mK(e){var t=this.__data__,r=mF(t,e);return r<0?void 0:t[r][1]}function mq(e){return mF(this.__data__,e)>-1}function mU(e,t){var r=this.__data__,n=mF(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function mB(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function mW(){this.__data__=new mB,this.size=0}function mV(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function mH(e){return this.__data__.get(e)}function mY(e){return this.__data__.has(e)}tD(mz,"listCacheDelete"),tD(mK,"listCacheGet"),tD(mq,"listCacheHas"),tD(mU,"listCacheSet"),tD(mB,"ListCache"),mB.prototype.clear=mM,mB.prototype.delete=mz,mB.prototype.get=mK,mB.prototype.has=mq,mB.prototype.set=mU,tD(mW,"stackClear"),tD(mV,"stackDelete"),tD(mH,"stackGet"),tD(mY,"stackHas");var mQ="object"==typeof global&&global&&global.Object===Object&&global,mZ="object"==typeof self&&self&&self.Object===Object&&self,mX=mQ||mZ||Function("return this")(),mJ=mX.Symbol,m0=Object.prototype,m1=m0.hasOwnProperty,m2=m0.toString,m3=mJ?mJ.toStringTag:void 0;function m4(e){var t=m1.call(e,m3),r=e[m3];try{e[m3]=void 0;var n=!0}catch(e){}var i=m2.call(e);return n&&(t?e[m3]=r:delete e[m3]),i}tD(m4,"getRawTag");var m9=Object.prototype.toString;function m5(e){return m9.call(e)}tD(m5,"objectToString");var m6=mJ?mJ.toStringTag:void 0;function m7(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":m6&&m6 in Object(e)?m4(e):m5(e)}function m8(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function he(e){if(!m8(e))return!1;var t=m7(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}tD(m7,"baseGetTag"),tD(m8,"isObject"),tD(he,"isFunction");var ht=mX["__core-js_shared__"],hr=(p=/[^.]+$/.exec(ht&&ht.keys&&ht.keys.IE_PROTO||""))?"Symbol(src)_1."+p:"";function hn(e){return!!hr&&hr in e}tD(hn,"isMasked");var hi=Function.prototype.toString;function ha(e){if(null!=e){try{return hi.call(e)}catch(e){}try{return e+""}catch(e){}}return""}tD(ha,"toSource");var hs=/^\[object .+?Constructor\]$/,ho=Object.prototype,hl=Function.prototype.toString,hu=ho.hasOwnProperty,hc=RegExp("^"+hl.call(hu).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function hp(e){return!(!m8(e)||hn(e))&&(he(e)?hc:hs).test(ha(e))}function hf(e,t){return null==e?void 0:e[t]}function hd(e,t){var r=hf(e,t);return hp(r)?r:void 0}tD(hp,"baseIsNative"),tD(hf,"getValue"),tD(hd,"getNative");var hm=hd(mX,"Map"),hh=hd(Object,"create");function hy(){this.__data__=hh?hh(null):{},this.size=0}function hg(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}tD(hy,"hashClear"),tD(hg,"hashDelete");var hT=Object.prototype.hasOwnProperty;function hv(e){var t=this.__data__;if(hh){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return hT.call(t,e)?t[e]:void 0}tD(hv,"hashGet");var h$=Object.prototype.hasOwnProperty;function hR(e){var t=this.__data__;return hh?void 0!==t[e]:h$.call(t,e)}function hE(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=hh&&void 0===t?"__lodash_hash_undefined__":t,this}function hb(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function hA(){this.size=0,this.__data__={hash:new hb,map:new(hm||mB),string:new hb}}function hC(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function hS(e,t){var r=e.__data__;return hC(t)?r["string"==typeof t?"string":"hash"]:r.map}function hk(e){var t=hS(this,e).delete(e);return this.size-=!!t,t}function hx(e){return hS(this,e).get(e)}function hN(e){return hS(this,e).has(e)}function hw(e,t){var r=hS(this,e),n=r.size;return r.set(e,t),this.size+=+(r.size!=n),this}function hI(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function h_(e,t){var r=this.__data__;if(r instanceof mB){var n=r.__data__;if(!hm||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new hI(n)}return r.set(e,t),this.size=r.size,this}function hP(e){var t=this.__data__=new mB(e);this.size=t.size}function hO(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}function hD(e){return this.__data__.has(e)}function hL(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new hI;++t<r;)this.add(e[t])}function hM(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function hj(e,t){return e.has(t)}function hF(e,t,r,n,i,a){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var p=-1,f=!0,d=2&r?new hL:void 0;for(a.set(e,t),a.set(t,e);++p<o;){var m=e[p],h=t[p];if(n)var y=s?n(h,m,p,t,e,a):n(m,h,p,e,t,a);if(void 0!==y){if(y)continue;f=!1;break}if(d){if(!hM(t,function(e,t){if(!hj(d,t)&&(m===e||i(m,e,r,n,a)))return d.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,r,n,a))){f=!1;break}}return a.delete(e),a.delete(t),f}tD(hR,"hashHas"),tD(hE,"hashSet"),tD(hb,"Hash"),hb.prototype.clear=hy,hb.prototype.delete=hg,hb.prototype.get=hv,hb.prototype.has=hR,hb.prototype.set=hE,tD(hA,"mapCacheClear"),tD(hC,"isKeyable"),tD(hS,"getMapData"),tD(hk,"mapCacheDelete"),tD(hx,"mapCacheGet"),tD(hN,"mapCacheHas"),tD(hw,"mapCacheSet"),tD(hI,"MapCache"),hI.prototype.clear=hA,hI.prototype.delete=hk,hI.prototype.get=hx,hI.prototype.has=hN,hI.prototype.set=hw,tD(h_,"stackSet"),tD(hP,"Stack"),hP.prototype.clear=mW,hP.prototype.delete=mV,hP.prototype.get=mH,hP.prototype.has=mY,hP.prototype.set=h_,tD(hO,"setCacheAdd"),tD(hD,"setCacheHas"),tD(hL,"SetCache"),hL.prototype.add=hL.prototype.push=hO,hL.prototype.has=hD,tD(hM,"arraySome"),tD(hj,"cacheHas"),tD(hF,"equalArrays");var hG=mX.Uint8Array;function hz(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function hK(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}tD(hz,"mapToArray"),tD(hK,"setToArray");var hq=mJ?mJ.prototype:void 0,hU=hq?hq.valueOf:void 0;function hB(e,t,r,n,i,a,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!a(new hG(e),new hG(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return mj(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=hz;case"[object Set]":var l=1&n;if(o||(o=hK),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var c=hF(o(e),o(t),n,i,a,s);return s.delete(e),c;case"[object Symbol]":if(hU)return hU.call(e)==hU.call(t)}return!1}function hW(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}tD(hB,"equalByTag"),tD(hW,"arrayPush");var hV=Array.isArray;function hH(e,t,r){var n=t(e);return hV(e)?n:hW(n,r(e))}function hY(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function hQ(){return[]}tD(hH,"baseGetAllKeys"),tD(hY,"arrayFilter"),tD(hQ,"stubArray");var hZ=Object.prototype.propertyIsEnumerable,hX=Object.getOwnPropertySymbols,hJ=hX?function(e){return null==e?[]:hY(hX(e=Object(e)),function(t){return hZ.call(e,t)})}:hQ;function h0(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function h1(e){return null!=e&&"object"==typeof e}function h2(e){return h1(e)&&"[object Arguments]"==m7(e)}tD(h0,"baseTimes"),tD(h1,"isObjectLike"),tD(h2,"baseIsArguments");var h3=Object.prototype,h4=h3.hasOwnProperty,h9=h3.propertyIsEnumerable,h5=h2(function(){return arguments}())?h2:function(e){return h1(e)&&h4.call(e,"callee")&&!h9.call(e,"callee")};function h6(){return!1}tD(h6,"stubFalse");var h7="object"==typeof exports&&exports&&!exports.nodeType&&exports,h8=h7&&"object"==typeof module&&module&&!module.nodeType&&module,ye=h8&&h8.exports===h7?mX.Buffer:void 0,yt=(ye?ye.isBuffer:void 0)||h6,yr=/^(?:0|[1-9]\d*)$/;function yn(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&yr.test(e))&&e>-1&&e%1==0&&e<t}function yi(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}tD(yn,"isIndex"),tD(yi,"isLength");var ya={};function ys(e){return h1(e)&&yi(e.length)&&!!ya[m7(e)]}function yo(e){return function(t){return e(t)}}ya["[object Float32Array]"]=ya["[object Float64Array]"]=ya["[object Int8Array]"]=ya["[object Int16Array]"]=ya["[object Int32Array]"]=ya["[object Uint8Array]"]=ya["[object Uint8ClampedArray]"]=ya["[object Uint16Array]"]=ya["[object Uint32Array]"]=!0,ya["[object Arguments]"]=ya["[object Array]"]=ya["[object ArrayBuffer]"]=ya["[object Boolean]"]=ya["[object DataView]"]=ya["[object Date]"]=ya["[object Error]"]=ya["[object Function]"]=ya["[object Map]"]=ya["[object Number]"]=ya["[object Object]"]=ya["[object RegExp]"]=ya["[object Set]"]=ya["[object String]"]=ya["[object WeakMap]"]=!1,tD(ys,"baseIsTypedArray"),tD(yo,"baseUnary");var yl="object"==typeof exports&&exports&&!exports.nodeType&&exports,yu=yl&&"object"==typeof module&&module&&!module.nodeType&&module,yc=yu&&yu.exports===yl&&mQ.process,yp=function(){try{var e=yu&&yu.require&&yu.require("util").types;if(e)return e;return yc&&yc.binding&&yc.binding("util")}catch(e){}}(),yf=yp&&yp.isTypedArray,yd=yf?yo(yf):ys,ym=Object.prototype.hasOwnProperty;function yh(e,t){var r=hV(e),n=!r&&h5(e),i=!r&&!n&&yt(e),a=!r&&!n&&!i&&yd(e),s=r||n||i||a,o=s?h0(e.length,String):[],l=o.length;for(var u in e)(t||ym.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||yn(u,l)))&&o.push(u);return o}tD(yh,"arrayLikeKeys");var yy=Object.prototype;function yg(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||yy)}function yT(e,t){return function(r){return e(t(r))}}tD(yg,"isPrototype"),tD(yT,"overArg");var yv=yT(Object.keys,Object),y$=Object.prototype.hasOwnProperty;function yR(e){if(!yg(e))return yv(e);var t=[];for(var r in Object(e))y$.call(e,r)&&"constructor"!=r&&t.push(r);return t}function yE(e){return null!=e&&yi(e.length)&&!he(e)}function yb(e){return yE(e)?yh(e):yR(e)}function yA(e){return hH(e,yb,hJ)}tD(yR,"baseKeys"),tD(yE,"isArrayLike"),tD(yb,"keys"),tD(yA,"getAllKeys");var yC=Object.prototype.hasOwnProperty;function yS(e,t,r,n,i,a){var s=1&r,o=yA(e),l=o.length;if(l!=yA(t).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:yC.call(t,c)))return!1}var p=a.get(e),f=a.get(t);if(p&&f)return p==t&&f==e;var d=!0;a.set(e,t),a.set(t,e);for(var m=s;++u<l;){var h=e[c=o[u]],y=t[c];if(n)var g=s?n(y,h,c,t,e,a):n(h,y,c,e,t,a);if(!(void 0===g?h===y||i(h,y,r,n,a):g)){d=!1;break}m||(m="constructor"==c)}if(d&&!m){var T=e.constructor,v=t.constructor;T!=v&&"constructor"in e&&"constructor"in t&&!("function"==typeof T&&T instanceof T&&"function"==typeof v&&v instanceof v)&&(d=!1)}return a.delete(e),a.delete(t),d}tD(yS,"equalObjects");var yk=hd(mX,"DataView"),yx=hd(mX,"Promise"),yN=hd(mX,"Set"),yw=hd(mX,"WeakMap"),yI="[object Map]",y_="[object Promise]",yP="[object Set]",yO="[object WeakMap]",yD="[object DataView]",yL=ha(yk),yM=ha(hm),yj=ha(yx),yF=ha(yN),yG=ha(yw),yz=m7;(yk&&yz(new yk(new ArrayBuffer(1)))!=yD||hm&&yz(new hm)!=yI||yx&&yz(yx.resolve())!=y_||yN&&yz(new yN)!=yP||yw&&yz(new yw)!=yO)&&(yz=tD(function(e){var t=m7(e),r="[object Object]"==t?e.constructor:void 0,n=r?ha(r):"";if(n)switch(n){case yL:return yD;case yM:return yI;case yj:return y_;case yF:return yP;case yG:return yO}return t},"getTag"));var yK=yz,yq="[object Arguments]",yU="[object Array]",yB="[object Object]",yW=Object.prototype.hasOwnProperty;function yV(e,t,r,n,i,a){var s=hV(e),o=hV(t),l=s?yU:yK(e),u=o?yU:yK(t);l=l==yq?yB:l,u=u==yq?yB:u;var c=l==yB,p=u==yB,f=l==u;if(f&&yt(e)){if(!yt(t))return!1;s=!0,c=!1}if(f&&!c)return a||(a=new hP),s||yd(e)?hF(e,t,r,n,i,a):hB(e,t,l,r,n,i,a);if(!(1&r)){var d=c&&yW.call(e,"__wrapped__"),m=p&&yW.call(t,"__wrapped__");if(d||m){var h=d?e.value():e,y=m?t.value():t;return a||(a=new hP),i(h,y,r,n,a)}}return!!f&&(a||(a=new hP),yS(e,t,r,n,i,a))}function yH(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(h1(e)||h1(t))?yV(e,t,r,n,yH,i):e!=e&&t!=t)}function yY(e,t,r,n){var i=r.length,a=i,s=!n;if(null==e)return!a;for(e=Object(e);i--;){var o=r[i];if(s&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<a;){var l=(o=r[i])[0],u=e[l],c=o[1];if(s&&o[2]){if(void 0===u&&!(l in e))return!1}else{var p=new hP;if(n)var f=n(u,c,l,e,t,p);if(!(void 0===f?yH(c,u,3,n,p):f))return!1}}return!0}function yQ(e){return e==e&&!m8(e)}function yZ(e){for(var t=yb(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,yQ(i)]}return t}function yX(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}function yJ(e){var t=yZ(e);return 1==t.length&&t[0][2]?yX(t[0][0],t[0][1]):function(r){return r===e||yY(r,e,t)}}function y0(e){return"symbol"==typeof e||h1(e)&&"[object Symbol]"==m7(e)}tD(yV,"baseIsEqualDeep"),tD(yH,"baseIsEqual"),tD(yY,"baseIsMatch"),tD(yQ,"isStrictComparable"),tD(yZ,"getMatchData"),tD(yX,"matchesStrictComparable"),tD(yJ,"baseMatches"),tD(y0,"isSymbol");var y1=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y2=/^\w*$/;function y3(e,t){if(hV(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||y0(e))||y2.test(e)||!y1.test(e)||null!=t&&e in Object(t)}function y4(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=tD(function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(y4.Cache||hI),r}function y9(e){var t=y4(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}tD(y3,"isKey"),tD(y4,"memoize"),y4.Cache=hI,tD(y9,"memoizeCapped");var y5=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,y6=/\\(\\)?/g,y7=y9(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(y5,function(e,r,n,i){t.push(n?i.replace(y6,"$1"):r||e)}),t}),y8=1/0,ge=mJ?mJ.prototype:void 0,gt=ge?ge.toString:void 0;function gr(e){if("string"==typeof e)return e;if(hV(e))return mL(e,gr)+"";if(y0(e))return gt?gt.call(e):"";var t=e+"";return"0"==t&&1/e==-y8?"-0":t}function gn(e){return null==e?"":gr(e)}function gi(e,t){return hV(e)?e:y3(e,t)?[e]:y7(gn(e))}tD(gr,"baseToString"),tD(gn,"toString"),tD(gi,"castPath");var ga=1/0;function gs(e){if("string"==typeof e||y0(e))return e;var t=e+"";return"0"==t&&1/e==-ga?"-0":t}function go(e,t){t=gi(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[gs(t[r++])];return r&&r==n?e:void 0}function gl(e,t,r){var n=null==e?void 0:go(e,t);return void 0===n?r:n}function gu(e,t){return null!=e&&t in Object(e)}function gc(e,t,r){t=gi(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=gs(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&yi(i)&&yn(s,i)&&(hV(e)||h5(e))}function gp(e,t){return null!=e&&gc(e,t,gu)}function gf(e,t){return y3(e)&&yQ(t)?yX(gs(e),t):function(r){var n=gl(r,e);return void 0===n&&n===t?gp(r,e):yH(t,n,3)}}function gd(e){return e}function gm(e){return function(t){return null==t?void 0:t[e]}}function gh(e){return function(t){return go(t,e)}}function gy(e){return y3(e)?gm(gs(e)):gh(e)}function gg(e){return"function"==typeof e?e:null==e?gd:"object"==typeof e?hV(e)?gf(e[0],e[1]):yJ(e):gy(e)}function gT(e){return function(t,r,n){for(var i=-1,a=Object(t),s=n(t),o=s.length;o--;){var l=s[e?o:++i];if(!1===r(a[l],l,a))break}return t}}tD(gs,"toKey"),tD(go,"baseGet"),tD(gl,"get"),tD(gu,"baseHasIn"),tD(gc,"hasPath"),tD(gp,"hasIn"),tD(gf,"baseMatchesProperty"),tD(gd,"identity"),tD(gm,"baseProperty"),tD(gh,"basePropertyDeep"),tD(gy,"property"),tD(gg,"baseIteratee"),tD(gT,"createBaseFor");var gv=gT();function g$(e,t){return e&&gv(e,t,yb)}function gR(e,t){return function(r,n){if(null==r)return r;if(!yE(r))return e(r,n);for(var i=r.length,a=t?i:-1,s=Object(r);(t?a--:++a<i)&&!1!==n(s[a],a,s););return r}}tD(g$,"baseForOwn"),tD(gR,"createBaseEach");var gE=gR(g$);function gb(e,t){var r=-1,n=yE(e)?Array(e.length):[];return gE(e,function(e,i,a){n[++r]=t(e,i,a)}),n}function gA(e,t){return(hV(e)?mL:gb)(e,gg(t,3))}function gC(e,t){var r=[];return gE(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function gS(e,t){return(hV(e)?hY:gC)(e,gg(t,3))}function gk(e,t,r){return`${e.name}_${t}_${r}`}tD(gb,"baseMap"),tD(gA,"map"),tD(gC,"baseFilter"),tD(gS,"filter"),tD(gk,"buildATNKey");var gx=class{static{tD(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},gN=class extends gx{static{tD(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},gw=class extends gx{static{tD(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},gI=class extends gx{static{tD(this,"RuleTransition")}constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}};function g_(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};gP(t,e);let r=e.length;for(let n=0;n<r;n++){let r=e[n],i=gz(t,r,r);void 0!==i&&gZ(t,r,i)}return t}function gP(e,t){let r=t.length;for(let n=0;n<r;n++){let r=t[n],i=gJ(e,r,void 0,{type:2}),a=gJ(e,r,void 0,{type:7});i.stop=a,e.ruleToStartState.set(r,i),e.ruleToStopState.set(r,a)}}function gO(e,t,r){if(r instanceof pv)return gY(e,t,r.terminalType,r);if(r instanceof pc)return gQ(e,t,r);if(r instanceof pT)return gF(e,t,r);if(r instanceof pd)return gG(e,t,r);if(r instanceof py)return gD(e,t,r);else if(r instanceof pg)return gL(e,t,r);else if(r instanceof pm)return gM(e,t,r);else if(r instanceof ph)return gj(e,t,r);else return gz(e,t,r)}function gD(e,t,r){let n=gJ(e,t,r,{type:5});gB(e,n);let i=gW(e,t,n,r,gz(e,t,r));return gq(e,t,r,i)}function gL(e,t,r){let n=gJ(e,t,r,{type:5});gB(e,n);let i=gW(e,t,n,r,gz(e,t,r)),a=gY(e,t,r.separator,r);return gq(e,t,r,i,a)}function gM(e,t,r){let n=gJ(e,t,r,{type:4});gB(e,n);let i=gW(e,t,n,r,gz(e,t,r));return gK(e,t,r,i)}function gj(e,t,r){let n=gJ(e,t,r,{type:4});gB(e,n);let i=gW(e,t,n,r,gz(e,t,r)),a=gY(e,t,r.separator,r);return gK(e,t,r,i,a)}function gF(e,t,r){let n=gJ(e,t,r,{type:1});gB(e,n);let i=gA(r.definition,r=>gO(e,t,r));return gW(e,t,n,r,...i)}function gG(e,t,r){let n=gJ(e,t,r,{type:1});gB(e,n);let i=gW(e,t,n,r,gz(e,t,r));return gU(e,t,r,i)}function gz(e,t,r){let n=gS(gA(r.definition,r=>gO(e,t,r)),e=>void 0!==e);return 1===n.length?n[0]:0===n.length?void 0:gH(e,n)}function gK(e,t,r,n,i){let a=n.left,s=n.right,o=gJ(e,t,r,{type:11});gB(e,o);let l=gJ(e,t,r,{type:12});return a.loopback=o,l.loopback=o,e.decisionMap[gk(t,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,gX(s,o),void 0===i?(gX(o,a),gX(o,l)):(gX(o,l),gX(o,i.left),gX(i.right,a)),{left:a,right:l}}function gq(e,t,r,n,i){let a=n.left,s=n.right,o=gJ(e,t,r,{type:10});gB(e,o);let l=gJ(e,t,r,{type:12}),u=gJ(e,t,r,{type:9});return o.loopback=u,l.loopback=u,gX(o,a),gX(o,l),gX(s,u),void 0!==i?(gX(u,l),gX(u,i.left),gX(i.right,a)):gX(u,o),e.decisionMap[gk(t,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function gU(e,t,r,n){let i=n.left;return gX(i,n.right),e.decisionMap[gk(t,"Option",r.idx)]=i,n}function gB(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function gW(e,t,r,n,...i){let a=gJ(e,t,n,{type:8,start:r});for(let e of(r.end=a,i))void 0!==e?(gX(r,e.left),gX(e.right,a)):gX(r,a);return e.decisionMap[gk(t,gV(n),n.idx)]=r,{left:r,right:a}}function gV(e){if(e instanceof pT)return"Alternation";if(e instanceof pd)return"Option";if(e instanceof py)return"Repetition";if(e instanceof pg)return"RepetitionWithSeparator";if(e instanceof pm)return"RepetitionMandatory";else if(e instanceof ph)return"RepetitionMandatoryWithSeparator";else throw Error("Invalid production type encountered")}function gH(e,t){let r=t.length;for(let n=0;n<r-1;n++){let r,i=t[n];1===i.left.transitions.length&&(r=i.left.transitions[0]);let a=r instanceof gI,s=r,o=t[n+1].left;1===i.left.type&&1===i.right.type&&void 0!==r&&(a&&s.followState===i.right||r.target===i.right)?(a?s.followState=o:r.target=o,g1(e,i.right)):gX(i.right,o)}let n=t[0],i=t[r-1];return{left:n.left,right:i.right}}function gY(e,t,r,n){let i=gJ(e,t,n,{type:1}),a=gJ(e,t,n,{type:1});return g0(i,new gN(a,r)),{left:i,right:a}}function gQ(e,t,r){let n=r.referencedRule,i=e.ruleToStartState.get(n),a=gJ(e,t,r,{type:1}),s=gJ(e,t,r,{type:1});return g0(a,new gI(i,n,s)),{left:a,right:s}}function gZ(e,t,r){let n=e.ruleToStartState.get(t);gX(n,r.left);let i=e.ruleToStopState.get(t);return gX(r.right,i),{left:n,right:i}}function gX(e,t){g0(e,new gw(t))}function gJ(e,t,r,n){let i=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function g0(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function g1(e,t){e.states.splice(e.states.indexOf(t),1)}tD(g_,"createATN"),tD(gP,"createRuleStartAndStopATNStates"),tD(gO,"atom"),tD(gD,"repetition"),tD(gL,"repetitionSep"),tD(gM,"repetitionMandatory"),tD(gj,"repetitionMandatorySep"),tD(gF,"alternation"),tD(gG,"option"),tD(gz,"block"),tD(gK,"plus"),tD(gq,"star"),tD(gU,"optional"),tD(gB,"defineDecisionState"),tD(gW,"makeAlts"),tD(gV,"getProdType"),tD(gH,"makeBlock"),tD(gY,"tokenRef"),tD(gQ,"ruleRef"),tD(gZ,"buildRuleHandle"),tD(gX,"epsilon"),tD(gJ,"newState"),tD(g0,"addTransition"),tD(g1,"removeState");var g2={},g3=class{static{tD(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=g4(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return gA(this.configs,e=>e.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}};function g4(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}function g9(e,t,r){for(var n=-1,i=e.length;++n<i;){var a=e[n],s=t(a);if(null!=s&&(void 0===o?s==s&&!y0(s):r(s,o)))var o=s,l=a}return l}function g5(e,t){return e<t}function g6(e){return e&&e.length?g9(e,gd,g5):void 0}tD(g4,"getATNConfigKey"),tD(g9,"baseExtremum"),tD(g5,"baseLt"),tD(g6,"min");var g7=mJ?mJ.isConcatSpreadable:void 0;function g8(e){return hV(e)||h5(e)||!!(g7&&e&&e[g7])}function Te(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=g8),i||(i=[]);++a<s;){var o=e[a];t>0&&r(o)?t>1?Te(o,t-1,r,n,i):hW(i,o):n||(i[i.length]=o)}return i}function Tt(e,t){return Te(gA(e,t),1)}function Tr(e,t,r,n){for(var i=e.length,a=r+(n?1:-1);n?a--:++a<i;)if(t(e[a],a,e))return a;return -1}function Tn(e){return e!=e}function Ti(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return -1}function Ta(e,t,r){return t==t?Ti(e,t,r):Tr(e,Tn,r)}function Ts(e,t){return!!(null==e?0:e.length)&&Ta(e,t,0)>-1}function To(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function Tl(){}tD(g8,"isFlattenable"),tD(Te,"baseFlatten"),tD(Tt,"flatMap"),tD(Tr,"baseFindIndex"),tD(Tn,"baseIsNaN"),tD(Ti,"strictIndexOf"),tD(Ta,"baseIndexOf"),tD(Ts,"arrayIncludes"),tD(To,"arrayIncludesWith"),tD(Tl,"noop");var Tu=yN&&1/hK(new yN([,-0]))[1]==1/0?function(e){return new yN(e)}:Tl;function Tc(e,t,r){var n=-1,i=Ts,a=e.length,s=!0,o=[],l=o;if(r)s=!1,i=To;else if(a>=200){var u=t?null:Tu(e);if(u)return hK(u);s=!1,i=hj,l=new hL}else l=t?[]:o;t:for(;++n<a;){var c=e[n],p=t?t(c):c;if(c=r||0!==c?c:0,s&&p==p){for(var f=l.length;f--;)if(l[f]===p)continue t;t&&l.push(p),o.push(c)}else i(l,p,r)||(l!==o&&l.push(p),o.push(c))}return o}function Tp(e,t){return e&&e.length?Tc(e,gg(t,2)):[]}function Tf(e){return(null==e?0:e.length)?Te(e,1):[]}function Td(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function Tm(e){return"function"==typeof e?e:gd}function Th(e,t){return(hV(e)?Td:gE)(e,Tm(t))}tD(Tc,"baseUniq"),tD(Tp,"uniqBy"),tD(Tf,"flatten"),tD(Td,"arrayEach"),tD(Tm,"castFunction"),tD(Th,"forEach");var Ty=Object.prototype.hasOwnProperty;function Tg(e){if(null==e)return!0;if(yE(e)&&(hV(e)||"string"==typeof e||"function"==typeof e.splice||yt(e)||yd(e)||h5(e)))return!e.length;var t=yK(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(yg(e))return!yR(e).length;for(var r in e)if(Ty.call(e,r))return!1;return!0}function TT(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function Tv(e,t,r,n,i){return i(e,function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)}),r}function T$(e,t,r){var n=hV(e)?TT:Tv,i=arguments.length<3;return n(e,gg(t,4),r,i,gE)}function TR(e,t){let r={};return n=>{let i=n.toString(),a=r[i];return void 0!==a||(a={atnStartState:e,decision:t,states:{}},r[i]=a),a}}tD(Tg,"isEmpty"),tD(TT,"arrayReduce"),tD(Tv,"baseReduce"),tD(T$,"reduce"),tD(TR,"createDFACache");var TE=class{static{tD(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;r<t;r++)e+=!0===this.predicates[r]?"1":"0";return e}},Tb=new TE,TA=class extends d8{static{tD(this,"LLStarLookaheadStrategy")}constructor(e){var t;super(),this.logging=null!=(t=null==e?void 0:e.logging)?t:e=>console.log(e)}initialize(e){this.atn=g_(e.rules),this.dfas=TS(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=gk(r,"Alternation",t),l=this.atn.decisionMap[o].decision,u=gA(du({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),e=>gA(e,e=>e[0]));if(TC(u,!1)&&!i){let e=T$(u,(e,t,r)=>(Th(t,t=>{t&&(e[t.tokenTypeIdx]=r,Th(t.categoryMatches,t=>{e[t]=r}))}),e),{});return n?function(t){var r;let n=e[this.LA(1).tokenTypeIdx];if(void 0!==t&&void 0!==n){let e=null==(r=t[n])?void 0:r.GATE;if(void 0!==e&&!1===e.call(this))return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}return n?function(e){let t=new TE,r=void 0===e?0:e.length;for(let n=0;n<r;n++){let r=null==e?void 0:e[n].GATE;t.set(n,void 0===r||r.call(this))}let n=Tk.call(this,a,l,t,s);return"number"==typeof n?n:void 0}:function(){let e=Tk.call(this,a,l,Tb,s);return"number"==typeof e?e:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:r,prodType:n,dynamicTokensEnabled:i}=e,a=this.dfas,s=this.logging,o=gk(r,n,t),l=this.atn.decisionMap[o].decision,u=gA(du({maxLookahead:1,occurrence:t,prodType:n,rule:r}),e=>gA(e,e=>e[0]));if(TC(u)&&u[0][0]&&!i){let e=Tf(u[0]);if(1===e.length&&Tg(e[0].categoryMatches)){let t=e[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===t}}{let t=T$(e,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,Th(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return!0===t[this.LA(1).tokenTypeIdx]}}}return function(){let e=Tk.call(this,a,l,Tb,s);return"object"!=typeof e&&0===e}}};function TC(e,t=!0){let r=new Set;for(let n of e){let e=new Set;for(let i of n){if(void 0===i)if(!t)return!1;else break;for(let t of[i.tokenTypeIdx].concat(i.categoryMatches))if(r.has(t)){if(!e.has(t))return!1}else r.add(t),e.add(t)}}return!0}function TS(e){let t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=TR(e.decisionStates[n],n);return r}function Tk(e,t,r,n){let i=e[t](r),a=i.start;if(void 0===a){let e=Tz(i.atnStartState);a=TG(i,Tj(e)),i.start=a}return Tx.apply(this,[i,a,r,n])}function Tx(e,t,r,n){let i=t,a=1,s=[],o=this.LA(a++);for(;;){let t=TO(i,o);if(void 0===t&&(t=TN.apply(this,[e,i,o,a,r,n])),t===g2)return TP(s,i,o);if(!0===t.isAcceptState)return t.prediction;i=t,s.push(o),o=this.LA(a++)}}function TN(e,t,r,n,i,a){let s=TD(t.configs,r,i);if(0===s.size)return TF(e,t,r,g2),g2;let o=Tj(s),l=TM(s,i);if(void 0!==l)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(TW(s)){let t=g6(s.alts);o.isAcceptState=!0,o.prediction=t,o.configs.uniqueAlt=t,Tw.apply(this,[e,n,s.alts,a])}return TF(e,t,r,o)}function Tw(e,t,r,n){let i=[];for(let e=1;e<=t;e++)i.push(this.LA(e).tokenType);let a=e.atnStartState;n(TI({topLevelRule:a.rule,ambiguityIndices:r,production:a.production,prefixPath:i}))}function TI(e){let t=gA(e.prefixPath,e=>fz(e)).join(", "),r=0===e.production.idx?"":e.production.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${T_(e.production)}${r}> inside <${e.topLevelRule.name}> Rule, +<${t}> may appears as a prefix path in all these alternatives. +`;return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`}function T_(e){if(e instanceof pc)return"SUBRULE";if(e instanceof pd)return"OPTION";if(e instanceof pT)return"OR";if(e instanceof pm)return"AT_LEAST_ONE";if(e instanceof ph)return"AT_LEAST_ONE_SEP";else if(e instanceof pg)return"MANY_SEP";else if(e instanceof py)return"MANY";else if(e instanceof pv)return"CONSUME";else throw Error("non exhaustive match")}function TP(e,t,r){return{actualToken:r,possibleTokenTypes:Tp(Tt(t.configs.elements,e=>e.state.transitions).filter(e=>e instanceof gN).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function TO(e,t){return e.edges[t.tokenTypeIdx]}function TD(e,t,r){let n,i=new g3,a=[];for(let n of e.elements){if(!1===r.is(n.alt))continue;if(7===n.state.type){a.push(n);continue}let e=n.state.transitions.length;for(let r=0;r<e;r++){let e=TL(n.state.transitions[r],t);void 0!==e&&i.add({state:e,alt:n.alt,stack:n.stack})}}if(0===a.length&&1===i.size&&(n=i),void 0===n)for(let e of(n=new g3,i.elements))TK(e,n);if(a.length>0&&!TU(n))for(let e of a)n.add(e);return n}function TL(e,t){if(e instanceof gN&&f1(t,e.tokenType))return e.target}function TM(e,t){let r;for(let n of e.elements)if(!0===t.is(n.alt)){if(void 0===r)r=n.alt;else if(r!==n.alt)return}return r}function Tj(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function TF(e,t,r,n){return n=TG(e,n),t.edges[r.tokenTypeIdx]=n,n}function TG(e,t){if(t===g2)return t;let r=t.configs.key,n=e.states[r];return void 0!==n?n:(t.configs.finalize(),e.states[r]=t,t)}function Tz(e){let t=new g3,r=e.transitions.length;for(let n=0;n<r;n++)TK({state:e.transitions[n].target,alt:n,stack:[]},t);return t}function TK(e,t){let r=e.state;if(7===r.type){if(e.stack.length>0){let r=[...e.stack];TK({state:r.pop(),alt:e.alt,stack:r},t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let i=0;i<n;i++){let n=Tq(e,r.transitions[i]);void 0!==n&&TK(n,t)}}function Tq(e,t){if(t instanceof gw)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof gI){let r=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:r}}}function TU(e){for(let t of e.elements)if(7===t.state.type)return!0;return!1}function TB(e){for(let t of e.elements)if(7!==t.state.type)return!1;return!0}function TW(e){if(TB(e))return!0;let t=TV(e.elements);return TH(t)&&!TY(t)}function TV(e){let t=new Map;for(let r of e){let e=g4(r,!1),n=t.get(e);void 0===n&&(n={},t.set(e,n)),n[r.alt]=!0}return t}function TH(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}function TY(e){for(let t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}tD(TC,"isLL1Sequence"),tD(TS,"initATNSimulator"),tD(Tk,"adaptivePredict"),tD(Tx,"performLookahead"),tD(TN,"computeLookaheadTarget"),tD(Tw,"reportLookaheadAmbiguity"),tD(TI,"buildAmbiguityError"),tD(T_,"getProductionDslName"),tD(TP,"buildAdaptivePredictError"),tD(TO,"getExistingTargetState"),tD(TD,"computeReachSet"),tD(TL,"getReachableTarget"),tD(TM,"getUniqueAlt"),tD(Tj,"newDFAState"),tD(TF,"addDFAEdge"),tD(TG,"addDFAState"),tD(Tz,"computeStartState"),tD(TK,"closure"),tD(Tq,"getEpsilonTarget"),tD(TU,"hasConfigInRuleStopState"),tD(TB,"allConfigsInRuleStopStates"),tD(TW,"hasConflictTerminatingPrediction"),tD(TV,"getConflictingAltSets"),tD(TH,"hasConflictingAltSet"),tD(TY,"hasStateAssociatedWithOneAlt"),tq();var TQ=class{static{tD(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new T1(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new TJ;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new TX(e.startOffset,e.image.length,iz(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){let t=e.container;if(t){let r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){let t=[];for(let r of e){let e=new TX(r.startOffset,r.image.length,iz(r),r.tokenType,!0);e.root=this.rootNode,t.push(e)}let r=this.current,n=!1;if(r.content.length>0)return void r.content.push(...t);for(;r.container;){let e=r.container.content.indexOf(r);if(e>0){r.container.content.splice(e,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;"string"!=typeof e.$type||e.$infixName||(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}},TZ=class{static{tD(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e="string"==typeof this._astNode?.$type?this._astNode:this.container?.astNode;if(!e)throw Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},TX=class extends TZ{static{tD(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,n,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=n,this._length=t,this._range=r}},TJ=class extends TZ{static{tD(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new T0(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(!e||!t)return{start:$.create(0,0),end:$.create(0,0)};if(void 0===this._rangeCache){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line<r.start.line?r.start:n.end}}return this._rangeCache}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},T0=class e extends Array{static{tD(this,"CstNodeContainer")}constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,e.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(let t of e)t.container=this.parent}},T1=class extends TJ{static{tD(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}},T2=Symbol("Datatype");function T3(e){return e.$type===T2}tD(T3,"isDataTypeNode");var T4=tD(e=>e.endsWith("\u200B")?e:e+"\u200B","withRuleSuffix"),T9=class{static{tD(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,r="production"===e.LanguageMetaData.mode;e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new vr(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new vt(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},T5=class extends T9{static{tD(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new TQ,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let r,n=this.computeRuleType(e);nL(e)&&(r=e.name,this.registerPrecedenceMap(e));let i=this.wrapper.DEFINE_RULE(T4(e.name),this.startImplementation(n,r,t).bind(this));return this.allRules.set(e.name,i),n4(e)&&e.entry&&(this.mainRule=i),i}registerPrecedenceMap(e){let t=e.name,r=new Map;for(let t=0;t<e.operators.precedences.length;t++){let n=e.operators.precedences[t];for(let e of n.operators)r.set(e.value,{precedence:t,rightAssoc:"right"===n.associativity})}this.operatorPrecedence.set(t,r)}computeRuleType(e){if(nL(e))return aH(e);if(!e.fragment)if(aq(e))return T2;else return aH(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=t.rule?this.allRules.get(t.rule):this.mainRule;if(!n)throw Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let i=this.doParse(n);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,rq(i,{deep:!0}),{value:i,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let t=this.wrapper.rule(e);if(this.stack.length>0&&(t=this.construct()),void 0===t)throw Error("No result from parser");if(this.stack.length>0)throw Error("Parser stack is not empty after parsing");return t}startImplementation(e,t,r){return n=>{let i=!this.isRecording()&&void 0!==e;if(i){let r={$type:e};this.stack.push(r),e===T2?r.value="":void 0!==t&&(r.$infixName=t)}return r(n),i?this.construct():void 0}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let e=0;e<t.length;e++)if(t[e].startOffset>r)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let e=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(e);let t=this.nodeBuilder.buildLeafNode(n,r),{assignment:i,crossRef:a}=this.getAssignment(r),s=this.current;if(i){let e=nU(r)?n.image:this.converter.convert(n.image,t);this.assign(i.operator,i.feature,e,t,a)}else if(T3(s)){let e=n.image;nU(r)||(e=this.converter.convert(e,t).toString()),s.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n,i){let a,s;this.isRecording()||r||(a=this.nodeBuilder.buildCompositeNode(n));try{s=this.wrapper.wrapSubrule(e,t,i)}finally{!this.isRecording()&&(void 0!==s||r||(s=this.construct()),void 0!==s&&a&&a.length>0&&this.performSubruleAssignment(s,n,a))}}performSubruleAssignment(e,t,r){let{assignment:n,crossRef:i}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,i);else if(!n){let t=this.current;if(T3(t))t.value+=e.toString();else if("object"==typeof e&&e){let r=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(r)}}}action(e,t){if(!this.isRecording()){let r=this.current;t.feature&&t.operator?(r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode),this.stack.push({$type:e}),this.assign(t.operator,t.feature,r,r.$cstNode)):r.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return(this.nodeBuilder.construct(e),"$infixName"in e)?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):T3(e)?this.converter.convert(e.value,e.$cstNode):(r0(this.astReflection,e),e)}constructInfix(e,t){let r=e.parts;if(!Array.isArray(r)||0===r.length)return;let n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let i=0,a=-1;for(let e=0;e<n.length;e++){let r=n[e],s=t.get(r)??{precedence:1/0,rightAssoc:!1};s.precedence>a?(a=s.precedence,i=e):s.precedence!==a||s.rightAssoc||(i=e)}let s=n.slice(0,i),o=n.slice(i+1),l=r.slice(0,i+1),u=r.slice(i+1),c={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:s},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f=this.constructInfix(c,t),d=this.constructInfix(p,t);return{$type:e.$type,$cstNode:e.$cstNode,left:f,operator:n[i],right:d}}getAssignment(e){if(!this.assignmentMap.has(e)){let t=rU(e,nf);this.assignmentMap.set(e,{assignment:t,crossRef:t&&nE(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,r,n,i){let a,s=this.current;switch(a="single"===i&&"string"==typeof r?this.linker.buildReference(s,t,n,r):"multi"===i&&"string"==typeof r?this.linker.buildMultiReference(s,t,n,r):r,e){case"=":s[t]=a;break;case"?=":s[t]=!0;break;case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(a)}}assignWithoutOverride(e,t){for(let[r,n]of Object.entries(t)){let t=e[r];void 0===t?e[r]=n:Array.isArray(t)&&Array.isArray(n)&&(n.push(...t),e[r]=n)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},T6=class{static{tD(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return f2.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return f2.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return f2.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return f2.buildEarlyExitMessage(e)}},T7=class extends T6{static{tD(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:t}){let r=e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`;return`Expecting ${r} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},T8=class extends T9{static{tD(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){let r=this.wrapper.DEFINE_RULE(T4(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,t,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},ve={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new T7},vt=class extends mD{static{tD(this,"ChevrotainWrapper")}constructor(e,t){let r=t&&"maxLookahead"in t;super(e,{...ve,lookaheadStrategy:r?new d8({maxLookahead:t.maxLookahead}):new TA({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,r){return this.RULE(e,t,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}},vr=class extends vt{static{tD(this,"ProfilerWrapper")}constructor(e,t,r){super(e,t),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}};function vn(e,t,r){return vi({parser:t,tokens:r,ruleNames:new Map},e),t}function vi(e,t){let r=aC(t,!1);for(let n of rG(t.rules).filter(n4).filter(e=>r.has(e))){let t={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(n,vs(t,n.definition))}for(let n of rG(t.rules).filter(nL).filter(e=>r.has(e)))e.parser.rule(n,va(e,n))}function va(e,t){let r,n=t.call.rule.ref;if(!n)throw Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if(iy(n))throw Error("Cannot use terminal rule in infix expression");let i=t.operators.precedences.flatMap(e=>e.operators),a={$type:"Group",elements:[]},s={$container:a,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call},o={$container:a,$type:"Group",elements:[],cardinality:"*"};a.elements.push(s,o);let l={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:i}},u={...s,$container:o};o.elements.push(l,u);let c=i.map(t=>e.tokens[t.value]).map((t,r)=>({ALT:tD(()=>e.parser.consume(r,t,l),"ALT")}));return t=>{r??(r=vT(e,n)),e.parser.subrule(0,r,!1,s,t),e.parser.many(0,{DEF:tD(()=>{e.parser.alternatives(0,c),e.parser.subrule(1,r,!1,u,t)},"DEF")})}}function vs(e,t,r=!1){let n;if(nU(t))n=vy(e,t);else if(ni(t))n=vo(e,t);else if(nf(t))n=vs(e,t.terminal);else if(nE(t))n=vh(e,t);else if(ir(t))n=vl(e,t);else if(ns(t))n=vp(e,t);else if(ix(t))n=vf(e,t);else if(n_(t))n=vd(e,t);else if(nS(t)){let r=e.consume++;n=tD(()=>e.parser.consume(r,fJ,t),"method")}else throw new i9(t.$cstNode,`Unexpected element type: ${t.$type}`);return vg(e,r?void 0:vm(t),n,t.cardinality)}function vo(e,t){let r=aH(t);return()=>e.parser.action(r,t)}function vl(e,t){let r=t.rule.ref;if(r7(r)){let n,i=e.subrule++,a=n4(r)&&r.fragment,s=t.arguments.length>0?vu(r,t.arguments):()=>({});return o=>{n??(n=vT(e,r)),e.parser.subrule(i,n,a,t,s(o))}}if(iy(r)){let n=e.consume++,i=v$(e,r.name);return()=>e.parser.consume(n,i,t)}if(r)i5(r);else throw new i9(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}function vu(e,t){if(t.some(e=>e.calledByName)){let e=t.map(e=>({parameterName:e.parameter?.ref?.name,predicate:vc(e.value)}));return t=>{let r={};for(let{parameterName:n,predicate:i}of e)n&&(r[n]=i(t));return r}}{let r=t.map(e=>vc(e.value));return t=>{let n={};for(let i=0;i<r.length;i++)if(i<e.parameters.length){let a=e.parameters[i].name,s=r[i];n[a]=s(t)}return n}}}function vc(e){if(nA(e)){let t=vc(e.left),r=vc(e.right);return e=>t(e)||r(e)}if(n$(e)){let t=vc(e.left),r=vc(e.right);return e=>t(e)&&r(e)}if(nQ(e)){let t=vc(e.value);return e=>!t(e)}if(n2(e)){let t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(nm(e)){let t=!!e.true;return()=>t}i5(e)}function vp(e,t){if(1===t.elements.length)return vs(e,t.elements[0]);{let r=[];for(let n of t.elements){let t={ALT:vs(e,n,!0)},i=vm(n);i&&(t.GATE=vc(i)),r.push(t)}let n=e.or++;return t=>e.parser.alternatives(n,r.map(e=>{let r={ALT:tD(()=>e.ALT(t),"ALT")},n=e.GATE;return n&&(r.GATE=()=>n(t)),r}))}}function vf(e,t){if(1===t.elements.length)return vs(e,t.elements[0]);let r=[];for(let n of t.elements){let t={ALT:vs(e,n,!0)},i=vm(n);i&&(t.GATE=vc(i)),r.push(t)}let n=e.or++,i=tD((e,t)=>{let r=t.getRuleStack().join("-");return`uGroup_${e}_${r}`},"idFunc"),a=tD(t=>e.parser.alternatives(n,r.map((r,a)=>{let s={ALT:tD(()=>!0,"ALT")},o=e.parser;s.ALT=()=>{if(r.ALT(t),!o.isRecording()){let e=i(n,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);let t=o.unorderedGroups.get(e);void 0===t?.[a]&&(t[a]=!0)}};let l=r.GATE;return l?s.GATE=()=>l(t):s.GATE=()=>{let e=o.unorderedGroups.get(i(n,o));return!e?.[a]},s})),"alternatives"),s=vg(e,vm(t),a,"*");return t=>{s(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(i(n,e.parser))}}function vd(e,t){let r=t.elements.map(t=>vs(e,t));return e=>r.forEach(t=>t(e))}function vm(e){if(n_(e))return e.guardCondition}function vh(e,t,r=t.terminal){if(r)if(ir(r)&&n4(r.rule.ref)){let n,i=r.rule.ref,a=e.subrule++;return r=>{n??(n=vT(e,i)),e.parser.subrule(a,n,!1,t,r)}}else if(ir(r)&&iy(r.rule.ref)){let n=e.consume++,i=v$(e,r.rule.ref.name);return()=>e.parser.consume(n,i,t)}else if(nU(r)){let n=e.consume++,i=v$(e,r.value);return()=>e.parser.consume(n,i,t)}else throw Error("Could not build cross reference parser");{if(!t.type.ref)throw Error("Could not resolve reference to type: "+t.type.$refText);let r=aM(t.type.ref),n=r?.terminal;if(!n)throw Error("Could not find name assignment for type: "+aH(t.type.ref));return vh(e,t,n)}}function vy(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}function vg(e,t,r,n){let i=t&&vc(t);if(!n)if(!i)return r;else{let t=e.or++;return n=>e.parser.alternatives(t,[{ALT:tD(()=>r(n),"ALT"),GATE:tD(()=>i(n),"GATE")},{ALT:mP(),GATE:tD(()=>!i(n),"GATE")}])}if("*"===n){let t=e.many++;return n=>e.parser.many(t,{DEF:tD(()=>r(n),"DEF"),GATE:i?()=>i(n):void 0})}if("+"===n){let t=e.many++;if(!i)return n=>e.parser.atLeastOne(t,{DEF:tD(()=>r(n),"DEF")});{let n=e.or++;return a=>e.parser.alternatives(n,[{ALT:tD(()=>e.parser.atLeastOne(t,{DEF:tD(()=>r(a),"DEF")}),"ALT"),GATE:tD(()=>i(a),"GATE")},{ALT:mP(),GATE:tD(()=>!i(a),"GATE")}])}}if("?"===n){let t=e.optional++;return n=>e.parser.optional(t,{DEF:tD(()=>r(n),"DEF"),GATE:i?()=>i(n):void 0})}i5(n)}function vT(e,t){let r=vv(e,t),n=e.parser.getRule(r);if(!n)throw Error(`Rule "${r}" not found."`);return n}function vv(e,t){if(r7(t))return t.name;{if(e.ruleNames.has(t))return e.ruleNames.get(t);let r=t,n=r.$container,i=t.$type;for(;!n4(n);)(n_(n)||ns(n)||ix(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,e.ruleNames.set(t,i),i}}function v$(e,t){let r=e.tokens[t];if(!r)throw Error(`Token "${t}" not found."`);return r}function vR(e){let t=e.Grammar,r=e.parser.Lexer,n=new T8(e);return vn(t,n,r.definition),n.finalize(),n}function vE(e){let t=vb(e);return t.finalize(),t}function vb(e){let t=e.Grammar,r=e.parser.Lexer;return vn(t,new T5(e),r.definition)}tD(vn,"createParser"),tD(vi,"buildRules"),tD(va,"buildInfixRule"),tD(vs,"buildElement"),tD(vo,"buildAction"),tD(vl,"buildRuleCall"),tD(vu,"buildRuleCallPredicate"),tD(vc,"buildPredicate"),tD(vp,"buildAlternatives"),tD(vf,"buildUnorderedGroup"),tD(vd,"buildGroup"),tD(vm,"getGuardCondition"),tD(vh,"buildCrossReference"),tD(vy,"buildKeyword"),tD(vg,"wrap"),tD(vT,"getRule"),tD(vv,"getRuleName"),tD(v$,"getToken"),tD(vR,"createCompletionParser"),tD(vE,"createLangiumParser"),tD(vb,"prepareLangiumParser");var vA=class{static{tD(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,t){let r=rG(aC(e,!1)),n=this.buildTerminalTokens(r),i=this.buildKeywordTokens(r,n,t);return i.push(...n),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(iy).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=aX(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return"function"==typeof r&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=av(t)?fG.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let t=RegExp(e,e.flags+"y");return(e,r)=>(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(r7).flatMap(e=>rQ(e).filter(nU)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){let n=this.buildKeywordPattern(e,r),i={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return"function"==typeof n&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){return t?RegExp(a$(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{let n=r?.PATTERN;return n?.source&&aR("^"+n.source+"$",e.value)&&t.push(r),t},[])}},vC=class{static{tD(this,"DefaultValueConverter")}convert(e,t){let r=t.grammarSource;if(nE(r)&&(r=ax(r)),ir(r)){let n=r.rule.ref;if(!n)throw Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return eJ.convertInt(t);case"STRING":return eJ.convertString(t);case"ID":return eJ.convertID(t)}switch(aZ(e)?.toLowerCase()){case"number":return eJ.convertNumber(t);case"boolean":return eJ.convertBoolean(t);case"bigint":return eJ.convertBigint(t);case"date":return eJ.convertDate(t);default:return t}}};!function(e){function t(e){let t="";for(let n=1;n<e.length-1;n++){let i=e.charAt(n);"\\"===i?t+=r(e.charAt(++n)):t+=i}return t}function r(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return e}}function n(e){return"^"===e.charAt(0)?e.substring(1):e}function i(e){return parseInt(e)}function a(e){return BigInt(e)}function s(e){return new Date(e)}function o(e){return Number(e)}function l(e){return"true"===e.toLowerCase()}tD(t,"convertString"),e.convertString=t,tD(r,"convertEscapeCharacter"),tD(n,"convertID"),e.convertID=n,tD(i,"convertInt"),e.convertInt=i,tD(a,"convertBigint"),e.convertBigint=a,tD(s,"convertDate"),e.convertDate=s,tD(o,"convertNumber"),e.convertNumber=o,tD(l,"convertBoolean"),e.convertBoolean=l}(eJ||(eJ={}));var vS={};function vk(){return new Promise(e=>{"u"<typeof setImmediate?setTimeout(e,0):setImmediate(e)})}tF(vS,tG(tV(),1)),tD(vk,"delayNextTick");var vx=0,vN=10;function vw(){return vx=performance.now(),new vS.CancellationTokenSource}function vI(e){vN=e}tD(vw,"startCancelableOperation"),tD(vI,"setInterruptionPeriod");var v_=Symbol("OperationCancelled");function vP(e){return e===v_}async function vO(e){if(e===vS.CancellationToken.None)return;let t=performance.now();if(t-vx>=vN&&(vx=t,await vk(),vx=performance.now()),e.isCancellationRequested)throw v_}tD(vP,"isOperationCancelled"),tD(vO,"interruptAndCheck");var vD=class{static{tD(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}},vL=class e{static{tD(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(t,r){for(let r of t)if(e.isIncremental(r)){let e=vG(r.range),t=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,t)+r.text+this._content.substring(n,this._content.length);let i=Math.max(e.start.line,0),a=Math.max(e.end.line,0),s=this._lineOffsets,o=vj(r.text,!1,t);if(a-i===o.length)for(let e=0,t=o.length;e<t;e++)s[e+i+1]=o[e];else o.length<1e4?s.splice(i+1,a-i,...o):this._lineOffsets=s=s.slice(0,i+1).concat(o,s.slice(a+1));let l=r.text.length-(n-t);if(0!==l)for(let e=i+1+o.length,t=s.length;e<t;e++)s[e]=s[e]+l}else if(e.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw Error("Unknown change event received");this._version=r}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=vj(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return{line:0,character:e};for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line];if(e.character<=0)return r;let n=e.line+1<t.length?t[e.line+1]:this._content.length,i=Math.min(r+e.character,n);return this.ensureBeforeEOL(i,r)}ensureBeforeEOL(e,t){for(;e>t&&vF(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}};function vM(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),i=e.slice(r);vM(n,t),vM(i,t);let a=0,s=0,o=0;for(;a<n.length&&s<i.length;)0>=t(n[a],i[s])?e[o++]=n[a++]:e[o++]=i[s++];for(;a<n.length;)e[o++]=n[a++];for(;s<i.length;)e[o++]=i[s++];return e}function vj(e,t,r=0){let n=t?[r]:[];for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);vF(i)&&(13===i&&t+1<e.length&&10===e.charCodeAt(t+1)&&t++,n.push(r+t+1))}return n}function vF(e){return 13===e||10===e}function vG(e){let t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function vz(e){let t=vG(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){function t(e,t,r,n){return new vL(e,t,r,n)}function r(e,t,r){if(e instanceof vL)return e.update(t,r),e;throw Error("TextDocument.update: document must be created by TextDocument.create")}function n(e,t){let r=e.getText(),n=vM(t.map(vz),(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=0,a=[];for(let t of n){let n=e.offsetAt(t.range.start);if(n<i)throw Error("Overlapping edit");n>i&&a.push(r.substring(i,n)),t.newText.length&&a.push(t.newText),i=e.offsetAt(t.range.end)}return a.push(r.substr(i)),a.join("")}tD(t,"create"),e.create=t,tD(r,"update"),e.update=r,tD(n,"applyEdits"),e.applyEdits=n}(e0||(e0={})),tD(vM,"mergeSort"),tD(vj,"computeLineOffsets"),tD(vF,"isEOL"),tD(vG,"getWellformedRange"),tD(vz,"getWellformedEdit"),(()=>{let e;var t,r,n={975:e=>{function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",i=0,a=-1,s=0,o=0;o<=e.length;++o){if(o<e.length)r=e.charCodeAt(o);else{if(47===r)break;r=47}if(47===r){if(a===o-1||1===s);else if(a!==o-1&&2===s){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2)){if(n.length>2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=o,s=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=o,s=0;continue}}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),i=o-a-1;a=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}tD(t,"e"),tD(r,"r");var n={resolve:tD(function(){for(var e,n,i="",a=!1,s=arguments.length-1;s>=-1&&!a;s--)s>=0?e=arguments[s]:(void 0===n&&(n=process.cwd()),e=n),t(e),0!==e.length&&(i=e+"/"+i,a=47===e.charCodeAt(0));return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},"resolve"),normalize:tD(function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&i&&(e+="/"),n?"/"+e:e},"normalize"),isAbsolute:tD(function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},"isAbsolute"),join:tD(function(){if(0==arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var i=arguments[r];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":n.normalize(e)},"join"),relative:tD(function(e,r){if(t(e),t(r),e===r||(e=n.resolve(e))===(r=n.resolve(r)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var a=e.length,s=a-i,o=1;o<r.length&&47===r.charCodeAt(o);++o);for(var l=r.length-o,u=s<l?s:l,c=-1,p=0;p<=u;++p){if(p===u){if(l>u){if(47===r.charCodeAt(o+p))return r.slice(o+p+1);if(0===p)return r.slice(o+p)}else s>u&&(47===e.charCodeAt(i+p)?c=p:0===p&&(c=0));break}var f=e.charCodeAt(i+p);if(f!==r.charCodeAt(o+p))break;47===f&&(c=p)}var d="";for(p=i+c+1;p<=a;++p)p!==a&&47!==e.charCodeAt(p)||(0===d.length?d+="..":d+="/..");return d.length>0?d+r.slice(o+c):(o+=c,47===r.charCodeAt(o)&&++o,r.slice(o))},"relative"),_makeLong:tD(function(e){return e},"_makeLong"),dirname:tD(function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,i=-1,a=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!a){i=s;break}}else a=!1;return -1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},"dirname"),basename:tD(function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var n,i=0,a=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var o=r.length-1,l=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(47===u){if(!s){i=n+1;break}}else -1===l&&(s=!1,l=n+1),o>=0&&(u===r.charCodeAt(o)?-1==--o&&(a=n):(o=-1,a=l))}return i===a?a=l:-1===a&&(a=e.length),e.slice(i,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){i=n+1;break}}else -1===a&&(s=!1,a=n+1);return -1===a?"":e.slice(i,a)},"basename"),extname:tD(function(e){t(e);for(var r=-1,n=0,i=-1,a=!0,s=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(47!==l)-1===i&&(a=!1,i=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!a){n=o+1;break}}return -1===r||-1===i||0===s||1===s&&r===i-1&&r===n+1?"":e.slice(r,i)},"extname"),format:tD(function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},"format"),parse:tD(function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,i=e.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var s=-1,o=0,l=-1,u=!0,c=e.length-1,p=0;c>=n;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===s?s=c:1!==p&&(p=1):-1!==s&&(p=-1);else if(!u){o=c+1;break}return -1===s||-1===l||0===p||1===p&&s===l-1&&s===o+1?-1!==l&&(r.base=r.name=0===o&&a?e.slice(1,l):e.slice(o,l)):(0===o&&a?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),o>0?r.dir=e.slice(0,o-1):a&&(r.dir="/"),r},"parse"),sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,a),r.exports}tD(a,"r"),a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(a.r(s),a.d(s,{URI:tD(()=>f,"URI"),Utils:tD(()=>r,"Utils")}),"object"==typeof process)?e="win32"===process.platform:"object"==typeof navigator&&(e=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//;function c(e,t){if(!e.scheme&&t)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!o.test(e.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!l.test(e.path))throw Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}tD(c,"a");let p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class f{static{tD(this,"l")}static isUri(e){return e instanceof f||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,i,a=!1){"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||a?e:"file",this.authority=t||"",this.path=function(e,t){switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t}(this.scheme,r||""),this.query=n||"",this.fragment=i||"",c(this,a))}get fsPath(){return T(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:i,fragment:a}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===i?i=this.query:null===i&&(i=""),void 0===a?a=this.fragment:null===a&&(a=""),t===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&a===this.fragment?this:new m(t,r,n,i,a)}static parse(e,t=!1){let r=p.exec(e);return r?new m(r[2]||"",E(r[4]||""),E(r[5]||""),E(r[7]||""),E(r[9]||""),t):new m("","","","","")}static file(t){let r="";if(e&&(t=t.replace(/\\/g,"/")),"/"===t[0]&&"/"===t[1]){let e=t.indexOf("/",2);-1===e?(r=t.substring(2),t="/"):(r=t.substring(2,e),t=t.substring(e)||"/")}return new m("file",r,t,"","")}static from(e){let t=new m(e.scheme,e.authority,e.path,e.query,e.fragment);return c(t,!0),t}toString(e=!1){return v(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof f)return e;{let t=new m(e);return t._formatted=e.external,t._fsPath=e._sep===d?e.fsPath:null,t}}return e}}let d=e?1:void 0;class m extends f{static{tD(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=T(this,!1)),this._fsPath}toString(e=!1){return e?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}let h={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function y(e,t,r){let n,i=-1;for(let a=0;a<e.length;a++){let s=e.charCodeAt(a);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s||r&&91===s||r&&93===s||r&&58===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),void 0!==n&&(n+=e.charAt(a));else{void 0===n&&(n=e.substr(0,a));let t=h[s];void 0!==t?(-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),n+=t):-1===i&&(i=a)}}return -1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function g(e){let t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);35===n||63===n?(void 0===t&&(t=e.substr(0,r)),t+=h[n]):void 0!==t&&(t+=e[r])}return void 0!==t?t:e}function T(t,r){let n;return n=t.authority&&t.path.length>1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&90>=t.path.charCodeAt(1)||t.path.charCodeAt(1)>=97&&122>=t.path.charCodeAt(1))&&58===t.path.charCodeAt(2)?r?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(n=n.replace(/\//g,"\\")),n}function v(e,t){let r=t?g:y,n="",{scheme:i,authority:a,path:s,query:o,fragment:l}=e;if(i&&(n+=i,n+=":"),(a||"file"===i)&&(n+="/",n+="/"),a){let e=a.indexOf("@");if(-1!==e){let t=a.substr(0,e);a=a.substr(e+1),-1===(e=t.lastIndexOf(":"))?n+=r(t,!1,!1):(n+=r(t.substr(0,e),!1,!1),n+=":",n+=r(t.substr(e+1),!1,!0)),n+="@"}-1===(e=(a=a.toLowerCase()).lastIndexOf(":"))?n+=r(a,!1,!0):(n+=r(a.substr(0,e),!1,!0),n+=a.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){let e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){let e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}n+=r(s,!0,!1)}return o&&(n+="?",n+=r(o,!1,!1)),l&&(n+="#",n+=t?l:y(l,!1,!1)),n}function $(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+$(e.substr(3)):e}}tD(y,"m"),tD(g,"y"),tD(T,"v"),tD(v,"b"),tD($,"C");let R=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E(e){return e.match(R)?e.replace(R,e=>$(e)):e}tD(E,"w");var b=a(975);let A=b.posix||b;(t=r||(r={})).joinPath=function(e,...t){return e.with({path:A.join(e.path,...t)})},t.resolvePath=function(e,...t){let r=e.path,n=!1;"/"!==r[0]&&(r="/"+r,n=!0);let i=A.resolve(r,...t);return n&&"/"===i[0]&&!e.authority&&(i=i.substring(1)),e.with({path:i})},t.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=A.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},t.basename=function(e){return A.basename(e.path)},t.extname=function(e){return A.extname(e.path)},e1=s})();var{URI:vK,Utils:vq}=e1;!function(e){e.basename=vq.basename,e.dirname=vq.dirname,e.extname=vq.extname,e.joinPath=vq.joinPath,e.resolvePath=vq.resolvePath;let t="object"==typeof process&&process?.platform==="win32";function r(e,t){return e?.toString()===t?.toString()}function n(e,r){let n="string"==typeof e?vK.parse(e).path:e.path,i="string"==typeof r?vK.parse(r).path:r.path,a=n.split("/").filter(e=>e.length>0),s=i.split("/").filter(e=>e.length>0);if(t){let e=/^[A-Z]:$/;if(a[0]&&e.test(a[0])&&(a[0]=a[0].toLowerCase()),s[0]&&e.test(s[0])&&(s[0]=s[0].toLowerCase()),a[0]!==s[0])return i.substring(1)}let o=0;for(;o<a.length&&a[o]===s[o];o++);return"../".repeat(a.length-o)+s.slice(o).join("/")}function i(e){return vK.parse(e.toString()).toString()}function a(e,t){let r="string"==typeof e?e:e.path,n="string"==typeof t?t:t.path;return"/"===n.charAt(n.length-1)&&(n=n.slice(0,-1)),"/"===r.charAt(r.length-1)&&(r=r.slice(0,-1)),n===r||!(n.length<r.length)&&"/"===n.charAt(r.length)&&n.startsWith(r)}tD(r,"equals"),e.equals=r,tD(n,"relative"),e.relative=n,tD(i,"normalize"),e.normalize=i,tD(a,"contains"),e.contains=a}(e2||(e2={}));var vU=class{static{tD(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return e2.normalize(e)}clear(){this.root.children.clear()}insert(e,t){this.getNode(this.normalizeUri(e),!0).element=t}delete(e){let t=this.getNode(this.normalizeUri(e),!1);t?.parent&&t.parent.children.delete(t.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return void 0!==this.getNode(this.normalizeUri(e),!1)}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);if(r)return{name:r.name,uri:e2.joinPath(vK.parse(t),r.name).toString(),element:r.element}}findChildren(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);return r?Array.from(r.children.values()).map(e=>({name:e.name,uri:e2.joinPath(vK.parse(t),e.name).toString(),element:e.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let t=this.getNode(e2.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){let r=e.split("/");"/"===e.charAt(e.length-1)&&r.pop();let n=this.root;for(let e of r){let r=n.children.get(e);if(!r)if(!t)return;else r={name:e,children:new Map,parent:n},n.children.set(e,r);n=r}return n}collectValues(e){let t=[];for(let r of(e.element&&t.push(e.element),e.children.values()))t.push(...this.collectValues(r));return t}};(f=e3||(e3={}))[f.Changed=0]="Changed",f[f.Parsed=1]="Parsed",f[f.IndexedContent=2]="IndexedContent",f[f.ComputedScopes=3]="ComputedScopes",f[f.Linked=4]="Linked",f[f.IndexedReferences=5]="IndexedReferences",f[f.Validated=6]="Validated";var vB=class{static{tD(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=vS.CancellationToken.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return(t=t??vK.parse(e.uri),vS.CancellationToken.is(r))?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return vS.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if("string"==typeof t){let n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}if("$model"in t){let r={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,e)}{let n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if("string"==typeof t){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let i;if(r)i={parseResult:e,uri:t,state:e3.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(t,n);i={parseResult:e,uri:t,state:e3.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=i,i}async update(e,t){let r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),i=n?n.getText():await this.fileSystemProvider.readFile(e.uri);if(n)Object.defineProperty(e,"textDocument",{value:n});else{let t=this.createTextDocumentGetter(e.uri,i);Object.defineProperty(e,"textDocument",{get:t})}return r!==i&&(e.parseResult=await this.parseAsync(e.uri,i,t),e.parseResult.value.$document=e),e.state=e3.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r,n=this.serviceRegistry;return()=>r??(r=e0.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??""))}},vW=class{static{tD(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new vU,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return rG(this.documentTrie.all())}addDocument(e){let t=e.uri.toString();if(this.documentTrie.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){let t=e.toString();return this.documentTrie.find(t)}getDocuments(e){let t=e.toString();return this.documentTrie.findAll(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r)),r}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(e=>(this.addDocument(e),e));{let r=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(r),r}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&this.documentBuilder().resetToState(r,e3.Changed),r}deleteDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&(r.state=e3.Changed,this.documentTrie.delete(t)),r}deleteDocuments(e){let t=e.toString(),r=this.documentTrie.findAll(t);for(let e of r)e.state=e3.Changed;return this.documentTrie.delete(t),r}},vV=Symbol("RefResolving"),vH=class{static{tD(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,t=vS.CancellationToken.None){if(this.profiler?.isActive("linking")){let r=this.profiler.createTask("linking",this.languageId);r.start();try{for(let n of rZ(e.parseResult.value))await vO(t),rJ(n).forEach(t=>{let i=`${n.$type}:${t.property}`;r.startSubTask(i);try{this.doLink(t,e)}finally{r.stopSubTask(i)}})}finally{r.stop()}}else for(let r of rZ(e.parseResult.value))await vO(t),rJ(r).forEach(t=>this.doLink(t,e))}doLink(e,t){let r=e.reference;if("_ref"in r&&void 0===r._ref){r._ref=vV;try{let t=this.getCandidate(e);rw(t)?r._ref=t:(r._nodeDescription=t,r._ref=this.loadAstNode(t)??this.createLinkingError(e,t))}catch(n){console.error(`An error occurred while resolving reference to '${r.$refText}':`,n);let t=n.message??String(n);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`}}t.references.push(r)}else if("_items"in r&&void 0===r._items){r._items=vV;try{let t=this.getCandidates(e),n=[];if(rw(t))r._linkingError=t;else for(let e of t){let t=this.loadAstNode(e);t&&n.push({ref:t,$nodeDescription:e})}r._items=n}catch(t){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`},r._items=[]}t.references.push(r)}}unlink(e){for(let t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let t=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(e=>`${e.documentUri}#${e.path}`).toArray();return t.length>0?t:this.createLinkingError(e)}buildReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,_ref:void 0,get ref(){if(rS(this._ref))return this._ref;if(rN(this._nodeDescription)){let r=i.loadAstNode(this._nodeDescription);this._ref=r??i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=vV;let r=rV(e).$document,n=i.getLinkedNode({reference:a,container:e,property:t});if(n.error&&r&&r.state<e3.ComputedScopes)return this._ref=void 0;this._ref=n.node??n.error,this._nodeDescription=n.descr,r?.references.push(this)}else this._ref===vV&&i.throwCyclicReferenceError(e,t,n);return rS(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return rw(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(void 0===this._items){this._items=vV;let r=rV(e).$document,n=i.getCandidates({reference:a,container:e,property:t}),s=[];if(rw(n))this._linkingError=n;else for(let e of n){let t=i.loadAstNode(e);t&&s.push({ref:t,$nodeDescription:e})}this._items=s,r?.references.push(this)}else this._items===vV&&i.throwCyclicReferenceError(e,t,n);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(this.items.length>0)return;return this._linkingError=i.createLinkingError({reference:a,container:e,property:t})}};return a}throwCyclicReferenceError(e,t,r){throw Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{let t=this.getCandidate(e);if(rw(t))return{error:t};let r=this.loadAstNode(t);if(r)return{node:r,descr:t};return{descr:t,error:this.createLinkingError(e,t)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let t=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${t}`}}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let r=rV(e.container).$document;r&&r.state<e3.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);let n=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${n} named '${e.reference.$refText}'.`,targetDescription:t}}};function vY(e){return"string"==typeof e.name}tD(vY,"isNamed");var vQ=class{static{tD(this,"DefaultNameProvider")}getName(e){if(vY(e))return e.name}getNameNode(e){return aI(e.$cstNode,"name")}},vZ=class{static{tD(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=rZ(e.Grammar).some(e=>nE(e)&&e.isMulti)}findDeclarations(e){if(e){let t=aL(e),r=e.astNode;if(t&&r){let n=r[t.feature];if(rk(n)||rx(n))return rH(n);if(Array.isArray(n)){for(let t of n)if((rk(t)||rx(t))&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return rH(t)}}if(r){let t=this.nameProvider.getNameNode(r);if(t&&(t===e||iG(e,t)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(!this.hasMultiReference)return[e];{let t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(t.head());if(r){for(let t of rJ(r))if(rx(t.reference)&&t.reference.items.some(t=>t.ref===e))return t.reference.items.map(e=>e.ref)}return[e]}}getNodeFromReferenceDescription(e){if(!e)return;let t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let t=this.findDeclarations(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e)??e.$cstNode;t&&r.push(t)}return r}findReferences(e,t){let r=[];t.includeDeclaration&&r.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(e=>e2.equals(e.sourceUri,t.documentUri))),r.push(...n),rG(r)}getSelfReferences(e){let t=this.getSelfNodes(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e);if(t){let n=rW(e),i=this.nodeLocator.getAstNodePath(e);r.push({sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:iK(t),local:!0})}}return r}},vX=class{static{tD(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return eV.sum(rG(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return 1===r.length?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let t=this.map.get(e);return t?rG(t):rj}has(e,t){if(void 0===t)return this.map.has(e);{let r=this.map.get(e);return!!r&&r.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(t=>e(t,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return rG(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return rG(this.map.keys())}values(){return rG(this.map.values()).flat()}entriesGroupedByKey(){return rG(this.map.entries())}},vJ=class{static{tD(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}},v0=class{static{tD(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=vS.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=rY,n=vS.CancellationToken.None){let i=[];for(let a of(this.addExportedSymbol(e,i,t),r(e)))await vO(n),this.addExportedSymbol(a,i,t);return i}addExportedSymbol(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=vS.CancellationToken.None){let r=e.parseResult.value,n=new vX;for(let i of rQ(r))await vO(t),this.addLocalSymbol(i,e,n);return n}addLocalSymbol(e,t,r){let n=e.$container;if(n){let i=this.nameProvider.getName(e);i&&r.add(n,this.descriptions.createDescription(e,i,t))}}},v1=class{static{tD(this,"StreamScope")}constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(e=>e.name.toLowerCase()===t):this.elements.find(t=>t.name===e);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(e=>e.name.toLowerCase()===t):this.elements.filter(t=>t.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}},v2=class{static{tD(this,"MapScope")}constructor(e,t,r){for(let t of(this.elements=new Map,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t),n=r?[r]:[];return(this.concatOuterScope||n.length>0)&&this.outerScope?rG(n).concat(this.outerScope.getElements(e)):rG(n)}getAllElements(){let e=rG(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},v3=class{static{tD(this,"MultiMapScope")}constructor(e,t,r){for(let t of(this.elements=new vX,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.add(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t)[0];return r||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return(this.concatOuterScope||0===r.length)&&this.outerScope?rG(r).concat(this.outerScope.getElements(e)):rG(r)}getAllElements(){let e=rG(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},v4={getElement(){},getElements:()=>rj,getAllElements:()=>rj},v9=class{static{tD(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error("This cache has already been disposed")}},v5=class extends v9{static{tD(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},v6=class extends v9{static{tD(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(e=>e)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let e=r();return n.set(t,e),e}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}},v7=class extends v6{static{tD(this,"DocumentCache")}constructor(e,t){super(e=>e.toString()),t?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(t,e=>{this.clear(e.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(let e of t)this.clear(e)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{for(let r of e.concat(t))this.clear(r)}))}},v8=class extends v5{static{tD(this,"WorkspaceCache")}constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},$e=class{static{tD(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new v8(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=rW(e.container).localSymbols;if(n){let i=e.container;do n.has(i)&&t.push(n.getStream(i).filter(e=>this.reflection.isSubtype(e.type,r))),i=i.$container;while(i)}let i=this.getGlobalScope(r,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,r){return new v1(rG(e),t,r)}createScopeForNodes(e,t,r){return new v1(rG(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new v3(this.indexManager.allElements(e)))}};function $t(e){return"string"==typeof e.$comment}function $r(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}tD($t,"isAstNodeWithComment"),tD($r,"isIntermediateReference");var $n=class{static{tD(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){let r=t??{},n=t?.replacer,i=tD((e,t)=>this.replacer(e,t,r),"defaultReplacer"),a=n?(e,t)=>n(e,t,i):i;try{return this.currentDocument=rW(e),JSON.stringify(e,a,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=JSON.parse(e);return this.linkNode(r,r,t??{}),r}replacer(e,t,{refText:r,sourceText:n,textRegions:i,comments:a,uriConverter:s}){if(!this.ignoreProperties.has(e)){if(rk(t)){let e=t.ref,n=r?t.$refText:void 0;if(!e)return{$error:t.error?.message??"Could not resolve reference",$refText:n};{let t=rW(e),r="";this.currentDocument&&this.currentDocument!==t&&(r=s?s(t.uri,e):t.uri.toString());let i=this.astNodeLocator.getAstNodePath(e);return{$ref:`${r}#${i}`,$refText:n}}}if(rx(t)){let e=r?t.$refText:void 0,n=[];for(let e of t.items){let t=e.ref,r=rW(e.ref),i="";this.currentDocument&&this.currentDocument!==r&&(i=s?s(r.uri,t):r.uri.toString());let a=this.astNodeLocator.getAstNodePath(t);n.push(`${i}#${a}`)}return{$refs:n,$refText:e}}{let r;if(!rS(t))return t;if(i&&(r=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&r?.$textRegion&&(r.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&(r??(r={...t}),r.$sourceText=t.$cstNode?.text),a){r??(r={...t});let e=this.commentProvider.getComment(t);e&&(r.$comment=e.replace(/\r/g,""))}return r??t}}}addAstNodeRegionWithAssignmentsTo(e){let t=tD(e=>({offset:e.offset,end:e.end,length:e.length,range:e.range}),"createDocumentSegment");if(e.$cstNode){let r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{let i=aw(e.$cstNode,n).map(t);0!==i.length&&(r[n]=i)}),e}}linkNode(e,t,r,n,i,a){for(let[n,i]of Object.entries(e))if(Array.isArray(i))for(let a=0;a<i.length;a++){let s=i[a];$r(s)?i[a]=this.reviveReference(e,n,t,s,r):rS(s)&&this.linkNode(s,t,r,e,n,a)}else $r(i)?e[n]=this.reviveReference(e,n,t,i,r):rS(i)&&this.linkNode(i,t,r,e,n);e.$container=n,e.$containerProperty=i,e.$containerIndex=a}reviveReference(e,t,r,n,i){let a,s=n.$refText,o=n.$error;if(n.$ref){let e=this.getRefNode(r,n.$ref,i.uriConverter);if(rS(e))return s||(s=this.nameProvider.getName(e)),{$refText:s??"",ref:e};o=e}else if(n.$refs){let e=[];for(let t of n.$refs){let n=this.getRefNode(r,t,i.uriConverter);rS(n)&&e.push({ref:n})}if(0!==e.length)return{$refText:s??"",items:e};a={$refText:s??"",items:e},o??(o="Could not resolve multi-reference")}return o?(a??(a={$refText:s??"",ref:void 0}),a.error={info:{container:e,property:t,reference:a},message:o},a):void 0}getRefNode(e,t,r){try{let n=t.indexOf("#");if(0===n){let r=this.astNodeLocator.getAstNode(e,t.substring(1));if(!r)return"Could not resolve path: "+t;return r}if(n<0){let e=r?r(t):vK.parse(t),n=this.langiumDocuments.getDocument(e);if(!n)return"Could not find document for URI: "+t;return n.parseResult.value}let i=r?r(t.substring(0,n)):vK.parse(t.substring(0,n)),a=this.langiumDocuments.getDocument(i);if(!a)return"Could not find document for URI: "+t;if(n===t.length-1)return a.parseResult.value;let s=this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(n+1));if(!s)return"Could not resolve URI: "+t;return s}catch(e){return String(e)}}},$i=class{static{tD(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let t=e.LanguageMetaData;for(let r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);if(t.fileNames)for(let r of t.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(t.languageId,e)}getServices(e){if(0===this.languageIdMap.size)throw Error("The service registry is empty. Use `register` to register the services of a language.");let t=this.textDocuments?.get(e)?.languageId;if(void 0!==t){let e=this.languageIdMap.get(t);if(e)return e}let r=e2.extname(e),n=e2.basename(e),i=this.fileNameMap.get(n)??this.fileExtensionMap.get(r);if(!i)if(t)throw Error(`The service registry contains no services for the extension '${r}' for language '${t}'.`);else throw Error(`The service registry contains no services for the extension '${r}'.`);return i}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function $a(e){return{code:e}}tD($a,"diagnosticData"),(d=e4||(e4={})).defaults=["fast","slow","built-in"],d.all=d.defaults;var $s=class{static{tD(this,"ValidationRegistry")}constructor(e){this.entries=new vX,this.knownCategories=new Set(e4.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if("built-in"===r)throw Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[n,i]of(this.knownCategories.add(r),Object.entries(e)))if(Array.isArray(i))for(let e of i){let i={check:this.wrapValidationException(e,t),category:r};this.addEntry(n,i)}else if("function"==typeof i){let e={check:this.wrapValidationException(i,t),category:r};this.addEntry(n,e)}else i5(i)}wrapValidationException(e,t){return async(r,n,i)=>{await this.handleException(()=>e.call(t,r,n,i),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(i){if(vP(i))throw i;console.error(`${t}:`,i),i instanceof Error&&i.stack&&console.error(i.stack);let e=i instanceof Error?i.message:String(i);r("error",`${t}: ${e}`,{node:n})}}addEntry(e,t){if("AstNode"===e)return void this.entries.add("AstNode",t);for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=rG(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(e=>t.includes(e.category))),r.map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,i,a,s)=>{await this.handleException(()=>e.call(r,n,i,a,s),t,i,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},$o=Object.freeze({validateNode:!0,validateChildren:!0}),$l=class{static{tD(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,t={},r=vS.CancellationToken.None){let n=e.parseResult,i=[];if((await vO(r),!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,i,t),t.stopAfterLexingErrors&&i.some(e=>e.data?.code===e9.LexingError)||(this.processParsingErrors(n,i,t),t.stopAfterParsingErrors&&i.some(e=>e.data?.code===e9.ParsingError))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>e.data?.code===e9.LinkingError))))return i;try{i.push(...await this.validateAst(n.value,t,r))}catch(e){if(vP(e))throw e;console.error("An error occurred during validation:",e)}return await vO(r),i}processLexingErrors(e,t,r){for(let r of[...e.lexerErrors,...e.lexerReport?.diagnostics??[]]){let e=r.severity??"error",n={severity:$c(e),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:$p(e),source:this.getSource()};t.push(n)}}processParsingErrors(e,t,r){for(let r of e.parserErrors){let e;if(isNaN(r.token.startOffset)){if("previousToken"in r){let t=r.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let r={line:t.endLine-1,character:t.endColumn};e={start:r,end:r}}}}else e=iz(r.token);if(e){let n={severity:$c("error"),range:e,message:r.message,data:$a(e9.ParsingError),source:this.getSource()};t.push(n)}}}processLinkingErrors(e,t,r){for(let r of e.references){let e=r.error;if(e){let n={node:e.info.container,range:r.$refNode?.range,property:e.info.property,index:e.info.index,data:{code:e9.LinkingError,containerType:e.info.container.$type,property:e.info.property,refText:e.info.reference.$refText}};t.push(this.toDiagnostic("error",e.message,n))}}}async validateAst(e,t,r=vS.CancellationToken.None){let n=[],i=tD((e,t,r)=>{n.push(this.toDiagnostic(e,t,r))},"acceptor");return await this.validateAstBefore(e,t,i,r),await this.validateAstNodes(e,t,i,r),await this.validateAstAfter(e,t,i,r),n}async validateAstBefore(e,t,r,n=vS.CancellationToken.None){for(let i of this.validationRegistry.checksBefore)await vO(n),await i(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=vS.CancellationToken.None){if(this.profiler?.isActive("validating")){let i=this.profiler.createTask("validating",this.languageId);i.start();try{let a=rZ(e).iterator();for(let e of a){i.startSubTask(e.$type);let s=this.validateSingleNodeOptions(e,t);if(s.validateNode)try{for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n)}finally{i.stopSubTask(e.$type)}s.validateChildren||a.prune()}}finally{i.stop()}}else{let i=rZ(e).iterator();for(let e of i){await vO(n);let a=this.validateSingleNodeOptions(e,t);if(a.validateNode)for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n);a.validateChildren||i.prune()}}}validateSingleNodeOptions(e,t){return $o}async validateAstAfter(e,t,r,n=vS.CancellationToken.None){for(let i of this.validationRegistry.checksAfter)await vO(n),await i(e,r,t.categories??[],n)}toDiagnostic(e,t,r){return{message:t,range:$u(r),severity:$c(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function $u(e){let t;return e.range?e.range:("string"==typeof e.property?t=aI(e.node.$cstNode,e.property,e.index):"string"==typeof e.keyword&&(t=aO(e.node.$cstNode,e.keyword,e.index)),t??(t=e.node.$cstNode),t)?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function $c(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+e)}}function $p(e){switch(e){case"error":return $a(e9.LexingError);case"warning":return $a(e9.LexingWarning);case"info":return $a(e9.LexingInfo);case"hint":return $a(e9.LexingHint);default:throw Error("Invalid diagnostic severity: "+e)}}tD($u,"getDiagnosticRange"),tD($c,"toDiagnosticSeverity"),tD($p,"toDiagnosticData"),(m=e9||(e9={})).LexingError="lexing-error",m.LexingWarning="lexing-warning",m.LexingInfo="lexing-info",m.LexingHint="lexing-hint",m.ParsingError="parsing-error",m.LinkingError="linking-error";var $f=class{static{tD(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let n,i=r??rW(e);t??(t=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${a} has no name.`);let s=tD(()=>n??(n=iK(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return s()},selectionSegment:iK(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},$d=class{static{tD(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=vS.CancellationToken.None){let r=[];for(let n of rZ(e.parseResult.value))await vO(t),rJ(n).forEach(e=>{e.reference.error||r.push(...this.createInfoDescriptions(e))});return r}createInfoDescriptions(e){let t=e.reference;if(t.error||!t.$refNode)return[];let r=[];rk(t)&&t.$nodeDescription?r=[t.$nodeDescription]:rx(t)&&(r=t.items.map(e=>e.$nodeDescription).filter(e=>void 0!==e));let n=rW(e.container).uri,i=this.nodeLocator.getAstNodePath(e.container),a=[],s=iK(t.$refNode);for(let e of r)a.push({sourceUri:n,sourcePath:i,targetUri:e.documentUri,targetPath:e.path,segment:s,local:e2.equals(e.documentUri,n)});return a}},$m=class{static{tD(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||0===t.length)return e;let r=t.indexOf(this.indexSeparator);if(r>0){let n=t.substring(0,r),i=parseInt(t.substring(r+1)),a=e[n];return a?.[i]}return e[t]},e)}},$h={};tF($h,tG(tW(),1));var $y=class{static{tD(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new vD,this.onConfigurationSectionUpdateEmitter=new $h.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,r[t])})}}this._ready.resolve()}updateConfiguration(e){"object"==typeof e.settings&&null!==e.settings&&Object.entries(e.settings).forEach(([e,t])=>{this.updateSectionConfiguration(e,t),this.onConfigurationSectionUpdateEmitter.fire({section:e,configuration:t})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},$g=tG(rb(),1),$T=e5||(e5={});function $v(e){return{dispose:tD(async()=>await e(),"dispose")}}tD($v,"create"),$T.create=$v;var $$=class{static{tD(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new vX,this.documentPhaseListeners=new vX,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=e3.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=vS.CancellationToken.None){for(let r of e){let e=r.uri.toString();if(r.state===e3.Validated){if("boolean"==typeof t.validation&&t.validation)this.resetToState(r,e3.IndexedReferences);else if("object"==typeof t.validation){let n=this.findMissingValidationCategories(r,t);n.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:{categories:n}},result:this.buildState.get(e)?.result}),r.state=e3.IndexedReferences)}}else this.buildState.delete(e)}this.currentState=e3.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=vS.CancellationToken.None){this.currentState=e3.Changed;let n=[];for(let e of t)for(let t of this.langiumDocuments.deleteDocuments(e))n.push(t.uri),this.cleanUpDeleted(t);let i=(await Promise.all(e.map(e=>this.findChangedUris(e)))).flat();for(let e of i){let t=this.langiumDocuments.getDocument(e);void 0===t&&((t=this.langiumDocumentFactory.fromModel({$type:"INVALID"},e)).state=e3.Changed,this.langiumDocuments.addDocument(t)),this.resetToState(t,e3.Changed)}let a=rG(i).concat(n).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!a.has(e.uri.toString())&&this.shouldRelink(e,a)).forEach(e=>this.resetToState(e,e3.ComputedScopes)),await this.emitUpdate(i,n),await vO(r);let s=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state<e3.Validated||!this.buildState.get(e.uri.toString())?.completed||this.resultsAreIncomplete(e,this.updateBuildOptions)).toArray());await this.buildDocuments(s,this.updateBuildOptions,r)}resultsAreIncomplete(e,t){return this.findMissingValidationCategories(e,t).length>=1}findMissingValidationCategories(e,t){let r=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),i=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?n:new Set;return rG(void 0===t||!0===t.validation?n:"object"==typeof t.validation?t.validation.categories??n:[]).filter(e=>!i.has(e)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let t=await this.fileSystemProvider.stat(e);if(t.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(t))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,t){return!!e.references.some(e=>void 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),e5.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case e3.Changed:case e3.Parsed:this.indexManager.removeContent(e.uri);case e3.IndexedContent:e.localSymbols=void 0;case e3.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case e3.Linked:this.indexManager.removeReferences(e.uri);case e3.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case e3.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=e3.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,e3.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,e3.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,e3.ComputedScopes,r,async e=>{let t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.localSymbols=await t.collectLocalSymbols(e,r)});let n=e.filter(e=>this.shouldLink(e));await this.runCancelable(n,e3.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(n,e3.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r));let i=e.filter(e=>!!this.shouldValidate(e)||(this.markAsCompleted(e),!1));await this.runCancelable(i,e3.Validated,r,async e=>{await this.validate(e,r),this.markAsCompleted(e)})}markAsCompleted(e){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(let r of e){let e=r.uri.toString(),n=this.buildState.get(e);(!n||n.completed)&&this.buildState.set(e,{completed:!1,options:t,result:n?.result})}}async runCancelable(e,t,r,n){for(let i of e)i.state<t&&(await vO(r),await n(i),i.state=t,await this.notifyDocumentPhase(i,t,r));let i=e.filter(e=>e.state===t);await this.notifyBuildPhase(i,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),e5.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),e5.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return(t&&"path"in t?n=t:r=t,r??(r=vS.CancellationToken.None),n)?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){let n=this.langiumDocuments.getDocument(t);return n?n.state>=e?Promise.resolve(t):r.isCancellationRequested?Promise.reject(v_):this.currentState>=e&&e>n.state?Promise.reject(new $g.ResponseError($g.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${e3[n.state]}, requiring ${e3[e]}, but workspace state is already ${e3[this.currentState]}. Returning undefined.`)):new Promise((n,i)=>{let a=this.onDocumentPhase(e,e=>{e2.equals(e.uri,t)&&(a.dispose(),s.dispose(),n(e.uri))}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(v_)})}):Promise.reject(new $g.ResponseError($g.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`))}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(v_):new Promise((r,n)=>{let i=this.onBuildPhase(e,()=>{i.dispose(),a.dispose(),r()}),a=t.onCancellationRequested(()=>{i.dispose(),a.dispose(),n(v_)})})}async notifyDocumentPhase(e,t,r){for(let n of this.documentPhaseListeners.get(t).slice())try{await vO(r),await n(e,r)}catch(e){if(!vP(e))throw e}}async notifyBuildPhase(e,t,r){if(0!==e.length)for(let n of this.buildPhaseListeners.get(t).slice())await vO(r),await n(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),i="object"==typeof n.validation?{...n.validation}:{};i.categories=this.findMissingValidationCategories(e,n);let a=await r.validateDocument(e,i,t);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;let s=this.buildState.get(e.uri.toString());s&&(s.result??(s.result={}),s.result.validationChecks?s.result.validationChecks=rG(s.result.validationChecks).concat(i.categories).distinct().toArray():s.result.validationChecks=[...i.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},$R=class{static{tD(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new v6,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=rW(e).uri,n=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{e2.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),rG(n)}allElements(e,t){let r=rG(this.symbolIndex.keys());return t&&(r=r.filter(e=>!t||t.has(e))),r.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(e=>this.astReflection.isSubtype(e.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){let t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=vS.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.references.ScopeComputation.collectExportedSymbols(e,t),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=vS.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return!!r&&r.some(e=>!e.local&&t.has(e.targetUri.toString()))}},$E=class{static{tD(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new vD,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(e=>this.initializeWorkspace(this.folders??[],e))}async initializeWorkspace(e,t=vS.CancellationToken.None){let r=await this.performStartup(e);await vO(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=[],r=tD(e=>{t.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)},"collector");await this.loadAdditionalDocuments(e,r);let n=[];await Promise.all(e.map(e=>this.getRootFolder(e)).map(async e=>this.traverseFolder(e,n)));let i=rG(n).distinct(e=>e.toString()).filter(e=>!this.langiumDocuments.hasDocument(e));return await this.loadWorkspaceDocuments(i,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async e=>{t(await this.langiumDocuments.getOrCreateDocument(e))}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return vK.parse(e.uri)}async traverseFolder(e,t){try{let r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async e=>{this.shouldIncludeEntry(e)&&(e.isDirectory?await this.traverseFolder(e.uri,t):e.isFile&&t.push(e.uri))}))}catch(t){console.error("Failure to read directory content of "+e.toString(!0),t)}}async searchFolder(e){let t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){let t=e2.basename(e.uri);return!t.startsWith(".")&&(e.isDirectory?"node_modules"!==t&&"out"!==t:!!e.isFile&&this.serviceRegistry.hasServices(e.uri))}},$b=class{static{tD(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,t,r,n,i){return fj.buildUnexpectedCharactersMessage(e,t,r,n,i)}buildUnableToPopLexerModeMessage(e){return fj.buildUnableToPopLexerModeMessage(e)}},$A={mode:"full"},$C=class{static{tD(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=$x(t)?Object.values(t):t,n="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new fG(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=$A){let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if($x(e))return e;let t=$k(e)?Object.values(e.modes).flat():e,r={};return t.forEach(e=>r[e.name]=e),r}};function $S(e){return Array.isArray(e)&&(0===e.length||"name"in e[0])}function $k(e){return e&&"modes"in e&&"defaultMode"in e}function $x(e){return!$S(e)&&!$k(e)}function $N(e,t,r){let n,i;return"string"==typeof e?(i=t,n=r):(i=e.range.start,n=t),i||(i=$.create(0,0)),$G({index:0,tokens:$O({lines:$I(e),position:i,options:$V(n)}),position:i})}function $w(e,t){let r=$V(t),n=$I(e);if(0===n.length)return!1;let i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!s?.exec(i)&&!!o?.exec(a)}function $I(e){return("string"==typeof e?e:e.text).split(ad)}tD($S,"isTokenTypeArray"),tD($k,"isIMultiModeLexerDefinition"),tD($x,"isTokenTypeDictionary"),tq(),tD($N,"parseJSDoc"),tD($w,"isJSDoc"),tD($I,"getLines");var $_=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,$P=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function $O(e){let t=[],r=e.position.line,n=e.position.character;for(let i=0;i<e.lines.length;i++){let a=0===i,s=i===e.lines.length-1,o=e.lines[i],l=0;if(a&&e.options.start){let t=e.options.start?.exec(o);t&&(l=t.index+t[0].length)}else{let t=e.options.line?.exec(o);t&&(l=t.index+t[0].length)}if(s){let t=e.options.end?.exec(o);t&&(o=o.substring(0,t.index))}if($j(o=o.substring(0,$F(o)),l)>=o.length){if(t.length>0){let e=$.create(r,n);t.push({type:"break",content:"",range:R.create(e,e)})}}else{$_.lastIndex=l;let e=$_.exec(o);if(e){let i=e[0],a=e[1],s=$.create(r,n+l),u=$.create(r,n+l+i.length);t.push({type:"tag",content:a,range:R.create(s,u)}),l+=i.length,l=$j(o,l)}if(l<o.length){let e=o.substring(l),i=Array.from(e.matchAll($P));t.push(...$D(i,e,r,n+l))}}r++,n=0}return t.length>0&&"break"===t[t.length-1].type?t.slice(0,-1):t}function $D(e,t,r,n){let i=[];if(0===e.length){let e=$.create(r,n),a=$.create(r,n+t.length);i.push({type:"text",content:t,range:R.create(e,a)})}else{let a=0;for(let s of e){let e=s.index,o=t.substring(a,e);o.length>0&&i.push({type:"text",content:t.substring(a,e),range:R.create($.create(r,a+n),$.create(r,e+n))});let l=o.length+1,u=s[1];if(i.push({type:"inline-tag",content:u,range:R.create($.create(r,a+l+n),$.create(r,a+l+u.length+n))}),l+=u.length,4===s.length){l+=s[2].length;let e=s[3];i.push({type:"text",content:e,range:R.create($.create(r,a+l+n),$.create(r,a+l+e.length+n))})}else i.push({type:"text",content:"",range:R.create($.create(r,a+l+n),$.create(r,a+l+n))});a=e+s[0].length}let s=t.substring(a);s.length>0&&i.push({type:"text",content:s,range:R.create($.create(r,a+n),$.create(r,a+n+s.length))})}return i}tD($O,"tokenize"),tD($D,"buildInlineTokens");var $L=/\S/,$M=/\s*$/;function $j(e,t){let r=e.substring(t).match($L);return r?t+r.index:e.length}function $F(e){let t=e.match($M);if(t&&"number"==typeof t.index)return t.index}function $G(e){let t=$.create(e.position.line,e.position.character);if(0===e.tokens.length)return new $Y([],R.create(t,t));let r=[];for(;e.index<e.tokens.length;){let t=$z(e,r[r.length-1]);t&&r.push(t)}let n=r[0]?.range.start??t,i=r[r.length-1]?.range.end??t;return new $Y(r,R.create(n,i))}function $z(e,t){let r=e.tokens[e.index];return"tag"===r.type?$B(e,!1):"text"===r.type||"inline-tag"===r.type?$q(e):($K(r,t),void e.index++)}function $K(e,t){if(t){let r=new $0("",e.range);"inlines"in t?t.inlines.push(r):t.content.inlines.push(r)}}function $q(e){let t=e.tokens[e.index],r=t,n=t,i=[];for(;t&&"break"!==t.type&&"tag"!==t.type;)i.push($U(e)),n=t,t=e.tokens[e.index];return new $J(i,R.create(r.range.start,n.range.end))}function $U(e){return"inline-tag"===e.tokens[e.index].type?$B(e,!0):$W(e)}function $B(e,t){let r=e.tokens[e.index++],n=r.content.substring(1),i=e.tokens[e.index];if(i?.type==="text")if(t){let i=$W(e);return new $Q(n,new $J([i],i.range),t,R.create(r.range.start,i.range.end))}else{let i=$q(e);return new $Q(n,i,t,R.create(r.range.start,i.range.end))}{let e=r.range;return new $Q(n,new $J([],e),t,e)}}function $W(e){let t=e.tokens[e.index++];return new $0(t.content,t.range)}function $V(e){if(!e)return $V({start:"/**",end:"*/",line:"*"});let{start:t,end:r,line:n}=e;return{start:$H(t,!0),end:$H(r,!1),line:$H(n,!0)}}function $H(e,t){if("string"!=typeof e&&"object"!=typeof e)return e;{let r="string"==typeof e?a$(e):e.source;return t?RegExp(`^\\s*${r}`):RegExp(`\\s*${r}\\s*$`)}}tD($j,"skipWhitespace"),tD($F,"lastCharacter"),tD($G,"parseJSDocComment"),tD($z,"parseJSDocElement"),tD($K,"appendEmptyLine"),tD($q,"parseJSDocText"),tD($U,"parseJSDocInline"),tD($B,"parseJSDocTag"),tD($W,"parseJSDocLine"),tD($V,"normalizeOptions"),tD($H,"normalizeOption");var $Y=class{static{tD(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(0===e.length)e=t.toString();else{let r=t.toString();e+=$1(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(0===t.length)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=$1(t)+n}return t.trim()}},$Q=class{static{tD(this,"JSDocTagImpl")}constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return(1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e} +${t}`),this.inline)?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let r=$Z(this.name,t,e??{});if("string"==typeof r)return r}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return(1===this.content.inlines.length?n=`${n} \u2014 ${t}`:this.content.inlines.length>1&&(n=`${n} +${t}`),this.inline)?`{${n}}`:n}};function $Z(e,t,r){if("linkplain"===e||"linkcode"===e||"link"===e){let n=t.indexOf(" "),i=t;if(n>0){let e=$j(t,n);i=t.substring(e),t=t.substring(0,n)}return("linkcode"===e||"link"===e&&"code"===r.link)&&(i=`\`${i}\``),r.renderLink?.(t,i)??$X(t,i)}}function $X(e,t){try{return vK.parse(e,!0),`[${t}](${e})`}catch{return e}}tD($Z,"renderInlineTag"),tD($X,"renderLinkDefault");var $J=class{static{tD(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){let r=this.inlines[t],n=this.inlines[t+1];e+=r.toString(),n&&n.range.start.line>r.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];t+=n.toMarkdown(e),i&&i.range.start.line>n.range.start.line&&(t+="\n")}return t}},$0=class{static{tD(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function $1(e){return e.endsWith("\n")?"\n":"\n\n"}tD($1,"fillNewlines");var $2=class{static{tD(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&$w(t))return $N(t).toMarkdown({renderLink:tD((t,r)=>this.documentationLinkRenderer(e,t,r),"renderLink"),renderTag:tD(t=>this.documentationTagRenderer(e,t),"renderTag")})}documentationLinkRenderer(e,t,r){let n=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(n&&n.nameSegment){let e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,i=n.documentUri.with({fragment:`L${e},${t}`});return`[${r}](${i.toString()})`}}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){let r=rW(e).localSymbols;if(!r)return;let n=e;do{let e=r.getStream(n).find(e=>e.name===t);if(e)return e;n=n.$container}while(n)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}},$3=class{static{tD(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return $t(e)?e.$comment:iV(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},$4=class{static{tD(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},$9=class{static{tD(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let t=this.queue.shift();t&&(e.lock(),t.resolve(e))}}),this.workerPool.push(e)}}async parse(e,t){let r,n=await this.acquireParserWorker(t),i=new vD,a=t.onCancellationRequested(()=>{r=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(e=>{let t=this.hydrator.hydrate(e);i.resolve(t)}).catch(e=>{i.reject(e)}).finally(()=>{a.dispose(),clearTimeout(r)}),i.promise}terminateWorker(e){e.terminate();let t=this.workerPool.indexOf(e);t>=0&&this.workerPool.splice(t,1)}async acquireParserWorker(e){for(let e of(this.initializeWorkers(),this.workerPool))if(e.ready)return e.lock(),e;let t=new vD;return e.onCancellationRequested(()=>{let e=this.queue.indexOf(t);e>=0&&this.queue.splice(e,1),t.reject(v_)}),this.queue.push(t),t.promise}},$5=class{static{tD(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,r,n){this.onReadyEmitter=new $h.Emitter,this.deferred=new vD,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(e=>{this.deferred.resolve(e),this.unlock()}),r(e=>{this.deferred.reject(e),this.unlock()})}terminate(){this.deferred.reject(v_),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw Error("Parser worker is busy");return this._parsing=!0,this.deferred=new vD,this.sendMessage(e),this.deferred.promise}},$6=class{static{tD(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new vS.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=vw();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=vS.CancellationToken.None){let n=new vD;return e.push({action:t,deferred:n,cancellationToken:r}),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:r})=>{try{let n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(e){vP(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},$7=class{static{tD(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new vJ,this.tokenTypeIdMap=new vJ,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>({...e,message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,r=new Map;for(let r of rZ(e))t.set(r,{});if(e.$cstNode)for(let t of ij(e.$cstNode))r.set(t,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))rS(a)?e.push(this.dehydrateAstNode(a,t)):rk(a)?e.push(this.dehydrateReference(a,t)):e.push(a)}else rS(i)?r[n]=this.dehydrateAstNode(i,t):rk(i)?r[n]=this.dehydrateReference(i,t):void 0!==i&&(r[n]=i);return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return rO(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),r_(e)?r.content=e.content.map(e=>this.dehydrateCstNode(e,t)):rP(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t,r=new Map,n=new Map;for(let t of rZ(e))r.set(t,{});if(e.$cstNode)for(let r of ij(e.$cstNode)){let e;"fullText"in r?t=e=new T1(r.fullText):"content"in r?e=new TJ:"tokenType"in r&&(e=this.hydrateCstLeafNode(r)),e&&(n.set(r,e),e.root=t)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!n.startsWith("$"))if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))rS(a)?e.push(this.setParent(this.hydrateAstNode(a,t),r)):rk(a)?e.push(this.hydrateReference(a,r,n,t)):e.push(a)}else rS(i)?r[n]=this.setParent(this.hydrateAstNode(i,t),r):rk(i)?r[n]=this.hydrateReference(i,r,n,t):void 0!==i&&(r[n]=i);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),r_(n))for(let i of e.content){let e=this.hydrateCstNode(i,t,r++);n.content.push(e)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType);return new TX(e.offset,e.length,{start:{line:e.startLine,character:e.startColumn},end:{line:e.endLine,character:e.endColumn}},t,e.hidden)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of rZ(this.grammar))r5(t)&&this.grammarElementIdMap.set(t,e++)}};function $8(e){return{documentation:{CommentProvider:tD(e=>new $3(e),"CommentProvider"),DocumentationProvider:tD(e=>new $2(e),"DocumentationProvider")},parser:{AsyncParser:tD(e=>new $4(e),"AsyncParser"),GrammarConfig:tD(e=>a7(e),"GrammarConfig"),LangiumParser:tD(e=>vE(e),"LangiumParser"),CompletionParser:tD(e=>vR(e),"CompletionParser"),ValueConverter:tD(()=>new vC,"ValueConverter"),TokenBuilder:tD(()=>new vA,"TokenBuilder"),Lexer:tD(e=>new $C(e),"Lexer"),ParserErrorMessageProvider:tD(()=>new T7,"ParserErrorMessageProvider"),LexerErrorMessageProvider:tD(()=>new $b,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:tD(()=>new $m,"AstNodeLocator"),AstNodeDescriptionProvider:tD(e=>new $f(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:tD(e=>new $d(e),"ReferenceDescriptionProvider")},references:{Linker:tD(e=>new vH(e),"Linker"),NameProvider:tD(()=>new vQ,"NameProvider"),ScopeProvider:tD(e=>new $e(e),"ScopeProvider"),ScopeComputation:tD(e=>new v0(e),"ScopeComputation"),References:tD(e=>new vZ(e),"References")},serializer:{Hydrator:tD(e=>new $7(e),"Hydrator"),JsonSerializer:tD(e=>new $n(e),"JsonSerializer")},validation:{DocumentValidator:tD(e=>new $l(e),"DocumentValidator"),ValidationRegistry:tD(e=>new $s(e),"ValidationRegistry")},shared:tD(()=>e.shared,"shared")}}function Re(e){return{ServiceRegistry:tD(e=>new $i(e),"ServiceRegistry"),workspace:{LangiumDocuments:tD(e=>new vW(e),"LangiumDocuments"),LangiumDocumentFactory:tD(e=>new vB(e),"LangiumDocumentFactory"),DocumentBuilder:tD(e=>new $$(e),"DocumentBuilder"),IndexManager:tD(e=>new $R(e),"IndexManager"),WorkspaceManager:tD(e=>new $E(e),"WorkspaceManager"),FileSystemProvider:tD(t=>e.fileSystemProvider(t),"FileSystemProvider"),WorkspaceLock:tD(()=>new $6,"WorkspaceLock"),ConfigurationProvider:tD(e=>new $y(e),"ConfigurationProvider")},profilers:{}}}function Rt(e,t,r,n,i,a,s,o,l){return Ri([e,t,r,n,i,a,s,o,l].reduce(Ro,{}))}tD($8,"createDefaultCoreModule"),tD(Re,"createDefaultSharedCoreModule"),(e6||(e6={})).merge=(e,t)=>Ro(Ro({},e),t),tD(Rt,"inject");var Rr=Symbol("isProxy");function Rn(e){if(e&&e[Rr])for(let t of Object.values(e))Rn(t);return e}function Ri(e,t){let r=new Proxy({},{deleteProperty:tD(()=>!1,"deleteProperty"),set:tD(()=>{throw Error("Cannot set property on injected service container")},"set"),get:tD((n,i)=>i===Rr||Rs(n,i,e,t||r),"get"),getOwnPropertyDescriptor:tD((n,i)=>(Rs(n,i,e,t||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:tD((t,r)=>r in e,"has"),ownKeys:tD(()=>[...Object.getOwnPropertyNames(e)],"ownKeys")});return r}tD(Rn,"eagerLoad"),tD(Ri,"_inject");var Ra=Symbol();function Rs(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===Ra)throw Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){let i=r[t];e[t]=Ra;try{e[t]="function"==typeof i?i(n):Ri(i,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function Ro(e,t){if(t){for(let[r,n]of Object.entries(t))if(null!=n)if("object"==typeof n){let t=e[r];"object"==typeof t&&null!==t?e[r]=Ro(t,n):e[r]=Ro({},n)}else e[r]=n}return e}tD(Rs,"_resolve"),tD(Ro,"_merge");var Rl={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(h=e7||(e7={})).REGULAR="indentation-sensitive",h.IGNORE_INDENTATION="ignore-indentation";var Ru=class extends vA{static{tD(this,"IndentationAwareTokenBuilder")}constructor(e=Rl){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...Rl,...e},this.indentTokenType=fZ({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=fZ({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){let r,n,i,a=super.buildTokens(e,t);if(!$S(a))throw Error("Invalid tokens built by default builder");let{indentTokenName:s,dedentTokenName:o,whitespaceTokenName:l,ignoreIndentationDelimiters:u}=this.options,c=[];for(let e of a){for(let[t,r]of u)e.name===t?e.PUSH_MODE=e7.IGNORE_INDENTATION:e.name===r&&(e.POP_MODE=!0);e.name===o?r=e:e.name===s?n=e:e.name===l?i=e:c.push(e)}if(!r||!n||!i)throw Error("Some indentation/whitespace tokens not found!");return u.length>0?{modes:{[e7.REGULAR]:[r,n,...c,i],[e7.IGNORE_INDENTATION]:[...c,i]},defaultMode:e7.REGULAR}:[r,n,i,...c]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,t){return 0===t||"\r\n".includes(e[t-1])}matchWhitespace(e,t,r,n){this.whitespaceRegExp.lastIndex=t;let i=this.whitespaceRegExp.exec(e);return{currIndentLevel:i?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:i}}createIndentationTokenInstance(e,t,r,n){let i=this.getLineNumber(t,n);return f0(e,r,n,n+r.length,i,i,1,r.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:i,prevIndentLevel:a,match:s}=this.matchWhitespace(e,t,r,n);return i<=a?null:(this.indentationStack.push(i),s)}dedentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:i,prevIndentLevel:a,match:s}=this.matchWhitespace(e,t,r,n);if(i>=a)return null;let o=this.indentationStack.lastIndexOf(i);if(-1===o)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${i} at offset: ${t}. Current indentation stack: ${this.indentationStack}`,offset:t,length:s?.[0]?.length??0,line:this.getLineNumber(e,t),column:1}),null;let l=this.indentationStack.length-o-1,u=e.substring(0,t).match(/[\r\n]+$/)?.[0].length??1;for(let n=0;n<l;n++){let n=this.createIndentationTokenInstance(this.dedentTokenType,e,"",t-(u-1));r.push(n),this.indentationStack.pop()}return null}buildTerminalToken(e){let t=super.buildTerminalToken(e),{indentTokenName:r,dedentTokenName:n,whitespaceTokenName:i}=this.options;return t.name===r?this.indentTokenType:t.name===n?this.dedentTokenType:t.name===i?fZ({name:i,pattern:this.whitespaceRegExp,group:fG.SKIPPED}):t}flushRemainingDedents(e){let t=[];for(;this.indentationStack.length>1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},Rc=class extends $C{static{tD(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ru)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=$A){let r=super.tokenize(e),n=r.report;t?.mode==="full"&&r.tokens.push(...n.remainingDedents),n.remainingDedents=[];let{indentTokenType:i,dedentTokenType:a}=this.indentationTokenBuilder,s=i.tokenTypeIdx,o=a.tokenTypeIdx,l=[],u=r.tokens.length-1;for(let e=0;e<u;e++){let t=r.tokens[e],n=r.tokens[e+1];if(t.tokenTypeIdx===s&&n.tokenTypeIdx===o){e++;continue}l.push(t)}return u>=0&&l.push(r.tokens[u]),r.tokens=l,r}},Rp={};tM(Rp,{AstUtils:()=>rK,BiMap:()=>vJ,Cancellation:()=>vS,ContextCache:()=>v6,CstUtils:()=>rC,DONE_RESULT:()=>rF,Deferred:()=>vD,Disposable:()=>e5,DisposableCache:()=>v9,DocumentCache:()=>v7,EMPTY_STREAM:()=>rj,ErrorWithLocation:()=>i9,GrammarUtils:()=>i4,MultiMap:()=>vX,OperationCancelled:()=>v_,Reduction:()=>eV,RegExpUtils:()=>i7,SimpleCache:()=>v5,StreamImpl:()=>rD,TreeStreamImpl:()=>rz,URI:()=>vK,UriTrie:()=>vU,UriUtils:()=>e2,WorkspaceCache:()=>v8,assertCondition:()=>i6,assertUnreachable:()=>i5,delayNextTick:()=>vk,interruptAndCheck:()=>vO,isOperationCancelled:()=>vP,loadGrammarFromJson:()=>Rg,setInterruptionPeriod:()=>vI,startCancelableOperation:()=>vw,stream:()=>rG}),tF(Rp,$h);var Rf=class{static{tD(this,"EmptyFileSystemProvider")}stat(e){throw Error("No file system is available.")}statSync(e){throw Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw Error("No file system is available.")}readBinarySync(){throw Error("No file system is available.")}readFile(){throw Error("No file system is available.")}readFileSync(){throw Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},Rd={fileSystemProvider:tD(()=>new Rf,"fileSystemProvider")},Rm={Grammar:tD(()=>void 0,"Grammar"),LanguageMetaData:tD(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Rh={AstReflection:tD(()=>new iD,"AstReflection")};function Ry(){let e=Rt(Re(Rd),Rh),t=Rt($8({shared:e}),Rm);return e.ServiceRegistry.register(t),t}function Rg(e){let t=Ry(),r=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,vK.parse(`memory:/${r.name??"grammar"}.langium`)),r}tD(Ry,"createMinimalGrammarServices"),tD(Rg,"loadGrammarFromJson"),tF(rA,Rp);var RT=class{static{tD(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new vX}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(e=>this.activeCategories.add(e)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(e=>this.activeCategories.delete(e)):this.activeCategories.clear()}createTask(e,t){if(!this.isActive(e))throw Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${t}'.`),new Rv(t=>this.records.add(e,this.dumpRecord(e,t)),t)}dumpRecord(e,t){console.info(`Task ${e}.${t.identifier} executed in ${t.duration.toFixed(2)}ms and ended at ${t.date.toISOString()}`);let r=[];for(let e of t.entries.keys()){let n=t.entries.get(e),i=n.reduce((e,t)=>e+t);r.push({name:`${t.identifier}.${e}`,count:n.length,duration:i})}let n=t.duration-r.map(e=>e.duration).reduce((e,t)=>e+t,0);function i(e){return Math.round(100*e)/100}return r.push({name:t.identifier,count:1,duration:n}),r.sort((e,t)=>t.duration-e.duration),tD(i,"Round"),console.table(r.map(e=>({Element:e.name,Count:e.count,"Self %":i(100*e.duration/t.duration),"Time (ms)":i(e.duration)}))),t}getRecords(...e){return 0===e.length?this.records.values():this.records.entries().filter(t=>e.some(e=>e===t[0])).flatMap(e=>e[1])}},Rv=class{static{tD(this,"ProfilingTask")}constructor(e,t){this.stack=[],this.entries=new vX,this.addRecord=e,this.identifier=t}start(){if(void 0!==this.startTime)throw Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(void 0===this.startTime)throw Error(`Task "${this.identifier}" was not started.`);if(0!==this.stack.length)throw Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(e=>e.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let t=this.stack.pop();if(!t)throw Error(`Task "${this.identifier}.${e}" was not started.`);if(t.id!==e)throw Error(`Sub-Task "${t.id}" is not already stopped.`);let r=performance.now()-t.start;void 0!==this.stack.at(-1)&&(this.stack[this.stack.length-1].content+=r);let n=r-t.content;this.entries.add(e,n)}};(e8||(e8={})).Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[^\[\]\r\n]+)\]/},(te||(te={})).Terminals={DOMAIN_NAME:/complex|complicated|clear|chaotic|confusion/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(tt||(tt={})).Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/},(tr||(tr={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/},(tn||(tn={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ti||(ti={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ta||(ta={})).Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(ts||(ts={})).Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(to||(to={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ABNF_RULENAME:/[A-Za-z][A-Za-z0-9-]*/,ABNF_STRING:/"[^"]*"/,ABNF_NUMVAL:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/,ABNF_REPEAT:/[0-9]*\*[0-9]*/,ABNF_EXACT_REPEAT:/[0-9]+/,ABNF_WHITESPACE:/[\t \r\n]+/,ABNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,ABNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,ABNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ABNF_COMMENT:/;[^\n\r]*/},(tl||(tl={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EBNF_ID:/[A-Z_a-z][\w-]*/,EBNF_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,EBNF_SPECIAL_SEQUENCE:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/,EBNF_WHITESPACE:/[\t \r\n]+/,EBNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EBNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EBNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EBNF_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//,EBNF_ISO_COMMENT:/\(\*[\s\S]*?\*\)/},(tu||(tu={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,RR_ID:/[A-Z_a-z][\w-]*/,RR_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,RR_WHITESPACE:/[\t \r\n]+/,RR_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,RR_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,RR_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,RR_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//},(tc||(tc={})).Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,PEG_ID:/[A-Z_a-z][\w-]*/,PEG_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,PEG_WHITESPACE:/[\t \r\n]+/,PEG_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,PEG_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,PEG_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,PEG_LINE_COMMENT:/#[^\n\r]*/},(tp||(tp={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/},(tf||(tf={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,CLASS_ANNOTATION:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/,ICON_ANNOTATION:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/,DESC_ANNOTATION:/[ \t]+##[^\n\r]*/,INDENTATION:/[ \t]{1,}/,QUOTED_NAME:/"[^"]*"|'[^']*'/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,BARE_NAME:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/},(td||(td={})).Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},e8.Terminals,te.Terminals,tt.Terminals,tr.Terminals,tn.Terminals,ti.Terminals,ta.Terminals,ts.Terminals,to.Terminals,tl.Terminals,tu.Terminals,tc.Terminals,tf.Terminals,tp.Terminals,td.Terminals;var R$="AbnfPrimary",RR="Architecture";tD(function(e){return RJ.isInstance(e,RR)},"isArchitecture");var RE="Axis",Rb="Branch";tD(function(e){return RJ.isInstance(e,Rb)},"isBranch");var RA="Commit";tD(function(e){return RJ.isInstance(e,RA)},"isCommit");var RC="Cynefin";tD(function(e){return RJ.isInstance(e,RC)},"isCynefin");var RS="DomainBlock";tD(function(e){return RJ.isInstance(e,RS)},"isDomainBlock");var Rk="DomainItem";tD(function(e){return RJ.isInstance(e,Rk)},"isDomainItem");var Rx="EbnfPostfix",RN="EbnfPrimary",Rw="EmDataEntity",RI="EmFrame",R_="EmModelEntity";tD(function(e){return"rmo"===e||"readmodel"===e||"ui"===e||"cmd"===e||"command"===e||"evt"===e||"event"===e||"pcr"===e||"processor"===e},"isEmModelEntityType");var RP="EmResetFrame";function RO(e){return RJ.isInstance(e,RP)}tD(RO,"isEmResetFrame");var RD="GitGraph";tD(function(e){return RJ.isInstance(e,RD)},"isGitGraph");var RL="Info";tD(function(e){return RJ.isInstance(e,RL)},"isInfo");var RM="Item",Rj="Merge";tD(function(e){return RJ.isInstance(e,Rj)},"isMerge");var RF="Packet";tD(function(e){return RJ.isInstance(e,RF)},"isPacket");var RG="PacketBlock";tD(function(e){return RJ.isInstance(e,RG)},"isPacketBlock");var Rz="PegPrimary";tD(function(e){return RJ.isInstance(e,"Pie")},"isPie");var RK="PieSection";tD(function(e){return RJ.isInstance(e,RK)},"isPieSection");var Rq="Railroad";tD(function(e){return RJ.isInstance(e,Rq)},"isRailroad");var RU="RailroadAbnf";tD(function(e){return RJ.isInstance(e,RU)},"isRailroadAbnf");var RB="RailroadEbnf";tD(function(e){return RJ.isInstance(e,RB)},"isRailroadEbnf");var RW="RailroadExpression",RV="RailroadPeg";tD(function(e){return RJ.isInstance(e,RV)},"isRailroadPeg");var RH="Statement",RY="Transition";tD(function(e){return RJ.isInstance(e,RY)},"isTransition");var RQ="Treemap";tD(function(e){return RJ.isInstance(e,RQ)},"isTreemap");var RZ="Wardley";tD(function(e){return RJ.isInstance(e,RZ)},"isWardley");var RX=class extends rI{constructor(){super(...arguments),this.types={AbnfAlternation:{name:"AbnfAlternation",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},AbnfConcatenation:{name:"AbnfConcatenation",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},AbnfElement:{name:"AbnfElement",properties:{primary:{name:"primary"},repeat:{name:"repeat"}},superTypes:[]},AbnfGroup:{name:"AbnfGroup",properties:{element:{name:"element"}},superTypes:[R$]},AbnfNumVal:{name:"AbnfNumVal",properties:{value:{name:"value"}},superTypes:[R$]},AbnfOptionalGroup:{name:"AbnfOptionalGroup",properties:{element:{name:"element"}},superTypes:[R$]},AbnfPrimary:{name:R$,properties:{},superTypes:[]},AbnfRule:{name:"AbnfRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},AbnfRuleName:{name:"AbnfRuleName",properties:{name:{name:"name"}},superTypes:[R$]},AbnfStringLiteral:{name:"AbnfStringLiteral",properties:{value:{name:"value"}},superTypes:[R$]},Accelerator:{name:"Accelerator",properties:{name:{name:"name"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Alignment:{name:"Alignment",properties:{direction:{name:"direction"},members:{name:"members",defaultValue:[]}},superTypes:[]},Anchor:{name:"Anchor",properties:{evolution:{name:"evolution"},name:{name:"name"},visibility:{name:"visibility"}},superTypes:[]},Annotation:{name:"Annotation",properties:{number:{name:"number"},text:{name:"text"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Annotations:{name:"Annotations",properties:{x:{name:"x"},y:{name:"y"}},superTypes:[]},Architecture:{name:RR,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},alignments:{name:"alignments",defaultValue:[]},edges:{name:"edges",defaultValue:[]},groups:{name:"groups",defaultValue:[]},junctions:{name:"junctions",defaultValue:[]},services:{name:"services",defaultValue:[]},title:{name:"title"}},superTypes:[]},Axis:{name:RE,properties:{label:{name:"label"},name:{name:"name"}},superTypes:[]},Branch:{name:Rb,properties:{name:{name:"name"},order:{name:"order"}},superTypes:[RH]},Checkout:{name:"Checkout",properties:{branch:{name:"branch"}},superTypes:[RH]},CherryPicking:{name:"CherryPicking",properties:{id:{name:"id"},parent:{name:"parent"},tags:{name:"tags",defaultValue:[]}},superTypes:[RH]},ClassDefStatement:{name:"ClassDefStatement",properties:{className:{name:"className"},styleText:{name:"styleText"}},superTypes:[]},Commit:{name:RA,properties:{id:{name:"id"},message:{name:"message"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[RH]},Common:{name:"Common",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Component:{name:"Component",properties:{decorator:{name:"decorator"},evolution:{name:"evolution"},inertia:{name:"inertia",defaultValue:!1},label:{name:"label"},name:{name:"name"},visibility:{name:"visibility"}},superTypes:[]},Curve:{name:"Curve",properties:{entries:{name:"entries",defaultValue:[]},label:{name:"label"},name:{name:"name"}},superTypes:[]},Cynefin:{name:RC,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},domains:{name:"domains",defaultValue:[]},title:{name:"title"},transitions:{name:"transitions",defaultValue:[]}},superTypes:[]},Deaccelerator:{name:"Deaccelerator",properties:{name:{name:"name"},x:{name:"x"},y:{name:"y"}},superTypes:[]},Decorator:{name:"Decorator",properties:{strategy:{name:"strategy"}},superTypes:[]},Direction:{name:"Direction",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dir:{name:"dir"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[RD]},DomainBlock:{name:RS,properties:{domain:{name:"domain"},items:{name:"items",defaultValue:[]}},superTypes:[]},DomainItem:{name:Rk,properties:{label:{name:"label"}},superTypes:[]},EbnfChoice:{name:"EbnfChoice",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},EbnfExceptionPostfix:{name:"EbnfExceptionPostfix",properties:{except:{name:"except"}},superTypes:[Rx]},EbnfGroup:{name:"EbnfGroup",properties:{element:{name:"element"}},superTypes:[RN]},EbnfNonTerminal:{name:"EbnfNonTerminal",properties:{name:{name:"name"}},superTypes:[RN]},EbnfOneOrMorePostfix:{name:"EbnfOneOrMorePostfix",properties:{operator:{name:"operator"}},superTypes:[Rx]},EbnfOptional:{name:"EbnfOptional",properties:{element:{name:"element"}},superTypes:[RN]},EbnfOptionalPostfix:{name:"EbnfOptionalPostfix",properties:{operator:{name:"operator"}},superTypes:[Rx]},EbnfPostfix:{name:Rx,properties:{},superTypes:[]},EbnfPrimary:{name:RN,properties:{},superTypes:[]},EbnfRepetition:{name:"EbnfRepetition",properties:{element:{name:"element"}},superTypes:[RN]},EbnfRule:{name:"EbnfRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},EbnfSequence:{name:"EbnfSequence",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},EbnfSpecial:{name:"EbnfSpecial",properties:{text:{name:"text"}},superTypes:[RN]},EbnfTerm:{name:"EbnfTerm",properties:{base:{name:"base"},postfixes:{name:"postfixes",defaultValue:[]}},superTypes:[]},EbnfTerminal:{name:"EbnfTerminal",properties:{value:{name:"value"}},superTypes:[RN]},EbnfZeroOrMorePostfix:{name:"EbnfZeroOrMorePostfix",properties:{operator:{name:"operator"}},superTypes:[Rx]},Edge:{name:"Edge",properties:{lhsDir:{name:"lhsDir"},lhsGroup:{name:"lhsGroup",defaultValue:!1},lhsId:{name:"lhsId"},lhsInto:{name:"lhsInto",defaultValue:!1},rhsDir:{name:"rhsDir"},rhsGroup:{name:"rhsGroup",defaultValue:!1},rhsId:{name:"rhsId"},rhsInto:{name:"rhsInto",defaultValue:!1},title:{name:"title"}},superTypes:[]},EmDataEntity:{name:Rw,properties:{dataBlockValue:{name:"dataBlockValue"},dataType:{name:"dataType"},name:{name:"name"}},superTypes:[]},EmFrame:{name:RI,properties:{},superTypes:[]},EmGwt:{name:"EmGwt",properties:{givenStatements:{name:"givenStatements",defaultValue:[]},sourceFrame:{name:"sourceFrame",referenceType:RI},thenStatements:{name:"thenStatements",defaultValue:[]},whenStatements:{name:"whenStatements",defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:"EmGwtStatement",properties:{entityIdentifier:{name:"entityIdentifier",referenceType:R_}},superTypes:[]},EmModelEntity:{name:R_,properties:{name:{name:"name"}},superTypes:[]},EmNoteEntity:{name:"EmNoteEntity",properties:{dataBlockValue:{name:"dataBlockValue"},dataType:{name:"dataType"},sourceFrame:{name:"sourceFrame",referenceType:RI}},superTypes:[]},EmResetFrame:{name:RP,properties:{dataInlineValue:{name:"dataInlineValue"},dataReference:{name:"dataReference",referenceType:Rw},dataType:{name:"dataType"},entityIdentifier:{name:"entityIdentifier"},modelEntityType:{name:"modelEntityType"},name:{name:"name"},sourceFrames:{name:"sourceFrames",defaultValue:[],referenceType:RI}},superTypes:[RI]},EmTimeFrame:{name:"EmTimeFrame",properties:{dataInlineValue:{name:"dataInlineValue"},dataReference:{name:"dataReference",referenceType:Rw},dataType:{name:"dataType"},entityIdentifier:{name:"entityIdentifier"},modelEntityType:{name:"modelEntityType"},name:{name:"name"},sourceFrames:{name:"sourceFrames",defaultValue:[],referenceType:RI}},superTypes:[RI]},Entry:{name:"Entry",properties:{axis:{name:"axis",referenceType:RE},value:{name:"value"}},superTypes:[]},EventModel:{name:"EventModel",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dataEntities:{name:"dataEntities",defaultValue:[]},frames:{name:"frames",defaultValue:[]},gwtEntities:{name:"gwtEntities",defaultValue:[]},modelEntities:{name:"modelEntities",defaultValue:[]},noteEntities:{name:"noteEntities",defaultValue:[]},title:{name:"title"}},superTypes:[]},Evolution:{name:"Evolution",properties:{stages:{name:"stages",defaultValue:[]}},superTypes:[]},EvolutionStage:{name:"EvolutionStage",properties:{boundary:{name:"boundary"},name:{name:"name"},secondName:{name:"secondName"}},superTypes:[]},Evolve:{name:"Evolve",properties:{component:{name:"component"},target:{name:"target"}},superTypes:[]},GitGraph:{name:RD,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[]},Group:{name:"Group",properties:{icon:{name:"icon"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Info:{name:RL,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Item:{name:RM,properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[]},Junction:{name:"Junction",properties:{id:{name:"id"},in:{name:"in"}},superTypes:[]},Label:{name:"Label",properties:{negX:{name:"negX",defaultValue:!1},negY:{name:"negY",defaultValue:!1},offsetX:{name:"offsetX"},offsetY:{name:"offsetY"}},superTypes:[]},Leaf:{name:"Leaf",properties:{classSelector:{name:"classSelector"},name:{name:"name"},value:{name:"value"}},superTypes:[RM]},Link:{name:"Link",properties:{arrow:{name:"arrow"},from:{name:"from"},fromPort:{name:"fromPort"},linkLabel:{name:"linkLabel"},to:{name:"to"},toPort:{name:"toPort"}},superTypes:[]},Merge:{name:Rj,properties:{branch:{name:"branch"},id:{name:"id"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[RH]},Note:{name:"Note",properties:{evolution:{name:"evolution"},text:{name:"text"},visibility:{name:"visibility"}},superTypes:[]},Option:{name:"Option",properties:{name:{name:"name"},value:{name:"value",defaultValue:!1}},superTypes:[]},Packet:{name:RF,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},blocks:{name:"blocks",defaultValue:[]},title:{name:"title"}},superTypes:[]},PacketBlock:{name:RG,properties:{bits:{name:"bits"},end:{name:"end"},label:{name:"label"},start:{name:"start"}},superTypes:[]},PegAny:{name:"PegAny",properties:{dot:{name:"dot"}},superTypes:[Rz]},PegGroup:{name:"PegGroup",properties:{element:{name:"element"}},superTypes:[Rz]},PegIdentifier:{name:"PegIdentifier",properties:{name:{name:"name"}},superTypes:[Rz]},PegLiteral:{name:"PegLiteral",properties:{value:{name:"value"}},superTypes:[Rz]},PegOrderedChoice:{name:"PegOrderedChoice",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[]},PegPrefix:{name:"PegPrefix",properties:{operator:{name:"operator"},suffix:{name:"suffix"}},superTypes:[]},PegPrimary:{name:Rz,properties:{},superTypes:[]},PegRule:{name:"PegRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},PegSequence:{name:"PegSequence",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[]},PegSuffix:{name:"PegSuffix",properties:{operator:{name:"operator"},primary:{name:"primary"}},superTypes:[]},Pie:{name:"Pie",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},sections:{name:"sections",defaultValue:[]},showData:{name:"showData",defaultValue:!1},title:{name:"title"}},superTypes:[]},PieSection:{name:RK,properties:{label:{name:"label"},value:{name:"value"}},superTypes:[]},Pipeline:{name:"Pipeline",properties:{components:{name:"components",defaultValue:[]},parent:{name:"parent"}},superTypes:[]},PipelineComponent:{name:"PipelineComponent",properties:{evolution:{name:"evolution"},label:{name:"label"},name:{name:"name"}},superTypes:[]},Radar:{name:"Radar",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},axes:{name:"axes",defaultValue:[]},curves:{name:"curves",defaultValue:[]},options:{name:"options",defaultValue:[]},title:{name:"title"}},superTypes:[]},Railroad:{name:Rq,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadAbnf:{name:RU,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadChoiceExpr:{name:"RailroadChoiceExpr",properties:{alternatives:{name:"alternatives",defaultValue:[]}},superTypes:[RW]},RailroadEbnf:{name:RB,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadExpression:{name:RW,properties:{},superTypes:[]},RailroadNonTerminalExpr:{name:"RailroadNonTerminalExpr",properties:{name:{name:"name"}},superTypes:[RW]},RailroadOneOrMoreExpr:{name:"RailroadOneOrMoreExpr",properties:{element:{name:"element"}},superTypes:[RW]},RailroadOptionalExpr:{name:"RailroadOptionalExpr",properties:{element:{name:"element"}},superTypes:[RW]},RailroadPeg:{name:RV,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},rules:{name:"rules",defaultValue:[]},title:{name:"title"}},superTypes:[]},RailroadRule:{name:"RailroadRule",properties:{definition:{name:"definition"},name:{name:"name"}},superTypes:[]},RailroadSequenceExpr:{name:"RailroadSequenceExpr",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[RW]},RailroadSpecialExpr:{name:"RailroadSpecialExpr",properties:{text:{name:"text"}},superTypes:[RW]},RailroadTerminalExpr:{name:"RailroadTerminalExpr",properties:{value:{name:"value"}},superTypes:[RW]},RailroadZeroOrMoreExpr:{name:"RailroadZeroOrMoreExpr",properties:{element:{name:"element"}},superTypes:[RW]},Section:{name:"Section",properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[RM]},Service:{name:"Service",properties:{icon:{name:"icon"},iconText:{name:"iconText"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Size:{name:"Size",properties:{height:{name:"height"},width:{name:"width"}},superTypes:[]},Statement:{name:RH,properties:{},superTypes:[]},Transition:{name:RY,properties:{from:{name:"from"},label:{name:"label"},to:{name:"to"}},superTypes:[]},TreeNode:{name:"TreeNode",properties:{classAnnotation:{name:"classAnnotation"},descAnnotation:{name:"descAnnotation"},iconAnnotation:{name:"iconAnnotation"},indent:{name:"indent"},name:{name:"name"}},superTypes:[]},TreeView:{name:"TreeView",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},nodes:{name:"nodes",defaultValue:[]},title:{name:"title"}},superTypes:[]},Treemap:{name:RQ,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"},TreemapRows:{name:"TreemapRows",defaultValue:[]}},superTypes:[]},TreemapRow:{name:"TreemapRow",properties:{indent:{name:"indent"},item:{name:"item"}},superTypes:[]},Wardley:{name:RZ,properties:{accDescr:{name:"accDescr"},accelerators:{name:"accelerators",defaultValue:[]},accTitle:{name:"accTitle"},anchors:{name:"anchors",defaultValue:[]},annotation:{name:"annotation",defaultValue:[]},annotations:{name:"annotations",defaultValue:[]},components:{name:"components",defaultValue:[]},deaccelerators:{name:"deaccelerators",defaultValue:[]},evolution:{name:"evolution"},evolves:{name:"evolves",defaultValue:[]},links:{name:"links",defaultValue:[]},notes:{name:"notes",defaultValue:[]},pipelines:{name:"pipelines",defaultValue:[]},size:{name:"size"},title:{name:"title"}},superTypes:[]}}}static{tD(this,"MermaidAstReflection")}},RJ=new RX,R0=tD(()=>tm??(tm=Rg('{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"alignments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Alignment","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"align"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"row"},{"$type":"Keyword","value":"column"}]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@20"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'|[^\\\\[\\\\]\\\\r\\\\n]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}')),"ArchitectureGrammarGrammar"),R1=tD(()=>th??(th=Rg('{"$type":"Grammar","isDeclared":true,"name":"CynefinGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Cynefin","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"cynefin-beta"},{"$type":"Keyword","value":"cynefin-beta:"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"domains","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"transitions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"domain","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainItem","definition":{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Transition","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":"--\x3e"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"DOMAIN_NAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complex"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complicated"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"clear"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"chaotic"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"confusion"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"CynefinGrammarGrammar"),R2=tD(()=>ty??(ty=Rg('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),R3=tD(()=>tg??(tg=Rg('{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}')),"GitGraphGrammarGrammar"),R4=tD(()=>tT??(tT=Rg('{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"InfoGrammarGrammar"),R9=tD(()=>tv??(tv=Rg('{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"PacketGrammarGrammar"),R5=tD(()=>t$??(t$=Rg('{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"PieGrammarGrammar"),R6=tD(()=>tR??(tR=Rg('{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}')),"RadarGrammarGrammar"),R7=tD(()=>tE??(tE=Rg('{"$type":"Grammar","isDeclared":true,"name":"RailroadAbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_RULENAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Za-z][A-Za-z0-9-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_NUMVAL","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\\\\.[0-9A-Fa-f]+)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]*\\\\*[0-9]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_EXACT_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_COMMENT","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadAbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-abnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfAlternation","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfConcatenation","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfElement","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfStringLiteral","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfNumVal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRuleName","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfOptionalGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadAbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfAlternation","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfConcatenation","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfElement","attributes":[{"$type":"TypeAttribute","name":"repeat","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"AbnfStringLiteral","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfNumVal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfRuleName","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"AbnfOptionalGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadAbnfGrammarGrammar"),R8=tD(()=>tb??(tb=Rg('{"$type":"Grammar","isDeclared":true,"name":"RailroadEbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_SPECIAL_SEQUENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\?(?=[^?;]*[^?\\\\s;][^?;]*\\\\?)[^?;]*\\\\?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_ISO_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\(\\\\*[\\\\s\\\\S]*?\\\\*\\\\)/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadEbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-ebnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"::="}]},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":",","cardinality":"?"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerm","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"base","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"postfixes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerminal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfNonTerminal","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSpecial","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptional","returnType":{"$ref":"#/interfaces@11"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRepetition","returnType":{"$ref":"#/interfaces@12"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPostfix","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptionalPostfix","returnType":{"$ref":"#/interfaces@13"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfZeroOrMorePostfix","returnType":{"$ref":"#/interfaces@14"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOneOrMorePostfix","returnType":{"$ref":"#/interfaces@15"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfExceptionPostfix","returnType":{"$ref":"#/interfaces@16"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"except","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadEbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfTerm","attributes":[{"$type":"TypeAttribute","name":"base","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false},{"$type":"TypeAttribute","name":"postfixes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfPostfix","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfNonTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfSpecial","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptional","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfRepetition","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptionalPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfZeroOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfOneOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfExceptionPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"except","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadEbnfGrammarGrammar"),Ee=tD(()=>tA??(tA=Rg('{"$type":"Grammar","isDeclared":true,"name":"RailroadGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"RR_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Railroad","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadExpression","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSequenceExpr","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"sequence"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadChoiceExpr","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"choice"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOptionalExpr","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"optional"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOneOrMoreExpr","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"oneOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadZeroOrMoreExpr","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"zeroOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadTerminalExpr","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadNonTerminalExpr","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"nonterminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSpecialExpr","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"special"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"Railroad","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadExpression","attributes":[],"superTypes":[]},{"$type":"Interface","name":"RailroadSequenceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadChoiceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOptionalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOneOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadZeroOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadNonTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadSpecialExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadGrammarGrammar"),Et=tD(()=>tC??(tC=Rg('{"$type":"Grammar","isDeclared":true,"name":"RailroadPegGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/#[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadPeg","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-peg-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"<-"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegOrderedChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrefix","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"&"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"!"}}],"cardinality":"?"},{"$type":"Assignment","feature":"suffix","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSuffix","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrimary","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegLiteral","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegIdentifier","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegAny","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Assignment","feature":"dot","operator":"=","terminal":{"$type":"Keyword","value":"."}},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadPeg","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegOrderedChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegPrefix","attributes":[{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"suffix","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSuffix","attributes":[{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}},"isOptional":false},{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"PegPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"PegLiteral","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegIdentifier","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegGroup","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"PegAny","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"dot","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadPegGrammarGrammar"),Er=tD(()=>tS??(tS=Rg('{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}')),"TreemapGrammarGrammar"),En=tD(()=>tk??(tk=Rg('{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"CLASS_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+:::[ \\\\t]*[A-Za-z_][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ICON_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+icon\\\\([\\\\w-]*(?::[\\\\w-]+)?\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DESC_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+##[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"QUOTED_NAME","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"BARE_NAME","definition":{"$type":"RegexToken","regex":"/(?!:::|icon\\\\(|##)[^ \\\\t\\\\n\\\\r\\"\'](?:(?![ \\\\t]+:::[ \\\\t]*[A-Za-z_]|[ \\\\t]+icon\\\\(|[ \\\\t]+##)[^\\\\n\\\\r])*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"classAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"iconAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"descAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n *\\n * Supports both quoted labels (\\"my file\\") and bare labels (index.js).\\n * Annotations (:::class, icon(), ## description) are parsed directly into\\n * AST fields by the grammar. Value conversion for stripping quotes, extracting\\n * class names, icon names, and description text happens in valueConverter.ts.\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treeView keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}')),"TreeViewGrammarGrammar"),Ei=tD(()=>tx??(tx=Rg('{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"--\x3e"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \\\\t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"WardleyGrammarGrammar"),Ea={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Es={languageId:"cynefin",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eo={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},El={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eu={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ec={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ep={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ef={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ed={languageId:"railroadAbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Em={languageId:"railroadEbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eh={languageId:"railroad",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ey={languageId:"railroadPeg",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Eg={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ET={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Ev={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},E$={AstReflection:tD(()=>new RX,"AstReflection")},ER={Grammar:tD(()=>R0(),"Grammar"),LanguageMetaData:tD(()=>Ea,"LanguageMetaData"),parser:{}},EE={Grammar:tD(()=>R1(),"Grammar"),LanguageMetaData:tD(()=>Es,"LanguageMetaData"),parser:{}},Eb={Grammar:tD(()=>R2(),"Grammar"),LanguageMetaData:tD(()=>Eo,"LanguageMetaData"),parser:{}},EA={Grammar:tD(()=>R3(),"Grammar"),LanguageMetaData:tD(()=>El,"LanguageMetaData"),parser:{}},EC={Grammar:tD(()=>R4(),"Grammar"),LanguageMetaData:tD(()=>Eu,"LanguageMetaData"),parser:{}},ES={Grammar:tD(()=>R9(),"Grammar"),LanguageMetaData:tD(()=>Ec,"LanguageMetaData"),parser:{}},Ek={Grammar:tD(()=>R5(),"Grammar"),LanguageMetaData:tD(()=>Ep,"LanguageMetaData"),parser:{}},Ex={Grammar:tD(()=>R6(),"Grammar"),LanguageMetaData:tD(()=>Ef,"LanguageMetaData"),parser:{}},EN={Grammar:tD(()=>R7(),"Grammar"),LanguageMetaData:tD(()=>Ed,"LanguageMetaData"),parser:{}},Ew={Grammar:tD(()=>R8(),"Grammar"),LanguageMetaData:tD(()=>Em,"LanguageMetaData"),parser:{}},EI={Grammar:tD(()=>Ee(),"Grammar"),LanguageMetaData:tD(()=>Eh,"LanguageMetaData"),parser:{}},E_={Grammar:tD(()=>Et(),"Grammar"),LanguageMetaData:tD(()=>Ey,"LanguageMetaData"),parser:{}},EP={Grammar:tD(()=>Er(),"Grammar"),LanguageMetaData:tD(()=>Eg,"LanguageMetaData"),parser:{}},EO={Grammar:tD(()=>En(),"Grammar"),LanguageMetaData:tD(()=>ET,"LanguageMetaData"),parser:{}},ED={Grammar:tD(()=>Ei(),"Grammar"),LanguageMetaData:tD(()=>Ev,"LanguageMetaData"),parser:{}},EL={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},EM=class extends vC{static{tD(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return(void 0===n&&(n=this.runCustomConverter(e,t,r)),void 0===n)?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=EL[e.name];if(void 0===n)return;let i=n.exec(t);if(null!==i){if(void 0!==i[1])return i[1].trim().replace(/[\t ]{2,}/gm," ");if(void 0!==i[2])return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n")}}},Ej=class extends EM{static{tD(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},EF=class extends vA{static{tD(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}};(class extends EF{static{tD(this,"CommonTokenBuilder")}})},5552(e,t,r){r.d(t,{f:()=>s});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Bg,a);return t.ServiceRegistry.register(r),{shared:t,Radar:r}}(0,n.K2)(s,"createRadarServices")},9427(e,t,r){r.d(t,{J:()=>s});var n=r(4954),i=class extends n.dg{static{(0,n.K2)(this,"WardleyValueConverter")}runCustomConverter(e,t,r){return"LINK_LABEL"===e.name.toUpperCase()?t.substring(1).trim():void 0}},a={parser:{ValueConverter:(0,n.K2)(()=>new i,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Xr,a);return t.ServiceRegistry.register(r),{shared:t,Wardley:r}}(0,n.K2)(s,"createWardleyServices")},145(e,t,r){r.d(t,{I:()=>o});var n=r(4954),i=class extends n.dg{static{(0,n.K2)(this,"TreeViewValueConverter")}runCustomConverter(e,t,r){if("INDENTATION"===e.name)return t?.length||0;if("QUOTED_NAME"===e.name)return t.substring(1,t.length-1);if("BARE_NAME"===e.name)return t.replace(/[\t ]+$/,"");if("CLASS_ANNOTATION"===e.name)return t.trim().substring(3).trim();if("ICON_ANNOTATION"===e.name){let e=t.trim();return e.substring(5,e.length-1)}if("DESC_ANNOTATION"===e.name)return t.trim().substring(2).trim()}},a=class extends n.mR{static{(0,n.K2)(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},s={parser:{TokenBuilder:(0,n.K2)(()=>new a,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new i,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.CZ,s);return t.ServiceRegistry.register(r),{shared:t,TreeView:r}}(0,n.K2)(o,"createTreeViewServices")},1721(e,t,r){r.d(t,{b:()=>s});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.d$,a);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}(0,n.K2)(s,"createGitGraphServices")},6045(e,t,r){r.d(t,{l:()=>l});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadTokenBuilder")}constructor(){super(["railroad-beta"])}},a=(0,n.K2)(e=>{let t=e.slice(1,-1),r="";for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&e+1<t.length){let n=t[++e];switch(n){case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=n}continue}r+=n}return r},"decodeEscapedString"),s=class extends n.dg{static{(0,n.K2)(this,"RailroadValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return a(e)}return n}runCustomConverter(e,t,r){if("RR_STRING"===e.name)return a(t)}},o={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new s,"ValueConverter")}};function l(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.Bi,o);return t.ServiceRegistry.register(r),{shared:t,Railroad:r}}(0,n.K2)(l,"createRailroadServices")},3263(e,t,r){r.d(t,{$:()=>s});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},a={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new n.Tm,"ValueConverter")}};function s(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.p5,a);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}(0,n.K2)(s,"createPacketServices")},9096(e,t,r){r.d(t,{s:()=>o});var n=r(4954),i=class extends n.mR{static{(0,n.K2)(this,"RailroadAbnfTokenBuilder")}constructor(){super(["railroad-abnf-beta"])}},a=class extends n.dg{static{(0,n.K2)(this,"RailroadAbnfValueConverter")}runConverter(e,t,r){let n=super.runConverter(e,t,r);if("TITLE"===e.name&&"string"==typeof n){let e=n.trim();if(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))return e.slice(1,-1)}return n}runCustomConverter(e,t,r){if("ABNF_STRING"===e.name)return t.slice(1,-1)}},s={parser:{TokenBuilder:(0,n.K2)(()=>new i,"TokenBuilder"),ValueConverter:(0,n.K2)(()=>new a,"ValueConverter")}};function o(e=n.DD){let t=(0,n.WQ)((0,n.uM)(e),n.sr),r=(0,n.WQ)((0,n.tG)({shared:t}),n.oI,s);return t.ServiceRegistry.register(r),{shared:t,RailroadAbnf:r}}(0,n.K2)(o,"createRailroadAbnfServices")},8731(e,t,r){r.d(t,{F5:()=>o.F5,Pz:()=>s.P,WG:()=>i.W,lz:()=>n.l,qg:()=>c,sB:()=>a.s,zg:()=>p}),r(5552);var n=r(6045),i=r(4916),a=r(9096),s=r(3245);r(6527),r(9427),r(3279),r(1721),r(4614),r(3263),r(6041),r(145),r(5796),r(2688);var o=r(4954),l={},u={info:(0,o.K2)(async()=>{let{createInfoServices:e}=await r.e("190").then(r.bind(r,6445));l.info=e().Info.parser.LangiumParser},"info"),packet:(0,o.K2)(async()=>{let{createPacketServices:e}=await r.e("612").then(r.bind(r,3327));l.packet=e().Packet.parser.LangiumParser},"packet"),pie:(0,o.K2)(async()=>{let{createPieServices:e}=await r.e("2395").then(r.bind(r,9590));l.pie=e().Pie.parser.LangiumParser},"pie"),treeView:(0,o.K2)(async()=>{let{createTreeViewServices:e}=await r.e("6771").then(r.bind(r,4142));l.treeView=e().TreeView.parser.LangiumParser},"treeView"),architecture:(0,o.K2)(async()=>{let{createArchitectureServices:e}=await r.e("6762").then(r.bind(r,7089));l.architecture=e().Architecture.parser.LangiumParser},"architecture"),gitGraph:(0,o.K2)(async()=>{let{createGitGraphServices:e}=await r.e("9010").then(r.bind(r,9945));l.gitGraph=e().GitGraph.parser.LangiumParser},"gitGraph"),eventmodeling:(0,o.K2)(async()=>{let{createEventModelingServices:e}=await r.e("3312").then(r.bind(r,2355));l.eventmodeling=e().EventModel.parser.LangiumParser},"eventmodeling"),radar:(0,o.K2)(async()=>{let{createRadarServices:e}=await r.e("718").then(r.bind(r,8365));l.radar=e().Radar.parser.LangiumParser},"radar"),railroad:(0,o.K2)(async()=>{let{createRailroadServices:e}=await r.e("5428").then(r.bind(r,2223));l.railroad=e().Railroad.parser.LangiumParser},"railroad"),railroadEbnf:(0,o.K2)(async()=>{let{createRailroadEbnfServices:e}=await r.e("6520").then(r.bind(r,9035));l.railroadEbnf=e().RailroadEbnf.parser.LangiumParser},"railroadEbnf"),railroadAbnf:(0,o.K2)(async()=>{let{createRailroadAbnfServices:e}=await r.e("8665").then(r.bind(r,6480));l.railroadAbnf=e().RailroadAbnf.parser.LangiumParser},"railroadAbnf"),railroadPeg:(0,o.K2)(async()=>{let{createRailroadPegServices:e}=await r.e("3009").then(r.bind(r,5784));l.railroadPeg=e().RailroadPeg.parser.LangiumParser},"railroadPeg"),treemap:(0,o.K2)(async()=>{let{createTreemapServices:e}=await r.e("2853").then(r.bind(r,884));l.treemap=e().Treemap.parser.LangiumParser},"treemap"),wardley:(0,o.K2)(async()=>{let{createWardleyServices:e}=await r.e("3017").then(r.bind(r,7632));l.wardley=e().Wardley.parser.LangiumParser},"wardley"),cynefin:(0,o.K2)(async()=>{let{createCynefinServices:e}=await r.e("255").then(r.bind(r,7636));l.cynefin=e().Cynefin.parser.LangiumParser},"cynefin")};async function c(e,t){let r=u[e];if(!r)throw Error(`Unknown diagram type: ${e}`);l[e]||await r();let n=l[e].parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new p(n);return n.value}(0,o.K2)(c,"parse");var p=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>{let t=void 0===e.line||isNaN(e.line)?"?":e.line,r=void 0===e.column||isNaN(e.column)?"?":e.column;return`Lexer error on line ${t}, column ${r}: ${e.message}`}).join("\n"),r=e.parserErrors.map(e=>{let t=void 0===e.token.startLine||isNaN(e.token.startLine)?"?":e.token.startLine,r=void 0===e.token.startColumn||isNaN(e.token.startColumn)?"?":e.token.startColumn;return`Parse error on line ${t}, column ${r}: ${e.message}`}).join("\n");super(`Parsing failed: ${t} ${r}`),this.result=e}static{(0,o.K2)(this,"MermaidParseError")}}}}]); \ No newline at end of file diff --git a/en/assets/js/4950.3fa51f56.js b/en/assets/js/4950.3fa51f56.js new file mode 100644 index 0000000..5b65e93 --- /dev/null +++ b/en/assets/js/4950.3fa51f56.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4950"],{165(e,t,n){function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function a(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,t){var n="u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=h(e))||t){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function s(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,s=[],l=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||h(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||h(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function h(e,t){if(e){if("string"==typeof e)return r(e,t);var n=({}).toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}n.d(t,{A:()=>cm});var f,p,g,v,y,b,x,w="u"<typeof window?null:window,E=w?w.navigator:null;w&&w.document;var k=d(""),T=d({}),C=d(function(){}),P="u"<typeof HTMLElement?"undefined":d(HTMLElement),S=function(e){return e&&e.instanceString&&D(e.instanceString)?e.instanceString():null},B=function(e){return null!=e&&d(e)==k},D=function(e){return null!=e&&d(e)===C},_=function(e){return!L(e)&&(Array.isArray?Array.isArray(e):null!=e&&e instanceof Array)},A=function(e){return null!=e&&d(e)===T&&!_(e)&&e.constructor===Object},M=function(e){return null!=e&&d(e)===d(1)&&!isNaN(e)},R=function(e){return M(e)&&Math.floor(e)===e},I=function(e){if("undefined"!==P)return null!=e&&e instanceof HTMLElement},L=function(e){return N(e)||z(e)},N=function(e){return"collection"===S(e)&&e._private.single},z=function(e){return"collection"===S(e)&&!e._private.single},O=function(e){return"core"===S(e)},V=function(e){return"stylesheet"===S(e)},F=function(e){return null==e||!!(""===e||e.match(/^\s+$/))},X=function(e){return null!=e&&d(e)===T&&D(e.then)},j=function(e,t){t||(t=function(){if(1==arguments.length)return arguments[0];if(0==arguments.length)return"undefined";for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);return e.join("$")});var n=function(){var r,i=arguments,a=t.apply(this,i),o=n.cache;return(r=o[a])||(r=o[a]=e.apply(this,i)),r};return n.cache={},n},Y=j(function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),q=j(function(e){return e.replace(/(-\w)/g,function(e){return e[1].toUpperCase()})}),W=j(function(e,t){return e+t[0].toUpperCase()+t.substring(1)},function(e,t){return e+"$"+t}),U=function(e){return F(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},H=function(e,t){return e.slice(-1*t.length)===t},K="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",G="rgb[a]?\\(("+K+"[%]?)\\s*,\\s*("+K+"[%]?)\\s*,\\s*("+K+"[%]?)(?:\\s*,\\s*("+K+"))?\\)",Z="rgb[a]?\\((?:"+K+"[%]?)\\s*,\\s*(?:"+K+"[%]?)\\s*,\\s*(?:"+K+"[%]?)(?:\\s*,\\s*(?:"+K+"))?\\)",$="hsl[a]?\\(("+K+")\\s*,\\s*("+K+"[%])\\s*,\\s*("+K+"[%])(?:\\s*,\\s*("+K+"))?\\)",Q="hsl[a]?\\((?:"+K+")\\s*,\\s*(?:"+K+"[%])\\s*,\\s*(?:"+K+"[%])(?:\\s*,\\s*(?:"+K+"))?\\)",J=function(e,t){return e<t?-1:+(e>t)},ee=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n<t.length;n++){var r=t[n];if(null!=r)for(var i=Object.keys(r),a=0;a<i.length;a++){var o=i[a];e[o]=r[o]}}return e},et=function(e){if((4===e.length||7===e.length)&&"#"===e[0]){var t,n,r;return 4===e.length?(t=parseInt(e[1]+e[1],16),n=parseInt(e[2]+e[2],16),r=parseInt(e[3]+e[3],16)):(t=parseInt(e[1]+e[2],16),n=parseInt(e[3]+e[4],16),r=parseInt(e[5]+e[6],16)),[t,n,r]}},en=function(e){function t(e,t,n){return(n<0&&(n+=1),n>1&&(n-=1),n<1/6)?e+(t-e)*6*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var n,r,i,a,o,s,l,u,c=RegExp("^"+$+"$").exec(e);if(c){if((r=parseInt(c[1]))<0?r=(360- -1*r%360)%360:r>360&&(r%=360),r/=360,(i=parseFloat(c[2]))<0||i>100||(i/=100,(a=parseFloat(c[3]))<0||a>100)||(a/=100,void 0!==(o=c[4])&&((o=parseFloat(o))<0||o>1)))return;if(0===i)s=l=u=Math.round(255*a);else{var d=a<.5?a*(1+i):a+i-a*i,h=2*a-d;s=Math.round(255*t(h,d,r+1/3)),l=Math.round(255*t(h,d,r)),u=Math.round(255*t(h,d,r-1/3))}n=[s,l,u,o]}return n},er=function(e){var t,n=RegExp("^"+G+"$").exec(e);if(n){t=[];for(var r=[],i=1;i<=3;i++){var a=n[i];if("%"===a[a.length-1]&&(r[i]=!0),a=parseFloat(a),r[i]&&(a=a/100*255),a<0||a>255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t},ei=function(e){return(_(e)?e:null)||ea[e.toLowerCase()]||et(e)||er(e)||en(e)},ea={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]},eo=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i<r;i++){var a=n[i];if(A(a))throw Error("Tried to set map with object key");i<n.length-1?(null==t[a]&&(t[a]={}),t=t[a]):t[a]=e.value}},es=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i<r;i++){var a=n[i];if(A(a))throw Error("Tried to get map with object key");if(null==(t=t[a]))break}return t},el="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{};function eu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ec(){return oo?oa:(oo=1,oa=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)})}function ed(){if(oc)return ou;oc=1;var e=ol?os:(ol=1,os="object"==typeof el&&el&&el.Object===Object&&el),t="object"==typeof self&&self&&self.Object===Object&&self;return ou=e||t||Function("return this")()}function eh(){return om?oy:(om=1,oy=ed().Symbol)}function ef(){if(oT)return ok;oT=1;var e=eh(),t=function(){if(ox)return ob;ox=1;var e=eh(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,i=e?e.toStringTag:void 0;return ob=function(e){var t=n.call(e,i),a=e[i];try{e[i]=void 0;var o=!0}catch(e){}var s=r.call(e);return o&&(t?e[i]=a:delete e[i]),s}}(),n=function(){if(oE)return ow;oE=1;var e=Object.prototype.toString;return ow=function(t){return e.call(t)}}(),r=e?e.toStringTag:void 0;return ok=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":r&&r in Object(e)?t(e):n(e)}}function ep(){if(oB)return oS;oB=1;var e=ef(),t=oP?oC:(oP=1,oC=function(e){return null!=e&&"object"==typeof e});return oS=function(n){return"symbol"==typeof n||t(n)&&"[object Symbol]"==e(n)}}var eg=eu(function(){if(oM)return oA;oM=1;var e=ec(),t=function(){if(oh)return od;oh=1;var e=ed();return od=function(){return e.Date.now()}}(),n=function(){if(o_)return oD;o_=1;var e=function(){if(ov)return og;ov=1;var e=function(){if(op)return of;op=1;var e=/\s/;return of=function(t){for(var n=t.length;n--&&e.test(t.charAt(n)););return n}}(),t=/^\s+/;return og=function(n){return n?n.slice(0,e(n)+1).replace(t,""):n}}(),t=ec(),n=ep(),r=0/0,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,o=/^0o[0-7]+$/i,s=parseInt;return oD=function(l){if("number"==typeof l)return l;if(n(l))return r;if(t(l)){var u="function"==typeof l.valueOf?l.valueOf():l;l=t(u)?u+"":u}if("string"!=typeof l)return 0===l?l:+l;l=e(l);var c=a.test(l);return c||o.test(l)?s(l.slice(2),c?2:8):i.test(l)?r:+l}}(),r=Math.max,i=Math.min;return oA=function(a,o,s){var l,u,c,d,h,f,p=0,g=!1,v=!1,y=!0;if("function"!=typeof a)throw TypeError("Expected a function");function b(e){var t=l,n=u;return l=u=void 0,p=e,d=a.apply(n,t)}function x(e){var t=e-f,n=e-p;return void 0===f||t>=o||t<0||v&&n>=c}function w(){var e,n,r,a=t();if(x(a))return E(a);h=setTimeout(w,(e=a-f,n=a-p,r=o-e,v?i(r,c-n):r))}function E(e){return(h=void 0,y&&l)?b(e):(l=u=void 0,d)}function k(){var e,n=t(),r=x(n);if(l=arguments,u=this,f=n,r){if(void 0===h)return p=e=f,h=setTimeout(w,o),g?b(e):d;if(v)return clearTimeout(h),h=setTimeout(w,o),b(f)}return void 0===h&&(h=setTimeout(w,o)),d}return o=n(o)||0,e(s)&&(g=!!s.leading,c=(v="maxWait"in s)?r(n(s.maxWait)||0,o):c,y="trailing"in s?!!s.trailing:y),k.cancel=function(){void 0!==h&&clearTimeout(h),p=0,l=f=u=h=void 0},k.flush=function(){return void 0===h?d:E(t())},k}}()),ev=w?w.performance:null,ey=ev&&ev.now?function(){return ev.now()}:function(){return Date.now()},em=function(){if(w){if(w.requestAnimationFrame)return function(e){w.requestAnimationFrame(e)};else if(w.mozRequestAnimationFrame)return function(e){w.mozRequestAnimationFrame(e)};else if(w.webkitRequestAnimationFrame)return function(e){w.webkitRequestAnimationFrame(e)};else if(w.msRequestAnimationFrame)return function(e){w.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout(function(){e(ey())},1e3/60)}}(),eb=function(e){return em(e)},ex=function(e){for(var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261,r=n;!(t=e.next()).done;)r=65599*r+t.value|0;return r},ew=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261;return 65599*t+e|0},eE=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5381;return(t<<5)+t+e|0},ek=function(e){return 2097152*e[0]+e[1]},eT=function(e,t){return[ew(e[0],t[0]),eE(e[1],t[1])]},eC=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return ex({next:function(){return r<i?n.value=e[r++]:n.done=!0,n}},t)},eP=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return ex({next:function(){return r<i?n.value=e.charCodeAt(r++):n.done=!0,n}},t)},eS=function(){return eB(arguments)},eB=function(e){for(var t,n=0;n<e.length;n++){var r=e[n];t=0===n?eP(r):eP(r,t)}return t},eD=!0,e_=null!=console.warn,eA=null!=console.trace,eM=Number.MAX_SAFE_INTEGER||0x1fffffffffffff,eR=function(){return!0},eI=function(){return!1},eL=function(){return 0},eN=function(){},ez=function(e){throw Error(e)},eO=function(e){if(void 0===e)return eD;eD=!!e},eV=function(e){eO()&&(e_?console.warn(e):(console.log(e),eA&&console.trace()))},eF=function(e){return null==e?e:_(e)?e.slice():A(e)?ee({},e):e},eX=function(e,t){for(t=e="";e++<36;t+=51*e&52?(15^e?8^Math.random()*(20^e?16:4):4).toString(16):"-");return t},ej={},eY=function(){return ej},eq=function(e){var t=Object.keys(e);return function(n){for(var r={},i=0;i<t.length;i++){var a=t[i],o=null==n?void 0:n[a];r[a]=void 0===o?e[a]:o}return r}},eW=function(e,t,n){for(var r=e.length-1;r>=0;r--)e[r]===t&&e.splice(r,1)},eU=function(e){e.splice(0,e.length)},eH=function(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.push(r)}},eK=function(e,t,n){return n&&(t=W(n,t)),e[t]},eG=function(e,t,n,r){n&&(t=W(n,t)),e[t]=r},eZ=a(function e(){i(this,e),this._obj={}},[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e$="u">typeof Map?Map:eZ,eQ=a(function e(t){if(i(this,e),this._obj=Object.create(null),this.size=0,null!=t){var n;n=null!=t.instanceString&&t.instanceString()===this.instanceString()?t.toArray():t;for(var r=0;r<n.length;r++)this.add(n[r])}},[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(e){var t=this._obj;1!==t[e]&&(t[e]=1,this.size++)}},{key:"delete",value:function(e){var t=this._obj;1===t[e]&&(t[e]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(e){return 1===this._obj[e]}},{key:"toArray",value:function(){var e=this;return Object.keys(this._obj).filter(function(t){return e.has(t)})}},{key:"forEach",value:function(e,t){return this.toArray().forEach(e,t)}}]),eJ=("u"<typeof Set?"undefined":d(Set))!=="undefined"?Set:eQ,e0=function(e,t){var n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(void 0===e||void 0===t||!O(e))return void ez("An element must have a core reference and parameters set");var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"!==r&&"edges"!==r)return void ez("An element must be of type `nodes` or `edges`; you specified `"+r+"`");this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new eJ,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.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(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var l=[];_(t.classes)?l=t.classes:B(t.classes)&&(l=t.classes.split(/\s+/));for(var u=0,c=l.length;u<c;u++){var d=l[u];d&&""!==d&&i.classes.add(d)}this.createEmitter(),(void 0===n||n)&&this.restore();var h=t.style||t.css;h&&(eV("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(h))},e1=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(t,n,r){A(t)&&!L(t)&&(t=(i=t).roots||i.root,n=i.visit,r=i.directed),r=2!=arguments.length||D(n)?r:n,n=D(n)?n:function(){};for(var i,a,o,s=this._private.cy,l=t=B(t)?this.filter(t):t,u=[],c=[],d={},h={},f={},p=0,g=this.byGroup(),v=g.nodes,y=g.edges,b=0;b<l.length;b++){var x=l[b],w=x.id();x.isNode()&&(u.unshift(x),e.bfs&&(f[w]=!0,c.push(x)),h[w]=0)}for(;0!==u.length&&(0===(o=function(){var t,i=e.bfs?u.shift():u.pop(),o=i.id();if(e.dfs){if(f[o])return 0;f[o]=!0,c.push(i)}var s=h[o],l=d[o],g=null!=l?l.source():null,b=null!=l?l.target():null,x=null==l?void 0:i.same(g)?b[0]:g[0];if(!0===(t=n(i,l,x,p++,s)))return a=i,1;if(!1===t)return 1;for(var w=i.connectedEdges().filter(function(e){return(!r||e.source().same(i))&&y.has(e)}),E=0;E<w.length;E++){var k=w[E],T=k.connectedNodes().filter(function(e){return!e.same(i)&&v.has(e)}),C=T.id();0===T.length||f[C]||(T=T[0],u.push(T),e.bfs&&(f[C]=!0,c.push(T)),d[C]=k,h[C]=h[o]+1)}}())||1!==o););for(var E=s.collection(),k=0;k<c.length;k++){var T=c[k],C=d[T.id()];null!=C&&E.push(C),E.push(T)}return{path:s.collection(E),found:s.collection(a)}}},e2={breadthFirstSearch:e1({bfs:!0}),depthFirstSearch:e1({dfs:!0})};e2.bfs=e2.breadthFirstSearch,e2.dfs=e2.depthFirstSearch;var e5={exports:{}},e3=e5.exports,e4=eu(oL?oI:(oL=1,oI=function(){return oR?e5.exports:(oR=1,(function(){var e,t,n,r,i,a,o,s,l,u,c,d,h,f;t=Math.floor,l=Math.min,e=function(e,t){return e<t?-1:+(e>t)},s=function(n,r,i,a,o){var s;if(null==i&&(i=0),null==o&&(o=e),i<0)throw Error("lo must be non-negative");for(null==a&&(a=n.length);i<a;)0>o(r,n[s=t((i+a)/2)])?a=s:i=s+1;return[].splice.apply(n,[i,i-i].concat(r)),r},i=function(t,n,r){return null==r&&(r=e),t.push(n),h(t,0,t.length-1,r)},r=function(t,n){var r,i;return null==n&&(n=e),r=t.pop(),t.length?(i=t[0],t[0]=r,f(t,0,n)):i=r,i},o=function(t,n,r){var i;return null==r&&(r=e),i=t[0],t[0]=n,f(t,0,r),i},a=function(t,n,r){var i;return null==r&&(r=e),t.length&&0>r(t[0],n)&&(n=(i=[t[0],n])[0],t[0]=i[1],f(t,0,r)),n},n=function(n,r){var i,a,o,s,l,u;for(null==r&&(r=e),s=(function(){u=[];for(var e=0,r=t(n.length/2);0<=r?e<r:e>r;0<=r?e++:e--)u.push(e);return u}).apply(this).reverse(),l=[],a=0,o=s.length;a<o;a++)i=s[a],l.push(f(n,i,r));return l},d=function(t,n,r){var i;if(null==r&&(r=e),-1!==(i=t.indexOf(n)))return h(t,0,i,r),f(t,i,r)},u=function(t,r,i){var o,s,l,u;if(null==i&&(i=e),!(o=t.slice(0,r)).length)return o;for(n(o,i),s=0,l=(u=t.slice(r)).length;s<l;s++)a(o,u[s],i);return o.sort(i).reverse()},c=function(t,i,a){var o,u,c,d,h,f,p,g,v;if(null==a&&(a=e),10*i<=t.length){if(!(c=t.slice(0,i).sort(a)).length)return c;for(d=0,u=c[c.length-1],f=(p=t.slice(i)).length;d<f;d++)0>a(o=p[d],u)&&(s(c,o,0,null,a),c.pop(),u=c[c.length-1]);return c}for(n(t,a),v=[],h=0,g=l(i,t.length);0<=g?h<g:h>g;0<=g?++h:--h)v.push(r(t,a));return v},h=function(t,n,r,i){var a,o,s;for(null==i&&(i=e),a=t[r];r>n;){if(0>i(a,o=t[s=r-1>>1])){t[r]=o,r=s;continue}break}return t[r]=a},f=function(t,n,r){var i,a,o,s,l;for(null==r&&(r=e),a=t.length,l=n,o=t[n],i=2*n+1;i<a;)(s=i+1)<a&&!(0>r(t[i],t[s]))&&(i=s),t[n]=t[i],i=2*(n=i)+1;return t[n]=o,h(t,l,n,r)},e5.exports=function(){function t(t){this.cmp=null!=t?t:e,this.nodes=[]}return t.push=i,t.pop=r,t.replace=o,t.pushpop=a,t.heapify=n,t.updateItem=d,t.nlargest=u,t.nsmallest=c,t.prototype.push=function(e){return i(this.nodes,e,this.cmp)},t.prototype.pop=function(){return r(this.nodes,this.cmp)},t.prototype.peek=function(){return this.nodes[0]},t.prototype.contains=function(e){return -1!==this.nodes.indexOf(e)},t.prototype.replace=function(e){return o(this.nodes,e,this.cmp)},t.prototype.pushpop=function(e){return a(this.nodes,e,this.cmp)},t.prototype.heapify=function(){return n(this.nodes,this.cmp)},t.prototype.updateItem=function(e){return d(this.nodes,e,this.cmp)},t.prototype.clear=function(){return this.nodes=[]},t.prototype.empty=function(){return 0===this.nodes.length},t.prototype.size=function(){return this.nodes.length},t.prototype.clone=function(){var e;return(e=new t).nodes=this.nodes.slice(0),e},t.prototype.toArray=function(){return this.nodes.slice(0)},t.prototype.insert=t.prototype.push,t.prototype.top=t.prototype.peek,t.prototype.front=t.prototype.peek,t.prototype.has=t.prototype.contains,t.prototype.copy=t.prototype.clone,t}()}).call(e3),e5.exports)}())),e9=eq({root:null,weight:function(e){return 1},directed:!1}),e6=eq({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),e8=eq({weight:function(e){return 1},directed:!1}),e7=eq({weight:function(e){return 1},directed:!1,root:null}),te=Math.sqrt(2),tt=function(e,t,n){0===n.length&&ez("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],l=n.length-1;l>=0;l--){var u=n[l],c=u[1],d=u[2];(t[c]===o&&t[d]===s||t[c]===s&&t[d]===o)&&n.splice(l,1)}for(var h=0;h<n.length;h++){var f=n[h];f[1]===s?(n[h]=f.slice(),n[h][1]=o):f[2]===s&&(n[h]=f.slice(),n[h][2]=o)}for(var p=0;p<t.length;p++)t[p]===s&&(t[p]=o);return n},tn=function(e,t,n,r){for(;n>r;)t=tt(Math.floor(Math.random()*t.length),e,t),n--;return t},tr=function(e,t,n){return{x:e.x*t+n.x,y:e.y*t+n.y}},ti=function(e,t,n){return{x:(e.x-n.x)/t,y:(e.y-n.y)/t}},ta=function(e){return{x:e[0],y:e[1]}},to=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i<n;i++){var a=e[i];isFinite(a)&&(r=Math.min(a,r))}return r},ts=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;i<n;i++){var a=e[i];isFinite(a)&&(r=Math.max(a,r))}return r},tl=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a<n;a++){var o=e[a];isFinite(o)&&(r+=o,i++)}return r/i},tu=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=!(arguments.length>5)||void 0===arguments[5]||arguments[5];r?e=e.slice(t,n):(n<e.length&&e.splice(n,e.length-n),t>0&&e.splice(0,t));for(var o=0,s=e.length-1;s>=0;s--){var l=e[s];a?!isFinite(l)&&(e[s]=-1/0,o++):e.splice(s,1)}i&&e.sort(function(e,t){return e-t});var u=e.length,c=Math.floor(u/2);return u%2!=0?e[c+1+o]:(e[c-1+o]+e[c+o])/2},tc=function(e,t){return 0===t?e:tc(t,e%t)},td=function(e){for(var t=e[0],n=0;n<e.length;n++)if(!R(e[n]))return 0;else n>0&&(t=tc(t,e[n]));return t},th=function(e,t){return Math.atan2(t,e)-Math.PI/2},tf=Math.log2||function(e){return Math.log(e)/Math.log(2)},tp=function(e){return e>0?1:e<0?-1:0},tg=function(e,t){return Math.sqrt(tv(e,t))},tv=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},ty=function(e){for(var t=e.length,n=0,r=0;r<t;r++)n+=e[r];for(var i=0;i<t;i++)e[i]=e[i]/n;return e},tm=function(e,t,n,r){return(1-r)*(1-r)*e+2*(1-r)*r*t+r*r*n},tb=function(e,t,n,r){return{x:tm(e.x,t.x,n.x,r),y:tm(e.y,t.y,n.y,r)}},tx=function(e,t,n,r){var i={x:t.x-e.x,y:t.y-e.y},a=tg(e,t),o={x:i.x/a,y:i.y/a};return n=null==n?0:n,r=null!=r?r:n*a,{x:e.x+o.x*r,y:e.y+o.y*r}},tw=function(e,t,n){return Math.max(e,Math.min(n,t))},tE=function(e){if(null==e)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(null!=e.x1&&null!=e.y1){if(null!=e.x2&&null!=e.y2&&e.x2>=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};else if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},tk=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},tT=function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},tC=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},tP=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},tS=function(e){var t,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=n=r=i=a[0];else if(2===a.length)t=r=a[0],i=n=a[1];else if(4===a.length){var o=l(a,4);t=o[0],n=o[1],r=o[2],i=o[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},tB=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},tD=function(e,t){return!(e.x1>t.x2)&&!(t.x1>e.x2)&&!(e.x2<t.x1)&&!(t.x2<e.x1)&&!(e.y2<t.y1)&&!(t.y2<e.y1)&&!(e.y1>t.y2)&&!(t.y1>e.y2)&&!0},t_=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},tA=function(e,t){return t_(e,t.x,t.y)},tM=function(e,t){return t_(e,t.x1,t.y1)&&t_(e,t.x2,t.y2)},tR=null!=(oN=Math.hypot)?oN:function(e,t){return Math.sqrt(e*e+t*t)},tI=function(e,t,n,r,i,a,o){var s,l,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",c="auto"===u?t3(i,a):u,d=i/2,h=a/2,f=(c=Math.min(c,d,h))!==d,p=c!==h;if(f){var g=n-d+c-o,v=r-h-o,y=n+d-c+o;if((s=tZ(e,t,n,r,g,v,y,v,!1)).length>0)return s}if(p){var b=n+d+o,x=r-h+c-o,w=r+h-c+o;if((s=tZ(e,t,n,r,b,x,b,w,!1)).length>0)return s}if(f){var E=n-d+c-o,k=r+h+o,T=n+d-c+o;if((s=tZ(e,t,n,r,E,k,T,k,!1)).length>0)return s}if(p){var C=n-d-o,P=r-h+c-o,S=r+h-c+o;if((s=tZ(e,t,n,r,C,P,C,S,!1)).length>0)return s}var B=n-d+c,D=r-h+c;if((l=tK(e,t,n,r,B,D,c+o)).length>0&&l[0]<=B&&l[1]<=D)return[l[0],l[1]];var _=n+d-c,A=r-h+c;if((l=tK(e,t,n,r,_,A,c+o)).length>0&&l[0]>=_&&l[1]<=A)return[l[0],l[1]];var M=n+d-c,R=r+h-c;if((l=tK(e,t,n,r,M,R,c+o)).length>0&&l[0]>=M&&l[1]>=R)return[l[0],l[1]];var I=n-d+c,L=r+h-c;return(l=tK(e,t,n,r,I,L,c+o)).length>0&&l[0]<=I&&l[1]>=L?[l[0],l[1]]:[]},tL=function(e,t,n,r,i,a,o){var s=Math.min(n,i),l=Math.max(n,i),u=Math.min(r,a),c=Math.max(r,a);return s-o<=e&&e<=l+o&&u-o<=t&&t<=c+o},tN=function(e,t,n,r,i,a,o,s,l){var u={x1:Math.min(n,o,i)-l,x2:Math.max(n,o,i)+l,y1:Math.min(r,s,a)-l,y2:Math.max(r,s,a)+l};return!(e<u.x1)&&!(e>u.x2)&&!(t<u.y1)&&!(t>u.y2)},tz=function(e,t,n,r){var i=t*t-4*e*(n-=r);if(i<0)return[];var a=Math.sqrt(i),o=2*e;return[(-t+a)/o,(-t-a)/o]},tO=function(e,t,n,r,i){var a,o,s,l,u,c,d,h;if(0===e&&(e=1e-5),t/=e,n/=e,r/=e,a=(o=(3*n-t*t)/9)*o*o+(s=(-(27*r)+t*(9*n-t*t*2))/54)*s,i[1]=0,d=t/3,a>0){u=(u=s+Math.sqrt(a))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),c=(c=s-Math.sqrt(a))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-d+u+c,d+=(u+c)/2,i[4]=i[2]=-d,d=Math.sqrt(3)*(-c+u)/2,i[3]=d,i[5]=-d;return}if(i[5]=i[3]=0,0===a){h=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),i[0]=-d+2*h,i[4]=i[2]=-(h+d);return}l=Math.acos(s/Math.sqrt(l=(o=-o)*o*o)),h=2*Math.sqrt(o),i[0]=-d+h*Math.cos(l/3),i[2]=-d+h*Math.cos((l+2*Math.PI)/3),i[4]=-d+h*Math.cos((l+4*Math.PI)/3)},tV=function(e,t,n,r,i,a,o,s){var l,u=[];tO(n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s,9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,u);for(var c=[],d=0;d<6;d+=2)1e-7>Math.abs(u[d+1])&&u[d]>=0&&u[d]<=1&&c.push(u[d]);c.push(1),c.push(0);for(var h=-1,f=0;f<c.length;f++)l=Math.pow(Math.pow(1-c[f],2)*n+2*(1-c[f])*c[f]*i+c[f]*c[f]*o-e,2)+Math.pow(Math.pow(1-c[f],2)*r+2*(1-c[f])*c[f]*a+c[f]*c[f]*s-t,2),h>=0?l<h&&(h=l):h=l;return h},tF=function(e,t,n,r,i,a){var o=[e-n,t-r],s=[i-n,a-r],l=s[0]*s[0]+s[1]*s[1],u=o[0]*o[0]+o[1]*o[1],c=o[0]*s[0]+o[1]*s[1],d=c*c/l;return c<0?u:d>l?(e-i)*(e-i)+(t-a)*(t-a):u-d},tX=function(e,t,n){for(var r,i,a,o,s=0,l=0;l<n.length/2;l++)if(r=n[2*l],i=n[2*l+1],l+1<n.length/2?(a=n[(l+1)*2],o=n[(l+1)*2+1]):(a=n[(l+1-n.length/2)*2],o=n[(l+1-n.length/2)*2+1]),r==e&&a==e);else{if((!(r>=e)||!(e>=a))&&(!(r<=e)||!(e<=a)))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},tj=function(e,t,n,r,i,a,o,s,l){var u,c=Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var d=Math.cos(-u),h=Math.sin(-u),f=0;f<c.length/2;f++)c[2*f]=a/2*(n[2*f]*d-n[2*f+1]*h),c[2*f+1]=o/2*(n[2*f+1]*d+n[2*f]*h),c[2*f]+=r,c[2*f+1]+=i;return tX(e,t,l>0?tq(tW(c,-l)):c)},tY=function(e,t,n,r,i,a,o,s){for(var l=Array(2*n.length),u=0;u<s.length;u++){var c=s[u];if(l[4*u+0]=c.startX,l[4*u+1]=c.startY,l[4*u+2]=c.stopX,l[4*u+3]=c.stopY,Math.pow(c.cx-e,2)+Math.pow(c.cy-t,2)<=Math.pow(c.radius,2))return!0}return tX(e,t,l)},tq=function(e){for(var t,n,r,i,a,o,s,l,u=Array(e.length/2),c=0;c<e.length/4;c++){t=e[4*c],n=e[4*c+1],r=e[4*c+2],i=e[4*c+3],c<e.length/4-1?(a=e[(c+1)*4],o=e[(c+1)*4+1],s=e[(c+1)*4+2],l=e[(c+1)*4+3]):(a=e[0],o=e[1],s=e[2],l=e[3]);var d=tZ(t,n,r,i,a,o,s,l,!0);u[2*c]=d[0],u[2*c+1]=d[1]}return u},tW=function(e,t){for(var n,r,i,a,o=Array(2*e.length),s=0;s<e.length/2;s++){n=e[2*s],r=e[2*s+1],s<e.length/2-1?(i=e[(s+1)*2],a=e[(s+1)*2+1]):(i=e[0],a=e[1]);var l=a-r,u=-(i-n),c=Math.sqrt(l*l+u*u),d=l/c,h=u/c;o[4*s]=n+d*t,o[4*s+1]=r+h*t,o[4*s+2]=i+d*t,o[4*s+3]=a+h*t}return o},tU=function(e,t,n,r,i,a){var o=n-e,s=r-t,l=Math.sqrt((o/=i)*o+(s/=a)*s),u=l-1;if(u<0)return[];var c=u/l;return[(n-e)*c+e,(r-t)*c+t]},tH=function(e,t,n,r,i,a,o){return e-=i,t-=a,(e/=n/2+o)*e+(t/=r/2+o)*t<=1},tK=function(e,t,n,r,i,a,o){var s=[n-e,r-t],l=[e-i,t-a],u=s[0]*s[0]+s[1]*s[1],c=2*(l[0]*s[0]+l[1]*s[1]),d=c*c-4*u*(l[0]*l[0]+l[1]*l[1]-o*o);if(d<0)return[];var h=(-c+Math.sqrt(d))/(2*u),f=(-c-Math.sqrt(d))/(2*u),p=Math.min(h,f),g=Math.max(h,f),v=[];if(p>=0&&p<=1&&v.push(p),g>=0&&g<=1&&v.push(g),0===v.length)return[];var y=v[0]*s[0]+e,b=v[0]*s[1]+t;return v.length>1?v[0]==v[1]?[y,b]:[y,b,v[1]*s[0]+e,v[1]*s[1]+t]:[y,b]},tG=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},tZ=function(e,t,n,r,i,a,o,s,l){var u=e-i,c=n-e,d=o-i,h=t-a,f=r-t,p=s-a,g=d*h-p*u,v=c*h-f*u,y=p*c-d*f;if(0!==y){var b=g/y,x=v/y;return -.001<=b&&b<=1.001&&-.001<=x&&x<=1.001||l?[e+b*c,t+b*f]:[]}return 0!==g&&0!==v?[]:tG(e,n,o)===o?[o,s]:tG(e,n,i)===i?[i,a]:tG(i,o,n)===n?[n,r]:[]},t$=function(e,t,n,r,i){var a=[],o=r/2,s=i/2;a.push({x:t+o*e[0],y:n+s*e[1]});for(var l=1;l<e.length/2;l++)a.push({x:t+o*e[2*l],y:n+s*e[2*l+1]});return a},tQ=function(e,t,n,r,i,a,o,s){var l,u,c,d,h,f,p=[],g=Array(n.length),v=!0;if(null==a&&(v=!1),v){for(var y=0;y<g.length/2;y++)g[2*y]=n[2*y]*a+r,g[2*y+1]=n[2*y+1]*o+i;u=s>0?tq(tW(g,-s)):g}else u=n;for(var b=0;b<u.length/2;b++)c=u[2*b],d=u[2*b+1],b<u.length/2-1?(h=u[(b+1)*2],f=u[(b+1)*2+1]):(h=u[0],f=u[1]),0!==(l=tZ(e,t,r,i,c,d,h,f)).length&&p.push(l[0],l[1]);return p},tJ=function(e,t,n,r,i,a,o,s,l){var u,c=[],d=Array(2*n.length);l.forEach(function(n,a){0===a?(d[d.length-2]=n.startX,d[d.length-1]=n.startY):(d[4*a-2]=n.startX,d[4*a-1]=n.startY),d[4*a]=n.stopX,d[4*a+1]=n.stopY,0!==(u=tK(e,t,r,i,n.cx,n.cy,n.radius)).length&&c.push(u[0],u[1])});for(var h=0;h<d.length/4;h++)0!==(u=tZ(e,t,r,i,d[4*h],d[4*h+1],d[4*h+2],d[4*h+3],!1)).length&&c.push(u[0],u[1]);if(c.length>2){for(var f=[c[0],c[1]],p=Math.pow(f[0]-e,2)+Math.pow(f[1]-t,2),g=1;g<c.length/2;g++){var v=Math.pow(c[2*g]-e,2)+Math.pow(c[2*g+1]-t,2);v<=p&&(f[0]=c[2*g],f[1]=c[2*g+1],p=v)}return f}return c},t0=function(e,t,n){var r=[e[0]-t[0],e[1]-t[1]],i=Math.sqrt(r[0]*r[0]+r[1]*r[1]),a=(i-n)/i;return a<0&&(a=1e-5),[t[0]+a*r[0],t[1]+a*r[1]]},t1=function(e,t){var n=t5(e,t);return t2(n)},t2=function(e){for(var t,n,r=e.length/2,i=1/0,a=1/0,o=-1/0,s=-1/0,l=0;l<r;l++)t=e[2*l],n=e[2*l+1],i=Math.min(i,t),o=Math.max(o,t),a=Math.min(a,n),s=Math.max(s,n);for(var u=2/(o-i),c=2/(s-a),d=0;d<r;d++)t=e[2*d]=e[2*d]*u,n=e[2*d+1]=e[2*d+1]*c,i=Math.min(i,t),o=Math.max(o,t),a=Math.min(a,n),s=Math.max(s,n);if(a<-1)for(var h=0;h<r;h++)n=e[2*h+1]=e[2*h+1]+(-1-a);return e},t5=function(e,t){var n,r=1/e*2*Math.PI,i=e%2==0?Math.PI/2+r/2:Math.PI/2;i+=t;for(var a=Array(2*e),o=0;o<e;o++)n=o*r+i,a[2*o]=Math.cos(n),a[2*o+1]=Math.sin(-n);return a},t3=function(e,t){return Math.min(e/4,t/4,8)},t4=function(e,t){return Math.min(e/10,t/10,8)},t9=function(){return 8},t6=function(e,t){return{heightOffset:Math.min(15,.05*t),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}};function t8(e,t){function n(e){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=e[(n+1)%e.length],a={x:i.x-r.x,y:i.y-r.y},o={x:-a.y,y:a.x},s=Math.sqrt(o.x*o.x+o.y*o.y);t.push({x:o.x/s,y:o.y/s})}return t}function r(e,t){var n,r=1/0,i=-1/0,a=o(e);try{for(a.s();!(n=a.n()).done;){var s=n.value,l=s.x*t.x+s.y*t.y;r=Math.min(r,l),i=Math.max(i,l)}}catch(e){a.e(e)}finally{a.f()}return{min:r,max:i}}var i,a=o([].concat(u(n(e)),u(n(t))));try{for(a.s();!(i=a.n()).done;){var s=i.value,l=r(e,s),c=r(t,s);if(l.max<c.min||c.max<l.min)return!1}}catch(e){a.e(e)}finally{a.f()}return!0}var t7=eq({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(e){return 1}}),ne=eq({root:null,weight:function(e){return 1},directed:!1,alpha:0}),nt={degreeCentralityNormalized:function(e){e=ne(e);var t=this.cy(),n=this.nodes(),r=n.length;if(e.directed){for(var i={},a={},o=0,s=0,l=0;l<r;l++){var u=n[l],c=u.id();e.root=u;var d=this.degreeCentrality(e);o<d.indegree&&(o=d.indegree),s<d.outdegree&&(s=d.outdegree),i[c]=d.indegree,a[c]=d.outdegree}return{indegree:function(e){return 0==o?0:(B(e)&&(e=t.filter(e)),i[e.id()]/o)},outdegree:function(e){return 0===s?0:(B(e)&&(e=t.filter(e)),a[e.id()]/s)}}}for(var h={},f=0,p=0;p<r;p++){var g=n[p];e.root=g;var v=this.degreeCentrality(e);f<v.degree&&(f=v.degree),h[g.id()]=v.degree}return{degree:function(e){return 0===f?0:(B(e)&&(e=t.filter(e)),h[e.id()]/f)}}},degreeCentrality:function(e){e=ne(e);var t=this.cy(),n=this,r=e,i=r.root,a=r.weight,o=r.directed,s=r.alpha;if(i=t.collection(i)[0],o){for(var l=i.connectedEdges(),u=l.filter(function(e){return e.target().same(i)&&n.has(e)}),c=l.filter(function(e){return e.source().same(i)&&n.has(e)}),d=u.length,h=c.length,f=0,p=0,g=0;g<u.length;g++)f+=a(u[g]);for(var v=0;v<c.length;v++)p+=a(c[v]);return{indegree:Math.pow(d,1-s)*Math.pow(f,s),outdegree:Math.pow(h,1-s)*Math.pow(p,s)}}for(var y=i.connectedEdges().intersection(n),b=y.length,x=0,w=0;w<y.length;w++)x+=a(y[w]);return{degree:Math.pow(b,1-s)*Math.pow(x,s)}}};nt.dc=nt.degreeCentrality,nt.dcn=nt.degreeCentralityNormalised=nt.degreeCentralityNormalized;var nn=eq({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),nr={closenessCentralityNormalized:function(e){for(var t=nn(e),n=t.harmonic,r=t.weight,i=t.directed,a=this.cy(),o={},s=0,l=this.nodes(),u=this.floydWarshall({weight:r,directed:i}),c=0;c<l.length;c++){for(var d=0,h=l[c],f=0;f<l.length;f++)if(c!==f){var p=u.distance(h,l[f]);n?d+=1/p:d+=p}n||(d=1/d),s<d&&(s=d),o[h.id()]=d}return{closeness:function(e){return 0==s?0:o[e=B(e)?a.filter(e)[0].id():e.id()]/s}}},closenessCentrality:function(e){var t=nn(e),n=t.root,r=t.weight,i=t.directed,a=t.harmonic;n=this.filter(n)[0];for(var o=this.dijkstra({root:n,weight:r,directed:i}),s=0,l=this.nodes(),u=0;u<l.length;u++){var c=l[u];if(!c.same(n)){var d=o.distanceTo(c);a?s+=1/d:s+=d}}return a?s:1/s}};nr.cc=nr.closenessCentrality,nr.ccn=nr.closenessCentralityNormalised=nr.closenessCentralityNormalized;var ni=eq({weight:null,directed:!1}),na={betweennessCentrality:function(e){for(var t=ni(e),n=t.directed,r=t.weight,i=null!=r,a=this.cy(),o=this.nodes(),s={},l={},u=0,c=function(e,t){l[e]=t,t>u&&(u=t)},d=function(e){return l[e]},h=0;h<o.length;h++){var f=o[h],p=f.id();n?s[p]=f.outgoers().nodes():s[p]=f.openNeighborhood().nodes(),c(p,0)}for(var g=0;g<o.length;g++)!function(){for(var e=o[g].id(),t=[],n={},l={},u={},h=new e4(function(e,t){return u[e]-u[t]}),f=0;f<o.length;f++){var p=o[f].id();n[p]=[],l[p]=0,u[p]=1/0}for(l[e]=1,u[e]=0,h.push(e);!h.empty();){var v=h.pop();if(t.push(v),i)for(var y=0;y<s[v].length;y++){var b=s[v][y],x=a.getElementById(v),w=r(x.edgesTo(b).length>0?x.edgesTo(b)[0]:b.edgesTo(x)[0]);u[b=b.id()]>u[v]+w&&(u[b]=u[v]+w,0>h.nodes.indexOf(b)?h.push(b):h.updateItem(b),l[b]=0,n[b]=[]),u[b]==u[v]+w&&(l[b]=l[b]+l[v],n[b].push(v))}else for(var E=0;E<s[v].length;E++){var k=s[v][E].id();u[k]==1/0&&(h.push(k),u[k]=u[v]+1),u[k]==u[v]+1&&(l[k]=l[k]+l[v],n[k].push(v))}}for(var T={},C=0;C<o.length;C++)T[o[C].id()]=0;for(;t.length>0;){for(var P=t.pop(),S=0;S<n[P].length;S++){var B=n[P][S];T[B]=T[B]+l[B]/l[P]*(1+T[P])}P!=o[g].id()&&c(P,d(P)+T[P])}}();var v={betweenness:function(e){return d(a.collection(e).id())},betweennessNormalized:function(e){return 0==u?0:d(a.collection(e).id())/u}};return v.betweennessNormalised=v.betweennessNormalized,v}};na.bc=na.betweennessCentrality;var no=eq({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(e){return 1}]}),ns=function(e,t){for(var n=0,r=0;r<t.length;r++)n+=t[r](e);return n},nl=function(e,t,n){for(var r=0;r<t;r++)e[r*t+r]=n},nu=function(e,t){for(var n,r=0;r<t;r++){n=0;for(var i=0;i<t;i++)n+=e[i*t+r];for(var a=0;a<t;a++)e[a*t+r]=e[a*t+r]/n}},nc=function(e,t,n){for(var r=Array(n*n),i=0;i<n;i++){for(var a=0;a<n;a++)r[i*n+a]=0;for(var o=0;o<n;o++)for(var s=0;s<n;s++)r[i*n+s]+=e[i*n+o]*t[o*n+s]}return r},nd=function(e,t,n){for(var r=e.slice(0),i=1;i<n;i++)e=nc(e,r,t);return e},nh=function(e,t,n){for(var r=Array(t*t),i=0;i<t*t;i++)r[i]=Math.pow(e[i],n);return nu(r,t),r},nf=function(e,t,n,r){for(var i=0;i<n;i++)if(Math.round(e[i]*Math.pow(10,r))/Math.pow(10,r)!=Math.round(t[i]*Math.pow(10,r))/Math.pow(10,r))return!1;return!0},np=function(e,t,n,r){for(var i=[],a=0;a<t;a++){for(var o=[],s=0;s<t;s++)Math.round(1e3*e[a*t+s])/1e3>0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i},ng=function(e,t){for(var n=0;n<e.length;n++)if(!t[n]||e[n].id()!==t[n].id())return!1;return!0},nv=function(e){for(var t=0;t<e.length;t++)for(var n=0;n<e.length;n++)t!=n&&ng(e[t],e[n])&&e.splice(n,1);return e},ny=function(e){for(var t=this.nodes(),n=this.edges(),r=this.cy(),i=no(e),a={},o=0;o<t.length;o++)a[t[o].id()]=o;for(var s,l=t.length,u=l*l,c=Array(u),d=0;d<u;d++)c[d]=0;for(var h=0;h<n.length;h++){var f=n[h],p=a[f.source().id()],g=a[f.target().id()],v=ns(f,i.attributes);c[p*l+g]+=v,c[g*l+p]+=v}nl(c,l,i.multFactor),nu(c,l);for(var y=!0,b=0;y&&b<i.maxIterations;)y=!1,nf(c=nh(s=nd(c,l,i.expandFactor),l,i.inflateFactor),s,u,4)||(y=!0),b++;var x=np(c,l,t,r);return nv(x)},nm=function(e){return e},nb=function(e,t){return Math.abs(t-e)},nx=function(e,t,n){return e+nb(t,n)},nw=function(e,t,n){return e+Math.pow(n-t,2)},nE=function(e){return Math.sqrt(e)},nk=function(e,t,n){return Math.max(e,nb(t,n))},nT=function(e,t,n,r,i){for(var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:nm,o=r,s=0;s<e;s++)o=i(o,t(s),n(s));return a(o)},nC={euclidean:function(e,t,n){return e>=2?nT(e,t,n,0,nw,nE):nT(e,t,n,0,nx)},squaredEuclidean:function(e,t,n){return nT(e,t,n,0,nw)},manhattan:function(e,t,n){return nT(e,t,n,0,nx)},max:function(e,t,n){return nT(e,t,n,-1/0,nk)}};function nP(e,t,n,r,i,a){var o;return(o=D(e)?e:nC[e]||nC.euclidean,0===t&&D(e))?o(i,a):o(t,n,r,i,a)}nC["squared-euclidean"]=nC.squaredEuclidean,nC.squaredeuclidean=nC.squaredEuclidean;var nS=eq({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),nB=function(e){return nS(e)},nD=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)};return nP(e,r.length,a,function(e){return r[e](t)},n,t)},n_=function(e,t,n){for(var r=n.length,i=Array(r),a=Array(r),o=Array(t),s=null,l=0;l<r;l++)i[l]=e.min(n[l]).value,a[l]=e.max(n[l]).value;for(var u=0;u<t;u++){s=[];for(var c=0;c<r;c++)s[c]=Math.random()*(a[c]-i[c])+i[c];o[u]=s}return o},nA=function(e,t,n,r,i){for(var a=1/0,o=0,s=0;s<t.length;s++){var l=nD(n,e,t[s],r,i);l<a&&(a=l,o=s)}return o},nM=function(e,t,n){for(var r=[],i=null,a=0;a<t.length;a++)n[(i=t[a]).id()]===e&&r.push(i);return r},nR=function(e,t,n){for(var r=0;r<e.length;r++)for(var i=0;i<e[r].length;i++)if(Math.abs(e[r][i]-t[r][i])>n)return!1;return!0},nI=function(e,t,n){for(var r=0;r<n;r++)if(e===t[r])return!0;return!1},nL=function(e,t){var n=Array(t);if(e.length<50)for(var r=0;r<t;r++){for(var i=e[Math.floor(Math.random()*e.length)];nI(i,n,r);)i=e[Math.floor(Math.random()*e.length)];n[r]=i}else for(var a=0;a<t;a++)n[a]=e[Math.floor(Math.random()*e.length)];return n},nN=function(e,t,n){for(var r=0,i=0;i<t.length;i++)r+=nD("manhattan",t[i],e,n,"kMedoids");return r},nz=function(e,t,n,r,i){for(var a,o,s=0;s<t.length;s++)for(var l=0;l<e.length;l++)r[s][l]=Math.pow(n[s][l],i.m);for(var u=0;u<e.length;u++)for(var c=0;c<i.attributes.length;c++){a=0,o=0;for(var d=0;d<t.length;d++)a+=r[d][u]*i.attributes[c](t[d]),o+=r[d][u];e[u][c]=a/o}},nO=function(e,t,n,r,i){for(var a,o=0;o<e.length;o++)t[o]=e[o].slice();for(var s=2/(i.m-1),l=0;l<n.length;l++)for(var u=0;u<r.length;u++){a=0;for(var c=0;c<n.length;c++)a+=Math.pow(nD(i.distance,r[u],n[l],i.attributes,"cmeans")/nD(i.distance,r[u],n[c],i.attributes,"cmeans"),s);e[u][l]=1/a}},nV=function(e,t,n,r){for(var i,a,o=Array(n.k),s=0;s<o.length;s++)o[s]=[];for(var l=0;l<t.length;l++){i=-1/0,a=-1;for(var u=0;u<t[0].length;u++)t[l][u]>i&&(i=t[l][u],a=u);o[a].push(e[l])}for(var c=0;c<o.length;c++)o[c]=r.collection(o[c]);return o},nF=function(e){var t,n,r,i,a=this.cy(),o=this.nodes(),s=nB(e);r=Array(o.length);for(var l=0;l<o.length;l++)r[l]=Array(s.k);n=Array(o.length);for(var u=0;u<o.length;u++)n[u]=Array(s.k);for(var c=0;c<o.length;c++){for(var d=0,h=0;h<s.k;h++)n[c][h]=Math.random(),d+=n[c][h];for(var f=0;f<s.k;f++)n[c][f]=n[c][f]/d}t=Array(s.k);for(var p=0;p<s.k;p++)t[p]=Array(s.attributes.length);i=Array(o.length);for(var g=0;g<o.length;g++)i[g]=Array(s.k);for(var v=!0,y=0;v&&y<s.maxIterations;)v=!1,nz(t,o,n,i,s),nO(n,r,t,o,s),nR(n,r,s.sensitivityThreshold)||(v=!0),y++;return{clusters:nV(o,n,s,a),degreeOfMembership:n}},nX=eq({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),nj={single:"min",complete:"max"},nY=function(e){var t=nX(e),n=nj[t.linkage];return null!=n&&(t.linkage=n),t},nq=function(e,t,n,r,i){for(var a,o,s=0,l=1/0,u=i.attributes,c=function(e,t){return nP(i.distance,u.length,function(t){return u[t](e)},function(e){return u[e](t)},e,t)},d=0;d<e.length;d++){var h=e[d].key,f=n[h][r[h]];f<l&&(s=h,l=f)}if("threshold"===i.mode&&l>=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var p=t[s],g=t[r[s]];o="dendrogram"===i.mode?{left:p,right:g,key:p.key}:{value:p.value.concat(g.value),key:p.key},e[p.index]=o,e.splice(g.index,1),t[p.key]=o;for(var v=0;v<e.length;v++){var y=e[v];p.key===y.key?a=1/0:"min"===i.linkage?(a=n[p.key][y.key],n[p.key][y.key]>n[g.key][y.key]&&(a=n[g.key][y.key])):"max"===i.linkage?(a=n[p.key][y.key],n[p.key][y.key]<n[g.key][y.key]&&(a=n[g.key][y.key])):a="mean"===i.linkage?(n[p.key][y.key]*p.size+n[g.key][y.key]*g.size)/(p.size+g.size):"dendrogram"===i.mode?c(y.value,p.value):c(y.value[0],p.value[0]),n[p.key][y.key]=n[y.key][p.key]=a}for(var b=0;b<e.length;b++){var x=e[b].key;if(r[x]===p.key||r[x]===g.key){for(var w=x,E=0;E<e.length;E++){var k=e[E].key;n[x][k]<n[x][w]&&(w=k)}r[x]=w}e[b].index=b}return p.key=g.key=p.index=g.index=null,!0},nW=function(e,t,n){e&&(e.value?t.push(e.value):(e.left&&nW(e.left,t),e.right&&nW(e.right,t)))},nU=function(e,t){if(!e)return"";if(e.left&&e.right){var n=nU(e.left,t),r=nU(e.right,t),i=t.add({group:"nodes",data:{id:n+","+r}});return t.add({group:"edges",data:{source:n,target:i.id()}}),t.add({group:"edges",data:{source:r,target:i.id()}}),i.id()}if(e.value)return e.value.id()},nH=function(e,t,n){if(!e)return[];var r=[],i=[],a=[];if(0===t)return e.left&&nW(e.left,r),e.right&&nW(e.right,i),a=r.concat(i),[n.collection(a)];if(1===t)if(e.value)return[n.collection(e.value)];else return e.left&&nW(e.left,r),e.right&&nW(e.right,i),[n.collection(r),n.collection(i)];return e.value?[n.collection(e.value)]:(e.left&&(r=nH(e.left,t-1,n)),e.right&&(i=nH(e.right,t-1,n)),r.concat(i))},nK=function(e){for(var t,n=this.cy(),r=this.nodes(),i=nY(e),a=i.attributes,o=function(e,t){return nP(i.distance,a.length,function(t){return a[t](e)},function(e){return a[e](t)},e,t)},s=[],l=[],u=[],c=[],d=0;d<r.length;d++){var h={value:"dendrogram"===i.mode?r[d]:[r[d]],key:d,index:d};s[d]=h,c[d]=h,l[d]=[],u[d]=0}for(var f=0;f<s.length;f++)for(var p=0;p<=f;p++){var g=void 0;g="dendrogram"===i.mode?f===p?1/0:o(s[f].value,s[p].value):f===p?1/0:o(s[f].value[0],s[p].value[0]),l[f][p]=g,l[p][f]=g,g<l[f][u[f]]&&(u[f]=p)}for(var v=nq(s,c,l,u,i);v;)v=nq(s,c,l,u,i);return"dendrogram"===i.mode?(t=nH(s[0],i.dendrogramDepth,n),i.addDendrogram&&nU(s[0],n)):(t=Array(s.length),s.forEach(function(e,r){e.key=e.index=null,t[r]=n.collection(e.value)})),t},nG=eq({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),nZ=function(e){var t=e.damping,n=e.preference;.5<=t&&t<1||ez("Damping must range on [0.5, 1). Got: ".concat(t));var r=["median","mean","min","max"];return r.some(function(e){return e===n})||M(n)||ez("Preference must be one of [".concat(r.map(function(e){return"'".concat(e,"'")}).join(", "),"] or a number. Got: ").concat(n)),nG(e)},n$=function(e,t,n,r){var i=function(e,t){return r[t](e)};return-nP(e,r.length,function(e){return i(t,e)},function(e){return i(n,e)},t,n)},nQ=function(e,t){return"median"===t?tu(e):"mean"===t?tl(e):"min"===t?to(e):"max"===t?ts(e):t},nJ=function(e,t,n){for(var r=[],i=0;i<e;i++)t[i*e+i]+n[i*e+i]>0&&r.push(i);return r},n0=function(e,t,n){for(var r=[],i=0;i<e;i++){for(var a=-1,o=-1/0,s=0;s<n.length;s++){var l=n[s];t[i*e+l]>o&&(a=l,o=t[i*e+l])}a>0&&r.push(a)}for(var u=0;u<n.length;u++)r[n[u]]=n[u];return r},n1=function(e,t,n){for(var r=n0(e,t,n),i=0;i<n.length;i++){for(var a=[],o=0;o<r.length;o++)r[o]===n[i]&&a.push(o);for(var s=-1,l=-1/0,u=0;u<a.length;u++){for(var c=0,d=0;d<a.length;d++)c+=t[a[d]*e+a[u]];c>l&&(s=u,l=c)}n[i]=a[s]}return n0(e,t,n)},n2=function(e){for(var t,n,r,i,a,o,s,l=this.cy(),u=this.nodes(),c=nZ(e),d={},h=0;h<u.length;h++)d[u[h].id()]=h;r=Array(n=(t=u.length)*t);for(var f=0;f<n;f++)r[f]=-1/0;for(var p=0;p<t;p++)for(var g=0;g<t;g++)p!==g&&(r[p*t+g]=n$(c.distance,u[p],u[g],c.attributes));i=nQ(r,c.preference);for(var v=0;v<t;v++)r[v*t+v]=i;a=Array(n);for(var y=0;y<n;y++)a[y]=0;o=Array(n);for(var b=0;b<n;b++)o[b]=0;for(var x=Array(t),w=Array(t),E=Array(t),k=0;k<t;k++)x[k]=0,w[k]=0,E[k]=0;for(var T=Array(t*c.minIterations),C=0;C<T.length;C++)T[C]=0;for(s=0;s<c.maxIterations;s++){for(var P=0;P<t;P++){for(var S=-1/0,B=-1/0,D=-1,_=0,A=0;A<t;A++)x[A]=a[P*t+A],(_=o[P*t+A]+r[P*t+A])>=S?(B=S,S=_,D=A):_>B&&(B=_);for(var M=0;M<t;M++)a[P*t+M]=(1-c.damping)*(r[P*t+M]-S)+c.damping*x[M];a[P*t+D]=(1-c.damping)*(r[P*t+D]-B)+c.damping*x[D]}for(var R=0;R<t;R++){for(var I=0,L=0;L<t;L++)x[L]=o[L*t+R],w[L]=Math.max(0,a[L*t+R]),I+=w[L];I-=w[R],w[R]=a[R*t+R],I+=w[R];for(var N=0;N<t;N++)o[N*t+R]=(1-c.damping)*Math.min(0,I-w[N])+c.damping*x[N];o[R*t+R]=(1-c.damping)*(I-w[R])+c.damping*x[R]}for(var z=0,O=0;O<t;O++){var V=+(o[O*t+O]+a[O*t+O]>0);T[s%c.minIterations*t+O]=V,z+=V}if(z>0&&(s>=c.minIterations-1||s==c.maxIterations-1)){for(var F=0,X=0;X<t;X++){E[X]=0;for(var j=0;j<c.minIterations;j++)E[X]+=T[j*t+X];(0===E[X]||E[X]===c.minIterations)&&F++}if(F===t)break}}for(var Y=nJ(t,a,o),q=n1(t,r,Y),W={},U=0;U<Y.length;U++)W[Y[U]]=[];for(var H=0;H<u.length;H++){var K=q[d[u[H].id()]];null!=K&&W[K].push(u[H])}for(var G=Array(Y.length),Z=0;Z<Y.length;Z++)G[Z]=l.collection(W[Y[Z]]);return G},n5=eq({root:void 0,directed:!1}),n3=function(){var e=this,t={},n=0,r=0,i=[],a=[],o={},s=function(n,r){for(var o=a.length-1,s=[],l=e.spawn();a[o].x!=n||a[o].y!=r;)s.push(a.pop().edge),o--;s.push(a.pop().edge),s.forEach(function(n){var r=n.connectedNodes().intersection(e);l.merge(n),r.forEach(function(n){var r=n.id(),i=n.connectedEdges().intersection(e);l.merge(n),t[r].cutVertex?l.merge(i.filter(function(e){return e.isLoop()})):l.merge(i)})}),i.push(l)},l=function(u,c,d){u===d&&(r+=1),t[c]={id:n,low:n++,cutVertex:!1};var h,f,p,g,v=e.getElementById(c).connectedEdges().intersection(e);0===v.size()?i.push(e.spawn(e.getElementById(c))):v.forEach(function(e){h=e.source().id(),f=e.target().id(),(p=h===c?f:h)!==d&&(o[g=e.id()]||(o[g]=!0,a.push({x:c,y:p,edge:e})),p in t?t[c].low=Math.min(t[c].low,t[p].id):(l(u,p,c),t[c].low=Math.min(t[c].low,t[p].low),t[c].id<=t[p].low&&(t[c].cutVertex=!0,s(c,p))))})};e.forEach(function(e){if(e.isNode()){var n=e.id();n in t||(r=0,l(n,n),t[n].cutVertex=r>1)}});var u=Object.keys(t).filter(function(e){return t[e].cutVertex}).map(function(t){return e.getElementById(t)});return{cut:e.spawn(u),components:i}},n4=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e),o=function(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach(function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))}),t[s].index===t[s].low){for(var l=e.spawn();;){var u=i.pop();if(l.merge(e.getElementById(u)),t[u].low=t[s].index,t[u].explored=!0,u===s)break}var c=l.edgesWith(l),d=l.merge(c);r.push(d),a=a.difference(d)}};return e.forEach(function(e){if(e.isNode()){var n=e.id();n in t||o(n)}}),{cut:a,components:r}},n9={};[e2,{dijkstra:function(e){if(!A(e)){var t=arguments;e={root:t[0],weight:t[1],directed:t[2]}}var n=e9(e),r=n.root,i=n.weight,a=n.directed,o=this,s=B(r)?this.filter(r)[0]:r[0],l={},u={},c={},d=this.byGroup(),h=d.nodes,f=d.edges;f.unmergeBy(function(e){return e.isLoop()});for(var p=function(e){return l[e.id()]},g=new e4(function(e,t){return p(e)-p(t)}),v=0;v<h.length;v++){var y=h[v];l[y.id()]=y.same(s)?0:1/0,g.push(y)}for(;g.size()>0;){var b=g.pop(),x=p(b);if(c[b.id()]=x,x!==1/0)for(var w=b.neighborhood().intersect(h),E=0;E<w.length;E++){var k=w[E],T=k.id(),C=function(e,t){for(var n,r=(a?e.edgesTo(t):e.edgesWith(t)).intersect(f),o=1/0,s=0;s<r.length;s++){var l=r[s],u=i(l);(u<o||!n)&&(o=u,n=l)}return{edge:n,dist:o}}(b,k),P=x+C.dist;P<p(k)&&(l[k.id()]=P,g.updateItem(k),u[T]={node:b,edge:C.edge})}}return{distanceTo:function(e){return c[(B(e)?h.filter(e)[0]:e[0]).id()]},pathTo:function(e){var t=B(e)?h.filter(e)[0]:e[0],n=[],r=t,i=r.id();if(t.length>0)for(n.unshift(t);u[i];){var a=u[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},{kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=Array(i),o=function(e){for(var t=0;t<a.length;t++)if(a[t].has(e))return t},s=0;s<i;s++)a[s]=this.spawn(n[s]);for(var l=r.sort(function(t,n){return e(t)-e(n)}),u=0;u<l.length;u++){var c=l[u],d=c.source()[0],h=c.target()[0],f=o(d),p=o(h),g=a[f],v=a[p];f!==p&&(n.merge(c),g.merge(v),a.splice(p,1))}return n}},{aStar:function(e){var t,n,r=this.cy(),i=e6(e),a=i.root,o=i.goal,s=i.heuristic,l=i.directed,u=i.weight;a=r.collection(a)[0],o=r.collection(o)[0];var c=a.id(),d=o.id(),h={},f={},p={},g=new e4(function(e,t){return f[e.id()]-f[t.id()]}),v=new eJ,y={},b={},x=function(e,t){g.push(e),v.add(t)};x(a,c),h[c]=0,f[c]=s(a);for(var w=0;g.size()>0;){if(n=(t=g.pop()).id(),v.delete(n),w++,n===d){for(var E=[],k=o,T=d,C=b[T];E.unshift(k),null!=C&&E.unshift(C),null!=(k=y[T]);)C=b[T=k.id()];return{found:!0,distance:h[n],path:this.spawn(E),steps:w}}p[n]=!0;for(var P=t._private.edges,S=0;S<P.length;S++){var B=P[S];if(this.hasElementWithId(B.id())&&(!l||B.data("source")===n)){var D=B.source(),_=B.target(),A=D.id()!==n?D:_,M=A.id();if(this.hasElementWithId(M)&&!p[M]){var R=h[n]+u(B);if(!v.has(M)){h[M]=R,f[M]=R+s(A),x(A,M),y[M]=t,b[M]=B;continue}R<h[M]&&(h[M]=R,f[M]=R+s(A),g.updateItem(A),y[M]=t,b[M]=B)}}}}return{found:!1,distance:void 0,path:void 0,steps:w}}},{floydWarshall:function(e){for(var t=this.cy(),n=e8(e),r=n.weight,i=n.directed,a=this.byGroup(),o=a.nodes,s=a.edges,l=o.length,u=l*l,c=function(e){return o.indexOf(e)},d=function(e){return o[e]},h=Array(u),f=0;f<u;f++){var p=f%l;(f-p)/l===p?h[f]=0:h[f]=1/0}for(var g=Array(u),v=Array(u),y=0;y<s.length;y++){var b=s[y],x=b.source()[0],w=b.target()[0];if(x!==w){var E=c(x),k=c(w),T=E*l+k,C=r(b);if(h[T]>C&&(h[T]=C,g[T]=k,v[T]=b),!i){var P=k*l+E;!i&&h[P]>C&&(h[P]=C,g[P]=E,v[P]=b)}}}for(var S=0;S<l;S++)for(var D=0;D<l;D++)for(var _=D*l+S,A=0;A<l;A++){var M=D*l+A,R=S*l+A;h[_]+h[R]<h[M]&&(h[M]=h[_]+h[R],g[M]=g[_])}var I=function(e){return c((B(e)?t.filter(e):e)[0])};return{distance:function(e,t){return h[I(e)*l+I(t)]},path:function(e,n){var r,i=I(e),a=I(n),o=d(i);if(i===a)return o.collection();if(null==g[i*l+a])return t.collection();var s=t.collection(),u=i;for(s.merge(o);i!==a;)u=i,i=g[i*l+a],r=v[u*l+i],s.merge(r),s.merge(d(i));return s}}}},{bellmanFord:function(e){var t=this,n=e7(e),r=n.weight,i=n.directed,a=n.root,o=this,s=this.cy(),l=this.byGroup(),u=l.edges,c=l.nodes,d=c.length,h=new e$,f=!1,p=[];a=s.collection(a)[0],u.unmergeBy(function(e){return e.isLoop()});for(var g=u.length,v=function(e){var t=h.get(e.id());return t||(t={},h.set(e.id(),t)),t},y=function(e){return(B(e)?s.$(e):e)[0]},b=0;b<d;b++){var x=c[b],w=v(x);x.same(a)?w.dist=0:w.dist=1/0,w.pred=null,w.edge=null}for(var E=!1,k=function(e,t,n,r,i,a){var o=r.dist+a;o<i.dist&&!n.same(r.edge)&&(i.dist=o,i.pred=e,i.edge=n,E=!0)},T=1;T<d;T++){E=!1;for(var C=0;C<g;C++){var P=u[C],S=P.source(),D=P.target(),_=r(P),A=v(S),M=v(D);k(S,D,P,A,M,_),i||k(D,S,P,M,A,_)}if(!E)break}if(E)for(var R=[],I=0;I<g;I++){var L=u[I],N=L.source(),z=L.target(),O=r(L),V=v(N).dist,F=v(z).dist;if(V+O<F||!i&&F+O<V)if(f||(eV("Graph contains a negative weight cycle for Bellman-Ford"),f=!0),!1!==e.findNegativeWeightCycles){var X=[];V+O<F&&X.push(N),!i&&F+O<V&&X.push(z);for(var j=X.length,Y=0;Y<j;Y++){var q=X[Y],W=[q];W.push(v(q).edge);for(var U=v(q).pred;-1===W.indexOf(U);)W.push(U),W.push(v(U).edge),U=v(U).pred;for(var H=(W=W.slice(W.indexOf(U)))[0].id(),K=0,G=2;G<W.length;G+=2)W[G].id()<H&&(H=W[G].id(),K=G);(W=W.slice(K).concat(W.slice(0,K))).push(W[0]);var Z=W.map(function(e){return e.id()}).join(",");-1===R.indexOf(Z)&&(p.push(o.spawn(W)),R.push(Z))}}else break}return{distanceTo:function(e){return v(y(e)).dist},pathTo:function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a,r=y(e),i=[],s=r;;){if(null==s)return t.spawn();var l=v(s),u=l.edge,c=l.pred;if(i.unshift(s[0]),s.same(n)&&i.length>0)break;null!=u&&i.unshift(u),s=c}return o.spawn(i)},hasNegativeWeightCycle:f,negativeWeightCycles:p}}},{kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy(function(e){return e.isLoop()});var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/te);if(i<2)return void ez("At least 2 nodes are required for Karger-Stein algorithm");for(var l=[],u=0;u<a;u++){var c=r[u];l.push([u,n.indexOf(c.source()),n.indexOf(c.target())])}for(var d=1/0,h=[],f=Array(i),p=Array(i),g=Array(i),v=function(e,t){for(var n=0;n<i;n++)t[n]=e[n]},y=0;y<=o;y++){for(var b=0;b<i;b++)p[b]=b;var x=tn(p,l.slice(),i,s),w=x.slice();v(p,g);var E=tn(p,x,s,2),k=tn(g,w,s,2);E.length<=k.length&&E.length<d?(d=E.length,h=E,v(p,f)):k.length<=E.length&&k.length<d&&(d=k.length,h=k,v(g,f))}for(var T=this.spawn(h.map(function(e){return r[e[0]]})),C=this.spawn(),P=this.spawn(),S=f[0],B=0;B<f.length;B++){var D=f[B],_=n[B];D===S?C.merge(_):P.merge(_)}var A=function(t){var n=e.spawn();return t.forEach(function(t){n.merge(t),t.connectedEdges().forEach(function(t){e.contains(t)&&!T.contains(t)&&n.merge(t)})}),n};return{cut:T,components:[A(C),A(P)],partition1:C,partition2:P}}},{pageRank:function(e){for(var t,n=t7(e),r=n.dampingFactor,i=n.precision,a=n.iterations,o=n.weight,s=this._private.cy,l=this.byGroup(),u=l.nodes,c=l.edges,d=u.length,h=d*d,f=c.length,p=Array(h),g=Array(d),v=(1-r)/d,y=0;y<d;y++){for(var b=0;b<d;b++)p[y*d+b]=0;g[y]=0}for(var x=0;x<f;x++){var w=c[x],E=w.data("source"),k=w.data("target");if(E!==k){var T=u.indexOfId(E),C=u.indexOfId(k),P=o(w),S=C*d+T;p[S]+=P,g[T]+=P}}for(var B=1/d+v,D=0;D<d;D++)if(0===g[D])for(var _=0;_<d;_++)p[_*d+D]=B;else for(var A=0;A<d;A++){var M=A*d+D;p[M]=p[M]/g[D]+v}for(var R=Array(d),I=Array(d),L=0;L<d;L++)R[L]=1;for(var N=0;N<a;N++){for(var z=0;z<d;z++)I[z]=0;for(var O=0;O<d;O++)for(var V=0;V<d;V++){var F=O*d+V;I[O]+=p[F]*R[V]}ty(I),t=R,R=I,I=t;for(var X=0,j=0;j<d;j++){var Y=t[j]-R[j];X+=Y*Y}if(X<i)break}return{rank:function(e){return e=s.collection(e)[0],R[u.indexOf(e)]}}}},nt,nr,na,{markovClustering:ny,mcl:ny},{kMeans:function(e){var t,n=this.cy(),r=this.nodes(),i=null,a=nB(e),o=Array(a.k),s={};a.testMode?"number"==typeof a.testCentroids?(a.testCentroids,t=n_(r,a.k,a.attributes)):t="object"===d(a.testCentroids)?a.testCentroids:n_(r,a.k,a.attributes):t=n_(r,a.k,a.attributes);for(var l=!0,u=0;l&&u<a.maxIterations;){for(var c=0;c<r.length;c++)s[(i=r[c]).id()]=nA(i,t,a.distance,a.attributes,"kMeans");l=!1;for(var h=0;h<a.k;h++){var f=nM(h,r,s);if(0!==f.length){for(var p=a.attributes.length,g=t[h],v=Array(p),y=Array(p),b=0;b<p;b++){y[b]=0;for(var x,w=0;w<f.length;w++)i=f[w],y[b]+=a.attributes[b](i);v[b]=y[b]/f.length,x=v[b],Math.abs(g[b]-x)<=a.sensitivityThreshold||(l=!0)}t[h]=v,o[h]=n.collection(f)}}u++}return o},kMedoids:function(e){var t,n,r=this.cy(),i=this.nodes(),a=null,o=nB(e),s=Array(o.k),l={},u=Array(o.k);o.testMode?"number"==typeof o.testCentroids||(t="object"===d(o.testCentroids)?o.testCentroids:nL(i,o.k)):t=nL(i,o.k);for(var c=!0,h=0;c&&h<o.maxIterations;){for(var f=0;f<i.length;f++)l[(a=i[f]).id()]=nA(a,t,o.distance,o.attributes,"kMedoids");c=!1;for(var p=0;p<t.length;p++){var g=nM(p,i,l);if(0!==g.length){u[p]=nN(t[p],g,o.attributes);for(var v=0;v<g.length;v++)(n=nN(g[v],g,o.attributes))<u[p]&&(u[p]=n,t[p]=g[v],c=!0);s[p]=r.collection(g)}}h++}return s},fuzzyCMeans:nF,fcm:nF},{hierarchicalClustering:nK,hca:nK},{affinityPropagation:n2,ap:n2},{hierholzer:function(e){if(!A(e)){var t,n,r,i=arguments;e={root:i[0],directed:i[1]}}var a=n5(e),o=a.root,s=a.directed,l=!1;o&&(r=B(o)?this.filter(o)[0].id():o[0].id());var u={},c={};s?this.forEach(function(e){var r=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?t?l=!0:t=r:1==s?n?l=!0:n=r:(s>1||o>1)&&(l=!0),u[r]=[],e.outgoers().forEach(function(e){e.isEdge()&&u[r].push(e.id())})}else c[r]=[void 0,e.target().id()]}):this.forEach(function(e){var r=e.id();e.isNode()?(e.degree(!0)%2&&(t?n?l=!0:n=r:t=r),u[r]=[],e.connectedEdges().forEach(function(e){return u[r].push(e.id())})):c[r]=[e.source().id(),e.target().id()]});var d={found:!1,trail:void 0};if(l)return d;if(n&&t)if(s){if(r&&n!=r)return d;r=n}else{if(r&&n!=r&&t!=r)return d;r||(r=n)}else r||(r=this[0].id());var h=function(e){for(var t,n,r,i=e,a=[e];u[i].length;)n=c[t=u[i].shift()][0],i!=(r=c[t][1])?(u[r]=u[r].filter(function(e){return e!=t}),i=r):s||i==n||(u[n]=u[n].filter(function(e){return e!=t}),i=n),a.unshift(t),a.unshift(i);return a},f=[],p=[];for(p=h(r);1!=p.length;)0==u[p[0]].length?(f.unshift(this.getElementById(p.shift())),f.unshift(this.getElementById(p.shift()))):p=h(p.shift()).concat(p);for(var g in f.unshift(this.getElementById(p.shift())),u)if(u[g].length)return d;return d.found=!0,d.trail=this.spawn(f,!0),d}},{hopcroftTarjanBiconnected:n3,htbc:n3,htb:n3,hopcroftTarjanBiconnectedComponents:n3},{tarjanStronglyConnected:n4,tsc:n4,tscc:n4,tarjanStronglyConnectedComponents:n4}].forEach(function(e){ee(n9,e)});var n6=function(e){if(!(this instanceof n6))return new n6(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};n6.prototype={fulfill:function(e){return n8(this,1,"fulfillValue",e)},reject:function(e){return n8(this,2,"rejectReason",e)},then:function(e,t){var n=new n6;return this.onFulfilled.push(rt(e,n,"fulfill")),this.onRejected.push(rt(t,n,"reject")),n7(this),n.proxy}};var n8=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,n7(e)),e},n7=function(e){1===e.state?re(e,"onFulfilled",e.fulfillValue):2===e.state&&re(e,"onRejected",e.rejectReason)},re=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e<r.length;e++)r[e](n)};"function"==typeof setImmediate?setImmediate(i):setTimeout(i,0)}},rt=function(e,t,n){return function(r){if("function"!=typeof e)t[n].call(t,r);else{var i;try{i=e(r)}catch(e){t.reject(e);return}rn(t,i)}}},rn=function(e,t){if(e===t||e.proxy===t)return void e.reject(TypeError("cannot resolve promise with itself"));if("object"===d(t)&&null!==t||"function"==typeof t)try{n=t.then}catch(t){e.reject(t);return}if("function"==typeof n){var n,r=!1;try{n.call(t,function(n){r||(r=!0,n===t?e.reject(TypeError("circular thenable chain")):rn(e,n))},function(t){r||(r=!0,e.reject(t))})}catch(t){r||e.reject(t)}return}e.fulfill(t)};n6.all=function(e){return new n6(function(t,n){for(var r=Array(e.length),i=0,a=function(n,a){r[n]=a,++i===e.length&&t(r)},o=0;o<e.length;o++)!function(t){var r=e[t];null!=r&&null!=r.then?r.then(function(e){a(t,e)},function(e){n(e)}):a(t,r)}(o)})},n6.resolve=function(e){return new n6(function(t,n){t(e)})},n6.reject=function(e){return new n6(function(t,n){n(e)})};var rr="u">typeof Promise?Promise:n6,ri=function(e,t,n){var r=O(e),i=this._private=ee({duration:1e3},t,n);if(i.target=e,i.style=i.style||i.css,i.started=!1,i.playing=!1,i.hooked=!1,i.applying=!1,i.progress=0,i.completes=[],i.frames=[],i.complete&&D(i.complete)&&i.completes.push(i.complete),!r){var a=e.position();i.startPosition=i.startPosition||{x:a.x,y:a.y},i.startStyle=i.startStyle||e.cy().style().getAnimationStartStyle(e,i.style)}if(r){var o=e.pan();i.startPan={x:o.x,y:o.y},i.startZoom=e.zoom()}this.length=1,this[0]=this},ra=ri.prototype;function ro(){return oO?oz:(oO=1,oz=Array.isArray)}function rs(){if(o0)return oJ;o0=1;var e=function(){if(oZ)return oG;oZ=1;var e=function(){if(oj)return oX;oj=1;var e=ef(),t=ec();return oX=function(n){if(!t(n))return!1;var r=e(n);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r}}(),t=function(){if(oU)return oW;oU=1;var e,t=oq?oY:(oq=1,oY=ed()["__core-js_shared__"]),n=(e=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"";return oW=function(e){return!!n&&n in e}}(),n=ec(),r=function(){if(oK)return oH;oK=1;var e=Function.prototype.toString;return oH=function(t){if(null!=t){try{return e.call(t)}catch(e){}try{return t+""}catch(e){}}return""}}(),i=/^\[object .+?Constructor\]$/,a=Object.prototype,o=Function.prototype.toString,s=a.hasOwnProperty,l=RegExp("^"+o.call(s).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return oG=function(a){return!(!n(a)||t(a))&&(e(a)?l:i).test(r(a))}}(),t=oQ?o$:(oQ=1,o$=function(e,t){return null==e?void 0:e[t]});return oJ=function(n,r){var i=t(n,r);return e(i)?i:void 0}}function rl(){return o2?o1:(o2=1,o1=rs()(Object,"create"))}function ru(){return sl?ss:(sl=1,ss=function(e,t){return e===t||e!=e&&t!=t})}function rc(){if(sc)return su;sc=1;var e=ru();return su=function(t,n){for(var r=t.length;r--;)if(e(t[r][0],n))return r;return -1}}function rd(){if(sB)return sS;sB=1;var e=sP?sC:(sP=1,sC=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e});return sS=function(t,n){var r=t.__data__;return e(n)?r["string"==typeof n?"string":"hash"]:r.map}}function rh(){if(sq)return sY;sq=1;var e=function(){if(sj)return sX;sj=1;var e=function(){if(sF)return sV;sF=1;var e=function(){if(sO)return sz;sO=1;var e=function(){if(sT)return sk;sT=1;var e=function(){if(si)return sr;si=1;var e=function(){if(o3)return o5;o3=1;var e=rl();return o5=function(){this.__data__=e?e(null):{},this.size=0}}(),t=o9?o4:(o9=1,o4=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}),n=function(){if(o8)return o6;o8=1;var e=rl(),t=Object.prototype.hasOwnProperty;return o6=function(n){var r=this.__data__;if(e){var i=r[n];return"__lodash_hash_undefined__"===i?void 0:i}return t.call(r,n)?r[n]:void 0}}(),r=function(){if(se)return o7;se=1;var e=rl(),t=Object.prototype.hasOwnProperty;return o7=function(n){var r=this.__data__;return e?void 0!==r[n]:t.call(r,n)}}(),i=function(){if(sn)return st;sn=1;var e=rl();return st=function(t,n){var r=this.__data__;return this.size+=+!this.has(t),r[t]=e&&void 0===n?"__lodash_hash_undefined__":n,this}}();function a(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=n,a.prototype.has=r,a.prototype.set=i,sr=a}(),t=function(){if(sx)return sb;sx=1;var e=so?sa:(so=1,sa=function(){this.__data__=[],this.size=0}),t=function(){if(sh)return sd;sh=1;var e=rc(),t=Array.prototype.splice;return sd=function(n){var r=this.__data__,i=e(r,n);return!(i<0)&&(i==r.length-1?r.pop():t.call(r,i,1),--this.size,!0)}}(),n=function(){if(sp)return sf;sp=1;var e=rc();return sf=function(t){var n=this.__data__,r=e(n,t);return r<0?void 0:n[r][1]}}(),r=function(){if(sv)return sg;sv=1;var e=rc();return sg=function(t){return e(this.__data__,t)>-1}}(),i=function(){if(sm)return sy;sm=1;var e=rc();return sy=function(t,n){var r=this.__data__,i=e(r,t);return i<0?(++this.size,r.push([t,n])):r[i][1]=n,this}}();function a(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=n,a.prototype.has=r,a.prototype.set=i,sb=a}(),n=sE?sw:(sE=1,sw=rs()(ed(),"Map"));return sk=function(){this.size=0,this.__data__={hash:new e,map:new(n||t),string:new e}}}(),t=function(){if(s_)return sD;s_=1;var e=rd();return sD=function(t){var n=e(this,t).delete(t);return this.size-=!!n,n}}(),n=function(){if(sM)return sA;sM=1;var e=rd();return sA=function(t){return e(this,t).get(t)}}(),r=function(){if(sI)return sR;sI=1;var e=rd();return sR=function(t){return e(this,t).has(t)}}(),i=function(){if(sN)return sL;sN=1;var e=rd();return sL=function(t,n){var r=e(this,t),i=r.size;return r.set(t,n),this.size+=+(r.size!=i),this}}();function a(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=n,a.prototype.has=r,a.prototype.set=i,sz=a}();function t(n,r){if("function"!=typeof n||null!=r&&"function"!=typeof r)throw TypeError("Expected a function");var i=function(){var e=arguments,t=r?r.apply(this,e):e[0],a=i.cache;if(a.has(t))return a.get(t);var o=n.apply(this,e);return i.cache=a.set(t,o)||a,o};return i.cache=new(t.Cache||e),i}return t.Cache=e,sV=t}();return sX=function(t){var n=e(t,function(e){return 500===r.size&&r.clear(),e}),r=n.cache;return n}}(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n=/\\(\\)?/g;return sY=e(function(e){var r=[];return 46===e.charCodeAt(0)&&r.push(""),e.replace(t,function(e,t,i,a){r.push(i?a.replace(n,"$1"):t||e)}),r})}function rf(){return sU?sW:(sU=1,sW=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i})}function rp(){if(sZ)return sG;sZ=1;var e=function(){if(sK)return sH;sK=1;var e=eh(),t=rf(),n=ro(),r=ep(),i=e?e.prototype:void 0,a=i?i.toString:void 0;return sH=function e(i){if("string"==typeof i)return i;if(n(i))return t(i,e)+"";if(r(i))return a?a.call(i):"";var o=i+"";return"0"==o&&1/i==-1/0?"-0":o}}();return sG=function(t){return null==t?"":e(t)}}function rg(){if(sQ)return s$;sQ=1;var e=ro(),t=function(){if(oF)return oV;oF=1;var e=ro(),t=ep(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;return oV=function(i,a){if(e(i))return!1;var o=typeof i;return!!("number"==o||"symbol"==o||"boolean"==o||null==i||t(i))||r.test(i)||!n.test(i)||null!=a&&i in Object(a)}}(),n=rh(),r=rp();return s$=function(i,a){return e(i)?i:t(i,a)?[i]:n(r(i))}}function rv(){if(s0)return sJ;s0=1;var e=ep();return sJ=function(t){if("string"==typeof t||e(t))return t;var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}}ee(ra,{instanceString:function(){return"animation"},hook:function(){var e=this._private;if(!e.hooked){var t=e.target._private.animation;(e.queue?t.queue:t.current).push(this),L(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},play:function(){var e=this._private;return 1===e.progress&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var e=this._private;return e.playing=!1,e.started=!1,this},stop:function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(e){var t=this._private;return void 0===e?t.progress*t.duration:this.progress(e/t.duration)},progress:function(e){var t=this._private,n=t.playing;return void 0===e?t.progress:(n&&this.pause(),t.progress=e,t.started=!1,n&&this.play(),this)},completed:function(){return 1===this._private.progress},reverse:function(){var e=this._private,t=e.playing;t&&this.pause(),e.progress=1-e.progress,e.started=!1;var n=function(t,n){var r=e[t];null!=r&&(e[t]=e[n],e[n]=r)};if(n("zoom","startZoom"),n("pan","startPan"),n("position","startPosition"),e.style)for(var r=0;r<e.style.length;r++){var i=e.style[r],a=i.name,o=e.startStyle[a];e.startStyle[a]=i,e.style[r]=o}return t&&this.play(),this},promise:function(e){var t,n=this._private;return t="frame"===e?n.frames:n.completes,new rr(function(e,n){t.push(function(){e()})})}}),ra.complete=ra.completed,ra.run=ra.play,ra.running=ra.playing;var ry=eu(function(){if(s3)return s5;s3=1;var e=function(){if(s2)return s1;s2=1;var e=rg(),t=rv();return s1=function(n,r){r=e(r,n);for(var i=0,a=r.length;null!=n&&i<a;)n=n[t(r[i++])];return i&&i==a?n:void 0}}();return s5=function(t,n,r){var i=null==t?void 0:e(t,n);return void 0===i?r:i}}()),rm=eu(function(){if(lo)return la;lo=1;var e=function(){if(li)return lr;li=1;var e=function(){if(le)return s7;le=1;var e=function(){if(s8)return s6;s8=1;var e=function(){if(s9)return s4;s9=1;var e=rs();return s4=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(e){}}()}();return s6=function(t,n,r){"__proto__"==n&&e?e(t,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[n]=r}}(),t=ru(),n=Object.prototype.hasOwnProperty;return s7=function(r,i,a){var o=r[i];n.call(r,i)&&t(o,a)&&(void 0!==a||i in r)||e(r,i,a)}}(),t=rg(),n=function(){if(ln)return lt;ln=1;var e=/^(?:0|[1-9]\d*)$/;return lt=function(t,n){var r=typeof t;return!!(n=null==n?0x1fffffffffffff:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t<n}}(),r=ec(),i=rv();return lr=function(a,o,s,l){if(!r(a))return a;o=t(o,a);for(var u=-1,c=o.length,d=c-1,h=a;null!=h&&++u<c;){var f=i(o[u]),p=s;if("__proto__"===f||"constructor"===f||"prototype"===f)break;if(u!=d){var g=h[f];void 0===(p=l?l(g,f,h):void 0)&&(p=r(g)?g:n(o[u+1])?[]:{})}e(h,f,p),h=h[f]}return a}}();return la=function(t,n,r){return null==t?t:e(t,n,r)}}()),rb=eu(function(){if(lc)return lu;lc=1;var e=rf(),t=ll?ls:(ll=1,ls=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}),n=ro(),r=ep(),i=rh(),a=rv(),o=rp();return lu=function(s){return n(s)?e(s,a):r(s)?[s]:t(i(o(s)))}}()),rx={};[{animated:function(){return function(){var e=void 0!==this.length;if(!(this._private.cy||this).styleEnabled())return!1;var t=(e?this:[this])[0];if(t)return t._private.animation.current.length>0}},clearQueue:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var t=0;t<e.length;t++)e[t]._private.animation.queue=[];return this}},delay:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animate({delay:e,duration:e,complete:t}):this}},delayAnimation:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animation({delay:e,duration:e,complete:t}):this}},animation:function(){return function(e,t){var n=void 0!==this.length,r=n?this:[this],i=this._private.cy||this,a=!n,o=!a;if(!i.styleEnabled())return this;var s=i.style();if(0===Object.keys(e=ee({},e,t)).length)return new ri(r[0],e);switch(void 0===e.duration&&(e.duration=400),e.duration){case"slow":e.duration=600;break;case"fast":e.duration=200}if(o&&(e.style=s.getPropsList(e.style||e.css),e.css=void 0),o&&null!=e.renderedPosition){var l=e.renderedPosition,u=i.pan(),c=i.zoom();e.position=ti(l,c,u)}if(a&&null!=e.panBy){var d=e.panBy,h=i.pan();e.pan={x:h.x+d.x,y:h.y+d.y}}var f=e.center||e.centre;if(a&&null!=f){var p=i.getCenterPan(f.eles,e.zoom);null!=p&&(e.pan=p)}if(a&&null!=e.fit){var g=e.fit,v=i.getFitViewport(g.eles||g.boundingBox,g.padding);null!=v&&(e.pan=v.pan,e.zoom=v.zoom)}if(a&&A(e.zoom)){var y=i.getZoomedViewport(e.zoom);null!=y?(y.zoomed&&(e.zoom=y.zoom),y.panned&&(e.pan=y.pan)):e.zoom=null}return new ri(r[0],e)}},animate:function(){return function(e,t){var n=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;t&&(e=ee({},e,t));for(var r=0;r<n.length;r++){var i=n[r],a=i.animated()&&(void 0===e.queue||e.queue);i.animation(e,a?{queue:!0}:void 0).play()}return this}},stop:function(){return function(e,t){var n=void 0!==this.length?this:[this],r=this._private.cy||this;if(!r.styleEnabled())return this;for(var i=0;i<n.length;i++){for(var a=n[i]._private,o=a.animation.current,s=0;s<o.length;s++){var l=o[s]._private;t&&(l.duration=0)}e&&(a.animation.queue=[]),t||(a.animation.current=[])}return r.notify("draw"),this}}},{data:function(e){return e=ee({},{field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(e){},beforeSet:function(e,t){},onSet:function(e){},canSet:function(e){return!0}},e),function(t,n){var r,i=e,a=void 0!==this.length,o=a?this:[this],l=a?this[0]:this;if(B(t)){var u,c=-1!==t.indexOf(".")&&rb(t);if(i.allowGetting&&void 0===n)return l&&(i.beforeGet(l),u=c&&void 0===l._private[i.field][t]?ry(l._private[i.field],c):l._private[i.field][t]),u;if(i.allowSetting&&void 0!==n&&!i.immutableKeys[t]){var d=s({},t,n);i.beforeSet(this,d);for(var h=0,f=o.length;h<f;h++){var p=o[h];i.canSet(p)&&(c&&void 0===l._private[i.field][t]?rm(p._private[i.field],c,n):p._private[i.field][t]=n)}i.updateStyle&&this.updateStyle(),i.onSet(this),i.settingTriggersEvent&&this[i.triggerFnName](i.settingEvent)}}else if(i.allowSetting&&A(t)){var g,v,y=Object.keys(t);i.beforeSet(this,t);for(var b=0;b<y.length;b++)if(v=t[g=y[b]],!i.immutableKeys[g])for(var x=0;x<o.length;x++){var w=o[x];i.canSet(w)&&(w._private[i.field][g]=v)}i.updateStyle&&this.updateStyle(),i.onSet(this),i.settingTriggersEvent&&this[i.triggerFnName](i.settingEvent)}else if(i.allowBinding&&D(t))this.on(i.bindingEvent,t);else if(i.allowGetting&&void 0===t)return l&&(i.beforeGet(l),r=l._private[i.field]),r;return this}},removeData:function(e){return e=ee({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},e),function(t){var n=e,r=void 0!==this.length?this:[this];if(B(t)){for(var i=t.split(/\s+/),a=i.length,o=0;o<a;o++){var s=i[o];if(!F(s)&&!n.immutableKeys[s])for(var l=0,u=r.length;l<u;l++)r[l]._private[n.field][s]=void 0}n.triggerEvent&&this[n.triggerFnName](n.event)}else if(void 0===t){for(var c=0,d=r.length;c<d;c++)for(var h=r[c]._private[n.field],f=Object.keys(h),p=0;p<f.length;p++){var g=f[p];n.immutableKeys[g]||(h[g]=void 0)}n.triggerEvent&&this[n.triggerFnName](n.event)}return this}}},{eventAliasesOn:function(e){e.addListener=e.listen=e.bind=e.on,e.unlisten=e.unbind=e.off=e.removeListener,e.trigger=e.emit,e.pon=e.promiseOn=function(e,t){var n=this,r=Array.prototype.slice.call(arguments,0);return new rr(function(e,t){var i=r.concat([function(t){n.off.apply(n,a),e(t)}]),a=i.concat([]);n.on.apply(n,i)})}}}].forEach(function(e){ee(rx,e)});var rw={animate:rx.animate(),animation:rx.animation(),animated:rx.animated(),clearQueue:rx.clearQueue(),delay:rx.delay(),delayAnimation:rx.delayAnimation(),stop:rx.stop()},rE={classes:function(e){if(void 0===e){var t=[];return this[0]._private.classes.forEach(function(e){return t.push(e)}),t}_(e)||(e=(e||"").match(/\S+/g)||[]);for(var n=[],r=new eJ(e),i=0;i<this.length;i++){for(var a=this[i],o=a._private,s=o.classes,l=!1,u=0;u<e.length;u++){var c=e[u];if(!s.has(c)){l=!0;break}}l||(l=s.size!==e.length),l&&(o.classes=r,n.push(a))}return n.length>0&&this.spawn(n).updateStyle().emit("class"),this},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){_(e)||(e=e.match(/\S+/g)||[]);for(var n=void 0===t,r=[],i=0,a=this.length;i<a;i++)for(var o=this[i],s=o._private.classes,l=!1,u=0;u<e.length;u++){var c=e[u],d=s.has(c),h=!1;t||n&&!d?(s.add(c),h=!0):(!t||n&&d)&&(s.delete(c),h=!0),!l&&h&&(r.push(o),l=!0)}return r.length>0&&this.spawn(r).updateStyle().emit("class"),this},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},t),n}};rE.className=rE.classNames=rE.classes;var rk={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:K,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};for(oi=0,rk.variable="(?:[\\w-.]|(?:\\\\"+rk.metaChar+"))+",rk.className="(?:[\\w-]|(?:\\\\"+rk.metaChar+"))+",rk.value=rk.string+"|"+rk.number,rk.id=rk.variable,on=rk.comparatorOp.split("|");oi<on.length;oi++)or=on[oi],rk.comparatorOp+="|@"+or;for(oi=0,on=rk.comparatorOp.split("|");oi<on.length;oi++)(or=on[oi]).indexOf("!")>=0||"="!==or&&(rk.comparatorOp+="|\\!"+or);var rT=function(){return{checks:[]}},rC=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort(function(e,t){return -1*J(e.selector,t.selector)}),rP=function(){for(var e,t={},n=0;n<rC.length;n++)t[(e=rC[n]).selector]=e.matches;return t}(),rS="("+rC.map(function(e){return e.selector}).join("|")+")",rB=function(e){return e.replace(RegExp("\\\\("+rk.metaChar+")","g"),function(e,t){return t})},rD=function(e,t,n){e[e.length-1]=n},r_=[{name:"group",query:!0,regex:"("+rk.group+")",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:0,value:"*"===r?r:r+"s"})}},{name:"state",query:!0,regex:rS,populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:7,value:r})}},{name:"id",query:!0,regex:"\\#("+rk.id+")",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:8,value:rB(r)})}},{name:"className",query:!0,regex:"\\.("+rk.className+")",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:9,value:rB(r)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+rk.variable+")\\s*\\]",populate:function(e,t,n){var r=l(n,1)[0];t.checks.push({type:4,field:rB(r)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+rk.variable+")\\s*("+rk.comparatorOp+")\\s*("+rk.value+")\\s*\\]",populate:function(e,t,n){var r=l(n,3),i=r[0],a=r[1],o=r[2];o=null!=RegExp("^"+rk.string+"$").exec(o)?o.substring(1,o.length-1):parseFloat(o),t.checks.push({type:3,field:rB(i),operator:a,value:o})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+rk.boolOp+")\\s*("+rk.variable+")\\s*\\]",populate:function(e,t,n){var r=l(n,2),i=r[0],a=r[1];t.checks.push({type:5,field:rB(a),operator:i})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+rk.meta+")\\s*("+rk.comparatorOp+")\\s*("+rk.number+")\\s*\\]\\]",populate:function(e,t,n){var r=l(n,3),i=r[0],a=r[1],o=r[2];t.checks.push({type:6,field:rB(i),operator:a,value:parseFloat(o)})}},{name:"nextQuery",separator:!0,regex:rk.separator,populate:function(e,t){var n=e.currentSubject,r=e.edgeCount,i=e.compoundCount,a=e[e.length-1];return null!=n&&(a.subject=n,e.currentSubject=null),a.edgeCount=r,a.compoundCount=i,e.edgeCount=0,e.compoundCount=0,e[e.length++]=rT()}},{name:"directedEdge",separator:!0,regex:rk.directedEdge,populate:function(e,t){if(null==e.currentSubject){var n=rT(),r=rT();return n.checks.push({type:11,source:t,target:r}),rD(e,t,n),e.edgeCount++,r}var i=rT(),a=rT();return i.checks.push({type:12,source:t,target:a}),rD(e,t,i),e.edgeCount++,a}},{name:"undirectedEdge",separator:!0,regex:rk.undirectedEdge,populate:function(e,t){if(null==e.currentSubject){var n=rT(),r=rT();return n.checks.push({type:10,nodes:[t,r]}),rD(e,t,n),e.edgeCount++,r}var i=rT(),a=rT();return i.checks.push({type:14,node:t,neighbor:a}),rD(e,t,i),a}},{name:"child",separator:!0,regex:rk.child,populate:function(e,t){if(null==e.currentSubject){var n=rT(),r=rT(),i=e[e.length-1];return n.checks.push({type:15,parent:i,child:r}),rD(e,t,n),e.compoundCount++,r}if(e.currentSubject===t){var a=rT(),o=e[e.length-1],s=rT(),l=rT(),u=rT(),c=rT();return a.checks.push({type:19,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:20}],c.checks.push({type:20}),s.checks.push({type:17,parent:c,child:u}),rD(e,o,a),e.currentSubject=l,e.compoundCount++,u}var d=rT(),h=rT(),f=[{type:17,parent:d,child:h}];return d.checks=t.checks,t.checks=f,e.compoundCount++,h}},{name:"descendant",separator:!0,regex:rk.descendant,populate:function(e,t){if(null==e.currentSubject){var n=rT(),r=rT(),i=e[e.length-1];return n.checks.push({type:16,ancestor:i,descendant:r}),rD(e,t,n),e.compoundCount++,r}if(e.currentSubject===t){var a=rT(),o=e[e.length-1],s=rT(),l=rT(),u=rT(),c=rT();return a.checks.push({type:19,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:20}],c.checks.push({type:20}),s.checks.push({type:18,ancestor:c,descendant:u}),rD(e,o,a),e.currentSubject=l,e.compoundCount++,u}var d=rT(),h=rT(),f=[{type:18,ancestor:d,descendant:h}];return d.checks=t.checks,t.checks=f,e.compoundCount++,h}},{name:"subject",modifier:!0,regex:rk.subject,populate:function(e,t){if(null!=e.currentSubject&&e.currentSubject!==t)return eV("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=t;var n=e[e.length-1].checks[0],r=null==n?null:n.type;11===r?n.type=13:10===r&&(n.type=14,n.node=n.nodes[1],n.neighbor=n.nodes[0],n.nodes=null)}}];r_.forEach(function(e){return e.regexObj=RegExp("^"+e.regex)});var rA=function(e){for(var t,n,r,i=0;i<r_.length;i++){var a=r_[i],o=a.name,s=e.match(a.regexObj);if(null!=s){n=s,t=a,r=o;var l=s[0];e=e.substring(l.length);break}}return{expr:t,match:n,name:r,remaining:e}},rM=function(e){var t=e.match(/^\s+/);if(t){var n=t[0];e=e.substring(n.length)}return e},rR=function(e,t,n){var r,i,a,o=B(e),s=M(e),l=B(n),u=!1,c=!1,d=!1;switch(t.indexOf("!")>=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),u=!0),(o||l||u)&&(i=o||s?""+e:"",a=""+n),u&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e<n;break;case"<=":d=!0,r=e<=n;break;default:r=!1}return c&&(null!=e||!d)&&(r=!r),r},rI=function(e,t){switch(t){case"?":return!!e;case"!":return!e;case"^":return void 0===e}},rL=function(e,t){return e.data(t)},rN=[],rz=function(e,t){return e.checks.every(function(e){return rN[e.type](e,t)})};rN[0]=function(e,t){var n=e.value;return"*"===n||n===t.group()},rN[7]=function(e,t){var n;return n=e.value,rP[n](t)},rN[8]=function(e,t){var n=e.value;return t.id()===n},rN[9]=function(e,t){var n=e.value;return t.hasClass(n)},rN[6]=function(e,t){var n=e.field,r=e.operator,i=e.value;return rR(t[n](),r,i)},rN[3]=function(e,t){var n=e.field,r=e.operator,i=e.value;return rR(rL(t,n),r,i)},rN[5]=function(e,t){var n=e.field,r=e.operator;return rI(rL(t,n),r)},rN[4]=function(e,t){var n=e.field;return e.operator,void 0!==rL(t,n)},rN[10]=function(e,t){var n=e.nodes[0],r=e.nodes[1],i=t.source(),a=t.target();return rz(n,i)&&rz(r,a)||rz(r,i)&&rz(n,a)},rN[14]=function(e,t){return rz(e.node,t)&&t.neighborhood().some(function(t){return t.isNode()&&rz(e.neighbor,t)})},rN[11]=function(e,t){return rz(e.source,t.source())&&rz(e.target,t.target())},rN[12]=function(e,t){return rz(e.source,t)&&t.outgoers().some(function(t){return t.isNode()&&rz(e.target,t)})},rN[13]=function(e,t){return rz(e.target,t)&&t.incomers().some(function(t){return t.isNode()&&rz(e.source,t)})},rN[15]=function(e,t){return rz(e.child,t)&&rz(e.parent,t.parent())},rN[17]=function(e,t){return rz(e.parent,t)&&t.children().some(function(t){return rz(e.child,t)})},rN[16]=function(e,t){return rz(e.descendant,t)&&t.ancestors().some(function(t){return rz(e.ancestor,t)})},rN[18]=function(e,t){return rz(e.ancestor,t)&&t.descendants().some(function(t){return rz(e.descendant,t)})},rN[19]=function(e,t){return rz(e.subject,t)&&rz(e.left,t)&&rz(e.right,t)},rN[20]=function(){return!0},rN[1]=function(e,t){return e.value.has(t)},rN[2]=function(e,t){return(0,e.value)(t)};var rO=function(e){this.inputText=e,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,null==e||B(e)&&e.match(/^\s*$/)||(L(e)?this.addQuery({checks:[{type:1,value:e.collection()}]}):D(e)?this.addQuery({checks:[{type:2,value:e}]}):B(e)?this.parse(e)||(this.invalid=!0):ez("A selector must be created from a string; found "))},rV=rO.prototype;[{parse:function(e){var t=this.inputText=e,n=this[0]=rT();for(this.length=1,t=rM(t);;){var r=rA(t);if(null==r.expr)return eV("The selector `"+e+"`is invalid"),!1;var i=r.match.slice(1),a=r.expr.populate(this,n,i);if(!1===a)return!1;if(null!=a&&(n=a),(t=r.remaining).match(/^\s*$/))break}var o=this[this.length-1];null!=this.currentSubject&&(o.subject=this.currentSubject),o.edgeCount=this.edgeCount,o.compoundCount=this.compoundCount;for(var s=0;s<this.length;s++){var l=this[s];if(l.compoundCount>0&&l.edgeCount>0)return eV("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return eV("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&eV("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return B(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(r,a){var o=r.type,s=r.value;switch(o){case 0:var l=e(s);return l.substring(0,l.length-1);case 3:return"["+r.field+n(e(r.operator))+t(s)+"]";case 5:var u=r.operator,c=r.field;return"["+e(u)+c+"]";case 4:return"["+r.field+"]";case 6:var d=r.operator;return"[["+r.field+n(e(d))+t(s)+"]]";case 7:return s;case 8:return"#"+s;case 9:return"."+s;case 17:case 15:return i(r.parent,a)+n(">")+i(r.child,a);case 18:case 16:return i(r.ancestor,a)+" "+i(r.descendant,a);case 19:var h=i(r.left,a),f=i(r.subject,a),p=i(r.right,a);return h+(h.length>0?" ":"")+f+p;case 20:return""}},i=function(e,t){return e.checks.reduce(function(n,i,a){return n+(t===e&&0===a?"$":"")+r(i,t)},"")},a="",o=0;o<this.length;o++){var s=this[o];a+=i(s,s.subject),this.length>1&&o<this.length-1&&(a+=", ")}return this.toStringCache=a,a}},{matches:function(e){for(var t=0;t<this.length;t++)if(rz(this[t],e))return!0;return!1},filter:function(e){var t=this;if(1===t.length&&1===t[0].checks.length&&8===t[0].checks[0].type)return e.getElementById(t[0].checks[0].value).collection();var n=function(e){for(var n=0;n<t.length;n++)if(rz(t[n],e))return!0;return!1};return null==t.text()&&(n=function(){return!0}),e.filter(n)}}].forEach(function(e){return ee(rV,e)}),rV.text=function(){return this.inputText},rV.size=function(){return this.length},rV.eq=function(e){return this[e]},rV.sameText=function(e){return!this.invalid&&!e.invalid&&this.text()===e.text()},rV.addQuery=function(e){this[this.length++]=e},rV.selector=rV.toString;var rF={allAre:function(e){var t=new rO(e);return this.every(function(e){return t.matches(e)})},is:function(e){var t=new rO(e);return this.some(function(e){return t.matches(e)})},some:function(e,t){for(var n=0;n<this.length;n++)if(t?e.apply(t,[this[n],n,this]):e(this[n],n,this))return!0;return!1},every:function(e,t){for(var n=0;n<this.length;n++)if(!(t?e.apply(t,[this[n],n,this]):e(this[n],n,this)))return!1;return!0},same:function(e){if(this===e)return!0;e=this.cy().collection(e);var t=this.length;return t===e.length&&(1===t?this[0]===e[0]:this.every(function(t){return e.hasElementWithId(t.id())}))},anySame:function(e){return e=this.cy().collection(e),this.some(function(t){return e.hasElementWithId(t.id())})},allAreNeighbors:function(e){e=this.cy().collection(e);var t=this.neighborhood();return e.every(function(e){return t.hasElementWithId(e.id())})},contains:function(e){e=this.cy().collection(e);var t=this;return e.every(function(e){return t.hasElementWithId(e.id())})}};rF.allAreNeighbours=rF.allAreNeighbors,rF.has=rF.contains,rF.equal=rF.equals=rF.same;var rX=function(e,t){return function(n,r,i,a){if(null==n?o="":L(n)&&1===n.length&&(o=n.id()),1!==this.length||!o)return e.call(this,n,r,i,a);var o,s=this[0]._private,l=s.traversalCache=s.traversalCache||{},u=l[t]=l[t]||[],c=eP(o),d=u[c];return d||(u[c]=e.call(this,n,r,i,a))}},rj={parent:function(e){var t=[];if(1===this.length){var n=this[0]._private.parent;if(n)return n}for(var r=0;r<this.length;r++){var i=this[r]._private.parent;i&&t.push(i)}return this.spawn(t,!0).filter(e)},parents:function(e){for(var t=[],n=this.parent();n.nonempty();){for(var r=0;r<n.length;r++){var i=n[r];t.push(i)}n=n.parent()}return this.spawn(t,!0).filter(e)},commonAncestors:function(e){for(var t,n=0;n<this.length;n++){var r=this[n].parents();t=(t=t||r).intersect(r)}return t.filter(e)},orphans:function(e){return this.stdFilter(function(e){return e.isOrphan()}).filter(e)},nonorphans:function(e){return this.stdFilter(function(e){return e.isChild()}).filter(e)},children:rX(function(e){for(var t=[],n=0;n<this.length;n++)for(var r=this[n]._private.children,i=0;i<r.length;i++)t.push(r[i]);return this.spawn(t,!0).filter(e)},"children"),siblings:function(e){return this.parent().children().not(this).filter(e)},isParent:function(){var e=this[0];if(e)return e.isNode()&&0!==e._private.children.length},isChildless:function(){var e=this[0];if(e)return e.isNode()&&0===e._private.children.length},isChild:function(){var e=this[0];if(e)return e.isNode()&&null!=e._private.parent},isOrphan:function(){var e=this[0];if(e)return e.isNode()&&null==e._private.parent},descendants:function(e){var t=[];return!function e(n){for(var r=0;r<n.length;r++){var i=n[r];t.push(i),i.children().nonempty()&&e(i.children())}}(this.children()),this.spawn(t,!0).filter(e)}};function rY(e,t,n,r){for(var i=[],a=new eJ,o=e.cy().hasCompoundNodes(),s=0;s<e.length;s++){var l=e[s];n?i.push(l):o&&r(i,a,l)}for(;i.length>0;){var u=i.shift();t(u),a.add(u.id()),o&&r(i,a,u)}return e}function rq(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i<r.length;i++){var a=r[i];t.has(a.id())||e.push(a)}}function rW(e,t,n){if(n.isChild()){var r=n._private.parent;t.has(r.id())||e.push(r)}}function rU(e,t,n){rW(e,t,n),rq(e,t,n)}rj.forEachDown=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return rY(this,e,t,rq)},rj.forEachUp=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return rY(this,e,t,rW)},rj.forEachUpAndDown=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return rY(this,e,t,rU)},rj.ancestors=rj.parents,(ld=lh={data:rx.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:rx.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:rx.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:rx.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:rx.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:rx.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=ld.data,ld.removeAttr=ld.removeData;var rH={};function rK(e){return function(t){if(void 0===t&&(t=!0),0!==this.length)if(!this.isNode()||this.removed())return;else{for(var n=0,r=this[0],i=r._private.edges,a=0;a<i.length;a++){var o=i[a];!t&&o.isLoop()||(n+=e(r,o))}return n}}}function rG(e,t){return function(n){for(var r,i=this.nodes(),a=0;a<i.length;a++){var o=i[a][e](n);void 0!==o&&(void 0===r||t(o,r))&&(r=o)}return r}}ee(rH,{degree:rK(function(e,t){return t.source().same(t.target())?2:1}),indegree:rK(function(e,t){return+!!t.target().same(e)}),outdegree:rK(function(e,t){return+!!t.source().same(e)})}),ee(rH,{minDegree:rG("degree",function(e,t){return e<t}),maxDegree:rG("degree",function(e,t){return e>t}),minIndegree:rG("indegree",function(e,t){return e<t}),maxIndegree:rG("indegree",function(e,t){return e>t}),minOutdegree:rG("outdegree",function(e,t){return e<t}),maxOutdegree:rG("outdegree",function(e,t){return e>t})}),ee(rH,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r<n.length;r++)t+=n[r].degree(e);return t}});var rZ=function(e,t,n){for(var r=0;r<e.length;r++){var i=e[r];if(!i.locked()){var a=i._private.position,o={x:null!=t.x?t.x-a.x:0,y:null!=t.y?t.y-a.y:0};i.isParent()&&(0!==o.x||0!==o.y)&&i.children().shift(o,n),i.dirtyBoundingBoxCache()}}},r$={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(e){e.updateCompoundBounds()},beforeSet:function(e,t){rZ(e,t,!1)},onSet:function(e){e.dirtyCompoundBoundsCache()},canSet:function(e){return!e.locked()}};(lf=lp={position:rx.data(r$),silentPosition:rx.data(ee({},r$,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(e,t){rZ(e,t,!0)},onSet:function(e){e.dirtyCompoundBoundsCache()}})),positions:function(e,t){if(A(e))t?this.silentPosition(e):this.position(e);else if(D(e)){var n=this.cy();n.startBatch();for(var r=0;r<this.length;r++){var i=this[r],a=void 0;(a=e(i,r))&&(t?i.silentPosition(a):i.position(a))}n.endBatch()}return this},silentPositions:function(e){return this.positions(e,!0)},shift:function(e,t,n){var r;if(A(e)?(r={x:M(e.x)?e.x:0,y:M(e.y)?e.y:0},n=t):B(e)&&M(t)&&((r={x:0,y:0})[e]=t),null!=r){var i=this.cy();i.startBatch();for(var a=0;a<this.length;a++){var o=this[a];if(!(i.hasCompoundNodes()&&o.isChild()&&o.ancestors().anySame(this))){var s=o.position(),l={x:s.x+r.x,y:s.y+r.y};n?o.silentPosition(l):o.position(l)}}i.endBatch()}return this},silentShift:function(e,t){return A(e)?this.shift(e,!0):B(e)&&M(t)&&this.shift(e,t,!0),this},renderedPosition:function(e,t){var n=this[0],r=this.cy(),i=r.zoom(),a=r.pan(),o=A(e)?e:void 0,s=void 0!==o||void 0!==t&&B(e);if(n&&n.isNode())if(!s)return(o=tr(n.position(),i,a),void 0===e)?o:o[e];else for(var l=0;l<this.length;l++){var u=this[l];void 0!==t?u.position(e,(t-a[e])/i):void 0!==o&&u.position(ti(o,i,a))}else if(!s)return;return this},relativePosition:function(e,t){var n=this[0],r=this.cy(),i=A(e)?e:void 0,a=void 0!==i||void 0!==t&&B(e),o=r.hasCompoundNodes();if(n&&n.isNode())if(a)for(var s=0;s<this.length;s++){var l=this[s],u=o?l.parent():null,c=u&&u.length>0;c&&(u=u[0]);var d=c?u.position():{x:0,y:0};void 0!==t?l.position(e,t+d[e]):void 0!==i&&l.position({x:i.x+d.x,y:i.y+d.y})}else{var h=n.position(),f=o?n.parent():null,p=f&&f.length>0;p&&(f=f[0]);var g=p?f.position():{x:0,y:0};return(i={x:h.x-g.x,y:h.y-g.y},void 0===e)?i:i[e]}else if(!a)return;return this}}).modelPosition=lf.point=lf.position,lf.modelPositions=lf.points=lf.positions,lf.renderedPoint=lf.renderedPosition,lf.relativePoint=lf.relativePosition;var rQ=function(e){switch(e){case"left":case"right-inside":return"left";case"right":case"left-inside":return"right";default:return"center"}},rJ=function(e){switch(e){case"top":case"bottom-inside":return"top";case"bottom":case"top-inside":return"bottom";default:return"center"}},r0=function(e){switch(e){case"left":case"right-inside":return"right";case"right":case"left-inside":return"left";default:return"center"}};lg=lv={},lv.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,l=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:l,w:o-a,h:l-s}},lv.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()&&this.forEachUp(function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}}),this},lv.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes()||!e&&t.batching())return this;for(var n=0;n<this.length;n++){var r=this[n],i=r._private;(!i.compoundBoundsClean||e)&&(!function(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;(0===a.w||0===a.h)&&((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var l=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(l=100*l/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,l),h=d.biasDiff,f=d.biasComplementDiff,p=y(i.height.val-a.h,u,c),g=p.biasDiff,v=p.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"===n.units)switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}return"px"===n.units?n.pfValue:0}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+f)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-g+a.y1+a.y2+v)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}(r),t.batching()||(i.compoundBoundsClean=!0))}return this};var r1=function(e){return e===1/0||e===-1/0?0:e},r2=function(e,t,n,r,i){r-t==0||i-n==0||null!=t&&null!=n&&null!=r&&null!=i&&(e.x1=t<e.x1?t:e.x1,e.x2=r>e.x2?r:e.x2,e.y1=n<e.y1?n:e.y1,e.y2=i>e.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},r5=function(e,t){return null==t?e:r2(e,t.x1,t.y1,t.x2,t.y2)},r3=function(e,t,n){return eK(e,t,n)},r4=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var l=a.arrowBounds=a.arrowBounds||{},u=l[n]=l[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,tP(u,1),r2(e,u.x1,u.y1,u.x2,u.y2)}}},r9=function(e,t,n){if(!t.cy().headless()){a=n?n+"-":"";var r=t._private,i=r.rstyle;if(t.pstyle(a+"label").strValue){var a,o,s,l,u,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=r3(i,"labelWidth",n),f=r3(i,"labelHeight",n),p=r3(i,"labelX",n),g=r3(i,"labelY",n),v=t.pstyle(a+"text-margin-x").pfValue,y=t.pstyle(a+"text-margin-y").pfValue,b=t.isEdge(),x=t.pstyle(a+"text-rotation"),w=t.pstyle("text-outline-width").pfValue,E=t.pstyle("text-border-width").pfValue/2,k=t.pstyle("text-background-padding").pfValue,T=h/2,C=f/2;if(b)o=p-T,s=p+T,l=g-C,u=g+C;else{switch(rQ(c.value)){case"left":o=p-h,s=p;break;case"center":o=p-T,s=p+T;break;case"right":o=p,s=p+h}switch(rJ(d.value)){case"top":l=g-f,u=g;break;case"center":l=g-C,u=g+C;break;case"bottom":l=g,u=g+f}}var P=v-Math.max(w,E)-k-2,S=v+Math.max(w,E)+k+2,B=y-Math.max(w,E)-k-2,D=y+Math.max(w,E)+k+2;o+=P,s+=S,l+=B,u+=D;var _=n||"main",A=r.labelBounds,M=A[_]=A[_]||{};M.x1=o,M.y1=l,M.x2=s,M.y2=u,M.w=s-o,M.h=u-l,M.leftPad=P,M.rightPad=S,M.topPad=B,M.botPad=D;var R=b&&"autorotate"===x.strValue,I=null!=x.pfValue&&0!==x.pfValue;if(R||I){var L=R?r3(r.rstyle,"labelAngle",n):x.pfValue,N=Math.cos(L),z=Math.sin(L),O=(o+s)/2,V=(l+u)/2;if(!b){switch(rQ(c.value)){case"left":O=s;break;case"right":O=o}switch(rJ(d.value)){case"top":V=u;break;case"bottom":V=l}}var F=function(e,t){return{x:(e-=O)*N-(t-=V)*z+O,y:e*z+t*N+V}},X=F(o,l),j=F(o,u),Y=F(s,l),q=F(s,u);o=Math.min(X.x,j.x,Y.x,q.x),s=Math.max(X.x,j.x,Y.x,q.x),l=Math.min(X.y,j.y,Y.y,q.y),u=Math.max(X.y,j.y,Y.y,q.y)}var W=_+"Rot",U=A[W]=A[W]||{};U.x1=o,U.y1=l,U.x2=s,U.y2=u,U.w=s-o,U.h=u-l,r2(e,o,l,s,u),r2(r.labelBounds.all,o,l,s,u)}return e}},r6=function(e,t){if(!t.cy().headless()){var n=t.pstyle("outline-opacity").value,r=t.pstyle("outline-width").value+t.pstyle("outline-offset").value;r8(e,t,n,r,"outside",r/2)}},r8=function(e,t,n,r,i,a){if(0!==n&&!(r<=0)&&"inside"!==i){var o=t.cy().renderer(),s=o.nodeShapes[o.getNodeShape(t)];if(s){var l=t.position(),u=l.x,c=l.y,d=t.width(),h=t.height();s.hasMiterBounds?("center"===i&&(r/=2),r5(e,s.miterBounds(u,c,d,h,r))):null!=a&&a>0&&tS(e,[a,a,a,a])}}},r7=function(e,t){if(!t.cy().headless()){var n=t.pstyle("border-opacity").value,r=t.pstyle("border-width").pfValue,i=t.pstyle("border-position").value;r8(e,t,n,r,i)}},ie=function(e,t){var n=e._private.cy,r=n.styleEnabled(),i=n.headless(),a=tE(),o=e._private,s=e.isNode(),l=e.isEdge(),u=o.rstyle,c=s&&r?e.pstyle("bounds-expansion").pfValue:[0],d=function(e){return"none"!==e.pstyle("display").value},h=!r||d(e)&&(!l||d(e.source())&&d(e.target()));if(h){var f=0;r&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(f=e.pstyle("overlay-padding").value);var p=0;r&&t.includeUnderlays&&0!==e.pstyle("underlay-opacity").value&&(p=e.pstyle("underlay-padding").value);var g=Math.max(f,p),v=0;if(r&&(v=e.pstyle("width").pfValue/2),s&&t.includeNodes){var y=e.position();C=y.x,P=y.y;var b=e.outerWidth()/2,x=e.outerHeight()/2;w=C-b,E=C+b,r2(a,w,k=P-x,E,T=P+x),r&&r6(a,e),r&&t.includeOutlines&&!i&&r6(a,e),r&&r7(a,e)}else if(l&&t.includeEdges)if(r&&!i){var w,E,k,T,C,P,S,B=e.pstyle("curve-style").strValue;if(w=Math.min(u.srcX,u.midX,u.tgtX),E=Math.max(u.srcX,u.midX,u.tgtX),k=Math.min(u.srcY,u.midY,u.tgtY),T=Math.max(u.srcY,u.midY,u.tgtY),w-=v,E+=v,r2(a,w,k-=v,E,T+=v),"haystack"===B){var D=u.haystackPts;if(D&&2===D.length){if(w=D[0].x,k=D[0].y,E=D[1].x,T=D[1].y,w>E){var _=w;w=E,E=_}if(k>T){var A=k;k=T,T=A}r2(a,w-v,k-v,E+v,T+v)}}else if("bezier"===B||"unbundled-bezier"===B||H(B,"segments")||H(B,"taxi")){switch(B){case"bezier":case"unbundled-bezier":S=u.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":S=u.linePts}if(null!=S)for(var M=0;M<S.length;M++){var R=S[M];w=R.x-v,E=R.x+v,r2(a,w,k=R.y-v,E,T=R.y+v)}}}else{var I=e.source().position(),L=e.target().position();if(w=I.x,E=L.x,k=I.y,T=L.y,w>E){var N=w;w=E,E=N}if(k>T){var z=k;k=T,T=z}w-=v,E+=v,r2(a,w,k-=v,E,T+=v)}if(r&&t.includeEdges&&l&&(r4(a,e,"mid-source"),r4(a,e,"mid-target"),r4(a,e,"source"),r4(a,e,"target")),r&&"yes"===e.pstyle("ghost").value){var O=e.pstyle("ghost-offset-x").pfValue,V=e.pstyle("ghost-offset-y").pfValue;r2(a,a.x1+O,a.y1+V,a.x2+O,a.y2+V)}var F=o.bodyBounds=o.bodyBounds||{};tB(F,a),tS(F,c),tP(F,1),r&&(w=a.x1,E=a.x2,k=a.y1,T=a.y2,r2(a,w-g,k-g,E+g,T+g));var X=o.overlayBounds=o.overlayBounds||{};tB(X,a),tS(X,c),tP(X,1);var j=o.labelBounds=o.labelBounds||{};null!=j.all?tk(j.all):j.all=tE(),r&&t.includeLabels&&(t.includeMainLabels&&r9(a,e,null),l&&(t.includeSourceLabels&&r9(a,e,"source"),t.includeTargetLabels&&r9(a,e,"target")))}return a.x1=r1(a.x1),a.y1=r1(a.y1),a.x2=r1(a.x2),a.y2=r1(a.y2),a.w=r1(a.x2-a.x1),a.h=r1(a.y2-a.y1),a.w>0&&a.h>0&&h&&(tS(a,c),tP(a,1)),a},it=function(e){var t=0,n=function(e){return!!e<<t++};return 0+n(e.incudeNodes)+n(e.includeEdges)+n(e.includeLabels)+n(e.includeMainLabels)+n(e.includeSourceLabels)+n(e.includeTargetLabels)+n(e.includeOverlays)+n(e.includeOutlines)},ir=function(e){var t=function(e){return Math.round(e)};if(e.isEdge()){var n=e.source().position(),r=e.target().position();return eC([t(n.x),t(n.y),t(r.x),t(r.y)])}var i=e.position();return eC([t(i.x),t(i.y)])},ii=function(e,t){var n,r=e._private,i=e.isEdge(),a=null==t?io:it(t);if(null==r.bbCache?(r.bbCache=n=ie(e,ia),r.bbCachePosKey=ir(e)):n=r.bbCache,a!==io){var o=e.isNode();n=tE(),(t.includeNodes&&o||t.includeEdges&&!o)&&(t.includeOverlays?r5(n,r.overlayBounds):r5(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?r5(n,r.labelBounds.all):(t.includeMainLabels&&r5(n,r.labelBounds.mainRot),t.includeSourceLabels&&r5(n,r.labelBounds.sourceRot),t.includeTargetLabels&&r5(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},ia={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},io=it(ia),is=eq(ia);lv.boundingBox=function(e){var t,n=void 0===e||void 0===e.useCache||!0===e.useCache,r=j(function(e){var t=e._private;return null==t.bbCache||t.styleDirty||t.bbCachePosKey!==ir(e)},function(e){return e.id()});if(n&&1===this.length&&!r(this[0]))e=void 0===e?ia:is(e),t=ii(this[0],e);else{t=tE();var i=is(e=e||ia),a=this.cy().styleEnabled();this.edges().forEach(r),this.nodes().forEach(r),a&&this.recalculateRenderedStyle(n),this.updateCompoundBounds(!n);for(var o=0;o<this.length;o++){var s=this[o];r(s)&&s.dirtyBoundingBoxCache(),r5(t,ii(s,i))}}return t.x1=r1(t.x1),t.y1=r1(t.y1),t.x2=r1(t.x2),t.y2=r1(t.y2),t.w=r1(t.x2-t.x1),t.h=r1(t.y2-t.y1),t},lv.dirtyBoundingBoxCache=function(){for(var e=0;e<this.length;e++){var t=this[e]._private;t.bbCache=null,t.bbCachePosKey=null,t.bodyBounds=null,t.overlayBounds=null,t.labelBounds.all=null,t.labelBounds.source=null,t.labelBounds.target=null,t.labelBounds.main=null,t.labelBounds.sourceRot=null,t.labelBounds.targetRot=null,t.labelBounds.mainRot=null,t.arrowBounds.source=null,t.arrowBounds.target=null,t.arrowBounds["mid-source"]=null,t.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},lv.boundingBoxAt=function(e){var t,n=this.nodes(),r=this.cy(),i=r.hasCompoundNodes(),a=r.collection();if(i&&(a=n.filter(function(e){return e.isParent()}),n=n.not(a)),A(e)){var o=e;e=function(){return o}}r.startBatch(),n.forEach(function(t,n){return t._private.bbAtOldPos=e(t,n)}).silentPositions(e),i&&(a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache(),a.updateCompoundBounds(!0));var s={x1:(t=this.boundingBox({useCache:!1})).x1,x2:t.x2,w:t.w,y1:t.y1,y2:t.y2,h:t.h};return n.silentPositions(function(e){return e._private.bbAtOldPos}),i&&(a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache(),a.updateCompoundBounds(!0)),r.endBatch(),s},lg.boundingbox=lg.bb=lg.boundingBox,lg.renderedBoundingbox=lg.renderedBoundingBox,ly=lm={};var il=function(e){e.uppercaseName=U(e.name),e.autoName="auto"+e.uppercaseName,e.labelName="label"+e.uppercaseName,e.outerName="outer"+e.uppercaseName,e.uppercaseOuterName=U(e.outerName),ly[e.name]=function(){var t=this[0],n=t._private,r=n.cy._private.styleEnabled;if(t)if(!r)return 1;else{if(t.isParent())return t.updateCompoundBounds(),n[e.autoName]||0;var i=t.pstyle(e.name);return"label"===i.strValue?(t.recalculateRenderedStyle(),n.rstyle[e.labelName]||0):i.pfValue}},ly["outer"+e.uppercaseName]=function(){var t=this[0],n=t._private.cy._private.styleEnabled;if(t)if(!n)return 1;else{var r=t[e.name](),i=t.pstyle("border-position").value;return r+("center"===i?t.pstyle("border-width").pfValue:"outside"===i?2*t.pstyle("border-width").pfValue:0)+2*t.padding()}},ly["rendered"+e.uppercaseName]=function(){var t=this[0];if(t)return t[e.name]()*this.cy().zoom()},ly["rendered"+e.uppercaseOuterName]=function(){var t=this[0];if(t)return t[e.outerName]()*this.cy().zoom()}};il({name:"width"}),il({name:"height"}),lm.padding=function(){var e=this[0],t=e._private;return e.isParent()&&(e.updateCompoundBounds(),void 0!==t.autoPadding)?t.autoPadding:e.pstyle("padding").pfValue},lm.paddedHeight=function(){var e=this[0];return e.height()+2*e.padding()},lm.paddedWidth=function(){var e=this[0];return e.width()+2*e.padding()};var iu=function(e,t){if(e.isEdge()&&e.takesUpSpace())return t(e)},ic=function(e,t){if(e.isEdge()&&e.takesUpSpace()){var n=e.cy();return tr(t(e),n.zoom(),n.pan())}},id=function(e,t){if(e.isEdge()&&e.takesUpSpace()){var n=e.cy(),r=n.pan(),i=n.zoom();return t(e).map(function(e){return tr(e,i,r)})}},ih={controlPoints:{get:function(e){return e.renderer().getControlPoints(e)},mult:!0},segmentPoints:{get:function(e){return e.renderer().getSegmentPoints(e)},mult:!0},sourceEndpoint:{get:function(e){return e.renderer().getSourceEndpoint(e)}},targetEndpoint:{get:function(e){return e.renderer().getTargetEndpoint(e)}},midpoint:{get:function(e){return e.renderer().getEdgeMidpoint(e)}}},ip=ee({},lp,lv,lm,Object.keys(ih).reduce(function(e,t){var n=ih[t],r="rendered"+t[0].toUpperCase()+t.substr(1);return e[t]=function(){return iu(this,n.get)},n.mult?e[r]=function(){return id(this,n.get)}:e[r]=function(){return ic(this,n.get)},e},{})),ig=function(e,t){this.recycle(e,t)};function iv(){return!1}function iy(){return!0}ig.prototype={instanceString:function(){return"event"},recycle:function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=iv,null!=e&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?iy:iv):null!=e&&e.type?t=e:this.type=e,null!=t&&(this.originalEvent=t.originalEvent,this.type=null!=t.type?t.type:this.type,this.cy=t.cy,this.target=t.target,this.position=t.position,this.renderedPosition=t.renderedPosition,this.namespace=t.namespace,this.layout=t.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var n=this.position,r=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:n.x*r+i.x,y:n.y*r+i.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=iy;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=iy;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=iy,this.stopPropagation()},isDefaultPrevented:iv,isPropagationStopped:iv,isImmediatePropagationStopped:iv};var im=/^([^.]+)(\.(?:[^.]+))?$/,ib={qualifierCompare:function(e,t){return e===t},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},ix=Object.keys(ib),iw={};function iE(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:iw,t=arguments.length>1?arguments[1]:void 0,n=0;n<ix.length;n++){var r=ix[n];this[r]=e[r]||ib[r]}this.context=t||this.context,this.listeners=[],this.emitting=0}var ik=iE.prototype,iT=function(e,t,n,r,i,a,o){D(r)&&(i=r,r=null),o&&(a=null==a?o:ee({},a,o));for(var s=_(n)?n:n.split(/\s+/),l=0;l<s.length;l++){var u=s[l];if(!F(u)){var c=u.match(im);if(c&&!1===t(e,u,c[1],c[2]?c[2]:null,r,i,a))break}}},iC=function(e,t){return e.addEventFields(e.context,t),new ig(t.type,t)},iP=function(e,t,n){if("event"===S(n))return void t(e,n);if(A(n))return void t(e,iC(e,n));for(var r=_(n)?n:n.split(/\s+/),i=0;i<r.length;i++){var a=r[i];if(!F(a)){var o=a.match(im);if(o){var s=iC(e,{type:o[1],namespace:o[2]?o[2]:null,target:e.context});t(e,s)}}}};ik.on=ik.addListener=function(e,t,n,r,i){return iT(this,function(e,t,n,r,i,a,o){D(a)&&e.listeners.push({event:t,callback:a,type:n,namespace:r,qualifier:i,conf:o})},e,t,n,r,i),this},ik.one=function(e,t,n,r){return this.on(e,t,n,r,{one:!0})},ik.removeListener=ik.off=function(e,t,n,r){var i=this;0!==this.emitting&&(this.listeners=this.listeners.slice());for(var a=this.listeners,o=function(o){var s=a[o];iT(i,function(t,n,r,i,l,u){if((s.type===r||"*"===e)&&(!i&&".*"!==s.namespace||s.namespace===i)&&(!l||t.qualifierCompare(s.qualifier,l))&&(!u||s.callback===u))return a.splice(o,1),!1},e,t,n,r)},s=a.length-1;s>=0;s--)o(s);return this},ik.removeAllListeners=function(){return this.removeListener("*")},ik.emit=ik.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,_(t)||(t=[t]),iP(this,function(e,a){null!=n&&(i=(r=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}]).length);for(var o=0;o<i;o++)!function(){var n=r[o];if(n.type===a.type&&(!n.namespace||n.namespace===a.namespace||".*"===n.namespace)&&e.eventMatches(e.context,n,a)){var i=[a];null!=t&&eH(i,t),e.beforeEmit(e.context,n,a),n.conf&&n.conf.one&&(e.listeners=e.listeners.filter(function(e){return e!==n}));var s=e.callbackContext(e.context,n,a),l=n.callback.apply(s,i);e.afterEmit(e.context,n,a),!1===l&&(a.stopPropagation(),a.preventDefault())}}();e.bubble(e.context)&&!a.isPropagationStopped()&&e.parent(e.context).emit(a,t)},e),this.emitting--,this};var iS={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&N(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e.cy(),t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e},beforeEmit:function(e,t){t.conf&&t.conf.once&&t.conf.onceCollection.removeListener(t.event,t.qualifier,t.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},iB=function(e){return B(e)?new rO(e):e},iD={createEmitter:function(){for(var e=0;e<this.length;e++){var t=this[e],n=t._private;n.emitter||(n.emitter=new iE(iS,t))}return this},emitter:function(){return this._private.emitter},on:function(e,t,n){for(var r=iB(t),i=0;i<this.length;i++)this[i].emitter().on(e,r,n);return this},removeListener:function(e,t,n){for(var r=iB(t),i=0;i<this.length;i++)this[i].emitter().removeListener(e,r,n);return this},removeAllListeners:function(){for(var e=0;e<this.length;e++)this[e].emitter().removeAllListeners();return this},one:function(e,t,n){for(var r=iB(t),i=0;i<this.length;i++)this[i].emitter().one(e,r,n);return this},once:function(e,t,n){for(var r=iB(t),i=0;i<this.length;i++)this[i].emitter().on(e,r,n,{once:!0,onceCollection:this})},emit:function(e,t){for(var n=0;n<this.length;n++)this[n].emitter().emit(e,t);return this},emitAndNotify:function(e,t){if(0!==this.length)return this.cy().notify(e,this),this.emit(e,t),this}};rx.eventAliasesOn(iD);var i_={nodes:function(e){return this.filter(function(e){return e.isNode()}).filter(e)},edges:function(e){return this.filter(function(e){return e.isEdge()}).filter(e)},byGroup:function(){for(var e=this.spawn(),t=this.spawn(),n=0;n<this.length;n++){var r=this[n];r.isNode()?e.push(r):t.push(r)}return{nodes:e,edges:t}},filter:function(e,t){if(void 0===e)return this;if(B(e)||L(e))return new rO(e).filter(this);if(D(e)){for(var n=this.spawn(),r=0;r<this.length;r++){var i=this[r];(t?e.apply(t,[i,r,this]):e(i,r,this))&&n.push(i)}return n}return this.spawn()},not:function(e){if(!e)return this;B(e)&&(e=this.filter(e));for(var t=this.spawn(),n=0;n<this.length;n++){var r=this[n];e.has(r)||t.push(r)}return t},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(e){if(B(e))return this.filter(e);for(var t=this.spawn(),n=this.length<e.length,r=n?this:e,i=n?e:this,a=0;a<r.length;a++){var o=r[a];i.has(o)&&t.push(o)}return t},xor:function(e){var t=this._private.cy;B(e)&&(e=t.$(e));var n=this.spawn(),r=e,i=function(e,t){for(var r=0;r<e.length;r++){var i=e[r],a=i._private.data.id;t.hasElementWithId(a)||n.push(i)}};return i(this,r),i(r,this),n},diff:function(e){var t=this._private.cy;B(e)&&(e=t.$(e));var n=this.spawn(),r=this.spawn(),i=this.spawn(),a=e,o=function(e,t,n){for(var r=0;r<e.length;r++){var a=e[r],o=a._private.data.id;t.hasElementWithId(o)?i.merge(a):n.push(a)}};return o(this,a,n),o(a,this,r),{left:n,right:r,both:i}},add:function(e){var t=this._private.cy;if(!e)return this;if(B(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=this.spawnSelf(),i=0;i<e.length;i++){var a=e[i];this.has(a)||r.push(a)}return r},merge:function(e){var t=this._private,n=t.cy;if(!e)return this;if(e&&B(e)){var r=e;e=n.mutableElements().filter(r)}for(var i=t.map,a=0;a<e.length;a++){var o=e[a],s=o._private.data.id;if(!i.has(s)){var l=this.length++;this[l]=o,i.set(s,{ele:o,index:l})}}return this},unmergeAt:function(e){var t=this[e].id(),n=this._private.map;this[e]=void 0,n.delete(t);var r=e===this.length-1;if(this.length>1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&B(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r<e.length;r++)this.unmergeOne(e[r]);return this},unmergeBy:function(e){for(var t=this.length-1;t>=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var n=[],r=0;r<this.length;r++){var i=this[r],a=t?e.apply(t,[i,r,this]):e(i,r,this);n.push(a)}return n},reduce:function(e,t){for(var n=t,r=0;r<this.length;r++)n=e(n,this[r],r,this);return n},max:function(e,t){for(var n,r=-1/0,i=0;i<this.length;i++){var a=this[i],o=t?e.apply(t,[a,i,this]):e(a,i,this);o>r&&(r=o,n=a)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=0;i<this.length;i++){var a=this[i],o=t?e.apply(t,[a,i,this]):e(a,i,this);o<r&&(r=o,n=a)}return{value:r,ele:n}}};i_.u=i_["|"]=i_["+"]=i_.union=i_.or=i_.add,i_["\\"]=i_["!"]=i_["-"]=i_.difference=i_.relativeComplement=i_.subtract=i_.not,i_.n=i_["&"]=i_["."]=i_.and=i_.intersection=i_.intersect,i_["^"]=i_["(+)"]=i_["(-)"]=i_.symmetricDifference=i_.symdiff=i_.xor,i_.fnFilter=i_.filterFn=i_.stdFilter=i_.filter,i_.complement=i_.abscomp=i_.absoluteComplement;var iA=function(e,t){var n=e.cy().hasCompoundNodes();function r(e){var t=e.pstyle("z-compound-depth");return"auto"===t.value?n?e.zDepth():0:"bottom"===t.value?-1:"top"===t.value?eM:0}var i=r(e)-r(t);if(0!==i)return i;function a(e){return"auto"===e.pstyle("z-index-compare").value?+!!e.isNode():0}var o=a(e)-a(t);if(0!==o)return o;var s=e.pstyle("z-index").value-t.pstyle("z-index").value;return 0!==s?s:e.poolIndex()-t.poolIndex()},iM={forEach:function(e,t){if(D(e))for(var n=this.length,r=0;r<n;r++){var i=this[r];if(!1===(t?e.apply(t,[i,r,this]):e(i,r,this)))break}return this},toArray:function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t]);return e},slice:function(e,t){var n=[],r=this.length;null==t&&(t=r),null==e&&(e=0),e<0&&(e=r+e),t<0&&(t=r+t);for(var i=e;i>=0&&i<t&&i<r;i++)n.push(this[i]);return this.spawn(n)},size:function(){return this.length},eq:function(e){return this[e]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return 0===this.length},nonempty:function(){return!this.empty()},sort:function(e){if(!D(e))return this;var t=this.toArray().sort(e);return this.spawn(t)},sortByZIndex:function(){return this.sort(iA)},zDepth:function(){var e=this[0];if(e){var t=e._private;if("nodes"===t.group){var n=t.data.parent?e.parents().size():0;return e.isParent()?n:eM-1}var r=t.source,i=t.target;return Math.max(r.zDepth(),i.zDepth(),0)}}};iM.each=iM.forEach,("u"<typeof Symbol?"undefined":d(Symbol))!="undefined"&&"undefined"!=d(Symbol.iterator)&&(iM[Symbol.iterator]=function(){var e=this,t={value:void 0,done:!1},n=0,r=this.length;return s({next:function(){return n<r?t.value=e[n++]:(t.value=void 0,t.done=!0),t}},Symbol.iterator,function(){return this})});var iR=eq({nodeDimensionsIncludeLabels:!1}),iI={layoutDimensions:function(e){if(e=iR(e),this.takesUpSpace())if(e.nodeDimensionsIncludeLabels){var t,n=this.boundingBox();t={w:n.w,h:n.h}}else t={w:this.outerWidth(),h:this.outerHeight()};else t={w:0,h:0};return(0===t.w||0===t.h)&&(t.w=t.h=1),t},layoutPositions:function(e,t,n){var r=this.nodes().filter(function(e){return!e.isParent()}),i=this.cy(),a=t.eles,o=function(e){return e.id()},s=j(n,o);e.emit({type:"layoutstart",layout:e}),e.animations=[];var l=function(e,t,n){var r={x:t.x1+t.w/2,y:t.y1+t.h/2},i={x:(n.x-r.x)*e,y:(n.y-r.y)*e};return{x:r.x+i.x,y:r.y+i.y}},u=t.spacingFactor&&1!==t.spacingFactor,c=function(){if(!u)return null;for(var e=tE(),t=0;t<r.length;t++){var n=s(r[t],t);tC(e,n.x,n.y)}return e}(),d=j(function(e,n){var r=s(e,n);return u&&(r=l(Math.abs(t.spacingFactor),c,r)),null!=t.transform&&(r=t.transform(e,r)),r},o);if(t.animate){for(var h=0;h<r.length;h++){var f=r[h],p=d(f,h);if(null==t.animateFilter||t.animateFilter(f,h)){var g=f.animation({position:p,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(g)}else f.position(p)}if(t.fit){var v=i.animation({fit:{boundingBox:a.boundingBoxAt(d),padding:t.padding},duration:t.animationDuration,easing:t.animationEasing});e.animations.push(v)}else if(void 0!==t.zoom&&void 0!==t.pan){var y=i.animation({zoom:t.zoom,pan:t.pan,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(y)}e.animations.forEach(function(e){return e.play()}),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),rr.all(e.animations.map(function(e){return e.promise()})).then(function(){e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e})})}else r.positions(d),t.fit&&i.fit(t.eles,t.padding),null!=t.zoom&&i.zoom(t.zoom),t.pan&&i.pan(t.pan),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e});return this},layout:function(e){return this.cy().makeLayout(ee({},e,{eles:this}))}};function iL(e,t,n){var r,i=n._private,a=i.styleCache=i.styleCache||[];return null!=(r=a[e])?r:r=a[e]=t(n)}function iN(e,t){return e=eP(e),function(n){return iL(e,t,n)}}function iz(e,t){e=eP(e);var n=function(e){return t.call(e)};return function(){var t=this[0];if(t)return iL(e,n,t)}}iI.createLayout=iI.makeLayout=iI.layout;var iO={recalculateRenderedStyle:function(e){var t=this.cy(),n=t.renderer(),r=t.styleEnabled();return n&&r&&n.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e,t=this.cy(),n=function(e){return e._private.styleCache=null};return t.hasCompoundNodes()?((e=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(e.connectedEdges()),e.forEach(n)):this.forEach(function(e){n(e),e.connectedEdges().forEach(n)}),this},updateStyle:function(e){var t=this._private.cy;if(!t.styleEnabled())return this;if(t.batching())return t._private.batchStyleEles.merge(this),this;var n=t.hasCompoundNodes(),r=this;e=!!e||void 0===e,n&&(r=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var i=r;return e?i.emitAndNotify("style"):i.emit("style"),r.forEach(function(e){return e._private.styleDirty=!0}),this},cleanStyle:function(){var e=this.cy();if(e.styleEnabled())for(var t=0;t<this.length;t++){var n=this[t];n._private.styleDirty&&(n._private.styleDirty=!1,e.style().apply(n))}},parsedStyle:function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,r.style().apply(n));var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];if(n)return t.style().getRenderedStyle(n,e)},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(A(e))r.applyBypass(this,e,!1),this.emitAndNotify("style");else if(B(e))if(void 0===t){var i=this[0];return i?r.getStylePropertyValue(i,e):void 0}else r.applyBypass(this,e,t,!1),this.emitAndNotify("style");else if(void 0===e){var a=this[0];return a?r.getRawStyle(a):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style();if(void 0===e)for(var r=0;r<this.length;r++){var i=this[r];n.removeAllBypasses(i,!1)}else{e=e.split(/\s+/);for(var a=0;a<this.length;a++){var o=this[a];n.removeBypasses(o,e,!1)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var t=e.hasCompoundNodes(),n=this[0];if(n){var r=n._private,i=n.pstyle("opacity").value;if(!t)return i;var a=r.data.parent?n.parents():null;if(a)for(var o=0;o<a.length;o++)i*=a[o].pstyle("opacity").value;return i}},transparent:function(){if(!this.cy().styleEnabled())return!1;var e=this[0],t=e.cy().hasCompoundNodes();if(e)if(!t)return 0===e.pstyle("opacity").value;else return 0===e.effectiveOpacity()},backgrounding:function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding}};function iV(e,t){var n=e._private.data.parent?e.parents():null;if(n){for(var r=0;r<n.length;r++)if(!t(n[r]))return!1}return!0}function iF(e){var t=e.ok,n=e.edgeOkViaNode||e.ok,r=e.parentOk||e.ok;return function(){var e=this.cy();if(!e.styleEnabled())return!0;var i=this[0],a=e.hasCompoundNodes();if(i){var o=i._private;if(!t(i))return!1;if(i.isNode())return!a||iV(i,r);var s=o.source,l=o.target;return n(s)&&(!a||iV(s,n))&&(s===l||n(l)&&(!a||iV(l,n)))}}}var iX=iN("eleTakesUpSpace",function(e){return"element"===e.pstyle("display").value&&0!==e.width()&&(!e.isNode()||0!==e.height())});iO.takesUpSpace=iz("takesUpSpace",iF({ok:iX})),iO.interactive=iz("interactive",iF({ok:iN("eleInteractive",function(e){return"yes"===e.pstyle("events").value&&"visible"===e.pstyle("visibility").value&&iX(e)}),parentOk:iN("parentInteractive",function(e){return"visible"===e.pstyle("visibility").value&&iX(e)}),edgeOkViaNode:iX})),iO.noninteractive=function(){var e=this[0];if(e)return!e.interactive()},iO.visible=iz("visible",iF({ok:iN("eleVisible",function(e){return"visible"===e.pstyle("visibility").value&&0!==e.pstyle("opacity").pfValue&&iX(e)}),edgeOkViaNode:iX})),iO.hidden=function(){var e=this[0];if(e)return!e.visible()},iO.isBundledBezier=iz("isBundledBezier",function(){return!!this.cy().styleEnabled()&&!this.removed()&&"bezier"===this.pstyle("curve-style").value&&this.takesUpSpace()}),iO.bypass=iO.css=iO.style,iO.renderedCss=iO.renderedStyle,iO.removeBypass=iO.removeCss=iO.removeStyle,iO.pstyle=iO.parsedStyle;var ij={};function iY(e){return function(){var t=arguments,n=[];if(2===t.length){var r=t[0],i=t[1];this.on(e.event,r,i)}else if(1===t.length&&D(t[0])){var a=t[0];this.on(e.event,a)}else if(0===t.length||1===t.length&&_(t[0])){for(var o=1===t.length?t[0]:null,s=0;s<this.length;s++){var l=this[s],u=!e.ableField||l._private[e.ableField],c=l._private[e.field]!=e.value;if(e.overrideAble){var d=e.overrideAble(l);if(void 0!==d&&(u=d,!d))return this}u&&(l._private[e.field]=e.value,c&&n.push(l))}var h=this.spawn(n);h.updateStyle(),h.emit(e.event),o&&h.emit(o)}return this}}function iq(e){ij[e.field]=function(){var t=this[0];if(t){if(e.overrideField){var n=e.overrideField(t);if(void 0!==n)return n}return t._private[e.field]}},ij[e.on]=iY({event:e.on,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!0}),ij[e.off]=iY({event:e.off,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!1})}iq({field:"locked",overrideField:function(e){return!!e.cy().autolock()||void 0},on:"lock",off:"unlock"}),iq({field:"grabbable",overrideField:function(e){return!(e.cy().autoungrabify()||e.pannable())&&void 0},on:"grabify",off:"ungrabify"}),iq({field:"selected",ableField:"selectable",overrideAble:function(e){return!e.cy().autounselectify()&&void 0},on:"select",off:"unselect"}),iq({field:"selectable",overrideField:function(e){return!e.cy().autounselectify()&&void 0},on:"selectify",off:"unselectify"}),ij.deselect=ij.unselect,ij.grabbed=function(){var e=this[0];if(e)return e._private.grabbed},iq({field:"active",on:"activate",off:"unactivate"}),iq({field:"pannable",on:"panify",off:"unpanify"}),ij.inactive=function(){var e=this[0];if(e)return!e._private.active};var iW={},iU=function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode()){for(var a=!1,o=i.connectedEdges(),s=0;s<o.length;s++){var l=o[s],u=l.source(),c=l.target();if(e.noIncomingEdges&&c===i&&u!==i||e.noOutgoingEdges&&u===i&&c!==i){a=!0;break}}a||n.push(i)}}return this.spawn(n,!0).filter(t)}},iH=function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode())for(var a=i.connectedEdges(),o=0;o<a.length;o++){var s=a[o],l=s.source(),u=s.target();e.outgoing&&l===i?(n.push(s),n.push(u)):e.incoming&&u===i&&(n.push(s),n.push(l))}}return this.spawn(n,!0).filter(t)}},iK=function(e){return function(t){for(var n=this,r=[],i={};;){var a=e.outgoing?n.outgoers():n.incomers();if(0===a.length)break;for(var o=!1,s=0;s<a.length;s++){var l=a[s],u=l.id();i[u]||(i[u]=!0,r.push(l),o=!0)}if(!o)break;n=a}return this.spawn(r,!0).filter(t)}};function iG(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r]._private[e.attr];i&&n.push(i)}return this.spawn(n,!0).filter(t)}}function iZ(e){return function(t){var n=[],r=this._private.cy,i=e||{};B(t)&&(t=r.$(t));for(var a=0;a<t.length;a++)for(var o=t[a]._private.edges,s=0;s<o.length;s++){var l=o[s],u=l._private.data,c=this.hasElementWithId(u.source)&&t.hasElementWithId(u.target),d=t.hasElementWithId(u.source)&&this.hasElementWithId(u.target);if(c||d){if((i.thisIsSrc||i.thisIsTgt)&&(i.thisIsSrc&&!c||i.thisIsTgt&&!d))continue;n.push(l)}}return this.spawn(n,!0)}}function i$(e){return e=ee({},{codirected:!1},e),function(t){for(var n=[],r=this.edges(),i=e,a=0;a<r.length;a++)for(var o=r[a]._private,s=o.source,l=s._private.data.id,u=o.data.target,c=s._private.edges,d=0;d<c.length;d++){var h=c[d],f=h._private.data,p=f.target,g=f.source,v=p===u&&g===l,y=l===p&&u===g;(i.codirected&&v||!i.codirected&&(v||y))&&n.push(h)}return this.spawn(n,!0).filter(t)}}iW.clearTraversalCache=function(){for(var e=0;e<this.length;e++)this[e]._private.traversalCache=null},ee(iW,{roots:iU({noIncomingEdges:!0}),leaves:iU({noOutgoingEdges:!0}),outgoers:rX(iH({outgoing:!0}),"outgoers"),successors:iK({outgoing:!0}),incomers:rX(iH({incoming:!0}),"incomers"),predecessors:iK({})}),ee(iW,{neighborhood:rX(function(e){for(var t=[],n=this.nodes(),r=0;r<n.length;r++)for(var i=n[r],a=i.connectedEdges(),o=0;o<a.length;o++){var s=a[o],l=s.source(),u=s.target(),c=i===l?u:l;c.length>0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),iW.neighbourhood=iW.neighborhood,iW.closedNeighbourhood=iW.closedNeighborhood,iW.openNeighbourhood=iW.openNeighborhood,ee(iW,{source:rX(function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t},"source"),target:rX(function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t},"target"),sources:iG({attr:"source"}),targets:iG({attr:"target"})}),ee(iW,{edgesWith:rX(iZ(),"edgesWith"),edgesTo:rX(iZ({thisIsSrc:!0}),"edgesTo")}),ee(iW,{connectedEdges:rX(function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];if(r.isNode())for(var i=r._private.edges,a=0;a<i.length;a++){var o=i[a];t.push(o)}}return this.spawn(t,!0).filter(e)},"connectedEdges"),connectedNodes:rX(function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];r.isEdge()&&(t.push(r.source()[0]),t.push(r.target()[0]))}return this.spawn(t,!0).filter(e)},"connectedNodes"),parallelEdges:rX(i$(),"parallelEdges"),codirectedEdges:rX(i$({codirected:!0}),"codirectedEdges")}),ee(iW,{components:function(e){var t=this,n=t.cy(),r=n.collection(),i=null==e?t.nodes():e.nodes(),a=[];null!=e&&i.empty()&&(i=e.sources());var o=function(e,t){r.merge(e),i.unmerge(e),t.merge(e)};if(i.empty())return t.spawn();do!function(){var e=n.collection();a.push(e);var r=i[0];o(r,e),t.bfs({directed:!1,roots:r,visit:function(t){return o(t,e)}}),e.forEach(function(n){n.connectedEdges().forEach(function(n){t.has(n)&&e.has(n.source())&&e.has(n.target())&&e.merge(n)})})}();while(i.length>0)return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),iW.componentsOf=iW.components;var iQ=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0===e)return void ez("A collection must have a reference to the core");var i=new e$,a=!1;if(t){if(t.length>0&&A(t[0])&&!N(t[0])){a=!0;for(var o=[],s=new eJ,l=0,u=t.length;l<u;l++){var c=t[l];null==c.data&&(c.data={});var d=c.data;if(null==d.id)d.id=eX();else if(e.hasElementWithId(d.id)||s.has(d.id))continue;var h=new e0(e,c,!1);o.push(h),s.add(d.id)}t=o}}else t=[];this.length=0;for(var f=0,p=t.length;f<p;f++){var g=t[f][0];if(null!=g){var v=g._private.data.id;(!n||!i.has(v))&&(n&&i.set(v,{index:this.length,ele:g}),this[this.length]=g,this.length++)}}this._private={eles:this,cy:e,get map(){return null==this.lazyMap&&this.rebuildMap(),this.lazyMap},set map(m){this.lazyMap=m},rebuildMap:function(){for(var e=this.lazyMap=new e$,t=this.eles,n=0;n<t.length;n++){var r=t[n];e.set(r.id(),{index:n,ele:r})}}},n&&(this._private.map=i),a&&!r&&this.restore()},iJ=e0.prototype=iQ.prototype=Object.create(Array.prototype);iJ.instanceString=function(){return"collection"},iJ.spawn=function(e,t){return new iQ(this.cy(),e,t)},iJ.spawnSelf=function(){return this.spawn(this)},iJ.cy=function(){return this._private.cy},iJ.renderer=function(){return this._private.cy.renderer()},iJ.element=function(){return this[0]},iJ.collection=function(){return z(this)?this:new iQ(this._private.cy,[this])},iJ.unique=function(){return new iQ(this._private.cy,this,!0)},iJ.hasElementWithId=function(e){return e=""+e,this._private.map.has(e)},iJ.getElementById=function(e){e=""+e;var t=this._private.cy,n=this._private.map.get(e);return n?n.ele:new iQ(t)},iJ.$id=iJ.getElementById,iJ.poolIndex=function(){var e=this._private.cy._private.elements,t=this[0]._private.data.id;return e._private.map.get(t).index},iJ.indexOf=function(e){var t=e[0]._private.data.id;return this._private.map.get(t).index},iJ.indexOfId=function(e){return e=""+e,this._private.map.get(e).index},iJ.json=function(e){var t=this.element(),n=this.cy();if(null==t&&e)return this;if(null!=t){var r=t._private;if(A(e)){if(n.startBatch(),e.data){t.data(e.data);var i=r.data;if(t.isEdge()){var a=!1,o={},s=e.data.source,l=e.data.target;null!=s&&s!=i.source&&(o.source=""+s,a=!0),null!=l&&l!=i.target&&(o.target=""+l,a=!0),a&&(t=t.move(o))}else{var u="parent"in e.data,c=e.data.parent;u&&(null!=c||null!=i.parent)&&c!=i.parent&&(void 0===c&&(c=null),null!=c&&(c=""+c),t=t.move({parent:c}))}}e.position&&t.position(e.position);var d=function(n,i,a){var o=e[n];null!=o&&o!==r[n]&&(o?t[i]():t[a]())};return d("removed","remove","restore"),d("selected","select","unselect"),d("selectable","selectify","unselectify"),d("locked","lock","unlock"),d("grabbable","grabify","ungrabify"),d("pannable","panify","unpanify"),null!=e.classes&&t.classes(e.classes),n.endBatch(),this}if(void 0===e){var h={data:eF(r.data),position:eF(r.position),group:r.group,removed:r.removed,selected:r.selected,selectable:r.selectable,locked:r.locked,grabbable:r.grabbable,pannable:r.pannable,classes:null};h.classes="";var f=0;return r.classes.forEach(function(e){return h.classes+=0==f++?e:" "+e}),h}}},iJ.jsons=function(){for(var e=[],t=0;t<this.length;t++){var n=this[t].json();e.push(n)}return e},iJ.clone=function(){for(var e=this.cy(),t=[],n=0;n<this.length;n++){var r=new e0(e,this[n].json(),!1);t.push(r)}return new iQ(e,t)},iJ.copy=iJ.clone,iJ.restore=function(){for(var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=this.cy(),r=n._private,i=[],a=[],o=0,s=this.length;o<s;o++){var l=this[o];(!t||l.removed())&&(l.isNode()?i.push(l):a.push(l))}R=i.concat(a);var u=function(){R.splice(I,1),I--};for(I=0;I<R.length;I++){var c=R[I],d=c._private,h=d.data;if(c.clearTraversalCache(),t||d.removed){if(void 0===h.id)h.id=eX();else if(M(h.id))h.id=""+h.id;else if(F(h.id)||!B(h.id)){ez("Can not create element with invalid string ID `"+h.id+"`"),u();continue}else if(n.hasElementWithId(h.id)){ez("Can not create second element with ID `"+h.id+"`"),u();continue}}var f=h.id;if(c.isNode()){var p=d.position;null==p.x&&(p.x=0),null==p.y&&(p.y=0)}if(c.isEdge()){for(var g=["source","target"],v=g.length,y=!1,b=0;b<v;b++){var x=g[b],w=h[x];M(w)&&(w=h[x]=""+h[x]),null==w||""===w?(ez("Can not create edge `"+f+"` with unspecified "+x),y=!0):n.hasElementWithId(w)||(ez("Can not create edge `"+f+"` with nonexistent "+x+" `"+w+"`"),y=!0)}if(y){u();continue}var E=n.getElementById(h.source),k=n.getElementById(h.target);E.same(k)?E._private.edges.push(c):(E._private.edges.push(c),k._private.edges.push(c)),c._private.source=E,c._private.target=k}d.map=new e$,d.map.set(f,{ele:c,index:0}),d.removed=!1,t&&n.addToPool(c)}for(var T=0;T<i.length;T++){var C=i[T],P=C._private.data;M(P.parent)&&(P.parent=""+P.parent);var S=P.parent;if(null!=S||C._private.parent){var D=C._private.parent?n.collection().merge(C._private.parent):n.getElementById(S);if(D.empty())P.parent=void 0;else if(D[0].removed())eV("Node added with missing parent, reference to parent removed"),P.parent=void 0,C._private.parent=null;else{for(var _=!1,A=D;!A.empty();){if(C.same(A)){_=!0,P.parent=void 0;break}A=A.parent()}_||(D[0]._private.children.push(C),C._private.parent=D[0],r.hasCompoundNodes=!0)}}}if(R.length>0){for(var R,I,L,N=R.length===this.length?this:new iQ(n,R),z=0;z<N.length;z++){var O=N[z];O.isNode()||(O.parallelEdges().clearTraversalCache(),O.source().clearTraversalCache(),O.target().clearTraversalCache())}(r.hasCompoundNodes?n.collection().merge(N).merge(N.connectedNodes()).merge(N.parent()):N).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(e),e?N.emitAndNotify("add"):t&&N.emit("add")}return this},iJ.removed=function(){var e=this[0];return e&&e._private.removed},iJ.inside=function(){var e=this[0];return e&&!e._private.removed},iJ.remove=function(){for(var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=[],r={},i=this._private.cy,a=0,o=this.length;a<o;a++)!function e(i){var a=r[i.id()];if(!(t&&i.removed())&&!a)if(r[i.id()]=!0,i.isNode()){n.push(i);for(var o=i._private.edges,s=0;s<o.length;s++)e(o[s]);for(var l=i._private.children,u=0;u<l.length;u++)e(l[u])}else n.unshift(i)}(this[a]);function s(e,t){eW(e._private.edges,t),e.clearTraversalCache()}var l=[];l.ids={},this.dirtyCompoundBoundsCache(),t&&i.removeFromPool(n);for(var u=0;u<n.length;u++){var c=n[u];if(c.isEdge()){var d=c.source()[0],h=c.target()[0];s(d,c),s(h,c);for(var f=c.parallelEdges(),p=0;p<f.length;p++){var g=f[p];g.clearTraversalCache(),g.isBundledBezier()&&g.dirtyBoundingBoxCache()}}else{var v=c.parent();0!==v.length&&function(e,t){t=t[0];var n=(e=e[0])._private.children,r=e.id();eW(n,t),t._private.parent=null,l.ids[r]||(l.ids[r]=!0,l.push(e))}(v,c)}t&&(c._private.removed=!0)}var y=i._private.elements;i._private.hasCompoundNodes=!1;for(var b=0;b<y.length;b++)if(y[b].isParent()){i._private.hasCompoundNodes=!0;break}var x=new iQ(this.cy(),n);x.size()>0&&(e?x.emitAndNotify("remove"):t&&x.emit("remove"));for(var w=0;w<l.length;w++){var E=l[w];t&&E.removed()||E.updateStyle()}return x},iJ.move=function(e){var t=this._private.cy,n=this,r=function(e){return null==e?e:""+e};if(void 0!==e.source||void 0!==e.target){var i=r(e.source),a=r(e.target),o=null!=i&&t.hasElementWithId(i),s=null!=a&&t.hasElementWithId(a);(o||s)&&(t.batch(function(){n.remove(!1,!1),n.emitAndNotify("moveout");for(var e=0;e<n.length;e++){var t=n[e],r=t._private.data;t.isEdge()&&(o&&(r.source=i),s&&(r.target=a))}n.restore(!1,!1)}),n.emitAndNotify("move"))}else if(void 0!==e.parent){var l=r(e.parent);if(null===l||t.hasElementWithId(l)){var u=null===l?void 0:l;t.batch(function(){var e=n.remove(!1,!1);e.emitAndNotify("moveout");for(var t=0;t<n.length;t++){var r=n[t],i=r._private.data;r.isNode()&&(i.parent=u)}e.restore(!1,!1)}),n.emitAndNotify("move")}}return this},[n9,rw,rE,rF,rj,lh,rH,ip,iD,i_,{isNode:function(){return"nodes"===this.group()},isEdge:function(){return"edges"===this.group()},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var e=this[0];if(e)return e._private.group}},iM,iI,iO,ij,iW].forEach(function(e){ee(iJ,e)});var i0=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}return function n(r,i,a){var o,s,l,u,c,d,h,f,p,g,v,y={x:-1,v:0,tension:null,friction:null},b=[0],x=0;for(r=parseFloat(r)||500,i=parseFloat(i)||20,a=a||null,y.tension=r,y.friction=i,g=(p=null!==a)?(x=n(r,i))/a*.016:.016;o=v||y,s=g,l={dx:o.v,dv:e(o)},u=t(o,.5*s,l),c=t(o,.5*s,u),d=t(o,s,c),h=1/6*(l.dx+2*(u.dx+c.dx)+d.dx),f=1/6*(l.dv+2*(u.dv+c.dv)+d.dv),o.x=o.x+h*s,o.v=o.v+f*s,v=o,b.push(1+v.x),x+=16,Math.abs(v.x)>1e-4&&Math.abs(v.v)>1e-4;);return p?function(e){return b[e*(b.length-1)|0]}:x}}(),i1=function(e,t,n,r){var i=function(e,t,n,r){var i="u">typeof Float32Array;if(4!=arguments.length)return!1;for(var a=0;a<4;++a)if("number"!=typeof arguments[a]||isNaN(arguments[a])||!isFinite(arguments[a]))return!1;e=Math.min(e,1),n=Math.min(n,1),e=Math.max(e,0),n=Math.max(n,0);var o=i?new Float32Array(11):Array(11);function s(e,t,n){return(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e}function l(e,t,n){return 3*(1-3*n+3*t)*e*e+2*(3*n-6*t)*e+3*t}var u=!1,c=function(i){return(u||(u=!0,(e!==t||n!==r)&&function(){for(var t=0;t<11;++t)o[t]=s(.1*t,e,n)}()),e===t&&n===r)?i:0===i?0:1===i?1:s(function(t){for(var r=0,i=1;10!==i&&o[i]<=t;++i)r+=.1;var a=r+(t-o[--i])/(o[i+1]-o[i])*.1,u=l(a,e,n);if(u>=.001){for(var c=a,d=0;d<4;++d){var h=l(c,e,n);if(0===h)break;var f=s(c,e,n)-t;c-=f/h}return c}return 0===u?a:function(t,r,i){var a,o,l=0;do(a=s(o=r+(i-r)/2,e,n)-t)>0?i=o:r=o;while(Math.abs(a)>1e-7&&++l<10)return o}(t,r,r+.1)}(i),t,r)};c.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var d="generateBezier("+[e,t,n,r]+")";return c.toString=function(){return d},c}(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},i2={linear:function(e,t,n){return e+(t-e)*n},ease:i1(.25,.1,.25,1),"ease-in":i1(.42,0,1,1),"ease-out":i1(0,0,.58,1),"ease-in-out":i1(.42,0,.58,1),"ease-in-sine":i1(.47,0,.745,.715),"ease-out-sine":i1(.39,.575,.565,1),"ease-in-out-sine":i1(.445,.05,.55,.95),"ease-in-quad":i1(.55,.085,.68,.53),"ease-out-quad":i1(.25,.46,.45,.94),"ease-in-out-quad":i1(.455,.03,.515,.955),"ease-in-cubic":i1(.55,.055,.675,.19),"ease-out-cubic":i1(.215,.61,.355,1),"ease-in-out-cubic":i1(.645,.045,.355,1),"ease-in-quart":i1(.895,.03,.685,.22),"ease-out-quart":i1(.165,.84,.44,1),"ease-in-out-quart":i1(.77,0,.175,1),"ease-in-quint":i1(.755,.05,.855,.06),"ease-out-quint":i1(.23,1,.32,1),"ease-in-out-quint":i1(.86,0,.07,1),"ease-in-expo":i1(.95,.05,.795,.035),"ease-out-expo":i1(.19,1,.22,1),"ease-in-out-expo":i1(1,0,0,1),"ease-in-circ":i1(.6,.04,.98,.335),"ease-out-circ":i1(.075,.82,.165,1),"ease-in-out-circ":i1(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return i2.linear;var r=i0(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":i1};function i5(e,t,n,r,i){if(1===r||t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function i3(e,t){return null==e.pfValue&&null==e.value?e:null!=e.pfValue&&(null==t||"%"!==t.type.units)?e.pfValue:e.value}function i4(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=i3(e,i),s=i3(t,i);if(M(o)&&M(s))return i5(a,o,s,n,r);if(_(o)&&_(s)){for(var l=[],u=0;u<s.length;u++){var c=o[u],d=s[u];if(null!=c&&null!=d){var h=i5(a,c,d,n,r);l.push(h)}else l.push(d)}return l}}function i9(e,t){return null!=e&&null!=t&&(!!(M(e)&&M(t))||!!e&&!!t)}function i6(e,t){var n=t._private.aniEles,r=[];function i(t,n){var i=t._private,a=i.animation.current,o=i.animation.queue,s=!1;if(0===a.length){var l=o.shift();l&&a.push(l)}for(var u=function(e){for(var t=e.length-1;t>=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;if(h.stopped){a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.frames);continue}(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||function(e,t){var n=e._private;n.started=!0,n.startTime=t-n.progress*n.duration}(d,e),function(e,t,n,r){var i,a,o,s,l=!r,u=e._private,c=t._private,d=c.easing,h=c.startTime,f=(r?e:e.cy()).style();c.easingImpl||(null==d?c.easingImpl=i2.linear:(i=B(d)?f.parse("transition-timing-function",d).value:d,B(i)?(a=i,o=[]):(a=i[1],o=i.slice(2).map(function(e){return+e})),o.length>0?("spring"===a&&o.push(c.duration),c.easingImpl=i2[a].apply(null,o)):c.easingImpl=i2[a]));var p=c.easingImpl;if(s=0===c.duration?1:(n-h)/c.duration,c.applying&&(s=c.progress),s<0?s=0:s>1&&(s=1),null==c.delay){var g=c.startPosition,v=c.position;if(v&&l&&!e.locked()){var y={};i9(g.x,v.x)&&(y.x=i4(g.x,v.x,s,p)),i9(g.y,v.y)&&(y.y=i4(g.y,v.y,s,p)),e.position(y)}var b=c.startPan,x=c.pan,w=u.pan,E=null!=x&&r;E&&(i9(b.x,x.x)&&(w.x=i4(b.x,x.x,s,p)),i9(b.y,x.y)&&(w.y=i4(b.y,x.y,s,p)),e.emit("pan"));var k=c.startZoom,T=c.zoom,C=null!=T&&r;C&&(i9(k,T)&&(u.zoom=tw(u.minZoom,i4(k,T,s,p),u.maxZoom)),e.emit("zoom")),(E||C)&&e.emit("viewport");var P=c.style;if(P&&P.length>0&&l){for(var S=0;S<P.length;S++){var D=P[S],_=D.name,A=c.startStyle[_],M=f.properties[A.name],R=i4(A,D,s,p,M);f.overrideBypass(e,_,R)}e.emit("style")}}c.progress=s}(t,d,e,n),h.applying&&(h.applying=!1),u(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o<n.length;o++){var s=i(n[o]);a=a||s}var l=i(t,!0);(a||l)&&(n.length>0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var i8={animate:rx.animate(),animation:rx.animation(),animated:rx.animated(),clearQueue:rx.clearQueue(),delay:rx.delay(),delayAnimation:rx.delayAnimation(),stop:rx.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender(function(t,n){i6(n,e)},t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&eb(function(n){i6(n,e),t()})}()}}},i7={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&N(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},ae=function(e){return B(e)?new rO(e):e},at={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new iE(i7,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,ae(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,ae(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,ae(t),n),this},once:function(e,t,n){return this.emitter().one(e,ae(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};rx.eventAliasesOn(at);var an={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};an.jpeg=an.jpg;var ar={layout:function(e){if(null==e)return void ez("Layout options must be specified to make a layout");if(null==e.name)return void ez("A `name` must be specified to make a layout");var t,n=e.name,r=this.extension("layout",n);return null==r?void ez("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?"):(t=B(e.eles)?this.$(e.eles):null!=e.eles?e.eles:this.$(),new r(ee({},e,{cy:this,eles:t})))}};ar.createLayout=ar.makeLayout=ar.layout;var ai=eq({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1,webgl:!1,webglDebug:!1,webglDebugShowAtlases:!1,webglTexSize:2048,webglTexRows:36,webglTexRowsNodes:18,webglBatchSize:2048,webglTexPerBatch:14,webglBgColor:[255,255,255]}),aa={renderTo:function(e,t,n,r){return this._private.renderer.renderTo(e,t,n,r),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(e){var t=this.extension("renderer",e.name);if(null==t)return void ez("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));void 0!==e.wheelSensitivity&&eV("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var n=ai(e);n.cy=this,this._private.renderer=new t(n),this.notify("init")},destroyRenderer:function(){this.notify("destroy");var e=this.container();if(e)for(e._cyreg=null;e.childNodes.length>0;)e.removeChild(e.childNodes[0]);this._private.renderer=null,this.mutableElements().forEach(function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};aa.invalidateDimensions=aa.resize;var ao={collection:function(e,t){return B(e)?this.$(e):L(e)?e.collection():_(e)?(t||(t={}),new iQ(this,e,t.unique,t.removed)):new iQ(this)},nodes:function(e){var t=this.$(function(e){return e.isNode()});return e?t.filter(e):t},edges:function(e){var t=this.$(function(e){return e.isEdge()});return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ao.elements=ao.filter=ao.$;var as={};as.apply=function(e){for(var t=this._private.cy.collection(),n=0;n<e.length;n++){var r=e[n],i=this.getContextMeta(r);if(!i.empty){var a=this.getContextStyle(i),o=this.applyContextStyle(i,a,r);r._private.appliedInitStyle?this.updateTransitions(r,o.diffProps):r._private.appliedInitStyle=!0,this.updateStyleHints(r)&&t.push(r)}}return t},as.getPropertiesDiff=function(e,t){var n=this._private.propDiffs=this._private.propDiffs||{},r=e+"-"+t,i=n[r];if(i)return i;for(var a=[],o={},s=0;s<this.length;s++){var l=this[s],u="t"===e[s],c="t"===t[s],d=u!==c,h=l.mappedProperties.length>0;if(d||c&&h){var f=void 0;d&&h||d?f=l.properties:h&&(f=l.mappedProperties);for(var p=0;p<f.length;p++){for(var g=f[p],v=g.name,y=!1,b=s+1;b<this.length;b++){var x=this[b];if("t"===t[b]&&(y=null!=x.properties[g.name]))break}o[v]||y||(o[v]=!0,a.push(v))}}}return n[r]=a,a},as.getContextMeta=function(e){for(var t,n="",r=e._private.styleCxtKey||"",i=0;i<this.length;i++){var a=this[i];a.selector&&a.selector.matches(e)?n+="t":n+="f"}return t=this.getPropertiesDiff(r,n),e._private.styleCxtKey=n,{key:n,diffPropNames:t,empty:0===t.length}},as.getContextStyle=function(e){var t=e.key,n=this._private.contextStyles=this._private.contextStyles||{};if(n[t])return n[t];for(var r={_private:{key:t}},i=0;i<this.length;i++){var a=this[i];if("t"===t[i])for(var o=0;o<a.properties.length;o++){var s=a.properties[o];r[s.name]=s}}return n[t]=r,r},as.applyContextStyle=function(e,t,n){for(var r=e.diffPropNames,i={},a=this.types,o=0;o<r.length;o++){var s=r[o],l=t[s],u=n.pstyle(s);if(!l)if(!u)continue;else l=u.bypass?{name:s,deleteBypassed:!0}:{name:s,delete:!0};if(u!==l){if(l.mapped===a.fn&&null!=u&&null!=u.mapping&&u.mapping.value===l.value){var c=u.mapping;if((c.fnValue=l.value(n))===c.prevFnValue)continue}var d=i[s]={prev:u};this.applyParsedProperty(n,l),d.next=n.pstyle(s),d.next&&d.next.bypass&&(d.next=d.next.bypassed)}}return{diffProps:i}},as.updateStyleHints=function(e){var t=e._private,n=this,r=n.propertyGroupNames,i=n.propertyGroupKeys,a=function(e,t,r){return n.getPropertiesHash(e,t,r)},o=t.styleKey;if(e.removed())return!1;var s="nodes"===t.group,l=e._private.style;r=Object.keys(l);for(var u=0;u<i.length;u++){var c=i[u];t.styleKeys[c]=[9261,5381]}for(var d=function(e,n){return t.styleKeys[n][0]=ew(e,t.styleKeys[n][0])},h=function(e,n){return t.styleKeys[n][1]=eE(e,t.styleKeys[n][1])},f=function(e,t){for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);d(r,t),h(r,t)}},p=0;p<r.length;p++){var g=r[p],v=l[g];if(null!=v){var y,b,x=this.properties[g],w=x.type,E=x.groupKey,k=void 0;null!=x.hashOverride?k=x.hashOverride(e,v):null!=v.pfValue&&(k=v.pfValue);var T=null==x.enums?v.value:null,C=null!=k,P=null!=T,S=C||P,B=v.units;w.number&&S&&!w.multiple?(d(b=-128<(y=C?k:T)&&y<128&&Math.floor(y)!==y?2e9-(1024*y|0):y,E),h(b,E),C||null==B||f(B,E)):f(v.strValue,E)}}for(var D=[9261,5381],_=0;_<i.length;_++){var A=i[_],M=t.styleKeys[A];D[0]=ew(M[0],D[0]),D[1]=eE(M[1],D[1])}t.styleKey=2097152*D[0]+D[1];var R=t.styleKeys;t.labelDimsKey=ek(R.labelDimensions);var I=a(e,["label"],R.labelDimensions);if(t.labelKey=ek(I),t.labelStyleKey=ek(eT(R.commonLabel,I)),!s){var L=a(e,["source-label"],R.labelDimensions);t.sourceLabelKey=ek(L),t.sourceLabelStyleKey=ek(eT(R.commonLabel,L));var N=a(e,["target-label"],R.labelDimensions);t.targetLabelKey=ek(N),t.targetLabelStyleKey=ek(eT(R.commonLabel,N))}if(s){var z=t.styleKeys,O=z.nodeBody,V=z.nodeBorder,F=z.nodeOutline,X=z.backgroundImage,j=z.compound,Y=z.pie,q=z.stripe;t.nodeKey=ek([O,V,F,X,j,Y,q].filter(function(e){return null!=e}).reduce(eT,[9261,5381])),t.hasPie=null!=Y&&9261!==Y[0]&&5381!==Y[1],t.hasStripe=null!=q&&9261!==q[0]&&5381!==q[1]}return o!==t.styleKey},as.clearStyleHints=function(e){var t=e._private;t.styleCxtKey="",t.styleKeys={},t.styleKey=null,t.labelKey=null,t.labelStyleKey=null,t.sourceLabelKey=null,t.sourceLabelStyleKey=null,t.targetLabelKey=null,t.targetLabelStyleKey=null,t.nodeKey=null,t.hasPie=null,t.hasStripe=null},as.applyParsedProperty=function(e,t){var n=this,r=t,i=e._private.style,a=n.types,o=n.properties[r.name].type,s=r.bypass,l=i[r.name],u=l&&l.bypass,c=e._private,d="mapping",h=function(e){return null==e?null:null!=e.pfValue?e.pfValue:e.value},f=function(){var t=h(l),i=h(r);n.checkTriggers(e,r.name,t,i)};if("curve-style"===t.name&&e.isEdge()&&("bezier"!==t.value&&e.isLoop()||"haystack"===t.value&&(e.source().isParent()||e.target().isParent()))&&(r=t=this.parse(t.name,"bezier",s)),r.delete)return i[r.name]=void 0,f(),!0;if(r.deleteBypassed)if(!l)return f(),!0;else if(l.bypass)return l.bypassed=void 0,f(),!0;else return!1;if(r.deleteBypass)if(!l)return f(),!0;else if(l.bypass)return i[r.name]=l.bypassed,f(),!0;else return!1;var p=function(){eV("Do not assign mappings to elements without corresponding data (i.e. ele `"+e.id()+"` has no mapping for property `"+r.name+"` with data field `"+r.field+"`); try a `["+r.field+"]` selector to limit scope to elements with `"+r.field+"` defined")};switch(r.mapped){case a.mapData:for(var g,v,y=r.field.split("."),b=c.data,x=0;x<y.length&&b;x++)b=b[y[x]];if(null==b)return p(),!1;if(!M(b))return eV("Do not use continuous mappers without specifying numeric data (i.e. `"+r.field+": "+b+"` for `"+e.id()+"` is non-numeric)"),!1;var w=r.fieldMax-r.fieldMin;if((v=0===w?0:(b-r.fieldMin)/w)<0?v=0:v>1&&(v=1),o.color){var E=r.valueMin[0],k=r.valueMax[0],T=r.valueMin[1],C=r.valueMax[1],P=r.valueMin[2],S=r.valueMax[2],B=null==r.valueMin[3]?1:r.valueMin[3],D=[Math.round(E+(k-E)*v),Math.round(T+(C-T)*v),Math.round(P+(S-P)*v),Math.round(B+((null==r.valueMax[3]?1:r.valueMax[3])-B)*v)];g={bypass:r.bypass,name:r.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!o.number)return!1;var _=r.valueMin+(r.valueMax-r.valueMin)*v;g=this.parse(r.name,_,r.bypass,d)}if(!g)return p(),!1;g.mapping=r,r=g;break;case a.data:for(var A=r.field.split("."),R=c.data,I=0;I<A.length&&R;I++)R=R[A[I]];if(null!=R&&(g=this.parse(r.name,R,r.bypass,d)),!g)return p(),!1;g.mapping=r,r=g;break;case a.fn:var L=r.value,N=null!=r.fnValue?r.fnValue:L(e);if(r.prevFnValue=N,null==N)return eV("Custom function mappers may not return null (i.e. `"+r.name+"` for ele `"+e.id()+"` is null)"),!1;if(!(g=this.parse(r.name,N,r.bypass,d)))return eV("Custom function mappers may not return invalid values for the property type (i.e. `"+r.name+"` for ele `"+e.id()+"` is invalid)"),!1;g.mapping=eF(r),r=g;break;case void 0:break;default:return!1}return s?(u?r.bypassed=l.bypassed:r.bypassed=l,i[r.name]=r):u?l.bypassed=r:i[r.name]=r,f(),!0},as.cleanElements=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(this.clearStyleHints(r),r.dirtyCompoundBoundsCache(),r.dirtyBoundingBoxCache(),t)for(var i=r._private.style,a=Object.keys(i),o=0;o<a.length;o++){var s=a[o],l=i[s];null!=l&&(l.bypass?l.bypassed=null:i[s]=null)}else r._private.style={}}},as.update=function(){this._private.cy.mutableElements().updateStyle()},as.updateTransitions=function(e,t){var n=this,r=e._private,i=e.pstyle("transition-property").value,a=e.pstyle("transition-duration").pfValue,o=e.pstyle("transition-delay").pfValue;if(i.length>0&&a>0){for(var s={},l=!1,u=0;u<i.length;u++){var c=i[u],d=e.pstyle(c),h=t[c];if(h){var f=h.prev,p=null!=h.next?h.next:d,g=!1,v=void 0;f&&(M(f.pfValue)&&M(p.pfValue)?(g=p.pfValue-f.pfValue,v=f.pfValue+1e-6*g):M(f.value)&&M(p.value)?(g=p.value-f.value,v=f.value+1e-6*g):_(f.value)&&_(p.value)&&(g=f.value[0]!==p.value[0]||f.value[1]!==p.value[1]||f.value[2]!==p.value[2],v=f.strValue),g&&(s[c]=p.strValue,this.applyBypass(e,c,v),l=!0))}}if(!l)return;r.transitioning=!0,new rr(function(t){o>0?e.delayAnimation(o).play().promise().then(t):t()}).then(function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1})}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},as.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);!e.removed()&&null!=s&&s(n,r,e)&&a(o)},as.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,function(e){return e.triggersZOrder},function(){i._private.cy.notify("zorder",e)})},as.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBounds},function(t){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache()})},as.checkConnectedEdgesBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBoundsOfConnectedEdges},function(t){e.connectedEdges().forEach(function(e){e.dirtyBoundingBoxCache()})})},as.checkParallelEdgesBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(e){return e.triggersBoundsOfParallelEdges},function(t){e.parallelEdges().forEach(function(e){e.dirtyBoundingBoxCache()})})},as.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r),this.checkConnectedEdgesBoundsTrigger(e,t,n,r),this.checkParallelEdgesBoundsTrigger(e,t,n,r)};var al={};al.applyBypass=function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;a<this.properties.length;a++){var o=this.properties[a].name,s=this.parse(o,n,!0);s&&i.push(s)}}else if(B(t)){var l=this.parse(t,n,!0);l&&i.push(l)}else{if(!A(t))return!1;r=n;for(var u=Object.keys(t),c=0;c<u.length;c++){var d=u[c],h=t[d];if(void 0===h&&(h=t[q(d)]),void 0!==h){var f=this.parse(d,h,!0);f&&i.push(f)}}}if(0===i.length)return!1;for(var p=!1,g=0;g<e.length;g++){for(var v=e[g],y={},b=void 0,x=0;x<i.length;x++){var w=i[x];if(r){var E=v.pstyle(w.name);b=y[w.name]={prev:E}}p=this.applyParsedProperty(v,eF(w))||p,r&&(b.next=v.pstyle(w.name))}p&&this.updateStyleHints(v),r&&this.updateTransitions(v,y,!0)}return p},al.overrideBypass=function(e,t,n){t=Y(t);for(var r=0;r<e.length;r++){var i=e[r],a=i._private.style[t],o=this.properties[t].type,s=o.color,l=o.mutiple,u=a?null!=a.pfValue?a.pfValue:a.value:null;a&&a.bypass?(a.value=n,null!=a.pfValue&&(a.pfValue=n),s?a.strValue="rgb("+n.join(",")+")":l?a.strValue=n.join(" "):a.strValue=""+n,this.updateStyleHints(i)):this.applyBypass(i,t,n),this.checkTriggers(i,t,u,n)}},al.removeAllBypasses=function(e,t){return this.removeBypasses(e,this.propertyNames,t)},al.removeBypasses=function(e,t,n){for(var r=0;r<e.length;r++){for(var i=e[r],a={},o=0;o<t.length;o++){var s=t[o],l=this.properties[s],u=i.pstyle(l.name);if(u&&u.bypass){var c=this.parse(s,"",!0),d=a[l.name]={prev:u};this.applyParsedProperty(i,c),d.next=i.pstyle(l.name)}}this.updateStyleHints(i),n&&this.updateTransitions(i,a,!0)}};var au={};au.getEmSizeInPixels=function(){var e=this.containerCss("font-size");return null!=e?parseFloat(e):1},au.containerCss=function(e){var t=this._private.cy,n=t.container(),r=t.window();if(r&&n&&r.getComputedStyle)return r.getComputedStyle(n).getPropertyValue(e)};var ac={};ac.getRenderedStyle=function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)},ac.getRawStyle=function(e,t){if(e=e[0]){for(var n={},r=0;r<this.properties.length;r++){var i=this.properties[r],a=this.getStylePropertyValue(e,i.name,t);null!=a&&(n[i.name]=a,n[q(i.name)]=a)}return n}},ac.getIndexedStyle=function(e,t,n,r){var i=e.pstyle(t)[n][r];return null!=i?i:e.cy().style().getDefaultProperty(t)[n][0]},ac.getStylePropertyValue=function(e,t,n){if(e=e[0]){var r=this.properties[t];r.alias&&(r=r.pointsTo);var i=r.type,a=e.pstyle(r.name);if(a){var o=a.value,s=a.units,l=a.strValue;if(n&&i.number&&null!=o&&M(o)){var u=e.cy().zoom(),c=function(e){return e*u},d=function(e,t){return c(e)+t},h=_(o);if(h?s.every(function(e){return null!=e}):null!=s)if(h)return o.map(function(e,t){return d(e,s[t])}).join(" ");else return d(o,s);return h?o.map(function(e){return B(e)?e:""+c(e)}).join(" "):""+c(o)}if(null!=l)return l}return null}},ac.getAnimationStartStyle=function(e,t){for(var n={},r=0;r<t.length;r++){var i=t[r].name,a=e.pstyle(i);void 0!==a&&(a=A(a)?this.parse(i,a.strValue):this.parse(i,a)),a&&(n[i]=a)}return n},ac.getPropsList=function(e){var t=[],n=this.properties;if(e)for(var r=Object.keys(e),i=0;i<r.length;i++){var a=r[i],o=e[a],s=n[a]||n[Y(a)],l=this.parse(s.name,o);l&&t.push(l)}return t},ac.getNonDefaultPropertiesHash=function(e,t,n){var r,i,a,o,s,l,u=n.slice();for(s=0;s<t.length;s++)if(r=t[s],null!=(i=e.pstyle(r,!1)))if(null!=i.pfValue)u[0]=ew(o,u[0]),u[1]=eE(o,u[1]);else for(l=0,a=i.strValue;l<a.length;l++)o=a.charCodeAt(l),u[0]=ew(o,u[0]),u[1]=eE(o,u[1]);return u},ac.getPropertiesHash=ac.getNonDefaultPropertiesHash;var ad={};ad.appendFromJson=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n.selector,i=n.style||n.css,a=Object.keys(i);this.selector(r);for(var o=0;o<a.length;o++){var s=a[o],l=i[s];this.css(s,l)}}return this},ad.fromJson=function(e){return this.resetToDefault(),this.appendFromJson(e),this},ad.json=function(){for(var e=[],t=this.defaultLength;t<this.length;t++){for(var n=this[t],r=n.selector,i=n.properties,a={},o=0;o<i.length;o++){var s=i[o];a[s.name]=s.strValue}e.push({selector:r?r.toString():"core",style:a})}return e};var ah={};ah.appendFromString=function(e){var t,n,r,i=""+e;function a(){i=i.length>t.length?i.substr(t.length):""}function o(){n=n.length>r.length?n.substr(r.length):""}for(i=i.replace(/[/][*](\s|.)+?[*][/]/g,"");!i.match(/^\s*$/);){var s=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!s){eV("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}t=s[0];var l=s[1];if("core"!==l&&new rO(l).invalid){eV("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),a();continue}var u=s[2],c=!1;n=u;for(var d=[];!n.match(/^\s*$/);){var h=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!h){eV("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),c=!0;break}r=h[0];var f=h[1],p=h[2];if(!this.properties[f]){eV("Skipping property: Invalid property name in: "+r),o();continue}if(!this.parse(f,p)){eV("Skipping property: Invalid property definition in: "+r),o();continue}d.push({name:f,val:p}),o()}if(c){a();break}this.selector(l);for(var g=0;g<d.length;g++){var v=d[g];this.css(v.name,v.val)}a()}return this},ah.fromString=function(e){return this.resetToDefault(),this.appendFromString(e),this};var af={};!function(){var e=function(e){return"^"+e+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},t=function(e){var t=K+"|\\w+|"+Z+"|"+Q+"|\\#[0-9a-fA-F]{3}|\\#[0-9a-fA-F]{6}";return"^"+e+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+K+")\\s*\\,\\s*("+K+")\\s*,\\s*("+t+")\\s*\\,\\s*("+t+")\\)$"},n=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];af.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},axisDirectionExplicit:{enums:["leftward","rightward","upward","downward"]},axisDirectionPrimary:{enums:["horizontal","vertical"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},boxSelection:{enums:["contain","overlap","none"]},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle","circle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","top-inside","center","bottom","bottom-inside"]},halign:{enums:["left","left-inside","center","right","right-inside"]},justification:{enums:["left","center","right","auto"]},textMetrics:{enums:["font","glyph"]},text:{string:!0},data:{mapping:!0,regex:e("data")},layoutData:{mapping:!0,regex:e("layoutData")},scratch:{mapping:!0,regex:e("scratch")},mapData:{mapping:!0,regex:t("mapData")},mapLayoutData:{mapping:!0,regex:t("mapLayoutData")},mapScratch:{mapping:!0,regex:t("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:n,singleRegexMatchValue:!0},urls:{regexes:n,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(e,t){switch(e.length){case 2:return"deg"!==t[0]&&"rad"!==t[0]&&"deg"!==t[1]&&"rad"!==t[1];case 1:return B(e[0])||"deg"===t[0]||"rad"===t[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+K+")\\s*,\\s*("+K+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+K+")\\s*,\\s*("+K+")\\s*,\\s*("+K+")\\s*,\\s*("+K+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(e){var t=e.length;return 1===t||2===t||4===t}}};var r=function(e,t){return(null==e||null==t)&&e!==t||0==e&&0!=t||0!=e&&0==t},i=function(e,t){return e!=t},a=af.types,o=[{name:"label",type:a.text,triggersBounds:i,triggersZOrder:function(e,t){var n=F(e),r=F(t);return n&&!r||!n&&r}},{name:"text-rotation",type:a.textRotation,triggersBounds:i},{name:"text-margin-x",type:a.bidirectionalSize,triggersBounds:i},{name:"text-margin-y",type:a.bidirectionalSize,triggersBounds:i}],s=[{name:"source-label",type:a.text,triggersBounds:i},{name:"source-text-rotation",type:a.textRotation,triggersBounds:i},{name:"source-text-margin-x",type:a.bidirectionalSize,triggersBounds:i},{name:"source-text-margin-y",type:a.bidirectionalSize,triggersBounds:i},{name:"source-text-offset",type:a.size,triggersBounds:i}],l=[{name:"target-label",type:a.text,triggersBounds:i},{name:"target-text-rotation",type:a.textRotation,triggersBounds:i},{name:"target-text-margin-x",type:a.bidirectionalSize,triggersBounds:i},{name:"target-text-margin-y",type:a.bidirectionalSize,triggersBounds:i},{name:"target-text-offset",type:a.size,triggersBounds:i}],u=[{name:"font-family",type:a.fontFamily,triggersBounds:i},{name:"font-style",type:a.fontStyle,triggersBounds:i},{name:"font-weight",type:a.fontWeight,triggersBounds:i},{name:"font-size",type:a.size,triggersBounds:i},{name:"text-transform",type:a.textTransform,triggersBounds:i},{name:"text-wrap",type:a.textWrap,triggersBounds:i},{name:"text-overflow-wrap",type:a.textOverflowWrap,triggersBounds:i},{name:"text-max-width",type:a.size,triggersBounds:i},{name:"text-outline-width",type:a.size,triggersBounds:i},{name:"line-height",type:a.positiveNumber,triggersBounds:i}],c=[{name:"text-valign",type:a.valign,triggersBounds:i},{name:"text-halign",type:a.halign,triggersBounds:i},{name:"color",type:a.color},{name:"text-outline-color",type:a.color},{name:"text-outline-opacity",type:a.zeroOneNumber},{name:"text-background-color",type:a.color},{name:"text-background-opacity",type:a.zeroOneNumber},{name:"text-background-padding",type:a.size,triggersBounds:i},{name:"text-border-opacity",type:a.zeroOneNumber},{name:"text-border-color",type:a.color},{name:"text-border-width",type:a.size,triggersBounds:i},{name:"text-border-style",type:a.borderStyle,triggersBounds:i},{name:"text-background-shape",type:a.textBackgroundShape,triggersBounds:i},{name:"text-justification",type:a.justification},{name:"text-metrics",type:a.textMetrics},{name:"box-select-labels",type:a.bool,triggersBounds:i}],d=[{name:"events",type:a.bool,triggersZOrder:i},{name:"text-events",type:a.bool,triggersZOrder:i},{name:"box-selection",type:a.boxSelection,triggersZOrder:i}],h=[{name:"display",type:a.display,triggersZOrder:i,triggersBounds:i,triggersBoundsOfConnectedEdges:i,triggersBoundsOfParallelEdges:function(e,t,n){return e!==t&&"bezier"===n.pstyle("curve-style").value}},{name:"visibility",type:a.visibility,triggersZOrder:i},{name:"opacity",type:a.zeroOneNumber,triggersZOrder:r},{name:"text-opacity",type:a.zeroOneNumber},{name:"min-zoomed-font-size",type:a.size},{name:"z-compound-depth",type:a.zCompoundDepth,triggersZOrder:i},{name:"z-index-compare",type:a.zIndexCompare,triggersZOrder:i},{name:"z-index",type:a.number,triggersZOrder:i}],f=[{name:"overlay-padding",type:a.size,triggersBounds:i},{name:"overlay-color",type:a.color},{name:"overlay-opacity",type:a.zeroOneNumber,triggersBounds:r},{name:"overlay-shape",type:a.overlayShape,triggersBounds:i},{name:"overlay-corner-radius",type:a.cornerRadius}],p=[{name:"underlay-padding",type:a.size,triggersBounds:i},{name:"underlay-color",type:a.color},{name:"underlay-opacity",type:a.zeroOneNumber,triggersBounds:r},{name:"underlay-shape",type:a.overlayShape,triggersBounds:i},{name:"underlay-corner-radius",type:a.cornerRadius}],g=[{name:"transition-property",type:a.propList},{name:"transition-duration",type:a.time},{name:"transition-delay",type:a.time},{name:"transition-timing-function",type:a.easing}],v=function(e,t){return"label"===t.value?-e.poolIndex():t.pfValue},y=[{name:"height",type:a.nodeSize,triggersBounds:i,hashOverride:v},{name:"width",type:a.nodeSize,triggersBounds:i,hashOverride:v},{name:"shape",type:a.nodeShape,triggersBounds:i},{name:"shape-polygon-points",type:a.polygonPointList,triggersBounds:i},{name:"corner-radius",type:a.cornerRadius},{name:"background-color",type:a.color},{name:"background-fill",type:a.fill},{name:"background-opacity",type:a.zeroOneNumber},{name:"background-blacken",type:a.nOneOneNumber},{name:"background-gradient-stop-colors",type:a.colors},{name:"background-gradient-stop-positions",type:a.percentages},{name:"background-gradient-direction",type:a.gradientDirection},{name:"padding",type:a.sizeMaybePercent,triggersBounds:i},{name:"padding-relative-to",type:a.paddingRelativeTo,triggersBounds:i},{name:"bounds-expansion",type:a.boundsExpansion,triggersBounds:i}],b=[{name:"border-color",type:a.color},{name:"border-opacity",type:a.zeroOneNumber},{name:"border-width",type:a.size,triggersBounds:i},{name:"border-style",type:a.borderStyle},{name:"border-cap",type:a.lineCap},{name:"border-join",type:a.lineJoin},{name:"border-dash-pattern",type:a.numbers},{name:"border-dash-offset",type:a.number},{name:"border-position",type:a.linePosition}],x=[{name:"outline-color",type:a.color},{name:"outline-opacity",type:a.zeroOneNumber},{name:"outline-width",type:a.size,triggersBounds:i},{name:"outline-style",type:a.borderStyle},{name:"outline-offset",type:a.size,triggersBounds:i}],w=[{name:"background-image",type:a.urls},{name:"background-image-crossorigin",type:a.bgCrossOrigin},{name:"background-image-opacity",type:a.zeroOneNumbers},{name:"background-image-containment",type:a.bgContainment},{name:"background-image-smoothing",type:a.bools},{name:"background-position-x",type:a.bgPos},{name:"background-position-y",type:a.bgPos},{name:"background-width-relative-to",type:a.bgRelativeTo},{name:"background-height-relative-to",type:a.bgRelativeTo},{name:"background-repeat",type:a.bgRepeat},{name:"background-fit",type:a.bgFit},{name:"background-clip",type:a.bgClip},{name:"background-width",type:a.bgWH},{name:"background-height",type:a.bgWH},{name:"background-offset-x",type:a.bgPos},{name:"background-offset-y",type:a.bgPos}],E=[{name:"position",type:a.position,triggersBounds:i},{name:"compound-sizing-wrt-labels",type:a.compoundIncludeLabels,triggersBounds:i},{name:"min-width",type:a.size,triggersBounds:i},{name:"min-width-bias-left",type:a.sizeMaybePercent,triggersBounds:i},{name:"min-width-bias-right",type:a.sizeMaybePercent,triggersBounds:i},{name:"min-height",type:a.size,triggersBounds:i},{name:"min-height-bias-top",type:a.sizeMaybePercent,triggersBounds:i},{name:"min-height-bias-bottom",type:a.sizeMaybePercent,triggersBounds:i}],k=[{name:"line-style",type:a.lineStyle},{name:"line-color",type:a.color},{name:"line-fill",type:a.fill},{name:"line-cap",type:a.lineCap},{name:"line-opacity",type:a.zeroOneNumber},{name:"line-dash-pattern",type:a.numbers},{name:"line-dash-offset",type:a.number},{name:"line-outline-width",type:a.size},{name:"line-outline-color",type:a.color},{name:"line-gradient-stop-colors",type:a.colors},{name:"line-gradient-stop-positions",type:a.percentages},{name:"curve-style",type:a.curveStyle,triggersBounds:i,triggersBoundsOfParallelEdges:function(e,t){return e!==t&&("bezier"===e||"bezier"===t)}},{name:"haystack-radius",type:a.zeroOneNumber,triggersBounds:i},{name:"source-endpoint",type:a.edgeEndpoint,triggersBounds:i},{name:"target-endpoint",type:a.edgeEndpoint,triggersBounds:i},{name:"control-point-step-size",type:a.size,triggersBounds:i},{name:"control-point-distances",type:a.bidirectionalSizes,triggersBounds:i},{name:"control-point-weights",type:a.numbers,triggersBounds:i},{name:"segment-distances",type:a.bidirectionalSizes,triggersBounds:i},{name:"segment-weights",type:a.numbers,triggersBounds:i},{name:"segment-radii",type:a.numbers,triggersBounds:i},{name:"radius-type",type:a.radiusType,triggersBounds:i},{name:"taxi-turn",type:a.bidirectionalSizeMaybePercent,triggersBounds:i},{name:"taxi-turn-min-distance",type:a.size,triggersBounds:i},{name:"taxi-direction",type:a.axisDirection,triggersBounds:i},{name:"taxi-radius",type:a.number,triggersBounds:i},{name:"edge-distances",type:a.edgeDistances,triggersBounds:i},{name:"arrow-scale",type:a.positiveNumber,triggersBounds:i},{name:"loop-direction",type:a.angle,triggersBounds:i},{name:"loop-sweep",type:a.angle,triggersBounds:i},{name:"source-distance-from-node",type:a.size,triggersBounds:i},{name:"target-distance-from-node",type:a.size,triggersBounds:i}],T=[{name:"ghost",type:a.bool,triggersBounds:i},{name:"ghost-offset-x",type:a.bidirectionalSize,triggersBounds:i},{name:"ghost-offset-y",type:a.bidirectionalSize,triggersBounds:i},{name:"ghost-opacity",type:a.zeroOneNumber}],C=[{name:"selection-box-color",type:a.color},{name:"selection-box-opacity",type:a.zeroOneNumber},{name:"selection-box-border-color",type:a.color},{name:"selection-box-border-width",type:a.size},{name:"active-bg-color",type:a.color},{name:"active-bg-opacity",type:a.zeroOneNumber},{name:"active-bg-size",type:a.size},{name:"outside-texture-bg-color",type:a.color},{name:"outside-texture-bg-opacity",type:a.zeroOneNumber}],P=[];af.pieBackgroundN=16,P.push({name:"pie-size",type:a.sizeMaybePercent}),P.push({name:"pie-hole",type:a.sizeMaybePercent}),P.push({name:"pie-start-angle",type:a.angle});for(var S=1;S<=af.pieBackgroundN;S++)P.push({name:"pie-"+S+"-background-color",type:a.color}),P.push({name:"pie-"+S+"-background-size",type:a.percent}),P.push({name:"pie-"+S+"-background-opacity",type:a.zeroOneNumber});var D=[];af.stripeBackgroundN=16,D.push({name:"stripe-size",type:a.sizeMaybePercent}),D.push({name:"stripe-direction",type:a.axisDirectionPrimary});for(var _=1;_<=af.stripeBackgroundN;_++)D.push({name:"stripe-"+_+"-background-color",type:a.color}),D.push({name:"stripe-"+_+"-background-size",type:a.percent}),D.push({name:"stripe-"+_+"-background-opacity",type:a.zeroOneNumber});var A=[],M=af.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:a.arrowShape,triggersBounds:i},{name:"arrow-color",type:a.color},{name:"arrow-fill",type:a.arrowFill},{name:"arrow-width",type:a.arrowWidth}].forEach(function(e){M.forEach(function(t){var n=t+"-"+e.name,r=e.type,i=e.triggersBounds;A.push({name:n,type:r,triggersBounds:i})})},{});var R=af.properties=[].concat(d,g,h,f,p,T,c,u,o,s,l,y,b,x,w,P,D,E,k,A,C),I=af.propertyGroups={behavior:d,transition:g,visibility:h,overlay:f,underlay:p,ghost:T,commonLabel:c,labelDimensions:u,mainLabel:o,sourceLabel:s,targetLabel:l,nodeBody:y,nodeBorder:b,nodeOutline:x,backgroundImage:w,pie:P,stripe:D,compound:E,edgeLine:k,edgeArrow:A,core:C},L=af.propertyGroupNames={};(af.propertyGroupKeys=Object.keys(I)).forEach(function(e){L[e]=I[e].map(function(e){return e.name}),I[e].forEach(function(t){return t.groupKey=e})});var N=af.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];af.propertyNames=R.map(function(e){return e.name});for(var z=0;z<R.length;z++){var O=R[z];R[O.name]=O}for(var V=0;V<N.length;V++){var X=N[V],j=R[X.pointsTo],Y={name:X.name,alias:!0,pointsTo:j};R.push(Y),R[X.name]=Y}}(),af.getDefaultProperty=function(e){return this.getDefaultProperties()[e]},af.getDefaultProperties=function(){var e=this._private;if(null!=e.defaultProperties)return e.defaultProperties;for(var t=ee({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","box-selection":"contain","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","text-metrics":"font","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","box-select-labels":"no","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%","pie-hole":0,"pie-start-angle":"0deg"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(e,t){for(var n=1;n<=af.pieBackgroundN;n++){var r=t.name.replace("{{i}}",n),i=t.value;e[r]=i}return e},{}),{"stripe-size":"100%","stripe-direction":"horizontal"},[{name:"stripe-{{i}}-background-color",value:"black"},{name:"stripe-{{i}}-background-size",value:"0%"},{name:"stripe-{{i}}-background-opacity",value:1}].reduce(function(e,t){for(var n=1;n<=af.stripeBackgroundN;n++){var r=t.name.replace("{{i}}",n),i=t.value;e[r]=i}return e},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(e,t){return af.arrowPrefixes.forEach(function(n){var r=n+"-"+t.name,i=t.value;e[r]=i}),e},{})),n={},r=0;r<this.properties.length;r++){var i=this.properties[r];if(!i.pointsTo){var a=i.name,o=t[a],s=this.parse(a,o);n[a]=s}}return e.defaultProperties=n,e.defaultProperties},af.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var ap={};ap.parse=function(e,t,n,r){if(D(t))return this.parseImplWarn(e,t,n,r);var i,a=eS(e,""+t,n?"t":"f","mapping"===r||!0===r||!1===r||null==r?"dontcare":r),o=this.propCache=this.propCache||[];return(i=o[a])||(i=o[a]=this.parseImplWarn(e,t,n,r)),(n||"mapping"===r)&&(i=eF(i))&&(i.value=eF(i.value)),i},ap.parseImplWarn=function(e,t,n,r){var i=this.parseImpl(e,t,n,r);return i||null==t||eV("The style property `".concat(e,": ").concat(t,"` is invalid")),i&&("width"===i.name||"height"===i.name)&&"label"===t&&eV("The style value of `label` is deprecated for `"+i.name+"`"),i},ap.parseImpl=function(e,t,n,r){e=Y(e);var i=this.properties[e],a=t,o=this.types;if(!i||void 0===t)return null;i.alias&&(e=(i=i.pointsTo).name);var s=B(t);s&&(t=t.trim());var l=i.type;if(!l)return null;if(n&&(""===t||null===t))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(D(t))return{name:e,value:t,strValue:"fn",mapped:o.fn,bypass:n};if(!s||r||t.length<7||"a"!==t[1]);else if(t.length>=7&&"d"===t[0]&&(g=new RegExp(o.data.regex).exec(t))){if(n)return!1;var u=o.data;return{name:e,value:g,strValue:""+t,mapped:u,field:g[1],bypass:n}}else if(t.length>=10&&"m"===t[0]&&(v=new RegExp(o.mapData.regex).exec(t))){if(n||l.multiple)return!1;var c=o.mapData;if(!(l.color||l.number))return!1;var d=this.parse(e,v[4]);if(!d||d.mapped)return!1;var h=this.parse(e,v[5]);if(!h||h.mapped)return!1;if(d.pfValue===h.pfValue||d.strValue===h.strValue)return eV("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+d.strValue+"`"),this.parse(e,d.strValue);if(l.color){var f=d.value,p=h.value;if(f[0]===p[0]&&f[1]===p[1]&&f[2]===p[2]&&(f[3]===p[3]||(null==f[3]||1===f[3])&&(null==p[3]||1===p[3])))return!1}return{name:e,value:v,strValue:""+t,mapped:c,field:v[1],fieldMin:parseFloat(v[2]),fieldMax:parseFloat(v[3]),valueMin:d.value,valueMax:h.value,bypass:n}}if(l.multiple&&"multiple"!==r){if(y=s?t.split(/\s+/):_(t)?t:[t],l.evenMultiple&&y.length%2!=0)return null;for(var g,v,y,b=[],x=[],w=[],E="",k=!1,T=0;T<y.length;T++){var C=this.parse(e,y[T],n,"multiple");k=k||B(C.value),b.push(C.value),w.push(null!=C.pfValue?C.pfValue:C.value),x.push(C.units),E+=(T>0?" ":"")+C.strValue}if(l.validate&&!l.validate(b,x))return null;if(l.singleEnum&&k)if(1===b.length&&B(b[0]))return{name:e,value:b[0],strValue:b[0],bypass:n};else return null;return{name:e,value:b,pfValue:w,strValue:E,bypass:n,units:x}}var P=function(){for(var r=0;r<l.enums.length;r++)if(l.enums[r]===t)return{name:e,value:t,strValue:""+t,bypass:n};return null};if(l.number){var S,A="px";if(l.units&&(S=l.units),l.implicitUnits&&(A=l.implicitUnits),!l.unitless)if(s){var M="px|em"+(l.allowPercent?"|\\%":"");S&&(M=S);var I=t.match("^("+K+")("+M+")?$");I&&(t=I[1],S=I[2]||A)}else(!S||l.implicitUnits)&&(S=A);if(isNaN(t=parseFloat(t))&&void 0===l.enums)return null;if(isNaN(t)&&void 0!==l.enums)return t=a,P();if(l.integer&&!R(t)||void 0!==l.min&&(t<l.min||l.strictMin&&t===l.min)||void 0!==l.max&&(t>l.max||l.strictMax&&t===l.max))return null;var L={name:e,value:t,strValue:""+t+(S||""),units:S,bypass:n};return l.unitless||"px"!==S&&"em"!==S?L.pfValue=t:L.pfValue="px"!==S&&S?this.getEmSizeInPixels()*t:t,("ms"===S||"s"===S)&&(L.pfValue="ms"===S?t:1e3*t),("deg"===S||"rad"===S)&&(L.pfValue="rad"===S?t:Math.PI*t/180),"%"===S&&(L.pfValue=t/100),L}if(l.propList){var N=[],z=""+t;if("none"===z);else{for(var O=z.split(/\s*,\s*|\s+/),V=0;V<O.length;V++){var F=O[V].trim();this.properties[F]?N.push(F):eV("`"+F+"` is not a valid property name")}if(0===N.length)return null}return{name:e,value:N,strValue:0===N.length?"none":N.join(" "),bypass:n}}if(l.color){var X=ei(t);return X?{name:e,value:X,pfValue:X,strValue:"rgb("+X[0]+","+X[1]+","+X[2]+")",bypass:n}:null}if(l.regex||l.regexes){if(l.enums){var j=P();if(j)return j}for(var q=l.regexes?l.regexes:[l.regex],W=0;W<q.length;W++){var U=new RegExp(q[W]).exec(t);if(U)return{name:e,value:l.singleRegexMatchValue?U[1]:U,strValue:""+t,bypass:n}}return null}if(l.string)return{name:e,value:""+t,strValue:""+t,bypass:n};else if(l.enums)return P();else return null};var ag=function(e){return this instanceof ag?O(e)?void(this._private={cy:e,coreStyle:{}},this.length=0,this.resetToDefault()):void ez("A style must have a core reference"):new ag(e)},av=ag.prototype;av.instanceString=function(){return"style"},av.clear=function(){for(var e=this._private,t=e.cy.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,e.contextStyles={},e.propDiffs={},this.cleanElements(t,!0),t.forEach(function(e){var t=e[0]._private;t.styleDirty=!0,t.appliedInitStyle=!1}),this},av.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},av.core=function(e){return this._private.coreStyle[e]||this.getDefaultProperty(e)},av.selector=function(e){var t="core"===e?null:new rO(e),n=this.length++;return this[n]={selector:t,properties:[],mappedProperties:[],index:n},this},av.css=function(){var e=arguments;if(1===e.length)for(var t=e[0],n=0;n<this.properties.length;n++){var r=this.properties[n],i=t[r.name];void 0===i&&(i=t[q(r.name)]),void 0!==i&&this.cssRule(r.name,i)}else 2===e.length&&this.cssRule(e[0],e[1]);return this},av.style=av.css,av.cssRule=function(e,t){var n=this.parse(e,t);if(n){var r=this.length-1;this[r].properties.push(n),this[r].properties[n.name]=n,n.name.match(/pie-(\d+)-background-size/)&&n.value&&(this._private.hasPie=!0),n.name.match(/stripe-(\d+)-background-size/)&&n.value&&(this._private.hasStripe=!0),n.mapped&&this[r].mappedProperties.push(n),this[r].selector||(this._private.coreStyle[n.name]=n)}return this},av.append=function(e){return V(e)?e.appendToStyle(this):_(e)?this.appendFromJson(e):B(e)&&this.appendFromString(e),this},ag.fromJson=function(e,t){var n=new ag(e);return n.fromJson(t),n},ag.fromString=function(e,t){return new ag(e).fromString(t)},[as,al,au,ac,ad,ah,af,ap].forEach(function(e){ee(av,e)}),ag.types=av.types,ag.properties=av.properties,ag.propertyGroups=av.propertyGroups,ag.propertyGroupNames=av.propertyGroupNames,ag.propertyGroupKeys=av.propertyGroupKeys;var ay={autolock:function(e){return void 0===e?this._private.autolock:(this._private.autolock=!!e,this)},autoungrabify:function(e){return void 0===e?this._private.autoungrabify:(this._private.autoungrabify=!!e,this)},autounselectify:function(e){return void 0===e?this._private.autounselectify:(this._private.autounselectify=!!e,this)},selectionType:function(e){var t=this._private;return(null==t.selectionType&&(t.selectionType="single"),void 0===e)?t.selectionType:(("additive"===e||"single"===e)&&(t.selectionType=e),this)},panningEnabled:function(e){return void 0===e?this._private.panningEnabled:(this._private.panningEnabled=!!e,this)},userPanningEnabled:function(e){return void 0===e?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!e,this)},zoomingEnabled:function(e){return void 0===e?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!e,this)},userZoomingEnabled:function(e){return void 0===e?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!e,this)},boxSelectionEnabled:function(e){return void 0===e?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!e,this)},pan:function(){var e,t,n,r,i,a=arguments,o=this._private.pan;switch(a.length){case 0:return o;case 1:if(B(a[0]))return o[e=a[0]];if(A(a[0])){if(!this._private.panningEnabled)return this;r=(n=a[0]).x,i=n.y,M(r)&&(o.x=r),M(i)&&(o.y=i),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;e=a[0],t=a[1],("x"===e||"y"===e)&&M(t)&&(o[e]=t),this.emit("pan viewport")}return this.notify("viewport"),this},panBy:function(e,t){var n,r,i,a=arguments,o=this._private.pan;if(!this._private.panningEnabled)return this;switch(a.length){case 1:A(e)&&(r=(n=a[0]).x,i=n.y,M(r)&&(o.x+=r),M(i)&&(o.y+=i),this.emit("pan viewport"));break;case 2:("x"===e||"y"===e)&&M(t)&&(o[e]+=t),this.emit("pan viewport")}return this.notify("viewport"),this},gc:function(){this.notify("gc")},fit:function(e,t){var n=this.getFitViewport(e,t);if(n){var r=this._private;r.zoom=n.zoom,r.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(e,t){if(M(e)&&void 0===t&&(t=e,e=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){if(B(e)){var n,r,i,a=e;e=this.$(a)}else if(A(n=e)&&M(n.x1)&&M(n.x2)&&M(n.y1)&&M(n.y2)){var o=e;(r={x1:o.x1,y1:o.y1,x2:o.x2,y2:o.y2}).w=r.x2-r.x1,r.h=r.y2-r.y1}else L(e)||(e=this.mutableElements());if(!(L(e)&&e.empty())){r=r||e.boundingBox();var s=this.width(),l=this.height();if(t=M(t)?t:0,!isNaN(s)&&!isNaN(l)&&s>0&&l>0&&!isNaN(r.w)&&!isNaN(r.h)&&r.w>0&&r.h>0){i=(i=(i=Math.min((s-2*t)/r.w,(l-2*t)/r.h))>this._private.maxZoom?this._private.maxZoom:i)<this._private.minZoom?this._private.minZoom:i;var u={x:(s-i*(r.x1+r.x2))/2,y:(l-i*(r.y1+r.y2))/2};return{zoom:i,pan:u}}}}},zoomRange:function(e,t){var n=this._private;if(null==t){var r=e;e=r.min,t=r.max}return M(e)&&M(t)&&e<=t?(n.minZoom=e,n.maxZoom=t):M(e)&&void 0===t&&e<=n.maxZoom?n.minZoom=e:M(t)&&void 0===e&&t>=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),M(e)?n=e:A(e)&&(n=e.level,null!=e.position?t=tr(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)<r.minZoom?r.minZoom:n,o||!M(n)||n===a||null!=t&&(!M(t.x)||!M(t.y)))return null;if(null==t)return{zoomed:!0,panned:!1,zoom:n,pan:i};var s=n,l={x:-s/a*(t.x-i.x)+t.x,y:-s/a*(t.y-i.y)+t.y};return{zoomed:!0,panned:!0,zoom:s,pan:l}},zoom:function(e){if(void 0===e)return this._private.zoom;var t=this.getZoomedViewport(e),n=this._private;return null!=t&&t.zoomed&&(n.zoom=t.zoom,t.panned&&(n.pan.x=t.pan.x,n.pan.y=t.pan.y),this.emit("zoom"+(t.panned?" pan":"")+" viewport"),this.notify("viewport")),this},viewport:function(e){var t=this._private,n=!0,r=!0,i=[],a=!1,o=!1;if(!e||(M(e.zoom)||(n=!1),A(e.pan)||(r=!1),!n&&!r))return this;if(n){var s=e.zoom;s<t.minZoom||s>t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;M(l.x)&&(t.pan.x=l.x,o=!1),M(l.y)&&(t.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(B(e)){var n=e;e=this.mutableElements().filter(n)}else L(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled&&this.viewport({pan:{x:0,y:0},zoom:1}),this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=this.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};ay.centre=ay.center,ay.autolockNodes=ay.autolock,ay.autoungrabifyNodes=ay.autoungrabify;var am={data:rx.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:rx.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:rx.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:rx.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};am.attr=am.data,am.removeAttr=am.removeData;var ab=function(e){var t=this,n=(e=ee({},e)).container;n&&!I(n)&&I(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{}).cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==w&&void 0!==n&&!e.headless,o=e;o.layout=ee({name:a?"grid":"null"},o.layout),o.renderer=ee({name:a?"canvas":"null"},o.renderer);var s=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},l=this._private={container:n,ready:!1,options:o,elements:new iQ(this),listeners:[],aniEles:new iQ(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:M(o.zoom)?o.zoom:1,pan:{x:A(o.pan)&&M(o.pan.x)?o.pan.x:0,y:A(o.pan)&&M(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),l.styleEnabled&&t.setStyle([]);var u=ee({},o,o.renderer);t.initRenderer(u);var c=function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(A(e)||_(e))&&t.add(e),t.one("layoutready",function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")}).one("layoutstop",function(){t.one("done",r),t.emit("done")});var a=ee({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()};!function(e,t){if(e.some(X))return rr.all(e).then(t);t(e)}([o.style,o.elements],function(e){var n=e[0],a=e[1];l.styleEnabled&&t.style().append(n),c(a,function(){t.startAnimationLoop(),l.ready=!0,D(o.ready)&&t.on("ready",o.ready);for(var e=0;e<i.length;e++){var n=i[e];t.on("ready",n)}r&&(r.readies=[]),t.emit("ready")},o.done)})},ax=ab.prototype;ee(ax,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},destroy:function(){if(!this.destroyed())return this.stopAnimationLoop(),this.destroyRenderer(),this.emit("destroy"),this._private.destroyed=!0,this},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},window:function(){if(null==this._private.container)return w;var e=this._private.container.ownerDocument;return void 0===e||null==e?w:e.defaultView||w},mount:function(e){if(null!=e){var t=this._private,n=t.options;return!I(e)&&I(e[0])&&(e=e[0]),this.stopAnimationLoop(),this.destroyRenderer(),t.container=e,t.styleEnabled=!0,this.invalidateSize(),this.initRenderer(ee({},n,n.renderer,{name:"null"===n.renderer.name?"canvas":n.renderer.name})),this.startAnimationLoop(),this.style(n.style),this.emit("mount"),this}},unmount:function(){return this.stopAnimationLoop(),this.destroyRenderer(),this.initRenderer({name:"null"}),this.emit("unmount"),this},options:function(){return eF(this._private.options)},json:function(e){var t=this,n=t._private,r=t.mutableElements();if(A(e)){if(t.startBatch(),e.elements){var i={},a=function(e,n){for(var r=[],a=[],o=0;o<e.length;o++){var s=e[o];if(!s.data.id){eV("cy.json() cannot handle elements without an ID attribute");continue}var l=""+s.data.id,u=t.getElementById(l);i[l]=!0,0!==u.length?a.push({ele:u,json:s}):(n&&(s.group=n),r.push(s))}t.add(r);for(var c=0;c<a.length;c++){var d=a[c],h=d.ele,f=d.json;h.json(f)}};if(_(e.elements))a(e.elements);else for(var o=["nodes","edges"],s=0;s<o.length;s++){var l=o[s],u=e.elements[l];_(u)&&a(u,l)}var c=t.collection();r.filter(function(e){return!i[e.id()]}).forEach(function(e){e.isParent()?c.merge(e):e.remove()}),c.forEach(function(e){return e.children().move({parent:null})}),c.forEach(function(e){return t.getElementById(e.id()).remove()})}e.style&&t.style(e.style),null!=e.zoom&&e.zoom!==n.zoom&&t.zoom(e.zoom),e.pan&&(e.pan.x!==n.pan.x||e.pan.y!==n.pan.y)&&t.pan(e.pan),e.data&&t.data(e.data);for(var d=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],h=0;h<d.length;h++){var f=d[h];null!=e[f]&&t[f](e[f])}return t.endBatch(),this}var p={};e?p.elements=this.elements().map(function(e){return e.json()}):(p.elements={},r.forEach(function(e){var t=e.group();p.elements[t]||(p.elements[t]=[]),p.elements[t].push(e.json())})),this._private.styleEnabled&&(p.style=t.style().json()),p.data=eF(t.data());var g=n.options;return p.zoomingEnabled=n.zoomingEnabled,p.userZoomingEnabled=n.userZoomingEnabled,p.zoom=n.zoom,p.minZoom=n.minZoom,p.maxZoom=n.maxZoom,p.panningEnabled=n.panningEnabled,p.userPanningEnabled=n.userPanningEnabled,p.pan=eF(n.pan),p.boxSelectionEnabled=n.boxSelectionEnabled,p.renderer=eF(g.renderer),p.hideEdgesOnViewport=g.hideEdgesOnViewport,p.textureOnViewport=g.textureOnViewport,p.wheelSensitivity=g.wheelSensitivity,p.motionBlur=g.motionBlur,p.multiClickDebounceTime=g.multiClickDebounceTime,p}}),ax.$id=ax.getElementById,[{add:function(e){var t;if(L(e))if(e._private.cy===this)t=e.restore();else{for(var n=[],r=0;r<e.length;r++){var i=e[r];n.push(i.json())}t=new iQ(this,n)}else if(_(e))t=new iQ(this,e);else if(A(e)&&(_(e.nodes)||_(e.edges))){for(var a=[],o=["nodes","edges"],s=0,l=o.length;s<l;s++){var u=o[s],c=e[u];if(_(c))for(var d=0,h=c.length;d<h;d++){var f=ee({group:u},c[d]);a.push(f)}}t=new iQ(this,a)}else t=new e0(this,e).collection();return t},remove:function(e){if(L(e));else if(B(e)){var t=e;e=this.$(t)}return e.remove()}},i8,at,an,ar,{notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t);return}if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch(function(){for(var n=Object.keys(e),r=0;r<n.length;r++){var i=n[r],a=e[i];t.getElementById(i).data(a)}})}},aa,ao,{style:function(e){return e&&this.setStyle(e).update(),this._private.style},setStyle:function(e){var t=this._private;return V(e)?t.style=e.generateStyle(this):_(e)?t.style=ag.fromJson(this,e):B(e)?t.style=ag.fromString(this,e):t.style=ag(this),t.style},updateStyle:function(){this.mutableElements().updateStyle()}},ay,am].forEach(function(e){ee(ax,e)});var aw={fit:!0,directed:!1,direction:"downward",padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}},aE={maximal:!1,acyclic:!1},ak=function(e){return e.scratch("breadthfirst")},aT=function(e,t){return e.scratch("breadthfirst",t)};function aC(e){this.options=ee({},aw,aE,e)}aC.prototype.run=function(){var e,t=this.options,n=t.cy,r=t.eles,i=r.nodes().filter(function(e){return e.isChildless()}),a=t.directed,o=t.acyclic||t.maximal||t.maximalAdjustments>0,s=!!t.boundingBox,l=tE(s?t.boundingBox:structuredClone(n.extent()));if(L(t.roots))e=t.roots;else if(_(t.roots)){for(var u=[],c=0;c<t.roots.length;c++){var d=t.roots[c],h=n.getElementById(d);u.push(h)}e=n.collection(u)}else if(B(t.roots))e=n.$(t.roots);else if(a)e=i.roots();else{var f=r.components();e=n.collection();for(var p=0;p<f.length;p++)!function(){var t=f[p],n=t.maxDegree(!1),r=t.filter(function(e){return e.degree(!1)===n});e=e.add(r)}()}var g=[],v={},y=function(e,t){null==g[t]&&(g[t]=[]);var n=g[t].length;g[t].push(e),aT(e,{index:n,depth:t})},b=function(e,t){var n=ak(e),r=n.depth,i=n.index;g[r][i]=null,e.isChildless()&&y(e,t)};r.bfs({roots:e,directed:t.directed,visit:function(e,t,n,r,i){var a=e[0],o=a.id();a.isChildless()&&y(a,i),v[o]=!0}});for(var x=[],w=0;w<i.length;w++){var E=i[w];v[E.id()]||x.push(E)}var k=function(e){for(var t=g[e],n=0;n<t.length;n++){var r=t[n];if(null==r){t.splice(n,1),n--;continue}aT(r,{depth:e,index:n})}};if(a&&o){var T=[],C={},P=function(e){return T.push(e)};for(i.forEach(function(e){return T.push(e)});T.length>0;){var S=T.shift(),D=function(e,n){for(var i=ak(e),a=e.incomers().filter(function(e){return e.isNode()&&r.has(e)}),o=-1,s=e.id(),l=0;l<a.length;l++)o=Math.max(o,ak(a[l]).depth);if(i.depth<=o){if(!t.acyclic&&n[s])return null;var u=o+1;return b(e,u),n[s]=u,!0}return!1}(S,C);if(D)S.outgoers().filter(function(e){return e.isNode()&&r.has(e)}).forEach(P);else if(null===D){eV("Detected double maximal shift for node `"+S.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var A=0;if(t.avoidOverlap)for(var M=0;M<i.length;M++){var R=i[M].layoutDimensions(t),I=R.w,N=R.h;A=Math.max(A,I,N)}var z={},O=function(e){if(z[e.id()])return z[e.id()];for(var t=ak(e).depth,n=e.neighborhood(),r=0,a=0,o=0;o<n.length;o++){var s=n[o];if(!(s.isEdge()||s.isParent())&&i.has(s)){var l=ak(s);if(null!=l){var u=l.index,c=l.depth;if(null!=u&&null!=c){var d=g[c].length;c<t&&(r+=u/d,a++)}}}}return r/=a=Math.max(1,a),0===a&&(r=0),z[e.id()]=r,r},V=function(e,t){var n=O(e)-O(t);return 0===n?J(e.id(),t.id()):n};void 0!==t.depthSort&&(V=t.depthSort);for(var F=g.length,X=0;X<F;X++)g[X].sort(V),k(X);for(var j=[],Y=0;Y<x.length;Y++)j.push(x[Y]);if(j.length){g.unshift(j),F=g.length;for(var q=0;q<F;q++)k(q)}for(var W=0,U=0;U<F;U++)W=Math.max(g[U].length,W);var H={x:l.x1+l.w/2,y:l.y1+l.h/2},K=i.reduce(function(e,n){var r;return r=n.boundingBox({includeLabels:t.nodeDimensionsIncludeLabels}),{w:-1===e.w?r.w:(e.w+r.w)/2,h:-1===e.h?r.h:(e.h+r.h)/2}},{w:-1,h:-1}),G=Math.max(1===F?0:s?(l.h-2*t.padding-K.h)/(F-1):(l.h-2*t.padding-K.h)/(F+1),A),Z=g.reduce(function(e,t){return Math.max(e,t.length)},0),$=function(e){var n=ak(e),r=n.depth,i=n.index;if(t.circle){var a=Math.min(l.w/2/F,l.h/2/F),o=(a=Math.max(a,A))*r+a-(F>0&&g[0].length<=3?a/2:0),u=2*Math.PI/g[r].length*i;return 0===r&&1===g[0].length&&(o=1),{x:H.x+o*Math.cos(u),y:H.y+o*Math.sin(u)}}var c=g[r].length,d=Math.max(1===c?0:s?(l.w-2*t.padding-K.w)/((t.grid?Z:c)-1):(l.w-2*t.padding-K.w)/((t.grid?Z:c)+1),A);return{x:H.x+(i+1-(c+1)/2)*d,y:H.y+(r+1-(F+1)/2)*G}},Q={downward:0,leftward:90,upward:180,rightward:-90};return -1===Object.keys(Q).indexOf(t.direction)&&ez("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(Q).join(", "))),r.nodes().layoutPositions(this,t,function(e){return function(e,t,n){if(0===n)return e;var r,i,a,o,s=(t.x1+t.x2)/2,l=(t.y1+t.y2)/2,u=t.w/t.h,c=(r=e.x,i=e.y,{x:Math.cos(a=n*Math.PI/180)*(r-s)-Math.sin(a)*(i-l)+s,y:Math.sin(a)*(r-s)+Math.cos(a)*(i-l)+l}),d=(o=c.x,{x:(o-s)*u+s,y:(c.y-l)*(1/u)+l});return{x:d.x,y:d.y}}($(e),l,Q[t.direction])}),this};var aP={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function aS(e){this.options=ee({},aP,e)}aS.prototype.run=function(){var e,t=this.options,n=t.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o=tE(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),s={x:o.x1+o.w/2,y:o.y1+o.h/2},l=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),u=0,c=0;c<a.length;c++){var d=a[c].layoutDimensions(t);u=Math.max(u,d.w,d.h)}if(e=M(t.radius)?t.radius:a.length<=1?0:Math.min(o.h,o.w)/2-u,a.length>1&&t.avoidOverlap){var h=Math.cos(l)-1,f=Math.sin(l)-0;e=Math.max(Math.sqrt((u*=1.75)*u/(h*h+f*f)),e)}return r.nodes().layoutPositions(this,t,function(n,r){var a=t.startAngle+r*l*(i?1:-1),o=e*Math.cos(a),u=e*Math.sin(a);return{x:s.x+o,y:s.y+u}}),this};var aB={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function aD(e){this.options=ee({},aB,e)}aD.prototype.run=function(){for(var e=this.options,t=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,n=e.cy,r=e.eles,i=r.nodes().not(":parent"),a=tE(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:a.x1+a.w/2,y:a.y1+a.h/2},s=[],l=0,u=0;u<i.length;u++){var c=i[u],d=void 0;d=e.concentric(c),s.push({value:d,node:c}),c._private.scratch.concentric=d}i.updateStyle();for(var h=0;h<i.length;h++){var f=i[h].layoutDimensions(e);l=Math.max(l,f.w,f.h)}s.sort(function(e,t){return t.value-e.value});for(var p=e.levelWidth(i),g=[[]],v=g[0],y=0;y<s.length;y++){var b=s[y];v.length>0&&Math.abs(v[0].value-b.value)>=p&&(v=[],g.push(v)),v.push(b)}var x=l+e.minNodeSpacing;if(!e.avoidOverlap){var w=g.length>0&&g[0].length>1,E=(Math.min(a.w,a.h)/2-x)/(g.length+w?1:0);x=Math.min(x,E)}for(var k=0,T=0;T<g.length;T++){var C=g[T],P=void 0===e.sweep?2*Math.PI-2*Math.PI/C.length:e.sweep,S=C.dTheta=P/Math.max(1,C.length-1);if(C.length>1&&e.avoidOverlap){var B=Math.cos(S)-1,D=Math.sin(S)-0;k=Math.max(Math.sqrt(x*x/(B*B+D*D)),k)}C.r=k,k+=x}if(e.equidistant){for(var _=0,A=0,M=0;M<g.length;M++)_=Math.max(_,g[M].r-A);A=0;for(var R=0;R<g.length;R++){var I=g[R];0===R&&(A=I.r),I.r=A,A+=_}}for(var L={},N=0;N<g.length;N++)for(var z=g[N],O=z.dTheta,V=z.r,F=0;F<z.length;F++){var X=z[F],j=e.startAngle+(t?1:-1)*O*F,Y={x:o.x+V*Math.cos(j),y:o.y+V*Math.sin(j)};L[X.node.id()]=Y}return r.nodes().layoutPositions(this,e,function(e){return L[e.id()]}),this};var a_={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,t){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function aA(e){this.options=ee({},a_,e),this.options.layout=this;var t=this.options.eles.nodes(),n=this.options.eles.edges().filter(function(e){var n=e.source().data("id"),r=e.target().data("id"),i=t.some(function(e){return e.data("id")===n}),a=t.some(function(e){return e.data("id")===r});return!i||!a});this.options.eles=this.options.eles.not(n)}aA.prototype.run=function(){var e=this.options,t=e.cy,n=this;n.stopped=!1,(!0===e.animate||!1===e.animate)&&n.emit({type:"layoutstart",layout:n}),lb=!0===e.debug;var r=aM(t,n,e);lb&&lx(r),e.randomize&&aL(r);var i=ey(),a=function(){az(r,t,e),!0===e.fit&&t.fit(e.padding)},o=function(t){return!n.stopped&&!(t>=e.numIter)&&(aO(r,e),r.temperature=r.temperature*e.coolingFactor,!(r.temperature<e.minTemp))},s=function(){if(!0===e.animate||!1===e.animate)a(),n.one("layoutstop",e.stop),n.emit({type:"layoutstop",layout:n});else{var t=e.eles.nodes(),i=aN(r,e,t);t.layoutPositions(n,e,i)}},l=0,u=!0;if(!0===e.animate){var c=function(){for(var t=0;u&&t<e.refresh;)u=o(l),l++,t++;u?(ey()-i>=e.animationThreshold&&a(),eb(c)):(aZ(r,e),s())};c()}else{for(;u;)u=o(l),l++;aZ(r,e),s()}return this},aA.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},aA.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var aM=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=tE(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),l={},u=0;u<s.length;u++)for(var c=s[u],d=0;d<c.length;d++){var h=c[d];l[h.id()]=u}for(var u=0;u<o.nodeSize;u++){var f=i[u],p=f.layoutDimensions(n),g={};g.isLocked=f.locked(),g.id=f.data("id"),g.parentId=f.data("parent"),g.cmptId=l[f.id()],g.children=[],g.positionX=f.position("x"),g.positionY=f.position("y"),g.offsetX=0,g.offsetY=0,g.height=p.w,g.width=p.h,g.maxX=g.positionX+g.width/2,g.minX=g.positionX-g.width/2,g.maxY=g.positionY+g.height/2,g.minY=g.positionY-g.height/2,g.padLeft=parseFloat(f.style("padding")),g.padRight=parseFloat(f.style("padding")),g.padTop=parseFloat(f.style("padding")),g.padBottom=parseFloat(f.style("padding")),g.nodeRepulsion=D(n.nodeRepulsion)?n.nodeRepulsion(f):n.nodeRepulsion,o.layoutNodes.push(g),o.idToIndex[g.id]=u}for(var v=[],y=0,b=-1,x=[],u=0;u<o.nodeSize;u++){var f=o.layoutNodes[u],w=f.parentId;null!=w?o.layoutNodes[o.idToIndex[w]].children.push(f.id):(v[++b]=f.id,x.push(f.id))}for(o.graphSet.push(x);y<=b;){var E=v[y++],k=o.idToIndex[E],h=o.layoutNodes[k],T=h.children;if(T.length>0){o.graphSet.push(T);for(var u=0;u<T.length;u++)v[++b]=T[u]}}for(var u=0;u<o.graphSet.length;u++)for(var C=o.graphSet[u],d=0;d<C.length;d++){var P=o.idToIndex[C[d]];o.indexToGraph[P]=u}for(var u=0;u<o.edgeSize;u++){var S=r[u],B={};B.id=S.data("id"),B.sourceId=S.data("source"),B.targetId=S.data("target");var _=D(n.idealEdgeLength)?n.idealEdgeLength(S):n.idealEdgeLength,A=D(n.edgeElasticity)?n.edgeElasticity(S):n.edgeElasticity,M=o.idToIndex[B.sourceId],R=o.idToIndex[B.targetId];if(o.indexToGraph[M]!=o.indexToGraph[R]){for(var I=aR(B.sourceId,B.targetId,o),L=o.graphSet[I],N=0,g=o.layoutNodes[M];-1===L.indexOf(g.id);)g=o.layoutNodes[o.idToIndex[g.parentId]],N++;for(g=o.layoutNodes[R];-1===L.indexOf(g.id);)g=o.layoutNodes[o.idToIndex[g.parentId]],N++;_*=N*n.nestingFactor}B.idealLength=_,B.elasticity=A,o.layoutEdges.push(B)}return o},aR=function(e,t,n){var r=aI(e,t,0,n);return 2>r.count?0:r.graph},aI=function(e,t,n,r){var i=r.graphSet[n];if(-1<i.indexOf(e)&&-1<i.indexOf(t))return{count:2,graph:n};for(var a=0,o=0;o<i.length;o++){var s=i[o],l=r.idToIndex[s],u=r.layoutNodes[l].children;if(0!==u.length){var c=aI(e,t,r.indexToGraph[r.idToIndex[u[0]]],r);if(0===c.count)continue;if(1!==c.count)return c;if(2==++a)break}}return{count:a,graph:n}},aL=function(e,t){for(var n=e.clientWidth,r=e.clientHeight,i=0;i<e.nodeSize;i++){var a=e.layoutNodes[i];0!==a.children.length||a.isLocked||(a.positionX=Math.random()*n,a.positionY=Math.random()*r)}},aN=function(e,t,n){var r=e.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return t.boundingBox&&(n.forEach(function(t){var n=e.layoutNodes[e.idToIndex[t.data("id")]];i.x1=Math.min(i.x1,n.positionX),i.x2=Math.max(i.x2,n.positionX),i.y1=Math.min(i.y1,n.positionY),i.y2=Math.max(i.y2,n.positionY)}),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(n,a){var o=e.layoutNodes[e.idToIndex[n.data("id")]];if(!t.boundingBox)return{x:o.positionX,y:o.positionY};var s=0===i.w?.5:(o.positionX-i.x1)/i.w,l=0===i.h?.5:(o.positionY-i.y1)/i.h;return{x:r.x1+s*r.w,y:r.y1+l*r.h}}},az=function(e,t,n){var r=n.layout,i=n.eles.nodes(),a=aN(e,n,i);i.positions(a),!0!==e.ready&&(e.ready=!0,r.one("layoutready",n.ready),r.emit({type:"layoutready",layout:this}))},aO=function(e,t,n){aV(e,t),aq(e),aW(e,t),aU(e),aH(e)},aV=function(e,t){for(var n=0;n<e.graphSet.length;n++)for(var r=e.graphSet[n],i=r.length,a=0;a<i;a++)for(var o=e.layoutNodes[e.idToIndex[r[a]]],s=a+1;s<i;s++)aX(o,e.layoutNodes[e.idToIndex[r[s]]],e,t)},aF=function(e){return-e+2*e*Math.random()},aX=function(e,t,n,r){if(e.cmptId===t.cmptId||n.isCompound){var i=t.positionX-e.positionX,a=t.positionY-e.positionY;0===i&&0===a&&(i=aF(1),a=aF(1));var o=aj(e,t,i,a);if(o>0)var s=r.nodeOverlap*o,l=Math.sqrt(i*i+a*a),u=s*i/l,c=s*a/l;else var d=aY(e,i,a),h=aY(t,-1*i,-1*a),f=h.x-d.x,p=h.y-d.y,g=f*f+p*p,l=Math.sqrt(g),s=(e.nodeRepulsion+t.nodeRepulsion)/g,u=s*f/l,c=s*p/l;e.isLocked||(e.offsetX-=u,e.offsetY-=c),t.isLocked||(t.offsetX+=u,t.offsetY+=c)}},aj=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else var i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else var a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},aY=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,l=a/o,u={};return 0===t&&0<n||0===t&&0>n?(u.x=r,u.y=i+a/2):0<t&&-1*l<=s&&s<=l?(u.x=r+o/2,u.y=i+o*n/2/t):0>t&&-1*l<=s&&s<=l?(u.x=r-o/2,u.y=i-o*n/2/t):0<n&&(s<=-1*l||s>=l)?(u.x=r+a*t/2/n,u.y=i+a/2):0>n&&(s<=-1*l||s>=l)&&(u.x=r-a*t/2/n,u.y=i-a/2),u},aq=function(e,t){for(var n=0;n<e.edgeSize;n++){var r=e.layoutEdges[n],i=e.idToIndex[r.sourceId],a=e.layoutNodes[i],o=e.idToIndex[r.targetId],s=e.layoutNodes[o],l=s.positionX-a.positionX,u=s.positionY-a.positionY;if(0!==l||0!==u){var c=aY(a,l,u),d=aY(s,-1*l,-1*u),h=d.x-c.x,f=d.y-c.y,p=Math.sqrt(h*h+f*f),g=Math.pow(r.idealLength-p,2)/r.elasticity;if(0!==p)var v=g*h/p,y=g*f/p;else var v=0,y=0;a.isLocked||(a.offsetX+=v,a.offsetY+=y),s.isLocked||(s.offsetX-=v,s.offsetY-=y)}}},aW=function(e,t){if(0!==t.gravity)for(var n=0;n<e.graphSet.length;n++){var r=e.graphSet[n],i=r.length;if(0===n)var a=e.clientHeight/2,o=e.clientWidth/2;else var s=e.layoutNodes[e.idToIndex[r[0]]],l=e.layoutNodes[e.idToIndex[s.parentId]],a=l.positionX,o=l.positionY;for(var u=0;u<i;u++){var c=e.layoutNodes[e.idToIndex[r[u]]];if(!c.isLocked){var d=a-c.positionX,h=o-c.positionY,f=Math.sqrt(d*d+h*h);if(f>1){var p=t.gravity*d/f,g=t.gravity*h/f;c.offsetX+=p,c.offsetY+=g}}}}},aU=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],l=s.children;if(0<l.length&&!s.isLocked){for(var u=s.offsetX,c=s.offsetY,d=0;d<l.length;d++){var h=e.layoutNodes[e.idToIndex[l[d]]];h.offsetX+=u,h.offsetY+=c,n[++i]=l[d]}s.offsetX=0,s.offsetY=0}}},aH=function(e,t){for(var n=0;n<e.nodeSize;n++){var r=e.layoutNodes[n];0<r.children.length&&(r.maxX=void 0,r.minX=void 0,r.maxY=void 0,r.minY=void 0)}for(var n=0;n<e.nodeSize;n++){var r=e.layoutNodes[n];if(!(0<r.children.length)&&!r.isLocked){var i=aK(r.offsetX,r.offsetY,e.temperature);r.positionX+=i.x,r.positionY+=i.y,r.offsetX=0,r.offsetY=0,r.minX=r.positionX-r.width,r.maxX=r.positionX+r.width,r.minY=r.positionY-r.height,r.maxY=r.positionY+r.height,aG(r,e)}}for(var n=0;n<e.nodeSize;n++){var r=e.layoutNodes[n];0<r.children.length&&!r.isLocked&&(r.positionX=(r.maxX+r.minX)/2,r.positionY=(r.maxY+r.minY)/2,r.width=r.maxX-r.minX,r.height=r.maxY-r.minY)}},aK=function(e,t,n){var r=Math.sqrt(e*e+t*t);if(r>n)var i={x:n*e/r,y:n*t/r};else var i={x:e,y:t};return i},aG=function(e,t){var n=e.parentId;if(null!=n){var r=t.layoutNodes[t.idToIndex[n]],i=!1;if((null==r.maxX||e.maxX+r.padRight>r.maxX)&&(r.maxX=e.maxX+r.padRight,i=!0),(null==r.minX||e.minX-r.padLeft<r.minX)&&(r.minX=e.minX-r.padLeft,i=!0),(null==r.maxY||e.maxY+r.padBottom>r.maxY)&&(r.maxY=e.maxY+r.padBottom,i=!0),(null==r.minY||e.minY-r.padTop<r.minY)&&(r.minY=e.minY-r.padTop,i=!0),i)return aG(r,t)}},aZ=function(e,t){for(var n=e.layoutNodes,r=[],i=0;i<n.length;i++){var a=n[i],o=a.cmptId;(r[o]=r[o]||[]).push(a)}for(var s=0,i=0;i<r.length;i++){var l=r[i];if(l){l.x1=1/0,l.x2=-1/0,l.y1=1/0,l.y2=-1/0;for(var u=0;u<l.length;u++){var c=l[u];l.x1=Math.min(l.x1,c.positionX-c.width/2),l.x2=Math.max(l.x2,c.positionX+c.width/2),l.y1=Math.min(l.y1,c.positionY-c.height/2),l.y2=Math.max(l.y2,c.positionY+c.height/2)}l.w=l.x2-l.x1,l.h=l.y2-l.y1,s+=l.w*l.h}}r.sort(function(e,t){return t.w*t.h-e.w*e.h});for(var d=0,h=0,f=0,p=0,g=Math.sqrt(s)*e.clientWidth/e.clientHeight,i=0;i<r.length;i++){var l=r[i];if(l){for(var u=0;u<l.length;u++){var c=l[u];c.isLocked||(c.positionX+=d-l.x1,c.positionY+=h-l.y1)}d+=l.w+t.componentSpacing,f+=l.w+t.componentSpacing,p=Math.max(p,l.h),f>g&&(h+=p+t.componentSpacing,d=0,f=0,p=0)}}},a$={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function aQ(e){this.options=ee({},a$,e)}aQ.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=n.nodes().not(":parent");e.sort&&(r=r.sort(e.sort));var i=tE(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});if(0===i.h||0===i.w)n.nodes().layoutPositions(this,e,function(e){return{x:i.x1,y:i.y1}});else{var a=r.size(),o=Math.sqrt(a*i.h/i.w),s=Math.round(o),l=Math.round(i.w/i.h*o),u=function(e){if(null==e)return Math.min(s,l);Math.min(s,l)==s?s=e:l=e},c=function(e){if(null==e)return Math.max(s,l);Math.max(s,l)==s?s=e:l=e},d=e.rows,h=null!=e.cols?e.cols:e.columns;if(null!=d&&null!=h)s=d,l=h;else if(null!=d&&null==h)l=Math.ceil(a/(s=d));else if(null==d&&null!=h)s=Math.ceil(a/(l=h));else if(l*s>a){var f=u(),p=c();(f-1)*p>=a?u(f-1):(p-1)*f>=a&&c(p-1)}else for(;l*s<a;){var g=u(),v=c();(v+1)*g>=a?c(v+1):u(g+1)}var y=i.w/l,b=i.h/s;if(e.condense&&(y=0,b=0),e.avoidOverlap)for(var x=0;x<r.length;x++){var w=r[x],E=w._private.position;(null==E.x||null==E.y)&&(E.x=0,E.y=0);var k=w.layoutDimensions(e),T=e.avoidOverlapPadding,C=k.w+T,P=k.h+T;y=Math.max(y,C),b=Math.max(b,P)}for(var S={},B=function(e,t){return!!S["c-"+e+"-"+t]},D=function(e,t){S["c-"+e+"-"+t]=!0},_=0,A=0,M=function(){++A>=l&&(A=0,_++)},R={},I=0;I<r.length;I++){var L=r[I],N=e.position(L);if(N&&(void 0!==N.row||void 0!==N.col)){var z={row:N.row,col:N.col};if(void 0===z.col)for(z.col=0;B(z.row,z.col);)z.col++;else if(void 0===z.row)for(z.row=0;B(z.row,z.col);)z.row++;R[L.id()]=z,D(z.row,z.col)}}r.layoutPositions(this,e,function(e,t){if(e.locked()||e.isParent())return!1;var n,r,a=R[e.id()];if(a)n=a.col*y+y/2+i.x1,r=a.row*b+b/2+i.y1;else{for(;B(_,A);)M();n=A*y+y/2+i.x1,r=_*b+b/2+i.y1,D(_,A),M()}return{x:n,y:r}})}return this};var aJ={ready:function(){},stop:function(){}};function a0(e){this.options=ee({},aJ,e)}a0.prototype.run=function(){var e=this.options,t=e.eles;return e.cy,this.emit("layoutstart"),t.nodes().positions(function(){return{x:0,y:0}}),this.one("layoutready",e.ready),this.emit("layoutready"),this.one("layoutstop",e.stop),this.emit("layoutstop"),this},a0.prototype.stop=function(){return this};var a1={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a2(e){this.options=ee({},a1,e)}a2.prototype.run=function(){var e=this.options,t=e.eles.nodes(),n=D(e.positions);return t.layoutPositions(this,e,function(t,r){var i=function(t){if(null==e.positions){var r;return{x:(r=t.position()).x,y:r.y}}if(n)return e.positions(t);var i=e.positions[t._private.data.id];return null==i?null:i}(t);return!t.locked()&&null!=i&&i}),this};var a5={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a3(e){this.options=ee({},a5,e)}a3.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,r=tE(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});return n.nodes().layoutPositions(this,e,function(e,t){return{x:r.x1+Math.round(Math.random()*r.w),y:r.y1+Math.round(Math.random()*r.h)}}),this};var a4=[{name:"breadthfirst",impl:aC},{name:"circle",impl:aS},{name:"concentric",impl:aD},{name:"cose",impl:aA},{name:"grid",impl:aQ},{name:"null",impl:a0},{name:"preset",impl:a2},{name:"random",impl:a3}];function a9(e){this.options=e,this.notifications=0}var a6=function(){},a8=function(){throw Error("A headless instance can not render images")};a9.prototype={recalculateRenderedStyle:a6,notify:function(){this.notifications++},init:a6,isHeadless:function(){return!0},png:a8,jpg:a8};var a7={};a7.arrowShapeWidth=.3,a7.registerArrowShapes=function(){var e=this.arrowShapes={},t=this,n=function(e,t,n,r,i,a,o){var s=i.x-n/2-o,l=i.x+n/2+o,u=i.y-n/2-o,c=i.y+n/2+o;return s<=e&&e<=l&&u<=t&&t<=c},r=function(e,t,n,r,i){var a=e*Math.cos(r)-t*Math.sin(r),o=e*Math.sin(r)+t*Math.cos(r);return{x:a*n+i.x,y:o*n+i.y}},i=function(e,t,n,i){for(var a=[],o=0;o<e.length;o+=2){var s=e[o],l=e[o+1];a.push(r(s,l,t,n,i))}return a},a=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r.x,r.y)}return t},o=function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").pfValue*2},s=function(r,s){B(s)&&(s=e[s]),e[r]=ee({name:r,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(e,t,n,r,o,s){return tX(e,t,a(i(this.points,n+2*s,r,o)))},roughCollide:n,draw:function(e,n,r,a){var o=i(this.points,n,r,a);t.arrowShapeImpl("polygon")(e,o)},spacing:function(e){return 0},gap:o},s)};s("none",{collide:eI,roughCollide:eI,draw:eN,spacing:eL,gap:eL}),s("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),s("arrow","triangle"),s("triangle-backcurve",{points:e.triangle.points,controlPoint:[0,-.15],roughCollide:n,draw:function(e,n,a,o,s){var l=i(this.points,n,a,o),u=this.controlPoint,c=r(u[0],u[1],n,a,o);t.arrowShapeImpl(this.name)(e,l,c)},gap:function(e){return .8*o(e)}}),s("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(e,t,n,r,o,s,l){var u=a(i(this.points,n+2*l,r,o)),c=a(i(this.pointsTee,n+2*l,r,o));return tX(e,t,u)||tX(e,t,c)},draw:function(e,n,r,a,o){var s=i(this.points,n,r,a),l=i(this.pointsTee,n,r,a);t.arrowShapeImpl(this.name)(e,s,l)}}),s("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(e,t,n,r,o,s,l){var u=Math.pow(o.x-e,2)+Math.pow(o.y-t,2)<=Math.pow((n+2*l)*this.radius,2);return tX(e,t,a(i(this.points,n+2*l,r,o)))||u},draw:function(e,n,r,a,o){var s=i(this.pointsTr,n,r,a);t.arrowShapeImpl(this.name)(e,s,a.x,a.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),s("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(e,t){var n=this.baseCrossLinePts.slice(),r=t/e;return n[3]=n[3]-r,n[5]=n[5]-r,n},collide:function(e,t,n,r,o,s,l){var u=a(i(this.points,n+2*l,r,o)),c=a(i(this.crossLinePts(n,s),n+2*l,r,o));return tX(e,t,u)||tX(e,t,c)},draw:function(e,n,r,a,o){var s=i(this.points,n,r,a),l=i(this.crossLinePts(n,o),n,r,a);t.arrowShapeImpl(this.name)(e,s,l)}}),s("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(e){return .525*o(e)}}),s("circle",{radius:.15,collide:function(e,t,n,r,i,a,o){return Math.pow(i.x-e,2)+Math.pow(i.y-t,2)<=Math.pow((n+2*o)*this.radius,2)},draw:function(e,n,r,i,a){t.arrowShapeImpl(this.name)(e,i.x,i.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),s("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(e){return 1},gap:function(e){return 1}}),s("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),s("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}}),s("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(e){return .95*e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}})};var oe={};oe.projectIntoViewport=function(e,t){var n=this.cy,r=this.findContainerClientCoords(),i=r[0],a=r[1],o=r[4],s=n.pan(),l=n.zoom();return[((e-i)/o-s.x)/l,((t-a)/o-s.y)/l]},oe.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var e=this.container,t=e.getBoundingClientRect(),n=this.cy.window().getComputedStyle(e),r=function(e){return parseFloat(n.getPropertyValue(e))},i={left:r("padding-left"),right:r("padding-right"),top:r("padding-top"),bottom:r("padding-bottom")},a={left:r("border-left-width"),right:r("border-right-width"),top:r("border-top-width"),bottom:r("border-bottom-width")},o=e.clientWidth,s=e.clientHeight,l=i.left+i.right,u=i.top+i.bottom,c=a.left+a.right,d=t.width/(o+c),h=t.left+i.left+a.left,f=t.top+i.top+a.top;return this.containerBB=[h,f,o-l,s-u,d]},oe.invalidateContainerClientCoordsCache=function(){this.containerBB=null},oe.findNearestElement=function(e,t,n,r){return this.findNearestElements(e,t,n,r)[0]},oe.findNearestElements=function(e,t,n,r){var i,a,o=this,s=this,l=s.getCachedZSortedEles(),u=[],c=s.cy.zoom(),d=s.cy.hasCompoundNodes(),h=(r?24:8)/c,f=(r?8:2)/c,p=(r?8:2)/c,g=1/0;function v(e,t){if(e.isNode())if(a)return;else a=e,u.push(e);if(e.isEdge()&&(null==t||t<g))if(i){if(i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value&&i.pstyle("z-compound-depth").value===e.pstyle("z-compound-depth").value){for(var n=0;n<u.length;n++)if(u[n].isEdge()){u[n]=e,i=e,g=null!=t?t:g;break}}}else u.push(e),i=e,g=null!=t?t:g}function y(n){var r=n.outerWidth()+2*f,i=n.outerHeight()+2*f,a=r/2,l=i/2,u=n.position(),c="auto"===n.pstyle("corner-radius").value?"auto":n.pstyle("corner-radius").pfValue,d=n._private.rscratch;if(u.x-a<=e&&e<=u.x+a&&u.y-l<=t&&t<=u.y+l&&s.nodeShapes[o.getNodeShape(n)].checkPoint(e,t,0,r,i,u.x,u.y,c,d))return v(n,0),!0}n&&(l=l.interactive);function b(n,r){var i,a=n._private;i=r?r+"-":"",n.boundingBox();var o=a.labelBounds[r||"main"],s=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&s){var l=eK(a.rscratch,"labelX",r),u=eK(a.rscratch,"labelY",r),c=eK(a.rscratch,"labelAngle",r),d=n.pstyle(i+"text-margin-x").pfValue,h=n.pstyle(i+"text-margin-y").pfValue,f=o.x1-p-d,g=o.x2+p-d,y=o.y1-p-h,b=o.y2+p-h;if(c){var x=Math.cos(c),w=Math.sin(c),E=function(e,t){return{x:(e-=l)*x-(t-=u)*w+l,y:e*w+t*x+u}},k=E(f,y),T=E(f,b),C=E(g,y),P=E(g,b);if(tX(e,t,[k.x+d,k.y+h,C.x+d,C.y+h,P.x+d,P.y+h,T.x+d,T.y+h]))return v(n),!0}else if(t_(o,e,t))return v(n),!0}}for(var x=l.length-1;x>=0;x--){var w=l[x];w.isNode()?y(w)||b(w):function(n){var r,i=n._private,a=i.rscratch,l=n.pstyle("width").pfValue,c=n.pstyle("arrow-scale").value,f=l/2+h,p=f*f,g=2*f,b=i.source,x=i.target;if("segments"===a.edgeType||"straight"===a.edgeType||"haystack"===a.edgeType){for(var w=a.allpts,E=0;E+3<w.length;E+=2)if(tL(e,t,w[E],w[E+1],w[E+2],w[E+3],g)&&p>(r=tF(e,t,w[E],w[E+1],w[E+2],w[E+3])))return v(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType){for(var w=a.allpts,E=0;E+5<a.allpts.length;E+=4)if(tN(e,t,w[E],w[E+1],w[E+2],w[E+3],w[E+4],w[E+5],g)&&p>(r=tV(e,t,w[E],w[E+1],w[E+2],w[E+3],w[E+4],w[E+5])))return v(n,r),!0}for(var b=b||i.source,x=x||i.target,k=o.getArrowWidth(l,c),T=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}],E=0;E<T.length;E++){var C=T[E],P=s.arrowShapes[n.pstyle(C.name+"-arrow-shape").value],S=n.pstyle("width").pfValue;if(P.roughCollide(e,t,k,C.angle,{x:C.x,y:C.y},S,h)&&P.collide(e,t,k,C.angle,{x:C.x,y:C.y},S,h))return v(n),!0}d&&u.length>0&&(y(b),y(x))}(w)||b(w)||b(w,"source")||b(w,"target")}return u},oe.getAllInBox=function(e,t,n,r){var i=this.getCachedZSortedEles().interactive,a=2/this.cy.zoom(),o=[],s=Math.min(e,n),u=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r);e=s,n=u;var h=tE({x1:e,y1:t=c,x2:n,y2:r=d}),f=[{x:h.x1,y:h.y1},{x:h.x2,y:h.y1},{x:h.x2,y:h.y2},{x:h.x1,y:h.y2}],p=[[f[0],f[1]],[f[1],f[2]],[f[2],f[3]],[f[3],f[0]]];function g(e,t){var n=e._private;e.boundingBox();var r=n.labelBounds.main;if(!r)return null;var i=eK(n.rscratch,"labelX",t),o=eK(n.rscratch,"labelY",t),s=eK(n.rscratch,"labelAngle",t),l=e.pstyle("text-margin-x").pfValue,u=e.pstyle("text-margin-y").pfValue,c=r.x1-a-l,d=r.x2+a-l,h=r.y1-a-u,f=r.y2+a-u;if(!s)return[{x:c,y:h},{x:d,y:h},{x:d,y:f},{x:c,y:f}];var p=Math.cos(s),g=Math.sin(s),v=function(e,t){return{x:(e-=i)*p-(t-=o)*g+i,y:e*g+t*p+o}};return[v(c,h),v(d,h),v(d,f),v(c,f)]}for(var v=0;v<i.length;v++){var y=i[v];if(y.isNode()){var b="yes"===y.pstyle("text-events").strValue,x=y.pstyle("box-selection").strValue,w="yes"===y.pstyle("box-select-labels").strValue;if("none"===x)continue;var E=("overlap"===x||w)&&b,k=y.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:E});if("contain"===x){var T=!1;if(w&&b){var C=g(y);C&&t8(C,f)&&(o.push(y),T=!0)}!T&&tM(h,k)&&o.push(y)}else if("overlap"===x&&tD(h,k)){var P=y.boundingBox({includeNodes:!0,includeEdges:!0,includeLabels:!1,includeMainLabels:!1,includeSourceLabels:!1,includeTargetLabels:!1});if(t8([{x:P.x1,y:P.y1},{x:P.x2,y:P.y1},{x:P.x2,y:P.y2},{x:P.x1,y:P.y2}],f))o.push(y);else{var S=g(y);S&&t8(S,f)&&o.push(y)}}}else{var B=y._private,D=B.rscratch,_=y.pstyle("box-selection").strValue;if("none"===_)continue;if("contain"===_){if(null!=D.startX&&null!=D.startY&&!t_(h,D.startX,D.startY)||null!=D.endX&&null!=D.endY&&!t_(h,D.endX,D.endY))continue;if("bezier"===D.edgeType||"multibezier"===D.edgeType||"self"===D.edgeType||"compound"===D.edgeType||"segments"===D.edgeType||"haystack"===D.edgeType){for(var A=B.rstyle.bezierPts||B.rstyle.linePts||B.rstyle.haystackPts,M=!0,R=0;R<A.length;R++)if(!tA(h,A[R])){M=!1;break}M&&o.push(y)}else"straight"===D.edgeType&&o.push(y)}else if("overlap"===_){var I=!1;if(null!=D.startX&&null!=D.startY&&null!=D.endX&&null!=D.endY&&(t_(h,D.startX,D.startY)||t_(h,D.endX,D.endY)))o.push(y),I=!0;else if(!I&&"haystack"===D.edgeType){for(var L=B.rstyle.haystackPts,N=0;N<L.length;N++)if(tA(h,L[N])){o.push(y),I=!0;break}}if(!I){var z=B.rstyle.bezierPts||B.rstyle.linePts||B.rstyle.haystackPts;if((!z||z.length<2)&&"straight"===D.edgeType&&null!=D.startX&&null!=D.startY&&null!=D.endX&&null!=D.endY&&(z=[{x:D.startX,y:D.startY},{x:D.endX,y:D.endY}]),!z||z.length<2)continue;for(var O=0;O<z.length-1;O++){for(var V=z[O],F=z[O+1],X=0;X<p.length;X++){var j=l(p[X],2);if(function(e,t,n,r){function i(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}return i(e,n,r)!==i(t,n,r)&&i(e,t,n)!==i(e,t,r)}(V,F,j[0],j[1])){o.push(y),I=!0;break}}if(I)break}}}}}return o};var ot={};ot.calculateArrowAngles=function(e){var t=e._private.rscratch,n="haystack"===t.edgeType,r="bezier"===t.edgeType,i="multibezier"===t.edgeType,a="segments"===t.edgeType,o="compound"===t.edgeType,s="self"===t.edgeType;if(n?(y=t.haystackPts[0],b=t.haystackPts[1],x=t.haystackPts[2],w=t.haystackPts[3]):(y=t.arrowStartX,b=t.arrowStartY,x=t.arrowEndX,w=t.arrowEndY),d=t.midX,h=t.midY,a)g=y-t.segpts[0],v=b-t.segpts[1];else if(i||o||s||r){var l=t.allpts,u=tm(l[0],l[2],l[4],.1),c=tm(l[1],l[3],l[5],.1);g=y-u,v=b-c}else g=y-d,v=b-h;t.srcArrowAngle=th(g,v);var d=t.midX,h=t.midY;if(n&&(d=(y+x)/2,h=(b+w)/2),g=x-y,v=w-b,a){var l=t.allpts;if(l.length/2%2==0){var f=l.length/2,p=f-2;g=l[f]-l[p],v=l[f+1]-l[p+1]}else if(t.isRound)g=t.midVector[1],v=-t.midVector[0];else{var f=l.length/2-1,p=f-2;g=l[f]-l[p],v=l[f+1]-l[p+1]}}else if(i||o||s){var g,v,y,b,x,w,d,h,E,k,T,C,l=t.allpts;if(t.ctrlpts.length/2%2==0){var P=l.length/2-1,S=P+2,B=S+2;E=tm(l[P],l[S],l[B],0),k=tm(l[P+1],l[S+1],l[B+1],0),T=tm(l[P],l[S],l[B],1e-4),C=tm(l[P+1],l[S+1],l[B+1],1e-4)}else{var S=l.length/2-1,P=S-2,B=S+2;E=tm(l[P],l[S],l[B],.4999),k=tm(l[P+1],l[S+1],l[B+1],.4999),T=tm(l[P],l[S],l[B],.5),C=tm(l[P+1],l[S+1],l[B+1],.5)}g=T-E,v=C-k}if(t.midtgtArrowAngle=th(g,v),t.midDispX=g,t.midDispY=v,g*=-1,v*=-1,a){var l=t.allpts;if(l.length/2%2==0);else if(!t.isRound){var f=l.length/2-1,D=f+2;g=-(l[D]-l[f]),v=-(l[D+1]-l[f+1])}}if(t.midsrcArrowAngle=th(g,v),a)g=x-t.segpts[t.segpts.length-2],v=w-t.segpts[t.segpts.length-1];else if(i||o||s||r){var l=t.allpts,_=l.length,u=tm(l[_-6],l[_-4],l[_-2],.9),c=tm(l[_-5],l[_-3],l[_-1],.9);g=x-u,v=w-c}else g=x-d,v=w-h;t.tgtArrowAngle=th(g,v)},ot.getArrowWidth=ot.getArrowHeight=function(e,t){var n=this.arrowWidthCache=this.arrowWidthCache||{},r=n[e+", "+t];return r||(r=Math.max(Math.pow(13.37*e,.9),29)*t,n[e+", "+t]=r),r};var on,or,oi,oa,oo,os,ol,ou,oc,od,oh,of,op,og,ov,oy,om,ob,ox,ow,oE,ok,oT,oC,oP,oS,oB,oD,o_,oA,oM,oR,oI,oL,oN,oz,oO,oV,oF,oX,oj,oY,oq,oW,oU,oH,oK,oG,oZ,o$,oQ,oJ,o0,o1,o2,o5,o3,o4,o9,o6,o8,o7,se,st,sn,sr,si,sa,so,ss,sl,su,sc,sd,sh,sf,sp,sg,sv,sy,sm,sb,sx,sw,sE,sk,sT,sC,sP,sS,sB,sD,s_,sA,sM,sR,sI,sL,sN,sz,sO,sV,sF,sX,sj,sY,sq,sW,sU,sH,sK,sG,sZ,s$,sQ,sJ,s0,s1,s2,s5,s3,s4,s9,s6,s8,s7,le,lt,ln,lr,li,la,lo,ls,ll,lu,lc,ld,lh,lf,lp,lg,lv,ly,lm,lb,lx,lw,lE,lk,lT,lC,lP,lS,lB,lD,l_,lA,lM,lR={},lI={},lL=function(e,t,n){n.x=t.x-e.x,n.y=t.y-e.y,n.len=Math.sqrt(n.x*n.x+n.y*n.y),n.nx=n.x/n.len,n.ny=n.y/n.len,n.ang=Math.atan2(n.ny,n.nx)},lN=function(e,t){t.x=-1*e.x,t.y=-1*e.y,t.nx=-1*e.nx,t.ny=-1*e.ny,t.ang=e.ang>0?-(Math.PI-e.ang):Math.PI+e.ang},lz=function(e,t,n,r,i){if(e!==y?lL(t,e,lR):lN(lI,lR),lL(t,n,lI),lk=lR.nx*lI.ny-lR.ny*lI.nx,lT=lR.nx*lI.nx- -(lR.ny*lI.ny),1e-6>Math.abs(lS=Math.asin(Math.max(-1,Math.min(1,lk))))){lw=t.x,lE=t.y,lD=lA=0;return}lC=1,lP=!1,lT<0?lS<0?lS=Math.PI+lS:(lS=Math.PI-lS,lC=-1,lP=!0):lS>0&&(lC=-1,lP=!0),lA=void 0!==t.radius?t.radius:r,lB=lS/2,lM=Math.min(lR.len/2,lI.len/2),lD=i?(l_=Math.abs(Math.cos(lB)*lA/Math.sin(lB)))>lM?Math.abs((l_=lM)*Math.sin(lB)/Math.cos(lB)):lA:Math.abs((l_=Math.min(lM,lA))*Math.sin(lB)/Math.cos(lB)),g=t.x+lI.nx*l_,v=t.y+lI.ny*l_,lw=g-lI.ny*lD*lC,lE=v+lI.nx*lD*lC,f=t.x+lR.nx*l_,p=t.y+lR.ny*l_,y=t};function lO(e,t){0===t.radius?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}function lV(e,t,n,r){var i=!(arguments.length>4)||void 0===arguments[4]||arguments[4];return 0===r||0===t.radius?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(lz(e,t,n,r,i),{cx:lw,cy:lE,radius:lD,startX:f,startY:p,stopX:g,stopY:v,startAngle:lR.ang+Math.PI/2*lC,endAngle:lI.ang-Math.PI/2*lC,counterClockwise:lP})}var lF=Math.sqrt(.02),lX={};function lj(e){var t=[];if(null!=e){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1];t.push({x:r,y:i})}return t}}lX.findMidptPtsEtc=function(e,t){var n,r=t.posPts,i=t.intersectionPts,a=t.vectorNormInverse,o=e.pstyle("source-endpoint"),s=e.pstyle("target-endpoint"),u=null!=o.units&&null!=s.units;switch(e.pstyle("edge-distances").value){case"node-position":n=r;break;case"intersection":n=i;break;case"endpoints":if(u){var c,d,h,f=l(this.manualEndptToPx(e.source()[0],o),2),p=f[0],g=f[1],v=l(this.manualEndptToPx(e.target()[0],s),2),y=v[0],b=v[1];c=b-g,h=Math.sqrt((d=y-p)*d+c*c),a={x:-c/h,y:d/h},n={x1:p,y1:g,x2:y,y2:b}}else eV("Edge ".concat(e.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),n=i}return{midptPts:n,vectorNormInverse:a}},lX.findHaystackPoints=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n._private,i=r.rscratch;if(!i.haystack){var a=2*Math.random()*Math.PI;i.source={x:Math.cos(a),y:Math.sin(a)},i.target={x:Math.cos(a=2*Math.random()*Math.PI),y:Math.sin(a)}}var o=r.source,s=r.target,l=o.position(),u=s.position(),c=o.width(),d=s.width(),h=o.height(),f=s.height(),p=n.pstyle("haystack-radius").value/2;i.haystackPts=i.allpts=[i.source.x*c*p+l.x,i.source.y*h*p+l.y,i.target.x*d*p+u.x,i.target.y*f*p+u.y],i.midX=(i.allpts[0]+i.allpts[2])/2,i.midY=(i.allpts[1]+i.allpts[3])/2,i.edgeType="haystack",i.haystack=!0,this.storeEdgeProjections(n),this.calculateArrowAngles(n),this.recalculateEdgeLabelProjections(n),this.calculateLabelAngles(n)}},lX.findSegmentsPoints=function(e,t){var n=e._private.rscratch,r=e.pstyle("segment-weights"),i=e.pstyle("segment-distances"),a=e.pstyle("segment-radii"),o=e.pstyle("radius-type"),s=Math.min(r.pfValue.length,i.pfValue.length),l=a.pfValue[a.pfValue.length-1],u=o.pfValue[o.pfValue.length-1];n.edgeType="segments",n.segpts=[],n.radii=[],n.isArcRadius=[];for(var c=0;c<s;c++){var d=r.pfValue[c],h=i.pfValue[c],f=1-d,p=this.findMidptPtsEtc(e,t),g=p.midptPts,v=p.vectorNormInverse,y={x:g.x1*f+g.x2*d,y:g.y1*f+g.y2*d};n.segpts.push(y.x+v.x*h,y.y+v.y*h),n.radii.push(void 0!==a.pfValue[c]?a.pfValue[c]:l),n.isArcRadius.push((void 0!==o.pfValue[c]?o.pfValue[c]:u)==="arc-radius")}},lX.findLoopPoints=function(e,t,n,r){var i=e._private.rscratch,a=t.dirCounts,o=t.srcPos,s=e.pstyle("control-point-distances"),l=s?s.pfValue[0]:void 0,u=e.pstyle("loop-direction").pfValue,c=e.pstyle("loop-sweep").pfValue,d=e.pstyle("control-point-step-size").pfValue;i.edgeType="self";var h=n,f=d;r&&(h=0,f=l);var p=u-Math.PI/2,g=p-c/2,v=p+c/2,y=String(u+"_"+c);h=void 0===a[y]?a[y]=0:++a[y],i.ctrlpts=[o.x+1.4*Math.cos(g)*f*(h/3+1),o.y+1.4*Math.sin(g)*f*(h/3+1),o.x+1.4*Math.cos(v)*f*(h/3+1),o.y+1.4*Math.sin(v)*f*(h/3+1)]},lX.findCompoundLoopPoints=function(e,t,n,r){var i=e._private.rscratch;i.edgeType="compound";var a=t.srcPos,o=t.tgtPos,s=t.srcW,l=t.srcH,u=t.tgtW,c=t.tgtH,d=e.pstyle("control-point-step-size").pfValue,h=e.pstyle("control-point-distances"),f=h?h.pfValue[0]:void 0,p=n,g=d;r&&(p=0,g=f);var v={x:a.x-s/2,y:a.y-l/2},y={x:o.x-u/2,y:o.y-c/2},b={x:Math.min(v.x,y.x),y:Math.min(v.y,y.y)},x=Math.max(.5,Math.log(.01*s)),w=Math.max(.5,Math.log(.01*u));i.ctrlpts=[b.x,b.y-1.7995514309304248*g*(p/3+1)*x,b.x-1.7995514309304248*g*(p/3+1)*w,b.y]},lX.findStraightEdgePoints=function(e){e._private.rscratch.edgeType="straight"},lX.findBezierPoints=function(e,t,n,r,i){var a=e._private.rscratch,o=e.pstyle("control-point-step-size").pfValue,s=e.pstyle("control-point-distances"),l=e.pstyle("control-point-weights"),u=s&&l?Math.min(s.value.length,l.value.length):1,c=s?s.pfValue[0]:void 0,d=l.value[0];a.edgeType=r?"multibezier":"bezier",a.ctrlpts=[];for(var h=0;h<u;h++){var f=(.5-t.eles.length/2+n)*o*(i?-1:1),p=void 0,g=tp(f);r&&(c=s?s.pfValue[h]:o,d=l.value[h]);var v=void 0!==(p=r?c:void 0!==c?g*c:void 0)?p:f,y=1-d,b=d,x=this.findMidptPtsEtc(e,t),w=x.midptPts,E=x.vectorNormInverse,k={x:w.x1*y+w.x2*b,y:w.y1*y+w.y2*b};a.ctrlpts.push(k.x+E.x*v,k.y+E.y*v)}},lX.findTaxiPoints=function(e,t){var n,r=e._private.rscratch;r.edgeType="segments";var i="vertical",a="horizontal",o="leftward",s="rightward",l="downward",u="upward",c=t.posPts,d=t.srcW,h=t.srcH,f=t.tgtW,p=t.tgtH,g="node-position"!==e.pstyle("edge-distances").value,v=e.pstyle("taxi-direction").value,y=v,b=e.pstyle("taxi-turn"),x="%"===b.units,w=b.pfValue,E=e.pstyle("taxi-turn-min-distance").pfValue,k=c.x2-c.x1,T=c.y2-c.y1,C=function(e,t){return e>0?Math.max(e-t,0):Math.min(e+t,0)},P=C(k,g?(d+f)/2:0),S=C(T,g?(h+p)/2:0),B=!1;"auto"===y?v=Math.abs(P)>Math.abs(S)?a:i:y===u||y===l?(v=i,B=!0):(y===o||y===s)&&(v=a,B=!0);var D=v===i,_=D?S:P,A=D?T:k,M=tp(A),R=!1;!(B&&(x||w<0))&&(y===l&&A<0||y===u&&A>0||y===o&&A>0||y===s&&A<0)&&(M*=-1,_=M*Math.abs(_),R=!0);var I=function(e){return Math.abs(e)<E||Math.abs(e)>=Math.abs(_)},L=I(n=x?(w<0?1+w:w)*_:(w<0?_:0)+w*M),N=I(Math.abs(_)-Math.abs(n));if((L||N)&&!R)if(D){var z=Math.abs(k)<=f/2;if(Math.abs(A)<=h/2){var O=(c.x1+c.x2)/2;r.segpts=[O,c.y1,O,c.y2]}else if(z){var V=(c.y1+c.y2)/2;r.segpts=[c.x1,V,c.x2,V]}else r.segpts=[c.x1,c.y2]}else{var F=Math.abs(T)<=p/2;if(Math.abs(A)<=d/2){var X=(c.y1+c.y2)/2;r.segpts=[c.x1,X,c.x2,X]}else if(F){var j=(c.x1+c.x2)/2;r.segpts=[j,c.y1,j,c.y2]}else r.segpts=[c.x2,c.y1]}else if(D){var Y=c.y1+n+(g?h/2*M:0);r.segpts=[c.x1,Y,c.x2,Y]}else{var q=c.x1+n+(g?d/2*M:0);r.segpts=[q,c.y1,q,c.y2]}if(r.isRound){var W=e.pstyle("taxi-radius").value,U="arc-radius"===e.pstyle("radius-type").value[0];r.radii=Array(r.segpts.length/2).fill(W),r.isArcRadius=Array(r.segpts.length/2).fill(U)}},lX.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,l=t.tgtH,u=t.srcShape,c=t.tgtShape,d=t.srcCornerRadius,h=t.tgtCornerRadius,f=t.srcRs,p=t.tgtRs,g=!M(n.startX)||!M(n.startY),v=!M(n.arrowStartX)||!M(n.arrowStartY),y=!M(n.endX)||!M(n.endY),b=!M(n.arrowEndX)||!M(n.arrowEndY),x=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),w=tg({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),E=w<x,k=tg({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.endX,y:n.endY}),T=k<x,C=!1;if(g||v||E){C=!0;var P={x:n.ctrlpts[0]-r.x,y:n.ctrlpts[1]-r.y},S=Math.sqrt(P.x*P.x+P.y*P.y),B={x:P.x/S,y:P.y/S},D=Math.max(a,o),_={x:n.ctrlpts[0]+2*B.x*D,y:n.ctrlpts[1]+2*B.y*D},A=u.intersectLine(r.x,r.y,a,o,_.x,_.y,0,d,f);E?(n.ctrlpts[0]=n.ctrlpts[0]+B.x*(x-w),n.ctrlpts[1]=n.ctrlpts[1]+B.y*(x-w)):(n.ctrlpts[0]=A[0]+B.x*x,n.ctrlpts[1]=A[1]+B.y*x)}if(y||b||T){C=!0;var R={x:n.ctrlpts[0]-i.x,y:n.ctrlpts[1]-i.y},I=Math.sqrt(R.x*R.x+R.y*R.y),L={x:R.x/I,y:R.y/I},N=Math.max(a,o),z={x:n.ctrlpts[0]+2*L.x*N,y:n.ctrlpts[1]+2*L.y*N},O=c.intersectLine(i.x,i.y,s,l,z.x,z.y,0,h,p);T?(n.ctrlpts[0]=n.ctrlpts[0]+L.x*(x-k),n.ctrlpts[1]=n.ctrlpts[1]+L.y*(x-k)):(n.ctrlpts[0]=O[0]+L.x*x,n.ctrlpts[1]=O[1]+L.y*x)}C&&this.findEndpoints(e)}},lX.storeAllpts=function(e){var t=e._private.rscratch;if("multibezier"===t.edgeType||"bezier"===t.edgeType||"self"===t.edgeType||"compound"===t.edgeType){t.allpts=[],t.allpts.push(t.startX,t.startY);for(var n,r=0;r+1<t.ctrlpts.length;r+=2)t.allpts.push(t.ctrlpts[r],t.ctrlpts[r+1]),r+3<t.ctrlpts.length&&t.allpts.push((t.ctrlpts[r]+t.ctrlpts[r+2])/2,(t.ctrlpts[r+1]+t.ctrlpts[r+3])/2);(t.allpts.push(t.endX,t.endY),t.ctrlpts.length/2%2==0)?(n=t.allpts.length/2-1,t.midX=t.allpts[n],t.midY=t.allpts[n+1]):(n=t.allpts.length/2-3,t.midX=tm(t.allpts[n],t.allpts[n+2],t.allpts[n+4],.5),t.midY=tm(t.allpts[n+1],t.allpts[n+3],t.allpts[n+5],.5))}else if("straight"===t.edgeType)t.allpts=[t.startX,t.startY,t.endX,t.endY],t.midX=(t.startX+t.endX+t.arrowStartX+t.arrowEndX)/4,t.midY=(t.startY+t.endY+t.arrowStartY+t.arrowEndY)/4;else if("segments"===t.edgeType){if(t.allpts=[],t.allpts.push(t.startX,t.startY),t.allpts.push.apply(t.allpts,t.segpts),t.allpts.push(t.endX,t.endY),t.isRound){t.roundCorners=[];for(var i=2;i+3<t.allpts.length;i+=2){var a=t.radii[i/2-1],o=t.isArcRadius[i/2-1];t.roundCorners.push(lV({x:t.allpts[i-2],y:t.allpts[i-1]},{x:t.allpts[i],y:t.allpts[i+1],radius:a},{x:t.allpts[i+2],y:t.allpts[i+3]},a,o))}}if(t.segpts.length%4==0){var s=t.segpts.length/2,l=s-2;t.midX=(t.segpts[l]+t.segpts[s])/2,t.midY=(t.segpts[l+1]+t.segpts[s+1])/2}else{var u=t.segpts.length/2-1;if(t.isRound){var c={x:t.segpts[u],y:t.segpts[u+1]},d=t.roundCorners[u/2];if(0===d.radius){var h={x:t.segpts[u+2],y:t.segpts[u+3]};t.midX=c.x,t.midY=c.y,t.midVector=[c.y-h.y,h.x-c.x]}else{var f=[c.x-d.cx,c.y-d.cy],p=d.radius/Math.sqrt(Math.pow(f[0],2)+Math.pow(f[1],2));f=f.map(function(e){return e*p}),t.midX=d.cx+f[0],t.midY=d.cy+f[1],t.midVector=f}}else t.midX=t.segpts[u],t.midY=t.segpts[u+1]}}},lX.checkForInvalidEdgeWarning=function(e){var t=e[0]._private.rscratch;t.nodesOverlap||M(t.startX)&&M(t.startY)&&M(t.endX)&&M(t.endY)?t.loggedErr=!1:t.loggedErr||(t.loggedErr=!0,eV("Edge `"+e.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},lX.findEdgeControlPoints=function(e){var t=this;if(e&&0!==e.length){for(var n=this,r=n.cy.hasCompoundNodes(),i=new e$,a=function(e,t){return[].concat(u(e),[+!!t]).join("-")},o=[],s=[],l=0;l<e.length;l++){var c=e[l],d=c._private,h=c.pstyle("curve-style").value;if(!c.removed()&&c.takesUpSpace()){if("haystack"===h){s.push(c);continue}var f="unbundled-bezier"===h||H(h,"segments")||"straight"===h||"straight-triangle"===h||H(h,"taxi"),p="unbundled-bezier"===h||"bezier"===h,g=d.source,v=d.target,y=[g.poolIndex(),v.poolIndex()].sort(),b=a(y,f),x=i.get(b);null==x&&(x={eles:[]},o.push({pairId:y,edgeIsUnbundled:f}),i.set(b,x)),x.eles.push(c),f&&(x.hasUnbundled=!0),p&&(x.hasBezier=!0)}}for(var w=0;w<o.length;w++)!function(){var e,s=o[w],l=a(s.pairId,s.edgeIsUnbundled),u=i.get(l);if(!u.hasUnbundled){var c=u.eles[0].parallelEdges().filter(function(e){return e.isBundledBezier()});eU(u.eles),c.forEach(function(e){return u.eles.push(e)}),u.eles.sort(function(e,t){return e.poolIndex()-t.poolIndex()})}var d=u.eles[0],h=d.source(),f=d.target();if(h.poolIndex()>f.poolIndex()){var p=h;h=f,f=p}var g=u.srcPos=h.position(),v=u.tgtPos=f.position(),y=u.srcW=h.outerWidth(),b=u.srcH=h.outerHeight(),x=u.tgtW=f.outerWidth(),E=u.tgtH=f.outerHeight(),k=u.srcShape=n.nodeShapes[t.getNodeShape(h)],T=u.tgtShape=n.nodeShapes[t.getNodeShape(f)],C=u.srcCornerRadius="auto"===h.pstyle("corner-radius").value?"auto":h.pstyle("corner-radius").pfValue,P=u.tgtCornerRadius="auto"===f.pstyle("corner-radius").value?"auto":f.pstyle("corner-radius").pfValue,S=u.tgtRs=f._private.rscratch,B=u.srcRs=h._private.rscratch;u.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var D=0;D<u.eles.length;D++){var _=u.eles[D],A=_[0]._private.rscratch,R=_.pstyle("curve-style").value,I="unbundled-bezier"===R||H(R,"segments")||H(R,"taxi"),L=!h.same(_.source());if(!u.calculatedIntersection&&h!==f&&(u.hasBezier||u.hasUnbundled)){u.calculatedIntersection=!0;var N=k.intersectLine(g.x,g.y,y,b,v.x,v.y,0,C,B),z=u.srcIntn=N,O=T.intersectLine(v.x,v.y,x,E,g.x,g.y,0,P,S),V=u.tgtIntn=O,F=u.intersectionPts={x1:N[0],x2:O[0],y1:N[1],y2:O[1]},X=u.posPts={x1:g.x,x2:v.x,y1:g.y,y2:v.y},j=O[1]-N[1],Y=O[0]-N[0],q=Math.sqrt(Y*Y+j*j);M(q)&&q>=lF||(q=Math.sqrt(Math.max(Y*Y,.01)+Math.max(j*j,.01)));var W=u.vector={x:Y,y:j},U=u.vectorNorm={x:W.x/q,y:W.y/q},K={x:-U.y,y:U.x};u.nodesOverlap=!M(q)||T.checkPoint(N[0],N[1],0,x,E,v.x,v.y,P,S)||k.checkPoint(O[0],O[1],0,y,b,g.x,g.y,C,B),u.vectorNormInverse=K,e={nodesOverlap:u.nodesOverlap,dirCounts:u.dirCounts,calculatedIntersection:!0,hasBezier:u.hasBezier,hasUnbundled:u.hasUnbundled,eles:u.eles,srcPos:v,srcRs:S,tgtPos:g,tgtRs:B,srcW:x,srcH:E,tgtW:y,tgtH:b,srcIntn:V,tgtIntn:z,srcShape:T,tgtShape:k,posPts:{x1:X.x2,y1:X.y2,x2:X.x1,y2:X.y1},intersectionPts:{x1:F.x2,y1:F.y2,x2:F.x1,y2:F.y1},vector:{x:-W.x,y:-W.y},vectorNorm:{x:-U.x,y:-U.y},vectorNormInverse:{x:-K.x,y:-K.y}}}var G=L?e:u;A.nodesOverlap=G.nodesOverlap,A.srcIntn=G.srcIntn,A.tgtIntn=G.tgtIntn,A.isRound=R.startsWith("round"),r&&(h.isParent()||h.isChild()||f.isParent()||f.isChild())&&(h.parents().anySame(f)||f.parents().anySame(h)||h.same(f)&&h.isParent())?t.findCompoundLoopPoints(_,G,D,I):h===f?t.findLoopPoints(_,G,D,I):R.endsWith("segments")?t.findSegmentsPoints(_,G):R.endsWith("taxi")?t.findTaxiPoints(_,G):"straight"!==R&&(I||u.eles.length%2!=1||D!==Math.floor(u.eles.length/2))?t.findBezierPoints(_,G,D,I,L):t.findStraightEdgePoints(_),t.findEndpoints(_),t.tryToCorrectInvalidPoints(_,G),t.checkForInvalidEdgeWarning(_),t.storeAllpts(_),t.storeEdgeProjections(_),t.calculateArrowAngles(_),t.recalculateEdgeLabelProjections(_),t.calculateLabelAngles(_)}}();this.findHaystackPoints(s)}},lX.getSegmentPoints=function(e){var t=e[0]._private.rscratch;if(this.recalculateRenderedStyle(e),"segments"===t.edgeType)return lj(t.segpts)},lX.getControlPoints=function(e){var t=e[0]._private.rscratch;this.recalculateRenderedStyle(e);var n=t.edgeType;if("bezier"===n||"multibezier"===n||"self"===n||"compound"===n)return lj(t.ctrlpts)},lX.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),{x:t.midX,y:t.midY}};var lY={};lY.manualEndptToPx=function(e,t){var n=e.position(),r=e.outerWidth(),i=e.outerHeight(),a=e._private.rscratch;if(2===t.value.length){var o=[t.pfValue[0],t.pfValue[1]];return"%"===t.units[0]&&(o[0]=o[0]*r),"%"===t.units[1]&&(o[1]=o[1]*i),o[0]+=n.x,o[1]+=n.y,o}var s=t.pfValue[0];s=-Math.PI/2+s;var l=2*Math.max(r,i),u=[n.x+Math.cos(s)*l,n.y+Math.sin(s)*l];return this.nodeShapes[this.getNodeShape(e)].intersectLine(n.x,n.y,r,i,u[0],u[1],0,"auto"===e.pstyle("corner-radius").value?"auto":e.pstyle("corner-radius").pfValue,a)},lY.findEndpoints=function(e){var t,n,r,i,a,o,s,l,u,c=e.source()[0],d=e.target()[0],h=c.position(),f=d.position(),p=e.pstyle("target-arrow-shape").value,g=e.pstyle("source-arrow-shape").value,v=e.pstyle("target-distance-from-node").pfValue,y=e.pstyle("source-distance-from-node").pfValue,b=c._private.rscratch,x=d._private.rscratch,w=e.pstyle("curve-style").value,E=e._private.rscratch,k=E.edgeType,T=H(w,"taxi"),C="self"===k||"compound"===k,P="bezier"===k||"multibezier"===k||C,S="bezier"!==k,B="straight"===k||"segments"===k,D="segments"===k,_=C||T,A=e.pstyle("source-endpoint"),R=_?"outside-to-node":A.value,I="auto"===c.pstyle("corner-radius").value?"auto":c.pstyle("corner-radius").pfValue,L=e.pstyle("target-endpoint"),N=_?"outside-to-node":L.value,z="auto"===d.pstyle("corner-radius").value?"auto":d.pstyle("corner-radius").pfValue;E.srcManEndpt=A,E.tgtManEndpt=L;var O=null!=(t=(null==L||null==(n=L.pfValue)?void 0:n.length)===2?L.pfValue:null)?t:[0,0],V=null!=(r=(null==A||null==(i=A.pfValue)?void 0:i.length)===2?A.pfValue:null)?r:[0,0];if(P){var F=[E.ctrlpts[0],E.ctrlpts[1]];o=S?[E.ctrlpts[E.ctrlpts.length-2],E.ctrlpts[E.ctrlpts.length-1]]:F,s=F}else if(B){var X=D?E.segpts.slice(0,2):[f.x+O[0],f.y+O[1]];o=D?E.segpts.slice(E.segpts.length-2):[h.x+V[0],h.y+V[1]],s=X}if("inside-to-node"===N)a=[f.x,f.y];else if(L.units)a=this.manualEndptToPx(d,L);else if("outside-to-line"===N)a=E.tgtIntn;else if("outside-to-node"===N||"outside-to-node-or-label"===N?l=o:("outside-to-line"===N||"outside-to-line-or-label"===N)&&(l=[h.x,h.y]),a=this.nodeShapes[this.getNodeShape(d)].intersectLine(f.x,f.y,d.outerWidth(),d.outerHeight(),l[0],l[1],0,z,x),"outside-to-node-or-label"===N||"outside-to-line-or-label"===N){var j=d._private.rscratch,Y=j.labelWidth,q=j.labelHeight,W=j.labelX,U=j.labelY,K=Y/2,G=q/2,Z=d.pstyle("text-valign").value;"top"===(Z=rJ(Z))?U-=G:"bottom"===Z&&(U+=G);var $=d.pstyle("text-halign").value;"left"===($=rQ($))?W-=K:"right"===$&&(W+=K);var Q=tQ(l[0],l[1],[W-K,U-G,W+K,U-G,W+K,U+G,W-K,U+G],f.x,f.y);if(Q.length>0){var J=tv(h,ta(a)),ee=tv(h,ta(Q)),et=J;ee<J&&(a=Q,et=ee),Q.length>2&&tv(h,{x:Q[2],y:Q[3]})<et&&(a=[Q[2],Q[3]])}}var en=t0(a,o,this.arrowShapes[p].spacing(e)+v),er=t0(a,o,this.arrowShapes[p].gap(e)+v);if(E.endX=er[0],E.endY=er[1],E.arrowEndX=en[0],E.arrowEndY=en[1],"inside-to-node"===R)a=[h.x,h.y];else if(A.units)a=this.manualEndptToPx(c,A);else if("outside-to-line"===R)a=E.srcIntn;else if("outside-to-node"===R||"outside-to-node-or-label"===R?u=s:("outside-to-line"===R||"outside-to-line-or-label"===R)&&(u=[f.x,f.y]),a=this.nodeShapes[this.getNodeShape(c)].intersectLine(h.x,h.y,c.outerWidth(),c.outerHeight(),u[0],u[1],0,I,b),"outside-to-node-or-label"===R||"outside-to-line-or-label"===R){var ei=c._private.rscratch,ea=ei.labelWidth,eo=ei.labelHeight,es=ei.labelX,el=ei.labelY,eu=ea/2,ec=eo/2,ed=c.pstyle("text-valign").value;"top"===(ed=rJ(ed))?el-=ec:"bottom"===ed&&(el+=ec);var eh=c.pstyle("text-halign").value;"left"===(eh=rQ(eh))?es-=eu:"right"===eh&&(es+=eu);var ef=tQ(u[0],u[1],[es-eu,el-ec,es+eu,el-ec,es+eu,el+ec,es-eu,el+ec],h.x,h.y);if(ef.length>0){var ep=tv(f,ta(a)),eg=tv(f,ta(ef)),ev=ep;eg<ep&&(a=[ef[0],ef[1]],ev=eg),ef.length>2&&tv(f,{x:ef[2],y:ef[3]})<ev&&(a=[ef[2],ef[3]])}}var ey=t0(a,s,this.arrowShapes[g].spacing(e)+y),em=t0(a,s,this.arrowShapes[g].gap(e)+y);E.startX=em[0],E.startY=em[1],E.arrowStartX=ey[0],E.arrowStartY=ey[1],(P||S||B)&&(M(E.startX)&&M(E.startY)&&M(E.endX)&&M(E.endY)?E.badLine=!1:E.badLine=!0)},lY.getSourceEndpoint=function(e){var t=e[0]._private.rscratch;return(this.recalculateRenderedStyle(e),"haystack"===t.edgeType)?{x:t.haystackPts[0],y:t.haystackPts[1]}:{x:t.arrowStartX,y:t.arrowStartY}},lY.getTargetEndpoint=function(e){var t=e[0]._private.rscratch;return(this.recalculateRenderedStyle(e),"haystack"===t.edgeType)?{x:t.haystackPts[2],y:t.haystackPts[3]}:{x:t.arrowEndX,y:t.arrowEndY}};var lq={};lq.storeEdgeProjections=function(e){var t=e._private,n=t.rscratch,r=n.edgeType;if(t.rstyle.bezierPts=null,t.rstyle.linePts=null,t.rstyle.haystackPts=null,"multibezier"===r||"bezier"===r||"self"===r||"compound"===r){t.rstyle.bezierPts=[];for(var i=0;i+5<n.allpts.length;i+=4)!function(e,t,n){for(var r=function(e,t,n,r){return tm(e,t,n,r)},i=t._private.rstyle.bezierPts,a=0;a<e.bezierProjPcts.length;a++){var o=e.bezierProjPcts[a];i.push({x:r(n[0],n[2],n[4],o),y:r(n[1],n[3],n[5],o)})}}(this,e,n.allpts.slice(i,i+6))}else if("segments"===r)for(var a=t.rstyle.linePts=[],i=0;i+1<n.allpts.length;i+=2)a.push({x:n.allpts[i],y:n.allpts[i+1]});else if("haystack"===r){var o=n.haystackPts;t.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}t.rstyle.arrowWidth=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth},lq.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)};var lW={};lW.recalculateNodeLabelProjection=function(e){var t,n;if(!F(e.pstyle("label").strValue)){var r=e._private,i=e.width(),a=e.height(),o=e.padding(),s=e.position(),l=e.pstyle("text-halign").strValue,u=e.pstyle("text-valign").strValue,c=r.rscratch,d=r.rstyle;switch(l){case"left":t=s.x-i/2-o;break;case"left-inside":t=s.x-i/2+o;break;case"right":t=s.x+i/2+o;break;case"right-inside":t=s.x+i/2-o;break;default:t=s.x}switch(u){case"top":n=s.y-a/2-o;break;case"top-inside":n=s.y-a/2+o;break;case"bottom":n=s.y+a/2+o;break;case"bottom-inside":n=s.y+a/2-o;break;default:n=s.y}c.labelX=t,c.labelY=n,d.labelX=t,d.labelY=n,this.calculateLabelAngles(e),this.applyLabelDimensions(e)}};var lU=function(e,t){var n=Math.atan(t/e);return 0===e&&n<0&&(n*=-1),n},lH=function(e,t){return lU(t.x-e.x,t.y-e.y)},lK=function(e,t,n,r){var i=tw(0,r-.001,1),a=tw(0,r+.001,1);return lH(tb(e,t,n,i),tb(e,t,n,a))};lW.recalculateEdgeLabelProjections=function(e){var t,n=e._private,r=n.rscratch,i=this,a={mid:e.pstyle("label").strValue,source:e.pstyle("source-label").strValue,target:e.pstyle("target-label").strValue};if(a.mid||a.source||a.target){t={x:r.midX,y:r.midY};var o=function(e,t,r){eG(n.rscratch,e,t,r),eG(n.rstyle,e,t,r)};o("labelX",null,t.x),o("labelY",null,t.y),o("labelAutoAngle",null,lU(r.midDispX,r.midDispY));var s=function(){if(s.cache)return s.cache;for(var e=[],t=0;t+5<r.allpts.length;t+=4){var a={x:r.allpts[t],y:r.allpts[t+1]},o={x:r.allpts[t+2],y:r.allpts[t+3]},l={x:r.allpts[t+4],y:r.allpts[t+5]};e.push({p0:a,p1:o,p2:l,startDist:0,length:0,segments:[]})}var u=n.rstyle.bezierPts,c=i.bezierProjPcts.length;function d(e,t,n,r,i){var a=tg(t,n),o=e.segments[e.segments.length-1],s={p0:t,p1:n,t0:r,t1:i,startDist:o?o.startDist+o.length:0,length:a};e.segments.push(s),e.length+=a}for(var h=0;h<e.length;h++){var f=e[h],p=e[h-1];p&&(f.startDist=p.startDist+p.length),d(f,f.p0,u[h*c],0,i.bezierProjPcts[0]);for(var g=0;g<c-1;g++)d(f,u[h*c+g],u[h*c+g+1],i.bezierProjPcts[g],i.bezierProjPcts[g+1]);d(f,u[h*c+c-1],f.p2,i.bezierProjPcts[c-1],1)}return s.cache=e},l=function(n){var i="source"===n;if(a[n]){var l=e.pstyle(n+"-text-offset").pfValue;switch(r.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var u,c,d=s(),h=0,f=0,p=0;p<d.length;p++){for(var g=d[i?p:d.length-1-p],v=0;v<g.segments.length;v++){var y=g.segments[i?v:g.segments.length-1-v],b=p===d.length-1&&v===g.segments.length-1;if(h=f,(f+=y.length)>=l||b){c={cp:g,segment:y};break}}if(c)break}var x=c.cp,w=c.segment,E=(l-h)/w.length,k=w.t1-w.t0,T=i?w.t0+k*E:w.t1-k*E;T=tw(0,T,1),t=tb(x.p0,x.p1,x.p2,T),u=lK(x.p0,x.p1,x.p2,T);break;case"straight":case"segments":case"haystack":for(var C,P,S,B,D=0,_=r.allpts.length,A=0;A+3<_&&(i?(C={x:r.allpts[A],y:r.allpts[A+1]},P={x:r.allpts[A+2],y:r.allpts[A+3]}):(C={x:r.allpts[_-2-A],y:r.allpts[_-1-A]},P={x:r.allpts[_-4-A],y:r.allpts[_-3-A]}),S=tg(C,P),B=D,!((D+=S)>=l));A+=2);var M=(l-B)/S;t=tx(C,P,M=tw(0,M,1)),u=lH(C,P)}o("labelX",n,t.x),o("labelY",n,t.y),o("labelAutoAngle",n,u)}};l("source"),l("target"),this.applyLabelDimensions(e)}},lW.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},lW.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=eP(r,e._private.labelDimsKey);if(eK(n.rscratch,"prefixedLabelDimsKey",t)!==i){eG(n.rscratch,"prefixedLabelDimsKey",t,i);var a=this.calculateLabelDimensions(e,r),o=e.pstyle("line-height").pfValue,s=e.pstyle("font-size").pfValue,l=e.pstyle("text-wrap").strValue,u=eK(n.rscratch,"labelWrapCachedLines",t)||[],c="wrap"!==l?1:Math.max(u.length,1),d=a.width,h=a.height+(c-1)*(o-1)*s;eG(n.rstyle,"labelWidth",t,d),eG(n.rscratch,"labelWidth",t,d),eG(n.rstyle,"labelHeight",t,h),eG(n.rscratch,"labelHeight",t,h),eG(n.rscratch,"labelLineHeight",t,s*o),eG(n.rscratch,"labelActualDescent",t,a.labelActualDescent)}},lW.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,s=function(e,r){return r?(eG(n.rscratch,e,t,r),r):eK(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var l=e.pstyle("text-wrap").value;if("wrap"===l){var u=s("labelKey");if(null!=u&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var c=i.split("\n"),d=e.pstyle("text-max-width").pfValue,h="anywhere"===e.pstyle("text-overflow-wrap").value,f=[],p=/[\s\u200b]+|$/g,g=0;g<c.length;g++){var v=c[g],y=this.calculateLabelDimensions(e,v).width;if(h&&(v=v.split("").join("\u200B")),y>d){var b,x=v.matchAll(p),w="",E=0,k=o(x);try{for(k.s();!(b=k.n()).done;){var T=b.value,C=T[0],P=v.substring(E,T.index);E=T.index+C.length;var S=0===w.length?P:w+P+C;this.calculateLabelDimensions(e,S).width<=d?w+=P+C:(w&&f.push(w),w=P+C)}}catch(e){k.e(e)}finally{k.f()}w.match(/^[\s\u200b]+$/)||f.push(w)}else f.push(v)}s("labelWrapCachedLines",f),i=s("labelWrapCachedText",f.join("\n")),s("labelWrapKey",u)}else if("ellipsis"===l){var B=e.pstyle("text-max-width").pfValue,D="",_=!1;if(this.calculateLabelDimensions(e,i).width<B)return i;for(var A=0;A<i.length&&!(this.calculateLabelDimensions(e,D+i[A]+"\u2026").width>B);A++)D+=i[A],A===i.length-1&&(_=!0);return _||(D+="\u2026"),D}return i},lW.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;return"auto"!==t?t:e.isNode()?r0(n):"center"},lW.calculateLabelDimensions=function(e,t){var n=this.cy.window().document,r=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue,a=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,s=e.pstyle("text-metrics").strValue||"font",l=this.labelCalcCanvas,u=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=n.createElement("canvas"),u=this.labelCalcCanvasContext=l.getContext("2d");var c=l.style;c.position="absolute",c.left="-9999px",c.top="-9999px",c.zIndex="-1",c.visibility="hidden",c.pointerEvents="none"}u.font="".concat(r," ").concat(o," ").concat(i,"px ").concat(a);for(var d=0,h=0,f=t.split("\n"),p=f.length,g=0,v=0,y=0;y<p;y++){var b=f[y],x=u.measureText(b),w=Math.ceil(x.width);"glyph"===s&&(0===y&&(v=x.actualBoundingBoxAscent),y===p-1&&(g=x.actualBoundingBoxDescent)),d=Math.max(w,d),h+=i}return"glyph"===s&&(h-=i-v-g),{width:d+=0,height:h+=0,labelActualAscent:v,labelActualDescent:g}},lW.calculateLabelAngle=function(e,t){var n=e._private.rscratch,r=e.isEdge(),i=e.pstyle((t?t+"-":"")+"text-rotation"),a=i.strValue;return"none"===a?0:r&&"autorotate"===a?n.labelAutoAngle:"autorotate"===a?0:i.pfValue},lW.calculateLabelAngles=function(e){var t=e.isEdge(),n=e._private.rscratch;n.labelAngle=this.calculateLabelAngle(e),t&&(n.sourceLabelAngle=this.calculateLabelAngle(e,"source"),n.targetLabelAngle=this.calculateLabelAngle(e,"target"))};var lG={},lZ=!1;lG.getNodeShape=function(e){var t=e.pstyle("shape").value;if("cutrectangle"===t&&(28>e.width()||28>e.height()))return lZ||(eV("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),lZ=!0),"rectangle";if(e.isParent())if("rectangle"===t||"roundrectangle"===t||"round-rectangle"===t||"cutrectangle"===t||"cut-rectangle"===t||"barrel"===t)return t;else return"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t};var l$={};l$.registerCalculationListeners=function(){var e=this.cy,t=e.collection(),n=this,r=function(e){var n=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(t.merge(e),n)for(var r=0;r<e.length;r++){var i=e[r]._private.rstyle;i.clean=!1,i.cleanConnected=!1}};n.binder(e).on("bounds.* dirty.*",function(e){r(e.target)}).on("style.* background.*",function(e){r(e.target,!1)});var i=function(i){if(i){var a=n.onUpdateEleCalcsFns;t.cleanStyle();for(var o=0;o<t.length;o++){var s=t[o],l=s._private.rstyle;s.isNode()&&!l.cleanConnected&&(r(s.connectedEdges()),l.cleanConnected=!0)}if(a)for(var u=0;u<a.length;u++)(0,a[u])(i,t);n.recalculateRenderedStyle(t),t=e.collection()}};n.flushRenderedStyleQueue=function(){i(!0)},n.beforeRender(i,n.beforeRenderPriorities.eleCalcs)},l$.onUpdateEleCalcs=function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},l$.recalculateRenderedStyle=function(e,t){var n=function(e){return e._private.rstyle.cleanConnected};if(0!==e.length){var r=[],i=[];if(!this.destroyed){void 0===t&&(t=!0);for(var a=0;a<e.length;a++){var o=e[a],s=o._private,l=s.rstyle;!o.isEdge()||n(o.source())&&n(o.target())||(l.clean=!1),o.isEdge()&&o.isBundledBezier()&&o.parallelEdges().some(function(e){return!e._private.rstyle.clean&&e.isBundledBezier()})&&(l.clean=!1),t&&l.clean||o.removed()||"none"!==o.pstyle("display").value&&("nodes"===s.group?i.push(o):r.push(o),l.clean=!0)}for(var u=0;u<i.length;u++){var c=i[u],d=c._private.rstyle,h=c.position();this.recalculateNodeLabelProjection(c),d.nodeX=h.x,d.nodeY=h.y,d.nodeW=c.pstyle("width").pfValue,d.nodeH=c.pstyle("height").pfValue}this.recalculateEdgeProjections(r);for(var f=0;f<r.length;f++){var p=r[f]._private,g=p.rstyle,v=p.rscratch;g.srcX=v.arrowStartX,g.srcY=v.arrowStartY,g.tgtX=v.arrowEndX,g.tgtY=v.arrowEndY,g.midX=v.midX,g.midY=v.midY,g.labelAngle=v.labelAngle,g.sourceLabelAngle=v.sourceLabelAngle,g.targetLabelAngle=v.targetLabelAngle}}}};var lQ={};lQ.updateCachedGrabbedEles=function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],n=0;n<e.length;n++){var r=e[n],i=r._private.rscratch;r.grabbed()&&!r.isParent()?t.push(r):i.inDragLayer?e.drag.push(r):e.nondrag.push(r)}for(var n=0;n<t.length;n++){var r=t[n];e.drag.push(r)}}},lQ.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},lQ.getCachedZSortedEles=function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(iA),t.interactive=t.filter(function(e){return e.interactive()}),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t};var lJ={};[oe,ot,lX,lY,lq,lW,lG,l$,lQ].forEach(function(e){ee(lJ,e)});var l0={};l0.getCachedImage=function(e,t,n){var r=this.imageCache=this.imageCache||{},i=r[e];if(i)return i.image.complete||i.image.addEventListener("load",n),i.image;var a=(i=r[e]=r[e]||{}).image=new Image;a.addEventListener("load",n),a.addEventListener("error",function(){a.error=!0});var o="data:";return e.substring(0,o.length).toLowerCase()!==o&&(a.crossOrigin=t="null"===t?null:t),a.src=e,a};var l1=function(e,t){var n=e[0];n&&n._private.grabbed!==t&&(n._private.grabbed=t,e.updateStyle(!1))},l2=function(e){l1(e,!0)},l5=function(e){l1(e,!1)},l3={};l3.registerBinding=function(e,t,n,r){var i=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(e)){for(var a=[],o=0;o<e.length;o++){var s=e[o];if(void 0!==s){var l=this.binder(s);a.push(l.on.apply(l,i))}}return a}var l=this.binder(e);return l.on.apply(l,i)},l3.binder=function(e){var t=this,n=t.cy.window(),r=e===n||e===n.document||e===n.document.body||!("u"<typeof HTMLElement)&&e instanceof HTMLElement;if(null==t.supportsPassiveEvents){var i=!1;try{var a=Object.defineProperty({},"passive",{get:function(){return i=!0,!0}});n.addEventListener("test",null,a)}catch(e){}t.supportsPassiveEvents=i}var o=function(n,i,a){var o=Array.prototype.slice.call(arguments);return r&&t.supportsPassiveEvents&&(o[2]={capture:null!=a&&a,passive:!1,once:!1}),t.bindings.push({target:e,args:o}),(e.addEventListener||e.on).apply(e,o),this};return{on:o,addEventListener:o,addListener:o,bind:o}},l3.nodeIsDraggable=function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},l3.nodeIsGrabbable=function(e){return this.nodeIsDraggable(e)&&e.interactive()},l3.load=function(){var e,t,n,r,i,a,o,s,l,u,c,d,h,f,p,g,v,y,b,x,w,E,k,T,C,P=this,S=P.cy.window(),B=function(e){return e.selected()},D=function(e,t,n,r){null==e&&(e=P.cy);for(var i=0;i<t.length;i++){var a=t[i];e.emit({originalEvent:n,type:a,position:r})}},_=function(e){return e.shiftKey||e.metaKey||e.ctrlKey},A=function(e,t){var n=!0;if(P.cy.hasCompoundNodes()&&e&&e.pannable())for(var r=0;t&&r<t.length;r++){var e=t[r];if(e.isNode()&&e.isParent()&&!e.pannable()){n=!1;break}}else n=!0;return n},R=function(e){e[0]._private.rscratch.inDragLayer=!0},I=function(e){e[0]._private.rscratch.inDragLayer=!1},L=function(e){e[0]._private.rscratch.isGrabTarget=!0},N=function(e){e[0]._private.rscratch.isGrabTarget=!1},z=function(e,t){var n=t.addToList;!n.has(e)&&e.grabbable()&&!e.locked()&&(n.merge(e),l2(e))},O=function(e,t){if(e.cy().hasCompoundNodes()&&(null!=t.inDragLayer||null!=t.addToList)){var n=e.descendants();t.inDragLayer&&(n.forEach(R),n.connectedEdges().forEach(R)),t.addToList&&z(n,t)}},V=function(e,t){t=t||{};var n=e.cy().hasCompoundNodes();t.inDragLayer&&(e.forEach(R),e.neighborhood().stdFilter(function(e){return!n||e.isEdge()}).forEach(R)),t.addToList&&e.forEach(function(e){z(e,t)}),O(e,t),X(e,{inDragLayer:t.inDragLayer}),P.updateCachedGrabbedEles()},F=function(e){e&&(P.getCachedZSortedEles().forEach(function(e){l5(e),I(e),N(e)}),P.updateCachedGrabbedEles())},X=function(e,t){if((null!=t.inDragLayer||null!=t.addToList)&&e.cy().hasCompoundNodes()){var n=e.ancestors().orphans();if(!n.same(e)){var r=n.descendants().spawnSelf().merge(n).unmerge(e).unmerge(e.descendants()),i=r.connectedEdges();t.inDragLayer&&(i.forEach(R),r.forEach(R)),t.addToList&&r.forEach(function(e){z(e,t)})}}},j=function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},Y="u">typeof MutationObserver,q="u">typeof ResizeObserver;Y?(P.removeObserver=new MutationObserver(function(e){for(var t=0;t<e.length;t++){var n=e[t].removedNodes;if(n){for(var r=0;r<n.length;r++)if(n[r]===P.container){P.destroy();break}}}}),P.container.parentNode&&P.removeObserver.observe(P.container.parentNode,{childList:!0})):P.registerBinding(P.container,"DOMNodeRemoved",function(e){P.destroy()});var W=eg(function(){P.cy.resize()},100);Y&&(P.styleObserver=new MutationObserver(W),P.styleObserver.observe(P.container,{attributes:!0})),P.registerBinding(S,"resize",W),q&&(P.resizeObserver=new ResizeObserver(W),P.resizeObserver.observe(P.container));for(var U=function(){P.invalidateContainerClientCoordsCache()},H=P.container;null!=H;){e=H,P.registerBinding(e,"transitionend",U),P.registerBinding(e,"animationend",U),P.registerBinding(e,"scroll",U),H=H.parentNode}P.registerBinding(P.container,"contextmenu",function(e){e.preventDefault()});var K=function(e){for(var t=P.findContainerClientCoords(),n=t[0],r=t[1],i=t[2],a=t[3],o=e.touches?e.touches:[e],s=!1,l=0;l<o.length;l++){var u=o[l];if(n<=u.clientX&&u.clientX<=n+i&&r<=u.clientY&&u.clientY<=r+a){s=!0;break}}if(!s)return!1;for(var c=P.container,d=e.target.parentNode,h=!1;d;){if(d===c){h=!0;break}d=d.parentNode}return!!h};P.registerBinding(P.container,"mousedown",function(e){if(K(e)&&(1!==P.hoverData.which||1===e.which)){e.preventDefault(),j(),P.hoverData.capture=!0,P.hoverData.which=e.which;var t=P.cy,n=[e.clientX,e.clientY],r=P.projectIntoViewport(n[0],n[1]),i=P.selection,a=P.findNearestElements(r[0],r[1],!0,!1),o=a[0],s=P.dragData.possibleDragElements;P.hoverData.mdownPos=r,P.hoverData.mdownGPos=n;var l=function(t){return{originalEvent:e,type:t,position:{x:r[0],y:r[1]}}};if(3==e.which){P.hoverData.cxtStarted=!0;var u={originalEvent:e,type:"cxttapstart",position:{x:r[0],y:r[1]}};o?(o.activate(),o.emit(u),P.hoverData.down=o):t.emit(u),P.hoverData.downTime=new Date().getTime(),P.hoverData.cxtDragged=!1}else if(1==e.which){if(o&&o.activate(),null!=o&&P.nodeIsGrabbable(o)){if(L(o),o.selected()){s=P.dragData.possibleDragElements=t.collection();var c=t.$(function(e){return e.isNode()&&e.selected()&&P.nodeIsGrabbable(e)});V(c,{addToList:s}),o.emit(l("grabon")),c.forEach(function(e){e.emit(l("grab"))})}else V(o,{addToList:s=P.dragData.possibleDragElements=t.collection()}),o.emit(l("grabon")).emit(l("grab"));P.redrawHint("eles",!0),P.redrawHint("drag",!0)}P.hoverData.down=o,P.hoverData.downs=a,P.hoverData.downTime=new Date().getTime(),D(o,["mousedown","tapstart","vmousedown"],e,{x:r[0],y:r[1]}),null==o?(i[4]=1,P.data.bgActivePosistion={x:r[0],y:r[1]},P.redrawHint("select",!0),P.redraw()):o.pannable()&&(i[4]=1),P.hoverData.tapholdCancelled=!1,clearTimeout(P.hoverData.tapholdTimeout),P.hoverData.tapholdTimeout=setTimeout(function(){if(!P.hoverData.tapholdCancelled){var e=P.hoverData.down;e?e.emit(l("taphold")):t.emit(l("taphold"))}},P.tapholdDuration)}i[0]=i[2]=r[0],i[1]=i[3]=r[1]}},!1);var G=function(e){var t=e.getRootNode();if(t&&11===t.nodeType&&void 0!==t.host)return t}(P.container);P.registerBinding([S,G],"mousemove",function(e){var t,n;if(P.hoverData.capture||K(e)){var r=!1,i=P.cy,a=i.zoom(),o=[e.clientX,e.clientY],s=P.projectIntoViewport(o[0],o[1]),l=P.hoverData.mdownPos,u=P.hoverData.mdownGPos,c=P.selection,d=null;P.hoverData.draggingEles||P.hoverData.dragging||P.hoverData.selecting||(d=P.findNearestElement(s[0],s[1],!0,!1));var h=P.hoverData.last,f=P.hoverData.down,p=[s[0]-c[2],s[1]-c[3]],g=P.dragData.possibleDragElements;if(u){var v=o[0]-u[0],y=o[1]-u[1];P.hoverData.isOverThresholdDrag=t=v*v+y*y>=P.desktopTapThreshold2}var b=_(e);t&&(P.hoverData.tapholdCancelled=!0),r=!0,D(d,["mousemove","vmousemove","tapdrag"],e,{x:s[0],y:s[1]});var x=function(t){return{originalEvent:e,type:t,position:{x:s[0],y:s[1]}}},w=function(){P.data.bgActivePosistion=void 0,P.hoverData.selecting||i.emit(x("boxstart")),c[4]=1,P.hoverData.selecting=!0,P.redrawHint("select",!0),P.redraw()};if(3===P.hoverData.which){if(t){var E=x("cxtdrag");f?f.emit(E):i.emit(E),P.hoverData.cxtDragged=!0,(!P.hoverData.cxtOver||d!==P.hoverData.cxtOver)&&(P.hoverData.cxtOver&&P.hoverData.cxtOver.emit(x("cxtdragout")),P.hoverData.cxtOver=d,d&&d.emit(x("cxtdragover")))}}else if(P.hoverData.dragging){if(r=!0,i.panningEnabled()&&i.userPanningEnabled()){if(P.hoverData.justStartedPan){var k=P.hoverData.mdownPos;n={x:(s[0]-k[0])*a,y:(s[1]-k[1])*a},P.hoverData.justStartedPan=!1}else n={x:p[0]*a,y:p[1]*a};i.panBy(n),i.emit(x("dragpan")),P.hoverData.dragged=!0}s=P.projectIntoViewport(e.clientX,e.clientY)}else if(1==c[4]&&(null==f||f.pannable()))t&&(!P.hoverData.dragging&&i.boxSelectionEnabled()&&(b||!i.panningEnabled()||!i.userPanningEnabled())?w():!P.hoverData.selecting&&i.panningEnabled()&&i.userPanningEnabled()&&A(f,P.hoverData.downs)&&(P.hoverData.dragging=!0,P.hoverData.justStartedPan=!0,c[4]=0,P.data.bgActivePosistion=ta(l),P.redrawHint("select",!0),P.redraw()),f&&f.pannable()&&f.active()&&f.unactivate());else{if(f&&f.pannable()&&f.active()&&f.unactivate(),f&&f.grabbed()||d==h||(h&&D(h,["mouseout","tapdragout"],e,{x:s[0],y:s[1]}),d&&D(d,["mouseover","tapdragover"],e,{x:s[0],y:s[1]}),P.hoverData.last=d),f)if(t){if(i.boxSelectionEnabled()&&b)f&&f.grabbed()&&(F(g),f.emit(x("freeon")),g.emit(x("free")),P.dragData.didDrag&&(f.emit(x("dragfreeon")),g.emit(x("dragfree")))),w();else if(f&&f.grabbed()&&P.nodeIsDraggable(f)){var T,C=!P.dragData.didDrag;C&&P.redrawHint("eles",!0),P.dragData.didDrag=!0,P.hoverData.draggingEles||V(g,{inDragLayer:!0});var S={x:0,y:0};if(M(p[0])&&M(p[1])&&(S.x+=p[0],S.y+=p[1],C)){var B=P.hoverData.dragDelta;B&&M(B[0])&&M(B[1])&&(S.x+=B[0],S.y+=B[1])}P.hoverData.draggingEles=!0,g.silentShift(S).emit(x("position")).emit(x("drag")),P.redrawHint("drag",!0),P.redraw()}}else 0===(T=P.hoverData.dragDelta=P.hoverData.dragDelta||[]).length?(T.push(p[0]),T.push(p[1])):(T[0]+=p[0],T[1]+=p[1]);r=!0}if(c[2]=s[0],c[3]=s[1],r)return e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1}},!1),P.registerBinding(S,"mouseup",function(e){if((1!==P.hoverData.which||1===e.which||!P.hoverData.capture)&&P.hoverData.capture){P.hoverData.capture=!1;var i=P.cy,a=P.projectIntoViewport(e.clientX,e.clientY),o=P.selection,s=P.findNearestElement(a[0],a[1],!0,!1),l=P.dragData.possibleDragElements,u=P.hoverData.down,c=_(e);P.data.bgActivePosistion&&(P.redrawHint("select",!0),P.redraw()),P.hoverData.tapholdCancelled=!0,P.data.bgActivePosistion=void 0,u&&u.unactivate();var d=function(t){return{originalEvent:e,type:t,position:{x:a[0],y:a[1]}}};if(3===P.hoverData.which){var h=d("cxttapend");if(u?u.emit(h):i.emit(h),!P.hoverData.cxtDragged){var f=d("cxttap");u?u.emit(f):i.emit(f)}P.hoverData.cxtDragged=!1,P.hoverData.which=null}else if(1===P.hoverData.which){if(D(s,["mouseup","tapend","vmouseup"],e,{x:a[0],y:a[1]}),P.dragData.didDrag||P.hoverData.dragged||P.hoverData.selecting||P.hoverData.isOverThresholdDrag||(D(u,["click","tap","vclick"],e,{x:a[0],y:a[1]}),n=!1,e.timeStamp-r<=i.multiClickDebounceTime()?(t&&clearTimeout(t),n=!0,r=null,D(u,["dblclick","dbltap","vdblclick"],e,{x:a[0],y:a[1]})):(t=setTimeout(function(){n||D(u,["oneclick","onetap","voneclick"],e,{x:a[0],y:a[1]})},i.multiClickDebounceTime()),r=e.timeStamp)),null!=u||P.dragData.didDrag||P.hoverData.selecting||P.hoverData.dragged||_(e)||(i.$(B).unselect(["tapunselect"]),l.length>0&&P.redrawHint("eles",!0),P.dragData.possibleDragElements=l=i.collection()),s!=u||P.dragData.didDrag||P.hoverData.selecting||null==s||!s._private.selectable||(P.hoverData.dragging||("additive"===i.selectionType()||c?s.selected()?s.unselect(["tapunselect"]):s.select(["tapselect"]):c||(i.$(B).unmerge(s).unselect(["tapunselect"]),s.select(["tapselect"]))),P.redrawHint("eles",!0)),P.hoverData.selecting){var p=i.collection(P.getAllInBox(o[0],o[1],o[2],o[3]));P.redrawHint("select",!0),p.length>0&&P.redrawHint("eles",!0),i.emit(d("boxend"));"additive"===i.selectionType()||c||i.$(B).unmerge(p).unselect(),p.emit(d("box")).stdFilter(function(e){return e.selectable()&&!e.selected()}).select().emit(d("boxselect")),P.redraw()}if(P.hoverData.dragging&&(P.hoverData.dragging=!1,P.redrawHint("select",!0),P.redrawHint("eles",!0),P.redraw()),!o[4]){P.redrawHint("drag",!0),P.redrawHint("eles",!0);var g=u&&u.grabbed();F(l),g&&(u.emit(d("freeon")),l.emit(d("free")),P.dragData.didDrag&&(u.emit(d("dragfreeon")),l.emit(d("dragfree"))))}}o[4]=0,P.hoverData.down=null,P.hoverData.cxtStarted=!1,P.hoverData.draggingEles=!1,P.hoverData.selecting=!1,P.hoverData.isOverThresholdDrag=!1,P.dragData.didDrag=!1,P.hoverData.dragged=!1,P.hoverData.dragDelta=[],P.hoverData.mdownPos=null,P.hoverData.mdownGPos=null,P.hoverData.which=null}},!1);var Z=[],$=1e5,Q=function(e){for(var t=Math.abs(e[0]),n=1;n<e.length;n++)if(Math.abs(e[n])!==t)return!1;return!0},J=function(e){var t=!1,n=e.deltaY;if((null==n&&(null!=e.wheelDeltaY?n=e.wheelDeltaY/4:null!=e.wheelDelta&&(n=e.wheelDelta/4)),0!==n)&&(null==i?Z.length>=4?(i=!1,Z[0]>=5&&(u=Q(Z)?Z[0]:td(Z))>1&&(i=!0,$=u)):(Z.push(Math.abs(n)),t=!0):i&&($=Math.min(Math.abs(n),$)),!P.scrollingPage)){var r=P.cy,a=r.zoom(),o=r.pan(),s=P.projectIntoViewport(e.clientX,e.clientY),l=[s[0]*a+o.x,s[1]*a+o.y];if(P.hoverData.draggingEles||P.hoverData.dragging||P.hoverData.cxtStarted||0!==P.selection[4])return void e.preventDefault();if(r.panningEnabled()&&r.userPanningEnabled()&&r.zoomingEnabled()&&r.userZoomingEnabled()){e.preventDefault(),P.data.wheelZooming=!0,clearTimeout(P.data.wheelTimeout),P.data.wheelTimeout=setTimeout(function(){P.data.wheelZooming=!1,P.redrawHint("eles",!0),P.redraw()},150),t&&Math.abs(n)>5&&(n=5*tp(n)),c=-(n/250),i&&(c/=$,c*=3),c*=P.wheelSensitivity,1===e.deltaMode&&(c*=33);var u,c,d=r.zoom()*Math.pow(10,c);"gesturechange"===e.type&&(d=P.gestureStartZoom*e.scale),r.zoom({level:d,renderedPosition:{x:l[0],y:l[1]}}),r.emit({type:"gesturechange"===e.type?"pinchzoom":"scrollzoom",originalEvent:e,position:{x:s[0],y:s[1]}})}}};P.registerBinding(P.container,"wheel",J,!0),P.registerBinding(S,"scroll",function(e){P.scrollingPage=!0,clearTimeout(P.scrollingPageTimeout),P.scrollingPageTimeout=setTimeout(function(){P.scrollingPage=!1},250)},!0),P.registerBinding(P.container,"gesturestart",function(e){P.gestureStartZoom=P.cy.zoom(),P.hasTouchStarted||e.preventDefault()},!0),P.registerBinding(P.container,"gesturechange",function(e){P.hasTouchStarted||J(e)},!0),P.registerBinding(P.container,"mouseout",function(e){var t=P.projectIntoViewport(e.clientX,e.clientY);P.cy.emit({originalEvent:e,type:"mouseout",position:{x:t[0],y:t[1]}})},!1),P.registerBinding(P.container,"mouseover",function(e){var t=P.projectIntoViewport(e.clientX,e.clientY);P.cy.emit({originalEvent:e,type:"mouseover",position:{x:t[0],y:t[1]}})},!1);var ee=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},et=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(P.registerBinding(P.container,"touchstart",b=function(e){if(P.hasTouchStarted=!0,K(e)){j(),P.touchData.capture=!0,P.data.bgActivePosistion=void 0;var t=P.cy,n=P.touchData.now,r=P.touchData.earlier;if(e.touches[0]){var i=P.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);n[0]=i[0],n[1]=i[1]}if(e.touches[1]){var i=P.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);n[2]=i[0],n[3]=i[1]}if(e.touches[2]){var i=P.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);n[4]=i[0],n[5]=i[1]}var b=function(t){return{originalEvent:e,type:t,position:{x:n[0],y:n[1]}}};if(e.touches[1]){P.touchData.singleTouchMoved=!0,F(P.dragData.touchDragEles);var x=P.findContainerClientCoords();f=x[0],p=x[1],g=x[2],v=x[3],a=e.touches[0].clientX-f,o=e.touches[0].clientY-p,s=e.touches[1].clientX-f,l=e.touches[1].clientY-p,y=0<=a&&a<=g&&0<=s&&s<=g&&0<=o&&o<=v&&0<=l&&l<=v;var w=t.pan(),E=t.zoom();if(u=ee(a,o,s,l),c=et(a,o,s,l),h=[((d=[(a+s)/2,(o+l)/2])[0]-w.x)/E,(d[1]-w.y)/E],c<4e4&&!e.touches[2]){var k=P.findNearestElement(n[0],n[1],!0,!0),T=P.findNearestElement(n[2],n[3],!0,!0);k&&k.isNode()?(k.activate().emit(b("cxttapstart")),P.touchData.start=k):T&&T.isNode()?(T.activate().emit(b("cxttapstart")),P.touchData.start=T):t.emit(b("cxttapstart")),P.touchData.start&&(P.touchData.start._private.grabbed=!1),P.touchData.cxt=!0,P.touchData.cxtDragged=!1,P.data.bgActivePosistion=void 0,P.redraw();return}}if(e.touches[2])t.boxSelectionEnabled()&&e.preventDefault();else if(e.touches[1]);else if(e.touches[0]){var C=P.findNearestElements(n[0],n[1],!0,!0),S=C[0];if(null!=S&&(S.activate(),P.touchData.start=S,P.touchData.starts=C,P.nodeIsGrabbable(S))){var B=P.dragData.touchDragEles=t.collection(),_=null;P.redrawHint("eles",!0),P.redrawHint("drag",!0),S.selected()?V(_=t.$(function(e){return e.selected()&&P.nodeIsGrabbable(e)}),{addToList:B}):V(S,{addToList:B}),L(S),S.emit(b("grabon")),_?_.forEach(function(e){e.emit(b("grab"))}):S.emit(b("grab"))}D(S,["touchstart","tapstart","vmousedown"],e,{x:n[0],y:n[1]}),null==S&&(P.data.bgActivePosistion={x:i[0],y:i[1]},P.redrawHint("select",!0),P.redraw()),P.touchData.singleTouchMoved=!1,P.touchData.singleTouchStartTime=+new Date,clearTimeout(P.touchData.tapholdTimeout),P.touchData.tapholdTimeout=setTimeout(function(){!1!==P.touchData.singleTouchMoved||P.pinching||P.touchData.selecting||D(P.touchData.start,["taphold"],e,{x:n[0],y:n[1]})},P.tapholdDuration)}if(e.touches.length>=1){for(var A=P.touchData.startPosition=[null,null,null,null,null,null],M=0;M<n.length;M++)A[M]=r[M]=n[M];var R=e.touches[0];P.touchData.startGPosition=[R.clientX,R.clientY]}}},!1),P.registerBinding(S,"touchmove",x=function(e){var t=P.touchData.capture;if(t||K(e)){var n=P.selection,r=P.cy,i=P.touchData.now,d=P.touchData.earlier,g=r.zoom();if(e.touches[0]){var v=P.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=v[0],i[1]=v[1]}if(e.touches[1]){var v=P.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);i[2]=v[0],i[3]=v[1]}if(e.touches[2]){var v=P.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);i[4]=v[0],i[5]=v[1]}var b=function(t){return{originalEvent:e,type:t,position:{x:i[0],y:i[1]}}},x=P.touchData.startGPosition;if(t&&e.touches[0]&&x){for(var w=[],E=0;E<i.length;E++)w[E]=i[E]-d[E];var k=e.touches[0].clientX-x[0],T=k*k,C=e.touches[0].clientY-x[1];ei=T+C*C>=P.touchTapThreshold2}if(t&&P.touchData.cxt){e.preventDefault();var S=e.touches[0].clientX-f,B=e.touches[0].clientY-p,_=e.touches[1].clientX-f,R=e.touches[1].clientY-p,I=et(S,B,_,R);if(I/c>=2.25||I>=22500){P.touchData.cxt=!1,P.data.bgActivePosistion=void 0,P.redrawHint("select",!0);var L=b("cxttapend");P.touchData.start?(P.touchData.start.unactivate().emit(L),P.touchData.start=null):r.emit(L)}}if(t&&P.touchData.cxt){var L=b("cxtdrag");P.data.bgActivePosistion=void 0,P.redrawHint("select",!0),P.touchData.start?P.touchData.start.emit(L):r.emit(L),P.touchData.start&&(P.touchData.start._private.grabbed=!1),P.touchData.cxtDragged=!0;var N=P.findNearestElement(i[0],i[1],!0,!0);(!P.touchData.cxtOver||N!==P.touchData.cxtOver)&&(P.touchData.cxtOver&&P.touchData.cxtOver.emit(b("cxtdragout")),P.touchData.cxtOver=N,N&&N.emit(b("cxtdragover")))}else if(t&&e.touches[2]&&r.boxSelectionEnabled())e.preventDefault(),P.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,P.touchData.selecting||r.emit(b("boxstart")),P.touchData.selecting=!0,P.touchData.didSelect=!0,n[4]=1,n&&0!==n.length&&void 0!==n[0]?(n[2]=(i[0]+i[2]+i[4])/3,n[3]=(i[1]+i[3]+i[5])/3):(n[0]=(i[0]+i[2]+i[4])/3,n[1]=(i[1]+i[3]+i[5])/3,n[2]=(i[0]+i[2]+i[4])/3+1,n[3]=(i[1]+i[3]+i[5])/3+1),P.redrawHint("select",!0),P.redraw();else if(t&&e.touches[1]&&!P.touchData.didSelect&&r.zoomingEnabled()&&r.panningEnabled()&&r.userZoomingEnabled()&&r.userPanningEnabled()){e.preventDefault(),P.data.bgActivePosistion=void 0,P.redrawHint("select",!0);var z=P.dragData.touchDragEles;if(z){P.redrawHint("drag",!0);for(var O=0;O<z.length;O++){var X=z[O]._private;X.grabbed=!1,X.rscratch.inDragLayer=!1}}var j=P.touchData.start,S=e.touches[0].clientX-f,B=e.touches[0].clientY-p,_=e.touches[1].clientX-f,R=e.touches[1].clientY-p,Y=ee(S,B,_,R),q=Y/u;if(y){var W=S-a,U=B-o,H=_-s,G=R-l,Z=r.zoom(),$=Z*q,Q=r.pan(),J=h[0]*Z+Q.x,en=h[1]*Z+Q.y,er={x:-$/Z*(J-Q.x-(W+H)/2)+J,y:-$/Z*(en-Q.y-(U+G)/2)+en};if(j&&j.active()){var z=P.dragData.touchDragEles;F(z),P.redrawHint("drag",!0),P.redrawHint("eles",!0),j.unactivate().emit(b("freeon")),z&&z.emit(b("free")),P.dragData.didDrag&&(j.emit(b("dragfreeon")),z&&z.emit(b("dragfree")))}r.viewport({zoom:$,pan:er,cancelOnFailedZoom:!0}),r.emit(b("pinchzoom")),u=Y,a=S,o=B,s=_,l=R,P.pinching=!0}if(e.touches[0]){var v=P.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=v[0],i[1]=v[1]}if(e.touches[1]){var v=P.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);i[2]=v[0],i[3]=v[1]}if(e.touches[2]){var v=P.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);i[4]=v[0],i[5]=v[1]}}else if(e.touches[0]&&!P.touchData.didSelect){var ei,N,ea=P.touchData.start,eo=P.touchData.last;if(P.hoverData.draggingEles||P.swipePanning||(N=P.findNearestElement(i[0],i[1],!0,!0)),t&&null!=ea&&e.preventDefault(),t&&null!=ea&&P.nodeIsDraggable(ea))if(ei){var z=P.dragData.touchDragEles,es=!P.dragData.didDrag;es&&V(z,{inDragLayer:!0}),P.dragData.didDrag=!0;var el={x:0,y:0};if(M(w[0])&&M(w[1])&&(el.x+=w[0],el.y+=w[1],es)){P.redrawHint("eles",!0);var eu=P.touchData.dragDelta;eu&&M(eu[0])&&M(eu[1])&&(el.x+=eu[0],el.y+=eu[1])}P.hoverData.draggingEles=!0,z.silentShift(el).emit(b("position")).emit(b("drag")),P.redrawHint("drag",!0),P.touchData.startPosition[0]==d[0]&&P.touchData.startPosition[1]==d[1]&&P.redrawHint("eles",!0),P.redraw()}else{var eu=P.touchData.dragDelta=P.touchData.dragDelta||[];0===eu.length?(eu.push(w[0]),eu.push(w[1])):(eu[0]+=w[0],eu[1]+=w[1])}if(D(ea||N,["touchmove","tapdrag","vmousemove"],e,{x:i[0],y:i[1]}),ea&&ea.grabbed()||N==eo||(eo&&eo.emit(b("tapdragout")),N&&N.emit(b("tapdragover"))),P.touchData.last=N,t)for(var O=0;O<i.length;O++)i[O]&&P.touchData.startPosition[O]&&ei&&(P.touchData.singleTouchMoved=!0);if(t&&(null==ea||ea.pannable())&&r.panningEnabled()&&r.userPanningEnabled()){A(ea,P.touchData.starts)&&(e.preventDefault(),P.data.bgActivePosistion||(P.data.bgActivePosistion=ta(P.touchData.startPosition)),P.swipePanning?(r.panBy({x:w[0]*g,y:w[1]*g}),r.emit(b("dragpan"))):ei&&(P.swipePanning=!0,r.panBy({x:k*g,y:C*g}),r.emit(b("dragpan")),ea&&(ea.unactivate(),P.redrawHint("select",!0),P.touchData.start=null)));var v=P.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=v[0],i[1]=v[1]}}for(var E=0;E<i.length;E++)d[E]=i[E];t&&e.touches.length>0&&!P.hoverData.draggingEles&&!P.swipePanning&&null!=P.data.bgActivePosistion&&(P.data.bgActivePosistion=void 0,P.redrawHint("select",!0),P.redraw())}},!1),P.registerBinding(S,"touchcancel",w=function(e){var t=P.touchData.start;P.touchData.capture=!1,t&&t.unactivate()}),P.registerBinding(S,"touchend",E=function(e){var t,n=P.touchData.start;if(P.touchData.capture){0===e.touches.length&&(P.touchData.capture=!1),e.preventDefault();var r=P.selection;P.swipePanning=!1,P.hoverData.draggingEles=!1;var i=P.cy,a=i.zoom(),o=P.touchData.now,s=P.touchData.earlier;if(e.touches[0]){var l=P.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);o[0]=l[0],o[1]=l[1]}if(e.touches[1]){var l=P.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY);o[2]=l[0],o[3]=l[1]}if(e.touches[2]){var l=P.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY);o[4]=l[0],o[5]=l[1]}var u=function(t){return{originalEvent:e,type:t,position:{x:o[0],y:o[1]}}};if(n&&n.unactivate(),P.touchData.cxt){if(t=u("cxttapend"),n?n.emit(t):i.emit(t),!P.touchData.cxtDragged){var c=u("cxttap");n?n.emit(c):i.emit(c)}P.touchData.start&&(P.touchData.start._private.grabbed=!1),P.touchData.cxt=!1,P.touchData.start=null,P.redraw();return}if(!e.touches[2]&&i.boxSelectionEnabled()&&P.touchData.selecting){P.touchData.selecting=!1;var d=i.collection(P.getAllInBox(r[0],r[1],r[2],r[3]));r[0]=void 0,r[1]=void 0,r[2]=void 0,r[3]=void 0,r[4]=0,P.redrawHint("select",!0),i.emit(u("boxend")),d.emit(u("box")).stdFilter(function(e){return e.selectable()&&!e.selected()}).select().emit(u("boxselect")),d.nonempty()&&P.redrawHint("eles",!0),P.redraw()}if(null!=n&&n.unactivate(),e.touches[2])P.data.bgActivePosistion=void 0,P.redrawHint("select",!0);else if(e.touches[1]);else if(e.touches[0]);else if(!e.touches[0]){P.data.bgActivePosistion=void 0,P.redrawHint("select",!0);var h=P.dragData.touchDragEles;if(null!=n){var f=n._private.grabbed;F(h),P.redrawHint("drag",!0),P.redrawHint("eles",!0),f&&(n.emit(u("freeon")),h.emit(u("free")),P.dragData.didDrag&&(n.emit(u("dragfreeon")),h.emit(u("dragfree")))),D(n,["touchend","tapend","vmouseup","tapdragout"],e,{x:o[0],y:o[1]}),n.unactivate(),P.touchData.start=null}else D(P.findNearestElement(o[0],o[1],!0,!0),["touchend","tapend","vmouseup","tapdragout"],e,{x:o[0],y:o[1]});var p=P.touchData.startPosition[0]-o[0],g=P.touchData.startPosition[1]-o[1];P.touchData.singleTouchMoved||(n||i.$(":selected").unselect(["tapunselect"]),D(n,["tap","vclick"],e,{x:o[0],y:o[1]}),k=!1,e.timeStamp-C<=i.multiClickDebounceTime()?(T&&clearTimeout(T),k=!0,C=null,D(n,["dbltap","vdblclick"],e,{x:o[0],y:o[1]})):(T=setTimeout(function(){k||D(n,["onetap","voneclick"],e,{x:o[0],y:o[1]})},i.multiClickDebounceTime()),C=e.timeStamp)),null!=n&&!P.dragData.didDrag&&n._private.selectable&&(p*p+g*g)*a*a<P.touchTapThreshold2&&!P.pinching&&("single"===i.selectionType()?(i.$(B).unmerge(n).unselect(["tapunselect"]),n.select(["tapselect"])):n.selected()?n.unselect(["tapunselect"]):n.select(["tapselect"]),P.redrawHint("eles",!0)),P.touchData.singleTouchMoved=!0}for(var v=0;v<o.length;v++)s[v]=o[v];P.dragData.didDrag=!1,0===e.touches.length&&(P.touchData.dragDelta=[],P.touchData.startPosition=[null,null,null,null,null,null],P.touchData.startGPosition=null,P.touchData.didSelect=!1),e.touches.length<2&&(1===e.touches.length&&(P.touchData.startGPosition=[e.touches[0].clientX,e.touches[0].clientY]),P.pinching=!1,P.redrawHint("eles",!0),P.redraw())}},!1),"u"<typeof TouchEvent){var en=[],er=function(e){return{clientX:e.clientX,clientY:e.clientY,force:1,identifier:e.pointerId,pageX:e.pageX,pageY:e.pageY,radiusX:e.width/2,radiusY:e.height/2,screenX:e.screenX,screenY:e.screenY,target:e.target}},ei=function(e){en.push({event:e,touch:er(e)})},ea=function(e){for(var t=0;t<en.length;t++)if(en[t].event.pointerId===e.pointerId)return void en.splice(t,1)},eo=function(e){var t=en.filter(function(t){return t.event.pointerId===e.pointerId})[0];t.event=e,t.touch=er(e)},es=function(e){e.touches=en.map(function(e){return e.touch})},el=function(e){return"mouse"===e.pointerType||4===e.pointerType};P.registerBinding(P.container,"pointerdown",function(e){el(e)||(e.preventDefault(),ei(e),es(e),b(e))}),P.registerBinding(P.container,"pointerup",function(e){el(e)||(ea(e),es(e),E(e))}),P.registerBinding(P.container,"pointercancel",function(e){el(e)||(ea(e),es(e),w(e))}),P.registerBinding(P.container,"pointermove",function(e){el(e)||(e.preventDefault(),eo(e),es(e),x(e))})}};var l4={};l4.generatePolygon=function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl("polygon",e,t,n,r,i,this.points)},intersectLine:function(e,t,n,r,i,a,o,s){return tQ(i,a,this.points,e,t,n/2,r/2,o)},checkPoint:function(e,t,n,r,i,a,o,s){return tj(e,t,this.points,a,o,r,i,[0,-1],n)},hasMiterBounds:"rectangle"!==e,miterBounds:function(e,t,n,r,i,a){var o,s,l;return o=this.points,s=function(e,t){if(e.length<3)throw Error("Need at least 3 vertices");var n=function(e,t){return{x:e.x+t.x,y:e.y+t.y}},r=function(e,t){return{x:e.x-t.x,y:e.y-t.y}},i=function(e,t){return{x:e.x*t,y:e.y*t}},a=function(e,t){return e.x*t.y-e.y*t.x},o=e.map(function(e){return{x:e.x,y:e.y}});0>function(e){for(var t=0,n=0;n<e.length;n++){var r=e[n],i=e[(n+1)%e.length];t+=r.x*i.y-i.x*r.y}return t/2}(o)&&o.reverse();for(var s=o.length,l=[],u=0;u<s;u++){var c=o[u],d=r(o[(u+1)%s],c),h=function(e){var t=tR(e.x,e.y);return 0===t?{x:0,y:0}:{x:e.x/t,y:e.y/t}}({x:d.y,y:-d.x});l.push(h)}for(var f=l.map(function(e,r){return{p1:n(o[r],i(e,t)),p2:n(o[(r+1)%s],i(e,t))}}),p=[],g=0;g<s;g++){var v=f[(g-1+s)%s],y=f[g],b=function(e,t,o,s){var l=r(t,e),u=r(s,o),c=a(l,u);if(1e-9>Math.abs(c))return n(e,i(l,.5));var d=a(r(o,e),u)/c;return n(e,i(l,d))}(v.p1,v.p2,y.p1,y.p2);p.push(b)}return p}(t$(o,e,t,n,r),i),l=tE(),s.forEach(function(e){return tC(l,e.x,e.y)}),l}}},l4.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o,s){return tU(i,a,e,t,n/2+o,r/2+o)},checkPoint:function(e,t,n,r,i,a,o,s){return tH(e,t,r,i,a,o,n)}}},l4.generateRoundPolygon=function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,getOrCreateCorners:function(e,n,r,i,a,o,s){if(void 0!==o[s]&&o[s+"-cx"]===e&&o[s+"-cy"]===n&&o[s+"-w"]===r&&o[s+"-h"]===i&&o[s+"-corner-radius"]===a)return o[s];o[s]=Array(t.length/2),o[s+"-cx"]=e,o[s+"-cy"]=n,o[s+"-w"]=r,o[s+"-h"]=i,o[s+"-corner-radius"]=a;var l=r/2,u=i/2;a="auto"===a?t4(r,i):a;for(var c=Array(t.length/2),d=0;d<t.length/2;d++)c[d]={x:e+l*t[2*d],y:n+u*t[2*d+1]};var h,f,p,g,v=c.length;for(h=0,f=c[v-1];h<v;h++)p=c[h%v],g=c[(h+1)%v],o[s][h]=lV(f,p,g,a),f=p,p=g;return o[s]},draw:function(e,t,n,r,i,a,o){this.renderer.nodeShapeImpl("round-polygon",e,t,n,r,i,this.points,this.getOrCreateCorners(t,n,r,i,a,o,"drawCorners"))},intersectLine:function(e,t,n,r,i,a,o,s,l){return tJ(i,a,this.points,e,t,n,r,o,this.getOrCreateCorners(e,t,n,r,s,l,"corners"))},checkPoint:function(e,t,n,r,i,a,o,s,l){return tY(e,t,this.points,a,o,r,i,this.getOrCreateCorners(a,o,r,i,s,l,"corners"))}}},l4.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:t1(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,this.points,a)},intersectLine:function(e,t,n,r,i,a,o,s){return tI(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var l=r/2,u=i/2,c=2*(s=Math.min(l,u,s="auto"===s?t3(r,i):s));return!!(tj(e,t,this.points,a,o,r,i-c,[0,-1],n)||tj(e,t,this.points,a,o,r-c,i,[0,-1],n)||tH(e,t,c,c,a-l+s,o-u+s,n)||tH(e,t,c,c,a+l-s,o-u+s,n)||tH(e,t,c,c,a+l-s,o+u-s,n)||tH(e,t,c,c,a-l+s,o+u-s,n))}}},l4.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:t9(),points:t1(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,null,a)},generateCutTrianglePts:function(e,t,n,r,i){var a="auto"===i?this.cornerLength:i,o=t/2,s=e/2,l=n-s,u=n+s,c=r-o,d=r+o;return{topLeft:[l,c+a,l+a,c,l+a,c+a],topRight:[u-a,c,u,c+a,u-a,c+a],bottomRight:[u,d-a,u-a,d,u-a,d-a],bottomLeft:[l+a,d,l,d-a,l+a,d-a]}},intersectLine:function(e,t,n,r,i,a,o,s){var l=this.generateCutTrianglePts(n+2*o,r+2*o,e,t,s);return tQ(i,a,[].concat.apply([],[l.topLeft.splice(0,4),l.topRight.splice(0,4),l.bottomRight.splice(0,4),l.bottomLeft.splice(0,4)]),e,t)},checkPoint:function(e,t,n,r,i,a,o,s){var l="auto"===s?this.cornerLength:s;if(tj(e,t,this.points,a,o,r,i-2*l,[0,-1],n)||tj(e,t,this.points,a,o,r-2*l,i,[0,-1],n))return!0;var u=this.generateCutTrianglePts(r,i,a,o);return tX(e,t,u.topLeft)||tX(e,t,u.topRight)||tX(e,t,u.bottomRight)||tX(e,t,u.bottomLeft)}}},l4.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:t1(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,r,i,a,o,s){var l=this.generateBarrelBezierPts(n+2*o,r+2*o,e,t),u=function(e){var t=tb({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.15),n=tb({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.5),r=tb({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.85);return[e[0],e[1],t.x,t.y,n.x,n.y,r.x,r.y,e[4],e[5]]};return tQ(i,a,[].concat(u(l.topLeft),u(l.topRight),u(l.bottomRight),u(l.bottomLeft)),e,t)},generateBarrelBezierPts:function(e,t,n,r){var i=t/2,a=e/2,o=n-a,s=n+a,l=r-i,u=r+i,c=t6(e,t),d=c.heightOffset,h=c.widthOffset,f=c.ctrlPtOffsetPct*e,p={topLeft:[o,l+d,o+f,l,o+h,l],topRight:[s-h,l,s-f,l,s,l+d],bottomRight:[s,u-d,s-f,u,s-h,u],bottomLeft:[o+h,u,o+f,u,o,u-d]};return p.topLeft.isTop=!0,p.topRight.isTop=!0,p.bottomLeft.isBottom=!0,p.bottomRight.isBottom=!0,p},checkPoint:function(e,t,n,r,i,a,o,s){var l=t6(r,i),u=l.heightOffset,c=l.widthOffset;if(tj(e,t,this.points,a,o,r,i-2*u,[0,-1],n)||tj(e,t,this.points,a,o,r-2*c,i,[0,-1],n))return!0;for(var d=this.generateBarrelBezierPts(r,i,a,o),h=Object.keys(d),f=0;f<h.length;f++){var p=d[h[f]],g=function(e,t,n){var r=n[4],i=n[2],a=n[0],o=n[5],s=n[1],l=Math.min(r,a),u=Math.max(r,a),c=Math.min(o,s),d=Math.max(o,s);if(l<=e&&e<=u&&c<=t&&t<=d){var h=[r-2*i+a,2*(i-r),r],f=tz(h[0],h[1],h[2],e).filter(function(e){return 0<=e&&e<=1});if(f.length>0)return f[0]}return null}(e,t,p);if(null!=g){var v=tm(p[5],p[3],p[1],g);if(p.isTop&&v<=t||p.isBottom&&t<=v)return!0}}return!1}}},l4.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:t1(4,0),draw:function(e,t,n,r,i,a){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i,this.points,a)},intersectLine:function(e,t,n,r,i,a,o,s){var l=e-(n/2+o),u=t-(r/2+o),c=e+(n/2+o),d=tZ(i,a,e,t,l,u,c,u,!1);return d.length>0?d:tI(i,a,e,t,n,r,o,s)},checkPoint:function(e,t,n,r,i,a,o,s){var l=2*(s="auto"===s?t3(r,i):s);if(tj(e,t,this.points,a,o,r,i-l,[0,-1],n)||tj(e,t,this.points,a,o,r-l,i,[0,-1],n))return!0;var u=r/2+2*n,c=i/2+2*n;return!!(tX(e,t,[a-u,o-c,a-u,o,a+u,o,a+u,o-c])||tH(e,t,l,l,a+r/2-s,o+i/2-s,n)||tH(e,t,l,l,a-r/2+s,o+i/2-s,n))}}},l4.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",t1(3,0)),this.generateRoundPolygon("round-triangle",t1(3,0)),this.generatePolygon("rectangle",t1(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",t1(5,0)),this.generateRoundPolygon("round-pentagon",t1(5,0)),this.generatePolygon("hexagon",t1(6,0)),this.generateRoundPolygon("round-hexagon",t1(6,0)),this.generatePolygon("heptagon",t1(7,0)),this.generateRoundPolygon("round-heptagon",t1(7,0)),this.generatePolygon("octagon",t1(8,0)),this.generateRoundPolygon("round-octagon",t1(8,0));var r=Array(20),i=t5(5,0),a=t5(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s<a.length/2;s++)a[2*s]*=o,a[2*s+1]*=o;for(var s=0;s<5;s++)r[4*s]=i[2*s],r[4*s+1]=i[2*s+1],r[4*s+2]=a[2*s],r[4*s+3]=a[2*s+1];r=t2(r),this.generatePolygon("star",r),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);var l=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",l),this.generateRoundPolygon("round-tag",l),e.makePolygon=function(e){var n,r="polygon-"+e.join("$");return(n=this[r])?n:t.generatePolygon(r,e)}};var l9={};l9.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},l9.redraw=function(e){e=e||eY(),void 0===this.averageRedrawTime&&(this.averageRedrawTime=0),void 0===this.lastRedrawTime&&(this.lastRedrawTime=0),void 0===this.lastDrawTime&&(this.lastDrawTime=0),this.requestedFrame=!0,this.renderOptions=e},l9.beforeRender=function(e,t){if(!this.destroyed){null==t&&ez("Priority is not optional for beforeRender");var n=this.beforeRenderCallbacks;n.push({fn:e,priority:t}),n.sort(function(e,t){return t.priority-e.priority})}};var l6=function(e,t,n){for(var r=e.beforeRenderCallbacks,i=0;i<r.length;i++)r[i].fn(t,n)};l9.startRenderLoop=function(){var e=this,t=e.cy;if(!e.renderLoopStarted){e.renderLoopStarted=!0;var n=function(r){if(!e.destroyed){if(t.batching());else if(e.requestedFrame&&!e.skipFrame){l6(e,!0,r);var i=ey();e.render(e.renderOptions);var a=e.lastDrawTime=ey();void 0===e.averageRedrawTime&&(e.averageRedrawTime=a-i),void 0===e.redrawCount&&(e.redrawCount=0),e.redrawCount++,void 0===e.redrawTotalTime&&(e.redrawTotalTime=0);var o=a-i;e.redrawTotalTime+=o,e.lastRedrawTime=o,e.averageRedrawTime=e.averageRedrawTime/2+o/2,e.requestedFrame=!1}else l6(e,!1,r);e.skipFrame=!1,eb(n)}};eb(n)}};var l8=function(e){this.init(e)},l7=l8.prototype;l7.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],l7.init=function(e){this.options=e,this.cy=e.cy;var t=this.container=e.cy.container(),n=this.cy.window();if(n){var r=n.document,i=r.head,a="__________cytoscape_stylesheet",o="__________cytoscape_container",s=null!=r.getElementById(a);if(0>t.className.indexOf(o)&&(t.className=(t.className||"")+" "+o),!s){var l=r.createElement("style");l.id=a,l.textContent="."+o+" { position: relative; }",i.insertBefore(l,i.children[0])}"static"===n.getComputedStyle(t).getPropertyValue("position")&&eV("A Cytoscape container has style position:static and so can not use UI extensions properly")}this.selection=[void 0,void 0,void 0,void 0,0],this.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],this.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},this.dragData={possibleDragElements:[]},this.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},this.redraws=0,this.showFps=e.showFps,this.debug=e.debug,this.webgl=e.webgl,this.hideEdgesOnViewport=e.hideEdgesOnViewport,this.textureOnViewport=e.textureOnViewport,this.wheelSensitivity=e.wheelSensitivity,this.motionBlurEnabled=e.motionBlur,this.forcedPixelRatio=M(e.pixelRatio)?e.pixelRatio:null,this.motionBlur=e.motionBlur,this.motionBlurOpacity=e.motionBlurOpacity,this.motionBlurTransparency=1-this.motionBlurOpacity,this.motionBlurPxRatio=1,this.mbPxRBlurry=1,this.minMbLowQualFrames=4,this.fullQualityMb=!1,this.clearedForMotionBlur=[],this.desktopTapThreshold=e.desktopTapThreshold,this.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,this.touchTapThreshold=e.touchTapThreshold,this.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,this.tapholdDuration=500,this.bindings=[],this.beforeRenderCallbacks=[],this.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},this.registerNodeShapes(),this.registerArrowShapes(),this.registerCalculationListeners()},l7.notify=function(e,t){var n=this.cy;if(!this.destroyed){if("init"===e)return void this.load();if("destroy"===e)return void this.destroy();("add"===e||"remove"===e||"move"===e&&n.hasCompoundNodes()||"load"===e||"zorder"===e||"mount"===e)&&this.invalidateCachedZSortedEles(),"viewport"===e&&this.redrawHint("select",!0),"gc"===e&&this.redrawHint("gc",!0),("load"===e||"resize"===e||"mount"===e)&&(this.invalidateContainerClientCoordsCache(),this.matchCanvasSize(this.container)),this.redrawHint("eles",!0),this.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},l7.destroy=function(){this.destroyed=!0,this.cy.stopAnimationLoop();for(var e=0;e<this.bindings.length;e++){var t=this.bindings[e],n=t.target;(n.off||n.removeEventListener).apply(n,t.args)}if(this.bindings=[],this.beforeRenderCallbacks=[],this.onUpdateEleCalcsFns=[],this.removeObserver&&this.removeObserver.disconnect(),this.styleObserver&&this.styleObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect(),this.labelCalcDiv)try{document.body.removeChild(this.labelCalcDiv)}catch(e){}},l7.isHeadless=function(){return!1},[a7,lJ,l0,l3,l4,l9].forEach(function(e){ee(l7,e)});var ue=1e3/60,ut=function(e){return function(){var t=this,n=this.renderer;if(!t.dequeueingSetup){t.dequeueingSetup=!0;var r=eg(function(){n.redrawHint("eles",!0),n.redrawHint("drag",!0),n.redraw()},e.deqRedrawThreshold),i=e.priority||eN;n.beforeRender(function(i,a){var o=ey(),s=n.averageRedrawTime,l=n.lastRedrawTime,u=[],c=n.cy.extent(),d=n.getPixelRatio();for(i||n.flushRenderedStyleQueue();;){var h=ey(),f=h-o,p=h-a;if(l<ue){var g=ue-(i?s:0);if(p>=e.deqFastCost*g)break}else if(i){if(f>=e.deqCost*l||f>=e.deqAvgCost*s)break}else if(p>=e.deqNoDrawCost*ue)break;var v=e.deq(t,d,c);if(v.length>0)for(var y=0;y<v.length;y++)u.push(v[y]);else break}u.length>0&&(e.onDeqd(t,u),!i&&e.shouldRedraw(t,u,d,c)&&r())},i(t))}}},un=a(function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:eI;i(this,e),this.idsByKey=new e$,this.keyForId=new e$,this.cachesByLvl=new e$,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=n},[{key:"getIdsFor",value:function(e){null==e&&ez("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new eJ,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new e$,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach(function(n){return t.deleteCache(e,n)})}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),ur={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},ui=eq({getKey:null,doesEleInvalidateKey:eI,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:eR,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ua=function(e,t){this.renderer=e,this.onDequeues=[];var n=ui(t);ee(this,n),this.lookup=new un(n.getKey,n.doesEleInvalidateKey),this.setupDequeueing()},uo=ua.prototype;uo.reasons=ur,uo.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},uo.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},uo.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new e4(function(e,t){return t.reqs-e.reqs})},uo.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},uo.getElement=function(e,t,n,r,i){var a,o,s,l=this,u=this.renderer,c=u.cy.zoom(),d=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed()||!l.allowEdgeTxrCaching&&e.isEdge()||!l.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(tf(c*n))),r<-4)r=-4;else if(c>=7.99||r>3)return null;var h=Math.pow(2,r),f=t.h*h,p=t.w*h,g=u.eleTextBiggerThanMin(e,h);if(!this.isVisible(e,g))return null;var v=d.get(e,r);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;if(a=f<=25?25:f<=50?50:50*Math.ceil(f/50),f>1024||p>1024)return null;var y=l.getTextureQueue(a),b=y[y.length-2],x=function(){return l.recycleTexture(a,p)||l.addTexture(a,p)};b||(b=y[y.length-1]),b||(b=x()),b.width-b.usedWidth<p&&(b=x());for(var w=function(e){return e&&e.scaledLabelShown===g},E=i&&i===ur.dequeue,k=i&&i===ur.highQuality,T=i&&i===ur.downscale,C=r+1;C<=3;C++){var P=d.get(e,C);if(P){o=P;break}}var S=o&&o.level===r+1?o:null,B=function(){b.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,b.usedWidth,0,p,f)};if(b.context.setTransform(1,0,0,1,0,0),b.context.clearRect(b.usedWidth,0,p,a),w(S))B();else if(w(o))if(!k)return l.queueElement(e,o.level-1),o;else{for(var D=o.level;D>r;D--)S=l.getElement(e,t,n,D,ur.downscale);B()}else{if(!E&&!k&&!T)for(var _=r-1;_>=-4;_--){var A=d.get(e,_);if(A){s=A;break}}if(w(s))return l.queueElement(e,r),s;b.context.translate(b.usedWidth,0),b.context.scale(h,h),this.drawElement(b.context,e,t,g,!1),b.context.scale(1/h,1/h),b.context.translate(-b.usedWidth,0)}return v={x:b.usedWidth,texture:b,level:r,scale:h,width:p,height:f,scaledLabelShown:g},b.usedWidth+=Math.ceil(p+8),b.eleCaches.push(v),d.set(e,r,v),l.checkTextureFullness(b),v},uo.invalidateElements=function(e){for(var t=0;t<e.length;t++)this.invalidateElement(e[t])},uo.invalidateElement=function(e){var t=this.lookup,n=[];if(t.isInvalid(e)){for(var r=-4;r<=3;r++){var i=t.getForCachedKey(e,r);i&&n.push(i)}if(t.invalidate(e))for(var a=0;a<n.length;a++){var o=n[a],s=o.texture;s.invalidatedWidth+=o.width,o.invalidated=!0,this.checkTextureUtility(s)}this.removeFromQueue(e)}},uo.checkTextureUtility=function(e){e.invalidatedWidth>=.2*e.width&&this.retireTexture(e)},uo.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?eW(t,e):e.fullnessChecks++},uo.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;eW(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a<i.length;a++){var o=i[a];r.deleteCache(o.key,o.level)}eU(i),this.getRetiredTextureQueue(t).push(e)},uo.addTexture=function(e,t){var n=this.getTextureQueue(e),r={};return n.push(r),r.eleCaches=[],r.height=e,r.width=Math.max(1024,t),r.usedWidth=0,r.invalidatedWidth=0,r.fullnessChecks=0,r.canvas=this.renderer.makeOffscreenCanvas(r.width,r.height),r.context=r.canvas.getContext("2d"),r},uo.recycleTexture=function(e,t){for(var n=this.getTextureQueue(e),r=this.getRetiredTextureQueue(e),i=0;i<r.length;i++){var a=r[i];if(a.width>=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,eU(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),eW(r,a),n.push(a),a}},uo.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},uo.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=[],i=this.lookup,a=0;a<1;a++)if(t.size()>0){var o=t.pop(),s=o.key,l=o.eles[0],u=i.hasCache(l,o.level);if(n[s]=null,u)continue;r.push(o);var c=this.getBoundingBox(l);this.getElement(l,c,e,o.level,ur.dequeue)}else break;return r},uo.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=eM,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},uo.onDequeue=function(e){this.onDequeues.push(e)},uo.offDequeue=function(e){eW(this.onDequeues,e)},uo.setupDequeueing=ut({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n<e.onDequeues.length;n++)(0,e.onDequeues[n])(t)},shouldRedraw:function(e,t,n,r){for(var i=0;i<t.length;i++)for(var a=t[i].eles,o=0;o<a.length;o++)if(tD(a[o].boundingBox(),r))return!0;return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var us=function(e){var t=this,n=t.renderer=e,r=n.cy;t.layersByLevel={},t.firstGet=!0,t.lastInvalidationTime=ey()-500,t.skipping=!1,t.eleTxrDeqs=r.collection(),t.scheduleElementRefinement=eg(function(){t.refineElementTextures(t.eleTxrDeqs),t.eleTxrDeqs.unmerge(t.eleTxrDeqs)},50),n.beforeRender(function(e,n){n-t.lastInvalidationTime<=250?t.skipping=!0:t.skipping=!1},n.beforeRenderPriorities.lyrTxrSkip),t.layersQueue=new e4(function(e,t){return t.reqs-e.reqs}),t.setupDequeueing()},ul=us.prototype,uu=0;ul.makeLayer=function(e,t){var n=Math.pow(2,t),r=Math.ceil(e.w*n),i=Math.ceil(e.h*n),a=this.renderer.makeOffscreenCanvas(r,i),o={id:uu=++uu%0x1fffffffffffff,bb:e,level:t,width:r,height:i,canvas:a,context:a.getContext("2d"),eles:[],elesQueue:[],reqs:0},s=o.context,l=-o.bb.x1,u=-o.bb.y1;return s.scale(n,n),s.translate(l,u),o},ul.getLayers=function(e,t,n){var r,i,a=this,o=a.renderer.cy.zoom(),s=a.firstGet;if(a.firstGet=!1,null==n){if((n=Math.ceil(tf(o*t)))<-4)n=-4;else if(o>=3.99||n>2)return null}a.validateLayersElesOrdering(n,e);var l=a.layersByLevel,u=Math.pow(2,n),c=l[n]=l[n]||[];if(a.levelIsComplete(n,e))return c;var d=function(t){if(a.validateLayersElesOrdering(t,e),a.levelIsComplete(t,e))return i=l[t],!0},h=function(e){if(!i)for(var t=n+e;-4<=t&&t<=2&&!d(t);t+=e);};h(1),h(-1);for(var f=c.length-1;f>=0;f--){var p=c[f];p.invalid&&eW(c,p)}var g=function(){if(!r){r=tE();for(var t=0;t<e.length;t++)tT(r,e[t].boundingBox())}return r};if(a.skipping&&!s)return null;for(var v=null,y=e.length/1,b=!s,x=0;x<e.length;x++){var w=e[x],E=w._private.rscratch,k=E.imgLayerCaches=E.imgLayerCaches||{},T=k[n];if(T){v=T;continue}if((!v||v.eles.length>=y||!tM(v.bb,w.boundingBox()))&&!(v=function(e){var t=(e=e||{}).after;g();var i=Math.ceil(r.w*u),o=Math.ceil(r.h*u);if(i>32767||o>32767||i*o>16e6)return null;var s=a.makeLayer(r,n);if(null!=t){var l=c.indexOf(t)+1;c.splice(l,0,s)}else(void 0===e.insert||e.insert)&&c.unshift(s);return s}({insert:!0,after:v})))return null;i||b?a.queueLayer(v,w):a.drawEleInLayer(v,w,n,t),v.eles.push(w),k[n]=v}return i||(b?null:c)},ul.getEleLevelForLayerLevel=function(e,t){return e},ul.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},ul.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i<n.length;i++){var a=n[i];if(a.reqs>0||a.invalid)return!1;r+=a.eles.length}return r===t.length},ul.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r<n.length;r++){for(var i=n[r],a=-1,o=0;o<t.length;o++)if(i.eles[0]===t[o]){a=o;break}if(a<0){this.invalidateLayer(i);continue}for(var s=a,o=0;o<i.eles.length;o++)if(i.eles[o]!==t[s+o]){this.invalidateLayer(i);break}}},ul.updateElementsInLayers=function(e,t){for(var n=N(e[0]),r=0;r<e.length;r++)for(var i=n?null:e[r],a=n?e[r]:e[r].ele,o=a._private.rscratch,s=o.imgLayerCaches=o.imgLayerCaches||{},l=-4;l<=2;l++){var u=s[l];u&&(i&&this.getEleLevelForLayerLevel(u.level)!==i.level||t(u,a,i))}},ul.haveLayers=function(){for(var e=!1,t=-4;t<=2;t++){var n=this.layersByLevel[t];if(n&&n.length>0){e=!0;break}}return e},ul.invalidateElements=function(e){var t=this;0===e.length||(t.lastInvalidationTime=ey(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,function(e,n,r){t.invalidateLayer(e)}))},ul.invalidateLayer=function(e){if(this.lastInvalidationTime=ey(),!e.invalid){var t=e.level,n=e.eles;eW(this.layersByLevel[t],e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var r=0;r<n.length;r++){var i=n[r]._private.rscratch.imgLayerCaches;i&&(i[t]=null)}}},ul.refineElementTextures=function(e){var t=this;t.updateElementsInLayers(e,function(e,n,r){var i=e.replacement;if(i||((i=e.replacement=t.makeLayer(e.bb,e.level)).replaces=e,i.eles=e.eles),!i.reqs)for(var a=0;a<i.eles.length;a++)t.queueLayer(i,i.eles[a])})},ul.enqueueElementRefinement=function(e){this.eleTxrDeqs.merge(e),this.scheduleElementRefinement()},ul.queueLayer=function(e,t){var n=this.layersQueue,r=e.elesQueue,i=r.hasId=r.hasId||{};if(!e.replacement){if(t){if(i[t.id()])return;r.push(t),i[t.id()]=!0}e.reqs?(e.reqs++,n.updateItem(e)):(e.reqs=1,n.push(e))}},ul.dequeue=function(e){for(var t=this.layersQueue,n=[],r=0;r<1&&0!==t.size();){var i=t.peek();if(i.replacement||i.replaces&&i!==i.replaces.replacement||i.invalid){t.pop();continue}var a=i.elesQueue.shift();a&&(this.drawEleInLayer(i,a,i.level,e),r++),0===n.length&&n.push(!0),0===i.elesQueue.length&&(t.pop(),i.reqs=0,i.replaces&&this.applyLayerReplacement(i),this.requestRedraw())}return n},ul.applyLayerReplacement=function(e){var t=this.layersByLevel[e.level],n=e.replaces,r=t.indexOf(n);if(!(r<0)&&!n.invalid){t[r]=e;for(var i=0;i<e.eles.length;i++){var a=e.eles[i]._private,o=a.imgLayerCaches=a.imgLayerCaches||{};o&&(o[e.level]=e)}this.requestRedraw()}},ul.requestRedraw=eg(function(){var e=this.renderer;e.redrawHint("eles",!0),e.redrawHint("drag",!0),e.redraw()},100),ul.setupDequeueing=ut({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t){return e.dequeue(t)},onDeqd:eN,shouldRedraw:eR,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var uc={};function ud(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.lineTo(r.x,r.y)}}function uh(e,t,n){for(var r,i=0;i<t.length;i++){var a=t[i];0===i&&(r=a),e.lineTo(a.x,a.y)}e.quadraticCurveTo(n.x,n.y,r.x,r.y)}function uf(e,t,n){e.beginPath&&e.beginPath();for(var r=0;r<t.length;r++){var i=t[r];e.lineTo(i.x,i.y)}var a=n[0];e.moveTo(a.x,a.y);for(var r=1;r<n.length;r++){var i=n[r];e.lineTo(i.x,i.y)}e.closePath&&e.closePath()}function up(e,t,n,r,i){e.beginPath&&e.beginPath(),e.arc(n,r,i,0,2*Math.PI,!1);var a=t[0];e.moveTo(a.x,a.y);for(var o=0;o<t.length;o++){var s=t[o];e.lineTo(s.x,s.y)}e.closePath&&e.closePath()}function ug(e,t,n,r){e.arc(t,n,r,0,2*Math.PI,!1)}uc.arrowShapeImpl=function(e){return(b||(b={polygon:ud,"triangle-backcurve":uh,"triangle-tee":uf,"circle-triangle":up,"triangle-cross":uf,circle:ug}))[e]};var uv={};uv.drawElement=function(e,t,n,r,i,a){t.isNode()?this.drawNode(e,t,n,r,i,a):this.drawEdge(e,t,n,r,i,a)},uv.drawElementOverlay=function(e,t){t.isNode()?this.drawNodeOverlay(e,t):this.drawEdgeOverlay(e,t)},uv.drawElementUnderlay=function(e,t){t.isNode()?this.drawNodeUnderlay(e,t):this.drawEdgeUnderlay(e,t)},uv.drawCachedElementPortion=function(e,t,n,r,i,a,o,s){var l=n.getBoundingBox(t);if(0!==l.w&&0!==l.h){var u=n.getElement(t,l,r,i,a);if(null!=u){var c,d,h,f,p,g,v=s(this,t);if(0===v)return;var y=o(this,t),b=l.x1,x=l.y1,w=l.w,E=l.h;if(0!==y){var k=n.getRotationPoint(t);h=k.x,f=k.y,e.translate(h,f),e.rotate(y),(p=this.getImgSmoothing(e))||this.setImgSmoothing(e,!0);var T=n.getRotationOffset(t);c=T.x,d=T.y}else c=b,d=x;1!==v&&(g=e.globalAlpha,e.globalAlpha=g*v),e.drawImage(u.texture.canvas,u.x,0,u.width,u.height,c,d,w,E),1!==v&&(e.globalAlpha=g),0!==y&&(e.rotate(-y),e.translate(-h,-f),p||this.setImgSmoothing(e,!1))}else n.drawElement(e,t)}};var uy=function(){return 0},um=function(e,t){return e.getTextAngle(t,null)},ub=function(e,t){return e.getTextAngle(t,"source")},ux=function(e,t){return e.getTextAngle(t,"target")},uw=function(e,t){return t.effectiveOpacity()},uE=function(e,t){return t.pstyle("text-opacity").pfValue*t.effectiveOpacity()};uv.drawCachedElement=function(e,t,n,r,i,a){var o=this.data,s=o.eleTxrCache,l=o.lblTxrCache,u=o.slbTxrCache,c=o.tlbTxrCache,d=t.boundingBox(),h=!0===a?s.reasons.highQuality:null;if(0!==d.w&&0!==d.h&&t.visible()&&(!r||tD(d,r))){var f=t.isEdge(),p=t.element()._private.rscratch.badLine;this.drawElementUnderlay(e,t),this.drawCachedElementPortion(e,t,s,n,i,h,uy,uw),f&&p||this.drawCachedElementPortion(e,t,l,n,i,h,um,uE),f&&!p&&(this.drawCachedElementPortion(e,t,u,n,i,h,ub,uE),this.drawCachedElementPortion(e,t,c,n,i,h,ux,uE)),this.drawElementOverlay(e,t)}},uv.drawElements=function(e,t){for(var n=0;n<t.length;n++){var r=t[n];this.drawElement(e,r)}},uv.drawCachedElements=function(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i];this.drawCachedElement(e,a,n,r)}},uv.drawCachedNodes=function(e,t,n,r){for(var i=0;i<t.length;i++){var a=t[i];a.isNode()&&this.drawCachedElement(e,a,n,r)}},uv.drawLayeredElements=function(e,t,n,r){var i=this.data.lyrTxrCache.getLayers(t,n);if(i)for(var a=0;a<i.length;a++){var o=i[a],s=o.bb;0!==s.w&&0!==s.h&&e.drawImage(o.canvas,s.x1,s.y1,s.w,s.h)}else this.drawCachedElements(e,t,n,r)};var uk={};uk.drawEdge=function(e,t,n){var r,i=!(arguments.length>3)||void 0===arguments[3]||arguments[3],a=!(arguments.length>4)||void 0===arguments[4]||arguments[4],o=!(arguments.length>5)||void 0===arguments[5]||arguments[5],s=this,l=t._private.rscratch;if((!o||t.visible())&&!(l.badLine||null==l.allpts||isNaN(l.allpts[0]))){n&&(r=n,e.translate(-r.x1,-r.y1));var u=o?t.pstyle("opacity").value:1,c=o?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,f=t.pstyle("width").pfValue,p=t.pstyle("line-cap").value,g=t.pstyle("line-outline-width").value,v=t.pstyle("line-outline-color").value,y=u*c,b=u*c,x=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;"straight-triangle"===d?(s.eleStrokeStyle(e,t,n),s.drawEdgeTrianglePath(t,e,l.allpts)):(e.lineWidth=f,e.lineCap=p,s.eleStrokeStyle(e,t,n),s.drawEdgePath(t,e,l.allpts,h),e.lineCap="butt")},w=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b;s.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var E=t.pstyle("ghost-offset-x").pfValue,k=t.pstyle("ghost-offset-y").pfValue,T=y*t.pstyle("ghost-opacity").value;e.translate(E,k),x(T),w(T),e.translate(-E,-k)}else!function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;if(e.lineWidth=f+g,e.lineCap=p,g>0)s.colorStrokeStyle(e,v[0],v[1],v[2],n);else{e.lineCap="butt";return}"straight-triangle"===d?s.drawEdgeTrianglePath(t,e,l.allpts):(s.drawEdgePath(t,e,l.allpts,h),e.lineCap="butt")}();a&&s.drawEdgeUnderlay(e,t),x(),w(),a&&s.drawEdgeOverlay(e,t),s.drawElementText(e,t,null,i),n&&e.translate(r.x1,r.y1)}};var uT=function(e){if(!["overlay","underlay"].includes(e))throw Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this.usePaths(),a=n._private.rscratch,o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-color")).value;t.lineWidth=2*o,"self"!==a.edgeType||i?t.lineCap="round":t.lineCap="butt",this.colorStrokeStyle(t,s[0],s[1],s[2],r),this.drawEdgePath(n,t,a.allpts,"solid")}}}};uk.drawEdgeOverlay=uT("overlay"),uk.drawEdgeUnderlay=uT("underlay"),uk.drawEdgePath=function(e,t,n,r){var i=e._private.rscratch,a=t,s=!1,l=this.usePaths(),u=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(l){var d=n.join("$");i.pathCacheKey&&i.pathCacheKey===d?(p=t=i.pathCache,s=!0):(p=t=new Path2D,i.pathCacheKey=d,i.pathCache=p)}if(a.setLineDash)switch(r){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=c;break;case"solid":a.setLineDash([])}if(!s&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+3<n.length;h+=4)t.quadraticCurveTo(n[h],n[h+1],n[h+2],n[h+3]);break;case"straight":case"haystack":for(var f=2;f+1<n.length;f+=2)t.lineTo(n[f],n[f+1]);break;case"segments":if(i.isRound){var p,g,v=o(i.roundCorners);try{for(v.s();!(g=v.n()).done;){var y=g.value;lO(t,y)}}catch(e){v.e(e)}finally{v.f()}t.lineTo(n[n.length-2],n[n.length-1])}else for(var b=2;b+1<n.length;b+=2)t.lineTo(n[b],n[b+1])}t=a,l?t.stroke(p):t.stroke(),t.setLineDash&&t.setLineDash([])},uk.drawEdgeTrianglePath=function(e,t,n){t.fillStyle=t.strokeStyle;for(var r=e.pstyle("width").pfValue,i=0;i+1<n.length;i+=2){var a=[n[i+2]-n[i],n[i+3]-n[i+1]],o=Math.sqrt(a[0]*a[0]+a[1]*a[1]),s=[a[1]/o,-a[0]/o],l=[s[0]*r/2,s[1]*r/2];t.beginPath(),t.moveTo(n[i]-l[0],n[i+1]-l[1]),t.lineTo(n[i]+l[0],n[i+1]+l[1]),t.lineTo(n[i+2],n[i+3]),t.closePath(),t.fill()}},uk.drawArrowheads=function(e,t,n){var r=t._private.rscratch,i="haystack"===r.edgeType;i||this.drawArrowhead(e,t,"source",r.arrowStartX,r.arrowStartY,r.srcArrowAngle,n),this.drawArrowhead(e,t,"mid-target",r.midX,r.midY,r.midtgtArrowAngle,n),this.drawArrowhead(e,t,"mid-source",r.midX,r.midY,r.midsrcArrowAngle,n),i||this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,r.tgtArrowAngle,n)},uk.drawArrowhead=function(e,t,n,r,i,a,o){if(!(isNaN(r)||null==r||isNaN(i)||null==i||isNaN(a))&&null!=a){var s=t.pstyle(n+"-arrow-shape").value;if("none"!==s){var l="hollow"===t.pstyle(n+"-arrow-fill").value?"both":"filled",u=t.pstyle(n+"-arrow-fill").value,c=t.pstyle("width").pfValue,d=t.pstyle(n+"-arrow-width"),h="match-line"===d.value?c:d.pfValue;"%"===d.units&&(h*=c);var f=t.pstyle("opacity").value;void 0===o&&(o=f);var p=e.globalCompositeOperation;(1!==o||"hollow"===u)&&(e.globalCompositeOperation="destination-out",this.colorFillStyle(e,255,255,255,1),this.colorStrokeStyle(e,255,255,255,1),this.drawArrowShape(t,e,l,c,s,h,r,i,a),e.globalCompositeOperation=p);var g=t.pstyle(n+"-arrow-color").value;this.colorFillStyle(e,g[0],g[1],g[2],o),this.colorStrokeStyle(e,g[0],g[1],g[2],o),this.drawArrowShape(t,e,u,c,s,h,r,i,a)}}},uk.drawArrowShape=function(e,t,n,r,i,a,o,s,l){var u,c=this.usePaths()&&"triangle-cross"!==i,d=!1,h=t,f=e.pstyle("arrow-scale").value,p=this.getArrowWidth(r,f),g=this.arrowShapes[i];if(c){var v=this.arrowPathCache=this.arrowPathCache||[],y=eP(i),b=v[y];null!=b?(u=t=b,d=!0):(u=t=new Path2D,v[y]=u)}!d&&(t.beginPath&&t.beginPath(),c?g.draw(t,1,0,{x:0,y:0},1):g.draw(t,p,l,{x:o,y:s},r),t.closePath&&t.closePath()),t=h,c&&(t.translate(o,s),t.rotate(l),t.scale(p,p)),("filled"===n||"both"===n)&&(c?t.fill(u):t.fill()),("hollow"===n||"both"===n)&&(t.lineWidth=a/(c?p:1),t.lineJoin="miter",c?t.stroke(u):t.stroke()),c&&(t.scale(1/p,1/p),t.rotate(-l),t.translate(-o,-s))};var uC={};uC.safeDrawImage=function(e,t,n,r,i,a,o,s,l,u){if(!(i<=0)&&!(a<=0)&&!(l<=0)&&!(u<=0))try{e.drawImage(t,n,r,i,a,o,s,l,u)}catch(e){eV(e)}},uC.drawInscribedImage=function(e,t,n,r,i){var a=n.position(),o=a.x,s=a.y,l=n.cy().style(),u=l.getIndexedStyle.bind(l),c=u(n,"background-fit","value",r),d=u(n,"background-repeat","value",r),h=n.width(),f=n.height(),p=2*n.padding(),g=h+("inner"===u(n,"background-width-relative-to","value",r)?0:p),v=f+("inner"===u(n,"background-height-relative-to","value",r)?0:p),y=n._private.rscratch,b="node"===u(n,"background-clip","value",r),x=u(n,"background-image-opacity","value",r)*i,w=u(n,"background-image-smoothing","value",r),E=n.pstyle("corner-radius").value;"auto"!==E&&(E=n.pstyle("corner-radius").pfValue);var k=t.width||t.cachedW,T=t.height||t.cachedH;(null==k||null==T)&&(document.body.appendChild(t),k=t.cachedW=t.width||t.offsetWidth,T=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var C=k,P=T;if("auto"!==u(n,"background-width","value",r)&&(C="%"===u(n,"background-width","units",r)?u(n,"background-width","pfValue",r)*g:u(n,"background-width","pfValue",r)),"auto"!==u(n,"background-height","value",r)&&(P="%"===u(n,"background-height","units",r)?u(n,"background-height","pfValue",r)*v:u(n,"background-height","pfValue",r)),0!==C&&0!==P){if("contain"===c){var S=Math.min(g/C,v/P);C*=S,P*=S}else if("cover"===c){var S=Math.max(g/C,v/P);C*=S,P*=S}var B=o-g/2,D=u(n,"background-position-x","units",r),_=u(n,"background-position-x","pfValue",r);"%"===D?B+=(g-C)*_:B+=_;var A=u(n,"background-offset-x","units",r),M=u(n,"background-offset-x","pfValue",r);"%"===A?B+=(g-C)*M:B+=M;var R=s-v/2,I=u(n,"background-position-y","units",r),L=u(n,"background-position-y","pfValue",r);"%"===I?R+=(v-P)*L:R+=L;var N=u(n,"background-offset-y","units",r),z=u(n,"background-offset-y","pfValue",r);"%"===N?R+=(v-P)*z:R+=z,y.pathCache&&(B-=o,R-=s,o=0,s=0);var O=e.globalAlpha;e.globalAlpha=x;var V=this.getImgSmoothing(e),F=!1;if("no"===w&&V?(this.setImgSmoothing(e,!1),F=!0):"yes"!==w||V||(this.setImgSmoothing(e,!0),F=!0),"no-repeat"===d)b&&(e.save(),y.pathCache?e.clip(y.pathCache):(this.nodeShapes[this.getNodeShape(n)].draw(e,o,s,g,v,E,y),e.clip())),this.safeDrawImage(e,t,0,0,k,T,B,R,C,P),b&&e.restore();else{var X=e.createPattern(t,d);e.fillStyle=X,this.nodeShapes[this.getNodeShape(n)].draw(e,o,s,g,v,E,y),e.translate(B,R),e.fill(),e.translate(-B,-R)}e.globalAlpha=O,F&&this.setImgSmoothing(e,V)}};var uP={};function uS(e,t,n,r,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:5,o=Math.min(a,r/2,i/2);e.beginPath(),e.moveTo(t+o,n),e.lineTo(t+r-o,n),e.quadraticCurveTo(t+r,n,t+r,n+o),e.lineTo(t+r,n+i-o),e.quadraticCurveTo(t+r,n+i,t+r-o,n+i),e.lineTo(t+o,n+i),e.quadraticCurveTo(t,n+i,t,n+i-o),e.lineTo(t,n+o),e.quadraticCurveTo(t,n,t+o,n),e.closePath()}uP.eleTextBiggerThanMin=function(e,t){return t||(t=Math.pow(2,Math.ceil(tf(e.cy().zoom()*this.getPixelRatio())))),!(e.pstyle("font-size").pfValue*t<e.pstyle("min-zoomed-font-size").pfValue)},uP.drawElementText=function(e,t,n,r,i){var a,o=!(arguments.length>5)||void 0===arguments[5]||arguments[5];if(null==r){if(o&&!this.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var l=this.getLabelJustification(t),u="glyph"===t.pstyle("text-metrics").strValue;e.textAlign=l,e.textBaseline=u?"alphabetic":"bottom"}else{var c=t.element()._private.rscratch.badLine,d=t.pstyle("label"),h=t.pstyle("source-label"),f=t.pstyle("target-label");if(c||(!d||!d.value)&&(!h||!h.value)&&(!f||!f.value))return;e.textAlign="center",e.textBaseline="bottom"}var p=!n;n&&(a=n,e.translate(-a.x1,-a.y1)),null==i?(this.drawText(e,t,null,p,o),t.isEdge()&&(this.drawText(e,t,"source",p,o),this.drawText(e,t,"target",p,o))):this.drawText(e,t,i,p,o),n&&e.translate(a.x1,a.y1)},uP.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n<this.fontCaches.length;n++)if((t=this.fontCaches[n]).context===e)return t;return t={context:e},this.fontCaches.push(t),t},uP.setupTextStyle=function(e,t){var n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,l=t.pstyle("text-outline-opacity").value*s,u=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,u[0],u[1],u[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],l)},uP.getTextAngle=function(e,t){var n,r=e._private.rscratch,i=t?t+"-":"",a=e.pstyle(i+"text-rotation");if("autorotate"===a.strValue){var o=eK(r,"labelAngle",t);n=e.isEdge()?o:0}else n="none"===a.strValue?0:a.pfValue;return n},uP.drawText=function(e,t,n){var r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var s=eK(a,"labelX",n),l=eK(a,"labelY",n),u=this.getLabelText(t,n);if(null!=u&&""!==u&&!isNaN(s)&&!isNaN(l)){this.setupTextStyle(e,t,i);var c,d,h,f=n?n+"-":"",p=eK(a,"labelWidth",n),g=eK(a,"labelHeight",n),v=eK(a,"labelActualDescent",n),y=t.pstyle(f+"text-margin-x").pfValue,b=t.pstyle(f+"text-margin-y").pfValue,x=t.isEdge(),w=t.pstyle("text-halign").value,E=t.pstyle("text-valign").value;x&&(w="center",E="center"),s+=y,l+=b,0!==(h=r?this.getTextAngle(t,n):0)&&(c=s,d=l,e.translate(c,d),e.rotate(h),s=0,l=0);var k=rQ(w),T=rJ(E);switch(T){case"top":break;case"center":l+=g/2;break;case"bottom":l+=g}var C=t.pstyle("text-background-opacity").value,P=t.pstyle("text-border-opacity").value,S=t.pstyle("text-border-width").pfValue,B=t.pstyle("text-background-padding").pfValue,D=t.pstyle("text-background-shape").strValue,_="round-rectangle"===D||"roundrectangle"===D;if(C>0||S>0&&P>0){var A,M,R=e.fillStyle,I=e.strokeStyle,L=e.lineWidth,N=t.pstyle("text-background-color").value,z=t.pstyle("text-border-color").value,O=t.pstyle("text-border-style").value,V=C>0,F=S>0&&P>0,X=s-B;switch(k){case"left":X-=p;break;case"center":X-=p/2}var j=l-g-B,Y=p+2*B,q=g+2*B;if(V&&(e.fillStyle="rgba(".concat(N[0],",").concat(N[1],",").concat(N[2],",").concat(C*o,")")),F&&(e.strokeStyle="rgba(".concat(z[0],",").concat(z[1],",").concat(z[2],",").concat(P*o,")"),e.lineWidth=S,e.setLineDash))switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=S/4,e.setLineDash([]);break;default:e.setLineDash([])}if(_?(e.beginPath(),uS(e,X,j,Y,q,2)):"circle"===D?(e.beginPath(),A=X,M=Math.min(Y,q),e.beginPath(),e.arc(A+Y/2,j+q/2,M/2,0,2*Math.PI),e.closePath()):(e.beginPath(),e.rect(X,j,Y,q)),V&&e.fill(),F&&e.stroke(),F&&"double"===O){var W=S/2;e.beginPath(),_?uS(e,X+W,j+W,Y-2*W,q-2*W,2):e.rect(X+W,j+W,Y-2*W,q-2*W),e.stroke()}e.fillStyle=R,e.strokeStyle=I,e.lineWidth=L,e.setLineDash&&e.setLineDash([])}var U=2*t.pstyle("text-outline-width").pfValue;if(U>0&&(e.lineWidth=U),l-=v,"wrap"===t.pstyle("text-wrap").value){var H=eK(a,"labelWrapCachedLines",n),K=eK(a,"labelLineHeight",n),G=p/2,Z=this.getLabelJustification(t);switch("auto"===Z||("left"===k?"left"===Z?s+=-p:"center"===Z&&(s+=-G):"center"===k?"left"===Z?s+=-G:"right"===Z&&(s+=G):"right"===k&&("center"===Z?s+=G:"right"===Z&&(s+=p))),T){case"top":case"center":case"bottom":l-=(H.length-1)*K}for(var $=0;$<H.length;$++)U>0&&e.strokeText(H[$],s,l),e.fillText(H[$],s,l),l+=K}else U>0&&e.strokeText(u,s,l),e.fillText(u,s,l);0!==h&&(e.rotate(-h),e.translate(-c,-d))}}};var uB={};uB.drawNode=function(e,t,n){var r,i,a,o,s=!(arguments.length>3)||void 0===arguments[3]||arguments[3],l=!(arguments.length>4)||void 0===arguments[4]||arguments[4],u=!(arguments.length>5)||void 0===arguments[5]||arguments[5],c=this,d=t._private,h=d.rscratch,f=t.position();if(M(f.x)&&M(f.y)&&(!u||t.visible())){var p=u?t.effectiveOpacity():1,g=c.usePaths(),v=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(o=n,e.translate(-o.x1,-o.y1));for(var b=t.pstyle("background-image").value,x=Array(b.length),w=Array(b.length),E=0,k=0;k<b.length;k++){var T=b[k];if(x[k]=null!=T&&"none"!==T){var C=t.cy().style().getIndexedStyle(t,"background-image-crossorigin","value",k);E++,w[k]=c.getCachedImage(T,C,function(){d.backgroundTimestamp=Date.now(),t.emitAndNotify("background")})}}var P=t.pstyle("background-blacken").value,S=t.pstyle("border-width").pfValue,B=t.pstyle("background-opacity").value*p,D=t.pstyle("border-color").value,_=t.pstyle("border-style").value,A=t.pstyle("border-join").value,R=t.pstyle("border-cap").value,I=t.pstyle("border-position").value,L=t.pstyle("border-dash-pattern").pfValue,N=t.pstyle("border-dash-offset").pfValue,z=t.pstyle("border-opacity").value*p,O=t.pstyle("outline-width").pfValue,V=t.pstyle("outline-color").value,F=t.pstyle("outline-style").value,X=t.pstyle("outline-opacity").value*p,j=t.pstyle("outline-offset").value,Y=t.pstyle("corner-radius").value;"auto"!==Y&&(Y=t.pstyle("corner-radius").pfValue);var q=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:B;c.eleFillStyle(e,t,n)},W=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;c.colorStrokeStyle(e,D[0],D[1],D[2],t)},U=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:X;c.colorStrokeStyle(e,V[0],V[1],V[2],t)},H=function(e,t,n,r){var i,a=c.nodePathCache=c.nodePathCache||[],o=eS("polygon"===n?n+","+r.join(","):n,""+t,""+e,""+Y),s=a[o],l=!1;return null!=s?(l=!0,h.pathCache=i=s):(i=new Path2D,a[o]=h.pathCache=i),{path:i,cacheHit:l}},K=t.pstyle("shape").strValue,G=t.pstyle("shape-polygon-points").pfValue;if(g){e.translate(f.x,f.y);var Z=H(r,i,K,G);a=Z.path,v=Z.cacheHit}var $=function(){if(!v){var n=f;g&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(t)].draw(a||e,n.x,n.y,r,i,Y,h)}g?e.fill(a):e.fill()},Q=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=d.backgrounding,a=0,o=0;o<w.length;o++){var s=t.cy().style().getIndexedStyle(t,"background-image-containment","value",o);if(r&&"over"===s||!r&&"inside"===s){a++;continue}x[o]&&w[o].complete&&!w[o].error&&(a++,c.drawInscribedImage(e,w[o],t,o,n))}d.backgrounding=a!==E,i!==d.backgrounding&&t.updateStyle(!1)},J=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasPie(t)&&(c.drawPie(e,t,a),n&&!g&&c.nodeShapes[c.getNodeShape(t)].draw(e,f.x,f.y,r,i,Y,h))},ee=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;c.hasStripe(t)&&(e.save(),g?e.clip(h.pathCache):(c.nodeShapes[c.getNodeShape(t)].draw(e,f.x,f.y,r,i,Y,h),e.clip()),c.drawStripe(e,t,a),e.restore(),n&&!g&&c.nodeShapes[c.getNodeShape(t)].draw(e,f.x,f.y,r,i,Y,h))},et=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,n=P>0?0:255;0!==P&&(c.colorFillStyle(e,n,n,n,(P>0?P:-P)*t),g?e.fill(a):e.fill())},en=function(){if(S>0){if(e.lineWidth=S,e.lineCap=R,e.lineJoin=A,e.setLineDash)switch(_){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash(L),e.lineDashOffset=N;break;case"solid":case"double":e.setLineDash([])}if("center"!==I){if(e.save(),e.lineWidth*=2,"inside"===I)g?e.clip(a):e.clip();else{var t=new Path2D;t.rect(-r/2-S,-i/2-S,r+2*S,i+2*S),t.addPath(a),e.clip(t,"evenodd")}g?e.stroke(a):e.stroke(),e.restore()}else g?e.stroke(a):e.stroke();if("double"===_){e.lineWidth=S/3;var n=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",g?e.stroke(a):e.stroke(),e.globalCompositeOperation=n}e.setLineDash&&e.setLineDash([])}},er=function(){if(O>0){if(e.lineWidth=O,e.lineCap="butt",e.setLineDash)switch(F){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}var n=f;g&&(n={x:0,y:0});var a=c.getNodeShape(t),o=S;"inside"===I&&(o=0),"outside"===I&&(o*=2);var s=(r+o+(O+j))/r,l=(i+o+(O+j))/i,u=r*s,d=i*l,h=c.nodeShapes[a].points;if(g&&(C=H(u,d,a,h).path),"ellipse"===a)c.drawEllipsePath(C||e,n.x,n.y,u,d);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var p=0,v=0,y=0;"round-diamond"===a?p=(o+j+O)*1.4:"round-heptagon"===a?(p=(o+j+O)*1.075,y=-(o/2+j+O)/35):"round-hexagon"===a?p=(o+j+O)*1.12:"round-pentagon"===a?(p=(o+j+O)*1.13,y=-(o/2+j+O)/15):"round-tag"===a?(p=(o+j+O)*1.12,v=(o/2+O+j)*.07):"round-triangle"===a&&(p=Math.PI/2*(o+j+O),y=-(o+j/2+O)/Math.PI),0!==p&&(s=(r+p)/r,u=r*s,["round-hexagon","round-tag"].includes(a)||(l=(i+p)/i,d=i*l)),Y="auto"===Y?t4(u,d):Y;for(var b=u/2,x=d/2,w=Y+(o+O+j)/2,E=Array(h.length/2),k=Array(h.length/2),T=0;T<h.length/2;T++)E[T]={x:n.x+v+b*h[2*T],y:n.y+y+x*h[2*T+1]};var C,P,B,D,_,A=E.length;for(P=0,B=E[A-1];P<A;P++)D=E[P%A],_=E[(P+1)%A],k[P]=lV(B,D,_,w),B=D,D=_;c.drawRoundPolygonPath(C||e,n.x+v,n.y+y,r*s,i*l,h,k)}else["roundrectangle","round-rectangle"].includes(a)?(Y="auto"===Y?t3(u,d):Y,c.drawRoundRectanglePath(C||e,n.x,n.y,u,d,Y+(o+O+j)/2)):["cutrectangle","cut-rectangle"].includes(a)?(Y="auto"===Y?t9():Y,c.drawCutRectanglePath(C||e,n.x,n.y,u,d,null,Y+(o+O+j)/4)):["bottomroundrectangle","bottom-round-rectangle"].includes(a)?(Y="auto"===Y?t3(u,d):Y,c.drawBottomRoundRectanglePath(C||e,n.x,n.y,u,d,Y+(o+O+j)/2)):"barrel"===a?c.drawBarrelPath(C||e,n.x,n.y,u,d):(h=a.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(a)?tq(tW(h,(o+O+j)/r)):tq(tW(h,-((o+O+j)/r))),c.drawPolygonPath(C||e,n.x,n.y,r,i,h));if(g?e.stroke(C):e.stroke(),"double"===F){e.lineWidth=o/3;var M=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",g?e.stroke(C):e.stroke(),e.globalCompositeOperation=M}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var ei=t.pstyle("ghost-offset-x").pfValue,ea=t.pstyle("ghost-offset-y").pfValue,eo=t.pstyle("ghost-opacity").value,es=eo*p;e.translate(ei,ea),U(),er(),q(eo*B),$(),Q(es,!0),W(eo*z),en(),J(0!==P||0!==S),ee(0!==P||0!==S),Q(es,!1),et(es),e.translate(-ei,-ea)}g&&e.translate(-f.x,-f.y),l&&c.drawNodeUnderlay(e,t,f,r,i),g&&e.translate(f.x,f.y),U(),er(),q(),$(),Q(p,!0),W(),en(),J(0!==P||0!==S),ee(0!==P||0!==S),Q(p,!1),et(),g&&e.translate(-f.x,-f.y),c.drawElementText(e,t,null,s),l&&c.drawNodeOverlay(e,t,f,r,i),n&&e.translate(o.x1,o.y1)}};var uD=function(e){if(!["overlay","underlay"].includes(e))throw Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,l=n.pstyle("".concat(e,"-color")).value,u=n.pstyle("".concat(e,"-shape")).value,c=n.pstyle("".concat(e,"-corner-radius")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var d=n.padding();i=n.width()+2*d,a=n.height()+2*d}this.colorFillStyle(t,l[0],l[1],l[2],s),this.nodeShapes[u].draw(t,r.x,r.y,i+2*o,a+2*o,c),t.fill()}}}};uB.drawNodeOverlay=uD("overlay"),uB.drawNodeUnderlay=uD("underlay"),uB.hasPie=function(e){return(e=e[0])._private.hasPie},uB.hasStripe=function(e){return(e=e[0])._private.hasStripe},uB.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i,a=t.cy().style(),o=t.pstyle("pie-size"),s=t.pstyle("pie-hole"),l=t.pstyle("pie-start-angle").pfValue,u=r.x,c=r.y,d=Math.min(t.width(),t.height())/2,h=0;if(this.usePaths()&&(u=0,c=0),"%"===o.units?d*=o.pfValue:void 0!==o.pfValue&&(d=o.pfValue/2),"%"===s.units?i=d*s.pfValue:void 0!==s.pfValue&&(i=s.pfValue/2),!(i>=d))for(var f=1;f<=a.pieBackgroundN;f++){var p=t.pstyle("pie-"+f+"-background-size").value,g=t.pstyle("pie-"+f+"-background-color").value,v=t.pstyle("pie-"+f+"-background-opacity").value*n,y=p/100;y+h>1&&(y=1-h);var b=1.5*Math.PI+2*Math.PI*h,x=2*Math.PI*y,w=(b+=l)+x;0===p||h>=1||h+y>1||(0===i?(e.beginPath(),e.moveTo(u,c),e.arc(u,c,d,b,w)):(e.beginPath(),e.arc(u,c,d,b,w),e.arc(u,c,i,w,b,!0)),e.closePath(),this.colorFillStyle(e,g[0],g[1],g[2],v),e.fill(),h+=y)}},uB.drawStripe=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=r.x,o=r.y,s=t.width(),l=t.height(),u=0,c=this.usePaths();e.save();var d=t.pstyle("stripe-direction").value,h=t.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":e.rotate(-Math.PI/2)}var f=s,p=l;"%"===h.units?(f*=h.pfValue,p*=h.pfValue):void 0!==h.pfValue&&(f=h.pfValue,p=h.pfValue),c&&(a=0,o=0),o-=f/2,a-=p/2;for(var g=1;g<=i.stripeBackgroundN;g++){var v=t.pstyle("stripe-"+g+"-background-size").value,y=t.pstyle("stripe-"+g+"-background-color").value,b=t.pstyle("stripe-"+g+"-background-opacity").value*n,x=v/100;x+u>1&&(x=1-u),0===v||u>=1||u+x>1||(e.beginPath(),e.rect(a,o+p*u,f,p*x),e.closePath(),this.colorFillStyle(e,y[0],y[1],y[2],b),e.fill(),u+=x)}e.restore()};var u_={};function uA(e,t,n){var r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS))throw Error(e.getShaderInfoLog(r));return r}function uM(e,t,n){void 0===n&&(n=t);var r=e.makeOffscreenCanvas(t,n),i=r.context=r.getContext("2d");return r.clear=function(){return i.clearRect(0,0,r.width,r.height)},r.clear(),r}function uR(e){var t=e.pixelRatio,n=e.cy.zoom(),r=e.cy.pan();return{zoom:n*t,pan:{x:r.x*t,y:r.y*t}}}function uI(e,t){return!!t.picking||"solid"===e.pstyle("background-fill").value&&"none"===e.pstyle("background-image").strValue&&(0===e.pstyle("border-width").value||0===e.pstyle("border-opacity").value||"solid"===e.pstyle("border-style").value)}function uL(e,t,n){var r=e[0]/255,i=e[1]/255,a=e[2]/255,o=n||[,,,,];return o[0]=r*t,o[1]=i*t,o[2]=a*t,o[3]=t,o}function uN(e,t){var n=t||[,,,,];return n[0]=(255&e)/255,n[1]=(e>>8&255)/255,n[2]=(e>>16&255)/255,n[3]=(e>>24&255)/255,n}function uz(e,t){switch(t){case"float":return[1,e.FLOAT,4];case"vec2":return[2,e.FLOAT,4];case"vec3":return[3,e.FLOAT,4];case"vec4":return[4,e.FLOAT,4];case"int":return[1,e.INT,4];case"ivec2":return[2,e.INT,4]}}function uO(e,t,n){switch(t){case e.FLOAT:return new Float32Array(n);case e.INT:return new Int32Array(n)}}function uV(e,t,n,r){var i=l(uz(e,n),3),a=i[0],o=i[1],s=i[2],u=uO(e,o,t*a),c=a*s,d=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,d),e.bufferData(e.ARRAY_BUFFER,t*c,e.DYNAMIC_DRAW),e.enableVertexAttribArray(r),o===e.FLOAT?e.vertexAttribPointer(r,a,o,!1,c,0):o===e.INT&&e.vertexAttribIPointer(r,a,o,c,0),e.vertexAttribDivisor(r,1),e.bindBuffer(e.ARRAY_BUFFER,null);for(var h=Array(t),f=0;f<t;f++)h[f]=function(e,t,n,r,i,a){switch(t){case e.FLOAT:return new Float32Array(n.buffer,a*r,i);case e.INT:return new Int32Array(n.buffer,a*r,i)}}(e,o,u,c,a,f);return d.dataArray=u,d.stride=c,d.size=a,d.getView=function(e){return h[e]},d.setPoint=function(e,t,n){var r=h[e];r[0]=t,r[1]=n},d.bufferSubData=function(t){e.bindBuffer(e.ARRAY_BUFFER,d),t?e.bufferSubData(e.ARRAY_BUFFER,0,u,0,t*a):e.bufferSubData(e.ARRAY_BUFFER,0,u)},d}u_.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=this.cy.window(),n=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(t.devicePixelRatio||1)/n},u_.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;i<n.length;i++)if((t=n[i]).context===e){r=!1;break}return r&&(t={context:e},n.push(t)),t},u_.createGradientStyleFor=function(e,t,n,r,i){var a,o=this.usePaths(),s=n.pstyle(t+"-gradient-stop-colors").value,l=n.pstyle(t+"-gradient-stop-positions").pfValue;if("radial-gradient"===r)if(n.isEdge()){var u=n.sourceEndpoint(),c=n.targetEndpoint(),d=n.midpoint(),h=tg(u,d),f=tg(c,d);a=e.createRadialGradient(d.x,d.y,0,d.x,d.y,Math.max(h,f))}else{var p=o?{x:0,y:0}:n.position(),g=n.paddedWidth(),v=n.paddedHeight();a=e.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(g,v))}else if(n.isEdge()){var y=n.sourceEndpoint(),b=n.targetEndpoint();a=e.createLinearGradient(y.x,y.y,b.x,b.y)}else{var x=o?{x:0,y:0}:n.position(),w=n.paddedWidth(),E=n.paddedHeight(),k=w/2,T=E/2;switch(n.pstyle("background-gradient-direction").value){case"to-bottom":a=e.createLinearGradient(x.x,x.y-T,x.x,x.y+T);break;case"to-top":a=e.createLinearGradient(x.x,x.y+T,x.x,x.y-T);break;case"to-left":a=e.createLinearGradient(x.x+k,x.y,x.x-k,x.y);break;case"to-right":a=e.createLinearGradient(x.x-k,x.y,x.x+k,x.y);break;case"to-bottom-right":case"to-right-bottom":a=e.createLinearGradient(x.x-k,x.y-T,x.x+k,x.y+T);break;case"to-top-right":case"to-right-top":a=e.createLinearGradient(x.x-k,x.y+T,x.x+k,x.y-T);break;case"to-bottom-left":case"to-left-bottom":a=e.createLinearGradient(x.x+k,x.y-T,x.x-k,x.y+T);break;case"to-top-left":case"to-left-top":a=e.createLinearGradient(x.x+k,x.y+T,x.x-k,x.y-T)}}if(!a)return null;for(var C=l.length===s.length,P=s.length,S=0;S<P;S++)a.addColorStop(C?l[S]:S/(P-1),"rgba("+s[S][0]+","+s[S][1]+","+s[S][2]+","+i+")");return a},u_.gradientFillStyle=function(e,t,n,r){var i=this.createGradientStyleFor(e,"background",t,n,r);if(!i)return null;e.fillStyle=i},u_.colorFillStyle=function(e,t,n,r,i){e.fillStyle="rgba("+t+","+n+","+r+","+i+")"},u_.eleFillStyle=function(e,t,n){var r=t.pstyle("background-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientFillStyle(e,t,r,n);else{var i=t.pstyle("background-color").value;this.colorFillStyle(e,i[0],i[1],i[2],n)}},u_.gradientStrokeStyle=function(e,t,n,r){var i=this.createGradientStyleFor(e,"line",t,n,r);if(!i)return null;e.strokeStyle=i},u_.colorStrokeStyle=function(e,t,n,r,i){e.strokeStyle="rgba("+t+","+n+","+r+","+i+")"},u_.eleStrokeStyle=function(e,t,n){var r=t.pstyle("line-fill").value;if("linear-gradient"===r||"radial-gradient"===r)this.gradientStrokeStyle(e,t,r,n);else{var i=t.pstyle("line-color").value;this.colorStrokeStyle(e,i[0],i[1],i[2],n)}},u_.matchCanvasSize=function(e){var t,n=this.data,r=this.findContainerClientCoords(),i=r[2],a=r[3],o=this.getPixelRatio(),s=this.motionBlurPxRatio;(e===this.data.bufferCanvases[this.MOTIONBLUR_BUFFER_NODE]||e===this.data.bufferCanvases[this.MOTIONBLUR_BUFFER_DRAG])&&(o=s);var l=i*o,u=a*o;if(l!==this.canvasWidth||u!==this.canvasHeight){this.fontCaches=null;var c=n.canvasContainer;c.style.width=i+"px",c.style.height=a+"px";for(var d=0;d<this.CANVAS_LAYERS;d++)(t=n.canvases[d]).width=l,t.height=u,t.style.width=i+"px",t.style.height=a+"px";for(var d=0;d<this.BUFFER_COUNT;d++)(t=n.bufferCanvases[d]).width=l,t.height=u,t.style.width=i+"px",t.style.height=a+"px";this.textureMult=1,o<=1&&(t=n.bufferCanvases[this.TEXTURE_BUFFER],this.textureMult=2,t.width=l*this.textureMult,t.height=u*this.textureMult),this.canvasWidth=l,this.canvasHeight=u,this.pixelRatio=o}},u_.renderTo=function(e,t,n,r){this.render({forcedContext:e,forcedZoom:t,forcedPan:n,drawAllLayers:!0,forcedPxRatio:r})},u_.clearCanvas=function(){var e=this,t=e.data;function n(t){t.clearRect(0,0,e.canvasWidth,e.canvasHeight)}n(t.contexts[e.NODE]),n(t.contexts[e.DRAG])},u_.render=function(e){var t=this;e=e||eY();var n=t.cy,r=e.forcedContext,i=e.drawAllLayers,a=e.drawOnlyNodeLayer,o=e.forcedZoom,s=e.forcedPan,l=void 0===e.forcedPxRatio?this.getPixelRatio():e.forcedPxRatio,u=t.data,c=u.canvasNeedsRedraw,d=t.textureOnViewport&&!r&&(t.pinching||t.hoverData.dragging||t.swipePanning||t.data.wheelZooming),h=void 0!==e.motionBlur?e.motionBlur:t.motionBlur,f=t.motionBlurPxRatio,p=n.hasCompoundNodes(),g=t.hoverData.draggingEles,v=!!t.hoverData.selecting||!!t.touchData.selecting,y=h=h&&!r&&t.motionBlurEnabled&&!v;r||(t.prevPxRatio!==l&&(t.invalidateContainerClientCoordsCache(),t.matchCanvasSize(t.container),t.redrawHint("eles",!0),t.redrawHint("drag",!0)),t.prevPxRatio=l),!r&&t.motionBlurTimeout&&clearTimeout(t.motionBlurTimeout),h&&(null==t.mbFrames&&(t.mbFrames=0),t.mbFrames++,t.mbFrames<3&&(y=!1),t.mbFrames>t.minMbLowQualFrames&&(t.motionBlurPxRatio=t.mbPxRBlurry)),t.clearingMotionBlur&&(t.motionBlurPxRatio=1),t.textureDrawLastFrame&&!d&&(c[t.NODE]=!0,c[t.SELECT_BOX]=!0);var b=n.style(),x=n.zoom(),w=void 0!==o?o:x,E=n.pan(),k={x:E.x,y:E.y},T={zoom:x,pan:{x:E.x,y:E.y}},C=t.prevViewport;void 0===C||T.zoom!==C.zoom||T.pan.x!==C.pan.x||T.pan.y!==C.pan.y||g&&!p||(t.motionBlurPxRatio=1),s&&(k=s),w*=l,k.x*=l,k.y*=l;var P=t.getCachedZSortedEles();function S(e,n,r,i,a){var o=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",t.colorFillStyle(e,255,255,255,t.motionBlurTransparency),e.fillRect(n,r,i,a),e.globalCompositeOperation=o}function B(e,n){var a,l,c,d;t.clearingMotionBlur||e!==u.bufferContexts[t.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[t.MOTIONBLUR_BUFFER_DRAG]?(a=k,l=w,c=t.canvasWidth,d=t.canvasHeight):(a={x:E.x*f,y:E.y*f},l=x*f,c=t.canvasWidth*f,d=t.canvasHeight*f),e.setTransform(1,0,0,1,0,0),"motionBlur"===n?S(e,0,0,c,d):!r&&(void 0===n||n)&&e.clearRect(0,0,c,d),i||(e.translate(a.x,a.y),e.scale(l,l)),s&&e.translate(s.x,s.y),o&&e.scale(o,o)}if(d||(t.textureDrawLastFrame=!1),d){if(t.textureDrawLastFrame=!0,!t.textureCache){t.textureCache={},t.textureCache.bb=n.mutableElements().boundingBox(),t.textureCache.texture=t.data.bufferCanvases[t.TEXTURE_BUFFER];var D=t.data.bufferContexts[t.TEXTURE_BUFFER];D.setTransform(1,0,0,1,0,0),D.clearRect(0,0,t.canvasWidth*t.textureMult,t.canvasHeight*t.textureMult),t.render({forcedContext:D,drawOnlyNodeLayer:!0,forcedPxRatio:l*t.textureMult});var T=t.textureCache.viewport={zoom:n.zoom(),pan:n.pan(),width:t.canvasWidth,height:t.canvasHeight};T.mpan={x:(0-T.pan.x)/T.zoom,y:(0-T.pan.y)/T.zoom}}c[t.DRAG]=!1,c[t.NODE]=!1;var _=u.contexts[t.NODE],A=t.textureCache.texture,T=t.textureCache.viewport;_.setTransform(1,0,0,1,0,0),h?S(_,0,0,T.width,T.height):_.clearRect(0,0,T.width,T.height);var M=b.core("outside-texture-bg-color").value,R=b.core("outside-texture-bg-opacity").value;t.colorFillStyle(_,M[0],M[1],M[2],R),_.fillRect(0,0,T.width,T.height);var x=n.zoom();B(_,!1),_.clearRect(T.mpan.x,T.mpan.y,T.width/T.zoom/l,T.height/T.zoom/l),_.drawImage(A,T.mpan.x,T.mpan.y,T.width/T.zoom/l,T.height/T.zoom/l)}else t.textureOnViewport&&!r&&(t.textureCache=null);var I=n.extent(),L=t.pinching||t.hoverData.dragging||t.swipePanning||t.data.wheelZooming||t.hoverData.draggingEles||t.cy.animated(),N=t.hideEdgesOnViewport&&L,z=[];if(z[t.NODE]=!c[t.NODE]&&h&&!t.clearedForMotionBlur[t.NODE]||t.clearingMotionBlur,z[t.NODE]&&(t.clearedForMotionBlur[t.NODE]=!0),z[t.DRAG]=!c[t.DRAG]&&h&&!t.clearedForMotionBlur[t.DRAG]||t.clearingMotionBlur,z[t.DRAG]&&(t.clearedForMotionBlur[t.DRAG]=!0),c[t.NODE]||i||a||z[t.NODE]){var O=h&&!z[t.NODE]&&1!==f,_=r||(O?t.data.bufferContexts[t.MOTIONBLUR_BUFFER_NODE]:u.contexts[t.NODE]);B(_,h&&!O?"motionBlur":void 0),N?t.drawCachedNodes(_,P.nondrag,l,I):t.drawLayeredElements(_,P.nondrag,l,I),t.debug&&t.drawDebugPoints(_,P.nondrag),i||h||(c[t.NODE]=!1)}if(!a&&(c[t.DRAG]||i||z[t.DRAG])){var O=h&&!z[t.DRAG]&&1!==f,_=r||(O?t.data.bufferContexts[t.MOTIONBLUR_BUFFER_DRAG]:u.contexts[t.DRAG]);B(_,h&&!O?"motionBlur":void 0),N?t.drawCachedNodes(_,P.drag,l,I):t.drawCachedElements(_,P.drag,l,I),t.debug&&t.drawDebugPoints(_,P.drag),i||h||(c[t.DRAG]=!1)}if(this.drawSelectionRectangle(e,B),h&&1!==f){var V=u.contexts[t.NODE],F=t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE],X=u.contexts[t.DRAG],j=t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG],Y=function(e,n,r){e.setTransform(1,0,0,1,0,0),r||!y?e.clearRect(0,0,t.canvasWidth,t.canvasHeight):S(e,0,0,t.canvasWidth,t.canvasHeight),e.drawImage(n,0,0,t.canvasWidth*f,t.canvasHeight*f,0,0,t.canvasWidth,t.canvasHeight)};(c[t.NODE]||z[t.NODE])&&(Y(V,F,z[t.NODE]),c[t.NODE]=!1),(c[t.DRAG]||z[t.DRAG])&&(Y(X,j,z[t.DRAG]),c[t.DRAG]=!1)}t.prevViewport=T,t.clearingMotionBlur&&(t.clearingMotionBlur=!1,t.motionBlurCleared=!0,t.motionBlur=!0),h&&(t.motionBlurTimeout=setTimeout(function(){t.motionBlurTimeout=null,t.clearedForMotionBlur[t.NODE]=!1,t.clearedForMotionBlur[t.DRAG]=!1,t.motionBlur=!1,t.clearingMotionBlur=!d,t.mbFrames=0,c[t.NODE]=!0,c[t.DRAG]=!0,t.redraw()},100)),r||n.emit("render")},u_.drawSelectionRectangle=function(e,t){var n=this.cy,r=this.data,i=n.style(),a=e.drawOnlyNodeLayer,o=e.drawAllLayers,s=r.canvasNeedsRedraw,l=e.forcedContext;if(this.showFps||!a&&s[this.SELECT_BOX]&&!o){var u=l||r.contexts[this.SELECT_BOX];if(t(u),1==this.selection[4]&&(this.hoverData.selecting||this.touchData.selecting)){var c=this.cy.zoom(),d=i.core("selection-box-border-width").value/c;u.lineWidth=d,u.fillStyle="rgba("+i.core("selection-box-color").value[0]+","+i.core("selection-box-color").value[1]+","+i.core("selection-box-color").value[2]+","+i.core("selection-box-opacity").value+")",u.fillRect(this.selection[0],this.selection[1],this.selection[2]-this.selection[0],this.selection[3]-this.selection[1]),d>0&&(u.strokeStyle="rgba("+i.core("selection-box-border-color").value[0]+","+i.core("selection-box-border-color").value[1]+","+i.core("selection-box-border-color").value[2]+","+i.core("selection-box-opacity").value+")",u.strokeRect(this.selection[0],this.selection[1],this.selection[2]-this.selection[0],this.selection[3]-this.selection[1]))}if(r.bgActivePosistion&&!this.hoverData.selecting){var c=this.cy.zoom(),h=r.bgActivePosistion;u.fillStyle="rgba("+i.core("active-bg-color").value[0]+","+i.core("active-bg-color").value[1]+","+i.core("active-bg-color").value[2]+","+i.core("active-bg-opacity").value+")",u.beginPath(),u.arc(h.x,h.y,i.core("active-bg-size").pfValue/c,0,2*Math.PI),u.fill()}var f=this.lastRedrawTime;if(this.showFps&&f){var p=Math.round(1e3/(f=Math.round(f))),g="1 frame = "+f+" ms = "+p+" fps";u.setTransform(1,0,0,1,0,0),u.fillStyle="rgba(255, 0, 0, 0.75)",u.strokeStyle="rgba(255, 0, 0, 0.75)",u.font="30px Arial",x||(x=u.measureText(g).actualBoundingBoxAscent),u.fillText(g,0,x),u.strokeRect(0,x+10,250,20),u.fillRect(0,x+10,250*Math.min(p/60,1),20)}o||(s[this.SELECT_BOX]=!1)}};var uF="u">typeof Float32Array?Float32Array:Array;function uX(){var e=new uF(9);return uF!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function uj(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e}function uY(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=n[0],f=n[1];return e[0]=r,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=h*r+f*o+u,e[7]=h*i+f*s+c,e[8]=h*a+f*l+d,e}function uq(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=Math.sin(n),f=Math.cos(n);return e[0]=f*r+h*o,e[1]=f*i+h*s,e[2]=f*a+h*l,e[3]=f*o-h*r,e[4]=f*s-h*i,e[5]=f*l-h*a,e[6]=u,e[7]=c,e[8]=d,e}function uW(e,t,n){var r=n[0],i=n[1];return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=i*t[3],e[4]=i*t[4],e[5]=i*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var uU=a(function e(t,n,r,a){i(this,e),this.debugID=Math.floor(1e4*Math.random()),this.r=t,this.texSize=n,this.texRows=r,this.texHeight=Math.floor(n/r),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=a(t,n,n),this.scratch=a(t,n,this.texHeight,"scratch")},[{key:"lock",value:function(){this.locked=!0}},{key:"getKeys",value:function(){return new Set(this.keyToLocation.keys())}},{key:"getScale",value:function(e){var t=e.w,n=e.h,r=this.texHeight,i=this.texSize,a=r/n,o=t*a,s=n*a;return o>i&&(a=i/t,o=t*a,s=n*a),{scale:a,texW:o,texH:s}}},{key:"draw",value:function(e,t,n){var r,i,a,o,s,l,u,c=this;if(this.locked)throw Error("can't draw, atlas is locked");var d=this.texSize,h=this.texRows,f=this.texHeight,p=this.getScale(t),g=p.scale,v=p.texW,y=p.texH,b=function(e,r){if(n&&r){var i=r.context,a=e.x,o=f*e.row;i.save(),i.translate(a,o),i.scale(g,g),n(i,t),i.restore()}},x=[null,null],w=function(){b(c.freePointer,c.canvas),x[0]={x:c.freePointer.x,y:c.freePointer.row*f,w:v,h:y},x[1]={x:c.freePointer.x+v,y:c.freePointer.row*f,w:0,h:y},c.freePointer.x+=v,c.freePointer.x==d&&(c.freePointer.x=0,c.freePointer.row++)},E=function(){c.freePointer.x=0,c.freePointer.row++};if(this.freePointer.x+v<=d)w();else{if(this.freePointer.row>=h-1)return!1;this.freePointer.x===d?(E(),w()):this.enableWrapping?(r=c.scratch,i=c.canvas,r.clear(),b({x:0,row:0},r),o=v-(a=d-c.freePointer.x),s=c.freePointer.x,l=c.freePointer.row*f,i.context.drawImage(r,0,0,a,f,s,l,a,f),x[0]={x:s,y:l,w:a,h:y},u=(c.freePointer.row+1)*f,i&&i.context.drawImage(r,a,0,o,f,0,u,o,f),x[1]={x:0,y:u,w:o,h:y},c.freePointer.x=o,c.freePointer.row++):(E(),w())}return this.keyToLocation.set(e,x),this.needsBuffer=!0,x}},{key:"getOffsets",value:function(e){return this.keyToLocation.get(e)}},{key:"isEmpty",value:function(){return 0===this.freePointer.x&&0===this.freePointer.row}},{key:"canFit",value:function(e){if(this.locked)return!1;var t=this.texSize,n=this.texRows,r=this.getScale(e).texW;return!(this.freePointer.x+r>t)||this.freePointer.row<n-1}},{key:"bufferIfNeeded",value:function(e){var t;this.texture||(this.texture=(this.debugID,(t=e.createTexture()).buffer=function(n){e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_NEAREST),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n),e.generateMipmap(e.TEXTURE_2D),e.bindTexture(e.TEXTURE_2D,null)},t.deleteTexture=function(){e.deleteTexture(t)},t)),this.needsBuffer&&(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked&&(this.canvas=null,this.scratch=null))}},{key:"dispose",value:function(){this.texture&&(this.texture.deleteTexture(),this.texture=null),this.canvas=null,this.scratch=null,this.locked=!0}}]),uH=a(function e(t,n,r,a){i(this,e),this.r=t,this.texSize=n,this.texRows=r,this.createTextureCanvas=a,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set},[{key:"getKeys",value:function(){return new Set(this.styleKeyToAtlas.keys())}},{key:"_createAtlas",value:function(){return new uU(this.r,this.texSize,this.texRows,this.createTextureCanvas)}},{key:"_getScratchCanvas",value:function(){if(!this.scratch){var e=this.r,t=this.texSize,n=this.texRows,r=this.createTextureCanvas,i=Math.floor(t/n);this.scratch=r(e,t,i,"scratch")}return this.scratch}},{key:"draw",value:function(e,t,n){var r=this.styleKeyToAtlas.get(e);return r||((r=this.atlases[this.atlases.length-1])&&r.canFit(t)||(r&&r.lock(),r=this._createAtlas(),this.atlases.push(r)),r.draw(e,t,n),this.styleKeyToAtlas.set(e,r)),r}},{key:"getAtlas",value:function(e){return this.styleKeyToAtlas.get(e)}},{key:"hasAtlas",value:function(e){return this.styleKeyToAtlas.has(e)}},{key:"markKeyForGC",value:function(e){this.markedKeys.add(e)}},{key:"gc",value:function(){var e=this,t=this.markedKeys;if(0===t.size)return void console.log("nothing to garbage collect");var n,r=[],i=new Map,a=null,s=o(this.atlases);try{for(s.s();!(n=s.n()).done;)if(function(){var s=n.value,c=s.getKeys(),d=function(e,t){return e.intersection?e.intersection(t):new Set(u(e).filter(function(e){return t.has(e)}))}(t,c);if(0===d.size)return r.push(s),c.forEach(function(e){return i.set(e,s)}),1;a||(a=e._createAtlas(),r.push(a));var h,f=o(c);try{for(f.s();!(h=f.n()).done;){var p=h.value;if(!d.has(p)){var g=s.getOffsets(p),v=l(g,2),y=v[0],b=v[1];a.canFit({w:y.w+b.w,h:y.h})||(a.lock(),a=e._createAtlas(),r.push(a)),s.canvas&&(e._copyTextureToNewAtlas(p,s,a),i.set(p,a))}}}catch(e){f.e(e)}finally{f.f()}s.dispose()}())continue}catch(e){s.e(e)}finally{s.f()}this.atlases=r,this.styleKeyToAtlas=i,this.markedKeys=new Set}},{key:"_copyTextureToNewAtlas",value:function(e,t,n){var r=l(t.getOffsets(e),2),i=r[0],a=r[1];if(0===a.w)n.draw(e,i,function(e){e.drawImage(t.canvas,i.x,i.y,i.w,i.h,0,0,i.w,i.h)});else{var o=this._getScratchCanvas();o.clear(),o.context.drawImage(t.canvas,i.x,i.y,i.w,i.h,0,0,i.w,i.h),o.context.drawImage(t.canvas,a.x,a.y,a.w,a.h,i.w,0,a.w,a.h);var s=i.w+a.w,u=i.h;n.draw(e,{w:s,h:u},function(e){e.drawImage(o,0,0,s,u,0,0,s,u)})}}},{key:"getCounts",value:function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}}}]),uK=a(function e(t,n){i(this,e),this.r=t,this.globalOptions=n,this.atlasSize=n.webglTexSize,this.maxAtlasesPerBatch=n.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map},[{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"addAtlasCollection",value:function(e,t){var n=this.globalOptions,r=n.webglTexSize,i=n.createTextureCanvas,a=t.texRows,o=this._cacheScratchCanvas(i),s=new uH(this.r,r,a,o);this.collections.set(e,s)}},{key:"addRenderType",value:function(e,t){var n=t.collection;if(!this.collections.has(n))throw Error("invalid atlas collection name '".concat(n,"'"));var r=ee({type:e,atlasCollection:this.collections.get(n)},t);this.renderTypes.set(e,r)}},{key:"getRenderTypeOpts",value:function(e){return this.renderTypes.get(e)}},{key:"getAtlasCollection",value:function(e){return this.collections.get(e)}},{key:"_cacheScratchCanvas",value:function(e){var t=-1,n=-1,r=null;return function(i,a,o,s){return s?(r&&a==t&&o==n||(t=a,n=o,r=e(i,a,o)),r):e(i,a,o)}}},{key:"_key",value:function(e,t){return"".concat(e,"-").concat(t)}},{key:"invalidate",value:function(e){var t,n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.forceRedraw,a=void 0!==i&&i,s=r.filterEle,l=void 0===s?function(){return!0}:s,u=r.filterType,c=void 0===u?function(){return!0}:u,d=!1,h=!1,f=o(e);try{for(f.s();!(t=f.n()).done;){var p=t.value;if(l(p)){var g,v=o(this.renderTypes.values());try{for(v.s();!(g=v.n()).done;)!function(){var e=g.value,t=e.type;if(c(t)){var r=n.collections.get(e.collection),i=e.getKey(p),o=Array.isArray(i)?i:[i];if(a)o.forEach(function(e){return r.markKeyForGC(e)}),h=!0;else{var s=e.getID?e.getID(p):p.id(),l=n._key(t,s),u=n.typeAndIdToKey.get(l);void 0!==u&&!function(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(o,u)&&(d=!0,n.typeAndIdToKey.delete(l),u.forEach(function(e){return r.markKeyForGC(e)}))}}}()}catch(e){v.e(e)}finally{v.f()}}}}catch(e){f.e(e)}finally{f.f()}return h&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var e,t=o(this.collections.values());try{for(t.s();!(e=t.n()).done;)e.value.gc()}catch(e){t.e(e)}finally{t.f()}}},{key:"getOrCreateAtlas",value:function(e,t,n,r){var i=this.renderTypes.get(t),a=this.collections.get(i.collection),o=!1,s=a.draw(r,n,function(t){i.drawClipped?(t.save(),t.beginPath(),t.rect(0,0,n.w,n.h),t.clip(),i.drawElement(t,e,n,!0,!0),t.restore()):i.drawElement(t,e,n,!0,!0),o=!0});if(o){var l=i.getID?i.getID(e):e.id(),u=this._key(t,l);this.typeAndIdToKey.has(u)?this.typeAndIdToKey.get(u).push(r):this.typeAndIdToKey.set(u,[r])}return s}},{key:"getAtlasInfo",value:function(e,t){var n=this,r=this.renderTypes.get(t),i=r.getKey(e);return(Array.isArray(i)?i:[i]).map(function(i){var a=r.getBoundingBox(e,i),o=n.getOrCreateAtlas(e,t,a,i),s=l(o.getOffsets(i),2),u=s[0];return{atlas:o,tex:u,tex1:u,tex2:s[1],bb:a}})}},{key:"getDebugInfo",value:function(){var e,t=[],n=o(this.collections);try{for(n.s();!(e=n.n()).done;){var r=l(e.value,2),i=r[0],a=r[1].getCounts(),s=a.keyCount,u=a.atlasCount;t.push({type:i,keyCount:s,atlasCount:u})}}catch(e){n.e(e)}finally{n.f()}return t}}]),uG=a(function e(t){i(this,e),this.globalOptions=t,this.atlasSize=t.webglTexSize,this.maxAtlasesPerBatch=t.webglTexPerBatch,this.batchAtlases=[]},[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(e,t){return t})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(e){return this.batchAtlases.length!==this.maxAtlasesPerBatch||this.batchAtlases.includes(e)}},{key:"getAtlasIndexForBatch",value:function(e){var t=this.batchAtlases.indexOf(e);if(t<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw Error("cannot add more atlases to batch");this.batchAtlases.push(e),t=this.batchAtlases.length-1}return t}}]),uZ={name:"screen",screen:!0},u$={name:"picking",picking:!0},uQ=a(function e(t,n,r){i(this,e),this.r=t,this.gl=n,this.maxInstances=r.webglBatchSize,this.atlasSize=r.webglTexSize,this.bgColor=r.bgColor,this.debug=r.webglDebug,this.batchDebugInfo=[],r.enableWrapping=!0,r.createTextureCanvas=uM,this.atlasManager=new uK(t,r),this.batchManager=new uG(r),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(uZ),this.pickingProgram=this._createShaderProgram(u$),this.vao=this._createVAO()},[{key:"addAtlasCollection",value:function(e,t){this.atlasManager.addAtlasCollection(e,t)}},{key:"addTextureAtlasRenderType",value:function(e,t){this.atlasManager.addRenderType(e,t)}},{key:"addSimpleShapeRenderType",value:function(e,t){this.simpleShapeOptions.set(e,t)}},{key:"invalidate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.type,r=this.atlasManager;return n?r.invalidate(e,{filterType:function(e){return e===n},forceRedraw:!0}):r.invalidate(e)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(e){var t=this.gl,n="#version 300 es\n precision highp float;\n\n uniform mat3 uPanZoomMatrix;\n uniform int uAtlasSize;\n \n // instanced\n in vec2 aPosition; // a vertex from the unit square\n \n in mat3 aTransform; // used to transform verticies, eg into a bounding box\n in int aVertType; // the type of thing we are rendering\n\n // the z-index that is output when using picking mode\n in vec4 aIndex;\n \n // For textures\n in int aAtlasId; // which shader unit/atlas to use\n in vec4 aTex; // x/y/w/h of texture in atlas\n\n // for edges\n in vec4 aPointAPointB;\n in vec4 aPointCPointD;\n in vec2 aLineWidth; // also used for node border width\n\n // simple shapes\n in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]\n in vec4 aColor; // also used for edges\n in vec4 aBorderColor; // aLineWidth is used for border width\n\n // output values passed to the fragment shader\n out vec2 vTexCoord;\n out vec4 vColor;\n out vec2 vPosition;\n // flat values are not interpolated\n flat out int vAtlasId; \n flat out int vVertType;\n flat out vec2 vTopRight;\n flat out vec2 vBotLeft;\n flat out vec4 vCornerRadius;\n flat out vec4 vBorderColor;\n flat out vec2 vBorderWidth;\n flat out vec4 vIndex;\n \n void main(void) {\n int vid = gl_VertexID;\n vec2 position = aPosition; // TODO make this a vec3, simplifies some code below\n\n if(aVertType == ".concat(0,") {\n float texX = aTex.x; // texture coordinates\n float texY = aTex.y;\n float texW = aTex.z;\n float texH = aTex.w;\n\n if(vid == 1 || vid == 2 || vid == 4) {\n texX += texW;\n }\n if(vid == 2 || vid == 4 || vid == 5) {\n texY += texH;\n }\n\n float d = float(uAtlasSize);\n vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(4," || aVertType == ").concat(7," \n || aVertType == ").concat(5," || aVertType == ").concat(6,") { // simple shapes\n\n // the bounding box is needed by the fragment shader\n vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat\n vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat\n vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated\n\n // calculations are done in the fragment shader, just pass these along\n vColor = aColor;\n vCornerRadius = aCornerRadius;\n vBorderColor = aBorderColor;\n vBorderWidth = aLineWidth;\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(1,") {\n vec2 source = aPointAPointB.xy;\n vec2 target = aPointAPointB.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n // stretch the unit square into a long skinny rectangle\n vec2 xBasis = target - source;\n vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));\n vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;\n\n gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);\n vColor = aColor;\n } \n else if(aVertType == ").concat(2,") {\n vec2 pointA = aPointAPointB.xy;\n vec2 pointB = aPointAPointB.zw;\n vec2 pointC = aPointCPointD.xy;\n vec2 pointD = aPointCPointD.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n vec2 p0, p1, p2, pos;\n if(position.x == 0.0) { // The left side of the unit square\n p0 = pointA;\n p1 = pointB;\n p2 = pointC;\n pos = position;\n } else { // The right side of the unit square, use same approach but flip the geometry upside down\n p0 = pointD;\n p1 = pointC;\n p2 = pointB;\n pos = vec2(0.0, -position.y);\n }\n\n vec2 p01 = p1 - p0;\n vec2 p12 = p2 - p1;\n vec2 p21 = p1 - p2;\n\n // Find the normal vector.\n vec2 tangent = normalize(normalize(p12) + normalize(p01));\n vec2 normal = vec2(-tangent.y, tangent.x);\n\n // Find the vector perpendicular to p0 -> p1.\n vec2 p01Norm = normalize(vec2(-p01.y, p01.x));\n\n // Determine the bend direction.\n float sigma = sign(dot(p01 + p21, normal));\n float width = aLineWidth[0];\n\n if(sign(pos.y) == -sigma) {\n // This is an intersecting vertex. Adjust the position so that there's no overlap.\n vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n } else {\n // This is a non-intersecting vertex. Treat it like a mitre join.\n vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n }\n\n vColor = aColor;\n } \n else if(aVertType == ").concat(3," && vid < 3) {\n // massage the first triangle into an edge arrow\n if(vid == 0)\n position = vec2(-0.15, -0.3);\n if(vid == 1)\n position = vec2( 0.0, 0.0);\n if(vid == 2)\n position = vec2( 0.15, -0.3);\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n vColor = aColor;\n }\n else {\n gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space\n }\n\n vAtlasId = aAtlasId;\n vVertType = aVertType;\n vIndex = aIndex;\n }\n "),r=this.batchManager.getIndexArray(),i=function(e,t,n){var r=uA(e,e.VERTEX_SHADER,t),i=uA(e,e.FRAGMENT_SHADER,n),a=e.createProgram();if(e.attachShader(a,r),e.attachShader(a,i),e.linkProgram(a),!e.getProgramParameter(a,e.LINK_STATUS))throw Error("Could not initialize shaders");return a}(t,n,"#version 300 es\n precision highp float;\n\n // declare texture unit for each texture atlas in the batch\n ".concat(r.map(function(e){return"uniform sampler2D uTexture".concat(e,";")}).join("\n "),"\n\n uniform vec4 uBGColor;\n uniform float uZoom;\n\n in vec2 vTexCoord;\n in vec4 vColor;\n in vec2 vPosition; // model coordinates\n\n flat in int vAtlasId;\n flat in vec4 vIndex;\n flat in int vVertType;\n flat in vec2 vTopRight;\n flat in vec2 vBotLeft;\n flat in vec4 vCornerRadius;\n flat in vec4 vBorderColor;\n flat in vec2 vBorderWidth;\n\n out vec4 outColor;\n\n ").concat("\n float circleSD(vec2 p, float r) {\n return distance(vec2(0), p) - r; // signed distance\n }\n","\n ").concat("\n float rectangleSD(vec2 p, vec2 b) {\n vec2 d = abs(p)-b;\n return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);\n }\n","\n ").concat("\n float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {\n cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;\n cr.x = (p.y > 0.0) ? cr.x : cr.y;\n vec2 q = abs(p) - b + cr.x;\n return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;\n }\n","\n ").concat("\n float ellipseSD(vec2 p, vec2 ab) {\n p = abs( p ); // symmetry\n\n // find root with Newton solver\n vec2 q = ab*(p-ab);\n float w = (q.x<q.y)? 1.570796327 : 0.0;\n for( int i=0; i<5; i++ ) {\n vec2 cs = vec2(cos(w),sin(w));\n vec2 u = ab*vec2( cs.x,cs.y);\n vec2 v = ab*vec2(-cs.y,cs.x);\n w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));\n }\n \n // compute final point and distance\n float d = length(p-ab*vec2(cos(w),sin(w)));\n \n // return signed distance\n return (dot(p/ab,p/ab)>1.0) ? d : -d;\n }\n","\n\n vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha\n return vec4( \n top.rgb + (bot.rgb * (1.0 - top.a)),\n top.a + (bot.a * (1.0 - top.a)) \n );\n }\n\n vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance\n // scale to the zoom level so that borders don't look blurry when zoomed in\n // note 1.5 is an aribitrary value chosen because it looks good\n return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); \n }\n\n void main(void) {\n if(vVertType == ").concat(0,") {\n // look up the texel from the texture unit\n ").concat(r.map(function(e){return"if(vAtlasId == ".concat(e,") outColor = texture(uTexture").concat(e,", vTexCoord);")}).join("\n else "),"\n } \n else if(vVertType == ").concat(3,") {\n // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';\n outColor = blend(vColor, uBGColor);\n outColor.a = 1.0; // make opaque, masks out line under arrow\n }\n else if(vVertType == ").concat(4," && vBorderWidth == vec2(0.0)) { // simple rectangle with no border\n outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done\n }\n else if(vVertType == ").concat(4," || vVertType == ").concat(7," \n || vVertType == ").concat(5," || vVertType == ").concat(6,") { // use SDF\n\n float outerBorder = vBorderWidth[0];\n float innerBorder = vBorderWidth[1];\n float borderPadding = outerBorder * 2.0;\n float w = vTopRight.x - vBotLeft.x - borderPadding;\n float h = vTopRight.y - vBotLeft.y - borderPadding;\n vec2 b = vec2(w/2.0, h/2.0); // half width, half height\n vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center\n\n float d; // signed distance\n if(vVertType == ").concat(4,") {\n d = rectangleSD(p, b);\n } else if(vVertType == ").concat(7," && w == h) {\n d = circleSD(p, b.x); // faster than ellipse\n } else if(vVertType == ").concat(7,") {\n d = ellipseSD(p, b);\n } else {\n d = roundRectangleSD(p, b, vCornerRadius.wzyx);\n }\n\n // use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling\n // we must smooth colors inwards, because we can't change pixels outside the shape's bounding box\n if(d > 0.0) {\n if(d > outerBorder) {\n discard;\n } else {\n outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);\n }\n } else {\n if(d > innerBorder) {\n vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;\n vec4 innerBorderColor = blend(vBorderColor, vColor);\n outColor = distInterp(innerBorderColor, outerColor, d);\n } \n else {\n vec4 outerColor;\n if(innerBorder == 0.0 && outerBorder == 0.0) {\n outerColor = vec4(0);\n } else if(innerBorder == 0.0) {\n outerColor = vBorderColor;\n } else {\n outerColor = blend(vBorderColor, vColor);\n }\n outColor = distInterp(vColor, outerColor, d - innerBorder);\n }\n }\n }\n else {\n outColor = vColor;\n }\n\n ").concat(e.picking?"if(outColor.a == 0.0) discard;\n else outColor = vIndex;":"","\n }\n "));i.aPosition=t.getAttribLocation(i,"aPosition"),i.aIndex=t.getAttribLocation(i,"aIndex"),i.aVertType=t.getAttribLocation(i,"aVertType"),i.aTransform=t.getAttribLocation(i,"aTransform"),i.aAtlasId=t.getAttribLocation(i,"aAtlasId"),i.aTex=t.getAttribLocation(i,"aTex"),i.aPointAPointB=t.getAttribLocation(i,"aPointAPointB"),i.aPointCPointD=t.getAttribLocation(i,"aPointCPointD"),i.aLineWidth=t.getAttribLocation(i,"aLineWidth"),i.aColor=t.getAttribLocation(i,"aColor"),i.aCornerRadius=t.getAttribLocation(i,"aCornerRadius"),i.aBorderColor=t.getAttribLocation(i,"aBorderColor"),i.uPanZoomMatrix=t.getUniformLocation(i,"uPanZoomMatrix"),i.uAtlasSize=t.getUniformLocation(i,"uAtlasSize"),i.uBGColor=t.getUniformLocation(i,"uBGColor"),i.uZoom=t.getUniformLocation(i,"uZoom"),i.uTextures=[];for(var a=0;a<this.batchManager.getMaxAtlasesPerBatch();a++)i.uTextures.push(t.getUniformLocation(i,"uTexture".concat(a)));return i}},{key:"_createVAO",value:function(){var e,t,n,r,i,a,o=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=o.length/2;var s=this.maxInstances,u=this.gl,c=this.program,d=u.createVertexArray();return u.bindVertexArray(d),e=c.aPosition,n=(t=l(uz(u,"vec2"),2))[0],i=uO(u,r=t[1],o),a=u.createBuffer(),u.bindBuffer(u.ARRAY_BUFFER,a),u.bufferData(u.ARRAY_BUFFER,i,u.STATIC_DRAW),r===u.FLOAT?u.vertexAttribPointer(e,n,r,!1,0,0):r===u.INT&&u.vertexAttribIPointer(e,n,r,0,0),u.enableVertexAttribArray(e),u.bindBuffer(u.ARRAY_BUFFER,null),this.transformBuffer=function(e,t,n){for(var r=new Float32Array(9*t),i=Array(t),a=0;a<t;a++){var o=9*a*4;i[a]=new Float32Array(r.buffer,o,9)}var s=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,r.byteLength,e.DYNAMIC_DRAW);for(var l=0;l<3;l++){var u=n+l;e.enableVertexAttribArray(u),e.vertexAttribPointer(u,3,e.FLOAT,!1,36,12*l),e.vertexAttribDivisor(u,1)}return e.bindBuffer(e.ARRAY_BUFFER,null),s.getMatrixView=function(e){return i[e]},s.setData=function(e,t){i[t].set(e,0)},s.bufferSubData=function(){e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferSubData(e.ARRAY_BUFFER,0,r)},s}(u,s,c.aTransform),this.indexBuffer=uV(u,s,"vec4",c.aIndex),this.vertTypeBuffer=uV(u,s,"int",c.aVertType),this.atlasIdBuffer=uV(u,s,"int",c.aAtlasId),this.texBuffer=uV(u,s,"vec4",c.aTex),this.pointAPointBBuffer=uV(u,s,"vec4",c.aPointAPointB),this.pointCPointDBuffer=uV(u,s,"vec4",c.aPointCPointD),this.lineWidthBuffer=uV(u,s,"vec2",c.aLineWidth),this.colorBuffer=uV(u,s,"vec4",c.aColor),this.cornerRadiusBuffer=uV(u,s,"vec4",c.aCornerRadius),this.borderColorBuffer=uV(u,s,"vec4",c.aBorderColor),u.bindVertexArray(null),d}},{key:"buffers",get:function(){var e=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(e){return H(e,"Buffer")}).map(function(t){return e[t]})),this._buffers}},{key:"startFrame",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:uZ;this.panZoomMatrix=e,this.renderTarget=t,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(e,t){return!!e.visible()&&(!t||!t.isVisible||t.isVisible(e))}},{key:"drawTexture",value:function(e,t,n){var r=this.atlasManager,i=this.batchManager,a=r.getRenderTypeOpts(n);if(this._isVisible(e,a)&&(!e.isEdge()||this._isValidEdge(e))){if(this.renderTarget.picking&&a.getTexPickingMode){var s=a.getTexPickingMode(e);if(1===s)return;if(2==s)return void this.drawPickingRectangle(e,t,n)}var u,c=o(r.getAtlasInfo(e,n));try{for(c.s();!(u=c.n()).done;){var d=u.value,h=d.atlas,f=d.tex1,p=d.tex2;i.canAddToCurrentBatch(h)||this.endBatch();for(var g=i.getAtlasIndexForBatch(h),v=0,y=[[f,!0],[p,!1]];v<y.length;v++){var b=l(y[v],2),x=b[0],w=b[1];if(0!=x.w){var E=this.instanceCount;this.vertTypeBuffer.getView(E)[0]=0;var k=this.indexBuffer.getView(E);uN(t,k),this.atlasIdBuffer.getView(E)[0]=g;var T=this.texBuffer.getView(E);T[0]=x.x,T[1]=x.y,T[2]=x.w,T[3]=x.h;var C=this.transformBuffer.getMatrixView(E);this.setTransformMatrix(e,C,a,d,w),this.instanceCount++,!w&&this.wrappedCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}catch(e){c.e(e)}finally{c.f()}}}},{key:"setTransformMatrix",value:function(e,t,n,r){var i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],a=0;if(n.shapeProps&&n.shapeProps.padding&&(a=e.pstyle(n.shapeProps.padding).pfValue),r){var o=r.bb,s=r.tex1,l=r.tex2,u=s.w/(s.w+l.w);i||(u=1-u);var c=this._getAdjustedBB(o,a,i,u);this._applyTransformMatrix(t,c,n,e)}else{var d=n.getBoundingBox(e),h=this._getAdjustedBB(d,a,!0,1);this._applyTransformMatrix(t,h,n,e)}}},{key:"_applyTransformMatrix",value:function(e,t,n,r){uj(e);var i,a,o=n.getRotation?n.getRotation(r):0;if(0!==o){var s=n.getRotationPoint(r);uY(e,e,[s.x,s.y]),uq(e,e,o);var l=n.getRotationOffset(r);i=l.x+(t.xOffset||0),a=l.y+(t.yOffset||0)}else i=t.x1,a=t.y1;uY(e,e,[i,a]),uW(e,e,[t.w,t.h])}},{key:"_getAdjustedBB",value:function(e,t,n,r){var i=e.x1,a=e.y1,o=e.w,s=e.h,l=e.yOffset;t&&(i-=t,a-=t,o+=2*t,s+=2*t);var u=0,c=o*r;return n&&r<1?o=c:!n&&r<1&&(i+=u=o-c,o=c),{x1:i,y1:a,w:o,h:s,xOffset:u,yOffset:l}}},{key:"drawPickingRectangle",value:function(e,t,n){var r=this.atlasManager.getRenderTypeOpts(n),i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=4,uN(t,this.indexBuffer.getView(i)),uL([0,0,0],1,this.colorBuffer.getView(i));var a=this.transformBuffer.getMatrixView(i);this.setTransformMatrix(e,a,r),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(e,t,n){var r=this.simpleShapeOptions.get(n);if(this._isVisible(e,r)){var i=r.shapeProps,a=this._getVertTypeForShape(e,i.shape);if(void 0===a||r.isSimple&&!r.isSimple(e,this.renderTarget))return void this.drawTexture(e,t,n);var o=this.instanceCount;if(this.vertTypeBuffer.getView(o)[0]=a,5===a||6===a){var s=r.getBoundingBox(e),l=this._getCornerRadius(e,i.radius,s),u=this.cornerRadiusBuffer.getView(o);u[0]=l,u[1]=l,u[2]=l,u[3]=l,6===a&&(u[0]=0,u[2]=0)}uN(t,this.indexBuffer.getView(o));var c=this.renderTarget.picking?1:"node-body"===n?e.effectiveOpacity():1,d=this.renderTarget.picking?1:e.pstyle(i.opacity).value*c;uL(e.pstyle(i.color).value,d,this.colorBuffer.getView(o));var h=this.lineWidthBuffer.getView(o);if(h[0]=0,h[1]=0,i.border){var f=e.pstyle("border-width").value;if(f>0){uL(e.pstyle("border-color").value,c*e.pstyle("border-opacity").value,this.borderColorBuffer.getView(o));var p=e.pstyle("border-position").value;if("inside"===p)h[0]=0,h[1]=-f;else if("outside"===p)h[0]=f,h[1]=0;else{var g=f/2;h[0]=g,h[1]=-g}}}var v=this.transformBuffer.getMatrixView(o);this.setTransformMatrix(e,v,r),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(e,t){switch(e.pstyle(t).value){case"rectangle":return 4;case"ellipse":return 7;case"roundrectangle":case"round-rectangle":return 5;case"bottom-round-rectangle":return 6;default:return}}},{key:"_getCornerRadius",value:function(e,t,n){var r=n.w,i=n.h;return"auto"===e.pstyle(t).value?t3(r,i):Math.min(e.pstyle(t).pfValue,i/2,r/2)}},{key:"drawEdgeArrow",value:function(e,t,n){if(e.visible()){var r,i,a,o=e._private.rscratch;if(("source"===n?(r=o.arrowStartX,i=o.arrowStartY,a=o.srcArrowAngle):(r=o.arrowEndX,i=o.arrowEndY,a=o.tgtArrowAngle),!(isNaN(r)||null==r||isNaN(i)||null==i||isNaN(a))&&null!=a)&&"none"!==e.pstyle(n+"-arrow-shape").value){var s=e.pstyle(n+"-arrow-color").value,l=e.pstyle("opacity").value,u=e.pstyle("line-opacity").value,c=e.pstyle("width").pfValue,d=e.pstyle("arrow-scale").value,h=this.r.getArrowWidth(c,d),f=this.instanceCount,p=this.transformBuffer.getMatrixView(f);uj(p),uY(p,p,[r,i]),uW(p,p,[h,h]),uq(p,p,a),this.vertTypeBuffer.getView(f)[0]=3,uN(t,this.indexBuffer.getView(f)),uL(s,l*u,this.colorBuffer.getView(f)),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},{key:"drawEdgeLine",value:function(e,t){if(e.visible()){var n=this._getEdgePoints(e);if(n){var r=e.pstyle("opacity").value,i=e.pstyle("line-opacity").value,a=e.pstyle("width").pfValue,o=e.pstyle("line-color").value,s=r*i;if(n.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==n.length){var l=this.instanceCount;this.vertTypeBuffer.getView(l)[0]=1,uN(t,this.indexBuffer.getView(l)),uL(o,s,this.colorBuffer.getView(l)),this.lineWidthBuffer.getView(l)[0]=a;var u=this.pointAPointBBuffer.getView(l);u[0]=n[0],u[1]=n[1],u[2]=n[2],u[3]=n[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var c=0;c<n.length-2;c+=2){var d=this.instanceCount;this.vertTypeBuffer.getView(d)[0]=2,uN(t,this.indexBuffer.getView(d)),uL(o,s,this.colorBuffer.getView(d)),this.lineWidthBuffer.getView(d)[0]=a;var h=n[c-2],f=n[c-1],p=n[c],g=n[c+1],v=n[c+2],y=n[c+3],b=n[c+4],x=n[c+5];0==c&&(h=2*p-v+.001,f=2*g-y+.001),c==n.length-4&&(b=2*v-p+.001,x=2*y-g+.001);var w=this.pointAPointBBuffer.getView(d);w[0]=h,w[1]=f,w[2]=p,w[3]=g;var E=this.pointCPointDBuffer.getView(d);E[0]=v,E[1]=y,E[2]=b,E[3]=x,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(e){var t=e._private.rscratch;return!(t.badLine||null==t.allpts||isNaN(t.allpts[0]))}},{key:"_getEdgePoints",value:function(e){var t=e._private.rscratch;if(this._isValidEdge(e)){var n=t.allpts;if(4==n.length)return n;var r=this._getNumSegments(e);return this._getCurveSegmentPoints(n,r)}}},{key:"_getNumSegments",value:function(e){return Math.min(15,this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(e,t){if(4==e.length)return e;for(var n=Array((t+1)*2),r=0;r<=t;r++)if(0==r)n[0]=e[0],n[1]=e[1];else if(r==t)n[2*r]=e[e.length-2],n[2*r+1]=e[e.length-1];else{var i=r/t;this._setCurvePoint(e,i,n,2*r)}return n}},{key:"_setCurvePoint",value:function(e,t,n,r){if(e.length<=2)n[r]=e[0],n[r+1]=e[1];else{for(var i=Array(e.length-2),a=0;a<i.length;a+=2){var o=(1-t)*e[a]+t*e[a+2],s=(1-t)*e[a+1]+t*e[a+3];i[a]=o,i[a+1]=s}return this._setCurvePoint(i,t,n,r)}}},{key:"endBatch",value:function(){var e=this.gl,t=this.vao,n=this.vertexCount,r=this.instanceCount;if(0!==r){var i,a,s=this.renderTarget.picking?this.pickingProgram:this.program;e.useProgram(s),e.bindVertexArray(t);var l,u=o(this.buffers);try{for(u.s();!(l=u.n()).done;)l.value.bufferSubData(r)}catch(e){u.e(e)}finally{u.f()}for(var c=this.batchManager.getAtlases(),d=0;d<c.length;d++)c[d].bufferIfNeeded(e);for(var h=0;h<c.length;h++)e.activeTexture(e.TEXTURE0+h),e.bindTexture(e.TEXTURE_2D,c[h].texture),e.uniform1i(s.uTextures[h],h);e.uniform1f(s.uZoom,(a=(i=this.r).pixelRatio,i.cy.zoom()*a)),e.uniformMatrix3fv(s.uPanZoomMatrix,!1,this.panZoomMatrix),e.uniform1i(s.uAtlasSize,this.batchManager.getAtlasSize());var f=uL(this.bgColor,1);e.uniform4fv(s.uBGColor,f),e.drawArraysInstanced(e.TRIANGLES,0,n,r),e.bindVertexArray(null),e.bindTexture(e.TEXTURE_2D,null),this.debug&&this.batchDebugInfo.push({count:r,atlasCount:c.length}),this.startBatch()}}},{key:"getDebugInfo",value:function(){var e=this.atlasManager.getDebugInfo(),t=e.reduce(function(e,t){return e+t.atlasCount},0),n=this.batchDebugInfo,r=n.reduce(function(e,t){return e+t.count},0);return{atlasInfo:e,totalAtlases:t,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:n.length,batchInfo:n,totalInstances:r}}}]),uJ={};function u0(e,t){return eK(e._private.rscratch,"labelWrapCachedLines",t)||[]}uJ.initWebgl=function(e,t){var n,r,i,a,s,u,c,d,h=this,f=h.data.contexts[h.WEBGL];e.bgColor=ei((n=h.cy.container())&&n.style&&n.style.backgroundColor||"white"),e.webglTexSize=Math.min(e.webglTexSize,f.getParameter(f.MAX_TEXTURE_SIZE)),e.webglTexRows=Math.min(e.webglTexRows,54),e.webglTexRowsNodes=Math.min(e.webglTexRowsNodes,54),e.webglBatchSize=Math.min(e.webglBatchSize,16384),e.webglTexPerBatch=Math.min(e.webglTexPerBatch,f.getParameter(f.MAX_TEXTURE_IMAGE_UNITS)),h.webglDebug=e.webglDebug,h.webglDebugShowAtlases=e.webglDebugShowAtlases,c=f.createFramebuffer(),f.bindFramebuffer(f.FRAMEBUFFER,c),d=f.createTexture(),f.bindTexture(f.TEXTURE_2D,d),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MIN_FILTER,f.LINEAR),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_S,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_T,f.CLAMP_TO_EDGE),f.framebufferTexture2D(f.FRAMEBUFFER,f.COLOR_ATTACHMENT0,f.TEXTURE_2D,d,0),f.bindFramebuffer(f.FRAMEBUFFER,null),c.setFramebufferAttachmentSizes=function(e,t){f.bindTexture(f.TEXTURE_2D,d),f.texImage2D(f.TEXTURE_2D,0,f.RGBA,e,t,0,f.RGBA,f.UNSIGNED_BYTE,null)},h.pickingFrameBuffer=c,h.pickingFrameBuffer.needsDraw=!0,h.drawing=new uQ(h,f,e);var p=function(e){return function(t){return h.getTextAngle(t,e)}},g=function(e){return function(t){var n=t.pstyle(e);return n&&n.value}},v=function(e){return function(t){return t.pstyle("".concat(e,"-opacity")).value>0}},y=function(e){return"yes"===e.pstyle("text-events").strValue?2:1},b=function(e){var t=e.position(),n=t.x,r=t.y,i=e.outerWidth(),a=e.outerHeight();return{w:i,h:a,x1:n-i/2,y1:r-a/2}};h.drawing.addAtlasCollection("node",{texRows:e.webglTexRowsNodes}),h.drawing.addAtlasCollection("label",{texRows:e.webglTexRows}),h.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:t.getStyleKey,getBoundingBox:t.getElementBox,drawElement:t.drawElement}),h.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:b,isSimple:uI,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),h.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:b,isVisible:v("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),h.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:b,isVisible:v("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),h.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:y,getKey:u1(t.getLabelKey,null),getBoundingBox:u2(t.getLabelBox,null),drawClipped:!0,drawElement:t.drawLabel,getRotation:p(null),getRotationPoint:t.getLabelRotationPoint,getRotationOffset:t.getLabelRotationOffset,isVisible:g("label")}),h.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:y,getKey:u1(t.getSourceLabelKey,"source"),getBoundingBox:u2(t.getSourceLabelBox,"source"),drawClipped:!0,drawElement:t.drawSourceLabel,getRotation:p("source"),getRotationPoint:t.getSourceLabelRotationPoint,getRotationOffset:t.getSourceLabelRotationOffset,isVisible:g("source-label")}),h.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:y,getKey:u1(t.getTargetLabelKey,"target"),getBoundingBox:u2(t.getTargetLabelBox,"target"),drawClipped:!0,drawElement:t.drawTargetLabel,getRotation:p("target"),getRotationPoint:t.getTargetLabelRotationPoint,getRotationOffset:t.getTargetLabelRotationOffset,isVisible:g("target-label")});var x=eg(function(){console.log("garbage collect flag set"),h.data.gc=!0},1e4);h.onUpdateEleCalcs(function(e,t){var n=!1;t&&t.length>0&&(n|=h.drawing.invalidate(t)),n&&x()}),i=(r=h).render,r.render=function(e){e=e||{};var t,n,a,o,s=r.cy;r.webgl&&(s.zoom()>7.99?((n=(t=r).data.contexts[t.WEBGL]).clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.call(r,e)):(a=r,(o=function(e){e.save(),e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,a.canvasWidth,a.canvasHeight),e.restore()})(a.data.contexts[a.NODE]),o(a.data.contexts[a.DRAG]),u4(r,e,uZ)))},a=r.matchCanvasSize,r.matchCanvasSize=function(e){a.call(r,e),r.pickingFrameBuffer.setFramebufferAttachmentSizes(r.canvasWidth,r.canvasHeight),r.pickingFrameBuffer.needsDraw=!0},r.findNearestElements=function(e,t,n,i){return function(e,t,n){var r,i,a,s=function(e,t,n){var r=uR(e),i=r.pan,a=r.zoom,o=l((p=t*a+i.x,g=n*a+i.y,[p,g=Math.round(e.canvasHeight-g)]),2),s=o[0],u=o[1],c=e.data.contexts[e.WEBGL];c.bindFramebuffer(c.FRAMEBUFFER,e.pickingFrameBuffer),e.pickingFrameBuffer.needsDraw&&(c.viewport(0,0,c.canvas.width,c.canvas.height),u4(e,null,u$),e.pickingFrameBuffer.needsDraw=!1);var d=new Uint8Array(144);c.readPixels(s-3,u-3,6,6,c.RGBA,c.UNSIGNED_BYTE,d),c.bindFramebuffer(c.FRAMEBUFFER,null);for(var h=new Set,f=0;f<36;f++){var p,g,v,y=(v=d.slice(4*f,4*f+4))[0]+(v[1]<<8)+(v[2]<<16)+(v[3]<<24)-1;y>=0&&h.add(y)}return h}(e,t,n),u=e.getCachedZSortedEles(),c=o(s);try{for(c.s();!(a=c.n()).done;){var d=u[a.value];if(!r&&d.isNode()&&(r=d),!i&&d.isEdge()&&(i=d),r&&i)break}}catch(e){c.e(e)}finally{c.f()}return[r,i].filter(Boolean)}(r,e,t)},s=r.invalidateCachedZSortedEles,r.invalidateCachedZSortedEles=function(){s.call(r),r.pickingFrameBuffer.needsDraw=!0},u=r.notify,r.notify=function(e,t){u.call(r,e,t),"viewport"===e||"bounds"===e?r.pickingFrameBuffer.needsDraw=!0:"background"===e&&r.drawing.invalidate(t,{type:"node-body"})}};var u1=function(e,t){return function(n){var r=e(n),i=u0(n,t);return i.length>1?i.map(function(e,t){return"".concat(r,"_").concat(t)}):r}},u2=function(e,t){return function(n,r){var i=e(n);if("string"==typeof r){var a=r.indexOf("_");if(a>0){var o=Number(r.substring(a+1)),s=u0(n,t),l=i.h/s.length,u=l*o,c=i.y1+u;return{x1:i.x1,w:i.w,y1:c,h:l,yOffset:u}}}return i}};function u5(e,t){var n=e.canvasWidth,r=e.canvasHeight,i=uR(e),a=i.pan,o=i.zoom;t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,n,r),t.translate(a.x,a.y),t.scale(o,o)}function u3(e,t,n){var r=e.drawing;t+=1,n.isNode()?(r.drawNode(n,t,"node-underlay"),r.drawNode(n,t,"node-body"),r.drawTexture(n,t,"label"),r.drawNode(n,t,"node-overlay")):(r.drawEdgeLine(n,t),r.drawEdgeArrow(n,t,"source"),r.drawEdgeArrow(n,t,"target"),r.drawTexture(n,t,"label"),r.drawTexture(n,t,"edge-source-label"),r.drawTexture(n,t,"edge-target-label"))}function u4(e,t,n){e.webglDebug&&(H=performance.now());var r=e.drawing,i=0;if(n.screen&&e.data.canvasNeedsRedraw[e.SELECT_BOX]&&e.drawSelectionRectangle(t,function(t){return u5(e,t)}),e.data.canvasNeedsRedraw[e.NODE]||n.picking){var a,s,l,u,c,d,h,f,p,g,v,y,b,x,w,E,k,T,C,P,S,B,D,_,A,M,R,I,L,N,z,O=e.data.contexts[e.WEBGL];n.screen?(O.clearColor(0,0,0,0),O.enable(O.BLEND),O.blendFunc(O.ONE,O.ONE_MINUS_SRC_ALPHA)):O.disable(O.BLEND),O.clear(O.COLOR_BUFFER_BIT|O.DEPTH_BUFFER_BIT),O.viewport(0,0,O.canvas.width,O.canvas.height);var V=(a=e.canvasWidth,s=e.canvasHeight,u=(l=uR(e)).pan,c=l.zoom,uY(d=uX(),d,[u.x,u.y]),uW(d,d,[c,c]),f=h=uX(),f[0]=2/a,f[1]=0,f[2]=0,f[3]=0,f[4]=-2/s,f[5]=0,f[6]=-1,f[7]=1,f[8]=1,g=p=uX(),v=h[0],y=h[1],b=h[2],x=h[3],w=h[4],E=h[5],k=h[6],T=h[7],C=h[8],P=d[0],S=d[1],B=d[2],D=d[3],_=d[4],A=d[5],M=d[6],R=d[7],I=d[8],g[0]=P*v+S*x+B*k,g[1]=P*y+S*w+B*T,g[2]=P*b+S*E+B*C,g[3]=D*v+_*x+A*k,g[4]=D*y+_*w+A*T,g[5]=D*b+_*E+A*C,g[6]=M*v+R*x+I*k,g[7]=M*y+R*w+I*T,g[8]=M*b+R*E+I*C,p),F=e.getCachedZSortedEles();if(i=F.length,r.startFrame(V,n),n.screen){for(var X=0;X<F.nondrag.length;X++)u3(e,X,F.nondrag[X]);for(var j=0;j<F.drag.length;j++)u3(e,j,F.drag[j])}else if(n.picking)for(var Y=0;Y<F.length;Y++)u3(e,Y,F[Y]);r.endFrame(),n.screen&&e.webglDebugShowAtlases&&((L=e.data.contexts[e.NODE]).save(),u5(e,L),L.strokeStyle="rgba(0, 0, 0, 0.3)",L.beginPath(),L.moveTo(-1e3,0),L.lineTo(1e3,0),L.stroke(),L.beginPath(),L.moveTo(0,-1e3),L.lineTo(0,1e3),L.stroke(),L.restore(),z=0,(N=function(t,n,r){for(var i=t.atlasManager.getAtlasCollection(n),a=e.data.contexts[e.NODE],o=i.atlases,s=0;s<o.length;s++){var l=o[s].canvas;if(l){var u=l.width,c=l.height,d=u*s,h=l.height*r;a.save(),a.scale(.4,.4),a.drawImage(l,d,h),a.strokeStyle="black",a.rect(d,h,u,c),a.stroke(),a.restore()}}})(e.drawing,"node",z++),N(e.drawing,"label",z++)),e.data.canvasNeedsRedraw[e.NODE]=!1,e.data.canvasNeedsRedraw[e.DRAG]=!1}if(e.webglDebug){var q=Math.ceil(performance.now()-H),W=r.getDebugInfo(),U=["".concat(i," elements"),"".concat(W.totalInstances," instances"),"".concat(W.batchCount," batches"),"".concat(W.totalAtlases," atlases"),"".concat(W.wrappedCount," wrapped textures"),"".concat(W.simpleCount," simple shapes")].join(", ");console.log("WebGL (".concat(n.name,") - frame time ").concat(q,"ms")),console.log("Totals:"),console.log(" ".concat(U)),console.log("Texture Atlases Used:");var H,K,G=o(W.atlasInfo);try{for(G.s();!(K=G.n()).done;){var Z=K.value;console.log(" ".concat(Z.type,": ").concat(Z.keyCount," keys, ").concat(Z.atlasCount," atlases"))}}catch(e){G.e(e)}finally{G.f()}console.log("")}e.data.gc&&(console.log("Garbage Collect!"),e.data.gc=!1,r.gc())}var u9={};u9.drawPolygonPath=function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var l=1;l<a.length/2;l++)e.lineTo(t+o*a[2*l],n+s*a[2*l+1]);e.closePath()},u9.drawRoundPolygonPath=function(e,t,n,r,i,a,o){o.forEach(function(t){return lO(e,t)}),e.closePath()},u9.drawRoundRectanglePath=function(e,t,n,r,i,a){var o=r/2,s=i/2,l="auto"===a?t3(r,i):Math.min(a,s,o);e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.arcTo(t+o,n-s,t+o,n,l),e.arcTo(t+o,n+s,t,n+s,l),e.arcTo(t-o,n+s,t-o,n,l),e.arcTo(t-o,n-s,t,n-s,l),e.lineTo(t,n-s),e.closePath()},u9.drawBottomRoundRectanglePath=function(e,t,n,r,i,a){var o=r/2,s=i/2,l="auto"===a?t3(r,i):a;e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.lineTo(t+o,n-s),e.lineTo(t+o,n),e.arcTo(t+o,n+s,t,n+s,l),e.arcTo(t-o,n+s,t-o,n,l),e.lineTo(t-o,n-s),e.lineTo(t,n-s),e.closePath()},u9.drawCutRectanglePath=function(e,t,n,r,i,a,o){var s=r/2,l=i/2,u="auto"===o?t9():o;e.beginPath&&e.beginPath(),e.moveTo(t-s+u,n-l),e.lineTo(t+s-u,n-l),e.lineTo(t+s,n-l+u),e.lineTo(t+s,n+l-u),e.lineTo(t+s-u,n+l),e.lineTo(t-s+u,n+l),e.lineTo(t-s,n+l-u),e.lineTo(t-s,n-l+u),e.closePath()},u9.drawBarrelPath=function(e,t,n,r,i){var a=r/2,o=i/2,s=t-a,l=t+a,u=n-o,c=n+o,d=t6(r,i),h=d.widthOffset,f=d.heightOffset,p=d.ctrlPtOffsetPct*h;e.beginPath&&e.beginPath(),e.moveTo(s,u+f),e.lineTo(s,c-f),e.quadraticCurveTo(s+p,c,s+h,c),e.lineTo(l-h,c),e.quadraticCurveTo(l-p,c,l,c-f),e.lineTo(l,u+f),e.quadraticCurveTo(l-p,u,l-h,u),e.lineTo(s+h,u),e.quadraticCurveTo(s+p,u,s,u+f),e.closePath()};for(var u6={},u8={},u7=Math.PI/40,ce=0*Math.PI;ce<2*Math.PI;ce+=u7)u6[ce]=Math.sin(ce),u8[ce]=Math.cos(ce);u9.drawEllipsePath=function(e,t,n,r,i){if(e.beginPath&&e.beginPath(),e.ellipse)e.ellipse(t,n,r/2,i/2,0,0,2*Math.PI);else for(var a,o,s=r/2,l=i/2,u=0*Math.PI;u<2*Math.PI;u+=u7)a=t-s*u6[u]*0+s*u8[u]*1,o=n+l*u8[u]*0+l*u6[u]*1,0===u?e.moveTo(a,o):e.lineTo(a,o);e.closePath()};var ct={};function cn(e){var t=e.indexOf(",");return e.substr(t+1)}function cr(e,t,n){var r=function(){return t.toDataURL(n,e.quality)};switch(e.output){case"blob-promise":return new rr(function(r,i){try{t.toBlob(function(e){null!=e?r(e):i(Error("`canvas.toBlob()` sent a null value in its callback"))},n,e.quality)}catch(e){i(e)}});case"blob":return function(e,t){for(var n=atob(e),r=new ArrayBuffer(n.length),i=new Uint8Array(r),a=0;a<n.length;a++)i[a]=n.charCodeAt(a);return new Blob([r],{type:t})}(cn(r()),n);case"base64":return cn(r());default:return r()}}ct.createBuffer=function(e,t){var n=document.createElement("canvas");return n.width=e,n.height=t,[n,n.getContext("2d")]},ct.bufferCanvasImage=function(e){var t=this.cy,n=t.mutableElements().boundingBox(),r=this.findContainerClientCoords(),i=e.full?Math.ceil(n.w):r[2],a=e.full?Math.ceil(n.h):r[3],o=M(e.maxWidth)||M(e.maxHeight),s=this.getPixelRatio(),l=1;if(void 0!==e.scale)i*=e.scale,a*=e.scale,l=e.scale;else if(o){var u=1/0,c=1/0;M(e.maxWidth)&&(u=l*e.maxWidth/i),M(e.maxHeight)&&(c=l*e.maxHeight/a),i*=l=Math.min(u,c),a*=l}o||(i*=s,a*=s,l*=s);var d=document.createElement("canvas");d.width=i,d.height=a,d.style.width=i+"px",d.style.height=a+"px";var h=d.getContext("2d");if(i>0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var f=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*l,-n.y1*l),h.scale(l,l),this.drawElements(h,f),h.scale(1/l,1/l),h.translate(n.x1*l,n.y1*l);else{var p=t.pan(),g={x:p.x*l,y:p.y*l};l*=t.zoom(),h.translate(g.x,g.y),h.scale(l,l),this.drawElements(h,f),h.scale(1/l,1/l),h.translate(-g.x,-g.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},ct.png=function(e){return cr(e,this.bufferCanvasImage(e),"image/png")},ct.jpg=function(e){return cr(e,this.bufferCanvasImage(e),"image/jpeg")};var ci={};ci.nodeShapeImpl=function(e,t,n,r,i,a,o,s){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,a);case"polygon":return this.drawPolygonPath(t,n,r,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(t,n,r,i,a,o,s);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,i,a,s);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,i,a,o,s);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,a,s);case"barrel":return this.drawBarrelPath(t,n,r,i,a)}};var ca=co.prototype;function co(e){var t=this,n=t.cy.window().document;e.webgl&&(ca.CANVAS_LAYERS=t.CANVAS_LAYERS=4,console.log("webgl rendering enabled")),t.data={canvases:Array(ca.CANVAS_LAYERS),contexts:Array(ca.CANVAS_LAYERS),canvasNeedsRedraw:Array(ca.CANVAS_LAYERS),bufferCanvases:Array(ca.BUFFER_COUNT),bufferContexts:Array(ca.CANVAS_LAYERS)};var r="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";t.data.canvasContainer=n.createElement("div");var a=t.data.canvasContainer.style;t.data.canvasContainer.style[r]=i,a.position="relative",a.zIndex="0",a.overflow="hidden";var o=e.cy.container();o.appendChild(t.data.canvasContainer),o.style[r]=i;var s={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};E&&E.userAgent.match(/msie|trident|edge/i)&&(s["-ms-touch-action"]="none",s["touch-action"]="none");for(var l=0;l<ca.CANVAS_LAYERS;l++){var u=t.data.canvases[l]=n.createElement("canvas"),c=ca.CANVAS_TYPES[l];t.data.contexts[l]=u.getContext(c),t.data.contexts[l]||ez("Could not create canvas of type "+c),Object.keys(s).forEach(function(e){u.style[e]=s[e]}),u.style.position="absolute",u.setAttribute("data-id","layer"+l),u.style.zIndex=String(ca.CANVAS_LAYERS-l),t.data.canvasContainer.appendChild(u),t.data.canvasNeedsRedraw[l]=!1}t.data.topCanvas=t.data.canvases[0],t.data.canvases[ca.NODE].setAttribute("data-id","layer"+ca.NODE+"-node"),t.data.canvases[ca.SELECT_BOX].setAttribute("data-id","layer"+ca.SELECT_BOX+"-selectbox"),t.data.canvases[ca.DRAG].setAttribute("data-id","layer"+ca.DRAG+"-drag"),t.data.canvases[ca.WEBGL]&&t.data.canvases[ca.WEBGL].setAttribute("data-id","layer"+ca.WEBGL+"-webgl");for(var l=0;l<ca.BUFFER_COUNT;l++)t.data.bufferCanvases[l]=n.createElement("canvas"),t.data.bufferContexts[l]=t.data.bufferCanvases[l].getContext("2d"),t.data.bufferCanvases[l].style.position="absolute",t.data.bufferCanvases[l].setAttribute("data-id","buffer"+l),t.data.bufferCanvases[l].style.zIndex=String(-l-1),t.data.bufferCanvases[l].style.visibility="hidden";t.pathsEnabled=!0;var d=tE(),h=function(e){return{x:-e.w/2,y:-e.h/2}},f=function(e){return e[0]._private.nodeKey},p=function(e){return e[0]._private.labelStyleKey},g=function(e){return e[0]._private.sourceLabelStyleKey},v=function(e){return e[0]._private.targetLabelStyleKey},y=function(e,n,r,i,a){return t.drawElement(e,n,r,!1,!1,a)},b=function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"main",a)},x=function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"source",a)},w=function(e,n,r,i,a){return t.drawElementText(e,n,r,i,"target",a)},k=function(e){return e.boundingBox(),e[0]._private.bodyBounds},T=function(e){return e.boundingBox(),e[0]._private.labelBounds.main||d},C=function(e){return e.boundingBox(),e[0]._private.labelBounds.source||d},P=function(e){return e.boundingBox(),e[0]._private.labelBounds.target||d},S=function(e,t){return t},B=function(e){var t;return{x:((t=k(e)).x1+t.x2)/2,y:(t.y1+t.y2)/2}},D=function(e,t,n){var r=e?e+"-":"";return{x:t.x+n.pstyle(r+"text-margin-x").pfValue,y:t.y+n.pstyle(r+"text-margin-y").pfValue}},_=function(e,t,n){var r=e[0]._private.rscratch;return{x:r[t],y:r[n]}},A=function(e){return D("",_(e,"labelX","labelY"),e)},M=function(e){return D("source",_(e,"sourceLabelX","sourceLabelY"),e)},R=function(e){return D("target",_(e,"targetLabelX","targetLabelY"),e)},I=function(e){return h(k(e))},L=function(e){return h(C(e))},N=function(e){return h(P(e))},z=function(e){var t=T(e),n=h(T(e));if(e.isNode()){switch(rQ(e.pstyle("text-halign").value)){case"left":n.x=-t.w-(t.leftPad||0);break;case"right":n.x=-(t.rightPad||0)}switch(rJ(e.pstyle("text-valign").value)){case"top":n.y=-t.h-(t.topPad||0);break;case"bottom":n.y=-(t.botPad||0)}}return n},O=t.data.eleTxrCache=new ua(t,{getKey:f,doesEleInvalidateKey:function(e){var t=e[0]._private;return t.oldBackgroundTimestamp!==t.backgroundTimestamp},drawElement:y,getBoundingBox:k,getRotationPoint:B,getRotationOffset:I,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),V=t.data.lblTxrCache=new ua(t,{getKey:p,drawElement:b,getBoundingBox:T,getRotationPoint:A,getRotationOffset:z,isVisible:S}),F=t.data.slbTxrCache=new ua(t,{getKey:g,drawElement:x,getBoundingBox:C,getRotationPoint:M,getRotationOffset:L,isVisible:S}),X=t.data.tlbTxrCache=new ua(t,{getKey:v,drawElement:w,getBoundingBox:P,getRotationPoint:R,getRotationOffset:N,isVisible:S}),j=t.data.lyrTxrCache=new us(t);t.onUpdateEleCalcs(function(e,t){O.invalidateElements(t),V.invalidateElements(t),F.invalidateElements(t),X.invalidateElements(t),j.invalidateElements(t);for(var n=0;n<t.length;n++){var r=t[n]._private;r.oldBackgroundTimestamp=r.backgroundTimestamp}});var Y=function(e){for(var t=0;t<e.length;t++)j.enqueueElementRefinement(e[t].ele)};O.onDequeue(Y),V.onDequeue(Y),F.onDequeue(Y),X.onDequeue(Y),e.webgl&&t.initWebgl(e,{getStyleKey:f,getLabelKey:p,getSourceLabelKey:g,getTargetLabelKey:v,drawElement:y,drawLabel:b,drawSourceLabel:x,drawTargetLabel:w,getElementBox:k,getLabelBox:T,getSourceLabelBox:C,getTargetLabelBox:P,getElementRotationPoint:B,getElementRotationOffset:I,getLabelRotationPoint:A,getSourceLabelRotationPoint:M,getTargetLabelRotationPoint:R,getLabelRotationOffset:z,getSourceLabelRotationOffset:L,getTargetLabelRotationOffset:N})}ca.CANVAS_LAYERS=3,ca.SELECT_BOX=0,ca.DRAG=1,ca.NODE=2,ca.WEBGL=3,ca.CANVAS_TYPES=["2d","2d","2d","webgl2"],ca.BUFFER_COUNT=3,ca.TEXTURE_BUFFER=0,ca.MOTIONBLUR_BUFFER_NODE=1,ca.MOTIONBLUR_BUFFER_DRAG=2,ca.redrawHint=function(e,t){switch(e){case"eles":this.data.canvasNeedsRedraw[ca.NODE]=t;break;case"drag":this.data.canvasNeedsRedraw[ca.DRAG]=t;break;case"select":this.data.canvasNeedsRedraw[ca.SELECT_BOX]=t;break;case"gc":this.data.gc=!0}};var cs="u">typeof Path2D;ca.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},ca.usePaths=function(){return cs&&this.pathsEnabled},ca.setImgSmoothing=function(e,t){null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled=t:(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t)},ca.getImgSmoothing=function(e){return null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled:e.webkitImageSmoothingEnabled||e.mozImageSmoothingEnabled||e.msImageSmoothingEnabled},ca.makeOffscreenCanvas=function(e,t){var n;return("u"<typeof OffscreenCanvas?"undefined":d(OffscreenCanvas))!=="undefined"?n=new OffscreenCanvas(e,t):((n=this.cy.window().document.createElement("canvas")).width=e,n.height=t),n},[uc,uv,uk,uC,uP,uB,u_,uJ,u9,ct,ci].forEach(function(e){ee(ca,e)});var cl=[{name:"null",impl:a9},{name:"base",impl:l8},{name:"canvas",impl:co}],cu={},cc={};function cd(e,t,n){var r=n,i=function(n){eV("Can not register `"+t+"` for `"+e+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===e)if(ab.prototype[t])return i(t);else ab.prototype[t]=n;else if("collection"===e)if(iQ.prototype[t])return i(t);else iQ.prototype[t]=n;else if("layout"===e){for(var a=function(e){this.options=e,n.call(this,e),A(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},o=a.prototype=Object.create(n.prototype),s=[],l=0;l<s.length;l++){var u=s[l];o[u]=o[u]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var c=n.prototype.stop;o.stop=function(){var e=this.options;if(e&&e.animate){var t=this.animations;if(t)for(var n=0;n<t.length;n++)t[n].stop()}return c?c.call(this):this.emit("layoutstop"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var d=function(e){return e._private.cy},h={addEventFields:function(e,t){t.layout=e,t.cy=d(e),t.target=e},bubble:function(){return!0},parent:function(e){return d(e)}};ee(o,{createEmitter:function(){return this._private.emitter=new iE(h,this),this},emitter:function(){return this._private.emitter},on:function(e,t){return this.emitter().on(e,t),this},one:function(e,t){return this.emitter().one(e,t),this},once:function(e,t){return this.emitter().one(e,t),this},removeListener:function(e,t){return this.emitter().removeListener(e,t),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(e,t){return this.emitter().emit(e,t),this}}),rx.eventAliasesOn(o),r=a}else if("renderer"===e&&"null"!==t&&"base"!==t){var f=ch("renderer","base"),p=f.prototype,g=n.prototype,v=function(){f.apply(this,arguments),n.apply(this,arguments)},y=v.prototype;for(var b in p){var x=p[b];if(null!=g[b])return i(b);y[b]=x}for(var w in g)y[w]=g[w];p.clientFunctions.forEach(function(e){y[e]=y[e]||function(){ez("Renderer does not implement `renderer."+e+"()` on its prototype")}}),r=v}else if("__proto__"===e||"constructor"===e||"prototype"===e)return ez(e+" is an illegal type to be registered, possibly lead to prototype pollutions");return eo({map:cu,keys:[e,t],value:r})}function ch(e,t){return es({map:cu,keys:[e,t]})}function cf(e,t,n,r,i){return eo({map:cc,keys:[e,t,n,r],value:i})}function cp(e,t,n,r){return es({map:cc,keys:[e,t,n,r]})}var cg=function(){return 2==arguments.length?ch.apply(null,arguments):3==arguments.length?cd.apply(null,arguments):4==arguments.length?cp.apply(null,arguments):5==arguments.length?cf.apply(null,arguments):void ez("Invalid extension access syntax")};ab.prototype.extension=cg,[{type:"layout",extensions:a4},{type:"renderer",extensions:cl}].forEach(function(e){e.extensions.forEach(function(t){cd(e.type,t.name,t.impl)})});var cv=function(){if(!(this instanceof cv))return new cv;this.length=0},cy=cv.prototype;cy.instanceString=function(){return"stylesheet"},cy.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},cy.css=function(e,t){var n=this.length-1;if(B(e))this[n].properties.push({name:e,value:t});else if(A(e))for(var r=Object.keys(e),i=0;i<r.length;i++){var a=r[i],o=e[a];if(null!=o){var s=ag.properties[a]||ag.properties[q(a)];if(null!=s){var l=s.name;this[n].properties.push({name:l,value:o})}}}return this},cy.style=cy.css,cy.generateStyle=function(e){var t=new ag(e);return this.appendToStyle(t)},cy.appendToStyle=function(e){for(var t=0;t<this.length;t++){var n=this[t],r=n.selector,i=n.properties;e.selector(r);for(var a=0;a<i.length;a++){var o=i[a];e.css(o.name,o.value)}}return e};var cm=function(e){return(void 0===e&&(e={}),A(e))?new ab(e):B(e)?cg.apply(cg,arguments):void 0};cm.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(cm),e.apply(null,t),this},cm.warnings=function(e){return eO(e)},cm.version="3.34.3",cm.stylesheet=cm.Stylesheet=cv}}]); \ No newline at end of file diff --git a/en/assets/js/4a65a190.1b475153.js b/en/assets/js/4a65a190.1b475153.js new file mode 100644 index 0000000..86d63ef --- /dev/null +++ b/en/assets/js/4a65a190.1b475153.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2705"],{670(e,n,s){s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>c,default:()=>x,frontMatter:()=>d,metadata:()=>r,toc:()=>a});var r=s(5816),l=s(4848),i=s(8453);let d={slug:"origin-of-sqlparserx",title:"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020",authors:["changlu"],tags:["origin"],date:new Date("2026-09-28T00:00:00.000Z"),description:"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002"},c,t={authorsImageUrls:[void 0]},a=[{value:"\u4E00\u3001\u4E3A\u4EC0\u4E48\u9700\u8981\u61C2\u89E3\u6790\u5668",id:"\u4E00\u4E3A\u4EC0\u4E48\u9700\u8981\u61C2\u89E3\u6790\u5668",level:2},{value:"1.1 \u4EC0\u4E48\u662F\u89E3\u6790\u5668",id:"11-\u4EC0\u4E48\u662F\u89E3\u6790\u5668",level:3},{value:"1.2 \u5982\u4F55\u5B9E\u73B0\u89E3\u6790\u5668",id:"12-\u5982\u4F55\u5B9E\u73B0\u89E3\u6790\u5668",level:3},{value:"1.3 \u4EC0\u4E48\u662F SQL \u89E3\u6790\u5668",id:"13-\u4EC0\u4E48\u662F-sql-\u89E3\u6790\u5668",level:3},{value:"1.4 SQL \u89E3\u6790\u4F4D\u4E8E\u6574\u6761\u94FE\u8DEF\u7684\u54EA\u4E2A\u4F4D\u7F6E",id:"14-sql-\u89E3\u6790\u4F4D\u4E8E\u6574\u6761\u94FE\u8DEF\u7684\u54EA\u4E2A\u4F4D\u7F6E",level:3},{value:"\u4E8C\u3001\u5E02\u9762\u4E0A\u5E38\u89C1\u7684 SQL \u89E3\u6790\u65B9\u6848",id:"\u4E8C\u5E02\u9762\u4E0A\u5E38\u89C1\u7684-sql-\u89E3\u6790\u65B9\u6848",level:2},{value:"2.1 \u5E95\u5C42\u89E3\u6790\u5668\u4EF6\uFF1AJavaCC / ANTLR 3 / ANTLR 4",id:"21-\u5E95\u5C42\u89E3\u6790\u5668\u4EF6javacc--antlr-3--antlr-4",level:3},{value:"2.2 SQL \u89E3\u6790\u5668\u811A\u624B\u67B6\uFF1ACalcite / hive-exec",id:"22-sql-\u89E3\u6790\u5668\u811A\u624B\u67B6calcite--hive-exec",level:3},{value:"2.3 \u66F4\u300C\u5177\u8C61\u5316\u300D\u7684\u89E3\u6790\u5668\uFF1AJSqlParser / Druid",id:"23-\u66F4\u5177\u8C61\u5316\u7684\u89E3\u6790\u5668jsqlparser--druid",level:3},{value:"2.4 \u6838\u5FC3\u5BF9\u6BD4\u4E0E\u9009\u578B\u7ED3\u8BBA",id:"24-\u6838\u5FC3\u5BF9\u6BD4\u4E0E\u9009\u578B\u7ED3\u8BBA",level:3},{value:"2.5 \u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u7528 ANTLR4",id:"25-\u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u7528-antlr4",level:3},{value:"\u4E09\u3001\u5386\u53F2\u80CC\u666F\uFF1A\u6539\u9020\u524D\u7684 SQL \u89E3\u6790\u4E3A\u4EC0\u4E48\u96BE\u7EF4\u62A4",id:"\u4E09\u5386\u53F2\u80CC\u666F\u6539\u9020\u524D\u7684-sql-\u89E3\u6790\u4E3A\u4EC0\u4E48\u96BE\u7EF4\u62A4",level:2},{value:"3.1 \u5B50\u4EA7\u54C1\u5404\u81EA\u4E3A\u6218",id:"31-\u5B50\u4EA7\u54C1\u5404\u81EA\u4E3A\u6218",level:3},{value:"3.2 \u5386\u53F2\u8BBE\u8BA1\u67B6\u6784",id:"32-\u5386\u53F2\u8BBE\u8BA1\u67B6\u6784",level:3},{value:"3.3 \u4E3B\u8981\u95EE\u9898",id:"33-\u4E3B\u8981\u95EE\u9898",level:3},{value:"\u56DB\u3001\u6280\u672F\u6539\u9020\uFF1A\u53CC\u5C42\u5206\u5C42",id:"\u56DB\u6280\u672F\u6539\u9020\u53CC\u5C42\u5206\u5C42",level:2},{value:"4.1 \u8BED\u6CD5\u89E3\u6790\u5C42\uFF08\u57FA\u4E8E Druid\uFF09",id:"41-\u8BED\u6CD5\u89E3\u6790\u5C42\u57FA\u4E8E-druid",level:3},{value:"4.2 \u4E1A\u52A1\u89E3\u6790\u5C42",id:"42-\u4E1A\u52A1\u89E3\u6790\u5C42",level:3},{value:"4.3 \u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0",id:"43-\u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0",level:3},{value:"\u4E94\u3001\u4E1A\u52A1\u5C42\u89E3\u6790\u7684\u91CD\u65B0\u5B9E\u73B0",id:"\u4E94\u4E1A\u52A1\u5C42\u89E3\u6790\u7684\u91CD\u65B0\u5B9E\u73B0",level:2},{value:"5.1 \u5B57\u6BB5\u8840\u7F18\u89E3\u6790",id:"51-\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",level:3},{value:"5.2 \u8868\u8840\u7F18\u89E3\u6790",id:"52-\u8868\u8840\u7F18\u89E3\u6790",level:3},{value:"5.3 \u8868\u89E3\u6790",id:"53-\u8868\u89E3\u6790",level:3},{value:"5.4 \u51FD\u6570\u89E3\u6790",id:"54-\u51FD\u6570\u89E3\u6790",level:3},{value:"5.5 \u5176\u4ED6\u4E1A\u52A1\u80FD\u529B",id:"55-\u5176\u4ED6\u4E1A\u52A1\u80FD\u529B",level:3},{value:"\u516D\u3001SqlParserX \u7684\u8BDE\u751F",id:"\u516Dsqlparserx-\u7684\u8BDE\u751F",level:2},{value:"6.1 \u53CC\u5C42\u67B6\u6784",id:"61-\u53CC\u5C42\u67B6\u6784",level:3},{value:"6.2 \u4ECE\u5185\u90E8\u4E8C\u5F00\u8D70\u5411\u5B98\u65B9 Druid",id:"62-\u4ECE\u5185\u90E8\u4E8C\u5F00\u8D70\u5411\u5B98\u65B9-druid",level:3},{value:"6.3 \u80FD\u529B\u4E0E\u6587\u6863\u4F53\u7CFB",id:"63-\u80FD\u529B\u4E0E\u6587\u6863\u4F53\u7CFB",level:3},{value:"6.4 \u76EE\u6807",id:"64-\u76EE\u6807",level:3},{value:"\u4E03\u3001\u7ED3\u8BED",id:"\u4E03\u7ED3\u8BED",level:2}];function h(e){let n={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:"\u4F5C\u8005\uFF1Achanglu \uFF5C \u65E5\u671F\uFF1A2026-09-28"}),"\n",(0,l.jsxs)(n.p,{children:["\u8FD9\u662F\u4E00\u7BC7\u5173\u4E8E SqlParserX \u8D77\u6E90\u7684\u6280\u672F\u535A\u5BA2\u3002\u5B83\u8BB0\u5F55\u4E86\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002\n\u9879\u76EE\u5730\u5740\u4E0E\u4F7F\u7528\u65B9\u5F0F\u89C1 ",(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX",children:"SqlParserX \u4ED3\u5E93"}),"\uFF0C\u53CC\u5C42\u67B6\u6784\u8BBE\u8BA1\u89C1 ",(0,l.jsx)(n.a,{href:"/docs/about/architecture",children:"\u67B6\u6784\u8BBE\u8BA1"}),"\u3002"]}),"\n"]}),"\n","\n",(0,l.jsx)(n.h2,{id:"\u4E00\u4E3A\u4EC0\u4E48\u9700\u8981\u61C2\u89E3\u6790\u5668",children:"\u4E00\u3001\u4E3A\u4EC0\u4E48\u9700\u8981\u61C2\u89E3\u6790\u5668"}),"\n",(0,l.jsx)(n.h3,{id:"11-\u4EC0\u4E48\u662F\u89E3\u6790\u5668",children:"1.1 \u4EC0\u4E48\u662F\u89E3\u6790\u5668"}),"\n",(0,l.jsxs)(n.p,{children:["\u89E3\u6790\u5668\u662F\u8BA1\u7B97\u673A\u79D1\u5B66\u548C\u7F16\u7A0B\u8BED\u8A00\u9886\u57DF\u4E2D\u81F3\u5173\u91CD\u8981\u7684\u5DE5\u5177\uFF0C\u5176\u6838\u5FC3\u4F5C\u7528\u662F",(0,l.jsx)(n.strong,{children:"\u5C06\u4EBA\u7C7B\u53EF\u7406\u89E3\u7684\u300C\u5F62\u5F0F\u5316\u8BED\u8A00\u300D\uFF08\u5982\u4EE3\u7801\u3001\u6570\u636E\u683C\u5F0F\u3001\u8868\u8FBE\u5F0F\u7B49\uFF09\u8F6C\u6362\u4E3A\u673A\u5668\u53EF\u5904\u7406\u7684\u7ED3\u6784"}),"\uFF0C\u4ECE\u800C\u5B9E\u73B0\u4FE1\u606F\u7684\u89E3\u6790\u3001\u9A8C\u8BC1\u548C\u540E\u7EED\u5904\u7406\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:["\u4EBA\u7C7B\u4F7F\u7528\u7684\u8BED\u8A00\uFF08\u65E0\u8BBA\u662F\u7F16\u7A0B\u8BED\u8A00\u5982 Python\u3001\u6570\u636E\u683C\u5F0F\u5982 JSON\uFF0C\u8FD8\u662F\u67E5\u8BE2\u8BED\u53E5\u5982 SQL\uFF09\u672C\u8D28\u662F",(0,l.jsx)(n.strong,{children:"\u7ED3\u6784\u5316\u7684\u5B57\u7B26\u4E32"}),"\uFF0C\u4F46\u673A\u5668\u65E0\u6CD5\u76F4\u63A5\u7406\u89E3\u8FD9\u79CD\u5B57\u7B26\u4E32\u7684\u903B\u8F91\u542B\u4E49\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:["\u4F8B\u5982\uFF0C\u7A0B\u5E8F\u5458\u5199\u7684 ",(0,l.jsx)(n.code,{children:"x = (a + b) * 3"})," \u662F\u4E00\u4E32\u5B57\u7B26\uFF0C\u4F46\u673A\u5668\u9700\u8981\u77E5\u9053\u8FD9\u662F\u300C\u5148\u7B97 ",(0,l.jsx)(n.code,{children:"a + b"}),"\uFF0C\u518D\u4E58\u4EE5 3\uFF0C\u6700\u540E\u8D4B\u503C\u7ED9 ",(0,l.jsx)(n.code,{children:"x"}),"\u300D\u7684\u8FD0\u7B97\u903B\u8F91\u3002\u89E3\u6790\u5668\u628A\u8FD9\u4E2A\u5B57\u7B26\u4E32\u89E3\u6790\u4E3A\u4E00\u68F5\u8BED\u6CD5\u6811\uFF0C\u518D\u6309\u89C4\u5219\u4E00\u6B65\u6B65\u8FD0\u7B97\u3002"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"// \u89E3\u6790\u5668 \u626B\u63CF\u89E3\u6790\u65B9\u7A0B x = (a + b) * 3 \u5F97\u5230\u7684\u8BED\u6CD5\u6811 AST\n\n [=]\n / \\\n [x] [*]\n / \\\n [+] [3]\n / \\\n [a] [b]\n\n\u89E3\u91CA\u6267\u884C\u6B65\u9AA4\uFF1A\n1\u3001\u4ECE\u6839\u8282\u70B9 = \u5F00\u59CB\uFF0C\u8868\u793A\u8FD9\u662F\u4E00\u4E2A\u8D4B\u503C\u64CD\u4F5C\u3002\n2\u3001\u5DE6\u5B50\u6811 x \u662F\u8D4B\u503C\u76EE\u6807\uFF0C\u53F3\u5B50\u6811 * \u662F\u8BA1\u7B97\u5185\u5BB9\u3002\n3\u3001\u8BA1\u7B97 * \u65F6\uFF0C\u5148\u8BA1\u7B97\u5DE6\u5B50\u6811 +\uFF08a + b\uFF09\uFF0C\u518D\u4E58\u4EE5\u53F3\u5B50\u6811 3\u3002\n4\u3001\u6700\u540E\u5C06\u7ED3\u679C\u8D4B\u503C\u7ED9 x\u3002\n"})}),"\n",(0,l.jsx)(n.p,{children:"\u7F16\u7A0B\u8BED\u8A00\u540C\u7406\uFF0C\u5982 C\u3001Java \u7B49\u90FD\u6709\u7279\u5B9A\u7684\u8BED\u6CD5\u89C4\u5219\uFF0C\u901A\u8FC7\u89E3\u6790\u5668\u628A\u4EE3\u7801\u8F6C\u4E3A AST \u8BED\u6CD5\u6811\uFF0C\u518D\u7F16\u8BD1\u5B57\u8282\u7801\u3001\u673A\u5668\u7801\u6765\u6267\u884C\u3002"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"// \u89E3\u6790\u5668 \u626B\u63CF\u89E3\u6790 Java \u4EE3\u7801 if (x > 0) { y = 10; } \u5F97\u5230\u7684\u8BED\u6CD5\u6811 AST\n [if]\n / \\\n [>] [block]\n / \\ \\\n[x] [0] [=]\n / \\\n [y] [10]\n\n\u89E3\u6790\u6267\u884C\u6B65\u9AA4\uFF1A\n1\u3001\u6839\u8282\u70B9 if \u8868\u793A\u6761\u4EF6\u5224\u65AD\u3002\n2\u3001\u5148\u8BA1\u7B97\u6761\u4EF6 >\uFF08x > 0\uFF09\uFF0C\u5982\u679C\u4E3A\u771F\uFF1A\n3\u3001\u8FDB\u5165 block \u6267\u884C\u5185\u90E8\u8BED\u53E5 y = 10\u3002\n4\u3001\u5982\u679C\u4E3A\u5047\uFF0C\u8DF3\u8FC7\u6574\u4E2A block\u3002\n"})}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"\u89E3\u6790\u5668\u7684\u4F5C\u7528"}),"\uFF0C\u5C31\u662F\u628A\u8FD9\u79CD\u5B57\u7B26\u4E32\u300C\u62C6\u89E3\u300D\u4E3A\u6709\u610F\u4E49\u7684\u8BED\u6CD5\u7ED3\u6784\uFF08\u5982\u62BD\u8C61\u8BED\u6CD5\u6811 AST\uFF09\uFF0C\u8BA9\u673A\u5668\u80FD\u6309\u89C4\u5219\u6267\u884C\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"12-\u5982\u4F55\u5B9E\u73B0\u89E3\u6790\u5668",children:"1.2 \u5982\u4F55\u5B9E\u73B0\u89E3\u6790\u5668"}),"\n",(0,l.jsxs)(n.p,{children:["\u5728\u7F16\u8BD1\u5668\u5B9E\u73B0\u4E2D\uFF0C\u4E3B\u8981\u8981\u505A\u7684\u662F",(0,l.jsx)(n.strong,{children:"\u8BCD\u6CD5\u5206\u6790\u548C\u8BED\u6CD5\u5206\u6790"}),"\uFF1A"]}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u8BCD\u6CD5\u5206\u6790"}),"\uFF1A\u89E3\u6790\u4EE3\u7801\u5E76\u751F\u6210 Token\uFF08\u4E00\u4E2A\u5355\u8BCD\u7684\u5B57\u9762\u548C\u5B83\u7684\u79CD\u7C7B\u53CA\u8BED\u4E49\u503C\uFF09\u5E8F\u5217\uFF0C\u5B9E\u73B0\u4E00\u822C\u79F0\u4E3A\u626B\u63CF\u5668\uFF08Scanner\uFF09\u3002\u6838\u5FC3\u903B\u8F91\u662F\u5B9A\u4E49 token\uFF08\u8BED\u4E49\uFF09\u4E0E scanner\uFF08\u626B\u63CF token\uFF09\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u8BED\u6CD5\u5206\u6790"}),"\uFF1A\u5229\u7528\u626B\u63CF\u5668\u751F\u6210\u7684 Token \u5E8F\u5217\u751F\u6210\u62BD\u8C61\u8BED\u6CD5\u6811\uFF0C\u5B9E\u73B0\u4E00\u822C\u79F0\u4E3A\u89E3\u6790\u5668\uFF08Parser\uFF09\u3002\u6838\u5FC3\u903B\u8F91\u662F\u8FDB\u884C\u8BED\u6CD5\u68C0\u67E5\uFF0C\u5E76\u6784\u5EFA\u7531\u8F93\u5165\u5355\u8BCD\u7EC4\u6210\u7684\u5C42\u6B21\u5316\u6570\u636E\u7ED3\u6784\uFF08\u8BED\u6CD5\u5206\u6790\u6811\u3001\u62BD\u8C61\u8BED\u6CD5\u6811\u7B49\uFF09\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"\u6570\u5B66\u8868\u8FBE\u5F0F\uFF1A1 + 2 * 3\n\n// \u9996\u5148\u5728\u8FDB\u884C\u8BCD\u6CD5\u3001\u8BED\u6CD5\u5206\u6790\u524D\uFF0C\u6211\u4EEC\u5148\u5B9A\u4E49\u597D token\n\u5355\u8BCD\u5B57\u9762 Token \u7C7B\u578B \u8BF4\u660E\n1 INTEGER \u6574\u6570 1\n+ ADD_OP \u52A0\u6CD5\u8FD0\u7B97\u7B26\n2 INTEGER \u6574\u6570 2\n* MUL_OP \u4E58\u6CD5\u8FD0\u7B97\u7B26\n3 INTEGER \u6574\u6570 3\n\n// 1\u3001\u8BCD\u6CD5\u5206\u6790\uFF1A\u4ECE\u524D\u5F80\u540E\u626B\u63CF\u5F97\u5230\u4E00\u7EC4 Token \u6D41\n[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)]\n\n// 2\u3001\u8BED\u6CD5\u5206\u6790\uFF1A\u6839\u636E\u8FD0\u7B97\u7B26\u4F18\u5148\u7EA7\uFF08* \u4F18\u5148\u4E8E +\uFF09\u548C Token \u6D41\u6784\u5EFA AST\n [+]\n / \\\n 1 [*]\n / \\\n 2 3\n"})}),"\n",(0,l.jsx)(n.p,{children:"\u5B9E\u73B0\u4E00\u79CD\u89C4\u5219\u7684\u89E3\u6790\u5668\u6709\u4E24\u79CD\u65B9\u5F0F\uFF1A"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u65B9\u5F0F\u4E00"}),"\uFF1A\u4E0D\u4F9D\u8D56\u4EFB\u4F55\u5DE5\u5177\uFF0C\u624B\u5199\u626B\u63CF\u5668\u548C\u89E3\u6790\u5668\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u65B9\u5F0F\u4E8C"}),"\uFF1A\u4F7F\u7528\u73B0\u6210\u7684\u89E3\u6790\u5668\u751F\u6210\u5668\uFF08Yacc\u3001ANTLR\u3001JavaCC \u7B49\uFF09\uFF0C\u6839\u636E\u81EA\u5B9A\u4E49\u8BED\u6CD5\u89C4\u5219\u6587\u4EF6\u81EA\u52A8\u751F\u6210\u89E3\u6790\u5668\u4EE3\u7801\uFF0C\u4ECE\u800C\u4E13\u6CE8\u4E8E\u8BED\u6CD5\u89C4\u5219\u8BBE\u8BA1\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"13-\u4EC0\u4E48\u662F-sql-\u89E3\u6790\u5668",children:"1.3 \u4EC0\u4E48\u662F SQL \u89E3\u6790\u5668"}),"\n",(0,l.jsxs)(n.p,{children:["SQL \u89E3\u6790\u5668\u662F",(0,l.jsx)(n.strong,{children:"\u80FD\u591F\u5C06 SQL \u8BED\u53E5\u8F6C\u6362\u4E3A\u8BA1\u7B97\u673A\u53EF\u7406\u89E3\u548C\u6267\u884C\u7ED3\u6784\u7684\u7A0B\u5E8F\u7EC4\u4EF6"}),"\u3002\u5B83\u5C06\u6587\u672C\u5F62\u5F0F\u7684 SQL \u8F6C\u6362\u4E3A\u62BD\u8C61\u8BED\u6CD5\u6811\uFF08AST\uFF09\uFF0C\u4E3A\u540E\u7EED\u7684\u67E5\u8BE2\u4F18\u5316\u548C\u6267\u884C\u63D0\u4F9B\u57FA\u7840\u3002\u901A\u4FD7\u5730\u8BF4\uFF0C\u5C31\u662F\u80FD\u5BF9 SQL \u8FDB\u884C\u89E3\u6790\u3001\u8F6C\u6362\u6210\u8BED\u6CD5\u6811\u7684\u5DE5\u5177\u3002"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"# \u67E5\u8BE2\nSELECT * FROM users WHERE status = 'active';\n# \u63D2\u5165\nINSERT INTO customers (name, email) VALUES ('\u674E\u56DB', 'lisi@example.com');\n# \u66F4\u65B0\nUPDATE products SET price = 5999 WHERE id = 1001;\n# \u5220\u9664\nDELETE FROM logs WHERE create_time < '2024-01-01';\n# \u521B\u5EFA\u8868\nCREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2));\n# \u4FEE\u6539\u8868\nALTER TABLE employees ADD COLUMN department VARCHAR(20);\n# \u5220\u9664\u8868\nDROP TABLE temp_data;\n# \u6388\u6743\nGRANT SELECT ON customers TO user1;\n"})}),"\n",(0,l.jsx)(n.h3,{id:"14-sql-\u89E3\u6790\u4F4D\u4E8E\u6574\u6761\u94FE\u8DEF\u7684\u54EA\u4E2A\u4F4D\u7F6E",children:"1.4 SQL \u89E3\u6790\u4F4D\u4E8E\u6574\u6761\u94FE\u8DEF\u7684\u54EA\u4E2A\u4F4D\u7F6E"}),"\n",(0,l.jsx)(n.p,{children:"\u5E38\u89C1\u6570\u636E\u5E93\u6267\u884C SQL \u7684\u6574\u4E2A\u8FC7\u7A0B\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"SQL\u6587\u672C \u2192 \u8BCD\u6CD5\u5206\u6790\uFF08Tokenizer\uFF09\u2192 \u8BED\u6CD5\u5206\u6790\uFF08Parser\uFF09\u2192 AST \u2192 \u8BED\u4E49\u5206\u6790 \u2192 \u4F18\u5316SQL \u2192 \u4EA7\u751F\u6267\u884C\u8BA1\u5212/\u6267\u884C\u4EFB\u52A1\n"})}),"\n",(0,l.jsx)(n.p,{children:"\u800C SQL \u89E3\u6790\u4E2D\u95F4\u4EF6\u5173\u6CE8\u7684\u662F AST \u4E4B\u540E\u7684\u5E94\u7528\u5C42\u80FD\u529B\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"SQL\u6587\u672C \u2192 \u8BCD\u6CD5\u5206\u6790\uFF08Tokenizer\uFF09\u2192 \u8BED\u6CD5\u5206\u6790\uFF08Parser\uFF09\u2192 AST \u2192 \u5E94\u7528\u5C42\uFF08\u7C7B\u578B\u8BC6\u522B\u3001\u8868\u5B57\u6BB5\u8840\u7F18\u3001\u8868\u89E3\u6790\u3001SQL\u8131\u654F\uFF09\u2192 \u5B50\u4EA7\u54C1\u5E94\u7528\n"})}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"\u8FD9\u6B63\u662F SqlParserX \u7684\u5B9A\u4F4D"}),"\uFF1A\u4E0D\u91CD\u590D\u5B9E\u73B0\u6570\u636E\u5E93\u5F15\u64CE\uFF0C\u53EA\u57FA\u4E8E\u4E00\u5957\u7EDF\u4E00\u7684 AST\uFF0C\u628A\u300C\u8868\u3001\u8840\u7F18\u3001\u51FD\u6570\u3001\u6743\u9650\u6539\u5199\u300D\u7B49\u89E3\u6790\u80FD\u529B\u505A\u6210\u53EF\u590D\u7528\u7684\u4E2D\u95F4\u4EF6\u3002"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u4E8C\u5E02\u9762\u4E0A\u5E38\u89C1\u7684-sql-\u89E3\u6790\u65B9\u6848",children:"\u4E8C\u3001\u5E02\u9762\u4E0A\u5E38\u89C1\u7684 SQL \u89E3\u6790\u65B9\u6848"}),"\n",(0,l.jsx)(n.p,{children:"\u5728\u52A8\u624B\u4E4B\u524D\uFF0C\u6211\u4EEC\u5148\u6A2A\u5411\u6BD4\u8F83\u4E86\u4E3B\u6D41\u65B9\u6848\u3002"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u5E02\u9762\u4E0A\u5E38\u89C1\u7684\u89E3\u6790\u5668\u6574\u4F53\u4ECB\u7ECD",src:s(3519).A+"",width:"2884",height:"1540"})}),"\n",(0,l.jsx)(n.h3,{id:"21-\u5E95\u5C42\u89E3\u6790\u5668\u4EF6javacc--antlr-3--antlr-4",children:"2.1 \u5E95\u5C42\u89E3\u6790\u5668\u4EF6\uFF1AJavaCC / ANTLR 3 / ANTLR 4"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u7279\u6027"}),(0,l.jsx)(n.th,{children:"JavaCC"}),(0,l.jsx)(n.th,{children:"ANTLR 3"}),(0,l.jsx)(n.th,{children:"ANTLR 4"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u8BED\u6CD5\u5206\u6790\u7B97\u6CD5"}),(0,l.jsx)(n.td,{children:"LL(k)"}),(0,l.jsx)(n.td,{children:"LL(*)"}),(0,l.jsx)(n.td,{children:"LL(*)\uFF08\u81EA\u9002\u5E94\u9884\u6D4B\uFF09"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u5DE6\u9012\u5F52\u5904\u7406"}),(0,l.jsx)(n.td,{children:"\u4E0D\u652F\u6301\uFF0C\u9700\u624B\u52A8\u8F6C\u6362"}),(0,l.jsx)(n.td,{children:"\u9700\u624B\u52A8\u8F6C\u6362"}),(0,l.jsx)(n.td,{children:"\u81EA\u52A8\u5904\u7406"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u76EE\u6807\u8BED\u8A00"}),(0,l.jsx)(n.td,{children:"Java"}),(0,l.jsx)(n.td,{children:"Java\u3001C#\u3001Python \u7B49"}),(0,l.jsx)(n.td,{children:"\u540C ANTLR 3"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u9519\u8BEF\u5904\u7406"}),(0,l.jsx)(n.td,{children:"\u57FA\u7840\u9519\u8BEF\u6062\u590D"}),(0,l.jsx)(n.td,{children:"\u589E\u5F3A\u7684\u9519\u8BEF\u6062\u590D"}),(0,l.jsx)(n.td,{children:"\u667A\u80FD\u9519\u8BEF\u6062\u590D\u4E0E\u8BCA\u65AD"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u8BED\u6CD5\u590D\u6742\u5EA6"}),(0,l.jsx)(n.td,{children:"\u7B80\u5355\u76F4\u89C2"}),(0,l.jsx)(n.td,{children:"\u8F83\u590D\u6742"}),(0,l.jsx)(n.td,{children:"\u7B80\u5316\uFF08\u76F8\u6BD4 ANTLR 3\uFF09"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"\u5E94\u7528\u573A\u666F"}),(0,l.jsx)(n.td,{children:"\u5C0F\u578B\u9879\u76EE\u3001\u6559\u80B2"}),(0,l.jsx)(n.td,{children:"\u4E2D\u5927\u578B\u9879\u76EE"}),(0,l.jsx)(n.td,{children:"\u5927\u578B\u9879\u76EE\u3001\u590D\u6742\u8BED\u6CD5"})]})]})]}),"\n",(0,l.jsx)(n.h3,{id:"22-sql-\u89E3\u6790\u5668\u811A\u624B\u67B6calcite--hive-exec",children:"2.2 SQL \u89E3\u6790\u5668\u811A\u624B\u67B6\uFF1ACalcite / hive-exec"}),"\n",(0,l.jsx)(n.p,{children:"\u6240\u8C13\u811A\u624B\u67B6\uFF0C\u662F\u57FA\u4E8E JavaCC \u6216 ANTLR \u5DF2\u7ECF\u5B9E\u73B0\u4E86\u6807\u51C6 SQL \u7684\u8BCD\u6CD5\u3001\u8BED\u6CD5\u89C4\u5219\uFF0C\u6211\u4EEC\u53EA\u9700\u6309\u5176\u89C4\u8303\u6269\u5C55\uFF1A"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Calcite\uFF08\u57FA\u4E8E JavaCC\uFF09"}),"\uFF1A\u6A21\u5757\u5316\u3001\u53EF\u6269\u5C55\u7684 SQL \u89E3\u6790\u4E0E\u4F18\u5316\u6846\u67B6\uFF0C\u5F88\u591A\u5F00\u6E90 SQL \u5F15\u64CE\u7528\u5B83\u6765\u505A\u6807\u51C6 SQL \u89E3\u6790\u4E0E\u4F18\u5316\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"hive-exec\uFF08\u57FA\u4E8E ANTLR3\uFF09"}),"\uFF1AHive \u7684\u6838\u5FC3\u5305\uFF0C\u652F\u6301 Hive/Spark \u8BED\u6CD5\u89E3\u6790\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"23-\u66F4\u5177\u8C61\u5316\u7684\u89E3\u6790\u5668jsqlparser--druid",children:"2.3 \u66F4\u300C\u5177\u8C61\u5316\u300D\u7684\u89E3\u6790\u5668\uFF1AJSqlParser / Druid"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"JSqlParser"}),"\uFF1A\u57FA\u4E8E JavaCC\uFF0C\u80FD\u5C06 SQL \u8F6C\u4E3A\u66F4\u8BED\u4E49\u5316\u7684\u7ED3\u6784\uFF08\u5982 ",(0,l.jsx)(n.code,{children:"select"})," \u2192 ",(0,l.jsx)(n.code,{children:"SelectStatement"}),"\uFF09\uFF0C\u652F\u6301\u8BED\u6CD5\u6811\u7C7B\u7EE7\u627F\u3001JavaAPI \u6784\u5EFA SQL\u3001\u8BED\u6CD5\u6811\u8F6C SQL\uFF1B\u4F46 ",(0,l.jsx)(n.strong,{children:"API \u65E0\u660E\u663E\u7684\u7279\u5B9A\u65B9\u8A00\u89E3\u6790\u5206\u5C42\uFF0C\u652F\u6301\u7684\u6570\u636E\u6E90\u89E3\u6790\u80FD\u529B\u8F83\u5F31"}),"\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"Druid"}),"\uFF1A\u5B8C\u5168\u7528 Java \u81EA\u5B9E\u73B0\u626B\u63CF\u5668\u3001\u89E3\u6790\u5668\uFF0C\u89E3\u6790\u51FA\u7684\u8BED\u6CD5\u6811\u662F",(0,l.jsx)(n.strong,{children:"\u5177\u8C61\u5316\u7684\u62BD\u8C61\u8BED\u6CD5\u6811\uFF08\u5177\u6709\u7EE7\u627F\u5173\u7CFB\uFF09"}),"\uFF0C\u5E76\u4E14",(0,l.jsx)(n.strong,{children:"\u652F\u6301\u6309\u6570\u636E\u6E90\u5206\u5C42\u6269\u5C55"}),"\uFF08Lexer\u3001Parser \u626B\u63CF\u53EF\u5206\u5C42\u9694\u79BB\uFF09\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"24-\u6838\u5FC3\u5BF9\u6BD4\u4E0E\u9009\u578B\u7ED3\u8BBA",children:"2.4 \u6838\u5FC3\u5BF9\u6BD4\u4E0E\u9009\u578B\u7ED3\u8BBA"}),"\n",(0,l.jsxs)(n.table,{children:[(0,l.jsx)(n.thead,{children:(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.th,{children:"\u5DE5\u5177"}),(0,l.jsx)(n.th,{children:"\u4F9D\u8D56\u5DE5\u5177"}),(0,l.jsx)(n.th,{children:"\u89E3\u6790 SQL \u80FD\u529B"}),(0,l.jsx)(n.th,{children:"\u8BED\u6CD5\u6811\u7C7B\u7EE7\u627F"}),(0,l.jsx)(n.th,{children:"\u4F18\u7F3A\u70B9"})]})}),(0,l.jsxs)(n.tbody,{children:[(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"JavaCC"}),(0,l.jsx)(n.td,{children:"\u539F\u751F\u5B9A\u4E49\u89E3\u6790\u89C4\u5219"}),(0,l.jsx)(n.td,{children:"\u65E0"}),(0,l.jsx)(n.td,{children:"\u65E0"}),(0,l.jsx)(n.td,{children:"\u9700\u4ECE\u96F6\u5B9A\u4E49 SQL \u89C4\u5219"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"ANTLR4"}),(0,l.jsx)(n.td,{children:"\u539F\u751F\u5B9A\u4E49\u89E3\u6790\u89C4\u5219"}),(0,l.jsx)(n.td,{children:"\u6709\uFF0C\u5B98\u65B9\u8BED\u6CD5\u751F\u6001\u6781\u597D"}),(0,l.jsx)(n.td,{children:"\u65E0"}),(0,l.jsx)(n.td,{children:"\u8BED\u6CD5\u751F\u6001\u5F3A\uFF0C\u4F46\u89E3\u6790\u8BED\u6CD5\u6811\u65E0\u62BD\u8C61\u7EE7\u627F\u5173\u7CFB"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"Calcite"}),(0,l.jsx)(n.td,{children:"\u57FA\u4E8E JavaCC"}),(0,l.jsx)(n.td,{children:"\u6807\u51C6 SQL\uFF0C\u591A\u65B9\u8A00\u6269\u5C55\u3001\u751F\u6001\u8F83\u5F31"}),(0,l.jsx)(n.td,{children:"\u6709"}),(0,l.jsx)(n.td,{children:"\u9700\u624B\u52A8\u6269\u5C55\u5206\u5C42\u5199\u8BED\u6CD5\u89C4\u5219\uFF0C\u6210\u672C\u5927"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"hive-exec"}),(0,l.jsx)(n.td,{children:"\u57FA\u4E8E ANTLR3"}),(0,l.jsx)(n.td,{children:"\u4EC5 Hive\u3001Spark"}),(0,l.jsx)(n.td,{children:"\u65E0"}),(0,l.jsx)(n.td,{children:"\u65E0\u6CD5\u6269\u5C55\u5206\u5C42\u5230\u5176\u4ED6\u6570\u636E\u6E90"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:"JSqlParser"}),(0,l.jsx)(n.td,{children:"\u57FA\u4E8E JavaCC"}),(0,l.jsx)(n.td,{children:"\u6807\u51C6 SQL\uFF0C\u90E8\u5206\u65B9\u8A00"}),(0,l.jsx)(n.td,{children:"\u6709"}),(0,l.jsx)(n.td,{children:"API \u65E0\u660E\u663E\u6570\u636E\u6E90\u5206\u5C42"})]}),(0,l.jsxs)(n.tr,{children:[(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"Druid"})}),(0,l.jsx)(n.td,{children:"\u539F\u751F Java \u5B9E\u73B0\u626B\u63CF\u3001\u89E3\u6790\u5668\u4EF6"}),(0,l.jsx)(n.td,{children:"\u652F\u6301 MySQL\u3001Oracle\u3001Hive\u3001Spark\u3001Doris\u3001StarRocks \u7B49"}),(0,l.jsx)(n.td,{children:(0,l.jsx)(n.strong,{children:"\u6709\uFF08\u6781\u5F3A\uFF09"})}),(0,l.jsx)(n.td,{children:"\u6570\u636E\u6E90\u751F\u6001\u597D\u3001AST \u6709\u7EE7\u627F\u5173\u7CFB\uFF1B\u7F3A\u70B9\u662F Java \u81EA\u5B9E\u73B0\u626B\u63CF\u5668\uFF0C\u5165\u95E8\u6709\u96BE\u5EA6"})]})]})]}),"\n",(0,l.jsxs)(n.p,{children:["\u9762\u5411\u6570\u6808\u300C\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u90FD\u8981\u6709\u540C\u6837\u7EE7\u627F\u5173\u7CFB\u7684\u8BED\u6CD5\u6811\u300D\u7684\u573A\u666F\uFF0C\u9700\u8981\u62BD\u8C61\u5B9A\u4E49\u7EDF\u4E00\u7684 ",(0,l.jsx)(n.code,{children:"Insert"}),"\u3001",(0,l.jsx)(n.code,{children:"Select"}),"\u3001",(0,l.jsx)(n.code,{children:"Update"}),"\u3001",(0,l.jsx)(n.code,{children:"Delete"})," \u7B49\u7ED3\u6784\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"\u57FA\u4E8E Druid \u8FD9\u6837\u4E00\u5957\u6709\u7EE7\u627F\u5173\u7CFB\u7684 AST\uFF0C\u4E0D\u540C\u529F\u80FD\u53EA\u9700\u5B9E\u73B0\u4E00\u5957\u89E3\u6790\u903B\u8F91\u5373\u53EF\u5BF9\u5E94\u6240\u6709\u6570\u636E\u6E90\uFF0C\u90E8\u5206\u6570\u636E\u6E90\u518D\u5355\u72EC\u901A\u8FC7\u5206\u5C42\u517C\u5BB9\u5373\u53EF\u3002"})," \u8FD9\u6210\u4E3A\u540E\u7EED\u9009\u578B\u7684\u51B3\u5B9A\u6027\u7406\u7531\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"25-\u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u7528-antlr4",children:"2.5 \u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u7528 ANTLR4"}),"\n",(0,l.jsxs)(n.p,{children:["ANTLR4 \u751F\u6001\u786E\u5B9E\u5F88\u597D\uFF08\u5B98\u65B9\u6709 grammars-v4\uFF09\uFF0C\u4F46\u5B83\u7684\u8BED\u6CD5\u6811",(0,l.jsx)(n.strong,{children:"\u6CA1\u6709\u62BD\u8C61\u7EE7\u627F\u5173\u7CFB"}),"\uFF0C\u96BE\u4EE5\u5728\u591A\u6570\u636E\u6E90\u4E0A\u6C89\u6DC0\u300C\u4E00\u5957\u4E1A\u52A1\u89E3\u6790\u903B\u8F91\u300D\uFF0C\u9700\u8981\u5728\u4E1A\u52A1\u5C42\u91CD\u65B0\u62BD\u8C61\u4E00\u5957\u7ED3\u6784\uFF0C\u53CD\u800C\u589E\u52A0\u7EF4\u62A4\u6210\u672C\u3002Druid \u7684 AST \u5929\u7136\u5E26\u7EE7\u627F\u4F53\u7CFB\uFF0C\u66F4\u5951\u5408\u6211\u4EEC\u7684\u76EE\u6807\u3002"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u4E09\u5386\u53F2\u80CC\u666F\u6539\u9020\u524D\u7684-sql-\u89E3\u6790\u4E3A\u4EC0\u4E48\u96BE\u7EF4\u62A4",children:"\u4E09\u3001\u5386\u53F2\u80CC\u666F\uFF1A\u6539\u9020\u524D\u7684 SQL \u89E3\u6790\u4E3A\u4EC0\u4E48\u96BE\u7EF4\u62A4"}),"\n",(0,l.jsx)(n.h3,{id:"31-\u5B50\u4EA7\u54C1\u5404\u81EA\u4E3A\u6218",children:"3.1 \u5B50\u4EA7\u54C1\u5404\u81EA\u4E3A\u6218"}),"\n",(0,l.jsx)(n.p,{children:"\u6539\u9020\u524D\uFF0CSQL \u89E3\u6790\u6563\u843D\u5728\u591A\u4E2A\u5B50\u4EA7\u54C1\u4E2D\uFF0C\u5404\u7528\u5404\u7684\u65B9\u6848\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"\u79BB\u7EBF batchparser\uFF1ASQL \u7C7B\u578B\u8BC6\u522B\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001SQL \u8131\u654F\u3001\u884C\u5217\u7EA7\u6743\u9650\n \u9762\u5411 SQL \u7C7B\u578B\uFF1Ardb\uFF08mysql\u3001oracle\u3001doris...\uFF09\u3001hive\u3001spark\u3001impala\n \u5B9E\u73B0\uFF1Acalcite & hive-exec \u6A21\u5757\u89E3\u6790\u5668\uFF0C\u52A0\u4E0A druid \u515C\u5E95\u3010\u4E2D\u95F4\u5404\u79CD\u517C\u5BB9\u8BED\u6CD5\u6B63\u5219\u5339\u914D\u66FF\u6362\u903B\u8F91\u3011\n\nAPI apiparser\uFF1AAPI \u89E3\u6790\uFF08\u9884\u7F16\u8BD1\u3001\u975E\u9884\u7F16\u8BD1\uFF09\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001\u884C\u5217\u7EA7\u6743\u9650\n \u9762\u5411 SQL \u7C7B\u578B\uFF1Ardb\n \u5B9E\u73B0\uFF1Acalcite + druid\uFF0Cdruid \u515C\u5E95\n\nlabel labelparser\uFF1A\u6807\u7B7E\u89E3\u6790\n \u5B9E\u73B0\uFF1Acalcite\n\n\u5B9E\u65F6 streamparser\n StreamCreateTableParser \u76F4\u63A5\u4F7F\u7528\u6B63\u5219\u5339\u914D\u89E3\u6790\n StreamCreateViewParser \u4F7F\u7528 hive-exec \u8FDB\u884C\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\n StreamInsertParser \u4F7F\u7528 FlinkPlanner & hive parser \u8FDB\u884C\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\n\n\u8D44\u4EA7 sqlparser\uFF1A\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001SQL \u7C7B\u578B\u8BC6\u522B\n \u5B9E\u73B0\uFF1A\u6BD4\u8F83\u6DF7\u4E71\uFF0Ccalcite\u3001druid \u4EE5\u53CA hive parser \u6DF7\u7528\n"})}),"\n",(0,l.jsxs)(n.p,{children:["\u6838\u5FC3\u95EE\u9898\u662F\uFF1A",(0,l.jsx)(n.strong,{children:"\u5386\u53F2\u4E0A\u9488\u5BF9 SQL \u8BED\u6CD5\u5C42\u9762\u7684\u6269\u5C55\u5F88\u5C11"}),"\uFF0C\u5BFC\u81F4\u8BED\u6CD5\u89E3\u6790\u300C\u4E00\u4E2A\u4E0D\u884C\u5C31\u6362\u53E6\u4E00\u4E2A\u300D\uFF0C\u5404\u79CD\u515C\u5E95\uFF1B\u505A\u8FC7\u8BED\u6CD5\u6269\u5C55\u7684\u4E3B\u8981\u662F\u57FA\u4E8E Calcite \u6269\u5C55\u4E86\u5C11\u91CF\u8BED\u6CD5\uFF08limit\u3001starrocks \u7B49\uFF09\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"32-\u5386\u53F2\u8BBE\u8BA1\u67B6\u6784",children:"3.2 \u5386\u53F2\u8BBE\u8BA1\u67B6\u6784"}),"\n",(0,l.jsx)(n.p,{children:"\u6539\u9020\u524D\u4E3B\u8981\u9488\u5BF9 Calcite\uFF08rdb \u7C7B\u578B\uFF09\u3001hive-exec\uFF08spark\u3001hive\uFF09\u4E24\u7C7B SQL\uFF0CDruid \u4E0E\u6B63\u5219\u65B9\u5F0F\u4F5C\u4E3A\u515C\u5E95\u3002"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u6539\u9020\u524D\u7684\u5386\u53F2\u8BBE\u8BA1\u67B6\u6784",src:s(6809).A+"",width:"16384",height:"5838"})}),"\n",(0,l.jsx)(n.p,{children:"\u4E1A\u52A1\u903B\u8F91\u53EF\u4EE5\u5206\u4E3A\u4E24\u7C7B\uFF1A"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"\u4E00\u7C7B\uFF1ASQL \u7C7B\u578B\u8BC6\u522B\u3001\u8868\u89E3\u6790\u3001SQL \u8131\u654F\u3001\u884C\u5217\u7EA7\u6743\u9650"})}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsx)(n.li,{children:"\u6839\u636E SQL \u7C7B\u578B\u7528 Calcite\u3001hive-exec \u89E3\u6790\u5F97\u5230\u8BED\u6CD5\u6811\uFF1B"}),"\n",(0,l.jsx)(n.li,{children:"\u57FA\u4E8E\u8BED\u6CD5\u6811\u505A\u4E0A\u8FF0\u4E1A\u52A1\u3002"}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"\u53E6\u4E00\u7C7B\uFF1A\u8840\u7F18\u5B9E\u73B0"})}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsx)(n.li,{children:"\u7528 Calcite\u3001hive-exec \u89E3\u6790\u5F97\u5230\u8BED\u6CD5\u6811\uFF1B"}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811"}),"\uFF0C\u5B9E\u73B0\u4E24\u5957\u8F6C\u6362\u5668\uFF08Calcite AST \u2192 \u81EA\u5B9A\u4E49 AST\u3001hive-exec AstNode \u2192 \u81EA\u5B9A\u4E49 AST\uFF09\uFF1B"]}),"\n",(0,l.jsx)(n.li,{children:"\u9488\u5BF9\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811\u5199\u4E00\u5957\u8840\u7F18\u89E3\u6790\u903B\u8F91\u3002"}),"\n"]}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:"\u95EE\u9898\uFF1A\u8F6C\u6362\u4E0E\u89E3\u6790\u626B\u63CF\u8FC7\u7A0B\u4E2D\uFF0C\u5386\u53F2\u4E0A\u66FE\u51FA\u73B0\u6B7B\u5FAA\u73AF\u5BFC\u81F4\u5B50\u4EA7\u54C1\u670D\u52A1\u6302\u6389\u7B49\u5404\u79CD\u60C5\u51B5\u3002"}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"Calcite \u5206\u5C42\u6269\u5C55\u6587\u7AE0\u7684\u63A2\u7D22",src:s(3784).A+"",width:"1710",height:"852"})}),"\n",(0,l.jsx)(n.h3,{id:"33-\u4E3B\u8981\u95EE\u9898",children:"3.3 \u4E3B\u8981\u95EE\u9898"}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u4E0D\u540C\u6570\u636E\u6E90\u8BED\u6CD5\u89E3\u6790\u6269\u5C55\u80FD\u529B\u5F31"}),"\uFF1A\u4E0D\u540C rdb \u8BED\u6CD5\u9700\u8981\u6B63\u5219\u524D\u7F6E\u5904\u7406\uFF0C\u6216\u5355\u72EC\u53BB\u6269\u5C55\u8BED\u6CD5\uFF0C\u4E14\u6269\u5C55\u8BED\u6CD5\u96C6\u4E2D\u5728\u4E00\u4E2A\u6A21\u5757\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u4F7F\u7528\u591A\u79CD\u89E3\u6790\u6846\u67B6\u3001\u5404\u79CD\u515C\u5E95\uFF0C\u4EE3\u7801\u7EF4\u62A4\u96BE"}),"\uFF1A\u62FF\u5230\u8BED\u6CD5\u6811\u540E\u7684\u5E94\u7528\u5C42\u89E3\u6790\u903B\u8F91\u4E5F\u5197\u4F59\u5728\u4E00\u8D77\uFF0C\u5230\u5904\u662F ",(0,l.jsx)(n.code,{children:"if"})," \u5224\u65AD\u6570\u636E\u6E90\u517C\u5BB9\u903B\u8F91\uFF0C\u6539\u4E00\u4E2A\u5730\u65B9\u53EF\u80FD\u5F71\u54CD\u5176\u4ED6\u5730\u65B9\uFF0C\u96BE\u4EE5\u7EF4\u62A4\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u8840\u7F18\u89E3\u6790\u6269\u5C55\u5F31\u3001\u5B66\u4E60\u6210\u672C\u6781\u9AD8"}),"\uFF1A\u9700\u8981\u5148\u4E86\u89E3 Calcite / AstNode \u7684\u8282\u70B9\u5B9A\u4E49\uFF0C\u518D\u5177\u5907\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811\u80FD\u529B\uFF0C\u7136\u540E\u6269\u5C55\u4E24\u5C42\u8F6C\u6362\u903B\u8F91\uFF08\u8FD8\u5BB9\u6613\u6B7B\u5FAA\u73AF\uFF09\uFF0C\u6700\u540E\u624D\u5230\u8840\u7F18\u89E3\u6790\u672C\u8EAB\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u56DB\u6280\u672F\u6539\u9020\u53CC\u5C42\u5206\u5C42",children:"\u56DB\u3001\u6280\u672F\u6539\u9020\uFF1A\u53CC\u5C42\u5206\u5C42"}),"\n",(0,l.jsxs)(n.p,{children:["\u6280\u672F\u6539\u9020\u56F4\u7ED5\u4E24\u4E2A\u5C42\u9762\u5206\u5C42\uFF1A",(0,l.jsx)(n.strong,{children:"\u8BED\u6CD5\u89E3\u6790\u5C42"})," \u4E0E ",(0,l.jsx)(n.strong,{children:"\u4E1A\u52A1\u89E3\u6790\u5C42"}),"\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"41-\u8BED\u6CD5\u89E3\u6790\u5C42\u57FA\u4E8E-druid",children:"4.1 \u8BED\u6CD5\u89E3\u6790\u5C42\uFF08\u57FA\u4E8E Druid\uFF09"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u8BED\u6CD5\u89E3\u6790\u5C42\u5206\u5C42",src:s(3130).A+"",width:"2120",height:"712"})}),"\n",(0,l.jsx)(n.p,{children:"\u5206\u5C42\u5B9E\u73B0\u540E\uFF0C\u626B\u63CF\u5668\u3001\u89E3\u6790\u5668\u90FD\u652F\u6301\u7EE7\u627F\u590D\u7528\uFF0C\u4E14\u76F8\u4E92\u72EC\u7ACB\u3001\u4E92\u4E0D\u5F71\u54CD\uFF0C\u7ED3\u6784\u7C7B\u53EF\u81EA\u5B9A\u4E49\u6269\u5C55\uFF1A"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"Druid \u5206\u5C42\u7ED3\u6784\u7C7B",src:s(4037).A+"",width:"3080",height:"1824"})}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-java",children:"// \u5DE5\u5177\u7C7B\u6307\u5B9A\u6570\u636E\u6E90\u7C7B\u578B\u5B9E\u73B0\u89E3\u6790\nSQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris);\nSQLStatement statement = parser.parseStatement();\n\n// \u6216\u76F4\u63A5 new \u7279\u5B9A Parser\nDorisStatementParser statementParser = new DorisStatementParser(sql);\nSQLStatement sqlStatement = statementParser.parseStatement();\n"})}),"\n",(0,l.jsx)(n.h3,{id:"42-\u4E1A\u52A1\u89E3\u6790\u5C42",children:"4.2 \u4E1A\u52A1\u89E3\u6790\u5C42"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u89E3\u6790\u5C42"}),"\uFF1A\u4E0D\u540C\u6570\u636E\u6E90 \u2192 \u7EDF\u4E00\u62BD\u8C61\u7ED3\u6784\u8BED\u6CD5\u6811\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u5E94\u7528\u5C42"}),"\uFF1A\u9488\u5BF9\u7EDF\u4E00 AST \u5B9E\u73B0\u4E00\u5957\u89E3\u6790\u65B9\u6CD5\uFF1B\u7279\u5B9A\u6570\u636E\u6E90\u5728 AST \u4E2D\u81EA\u5B9A\u4E49\u4E86\u90E8\u5206\u8282\u70B9\u65F6\uFF0C\u5E94\u7528\u5C42\u518D\u9488\u5BF9\u8BE5\u6570\u636E\u6E90\u7684\u8282\u70B9\u505A\u5206\u5C42\u5904\u7406\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u4E1A\u52A1\u89E3\u6790\u5206\u5C42",src:s(3042).A+"",width:"3972",height:"2296"})}),"\n",(0,l.jsx)(n.p,{children:"\u9488\u5BF9\u62BD\u8C61\u8BED\u6CD5\u6811\u5B9E\u73B0\u901A\u7528\u89E3\u6790\u7EC4\u4EF6\uFF1A"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u5E94\u7528\u5C42\u901A\u7528\u89E3\u6790\u7EC4\u4EF6",src:s(4560).A+"",width:"9256",height:"1888"})}),"\n",(0,l.jsxs)(n.p,{children:["\u540E\u7EED\u6269\u5C55\u65F6\uFF0C\u82E5\u5728\u8BED\u6CD5\u5C42\u5355\u72EC\u5B9E\u73B0\u4E86\u67D0\u4E2A\u8282\u70B9\uFF0C\u53EA\u9700\u7EE7\u627F ",(0,l.jsx)(n.code,{children:"BaseXxxClient"}),"\uFF0C\u5355\u72EC\u5B9E\u73B0\u5DEE\u5F02\u65B9\u6CD5\u5373\u53EF\uFF0C\u91CD\u590D\u903B\u8F91\u590D\u7528\uFF1A"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u7EE7\u627F BaseXxxClient \u6269\u5C55",src:s(3694).A+"",width:"2324",height:"1252"})}),"\n",(0,l.jsxs)(n.p,{children:["\u521B\u5EFA Client \u540E\uFF0C\u5728\u5BF9\u5E94 ",(0,l.jsx)(n.code,{children:"XxxSqlParser"})," \u4E2D\u6CE8\u518C\uFF1A"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u5728\u65B9\u8A00\u89E3\u6790\u5668\u4E2D\u6CE8\u518C Client",src:s(3220).A+"",width:"2100",height:"648"})}),"\n",(0,l.jsx)(n.p,{children:"\u793A\u4F8B\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-java",children:"// \u51C6\u5907 SQL\nString sql = getSql();\n\n// 1\u3001\u83B7\u53D6\u89E3\u6790\u5668\uFF08\u5DE5\u5382\u65B9\u5F0F\uFF09\nISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n// 2.1\u3001\u89E3\u6790\u8868\nParseTableResult parseTableResult = sqlParser.parseTables(sql);\nSystem.out.println(parseTableResult.getMainTable()); // \u4E3B\u8868\nSystem.out.println(parseTableResult.getAllTableName()); // \u6240\u6709\u8868\n\n// 2.2\u3001\u89E3\u6790\u5B57\u6BB5\u8840\u7F18\uFF08select * \u573A\u666F\u53EF\u4F20\u5165 tableColumnsMap \u63D0\u4F9B\u5B57\u6BB5\u5143\u6570\u636E\uFF09\nColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap);\n\n// 2.3\u3001\u89E3\u6790\u8868\u8840\u7F18\nTableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql);\n\n// 2.4\u3001\u89E3\u6790\u51FD\u6570\nSet<String> functions = sqlParser.parseFunction(sql);\n"})}),"\n",(0,l.jsx)(n.h3,{id:"43-\u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0",children:"4.3 \u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0"}),"\n",(0,l.jsx)(n.p,{children:"\u540E\u7EED\u8BED\u6CD5\u89E3\u6790\u3001\u4E1A\u52A1\u5C42\u89E3\u6790\u90FD\u53EF\u72EC\u7ACB\u6269\u5C55\uFF1A"}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0",src:s(4778).A+"",width:"5684",height:"2764"})}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u4E94\u4E1A\u52A1\u5C42\u89E3\u6790\u7684\u91CD\u65B0\u5B9E\u73B0",children:"\u4E94\u3001\u4E1A\u52A1\u5C42\u89E3\u6790\u7684\u91CD\u65B0\u5B9E\u73B0"}),"\n",(0,l.jsx)(n.p,{children:"\u5386\u53F2\u4E0A\u57FA\u4E8E Druid \u7684\u4E1A\u52A1\u5C42\u5B9E\u73B0\u5F88\u5C11\uFF08\u4EC5 API \u89E3\u6790\u3001\u79BB\u7EBF\u90E8\u5206\u89E3\u6790\u7528 Druid \u515C\u5E95\uFF09\uFF0C\u56E0\u6B64\u8868\u89E3\u6790\u3001\u8840\u7F18\u89E3\u6790\u90FD\u9700\u8981\u91CD\u65B0\u5B9E\u73B0\u3002"}),"\n",(0,l.jsxs)(n.p,{children:[(0,l.jsx)(n.strong,{children:"\u6709\u8840\u7F18\u7279\u5F81\u7684 SQL \u7C7B\u578B"}),"\uFF1A",(0,l.jsx)(n.code,{children:"insert into/overwrite ... select"}),"\u3001",(0,l.jsx)(n.code,{children:"create ... select"}),"\u3001",(0,l.jsx)(n.code,{children:"with as ... insert"}),"\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"51-\u5B57\u6BB5\u8840\u7F18\u89E3\u6790",children:"5.1 \u5B57\u6BB5\u8840\u7F18\u89E3\u6790"}),"\n",(0,l.jsxs)(n.p,{children:["\u6838\u5FC3\u601D\u8DEF\u662F",(0,l.jsx)(n.strong,{children:"\u628A\u6765\u6E90\u4E0E\u76EE\u6807\u5404\u81EA\u5F52\u4E00\u4E3A\u4E00\u5F20\u4E8C\u7EF4\u8868"}),"\u3002"]}),"\n",(0,l.jsxs)(n.p,{children:["\u4EE5\u4E00\u6761 ",(0,l.jsx)(n.code,{children:"insert select"})," \u4E3A\u4F8B\uFF1A"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-sql",children:"insert into new_table (id, name)\nselect a.id as aid, b.name as bname\nfrom old_table as a\nleft join old_table2 b on a.id = b.id\n"})}),"\n",(0,l.jsxs)(n.ol,{children:["\n",(0,l.jsxs)(n.li,{children:["\u62C6\u6210\u4E24\u4E2A\u90E8\u5206\uFF1A",(0,l.jsx)(n.code,{children:"insert"})," \u76EE\u6807\u7AEF\u3001",(0,l.jsx)(n.code,{children:"select"})," \u6765\u6E90\u7AEF\uFF1B"]}),"\n",(0,l.jsx)(n.li,{children:"\u5404\u81EA\u8FFD\u6EAF\u5F97\u5230\u4E00\u7EC4\u5217\u8868\uFF1A"}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"# \u76EE\u6807\u7AEF\n\u771F\u5B9E\u5B57\u6BB5 \u522B\u540D\u5B57\u6BB5 \u771F\u5B9E\u8868\u540D\n id id new_table\n name name new_table\n\n# \u6765\u6E90\u7AEF\n\u771F\u5B9E\u5B57\u6BB5 \u522B\u540D\u5B57\u6BB5 \u771F\u5B9E\u8868\u540D\n id aid old_table\n name bname old_table2\n"})}),"\n",(0,l.jsxs)(n.ol,{start:"3",children:["\n",(0,l.jsx)(n.li,{children:"\u4E24\u7EC4\u6309\u56FA\u5B9A\u89C4\u5219\u5339\u914D\uFF0C\u5373\u5F97\u5B57\u6BB5\u8840\u7F18\uFF1A"}),"\n"]}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"# \u7B2C\u4E00\u6761\nadmin \u76EE\u6807\u7AEF new_table.id \u2190 \u6765\u6E90\u7AEF old_table.id\n# \u7B2C\u4E8C\u6761\n\u76EE\u6807\u7AEF new_table.name \u2190 \u6765\u6E90\u7AEF old_table2.name\n"})}),"\n",(0,l.jsx)(n.p,{children:"\u6765\u6E90\u7AEF\u7684\u300C\u771F\u5B9E\u8868\u540D \u2192 \u6765\u6E90\u8868\u300D\u300C\u771F\u5B9E\u5B57\u6BB5 \u2192 \u6765\u6E90\u5B57\u6BB5\u300D\uFF0C\u76EE\u6807\u7AEF\u7684\u300C\u522B\u540D\u5B57\u6BB5 \u2192 \u76EE\u6807\u5B57\u6BB5\u300D\u3002"}),"\n",(0,l.jsxs)(n.p,{children:["\u5BF9\u4E8E ",(0,l.jsx)(n.code,{children:"with as"})," \u573A\u666F\uFF0C\u6BCF\u4E2A CTE \u7684 ",(0,l.jsx)(n.code,{children:"()"})," \u4F5C\u4E3A\u4E00\u7EC4\u540C\u6837\u5F52\u4E00\u4E3A\u4E8C\u7EF4\u8868\u518D\u5339\u914D\uFF1B\u5BF9\u4E8E",(0,l.jsx)(n.strong,{children:"\u5355\u5217\u6765\u6E90\u4E8E\u591A\u5B57\u6BB5"}),"\u7684\u573A\u666F\uFF08\u5982 ",(0,l.jsx)(n.code,{children:"concat(t1.name, t2.name)"}),"\uFF09\uFF0C\u771F\u5B9E\u5B57\u6BB5\u4E0E\u771F\u5B9E\u8868\u540D\u4EE5 ",(0,l.jsx)(n.code,{children:","})," \u5408\u5E76\uFF0C\u6700\u7EC8\u62C6\u6210\u591A\u6761\u8840\u7F18\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"52-\u8868\u8840\u7F18\u89E3\u6790",children:"5.2 \u8868\u8840\u7F18\u89E3\u6790"}),"\n",(0,l.jsxs)(n.p,{children:["\u672C\u8D28\u4E0E\u5B57\u6BB5\u8840\u7F18\u7C7B\u4F3C\uFF0C\u66F4\u591A\u662F\u5BF9\u8868\u8FDB\u884C\u5206\u7EC4\u5217\u8868\uFF0C\u4E00\u4E2A ",(0,l.jsx)(n.code,{children:"select"})," \u540C\u6837\u5F97\u5230\u4E00\u7EC4\u300C\u8868\u3001\u8868\u522B\u540D\u300D\u7684\u4E8C\u7EF4\u8868\uFF0C\u6700\u7EC8\u4E0E ",(0,l.jsx)(n.code,{children:"insert"})," \u76EE\u6807\u8868\u5339\u914D\u5373\u53EF\u5B8C\u6210\u8868\u8840\u7F18\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"53-\u8868\u89E3\u6790",children:"5.3 \u8868\u89E3\u6790"}),"\n",(0,l.jsxs)(n.p,{children:["\u4E0E\u8868\u8840\u7F18\u7C7B\u4F3C\uFF0C\u9700\u8981\u89E3\u6790\u51FA\u6240\u6709\u771F\u5B9E\u8868\uFF1B\u9664\u4E86\u8FFD\u6EAF\u771F\u5B9E\u8868\u7684\u8FC7\u7A0B\uFF0C\u8FD8\u8981\u5408\u5E76\u6CA1\u6709\u88AB\u8FFD\u6EAF\u5230\u7684\u771F\u5B9E\u8868\uFF0C\u540C\u65F6\u8986\u76D6\u6BD4\u8868\u8840\u7F18\u66F4\u591A\u7684 SQL \u7ED3\u6784\uFF08",(0,l.jsx)(n.code,{children:"select"}),"\u3001",(0,l.jsx)(n.code,{children:"update"}),"\u3001",(0,l.jsx)(n.code,{children:"delete"}),"\u3001",(0,l.jsx)(n.code,{children:"insert"}),"\u3001",(0,l.jsx)(n.code,{children:"drop"}),"\u3001",(0,l.jsx)(n.code,{children:"rename"})," \u7B49\uFF09\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"54-\u51FD\u6570\u89E3\u6790",children:"5.4 \u51FD\u6570\u89E3\u6790"}),"\n",(0,l.jsxs)(n.p,{children:["\u51FD\u6570\u4E0E\u8840\u7F18\u65E0\u5173\uFF0C\u76F4\u63A5\u4F7F\u7528 ",(0,l.jsx)(n.strong,{children:"Visitor \u6A21\u5F0F"}),"\u6536\u96C6\u6240\u6709\u51FD\u6570\u5373\u53EF\uFF1A"]}),"\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.img,{alt:"\u57FA\u4E8E Visitor \u7684\u51FD\u6570\u89E3\u6790",src:s(593).A+"",width:"2150",height:"1224"})}),"\n",(0,l.jsx)(n.h3,{id:"55-\u5176\u4ED6\u4E1A\u52A1\u80FD\u529B",children:"5.5 \u5176\u4ED6\u4E1A\u52A1\u80FD\u529B"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"SQL \u8131\u654F\uFF08\u79BB\u7EBF\uFF09"}),"\uFF1A\u590D\u7528\u5B57\u6BB5\u8840\u7F18\u7684 select column \u7EC4\u4EF6\u62FF\u5230\u5B57\u6BB5\u5217\u8868\uFF0C\u518D\u7ED3\u5408\u8BED\u6CD5\u5C42\u4F4D\u70B9\u80FD\u529B\u8FDB\u884C\u6539\u5199\uFF1B\u96BE\u70B9\u662F Druid \u65E0\u7CBE\u786E\u539F\u59CB SQL \u4F4D\u70B9\uFF0C\u9700\u8981\u6269\u5C55\u3002"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u884C\u7EA7\u6743\u9650\u6539\u5199 SQL"}),"\uFF1A\u5229\u7528 Druid API \u8865\u5145 AST \u8282\u70B9\uFF0C\u518D\u8F6C\u56DE SQL\uFF0C\u672C\u8D28\u662F\u6839\u636E\u4E3B\u4F53 select \u5C01\u88C5/\u8865\u5145\u6761\u4EF6\u8282\u70B9\u540E\u91CD\u65B0\u8F93\u51FA\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u516Dsqlparserx-\u7684\u8BDE\u751F",children:"\u516D\u3001SqlParserX \u7684\u8BDE\u751F"}),"\n",(0,l.jsxs)(n.p,{children:["\u5728\u5185\u90E8\u53CC\u5C42\u6539\u9020\u9A8C\u8BC1\u843D\u5730\u4E4B\u540E\uFF0C\u4E00\u4E2A\u66F4\u6E05\u6670\u7684\u60F3\u6CD5\u51FA\u73B0\u4E86\uFF1A",(0,l.jsx)(n.strong,{children:"\u80FD\u4E0D\u80FD\u628A\u300C\u57FA\u4E8E Druid \u7684 SQL \u89E3\u6790\u300D\u505A\u6210\u4E00\u4E2A\u7EAF\u51C0\u3001\u53EF\u72EC\u7ACB\u6F14\u8FDB\u7684\u5F00\u6E90\u9879\u76EE\uFF1F"})]}),"\n",(0,l.jsxs)(n.p,{children:["\u4E8E\u662F\u6709\u4E86 ",(0,l.jsx)(n.strong,{children:"SqlParserX"})," \u2014\u2014 \u4E00\u4E2A\u65E0\u9700\u4F9D\u8D56 Calcite\u3001ANTLR \u7B49\u5176\u4ED6\u89E3\u6790\u7EC4\u4EF6\uFF0C",(0,l.jsx)(n.strong,{children:"\u5B8C\u5168\u57FA\u4E8E Druid \u5B9E\u73B0\u5404\u7C7B\u4E0D\u540C SQL \u89E3\u6790"}),"\u7684\u5F00\u6E90\u9879\u76EE\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"61-\u53CC\u5C42\u67B6\u6784",children:"6.1 \u53CC\u5C42\u67B6\u6784"}),"\n",(0,l.jsx)(n.p,{children:"SqlParserX \u5C06\u89E3\u6790\u5185\u6838\u62C6\u5206\u4E3A\u4E24\u4E2A\u72EC\u7ACB Jar Module\uFF0C\u7ED3\u6784\u5BF9\u79F0\u3001\u804C\u8D23\u6E05\u6670\uFF1A"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-text",children:"SqlParserX\uFF08\u6839 Reactor\uFF09\n\u251C\u2500\u2500 sqlparserx-engine\uFF08\u805A\u5408\u7236\u6A21\u5757\uFF0Cpackaging=pom\uFF09\n\u2502 \u251C\u2500\u2500 sqlparserx-syntax\uFF08jar\uFF0C\u8BED\u6CD5\u89E3\u6790\u5C42\uFF0C\u57FA\u4E8E Druid\uFF09 \u2190 \u53EA\u7BA1 SQL \u2192 AST\n\u2502 \u2514\u2500\u2500 sqlparserx-core\uFF08jar\uFF0C\u4E1A\u52A1\u89E3\u6790\u5C42\uFF0C\u4F9D\u8D56 syntax\uFF09 \u2190 \u53EA\u7BA1 AST \u2192 \u4E1A\u52A1\u7ED3\u679C\n\u251C\u2500\u2500 sqlparserx-web\uFF08HTTP \u670D\u52A1\uFF09\n\u251C\u2500\u2500 sqlparserx-mcp-server-sse\uFF08MCP Server\uFF09\n\u2514\u2500\u2500 sqlparserx-ui\uFF08\u524D\u7AEF\uFF09\n"})}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:[(0,l.jsxs)(n.strong,{children:["\u8BED\u6CD5\u89E3\u6790\u5C42\uFF08",(0,l.jsx)(n.code,{children:"sqlparserx-syntax"}),"\uFF09"]}),"\uFF1A\u7EDF\u4E00\u7EF4\u62A4 Druid \u4F9D\u8D56\u3001SQL\u2192AST\u3001\u591A\u8BED\u53E5\u89E3\u6790\u4E0E\u5207\u5206\uFF0C\u4EE5\u53CA\u540E\u7EED\u6570\u636E\u6E90 Lexer / StatementParser / AST Node \u6269\u5C55\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsxs)(n.strong,{children:["\u4E1A\u52A1\u89E3\u6790\u5C42\uFF08",(0,l.jsx)(n.code,{children:"sqlparserx-core"}),"\uFF09"]}),"\uFF1A\u57FA\u4E8E\u7EDF\u4E00 AST \u5B9E\u73B0\u771F\u5B9E\u8868\u3001\u5EFA\u8868\u7ED3\u6784\u3001\u8868/\u5B57\u6BB5\u8840\u7F18\u3001\u51FD\u6570\u4E0E SQL \u6743\u9650\u6539\u5199\u3002"]}),"\n"]}),"\n",(0,l.jsxs)(n.p,{children:["\u4E24\u5C42\u4EE5 ",(0,l.jsx)(n.code,{children:"DbType + SQLStatement AST"})," \u4F5C\u4E3A\u8FDE\u63A5\u5951\u7EA6\uFF0C",(0,l.jsx)(n.strong,{children:"\u4E0D\u989D\u5916\u590D\u5236\u4E00\u5957 AST"}),"\uFF0C\u907F\u514D\u957F\u671F\u8F6C\u6362\u4E0E\u540C\u6B65\u3002\u8BE6\u7EC6\u8BBE\u8BA1\u89C1 ",(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/blob/master/docs/02%E3%80%81SQL%E4%B8%9A%E5%8A%A1%E5%B1%82%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%94%AF%E6%92%91%E6%83%85%E5%86%B5/%E6%A8%A1%E5%9D%97%E4%BE%9D%E8%B5%96%E5%8C%85%E5%BC%95%E7%94%A8%E7%BB%93%E6%9E%84%E8%AE%BE%E8%AE%A1.md",children:"\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1"}),"\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"62-\u4ECE\u5185\u90E8\u4E8C\u5F00\u8D70\u5411\u5B98\u65B9-druid",children:"6.2 \u4ECE\u5185\u90E8\u4E8C\u5F00\u8D70\u5411\u5B98\u65B9 Druid"}),"\n",(0,l.jsxs)(n.p,{children:["\u9879\u76EE\u65E9\u671F\u4F9D\u8D56\u5185\u90E8\u4E8C\u5F00\u7684 Druid \u7248\u672C\uFF0C\u968F\u7740\u80FD\u529B\u6C89\u6DC0\uFF0CSqlParserX \u5DF2\u7EDF\u4E00\u4E3A",(0,l.jsx)(n.strong,{children:"\u5B98\u65B9 Druid 1.2.28"}),"\uFF0C\u964D\u4F4E\u7EF4\u62A4\u6210\u672C\u3001\u65B9\u4FBF\u793E\u533A\u534F\u4F5C\u3002\u8BED\u6CD5\u5C42\u575A\u6301\u300C",(0,l.jsx)(n.strong,{children:"\u4E0D\u5728\u4E1A\u52A1\u5C42\u7528\u5927\u91CF\u6B63\u5219\u66FF\u6362\u89C4\u907F\u8BED\u6CD5\u95EE\u9898"}),"\u300D\uFF0C\u65B9\u8A00\u8BED\u6CD5\u5DEE\u5F02\u4E00\u5F8B\u56DE\u5230\u8BED\u6CD5\u5C42\u6309 Druid \u7684\u65B9\u5F0F\u6269\u5C55\u3002"]}),"\n",(0,l.jsx)(n.h3,{id:"63-\u80FD\u529B\u4E0E\u6587\u6863\u4F53\u7CFB",children:"6.3 \u80FD\u529B\u4E0E\u6587\u6863\u4F53\u7CFB"}),"\n",(0,l.jsx)(n.p,{children:"SqlParserX \u4E0D\u4EC5\u63D0\u4F9B\u4EE3\u7801\uFF0C\u4E5F\u63D0\u4F9B\u4E86\u4E00\u5957\u53EF\u7EF4\u62A4\u7684\u6587\u6863\u4F53\u7CFB\uFF1A"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"/docs/about/architecture",children:"\u53CC\u5C42\u67B6\u6784\u8BBE\u8BA1"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/blob/master/docs/02%E3%80%81SQL%E4%B8%9A%E5%8A%A1%E5%B1%82%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%94%AF%E6%92%91%E6%83%85%E5%86%B5/%E6%A8%A1%E5%9D%97%E4%BE%9D%E8%B5%96%E5%8C%85%E5%BC%95%E7%94%A8%E7%BB%93%E6%9E%84%E8%AE%BE%E8%AE%A1.md",children:"\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/blob/master/docs/01%E3%80%81SQL%E8%AF%AD%E6%B3%95%E5%B1%82%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%94%AF%E6%92%91%E6%83%85%E5%86%B5/Druid%E7%89%88%E6%9C%AC%E4%B8%8ESQL%E8%AF%AD%E6%B3%95%E6%94%AF%E6%8C%81%E6%83%85%E5%86%B5.md",children:"Druid \u7248\u672C\u4E0E SQL \u8BED\u6CD5\u652F\u6301\u60C5\u51B5"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/tree/master/docs/02%E3%80%81SQL%E4%B8%9A%E5%8A%A1%E5%B1%82%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%94%AF%E6%92%91%E6%83%85%E5%86%B5/%E8%83%BD%E5%8A%9B%E6%94%AF%E6%8C%81%E6%83%85%E5%86%B5",children:"\u80FD\u529B\u652F\u6301\u60C5\u51B5\uFF08\u6570\u636E\u6E90 + \u901A\u7528\u89E3\u6790\u80FD\u529B\uFF09"})}),"\n",(0,l.jsx)(n.li,{children:(0,l.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/blob/master/docs/02%E3%80%81SQL%E4%B8%9A%E5%8A%A1%E5%B1%82%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%94%AF%E6%92%91%E6%83%85%E5%86%B5/%E6%A0%87%E5%87%86%E8%BF%AD%E4%BB%A3%E7%BB%B4%E6%8A%A4%E6%89%A9%E5%B1%95%E6%96%87%E6%A1%A3/SqlParserX%E8%A7%A3%E6%9E%90%E8%83%BD%E5%8A%9B%E6%A0%87%E5%87%86%E8%BF%AD%E4%BB%A3%E7%BB%B4%E6%8A%A4%E6%89%A9%E5%B1%95%E6%8C%87%E5%8D%97.md",children:"\u89E3\u6790\u80FD\u529B\u6807\u51C6\u8FED\u4EE3\u7EF4\u62A4\u6269\u5C55\u6307\u5357"})}),"\n"]}),"\n",(0,l.jsx)(n.h3,{id:"64-\u76EE\u6807",children:"6.4 \u76EE\u6807"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["\u65E0\u9700\u4F9D\u8D56 Calcite\u3001ANTLR \u7B49\u5176\u4ED6\u89E3\u6790\u7EC4\u4EF6\uFF0C",(0,l.jsx)(n.strong,{children:"\u5B8C\u5168\u57FA\u4E8E Druid"})," \u5B9E\u73B0\u5404\u79CD\u6570\u636E\u6E90\u7684 SQL \u89E3\u6790\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:[(0,l.jsx)(n.strong,{children:"\u8BED\u6CD5\u95EE\u9898\u6269\u5C55 Druid\uFF0C\u4E1A\u52A1\u8BED\u4E49\u6269\u5C55 SqlParserX"}),"\uFF1B\u901A\u7528\u80FD\u529B\u6C89\u6DC0 Base\uFF0C\u6570\u636E\u6E90\u5DEE\u5F02\u6309\u65B9\u8A00\u8986\u76D6\uFF1B"]}),"\n",(0,l.jsxs)(n.li,{children:["\u65B0\u589E\u6570\u636E\u6E90\u65F6\uFF0C\u8BED\u6CD5\u5DEE\u5F02\u5728\u8BED\u6CD5\u5C42\u6269\u5C55\uFF0C\u4E1A\u52A1\u5DEE\u5F02\u5728\u4E1A\u52A1\u5C42\u6269\u5C55\uFF0C\u4E0A\u4E0B\u4E24\u5C42\u901A\u8FC7 ",(0,l.jsx)(n.code,{children:"DbType"})," \u4E0E AST \u5BF9\u9F50\u3002"]}),"\n"]}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsx)(n.h2,{id:"\u4E03\u7ED3\u8BED",children:"\u4E03\u3001\u7ED3\u8BED"}),"\n",(0,l.jsx)(n.p,{children:"\u4ECE\u300C\u6563\u843D\u5404\u5904\u7684\u89E3\u6790\u5668 + \u5404\u79CD\u515C\u5E95\u300D\u5230\u300C\u7EDF\u4E00 AST + \u53CC\u5C42\u5206\u5C42\u300D\uFF0C\u518D\u5230\u300C\u4E00\u4E2A\u7EAF\u51C0\u3001\u53EA\u4F9D\u8D56 Druid \u7684\u5F00\u6E90\u9879\u76EE\u300D\uFF0CSqlParserX \u7684\u8BDE\u751F\u4E0D\u662F\u4E00\u6B21\u6027\u7684\u91CD\u6784\uFF0C\u800C\u662F\u4E00\u6B21\u6B21\u628A\u95EE\u9898\u653E\u56DE\u6B63\u786E\u5C42\u6B21\u7684\u53D6\u820D\uFF1A"}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:(0,l.jsx)(n.strong,{children:"\u8BED\u6CD5\u95EE\u9898\u6269\u5C55 Druid\uFF0C\u4E1A\u52A1\u8BED\u4E49\u6269\u5C55 SqlParserX\uFF1B\u901A\u7528\u80FD\u529B\u6C89\u6DC0 Base\uFF0C\u6570\u636E\u6E90\u5DEE\u5F02\u6309\u65B9\u8A00\u8986\u76D6\u3002"})}),"\n"]}),"\n",(0,l.jsx)(n.p,{children:"\u5982\u679C\u4F60\u5728\u505A\u591A\u6570\u636E\u6E90\u7684 SQL \u89E3\u6790\u3001\u8840\u7F18\u3001\u8868\u89E3\u6790\u76F8\u5173\u5DE5\u4F5C\uFF0C\u6B22\u8FCE\u4E00\u8D77\u4EA4\u6D41\u4E0E\u5171\u5EFA\u3002"}),"\n",(0,l.jsx)(n.hr,{}),"\n",(0,l.jsxs)(n.blockquote,{children:["\n",(0,l.jsx)(n.p,{children:"\u4F5C\u8005\uFF1Achanglu \uFF5C 2026-09-28"}),"\n",(0,l.jsxs)(n.p,{children:["\u672C\u6587\u56FE\u7247\u4F4D\u4E8E ",(0,l.jsx)(n.code,{children:"assets/"})," \u76EE\u5F55\uFF0C\u4ED3\u5E93\u5185\u4EE5\u76F8\u5BF9\u8DEF\u5F84\u5F15\u7528\u3002"]}),"\n"]})]})}function x(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(h,{...e})}):h(e)}},3519(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/01-parser-market-69347f790ddfccf38bcd49b4df85e909.png"},6809(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/02-legacy-architecture-8c0e245dcac8e3570e5a686b9f58b9d9.png"},3784(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/03-calcite-layered-article-1d0e86b355eba0e53d237d95afd4d3a6.png"},3130(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/04-druid-syntax-layer-815515eac5295f9f772e1beb97f04c11.png"},4037(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/05-druid-layer-structure-5737c5a7826cff1a2874cf2b927ccd34.png"},3042(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/06-business-layer-46c84fa8b5f3c12f0316fc058e9daf15.png"},4560(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/07-application-components-3fa01967e1605c21791788f2a06212eb.png"},3694(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/08-inherit-baseclient-cb4fb84bd3af91ceb7d6b08e4ec7d466.png"},3220(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/09-register-client-c6216b08439b96af51fda129de838a4e.png"},4778(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/10-after-refactor-c8b89cd447d9cea7894354ffea6a2fdf.png"},593(e,n,s){s.d(n,{A:()=>r});let r=s.p+"assets/images/11-function-visitor-43a9830686ce367f536545b5691f504f.png"},8453(e,n,s){s.d(n,{R:()=>d,x:()=>c});var r=s(6540);let l={},i=r.createContext(l);function d(e){let n=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:d(e.components),r.createElement(i.Provider,{value:n},e.children)}},5816(e){e.exports=JSON.parse('{"permalink":"/SqlParserX/en/blog/origin-of-sqlparserx","editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/blog/2026-09-28-origin-of-sqlparserx.md","source":"@site/blog/2026-09-28-origin-of-sqlparserx.md","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002","date":"2026-09-28T00:00:00.000Z","tags":[{"inline":false,"label":"\u8D77\u6E90\u4E0E\u80CC\u666F","permalink":"/SqlParserX/en/blog/tags/origin","description":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u4E0E\u5185\u90E8\u6539\u9020\u5386\u7A0B"}],"readingTime":16.44,"hasTruncateMarker":true,"authors":[{"name":"changlu","title":"SqlParserX \u7EF4\u62A4\u8005","url":"https://github.com/DTStack/SqlParserX","page":{"permalink":"/SqlParserX/en/blog/authors/changlu"},"socials":{"github":"https://github.com/DTStack"},"imageURL":"https://github.com/github.png","key":"changlu"}],"frontMatter":{"slug":"origin-of-sqlparserx","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","authors":["changlu"],"tags":["origin"],"date":"2026-09-28T00:00:00.000Z","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002"},"unlisted":false}')}}]); \ No newline at end of file diff --git a/en/assets/js/4b0ae1c1.9cebb942.js b/en/assets/js/4b0ae1c1.9cebb942.js new file mode 100644 index 0000000..803559a --- /dev/null +++ b/en/assets/js/4b0ae1c1.9cebb942.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9375"],{8786(e,r,t){t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var s=t(5816),n=t(4848),a=t(8453);let o={slug:"origin-of-sqlparserx",title:"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020",authors:["changlu"],tags:["origin"],date:new Date("2026-09-28T00:00:00.000Z"),description:"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002"},l,i={authorsImageUrls:[void 0]},c=[];function u(e){let r={a:"a",blockquote:"blockquote",p:"p",...(0,a.R)(),...e.components};return(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsx)(r.p,{children:"\u4F5C\u8005\uFF1Achanglu \uFF5C \u65E5\u671F\uFF1A2026-09-28"}),"\n",(0,n.jsxs)(r.p,{children:["\u8FD9\u662F\u4E00\u7BC7\u5173\u4E8E SqlParserX \u8D77\u6E90\u7684\u6280\u672F\u535A\u5BA2\u3002\u5B83\u8BB0\u5F55\u4E86\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002\n\u9879\u76EE\u5730\u5740\u4E0E\u4F7F\u7528\u65B9\u5F0F\u89C1 ",(0,n.jsx)(r.a,{href:"https://github.com/DTStack/SqlParserX",children:"SqlParserX \u4ED3\u5E93"}),"\uFF0C\u53CC\u5C42\u67B6\u6784\u8BBE\u8BA1\u89C1 ",(0,n.jsx)(r.a,{href:"/docs/about/architecture",children:"\u67B6\u6784\u8BBE\u8BA1"}),"\u3002"]}),"\n"]})}function p(e={}){let{wrapper:r}={...(0,a.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8453(e,r,t){t.d(r,{R:()=>o,x:()=>l});var s=t(6540);let n={},a=s.createContext(n);function o(e){let r=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(a.Provider,{value:r},e.children)}},5816(e){e.exports=JSON.parse('{"permalink":"/SqlParserX/en/blog/origin-of-sqlparserx","editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/blog/2026-09-28-origin-of-sqlparserx.md","source":"@site/blog/2026-09-28-origin-of-sqlparserx.md","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002","date":"2026-09-28T00:00:00.000Z","tags":[{"inline":false,"label":"\u8D77\u6E90\u4E0E\u80CC\u666F","permalink":"/SqlParserX/en/blog/tags/origin","description":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u4E0E\u5185\u90E8\u6539\u9020\u5386\u7A0B"}],"readingTime":16.44,"hasTruncateMarker":true,"authors":[{"name":"changlu","title":"SqlParserX \u7EF4\u62A4\u8005","url":"https://github.com/DTStack/SqlParserX","page":{"permalink":"/SqlParserX/en/blog/authors/changlu"},"socials":{"github":"https://github.com/DTStack"},"imageURL":"https://github.com/github.png","key":"changlu"}],"frontMatter":{"slug":"origin-of-sqlparserx","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","authors":["changlu"],"tags":["origin"],"date":"2026-09-28T00:00:00.000Z","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002"},"unlisted":false}')}}]); \ No newline at end of file diff --git a/en/assets/js/5062.689c71ca.js b/en/assets/js/5062.689c71ca.js new file mode 100644 index 0000000..5d1c5a9 --- /dev/null +++ b/en/assets/js/5062.689c71ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5062"],{955(e,t,n){n.d(t,{A:()=>a});var r=n(4848);n(6540);var i=n(4164),s=n(568),o=n(2072);function a({className:e}){return(0,r.jsx)("main",{className:(0,i.A)("container margin-vert--xl",e),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(s.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},629(e,t,n){n.r(t),n.d(t,{default:()=>l});var r=n(4848);n(6540);var i=n(568),s=n(4308),o=n(6525),a=n(955);function l(){let e=(0,i.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.be,{title:e}),(0,r.jsx)(o.A,{children:(0,r.jsx)(a.A,{})})]})}}}]); \ No newline at end of file diff --git a/en/assets/js/5082.46e3206e.js b/en/assets/js/5082.46e3206e.js new file mode 100644 index 0000000..c0891bf --- /dev/null +++ b/en/assets/js/5082.46e3206e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5082"],{5137(e,t,r){r.d(t,{captureNodeSizes:()=>u});var i=r(6827);function a(){if("u">typeof globalThis)return globalThis}function n(){return"u"<typeof location?"browser-dev":`${location.pathname}${location.search}`}function o(e,t){let r=a();if(!r)return;let i=t.node(),n=(i&&"ownerSVGElement"in i?i.ownerSVGElement:null)??i,o=n?.id??"(unknown)";r.mermaidCapturedSizes??=[];let u={svgId:o,sizes:e};r.mermaidCapturedSizes.push(u),r.mermaidLastCapturedSizes=u}function u(e,t){let r=[];for(let e of t.nodes)e.isGroup||r.push({id:e.id,width:e.width??0,height:e.height??0});0!==r.length&&o({metadata:{captureVersion:1,capturedAt:new Date().toISOString(),capturedFrom:n()},nodes:r},e)}(0,i.K)(a,"getCaptureGlobal"),(0,i.K)(function(){return!!a()?.mermaidCaptureSizes},"shouldCaptureSizes"),(0,i.K)(n,"capturedFromLocation"),(0,i.K)(o,"emitCapturedSizes"),(0,i.K)(u,"captureNodeSizes")}}]); \ No newline at end of file diff --git a/en/assets/js/5250.ce6f0efa.js b/en/assets/js/5250.ce6f0efa.js new file mode 100644 index 0000000..c762170 --- /dev/null +++ b/en/assets/js/5250.ce6f0efa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5250"],{9252(e,t,s){s.d(t,{T:()=>v});var i=s(9142),r=s(9610),n=s(7422),h=s(4092),o=s(6401),d=s(8058),u=s(9592),a=s(6335),_=s(4326),l=s(449),c=s(3533),p=(0,_.A)(function(e){return(0,l.A)((0,a.A)(e,1,c.A,!0))}),g=s(2888),f=s(4039);class v{constructor(e={}){this._isDirected=!Object.prototype.hasOwnProperty.call(e,"directed")||e.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(e,"multigraph")&&e.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(e,"compound")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=i.A(void 0),this._defaultEdgeLabelFn=i.A(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return r.A(e)||(e=i.A(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return n.A(this._nodes)}sources(){var e=this;return h.A(this.nodes(),function(t){return o.A(e._in[t])})}sinks(){var e=this;return h.A(this.nodes(),function(t){return o.A(e._out[t])})}setNodes(e,t){var s=arguments,i=this;return d.A(e,function(e){s.length>1?i.setNode(e,t):i.setNode(e)}),this}setNode(e,t){return Object.prototype.hasOwnProperty.call(this._nodes,e)?arguments.length>1&&(this._nodes[e]=t):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount),this}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var t=e=>this.removeEdge(this._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],d.A(this.children(e),e=>{this.setParent(e)}),delete this._children[e]),d.A(n.A(this._in[e]),t),delete this._in[e],delete this._preds[e],d.A(n.A(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(u.A(t))t="\0";else{t+="";for(var s=t;!u.A(s);s=this.parent(s))if(s===e)throw Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if("\0"!==t)return t}}children(e){if(u.A(e)&&(e="\0"),this._isCompound){var t=this._children[e];if(t)return n.A(t)}else if("\0"===e)return this.nodes();else if(this.hasNode(e))return[]}predecessors(e){var t=this._preds[e];if(t)return n.A(t)}successors(e){var t=this._sucs[e];if(t)return n.A(t)}neighbors(e){var t=this.predecessors(e);if(t)return p(t,this.successors(e))}isLeaf(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var s=this;d.A(this._nodes,function(s,i){e(i)&&t.setNode(i,s)}),d.A(this._edgeObjs,function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,s.edge(e))});var i={};return this._isCompound&&d.A(t.nodes(),function(e){t.setParent(e,function e(r){var n=s.parent(r);return void 0===n||t.hasNode(n)?(i[r]=n,n):n in i?i[n]:e(n)}(e))}),t}setDefaultEdgeLabel(e){return r.A(e)||(e=i.A(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return g.A(this._edgeObjs)}setPath(e,t){var s=this,i=arguments;return f.A(e,function(e,r){return i.length>1?s.setEdge(e,r,t):s.setEdge(e,r),r}),this}setEdge(){var e,t,s,i,r=!1,n=arguments[0];"object"==typeof n&&null!==n&&"v"in n?(e=n.v,t=n.w,s=n.name,2==arguments.length&&(i=arguments[1],r=!0)):(e=n,t=arguments[1],s=arguments[3],arguments.length>2&&(i=arguments[2],r=!0)),e=""+e,t=""+t,u.A(s)||(s=""+s);var h=m(this._isDirected,e,t,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return r&&(this._edgeLabels[h]=i),this;if(!u.A(s)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[h]=r?i:this._defaultEdgeLabelFn(e,t,s);var o=function(e,t,s,i){var r=""+t,n=""+s;if(!e&&r>n){var h=r;r=n,n=h}var o={v:r,w:n};return i&&(o.name=i),o}(this._isDirected,e,t,s);return e=o.v,t=o.w,Object.freeze(o),this._edgeObjs[h]=o,b(this._preds[t],e),b(this._sucs[e],t),this._in[t][h]=o,this._out[e][h]=o,this._edgeCount++,this}edge(e,t,s){var i=1==arguments.length?C(this._isDirected,arguments[0]):m(this._isDirected,e,t,s);return this._edgeLabels[i]}hasEdge(e,t,s){var i=1==arguments.length?C(this._isDirected,arguments[0]):m(this._isDirected,e,t,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,t,s){var i=1==arguments.length?C(this._isDirected,arguments[0]):m(this._isDirected,e,t,s),r=this._edgeObjs[i];return r&&(e=r.v,t=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],A(this._preds[t],e),A(this._sucs[e],t),delete this._in[t][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,t){var s=this._in[e];if(s){var i=g.A(s);return t?h.A(i,function(e){return e.v===t}):i}}outEdges(e,t){var s=this._out[e];if(s){var i=g.A(s);return t?h.A(i,function(e){return e.w===t}):i}}nodeEdges(e,t){var s=this.inEdges(e,t);if(s)return s.concat(this.outEdges(e,t))}}function b(e,t){e[t]?e[t]++:e[t]=1}function A(e,t){--e[t]||delete e[t]}function m(e,t,s,i){var r=""+t,n=""+s;if(!e&&r>n){var h=r;r=n,n=h}return r+"\x01"+n+"\x01"+(u.A(i)?"\0":i)}function C(e,t){return m(e,t.v,t.w,t.name)}v.prototype._nodeCount=0,v.prototype._edgeCount=0},697(e,t,s){s.d(t,{T:()=>i.T});var i=s(9252)}}]); \ No newline at end of file diff --git a/en/assets/js/533336a0.1b9c14e6.js b/en/assets/js/533336a0.1b9c14e6.js new file mode 100644 index 0000000..90f230b --- /dev/null +++ b/en/assets/js/533336a0.1b9c14e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8102"],{1082(e,r,n){n.r(r),n.d(r,{metadata:()=>t,default:()=>p,frontMatter:()=>l,contentTitle:()=>i,toc:()=>c,assets:()=>d});var t=JSON.parse('{"id":"core/table-lineage","title":"Table Lineage","description":"Parse source-to-target table lineage from SQL","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/core/table-lineage.md","sourceDirName":"core","slug":"/core/table-lineage","permalink":"/SqlParserX/en/docs/next/core/table-lineage","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/table-lineage.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"title":"Table Lineage","description":"Parse source-to-target table lineage from SQL","sidebar_label":"Table Lineage","sidebar_position":2},"sidebar":"docs","previous":{"title":"Field Lineage","permalink":"/SqlParserX/en/docs/next/core/field-lineage"},"next":{"title":"Table Parsing","permalink":"/SqlParserX/en/docs/next/core/table-parse"}}'),s=n(4848),a=n(8453);let l={title:"Table Lineage",description:"Parse source-to-target table lineage from SQL",sidebar_label:"Table Lineage",sidebar_position:2},i="Table Lineage",d={},c=[{value:"1. Add the Dependency",id:"1-add-the-dependency",level:2},{value:"2. Complete Example",id:"2-complete-example",level:2},{value:"3. Goal",id:"3-goal",level:2},{value:"4. Entry & Implementation",id:"4-entry--implementation",level:2},{value:"5. Supported Scenarios",id:"5-supported-scenarios",level:2}];function o(e){let r={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"table-lineage",children:"Table Lineage"})}),"\n",(0,s.jsx)(r.h2,{id:"1-add-the-dependency",children:"1. Add the Dependency"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,s.jsxs)(r.blockquote,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.code,{children:"sqlparserx-core"})," transitively brings in ",(0,s.jsx)(r.code,{children:"sqlparserx-syntax"})," and Druid."]}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"2-complete-example",children:"2. Complete Example"}),"\n",(0,s.jsxs)(r.p,{children:["Using the official ",(0,s.jsx)(r.code,{children:"sqlparserx-core/README.md"})," sample SQL, from parser creation to printing table lineage:"]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-java",metastring:'title="TableLineageDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.List;\n\npublic class TableLineageDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1. Get a parser\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2. Parse table lineage\n TableLineageResult result = parser.parseTableLineages(sql);\n\n // 3. Read the result\n System.out.println("target table: " + result.getTargetTable());\n System.out.println("source tables: " + result.getSourceTables());\n\n List<TableLineage> tableLineages = result.getTableLineages();\n for (TableLineage lineage : tableLineages) {\n System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable());\n }\n }\n}\n'})}),"\n",(0,s.jsx)(r.p,{children:"Console output (example):"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-text",children:"target table: user_order_summary\nsource tables: [users, orders]\nusers -> user_order_summary\norders -> user_order_summary\n"})}),"\n",(0,s.jsx)(r.h2,{id:"3-goal",children:"3. Goal"}),"\n",(0,s.jsxs)(r.p,{children:["Parse ",(0,s.jsx)(r.strong,{children:"target table \u2192 source table"})," table-level lineage from SQL, covering JOIN, UNION, subqueries, aggregates and CTEs."]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-text",children:"SQLStatement AST\n \u2192 TableLineageClient.parseTableLineages\n \u2192 collect source tables + target tables\n \u2192 TableLineageResult\n"})}),"\n",(0,s.jsx)(r.h2,{id:"4-entry--implementation",children:"4. Entry & Implementation"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Item"}),(0,s.jsx)(r.th,{children:"Content"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Core entry"}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.code,{children:"ISqlParser.parseTableLineages(sql)"})})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Default impl"}),(0,s.jsxs)(r.td,{children:[(0,s.jsx)(r.code,{children:"BaseSqlParser.parseTableLineages"})," \u2192 ",(0,s.jsx)(r.code,{children:"TableLineageClient"})]})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Return type"}),(0,s.jsxs)(r.td,{children:[(0,s.jsx)(r.code,{children:"TableLineageResult"})," (",(0,s.jsx)(r.code,{children:"getTargetTable()"})," + ",(0,s.jsx)(r.code,{children:"getSourceTables()"})," + ",(0,s.jsx)(r.code,{children:"getTableLineages()"}),")"]})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Coverage"}),(0,s.jsx)(r.td,{children:"JOIN, UNION, subquery, aggregate, CTE"})]})]})]}),"\n",(0,s.jsx)(r.h2,{id:"5-supported-scenarios",children:"5. Supported Scenarios"}),"\n",(0,s.jsxs)(r.table,{children:[(0,s.jsx)(r.thead,{children:(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.th,{children:"Capability"}),(0,s.jsx)(r.th,{children:"Status"}),(0,s.jsx)(r.th,{children:"Notes"})]})}),(0,s.jsxs)(r.tbody,{children:[(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Single/multi-table JOIN"}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.strong,{children:"Supported \u2705"})}),(0,s.jsx)(r.td,{children:"All participating tables"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"UNION / UNION ALL"}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.strong,{children:"Supported \u2705"})}),(0,s.jsx)(r.td,{children:"Merge branches"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"Subquery / derived table"}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.strong,{children:"Supported \u2705"})}),(0,s.jsx)(r.td,{children:"Recursively collect real tables"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:"CTE (WITH)"}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.strong,{children:"Supported \u2705"})}),(0,s.jsx)(r.td,{children:"Recognize CTE and real sources"})]}),(0,s.jsxs)(r.tr,{children:[(0,s.jsx)(r.td,{children:(0,s.jsx)(r.code,{children:"INSERT INTO ... SELECT"})}),(0,s.jsx)(r.td,{children:(0,s.jsx)(r.strong,{children:"Supported \u2705"})}),(0,s.jsx)(r.td,{children:"Output target and source tables"})]})]})]})]})}function p(e={}){let{wrapper:r}={...(0,a.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},8453(e,r,n){n.d(r,{R:()=>l,x:()=>i});var t=n(6540);let s={},a=t.createContext(s);function l(e){let r=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(a.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/5428.8c0b8a2a.js b/en/assets/js/5428.8c0b8a2a.js new file mode 100644 index 0000000..f272afa --- /dev/null +++ b/en/assets/js/5428.8c0b8a2a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5428"],{2223(e,s,r){r.d(s,{createRailroadServices:()=>a.l});var a=r(6045);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/5493.5c969992.js b/en/assets/js/5493.5c969992.js new file mode 100644 index 0000000..cbb5547 --- /dev/null +++ b/en/assets/js/5493.5c969992.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5493"],{5289(s,a,e){e.d(a,{diagram:()=>r.AC});var r=e(8312);e(4918),e(6755),e(5869),e(841),e(2391),e(3247),e(2735),e(5616),e(6163),e(7827),e(3002),e(739),e(6320),e(2217),e(2941),e(6348),e(1177),e(1293),e(6827)}}]); \ No newline at end of file diff --git a/en/assets/js/5505.ad92f9fd.js b/en/assets/js/5505.ad92f9fd.js new file mode 100644 index 0000000..b050ab4 --- /dev/null +++ b/en/assets/js/5505.ad92f9fd.js @@ -0,0 +1,217 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5505"],{5937(t,e,s){s.d(e,{A:()=>a});var i=s(1553),r=s(6408);let a=(t,e)=>i.A.lang.round(r.A.parse(t)[e])},4918(t,e,s){s.d(e,{o:()=>i});var i=(0,s(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")},8312(t,e,s){s.d(e,{AC:()=>S,tM:()=>T,ur:()=>F});var i=s(4918),r=s(6755),a=s(5869),n=s(841),u=s(2391),l=s(2735),o=s(3002),c=s(2941),h=s(6348),d=s(1177),p=s(1293),g=s(6827),A=s(7829),b=s(9418),y=s(5937),k=s(5582),f=class{constructor(){this.vertexCounter=0,this.config=(0,d.D7)(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=d.SV,this.setAccDescription=d.EI,this.setDiagramTitle=d.ke,this.getAccTitle=d.iN,this.getAccDescription=d.m7,this.getDiagramTitle=d.ab,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{(0,g.K)(this,"FlowDB")}sanitizeText(t){return d.Y2.sanitizeText(t,this.config)}sanitizeNodeLabelType(t){switch(t){case"markdown":case"string":case"text":return t;default:return"markdown"}}setDiagramId(t){this.diagramId=t}lookUpDomId(t){for(let e of this.vertices.values())if(e.id===t)return this.diagramId?`${this.diagramId}-${e.domId}`:e.domId;return this.diagramId?`${this.diagramId}-${t}`:t}addVertex(t,e,s,i,r,a,u={},l){let c,h;if(!t||0===t.trim().length)return;if(void 0!==l){let t;t=l.includes("\n")?l+"\n":"{\n"+l+"\n}",c=(0,n.H)(t,{schema:n.r})}let g=this.subGraphLookup.get(t);if(g&&c){g.metadata={...g.metadata,...c};return}let A=this.edges.find(e=>e.id===t);if(A){let t=c;t?.animate!==void 0&&(A.animate=t.animate),t?.animation!==void 0&&(A.animation=t.animation),t?.curve!==void 0&&(A.interpolate=t.curve);return}let b=this.vertices.get(t);if(void 0===b&&(void 0===e&&void 0===s&&null!=i&&p.R.warn(`Style applied to unknown node "${t}". This may indicate a typo. The node will be created automatically.`),b={id:t,labelType:"text",domId:"flowchart-"+t+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(t,b)),this.vertexCounter++,void 0!==e?(this.config=(0,d.D7)(),h=this.sanitizeText(e.text.trim()),b.labelType=e.type,h.startsWith('"')&&h.endsWith('"')&&(h=h.substring(1,h.length-1)),b.text=h):void 0===b.text&&(b.text=t),void 0!==s&&(b.type=s),null!=i&&i.forEach(t=>{b.styles.push(t)}),null!=r&&r.forEach(t=>{b.classes.push(t)}),void 0!==a&&(b.dir=a),void 0===b.props?b.props=u:void 0!==u&&Object.assign(b.props,u),void 0!==c){if(c.shape){if(c.shape!==c.shape.toLowerCase()||c.shape.includes("_"))throw Error(`No such shape: ${c.shape}. Shape names should be lowercase.`);if(!(0,o.aP)(c.shape))throw Error(`No such shape: ${c.shape}.`);b.type=c?.shape}c?.label&&(b.text=c?.label,b.labelType=this.sanitizeNodeLabelType(c?.labelType)),c?.icon&&(b.icon=c?.icon,c.label?.trim()||b.text!==t||(b.text="")),c?.form&&(b.form=c?.form),c?.pos&&(b.pos=c?.pos),c?.img&&(b.img=c?.img,c.label?.trim()||b.text!==t||(b.text="")),c?.constraint&&(b.constraint=c.constraint),c.w&&(b.assetWidth=Number(c.w)),c.h&&(b.assetHeight=Number(c.h))}}addSingleLink(t,e,s,i){let r={start:t,end:e,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};p.R.info("abc78 Got edge...",r);let a=s.text;if(void 0!==a&&(r.text=this.sanitizeText(a.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=this.sanitizeNodeLabelType(a.type)),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=s.length>10?10:s.length),i&&!this.edges.some(t=>t.id===i))r.id=i,r.isUserDefinedId=!0;else{let t=this.edges.filter(t=>t.start===r.start&&t.end===r.end);0===t.length?r.id=(0,h.rY)(r.start,r.end,{counter:0,prefix:"L"}):r.id=(0,h.rY)(r.start,r.end,{counter:t.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))p.R.info("Pushing edge..."),this.edges.push(r);else throw Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)}isLinkData(t){return null!==t&&"object"==typeof t&&"id"in t&&"string"==typeof t.id}addLink(t,e,s){let i=this.isLinkData(s)?s.id.replace("@",""):void 0;for(let r of(p.R.info("addLink",t,e,i),t))for(let a of e){let n=r===t[t.length-1],u=a===e[0];n&&u?this.addSingleLink(r,a,s,i):this.addSingleLink(r,a,s,void 0)}}updateLinkInterpolate(t,e){t.forEach(t=>{"default"===t?this.edges.defaultInterpolate=e:this.edges[t].interpolate=e})}updateLink(t,e){t.forEach(t=>{if("number"==typeof t&&t>=this.edges.length)throw Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?this.edges.defaultStyle=e:(this.edges[t].style=e,(this.edges[t]?.style?.length??0)>0&&!this.edges[t]?.style?.some(t=>t?.startsWith("fill"))&&this.edges[t]?.style?.push("fill:none"))})}addClass(t,e){let s=e.join().replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/\xa7\xa7\xa7/g,",").split(";");t.split(",").forEach(t=>{let e=this.classes.get(t);void 0===e&&(e={id:t,styles:[],textStyles:[]},this.classes.set(t,e)),null!=s&&s.forEach(t=>{if(/color/.exec(t)){let s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)})})}setDirection(t){this.direction=t.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(t,e){for(let s of t.split(",")){let t=this.vertices.get(s);t&&t.classes.push(e);let i=this.edges.find(t=>t.id===s);i&&i.classes.push(e);let r=this.subGraphLookup.get(s);r&&r.classes.push(e)}}setTooltip(t,e){if(void 0!==e)for(let s of(e=this.sanitizeText(e),t.split(",")))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(s):s,e)}setClickFun(t,e,s){if("loose"!==(0,d.D7)().securityLevel||void 0===e)return;let i=[];if("string"==typeof s){i=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(t);let r=this.vertices.get(t);r&&(r.haveCallback=!0,this.funs.push(()=>{let s=this.lookUpDomId(t),r=document.querySelector(`[id="${s}"]`);null!==r&&r.addEventListener("click",()=>{h._K.runFunc(e,...i)},!1)}))}setLink(t,e,s){t.split(",").forEach(t=>{let i=this.vertices.get(t);void 0!==i&&(i.link=h._K.formatUrl(e,this.config),i.linkTarget=s)}),this.setClass(t,"clickable")}getTooltip(t){return this.tooltips.get(t)}setClickEvent(t,e,s){t.split(",").forEach(t=>{this.setClickFun(t,e,s)}),this.setClass(t,"clickable")}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(t){let e=(0,l.Ck)();(0,A.Ltv)(t).select("svg").selectAll("g.node").on("mouseover",t=>{let s=(0,A.Ltv)(t.currentTarget),i=s.attr("title");if(null===i)return;let r=t.currentTarget?.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(s.attr("title")).style("left",window.scrollX+r.left+(r.right-r.left)/2+"px").style("top",window.scrollY+r.bottom+"px"),e.html(b.A.sanitize(i)),s.classed("hover",!0)}).on("mouseout",t=>{e.transition().duration(500).style("opacity",0),(0,A.Ltv)(t.currentTarget).classed("hover",!1)})}clear(t="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=t,this.config=(0,d.D7)(),(0,d.IU)()}setGen(t){this.version=t||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(t,e,s){let i=t.text.trim(),r=s.text;t===s&&/\s/.exec(s.text)&&(i=void 0);let a=(0,g.K)(t=>{let e,s={boolean:{},number:{},string:{}},i=[];return{nodeList:t.filter(function(t){let r=typeof t;return t.stmt&&"dir"===t.stmt?(e=t.value,!1):""!==t.trim()&&(r in s?!s[r].hasOwnProperty(t)&&(s[r][t]=!0):!i.includes(t)&&i.push(t))}),dir:e}},"uniq")(e.flat()),n=a.nodeList,u=a.dir,l=(0,d.D7)().flowchart??{};if(u=u??(l.inheritDir?this.getDirection()??(0,d.D7)().direction??void 0:void 0),"gen-1"===this.version)for(let t=0;t<n.length;t++)n[t]=this.lookUpDomId(n[t]);i=i??"subGraph"+this.subCount,r=r||"",r=this.sanitizeText(r),this.subCount=this.subCount+1;let o={id:i,nodes:n,title:r.trim(),classes:[],dir:u,labelType:this.sanitizeNodeLabelType(s?.type)};return p.R.info("Adding",o.id,o.nodes,o.dir),o.nodes=this.makeUniq(o,this.subGraphs).nodes,this.subGraphs.push(o),this.subGraphLookup.set(i,o),i}getPosForId(t){for(let[e,s]of this.subGraphs.entries())if(s.id===t)return e;return -1}indexNodes2(t,e){let s=this.subGraphs[e].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=e,this.subGraphs[e].id===t)return{result:!0,count:0};let i=0,r=1;for(;i<s.length;){let e=this.getPosForId(s[i]);if(e>=0){let s=this.indexNodes2(t,e);if(s.result)return{result:!0,count:r+s.count};r+=s.count}i+=1}return{result:!1,count:r}}getDepthFirstPos(t){return this.posCrossRef[t]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return!!this.firstGraphFlag&&(this.firstGraphFlag=!1,!0)}destructStartLink(t){let e=t.trim(),s="arrow_open";switch(e[0]){case"<":s="arrow_point",e=e.slice(1);break;case"x":s="arrow_cross",e=e.slice(1);break;case"o":s="arrow_circle",e=e.slice(1)}let i="normal";return e.includes("=")&&(i="thick"),e.includes(".")&&(i="dotted"),{type:s,stroke:i}}countChar(t,e){let s=e.length,i=0;for(let r=0;r<s;++r)e[r]===t&&++i;return i}destructEndLink(t){let e=t.trim(),s=e.slice(0,-1),i="arrow_open";switch(e.slice(-1)){case"x":i="arrow_cross",e.startsWith("x")&&(i="double_"+i,s=s.slice(1));break;case">":i="arrow_point",e.startsWith("<")&&(i="double_"+i,s=s.slice(1));break;case"o":i="arrow_circle",e.startsWith("o")&&(i="double_"+i,s=s.slice(1))}let r="normal",a=s.length-1;s.startsWith("=")&&(r="thick"),s.startsWith("~")&&(r="invisible");let n=this.countChar(".",s);return n&&(r="dotted",a=n),{type:i,stroke:r,length:a}}destructLink(t,e){let s,i=this.destructEndLink(t);if(e){if((s=this.destructStartLink(e)).stroke!==i.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===s.type)s.type=i.type;else{if(s.type!==i.type)return{type:"INVALID",stroke:"INVALID"};s.type="double_"+s.type}return"double_arrow"===s.type&&(s.type="double_arrow_point"),s.length=i.length,s}return i}exists(t,e){for(let s of t)if(s.nodes.includes(e))return!0;return!1}makeUniq(t,e){let s=[];return t.nodes.forEach((i,r)=>{this.exists(e,i)||s.push(t.nodes[r])}),{nodes:s}}getTypeFromVertex(t){if(t.img)return"imageSquare";if(t.icon)return"circle"===t.form?"iconCircle":"square"===t.form?"iconSquare":"rounded"===t.form?"iconRounded":"icon";switch(t.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t.type}}findNode(t,e){return t.find(t=>t.id===e)}destructEdgeType(t){let e="none",s="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":s=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":s=e=t.replace("double_","")}return{arrowTypeStart:e,arrowTypeEnd:s}}addNodeFromVertex(t,e,s,i,r,a){let n=s.get(t.id),u=i.get(t.id)??!1,l=this.findNode(e,t.id);if(l)l.cssStyles=t.styles,l.cssCompiledStyles=this.getCompiledStyles(t.classes),l.cssClasses=t.classes.join(" ");else{let s={id:t.id,label:t.text,labelType:t.labelType,labelStyle:"",parentId:n,padding:r.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),dir:t.dir,domId:t.domId,look:a,link:t.link,linkTarget:t.linkTarget,tooltip:this.getTooltip(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint};u?e.push({...s,isGroup:!0,shape:"rect"}):e.push({...s,isGroup:!1,shape:this.getTypeFromVertex(t),minWidth:r.flowchart?.minNodeWidth})}}getCompiledStyles(t){let e=[];for(let s of t){let t=this.classes.get(s);t?.styles&&(e=[...e,...t.styles??[]].map(t=>t.trim())),t?.textStyles&&(e=[...e,...t.textStyles??[]].map(t=>t.trim()))}return e}getData(){let t=(0,d.D7)(),e=[],s=[],i=this.getSubGraphs(),r=new Map,a=new Map,n=new Map;for(let t of i)for(let e of t.nodes)this.subGraphLookup.has(e)&&n.set(e,t.id);let u=new Map,l=new Map;for(let t of i){let e=n.get(t.id);void 0!==e&&l.set(e,[...l.get(e)??[],t.id])}let o=0,c=(0,g.K)(t=>{for(let e of(u.set(t,o++),l.get(t)??[]))c(e)},"walk");for(let t of i)n.has(t.id)||c(t.id);let p=(0,g.K)(t=>this.subGraphLookup.get(t)?.metadata?.view==="collapsed","isCollapsed"),A=(0,g.K)(t=>{let e,s=new Set,i=t;for(;void 0!==i&&!s.has(i);)s.add(i),p(i)&&(e=i),i=n.get(i);return e},"outermostCollapsed"),b=new Set,y=new Map;for(let t of i){let e=A(t.id);if(void 0!==e)for(let s of(t.id!==e&&(b.add(t.id),y.set(t.id,e)),t.nodes))s!==e&&(b.add(s),y.set(s,e))}for(let t=i.length-1;t>=0;t--){let e=i[t];if(!b.has(e.id))for(let t of(e.nodes.length>0&&a.set(e.id,!0),e.nodes))r.set(t,e.id)}for(let s=i.length-1;s>=0;s--){let a=i[s];b.has(a.id)||(a.metadata?.view==="collapsed"?e.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssClasses:a.classes.join(" "),shape:"collapsedGroup",dir:a.dir,isGroup:!1,look:t.look,colorIndex:u.get(a.id)}):e.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssClasses:a.classes.join(" "),shape:"rect",dir:a.dir,isGroup:!0,look:t.look,colorIndex:u.get(a.id),metadata:a.metadata}))}this.getVertices().forEach(s=>{b.has(s.id)||this.addNodeFromVertex(s,e,r,a,t,t.look||"classic")});let k=this.getEdges();return k.forEach((e,i)=>{let{arrowTypeStart:r,arrowTypeEnd:a}=this.destructEdgeType(e.type),n=[...k.defaultStyle??[]],u=y.get(e.start)??e.start,l=y.get(e.end)??e.end;if(u===l&&(y.has(e.start)||y.has(e.end)))return;e.style&&n.push(...e.style);let o={id:(0,h.rY)(u,l,{counter:i,prefix:"L"},e.id),isUserDefinedId:e.isUserDefinedId,start:u,end:l,type:e.type??"normal",label:e.text,labelType:e.labelType,labelpos:"c",thickness:e.stroke,minlen:e.length,classes:e?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:e?.stroke==="invisible"||e?.type==="arrow_open"?"none":r,arrowTypeEnd:e?.stroke==="invisible"||e?.type==="arrow_open"?"none":a,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(e.classes),labelStyle:n,style:n,pattern:e.stroke,look:t.look,animate:e.animate,animation:e.animation,curve:e.interpolate||this.edges.defaultInterpolate||t.flowchart?.curve};s.push(o)}),{nodes:e,edges:s,other:{},config:t}}defaultConfig(){return d.ME.flowchart}},m={getClasses:(0,g.K)(function(t,e){return e.db.getClasses()},"getClasses"),draw:(0,g.K)(async function(t,e,s,i){p.R.info("REF0:"),p.R.info("Drawing state diagram (v2)",e);let{securityLevel:n,flowchart:l,layout:o}=(0,d.D7)();i.db.setDiagramId(e),p.R.debug("Before getData: ");let c=i.db.getData();p.R.debug("Data: ",c);let g=(0,r.A)(e,n),A=i.db.getDirection();c.type=i.type,c.layoutAlgorithm=(0,u.q7)(o),c.direction=A,c.nodeSpacing=l?.nodeSpacing||50,c.rankSpacing=l?.rankSpacing||50,c.markers=["point","circle","cross"],c.diagramId=e,p.R.debug("REF1:",c),await (0,u.XX)(c,g);let b=c.config.flowchart?.diagramPadding??8;h._K.insertTitle(g,"flowchartTitleText",l?.titleTopMargin||0,i.db.getDiagramTitle()),(0,a.P)(g,b,"flowchart",l?.useMaxWidth||!1)},"draw")},x=function(){var t=(0,g.K)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[1,4],s=[1,3],i=[1,5],r=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],n=[1,13],u=[1,14],l=[1,15],o=[1,16],c=[1,23],h=[1,25],d=[1,26],p=[1,27],A=[1,50],b=[1,49],y=[1,29],k=[1,30],f=[1,31],m=[1,32],x=[1,33],E=[1,45],C=[1,47],D=[1,43],T=[1,48],F=[1,44],S=[1,51],_=[1,46],v=[1,52],B=[1,53],$=[1,34],w=[1,35],L=[1,36],I=[1,37],R=[1,38],N=[1,58],K=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],P=[1,62],G=[1,61],O=[1,63],M=[8,9,11,75,77,78],U=[1,79],V=[1,92],W=[1,97],z=[1,96],j=[1,93],Y=[1,89],H=[1,95],q=[1,91],X=[1,98],Q=[1,94],Z=[1,99],J=[1,90],tt=[8,9,10,11,40,75,77,78],te=[8,9,10,11,40,46,75,77,78],ts=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],ti=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],tr=[44,60,89,102,105,106,109,111,114,115,116],ta=[1,122],tn=[1,123],tu=[1,125],tl=[1,124],to=[44,60,62,74,89,102,105,106,109,111,114,115,116],tc=[1,134],th=[1,148],td=[1,149],tp=[1,150],tg=[1,151],tA=[1,136],tb=[1,138],ty=[1,142],tk=[1,143],tf=[1,144],tm=[1,145],tx=[1,146],tE=[1,147],tC=[1,152],tD=[1,153],tT=[1,132],tF=[1,133],tS=[1,140],t_=[1,135],tv=[1,139],tB=[1,137],t$=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],tw=[1,155],tL=[1,157],tI=[8,9,11],tR=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],tN=[1,177],tK=[1,173],tP=[1,174],tG=[1,178],tO=[1,175],tM=[1,176],tU=[77,116,119],tV=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],tW=[10,106],tz=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],tj=[1,248],tY=[1,246],tH=[1,250],tq=[1,244],tX=[1,245],tQ=[1,247],tZ=[1,249],tJ=[1,251],t1=[1,269],t0=[8,9,11,106],t2=[8,9,10,11,60,84,105,106,109,110,111,112],t8={trace:(0,g.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:(0,g.K)(function(t,e,s,i,r,a,n){var u=a.length-1;switch(r){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(a[u])||a[u].length>0)&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=a[u];break;case 11:i.setDirection("TB"),this.$="TB";break;case 12:i.setDirection(a[u-1]),this.$=a[u-1];break;case 27:this.$=a[u-1].nodes;break;case 33:this.$=i.addSubGraph(a[u-6],a[u-1],a[u-4]);break;case 34:this.$=i.addSubGraph(a[u-3],a[u-1],a[u-3]);break;case 35:this.$=i.addSubGraph(void 0,a[u-1],void 0);break;case 37:this.$=a[u].trim(),i.setAccTitle(this.$);break;case 38:case 39:this.$=a[u].trim(),i.setAccDescription(this.$);break;case 43:case 133:this.$=a[u-1]+a[u];break;case 45:i.addVertex(a[u-1][a[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[u]),i.addLink(a[u-3].stmt,a[u-1],a[u-2]),this.$={stmt:a[u-1],nodes:a[u-1].concat(a[u-3].nodes)};break;case 46:i.addLink(a[u-2].stmt,a[u],a[u-1]),this.$={stmt:a[u],nodes:a[u].concat(a[u-2].nodes)};break;case 47:i.addLink(a[u-3].stmt,a[u-1],a[u-2]),this.$={stmt:a[u-1],nodes:a[u-1].concat(a[u-3].nodes)};break;case 48:this.$={stmt:a[u-1],nodes:a[u-1]};break;case 49:i.addVertex(a[u-1][a[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[u]),this.$={stmt:a[u-1],nodes:a[u-1],shapeData:a[u]};break;case 50:this.$={stmt:a[u],nodes:a[u]};break;case 51:case 128:case 130:this.$=[a[u]];break;case 52:i.addVertex(a[u-5][a[u-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[u-4]),this.$=a[u-5].concat(a[u]);break;case 53:this.$=a[u-4].concat(a[u]);break;case 55:this.$=a[u-2],i.setClass(a[u-2],a[u]);break;case 56:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"square");break;case 57:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"doublecircle");break;case 58:this.$=a[u-5],i.addVertex(a[u-5],a[u-2],"circle");break;case 59:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"ellipse");break;case 60:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"stadium");break;case 61:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"subroutine");break;case 62:this.$=a[u-7],i.addVertex(a[u-7],a[u-1],"rect",void 0,void 0,void 0,Object.fromEntries([[a[u-5],a[u-3]]]));break;case 63:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"cylinder");break;case 64:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"round");break;case 65:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"diamond");break;case 66:this.$=a[u-5],i.addVertex(a[u-5],a[u-2],"hexagon");break;case 67:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"odd");break;case 68:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"trapezoid");break;case 69:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"inv_trapezoid");break;case 70:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"lean_right");break;case 71:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"lean_left");break;case 72:this.$=a[u],i.addVertex(a[u]);break;case 73:a[u-1].text=a[u],this.$=a[u-1];break;case 74:case 75:a[u-2].text=a[u-1],this.$=a[u-2];break;case 77:var l=i.destructLink(a[u],a[u-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:a[u-1]};break;case 78:var l=i.destructLink(a[u],a[u-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:a[u-1],id:a[u-3]};break;case 79:case 86:case 101:case 103:this.$={text:a[u],type:"text"};break;case 80:case 87:case 102:this.$={text:a[u-1].text+""+a[u],type:a[u-1].type};break;case 81:case 88:this.$={text:a[u],type:"string"};break;case 82:case 89:case 104:this.$={text:a[u],type:"markdown"};break;case 83:var l=i.destructLink(a[u]);this.$={type:l.type,stroke:l.stroke,length:l.length};break;case 84:var l=i.destructLink(a[u]);this.$={type:l.type,stroke:l.stroke,length:l.length,id:a[u-1]};break;case 85:this.$=a[u-1];break;case 105:this.$=a[u-4],i.addClass(a[u-2],a[u]);break;case 106:this.$=a[u-4],i.setClass(a[u-2],a[u]);break;case 107:case 115:this.$=a[u-1],i.setClickEvent(a[u-1],a[u]);break;case 108:case 116:this.$=a[u-3],i.setClickEvent(a[u-3],a[u-2]),i.setTooltip(a[u-3],a[u]);break;case 109:this.$=a[u-2],i.setClickEvent(a[u-2],a[u-1],a[u]);break;case 110:this.$=a[u-4],i.setClickEvent(a[u-4],a[u-3],a[u-2]),i.setTooltip(a[u-4],a[u]);break;case 111:this.$=a[u-2],i.setLink(a[u-2],a[u]);break;case 112:this.$=a[u-4],i.setLink(a[u-4],a[u-2]),i.setTooltip(a[u-4],a[u]);break;case 113:this.$=a[u-4],i.setLink(a[u-4],a[u-2],a[u]);break;case 114:this.$=a[u-6],i.setLink(a[u-6],a[u-4],a[u]),i.setTooltip(a[u-6],a[u-2]);break;case 117:this.$=a[u-1],i.setLink(a[u-1],a[u]);break;case 118:this.$=a[u-3],i.setLink(a[u-3],a[u-2]),i.setTooltip(a[u-3],a[u]);break;case 119:this.$=a[u-3],i.setLink(a[u-3],a[u-2],a[u]);break;case 120:this.$=a[u-5],i.setLink(a[u-5],a[u-4],a[u]),i.setTooltip(a[u-5],a[u-2]);break;case 121:this.$=a[u-4],i.addVertex(a[u-2],void 0,void 0,a[u]);break;case 122:this.$=a[u-4],i.updateLink([a[u-2]],a[u]);break;case 123:this.$=a[u-4],i.updateLink(a[u-2],a[u]);break;case 124:this.$=a[u-8],i.updateLinkInterpolate([a[u-6]],a[u-2]),i.updateLink([a[u-6]],a[u]);break;case 125:this.$=a[u-8],i.updateLinkInterpolate(a[u-6],a[u-2]),i.updateLink(a[u-6],a[u]);break;case 126:this.$=a[u-6],i.updateLinkInterpolate([a[u-4]],a[u]);break;case 127:this.$=a[u-6],i.updateLinkInterpolate(a[u-4],a[u]);break;case 129:case 131:a[u-2].push(a[u]),this.$=a[u-2];break;case 182:case 184:this.$=a[u-1]+""+a[u];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"}}},"anonymous"),table:[{3:1,4:2,9:e,10:s,12:i},{1:[3]},t(r,a,{5:6}),{4:7,9:e,10:s,12:i},{4:8,9:e,10:s,12:i},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,33:24,34:h,36:d,38:p,42:28,43:39,44:A,45:40,47:41,60:b,84:y,85:k,86:f,87:m,88:x,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B,121:$,122:w,123:L,124:I,125:R},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),{8:[1,55],9:[1,56],10:N,15:54,18:57},t(K,[2,3]),t(K,[2,4]),t(K,[2,5]),t(K,[2,6]),t(K,[2,7]),t(K,[2,8]),{8:P,9:G,11:O,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:G,11:O,21:68},{8:P,9:G,11:O,21:69},{8:P,9:G,11:O,21:70},{8:P,9:G,11:O,21:71},{8:P,9:G,11:O,21:72},{8:P,9:G,10:[1,73],11:O,21:74},t(K,[2,36]),{35:[1,75]},{37:[1,76]},t(K,[2,39]),t(M,[2,50],{18:77,39:78,10:N,40:U}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:V,44:W,60:z,80:[1,87],89:j,95:[1,84],97:[1,85],101:86,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J,120:88},t(K,[2,185]),t(K,[2,186]),t(K,[2,187]),t(K,[2,188]),t(K,[2,189]),t(tt,[2,51]),t(tt,[2,54],{46:[1,100]}),t(te,[2,72],{113:113,29:[1,101],44:A,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:b,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:E,102:C,105:D,106:T,109:F,111:S,114:_,115:v,116:B}),t(ts,[2,181]),t(ts,[2,142]),t(ts,[2,143]),t(ts,[2,144]),t(ts,[2,145]),t(ts,[2,146]),t(ts,[2,147]),t(ts,[2,148]),t(ts,[2,149]),t(ts,[2,150]),t(ts,[2,151]),t(ts,[2,152]),t(r,[2,12]),t(r,[2,18]),t(r,[2,19]),{9:[1,114]},t(ti,[2,26],{18:115,10:N}),t(K,[2,27]),{42:116,43:39,44:A,45:40,47:41,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},t(K,[2,40]),t(K,[2,41]),t(K,[2,42]),t(tr,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ta,81:tn,116:tu,119:tl},{75:[1,126],77:[1,127]},t(to,[2,83]),t(K,[2,28]),t(K,[2,29]),t(K,[2,30]),t(K,[2,31]),t(K,[2,32]),{10:tc,12:th,14:td,27:tp,28:128,32:tg,44:tA,60:tb,75:ty,80:[1,130],81:[1,131],83:141,84:tk,85:tf,86:tm,87:tx,88:tE,89:tC,90:tD,91:129,105:tT,109:tF,111:tS,114:t_,115:tv,116:tB},t(t$,a,{5:154}),t(K,[2,37]),t(K,[2,38]),t(M,[2,48],{44:tw}),t(M,[2,49],{18:156,10:N,40:tL}),t(tt,[2,44]),{44:A,47:158,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},{102:[1,159],103:160,105:[1,161]},{44:A,47:162,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},{44:A,47:163,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},t(tI,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(tI,[2,115],{120:168,10:[1,167],14:V,44:W,60:z,89:j,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J}),t(tI,[2,117],{10:[1,169]}),t(tR,[2,183]),t(tR,[2,170]),t(tR,[2,171]),t(tR,[2,172]),t(tR,[2,173]),t(tR,[2,174]),t(tR,[2,175]),t(tR,[2,176]),t(tR,[2,177]),t(tR,[2,178]),t(tR,[2,179]),t(tR,[2,180]),{44:A,47:170,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},{30:171,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:179,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:181,50:[1,180],67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:182,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:183,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:184,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{109:[1,185]},{30:186,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:187,65:[1,188],67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:189,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:190,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{30:191,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},t(ts,[2,182]),t(r,[2,20]),t(ti,[2,25]),t(M,[2,46],{39:192,18:193,10:N,40:U}),t(tr,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{77:[1,197],79:198,116:tu,119:tl},t(tU,[2,79]),t(tU,[2,81]),t(tU,[2,82]),t(tU,[2,168]),t(tU,[2,169]),{76:199,79:121,80:ta,81:tn,116:tu,119:tl},t(to,[2,84]),{8:P,9:G,10:tc,11:O,12:th,14:td,21:201,27:tp,29:[1,200],32:tg,44:tA,60:tb,75:ty,83:141,84:tk,85:tf,86:tm,87:tx,88:tE,89:tC,90:tD,91:202,105:tT,109:tF,111:tS,114:t_,115:tv,116:tB},t(tV,[2,101]),t(tV,[2,103]),t(tV,[2,104]),t(tV,[2,157]),t(tV,[2,158]),t(tV,[2,159]),t(tV,[2,160]),t(tV,[2,161]),t(tV,[2,162]),t(tV,[2,163]),t(tV,[2,164]),t(tV,[2,165]),t(tV,[2,166]),t(tV,[2,167]),t(tV,[2,90]),t(tV,[2,91]),t(tV,[2,92]),t(tV,[2,93]),t(tV,[2,94]),t(tV,[2,95]),t(tV,[2,96]),t(tV,[2,97]),t(tV,[2,98]),t(tV,[2,99]),t(tV,[2,100]),{6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,32:[1,203],33:24,34:h,36:d,38:p,42:28,43:39,44:A,45:40,47:41,60:b,84:y,85:k,86:f,87:m,88:x,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B,121:$,122:w,123:L,124:I,125:R},{10:N,18:204},{44:[1,205]},t(tt,[2,43]),{10:[1,206],44:A,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:113,114:_,115:v,116:B},{10:[1,207]},{10:[1,208],106:[1,209]},t(tW,[2,128]),{10:[1,210],44:A,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:113,114:_,115:v,116:B},{10:[1,211],44:A,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:113,114:_,115:v,116:B},{80:[1,212]},t(tI,[2,109],{10:[1,213]}),t(tI,[2,111],{10:[1,214]}),{80:[1,215]},t(tR,[2,184]),{80:[1,216],98:[1,217]},t(tt,[2,55],{113:113,44:A,60:b,89:E,102:C,105:D,106:T,109:F,111:S,114:_,115:v,116:B}),{31:[1,218],67:tN,82:219,116:tG,117:tO,118:tM},t(tz,[2,86]),t(tz,[2,88]),t(tz,[2,89]),t(tz,[2,153]),t(tz,[2,154]),t(tz,[2,155]),t(tz,[2,156]),{49:[1,220],67:tN,82:219,116:tG,117:tO,118:tM},{30:221,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{51:[1,222],67:tN,82:219,116:tG,117:tO,118:tM},{53:[1,223],67:tN,82:219,116:tG,117:tO,118:tM},{55:[1,224],67:tN,82:219,116:tG,117:tO,118:tM},{57:[1,225],67:tN,82:219,116:tG,117:tO,118:tM},{60:[1,226]},{64:[1,227],67:tN,82:219,116:tG,117:tO,118:tM},{66:[1,228],67:tN,82:219,116:tG,117:tO,118:tM},{30:229,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},{31:[1,230],67:tN,82:219,116:tG,117:tO,118:tM},{67:tN,69:[1,231],71:[1,232],82:219,116:tG,117:tO,118:tM},{67:tN,69:[1,234],71:[1,233],82:219,116:tG,117:tO,118:tM},t(M,[2,45],{18:156,10:N,40:tL}),t(M,[2,47],{44:tw}),t(tr,[2,75]),t(tr,[2,74]),{62:[1,235],67:tN,82:219,116:tG,117:tO,118:tM},t(tr,[2,77]),t(tU,[2,80]),{77:[1,236],79:198,116:tu,119:tl},{30:237,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},t(t$,a,{5:238}),t(tV,[2,102]),t(K,[2,35]),{43:239,44:A,45:40,47:41,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},{10:N,18:240},{10:tj,60:tY,84:tH,92:241,105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},{10:tj,60:tY,84:tH,92:252,104:[1,253],105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},{10:tj,60:tY,84:tH,92:254,104:[1,255],105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},{105:[1,256]},{10:tj,60:tY,84:tH,92:257,105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},{44:A,47:258,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},t(tI,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(tI,[2,116]),t(tI,[2,118],{10:[1,262]}),t(tI,[2,119]),t(te,[2,56]),t(tz,[2,87]),t(te,[2,57]),{51:[1,263],67:tN,82:219,116:tG,117:tO,118:tM},t(te,[2,64]),t(te,[2,59]),t(te,[2,60]),t(te,[2,61]),{109:[1,264]},t(te,[2,63]),t(te,[2,65]),{66:[1,265],67:tN,82:219,116:tG,117:tO,118:tM},t(te,[2,67]),t(te,[2,68]),t(te,[2,70]),t(te,[2,69]),t(te,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(tr,[2,78]),{31:[1,266],67:tN,82:219,116:tG,117:tO,118:tM},{6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,32:[1,267],33:24,34:h,36:d,38:p,42:28,43:39,44:A,45:40,47:41,60:b,84:y,85:k,86:f,87:m,88:x,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B,121:$,122:w,123:L,124:I,125:R},t(tt,[2,53]),{43:268,44:A,45:40,47:41,60:b,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B},t(tI,[2,121],{106:t1}),t(t0,[2,130],{108:270,10:tj,60:tY,84:tH,105:tq,109:tX,110:tQ,111:tZ,112:tJ}),t(t2,[2,132]),t(t2,[2,134]),t(t2,[2,135]),t(t2,[2,136]),t(t2,[2,137]),t(t2,[2,138]),t(t2,[2,139]),t(t2,[2,140]),t(t2,[2,141]),t(tI,[2,122],{106:t1}),{10:[1,271]},t(tI,[2,123],{106:t1}),{10:[1,272]},t(tW,[2,129]),t(tI,[2,105],{106:t1}),t(tI,[2,106],{113:113,44:A,60:b,89:E,102:C,105:D,106:T,109:F,111:S,114:_,115:v,116:B}),t(tI,[2,110]),t(tI,[2,112],{10:[1,273]}),t(tI,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:G,11:O,21:278},t(K,[2,34]),t(tt,[2,52]),{10:tj,60:tY,84:tH,105:tq,107:279,108:243,109:tX,110:tQ,111:tZ,112:tJ},t(t2,[2,133]),{14:V,44:W,60:z,89:j,101:280,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J,120:88},{14:V,44:W,60:z,89:j,101:281,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J,120:88},{98:[1,282]},t(tI,[2,120]),t(te,[2,58]),{30:283,67:tN,80:tK,81:tP,82:172,116:tG,117:tO,118:tM},t(te,[2,66]),t(t$,a,{5:284}),t(t0,[2,131],{108:270,10:tj,60:tY,84:tH,105:tq,109:tX,110:tQ,111:tZ,112:tJ}),t(tI,[2,126],{120:168,10:[1,285],14:V,44:W,60:z,89:j,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J}),t(tI,[2,127],{120:168,10:[1,286],14:V,44:W,60:z,89:j,105:Y,106:H,109:q,111:X,114:Q,115:Z,116:J}),t(tI,[2,114]),{31:[1,287],67:tN,82:219,116:tG,117:tO,118:tM},{6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,32:[1,288],33:24,34:h,36:d,38:p,42:28,43:39,44:A,45:40,47:41,60:b,84:y,85:k,86:f,87:m,88:x,89:E,102:C,105:D,106:T,109:F,111:S,113:42,114:_,115:v,116:B,121:$,122:w,123:L,124:I,125:R},{10:tj,60:tY,84:tH,92:289,105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},{10:tj,60:tY,84:tH,92:290,105:tq,107:242,108:243,109:tX,110:tQ,111:tZ,112:tJ},t(te,[2,62]),t(K,[2,33]),t(tI,[2,124],{106:t1}),t(tI,[2,125],{106:t1})],defaultActions:{},parseError:(0,g.K)(function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},"parseError"),parse:(0,g.K)(function(t){var e=this,s=[0],i=[],r=[null],a=[],n=this.table,u="",l=0,o=0,c=0,h=a.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(p[A]=this.yy[A]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var y=d.options&&d.options.ranges;function k(){var t;return"number"!=typeof(t=i.pop()||d.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,g.K)(function(t){s.length=s.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,g.K)(k,"lex");for(var f,m,x,E,C,D,T,F,S,_={};;){if(x=s[s.length-1],this.defaultActions[x]?E=this.defaultActions[x]:(null==f&&(f=k()),E=n[x]&&n[x][f]),void 0===E||!E.length||!E[0]){var v="";for(D in S=[],n[x])this.terminals_[D]&&D>2&&S.push("'"+this.terminals_[D]+"'");v=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(v,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:b,expected:S})}if(E[0]instanceof Array&&E.length>1)throw Error("Parse Error: multiple actions possible at state: "+x+", token: "+f);switch(E[0]){case 1:s.push(f),r.push(d.yytext),a.push(d.yylloc),s.push(E[1]),f=null,m?(f=m,m=null):(o=d.yyleng,u=d.yytext,l=d.yylineno,b=d.yylloc,c>0&&c--);break;case 2:if(T=this.productions_[E[1]][1],_.$=r[r.length-T],_._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},y&&(_._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(C=this.performAction.apply(_,[u,o,l,p,E[1],r,a].concat(h))))return C;T&&(s=s.slice(0,-1*T*2),r=r.slice(0,-1*T),a=a.slice(0,-1*T)),s.push(this.productions_[E[1]][0]),r.push(_.$),a.push(_._$),F=n[s[s.length-2]][s[s.length-1]],s.push(F);break;case 3:return!0}}return!0},"parse")};function t6(){this.yy={}}return t8.lexer={EOF:1,parseError:(0,g.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,g.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,g.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,g.K)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,g.K)(function(){return this._more=!0,this},"more"),reject:(0,g.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,g.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,g.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,g.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,g.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,g.K)(function(t,e){var s,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,g.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,r=this._currentRules(),a=0;a<r.length;a++)if((s=this._input.match(this.rules[r[a]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,g.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,g.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,g.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,g.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,g.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,g.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,g.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,g.K)(function(t,e,s,i){switch(s){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:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),e.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:return e.yytext=e.yytext.replace(/\n\s*/g,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 34:return 88;case 35:case 36:case 37:case 38:return t.lex.firstGraph()&&this.begin("dir"),12;case 39:return 27;case 40:return 32;case 41:case 42:case 43:case 44:return 98;case 45:return this.popState(),13;case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return this.popState(),14;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 124;case 60:return 125;case 61:return 78;case 62:return 105;case 63:case 104:return 111;case 64:return 46;case 65:return 60;case 66:case 105:return 44;case 67:return 8;case 68:return 106;case 69:case 103:return 115;case 70:case 73:case 76:return this.popState(),77;case 71:return this.pushState("edgeText"),75;case 72:case 75:case 78:return 119;case 74:return this.pushState("thickEdgeText"),75;case 77:return this.pushState("dottedEdgeText"),75;case 79:return 77;case 80:return this.popState(),53;case 81:case 117:return"TEXT";case 82:return this.pushState("ellipseText"),52;case 83:return this.popState(),55;case 84:return this.pushState("text"),54;case 85:return this.popState(),57;case 86:return this.pushState("text"),56;case 87:return 58;case 88:return this.pushState("text"),67;case 89:return this.popState(),64;case 90:return this.pushState("text"),63;case 91:return this.popState(),49;case 92:return this.pushState("text"),48;case 93:return this.popState(),69;case 94:return this.popState(),71;case 95:return 117;case 96:return this.pushState("trapText"),68;case 97:return this.pushState("trapText"),70;case 98:return 118;case 99:return 67;case 100:return 90;case 101:return"SEP";case 102:return 89;case 106:return 109;case 107:return 114;case 108:return 116;case 109:return this.popState(),62;case 110:return this.pushState("text"),62;case 111:return this.popState(),51;case 112:return this.pushState("text"),50;case 113:return this.popState(),31;case 114:return this.pushState("text"),29;case 115:return this.popState(),66;case 116:return this.pushState("text"),65;case 118:return"QUOTE";case 119:return 9;case 120:return 10;case 121:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:swimlane-beta\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:[^\S\n\r]+)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeData:{rules:[8,11,12,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackargs:{rules:[17,18,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackname:{rules:[14,15,16,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},href:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},click:{rules:[21,24,33,34,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dottedEdgeText:{rules:[21,24,76,78,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},thickEdgeText:{rules:[21,24,73,75,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},edgeText:{rules:[21,24,70,72,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},trapText:{rules:[21,24,79,82,84,86,90,92,93,94,95,96,97,110,112,114,116],inclusive:!1},ellipseText:{rules:[21,24,79,80,81,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},text:{rules:[21,24,79,82,83,84,85,86,89,90,91,92,96,97,109,110,111,112,113,114,115,116,117],inclusive:!1},vertex:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dir:{rules:[21,24,45,46,47,48,49,50,51,52,53,54,55,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr:{rules:[3,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_title:{rules:[1,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},md_string:{rules:[19,20,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},string:{rules:[21,22,23,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,76,77,79,82,84,86,87,88,90,92,96,97,98,99,100,101,102,103,104,105,106,107,108,110,112,114,116,118,119,120,121],inclusive:!0}}},(0,g.K)(t6,"Parser"),t6.prototype=t8,t8.Parser=t6,new t6}();x.parser=x;var E=Object.assign({},x);E.parse=t=>{let e=t.replace(/}\s*\n/g,"}\n");return x.parse(e)};var C=(0,g.K)(t=>{let{theme:e,bkgColorArray:s,borderColorArray:i}=t;if(!(0,c.P1)(e,i))return"";let r=(0,c.rq)(t.look),a=(0,c.Ic)(s),n="";for(let e=0;e<(0,c.nw)(t.THEME_COLOR_LIMIT,i);e++){let t=i[e%i.length],u=a?`fill: ${s[e%s.length]};`:"",l=`[data-look="${r}"][data-color-id="color-${e}"]`,o=(0,g.K)(t=>`${l}.node ${t}, ${l}.rough-node ${t}`,"collapsedRule"),c=(0,g.K)(t=>`${l}.swimlane.cluster .swimlane-title${t}, ${l}.swimlane.cluster .swimlane-body${t}`,"laneRule");n+=` + + ${l}.cluster:not(.swimlane) rect { + stroke: ${t}; + ${u} + } + + ${l}.cluster:not(.swimlane) path { + stroke: ${t}; + ${u} + } + + /* Lane, classic and neo. */ + ${l}.swimlane.cluster rect.swimlane-title, + ${l}.swimlane.cluster rect.swimlane-body { + stroke: ${t}; + ${u} + } + + /* Lane, handDrawn: roughjs emits the hachure fill first, then the outline. */ + ${c(" path:nth-of-type(2)")} { + stroke: ${t}; + } +${a?` + /* A roughjs fill is drawn as lines, so the lane fill is a stroke here. */ + ${c(" path:first-of-type")} { + stroke: ${s[e%s.length]}; + } +`:""} + ${o(".collapsed-group")}, + ${o(".collapsed-group path")} { + stroke: ${t}; + ${u} + } + + /* The ellipsis dots and the separator take clusterBorder further down, so without + these the container is palette-coloured while its own markers are not. */ + ${o(".collapsed-indicator")} { + fill: ${t}; + } + + ${o(".collapsed-separator")} { + stroke: ${t}; + } + `}return n},"genColor"),D=(0,g.K)((t,e)=>{let s=y.A,i=s(t,"r"),r=s(t,"g"),a=s(t,"b");return k.A(i,r,a,e)},"fade"),T=(0,g.K)(t=>`${C(t)} + .label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${t.nodeTextColor||t.textColor}; + color: ${t.nodeTextColor||t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: ${t.strokeWidth??1}px; + } + .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { + text-anchor: middle; + } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .rough-node .label,.node .label, .image-shape .label, .icon-shape .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + + .root .anchor path { + fill: ${t.lineColor} !important; + stroke-width: 0; + stroke: ${t.lineColor}; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePaths .path { + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth??2}px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${D(t.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + /* Collapsed subgraph node (@{ view: collapsed }) */ + .node .collapsed-indicator { + fill: ${t.clusterBorder}; + stroke: none; + opacity: 0.6; + } + + .node .collapsed-separator { + stroke: ${t.clusterBorder}; + stroke-width: 0.75px; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + + rect.text { + fill: none; + stroke-width: 0; + } + + .icon-shape, .image-shape { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + padding: 2px; + } + .label rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + ${(0,i.o)()} +`,"getStyles"),F=(0,g.K)(({styles:t=T}={})=>({parser:E,get db(){return new f},renderer:m,styles:t,init:(0,g.K)(t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,(0,d.XV)({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),S=F()},2735(t,e,s){s.d(e,{CP:()=>h,Ck:()=>g,HT:()=>p,PB:()=>d,aC:()=>c,lC:()=>l,m:()=>o,tk:()=>u});var i=s(1177),r=s(6827),a=s(6750),n=s(7829),u=(0,r.K)((t,e)=>{let s=t.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),e.name&&s.attr("name",e.name),e.rx&&s.attr("rx",e.rx),e.ry&&s.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)s.attr(t,e.attrs[t]);return e.class&&s.attr("class",e.class),s},"drawRect"),l=(0,r.K)((t,e)=>{u(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),o=(0,r.K)((t,e)=>{let s=e.text.replace(i.H1," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(s),r},"drawText"),c=(0,r.K)((t,e,s,i)=>{let r=t.append("image");r.attr("x",e),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",n)},"drawImage"),h=(0,r.K)((t,e,s,i)=>{let r=t.append("use");r.attr("x",e),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),d=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),g=(0,r.K)(()=>{let t=(0,n.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},5869(t,e,s){s.d(e,{P:()=>n});var i=s(1177),r=s(1293),a=s(6827),n=(0,a.K)((t,e,s,a)=>{t.attr("class",s);let{width:n,height:o,x:c,y:h}=u(t,e);(0,i.a$)(t,o,n,a);let d=l(c,h,n,o,e);t.attr("viewBox",d),r.R.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),u=(0,a.K)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,a.K)((t,e,s,i,r)=>`${t-r} ${e-r} ${s} ${i}`,"createViewBox")},6755(t,e,s){s.d(e,{A:()=>a});var i=s(6827),r=s(7829),a=(0,i.K)((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ltv)("#i"+t)),("sandbox"===e?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")}}]); \ No newline at end of file diff --git a/en/assets/js/5576.62e087a6.js b/en/assets/js/5576.62e087a6.js new file mode 100644 index 0000000..73bc58b --- /dev/null +++ b/en/assets/js/5576.62e087a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5576"],{3227(e,t,n){n.d(t,{B:()=>c,OS:()=>I,QV:()=>M,dc:()=>L,ju:()=>b,sc:()=>P,sv:()=>h,xY:()=>X});var r=n(5616),a=n(6163),i=n(7827),d=n(3002),o=n(6348),l=n(1177),s=n(1293),g=n(6827),u=n(697);function c(e,{edgePathsClass:t="edges edgePaths"}={}){let n=e.insert("g").attr("class","root"),r=n.insert("g").attr("class","clusters");return{clusters:r,edgePaths:n.insert("g").attr("class",t),edgeLabels:n.insert("g").attr("class","edgeLabels"),nodes:n.insert("g").attr("class","nodes"),rootGroups:n}}async function f(e,t,n){if(t.label){let{shapeSvg:r,bbox:a}=await (0,d.Zk)(e,void 0===n?t:{...t,width:n});t.labelBBox={width:a.width,height:a.height},r.remove()}else t.labelBBox={width:0,height:0}}async function h(e,t,n){let r=await (0,i.on)(e,t,n),a=r.node()?.getBBox()??{width:0,height:0};return t.width=a.width,t.height=a.height,r}function p(e,t,n){let r=e,a=new Set;for(;r;){if(r.dir)return r.dir;if(!r.parentId||a.has(r.parentId))break;a.add(r.parentId),r=t.get(r.parentId)}return n}async function w(e,t,r={}){let i=new u.T({multigraph:!0,compound:!0}),d=[...t.edges],o=(0,l.D7)(),s=c(e),{edgeLabels:g,nodes:b}=s,R=new Map,y=new Map(t.nodes.map(e=>[e.id,e])),m=t.direction,v=null!=e.node();for(let e of(await Promise.all(t.nodes.map(async e=>{if(e.isGroup){if(v){let t=r.unwrapGroupLabels&&"markdown"!==e.labelType;await f(b,e,t?1/0:void 0)}i.setNode(e.id,{...e})}else{if(v){let t=await h(b,e,{config:o,dir:p(e,y,m)});R.set(e.id,t)}i.setNode(e.id,{...e})}})),d))v&&(0,a.a6)(e)&&await (0,a.jP)(g,e),i.setEdge(e.start,e.end,{...e},e.id),t.edges.some(t=>t.id===e.id)||t.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:r}=await n.e("5082").then(n.bind(n,5137));r(e,t)}return{graph:i,groups:s,nodeElements:R}}(0,g.K)(c,"createLayoutElementGroups"),(0,g.K)(f,"measureGroupLabel"),(0,g.K)(h,"insertMeasuredNode"),(0,g.K)(p,"resolveNodeDir"),(0,g.K)(w,"createGraphWithElements");var b=new Map,R=new Map,y=new Map,m=(0,g.K)(()=>{R.clear(),y.clear(),b.clear()},"clear"),v=(0,g.K)((e,t)=>{let n=R.get(t)||[];return s.R.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),x=(0,g.K)((e,t)=>{let n=R.get(t)||[];return s.R.info("Descendants of ",t," is ",n),s.R.info("Edge is ",e),e.v!==t&&e.w!==t&&(n?n.includes(e.v)||v(e.v,t)||v(e.w,t)||n.includes(e.w):(s.R.debug("Tilt, ",t,",not in descendants"),!1))},"edgeInCluster"),K=(0,g.K)((e,t,n,r)=>{s.R.debug("Copying children of ",e,"root",r,"data",t.node(e),r);let a=t.children(e)||[];e!==r&&a.push(e),s.R.debug("Copying (nodes) clusterId",e,"nodes",a),a.forEach(a=>{if(t.children(a).length>0)K(a,t,n,r);else{let i=t.node(a);s.R.info("cp ",a," to ",r," with parent ",e),n.setNode(a,i),r!==t.parent(a)&&(s.R.debug("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==r&&a!==e?(s.R.debug("Setting parent",a,e),n.setParent(a,e)):(s.R.info("In copy ",e,"root",r,"data",t.node(e),r),s.R.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==r,"node!==clusterId",a!==e));let d=t.edges(a);s.R.debug("Copying Edges",d),d.forEach(a=>{s.R.info("Edge",a);let i=t.edge(a.v,a.w,a.name);s.R.info("Edge data",i,r);try{x(a,r)?(s.R.info("Copying as ",a.v,a.w,i,a.name),n.setEdge(a.v,a.w,i,a.name),s.R.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.R.info("Skipping copy of edge ",a.v,"--\x3e",a.w," rootId: ",r," clusterId:",e)}catch(e){s.R.error(e)}})}s.R.debug("Removing node",a),t.removeNode(a)})},"copy"),C=(0,g.K)((e,t)=>{let n=t.children(e),r=[...n];for(let a of n)y.set(a,e),r=[...r,...C(a,t)];return r},"extractDescendants"),E=(0,g.K)((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),a=e.edges().filter(e=>e.v===n||e.w===n),i=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),d=a.map(e=>({v:e.v,w:e.w}));return i.filter(e=>d.some(t=>e.v===t.v&&e.w===t.w))},"findCommonEdges"),L=(0,g.K)((e,t,n)=>{let r,a=t.children(e);if(s.R.trace("Searching children of id ",e,a),a.length<1)return e;for(let e of a){let a=L(e,t,n),i=E(t,n,a);if(a)if(!(i.length>0))return a;else r=a}return r},"findNonClusterChild"),N=(0,g.K)(e=>b.has(e)&&b.get(e).externalConnections&&b.has(e)?b.get(e).id:e,"getAnchorId"),I=(0,g.K)((e,t)=>{if(!e||t>10)return void s.R.debug("Opting out, no graph ");for(let t of(s.R.debug("Opting in, graph "),e.nodes().forEach(function(t){e.children(t).length>0&&(s.R.debug("Cluster identified",t," Replacement id in edges: ",L(t,e,t)),R.set(t,C(t,e)),b.set(t,{id:L(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let n=e.children(t),r=e.edges();n.length>0?(s.R.debug("Cluster identified",t,R),r.forEach(e=>{v(e.v,t)^v(e.w,t)&&(s.R.debug("Edge: ",e," leaves cluster ",t),s.R.debug("Descendants of XXX ",t,": ",R.get(t)),b.get(t).externalConnections=!0)})):s.R.debug("Not a cluster ",t,R)}),b.keys())){let n=b.get(t).id,r=e.parent(n);r!==t&&b.has(r)&&!b.get(r).externalConnections&&(b.get(t).id=r);let a=e.edges().some(e=>e.v===t);if(n&&b.get(t)?.externalConnections&&a&&S(e,n,t)){let r=T(e,t,e.parent(n));r&&(b.get(t).id=r)}}e.edges().forEach(function(t){let n=e.edge(t);s.R.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),s.R.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let r=t.v,a=t.w;if(s.R.debug("Fix XXX",b,"ids:",t.v,t.w,"Translating: ",b.get(t.v)," --- ",b.get(t.w)),b.get(t.v)||b.get(t.w)){if(s.R.debug("Fixing and trying - removing XXX",t.v,t.w,t.name),r=N(t.v),a=N(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v){let a=e.parent(r);b.get(a).externalConnections=!0,n.fromCluster=t.v}if(a!==t.w){let r=e.parent(a);b.get(r).externalConnections=!0,n.toCluster=t.w}s.R.debug("Fix Replacing with XXX",r,a,t.name),e.setEdge(r,a,n,t.name)}}),k(e,0),s.R.trace(b)},"adjustClustersAndEdges"),k=(0,g.K)((e,t)=>{if(t>10)return void s.R.error("Bailing out");let n=e.nodes(),r=!1;for(let t of n){let n=e.children(t);r=r||n.length>0}if(!r)return void s.R.debug("Done, no node has children",e.nodes());for(let r of(s.R.debug("Nodes = ",n,t),n))if(s.R.debug("Extracting node",r,b,b.has(r)&&!b.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),b.has(r))if(!b.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){s.R.debug("Cluster without external connections, without a parent and with children",r,t);let n="TB"===e.graph().rankdir?"LR":"TB";b.get(r)?.clusterData?.dir&&(n=b.get(r).clusterData.dir,s.R.debug("Fixing dir",b.get(r).clusterData.dir,n));let a=new u.T({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});K(r,e,a,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:b.get(r).clusterData,label:b.get(r).label,graph:a})}else s.R.debug("Cluster ** ",r," **not meeting the criteria !externalConnections:",!b.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),s.R.debug(b);else s.R.debug("Not a cluster",r,t);for(let r of(n=e.nodes(),s.R.debug("New list of nodes",n),n)){let n=e.node(r);s.R.debug(" Now next level",r,n),n?.clusterNode&&k(n.graph,t+1)}},"extractor"),D=(0,g.K)((e,t)=>{if(0===t.length)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=e.children(t),a=D(e,r);n=[...n,...a]}),n},"sorter"),P=(0,g.K)(e=>D(e,e.children()),"sortNodesByHierarchy"),S=(0,g.K)((e,t,n)=>{let r=e.parent(t);for(;r&&r!==n;){let t=b.get(r);if(t&&!t.externalConnections)return!0;r=e.parent(r)}return!1},"isNodeInExtractableCluster"),T=(0,g.K)((e,t,n)=>{for(let r of e.children(t)??[]){if(r===n||v(r,n))continue;let a=L(r,e,t);if(a&&!S(e,a,t))return a}return null},"findSafeAnchorNode");function X({prepareLayout:e,measureLayout:t,runLayoutCore:n,paintLayout:r,afterPaint:i,paintOptions:d}){let o=t??M;return(0,g.K)(async function(t,l,s,g){let u=l.select("g");(s?.insertMarkers??a.g0)(u,t.markers,t.type,t.diagramId),B();let c={element:u,helpers:s,options:g};c.preparedLayout=await e?.(t,c);let f=await o(t,c),h=await n(t,c),p={...c,measure:f};r?await r(t,p,h):await _(t,p,d),await i?.(t,p,h)},"render")}function B(){(0,i.IU)(),(0,a.IU)(),(0,r.IU)(),m()}async function M(e,{element:t},n){return await w(t,e,n)}async function _(e,t,n={}){let{measure:r}=t,{groups:a}=r;for(let r of n.getNodes?.(e,t)??e.nodes)n.skipNode?.(r,t)||await U(a,r,t,n);let i=G(e.nodes);for(let r of e.edges)O(r,n)||await j(a,r,i,e,n,t)}async function U(e,t,n,a){t.clusterNode?(0,i.U_)(t):$(t,n,a)?await (0,r.U)(e.clusters,t):(0,i.U_)(t)}function $(e,t,n){return!0===e.isGroup&&(n.isCluster?.(e,t)??!0)}function G(e){let t=new Map;for(let n of e)n?.id&&t.set(n.id,n);return t}function O(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}async function j(e,t,n,r,i,d){let o=(0,a.Jo)(e.edgePaths,{...t},i.clusterDb??new Map,r.type,Q(t.start,t,n,d,i),Q(t.end,t,n,d,i),r.diagramId,A(t,i));(0,a.a6)(t)&&(a.lP.has(t.id)||await (0,a.jP)(e.edgeLabels,t),F(t,o))}function Q(e,t,n,r,a){return a.getEdgeNode?.(e,t,r)??(e?n.get(e)??{}:{})}function A(e,t){return"function"==typeof t.skipIntersect?t.skipIntersect(e):t.skipIntersect??!1}function F(e,t){let n=t?.updatedPath??t?.originalPath,r=(0,l.zj)(),{subGraphTitleTotalMargin:d}=(0,i.Oi)({flowchart:r.flowchart??{}});if(e.label){let r=a.lP.get(e.id),i=e.x,l=e.y;if(n){let r=o._K.calcLabelPosition(n);s.R.debug("Moving label "+e.label+" from (",i,",",l,") to (",r.x,",",r.y,") abc88"),t?.updatedPath&&(i=r.x,l=r.y)}r.attr("transform",`translate(${i}, ${l+d/2})`)}if(e?.startLabelLeft){let t=a.UQ.get(e.id).startLeft,r=e?.x,i=e?.y;if(n){let t=o._K.calcTerminalLabelPosition(10*!!e.arrowTypeStart,"start_left",n);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}if(e.startLabelRight){let t=a.UQ.get(e.id).startRight,r=e.x,i=e.y;if(n){let t=o._K.calcTerminalLabelPosition(10*!!e.arrowTypeStart,"start_right",n);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}if(e.endLabelLeft){let t=a.UQ.get(e.id).endLeft,r=e.x,i=e.y;if(n){let t=o._K.calcTerminalLabelPosition(10*!!e.arrowTypeEnd,"end_left",n);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}if(e.endLabelRight){let t=a.UQ.get(e.id).endRight,r=e.x,i=e.y;if(n){let t=o._K.calcTerminalLabelPosition(10*!!e.arrowTypeEnd,"end_right",n);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}}(0,g.K)(X,"createCommonLayoutRenderer"),(0,g.K)(B,"clearLayoutRenderState"),(0,g.K)(M,"defaultMeasureLayout"),(0,g.K)(_,"paintLayoutData"),(0,g.K)(U,"paintLayoutNode"),(0,g.K)($,"shouldPaintAsCluster"),(0,g.K)(G,"buildNodeLookup"),(0,g.K)(O,"shouldSkipPaintEdge"),(0,g.K)(j,"paintLayoutEdge"),(0,g.K)(Q,"getRenderedNode"),(0,g.K)(A,"shouldSkipIntersect"),(0,g.K)(F,"positionRenderedEdgeLabel")}}]); \ No newline at end of file diff --git a/en/assets/js/5651.49615f32.js b/en/assets/js/5651.49615f32.js new file mode 100644 index 0000000..561e5e4 --- /dev/null +++ b/en/assets/js/5651.49615f32.js @@ -0,0 +1 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5651"],{2954(n,t,e){n.exports=(function n(t,e,i){function r(c,o){if(!e[c]){if(!t[c]){if(a)return a(c,!0);var u=Error("Cannot find module '"+c+"'");throw u.code="MODULE_NOT_FOUND",u}var s=e[c]={exports:{}};t[c][0].call(s.exports,function(n){return r(t[c][1][n]||n)},s,s.exports,n,t,e,i)}return e[c].exports}for(var a=void 0,c=0;c<i.length;c++)r(i[c]);return r})({1:[function(n,t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function n(n,t){for(var e=0;e<t.length;e++){var i=t[e];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}}return function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}}();function r(n,t){if(!(n instanceof t))throw TypeError("Cannot call a class as a function")}e.default=function(){function n(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.defaultLayoutOptions,c=e.algorithms,o=e.workerFactory,u=e.workerUrl;if(r(this,n),this.defaultLayoutOptions=void 0===i?{}:i,this.initialized=!1,void 0===u&&void 0===o)throw Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var s=o;void 0!==u&&void 0===o&&(s=function(n){return new Worker(n)});var h=s(u);if("function"!=typeof h.postMessage)throw TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new a(h),this.worker.postMessage({cmd:"register",algorithms:void 0===c?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:c}).then(function(n){return t.initialized=!0}).catch(console.err)}return i(n,[{key:"layout",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.layoutOptions,i=void 0===e?this.defaultLayoutOptions:e,r=t.logging,a=t.measureExecutionTime;return n?this.worker.postMessage({cmd:"layout",graph:n,layoutOptions:i,options:{logging:void 0!==r&&r,measureExecutionTime:void 0!==a&&a}}):Promise.reject(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&&this.worker.terminate()}}]),n}();var a=function(){function n(t){var e=this;if(r(this,n),void 0===t)throw Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=t,this.worker.onmessage=function(n){setTimeout(function(){e.receive(e,n)},0)}}return i(n,[{key:"postMessage",value:function(n){var t=this.id||0;this.id=t+1,n.id=t;var e=this;return new Promise(function(i,r){e.resolvers[t]=function(n,t){n?(e.convertGwtStyleError(n),r(n)):i(t)},e.worker.postMessage(n)})}},{key:"receive",value:function(n,t){var e=t.data,i=n.resolvers[e.id];i&&(delete n.resolvers[e.id],e.error?i(e.error):i(null,e.data))}},{key:"terminate",value:function(){this.worker&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(n){if(n){var t=n.__java$exception;t&&(t.cause&&t.cause.backingJsObject&&(n.cause=t.cause.backingJsObject,this.convertGwtStyleError(n.cause)),delete n.__java$exception)}}}]),n}()},{}],2:[function(n,t,i){(function(n){(function(){"use strict";function e(){}function r(){}function a(){}function c(){}function o(){}function u(){}function s(){}function h(){}function f(){}function l(){}function b(){}function w(){}function d(){}function g(){}function p(){}function m(){}function v(){}function y(){}function k(){}function M(){}function E(){}function T(){}function j(){}function S(){}function P(){}function O(){}function C(){}function I(){}function A(){}function L(){}function N(){}function x(){}function $(){}function D(){}function R(){}function K(){}function F(){}function _(){}function B(){}function H(){}function U(){}function G(){}function q(){}function X(){}function z(){}function V(){}function W(){}function Q(){}function J(){}function Y(){}function Z(){}function nn(){}function nt(){}function ne(){}function ni(){}function nr(){}function na(){}function nc(){}function no(){}function nu(){}function ns(){}function nh(){}function nf(){}function nl(){}function nb(){}function nw(){}function nd(){}function ng(){}function np(){}function nm(){}function nv(){}function ny(){}function nk(){}function nM(){}function nE(){}function nT(){}function nj(){}function nS(){}function nP(){}function nO(){}function nC(){}function nI(){}function nA(){}function nL(){}function nN(){}function nx(){}function n$(){}function nD(){}function nR(){}function nK(){}function nF(){}function n_(){}function nB(){}function nH(){}function nU(){}function nG(){}function nq(){}function nX(){}function nz(){}function nV(){}function nW(){}function nQ(){}function nJ(){}function nY(){}function nZ(){}function n1(){}function n0(){}function n2(){}function n3(){}function n4(){}function n6(){}function n5(){}function n8(){}function n9(){}function n7(){}function tn(){}function tt(){}function te(){}function ti(){}function tr(){}function ta(){}function tc(){}function to(){}function tu(){}function ts(){}function th(){}function tf(){}function tl(){}function tb(){}function tw(){}function td(){}function tg(){}function tp(){}function tm(){}function tv(){}function ty(){}function tk(){}function tM(){}function tE(){}function tT(){}function tj(){}function tS(){}function tP(){}function tO(){}function tC(){}function tI(){}function tA(){}function tL(){}function tN(){}function tx(){}function t$(){}function tD(){}function tR(){}function tK(){}function tF(){}function t_(){}function tB(){}function tH(){}function tU(){}function tG(){}function tq(){}function tX(){}function tz(){}function tV(){}function tW(){}function tQ(){}function tJ(){}function tY(){}function tZ(){}function t1(){}function t0(){}function t2(){}function t3(){}function t4(){}function t6(){}function t5(){}function t8(){}function t9(){}function t7(){}function en(){}function et(){}function ee(){}function ei(){}function er(){}function ea(){}function ec(){}function eo(){}function eu(){}function es(){}function eh(){}function ef(){}function el(){}function eb(){}function ew(){}function ed(){}function eg(){}function ep(){}function em(){}function ev(){}function ey(){}function ek(){}function eM(){}function eE(){}function eT(){}function ej(){}function eS(){}function eP(){}function eO(){}function eC(){}function eI(){}function eA(){}function eL(){}function eN(){}function ex(){}function e$(){}function eD(){}function eR(){}function eK(){}function eF(){}function e_(){}function eB(){}function eH(){}function eU(){}function eG(){}function eq(){}function eX(){}function ez(){}function eV(){}function eW(){}function eQ(){}function eJ(){}function eY(){}function eZ(){}function e1(){}function e0(){}function e2(){}function e3(){}function e4(){}function e6(){}function e5(){}function e8(){}function e9(){}function e7(){}function it(){}function ie(){}function ii(){}function ir(){}function ia(){}function ic(){}function io(){}function iu(){}function is(){}function ih(){}function il(){}function ib(){}function iw(){}function id(){}function ig(){}function ip(){}function im(){}function iv(){}function iy(){}function ik(){}function iM(){}function iE(){}function iT(){}function ij(){}function iS(){}function iP(){}function iO(){}function iC(){}function iI(){}function iA(){}function iL(){}function iN(){}function ix(){}function i$(){}function iD(){}function iR(){}function iK(){}function iF(){}function i_(){}function iB(){}function iH(){}function iU(){}function iG(){}function iq(){}function iX(){}function iz(){}function iV(){}function iW(){}function iQ(){}function iJ(){}function iY(){}function iZ(){}function i1(){}function i0(){}function i2(){}function i3(){}function i4(){}function i6(){}function i5(){}function i8(){}function i9(){}function i7(){}function rn(){}function rt(){}function re(){}function ri(){}function rr(){}function ra(){}function rc(){}function ro(){}function ru(){}function rs(){}function rh(){}function rf(){}function rl(){}function rb(){}function rw(){}function rd(){}function rg(){}function rp(){}function rm(){}function rv(){}function ry(){}function rk(){}function rM(){}function rE(){}function rT(){}function rj(){}function rS(){}function rP(){}function rO(){}function rC(){}function rI(){}function rA(){}function rL(){}function rN(){}function rx(){}function r$(){}function rD(){}function rR(){}function rK(){}function rF(){}function r_(){}function rB(){}function rH(){}function rU(){}function rG(){}function rq(){}function rX(){}function rz(){}function rV(){}function rW(){}function rQ(){}function rJ(){}function rY(){}function rZ(){}function r1(){}function r0(){}function r2(){}function r3(){}function r4(){}function r6(){}function r5(){}function r8(){}function r9(){}function r7(){}function an(){}function at(){}function ae(){}function ai(){}function ar(){}function aa(){}function ac(){}function ao(){}function au(){}function as(){}function ah(){}function af(){}function al(){}function ab(){}function aw(){}function ad(){}function ag(){}function ap(){}function am(){}function av(){}function ay(){}function ak(){}function aM(){}function aE(){}function aT(){}function aj(){}function aS(){}function aP(){}function aO(){}function aC(){}function aI(){}function aA(){}function aL(){}function aN(){}function ax(){}function a$(){}function aD(){}function aR(){}function aK(){}function aF(){}function a_(){}function aB(){}function aH(){}function aU(){}function aG(){}function aq(){}function aX(){}function az(){}function aV(){}function aW(){}function aQ(){}function aJ(){}function aY(){}function aZ(){}function a1(){}function a0(){}function a2(){}function a3(){}function a4(){}function a6(){}function a5(){}function a8(){}function a9(){}function a7(){}function cn(){}function ct(){}function ce(){}function ci(){}function cr(){}function ca(){}function cc(){}function co(){}function cu(){}function cs(){}function ch(){}function cf(){}function cl(){}function cb(){}function cw(){}function cd(){}function cg(){}function cp(){}function cm(){}function cv(){}function cy(){}function ck(){}function cM(){}function cE(){}function cT(){}function cj(){}function cS(){}function cP(){}function cO(){}function cC(){}function cI(){}function cA(){}function cL(){}function cN(){}function cx(){}function c$(){}function cD(){}function cR(){}function cK(){}function cF(){}function c_(){}function cB(){}function cH(){}function cU(){}function cG(){}function cq(){}function cX(){}function cz(){}function cV(){}function cW(){}function cQ(){}function cJ(){}function cY(){}function cZ(){}function c1(){}function c0(){}function c2(){}function c3(){}function c4(){}function c6(){}function c5(){}function c8(){}function c9(){}function c7(){}function on(){}function ot(){}function oe(){}function oi(){}function or(){}function oa(){}function oc(){}function oo(){}function ou(){}function os(){}function oh(){}function of(){}function ol(){}function ob(){}function ow(){}function od(){}function og(){}function op(){}function om(){}function ov(){}function oy(){}function ok(){}function oM(){}function oE(){}function oT(){}function oj(){}function oS(){}function oP(){}function oO(){}function oC(){}function oI(){}function oA(){}function oL(){}function oN(){}function ox(){}function o$(){}function oD(){}function oR(){}function oK(){}function oF(){}function o_(){}function oB(){}function oH(){}function oU(){}function oG(){}function oq(){}function oX(){}function oz(){}function oV(){}function oW(){}function oQ(){}function oJ(){}function oY(){}function oZ(){}function o1(){}function o0(){}function o2(){}function o3(){}function o4(){}function o6(){}function o5(){}function o8(){}function o9(){}function o7(){}function un(){}function ut(){}function ue(){}function ui(){}function ur(){}function ua(){}function uc(){}function uo(){}function uu(){}function us(){}function uh(){}function uf(){}function ul(){}function ub(){}function uw(){}function ud(){}function ug(){}function up(){}function um(){}function uv(){}function uy(){}function uk(){}function uM(){}function uE(){}function uT(){}function uj(){}function uS(){}function uP(){}function uO(){}function uC(){}function uI(){}function uA(){}function uL(){}function uN(){}function ux(){}function u$(){}function uD(){}function uR(){}function uK(){}function uF(){}function u_(){}function uB(){}function uH(){}function uU(){}function uG(){}function uq(){}function uX(){}function uz(){}function uV(){}function uW(){}function uQ(){}function uJ(){}function uY(){}function uZ(){}function u1(){}function u0(){}function u2(){}function u3(){}function u4(){}function u6(){}function u5(){}function u8(){}function u9(){}function u7(){}function sn(){}function st(){}function se(){}function si(){}function sr(){}function sa(){}function sc(){}function so(){}function su(){}function ss(){}function sh(){}function sf(){}function sl(){}function sb(){}function sw(){}function sd(){}function sg(){}function sp(){}function sm(){}function sv(){}function sy(){}function sk(){}function sM(){}function sE(){}function sT(){}function sj(){}function sS(){}function sP(){}function sO(){}function sC(){}function sI(){}function sA(){}function sL(){}function sN(){}function sx(){}function s$(){}function sD(){}function sR(){}function sK(){}function sF(){}function s_(){}function sB(){}function sH(){}function sU(){}function sG(){}function sq(){}function sX(){}function sz(){}function sV(){}function sW(){}function sQ(){}function sJ(){}function sY(){}function sZ(){gY()}function s1(){yi()}function s0(){nes()}function s2(){Wz()}function s3(){Z7()}function s4(){nra()}function s6(){nsK()}function s5(){ntK()}function s8(){ntZ()}function s9(){yr()}function s7(){Ck()}function hn(){ya()}function ht(){X2()}function he(){Bb()}function hi(){qD()}function hr(){D9()}function ha(){qK()}function hc(){B8()}function ho(){D5()}function hu(){Wy()}function hs(){q_()}function hh(){qF()}function hf(){KF()}function hl(){qB()}function hb(){niY()}function hw(){yo()}function hd(){nlH()}function hg(){nlL()}function hp(){qH()}function hm(){X4()}function hv(){D7()}function hy(){ntH()}function hk(){Rt()}function hM(){nsM()}function hE(){ncl()}function hT(){G$()}function hj(){Jh()}function hS(){nhn()}function hP(){RC()}function hO(){Gx()}function hC(){nsn()}function hI(){nrh()}function hA(){nse()}function hL(){nuu()}function hN(){niB()}function hx(){nuP()}function h$(){nnG()}function hD(){Ca()}function hR(){Hg()}function hK(){niH()}function hF(){nl_()}function h_(){Wk()}function hB(){YY()}function hH(){X6()}function hU(){nhC()}function hG(){nsV()}function hq(n){this.a=n}function hX(n){this.a=n}function hz(n){this.a=n}function hV(n){this.a=n}function hW(n){this.a=n}function hQ(n){this.a=n}function hJ(n){this.a=n}function hY(n){this.a=n}function hZ(n){this.a=n}function h1(n){this.a=n}function h0(n){this.a=n}function h2(n){this.a=n}function h3(n){this.a=n}function h4(n){this.a=n}function h6(n){this.a=n}function h5(n){this.a=n}function h8(n){this.a=n}function h9(n){this.a=n}function h7(n){this.a=n}function fn(n){this.a=n}function ft(n){this.a=n}function fe(n){this.a=n}function fi(n){this.b=n}function fr(n){this.c=n}function fa(n){this.a=n}function fc(n){this.a=n}function fo(n){this.a=n}function fu(n){this.a=n}function fs(n){this.a=n}function fh(n){this.a=n}function ff(n){this.a=n}function fl(n){this.a=n}function fb(n){this.a=n}function fw(n){this.a=n}function fd(n){this.a=n}function fg(n){this.a=n}function fp(n){this.a=n}function fm(n){this.a=n}function fv(n){this.a=n}function fy(n){this.a=n}function fk(n){this.a=n}function fM(){this.a=[]}"u">typeof window?nP_=window:void 0!==n?nP_=n:"u">typeof self&&(nP_=self);function fE(n){this.a=n}function fT(n){this.a=n}function fj(n){this.a=n}function fS(n){this.a=n}function fP(n){this.a=n}function fO(n){this.a=n}function fC(n){this.a=n}function fI(n){this.a=n}function fA(n){this.a=n}function fL(n){this.a=n}function fN(n){this.a=n}function fx(n){this.a=n}function f$(n){this.a=n}function fD(n){this.a=n}function fR(n){this.b=n}function fK(n){this.b=n}function fF(n){this.b=n}function f_(n){this.a=n}function fB(n){this.a=n}function fH(n){this.c=n}function fU(n){this.c=n}function fG(n){this.c=n}function fq(n){this.d=n}function fX(n){this.a=n}function fz(n){this.a=n}function fV(n){this.a=n}function fW(n){this.a=n}function fQ(n){this.a=n}function fJ(n){this.a=n}function fY(n){this.a=n}function fZ(n){this.a=n}function f1(n){this.a=n}function f0(n){this.a=n}function f2(n){this.a=n}function f3(n){this.a=n}function f4(n){this.a=n}function f6(n){this.a=n}function f5(n){this.a=n}function f8(n){this.a=n}function f9(n){this.a=n}function f7(n){this.a=n}function ln(n){this.a=n}function lt(n){this.a=n}function le(n){this.a=n}function li(n){this.a=n}function lr(n){this.a=n}function la(n){this.a=n}function lc(n){this.a=n}function lo(n){this.a=n}function lu(n){this.a=n}function ls(n){this.a=n}function lh(n){this.a=n}function lf(n){this.a=n}function ll(n){this.a=n}function lb(n){this.a=n}function lw(n){this.a=n}function ld(n){this.a=n}function lg(n){this.a=n}function lp(n){this.a=n}function lm(n){this.a=n}function lv(n){this.a=n}function ly(n){this.a=n}function lk(n){this.a=n}function lM(n){this.a=n}function lE(n){this.a=n}function lT(n){this.a=n}function lj(n){this.a=n}function lS(n){this.a=n}function lP(n){this.a=n}function lO(n){this.a=n}function lC(n){this.a=n}function lI(n){this.e=n}function lA(n){this.a=n}function lL(n){this.a=n}function lN(n){this.a=n}function lx(n){this.a=n}function l$(n){this.a=n}function lD(n){this.a=n}function lR(n){this.a=n}function lK(n){this.a=n}function lF(n){this.a=n}function l_(n){this.a=n}function lB(n){this.a=n}function lH(n){this.a=n}function lU(n){this.a=n}function lG(n){this.a=n}function lq(n){this.a=n}function lX(n){this.a=n}function lz(n){this.a=n}function lV(n){this.a=n}function lW(n){this.a=n}function lQ(n){this.a=n}function lJ(n){this.a=n}function lY(n){this.a=n}function lZ(n){this.a=n}function l1(n){this.a=n}function l0(n){this.a=n}function l2(n){this.a=n}function l3(n){this.a=n}function l4(n){this.a=n}function l6(n){this.a=n}function l5(n){this.a=n}function l8(n){this.a=n}function l9(n){this.a=n}function l7(n){this.a=n}function bn(n){this.a=n}function bt(n){this.a=n}function be(n){this.a=n}function bi(n){this.a=n}function br(n){this.a=n}function ba(n){this.a=n}function bc(n){this.a=n}function bo(n){this.a=n}function bu(n){this.a=n}function bs(n){this.a=n}function bh(n){this.a=n}function bf(n){this.a=n}function bl(n){this.a=n}function bb(n){this.a=n}function bw(n){this.a=n}function bd(n){this.a=n}function bg(n){this.a=n}function bp(n){this.a=n}function bm(n){this.a=n}function bv(n){this.a=n}function by(n){this.a=n}function bk(n){this.c=n}function bM(n){this.b=n}function bE(n){this.a=n}function bT(n){this.a=n}function bj(n){this.a=n}function bS(n){this.a=n}function bP(n){this.a=n}function bO(n){this.a=n}function bC(n){this.a=n}function bI(n){this.a=n}function bA(n){this.a=n}function bL(n){this.a=n}function bN(n){this.a=n}function bx(n){this.a=n}function b$(n){this.a=n}function bD(n){this.a=n}function bR(n){this.a=n}function bK(n){this.a=n}function bF(n){this.a=n}function b_(n){this.a=n}function bB(n){this.a=n}function bH(n){this.a=n}function bU(n){this.a=n}function bG(n){this.a=n}function bq(n){this.a=n}function bX(n){this.a=n}function bz(n){this.a=n}function bV(n){this.a=n}function bW(n){this.a=n}function bQ(n){this.a=n}function bJ(n){this.a=n}function bY(n){this.a=n}function bZ(n){this.a=n}function b1(n){this.a=n}function b0(n){this.a=n}function b2(n){this.a=n}function b3(n){this.a=n}function b4(n){this.a=n}function b6(n){this.a=n}function b5(n){this.a=n}function b8(n){this.a=n}function b9(n){this.a=n}function b7(n){this.a=n}function wn(n){this.a=n}function wt(n){this.a=n}function we(n){this.a=n}function wi(n){this.a=n}function wr(n){this.a=n}function wa(n){this.a=n}function wc(n){this.a=n}function wo(n){this.a=n}function wu(n){this.a=n}function ws(n){this.a=n}function wh(n){this.a=n}function wf(n){this.a=n}function wl(n){this.a=n}function wb(n){this.a=n}function ww(n){this.a=n}function wd(n){this.f=n}function wg(n){this.a=n}function wp(n){this.a=n}function wm(n){this.a=n}function wv(n){this.a=n}function wy(n){this.a=n}function wk(n){this.a=n}function wM(n){this.a=n}function wE(n){this.a=n}function wT(n){this.a=n}function wj(n){this.a=n}function wS(n){this.a=n}function wP(n){this.a=n}function wO(n){this.a=n}function wC(n){this.a=n}function wI(n){this.a=n}function wA(n){this.a=n}function wL(n){this.a=n}function wN(n){this.a=n}function wx(n){this.a=n}function w$(n){this.a=n}function wD(n){this.a=n}function wR(n){this.a=n}function wK(n){this.a=n}function wF(n){this.a=n}function w_(n){this.a=n}function wB(n){this.a=n}function wH(n){this.a=n}function wU(n){this.a=n}function wG(n){this.a=n}function wq(n){this.a=n}function wX(n){this.b=n}function wz(n){this.a=n}function wV(n){this.a=n}function wW(n){this.a=n}function wQ(n){this.a=n}function wJ(n){this.a=n}function wY(n){this.a=n}function wZ(n){this.a=n}function w1(n){this.b=n}function w0(n){this.a=n}function w2(n){this.a=n}function w3(n){this.a=n}function w4(n){this.a=n}function w6(n){this.c=n}function w5(n){this.e=n}function w8(n){this.a=n}function w9(n){this.a=n}function w7(n){this.a=n}function dn(n){this.d=n}function dt(n){this.a=n}function de(n){this.a=n}function di(n){this.a=n}function dr(n){this.e=n}function da(){this.a=0}function dc(){LH(this)}function du(){TQ(this)}function ds(){xo(this)}function dh(){}function df(){this.c=n2$}function dl(n){return n.a}function db(n){return n.a}function dw(n){return n.a}function dd(n){return n.a}function dg(n){return n.a}function dp(){return null}function dm(){return null}function dv(n,t){n.b=t-n.b}function dy(n,t){n.a=t-n.a}function dk(n,t){n.push(t)}function dM(n,t){n.e=t,t.b=n}function dE(n){Co(),this.a=n}function dT(n){Co(),this.a=n}function dj(n){Co(),this.a=n}function dS(n){NA(),this.a=n}function dP(){dP=T,new dc}function dO(){SS.call(this)}function dC(){SS.call(this)}function dI(){dO.call(this)}function dA(){dO.call(this)}function dL(){dO.call(this)}function dN(){dO.call(this)}function dx(){dO.call(this)}function d$(){dO.call(this)}function dD(){dO.call(this)}function dR(){dO.call(this)}function dK(){dO.call(this)}function dF(){dO.call(this)}function d_(){dO.call(this)}function dB(){this.a=this}function dH(){this.Bb|=256}function dU(){this.b=new Tn}function dG(n,t){n.length=t}function dq(n,t){zP(n.e,t)}function dX(n){na5(n.c,n.b)}function dz(n){var t;this.a=(t=ni7(n))>34028234663852886e22?nwF:t<-34028234663852886e22?nw_:t}function dV(){this.a=new dc}function dW(){this.a=new dc}function dQ(){this.a=new vU}function dJ(){this.a=new du}function dY(){this.a=new du}function dZ(){this.a=new du}function d1(){this.a=new nm}function d0(){this.a=new _5}function d2(){this.a=new tn}function d3(){this.a=new D4}function d4(){this.a=new Of}function d6(){this.a=new du}function d5(){this.a=new du}function d8(){this.a=new du}function d9(){this.a=new du}function d7(){this.d=new du}function gn(){this.a=new R2}function gt(){this.a=new dV}function ge(){this.a=new dc}function gi(){this.b=new dc}function gr(){this.b=new du}function ga(){this.e=new du}function gc(){this.a=new hb}function go(){this.d=new du}function gu(){$Y.call(this)}function gs(){$Y.call(this)}function gh(){du.call(this)}function gf(){dI.call(this)}function gl(){dJ.call(this)}function gb(){Oy.call(this)}function gw(){d9.call(this)}function gd(){dh.call(this)}function gg(){gd.call(this)}function gp(){dh.call(this)}function gm(){gp.call(this)}function gv(){gU.call(this)}function gy(){gU.call(this)}function gk(){gU.call(this)}function gM(){gX.call(this)}function gE(){oK.call(this)}function gT(){oK.call(this)}function gj(){vq.call(this)}function gS(){gQ.call(this)}function gP(){gQ.call(this)}function gO(){dc.call(this)}function gC(){dc.call(this)}function gI(){dc.call(this)}function gA(){qz.call(this)}function gL(){dV.call(this)}function gN(){dH.call(this)}function gx(){j0.call(this)}function g$(){dc.call(this)}function gD(){j0.call(this)}function gR(){dc.call(this)}function gK(){dc.call(this)}function gF(){o1.call(this)}function g_(){gF.call(this)}function gB(){o1.call(this)}function gH(){sQ.call(this)}function gU(){this.a=new dV}function gG(){this.a=new dc}function gq(){this.a=new du}function gX(){this.a=new dc}function gz(){this.a=new vq}function gV(){this.j=new du}function gW(){this.a=new mz}function gQ(){this.a=new oZ}function gJ(){this.a=new cO}function gY(){gY=T,nPz=new r}function gZ(){gZ=T,nPV=new g2}function g1(){g1=T,nPW=new g0}function g0(){h5.call(this,"")}function g2(){h5.call(this,"")}function g3(n){Gv.call(this,n)}function g4(n){Gv.call(this,n)}function g6(n){hZ.call(this,n)}function g5(n){vO.call(this,n)}function g8(n){vO.call(this,n)}function g9(n){g5.call(this,n)}function g7(n){g5.call(this,n)}function pn(n){g5.call(this,n)}function pt(n){FD.call(this,n)}function pe(n){FD.call(this,n)}function pi(n){OJ.call(this,n)}function pr(n){vL.call(this,n)}function pa(n){v$.call(this,n)}function pc(n){v$.call(this,n)}function po(n){v$.call(this,n)}function pu(n){nrr.call(this,n)}function ps(n){pu.call(this,n)}function ph(n){Lc.call(this,n)}function pf(n){ph.call(this,n)}function pl(){fk.call(this,{})}function pb(){pb=T,nOn=new M}function pw(){pw=T,nPZ=new jC}function pd(){pd=T,nP2=new e}function pg(){pg=T,nP4=new g}function pp(){pp=T,nP8=new v}function pm(n){Sn(),this.a=n}function pv(n){X3(),this.a=n}function py(n){A_(),this.f=n}function pk(n){A_(),this.f=n}function pM(n){Cr(),this.a=n}function pE(n){n.b=null,n.c=0}function pT(n){return xf(n),n}function pj(n){return xf(n),n}function pS(n){return new fy(n)}function pP(n){return new NO(n)}function pO(n){ph.call(this,n)}function pC(n){ph.call(this,n)}function pI(n){ph.call(this,n)}function pA(n){Lc.call(this,n)}function pL(n){ph.call(this,n)}function pN(n){ph.call(this,n)}function px(n){ph.call(this,n)}function p$(n){ph.call(this,n)}function pD(n){ph.call(this,n)}function pR(n){ph.call(this,n)}function pK(n){ph.call(this,n)}function pF(n){ph.call(this,n)}function p_(n){ph.call(this,n)}function pB(n){ph.call(this,n)}function pH(n){ph.call(this,n)}function pU(n){xf(n),this.a=n}function pG(n){LY(n,n.length)}function pq(n){return n.b==n.c}function pX(n){return!!n&&n.b}function pz(n,t){n.be(t),t.ae(n)}function pV(n){Co(),this.a=NP(n)}function pW(){this.a=PA(NP(nl8))}function pQ(){throw(new dD).e}function pJ(){throw(new dD).e}function pY(){throw(new dD).e}function pZ(){pZ=T,$_()}function p1(){fO.call(this,"")}function p0(){fO.call(this,"")}function p2(){fO.call(this,"")}function p3(){fO.call(this,"")}function p4(n){pC.call(this,n)}function p6(n){pC.call(this,n)}function p5(n){pN.call(this,n)}function p8(n){fF.call(this,n)}function p9(n){p8.call(this,n)}function p7(n){SE.call(this,n)}function mn(n){SX.call(this,n,0)}function mt(){Rj.call(this,12,3)}function me(n,t){return n.c=t,n}function mi(n,t){return n.b=t,n}function mr(n,t){return n.d=t,n}function ma(n,t){return n.e=t,n}function mc(n,t){return n.g=t,n}function mo(n,t){return n.a=t,n}function mu(n,t){return n.i=t,n}function ms(n,t){return n.j=t,n}function mh(n){O5.call(this,n)}function mf(n){J9.call(this,n)}function ml(n){$t.call(this,n)}function mb(n){$t.call(this,n)}function mw(n){Gk.call(this,n)}function md(n){$m.call(this,n)}function mg(n){$m.call(this,n)}function mp(){jl.call(this,"")}function mm(){this.a=0,this.b=0}function mv(){this.b=0,this.a=0}function my(){my=T,nOW=typeof Map===nl2&&Map.prototype.entries&&function(){try{return(new Map).entries().next().done}catch(n){return!1}}()?Map:function(){function n(){this.obj=this.createObject()}return n.prototype.createObject=function(n){return Object.create(null)},n.prototype.get=function(n){return this.obj[n]},n.prototype.set=function(n,t){this.obj[n]=t},n.prototype[nw5]=function(n){delete this.obj[n]},n.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)},n.prototype.entries=function(){var n=this.keys(),t=this,e=0;return{next:function(){if(e>=n.length)return{done:!0};var i=n[e++];return{value:[i,t.get(i)],done:!1}}}},!function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var n="__proto__",t=Object.create(null);return void 0===t[n]&&0==Object.getOwnPropertyNames(t).length&&(t[n]=42,42===t[n]&&0!=Object.getOwnPropertyNames(t).length)}()&&(n.prototype.createObject=function(){return{}},n.prototype.get=function(n){return this.obj[":"+n]},n.prototype.set=function(n,t){this.obj[":"+n]=t},n.prototype[nw5]=function(n){delete this.obj[":"+n]},n.prototype.keys=function(){var n=[];for(var t in this.obj)58==t.charCodeAt(0)&&n.push(t.substring(1));return n}),n}()}function mk(){mk=T,n18=function(){var n,t;nhC();try{if(t=CY(neB((yM(),n2e),nE_),2113))return t}catch(t){if(jM(t=Vt(t),103))n=t,Nh((T9(),n));else throw t.e}return new oB}()}function mM(){var n,t,e,i,r,a,c,o,u,s;mM=T,n19=nNr?CY(ncz((yM(),n2e),nE_),2115):(n=CY(jM(Db((yM(),n2e),nE_),569)?Db(n2e,nE_):new ncb,569),nNr=!0,(t=n).q||(t.q=!0,t.p=zL(t,0),t.a=zL(t,1),XN(t.a,0),t.f=zL(t,2),XN(t.f,1),XL(t.f,2),t.n=zL(t,3),XL(t.n,3),XL(t.n,4),XL(t.n,5),XL(t.n,6),t.g=zL(t,4),XN(t.g,7),XL(t.g,8),t.c=zL(t,5),XN(t.c,7),XN(t.c,8),t.i=zL(t,6),XN(t.i,9),XN(t.i,10),XN(t.i,11),XN(t.i,12),XL(t.i,13),t.j=zL(t,7),XN(t.j,9),t.d=zL(t,8),XN(t.d,3),XN(t.d,4),XN(t.d,5),XN(t.d,6),XL(t.d,7),XL(t.d,8),XL(t.d,9),XL(t.d,10),t.b=zL(t,9),XL(t.b,0),XL(t.b,1),t.e=zL(t,10),XL(t.e,1),XL(t.e,2),XL(t.e,3),XL(t.e,4),XN(t.e,5),XN(t.e,6),XN(t.e,7),XN(t.e,8),XN(t.e,9),XN(t.e,10),XL(t.e,11),t.k=zL(t,11),XL(t.k,0),XL(t.k,1),t.o=zN(t,12),t.s=zN(t,13)),(e=n).r||(e.r=!0,XC(e,"graph"),XI(e,"graph"),XA(e,nE_),z8(e.o,"T"),B7($7(e.a),e.p),B7($7(e.f),e.a),B7($7(e.n),e.f),B7($7(e.g),e.n),B7($7(e.c),e.n),B7($7(e.i),e.c),B7($7(e.j),e.c),B7($7(e.d),e.f),B7($7(e.e),e.a),Kd(e.p,nCS,ngd,!0,!0,!1),s=Vf(u=WS(e.p,e.p,"setProperty")),i=$h(e.o),r=new df,B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),neJ(r,a=$f(s)),ne_(u,i,nEB),ne_(u,i=$f(s),nEH),s=Vf(u=WS(e.p,null,"getProperty")),i=$h(e.o),r=$f(s),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),ne_(u,i,nEB),(o=niM(u,i=$f(s),null))&&o.oj(),u=WS(e.p,e.wb.e,"hasProperty"),i=$h(e.o),r=new df,B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),ne_(u,i,nEB),nt$(u=WS(e.p,e.p,"copyProperties"),e.p,nEU),u=WS(e.p,null,"getAllProperties"),i=$h(e.wb.P),r=$h(e.o),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),a=new df,B7((r.d||(r.d=new jU(n00,r,1)),r.d),a),r=$h(e.wb.M),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),(c=niM(u,i,null))&&c.oj(),Kd(e.a,nL1,nEf,!0,!1,!0),ntN(CY(GO($x(e.a),0),19),e.k,null,nEG,0,-1,nL1,!1,!1,!0,!0,!1,!1,!1),Kd(e.f,nL2,nEb,!0,!1,!0),ntN(CY(GO($x(e.f),0),19),e.g,CY(GO($x(e.g),0),19),"labels",0,-1,nL2,!1,!1,!0,!0,!1,!1,!1),XW(CY(GO($x(e.f),1),35),e.wb._,nEq,null,0,1,nL2,!1,!1,!0,!1,!0,!1),Kd(e.n,nL3,"ElkShape",!0,!1,!0),XW(CY(GO($x(e.n),0),35),e.wb.t,nEX,nwQ,1,1,nL3,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.n),1),35),e.wb.t,nEz,nwQ,1,1,nL3,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.n),2),35),e.wb.t,"x",nwQ,1,1,nL3,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.n),3),35),e.wb.t,"y",nwQ,1,1,nL3,!1,!1,!0,!1,!0,!1),nt$(u=WS(e.n,null,"setDimensions"),e.wb.t,nEz),nt$(u,e.wb.t,nEX),nt$(u=WS(e.n,null,"setLocation"),e.wb.t,"x"),nt$(u,e.wb.t,"y"),Kd(e.g,nNt,nEv,!1,!1,!0),ntN(CY(GO($x(e.g),0),19),e.f,CY(GO($x(e.f),0),19),nEV,0,1,nNt,!1,!1,!0,!1,!1,!1,!1),XW(CY(GO($x(e.g),1),35),e.wb._,nEW,"",0,1,nNt,!1,!1,!0,!1,!0,!1),Kd(e.c,nL4,nEw,!0,!1,!0),ntN(CY(GO($x(e.c),0),19),e.d,CY(GO($x(e.d),1),19),"outgoingEdges",0,-1,nL4,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.c),1),19),e.d,CY(GO($x(e.d),2),19),"incomingEdges",0,-1,nL4,!1,!1,!0,!1,!0,!1,!1),Kd(e.i,nNe,nEy,!1,!1,!0),ntN(CY(GO($x(e.i),0),19),e.j,CY(GO($x(e.j),0),19),"ports",0,-1,nNe,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.i),1),19),e.i,CY(GO($x(e.i),2),19),nEQ,0,-1,nNe,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.i),2),19),e.i,CY(GO($x(e.i),1),19),nEV,0,1,nNe,!1,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.i),3),19),e.d,CY(GO($x(e.d),0),19),"containedEdges",0,-1,nNe,!1,!1,!0,!0,!1,!1,!1),XW(CY(GO($x(e.i),4),35),e.wb.e,nEJ,null,0,1,nNe,!0,!0,!1,!1,!0,!0),Kd(e.j,nNi,nEk,!1,!1,!0),ntN(CY(GO($x(e.j),0),19),e.i,CY(GO($x(e.i),0),19),nEV,0,1,nNi,!1,!1,!0,!1,!1,!1,!1),Kd(e.d,nL6,nEd,!1,!1,!0),ntN(CY(GO($x(e.d),0),19),e.i,CY(GO($x(e.i),3),19),"containingNode",0,1,nL6,!1,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.d),1),19),e.c,CY(GO($x(e.c),0),19),nEY,0,-1,nL6,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.d),2),19),e.c,CY(GO($x(e.c),1),19),nEZ,0,-1,nL6,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.d),3),19),e.e,CY(GO($x(e.e),5),19),nE1,0,-1,nL6,!1,!1,!0,!0,!1,!1,!1),XW(CY(GO($x(e.d),4),35),e.wb.e,"hyperedge",null,0,1,nL6,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.d),5),35),e.wb.e,nEJ,null,0,1,nL6,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.d),6),35),e.wb.e,"selfloop",null,0,1,nL6,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.d),7),35),e.wb.e,"connected",null,0,1,nL6,!0,!0,!1,!1,!0,!0),Kd(e.b,nL0,nEl,!1,!1,!0),XW(CY(GO($x(e.b),0),35),e.wb.t,"x",nwQ,1,1,nL0,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.b),1),35),e.wb.t,"y",nwQ,1,1,nL0,!1,!1,!0,!1,!0,!1),nt$(u=WS(e.b,null,"set"),e.wb.t,"x"),nt$(u,e.wb.t,"y"),Kd(e.e,nL5,nEg,!1,!1,!0),XW(CY(GO($x(e.e),0),35),e.wb.t,"startX",null,0,1,nL5,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.e),1),35),e.wb.t,"startY",null,0,1,nL5,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.e),2),35),e.wb.t,"endX",null,0,1,nL5,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.e),3),35),e.wb.t,"endY",null,0,1,nL5,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.e),4),19),e.b,null,nE0,0,-1,nL5,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.e),5),19),e.d,CY(GO($x(e.d),3),19),nEV,0,1,nL5,!1,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.e),6),19),e.c,null,nE2,0,1,nL5,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.e),7),19),e.c,null,nE3,0,1,nL5,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.e),8),19),e.e,CY(GO($x(e.e),9),19),nE4,0,-1,nL5,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.e),9),19),e.e,CY(GO($x(e.e),8),19),nE6,0,-1,nL5,!1,!1,!0,!1,!0,!1,!1),XW(CY(GO($x(e.e),10),35),e.wb._,nEq,null,0,1,nL5,!1,!1,!0,!1,!0,!1),nt$(u=WS(e.e,null,"setStartLocation"),e.wb.t,"x"),nt$(u,e.wb.t,"y"),nt$(u=WS(e.e,null,"setEndLocation"),e.wb.t,"x"),nt$(u,e.wb.t,"y"),Kd(e.k,nPl,"ElkPropertyToValueMapEntry",!1,!1,!1),i=$h(e.o),r=new df,B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),ncn(CY(GO($x(e.k),0),35),i,"key",nPl,!1,!1,!0,!1),XW(CY(GO($x(e.k),1),35),e.s,nEH,null,0,1,nPl,!1,!1,!0,!1,!0,!1),x_(e.o,nLO,"IProperty",!0),x_(e.s,nPa,"PropertyValue",!0),Ql(e,nE_)),ntL(n),Rr(n2e,nE_,n),n)}function mE(){mE=T,n0S=qk()}function mT(){mT=T,n2a=function(){var n,t;nhC();try{if(t=CY(neB((yM(),n2e),njz),2040))return t}catch(t){if(jM(t=Vt(t),103))n=t,Nh((T9(),n));else throw t.e}return new ub}()}function mj(){mj=T,n3h=function(){var n,t;HP();try{if(t=CY(neB((yM(),n2e),nSb),2122))return t}catch(t){if(jM(t=Vt(t),103))n=t,Nh((T9(),n));else throw t.e}return new u5}()}function mS(){var n,t,e,i,r;mS=T,n3f=n22?CY(ncz((yM(),n2e),nSb),2044):(Tf(n2Y,new ss),Tf(n2Z,new sy),Tf(n21,new sA),Tf(n20,new sH),Tf(nPL,new sX),Tf(DY(n4l,1),new sz),Tf(nPE,new sV),Tf(nPT,new sW),Tf(nPL,new u9),Tf(nPL,new u7),Tf(nPL,new sn),Tf(nPS,new st),Tf(nPL,new se),Tf(nPf,new si),Tf(nPf,new sr),Tf(nPL,new sa),Tf(nPP,new so),Tf(nPL,new su),Tf(nPL,new sh),Tf(nPL,new sf),Tf(nPL,new sl),Tf(nPL,new sb),Tf(DY(n4l,1),new sw),Tf(nPL,new sd),Tf(nPL,new sg),Tf(nPf,new sp),Tf(nPf,new sm),Tf(nPL,new sv),Tf(nPO,new sk),Tf(nPL,new sM),Tf(nPC,new sE),Tf(nPL,new sT),Tf(nPL,new sj),Tf(nPL,new sS),Tf(nPL,new sP),Tf(nPf,new sO),Tf(nPf,new sC),Tf(nPL,new sI),Tf(nPL,new sL),Tf(nPL,new sN),Tf(nPL,new sx),Tf(nPL,new s$),Tf(nPL,new sD),Tf(nPI,new sR),Tf(nPL,new sK),Tf(nPL,new sF),Tf(nPL,new s_),Tf(nPI,new sB),Tf(nPC,new sU),Tf(nPL,new sG),Tf(nPO,new sq),n=CY(jM(Db((yM(),n2e),nSb),594)?Db(n2e,nSb):new xy,594),n22=!0,(t=n).N||(t.N=!0,t.b=zL(t,0),XL(t.b,0),XL(t.b,1),XL(t.b,2),t.bb=zL(t,1),XL(t.bb,0),XL(t.bb,1),t.fb=zL(t,2),XL(t.fb,3),XL(t.fb,4),XN(t.fb,5),t.qb=zL(t,3),XL(t.qb,0),XN(t.qb,1),XN(t.qb,2),XL(t.qb,3),XL(t.qb,4),XN(t.qb,5),XL(t.qb,6),t.a=zN(t,4),t.c=zN(t,5),t.d=zN(t,6),t.e=zN(t,7),t.f=zN(t,8),t.g=zN(t,9),t.i=zN(t,10),t.j=zN(t,11),t.k=zN(t,12),t.n=zN(t,13),t.o=zN(t,14),t.p=zN(t,15),t.q=zN(t,16),t.s=zN(t,17),t.r=zN(t,18),t.t=zN(t,19),t.u=zN(t,20),t.v=zN(t,21),t.w=zN(t,22),t.B=zN(t,23),t.A=zN(t,24),t.C=zN(t,25),t.D=zN(t,26),t.F=zN(t,27),t.G=zN(t,28),t.H=zN(t,29),t.J=zN(t,30),t.I=zN(t,31),t.K=zN(t,32),t.M=zN(t,33),t.L=zN(t,34),t.P=zN(t,35),t.Q=zN(t,36),t.R=zN(t,37),t.S=zN(t,38),t.T=zN(t,39),t.U=zN(t,40),t.V=zN(t,41),t.X=zN(t,42),t.W=zN(t,43),t.Y=zN(t,44),t.Z=zN(t,45),t.$=zN(t,46),t._=zN(t,47),t.ab=zN(t,48),t.cb=zN(t,49),t.db=zN(t,50),t.eb=zN(t,51),t.gb=zN(t,52),t.hb=zN(t,53),t.ib=zN(t,54),t.jb=zN(t,55),t.kb=zN(t,56),t.lb=zN(t,57),t.mb=zN(t,58),t.nb=zN(t,59),t.ob=zN(t,60),t.pb=zN(t,61)),(e=n).O||(e.O=!0,XC(e,"type"),XI(e,"ecore.xml.type"),XA(e,nSb),i=CY(ncz((yM(),n2e),nSb),2044),B7($7(e.fb),e.b),Kd(e.b,n2Y,"AnyType",!1,!1,!0),XW(CY(GO($x(e.b),0),35),e.wb.D,njR,null,0,-1,n2Y,!1,!1,!0,!1,!1,!1),XW(CY(GO($x(e.b),1),35),e.wb.D,"any",null,0,-1,n2Y,!0,!0,!0,!1,!1,!0),XW(CY(GO($x(e.b),2),35),e.wb.D,"anyAttribute",null,0,-1,n2Y,!1,!1,!0,!1,!1,!1),Kd(e.bb,n2Z,nSm,!1,!1,!0),XW(CY(GO($x(e.bb),0),35),e.gb,"data",null,0,1,n2Z,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),1),35),e.gb,nTc,null,1,1,n2Z,!1,!1,!0,!1,!0,!1),Kd(e.fb,n21,nSv,!1,!1,!0),XW(CY(GO($x(e.fb),0),35),i.gb,"rawValue",null,0,1,n21,!0,!0,!0,!1,!0,!0),XW(CY(GO($x(e.fb),1),35),i.a,nEH,null,0,1,n21,!0,!0,!0,!1,!0,!0),ntN(CY(GO($x(e.fb),2),19),e.wb.q,null,"instanceType",1,1,n21,!1,!1,!0,!1,!1,!1,!1),Kd(e.qb,n20,nSy,!1,!1,!0),XW(CY(GO($x(e.qb),0),35),e.wb.D,njR,null,0,-1,null,!1,!1,!0,!1,!1,!1),ntN(CY(GO($x(e.qb),1),19),e.wb.ab,null,"xMLNSPrefixMap",0,-1,null,!0,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.qb),2),19),e.wb.ab,null,"xSISchemaLocation",0,-1,null,!0,!1,!0,!0,!1,!1,!1),XW(CY(GO($x(e.qb),3),35),e.gb,"cDATA",null,0,-2,null,!0,!0,!0,!1,!1,!0),XW(CY(GO($x(e.qb),4),35),e.gb,"comment",null,0,-2,null,!0,!0,!0,!1,!1,!0),ntN(CY(GO($x(e.qb),5),19),e.bb,null,nSq,0,-2,null,!0,!0,!0,!0,!1,!1,!0),XW(CY(GO($x(e.qb),6),35),e.gb,nEW,null,0,-2,null,!0,!0,!0,!1,!1,!0),x_(e.a,nPa,"AnySimpleType",!0),x_(e.c,nPL,"AnyURI",!0),x_(e.d,DY(n4l,1),"Base64Binary",!0),x_(e.e,n4h,"Boolean",!0),x_(e.f,nPE,"BooleanObject",!0),x_(e.g,n4l,"Byte",!0),x_(e.i,nPT,"ByteObject",!0),x_(e.j,nPL,"Date",!0),x_(e.k,nPL,"DateTime",!0),x_(e.n,nPN,"Decimal",!0),x_(e.o,n4b,"Double",!0),x_(e.p,nPS,"DoubleObject",!0),x_(e.q,nPL,"Duration",!0),x_(e.s,nPf,"ENTITIES",!0),x_(e.r,nPf,"ENTITIESBase",!0),x_(e.t,nPL,nSj,!0),x_(e.u,n4w,"Float",!0),x_(e.v,nPP,"FloatObject",!0),x_(e.w,nPL,"GDay",!0),x_(e.B,nPL,"GMonth",!0),x_(e.A,nPL,"GMonthDay",!0),x_(e.C,nPL,"GYear",!0),x_(e.D,nPL,"GYearMonth",!0),x_(e.F,DY(n4l,1),"HexBinary",!0),x_(e.G,nPL,"ID",!0),x_(e.H,nPL,"IDREF",!0),x_(e.J,nPf,"IDREFS",!0),x_(e.I,nPf,"IDREFSBase",!0),x_(e.K,n4s,"Int",!0),x_(e.M,nPx,"Integer",!0),x_(e.L,nPO,"IntObject",!0),x_(e.P,nPL,"Language",!0),x_(e.Q,n4f,"Long",!0),x_(e.R,nPC,"LongObject",!0),x_(e.S,nPL,"Name",!0),x_(e.T,nPL,nSS,!0),x_(e.U,nPx,"NegativeInteger",!0),x_(e.V,nPL,nSD,!0),x_(e.X,nPf,"NMTOKENS",!0),x_(e.W,nPf,"NMTOKENSBase",!0),x_(e.Y,nPx,"NonNegativeInteger",!0),x_(e.Z,nPx,"NonPositiveInteger",!0),x_(e.$,nPL,"NormalizedString",!0),x_(e._,nPL,"NOTATION",!0),x_(e.ab,nPL,"PositiveInteger",!0),x_(e.cb,nPL,"QName",!0),x_(e.db,n4d,"Short",!0),x_(e.eb,nPI,"ShortObject",!0),x_(e.gb,nPL,nb0,!0),x_(e.hb,nPL,"Time",!0),x_(e.ib,nPL,"Token",!0),x_(e.jb,n4d,"UnsignedByte",!0),x_(e.kb,nPI,"UnsignedByteObject",!0),x_(e.lb,n4f,"UnsignedInt",!0),x_(e.mb,nPC,"UnsignedIntObject",!0),x_(e.nb,nPx,"UnsignedLong",!0),x_(e.ob,n4s,"UnsignedShort",!0),x_(e.pb,nPO,"UnsignedShortObject",!0),Ql(e,nSb),ncY((r=e).a,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"anySimpleType"])),ncY(r.b,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"anyType",njF,njR])),ncY(CY(GO($x(r.b),0),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSc,nTh,":mixed"])),ncY(CY(GO($x(r.b),1),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSc,nSl,nSw,nTh,":1",nSM,"lax"])),ncY(CY(GO($x(r.b),2),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSr,nSl,nSw,nTh,":2",nSM,"lax"])),ncY(r.c,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"anyURI",nSf,nSo])),ncY(r.d,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"base64Binary",nSf,nSo])),ncY(r.e,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nlZ,nSf,nSo])),ncY(r.f,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"boolean:Object",njW,nlZ])),ncY(r.g,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njj])),ncY(r.i,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"byte:Object",njW,njj])),ncY(r.j,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"date",nSf,nSo])),ncY(r.k,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"dateTime",nSf,nSo])),ncY(r.n,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"decimal",nSf,nSo])),ncY(r.o,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njP,nSf,nSo])),ncY(r.p,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"double:Object",njW,njP])),ncY(r.q,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"duration",nSf,nSo])),ncY(r.s,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"ENTITIES",njW,nSE,nST,"1"])),ncY(r.r,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSE,nSu,nSj])),ncY(r.t,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSj,njW,nSS])),ncY(r.u,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njO,nSf,nSo])),ncY(r.v,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"float:Object",njW,njO])),ncY(r.w,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"gDay",nSf,nSo])),ncY(r.B,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"gMonth",nSf,nSo])),ncY(r.A,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"gMonthDay",nSf,nSo])),ncY(r.C,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"gYear",nSf,nSo])),ncY(r.D,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"gYearMonth",nSf,nSo])),ncY(r.F,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"hexBinary",nSf,nSo])),ncY(r.G,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"ID",njW,nSS])),ncY(r.H,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"IDREF",njW,nSS])),ncY(r.J,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"IDREFS",njW,nSP,nST,"1"])),ncY(r.I,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSP,nSu,"IDREF"])),ncY(r.K,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njC])),ncY(r.M,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSO])),ncY(r.L,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"int:Object",njW,njC])),ncY(r.P,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"language",njW,nSC,nSI,nSA])),ncY(r.Q,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njI])),ncY(r.R,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"long:Object",njW,njI])),ncY(r.S,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"Name",njW,nSC,nSI,nSL])),ncY(r.T,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSS,njW,"Name",nSI,nSN])),ncY(r.U,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"negativeInteger",njW,nSx,nS$,"-1"])),ncY(r.V,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSD,njW,nSC,nSI,"\\c+"])),ncY(r.X,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"NMTOKENS",njW,nSR,nST,"1"])),ncY(r.W,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSR,nSu,nSD])),ncY(r.Y,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSK,njW,nSO,nSF,"0"])),ncY(r.Z,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSx,njW,nSO,nS$,"0"])),ncY(r.$,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nS_,njW,nl0,nSf,"replace"])),ncY(r._,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"NOTATION",nSf,nSo])),ncY(r.ab,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"positiveInteger",njW,nSK,nSF,"1"])),ncY(r.bb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"processingInstruction_._type",njF,"empty"])),ncY(CY(GO($x(r.bb),0),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSi,nTh,"data"])),ncY(CY(GO($x(r.bb),1),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSi,nTh,nTc])),ncY(r.cb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"QName",nSf,nSo])),ncY(r.db,njK,Vw(DY(nPL,1),nby,2,6,[nTh,njA])),ncY(r.eb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"short:Object",njW,njA])),ncY(r.fb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"simpleAnyType",njF,nSe])),ncY(CY(GO($x(r.fb),0),35),njK,Vw(DY(nPL,1),nby,2,6,[nTh,":3",njF,nSe])),ncY(CY(GO($x(r.fb),1),35),njK,Vw(DY(nPL,1),nby,2,6,[nTh,":4",njF,nSe])),ncY(CY(GO($x(r.fb),2),19),njK,Vw(DY(nPL,1),nby,2,6,[nTh,":5",njF,nSe])),ncY(r.gb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nl0,nSf,"preserve"])),ncY(r.hb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"time",nSf,nSo])),ncY(r.ib,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSC,njW,nS_,nSf,nSo])),ncY(r.jb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSB,nS$,"255",nSF,"0"])),ncY(r.kb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"unsignedByte:Object",njW,nSB])),ncY(r.lb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSH,nS$,"4294967295",nSF,"0"])),ncY(r.mb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"unsignedInt:Object",njW,nSH])),ncY(r.nb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"unsignedLong",njW,nSK,nS$,nSU,nSF,"0"])),ncY(r.ob,njK,Vw(DY(nPL,1),nby,2,6,[nTh,nSG,nS$,"65535",nSF,"0"])),ncY(r.pb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"unsignedShort:Object",njW,nSG])),ncY(r.qb,njK,Vw(DY(nPL,1),nby,2,6,[nTh,"",njF,njR])),ncY(CY(GO($x(r.qb),0),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSc,nTh,":mixed"])),ncY(CY(GO($x(r.qb),1),19),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSi,nTh,"xmlns:prefix"])),ncY(CY(GO($x(r.qb),2),19),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSi,nTh,"xsi:schemaLocation"])),ncY(CY(GO($x(r.qb),3),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSa,nTh,"cDATA",nSs,nSh])),ncY(CY(GO($x(r.qb),4),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSa,nTh,"comment",nSs,nSh])),ncY(CY(GO($x(r.qb),5),19),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSa,nTh,nSq,nSs,nSh])),ncY(CY(GO($x(r.qb),6),35),njK,Vw(DY(nPL,1),nby,2,6,[njF,nSa,nTh,nEW,nSs,nSh]))),xM((yp(),n2r),n,new u8),ntL(n),Rr(n2e,nSb,n),n)}function mP(n){return n.e&&n.e()}function mO(n){return n.l|n.m<<22}function mC(n){return n?n.d:null}function mI(n){return PL(n),n.o}function mA(n,t){return n.a+=t,n}function mL(n,t){return n.a+=t,n}function mN(n,t){return n.a+=t,n}function mx(n,t){for(;n.Bd(t););}function m$(n){this.a=new vH(n)}function mD(){throw(new dD).e}function mR(){throw(new dD).e}function mK(){throw(new dD).e}function mF(){throw(new dD).e}function m_(){throw(new dD).e}function mB(){throw(new dD).e}function mH(n){this.a=new La(n)}function mU(){this.a=new noM(nLi)}function mG(){this.b=new noM(nA5)}function mq(){this.a=new noM(nLs)}function mX(){this.b=new noM(nLm)}function mz(){this.b=new noM(nLm)}function mV(n){this.a=0,this.b=n}function mW(n){nf2(),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(e=0,c=0,a=t.length,o=null,s=new p3,c<a&&(Rx(c,t.length),43==t.charCodeAt(c))&&(++c,++e,c<a&&(Rx(c,t.length),43==t.charCodeAt(c)||(Rx(c,t.length),45==t.charCodeAt(c)))))throw new p5(nwK+t+'"').e;for(;c<a&&(Rx(c,t.length),46!=t.charCodeAt(c))&&(Rx(c,t.length),101!=t.charCodeAt(c))&&(Rx(c,t.length),69!=t.charCodeAt(c));)++c;if(s.a+=""+Di(null==t?nbi:(xf(t),t),e,c),c<a&&(Rx(c,t.length),46==t.charCodeAt(c))){for(e=++c;c<a&&(Rx(c,t.length),101!=t.charCodeAt(c))&&(Rx(c,t.length),69!=t.charCodeAt(c));)++c;n.e=c-e,s.a+=""+Di(null==t?nbi:(xf(t),t),e,c)}else n.e=0;if(c<a&&(Rx(c,t.length),101==t.charCodeAt(c)||(Rx(c,t.length),69==t.charCodeAt(c)))&&(e=++c,c<a&&(Rx(c,t.length),43==t.charCodeAt(c))&&++c<a&&(Rx(c,t.length),45!=t.charCodeAt(c))&&++e,B2(e,a,t.length),o=t.substr(e,a-e),n.e=n.e-nsE(o,nbJ,nl3),n.e!=Dy(n.e)))throw new p5("Scale out of range.").e;if((u=s.a).length<16){if(null==nOC&&(nOC=RegExp("^[+-]?\\d*$","i")),n.f=nOC.test(u)?parseInt(u,10):NaN,isNaN(n.f))throw new p5(nwK+t+'"').e;n.a=naw(n.f)}else{n.c=h=new TV(u),n.a=0==(l=h).e?0:(b=l.d<<5,w=l.a[l.d-1],l.e<0&&zn(l)==l.d-1&&(--w,w|=0),b-=naK(w)),n.a<54&&(f=h.d>1?Kl(h.a[0],h.a[1]):Kl(h.a[0],0),n.f=KI(h.e>0?f:H4(f)))}for(r=0,n.d=s.a.length;r<s.a.length&&(45==(i=xq(s.a,r))||48==i);++r)--n.d;0==n.d&&(n.d=1)}(this,n)}function mQ(n){return xa(n),n.a}function mJ(n){return n.b!=n.d.c}function mY(n,t,e){n.splice(t,e)}function mZ(n,t){for(;n.Re(t););}function m1(n){n.c?nus(n):nuh(n)}function m0(){throw(new dD).e}function m2(){throw(new dD).e}function m3(){throw(new dD).e}function m4(){throw(new dD).e}function m6(){throw(new dD).e}function m5(){throw(new dD).e}function m8(){throw(new dD).e}function m9(){throw(new dD).e}function m7(){throw(new dD).e}function vn(){throw(new dD).e}function vt(n){this.a=new ve(n)}function ve(n){var t,e,i,r;t=this,e=n,i=function(){var n,t,e;for(n=0,t=0;n<1;n++){if(0==(e=nca((Rx(n,1),"X".charCodeAt(n)))))throw new pH((Rx(n,2),"Unknown Option: "+"X".substr(n))).e;t|=e}return t}(),t.b=e,t.a=i,r=(512&t.a)==512?new gH:new sQ,t.c=function(n,t,e){var i,r,a;if(n.e=e,n.d=0,n.b=0,n.f=1,n.i=t,(16&n.e)==16&&(n.i=function(n){var t,e,i,r,a;for(i=n.length,t=new p0,a=0;a<i;)if(9!=(e=xq(n,a++))&&10!=e&&12!=e&&13!=e&&32!=e){if(35==e){for(;a<i&&13!=(e=xq(n,a++))&&10!=e;);continue}92==e&&a<i?(35==(Rx(a,n.length),r=n.charCodeAt(a))||9==r||10==r||12==r||13==r||32==r||(t.a+="\\"),NQ(t,r&nb9),++a):NQ(t,e&nb9)}return t.a}(n.i)),n.j=n.i.length,nlN(n),a=Zf(n),n.d!=n.j)throw new pH(nlV((T9(),nTE))).e;if(n.g){for(i=0;i<n.g.a.c.length;i++)if(r=CY(N9(n.g,i),592),n.f<=r.a)throw new pH(nlV((T9(),nTT))).e;n.g.a.c.length=0}return a}(r,t.b,t.a)}function vi(n){return!n||xe(n)}function vr(n){return -1!=n3_[n]}function va(){0!=nPv&&(nPv=0),nPk=-1}function vc(){null==nPU&&(nPU=[])}function vo(n,t){j4.call(this,n,t)}function vu(n,t){vo.call(this,n,t)}function vs(n,t){this.a=n,this.b=t}function vh(n,t){this.a=n,this.b=t}function vf(n,t){this.a=n,this.b=t}function vl(n,t){this.a=n,this.b=t}function vb(n,t){this.a=n,this.b=t}function vw(n,t){this.a=n,this.b=t}function vd(n,t){this.a=n,this.b=t}function vg(n,t){this.e=n,this.d=t}function vp(n,t){this.b=n,this.c=t}function vm(n,t){this.b=n,this.a=t}function vv(n,t){this.b=n,this.a=t}function vy(n,t){this.b=n,this.a=t}function vk(n,t){this.b=n,this.a=t}function vM(n,t){this.a=n,this.b=t}function vE(n,t){this.a=n,this.b=t}function vT(n,t){this.a=n,this.f=t}function vj(n,t){this.g=n,this.i=t}function vS(n,t){this.f=n,this.g=t}function vP(n,t){this.b=n,this.c=t}function vO(n){j5(n.dc()),this.c=n}function vC(n,t){this.a=n,this.b=t}function vI(n,t){this.a=n,this.b=t}function vA(n){this.a=CY(NP(n),15)}function vL(n){this.a=CY(NP(n),15)}function vN(n){this.a=CY(NP(n),85)}function vx(n){this.b=CY(NP(n),85)}function v$(n){this.b=CY(NP(n),51)}function vD(){this.q=new nP_.Date}function vR(n,t){this.a=n,this.b=t}function vK(n,t){return n.b.Hc(t)}function vF(n,t){return n.a._b(t)}function v_(n){return n.f.c+n.i.c}function vB(n){return Nd(),n?nP7:nP9}function vH(n){VV.call(this,n,0)}function vU(){La.call(this,null)}function vG(n){this.c=n,UB(this)}function vq(){jg(this),$p(this)}function vX(){vX=T,nOk=new j}function vz(){vz=T,nOU=new O}function vV(){vV=T,nOZ=new E9}function vW(){vW=T,nO1=new E7}function vQ(){vQ=T,nCN=new H}function vJ(){B3.call(this,null)}function vY(){vY=T,nCF=new no}function vZ(n,t){xa(n),n.a.Nb(t)}function v1(n,t){return n.a.a=t,n}function v0(n,t){return n.a.d=t,n}function v2(n,t){return n.a.e=t,n}function v3(n,t){return n.a.g=t,n}function v4(n,t){return n.a.f=t,n}function v6(){v6=T,nC_=new nl}function v5(){v5=T,nNE=new Pw}function v8(){v8=T,nx1=new te}function v9(){v9=T,nx0=new th}function v7(){v7=T,nx4=new AD}function yn(){yn=T,n$a=new tw}function yt(){yt=T,n$b=new tj}function ye(){ye=T,n$w=new tS}function yi(){yi=T,n$C=new t0}function yr(){yr=T,n$O=new mm}function ya(){ya=T,nDC=new eC}function yc(){yc=T,nDG=new i3}function yo(){yo=T,nRf=new rm}function yu(){yu=T,nUY=new oP}function ys(){ys=T,nWW=new yb}function yh(){yh=T,nWJ=new Pb}function yf(){yf=T,nQL=new xk}function yl(){qR(),this.c=new mt}function yb(){vS.call(this,nmw,0)}function yw(n,t){Zq(n.c.c,t.b,t)}function yd(n,t){Zq(n.c.b,t.c,t)}function yg(n,t){return n.a=t.g,n}function yp(){yp=T,n2r=new gK}function ym(){ym=T,n2i=new gI}function yv(){yv=T,n16=new oO}function yy(){yy=T,n0h=new oG}function yk(){yk=T,n2t=new gC}function yM(){yM=T,n2e=new g$}function yE(){yE=T,n0C=new dc}function yT(){yT=T,n2D=new jP}function yj(){yj=T,n2R=new jO}function yS(){yS=T,n3t=new u4}function yP(){yP=T,n3i=new u6}function yO(){yO=T,nlJ=new sY}function yC(){yC=T,n2V=new du}function yI(n){return CY(n,44).ld()}function yA(n){return n.b<n.d.gc()}function yL(n,t){DZ.call(this,n,t)}function yN(n){NL(),OJ.call(this,n)}function yx(n,t){AL(n,n.length,t)}function y$(n,t){Ni(n,n.length,t)}function yD(n,t){return n.a.get(t)}function yR(n){this.a=CY(NP(n),229)}function yK(n){R$.call(this,n,21)}function yF(n,t){vS.call(this,n,t)}function y_(n,t){vS.call(this,n,t)}function yB(n,t){this.b=n,this.a=t}function yH(n,t){this.d=n,this.e=t}function yU(n,t){this.a=n,this.b=t}function yG(n,t){this.a=n,this.b=t}function yq(n,t){this.a=n,this.b=t}function yX(n,t){this.a=n,this.b=t}function yz(n,t){this.a=n,this.b=t}function yV(n,t){this.b=n,this.a=t}function yW(n,t){this.b=n,this.a=t}function yQ(n,t){vS.call(this,n,t)}function yJ(n,t){vS.call(this,n,t)}function yY(n,t){vS.call(this,n,t)}function yZ(n,t){vS.call(this,n,t)}function y1(n,t){vS.call(this,n,t)}function y0(n,t){vS.call(this,n,t)}function y2(n,t){vS.call(this,n,t)}function y3(n,t){this.b=n,this.a=t}function y4(n,t){vS.call(this,n,t)}function y6(n,t){this.b=n,this.a=t}function y5(n,t){vS.call(this,n,t)}function y8(n,t){this.b=n,this.a=t}function y9(n,t){vS.call(this,n,t)}function y7(n,t){vS.call(this,n,t)}function kn(n,t){vS.call(this,n,t)}function kt(n,t,e){n.splice(t,0,e)}function ke(n,t){vS.call(this,n,t)}function ki(n,t){vS.call(this,n,t)}function kr(n,t){vS.call(this,n,t)}function ka(n,t){vS.call(this,n,t)}function kc(n,t){vS.call(this,n,t)}function ko(n,t){vS.call(this,n,t)}function ku(n,t){this.a=n,this.b=t}function ks(n,t){this.a=n,this.b=t}function kh(n,t){this.a=n,this.b=t}function kf(n,t){this.a=n,this.b=t}function kl(n,t){this.a=n,this.b=t}function kb(n,t){this.a=n,this.b=t}function kw(n,t){this.b=n,this.a=t}function kd(n,t){this.b=n,this.a=t}function kg(n,t){this.b=n,this.a=t}function kp(n,t){this.c=n,this.d=t}function km(n,t){this.e=n,this.d=t}function kv(n,t){this.a=n,this.b=t}function ky(n,t){this.a=n,this.b=t}function kk(n,t){this.a=n,this.b=t}function kM(n,t){this.b=n,this.a=t}function kE(n,t){this.b=t,this.c=n}function kT(n,t){vS.call(this,n,t)}function kj(n,t){vS.call(this,n,t)}function kS(n,t){vS.call(this,n,t)}function kP(n,t){vS.call(this,n,t)}function kO(n,t){vS.call(this,n,t)}function kC(n,t){vS.call(this,n,t)}function kI(n,t){vS.call(this,n,t)}function kA(n,t){vS.call(this,n,t)}function kL(n,t){vS.call(this,n,t)}function kN(n,t){vS.call(this,n,t)}function kx(n,t){vS.call(this,n,t)}function k$(n,t){vS.call(this,n,t)}function kD(n,t){vS.call(this,n,t)}function kR(n,t){vS.call(this,n,t)}function kK(n,t){vS.call(this,n,t)}function kF(n,t){vS.call(this,n,t)}function k_(n,t){vS.call(this,n,t)}function kB(n,t){vS.call(this,n,t)}function kH(n,t){vS.call(this,n,t)}function kU(n,t){vS.call(this,n,t)}function kG(n,t){vS.call(this,n,t)}function kq(n,t){vS.call(this,n,t)}function kX(n,t){vS.call(this,n,t)}function kz(n,t){vS.call(this,n,t)}function kV(n,t){vS.call(this,n,t)}function kW(n,t){vS.call(this,n,t)}function kQ(n,t){vS.call(this,n,t)}function kJ(n,t){vS.call(this,n,t)}function kY(n,t){vS.call(this,n,t)}function kZ(n,t){vS.call(this,n,t)}function k1(n,t){vS.call(this,n,t)}function k0(n,t){vS.call(this,n,t)}function k2(n,t){vS.call(this,n,t)}function k3(n,t){this.b=n,this.a=t}function k4(n,t){vS.call(this,n,t)}function k6(n,t){this.a=n,this.b=t}function k5(n,t){this.a=n,this.b=t}function k8(n,t){this.a=n,this.b=t}function k9(n,t){vS.call(this,n,t)}function k7(n,t){vS.call(this,n,t)}function Mn(n,t){this.a=n,this.b=t}function Mt(n){return Px(n.a),n.b}function Me(n){return function(n,t){var e,i,r;for(e=new fU(n.a.a);e.a<e.c.c.length;)CY(RU(e),194).g=!0;for(r=new fU(n.a.b);r.a<r.c.c.length;)(i=CY(RU(r),86)).k=pT(PC(n.e.Kb(new Ea(i,t)))),i.d.g=i.d.g&pT(PC(n.e.Kb(new Ea(i,t))))}(n,n.c),n}function Mi(){CM(),this.a=new Ow}function Mr(){no$(),this.a=new dV}function Ma(){Re(),this.b=new dV}function Mc(n,t){this.b=n,this.d=t}function Mo(n,t){this.a=n,this.b=t}function Mu(n,t){this.a=n,this.b=t}function Ms(n,t){this.a=n,this.b=t}function Mh(n,t){this.b=n,this.a=t}function Mf(n,t){vS.call(this,n,t)}function Ml(n,t){vS.call(this,n,t)}function Mb(n,t){vS.call(this,n,t)}function Mw(n,t){vS.call(this,n,t)}function Md(n,t){vS.call(this,n,t)}function Mg(n,t){vS.call(this,n,t)}function Mp(n,t){vS.call(this,n,t)}function Mm(n,t){vS.call(this,n,t)}function Mv(n,t){vS.call(this,n,t)}function My(n,t){vS.call(this,n,t)}function Mk(n,t){vS.call(this,n,t)}function MM(n,t){vS.call(this,n,t)}function ME(n,t){vS.call(this,n,t)}function MT(n,t){vS.call(this,n,t)}function Mj(n,t){vS.call(this,n,t)}function MS(n,t){vS.call(this,n,t)}function MP(n,t){vS.call(this,n,t)}function MO(n,t){vS.call(this,n,t)}function MC(n,t){vS.call(this,n,t)}function MI(n,t){vS.call(this,n,t)}function MA(n,t){vS.call(this,n,t)}function ML(n,t){vS.call(this,n,t)}function MN(n,t){vS.call(this,n,t)}function Mx(n,t){vS.call(this,n,t)}function M$(n,t){this.b=n,this.a=t}function MD(n,t){this.b=n,this.a=t}function MR(n,t){this.b=n,this.a=t}function MK(n,t){this.b=n,this.a=t}function MF(n,t){this.a=n,this.b=t}function M_(n,t){this.a=n,this.b=t}function MB(n,t){this.a=n,this.b=t}function MH(n,t){this.a=n,this.b=t}function MU(n,t){vS.call(this,n,t)}function MG(n,t){vS.call(this,n,t)}function Mq(n,t){vS.call(this,n,t)}function MX(n,t){vS.call(this,n,t)}function Mz(n,t){vS.call(this,n,t)}function MV(n,t){vS.call(this,n,t)}function MW(n,t){vS.call(this,n,t)}function MQ(n,t){vS.call(this,n,t)}function MJ(n,t){vS.call(this,n,t)}function MY(n,t){vS.call(this,n,t)}function MZ(n,t){vS.call(this,n,t)}function M1(n,t){vS.call(this,n,t)}function M0(n,t){vS.call(this,n,t)}function M2(n,t){vS.call(this,n,t)}function M3(n,t){vS.call(this,n,t)}function M4(n,t){vS.call(this,n,t)}function M6(n,t){vS.call(this,n,t)}function M5(n,t){vS.call(this,n,t)}function M8(n,t){vS.call(this,n,t)}function M9(n,t){vS.call(this,n,t)}function M7(n,t){this.a=n,this.b=t}function En(n,t){this.a=n,this.b=t}function Et(n,t){this.a=n,this.b=t}function Ee(n,t){this.a=n,this.b=t}function Ei(n,t){this.a=n,this.b=t}function Er(n,t){this.a=n,this.b=t}function Ea(n,t){this.a=n,this.b=t}function Ec(n,t){this.a=n,this.b=t}function Eo(n,t){this.a=n,this.b=t}function Eu(n,t){this.a=n,this.b=t}function Es(n,t){this.a=n,this.b=t}function Eh(n,t){this.a=n,this.b=t}function Ef(n,t){this.a=n,this.b=t}function El(n,t){this.b=n,this.a=t}function Eb(n,t){this.b=n,this.a=t}function Ew(n,t){this.b=n,this.a=t}function Ed(n,t){this.b=n,this.a=t}function Eg(n,t){this.a=n,this.b=t}function Ep(n,t){this.a=n,this.b=t}function Em(n,t){vS.call(this,n,t)}function Ev(n,t){this.a=n,this.b=t}function Ey(n,t){this.a=n,this.b=t}function Ek(n,t){vS.call(this,n,t)}function EM(n,t){this.f=n,this.c=t}function EE(n,t){n.i=null,Xi(n,t)}function ET(n,t){var e,i;e=n.a,i=CY(t,12),CT(),jB(e,new Ea(i,Qx(i.e.c.length+i.g.c.length)))}function Ej(n,t){this.a=n,this.b=t}function ES(n,t){this.a=n,this.b=t}function EP(n,t){this.a=n,this.b=t}function EO(n,t){this.a=n,this.b=t}function EC(n,t){this.a=n,this.b=t}function EI(n,t){this.d=n,this.b=t}function EA(n,t){this.e=n,this.a=t}function EL(n,t){this.b=n,this.c=t}function EN(n,t){this.i=n,this.g=t}function Ex(n,t){this.d=n,this.e=t}function E$(n){return YI(n.c,n.b)}function ED(n){return n?n.md():null}function ER(n){return null==n?null:n}function EK(n){return typeof n===nl0}function EF(n){return typeof n===nlZ}function E_(n){return typeof n===nl1}function EB(n,t){return 0==Qv(n,t)}function EH(n,t){return Qv(n,t)>=0}function EU(n,t){return 0!=Qv(n,t)}function EG(n,t){var e=n.Kc(),i=t;for(NP(i);e.Ob();)if(!z3(CY(e.Pb(),10)))return!1;return!0}function Eq(n,t){return n.Rd().Xb(t)}function EX(n){return J8(n),n.d.gc()}function Ez(n){return IV(null==n),n}function EV(n,t){return n.a+=""+t,n}function EW(n,t){return n.a+=""+t,n}function EQ(n,t){return n.a+=""+t,n}function EJ(n,t){return n.a+=""+t,n}function EY(n,t){return n.a+=""+t,n}function EZ(n,t){return n.a+=""+t,n}function E1(n){LH(this),X7(this,n)}function E0(){D8(),AK.call(this)}function E2(n,t){Lr.call(this,n,t)}function E3(n,t){Lr.call(this,n,t)}function E4(n,t){Lr.call(this,n,t)}function E6(n,t){F_(n,t,n.c.b,n.c)}function E5(n,t){F_(n,t,n.a,n.a.a)}function E8(n){return RN(n,0),null}function E9(){this.b=0,this.a=!1}function E7(){this.b=0,this.a=!1}function Tn(){this.b=new vH(Ga(12))}function Tt(){Tt=T,nIR=W4(ZX())}function Te(){Te=T,nDO=W4(nok())}function Ti(){Ti=T,nXh=W4(zp())}function Tr(){Tr=T,dP(),nP5=new dc}function Ta(n){return n.a=0,n.b=0,n}function Tc(n,t){OR.call(this,n,t)}function To(n,t){P5.call(this,n,t)}function Tu(n,t){EN.call(this,n,t)}function Ts(n,t){SU.call(this,n,t)}function Th(n,t){zz.call(this,n,t)}function Tf(n,t){yE(),xM(n0C,n,t)}function Tl(n,t){n.q.setTime(KI(t))}function Tb(n,t){return Di(n.a,0,t)}function Tw(n){var t;return t=CY(n,74),$I(),DV(niU(t))==DV(niX(t))}function Td(n){return Dy((xf(n),n))}function Tg(n){return js(n.l,n.m,n.h)}function Tp(n,t){return n.indexOf(t)}function Tm(n,t){return n==t?0:n?1:-1}function Tv(n){return n<10?"0"+n:""+n}function Ty(n){return typeof n===nl1}function Tk(n){return H6(n.b.b,n,0)}function TM(){Ac.call(this,0,0,0,0)}function TE(){fW.call(this,new FF)}function TT(n,t){HM(n,0,n.length,t)}function Tj(n){this.a=(my(),new nOW),this.b=n}function TS(n){this.a=(my(),new nOW),this.b=n}function TP(n){this.a=n.a,this.b=n.b}function TO(n){this.a=n,sZ.call(this)}function TC(n){this.a=n,sZ.call(this)}function TI(){x4.call(this,0,0,0,0)}function TA(n){return zT(new xm,n)}function TL(n){return xx(CY(n,123))}function TN(n){return n.vh()&&n.wh()}function Tx(n){return n!=nZ1&&n!=nZ0}function T$(n){return n==nY8||n==nY9}function TD(n){return n==nZn||n==nY5}function TR(n){var t,e;return t=n.b.Kc(),e=n.a,NP(t),NP(e),new vk(t,e)}function TK(n,t){WH(n,t),G9(n,n.D)}function TF(n,t,e){G4(n,t),GW(n,e)}function T_(n,t,e){GY(n,t),GJ(n,e)}function TB(n,t,e){GZ(n,t),G1(n,e)}function TH(n,t,e){GQ(n,t),G2(n,e)}function TU(n,t,e){G0(n,t),G3(n,e)}function TG(n,t,e){PU.call(this,n,t,e)}function Tq(n){EM.call(this,n,!0)}function TX(){yF.call(this,"Tail",3)}function Tz(){yF.call(this,"Head",1)}function TV(n){nuY(),zt.call(this,n)}function TW(n){Ac.call(this,n,n,n,n)}function TQ(n){n.c=BJ(nPa,nl7,1,0,5,1)}function TJ(n){return n.b&&nhN(n),n.a}function TY(n){return n.b&&nhN(n),n.c}function TZ(n,t){P5.call(this,n.b,t)}function T1(n,t,e){NK(n.c[t.g],t.g,e)}function T0(n){Gd(n.Sf(),new lw(n))}function T2(n){return null!=n?XS(n):0}function T3(n){nlU(),dr.call(this,n)}function T4(n){this.a=n,Cq.call(this,n)}function T6(){T6=T,nP_.Math.log(2)}function T5(){T5=T,yy(),n2K=n0h}function T8(){T8=T,nqL=new J0(nLR)}function T9(){T9=T,new T7,new du}function T7(){new dc,new dc,new dc}function jn(n){this.a=n,vx.call(this,n)}function jt(n){this.a=n,vx.call(this,n)}function je(n,t){NA(),this.a=n,this.b=t}function ji(n,t){AO(n.c,n.c.length,t)}function jr(n){return n.a<n.c.c.length}function ja(n){return n.a<n.c.a.length}function jc(n,t){return n.a?n.b:t.We()}function jo(n,t){return n<t?-1:+(n>t)}function ju(n,t){return Qv(n,t)>0?n:t}function js(n,t,e){return{l:n,m:t,h:e}}function jh(n,t,e){return Y8(t,e,n.c)}function jf(n){$Z.call(this),this.b=n}function jl(n){Oh.call(this),this.a=n}function jb(){yF.call(this,"Range",2)}function jw(n){this.b=n,this.a=new du}function jd(n){this.b=new nZ,this.a=n}function jg(n){n.a=new D,n.c=new D}function jp(n){n.a=new dc,n.d=new dc}function jm(n){Rs(n,null),Rh(n,null)}function jv(n){return new MH(n.a,n.b)}function jy(n){return new MH(n.c,n.d)}function jk(n,t){return function(n,t,e){var i,r,a,c,o,u,s,h;if(0==e.gc())return!1;if(yP(),a=(o=CY(t,69).xk())?e:new Gk(e.gc()),noz(n.e,t)){if(t.Si())for(s=e.Kc();s.Ob();)!nhc(n,t,u=s.Pb(),jM(t,102)&&(CY(t,19).Bb&nwG)!=0)&&(r=Fy(t,u),a.Hc(r)||a.Fc(r));else if(!o)for(s=e.Kc();s.Ob();)r=Fy(t,u=s.Pb()),a.Fc(r)}else{if(e.gc()>1)throw new pN(nSg).e;for(c=0,h=nox(n.e.Dh(),t),i=CY(n.g,124);c<n.i;++c)if(r=i[c],h.am(r.Lk()))if(e.Hc(o?r:r.md()))return!1;else{for(s=e.Kc();s.Ob();)u=s.Pb(),CY(nnv(n,c,o?CY(u,76):Fy(t,u)),76);return!0}o||(r=Fy(t,e.Kc().Pb()),a.Fc(r))}return Nu(n,a)}(n.c,n.b,t)}function jM(n,t){return null!=n&&nnl(n,t)}function jE(n,t){return -1!=function(n,t){var e,i;for($A(t,"predicate"),i=0;n.Ob();i++)if(e=n.Pb(),t.Lb(e))return i;return -1}(n.Kc(),t)}function jT(n){return n.Ob()?n.Pb():null}function jj(n){this.b=($O(),new fH(n))}function jS(n){this.a=n,dc.call(this)}function jP(){SU.call(this,null,null)}function jO(){SG.call(this,null,null)}function jC(){vS.call(this,"INSTANCE",0)}function jI(){nep(),this.a=new noM(nI4)}function jA(n){return Za(n,0,n.length)}function jL(n,t){return null!=n.a.Bc(t)}function jN(n,t){nft(n),n.Gc(CY(t,15))}function jx(n,t){n.c&&(II(t),Dl(t))}function j$(n,t,e){return n.a[t.g][e.g]}function jD(n,t){return n.a[t.c.p][t.p]}function jR(n,t){return null!=n.a.Bc(t)}function jK(n,t){return n.a*t.a+n.b*t.b}function jF(n,t,e){n.a=1502^t,n.b=e^nw7}function j_(n,t){return n.a*=t,n.b*=t,n}function jB(n,t){return dk(n.c,t),!0}function jH(n,t,e){return NK(n.g,t,e),e}function jU(n,t,e){Ih.call(this,n,t,e)}function jG(n,t,e){jU.call(this,n,t,e)}function jq(n,t,e){If.call(this,n,t,e)}function jX(n,t,e){If.call(this,n,t,e)}function jz(n,t,e){jq.call(this,n,t,e)}function jV(n,t,e){jU.call(this,n,t,e)}function jW(n,t,e){jG.call(this,n,t,e)}function jQ(n,t,e){Ih.call(this,n,t,e)}function jJ(n,t,e){Ih.call(this,n,t,e)}function jY(n,t,e){jQ.call(this,n,t,e)}function jZ(n){n.j=BJ(nPA,nby,319,0,0,1)}function j1(){this.a=BJ(nPa,nl7,1,8,5,1)}function j0(){this.Bb|=256,this.Bb|=512}function j2(n){this.i=n,this.f=this.i.j}function j3(n){this.c=n,this.a=this.c.a}function j4(n,t){this.a=n,vx.call(this,t)}function j6(n,t){return function(n,t,e){try{var i=n,r=t,a=e;if(NP(r),a.Ob())for(EZ(r,xt(a.Pb()));a.Ob();)EZ(r,i.a),EZ(r,xt(a.Pb()))}catch(n){if(jM(n=Vt(n),606))throw new _N(n).e;throw n.e}return t}(n,new p2,t).a}function j5(n){if(!n)throw(new dN).e}function j8(n){if(!n)throw(new dx).e}function j9(){(j9=T)(),nCP=new F}function j7(){j7=T,yS(),n3e=new hG}function Sn(){Sn=T,nOY=new pm(null)}function St(n){n.a=CY(zA(n.b.a,4),129)}function Se(n){n.a=CY(zA(n.b.a,4),129)}function Si(n){n.b.Qb(),--n.d.f.d,Ak(n.d)}function Sr(n){this.a=n,fr.call(this,n.d)}function Sa(n,t){this.a=n,mn.call(this,t)}function Sc(n,t){this.a=n,mn.call(this,t)}function So(n,t){this.a=n,mn.call(this,t)}function Su(n,t){this.a=t,mn.call(this,n)}function Ss(n,t){this.a=t,FD.call(this,n)}function Sh(n,t){this.a=n,FD.call(this,t)}function Sf(n,t){this.a=t,v$.call(this,n)}function Sl(n,t){this.a=t,v$.call(this,n)}function Sb(n,t){return NP(t),new Sf(n,t)}function Sw(n,t){return new nrU(n.a,n.b,t)}function Sd(n,t,e){return n.indexOf(t,e)}function Sg(n,t){return n.lastIndexOf(t)}function Sp(n){return null==n?nbi:J2(n)}function Sm(n){fO.call(this,(xf(n),n))}function Sv(n){fO.call(this,(xf(n),n))}function Sy(n){h5.call(this,CY(NP(n),34))}function Sk(n){h5.call(this,CY(NP(n),34))}function SM(n){fW.call(this,new B6(n))}function SE(n){fF.call(this,n),this.a=n}function ST(n){fK.call(this,n),this.a=n}function Sj(n){p8.call(this,n),this.a=n}function SS(){jZ(this),$w(this),this.je()}function SP(n){this.a=n,fR.call(this,n)}function SO(n){return Px(null!=n.a),n.a}function SC(n,t){return jB(t.a,n.a),n.a}function SI(n,t){return jB(t.b,n.a),n.a}function SA(n,t){return jB(t.a,n.a),n.a}function SL(n,t,e){return zj(n,t,t,e),n}function SN(n,t){return++n.b,jB(n.a,t)}function Sx(n,t){return++n.b,H0(n.a,t)}function S$(n,t){return CY(_G(n.b,t),15)}function SD(n,t){return!!t&&n.b[t.g]==t}function SR(n){return jr(n.a)||jr(n.b)}function SK(n){return n.$H||(n.$H=++nCa)}function SF(){yc(),this.b=new l7(this)}function S_(){S_=T,nIF=new P5(ngn,0)}function SB(){SB=T,nOo=!1,nOu=!0}function SH(n){var t;t=n.a,n.a=n.b,n.b=t}function SU(n,t){yT(),this.a=n,this.b=t}function SG(n,t){yj(),this.b=n,this.c=t}function Sq(n,t){A_(),this.f=t,this.d=n}function SX(n,t){_z(t,n),this.d=n,this.c=t}function Sz(n,t){ZS.call(this,n,t,null)}function SV(n,t,e,i){Lu.call(this,n,t,e,i)}function SW(n){this.d=n,j2.call(this,n)}function SQ(n){this.c=n,j2.call(this,n)}function SJ(n){this.c=n,SW.call(this,n)}function SY(n){return qL(n,nbU),new Bf(n)}function SZ(n){return $_(),parseInt(n)||-1}function S1(n,t,e){return Sd(n,niT(t),e)}function S0(n,t){return new Oz(n,n.gc(),t)}function S2(n,t,e){n.fd(t).Rb(e)}function S3(n,t,e){CY(Uu(n,t),21).Fc(e)}function S4(n){jM(n,158)&&CY(n,158).pi()}function S6(n){C3.call(this,n,null,null)}function S5(n){vV(),this.b=n,this.a=!0}function S8(n){vW(),this.b=n,this.a=!0}function S9(n){return Px(0!=n.b),n.a.a.c}function S7(n){return Px(0!=n.b),n.c.b.c}function Pn(n,t){return!!n.q&&LR(n.q,t)}function Pt(n){return n.b=CY($g(n.a),44)}function Pe(n){return null!=n.f?n.f:""+n.g}function Pi(n,t){return CY(UC(n.a,t),34)}function Pr(n){n.d=new S6(n),n.e=new dc}function Pa(){this.a=new Ds,this.b=new Ds}function Pc(n){this.c=n,this.a=1,this.b=1}function Po(n){nlT(),this.b=new mt,this.Ff(n)}function Pu(n,t,e){return n.a+=t,n.b+=e,n}function Ps(n,t){return n.a=t.a,n.b=t.b,n}function Ph(n){return n.a=-n.a,n.b=-n.b,n}function Pf(n,t,e){return n.a-=t,n.b-=e,n}function Pl(n){vq.call(this),qC(this,n)}function Pb(){vS.call(this,"GROW_TREE",0)}function Pw(){vS.call(this,"POLYOMINO",0)}function Pd(n,t,e){Hs.call(this,n,t,e,2)}function Pg(n,t){yT(),SU.call(this,n,t)}function Pp(n,t){yj(),SG.call(this,n,t)}function Pm(n,t){yj(),Pp.call(this,n,t)}function Pv(n,t){yj(),SG.call(this,n,t)}function Py(n){this.c=n,GZ(n,0),G1(n,0)}function Pk(n,t){T5(),Ag.call(this,n,t)}function PM(n,t){T5(),Pk.call(this,n,t)}function PE(n,t){T5(),Pk.call(this,n,t)}function PT(n,t){T5(),Ag.call(this,n,t)}function Pj(n,t){T5(),PE.call(this,n,t)}function PS(n,t){T5(),PT.call(this,n,t)}function PP(n,t){T5(),Ag.call(this,n,t)}function PO(n,t){return Qk(n.e,CY(t,54))}function PC(n){return IV(null==n||EF(n)),n}function PI(n){return IV(null==n||E_(n)),n}function PA(n){return IV(null==n||EK(n)),n}function PL(n){null==n.o&&function(n){if(n.ze()){var t=n.c;t.Ae()?n.o="["+t.n:t.ze()?n.o="["+t.xe():n.o="[L"+t.xe()+";",n.b=t.we()+"[]",n.k=t.ye()+"[]";return}var e=n.j,i=n.d;n.o=Zn(".",[e,Zn("$",i=i.split("/"))]),n.b=Zn(".",[e,Zn(".",i)]),n.k=i[i.length-1]}(n)}function PN(n){if(!n)throw(new dN).e}function Px(n){if(!n)throw(new dF).e}function P$(n){if(!n)throw(new dx).e}function PD(n){if(!n)throw(new dR).e}function PR(){PR=T,n0O=new gS,new gP}function PK(){PK=T,nzA=new wX("root")}function PF(){qz.call(this),this.Bb|=nwG}function P_(n,t){this.d=n,this.c=this.d.d,this.b=t}function PB(n,t){B3.call(this,n),this.a=t}function PH(n,t){B3.call(this,n),this.a=t}function PU(n,t,e){Bc.call(this,n,t,e,null)}function PG(n,t,e){Bc.call(this,n,t,e,null)}function Pq(n,t){this.c=n,vg.call(this,n,t)}function PX(n,t){this.a=n,Pq.call(this,n,t)}function Pz(n){this.q=new nP_.Date(KI(n))}function PV(n){return CY(I0(n.a,n.b),294)}function PW(n){return new MH(n.c,n.d+n.a)}function PQ(n){return(xf(n),n)?1231:1237}function PJ(n){var t;return Rn(),(t=CY(n,203))==nGc||t==nGa}function PY(){PY=T,nIK=JP((YZ(),n1I))}function PZ(n,t,e){++n.j,n.tj(),BY(n,t,e)}function P1(n,t,e){++n.j,n.qj(t,n.Zi(t,e))}function P0(n,t){return $9(t,nd2),n.f=t,n}function P2(n,t){return(t&nl3)%n.d.length}function P3(n,t){this.c=n,Gk.call(this,t)}function P4(n,t){this.a=n,w1.call(this,t)}function P6(n,t){this.a=n,w1.call(this,t)}function P5(n,t){wX.call(this,n),this.a=t}function P8(n,t){w6.call(this,n),this.a=t}function P9(n,t){w6.call(this,n),this.a=t}function P7(n){YE.call(this,0,0),this.f=n}function On(n){return n.a||(n.a=new k),n.a}function Ot(n,t){var e;return e=n.e,n.e=t,e}function Oe(n,t){n.a.bd(n.b,t),++n.b,n.c=-1}function Oi(n){n.b?Oi(n.b):n.f.c.zc(n.e,n.d)}function Or(n){LH(n.e),n.d.b=n.d,n.d.a=n.d}function Oa(n,t,e){return LQ(n,CY(t,22),e)}function Oc(n,t){return Hk(Array(t),n)}function Oo(n){return String.fromCharCode(n)}function Ou(n,t,e,i){Ac.call(this,n,t,e,i)}function Os(){Oy.call(this),this.a=new mm}function Oh(){this.n=new mm,this.o=new mm}function Of(){this.b=new mm,this.c=new du}function Ol(){this.a=new du,this.b=new du}function Ob(){this.a=new tn,this.b=new dU}function Ow(){this.b=new FF,this.a=new FF}function Od(){this.b=new dV,this.a=new dV}function Og(){this.b=new dc,this.a=new dc}function Op(){this.b=new mG,this.a=new aS}function Om(){this.a=new hw,this.b=new rk}function Ov(){this.a=new du,this.d=new du}function Oy(){this.n=new gp,this.i=new TI}function Ok(n){this.a=(qL(n,nbU),new Bf(n))}function OM(n){this.a=(qL(n,nbU),new Bf(n))}function OE(n,t){return null==xM(n.a,t,"")}function OT(n,t){return n.a+=t.a,n.b+=t.b,n}function Oj(n,t){return n.a-=t.a,n.b-=t.b,n}function OS(n,t,e,i){Lk.call(this,n,t,e,i)}function OP(n,t,e,i){Lk.call(this,n,t,e,i)}function OO(n,t,e,i){OP.call(this,n,t,e,i)}function OC(n,t,e,i){LT.call(this,n,t,e,i)}function OI(n,t,e,i){LT.call(this,n,t,e,i)}function OA(n,t,e,i){LT.call(this,n,t,e,i)}function OL(n,t,e,i){OI.call(this,n,t,e,i)}function ON(n,t,e,i){OI.call(this,n,t,e,i)}function Ox(n,t,e,i){OA.call(this,n,t,e,i)}function O$(n,t,e,i){ON.call(this,n,t,e,i)}function OD(n,t,e,i){LI.call(this,n,t,e,i)}function OR(n,t){pC.call(this,njt+n+nTp+t)}function OK(n,t){return n.jk().wi().ri(n,t)}function OF(n,t){return n.jk().wi().ti(n,t)}function O_(n,t){return xf(n),ER(n)===ER(t)}function OB(n,t){return xf(n),ER(n)===ER(t)}function OH(n,t){return n.b.Bd(new yX(n,t))}function OU(n,t,e){return n.lastIndexOf(t,e)}function OG(n){return n.c?H6(n.c.a,n,0):-1}function Oq(n){return n==nZQ||n==nZY||n==nZJ}function OX(n,t){this.c=n,L0.call(this,n,t)}function Oz(n,t,e){this.a=n,SX.call(this,t,e)}function OV(n){this.c=n,E4.call(this,nbj,0)}function OW(n,t,e){this.c=t,this.b=e,this.a=n}function OQ(n){CT(),this.d=n,this.a=new j1}function OJ(n){Co(),this.a=($O(),new p8(n))}function OY(n,t){CZ.call(this,n,n.length,t)}function OZ(n,t){return jM(t,15)&&nup(n.c,t)}function O1(n,t,e){return CY(n.c,71).Xk(t,e)}function O0(n,t,e){var i;return i=CY(t,343),i.Al(n.e,n.c,e)}function O2(n,t,e){var i,r,a,c,o,u;return i=n,r=CY(t,343),a=e,c=r.Lk(),u=r.md(),o=c.Jk()?$6(i,4,c,u,null,nhv(i,c,u,jM(c,102)&&(CY(c,19).Bb&nwG)!=0),!0):$6(i,c.tk()?2:1,c,u,c.ik(),-1,!0),a?a.nj(o):a=o,a}function O3(n,t){return null==t?null:QH(n.b,t)}function O4(n){return E_(n)?(xf(n),n):n.ue()}function O6(n){return!isNaN(n)&&!isFinite(n)}function O5(n){jg(this),$p(this),Xx(this,n)}function O8(n){TQ(this),C6(this.c,0,n.Pc())}function O9(n,t,e){this.a=n,this.b=t,this.c=e}function O7(n,t,e){this.a=n,this.b=t,this.c=e}function Cn(n,t,e){this.d=n,this.b=e,this.a=t}function Ct(n){this.a=n,vX(),zF(Date.now())}function Ce(n){N6(n.a),BZ(n.c,n.b),n.b=null}function Ci(){Ci=T,nOQ=new R,nOJ=new K}function Cr(){Cr=T,n0P=BJ(nPa,nl7,1,0,5,1)}function Ca(){Ca=T,n2I=BJ(nPa,nl7,1,0,5,1)}function Cc(){Cc=T,n2A=BJ(nPa,nl7,1,0,5,1)}function Co(){Co=T,new dE(($O(),$O(),nO_))}function Cu(n,t){if(!n)throw new pN(t).e}function Cs(n){if(!n)throw new px(nbt).e}function Ch(n,t){if(n!=t)throw(new dR).e}function Cf(n,t,e){this.a=n,this.b=t,this.c=e}function Cl(n,t,e){this.a=n,this.b=t,this.c=e}function Cb(n,t,e){this.a=n,this.b=t,this.c=e}function Cw(n,t,e){this.b=n,this.a=t,this.c=e}function Cd(n,t,e){this.b=n,this.c=t,this.a=e}function Cg(n,t,e){this.a=n,this.b=t,this.c=e}function Cp(n,t,e){this.e=t,this.b=n,this.d=e}function Cm(n,t,e){this.b=n,this.a=t,this.c=e}function Cv(n){var t;return(t=new nv).e=n,t}function Cy(n){var t;return(t=new d7).b=n,t}function Ck(){Ck=T,n$N=new el,n$x=new eb}function CM(){CM=T,nDK=new e_,nDR=new eB}function CE(){CE=T,nDq=new iH,nDX=new iU}function CT(){CT=T,nf5(),nqw=n1y,nqd=n1n}function Cj(){Cj=T,n1X=new I_,n1z=new LS}function CS(n,t){this.c=n,this.a=t,this.b=t-n}function CP(n,t,e){this.a=n,this.b=t,this.c=e}function CO(n,t,e){this.a=n,this.b=t,this.c=e}function CC(n,t,e){this.a=n,this.b=t,this.c=e}function CI(n,t,e){this.a=n,this.b=t,this.c=e}function CA(n,t,e){this.a=n,this.b=t,this.c=e}function CL(n,t,e){this.a=n,this.b=t,this.c=e}function CN(n,t,e){this.e=n,this.a=t,this.c=e}function Cx(n,t,e){T5(),Df.call(this,n,t,e)}function C$(n,t,e){T5(),N0.call(this,n,t,e)}function CD(n,t,e){T5(),N0.call(this,n,t,e)}function CR(n,t,e){T5(),N0.call(this,n,t,e)}function CK(n,t,e){T5(),C$.call(this,n,t,e)}function CF(n,t,e){T5(),C$.call(this,n,t,e)}function C_(n,t,e){T5(),CF.call(this,n,t,e)}function CB(n,t,e){T5(),CD.call(this,n,t,e)}function CH(n,t,e){T5(),CR.call(this,n,t,e)}function CU(n){Ac.call(this,n.d,n.c,n.a,n.b)}function CG(n){Ac.call(this,n.d,n.c,n.a,n.b)}function Cq(n){var t;this.d=n,this.c=this.d.d,this.b=jM(t=n.d,15)?CY(t,15).ed():t.Kc()}function CX(n,t){return NP(n),NP(t),new vh(n,t)}function Cz(n,t){return NP(n),NP(t),new Iy(n,t)}function CV(n){return Px(0!=n.b),Gy(n,n.a.a)}function CW(n){var t;return UO(t=new du,n),t}function CQ(n){var t;return Xj(t=new dQ,n),t}function CJ(n){var t;return Xj(t=new vq,n),t}function CY(n,t){return IV(null==n||nnl(n,t)),n}function CZ(n,t,e){Li.call(this,t,e),this.a=n}function C1(n,t){this.c=n,this.b=t,this.a=!1}function C0(){this.a=";,;",this.b="",this.c=""}function C2(n,t,e){this.b=n,E2.call(this,t,e)}function C3(n,t,e){this.c=n,yH.call(this,t,e)}function C4(n,t,e){kp.call(this,n,t),this.b=e}function C6(n,t,e){naJ(e,0,n,t,e.length,!1)}function C5(n,t,e,i,r){n.b=t,n.c=e,n.d=i,n.a=r}function C8(n,t,e,i,r){n.d=t,n.c=e,n.a=i,n.b=r}function C9(n,t){if(!n)throw new pN(t).e}function C7(n,t){if(!n)throw new px(t).e}function In(n,t){if(!n)throw new pI(t).e}function It(n,t){return t&&N8(n,t.d)?t:null}function Ie(n){var t;return zC(js(~(t=Ty(n)?zB(n):n).l&nwO,~t.m&nwO,~t.h&nwC))}function Ii(n){return null!=n&&!J7(n,n0H,n0U)}function Ir(n,t,e,i,r){n.c=t,n.d=e,n.b=i,n.a=r}function Ia(n){var t,e;t=n.b,e=n.c,n.b=e,n.c=t}function Ic(n){var t,e;e=n.d,t=n.a,n.d=t,n.a=e}function Io(n,t){return t<0?n.g=-1:n.g=t,n}function Iu(n,t){var e,i;return e=n,(i=nP_.Math.sqrt(e.a*e.a+e.b*e.b))>0&&(e.a/=i,e.b/=i),n.a*=t,n.b*=t,n}function Is(n,t,e){Gm.call(this,t,e),this.d=n}function Ih(n,t,e){Ex.call(this,n,t),this.c=e}function If(n,t,e){Ex.call(this,n,t),this.c=e}function Il(n){Cc(),o1.call(this),this.ci(n)}function Ib(){Bu(),N3.call(this,(yM(),n2e))}function Iw(n){return nlU(),++n4c,new Ad(0,n)}function Id(){Id=T,$O(),n3r=new f_(nSw)}function Ig(){Ig=T,new nny((g1(),nPW),(gZ(),nPV))}function Ip(){Ip=T,nOb=BJ(nPO,nby,17,256,0,1)}function Im(){this.b=pj(PI(Z4((nsK(),nxb))))}function Iv(n){this.b=n,this.a=A1(this.b.a).Od()}function Iy(n,t){this.b=n,this.a=t,sZ.call(this)}function Ik(n,t){this.a=n,this.b=t,sZ.call(this)}function IM(n,t,e){this.a=n,Tu.call(this,t,e)}function IE(n,t,e){this.a=n,Tu.call(this,t,e)}function IT(n,t,e){U7(n,t,new NO(e))}function Ij(n,t,e){var i;return i=n[t],n[t]=e,i}function IS(n){return Hk(n.slice(),n)}function IP(n){var t;return t=n.n,n.a.b+t.d+t.a}function IO(n){var t;return t=n.n,n.e.b+t.d+t.a}function IC(n){var t;return t=n.n,n.e.a+t.b+t.c}function II(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function IA(n,t){return F_(n,t,n.c.b,n.c),!0}function IL(n,t){return neb(n,new kp(t.a,t.b))}function IN(n){return n.b.c.length-n.e.c.length}function Ix(n){return n.e.c.length-n.g.c.length}function I$(n){return n.e.c.length+n.g.c.length}function ID(n){return 0==n||isNaN(n)?n:n<0?-1:1}function IR(n,t,e,i){Zs.call(this,n,t,e,i,0,0)}function IK(n){Cc(),Il.call(this,n),this.a=-1}function IF(n,t){Li.call(this,t,1040),this.a=n}function I_(){M8.call(this,"COUNT_CHILDREN",0)}function IB(n,t){EL.call(this,n,t),this.a=this}function IH(n,t){var e;return(e=NS(n,t)).i=2,e}function IU(n,t){return++n.j,n.Cj(t)}function IG(n,t,e){return n.a=-1,S3(n,t.g,e),n}function Iq(n){return Gx(),BJ(nA9,ny3,40,n,0,1)}function IX(n){return n.e.Rd().gc()*n.c.Rd().gc()}function Iz(n,t,e){var i,r;return new OW((0>=(i=n)||0>(r=i-1)?new vJ:new PH(null,new _l(r+1,r)))._e(),e,t)}function IV(n){if(!n)throw new pL(null).e}function IW(n){if(n.c.e!=n.a)throw(new dR).e}function IQ(n){if(n.e.c!=n.b)throw(new dR).e}function IJ(n){for(NP(n);n.Ob();)n.Pb(),n.Qb()}function IY(n){NA(),this.a=($O(),new f_(NP(n)))}function IZ(n){this.c=n,this.b=this.c.d.vc().Kc()}function I1(n,t){return n.a+=Za(t,0,t.length),n}function I0(n,t){return RN(t,n.c.length),n.c[t]}function I2(n,t){return RN(t,n.a.length),n.a[t]}function I3(n,t,e,i,r,a){return function n(t,e,i,r,a,c,o){var u,s,h,f,l;if(f=a[c],l=ntf(u=(h=c==o-1)?r:0,f),10!=r&&Vw(DY(t,o-c),e[c],i[c],u,l),!h)for(++c,s=0;s<f;++s)l[s]=n(t,e,i,r,a,c,o);return l}(n,t,e,i,r,0,a)}function I4(n,t){var e,i;return e=CY(n,168),i=CY(t,168),ZE(JF(ZE(e.a).a,i.a))}function I6(){I6=T,nOd=BJ(nPC,nby,168,256,0,1)}function I5(){I5=T,nOy=BJ(nPI,nby,191,256,0,1)}function I8(){I8=T,nOh=BJ(nPT,nby,222,256,0,1)}function I9(){I9=T,nOl=BJ(nPj,nby,180,128,0,1)}function I7(){C5(this,!1,!1,!1,!1)}function An(n){fW.call(this,new FF),Xx(this,n)}function At(n){this.a=new vH(n.gc()),Xx(this,n)}function Ae(n){this.c=n,this.a=new vG(this.c.a)}function Ai(n){this.a=n,this.c=new dc,function(n){var t,e,i,r;for(e=n.a,i=0,r=e.length;i<r;++i)V2(n,t=e[i],(nf5(),n1m)),V2(n,t,n1t)}(this)}function Ar(){this.d=new MH(0,0),this.e=new dV}function Aa(n,t){vY(),B3.call(this,n),this.a=t}function Ac(n,t,e,i){C8(this,n,t,e,i)}function Ao(n,t,e){return nP_.Math.min(e/n,1/t)}function Au(n,t){return n?0:nP_.Math.max(0,t-1)}function As(n,t){return null==n?null==t:OB(n,t)}function Ah(n){return n.q?n.q:($O(),$O(),nOB)}function Af(n){return n.c-CY(I0(n.a,n.b),294).b}function Al(n){return n.c?n.c.f:n.e.b}function Ab(n){return n.c?n.c.g:n.e.a}function Aw(n,t){return nlU(),++n4c,new L5(n,t)}function Ad(n,t){nlU(),dr.call(this,n),this.a=t}function Ag(n,t){T5(),w5.call(this,t),this.a=n}function Ap(n,t,e){this.a=n,jU.call(this,t,e,2)}function Am(n){this.b=new vq,this.a=n,this.c=-1}function Av(n){SX.call(this,0,0),this.a=n,this.b=0}function Ay(n){Gk.call(this,n.gc()),Nu(this,n)}function Ak(n){n.b?Ak(n.b):n.d.dc()&&n.f.c.Bc(n.e)}function AM(n){return Array.isArray(n)&&n.Tm===E}function AE(n,t){return jM(t,22)&&SD(n,CY(t,22))}function AT(n,t){var e,i;return jM(t,22)&&(e=n,!!(i=CY(t,22))&&e.b[i.g]==i&&(NK(e.b,i.g,null),--e.c,!0))}function Aj(n,t){var e,i,r;return W2(n,t,(e=n,i=n.b.Ce(t),null==(r=e.a.get(i))?BJ(nPa,nl7,1,0,5,1):r))}function AS(n){return nc8(n,26)*nw8+nc8(n,27)*nw9}function AP(n,t){var e,i,r;return e=new Y,i=new f6(n),r=t,HZ(e,new f7(i),new nr,new ln(r),Vw(DY(nCi,1),nbG,108,0,[]))}function AO(n,t,e){WB(0,t,n.length),HM(n,0,t,e)}function AC(n,t,e){RL(t,n.c.length),kt(n.c,t,e)}function AI(n,t,e){var i;n&&((i=n.i).c=t,i.b=e)}function AA(n,t,e){var i;n&&((i=n.i).d=t,i.a=e)}function AL(n,t,e){var i;for(i=0;i<t;++i)n[i]=e}function AN(n,t){var e;return VW(e=JP(n),t),e}function Ax(n,t){OT(n.c,t),n.b.c+=t.a,n.b.d+=t.b}function A$(n,t){this.b=new vq,this.a=n,this.c=t}function AD(){this.b=new tb,this.c=new $Q(this)}function AR(){this.d=new ng,this.e=new $W(this)}function AK(){D8(),this.f=new vq,this.e=new vq}function AF(){Rn(),this.k=new dc,this.d=new dV}function A_(){A_=T,n15=new TZ((nl_(),nYm),0)}function AB(){AB=T,nPY=new Av(BJ(nPa,nl7,1,0,5,1))}function AH(n,t,e){this.a=n,jG.call(this,t,e,22)}function AU(n,t,e){this.a=n,jG.call(this,t,e,14)}function AG(n,t,e,i){T5(),Kr.call(this,n,t,e,i)}function Aq(n,t,e,i){T5(),Kr.call(this,n,t,e,i)}function AX(n,t,e){return n.a=-1,S3(n,t.g+1,e),n}function Az(n,t,e){return nsP(n,CY(t,54),7,e)}function AV(n,t,e){return nsP(n,CY(t,54),3,e)}function AW(n){return Ty(n)?0|n:mO(n)}function AQ(n){return nlU(),++n4c,new Dh(10,n,0)}function AJ(n){return n.f||(n.f=n.Dc())}function AY(n){return n.i||(n.i=n.bc())}function AZ(n){if(n.e.j!=n.d)throw(new dR).e}function A1(n){return n.c?n.c:n.c=n.Sd()}function A0(n){return n.d?n.d:n.d=n.Td()}function A2(n,t){return!function(n){var t,e;return n.b||(n.c=(e=n.e,!(t=n.a.qi(e.a))||!OB(nMI,YH((t.b||(t.b=new Pd((nlq(),n2S),n07,t)),t.b),"qualified"))),n.b=!0),n.c}(Ur(n,t))?null:t.zi()}function A3(n){return n.Qc(BJ(nPa,nl7,1,n.gc(),5,1))}function A4(n){return null!=n&&LB(n)&&n.Tm!==E}function A6(n){return!Array.isArray(n)&&n.Tm===E}function A5(n,t){return NP(t),n.a.Jd(t)&&!n.b.Jd(t)}function A8(n,t){return zC(ni9(Ty(n)?zB(n):n,t))}function A9(n,t){return zC(ncE(Ty(n)?zB(n):n,t))}function A7(n,t){var e,i,r,a,c,o;return zC((e=Ty(n)?zB(n):n,i=63&t,r=e.h&nwC,i<22?(o=r>>>i,c=e.m>>i|r<<22-i,a=e.l>>i|e.m<<22-i):i<44?(o=0,c=r>>>i-22,a=e.m>>i-22|e.h<<44-i):(o=0,c=0,a=r>>>i-44),js(a&nwO,c&nwO,o&nwC)))}function Ln(n,t){return Jj((xf(n),n),(xf(t),t))}function Lt(n){this.b=new Bf(11),this.a=($P(),n)}function Le(n){this.a=(AB(),nPY),this.d=CY(NP(n),51)}function Li(n,t){this.c=0,this.d=n,this.b=64|t|nbk}function Lr(n,t){this.e=n,this.d=(64&t)!=0?t|nbk:t}function La(n){this.b=null,this.a=($P(),n||nOG)}function Lc(n){jZ(this),this.g=n,$w(this),this.je()}function Lo(n){yO(),this.a=0,this.b=n-1,this.c=1}function Lu(n,t,e,i){this.a=n,Bc.call(this,n,t,e,i)}function Ls(n){n.d||(n.d=n.b.Kc(),n.c=n.b.gc())}function Lh(n,t){if(n<0||n>=t)throw(new gf).e}function Lf(n,t){return QW(n,(xf(t),new f2(t)))}function Ll(n,t){return QW(n,(xf(t),new f3(t)))}function Lb(n,t,e){return function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;if(i=t,u=e,n.b&&i.j==(nf5(),n1y)&&u.j==(nf5(),n1y)&&(m=i,i=u,u=m),LR(n.a,i)){if(vF(CY(NR(n.a,i),49),u))return 1}else xM(n.a,i,new dV);if(LR(n.a,u)){if(vF(CY(NR(n.a,u),49),i))return -1}else xM(n.a,u,new dV);if(LR(n.d,i)){if(vF(CY(NR(n.d,i),49),u))return -1}else xM(n.d,i,new dV);if(LR(n.d,u)){if(vF(CY(NR(n.a,u),49),i))return 1}else xM(n.d,u,new dV);if(i.j!=u.j)return v=i.j,y=u.j,-1==(p=jo(v.g,y.g))?nu3(n,u,i):nu3(n,i,u),p;if(0!=i.e.c.length&&0!=u.e.c.length){if(n.b&&0!=(p=W8(i,u)))return -1==p?nu3(n,u,i):1==p&&nu3(n,i,u),p;if((a=CY(I0(i.e,0),18).c.i)==(h=CY(I0(u.e,0),18).c.i))return(r=CY(niK(CY(I0(i.e,0),18),(nlF(),nK4)),17).a)>(s=CY(niK(CY(I0(u.e,0),18),nK4),17).a)?nu3(n,i,u):nu3(n,u,i),r<s?-1:+(r>s);for(w=n.c,d=0,g=w.length;d<g;++d){if((b=w[d])==a)return nu3(n,i,u),1;if(b==h)return nu3(n,u,i),-1}}if(0!=i.g.c.length&&0!=u.g.c.length)return(o=CY(niK(i,(nlF(),nK2)),10),l=CY(niK(u,nK2),10),n.e==(Zu(),nGI)&&o&&l&&Pn(o,nK4)&&Pn(l,nK4))?((r=CY(niK(o,nK4),17).a)>(s=CY(niK(l,nK4),17).a)?nu3(n,i,u):nu3(n,u,i),r<s?-1:+(r>s)):n.b&&0!=(p=W8(i,u))?(-1==p?nu3(n,u,i):1==p&&nu3(n,i,u),p):(c=0,f=0,Pn(CY(I0(i.g,0),18),nK4)&&(c=CY(niK(CY(I0(i.g,0),18),nK4),17).a),Pn(CY(I0(u.g,0),18),nK4)&&(f=CY(niK(CY(I0(i.g,0),18),nK4),17).a),o&&o==l)?pT(PC(niK(CY(I0(i.g,0),18),nFu)))&&!pT(PC(niK(CY(I0(u.g,0),18),nFu)))?(nu3(n,i,u),1):!pT(PC(niK(CY(I0(i.g,0),18),nFu)))&&pT(PC(niK(CY(I0(u.g,0),18),nFu)))?(nu3(n,u,i),-1):(c>f?nu3(n,i,u):nu3(n,u,i),c<f?-1:+(c>f)):(n.f&&(n.f._b(o)&&(c=CY(n.f.xc(o),17).a),n.f._b(l)&&(f=CY(n.f.xc(l),17).a)),c>f?nu3(n,i,u):nu3(n,u,i),c<f?-1:+(c>f));return 0!=i.e.c.length&&0!=u.g.c.length?(nu3(n,i,u),1):0!=i.g.c.length&&0!=u.e.c.length?(nu3(n,u,i),-1):Pn(i,(nlF(),nK4))&&Pn(u,nK4)?((r=CY(niK(i,nK4),17).a)>(s=CY(niK(u,nK4),17).a)?nu3(n,i,u):nu3(n,u,i),r<s?-1:+(r>s)):(nu3(n,u,i),-1)}(n,CY(t,12),CY(e,12))}function Lw(n){return X8(),0!=CY(n,12).g.c.length}function Ld(n){return X8(),0!=CY(n,12).e.c.length}function Lg(n,t,e){return nue(),za(n,t)&&za(n,e)}function Lp(n){return nap(),!n.Hc(nZ6)&&!n.Hc(nZ8)}function Lm(n){return Ty(n)?""+n:function n(t){var e,i,r,a;if(0==t.l&&0==t.m&&0==t.h)return"0";if(t.h==nwI&&0==t.m&&0==t.l)return"-9223372036854775808";if(t.h>>19!=0)return"-"+n(VL(t));for(i=t,r="";0!=i.l||0!=i.m||0!=i.h;){if(i=nfs(i,_R(nwN),!0),e=""+mO(nOe),0!=i.l||0!=i.m||0!=i.h)for(a=9-e.length;a>0;a--)e="0"+e;r=e+r}return r}(n)}function Lv(n){var t;for(t=n;t.f;)t=t.f;return t}function Ly(n,t,e,i){var r;(r=n.i).i=t,r.a=e,r.b=i}function Lk(n,t,e,i){jU.call(this,n,t,e),this.b=i}function LM(n,t,e,i,r){Hh.call(this,n,t,e,i,r,-1)}function LE(n,t,e,i,r){Hf.call(this,n,t,e,i,r,-1)}function LT(n,t,e,i){Ih.call(this,n,t,e),this.b=i}function Lj(n){EM.call(this,n,!1),this.a=!1}function LS(){M8.call(this,"LOOKAHEAD_LAYOUT",1)}function LP(n){this.b=n,SW.call(this,n),St(this)}function LO(n){this.b=n,SJ.call(this,n),Se(this)}function LC(n,t,e){this.a=n,OS.call(this,t,e,5,6)}function LI(n,t,e,i){this.b=n,jU.call(this,t,e,i)}function LA(n,t){this.b=n,fr.call(this,n.b),this.a=t}function LL(n){this.a=nng(n.a),this.b=new O8(n.b)}function LN(n,t){NA(),vC.call(this,n,QN(new pU(t)))}function Lx(n,t){return nlU(),++n4c,new N1(n,t,0)}function L$(n,t){return nlU(),++n4c,new N1(6,n,t)}function LD(n,t){for(xf(t);n.Ob();)t.Cd(n.Pb())}function LR(n,t){return EK(t)?$G(n,t):!!Aj(n.f,t)}function LK(n,t){return t.Vh()?Qk(n.b,CY(t,54)):t}function LF(n){return new Le(new Su(n.a.length,n.a))}function L_(n){return new MH(n.c+n.b/2,n.d+n.a/2)}function LB(n){return typeof n===nlY||typeof n===nl2}function LH(n){n.f=new Tj(n),n.i=new TS(n),++n.g}function LU(n){if(!n)throw(new dF).e;return n.d}function LG(n){var t;return Px(null!=(t=VJ(n))),t}function Lq(n,t){var e;return _z(t,e=n.a.gc()),e-t}function LX(n,t){return null==n.a.zc(t,n)}function Lz(n,t){return null==n.a.zc(t,(SB(),nOo))}function LV(n){var t,e;return new Aa(null,(t=n,function(n,t){if(0>n||n>t)throw new p6("fromIndex: 0, toIndex: "+n+ndi+t).e}(e=n.length,t.length),new IF(t,e)))}function LW(n,t,e){return function n(t,e,i){var r,a,c,o,u,s,h,f;return QY(i,t.b)||(t.b=i,c=new nW,o=CY(FB(xz(new Aa(null,new R$(i.f,16)),c),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCR),nCD]))),21),t.e=!0,t.f=!0,t.c=!0,t.d=!0,a=o.Hc((nno(),nIX)),r=o.Hc(nIz),a&&!r&&(t.f=!1),!a&&r&&(t.d=!1),a=o.Hc(nIq),r=o.Hc(nIV),a&&!r&&(t.c=!1),!a&&r&&(t.e=!1)),f=CY(t.a.Ve(e,i),42),s=CY(f.a,17).a,h=CY(f.b,17).a,u=!1,s<0?t.c||(u=!0):t.e||(u=!0),h<0?t.d||(u=!0):t.f||(u=!0),u?n(t,f,i):f}(n,CY(t,42),CY(e,176))}function LQ(n,t,e){return Xf(n.a,t),Ij(n.b,t.g,e)}function LJ(n,t,e,i){WB(t,e,n.length),function(n,t,e,i){var r;for(r=t;r<e;++r)n[r]=i}(n,t,e,i)}function LY(n,t){var e;for(e=0;e<t;++e)n[e]=!1}function LZ(n,t,e){nuY(),this.e=n,this.d=t,this.a=e}function L1(n,t,e){this.c=n,this.a=t,$O(),this.b=e}function L0(n,t){this.d=n,j2.call(this,n),this.e=t}function L2(n,t,e){return function(n,t,e){if(t<0)throw new pC(nME+t).e;t<n.j.c.length?_o(n.j,t,e):(Fo(n,t),jB(n.j,e))}(n,t.g,e),Xf(n.c,t),n}function L3(n){return n.j||(n.j=function(n,t){var e,i,r,a,c,o,u;if((e=t.qi(n.a))&&null!=(u=PA(YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),nSl)))){for(i=new du,a=ns7(u,"\\w"),c=0,o=a.length;c<o;++c)OB(r=a[c],"##other")?jB(i,"!##"+A2(n,GT(t.qk()))):OB(r,"##local")?i.c.push(null):OB(r,nSh)?jB(i,A2(n,GT(t.qk()))):dk(i.c,r);return i}return $O(),$O(),nO_}(n.g,n.b)),n.j}function L4(n){n.a=null,n.e=null,LH(n.b),n.d=0,++n.c}function L6(n){P$(-1!=n.b),_V(n.c,n.a=n.b),n.b=-1}function L5(n,t){dr.call(this,1),this.a=n,this.b=t}function L8(n,t){return 0>Qv(n,t)?-1:+(Qv(n,t)>0)}function L9(n,t){jN(n,jM(t,160)?t:CY(t,2036).Rl())}function L7(n,t){if(null==n)throw new pD(t).e}function Nn(n,t){return!!t&&Xx(n,t)}function Nt(n){return 0==n.e?n:new LZ(-n.e,n.d,n.a)}function Ne(n,t){F_(n.d,t,n.b.b,n.b),++n.a,n.c=null}function Ni(n,t,e){var i;for(i=0;i<t;++i)NK(n,i,e)}function Nr(n,t,e,i,r){for(;t<e;)i[r++]=xq(n,t++)}function Na(n,t,e,i,r){nim(n,CY(_G(t.k,e),15),e,i,r)}function Nc(n,t){vZ(xz(n.Oc(),new i9),new bu(t))}function No(n){return nP_.Math.abs(n.d.e-n.e.e)-n.a}function Nu(n,t){return n.Si()&&(t=DG(n,t)),n.Fi(t)}function Ns(n,t){return t=n.Yk(null,t),nip(n,null,t)}function Nh(n){var t;n?function n(t,e,i){var r,a,c,o,u,s,h;for(null==t.j&&($_(),t.j=function(n){var t;for(t=nP_.Math.min(n.length,5)-1;t>=0;t--)if(OB(n[t].d,"gA")||OB(n[t].d,"vz")){n.length>=t+1&&n.splice(0,t+1);break}return n}(nP6.me(t))),u=t.j,s=0,h=u.length;s<h;++s);for(null==t.k&&(t.k=BJ(nPp,nby,82,0,0,1)),r=t.k,a=0,c=r.length;a<c;++a)n(r[a],e," "+i);(o=t.f)&&n(o,e,i)}(n,(vX(),nOk),""):(t=(vX(),n))&&De(t,t.ie())}function Nf(n){this.d=(xf(n),n),this.a=0,this.c=nbj}function Nl(n,t){this.d=function(n){switch(n){case 0:return new gk;case 1:return new gv;case 2:return new gy;default:throw(new dN).e}}(n),this.c=t,this.a=.5*t}function Nb(n){$Z.call(this),this.a=n,jB(n.a,this)}function Nw(){FF.call(this),this.a=!0,this.b=!0}function Nd(){Nd=T,nP9=new fv(!1),nP7=new fv(!0)}function Ng(n){return n.g||(n.g=new hZ(n))}function Np(n){return n.k||(n.k=new h1(n))}function Nm(n){return n.k||(n.k=new h1(n))}function Nv(n){return n.f||(n.f=new Sr(n))}function Ny(n){return n.j||(n.j=new ff(n))}function Nk(n){return n.d||(n.d=new h8(n))}function NM(n,t,e){return nlU(),++n4c,new Rq(n,t,e)}function NE(n,t){return KO(t,n.c.b.c.gc()),new vs(n,t)}function NT(n,t){var e;return KO(t,e=n.a.gc()),e-1-t}function Nj(n,t,e){var i;return qi(e,i=NS(n,t)),i}function NS(n,t){var e;return(e=new VG).j=n,e.d=t,e}function NP(n){if(null==n)throw(new d$).e;return n}function NO(n){if(null==n)throw(new d$).e;this.a=n}function NC(n){dP(),this.b=new du,this.a=n,function(n,t){var e,i,r,a,c,o,u,s;for(a=0,e=new p3,c=!1;a<t.length;a++){if(Rx(a,t.length),32==(i=t.charCodeAt(a))){for(ZG(n,e,0),e.a+=" ",ZG(n,e,0);a+1<t.length&&(Rx(a+1,t.length),32==t.charCodeAt(a+1));)++a;continue}if(c){39==i?a+1<t.length&&(Rx(a+1,t.length),39==t.charCodeAt(a+1))?(e.a+=String.fromCharCode(i),++a):c=!1:e.a+=String.fromCharCode(i);continue}if(Tp("GyMLdkHmsSEcDahKzZv",niT(i))>0){ZG(n,e,0),e.a+=String.fromCharCode(i),ZG(n,e,r=function(n,t){var e,i;for(Rx(t,n.length),e=n.charCodeAt(t),i=t+1;i<n.length&&(Rx(i,n.length),n.charCodeAt(i)==e);)++i;return i-t}(t,a)),a+=r-1;continue}39==i?a+1<t.length&&(Rx(a+1,t.length),39==t.charCodeAt(a+1))?(e.a+="'",++a):c=!0:e.a+=String.fromCharCode(i)}for(ZG(n,e,0),u=0,o=!1,s=n.b.c.length;u<s;u++)V8(CY(I0(n.b,u),443))?!o&&u+1<s&&V8(CY(I0(n.b,u+1),443))&&(o=!0,CY(I0(n.b,u),443).a=!0):o=!1}(this,n)}function NI(n){this.b=n,this.a=CY(xh(this.b.a.e),227)}function NA(){NA=T,Co(),nPQ=new Dn(($O(),$O(),nO_))}function NL(){NL=T,Co(),nP0=new yN(($O(),$O(),nOH))}function NN(){var n,t,e,i,r,a,c,o,u,s,h,f;NN=T,yC(),n2c=n2W?CY(ncz((yM(),n2e),njz),2038):(Tf(nPl,new uY),Tf(n0W,new uj),Tf(n0X,new uD),Tf(n0J,new uz),Tf(n0Q,new uZ),Tf(n0Y,new u1),Tf(n0Z,new u0),Tf(n01,new u2),Tf(nL9,new u3),Tf(nL8,new ud),Tf(nL7,new ug),Tf(nLZ,new up),Tf(n02,new um),Tf(nNn,new uv),Tf(n03,new uy),Tf(n04,new uk),Tf(n0V,new uM),Tf(n0z,new uE),Tf(n07,new uT),Tf(n00,new uS),Tf(n06,new uP),Tf(nPE,new uO),Tf(DY(n4l,1),new uC),Tf(nPT,new uI),Tf(nPj,new uA),Tf(nPM,new uL),Tf(n4p,new uN),Tf(nPS,new ux),Tf(nNu,new u$),Tf(nNd,new uR),Tf(n2J,new uK),Tf(n08,new uF),Tf(nPP,new u_),Tf(nPO,new uB),Tf(nPc,new uH),Tf(nPC,new uU),Tf(nPu,new uG),Tf(n2Q,new uq),Tf(n4m,new uX),Tf(nPI,new uV),Tf(nPL,new uW),Tf(nNh,new uQ),Tf(n4v,new uJ),n=CY(jM(Db((yM(),n2e),njz),560)?Db(n2e,njz):new xv,560),n2W=!0,(t=n).gb||(t.gb=!0,t.b=zL(t,0),XL(t.b,18),XN(t.b,19),t.a=zL(t,1),XL(t.a,1),XN(t.a,2),XN(t.a,3),XN(t.a,4),XN(t.a,5),t.o=zL(t,2),XL(t.o,8),XL(t.o,9),XN(t.o,10),XN(t.o,11),XN(t.o,12),XN(t.o,13),XN(t.o,14),XN(t.o,15),XN(t.o,16),XN(t.o,17),XN(t.o,18),XN(t.o,19),XN(t.o,20),XN(t.o,21),XN(t.o,22),XN(t.o,23),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),Ge(t.o),t.p=zL(t,3),XL(t.p,2),XL(t.p,3),XL(t.p,4),XL(t.p,5),XN(t.p,6),XN(t.p,7),Ge(t.p),Ge(t.p),t.q=zL(t,4),XL(t.q,8),t.v=zL(t,5),XN(t.v,9),Ge(t.v),Ge(t.v),Ge(t.v),t.w=zL(t,6),XL(t.w,2),XL(t.w,3),XL(t.w,4),XN(t.w,5),t.B=zL(t,7),XN(t.B,1),Ge(t.B),Ge(t.B),Ge(t.B),t.Q=zL(t,8),XN(t.Q,0),Ge(t.Q),t.R=zL(t,9),XL(t.R,1),t.S=zL(t,10),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),Ge(t.S),t.T=zL(t,11),XN(t.T,10),XN(t.T,11),XN(t.T,12),XN(t.T,13),XN(t.T,14),Ge(t.T),Ge(t.T),t.U=zL(t,12),XL(t.U,2),XL(t.U,3),XN(t.U,4),XN(t.U,5),XN(t.U,6),XN(t.U,7),Ge(t.U),t.V=zL(t,13),XN(t.V,10),t.W=zL(t,14),XL(t.W,18),XL(t.W,19),XL(t.W,20),XN(t.W,21),XN(t.W,22),XN(t.W,23),t.bb=zL(t,15),XL(t.bb,10),XL(t.bb,11),XL(t.bb,12),XL(t.bb,13),XL(t.bb,14),XL(t.bb,15),XL(t.bb,16),XN(t.bb,17),Ge(t.bb),Ge(t.bb),t.eb=zL(t,16),XL(t.eb,2),XL(t.eb,3),XL(t.eb,4),XL(t.eb,5),XL(t.eb,6),XL(t.eb,7),XN(t.eb,8),XN(t.eb,9),t.ab=zL(t,17),XL(t.ab,0),XL(t.ab,1),t.H=zL(t,18),XN(t.H,0),XN(t.H,1),XN(t.H,2),XN(t.H,3),XN(t.H,4),XN(t.H,5),Ge(t.H),t.db=zL(t,19),XN(t.db,2),t.c=zN(t,20),t.d=zN(t,21),t.e=zN(t,22),t.f=zN(t,23),t.i=zN(t,24),t.g=zN(t,25),t.j=zN(t,26),t.k=zN(t,27),t.n=zN(t,28),t.r=zN(t,29),t.s=zN(t,30),t.t=zN(t,31),t.u=zN(t,32),t.fb=zN(t,33),t.A=zN(t,34),t.C=zN(t,35),t.D=zN(t,36),t.F=zN(t,37),t.G=zN(t,38),t.I=zN(t,39),t.J=zN(t,40),t.L=zN(t,41),t.M=zN(t,42),t.N=zN(t,43),t.O=zN(t,44),t.P=zN(t,45),t.X=zN(t,46),t.Y=zN(t,47),t.Z=zN(t,48),t.$=zN(t,49),t._=zN(t,50),t.cb=zN(t,51),t.K=zN(t,52)),(e=n).hb||(e.hb=!0,XC(e,"ecore"),XI(e,"ecore"),XA(e,njz),z8(e.fb,"E"),z8(e.L,"T"),z8(e.P,"K"),z8(e.P,"V"),z8(e.cb,"E"),B7($7(e.b),e.bb),B7($7(e.a),e.Q),B7($7(e.o),e.p),B7($7(e.p),e.R),B7($7(e.q),e.p),B7($7(e.v),e.q),B7($7(e.w),e.R),B7($7(e.B),e.Q),B7($7(e.R),e.Q),B7($7(e.T),e.eb),B7($7(e.U),e.R),B7($7(e.V),e.eb),B7($7(e.W),e.bb),B7($7(e.bb),e.eb),B7($7(e.eb),e.R),B7($7(e.db),e.R),Kd(e.b,n0W,njf,!1,!1,!0),XW(CY(GO($x(e.b),0),35),e.e,"iD",null,0,1,n0W,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.b),1),19),e.q,null,"eAttributeType",1,1,n0W,!0,!0,!1,!1,!0,!1,!0),Kd(e.a,n0X,nju,!1,!1,!0),XW(CY(GO($x(e.a),0),35),e._,nEU,null,0,1,n0X,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.a),1),19),e.ab,null,"details",0,-1,n0X,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.a),2),19),e.Q,CY(GO($x(e.Q),0),19),"eModelElement",0,1,n0X,!0,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.a),3),19),e.S,null,"contents",0,-1,n0X,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.a),4),19),e.S,null,"references",0,-1,n0X,!1,!1,!0,!1,!0,!1,!1),Kd(e.o,n0J,"EClass",!1,!1,!0),XW(CY(GO($x(e.o),0),35),e.e,"abstract",null,0,1,n0J,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.o),1),35),e.e,"interface",null,0,1,n0J,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.o),2),19),e.o,null,"eSuperTypes",0,-1,n0J,!1,!1,!0,!1,!0,!0,!1),ntN(CY(GO($x(e.o),3),19),e.T,CY(GO($x(e.T),0),19),"eOperations",0,-1,n0J,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.o),4),19),e.b,null,"eAllAttributes",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),5),19),e.W,null,"eAllReferences",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),6),19),e.W,null,"eReferences",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),7),19),e.b,null,"eAttributes",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),8),19),e.W,null,"eAllContainments",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),9),19),e.T,null,"eAllOperations",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),10),19),e.bb,null,"eAllStructuralFeatures",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),11),19),e.o,null,"eAllSuperTypes",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.o),12),19),e.b,null,"eIDAttribute",0,1,n0J,!0,!0,!1,!1,!1,!1,!0),ntN(CY(GO($x(e.o),13),19),e.bb,CY(GO($x(e.bb),7),19),"eStructuralFeatures",0,-1,n0J,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.o),14),19),e.H,null,"eGenericSuperTypes",0,-1,n0J,!1,!1,!0,!0,!1,!0,!1),ntN(CY(GO($x(e.o),15),19),e.H,null,"eAllGenericSuperTypes",0,-1,n0J,!0,!0,!1,!1,!0,!1,!0),nt$(s=qT(CY(GO($N(e.o),0),62),e.e,"isSuperTypeOf"),e.o,"someClass"),qT(CY(GO($N(e.o),1),62),e.I,"getFeatureCount"),nt$(s=qT(CY(GO($N(e.o),2),62),e.bb,njQ),e.I,"featureID"),nt$(s=qT(CY(GO($N(e.o),3),62),e.I,njJ),e.bb,njY),nt$(s=qT(CY(GO($N(e.o),4),62),e.bb,njQ),e._,"featureName"),qT(CY(GO($N(e.o),5),62),e.I,"getOperationCount"),nt$(s=qT(CY(GO($N(e.o),6),62),e.T,"getEOperation"),e.I,"operationID"),nt$(s=qT(CY(GO($N(e.o),7),62),e.I,njZ),e.T,nj1),nt$(s=qT(CY(GO($N(e.o),8),62),e.T,"getOverride"),e.T,nj1),nt$(s=qT(CY(GO($N(e.o),9),62),e.H,"getFeatureType"),e.bb,njY),Kd(e.p,n0Q,njl,!0,!1,!0),XW(CY(GO($x(e.p),0),35),e._,"instanceClassName",null,0,1,n0Q,!1,!0,!0,!0,!0,!1),i=$h(e.L),r=K$(),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),ncn(CY(GO($x(e.p),1),35),i,"instanceClass",n0Q,!0,!0,!1,!0),XW(CY(GO($x(e.p),2),35),e.M,nj0,null,0,1,n0Q,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.p),3),35),e._,"instanceTypeName",null,0,1,n0Q,!1,!0,!0,!0,!0,!1),ntN(CY(GO($x(e.p),4),19),e.U,CY(GO($x(e.U),3),19),"ePackage",0,1,n0Q,!0,!1,!1,!1,!0,!1,!1),ntN(CY(GO($x(e.p),5),19),e.db,null,nj2,0,-1,n0Q,!1,!1,!0,!0,!0,!1,!1),nt$(s=qT(CY(GO($N(e.p),0),62),e.e,nj3),e.M,nlY),qT(CY(GO($N(e.p),1),62),e.I,"getClassifierID"),Kd(e.q,n0Y,"EDataType",!1,!1,!0),XW(CY(GO($x(e.q),0),35),e.e,"serializable",nMC,0,1,n0Y,!1,!1,!0,!1,!0,!1),Kd(e.v,n0Z,"EEnum",!1,!1,!0),ntN(CY(GO($x(e.v),0),19),e.w,CY(GO($x(e.w),3),19),"eLiterals",0,-1,n0Z,!1,!1,!0,!0,!1,!1,!1),nt$(s=qT(CY(GO($N(e.v),0),62),e.w,nj4),e._,nTh),nt$(s=qT(CY(GO($N(e.v),1),62),e.w,nj4),e.I,nEH),nt$(s=qT(CY(GO($N(e.v),2),62),e.w,"getEEnumLiteralByLiteral"),e._,"literal"),Kd(e.w,n01,njb,!1,!1,!0),XW(CY(GO($x(e.w),0),35),e.I,nEH,null,0,1,n01,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.w),1),35),e.A,"instance",null,0,1,n01,!0,!1,!0,!1,!0,!1),XW(CY(GO($x(e.w),2),35),e._,"literal",null,0,1,n01,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.w),3),19),e.v,CY(GO($x(e.v),0),19),"eEnum",0,1,n01,!0,!1,!1,!1,!1,!1,!1),Kd(e.B,nL9,"EFactory",!1,!1,!0),ntN(CY(GO($x(e.B),0),19),e.U,CY(GO($x(e.U),2),19),"ePackage",1,1,nL9,!0,!1,!0,!1,!1,!1,!1),nt$(s=qT(CY(GO($N(e.B),0),62),e.S,"create"),e.o,"eClass"),nt$(s=qT(CY(GO($N(e.B),1),62),e.M,"createFromString"),e.q,"eDataType"),nt$(s,e._,"literalValue"),nt$(s=qT(CY(GO($N(e.B),2),62),e._,"convertToString"),e.q,"eDataType"),nt$(s,e.M,"instanceValue"),Kd(e.Q,nL8,nEp,!0,!1,!0),ntN(CY(GO($x(e.Q),0),19),e.a,CY(GO($x(e.a),2),19),"eAnnotations",0,-1,nL8,!1,!1,!0,!0,!1,!1,!1),nt$(s=qT(CY(GO($N(e.Q),0),62),e.a,"getEAnnotation"),e._,nEU),Kd(e.R,nL7,nEm,!0,!1,!0),XW(CY(GO($x(e.R),0),35),e._,nTh,null,0,1,nL7,!1,!1,!0,!1,!0,!1),Kd(e.S,nLZ,"EObject",!1,!1,!0),qT(CY(GO($N(e.S),0),62),e.o,"eClass"),qT(CY(GO($N(e.S),1),62),e.e,"eIsProxy"),qT(CY(GO($N(e.S),2),62),e.X,"eResource"),qT(CY(GO($N(e.S),3),62),e.S,"eContainer"),qT(CY(GO($N(e.S),4),62),e.bb,"eContainingFeature"),qT(CY(GO($N(e.S),5),62),e.W,"eContainmentFeature"),s=qT(CY(GO($N(e.S),6),62),null,"eContents"),i=$h(e.fb),r=$h(e.S),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),(c=niM(s,i,null))&&c.oj(),s=qT(CY(GO($N(e.S),7),62),null,"eAllContents"),i=$h(e.cb),r=$h(e.S),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),(o=niM(s,i,null))&&o.oj(),s=qT(CY(GO($N(e.S),8),62),null,"eCrossReferences"),i=$h(e.fb),r=$h(e.S),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),(u=niM(s,i,null))&&u.oj(),nt$(s=qT(CY(GO($N(e.S),9),62),e.M,"eGet"),e.bb,njY),nt$(s=qT(CY(GO($N(e.S),10),62),e.M,"eGet"),e.bb,njY),nt$(s,e.e,"resolve"),nt$(s=qT(CY(GO($N(e.S),11),62),null,"eSet"),e.bb,njY),nt$(s,e.M,"newValue"),nt$(s=qT(CY(GO($N(e.S),12),62),e.e,"eIsSet"),e.bb,njY),nt$(s=qT(CY(GO($N(e.S),13),62),null,"eUnset"),e.bb,njY),nt$(s=qT(CY(GO($N(e.S),14),62),e.M,"eInvoke"),e.T,nj1),i=$h(e.fb),r=K$(),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),ne_(s,i,"arguments"),h=s,f=e.K,B7((h.a||(h.a=new P6(h,h)),h.a),f),Kd(e.T,n02,njd,!1,!1,!0),ntN(CY(GO($x(e.T),0),19),e.o,CY(GO($x(e.o),3),19),nj6,0,1,n02,!0,!1,!1,!1,!1,!1,!1),ntN(CY(GO($x(e.T),1),19),e.db,null,nj2,0,-1,n02,!1,!1,!0,!0,!0,!1,!1),ntN(CY(GO($x(e.T),2),19),e.V,CY(GO($x(e.V),0),19),"eParameters",0,-1,n02,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.T),3),19),e.p,null,"eExceptions",0,-1,n02,!1,!1,!0,!1,!0,!0,!1),ntN(CY(GO($x(e.T),4),19),e.H,null,"eGenericExceptions",0,-1,n02,!1,!1,!0,!0,!1,!0,!1),qT(CY(GO($N(e.T),0),62),e.I,njZ),nt$(s=qT(CY(GO($N(e.T),1),62),e.e,"isOverrideOf"),e.T,"someOperation"),Kd(e.U,nNn,"EPackage",!1,!1,!0),XW(CY(GO($x(e.U),0),35),e._,"nsURI",null,0,1,nNn,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.U),1),35),e._,"nsPrefix",null,0,1,nNn,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.U),2),19),e.B,CY(GO($x(e.B),0),19),"eFactoryInstance",1,1,nNn,!0,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.U),3),19),e.p,CY(GO($x(e.p),4),19),"eClassifiers",0,-1,nNn,!1,!1,!0,!0,!0,!1,!1),ntN(CY(GO($x(e.U),4),19),e.U,CY(GO($x(e.U),5),19),"eSubpackages",0,-1,nNn,!1,!1,!0,!0,!0,!1,!1),ntN(CY(GO($x(e.U),5),19),e.U,CY(GO($x(e.U),4),19),"eSuperPackage",0,1,nNn,!0,!1,!1,!1,!0,!1,!1),nt$(s=qT(CY(GO($N(e.U),0),62),e.p,"getEClassifier"),e._,nTh),Kd(e.V,n03,njg,!1,!1,!0),ntN(CY(GO($x(e.V),0),19),e.T,CY(GO($x(e.T),2),19),"eOperation",0,1,n03,!0,!1,!1,!1,!1,!1,!1),Kd(e.W,n04,njp,!1,!1,!0),XW(CY(GO($x(e.W),0),35),e.e,"containment",null,0,1,n04,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.W),1),35),e.e,"container",null,0,1,n04,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.W),2),35),e.e,"resolveProxies",nMC,0,1,n04,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.W),3),19),e.W,null,"eOpposite",0,1,n04,!1,!1,!0,!1,!0,!1,!1),ntN(CY(GO($x(e.W),4),19),e.o,null,"eReferenceType",1,1,n04,!0,!0,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.W),5),19),e.b,null,"eKeys",0,-1,n04,!1,!1,!0,!1,!0,!1,!1),Kd(e.bb,n0V,njh,!0,!1,!0),XW(CY(GO($x(e.bb),0),35),e.e,"changeable",nMC,0,1,n0V,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),1),35),e.e,"volatile",null,0,1,n0V,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),2),35),e.e,"transient",null,0,1,n0V,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),3),35),e._,"defaultValueLiteral",null,0,1,n0V,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),4),35),e.M,nj0,null,0,1,n0V,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.bb),5),35),e.e,"unsettable",null,0,1,n0V,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.bb),6),35),e.e,"derived",null,0,1,n0V,!1,!1,!0,!1,!0,!1),ntN(CY(GO($x(e.bb),7),19),e.o,CY(GO($x(e.o),13),19),nj6,0,1,n0V,!0,!1,!1,!1,!1,!1,!1),qT(CY(GO($N(e.bb),0),62),e.I,njJ),s=qT(CY(GO($N(e.bb),1),62),null,"getContainerClass"),i=$h(e.L),r=K$(),B7((i.d||(i.d=new jU(n00,i,1)),i.d),r),(a=niM(s,i,null))&&a.oj(),Kd(e.eb,n0z,njs,!0,!1,!0),XW(CY(GO($x(e.eb),0),35),e.e,"ordered",nMC,0,1,n0z,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.eb),1),35),e.e,"unique",nMC,0,1,n0z,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.eb),2),35),e.I,"lowerBound",null,0,1,n0z,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.eb),3),35),e.I,"upperBound","1",0,1,n0z,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.eb),4),35),e.e,"many",null,0,1,n0z,!0,!0,!1,!1,!0,!0),XW(CY(GO($x(e.eb),5),35),e.e,"required",null,0,1,n0z,!0,!0,!1,!1,!0,!0),ntN(CY(GO($x(e.eb),6),19),e.p,null,"eType",0,1,n0z,!1,!0,!0,!1,!0,!0,!1),ntN(CY(GO($x(e.eb),7),19),e.H,null,"eGenericType",0,1,n0z,!1,!0,!0,!0,!1,!0,!1),Kd(e.ab,nPl,"EStringToStringMapEntry",!1,!1,!1),XW(CY(GO($x(e.ab),0),35),e._,"key",null,0,1,nPl,!1,!1,!0,!1,!0,!1),XW(CY(GO($x(e.ab),1),35),e._,nEH,null,0,1,nPl,!1,!1,!0,!1,!0,!1),Kd(e.H,n00,njw,!1,!1,!0),ntN(CY(GO($x(e.H),0),19),e.H,null,"eUpperBound",0,1,n00,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.H),1),19),e.H,null,"eTypeArguments",0,-1,n00,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.H),2),19),e.p,null,"eRawType",1,1,n00,!0,!1,!1,!1,!0,!1,!0),ntN(CY(GO($x(e.H),3),19),e.H,null,"eLowerBound",0,1,n00,!1,!1,!0,!0,!1,!1,!1),ntN(CY(GO($x(e.H),4),19),e.db,null,"eTypeParameter",0,1,n00,!1,!1,!0,!1,!1,!1,!1),ntN(CY(GO($x(e.H),5),19),e.p,null,"eClassifier",0,1,n00,!1,!1,!0,!1,!0,!1,!1),nt$(s=qT(CY(GO($N(e.H),0),62),e.e,nj3),e.M,nlY),Kd(e.db,n06,njm,!1,!1,!0),ntN(CY(GO($x(e.db),0),19),e.H,null,"eBounds",0,-1,n06,!1,!1,!0,!0,!1,!1,!1),x_(e.c,nPN,"EBigDecimal",!0),x_(e.d,nPx,"EBigInteger",!0),x_(e.e,n4h,"EBoolean",!0),x_(e.f,nPE,"EBooleanObject",!0),x_(e.i,n4l,"EByte",!0),x_(e.g,DY(n4l,1),"EByteArray",!0),x_(e.j,nPT,"EByteObject",!0),x_(e.k,n4u,"EChar",!0),x_(e.n,nPj,"ECharacterObject",!0),x_(e.r,nPM,"EDate",!0),x_(e.s,n4p,"EDiagnosticChain",!1),x_(e.t,n4b,"EDouble",!0),x_(e.u,nPS,"EDoubleObject",!0),x_(e.fb,nNu,"EEList",!1),x_(e.A,nNd,"EEnumerator",!1),x_(e.C,n2J,"EFeatureMap",!1),x_(e.D,n08,"EFeatureMapEntry",!1),x_(e.F,n4w,"EFloat",!0),x_(e.G,nPP,"EFloatObject",!0),x_(e.I,n4s,"EInt",!0),x_(e.J,nPO,"EIntegerObject",!0),x_(e.L,nPc,"EJavaClass",!0),x_(e.M,nPa,"EJavaObject",!0),x_(e.N,n4f,"ELong",!0),x_(e.O,nPC,"ELongObject",!0),x_(e.P,nPu,"EMap",!1),x_(e.X,n2Q,"EResource",!1),x_(e.Y,n4m,"EResourceSet",!1),x_(e.Z,n4d,"EShort",!0),x_(e.$,nPI,"EShortObject",!0),x_(e._,nPL,"EString",!0),x_(e.cb,nNh,"ETreeIterator",!1),x_(e.K,n4v,"EInvocationTargetException",!1),Ql(e,njz)),xM((yp(),n2r),n,new uw),Rr(n2e,njz,n),n),nlq(),n2u&&function(){var n,t,e;for(yC(),ncY((t=(NN(),n2c)).c,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#decimal"])),ncY(t.d,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#integer"])),ncY(t.e,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#boolean"])),ncY(t.f,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EBoolean",nTh,"EBoolean:Object"])),ncY(t.i,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#byte"])),ncY(t.g,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#hexBinary"])),ncY(t.j,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EByte",nTh,"EByte:Object"])),ncY(t.n,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EChar",nTh,"EChar:Object"])),ncY(t.t,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#double"])),ncY(t.u,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EDouble",nTh,"EDouble:Object"])),ncY(t.F,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#float"])),ncY(t.G,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EFloat",nTh,"EFloat:Object"])),ncY(t.I,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#int"])),ncY(t.J,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EInt",nTh,"EInt:Object"])),ncY(t.N,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#long"])),ncY(t.O,njK,Vw(DY(nPL,1),nby,2,6,[njW,"ELong",nTh,"ELong:Object"])),ncY(t.Z,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#short"])),ncY(t.$,njK,Vw(DY(nPL,1),nby,2,6,[njW,"EShort",nTh,"EShort:Object"])),ncY(t._,njK,Vw(DY(nPL,1),nby,2,6,[njW,"http://www.w3.org/2001/XMLSchema#string"])),ncY((e=n2c).b,njz,Vw(DY(nPL,1),nby,2,6,[njV,"ConsistentTransient"])),ncY(e.a,njz,Vw(DY(nPL,1),nby,2,6,[njV,"WellFormedSourceURI"])),ncY(e.o,njz,Vw(DY(nPL,1),nby,2,6,[njV,"InterfaceIsAbstract AtMostOneID UniqueFeatureNames UniqueOperationSignatures NoCircularSuperTypes WellFormedMapEntryClass ConsistentSuperTypes DisjointFeatureAndOperationSignatures"])),ncY(e.p,njz,Vw(DY(nPL,1),nby,2,6,[njV,"WellFormedInstanceTypeName UniqueTypeParameterNames"])),ncY(e.v,njz,Vw(DY(nPL,1),nby,2,6,[njV,"UniqueEnumeratorNames UniqueEnumeratorLiterals"])),ncY(e.R,njz,Vw(DY(nPL,1),nby,2,6,[njV,"WellFormedName"])),ncY(e.T,njz,Vw(DY(nPL,1),nby,2,6,[njV,"UniqueParameterNames UniqueTypeParameterNames NoRepeatingVoid"])),ncY(e.U,njz,Vw(DY(nPL,1),nby,2,6,[njV,"WellFormedNsURI WellFormedNsPrefix UniqueSubpackageNames UniqueClassifierNames UniqueNsURIs"])),ncY(e.W,njz,Vw(DY(nPL,1),nby,2,6,[njV,"ConsistentOpposite SingleContainer ConsistentKeys ConsistentUnique ConsistentContainer"])),ncY(e.bb,njz,Vw(DY(nPL,1),nby,2,6,[njV,"ValidDefaultValueLiteral"])),ncY(e.eb,njz,Vw(DY(nPL,1),nby,2,6,[njV,"ValidLowerBound ValidUpperBound ConsistentBounds ValidType"])),ncY(e.H,njz,Vw(DY(nPL,1),nby,2,6,[njV,"ConsistentType ConsistentBounds ConsistentArguments"])),ntL(n2c),nlq(),n2$=n2p,n=new fU(n2V);n.a<n.c.c.length;)nfH(CY(RU(n),248),n2p,null)}()}function Nx(n){n.s=NaN,n.c=NaN,ncc(n,n.e),ncc(n,n.j)}function N$(n){return(null==n.i&&nhr(n),n.i).length}function ND(n,t){return CY(A1(n.a).Md().Xb(t),44).ld()}function NR(n,t){return EK(t)?Db(n,t):ED(Aj(n.f,t))}function NK(n,t,e){if(!(null==e||function(n,t){var e;switch(UR(n)){case 6:return EK(t);case 7:return E_(t);case 8:return EF(t);case 3:return Array.isArray(t)&&!((e=UR(t))>=14&&e<=16);case 11:return null!=t&&typeof t===nl2;case 12:return null!=t&&(typeof t===nlY||typeof t==nl2);case 0:return nnl(t,n.__elementTypeId$);case 2:return LB(t)&&t.Tm!==E;case 1:return LB(t)&&t.Tm!==E||nnl(t,n.__elementTypeId$);default:return!0}}(n,e)))throw(new dA).e;return n[t]=e}function NF(n,t){return Rx(t,n.length+1),n.substr(t)}function N_(n,t){for(xf(t);n.c<n.d;)n.Se(t,n.c++)}function NB(n){this.d=n,this.c=n.a.d.a,this.b=n.a.e.g}function NH(n){this.c=n,this.a=new vq,this.b=new vq}function NU(n){this.c=new mm,this.a=new du,this.b=n}function NG(n){this.b=new du,this.a=new du,this.c=n}function Nq(n,t){var e;e=n.a.length,UA(n,e),FO(n,e,t)}function NX(n,t){console[n].call(console,t)}function Nz(n,t){var e;++n.j,e=n.Ej(),n.rj(n.Zi(e,t))}function NV(n,t,e){var i;return i=Xp(n,t,e),nuF(n,i)}function NW(n){return n.d||(n.d=new jU(n00,n,1)),n.d}function NQ(n,t){return n.a+=String.fromCharCode(t),n}function NJ(n,t){return n.a+=String.fromCharCode(t),n}function NY(n,t,e){this.a=n,w6.call(this,t),this.b=e}function NZ(n,t,e){this.a=n,KJ.call(this,8,t,null,e)}function N1(n,t,e){dr.call(this,n),this.a=t,this.b=e}function N0(n,t,e){w5.call(this,t),this.a=n,this.b=e}function N2(n){this.c=n,this.b=this.c.a,this.a=this.c.e}function N3(n){this.a=(xf(njK),njK),this.b=n,new g$}function N4(n){xJ(n.a),n.b=BJ(nPa,nl7,1,n.b.length,5,1)}function N6(n){P$(-1!=n.c),n.d.gd(n.c),n.b=n.c,n.c=-1}function N5(n){return nP_.Math.sqrt(n.a*n.a+n.b*n.b)}function N8(n,t){return ntx(n.c,n.f,t,n.b,n.a,n.e,n.d)}function N9(n,t){return Lh(t,n.a.c.length),I0(n.a,t)}function N7(n,t){return ER(n)===ER(t)||null!=n&&QY(n,t)}function xn(n){return jM(n,102)&&(CY(n,19).Bb&nEI)!=0}function xt(n){return xh(n),jM(n,484)?CY(n,484):J2(n)}function xe(n){return n?n.dc():!n.Kc().Ob()}function xi(n){return!n.a&&n.c?n.c.b:n.a}function xr(n){return jM(n,616)?n:new Dk(n)}function xa(n){n.c?xa(n.c):(JC(n),n.d=!0)}function xc(n){n.c?n.c.$e():(n.d=!0,function(n){var t,e,i,r,a,c,o;if(a=new du,Gd(n.b,new ls(a)),n.b.c.length=0,0!=a.c.length){for(RN(0,a.c.length),t=CY(a.c[0],82),e=1,i=a.c.length;e<i;++e){RN(e,a.c.length),(r=CY(a.c[e],82))!=t&&(c=t,L7(o=r,"Cannot suppress a null exception."),C9(o!=c,"Exception can not suppress itself."),c.i||(null==c.k?c.k=Vw(DY(nPp,1),nby,82,0,[o]):c.k[c.k.length]=o))}if(jM(t,63))throw CY(t,63).e;if(jM(t,296))throw CY(t,296).e}}(n))}function xo(n){n.b=!1,n.c=!1,n.d=!1,n.a=!1}function xu(n){return n.c.i.c==n.d.i.c}function xs(n,t){n.c<0||n.b.b<n.c?E6(n.b,t):n.a.tf(t)}function xh(n){if(null==n)throw(new d$).e;return n}function xf(n){if(null==n)throw(new d$).e;return n}function xl(n){return n.b||(n.b=new w8(new gR)),n.b}function xb(n){return -2==n.c&&(n.c=function(n,t){var e,i,r;if((e=t.qi(n.a))&&null!=(r=YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),njF))){for(i=1;i<(nrR(),n25).length;++i)if(OB(n25[i],r))return i}return 0}(n.g,n.b)),n.c}function xw(n,t){var e;return(e=NS("",n)).n=t,e.i=1,e}function xd(n,t,e,i){vj.call(this,n,e),this.a=t,this.f=i}function xg(n,t,e,i){vj.call(this,n,t),this.d=e,this.a=i}function xp(n,t){var e,i,r;jj.call(this,(e=NP(n),i=NP(t),$O(),r=new vH(1),EK(e)?Rr(r,e,i):nr3(r.f,e,i),new fH(r))),this.a=t}function xm(){gV.call(this),dG(this.j.c,0),this.a=-1}function xv(){var n;ni$.call(this,njz,(mT(),n2a)),n=this,n.b=null,n.a=null,n.o=null,n.q=null,n.v=null,n.w=null,n.B=null,n.p=null,n.Q=null,n.R=null,n.S=null,n.T=null,n.U=null,n.V=null,n.W=null,n.bb=null,n.eb=null,n.ab=null,n.H=null,n.db=null,n.c=null,n.d=null,n.f=null,n.n=null,n.r=null,n.s=null,n.u=null,n.G=null,n.J=null,n.e=null,n.j=null,n.i=null,n.g=null,n.k=null,n.t=null,n.F=null,n.I=null,n.L=null,n.M=null,n.O=null,n.P=null,n.$=null,n.N=null,n.Z=null,n.cb=null,n.K=null,n.D=null,n.A=null,n.C=null,n._=null,n.fb=null,n.X=null,n.Y=null,n.gb=!1,n.hb=!1}function xy(){var n;ni$.call(this,nSb,(mj(),n3h)),n=this,n.b=null,n.bb=null,n.fb=null,n.qb=null,n.a=null,n.c=null,n.d=null,n.e=null,n.f=null,n.n=null,n.M=null,n.L=null,n.Q=null,n.R=null,n.K=null,n.db=null,n.eb=null,n.g=null,n.i=null,n.j=null,n.k=null,n.gb=null,n.o=null,n.p=null,n.q=null,n.r=null,n.$=null,n.ib=null,n.S=null,n.T=null,n.t=null,n.s=null,n.u=null,n.v=null,n.w=null,n.B=null,n.A=null,n.C=null,n.D=null,n.F=null,n.G=null,n.H=null,n.I=null,n.J=null,n.P=null,n.Z=null,n.U=null,n.V=null,n.W=null,n.X=null,n.Y=null,n._=null,n.ab=null,n.cb=null,n.hb=null,n.nb=null,n.lb=null,n.mb=null,n.ob=null,n.pb=null,n.jb=null,n.kb=null,n.N=!1,n.O=!1}function xk(){vS.call(this,"DELAUNAY_TRIANGULATION",0)}function xM(n,t,e){return EK(t)?Rr(n,t,e):nr3(n.f,t,e)}function xE(n){return $O(),n?n.Oe():($P(),$P(),nOX)}function xT(n,t){return Ig(),new nny(new Sk(n),new Sy(t))}function xj(){xj=T,nPJ=new ps(Vw(DY(nPl,1),nbL,44,0,[]))}function xS(n){return n.d||(n.d=new fF(n.c.Cc())),n.d}function xP(n){return n.a||(n.a=new p9(n.c.vc())),n.a}function xO(n){return n.b||(n.b=new p8(n.c.ec())),n.b}function xC(n,t){for(;t-- >0;)n=n<<1|n<0;return n}function xI(n,t){var e;return e=new NU(n),dk(t.c,e),e}function xA(n,t){var e,i,r;n.u.Hc((nap(),nZ6))&&function(n,t){var e,i,r,a;for(e=(a=CY(xN(n.b,t),127)).a,r=CY(CY(_G(n.r,t),21),87).Kc();r.Ob();)(i=CY(r.Pb(),117)).c&&(e.a=nP_.Math.max(e.a,IC(i.c)));if(e.a>0)switch(t.g){case 2:a.n.c=n.s;break;case 4:a.n.b=n.s}}(n,t),e=n,i=t,e.C&&((r=CY(xN(e.b,i),127).n).d=e.C.d,r.a=e.C.a)}function xL(n,t){return ER(n)===ER(t)||null!=n&&QY(n,t)}function xN(n,t){return AE(n.a,t)?n.b[CY(t,22).g]:null}function xx(n){return n.n||(n.n=new Lk(nNt,n,1,7)),n.n}function x$(n){return n.c||(n.c=new Lk(nNi,n,9,9)),n.c}function xD(n){return n.c||(n.c=new Ox(nL4,n,5,8)),n.c}function xR(n){var t;return n.j.c.length=0,xJ(n.c),dG((t=n.a).j.c,0),t.a=-1,n}function xK(n){var t,e,i,r;return n.e==nSd&&(t=n.g,n.e=(i=(e=n.b).qi(t.a))&&null!=(r=PA(YH((i.b||(i.b=new Pd((nlq(),n2S),n07,i)),i.b),nTh)))?r:e.xe()),n.e}function xF(n){var t,e,i,r;return n.f==nSd&&(t=n.g,n.f=(i=(e=n.b).qi(t.a))?OB(nSh,r=PA(YH((i.b||(i.b=new Pd((nlq(),n2S),n07,i)),i.b),nSs)))?A2(t,GT(e.qk())):r:null),n.f}function x_(n,t,e,i){return zx(n,t,e,!1),Q6(n,i),n}function xB(n,t){this.b=n,L0.call(this,n,t),St(this)}function xH(n,t){this.b=n,OX.call(this,n,t),Se(this)}function xU(n){this.d=n,this.a=this.d.b,this.b=this.d.c}function xG(n,t){this.b=n,this.c=t,this.a=new vG(this.b)}function xq(n,t){return Rx(t,n.length),n.charCodeAt(t)}function xX(n,t){return JC(n),new Aa(n,new HU(t,n.a))}function xz(n,t){return JC(n),new Aa(n,new _0(t,n.a))}function xV(n,t){return JC(n),new PB(n,new _Z(t,n.a))}function xW(n,t){return JC(n),new PH(n,new _1(t,n.a))}function xQ(n,t,e){e.a?G1(n,t.b-n.f/2):GZ(n,t.a-n.g/2)}function xJ(n){var t;for(t=n.Kc();t.Ob();)t.Pb(),t.Qb()}function xY(n){var t;return(t=n.b)||(n.b=t=new h0(n)),t}function xZ(n){var t,e;return(t=jM(e=niK(n,(nlF(),nK6)),167)?function n(t){var e,i,r;if(i=t.jh())return jM(e=t.Eh(),167)&&null!=(r=n(CY(e,167)))?r+"."+i:i;return null}(CY(e,167)):null)?t:null}function x1(n,t){var e,i;return i=Dy(e=n/t),e>i&&++i,i}function x0(n,t,e,i){this.a=n,this.c=t,this.b=e,this.d=i}function x2(n,t,e,i){this.c=n,this.b=t,this.a=e,this.d=i}function x3(n,t,e,i){this.c=n,this.b=t,this.d=e,this.a=i}function x4(n,t,e,i){this.c=n,this.d=t,this.b=e,this.a=i}function x6(n,t,e,i){this.a=n,this.d=t,this.c=e,this.b=i}function x5(n,t,e,i){this.a=n,this.e=t,this.d=e,this.c=i}function x8(n,t,e,i){this.a=n,this.c=t,this.d=e,this.b=i}function x9(n,t,e){this.a=nb6,this.d=n,this.b=t,this.c=e}function x7(n,t,e,i){vS.call(this,n,t),this.a=e,this.b=i}function $n(n,t){this.d=(xf(n),n),this.a=16449,this.c=t}function $t(n){this.a=new du,this.e=BJ(n4s,nby,53,n,0,2)}function $e(){ph.call(this,"There is no more element.")}function $i(n,t,e,i){this.a=n,this.b=t,this.c=e,this.d=i}function $r(n,t,e,i){this.a=n,this.b=t,this.c=e,this.d=i}function $a(n,t,e,i){this.e=n,this.a=t,this.c=e,this.d=i}function $c(n,t,e,i){this.a=n,this.c=t,this.d=e,this.b=i}function $o(n,t,e,i){T5(),_2.call(this,t,e,i),this.a=n}function $u(n,t,e,i){T5(),_2.call(this,t,e,i),this.a=n}function $s(n,t,e){var i;return i=nlt(n),t.ti(e,i)}function $h(n){var t;return Gj(t=new df,n),t}function $f(n){var t;return niJ(t=new df,n),t}function $l(n){return n.b||(n.b=new Lk(nL6,n,12,3)),n.b}function $b(n){return IV(null==n||LB(n)&&n.Tm!==E),n}function $w(n){return n.n&&(n.e!==nbY&&n.je(),n.j=null),n}function $d(n){if(J8(n.d),n.d.d!=n.c)throw(new dR).e}function $g(n){return Px(n.b<n.d.gc()),n.d.Xb(n.c=n.b++)}function $p(n){n.a.a=n.c,n.c.b=n.a,n.a.b=n.c.a=null,n.b=0}function $m(n){this.f=n,this.c=this.f.e,n.f>0&&nem(this)}function $v(n,t){this.a=n,P_.call(this,n,CY(n.d,15).fd(t))}function $y(n,t){return n.b=t.b,n.c=t.c,n.d=t.d,n.a=t.a,n}function $k(n,t,e,i){this.b=n,this.c=i,E4.call(this,t,e)}function $M(n){return n.f||(n.f=new vg(n,n.c))}function $E(n,t){return QF(n.j,t.s,t.c)+QF(t.e,n.s,n.c)}function $T(){ni6(this,new hU),this.wb=(NN(),n2c),mT()}function $j(n){this.b=new du,Vc(this.b,this.b),this.a=n}function $S(n,t){new vq,this.a=new gj,this.b=n,this.c=t}function $P(){$P=T,nOG=new L,nOq=new L,nOX=new N}function $O(){$O=T,nO_=new P,nOB=new C,nOH=new I}function $C(){$C=T,nCB=new nb,nCU=new AR,nCH=new nw}function $I(){$I=T,nNG=new du,nNU=new dc,nNH=new du}function $A(n,t){if(null==n)throw new pD(t).e;return n}function $L(n){return n.a||(n.a=new Lk(nNe,n,10,11)),n.a}function $N(n){return n.q||(n.q=new Lk(n02,n,11,10)),n.q}function $x(n){return n.s||(n.s=new Lk(n0V,n,21,17)),n.s}function $$(n,t,e){U7(n,t,new fy(O4(e)))}function $D(n,t,e,i,r,a){Hf.call(this,n,t,e,i,r,a?-2:-1)}function $R(n,t,e,i){Ex.call(this,t,e),this.b=n,this.a=i}function $K(n,t){g9.call(this,new La(n)),this.a=n,this.b=t}function $F(n){this.b=n,this.c=n,n.e=null,n.c=null,this.a=1}function $_(){var n,t;$_=T,t=!(Error.stackTraceLimit>0?(nP_.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in Error()),n=new m,nP6=t?new p:n}function $B(n){return $O(),jM(n,59)?new p7(n):new SE(n)}function $H(n){var t,e;return jM(n,16)?new At(CY(n,16)):(t=n.Kc(),UO(e=new dV,t),e)}function $U(n){return n&&n.hashCode?n.hashCode():SK(n)}function $G(n,t){var e;return null==t?!!Aj(n.f,null):(e=n.i,void 0!==e.a.get(t))}function $q(n,t,e){return!!n.f&&n.f.ef(t,e)}function $X(n,t,e,i){NK(n.c[t.g],e.g,i),NK(n.c[e.g],t.g,i)}function $z(n,t,e,i){NK(n.c[t.g],t.g,e),NK(n.b[t.g],t.g,i)}function $V(n,t){this.g=n,this.d=Vw(DY(nAr,1),npU,10,0,[t])}function $W(n){this.c=n,this.b=new mH(CY(NP(new nd),50))}function $Q(n){this.c=n,this.b=new mH(CY(NP(new tl),50))}function $J(n){this.b=n,this.a=new mH(CY(NP(new nY),50))}function $Y(){this.b=new dV,this.d=new vq,this.e=new gl}function $Z(){this.c=new mm,this.d=new mm,this.e=new mm}function $1(){this.a=new gj,this.b=(qL(3,nbU),new Bf(3))}function $0(n,t){this.e=n,this.a=nPa,this.b=nu_(t),this.c=t}function $2(n){this.c=n.c,this.d=n.d,this.b=n.b,this.a=n.a}function $3(n,t,e,i,r,a){this.a=n,qX.call(this,t,e,i,r,a)}function $4(n,t,e,i,r,a){this.a=n,qX.call(this,t,e,i,r,a)}function $6(n,t,e,i,r,a,c){return new Fx(n.e,t,e,i,r,a,c)}function $5(n,t){return jM(t,149)&&OB(n.b,CY(t,149).Pg())}function $8(n,t){var e;return FH(e=n.b.Qc(t),n.b.gc()),e}function $9(n,t){if(null==n)throw new pD(t).e;return n}function $7(n){return n.u||(_v(n),n.u=new P4(n,n)),n.u}function Dn(n){this.a=($O(),jM(n,59)?new p7(n):new SE(n))}function Dt(n){return CY(zA(n,16),29)||n.ii()}function De(n,t){var e;return e=mI(n.Rm),null==t?e:e+": "+t}function Di(n,t,e){return B2(t,e,n.length),n.substr(t,e-t)}function Dr(n,t){Oy.call(this),GI(this),this.a=n,this.c=t}function Da(n,t,e,i){return e>=0?n.Uh(t,e,i):n.Ch(null,e,i)}function Dc(n){return 0==n.b.b?n.a.sf():CV(n.b)}function Do(n){return ER(n.a)===ER((X6(),n2x))&&function(n){var t,e,i,r,a,c,o,u,s,h;for(u=0,t=new o4,e=new o4,s=OB(njR,(r=nsA(n.b,njK))?PA(YH((r.b||(r.b=new Pd((nlq(),n2S),n07,r)),r.b),njF)):null);u<n.i;++u)jM(o=CY(n.g[u],179),102)?((c=CY(o,19)).Bb&nEI)!=0?(c.Bb&nbk)!=0&&(s||((a=nsA(c,njK))?PA(YH((a.b||(a.b=new Pd((nlq(),n2S),n07,a)),a.b),nTs)):null)!=null)||B7(t,c):(h=nnD(c))&&(h.Bb&nEI)!=0||(c.Bb&nbk)!=0&&(s||((i=nsA(c,njK))?PA(YH((i.b||(i.b=new Pd((nlq(),n2S),n07,i)),i.b),nTs)):null)!=null)||B7(e,c):(yP(),CY(o,69).xk()&&!o.sk()&&(B7(t,o),B7(e,o)));WG(t),WG(e),n.a=CY(t.g,254),CY(e.g,254)}(n),n.a}function Du(n,t){this.a=new MH(n.a,n.b),this.b=CJ(t)}function Ds(){g7.call(this,new vH(Ga(12))),j5(!0),this.a=2}function Dh(n,t,e){nlU(),dr.call(this,n),this.b=t,this.a=e}function Df(n,t,e){T5(),w5.call(this,t),this.a=n,this.b=e}function Dl(n){var t;t=n.c.d.b,n.b=t,n.a=n.c.d,t.a=n.c.d.b=n}function Db(n,t){return null==t?ED(Aj(n.f,null)):yD(n.i,t)}function Dw(n,t,e,i,r){return new nrd(n,(Hj(),nCI),t,e,i,r)}function Dd(n,t){var e,i,r,a;return FP(t),e=n,i=BJ(n4s,nwl,28,t,15,1),r=t,a=e.length,naJ(e,0,i,0,nP_.Math.min(r,a),!0),i}function Dg(n,t){return $A(n,"set1"),$A(t,"set2"),new vI(n,t)}function Dp(n,t){var e;return nfR(n,t,e=new _),e.d}function Dm(n,t,e,i){var r;r=new Os,t.a[e.g]=r,LQ(n.b,i,r)}function Dv(n){(function(n){var t;for(t=new fU(ntv(n));t.a<t.c.c.length;)CY(RU(t),695)._f()})(n.a),T0(n.a),Yc(new ld(n.a))}function Dy(n){return 0|Math.max(Math.min(n,nl3),-0x80000000)}function Dk(n){this.a=CY(NP(n),277),this.b=($O(),new Sj(n))}function DM(n,t,e){this.i=new du,this.b=n,this.g=t,this.a=e}function DE(n,t,e){this.a=new du,this.e=n,this.f=t,this.c=e}function DT(n,t,e){this.c=new du,this.e=n,this.f=t,this.b=e}function Dj(n){Oy.call(this),GI(this),this.a=n,this.c=!0}function DS(n){return n.Db>>16!=3?null:CY(n.Cb,27)}function DP(n){return n.Db>>16!=9?null:CY(n.Cb,27)}function DO(n){return n.Db>>16!=6?null:CY(n.Cb,74)}function DC(){DC=T,nq0=new Ml(nd1,0),nq2=new Ml(nd0,1)}function DI(){DI=T,nqS=new k9(nd0,0),nqj=new k9(nd1,1)}function DA(){DA=T,nqO=new k7(nge,0),nqC=new k7("UP",1)}function DL(){DL=T,nP1=W4((pw(),Vw(DY(nPd,1),nbG,549,0,[nPZ])))}function DN(n){var t;return VW(t=new m$(Ga(n.length)),n),t}function Dx(n,t){return n.b+=t.b,n.c+=t.c,n.d+=t.d,n.a+=t.a,n}function D$(n,t){var e,i,r,a,c;if(null==t)throw(new d$).e;return e=n,i=t,a=e.a,i=String(i),a.hasOwnProperty(i)&&(r=a[i]),(c=(VU(),nOt)[typeof r])?c(r):Qo(typeof r)}function DD(n,t){var e;e=n.q.getHours(),n.q.setDate(t),nhp(n,e)}function DR(n,t,e){var i;(i=n.Ih(t))>=0?n.bi(i,e):nc7(n,t,e)}function DK(n,t){var e;return(e=n.Ih(t))>=0?n.Wh(e):naN(n,t)}function DF(n,t){var e;for(NP(t),e=n.a;e;e=e.c)t.Yd(e.g,e.i)}function D_(n,t,e){var i;i=V3(n,t,e),n.b=new Xk(i.c.length)}function DB(n,t,e){D6(),n&&xM(n0j,n,t),n&&xM(n0T,n,e)}function DH(n,t){return nP_.Math.abs(n)<nP_.Math.abs(t)?n:t}function DU(n){var t;return t=n.d,t=n.bj(n.f),B7(n,t),t.Ob()}function DG(n,t){var e;return niI(e=new An(t),n),new O8(e)}function Dq(n){return n.Db>>16!=7?null:CY(n.Cb,241)}function DX(n){return n.Db>>16!=6?null:CY(n.Cb,241)}function Dz(n){return n.Db>>16!=7?null:CY(n.Cb,167)}function DV(n){return n.Db>>16!=11?null:CY(n.Cb,27)}function DW(n){return n.Db>>16!=17?null:CY(n.Cb,29)}function DQ(n){return n.Db>>16!=3?null:CY(n.Cb,155)}function DJ(n){return JC(n),xX(n,new lc(new dV))}function DY(n,t){var e=n.a=n.a||[];return e[t]||(e[t]=n.ve(t))}function DZ(n,t){jZ(this),this.f=t,this.g=n,$w(this),this.je()}function D1(n,t){this.a=n,this.c=jv(this.a),this.b=new $2(t)}function D0(n,t,e){this.a=t,this.c=n,this.b=(NP(e),new O8(e))}function D2(n,t,e){this.a=t,this.c=n,this.b=(NP(e),new O8(e))}function D3(n){this.a=n,this.b=BJ(nAW,nby,2043,n.e.length,0,2)}function D4(){this.a=new TE,this.e=new dV,this.g=0,this.i=0}function D6(){var n;D6=T,n0j=new dc,n0T=new dc,n=new oV,nPD&&xM(n0T,nPD,n)}function D5(){D5=T,nG6=AX(new xm,(niF(),nxY),(nlB(),nDv))}function D8(){D8=T,nG5=AX(new xm,(niF(),nxY),(nlB(),nDv))}function D9(){D9=T,nG9=AX(new xm,(niF(),nxY),(nlB(),nDv))}function D7(){D7=T,nqv=IG(new xm,(niF(),nxY),(nlB(),n$0))}function Rn(){Rn=T,nqE=IG(new xm,(niF(),nxY),(nlB(),n$0))}function Rt(){Rt=T,nqT=IG(new xm,(niF(),nxY),(nlB(),n$0))}function Re(){Re=T,nqA=IG(new xm,(niF(),nxY),(nlB(),n$0))}function Ri(n,t,e,i,r,a){return new Uh(n.e,t,n.Lj(),e,i,r,a)}function Rr(n,t,e){return null==t?nr3(n.f,null,e):JI(n.i,t,e)}function Ra(n,t){n.c&&H0(n.c.g,n),n.c=t,n.c&&jB(n.c.g,n)}function Rc(n,t){n.c&&H0(n.c.a,n),n.c=t,n.c&&jB(n.c.a,n)}function Ro(n,t){n.i&&H0(n.i.j,n),n.i=t,n.i&&jB(n.i.j,n)}function Ru(n,t){n.d&&H0(n.d.e,n),n.d=t,n.d&&jB(n.d.e,n)}function Rs(n,t){n.a&&H0(n.a.k,n),n.a=t,n.a&&jB(n.a.k,n)}function Rh(n,t){n.b&&H0(n.b.f,n),n.b=t,n.b&&jB(n.b.f,n)}function Rf(n,t){var e,i;e=n.b,i=n.c,CY(e.b,68),Gd(e.a,new CC(n,i,e)),CY(n.b.b,68),t&&CY(t.b,68).b}function Rl(n,t){jM(n.Cb,184)&&(CY(n.Cb,184).tb=null),XC(n,t)}function Rb(n,t){jM(n.Cb,90)&&nar(_v(CY(n.Cb,90)),4),XC(n,t)}function Rw(n){var t;return mT(),Gj(t=new df,n),t}function Rd(n){var t;return mT(),Gj(t=new df,n),t}function Rg(n){for(var t;;)if(t=n.Pb(),!n.Ob())return t}function Rp(n,t){return yP(),Uj(t)?new IB(t,n):new EL(t,n)}function Rm(n){return nuY(),Qv(n,0)>=0?Yq(n):Nt(Yq(H4(n)))}function Rv(n,t){var e;return(e=CY(QH($M(n.a),t),16))?e.gc():0}function Ry(n,t,e){var i;Q1(t,e,n.c.length),i=e-t,mY(n.c,t,i)}function Rk(n,t,e){Q1(t,e,n.gc()),this.c=n,this.a=t,this.b=e-t}function RM(n){this.c=new vq,this.b=n.b,this.d=n.c,this.a=n.a}function RE(n){this.a=nP_.Math.cos(n),this.b=nP_.Math.sin(n)}function RT(n,t,e,i){this.c=n,this.d=i,Rs(this,t),Rh(this,e)}function Rj(n,t){g8.call(this,new vH(Ga(n))),qL(t,nbv),this.a=t}function RS(n,t,e){return new nrd(n,(Hj(),nCC),null,!1,t,e)}function RP(n,t,e){return new nrd(n,(Hj(),nCA),t,e,null,!1)}function RO(n){return V4(Vw(DY(nLA,1),nby,8,0,[n.i.n,n.n,n.a]))}function RC(){RC=T,nzP=AX(new xm,(ntU(),nq5),(nsi(),nXn))}function RI(){RI=T,nzj=new Mp("DFS",0),nzT=new Mp("BFS",1)}function RA(n,t,e){var i;(i=new ao).b=t,i.a=e,++t.b,jB(n.d,i)}function RL(n,t){if(n<0||n>t)throw new pC(ndp+n+ndm+t).e}function RN(n,t){if(n<0||n>=t)throw new pC(ndp+n+ndm+t).e}function Rx(n,t){if(n<0||n>=t)throw new p4(ndp+n+ndm+t).e}function R$(n,t){this.b=(xf(n),n),this.a=(t&nwB)==0?64|t|nbk:t}function RD(n){return JC(n),$P(),$P(),Gs(n,nOq)}function RR(n){return NP(n),jM(n,16)?new O8(CY(n,16)):CW(n.Kc())}function RK(n,t){return n&&n.equals?n.equals(t):ER(n)===ER(t)}function RF(n,t){var e,i;return zC((e=Ty(n)?zB(n):n,i=Ty(t)?zB(t):t,js(e.l&i.l,e.m&i.m,e.h&i.h)))}function R_(n,t){var e,i;return zC((e=Ty(n)?zB(n):n,i=Ty(t)?zB(t):t,js(e.l|i.l,e.m|i.m,e.h|i.h)))}function RB(n,t){var e,i;return zC((e=Ty(n)?zB(n):n,i=Ty(t)?zB(t):t,js(e.l^i.l,e.m^i.m,e.h^i.h)))}function RH(n,t){var e,i;return i=Lq(n,t),e=n.a.fd(i),new vP(n,e)}function RU(n){return Px(n.a<n.c.c.length),n.b=n.a++,n.c.c[n.b]}function RG(n,t){LZ.call(this,1,2,Vw(DY(n4s,1),nwl,28,15,[n,t]))}function Rq(n,t,e){dr.call(this,25),this.b=n,this.a=t,this.c=e}function RX(n){nlU(),dr.call(this,n),this.c=!1,this.a=!1}function Rz(n){return n.d==(Bu(),n3n)&&(n.d=function(n,t){var e,i,r,a,c,o;if((e=t.qi(n.a))&&null!=(o=PA(YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),nTs))))switch(r=Sg(o,niT(35)),i=t.qk(),-1==r?(c=A2(n,GT(i)),a=o):0==r?(c=null,Rx(1,o.length+1),a=o.substr(1)):(B2(0,r,o.length),c=o.substr(0,r),Rx(r+1,o.length+1),a=o.substr(r+1)),xb(Ua(n,t))){case 2:case 3:var u,s,h,f,l,b,w=c,d=a;if(!(b=ncK(n,i,w,d))&&(u=n,s=w,h=d,b=(l=ncz(u.b,s))&&(f=CY(nhZ(Ur(u,l),""),29))?ncK(u,f,s,h):null)&&!nff(n,i,b))break;return b;case 0:case 4:case 5:case 6:var g,p=c,m=a;if(!(g=ncF(n,i,p,m))&&(g=Jc(n,p,m))&&!nff(n,i,g))break;return g}return null}(n.g,n.b)),n.d}function RV(n,t){return AT(n.a,t)?Ij(n.b,CY(t,22).g,null):null}function RW(n){return null==n.b||0==n.b.length?"n_"+n.a:"n_"+n.b}function RQ(n){return null==n.c||0==n.c.length?"n_"+n.g:"n_"+n.c}function RJ(n,t){var e;for(e=n+"";e.length<t;)e="0"+e;return e}function RY(n,t){var e;return e=H5(t),CY(NR(n.c,e),17).a}function RZ(n,t,e){var i;i=n.d[t.p],n.d[t.p]=n.d[e.p],n.d[e.p]=i}function R1(n,t){if(LX(n.a,t),t.d)throw new ph(ndT).e;t.d=n}function R0(n,t){this.a=new du,this.d=new du,this.f=n,this.c=t}function R2(){this.c=new jI,this.a=new _8,this.b=new gi,yt()}function R3(){Vy(),this.b=new dc,this.a=new dc,this.c=new du}function R4(n,t,e){this.d=n,this.j=t,this.e=e,this.o=-1,this.p=3}function R6(n,t,e){this.d=n,this.k=t,this.f=e,this.o=-1,this.p=5}function R5(n,t,e,i,r,a){qo.call(this,n,t,e,i,r),a&&(this.o=-2)}function R8(n,t,e,i,r,a){qu.call(this,n,t,e,i,r),a&&(this.o=-2)}function R9(n,t,e,i,r,a){_E.call(this,n,t,e,i,r),a&&(this.o=-2)}function R7(n,t,e,i,r,a){qf.call(this,n,t,e,i,r),a&&(this.o=-2)}function Kn(n,t,e,i,r,a){_T.call(this,n,t,e,i,r),a&&(this.o=-2)}function Kt(n,t,e,i,r,a){qs.call(this,n,t,e,i,r),a&&(this.o=-2)}function Ke(n,t,e,i,r,a){qh.call(this,n,t,e,i,r),a&&(this.o=-2)}function Ki(n,t,e,i,r,a){_j.call(this,n,t,e,i,r),a&&(this.o=-2)}function Kr(n,t,e,i){w5.call(this,e),this.b=n,this.c=t,this.d=i}function Ka(n,t){this.f=n,this.a=(Bu(),n27),this.c=n27,this.b=t}function Kc(n,t){this.g=n,this.d=(Bu(),n3n),this.a=n3n,this.b=t}function Ko(n,t){n.c||(n.c=new zE(n,0)),nhQ(n.c,(nfl(),n3O),t)}function Ku(n){return Iz(n.e.Rd().gc()*n.c.Rd().gc(),16,new hQ(n))}function Ks(n,t){return 0==t?!!n.o&&0!=n.o.f:Z2(n,t)}function Kh(n,t,e){var i;return!!(i=CY(n.Zb().xc(t),16))&&i.Mc(e)}function Kf(n,t){var e;return e=1-t,n.a[e]=Xl(n.a[e],e),Xl(n,t)}function Kl(n,t){var e;return e=RF(n,nwW),R_(A8(t,32),e)}function Kb(n,t,e){NP(n),function(n){var t,e,i;for($O(),ji(n.c,n.a),i=new fU(n.c);i.a<i.c.c.length;)for(e=RU(i),t=new fU(n.b);t.a<t.c.c.length;)CY(RU(t),693).bf(e)}(new D0(new O8(n),t,e))}function Kw(n,t,e){NP(n),function(n){var t,e,i;for($O(),ji(n.c,n.a),i=new fU(n.c);i.a<i.c.c.length;)for(e=RU(i),t=new fU(n.b);t.a<t.c.c.length;)CY(RU(t),382).bf(e)}(new D2(new O8(n),t,e))}function Kd(n,t,e,i,r,a){return zx(n,t,e,a),Q4(n,i),Q8(n,r),n}function Kg(n,t,e,i){return n.a+=""+Di(null==t?nbi:J2(t),e,i),n}function Kp(n,t){this.a=n,fq.call(this,n),RL(t,n.gc()),this.b=t}function Km(n){this.a=BJ(nPa,nl7,1,VN(nP_.Math.max(8,n))<<1,5,1)}function Kv(n){return CY(ZB(n,BJ(nAr,npU,10,n.c.length,0,1)),199)}function Ky(n){return CY(ZB(n,BJ(nAt,npH,18,n.c.length,0,1)),483)}function Kk(n){return n.a?0==n.e.length?n.a.a:n.a.a+""+n.e:n.c}function KM(n){for(;n.d>0&&0==n.a[--n.d];);0==n.a[n.d++]&&(n.e=0)}function KE(n){return Px(n.b.b!=n.d.a),n.c=n.b=n.b.b,--n.a,n.c.c}function KT(n,t){var e;n.e=new gJ,ji(e=no3(t),n.c),function n(t,e,i){var r,a,c,o,u,s;for(a=i,c=0,u=new fU(e);u.a<u.c.c.length;)nnh(o=CY(RU(u),27),(nrh(),nVs),Qx(a++)),s=no3(o),r=nP_.Math.atan2(o.j+o.f/2,o.i+o.g/2),(r+=r<0?nkf:0)<.7853981633974483||r>nkF?ji(s,t.b):r<=nkF&&r>nk_?ji(s,t.d):r<=nk_&&r>nkB?ji(s,t.c):r<=nkB&&ji(s,t.a),c=n(t,s,c);return a}(n,e,0)}function Kj(n,t,e,i){var r;(r=new c7).a=t,r.b=e,r.c=i,IA(n.a,r)}function KS(n,t,e,i){var r;(r=new c7).a=t,r.b=e,r.c=i,IA(n.b,r)}function KP(n,t,e){if(n<0||t<n||t>e){var i,r,a;throw new pC((i=n,r=t,a=e,i<0||i>a?nr8(i,a,"start index"):r<0||r>a?nr8(r,a,"end index"):nuK("end index (%s) must not be less than start index (%s)",Vw(DY(nPa,1),nl7,1,5,[Qx(r),Qx(i)])))).e}}function KO(n,t){if(n<0||n>=t)throw new pC(function(n,t){if(n<0)return nuK(nl9,Vw(DY(nPa,1),nl7,1,5,["index",Qx(n)]));if(t<0)throw new pN(nbn+t).e;return nuK("%s (%s) must be less than size (%s)",Vw(DY(nPa,1),nl7,1,5,["index",Qx(n),Qx(t)]))}(n,t)).e;return n}function KC(n){return(yc(),jM(n.g,10))?CY(n.g,10):null}function KI(n){return Ty(n)?-0==n?0:n:function(n){if(0>neu(n,(UT(),nOc))){var t;return-((t=VL(n)).l+t.m*nwA+t.h*nwL)}return n.l+n.m*nwA+n.h*nwL}(n)}function KA(n,t){return!!jM(t,44)&&ntn(n.a,CY(t,44))}function KL(n,t){return!!jM(t,44)&&ntn(n.a,CY(t,44))}function KN(n,t){return!!jM(t,44)&&ntn(n.a,CY(t,44))}function Kx(n){var t;return xa(n),t=new x,mZ(n.a,new li(t)),t}function K$(){var n;return n=new df,jB(n2V,n),n}function KD(n){var t;return xa(n),t=new $,mZ(n.a,new lr(t)),t}function KR(n){XX.call(this,n,(Hj(),nCO),null,!1,null,!1)}function KK(){KK=T,nNT=W4((v5(),Vw(DY(nI1,1),nbG,489,0,[nNE])))}function KF(){KF=T,nqa=xT(Qx(1),Qx(4)),nqr=xT(Qx(1),Qx(2))}function K_(n){return new Bf((qL(n,nbX),Gr(JF(JF(5,n),n/10|0))))}function KB(n){return CY(ZB(n,BJ(nAo,npG,12,n.c.length,0,1)),2042)}function KH(n,t){(function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;if(m=0,0==t.f.a)for(g=new fU(n);g.a<g.c.c.length;)w=CY(RU(g),10),m=nP_.Math.max(m,w.n.a+w.o.a+w.d.c);else m=t.f.a-t.c.a;for(m-=t.c.a,d=new fU(n);d.a<d.c.c.length;){switch(dy((w=CY(RU(d),10)).n,m-w.o.a),Ia(w.f),ntg(w),(!w.q?($O(),$O(),nOB):w.q)._b((nlL(),nUu))&&dy(CY(niK(w,nUu),8),m-w.o.a),CY(niK(w,nBR),255).g){case 1:VD(w,nBR,(nnS(),nJn));break;case 2:VD(w,nBR,(nnS(),nQ7))}for(p=w.o,y=new fU(w.j);y.a<y.c.c.length;){for(dy((v=CY(RU(y),12)).n,p.a-v.o.a),dy(v.a,v.o.a),nau(v,XZ(v.j)),(c=CY(niK(v,nUe),17))&&VD(v,nUe,Qx(-c.a)),a=new fU(v.g);a.a<a.c.c.length;){for(i=ZQ((r=CY(RU(a),18)).a,0);i.b!=i.d.c;)(e=CY(K0(i),8)).a=m-e.a;if(s=CY(niK(r,nHP),75))for(u=ZQ(s,0);u.b!=u.d.c;)(o=CY(K0(u),8)).a=m-o.a;for(l=new fU(r.b);l.a<l.c.c.length;)dy((h=CY(RU(l),72)).n,m-h.o.a)}for(b=new fU(v.f);b.a<b.c.c.length;)dy((h=CY(RU(b),72)).n,v.o.a-h.o.a)}if(w.k==(ni8(),n$g)){VD(w,(nlF(),nK_),XZ(CY(niK(w,nK_),64)));var k=w;switch(CY(niK(k,(nlL(),nHI)),171).g){case 1:VD(k,nHI,(Yb(),nFk));break;case 2:VD(k,nHI,(Yb(),nFM));break;case 3:VD(k,nHI,(Yb(),nFv));break;case 4:VD(k,nHI,(Yb(),nFy))}}for(f=new fU(w.b);f.a<f.c.c.length;)ntg(h=CY(RU(f),72)),dy(h.n,p.a-h.o.a)}})(t,n),Ia(n.d),Ia(CY(niK(n,(nlL(),nH_)),214))}function KU(n,t){(function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;if(m=0,0==t.f.b)for(g=new fU(n);g.a<g.c.c.length;)w=CY(RU(g),10),m=nP_.Math.max(m,w.n.b+w.o.b+w.d.a);else m=t.f.b-t.c.b;for(m-=t.c.b,d=new fU(n);d.a<d.c.c.length;){switch(dv((w=CY(RU(d),10)).n,m-w.o.b),Ic(w.f),ntp(w),(!w.q?($O(),$O(),nOB):w.q)._b((nlL(),nUu))&&dv(CY(niK(w,nUu),8),m-w.o.b),CY(niK(w,nBR),255).g){case 3:VD(w,nBR,(nnS(),nQ8));break;case 4:VD(w,nBR,(nnS(),nJt))}for(p=w.o,y=new fU(w.j);y.a<y.c.c.length;){for(dv((v=CY(RU(y),12)).n,p.b-v.o.b),dv(v.a,v.o.b),nau(v,X1(v.j)),(c=CY(niK(v,nUe),17))&&VD(v,nUe,Qx(-c.a)),a=new fU(v.g);a.a<a.c.c.length;){for(i=ZQ((r=CY(RU(a),18)).a,0);i.b!=i.d.c;)(e=CY(K0(i),8)).b=m-e.b;if(s=CY(niK(r,nHP),75))for(u=ZQ(s,0);u.b!=u.d.c;)(o=CY(K0(u),8)).b=m-o.b;for(l=new fU(r.b);l.a<l.c.c.length;)dv((h=CY(RU(l),72)).n,m-h.o.b)}for(b=new fU(v.f);b.a<b.c.c.length;)dv((h=CY(RU(b),72)).n,v.o.b-h.o.b)}if(w.k==(ni8(),n$g)){VD(w,(nlF(),nK_),X1(CY(niK(w,nK_),64)));var k=w;switch(CY(niK(k,(nlF(),nKz)),311).g){case 1:VD(k,nKz,(UM(),nKm));break;case 2:VD(k,nKz,(UM(),nKy))}}for(f=new fU(w.b);f.a<f.c.c.length;)ntp(h=CY(RU(f),72)),dv(h.n,p.b-h.o.b)}})(t,n),Ic(n.d),Ic(CY(niK(n,(nlL(),nH_)),214))}function KG(n,t){var e,i;return e=D$(n,t),i=null,e&&(i=e.pe()),i}function Kq(n,t){var e,i;return e=D$(n,t),i=null,e&&(i=e.se()),i}function KX(n,t){var e,i;return e=UA(n,t),i=null,e&&(i=e.se()),i}function Kz(n,t){var e,i;return e=D$(n,t),i=null,e&&(i=nrA(e)),i}function KV(n,t,e){this.d=new bv(this),this.e=n,this.i=t,this.f=e}function KW(n,t,e,i){this.e=null,this.c=n,this.d=t,this.a=e,this.b=i}function KQ(n,t,e,i){jp(this),this.c=n,this.e=t,this.f=e,this.b=i}function KJ(n,t,e,i){this.d=n,this.n=t,this.g=e,this.o=i,this.p=-1}function KY(n,t,e,i){return jM(e,59)?new SV(n,t,e,i):new Lu(n,t,e,i)}function KZ(n){return jM(n,16)?CY(n,16).dc():!n.Kc().Ob()}function K1(n){if(n.e.g!=n.b)throw(new dR).e;return!!n.c&&n.d>0}function K0(n){return Px(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function K2(n,t){xf(t),NK(n.a,n.c,t),n.c=n.c+1&n.a.length-1,ntP(n)}function K3(n,t){xf(t),n.b=n.b-1&n.a.length-1,NK(n.a,n.b,t),ntP(n)}function K4(n){var t;t=n.Gh(),this.a=jM(t,71)?CY(t,71).Ii():t.Kc()}function K6(){K6=T,nWQ=W4((ys(),Vw(DY(nLv,1),nbG,490,0,[nWW])))}function K5(){K5=T,nWY=W4((yh(),Vw(DY(nLy,1),nbG,558,0,[nWJ])))}function K8(){K8=T,nQN=W4((yf(),Vw(DY(nLE,1),nbG,539,0,[nQL])))}function K9(n,t){var e;return(e=CY(UC(n.b,t),67))||(e=new vq),e}function K7(n){return(yc(),jM(n.g,154))?CY(n.g,154):null}function Fn(){Fn=T,nKM=new kB(ndJ,0),nKE=new kB("TOP_LEFT",1)}function Ft(){Ft=T,nqp=new k4("UPPER",0),nqg=new k4("LOWER",1)}function Fe(n,t){return CY(SO(Lf(CY(_G(n.k,t),15).Oc(),nRf)),113)}function Fi(n,t){return CY(SO(Ll(CY(_G(n.k,t),15).Oc(),nRf)),113)}function Fr(n,t,e){return t<0?naN(n,e):CY(e,69).wk().Bk(n,n.hi(),t)}function Fa(n){var t;return mk(),t=new oF,n&&noo(t,n),t}function Fc(n){var t;return t=n.aj(n.i),n.i>0&&ns8(n.g,0,t,0,n.i),t}function Fo(n,t){var e;for(e=n.j.c.length;e<t;e++)jB(n.j,n.Ng())}function Fu(n,t,e,i){var r;return r=i[t.g][e.g],pj(PI(niK(n.a,r)))}function Fs(n,t){var e;return yE(),!(e=CY(NR(n0C,n),57))||e.fk(t)}function Fh(n,t){return 0==t.e||0==n.e?nO$:(nui(),function n(t,e){var i,r,a,c,o,u,s,h,f;return(nui(),e.d>t.d&&(u=t,t=e,e=u),e.d<63)?function(n,t){var e,i,r,a,c,o,u,s,h,f,l;return(o=(i=n.d)+(a=t.d),u=n.e!=t.e?-1:1,2==o)?(l=AW(h=J_(RF(n.a[0],nwW),RF(t.a[0],nwW))),0==(f=AW(A7(h,32)))?new FI(u,l):new LZ(u,2,Vw(DY(n4s,1),nwl,28,15,[l,f]))):(e=n.a,r=t.a,c=BJ(n4s,nwl,28,o,15,1),0!=i&&0!=a&&(1==i?c[a]=nnP(c,r,a,e[0]):1==a?c[i]=nnP(c,e,i,r[0]):function(n,t,e,i,r){var a,c,o,u;if(ER(n)===ER(t)&&i==r)return nsC(n,i,e);for(o=0;o<i;o++){for(u=0,c=0,a=n[o];u<r;u++)c=JF(JF(J_(RF(a,nwW),RF(t[u],nwW)),RF(e[o+u],nwW)),RF(AW(c),nwW)),e[o+u]=AW(c),c=A7(c,32);e[o+r]=AW(c)}}(e,r,c,i,a)),KM(s=new LZ(u,o,c)),s)}(t,e):(o=(-2&t.d)<<4,h=_A(t,o),f=_A(e,o),r=nh_(t,_L(h,o)),a=nh_(e,_L(f,o)),s=n(h,f),i=n(r,a),c=_L(c=nfh(nfh(c=n(nh_(h,r),nh_(a,f)),s),i),o),nfh(nfh(s=_L(s,o<<1),c),i))}(n,t))}function Ff(n,t){return ER(t)===ER(n)?"(this Map)":null==t?nbi:J2(t)}function Fl(n,t,e){n.i=0,n.e=0,t!=e&&(Wt(n,t,e),Wn(n,t,e))}function Fb(n,t,e,i,r){this.i=n,this.a=t,this.e=e,this.j=i,this.f=r}function Fw(n,t){$Z.call(this),this.a=n,this.b=t,jB(this.a.b,this)}function Fd(n){this.b=new dc,this.c=new dc,this.d=new dc,this.a=n}function Fg(n,t){var e;return e=new p3,n.Gd(e),e.a+="..",t.Hd(e),e.a}function Fp(n,t){var e;for(e=t;e;)Pu(n,e.i,e.j),e=DV(e);return n}function Fm(n,t,e){var i;return i=Zh(e),xM(n.b,i,t),xM(n.c,t,e),t}function Fv(n){var t;for(t=0;n.Ob();)n.Pb(),t=JF(t,1);return Gr(t)}function Fy(n,t){var e;return yP(),function(n,t){var e;if(null!=t&&!n.c.Hk().fk(t))throw e=jM(t,58)?CY(t,58).Dh().zb:mI(WZ(t)),new pL(nET+n.c.xe()+"'s type '"+n.c.Hk().xe()+"' does not permit a value of type '"+e+"'").e}(e=CY(n,69).vk(),t),e.xl(t)}function Fk(n,t){var e;e=n.q.getHours(),n.q.setFullYear(t+nwf),nhp(n,e)}function FM(n,t){return n==(ni8(),n$v)&&t==n$v?4:n==n$v||t==n$v?8:32}function FE(n,t,e){return nhc(n,t,e,jM(t,102)&&(CY(t,19).Bb&nwG)!=0)}function FT(n){n.b!=n.c&&(n.a=BJ(nPa,nl7,1,8,5,1),n.b=0,n.c=0)}function Fj(n){return Px(n.a<n.c.a.length),n.b=n.a,UB(n),n.c.b[n.b]}function FS(n){return n.n||(_v(n),n.n=new AH(n,n00,n),$7(n)),n.n}function FP(n){if(n<0)throw new p$("Negative array size: "+n).e}function FO(n,t,e){e=e?e.oe()(e):void 0,n.a[t]=e}function FC(n,t){var e;return(Wy(),0!=(e=n.j.g-t.j.g))?e:0}function FI(n,t){nuY(),LZ.call(this,n,1,Vw(DY(n4s,1),nwl,28,15,[t]))}function FA(n,t){nlU(),dr.call(this,n),this.a=t,this.c=-1,this.b=-1}function FL(n,t,e,i){R4.call(this,1,e,i),this.c=n,this.b=t}function FN(n,t,e,i){R6.call(this,1,e,i),this.c=n,this.b=t}function Fx(n,t,e,i,r,a,c){qX.call(this,t,i,r,a,c),this.c=n,this.a=e}function F$(n,t,e){this.e=n,this.a=nPa,this.b=nu_(t),this.c=t,this.d=e}function FD(n){this.e=n,this.c=this.e.a,this.b=this.e.g,this.d=this.e.i}function FR(n){this.d=n,this.b=this.d.a.entries(),this.a=this.b.next()}function FK(n){this.c=n,this.a=CY(nec(n),156),this.b=this.a.jk().wi()}function FF(){dc.call(this),Pr(this),this.d.b=this.d,this.d.a=this.d}function F_(n,t,e,i){var r;(r=new D).c=t,r.b=e,r.a=i,i.b=e.a=r,++n.b}function FB(n,t){return t.b.Kb(H2(n,t.c.Xe(),new lu(t)))}function FH(n,t){var e;for(e=0;e<t;++e)NK(n,e,new fX(CY(n[e],44)))}function FU(n){var t;return n?new An(n):(Xj(t=new TE,n),t)}function FG(n){nih(),jF(this,AW(RF(A9(n,24),nde)),AW(RF(n,nde)))}function Fq(){Fq=T,nCX=W4((ZJ(),Vw(DY(nCh,1),nbG,436,0,[nCq,nCG])))}function FX(){FX=T,nCW=W4((U2(),Vw(DY(nCf,1),nbG,435,0,[nCz,nCV])))}function Fz(){Fz=T,nN0=W4((U3(),Vw(DY(nI2,1),nbG,432,0,[nNZ,nN1])))}function FV(){FV=T,n$L=W4((X5(),Vw(DY(nAu,1),nbG,517,0,[n$A,n$I])))}function FW(){FW=T,nKT=W4((Fn(),Vw(DY(nAA,1),nbG,429,0,[nKM,nKE])))}function FQ(){FQ=T,nRK=W4((U4(),Vw(DY(nAM,1),nbG,428,0,[nRD,nRR])))}function FJ(){FJ=T,nRY=W4((HR(),Vw(DY(nAj,1),nbG,488,0,[nRJ,nRQ])))}function FY(){FY=T,nGx=W4((UE(),Vw(DY(nAF,1),nbG,430,0,[nGL,nGN])))}function FZ(){FZ=T,nqm=W4((Ft(),Vw(DY(nAY,1),nbG,531,0,[nqp,nqg])))}function F1(){F1=T,nRk=W4((Bg(),Vw(DY(nAm,1),nbG,431,0,[nRv,nRy])))}function F0(){F0=T,nzS=W4((RI(),Vw(DY(nLe,1),nbG,433,0,[nzj,nzT])))}function F2(){F2=T,nzx=W4((Xc(),Vw(DY(nLi,1),nbG,501,0,[nzL,nzN])))}function F3(){F3=T,nqP=W4((DI(),Vw(DY(nA2,1),nbG,523,0,[nqS,nqj])))}function F4(){F4=T,nqI=W4((DA(),Vw(DY(nA3,1),nbG,522,0,[nqO,nqC])))}function F6(){F6=T,nqW=W4((Bw(),Vw(DY(nA4,1),nbG,528,0,[nqV,nqz])))}function F5(){F5=T,nq3=W4((DC(),Vw(DY(nA6,1),nbG,465,0,[nq0,nq2])))}function F8(){F8=T,nzU=W4((Hp(),Vw(DY(nLa,1),nbG,434,0,[nzB,nzH])))}function F9(){F9=T,nWA=W4((_d(),Vw(DY(nLb,1),nbG,491,0,[nWC,nWI])))}function F7(){F7=T,nWK=W4((zY(),Vw(DY(nLd,1),nbG,492,0,[nWD,nWR])))}function _n(){_n=T,nW0=W4((Bd(),Vw(DY(nLk,1),nbG,438,0,[nW1,nWZ])))}function _t(){_t=T,nQD=W4((Vv(),Vw(DY(nLT,1),nbG,437,0,[nQ$,nQx])))}function _e(){_e=T,n1V=W4((Cj(),Vw(DY(nLW,1),nbG,347,0,[n1X,n1z])))}function _i(n){return n.c&&n.d?RW(n.c)+"->"+RW(n.d):"e_"+SK(n)}function _r(n,t){var e,i;for(xf(t),i=n.Kc();i.Ob();)e=i.Pb(),t.Cd(e)}function _a(n,t){var e;for(e=t;e;)Pu(n,-e.i,-e.j),e=DV(e);return n}function _c(n,t){var e,i;for(e=t,i=0;e>0;)i+=n.a[e],e-=e&-e;return i}function _o(n,t,e){var i;return RN(t,n.c.length),i=n.c[t],n.c[t]=e,i}function _u(n,t,e){n.a.c.length=0,function(n,t,e){var i,r,a,c,o,u,s,h,f;n.c=0,n.b=0,i=2*t.c.a.c.length+1;n:for(s=e.Kc();s.Ob();){if(c=(u=CY(s.Pb(),12)).j==(nf5(),n1t)||u.j==n1m,f=0,c){if(!(h=CY(niK(u,(nlF(),nFi)),10)))continue;f+=function(n,t,e,i){var r,a,c,o,u;for(r=!1,a=!1,o=new fU(i.j);o.a<o.c.c.length;)ER(niK(c=CY(RU(o),12),(nlF(),nK6)))===ER(e)&&(0==c.g.c.length?0==c.e.c.length||(r=!0):a=!0);return u=0,r&&r^a?u=e.j==(nf5(),n1t)?-n.e[i.c.p][i.p]:t-n.e[i.c.p][i.p]:a&&r^a?u=n.e[i.c.p][i.p]+1:r&&a&&(u=e.j==(nf5(),n1t)?0:t/2),u}(n,i,u,h)}else{for(o=new fU(u.g);o.a<o.c.c.length;){if((r=CY(RU(o),18).d).i.c==t.c){jB(n.a,u);continue n}f+=n.g[r.p]}for(a=new fU(u.e);a.a<a.c.c.length;){if((r=CY(RU(a),18).c).i.c==t.c){jB(n.a,u);continue n}f-=n.g[r.p]}}u.e.c.length+u.g.c.length>0?(n.f[u.p]=f/(u.e.c.length+u.g.c.length),n.c=nP_.Math.min(n.c,n.f[u.p]),n.b=nP_.Math.max(n.b,n.f[u.p])):c&&(n.f[u.p]=f)}}(n,t,e),0==n.a.c.length||function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(s=n.e[t.c.p][t.p]+1,u=t.c.a.c.length+1,o=new fU(n.a);o.a<o.c.c.length;){for(c=CY(RU(o),12),f=0,a=0,r=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(c),new lN(c)])));ncv(r);)(i=CY(_I(r),12)).i.c==t.c&&(f+=(l=i.i,n.e[l.c.p][l.p]+1),++a);e=f/a,(h=c.j)==(nf5(),n1n)?e<s?n.f[c.p]=n.c-e:n.f[c.p]=n.b+(u-e):h==n1y&&(e<s?n.f[c.p]=n.b+e:n.f[c.p]=n.c-(u-e))}}(n,t)}function _s(n){n.i=0,y$(n.b,null),y$(n.c,null),n.a=null,n.e=null,++n.g}function _h(){_h=T,nCn=!0,nO9=!1,nO7=!1,nCe=!1,nCt=!1}function _f(n){_h(),nCn||(this.c=n,this.e=!0,this.a=new du)}function _l(n,t){this.c=0,this.b=t,E3.call(this,n,17493),this.a=this.c}function _b(n){nl$(),this.b=new mt,this.a=new vq,WT(this,n),IA(this.a,n)}function _w(){TQ(this),this.b=new MH(nwF,nwF),this.a=new MH(nw_,nw_)}function _d(){_d=T,nWC=new MP(nmb,0),nWI=new MP("TARGET_WIDTH",1)}function _g(n,t){return(JC(n),mQ(new Aa(n,new HU(t,n.a)))).Bd(nCF)}function _p(n){return!!n.c&&!!n.d&&!!n.c.i&&n.c.i==n.d.i}function _m(n,t){return!!jM(t,143)&&OB(n.c,CY(t,143).c)}function _v(n){return n.t||(n.t=new wY(n),Jo(new pM(n),0,n.t)),n.t}function _y(n){this.b=n,j2.call(this,n),this.a=CY(zA(this.b.a,4),129)}function _k(n){this.b=n,SQ.call(this,n),this.a=CY(zA(this.b.a,4),129)}function _M(n,t,e,i,r){_3.call(this,t,i,r),this.c=n,this.b=e}function _E(n,t,e,i,r){R4.call(this,t,i,r),this.c=n,this.a=e}function _T(n,t,e,i,r){R6.call(this,t,i,r),this.c=n,this.a=e}function _j(n,t,e,i,r){_3.call(this,t,i,r),this.c=n,this.a=e}function _S(n,t){return CY(UC(n.d,t),23)||CY(UC(n.e,t),23)}function _P(n,t){var e,i;return e=t.ld(),!!(i=n.Fe(e))&&xL(i.e,t.md())}function _O(n,t){var e;return new vj(e=t.ld(),n.e.pc(e,CY(t.md(),16)))}function _C(n){var t;return t=n.length,OB(nwU.substr(nwU.length-t,t),n)}function _I(n){if(ncv(n))return n.c=n.a,n.a.Pb();throw(new dF).e}function _A(n,t){return 0==t||0==n.e?n:t>0?noq(n,t):Y5(n,-t)}function _L(n,t){return 0==t||0==n.e?n:t>0?Y5(n,t):noq(n,-t)}function _N(n){yL.call(this,null==n?nbi:J2(n),jM(n,82)?CY(n,82):null)}function _x(n){var t;return!n.c&&jM(t=n.r,90)&&(n.c=CY(t,29)),n.c}function _$(n){var t;return zU(t=new $1,n),VD(t,(nlL(),nHP),null),t}function _D(n){var t,e;return t=n.c.i,e=n.d.i,t.k==(ni8(),n$g)&&e.k==n$g}function _R(n){return js(n&nwO,n>>22&nwO,n<0?nwC:0)}function _K(n,t,e){var i;return(i=n.Ih(t))>=0?n.Lh(i,e,!0):naB(n,t,e)}function _F(n,t){n._i(n.i+1),jH(n,n.i,n.Zi(n.i,t)),n.Mi(n.i++,t),n.Ni()}function __(n){var t,e;++n.j,t=n.g,e=n.i,n.g=null,n.i=0,n.Oi(e,t),n.Ni()}function _B(n,t,e){var i;X7(i=new jS(n.a),n.a.a),nr3(i.f,t,e),n.a.a=i}function _H(n,t,e,i){var r;for(r=0;r<nCv;r++)AI(n.a[r][t.g],e,i[t.g])}function _U(n,t,e,i){var r;for(r=0;r<nCm;r++)AA(n.a[t.g][r],e,i[t.g])}function _G(n,t){var e;return(e=CY(n.c.xc(t),16))||(e=n.ic(t)),n.pc(t,e)}function _q(n){var t,e;return NP(n),qL(e=n.length,nbX),VW(t=new Bf(Gr(JF(JF(5,e),e/10|0))),n),t}function _X(n,t,e,i){var r;return function(n,t,e,i,r){var a,c;for(c=0,a=0;c<r;c++)a=JF(a,JB(RF(t[c],nwW),RF(i[c],nwW))),n[c]=AW(a),a=A9(a,32);for(;c<e;c++)a=JF(a,RF(t[c],nwW)),n[c]=AW(a),a=A9(a,32)}(r=BJ(n4s,nwl,28,t,15,1),n,t,e,i),r}function _z(n,t){if(n<0||n>t)throw new pC(nr8(n,t,"index")).e;return n}function _V(n,t){var e;return RN(t,n.c.length),e=n.c[t],mY(n.c,t,1),e}function _W(n,t){return xf(n),xf(t),n==t?0:n<t?-1:1}function _Q(n){var t;return isNaN(t=n.e+n.f)&&O6(n.d)?n.d:t}function _J(n,t){return n.a?EY(n.a,n.b):n.a=new Sv(n.d),EQ(n.a,t),n}function _Y(n,t){return EK(t)?null==t?nch(n.f,null):zG(n.i,t):nch(n.f,t)}function _Z(n,t){E2.call(this,t.zd(),-6&t.yd()),xf(n),this.a=n,this.b=t}function _1(n,t){E3.call(this,t.zd(),-6&t.yd()),xf(n),this.a=n,this.b=t}function _0(n,t){E4.call(this,t.zd(),-6&t.yd()),xf(n),this.a=n,this.b=t}function _2(n,t,e){w5.call(this,e),this.b=n,this.c=t,this.d=(YR(),n2X)}function _3(n,t,e){this.d=n,this.k=+!!t,this.f=+!!e,this.o=-1,this.p=0}function _4(n){this.c=n,this.a=new fU(this.c.a),this.b=new fU(this.c.b)}function _6(){this.e=new du,this.c=new du,this.d=new du,this.b=new du}function _5(){this.g=new dZ,this.b=new dZ,this.a=new du,this.k=new du}function _8(){this.a=new d9,this.b=new gw,this.d=new tg,this.e=new tE}function _9(n,t,e){this.a=n,this.c=t,this.d=e,jB(t.e,this),jB(e.b,this)}function _7(n,t,e){var i,r;for(r=0,i=0;r<t.length;r++)i+=n.tg(t[r],i,e)}function Bn(n){var t;return 0==(t=n.b).b?null:CY(nnt(t,0),65).b}function Bt(n){return n.a?n.e?Bt(n.e):null:n}function Be(n){var t;return!n.a&&jM(t=n.r,156)&&(n.a=CY(t,156)),n.a}function Bi(n,t){return!!LR(n.a,t)&&(_Y(n.a,t),!0)}function Br(n,t,e){return KO(t,n.e.Rd().gc()),KO(e,n.c.Rd().gc()),n.a[t][e]}function Ba(n,t,e){this.a=n,this.b=t,this.c=e,jB(n.t,this),jB(t.i,this)}function Bc(n,t,e,i){this.f=n,this.e=t,this.d=e,this.b=i,this.c=i?i.d:null}function Bo(){this.b=new vq,this.a=new vq,this.b=new vq,this.a=new vq}function Bu(){Bu=T,mT(),n27=new dH,n3n=new gA}function Bs(n){var t;for(xa(n),t=0;n.a.Bd(new nu);)t=JF(t,1);return t}function Bh(n,t){return xf(t),n.c<n.d&&(n.Se(t,n.c++),!0)}function Bf(n){TQ(this),C9(n>=0,"Initial capacity must not be negative")}function Bl(){Bl=T,nQ4=new wX("org.eclipse.elk.labels.labelManager")}function Bb(){Bb=T,nDA=new P5("separateLayerConnections",(Vd(),nD$))}function Bw(){Bw=T,nqV=new Mf("REGULAR",0),nqz=new Mf("CRITICAL",1)}function Bd(){Bd=T,nW1=new ML("FIXED",0),nWZ=new ML("CENTER_NODE",1)}function Bg(){Bg=T,nRv=new kP("QUADRATIC",0),nRy=new kP("SCANLINE",1)}function Bp(){Bp=T,nRj=W4((q$(),Vw(DY(nAv,1),nbG,322,0,[nRE,nRM,nRT])))}function Bm(){Bm=T,nRC=W4((qv(),Vw(DY(nAy,1),nbG,351,0,[nRS,nRO,nRP])))}function Bv(){Bv=T,nRt=W4((Xa(),Vw(DY(nAd,1),nbG,372,0,[nRn,nD7,nD9])))}function By(){By=T,nRH=W4((VH(),Vw(DY(nAE,1),nbG,460,0,[nR_,nRF,nRB])))}function Bk(){Bk=T,nKp=W4((zJ(),Vw(DY(nAC,1),nbG,299,0,[nKd,nKg,nKw])))}function BM(){BM=T,nKk=W4((UM(),Vw(DY(nAI,1),nbG,311,0,[nKv,nKy,nKm])))}function BE(){BE=T,nGr=W4((QS(),Vw(DY(nAx,1),nbG,390,0,[nGt,nGe,nGi])))}function BT(){BT=T,nGH=W4((zl(),Vw(DY(nAB,1),nbG,387,0,[nGF,nG_,nGB])))}function Bj(){Bj=T,nGX=W4((Wm(),Vw(DY(nAH,1),nbG,349,0,[nGq,nGU,nGG])))}function BS(){BS=T,nGK=W4((qy(),Vw(DY(nA_,1),nbG,463,0,[nGR,nG$,nGD])))}function BP(){BP=T,nGQ=W4((WQ(),Vw(DY(nAU,1),nbG,350,0,[nGz,nGV,nGW])))}function BO(){BO=T,nG1=W4((qm(),Vw(DY(nAG,1),nbG,352,0,[nGZ,nGJ,nGY])))}function BC(){BC=T,nG4=W4((Vm(),Vw(DY(nAq,1),nbG,388,0,[nG2,nG3,nG0])))}function BI(){BI=T,nXw=W4((Wv(),Vw(DY(nLn,1),nbG,392,0,[nXb,nXl,nXf])))}function BA(){BA=T,nzz=W4((WW(),Vw(DY(nLc,1),nbG,393,0,[nzG,nzq,nzX])))}function BL(){BL=T,nVO=W4((zf(),Vw(DY(nLu,1),nbG,300,0,[nVS,nVP,nVj])))}function BN(){BN=T,nVL=W4((Y1(),Vw(DY(nLs,1),nbG,445,0,[nVC,nVI,nVA])))}function Bx(){Bx=T,nVD=W4((nnj(),Vw(DY(nLh,1),nbG,456,0,[nVN,nV$,nVx])))}function B$(){B$=T,nVJ=W4((Jq(),Vw(DY(nLf,1),nbG,394,0,[nVW,nVQ,nVV])))}function BD(){BD=T,nW$=W4((HY(),Vw(DY(nLw,1),nbG,439,0,[nWL,nWx,nWN])))}function BR(){BR=T,nql=W4((qp(),Vw(DY(nAV,1),nbG,464,0,[nqs,nqh,nqf])))}function BK(){BK=T,nIh=W4((HS(),Vw(DY(nCy,1),nbG,471,0,[nIu,nIo,nIs])))}function BF(){BF=T,nIc=W4((GL(),Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa])))}function B_(){B_=T,nIw=W4((Uk(),Vw(DY(nCM,1),nbG,472,0,[nIb,nIl,nIf])))}function BB(){BB=T,nCK=W4((WJ(),Vw(DY(nCi,1),nbG,108,0,[nC$,nCD,nCR])))}function BH(){BH=T,nxG=W4((Uy(),Vw(DY(nI3,1),nbG,391,0,[nxH,nxB,nxU])))}function BU(){BU=T,nZO=W4((QO(),Vw(DY(nLF,1),nbG,346,0,[nZS,nZj,nZP])))}function BG(){BG=T,nWV=W4((Js(),Vw(DY(nLm,1),nbG,444,0,[nWq,nWX,nWz])))}function Bq(){Bq=T,nZa=W4((GN(),Vw(DY(nLD,1),nbG,278,0,[nZe,nZi,nZr])))}function BX(){BX=T,n1q=W4((QP(),Vw(DY(nLV,1),nbG,280,0,[n1U,n1H,n1G])))}function Bz(n,t){return n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),YA(n.o,t)}function BV(n){var t,e,i,r;r=n.d,t=n.a,e=n.b,i=n.c,n.d=e,n.a=i,n.b=r,n.c=t}function BW(n){return n.g||(n.g=new oY),n.g.c||(n.g.c=new wJ(n)),n.g.c}function BQ(n,t,e,i){var r;return function(n,t,e,i,r){var a,c;if(a=JF(RF(t[0],nwW),RF(i[0],nwW)),n[0]=AW(a),a=A9(a,32),e>=r){for(c=1;c<r;c++)a=JF(a,JF(RF(t[c],nwW),RF(i[c],nwW))),n[c]=AW(a),a=A9(a,32);for(;c<e;c++)a=JF(a,RF(t[c],nwW)),n[c]=AW(a),a=A9(a,32)}else{for(c=1;c<e;c++)a=JF(a,JF(RF(t[c],nwW),RF(i[c],nwW))),n[c]=AW(a),a=A9(a,32);for(;c<r;c++)a=JF(a,RF(i[c],nwW)),n[c]=AW(a),a=A9(a,32)}0!=Qv(a,0)&&(n[c]=AW(a))}(r=BJ(n4s,nwl,28,t+1,15,1),n,t,e,i),r}function BJ(n,t,e,i,r,a){var c;return c=ntf(r,i),10!=r&&Vw(DY(n,a),t,e,r,c),c}function BY(n,t,e){var i,r;if(null!=e)for(i=0;i<t;++i)r=e[i],n.Qi(i,r)}function BZ(n,t){var e;return(e=new _).c=!0,e.d=t.md(),nfR(n,t.ld(),e)}function B1(n,t){var e;return e=$B(CW(new H8(n,t))),IJ(new H8(n,t)),e}function B0(n,t,e){CY(n.b,68),CY(n.b,68),CY(n.b,68),Gd(n.a,new Cf(e,t,n))}function B2(n,t,e){if(n<0||t>e||t<n)throw new p4(ndw+n+ndg+t+ndi+e).e}function B3(n){n?(this.c=n,this.b=null):(this.c=null,this.b=new du)}function B4(n,t){yH.call(this,n,t),this.a=BJ(nO4,nbL,447,2,0,1),this.b=!0}function B6(n){VV.call(this,n,0),Pr(this),this.d.b=this.d,this.d.a=this.d}function B5(n){this.e=n,this.b=this.e.a.entries(),this.a=BJ(nPa,nl7,1,0,5,1)}function B8(){B8=T,nG8=AX(IG(new xm,(niF(),nxV),(nlB(),n$8)),nxY,nDv)}function B9(n){var t;return n.a||-1==n.b||(t=n.c.Dh(),n.a=Gt(t,n.b)),n.a}function B7(n,t){return!(n.Si()&&n.Hc(t))&&(n.Hi(t),!0)}function Hn(n,t){return $9(t,"Horizontal alignment cannot be null"),n.b=t,n}function Ht(n,t,e){var i;return nlU(),i=nlu(n,t),e&&i&&n4i&&$G(n4i,n)&&(i=null),i}function He(n,t,e){var i;i=n.b[e.c.p][e.p],i.b+=t.b,i.c+=t.c,i.a+=t.a,++i.a}function Hi(n,t,e){var i;n.d[t.g]=e,(i=n.g.c)[t.g]=nP_.Math.max(i[t.g],e+1)}function Hr(n,t){var e,i;return e=n.a-t.a,i=n.b-t.b,nP_.Math.sqrt(e*e+i*i)}function Ha(n,t){var e;for(e=t.Kc();e.Ob();)nsu(n,CY(e.Pb(),36),0,0)}function Hc(n,t,e){var i;for(i=n.Kc();i.Ob();)nuW(CY(i.Pb(),36),t,e)}function Ho(n,t){var e;return e=n.e,LR(e.e,t)||Zq(n.e,t,new ZY(t)),CY(UC(n.e,t),113)}function Hu(n,t,e,i){return xf(n),xf(t),xf(e),xf(i),new L1(n,t,new B)}function Hs(n,t,e,i){this.ak(),this.a=t,this.b=n,this.c=new LI(this,t,e,i)}function Hh(n,t,e,i,r,a){KJ.call(this,t,i,r,a),this.c=n,this.b=e}function Hf(n,t,e,i,r,a){KJ.call(this,t,i,r,a),this.c=n,this.a=e}function Hl(n,t){var e,i,r;return r=n.r,i=n.d,(e=nhL(n,t,!0)).b!=r||e.a!=i}function Hb(n,t,e){var i;return(i=ncz(n.b,t))?nhZ(Ur(n,i),e):null}function Hw(n,t){var e;return(e=n.Ih(t))>=0?n.Lh(e,!0,!0):naB(n,t,!0)}function Hd(n){return(NP(n),jM(n,204))?CY(n,204):new fe(n)}function Hg(){var n,t,e,i;Hg=T,nQF=new c3,nQB=new c4,n=(nl_(),nYM),t=nQF,e=nYt,i=nQB,xj(),nQ_=new ps(Vw(DY(nPl,1),nbL,44,0,[(nnV(n,t),new vj(n,t)),(nnV(e,i),new vj(e,i))]))}function Hp(){Hp=T,nzB=new My("LEAF_NUMBER",0),nzH=new My("NODE_SIZE",1)}function Hm(n){n.a=BJ(n4s,nwl,28,n.b+1,15,1),n.c=BJ(n4s,nwl,28,n.b,15,1),n.d=0}function Hv(n,t){if(null==n.g||t>=n.i)throw new Tc(t,n.i).e;return n.g[t]}function Hy(n,t,e){if(Wl(n,e),null!=e&&!n.fk(e))throw(new dA).e;return e}function Hk(n,t){return 10!=UR(t)&&Vw(WZ(t),t.Sm,t.__elementTypeId$,UR(t),n),n}function HM(n,t,e,i){$P(),i=i||nOG,function n(t,e,i,r,a,c){if(r-i<7)return void function(n,t,e,i){var r,a,c;for(r=t+1;r<e;++r)for(a=r;a>t&&i.Ne(n[a-1],n[a])>0;--a)c=n[a],NK(n,a,n[a-1]),NK(n,a-1,c)}(e,i,r,c);if(s=(u=i+a)+((o=r+a)-u>>1),n(e,t,u,s,-a,c),n(e,t,s,o,-a,c),0>=c.Ne(t[s-1],t[s])){for(;i<r;)NK(e,i++,t[u++]);return}var o,u,s,h,f=u,l=i;for(h=s;l<r;)h>=o||f<s&&0>=c.Ne(t[f],t[h])?NK(e,l++,t[f++]):NK(e,l++,t[h++])}(n.slice(t,e),n,t,e,-t,i)}function HE(n,t,e,i,r){return t<0?naB(n,e,i):CY(e,69).wk().yk(n,n.hi(),t,i,r)}function HT(){HT=T,nCL=W4((Hj(),Vw(DY(nO6,1),nbG,304,0,[nCO,nCC,nCI,nCA])))}function Hj(){Hj=T,nCO=new yF("All",0),nCC=new Tz,nCI=new jb,nCA=new TX}function HS(){HS=T,nIu=new y1(nd1,0),nIo=new y1(ndJ,1),nIs=new y1(nd0,2)}function HP(){HP=T,nhC(),n3R=nwF,n3D=nw_,n3F=new fA(nwF),n3K=new fA(nw_)}function HO(){HO=T,nIG=W4((zQ(),Vw(DY(nCT,1),nbG,417,0,[nIU,nI_,nIB,nIH])))}function HC(){HC=T,nNM=W4((nnc(),Vw(DY(nIZ,1),nbG,406,0,[nNv,nNm,nNy,nNk])))}function HI(){HI=T,nIW=W4((nno(),Vw(DY(nCj,1),nbG,332,0,[nIX,nIq,nIz,nIV])))}function HA(){HA=T,n$f=W4((ZT(),Vw(DY(nAn,1),nbG,389,0,[n$h,n$u,n$o,n$s])))}function HL(){HL=T,nx7=W4((Vp(),Vw(DY(nI7,1),nbG,416,0,[nx6,nx9,nx5,nx8])))}function HN(){HN=T,nDJ=W4((Vg(),Vw(DY(nAb,1),nbG,421,0,[nDz,nDV,nDW,nDQ])))}function Hx(){Hx=T,nDD=W4((Vd(),Vw(DY(nAf,1),nbG,371,0,[nD$,nDN,nDx,nDL])))}function H$(){H$=T,nGs=W4((nnT(),Vw(DY(nA$,1),nbG,203,0,[nGo,nGu,nGc,nGa])))}function HD(){HD=T,nGA=W4((Zu(),Vw(DY(nAK,1),nbG,284,0,[nGO,nGP,nGC,nGI])))}function HR(){HR=T,nRJ=new k$(npL,0),nRQ=new k$("IMPROVE_STRAIGHTNESS",1)}function HK(n,t){var e,i;return i=t/n.c.Rd().gc()|0,e=t%n.c.Rd().gc(),Br(n,i,e)}function HF(n){var t;if(n.nl())for(t=n.i-1;t>=0;--t)GO(n,t);return Fc(n)}function H_(n){var t,e;if(!n.b)return null;for(e=n.b;t=e.a[0];)e=t;return e}function HB(n){var t,e;if(!n.b)return null;for(e=n.b;t=e.a[1];)e=t;return e}function HH(n,t){if(t.a)throw new ph(ndT).e;LX(n.a,t),t.a=n,n.j||(n.j=t)}function HU(n,t){E4.call(this,t.zd(),-16449&t.yd()),xf(n),this.a=n,this.c=t}function HG(){HG=T,nVT=W4((nti(),Vw(DY(nLo,1),nbG,354,0,[nVE,nVk,nVM,nVy])))}function Hq(){Hq=T,nzE=W4((WV(),Vw(DY(nLt,1),nbG,353,0,[nzM,nzy,nzk,nzv])))}function HX(){HX=T,nq9=W4((ntU(),Vw(DY(nA5,1),nbG,405,0,[nq4,nq6,nq5,nq8])))}function Hz(){Hz=T,nZh=W4((JG(),Vw(DY(nLR,1),nbG,223,0,[nZs,nZo,nZc,nZu])))}function HV(){HV=T,nZN=W4((ntG(),Vw(DY(nL_,1),nbG,291,0,[nZL,nZC,nZI,nZA])))}function HW(){HW=T,n1A=W4((YZ(),Vw(DY(nLX,1),nbG,386,0,[n1C,n1I,n1O,n1P])))}function HQ(){HQ=T,n1Z=W4((Yw(),Vw(DY(nLQ,1),nbG,320,0,[n1Y,n1W,n1J,n1Q])))}function HJ(){HJ=T,n14=W4((Wp(),Vw(DY(nLY,1),nbG,415,0,[n10,n12,n11,n13])))}function HY(){HY=T,nWL=new MO(nkg,0),nWx=new MO(nyA,1),nWN=new MO(npL,2)}function HZ(n,t,e,i,r){return xf(n),xf(t),xf(e),xf(i),xf(r),new L1(n,t,i)}function H1(n,t){var e;return(e=CY(_Y(n.e,t),400))?(II(e),e.e):null}function H0(n,t){var e;return -1!=(e=H6(n,t,0))&&(_V(n,e),!0)}function H2(n,t,e){var i;return xa(n),(i=new nc).a=t,n.a.Nb(new yV(i,e)),i.a}function H3(n){var t;if(!q7(n))throw(new dF).e;return n.e=1,t=n.d,n.d=null,t}function H4(n){var t;return Ty(n)&&!isNaN(t=0-n)?t:zC(VL(n))}function H6(n,t,e){for(;e<n.c.length;++e)if(xL(t,n.c[e]))return e;return -1}function H5(n){var t;return t=CY(I0(n.j,0),12),CY(niK(t,(nlF(),nK6)),12)}function H8(n,t){var e;this.f=n,this.b=t,e=CY(NR(n.b,t),260),this.c=e?e.b:null}function H9(){CE(),this.b=new dc,this.f=new dc,this.g=new dc,this.e=new dc}function H7(n){jZ(this),this.g=n?De(n,n.ie()):null,this.f=n,$w(this),this.je()}function Un(n){var t;null!=(t=n.jj())&&-1!=n.d&&CY(t,94).xh(n),n.i&&n.i.oj()}function Ut(n){var t;for(t=n.p+1;t<n.c.a.c.length;++t)--CY(I0(n.c.a,t),10).p}function Ue(n){P$(!!n.c),Ch(n.f.g,n.d),n.c.Qb(),n.c=null,n.b=Vi(n),n.d=n.f.g}function Ui(n){return!n.b&&(n.b=new AU(n,n00,n),n.a||(n.a=new P6(n,n))),n.b}function Ur(n,t){var e,i;return(i=(e=CY(t,690)).xi())||e.Ai(i=new EA(n,t)),i}function Ua(n,t){var e,i;return(i=(e=CY(t,692)).$k())||e.cl(i=new Kc(n,t)),i}function Uc(n,t){var e,i;return yc(),e=K7(n),i=K7(t),!!e&&!!i&&!nnf(e.k,i.k)}function Uo(n,t){return xL(t,I0(n.f,0))||xL(t,I0(n.f,1))||xL(t,I0(n.f,2))}function Uu(n,t){if(t<0)throw new pC(nME+t).e;return Fo(n,t+1),I0(n.j,t)}function Us(n,t,e,i){if(!n)throw new pN(nuK(t,Vw(DY(nPa,1),nl7,1,5,[e,i]))).e}function Uh(n,t,e,i,r,a,c){qX.call(this,t,i,r,a,c),this.c=n,this.b=e}function Uf(n,t,e){var i,r;for(r=0,i=10;r<e-1;r++)t<i&&(n.a+="0"),i*=10;n.a+=t}function Ul(n){var t,e;return t=BJ(n4u,nb5,28,e=n.length,15,1),Nr(n,0,e,t,0),t}function Ub(n){var t,e;return I8(),(e=nOh[t=n+128])||(e=nOh[t]=new fC(n)),e}function Uw(n){return Ch(n.d.a.e.g,n.b),Px(n.c!=n.d.a.d),n.a=n.c,n.c=n.c.a,n.a}function Ud(n){(!this.q?($O(),$O(),nOB):this.q).Ac(n.q?n.q:($O(),$O(),nOB))}function Ug(n,t){var e;return(e=Ym(n.d,t))>=0?nnd(n,e,!0,!0):naB(n,t,!0)}function Up(n){var t;return null==(t=qr(zA(n,32)))&&(Zm(n),t=qr(zA(n,32))),t}function Um(n){var t;return n.Oh()||(t=N$(n.Dh())-n.ji(),n.$h().Mk(t)),n.zh()}function Uv(n,t){nIJ=new n1,nIY=t,CY((nIQ=n).b,68),B0(nIQ,nIJ,null),nfn(nIQ)}function Uy(){Uy=T,nxH=new y7("XY",0),nxB=new y7("X",1),nxU=new y7("Y",2)}function Uk(){Uk=T,nIb=new y0("TOP",0),nIl=new y0(ndJ,1),nIf=new y0(nd3,2)}function UM(){UM=T,nKv=new k_(npL,0),nKy=new k_("TOP",1),nKm=new k_(nd3,2)}function UE(){UE=T,nGL=new kW("INPUT_ORDER",0),nGN=new kW("PORT_DEGREE",1)}function UT(){UT=T,nOi=js(nwO,nwO,524287),nOr=js(0,0,nwI),nOa=_R(1),_R(2),nOc=_R(0)}function Uj(n){var t;return n.d!=n.r&&(t=nec(n),n.e=!!t&&t.lk()==njM,n.d=t),n.e}function US(n,t,e){var i;return i=n.g[t],jH(n,t,n.Zi(t,e)),n.Ri(t,e,i),n.Ni(),i}function UP(n,t){var e;return(e=n.dd(t))>=0&&(n.gd(e),!0)}function UO(n,t){var e;for(NP(n),NP(t),e=!1;t.Ob();)e|=n.Fc(t.Pb());return e}function UC(n,t){var e;return(e=CY(NR(n.e,t),400))?(jx(n,e),e.e):null}function UI(n){var t,e;return(t=n/60|0,0==(e=n%60))?""+t:""+t+":"+e}function UA(n,t){var e=n.a[t],i=(VU(),nOt)[typeof e];return i?i(e):Qo(typeof e)}function UL(n,t){var e;return JC(n),e=new OV(new _0(t,n.a)),new Aa(n,e)}function UN(n){var t;return null!=(t=0==n.b.c.length?null:I0(n.b,0))&&Xd(n,0),t}function Ux(n,t){var e;for(++n.d,++n.c[t],e=t+1;e<n.a.length;)++n.a[e],e+=e&-e}function U$(n,t,e,i){nlU(),dr.call(this,26),this.c=n,this.a=t,this.d=e,this.b=i}function UD(n,t){for(;t[0]<n.length&&Tp(" \r\n",niT(xq(n,t[0])))>=0;)++t[0]}function UR(n){return null==n.__elementTypeCategory$?10:n.__elementTypeCategory$}function UK(n,t){return t==(Ci(),Ci(),nOJ)?n.toLocaleLowerCase():n.toLowerCase()}function UF(n){if(!n.e)throw(new dF).e;return n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function U_(n){if(!n.c)throw(new dF).e;return n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function UB(n){var t;for(++n.a,t=n.c.a.length;n.a<t;++n.a)if(n.c.b[n.a])return}function UH(n){var t;return!!(t=CY(niK(n,(nlF(),nKP)),313))&&t.a==n}function UU(n){var t;return!!(t=CY(niK(n,(nlF(),nKP)),313))&&t.i==n}function UG(){UG=T,nxZ=W4((niF(),Vw(DY(nI4,1),nbG,367,0,[nxV,nxW,nxQ,nxJ,nxY])))}function Uq(){Uq=T,nD3=W4((ne2(),Vw(DY(nAw,1),nbG,375,0,[nDZ,nD0,nD2,nD1,nDY])))}function UX(){UX=T,nR$=W4((Zo(),Vw(DY(nAk,1),nbG,348,0,[nRA,nRI,nRN,nRx,nRL])))}function Uz(){Uz=T,nGd=W4((nna(),Vw(DY(nAD,1),nbG,323,0,[nGw,nGf,nGl,nGh,nGb])))}function UV(){UV=T,nFT=W4((Yb(),Vw(DY(nAL,1),nbG,171,0,[nFE,nFv,nFy,nFk,nFM])))}function UW(){UW=T,nz_=W4((nic(),Vw(DY(nLr,1),nbG,368,0,[nzK,nz$,nzF,nzD,nzR])))}function UQ(){UQ=T,nWG=W4((nol(),Vw(DY(nLp,1),nbG,373,0,[nW_,nWF,nWH,nWB,nWU])))}function UJ(){UJ=T,nW8=W4((nru(),Vw(DY(nLM,1),nbG,324,0,[nW2,nW3,nW5,nW4,nW6])))}function UY(){UY=T,nZt=W4((Ju(),Vw(DY(nL$,1),nbG,88,0,[nY7,nY9,nY8,nY5,nZn])))}function UZ(){UZ=T,nQV=W4((ZW(),Vw(DY(nLC,1),nbG,170,0,[nQX,nQq,nQU,nQz,nQG])))}function U1(){U1=T,nZW=W4((Z0(),Vw(DY(nLH,1),nbG,256,0,[nZX,nZV,nZG,nZq,nZz])))}function U0(){U0=T,n1k=W4((nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])))}function U2(){U2=T,nCz=new yJ("BY_SIZE",0),nCV=new yJ("BY_SIZE_AND_SHAPE",1)}function U3(){U3=T,nNZ=new y9("EADES",0),nN1=new y9("FRUCHTERMAN_REINGOLD",1)}function U4(){U4=T,nRD=new kL("READING_DIRECTION",0),nRR=new kL("ROTATION",1)}function U6(){U6=T,n$e=new td,n$i=new tv,n$n=new ty,n$t=new tm,n$r=new tk}function U5(n){this.b=new du,this.a=new du,this.c=new du,this.d=new du,this.e=n}function U8(n){this.g=n,this.f=new du,this.a=nP_.Math.min(this.g.c.c,this.g.d.c)}function U9(n,t,e){Oy.call(this),GI(this),this.a=n,this.c=e,this.b=t.d,this.f=t.e}function U7(n,t,e){if(null==t)throw(new d$).e;var i=D$(n,t);if(e){var r=e.oe();n.a[t]=r(e)}else delete n.a[t];return i}function Gn(n,t){var e;return(e=CY(NR(n.a,t),137))||(e=new nQ,xM(n.a,t,e)),e}function Gt(n,t){var e;return null==n.i&&nhr(n),e=n.i,t>=0&&t<e.length?e[t]:null}function Ge(n){var t;t=new gx,B7((n.q||(n.q=new Lk(n02,n,11,10)),n.q),t)}function Gi(n){return((2&n.i)!=0?"interface ":(1&n.i)!=0?"":"class ")+(PL(n),n.o)}function Gr(n){return Qv(n,nl3)>0?nl3:0>Qv(n,nbJ)?nbJ:AW(n)}function Ga(n){return n<3?(qL(n,nb_),n+1):n<nbH?Dy(n/.75+1):nl3}function Gc(n,t){return xf(t),Ls(n),!!n.d.Ob()&&(t.Cd(n.d.Pb()),!0)}function Go(n,t){return!!Xq(n,t,AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15))))}function Gu(n,t){var e;for(e=n.Kc();e.Ob();)VD(CY(e.Pb(),72),(nlF(),nKJ),t)}function Gs(n,t){var e;return JC(n),e=new $k(n,n.a.zd(),4|n.a.yd(),t),new Aa(n,e)}function Gh(n){var t;P$(!!n.c),t=n.c.a,Gy(n.d,n.c),n.b==n.c?n.b=t:--n.a,n.c=null}function Gf(n){return n.a>=-.01&&n.a<=nd5&&(n.a=0),n.b>=-.01&&n.b<=nd5&&(n.b=0),n}function Gl(n){var t,e;for(nue(),e=ny1,t=0;t<n.length;t++)n[t]>e&&(e=n[t]);return e}function Gb(n,t){var e;if(!(e=noS(n.Dh(),t)))throw new pN(nET+t+nEP).e;return e}function Gw(n,t){var e;for(e=n;DV(e);)if((e=DV(e))==t)return!0;return!1}function Gd(n,t){var e,i,r,a;for(xf(t),i=n.c,r=0,a=i.length;r<a;++r)e=i[r],t.Cd(e)}function Gg(n,t,e,i,r,a){var c;Ra(c=_$(i),r),Ru(c,a),naR(n.a,i,new Cw(c,t,e.f))}function Gp(n,t){nnh(n,(nuI(),nVG),t.f),nnh(n,nVB,t.e),nnh(n,nVU,t.d),nnh(n,nV_,t.c)}function Gm(n,t){this.a=new dc,this.e=new dc,this.b=(QS(),nGi),this.c=n,this.b=t}function Gv(n){this.d=n,this.c=n.c.vc().Kc(),this.b=null,this.a=null,this.e=(pw(),nPZ)}function Gy(n,t){var e;return e=t.c,t.a.b=t.b,t.b.a=t.a,t.a=t.b=null,t.c=null,--n.b,e}function Gk(n){if(n<0)throw new pN("Illegal Capacity: "+n).e;this.g=this.aj(n)}function GM(n,t){return T6(),qM(nbQ),nP_.Math.abs(n-t)<=nbQ||n==t||isNaN(n)&&isNaN(t)}function GE(n,t){var e,i,r,a;for(i=n.d,r=0,a=i.length;r<a;++r)e=i[r],jD(n.g,e).a=t}function GT(n){var t;return n.w?n.w:((t=n.Db>>16!=6?null:CY(ncs(n),241))&&!t.Vh()&&(n.w=t),t)}function Gj(n,t){var e,i,r,a,c,o,u;i=n.a,r=n,a=t,c=null,u=r.a,r.a=a,(4&r.Db)!=0&&(1&r.Db)==0&&(o=new LM(r,1,5,u,r.a),c?ne4(c,o):c=o),e=c,i==t||n.e||(e=nfH(n,t,e)),e&&e.oj()}function GS(n,t,e){var i,r;i=t;do r=pj(n.p[i.p])+e,n.p[i.p]=r,i=n.a[i.p];while(i!=t)}function GP(n,t,e){var i=function(){return n.apply(i,arguments)};return t.apply(i,e),i}function GO(n,t){if(null==n.g||t>=n.i)throw new Tc(t,n.i).e;return n.Wi(t,n.g[t])}function GC(n){return JC(n),C7(!0,"n may not be negative"),new Aa(n,new qV(n.a))}function GI(n){HS(),n.b=nIo,Uk(),n.f=nIl,qL(2,nbU),n.d=new Bf(2),n.e=new mm}function GA(n){this.b=(NP(n),new O8(n)),this.a=new du,this.d=new du,this.e=new mm}function GL(){GL=T,nIi=new yZ("BEGIN",0),nIr=new yZ(ndJ,1),nIa=new yZ("END",2)}function GN(){GN=T,nZe=new MV(ndJ,0),nZi=new MV("HEAD",1),nZr=new MV("TAIL",2)}function Gx(){Gx=T,nzO=Zg(Zg(Zg(yg(new xm,(ntU(),nq6)),(nsi(),nXs)),nXe),nXc)}function G$(){G$=T,nzI=Zg(Zg(Zg(yg(new xm,(ntU(),nq8)),(nsi(),nXr)),nq7),nXi)}function GD(){GD=T,nRm=W4((nr_(),Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl])))}function GR(){GR=T,nRW=W4((nrt(),Vw(DY(nAT,1),nbG,283,0,[nRG,nRU,nRX,nRq,nRV,nRz])))}function GK(){GK=T,nR6=W4((neR(),Vw(DY(nAS,1),nbG,281,0,[nR2,nR0,nR4,nR1,nR3,nRZ])))}function GF(){GF=T,nKe=W4((ni2(),Vw(DY(nAP,1),nbG,282,0,[nKn,nR8,nKt,nR7,nR9,nR5])))}function G_(){G_=T,n$k=W4((ni8(),Vw(DY(nAa,1),nbG,273,0,[n$v,n$m,n$g,n$y,n$p,n$d])))}function GB(){GB=T,nJe=W4((nnS(),Vw(DY(nLN,1),nbG,255,0,[nQ5,nQ7,nJn,nJt,nQ8,nQ9])))}function GH(){GH=T,nJk=W4((neW(),Vw(DY(nLx,1),nbG,298,0,[nJy,nJv,nJm,nJg,nJd,nJp])))}function GU(){GU=T,nZp=W4((nij(),Vw(DY(nLK,1),nbG,321,0,[nZd,nZb,nZg,nZf,nZw,nZl])))}function GG(){GG=T,nZ2=W4((nie(),Vw(DY(nLU,1),nbG,101,0,[nZ0,nZ1,nZZ,nZQ,nZY,nZJ])))}function Gq(){Gq=T,nZ7=W4((nap(),Vw(DY(nLG,1),nbG,279,0,[nZ8,nZ6,nZ5,nZ4,nZ3,nZ9])))}function GX(){GX=T,nCm=nCv=(GL(),Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa])).length}function Gz(n,t){var e;return(e=XG(n,t,AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15)))))?e.i:null}function GV(n,t){return T6(),qM(nbQ),nP_.Math.abs(n-t)<=nbQ||n==t||isNaN(n)&&isNaN(t)}function GW(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,1,e,n.b))}function GQ(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,3,e,n.b))}function GJ(n,t){var e;e=n.f,n.f=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,3,e,n.f))}function GY(n,t){var e;e=n.g,n.g=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,4,e,n.g))}function GZ(n,t){var e;e=n.i,n.i=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,5,e,n.i))}function G1(n,t){var e;e=n.j,n.j=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,6,e,n.j))}function G0(n,t){var e;e=n.j,n.j=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,1,e,n.j))}function G2(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,4,e,n.c))}function G3(n,t){var e;e=n.k,n.k=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,2,e,n.k))}function G4(n,t){var e;e=n.a,n.a=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FL(n,0,e,n.a))}function G6(n,t){var e;e=n.s,n.s=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FN(n,4,e,n.s))}function G5(n,t){var e;e=n.t,n.t=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FN(n,5,e,n.t))}function G8(n,t){var e;e=n.d,n.d=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new FN(n,2,e,n.d))}function G9(n,t){var e;e=n.F,n.F=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,5,e,t))}function G7(n,t){var e;return(e=CY(NR((yE(),n0C),n),57))?e.gk(t):BJ(nPa,nl7,1,t,5,1)}function qn(n,t){var e;return t in n.a&&(e=D$(n,t).re())?e.a:null}function qt(n,t,e){if(Wl(n,e),!n.kl()&&null!=e&&!n.fk(e))throw(new dA).e;return e}function qe(n,t){return n.n=t,n.n?(n.f=new du,n.e=new du):(n.f=null,n.e=null),n}function qi(n,t){if(n){t.n=n;var e=t.Ae()?null:nPH[t.n];if(!e){nPH[n]=[t];return}e.Rm=t}}function qr(n){var t;return IV(null==n||Array.isArray(n)&&!((t=UR(n))>=14&&t<=16)),n}function qa(n,t){var e;return xf(t),C9(!!(e=n[":"+t]),"Enum constant undefined: "+t),e}function qc(n,t,e,i,r,a){var c;return qi(e,c=NS(n,t)),c.i=8*!!r,c.f=i,c.e=r,c.g=a,c}function qo(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=e}function qu(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=e}function qs(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=e}function qh(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=e}function qf(n,t,e,i,r){this.d=t,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=e}function ql(n,t){var e,i,r;for(i=0,r=t.length;i<r;++i)e=t[i],HH(n.a,e);return n}function qb(n){var t,e;for(t=0,e=n.length;t<e;++t)NP(n[t]);return new TC(n)}function qw(n){var t;return ned(t=Oj(jv(n.d.d),n.c.d),n.c.e.a,n.c.e.b),OT(t,n.c.d)}function qd(n){var t;return ned(t=Oj(jv(n.c.d),n.d.d),n.d.e.a,n.d.e.b),OT(t,n.d.d)}function qg(n,t,e){var i,r;for(r=t.Kc();r.Ob();)i=CY(r.Pb(),74),LX(n,CY(e.Kb(i),27))}function qp(){qp=T,nqs=new k2("BARYCENTER",0),nqh=new k2(np4,1),nqf=new k2(np6,2)}function qm(){qm=T,nGZ=new k1("NO",0),nGJ=new k1(nmb,1),nGY=new k1("LOOK_BACK",2)}function qv(){qv=T,nRS=new kI("ARD",0),nRO=new kI("MSD",1),nRP=new kI("MANUAL",2)}function qy(){qy=T,nGR=new kQ(nd6,0),nG$=new kQ("INPUT",1),nGD=new kQ("OUTPUT",2)}function qk(){return nQH||WM(nQH=new nuR,Vw(DY(nCl,1),nl7,134,0,[new hF])),nQH}function qM(n){if(!(n>=0))throw new pN("tolerance ("+n+") must be >= 0").e;return n}function qE(n,t){var e;return jM(t,44)?n.c.Mc(t):(e=YA(n,t),Zl(n,t),e)}function qT(n,t,e){return Qn(n,t),XC(n,e),G6(n,0),G5(n,1),Q5(n,!0),Q3(n,!0),n}function qj(n,t){var e;if(e=n.gc(),t<0||t>e)throw new OR(t,e).e;return new OX(n,t)}function qS(n,t){n.b=nP_.Math.max(n.b,t.d),n.e+=t.r+(0==n.a.c.length?0:n.c),jB(n.a,t)}function qP(n){P$(n.c>=0),0>function(n,t){if(i=n.a.length-1,e=t-n.b&i,r=n.c-t&i,PD(e<(n.c-n.b&i)),e>=r){var e,i,r,a,c,o=t;for(a=n.a.length-1,n.c=n.c-1&a;o!=n.c;)c=o+1&a,NK(n.a,o,n.a[c]),o=c;return NK(n.a,n.c,null),-1}var u,s,h=t;for(u=n.a.length-1;h!=n.b;)s=h-1&u,NK(n.a,h,n.a[s]),h=s;return NK(n.a,n.b,null),n.b=n.b+1&u,1}(n.d,n.c)&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function qO(n){var t;for(t=n.c.Cc().Kc();t.Ob();)CY(t.Pb(),16).$b();n.c.$b(),n.d=0}function qC(n,t){var e,i;for(e=0,i=t.length;e<i;++e)F_(n,t[e],n.c.b,n.c)}function qI(n,t){var e,i;for(e=0,i=n.gc();e<i;++e)if(xL(t,n.Xb(e)))return e;return -1}function qA(n){var t,e;if(0==n)return 32;for(t=1,e=0;(t&n)==0;t<<=1)++e;return e}function qL(n,t){if(n<0)throw new pN(t+" cannot be negative but was: "+n).e;return n}function qN(n,t){var e;return(e=Xq(n.a,t,AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15)))))?e.g:null}function qx(){qx=T,nOw=Vw(DY(n4s,1),nwl,28,15,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function q$(){q$=T,nRE=new kC("LAYER_SWEEP",0),nRM=new kC(nml,1),nRT=new kC(npL,2)}function qD(){qD=T,nG7=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function qR(){qR=T,nqn=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function qK(){qK=T,nqt=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function qF(){qF=T,nqe=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function q_(){q_=T,nqi=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function qB(){qB=T,nqc=IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)}function qH(){qH=T,nqo=AX(IG(IG(new xm,(niF(),nxQ),(nlB(),nDs)),nxJ,n$7),nxY,nDu)}function qU(n){v8(),this.g=new dc,this.f=new dc,this.b=new dc,this.c=new Ds,this.i=n}function qG(){this.f=new mm,this.d=new gm,this.c=new mm,this.a=new du,this.b=new du}function qq(n,t,e,i){this.ak(),this.a=t,this.b=n,this.c=null,this.c=new OD(this,t,e,i)}function qX(n,t,e,i,r){this.d=n,this.n=t,this.g=e,this.o=i,this.p=-1,r||(this.o=-2-i-1)}function qz(){j0.call(this),this.n=-1,this.g=null,this.i=null,this.j=null,this.Bb|=nbB}function qV(n){E4.call(this,n.Ad(64)?ju(0,JB(n.zd(),1)):nbj,n.yd()),this.b=1,this.a=n}function qW(n,t){n.r>0&&n.c<n.r&&(n.c+=t,n.i&&n.i.d>0&&0!=n.g&&qW(n.i,t/n.r*n.i.d))}function qQ(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,1,e,n.c))}function qJ(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,4,e,n.c))}function qY(n,t){var e;e=n.k,n.k=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,2,e,n.k))}function qZ(n,t){var e;e=n.D,n.D=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,2,e,n.D))}function q1(n,t){var e;e=n.f,n.f=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,8,e,n.f))}function q0(n,t){var e;e=n.i,n.i=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,7,e,n.i))}function q2(n,t){var e;e=n.a,n.a=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,8,e,n.a))}function q3(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,0,e,n.b))}function q4(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,0,e,n.b))}function q6(n,t){var e;e=n.c,n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,1,e,n.c))}function q5(n,t){var e;e=n.d,n.d=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,1,e,n.d))}function q8(n,t){return noz(n.e,t)?(yP(),Uj(t)?new IB(t,n):new EL(t,n)):new EC(t,n)}function q9(n){var t;return(t=VN(n=nP_.Math.max(n,2)),n>t)?(t<<=1)>0?t:nbH:t}function q7(n){switch(j8(3!=n.e),n.e){case 2:return!1;case 0:return!0}return n.e=3,n.d=n.Yb(),2!=n.e&&(n.e=0,!0)}function Xn(n,t){var e;return!!jM(t,8)&&(e=CY(t,8),n.a==e.a&&n.b==e.b)}function Xt(n,t){var e,i;for(i=t.vc().Kc();i.Ob();)nej(n,(e=CY(i.Pb(),44)).ld(),e.md())}function Xe(n,t){var e;e=n.d,n.d=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,11,e,n.d))}function Xi(n,t){var e;e=n.j,n.j=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,13,e,n.j))}function Xr(n,t){var e;e=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,21,e,n.b))}function Xa(){Xa=T,nRn=new kS("START",0),nD7=new kS("MIDDLE",1),nD9=new kS("END",2)}function Xc(){Xc=T,nzL=new Mm("P1_NODE_PLACEMENT",0),nzN=new Mm("P2_EDGE_ROUTING",1)}function Xo(){Xo=T,nxk=new wX(npl),nxM=new wX(npb),nxy=new wX(npw),nxv=new wX(npd)}function Xu(n){var t;return Ch(n.f.g,n.d),Px(n.b),n.c=n.a,t=CY(n.a.Pb(),44),n.b=Vi(n),t}function Xs(n){return null==n.b?(yj(),yj(),n2R):n.ul()?n.tl():n.sl()}function Xh(n,t){var e;return!((e=null==t?-1:H6(n.b,t,0))<0)&&(Xd(n,e),!0)}function Xf(n,t){var e;return xf(t),e=t.g,!n.b[e]&&(NK(n.b,e,t),++n.c,!0)}function Xl(n,t){var e,i;return e=1-t,i=n.a[e],n.a[e]=i.a[t],i.a[t]=n,n.b=!0,i.b=!1,i}function Xb(n,t,e){return RF(A7(n.n[e][t>>5],AW(A8(31&t,1))),3)}function Xw(n,t,e){var i,r,a;for(a=n.a.length-1,r=n.b,i=0;i<e;r=r+1&a,++i)NK(t,i,n.a[r])}function Xd(n,t){var e;e=_V(n.b,n.b.c.length-1),t<n.b.c.length&&(_o(n.b,t,e),naa(n,t))}function Xg(n,t){var e;return(e=CY(NR(n.c,t),467))||((e=new go).c=t,xM(n.c,e.c,e)),e}function Xp(n,t,e){var i;return noB(n,t,i=new du,e,!0,!0),n.b=new Xk(i.c.length),i}function Xm(n,t){var e,i;for(HM(e=n.Pc(),0,e.length,t),i=0;i<e.length;i++)n.hd(i,e[i])}function Xv(n){var t,e;for(e=new j2(n);e.e!=e.i.gc();)GZ(t=CY(Z6(e),27),0),G1(t,0)}function Xy(n){this.e=n,this.d=new m$(Ga(AY(this.e).gc())),this.c=this.e.a,this.b=this.e.c}function Xk(n){this.b=n,this.a=BJ(n4s,nwl,28,n+1,15,1),this.c=BJ(n4s,nwl,28,n,15,1),this.d=0}function XM(n,t,e){Gm.call(this,t,e),this.d=BJ(nAr,npU,10,n.a.c.length,0,1),ZB(n.a,this.d)}function XE(n,t,e){KV.call(this,n,t,e),this.a=new dc,this.b=new dc,this.d=new bP(this)}function XT(n){AR.call(this),this.b=pj(PI(niK(n,(nlL(),nUv)))),this.a=CY(niK(n,nHu),223)}function Xj(n,t){var e;return jM(t,16)?(e=CY(t,16),n.Gc(e)):UO(n,CY(NP(t),20).Kc())}function XS(n){return EK(n)?Wb(n):E_(n)?Td(n):EF(n)?PQ(n):A6(n)?n.Hb():AM(n)?SK(n):$U(n)}function XP(n){var t,e;for(e=n.c.a.ec().Kc();e.Ob();)(t=CY(e.Pb(),219)).a=new LL(t.f)}function XO(n){var t,e;for(e=n.c.a.ec().Kc();e.Ob();)(t=CY(e.Pb(),219)).f=new niZ(t.e)}function XC(n,t){var e;e=n.zb,n.zb=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,1,e,n.zb))}function XI(n,t){var e;e=n.xb,n.xb=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,3,e,n.xb))}function XA(n,t){var e;e=n.yb,n.yb=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,2,e,n.yb))}function XL(n,t){var e;(e=new gA).n=t,B7((n.s||(n.s=new Lk(n0V,n,21,17)),n.s),e)}function XN(n,t){var e;(e=new PF).n=t,B7((n.s||(n.s=new Lk(n0V,n,21,17)),n.s),e)}function Xx(n,t){var e,i,r;for(xf(t),e=!1,r=t.Kc();r.Ob();)i=r.Pb(),e|=n.Fc(i);return e}function X$(n){var t,e,i;for(t=0,i=n.Kc();i.Ob();)t+=null!=(e=i.Pb())?XS(e):0,t=~~t;return t}function XD(n,t){var e=n.a,i=0;for(var r in e)e.hasOwnProperty(r)&&(t[i++]=r);return t}function XR(n){var t;return 0==n?"UTC":(n<0?(n=-n,t="UTC+"):t="UTC-",t+UI(n))}function XK(n){return n.a<54?n.f<0?-1:+(n.f>0):(!n.c&&(n.c=Rm(zF(n.f))),n.c).e}function XF(n,t){t?null==n.B&&(n.B=n.D,n.D=null):null!=n.B&&(n.D=n.B,n.B=null)}function X_(n,t){return T6(),qM(nd5),nP_.Math.abs(0-t)<=nd5||0==t||isNaN(0)&&isNaN(t)?0:n/t}function XB(n,t){return pj(PI(SO(QW(xz(new Aa(null,new R$(n.c.b,16)),new bw(n)),t))))}function XH(n,t){return pj(PI(SO(QW(xz(new Aa(null,new R$(n.c.b,16)),new bb(n)),t))))}function XU(n,t,e){var i,r;for(r=ZQ(n,0);r.b!=r.d.c;)i=CY(K0(r),8),i.a+=t,i.b+=e;return n}function XG(n,t,e){var i;for(i=n.b[e&n.f];i;i=i.b)if(e==i.a&&N7(t,i.g))return i;return null}function Xq(n,t,e){var i;for(i=n.c[e&n.f];i;i=i.d)if(e==i.f&&N7(t,i.i))return i;return null}function XX(n,t,e,i,r,a){var c;this.c=n,function n(t,e,i,r,a,c,o,u){var s,h;r&&((s=r.a[0])&&n(t,e,i,s,a,c,o,u),ntx(t,i,r.d,a,c,o,u)&&e.Fc(r),(h=r.a[1])&&n(t,e,i,h,a,c,o,u))}(n,c=new du,t,n.b,e,i,r,a),this.a=new Kp(c,0)}function Xz(){this.c=new mV(0),this.b=new mV(nyQ),this.d=new mV(nyW),this.a=new mV(ngR)}function XV(n,t,e,i,r,a,c){vS.call(this,n,t),this.d=e,this.e=i,this.c=r,this.b=a,this.a=_q(c)}function XW(n,t,e,i,r,a,c,o,u,s,h,f,l){return nr5(n,t,e,i,r,a,c,o,u,s,h,f,l),Jx(n,!1),n}function XQ(n){return n.b.d.i.k==(ni8(),n$g)?CY(niK(n.b.d.i,(nlF(),nK6)),12):n.b.d}function XJ(n){var t;return EB((t=Kx(n)).a,0)?(vV(),vV(),nOZ):(vV(),new S5(t.b))}function XY(n){var t;return EB((t=Kx(n)).a,0)?(vV(),vV(),nOZ):(vV(),new S5(t.c))}function XZ(n){switch(n.g){case 2:return nf5(),n1y;case 4:return nf5(),n1n;default:return n}}function X1(n){switch(n.g){case 1:return nf5(),n1m;case 3:return nf5(),n1t;default:return n}}function X0(n){switch(n.g){case 0:return new cH;case 1:return new cU;default:return null}}function X2(){X2=T,nDI=new P5("edgelabelcenterednessanalysis.includelabel",(SB(),nOo))}function X3(){var n;X3=T,nqu=Zg(((n=IG(IG(new xm,(niF(),nxQ),(nlB(),nDs)),nxJ,n$7)).a=nxY.g+1,n),nDu)}function X4(){var n;X4=T,nqb=Zg(((n=IG(IG(new xm,(niF(),nxQ),(nlB(),nDs)),nxJ,n$7)).a=nxY.g+1,n),nDu)}function X6(){X6=T,n2L=new gL,n2x=Vw(DY(n0V,1),njN,179,0,[]),n2N=Vw(DY(n02,1),njx,62,0,[])}function X5(){X5=T,n$A=new ka("TO_INTERNAL_LTR",0),n$I=new ka("TO_INPUT_DIRECTION",1)}function X8(){X8=T,n$j=new tC,n$E=new tI,n$T=new tA,n$M=new tL,n$S=new tN,n$P=new tx}function X9(n,t){var e,i,r;return SB(),EK(n)?_W(n,PA(t)):E_(n)?Ln(n,PI(t)):EF(n)?(e=PC(t),xf(n),i=n,xf(e),r=e,SB(),i==r?0:i?1:-1):n.Fd(t)}function X7(n,t){var e,i;for(xf(t),i=t.vc().Kc();i.Ob();)e=CY(i.Pb(),44),n.zc(e.ld(),e.md())}function zn(n){var t;if(-2==n.b){if(0==n.e)t=-1;else for(t=0;0==n.a[t];t++);n.b=t}return n.b}function zt(n){if(xf(n),0==n.length)throw new p5("Zero length BigInteger").e;!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(u=b=t.length,Rx(0,t.length),45==t.charCodeAt(0)?(f=-1,l=1,--b):(f=1,l=0),r=b/(a=(nhF(),nOR)[10])|0,0!=(g=b%a)&&++r,o=BJ(n4s,nwl,28,r,15,1),e=nOD[8],c=0,w=l+(0==g?a:g),d=l;d<u;w=(d=w)+a)i=nsE((B2(d,w,t.length),t.substr(d,w-d)),nbJ,nl3),nui(),s=nnP(o,o,c,e)+function(n,t,e){var i,r;for(r=0,i=RF(e,nwW);0!=Qv(i,0)&&r<t;r++)i=JF(i,RF(n[r],nwW)),n[r]=AW(i),i=A9(i,32);return AW(i)}(o,c,i),o[c++]=s;h=c,n.e=f,n.d=h,n.a=o,KM(n)}(this,n)}function ze(n){this.i=n.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),n.Qc(this.g))}function zi(n,t,e){this.g=n,this.d=t,this.e=e,this.a=new du,function(n){var t,e,i,r;for(r=QU(n.d,n.e).Kc();r.Ob();)for(i=CY(r.Pb(),12),e=new fU(n.e==(nf5(),n1y)?i.e:i.g);e.a<e.c.c.length;)!_p(t=CY(RU(e),18))&&t.c.i.c!=t.d.i.c&&(!function(n,t){var e,i,r;e=n.e==(nf5(),n1y)?t.c:t.d,i=CY(NR(n.g.f,e),17).a,r=n.a.c.length-1,0!=n.a.c.length&&CY(I0(n.a,r),294).c==i?(++CY(I0(n.a,r),294).a,++CY(I0(n.a,r),294).b):jB(n.a,new Pc(i))}(n,t),++n.f,++n.c)}(this),$O(),ji(this.a,null)}function zr(n,t){t.q=n,n.d=nP_.Math.max(n.d,t.r),n.b+=t.d+(0==n.a.c.length?0:n.c),jB(n.a,t)}function za(n,t){var e,i,r,a;return r=n.c,e=n.c+n.b,a=n.d,i=n.d+n.a,t.a>r&&t.a<e&&t.b>a&&t.b<i}function zc(n,t){var e,i;for(i=ZQ(n,0);i.b!=i.d.c;)e=CY(K0(i),8),e.a+=t.a,e.b+=t.b;return n}function zo(n,t){var e;$$(e=CY(t,190),"x",n.i),$$(e,"y",n.j),$$(e,nEz,n.g),$$(e,nEX,n.f)}function zu(n,t){jM(t,85)?(CY(n.c,79).Gk(),Xt(n,CY(t,85))):CY(n.c,79).Wb(t)}function zs(n,t){var e,i;for(xf(t),i=n.vc().Kc();i.Ob();)e=CY(i.Pb(),44),t.Yd(e.ld(),e.md())}function zh(n,t){return HZ(new f5(n),new f8(t),new f9(t),new Z,Vw(DY(nCi,1),nbG,108,0,[]))}function zf(){zf=T,nVS=new ME(npL,0),nVP=new ME("POLAR_COORDINATE",1),nVj=new ME("ID",2)}function zl(){zl=T,nGF=new kJ("EQUALLY",0),nG_=new kJ(ngr,1),nGB=new kJ("NORTH_SOUTH",2)}function zb(){zb=T,nNg=new P5("debugSVG",(SB(),!1)),nNp=new P5("overlapsExisted",!0)}function zw(){zw=T,nQ3=W4((nrN(),Vw(DY(nLI,1),nbG,285,0,[nQ2,nQW,nQZ,nQ0,nQQ,nQJ,nQY,nQ1])))}function zd(){zd=T,n0E=W4((ncw(),Vw(DY(nNo,1),nbG,245,0,[n0M,n0v,n0y,n0m,n0k,n0g,n0d,n0p])))}function zg(){zg=T,nRh=W4((nut(),Vw(DY(nAg,1),nbG,276,0,[nRi,nRc,nRe,nRs,nRa,nRr,nRu,nRo])))}function zp(){return nsi(),Vw(DY(nA7,1),nbG,262,0,[nXs,nXe,nXc,nXo,nXa,nXt,nXu,nq7,nXr,nXi,nXn])}function zm(n,t,e){var i,r;return r=CY(O3(n.d,t),17),i=CY(O3(n.b,e),17),r&&i?Br(n,r.a,i.a):null}function zv(n,t){var e;return!!(e=nuX(qk(),n))&&(nnh(t,(nl_(),nYA),e),!0)}function zy(n){return(PY(),n.A.Hc((YZ(),n1P))&&!n.B.Hc((nsv(),n1D)))?YG(n):null}function zk(){this.a=CY(Z4((nsK(),nN6)),17).a,this.c=pj(PI(Z4(nxl))),this.b=pj(PI(Z4(nxu)))}function zM(n){this.f=n,this.e=new FR(this.f.i),this.a=this.e,this.b=Vi(this),this.d=this.f.g}function zE(n,t){If.call(this,n2n,n,t),this.b=this,this.a=nox(n.Dh(),Gt(this.e.Dh(),this.c))}function zT(n,t){var e;for(e=0;e<t.j.c.length;e++)CY(Uu(n,e),21).Gc(CY(Uu(t,e),16));return n}function zj(n,t,e,i){var r;e>(r=n.a.length)?e=r:Rx(t,e+1),n.a=Di(n.a,0,t)+""+i+NF(n.a,e)}function zS(n,t){n.a=JF(n.a,1),n.c=nP_.Math.min(n.c,t),n.b=nP_.Math.max(n.b,t),n.d=JF(n.d,t)}function zP(n,t){var e,i,r;if(null!=(e=n.th())&&n.wh())for(i=0,r=e.length;i<r;++i)e[i].dj(t)}function zO(n,t){var e,i;for(i=xi(e=n).e;i;){if((e=i)==t)return!0;i=xi(e).e}return!1}function zC(n){var t;return 0==(t=n.h)?n.l+n.m*nwA:t==nwC?n.l+n.m*nwA-nwL:n}function zI(n){var t;null==n.d?(++n.e,n.f=0,Qj(null)):(++n.e,t=n.d,n.d=null,n.f=0,Qj(t))}function zA(n,t){var e;return(n.Db&t)!=0?-1==(e=ntu(n,t))?n.Eb:qr(n.Eb)[e]:null}function zL(n,t){var e;return(e=new hH).G=t,n.rb||(n.rb=new LC(n,n0Q,n)),B7(n.rb,e),e}function zN(n,t){var e;return(e=new dH).G=t,n.rb||(n.rb=new LC(n,n0Q,n)),B7(n.rb,e),e}function zx(n,t,e,i){jM(n.Cb,184)&&(CY(n.Cb,184).tb=null),XC(n,e),t&&function(n,t){var e,i,r,a,c;if(t)if((4&t.i)!=0)for(i="[]",e=t.c;;e=e.c){if((4&e.i)==0){xf((PL(e),a=e.o+i)),qZ(n,r=a),G9(n,r);break}i+="[]"}else xf((PL(t),c=t.o)),qZ(n,r=c),G9(n,r);else qZ(n,null),G9(n,null);n.hl(t)}(n,t),i&&n.gl(!0)}function z$(n,t){n.c&&(nu5(n,t,!0),vZ(new Aa(null,new R$(t,16)),new by(n))),nu5(n,t,!1)}function zD(n){var t;if(n.g>1||n.Ob())return++n.a,n.g=0,t=n.i,n.Ob(),t;throw(new dF).e}function zR(n){switch(n.a.g){case 1:return new Mr;case 3:return new ntj;default:return new hM}}function zK(n,t){switch(t){case 1:return!!n.n&&0!=n.n.i;case 2:return null!=n.k}return Ks(n,t)}function zF(n){var t,e,i,r,a;return nwx<n&&n<nwL?n<0?nP_.Math.ceil(n):nP_.Math.floor(n):zC(isNaN(t=n)?(UT(),nOc):t<-0x8000000000000000?(UT(),nOr):t>=0x8000000000000000?(UT(),nOi):(r=!1,t<0&&(r=!0,t=-t),i=0,t>=nwL&&(i=Dy(t/nwL),t-=i*nwL),e=0,t>=nwA&&(e=Dy(t/nwA),t-=e*nwA),a=js(Dy(t),e,i),r&&V9(a),a))}function z_(n){var t;return n<128?(I9(),(t=nOl[n])||(t=nOl[n]=new fI(n)),t):new fI(n)}function zB(n){var t,e,i;return e=0,(i=n)<0&&(i+=nwL,e=nwC),t=Dy(i/nwA),js(Dy(i-t*nwA),t,e)}function zH(n){var t,e,i;for(i=0,e=new vG(n.a);e.a<e.c.a.length;)t=Fj(e),n.b.Hc(t)&&++i;return i}function zU(n,t){var e;return t&&((e=t.nf()).dc()||(n.q?X7(n.q,e):n.q=new E1(e))),n}function zG(n,t){var e;if(void 0===(e=n.a.get(t)))++n.d;else{var i=n.a;i[nw5].call(i,t),--n.c,++n.b.g}return e}function zq(n,t,e,i,r){NK(n.c[t.g],e.g,i),NK(n.c[e.g],t.g,i),NK(n.b[t.g],e.g,r),NK(n.b[e.g],t.g,r)}function zX(n,t,e){this.b=(xf(n),n),this.d=(xf(t),t),this.e=(xf(e),e),this.c=this.d+""+this.e}function zz(n,t){this.b=n,this.e=t,this.d=t.j,this.f=(yP(),CY(n,69).xk()),this.k=nox(t.e.Dh(),n)}function zV(n){this.n=new du,this.e=new vq,this.j=new vq,this.k=new du,this.f=new du,this.p=n}function zW(n){n.r=new dV,n.w=new dV,n.t=new du,n.i=new du,n.d=new dV,n.a=new TI,n.c=new dc}function zQ(){zQ=T,nIU=new y2("UP",0),nI_=new y2(nge,1),nIB=new y2(nd1,2),nIH=new y2(nd0,3)}function zJ(){zJ=T,nKd=new kF("ONE_SIDED",0),nKg=new kF("TWO_SIDED",1),nKw=new kF("OFF",2)}function zY(){zY=T,nWD=new MC("EQUAL_BETWEEN_STRUCTURES",0),nWR=new MC("TO_ASPECT_RATIO",1)}function zZ(){zZ=T,nGn=W4((noj(),Vw(DY(nAN,1),nbG,265,0,[nU9,nU6,nU5,nU2,nU4,nU7,nU8,nU0,nU3])))}function z1(){z1=T,n1B=W4((nsv(),Vw(DY(nLz,1),nbG,264,0,[n1x,n1D,n1N,n1R,n1K,n1_,n1F,n1$,n1L])))}function z0(){z0=T,nZU=W4((nc$(),Vw(DY(nLB,1),nbG,95,0,[nZ$,nZx,nZR,nZH,nZB,nZ_,nZK,nZF,nZD])))}function z2(){z2=T,nIe=W4((nuy(),Vw(DY(nCb,1),nbG,257,0,[nIt,nC5,nC8,nC6,nC7,nIn,nC9,nC4,nC3])))}function z3(n){var t;return t=CY(niK(n,(nlF(),nK_)),64),n.k==(ni8(),n$g)&&(t==(nf5(),n1y)||t==n1n)}function z4(n,t,e){var i,r,a,c;i=(c=xi(n)).d,r=c.c,a=n.n,t&&(a.a=a.a-i.b-r.a),e&&(a.b=a.b-i.d-r.b)}function z6(n){var t;return 0>Qv(n,0)&&(n=Ie(n)),64-(0!=(t=AW(A7(n,32)))?naK(t):naK(AW(n))+32)}function z5(n,t,e,i){return 1==e?(n.n||(n.n=new Lk(nNt,n,1,7)),nnw(n.n,t,i)):ni4(n,t,e,i)}function z8(n,t){var e;return XC(e=new ul,t),B7((n.A||(n.A=new jV(n06,n,7)),n.A),e),e}function z9(n){var t;return(!n.a||(1&n.Bb)==0&&n.a.Vh())&&jM(t=nec(n),156)&&(n.a=CY(t,156)),n.a}function z7(n,t){var e,i;for(xf(t),i=t.Kc();i.Ob();)if(e=i.Pb(),!n.Hc(e))return!1;return!0}function Vn(n,t){var e,i,r;return e=n.l-t.l,i=n.m-t.m+(e>>22),r=n.h-t.h+(i>>22),js(e&nwO,i&nwO,r&nwC)}function Vt(n){var t,e;return jM(n,82)?n:((t=n&&n.__java$exception)||(e=t=new Qr(n),$_(),nP6.le(e)),t)}function Ve(n){if(jM(n,193))return CY(n,123);if(n)return null;throw new pD(nTf).e}function Vi(n){return!!n.a.Ob()||n.a==n.e&&(n.a=new B5(n.f.f),n.a.Ob())}function Vr(n,t){if(null==t)return!1;for(;n.a!=n.b;)if(QY(t,Qd(n)))return!0;return!1}function Va(n,t){return!!n&&!!t&&n!=t&&Y7(n.d.c,t.d.c+t.d.b)&&Y7(t.d.c,n.d.c+n.d.b)}function Vc(n,t){var e;return 0!=(e=t.Pc()).length&&(C6(n.c,n.c.length,e),!0)}function Vo(n){var t,e;for(t=new vq,e=ZQ(n.d,0);e.b!=e.d.c;)IA(t,CY(K0(e),65).c);return t}function Vu(n,t){var e;for(e=new fU(n.b);e.a<e.c.c.length;)VD(CY(RU(e),72),(nlF(),nKJ),t)}function Vs(n,t){if(!n)throw new pN(nuK("value already present: %s",Vw(DY(nPa,1),nl7,1,5,[t]))).e}function Vh(n,t){var e;return e=SY(t.a.gc()),vZ(Gs(new Aa(null,new R$(t,1)),n.i),new MB(n,e)),e}function Vf(n){var t;return XC(t=new ul,"T"),B7((n.d||(n.d=new jV(n06,n,11)),n.d),t),t}function Vl(n){var t,e,i,r;for(e=0,t=1,r=n.gc();e<r;++e)t=31*t+(null==(i=n.Vi(e))?0:XS(i));return t}function Vb(n,t,e,i){var r;return KO(t,n.e.Rd().gc()),KO(e,n.c.Rd().gc()),r=n.a[t][e],NK(n.a[t],e,i),r}function Vw(n,t,e,i,r){return r.Rm=n,r.Sm=t,r.Tm=E,r.__elementTypeId$=e,r.__elementTypeCategory$=i,r}function Vd(){Vd=T,nD$=new ko(npL,0),nDN=new ko(np7,1),nDx=new ko(nmn,2),nDL=new ko("BOTH",3)}function Vg(){Vg=T,nDz=new kT(ndJ,0),nDV=new kT(nd1,1),nDW=new kT(nd0,2),nDQ=new kT("TOP",3)}function Vp(){Vp=T,nx6=new ke("Q1",0),nx9=new ke("Q4",1),nx5=new ke("Q2",2),nx8=new ke("Q3",3)}function Vm(){Vm=T,nG2=new k0("OFF",0),nG3=new k0("SINGLE_EDGE",1),nG0=new k0("MULTI_EDGE",2)}function Vv(){Vv=T,nQ$=new Mx("MINIMUM_SPANNING_TREE",0),nQx=new Mx("MAXIMUM_SPANNING_TREE",1)}function Vy(){Vy=T,new wX("org.eclipse.elk.addLayoutConfig"),nQK=new cJ,nQR=new cQ,new cY}function Vk(n){var t;return mk(),t=new o_,n&&B7((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),t),t}function VM(n){var t,e;for(e=new du,t=n.Kc();t.Ob();)Vc(e,no3(CY(t.Pb(),27)));return e}function VE(n,t){var e,i;if(i=0,n<64&&n<=t)for(t=t<64?t:63,e=n;e<=t;e++)i=R_(i,A8(1,e));return i}function VT(n){var t,e,i;for($O(),i=0,e=n.Kc();e.Ob();)i+=null!=(t=e.Pb())?XS(t):0,i|=0;return i}function Vj(n,t,e){var i;LH(n.a),Gd(e.i,new wa(n)),i=new jw(CY(NR(n.a,t.b),68)),function n(t,e,i){var r,a,c;for(c=new fU(i.a);c.a<c.c.c.length;)a=CY(RU(c),225),r=new jw(CY(NR(t.a,a.b),68)),jB(e.a,r),n(t,r,a)}(n,i,t),e.f=i}function VS(n){var t,e,i;return e=n.n,i=n.o,t=n.d,new x4(e.a-t.b,e.b-t.d,i.a+(t.b+t.c),i.b+(t.d+t.a))}function VP(n){switch(n.g){case 1:return nZI;case 2:return nZC;case 3:return nZA;default:return nZL}}function VO(n,t,e){switch(e.g){case 2:n.b=t;break;case 1:n.c=t;break;case 4:n.d=t;break;case 3:n.a=t}}function VC(n,t){if(0===t){n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),n.o.c.$b();return}nrI(n,t)}function VI(n,t,e){var i;if(t>(i=n.gc()))throw new OR(t,i).e;return n.Si()&&(e=DG(n,e)),n.Ei(t,e)}function VA(n,t,e,i,r){var a,c;for(c=e;c<=r;c++)for(a=t;a<=i;a++)nn6(n,a,c)||nuU(n,a,c,!0,!1)}function VL(n){var t,e,i;return t=~n.l+1&nwO,e=~n.m+ +(0==t)&nwO,i=~n.h+ +(0==t&&0==e)&nwC,js(t,e,i)}function VN(n){var t;if(n<0)return nbJ;if(0==n)return 0;for(t=nbH;(t&n)==0;t>>=1);return t}function Vx(n,t,e){return!(n>=128)&&(n<64?EU(RF(A8(1,n),e),0):EU(RF(A8(1,n-64),t),0))}function V$(n,t,e){return null==e?(n.q||(n.q=new dc),_Y(n.q,t)):(n.q||(n.q=new dc),xM(n.q,t,e)),n}function VD(n,t,e){return null==e?(n.q||(n.q=new dc),_Y(n.q,t)):(n.q||(n.q=new dc),xM(n.q,t,e)),n}function VR(n){var t,e;return zU(e=new _6,n),VD(e,(Xo(),nxk),n),function(n,t,e){var i,r,a,c,o;for(i=0,a=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));a.e!=a.i.gc();)r=CY(Z6(a),27),c="",0==(!r.n&&(r.n=new Lk(nNt,r,1,7)),r.n).i||(c=CY(GO((!r.n&&(r.n=new Lk(nNt,r,1,7)),r.n),0),135).a),zU(o=new jf(c),r),VD(o,(Xo(),nxk),r),o.a=i++,o.d.a=r.i+r.g/2,o.d.b=r.j+r.f/2,o.e.a=nP_.Math.max(r.g,1),o.e.b=nP_.Math.max(r.f,1),jB(t.e,o),nr3(e.f,r,o),CY(ncx(r,(nsK(),nxr)),101)==nie()}(n,e,t=new dc),function(n,t,e){var i,r,a,c,o,u,h,f;for(u=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));u.e!=u.i.gc();)for(r=new Le(Sb(nc5(o=CY(Z6(u),27)).a.Kc(),new s));ncv(r);){if((i=CY(_I(r),74)).b||(i.b=new Ox(nL4,i,4,7)),!(i.b.i<=1&&(i.c||(i.c=new Ox(nL4,i,5,8)),i.c.i<=1)))throw new pF("Graph must not contain hyperedges.").e;if(!nco(i)&&o!=niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84)))for(zU(h=new Ol,i),VD(h,(Xo(),nxk),i),h.c=CY(ED(Aj(e.f,o)),153),h.d=CY(NR(e,niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84))),153),jB(t.c,h),c=new j2((!i.n&&(i.n=new Lk(nNt,i,1,7)),i.n));c.e!=c.i.gc();)zU(f=new Fw(h,(a=CY(Z6(c),135)).a),a),VD(f,nxk,a),f.e.a=nP_.Math.max(a.g,1),f.e.b=nP_.Math.max(a.f,1),nhS(f),jB(t.d,f)}}(n,e,t),e}function VK(n){var t,e;return t=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,e=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,t||e}function VF(n,t){var e,i,r,a;for(a=0,e=!1,i=n.a[t].length;a<i-1;a++)r=a+1,e|=function(n,t,e,i){var r,a,c;return r=!1,function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;return l=n.c[t],b=n.c[e],!((w=CY(niK(l,(nlF(),nKW)),15))&&0!=w.gc()&&w.Hc(b))&&(d=l.k!=(ni8(),n$m)&&b.k!=n$m,m=(g=CY(niK(l,nKV),10))!=(p=CY(niK(b,nKV),10)),v=!!g&&g!=l||!!p&&p!=b,y=nn2(l,(nf5(),n1t)),k=nn2(b,n1m),v|=nn2(l,n1m)||nn2(b,n1t),M=v&&m||y||k,!d||!M)&&(l.k!=(ni8(),n$y)||b.k!=n$v)&&(b.k!=(ni8(),n$y)||l.k!=n$v)&&(h=n.c[t],a=n.c[e],r=neM(n.e,h,a,(nf5(),n1y)),u=neM(n.i,h,a,n1n),E=n.f,E.d=0,E.b=0,h.k==(ni8(),n$y)&&a.k==n$y&&CY(niK(h,(nlF(),nK6)),10)==CY(niK(a,nK6),10)&&(H5(h).j==(nf5(),n1t)?ncQ(E,h,a):ncQ(E,a,h)),h.k==n$y&&a.k==n$m?H5(h).j==(nf5(),n1t)?E.d=1:E.b=1:a.k==n$y&&h.k==n$m&&(H5(a).j==(nf5(),n1t)?E.b=1:E.d=1),h.k==(ni8(),n$v)&&a.k==n$m&&(E.d=QK(h,(nf5(),n1m)),E.b=QK(h,n1t)),a.k==n$v&&h.k==n$m&&(E.d=QK(a,(nf5(),n1t)),E.b=QK(a,n1m)),s=W$(n.b,h,a)+CY(r.a,17).a+CY(u.a,17).a+n.f.d,o=W$(n.b,a,h)+CY(r.b,17).a+CY(u.b,17).a+n.f.b,n.a&&(f=CY(niK(h,nK6),12),c=CY(niK(a,nK6),12),s+=CY((i=ntB(n.g,f,c)).a,17).a,o+=CY(i.b,17).a),s>o)}(n.f,e,i)&&(function(n,t,e){var i,r;niL(n.e,t,e,(nf5(),n1y)),niL(n.i,t,e,n1n),n.a&&(r=CY(niK(t,(nlF(),nK6)),12),i=CY(niK(e,nK6),12),RZ(n.g,r,i))}(n.f,n.a[t][e],n.a[t][i]),c=(a=n.a[t])[i],a[i]=a[e],a[e]=c,r=!0),r}(n,t,a,r);return e}function V_(){V_=T,nKb=W4((no7(),Vw(DY(nAO,1),nbG,259,0,[nKr,nKc,nKo,nKu,nKs,nKh,nKl,nKi,nKa,nKf])))}function VB(){VB=T,nGS=W4((nu7(),Vw(DY(nAR,1),nbG,243,0,[nGT,nGv,nGM,nGy,nGk,nGg,nGE,nGj,nGp,nGm])))}function VH(){VH=T,nR_=new kN(npL,0),nRF=new kN("INCOMING_ONLY",1),nRB=new kN("OUTGOING_ONLY",2)}function VU(){VU=T,nOt={boolean:vB,number:pS,string:pP,object:nan,function:nan,undefined:dm}}function VG(){++nPr,this.o=null,this.k=null,this.j=null,this.d=null,this.b=null,this.n=null,this.a=null}function Vq(n,t){this.c=n,this.d=t,this.b=this.d/this.c.c.Rd().gc()|0,this.a=this.d%this.c.c.Rd().gc()}function VX(n,t){this.b=n,Tu.call(this,(CY(GO($x((NN(),n2c).o),10),19),t.i),t.g),this.a=(X6(),n2x)}function Vz(n,t,e){this.q=new nP_.Date,this.q.setFullYear(n+nwf,t,e),this.q.setHours(0,0,0,0),nhp(this,0)}function VV(n,t){C9(n>=0,"Negative initial capacity"),C9(t>=0,"Non-positive load factor"),LH(this)}function VW(n,t){var e,i,r,a;for($O(),a=!1,i=0,r=t.length;i<r;++i)e=t[i],a|=n.Fc(e);return a}function VQ(n,t,e){var i,r;return i=new B4(t,e),r=new _,n.b=function n(t,e,i,r){var a,c;return e?0==(a=t.a.Ne(i.d,e.d))?(r.d=Ot(e,i.e),r.b=!0,e):(c=a<0?0:1,e.a[c]=n(t,e.a[c],i,r),pX(e.a[c])&&(pX(e.a[1-c])?(e.b=!0,e.a[0].b=!1,e.a[1].b=!1):pX(e.a[c].a[c])?e=Xl(e,1-c):pX(e.a[c].a[1-c])&&(e=Kf(e,1-c))),e):i}(n,n.b,i,r),r.b||++n.c,n.b.b=!1,r.d}function VJ(n){var t;return null==(t=n.a[n.b])?null:(NK(n.a,n.b,null),n.b=n.b+1&n.a.length-1,t)}function VY(n){var t,e;return 32==(e=naK(n.h))?32==(t=naK(n.m))?naK(n.l)+32:t+20-10:e-12}function VZ(n){var t;return(!n.c||(1&n.Bb)==0&&(64&n.c.Db)!=0)&&jM(t=nec(n),90)&&(n.c=CY(t,29)),n.c}function V1(n){var t,e;for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),60)).d.c=-t.d.c-t.d.b;nov(n)}function V0(n){var t,e;for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),86)).g.c=-t.g.c-t.g.b;noy(n)}function V2(n,t,e){var i,r,a,c;for(c=QU(t,e),a=0,r=c.Kc();r.Ob();)i=CY(r.Pb(),12),xM(n.c,i,Qx(a++))}function V3(n,t,e){var i;return noB(n,t,i=new du,(nf5(),n1n),!0,!1),noB(n,e,i,n1y,!1,!1),i}function V4(n){var t,e,i,r;for(t=new mm,i=0,r=n.length;i<r;++i)e=n[i],t.a+=e.a,t.b+=e.b;return t}function V6(n,t,e){var i,r;return r=KG(t,"labels"),function(n,t,e){var i,r,a,c;if(e)for(r=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);r.Ob();)(a=KX(e,CY(r.Pb(),17).a))&&(c=function(n,t){var e;return mk(),e=new oH,t&&noE(e,t),q2(e,n),e}(Kz(a,nEW),t),xM(n.f,c,a),nE9 in a.a&&qY(c,Kz(a,nE9)),nib(a,c),nai(a,c))}((i=new Eg(n,e)).a,i.b,r),r}function V5(n,t){var e;for(e=0;e<n.a.a.length;e++)if(!CY(I2(n.a,e),178).Lb(t))return!1;return!0}function V8(n){var t;return!(n.b<=0)&&((t=Tp("MLydhHmsSDkK",niT(xq(n.c,0))))>1||t>=0&&n.b<3)}function V9(n){var t,e,i;t=~n.l+1&nwO,e=~n.m+ +(0==t)&nwO,i=~n.h+ +(0==t&&0==e)&nwC,n.l=t,n.m=e,n.h=i}function V7(n){var t,e,i;for($O(),i=1,e=n.Kc();e.Ob();)i=31*i+(null!=(t=e.Pb())?XS(t):0)|0;return i}function Wn(n,t,e){n.g=nrF(n,t,(nf5(),n1n),n.b),n.d=nrF(n,e,n1n,n.b),0!=n.g.c&&0!=n.d.c&&ni1(n)}function Wt(n,t,e){n.g=nrF(n,t,(nf5(),n1y),n.j),n.d=nrF(n,e,n1y,n.j),0!=n.g.c&&0!=n.d.c&&ni1(n)}function We(n,t){switch(t){case 7:return!!n.e&&0!=n.e.i;case 8:return!!n.d&&0!=n.d.i}return Ys(n,t)}function Wi(n){if(0===n.g)return new cW;throw new pN(nMe+(null!=n.f?n.f:""+n.g)).e}function Wr(n){if(0===n.g)return new cz;throw new pN(nMe+(null!=n.f?n.f:""+n.g)).e}function Wa(n,t){return 0>=jK(Zz(CY(niK(t,(nhn(),nX0)),88)),new MH(n.c.e.a-n.b.e.a,n.c.e.b-n.b.e.b))}function Wc(n){var t,e;for(t=new fU(n.a.b);t.a<t.c.c.length;)CY(RU(t),86).f.$b();(e=n.b).a=n,function(n){for(function(n){var t;for(t=new fU(n.a.a.b);t.a<t.c.c.length;)CY(RU(t),86),xf(0)}(n),i=new du,e=new fU(n.a.a.b);e.a<e.c.c.length;)jB(i,new kg(t=CY(RU(e),86),!0)),jB(i,new kg(t,!1));var t,e,i,r,a,c=n.c;for(c.b.a.$b(),c.a=BJ(nI6,nl7,86,c.c.a.a.b.c.length,0,1),r=0,a=new fU(c.c.a.a.b);a.a<a.c.c.length;)CY(RU(a),86).i=r++;Kw(i,n.b,new pU(Vw(DY(nI8,1),nl7,382,0,[n.c]))),function(n){var t;for(t=new fU(n.a.a.b);t.a<t.c.c.length;)CY(RU(t),86),xf(0)}(n)}(e),noC(n)}function Wo(n){var t,e;for(t=new gj,e=ZQ(n,0);e.b!=e.d.c;)S2(t,0,new TP(CY(K0(e),8)));return t}function Wu(n){var t;return(xa(n),t=new nc,n.a.Bd(t))?(Sn(),new pm(xf(t.a))):(Sn(),Sn(),nOY)}function Ws(n,t,e){if(0===t){n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),zu(n.o,e);return}nr9(n,t,e)}function Wh(n,t,e){this.g=n,this.e=new mm,this.f=new mm,this.d=new vq,this.b=new vq,this.a=t,this.c=e}function Wf(n,t,e,i){this.b=new du,this.n=new du,this.i=i,this.j=e,this.s=n,this.t=t,this.r=0,this.d=0}function Wl(n,t){if(!n.Li()&&null==t)throw new pN("The 'no null' constraint is violated").e;return t}function Wb(n){var t,e;for(e=0,t=0;e<n.length;e++)t=(t<<5)-t+(Rx(e,n.length),n.charCodeAt(e))|0;return t}function Ww(n,t){var e,i,r;for(r=n.b;r;){if(0==(e=n.a.Ne(t,r.d)))return r;i=e<0?0:1,r=r.a[i]}return null}function Wd(n){return(jB(n.c,(Vy(),nQK)),GM(n.a,pj(PI(Z4((Yj(),nUZ))))))?new oI:new wf(n)}function Wg(n){switch(n.g){case 1:return nyW;default:case 2:return 0;case 3:return ngR;case 4:return nyQ}}function Wp(){Wp=T,n10=new Em("ELK",0),n12=new Em("JSON",1),n11=new Em("DOT",2),n13=new Em("SVG",3)}function Wm(){Wm=T,nGq=new kY("STACKED",0),nGU=new kY("REVERSE_STACKED",1),nGG=new kY("SEQUENCED",2)}function Wv(){Wv=T,nXb=new Md(npL,0),nXl=new Md("MIDDLE_TO_MIDDLE",1),nXf=new Md("AVOID_OVERLAP",2)}function Wy(){Wy=T,nDH=new e2,nDU=new e3,nDB=new e1,nD_=new e4,xf(new e0),nDF=new A}function Wk(){Wk=T,nZE=new TW(15),nZM=new TZ((nl_(),nYa),nZE),nZT=nYO,nZm=nJS,nZv=nJ5,nZk=nJ7,nZy=nJ9}function WM(n,t){var e,i,r,a;for(i=0,r=t.length;i<r;++i)e=t[i],a=new NH(n),e.hf(a),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(e=new fx(new fN(n.c.b).a.vc().Kc());e.a.Ob();)o=CY(e.a.Pb(),44),null==(r=(t=CY(o.md(),143)).a)&&(r=""),b=n.c,w=r,(i=CY(UC(b.c,w),233))||0!=r.length||(i=function(n){var t,e,i;return(t=CY(UC(n.c.c,""),233))||(t=new RM((((e=new c9).b="",i=e).c="Other",i)),Zq(n.c.c,"",t)),t}(n)),i&&!Yd(i.c,t,!1)&&IA(i.c,t);for(c=ZQ(n.a,0);c.b!=c.d.c;)a=CY(K0(c),487),s=_S(n.c,a.a),l=_S(n.c,a.b),s&&l&&IA(s.c,new Ea(l,a.c));for($p(n.a),f=ZQ(n.b,0);f.b!=f.d.c;)h=CY(K0(f),487),d=n.c,g=h.a,t=CY(UC(d.b,g),143),u=_S(n.c,h.b),t&&u&&(p=t,m=h.c,Rr(p.d,u.f,m));$p(n.b)}(a);LH(n.f)}function WE(n,t){var e;return t===n||!!jM(t,229)&&(e=CY(t,229),QY(n.Zb(),e.Zb()))}function WT(n,t){return!!nog(n,t)&&(naR(n.b,CY(niK(t,(nlF(),nKR)),21),t),IA(n.a,t),!0)}function Wj(n){return nCn?BJ(nO8,ndh,581,0,0,1):CY(ZB(n.a,BJ(nO8,ndh,581,n.a.c.length,0,1)),856)}function WS(n,t,e){var i;return qT(i=new gx,t,e),B7((n.q||(n.q=new Lk(n02,n,11,10)),n.q),i),i}function WP(n){var t,e,i,r,a;for(t=0,a=n0b,i=BJ(nPL,nby,2,e=(r=n.split(a)).length,6,1);t<e;++t)i[t]=r[t];return i}function WO(n,t,e){var i;for(i=e-1;i>=0&&n[i]===t[i];i--);return i<0?0:0>Qv(RF(n[i],nwW),RF(t[i],nwW))?-1:1}function WC(n,t,e){var i;this.g=n,this.c=t,this.a=this,this.d=this,i=BJ(nPg,nbF,227,q9(e),0,1),this.b=i}function WI(n,t,e,i,r){var a,c;for(c=e;c<=r;c++)for(a=t;a<=i;a++)if(nn6(n,a,c))return!0;return!1}function WA(n,t,e){var i,r,a,c;for(xf(e),c=!1,a=n.fd(t),r=e.Kc();r.Ob();)i=r.Pb(),a.Rb(i),c=!0;return c}function WL(n,t){var e,i;return i=CY(zA(n.a,4),129),e=BJ(nNl,nje,424,t,0,1),null!=i&&ns8(i,0,e,0,i.length),e}function WN(n,t){var e;return e=new nuE((256&n.f)!=0,n.i,n.a,n.d,(16&n.f)!=0,n.j,n.g,t),null!=n.e||(e.c=n),e}function Wx(n,t,e){var i,r;for(r=e.Kc();r.Ob();)if(i=CY(r.Pb(),44),n.Be(t,i.md()))return!0;return!1}function W$(n,t,e){return n.d[t.p][e.p]||(function(n,t,e){var i,r;if(n.e)switch(n.b){case 1:i=n.c,i.i=0,i.e=0,t!=e&&Wn(i,t,e);break;case 0:r=n.c,r.i=0,r.e=0,t!=e&&Wt(r,t,e)}else Fl(n.c,t,e);n.a[t.p][e.p]=n.c.i,n.a[e.p][t.p]=n.c.e}(n,t,e),n.d[t.p][e.p]=!0,n.d[e.p][t.p]=!0),n.a[t.p][e.p]}function WD(n){switch(n.i){case 2:return!0;case 1:return!1;case -1:++n.c;default:return n.$l()}}function WR(n){switch(n.i){case -2:return!0;case -1:return!1;case 1:--n.c;default:return n._l()}}function WK(n){DZ.call(this,"The given string does not match the expected format for individual spacings.",n)}function WF(n,t,e){var i,r;for(i=new vq,r=ZQ(e,0);r.b!=r.d.c;)IA(i,new TP(CY(K0(r),8)));WA(n,t,i)}function W_(n){var t;if((t=n.a.c.length)>0)return Lh(t-1,n.a.c.length),_V(n.a,t-1);throw(new dK).e}function WB(n,t,e){if(n>t)throw new pN(ndw+n+ndd+t).e;if(n<0||t>e)throw new p6(ndw+n+ndg+t+ndi+e).e}function WH(n,t){null==n.D&&null!=n.B&&(n.D=n.B,n.B=null),qZ(n,null==t?null:(xf(t),t)),n.C&&n.hl(null)}function WU(n,t){var e,i;if(0!=(i=n.c[t]))for(n.c[t]=0,n.d-=i,e=t+1;e<n.a.length;)n.a[e]-=i,e+=e&-e}function WG(n){var t;++n.j,0==n.i?n.g=null:n.i<n.g.length&&(t=n.g,n.g=n.aj(n.i),ns8(t,0,n.g,0,n.i))}function Wq(n){if(!n.a||(8&n.a.i)==0)throw new px("Enumeration class expected for layout option "+n.f).e}function WX(n){var t,e;return(n.a||(n.a=new Lk(n01,n,9,5)),0!=(t=n.a).i)?(e=CY(GO(t,0),694)).b?e.b:e.a:null}function Wz(){Wz=T,v5(),nNS=new To(ngS,nNP=nNE),nNj=new wX(ngP),nNO=new wX(ngO),nNC=new wX(ngC)}function WV(){WV=T,nzM=new Mg(npN,0),nzy=new Mg(ny5,1),nzk=new Mg("FAN",2),nzv=new Mg("CONSTRAINT",3)}function WW(){WW=T,nzG=new Mk(npL,0),nzq=new Mk("RADIAL_COMPACTION",1),nzX=new Mk("WEDGE_COMPACTION",2)}function WQ(){WQ=T,nGz=new kZ("CONSERVATIVE",0),nGV=new kZ("CONSERVATIVE_SOFT",1),nGW=new kZ("SLOPPY",2)}function WJ(){WJ=T,nC$=new y_("CONCURRENT",0),nCD=new y_("IDENTITY_FINISH",1),nCR=new y_("UNORDERED",2)}function WY(){WY=T,nx2=DN(Vw(DY(nL$,1),nbG,88,0,[(Ju(),nY8),nY9])),nx3=DN(Vw(DY(nL$,1),nbG,88,0,[nZn,nY5]))}function WZ(n){return EK(n)?nPL:E_(n)?nPS:EF(n)?nPE:A6(n)||AM(n)?n.Rm:n.Rm||Array.isArray(n)&&DY(nPm,1)||nPm}function W1(n){return(n.c!=n.b.b||n.i!=n.g.b)&&(dG(n.a.c,0),Vc(n.a,n.b),Vc(n.a,n.g),n.c=n.b.b,n.i=n.g.b),n.a}function W0(n,t,e){var i;return RL(t,n.c.length),0!=(i=e.Pc()).length&&(C6(n.c,t,i),!0)}function W2(n,t,e){var i,r,a;for(r=0,a=e.length;r<a;++r)if(i=e[r],n.b.Be(t,i.ld()))return i;return null}function W3(n){var t,e,i,r;for(r=1,e=0,i=n.length;e<i;++e)r=31*r+(null!=(t=n[e])?XS(t):0)|0;return r}function W4(n){var t,e,i,r;for(t={},i=0,r=n.length;i<r;++i)t[":"+(null!=(e=n[i]).f?e.f:""+e.g)]=e;return t}function W6(n,t){return!n||t&&!n.j||jM(n,127)&&0==CY(n,127).a.b?0:n.jf()}function W5(n,t){return!n||t&&!n.k||jM(n,127)&&0==CY(n,127).a.a?0:n.kf()}function W8(n,t){return Pn(n,(nlF(),nK4))&&Pn(t,nK4)?jo(CY(niK(n,nK4),17).a,CY(niK(t,nK4),17).a):0}function W9(n){var t,e,i;for(i=0,e=new Le(Sb(n.a.Kc(),new s));ncv(e);)(t=CY(_I(e),18)).c.i==t.d.i||++i;return i}function W7(n,t){var e,i,r;for(r=t-n.f,i=new fU(n.d);i.a<i.c.c.length;)YQ(e=CY(RU(i),315),e.e,e.f+r);n.f=t}function Qn(n,t){var e,i;e=n.Yk(t,null),i=null,t&&(mT(),Gj(i=new df,n.r)),(e=niM(n,i,e))&&e.oj()}function Qt(n,t){var e,i,r;for(e=n,r=0;;){if(e==t)return r;if(!(i=e.e))throw(new dN).e;e=xi(i),++r}}function Qe(n,t){var e;for(e=0;e<t.length;e++)if(n==(Rx(e,t.length),t.charCodeAt(e)))return!0;return!1}function Qi(n,t,e,i){jp(this),this.c=BJ(nAr,npU,10,n.a.c.length,0,1),this.e=t,ZB(n.a,this.c),this.f=e,this.b=i}function Qr(n){pd(),jZ(this),$w(this),this.e=n,noG(this,n),this.g=null==n?nbi:J2(n),this.a="",this.b=n,this.a=""}function Qa(){this.a=new cG,this.f=new b9(this),this.b=new b7(this),this.i=new wn(this),this.e=new wt(this)}function Qc(){pn.call(this,new B6(Ga(16))),qL(2,nbv),this.b=2,this.a=new xg(null,null,0,null),dM(this.a,this.a)}function Qo(n){throw VU(),new pf("Unexpected typeof result '"+n+"'; please report this bug to the GWT team").e}function Qu(n,t,e){return!!(nP_.Math.abs(t-n)<nyV||nP_.Math.abs(e-n)<nyV)||(t-n>nyV?n-e>nyV:e-n>nyV)}function Qs(n,t){var e;for(e=0;e<t.length;e++)if(n==(Rx(e,t.length),t.charCodeAt(e)))return!0;return!1}function Qh(n,t){var e,i,r;return i=!1,e=t.q.d,t.d<n.b&&(r=nop(t.q,n.b),t.q.d>r&&(neX(t.q,r),i=e!=t.q.d)),i}function Qf(n,t){var e,i,r,a,c,o,u;return o=t.i,u=t.j,i=(e=n.f).i,r=e.j,a=o-i,c=u-r,nP_.Math.sqrt(a*a+c*c)}function Ql(n,t){var e;return(e=Zy(n))||(n0w||(n0w=new un),nh0(),B7((e=new dn(function n(t){var e,i,r,a,c,o,u;return(nh0(),e=-1==(r=Tp(t,niT(35)))?t:(B2(0,r,t.length),t.substr(0,r)),i=-1==r?null:(Rx(r+1,t.length+1),t.substr(r+1)),c=n0L,a=CY(null==e?ED(Aj(c.f,null)):yD(c.i,e),288))?null!=i&&(a=WN(a,(xf(i),i))):(a=function(t){if(o=!0,l=null,r=null,a=null,e=!1,w=n0I,h=null,c=null,(s=Z_(t,u=0,n0_,n0B))<t.length&&(Rx(s,t.length),58==t.charCodeAt(s))&&(B2(u,s,t.length),l=t.substr(u,s-u),u=s+1),i=null!=l&&vK(n0A,l.toLowerCase())){if(-1==(s=t.lastIndexOf("!/")))throw new pN("no archive separator").e;o=!0,r=Di(t,u,++s),u=s}else u>=0&&OB(t.substr(u,2),"//")?(u+=2,s=Z_(t,u,n0H,n0U),B2(u,s,t.length),r=t.substr(u,s-u),u=s):null!=l&&(u==t.length||(Rx(u,t.length),47!=t.charCodeAt(u)))&&(o=!1,-1==(s=Sd(t,niT(35),u))&&(s=t.length),B2(u,s,t.length),r=t.substr(u,s-u),u=s);if(!i&&u<t.length&&(Rx(u,t.length),47==t.charCodeAt(u))&&(s=Z_(t,u+1,n0H,n0U),B2(u+1,s,t.length),(f=t.substr(u+1,s-(u+1))).length>0&&58==xq(f,f.length-1)&&(a=f,u=s)),u<t.length&&(Rx(u,t.length),47==t.charCodeAt(u))&&(++u,e=!0),u<t.length&&(Rx(u,t.length),63!=t.charCodeAt(u))&&(Rx(u,t.length),35!=t.charCodeAt(u))){for(b=new du;u<t.length&&(Rx(u,t.length),63!=t.charCodeAt(u))&&(Rx(u,t.length),35!=t.charCodeAt(u));)s=Z_(t,u,n0H,n0U),jB(b,(B2(u,s,t.length),t.substr(u,s-u))),(u=s)<t.length&&(Rx(u,t.length),47==t.charCodeAt(u))&&((d=++u)<t.length&&(Rx(d,t.length),63!=t.charCodeAt(d))&&(Rx(d,t.length),35!=t.charCodeAt(d))||b.c.push(""));w=BJ(nPL,nby,2,b.c.length,6,1),ZB(b,w)}u<t.length&&(Rx(u,t.length),63==t.charCodeAt(u))&&(-1==(s=S1(t,35,++u))&&(s=t.length),B2(u,s,t.length),h=t.substr(u,s-u),u=s),u<t.length&&(c=NF(t,++u));var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p=o,m=l,v=r,y=a,k=w,M=h;if(!(null==m||!J7(m,n0_,n0B)))throw new pN("invalid scheme: "+m).e;if(!p&&!(null!=v&&-1==Tp(v,niT(35))&&v.length>0&&(Rx(0,v.length),47!=v.charCodeAt(0))))throw new pN("invalid opaquePart: "+v).e;if(p&&!(null!=m&&vK(n0A,m.toLowerCase()))&&!(null==v||!J7(v,n0H,n0U))||p&&null!=m&&vK(n0A,m.toLowerCase())&&!function(t){var e;if(null!=t&&t.length>0&&33==xq(t,t.length-1))try{return e=n(Di(t,0,t.length-1)),null==e.e}catch(n){if(!jM(n=Vt(n),33))throw n.e}return!1}(v))throw new pN(njo+v).e;if(!(null==y||(g=y.length)>0&&(Rx(g-1,y.length),58==y.charCodeAt(g-1))&&!J7(y,n0H,n0U)))throw new pN("invalid device: "+y).e;if(!function(n){var t,e;if(null==n)return!1;for(t=0,e=n.length;t<e;t++)if(!Ii(n[t]))return!1;return!0}(k))throw new pN(null==k?"invalid segments: null":"invalid segment: "+function(n){var t,e;if(null==n)return null;for(t=0,e=n.length;t<e;t++)if(!Ii(n[t]))return n[t];return null}(k)).e;if(null!=M&&-1!=Tp(M,niT(35)))throw new pN("invalid query: "+M).e;return new nuE(o,l,r,a,e,w,h,c)}(e),o=n0L,u=a,CY(null==e?nr3(o.f,null,u):JI(o.i,e,u),288),null!=i&&(a=WN(a,i))),a}(t))).El(),n)),e}function Qb(n,t){var e,i;return(e=CY(n.c.Bc(t),16))?((i=n.hc()).Gc(e),n.d-=e.gc(),e.$b(),n.mc(i)):n.jc()}function Qw(n,t,e,i){var r;n.a=t,r=new nrv(n.c,n.a,e,+!i),n.f=new nuj(e,n.a,r,n.e,n.b,n.c==(qp(),nqh))}function Qd(n){var t;return Px(n.a!=n.b),t=n.d.a[n.a],PD(n.b==n.d.c&&null!=t),n.c=n.a,n.a=n.a+1&n.d.a.length-1,t}function Qg(n){var t;if(0!=n.c)return n.c;for(t=0;t<n.a.length;t++)n.c=33*n.c+(-1&n.a[t]);return n.c=n.c*n.e,n.c}function Qp(n){var t;return zU(t=new jl(n.a),n),VD(t,(nlF(),nK6),n),t.o.a=n.g,t.o.b=n.f,t.n.a=n.i,t.n.b=n.j,t}function Qm(n){return(nf5(),n1l).Hc(n.j)?pj(PI(niK(n,(nlF(),nFb)))):V4(Vw(DY(nLA,1),nby,8,0,[n.i.n,n.n,n.a])).b}function Qv(n,t){var e;return Ty(n)&&Ty(t)&&!isNaN(e=n-t)?e:neu(Ty(n)?zB(n):n,Ty(t)?zB(t):t)}function Qy(n,t){var e,i,r;for(r=1,e=n,i=t>=0?t:-t;i>0;)i%2==0?(e*=e,i=i/2|0):(r*=e,i-=1);return t<0?1/r:r}function Qk(n,t){var e,i,r;return(r=function n(t){var e,i,r,a,c;if(i=CY(t,54)._h())try{if(r=null,(e=ncz((yM(),n2e),nsO(null==i.e?i:(i.c||(i.c=new nuE((256&i.f)!=0,i.i,i.a,i.d,(16&i.f)!=0,i.j,i.g,null)),i.c))))&&(a=e.ai())&&(r=a.Fl((c=i.e,xf(c),c))),r&&r!=t)return n(r)}catch(n){if(!jM(n=Vt(n),63))throw n.e}return t}(((i=n?Zy(n):null)&&i.Gl(),t)))==t&&(e=Zy(n))&&e.Gl(),r}function QM(n,t,e){var i,r;return r=n.f,n.f=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,0,r,t),e?e.nj(i):e=i),e}function QE(n,t,e){var i,r;return r=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,3,r,t),e?e.nj(i):e=i),e}function QT(n,t,e){var i,r;return r=n.a,n.a=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,1,r,t),e?e.nj(i):e=i),e}function Qj(n){var t,e,i,r;if(null!=n){for(e=0;e<n.length;++e)if(t=n[e])for(CY(t.g,379),r=t.i,i=0;i<r;++i);}}function QS(){QS=T,nGt=new kG("DUMMY_NODE_OVER",0),nGe=new kG("DUMMY_NODE_UNDER",1),nGi=new kG("EQUAL",2)}function QP(){QP=T,n1U=new M5("PARALLEL_NODE",0),n1H=new M5("HIERARCHICAL_NODE",1),n1G=new M5("ROOT_NODE",2)}function QO(){QO=T,nZS=new MJ("INHERIT",0),nZj=new MJ("INCLUDE_CHILDREN",1),nZP=new MJ("SEPARATE_CHILDREN",2)}function QC(n,t){switch(t){case 1:n.n||(n.n=new Lk(nNt,n,1,7)),nft(n.n);return;case 2:qY(n,null);return}VC(n,t)}function QI(n){switch(n.g){case 0:return new cF;case 1:return new cB;case 2:return new c_;default:return null}}function QA(n){switch(Co(),n.c){case 0:return NL(),nP0;case 1:return new pV(naf(new vG(n)));default:return new pi(n)}}function QL(n){switch(Co(),n.gc()){case 0:return NL(),nP0;case 1:return new pV(n.Kc().Pb());default:return new yN(n)}}function QN(n){switch(n.gc()){case 0:return nPQ;case 1:return new IY(NP(n.Xb(0)));default:return new Dn(n)}}function Qx(n){var t,e;return n>-129&&n<128?(Ip(),(e=nOb[t=n+128])||(e=nOb[t]=new fE(n)),e):new fE(n)}function Q$(n){var t,e;return n>-129&&n<128?(I5(),(e=nOy[t=n+128])||(e=nOy[t]=new fj(n)),e):new fj(n)}function QD(n,t){n.a.c.length>0&&WT(CY(I0(n.a,n.a.c.length-1),579),t)||jB(n.a,new _b(t))}function QR(n){var t;return t=new p2,t.a+="VerticalSegment ",EJ(t,n.e),t.a+=" ",EY(t,j6(new pW,new fU(n.k))),t.a}function QK(n,t){var e,i;for(e=0,i=JH(n,t).Kc();i.Ob();)e+=+(null!=niK(CY(i.Pb(),12),(nlF(),nFi)));return e}function QF(n,t,e){var i,r,a;for(i=0,a=ZQ(n,0);a.b!=a.d.c&&!((r=pj(PI(K0(a))))>e);)r>=t&&++i;return i}function Q_(n,t){NP(n);try{return n._b(t)}catch(n){if(jM(n=Vt(n),212)||jM(n,169))return!1;throw n.e}}function QB(n,t){NP(n);try{return n.Hc(t)}catch(n){if(jM(n=Vt(n),212)||jM(n,169))return!1;throw n.e}}function QH(n,t){NP(n);try{return n.xc(t)}catch(n){if(jM(n=Vt(n),212)||jM(n,169))return null;throw n.e}}function QU(n,t){switch(t.g){case 2:case 1:return JH(n,t);case 3:case 4:return Yi(JH(n,t))}return $O(),$O(),nO_}function QG(n){var t;return(64&n.Db)!=0?ncG(n):(t=new Sm(ncG(n)),t.a+=" (name: ",EW(t,n.zb),t.a+=")",t.a)}function Qq(n,t,e){var i,r;return r=n.sb,n.sb=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,4,r,t),e?e.nj(i):e=i),e}function QX(n,t,e){var i,r;return r=n.r,n.r=t,(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,8,r,n.r),e?e.nj(i):e=i),e}function Qz(n,t){var e,i;return(i=(e=CY(t,691)).el())||e.fl(i=jM(t,90)?new EI(n,CY(t,29)):new Ka(n,CY(t,156))),i}function QV(n,t,e){var i;n._i(n.i+1),i=n.Zi(t,e),t!=n.i&&ns8(n.g,t,n.g,t+1,n.i-t),NK(n.g,t,i),++n.i,n.Mi(t,e),n.Ni()}function QW(n,t){var e;return(e=new nc,n.a.Bd(e))?(Sn(),new pm(xf(H2(n,e.a,t)))):(xa(n),Sn(),Sn(),nOY)}function QQ(n,t){var e;0!=n.c.length&&(TT(e=CY(ZB(n,BJ(nAr,npU,10,n.c.length,0,1)),199),new eu),na_(e,t))}function QJ(n,t){var e;0!=n.c.length&&(TT(e=CY(ZB(n,BJ(nAr,npU,10,n.c.length,0,1)),199),new es),na_(e,t))}function QY(n,t){return EK(n)?OB(n,t):E_(n)?O_(n,t):EF(n)?(xf(n),ER(n)===ER(t)):A6(n)?n.Fb(t):AM(n)?ER(n)===ER(t):RK(n,t)}function QZ(n,t,e){if(t<0)nab(n,e);else{if(!e.rk())throw new pN(nET+e.xe()+nEj).e;CY(e,69).wk().Ek(n,n.hi(),t)}}function Q1(n,t,e){if(n<0||t>e)throw new pC(ndw+n+ndg+t+", size: "+e).e;if(n>t)throw new pN(ndw+n+ndd+t).e}function Q0(n){var t;return(64&n.Db)!=0?ncG(n):(t=new Sm(ncG(n)),t.a+=" (source: ",EW(t,n.d),t.a+=")",t.a)}function Q2(n){return n>=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function Q3(n,t){var e;e=(256&n.Bb)!=0,t?n.Bb|=256:n.Bb&=-257,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,2,e,t))}function Q4(n,t){var e;e=(256&n.Bb)!=0,t?n.Bb|=256:n.Bb&=-257,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,8,e,t))}function Q6(n,t){var e;e=(256&n.Bb)!=0,t?n.Bb|=256:n.Bb&=-257,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,8,e,t))}function Q5(n,t){var e;e=(512&n.Bb)!=0,t?n.Bb|=512:n.Bb&=-513,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,3,e,t))}function Q8(n,t){var e;e=(512&n.Bb)!=0,t?n.Bb|=512:n.Bb&=-513,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,9,e,t))}function Q9(n,t){var e;return -1==n.b&&n.a&&(e=n.a.pk(),n.b=e?n.c.Hh(n.a.Lj(),e):Ym(n.c.Dh(),n.a)),n.c.yh(n.b,t)}function Q7(n,t){var e,i;for(i=new j2(n);i.e!=i.i.gc();)if(e=CY(Z6(i),29),ER(t)===ER(e))return!0;return!1}function Jn(n){var t;return n.k==(ni8(),n$g)&&((t=CY(niK(n,(nlF(),nK_)),64))==(nf5(),n1t)||t==n1m)}function Jt(n){var t;return EB((t=Kx(n)).a,0)?(vV(),vV(),nOZ):(vV(),new S5(Qv(t.a,0)>0?_Q(t)/KI(t.a):0))}function Je(n,t){this.e=t,this.a=z6(n),this.a<54?this.f=KI(n):this.c=(nuY(),Qv(n,0)>=0?Yq(n):Nt(Yq(H4(n))))}function Ji(n,t,e,i,r,a){this.e=new du,this.f=(qy(),nGR),jB(this.e,n),this.d=t,this.a=e,this.b=i,this.f=r,this.c=a}function Jr(n){return n-=n>>1&0x55555555,n=((n=(n>>2&0x33333333)+(0x33333333&n))>>4)+n&0xf0f0f0f,n+=n>>8,63&(n+=n>>16)}function Ja(n,t){var e,i;for(i=new j2(n);i.e!=i.i.gc();)if(e=CY(Z6(i),142),ER(t)===ER(e))return!0;return!1}function Jc(n,t,e){var i,r;return(r=ncz(n.b,t))&&(i=CY(nhZ(Ur(n,r),""),29))?ncF(n,i,t,e):null}function Jo(n,t,e){var i;if(t>(i=n.gc()))throw new OR(t,i).e;if(n.Si()&&n.Hc(e))throw new pN(nTd).e;n.Gi(t,e)}function Ju(){Ju=T,nY7=new Mz(nd6,0),nY9=new Mz(nd0,1),nY8=new Mz(nd1,2),nY5=new Mz(nge,3),nZn=new Mz("UP",4)}function Js(){Js=T,nWq=new MA("P1_STRUCTURE",0),nWX=new MA("P2_PROCESSING_ORDER",1),nWz=new MA("P3_EXECUTION",2)}function Jh(){Jh=T,nzC=Zg(Zg(yg(Zg(Zg(yg(IG(new xm,(ntU(),nq6),(nsi(),nXs)),nq5),nXa),nXo),nq8),nXt),nXu)}function Jf(n){switch(n.g){case 2:return nY9;case 1:return nY8;case 4:return nY5;case 3:return nZn;default:return nY7}}function Jl(n,t){switch(n.b.g){case 0:case 1:return t;case 2:case 3:return new x4(t.d,0,t.a,t.b);default:return null}}function Jb(n){switch(n.g){case 1:return n1y;case 2:return n1t;case 3:return n1n;case 4:return n1m;default:return n1v}}function Jw(n){switch(n.g){case 1:return n1m;case 2:return n1y;case 3:return n1t;case 4:return n1n;default:return n1v}}function Jd(n){switch(n.g){case 1:return n1n;case 2:return n1m;case 3:return n1y;case 4:return n1t;default:return n1v}}function Jg(n,t,e,i){switch(t){case 1:return n.n||(n.n=new Lk(nNt,n,1,7)),n.n;case 2:return n.k}return ntA(n,t,e,i)}function Jp(n,t,e){var i,r;return n.Pj()?(r=n.Qj(),i=naD(n,t,e),n.Jj(n.Ij(7,Qx(e),i,t,r)),i):naD(n,t,e)}function Jm(n,t){var e,i,r,a,c,o;null==n.d?(++n.e,--n.f):(r=t.ld(),i=((e=t.Bi())&nl3)%n.d.length,a=n,c=i,o=ncX(n,i,e,r),++a.e,--a.f,CY(a.d[c].gd(o),136).md())}function Jv(n,t){var e;e=(n.Bb&nbB)!=0,t?n.Bb|=nbB:n.Bb&=-1025,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,10,e,t))}function Jy(n,t){var e;e=(n.Bb&nwB)!=0,t?n.Bb|=nwB:n.Bb&=-4097,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,12,e,t))}function Jk(n,t){var e;e=(n.Bb&njE)!=0,t?n.Bb|=njE:n.Bb&=-8193,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,15,e,t))}function JM(n,t){var e;e=(n.Bb&njT)!=0,t?n.Bb|=njT:n.Bb&=-2049,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,11,e,t))}function JE(n){var t,e;for(e=n.p.a.ec().Kc();e.Ob();)if((t=CY(e.Pb(),218)).f&&n.b[t.c]<-1e-10)return t;return null}function JT(n,t){var e,i;for(i=new fU(t);i.a<i.c.c.length;)e=CY(RU(i),42),H0(n.b.b,e.b),function(n,t){jL(n.a,t)&&(t.d=null)}(CY(e.a,194),CY(e.b,86))}function Jj(n,t){return n<t?-1:n>t?1:n==t?0==n?Jj(1/n,1/t):0:isNaN(n)?+!isNaN(t):-1}function JS(n,t){var e,i,r;for(xf(t),e=!1,i=new fU(n);i.a<i.c.c.length;)r=RU(i),t.Hc(r)&&(L6(i),e=!0);return e}function JP(n){var t,e,i,r;return Xf(e=new O9(t=CY(mP((r=(i=n.Rm).f)==nPw?i:r),9),CY(Oc(t,t.length),9),0),n),e}function JO(n){var t;return(t=CY(niK(n,(nlL(),nHt)),88))==(Ju(),nY7)?pj(PI(niK(n,nBF)))>=1?nY9:nY5:t}function JC(n){if(n.c)JC(n.c);else if(n.d)throw new px("Stream already terminated, can't be modified or used").e}function JI(n,t,e){var i;return i=n.a.get(t),n.a.set(t,void 0===e?null:e),void 0===i?(++n.c,++n.b.g):++n.d,i}function JA(n,t,e){var i;return i=0,t&&(TD(n.a)?i+=t.f.a/2:i+=t.f.b/2),e&&(TD(n.a)?i+=e.f.a/2:i+=e.f.b/2),i}function JL(n,t,e){var i;return mk(),G4(i=new oR,t),GW(i,e),n&&B7((n.a||(n.a=new jU(nL0,n,5)),n.a),i),i}function JN(n){var t;return(64&n.Db)!=0?ncG(n):(t=new Sm(ncG(n)),t.a+=" (identifier: ",EW(t,n.k),t.a+=")",t.a)}function Jx(n,t){var e;e=(n.Bb&nEI)!=0,t?n.Bb|=nEI:n.Bb&=-32769,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,18,e,t))}function J$(n,t){var e;e=(n.Bb&nEI)!=0,t?n.Bb|=nEI:n.Bb&=-32769,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,18,e,t))}function JD(n,t){var e;e=(n.Bb&nbk)!=0,t?n.Bb|=nbk:n.Bb&=-16385,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,16,e,t))}function JR(n,t){var e;e=(n.Bb&nwG)!=0,t?n.Bb|=nwG:n.Bb&=-65537,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new _M(n,1,20,e,t))}function JK(n){var t;return t=BJ(n4u,nb5,28,2,15,1),n-=nwG,t[0]=(n>>10)+nwq&nb9,t[1]=(1023&n)+56320&nb9,Za(t,0,t.length)}function JF(n,t){var e,i,r,a,c,o;return Ty(n)&&Ty(t)&&nwx<(e=n+t)&&e<nwL?e:zC((i=Ty(n)?zB(n):n,r=Ty(t)?zB(t):t,a=i.l+r.l,c=i.m+r.m+(a>>22),o=i.h+r.h+(c>>22),js(a&nwO,c&nwO,o&nwC)))}function J_(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;if(Ty(n)&&Ty(t)&&nwx<(e=n*t)&&e<nwL)return e;return zC((i=Ty(n)?zB(n):n,r=Ty(t)?zB(t):t,a=8191&i.l,c=i.l>>13|(15&i.m)<<9,o=i.m>>4&8191,u=i.m>>17|(255&i.h)<<5,s=(1048320&i.h)>>8,h=8191&r.l,f=r.l>>13|(15&r.m)<<9,l=r.m>>4&8191,b=r.m>>17|(255&r.h)<<5,w=(1048320&r.h)>>8,m=a*h,v=c*h,y=o*h,k=u*h,M=s*h,0!=f&&(v+=a*f,y+=c*f,k+=o*f,M+=u*f),0!=l&&(y+=a*l,k+=c*l,M+=o*l),0!=b&&(k+=a*b,M+=c*b),0!=w&&(M+=a*w),d=(m&nwO)+((511&v)<<13),g=(m>>22)+(v>>9)+((262143&y)<<4)+((31&k)<<17),p=(y>>18)+(k>>5)+((4095&M)<<8),g+=d>>22,d&=nwO,p+=g>>22,js(d,g&=nwO,p&=nwC)))}function JB(n,t){var e;return Ty(n)&&Ty(t)&&nwx<(e=n-t)&&e<nwL?e:zC(Vn(Ty(n)?zB(n):n,Ty(t)?zB(t):t))}function JH(n,t){var e;return n.i||nal(n),(e=CY(xN(n.g,t),42))?new Rk(n.j,CY(e.a,17).a,CY(e.b,17).a):($O(),$O(),nO_)}function JU(n,t){return T6(),qM(nbQ),nP_.Math.abs(n-t)<=nbQ||n==t||isNaN(n)&&isNaN(t)?0:n<t?-1:n>t?1:Tm(isNaN(n),isNaN(t))}function JG(){JG=T,nZs=new MW(nd6,0),nZo=new MW("POLYLINE",1),nZc=new MW("ORTHOGONAL",2),nZu=new MW("SPLINES",3)}function Jq(){Jq=T,nVW=new MS("ASPECT_RATIO_DRIVEN",0),nVQ=new MS("MAX_SCALE_DRIVEN",1),nVV=new MS("AREA_DRIVEN",2)}function JX(n){var t,e;for(t=new du,e=new fU(n.j);e.a<e.c.c.length;)jB(t,CY(RU(e),12).b);return NP(t),new TO(t)}function Jz(n){var t,e;for(t=new du,e=new fU(n.j);e.a<e.c.c.length;)jB(t,CY(RU(e),12).e);return NP(t),new TO(t)}function JV(n){var t,e;for(t=new du,e=new fU(n.j);e.a<e.c.c.length;)jB(t,CY(RU(e),12).g);return NP(t),new TO(t)}function JW(n,t){var e,i;for(i=0,e=CY(t.Kb(n),20).Kc();e.Ob();)pT(PC(niK(CY(e.Pb(),18),(nlF(),nFu))))||++i;return i}function JQ(n){var t,e,i,r,a;for(t=new OM(n.Rd().gc()),r=0,i=Hd(n.Rd().Kc());i.Ob();)e=i.Pb(),a=Qx(r++),jB(t.a,(xj(),nnV(e,a),new vj(e,a)));return function(n){var t,e,i;switch(xj(),n.c.length){case 0:return nPJ;case 1:return e=(t=CY(naf(new fU(n)),44)).ld(),i=t.md(),xj(),nnV(e,i),new xp(e,i);default:return new pu(CY(ZB(n,BJ(nPl,nbL,44,n.c.length,0,1)),173))}}(t.a)}function JJ(n,t,e,i){var r,a,c,o;return xf(i),xf(e),null==(a=null==(r=n.xc(t))?e:(c=CY(r,15),o=CY(e,16),c.Gc(o),c))?n.Bc(t):n.zc(t,a),a}function JY(n,t){var e,i,r,a,c;if(e=t.f,Zq(n.c.d,e,t),null!=t.g)for(r=t.g,a=0,c=r.length;a<c;++a)i=r[a],Zq(n.c.e,i,t)}function JZ(n,t){var e,i;for(e=ZQ(n,0);e.b!=e.d.c;){if(xf(i=PI(K0(e))),i==t)return;if(i>t){KE(e);break}}Ne(e,t)}function J1(n,t){0==n.n.c.length&&jB(n.n,new DT(n.s,n.t,n.i)),jB(n.b,t),nn3(CY(I0(n.n,n.n.c.length-1),209),t),nhe(n,t)}function J0(n){var t;this.a=new O9(t=CY(n.e&&n.e(),9),CY(Oc(t,t.length),9),0),this.b=BJ(nPa,nl7,1,this.a.a.length,5,1)}function J2(n){return Array.isArray(n)&&n.Tm===E?mI(WZ(n))+"@"+(XS(n)>>>0).toString(16):n.toString()}function J3(n,t){switch(t.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function J4(n,t,e,i){switch(t){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return Jg(n,t,e,i)}function J6(n,t){if(t==n.d)return n.e;if(t==n.e)return n.d;throw new pN("Node "+t+" not part of edge "+n).e}function J5(n,t,e,i){if(t<0)nc7(n,e,i);else{if(!e.rk())throw new pN(nET+e.xe()+nEj).e;CY(e,69).wk().Ck(n,n.hi(),t,i)}}function J8(n){var t;if(n.b){if(J8(n.b),n.b.d!=n.c)throw(new dR).e}else n.d.dc()&&(t=CY(n.f.c.xc(n.e),16))&&(n.d=t)}function J9(n){var t,e,i;for(this.a=new TE,i=new fU(n);i.a<i.c.c.length;)e=CY(RU(i),16),function(n,t){var e,i;for(i=t.Kc();i.Ob();)e=CY(i.Pb(),272),n.b=!0,LX(n.e,e),e.b=n}(t=new Ar,e),LX(this.a,t)}function J7(n,t,e){var i,r;for(i=0,r=n.length;i<r;i++)if(Vx((Rx(i,n.length),n.charCodeAt(i)),t,e))return!0;return!1}function Yn(n,t,e,i,r){var a,c,o;for(c=r;t.b!=t.c;)a=CY(LG(t),10),o=CY(JH(a,i).Xb(0),12),n.d[o.p]=c++,dk(e.c,o);return c}function Yt(n,t){var e,i,r,a,c;for(i=0,e=0,a=0,c=t.length;a<c;++a)(r=t[a])>0&&(i+=r,++e);return e>1&&(i+=n.d*(e-1)),i}function Ye(n){var t,e,i;for(i=new p1,i.a+="[",t=0,e=n.gc();t<e;)EW(i,Sp(n.Vi(t))),++t<e&&(i.a+=nl8);return i.a+="]",i.a}function Yi(n){var t,e;return jM(n,307)?(NP(t=CY(n,307)),nrY(e=t?new O8(t):CW(t.Kc())),QN(e)):jM(n,441)?CY(n,441).a:jM(n,59)?new pr(n):new vL(n)}function Yr(n,t){var e;return ER(n)===ER(t)||!!jM(t,92)&&(e=CY(t,92),n.e==e.e&&n.d==e.d&&function(n,t){var e;for(e=n.d-1;e>=0&&n.a[e]===t[e];e--);return e<0}(n,e.a))}function Ya(n){switch(nf5(),n.g){case 4:return n1t;case 1:return n1n;case 3:return n1m;case 2:return n1y;default:return n1v}}function Yc(n){var t,e;for(e=pj(PI(n.a.of((nl_(),nYH)))),t=new fU(n.a.Sf());t.a<t.c.c.length;)nlc(n,CY(RU(t),695),e)}function Yo(n,t){var e,i;for(i=new fU(t);i.a<i.c.c.length;)e=CY(RU(i),42),jB(n.b.b,CY(e.b,86)),R1(CY(e.a,194),CY(e.b,86))}function Yu(n,t){var e;return n.d?LR(n.b,t)?CY(NR(n.b,t),47):(e=t.dg(),xM(n.b,t,e),e):t.dg()}function Ys(n,t){switch(t){case 3:return 0!=n.f;case 4:return 0!=n.g;case 5:return 0!=n.i;case 6:return 0!=n.j}return zK(n,t)}function Yh(n){switch(n.g){case 0:return new cT;case 1:return new cP;default:throw new pN(np5+(null!=n.f?n.f:""+n.g)).e}}function Yf(n){switch(n.g){case 0:return new gX;case 1:return new gM;default:throw new pN(nMe+(null!=n.f?n.f:""+n.g)).e}}function Yl(){var n,t,e;nih(),e=nO3+++Date.now(),n=Dy(nP_.Math.floor(e*ndn))&nde,t=Dy(e-n*ndt),this.a=1502^n,this.b=t^nw7}function Yb(){Yb=T,nFE=new kH(npL,0),nFv=new kH("FIRST",1),nFy=new kH(np7,2),nFk=new kH("LAST",3),nFM=new kH(nmn,4)}function Yw(){Yw=T,n1Y=new M9(nyA,0),n1W=new M9("GROUP_DEC",1),n1J=new M9("GROUP_MIXED",2),n1Q=new M9("GROUP_INC",3)}function Yd(n,t,e){var i,r;for(r=n.Kc();r.Ob();)if(i=r.Pb(),ER(t)===ER(i)||null!=t&&QY(t,i))return e&&r.Qb(),!0;return!1}function Yg(n,t){var e;if(!t)return!1;for(e=0;e<n.i;++e)if(CY(n.g[e],378).mj(t))return!1;return B7(n,t)}function Yp(n,t,e){var i,r;if(++n.j,e.dc())return!1;for(r=e.Kc();r.Ob();)i=r.Pb(),n.qj(t,n.Zi(t,i)),++t;return!0}function Ym(n,t){var e,i,r;if(null==n.i&&nhr(n),e=n.i,-1!=(i=t.Lj())){for(r=e.length;i<r;++i)if(e[i]==t)return i}return -1}function Yv(n){var t,e,i;for(t=new fM,i=new fK(n.b.Kc());i.b.Ob();)e=function(n){var t,e,i,r,a,c,o,u;if(jM(n,143))return function(n){var t,e,i,r,a;return a=nig(n),null!=n.a&&IT(a,"category",n.a),vi(new fS(n.d))||(U7(a,"knownOptions",i=new fM),t=new w_(i),_r(new fS(n.d),t)),vi(n.g)||(U7(a,"supportedFeatures",r=new fM),e=new wB(r),_r(n.g,e)),a}(CY(n,143));if(jM(n,233))return r=nig(t=CY(n,233)),vi(t.c)||(U7(r,"knownLayouters",i=new fM),e=new wH(i),_r(t.c,e)),r;if(jM(n,23))return u=nig(a=CY(n,23)),null!=a.e&&IT(u,nTs,a.e),a.k&&IT(u,"type",Pe(a.k)),vi(a.j)||(U7(u,nEZ,o=new fM),c=new wU(o),_r(a.j,c)),u;throw new pN(nTn+niV(new pU(Vw(DY(nPa,1),nl7,1,5,[n])))).e}(CY(i.b.Pb(),701)),function(n,t,e){UA(n,t),FO(n,t,e)}(t,t.a.length,e);return t.a}function Yy(n){var t;return n.c||(n.c=new nI),ji(n.d,new nL),function(n){var t,e,i,r,a,c,o;for(a=new mH(CY(NP(new nN),50)),o=nw_,e=new fU(n.d);e.a<e.c.c.length;){for(o=(t=CY(RU(e),226)).c.c;0!=a.a.gc();)if((c=CY(a.a.Tc(),226)).c.c+c.c.b<o)a.a.Bc(c);else break;for(r=a.a.ec().Kc();r.Ob();)IA((i=CY(r.Pb(),226)).b,t),IA(t.b,i);a.a.zc(t,(SB(),nOo))}}(n),t=function(n){var t,e,i,r,a,c,o,u,s,h;for(s=n.a,t=new dV,u=0,i=new fU(n.d);i.a<i.c.c.length;){for(e=CY(RU(i),226),h=0,Xm(e.b,new nA),c=ZQ(e.b,0);c.b!=c.d.c;)a=CY(K0(c),226),t.a._b(a)&&(r=e.c,h<(o=a.c).d+o.a+s&&h+r.a+s>o.d&&(h=o.d+o.a+s));e.c.d=h,t.a.zc(e,t),u=nP_.Math.max(u,e.c.d+e.c.a)}return u}(n),vZ(new Aa(null,new R$(n.d,16)),new lp(n)),t}function Yk(n){Yj(),this.c=_q(Vw(DY(nLS,1),nl7,845,0,[nUY])),this.b=new dc,this.a=n,xM(this.b,nUZ,1),Gd(nU1,new wh(this))}function YM(n,t,e){GX(),gb.call(this),this.a=I3(nCg,[nby,ndZ],[603,217],0,[nCv,nCm],2),this.c=new TI,this.g=n,this.f=t,this.d=e}function YE(n,t){this.n=I3(n4f,[nby,nwH],[376,28],14,[t,Dy(nP_.Math.ceil(n/32))],2),this.o=n,this.p=t,this.j=n-1>>1,this.k=t-1>>1}function YT(n){var t,e;t=n.d==(nr_(),nRb),e=ne0(n),t&&!e||!t&&e?VD(n.a,(nlL(),nBR),(nnS(),nJn)):VD(n.a,(nlL(),nBR),(nnS(),nQ7))}function Yj(){Yj=T,yu(),nlL(),nUZ=nUC,nU1=_q(Vw(DY(nLO,1),nyC,149,0,[nUm,nUv,nUk,nUM,nUj,nUS,nUP,nUO,nUA,nUN,nUy,nUE,nUI]))}function YS(n,t){var e,i;if(1>=(i=new f0(n.a.ad(t,!0))).a.gc())throw(new d$).e;return(e=i.a.ec().Kc()).Pb(),CY(e.Pb(),40)}function YP(n,t){return n.i>0&&(t.length<n.i&&(t=G7(WZ(t).c,n.i)),ns8(n.g,0,t,0,n.i)),t.length>n.i&&NK(t,n.i,null),t}function YO(n){var t;return(64&n.Db)!=0?QG(n):(t=new Sm(QG(n)),t.a+=" (instanceClassName: ",EW(t,n.D),t.a+=")",t.a)}function YC(n){var t,e,i,r;for(e=0,r=0,i=n.length;e<i;e++)Rx(e,n.length),(t=n.charCodeAt(e))<64&&(r=R_(r,A8(1,t)));return r}function YI(n,t){var e,i,r,a;for(r=0,a=nox(n.e.Dh(),t),e=CY(n.g,124);r<n.i;++r)if(i=e[r],a.am(i.Lk()))return!1;return!0}function YA(n,t){var e,i;return n.f>0&&(n._j(),i=((e=null==t?0:XS(t))&nl3)%n.d.length,-1!=ncX(n,i,e,t))}function YL(n,t){var e,i;n.a=JF(n.a,1),n.c=nP_.Math.min(n.c,t),n.b=nP_.Math.max(n.b,t),n.d+=t,e=t-n.f,i=n.e+e,n.f=i-n.e-e,n.e=i}function YN(n,t){switch(t){case 3:GJ(n,0);return;case 4:GY(n,0);return;case 5:GZ(n,0);return;case 6:G1(n,0);return}QC(n,t)}function Yx(n,t){switch(t.g){case 1:return Cz(n.j,(X8(),n$E));case 2:return Cz(n.j,(X8(),n$j));default:return $O(),$O(),nO_}}function Y$(n){var t;switch(NA(),(t=n.Pc()).length){case 0:return nPQ;case 1:return new IY(NP(t[0]));default:return new Dn(function(n){var t,e;for(t=0,e=n.length;t<e;t++)if(null==n[t])throw new pD("at index "+t).e;return new pU(n)}(t))}}function YD(n,t){n.Xj();try{n.d.bd(n.e++,t),n.f=n.d.j,n.g=-1}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}}function YR(){YR=T,n2X=new ue,n2F=new ui,n2_=new ur,n2B=new ua,n2H=new uc,n2U=new uo,n2G=new uu,n2q=new us,n2z=new uh}function YK(n,t){var e,i;return Tr(),e=On((pp(),pp(),nP8)),i=null,t==e&&(i=CY(Db(nP5,n),624)),i||(i=new NC(n),t==e&&Rr(nP5,n,i)),i}function YF(n){return nnT(),(!n.q?($O(),$O(),nOB):n.q)._b((nlL(),nHX))?CY(niK(n,nHX),203):CY(niK(xi(n),nHz),203)}function Y_(n,t){var e,i;return i=null,Pn(n,(nlL(),nUT))&&(e=CY(niK(n,nUT),96)).pf(t)&&(i=e.of(t)),null==i&&(i=niK(xi(n),t)),i}function YB(n,t){var e,i,r;return!!jM(t,44)&&(i=(e=CY(t,44)).ld(),N7(r=QH(n.Rc(),i),e.md())&&(null!=r||n.Rc()._b(i)))}function YH(n,t){var e,i,r;return n.f>0&&(n._j(),r=((i=null==t?0:XS(t))&nl3)%n.d.length,e=naH(n,r,i,t))?e.md():null}function YU(n,t,e){var i,r,a;return n.Pj()?(i=n.i,a=n.Qj(),QV(n,i,t),r=n.Ij(3,null,t,i,a),e?e.nj(r):e=r):QV(n,n.i,t),e}function YG(n){var t;return PY(),t=new TP(CY(n.e.of((nl_(),nJ7)),8)),n.B.Hc((nsv(),n1x))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function Yq(n){var t,e;return(nuY(),e=AW(n),0!=(t=AW(A7(n,32))))?new RG(e,t):e>10||e<0?new FI(1,e):nOL[e]}function YX(n,t){var e;return Ty(n)&&Ty(t)&&nwx<(e=n%t)&&e<nwL?e:zC((nfs(Ty(n)?zB(n):n,Ty(t)?zB(t):t,!0),nOe))}function Yz(n,t){var e;(function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w;for(l=new fU(n);l.a<l.c.c.length;){for(SH((f=CY(RU(l),10)).n),SH(f.o),BV(f.f),nuz(f),!function(n){var t,e,i;switch(t=CY(niK(n,(nlL(),nHJ)),8),VD(n,nHJ,new MH(t.b,t.a)),CY(niK(n,nBR),255).g){case 1:VD(n,nBR,(nnS(),nJt));break;case 2:VD(n,nBR,(nnS(),nQ8));break;case 3:VD(n,nBR,(nnS(),nQ7));break;case 4:VD(n,nBR,(nnS(),nJn))}(!n.q?($O(),$O(),nOB):n.q)._b(nUu)&&(i=(e=CY(niK(n,nUu),8)).a,e.a=e.b,e.b=i)}(f),w=new fU(f.j);w.a<w.c.c.length;){for(SH((b=CY(RU(w),12)).n),SH(b.a),SH(b.o),nau(b,nn0(b.j)),(r=CY(niK(b,(nlL(),nUe)),17))&&VD(b,nUe,Qx(-r.a)),i=new fU(b.g);i.a<i.c.c.length;){for(t=ZQ((e=CY(RU(i),18)).a,0);t.b!=t.d.c;)SH(CY(K0(t),8));if(c=CY(niK(e,nHP),75))for(a=ZQ(c,0);a.b!=a.d.c;)SH(CY(K0(a),8));for(s=new fU(e.b);s.a<s.c.c.length;)SH((o=CY(RU(s),72)).n),SH(o.o)}for(h=new fU(b.f);h.a<h.c.c.length;)SH((o=CY(RU(h),72)).n),SH(o.o)}for(f.k==(ni8(),n$g)&&(VD(f,(nlF(),nK_),nn0(CY(niK(f,nK_),64))),!function(n){var t,e;e=CY(niK(n,(nlL(),nHI)),171),t=CY(niK(n,(nlF(),nKz)),311),e==(Yb(),nFy)?(VD(n,nHI,nFE),VD(n,nKz,(UM(),nKy))):e==nFM?(VD(n,nHI,nFE),VD(n,nKz,(UM(),nKm))):t==(UM(),nKy)?(VD(n,nHI,nFy),VD(n,nKz,nKv)):t==nKm&&(VD(n,nHI,nFM),VD(n,nKz,nKv))}(f)),u=new fU(f.b);u.a<u.c.c.length;)nuz(o=CY(RU(u),72)),SH(o.o),SH(o.n)}})(t),(e=CY(niK(n,(nlL(),nHo)),283))&&VD(n,nHo,function(n){switch(n.g){case 0:return nRU;case 1:return nRG;case 2:return nRq;case 3:return nRX;case 4:return nRz;case 5:return nRV;default:return null}}(e)),SH(n.c),SH(n.f),BV(n.d),BV(CY(niK(n,nH_),214))}function YV(n){var t,e;0!=n.c&&(1==(t=CY(I0(n.a,n.b),294)).b?(++n.b,n.b<n.a.c.length&&((e=CY(I0(n.a,n.b),294)).b=e.a)):--t.b,--n.c)}function YW(n){this.e=BJ(n4s,nwl,28,n.length,15,1),this.c=BJ(n4h,ndV,28,n.length,16,1),this.b=BJ(n4h,ndV,28,n.length,16,1),this.f=0}function YQ(n,t,e){var i,r,a,c;for(a=t-n.e,c=e-n.f,r=new fU(n.a);r.a<r.c.c.length;)nnL(i=CY(RU(r),172),i.s+a,i.t+c);n.e=t,n.f=e}function YJ(n,t){var e,i;for(e=0,i=t.length;e<i;e+=2)no2(n,(Rx(e,t.length),t.charCodeAt(e)),(Rx(e+1,t.length),t.charCodeAt(e+1)))}function YY(){YY=T,n1T=new TW(15),n1E=new TZ((nl_(),nYa),n1T),n1S=new TZ(nYq,15),n1j=new TZ(nYI,Qx(0)),n1M=new TZ(nJj,ng0)}function YZ(){YZ=T,n1C=new M4("PORTS",0),n1I=new M4("PORT_LABELS",1),n1O=new M4("NODE_LABELS",2),n1P=new M4("MINIMUM_SIZE",3)}function Y1(){Y1=T,nVC=new MT("P1_WIDTH_APPROXIMATION",0),nVI=new MT("P2_PACKING",1),nVA=new MT("P3_WHITESPACE_ELIMINATION",2)}function Y0(n){if(null!=n.b)return!0;for(;n.a.Ob();)if(n.b=n.a.Pb(),!CY(n.b,54).Jh())return!0;return n.b=null,!1}function Y2(n,t,e){var i,r,a;for(r=null,a=n.b;a;){if(i=n.a.Ne(t,a.d),e&&0==i)return a;i>=0?a=a.a[1]:(r=a,a=a.a[0])}return r}function Y3(n,t,e){var i,r,a;for(r=null,a=n.b;a;){if(i=n.a.Ne(t,a.d),e&&0==i)return a;i<=0?a=a.a[0]:(r=a,a=a.a[1])}return r}function Y4(n,t,e){var i,r,a;for(r=CY(NR(n.b,e),183),i=0,a=new fU(t.j);a.a<a.c.c.length;)r[CY(RU(a),113).d.p]&&++i;return i}function Y6(n,t,e){var i,r;i=CY(Db(n3X,t),122),r=CY(Db(n3z,t),122),e?(Rr(n3X,n,i),Rr(n3z,n,r)):(Rr(n3z,n,i),Rr(n3X,n,r))}function Y5(n,t){var e,i,r,a;return e=t>>5,t&=31,function(n,t,e,i){var r,a,c;if(0==i)ns8(t,0,n,e,n.length-e);else for(c=32-i,n[n.length-1]=0,a=n.length-1;a>e;a--)n[a]|=t[a-e-1]>>>c,n[a-1]=t[a-e-1]<<i;for(r=0;r<e;r++)n[r]=0}(i=BJ(n4s,nwl,28,r=n.d+e+ +(0!=t),15,1),n.a,e,t),KM(a=new LZ(n.e,r,i)),a}function Y8(n,t,e){var i,r,a,c,o;return c=n.k,o=t.k,r=PI(Y_(n,i=e[c.g][o.g])),a=PI(Y_(t,i)),nP_.Math.max((xf(r),r),(xf(a),a))}function Y9(n,t){return T6(),T6(),qM(nbQ),(nP_.Math.abs(n-t)<=nbQ||n==t||isNaN(n)&&isNaN(t)?0:n<t?-1:n>t?1:Tm(isNaN(n),isNaN(t)))<0}function Y7(n,t){return T6(),T6(),qM(nbQ),(nP_.Math.abs(n-t)<=nbQ||n==t||isNaN(n)&&isNaN(t)?0:n<t?-1:n>t?1:Tm(isNaN(n),isNaN(t)))<=0}function Zn(n,t){for(var e=0;!t[e]||""==t[e];)e++;for(var i=t[e++];e<t.length;e++)t[e]&&""!=t[e]&&(i+=n+t[e]);return i}function Zt(n){var t,e;return null!=(t=CY(zA(n.a,4),129))?(e=BJ(nNl,nje,424,t.length,0,1),ns8(t,0,e,0,t.length),e):n0P}function Ze(n){var t,e,i,r;if(null==n)return null;for(r=new du,t=WP(n),e=0,i=t.length;e<i;++e)jB(r,nhB(t[e],!0));return r}function Zi(n){var t,e,i,r;if(null==n)return null;for(r=new du,t=WP(n),e=0,i=t.length;e<i;++e)jB(r,nhB(t[e],!0));return r}function Zr(n){var t,e,i,r;if(null==n)return null;for(r=new du,t=WP(n),e=0,i=t.length;e<i;++e)jB(r,nhB(t[e],!0));return r}function Za(n,t,e){var i,r,a,c,o;for(a=t+e,B2(t,a,n.length),c="",r=t;r<a;)i=nP_.Math.min(r+1e4,a),c+=(o=n.slice(r,i),String.fromCharCode.apply(null,o)),r=i;return c}function Zc(n){switch(n.g){case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:return!0;default:return!1}}function Zo(){Zo=T,nRA=new kA(nmb,0),nRI=new kA(nmw,1),nRN=new kA(nml,2),nRx=new kA(npN,3),nRL=new kA("GREEDY_MODEL_ORDER",4)}function Zu(){Zu=T,nGO=new kV(npL,0),nGP=new kV("NODES_AND_EDGES",1),nGC=new kV("PREFER_EDGES",2),nGI=new kV("PREFER_NODES",3)}function Zs(n,t,e,i,r,a){this.a=n,this.c=t,this.b=e,this.f=i,this.d=r,this.e=a,this.c>0&&this.b>0&&(this.g=Ao(this.c,this.b,this.a))}function Zh(n){if(!(nE9 in n.a))throw new p_("Every element must have an id.").e;return nak(D$(n,nE9))}function Zf(n){var t,e;for(e=nrT(n),t=null;2==n.c;)nlN(n),t||(nlU(),nlU(),++n4c,nh7(t=new T3(2),e),e=t),e.Jm(nrT(n));return e}function Zl(n,t){var e,i,r;return(n._j(),r=((i=null==t?0:XS(t))&nl3)%n.d.length,e=naH(n,r,i,t))?(qE(n,e),e.md()):null}function Zb(n,t){return n.e>t.e?1:n.e<t.e?-1:n.d>t.d?n.e:n.d<t.d?-t.e:n.e*WO(n.a,t.a,n.d)}function Zw(n){return n>=48&&n<48+nP_.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function Zd(n){switch(typeof n){case nl0:return Wb(n);case nl1:return Td(n);case nlZ:return PQ(n);default:return null==n?0:SK(n)}}function Zg(n,t){if(n.a<0)throw new px("Did not call before(...) or after(...) before calling add(...).").e;return S3(n,n.a,t),n}function Zp(n){return(D6(),jM(n,162))?CY(NR(n0T,nPD),295).Rg(n):LR(n0T,WZ(n))?CY(NR(n0T,WZ(n)),295).Rg(n):null}function Zm(n){var t;return(32&n.Db)==0&&0!=(t=N$(CY(zA(n,16),29)||n.ii())-N$(n.ii()))&&Zv(n,32,BJ(nPa,nl7,1,t,5,1)),n}function Zv(n,t,e){var i;(n.Db&t)!=0?null==e?function(n,t){var e,i,r,a,c,o,u;if(1==(i=Jr(254&n.Db)))n.Eb=null;else if(a=qr(n.Eb),2==i)r=ntu(n,t),n.Eb=a[+(0==r)];else{for(e=2,c=BJ(nPa,nl7,1,i-1,5,1),o=0,u=0;e<=128;e<<=1)e==t?++o:(n.Db&e)!=0&&(c[u++]=a[o++]);n.Eb=c}n.Db&=~t}(n,t):-1==(i=ntu(n,t))?n.Eb=e:NK(qr(n.Eb),i,e):null!=e&&function(n,t,e){var i,r,a,c,o,u;if(0==(r=Jr(254&n.Db)))n.Eb=e;else{if(1==r)c=BJ(nPa,nl7,1,2,5,1),0==ntu(n,t)?(c[0]=e,c[1]=n.Eb):(c[0]=n.Eb,c[1]=e);else for(i=2,c=BJ(nPa,nl7,1,r+1,5,1),a=qr(n.Eb),o=0,u=0;i<=128;i<<=1)i==t?c[u++]=e:(n.Db&i)!=0&&(c[u++]=a[o++]);n.Eb=c}n.Db|=t}(n,t,e)}function Zy(n){var t,e,i;if(!(i=n.Jh()))for(t=0,e=n.Ph();e;e=e.Ph()){if(++t>nwz)return e.Qh();if((i=e.Jh())||e==n)break}return i}function Zk(n,t){var e;return ER(t)===ER(n)||!!jM(t,21)&&(e=CY(t,21)).gc()==n.gc()&&n.Ic(e)}function ZM(n,t){return xf(n),null!=t&&(!!OB(n,t)||n.length==t.length&&OB(n.toLowerCase(),t.toLowerCase()))}function ZE(n){var t,e;return Qv(n,-129)>0&&0>Qv(n,128)?(I6(),(e=nOd[t=AW(n)+128])||(e=nOd[t]=new fT(n)),e):new fT(n)}function ZT(){ZT=T,n$h=new ki(npL,0),n$u=new ki("INSIDE_PORT_SIDE_GROUPS",1),n$o=new ki("GROUP_MODEL_ORDER",2),n$s=new ki(npN,3)}function Zj(n,t,e){t.b=nP_.Math.max(t.b,-e.a),t.c=nP_.Math.max(t.c,e.a-n.a),t.d=nP_.Math.max(t.d,-e.b),t.a=nP_.Math.max(t.a,e.b-n.b)}function ZS(n,t,e){this.c=n,this.f=new du,this.e=new mm,this.j=new I7,this.n=new I7,this.b=t,this.g=new x4(t.c,t.d,t.b,t.a),this.a=e}function ZP(n){var t,e,i;for(this.a=new TE,this.d=new dV,this.e=0,e=0,i=n.length;e<i;++e)t=n[e],this.f||(this.f=t),R1(this,t)}function ZO(n){(nuY(),0==n.length)?(this.e=0,this.d=1,this.a=Vw(DY(n4s,1),nwl,28,15,[0])):(this.e=1,this.d=n.length,this.a=n,KM(this))}function ZC(n,t,e){gb.call(this),this.a=BJ(nCg,ndZ,217,(GL(),Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa])).length,0,1),this.b=n,this.d=t,this.c=e}function ZI(n,t){var e,i;return(e=t.qi(n.a))&&null!=(i=PA(YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),nTh)))?i:t.xe()}function ZA(n,t,e){var i,r,a;i=t.c.p,a=t.p,n.b[i][a]=new $V(n,t),e&&(n.a[i][a]=new bk(t),(r=CY(niK(t,(nlF(),nKV)),10))&&naR(n.d,r,t))}function ZL(n,t){var e;e=!n.A.Hc((YZ(),n1I))||n.q==(nie(),nZJ),n.u.Hc((nap(),nZ6))?e?function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;if(f=CY(CY(_G(n.r,t),21),87),t==(nf5(),n1n)||t==n1y)return nf1(n,t);for(a=t==n1t?(zQ(),nI_):(zQ(),nIU),v=t==n1t?(Uk(),nIb):(Uk(),nIf),r=(i=(e=CY(xN(n.b,t),127)).i).c+Gl(Vw(DY(n4b,1),nwX,28,15,[e.n.b,n.C.b,n.k])),g=i.c+i.b-Gl(Vw(DY(n4b,1),nwX,28,15,[e.n.c,n.C.c,n.k])),(M=Cy(a)).a=n.t,p=t==n1t?nw_:nwF,h=f.Kc();h.Ob();)(u=CY(h.Pb(),117)).c&&!(u.c.d.c.length<=0)&&(d=u.b.Mf(),w=u.e,(b=(l=u.c).i).b=(o=l.n,l.e.a+o.b+o.c),b.a=(c=l.n,l.e.b+c.d+c.a),$9(v,nd2),l.f=v,Hn(l,(HS(),nIs)),b.c=w.a-(b.b-d.a)/2,y=nP_.Math.min(r,w.a),k=nP_.Math.max(g,w.a+d.a),b.c<y?b.c=y:b.c+b.b>k&&(b.c=k-b.b),jB(M.d,new A$(b,Jl(M,b))),p=t==n1t?nP_.Math.max(p,w.b+u.b.Mf().b):nP_.Math.min(p,w.b));for(p+=t==n1t?n.t:-n.t,(m=Yy((M.e=p,M)))>0&&(CY(xN(n.b,t),127).a.b=m),s=f.Kc();s.Ob();)(u=CY(s.Pb(),117)).c&&!(u.c.d.c.length<=0)&&(b=u.c.i,b.c-=u.e.a,b.d-=u.e.b)}(n,t):nf1(n,t):n.u.Hc(nZ8)&&(e?function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;if(2>=(s=CY(CY(_G(n.r,t),21),87)).gc()||t==(nf5(),n1n)||t==(nf5(),n1y))return nlh(n,t);for(w=n.u.Hc((nap(),nZ9)),e=t==(nf5(),n1t)?(zQ(),nIU):(zQ(),nI_),g=t==n1t?(Uk(),nIf):(Uk(),nIb),(p=Cy(e)).a=n.s,d=t==n1t?nwF:nw_,u=s.Kc();u.Ob();)(c=CY(u.Pb(),117)).c&&!(c.c.d.c.length<=0)&&(b=c.b.Mf(),l=c.e,(f=(h=c.c).i).b=(r=h.n,h.e.a+r.b+r.c),f.a=(a=h.n,h.e.b+a.d+a.a),w?(f.c=l.a-(i=h.n,h.e.a+i.b+i.c)-n.s,w=!1):f.c=l.a+b.a+n.s,$9(g,nd2),h.f=g,Hn(h,(HS(),nIs)),jB(p.d,new A$(f,Jl(p,f))),d=t==n1t?nP_.Math.min(d,l.b):nP_.Math.max(d,l.b+c.b.Mf().b));for(Yy((p.e=d+=t==n1t?-n.t:n.t,p)),o=s.Kc();o.Ob();)(c=CY(o.Pb(),117)).c&&!(c.c.d.c.length<=0)&&(f=c.c.i,f.c-=c.e.a,f.d-=c.e.b)}(n,t):nlh(n,t))}function ZN(n){var t;ER(ncx(n,(nl_(),nJq)))===ER((QO(),nZS))&&(DV(n)?(t=CY(ncx(DV(n),nJq),346),nnh(n,nJq,t)):nnh(n,nJq,nZP))}function Zx(n,t,e){return new x4(nP_.Math.min(n.a,t.a)-e/2,nP_.Math.min(n.b,t.b)-e/2,nP_.Math.abs(n.a-t.a)+e,nP_.Math.abs(n.b-t.b)+e)}function Z$(n){var t;this.d=new du,this.j=new mm,this.g=new mm,t=n.g.b,this.f=CY(niK(xi(t),(nlL(),nHt)),88),this.e=pj(PI(Z9(t,nUj)))}function ZD(n){this.d=new du,this.e=new FF,this.c=BJ(n4s,nwl,28,(nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])).length,15,1),this.b=n}function ZR(n,t,e){var i;switch(i=e[n.g][t],n.g){case 1:case 3:return new MH(0,i);case 2:case 4:return new MH(i,0);default:return null}}function ZK(n,t,e){var i;i=CY(Dc(t.f),205);try{i.rf(n,e),xs(t.f,i)}catch(n){throw jM(n=Vt(n),103),n.e}}function ZF(n,t,e){var i,r,a,c;return a=nfT(qk(),t),i=null,a&&(c=nfd(a,e),r=null,null!=c&&(r=n.qf(a,c)),i=r),i}function Z_(n,t,e,i){var r;if(t>=(r=n.length))return r;for(t=t>0?t:0;t<r&&!Vx((Rx(t,n.length),n.charCodeAt(t)),e,i);t++);return t}function ZB(n,t){var e,i;for(i=n.c.length,t.length<i&&(t=Hk(Array(i),t)),e=0;e<i;++e)NK(t,e,n.c[e]);return t.length>i&&NK(t,i,null),t}function ZH(n,t){var e,i;for(i=n.a.length,t.length<i&&(t=Hk(Array(i),t)),e=0;e<i;++e)NK(t,e,n.a[e]);return t.length>i&&NK(t,i,null),t}function ZU(n,t){var e,i;(++n.j,null!=t&&function(n,t){var e,i,r;if(ER(n)===ER(t))return!0;if(null==n||null==t||n.length!=t.length)return!1;for(e=0;e<n.length;++e)if(i=n[e],r=t[e],!(ER(i)===ER(r)||null!=i&&QY(i,r)))return!1;return!0}(t,e=jM(i=n.a.Cb,99)?CY(i,99).th():null))?Zv(n.a,4,e):Zv(n.a,4,CY(t,129))}function ZG(n,t,e){var i;t.a.length>0&&(jB(n.b,new C1(t.a,e)),0<(i=t.a.length)?t.a=Di(t.a,0,0):0>i&&(t.a+=jA(BJ(n4u,nb5,28,-i,15,1))))}function Zq(n,t,e){var i,r,a;return(r=CY(NR(n.e,t),400))?(a=Ot(r,e),jx(n,r),a):(i=new C3(n,t,e),xM(n.e,t,i),Dl(i),null)}function ZX(){return nlG(),Vw(DY(nCE,1),nbG,164,0,[nIx,nIN,nI$,nIj,nIT,nIS,nIC,nIO,nIP,nIL,nIA,nII,nIM,nIk,nIE,nIv,nIm,nIy,nIg,nId,nIp,nID])}function Zz(n){switch(n.g){case 4:return new MH(0,-1);case 1:return new MH(1,0);case 2:return new MH(-1,0);default:return new MH(0,1)}}function ZV(n){switch(n.g){case 1:return Ju(),nZn;case 4:return Ju(),nY8;case 2:return Ju(),nY9;case 3:return Ju(),nY5}return Ju(),nY7}function ZW(){ZW=T,nQX=new MG("PARENTS",0),nQq=new MG("NODES",1),nQU=new MG("EDGES",2),nQz=new MG("PORTS",3),nQG=new MG("LABELS",4)}function ZQ(n,t){var e,i;if(RL(t,n.b),t>=n.b>>1)for(i=n.c,e=n.b;e>t;--e)i=i.b;else for(e=0,i=n.a.a;e<t;++e)i=i.a;return new Cn(n,t,i)}function ZJ(){ZJ=T,nCq=new yQ("NUM_OF_EXTERNAL_SIDES_THAN_NUM_OF_EXTENSIONS_LAST",0),nCG=new yQ("CORNER_CASES_THAN_SINGLE_SIDE_LAST",1)}function ZY(n){this.b=new du,this.e=new du,this.d=n,this.a=!mQ(xX(new Aa(null,new Nf(new _4(n.b))),new f4(new rc))).Bd((vY(),nCF))}function ZZ(n,t){var e,i,r,a;for(e=0,r=new fU(t.a);r.a<r.c.c.length;)a=(i=CY(RU(r),10)).o.a+i.d.c+i.d.b+n.j,e=nP_.Math.max(e,a);return e}function Z1(n,t){var e,i,r;(i=(r=t.d.i).k)!=(ni8(),n$v)&&i!=n$d&&ncv(e=new Le(Sb(JV(r).a.Kc(),new s)))&&xM(n.k,t,CY(_I(e),18))}function Z0(){Z0=T,nZX=new M1("DISTRIBUTED",0),nZV=new M1("JUSTIFIED",1),nZG=new M1("BEGIN",2),nZq=new M1(ndJ,3),nZz=new M1("END",4)}function Z2(n,t){var e,i,r;return i=Gt(n.Dh(),t),(e=t-n.ji())<0?(r=n.Ih(i))>=0?n.Wh(r):naN(n,i):e<0?naN(n,i):CY(i,69).wk().Bk(n,n.hi(),e)}function Z3(n){var t,e;for(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),t=(e=n.o).c.Kc();t.e!=t.i.gc();)CY(t.Yj(),44).md();return BW(e)}function Z4(n){var t;if(!jM(n.a,4))return n.a;if(null==(t=Zp(n.a)))throw new px(nMA+n.b+"'. "+nMP+(PL(nNf),nNf.k)+nMO).e;return t}function Z6(n){var t;try{return t=n.i.Xb(n.e),n.Xj(),n.g=n.e++,t}catch(t){if(jM(t=Vt(t),77))throw n.Xj(),(new dF).e;throw t.e}}function Z5(n){var t;try{return t=n.c.Vi(n.e),n.Xj(),n.g=n.e++,t}catch(t){if(jM(t=Vt(t),77))throw n.Xj(),(new dF).e;throw t.e}}function Z8(n){var t,e,i,r;for(e=0,r=0,i=n.length;e<i;e++)Rx(e,n.length),(t=n.charCodeAt(e))>=64&&t<128&&(r=R_(r,A8(1,t-64)));return r}function Z9(n,t){var e,i;return i=null,Pn(n,(nl_(),nY_))&&(e=CY(niK(n,nY_),96)).pf(t)&&(i=e.of(t)),null==i&&xi(n)&&(i=niK(xi(n),t)),i}function Z7(){Z7=T,nl_(),nNB=nYD,nN$=nJH,nNI=nJj,nND=nYa,nes(),nNF=nCZ,nNK=nCJ,nN_=nC0,nNR=nCQ,Wz(),nNL=nNS,nNA=nNj,nNN=nNO,nNx=nNC}function nnn(n){switch(yn(),this.c=new du,this.d=n,n.g){case 0:case 2:this.a=xE(n$a),this.b=nwF;break;case 3:case 1:this.a=n$a,this.b=nw_}}function nnt(n,t){var e;e=n.fd(t);try{return e.Pb()}catch(n){if(jM(n=Vt(n),112))throw new pC("Can't get element "+t).e;throw n.e}}function nne(n,t){var e,i,r;for(e=n.o,r=CY(CY(_G(n.r,t),21),87).Kc();r.Ob();)(i=CY(r.Pb(),117)).e.a=function(n,t){var e;return(e=n.b).pf((nl_(),nYm))?e.ag()==(nf5(),n1y)?-e.Mf().a-pj(PI(e.of(nYm))):t+pj(PI(e.of(nYm))):e.ag()==(nf5(),n1y)?-e.Mf().a:t}(i,e.a),i.e.b=e.b*pj(PI(i.b.of(nIF)))}function nni(n){var t;return t=new p2,t.a+="n",n.k!=(ni8(),n$v)&&EY(EY((t.a+="(",t),Pe(n.k).toLowerCase()),")"),EY((t.a+="_",t),ntO(n)),t.a}function nnr(n,t){var e;switch(e=CY(xN(n.b,t),127).n,t.g){case 1:n.t>=0&&(e.d=n.t);break;case 3:n.t>=0&&(e.a=n.t)}n.C&&(e.b=n.C.b,e.c=n.C.c)}function nna(){nna=T,nGw=new kX(nyA,0),nGf=new kX(nml,1),nGl=new kX("LINEAR_SEGMENTS",2),nGh=new kX("BRANDES_KOEPF",3),nGb=new kX(nyI,4)}function nnc(){nnc=T,nNv=new y5(ngr,0),nNm=new y5(nga,1),nNy=new y5(ngc,2),nNk=new y5(ngo,3),nNv.a=!1,nNm.a=!0,nNy.a=!1,nNk.a=!0}function nno(){nno=T,nIX=new y4(ngr,0),nIq=new y4(nga,1),nIz=new y4(ngc,2),nIV=new y4(ngo,3),nIX.a=!1,nIq.a=!0,nIz.a=!1,nIV.a=!0}function nnu(n,t,e,i){var r;return e>=0?n.Sh(t,e,i):(n.Ph()&&(i=(r=n.Fh())>=0?n.Ah(i):n.Ph().Th(n,-1-r,null,i)),n.Ch(t,e,i))}function nns(n,t){switch(t){case 7:n.e||(n.e=new Ox(nL6,n,7,4)),nft(n.e);return;case 8:n.d||(n.d=new Ox(nL6,n,8,5)),nft(n.d);return}YN(n,t)}function nnh(n,t,e){return null==e?(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),Zl(n.o,t)):(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),nej(n.o,t,e)),n}function nnf(n,t){var e,i,r,a;for($O(),e=n,a=t,jM(n,21)&&!jM(t,21)&&(e=t,a=n),r=e.Kc();r.Ob();)if(i=r.Pb(),a.Hc(i))return!1;return!0}function nnl(n,t){return EK(n)?!!nPX[t]:n.Sm?!!n.Sm[t]:E_(n)?!!nPq[t]:!!EF(n)&&!!nPG[t]}function nnb(n,t){var e,i,r;for(r=n,i=new Le(Sb(Jz(t).a.Kc(),new s));ncv(i);)(e=CY(_I(i),18)).c.i.c&&(r=nP_.Math.max(r,e.c.i.c.p));return r}function nnw(n,t,e){var i,r,a,c;return -1!=(i=n.dd(t))&&(n.Pj()?(a=n.Qj(),c=ntD(n,i),r=n.Ij(4,c,null,i,a),e?e.nj(r):e=r):ntD(n,i)),e}function nnd(n,t,e,i){var r,a,c;return a=Gt(n.Dh(),t),(r=t-n.ji())<0?(c=n.Ih(a))>=0?n.Lh(c,e,!0):naB(n,a,e):CY(a,69).wk().yk(n,n.hi(),r,e,i)}function nng(n){var t,e;if(null==n)return null;for(t=0,e=BJ(nAr,nby,199,n.length,0,2);t<e.length;t++)e[t]=CY(function(n,t){var e;return FP(t),(e=n.slice(0,t)).length=t,Hk(e,n)}(n[t],n[t].length),199);return e}function nnp(n){var t;if(WD(n))return AZ(n),n.ul()&&(t=naA(n.e,n.b,n.c,n.a,n.j),n.j=t),n.g=n.a,++n.a,++n.c,n.i=0,n.j;throw(new dF).e}function nnm(n,t){var e,i;if((i=ntq(n,t))>=0)return i;if(n.ol()){for(e=0;e<n.i;++e)if(ER(n.pl(CY(n.g[e],58)))===ER(t))return e}return -1}function nnv(n,t,e){var i,r;if(t>=(r=n.gc()))throw new OR(t,r).e;if(n.Si()&&(i=n.dd(e))>=0&&i!=t)throw new pN(nTd).e;return n.Xi(t,e)}function nny(n,t){if(this.a=CY(NP(n),253),this.b=CY(NP(t),253),n.Ed(t)>0||n==(gZ(),nPV)||t==(g1(),nPW))throw new pN("Invalid range: "+Fg(n,t)).e}function nnk(n){var t,e;for(this.b=new du,this.c=n,this.a=!1,e=new fU(n.a);e.a<e.c.c.length;)t=CY(RU(e),10),this.a=this.a|t.k==(ni8(),n$v)}function nnM(n,t,e){e.Ug("Compound graph preprocessor",1),n.a=new Ds,function n(t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(r=new du,d=new fU(e.a);d.a<d.c.c.length;)if((b=(w=CY(RU(d),10)).e)&&(Vc(r,n(t,b,w)),!function(n,t,e){var i,r,a,c,o,u,s,h,f,l;if(pT(PC(niK(e,(nlL(),nHE)))))for(r=new fU(e.j);r.a<r.c.c.length;)for(u=Ky(CY(RU(r),12).g),c=0,o=u.length;c<o;++c)(a=u[c]).d.i==e&&pT(PC(niK(a,nHT)))&&(h=a.c,(s=CY(NR(n.b,h),10))||(VD(s=nll(h,(nie(),nZ1),h.j,-1,null,null,h.o,CY(niK(t,nHt),88),t),(nlF(),nK6),h),xM(n.b,h,s),jB(t.a,s)),l=a.d,(f=CY(NR(n.b,l),10))||(VD(f=nll(l,(nie(),nZ1),l.j,1,null,null,l.o,CY(niK(t,nHt),88),t),(nlF(),nK6),l),xM(n.b,l,f),jB(t.a,f)),Ra(i=_$(a),CY(I0(s.j,0),12)),Ru(i,CY(I0(f.j,0),12)),naR(n.a,a,new Cw(i,t,(qy(),nGD))),CY(niK(t,(nlF(),nKU)),21).Fc((no7(),nKc)))}(t,b,w),CY(niK(b,(nlF(),nKU)),21).Hc((no7(),nKc))))for(m=CY(niK(w,(nlL(),nUt)),101),l=CY(niK(w,nUr),181).Hc((nap(),nZ6)),p=new fU(w.j);p.a<p.c.c.length;)for(g=CY(RU(p),12),(a=CY(NR(t.b,g),10))||(VD(a=nll(g,m,g.j,-(g.e.c.length-g.g.c.length),null,new mm,g.o,CY(niK(b,nHt),88),b),nK6,g),xM(t.b,g,a),jB(b.a,a)),c=CY(I0(a.j,0),12),h=new fU(g.f);h.a<h.c.c.length;)s=CY(RU(h),72),(o=new mp).o.a=s.o.a,o.o.b=s.o.b,jB(c.f,o),l||(v=g.j,f=0,Lp(CY(niK(w,nUr),21))&&(f=naP(s.n,s.o,g.o,0,v)),m==(nie(),nZ1)||(nf5(),n1a).Hc(v)?o.o.a=f:o.o.b=f);return!function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g;for(a=new du,s=new fU(i);s.a<s.c.c.length;)if(o=CY(RU(s),453),c=null,o.f==(qy(),nGD))for(w=new fU(o.e);w.a<w.c.c.length;)xi(g=(b=CY(RU(w),18)).d.i)==t?Gg(n,t,o,b,o.b,b.d):!e||zO(g,e)?function(n,t,e,i,r){var a,c,o,u;for(u=null,o=new fU(i);o.a<o.c.c.length;)if((c=CY(RU(o),453))!=e&&-1!=H6(c.e,r,0)){u=c;break}Ra(a=_$(r),e.b),Ru(a,u.b),naR(n.a,r,new Cw(a,t,e.f))}(n,t,o,i,b):((l=nh1(n,t,e,b,o.b,nGD,c))!=c&&dk(a.c,l),l.c&&(c=l));else for(f=new fU(o.e);f.a<f.c.c.length;)if(xi(d=(h=CY(RU(f),18)).c.i)==t)Gg(n,t,o,h,h.c,o.b);else{if(!e||zO(d,e))continue;(l=nh1(n,t,e,h,o.b,nG$,c))!=c&&dk(a.c,l),l.c&&(c=l)}for(u=new fU(a);u.a<u.c.c.length;)o=CY(RU(u),453),-1!=H6(t.a,o.a,0)||jB(t.a,o.a),o.c&&dk(r.c,o)}(t,e,i,r,u=new du),i&&function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(o=new du,r=new fU(t.a);r.a<r.c.c.length;)for(c=new fU(CY(RU(r),10).j);c.a<c.c.c.length;){for(a=CY(RU(c),12),s=null,m=Ky(a.g),v=0,y=m.length;v<y;++v)!zO((p=m[v]).d.i,e)&&((g=nh1(n,t,e,p,p.c,(qy(),nGD),s))!=s&&dk(o.c,g),g.c&&(s=g));for(u=null,b=Ky(a.e),w=0,d=b.length;w<d;++w)!zO((l=b[w]).c.i,e)&&((g=nh1(n,t,e,l,l.d,(qy(),nG$),u))!=u&&dk(o.c,g),g.c&&(u=g))}for(f=new fU(o);f.a<f.c.c.length;)h=CY(RU(f),453),-1!=H6(t.a,h.a,0)||jB(t.a,h.a),h.c&&dk(i.c,h)}(t,e,i,u),u}(n,t,null),function(n,t){var e,i,r,a,c,o,u;for(c=AY(n.a).Kc();c.Ob();){if((a=CY(c.Pb(),18)).b.c.length>0)for(i=new O8(CY(_G(n.a,a),21)),$O(),ji(i,new lO(t)),r=new Kp(a.b,0);r.b<r.d.gc();){switch(Px(r.b<r.d.gc()),e=CY(r.d.Xb(r.c=r.b++),72),o=-1,CY(niK(e,(nlL(),nHc)),278).g){case 1:o=i.c.length-1;break;case 0:o=function(n){var t,e,i;for(i=-1,e=0,t=new fU(n);t.a<t.c.c.length;){if(CY(RU(t),249).c==(qy(),nG$)){i=0==e?0:e-1;break}e==n.c.length-1&&(i=e),e+=1}return i}(i);break;case 2:o=0}-1!=o&&(RN(o,i.c.length),jB((u=CY(i.c[o],249)).b.b,e),CY(niK(xi(u.b.c.i),(nlF(),nKU)),21).Fc((no7(),nKa)),CY(niK(xi(u.b.c.i),nKU),21).Fc(nKi),N6(r),VD(e,nK9,a))}Ra(a,null),Ru(a,null)}}(n,t),function(n){var t,e,i,r;for(i=new zM(new fP(n.b).a);i.b;)r=CY((e=Xu(i)).ld(),12),VD(t=CY(e.md(),10),(nlF(),nK6),r),VD(r,nFi,t),VD(r,nKX,(SB(),!0)),nau(r,CY(niK(t,nK_),64)),niK(t,nK_),VD(r.i,(nlL(),nUt),(nie(),nZZ)),CY(niK(xi(r.i),nKU),21).Fc((no7(),nKs))}(n),VD(t,(nlF(),nKL),n.a),n.a=null,LH(n.b),e.Vg()}function nnE(n,t,e){var i,r,a;for(r=new Le(Sb((t?Jz(n):JV(n)).a.Kc(),new s));ncv(r);)i=CY(_I(r),18),(a=t?i.c.i:i.d.i).k==(ni8(),n$p)&&Rc(a,e)}function nnT(){nnT=T,nGo=new kq(npL,0),nGu=new kq("PORT_POSITION",1),nGc=new kq("NODE_SIZE_WHERE_SPACE_PERMITS",2),nGa=new kq("NODE_SIZE",3)}function nnj(){nnj=T,nVN=new Mj("INTERACTIVE_NODE_REORDERER",0),nV$=new Mj("MIN_SIZE_PRE_PROCESSOR",1),nVx=new Mj("MIN_SIZE_POST_PROCESSOR",2)}function nnS(){nnS=T,nQ5=new MU("AUTOMATIC",0),nQ7=new MU(nd1,1),nJn=new MU(nd0,2),nJt=new MU("TOP",3),nQ8=new MU(nd3,4),nQ9=new MU(ndJ,5)}function nnP(n,t,e,i){var r,a;for(nui(),r=0,a=0;a<e;a++)r=JF(J_(RF(t[a],nwW),RF(i,nwW)),RF(AW(r),nwW)),n[a]=AW(r),r=A7(r,32);return AW(r)}function nnO(n,t,e){var i,r;for(i=0,r=0;i<nCm;i++)r=nP_.Math.max(r,W6(n.a[t.g][i],e));return t==(GL(),nIr)&&n.b&&(r=nP_.Math.max(r,n.b.b)),r}function nnC(n,t){var e,i;if(PN(t>0),(t&-t)==t)return Dy(t*nc8(n,31)*4656612873077393e-25);do i=(e=nc8(n,31))%t;while(e-i+(t-1)<0)return Dy(i)}function nnI(n,t,e,i){var r,a;for(r=t;r<n.c.length;r++){if(RN(r,n.c.length),a=CY(n.c[r],12),!e.Mb(a))return r;dk(i.c,a)}return n.c.length}function nnA(n){switch(n.g){case 0:return null;case 1:return new Xz;case 2:return new gJ;default:throw new pN(nky+(null!=n.f?n.f:""+n.g)).e}}function nnL(n,t,e){var i,r;for(!function(n,t,e){var i,r;for(r=new fU(n.b);r.a<r.c.c.length;)TB(i=CY(RU(r),27),i.i+t,i.j+e)}(n,t-n.s,e-n.t),r=new fU(n.n);r.a<r.c.c.length;)(i=CY(RU(r),209)).e=i.e+t-n.s,i.f=i.f+e-n.t;n.s=t,n.t=e}function nnN(n){var t;return new MH(t=pj(PI(ncx(n,(nl_(),nYJ))))*nP_.Math.sqrt((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a).i),t/pj(PI(ncx(n,nYQ))))}function nnx(n){var t;return n.f&&n.f.Vh()&&(t=CY(n.f,54),n.f=CY(Qk(n,t),84),n.f!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,8,t,n.f))),n.f}function nn$(n){var t;return n.i&&n.i.Vh()&&(t=CY(n.i,54),n.i=CY(Qk(n,t),84),n.i!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,7,t,n.i))),n.i}function nnD(n){var t;return n.b&&(64&n.b.Db)!=0&&(t=n.b,n.b=CY(Qk(n,t),19),n.b!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,21,t,n.b))),n.b}function nnR(n,t){var e,i,r;null==n.d?++n.e:(i=t.Bi(),function(n,t){var e,i,r,a,c,o,u,s,h,f;if(++n.e,t>(u=null==n.d?0:n.d.length)){for(a=0,h=n.d,n.d=BJ(nNs,njr,66,2*u+4,0,1);a<u;++a)if(s=h[a])for(o=0,i=s.g,f=s.i;o<f;++o)c=P2(n,(r=CY(i[o],136)).Bi()),(e=n.d[c])||(e=n.d[c]=n.dk()),e.Fc(r)}}(n,n.f+1),r=(i&nl3)%n.d.length,(e=n.d[r])||(e=n.d[r]=n.dk()),e.Fc(t)),++n.f}function nnK(n,t,e){var i;return!t.tk()&&(-2!=t.Ik()?null==(i=t.ik())?null==e:QY(i,e):t.qk()==n.e.Dh()&&null==e)}function nnF(){var n;qL(16,nb_),n=q9(16),this.b=BJ(nPb,nbF,303,n,0,1),this.c=BJ(nPb,nbF,303,n,0,1),this.a=null,this.e=null,this.i=0,this.f=n-1,this.g=0}function nn_(n){Oh.call(this),this.k=(ni8(),n$v),this.j=(qL(6,nbU),new Bf(6)),this.b=(qL(2,nbU),new Bf(2)),this.d=new gg,this.f=new gm,this.a=n}function nnB(n,t,e,i){var r;for(r=(i?CY(_G(n.a,t),21):CY(_G(n.b,t),21)).Kc();r.Ob();)if(nua(n,e,CY(r.Pb(),27)))return!0;return!1}function nnH(n){var t,e;for(e=new j2(n);e.e!=e.i.gc();)if((t=CY(Z6(e),89)).e||0!=(!t.d&&(t.d=new jU(n00,t,1)),t.d).i)return!0;return!1}function nnU(n){var t,e;for(e=new j2(n);e.e!=e.i.gc();)if((t=CY(Z6(e),89)).e||0!=(!t.d&&(t.d=new jU(n00,t,1)),t.d).i)return!0;return!1}function nnG(){nnG=T,nuP(),nQA=nQj,nQC=new TW(8),new TZ((nl_(),nYa),nQC),new TZ(nYq,8),nQI=nQE,nQP=nQb,nQO=nQw,nQS=new TZ(nJx,(SB(),!1))}function nnq(n,t,e,i){switch(t){case 7:return n.e||(n.e=new Ox(nL6,n,7,4)),n.e;case 8:return n.d||(n.d=new Ox(nL6,n,8,5)),n.d}return J4(n,t,e,i)}function nnX(n){var t;return n.a&&n.a.Vh()&&(t=CY(n.a,54),n.a=CY(Qk(n,t),142),n.a!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,5,t,n.a))),n.a}function nnz(n){return n<48||n>102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function nnV(n,t){if(null==n)throw new pD("null key in entry: null="+t).e;if(null==t)throw new pD("null value in entry: "+n+"=null").e}function nnW(n,t){var e;return e=Vw(DY(n4b,1),nwX,28,15,[W6(n.a[0],t),W6(n.a[1],t),W6(n.a[2],t)]),n.d&&(e[0]=nP_.Math.max(e[0],e[2]),e[2]=e[0]),e}function nnQ(n,t){var e;return e=Vw(DY(n4b,1),nwX,28,15,[W5(n.a[0],t),W5(n.a[1],t),W5(n.a[2],t)]),n.d&&(e[0]=nP_.Math.max(e[0],e[2]),e[2]=e[0]),e}function nnJ(n,t,e){Oq(CY(niK(t,(nlL(),nUt)),101))||(_u(n,t,nrs(t,e)),_u(n,t,nrs(t,(nf5(),n1m))),_u(n,t,nrs(t,n1t)),$O(),ji(t.j,new bm(n)))}function nnY(n){var t,e;for(n.c||function(n){var t,e,i,r,a,c;if(r=new Kp(n.e,0),i=new Kp(n.a,0),n.d)for(e=0;e<n.b;e++)Px(r.b<r.d.gc()),r.d.Xb(r.c=r.b++);else for(e=0;e<n.b-1;e++)Px(r.b<r.d.gc()),r.d.Xb(r.c=r.b++),N6(r);for(t=pj((Px(r.b<r.d.gc()),PI(r.d.Xb(r.c=r.b++))));n.f-t>nyq;){for(a=t,c=0;nP_.Math.abs(t-a)<nyq;)++c,t=pj((Px(r.b<r.d.gc()),PI(r.d.Xb(r.c=r.b++)))),Px(i.b<i.d.gc()),i.d.Xb(i.c=i.b++);c<n.b&&(Px(r.b>0),r.a.Xb(r.c=--r.b),function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b;for(o=0,f=function(n,t){var e,i,r;for(r=new Kp(n.e,0),e=0;r.b<r.d.gc()&&!((i=pj((Px(r.b<r.d.gc()),PI(r.d.Xb(r.c=r.b++))))-t)>nyq);)i>-1e-6&&++e;return e}(n,e);o<t;o++){for(Oe(r,e),l=new du,Px(i.b<i.d.gc()),b=CY(i.d.Xb(i.c=i.b++),418),s=f+o;s<n.b;s++)c=b,Px(i.b<i.d.gc()),jB(l,new noH(c,b=CY(i.d.Xb(i.c=i.b++),418),e));for(h=f+o;h<n.b;h++)Px(i.b>0),i.a.Xb(i.c=--i.b),h>f+o&&N6(i);for(a=new fU(l);a.a<a.c.c.length;)Oe(i,CY(RU(a),418));if(o<t-1)for(u=f+o;u<n.b;u++)Px(i.b>0),i.a.Xb(i.c=--i.b)}}(n,n.b-c,a,i,r),Px(r.b<r.d.gc()),r.d.Xb(r.c=r.b++)),Px(i.b>0),i.a.Xb(i.c=--i.b)}if(!n.d)for(e=0;e<n.b-1;e++)Px(r.b<r.d.gc()),r.d.Xb(r.c=r.b++),N6(r);n.d=!0,n.c=!0}(n),e=new gj,RU(t=new fU(n.a));t.a<t.c.c.length;)IA(e,CY(RU(t),418).a);return Px(0!=e.b),Gy(e,e.c.b),e}function nnZ(n){var t;if(t=function(n){var t;for(NP(n),Cu(!0,"numberToAdvance must be nonnegative"),t=0;t<0&&ncv(n);t++)_I(n);return t}(n),!ncv(n))throw new pC("position (0) must be less than the number of elements that remained ("+t+")").e;return _I(n)}function nn1(n,t,e){try{return nn6(n,t+n.j,e+n.k)}catch(n){if(jM(n=Vt(n),77))throw new pC(n.g+ngb+t+nl8+e+").").e;throw n.e}}function nn0(n){switch(n.g){case 1:return nf5(),n1y;case 4:return nf5(),n1t;case 3:return nf5(),n1n;case 2:return nf5(),n1m;default:return nf5(),n1v}}function nn2(n,t){var e,i;for(i=JH(n,t).Kc();i.Ob();)if(null!=niK(e=CY(i.Pb(),12),(nlF(),nFi))||SR(new _4(e.b)))return!0;return!1}function nn3(n,t){return GZ(t,n.e+n.d+(0==n.c.c.length?0:n.b)),G1(t,n.f),n.a=nP_.Math.max(n.a,t.f),n.d+=t.g+(0==n.c.c.length?0:n.b),jB(n.c,t),!0}function nn4(n,t){var e,i,r,a,c;for(e=t.gc(),n._i(n.i+e),a=t.Kc(),c=n.i,n.i+=e,i=c;i<n.i;++i)r=a.Pb(),jH(n,i,n.Zi(i,r)),n.Mi(i,r),n.Ni();return 0!=e}function nn6(n,t,e){try{return EB(Xb(n,t,e),1)}catch(i){if(jM(i=Vt(i),333))throw new pC(ngh+n.o+"*"+n.p+ngf+t+nl8+e+ngl).e;throw i.e}}function nn5(n,t,e){try{return EB(Xb(n,t,e),0)}catch(i){if(jM(i=Vt(i),333))throw new pC(ngh+n.o+"*"+n.p+ngf+t+nl8+e+ngl).e;throw i.e}}function nn8(n,t,e){try{return EB(Xb(n,t,e),2)}catch(i){if(jM(i=Vt(i),333))throw new pC(ngh+n.o+"*"+n.p+ngf+t+nl8+e+ngl).e;throw i.e}}function nn9(n,t){if(-1==n.g)throw(new dx).e;n.Xj();try{n.d.hd(n.g,t),n.f=n.d.j}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}}function nn7(n,t){var e,i,r,a;for(a=n.gc(),t.length<a&&(t=Hk(Array(a),t)),r=t,i=n.Kc(),e=0;e<a;++e)NK(r,e,i.Pb());return t.length>a&&NK(t,a,null),t}function ntn(n,t){var e,i,r;return e=t.ld(),r=t.md(),i=n.xc(e),!!(ER(r)===ER(i)||null!=r&&QY(r,i))&&(null!=i||!!n._b(e))}function ntt(n,t,e,i){var r,a;this.a=t,this.c=i,r=n.a,this.b=new MH(-r.c,-r.d),OT(this.b,e),a=i/2,t.a?Pf(this.b,0,a):Pf(this.b,a,0),jB(n.c,this)}function nte(n,t,e,i){var r;this.c=n,this.d=t,F_(r=new vq,e,r.c.b,r.c),this.a=r,this.b=CY(niK(i,(nhn(),nX0)),88),this.e=pj(PI(niK(i,nzh))),nlR(this)}function nti(){nti=T,nVE=new MM(npL,0),nVk=new MM(nmd,1),nVM=new MM("EDGE_LENGTH_BY_POSITION",2),nVy=new MM("CROSSING_MINIMIZATION_BY_POSITION",3)}function ntr(n,t){var e,i;if(e=CY(Gz(n.g,t),27))return e;if(i=CY(Gz(n.j,t),123))return i;throw new p_("Referenced shape does not exist: "+t).e}function nta(n,t){var e,i;if(jM(t,253)){i=CY(t,253);try{return e=n.Ed(i),0==e}catch(n){if(jM(n=Vt(n),212));else throw n.e}}return!1}function ntc(n,t,e,i,r,a){var c,o,u,s,h;for(h=0,c=function(n,t,e){var i,r;switch(i=(r=n.b).d,t.g){case 1:return-i.d-e;case 2:return r.o.a+i.c+e;case 3:return r.o.b+i.a+e;case 4:return-i.b-e;default:return -1}}(t,e,a),o=e==(nf5(),n1t)||e==n1y?-1:1,s=n[e.g];h<s.length;h++)(u=s[h])>0&&(u+=r),s[h]=c,c+=o*(u+i)}function nto(n){var t,e,i;for(t=0,i=n.f,n.n=BJ(n4b,nwX,28,i,15,1),n.d=BJ(n4b,nwX,28,i,15,1);t<i;t++)e=CY(I0(n.c.b,t),30),n.n[t]=ZZ(n,e),n.d[t]=nof(n,e)}function ntu(n,t){var e,i,r;for(i=2,r=0;i<t;i<<=1)(n.Db&i)!=0&&++r;if(0!=r)return r;for(e=t<<=1;e<=128;e<<=1)if((n.Db&e)!=0)return 0;return -1}function nts(n,t){var e,i,r,a,c;for(r=0,c=nox(n.e.Dh(),t),a=null,e=CY(n.g,124);r<n.i;++r)i=e[r],c.am(i.Lk())&&(a||(a=new oW),B7(a,i));a&&nlf(n,a)}function nth(n){var t,e;if(!n)return null;if(n.dc())return"";for(e=new p1,t=n.Kc();t.Ob();)EW(e,PA(t.Pb())),e.a+=" ";return Tb(e,e.a.length-1)}function ntf(n,t){var e,i=Array(t);switch(n){case 14:case 15:e=0;break;case 16:e=!1;break;default:return i}for(var r=0;r<t;++r)i[r]=e;return i}function ntl(n){var t;for(t=new fU(n.a.b);t.a<t.c.c.length;)CY(RU(t),60).c.$b();Gd(T$(n.d)?n.a.c:n.a.d,new lb(n)),n.c.df(n),noY(n)}function ntb(n){var t,e,i;for(e=new fU(n.e.c);e.a<e.c.c.length;){for(i=new fU((t=CY(RU(e),290)).b);i.a<i.c.c.length;)nhS(CY(RU(i),454));naI(t)}}function ntw(n){var t,e,i,r,a;for(i=0,a=0,r=0,e=new fU(n.a);e.a<e.c.c.length;)t=CY(RU(e),172),a=nP_.Math.max(a,t.r),i+=t.d+(r>0?n.c:0),++r;n.b=i,n.d=a}function ntd(n,t){var e;return e=Vw(DY(n4b,1),nwX,28,15,[nnO(n,(GL(),nIi),t),nnO(n,nIr,t),nnO(n,nIa,t)]),n.f&&(e[0]=nP_.Math.max(e[0],e[2]),e[2]=e[0]),e}function ntg(n){var t;Pn(n,(nlL(),nHB))&&((t=CY(niK(n,nHB),21)).Hc((nc$(),nZ$))?(t.Mc(nZ$),t.Fc(nZR)):t.Hc(nZR)&&(t.Mc(nZR),t.Fc(nZ$)))}function ntp(n){var t;Pn(n,(nlL(),nHB))&&((t=CY(niK(n,nHB),21)).Hc((nc$(),nZH))?(t.Mc(nZH),t.Fc(nZ_)):t.Hc(nZ_)&&(t.Mc(nZ_),t.Fc(nZH)))}function ntm(n,t,e,i){var r,a,c;return null==n.a&&function(n,t){var e,i,r,a;for(i=0,n.a=BJ(n4s,nwl,28,(a=t.b.j).c.length,15,1),r=0;i<a.c.length;i++)RN(i,a.c.length),0==(e=CY(a.c[i],12)).e.c.length&&0==e.g.c.length?r+=1:r+=3,n.a[i]=r}(n,t),c=t.b.j.c.length,a=e.d.p,(r=i.d.p-1)<0&&(r=c-1),a<=r?n.a[r]-n.a[a]:n.a[c-1]-n.a[a]+n.a[r]}function ntv(n){var t,e;if(!n.a)for(n.a=K_($L(CY(n.f,27)).i),e=new j2($L(CY(n.f,27)));e.e!=e.i.gc();)t=CY(Z6(e),27),jB(n.a,new Sq(n,t));return n.a}function nty(n){var t;if(!n.C&&(null!=n.D||null!=n.B))if(t=function(n){var t,e,i,r;if(-1!=(t=Tp(e=null!=n.D?n.D:n.B,niT(91)))){B2(0,t,e.length),i=e.substr(0,t),r=new p1;do r.a+="[";while(-1!=(t=S1(e,91,++t)))OB(i,nlZ)?r.a+="Z":OB(i,njj)?r.a+="B":OB(i,njS)?r.a+="C":OB(i,njP)?r.a+="D":OB(i,njO)?r.a+="F":OB(i,njC)?r.a+="I":OB(i,njI)?r.a+="J":OB(i,njA)?r.a+="S":(r.a+="L",r.a+=""+i,r.a+=";")}else if(-1==Tp(e,niT(46))){if(OB(e,nlZ))return n4h;else if(OB(e,njj))return n4l;else if(OB(e,njS))return n4u;else if(OB(e,njP))return n4b;else if(OB(e,njO))return n4w;else if(OB(e,njC))return n4s;else if(OB(e,njI))return n4f;else if(OB(e,njA))return n4d}return null}(n))n.hl(t);else try{n.hl(null)}catch(n){if(!jM(n=Vt(n),63))throw n.e}return n.C}function ntk(n,t){var e,i,r;for(r=new mm,i=n.Kc();i.Ob();)nuW(e=CY(i.Pb(),36),r.a,0),r.a+=e.f.a+t,r.b=nP_.Math.max(r.b,e.f.b);return r.b>0&&(r.b+=t),r}function ntM(n,t){var e,i,r;for(r=new mm,i=n.Kc();i.Ob();)nuW(e=CY(i.Pb(),36),0,r.b),r.b+=e.f.b+t,r.a=nP_.Math.max(r.a,e.f.a);return r.a>0&&(r.a+=t),r}function ntE(n){var t,e,i;for(i=nl3,e=new fU(n.a);e.a<e.c.c.length;)Pn(t=CY(RU(e),10),(nlF(),nK4))&&(i=nP_.Math.min(i,CY(niK(t,nK4),17).a));return i}function ntT(n,t){var e,i;if(0==t.length)return 0;for(i=0,e=NV(n.a,t[0],(nf5(),n1y))+NV(n.a,t[t.length-1],n1n);i<t.length;i++)e+=function(n,t,e){var i,r,a,c,o,u,s;return a=0,i=e[t],t<e.length-1&&((r=e[t+1],n.b[t])?a=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A,L,N,x,$,D,R,K,F,_,B,H,U,G,q,X,z,V,W,Q,J,Y,Z,nn,nt,ne;for(z=0,O=0,A=t.length;O<A;++O)for(F=new fU((S=t[O]).j);F.a<F.c.c.length;){for(K=CY(RU(F),12),B=0,o=new fU(K.g);o.a<o.c.c.length;)c=CY(RU(o),18),S.c!=c.d.i.c&&++B;B>0&&(n.a[K.p]=z++)}for(Y=0,C=0,L=e.length;C<L;++C){for(S=e[C],N=0,F=new fU(S.j);F.a<F.c.c.length;)if((K=CY(RU(F),12)).j==(nf5(),n1t)){for(o=new fU(K.e);o.a<o.c.c.length;)if(c=CY(RU(o),18),S.c!=c.c.i.c){++N;break}}else break;for($=0,H=new Kp(S.j,S.j.c.length);H.b>0;){for(Px(H.b>0),B=0,o=new fU((K=CY(H.a.Xb(H.c=--H.b),12)).e);o.a<o.c.c.length;)c=CY(RU(o),18),S.c!=c.c.i.c&&++B;B>0&&(K.j==(nf5(),n1t)?(n.a[K.p]=Y,++Y):(n.a[K.p]=Y+N+$,++$))}Y+=$}for(_=new dc,b=new TE,P=0,I=t.length;P<I;++P)for(Q=new fU((S=t[P]).j);Q.a<Q.c.c.length;)for(o=new fU((W=CY(RU(Q),12)).g);o.a<o.c.c.length;)if(nn=(c=CY(RU(o),18)).d,S.c!=nn.i.c)if(V=CY(ED(Aj(_.f,W)),478),Z=CY(ED(Aj(_.f,nn)),478),V||Z)if(V)if(Z)if(V==Z)jB(V.a,c);else{for(jB(V.a,c),R=new fU(Z.d);R.a<R.c.c.length;)D=CY(RU(R),12),nr3(_.f,D,V);Vc(V.a,Z.a),Vc(V.d,Z.d),b.a.Bc(Z)}else jB(V.a,c),jB(V.d,nn),nr3(_.f,nn,V);else jB(Z.a,c),jB(Z.d,W),nr3(_.f,W,Z);else l=new Ov,b.a.zc(l,b),jB(l.a,c),jB(l.d,W),nr3(_.f,W,l),jB(l.d,nn),nr3(_.f,nn,l);for(w=CY(nn7(b,BJ(nAQ,{3:1,4:1,5:1,2045:1},478,b.a.gc(),0,1)),2045),j=t[0].c,X=e[0].c,h=0,f=w.length;h<f;++h)for((s=w[h]).e=z,s.f=Y,F=new fU(s.d);F.a<F.c.c.length;)K=CY(RU(F),12),U=n.a[K.p],K.i.c==j?(U<s.e&&(s.e=U),U>s.b&&(s.b=U)):K.i.c==X&&(U<s.f&&(s.f=U),U>s.c&&(s.c=U));for(HM(w,0,w.length,null),J=BJ(n4s,nwl,28,w.length,15,1),i=BJ(n4s,nwl,28,Y+1,15,1),g=0;g<w.length;g++)J[g]=w[g].f,i[J[g]]=1;for(p=0,a=0;p<i.length;p++)1==i[p]?i[p]=a:--a;for(m=0,G=0;m<J.length;m++)J[m]+=i[J[m]],G=nP_.Math.max(G,J[m]+1);for(u=1;u<G;)u*=2;for(ne=2*u-1,u-=1,nt=BJ(n4s,nwl,28,ne,15,1),r=0,E=0;E<J.length;E++)for(M=J[E]+u,++nt[M];M>0;)M%2>0&&(r+=nt[M+1]),M=(M-1)/2|0,++nt[M];for(v=0,T=BJ(nAJ,nl7,374,2*w.length,0,1);v<w.length;v++)T[2*v]=new x0(w[v],w[v].e,w[v].b,(Ft(),nqp)),T[2*v+1]=new x0(w[v],w[v].b,w[v].e,nqg);for(HM(T,0,T.length,null),x=0,y=0;y<T.length;y++)switch(T[y].d.g){case 0:++x;break;case 1:r+=--x}for(k=0,q=BJ(nAJ,nl7,374,2*w.length,0,1);k<w.length;k++)q[2*k]=new x0(w[k],w[k].f,w[k].c,(Ft(),nqp)),q[2*k+1]=new x0(w[k],w[k].c,w[k].f,nqg);for(HM(q,0,q.length,null),x=0,d=0;d<q.length;d++)switch(q[d].d.g){case 0:++x;break;case 1:r+=--x}return r}(n.d,i,r)+NV(n.a,i,(nf5(),n1n))+NV(n.a,r,n1y):(o=V3(c=n.a,i,r),c.b=new Xk(o.c.length),a=no8(c,o))),n.c[t]&&(a+=(s=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;for(i=0,h=new du,f=new j1,a=null,r=0;i<t.length;++i){switch(l=a,b=e=t[i],l&&l!=b&&Pn(b,(nlF(),nKV))&&CY(niK(b,(nlF(),nKV)),10)!=l&&(r=Yn(n,f,h,nqd,r)),Pn(e,(nlF(),nKV))&&(a=CY(niK(e,nKV),10)),e.k.g){case 0:for(u=TR(Cz(JH(e,(nf5(),n1t)),new rz));q7(u);)c=CY(H3(u),12),n.d[c.p]=r++,dk(h.c,c);for(r=Yn(n,f,h,nqd,r),s=TR(Cz(JH(e,n1m),new rz));q7(s);)c=CY(H3(s),12),n.d[c.p]=r++,dk(h.c,c);break;case 3:JH(e,nqw).dc()||(c=CY(JH(e,nqw).Xb(0),12),n.d[c.p]=r++,dk(h.c,c)),JH(e,nqd).dc()||K3(f,e);break;case 1:for(o=JH(e,(nf5(),n1y)).Kc();o.Ob();)c=CY(o.Pb(),12),n.d[c.p]=r++,dk(h.c,c);JH(e,n1n).Jc(new k3(f,e))}}return Yn(n,f,h,nqd,r),h}(u=n.a,i),u.b=new Xk(s.c.length),function(n,t){var e,i,r,a,c,o,u,s,h,f;for(e=0,u=new du,a=new fU(t);a.a<a.c.c.length;){switch(r=CY(RU(a),12),WU(n.b,n.d[r.p]),u.c.length=0,r.i.k.g){case 0:Gd(CY(niK(r,(nlF(),nFi)),10).j,new bL(u));break;case 1:s=Wu(xX(new Aa(null,new R$(r.i.j,16)),new bN(r))),h=new bx(u),null!=s.a&&ET(h,s.a);break;case 3:jB(u,new Ea(CY(niK(r,(nlF(),nK6)),12),Qx(r.e.c.length+r.g.c.length)))}for(o=new fU(u);o.a<o.c.c.length;)c=CY(RU(o),42),f=CY(c.a,12),(i=n.d[f.p])>n.d[r.p]&&(e+=_c(n.b,i)*CY(c.b,17).a,K3(n.a,Qx(i)));for(;!pq(n.a);)Ux(n.b,CY(LG(n.a),17).a)}return e}(u,s))),a}(n,i,t);return e}function ntj(){noD(),this.c=new du,this.i=new du,this.e=new TE,this.f=new TE,this.g=new TE,this.j=new du,this.a=new du,this.b=new dc,this.k=new dc}function ntS(n,t){var e;return n.Db>>16==6?n.Cb.Th(n,5,nNn,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||n.ii(),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function ntP(n){var t,e,i;n.b==n.c&&(i=n.a.length,e=VN(nP_.Math.max(8,i))<<1,0!=n.b?(t=Oc(n.a,e),Xw(n,t,i),n.a=t,n.b=0):dG(n.a,e),n.c=i)}function ntO(n){var t;return 0!=n.b.c.length&&CY(I0(n.b,0),72).a?CY(I0(n.b,0),72).a:null!=(t=xZ(n))?t:""+(n.c?H6(n.c.a,n,0):-1)}function ntC(n){var t;return 0!=n.f.c.length&&CY(I0(n.f,0),72).a?CY(I0(n.f,0),72).a:null!=(t=xZ(n))?t:""+(n.i?H6(n.i.j,n,0):-1)}function ntI(n){var t,e,i,r,a;for(a=0,r=nw_,i=0,e=new fU(n.a);e.a<e.c.c.length;)a+=(t=CY(RU(e),172)).r+(i>0?n.c:0),r=nP_.Math.max(r,t.d),++i;n.e=a,n.b=r}function ntA(n,t,e,i){return 0==t?i?(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),n.o):(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),BW(n.o)):nnd(n,t,e,i)}function ntL(n){var t,e;if(n.rb)for(t=0,e=n.rb.i;t<e;++t)S4(GO(n.rb,t));if(n.vb)for(t=0,e=n.vb.i;t<e;++t)S4(GO(n.vb,t));A2((nrR(),n28),n),n.Bb|=1}function ntN(n,t,e,i,r,a,c,o,u,s,h,f,l,b){return nr5(n,t,i,null,r,a,c,o,u,s,l,!0,b),J$(n,h),jM(n.Cb,90)&&nar(_v(CY(n.Cb,90)),2),e&&Xr(n,e),JR(n,f),n}function ntx(n,t,e,i,r,a,c){var o,u;return!(t.Te()&&((u=n.a.Ne(e,i))<0||!r&&0==u)||t.Ue()&&((o=n.a.Ne(e,a))>0||!c&&0==o))}function nt$(n,t,e){var i;return Qn(i=new gD,t),XC(i,e),B7((n.c||(n.c=new Lk(n03,n,12,10)),n.c),i),G6(i,0),G5(i,1),Q5(i,!0),Q3(i,!0),i}function ntD(n,t){var e,i;if(t>=n.i)throw new Tc(t,n.i).e;return++n.j,e=n.g[t],(i=n.i-t-1)>0&&ns8(n.g,t+1,n.g,t,i),NK(n.g,--n.i,null),n.Qi(t,e),n.Ni(),e}function ntR(n,t){var e;return n.Db>>16==17?n.Cb.Th(n,21,n0J,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||n.ii(),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function ntK(){ntK=T,nxP=new To(npg,(SB(),!1)),nxE=new To(npp,100),Uy(),nxT=new To(npm,nxj=nxH),nxS=new To(npv,ngY),nxO=new To(npy,Qx(nl3))}function ntF(n,t,e){var i,r,a,c,o,u;for(u=0,i=n.a[t],r=0,a=i.length;r<a;++r)for(o=QU(i[r],e).Kc();o.Ob();)c=CY(o.Pb(),12),xM(n.f,c,Qx(u++))}function nt_(n){var t;return niY(),HM(t=CY(nn7(AY(n.k),BJ(nLq,npx,64,2,0,1)),126),0,t.length,null),t[0]==(nf5(),n1t)&&t[1]==n1y&&(NK(t,0,n1y),NK(t,1,n1t)),t}function ntB(n,t,e){var i,r,a;return r=function(n,t,e){var i,r,a,c,o,u,s;for(s=new mH(new bA(n)),c=Vw(DY(nAo,1),npG,12,0,[t,e]),o=0,u=c.length;o<u;++o)for(a=c[o],s.a.zc(a,(SB(),nOo)),r=new _4(a.b);jr(r.a)||jr(r.b);)(i=CY(jr(r.a)?RU(r.a):RU(r.b),18)).c==i.d||Lz(s,a==i.c?i.d:i.c);return NP(s),new O8(s)}(n,t,e),a=no8(n,r),Hm(n.b),RZ(n,t,e),$O(),ji(r,new bO(n)),i=no8(n,r),Hm(n.b),RZ(n,e,t),new Ea(Qx(a),Qx(i))}function ntH(){ntH=T,nqy=IG(new xm,(niF(),nxY),(nlB(),n$0)),nqk=new P5("linearSegments.inputPrio",Qx(0)),nqM=new P5("linearSegments.outputPrio",Qx(0))}function ntU(){ntU=T,nq4=new Mb("P1_TREEIFICATION",0),nq6=new Mb("P2_NODE_ORDERING",1),nq5=new Mb("P3_NODE_PLACEMENT",2),nq8=new Mb("P4_EDGE_ROUTING",3)}function ntG(){ntG=T,nZL=new MY("UNKNOWN",0),nZC=new MY("ABOVE",1),nZI=new MY("BELOW",2),nZA=new MY("INLINE",3),new P5("org.eclipse.elk.labelSide",nZL)}function ntq(n,t){var e;if(n.Yi()&&null!=t){for(e=0;e<n.i;++e)if(QY(t,n.g[e]))return e}else for(e=0;e<n.i;++e)if(ER(n.g[e])===ER(t))return e;return -1}function ntX(n,t,e){if(e&&(t<0||t>e.a.c.length))throw new pN("index must be >= 0 and <= layer node count").e;n.c&&H0(n.c.a,n),n.c=e,e&&AC(e.a,t,n)}function ntz(n,t){var e,i,r;for(i=new Le(Sb(JX(n).a.Kc(),new s));ncv(i);)return e=CY(_I(i),18),new hX(NP((r=CY(t.Kb(e),10)).n.b+r.o.b/2));return gY(),gY(),nPz}function ntV(n,t){this.c=new dc,this.a=n,this.b=t,this.d=CY(niK(n,(nlF(),nFf)),312),ER(niK(n,(nlL(),nHH)))===ER((HR(),nRQ))?this.e=new gs:this.e=new gu}function ntW(n,t){var e,i;return i=null,n.pf((nl_(),nY_))&&(e=CY(n.of(nY_),96)).pf(t)&&(i=e.of(t)),null==i&&n.Tf()&&(i=n.Tf().of(t)),null==i&&(i=Z4(t)),i}function ntQ(n,t){var e,i;e=n.fd(t);try{return i=e.Pb(),e.Qb(),i}catch(n){if(jM(n=Vt(n),112))throw new pC("Can't remove element "+t).e;throw n.e}}function ntJ(n,t){var e,i,r;if(0==(e=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;for(u=0,c=new neg,s=Vw(DY(n4s,1),nwl,28,15,[0]),r=-1,a=0,i=0;u<n.b.c.length;++u)if((h=CY(I0(n.b,u),443)).b>0){if(r<0&&h.a&&(r=u,a=s[0],i=0),r>=0){if(o=h.b,u==r&&0==(o-=i++))return 0;if(!nli(t,s,h,o,c)){u=r-1,s[0]=a;continue}}else if(r=-1,!nli(t,s,h,0,c))return 0}else{if(r=-1,32==xq(h.c,0)){if(f=s[0],UD(t,s),s[0]>f)continue}else if(l=h.c,(b=s[0])>=0&&OB(t.substr(b,l.length),l)){s[0]+=h.c.length;continue}return 0}return!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(0==n.e&&n.p>0&&(n.p=-(n.p-1)),n.p>nbJ&&Fk(t,n.p-nwf),c=t.q.getDate(),DD(t,1),n.k>=0&&(u=n.k,s=t.q.getHours(),t.q.setMonth(u),nhp(t,s)),n.c>=0?DD(t,n.c):n.k>=0?(i=35-new Vz(t.q.getFullYear()-nwf,t.q.getMonth(),35).q.getDate(),DD(t,nP_.Math.min(i,c))):DD(t,c),n.f<0&&(n.f=t.q.getHours()),n.b>0&&n.f<12&&(n.f+=12),h=24==n.f&&n.g?0:n.f,t.q.setHours(h),nhp(t,h),n.j>=0&&(f=n.j,l=t.q.getHours()+(f/60|0),t.q.setMinutes(f),nhp(t,l)),n.n>=0&&(b=n.n,w=t.q.getHours()+(b/3600|0),t.q.setSeconds(b),nhp(t,w)),n.i>=0&&Tl(t,JF(J_(neC(zF(t.q.getTime()),nb8),nb8),n.i)),n.a&&(Fk(r=new vD,r.q.getFullYear()-nwf-80),0>Qv(zF(t.q.getTime()),zF(r.q.getTime()))&&Fk(t,r.q.getFullYear()-nwf+100)),n.d>=0){if(-1==n.c)(e=(7+n.d-t.q.getDay())%7)>3&&(e-=7),o=t.q.getMonth(),DD(t,t.q.getDate()+e),t.q.getMonth()!=o&&DD(t,t.q.getDate()+(e>0?-7:7));else if(t.q.getDay()!=n.d)return!1}return n.o>nbJ&&(a=t.q.getTimezoneOffset(),Tl(t,JF(zF(t.q.getTime()),(n.o-a)*60*nb8))),!0}(c,e)?0:s[0]}(n,t,r=new Vz((i=new vD).q.getFullYear()-nwf,i.q.getMonth(),i.q.getDate())))||e<t.length)throw new pN(t).e;return r}function ntY(n,t){var e,i,r;for(xf(t),PN(t!=n),r=n.b.c.length,i=t.Kc();i.Ob();)e=i.Pb(),jB(n.b,xf(e));return r!=n.b.c.length&&(!function n(t,e){var i;2*e+1>=t.b.c.length||(n(t,2*e+1),(i=2*e+2)<t.b.c.length&&n(t,i),naa(t,e))}(n,0),!0)}function ntZ(){ntZ=T,nl_(),nxN=nJQ,new TZ(nJR,(SB(),!0)),nxD=nJ5,nxR=nJ7,nxK=nYt,nx$=nJ4,nxF=nYr,nx_=nYE,ntK(),nxL=nxP,nxI=nxT,nxA=nxS,nxx=nxO,nxC=nxE}function nt1(n,t,e,i){var r,a,c;for(Rc(t,CY(i.Xb(0),30)),c=i.kd(1,i.gc()),a=CY(e.Kb(t),20).Kc();a.Ob();)nt1(n,(r=CY(a.Pb(),18)).c.i==t?r.d.i:r.c.i,e,c)}function nt0(n){var t;return(t=new dc,Pn(n,(nlF(),nFg)))?CY(niK(n,nFg),85):(vZ(xX(new Aa(null,new R$(n.j,16)),new ij),new l6(t)),VD(n,nFg,t),t)}function nt2(n,t){var e,i,r,a,c;for(i=0,r=0,e=0,c=new fU(n);c.a<c.c.c.length;)a=CY(RU(c),186),i=nP_.Math.max(i,a.e),r+=a.b+(e>0?t:0),++e;return new MH(i,r)}function nt3(n,t){var e;return n.Db>>16==6?n.Cb.Th(n,6,nL6,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nly(),n0e),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt4(n,t){var e;return n.Db>>16==7?n.Cb.Th(n,1,nL2,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nly(),n0r),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt6(n,t){var e;return n.Db>>16==9?n.Cb.Th(n,9,nNe,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nly(),n0c),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt5(n,t){var e;return n.Db>>16==5?n.Cb.Th(n,9,n0Z,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nlq(),n2w),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt8(n,t){var e;return n.Db>>16==7?n.Cb.Th(n,6,nNn,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nlq(),n2E),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt9(n,t){var e;return n.Db>>16==3?n.Cb.Th(n,0,nL8,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nlq(),n2o),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nt7(){this.a=new oX,this.g=new nnF,this.j=new nnF,this.b=new dc,this.d=new nnF,this.i=new nnF,this.k=new dc,this.c=new dc,this.e=new dc,this.f=new dc}function nen(n,t){var e,i;if(t){if(t==n)return!0;for(e=0,i=CY(t,54).Ph();i&&i!=t;i=i.Ph()){if(++e>nwz)return nen(n,i);if(i==n)return!0}}return!1}function net(n,t){var e,i,r;for(H0(n.a,t),n.e-=t.r+(0==n.a.c.length?0:n.c),r=nkb,i=new fU(n.a);i.a<i.c.c.length;)e=CY(RU(i),172),r=nP_.Math.max(r,e.d);n.b=r}function nee(n,t){var e;return n.Db>>16==3?n.Cb.Th(n,12,nNe,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nly(),n0t),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nei(n,t){var e;return n.Db>>16==11?n.Cb.Th(n,10,nNe,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nly(),n0a),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function ner(n,t){var e;return n.Db>>16==10?n.Cb.Th(n,11,n0J,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nlq(),n2k),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nea(n,t){var e;return n.Db>>16==10?n.Cb.Th(n,12,n02,t):(e=nnD(CY(Gt(CY(zA(n,16),29)||(nlq(),n2T),n.Db>>16),19)),n.Cb.Th(n,e.n,e.f,t))}function nec(n){var t;return(1&n.Bb)==0&&n.r&&n.r.Vh()&&(t=CY(n.r,54),n.r=CY(Qk(n,t),142),n.r!=t&&(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,8,t,n.r))),n.r}function neo(n,t,e){var i;return i=Vw(DY(n4b,1),nwX,28,15,[niP(n,(GL(),nIi),t,e),niP(n,nIr,t,e),niP(n,nIa,t,e)]),n.f&&(i[0]=nP_.Math.max(i[0],i[2]),i[2]=i[0]),i}function neu(n,t){var e,i,r,a,c,o;return(c=n.h>>19)!=(o=t.h>>19)?o-c:(i=n.h)!=(a=t.h)?i-a:(e=n.m)!=(r=t.m)?e-r:n.l-t.l}function nes(){nes=T,nuy(),nC0=new To(ndB,nC2=nC7),U2(),nCZ=new To(ndH,nC1=nCV),ZJ(),nCJ=new To(ndU,nCY=nCq),nCQ=new To(ndG,(SB(),!0))}function neh(n,t,e){var i,r;i=t*e,jM(n.g,154)?(r=K7(n)).f.d?r.f.a||(n.d.a+=i+nd5):(n.d.d-=i+nd5,n.d.a+=i+nd5):jM(n.g,10)&&(n.d.d-=i,n.d.a+=2*i)}function nef(n,t,e){var i,r,a,c,o;for(r=n[e.g],o=new fU(t.d);o.a<o.c.c.length;)(a=(c=CY(RU(o),105)).i)&&a.i==e&&(r[i=c.d[e.g]]=nP_.Math.max(r[i],a.j.b))}function nel(n){var t,e,i,r;if(i=n.b,n.i>(r=i.length)&&r<nbH){for(n.b=BJ(nPb,nbF,303,e=2*i.length,0,1),n.c=BJ(nPb,nbF,303,e,0,1),n.f=e-1,n.i=0,t=n.a;t;t=t.c)nah(n,t,t);++n.g}}function neb(n,t){return n.b.a=nP_.Math.min(n.b.a,t.c),n.b.b=nP_.Math.min(n.b.b,t.d),n.a.a=nP_.Math.max(n.a.a,t.c),n.a.b=nP_.Math.max(n.a.b,t.d),dk(n.c,t),!0}function ned(n,t,e){var i,r,a,c,o,u;return nue(),c=t/2,a=e/2,i=nP_.Math.abs(n.a),r=nP_.Math.abs(n.b),o=1,u=1,i>c&&(o=c/i),r>a&&(u=a/r),j_(n,nP_.Math.min(o,u)),n}function neg(){vD.call(this),this.e=-1,this.a=!1,this.p=nbJ,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=nbJ}function nep(){nep=T,nxq=AX(IG(IG(IG(new xm,(niF(),nxJ),(nlB(),n$5)),nxJ,nDn),nxY,nDo),nxY,n$V),nxz=IG(IG(new xm,nxJ,n$K),nxJ,n$W),nxX=AX(new xm,nxY,n$J)}function nem(n){var t;if(n.f._j(),-1!=n.b){if(++n.b,t=n.f.d[n.a],n.b<t.i)return;++n.a}for(;n.a<n.f.d.length;++n.a)if((t=n.f.d[n.a])&&0!=t.i){n.b=0;return}n.b=-1}function nev(n,t){var e,i;for(i=new fU(t);i.a<i.c.c.length;)e=CY(RU(i),10),n.c[e.c.p][e.p].a=AS(n.i),n.c[e.c.p][e.p].d=pj(n.c[e.c.p][e.p].a),n.c[e.c.p][e.p].b=1}function ney(n,t){var e,i,r,a;for(a=0,r=CY(CY(_G(n.r,t),21),87).Kc();r.Ob();)i=CY(r.Pb(),117),a=nP_.Math.max(a,i.e.a+i.b.Mf().a);(e=CY(xN(n.b,t),127)).n.b=0,e.a.a=a}function nek(n,t){var e,i,r,a;for(e=0,a=CY(CY(_G(n.r,t),21),87).Kc();a.Ob();)r=CY(a.Pb(),117),e=nP_.Math.max(e,r.e.b+r.b.Mf().b);(i=CY(xN(n.b,t),127)).n.d=0,i.a.b=e}function neM(n,t,e,i){var r,a,c;return a=function(n,t,e,i){var r,a,c,o,u,s,h,f;for(f=new mH(new bI(n)),c=Vw(DY(nAr,1),npU,10,0,[t,e]),o=0,u=c.length;o<u;++o)for(h=QU(c[o],i).Kc();h.Ob();)for(a=new _4((s=CY(h.Pb(),12)).b);jr(a.a)||jr(a.b);)!_p(r=CY(jr(a.a)?RU(a.a):RU(a.b),18))&&(f.a.zc(s,(SB(),nOo)),xu(r)&&Lz(f,s==r.c?r.d:r.c));return NP(f),new O8(f)}(n,t,e,i),c=nuF(n,a),niL(n,t,e,i),Hm(n.b),$O(),ji(a,new bC(n)),r=nuF(n,a),niL(n,e,t,i),Hm(n.b),new Ea(Qx(c),Qx(r))}function neE(n,t,e,i){switch(e){case 7:return n.e||(n.e=new Ox(nL6,n,7,4)),YU(n.e,t,i);case 8:return n.d||(n.d=new Ox(nL6,n,8,5)),YU(n.d,t,i)}return niy(n,t,e,i)}function neT(n,t,e,i){switch(e){case 7:return n.e||(n.e=new Ox(nL6,n,7,4)),nnw(n.e,t,i);case 8:return n.d||(n.d=new Ox(nL6,n,8,5)),nnw(n.d,t,i)}return z5(n,t,e,i)}function nej(n,t,e){var i,r,a,c;return(n._j(),a=null==t?0:XS(t),n.f>0&&(c=(a&nl3)%n.d.length,r=naH(n,c,a,t)))?r.nd(e):(i=n.ck(a,t,e),n.c.Fc(i),null)}function neS(n,t){var e,i,r,a;switch(Qz(n,t).Kl()){case 3:case 2:for(r=0,a=(e=nhx(t)).i;r<a;++r)if(5==xb(Ua(n,i=CY(GO(e,r),35))))return i}return null}function neP(n){if(!(n<0))return n<nQ6.length?KI(nQ6[n]):nP_.Math.sqrt(nkf*n)*(function(n,t){var e,i,r;for(r=1,e=n,i=t>=0?t:-t;i>0;)i%2==0?(e*=e,i=i/2|0):(r*=e,i-=1);return t<0?1/r:r}(n,n)/Qy(2.718281828459045,n));throw new pN("The input must be positive").e}function neO(n,t){var e;if(n.Yi()&&null!=t){for(e=0;e<n.i;++e)if(QY(t,n.g[e]))return!0}else for(e=0;e<n.i;++e)if(ER(n.g[e])===ER(t))return!0;return!1}function neC(n,t){var e;return Ty(n)&&Ty(t)&&nwx<(e=n/t)&&e<nwL?e<0?nP_.Math.ceil(e):nP_.Math.floor(e):zC(nfs(Ty(n)?zB(n):n,Ty(t)?zB(t):t,!1))}function neI(n,t){if(t==n.c.i)return n.d.i;if(t==n.d.i)return n.c.i;throw new pN("'node' must either be the source node or target node of the edge.").e}function neA(n,t){var e,i;for(e=new Le(Sb((t?JV(n):Jz(n)).a.Kc(),new s));ncv(e);)if((i=neI(CY(_I(e),18),n)).k==(ni8(),n$m)&&i.c!=n.c)return i;return null}function neL(n,t,e){var i,r,a;for(a=new fU(t);a.a<a.c.c.length;)i=CY(RU(a),10),n.c[i.c.p][i.p].e=!1;for(r=new fU(t);r.a<r.c.c.length;)!function n(t,e,i){var r,a,c,o,u,s,h,f;if(!t.c[e.c.p][e.p].e){for(t.c[e.c.p][e.p].e=!0,t.c[e.c.p][e.p].b=0,t.c[e.c.p][e.p].d=0,t.c[e.c.p][e.p].a=null,f=new fU(e.j);f.a<f.c.c.length;)for(h=CY(RU(f),12),s=(i?new lA(h):new lN(h)).Kc();s.Ob();)(o=(u=CY(s.Pb(),12)).i).c==e.c?o!=e&&(n(t,o,i),t.c[e.c.p][e.p].b+=t.c[o.c.p][o.p].b,t.c[e.c.p][e.p].d+=t.c[o.c.p][o.p].d):(t.c[e.c.p][e.p].d+=t.g[u.p],++t.c[e.c.p][e.p].b);if(c=CY(niK(e,(nlF(),nKj)),15))for(a=c.Kc();a.Ob();)r=CY(a.Pb(),10),e.c==r.c&&(n(t,r,i),t.c[e.c.p][e.p].b+=t.c[r.c.p][r.p].b,t.c[e.c.p][e.p].d+=t.c[r.c.p][r.p].d);t.c[e.c.p][e.p].b>0&&(t.c[e.c.p][e.p].d+=nc8(t.i,24)*ndn*.07000000029802322-.03500000014901161,t.c[e.c.p][e.p].a=t.c[e.c.p][e.p].d/t.c[e.c.p][e.p].b)}}(n,i=CY(RU(r),10),e)}function neN(n,t,e){var i,r;(i=QF(t.j,e.s,e.c)+QF(e.e,t.s,t.c))==(r=QF(e.j,t.s,t.c)+QF(t.e,e.s,e.c))?i>0&&(n.b+=2,n.a+=i):(n.b+=1,n.a+=nP_.Math.min(i,r))}function nex(n){var t;t=CY(niK(CY(nnt(n.b,0),40),(nhn(),nzi)),107),VD(n,(nf3(),nXg),new MH(0,0)),nsm(new Bo,n,t.b+t.c-pj(PI(niK(n,nXE))),t.d+t.a-pj(PI(niK(n,nXj))))}function ne$(n,t){var e;if(e=!1,EK(t)&&(e=!0,Nq(n,new NO(PA(t)))),!e&&jM(t,242)&&(e=!0,Nq(n,new fy(O4(CY(t,242))))),!e)throw new pA(nE8).e}function neD(n){var t,e;switch(CY(niK(xi(n),(nlL(),nHS)),429).g){case 0:return t=n.n,e=n.o,new MH(t.a+e.a/2,t.b+e.b/2);case 1:return new TP(n.n);default:return null}}function neR(){neR=T,nR2=new kD(npL,0),nR0=new kD("LEFTUP",1),nR4=new kD("RIGHTUP",2),nR1=new kD("LEFTDOWN",3),nR3=new kD("RIGHTDOWN",4),nRZ=new kD("BALANCED",5)}function neK(n,t,e){switch(t){case 1:n.n||(n.n=new Lk(nNt,n,1,7)),nft(n.n),n.n||(n.n=new Lk(nNt,n,1,7)),Nu(n.n,CY(e,16));return;case 2:qY(n,PA(e));return}Ws(n,t,e)}function neF(n,t,e){switch(t){case 3:GJ(n,pj(PI(e)));return;case 4:GY(n,pj(PI(e)));return;case 5:GZ(n,pj(PI(e)));return;case 6:G1(n,pj(PI(e)));return}neK(n,t,e)}function ne_(n,t,e){var i,r;(i=niM(r=new gD,t,null))&&i.oj(),XC(r,e),B7((n.c||(n.c=new Lk(n03,n,12,10)),n.c),r),G6(r,0),G5(r,1),Q5(r,!0),Q3(r,!0)}function neB(n,t){var e,i;return jM(e=yD(n.i,t),241)?((i=CY(e,241)).zi(),i.wi()):jM(e,507)?i=CY(e,2037).b:null}function neH(n){if(-1==n.g)throw(new dx).e;n.Xj();try{n.i.gd(n.g),n.f=n.i.j,n.g<n.e&&--n.e,n.g=-1}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}}function neU(n){var t,e,i;for(e=new fU(n.a.b);e.a<e.c.c.length;)i=(t=CY(RU(e),60)).d.c,t.d.c=t.d.d,t.d.d=i,i=t.d.b,t.d.b=t.d.a,t.d.a=i,i=t.b.a,t.b.a=t.b.b,t.b.b=i;nov(n)}function neG(n){var t,e,i;for(e=new fU(n.a.b);e.a<e.c.c.length;)i=(t=CY(RU(e),86)).g.c,t.g.c=t.g.d,t.g.d=i,i=t.g.b,t.g.b=t.g.a,t.g.a=i,i=t.e.a,t.e.a=t.e.b,t.e.b=i;noy(n)}function neq(n,t){var e,i,r;if((i=CY(null!=(r=Wu(xX(new Aa(null,new R$(t.j,16)),new rE))).a?r.a:null,12))&&(e=CY(I0(i.e,0),18)))return CY(niK(e,(nlF(),nK4)),17).a;switch(n.b.g){case 0:return nl3;case 1:return -1;default:return 0}}function neX(n,t){var e,i,r,a,c;for(c=n.f,r=0,a=0,i=new fU(n.a);i.a<i.c.c.length;)nnL(e=CY(RU(i),172),n.e,c),Hl(e,t),a=nP_.Math.max(a,e.r),c+=e.d+n.c,r=c;n.d=a,n.b=r}function nez(n){var t,e;return KZ(e=nc6(n))?null:(NP(e),t=CY(nnZ(new Le(Sb(e.a.Kc(),new s))),74),niw(CY(GO((t.b||(t.b=new Ox(nL4,t,4,7)),t.b),0),84)))}function neV(n){return n.o||(n.uk()?n.o=new NY(n,n,null):n.al()?n.o=new P8(n,null):1==xb(Ua((nrR(),n28),n))?n.o=new FK(n):n.o=new P9(n,null)),n.o}function neW(){neW=T,nJy=new MX("V_TOP",0),nJv=new MX("V_CENTER",1),nJm=new MX("V_BOTTOM",2),nJg=new MX("H_LEFT",3),nJd=new MX("H_CENTER",4),nJp=new MX("H_RIGHT",5)}function neQ(n){var t;return(64&n.Db)!=0?YO(n):(t=new Sm(YO(n)),t.a+=" (abstract: ",mL(t,(256&n.Bb)!=0),t.a+=", interface: ",mL(t,(512&n.Bb)!=0),t.a+=")",t.a)}function neJ(n,t){var e;t!=n.b?(e=null,n.b&&(e=Da(n.b,n,-4,e)),t&&(e=nnu(t,n,-4,e)),(e=QE(n,t,e))&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,3,t,t))}function neY(n,t){var e;t!=n.f?(e=null,n.f&&(e=Da(n.f,n,-1,e)),t&&(e=nnu(t,n,-1,e)),(e=QM(n,t,e))&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,0,t,t))}function neZ(n){var t,e,i;if(null==n)return null;if((e=CY(n,15)).dc())return"";for(i=new p1,t=e.Kc();t.Ob();)EW(i,(nfl(),PA(t.Pb()))),i.a+=" ";return Tb(i,i.a.length-1)}function ne1(n){var t,e,i;if(null==n)return null;if((e=CY(n,15)).dc())return"";for(i=new p1,t=e.Kc();t.Ob();)EW(i,(nfl(),PA(t.Pb()))),i.a+=" ";return Tb(i,i.a.length-1)}function ne0(n){var t,e;return t=CY(_I(new Le(Sb(Jz(n.a).a.Kc(),new s))),18),e=CY(_I(new Le(Sb(JV(n.a).a.Kc(),new s))),18),pT(PC(niK(t,(nlF(),nFu))))||pT(PC(niK(e,nFu)))}function ne2(){ne2=T,nDZ=new kj("ONE_SIDE",0),nD0=new kj("TWO_SIDES_CORNER",1),nD2=new kj("TWO_SIDES_OPPOSING",2),nD1=new kj("THREE_SIDES",3),nDY=new kj("FOUR_SIDES",4)}function ne3(n,t){var e,i,r,a,c;for(a=new du,r=0,i=t.Kc();i.Ob();){for(e=Qx(CY(i.Pb(),17).a+r);e.a<n.f&&(c=e.a,null==n.a&&nuC(n),!n.a[c]);)e=Qx(e.a+1),++r;if(e.a>=n.f)break;dk(a.c,e)}return a}function ne4(n,t){return!!t&&!n.mj(t)&&(n.i?n.i.nj(t):jM(t,152)?(n.i=CY(t,152),!0):(n.i=new oQ,n.i.nj(t)))}function ne6(n,t,e){var i,r,a;return i=t.Lk(),a=t.md(),r=i.Jk()?$6(n,3,i,null,a,nhv(n,i,a,jM(i,102)&&(CY(i,19).Bb&nwG)!=0),!0):$6(n,1,i,i.ik(),a,-1,!0),e?e.nj(r):e=r,e}function ne5(n,t,e){var i,r,a;for(r=n.vc().Kc();r.Ob();)if(a=(i=CY(r.Pb(),44)).ld(),ER(t)===ER(a)||null!=t&&QY(t,a))return e&&(i=new yH(i.ld(),i.md()),r.Qb()),i;return null}function ne8(n){var t,e,i;for(i=BJ(nAr,nby,199,n.b.c.length,0,2),e=new Kp(n.b,0);e.b<e.d.gc();)Px(e.b<e.d.gc()),t=CY(e.d.Xb(e.c=e.b++),30),i[e.b-1]=Kv(t.a);return i}function ne9(n,t,e){var i,r;null!=(i=CY(UC(n.a,e),34))&&Yd(CY(UC(n.b,i),67),e,!0),(r=CY(UC(n.b,t),67))||(r=new vq,Zq(n.b,t,r)),F_(r,e,r.c.b,r.c),Zq(n.a,e,t)}function ne7(n,t,e,i,r){var a,c,o,u,s;for((u=Cy(function(n){switch(n.g){case 1:return zQ(),nIU;case 3:return zQ(),nI_;case 2:return zQ(),nIH;case 4:return zQ(),nIB;default:return null}}(e))).a=i,(s=u).e=function(n,t,e){var i,r;switch(r=n.o,i=n.d,t.g){case 1:return-i.d-e;case 3:return r.b+i.a+e;case 2:return r.a+i.c+e;case 4:return-i.b-e;default:return 0}}(n,e,r),o=nrs(n,e).Kc();o.Ob();)t[(c=CY(o.Pb(),12)).p]&&(a=t[c.p].i,jB(s.d,new A$(a,Jl(s,a))));Yy(s)}function nin(n,t){this.f=new dc,this.b=new dc,this.j=new dc,this.a=n,this.c=t,this.c>0&&ntF(this,this.c-1,(nf5(),n1n)),this.c<this.a.length-1&&ntF(this,this.c+1,(nf5(),n1y))}function nit(n){n.length>0&&n[0].length>0&&(this.c=pT(PC(niK(xi(n[0][0]),(nlF(),nKQ))))),this.a=BJ(nAX,nby,2117,n.length,0,2),this.b=BJ(nAz,nby,2118,n.length,0,2),this.d=new Qc}function nie(){nie=T,nZ0=new M0(nd6,0),nZ1=new M0("FREE",1),nZZ=new M0("FIXED_SIDE",2),nZQ=new M0("FIXED_ORDER",3),nZY=new M0("FIXED_RATIO",4),nZJ=new M0("FIXED_POS",5)}function nii(n){var t,e,i;for(i=new zX(nl8,"{","}"),e=n.vc().Kc();e.Ob();)_J(i,Ff(n,(t=CY(e.Pb(),44)).ld())+"="+Ff(n,t.md()));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}function nir(n,t){var e,i,r;for(e=null,r=CY(t.Kb(n),20).Kc();r.Ob();)if(i=CY(r.Pb(),18),e){if((i.c.i==n?i.d.i:i.c.i)!=e)return!1}else e=i.c.i==n?i.d.i:i.c.i;return!0}function nia(n,t){var e,i,r,a;for(i=new fU(nc9(n,!1,t));i.a<i.c.c.length;)0==(e=CY(RU(i),132)).d?(Rs(e,null),Rh(e,null)):(r=e.a,a=e.b,Rs(e,a),Rh(e,r))}function nic(){nic=T,nzK=new Mv("OVERLAP_REMOVAL",0),nz$=new Mv(nkg,1),nzF=new Mv("ROTATION",2),nzD=new Mv("GRAPH_SIZE_CALCULATION",3),nzR=new Mv("OUTGOING_EDGE_ANGLES",4)}function nio(n,t,e){var i,r;if(0==n.j)return e;if(r=CY(qt(n,t,e),76),!(i=e.Lk()).rk()||!n.a.am(i))throw new ph("Invalid entry feature '"+i.qk().zb+"."+i.xe()+"'").e;return r}function niu(n,t,e){var i;switch(Px(0!=t.b),i=CY(Gy(t,t.a.a),8),e.g){case 0:i.b=0;break;case 2:i.b=n.f;break;case 3:i.a=0;break;default:i.a=n.g}return Ne(ZQ(t,0),i),t}function nis(n,t,e,i){var r,a,c,o,u;switch(u=n.b,o=ZR(c=(a=t.d).j,u.d[c.g],e),r=OT(jv(a.n),a.a),a.j.g){case 1:case 3:o.a+=r.a;break;case 2:case 4:o.b+=r.b}F_(i,o,i.c.b,i.c)}function nih(){var n,t,e,i;for(t=32,nih=T,nO0=BJ(n4b,nwX,28,25,15,1),nO2=BJ(n4b,nwX,28,33,15,1),i=152587890625e-16;t>=0;t--)nO2[t]=i,i*=.5;for(n=24,e=1;n>=0;n--)nO0[n]=e,e*=.5}function nif(n,t){var e,i,r;if(LX(n.f,t)&&(t.b=n,i=t.c,-1!=H6(n.j,i,0)||jB(n.j,i),r=t.d,-1!=H6(n.j,r,0)||jB(n.j,r),0!=(e=t.a.b).c.length)){n.i||(n.i=new Z$(n));var a,c,o=n.i;for(c=new fU(e);c.a<c.c.c.length;)a=CY(RU(c),72),jB(o.d,a),function(n,t){var e;e=t.o,T$(n.f)?(n.j.a=nP_.Math.max(n.j.a,e.a),n.j.b+=e.b,n.d.c.length>1&&(n.j.b+=n.e)):(n.j.a+=e.a,n.j.b=nP_.Math.max(n.j.b,e.b),n.d.c.length>1&&(n.j.a+=n.e))}(o,a)}}function nil(n){var t;this.d=new dc,this.c=n.c,this.e=n.d,this.b=n.b,this.f=new Am(n.e),this.a=n.a,n.f?this.g=n.f:this.g=new O9(t=CY(mP(nNo),9),CY(Oc(t,t.length),9),0)}function nib(n,t){var e,i,r,a;(r=Kq(n,"layoutOptions"))||(r=Kq(n,nEG)),r&&(e=null,(a=r)&&(i=XD(a,BJ(nPL,nby,2,0,6,1)),e=new vR(a,i)),e&&_r(e,new Ew(a,t)))}function niw(n){if(jM(n,207))return CY(n,27);if(jM(n,193))return DP(CY(n,123));if(n)throw new pR("Only support nodes and ports.").e;throw new pD(nTf).e}function nid(n,t,e){if(n.b)throw new px("The task is already done.").e;return null==n.p&&(n.p=t,n.r=e,n.k&&(vX(),n.o=J_(zF(Date.now()),nb8)),!0)}function nig(n){var t;return t=new pl,null!=n.Pg()&&IT(t,nE9,n.Pg()),null!=n.xe()&&IT(t,nTh,n.xe()),null!=n.Og()&&IT(t,"description",n.Og()),t}function nip(n,t,e){var i,r,a;return a=n.q,n.q=t,(4&n.Db)!=0&&(1&n.Db)==0&&(r=new LM(n,1,9,a,t),e?e.nj(r):e=r),t?(i=t.c)!=n.r&&(e=n.Yk(i,e)):n.r&&(e=n.Yk(null,e)),e}function nim(n,t,e,i,r){var a,c;nrY(a=CY(FB(xX(t.Oc(),new rn),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15)),c=CY(zm(n.b,e,i),15),0==r?c.cd(0,a):c.Gc(a)}function niv(n){var t,e,i,r;for(t=null,r=new fU(n.Rf());r.a<r.c.c.length;)e=new x4((i=CY(RU(r),187)).Lf().a,i.Lf().b,i.Mf().a,i.Mf().b),t?nrx(t,e):t=e;return t||(t=new TI),t}function niy(n,t,e,i){return 1==e?(n.n||(n.n=new Lk(nNt,n,1,7)),YU(n.n,t,i)):CY(Gt(CY(zA(n,16),29)||n.ii(),e),69).wk().zk(n,Zm(n),e-N$(n.ii()),t,i)}function nik(n,t,e){var i,r,a,c,o;for(i=e.gc(),n._i(n.i+i),(o=n.i-t)>0&&ns8(n.g,t,n.g,t+i,o),c=e.Kc(),n.i+=i,r=0;r<i;++r)a=c.Pb(),jH(n,t,n.Zi(t,a)),n.Mi(t,a),n.Ni(),++t;return 0!=i}function niM(n,t,e){var i;return t!=n.q?(n.q&&(e=Da(n.q,n,-10,e)),t&&(e=nnu(t,n,-10,e)),e=nip(n,t,e)):(4&n.Db)!=0&&(1&n.Db)==0&&(i=new LM(n,1,9,t,t),e?e.nj(i):e=i),e}function niE(n,t,e,i){return Cu((e&nbk)==0,"flatMap does not support SUBSIZED characteristic"),Cu((4&e)==0,"flatMap does not support SORTED characteristic"),NP(n),NP(t),new KW(n,t,e,i)}function niT(n){var t,e;return n>=nwG?(t=nwq+(n-nwG>>10&1023)&nb9,e=56320+(n-nwG&1023)&nb9,String.fromCharCode(t)+""+String.fromCharCode(e)):String.fromCharCode(n&nb9)}function nij(){nij=T,nZd=new MQ(npL,0),nZb=new MQ("DIRECTED",1),nZg=new MQ("UNDIRECTED",2),nZf=new MQ("ASSOCIATION",3),nZw=new MQ("GENERALIZATION",4),nZl=new MQ("DEPENDENCY",5)}function niS(n,t){var e,i;for(xf(t),i=n.b.c.length,jB(n.b,t);i>0;){if(e=i,i=(i-1)/2|0,0>=n.a.Ne(I0(n.b,i),t))return _o(n.b,e,t),!0;_o(n.b,e,I0(n.b,i))}return _o(n.b,i,t),!0}function niP(n,t,e,i){var r,a;if(r=0,e)r=W5(n.a[e.g][t.g],i);else for(a=0;a<nCv;a++)r=nP_.Math.max(r,W5(n.a[a][t.g],i));return t==(GL(),nIr)&&n.b&&(r=nP_.Math.max(r,n.b.a)),r}function niO(n){switch(n.g){case 0:return new cD;case 1:return new cK;default:throw new pN("No implementation is available for the width approximator "+(null!=n.f?n.f:""+n.g)).e}}function niC(n,t,e,i){var r;if(r=!1,EK(i)&&(r=!0,IT(t,e,PA(i))),!r&&EF(i)&&(r=!0,niC(n,t,e,i)),!r&&jM(i,242)&&(r=!0,$$(t,e,CY(i,242))),!r)throw new pA(nE8).e}function niI(n,t){var e,i,r,a;if(xf(t),(a=n.a.gc())<t.gc())for(e=n.a.ec().Kc();e.Ob();)i=e.Pb(),t.Hc(i)&&e.Qb();else for(r=t.Kc();r.Ob();)i=r.Pb(),n.a.Bc(i);return a!=n.a.gc()}function niA(n){var t,e;switch(e=jv(V4(Vw(DY(nLA,1),nby,8,0,[n.i.n,n.n,n.a]))),t=n.i.d,n.j.g){case 1:e.b-=t.d;break;case 2:e.a+=t.c;break;case 3:e.b+=t.a;break;case 4:e.a-=t.b}return e}function niL(n,t,e,i){var r,a,c;for(c=QU(t,i).Kc();c.Ob();)r=CY(c.Pb(),12),n.d[r.p]=n.d[r.p]+n.c[e.p];for(a=QU(e,i).Kc();a.Ob();)r=CY(a.Pb(),12),n.d[r.p]=n.d[r.p]-n.c[t.p]}function niN(n,t,e){var i,r;for(r=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));r.e!=r.i.gc();)TB(i=CY(Z6(r),27),i.i+t,i.j+e);_r((n.b||(n.b=new Lk(nL6,n,12,3)),n.b),new Ee(t,e))}function nix(n,t){var e,i,r,a;for(i=(1==t?nx3:nx2).a.ec().Kc();i.Ob();)for(e=CY(i.Pb(),88),a=CY(_G(n.f.c,e),21).Kc();a.Ob();)r=CY(a.Pb(),42),H0(n.b.b,r.b),H0(n.b.a,CY(r.b,86).d)}function ni$(n,t){jM(Db((yM(),n2e),n),507)?Rr(n2e,n,new EP(this,t)):Rr(n2e,n,this),ni6(this,t),t==(mT(),n2a)?(this.wb=CY(this,2038),CY(t,2040)):this.wb=(NN(),n2c)}function niD(){niD=T,nOz=Vw(DY(nPL,1),nby,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),nOV=Vw(DY(nPL,1),nby,2,6,["Jan","Feb","Mar","Apr",nwi,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])}function niR(n){var t,e;(t=OB(typeof t,ndf)?null:new ns)&&(vQ(),NX(e=900>=nb8?"error":"warn",n.a),n.b&&function n(t,e,i,r,a){var c,o,u,s,h,f,l;for(h=r+De(i,i.ie()),(!a&&null!=console.groupCollapsed?console.groupCollapsed:null!=console.group?console.group:console.log).call(console,h),NX(e,(f=i.e)&&(f.stack||((l=i[nb4])&&0!=l.length?" "+l.join("\n "):""))),(c=i.f)&&n(t,e,c,"Caused by: ",!1),null==i.k&&(i.k=BJ(nPp,nby,82,0,0,1)),o=i.k,u=0,s=o.length;u<s;++u)n(t,e,o[u],"Suppressed: ",!1);null!=console.groupEnd&&console.groupEnd.call(console)}(t,e,n.b,"Exception: ",!0))}function niK(n,t){var e,i;return(n.q||(n.q=new dc),null!=(i=NR(n.q,t)))?i:(jM(e=t.Sg(),4)&&(null==e?(n.q||(n.q=new dc),_Y(n.q,t)):(n.q||(n.q=new dc),xM(n.q,t,e))),e)}function niF(){niF=T,nxV=new kn("P1_CYCLE_BREAKING",0),nxW=new kn("P2_LAYERING",1),nxQ=new kn("P3_NODE_ORDERING",2),nxJ=new kn("P4_NODE_PLACEMENT",3),nxY=new kn("P5_EDGE_ROUTING",4)}function ni_(n,t){var e,i,r;if(niW(n,t))return!0;for(i=new fU(t);i.a<i.c.c.length;)if(r=nez(e=CY(RU(i),27)),nua(n,e,r)||Qf(n,e)-n.g<=n.a)return!0;return!1}function niB(){niB=T,nuP(),nQs=nQj,nQc=nQk,nQa=nQv,nQi=nQd,nQr=nQp,nQe=new TW(8),nQt=new TZ((nl_(),nYa),nQe),nQo=new TZ(nYq,8),nQu=nQE,nW9=nQh,nW7=nQl,nQn=new TZ(nJx,(SB(),!1))}function niH(){niH=T,nJl=new TW(15),nJf=new TZ((nl_(),nYa),nJl),nJw=new TZ(nYq,15),nJb=new TZ(nYC,Qx(0)),nJc=nJG,nJu=nJ5,nJh=nYt,nJi=new TZ(nJj,nMx),nJo=nJQ,nJs=nJ7,nJr=nJP,nJa=nJL}function niU(n){if(1!=(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i||1!=(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i)throw new pN(nTb).e;return niw(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84))}function niG(n){if(1!=(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i||1!=(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i)throw new pN(nTb).e;return Ve(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84))}function niq(n){if(1!=(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i||1!=(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i)throw new pN(nTb).e;return Ve(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84))}function niX(n){if(1!=(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i||1!=(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i)throw new pN(nTb).e;return niw(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84))}function niz(n,t,e){var i,r,a;if(++n.j,t>=(r=n.Ej())||t<0)throw new pC(nTg+t+nTp+r).e;if(e>=r||e<0)throw new pC(nTm+e+nTp+r).e;return t!=e?(a=n.Cj(e),n.qj(t,a),i=a):i=n.xj(e),i}function niV(n){var t,e,i;for(i=new zX(nl8,"[","]"),e=n.Kc();e.Ob();)_J(i,ER(t=e.Pb())===ER(n)?"(this Collection)":null==t?nbi:J2(t));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}function niW(n,t){var e,i;if(i=!1,2>t.gc())return!1;for(e=0;e<t.gc();e++)e<t.gc()-1?i|=nua(n,CY(t.Xb(e),27),CY(t.Xb(e+1),27)):i|=nua(n,CY(t.Xb(e),27),CY(t.Xb(0),27));return i}function niQ(n,t){var e;t!=n.a?(e=null,n.a&&(e=CY(n.a,54).Th(n,4,nNn,e)),t&&(e=CY(t,54).Rh(n,4,nNn,e)),(e=QT(n,t,e))&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,1,t,t))}function niJ(n,t){var e,i,r,a;t!=n.e?(n.e&&Bi(xl(n.e),n),t&&(t.b||(t.b=new w8(new gR)),OE(t.b,n)),i=null,a=n.e,n.e=t,(4&n.Db)!=0&&(1&n.Db)==0&&(r=new LM(n,1,4,a,t),i?i.nj(r):i=r),a!=t&&(i=t?nfH(n,non(n,t),i):nfH(n,n.a,i)),(e=i)&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,4,t,t))}function niY(){niY=T,nD6=Vw(DY(nLq,1),npx,64,0,[(nf5(),n1t),n1n,n1m]),nD4=Vw(DY(nLq,1),npx,64,0,[n1n,n1m,n1y]),nD5=Vw(DY(nLq,1),npx,64,0,[n1m,n1y,n1t]),nD8=Vw(DY(nLq,1),npx,64,0,[n1y,n1t,n1n])}function niZ(n){var t,e,i,r,a,c;for(this.a=nng(n),this.b=new du,e=0,i=n.length;e<i;++e)for(t=n[e],r=new du,jB(this.b,r),a=0,c=t.length;a<c;++a)jB(r,new O8(t[a].j))}function ni1(n){for(;0!=n.g.c&&0!=n.d.c;)PV(n.g).c>PV(n.d).c?(n.i+=n.g.c,YV(n.d)):PV(n.d).c>PV(n.g).c?(n.e+=n.d.c,YV(n.g)):(n.i+=Af(n.g),n.e+=Af(n.d),YV(n.g),YV(n.d))}function ni0(n,t,e,i){n.a.d=nP_.Math.min(t,e),n.a.a=nP_.Math.max(t,i)-n.a.d,t<e?(n.b=.5*(t+e),n.g=nyz*n.b+.9*t,n.f=nyz*n.b+.9*e):(n.b=.5*(t+i),n.g=nyz*n.b+.9*i,n.f=nyz*n.b+.9*t)}function ni2(){ni2=T,nKn=new kR(npL,0),nR8=new kR(nd1,1),nKt=new kR(nd0,2),nR7=new kR("LEFT_RIGHT_CONSTRAINT_LOCKING",3),nR9=new kR("LEFT_RIGHT_CONNECTION_LOCKING",4),nR5=new kR(nmd,5)}function ni3(n,t,e){var i,r,a,c,o,u,s;o=e.a/2,a=e.b/2,i=nP_.Math.abs(t.a-n.a),r=nP_.Math.abs(t.b-n.b),u=1,s=1,i>o&&(u=o/i),r>a&&(s=a/r),c=nP_.Math.min(u,s),n.a+=c*(t.a-n.a),n.b+=c*(t.b-n.b)}function ni4(n,t,e,i){return 0==e?(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),O1(n.o,t,i)):CY(Gt(CY(zA(n,16),29)||n.ii(),e),69).wk().Ak(n,Zm(n),e-N$(n.ii()),t,i)}function ni6(n,t){var e;t!=n.sb?(e=null,n.sb&&(e=CY(n.sb,54).Th(n,1,nL9,e)),t&&(e=CY(t,54).Rh(n,1,nL9,e)),(e=Qq(n,t,e))&&e.oj()):(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,4,t,t))}function ni5(n,t){var e,i;i=CY(niK(t,(nlL(),nUt)),101),VD(t,(nlF(),nFn),i),(e=t.e)&&(vZ(new Aa(null,new R$(e.a,16)),new lS(n)),vZ(UL(new Aa(null,new R$(e.b,16)),new ti),new lP(n)))}function ni8(){ni8=T,n$v=new kr("NORMAL",0),n$m=new kr("LONG_EDGE",1),n$g=new kr("EXTERNAL_PORT",2),n$y=new kr("NORTH_SOUTH_PORT",3),n$p=new kr("LABEL",4),n$d=new kr("BREAKING_POINT",5)}function ni9(n,t){var e,i,r;return(t&=63)<22?(e=n.l<<t,i=n.m<<t|n.l>>22-t,r=n.h<<t|n.m>>22-t):t<44?(e=0,i=n.l<<t-22,r=n.m<<t-22|n.l>>44-t):(e=0,i=0,r=n.l<<t-44),js(e&nwO,i&nwO,r&nwC)}function ni7(n){if(null==nOs&&(nOs=RegExp("^\\s*[+-]?(NaN|Infinity|((\\d+\\.?\\d*)|(\\.\\d+))([eE][+-]?\\d+)?[dDfF]?)\\s*$")),!nOs.test(n))throw new p5(nwK+n+'"').e;return parseFloat(n)}function nrn(n,t){var e,i,r,a;for(i=(1==t?nx3:nx2).a.ec().Kc();i.Ob();)for(e=CY(i.Pb(),88),a=CY(_G(n.f.c,e),21).Kc();a.Ob();)r=CY(a.Pb(),42),jB(n.b.b,CY(r.b,86)),jB(n.b.a,CY(r.b,86).d)}function nrt(){nrt=T,nRG=new kx("ALWAYS_UP",0),nRU=new kx("ALWAYS_DOWN",1),nRX=new kx("DIRECTION_UP",2),nRq=new kx("DIRECTION_DOWN",3),nRV=new kx("SMART_UP",4),nRz=new kx("SMART_DOWN",5)}function nre(n,t){var e,i,r,a;for(e=new Tq(n);null!=e.g||e.c?null==e.g||0!=e.i&&CY(e.g[e.i-1],51).Ob():DU(e);)if(jM(a=CY(nc0(e),58),167))for(r=0,i=CY(a,167);r<t.length;r++)t[r].Kg(i)}function nri(n){var t;return(64&n.Db)!=0?JN(n):(t=new Sm(JN(n)),t.a+=" (height: ",mA(t,n.f),t.a+=", width: ",mA(t,n.g),t.a+=", x: ",mA(t,n.i),t.a+=", y: ",mA(t,n.j),t.a+=")",t.a)}function nrr(n){var t,e,i,r,a;for(t=new FF,i=0,r=n.length;i<r;++i)if(null!=Zq(t,a=NP((e=n[i]).ld()),NP(e.md())))throw new pN("duplicate key: "+a).e;this.b=($O(),new fH(t))}function nra(){nra=T,U3(),nNX=new To(ngV,nNz=nN1),Qx(1),nNq=new To(ngW,Qx(300)),Qx(0),nNQ=new To(ngQ,Qx(0)),new da,nNJ=new To(ngJ,ngY),new da,nNV=new To(ngZ,5),nNY=nN1,nNW=nNZ}function nrc(n){var t,e;return e=nP_.Math.sqrt((null==n.k&&(n.k=XH(n,new rN)),pj(n.k)/(n.b*(null==n.g&&(n.g=XB(n,new rL)),pj(n.g))))),t=AW(zF(nP_.Math.round(e))),t=nP_.Math.min(t,n.f)}function nro(){X8(),Oh.call(this),this.j=(nf5(),n1v),this.a=new mm,new gg,this.f=(qL(2,nbU),new Bf(2)),this.e=(qL(4,nbU),new Bf(4)),this.g=(qL(4,nbU),new Bf(4)),this.b=new kh(this.e,this.g)}function nru(){nru=T,nW2=new MN("CENTER_DISTANCE",0),nW3=new MN("CIRCLE_UNDERLAP",1),nW5=new MN("RECTANGLE_UNDERLAP",2),nW4=new MN("INVERTED_OVERLAP",3),nW6=new MN("MINIMUM_ROOT_DISTANCE",4)}function nrs(n,t){switch(t.g){case 1:return Cz(n.j,(X8(),n$T));case 2:return Cz(n.j,(X8(),n$M));case 3:return Cz(n.j,(X8(),n$S));case 4:return Cz(n.j,(X8(),n$P));default:return $O(),$O(),nO_}}function nrh(){nrh=T,nl_(),nVf=nYO,nVm=nYq,nVr=nJ5,nVa=nJ7,nVc=nYt,nVi=nJ4,nVo=nYr,nVh=nYE,nsn(),nVt=nzW,nVe=nzQ,nVb=nz2,nVg=nz6,nVw=nz3,nVd=nz4,nVu=nzY,nVs=nz1,nVl=nz0,nVp=nz5,nVv=nz9,nVn=nzV}function nrf(n,t){var e,i,r,a,c,o,u;if(n.e<=t||(o=n.g,(u=nhL(n,o,!1)).b<=o&&u.a<=t))return n.g;for(a=n.r,i=n.g,c=n.r,r=(a-i)/2+i;i+1<a;)(e=nhL(n,r,!1)).b<=r&&e.a<=t?(c=r,a=r):i=r,r=(a-i)/2+i;return c}function nrl(n){if(null==n.p)throw new px("The task has not begun yet.").e;n.b||(n.k&&(vX(),n.q=1e-9*KI(JB(J_(zF(Date.now()),nb8),n.o))),n.c<n.r&&qW(n,n.r-n.c),n.b=!0)}function nrb(n){var t,e,i;for(IA(i=new gj,new MH(n.j,n.k)),e=new j2((!n.a&&(n.a=new jU(nL0,n,5)),n.a));e.e!=e.i.gc();)IA(i,new MH((t=CY(Z6(e),377)).a,t.b));return IA(i,new MH(n.b,n.c)),i}function nrw(n,t){var e;if(ER(n)===ER(t))return!0;if(jM(t,21)){e=CY(t,21);try{return n.gc()==e.gc()&&n.Ic(e)}catch(n){if(jM(n=Vt(n),169)||jM(n,212));else throw n.e}}return!1}function nrd(n,t,e,i,r,a){switch(this.c=n,t.g){case 2:if(0>n.a.Ne(r,e))throw new pN(nda+r+ndc+e).e;break;case 1:n.a.Ne(r,r);break;case 3:n.a.Ne(e,e)}this.f=t,this.b=e,this.a=i,this.e=r,this.d=a}function nrg(n,t){var e;jB(n.d,t),e=t.Mf(),n.c?(n.e.a=nP_.Math.max(n.e.a,e.a),n.e.b+=e.b,n.d.c.length>1&&(n.e.b+=n.a)):(n.e.a+=e.a,n.e.b=nP_.Math.max(n.e.b,e.b),n.d.c.length>1&&(n.e.a+=n.a))}function nrp(n,t,e,i,r){if(i<t||r<e)throw new pN("The highx must be bigger then lowx and the highy must be bigger then lowy").e;return n.a<t?n.a=t:n.a>i&&(n.a=i),n.b<e?n.b=e:n.b>r&&(n.b=r),n}function nrm(n,t,e,i){var r,a;if(t.k==(ni8(),n$m)){for(a=new Le(Sb(Jz(t).a.Kc(),new s));ncv(a);)if((r=CY(_I(a),18)).c.i.k==n$m&&n.c.a[r.c.i.c.p]==i&&n.c.a[t.c.p]==e)return!0}return!1}function nrv(n,t,e,i){var r;this.b=i,this.e=n==(qp(),nqh),r=t[e],this.d=I3(n4h,[nby,ndV],[183,28],16,[r.length,r.length],2),this.a=I3(n4s,[nby,nwl],[53,28],15,[r.length,r.length],2),this.c=new nin(t,e)}function nry(n,t){var e,i,r;LX(n.d,t),e=new aj,xM(n.c,t,e),e.f=Qm(t.c),e.a=Qm(t.d),noD(),e.d=(r=t.c.i.k)==(ni8(),n$v)||r==n$d,e.e=(i=t.d.i.k)==n$v||i==n$d,e.b=t.c.j==(nf5(),n1y),e.c=t.d.j==n1n}function nrk(n,t,e,i){var r,a,c,o,u,s,h;for(o=0,c=e.length,a=0,r=-1,s=UK((Rx(t,n.length+1),n.substr(t)),(Ci(),nOQ));o<c;++o)(u=e[o].length)>a&&(h=UK(e[o],nOQ),OB(s.substr(0,h.length),h))&&(r=o,a=u);return r>=0&&(i[0]=t+a),r}function nrM(n){var t;return(64&n.Db)!=0?nri(n):(t=new Sv(nEv),n.a&&EY(EY((t.a+=' "',t),n.a),'"'),EY(mN(EY(mN(EY(mN(EY(mN((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function nrE(n,t,e){var i,r,a,c,o;for(c=0,o=nox(n.e.Dh(),t),r=CY(n.g,124),i=0;c<n.i;++c)if(a=r[c],o.am(a.Lk())){if(i==e)return no9(n,c),yP(),CY(t,69).xk()?a:a.md();++i}throw new pC(njt+e+nTp+i).e}function nrT(n){var t,e,i;if(2==(t=n.c)||7==t||1==t)return nlU(),nlU(),n3Y;for(i=nlk(n),e=null;2!=(t=n.c)&&7!=t&&1!=t;)e||(nlU(),nlU(),++n4c,nh7(e=new T3(1),i),i=e),nh7(e,nlk(n));return i}function nrj(n,t){var e,i,r,a,c;for(i=0,r=n.length;i<r;i++){a=n[i];try{a[1]?a[0].Um()&&(c=t,c||(c=[]),c[c.length]=a,t=c):a[0].Um()}catch(n){if(jM(n=Vt(n),82))e=n,pZ(),function(n){pZ(),nP_.setTimeout(function(){throw n},0)}(jM(e,486)?CY(e,486).ke():e);else throw n.e}}return t}function nrS(n,t,e){var i,r,a;for(e!=t.c+t.b.gc()&&function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;for(g=n.c,p=t.c,e=H6(g.a,n,0),i=H6(p.a,t,0),w=CY(Yx(n,(qy(),nG$)).Kc().Pb(),12),y=CY(Yx(n,nGD).Kc().Pb(),12),d=CY(Yx(t,nG$).Kc().Pb(),12),k=CY(Yx(t,nGD).Kc().Pb(),12),l=Ky(w.e),m=Ky(y.g),b=Ky(d.e),v=Ky(k.g),ntX(n,i,p),a=0,s=b.length;a<s;++a)Ru(b[a],w);for(c=0,h=v.length;c<h;++c)Ra(v[c],y);for(ntX(t,e,g),o=0,f=l.length;o<f;++o)Ru(l[o],d);for(r=0,u=m.length;r<u;++r)Ra(m[r],k)}(t.a,(a=e-t.c)<t.b.gc()?CY(t.b.Xb(a),10):a==t.b.gc()?t.a:CY(I0(t.e,a-t.b.gc()-1),10)),r=t.a.c.p,n.a[r]=nP_.Math.max(n.a[r],t.a.o.a),i=CY(niK(t.a,(nlF(),nFo)),15).Kc();i.Ob();)VD(CY(i.Pb(),72),nDI,(SB(),!0))}function nrP(n){var t;this.c=new vq,this.f=n.e,this.e=n.d,this.i=n.g,this.d=n.c,this.b=n.b,this.k=n.j,this.a=n.a,n.i?this.j=n.i:this.j=new O9(t=CY(mP(nLC),9),CY(Oc(t,t.length),9),0),this.g=n.f}function nrO(n,t,e){var i,r,a;if(!(e<=t+2))for(i=0,r=(e-t)/2|0;i<r;++i)RN(t+i,n.c.length),a=CY(n.c[t+i],12),_o(n,t+i,(RN(e-i-1,n.c.length),CY(n.c[e-i-1],12))),RN(e-i-1,n.c.length),n.c[e-i-1]=a}function nrC(n){var t;this.j=new du,this.f=new dV,this.b=new O9(t=CY(mP(nLq),9),CY(Oc(t,t.length),9),0),this.d=BJ(n4s,nwl,28,(nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])).length,15,1),this.g=n}function nrI(n,t){var e,i,r;if(i=Gt(n.Dh(),t),(e=t-n.ji())<0)if(i)if(i.rk())(r=n.Ih(i))>=0?n.ki(r):nab(n,i);else throw new pN(nET+i.xe()+nEj).e;else throw new pN(nEO+t+nEC).e;else QZ(n,e,i)}function nrA(n){var t,e;if(e=null,t=!1,jM(n,211)&&(t=!0,e=CY(n,211).a),!t&&jM(n,263)&&(t=!0,e=""+CY(n,263).a),!t&&jM(n,493)&&(t=!0,e=""+CY(n,493).a),!t)throw new pA(nE8).e;return e}function nrL(n,t,e){var i,r,a,c,o,u;for(c=0,u=nox(n.e.Dh(),t),i=0,o=n.i,r=CY(n.g,124);c<n.i;++c)if(a=r[c],u.am(a.Lk())){if(e==i)return c;++i,o=c+1}if(e==i)return o;throw new pC(njt+e+nTp+i).e}function nrN(){nrN=T,nQ2=new Mq(nd6,0),nQW=new Mq("BOOLEAN",1),nQZ=new Mq("INT",2),nQ0=new Mq("STRING",3),nQQ=new Mq("DOUBLE",4),nQJ=new Mq("ENUM",5),nQY=new Mq("ENUMSET",6),nQ1=new Mq("OBJECT",7)}function nrx(n,t){var e,i,r,a,c;i=nP_.Math.min(n.c,t.c),a=nP_.Math.min(n.d,t.d),r=nP_.Math.max(n.c+n.b,t.c+t.b),c=nP_.Math.max(n.d+n.a,t.d+t.a),r<i&&(e=i,i=r,r=e),c<a&&(e=a,a=c,c=e),Ir(n,i,a,r-i,c-a)}function nr$(n,t){var e,i;if(!n.f)return t.Ob();for(;t.Ob();)if(jM(i=(e=CY(t.Pb(),76)).Lk(),102)&&(CY(i,19).Bb&nEI)!=0&&(!n.e||i.pk()!=nL1||0!=i.Lj())&&null!=e.md())return t.Ub(),!0;return!1}function nrD(n,t){var e,i;if(!n.f)return t.Sb();for(;t.Sb();)if(jM(i=(e=CY(t.Ub(),76)).Lk(),102)&&(CY(i,19).Bb&nEI)!=0&&(!n.e||i.pk()!=nL1||0!=i.Lj())&&null!=e.md())return t.Pb(),!0;return!1}function nrR(){nrR=T,n25=Vw(DY(nPL,1),nby,2,6,[nSt,nSe,nSi,nSr,nSa,nSc,nTs]),n26=Vw(DY(nPL,1),nby,2,6,[nSt,"empty",nSe,njR,"elementOnly"]),n29=Vw(DY(nPL,1),nby,2,6,[nSt,"preserve","replace",nSo]),n28=new Ib}function nrK(n,t,e){var i,r,a;if(t!=e){i=t;do OT(n,i.c),(r=i.e)&&(Pu(n,(a=i.d).b,a.d),OT(n,r.n),i=xi(r));while(r)i=e;do Oj(n,i.c),(r=i.e)&&(Pf(n,(a=i.d).b,a.d),Oj(n,r.n),i=xi(r));while(r)}}function nrF(n,t,e,i){var r,a,c,o,u,s;if(i.f.c+i.i.c==0)for(c=n.a[n.c],o=0,u=c.length;o<u;++o)xM(i,a=c[o],new zi(n,a,e));return(r=CY(ED(Aj(i.f,t)),677)).b=0,r.c=r.f,0==r.c||((s=CY(I0(r.a,r.b),294)).b=s.a),r}function nr_(){nr_=T,nRw=new kO("MEDIAN_LAYER",0),nRg=new kO("TAIL_LAYER",1),nRb=new kO("HEAD_LAYER",2),nRd=new kO("SPACE_EFFICIENT_LAYER",3),nRp=new kO("WIDEST_LAYER",4),nRl=new kO("CENTER_LAYER",5)}function nrB(n){var t,e,i,r;for(n.e=0,r=ZQ(n.f,0);r.b!=r.d.c;)(i=CY(K0(r),10)).p>=n.d.b.c.length&&((t=new NU(n.d)).p=i.p-1,jB(n.d.b,t),(e=new NU(n.d)).p=i.p,jB(n.d.b,e)),Rc(i,CY(I0(n.d.b,i.p),30))}function nrH(n,t){var e,i,r;if(jM(t,207))return e=CY(t,27),qN(Nk(n.g),e);if(jM(t,193))return i=CY(t,123),qN(Nk(n.j),i);if(jM(t,452))return r=CY(t,166),qN(Nk(n.d),r);throw new pN(nTn+niV(new pU(Vw(DY(nPa,1),nl7,1,5,[t])))).e}function nrU(n,t,e){var i,r;if(this.f=n,_z(e,r=(i=CY(NR(n.b,t),260))?i.a:0),e>=(r/2|0))for(this.e=i?i.c:null,this.d=r;e++<r;)UF(this);else for(this.c=i?i.b:null;e-- >0;)U_(this);this.b=t,this.a=null}function nrG(n,t){var e,i;if(e=CY(xN(n.b,t),127),CY(CY(_G(n.r,t),21),87).dc()){e.n.b=0,e.n.c=0;return}e.n.b=n.C.b,e.n.c=n.C.c,n.A.Hc((YZ(),n1I))&&nuN(n,t),i=function(n,t){var e,i,r;for(r=0,i=CY(CY(_G(n.r,t),21),87).Kc();i.Ob();)r+=(e=CY(i.Pb(),117)).d.b+e.b.Mf().a+e.d.c,i.Ob()&&(r+=n.w);return r}(n,t),nuc(n,t)==(Z0(),nZX)&&(i+=2*n.w),e.a.a=i}function nrq(n,t){var e,i;if(e=CY(xN(n.b,t),127),CY(CY(_G(n.r,t),21),87).dc()){e.n.d=0,e.n.a=0;return}e.n.d=n.C.d,e.n.a=n.C.a,n.A.Hc((YZ(),n1I))&&nux(n,t),i=function(n,t){var e,i,r;for(r=0,i=CY(CY(_G(n.r,t),21),87).Kc();i.Ob();)r+=(e=CY(i.Pb(),117)).d.d+e.b.Mf().b+e.d.a,i.Ob()&&(r+=n.w);return r}(n,t),nuc(n,t)==(Z0(),nZX)&&(i+=2*n.w),e.a.b=i}function nrX(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w;return o=n.a,f=n.b,u=t.a,l=t.b,s=e.a,b=e.b,h=i.a,w=i.b,a=o*l-f*u,c=s*w-b*h,r=(o-u)*(b-w)-(f-l)*(s-h),new MH((a*(s-h)-c*(o-u))/r,(a*(b-w)-c*(f-l))/r)}function nrz(n,t){var e,i,r;if(!n.d[t.p]){for(n.d[t.p]=!0,n.a[t.p]=!0,i=new Le(Sb(JV(t).a.Kc(),new s));ncv(i);)_p(e=CY(_I(i),18))||(r=e.d.i,n.a[r.p]?jB(n.b,e):nrz(n,r));n.a[t.p]=!1}}function nrV(n,t,e){var i;switch(i=0,CY(niK(t,(nlL(),nHI)),171).g){case 2:i=-(2*e)+n.a,++n.a;break;case 1:i=-e;break;case 3:i=e;break;case 4:i=2*e+n.b,++n.b}return Pn(t,(nlF(),nK4))&&(i+=CY(niK(t,nK4),17).a),i}function nrW(n){var t,e;return CY(ncx(n,(nl_(),nJ5)),21).Hc((YZ(),n1P))?(e=CY(ncx(n,nYt),21),t=new TP(CY(ncx(n,nJ7),8)),e.Hc((nsv(),n1x))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t):new mm}function nrQ(n){var t,e,i;if(!n.b){for(i=new o9,e=new SQ(nhP(n));e.e!=e.i.gc();)((t=CY(Z5(e),19)).Bb&nEI)!=0&&B7(i,t);WG(i),n.b=new Tu((CY(GO($x((NN(),n2c).o),8),19),i.i),i.g),_v(n).b&=-9}return n.b}function nrJ(n){var t,e,i;for(e=n.length,i=0;i<e&&(Rx(i,n.length),32>=n.charCodeAt(i));)++i;for(t=e;t>i&&(Rx(t-1,n.length),32>=n.charCodeAt(t-1));)--t;return i>0||t<e?(B2(i,t,n.length),n.substr(i,t-i)):n}function nrY(n){var t,e,i,r,a,c,o;if($O(),jM(n,59))for(a=0,r=n.gc()-1;a<r;++a,--r)t=n.Xb(a),n.hd(a,n.Xb(r)),n.hd(r,t);else for(e=n.ed(),c=n.fd(n.gc());e.Tb()<c.Vb();)i=e.Pb(),o=c.Ub(),e.Wb(o),c.Wb(i)}function nrZ(n,t){var e,i,r,a,c,o;for(o=0,K3(a=new j1,t);a.b!=a.c;)for(o+=ntT((c=CY(LG(a),219)).d,c.e),r=new fU(c.b);r.a<r.c.c.length;)i=CY(RU(r),36),(e=CY(I0(n.b,i.p),219)).s||(o+=nrZ(n,e));return o}function nr1(n,t,e,i,r){var a,c,o,u;if(t)for(c=t.Kc();c.Ob();)for(u=nuT(CY(c.Pb(),10),(qy(),nGD),e).Kc();u.Ob();)o=CY(u.Pb(),12),(a=CY(ED(Aj(r.f,o)),118))||(a=new zV(n.d),dk(i.c,a),function n(t,e,i){var r,a,c;for(i.zc(e,t),jB(t.n,e),c=t.p.zg(e),e.j==t.p.Ag()?JZ(t.e,c):JZ(t.j,c),Nx(t),a=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(e),new lN(e)])));ncv(a);)r=CY(_I(a),12),i._b(r)||n(t,r,i)}(a,o,r))}function nr0(n,t,e){var i,r;zW(this),t==(DC(),nq0)?LX(this.r,n.c):LX(this.w,n.c),e==nq0?LX(this.r,n.d):LX(this.w,n.d),nry(this,n),ni0(this,i=Qm(n.c),r=Qm(n.d),r),this.o=(noD(),.2>nP_.Math.abs(i-r))}function nr2(n,t,e){var i,r,a,c;if(null!=(a=CY(zA(n.a,8),2035)))for(i=0,r=a.length;i<r;++i)null.Um();(1&n.a.Db)==0&&(c=new NZ(n,e,t),e.dj(c)),jM(e,686)?CY(e,686).fj(n.a):e.cj()==n.a&&e.ej(null)}function nr3(n,t,e){var i,r,a,c;if(c=n.b.Ce(t),0==(r=null==(i=n.a.get(c))?BJ(nPa,nl7,1,0,5,1):i).length)n.a.set(c,r);else if(a=W2(n,t,r))return a.nd(e);return NK(r,r.length,new yH(t,e)),++n.c,++n.b.g,null}function nr4(n,t){for(r=new du,i=new fU(n.c.a.b);i.a<i.c.c.length;)e=CY(RU(i),60),t.Lb(e)&&(jB(r,new yW(e,!0)),jB(r,new yW(e,!1)));var e,i,r,a,c,o=n.e;for(o.b.a.$b(),o.a=BJ(nCu,nl7,60,o.c.c.a.b.c.length,0,1),a=0,c=new fU(o.c.c.a.b);c.a<c.c.c.length;)CY(RU(c),60).f=a++;Kb(r,n.d,new pU(Vw(DY(nCo,1),nl7,693,0,[n.e])))}function nr6(n,t,e){var i,r,a;i=CY(ncx(n,(nl_(),nJL)),21),r=0,a=0,t.a>e.a&&(i.Hc((neW(),nJd))?r=(t.a-e.a)/2:i.Hc(nJp)&&(r=t.a-e.a)),t.b>e.b&&(i.Hc((neW(),nJv))?a=(t.b-e.b)/2:i.Hc(nJm)&&(a=t.b-e.b)),niN(n,r,a)}function nr5(n,t,e,i,r,a,c,o,u,s,h,f,l){jM(n.Cb,90)&&nar(_v(CY(n.Cb,90)),4),XC(n,e),n.f=c,Jy(n,o),JM(n,u),Jv(n,s),Jk(n,h),Q5(n,f),JD(n,l),Q3(n,!0),G6(n,r),n.Zk(a),Qn(n,t),null!=i&&(n.i=null,Xi(n,i))}function nr8(n,t,e){if(n<0)return nuK(nl9,Vw(DY(nPa,1),nl7,1,5,[e,Qx(n)]));if(t<0)throw new pN(nbn+t).e;return nuK("%s (%s) must not be greater than size (%s)",Vw(DY(nPa,1),nl7,1,5,[e,Qx(n),Qx(t)]))}function nr9(n,t,e){var i,r,a;if(r=Gt(n.Dh(),t),(i=t-n.ji())<0)if(r)if(r.rk())(a=n.Ih(r))>=0?n.bi(a,e):nc7(n,r,e);else throw new pN(nET+r.xe()+nEj).e;else throw new pN(nEO+t+nEC).e;else J5(n,i,r,e)}function nr7(n){var t,e;if(!n.f)return n.n>0;for(;n.n>0;){if(jM(e=(t=CY(n.k.Xb(n.n-1),76)).Lk(),102)&&(CY(e,19).Bb&nEI)!=0&&(!n.e||e.pk()!=nL1||0!=e.Lj())&&null!=t.md())return!0;--n.n}return!1}function nan(n){if(!n)return pb(),nOn;var t=n.valueOf?n.valueOf():n;if(t!==n){var e=nOt[typeof t];return e?e(t):Qo(typeof t)}return n instanceof Array||n instanceof nP_.Array?new fm(n):new fk(n)}function nat(n,t,e){var i,r,a;switch(a=n.o,(r=(i=CY(xN(n.p,e),252)).i).b=naT(i),r.a=naE(i),r.b=nP_.Math.max(r.b,a.a),r.b>a.a&&!t&&(r.b=a.a),r.c=-(r.b-a.a)/2,e.g){case 1:r.d=-r.a;break;case 3:r.d=a.b}nht(i),nha(i)}function nae(n,t,e){var i,r,a;switch(a=n.o,(r=(i=CY(xN(n.p,e),252)).i).b=naT(i),r.a=naE(i),r.a=nP_.Math.max(r.a,a.b),r.a>a.b&&!t&&(r.a=a.b),r.d=-(r.a-a.b)/2,e.g){case 4:r.c=-r.b;break;case 2:r.c=a.a}nht(i),nha(i)}function nai(n,t){var e,i,r,a;return e=qn(n,"x"),GZ(new wP(t).a,null==e||O6((xf(e),e))||isNaN((xf(e),e))?0:(xf(e),e)),i=qn(n,"y"),G1(new wO(t).a,null==i||O6((xf(i),i))||isNaN((xf(i),i))?0:(xf(i),i)),r=qn(n,nEz),GY(new wC(t).a,null==r||O6((xf(r),r))||isNaN((xf(r),r))?0:(xf(r),r)),a=qn(n,nEX),GJ(new wI(t).a,null==a||O6((xf(a),a))||isNaN((xf(a),a))?0:(xf(a),a)),a}function nar(n,t){nuA(n,t),(1&n.b)!=0&&(n.a.a=null),(2&n.b)!=0&&(n.a.f=null),(4&n.b)!=0&&(n.a.g=null,n.a.i=null),(16&n.b)!=0&&(n.a.d=null,n.a.e=null),(8&n.b)!=0&&(n.a.b=null),(32&n.b)!=0&&(n.a.j=null,n.a.c=null)}function naa(n,t){var e,i,r,a,c,o;for(e=n.b.c.length,r=I0(n.b,t);2*t+1<e&&(c=(a=2*t+1)+1,o=a,c<e&&0>n.a.Ne(I0(n.b,c),I0(n.b,a))&&(o=c),i=o,!(0>n.a.Ne(r,I0(n.b,i))));)_o(n.b,t,I0(n.b,i)),t=i;_o(n.b,t,r)}function nac(n,t,e){var i,r;return(i=e.d,r=e.e,n.g[i.d]<=n.i[t.d]&&n.i[t.d]<=n.i[i.d]&&n.g[r.d]<=n.i[t.d]&&n.i[t.d]<=n.i[r.d])?!(n.i[i.d]<n.i[r.d]):n.i[i.d]<n.i[r.d]}function nao(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(u=nwF,a=new fU(noh(n.b));a.a<a.c.c.length;)for(r=CY(RU(a),177),o=new fU(noh(t.b));o.a<o.c.c.length;)c=CY(RU(o),177),s=r.a,h=r.b,f=c.a,l=c.b,nue(),i=nP_.Math.min(nfN(s,h,f,l,e),nfN(f,l,s,h,Ph(new MH(e.a,e.b)))),u=nP_.Math.min(u,i);return u}function nau(n,t){if(!t)throw(new d$).e;if(n.j=t,!n.d)switch(n.j.g){case 1:n.a.a=n.o.a/2,n.a.b=0;break;case 2:n.a.a=n.o.a,n.a.b=n.o.b/2;break;case 3:n.a.a=n.o.a/2,n.a.b=n.o.b;break;case 4:n.a.a=0,n.a.b=n.o.b/2}}function nas(n,t){var e,i;if(t.dc())return $O(),$O(),nO_;for(jB(i=new du,Qx(nbJ)),e=1;e<n.f;++e)null==n.a&&nuC(n),n.a[e]&&jB(i,Qx(e));return 1==i.c.length?($O(),$O(),nO_):(jB(i,Qx(nl3)),function(n,t){var e,i,r,a,c,o;for(r=new du,a=0,e=0,c=0;a<t.c.length-1&&e<n.gc();){for(i=CY(n.Xb(e),17).a+c;(RN(a+1,t.c.length),CY(t.c[a+1],17)).a<i;)++a;for(o=0,i-(RN(a,t.c.length),CY(t.c[a],17)).a>(RN(a+1,t.c.length),CY(t.c[a+1],17)).a-i&&++o,jB(r,(RN(a+o,t.c.length),CY(t.c[a+o],17))),c+=(RN(a+o,t.c.length),CY(t.c[a+o],17)).a-i,++e;e<n.gc()&&CY(n.Xb(e),17).a+c<=(RN(a+o,t.c.length),CY(t.c[a+o],17)).a;)++e;a+=1+o}return r}(t,i))}function nah(n,t,e){var i,r;i=t.a&n.f,t.b=n.b[i],n.b[i]=t,r=t.f&n.f,t.d=n.c[r],n.c[r]=t,e?(t.e=e.e,t.e?t.e.c=t:n.a=t,t.c=e.c,t.c?t.c.e=t:n.e=t):(t.e=n.e,t.c=null,n.e?n.e.c=t:n.a=t,n.e=t),++n.i,++n.g}function naf(n){var t,e,i;if(t=n.Pb(),!n.Ob())return t;for(e=0,i=EJ(EY(new p2,"expected one element but was: <"),t);e<4&&n.Ob();e++)EJ((i.a+=nl8,i),n.Pb());throw n.Ob()&&(i.a+=", ..."),i.a+=">",new pN(i.a).e}function nal(n){var t,e,i,r;for(n.g=new J0(CY(NP(nLq),297)),i=0,nf5(),e=n1t,t=0;t<n.j.c.length;t++)(r=CY(I0(n.j,t),12)).j!=e&&(i!=t&&LQ(n.g,e,new Ea(Qx(i),Qx(t))),e=r.j,i=t);LQ(n.g,e,new Ea(Qx(i),Qx(t)))}function nab(n,t){var e,i,r;if(r=nff((nrR(),n28),n.Dh(),t))yP(),CY(r,69).xk()||(r=Rz(Ua(n28,r))),i=CY((e=n.Ih(r))>=0?n.Lh(e,!0,!0):naB(n,r,!0),160),CY(i,220).Zl(t);else throw new pN(nET+t.xe()+nEj).e}function naw(n){var t,e;return n>-0x800000000000&&n<0x800000000000?0==n?0:((t=n<0)&&(n=-n),e=Dy(nP_.Math.floor(nP_.Math.log(n)/.6931471805599453)),(!t||n!=nP_.Math.pow(2,e))&&++e,e):z6(zF(n))}function nad(n,t){var e,i,r;return zU(i=new nn_(n),t),VD(i,(nlF(),nKF),t),VD(i,(nlL(),nUt),(nie(),nZJ)),VD(i,nBR,(nnS(),nQ9)),ni8(),i.k=n$g,Ro(e=new nro,i),nau(e,(nf5(),n1y)),Ro(r=new nro,i),nau(r,n1n),i}function nag(n){switch(n.g){case 0:return new pv((qp(),nqs));case 1:return new hp;case 2:return new hm;default:throw new pN("No implementation is available for the crossing minimizer "+(null!=n.f?n.f:""+n.g)).e}}function nap(){nap=T,nZ8=new M2("OUTSIDE",0),nZ6=new M2("INSIDE",1),nZ5=new M2("NEXT_TO_PORT_IF_POSSIBLE",2),nZ4=new M2("ALWAYS_SAME_SIDE",3),nZ3=new M2("ALWAYS_OTHER_SAME_SIDE",4),nZ9=new M2("SPACE_EFFICIENT",5)}function nam(n,t){var e,i,r;for(r=nl3,i=new fU(W1(t));i.a<i.c.c.length;)(e=CY(RU(i),218)).f&&!n.c[e.c]&&(n.c[e.c]=!0,r=nP_.Math.min(r,nam(n,J6(e,t))));return n.i[t.d]=n.j,n.g[t.d]=nP_.Math.min(r,n.j++),n.g[t.d]}function nav(n,t){var e,i,r;for(r=CY(CY(_G(n.r,t),21),87).Kc();r.Ob();)(i=CY(r.Pb(),117)).e.b=(e=i.b).pf((nl_(),nYm))?e.ag()==(nf5(),n1t)?-e.Mf().b-pj(PI(e.of(nYm))):pj(PI(e.of(nYm))):e.ag()==(nf5(),n1t)?-e.Mf().b:0}function nay(n){var t,e,i,r,a;t=n.a,e=n.b,r=n.c,i=new MH(e.e.a+e.f.a/2,e.e.b+e.f.b/2),a=new MH(r.e.a+r.f.a/2,r.e.b+r.f.b/2),F_(t,i,t.a,t.a.a),F_(t,a,t.c.b,t.c),ni3(i,CY(nnt(t,1),8),n.b.f),ni3(a,CY(nnt(t,t.b-2),8),n.c.f)}function nak(n){var t,e;if(t=!1,jM(n,211))return t=!0,CY(n,211).a;if(!t&&jM(n,263)&&CY(n,263).a%1==0)return t=!0,Qx(Dy((xf(e=CY(n,263).a),e)));throw new p_("Id must be a string or an integer: '"+n+"'.").e}function naM(n,t,e){var i,r,a,c,o;if(qL(e,"occurrences"),0==e)return(o=CY(QH($M(n.a),t),16))?o.gc():0;if(!(c=CY(QH($M(n.a),t),16)))return 0;if(e>=(a=c.gc()))c.$b();else for(i=0,r=c.Kc();i<e;i++)r.Pb(),r.Qb();return a}function naE(n){var t,e,i,r,a,c,o;if(c=0,0==n.b){for(a=nnW(n,!0),t=0,i=0,r=a.length;i<r;++i)(e=a[i])>0&&(c+=e,++t);t>1&&(c+=n.c*(t-1))}else c=(o=XJ(xV(xX(LV(n.a),new nM),new nE))).a?o.b:0;return c>0?c+n.n.d+n.n.a:0}function naT(n){var t,e,i,r,a,c,o;if(c=0,0==n.b)c=(o=XJ(xV(xX(LV(n.a),new ny),new nk))).a?o.b:0;else{for(a=nnQ(n,!0),t=0,i=0,r=a.length;i<r;++i)(e=a[i])>0&&(c+=e,++t);t>1&&(c+=n.c*(t-1))}return c>0?c+n.n.b+n.n.c:0}function naj(n){var t,e;return e=new p2,e.a+="e_",null!=(t=0!=n.b.c.length&&CY(I0(n.b,0),72).a?CY(I0(n.b,0),72).a:xZ(n))&&(e.a+=""+t),n.c&&n.d&&(EY((e.a+=" ",e),ntC(n.c)),EY(EJ((e.a+="[",e),n.c.i),"]"),EY((e.a+=npF,e),ntC(n.d)),EY(EJ((e.a+="[",e),n.d.i),"]")),e.a}function naS(n){switch(n.g){case 0:return new hP;case 1:return new hO;case 2:return new hj;case 3:return new hT;default:throw new pN("No implementation is available for the layout phase "+(null!=n.f?n.f:""+n.g)).e}}function naP(n,t,e,i,r){var a;switch(a=0,r.g){case 1:a=nP_.Math.max(0,t.b+n.b-(e.b+i));break;case 3:a=nP_.Math.max(0,-n.b-i);break;case 2:a=nP_.Math.max(0,-n.a-i);break;case 4:a=nP_.Math.max(0,t.a+n.a-(e.a+i))}return a}function naO(n){var t,e;switch(n.b){case -1:return!0;case 0:if((e=n.t)>1||-1==e||(t=nec(n))&&(yP(),t.lk()==njM))return n.b=-1,!0;return n.b=1,!1;default:return!1}}function naC(n,t){var e,i,r;if(nlN(n),0!=n.c||123!=n.a)throw new pH(nlV((T9(),nTD))).e;if(i=n.d,(e=S1(n.i,125,i))<0)throw new pH(nlV((T9(),nTR))).e;return r=Di(n.i,i,e),n.d=e+1,Ht(r,112==t,(512&n.e)==512)}function naI(n){var t,e,i,r,a,c,o;if((i=n.a.c.length)>0)for(c=n.c.d,r=j_(Oj(new MH((o=n.d.d).a,o.b),c),1/(i+1)),a=new MH(c.a,c.b),e=new fU(n.a);e.a<e.c.c.length;)(t=CY(RU(e),250)).d.a=a.a+r.a,t.d.b=a.b+r.b,OT(a,r)}function naA(n,t,e,i,r){var a,c,o,u;return ER(u=PO(n,CY(r,58)))!==ER(r)?(o=CY(n.g[e],76),jH(n,e,nio(n,e,a=Fy(t,u))),TN(n.e)&&(ne4(c=$6(n,9,a.Lk(),r,u,i,!1),new Uh(n.e,9,n.c,o,a,i,!1)),Un(c)),u):r}function naL(n,t){var e,i,r,a;try{return r=n.a,PN(!!(a=(xf(r),r).g)),xf(t),a(t)}catch(r){if(jM(r=Vt(r),33)){try{if(i=nsE(t,nbJ,nl3),e=mP(n.a),i>=0&&i<e.length)return e[i]}catch(n){if(!jM(n=Vt(n),130))throw n.e}return null}throw r.e}}function naN(n,t){var e,i,r;if(r=nff((nrR(),n28),n.Dh(),t))return yP(),CY(r,69).xk()||(r=Rz(Ua(n28,r))),i=CY((e=n.Ih(r))>=0?n.Lh(e,!0,!0):naB(n,r,!0),160),CY(i,220).Wl(t);throw new pN(nET+t.xe()+nEP).e}function nax(n,t){var e,i,r;if(r=0,(i=t[0])>=n.length)return -1;for(Rx(i,n.length),e=n.charCodeAt(i);e>=48&&e<=57&&(r=10*r+(e-48),!(++i>=n.length));)Rx(i,n.length),e=n.charCodeAt(i);return i>t[0]?t[0]=i:r=-1,r}function na$(n){var t,e,i;for(t=null,e=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(n.b||(n.b=new Ox(nL4,n,4,7)),n.b),(n.c||(n.c=new Ox(nL4,n,5,8)),n.c)])));ncv(e);)if(i=niw(CY(_I(e),84)),t){if(t!=i)return!1}else t=i;return!0}function naD(n,t,e){var i;if(++n.j,t>=n.i)throw new pC(nTg+t+nTp+n.i).e;if(e>=n.i)throw new pC(nTm+e+nTp+n.i).e;return i=n.g[e],t!=e&&(t<e?ns8(n.g,t,n.g,t+1,e-t):ns8(n.g,e+1,n.g,e,t-e),NK(n.g,t,i),n.Pi(t,i,e),n.Ni()),i}function naR(n,t,e){var i;if(i=CY(n.c.xc(t),16))if(i.Fc(e))return++n.d,!0;else return!1;if((i=n.ic(t)).Fc(e))return++n.d,n.c.zc(t,i),!0;throw new _N("New Collection violated the Collection spec").e}function naK(n){var t,e,i;return n<0?0:0==n?32:(e=16-(t=(i=-(n>>16))>>16&16),n>>=t,e+=t=(i=n-256)>>16&8,n<<=t,e+=t=(i=n-nwB)>>16&4,n<<=t,e+=t=(i=n-nbk)>>16&2,n<<=t,e+2-(t=(i=n>>14)&~(i>>1)))}function naF(n,t,e){var i,r,a,c;return jM(t,153)&&jM(e,153)?(a=CY(t,153),c=CY(e,153),n.a[a.a][c.a]+n.a[c.a][a.a]):jM(t,250)&&jM(e,250)&&(i=CY(t,250),r=CY(e,250),i.a==r.a)?CY(niK(r.a,(nsK(),nxc)),17).a:0}function na_(n,t){var e,i,r,a,c,o,u,s;for(o=1,s=pj(PI(niK(t,(nlL(),nUN)))),u=n[0].n.a+n[0].o.a+n[0].d.c+s;o<n.length;o++)i=n[o].n,r=n[o].o,e=n[o].d,(a=i.a-e.b-u)<0&&(i.a-=a),(c=t.f).a=nP_.Math.max(c.a,i.a+r.a),u=i.a+r.a+e.c+s}function naB(n,t,e){var i,r,a;if(a=nff((nrR(),n28),n.Dh(),t))return yP(),CY(a,69).xk()||(a=Rz(Ua(n28,a))),r=CY((i=n.Ih(a))>=0?n.Lh(i,!0,!0):naB(n,a,!0),160),CY(r,220).Sl(t,e);throw new pN(nET+t.xe()+nEP).e}function naH(n,t,e,i){var r,a,c,o,u;if(r=n.d[t]){if(a=r.g,u=r.i,null!=i){for(o=0;o<u;++o)if((c=CY(a[o],136)).Bi()==e&&QY(i,c.ld()))return c}else for(o=0;o<u;++o)if(ER((c=CY(a[o],136)).ld())===ER(i))return c}return null}function naU(n,t){if(t<0)throw new pO("Negative exponent").e;if(0==t)return nOA;if(1==t||Yr(n,nOA)||Yr(n,nO$))return n;if(!ncg(n,0)){for(e=1;!ncg(n,e);)++e;return Fh((i=e*t)<nOx.length?nOx[i]:((a=BJ(n4s,nwl,28,(r=i>>5)+1,15,1))[r]=1<<(31&i),new LZ(1,r+1,a)),naU(_A(n,e),t))}var e,i,r,a,c,o,u=t;for(nui(),nuY(),o=nOA,c=n;u>1;u>>=1)(1&u)!=0&&(o=Fh(o,c)),c=1==c.d?Fh(c,c):new ZO(nsC(c.a,c.d,BJ(n4s,nwl,28,c.d<<1,15,1)));return Fh(o,c)}function naG(n){var t,e,i;for(v7(),this.b=nx4,this.c=(Ju(),nY7),this.f=(v9(),nx0),this.a=n,this.e=new tf,noy(this),i=new fU(n.b);i.a<i.c.c.length;)(e=CY(RU(i),86)).d||(t=new ZP(Vw(DY(nI6,1),nl7,86,0,[e])),jB(n.a,t))}function naq(n){var t,e,i,r,a,c;for(TT(c=Kv(n.a),new ea),e=null,r=0,a=c.length;r<a&&(i=c[r]).k==(ni8(),n$g);++r)((t=CY(niK(i,(nlF(),nK_)),64))==(nf5(),n1y)||t==n1n)&&(e&&CY(niK(e,nKW),15).Fc(i),e=i)}function naX(n){var t;if(n.c||null!=n.g){if(null==n.g)return!0;if(0==n.i)return!1;t=CY(n.g[n.i-1],51)}else n.d=n.bj(n.f),B7(n,n.d),t=n.d;return t==n.b&&null.Vm>=null.Um()?(nc0(n),naX(n)):t.Ob()}function naz(n){if(this.a=n,n.c.i.k==(ni8(),n$g))this.c=n.c,this.d=CY(niK(n.c.i,(nlF(),nK_)),64);else if(n.d.i.k==n$g)this.c=n.d,this.d=CY(niK(n.d.i,(nlF(),nK_)),64);else throw new pN("Edge "+n+" is not an external edge.").e}function naV(n,t){var e,i,r;r=n.b,n.b=t,(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,3,r,n.b)),t?t!=n&&(XC(n,t.zb),G8(n,t.d),qJ(n,null==(e=null==(i=t.c)?t.zb:i)||OB(e,t.zb)?null:e)):(XC(n,null),G8(n,0),qJ(n,null))}function naW(n,t){var e;this.e=(NA(),NP(n),NA(),Y$(n)),this.c=(NP(t),Y$(t)),j5(this.e.Rd().dc()==this.c.Rd().dc()),this.d=JQ(this.e),this.b=JQ(this.c),e=I3(nPa,[nby,nl7],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=e,function(n){var t,e,i,r;for(e=n.a,i=0,r=e.length;i<r;++i)Ni(t=e[i],t.length,null)}(this)}function naQ(n){var t;return nP3||((t=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"])[34]='\\"',t[92]="\\\\",t[173]="\\u00ad",t[1536]="\\u0600",t[1537]="\\u0601",t[1538]="\\u0602",t[1539]="\\u0603",t[1757]="\\u06dd",t[1807]="\\u070f",t[6068]="\\u17b4",t[6069]="\\u17b5",t[8203]="\\u200b",t[8204]="\\u200c",t[8205]="\\u200d",t[8206]="\\u200e",t[8207]="\\u200f",t[8232]="\\u2028",t[8233]="\\u2029",t[8234]="\\u202a",t[8235]="\\u202b",t[8236]="\\u202c",t[8237]="\\u202d",t[8238]="\\u202e",t[8288]="\\u2060",t[8289]="\\u2061",t[8290]="\\u2062",t[8291]="\\u2063",t[8292]="\\u2064",t[8298]="\\u206a",t[8299]="\\u206b",t[8300]="\\u206c",t[8301]="\\u206d",t[8302]="\\u206e",t[8303]="\\u206f",t[65279]="\\ufeff",t[65529]="\\ufff9",t[65530]="\\ufffa",t[65531]="\\ufffb",nP3=t),'"'+n.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(n){var t;return null==(t=nP3[n.charCodeAt(0)])?n:t})+'"'}function naJ(n,t,e,i,r,a){var c,o,u,s;if(0!=r)for(ER(n)===ER(e)&&(n=n.slice(t,t+r),t=0),o=t,u=t+r;o<u;)r=(c=nP_.Math.min(o+1e4,u))-o,(s=n.slice(o,c)).splice(0,0,i,a?r:0),Array.prototype.splice.apply(e,s),o=c,i+=r}function naY(n){var t,e;for($C(),this.b=nCB,this.c=nCU,this.g=(v6(),nC_),this.d=(Ju(),nY7),this.a=n,nov(this),e=new fU(n.b);e.a<e.c.c.length;)(t=CY(RU(e),60)).a||SC(ql(new d3,Vw(DY(nCu,1),nl7,60,0,[t])),n),t.e=new $2(t.d)}function naZ(n){var t,e;if(!n.f)return n.n<n.o;for(;n.n<n.o;){if(jM(e=(t=CY(n.j?n.j.$i(n.n):n.k.Xb(n.n),76)).Lk(),102)&&(CY(e,19).Bb&nEI)!=0&&(!n.e||e.pk()!=nL1||0!=e.Lj())&&null!=t.md())return!0;++n.n}return!1}function na1(){na1=T,n3u=CY(GO($x((mS(),n3f).qb),6),35),n3a=CY(GO($x(n3f.qb),3),35),n3c=CY(GO($x(n3f.qb),4),35),n3o=CY(GO($x(n3f.qb),5),19),neV(n3u),neV(n3a),neV(n3c),neV(n3o),n3s=new pU(Vw(DY(n0V,1),njN,179,0,[n3u,n3a]))}function na0(n,t){var e;this.d=new gd,this.b=t,this.e=new TP(t.Lf()),e=n.u.Hc((nap(),nZ5)),n.u.Hc(nZ6)?n.F?this.a=e&&!t.bg():this.a=!0:n.u.Hc(nZ8)&&e?this.a=!(t.Uf().Kc().Ob()||t.Wf().Kc().Ob()):this.a=!1}function na2(n,t){var e,i,r,a;for(e=n.o.a,a=CY(CY(_G(n.r,t),21),87).Kc();a.Ob();)(r=CY(a.Pb(),117)).e.a=(i=r.b).pf((nl_(),nYm))?i.ag()==(nf5(),n1y)?-i.Mf().a-pj(PI(i.of(nYm))):e+pj(PI(i.of(nYm))):i.ag()==(nf5(),n1y)?-i.Mf().a:e}function na3(n,t){var e,i,r;e=CY(niK(n,(nlL(),nHt)),88),r=CY(ncx(t,nUc),64),(i=CY(niK(n,nUt),101))!=(nie(),nZ1)&&i!=nZ0?r==(nf5(),n1v)&&(r=ns3(t,e))==n1v&&(r=Ya(e)):r=nh5(t)>0?Ya(e):Jw(Ya(e)),nnh(t,nUc,r)}function na4(n,t){var e,i,r,a;n.Pj()?(e=n.Ej(),a=n.Qj(),++n.j,n.qj(e,n.Zi(e,t)),i=n.Ij(3,null,t,e,a),n.Mj()&&(r=n.Nj(t,null))?(r.nj(i),r.oj()):n.Jj(i)):(Nz(n,t),n.Mj()&&(r=n.Nj(t,null))&&r.oj())}function na6(n,t,e){var i,r,a;n.Pj()?(a=n.Qj(),QV(n,t,e),i=n.Ij(3,null,e,t,a),n.Mj()?(r=n.Nj(e,null),n.Tj()&&(r=n.Uj(e,r)),r?(r.nj(i),r.oj()):n.Jj(i)):n.Jj(i)):(QV(n,t,e),n.Mj()&&(r=n.Nj(e,null))&&r.oj())}function na5(n,t){var e,i,r,a,c;for(c=nox(n.e.Dh(),t),r=new oW,e=CY(n.g,124),a=n.i;--a>=0;)i=e[a],c.am(i.Lk())&&B7(r,i);!nlf(n,r)&&TN(n.e)&&dq(n,t.Jk()?$6(n,6,t,($O(),nO_),null,-1,!1):$6(n,t.tk()?2:1,t,null,null,-1,!1))}function na8(n){var t,e,i,r,a,c;for(Re(),e=new FF,i=new fU(n.e.b);i.a<i.c.c.length;)for(a=new fU(CY(RU(i),30).a);a.a<a.c.c.length;)r=CY(RU(a),10),(t=CY(UC(e,c=n.g[r.p]),15))||Zq(e,c,t=new du),t.Fc(r);return e}function na9(n){var t;return(64&n.Db)!=0?ncG(n):(t=new Sm(ncG(n)),t.a+=" (startX: ",mA(t,n.j),t.a+=", startY: ",mA(t,n.k),t.a+=", endX: ",mA(t,n.b),t.a+=", endY: ",mA(t,n.c),t.a+=", identifier: ",EW(t,n.d),t.a+=")",t.a)}function na7(n){var t,e,i;return(64&n.Db)!=0?QG(n):(t=new Sm(QG(n)),t.a+=" (ordered: ",mL(t,(256&n.Bb)!=0),t.a+=", unique: ",mL(t,(512&n.Bb)!=0),t.a+=", lowerBound: ",e=n.s,t.a+=e,t.a+=", upperBound: ",i=n.t,t.a+=i,t.a+=")",t.a)}function ncn(n,t,e,i,r,a,c,o){var u;return jM(n.Cb,90)&&nar(_v(CY(n.Cb,90)),4),XC(n,e),n.f=i,Jy(n,r),JM(n,a),Jv(n,c),Jk(n,!1),Q5(n,!0),JD(n,o),Q3(n,!0),G6(n,0),n.b=0,G5(n,1),(u=niM(n,t,null))&&u.oj(),Jx(n,!1),n}function nct(n,t,e){var i,r,a,c,o;for(i=0,o=e,t||(i=e*(n.c.length-1),o*=-1),a=new fU(n);a.a<a.c.c.length;){for(VD(r=CY(RU(a),10),(nlL(),nBR),(nnS(),nQ9)),r.o.a=i,c=nrs(r,(nf5(),n1n)).Kc();c.Ob();)CY(c.Pb(),12).n.a=i;i+=o}}function nce(n,t,e){var i,r,a;return(a=n.pl(e))==e?e:(r=n.g[t],jH(n,t,n.Zi(t,a)),n.Ri(t,a,r),n.al()&&(i=n.Oj(e,null),CY(a,54).Ph()||(i=n.Nj(a,i)),i&&i.oj()),TN(n.e)&&dq(n,n.Ij(9,e,a,t,!1)),a)}function nci(n,t){var e;if(0!=n.c.length){if(2==n.c.length)nhE((RN(0,n.c.length),CY(n.c[0],10)),(ntG(),nZC)),nhE((RN(1,n.c.length),CY(n.c[1],10)),nZI);else for(e=new fU(n);e.a<e.c.c.length;)nhE(CY(RU(e),10),t);n.c.length=0}}function ncr(n){var t,e,i,r,a;if(e=new O9(t=CY(mP(nLq),9),CY(Oc(t,t.length),9),0),a=CY(niK(n,(nlF(),nFi)),10))for(r=new fU(a.j);r.a<r.c.c.length;)ER(niK(i=CY(RU(r),12),nK6))===ER(n)&&SR(new _4(i.b))&&Xf(e,i.j);return e}function nca(n){var t;switch(t=0,n){case 105:t=2;break;case 109:t=8;break;case 115:t=4;break;case 120:t=16;break;case 117:t=32;break;case 119:t=64;break;case 70:t=256;break;case 72:t=128;break;case 88:t=512;break;case 44:t=nbB}return t}function ncc(n,t){0!=t.b&&(isNaN(n.s)?n.s=pj((Px(0!=t.b),PI(t.a.a.c))):n.s=nP_.Math.min(n.s,pj((Px(0!=t.b),PI(t.a.a.c)))),isNaN(n.c)?n.c=pj((Px(0!=t.b),PI(t.c.b.c))):n.c=nP_.Math.max(n.c,pj((Px(0!=t.b),PI(t.c.b.c)))))}function nco(n){var t,e,i;for(t=null,e=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(n.b||(n.b=new Ox(nL4,n,4,7)),n.b),(n.c||(n.c=new Ox(nL4,n,5,8)),n.c)])));ncv(e);)if(i=niw(CY(_I(e),84)),t){if(t!=DV(i))return!0}else t=DV(i);return!1}function ncu(n,t){var e,i,r,a;n.Pj()?(e=n.i,a=n.Qj(),_F(n,t),i=n.Ij(3,null,t,e,a),n.Mj()?(r=n.Nj(t,null),n.Tj()&&(r=n.Uj(t,r)),r?(r.nj(i),r.oj()):n.Jj(i)):n.Jj(i)):(_F(n,t),n.Mj()&&(r=n.Nj(t,null))&&r.oj())}function ncs(n){var t,e,i,r,a;return(a=n.Ph())&&a.Vh()&&(r=Qk(n,a))!=a?(e=n.Fh(),i=(t=n.Fh())>=0?n.Ah(null):n.Ph().Th(n,-1-t,null,null),n.Bh(CY(r,54),e),i&&i.oj(),n.vh()&&n.wh()&&e>-1&&zP(n,new LM(n,9,e,a,r)),r):a}function nch(n,t){var e,i,r,a,c;for(c=0,a=n.b.Ce(t),i=null==(e=n.a.get(a))?BJ(nPa,nl7,1,0,5,1):e;c<i.length;c++)if(r=i[c],n.b.Be(t,r.ld())){if(1==i.length){i.length=0;var o=n.a;o[nw5].call(o,a)}else i.splice(c,1);return--n.c,++n.b.g,r.md()}return null}function ncf(n){var t,e,i,r,a,c,o;for(e=0,a=0,r=n.f.e;e<r.c.length;++e)for(RN(e,r.c.length),c=CY(r.c[e],153),i=e+1;i<r.c.length;++i)RN(i,r.c.length),o=CY(r.c[i],153),t=Hr(c.d,o.d)-n.a[c.a][o.a],a+=n.i[c.a][o.a]*t*t;return a}function ncl(){ncl=T,nXH=new To(ny8,(SB(),!1)),nXU=new To(ny9,7),Qx(0),nXW=new To(ny7,Qx(0)),nXX=new To(nkn,Qx(-1)),WV(),nXQ=new To(nkt,nXJ=nzM),Wv(),nXG=new To(nke,nXq=nXf),RI(),nXz=new To(nki,nXV=nzj)}function ncb(){ni$.call(this,nE_,(mk(),n18)),this.p=null,this.a=null,this.f=null,this.n=null,this.g=null,this.c=null,this.i=null,this.j=null,this.d=null,this.b=null,this.e=null,this.k=null,this.o=null,this.s=null,this.q=!1,this.r=!1}function ncw(){ncw=T,n0M=new Ek(nmg,0),n0v=new Ek("INSIDE_SELF_LOOPS",1),n0y=new Ek("MULTI_EDGES",2),n0m=new Ek("EDGE_LABELS",3),n0k=new Ek("PORTS",4),n0g=new Ek("COMPOUND",5),n0d=new Ek("CLUSTERS",6),n0p=new Ek("DISCONNECTED",7)}function ncd(n,t,e){var i,r,a;n.Pj()?(a=n.Qj(),++n.j,n.qj(t,n.Zi(t,e)),i=n.Ij(3,null,e,t,a),n.Mj()&&(r=n.Nj(e,null))?(r.nj(i),r.oj()):n.Jj(i)):(++n.j,n.qj(t,n.Zi(t,e)),n.Mj()&&(r=n.Nj(e,null))&&r.oj())}function ncg(n,t){var e,i,r;if(0==t)return(1&n.a[0])!=0;if(t<0)throw new pO("Negative bit address").e;if((r=t>>5)>=n.d)return n.e<0;if(e=n.a[r],t=1<<(31&t),n.e<0){if(r<(i=zn(n)))return!1;e=i==r?-e:~e}return(e&t)!=0}function ncp(n,t){var e,i,r,a,c,o,u;if(a=t.e){for(c=0,e=ncs(a),i=CY(n.g,689);c<n.i;++c)if(nnX(u=i[c])==e&&(u.d||(u.d=new jU(n00,u,1)),r=u.d,(o=CY(e.Mh(nst(a,a.Cb,a.Db>>16)),15).dd(a))<r.i))return ncp(n,CY(GO(r,o),89))}return t}function ncm(n,t,e){var i,r=nPH,a=r[n],c=a instanceof Array?a[0]:null;a&&!c?nPB=a:((i=t&&t.prototype)||(i=nPH[t]),(nPB=function(n){function t(){}return t.prototype=n||{},new t}(i)).Sm=e,t||(nPB.Tm=E),r[n]=nPB);for(var o=3;o<arguments.length;++o)arguments[o].prototype=nPB;c&&(nPB.Rm=c)}function ncv(n){for(var t;!CY(NP(n.a),51).Ob();){if(n.d=function(n){for(;!n.d||!n.d.Ob();)if(!n.b||pq(n.b))return null;else n.d=CY(LG(n.b),51);return n.d}(n),!n.d)return!1;if(n.a=CY(n.d.Pb(),51),jM(n.a,38)){if(t=CY(n.a,38),n.a=t.a,n.b||(n.b=new j1),K3(n.b,n.d),t.b)for(;!pq(t.b);)K3(n.b,CY(function(n){var t;return Px(null!=(t=function(n){var t;return null==(t=n.a[n.c-1&n.a.length-1])?null:(n.c=n.c-1&n.a.length-1,NK(n.a,n.c,null),t)}(n))),t}(t.b),51));n.d=t.d}}return!0}function ncy(n){var t,e,i,r,a;if(a=nsN(n,r=new du),t=CY(niK(n,(nlF(),nFi)),10))for(i=new fU(t.j);i.a<i.c.c.length;)ER(niK(e=CY(RU(i),12),nK6))===ER(n)&&(a=nP_.Math.max(a,nsN(e,r)));return 0==r.c.length||VD(n,nK3,a),-1!=a?r:null}function nck(n,t,e){var i,r,a,c,o,u;r=(i=(a=CY(I0(t.e,0),18).c).i).k,o=(c=(u=CY(I0(e.g,0),18).d).i).k,r==(ni8(),n$m)?VD(n,(nlF(),nK1),CY(niK(i,nK1),12)):VD(n,(nlF(),nK1),a),o==n$m?VD(n,(nlF(),nK0),CY(niK(c,nK0),12)):VD(n,(nlF(),nK0),u)}function ncM(n){var t,e,i;this.c=n,i=CY(niK(n,(nlL(),nHt)),88),t=pj(PI(niK(n,nBF))),e=pj(PI(niK(n,nUH))),i==(Ju(),nY8)||i==nY9||i==nY7?this.b=t*e:this.b=1/(t*e),this.j=pj(PI(niK(n,nUI))),this.e=pj(PI(niK(n,nUC))),this.f=n.b.c.length}function ncE(n,t){var e,i,r,a,c;return t&=63,(i=((e=n.h)&nwI)!=0)&&(e|=-1048576),t<22?(c=e>>t,a=n.m>>t|e<<22-t,r=n.l>>t|n.m<<22-t):t<44?(c=i?nwC:0,a=e>>t-22,r=n.m>>t-22|e<<44-t):(c=i?nwC:0,a=i?nwO:0,r=e>>t-44),js(r&nwO,a&nwO,c&nwC)}function ncT(n){var t,e,i,r,a,c;for(this.c=new du,this.d=n,i=nwF,r=nwF,t=nw_,e=nw_,c=ZQ(n,0);c.b!=c.d.c;)a=CY(K0(c),8),i=nP_.Math.min(i,a.a),r=nP_.Math.min(r,a.b),t=nP_.Math.max(t,a.a),e=nP_.Math.max(e,a.b);this.a=new x4(i,r,t-i,e-r)}function ncj(n,t){var e,i,r,a;for(i=new fU(n.b);i.a<i.c.c.length;)for(a=new fU(CY(RU(i),30).a);a.a<a.c.c.length;)for((r=CY(RU(a),10)).k==(ni8(),n$p)&&nhE(r,t),e=new Le(Sb(JV(r).a.Kc(),new s));ncv(e);)Vu(CY(_I(e),18),t)}function ncS(n,t,e){switch(t){case 7:n.e||(n.e=new Ox(nL6,n,7,4)),nft(n.e),n.e||(n.e=new Ox(nL6,n,7,4)),Nu(n.e,CY(e,16));return;case 8:n.d||(n.d=new Ox(nL6,n,8,5)),nft(n.d),n.d||(n.d=new Ox(nL6,n,8,5)),Nu(n.d,CY(e,16));return}neF(n,t,e)}function ncP(n,t){var e,i,r,a,c;if(ER(t)===ER(n))return!0;if(!jM(t,15)||(c=CY(t,15),n.gc()!=c.gc()))return!1;for(a=c.Kc(),i=n.Kc();i.Ob();)if(e=i.Pb(),r=a.Pb(),!(ER(e)===ER(r)||null!=e&&QY(e,r)))return!1;return!0}function ncO(n){switch(n.g){case 0:return new hk;case 1:return new hv;case 2:return new hy;case 3:return new Ma;case 4:return new AF;default:throw new pN("No implementation is available for the node placer "+(null!=n.f?n.f:""+n.g)).e}}function ncC(n){switch(n.g){case 0:return new AK;case 1:return new ho;case 2:return new hc;case 3:return new hr;case 4:return new E0;default:throw new pN("No implementation is available for the cycle breaker "+(null!=n.f?n.f:""+n.g)).e}}function ncI(n){var t,e,i,r,a;if(r=CY(FB(DJ(RD(n)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),i=ngK,r.gc()>=2)for(t=PI((e=r.Kc()).Pb());e.Ob();)a=t,t=PI(e.Pb()),i=nP_.Math.min(i,(xf(t),t-(xf(a),a)));return i}function ncA(n,t,e){var i,r,a,c,o;if((r=n.f)||(r=CY(n.a.a.ec().Kc().Pb(),60)),neh(r,t,e),1!=n.a.a.gc())for(i=t*e,c=n.a.a.ec().Kc();c.Ob();)(a=CY(c.Pb(),60))!=r&&((o=K7(a)).f.d?(a.d.d+=i+nd5,a.d.a-=i+nd5):o.f.a&&(a.d.a-=i+nd5))}function ncL(n,t,e,i,r){var a,c,o,u,s,h,f;return c=(a=nP_.Math.atan2(e-n,i-t))+ngR,o=a-ngR,u=r*nP_.Math.sin(c)+n,h=r*nP_.Math.cos(c)+t,s=r*nP_.Math.sin(o)+n,f=r*nP_.Math.cos(o)+t,_q(Vw(DY(nLA,1),nby,8,0,[new MH(u,h),new MH(s,f)]))}function ncN(n,t){var e;if(t.Ug("Equal Whitespace Eliminator",1),Bz(n,(nuI(),nVX)))!function(n,t,e){var i,r,a,c;for(i=e/n.gc(),r=0,c=n.Kc();c.Ob();)W7(a=CY(c.Pb(),186),a.f+i*r),function(n,t,e){var i,r,a,c,o;for(r=(t-n.e)/n.d.c.length,a=0,o=new fU(n.d);o.a<o.c.c.length;)c=CY(RU(o),315),i=n.b-c.b+e,YQ(c,c.e+a*r,c.f),function(n,t,e){var i,r,a,c;for(c=0,i=e/n.a.c.length,a=new fU(n.a);a.a<a.c.c.length;)nnL(r=CY(RU(a),172),r.s,r.t+c*i),function(n,t,e){var i,r,a,c;for(c=n.r+t,n.r+=t,n.d+=e,i=e/n.n.c.length,r=0,a=new fU(n.n);a.a<a.c.c.length;)(function(n,t,e,i){var r,a,c,o,u,s,h,f;for(r=(t-n.d)/n.c.c.length,a=0,n.a+=e,n.d=t,f=new fU(n.c);f.a<f.c.c.length;)s=(h=CY(RU(f),27)).g,u=h.f,GZ(h,h.i+a*r),G1(h,h.j+i*e),GY(h,h.g+r),GJ(h,n.a),++a,o=h.g,c=h.f,nr6(h,new MH(o,c),new MH(s,u))})(CY(RU(a),209),c,i,r),++r}(r,n.d-r.r+t,i),++c}(c,r,i),++a}(a,t,i),++r}(CY(ncx(n,nVX),15),pj(PI(ncx(n,nVF))),(e=pj(PI(ncx(n,nVR))),pj(PI(ncx(n,(nuu(),nWM)))),e));else throw new pK("The graph does not contain rows.").e;t.Vg()}function ncx(n,t){var e,i;return(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),null!=(i=YH(n.o,t)))?i:(jM(e=t.Sg(),4)&&(null==e?(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),Zl(n.o,t)):(n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),nej(n.o,t,e))),e)}function nc$(){nc$=T,nZ$=new MZ("H_LEFT",0),nZx=new MZ("H_CENTER",1),nZR=new MZ("H_RIGHT",2),nZH=new MZ("V_TOP",3),nZB=new MZ("V_CENTER",4),nZ_=new MZ("V_BOTTOM",5),nZK=new MZ("INSIDE",6),nZF=new MZ("OUTSIDE",7),nZD=new MZ("H_PRIORITY",8)}function ncD(n,t){var e,i,r,a,c,o,u;return(c=(a=t.a).c.i==t.b?a.d:a.c,i=a.c.i==t.b?a.c:a.d,o=n.a,u=pj(o.p[c.i.p])+pj(o.d[c.i.p])+c.n.b+c.a.b,(r=pj(o.p[i.i.p])+pj(o.d[i.i.p])+i.n.b+i.a.b-u)>0&&r<ngK)?(e=function(n,t,e,i){var r,a,c,o,u,s,h;r=e,a=t;do a=n.a[a.p],h=n.g[a.p],o=pj(n.p[h.p])+pj(n.d[a.p])-a.d.d,(u=function(n,t){var e,i;return(e=n.c,(i=t.e[n.p])>0)?CY(I0(e.a,i-1),10):null}(a,i))&&(s=n.g[u.p],c=pj(n.p[s.p])+pj(n.d[u.p])+u.o.b+u.d.a,r=nP_.Math.min(r,o-(c+jh(n.k,a,u))));while(t!=a)return r}(n.a,i.i,r,n.c),GS(n.a,i.i,-e),e>0):r<0&&-r<ngK&&(e=function(n,t,e,i){var r,a,c,o,u,s,h;r=e,a=t;do a=n.a[a.p],h=n.g[a.p],c=pj(n.p[h.p])+pj(n.d[a.p])+a.o.b+a.d.a,(u=function(n,t){var e,i;return(e=n.c,(i=t.e[n.p])<e.a.c.length-1)?CY(I0(e.a,i+1),10):null}(a,i))&&(s=n.g[u.p],o=pj(n.p[s.p])+pj(n.d[u.p])-u.d.d,r=nP_.Math.min(r,o-(c+jh(n.k,a,u))));while(t!=a)return r}(n.a,i.i,-r,n.c),GS(n.a,i.i,e),e>0)}function ncR(n){var t,e,i,r,a,c,o;for(i=nwF,e=nw_,t=new fU(n.e.b);t.a<t.c.c.length;)for(a=new fU(CY(RU(t),30).a);a.a<a.c.c.length;)r=CY(RU(a),10),c=(o=pj(n.p[r.p]))+pj(n.b[n.g[r.p].p]),i=nP_.Math.min(i,o),e=nP_.Math.max(e,c);return e-i}function ncK(n,t,e,i){var r,a,c,o,u,s;for(o=0,u=null,s=(r=nsr(n,t)).gc();o<s;++o)if(OB(i,xK(Ua(n,a=CY(r.Xb(o),179)))))if(c=xF(Ua(n,a)),null==e)if(null==c)return a;else u||(u=a);else{if(OB(e,c))return a;null!=c||u||(u=a)}return null}function ncF(n,t,e,i){var r,a,c,o,u,s;for(o=0,u=null,s=(r=nsa(n,t)).gc();o<s;++o)if(OB(i,xK(Ua(n,a=CY(r.Xb(o),179)))))if(c=xF(Ua(n,a)),null==e)if(null==c)return a;else u||(u=a);else{if(OB(e,c))return a;null!=c||u||(u=a)}return null}function nc_(n){var t,e,i,r,a,c,o;if(n&&(t=n.qi(njz))&&null!=(c=PA(YH((t.b||(t.b=new Pd((nlq(),n2S),n07,t)),t.b),"conversionDelegates")))){for(o=new du,i=ns7(c,"\\w+"),r=0,a=i.length;r<a;++r)e=i[r],dk(o.c,e);return o}return $O(),$O(),nO_}function ncB(n,t){var e,i,r,a,c,o;for(a=(1==t?nx3:nx2).a.ec().Kc();a.Ob();)for(r=CY(a.Pb(),88),o=CY(_G(n.f.c,r),21).Kc();o.Ob();)switch(c=CY(o.Pb(),42),i=CY(c.b,86),e=CY(c.a,194).c,r.g){case 2:case 1:i.g.d+=e;break;case 4:case 3:i.g.c+=e}}function ncH(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(a=t.Kc();a.Ob();)h=(r=CY(a.Pb(),27)).i+r.g/2,l=r.j+r.f/2,c=(u=n.f).i+u.g/2,o=u.j+u.f/2,s=h-c,f=l-o,i=nP_.Math.sqrt(s*s+f*f),s*=n.e/i,f*=n.e/i,e?(h-=s,l-=f):(h+=s,l+=f),GZ(r,h-r.g/2),G1(r,l-r.f/2)}function ncU(n){var t,e,i;if(!n.c&&null!=n.b){for(t=n.b.length-4;t>=0;t-=2)for(e=0;e<=t;e+=2)(n.b[e]>n.b[e+2]||n.b[e]===n.b[e+2]&&n.b[e+1]>n.b[e+3])&&(i=n.b[e+2],n.b[e+2]=n.b[e],n.b[e]=i,i=n.b[e+3],n.b[e+3]=n.b[e+1],n.b[e+1]=i);n.c=!0}}function ncG(n){var t;return t=new Sv(mI(n.Rm)),t.a+="@",EY(t,(XS(n)>>>0).toString(16)),n.Vh()?(t.a+=" (eProxyURI: ",EJ(t,n._h()),n.Kh()&&(t.a+=" eClass: ",EJ(t,n.Kh())),t.a+=")"):n.Kh()&&(t.a+=" (eClass: ",EJ(t,n.Kh()),t.a+=")"),t.a}function ncq(n){var t,e,i;if(n.e)throw new px((PL(nCs),ndS+nCs.k+ndP)).e;for(n.d==(Ju(),nY7)&&nfX(n,nY8),e=new fU(n.a.a);e.a<e.c.c.length;)(t=CY(RU(e),316)).g=t.i;for(i=new fU(n.a.b);i.a<i.c.c.length;)CY(RU(i),60).i=nw_;return n.b.cf(n),n}function ncX(n,t,e,i){var r,a,c,o,u;if(null!=i){if(r=n.d[t]){for(o=0,a=r.g,u=r.i;o<u;++o)if((c=CY(a[o],136)).Bi()==e&&QY(i,c.ld()))return o}}else if(r=n.d[t]){for(o=0,a=r.g,u=r.i;o<u;++o)if(ER((c=CY(a[o],136)).ld())===ER(i))return o}return -1}function ncz(n,t){var e,i;return jM(e=null==t?ED(Aj(n.f,null)):yD(n.i,t),241)?((i=CY(e,241)).zi(),i):jM(e,507)?((i=CY(e,2037).a)&&(null==i.yb||(null==t?nr3(n.f,null,i):JI(n.i,t,i))),i):null}function ncV(n,t,e){var i,r,a;for(i=1;i<n.c.length;i++){for(RN(i,n.c.length),a=CY(n.c[i],10),r=i;r>0&&t.Ne((RN(r-1,n.c.length),CY(n.c[r-1],10)),a)>0;)_o(n,r,(RN(r-1,n.c.length),CY(n.c[r-1],10))),--r;RN(r,n.c.length),n.c[r]=a}e.a=new dc,e.b=new dc}function ncW(n,t,e){var i;if((n.c-n.b&n.a.length-1)==2)t==(nf5(),n1t)||t==n1n?(Gu(CY(VJ(n),15),(ntG(),nZC)),Gu(CY(VJ(n),15),nZI)):(Gu(CY(VJ(n),15),(ntG(),nZI)),Gu(CY(VJ(n),15),nZC));else for(i=new xU(n);i.a!=i.b;)Gu(CY(Qd(i),15),e)}function ncQ(n,t,e){var i,r,a,c;RY(n,t)>RY(n,e)?(n.d=(i=JH(e,(nf5(),n1n))).dc()?0:I$(CY(i.Xb(0),12)),n.b=(c=JH(t,n1y)).dc()?0:I$(CY(c.Xb(0),12))):(n.d=(r=JH(e,(nf5(),n1y))).dc()?0:I$(CY(r.Xb(0),12)),n.b=(a=JH(t,n1n)).dc()?0:I$(CY(a.Xb(0),12)))}function ncJ(n,t){var e,i,r,a;for(e=n.o.a,a=CY(CY(_G(n.r,t),21),87).Kc();a.Ob();)(r=CY(a.Pb(),117)).e.a=e*pj(PI(r.b.of(nIF))),r.e.b=(i=r.b).pf((nl_(),nYm))?i.ag()==(nf5(),n1t)?-i.Mf().b-pj(PI(i.of(nYm))):pj(PI(i.of(nYm))):i.ag()==(nf5(),n1t)?-i.Mf().b:0}function ncY(n,t,e){var i,r,a,c,o,u;for(q5(r=new o2,(xf(t),t)),r.b||(r.b=new Pd((nlq(),n2S),n07,r)),o=r.b,c=1;c<e.length;c+=2)nej(o,e[c-1],e[c]);for(n.Ab||(n.Ab=new Lk(n0X,n,0,3)),i=n.Ab,a=0;a<0;++a)(u=CY(GO(i,i.i-1),598)).a||(u.a=new jU(nLZ,u,4)),i=u.a;B7(i,r)}function ncZ(n,t,e){var i,r,a,c,o;for(P7.call(this,new du),this.a=t,this.b=e,this.e=n,n.b&&nhN(n),i=n.a,this.d=x1(i.a,this.a),this.c=x1(i.b,this.b),c=this.d,this.n=I3(n4f,[nby,nwH],[376,28],14,[o=this.c,Dy(nP_.Math.ceil(c/32))],2),this.o=c,this.p=o,this.j=c-1>>1,this.k=o-1>>1,!function(n){var t,e,i,r,a,c,o;for(o=0,e=TY(n.e),a=j_(Pf(jv(TJ(n.e)),n.d*n.a,n.c*n.b),-.5),t=e.a-a.a,r=e.b-a.b;o<n.c;o++){for(c=0,i=t;c<n.d;c++)(function(n,t){var e,i;for(i=n.e.a.ec().Kc();i.Ob();)if(function(n,t){var e,i,r,a;if(nue(),t.b<2)return!1;for(i=e=CY(K0(a=ZQ(t,0)),8);a.b!=a.d.c;){if(now(n,i,r=CY(K0(a),8)))return!0;i=r}return!!now(n,i,e)}(t,(e=CY(i.Pb(),272)).d)||function(n,t){var e,i,r,a;if(nue(),t.b<2)return!1;for(i=e=CY(K0(a=ZQ(t,0)),8);a.b!=a.d.c;){if(r=CY(K0(a),8),!(za(n,i)&&za(n,r)))return!1;i=r}return!!(za(n,i)&&za(n,e))}(t,e.d))return!0;return!1})(n.e,new x4(i,r,n.a,n.b))&&nuU(n,c,o,!1,!0),i+=n.a;r+=n.b}}(this),a=this.e.e.a.ec().Kc();a.Ob();)(r=CY(a.Pb(),272)).c.c.length>0&&function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(s=t.c,r=TY(n.e),f=j_(Pf(jv(TJ(n.e)),n.d*n.a,n.c*n.b),-.5),e=r.a-f.a,i=r.b-f.b,e=(c=t.a).c-e,i=c.d-i,u=new fU(s);u.a<u.c.c.length;){switch(b=e+(l=(o=CY(RU(u),407)).b).a,g=i+l.b,w=Dy(b/n.a),p=Dy(g/n.b),(a=o.a).g){case 0:nno(),h=nIX;break;case 1:nno(),h=nIq;break;case 2:nno(),h=nIz;break;default:nno(),h=nIV}a.a?(m=Dy((g+o.c)/n.b),jB(n.f,new Cl(h,Qx(p),Qx(m))),a==(nnc(),nNk)?VA(n,0,p,w,m):VA(n,w,p,n.d-1,m)):(d=Dy((b+o.c)/n.a),jB(n.f,new Cl(h,Qx(w),Qx(d))),a==(nnc(),nNv)?VA(n,w,0,d,p):VA(n,w,p,d,n.c-1))}}(this,r)}function nc1(n,t,e){var i,r,a;for(a=new fU(n.t);a.a<a.c.c.length;)(i=CY(RU(a),274)).b.s<0&&i.c>0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&IA(t,i.b));for(r=new fU(n.i);r.a<r.c.c.length;)(i=CY(RU(r),274)).a.s<0&&i.c>0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&IA(e,i.a))}function nc0(n){var t,e,i;if(null==n.g&&(n.d=n.bj(n.f),B7(n,n.d),n.c))return n.f;if(i=(t=CY(n.g[n.i-1],51)).Pb(),n.e=t,(e=n.bj(i)).Ob())n.d=e,B7(n,e);else for(n.d=null;!t.Ob()&&(NK(n.g,--n.i,null),0!=n.i);)t=CY(n.g[n.i-1],51);return i}function nc2(n){var t,e,i,r,a,c;for(t=0,e=new fU(n.a);e.a<e.c.c.length;)for(r=new Le(Sb(JV(CY(RU(e),10)).a.Kc(),new s));ncv(r);)n==(i=CY(_I(r),18)).d.i.c&&i.c.j==(nf5(),n1y)&&(a=RO(i.c).b,c=RO(i.d).b,t=nP_.Math.max(t,nP_.Math.abs(c-a)));return t}function nc3(n,t,e){var i,r,a,c,o,u,s;switch(e.Ug("ELK Force",1),pT(PC(ncx(t,(nsK(),nxt))))||Dv(new lh((yv(),new py(t)))),(u=CY(niK(o=c=VR(t),(nsK(),nxo)),17))?0==(s=u.a)?VD(o,(Xo(),nxM),new Yl):VD(o,(Xo(),nxM),new FG(s)):VD(o,(Xo(),nxM),new FG(1)),CY(niK(c,nN5),432).g){case 0:jM(n.b,641)||(n.b=new zk);break;case 1:jM(n.b,642)||(n.b=new Im)}for(r=(a=nhi(n.a,c)).Kc();r.Ob();)i=CY(r.Pb(),235),function(n,t,e){var i,r,a,c,o,u,s,h;for(e.Ug(ngX,1),n.vf(t),a=0;n.xf(a)&&!e.$g();){for(n.wf(),h=LF(qb(Vw(DY(nPs,1),nl7,20,0,[t.e,t.d,t.b])));ncv(h);)for(u=CY(_I(h),309),o=LF(qb(Vw(DY(nPs,1),nl7,20,0,[t.e,t.d,t.b])));ncv(o);)(c=CY(_I(o),309))!=u&&(r=n.uf(c,u))&&OT(u.c,r);for(s=LF(qb(Vw(DY(nPs,1),nl7,20,0,[t.e,t.d,t.b])));ncv(s);)nrp(i=(u=CY(_I(s),309)).c,-n.d,-n.d,n.d,n.d),OT(u.d,i),i.a=0,i.b=0;++a}e.Vg()}(n.b,i,e.eh(1/a.gc()));nlp(c=nlr(a)),e.Vg()}function nc4(n,t,e){switch(e.g){case 1:return new MH(t.a,nP_.Math.min(n.d.b,t.b));case 2:return new MH(nP_.Math.max(n.c.a,t.a),t.b);case 3:return new MH(t.a,nP_.Math.max(n.c.b,t.b));case 4:return new MH(nP_.Math.min(t.a,n.d.a),t.b)}return new MH(t.a,t.b)}function nc6(n){var t,e,i;for(jB(t=SY(1+(!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c).i),(n.d||(n.d=new Ox(nL6,n,8,5)),n.d)),i=new j2((!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c));i.e!=i.i.gc();)jB(t,((e=CY(Z6(i),123)).d||(e.d=new Ox(nL6,e,8,5)),e.d));return NP(t),new TO(t)}function nc5(n){var t,e,i;for(jB(t=SY(1+(!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c).i),(n.e||(n.e=new Ox(nL6,n,7,4)),n.e)),i=new j2((!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c));i.e!=i.i.gc();)jB(t,((e=CY(Z6(i),123)).e||(e.e=new Ox(nL6,e,7,4)),e.e));return NP(t),new TO(t)}function nc8(n,t){var e,i,r,a;return(r=n.a*nw7+1502*n.b,a=n.b*nw7+11,r+=e=nP_.Math.floor(a*ndn),a-=e*ndt,n.a=r%=ndt,n.b=a,t<=24)?nP_.Math.floor(n.a*nO0[t]):((i=n.a*(1<<t-24)+nP_.Math.floor(n.b*nO2[t]))>=0x80000000&&(i-=0x100000000),i)}function nc9(n,t,e){var i,r,a,c,o,u,s;for(a=new du,function(n,t,e,i){var r,a,c,o,u,s,h;for(o=-1,h=new fU(n);h.a<h.c.c.length;)(s=CY(RU(h),118)).g=o--,r=AW(KD(xW(xX(new Aa(null,new R$(s.f,16)),new al),new ab)).d),a=AW(KD(xW(xX(new Aa(null,new R$(s.k,16)),new aw),new ad)).d),c=r,u=a,i||(c=AW(KD(xW(new Aa(null,new R$(s.f,16)),new ag)).d),u=AW(KD(xW(new Aa(null,new R$(s.k,16)),new ah)).d)),s.d=c,s.a=r,s.i=u,s.b=a,0==u?F_(e,s,e.c.b,e.c):0==c&&F_(t,s,t.c.b,t.c)}(n,s=new vq,c=new vq,t),function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(v=CQ(n),u=new du,s=(a=n.c.length)-1,h=a+1;0!=v.a.gc();){for(;0!=e.b;)Px(0!=e.b),p=CY(Gy(e,e.a.a),118),v.a.Bc(p),p.g=s--,ns5(p,t,e,i);for(;0!=t.b;)Px(0!=t.b),m=CY(Gy(t,t.a.a),118),v.a.Bc(m),m.g=h++,ns5(m,t,e,i);for(o=nbJ,d=v.a.ec().Kc();d.Ob();){if(w=CY(d.Pb(),118),!i&&w.b>0&&w.a<=0){u.c.length=0,dk(u.c,w);break}(b=w.i-w.d)>=o&&(b>o&&(u.c.length=0,o=b),dk(u.c,w))}0!=u.c.length&&(c=CY(I0(u,nnC(r,u.c.length)),118),v.a.Bc(c),c.g=h++,ns5(c,t,e,i),u.c.length=0)}for(g=n.c.length+1,l=new fU(n);l.a<l.c.c.length;)(f=CY(RU(l),118)).g<a&&(f.g=f.g+g)}(n,s,c,t,e),u=new fU(n);u.a<u.c.c.length;)for(r=new fU((o=CY(RU(u),118)).k);r.a<r.c.c.length;)i=CY(RU(r),132),(!t||i.c==(Bw(),nqz))&&o.g>i.b.g&&dk(a.c,i);return a}function nc7(n,t,e){var i,r,a;if(a=nff((nrR(),n28),n.Dh(),t)){if(yP(),!CY(a,69).xk()&&!(a=Rz(Ua(n28,a))))throw new pN(nET+t.xe()+nEj).e;r=CY((i=n.Ih(a))>=0?n.Lh(i,!0,!0):naB(n,a,!0),160),CY(r,220).Xl(t,e)}else throw new pN(nET+t.xe()+nEj).e}function non(n,t){var e,i,r,a;if(!t)return null;for(a=!(r=jM(n.Cb,90)||jM(n.Cb,102))&&jM(n.Cb,331),e=new j2((!t.a&&(t.a=new Ap(t,n00,t)),t.a));e.e!=e.i.gc();)if(i=nsW(CY(Z6(e),89)),r?jM(i,90):a?jM(i,156):!!i)return i;return r?(nlq(),n2y):(nlq(),n2p)}function not(n){var t,e,i,r;if(!n.j){if(r=new o7,null==(t=n2L).a.zc(n,t)){for(i=new j2($7(n));i.e!=i.i.gc();)Nu(r,not(e=CY(Z6(i),29))),B7(r,e);t.a.Bc(n)}WG(r),n.j=new Tu((CY(GO($x((NN(),n2c).o),11),19),r.i),r.g),_v(n).b&=-33}return n.j}function noe(n,t){var e,i,r,a,c;for(r=t.a&n.f,a=null,i=n.b[r];;i=i.b){if(i==t){a?a.b=t.b:n.b[r]=t.b;break}a=i}for(c=t.f&n.f,a=null,e=n.c[c];;e=e.d){if(e==t){a?a.d=t.d:n.c[c]=t.d;break}a=e}t.e?t.e.c=t.c:n.a=t.c,t.c?t.c.e=t.e:n.e=t.e,--n.i,++n.g}function noi(n,t){var e,i,r,a;for(Px((a=new Kp(n,0)).b<a.d.gc()),e=CY(a.d.Xb(a.c=a.b++),148);a.b<a.d.gc();)Px(a.b<a.d.gc()),r=new C4((i=CY(a.d.Xb(a.c=a.b++),148)).c,e.d,t),Px(a.b>0),a.a.Xb(a.c=--a.b),Oe(a,r),Px(a.b<a.d.gc()),a.d.Xb(a.c=a.b++),r.a=!1,e=i}function nor(n){var t,e,i,r,a;for(i=CY(niK(n,(nlF(),nKO)),12),a=new fU(n.j);a.a<a.c.c.length;){for(e=new fU((r=CY(RU(a),12)).g);e.a<e.c.c.length;)return Ru(CY(RU(e),18),i),r;for(t=new fU(r.e);t.a<t.c.c.length;)return Ra(CY(RU(t),18),i),r}return null}function noa(n,t,e){var i,r,a,c,o;for(o=CY(Pi(n.a,t),17).a,e?ne9(n.a,Qx(o+1),t):ne9(n.a,Qx(o-1),t),c=new TE,r=new Le(Sb((e?JV(t):Jz(t)).a.Kc(),new s));ncv(r);)i=CY(_I(r),18),a=e?i.d.i:i.c.i,ER(Pi(n.a,a))===ER(Pi(n.a,t))&&c.a.zc(a,c);return c}function noc(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=6&&t){if(nen(n,t))throw new pN(nEx+na9(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt3(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnu(t,n,6,i)),(i=nsP(n,t,6,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,6,t,t))}function noo(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=3&&t){if(nen(n,t))throw new pN(nEx+nhG(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nee(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnu(t,n,12,i)),(i=nsP(n,t,3,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,3,t,t))}function nou(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=9&&t){if(nen(n,t))throw new pN(nEx+nuq(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt6(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnu(t,n,9,i)),(i=nsP(n,t,9,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,9,t,t))}function nos(n){var t,e,i,r,a;if(i=nec(n),null==(a=n.j)&&i)return n.Jk()?null:i.ik();if(jM(i,156)){if((e=i.jk())&&(r=e.wi())!=n.i){if((t=CY(i,156)).nk())try{n.g=r.ti(t,a)}catch(t){if(jM(t=Vt(t),82))n.g=null;else throw t.e}n.i=r}return n.g}return null}function noh(n){var t;return jB(t=new du,new yz(new MH(n.c,n.d),new MH(n.c+n.b,n.d))),jB(t,new yz(new MH(n.c,n.d),new MH(n.c,n.d+n.a))),jB(t,new yz(new MH(n.c+n.b,n.d+n.a),new MH(n.c+n.b,n.d))),jB(t,new yz(new MH(n.c+n.b,n.d+n.a),new MH(n.c,n.d+n.a))),t}function nof(n,t){var e,i,r,a,c,o;for(r=0,c=new fU(t.a);c.a<c.c.c.length;)for(r+=(a=CY(RU(c),10)).o.b+a.d.a+a.d.d+n.e,i=new Le(Sb(Jz(a).a.Kc(),new s));ncv(i);)(e=CY(_I(i),18)).c.i.k==(ni8(),n$y)&&(r+=(o=CY(niK(e.c.i,(nlF(),nK6)),10)).o.b+o.d.a+o.d.d);return r}function nol(){nol=T,nW_=new MI("CANDIDATE_POSITION_LAST_PLACED_RIGHT",0),nWF=new MI("CANDIDATE_POSITION_LAST_PLACED_BELOW",1),nWH=new MI("CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT",2),nWB=new MI("CANDIDATE_POSITION_WHOLE_DRAWING_BELOW",3),nWU=new MI("WHOLE_DRAWING",4)}function nob(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=11&&t){if(nen(n,t))throw new pN(nEx+nuG(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nei(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=nnu(t,n,10,i)),(i=nsP(n,t,11,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,11,t,t))}function now(n,t,e){return nue(),!(za(n,t)&&za(n,e))&&(nfq(new MH(n.c,n.d),new MH(n.c+n.b,n.d),t,e)||nfq(new MH(n.c+n.b,n.d),new MH(n.c+n.b,n.d+n.a),t,e)||nfq(new MH(n.c+n.b,n.d+n.a),new MH(n.c,n.d+n.a),t,e)||nfq(new MH(n.c,n.d+n.a),new MH(n.c,n.d),t,e))}function nod(n,t){var e,i,r,a;if(!n.dc()){for(e=0,i=n.gc();e<i;++e)if(null==(a=PA(n.Xb(e)))?null==t:OB(a.substr(0,3),"!##")?null!=t&&(r=t.length,!OB(a.substr(a.length-r,r),t)||a.length!=t.length+3)&&!OB(nSb,t):OB(a,nSw)&&!OB(nSb,t)||OB(a,t))return!0}return!1}function nog(n,t){var e,i,r,a,c,o;for(e=CY(niK(t,(nlF(),nKR)),21),c=CY(_G((nlT(),n$c),e),21),o=CY(_G(n$l,e),21),a=c.Kc();a.Ob();)if(i=CY(a.Pb(),21),!CY(_G(n.b,i),15).dc())return!1;for(r=o.Kc();r.Ob();)if(i=CY(r.Pb(),21),!CY(_G(n.b,i),15).dc())return!1;return!0}function nop(n,t){var e,i,r,a,c,o,u;if(1==n.a.c.length)return nrf(CY(I0(n.a,0),172),t);for(r=function(n){var t,e,i;for(i=0,e=new fU(n.a);e.a<e.c.c.length;)t=CY(RU(e),172),i=nP_.Math.max(i,t.g);return i}(n),c=0,o=n.d,i=r,u=n.d,a=(o-i)/2+i;i+1<o;){for(c=0,e=new fU(n.a);e.a<e.c.c.length;)c+=nhL(CY(RU(e),172),a,!1).a;c<t?(u=a,o=a):i=a,a=(o-i)/2+i}return u}function nom(n,t){var e,i,r,a,c;if(!t)return n;if(jM(t,342))for(r=CY(t,342),n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),a=n.o,i=r.gh().c.Kc();i.e!=i.i.gc();)c=(e=CY(i.Yj(),44)).md(),nej(a,CY(e.ld(),149),c);else n.o||(n.o=new Hs((nly(),n0o),nNc,n,0)),Xt(n.o,t.nf());return n}function nov(n){var t,e,i,r,a;for(e=new fU(n.a.a);e.a<e.c.c.length;){for((t=CY(RU(e),316)).j=null,a=t.a.a.ec().Kc();a.Ob();)Ta((i=CY(a.Pb(),60)).b),(!t.j||i.d.c<t.j.d.c)&&(t.j=i);for(r=t.a.a.ec().Kc();r.Ob();)(i=CY(r.Pb(),60)).b.a=i.d.c-t.j.d.c,i.b.b=i.d.d-t.j.d.d}return n}function noy(n){var t,e,i,r,a;for(e=new fU(n.a.a);e.a<e.c.c.length;){for((t=CY(RU(e),194)).f=null,a=t.a.a.ec().Kc();a.Ob();)Ta((i=CY(a.Pb(),86)).e),(!t.f||i.g.c<t.f.g.c)&&(t.f=i);for(r=t.a.a.ec().Kc();r.Ob();)(i=CY(r.Pb(),86)).e.a=i.g.c-t.f.g.c,i.e.b=i.g.d-t.f.g.d}return n}function nok(){return nlB(),Vw(DY(nAh,1),nbG,81,0,[n$G,n$B,n$q,n$8,nDg,nDt,nDM,nDc,nDw,n$2,nDh,nDa,nDd,n$Y,nDT,n$$,nDs,nDm,n$9,nDp,nDS,nDl,n$D,nDb,nDP,nDy,nDj,n$7,n$W,nDn,n$5,nDE,n$F,n$z,nDi,n$K,nDr,n$4,n$Z,nDo,n$0,n$H,n$_,n$6,n$1,nDu,nDk,n$R,nDf,n$3,nDe,n$Q,n$V,nDv,n$X,n$J,n$U])}function noM(n){var t;if(gV.call(this),this.i=new c2,this.g=n,this.f=CY(n.e&&n.e(),9).length,0==this.f)throw new pN("There must be at least one phase in the phase enumeration.").e;this.c=new O9(t=CY(mP(this.g),9),CY(Oc(t,t.length),9),0),this.a=new xm,this.b=new dc}function noE(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=7&&t){if(nen(n,t))throw new pN(nEx+nrM(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt4(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=CY(t,54).Rh(n,1,nL2,i)),(i=Az(n,t,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,7,t,t))}function noT(n,t){var e,i;if(t!=n.Cb||n.Db>>16!=3&&t){if(nen(n,t))throw new pN(nEx+Q0(n)).e;i=null,n.Cb&&(i=(e=n.Db>>16)>=0?nt9(n,i):n.Cb.Th(n,-1-e,null,i)),t&&(i=CY(t,54).Rh(n,0,nL8,i)),(i=AV(n,t,i))&&i.oj()}else(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,3,t,t))}function noj(){noj=T,nU9=new kU(nyI,0),nU6=new kU("LONGEST_PATH",1),nU5=new kU("LONGEST_PATH_SOURCE",2),nU2=new kU("COFFMAN_GRAHAM",3),nU4=new kU(nml,4),nU7=new kU("STRETCH_WIDTH",5),nU8=new kU("MIN_WIDTH",6),nU0=new kU("BF_MODEL_ORDER",7),nU3=new kU("DF_MODEL_ORDER",8)}function noS(n,t){var e,i,r,a,c;if((null==n.i&&nhr(n),n.i).length,!n.p){for(c=new vH((3*n.g.i/2|0)+1),r=new SQ(n.g);r.e!=r.i.gc();)a=(i=CY(Z5(r),179)).xe(),(e=CY(null==a?nr3(c.f,null,i):JI(c.i,a,i),179))&&(null==a?nr3(c.f,null,e):JI(c.i,a,e));n.p=c}return CY(Db(n.p,t),179)}function noP(n,t,e,i){var r,a,c,o;for(c=(o=t.e).length,a=t.q.ug(o,e?0:c-1,e)|nuL(n,o[e?0:c-1],e,i),r=e?1:c-2;e?r<c:r>=0;r+=e?1:-1)a|=t.c.lg(o,r,e,i&&!pT(PC(niK(t.j,(nlF(),nKH))))&&!pT(PC(niK(t.j,(nlF(),nFs))))),a|=t.q.ug(o,r,e),a|=nuL(n,o[r],e,i);return LX(n.c,t),a}function noO(n,t,e){var i,r,a,c,o,u,s,h;for(u=KB(n.j),s=0,h=u.length;s<h;++s){if(o=u[s],e==(qy(),nG$)||e==nGR)for(a=0,c=(r=Ky(o.g)).length;a<c;++a)(function(n,t){var e;return!pT(PC(niK(t,(nlF(),nFu))))&&(e=t.d.i,(n!=(Yb(),nFk)||e.k!=(ni8(),n$p))&&CY(niK(e,(nlL(),nHI)),171)!=nFM)})(t,i=r[a])&&nhf(i,!0);if(e==nGD||e==nGR)for(a=0,c=(r=Ky(o.e)).length;a<c;++a)(function(n,t){var e;return!pT(PC(niK(t,(nlF(),nFu))))&&(e=t.c.i,(n!=(Yb(),nFv)||e.k!=(ni8(),n$p))&&CY(niK(e,(nlL(),nHI)),171)!=nFy)})(t,i=r[a])&&nhf(i,!0)}}function noC(n){var t,e,i,r,a,c;for(r=new fU(n.a.a);r.a<r.c.c.length;)(e=CY(RU(r),194)).e=0,e.d.a.$b();for(i=new fU(n.a.a);i.a<i.c.c.length;)for(t=(e=CY(RU(i),194)).a.a.ec().Kc();t.Ob();)for(c=CY(t.Pb(),86).f.Kc();c.Ob();)(a=CY(c.Pb(),86)).d!=e&&(LX(e.d,a),++a.d.e)}function noI(n){if(!n.a.d||!n.a.e)throw new px((PL(nCw),nCw.k+" must have a source and target "+(PL(nCd),nCd.k)+" specified.")).e;if(n.a.d==n.a.e)throw new px("Network simplex does not support self-loops: "+n.a+" "+n.a.d+" "+n.a.e).e;return SN(n.a.d.g,n.a),SN(n.a.e.b,n.a),n.a}function noA(n,t,e){var i,r,a,c,o,u;if(i=0,0!=t.b&&0!=e.b){a=ZQ(t,0),c=ZQ(e,0),o=pj(PI(K0(a))),u=pj(PI(K0(c))),r=!0;do{if(o>u-n.b&&o<u+n.b)return -1;o>u-n.a&&o<u+n.a&&++i,o<=u&&a.b!=a.d.c?o=pj(PI(K0(a))):u<=o&&c.b!=c.d.c?u=pj(PI(K0(c))):r=!1}while(r)}return i}function noL(n,t){var e,i;return xR(n.a),L2(n.a,(Xc(),nzL),nzL),L2(n.a,nzN,nzN),IG(e=new xm,nzN,(nic(),nzK)),ER(ncx(t,(nrh(),nVe)))!==ER((WW(),nzG))&&IG(e,nzN,nz$),pT(PC(ncx(t,nVb)))&&IG(e,nzN,nzF),IG(e,nzN,nzD),pT(PC(ncx(t,nVd)))&&AX(e,nzN,nzR),i=n.a,zT(i.a,e),nfu(n.a,t)}function noN(n){var t,e;return t=new p0,(256&n)!=0&&(t.a+="F"),(128&n)!=0&&(t.a+="H"),(512&n)!=0&&(t.a+="X"),(2&n)!=0&&(t.a+="i"),(8&n)!=0&&(t.a+="m"),(4&n)!=0&&(t.a+="s"),(32&n)!=0&&(t.a+="u"),(64&n)!=0&&(t.a+="w"),(16&n)!=0&&(t.a+="x"),(n&nbB)!=0&&(t.a+=","),xf(e=t.a),e}function nox(n,t){var e,i,r,a;return(yP(),t)?t==(nfl(),n3N)||(t==n3d||t==n3b||t==n3w)&&n!=n3l?new nfZ(n,t):((e=(i=CY(t,692)).$k())||(xK(Ua((nrR(),n28),t)),e=i.$k()),e.i||(e.i=new dc),(r=CY(ED(Aj((a=e.i).f,n)),2041))||xM(a,n,r=new nfZ(n,t)),r):n3i}function no$(){no$=T,nqq=new af,nqB=IG(new xm,(niF(),nxQ),(nlB(),n$9)),nqG=AX(IG(new xm,nxQ,nDl),nxY,nDf),nqX=Zg(Zg(yg(AX(IG(new xm,nxV,nDM),nxY,nDk),nxJ),nDy),nDE),nqH=AX(IG(IG(IG(new xm,nxW,nDt),nxJ,nDi),nxJ,nDr),nxY,nDe),nqU=AX(IG(IG(new xm,nxJ,nDr),nxJ,n$z),nxY,n$X)}function noD(){noD=T,nqQ=IG(AX(new xm,(niF(),nxY),(nlB(),n$Q)),nxQ,n$9),nq1=Zg(Zg(yg(AX(IG(new xm,nxV,nDM),nxY,nDk),nxJ),nDy),nDE),nqJ=AX(IG(IG(IG(new xm,nxW,nDt),nxJ,nDi),nxJ,nDr),nxY,nDe),nqZ=IG(IG(new xm,nxQ,nDl),nxY,nDf),nqY=AX(IG(IG(new xm,nxJ,nDr),nxJ,n$z),nxY,n$X)}function noR(n,t){var e,i,r,a;for(e=(a=AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15))))&n.b.length-1,r=null,i=n.b[e];i;r=i,i=i.a)if(i.d==a&&N7(i.i,t))return r?r.a=i.a:n.b[e]=i.a,pz(CY(xh(i.c),604),CY(xh(i.f),604)),dM(CY(xh(i.b),227),CY(xh(i.e),227)),--n.f,++n.e,!0;return!1}function noK(n,t,e){var i,r,a,c;for(this.b=new du,r=0,i=0,c=new fU(n);c.a<c.c.c.length;)a=CY(RU(c),176),e&&function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w;for(s=0,i=BJ(n4s,nwl,28,c=n.o,15,1),r=BJ(n4s,nwl,28,c,15,1),t=BJ(n4s,nwl,28,e=n.p,15,1),a=BJ(n4s,nwl,28,e,15,1);s<c;s++){for(f=0;f<e&&!nn6(n,s,f);)++f;i[s]=f}for(h=0;h<c;h++){for(f=e-1;f>=0&&!nn6(n,h,f);)--f;r[h]=f}for(b=0;b<e;b++){for(o=0;o<c&&!nn6(n,o,b);)++o;t[b]=o}for(w=0;w<e;w++){for(o=c-1;o>=0&&!nn6(n,o,w);)--o;a[w]=o}for(u=0;u<c;u++)for(l=0;l<e;l++)u<a[l]&&u>t[l]&&l<r[u]&&l>i[u]&&nuU(n,u,l,!1,!0)}(a),jB(this.b,a),r+=a.o,i+=a.p;this.b.c.length>0&&(r+=(a=CY(I0(this.b,0),176)).o,i+=a.p),r*=2,i*=2,t>1?r=Dy(nP_.Math.ceil(r*t)):i=Dy(nP_.Math.ceil(i/t)),this.a=new YE(r,i)}function noF(n,t,e,i,r,a){var c,o,u,s,h,f,l,b,w,d,g;for(s=i,t.j&&t.o?(w=(l=CY(NR(n.f,t.A),60)).d.c+l.d.b,--s):w=t.a.c+t.a.b,h=r,e.q&&e.o?(u=(l=CY(NR(n.f,e.C),60)).d.c,++h):u=e.a.c,d=u-w,b=w+(o=d/nP_.Math.max(2,h-s)),f=s;f<h;++f)g=(c=CY(a.Xb(f),131)).a.b,c.a.c=b-g/2,b+=o}function no_(n,t){var e,i,r,a,c,o,u;i=t?new rP:new rO,r=!1;do for(r=!1,a=(t?Yi(n.b):n.b).Kc();a.Ob();)for(u=RR(CY(a.Pb(),30).a),t||Yi(u),o=new fU(u);o.a<o.c.c.length;)c=CY(RU(o),10),i.Mb(c)&&(e=CY(niK(c,(nlF(),nKP)),313),r=nuk(c,t?e.b:e.k,t,!1));while(r)}function noB(n,t,e,i,r,a){var c,o,u,s,h,f;for(s=e.c.length,a&&(n.c=BJ(n4s,nwl,28,t.length,15,1)),c=r?0:t.length-1;r?c<t.length:c>=0;c+=r?1:-1){for(o=t[c],u=i==(nf5(),n1n)?r?JH(o,i):Yi(JH(o,i)):r?Yi(JH(o,i)):JH(o,i),a&&(n.c[o.p]=u.gc()),f=u.Kc();f.Ob();)h=CY(f.Pb(),12),n.d[h.p]=s++;Vc(e,u)}}function noH(n,t,e){var i,r,a,c,o,u;for(i=pj(PI(n.b.Kc().Pb())),o=pj(PI(function(n){if(n){if(n.dc())throw(new dF).e;return n.Xb(n.gc()-1)}return Rg(n.Kc())}(t.b))),u=OT(j_(jv(n.a),o-e),j_(jv(t.a),e-i)),j_(u,1/(o-i)),this.a=u,this.b=new du,a=!0,(r=n.b.Kc()).Pb();r.Ob();)c=pj(PI(r.Pb())),a&&c-e>nyq&&(this.b.Fc(e),a=!1),this.b.Fc(c);a&&this.b.Fc(e)}function noU(n,t){var e,i,r;if(Vy(),e=_S(qk(),t.Pg())){if(i=e.j,jM(n,207))return((r=CY(n,27)).a||(r.a=new Lk(nNe,r,10,11)),r.a.i>0)?SD(i,(ZW(),nQq))||SD(i,nQX):SD(i,(ZW(),nQq));if(jM(n,326))return SD(i,(ZW(),nQU));if(jM(n,193))return SD(i,(ZW(),nQz));else if(jM(n,366))return SD(i,(ZW(),nQG))}return!0}function noG(n,t){if(t instanceof Object)try{if(t.__java$exception=n,-1!=navigator.userAgent.toLowerCase().indexOf("msie")&&$doc.documentMode<9)return;Object.defineProperties(t,{cause:{get:function(){var t=n.he();return t&&t.fe()}},suppressed:{get:function(){return n.ge()}}})}catch(n){}}function noq(n,t){var e,i,r,a,c;if(i=t>>5,t&=31,i>=n.d)return n.e<0?(nuY(),nOI):(nuY(),nO$);if(!function(n,t,e,i,r){var a,c,o;for(c=0,a=!0;c<i;c++)a&=0==e[c];if(0==r)ns8(e,i,n,0,t),c=t;else{for(o=32-r,a&=e[c]<<o==0,c=0;c<t-1;c++)n[c]=e[c+i]>>>r|e[c+i+1]<<o;n[c]=e[c+i]>>>r,++c}}(r=BJ(n4s,nwl,28,(a=n.d-i)+1,15,1),a,n.a,i,t),n.e<0){for(e=0;e<i&&0==n.a[e];e++);if(e<i||t>0&&n.a[e]<<32-t!=0){for(e=0;e<a&&-1==r[e];e++)r[e]=0;e==a&&++a,++r[e]}}return KM(c=new LZ(n.e,a,r)),c}function noX(n){var t,e,i,r;return e=new ly(r=DP(n)),i=new lk(r),Vc(t=new du,(n.d||(n.d=new Ox(nL6,n,8,5)),n.d)),Vc(t,(n.e||(n.e=new Ox(nL6,n,7,4)),n.e)),CY(FB(xz(xX(new Aa(null,new R$(t,16)),e),i),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCR),nCD]))),21)}function noz(n,t){var e,i,r;return yP(),!!t.Jk()||-2==t.Ik()&&(t==(na1(),n3u)||t==n3a||t==n3c||t==n3o||!(Ym(r=n.Dh(),t)>=0)&&(!(e=nff((nrR(),n28),r,t))||((i=e.Ik())>1||-1==i)&&3!=xb(Ua(n28,e))))}function noV(n,t,e){var i,r,a,c,o,u,s;if(u=n.length,a=n[e?u-1:0],s=a.length,a[r=e?0:s-1].k==(ni8(),n$g))for(i=0,o=t.j;i<o.c.length;i++)RN(i,o.c.length),c=CY(o.c[i],12),(e?c.j==(nf5(),n1n):c.j==(nf5(),n1y))&&pT(PC(niK(c,(nlF(),nKX))))&&(_o(o,i,CY(niK(a[r],(nlF(),nK6)),12)),r+=e?1:-1)}function noW(n){if(null==n.g)switch(n.p){case 0:n.g=!function(n){if(0!=n.p)throw(new dx).e;return EU(n.f,0)}(n)?(SB(),nOo):(SB(),nOu);break;case 1:n.g=Ub(function(n){if(1!=n.p)throw(new dx).e;return AW(n.f)<<24>>24}(n));break;case 2:n.g=z_(function(n){if(2!=n.p)throw(new dx).e;return AW(n.f)&nb9}(n));break;case 3:n.g=function(n){if(3!=n.p)throw(new dx).e;return n.e}(n);break;case 4:n.g=new fA(function(n){if(4!=n.p)throw(new dx).e;return n.e}(n));break;case 6:n.g=ZE(function(n){if(6!=n.p)throw(new dx).e;return n.f}(n));break;case 5:n.g=Qx(function(n){if(5!=n.p)throw(new dx).e;return AW(n.f)}(n));break;case 7:n.g=Q$(function(n){if(7!=n.p)throw(new dx).e;return AW(n.f)<<16>>16}(n))}return n.g}function noQ(n){if(null==n.n)switch(n.p){case 0:n.n=!function(n){if(0!=n.p)throw(new dx).e;return EU(n.k,0)}(n)?(SB(),nOo):(SB(),nOu);break;case 1:n.n=Ub(function(n){if(1!=n.p)throw(new dx).e;return AW(n.k)<<24>>24}(n));break;case 2:n.n=z_(function(n){if(2!=n.p)throw(new dx).e;return AW(n.k)&nb9}(n));break;case 3:n.n=function(n){if(3!=n.p)throw(new dx).e;return n.j}(n);break;case 4:n.n=new fA(function(n){if(4!=n.p)throw(new dx).e;return n.j}(n));break;case 6:n.n=ZE(function(n){if(6!=n.p)throw(new dx).e;return n.k}(n));break;case 5:n.n=Qx(function(n){if(5!=n.p)throw(new dx).e;return AW(n.k)}(n));break;case 7:n.n=Q$(function(n){if(7!=n.p)throw(new dx).e;return AW(n.k)<<16>>16}(n))}return n.n}function noJ(n,t,e,i){var r,a,c,o,u;if(yP(),o=CY(t,69).xk(),noz(n.e,t)){if(t.Si()&&nhc(n,t,i,jM(t,102)&&(CY(t,19).Bb&nwG)!=0))throw new pN(nTd).e}else for(c=0,u=nox(n.e.Dh(),t),r=CY(n.g,124);c<n.i;++c)if(a=r[c],u.am(a.Lk()))throw new pN(nSg).e;Jo(n,nrL(n,t,e),o?CY(i,76):Fy(t,i))}function noY(n){var t,e,i,r,a,c;for(r=new fU(n.a.a);r.a<r.c.c.length;)(e=CY(RU(r),316)).g=0,e.i=0,e.e.a.$b();for(i=new fU(n.a.a);i.a<i.c.c.length;)for(t=(e=CY(RU(i),316)).a.a.ec().Kc();t.Ob();)for(c=CY(t.Pb(),60).c.Kc();c.Ob();)(a=CY(c.Pb(),60)).a!=e&&(LX(e.e,a),++a.a.g,++a.a.i)}function noZ(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;for(h=n.d,(l=pj(PI(niK(n,(nlL(),nHd)))))<0&&VD(n,nHd,l=0),t.o.b=l,f=nP_.Math.floor(l/2),nau(u=new nro,(nf5(),n1y)),Ro(u,t),u.n.b=f,nau(s=new nro,n1n),Ro(s,t),s.n.b=f,Ru(n,u),zU(o=new $1,n),VD(o,nHP,null),Ra(o,s),Ru(o,h),e=t,i=n,r=o,a=i.c.i,c=r.d.i,a.k==(ni8(),n$m)?(VD(e,(nlF(),nK1),CY(niK(a,nK1),12)),VD(e,nK0,CY(niK(a,nK0),12)),VD(e,nKZ,PC(niK(a,nKZ)))):a.k==n$p?(VD(e,(nlF(),nK1),CY(niK(a,nK1),12)),VD(e,nK0,CY(niK(a,nK0),12)),VD(e,nKZ,(SB(),!0))):c.k==n$p?(VD(e,(nlF(),nK1),CY(niK(c,nK1),12)),VD(e,nK0,CY(niK(c,nK0),12)),VD(e,nKZ,(SB(),!0))):(VD(e,(nlF(),nK1),i.c),VD(e,nK0,r.d)),w=new Kp(n.b,0);w.b<w.d.gc();)Px(w.b<w.d.gc()),b=CY(w.d.Xb(w.c=w.b++),72),CY(niK(b,(nlL(),nHc)),278)==(GN(),nZi)&&(N6(w),jB(o.b,b),Pn(b,(nlF(),nKD))||VD(b,nKD,n));return o}function no1(n,t,e){var i,r,a,c;r=n.i,i=n.n,_H(n,(GL(),nIi),r.c+i.b,e),_H(n,nIa,r.c+r.b-i.c-e[2],e),c=r.b-i.b-i.c,e[0]>0&&(e[0]+=n.d,c-=e[0]),e[2]>0&&(e[2]+=n.d,c-=e[2]),a=nP_.Math.max(0,c),e[1]=nP_.Math.max(e[1],c),_H(n,nIr,r.c+i.b+e[0]-(e[1]-c)/2,e),t==nIr&&(n.c.b=a,n.c.c=r.c+i.b+(a-c)/2)}function no0(){this.c=BJ(n4b,nwX,28,(nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])).length,15,1),this.b=BJ(n4b,nwX,28,Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]).length,15,1),this.a=BJ(n4b,nwX,28,Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]).length,15,1),yx(this.c,nwF),yx(this.b,nw_),yx(this.a,nw_)}function no2(n,t,e){var i,r,a,c;if(t<=e?(r=t,a=e):(r=e,a=t),i=0,null==n.b)n.b=BJ(n4s,nwl,28,2,15,1),n.b[0]=r,n.b[1]=a,n.c=!0;else{if(i=n.b.length,n.b[i-1]+1==r){n.b[i-1]=a;return}c=BJ(n4s,nwl,28,i+2,15,1),ns8(n.b,0,c,0,i),n.b=c,n.b[i-1]>=r&&(n.c=!1,n.a=!1),n.b[i++]=r,n.b[i]=a,n.c||ncU(n)}}function no3(n){var t,e,i,r,a;for(r=new du,t=new At((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a)),i=new Le(Sb(nc5(n).a.Kc(),new s));ncv(i);)!jM(GO(((e=CY(_I(i),74)).b||(e.b=new Ox(nL4,e,4,7)),e.b),0),193)&&(a=niw(CY(GO((e.c||(e.c=new Ox(nL4,e,5,8)),e.c),0),84)),t.a._b(a)||dk(r.c,a));return r}function no4(n,t,e,i,r){var a,c,o;if(n.d&&n.d.Gg(r),nnB(n,e,CY(r.Xb(0),27),!1)||nnB(n,i,CY(r.Xb(r.gc()-1),27),!0)||niW(n,r))return!0;for(o=r.Kc();o.Ob();)for(c=CY(o.Pb(),27),a=t.Kc();a.Ob();)if(nua(n,c,CY(a.Pb(),27)))return!0;return!1}function no6(n,t,e){var i,r;if(0==(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i)return Vk(n);if(i=CY(GO((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),0),166),t&&(nft((i.a||(i.a=new jU(nL0,i,5)),i.a)),G0(i,0),G3(i,0),GQ(i,0),G2(i,0)),e)for(n.a||(n.a=new Lk(nL5,n,6,6)),r=n.a;r.i>1;)no9(r,r.i-1);return i}function no5(n,t){var e,i,r,a,c,o,u;for(e=new j1,a=new fU(n.b);a.a<a.c.c.length;){for(r=CY(RU(a),30),u=!0,i=0,o=new fU(r.a);o.a<o.c.c.length;)switch((c=CY(RU(o),10)).k.g){case 4:++i;case 1:K2(e,c);break;case 0:!function(n,t){var e,i,r,a,c;for(i=new Km(n.j.c.length),e=null,a=new fU(n.j);a.a<a.c.c.length;)(r=CY(RU(a),12)).j!=e&&(i.b==i.c||ncW(i,e,t),FT(i),e=r.j),(c=ncy(r))&&K2(i,c);i.b==i.c||ncW(i,e,t)}(c,t);default:e.b==e.c||nsj(e,i,u,!1,t),u=!1,i=0}e.b==e.c||nsj(e,i,u,!0,t)}}function no8(n,t){var e,i,r,a,c,o,u;for(e=0,o=new fU(t);o.a<o.c.c.length;){for(c=CY(RU(o),12),WU(n.b,n.d[c.p]),r=new _4(c.b);jr(r.a)||jr(r.b);)i=CY(jr(r.a)?RU(r.a):RU(r.b),18),u=c==i.c?i.d:i.c,(a=n.d[u.p])>n.d[c.p]&&(e+=_c(n.b,a),K3(n.a,Qx(a)));for(;!pq(n.a);)Ux(n.b,CY(LG(n.a),17).a)}return e}function no9(n,t){var e,i,r,a;return n.Pj()?(i=null,r=n.Qj(),n.Tj()&&(i=n.Vj(n.$i(t),null)),e=n.Ij(4,a=ntD(n,t),null,t,r),n.Mj()&&null!=a?(i=n.Oj(a,i))?(i.nj(e),i.oj()):n.Jj(e):i?(i.nj(e),i.oj()):n.Jj(e)):(a=ntD(n,t),n.Mj()&&null!=a&&(i=n.Oj(a,null))&&i.oj()),a}function no7(){no7=T,nKr=new kK("COMMENTS",0),nKc=new kK("EXTERNAL_PORTS",1),nKo=new kK("HYPEREDGES",2),nKu=new kK("HYPERNODES",3),nKs=new kK("NON_FREE_PORTS",4),nKh=new kK("NORTH_SOUTH_PORTS",5),nKl=new kK(nmg,6),nKi=new kK("CENTER_LABELS",7),nKa=new kK("END_LABELS",8),nKf=new kK("PARTITIONS",9)}function nun(n,t){var e,i,r;DV(n)&&(r=CY(niK(t,(nlL(),nHW)),181),ER(ncx(n,nUt))===ER((nie(),nZ0))&&nnh(n,nUt,nZ1),yv(),i=nfJ(new py(DV(n)),new Sq(!DV(n)?null:new py(DV(n)),n),!1,!0),Xf(r,(YZ(),n1P)),(e=CY(niK(t,nHJ),8)).a=nP_.Math.max(i.a,e.a),e.b=nP_.Math.max(i.b,e.b))}function nut(){nut=T,nRi=new x7(ngr,0,(nf5(),n1t),n1t),nRc=new x7(ngc,1,n1m,n1m),nRe=new x7(nga,2,n1n,n1n),nRs=new x7(ngo,3,n1y,n1y),nRa=new x7("NORTH_WEST_CORNER",4,n1y,n1t),nRr=new x7("NORTH_EAST_CORNER",5,n1t,n1n),nRu=new x7("SOUTH_WEST_CORNER",6,n1m,n1y),nRo=new x7("SOUTH_EAST_CORNER",7,n1n,n1m)}function nue(){nue=T,nQ6=Vw(DY(n4f,1),nwH,28,14,[1,1,2,6,24,120,720,5040,40320,362880,3628800,0x2611500,0x1c8cfc00,0x17328cc00,0x144c3b2800,1307674368e3,{l:3506176,m:794077,h:1},{l:884736,m:916411,h:20},{l:3342336,m:3912489,h:363},{l:589824,m:3034138,h:6914},{l:3407872,m:1962506,h:138294}]),nP_.Math.pow(2,-65)}function nui(){var n,t;for(t=0,nui=T,nOK=BJ(nPx,nby,92,32,0,1),nOF=BJ(nPx,nby,92,32,0,1),n=1;t<=18;t++)nOK[t]=(nuY(),Qv(n,0)>=0?Yq(n):Nt(Yq(H4(n)))),nOF[t]=EH(A8(n,t),0)?Yq(A8(n,t)):Nt(Yq(H4(A8(n,t)))),n=J_(n,5);for(;t<nOF.length;t++)nOK[t]=Fh(nOK[t-1],nOK[1]),nOF[t]=Fh(nOF[t-1],(nuY(),nON))}function nur(n,t){var e,i,r,a,c;if(0==n.c.length)return new Ea(Qx(0),Qx(0));for(e=(RN(0,n.c.length),CY(n.c[0],12)).j,c=0,a=t.g,i=t.g+1;c<n.c.length-1&&e.g<a;)e=(RN(++c,n.c.length),CY(n.c[c],12)).j;for(r=c;r<n.c.length-1&&e.g<i;)++r,e=(RN(c,n.c.length),CY(n.c[c],12)).j;return new Ea(Qx(c),Qx(r))}function nua(n,t,e){var i,r,a,c,o,u,s,h;return o=t.i-n.g/2,u=e.i-n.g/2,s=t.j-n.g/2,h=e.j-n.g/2,a=t.g+n.g,c=e.g+n.g,i=t.f+n.g,r=e.f+n.g,!!(o<u+c)&&!!(u<o)&&!!(s<h+r)&&!!(h<s)||!!(u<o+a)&&!!(o<u)&&!!(h<s+i)&&!!(s<h)||!!(o<u+c)&&!!(u<o)&&!!(s<h)&&!!(h<s+i)||!!(u<o+a)&&!!(o<u)&&!!(s<h+r)&&!!(h<s)||!1}function nuc(n,t){var e;switch(e=null,t.g){case 1:n.e.pf((nl_(),nYw))&&(e=CY(n.e.of(nYw),256));break;case 3:n.e.pf((nl_(),nYd))&&(e=CY(n.e.of(nYd),256));break;case 2:n.e.pf((nl_(),nYb))&&(e=CY(n.e.of(nYb),256));break;case 4:n.e.pf((nl_(),nYg))&&(e=CY(n.e.of(nYg),256))}return e||(e=CY(n.e.of((nl_(),nYf)),256)),e}function nuo(n,t,e,i){var r,a,c,o,u;for(r=(i.c+i.a)/2,$p(t.j),IA(t.j,r),$p(e.e),IA(e.e,r),u=new mv,c=new fU(n.f);c.a<c.c.c.length;)neN(u,t,o=CY(RU(c),132).a),neN(u,e,o);for(a=new fU(n.k);a.a<a.c.c.length;)neN(u,t,o=CY(RU(a),132).b),neN(u,e,o);return u.b+=2,u.a+=$E(t,n.q),u.a+=$E(n.q,e),u}function nuu(){nuu=T,nWi=new TZ((nl_(),nJj),1.3),nWl=new TZ(nJ9,(SB(),!1)),nWy=new TW(15),nWv=new TZ(nYa,nWy),nWM=new TZ(nYq,15),nWr=nJL,nWf=nJ5,nWb=nJ7,nWw=nYt,nWh=nJ4,nWd=nYr,nWk=nYE,nse(),nWS=nV9,nWj=nV8,nWO=nWe,nWP=nWn,nWm=nV3,nWp=nV2,nWg=nV0,nWT=nV5,nWo=nJQ,nWu=nJJ,nWc=nVZ,nWa=nVY,nWs=nV1,nWE=nV6}function nus(n){var t,e,i,r,a,c,o;for(e=n.i,t=n.n,o=e.d,n.f==(Uk(),nIl)?o+=(e.a-n.e.b)/2:n.f==nIf&&(o+=e.a-n.e.b),r=new fU(n.d);r.a<r.c.c.length;){switch(c=(i=CY(RU(r),187)).Mf(),(a=new mm).b=o,o+=c.b+n.a,n.b.g){case 0:a.a=e.c+t.b;break;case 1:a.a=e.c+t.b+(e.b-c.a)/2;break;case 2:a.a=e.c+e.b-t.c-c.a}i.Of(a)}}function nuh(n){var t,e,i,r,a,c,o;for(e=n.i,t=n.n,o=e.c,n.b==(HS(),nIo)?o+=(e.b-n.e.a)/2:n.b==nIs&&(o+=e.b-n.e.a),r=new fU(n.d);r.a<r.c.c.length;){switch(c=(i=CY(RU(r),187)).Mf(),(a=new mm).a=o,o+=c.a+n.a,n.f.g){case 0:a.b=e.d+t.d;break;case 1:a.b=e.d+t.d+(e.a-c.b)/2;break;case 2:a.b=e.d+e.a-t.a-c.b}i.Of(a)}}function nuf(n,t,e){var i,r;for(t<n.d.b.c.length?(n.b=CY(I0(n.d.b,t),30),n.a=CY(I0(n.d.b,t-1),30)):(n.a=new NU(n.d),n.a.p=t-1,jB(n.d.b,n.a),n.b=new NU(n.d),n.b.p=t,jB(n.d.b,n.b)),n.c=t,Rc(e,n.b),r=new Le(Sb(Jz(e).a.Kc(),new s));ncv(r);)(i=CY(_I(r),18)).c.i.c||i.c.i.k!=(ni8(),n$p)||Rc(i.c.i,n.a)}function nul(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nEr,e=t).d="ELK Randomizer",i=e).b='Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of "real" layout algorithms.',(r=i).e=new oM,r))),KS(n,nEr,ng$,n1T),KS(n,nEr,ng4,15),KS(n,nEr,ng5,Qx(0)),KS(n,nEr,ngx,ng0)}function nub(){var n,t,e,i,r,a;for(t=0,nub=T,n3H=BJ(n4l,nEK,28,255,15,1),n3U=BJ(n4u,nb5,28,16,15,1);t<255;t++)n3H[t]=-1;for(e=57;e>=48;e--)n3H[e]=e-48<<24>>24;for(i=70;i>=65;i--)n3H[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)n3H[r]=r-97+10<<24>>24;for(a=0;a<10;a++)n3U[a]=48+a&nb9;for(n=10;n<=15;n++)n3U[n]=65+n-10&nb9}function nuw(n){var t,e,i,r,a,c,o,u,s;if(!n.c){if(a=new o3,null==(t=n2L).a.zc(n,t)){for(i=new j2(FS(n));i.e!=i.i.gc();)jM(r=nsW(e=CY(Z6(i),89)),90)&&Nu(a,nuw(CY(r,29))),B7(a,e);t.a.Bc(n),t.a.gc()}for(o=CY(a.g,689),u=a.i-1;u>=0;--u)for(s=0,c=o[u];s<u;++s)if(function n(t,e,i){var r,a,c,o,u,s,h;if(e==i)return!0;if(e=ncp(t,e),i=ncp(t,i),!(r=nnX(e)))return e.e==i.e;if((s=nnX(i))!=r)if(!s)return!1;else return(o=r.mk())==s.mk()&&null!=o;if(e.d||(e.d=new jU(n00,e,1)),a=(c=e.d).i,i.d||(i.d=new jU(n00,i,1)),a==(h=i.d).i){for(u=0;u<a;++u)if(!n(t,CY(GO(c,u),89),CY(GO(h,u),89)))return!1}return!0}(a,c,o[s])){ntD(a,u);break}WG(a),n.c=new Tu((CY(GO($x((NN(),n2c).o),15),19),a.i),a.g),_v(n).b&=-33}return n.c}function nud(n){var t;if(10!=n.c)throw new pH(nlV((T9(),nTj))).e;switch(t=n.a){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 new pH(nlV((T9(),nT0))).e}return t}function nug(n,t,e,i){var r,a,c,o;if(Fv((Ck(),new Le(Sb(JX(t).a.Kc(),new s))))>=n.a||!nir(t,e))return -1;if(KZ(CY(i.Kb(t),20)))return 1;for(r=0,c=CY(i.Kb(t),20).Kc();c.Ob();)if(-1==(o=nug(n,(a=CY(c.Pb(),18)).c.i==t?a.d.i:a.c.i,e,i))||(r=nP_.Math.max(r,o))>n.c-1)return -1;return r+1}function nup(n,t){var e,i,r,a,c,o;if(ER(t)===ER(n))return!0;if(!jM(t,15)||(i=CY(t,15),o=n.gc(),i.gc()!=o))return!1;if(c=i.Kc(),n.Yi()){for(e=0;e<o;++e)if(r=n.Vi(e),a=c.Pb(),null==r?null!=a:!QY(r,a))return!1}else for(e=0;e<o;++e)if(r=n.Vi(e),a=c.Pb(),ER(r)!==ER(a))return!1;return!0}function num(n,t){var e,i,r,a,c,o;if(n.f>0){if(n._j(),null!=t){for(a=0;a<n.d.length;++a)if(e=n.d[a]){for(c=0,i=CY(e.g,379),o=e.i;c<o;++c)if(QY(t,(r=i[c]).md()))return!0}}else for(a=0;a<n.d.length;++a)if(e=n.d[a]){for(c=0,i=CY(e.g,379),o=e.i;c<o;++c)if(r=i[c],ER(t)===ER(r.md()))return!0}}return!1}function nuv(n){switch(n){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return n-48<<24>>24;case 97:case 98:case 99:case 100:case 101:case 102:return n-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return n-65+10<<24>>24;default:throw new p5("Invalid hexadecimal").e}}function nuy(){nuy=T,nIt=new yY("SPIRAL",0),nC5=new yY("LINE_BY_LINE",1),nC8=new yY("MANHATTAN",2),nC6=new yY("JITTER",3),nC7=new yY("QUADRANTS_LINE_BY_LINE",4),nIn=new yY("QUADRANTS_MANHATTAN",5),nC9=new yY("QUADRANTS_JITTER",6),nC4=new yY("COMBINE_LINE_BY_LINE_MANHATTAN",7),nC3=new yY("COMBINE_JITTER_MANHATTAN",8)}function nuk(n,t,e,i){var r,a,c,o,u,h;for(u=neA(n,e),h=neA(t,e),r=!1;u&&h;)if(i||function(n,t,e){var i,r,a,c,o;for(a=n.c,o=e?t:n,i=e?n:t,r=o.p+1;r<i.p;++r)if(!((c=CY(I0(a.a,r),10)).k==(ni8(),n$d)||function(n){var t,e;if(n.k==(ni8(),n$m)){for(e=new Le(Sb(JX(n).a.Kc(),new s));ncv(e);)if(!_p(t=CY(_I(e),18))&&n.c==neI(t,n).c)return!0}return!1}(c)))return!1;return!0}(u,h,e))c=neA(u,e),o=neA(h,e),Ut(t),Ut(n),a=u.c,nfw(u,!1),nfw(h,!1),e?(ntX(t,h.p,a),t.p=h.p,ntX(n,u.p+1,a),n.p=u.p):(ntX(n,u.p,a),n.p=u.p,ntX(t,h.p+1,a),t.p=h.p),Rc(u,null),Rc(h,null),u=c,h=o,r=!0;else break;return r}function nuM(n){switch(n.g){case 0:return new hl;case 1:return new hh;case 3:return new yl;case 4:return new r_;case 5:return new Od;case 6:return new hf;case 2:return new hs;case 7:return new hi;case 8:return new ha;default:throw new pN("No implementation is available for the layerer "+(null!=n.f?n.f:""+n.g)).e}}function nuE(n,t,e,i,r,a,c,o){var u,s,h;for(u=0,null!=t&&(u^=Wb(t.toLowerCase())),null!=e&&(u^=Wb(e)),null!=i&&(u^=Wb(i)),null!=c&&(u^=Wb(c)),null!=o&&(u^=Wb(o)),s=0,h=a.length;s<h;s++)u^=Wb(a[s]);n?u|=256:u&=-257,r?u|=16:u&=-17,this.f=u,this.i=null==t?null:(xf(t),t),this.a=e,this.d=i,this.j=a,this.g=c,this.e=o}function nuT(n,t,e){var i,r;switch(r=null,t.g){case 1:X8(),r=n$E;break;case 2:X8(),r=n$j}switch(i=null,e.g){case 1:X8(),i=n$T;break;case 2:X8(),i=n$M;break;case 3:X8(),i=n$S;break;case 4:X8(),i=n$P}return r&&i?Cz(n.j,new hq(new pU(Vw(DY(nPo,1),nl7,178,0,[CY(NP(r),178),CY(NP(i),178)])))):($O(),$O(),nO_)}function nuj(n,t,e,i,r,a){var c,o,u,s,h,f,l;if(this.b=e,this.d=r,n>=t.length)throw new pC("Greedy SwitchDecider: Free layer not in graph.").e;this.c=t[n],this.e=new OQ(i),Xp(this.e,this.c,(nf5(),n1y)),this.i=new OQ(i),Xp(this.i,this.c,n1n),this.f=new Ai(this.c),this.a=!a&&r.i&&!r.s&&this.c[0].k==(ni8(),n$g),this.a&&(c=t.length,f=(s=this.d.p).e,this.g=new OQ(s.r),o=(h=this.d.o.c.p)>0?f[h-1]:BJ(nAr,npU,10,0,0,1),u=f[h],l=h<f.length-1?f[h+1]:BJ(nAr,npU,10,0,0,1),n==c-1?D_(this.g,u,l):D_(this.g,o,u))}function nuS(n,t){var e,i,r,a,c,o,u,s,h;a=!n.B.Hc((nsv(),n1L)),c=n.B.Hc(n1$),n.a=new YM(c,a,n.c),n.n&&$y(n.a.n,n.n),u=n.g,GL(),s=nIr,h=n.a,u.a[s.g]=h,t||((i=new ZC(1,a,n.c)).n.a=n.k,LQ(n.p,(nf5(),n1t),i),(r=new ZC(1,a,n.c)).n.d=n.k,LQ(n.p,n1m,r),(o=new ZC(0,a,n.c)).n.c=n.k,LQ(n.p,n1y,o),(e=new ZC(0,a,n.c)).n.b=n.k,LQ(n.p,n1n,e))}function nuP(){nuP=T,nQj=new wX(nMc),yf(),nQE=new To(nMf,nQT=nQL),Vv(),nQk=new To(nMo,nQM=nQ$),nru(),nQv=new To(nMu,nQy=nW3),nQd=new To(nMs,null),Bd(),nQp=new To(nMh,nQm=nWZ),ys(),nQh=new To(nMl,nQf=nWW),nQl=new To(nMb,(SB(),!1)),nQb=new To(nMw,Qx(64)),nQw=new To(nMd,!0),nQg=nW1}function nuO(n,t){var e,i,r,a,c,o,u;for(n.p=1,i=n.c,u=new TE,o=Yx(n,(qy(),nGD)).Kc();o.Ob();)for(e=new fU(CY(o.Pb(),12).g);e.a<e.c.c.length;)n!=(c=CY(RU(e),18).d.i)&&c.c.p<=i.p&&((r=i.p+1)==t.b.c.length?((a=new NU(t)).p=r,jB(t.b,a),Rc(c,a)):Rc(c,a=CY(I0(t.b,r),30)),u.a.zc(c,u));return u}function nuC(n){var t,e,i,r,a;if(null==n.a)if(n.a=BJ(n4h,ndV,28,n.c.b.c.length,16,1),n.a[0]=!1,Pn(n.c,(nlL(),nUQ)))for(e=CY(niK(n.c,nUQ),15).Kc();e.Ob();)(t=CY(e.Pb(),17).a)>0&&t<n.a.length&&(n.a[t]=!1);else for((a=new fU(n.c.b)).a<a.c.c.length&&RU(a),i=1;a.a<a.c.c.length;)r=CY(RU(a),30),n.a[i++]=function(n){var t,e,i,r,a,c,o,u;t=!0,r=null,a=null;t:for(u=new fU(n.a);u.a<u.c.c.length;)for(i=new Le(Sb(Jz(o=CY(RU(u),10)).a.Kc(),new s));ncv(i);){if(e=CY(_I(i),18),r&&r!=o||(r=o,c=e.c.i,a&&a!=c)){t=!1;break t}a=c}return t}(r)}function nuI(){nuI=T,nVR=new wX("additionalHeight"),nVK=new wX("drawingHeight"),nVF=new wX("drawingWidth"),nVH=new wX("minHeight"),nVq=new wX("minWidth"),nVX=new wX("rows"),nVz=new wX("targetWidth"),nVG=new P5("minRowIncrease",0),nVB=new P5("maxRowIncrease",0),nVU=new P5("minRowDecrease",0),nV_=new P5("maxRowDecrease",0)}function nuA(n,t){var e,i;switch(i=n.b,t){case 1:n.b|=1,n.b|=4,n.b|=8;break;case 2:n.b|=2,n.b|=4,n.b|=8;break;case 4:n.b|=1,n.b|=2,n.b|=4,n.b|=8;break;case 3:n.b|=16,n.b|=8;break;case 0:n.b|=32,n.b|=16,n.b|=8,n.b|=1,n.b|=2,n.b|=4}if(n.b!=i&&n.c)for(e=new j2(n.c);e.e!=e.i.gc();)nar(_v(CY(Z6(e),482)),t)}function nuL(n,t,e,i){var r,a,c,o,u,s,h,f,l,b;for(r=!1,c=0,o=t.length;c<o;++c)a=t[c],pT((SB(),!!a.e))&&!CY(I0(n.b,a.e.p),219).s&&(r|=(u=a.e,h=(s=CY(I0(n.b,u.p),219)).e,b=h.length,h[f=e?0:b-1][0].k==(ni8(),n$g)?h[f]=function(n,t,e){var i,r,a,c,o;for(c=QU(n,e),o=BJ(nAr,npU,10,t.length,0,1),i=0,a=c.Kc();a.Ob();)pT(PC(niK(r=CY(a.Pb(),12),(nlF(),nKX))))&&(o[i++]=CY(niK(r,nFi),10));if(i<t.length)throw new px("Expected "+t.length+" hierarchical ports, but found only "+i+".").e;return o}(a,h[f],e?(nf5(),n1y):(nf5(),n1n)):s.c.mg(h,e),l=noP(n,s,e,i),noV(s.e,s.o,e),l));return r}function nuN(n,t){var e,i,r,a,c,o,u,s,h,f;if(c=CY(CY(_G(n.r,t),21),87),o=n.u.Hc((nap(),nZ8)),e=n.u.Hc(nZ4),i=n.u.Hc(nZ3),s=n.u.Hc(nZ9),f=n.B.Hc((nsv(),n1_)),h=!e&&!i&&(s||2==c.gc()),!function(n,t){var e,i,r,a,c,o;for(c=CY(CY(_G(n.r,t),21),87).Kc();c.Ob();)(e=(a=CY(c.Pb(),117)).c?IC(a.c):0)>0?a.a?e>(o=a.b.Mf().a)&&(r=(e-o)/2,a.d.b=r,a.d.c=r):a.d.c=n.s+e:Lp(n.u)&&((i=niv(a.b)).c<0&&(a.d.b=-i.c),i.c+i.b>a.b.Mf().a&&(a.d.c=i.c+i.b-a.b.Mf().a))}(n,t),r=null,u=null,o){for(u=r=CY((a=c.Kc()).Pb(),117);a.Ob();)u=CY(a.Pb(),117);r.d.b=0,u.d.c=0,h&&!r.a&&(r.d.c=0)}f&&(!function(n){var t,e,i,r,a;for(t=0,e=0,a=n.Kc();a.Ob();)i=CY(a.Pb(),117),t=nP_.Math.max(t,i.d.b),e=nP_.Math.max(e,i.d.c);for(r=n.Kc();r.Ob();)(i=CY(r.Pb(),117)).d.b=t,i.d.c=e}(c),o&&(r.d.b=0,u.d.c=0))}function nux(n,t){var e,i,r,a,c,o,u,s,h,f;if(c=CY(CY(_G(n.r,t),21),87),o=n.u.Hc((nap(),nZ8)),e=n.u.Hc(nZ4),i=n.u.Hc(nZ3),u=n.u.Hc(nZ9),f=n.B.Hc((nsv(),n1_)),s=!e&&!i&&(u||2==c.gc()),function(n,t){var e,i,r,a,c,o,u;for(o=CY(CY(_G(n.r,t),21),87).Kc();o.Ob();)(i=(c=CY(o.Pb(),117)).c?IO(c.c):0)>0?c.a?i>(u=c.b.Mf().b)&&(n.v||1==c.c.d.c.length?(a=(i-u)/2,c.d.d=a,c.d.a=a):(e=(CY(I0(c.c.d,0),187).Mf().b-u)/2,c.d.d=nP_.Math.max(0,e),c.d.a=i-e-u)):c.d.a=n.t+i:Lp(n.u)&&((r=niv(c.b)).d<0&&(c.d.d=-r.d),r.d+r.a>c.b.Mf().b&&(c.d.a=r.d+r.a-c.b.Mf().b))}(n,t),h=null,r=null,o){for(r=h=CY((a=c.Kc()).Pb(),117);a.Ob();)r=CY(a.Pb(),117);h.d.d=0,r.d.a=0,s&&!h.a&&(h.d.a=0)}f&&(!function(n){var t,e,i,r,a;for(e=0,t=0,a=n.Kc();a.Ob();)i=CY(a.Pb(),117),e=nP_.Math.max(e,i.d.d),t=nP_.Math.max(t,i.d.a);for(r=n.Kc();r.Ob();)(i=CY(r.Pb(),117)).d.d=e,i.d.a=t}(c),o&&(h.d.d=0,r.d.a=0))}function nu$(n){var t;return(64&n.Db)!=0?na7(n):(t=new Sm(na7(n)),t.a+=" (changeable: ",mL(t,(n.Bb&nbB)!=0),t.a+=", volatile: ",mL(t,(n.Bb&njT)!=0),t.a+=", transient: ",mL(t,(n.Bb&nwB)!=0),t.a+=", defaultValueLiteral: ",EW(t,n.j),t.a+=", unsettable: ",mL(t,(n.Bb&njE)!=0),t.a+=", derived: ",mL(t,(n.Bb&nbk)!=0),t.a+=")",t.a)}function nuD(n,t,e,i){var r,a,c,o,u,s;if(null==e){for(o=0,r=CY(n.g,124);o<n.i;++o)if((c=r[o]).Lk()==t)return nnw(n,c,i)}return yP(),a=CY(t,69).xk()?CY(e,76):Fy(t,e),TN(n.e)?(s=!YI(n,t),i=YU(n,a,i),u=t.Jk()?$6(n,3,t,null,e,nhv(n,t,e,jM(t,102)&&(CY(t,19).Bb&nwG)!=0),s):$6(n,1,t,t.ik(),e,-1,s),i?i.nj(u):i=u):i=YU(n,a,i),i}function nuR(){this.b=new FF,this.d=new FF,this.e=new FF,this.c=new FF,this.a=new dc,this.f=new dc,DB(nLA,new c6,new on),DB(nLL,new of,new ol),DB(nAi,new ob,new ow),DB(nAc,new od,new og),DB(nLJ,new op,new om),DB(nP$,new ot,new oe),DB(nPF,new oi,new or),DB(nPR,new oa,new oc),DB(nPK,new oo,new ou),DB(nO5,new os,new oh)}function nuK(n,t){var e,i,r,a,c;for(r=0,n=null==n?nbi:(xf(n),n);r<t.length;r++)t[r]=function(n){var t,e,i,r,a;if(null==n)return nbi;try{return J2(n)}catch(c){if(jM(c=Vt(c),103))return t=c,e=mI(WZ(n))+"@"+(vX(),(Zd(n)>>>0).toString(16)),_h(),i=nCn?new _f(null):function n(t,e){var i,r,a,c,o,u;return(i=CY(Db(t.a,e),525))?i:(r=new _f(e),_h(),c=Di(a=nCn?null:r.c,0,nP_.Math.max(0,Sg(a,niT(46)))),o=n(t,c),!nCn&&o&&(r.d=o),0==(nCn?null:r.c).length&&(u=new U,nCn||jB(r.a,u)),Rr(t.a,nCn?null:r.c,r),r)}(function(){var n,t,e,i,r;return nCx||(nCx=new dW,t=n=new _f(""),vQ(),e=nCN,nCn||(t.b=e),i=nCx,0==((_h(),nCn)?null:n.c).length&&(r=new U,nCn||jB(n.a,r)),Rr(i.a,nCn?null:n.c,n)),nCx}(),"com.google.common.base.Strings"),vQ(),r="Exception during lenientFormat for "+e,(nO9?(function(n){var t,e;if(n.b)return n.b;for(e=nCn?null:n.d;e;){if(t=nCn?null:e.b)return t;e=nCn?null:e.d}vQ()}(i),0):nO7||nCe?(vQ(),0):!nCt||(vQ(),1))||((a=new Ct(r)).b=t,function(n,t){var e,i,r,a,c,o,u;for(i=Wj(n),a=0,o=i.length;a<o;++a)niR(t);for(u=!nCn&&n.e?nCn?null:n.d:null;u;){for(e=Wj(u),r=0,c=e.length;r<c;++r)niR(t);u=!nCn&&u.e?nCn?null:u.d:null}}(i,a)),"<"+e+" threw "+mI(t.Rm)+">";throw c.e}}(t[r]);for(e=new p3,c=0,i=0;i<t.length&&-1!=(a=n.indexOf("%s",c));)e.a+=""+Di(null==n?nbi:(xf(n),n),c,a),EJ(e,t[i++]),c=a+2;if(Kg(e,n,c,n.length),i<t.length){for(e.a+=" [",EJ(e,t[i++]);i<t.length;)e.a+=nl8,EJ(e,t[i++]);e.a+="]"}return e.a}function nuF(n,t){var e,i,r,a,c,o,u,s;for(e=0,u=new fU(t);u.a<u.c.c.length;){for(o=CY(RU(u),12),WU(n.b,n.d[o.p]),c=0,r=new _4(o.b);jr(r.a)||jr(r.b);)xu(i=CY(jr(r.a)?RU(r.a):RU(r.b),18))?(s=o==i.c?i.d:i.c,(a=n.d[s.p])>n.d[o.p]&&(e+=_c(n.b,a),K3(n.a,Qx(a)))):++c;for(e+=n.b.d*c;!pq(n.a);)Ux(n.b,CY(LG(n.a),17).a)}return e}function nu_(n){var t,e,i,r,a,c;return a=0,(t=nec(n)).kk()&&(a|=4),(n.Bb&njE)!=0&&(a|=2),jM(n,102)?(r=nnD(e=CY(n,19)),(e.Bb&nEI)!=0&&(a|=32),r&&(N$(DW(r)),a|=8,((c=r.t)>1||-1==c)&&(a|=16),(r.Bb&nEI)!=0&&(a|=64)),(e.Bb&nwG)!=0&&(a|=njT),a|=nbB):jM(t,469)?a|=512:(i=t.kk())&&(1&i.i)!=0&&(a|=256),(512&n.Bb)!=0&&(a|=128),a}function nuB(n){var t,e,i,r,a,c,o;for(o=new dc,i=new fU(n.a.b);i.a<i.c.c.length;)xM(o,t=CY(RU(i),60),new du);for(r=new fU(n.a.b);r.a<r.c.c.length;)for((t=CY(RU(r),60)).i=nw_,c=t.c.Kc();c.Ob();)a=CY(c.Pb(),60),CY(ED(Aj(o.f,a)),15).Fc(t);for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),60)).c.$b(),t.c=CY(ED(Aj(o.f,t)),15);noY(n)}function nuH(n){var t,e,i,r,a,c,o;for(o=new dc,i=new fU(n.a.b);i.a<i.c.c.length;)xM(o,t=CY(RU(i),86),new du);for(r=new fU(n.a.b);r.a<r.c.c.length;)for((t=CY(RU(r),86)).o=nw_,c=t.f.Kc();c.Ob();)a=CY(c.Pb(),86),CY(ED(Aj(o.f,a)),15).Fc(t);for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),86)).f.$b(),t.f=CY(ED(Aj(o.f,t)),15);noC(n)}function nuU(n,t,e,i,r){var a,c;try{if(t>=n.o)throw(new gf).e;c=t>>5,a=A8(1,AW(A8(31&t,1))),r?n.n[e][c]=R_(n.n[e][c],a):n.n[e][c]=RF(n.n[e][c],Ie(a)),a=A8(a,1),i?n.n[e][c]=R_(n.n[e][c],a):n.n[e][c]=RF(n.n[e][c],Ie(a))}catch(i){if(jM(i=Vt(i),333))throw new pC(ngh+n.o+"*"+n.p+ngf+t+nl8+e+ngl).e;throw i.e}}function nuG(n){var t,e,i;return(64&n.Db)!=0?nri(n):(t=new Sv(nEy),(e=n.k)?EY(EY((t.a+=' "',t),e),'"'):(n.n||(n.n=new Lk(nNt,n,1,7)),n.n.i>0&&(i=(!n.n&&(n.n=new Lk(nNt,n,1,7)),CY(GO(n.n,0),135)).a)&&EY(EY((t.a+=' "',t),i),'"')),EY(mN(EY(mN(EY(mN(EY(mN((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function nuq(n){var t,e,i;return(64&n.Db)!=0?nri(n):(t=new Sv(nEk),(e=n.k)?EY(EY((t.a+=' "',t),e),'"'):(n.n||(n.n=new Lk(nNt,n,1,7)),n.n.i>0&&(i=(!n.n&&(n.n=new Lk(nNt,n,1,7)),CY(GO(n.n,0),135)).a)&&EY(EY((t.a+=' "',t),i),'"')),EY(mN(EY(mN(EY(mN(EY(mN((t.a+=" (",t),n.i),","),n.j)," | "),n.g),","),n.f),")"),t.a)}function nuX(n,t){var e,i,r,a,c,o;if(null==t||0==t.length)return null;if(!(r=CY(Db(n.a,t),143))){for(i=new fx(new fN(n.b).a.vc().Kc());i.a.Ob();)if(a=CY(i.a.Pb(),44),c=(e=CY(a.md(),143)).c,o=t.length,OB(c.substr(c.length-o,o),t)&&(t.length==c.length||46==xq(c,c.length-t.length-1))){if(r)return null;r=e}r&&Rr(n.a,t,r)}return r}function nuz(n){var t,e,i;!Pn(n,(nlL(),nHB))||(i=CY(niK(n,nHB),21)).dc()||(e=new O9(t=CY(mP(nLB),9),CY(Oc(t,t.length),9),0),i.Hc((nc$(),nZK))?Xf(e,nZK):Xf(e,nZF),i.Hc(nZD)||Xf(e,nZD),i.Hc(nZ$)?Xf(e,nZH):i.Hc(nZx)?Xf(e,nZB):i.Hc(nZR)&&Xf(e,nZ_),i.Hc(nZH)?Xf(e,nZ$):i.Hc(nZB)?Xf(e,nZx):i.Hc(nZ_)&&Xf(e,nZR),VD(n,nHB,e))}function nuV(n,t,e,i,r){var a,c,o,u,s,h,f;if(!(jM(t,207)||jM(t,366)||jM(t,193)))throw new pN("Method only works for ElkNode-, ElkLabel and ElkPort-objects.").e;return c=n.a/2,u=t.i+i-c,h=t.j+r-c,s=u+t.g+n.a,f=h+t.f+n.a,IA(a=new gj,new MH(u,h)),IA(a,new MH(u,f)),IA(a,new MH(s,f)),IA(a,new MH(s,h)),zU(o=new ncT(a),t),e&&xM(n.b,t,o),o}function nuW(n,t,e){var i,r,a,c,o,u,s,h;for(a=new MH(t,e),s=new fU(n.a);s.a<s.c.c.length;)for(OT((u=CY(RU(s),10)).n,a),h=new fU(u.j);h.a<h.c.c.length;)for(r=new fU(CY(RU(h),12).g);r.a<r.c.c.length;)for(zc((i=CY(RU(r),18)).a,a),(c=CY(niK(i,(nlL(),nHP)),75))&&zc(c,a),o=new fU(i.b);o.a<o.c.c.length;)OT(CY(RU(o),72).n,a)}function nuQ(n){if(0==(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i)throw new pF("Edges must have a source.").e;if(0==(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i)throw new pF("Edges must have a target.").e;if(n.b||(n.b=new Ox(nL4,n,4,7)),!(n.b.i<=1&&(n.c||(n.c=new Ox(nL4,n,5,8)),n.c.i<=1)))throw new pF("Hyperedges are not supported.").e}function nuJ(n,t){var e,i,r,a,c,o,u,s,h,f;for(f=0,K3(a=new j1,t);a.b!=a.c;)for(u=CY(LG(a),219),s=0,h=CY(niK(t.j,(nlL(),nBQ)),284),c=pj(PI(niK(t.j,nBq))),o=pj(PI(niK(t.j,nBX))),h!=(Zu(),nGO)&&(s+=c*function(n,t){var e,i,r,a,c,o,u,s;for(u=-1,s=0,c=0,o=n.length;c<o;++c){for(i=0,a=n[c],e=new Is(-1==u?n[0]:n[u],t,(QS(),nGi));i<a.length;i++)for(r=i+1;r<a.length;r++)Pn(a[i],(nlF(),nK4))&&Pn(a[r],nK4)&&nlM(e,a[i],a[r])>0&&++s;++u}return s}(u.e,h)+o*function(n){var t,e,i,r,a,c,o,u,s,h,f;for(h=-1,f=0,u=0,s=n.length;u<s;++u){for(o=n[u],a=0,c=o.length;a<c;++a)for(e=0,r=o[a],t=new KQ(-1==h?n[0]:n[h],CY(niK(xi(r),(nlL(),nBQ)),284),nt0(r),pT(PC(niK(xi(r),nBW))));e<r.j.c.length;e++)for(i=e+1;i<r.j.c.length;i++)Lb(t,CY(I0(r.j,e),12),CY(I0(r.j,i),12))>0&&++f;++h}return f}(u.e)),f+=ntT(u.d,u.e)+s,r=new fU(u.b);r.a<r.c.c.length;)i=CY(RU(r),36),(e=CY(I0(n.b,i.p),219)).s||(f+=nrZ(n,e));return f}function nuY(){var n;for(n=0,nuY=T,nOA=new FI(1,1),nON=new FI(1,10),nO$=new FI(0,0),nOI=new FI(-1,1),nOL=Vw(DY(nPx,1),nby,92,0,[nO$,nOA,new FI(1,2),new FI(1,3),new FI(1,4),new FI(1,5),new FI(1,6),new FI(1,7),new FI(1,8),new FI(1,9),nON]),nOx=BJ(nPx,nby,92,32,0,1);n<nOx.length;n++)nOx[n]=EH(A8(1,n),0)?Yq(A8(1,n)):Nt(Yq(H4(A8(1,n))))}function nuZ(n,t,e,i,r,a,c){if(n.c=i.Lf().a,n.d=i.Lf().b,r&&(n.c+=r.Lf().a,n.d+=r.Lf().b),n.b=t.Mf().a,n.a=t.Mf().b,r)switch(r.ag().g){case 0:case 2:n.c+=r.Mf().a+c+a.a+c;break;case 4:n.c-=c+a.a+c+t.Mf().a;break;case 1:n.c+=r.Mf().a+c,n.d-=c+a.b+c+t.Mf().b;break;case 3:n.c+=r.Mf().a+c,n.d+=r.Mf().b+c+a.b+c}else e?n.c-=c+t.Mf().a:n.c+=i.Mf().a+c}function nu1(n,t){var e,i,r,a;this.b=new du,this.e=new du,this.a=n,this.d=t,r=this.a;do(r=CY(_I(new Le(Sb(Jz(r).a.Kc(),new s))),18).c.i).k==(ni8(),n$m)&&this.b.Fc(r);while(r.k==(ni8(),n$m))this.b=Yi(this.b);a=this.a;do(a=CY(_I(new Le(Sb(JV(a).a.Kc(),new s))),18).d.i).k==(ni8(),n$m)&&jB(this.e,a);while(a.k==(ni8(),n$m))for(this.b.dc()?this.c=n.c.p:this.c=CY(this.b.Xb(0),10).c.p,0==this.e.c.length?this.f=n.c.p:this.f=CY(I0(this.e,this.e.c.length-1),10).c.p,i=CY(niK(n,(nlF(),nFo)),15).Kc();i.Ob();)if(Pn(e=CY(i.Pb(),72),(nlL(),nHr))){this.d=CY(niK(e,nHr),232);break}}function nu0(n,t,e){var i,r,a,c,o,u,s,h;for(i=CY(NR(n.a,t),49),a=CY(NR(n.a,e),49),r=CY(NR(n.e,t),49),c=CY(NR(n.e,e),49),i.a.zc(e,i),c.a.zc(t,c),h=a.a.ec().Kc();h.Ob();)s=CY(h.Pb(),10),i.a.zc(s,i),LX(CY(NR(n.e,s),49),t),Xx(CY(NR(n.e,s),49),r);for(u=r.a.ec().Kc();u.Ob();)o=CY(u.Pb(),10),c.a.zc(o,c),LX(CY(NR(n.a,o),49),e),Xx(CY(NR(n.a,o),49),a)}function nu2(n,t,e){var i,r,a,c,o,u,s,h;for(i=CY(NR(n.a,t),49),a=CY(NR(n.a,e),49),r=CY(NR(n.b,t),49),c=CY(NR(n.b,e),49),i.a.zc(e,i),c.a.zc(t,c),h=a.a.ec().Kc();h.Ob();)s=CY(h.Pb(),10),i.a.zc(s,i),LX(CY(NR(n.b,s),49),t),Xx(CY(NR(n.b,s),49),r);for(u=r.a.ec().Kc();u.Ob();)o=CY(u.Pb(),10),c.a.zc(o,c),LX(CY(NR(n.a,o),49),e),Xx(CY(NR(n.a,o),49),a)}function nu3(n,t,e){var i,r,a,c,o,u,s,h;for(i=CY(NR(n.a,t),49),a=CY(NR(n.a,e),49),r=CY(NR(n.d,t),49),c=CY(NR(n.d,e),49),i.a.zc(e,i),c.a.zc(t,c),h=a.a.ec().Kc();h.Ob();)s=CY(h.Pb(),12),i.a.zc(s,i),LX(CY(NR(n.d,s),49),t),Xx(CY(NR(n.d,s),49),r);for(u=r.a.ec().Kc();u.Ob();)o=CY(u.Pb(),12),c.a.zc(o,c),LX(CY(NR(n.a,o),49),e),Xx(CY(NR(n.a,o),49),a)}function nu4(n){var t,e,i,r,a,c,o,u,s,h,f;for(e=nbJ,r=nl3,o=new fU(n.e.a);o.a<o.c.c.length;)a=CY(RU(o),125),r=nP_.Math.min(r,a.e),e=nP_.Math.max(e,a.e);for(t=BJ(n4s,nwl,28,e-r+1,15,1),c=new fU(n.e.a);c.a<c.c.c.length;)a=CY(RU(c),125),a.e-=r,++t[a.e];if(i=0,null!=n.k)for(s=n.k,h=0,f=s.length;h<f&&(u=s[h],t[i++]+=u,t.length!=i);++h);return t}function nu6(n){switch(n.d){case 9:case 8:return!0;case 3:case 5:case 4:case 6:default:return!1;case 7:return CY(noQ(n),17).a==n.o;case 1:case 2:if(-2==n.o)return!1;switch(n.p){case 0:case 1:case 2:case 6:case 5:case 7:return EB(n.k,n.f);case 3:case 4:return n.j==n.e;default:return null==n.n?null==n.g:QY(n.n,n.g)}}}function nu5(n,t,e){var i,r,a,c,o,u,s,h,f;for(a=new Bf(t.c.length),s=new fU(t);s.a<s.c.c.length;)c=CY(RU(s),10),jB(a,n.b[c.c.p][c.p]);for(function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(o=new fU(t);o.a<o.c.c.length;)(a=CY(RU(o),239)).e=null,a.c=0;for(u=null,c=new fU(t);c.a<c.c.c.length;)if(f=(a=CY(RU(c),239)).d[0],!e||f.k==(ni8(),n$v)){for(b=CY(niK(f,(nlF(),nKW)),15).Kc();b.Ob();)l=CY(b.Pb(),10),(!e||l.k==(ni8(),n$v))&&((!a.e&&(a.e=new du),a.e).Fc(n.b[l.c.p][l.p]),++n.b[l.c.p][l.p].c);if(!e&&f.k==(ni8(),n$v)){if(u)for(h=CY(_G(n.d,u),21).Kc();h.Ob();)for(s=CY(h.Pb(),10),r=CY(_G(n.d,f),21).Kc();r.Ob();)i=CY(r.Pb(),10),((w=n.b[s.c.p][s.p]).e||(w.e=new du),w.e).Fc(n.b[i.c.p][i.p]),++n.b[i.c.p][i.p].c;u=f}}}(n,a,e),f=null;f=function(n){var t,e,i,r,a,c,o,u,s,h;for(t=null,i=new fU(n);i.a<i.c.c.length;)pj(jD((e=CY(RU(i),239)).g,e.d[0]).a),e.b=null,e.e&&e.e.gc()>0&&0==e.c&&(t||(t=new du),dk(t.c,e));if(t)for(;0!=t.c.length;){if((e=CY(_V(t,0),239)).b&&e.b.c.length>0){for(e.b||(e.b=new du),a=new fU(e.b);a.a<a.c.c.length;)if(xf(s=jD((r=CY(RU(a),239)).g,r.d[0]).a),s==(xf(h=jD(e.g,e.d[0]).a),h)){if(H6(n,r,0)>H6(n,e,0))return new Ea(r,e)}else if(pj(jD(r.g,r.d[0]).a)>pj(jD(e.g,e.d[0]).a))return new Ea(r,e)}for(o=(!e.e&&(e.e=new du),e.e).Kc();o.Ob();)(c=CY(o.Pb(),239)).b||(c.b=new du),RL(0,(u=c.b).c.length),kt(u.c,0,e),c.c==u.c.length&&dk(t.c,c)}return null}(a);)!function(n,t,e,i){var r,a,c,o,u,s;for(c=new nfk(n,t,e),u=new Kp(i,0),r=!1;u.b<u.d.gc();)Px(u.b<u.d.gc()),(o=CY(u.d.Xb(u.c=u.b++),239))==t||o==e?N6(u):!r&&pj(jD(o.g,o.d[0]).a)>pj(jD(c.g,c.d[0]).a)?(Px(u.b>0),u.a.Xb(u.c=--u.b),Oe(u,c),r=!0):o.e&&o.e.gc()>0&&(a=(!o.e&&(o.e=new du),o.e).Mc(t),s=(!o.e&&(o.e=new du),o.e).Mc(e),(a||s)&&((!o.e&&(o.e=new du),o.e).Fc(c),++c.c));r||dk(i.c,c)}(n,CY(f.a,239),CY(f.b,239),a);for(t.c.length=0,r=new fU(a);r.a<r.c.c.length;)for(o=(i=CY(RU(r),239)).d,u=0,h=o.length;u<h;++u)c=o[u],dk(t.c,c),n.a[c.c.p][c.p].a=jD(i.g,i.d[0]).a}function nu8(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nEi,e=t).d="ELK Fixed",i=e).b="Keeps the current layout as it is, without any automatic modification. Optional coordinates can be given for nodes and edge bend points.",(r=i).e=new ok,r))),KS(n,nEi,ng$,nZE),KS(n,nEi,nyT,Z4(nZT)),KS(n,nEi,nM_,Z4(nZm)),KS(n,nEi,npr,Z4(nZv)),KS(n,nEi,npE,Z4(nZk)),KS(n,nEi,npe,Z4(nZy))}function nu9(n,t,e){var i,r,a,c;if(i=AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15))),c=AW(J_(nbR,xC(AW(J_(null==e?0:XS(e),nbK)),15))),(a=XG(n,t,i))&&c==a.f&&N7(e,a.i))return e;if(Xq(n,e,c))throw new pN("value already present: "+e).e;return(r=new xd(t,i,e,c),a)?(noe(n,a),nah(n,r,a),a.e=null,a.c=null,a.i):(nah(n,r,null),nel(n),null)}function nu7(){nu7=T,nGT=new kz(npL,0),nGv=new kz("NIKOLOV",1),nGM=new kz("NIKOLOV_PIXEL",2),nGy=new kz("NIKOLOV_IMPROVED",3),nGk=new kz("NIKOLOV_IMPROVED_PIXEL",4),nGg=new kz("DUMMYNODE_PERCENTAGE",5),nGE=new kz("NODECOUNT_PERCENTAGE",6),nGj=new kz("NO_BOUNDARY",7),nGp=new kz("MODEL_ORDER_LEFT_TO_RIGHT",8),nGm=new kz("MODEL_ORDER_RIGHT_TO_LEFT",9)}function nsn(){nsn=T,nzV=new To(nkM,(SB(),!1)),nz1=new To(nkE,Qx(0)),nz0=new To(nkT,0),nz2=new To(nkj,!1),WW(),nzQ=new To(nkS,nzJ=nzG),Qx(0),nzW=new To(nkP,Qx(1)),zf(),nz5=new To(nkO,nz8=nVS),Hp(),nz9=new To(nkC,nz7=nzH),nti(),nzY=new To(nkI,nzZ=nVE),nz6=new To(nkA,0),nz3=new To(nkL,!1),nz4=new To(nkN,!1)}function nst(n,t,e){var i,r,a,c,o,u;if(!t)return null;if(!(e<=-1))return nnD(CY(Gt(n.Dh(),e),19));if(jM(i=Gt(t.Dh(),-1-e),102))return CY(i,19);for(o=0,u=(c=CY(t.Mh(i),160)).gc();o<u;++o)if(ER(c.Ul(o))===ER(n)&&jM(r=c.Tl(o),102)&&((a=CY(r,19)).Bb&nEI)!=0)return a;throw new px("The containment feature could not be located").e}function nse(){nse=T,nV6=new To(nkq,(SB(),!1)),Qx(-1),nVY=new To(nkX,Qx(-1)),Qx(-1),nVZ=new To(nkz,Qx(-1)),nV1=new To(nkV,!1),_d(),nWn=new To(nkW,nWt=nWC),nWe=new To(nkQ,-1),Jq(),nV9=new To(nkJ,nV7=nVQ),nV8=new To(nkY,!0),HY(),nV3=new To(nkZ,nV4=nWL),nV2=new To(nk1,!1),Qx(1),nV0=new To(nk0,Qx(1)),nV5=new wX(nk2)}function nsi(){nsi=T,nXs=new Mw("ROOT_PROC",0),nXe=new Mw("FAN_PROC",1),nXc=new Mw("LEVEL_PROC",2),nXo=new Mw("NEIGHBORS_PROC",3),nXa=new Mw("LEVEL_HEIGHT",4),nXt=new Mw("DIRECTION_PROC",5),nXu=new Mw("NODE_POSITION_PROC",6),nq7=new Mw("COMPACTION_PROC",7),nXr=new Mw("LEVEL_COORDS",8),nXi=new Mw("GRAPH_BOUNDS_PROC",9),nXn=new Mw("DETREEIFYING_PROC",10)}function nsr(n,t){var e,i,r,a,c,o,u,s;for(a=0,s=$7(t),o=null,r=!1,u=FS(s.a).i;a<u;++a)(e=nsr(n,CY(nfp(s,a,jM(c=CY(GO(FS(s.a),a),89).c,90)?CY(c,29):(nlq(),n2y)),29))).dc()||(o?(r||(r=!0,o=new Ay(o)),o.Gc(e)):o=e);return(i=function(n,t){var e,i,r,a,c;for(t.s||(t.s=new Lk(n0V,t,21,17)),a=null,r=0,c=(i=t.s).i;r<c;++r)switch(xb(Ua(n,e=CY(GO(i,r),179)))){case 2:case 3:a||(a=new du),dk(a.c,e)}return a||($O(),$O(),nO_)}(n,t)).dc()?o||($O(),$O(),nO_):o?(r||(o=new Ay(o)),o.Gc(i),o):i}function nsa(n,t){var e,i,r,a,c,o,u,s;for(a=0,s=$7(t),o=null,i=!1,u=FS(s.a).i;a<u;++a)(e=nsa(n,CY(nfp(s,a,jM(c=CY(GO(FS(s.a),a),89).c,90)?CY(c,29):(nlq(),n2y)),29))).dc()||(o?(i||(i=!0,o=new Ay(o)),o.Gc(e)):o=e);return(r=function(n,t){var e,i,r,a,c;for(t.s||(t.s=new Lk(n0V,t,21,17)),a=null,r=0,c=(i=t.s).i;r<c;++r)switch(xb(Ua(n,e=CY(GO(i,r),179)))){case 4:case 5:case 6:a||(a=new du),dk(a.c,e)}return a||($O(),$O(),nO_)}(n,t)).dc()?o||($O(),$O(),nO_):o?(i||(o=new Ay(o)),o.Gc(r),o):r}function nsc(n,t,e){var i,r,a,c,o,u;if(jM(t,76))return nnw(n,t,e);for(c=0,o=null,a=null,i=CY(n.g,124);c<n.i;++c)if(QY(t,(r=i[c]).md())&&jM(a=r.Lk(),102)&&(CY(a,19).Bb&nEI)!=0){o=r;break}return o&&(TN(n.e)&&(u=a.Jk()?$6(n,4,a,t,null,nhv(n,a,t,jM(a,102)&&(CY(a,19).Bb&nwG)!=0),!0):$6(n,a.tk()?2:1,a,t,a.ik(),-1,!0),e?e.nj(u):e=u),e=nsc(n,o,e)),e}function nso(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nMm,e=t).d="ELK SPOrE Overlap Removal",i=e).b='A node overlap removal algorithm proposed by Nachmanson et al. in "Node overlap removal by growing a tree".',(r=i).e=new cX,r))),KS(n,nMm,nMc,Z4(nQA)),KS(n,nMm,ng$,nQC),KS(n,nMm,ng4,8),KS(n,nMm,nMf,Z4(nQI)),KS(n,nMm,nMw,Z4(nQP)),KS(n,nMm,nMd,Z4(nQO)),KS(n,nMm,nye,(SB(),!1))}function nsu(n,t,e,i){var r,a,c,o,u,s,h,f;for(c=Pu(t.c,e,i),h=new fU(t.a);h.a<h.c.c.length;){for(OT((s=CY(RU(h),10)).n,c),f=new fU(s.j);f.a<f.c.c.length;)for(a=new fU(CY(RU(f),12).g);a.a<a.c.c.length;)for(zc((r=CY(RU(a),18)).a,c),(o=CY(niK(r,(nlL(),nHP)),75))&&zc(o,c),u=new fU(r.b);u.a<u.c.c.length;)OT(CY(RU(u),72).n,c);jB(n.a,s),s.a=n}}function nss(n){var t,e,i,r,a,c;if(n.d)throw new px((PL(nI5),ndS+nI5.k+ndP)).e;for(n.c==(Ju(),nY7)&&nfz(n,nY8),t=new fU(n.a.a);t.a<t.c.c.length;)CY(RU(t),194).e=0;for(a=new fU(n.a.b);a.a<a.c.c.length;)for((r=CY(RU(a),86)).o=nw_,i=r.f.Kc();i.Ob();)e=CY(i.Pb(),86),++e.d.e;for(function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(s=nwF,i=new fU(n.a.b);i.a<i.c.c.length;)t=CY(RU(i),86),s=nP_.Math.min(s,t.d.f.g.c+t.e.a);for(b=new vq,c=new fU(n.a.a);c.a<c.c.c.length;)(a=CY(RU(c),194)).i=s,0==a.e&&F_(b,a,b.c.b,b.c);for(;0!=b.b;){for(r=(a=CY(0==b.b?null:(Px(0!=b.b),Gy(b,b.a.a)),194)).f.g.c,l=a.a.a.ec().Kc();l.Ob();)h=CY(l.Pb(),86),d=a.i+h.e.a,h.d.g||h.g.c<d?h.o=d:h.o=h.g.c;for(r-=a.f.o,a.b+=r,n.c==(Ju(),nY9)||n.c==nY5?a.c+=r:a.c-=r,f=a.a.a.ec().Kc();f.Ob();)for(u=(h=CY(f.Pb(),86)).f.Kc();u.Ob();)o=CY(u.Pb(),86),w=T$(n.c)?n.f.yf(h,o):n.f.zf(h,o),o.d.i=nP_.Math.max(o.d.i,h.o+h.g.b+w-o.e.a),o.k||(o.d.i=nP_.Math.max(o.d.i,o.g.c-o.e.a)),--o.d.e,0==o.d.e&&IA(b,o.d)}for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),86)).g.c=t.o}(n),c=new fU(n.a.b);c.a<c.c.c.length;)CY(RU(c),86).k=!0;return n}function nsh(n){var t,e,i,r,a,c,o,u;if(1!=(i=pj(PI(ncx(n,(nl_(),nYL))))))for(T_(n,i*n.g,i*n.f),n.c||(n.c=new Lk(nNi,n,9,9)),c=n.c,o=new oA,NP(c),NP(o),NP(u=new Ik(c,o)),e=new TO(u),a=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(n.n||(n.n=new Lk(nNt,n,1,7)),n.n),(n.c||(n.c=new Lk(nNi,n,9,9)),n.c),e])));ncv(a);)(r=CY(_I(a),422)).qh(i*r.nh(),i*r.oh()),r.ph(i*r.mh(),i*r.lh()),(t=CY(r.of(nYp),8))&&(t.a*=i,t.b*=i)}function nsf(n,t,e){var i,r,a,c,o;if(yP(),c=CY(t,69).xk(),noz(n.e,t)){if(t.Si()&&nhc(n,t,e,jM(t,102)&&(CY(t,19).Bb&nwG)!=0))return!1}else for(a=0,o=nox(n.e.Dh(),t),i=CY(n.g,124);a<n.i;++a)if(r=i[a],o.am(r.Lk()))if(c?QY(r,e):null==e?null==r.md():QY(e,r.md()))return!1;else return CY(nnv(n,a,c?CY(e,76):Fy(t,e)),76),!0;return B7(n,c?CY(e,76):Fy(t,e))}function nsl(n,t,e,i){this.e=n,this.k=CY(niK(n,(nlF(),nFf)),312),this.g=BJ(nAr,npU,10,t,0,1),this.b=BJ(nPS,nby,345,t,7,1),this.a=BJ(nAr,npU,10,t,0,1),this.d=BJ(nPS,nby,345,t,7,1),this.j=BJ(nAr,npU,10,t,0,1),this.i=BJ(nPS,nby,345,t,7,1),this.p=BJ(nPS,nby,345,t,7,1),this.n=BJ(nPE,nby,485,t,8,1),y$(this.n,(SB(),!1)),this.f=BJ(nPE,nby,485,t,8,1),y$(this.f,!0),this.o=e,this.c=i}function nsb(n,t){var e,i,r,a,c,o;if(!t.dc())if(CY(t.Xb(0),293).d==(nr_(),nRd)){if(0!=(o=function(n,t){var e,i,r;for(r=new Bf(t.gc()),i=t.Kc();i.Ob();)(e=CY(i.Pb(),293)).c==e.f?nrS(n,e,e.c):function(n,t){var e,i,r;for(e=t.a.o.a,r=new fq(new Rk(xi(t.a).b,t.c,t.f+1));r.b<r.d.gc();)if(Px(r.b<r.d.gc()),(i=CY(r.d.Xb(r.c=r.b++),30)).c.a>=e)return nrS(n,t,i.p),!0;return!1}(n,e)||dk(r.c,e);return r}(n,t)).c.length)for(ji(o,new eN),a=o.c.length,c=0;c<a;c++)nrS(n,(RN(c,o.c.length),CY(o.c[c],293)),function(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(a=t.c.length,RN(e,t.c.length),o=(c=CY(t.c[e],293)).a.o.a,f=c.c,l=0,s=c.c;s<=c.f;s++){if(o<=n.a[s])return s;for(h=n.a[s],u=null,r=e+1;r<a;r++)RN(r,t.c.length),(i=CY(t.c[r],293)).c<=s&&i.f>=s&&(u=i);u&&(h=nP_.Math.max(h,u.a.o.a)),h>l&&(f=s,l=h)}return f}(n,o,c))}else for(i=t.Kc();i.Ob();){switch((e=CY(i.Pb(),293)).d.g){case 5:nrS(n,e,function(n,t){var e,i,r;for(e=0,r=(i=function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(r=2*pj(PI(niK(u=xi(t.a),(nlL(),nUE)))),h=pj(PI(niK(u,nUI))),s=nP_.Math.max(r,h),a=BJ(n4b,nwX,28,t.f-t.c+1,15,1),i=-s,e=0,o=t.b.Kc();o.Ob();)c=CY(o.Pb(),10),i+=n.a[c.c.p]+s,a[e++]=i;for(i+=n.a[t.a.c.p]+s,a[e++]=i,l=new fU(t.e);l.a<l.c.c.length;)f=CY(RU(l),10),i+=n.a[f.c.p]+s,a[e++]=i;return a}(n,t))[i.length-1]/2;e<i.length;e++)if(i[e]>=r)return t.c+e;return t.c+t.b.gc()}(n,e));break;case 0:nrS(n,e,(r=(e.f-e.c+1-1)/2|0,e.c+r));break;case 4:nrS(n,e,function(n,t){var e,i;for(e=(i=t.c)+1;e<=t.f;e++)n.a[e]>n.a[i]&&(i=e);return i}(n,e));break;case 2:YT(e),nrS(n,e,ne0(e)?e.c:e.f);break;case 1:YT(e),nrS(n,e,ne0(e)?e.f:e.c)}!function(n){var t;for(X2(),t=CY(_I(new Le(Sb(Jz(n).a.Kc(),new s))),18).c.i;t.k==(ni8(),n$m);)VD(t,(nlF(),nKY),(SB(),!0)),t=CY(_I(new Le(Sb(Jz(t).a.Kc(),new s))),18).c.i}(e.a)}}function nsw(n,t,e,i){var r,a,c;return c=new vT(t,e),n.a?i?(r=CY(xh(CY(NR(n.b,t),260)),260),++r.a,c.d=i.d,c.e=i.e,c.b=i,c.c=i,i.e?i.e.c=c:r.b=c,i.d?i.d.b=c:n.a=c,i.d=c,i.e=c):(CY(xh(n.e),511).b=c,c.d=n.e,n.e=c,(r=CY(NR(n.b,t),260))?(++r.a,(a=r.c).c=c,c.e=a,r.c=c):(xM(n.b,t,r=new $F(c)),++n.c)):(n.a=n.e=c,xM(n.b,t,new $F(c)),++n.c),++n.d,c}function nsd(n,t){var e,i,r,a,c,o,u,s;if(t.Ug("Network simplex",1),n.e.a.c.length<1)return void t.Vg();for(r=new fU(n.e.a);r.a<r.c.c.length;)CY(RU(r),125).e=0;if((a=n.e.a.c.length>=40)&&function(n){var t,e,i,r,a,c,o;for(n.o=new j1,i=new vq,c=new fU(n.e.a);c.a<c.c.c.length;)1==W1(a=CY(RU(c),125)).c.length&&F_(i,a,i.c.b,i.c);for(;0!=i.b;)0!=W1(a=CY(0==i.b?null:(Px(0!=i.b),Gy(i,i.a.a)),125)).c.length&&(t=CY(I0(W1(a),0),218),e=a.g.a.c.length>0,o=J6(t,a),e?Sx(o.b,t):Sx(o.g,t),1==W1(o).c.length&&F_(i,o,i.c.b,i.c),r=new Ea(a,t),K3(n.o,r),H0(n.e.a,a))}(n),function(n){var t,e,i,r,a,c,o,u,s,h;for(s=n.e.a.c.length,a=new fU(n.e.a);a.a<a.c.c.length;)CY(RU(a),125).j=!1;for(n.i=BJ(n4s,nwl,28,s,15,1),n.g=BJ(n4s,nwl,28,s,15,1),n.n=new du,r=0,h=new du,o=new fU(n.e.a);o.a<o.c.c.length;)(c=CY(RU(o),125)).d=r++,0==c.b.a.c.length&&jB(n.n,c),Vc(h,c.g);for(t=0,i=new fU(h);i.a<i.c.c.length;)(e=CY(RU(i),218)).c=t++,e.f=!1;u=h.c.length,null==n.b||n.b.length<u?(n.b=BJ(n4b,nwX,28,u,15,1),n.c=BJ(n4h,ndV,28,u,16,1)):pG(n.c),n.d=h,n.p=new SM(Ga(n.d.c.length)),n.j=1}(n),function(n,t){var e,i,r,a,c,o,u;for(r=BJ(n4s,nwl,28,n.e.a.c.length,15,1),c=new fU(n.e.a);c.a<c.c.c.length;)a=CY(RU(c),125),r[a.d]+=a.b.a.c.length;for(o=CJ(t);0!=o.b;)for(i=Hd(new fU((a=CY(0==o.b?null:(Px(0!=o.b),Gy(o,o.a.a)),125)).g.a));i.Ob();)(u=(e=CY(i.Pb(),218)).e).e=nP_.Math.max(u.e,a.e+e.a),--r[u.d],0==r[u.d]&&F_(o,u,o.c.b,o.c)}(n,n.n),n.d.c.length>0){for(pG(n.c);function n(t,e){var i,r,a,c;for(a=1,e.j=!0,c=null,r=new fU(W1(e));r.a<r.c.c.length;)i=CY(RU(r),218),!t.c[i.c]&&(t.c[i.c]=!0,c=J6(i,e),i.f?a+=n(t,c):c.j||i.a!=i.e.e-i.d.e||(i.f=!0,LX(t.p,i),a+=n(t,c)));return a}(n,CY(RU(new fU(n.e.a)),125))<n.e.a.c.length;){for(s=(c=function(n){var t,e,i,r,a;for(r=nl3,a=null,i=new fU(n.d);i.a<i.c.c.length;)(e=CY(RU(i),218)).d.j^e.e.j&&(t=e.e.e-e.d.e-e.a)<r&&(r=t,a=e);return a}(n)).e.e-c.d.e-c.a,c.e.j&&(s=-s),u=new fU(n.e.a);u.a<u.c.c.length;)(o=CY(RU(u),125)).j&&(o.e+=s);pG(n.c)}pG(n.c),nam(n,CY(RU(new fU(n.e.a)),125)),nfm(n)}for(e=JE(n),i=0;e&&i<n.f;)(function(n,t,e){var i,r,a;if(!t.f)throw new pN("Given leave edge is no tree edge.").e;if(e.f)throw new pN("Given enter edge is a tree edge already.").e;for(t.f=!1,jL(n.p,t),e.f=!0,LX(n.p,e),i=e.e.e-e.d.e-e.a,nac(n,e.e,t)||(i=-i),a=new fU(n.e.a);a.a<a.c.c.length;)nac(n,r=CY(RU(a),125),t)||(r.e+=i);n.j=1,pG(n.c),nam(n,CY(RU(new fU(n.e.a)),125)),nfm(n)})(n,e,function(n,t){var e,i,r,a,c,o,u;if(!t.f)throw new pN("The input edge is not a tree edge.").e;for(a=null,r=nl3,i=new fU(n.d);i.a<i.c.c.length;)o=(e=CY(RU(i),218)).d,u=e.e,nac(n,o,t)&&!nac(n,u,t)&&(c=u.e-o.e-e.a)<r&&(r=c,a=e);return a}(n,e)),e=JE(n),++i;a&&function(n){for(var t,e,i,r;!pq(n.o);)e=CY(LG(n.o),42),i=CY(e.a,125),r=J6(t=CY(e.b,218),i),t.e==i?(SN(r.g,t),i.e=r.e+t.a):(SN(r.b,t),i.e=r.e-t.a),jB(n.e.a,i)}(n),n.a?function(n,t){var e,i,r,a,c;for(c=null,a=new fU(n.e.a);a.a<a.c.c.length;)if((r=CY(RU(a),125)).b.a.c.length==r.g.a.c.length){for(i=r.e,c=function(n){var t,e,i,r,a;for(a=nl3,r=nl3,i=new fU(W1(n));i.a<i.c.c.length;)t=(e=CY(RU(i),218)).e.e-e.d.e,e.e==n&&t<r?r=t:t<a&&(a=t);return r==nl3&&(r=-1),a==nl3&&(a=-1),new Ea(Qx(r),Qx(a))}(r),e=r.e-CY(c.a,17).a+1;e<r.e+CY(c.b,17).a;e++)t[e]<t[i]&&(i=e);t[i]<t[r.e]&&(--t[r.e],++t[i],r.e=i)}}(n,nu4(n)):nu4(n),n.b=null,n.d=null,n.p=null,n.c=null,n.g=null,n.i=null,n.n=null,n.o=null,t.Vg()}function nsg(n,t,e,i,r,a){var c,o,u,s,h,f,l,b,w,d,g,p,m;for(o=(i+r)/2+a,d=e*nP_.Math.cos(o),g=e*nP_.Math.sin(o),p=d-t.g/2,m=g-t.f/2,GZ(t,p),G1(t,m),f=n.a.Eg(t),(w=2*nP_.Math.acos(e/e+n.c))<r-i?(l=w/f,c=(i+r-w)/2):(l=(r-i)/f,c=i),b=no3(t),n.e&&(n.e.Fg(n.d),n.e.Gg(b)),s=new fU(b);s.a<s.c.c.length;)u=CY(RU(s),27),h=n.a.Eg(u),nsg(n,u,e+n.c,c,c+l*h,a),c+=l*h}function nsp(n,t){var e,i,r,a,c,o,u,s;for(u=new fU(t.j);u.a<u.c.c.length;)for(r=new _4((o=CY(RU(u),12)).b);jr(r.a)||jr(r.b);)t!=(a=(e=(i=CY(jr(r.a)?RU(r.a):RU(r.b),18)).c==o?i.d:i.c).i)&&((s=CY(niK(i,(nlL(),nUh)),17).a)<0&&(s=0),c=a.p,0==n.b[c]&&(i.d==e?(n.a[c]-=s+1,n.a[c]<=0&&n.c[c]>0&&IA(n.f,a)):(n.c[c]-=s+1,n.c[c]<=0&&n.a[c]>0&&IA(n.e,a))))}function nsm(n,t,e,i){var r,a,c,o,u,s,h;for(Oj(u=new MH(e,i),CY(niK(t,(nf3(),nXg)),8)),h=ZQ(t.b,0);h.b!=h.d.c;)OT((s=CY(K0(h),40)).e,u),IA(n.b,s);for(o=CY(FB(DJ(new Aa(null,new R$(t.a,16))),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15).Kc();o.Ob();){for(a=ZQ((c=CY(o.Pb(),65)).a,0);a.b!=a.d.c;)r=CY(K0(a),8),r.a+=u.a,r.b+=u.b;IA(n.a,c)}}function nsv(){nsv=T,n1x=new M6("DEFAULT_MINIMUM_SIZE",0),n1D=new M6("MINIMUM_SIZE_ACCOUNTS_FOR_PADDING",1),n1N=new M6("COMPUTE_PADDING",2),n1R=new M6("OUTSIDE_NODE_LABELS_OVERHANG",3),n1K=new M6("PORTS_OVERHANG",4),n1_=new M6("UNIFORM_PORT_SPACING",5),n1F=new M6("SPACE_EFFICIENT_PORT_LABELS",6),n1$=new M6("FORCE_TABULAR_NODE_LABELS",7),n1L=new M6("ASYMMETRICAL",8)}function nsy(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g;for(b=0,w=t[e];b<w.length;b++)d=w[b],n.e[d.c.p][d.p]=b;if(a=t[e],l=i?(nf5(),n1y):(nf5(),n1n),g=t.length,i?0!=e:e!=g-1){for(_7(n,r=t[i?e-1:e+1],i?(qy(),nGD):(qy(),nG$)),s=0,f=a.length;s<f;++s)nnJ(n,c=a[s],l);for(_7(n,a,i?(qy(),nG$):(qy(),nGD)),u=0,h=(o=r).length;u<h;++u)(c=o[u]).e||nnJ(n,c,Jw(l))}else for(u=0,h=(o=a).length;u<h;++u)nnJ(n,c=o[u],l);return!1}function nsk(n,t){var e,i,r,a,c,o;if((o=CY(niK(t,(nlL(),nUt)),101))==(nie(),nZY)||o==nZJ)for(r=new MH(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a).b,c=new fU(n.a);c.a<c.c.c.length;)(a=CY(RU(c),10)).k==(ni8(),n$g)&&((e=CY(niK(a,(nlF(),nK_)),64))==(nf5(),n1n)||e==n1y)&&(i=pj(PI(niK(a,nFr))),o==nZY&&(i*=r),a.n.b=i-CY(niK(a,nH7),8).b,z4(a,!1,!0))}function nsM(){nsM=T,nqD=IG(new xm,(niF(),nxJ),(nlB(),n$4)),nqK=IG(new xm,nxQ,n$9),nqF=AX(IG(new xm,nxQ,nDl),nxY,nDf),nq$=AX(IG(IG(new xm,nxQ,n$Y),nxJ,n$Z),nxY,n$1),nq_=Zg(Zg(yg(AX(IG(new xm,nxV,nDM),nxY,nDk),nxJ),nDy),nDE),nqR=AX(new xm,nxY,n$6),nqN=AX(IG(IG(IG(new xm,nxW,nDt),nxJ,nDi),nxJ,nDr),nxY,nDe),nqx=AX(IG(IG(new xm,nxJ,nDr),nxJ,n$z),nxY,n$X)}function nsE(n,t,e){var i,r,a,c;if(null==n)throw new p5(nbi).e;for(i=a=+((r=n.length)>0&&(Rx(0,n.length),45==n.charCodeAt(0)||(Rx(0,n.length),43==n.charCodeAt(0))));i<r;i++)if(-1==Zw((Rx(i,n.length),n.charCodeAt(i))))throw new p5(nwK+n+'"').e;if(isNaN(c=parseInt(n,10))||c<t||c>e)throw new p5(nwK+n+'"').e;return c}function nsT(n){switch(n){case 100:return nlX(nSW,!0);case 68:return nlX(nSW,!1);case 119:return nlX(nSQ,!0);case 87:return nlX(nSQ,!1);case 115:return nlX(nSJ,!0);case 83:return nlX(nSJ,!1);case 99:return nlX(nSY,!0);case 67:return nlX(nSY,!1);case 105:return nlX(nSZ,!0);case 73:return nlX(nSZ,!1);default:throw new ph(nSV+n.toString(16)).e}}function nsj(n,t,e,i,r){e&&(!i||(n.c-n.b&n.a.length-1)>1)&&1==t&&CY(n.a[n.b],10).k==(ni8(),n$p)?nhE(CY(n.a[n.b],10),(ntG(),nZC)):i&&(!e||(n.c-n.b&n.a.length-1)>1)&&1==t&&CY(n.a[n.c-1&n.a.length-1],10).k==(ni8(),n$p)?nhE(CY(n.a[n.c-1&n.a.length-1],10),(ntG(),nZI)):(n.c-n.b&n.a.length-1)==2?(nhE(CY(VJ(n),10),(ntG(),nZC)),nhE(CY(VJ(n),10),nZI)):function(n,t){var e,i,r,a,c,o,u,s,h;for(u=SY(n.c-n.b&n.a.length-1),s=null,h=null,a=new xU(n);a.a!=a.b;)r=CY(Qd(a),10),e=(o=CY(niK(r,(nlF(),nK1)),12))?o.i:null,i=(c=CY(niK(r,nK0),12))?c.i:null,(s!=e||h!=i)&&(nci(u,t),s=e,h=i),dk(u.c,r);nci(u,t)}(n,r),FT(n)}function nsS(n,t,e){var i,r,a,c;if(t[0]>=n.length)return e.o=0,!0;switch(xq(n,t[0])){case 43:r=1;break;case 45:r=-1;break;default:return e.o=0,!0}if(++t[0],a=t[0],0==(c=nax(n,t))&&t[0]==a)return!1;if(t[0]<n.length&&58==xq(n,t[0])){if(i=60*c,++t[0],a=t[0],0==(c=nax(n,t))&&t[0]==a)return!1;i+=c}else(i=c)<24&&t[0]-a<=2?i*=60:i=i%100+(i/100|0)*60;return e.o=-(i*=r),!0}function nsP(n,t,e,i){var r,a,c,o,u;return c=n.Ph(),u=n.Jh(),r=null,u?t&&(nst(n,t,e).Bb&nwG)==0?(i=nnw(u.El(),n,i),n.di(null),r=t.Qh()):u=null:(c&&(u=c.Qh()),t&&(r=t.Qh())),u!=r&&u&&u.Il(n),o=n.Fh(),n.Bh(t,e),u!=r&&r&&r.Hl(n),n.vh()&&n.wh()&&(c&&o>=0&&o!=e&&(a=new LM(n,1,o,c,null),i?i.nj(a):i=a),e>=0&&(a=new LM(n,1,e,o==e?c:null,t),i?i.nj(a):i=a)),i}function nsO(n){var t,e,i,r;if(null==n.b){if(i=new p1,null!=n.i&&(EW(i,n.i),i.a+=":"),(256&n.f)!=0){for((256&n.f)!=0&&null!=n.a&&(null!=(r=n.i)&&vK(n0A,r.toLowerCase())||(i.a+="//"),EW(i,n.a)),null!=n.d&&(i.a+="/",EW(i,n.d)),(16&n.f)!=0&&(i.a+="/"),t=0,e=n.j.length;t<e;t++)0!=t&&(i.a+="/"),EW(i,n.j[t]);null!=n.g&&(i.a+="?",EW(i,n.g))}else EW(i,n.a);null!=n.e&&(i.a+="#",EW(i,n.e)),n.b=i.a}return n.b}function nsC(n,t,e){var i,r,a,c,o;for(a=0;a<t;a++){for(i=0,o=a+1;o<t;o++)i=JF(JF(J_(RF(n[a],nwW),RF(n[o],nwW)),RF(e[a+o],nwW)),RF(AW(i),nwW)),e[a+o]=AW(i),i=A7(i,32);e[a+t]=AW(i)}for(!function(n,t,e){var i,r,a;for(r=0,i=0;r<e;r++)a=t[r],n[r]=a<<1|i,i=a>>>31;0!=i&&(n[e]=i)}(e,e,t<<1),i=0,r=0,c=0;r<t;++r,c++)i=JF(JF(J_(RF(n[r],nwW),RF(n[r],nwW)),RF(e[c],nwW)),RF(AW(i),nwW)),e[c]=AW(i),i=JF(i=A7(i,32),RF(e[++c],nwW)),e[c]=AW(i),i=A7(i,32);return e}function nsI(n,t,e){var i,r,a,c,o,u,s,h;if(!KZ(t)){for(u=pj(PI(Y_(e.c,(nlL(),nUN)))),(s=CY(Y_(e.c,nUL),140))||(s=new gd),i=e.a,r=null,o=t.Kc();o.Ob();)c=CY(o.Pb(),12),h=0,h=r?u+r.o.b:s.d,a=SA(v4(new d0,c),n.f),xM(n.k,c,a),noI(v2(v0(v1(v3(new d1,0),Dy(nP_.Math.ceil(h))),i),a)),r=c,i=a;noI(v2(v0(v1(v3(new d1,0),Dy(nP_.Math.ceil(s.a+r.o.b))),i),e.d))}}function nsA(n,t){var e,i,r,a,c;if(n.Ab){if(n.Ab){if((c=n.Ab.i)>0){if(r=CY(n.Ab.g,2033),null==t){for(a=0;a<c;++a)if(null==(e=r[a]).d)return e}else for(a=0;a<c;++a)if(OB(t,(e=r[a]).d))return e}}else if(null==t){for(i=new j2(n.Ab);i.e!=i.i.gc();)if(null==(e=CY(Z6(i),598)).d)return e}else for(i=new j2(n.Ab);i.e!=i.i.gc();)if(OB(t,(e=CY(Z6(i),598)).d))return e}return null}function nsL(n,t,e){var i,r,a,c,o;switch(o=null,t.g){case 1:for(r=new fU(n.j);r.a<r.c.c.length;)if(pT(PC(niK(i=CY(RU(r),12),(nlF(),nKq)))))return i;VD(o=new nro,(nlF(),nKq),(SB(),!0));break;case 2:for(c=new fU(n.j);c.a<c.c.c.length;)if(pT(PC(niK(a=CY(RU(c),12),(nlF(),nFt)))))return a;VD(o=new nro,(nlF(),nFt),(SB(),!0))}if(o){Ro(o,n),nau(o,e);var u=o.n,s=n.o;switch(e.g){case 1:u.a=s.a/2,u.b=0;break;case 2:u.a=s.a,u.b=s.b/2;break;case 3:u.a=s.a/2,u.b=s.b;break;case 4:u.a=0,u.b=s.b/2}}return o}function nsN(n,t){var e,i,r,a,c,o;for(o=-1,c=new vq,i=new _4(n.b);jr(i.a)||jr(i.b);){for(e=CY(jr(i.a)?RU(i.a):RU(i.b),18),o=nP_.Math.max(o,pj(PI(niK(e,(nlL(),nHd))))),e.c==n?vZ(xX(new Aa(null,new R$(e.b,16)),new tZ),new lU(c)):vZ(xX(new Aa(null,new R$(e.b,16)),new t1),new lG(c)),a=ZQ(c,0);a.b!=a.d.c;)Pn(r=CY(K0(a),72),(nlF(),nKD))||VD(r,nKD,e);Vc(t,c),$p(c)}return o}function nsx(n,t,e,i,r){var a,c,o,u,s;o=r?i.b:i.a,!vF(n.a,i)&&(s=o>e.s&&o<e.c,u=!1,0!=e.e.b&&0!=e.j.b&&(u|=nP_.Math.abs(o-pj(PI(S9(e.e))))<ngY&&nP_.Math.abs(o-pj(PI(S9(e.j))))<ngY,u|=nP_.Math.abs(o-pj(PI(S7(e.e))))<ngY&&nP_.Math.abs(o-pj(PI(S7(e.j))))<ngY),(s||u)&&((c=CY(niK(t,(nlL(),nHP)),75))||(c=new gj,VD(t,nHP,c)),F_(c,a=new TP(i),c.c.b,c.c),LX(n.a,a)))}function ns$(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nM$,e=t).d="ELK Box",i=e).b="Algorithm for packing of unconnected boxes, i.e. graphs without edges.",(r=i).e=new oy,r))),KS(n,nM$,ng$,nJl),KS(n,nM$,ng4,15),KS(n,nM$,ng3,Qx(0)),KS(n,nM$,nMD,Z4(nJc)),KS(n,nM$,npr,Z4(nJu)),KS(n,nM$,npi,Z4(nJh)),KS(n,nM$,ngx,nMx),KS(n,nM$,ng9,Z4(nJo)),KS(n,nM$,npE,Z4(nJs)),KS(n,nM$,nMR,Z4(nJr)),KS(n,nM$,nyd,Z4(nJa))}function nsD(n,t){var e,i,r,a,c,o,u,s,h;if(c=(r=n.i).o.a,a=r.o.b,c<=0&&a<=0)return nf5(),n1v;switch(s=n.n.a,h=n.n.b,o=n.o.a,e=n.o.b,t.g){case 2:case 1:if(s<0)return nf5(),n1y;if(s+o>c)return nf5(),n1n;break;case 4:case 3:if(h<0)return nf5(),n1t;if(h+e>a)return nf5(),n1m}return(u=(s+o/2)/c)+(i=(h+e/2)/a)<=1&&u-i<=0?(nf5(),n1y):u+i>=1&&u-i>=0?(nf5(),n1n):i<.5?(nf5(),n1t):(nf5(),n1m)}function nsR(n,t,e,i,r,a,c){var o,u,s,h,f;for(f=new TI,u=t.Kc();u.Ob();)for(h=new fU(CY(u.Pb(),853).Rf());h.a<h.c.c.length;)ER((s=CY(RU(h),187)).of((nl_(),nJK)))===ER((GN(),nZr))&&(nuZ(f,s,!1,i,r,a,c),nrx(n,f));for(o=e.Kc();o.Ob();)for(h=new fU(CY(o.Pb(),853).Rf());h.a<h.c.c.length;)ER((s=CY(RU(h),187)).of((nl_(),nJK)))===ER((GN(),nZi))&&(nuZ(f,s,!0,i,r,a,c),nrx(n,f))}function nsK(){nsK=T,nxc=new TZ((nl_(),nYC),Qx(1)),nxl=new TZ(nYq,80),nxf=new TZ(nYK,5),nN2=new TZ(nJj,ng0),nxo=new TZ(nYI,Qx(1)),nxh=new TZ(nYN,(SB(),!0)),nxi=new TW(50),nxe=new TZ(nYa,nxi),nN4=nJQ,nxr=nYv,nN3=new TZ(nJR,!1),nxt=nYr,nN7=nJ9,nxn=nYt,nN9=nJ5,nN8=nJ4,nxa=nYE,nra(),nN5=nNX,nxb=nNJ,nN6=nNq,nxu=nNV,nxs=nNQ,nxg=nYY,nxm=nY2,nxd=nYJ,nxw=nYQ,QP(),new TZ(nYZ,nxp=n1H)}function nsF(n,t){var e,i,r,a;return(i=nP_.Math.min(nP_.Math.abs(n.c-(t.c+t.b)),nP_.Math.abs(n.c+n.b-t.c)),a=nP_.Math.min(nP_.Math.abs(n.d-(t.d+t.a)),nP_.Math.abs(n.d+n.a-t.d)),(e=nP_.Math.abs(n.c+n.b/2-(t.c+t.b/2)))>n.b/2+t.b/2||(r=nP_.Math.abs(n.d+n.a/2-(t.d+t.a/2)))>n.a/2+t.a/2)?1:0==e&&0==r?0:0==e?a/r+1:0==r?i/e+1:nP_.Math.min(i/e,a/r)+1}function ns_(n){var t,e,i,r,a;for(jB(a=new Bf((!n.a&&(n.a=new jU(nL0,n,5)),n.a).i+2),new MH(n.j,n.k)),vZ(new Aa(null,(!n.a&&(n.a=new jU(nL0,n,5)),new R$(n.a,16))),new wl(a)),jB(a,new MH(n.b,n.c)),t=1;t<a.c.length-1;)RN(t-1,a.c.length),e=CY(a.c[t-1],8),RN(t,a.c.length),i=CY(a.c[t],8),RN(t+1,a.c.length),r=CY(a.c[t+1],8),e.a==i.a&&i.a==r.a||e.b==i.b&&i.b==r.b?_V(a,t):++t;return a}function nsB(n,t){var e,i,r,a;if(Wy(),a=CY(niK(n.i,(nlL(),nUt)),101),0!=n.j.g-t.j.g||a!=(nie(),nZQ)&&a!=nZY&&a!=nZJ)return 0;if(a==(nie(),nZQ)&&(e=CY(niK(n,nUe),17),i=CY(niK(t,nUe),17),e&&i)&&0!=(r=e.a-i.a))return r;switch(n.j.g){case 1:return Jj(n.n.a,t.n.a);case 2:return Jj(n.n.b,t.n.b);case 3:return Jj(t.n.a,n.n.a);case 4:return Jj(t.n.b,n.n.b);default:throw new px(npB).e}}function nsH(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;for(e=SI((s=new d4,s.a.g=t,h=s,f=new $2(t.e),h.a.d=f,l=h,b=nDX,l.a.j=b,l),n.a),0==t.j.c.length||HH(CY(I0(t.j,0),60).a,e),u=new ds,xM(n.e,e,u),c=new dV,o=new dV,a=new fU(t.k);a.a<a.c.c.length;)LX(c,(r=CY(RU(a),18)).c),LX(o,r.d);(i=c.a.gc()-o.a.gc())<0?(VO(u,!0,(Ju(),nY8)),VO(u,!1,nY9)):i>0&&(VO(u,!1,(Ju(),nY8)),VO(u,!0,nY9)),Gd(t.g,new kk(n,e)),xM(n.g,t,e)}function nsU(){var n;for(n=2,nsU=T,nOg=Vw(DY(n4s,1),nwl,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]),nOp=BJ(n4s,nwl,28,37,15,1),nOm=Vw(DY(n4s,1),nwl,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]),nOv=BJ(n4f,nwH,28,37,14,1);n<=36;n++)nOp[n]=Dy(nP_.Math.pow(n,nOg[n])),nOv[n]=neC(nbj,nOp[n])}function nsG(n,t){var e,i,r,a;for(r=t.d?n.a.c==(DI(),nqS)?Jz(t.b):JV(t.b):n.a.c==(DI(),nqj)?Jz(t.b):JV(t.b),a=!1,i=new Le(Sb(r.a.Kc(),new s));ncv(i);)if((e=CY(_I(i),18),pT(n.a.f[n.a.g[t.b.p].p])||_p(e)||e.c.i.c!=e.d.i.c)&&!(pT(n.a.n[n.a.g[t.b.p].p])||pT(n.a.n[n.a.g[t.b.p].p]))&&(a=!0,vF(n.b,n.a.g[function(n,t){if(n.c.i==t)return n.d.i;if(n.d.i==t)return n.c.i;throw new pN("Node "+t+" is neither source nor target of edge "+n).e}(e,t.b).p])))return t.c=!0,t.a=e,t;return t.c=a,t.a=null,t}function nsq(n,t,e){var i,r,a,c,o,u,s;if(0==(i=e.gc()))return!1;if(n.Pj())if(u=n.Qj(),Yp(n,t,e),c=1==i?n.Ij(3,null,e.Kc().Pb(),t,u):n.Ij(5,null,e,t,u),n.Mj()){for(o=i<100?null:new mw(i),a=t+i,r=t;r<a;++r)s=n.xj(r),o=n.Nj(s,o);o?(o.nj(c),o.oj()):n.Jj(c)}else n.Jj(c);else if(Yp(n,t,e),n.Mj()){for(o=i<100?null:new mw(i),a=t+i,r=t;r<a;++r)o=n.Nj(n.xj(r),o);o&&o.oj()}return!0}function nsX(n,t,e){var i,r,a,c;return n.Pj()?(r=null,a=n.Qj(),i=n.Ij(1,c=n.Dj(t,n.Zi(t,e)),e,t,a),n.Mj()&&!(n.Yi()&&c?QY(c,e):ER(c)===ER(e))?(c&&(r=n.Oj(c,r)),(r=n.Nj(e,r))?(r.nj(i),r.oj()):n.Jj(i)):r?(r.nj(i),r.oj()):n.Jj(i)):(c=n.Dj(t,n.Zi(t,e)),n.Mj()&&!(n.Yi()&&c?QY(c,e):ER(c)===ER(e))&&(r=null,c&&(r=n.Oj(c,null)),(r=n.Nj(e,r))&&r.oj())),c}function nsz(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(n.e=t,n.f=CY(niK(t,(Xo(),nxM)),234),l=t.e.c.length,t.a=I3(n4s,[nby,nwl],[53,28],15,[l,l],2),f=new fU(t.c);f.a<f.c.c.length;)h=CY(RU(f),290),t.a[h.c.a][h.d.a]+=CY(niK(h,(nsK(),nxc)),17).a;if(n.d=nP_.Math.max(16*t.e.c.length+t.c.c.length,256),!pT(PC(niK(t,(nsK(),nN4)))))for(s=n.e.e.c.length,o=new fU(t.e);o.a<o.c.c.length;)(u=CY(RU(o),153).d).a=AS(n.f)*s,u.b=AS(n.f)*s;for(e=t.b,a=new fU(t.c);a.a<a.c.c.length;)if(r=CY(RU(a),290),(i=CY(niK(r,nxs),17).a)>0){for(c=0;c<i;c++)jB(e,new Nb(r));naI(r)}}function nsV(){nsV=T,yS(),nlQ=new sJ,Vw(DY(n05,2),nby,381,0,[Vw(DY(n05,1),nS9,600,0,[new vt(nSA)])]),Vw(DY(n05,2),nby,381,0,[Vw(DY(n05,1),nS9,600,0,[new vt(nSL)])]),Vw(DY(n05,2),nby,381,0,[Vw(DY(n05,1),nS9,600,0,[new vt(nSN)]),Vw(DY(n05,1),nS9,600,0,[new vt(nSL)])]),new TV("-1"),Vw(DY(n05,2),nby,381,0,[Vw(DY(n05,1),nS9,600,0,[new vt("\\c+")])]),new TV("0"),new TV("0"),new TV("1"),new TV("0"),new TV(nSU)}function nsW(n){var t,e;return n.c&&n.c.Vh()&&(e=CY(n.c,54),n.c=CY(Qk(n,e),142),n.c!=e&&((4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,9,2,e,n.c)),jM(n.Cb,411)?n.Db>>16==-15&&n.Cb.Yh()&&Un(new Hh(n.Cb,9,13,e,n.c,nnm(Ui(CY(n.Cb,62)),n))):jM(n.Cb,90)&&n.Db>>16==-23&&n.Cb.Yh()&&(jM(t=n.c,90)||(nlq(),t=n2y),jM(e,90)||(nlq(),e=n2y),Un(new Hh(n.Cb,9,10,e,t,nnm(FS(CY(n.Cb,29)),n)))))),n.c}function nsQ(n,t,e,i){var r,a,c,o,u,s,h,f;if(noz(n.e,t)){for(s=0,f=nox(n.e.Dh(),t),a=CY(n.g,124),h=null,u=-1,o=-1,r=0;s<n.i;++s)c=a[s],f.am(c.Lk())&&(r==e&&(u=s),r==i&&(o=s,h=c.md()),++r);if(-1==u)throw new pC(nTg+e+nTp+r).e;if(-1==o)throw new pC(nTm+i+nTp+r).e;return Jp(n,u,o),TN(n.e)&&dq(n,$6(n,7,t,Qx(i),h,e,!0)),h}throw new pN("The feature must be many-valued to support move").e}function nsJ(n,t,e,i){var r,a,c,o,u;switch(u=new TP(t.n),u.a+=t.o.a/2,u.b+=t.o.b/2,o=pj(PI(niK(t,(nlL(),nUn)))),a=n.f,c=n.d,r=n.c,CY(niK(t,(nlF(),nK_)),64).g){case 1:u.a+=c.b+r.a-e/2,u.b=-i-o,t.n.b=-(c.d+o+r.b);break;case 2:u.a=a.a+c.b+c.c+o,u.b+=c.d+r.b-i/2,t.n.a=a.a+c.c+o-r.a;break;case 3:u.a+=c.b+r.a-e/2,u.b=a.b+c.d+c.a+o,t.n.b=a.b+c.a+o-r.b;break;case 4:u.a=-e-o,u.b+=c.d+r.b-i/2,t.n.a=-(c.b+o+r.a)}return u}function nsY(n){var t,e,i,r,a,c;return zU(i=new qG,n),ER(niK(i,(nlL(),nHt)))===ER((Ju(),nY7))&&VD(i,nHt,JO(i)),null==niK(i,(Bl(),nQ4))&&(c=CY(function n(t){var e,i,r;if(r=t,t)for(e=0,i=t.Eh();i;i=i.Eh()){if(++e>nwz)return n(i);if(r=i,i==t)throw new px("There is a cycle in the containment hierarchy of "+t).e}return r}(n),167),VD(i,nQ4,Ez(c.of(nQ4)))),VD(i,(nlF(),nK6),n),VD(i,nKU,new O9(t=CY(mP(nAO),9),CY(Oc(t,t.length),9),0)),r=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(v=f=new nf0(n),y=t!=(Ju(),nZn)&&t!=nY5,nuS(v,!0),Gd(v.e.Rf(),new Cd(v,!0,y)),h=f.a,l=new gp,GL(),r=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),c=0,u=r.length;c<u;++c)e=r[c],(s=j$(h,nIi,e))&&(l.d=nP_.Math.max(l.d,s.jf()));for(i=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),a=0,o=i.length;a<o;++a)e=i[a],(s=j$(h,nIa,e))&&(l.a=nP_.Math.max(l.a,s.jf()));for(w=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),g=0,m=w.length;g<m;++g)(s=j$(h,w[g],nIi))&&(l.b=nP_.Math.max(l.b,s.kf()));for(b=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),d=0,p=b.length;d<p;++d)(s=j$(h,b[d],nIa))&&(l.c=nP_.Math.max(l.c,s.kf()));return l.d>0&&(l.d+=h.n.d,l.d+=h.d),l.a>0&&(l.a+=h.n.a,l.a+=h.d),l.b>0&&(l.b+=h.n.b,l.b+=h.d),l.c>0&&(l.c+=h.n.c,l.c+=h.d),l}((DV(n)&&(yv(),new py(DV(n))),yv(),new Sq(!DV(n)?null:new py(DV(n)),n)),nY9),a=CY(niK(i,nH1),107),Dx(e=i.d,a),Dx(e,r),i}function nsZ(n,t){var e,i,r,a;return i=nP_.Math.abs(L_(n.b).a-L_(t.b).a),a=nP_.Math.abs(L_(n.b).b-L_(t.b).b),e=1,r=1,i>n.b.b/2+t.b.b/2&&(e=1-nP_.Math.min(nP_.Math.abs(n.b.c-(t.b.c+t.b.b)),nP_.Math.abs(n.b.c+n.b.b-t.b.c))/i),a>n.b.a/2+t.b.a/2&&(r=1-nP_.Math.min(nP_.Math.abs(n.b.d-(t.b.d+t.b.a)),nP_.Math.abs(n.b.d+n.b.a-t.b.d))/a),(1-nP_.Math.min(e,r))*nP_.Math.sqrt(i*i+a*a)}function ns1(n,t){var e,i;if(null!=t){if(i=nty(n)){if((1&i.i)==0)return yE(),!(e=CY(NR(n0C,i),57))||e.fk(t);else if(i==n4h)return EF(t);else if(i==n4s)return jM(t,17);else if(i==n4w)return jM(t,161);else if(i==n4l)return jM(t,222);else if(i==n4u)return jM(t,180);else if(i==n4b)return E_(t);else if(i==n4d)return jM(t,191);else if(i==n4f)return jM(t,168)}else if(jM(t,58))return n.dl(CY(t,58))}return!1}function ns0(){var n,t,e,i,r,a,c,o,u;for(t=0,ns0=T,n3_=BJ(n4l,nEK,28,255,15,1),n3B=BJ(n4u,nb5,28,64,15,1);t<255;t++)n3_[t]=-1;for(e=90;e>=65;e--)n3_[e]=e-65<<24>>24;for(i=122;i>=97;i--)n3_[i]=i-97+26<<24>>24;for(r=57;r>=48;r--)n3_[r]=r-48+52<<24>>24;for(a=0,n3_[43]=62,n3_[47]=63;a<=25;a++)n3B[a]=65+a&nb9;for(c=26,u=0;c<=51;++c,u++)n3B[c]=97+u&nb9;for(n=52,o=0;n<=61;++n,o++)n3B[n]=48+o&nb9;n3B[62]=43,n3B[63]=47}function ns2(n,t){var e,i,r,a,c,o;return(r=XK(n))!=(o=XK(t))?r<o?-1:1:n.e==t.e&&n.a<54&&t.a<54?n.f<t.f?-1:+(n.f>t.f):(i=n.e-t.e,(e=(n.d>0?n.d:nP_.Math.floor((n.a-1)*nwV)+1)-(t.d>0?t.d:nP_.Math.floor((t.a-1)*nwV)+1))>i+1)?r:e<i-1?-r:(n.c||(n.c=Rm(zF(n.f))),a=n.c,t.c||(t.c=Rm(zF(t.f))),c=t.c,i<0?a=Fh(a,nhy(-i)):i>0&&(c=Fh(c,nhy(i))),Zb(a,c))}function ns3(n,t){var e,i,r,a,c,o,u;if(!DP(n))throw new px(nEc).e;if(a=(i=DP(n)).g,r=i.f,a<=0&&r<=0)return nf5(),n1v;switch(o=n.i,u=n.j,t.g){case 2:case 1:if(o<0)return nf5(),n1y;if(o+n.g>a)return nf5(),n1n;break;case 4:case 3:if(u<0)return nf5(),n1t;if(u+n.f>r)return nf5(),n1m}return(c=(o+n.g/2)/a)+(e=(u+n.f/2)/r)<=1&&c-e<=0?(nf5(),n1y):c+e>=1&&c-e>=0?(nf5(),n1n):e<.5?(nf5(),n1t):(nf5(),n1m)}function ns4(n){var t,e,i,r,a;if(nlU(),4!=n.e&&5!=n.e)throw new pN("Token#complementRanges(): must be RANGE: "+n.e).e;for(ncU(n),nh6(n),i=n.b.length+2,0==n.b[0]&&(i-=2),(e=n.b[n.b.length-1])==nSz&&(i-=2),++n4c,(r=new RX(4)).b=BJ(n4s,nwl,28,i,15,1),a=0,n.b[0]>0&&(r.b[a++]=0,r.b[a++]=n.b[0]-1),t=1;t<n.b.length-2;t+=2)r.b[a++]=n.b[t]+1,r.b[a++]=n.b[t+1]-1;return e!=nSz&&(r.b[a++]=e+1,r.b[a]=nSz),r.a=!0,r}function ns6(n,t,e){var i,r,a,c,o,u,s,h;if(0==(i=e.gc()))return!1;if(n.Pj())if(s=n.Qj(),nik(n,t,e),c=1==i?n.Ij(3,null,e.Kc().Pb(),t,s):n.Ij(5,null,e,t,s),n.Mj()){for(o=i<100?null:new mw(i),a=t+i,r=t;r<a;++r)h=n.g[r],o=n.Nj(h,o),o=n.Uj(h,o);o?(o.nj(c),o.oj()):n.Jj(c)}else n.Jj(c);else if(nik(n,t,e),n.Mj()){for(o=i<100?null:new mw(i),a=t+i,r=t;r<a;++r)u=n.g[r],o=n.Nj(u,o);o&&o.oj()}return!0}function ns5(n,t,e,i){var r,a,c,o,u;for(c=new fU(n.k);c.a<c.c.c.length;)r=CY(RU(c),132),(!i||r.c==(Bw(),nqz))&&(u=r.b).g<0&&r.d>0&&(u.d=u.d-r.d,r.c==(Bw(),nqz)&&(u.a=u.a-r.d),u.d<=0&&u.i>0&&F_(t,u,t.c.b,t.c));for(a=new fU(n.f);a.a<a.c.c.length;)r=CY(RU(a),132),(!i||r.c==(Bw(),nqz))&&(o=r.a).g<0&&r.d>0&&(o.i=o.i-r.d,r.c==(Bw(),nqz)&&(o.b=o.b-r.d),o.i<=0&&o.d>0&&F_(e,o,e.c.b,e.c))}function ns8(n,t,e,i,r){vX(),L7(n,"src"),L7(e,"dest"),f=WZ(n),u=WZ(e),In((4&f.i)!=0,"srcType is not an array"),In((4&u.i)!=0,"destType is not an array"),h=f.c,c=u.c,In((1&h.i)!=0?h==c:(1&c.i)==0,"Array types don't match");var a,c,o,u,s,h,f,l,b,w=t,d=i;if(b=n.length,l=e.length,w<0||d<0||r<0||w+r>b||d+r>l)throw(new dI).e;if((1&h.i)==0&&f!=u)if(s=qr(n),a=qr(e),ER(n)===ER(e)&&t<i)for(t+=r,o=i+r;o-- >i;)NK(a,o,s[--t]);else for(o=i+r;i<o;)NK(a,i++,s[t++]);else naJ(n,t,e,i,r,!0)}function ns9(n,t){var e,i,r,a,c,o,u,s;t.Ug("Box layout",2),xf(s=PI(ncx(n,(niH(),nJw)))),r=CY(ncx(n,nJf),107),e=pT(PC(ncx(n,nJc))),i=pT(PC(ncx(n,nJo))),0===CY(ncx(n,nJr),320).g?(u=new O8((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a)),$O(),ji(u,new ws(i)),a=nrW(n),(null==(c=PI(ncx(n,nJi)))||(xf(c),c<=0))&&(c=1.3),nf9(n,(o=function(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I;for(b=0,S=0,u=new fU(n);u.a<u.c.c.length;)nfU(o=CY(RU(u),27)),b=nP_.Math.max(b,o.g),S+=o.g*o.f;for(w=S/n.c.length,j=function(n,t){var e,i,r;for(r=0,i=new fU(n);i.a<i.c.c.length;)e=CY(RU(i),27),r+=nP_.Math.pow(e.g*e.f-t,2);return nP_.Math.sqrt(r/(n.c.length-1))}(n,w),S+=n.c.length*j,b=nP_.Math.max(b,nP_.Math.sqrt(S*c))+e.b,C=e.b,I=e.d,l=0,h=e.b+e.c,IA(T=new vq,Qx(0)),M=new vq,s=new Kp(n,0);s.b<s.d.gc();)Px(s.b<s.d.gc()),O=(o=CY(s.d.Xb(s.c=s.b++),27)).g,f=o.f,C+O>b&&(a&&(E6(M,l),E6(T,Qx(s.b-1))),C=e.b,I+=l+t,l=0,h=nP_.Math.max(h,e.b+e.c+O)),GZ(o,C),G1(o,I),h=nP_.Math.max(h,C+O+e.c),l=nP_.Math.max(l,f),C+=O+t;if(h=nP_.Math.max(h,i),(P=I+l+e.a)<r&&(l+=r-P,P=r),a)for(C=e.b,s=new Kp(n,0),E6(T,Qx(n.c.length)),p=CY(K0(E=ZQ(T,0)),17).a,E6(M,l),k=ZQ(M,0),y=0;s.b<s.d.gc();)s.b==p&&(C=e.b,y=pj(PI(K0(k))),p=CY(K0(E),17).a),Px(s.b<s.d.gc()),m=(o=CY(s.d.Xb(s.c=s.b++),27)).f,GJ(o,y),d=y,s.b==p&&(g=h-C-e.c,v=o.g,GY(o,g),nr6(o,new MH(g,d),new MH(v,m))),C+=o.g+t;return new MH(h,P)}(u,s,r,a.a,a.b,e,(xf(c),c))).a,o.b,!1,!0)):function(n,t,e,i){var r,a,c,o,u,s,h;for((o=new TP(CY(ncx(n,(niH(),nJs)),8))).a=nP_.Math.max(o.a-e.b-e.c,0),o.b=nP_.Math.max(o.b-e.d-e.a,0),(null==(r=PI(ncx(n,nJi)))||(xf(r),r<=0))&&(r=1.3),c=new du,u=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));u.e!=u.i.gc();)a=new Py(CY(Z6(u),27)),dk(c.c,a);switch(CY(ncx(n,nJr),320).g){case 3:h=function(n,t,e,i,r){var a,c,o,u,s,h,f;for($O(),ji(n,new oS),o=new Kp(n,0),f=new du,a=0;o.b<o.d.gc();)Px(o.b<o.d.gc()),c=CY(o.d.Xb(o.c=o.b++),163),0!=f.c.length&&Ab(c)*Al(c)>2*a?(h=new GA(f),s=Ab(c)/Al(c),u=nlw(h,t,new gp,e,i,r,s),OT(Ta(h.e),u),f.c.length=0,a=0,dk(f.c,h),dk(f.c,c),a=Ab(h)*Al(h)+Ab(c)*Al(c)):(dk(f.c,c),a+=Ab(c)*Al(c));return f}(c,t,o.a,o.b,(xf(r),i));break;case 1:h=function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b;for($O(),ji(n,new oT),c=CJ(n),b=new du,l=new du,o=null,u=0;0!=c.b;)a=CY(0==c.b?null:(Px(0!=c.b),Gy(c,c.a.a)),163),!o||Ab(o)*Al(o)/2<Ab(a)*Al(a)?(o=a,dk(b.c,a)):(u+=Ab(a)*Al(a),dk(l.c,a),l.c.length>1&&(u>Ab(o)*Al(o)/2||0==c.b)&&(f=new GA(l),h=Ab(o)/Al(o),s=nlw(f,t,new gp,e,i,r,h),OT(Ta(f.e),s),o=f,dk(b.c,f),u=0,l.c.length=0));return Vc(b,l),b}(c,t,o.a,o.b,(xf(r),i));break;default:h=function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b;for(o=BJ(n4b,nwX,28,n.c.length,15,1),ntY(l=new Lt(new oj),n),s=0,b=new du;0!=l.b.c.length;)if(c=CY(0==l.b.c.length?null:I0(l.b,0),163),s>1&&Ab(c)*Al(c)/2>o[0]){for(a=0;a<b.c.length-1&&Ab(c)*Al(c)/2>o[a];)++a;f=new GA(new Rk(b,0,a+1)),h=Ab(c)/Al(c),u=nlw(f,t,new gp,e,i,r,h),OT(Ta(f.e),u),C7(niS(l,f),nwY),ntY(l,new Rk(b,a+1,b.c.length)),b.c.length=0,s=0,AL(o,o.length,0)}else null!=(0==l.b.c.length?null:I0(l.b,0))&&Xd(l,0),s>0&&(o[s]=o[s-1]),o[s]+=Ab(c)*Al(c),++s,dk(b.c,c);return b}(c,t,o.a,o.b,(xf(r),i))}nf9(n,(s=nlw(new GA(h),t,e,o.a,o.b,i,(xf(r),r))).a,s.b,!1,!0)}(n,s,r,e),t.Vg()}function ns7(n,t){var e,i,r,a,c,o,u,s;for(e=RegExp(t,"g"),u=BJ(nPL,nby,2,0,6,1),i=0,s=n,a=null;;){if(null==(o=e.exec(s))||""==s){u[i]=s;break}c=o.index,u[i]=(B2(0,c,s.length),s.substr(0,c)),s=Di(s,c+o[0].length,s.length),e.lastIndex=0,a==s&&(u[i]=(B2(0,1,s.length),s.substr(0,1)),Rx(1,s.length+1),s=s.substr(1)),a=s,++i}if(n.length>0){for(r=u.length;r>0&&""==u[r-1];)--r;r<u.length&&(u.length=r)}return u}function nhn(){nhn=T,nzr=new TW(20),nzi=new TZ((nl_(),nYa),nzr),nzf=new TZ(nYq,20),nzh=new TZ(nYF,3),nXY=new TZ(nJj,ng0),nzo=new TZ(nYC,Qx(1)),nzs=new TZ(nYN,(SB(),!0)),nX1=nJx,Ju(),nX0=new TZ(nJ$,nX2=nY7),nX6=nJQ,nX5=nJJ,nX9=nJ5,nX7=nJ9,nzn=nJ7,nzt=nYt,nX8=nJ4,nze=nYr,nza=nYE,ncl(),nzm=nXQ,nzu=nXz,nzw=nYY,nzg=nY2,nzb=nYJ,nzl=nYQ,QP(),new TZ(nYZ,nzd=n1H),nzc=nXX,nX4=nXG,nzp=nXW,nXZ=nXH,nX3=nXU}function nht(n){var t,e,i,r,a,c,o,u,s,h,f,l,b;if(e=n.i,t=n.n,0==n.b)for(b=e.c+t.b,l=e.b-t.b-t.c,c=n.a,u=0,h=c.length;u<h;++u)AI(r=c[u],b,l);else i=nnQ(n,!1),AI(n.a[0],e.c+t.b,i[0]),AI(n.a[2],e.c+e.b-t.c-i[2],i[2]),f=e.b-t.b-t.c,i[0]>0&&(f-=i[0]+n.c,i[0]+=n.c),i[2]>0&&(f-=i[2]+n.c),i[1]=nP_.Math.max(i[1],f),AI(n.a[1],e.c+t.b+i[0]-(i[1]-f)/2,i[1]);for(a=n.a,o=0,s=a.length;o<s;++o)jM(r=a[o],336)&&CY(r,336).lf()}function nhe(n,t){var e,i,r;for(r=CY(I0(n.n,n.n.c.length-1),209).d,n.p=nP_.Math.min(n.p,t.g),n.r=nP_.Math.max(n.r,r),n.g=nP_.Math.max(n.g,t.g+(1==n.b.c.length?0:n.i)),n.o=nP_.Math.min(n.o,t.f),n.e+=t.f+(1==n.b.c.length?0:n.i),n.f=nP_.Math.max(n.f,t.f),i=n.n.c.length>0?(n.n.c.length-1)*n.i:0,e=new fU(n.n);e.a<e.c.c.length;)i+=CY(RU(e),209).a;n.d=i,n.a=n.e/n.b.c.length-n.i*((n.b.c.length-1)/n.b.c.length),ntI(n.j)}function nhi(n,t){var e,i,r,a,c,o,u,s,h;if(null==(s=PC(niK(t,(nsK(),nxh))))||(xf(s),s)){for(h=BJ(n4h,ndV,28,t.e.c.length,16,1),c=function(n){var t,e,i,r;for(i=BJ(nPf,ngF,15,n.e.c.length,0,1),r=new fU(n.e);r.a<r.c.c.length;)i[CY(RU(r),153).a]=new vq;for(e=new fU(n.c);e.a<e.c.c.length;)i[(t=CY(RU(e),290)).c.a].Fc(t),i[t.d.a].Fc(t);return i}(t),r=new vq,u=new fU(t.e);u.a<u.c.c.length;)(e=function n(t,e,i,r,a,c){var o,u,s;if(!a[e.a]){for(a[e.a]=!0,(o=r)||(o=new _6),jB(o.e,e),s=c[e.a].Kc();s.Ob();)(u=CY(s.Pb(),290)).d!=i&&u.c!=i&&(u.c!=e&&n(t,u.c,e,o,a,c),u.d!=e&&n(t,u.d,e,o,a,c),jB(o.c,u),Vc(o.d,u.b));return o}return null}(n,CY(RU(u),153),null,null,h,c))&&(zU(e,t),F_(r,e,r.c.b,r.c));if(r.b>1)for(i=ZQ(r,0);i.b!=i.d.c;)for(e=CY(K0(i),235),a=0,o=new fU(e.e);o.a<o.c.c.length;)CY(RU(o),153).a=a++;return r}return _q(Vw(DY(nI0,1),ng_,235,0,[t]))}function nhr(n){var t,e,i,r,a;if(!n.g){if(a=new o4,null==(t=n2L).a.zc(n,t)){for(e=new j2($7(n));e.e!=e.i.gc();)Nu(a,nhr(CY(Z6(e),29)));t.a.Bc(n),t.a.gc()}for(i=a.i,n.s||(n.s=new Lk(n0V,n,21,17)),r=new j2(n.s);r.e!=r.i.gc();++i)CY(Z6(r),462).n=i;Nu(a,(n.s||(n.s=new Lk(n0V,n,21,17)),n.s)),WG(a),n.g=new VX(n,a),n.i=CY(a.g,254),null==n.i&&(n.i=n2x),n.p=null,_v(n).b&=-5}return n.g}function nha(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w;if(i=n.i,e=n.n,0==n.b)t=nnW(n,!1),AA(n.a[0],i.d+e.d,t[0]),AA(n.a[2],i.d+i.a-e.a-t[2],t[2]),f=l=i.a-e.d-e.a,t[0]>0&&(t[0]+=n.c,f-=t[0]),t[2]>0&&(f-=t[2]+n.c),t[1]=nP_.Math.max(t[1],f),AA(n.a[1],i.d+e.d+t[0]-(t[1]-f)/2,t[1]);else for(w=i.d+e.d,b=i.a-e.d-e.a,c=n.a,u=0,h=c.length;u<h;++u)AA(r=c[u],w,b);for(a=n.a,o=0,s=a.length;o<s;++o)jM(r=a[o],336)&&CY(r,336).mf()}function nhc(n,t,e,i){var r,a,c,o,u;if(u=nox(n.e.Dh(),t),r=CY(n.g,124),yP(),CY(t,69).xk()){for(c=0;c<n.i;++c)if(a=r[c],u.am(a.Lk())&&QY(a,e))return!0}else if(null!=e){for(o=0;o<n.i;++o)if(a=r[o],u.am(a.Lk())&&QY(e,a.md()))return!0;if(i){for(c=0;c<n.i;++c)if(a=r[c],u.am(a.Lk())&&ER(e)===ER(PO(n,CY(a.md(),58))))return!0}}else for(c=0;c<n.i&&(a=r[c],!u.am(a.Lk())||null!=a.md());++c);return!1}function nho(n,t){var e,i,r,a,c,o;if(n.b<2)throw new pN("The vector chain must contain at least a source and a target point.").e;for(Px(0!=n.b),TU(t,(i=CY(n.a.a.c,8)).a,i.b),o=new SW((!t.a&&(t.a=new jU(nL0,t,5)),t.a)),a=ZQ(n,1);a.a<n.b-1;)c=CY(K0(a),8),o.e!=o.i.gc()?e=CY(Z6(o),377):(mk(),YD(o,e=new oR)),TF(e,c.a,c.b);for(;o.e!=o.i.gc();)Z6(o),neH(o);Px(0!=n.b),TH(t,(r=CY(n.c.b.c,8)).a,r.b)}function nhu(n,t,e,i){var r,a,c,o,u,s;if(s=nox(n.e.Dh(),t),c=CY(n.g,124),noz(n.e,t)){if(t.Si()&&(a=nhv(n,t,i,jM(t,102)&&(CY(t,19).Bb&nwG)!=0))>=0&&a!=e)throw new pN(nTd).e;for(u=0,r=0;u<n.i;++u)if(o=c[u],s.am(o.Lk())){if(r==e)return CY(nnv(n,u,(yP(),CY(t,69).xk()?CY(i,76):Fy(t,i))),76);++r}throw new pC(njt+e+nTp+r).e}for(u=0;u<n.i;++u)if(o=c[u],s.am(o.Lk()))return yP(),CY(t,69).xk()?o:o.md();return null}function nhs(n,t){var e,i,r,a,c,o,u,s;for(e=0,i=new fU((RN(0,n.c.length),CY(n.c[0],105)).g.b.j);i.a<i.c.c.length;)CY(RU(i),12).p=e++;for(t==(nf5(),n1t)?ji(n,new rw):ji(n,new rd),c=0,s=n.c.length-1;c<s;)RN(c,n.c.length),a=CY(n.c[c],105),RN(s,n.c.length),u=CY(n.c[s],105),r=t==n1t?a.c:a.a,o=t==n1t?u.a:u.c,Ly(a,t,(Vg(),nDW),r),Ly(u,t,nDV,o),++c,--s;c==s&&Ly((RN(c,n.c.length),CY(n.c[c],105)),t,(Vg(),nDz),null)}function nhh(n,t,e){var i,r,a,c,o,u;this.a=n,this.b=t,this.c=e,this.e=_q(Vw(DY(nCc,1),nl7,177,0,[new yz(n,t),new yz(t,e),new yz(e,n)])),this.f=_q(Vw(DY(nLA,1),nby,8,0,[n,t,e])),this.d=(i=Oj(jv(this.b),this.a),r=Oj(jv(this.c),this.a),a=Oj(jv(this.c),this.b),c=i.a*(this.a.a+this.b.a)+i.b*(this.a.b+this.b.b),o=r.a*(this.a.a+this.c.a)+r.b*(this.a.b+this.c.b),u=2*(i.a*a.b-i.b*a.a),new MH((r.b*c-i.b*o)/u,(i.a*o-r.a*c)/u))}function nhf(n,t){var e,i,r,a,c,o;for(a=n.c,c=n.d,Ra(n,null),Ru(n,null),t&&pT(PC(niK(c,(nlF(),nKq))))?Ra(n,nsL(c.i,(qy(),nGD),(nf5(),n1n))):Ra(n,c),t&&pT(PC(niK(a,(nlF(),nFt))))?Ru(n,nsL(a.i,(qy(),nG$),(nf5(),n1y))):Ru(n,a),i=new fU(n.b);i.a<i.c.c.length;)e=CY(RU(i),72),(r=CY(niK(e,(nlL(),nHc)),278))==(GN(),nZr)?VD(e,nHc,nZi):r==nZi&&VD(e,nHc,nZr);o=pT(PC(niK(n,(nlF(),nFu)))),VD(n,nFu,(SB(),!o)),n.a=Wo(n.a)}function nhl(n){var t,e;switch(n){case 91:case 93:case 45:case 94:case 44:case 92:e="\\"+String.fromCharCode(n&nb9);break;case 12:e="\\f";break;case 10:e="\\n";break;case 13:e="\\r";break;case 9:e="\\t";break;case 27:e="\\e";break;default:e=n<32?"\\x"+Di(t="0"+(n>>>0).toString(16),t.length-2,t.length):n>=nwG?"\\v"+Di(t="0"+(n>>>0).toString(16),t.length-6,t.length):""+String.fromCharCode(n&nb9)}return e}function nhb(n){var t,e,i;if(Tx(CY(niK(n,(nlL(),nUt)),101)))for(e=new fU(n.j);e.a<e.c.c.length;)(t=CY(RU(e),12)).j==(nf5(),n1v)&&((i=CY(niK(t,(nlF(),nFi)),10))?nau(t,CY(niK(i,nK_),64)):t.e.c.length-t.g.c.length<0?nau(t,n1n):nau(t,n1y));else{for(e=new fU(n.j);e.a<e.c.c.length;)t=CY(RU(e),12),(i=CY(niK(t,(nlF(),nFi)),10))?nau(t,CY(niK(i,nK_),64)):t.e.c.length-t.g.c.length<0?nau(t,(nf5(),n1n)):nau(t,(nf5(),n1y));VD(n,nUt,(nie(),nZZ))}}function nhw(n){var t,e,i,r,a,c;for(this.e=new du,this.a=new du,e=n.b-1;e<3;e++)S2(n,0,CY(nnt(n,0),8));if(n.b<4)throw new pN("At (least dimension + 1) control points are necessary!").e;for(this.b=3,this.d=!0,this.c=!1,!function(n,t){var e,i,r,a;if(t<2*n.b)throw new pN("The knot vector must have at least two time the dimension elements.").e;for(i=0,n.f=1;i<n.b;i++)jB(n.e,0);for(r=1,a=t+1-2*n.b;r<a;r++)jB(n.e,r/a);if(n.d)for(e=0;e<n.b;e++)jB(n.e,1)}(this,n.b+this.b-1),c=new du,a=new fU(this.e),t=0;t<this.b-1;t++)jB(c,PI(RU(a)));for(r=ZQ(n,0);r.b!=r.d.c;)i=CY(K0(r),8),jB(c,PI(RU(a))),jB(this.a,new Du(i,c)),RN(0,c.c.length),c.c.splice(0,1)}function nhd(n,t){var e,i,r,a,c,o,u,h;for(r=new fU(n.b);r.a<r.c.c.length;)for(c=new fU(CY(RU(r),30).a);c.a<c.c.c.length;)for((a=CY(RU(c),10)).k==(ni8(),n$p)&&(u=CY(_I(new Le(Sb(Jz(a).a.Kc(),new s))),18),h=CY(_I(new Le(Sb(JV(a).a.Kc(),new s))),18),nhE(a,o=pT(PC(niK(u,(nlF(),nFu))))&&pT(PC(niK(h,nFu)))?VP(t):t)),i=new Le(Sb(JV(a).a.Kc(),new s));ncv(i);)o=pT(PC(niK(e=CY(_I(i),18),(nlF(),nFu))))?VP(t):t,Vu(e,o)}function nhg(n,t,e){var i,r,a,c;return n.Pj()?(r=null,a=n.Qj(),i=n.Ij(1,c=US(n,t,e),e,t,a),n.Mj()&&!(n.Yi()&&null!=c?QY(c,e):ER(c)===ER(e))&&(null!=c&&(r=n.Oj(c,r)),r=n.Nj(e,r)),n.Tj()&&(r=n.Wj(c,e,r)),r?(r.nj(i),r.oj()):n.Jj(i)):(c=US(n,t,e),n.Mj()&&!(n.Yi()&&null!=c?QY(c,e):ER(c)===ER(e))&&(r=null,null!=c&&(r=n.Oj(c,null)),(r=n.Nj(e,r))&&r.oj())),c}function nhp(n,t){var e,i,r,a,c,o;t%=24,n.q.getHours()!=t&&((e=new nP_.Date(n.q.getTime())).setDate(e.getDate()+1),(c=n.q.getTimezoneOffset()-e.getTimezoneOffset())>0)&&(o=c/60|0,i=n.q.getDate(),n.q.getHours()+o>=24&&++i,r=new nP_.Date(n.q.getFullYear(),n.q.getMonth(),i,t+o,n.q.getMinutes()+c%60,n.q.getSeconds(),n.q.getMilliseconds()),n.q.setTime(r.getTime())),a=n.q.getTime(),n.q.setTime(a+36e5),n.q.getHours()!=t&&n.q.setTime(a)}function nhm(n){var t,e,i,r,a;if(!n.d){if(a=new o8,null==(t=n2L).a.zc(n,t)){for(e=new j2($7(n));e.e!=e.i.gc();)Nu(a,nhm(CY(Z6(e),29)));t.a.Bc(n),t.a.gc()}for(r=a.i,n.q||(n.q=new Lk(n02,n,11,10)),i=new j2(n.q);i.e!=i.i.gc();++r)CY(Z6(i),411);Nu(a,(n.q||(n.q=new Lk(n02,n,11,10)),n.q)),WG(a),n.d=new Tu((CY(GO($x((NN(),n2c).o),9),19),a.i),a.g),n.e=CY(a.g,688),null==n.e&&(n.e=n2N),_v(n).b&=-17}return n.d}function nhv(n,t,e,i){var r,a,c,o,u,s;if(s=nox(n.e.Dh(),t),u=0,r=CY(n.g,124),yP(),CY(t,69).xk()){for(c=0;c<n.i;++c)if(a=r[c],s.am(a.Lk())){if(QY(a,e))return u;++u}}else if(null!=e){for(o=0;o<n.i;++o)if(a=r[o],s.am(a.Lk())){if(QY(e,a.md()))return u;++u}if(i){for(c=0,u=0;c<n.i;++c)if(a=r[c],s.am(a.Lk())){if(ER(e)===ER(PO(n,CY(a.md(),58))))return u;++u}}}else for(c=0;c<n.i;++c)if(a=r[c],s.am(a.Lk())){if(null==a.md())return u;++u}return -1}function nhy(n){var t,e,i,r;if(nui(),t=Dy(n),n<nOF.length)return nOF[t];if(n<=50)return naU((nuY(),nON),t);if(n<=nb8)return _L(naU(nOK[1],t),t);if(n>1e6)throw new pO("power of ten too big").e;if(n<=nl3)return _L(naU(nOK[1],t),t);for(r=i=naU(nOK[1],nl3),e=zF(n-nl3),t=Dy(n%nl3);Qv(e,nl3)>0;)r=Fh(r,i),e=JB(e,nl3);for(r=_L(r=Fh(r,naU(nOK[1],t)),nl3),e=zF(n-nl3);Qv(e,nl3)>0;)r=_L(r,nl3),e=JB(e,nl3);return _L(r,t)}function nhk(n){var t,e,i,r,a,c,o,u;for(c=new fU(n.a);c.a<c.c.c.length;)if((a=CY(RU(c),10)).k==(ni8(),n$g)&&((r=CY(niK(a,(nlF(),nK_)),64))==(nf5(),n1n)||r==n1y))for(i=new Le(Sb(JX(a).a.Kc(),new s));ncv(i);)0!=(t=(e=CY(_I(i),18)).a).b&&((o=e.c).i==a&&(Px(0!=t.b),CY(t.a.a.c,8).b=V4(Vw(DY(nLA,1),nby,8,0,[o.i.n,o.n,o.a])).b),(u=e.d).i==a&&(Px(0!=t.b),CY(t.c.b.c,8).b=V4(Vw(DY(nLA,1),nby,8,0,[u.i.n,u.n,u.a])).b))}function nhM(n,t,e,i){var r,a,c;if(this.j=new du,this.k=new du,this.b=new du,this.c=new du,this.e=new TI,this.i=new gj,this.f=new ds,this.d=new du,this.g=new du,jB(this.b,n),jB(this.b,t),this.e.c=nP_.Math.min(n.a,t.a),this.e.d=nP_.Math.min(n.b,t.b),this.e.b=nP_.Math.abs(n.a-t.a),this.e.a=nP_.Math.abs(n.b-t.b),r=CY(niK(i,(nlL(),nHP)),75))for(c=ZQ(r,0);c.b!=c.d.c;)GV((a=CY(K0(c),8)).a,n.a)&&IA(this.i,a);e&&jB(this.j,e),jB(this.k,i)}function nhE(n,t){var e,i,r,a,c;if(n.k==(ni8(),n$p)&&(e=n.k!=n$p||mQ(xX(CY(niK(n,(nlF(),nFo)),15).Oc(),new f4(new tO))).Bd((vY(),nCF))?t:(ntG(),nZA),VD(n,(nlF(),nKJ),e),e!=(ntG(),nZI)))for(i=CY(niK(n,nK6),18),c=pj(PI(niK(i,(nlL(),nHd)))),a=0,e==nZC?a=n.o.b-nP_.Math.ceil(c/2):e==nZA&&(a=nP_.Math.ceil(n.o.b-pj(PI(niK(xi(n),nUk)))-c)/2,n.o.b-=pj(PI(niK(xi(n),nUk))),n.o.b-=c),r=new fU(n.j);r.a<r.c.c.length;)CY(RU(r),12).n.b=a}function nhT(n,t,e){var i,r,a,c,o,u,s,h,f;for(r=!0,c=new fU(n.b);c.a<c.c.c.length;){for(a=CY(RU(c),30),s=nw_,h=null,u=new fU(a.a);u.a<u.c.c.length;)if(o=CY(RU(u),10),f=pj(t.p[o.p])+pj(t.d[o.p])-o.d.d,i=pj(t.p[o.p])+pj(t.d[o.p])+o.o.b+o.d.a,f>s&&i>s)h=o,s=pj(t.p[o.p])+pj(t.d[o.p])+o.o.b+o.d.a;else{r=!1,e._g()&&e.bh("bk node placement breaks on "+o+" which should have been after "+h);break}if(!r)break}return e._g()&&e.bh(t+" is feasible: "+r),r}function nhj(n,t,e,i){var r,a,c,o,u,s,h;if((a=new nn_(n)).k=(ni8(),n$y),VD(a,(nlL(),nUt),(nie(),nZJ)),r=0,t){for(VD(c=new nro,(nlF(),nK6),t),VD(a,nK6,t.i),nau(c,(nf5(),n1y)),Ro(c,a),s=0,h=(u=Ky(t.e)).length;s<h;++s)Ru(u[s],c);VD(t,nFi,a),++r}if(e){for(o=new nro,VD(a,(nlF(),nK6),e.i),VD(o,nK6,e),nau(o,(nf5(),n1n)),Ro(o,a),s=0,h=(u=Ky(e.g)).length;s<h;++s)Ra(u[s],o);VD(e,nFi,a),++r}return VD(a,(nlF(),nKA),Qx(r)),dk(i.c,a),a}function nhS(n){var t,e,i,r,a,c,o,u;e=pT(PC(niK(n,(nsK(),nN3)))),a=n.a.c.d,o=n.a.d.d,e?(c=j_(Oj(new MH(o.a,o.b),a),.5),u=j_(jv(n.e),.5),t=Oj(OT(new MH(a.a,a.b),c),u),Ps(n.d,t)):(r=pj(PI(niK(n.a,nxf))),i=n.d,a.a>=o.a?a.b>=o.b?(i.a=o.a+(a.a-o.a)/2+r,i.b=o.b+(a.b-o.b)/2-r-n.e.b):(i.a=o.a+(a.a-o.a)/2+r,i.b=a.b+(o.b-a.b)/2+r):a.b>=o.b?(i.a=a.a+(o.a-a.a)/2+r,i.b=o.b+(a.b-o.b)/2+r):(i.a=a.a+(o.a-a.a)/2+r,i.b=a.b+(o.b-a.b)/2-r-n.e.b))}function nhP(n){var t,e,i,r,a,c;if(!n.f){if(c=new o6,a=new o6,null==(t=n2L).a.zc(n,t)){for(r=new j2($7(n));r.e!=r.i.gc();)Nu(c,nhP(CY(Z6(r),29)));t.a.Bc(n),t.a.gc()}for(n.s||(n.s=new Lk(n0V,n,21,17)),i=new j2(n.s);i.e!=i.i.gc();)jM(e=CY(Z6(i),179),102)&&B7(a,CY(e,19));WG(a),n.r=new IM(n,(CY(GO($x((NN(),n2c).o),6),19),a.i),a.g),Nu(c,n.r),WG(c),n.f=new Tu((CY(GO($x(n2c.o),5),19),c.i),c.g),_v(n).b&=-3}return n.f}function nhO(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=ngA,e=t).d="ELK DisCo",i=e).b="Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out.",(r=i).e=new n3,r))),KS(n,ngA,ngL,Z4(nNB)),KS(n,ngA,ngN,Z4(nN$)),KS(n,ngA,ngx,Z4(nNI)),KS(n,ngA,ng$,Z4(nND)),KS(n,ngA,ndH,Z4(nNF)),KS(n,ngA,ndU,Z4(nNK)),KS(n,ngA,ndB,Z4(nN_)),KS(n,ngA,ndG,Z4(nNR)),KS(n,ngA,ngS,Z4(nNL)),KS(n,ngA,ngP,Z4(nNA)),KS(n,ngA,ngO,Z4(nNN)),KS(n,ngA,ngC,Z4(nNx))}function nhC(){nhC=T,n0l=Vw(DY(n4u,1),nb5,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),n0b=RegExp("[ \n\r\f]+");try{n0f=Vw(DY(n09,1),nl7,2114,0,[new w2((Tr(),YK("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",On((pp(),pp(),nP8))))),new w2(YK("yyyy-MM-dd'T'HH:mm:ss'.'SSS",On(nP8))),new w2(YK("yyyy-MM-dd'T'HH:mm:ss",On(nP8))),new w2(YK("yyyy-MM-dd'T'HH:mm",On(nP8))),new w2(YK("yyyy-MM-dd",On(nP8)))])}catch(n){if(!jM(n=Vt(n),82))throw n.e}}function nhI(n,t){var e,i,r;if(i=0!=nc8(n.d,1),0==nrZ(n,t)&&pT(PC(niK(t.j,(nlF(),nKH)))))return 0;(pT(PC(niK(t.j,(nlF(),nKH))))||pT(PC(niK(t.j,nFs))))&&ER(niK(t.j,(nlL(),nBQ)))!==ER((Zu(),nGO))?i=pT(PC(niK(t.j,nKH))):t.c.mg(t.e,i),noP(n,t,i,!0),pT(PC(niK(t.j,nFs)))&&VD(t.j,nFs,(SB(),!1)),pT(PC(niK(t.j,nKH)))&&(VD(t.j,nKH,(SB(),!1)),VD(t.j,nFs,!0)),e=nrZ(n,t);do{if(XO(n),0==e)return 0;i=!i,r=e,noP(n,t,i,!1),e=nrZ(n,t)}while(r>e)return r}function nhA(n,t,e,i){var r,a,c,o,u,s,h,f,l;return(s=(u=Oj(new MH(e.a,e.b),n)).a*t.b-u.b*t.a,h=t.a*i.b-t.b*i.a,f=(u.a*i.b-u.b*i.a)/h,l=s/h,0!=h)?f>=0&&f<=1&&l>=0&&l<=1?OT(new MH(n.a,n.b),j_(new MH(t.a,t.b),f)):null:0!=s?null:(a=Hr(n,r=OT(new MH(e.a,e.b),j_(new MH(i.a,i.b),.5))),c=Hr(OT(new MH(n.a,n.b),t),r),o=.5*nP_.Math.sqrt(i.a*i.a+i.b*i.b),a<c&&a<=o)?new MH(n.a,n.b):c<=o?OT(new MH(n.a,n.b),t):null}function nhL(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(a=0,c=n.t,r=0,i=0,u=0,l=0,f=0,e&&(n.n.c.length=0,jB(n.n,new DT(n.s,n.t,n.i))),o=0,h=new fU(n.b);h.a<h.c.c.length;)a+(s=CY(RU(h),27)).g+(o>0?n.i:0)>t&&u>0&&(a=0,c+=u+n.i,r=nP_.Math.max(r,l),i+=u+n.i,u=0,l=0,e&&(++f,jB(n.n,new DT(n.s,c,n.i))),o=0),l+=s.g+(o>0?n.i:0),u=nP_.Math.max(u,s.f),e&&nn3(CY(I0(n.n,f),209),s),a+=s.g+(o>0?n.i:0),++o;return r=nP_.Math.max(r,l),i+=u,e&&(n.r=r,n.d=i,ntI(n.j)),new x4(n.s,n.t,r,i)}function nhN(n){var t,e,i,r,a,c,o,u,s,h,f;for(n.b=!1,h=nwF,o=nw_,f=nwF,u=nw_,e=n.e.a.ec().Kc();e.Ob();)for(i=(t=CY(e.Pb(),272)).a,h=nP_.Math.min(h,i.c),o=nP_.Math.max(o,i.c+i.b),f=nP_.Math.min(f,i.d),u=nP_.Math.max(u,i.d+i.a),a=new fU(t.c);a.a<a.c.c.length;)(r=CY(RU(a),407)).a.a?(c=(s=i.d+r.b.b)+r.c,f=nP_.Math.min(f,s),u=nP_.Math.max(u,c)):(c=(s=i.c+r.b.a)+r.c,h=nP_.Math.min(h,s),o=nP_.Math.max(o,c));n.a=new MH(o-h,u-f),n.c=new MH(h+n.d.a,f+n.d.b)}function nhx(n){var t,e,i,r,a,c;if(!n.a){if(n.o=null,c=new wZ(n),t=new o5,null==(e=n2L).a.zc(n,e)){for(a=new j2($7(n));a.e!=a.i.gc();)Nu(c,nhx(CY(Z6(a),29)));e.a.Bc(n),e.a.gc()}for(n.s||(n.s=new Lk(n0V,n,21,17)),r=new j2(n.s);r.e!=r.i.gc();)jM(i=CY(Z6(r),179),331)&&B7(t,CY(i,35));WG(t),n.k=new IE(n,(CY(GO($x((NN(),n2c).o),7),19),t.i),t.g),Nu(c,n.k),WG(c),n.a=new Tu((CY(GO($x(n2c.o),4),19),c.i),c.g),_v(n).b&=-2}return n.a}function nh$(n,t,e,i){var r,a,c,o,u,s,h;if(h=nox(n.e.Dh(),t),r=0,a=CY(n.g,124),u=null,yP(),CY(t,69).xk()){for(o=0;o<n.i;++o)if(c=a[o],h.am(c.Lk())){if(QY(c,e)){u=c;break}++r}}else if(null!=e){for(o=0;o<n.i;++o)if(c=a[o],h.am(c.Lk())){if(QY(e,c.md())){u=c;break}++r}}else for(o=0;o<n.i;++o)if(c=a[o],h.am(c.Lk())){if(null==c.md()){u=c;break}++r}return u&&(TN(n.e)&&(s=t.Jk()?new Fx(n.e,4,t,e,null,r,!0):$6(n,t.tk()?2:1,t,e,t.ik(),-1,!0),i?i.nj(s):i=s),i=nsc(n,u,i)),i}function nhD(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w;switch(b=0,w=0,u=r.c,o=r.b,h=e.f,l=e.g,t.g){case 0:b=i.i+i.g+c,w=n.c?function(n,t,e,i){var r,a,c,o,u;for(a=null,r=0,o=new fU(t);o.a<o.c.c.length;)u=(c=CY(RU(o),27)).j+c.f,n<c.i+c.g+i&&(a?e.j-u<e.j-r&&(a=c):a=c,r=a.j+a.f);return a?r+i:0}(b,a,i,c):i.j,f=nP_.Math.max(u,b+l),s=nP_.Math.max(o,w+h);break;case 1:w=i.j+i.f+c,b=n.c?function(n,t,e,i){var r,a,c,o,u;for(r=null,a=0,o=new fU(t);o.a<o.c.c.length;)u=(c=CY(RU(o),27)).i+c.g,n<c.j+c.f+i&&(r?e.i-u<e.i-a&&(r=c):r=c,a=r.i+r.g);return r?a+i:0}(w,a,i,c):i.i,f=nP_.Math.max(u,b+l),s=nP_.Math.max(o,w+h);break;case 2:b=u+c,w=0,f=u+c+l,s=nP_.Math.max(o,h);break;case 3:b=0,w=o+c,f=nP_.Math.max(u,l),s=o+c+h;break;default:throw new pN("IllegalPlacementOption.").e}return new Zs(n.a,f,s,t,b,w)}function nhR(n,t,e){var i,r,a,c,o,u,s,h;if(r=CY(n.g,124),noz(n.e,t))return yP(),CY(t,69).xk()?new IB(t,n):new EL(t,n);for(o=0,s=nox(n.e.Dh(),t),i=0;o<n.i;++o){if(c=(a=r[o]).Lk(),s.am(c)){if(yP(),CY(t,69).xk())return a;if(c!=(na1(),n3u)&&c!=n3a)return null!=(h=a.md())&&e&&jM(t,102)&&(CY(t,19).Bb&nwG)!=0&&(h=naA(n,t,o,i,h)),h;for(u=new Sv(J2(a.md()));++o<n.i;)((c=(a=r[o]).Lk())==n3u||c==n3a)&&EY(u,J2(a.md()));return OF(CY(t.Hk(),156),u.a)}++i}return t.ik()}function nhK(n,t,e,i){var r,a,c,o,u,s;if(u=nox(n.e.Dh(),t),a=CY(n.g,124),noz(n.e,t)){for(o=0,r=0;o<n.i;++o)if(c=a[o],u.am(c.Lk())){if(r==e){if(yP(),CY(t,69).xk())return c;return null!=(s=c.md())&&i&&jM(t,102)&&(CY(t,19).Bb&nwG)!=0&&(s=naA(n,t,o,r,s)),s}++r}throw new pC(njt+e+nTp+r).e}for(o=0,r=0;o<n.i;++o){if(c=a[o],u.am(c.Lk())){if(yP(),CY(t,69).xk())return c;return null!=(s=c.md())&&i&&jM(t,102)&&(CY(t,19).Bb&nwG)!=0&&(s=naA(n,t,o,r,s)),s}++r}return t.ik()}function nhF(){nhF=T,nOD=Vw(DY(n4s,1),nwl,28,15,[nbJ,0x4546b3db,nbH,0x48c27395,0x159fd800,0x75db9c97,nbH,0x17179149,nwN,0xcc6db61,0x19a10000,0x309f1021,0x57f6c100,0xa2f1b6f,0x10000000,0x18754571,0x247dbc80,0x3547667b,128e7,0x6b5a6e1d,0x6c20a40,0x8d2d931,0xb640000,0xe8d4a51,0x1269ae40,0x17179149,0x1cb91000,0x23744899,729e6,0x34e63b41,nbH,0x4cfa3cc1,0x5c13d840,0x6d91b519,0x39aa400]),nOR=Vw(DY(n4s,1),nwl,28,15,[-1,-1,31,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])}function nh_(n,t){var e,i,r,a,c,o,u,s,h,f;if(c=n.e,0==(u=t.e))return n;if(0==c)return 0==t.e?t:new LZ(-t.e,t.d,t.a);if((a=n.d)+(o=t.d)==2)return e=RF(n.a[0],nwW),i=RF(t.a[0],nwW),c<0&&(e=H4(e)),u<0&&(i=H4(i)),nuY(),EH(JB(e,i),0)?Yq(JB(e,i)):Nt(Yq(H4(JB(e,i))));if(-1==(r=a!=o?a>o?1:-1:WO(n.a,t.a,a)))f=-u,h=c==u?_X(t.a,o,n.a,a):BQ(t.a,o,n.a,a);else if(f=c,c==u){if(0==r)return nuY(),nO$;h=_X(n.a,a,t.a,o)}else h=BQ(n.a,a,t.a,o);return KM(s=new LZ(f,h.length,h)),s}function nhB(n,t){var e,i,r,a,c,o,u,s;if(null==n)return null;if(0==(a=n.length))return"";for(u=BJ(n4u,nb5,28,a,15,1),B2(0,a,n.length),B2(0,a,u.length),Nr(n,0,a,u,0),e=null,o=t,r=0,c=0;r<a;r++)(i=u[r],nlW(),i<=32&&(2&n3G[i])!=0)?o?(e||(e=new Sm(n)),zj(e,s=r-c++,s+1,"")):(o=t,32!=i&&(e||(e=new Sm(n)),zj(e,r-c,r-c+1," "))):o=!1;return o?e?(a=e.a.length)>0?Di(e.a,0,a-1):"":(B2(0,a-1,n.length),n.substr(0,a-1)):e?e.a:n}function nhH(n,t){var e,i,r,a,c;if(c=CY(t,138),ncU(n),ncU(c),null!=c.b){if(n.c=!0,null==n.b){n.b=BJ(n4s,nwl,28,c.b.length,15,1),ns8(c.b,0,n.b,0,c.b.length);return}for(e=0,a=BJ(n4s,nwl,28,n.b.length+c.b.length,15,1),i=0,r=0;e<n.b.length||i<c.b.length;)e>=n.b.length?(a[r++]=c.b[i++],a[r++]=c.b[i++]):i>=c.b.length?(a[r++]=n.b[e++],a[r++]=n.b[e++]):c.b[i]<n.b[e]||c.b[i]===n.b[e]&&c.b[i+1]<n.b[e+1]?(a[r++]=c.b[i++],a[r++]=c.b[i++]):(a[r++]=n.b[e++],a[r++]=n.b[e++]);n.b=a}}function nhU(n){var t,e,i,r,a,c,o,u;for(i=0,e=0,u=new vq,t=0,o=new fU(n.n);o.a<o.c.c.length;)0==(c=CY(RU(o),209)).c.c.length?F_(u,c,u.c.b,u.c):(i=nP_.Math.max(i,c.d),e+=c.a+(t>0?n.i:0)),++t;for(JS(n.n,u),n.d=e,n.r=i,n.g=0,n.f=0,n.e=0,n.o=nwF,n.p=nwF,a=new fU(n.b);a.a<a.c.c.length;)r=CY(RU(a),27),n.p=nP_.Math.min(n.p,r.g),n.g=nP_.Math.max(n.g,r.g),n.f=nP_.Math.max(n.f,r.f),n.o=nP_.Math.min(n.o,r.f),n.e+=r.f+n.i;n.a=n.e/n.b.c.length-n.i*((n.b.c.length-1)/n.b.c.length),ntI(n.j)}function nhG(n){var t,e,i,r;return(64&n.Db)!=0?JN(n):(t=new Sv(nEd),(i=n.k)?EY(EY((t.a+=' "',t),i),'"'):(n.n||(n.n=new Lk(nNt,n,1,7)),n.n.i>0&&(r=(!n.n&&(n.n=new Lk(nNt,n,1,7)),CY(GO(n.n,0),135)).a)&&EY(EY((t.a+=' "',t),r),'"')),n.b||(n.b=new Ox(nL4,n,4,7)),(e=!(n.b.i<=1&&(n.c||(n.c=new Ox(nL4,n,5,8)),n.c.i<=1)))?t.a+=" [":t.a+=" ",EY(t,j6(new pW,new j2(n.b))),e&&(t.a+="]"),t.a+=npF,e&&(t.a+="["),EY(t,j6(new pW,new j2(n.c))),e&&(t.a+="]"),t.a)}function nhq(n,t,e){var i,r,a,c,o,u,s;return nP_.Math.abs(t.s-t.c)<ngY||nP_.Math.abs(e.s-e.c)<ngY?0:(i=noA(n,t.j,e.e),r=noA(n,e.j,t.e),a=0,-1==i||-1==r?(-1==i&&(new RT((Bw(),nqz),e,t,1),++a),-1==r&&(new RT((Bw(),nqz),t,e,1),++a)):(c=QF(t.j,e.s,e.c)+QF(e.e,t.s,t.c),o=QF(e.j,t.s,t.c)+QF(t.e,e.s,e.c),(u=i+16*c)<(s=r+16*o)?new RT((Bw(),nqV),t,e,s-u):u>s?new RT((Bw(),nqV),e,t,u-s):u>0&&s>0&&(new RT((Bw(),nqV),t,e,0),new RT(nqV,e,t,0))),a)}function nhX(n,t,e,i){var r,a,c,o,u,s;if(a=JO(i),(pT(PC(niK(i,(nlL(),nHK))))||pT(PC(niK(n,nHM))))&&!Tx(CY(niK(n,nUt),101)))r=Ya(a),o=nsL(n,e,e==(qy(),nGD)?r:Jw(r));else switch(Ro(o=new nro,n),t?((s=o.n).a=t.a-n.n.a,s.b=t.b-n.n.b,nrp(s,0,0,n.o.a,n.o.b),nau(o,nsD(o,a))):(r=Ya(a),nau(o,e==(qy(),nGD)?r:Jw(r))),c=CY(niK(i,(nlF(),nKU)),21),u=o.j,a.g){case 2:case 1:(u==(nf5(),n1t)||u==n1m)&&c.Fc((no7(),nKh));break;case 4:case 3:(u==(nf5(),n1n)||u==n1y)&&c.Fc((no7(),nKh))}return o}function nhz(n,t){var e,i,r,a,c;for(c=new zM(new fP(n.f.b).a);c.b;){if(r=CY((a=Xu(c)).ld(),602),1==t){if(r.Af()!=(Ju(),nZn)&&r.Af()!=nY5)continue}else if(r.Af()!=(Ju(),nY8)&&r.Af()!=nY9)continue;switch(i=CY(CY(a.md(),42).b,86),e=CY(CY(a.md(),42).a,194).c,r.Af().g){case 2:i.g.c=n.e.a,i.g.b=nP_.Math.max(1,i.g.b+e);break;case 1:i.g.c=i.g.c+e,i.g.b=nP_.Math.max(1,i.g.b-e);break;case 4:i.g.d=n.e.b,i.g.a=nP_.Math.max(1,i.g.a+e);break;case 3:i.g.d=i.g.d+e,i.g.a=nP_.Math.max(1,i.g.a-e)}}}function nhV(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nMa,e=t).d="ELK SPOrE Compaction",i=e).b="ShrinkTree is a compaction algorithm that maintains the topology of a layout. The relocation of diagram elements is based on contracting a spanning tree.",(r=i).e=new cq,r))),KS(n,nMa,nMc,Z4(nQs)),KS(n,nMa,nMo,Z4(nQc)),KS(n,nMa,nMu,Z4(nQa)),KS(n,nMa,nMs,Z4(nQi)),KS(n,nMa,nMh,Z4(nQr)),KS(n,nMa,ng$,nQe),KS(n,nMa,ng4,8),KS(n,nMa,nMf,Z4(nQu)),KS(n,nMa,nMl,Z4(nW9)),KS(n,nMa,nMb,Z4(nW7)),KS(n,nMa,nye,(SB(),!1))}function nhW(n,t,e){var i,r,a,c,o,u,s,h;if(i=n.a.o==(DA(),nqC)?nwF:nw_,!(o=nsG(n,new Mc(t,e))).a&&o.c)IA(n.d,o);else if(o.a)return r=o.a.c,u=o.a.d,e?(s=n.a.c==(DI(),nqS)?u:r,a=n.a.c==nqS?r:u,c=n.a.g[a.i.p],h=pj(n.a.p[c.p])+pj(n.a.d[a.i.p])+a.n.b+a.a.b-pj(n.a.d[s.i.p])-s.n.b-s.a.b):(s=n.a.c==(DI(),nqj)?u:r,a=n.a.c==nqj?r:u,h=pj(n.a.p[n.a.g[a.i.p].p])+pj(n.a.d[a.i.p])+a.n.b+a.a.b-pj(n.a.d[s.i.p])-s.n.b-s.a.b),n.a.n[n.a.g[r.i.p].p]=(SB(),!0),n.a.n[n.a.g[u.i.p].p]=!0,h;return i}function nhQ(n,t,e){var i,r,a,c,o,u,s;if(noz(n.e,t))yP(),na5((o=CY(t,69).xk()?new IB(t,n):new EL(t,n)).c,o.b),jk(o,CY(e,16));else{for(a=0,s=nox(n.e.Dh(),t),i=CY(n.g,124);a<n.i;++a)if(r=i[a].Lk(),s.am(r)){if(r==(na1(),n3u)||r==n3a){for(u=nnK(n,t,e),c=a,u?no9(n,a):++a;a<n.i;)(r=i[a].Lk())==n3u||r==n3a?no9(n,a):++a;u||CY(nnv(n,c,Fy(t,e)),76)}else nnK(n,t,e)?no9(n,a):CY(nnv(n,a,(yP(),CY(t,69).xk()?CY(e,76):Fy(t,e))),76);return}nnK(n,t,e)||B7(n,(yP(),CY(t,69).xk()?CY(e,76):Fy(t,e)))}}function nhJ(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;for(h=0;h<t.length;h++){for(c=n.Kc();c.Ob();)CY(c.Pb(),230).hg(h,t);for(f=0;f<t[h].length;f++){for(o=n.Kc();o.Ob();)CY(o.Pb(),230).ig(h,f,t);for(l=0,b=t[h][f].j;l<b.c.length;l++){for(u=n.Kc();u.Ob();)CY(u.Pb(),230).jg(h,f,l,t);for(RN(l,b.c.length),e=0,r=new _4(CY(b.c[l],12).b);jr(r.a)||jr(r.b);)for(i=CY(jr(r.a)?RU(r.a):RU(r.b),18),s=n.Kc();s.Ob();)CY(s.Pb(),230).gg(h,f,l,e++,i,t)}}}for(a=n.Kc();a.Ob();)CY(a.Pb(),230).fg()}function nhY(n){var t,e,i,r,a;if(n.k!=(ni8(),n$v)||n.j.c.length<=1||CY(niK(n,(nlL(),nUt)),101)==(nie(),nZJ)||(nnT(),(i=(!n.q?($O(),$O(),nOB):n.q)._b(nHX)?CY(niK(n,nHX),203):CY(niK(xi(n),nHz),203))==nGo))return!1;if(i!=nGc&&i!=nGa&&(r=pj(PI(Y_(n,nUN))),(t=CY(niK(n,nUL),140))||(t=new Ou(r,r,r,r)),a=JH(n,(nf5(),n1y)),t.d+t.a+(a.gc()-1)*r>n.o.b||(e=JH(n,n1n),t.d+t.a+(e.gc()-1)*r>n.o.b)))return!1;return!0}function nhZ(n,t){var e,i,r,a,c,o,u,s,h,f;if(h=null,n.d&&(h=CY(Db(n.d,t),142)),!h){if(f=(a=n.a.vi()).i,!n.d||v_(n.d)!=f){for(u=new dc,n.d&&X7(u,n.d),o=s=u.f.c+u.i.c;o<f;++o)i=CY(GO(a,o),142),(e=CY(null==(r=Qz(n.e,i).xe())?nr3(u.f,null,i):JI(u.i,r,i),142))&&e!=i&&(null==r?nr3(u.f,null,e):JI(u.i,r,e));if(u.f.c+u.i.c!=f)for(c=0;c<s;++c)i=CY(GO(a,c),142),(e=CY(null==(r=Qz(n.e,i).xe())?nr3(u.f,null,i):JI(u.i,r,i),142))&&e!=i&&(null==r?nr3(u.f,null,e):JI(u.i,r,e));n.d=u}h=CY(Db(n.d,t),142)}return h}function nh1(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;return f=pT(PC(niK(t,(nlL(),nHF)))),l=null,a==(qy(),nG$)&&i.c.i==e?l=i.c:a==nGD&&i.d.i==e&&(l=i.d),(s=c)&&f&&!l?(jB(s.e,i),b=nP_.Math.max(pj(PI(niK(s.d,nHd))),pj(PI(niK(i,nHd)))),VD(s.d,nHd,b)):(nf5(),h=n1v,l?h=l.j:Tx(CY(niK(e,nUt),101))&&(h=a==nG$?n1y:n1n),w=n,d=t,g=e,p=a,m=h,v=i,y=null,E=p==(qy(),nG$)?v.c:v.d,M=JO(d),E.i==g?(y=CY(NR(w.b,E),10))||(VD(y=nll(E,CY(niK(g,(nlL(),nUt)),101),m,function(n){var t,e,i,r,a,c,o,u,s,h,f,l;for(r=pT(PC(niK(o=n.i,(nlL(),nHE)))),h=0,i=0,s=new fU(n.g);s.a<s.c.c.length;)a=(c=_p(u=CY(RU(s),18)))&&r&&pT(PC(niK(u,nHT))),l=u.d.i,c&&a?++i:c&&!a?++h:xi(l).e==o?++i:++h;for(e=new fU(n.e);e.a<e.c.c.length;)a=(c=_p(t=CY(RU(e),18)))&&r&&pT(PC(niK(t,nHT))),f=t.c.i,c&&a?++h:c&&!a?++i:xi(f).e==o?++h:++i;return h-i}(E),null,E.n,E.o,M,d),(nlF(),nK6),E),xM(w.b,E,y)):(k=function(n,t,e){var i,r;switch(i=JO(xi(t)),Ro(r=new nro,t),e.g){case 1:nau(r,Jw(Ya(i)));break;case 2:nau(r,Ya(i))}return VD(r,(nlL(),nUn),PI(niK(n,nUn))),r}(y=nll((T=new nQ,j=pj(PI(niK(d,(nlL(),nUv))))/2,V$(T,nUn,j),T),CY(niK(g,nUt),101),m,p==nG$?-1:1,null,new mm,new MH(0,0),M,d),g,p),VD(y,(nlF(),nK6),k),xM(w.b,k,y)),CY(niK(d,(nlF(),nKU)),21).Fc((no7(),nKc)),Tx(CY(niK(d,(nlL(),nUt)),101))?VD(d,nUt,(nie(),nZZ)):VD(d,nUt,(nie(),nZ1)),u=y,o=_$((xi(e),i)),a==nG$?(Ra(o,CY(I0(u.j,0),12)),Ru(o,r)):(Ra(o,r),Ru(o,CY(I0(u.j,0),12))),s=new Ji(i,o,u,CY(niK(u,(nlF(),nK6)),12),a,!l)),naR(n.a,i,new Cw(s.d,t,a)),s}function nh0(){var n;nh0=T,n0L=new gO,n0I=BJ(nPL,nby,2,0,6,1),n0$=R_(VE(33,58),VE(1,26)),n0D=R_(VE(97,122),VE(65,90)),n0R=VE(48,57),n0N=R_(n0$,0),n0x=R_(n0D,n0R),n0K=R_(R_(0,VE(1,6)),VE(33,38)),n0F=R_(R_(n0R,VE(65,70)),VE(97,102)),n0G=R_(n0N,Z8("-_.!~*'()")),n0q=R_(n0x,YC("-_.!~*'()")),Z8(njc),YC(njc),R_(n0G,Z8(";:@&=+$,")),R_(n0q,YC(";:@&=+$,")),n0_=Z8(":/?#"),n0B=YC(":/?#"),n0H=Z8("/?#"),n0U=YC("/?#"),(n=new dV).a.zc("jar",n),n.a.zc("zip",n),n.a.zc("archive",n),$O(),n0A=new p8(n)}function nh2(n,t){var e,i,r,a,c,o,u,h,f,l,b,w;o=0,w=0,u=Dd(n.g,n.g.length),a=n.e,c=n.j,i=n.b,r=n.c;do{for(b=0,h=new fU(n.q);h.a<h.c.c.length;)l=function n(t,e){var i,r,a,c,o,u,h,f,l;for(u=!0,a=0,h=t.g[e.p],f=e.o.b+t.o,i=t.d[e.p][2],_o(t.b,h,Qx(CY(I0(t.b,h),17).a-1+i)),_o(t.c,h,pj(PI(I0(t.c,h)))-f+i*t.f),++h>=t.j?(++t.j,jB(t.b,Qx(1)),jB(t.c,f)):(r=t.d[e.p][1],_o(t.b,h,Qx(CY(I0(t.b,h),17).a+1-r)),_o(t.c,h,pj(PI(I0(t.c,h)))+f-r*t.f)),(t.r==(nu7(),nGv)&&(CY(I0(t.b,h),17).a>t.k||CY(I0(t.b,h-1),17).a>t.k)||t.r==nGM&&(pj(PI(I0(t.c,h)))>t.n||pj(PI(I0(t.c,h-1)))>t.n))&&(u=!1),c=new Le(Sb(Jz(e).a.Kc(),new s));ncv(c);)o=CY(_I(c),18).c.i,t.g[o.p]==h&&(a+=CY((l=n(t,o)).a,17).a,u=u&&pT(PC(l.b)));return t.g[e.p]=h,new Ea(Qx(a+=t.d[e.p][0]),(SB(),!!u))}(n,CY(RU(h),10)),e=!0,(n.r==(nu7(),nGv)||n.r==nGM)&&(e=pT(PC(l.b))),CY(l.a,17).a<0&&e?(++b,u=Dd(n.g,n.g.length),n.e=n.e+CY(l.a,17).a,w+=a-n.e,a=n.e+CY(l.a,17).a,c=n.j,i=RR(n.b),r=RR(n.c)):(n.g=Dd(u,u.length),n.e=a,NP(i),n.b=i?new O8(i):CW(new fU(i)),NP(r),n.c=r?new O8(r):CW(new fU(r)),n.j=c);++o,f=0!=b&&pT(PC(t.Kb(new Ea(Qx(w),Qx(o)))))}while(f)}function nh3(n,t){var e,i,r,a,c,o,u,s,h,f,l;if((o=t.ah())||t.Ug(ngX,1),c=1/(e=CY(niK(n,(nlF(),nFa)),15)).gc(),t._g())for(t.bh("ELK Layered uses the following "+e.gc()+" modules:"),l=0,f=e.Kc();f.Ob();)s=CY(f.Pb(),47),i=(l<10?"0":"")+l++,t.bh(" Slot "+i+": "+mI(WZ(s)));for(h=e.Kc();h.Ob();){if(s=CY(h.Pb(),47),t.$g())return;s.Kf(n,t.eh(c))}for(a=new fU(n.b);a.a<a.c.c.length;)r=CY(RU(a),30),Vc(n.a,r.a),r.a.c.length=0;for(u=new fU(n.a);u.a<u.c.c.length;)Rc(CY(RU(u),10),null);n.b.c.length=0,o||t.Vg()}function nh4(n,t,e){var i,r,a,c,o,u,s,h;for(h=new du,s=new R0(0,e),a=0,qS(s,new Wf(0,0,s,e)),r=0,u=new j2(n);u.e!=u.i.gc();)o=CY(Z6(u),27),i=CY(I0(s.a,s.a.c.length-1),172),(r+o.g+(0==CY(I0(s.a,0),172).b.c.length?0:e)>t||pT(PC(ncx(o,(nuu(),nWs)))))&&(r=0,a+=s.b+e,dk(h.c,s),i=new Wf(0,(s=new R0(a,e)).f,s,e),qS(s,i),r=0),0==i.b.c.length||!pT(PC(ncx(DV(o),(nuu(),nWp))))&&(o.f>=i.o&&o.f<=i.f||.5*i.a<=o.f&&1.5*i.a>=o.f)?J1(i,o):(c=new Wf(i.s+i.r+e,s.f,s,e),qS(s,c),J1(c,o)),r=o.i+o.g;return dk(h.c,s),h}function nh6(n){var t,e,i,r;if(null!=n.b&&!(n.b.length<=2)&&!n.a){for(t=0,r=0;r<n.b.length;){for(t!=r?(n.b[t]=n.b[r++],n.b[t+1]=n.b[r++]):r+=2,e=n.b[t+1];r<n.b.length&&!(e+1<n.b[r]);)if(e+1==n.b[r])n.b[t+1]=n.b[r+1],e=n.b[t+1],r+=2;else if(e>=n.b[r+1])r+=2;else if(e<n.b[r+1])n.b[t+1]=n.b[r+1],e=n.b[t+1],r+=2;else throw new ph("Token#compactRanges(): Internel Error: ["+n.b[t]+","+n.b[t+1]+"] ["+n.b[r]+","+n.b[r+1]+"]").e;t+=2}t!=n.b.length&&(i=BJ(n4s,nwl,28,t,15,1),ns8(n.b,0,i,0,t),n.b=i),n.a=!0}}function nh5(n){var t,e,i,r,a,c,o,u,s,h,f,l;for(a=pT(PC(ncx(t=DP(n),(nlL(),nHE)))),h=0,r=0,s=new j2((!n.e&&(n.e=new Ox(nL6,n,7,4)),n.e));s.e!=s.i.gc();)c=(o=na$(u=CY(Z6(s),74)))&&a&&pT(PC(ncx(u,nHT))),l=niw(CY(GO((u.c||(u.c=new Ox(nL4,u,5,8)),u.c),0),84)),o&&c?++r:o&&!c?++h:DV(l)==t||l==t?++r:++h;for(i=new j2((!n.d&&(n.d=new Ox(nL6,n,8,5)),n.d));i.e!=i.i.gc();)c=(o=na$(e=CY(Z6(i),74)))&&a&&pT(PC(ncx(e,nHT))),f=niw(CY(GO((e.b||(e.b=new Ox(nL4,e,4,7)),e.b),0),84)),o&&c?++h:o&&!c?++r:DV(f)==t||f==t?++h:++r;return h-r}function nh8(n){var t,e,i,r,a;return null!=n.g?n.g:n.a<32?(n.g=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;if(nhF(),(o=0>Qv(n,0))&&(n=H4(n)),0==Qv(n,0))switch(t){case 0:return"0";case 1:return nwQ;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 f=new p2,t<0?f.a+="0E+":f.a+="0E",f.a+=t==nbJ?"2147483648":""+-t,f.a}s=BJ(n4u,nb5,28,19,15,1),e=18,b=n;do u=b,b=neC(b,10),s[--e]=AW(JF(48,JB(u,J_(b,10))))&nb9;while(0!=Qv(b,0))if(i=JB(JB(JB(18,e),t),1),0==t)return o&&(s[--e]=45),Za(s,e,18-e);if(t>0&&Qv(i,-6)>=0){if(Qv(i,0)>=0){for(r=e+AW(i),c=17;c>=r;c--)s[c+1]=s[c];return s[++r]=46,o&&(s[--e]=45),Za(s,e,18-e+1)}for(a=2;0>Qv(a,JF(H4(i),1));a++)s[--e]=48;return s[--e]=46,s[--e]=48,o&&(s[--e]=45),Za(s,e,18-e)}return l=e+1,h=new p3,o&&(h.a+="-"),18-l>=1?(NJ(h,s[e]),h.a+=".",h.a+=Za(s,e+1,18-e-1)):h.a+=Za(s,e,18-e),h.a+="E",Qv(i,0)>0&&(h.a+="+"),h.a+=""+Lm(i),h.a}(zF(n.f),Dy(n.e)),n.g):(r=nlP((n.c||(n.c=Rm(zF(n.f))),n.c),0),0==n.e)?r:(t=(!n.c&&(n.c=Rm(zF(n.f))),n.c).e<0?2:1,e=r.length,i=-n.e+e-t,a=new p2,a.a+=""+r,n.e>0&&i>=-6?i>=0?SL(a,e-Dy(n.e),"."):(zj(a,t-1,t-1,"0."),SL(a,t+1,Za(nOE,0,-Dy(i)-1))):(e-t>=1&&(SL(a,t,"."),++e),SL(a,e,"E"),i>0&&SL(a,++e,"+"),SL(a,++e,""+Lm(zF(i)))),n.g=a.a,n.g)}function nh9(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(w=new dc,a=n.a.ec().Kc();a.Ob();)xM(w,i=CY(a.Pb(),177),e.af(i));for(NP(n),ji(c=n?new O8(n):CW(n.a.ec().Kc()),new ll(w)),o=FU(c),u=new jw(t),nr3((b=new dc).f,t,u);0!=o.a.gc();){for(s=null,h=null,f=null,r=o.a.ec().Kc();r.Ob();)if(i=CY(r.Pb(),177),pj(PI(ED(Aj(w.f,i))))<=nwF){if(LR(b,i.a)&&!LR(b,i.b)){h=i.b,f=i.a,s=i;break}if(LR(b,i.b)&&!LR(b,i.a)){h=i.a,f=i.b,s=i;break}}if(!s)break;l=new jw(h),jB(CY(ED(Aj(b.f,f)),225).a,l),nr3(b.f,h,l),o.a.Bc(s)}return u}function nh7(n,t){var e,i,r,a,c,o,u,s,h,f;if(t){if(n.a||(n.a=new dJ),2==n.e)return void(o=n.a,jB(o.a,t));if(1==t.e){for(r=0;r<t.Pm();r++)nh7(n,t.Lm(r));return}if(0==(c=n.a.a.c.length)||0!=(a=CY(N9(n.a,c-1),122)).e&&10!=a.e||0!=t.e&&10!=t.e)return void(u=n.a,jB(u.a,t));(0==t.e||t.Mm().length,0==a.e)?(e=new p0,(i=a.Km())>=nwG?EW(e,JK(i)):NQ(e,i&nb9),++n4c,a=new Dh(10,null,0),s=n.a,h=a,Lh(f=c-1,s.a.c.length),_o(s.a,f,h)):(a.Mm().length,EW(e=new p0,a.Mm())),0==t.e?(i=t.Km())>=nwG?EW(e,JK(i)):NQ(e,i&nb9):EW(e,t.Mm()),CY(a,530).b=e.a}}function nfn(n){var t,e,i,r,a,c;for(Gd(n.a,new nJ),e=new fU(n.a);e.a<e.c.c.length;)t=CY(RU(e),225),i=Oj(jv(CY(n.b,68).c),CY(t.b,68).c),nIY?(c=CY(n.b,68).b,a=CY(t.b,68).b,nP_.Math.abs(i.a)>=nP_.Math.abs(i.b)?(i.b=0,a.d+a.a>c.d&&a.d<c.d+c.a&&Iu(i,nP_.Math.max(c.c-(a.c+a.b),a.c-(c.c+c.b)))):(i.a=0,a.c+a.b>c.c&&a.c<c.c+c.b&&Iu(i,nP_.Math.max(c.d-(a.d+a.a),a.d-(c.d+c.a))))):Iu(i,nsZ(CY(n.b,68),CY(t.b,68))),r=nP_.Math.sqrt(i.a*i.a+i.b*i.b),r=function n(t,e,i,r){var a,c,o;for(o=nP_.Math.min(i,function n(t,e,i,r){var a,c,o,u;for(u=i,o=new fU(e.a);o.a<o.c.c.length;){if(c=CY(RU(o),225),a=CY(c.b,68),0>=JU(t.b.c,a.b.c+a.b.b)&&0>=JU(a.b.c,t.b.c+t.b.b)&&0>=JU(t.b.d,a.b.d+a.b.a)&&0>=JU(a.b.d,t.b.d+t.b.a)){if(0==JU(a.b.c,t.b.c+t.b.b)&&r.a<0||0==JU(a.b.c+a.b.b,t.b.c)&&r.a>0||0==JU(a.b.d,t.b.d+t.b.a)&&r.b<0||0==JU(a.b.d+a.b.a,t.b.d)&&r.b>0){u=0;break}}else u=nP_.Math.min(u,nao(t,a,r));u=nP_.Math.min(u,n(t,c,u,r))}return u}(CY(t.b,68),e,i,r)),c=new fU(t.a);c.a<c.c.c.length;)(a=CY(RU(c),225))!=e&&(o=nP_.Math.min(o,n(a,e,o,r)));return o}(nIQ,t,r,i),Iu(i,r),Ax(CY(t.b,68),i),Gd(t.a,new lv(i)),CY(nIQ.b,68),B0(nIQ,nIJ,t)}function nft(n){var t,e,i,r,a,c,o,u,s;if(n.Pj())if(u=n.Qj(),n.i>0){if(t=new EN(n.i,n.g),a=(e=n.i)<100?null:new mw(e),n.Tj())for(i=0;i<n.i;++i)c=n.g[i],a=n.Vj(c,a);if(__(n),r=1==e?n.Ij(4,GO(t,0),null,0,u):n.Ij(6,t,null,-1,u),n.Mj()){for(i=new SQ(t);i.e!=i.i.gc();)a=n.Oj(Z5(i),a);a?(a.nj(r),a.oj()):n.Jj(r)}else a?(a.nj(r),a.oj()):n.Jj(r)}else __(n),n.Jj(n.Ij(6,($O(),nO_),null,-1,u));else if(n.Mj())if(n.i>0){for(o=n.g,s=n.i,__(n),a=s<100?null:new mw(s),i=0;i<s;++i)c=o[i],a=n.Oj(c,a);a&&a.oj()}else __(n);else __(n)}function nfe(n,t,e){var i,r,a,c,o,u,s,h,f;for(zW(this),e==(DC(),nq0)?LX(this.r,n):LX(this.w,n),h=nwF,s=nw_,c=t.a.ec().Kc();c.Ob();)r=CY(c.Pb(),42),o=CY(r.a,465),(u=(i=CY(r.b,18)).c)==n&&(u=i.d),o==nq0?LX(this.r,u):LX(this.w,u),f=(nf5(),n1l).Hc(u.j)?pj(PI(niK(u,(nlF(),nFb)))):V4(Vw(DY(nLA,1),nby,8,0,[u.i.n,u.n,u.a])).b,h=nP_.Math.min(h,f),s=nP_.Math.max(s,f);for(ni0(this,(nf5(),n1l).Hc(n.j)?pj(PI(niK(n,(nlF(),nFb)))):V4(Vw(DY(nLA,1),nby,8,0,[n.i.n,n.n,n.a])).b,h,s),a=t.a.ec().Kc();a.Ob();)r=CY(a.Pb(),42),nry(this,CY(r.b,18));this.o=!1}function nfi(n){var t,e,i,r,a,c;if(0!=(c=CY(I0(n.j,0),12)).g.c.length&&0!=c.e.c.length)throw new px("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges.").e;if(0!=c.g.c.length){for(r=nwF,t=new fU(c.g);t.a<t.c.c.length;)a=CY(RU(t),18).d.i,e=CY(niK(a,(nlL(),nHR)),140),r=nP_.Math.min(r,a.n.a-e.b);return new hX(NP(r))}if(0!=c.e.c.length){for(i=nw_,t=new fU(c.e);t.a<t.c.c.length;)a=CY(RU(t),18).c.i,e=CY(niK(a,(nlL(),nHR)),140),i=nP_.Math.max(i,a.n.a+a.o.a+e.c);return new hX(NP(i))}return gY(),gY(),nPz}function nfr(n,t){var e,i,r,a,c,o;if(!n.ol())return neO(n,t);if(n.i>4){if(!n.fk(t))return!1;else if(n.al()){if(o=(e=(i=CY(t,54)).Eh())==n.e&&(n.ml()?i.yh(i.Fh(),n.il())==n.jl():-1-i.Fh()==n.Lj()),n.nl()&&!o&&!e&&i.Jh()){for(r=0;r<n.i;++r)if(ER(n.pl(CY(n.g[r],58)))===ER(t))return!0}return o}else if(n.ml()&&!n.ll()){if(ER(a=CY(t,58).Mh(nnD(CY(n.Lk(),19))))===ER(n.e))return!0;if(null==a||!CY(a,58).Vh())return!1}}if(c=neO(n,t),n.nl()&&!c){for(r=0;r<n.i;++r)if(ER(i=n.pl(CY(n.g[r],58)))===ER(t))return!0}return c}function nfa(n){var t,e,i,r,a,c,o,u,s,h;if(n.Pj())if(h=n.Ej(),u=n.Qj(),h>0)if(t=new ze(n.pj()),a=(e=h)<100?null:new mw(e),PZ(n,e,t.g),r=1==e?n.Ij(4,GO(t,0),null,0,u):n.Ij(6,t,null,-1,u),n.Mj()){for(i=new j2(t);i.e!=i.i.gc();)a=n.Oj(Z6(i),a);a?(a.nj(r),a.oj()):n.Jj(r)}else a?(a.nj(r),a.oj()):n.Jj(r);else PZ(n,n.Ej(),n.Fj()),n.Jj(n.Ij(6,($O(),nO_),null,-1,u));else if(n.Mj())if((h=n.Ej())>0){for(o=n.Fj(),s=h,PZ(n,h,o),a=s<100?null:new mw(s),i=0;i<s;++i)c=o[i],a=n.Oj(c,a);a&&a.oj()}else PZ(n,n.Ej(),n.Fj());else PZ(n,n.Ej(),n.Fj())}function nfc(n,t,e){var i,r,a,c,o,u,s,h;for(r=t.d,a=e.d;r.a-a.a==0&&r.b-a.b==0;)c=!1,jM(t,250)&&jM(e,250)&&!c?(u=Oj(new TP(qd(o=CY(t,250).a)),qw(o)),i=2,OT(r,new MH(u.a/nP_.Math.sqrt(u.a*u.a+u.b*u.b)*i,-u.b/nP_.Math.sqrt(u.a*u.a+u.b*u.b)*i)),i=u==(h=Oj(new TP(qd(s=CY(e,250).a)),qw(s)))?-2:2,OT(r,new MH(h.a/nP_.Math.sqrt(h.a*h.a+h.b*h.b)*i,-(h.b/nP_.Math.sqrt(h.a*h.a+h.b*h.b))*i)),c=!0):(r.a+=nc8(n,26)*nw8+nc8(n,27)*nw9-.5,r.b+=nc8(n,26)*nw8+nc8(n,27)*nw9-.5,a.a+=nc8(n,26)*nw8+nc8(n,27)*nw9-.5,a.b+=nc8(n,26)*nw8+nc8(n,27)*nw9-.5)}function nfo(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(r=0,a=0,u=new fU(n.a);u.a<u.c.c.length;)c=CY(RU(u),10),r=nP_.Math.max(r,c.d.b),a=nP_.Math.max(a,c.d.c);for(o=new fU(n.a);o.a<o.c.c.length;){switch(c=CY(RU(o),10),CY(niK(c,(nlL(),nBR)),255).g){case 1:b=0;break;case 2:b=1;break;case 5:b=.5;break;default:for(e=0,h=0,l=new fU(c.j);l.a<l.c.c.length;)0==(f=CY(RU(l),12)).e.c.length||++e,0==f.g.c.length||++h;b=e+h==0?.5:h/(e+h)}d=n.c,s=c.o.a,g=(d.a-s)*b,b>.5?g-=2*a*(b-.5):b<.5&&(g+=2*r*(.5-b)),g<(i=c.d.b)&&(g=i),w=c.d.c,g>d.a-w-s&&(g=d.a-w-s),c.n.a=t+g}}function nfu(n,t){var e,i,r,a,c,o,u,s,h,f,l;if(n.e&&n.c.c<n.f)throw new px("Expected "+n.f+" phases to be configured; only found "+n.c.c).e;for(u=CY(mP(n.g),9),f=SY(n.f),a=0,o=u.length;a<o;++a)(s=CY(Uu(n,(i=u[a]).g),188))?jB(f,CY(Yu(n,s),106)):f.c.push(null);for(l=new xm,vZ(xX(xz(xX(new Aa(null,new R$(f,16)),new c1),new wc(t)),new c0),new wo(l)),zT(l,n.a),e=new du,r=0,c=u.length;r<c;++r)Vc(e,Vh(n,$H(CY(Uu(l,(i=u[r]).g),20)))),(h=CY(I0(f,i.g),106))&&dk(e.c,h);return Vc(e,Vh(n,$H(CY(Uu(l,u[u.length-1].g+1),20)))),e}function nfs(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;if(0==t.l&&0==t.m&&0==t.h)throw new pO("divide by zero").e;if(0==n.l&&0==n.m&&0==n.h)return e&&(nOe=js(0,0,0)),js(0,0,0);if(t.h==nwI&&0==t.m&&0==t.l)return(s=n).h==nwI&&0==s.m&&0==s.l?(e&&(nOe=js(0,0,0)),Tg((UT(),nOa))):(e&&(nOe=js(s.l,s.m,s.h)),js(0,0,0));if(u=!1,t.h>>19!=0&&(t=VL(t),u=!u),c=((l=(h=t).l)&l-1)!=0||((b=h.m)&b-1)!=0||((f=h.h)&f-1)!=0||0==f&&0==b&&0==l?-1:0==f&&0==b&&0!=l?qA(l):0==f&&0!=b&&0==l?qA(b)+22:0!=f&&0==b&&0==l?qA(f)+44:-1,a=!1,r=!1,i=!1,n.h==nwI&&0==n.m&&0==n.l){if(r=!0,a=!0,-1!=c)return o=ncE(n,c),u&&V9(o),e&&(nOe=js(0,0,0)),o;n=Tg((UT(),nOi)),i=!0,u=!u}else n.h>>19!=0&&(a=!0,n=VL(n),i=!0,u=!u);if(-1!=c){return w=n,d=u,g=a,p=ncE(w,c),d&&V9(p),e&&(m=w,(v=c)<=22?(y=m.l&(1<<v)-1,k=M=0):v<=44?(y=m.l,k=m.m&(1<<v-22)-1,M=0):(y=m.l,k=m.m,M=m.h&(1<<v-44)-1),w=js(y,k,M),nOe=g?VL(w):js(w.l,w.m,w.h)),p}return 0>neu(n,t)?(e&&(nOe=a?VL(n):js(n.l,n.m,n.h)),js(0,0,0)):function(n,t,e,i,r,a){var c,o,u,s,h,f,l,b,w,d,g;for(u=VY(t)-VY(n),c=ni9(t,u),o=js(0,0,0);u>=0&&(l=n,b=c,(g=l.h-b.h)<0||(w=l.l-b.l,(g+=(d=l.m-b.m+(w>>22))>>22)<0||(l.l=w&nwO,l.m=d&nwO,l.h=g&nwC,0))||(u<22?o.l|=1<<u:u<44?o.m|=1<<u-22:o.h|=1<<u-44,0!=n.l||0!=n.m||0!=n.h));)s=c.m,h=c.h,f=c.l,c.h=h>>>1,c.m=s>>>1|(1&h)<<21,c.l=f>>>1|(1&s)<<21,--u;return e&&V9(o),a&&(i?(nOe=VL(n),r&&(nOe=Vn(nOe,(UT(),nOa)))):nOe=js(n.l,n.m,n.h)),o}(i?n:js(n.l,n.m,n.h),t,u,a,r,e)}function nfh(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(c=n.e,u=t.e,0==c)return t;if(0==u)return n;if((a=n.d)+(o=t.d)==2)return(e=RF(n.a[0],nwW),i=RF(t.a[0],nwW),c==u)?(w=AW(h=JF(e,i)),0==(b=AW(A7(h,32)))?new FI(c,w):new LZ(c,2,Vw(DY(n4s,1),nwl,28,15,[w,b]))):(nuY(),EH(c<0?JB(i,e):JB(e,i),0)?Yq(c<0?JB(i,e):JB(e,i)):Nt(Yq(H4(c<0?JB(i,e):JB(e,i)))));if(c==u)l=c,f=a>=o?BQ(n.a,a,t.a,o):BQ(t.a,o,n.a,a);else{if(0==(r=a!=o?a>o?1:-1:WO(n.a,t.a,a)))return nuY(),nO$;1==r?(l=c,f=_X(n.a,a,t.a,o)):(l=u,f=_X(t.a,o,n.a,a))}return KM(s=new LZ(l,f.length,f)),s}function nff(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;if(Ym(t,e)>=0)return e;switch(xb(Ua(n,e))){case 2:if(OB("",Qz(n,e.qk()).xe())){if(u=xF(Ua(n,e)),o=xK(Ua(n,e)),h=ncK(n,t,u,o))return h;for(c=0,f=(r=nsr(n,t)).gc();c<f;++c)if(nod(L3(Ua(n,h=CY(r.Xb(c),179))),u))return h}return null;case 4:if(OB("",Qz(n,e.qk()).xe())){for(i=e;i;(l=Ua(n,i)).a==(Bu(),n3n)&&(b=l.g,l.a=(d=(w=l.b).qi(b.a))&&null!=(p=PA(YH((d.b||(d.b=new Pd((nlq(),n2S),n07,d)),d.b),"affiliation")))?-1==(g=Sg(p,niT(35)))?Jc(b,A2(b,GT(w.qk())),p):0==g?Jc(b,null,(Rx(1,p.length+1),p.substr(1))):Jc(b,(B2(0,g,p.length),p.substr(0,g)),(Rx(g+1,p.length+1),p.substr(g+1))):null),i=l.a)if(s=xF(Ua(n,i)),o=xK(Ua(n,i)),h=ncF(n,t,s,o))return h;if(OB(nSb,u=xF(Ua(n,e))))return neS(n,t);for(c=0,f=(a=nsa(n,t)).gc();c<f;++c)if(nod(L3(Ua(n,h=CY(a.Xb(c),179))),u))return h}return null;default:return null}}function nfl(){nfl=T,n3l=(mS(),n3f).b,n3d=CY(GO($x(n3f.b),0),35),n3b=CY(GO($x(n3f.b),1),35),n3w=CY(GO($x(n3f.b),2),35),n3j=n3f.bb,CY(GO($x(n3f.bb),0),35),CY(GO($x(n3f.bb),1),35),n3P=n3f.fb,n3O=CY(GO($x(n3f.fb),0),35),CY(GO($x(n3f.fb),1),35),CY(GO($x(n3f.fb),2),19),n3I=n3f.qb,n3N=CY(GO($x(n3f.qb),0),35),CY(GO($x(n3f.qb),1),19),CY(GO($x(n3f.qb),2),19),n3A=CY(GO($x(n3f.qb),3),35),n3L=CY(GO($x(n3f.qb),4),35),n3$=CY(GO($x(n3f.qb),6),35),n3x=CY(GO($x(n3f.qb),5),19),n3g=n3f.j,n3p=n3f.k,n3m=n3f.q,n3v=n3f.w,n3y=n3f.B,n3k=n3f.A,n3M=n3f.C,n3E=n3f.D,n3T=n3f._,n3S=n3f.cb,n3C=n3f.hb}function nfb(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(h=pj(PI(niK(n,(nlL(),nUM)))),i=pj(PI(niK(n,nUB))),VD(l=new oN,nUM,h+i),p=(s=t).d,d=s.c.i,m=s.d.i,g=Tk(d.c),v=Tk(m.c),r=new du,f=g;f<=v;f++)(o=new nn_(n)).k=(ni8(),n$m),VD(o,(nlF(),nK6),s),VD(o,nUt,(nie(),nZJ)),VD(o,nUT,l),b=CY(I0(n.b,f),30),f==g?ntX(o,b.a.c.length-e,b):Rc(o,b),(y=pj(PI(niK(s,nHd))))<0&&VD(s,nHd,y=0),o.o.b=y,w=nP_.Math.floor(y/2),nau(c=new nro,(nf5(),n1y)),Ro(c,o),c.n.b=w,nau(u=new nro,n1n),Ro(u,o),u.n.b=w,Ru(s,c),zU(a=new $1,s),VD(a,nHP,null),Ra(a,u),Ru(a,p),function(n,t,e){var i;(i=t.c.i).k==(ni8(),n$m)?(VD(n,(nlF(),nK1),CY(niK(i,nK1),12)),VD(n,nK0,CY(niK(i,nK0),12))):(VD(n,(nlF(),nK1),t.c),VD(n,nK0,e.d))}(o,s,a),dk(r.c,a),s=a;return r}function nfw(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;for(o=CY(nrs(n,(nf5(),n1y)).Kc().Pb(),12).e,f=CY(nrs(n,n1n).Kc().Pb(),12).g,c=o.c.length,g=RO(CY(I0(n.j,0),12));c-- >0;){for(RN(0,o.c.length),b=CY(o.c[0],18),RN(0,f.c.length),r=H6((i=CY(f.c[0],18)).d.e,i,0),p=i.d,b.d&&H0(b.d.e,b),b.d=p,b.d&&AC(b.d.e,r,b),Ra(i,null),Ru(i,null),l=b.a,t&&IA(l,new TP(g)),e=ZQ(i.a,0);e.b!=e.d.c;)IA(l,new TP(CY(K0(e),8)));for(d=b.b,h=new fU(i.b);h.a<h.c.c.length;)s=CY(RU(h),72),dk(d.c,s);if(w=CY(niK(b,(nlL(),nHP)),75),a=CY(niK(i,nHP),75))for(w||(w=new gj,VD(b,nHP,w)),u=ZQ(a,0);u.b!=u.d.c;)IA(w,new TP(CY(K0(u),8)))}}function nfd(n,t){var e;if(null==t||OB(t,nbi)||0==t.length&&n.k!=(nrN(),nQY))return null;switch(n.k.g){case 1:return ZM(t,nMC)?(SB(),nOu):ZM(t,nMI)?(SB(),nOo):null;case 2:try{return Qx(nsE(t,nbJ,nl3))}catch(n){if(jM(n=Vt(n),130))return null;throw n.e}case 4:try{return ni7(t)}catch(n){if(jM(n=Vt(n),130))return null;throw n.e}case 3:return t;case 5:return Wq(n),naL(n,t);case 6:return Wq(n),function(n,t,e){var i,r,a,c,o,u,s;for(s=new O9(i=CY(t.e&&t.e(),9),CY(Oc(i,i.length),9),0),o=ns7(e,"[\\[\\]\\s,]+"),a=0,c=o.length;a<c;++a)if(0!=nrJ(r=o[a]).length){if(null==(u=naL(n,r)))return null;Xf(s,CY(u,22))}return s}(n,n.a,t);case 7:try{return(e=function(n){var t,e;if(!n.a)throw new px("IDataType class expected for layout option "+n.f).e;if(e=n.a,D6(),null==(t=LR(n0j,e)?CY(NR(n0j,e),341).Qg():null))throw new px("Couldn't create new instance of property '"+n.f+"'. "+nMP+(PL(nNf),nNf.k)+nMO).e;return CY(t,423)}(n)).cg(t),e}catch(n){if(jM(n=Vt(n),33))return null;throw n.e}default:throw new px("Invalid type set for this layout option.").e}}function nfg(n){var t;switch(n.d){case 1:if(n.Sj())return -2!=n.o;break;case 2:if(n.Sj())return -2==n.o;break;case 3:case 5:case 4:case 6:case 7:return n.o>-2;default:return!1}switch(t=n.Rj(),n.p){case 0:return null!=t&&pT(PC(t))!=EU(n.k,0);case 1:return null!=t&&CY(t,222).a!=AW(n.k)<<24>>24;case 2:return null!=t&&CY(t,180).a!=(AW(n.k)&nb9);case 6:return null!=t&&EU(CY(t,168).a,n.k);case 5:return null!=t&&CY(t,17).a!=AW(n.k);case 7:return null!=t&&CY(t,191).a!=AW(n.k)<<16>>16;case 3:return null!=t&&pj(PI(t))!=n.j;case 4:return null!=t&&CY(t,161).a!=n.j;default:return null==t?null!=n.n:!QY(t,n.n)}}function nfp(n,t,e){var i,r,a,c;return n.ol()&&n.nl()&&ER(c=LK(n,CY(e,58)))!==ER(e)?(n.xj(t),n.Dj(t,Hy(n,t,c)),n.al()&&(r=CY(e,54),a=n.ml()?n.kl()?r.Th(n.b,nnD(CY(Gt(Dt(n.b),n.Lj()),19)).n,CY(Gt(Dt(n.b),n.Lj()).Hk(),29).kk(),null):r.Th(n.b,Ym(r.Dh(),nnD(CY(Gt(Dt(n.b),n.Lj()),19))),null,null):r.Th(n.b,-1-n.Lj(),null,null),CY(c,54).Ph()||(i=CY(c,54),a=n.ml()?n.kl()?i.Rh(n.b,nnD(CY(Gt(Dt(n.b),n.Lj()),19)).n,CY(Gt(Dt(n.b),n.Lj()).Hk(),29).kk(),a):i.Rh(n.b,Ym(i.Dh(),nnD(CY(Gt(Dt(n.b),n.Lj()),19))),null,a):i.Rh(n.b,-1-n.Lj(),null,a)),a&&a.oj()),TN(n.b)&&n.Jj(n.Ij(9,e,c,t,!1)),c):e}function nfm(n){var t,e,i,r,a,c,o,u,s,h;for(i=new du,c=new fU(n.e.a);c.a<c.c.c.length;){for(r=CY(RU(c),125),h=0,r.k.c.length=0,e=new fU(W1(r));e.a<e.c.c.length;)(t=CY(RU(e),218)).f&&(jB(r.k,t),++h);1==h&&dk(i.c,r)}for(a=new fU(i);a.a<a.c.c.length;)for(r=CY(RU(a),125);1==r.k.c.length;){for(s=CY(RU(new fU(r.k)),218),n.b[s.c]=s.g,o=s.d,u=s.e,e=new fU(W1(r));e.a<e.c.c.length;)QY(t=CY(RU(e),218),s)||(t.f?o==t.d||u==t.e?n.b[s.c]-=n.b[t.c]-t.g:n.b[s.c]+=n.b[t.c]-t.g:r==o?t.d==r?n.b[s.c]+=t.g:n.b[s.c]-=t.g:t.d==r?n.b[s.c]-=t.g:n.b[s.c]+=t.g);H0(o.k,s),H0(u.k,s),r=o==r?s.e:s.d}}function nfv(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;if(e=CY(xN(n.b,t),127),(u=CY(CY(_G(n.r,t),21),87)).dc()){e.n.b=0,e.n.c=0;return}for(s=n.u.Hc((nap(),nZ6)),c=0,o=u.Kc(),h=null,f=0,l=0;o.Ob();)r=pj(PI((i=CY(o.Pb(),117)).b.of((S_(),nIF)))),a=i.b.Mf().a,n.A.Hc((YZ(),n1I))&&nuN(n,t),h?(b=l+h.d.c+n.w+i.d.b,c=nP_.Math.max(c,(T6(),qM(nd5),nP_.Math.abs(f-r)<=nd5||f==r||isNaN(f)&&isNaN(r)?0:b/(r-f)))):n.C&&n.C.b>0&&(c=nP_.Math.max(c,X_(n.C.b+i.d.b,r))),h=i,f=r,l=a;n.C&&n.C.c>0&&(b=l+n.C.c,s&&(b+=h.d.c),c=nP_.Math.max(c,(T6(),qM(nd5),nP_.Math.abs(f-1)<=nd5||1==f||isNaN(f)&&isNaN(1)?0:b/(1-f)))),e.n.b=0,e.a.a=c}function nfy(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;if(e=CY(xN(n.b,t),127),(u=CY(CY(_G(n.r,t),21),87)).dc()){e.n.d=0,e.n.a=0;return}for(s=n.u.Hc((nap(),nZ6)),c=0,n.A.Hc((YZ(),n1I))&&nux(n,t),o=u.Kc(),h=null,l=0,f=0;o.Ob();)a=pj(PI((i=CY(o.Pb(),117)).b.of((S_(),nIF)))),r=i.b.Mf().b,h?(b=f+h.d.a+n.w+i.d.d,c=nP_.Math.max(c,(T6(),qM(nd5),nP_.Math.abs(l-a)<=nd5||l==a||isNaN(l)&&isNaN(a)?0:b/(a-l)))):n.C&&n.C.d>0&&(c=nP_.Math.max(c,X_(n.C.d+i.d.d,a))),h=i,l=a,f=r;n.C&&n.C.a>0&&(b=f+n.C.a,s&&(b+=h.d.a),c=nP_.Math.max(c,(T6(),qM(nd5),nP_.Math.abs(l-1)<=nd5||1==l||isNaN(l)&&isNaN(1)?0:b/(1-l)))),e.n.d=0,e.a.b=c}function nfk(n,t,e){var i,r,a,c,o,u;for(c=0,this.g=n,o=t.d.length,u=e.d.length,this.d=BJ(nAr,npU,10,o+u,0,1);c<o;c++)this.d[c]=t.d[c];for(a=0;a<u;a++)this.d[o+a]=e.d[a];if(t.e){if(this.e=CJ(t.e),this.e.Mc(e),e.e)for(r=e.e.Kc();r.Ob();)(i=CY(r.Pb(),239))!=t&&(this.e.Hc(i)?--i.c:this.e.Fc(i))}else e.e&&(this.e=CJ(e.e),this.e.Mc(t));this.f=t.f+e.f,this.a=t.a+e.a,this.a>0?GE(this,this.f/this.a):null!=jD(t.g,t.d[0]).a&&null!=jD(e.g,e.d[0]).a?GE(this,(pj(jD(t.g,t.d[0]).a)+pj(jD(e.g,e.d[0]).a))/2):null!=jD(t.g,t.d[0]).a?GE(this,jD(t.g,t.d[0]).a):null!=jD(e.g,e.d[0]).a&&GE(this,jD(e.g,e.d[0]).a)}function nfM(n){var t;this.a=n,t=(ni8(),Vw(DY(nAa,1),nbG,273,0,[n$v,n$m,n$g,n$y,n$p,n$d])).length,this.b=I3(nLO,[nby,nyC],[601,149],0,[t,t],2),this.c=I3(nLO,[nby,nyC],[601,149],0,[t,t],2),$z(this,n$v,(nlL(),nUC),nUI),zq(this,n$v,n$m,nUM,nUE),$X(this,n$v,n$y,nUM),$X(this,n$v,n$g,nUM),zq(this,n$v,n$p,nUC,nUI),$z(this,n$m,nUv,nUy),$X(this,n$m,n$y,nUv),$X(this,n$m,n$g,nUv),zq(this,n$m,n$p,nUM,nUE),T1(this,n$y,nUv),$X(this,n$y,n$g,nUv),$X(this,n$y,n$p,nUS),T1(this,n$g,nUN),zq(this,n$g,n$p,nUO,nUP),$z(this,n$p,nUv,nUv),$z(this,n$d,nUv,nUy),zq(this,n$d,n$v,nUM,nUE),zq(this,n$d,n$p,nUM,nUE),zq(this,n$d,n$m,nUM,nUE)}function nfE(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;if(l=new TP(n.o),p=t.a/l.a,o=t.b/l.b,d=t.a-l.a,a=t.b-l.b,e)for(r=ER(niK(n,(nlL(),nUt)))===ER((nie(),nZJ)),w=new fU(n.j);w.a<w.c.c.length;)switch((b=CY(RU(w),12)).j.g){case 1:r||(b.n.a*=p);break;case 2:b.n.a+=d,r||(b.n.b*=o);break;case 3:r||(b.n.a*=p),b.n.b+=a;break;case 4:r||(b.n.b*=o)}for(s=new fU(n.b);s.a<s.c.c.length;)h=(u=CY(RU(s),72)).n.a+u.o.a/2,f=u.n.b+u.o.b/2,(g=h/l.a)+(c=f/l.b)>=1&&(g-c>0&&f>=0?(u.n.a+=d,u.n.b+=a*c):g-c<0&&h>=0&&(u.n.a+=d*g,u.n.b+=a));n.o.a=t.a,n.o.b=t.b,VD(n,(nlL(),nHW),(YZ(),new O9(i=CY(mP(nLX),9),CY(Oc(i,i.length),9),0)))}function nfT(n,t){var e,i,r,a,c,o,u,s,h,f;if(null==t||0==t.length)return null;if(!(a=CY(Db(n.f,t),23))){for(r=new fx(new fN(n.d).a.vc().Kc());r.a.Ob();)if(c=CY(r.a.Pb(),44),o=(e=CY(c.md(),23)).f,f=t.length,OB(o.substr(o.length-f,f),t)&&(t.length==o.length||46==xq(o,o.length-t.length-1))){if(a)return null;a=e}if(!a){for(i=new fx(new fN(n.d).a.vc().Kc());i.a.Ob();)if(c=CY(i.a.Pb(),44),null!=(h=(e=CY(c.md(),23)).g)){for(u=0,s=h.length;u<s;++u)if(o=h[u],f=t.length,OB(o.substr(o.length-f,f),t)&&(t.length==o.length||46==xq(o,o.length-t.length-1))){if(a)return null;a=e}}}a&&Rr(n.f,t,a)}return a}function nfj(n,t,e){var i,r,a,c,o;this.j=n,this.e=ne8(n),this.o=this.j.e,this.i=!!this.o,this.p=this.i?CY(I0(e,xi(this.o).p),219):null,r=CY(niK(n,(nlF(),nKU)),21),this.g=r.Hc((no7(),nKc)),this.b=new du,this.d=new YW(this.e),c=CY(niK(this.j,nFc),234),this.q=(o=this.e,t==(qp(),nqf)?new rH:0!=nc8(c,1)?new mb(o.length):new ml(o.length)),this.k=new D3(this),a=_q(Vw(DY(nAl,1),nl7,230,0,[this,this.d,this.k,this.q])),t!=(qp(),nqs)||pT(PC(niK(n,(nlL(),nBY))))?t==nqs&&pT(PC(niK(n,(nlL(),nBY))))?(i=new nit(this.e),dk(a.c,i),this.c=new XE(i,c,CY(this.q,413))):this.c=new kE(t,this):(i=new nit(this.e),dk(a.c,i),this.c=new KV(i,c,CY(this.q,413))),jB(a,this.c),nhJ(a,this.e),this.s=function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E;if((e=pj(PI(niK(n.a.j,(nlL(),nB2)))))<-1||!n.a.i||Oq(CY(niK(n.a.o,nUt),101))||2>JH(n.a.o,(nf5(),n1n)).gc()&&2>JH(n.a.o,n1y).gc())return!0;if(n.a.c.kg())return!1;for(y=0,v=0,m=new du,u=n.a.e,h=0,f=u.length;h<f;++h){for(o=u[h],b=0,d=o.length;b<d;++b){if((l=o[b]).k==(ni8(),n$y)){dk(m.c,l);continue}for(i=n.b[l.c.p][l.p],l.k==n$g?(i.b=1,CY(niK(l,(nlF(),nK6)),12).j==(nf5(),n1n)&&(v+=i.a)):(E=JH(l,(nf5(),n1y))).dc()||!jE(E,new rX)?i.c=1:((r=JH(l,n1n)).dc()||!jE(r,new rq))&&(y+=i.a),c=new Le(Sb(JV(l).a.Kc(),new s));ncv(c);)a=CY(_I(c),18),y+=i.c,v+=i.b,He(n,i,a.d.i);for(M=new Le(new Su((g=qb(Vw(DY(nPs,1),nl7,20,0,[JH(l,(nf5(),n1t)),JH(l,n1m)]))).a.length,g.a));ncv(M);)k=CY(_I(M),12),(p=CY(niK(k,(nlF(),nFi)),10))&&(y+=i.c,v+=i.b,He(n,i,p))}for(w=new fU(m);w.a<w.c.c.length;)for(l=CY(RU(w),10),i=n.b[l.c.p][l.p],c=new Le(Sb(JV(l).a.Kc(),new s));ncv(c);)a=CY(_I(c),18),y+=i.c,v+=i.b,He(n,i,a.d.i);m.c.length=0}return(0==(t=y+v)?nwF:(y-v)/t)>=e}(this.k)}function nfS(n){var t,e,i,r,a,c,o,u;for(t=0,a=new fU(n.b.a);a.a<a.c.c.length;)(i=CY(RU(a),194)).b=0,i.c=0;for(nrn(n,0),Yo(n,n.g),noy(n.c),Wc(n.c),Ju(),e=nY8,nss(Me(nfz(nss(Me(nfz(nss(nfz(n.c,e)),Jf(e)))),e))),nfz(n.c,nY8),JT(n,n.g),nix(n,0),nhz(n,0),ncB(n,1),nrn(n,1),Yo(n,n.d),noy(n.c),c=new fU(n.b.a);c.a<c.c.c.length;)i=CY(RU(c),194),t+=nP_.Math.abs(i.c);for(o=new fU(n.b.a);o.a<o.c.c.length;)(i=CY(RU(o),194)).b=0,i.c=0;for(e=nZn,nss(Me(nfz(nss(Me(nfz(nss((Wc(u=nfz(n.c,e)),u)),Jf(e)))),e))),nfz(n.c,nY8),JT(n,n.d),nix(n,1),nhz(n,1),ncB(n,0),Wc(n.c),r=new fU(n.b.a);r.a<r.c.c.length;)i=CY(RU(r),194),t+=nP_.Math.abs(i.c);return t}function nfP(n,t){var e,i,r,a,c,o,u,s;if(null!=t.b&&null!=n.b){for(ncU(n),nh6(n),ncU(t),nh6(t),e=BJ(n4s,nwl,28,n.b.length+t.b.length,15,1),s=0,i=0,c=0;i<n.b.length&&c<t.b.length;)if(r=n.b[i],a=n.b[i+1],o=t.b[c],u=t.b[c+1],a<o)i+=2;else if(a>=o&&r<=u)o<=r&&a<=u?(e[s++]=r,e[s++]=a,i+=2):o<=r?(e[s++]=r,e[s++]=u,n.b[i]=u+1,c+=2):a<=u?(e[s++]=o,e[s++]=a,i+=2):(e[s++]=o,e[s++]=u,n.b[i]=u+1);else if(u<r)c+=2;else throw new ph("Token#intersectRanges(): Internal Error: ["+n.b[i]+","+n.b[i+1]+"] & ["+t.b[c]+","+t.b[c+1]+"]").e;for(;i<n.b.length;)e[s++]=n.b[i++],e[s++]=n.b[i++];n.b=BJ(n4s,nwl,28,s,15,1),ns8(e,0,n.b,0,s)}}function nfO(n,t){var e,i,r,a;2>pj(PI(niK(t,(nlL(),nUv))))&&VD(t,nUv,2),CY(niK(t,nHt),88)==(Ju(),nY7)&&VD(t,nHt,JO(t)),0==(e=CY(niK(t,nUb),17)).a?VD(t,(nlF(),nFc),new Yl):VD(t,(nlF(),nFc),new FG(e.a)),null==PC(niK(t,nHG))&&VD(t,nHG,(SB(),ER(niK(t,nHu))===ER((JG(),nZc)))),vZ(new Aa(null,new R$(t.a,16)),new lS(n)),vZ(UL(new Aa(null,new R$(t.b,16)),new ti),new lP(n)),i=new nfM(t),VD(t,(nlF(),nFf),i),xR(n.a),L2(n.a,(niF(),nxV),CY(niK(t,nB7),188)),L2(n.a,nxW,CY(niK(t,nHD),188)),L2(n.a,nxQ,CY(niK(t,nB9),188)),L2(n.a,nxJ,CY(niK(t,nHV),188)),L2(n.a,nxY,function(n){var t;return T8(),AE(nqL.a,n)||((t=new as).a=n,Oa(nqL,n,t)),CY(xN(nqL,n),645)}(CY(niK(t,nHu),223))),r=n.a,a=function(n){var t,e,i,r,a,c,o;switch(e=CY(niK(n,(nlF(),nKU)),21),t=TA(nxq),CY(niK(n,(nlL(),nHm)),346)==(QO(),nZj)&&zT(t,nxX),pT(PC(niK(n,nHg)))?IG(t,(niF(),nxV),(nlB(),nDm)):IG(t,(niF(),nxQ),(nlB(),nDm)),null!=niK(n,(Bl(),nQ4))&&zT(t,nxz),(pT(PC(niK(n,nHj)))||pT(PC(niK(n,nHp))))&&AX(t,(niF(),nxY),(nlB(),n$H)),CY(niK(n,nHt),88).g){case 2:case 3:case 4:AX(IG(t,(niF(),nxV),(nlB(),n$G)),nxY,n$U)}switch(e.Hc((no7(),nKr))&&AX(IG(IG(t,(niF(),nxV),(nlB(),n$B)),nxJ,n$F),nxY,n$_),ER(niK(n,nH$))!==ER((nu7(),nGT))&&IG(t,(niF(),nxQ),(nlB(),nDh)),e.Hc(nKf)&&(IG(t,(niF(),nxV),(nlB(),nDg)),IG(t,nxW,nDw),IG(t,nxQ,nDd)),ER(niK(n,nBU))!==ER((ni2(),nKn))&&ER(niK(n,nHu))!==ER((JG(),nZo))&&AX(t,(niF(),nxY),(nlB(),n$3)),pT(PC(niK(n,nHy)))&&IG(t,(niF(),nxQ),(nlB(),n$2)),pT(PC(niK(n,nB8)))&&IG(t,(niF(),nxQ),(nlB(),nDT)),(ER(niK(n,(nlL(),nHm)))===ER((QO(),nZj))?!n.e&&ER(niK(n,nB1))!==ER((zJ(),nKw)):(c=CY(niK(n,nB0),299),o=pT(PC(niK(n,nB8)))||ER(niK(n,nB9))===ER((q$(),nRM)),r=CY(niK(n,nBZ),17).a,a=n.a.c.length,!o&&c!=(zJ(),nKw)&&(0==r||r>a)))&&(i=(ER(niK(n,nHm))===ER(nZj)?CY(niK(n,nB1),299):CY(niK(n,nB0),299))==(zJ(),nKd)?(nlB(),nDb):(nlB(),nDP),IG(t,(niF(),nxJ),i)),CY(niK(n,nUW),388).g){case 1:IG(t,(niF(),nxJ),(nlB(),nDj));break;case 2:AX(IG(IG(t,(niF(),nxQ),(nlB(),n$$)),nxJ,n$D),nxY,n$R)}return ER(niK(n,nBQ))!==ER((Zu(),nGO))&&IG(t,(niF(),nxQ),(nlB(),nDS)),t}(t),zT(r.a,a),VD(t,nFa,nfu(n.a,t))}function nfC(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,g,p,m,v,y,k;for(f=new dc,c=new du,nr1(n,e,n.d.Ag(),c,f),nr1(n,i,n.d.Bg(),c,f),n.b=.2*(g=ncI(UL(new Aa(null,new R$(c,16)),new ak)),p=ncI(UL(new Aa(null,new R$(c,16)),new aM)),nP_.Math.min(g,p)),a=0,o=0;o<c.c.length-1;o++)for(RN(o,c.c.length),u=CY(c.c[o],118),w=o+1;w<c.c.length;w++)a+=nhq(n,u,(RN(w,c.c.length),CY(c.c[w],118)));for(l=CY(niK(t,(nlF(),nFc)),234),a>=2&&(m=nc9(c,!0,l),n.e||(n.e=new bq(n)),v=n.e,y=n.b,0!=m.c.length&&(k=function(n,t){var e,i,r,a,c,o,u,s;for(e=new du,r=UL(new Aa(null,new R$(n,16)),new am),a=UL(new Aa(null,new R$(n,16)),new av),xa((JC(c=xV(function(n){var t,e,i,r,a,c,o;for(t=336,e=0,r=new Ok(n.length),c=0,o=n.length;c<o;++c)JC(a=n[c]),xa(a),i=a.a,jB(r.a,NP(i)),t&=i.yd(),e=function(n,t){var e;return(e=JF(n,t),0>Qv(RB(n,t),0)|EH(RB(n,e),0))?e:JF(nbj,RB(A7(e,63),1))}(e,i.zd());return CY(CY(function n(t,e){return t.c?n(t.c,e):jB(t.b,e),t}(new Aa(null,niE(new R$((NA(),Y$(r.a)),16),new d,t,e)),new fp(n)),687),848)}(Vw(DY(nCr,1),nl7,848,0,[r,a])),new ay)),o=new C2(c,c.a.e,4|c.a.d),u=new PB(c,o))),s=BJ(n4b,nwX,28,0,15,1),mZ(u.a,new le(s)),i=1;i<s.length;i++)s[i]-s[i-1]>=2*t&&jB(e,new CS(s[i-1]+t,s[i]-t));return e}(c,y),vZ(Gs(new Aa(null,new R$(function(n){var t,e,i,r,a,c,o;for(a=new TE,e=new fU(n);e.a<e.c.c.length;)c=(t=CY(RU(e),132)).a,o=t.b,a.a._b(c)||a.a._b(o)||(r=c,i=o,c.e.b+c.j.b>2&&o.e.b+o.j.b<=2&&(r=o,i=c),a.a.zc(r,a),r.q=i);return a}(m),1)),new ap),new x6(v,c,k,y)))),nia(c,l),function(n){var t,e,i,r,a,c,o,u,s;for(u=new du,c=new du,a=new fU(n);a.a<a.c.c.length;)(i=CY(RU(a),118)).d=i.f.c.length,i.i=i.k.c.length,0==i.d&&dk(u.c,i),0==i.i&&0==i.e.b&&dk(c.c,i);for(e=-1;0!=u.c.length;)for(t=new fU((i=CY(_V(u,0),118)).k);t.a<t.c.c.length;)(s=CY(RU(t),132).b).o=nP_.Math.max(s.o,i.o+1),e=nP_.Math.max(e,s.o),s.d=s.d-1,0==s.d&&dk(u.c,s);if(e>-1){for(r=new fU(c);r.a<r.c.c.length;)(i=CY(RU(r),118)).o=e;for(;0!=c.c.length;)for(t=new fU((i=CY(_V(c,0),118)).f);t.a<t.c.c.length;)(o=CY(RU(t),132).a).e.b>0||(o.o=nP_.Math.min(o.o,i.o-1),o.i=o.i-1,0==o.i&&dk(c.c,o))}}(c),b=-1,h=new fU(c);h.a<h.c.c.length;)s=CY(RU(h),118),nP_.Math.abs(s.s-s.c)<ngY||(b=nP_.Math.max(b,s.o),n.d.yg(s,r,n.c));return n.d.a.a.$b(),b+1}function nfI(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(s=nwF,h=nwF,o=nw_,u=nw_,l=new fU(t.i);l.a<l.c.c.length;)f=CY(RU(l),68),TB(r=CY(CY(NR(n.g,f.a),42).b,27),f.b.c,f.b.d),s=nP_.Math.min(s,r.i),h=nP_.Math.min(h,r.j),o=nP_.Math.max(o,r.i+r.g),u=nP_.Math.max(u,r.j+r.f);for(b=CY(ncx(n.c,(niB(),nQt)),107),nf9(n.c,o-s+(b.b+b.c),u-h+(b.d+b.a),!0,!0),niN(n.c,-s+b.b,-h+b.d),i=new j2($l(n.c));i.e!=i.i.gc();)c=no6(e=CY(Z6(i),74),!0,!0),w=niU(e),g=niX(e),d=new MH(w.i+w.g/2,w.j+w.f/2),a=new MH(g.i+g.g/2,g.j+g.f/2),ned(p=Oj(new MH(a.a,a.b),d),w.g,w.f),OT(d,p),ned(m=Oj(new MH(d.a,d.b),a),g.g,g.f),OT(a,m),TU(c,d.a,d.b),TH(c,a.a,a.b)}function nfA(n,t){t.dc()&&C5(n.j,!0,!0,!0,!0),QY(t,(nf5(),n1o))&&C5(n.j,!0,!0,!0,!1),QY(t,n1e)&&C5(n.j,!1,!0,!0,!0),QY(t,n1d)&&C5(n.j,!0,!0,!1,!0),QY(t,n1p)&&C5(n.j,!0,!1,!0,!0),QY(t,n1u)&&C5(n.j,!1,!0,!0,!1),QY(t,n1i)&&C5(n.j,!1,!0,!1,!0),QY(t,n1g)&&C5(n.j,!0,!1,!1,!0),QY(t,n1w)&&C5(n.j,!0,!1,!0,!1),QY(t,n1l)&&C5(n.j,!0,!0,!0,!0),QY(t,n1a)&&C5(n.j,!0,!0,!0,!0),QY(t,n1l)&&C5(n.j,!0,!0,!0,!0),QY(t,n1r)&&C5(n.j,!0,!0,!0,!0),QY(t,n1b)&&C5(n.j,!0,!0,!0,!0),QY(t,n1f)&&C5(n.j,!0,!0,!0,!0),QY(t,n1h)&&C5(n.j,!0,!0,!0,!0)}function nfL(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(n.a!=t.jk())throw new pN(nE$+t.xe()+nED).e;if(i=Qz((nrR(),n28),t).Jl())return i.jk().wi().ri(i,e);if(c=Qz(n28,t).Ll()){if(null==e)return null;if((o=CY(e,15)).dc())return"";for(f=new p1,a=o.Kc();a.Ob();)r=a.Pb(),EW(f,c.jk().wi().ri(c,r)),f.a+=" ";return Tb(f,f.a.length-1)}if(!(h=Qz(n28,t).Ml()).dc()){for(s=h.Kc();s.Ob();)if((u=CY(s.Pb(),156)).fk(e))try{if(f=u.jk().wi().ri(u,e),null!=f)return f}catch(n){if(!jM(n=Vt(n),103))throw n.e}throw new pN("Invalid value: '"+e+"' for datatype :"+t.xe()).e}return CY(t,847).ok(),null==e?null:jM(e,180)?""+CY(e,180).a:WZ(e)==nPM?(l=n0f[0],b=CY(e,206),nfF(l.a,b,null)):J2(e)}function nfN(n,t,e,i,r){var a,c,o,u;return u=nwF,c=!1,a=!!(o=nhA(n,Oj(new MH(t.a,t.b),n),OT(new MH(e.a,e.b),r),Oj(new MH(i.a,i.b),e)))&&!(nP_.Math.abs(o.a-n.a)<=nML&&nP_.Math.abs(o.b-n.b)<=nML||nP_.Math.abs(o.a-t.a)<=nML&&nP_.Math.abs(o.b-t.b)<=nML),(o=nhA(n,Oj(new MH(t.a,t.b),n),e,r))&&((nP_.Math.abs(o.a-n.a)<=nML&&nP_.Math.abs(o.b-n.b)<=nML)==(nP_.Math.abs(o.a-t.a)<=nML&&nP_.Math.abs(o.b-t.b)<=nML)||a?u=nP_.Math.min(u,N5(Oj(o,e))):c=!0),(o=nhA(n,Oj(new MH(t.a,t.b),n),i,r))&&(c||(nP_.Math.abs(o.a-n.a)<=nML&&nP_.Math.abs(o.b-n.b)<=nML)==(nP_.Math.abs(o.a-t.a)<=nML&&nP_.Math.abs(o.b-t.b)<=nML)||a)&&(u=nP_.Math.min(u,N5(Oj(o,i)))),u}function nfx(n){var t,e,i,r,a;yd(n,new nil((((t=new c5).c=npk,(e=t).d=npM,i=e).b="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.",(r=i).e=new tr,(a=r).a=ng2,a))),KS(n,npk,ng9,Z4(nxN)),KS(n,npk,npn,(SB(),!0)),KS(n,npk,npr,Z4(nxD)),KS(n,npk,npE,Z4(nxR)),KS(n,npk,npi,Z4(nxK)),KS(n,npk,npa,Z4(nx$)),KS(n,npk,npt,Z4(nxF)),KS(n,npk,npc,Z4(nx_)),KS(n,npk,npg,Z4(nxL)),KS(n,npk,npm,Z4(nxI)),KS(n,npk,npv,Z4(nxA)),KS(n,npk,npy,Z4(nxx)),KS(n,npk,npp,Z4(nxC))}function nf$(n,t){var e,i,r,a,c,o,u,s;if(5==t.e)return void nfP(n,t);if(null!=t.b&&null!=n.b){for(ncU(n),nh6(n),ncU(t),nh6(t),e=BJ(n4s,nwl,28,n.b.length+t.b.length,15,1),s=0,i=0,c=0;i<n.b.length&&c<t.b.length;)if(r=n.b[i],a=n.b[i+1],o=t.b[c],u=t.b[c+1],a<o)e[s++]=n.b[i++],e[s++]=n.b[i++];else if(a>=o&&r<=u)o<=r&&a<=u?i+=2:o<=r?(n.b[i]=u+1,c+=2):a<=u?(e[s++]=r,e[s++]=o-1,i+=2):(e[s++]=r,e[s++]=o-1,n.b[i]=u+1,c+=2);else if(u<r)c+=2;else throw new ph("Token#subtractRanges(): Internal Error: ["+n.b[i]+","+n.b[i+1]+"] - ["+t.b[c]+","+t.b[c+1]+"]").e;for(;i<n.b.length;)e[s++]=n.b[i++],e[s++]=n.b[i++];n.b=BJ(n4s,nwl,28,s,15,1),ns8(e,0,n.b,0,s)}}function nfD(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(b=nrb(no6(t,!1,!1)),i&&(b=Wo(b)),d=pj(PI(ncx(t,(Z7(),nN$)))),Px(0!=b.b),l=CY(b.a.a.c,8),s=CY(nnt(b,1),8),b.b>2?(Vc(u=new du,new Rk(b,1,b.b)),zU(w=new ncT(nlI(u,d+n.a)),t),dk(e.c,w)):w=i?CY(NR(n.b,niU(t)),272):CY(NR(n.b,niX(t)),272),c=niU(t),i&&(c=niX(t)),g=c,v=ngK,nnc(),m=nNv,v=nP_.Math.abs(l.b),(p=nP_.Math.abs(g.f-l.b))<v&&(v=p,m=nNy),(p=nP_.Math.abs(l.a))<v&&(v=p,m=nNk),(p=nP_.Math.abs(g.g-l.a))<v&&(v=p,m=nNm),a=m,o=d+n.a,a.a?(o+=nP_.Math.abs(l.b-s.b),f=new MH(s.a,(s.b+l.b)/2)):(o+=nP_.Math.abs(l.a-s.a),f=new MH((s.a+l.a)/2,s.b)),i?xM(n.d,t,new ntt(w,a,f,o)):xM(n.c,t,new ntt(w,a,f,o)),xM(n.b,t,w),t.n||(t.n=new Lk(nNt,t,1,7)),h=new j2(t.n);h.e!=h.i.gc();)r=nuV(n,CY(Z6(h),135),!0,0,0),dk(e.c,r)}function nfR(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(!n.b)return!1;for(c=null,l=null,u=new B4(null,null),r=1,u.a[1]=n.b,f=u;f.a[r];)s=r,o=l,l=f,f=f.a[r],r=(i=n.a.Ne(t,f.d))<0?0:1,0==i&&(!e.c||xL(f.e,e.d))&&(c=f),!(f&&f.b)&&!pX(f.a[r])&&(pX(f.a[1-r])?l=l.a[s]=Xl(f,r):!pX(f.a[1-r])&&(b=l.a[1-s])&&(pX(b.a[1-s])||pX(b.a[s])?(a=+(o.a[1]==l),pX(b.a[s])?o.a[a]=Kf(l,s):pX(b.a[1-s])&&(o.a[a]=Xl(l,s)),f.b=o.a[a].b=!0,o.a[a].a[0].b=!1,o.a[a].a[1].b=!1):(l.b=!1,b.b=!0,f.b=!0)));if(c){if(e.b=!0,e.d=c.e,f!=c){h=new B4(f.d,f.e);var w,d,g=c;for(w=+!!(null==(d=u).d||n.a.Ne(g.d,d.d)>0);d.a[w]!=g;)d=d.a[w],w=+(n.a.Ne(g.d,d.d)>0);d.a[w]=h,h.b=g.b,h.a[0]=g.a[0],h.a[1]=g.a[1],g.a[0]=null,g.a[1]=null,l==c&&(l=h)}l.a[+(l.a[1]==f)]=f.a[+!f.a[0]],--n.c}return n.b=u.a[1],n.b&&(n.b.b=!1),e.b}function nfK(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(e)for(i=-1,h=new Kp(t,0);h.b<h.d.gc();){if(Px(h.b<h.d.gc()),o=CY(h.d.Xb(h.c=h.b++),10),null==(f=n.c[o.c.p][o.p].a)){for(c=i+1,a=new Kp(t,h.b);a.b<a.d.gc();)if(null!=(l=(Px(a.b<a.d.gc()),b=CY(a.d.Xb(a.c=a.b++),10),n.c[b.c.p][b.p]).a)){xf(l),c=l;break}f=(i+c)/2,n.c[o.c.p][o.p].a=f,n.c[o.c.p][o.p].d=(xf(f),f),n.c[o.c.p][o.p].b=1}xf(f),i=f}else{for(r=0,s=new fU(t);s.a<s.c.c.length;)o=CY(RU(s),10),null!=n.c[o.c.p][o.p].a&&(r=nP_.Math.max(r,pj(n.c[o.c.p][o.p].a)));for(r+=2,u=new fU(t);u.a<u.c.c.length;)o=CY(RU(u),10),null==n.c[o.c.p][o.p].a&&(f=nc8(n.i,24)*ndn*r-1,n.c[o.c.p][o.p].a=f,n.c[o.c.p][o.p].d=f,n.c[o.c.p][o.p].b=1)}}function nfF(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;for(e||(l=t.q.getTimezoneOffset(),(b=new y).a=l,b.b=0==(w=l)?"Etc/GMT":(w<0?(w=-w,d="Etc/GMT-"):d="Etc/GMT+",d+UI(w)),b.c=BJ(nPL,nby,2,2,6,1),b.c[0]=XR(l),b.c[1]=XR(l),e=b),r=(t.q.getTimezoneOffset()-e.a)*6e4,u=o=new Pz(JF(zF(t.q.getTime()),r)),o.q.getTimezoneOffset()!=t.q.getTimezoneOffset()&&(r>0?r-=864e5:r+=864e5,u=new Pz(JF(zF(t.q.getTime()),r))),h=new p3,s=n.a.length,a=0;a<s;)if((i=xq(n.a,a))>=97&&i<=122||i>=65&&i<=90){for(c=a+1;c<s&&xq(n.a,c)==i;++c);(function(n,t,e,i,r,a){var c,o,u,s,h,f,l,b,w,d,g;switch(t){case 71:u=+(i.q.getFullYear()-nwf>=-1900),e>=4?EY(n,Vw(DY(nPL,1),nby,2,6,[nwb,nww])[u]):EY(n,Vw(DY(nPL,1),nby,2,6,["BC","AD"])[u]);break;case 121:switch((d=i.q.getFullYear()-nwf+nwf)<0&&(d=-d),e){case 1:n.a+=d;break;case 2:Uf(n,d%100,2);break;default:Uf(n,d,e)}break;case 77:switch(g=i.q.getMonth(),e){case 5:EY(n,Vw(DY(nPL,1),nby,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[g]);break;case 4:EY(n,Vw(DY(nPL,1),nby,2,6,[nb7,nwn,nwt,nwe,nwi,nwr,nwa,nwc,nwo,nwu,nws,nwh])[g]);break;case 3:EY(n,Vw(DY(nPL,1),nby,2,6,["Jan","Feb","Mar","Apr",nwi,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[g]);break;default:Uf(n,g+1,e)}break;case 107:0==(s=r.q.getHours())?Uf(n,24,e):Uf(n,s,e);break;case 83:0>Qv(c=zF(r.q.getTime()),0)?(o=nb8-AW(YX(H4(c),nb8)))==nb8&&(o=0):o=AW(YX(c,nb8)),1==e?NJ(n,48+(o=nP_.Math.min((o+50)/100|0,9))&nb9):2==e?Uf(n,o=nP_.Math.min((o+5)/10|0,99),2):(Uf(n,o,3),e>3&&Uf(n,0,e-3));break;case 69:h=i.q.getDay(),5==e?EY(n,Vw(DY(nPL,1),nby,2,6,["S","M","T","W","T","F","S"])[h]):4==e?EY(n,Vw(DY(nPL,1),nby,2,6,[nwd,nwg,nwp,nwm,nwv,nwy,nwk])[h]):EY(n,Vw(DY(nPL,1),nby,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[h]);break;case 97:r.q.getHours()>=12&&24>r.q.getHours()?EY(n,Vw(DY(nPL,1),nby,2,6,["AM","PM"])[1]):EY(n,Vw(DY(nPL,1),nby,2,6,["AM","PM"])[0]);break;case 104:0==(f=r.q.getHours()%12)?Uf(n,12,e):Uf(n,f,e);break;case 75:Uf(n,r.q.getHours()%12,e);break;case 72:Uf(n,r.q.getHours(),e);break;case 99:l=i.q.getDay(),5==e?EY(n,Vw(DY(nPL,1),nby,2,6,["S","M","T","W","T","F","S"])[l]):4==e?EY(n,Vw(DY(nPL,1),nby,2,6,[nwd,nwg,nwp,nwm,nwv,nwy,nwk])[l]):3==e?EY(n,Vw(DY(nPL,1),nby,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[l]):Uf(n,l,1);break;case 76:b=i.q.getMonth(),5==e?EY(n,Vw(DY(nPL,1),nby,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[b]):4==e?EY(n,Vw(DY(nPL,1),nby,2,6,[nb7,nwn,nwt,nwe,nwi,nwr,nwa,nwc,nwo,nwu,nws,nwh])[b]):3==e?EY(n,Vw(DY(nPL,1),nby,2,6,["Jan","Feb","Mar","Apr",nwi,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[b]):Uf(n,b+1,e);break;case 81:w=i.q.getMonth()/3|0,e<4?EY(n,Vw(DY(nPL,1),nby,2,6,["Q1","Q2","Q3","Q4"])[w]):EY(n,Vw(DY(nPL,1),nby,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[w]);break;case 100:Uf(n,i.q.getDate(),e);break;case 109:Uf(n,r.q.getMinutes(),e);break;case 115:Uf(n,r.q.getSeconds(),e);break;case 122:e<4?EY(n,a.c[0]):EY(n,a.c[1]);break;case 118:EY(n,a.b);break;case 90:e<3?EY(n,function(n){var t,e;return e=-n.a,t=Vw(DY(n4u,1),nb5,28,15,[43,48,48,48,48]),e<0&&(t[0]=45,e=-e),t[1]=t[1]+((e/60|0)/10|0)&nb9,t[2]=t[2]+(e/60|0)%10&nb9,t[3]=t[3]+(e%60/10|0)&nb9,t[4]=t[4]+e%10&nb9,Za(t,0,t.length)}(a)):3==e?EY(n,function(n){var t,e;return e=-n.a,t=Vw(DY(n4u,1),nb5,28,15,[43,48,48,58,48,48]),e<0&&(t[0]=45,e=-e),t[1]=t[1]+((e/60|0)/10|0)&nb9,t[2]=t[2]+(e/60|0)%10&nb9,t[4]=t[4]+(e%60/10|0)&nb9,t[5]=t[5]+e%10&nb9,Za(t,0,t.length)}(a)):EY(n,function(n){var t;return t=Vw(DY(n4u,1),nb5,28,15,[71,77,84,45,48,48,58,48,48]),n<=0&&(t[3]=43,n=-n),t[4]=t[4]+((n/60|0)/10|0)&nb9,t[5]=t[5]+(n/60|0)%10&nb9,t[7]=t[7]+(n%60/10|0)&nb9,t[8]=t[8]+n%10&nb9,Za(t,0,t.length)}(a.a));break;default:return}})(h,i,c-a,o,u,e),a=c}else if(39==i){if(++a<s&&39==xq(n.a,a)){h.a+="'",++a;continue}for(f=!1;!f;){for(c=a;c<s&&39!=xq(n.a,c);)++c;if(c>=s)throw new pN("Missing trailing '").e;c+1<s&&39==xq(n.a,c+1)?++c:f=!0,EY(h,Di(n.a,a,c)),a=c+1}}else h.a+=String.fromCharCode(i),++a;return h.a}function nf_(n,t){var e,i,r,a;a=n.F,null==t?(n.F=null,WH(n,null)):(xf(t),n.F=t,-1!=(i=Tp(t,niT(60)))?(B2(0,i,t.length),r=t.substr(0,i),-1!=Tp(t,niT(46))||OB(r,nlZ)||OB(r,njj)||OB(r,njS)||OB(r,njP)||OB(r,njO)||OB(r,njC)||OB(r,njI)||OB(r,njA)||(r=njL),-1!=(e=Sg(t,niT(62)))&&(r+=""+(Rx(e+1,t.length+1),t.substr(e+1))),WH(n,r)):(r=t,-1==Tp(t,niT(46))&&(-1!=(i=Tp(t,niT(91)))&&(B2(0,i,t.length),r=t.substr(0,i)),OB(r,nlZ)||OB(r,njj)||OB(r,njS)||OB(r,njP)||OB(r,njO)||OB(r,njC)||OB(r,njI)||OB(r,njA)?r=t:(r=njL,-1!=i&&(r+=""+(Rx(i,t.length+1),t.substr(i))))),WH(n,r),r==t&&(n.F=n.D))),(4&n.Db)!=0&&(1&n.Db)==0&&zP(n,new LM(n,1,5,a,t))}function nfB(n,t){var e,i,r,a,c,o,u,s;if(Rx(o=t.length-1,t.length),93==(c=t.charCodeAt(o))){if((a=Tp(t,niT(91)))>=0)return r=function(n,t){var e;if(jM(e=noS(n.Dh(),t),102))return CY(e,19);throw new pN(nET+t+"' is not a valid reference").e}(n,(B2(1,a,t.length),t.substr(1,a-1))),B2(a+1,o,t.length),function(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(s=0,u=new du,f=t.length,c=VZ(e);s<f;++s){switch(h=Sd(t,niT(61),s),a=(r=z9(i=function(n,t){var e;if(jM(e=noS(n,t),331))return CY(e,35);throw new pN(nET+t+"' is not a valid attribute").e}(c,(B2(s,h,t.length),t.substr(s,h-s))))).jk().wi(),xq(t,++h)){case 39:o=S1(t,39,++h),jB(u,new Ej(i,$s((B2(h,o,t.length),t.substr(h,o-h)),a,r))),s=o+1;break;case 34:o=S1(t,34,++h),jB(u,new Ej(i,$s((B2(h,o,t.length),t.substr(h,o-h)),a,r))),s=o+1;break;case 91:jB(u,new Ej(i,l=new du));e:for(;;){switch(xq(t,++h)){case 39:o=S1(t,39,++h),jB(l,$s((B2(h,o,t.length),t.substr(h,o-h)),a,r)),h=o+1;break;case 34:o=S1(t,34,++h),jB(l,$s((B2(h,o,t.length),t.substr(h,o-h)),a,r)),h=o+1;break;case 110:if(++h,t.indexOf("ull",h)==h)l.c.push(null);else throw new ph(nES).e;h+=3}if(h<f)switch(Rx(h,t.length),t.charCodeAt(h)){case 44:break;case 93:break e;default:throw new ph("Expecting , or ]").e}else break}s=h+1;break;case 110:if(++h,t.indexOf("ull",h)==h)jB(u,new Ej(i,null));else throw new ph(nES).e;s=h+3}if(s<f){if(Rx(s,t.length),44!=t.charCodeAt(s))throw new ph("Expecting ,").e}else break}return function(n,t,e){var i,r,a,c,o,u,s,h,f,l;l=t.c.length,f=CY((s=n.Ih(e))>=0?n.Lh(s,!1,!0):naB(n,e,!1),61);e:for(a=f.Kc();a.Ob();){for(h=0,r=CY(a.Pb(),58);h<l;++h)if(RN(h,t.c.length),u=(c=CY(t.c[h],76)).md(),o=c.Lk(),i=r.Nh(o,!1),null==u?null!=i:!QY(u,i))continue e;return r}return null}(n,u,e)}(n,t.substr(a+1,o-(a+1)),r)}else{if(e=-1,null==nOf&&(nOf=RegExp("\\d")),nOf.test(String.fromCharCode(c))&&(e=OU(t,niT(46),o-1))>=0){i=CY(_K(n,Gb(n,(B2(1,e,t.length),t.substr(1,e-1))),!1),61),u=0;try{u=nsE((Rx(e+1,t.length+1),t.substr(e+1)),nbJ,nl3)}catch(n){if(jM(n=Vt(n),130))throw new H7(n).e;throw n.e}if(u<i.gc())return jM(s=i.Xb(u),76)&&(s=CY(s,76).md()),CY(s,58)}if(e<0)return CY(_K(n,Gb(n,(Rx(1,t.length+1),t.substr(1))),!1),58)}return null}function nfH(n,t,e){var i,r,a,c,o;if(o=n.c,t||(t=n2$),n.c=t,(4&n.Db)!=0&&(1&n.Db)==0&&(c=new LM(n,1,2,o,n.c),e?e.nj(c):e=c),o!=t){if(jM(n.Cb,292))n.Db>>16==-10?e=CY(n.Cb,292).Yk(t,e):n.Db>>16==-15&&(t||(nlq(),t=n2p),o||(nlq(),o=n2p),n.Cb.Yh()&&(c=new Uh(n.Cb,1,13,o,t,nnm(Ui(CY(n.Cb,62)),n),!1),e?e.nj(c):e=c));else if(jM(n.Cb,90))n.Db>>16==-23&&(jM(t,90)||(nlq(),t=n2y),jM(o,90)||(nlq(),o=n2y),n.Cb.Yh()&&(c=new Uh(n.Cb,1,10,o,t,nnm(FS(CY(n.Cb,29)),n),!1),e?e.nj(c):e=c));else if(jM(n.Cb,457))for((a=CY(n.Cb,850)).b||(a.b=new w8(new gR)),r=new w9(new zM(new fP(a.b.a).a));r.a.b;)e=nfH(i=CY(Xu(r.a).ld(),89),non(i,a),e)}return e}function nfU(n){var t,e,i,r,a,c,o,u,s,h,f,l;if((l=CY(ncx(n,(nl_(),nJ5)),21)).dc())return null;if(o=0,c=0,l.Hc((YZ(),n1C))){for(h=CY(ncx(n,nYv),101),i=2,e=2,r=2,a=2,t=DV(n)?CY(ncx(DV(n),nJ$),88):CY(ncx(n,nJ$),88),s=new j2((!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c));s.e!=s.i.gc();)if(u=CY(Z6(s),123),(f=CY(ncx(u,nYS),64))==(nf5(),n1v)&&(f=ns3(u,t),nnh(u,nYS,f)),h==(nie(),nZJ))switch(f.g){case 1:i=nP_.Math.max(i,u.i+u.g);break;case 2:e=nP_.Math.max(e,u.j+u.f);break;case 3:r=nP_.Math.max(r,u.i+u.g);break;case 4:a=nP_.Math.max(a,u.j+u.f)}else switch(f.g){case 1:i+=u.g+2;break;case 2:e+=u.f+2;break;case 3:r+=u.g+2;break;case 4:a+=u.f+2}o=nP_.Math.max(i,r),c=nP_.Math.max(e,a)}return nf9(n,o,c,!0,!0)}function nfG(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(m=CY(FB(Gs(xX(new Aa(null,new R$(t.d,16)),new bf(e)),new bl(e)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),f=nl3,h=nbJ,u=new fU(t.b.j);u.a<u.c.c.length;)(o=CY(RU(u),12)).j==e&&(f=nP_.Math.min(f,o.p),h=nP_.Math.max(h,o.p));if(f==nl3)for(c=0;c<m.gc();c++)Hi(CY(m.Xb(c),105),e,c);else{var k,M=v=BJ(n4s,nwl,28,r.length,15,1),E=v.length;for(k=0;k<E;++k)M[k]=-1;for(p=m.Kc();p.Ob();){for(g=CY(p.Pb(),105),a=CY(NR(n.b,g),183),s=0,d=f;d<=h;d++)a[d]&&(s=nP_.Math.max(s,i[d]));if(g.i){for(l=0,b=g.i.c,y=new dV;l<r.length;l++)r[b][l]&&LX(y,Qx(v[l]));for(;vF(y,Qx(s));)++s}for(Hi(g,e,s),w=f;w<=h;w++)a[w]&&(i[w]=s+1);g.i&&(v[g.i.c]=s)}}}function nfq(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g;return o=Oj(new MH(t.a,t.b),n),u=Oj(new MH(i.a,i.b),e),s=n.a,b=n.b,f=e.a,d=e.b,h=o.a,w=o.b,r=(l=u.a)*w-h*(g=u.b),T6(),qM(ny_),!(nP_.Math.abs(0-r)<=ny_||0==r||isNaN(0)&&isNaN(r))&&(a=1/r*((s-f)*w-(b-d)*h),c=-(1/r*(-(s-f)*g+(b-d)*l)),qM(ny_),(nP_.Math.abs(0-a)<=ny_||0==a||isNaN(0)&&isNaN(a)?0:0<a?-1:0>a?1:Tm(isNaN(0),isNaN(a)))<0&&(qM(ny_),(nP_.Math.abs(a-1)<=ny_||1==a||isNaN(a)&&isNaN(1)?0:a<1?-1:a>1?1:Tm(isNaN(a),isNaN(1)))<0)&&(qM(ny_),(nP_.Math.abs(0-c)<=ny_||0==c||isNaN(0)&&isNaN(c)?0:0<c?-1:0>c?1:Tm(isNaN(0),isNaN(c)))<0)&&(qM(ny_),(nP_.Math.abs(c-1)<=ny_||1==c||isNaN(c)&&isNaN(1)?0:c<1?-1:c>1?1:Tm(isNaN(c),isNaN(1)))<0))}function nfX(n,t){var e,i;if(n.e)throw new px((PL(nCs),ndS+nCs.k+ndP)).e;if(i=n.a,!SD(i.e,t))throw new ph(ndO+t+ndC).e;if(t==n.d)return n;switch(e=n.d,n.d=t,e.g){case 0:switch(t.g){case 2:ntl(n);break;case 1:V1(n),ntl(n);break;case 4:neU(n),ntl(n);break;case 3:neU(n),V1(n),ntl(n)}break;case 2:switch(t.g){case 1:V1(n),nuB(n);break;case 4:neU(n),ntl(n);break;case 3:neU(n),V1(n),ntl(n)}break;case 1:switch(t.g){case 2:V1(n),nuB(n);break;case 4:V1(n),neU(n),ntl(n);break;case 3:V1(n),neU(n),V1(n),ntl(n)}break;case 4:switch(t.g){case 2:neU(n),ntl(n);break;case 1:neU(n),V1(n),ntl(n);break;case 3:V1(n),nuB(n)}break;case 3:switch(t.g){case 2:V1(n),neU(n),ntl(n);break;case 1:V1(n),neU(n),V1(n),ntl(n);break;case 4:V1(n),nuB(n)}}return n}function nfz(n,t){var e,i;if(n.d)throw new px((PL(nI5),ndS+nI5.k+ndP)).e;if(i=n.a,!SD(i.c,t))throw new ph(ndO+t+ndC).e;if(t==n.c)return n;switch(e=n.c,n.c=t,e.g){case 0:switch(t.g){case 2:Wc(n);break;case 1:V0(n),Wc(n);break;case 4:neG(n),Wc(n);break;case 3:neG(n),V0(n),Wc(n)}break;case 2:switch(t.g){case 1:V0(n),nuH(n);break;case 4:neG(n),Wc(n);break;case 3:neG(n),V0(n),Wc(n)}break;case 1:switch(t.g){case 2:V0(n),nuH(n);break;case 4:V0(n),neG(n),Wc(n);break;case 3:V0(n),neG(n),V0(n),Wc(n)}break;case 4:switch(t.g){case 2:neG(n),Wc(n);break;case 1:neG(n),V0(n),Wc(n);break;case 3:V0(n),nuH(n)}break;case 3:switch(t.g){case 2:V0(n),neG(n),Wc(n);break;case 1:V0(n),neG(n),V0(n),Wc(n);break;case 4:V0(n),nuH(n)}}return n}function nfV(n,t){var e,i,r,a,c,o,u;if(jM(n.Eh(),167)?(nfV(CY(n.Eh(),167),t),t.a+=" > "):t.a+="Root ",OB((e=n.Dh().zb).substr(0,3),"Elk")?EY(t,(Rx(3,e.length+1),e.substr(3))):t.a+=""+e,r=n.jh())return void EY((t.a+=" ",t),r);if(jM(n,366)&&(u=CY(n,135).a))return void EY((t.a+=" ",t),u);for(a=new j2(n.kh());a.e!=a.i.gc();)if(u=CY(Z6(a),135).a)return void EY((t.a+=" ",t),u);if(jM(n,326)&&((i=CY(n,74)).b||(i.b=new Ox(nL4,i,4,7)),0!=i.b.i&&(i.c||(i.c=new Ox(nL4,i,5,8)),0!=i.c.i))){for(t.a+=" (",c=new SW((!i.b&&(i.b=new Ox(nL4,i,4,7)),i.b));c.e!=c.i.gc();)c.e>0&&(t.a+=nl8),nfV(CY(Z6(c),167),t);for(t.a+=npF,o=new SW((!i.c&&(i.c=new Ox(nL4,i,5,8)),i.c));o.e!=o.i.gc();)o.e>0&&(t.a+=nl8),nfV(CY(Z6(o),167),t);t.a+=")"}}function nfW(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(l=e.d,f=e.c,c=(a=new MH(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a)).b,s=new fU(n.a);s.a<s.c.c.length;)if((o=CY(RU(s),10)).k==(ni8(),n$g)){switch(i=CY(niK(o,(nlF(),nK_)),64),r=CY(niK(o,nKB),8),h=o.n,i.g){case 2:h.a=e.f.a+l.c-f.a;break;case 4:h.a=-f.a-l.b}switch(w=0,i.g){case 2:case 4:t==(nie(),nZY)?(b=pj(PI(niK(o,nFr))),h.b=a.b*b-CY(niK(o,(nlL(),nH7)),8).b,w=h.b+r.b,z4(o,!1,!0)):t==nZJ&&(h.b=pj(PI(niK(o,nFr)))-CY(niK(o,(nlL(),nH7)),8).b,w=h.b+r.b,z4(o,!1,!0))}c=nP_.Math.max(c,w)}for(e.f.b+=c-a.b,u=new fU(n.a);u.a<u.c.c.length;)if((o=CY(RU(u),10)).k==(ni8(),n$g))switch(i=CY(niK(o,(nlF(),nK_)),64),h=o.n,i.g){case 1:h.b=-f.b-l.d;break;case 3:h.b=e.f.b+l.a-f.b}}function nfQ(n,t){var e,i,r,a,c,o,u,s,h;return(s="",0==t.length)?n.ne(nb6,nb3,-1,-1):(OB((h=nrJ(t)).substr(0,3),"at ")&&(Rx(3,h.length+1),h=h.substr(3)),-1==(c=(h=h.replace(/\[.*?\]/g,"")).indexOf("("))?-1==(c=h.indexOf("@"))?(s=h,h=""):(s=nrJ((Rx(c+1,h.length+1),h.substr(c+1))),h=nrJ((B2(0,c,h.length),h.substr(0,c)))):(e=h.indexOf(")",c),B2(c+1,e,h.length),s=h.substr(c+1,e-(c+1)),h=nrJ((B2(0,c,h.length),h.substr(0,c)))),-1!=(c=Tp(h,niT(46)))&&(Rx(c+1,h.length+1),h=h.substr(c+1)),(0==h.length||OB(h,"Anonymous function"))&&(h=nb3),o=Sg(s,niT(58)),r=OU(s,niT(58),o-1),u=-1,i=-1,a=nb6,-1!=o&&-1!=r&&(B2(0,r,s.length),a=s.substr(0,r),u=SZ((B2(r+1,o,s.length),s.substr(r+1,o-(r+1)))),i=SZ((Rx(o+1,s.length+1),s.substr(o+1)))),n.ne(a,h,u,i))}function nfJ(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A,L,N=o=new nf0(t);for(s=!i||!N.u.Hc((nap(),nZ6)),l=0,f=new fU(N.e.Xf());f.a<f.c.c.length;){if((h=CY(RU(f),852)).ag()==(nf5(),n1v))throw new pN("Label and node size calculator can only be used with ports that have port sides assigned.").e;h.Qf(l++),function(n,t,e){var i;i=new na0(n,t),naR(n.r,t.ag(),i),e&&!Lp(n.u)&&(i.c=new Dj(n.d),Gd(t.Rf(),new lg(i)))}(N,h,s)}r=!0,n&&n.pf((nl_(),nJ$))&&(r=(a=CY(n.of((nl_(),nJ$)),88))==(Ju(),nY7)||a==nY8||a==nY9),nuS(o,!1),Gd(o.e.Rf(),new Cd(o,!1,r)),Dm(o,o.f,(GL(),nIi),(nf5(),n1t)),Dm(o,o.f,nIa,n1m),Dm(o,o.g,nIi,n1y),Dm(o,o.g,nIa,n1n),nnr(o,n1t),nnr(o,n1m),xA(o,n1n),xA(o,n1y),PY(),(c=o.A.Hc((YZ(),n1P))&&o.B.Hc((nsv(),n1D))?YG(o):null)&&(o.a.b=new TP(c)),function(n){var t,e,i,r,a,c,o;for(PY(),i=n.f.n,c=Nm(n.r).a.nc();c.Ob();){if(a=CY(c.Pb(),117),r=0,a.b.pf((nl_(),nYm))&&(r=pj(PI(a.b.of(nYm))))<0)switch(a.b.ag().g){case 1:i.d=nP_.Math.max(i.d,-r);break;case 3:i.a=nP_.Math.max(i.a,-r);break;case 2:i.c=nP_.Math.max(i.c,-r);break;case 4:i.b=nP_.Math.max(i.b,-r)}if(Lp(n.u))switch(t=function(n,t){var e;return naP(new MH((e=niv(n)).c,e.d),new MH(e.b,e.a),n.Mf(),t,n.ag())}(a.b,r),o=!CY(n.e.of(nYt),181).Hc((nsv(),n1L)),e=!1,a.b.ag().g){case 1:e=t>i.d,i.d=nP_.Math.max(i.d,t),o&&e&&(i.d=nP_.Math.max(i.d,i.a),i.a=i.d+r);break;case 3:e=t>i.a,i.a=nP_.Math.max(i.a,t),o&&e&&(i.a=nP_.Math.max(i.a,i.d),i.d=i.a+r);break;case 2:e=t>i.c,i.c=nP_.Math.max(i.c,t),o&&e&&(i.c=nP_.Math.max(i.b,i.c),i.b=i.c+r);break;case 4:e=t>i.b,i.b=nP_.Math.max(i.b,t),o&&e&&(i.b=nP_.Math.max(i.b,i.c),i.c=i.b+r)}}}(o);switch(o.q.g){case 5:ney(o,(nf5(),n1t)),ney(o,n1m);break;case 4:nfv(o,(nf5(),n1t)),nfv(o,n1m);break;default:nrG(o,(nf5(),n1t)),nrG(o,n1m)}switch(o.q.g){case 5:nek(o,(nf5(),n1n)),nek(o,n1y);break;case 4:nfy(o,(nf5(),n1n)),nfy(o,n1y);break;default:nrq(o,(nf5(),n1n)),nrq(o,n1y)}!function(n){var t,e,i,r,a,c,o;if(!n.A.dc()){if(n.A.Hc((YZ(),n1C))&&(CY(xN(n.b,(nf5(),n1t)),127).k=!0,CY(xN(n.b,n1m),127).k=!0,t=n.q!=(nie(),nZY)&&n.q!=nZJ,CY(xN(n.b,n1n),127).j=t,CY(xN(n.b,n1y),127).j=t,n.g.j=t,n.A.Hc(n1I)&&(CY(xN(n.b,n1t),127).j=!0,CY(xN(n.b,n1m),127).j=!0,CY(xN(n.b,n1n),127).k=!0,CY(xN(n.b,n1y),127).k=!0,n.g.k=!0)),n.A.Hc(n1O))for(n.a.j=!0,n.a.k=!0,n.g.j=!0,n.g.k=!0,o=n.B.Hc((nsv(),n1R)),r=ZX(),a=0,c=r.length;a<c;++a)i=r[a],(e=CY(xN(n.i,i),314))&&(Zc(i)?(e.j=!0,e.k=!0):(e.j=!o,e.k=!o));n.A.Hc(n1P)&&n.B.Hc((nsv(),n1D))&&(n.g.j=!0,n.g.j=!0,n.a.j||(n.a.j=!0,n.a.k=!0,n.a.e=!0))}}(o),d=o.o,PY(),o.A.dc()||QY(o.A,nIK)?g=d.a:(g=o.D?nP_.Math.max(d.a,naT(o.f)):naT(o.f),o.A.Hc((YZ(),n1O))&&!o.B.Hc((nsv(),n1R))&&(g=nP_.Math.max(g,naT(CY(xN(o.p,(nf5(),n1t)),252))),g=nP_.Math.max(g,naT(CY(xN(o.p,n1m),252)))),(b=zy(o))&&(g=nP_.Math.max(g,b.a))),pT(PC(o.e.Tf().of((nl_(),nJ9))))?d.a=nP_.Math.max(d.a,g):d.a=g,(w=o.f.i).c=0,w.b=g,nht(o.f);switch(S_(),o.q.g){case 5:nav(o,(nf5(),n1t)),nav(o,n1m);break;case 4:ncJ(o,(nf5(),n1t)),ncJ(o,n1m);break;default:nf4(o,(nf5(),n1t)),nf4(o,n1m)}if(ZL(o,n1t),ZL(o,n1m),o.q!=(nie(),nZY)&&o.q!=nZJ&&(y=o.f.n.d+IP(CY(xN(o.b,(nf5(),n1t)),127))+o.c,p=o.f.n.a+IP(CY(xN(o.b,n1m),127))+o.c,v=CY(xN(o.b,n1n),127),M=CY(xN(o.b,n1y),127),k=nP_.Math.max(0,v.n.d-y),k=nP_.Math.max(k,M.n.d-y),m=nP_.Math.max(0,v.n.a-p),m=nP_.Math.max(m,M.n.a-p),v.n.d=k,M.n.d=k,v.n.a=m,M.n.a=m),S=o.o,PY(),o.A.dc()||QY(o.A,nIK)?E=S.b:(E=o.D?nP_.Math.max(S.b,naE(o.f)):naE(o.f),o.A.Hc((YZ(),n1O))&&!o.B.Hc((nsv(),n1R))&&(E=nP_.Math.max(E,naE(CY(xN(o.p,(nf5(),n1n)),252))),E=nP_.Math.max(E,naE(CY(xN(o.p,n1y),252)))),(T=zy(o))&&(E=nP_.Math.max(E,T.b)),o.A.Hc(n1C)&&(o.q==(nie(),nZY)||o.q==nZJ)&&(E=nP_.Math.max(E,IP(CY(xN(o.b,(nf5(),n1n)),127))),E=nP_.Math.max(E,IP(CY(xN(o.b,n1y),127))))),pT(PC(o.e.Tf().of((nl_(),nJ9))))?S.b=nP_.Math.max(S.b,E):S.b=E,(j=o.f.i).d=0,j.a=E,nha(o.f),!e)return o.o;for(PY(),P=o.o.b,O=CY(CY(_G(o.r,(nf5(),n1m)),21),87).Kc();O.Ob();)C=CY(O.Pb(),117).e,C.b+=P;switch(S_(),o.q.g){case 5:na2(o,(nf5(),n1n)),na2(o,n1y);break;case 4:nne(o,(nf5(),n1n)),nne(o,n1y);break;default:nf6(o,(nf5(),n1n)),nf6(o,n1y)}return ZL(o,n1n),ZL(o,n1y),u=o.B.Hc((nsv(),n1R)),nat(o,u,n1t),nat(o,u,n1m),nae(o,u,n1n),nae(o,u,n1y),vZ(new Aa(null,new R$(new fN(o.i),0)),new nS),vZ(xX(new Aa(null,Nm(o.r).a.oc()),new nP),new nO),PY(),o.B.Hc((nsv(),n1N))&&(L=o.f.i,I=new $2(o.a.c),(A=new gp).b=I.c-L.c,A.d=I.d-L.d,A.c=L.c+L.b-(I.c+I.b),A.a=L.d+L.a-(I.d+I.a),o.e.$f(A)),o.e.Pf(o.o),vZ(new Aa(null,Nm(o.r).a.oc()),new nC),o.o}function nfY(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w,d,g,p,m;for(f=null,i==(DC(),nq0)?f=t:i==nq2&&(f=e),w=f.a.ec().Kc();w.Ob();){for(b=CY(w.Pb(),12),d=V4(Vw(DY(nLA,1),nby,8,0,[b.i.n,b.n,b.a])).b,m=new dV,o=new dV,s=new _4(b.b);jr(s.a)||jr(s.b);)if(pT(PC(niK(u=CY(jr(s.a)?RU(s.a):RU(s.b),18),(nlF(),nFu))))==r&&-1!=H6(a,u,0)){if(g=u.d==b?u.c:u.d,p=V4(Vw(DY(nLA,1),nby,8,0,[g.i.n,g.n,g.a])).b,.2>nP_.Math.abs(p-d))continue;p<d?t.a._b(g)?LX(m,new Ea(nq0,u)):LX(m,new Ea(nq2,u)):t.a._b(g)?LX(o,new Ea(nq0,u)):LX(o,new Ea(nq2,u))}if(m.a.gc()>1)for(l=new nfe(b,m,i),_r(m,new Mo(n,l)),dk(c.c,l),h=m.a.ec().Kc();h.Ob();)H0(a,CY(h.Pb(),42).b);if(o.a.gc()>1)for(l=new nfe(b,o,i),_r(o,new Mu(n,l)),dk(c.c,l),h=o.a.ec().Kc();h.Ob();)H0(a,CY(h.Pb(),42).b)}}function nfZ(n,t){var e,i,r,a,c,o,u;if(Id(),this.a=new jS(this),this.b=n,this.c=t,this.f=L3(Ua((nrR(),n28),t)),this.f.dc())if((o=neS(n28,n))==t)for(this.e=!0,this.d=new du,this.f=new oq,this.f.Fc(nSb),CY(nhZ(Ur(n28,GT(n)),""),29)==n&&this.f.Fc(A2(n28,GT(n))),r=nsa(n28,n).Kc();r.Ob();)switch(i=CY(r.Pb(),179),xb(Ua(n28,i))){case 4:this.d.Fc(i);break;case 5:this.f.Gc(L3(Ua(n28,i)))}else if(yP(),CY(t,69).xk())for(c=0,this.e=!0,this.f=null,this.d=new du,u=(null==n.i&&nhr(n),n.i).length;c<u;++c)for(null==n.i&&nhr(n),e=n.i,i=c>=0&&c<e.length?e[c]:null,a=Rz(Ua(n28,i));a;a=Rz(Ua(n28,a)))a==t&&this.d.Fc(i);else 1==xb(Ua(n28,t))&&o?(this.f=null,this.d=(na1(),n3s)):(this.f=null,this.e=!0,this.d=($O(),new f_(t)));else this.e=5==xb(Ua(n28,t)),this.f.Fb(n3r)&&(this.f=n3r)}function nf1(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;for(e=0,i=function(n,t){switch(t.g){case 1:return n.f.n.d+n.t;case 3:return n.f.n.a+n.t;case 2:return n.f.n.c+n.s;case 4:return n.f.n.b+n.s;default:return 0}}(n,t),l=n.s,b=n.t,s=CY(CY(_G(n.r,t),21),87).Kc();s.Ob();)if((u=CY(s.Pb(),117)).c&&!(u.c.d.c.length<=0)){switch(w=u.b.Mf(),o=u.b.pf((nl_(),nYm))?pj(PI(u.b.of(nYm))):0,f=(h=u.c).i,c=h.n,f.b=h.e.a+c.b+c.c,a=h.n,f.a=h.e.b+a.d+a.a,t.g){case 1:f.c=u.a?(w.a-f.b)/2:w.a+l,f.d=w.b+o+i,Hn(h,(HS(),nIo)),P0(h,(Uk(),nIb));break;case 3:f.c=u.a?(w.a-f.b)/2:w.a+l,f.d=-o-i-f.a,Hn(h,(HS(),nIo)),P0(h,(Uk(),nIf));break;case 2:f.c=-o-i-f.b,u.a?(r=n.v?f.a:CY(I0(h.d,0),187).Mf().b,f.d=(w.b-r)/2):f.d=w.b+b,Hn(h,(HS(),nIs)),P0(h,(Uk(),nIl));break;case 4:f.c=w.a+o+i,u.a?(r=n.v?f.a:CY(I0(h.d,0),187).Mf().b,f.d=(w.b-r)/2):f.d=w.b+b,Hn(h,(HS(),nIu)),P0(h,(Uk(),nIl))}(t==(nf5(),n1t)||t==n1m)&&(e=nP_.Math.max(e,f.a))}e>0&&(CY(xN(n.b,t),127).a.b=e)}function nf0(n){var t,e,i,r,a,c,o,u;if(this.r=(e=new nT,i=new nj,new $K(CY(NP(e),50),CY(NP(i),50))),this.b=new J0(CY(NP(nLq),297)),this.p=new J0(CY(NP(nLq),297)),this.i=new J0(CY(NP(nCE),297)),this.e=n,this.o=new TP(n.Mf()),this.D=pT(PC(n.of((nl_(),nYY)))),this.F=n.Yf()||pT(PC(n.of(nJV))),this.A=CY(n.of(nJ5),21),this.B=CY(n.of(nYt),21),this.q=CY(n.of(nYv),101),this.u=CY(n.of(nYE),21),o=this.u,nap(),zH(Dg(AN(nZ6,Vw(DY(nLG,1),nbG,279,0,[nZ8])),o))>1||zH(Dg(AN(nZ4,Vw(DY(nLG,1),nbG,279,0,[nZ3,nZ9])),o))>1)throw new pK("Invalid port label placement: "+this.u).e;if(this.v=pT(PC(n.of(nYj))),this.j=CY(n.of(nJ4),21),u=this.j,nc$(),zH(Dg(AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZF])),u))>1||zH(Dg(AN(nZ$,Vw(DY(nLB,1),nbG,95,0,[nZx,nZR])),u))>1||zH(Dg(AN(nZH,Vw(DY(nLB,1),nbG,95,0,[nZB,nZ_])),u))>1)throw new pK("Invalid node label placement: "+this.j).e;this.n=CY(ntW(n,nJ2),107),this.k=pj(PI(ntW(n,nYH))),this.d=pj(PI(ntW(n,nYB))),this.w=pj(PI(ntW(n,nYW))),this.s=pj(PI(ntW(n,nYU))),this.t=pj(PI(ntW(n,nYG))),this.C=CY(ntW(n,nYz),140),this.c=2*this.d,t=!this.B.Hc((nsv(),n1L)),this.f=new ZC(0,t,0),this.g=new ZC(1,t,0),r=this.f,GL(),a=nIr,c=this.g,r.a[a.g]=c}function nf2(){var n,t,e;for(nf2=T,new Je(1,0),new Je(10,0),new Je(0,0),nOM=BJ(nPN,nby,247,11,0,1),nOE=BJ(n4u,nb5,28,100,15,1),nOj=BJ(n4s,nwl,28,(nOT=Vw(DY(n4b,1),nwX,28,15,[1,5,25,125,625,3125,15625,78125,390625,1953125,9765625,0x2e90edd,0xe8d4a51,0x48c27395,0x16bcc41e9,0x71afd498d,0x2386f26fc1,0xb1a2bc2ec5,0x3782dace9d9,0x1158e460913d,0x56bc75e2d631,0x1b1ae4d6e2ef5,0x878678326eac9])).length,15,1),nOP=BJ(n4s,nwl,28,(nOS=Vw(DY(n4b,1),nwX,28,15,[1,10,100,nb8,1e4,nwz,1e6,1e7,1e8,nwN,1e10,1e11,1e12,1e13,1e14,1e15,1e16])).length,15,1),nOO=BJ(nPN,nby,247,11,0,1),n=0;n<nOO.length;n++)nOM[n]=new Je(n,0),nOO[n]=new Je(0,n),nOE[n]=48;for(;n<nOE.length;n++)nOE[n]=48;for(e=0;e<nOj.length;e++)nOj[e]=naw(nOT[e]);for(t=0;t<nOP.length;t++)nOP[t]=naw(nOS[t]);nui()}function nf3(){nf3=T,nXN=new wX(npl),new wX(npb),new P5("DEPTH",Qx(0)),nXk=new P5("FAN",Qx(0)),nXv=new P5(ny5,Qx(0)),nXF=new P5("ROOT",(SB(),!1)),nXP=new P5("LEFTNEIGHBOR",null),nXR=new P5("RIGHTNEIGHBOR",null),nXO=new P5("LEFTSIBLING",null),nXK=new P5("RIGHTSIBLING",null),nXy=new P5("DUMMY",!1),new P5("LEVEL",Qx(0)),nXD=new P5("REMOVABLE_EDGES",new vq),nX_=new P5("XCOOR",Qx(0)),nXB=new P5("YCOOR",Qx(0)),nXC=new P5("LEVELHEIGHT",0),nXA=new P5("LEVELMIN",0),nXI=new P5("LEVELMAX",0),nXE=new P5("GRAPH_XMIN",0),nXj=new P5("GRAPH_YMIN",0),nXM=new P5("GRAPH_XMAX",0),nXT=new P5("GRAPH_YMAX",0),nXm=new P5("COMPACT_LEVEL_ASCENSION",!1),nXp=new P5("COMPACT_CONSTRAINTS",new du),nXS=new P5("ID",""),nXx=new P5("POSITION",Qx(0)),nX$=new P5("PRELIM",0),nXL=new P5("MODIFIER",0),nXg=new wX(npw),nXd=new wX(npd)}function nf4(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;if(!CY(CY(_G(n.r,t),21),87).dc()){if(u=(c=CY(xN(n.b,t),127)).i,o=c.n,h=nuc(n,t),i=u.b-o.b-o.c,r=c.a.a,a=u.c+o.b,b=n.w,(h==(Z0(),nZX)||h==nZV)&&1==CY(CY(_G(n.r,t),21),87).gc()&&(r=h==nZX?r-2*n.w:r,h=nZq),i<r&&!n.B.Hc((nsv(),n1K)))h==nZX?(b+=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()+1),a+=b):b+=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()-1);else switch(i<r&&(r=h==nZX?r-2*n.w:r,h=nZq),h.g){case 3:a+=(i-r)/2;break;case 4:a+=i-r;break;case 0:e=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()+1),b+=nP_.Math.max(0,e),a+=b;break;case 1:e=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()-1),b+=nP_.Math.max(0,e)}for(l=CY(CY(_G(n.r,t),21),87).Kc();l.Ob();)(f=CY(l.Pb(),117)).e.a=a+f.d.b,f.e.b=(s=f.b).pf((nl_(),nYm))?s.ag()==(nf5(),n1t)?-s.Mf().b-pj(PI(s.of(nYm))):pj(PI(s.of(nYm))):s.ag()==(nf5(),n1t)?-s.Mf().b:0,a+=f.d.b+f.b.Mf().a+f.d.c+b}}function nf6(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(!CY(CY(_G(n.r,t),21),87).dc()){if(u=(c=CY(xN(n.b,t),127)).i,o=c.n,f=nuc(n,t),i=u.a-o.d-o.a,r=c.a.b,a=u.d+o.d,w=n.w,s=n.o.a,(f==(Z0(),nZX)||f==nZV)&&1==CY(CY(_G(n.r,t),21),87).gc()&&(r=f==nZX?r-2*n.w:r,f=nZq),i<r&&!n.B.Hc((nsv(),n1K)))f==nZX?(w+=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()+1),a+=w):w+=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()-1);else switch(i<r&&(r=f==nZX?r-2*n.w:r,f=nZq),f.g){case 3:a+=(i-r)/2;break;case 4:a+=i-r;break;case 0:e=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()+1),w+=nP_.Math.max(0,e),a+=w;break;case 1:e=(i-r)/(CY(CY(_G(n.r,t),21),87).gc()-1),w+=nP_.Math.max(0,e)}for(b=CY(CY(_G(n.r,t),21),87).Kc();b.Ob();)(l=CY(b.Pb(),117)).e.a=(h=l.b).pf((nl_(),nYm))?h.ag()==(nf5(),n1y)?-h.Mf().a-pj(PI(h.of(nYm))):s+pj(PI(h.of(nYm))):h.ag()==(nf5(),n1y)?-h.Mf().a:s,l.e.b=a+l.d.d,a+=l.d.d+l.b.Mf().b+l.d.a+w}}function nf5(){var n;nf5=T,n1v=new M3(nd6,0),n1t=new M3(ngr,1),n1n=new M3(nga,2),n1m=new M3(ngc,3),n1y=new M3(ngo,4),$O(),n1c=new p8(new O9(n=CY(mP(nLq),9),CY(Oc(n,n.length),9),0)),n1o=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[]))),n1e=QA(AN(n1n,Vw(DY(nLq,1),npx,64,0,[]))),n1d=QA(AN(n1m,Vw(DY(nLq,1),npx,64,0,[]))),n1p=QA(AN(n1y,Vw(DY(nLq,1),npx,64,0,[]))),n1l=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1m]))),n1a=QA(AN(n1n,Vw(DY(nLq,1),npx,64,0,[n1y]))),n1w=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1y]))),n1u=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1n]))),n1g=QA(AN(n1m,Vw(DY(nLq,1),npx,64,0,[n1y]))),n1i=QA(AN(n1n,Vw(DY(nLq,1),npx,64,0,[n1m]))),n1f=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1n,n1y]))),n1r=QA(AN(n1n,Vw(DY(nLq,1),npx,64,0,[n1m,n1y]))),n1b=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1m,n1y]))),n1s=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1n,n1m]))),n1h=QA(AN(n1t,Vw(DY(nLq,1),npx,64,0,[n1n,n1m,n1y])))}function nf8(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;if((f=t.length)>0&&(Rx(0,t.length),64!=(o=t.charCodeAt(0)))){if(37==o&&(h=t.lastIndexOf("%"),u=!1,0!=h&&(h==f-1||(Rx(h+1,t.length),u=46==t.charCodeAt(h+1))))){if(B2(1,h,t.length),m=OB("%",c=t.substr(1,h-1))?null:nlt(c),i=0,u)try{i=nsE((Rx(h+2,t.length+1),t.substr(h+2)),nbJ,nl3)}catch(n){if(jM(n=Vt(n),130))throw new H7(n).e;throw n.e}for(d=Xs(n.Gh());d.Ob();)if(jM(b=zD(d),519)&&(p=(r=CY(b,598)).d,(null==m?null==p:OB(m,p))&&0==i--))return r;return null}if(l=-1==(s=t.lastIndexOf("."))?t:(B2(0,s,t.length),t.substr(0,s)),e=0,-1!=s)try{e=nsE((Rx(s+1,t.length+1),t.substr(s+1)),nbJ,nl3)}catch(n){if(jM(n=Vt(n),130))l=t;else throw n.e}for(l=OB("%",l)?null:nlt(l),w=Xs(n.Gh());w.Ob();)if(jM(b=zD(w),197)&&(g=(a=CY(b,197)).xe(),(null==l?null==g:OB(l,g))&&0==e--))return a;return null}return nfB(n,t)}function nf9(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;if(g=new MH(n.g,n.f),(d=nrW(n)).a=nP_.Math.max(d.a,t),d.b=nP_.Math.max(d.b,e),M=d.a/g.a,h=d.b/g.b,y=d.a-g.a,u=d.b-g.b,i)for(c=DV(n)?CY(ncx(DV(n),(nl_(),nJ$)),88):CY(ncx(n,(nl_(),nJ$)),88),o=ER(ncx(n,(nl_(),nYv)))===ER((nie(),nZJ)),m=new j2((!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c));m.e!=m.i.gc();)switch(p=CY(Z6(m),123),(v=CY(ncx(p,nYS),64))==(nf5(),n1v)&&(v=ns3(p,c),nnh(p,nYS,v)),v.g){case 1:o||GZ(p,p.i*M);break;case 2:GZ(p,p.i+y),o||G1(p,p.j*h);break;case 3:o||GZ(p,p.i*M),G1(p,p.j+u);break;case 4:o||G1(p,p.j*h)}if(T_(n,d.a,d.b),r)for(l=new j2((!n.n&&(n.n=new Lk(nNt,n,1,7)),n.n));l.e!=l.i.gc();)b=(f=CY(Z6(l),135)).i+f.g/2,w=f.j+f.f/2,(k=b/g.a)+(s=w/g.b)>=1&&(k-s>0&&w>=0?(GZ(f,f.i+y),G1(f,f.j+u*s)):k-s<0&&b>=0&&(GZ(f,f.i+y*k),G1(f,f.j+u)));return nnh(n,(nl_(),nJ5),(YZ(),new O9(a=CY(mP(nLX),9),CY(Oc(a,a.length),9),0))),new MH(M,h)}function nf7(n){var t,e,i,r,a;yd(n,new nil(((((t=new c5).c=nkD,e=t).d="ELK Radial",i=e).b='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.',(r=i).e=new cE,(a=r).a=nkD,a))),KS(n,nkD,nyT,Z4(nVf)),KS(n,nkD,ng4,Z4(nVm)),KS(n,nkD,npr,Z4(nVr)),KS(n,nkD,npE,Z4(nVa)),KS(n,nkD,npi,Z4(nVc)),KS(n,nkD,npa,Z4(nVi)),KS(n,nkD,npt,Z4(nVo)),KS(n,nkD,npc,Z4(nVh)),KS(n,nkD,nkP,Z4(nVt)),KS(n,nkD,nkS,Z4(nVe)),KS(n,nkD,nkj,Z4(nVb)),KS(n,nkD,nkA,Z4(nVg)),KS(n,nkD,nkL,Z4(nVw)),KS(n,nkD,nkN,Z4(nVd)),KS(n,nkD,nkI,Z4(nVu)),KS(n,nkD,nkE,Z4(nVs)),KS(n,nkD,nkT,Z4(nVl)),KS(n,nkD,nkO,Z4(nVp)),KS(n,nkD,nkC,Z4(nVv)),KS(n,nkD,nkM,Z4(nVn))}function nln(n){var t,e,i,r,a,c,o,u,s,h,f;if(null==n)throw new p5(nbi).e;if(s=n,a=n.length,u=!1,a>0&&(Rx(0,n.length),(45==(t=n.charCodeAt(0))||43==t)&&(Rx(1,n.length+1),n=n.substr(1),--a,u=45==t)),0==a)throw new p5(nwK+s+'"').e;for(;n.length>0&&(Rx(0,n.length),48==n.charCodeAt(0));)Rx(1,n.length+1),n=n.substr(1),--a;if(a>(nsU(),nOm)[10])throw new p5(nwK+s+'"').e;for(r=0;r<a;r++)if(-1==Zw((Rx(r,n.length),n.charCodeAt(r))))throw new p5(nwK+s+'"').e;for(f=0,c=nOg[10],h=nOp[10],o=H4(nOv[10]),e=!0,(i=a%c)>0&&(f=-parseInt((B2(0,i,n.length),n.substr(0,i)),10),Rx(i,n.length+1),n=n.substr(i),a-=i,e=!1);a>=c;){if(i=parseInt((B2(0,c,n.length),n.substr(0,c)),10),Rx(c,n.length+1),n=n.substr(c),a-=c,e)e=!1;else{if(0>Qv(f,o))throw new p5(nwK+s+'"').e;f=J_(f,h)}f=JB(f,i)}if(Qv(f,0)>0||!u&&0>Qv(f=H4(f),0))throw new p5(nwK+s+'"').e;return f}function nlt(n){var t,e,i,r,a,c,o,u,s,h;if(nh0(),null==n)return null;if((r=Tp(n,niT(37)))<0)return n;for(u=new Sv((B2(0,r,n.length),n.substr(0,r))),t=BJ(n4l,nEK,28,4,15,1),o=0,i=0,c=n.length;r<c;r++)if(Rx(r,n.length),37==n.charCodeAt(r)&&n.length>r+2&&Vx((Rx(r+1,n.length),n.charCodeAt(r+1)),n0K,n0F)&&Vx((Rx(r+2,n.length),n.charCodeAt(r+2)),n0K,n0F))if(Rx(r+1,n.length),s=n.charCodeAt(r+1),Rx(r+2,n.length),h=n.charCodeAt(r+2),e=(Q2(s)<<4|Q2(h))&nb9,r+=2,i>0?(192&e)==128?t[o++]=e<<24>>24:i=0:e>=128&&((224&e)==192?(t[o++]=e<<24>>24,i=2):(240&e)==224?(t[o++]=e<<24>>24,i=3):(248&e)==240&&(t[o++]=e<<24>>24,i=4)),i>0){if(o==i){switch(o){case 2:NJ(u,((31&t[0])<<6|63&t[1])&nb9);break;case 3:NJ(u,((15&t[0])<<12|(63&t[1])<<6|63&t[2])&nb9)}o=0,i=0}}else{for(a=0;a<o;++a)NJ(u,t[a]&nb9);o=0,u.a+=String.fromCharCode(e)}else{for(a=0;a<o;++a)NJ(u,t[a]&nb9);o=0,NJ(u,(Rx(r,n.length),n.charCodeAt(r)))}return u.a}function nle(n){var t,e,i,r,a,c,o,u,s,h,f;if(h=DV(niw(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)))==DV(niw(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84))),c=new mm,(t=CY(ncx(n,(Wk(),nZm)),75))&&t.b>=2){if(0==(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i)mk(),e=new o_,B7((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),e);else if((!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i>1)for(f=new SW((!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a));f.e!=f.i.gc();)neH(f);nho(t,CY(GO((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),0),166))}if(h)for(i=new j2((!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a));i.e!=i.i.gc();)for(u=new j2((!(e=CY(Z6(i),166)).a&&(e.a=new jU(nL0,e,5)),e.a));u.e!=u.i.gc();)o=CY(Z6(u),377),c.a=nP_.Math.max(c.a,o.a),c.b=nP_.Math.max(c.b,o.b);for(a=new j2((!n.n&&(n.n=new Lk(nNt,n,1,7)),n.n));a.e!=a.i.gc();)r=CY(Z6(a),135),(s=CY(ncx(r,nZT),8))&&TB(r,s.a,s.b),h&&(c.a=nP_.Math.max(c.a,r.i+r.g),c.b=nP_.Math.max(c.b,r.j+r.f));return c}function nli(n,t,e,i,r){if(UD(n,t),u=t[0],o=xq(e.c,0),s=-1,V8(e))if(i>0){if(u+i>n.length)return!1;s=nax((B2(0,u+i,n.length),n.substr(0,u+i)),t)}else s=nax(n,t);switch(o){case 71:return r.e=s=nrk(n,u,Vw(DY(nPL,1),nby,2,6,[nwb,nww]),t),!0;case 77:var a=s;if(a<0)return(a=nrk(n,u,Vw(DY(nPL,1),nby,2,6,[nb7,nwn,nwt,nwe,nwi,nwr,nwa,nwc,nwo,nwu,nws,nwh]),t))<0&&(a=nrk(n,u,Vw(DY(nPL,1),nby,2,6,["Jan","Feb","Mar","Apr",nwi,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),!(a<0)&&(r.k=a,!0);return a>0&&(r.k=a-1,!0);case 76:var c=s;if(c<0)return(c=nrk(n,u,Vw(DY(nPL,1),nby,2,6,[nb7,nwn,nwt,nwe,nwi,nwr,nwa,nwc,nwo,nwu,nws,nwh]),t))<0&&(c=nrk(n,u,Vw(DY(nPL,1),nby,2,6,["Jan","Feb","Mar","Apr",nwi,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),!(c<0)&&(r.k=c,!0);return c>0&&(r.k=c-1,!0);case 69:return(h=nrk(n,u,Vw(DY(nPL,1),nby,2,6,[nwd,nwg,nwp,nwm,nwv,nwy,nwk]),t))<0&&(h=nrk(n,u,Vw(DY(nPL,1),nby,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),t)),!(h<0)&&(r.d=h,!0);case 99:return(f=nrk(n,u,Vw(DY(nPL,1),nby,2,6,[nwd,nwg,nwp,nwm,nwv,nwy,nwk]),t))<0&&(f=nrk(n,u,Vw(DY(nPL,1),nby,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),t)),!(f<0)&&(r.d=f,!0);case 97:return r.b=s=nrk(n,u,Vw(DY(nPL,1),nby,2,6,["AM","PM"]),t),!0;case 121:var o,u,s,h,f,l,b,w,d=s;if(b=32,d<0){if(t[0]>=n.length||43!=(b=xq(n,t[0]))&&45!=b||(++t[0],(d=nax(n,t))<0))return!1;45==b&&(d=-d)}return 32==b&&t[0]-u==2&&2==e.b&&(r.a=d==(l=(w=(new vD).q.getFullYear()-nwf+nwf-80)%100),d+=(w/100|0)*100+100*(d<l)),r.p=d,!0;case 100:if(s<=0)return!1;return r.c=s,!0;case 83:if(s<0)return!1;var g,p,m=s;if((p=t[0]-u)<3)for(;p<3;)m*=10,++p;else{for(g=1;p>3;)g*=10,--p;m=(m+(g>>1))/g|0}return r.i=m,!0;case 104:12==s&&(s=0);case 75:case 72:if(s<0)return!1;return r.f=s,r.g=!1,!0;case 107:if(s<0)return!1;return r.f=s,r.g=!0,!0;case 109:if(s<0)return!1;return r.j=s,!0;case 115:if(s<0)return!1;return r.n=s,!0;case 90:if(u<n.length&&(Rx(u,n.length),90==n.charCodeAt(u)))return++t[0],r.o=0,!0;case 122:case 118:return u>=0&&OB(n.substr(u,3),"GMT")?t[0]=u+3:u>=0&&OB(n.substr(u,3),"UTC")&&(t[0]=u+3),nsS(n,t,r);default:return!1}}function nlr(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;if(1==n.gc())return CY(n.Xb(0),235);if(0>=n.gc())return new _6;for(r=n.Kc();r.Ob();){for(e=CY(r.Pb(),235),w=0,h=nl3,f=nl3,u=nbJ,s=nbJ,b=new fU(e.e);b.a<b.c.c.length;)l=CY(RU(b),153),w+=CY(niK(l,(nsK(),nxc)),17).a,h=nP_.Math.min(h,l.d.a-l.e.a/2),f=nP_.Math.min(f,l.d.b-l.e.b/2),u=nP_.Math.max(u,l.d.a+l.e.a/2),s=nP_.Math.max(s,l.d.b+l.e.b/2);VD(e,(nsK(),nxc),Qx(w)),VD(e,(Xo(),nxy),new MH(h,f)),VD(e,nxv,new MH(u,s))}for($O(),n.jd(new tt),zU(d=new _6,CY(n.Xb(0),96)),o=0,m=0,a=n.Kc();a.Ob();)e=CY(a.Pb(),235),g=Oj(jv(CY(niK(e,(Xo(),nxv)),8)),CY(niK(e,nxy),8)),o=nP_.Math.max(o,g.a),m+=g.a*g.b;for(o=nP_.Math.max(o,nP_.Math.sqrt(m)*pj(PI(niK(d,(nsK(),nN2))))),p=pj(PI(niK(d,nxl))),v=0,y=0,c=0,t=p,i=n.Kc();i.Ob();)e=CY(i.Pb(),235),v+(g=Oj(jv(CY(niK(e,(Xo(),nxv)),8)),CY(niK(e,nxy),8))).a>o&&(v=0,y+=c+p,c=0),function(n,t,e,i){var r,a,c,o,u,s,h,f;for(Oj(o=new MH(e,i),CY(niK(t,(Xo(),nxy)),8)),f=new fU(t.e);f.a<f.c.c.length;)OT((h=CY(RU(f),153)).d,o),jB(n.e,h);for(c=new fU(t.c);c.a<c.c.c.length;){for(r=new fU((a=CY(RU(c),290)).a);r.a<r.c.c.length;)OT(CY(RU(r),250).d,o);jB(n.c,a)}for(s=new fU(t.d);s.a<s.c.c.length;)OT((u=CY(RU(s),454)).d,o),jB(n.d,u)}(d,e,v,y),t=nP_.Math.max(t,v+g.a),c=nP_.Math.max(c,g.b),v+=g.a+p;return d}function nla(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;return v=n.c[(RN(0,t.c.length),CY(t.c[0],18)).p],E=n.c[(RN(1,t.c.length),CY(t.c[1],18)).p],(v.a.e.e-v.a.a-(v.b.e.e-v.b.a)!=0||E.a.e.e-E.a.a-(E.b.e.e-E.b.a)!=0)&&!!jM(p=v.b.e.f,10)&&(g=CY(p,10),k=n.i[g.p],M=g.c?H6(g.c.a,g,0):-1,a=nwF,M>0&&(r=CY(I0(g.c.a,M-1),10),c=n.i[r.p],T=nP_.Math.ceil(jh(n.n,r,g)),a=k.a.e-g.d.d-(c.a.e+r.o.b+r.d.a)-T),s=nwF,M<g.c.a.c.length-1&&(u=CY(I0(g.c.a,M+1),10),h=n.i[u.p],T=nP_.Math.ceil(jh(n.n,u,g)),s=h.a.e-u.d.d-(k.a.e+g.o.b+g.d.a)-T),!!(e&&(T6(),qM(ny_),nP_.Math.abs(a-s)<=ny_||a==s||isNaN(a)&&isNaN(s)))||(i=No(v.a),o=-No(v.b),f=-No(E.a),m=No(E.b),d=v.a.e.e-v.a.a-(v.b.e.e-v.b.a)>0&&E.a.e.e-E.a.a-(E.b.e.e-E.b.a)<0,w=v.a.e.e-v.a.a-(v.b.e.e-v.b.a)<0&&E.a.e.e-E.a.a-(E.b.e.e-E.b.a)>0,b=v.a.e.e+v.b.a<E.b.e.e+E.a.a,l=v.a.e.e+v.b.a>E.b.e.e+E.a.a,y=0,!d&&!w&&(l?a+f>0?y=f:s-i>0&&(y=i):b&&(a+o>0?y=o:s-m>0&&(y=m))),k.a.e+=y,k.b&&(k.d.e+=y),!1))}function nlc(n,t,e){var i,r,a,c,o,u,s,h,f,l;if(i=new x4(t.Lf().a,t.Lf().b,t.Mf().a,t.Mf().b),r=new TI,n.c)for(c=new fU(t.Rf());c.a<c.c.c.length;)r.c=(a=CY(RU(c),187)).Lf().a+t.Lf().a,r.d=a.Lf().b+t.Lf().b,r.b=a.Mf().a,r.a=a.Mf().b,nrx(i,r);for(s=new fU(t.Xf());s.a<s.c.c.length;){if(h=(u=CY(RU(s),852)).Lf().a+t.Lf().a,f=u.Lf().b+t.Lf().b,n.e&&(r.c=h,r.d=f,r.b=u.Mf().a,r.a=u.Mf().b,nrx(i,r)),n.d)for(c=new fU(u.Rf());c.a<c.c.c.length;)r.c=(a=CY(RU(c),187)).Lf().a+h,r.d=a.Lf().b+f,r.b=a.Mf().a,r.a=a.Mf().b,nrx(i,r);if(n.b){if(l=new MH(-e,-e),CY(t.of((nl_(),nYE)),181).Hc((nap(),nZ8)))for(c=new fU(u.Rf());c.a<c.c.c.length;)a=CY(RU(c),187),l.a+=a.Mf().a+e,l.b+=a.Mf().b+e;l.a=nP_.Math.max(l.a,0),l.b=nP_.Math.max(l.b,0),nsR(i,u.Wf(),u.Uf(),t,u,l,e)}}n.b&&nsR(i,t.Wf(),t.Uf(),t,null,null,e),(o=new CU(t.Vf())).d=nP_.Math.max(0,t.Lf().b-i.d),o.a=nP_.Math.max(0,i.d+i.a-(t.Lf().b+t.Mf().b)),o.b=nP_.Math.max(0,t.Lf().a-i.c),o.c=nP_.Math.max(0,i.c+i.b-(t.Lf().a+t.Mf().a)),t.Zf(o)}function nlo(n){var t,e,i,r,a,c;yd(n,new nil(((((t=new c5).c=ng2,e=t).d="ELK Force",i=e).b="Force-based algorithm provided by the Eclipse Layout Kernel. Implements methods that follow physical analogies by simulating forces that move the nodes into a balanced distribution. Currently the original Eades model and the Fruchterman - Reingold model are supported.",(r=i).e=new tc,(a=r).a=ng2,(c=a).f=AN((ncw(),n0y),Vw(DY(nNo,1),nbG,245,0,[n0m])),c))),KS(n,ng2,ng3,Qx(1)),KS(n,ng2,ng4,80),KS(n,ng2,ng6,5),KS(n,ng2,ngx,ng0),KS(n,ng2,ng5,Qx(1)),KS(n,ng2,ng8,(SB(),!0)),KS(n,ng2,ng$,nxi),KS(n,ng2,ng9,Z4(nN4)),KS(n,ng2,ng7,Z4(nxr)),KS(n,ng2,npn,!1),KS(n,ng2,npt,Z4(nxt)),KS(n,ng2,npe,Z4(nN7)),KS(n,ng2,npi,Z4(nxn)),KS(n,ng2,npr,Z4(nN9)),KS(n,ng2,npa,Z4(nN8)),KS(n,ng2,npc,Z4(nxa)),KS(n,ng2,ngV,Z4(nN5)),KS(n,ng2,ngJ,Z4(nxb)),KS(n,ng2,ngW,Z4(nN6)),KS(n,ng2,ngZ,Z4(nxu)),KS(n,ng2,ngQ,Z4(nxs)),KS(n,ng2,npo,Z4(nxg)),KS(n,ng2,npu,Z4(nxm)),KS(n,ng2,nps,Z4(nxd)),KS(n,ng2,nph,Z4(nxw)),KS(n,ng2,npf,nxp)}function nlu(n,t){var e,i,r,a,c,o,u,s,h,f,l;if(nlU(),0==v_(n3X)){for(c=0,f=BJ(n4o,nby,122,n3V.length,0,1);c<f.length;c++)f[c]=(++n4c,new RX(4));for(a=0,i=new p0;a<n3q.length;a++){if(++n4c,h=new RX(4),a<84?(Rx(o=2*a,nS4.length),l=nS4.charCodeAt(o),Rx(o+1,nS4.length),no2(h,l,nS4.charCodeAt(o+1))):no2(h,n3W[o=(a-84)*2],n3W[o+1]),OB(u=n3q[a],"Specials")&&no2(h,65520,65533),OB(u,nS2)&&(no2(h,983040,1048573),no2(h,1048576,1114109)),Rr(n3X,u,h),Rr(n3z,u,ns4(h)),0<(s=i.a.length)?i.a=Di(i.a,0,0):0>s&&(i.a+=jA(BJ(n4u,nb5,28,-s,15,1))),i.a+="Is",Tp(u,niT(32))>=0)for(r=0;r<u.length;r++)Rx(r,u.length),32!=u.charCodeAt(r)&&NQ(i,(Rx(r,u.length),u.charCodeAt(r)));else i.a+=""+u;Y6(i.a,u,!0)}Y6(nS3,"Cn",!1),Y6(nS6,"Cn",!0),++n4c,no2(e=new RX(4),0,nSz),Rr(n3X,"ALL",e),Rr(n3z,"ALL",ns4(e)),n4i||(n4i=new dc),Rr(n4i,nS3,nS3),n4i||(n4i=new dc),Rr(n4i,nS6,nS6),n4i||(n4i=new dc),Rr(n4i,"ALL","ALL")}return t?CY(Db(n3X,n),138):CY(Db(n3z,n),138)}function nls(n){var t,e,i,r,a,c;yd(n,new nil(((((t=new c5).c=nka,e=t).d="ELK Mr. Tree",i=e).b="Tree-based algorithm provided by the Eclipse Layout Kernel. Computes a spanning tree of the input graph and arranges all nodes according to the resulting parent-children hierarchy. I pity the fool who doesn't use Mr. Tree Layout.",(r=i).e=new a1,(a=r).a=nkc,(c=a).f=JP((ncw(),n0p)),c))),KS(n,nka,ng$,nzr),KS(n,nka,ng4,20),KS(n,nka,nv0,3),KS(n,nka,ngx,ng0),KS(n,nka,ng3,Qx(1)),KS(n,nka,ng8,(SB(),!0)),KS(n,nka,nye,Z4(nX1)),KS(n,nka,nyc,nX2),KS(n,nka,ng9,Z4(nX6)),KS(n,nka,nyP,Z4(nX5)),KS(n,nka,npr,Z4(nX9)),KS(n,nka,npe,Z4(nX7)),KS(n,nka,npE,Z4(nzn)),KS(n,nka,npi,Z4(nzt)),KS(n,nka,npa,Z4(nX8)),KS(n,nka,npt,Z4(nze)),KS(n,nka,npc,Z4(nza)),KS(n,nka,nkt,Z4(nzm)),KS(n,nka,nki,Z4(nzu)),KS(n,nka,npo,Z4(nzw)),KS(n,nka,npu,Z4(nzg)),KS(n,nka,nps,Z4(nzb)),KS(n,nka,nph,Z4(nzl)),KS(n,nka,npf,nzd),KS(n,nka,nkn,Z4(nzc)),KS(n,nka,nke,Z4(nX4)),KS(n,nka,ny7,Z4(nzp)),KS(n,nka,ny8,Z4(nXZ)),KS(n,nka,ny9,Z4(nX3))}function nlh(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(s=CY(CY(_G(n.r,t),21),87),PY(),c=(d=CY(CY(_G(n.r,t),21),87)).gc()>=2&&(w=CY(d.Kc().Pb(),117),b=n.u.Hc((nap(),nZ4)),g=n.u.Hc(nZ9),!w.a&&!b&&(2==d.gc()||g)),e=n.u.Hc((nap(),nZ3)),u=s.Kc();u.Ob();)if((o=CY(u.Pb(),117)).c&&!(o.c.d.c.length<=0)){switch(l=o.b.Mf(),f=(h=o.c).i,a=h.n,f.b=h.e.a+a.b+a.c,r=h.n,f.a=h.e.b+r.d+r.a,t.g){case 1:o.a?(f.c=(l.a-f.b)/2,Hn(h,(HS(),nIo))):c||e?(f.c=-f.b-n.s,Hn(h,(HS(),nIs))):(f.c=l.a+n.s,Hn(h,(HS(),nIu))),f.d=-f.a-n.t,P0(h,(Uk(),nIf));break;case 3:o.a?(f.c=(l.a-f.b)/2,Hn(h,(HS(),nIo))):c||e?(f.c=-f.b-n.s,Hn(h,(HS(),nIs))):(f.c=l.a+n.s,Hn(h,(HS(),nIu))),f.d=l.b+n.t,P0(h,(Uk(),nIb));break;case 2:o.a?(i=n.v?f.a:CY(I0(h.d,0),187).Mf().b,f.d=(l.b-i)/2,P0(h,(Uk(),nIl))):c||e?(f.d=-f.a-n.t,P0(h,(Uk(),nIf))):(f.d=l.b+n.t,P0(h,(Uk(),nIb))),f.c=l.a+n.s,Hn(h,(HS(),nIu));break;case 4:o.a?(i=n.v?f.a:CY(I0(h.d,0),187).Mf().b,f.d=(l.b-i)/2,P0(h,(Uk(),nIl))):c||e?(f.d=-f.a-n.t,P0(h,(Uk(),nIf))):(f.d=l.b+n.t,P0(h,(Uk(),nIb))),f.c=-f.b-n.s,Hn(h,(HS(),nIs))}c=!1}}function nlf(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;if(d=0!=n.i,m=!1,g=null,TN(n.e)){if((h=t.gc())>0){for(r=0,l=h<100?null:new mw(h),w=(s=new ze(t)).g,g=BJ(n4s,nwl,28,h,15,1),i=0,v=new Gk(h);r<n.i;++r){b=o=n.g[r];i:for(p=0;p<2;++p){for(u=h;--u>=0;)if(null!=b?QY(b,w[u]):ER(b)===ER(w[u])){g.length<=i&&ns8(g,0,g=BJ(n4s,nwl,28,2*g.length,15,1),0,i),g[i++]=r,B7(v,w[u]);break i}if(ER(b)===ER(o))break}}if(s=v,w=v.g,h=i,i>g.length&&ns8(g,0,g=BJ(n4s,nwl,28,i,15,1),0,i),i>0){for(a=0,m=!0;a<i;++a)l=O2(n,CY(b=w[a],76),l);for(c=i;--c>=0;)ntD(n,g[c]);if(i!=h){for(r=h;--r>=i;)ntD(s,r);ns8(g,0,g=BJ(n4s,nwl,28,i,15,1),0,i)}t=s}}}else for(t=function(n,t){var e,i,r;if(t.dc())return PR(),PR(),n0O;for(e=new P3(n,t.gc()),r=new j2(n);r.e!=r.i.gc();)i=Z6(r),t.Hc(i)&&B7(e,i);return e}(n,t),r=n.i;--r>=0;)t.Hc(n.g[r])&&(ntD(n,r),m=!0);if(!m)return!1;if(null!=g){for(f=1==(e=t.gc())?Ri(n,4,t.Kc().Pb(),null,g[0],d):Ri(n,6,t,g,g[0],d),l=e<100?null:new mw(e),r=t.Kc();r.Ob();)l=O0(n,CY(b=r.Pb(),76),l);l?(l.nj(f),l.oj()):zP(n.e,f)}else{for(l=(y=t.gc())<100?null:new mw(y),r=t.Kc();r.Ob();)l=O0(n,CY(b=r.Pb(),76),l);l&&l.oj()}return!0}function nll(n,t,e,i,r,a,c,o,u){var s,h,f,l,b,w,d,g,p;switch((b=e,(h=new nn_(u)).k=(ni8(),n$g),VD(h,(nlF(),nKB),c),VD(h,(nlL(),nUt),(nie(),nZJ)),d=pj(PI(n.of(nUn))),VD(h,nUn,d),Ro(f=new nro,h),(t==nZ1||t==nZ0)&&(b=i>=0?Ya(o):Jw(Ya(o)),n.qf(nUc,b)),s=new mm,l=!1,n.pf(nH7))?(Ps(s,CY(n.of(nH7),8)),l=!0):(g=c.a/2,p=c.b/2,s.a=g,s.b=p),b.g){case 4:VD(h,nHI,(Yb(),nFy)),VD(h,nKx,(VH(),nRB)),h.o.b=c.b,d<0&&(h.o.a=-d),nau(f,(nf5(),n1n)),l||(s.a=c.a),s.a-=c.a;break;case 2:VD(h,nHI,(Yb(),nFM)),VD(h,nKx,(VH(),nRF)),h.o.b=c.b,d<0&&(h.o.a=-d),nau(f,(nf5(),n1y)),l||(s.a=0);break;case 1:VD(h,nKz,(UM(),nKy)),h.o.a=c.a,d<0&&(h.o.b=-d),nau(f,(nf5(),n1m)),l||(s.b=c.b),s.b-=c.b;break;case 3:VD(h,nKz,(UM(),nKm)),h.o.a=c.a,d<0&&(h.o.b=-d),nau(f,(nf5(),n1t)),l||(s.b=0)}if(Ps(f.n,s),VD(h,nH7,s),t==nZQ||t==nZY||t==nZJ){if(w=0,t==nZQ&&n.pf(nUe))switch(b.g){case 1:case 2:w=CY(n.of(nUe),17).a;break;case 3:case 4:w=-CY(n.of(nUe),17).a}else switch(b.g){case 4:case 2:w=a.b,t==nZY&&(w/=r.b);break;case 1:case 3:w=a.a,t==nZY&&(w/=r.a)}VD(h,nFr,w)}return VD(h,nK_,b),h}function nlb(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(zU(h=new nn_(e),t),VD(h,(nlF(),nK6),t),h.o.a=t.g,h.o.b=t.f,h.n.a=t.i,h.n.b=t.j,jB(e.a,h),xM(n.a,t,h),(0!=(!t.a&&(t.a=new Lk(nNe,t,10,11)),t.a).i||pT(PC(ncx(t,(nlL(),nHE)))))&&VD(h,nKC,(SB(),!0)),s=CY(niK(e,nKU),21),(f=CY(niK(h,(nlL(),nUt)),101))==(nie(),nZ0)?VD(h,nUt,nZ1):f!=nZ1&&s.Fc((no7(),nKs)),l=0,i=CY(niK(e,nHt),88),u=new j2((!t.c&&(t.c=new Lk(nNi,t,9,9)),t.c));u.e!=u.i.gc();)o=CY(Z6(u),123),(ER(ncx(r=DV(t),nBQ))!==ER((Zu(),nGO))||ER(ncx(r,nB7))===ER((Zo(),nRx))||ER(ncx(r,nB7))===ER((Zo(),nRL))||pT(PC(ncx(r,nBY)))||ER(ncx(r,nBG))!==ER((ZT(),n$h))||ER(ncx(r,nH$))===ER((nu7(),nGp))||ER(ncx(r,nH$))===ER((nu7(),nGm))||ER(ncx(r,nHD))===ER((noj(),nU0))||ER(ncx(r,nHD))===ER((noj(),nU3)))&&!pT(PC(ncx(t,nBV)))&&nnh(o,nK4,Qx(l++)),pT(PC(ncx(o,nHZ)))||function(n,t,e,i,r,a){var c,o,u,s,h,f;for(zU(s=new nro,t),nau(s,CY(ncx(t,(nlL(),nUc)),64)),VD(s,(nlF(),nK6),t),Ro(s,e),(f=s.o).a=t.g,f.b=t.f,(h=s.n).a=t.i,h.b=t.j,xM(n.a,t,s),(c=_g(xz(UL(new Aa(null,(!t.e&&(t.e=new Ox(nL6,t,7,4)),new R$(t.e,16))),new tR),new t$),new lR(t)))||(c=_g(xz(UL(new Aa(null,(!t.d&&(t.d=new Ox(nL6,t,8,5)),new R$(t.d,16))),new tK),new tD),new lK(t))),c||(c=_g(new Aa(null,(!t.e&&(t.e=new Ox(nL6,t,7,4)),new R$(t.e,16))),new tF)),VD(s,nKX,(SB(),!!c)),!function(n,t,e,i){var r,a,c,o,u,s;if((o=n.j)==(nf5(),n1v)&&t!=(nie(),nZ1)&&t!=(nie(),nZ0)&&(o=nsD(n,e),nau(n,o),(!n.q?($O(),$O(),nOB):n.q)._b((nlL(),nUn))||o==n1v||0==n.n.a&&0==n.n.b||VD(n,nUn,function(n,t){var e;switch(e=n.i,t.g){case 1:return-(n.n.b+n.o.b);case 2:return n.n.a-e.o.a;case 3:return n.n.b-e.o.b;case 4:return-(n.n.a+n.o.a)}return 0}(n,o))),t==(nie(),nZY)){switch(s=0,o.g){case 1:case 3:(a=n.i.o.a)>0&&(s=n.n.a/a);break;case 2:case 4:(r=n.i.o.b)>0&&(s=n.n.b/r)}VD(n,(nlF(),nFr),s)}if(u=n.o,c=n.a,i)c.a=i.a,c.b=i.b,n.d=!0;else if(t!=nZ1&&t!=nZ0&&o!=n1v)switch(o.g){case 1:c.a=u.a/2;break;case 2:c.a=u.a,c.b=u.b/2;break;case 3:c.a=u.a/2,c.b=u.b;break;case 4:c.b=u.b/2}else c.a=u.a/2,c.b=u.b/2}(s,a,r,CY(ncx(t,nH7),8)),u=new j2((!t.n&&(t.n=new Lk(nNt,t,1,7)),t.n));u.e!=u.i.gc();)!pT(PC(ncx(o=CY(Z6(u),135),nHZ)))&&o.a&&jB(s.f,Qp(o));switch(r.g){case 2:case 1:(s.j==(nf5(),n1t)||s.j==n1m)&&i.Fc((no7(),nKh));break;case 4:case 3:(s.j==(nf5(),n1n)||s.j==n1y)&&i.Fc((no7(),nKh))}}(n,o,h,s,i,f);for(c=new j2((!t.n&&(t.n=new Lk(nNt,t,1,7)),t.n));c.e!=c.i.gc();)!pT(PC(ncx(a=CY(Z6(c),135),nHZ)))&&a.a&&jB(h.b,Qp(a));return pT(PC(niK(h,nB_)))&&s.Fc((no7(),nKr)),pT(PC(niK(h,nHM)))&&(s.Fc((no7(),nKu)),s.Fc(nKo),VD(h,nUt,nZ1)),h}function nlw(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I;for(d=0,S=0,s=new fU(n.b);s.a<s.c.c.length;)(u=CY(RU(s),163)).c&&nfU(u.c),d=nP_.Math.max(d,Ab(u)),S+=Ab(u)*Al(u);for(g=S/n.b.c.length,j=function(n,t){var e,i,r;for(r=0,i=new fU(n);i.a<i.c.c.length;)e=CY(RU(i),163),r+=nP_.Math.pow(Ab(e)*Al(e)-t,2);return nP_.Math.sqrt(r/(n.c.length-1))}(n.b,g),S+=n.b.c.length*j,d=nP_.Math.max(d,nP_.Math.sqrt(S*c))+e.b,C=e.b,I=e.d,b=0,f=e.b+e.c,IA(T=new vq,Qx(0)),M=new vq,h=new Kp(n.b,0),w=null,o=new du;h.b<h.d.gc();)Px(h.b<h.d.gc()),O=Ab(u=CY(h.d.Xb(h.c=h.b++),163)),l=Al(u),C+O>d&&(a&&(E6(M,b),E6(T,Qx(h.b-1)),jB(n.d,w),o.c.length=0),C=e.b,I+=b+t,b=0,f=nP_.Math.max(f,e.b+e.c+O)),dk(o.c,u),function n(t,e,i){var r;if(t.c)GZ(t.c,t.c.i+e),G1(t.c,t.c.j+i);else for(r=new fU(t.b);r.a<r.c.c.length;)n(CY(RU(r),163),e,i)}(u,C,I),f=nP_.Math.max(f,C+O+e.c),b=nP_.Math.max(b,l),C+=O+t,w=u;if(Vc(n.a,o),jB(n.d,CY(I0(o,o.c.length-1),163)),f=nP_.Math.max(f,i),(P=I+b+e.a)<r&&(b+=r-P,P=r),a)for(C=e.b,h=new Kp(n.b,0),E6(T,Qx(n.b.c.length)),m=CY(K0(E=ZQ(T,0)),17).a,E6(M,b),k=ZQ(M,0),y=0;h.b<h.d.gc();)h.b==m&&(C=e.b,y=pj(PI(K0(k))),m=CY(K0(E),17).a),Px(h.b<h.d.gc()),function n(t,e){var i,r,a;if(t.c)GJ(t.c,e);else for(i=e-Al(t),a=new fU(t.a);a.a<a.c.c.length;)n(r=CY(RU(a),163),Al(r)+i)}(u=CY(h.d.Xb(h.c=h.b++),163),y),h.b==m&&(p=f-C-e.c,v=Ab(u),function n(t,e){var i,r,a;if(t.c)GY(t.c,e);else for(i=e-Ab(t),a=new fU(t.d);a.a<a.c.c.length;)n(r=CY(RU(a),163),Ab(r)+i)}(u,p),function n(t,e,i){var r;if(t.c)niN(t.c,e,i);else for(r=new fU(t.b);r.a<r.c.c.length;)n(CY(RU(r),163),e,i)}(u,(p-v)/2,0)),C+=Ab(u)+t;return new MH(f,P)}function nld(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;for(w=new Bf(t.b),m=new Bf(t.b),l=new Bf(t.b),M=new Bf(t.b),d=new Bf(t.b),k=ZQ(t,0);k.b!=k.d.c;)for(o=new fU((v=CY(K0(k),12)).g);o.a<o.c.c.length;)if((a=CY(RU(o),18)).c.i==a.d.i){if(v.j==a.d.j){dk(M.c,a);continue}else if(v.j==(nf5(),n1t)&&a.d.j==n1m){dk(d.c,a);continue}}for(u=new fU(d);u.a<u.c.c.length;)!function(n,t,e,i,r){var a,c,o,u;(a=new nn_(n)).k=(ni8(),n$y),VD(a,(nlL(),nUt),(nie(),nZJ)),VD(a,(nlF(),nK6),t.c.i),VD(c=new nro,nK6,t.c),nau(c,r),Ro(c,a),VD(t.c,nFi,a),(o=new nn_(n)).k=n$y,VD(o,nUt,nZJ),VD(o,nK6,t.d.i),VD(u=new nro,nK6,t.d),nau(u,r),Ro(u,o),VD(t.d,nFi,o),Ra(t,c),Ru(t,u),RL(0,e.c.length),kt(e.c,0,a),dk(i.c,o),VD(a,nKA,Qx(1)),VD(o,nKA,Qx(1))}(n,a=CY(RU(u),18),e,i,(nf5(),n1n));for(c=new fU(M);c.a<c.c.c.length;)a=CY(RU(c),18),(E=new nn_(n)).k=(ni8(),n$y),VD(E,(nlL(),nUt),(nie(),nZJ)),VD(E,(nlF(),nK6),a),VD(T=new nro,nK6,a.d),nau(T,(nf5(),n1y)),Ro(T,E),VD(j=new nro,nK6,a.c),nau(j,n1n),Ro(j,E),VD(a.c,nFi,E),VD(a.d,nFi,E),Ra(a,null),Ru(a,null),dk(e.c,E),VD(E,nKA,Qx(2));for(y=ZQ(t,0);y.b!=y.d.c;)s=(v=CY(K0(y),12)).e.c.length>0,g=v.g.c.length>0,s&&g?dk(l.c,v):s?dk(w.c,v):g&&dk(m.c,v);for(b=new fU(w);b.a<b.c.c.length;)jB(r,nhj(n,CY(RU(b),12),null,e));for(p=new fU(m);p.a<p.c.c.length;)jB(r,nhj(n,null,CY(RU(p),12),e));for(f=new fU(l);f.a<f.c.c.length;)jB(r,nhj(n,h=CY(RU(f),12),h,e))}function nlg(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(l=nwF,b=nwF,h=0,f=0,u=new du,o=new j2((!n.b&&(n.b=new Lk(nL6,n,12,3)),n.b));o.e!=o.i.gc();)a=CY(Z6(o),74),u=qb(Vw(DY(nPs,1),nl7,20,0,[u,(a.n||(a.n=new Lk(nNt,a,1,7)),a.n)]));for(v=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(n.n||(n.n=new Lk(nNt,n,1,7)),n.n),(n.a||(n.a=new Lk(nNe,n,10,11)),n.a),u])));ncv(v);)m=CY(_I(v),422),s=CY(m.of((nl_(),nJ1)),140),l>m.nh()-s.b&&(l=m.nh()-s.b),b>m.oh()-s.d&&(b=m.oh()-s.d),h<m.nh()+m.mh()+s.c&&(h=m.nh()+m.mh()+s.c),f<m.oh()+m.lh()+s.a&&(f=m.oh()+m.lh()+s.a);for(c=new j2((!n.b&&(n.b=new Lk(nL6,n,12,3)),n.b));c.e!=c.i.gc();)for(p=new j2((!(a=CY(Z6(c),74)).a&&(a.a=new Lk(nL5,a,6,6)),a.a));p.e!=p.i.gc();)for(w=(g=CY(Z6(p),166)).j,i=g.b,d=g.k,r=g.c,l=nP_.Math.min(l,w),l=nP_.Math.min(l,i),h=nP_.Math.max(h,w),h=nP_.Math.max(h,i),b=nP_.Math.min(b,d),b=nP_.Math.min(b,r),f=nP_.Math.max(f,d),f=nP_.Math.max(f,r),e=new j2((!g.a&&(g.a=new jU(nL0,g,5)),g.a));e.e!=e.i.gc();)t=CY(Z6(e),377),l=nP_.Math.min(l,t.a),h=nP_.Math.max(h,t.a),b=nP_.Math.min(b,t.b),f=nP_.Math.max(f,t.b);nnh(n,(nl_(),nJI),h-l),nnh(n,nJC,f-b)}function nlp(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O;for(l=CY(niK(n,(Xo(),nxk)),27),p=nl3,m=nl3,d=nbJ,g=nbJ,y=new fU(n.e);y.a<y.c.c.length;)j=(v=CY(RU(y),153)).d,S=v.e,p=nP_.Math.min(p,j.a-S.a/2),m=nP_.Math.min(m,j.b-S.b/2),d=nP_.Math.max(d,j.a+S.a/2),g=nP_.Math.max(g,j.b+S.b/2);for(e=new fU(n.b);e.a<e.c.c.length;)j=(t=CY(RU(e),250)).d,S=t.e,p=nP_.Math.min(p,j.a-S.a/2),m=nP_.Math.min(m,j.b-S.b/2),d=nP_.Math.max(d,j.a+S.a/2),g=nP_.Math.max(g,j.b+S.b/2);for(E=new MH((T=CY(ncx(l,(nsK(),nxe)),107)).b-p,T.d-m),s=new fU(n.e);s.a<s.c.c.length;)jM(M=niK(u=CY(RU(s),153),nxk),207)&&TB(b=CY(M,27),(k=OT(new TP(u.d),E)).a-b.g/2,k.b-b.f/2);for(a=new fU(n.c);a.a<a.c.c.length;)r=CY(RU(a),290),f=no6(CY(niK(r,nxk),74),!0,!0),OT(P=new TP(qw(r)),E),TU(f,P.a,P.b),Gd(r.a,new y8(E,f)),OT(i=new TP(qd(r)),E),TH(f,i.a,i.b);for(o=new fU(n.d);o.a<o.c.c.length;)c=CY(RU(o),454),TB(CY(niK(c,nxk),135),(w=OT(new TP(c.d),E)).a,w.b);O=d-p+(T.b+T.c),h=g-m+(T.d+T.a),pT(PC(ncx(l,(nl_(),nJ9))))||nf9(l,O,h,!1,!0),nnh(l,nJI,O-(T.b+T.c)),nnh(l,nJC,h-(T.d+T.a))}function nlm(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S;return f=function(n,t){var e,i,r,a,c,o,u,s,h,f,l;if(n.dc())return new mm;for(u=0,h=0,i=n.Kc();i.Ob();)r=CY(i.Pb(),36).f,u=nP_.Math.max(u,r.a),h+=r.a*r.b;for(u=nP_.Math.max(u,nP_.Math.sqrt(h)*pj(PI(niK(CY(n.Kc().Pb(),36),(nlL(),nBF))))),f=0,l=0,o=0,e=t,c=n.Kc();c.Ob();)f+(s=(a=CY(c.Pb(),36)).f).a>u&&(f=0,l+=o+t,o=0),nuW(a,f,l),e=nP_.Math.max(e,f+s.a),o=nP_.Math.max(o,s.b),f+=s.a+t;return new MH(e+t,l+o+t)}(S$(n,(nf5(),n1c)),t),w=ntk(S$(n,n1o),t),y=ntk(S$(n,n1d),t),T=ntM(S$(n,n1p),t),l=ntM(S$(n,n1e),t),m=ntk(S$(n,n1w),t),d=ntk(S$(n,n1u),t),M=ntk(S$(n,n1g),t),k=ntk(S$(n,n1i),t),j=ntM(S$(n,n1a),t),p=ntk(S$(n,n1l),t),v=ntk(S$(n,n1f),t),E=ntk(S$(n,n1r),t),S=ntM(S$(n,n1b),t),b=ntM(S$(n,n1s),t),g=ntk(S$(n,n1h),t),e=Gl(Vw(DY(n4b,1),nwX,28,15,[m.a,T.a,M.a,S.a])),i=Gl(Vw(DY(n4b,1),nwX,28,15,[w.a,f.a,y.a,g.a])),r=p.a,a=Gl(Vw(DY(n4b,1),nwX,28,15,[d.a,l.a,k.a,b.a])),s=Gl(Vw(DY(n4b,1),nwX,28,15,[m.b,w.b,d.b,v.b])),u=Gl(Vw(DY(n4b,1),nwX,28,15,[T.b,f.b,l.b,g.b])),h=j.b,o=Gl(Vw(DY(n4b,1),nwX,28,15,[M.b,y.b,k.b,E.b])),Hc(S$(n,n1c),e+r,s+h),Hc(S$(n,n1h),e+r,s+h),Hc(S$(n,n1o),e+r,0),Hc(S$(n,n1d),e+r,s+h+u),Hc(S$(n,n1p),0,s+h),Hc(S$(n,n1e),e+r+i,s+h),Hc(S$(n,n1u),e+r+i,0),Hc(S$(n,n1g),0,s+h+u),Hc(S$(n,n1i),e+r+i,s+h+u),Hc(S$(n,n1a),0,s),Hc(S$(n,n1l),e,0),Hc(S$(n,n1r),0,s+h+u),Hc(S$(n,n1s),e+r+i,0),(c=new mm).a=Gl(Vw(DY(n4b,1),nwX,28,15,[e+i+r+a,j.a,v.a,E.a])),c.b=Gl(Vw(DY(n4b,1),nwX,28,15,[s+u+h+o,p.b,S.b,b.b])),c}function nlv(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;for(d=new MH(nwF,nwF),t=new MH(nw_,nw_),k=new fU(n);k.a<k.c.c.length;)y=CY(RU(k),8),d.a=nP_.Math.min(d.a,y.a),d.b=nP_.Math.min(d.b,y.b),t.a=nP_.Math.max(t.a,y.a),t.b=nP_.Math.max(t.b,y.b);for(s=new MH(t.a-d.a,t.b-d.b),u=new MH(d.a-50,d.b-s.a-50),h=new nhh(u,new MH(d.a-50,t.b+s.a+50),new MH(t.a+s.b/2+50,d.b+s.b/2)),v=new dV,r=new du,e=new du,v.a.zc(h,v),E=new fU(n);E.a<E.c.c.length;){for(M=CY(RU(E),8),r.c.length=0,m=v.a.ec().Kc();m.Ob();)Hr((g=CY(m.Pb(),317)).d,g.a),0>JU(Hr(g.d,M),Hr(g.d,g.a))&&dk(r.c,g);for(e.c.length=0,p=new fU(r);p.a<p.c.c.length;)for(b=new fU((g=CY(RU(p),317)).e);b.a<b.c.c.length;){for(f=CY(RU(b),177),a=!0,o=new fU(r);o.a<o.c.c.length;)(c=CY(RU(o),317))!=g&&(xL(f,I0(c.e,0))||xL(f,I0(c.e,1))||xL(f,I0(c.e,2)))&&(a=!1);a&&dk(e.c,f)}for(niI(v,r),_r(v,new nh),l=new fU(e);l.a<l.c.c.length;)LX(v,new nhh(M,(f=CY(RU(l),177)).a,f.b))}for(_r(v,new lf(w=new dV)),i=w.a.ec().Kc();i.Ob();)(Uo(h,(f=CY(i.Pb(),177)).a)||Uo(h,f.b))&&i.Qb();return _r(w,new nf),w}function nly(){nly=T,mM(),n0s=n19.a,CY(GO($x(n19.a),0),19),n0i=n19.f,CY(GO($x(n19.f),0),19),CY(GO($x(n19.f),1),35),n0u=n19.n,CY(GO($x(n19.n),0),35),CY(GO($x(n19.n),1),35),CY(GO($x(n19.n),2),35),CY(GO($x(n19.n),3),35),n0r=n19.g,CY(GO($x(n19.g),0),19),CY(GO($x(n19.g),1),35),n0n=n19.c,CY(GO($x(n19.c),0),19),CY(GO($x(n19.c),1),19),n0a=n19.i,CY(GO($x(n19.i),0),19),CY(GO($x(n19.i),1),19),CY(GO($x(n19.i),2),19),CY(GO($x(n19.i),3),19),CY(GO($x(n19.i),4),35),n0c=n19.j,CY(GO($x(n19.j),0),19),n0t=n19.d,CY(GO($x(n19.d),0),19),CY(GO($x(n19.d),1),19),CY(GO($x(n19.d),2),19),CY(GO($x(n19.d),3),19),CY(GO($x(n19.d),4),35),CY(GO($x(n19.d),5),35),CY(GO($x(n19.d),6),35),CY(GO($x(n19.d),7),35),n17=n19.b,CY(GO($x(n19.b),0),35),CY(GO($x(n19.b),1),35),n0e=n19.e,CY(GO($x(n19.e),0),35),CY(GO($x(n19.e),1),35),CY(GO($x(n19.e),2),35),CY(GO($x(n19.e),3),35),CY(GO($x(n19.e),4),19),CY(GO($x(n19.e),5),19),CY(GO($x(n19.e),6),19),CY(GO($x(n19.e),7),19),CY(GO($x(n19.e),8),19),CY(GO($x(n19.e),9),19),CY(GO($x(n19.e),10),35),n0o=n19.k,CY(GO($x(n19.k),0),35),CY(GO($x(n19.k),1),35)}function nlk(n){var t,e,i,r,a;switch(t=n.c){case 11:return n.vm();case 12:return n.xm();case 14:return n.zm();case 15:return n.Cm();case 16:return n.Am();case 17:return n.Dm();case 21:return nlN(n),nlU(),nlU(),n3Y;case 10:switch(n.a){case 65:return n.hm();case 90:return n.mm();case 122:return n.tm();case 98:return n.nm();case 66:return n.im();case 60:return n.sm();case 62:return n.qm()}}switch(a=function(n){var t,e,i,r,a;switch(t=n.c,a=null,t){case 6:return n.Em();case 13:return n.Fm();case 23:return n.wm();case 22:return n.Bm();case 18:return n.ym();case 8:nlN(n),nlU(),a=n3J;break;case 9:return n.em(!0);case 19:return n.fm();case 10:switch(n.a){case 100:case 68:case 119:case 87:case 115:case 83:return a=n.dm(n.a),nlN(n),a;case 101:case 102:case 110:case 114:case 116:case 117:case 118:case 120:(e=n.cm())<nwG?(nlU(),nlU(),++n4c,a=new Ad(0,e)):a=AQ(JK(e));break;case 99:return n.om();case 67:return n.jm();case 105:return n.rm();case 73:return n.km();case 103:return n.pm();case 88:return n.lm();case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return n.gm();case 80:case 112:if(!(a=naC(n,n.a)))throw new pH(nlV((T9(),nTF))).e;break;default:a=Iw(n.a)}nlN(n);break;case 0:if(93==n.a||123==n.a||125==n.a)throw new pH(nlV((T9(),nTK))).e;a=Iw(n.a),i=n.a,nlN(n),(64512&i)==nwq&&0==n.c&&(64512&n.a)==56320&&((r=BJ(n4u,nb5,28,2,15,1))[0]=i&nb9,r[1]=n.a&nb9,a=L$(AQ(Za(r,0,r.length)),0),nlN(n));break;default:throw new pH(nlV((T9(),nTK))).e}return a}(n),t=n.c){case 3:return n.Im(a);case 4:return n.Gm(a);case 5:return n.Hm(a);case 0:if(123==n.a&&n.d<n.j){if(r=n.d,i=0,e=-1,(t=xq(n.i,r++))>=48&&t<=57){for(i=t-48;r<n.j&&(t=xq(n.i,r++))>=48&&t<=57;)if((i=10*i+t-48)<0)throw new pH(nlV((T9(),nT5))).e}else throw new pH(nlV((T9(),nT2))).e;if(e=i,44==t)if(r>=n.j)throw new pH(nlV((T9(),nT4))).e;else if((t=xq(n.i,r++))>=48&&t<=57){for(e=t-48;r<n.j&&(t=xq(n.i,r++))>=48&&t<=57;)if((e=10*e+t-48)<0)throw new pH(nlV((T9(),nT5))).e;if(i>e)throw new pH(nlV((T9(),nT6))).e}else e=-1;if(125!=t)throw new pH(nlV((T9(),nT3))).e;n.bm(r)?(nlU(),nlU(),++n4c,a=new FA(9,a),n.d=r+1):(nlU(),nlU(),++n4c,a=new FA(3,a),n.d=r),a.Om(i),a.Nm(e),nlN(n)}}return a}function nlM(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;if(LR(n.a,t)){if(vF(CY(NR(n.a,t),49),e))return 1}else xM(n.a,t,new dV);if(LR(n.a,e)){if(vF(CY(NR(n.a,e),49),t))return -1}else xM(n.a,e,new dV);if(LR(n.e,t)){if(vF(CY(NR(n.e,t),49),e))return -1}else xM(n.e,t,new dV);if(LR(n.e,e)){if(vF(CY(NR(n.a,e),49),t))return 1}else xM(n.e,e,new dV);if(n.c==(Zu(),nGC)||!Pn(t,(nlF(),nK4))||!Pn(e,(nlF(),nK4))){for(f=null,s=new fU(t.j);s.a<s.c.c.length;)0==(o=CY(RU(s),12)).e.c.length||CY(I0(o.e,0),18).c.i.c!=t.c&&(f=CY(I0(o.e,0),18).c);for(b=null,u=new fU(e.j);u.a<u.c.c.length;)0==(o=CY(RU(u),12)).e.c.length||CY(I0(o.e,0),18).c.i.c!=e.c&&(b=CY(I0(o.e,0),18).c);if(f&&b){if(h=f.i,l=b.i,h&&h==l){for(d=new fU(h.j);d.a<d.c.c.length;){if((w=CY(RU(d),12))==f)return nu0(n,e,t),-1;if(w==b)return nu0(n,t,e),1}return jo(neq(n,t),neq(n,e))}for(p=n.d,m=0,v=p.length;m<v;++m){if((g=p[m])==h)return nu0(n,e,t),-1;if(g==l)return nu0(n,t,e),1}}if(!Pn(t,(nlF(),nK4))||!Pn(e,nK4))return(r=neq(n,t))>(c=neq(n,e))?nu0(n,t,e):nu0(n,e,t),r<c?-1:+(r>c)}return(i=CY(niK(t,(nlF(),nK4)),17).a)>(a=CY(niK(e,nK4),17).a)?nu0(n,t,e):nu0(n,e,t),i<a?-1:+(i>a)}function nlE(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;if(null==e)return null;if(n.a!=t.jk())throw new pN(nE$+t.xe()+nED).e;if(jM(t,469)){if(!(d=function(n,t){var e,i,r;if(null==t){for(n.a||(n.a=new Lk(n01,n,9,5)),i=new j2(n.a);i.e!=i.i.gc();)if((null==(r=(e=CY(Z6(i),694)).c)?e.zb:r)==null)return e}else for(n.a||(n.a=new Lk(n01,n,9,5)),i=new j2(n.a);i.e!=i.i.gc();)if(OB(t,null==(r=(e=CY(Z6(i),694)).c)?e.zb:r))return e;return null}(CY(t,685),e)))throw new pN(nER+e+"' is not a valid enumerator of '"+t.xe()+"'").e;return d}switch(Qz((nrR(),n28),t).Nl()){case 2:e=nhB(e,!1);break;case 3:e=nhB(e,!0)}if(i=Qz(n28,t).Jl())return i.jk().wi().ti(i,e);if(f=Qz(n28,t).Ll()){for(d=new du,u=WP(e),s=0,h=u.length;s<h;++s)o=u[s],jB(d,f.jk().wi().ti(f,o));return d}if(!(w=Qz(n28,t).Ml()).dc()){for(b=w.Kc();b.Ob();){l=CY(b.Pb(),156);try{if(d=l.jk().wi().ti(l,e),null!=d)return d}catch(n){if(!jM(n=Vt(n),63))throw n.e}}throw new pN(nER+e+"' does not match any member types of the union datatype '"+t.xe()+"'").e}if(CY(t,847).ok(),!(r=(g=t.kk())?(1&g.i)!=0?g==n4h?nPE:g==n4s?nPO:g==n4w?nPP:g==n4b?nPS:g==n4f?nPC:g==n4d?nPI:g==n4l?nPT:nPj:g:null))return null;if(r==nPj){a=0;try{a=nsE(e,nbJ,nl3)&nb9}catch(n){if(jM(n=Vt(n),130))a=Ul(e)[0];else throw n.e}return z_(a)}if(r==nPM){for(c=0;c<n0f.length;++c)try{return p=n0f[c],m=e,ntJ(p.a,m)}catch(n){if(!jM(n=Vt(n),33))throw n.e}throw new pN(nER+e+"' is not a date formatted string of the form yyyy-MM-dd'T'HH:mm:ss'.'SSSZ or a valid subset thereof").e}throw new pN(nER+e+"' is invalid. ").e}function nlT(){nlT=T,naR(n$c=new Ds,(nf5(),n1c),n1h),naR(n$c,n1p,n1h),naR(n$c,n1p,n1b),naR(n$c,n1e,n1s),naR(n$c,n1e,n1h),naR(n$c,n1o,n1h),naR(n$c,n1o,n1f),naR(n$c,n1d,n1r),naR(n$c,n1d,n1h),naR(n$c,n1l,n1a),naR(n$c,n1l,n1h),naR(n$c,n1l,n1f),naR(n$c,n1l,n1r),naR(n$c,n1a,n1l),naR(n$c,n1a,n1b),naR(n$c,n1a,n1s),naR(n$c,n1a,n1h),naR(n$c,n1w,n1w),naR(n$c,n1w,n1f),naR(n$c,n1w,n1b),naR(n$c,n1u,n1u),naR(n$c,n1u,n1f),naR(n$c,n1u,n1s),naR(n$c,n1g,n1g),naR(n$c,n1g,n1r),naR(n$c,n1g,n1b),naR(n$c,n1i,n1i),naR(n$c,n1i,n1r),naR(n$c,n1i,n1s),naR(n$c,n1f,n1o),naR(n$c,n1f,n1l),naR(n$c,n1f,n1w),naR(n$c,n1f,n1u),naR(n$c,n1f,n1h),naR(n$c,n1f,n1f),naR(n$c,n1f,n1b),naR(n$c,n1f,n1s),naR(n$c,n1r,n1d),naR(n$c,n1r,n1l),naR(n$c,n1r,n1g),naR(n$c,n1r,n1i),naR(n$c,n1r,n1r),naR(n$c,n1r,n1b),naR(n$c,n1r,n1s),naR(n$c,n1r,n1h),naR(n$c,n1b,n1p),naR(n$c,n1b,n1a),naR(n$c,n1b,n1w),naR(n$c,n1b,n1g),naR(n$c,n1b,n1f),naR(n$c,n1b,n1r),naR(n$c,n1b,n1b),naR(n$c,n1b,n1h),naR(n$c,n1s,n1e),naR(n$c,n1s,n1a),naR(n$c,n1s,n1u),naR(n$c,n1s,n1i),naR(n$c,n1s,n1f),naR(n$c,n1s,n1r),naR(n$c,n1s,n1s),naR(n$c,n1s,n1h),naR(n$c,n1h,n1c),naR(n$c,n1h,n1p),naR(n$c,n1h,n1e),naR(n$c,n1h,n1o),naR(n$c,n1h,n1d),naR(n$c,n1h,n1l),naR(n$c,n1h,n1a),naR(n$c,n1h,n1f),naR(n$c,n1h,n1r),naR(n$c,n1h,n1b),naR(n$c,n1h,n1s),naR(n$c,n1h,n1h)}function nlj(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;for(n.d=new MH(nwF,nwF),n.c=new MH(nw_,nw_),l=t.Kc();l.Ob();)for(v=new fU(CY(l.Pb(),36).a);v.a<v.c.c.length;)m=CY(RU(v),10),n.d.a=nP_.Math.min(n.d.a,m.n.a-m.d.b),n.d.b=nP_.Math.min(n.d.b,m.n.b-m.d.d),n.c.a=nP_.Math.max(n.c.a,m.n.a+m.o.a+m.d.c),n.c.b=nP_.Math.max(n.c.b,m.n.b+m.o.b+m.d.a);for(o=new d6,f=t.Kc();f.Ob();)i=function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v;for((e=new nnk(t)).a||function(n){var t,e,i,r,a;switch(r=CY(I0(n.a,0),10),t=new nn_(n),jB(n.a,t),t.o.a=nP_.Math.max(1,r.o.a),t.o.b=nP_.Math.max(1,r.o.b),t.n.a=r.n.a,t.n.b=r.n.b,CY(niK(r,(nlF(),nK_)),64).g){case 4:t.n.a+=2;break;case 1:t.n.b+=2;break;case 2:t.n.a-=2;break;case 3:t.n.b-=2}Ro(i=new nro,t),Ra(e=new $1,a=CY(I0(r.j,0),12)),Ru(e,i),OT(Ta(i.n),a.n),OT(Ta(i.a),a.a)}(t),h=function(n){var t,e,i,r,a,c,o;for(o=new _w,c=new fU(n.a);c.a<c.c.c.length;)if((a=CY(RU(c),10)).k!=(ni8(),n$g)){for(!function(n,t,e){var i;i=null,t&&(i=t.d),neb(n,new kp(t.n.a-i.b+e.a,t.n.b-i.d+e.b)),neb(n,new kp(t.n.a-i.b+e.a,t.n.b+t.o.b+i.a+e.b)),neb(n,new kp(t.n.a+t.o.a+i.c+e.a,t.n.b-i.d+e.b)),neb(n,new kp(t.n.a+t.o.a+i.c+e.a,t.n.b+t.o.b+i.a+e.b))}(o,a,new mm),r=new Le(Sb(JV(a).a.Kc(),new s));ncv(r);)if((i=CY(_I(r),18)).c.i.k!=n$g&&i.d.i.k!=n$g)for(e=ZQ(i.a,0);e.b!=e.d.c;)neb(o,new kp((t=CY(K0(e),8)).a,t.b))}return o}(t),u=new Ds,g=new no0,d=new fU(t.a);d.a<d.c.c.length;)for(r=new Le(Sb(JV(CY(RU(d),10)).a.Kc(),new s));ncv(r);)((i=CY(_I(r),18)).c.i.k==(ni8(),n$g)||i.d.i.k==n$g)&&naR(u,ZV((f=function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b;for(a=new naz(t),f=function(n,t,e){var i,r,a,c,o,u,s,h,f;for(i=e.c,r=e.d,o=RO(t.c),u=RO(t.d),i==t.c?(o=nc4(n,o,r),u=niA(t.d)):(o=niA(t.c),u=nc4(n,u,r)),F_(s=new mh(t.a),o,s.a,s.a.a),F_(s,u,s.c.b,s.c),c=t.c==i,f=new d5,a=0;a<s.b-1;++a)h=new Ea(CY(nnt(s,a),8),CY(nnt(s,a+1),8)),c&&0==a||!c&&a==s.b-2?f.b=h:jB(f.a,h);return f}(n,t,a),b=nP_.Math.max(pj(PI(niK(t,(nlL(),nHd)))),1),h=new fU(f.a);h.a<h.c.c.length;)s=CY(RU(h),42),u=Zx(CY(s.a,8),CY(s.b,8),b),IL(e,new MH(u.c,u.d)),IL(e,Pu(new MH(u.c,u.d),u.b,0)),IL(e,Pu(new MH(u.c,u.d),0,u.a)),IL(e,Pu(new MH(u.c,u.d),u.b,u.a));switch(l=a.d,o=Zx(CY(f.b.a,8),CY(f.b.b,8),b),l==(nf5(),n1y)||l==n1n?(i.c[l.g]=nP_.Math.min(i.c[l.g],o.d),i.b[l.g]=nP_.Math.max(i.b[l.g],o.d+o.a)):(i.c[l.g]=nP_.Math.min(i.c[l.g],o.c),i.b[l.g]=nP_.Math.max(i.b[l.g],o.c+o.b)),r=nw_,c=a.c.i.d,l.g){case 4:r=c.c;break;case 2:r=c.b;break;case 1:r=c.a;break;case 3:r=c.d}return i.a[l.g]=nP_.Math.max(i.a[l.g],r),a}(n,i,h,g)).d),f.a);for(c=new du,v=CY(niK(e.c,(nlF(),nKR)),21).Kc();v.Ob();){switch(m=CY(v.Pb(),64),w=g.c[m.g],b=g.b[m.g],o=g.a[m.g],a=null,p=null,m.g){case 4:a=new x4(n.d.a,w,h.b.a-n.d.a,b-w),p=new x4(n.d.a,w,o,b-w),IL(h,new MH(a.c+a.b,a.d)),IL(h,new MH(a.c+a.b,a.d+a.a));break;case 2:a=new x4(h.a.a,w,n.c.a-h.a.a,b-w),p=new x4(n.c.a-o,w,o,b-w),IL(h,new MH(a.c,a.d)),IL(h,new MH(a.c,a.d+a.a));break;case 1:a=new x4(w,n.d.b,b-w,h.b.b-n.d.b),p=new x4(w,n.d.b,b-w,o),IL(h,new MH(a.c,a.d+a.a)),IL(h,new MH(a.c+a.b,a.d+a.a));break;case 3:a=new x4(w,h.a.b,b-w,n.c.b-h.a.b),p=new x4(w,n.c.b-o,b-w,o),IL(h,new MH(a.c,a.d)),IL(h,new MH(a.c+a.b,a.d))}a&&((l=new gt).d=m,l.b=a,l.c=p,l.a=$H(CY(_G(u,ZV(m)),21)),dk(c.c,l))}return Vc(e.b,c),e.d=function(n){var t;return t=new U8(n),Kw(n.a,n$r,new pU(Vw(DY(nI8,1),nl7,382,0,[t]))),t.d&&jB(t.f,t.d),t.f}(function(n){var t,e,i,r,a,c,o;for(U6(),o=new d8,e=new fU(n);e.a<e.c.c.length;)t=CY(RU(e),148),(!o.b||t.c>=o.b.c)&&(o.b=t),(!o.c||t.c<=o.c.c)&&(o.d=o.c,o.c=t),(!o.e||t.d>=o.e.d)&&(o.e=t),(!o.f||t.d<=o.f.d)&&(o.f=t);return i=new nnn((Vp(),nx6)),Kw(n,n$i,new pU(Vw(DY(nI8,1),nl7,382,0,[i]))),c=new nnn(nx9),Kw(n,n$e,new pU(Vw(DY(nI8,1),nl7,382,0,[c]))),r=new nnn(nx5),Kw(n,n$t,new pU(Vw(DY(nI8,1),nl7,382,0,[r]))),a=new nnn(nx8),Kw(n,n$n,new pU(Vw(DY(nI8,1),nl7,382,0,[a]))),noi(i.c,nx6),noi(r.c,nx5),noi(a.c,nx8),noi(c.c,nx9),o.a.c.length=0,Vc(o.a,i.c),Vc(o.a,Yi(r.c)),Vc(o.a,a.c),Vc(o.a,Yi(c.c)),o}(h)),e}(n,CY(f.Pb(),36)),jB(o.a,i),i.a=!CY(niK(i.c,(nlF(),nKR)),21).dc()|i.a;for(WY(),(T=new to).f=new qU(e),T.b=function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(n.a=new NG((f=CY(nL$.e&&nL$.e(),9),l=CY(Hk(f.slice(),f),9),new O9(f,l,f.length))),i=new fU(t.a);i.a<i.c.c.length;){for(e=CY(RU(i),855),c=new ZP(Vw(DY(nI6,1),nl7,86,0,[])),jB(n.a.a,c),u=new fU(e.d);u.a<u.c.c.length;)nfA(s=new Sz(n,o=CY(RU(u),116)),CY(niK(e.c,(nlF(),nKR)),21)),LR(n.g,e)||(xM(n.g,e,new MH(o.c,o.d)),xM(n.f,e,s)),jB(n.a.b,s),R1(c,s);for(a=new fU(e.b);a.a<a.c.c.length;)s=new Sz(n,(r=CY(RU(a),602)).Df()),xM(n.b,r,new Ea(c,s)),nfA(s,CY(niK(e.c,(nlF(),nKR)),21)),r.Bf()&&(nfA(h=new ZS(n,r.Bf(),1),CY(niK(e.c,nKR),21)),R1(new ZP(Vw(DY(nI6,1),nl7,86,0,[])),h),naR(n.c,r.Af(),new Ea(c,h)))}return n.a}(T.f,o),n.b=T,!function(n){var t,e,i,r,a,c,o,u,s;for(t=new du,n.g=new du,n.d=new du,c=new zM(new fP(n.f.b).a);c.b;)jB(t,CY(CY((a=Xu(c)).md(),42).b,86)),T$(CY(a.ld(),602).Af())?jB(n.d,CY(a.md(),42)):jB(n.g,CY(a.md(),42));for(Yo(n,n.d),Yo(n,n.g),n.c=new naG(n.b),u=n.c,v8(),u.f=nx1,JT(n,n.d),JT(n,n.g),Vc(t,n.c.a.b),n.e=new MH(nwF,nwF),n.a=new MH(nw_,nw_),i=new fU(t);i.a<i.c.c.length;)e=CY(RU(i),86),n.e.a=nP_.Math.min(n.e.a,e.g.c),n.e.b=nP_.Math.min(n.e.b,e.g.d),n.a.a=nP_.Math.max(n.a.a,e.g.c+e.g.b),n.a.b=nP_.Math.max(n.a.b,e.g.d+e.g.a);n.c.e=new tu,o=0;do r=nfS(n),++o;while((o<2||r>nbQ)&&o<10)n.c.e=new ts,nfS(n),nfz(s=n.c,(Ju(),nY8)),s.d=!0,function(n){var t,e,i,r,a,c,o,u;for(a=new fU(n.a.b);a.a<a.c.c.length;)(r=CY(RU(a),86)).b.c=r.g.c,r.b.d=r.g.d;for(u=new MH(nwF,nwF),t=new MH(nw_,nw_),i=new fU(n.a.b);i.a<i.c.c.length;)e=CY(RU(i),86),u.a=nP_.Math.min(u.a,e.g.c),u.b=nP_.Math.min(u.b,e.g.d),t.a=nP_.Math.max(t.a,e.g.c+e.g.b),t.b=nP_.Math.max(t.b,e.g.d+e.g.a);for(o=Np(n.c).a.nc();o.Ob();)c=CY(o.Pb(),42),e=CY(c.b,86),u.a=nP_.Math.min(u.a,e.g.c),u.b=nP_.Math.min(u.b,e.g.d),t.a=nP_.Math.max(t.a,e.g.c+e.g.b),t.b=nP_.Math.max(t.b,e.g.d+e.g.a);n.d=Ph(new MH(u.a,u.b)),n.e=Oj(new MH(t.a,t.b),u),n.a.a.c.length=0,n.a.b.c.length=0}(n.f)}((w=n.b,new gz,w)),n.e=new mm,n.a=n.b.f.e,c=new fU(o.a);c.a<c.c.c.length;)for(r=CY(RU(c),855),y=function(n,t){var e,i;return OT(Ph((e=n.f,i=t,Oj(jv(CY(NR(e.g,i),8)),jy(CY(NR(e.f,i),470).b)))),n.f.d)}(n.b,r),!function(n,t,e){var i,r,a,c,o,u,s,h;for(a=new MH(t,e),s=new fU(n.a);s.a<s.c.c.length;)for(OT((u=CY(RU(s),10)).n,a),h=new fU(u.j);h.a<h.c.c.length;)for(r=new fU(CY(RU(h),12).g);r.a<r.c.c.length;)for(zc((i=CY(RU(r),18)).a,a),(c=CY(niK(i,(nlL(),nHP)),75))&&zc(c,a),o=new fU(i.b);o.a<o.c.c.length;)OT(CY(RU(o),72).n,a)}(r.c,y.a,y.b),g=new fU(r.c.a);g.a<g.c.c.length;)(d=CY(RU(g),10)).k==(ni8(),n$g)&&(p=nc4(n,d.n,CY(niK(d,(nlF(),nK_)),64)),OT(Ta(d.n),p));for(a=new fU(o.a);a.a<a.c.c.length;)for(h=new fU(function(n){var t,e,i;for(t=new du,i=new fU(n.b);i.a<i.c.c.length;)e=CY(RU(i),602),Vc(t,CY(e.Cf(),16));return t}(r=CY(RU(a),855)));h.a<h.c.c.length;)for(S2(E=new mh((u=CY(RU(h),18)).a),0,RO(u.c)),IA(E,RO(u.d)),b=null,M=ZQ(E,0);M.b!=M.d.c;){if(k=CY(K0(M),8),!b){b=k;continue}GM(b.a,k.a)?(n.e.a=nP_.Math.min(n.e.a,b.a),n.a.a=nP_.Math.max(n.a.a,b.a)):GM(b.b,k.b)&&(n.e.b=nP_.Math.min(n.e.b,b.b),n.a.b=nP_.Math.max(n.a.b,b.b)),b=k}Ph(n.e),OT(n.a,n.e)}function nlS(n){var t,e,i,r;yd(n,new nil(((((t=new c5).c=nk5,e=t).d="ELK Rectangle Packing",i=e).b="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.",(r=i).e=new cN,r))),KS(n,nk5,ngx,1.3),KS(n,nk5,npe,(SB(),!1)),KS(n,nk5,ng$,nWy),KS(n,nk5,ng4,15),KS(n,nk5,nyd,Z4(nWr)),KS(n,nk5,npr,Z4(nWf)),KS(n,nk5,npE,Z4(nWb)),KS(n,nk5,npi,Z4(nWw)),KS(n,nk5,npa,Z4(nWh)),KS(n,nk5,npt,Z4(nWd)),KS(n,nk5,npc,Z4(nWk)),KS(n,nk5,nkJ,Z4(nWS)),KS(n,nk5,nkY,Z4(nWj)),KS(n,nk5,nkQ,Z4(nWO)),KS(n,nk5,nkW,Z4(nWP)),KS(n,nk5,nkZ,Z4(nWm)),KS(n,nk5,nk1,Z4(nWp)),KS(n,nk5,nk0,Z4(nWg)),KS(n,nk5,nk2,Z4(nWT)),KS(n,nk5,ng9,Z4(nWo)),KS(n,nk5,nyP,Z4(nWu)),KS(n,nk5,nkz,Z4(nWc)),KS(n,nk5,nkX,Z4(nWa)),KS(n,nk5,nkV,Z4(nWs)),KS(n,nk5,nkq,Z4(nWE))}function nlP(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P;if(nhF(),E=n.e,b=n.d,r=n.a,0==E)switch(t){case 0:return"0";case 1:return nwQ;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 k=new p2,t<0?k.a+="0E+":k.a+="0E",k.a+=-t,k.a}if(v=BJ(n4u,nb5,28,(m=10*b+1+7)+1,15,1),e=m,1==b)if((c=r[0])<0){P=RF(c,nwW);do w=P,P=neC(P,10),v[--e]=48+AW(JB(w,J_(P,10)))&nb9;while(0!=Qv(P,0))}else{P=c;do w=P,P=P/10|0,v[--e]=48+(w-10*P)&nb9;while(0!=P)}else{ns8(r,0,j=BJ(n4s,nwl,28,b,15,1),0,S=b);r:for(;;){for(M=0,u=S-1;u>=0;u--)g=function(n){var t,e,i;return Qv(n,0)>=0?(e=neC(n,nwN),i=YX(n,nwN)):(e=neC(t=A7(n,1),5e8),i=JF(A8(i=YX(t,5e8),1),RF(n,1))),R_(A8(i,32),RF(e,nwW))}(JF(A8(M,32),RF(j[u],nwW))),j[u]=AW(g),M=AW(A9(g,32));p=AW(M),d=e;do v[--e]=48+p%10&nb9;while(0!=(p=p/10|0)&&0!=e)for(o=0,i=9-d+e;o<i&&e>0;o++)v[--e]=48;for(h=S-1;0==j[h];h--)if(0==h)break r;S=h+1}for(;48==v[e];)++e}if(l=E<0,a=m-e-t-1,0==t)return l&&(v[--e]=45),Za(v,e,m-e);if(t>0&&a>=-6){if(a>=0){for(s=e+a,f=m-1;f>=s;f--)v[f+1]=v[f];return v[++s]=46,l&&(v[--e]=45),Za(v,e,m-e+1)}for(h=2;h<-a+1;h++)v[--e]=48;return v[--e]=46,v[--e]=48,l&&(v[--e]=45),Za(v,e,m-e)}return T=e+1,y=new p3,l&&(y.a+="-"),m-T>=1?(NJ(y,v[e]),y.a+=".",y.a+=Za(v,e+1,m-e-1)):y.a+=Za(v,e,m-e),y.a+="E",a>0&&(y.a+="+"),y.a+=""+a,y.a}function nlO(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;switch(n.c=t,n.g=new dc,yv(),Yc(new ld(new py(n.c))),p=PA(ncx(n.c,(niB(),nQi))),c=CY(ncx(n.c,nQa),324),v=CY(ncx(n.c,nQc),437),r=CY(ncx(n.c,nW9),490),m=CY(ncx(n.c,nQr),438),n.j=pj(PI(ncx(n.c,nQo))),a=n.a,c.g){case 0:a=n.a;break;case 1:a=n.b;break;case 2:a=n.i;break;case 3:a=n.e;break;case 4:a=n.f;break;default:throw new pN(nMe+(null!=c.f?c.f:""+c.g)).e}if(n.d=new DM(a,v,r),VD(n.d,(zb(),nNg),PC(ncx(n.c,nQn))),n.d.c=pT(PC(ncx(n.c,nW7))),0==$L(n.c).i)return n.d;for(s=new j2($L(n.c));s.e!=s.i.gc();){for(f=(u=CY(Z6(s),27)).g/2,h=u.f/2,y=new MH(u.i+f,u.j+h);LR(n.g,y);)Pu(y,(nP_.Math.random()-.5)*ngY,(nP_.Math.random()-.5)*ngY);b=CY(ncx(u,(nl_(),nJ1)),140),w=new D1(y,new x4(y.a-f-n.j/2-b.b,y.b-h-n.j/2-b.d,u.g+n.j+(b.b+b.c),u.f+n.j+(b.d+b.a))),jB(n.d.i,w),xM(n.g,y,new Ea(w,u))}switch(m.g){case 0:if(null==p)n.d.d=CY(I0(n.d.i,0),68);else for(g=new fU(n.d.i);g.a<g.c.c.length;)w=CY(RU(g),68),null!=(l=CY(CY(NR(n.g,w.a),42).b,27).jh())&&OB(l,p)&&(n.d.d=w);break;case 1:for(e=new MH(n.c.g,n.c.f),e.a*=.5,e.b*=.5,Pu(e,n.c.i,n.c.j),i=nwF,d=new fU(n.d.i);d.a<d.c.c.length;)(o=Hr((w=CY(RU(d),68)).a,e))<i&&(i=o,n.d.d=w);break;default:throw new pN(nMe+(null!=m.f?m.f:""+m.g)).e}return n.d}function nlC(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;for(k=CY(GO((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),0),166),h=new gj,y=new dc,M=ns_(k),nr3(y.f,k,M),l=new dc,i=new vq,w=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(t.d||(t.d=new Ox(nL6,t,8,5)),t.d),(t.e||(t.e=new Ox(nL6,t,7,4)),t.e)])));ncv(w);){if(b=CY(_I(w),74),1!=(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i)throw new pN(nEo+(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i).e;b!=n&&(F_(i,g=CY(GO((b.a||(b.a=new Lk(nL5,b,6,6)),b.a),0),166),i.c.b,i.c),(d=CY(ED(Aj(y.f,g)),13))||(d=ns_(g),nr3(y.f,g,d)),f=e?Oj(new TP(CY(I0(M,M.c.length-1),8)),CY(I0(d,d.c.length-1),8)):Oj(new TP((RN(0,M.c.length),CY(M.c[0],8))),(RN(0,d.c.length),CY(d.c[0],8))),nr3(l.f,g,f))}if(0!=i.b)for(s=1,p=CY(I0(M,e?M.c.length-1:0),8);s<M.c.length;s++){for(m=CY(I0(M,e?M.c.length-1-s:s),8),r=ZQ(i,0);r.b!=r.d.c;)g=CY(K0(r),166),(d=CY(ED(Aj(y.f,g)),13)).c.length<=s?Gh(r):(v=OT(new TP(CY(I0(d,e?d.c.length-1-s:s),8)),CY(ED(Aj(l.f,g)),8)),(m.a!=v.a||m.b!=v.b)&&(a=m.a-p.a,o=m.b-p.b,(c=v.a-p.a)*o==(u=v.b-p.b)*a&&(0==a||isNaN(a)?a:a<0?-1:1)==(0==c||isNaN(c)?c:c<0?-1:1)&&(0==o||isNaN(o)?o:o<0?-1:1)==(0==u||isNaN(u)?u:u<0?-1:1)?(nP_.Math.abs(a)<nP_.Math.abs(c)||nP_.Math.abs(o)<nP_.Math.abs(u))&&F_(h,m,h.c.b,h.c):s>1&&F_(h,p,h.c.b,h.c),Gh(r)));p=m}return h}function nlI(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;for(i=new du,o=new du,g=t/2,b=n.gc(),r=CY(n.Xb(0),8),p=CY(n.Xb(1),8),jB(i,(RN(0,(w=ncL(r.a,r.b,p.a,p.b,g)).c.length),CY(w.c[0],8))),jB(o,(RN(1,w.c.length),CY(w.c[1],8))),s=2;s<b;s++)d=r,r=p,p=CY(n.Xb(s),8),jB(i,(RN(1,(w=ncL(r.a,r.b,d.a,d.b,g)).c.length),CY(w.c[1],8))),jB(o,(RN(0,w.c.length),CY(w.c[0],8))),jB(i,(RN(0,(w=ncL(r.a,r.b,p.a,p.b,g)).c.length),CY(w.c[0],8))),jB(o,(RN(1,w.c.length),CY(w.c[1],8)));for(jB(i,(RN(1,(w=ncL(p.a,p.b,r.a,r.b,g)).c.length),CY(w.c[1],8))),jB(o,(RN(0,w.c.length),CY(w.c[0],8))),e=new gj,c=new du,IA(e,(RN(0,i.c.length),CY(i.c[0],8))),h=1;h<i.c.length-2;h+=2)RN(h,i.c.length),a=CY(i.c[h],8),isFinite((l=nrX((RN(h-1,i.c.length),CY(i.c[h-1],8)),a,(RN(h+1,i.c.length),CY(i.c[h+1],8)),(RN(h+2,i.c.length),CY(i.c[h+2],8)))).a)&&isFinite(l.b)?F_(e,l,e.c.b,e.c):F_(e,a,e.c.b,e.c);for(IA(e,CY(I0(i,i.c.length-1),8)),jB(c,(RN(0,o.c.length),CY(o.c[0],8))),f=1;f<o.c.length-2;f+=2)RN(f,o.c.length),a=CY(o.c[f],8),isFinite((l=nrX((RN(f-1,o.c.length),CY(o.c[f-1],8)),a,(RN(f+1,o.c.length),CY(o.c[f+1],8)),(RN(f+2,o.c.length),CY(o.c[f+2],8)))).a)&&isFinite(l.b)?dk(c.c,l):dk(c.c,a);for(jB(c,CY(I0(o,o.c.length-1),8)),u=c.c.length-1;u>=0;u--)IA(e,(RN(u,c.c.length),CY(c.c[u],8)));return e}function nlA(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(m=pj(PI(ncx(t,(nuI(),nVz)))),l=pj(PI(ncx(t,nVq))),f=pj(PI(ncx(t,nVH))),Xv((t.a||(t.a=new Lk(nNe,t,10,11)),t.a)),g=nh4((t.a||(t.a=new Lk(nNe,t,10,11)),t.a),m,n.b),d=0;d<g.c.length;d++)if(RN(d,g.c.length),u=CY(g.c[d],186),0!=d&&(RN(d-1,g.c.length),W7(u,(b=CY(g.c[d-1],186)).f+b.b+n.b)),w=function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p;for(d=!1,u=!1,l=n+1,RN(n,t.c.length),o=(w=CY(t.c[n],186)).a,s=null,c=0;c<w.a.c.length;c++)if(RN(c,o.c.length),!(a=CY(o.c[c],172)).c){if(0==a.b.c.length){vX(),net(w,a),--c,d=!0;continue}if(a.k||(s&&ntw(s),nnL(a,(s=new DE(!s?0:s.e+s.d+i,w.f,i)).e+s.d,w.f),jB(w.d,s),zr(s,a),a.k=!0),h=null,p=null,c<w.a.c.length-1?p=CY(I0(w.a,c+1),172):l<t.c.length&&0!=(RN(l,t.c.length),CY(t.c[l],186)).a.c.length&&(p=CY(I0((RN(l,t.c.length),CY(t.c[l],186)).a,0),172)),g=!1,(h=p)&&(g=!QY(h.j,w)),h){if(0==h.b.c.length||pT(PC(CY(I0(h.b,0),27).of((nuu(),nWs))))){net(w,h);break}if(Hl(a,e-a.s),ntw(a.q),d|=function(n,t,e,i,r){var a,c;for(c=!1,a=CY(I0(e.b,0),27);function(n,t,e,i,r){var a,c;if(e.f>=t.o&&e.f<=t.f||.5*t.a<=e.f&&1.5*t.a>=e.f){if((a=CY(I0(t.n,t.n.c.length-1),209)).e+a.d+e.g+r<=i&&(CY(I0(t.n,t.n.c.length-1),209).f-n.f+e.f<=n.b||1==n.a.c.length))return J1(t,e),!0;if(t.s+e.g<=i&&(t.t+t.d+e.f+r<=n.b||1==n.a.c.length))return jB(t.b,e),c=CY(I0(t.n,t.n.c.length-1),209),jB(t.n,new DT(t.s,c.f+c.a+t.i,t.i)),nn3(CY(I0(t.n,t.n.c.length-1),209),e),nhe(t,e),!0}return!1}(n,t,a,i,r)&&(c=!0,!function(n,t){var e,i;for(H0(n.b,t),i=new fU(n.n);i.a<i.c.c.length;)if(-1!=H6((e=CY(RU(i),209)).c,t,0)){H0(e.c,t),function(n){var t,e,i,r;for(r=0,t=0,i=new fU(n.c);i.a<i.c.c.length;)GZ(e=CY(RU(i),27),n.e+r),G1(e,n.f),r+=e.g+n.b,t=nP_.Math.max(t,e.f+n.b);n.d=r-n.b,n.a=t-n.b}(e),0==e.c.c.length&&H0(n.n,e);break}nhU(n)}(e,a),0!=e.b.c.length);)a=CY(I0(e.b,0),27);return 0==e.b.c.length&&net(e.j,e),c&&ntw(t.q),c}(w,a,h,e,i),0==h.b.c.length)for(t.c.length>l&&net((RN(l,t.c.length),CY(t.c[l],186)),h),h=null;t.c.length>l&&0==(RN(l,t.c.length),CY(t.c[l],186)).a.c.length;)H0(t,(RN(l,t.c.length),t.c[l]));if(!h){--c;continue}if(!pT(PC(CY(I0(h.b,0),27).of((nuu(),nWs))))&&function(n,t,e,i,r,a,c,o){var u,s,h;return h=!1,s=a-e.s,u=e.t-t.f+nhL(e,s,!1).a,!(i.g+o>s)&&(u+o+nhL(i,s,!1).a<=t.b&&(Hl(e,a-e.s),e.c=!0,Hl(i,a-e.s),nnL(i,e.s,e.t+e.d+o),i.k=!0,zr(e.q,i),h=!0,r&&(qS(t,i),i.j=t,n.c.length>c&&(net((RN(c,n.c.length),CY(n.c[c],186)),i),0==(RN(c,n.c.length),CY(n.c[c],186)).a.c.length&&_V(n,c)))),h)}(t,w,a,h,g,e,l,i)){d=!0;continue}if(g){if(b=w.b,f=h.f,!pT(PC(CY(I0(h.b,0),27).of(nWs)))&&function(n,t,e,i,r,a,c,o){var u,s,h,f,l,b,w,d;if(b=!1,u=nop(e.q,t.f+t.b-e.q.f),l=i.f>t.b&&o,h=nhL(i,d=r-(e.q.e+u-c),!1).a,l&&h>i.f)return!1;if(l){for(f=0,w=new fU(t.d);w.a<w.c.c.length;)f+=nop(CY(RU(w),315),i.f)+c;d=r-f}return!(d<i.g)&&(s=a==n.c.length-1&&d>=(RN(a,n.c.length),CY(n.c[a],186)).e,(!!l||!(h>t.b)||!!s)&&((s||l||h<=t.b)&&(s&&h>t.b?(e.d=h,Hl(e,nrf(e,h))):(neX(e.q,u),e.c=!0),Hl(i,r-(e.s+e.r)),nnL(i,e.q.e+e.q.d,t.f),qS(t,i),n.c.length>a&&(net((RN(a,n.c.length),CY(n.c[a],186)),i),0==(RN(a,n.c.length),CY(n.c[a],186)).a.c.length&&_V(n,a)),b=!0),b))}(t,w,a,h,e,l,i,r)){if(d=!0,b<f){u=!0,h.j=w;break}continue}if(Qh(w,a)){a.c=!0,d=!0;continue}}else if(Qh(w,a)){a.c=!0,d=!0;continue}if(d)continue}if(Qh(w,a)){a.c=!0,d=!0,h&&(h.k=!1);continue}ntw(a.q)}return new Ea((SB(),!!d),!!u)}(d,g,m,n.b,pT(PC(ncx(t,(nuu(),nWp))))),pT(PC(w.b))){for(a=new fU(u.a);a.a<a.c.c.length;)(r=CY(RU(a),172)).c=!1,r.k=!1,nhU(r);u.d=new du,u.e=m,--d}else if(!function(n,t){var e,i,r,a,c;for(i=0,r=0,e=0,c=new fU(t.d);c.a<c.c.c.length;)ntw(a=CY(RU(c),315)),i=nP_.Math.max(i,a.b),r+=a.d+(e>0?n.b:0),++e;t.b=i,t.e=r}(n,u),d+1<g.c.length&&(n.e=nP_.Math.max(u.e+n.b+CY(I0((RN(d+1,g.c.length),CY(g.c[d+1],186)).a,0),172).r-m,n.c),n.f=nP_.Math.min(u.e+n.b+CY(I0((RN(d+1,g.c.length),CY(g.c[d+1],186)).a,0),172).r-m,n.d),0!=u.d.c.length&&(n.c=nP_.Math.max(n.c,CY(I0(u.d,u.d.c.length-1),315).d+(u.d.c.length<=1?0:n.b)),n.d=nP_.Math.min(n.c,CY(I0(u.d,u.d.c.length-1),315).d+(u.d.c.length<=1?0:n.b)))),1==g.c.length)for(h=CY(I0(u.d,u.d.c.length-1),315),o=new fU((s=CY(I0(h.a,h.a.c.length-1),172)).n);o.a<o.c.c.length;)c=CY(RU(o),209),n.c=nP_.Math.max(n.c,s.r-c.d),n.d=nP_.Math.min(n.d,s.r-c.d),n.e=nP_.Math.max(n.e,c.d+n.b),n.f=nP_.Math.min(n.f,c.d+n.b);return p=nt2(g,n.b),v=nP_.Math.max(p.a,l-(e.b+e.c)),i=nP_.Math.max(p.b,f-(e.d+e.a))-p.b,nnh(t,nVR,i),nnh(t,nVX,g),new IR(n.a,v,p.b+i,(nol(),nWU))}function nlL(){nlL=T,nl_(),nUg=nYx,nUp=nY$,nUm=nYD,nUv=nYR,nUk=nYK,nUM=nYF,nUj=nYB,nUP=nYU,nUO=nYG,nUS=nYH,nUC=nYq,nUA=nYX,nUN=nYW,nUT=nY_,nlH(),nUd=nBt,nUy=nBe,nUE=nBi,nUI=nBr,nUs=new TZ(nYC,Qx(0)),nUh=n_9,nUf=n_7,nUl=nBn,nUW=nBO,nUB=nBo,nUH=nBh,nUq=nBm,nUU=nBb,nUG=nBd,nUJ=nBN,nUQ=nBI,nUz=nBT,nUX=nBM,nUV=nBS,nHX=n_Z,nHz=n_1,nHb=n_h,nHw=n_b,nUR=nYY,nUF=nY2,nUD=nYJ,nU$=nYQ,QP(),new TZ(nYZ,nUK=n1H),nH0=new TW(12),nH1=new TZ(nYa,nH0),JG(),nHu=new TZ(nJ_,nHs=nZc),nUn=new TZ(nYm,0),nUb=new TZ(nYI,Qx(1)),nBF=new TZ(nJj,ng0),nHZ=nYi,nUt=nYv,nUc=nYS,nHn=nJx,nBR=nJE,nHm=nJq,nUw=new TZ(nYN,(SB(),!0)),nHE=nJV,nHT=nJW,nHW=nJ5,nHY=nYt,nHQ=nJ9,Ju(),nHt=new TZ(nJ$,nHi=nY7),nHB=nJ4,nH_=nJ2,nUr=nYE,nUi=nYM,nUa=nYj,Z0(),new TZ(nYf,nH4=nZV),nH5=nYw,nH8=nYd,nH9=nYg,nH6=nYb,nU_=nBc,nHD=n_K,nH$=n_D,nUx=nBa,nHI=n_O,nB7=nF5,nB9=nF4,nBY=nFB,nBZ=nFH,nB0=nFz,nB1=nFU,nB8=nF2,nHK=n__,nHF=n_B,nHS=n_k,nHV=n_4,nHU=n_q,nHg=n_g,nHq=n_J,nHf=n_c,nHl=n_u,nBJ=nJL,nHH=n_H,nBU=nFC,nBH=nFP,nBB=nFS,nHy=n_v,nHv=n_m,nHk=n_y,nHJ=nJ7,nHP=nJY,nHd=nJH,nHc=nJK,nHa=nJR,nB2=nFQ,nUe=nYk,nB_=nJA,nHM=nJz,nH7=nYp,nH2=nYo,nH3=nYs,nHL=n_A,nHN=n_N,nUu=nYO,nBK=nFj,nHx=n_$,nHo=n_e,nHr=n_n,nHR=nJ1,nHO=n_j,nHG=n_V,nUL=nYz,nHe=nF9,nUo=n_5,nHh=n_r,nB3=nFY,nB4=nFZ,nHC=n_P,nB6=nF1,nHj=nJJ,nHA=n_I,nB5=nF0,nBQ=nFF,nBz=nF$,nBq=nFN,nBX=nFx,nBV=nFR,nBG=nFA,nBW=nFK,nHp=n_p}function nlN(n){var t,e,i;if(n.d>=n.j){n.a=-1,n.c=1;return}if(t=xq(n.i,n.d++),n.a=t,1==n.b){switch(t){case 92:if(i=10,n.d>=n.j)throw new pH(nlV((T9(),nTj))).e;n.a=xq(n.i,n.d++);break;case 45:(512&n.e)==512&&n.d<n.j&&91==xq(n.i,n.d)?(++n.d,i=24):i=0;break;case 91:if((512&n.e)!=512&&n.d<n.j&&58==xq(n.i,n.d)){++n.d,i=20;break}default:(64512&t)==nwq&&n.d<n.j&&(64512&(e=xq(n.i,n.d)))==56320&&(n.a=nwG+(t-nwq<<10)+e-56320,++n.d),i=0}n.c=i;return}switch(t){case 124:i=2;break;case 42:i=3;break;case 43:i=4;break;case 63:i=5;break;case 41:i=7;break;case 46:i=8;break;case 91:i=9;break;case 94:i=11;break;case 36:i=12;break;case 40:if(i=6,n.d>=n.j||63!=xq(n.i,n.d))break;if(++n.d>=n.j)throw new pH(nlV((T9(),nTS))).e;switch(t=xq(n.i,n.d++)){case 58:i=13;break;case 61:i=14;break;case 33:i=15;break;case 91:i=19;break;case 62:i=18;break;case 60:if(n.d>=n.j)throw new pH(nlV((T9(),nTS))).e;if(61==(t=xq(n.i,n.d++)))i=16;else if(33==t)i=17;else throw new pH(nlV((T9(),nTP))).e;break;case 35:for(;n.d<n.j&&41!=(t=xq(n.i,n.d++)););if(41!=t)throw new pH(nlV((T9(),nTO))).e;i=21;break;default:if(45==t||97<=t&&t<=122||65<=t&&t<=90){--n.d,i=22;break}if(40==t){i=23;break}throw new pH(nlV((T9(),nTS))).e}break;case 92:if(i=10,n.d>=n.j)throw new pH(nlV((T9(),nTj))).e;n.a=xq(n.i,n.d++);break;default:i=0}n.c=i}function nlx(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k;k=!1;do for(k=!1,a=t?new fS(n.a.b).a.gc()-2:1;t?a>=0:a<new fS(n.a.b).a.gc();a+=t?-1:1)for(w=0,r=K9(n.a,Qx(a));w<r.b;w++)if(!(!Pn(l=CY(nnt(r,w),10),(nlF(),nK4))||function(n,t){var e,i,r,a;for(r=new fL(new fS(n.b).a.vc().Kc());r.a.Ob();)if(e=CY(r.a.Pb(),44),i=CY(e.ld(),34),0>(a=CY(i,17),jo(t.a,a.a)))return!1;return!0}(n.a,Qx(a))&&n.r==(nu7(),nGp)||function(n,t){var e,i,r,a;for(r=new fL(new fS(n.b).a.vc().Kc());r.a.Ob();)if(e=CY(r.a.Pb(),44),i=CY(e.ld(),34),a=CY(i,17),jo(t.a,a.a)>0)return!1;return!0}(n.a,Qx(a))&&n.r==(nu7(),nGm))){for(m=0,y=!0;m<r.b;m++)Pn(p=CY(nnt(r,m),10),nK4)&&(t&&CY(niK(l,nK4),17).a<CY(niK(p,nK4),17).a||!t&&CY(niK(l,nK4),17).a>CY(niK(p,nK4),17).a)&&(y=!1);if(y){for(u=t?a+1:a-1,o=K9(n.a,Qx(u)),c=!1,v=!0,i=!1,f=ZQ(o,0);f.b!=f.d.c;)Pn(h=CY(K0(f),10),nK4)?h.p!=l.p&&(c|=t?CY(niK(h,nK4),17).a<CY(niK(l,nK4),17).a:CY(niK(h,nK4),17).a>CY(niK(l,nK4),17).a,v=!1):!c&&v&&h.k==(ni8(),n$p)&&(i=!0,(b=t?CY(_I(new Le(Sb(Jz(h).a.Kc(),new s))),18).c.i:CY(_I(new Le(Sb(JV(h).a.Kc(),new s))),18).d.i)==l&&(e=t?CY(_I(new Le(Sb(JV(h).a.Kc(),new s))),18).d.i:CY(_I(new Le(Sb(Jz(h).a.Kc(),new s))),18).c.i,(t?CY(Pi(n.a,e),17).a-CY(Pi(n.a,b),17).a:CY(Pi(n.a,b),17).a-CY(Pi(n.a,e),17).a)<=2&&(v=!1)));if(i&&v&&(e=t?CY(_I(new Le(Sb(JV(l).a.Kc(),new s))),18).d.i:CY(_I(new Le(Sb(Jz(l).a.Kc(),new s))),18).c.i,(t?CY(Pi(n.a,e),17).a-CY(Pi(n.a,l),17).a:CY(Pi(n.a,l),17).a-CY(Pi(n.a,e),17).a)<=2&&e.k==(ni8(),n$v)&&(v=!1)),c||v){for(g=noa(n,l,t);0!=g.a.gc();)d=CY(g.a.ec().Kc().Pb(),10),g.a.Bc(d),Xx(g,noa(n,d,t));--w,k=!0}}}while(k)}function nl$(){nl$=T,nlT(),naR(n$l=new Ds,(nf5(),n1o),n1c),naR(n$l,n1p,n1c),naR(n$l,n1u,n1c),naR(n$l,n1w,n1c),naR(n$l,n1b,n1c),naR(n$l,n1f,n1c),naR(n$l,n1w,n1o),naR(n$l,n1c,n1e),naR(n$l,n1o,n1e),naR(n$l,n1p,n1e),naR(n$l,n1u,n1e),naR(n$l,n1l,n1e),naR(n$l,n1w,n1e),naR(n$l,n1b,n1e),naR(n$l,n1f,n1e),naR(n$l,n1a,n1e),naR(n$l,n1c,n1d),naR(n$l,n1o,n1d),naR(n$l,n1e,n1d),naR(n$l,n1p,n1d),naR(n$l,n1u,n1d),naR(n$l,n1l,n1d),naR(n$l,n1w,n1d),naR(n$l,n1a,n1d),naR(n$l,n1g,n1d),naR(n$l,n1b,n1d),naR(n$l,n1s,n1d),naR(n$l,n1f,n1d),naR(n$l,n1o,n1p),naR(n$l,n1u,n1p),naR(n$l,n1w,n1p),naR(n$l,n1f,n1p),naR(n$l,n1o,n1u),naR(n$l,n1p,n1u),naR(n$l,n1w,n1u),naR(n$l,n1u,n1u),naR(n$l,n1b,n1u),naR(n$l,n1c,n1i),naR(n$l,n1o,n1i),naR(n$l,n1e,n1i),naR(n$l,n1d,n1i),naR(n$l,n1p,n1i),naR(n$l,n1u,n1i),naR(n$l,n1l,n1i),naR(n$l,n1w,n1i),naR(n$l,n1g,n1i),naR(n$l,n1a,n1i),naR(n$l,n1f,n1i),naR(n$l,n1b,n1i),naR(n$l,n1h,n1i),naR(n$l,n1c,n1g),naR(n$l,n1o,n1g),naR(n$l,n1e,n1g),naR(n$l,n1p,n1g),naR(n$l,n1u,n1g),naR(n$l,n1l,n1g),naR(n$l,n1w,n1g),naR(n$l,n1a,n1g),naR(n$l,n1f,n1g),naR(n$l,n1s,n1g),naR(n$l,n1h,n1g),naR(n$l,n1o,n1a),naR(n$l,n1p,n1a),naR(n$l,n1u,n1a),naR(n$l,n1w,n1a),naR(n$l,n1g,n1a),naR(n$l,n1f,n1a),naR(n$l,n1b,n1a),naR(n$l,n1c,n1r),naR(n$l,n1o,n1r),naR(n$l,n1e,n1r),naR(n$l,n1p,n1r),naR(n$l,n1u,n1r),naR(n$l,n1l,n1r),naR(n$l,n1w,n1r),naR(n$l,n1a,n1r),naR(n$l,n1f,n1r),naR(n$l,n1o,n1b),naR(n$l,n1e,n1b),naR(n$l,n1d,n1b),naR(n$l,n1u,n1b),naR(n$l,n1c,n1s),naR(n$l,n1o,n1s),naR(n$l,n1d,n1s),naR(n$l,n1p,n1s),naR(n$l,n1u,n1s),naR(n$l,n1l,n1s),naR(n$l,n1w,n1s),naR(n$l,n1w,n1h),naR(n$l,n1u,n1h),naR(n$l,n1a,n1c),naR(n$l,n1a,n1p),naR(n$l,n1a,n1e),naR(n$l,n1l,n1c),naR(n$l,n1l,n1o),naR(n$l,n1l,n1d)}function nlD(n,t){switch(n.e){case 0:case 2:case 4:case 6:case 42:case 44:case 46:case 48:case 8:case 10:case 12:case 14:case 16:case 18:case 20:case 22:case 24:case 26:case 28:case 30:case 32:case 34:case 36:case 38:return new $R(n.b,n.a,t,n.c);case 1:return new jG(n.a,t,Ym(t.Dh(),n.c));case 43:return new jW(n.a,t,Ym(t.Dh(),n.c));case 3:return new jU(n.a,t,Ym(t.Dh(),n.c));case 45:return new jV(n.a,t,Ym(t.Dh(),n.c));case 41:return new Hs(CY(nec(n.c),29),n.a,t,Ym(t.Dh(),n.c));case 50:return new qq(CY(nec(n.c),29),n.a,t,Ym(t.Dh(),n.c));case 5:return new OP(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 47:return new OO(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 7:return new Lk(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 49:return new OS(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 9:return new jz(n.a,t,Ym(t.Dh(),n.c));case 11:return new jX(n.a,t,Ym(t.Dh(),n.c));case 13:return new jq(n.a,t,Ym(t.Dh(),n.c));case 15:return new If(n.a,t,Ym(t.Dh(),n.c));case 17:return new jY(n.a,t,Ym(t.Dh(),n.c));case 19:return new jJ(n.a,t,Ym(t.Dh(),n.c));case 21:return new jQ(n.a,t,Ym(t.Dh(),n.c));case 23:return new Ih(n.a,t,Ym(t.Dh(),n.c));case 25:return new O$(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 27:return new Ox(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 29:return new OL(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 31:return new OC(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 33:return new ON(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 35:return new OA(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 37:return new OI(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 39:return new LT(n.a,t,Ym(t.Dh(),n.c),n.d.n);case 40:return new zE(t,Ym(t.Dh(),n.c));default:throw new ph("Unknown feature style: "+n.e).e}}function nlR(n){var t,e,i,r,a,c,o,u;for(a=0,r=n.a.b,u=ZQ(n.a,0);u.b!=u.d.c;){if(o=CY(K0(u),240),c=(a+1)/(r+1),!n.c&&!n.d)return;n.c&&!n.d?(n.g=!0,n.b==(Ju(),nY8)?(i=n.c.e.b+n.c.f.b+n.e*(a+1),t=new MH(pj(PI(niK(n.c,(nf3(),nXI))))+n.e,i),e=new MH(pj(PI(niK(n.c,nXA)))-n.e,i)):n.b==nY9?(i=n.c.e.b+n.c.f.b+n.e*(a+1),t=new MH(pj(PI(niK(n.c,(nf3(),nXA))))-n.e,i),e=new MH(pj(PI(niK(n.c,nXI)))+n.e,i)):n.b==nZn?(t=new MH(i=n.c.e.a+n.c.f.a+n.e*(a+1),pj(PI(niK(n.c,(nf3(),nXI))))+n.e),e=new MH(i,pj(PI(niK(n.c,nXA)))-n.e)):(t=new MH(i=n.c.e.a+n.c.f.a+n.e*(a+1),pj(PI(niK(n.c,(nf3(),nXA))))-n.e),e=new MH(i,pj(PI(niK(n.c,nXI)))+n.e))):n.c&&n.d?n.b==(Ju(),nY8)?(i=n.d.e.b*c+(n.c.e.b+n.c.f.b)*(1-c),t=new MH(pj(PI(niK(n.c,(nf3(),nXI))))+n.e,i),e=new MH(pj(PI(niK(n.c,nXA)))-n.e,i)):n.b==nY9?(i=n.d.e.b*c+(n.c.e.b+n.c.f.b)*(1-c),t=new MH(pj(PI(niK(n.c,(nf3(),nXA))))-n.e,i),e=new MH(pj(PI(niK(n.c,nXI)))+n.e,i)):n.b==nZn?(t=new MH(i=n.d.e.a*c+(n.c.e.a+n.c.f.a)*(1-c),pj(PI(niK(n.c,(nf3(),nXI))))+n.e),e=new MH(i,pj(PI(niK(n.c,nXA)))-n.e)):(t=new MH(i=n.d.e.a*c+(n.c.e.a+n.c.f.a)*(1-c),pj(PI(niK(n.c,(nf3(),nXA))))-n.e),e=new MH(i,pj(PI(niK(n.c,nXI)))+n.e)):(n.f=!0,n.b==(Ju(),nY8)?(i=n.d.e.b-n.e*(a+1),t=new MH(pj(PI(niK(n.d,(nf3(),nXI))))+n.e,i),e=new MH(pj(PI(niK(n.d,nXA)))-n.e,i)):n.b==nY9?(i=n.d.e.b-n.e*(a+1),t=new MH(pj(PI(niK(n.d,(nf3(),nXA))))-n.e,i),e=new MH(pj(PI(niK(n.d,nXI)))+n.e,i)):n.b==nZn?(t=new MH(i=n.d.e.a-n.e*(a+1),pj(PI(niK(n.d,(nf3(),nXI))))+n.e),e=new MH(i,pj(PI(niK(n.d,nXA)))-n.e)):(t=new MH(i=n.d.e.a-n.e*(a+1),pj(PI(niK(n.d,(nf3(),nXA))))-n.e),e=new MH(i,pj(PI(niK(n.d,nXI)))+n.e))),CY(o.a,8).a=t.a,CY(o.a,8).b=t.b,o.b.a=e.a,o.b.b=e.b,++a}}function nlK(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O;if(nuQ(t),u=CY(GO((t.b||(t.b=new Ox(nL4,t,4,7)),t.b),0),84),h=CY(GO((t.c||(t.c=new Ox(nL4,t,5,8)),t.c),0),84),o=niw(u),s=niw(h),c=0==(!t.a&&(t.a=new Lk(nL5,t,6,6)),t.a).i?null:CY(GO((t.a||(t.a=new Lk(nL5,t,6,6)),t.a),0),166),M=CY(NR(n.a,o),10),S=CY(NR(n.a,s),10),E=null,P=null,jM(u,193)&&(jM(k=CY(NR(n.a,u),305),12)?E=CY(k,12):jM(k,10)&&(M=CY(k,10),E=CY(I0(M.j,0),12))),jM(h,193)&&(jM(j=CY(NR(n.a,h),305),12)?P=CY(j,12):jM(j,10)&&(S=CY(j,10),P=CY(I0(S.j,0),12))),!M||!S)throw new pF("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.").e;for(zU(d=new $1,t),VD(d,(nlF(),nK6),t),VD(d,(nlL(),nHP),null),b=CY(niK(i,nKU),21),M==S&&b.Fc((no7(),nKl)),E||(qy(),y=nGD,T=null,c&&Tx(CY(niK(M,nUt),101))&&(Fp(T=new MH(c.j,c.k),DS(t)),_a(T,e),Gw(s,o)&&(y=nG$,OT(T,M.n))),E=nhX(M,T,y,i)),P||(qy(),y=nG$,O=null,c&&Tx(CY(niK(S,nUt),101))&&(Fp(O=new MH(c.b,c.c),DS(t)),_a(O,e)),P=nhX(S,O,y,xi(S))),Ra(d,E),Ru(d,P),(E.e.c.length>1||E.g.c.length>1||P.e.c.length>1||P.g.c.length>1)&&b.Fc((no7(),nKo)),l=new j2((!t.n&&(t.n=new Lk(nNt,t,1,7)),t.n));l.e!=l.i.gc();)if(!pT(PC(ncx(f=CY(Z6(l),135),nHZ)))&&f.a)switch(g=Qp(f),jB(d.b,g),CY(niK(g,nHc),278).g){case 1:case 2:b.Fc((no7(),nKa));break;case 0:b.Fc((no7(),nKi)),VD(g,nHc,(GN(),nZe))}if(a=CY(niK(i,nB9),322),p=CY(niK(i,nHV),323),r=a==(q$(),nRM)||p==(nna(),nGf),c&&0!=(!c.a&&(c.a=new jU(nL0,c,5)),c.a).i&&r){for(m=nrb(c),w=new gj,v=ZQ(m,0);v.b!=v.d.c;)IA(w,new TP(CY(K0(v),8)));VD(d,nK5,w)}return d}function nlF(){var n,t;nlF=T,nK6=new wX(npl),nKI=new wX("coordinateOrigin"),nFa=new wX("processors"),nKC=new P5("compoundNode",(SB(),!1)),nKX=new P5("insideConnections",!1),nK5=new wX("originalBendpoints"),nK8=new wX("originalDummyNodePosition"),nK9=new wX("originalLabelEdge"),nFo=new wX("representedLabels"),nK$=new wX("endLabels"),nKD=new wX("endLabel.origin"),nKJ=new P5("labelSide",(ntG(),nZL)),nK3=new P5("maxEdgeThickness",0),nFu=new P5("reversed",!1),nFc=new wX(npb),nK1=new P5("longEdgeSource",null),nK0=new P5("longEdgeTarget",null),nKZ=new P5("longEdgeHasLabelDummies",!1),nKY=new P5("longEdgeBeforeLabelDummy",!1),nKx=new P5("edgeConstraint",(VH(),nR_)),nKV=new wX("inLayerLayoutUnit"),nKz=new P5("inLayerConstraint",(UM(),nKv)),nKW=new P5("inLayerSuccessorConstraint",new du),nKQ=new P5("inLayerSuccessorConstraintBetweenNonDummies",!1),nFi=new wX("portDummy"),nKA=new P5("crossingHint",Qx(0)),nKU=new P5("graphProperties",new O9(t=CY(mP(nAO),9),CY(Oc(t,t.length),9),0)),nK_=new P5("externalPortSide",(nf5(),n1v)),nKB=new P5("externalPortSize",new mm),nKK=new wX("externalPortReplacedDummies"),nKF=new wX("externalPortReplacedDummy"),nKR=new P5("externalPortConnections",new O9(n=CY(mP(nLq),9),CY(Oc(n,n.length),9),0)),nFr=new P5(ngn,0),nKj=new wX("barycenterAssociates"),nFm=new wX("TopSideComments"),nKS=new wX("BottomSideComments"),nKO=new wX("CommentConnectionPort"),nKq=new P5("inputCollect",!1),nFt=new P5("outputCollect",!1),nKN=new P5("cyclic",!1),nKL=new wX("crossHierarchyMap"),nFp=new wX("targetOffset"),new P5("splineLabelSize",new mm),nFf=new wX("spacings"),nFe=new P5("partitionConstraint",!1),nKP=new wX("breakingPoint.info"),nFd=new wX("splines.survivingEdge"),nFw=new wX("splines.route.start"),nFl=new wX("splines.edgeChain"),nFn=new wX("originalPortConstraints"),nFh=new wX("selfLoopHolder"),nFb=new wX("splines.nsPortY"),nK4=new wX("modelOrder"),nK2=new wX("longEdgeTargetNode"),nKH=new P5(nmp,!1),nFs=new P5(nmp,!1),nKG=new wX("layerConstraints.hiddenNodes"),nK7=new wX("layerConstraints.opposidePort"),nFg=new wX("targetNode.modelOrder")}function nl_(){var n,t;nl_=T,nJM=new wX(nMK),nYA=new wX(nMF),nnS(),nJE=new To(nyi,nJT=nQ5),new da,nJj=new To(ngx,null),nJS=new wX(nM_),neW(),nJL=new To(nyd,nJN=AN(nJy,Vw(DY(nLx,1),nbG,298,0,[nJg]))),nJx=new To(nye,(SB(),!1)),Ju(),nJ$=new To(nyc,nJD=nY7),JG(),nJ_=new To(nvF,nJB=nZs),nJG=new To(nMD,!1),QO(),nJq=new To(nvx,nJX=nZS),nYa=new To(ng$,nYc=new TW(12)),nJQ=new To(ng9,!1),nJJ=new To(nyP,!1),nYr=new To(npt,!1),nie(),nYv=new To(ng7,nYy=nZ0),nYO=new wX(nyT),nYC=new wX(ng3),nYI=new wX(ng5),nYN=new wX(ng8),nJY=new To(nyg,nJZ=new gj),nJA=new To(nyv,!1),nJz=new To(nyy,!1),new wX(nMB),nJ1=new To(nyj,nJ0=new gd),nYi=new To(nyn,!1),new da,nYL=new To(nMH,1),nJI=new wX(nMU),nJC=new wX(nMG),nYY=new To(npo,!1),new To(nMq,!0),Qx(0),new To(nMX,Qx(100)),new To(nMz,!1),Qx(0),new To(nMV,Qx(4e3)),Qx(0),new To(nMW,Qx(400)),new To(nMQ,!1),new To(nMJ,!1),new To(nMY,!0),new To(nMZ,!1),Yw(),nJP=new To(nMR,nJO=n1Y),nYx=new To(nvY,10),nY$=new To(nvZ,10),nYD=new To(ngL,20),nYR=new To(nv1,10),nYK=new To(ng6,2),nYF=new To(nv0,10),nYB=new To(nv2,0),nYH=new To(nv6,5),nYU=new To(nv3,1),nYG=new To(nv4,1),nYq=new To(ng4,20),nYX=new To(nv5,10),nYW=new To(nv8,10),nY_=new wX(nv9),nYz=new To(nyS,nYV=new TM),nYs=new wX(nyE),nYo=new To(nyM,nYu=!1),nJ2=new To(nyo,nJ3=new TW(5)),nc$(),nJ4=new To(npa,nJ6=new O9(t=CY(mP(nLB),9),CY(Oc(t,t.length),9),0)),Z0(),nYf=new To(nyh,nYl=nZX),nYw=new wX(nyf),nYd=new wX(nyl),nYg=new wX(nyb),nYb=new wX(nyw),nJ5=new To(npr,nJ8=new O9(n=CY(mP(nLX),9),CY(Oc(n,n.length),9),0)),nYt=new To(npi,nYe=JP((nsv(),n1x))),nJ7=new To(npE,nYn=new MH(0,0)),nJ9=new To(npe,!1),GN(),nJK=new To(nyp,nJF=nZe),nJR=new To(npn,!1),new wX(nM1),Qx(1),new To(nM0,null),nYp=new wX(nyk),nYk=new wX(nym),nf5(),nYS=new To(nyt,nYP=n1v),nYm=new wX(nv7),nap(),nYE=new To(npc,nYT=JP(nZ8)),nYM=new To(nyu,!1),nYj=new To(nys,!0),new da,nY2=new To(npu,1),nY4=new To(nM2,null),nYJ=new To(nps,150),nYQ=new To(nph,1.414),nYZ=new To(npf,null),nY1=new To(nM3,1),nJV=new To(nyr,!1),nJW=new To(nya,!1),nJH=new To(ngN,1),nij(),new To(nM4,nJU=nZd),nYh=!0,QP(),nY3=n1H,nY6=n1H,nY0=n1H}function nlB(){nlB=T,n$G=new kc("DIRECTION_PREPROCESSOR",0),n$B=new kc("COMMENT_PREPROCESSOR",1),n$q=new kc("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),n$8=new kc("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),nDg=new kc("PARTITION_PREPROCESSOR",4),nDt=new kc("LABEL_DUMMY_INSERTER",5),nDM=new kc("SELF_LOOP_PREPROCESSOR",6),nDc=new kc("LAYER_CONSTRAINT_PREPROCESSOR",7),nDw=new kc("PARTITION_MIDPROCESSOR",8),n$2=new kc("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),nDh=new kc("NODE_PROMOTION",10),nDa=new kc("LAYER_CONSTRAINT_POSTPROCESSOR",11),nDd=new kc("PARTITION_POSTPROCESSOR",12),n$Y=new kc("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),nDT=new kc("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),n$$=new kc("BREAKING_POINT_INSERTER",15),nDs=new kc("LONG_EDGE_SPLITTER",16),nDm=new kc("PORT_SIDE_PROCESSOR",17),n$9=new kc("INVERTED_PORT_PROCESSOR",18),nDp=new kc("PORT_LIST_SORTER",19),nDS=new kc("SORT_BY_INPUT_ORDER_OF_MODEL",20),nDl=new kc("NORTH_SOUTH_PORT_PREPROCESSOR",21),n$D=new kc("BREAKING_POINT_PROCESSOR",22),nDb=new kc(np4,23),nDP=new kc(np6,24),nDy=new kc("SELF_LOOP_PORT_RESTORER",25),nDj=new kc("SINGLE_EDGE_GRAPH_WRAPPER",26),n$7=new kc("IN_LAYER_CONSTRAINT_PROCESSOR",27),n$W=new kc("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),nDn=new kc("LABEL_AND_NODE_SIZE_PROCESSOR",29),n$5=new kc("INNERMOST_NODE_MARGIN_CALCULATOR",30),nDE=new kc("SELF_LOOP_ROUTER",31),n$F=new kc("COMMENT_NODE_MARGIN_CALCULATOR",32),n$z=new kc("END_LABEL_PREPROCESSOR",33),nDi=new kc("LABEL_DUMMY_SWITCHER",34),n$K=new kc("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),nDr=new kc("LABEL_SIDE_SELECTOR",36),n$4=new kc("HYPEREDGE_DUMMY_MERGER",37),n$Z=new kc("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),nDo=new kc("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),n$0=new kc("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),n$H=new kc("CONSTRAINTS_POSTPROCESSOR",41),n$_=new kc("COMMENT_POSTPROCESSOR",42),n$6=new kc("HYPERNODE_PROCESSOR",43),n$1=new kc("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),nDu=new kc("LONG_EDGE_JOINER",45),nDk=new kc("SELF_LOOP_POSTPROCESSOR",46),n$R=new kc("BREAKING_POINT_REMOVER",47),nDf=new kc("NORTH_SOUTH_PORT_POSTPROCESSOR",48),n$3=new kc("HORIZONTAL_COMPACTOR",49),nDe=new kc("LABEL_DUMMY_REMOVER",50),n$Q=new kc("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),n$V=new kc("END_LABEL_SORTER",52),nDv=new kc("REVERSED_EDGE_RESTORER",53),n$X=new kc("END_LABEL_POSTPROCESSOR",54),n$J=new kc("HIERARCHICAL_NODE_RESIZER",55),n$U=new kc("DIRECTION_POSTPROCESSOR",56)}function nlH(){nlH=T,U4(),nF9=new To(nmm,nF7=nRD),n_g=new To(nmv,(SB(),!1)),Fn(),n_k=new To(nmy,n_M=nKM),n__=new To(nmk,!1),n_B=new To(nmM,!0),nFj=new To(nmE,!1),UE(),n_5=new To(nmT,n_8=nGL),Qx(1),nBa=new To(nmj,Qx(7)),nBc=new To(nmS,!1),n_p=new To(nmP,!1),Zo(),nF5=new To(nmO,nF8=nRA),noj(),n_K=new To(nmC,n_F=nU9),Yb(),n_O=new To(nmI,n_C=nFE),Qx(-1),n_P=new To(nmA,null),Qx(-1),n_I=new To(nmL,Qx(-1)),Qx(-1),n_A=new To(nmN,Qx(4)),Qx(-1),n_N=new To(nmx,Qx(2)),nu7(),n_D=new To(nm$,n_R=nGT),Qx(0),n_$=new To(nmD,Qx(0)),n_j=new To(nmR,Qx(nl3)),q$(),nF4=new To(nmK,nF6=nRE),nFB=new To(nmF,!1),nFQ=new To(nm_,.1),nF2=new To(nmB,!1),nFY=new To(nmH,null),nFZ=new To(nmU,null),Qx(-1),nF1=new To(nmG,null),Qx(-1),nF0=new To(nmq,Qx(-1)),Qx(0),nFH=new To(nmX,Qx(40)),zJ(),nFz=new To(nmz,nFV=nKg),nFU=new To(nmV,nFG=nKw),nna(),n_4=new To(nmW,n_6=nGh),n_V=new wX(nmQ),HR(),n_H=new To(nmJ,n_U=nRQ),neR(),n_q=new To(nmY,n_X=nR2),new da,n_J=new To(nmZ,.3),n_Z=new wX(nm1),nnT(),n_1=new To(nm0,n_0=nGo),zl(),n_c=new To(nm2,n_o=nG_),Wm(),n_u=new To(nm3,n_s=nGq),WQ(),n_h=new To(nm4,n_f=nGW),n_b=new To(nm6,.2),n_r=new To(nm5,2),nBt=new To(nm8,null),nBi=new To(nm9,10),nBe=new To(nm7,10),nBr=new To(nvn,20),Qx(0),n_9=new To(nvt,Qx(0)),Qx(0),n_7=new To(nve,Qx(0)),Qx(0),nBn=new To(nvi,Qx(0)),nFS=new To(nvr,!1),ni2(),nFC=new To(nva,nFI=nKn),Bg(),nFP=new To(nvc,nFO=nRy),n_v=new To(nvo,!1),Qx(0),n_m=new To(nvu,Qx(16)),Qx(0),n_y=new To(nvs,Qx(5)),Vm(),nBO=new To(nvh,nBC=nG2),nBo=new To(nvf,10),nBh=new To(nvl,1),qv(),nBm=new To(nvb,nBv=nRO),nBb=new wX(nvw),nBg=Qx(1),Qx(0),nBd=new To(nvd,nBg),qm(),nBN=new To(nvg,nBx=nGJ),nBI=new wX(nvp),nBT=new To(nvm,!0),nBM=new To(nvv,2),nBS=new To(nvy,!0),nrt(),n_e=new To(nvk,n_i=nRz),nr_(),n_n=new To(nvM,n_t=nRw),Zu(),nFF=new To(nvE,nF_=nGO),nFK=new To(nvT,!1),nFR=new To(nvj,!1),ZT(),nFA=new To(nvS,nFL=n$h),QS(),nF$=new To(nvP,nFD=nGt),nFN=new To(nvO,0),nFx=new To(nvC,0),n_T=nRN,n_E=nRM,n_L=nU8,n_x=nU8,n_S=nU2,QO(),nFJ=nZj,nF3=nRE,nFW=nRE,nFq=nRE,nFX=nZj,n_W=nGb,n_Q=nGh,n_G=nGh,n_z=nGh,n_Y=nGl,n_3=nGb,n_2=nGb,JG(),n_l=nZu,n_w=nZu,n_d=nGW,n_a=nZo,nBu=nG3,nBs=nG0,nBf=nG3,nBl=nG0,nBy=nG3,nBk=nG0,nBw=nRP,nBp=nRO,nB$=nG3,nBD=nG0,nBA=nG3,nBL=nG0,nBj=nG0,nBE=nG0,nBP=nG0}function nlU(){nlU=T,n3Y=new dr(7),++n4c,n3Z=new Ad(8,94),++n4c,new Ad(8,64),++n4c,n31=new Ad(8,36),++n4c,n35=new Ad(8,65),++n4c,n38=new Ad(8,122),++n4c,n39=new Ad(8,90),++n4c,n4t=new Ad(8,98),++n4c,n34=new Ad(8,66),++n4c,n37=new Ad(8,60),++n4c,n4e=new Ad(8,62),n3J=new dr(11),++n4c,no2(n3Q=new RX(4),48,57),++n4c,no2(n4n=new RX(4),48,57),no2(n4n,65,90),no2(n4n,95,95),no2(n4n,97,122),++n4c,no2(n36=new RX(4),9,9),no2(n36,10,10),no2(n36,12,12),no2(n36,13,13),no2(n36,32,32),n30=ns4(n3Q),n33=ns4(n4n),n32=ns4(n36),n3X=new dc,n3z=new dc,n3V=Vw(DY(nPL,1),nby,2,6,["Cn","Lu","Ll","Lt","Lm","Lo","Mn","Me","Mc","Nd","Nl","No","Zs","Zl","Zp","Cc","Cf",null,"Co","Cs","Pd","Ps","Pe","Pc","Po","Sm","Sc","Sk","So","Pi","Pf","L","M","N","Z","C","P","S"]),n3q=Vw(DY(nPL,1),nby,2,6,["Basic Latin","Latin-1 Supplement","Latin Extended-A","Latin Extended-B","IPA Extensions","Spacing Modifier Letters","Combining Diacritical Marks","Greek","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul Jamo","Ethiopic","Cherokee","Unified Canadian Aboriginal Syllabics","Ogham","Runic","Khmer","Mongolian","Latin Extended Additional","Greek Extended","General Punctuation","Superscripts and Subscripts","Currency Symbols","Combining Marks for Symbols","Letterlike Symbols","Number Forms","Arrows","Mathematical Operators","Miscellaneous Technical","Control Pictures","Optical Character Recognition","Enclosed Alphanumerics","Box Drawing","Block Elements","Geometric Shapes","Miscellaneous Symbols","Dingbats","Braille Patterns","CJK Radicals Supplement","Kangxi Radicals","Ideographic Description Characters","CJK Symbols and Punctuation","Hiragana","Katakana","Bopomofo","Hangul Compatibility Jamo","Kanbun","Bopomofo Extended","Enclosed CJK Letters and Months","CJK Compatibility","CJK Unified Ideographs Extension A","CJK Unified Ideographs","Yi Syllables","Yi Radicals","Hangul Syllables",nS2,"CJK Compatibility Ideographs","Alphabetic Presentation Forms","Arabic Presentation Forms-A","Combining Half Marks","CJK Compatibility Forms","Small Form Variants","Arabic Presentation Forms-B","Specials","Halfwidth and Fullwidth Forms","Old Italic","Gothic","Deseret","Byzantine Musical Symbols","Musical Symbols","Mathematical Alphanumeric Symbols","CJK Unified Ideographs Extension B","CJK Compatibility Ideographs Supplement","Tags"]),n3W=Vw(DY(n4s,1),nwl,28,15,[66304,66351,66352,66383,66560,66639,118784,119039,119040,119295,119808,120831,131072,173782,194560,195103,917504,917631])}function nlG(){nlG=T,nIx=new XV("OUT_T_L",0,(HS(),nIu),(Uk(),nIf),(GL(),nIi),nIi,Vw(DY(nPh,1),nl7,21,0,[AN((nc$(),nZF),Vw(DY(nLB,1),nbG,95,0,[nZH,nZ$]))])),nIN=new XV("OUT_T_C",1,nIo,nIf,nIi,nIr,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZH,nZx])),AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZH,nZx,nZD]))])),nI$=new XV("OUT_T_R",2,nIs,nIf,nIi,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZH,nZR]))])),nIj=new XV("OUT_B_L",3,nIu,nIb,nIa,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZ$]))])),nIT=new XV("OUT_B_C",4,nIo,nIb,nIa,nIr,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZx])),AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZx,nZD]))])),nIS=new XV("OUT_B_R",5,nIs,nIb,nIa,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZR]))])),nIC=new XV("OUT_L_T",6,nIs,nIb,nIi,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ$,nZH,nZD]))])),nIO=new XV("OUT_L_C",7,nIs,nIl,nIr,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ$,nZB])),AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ$,nZB,nZD]))])),nIP=new XV("OUT_L_B",8,nIs,nIf,nIa,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZ$,nZ_,nZD]))])),nIL=new XV("OUT_R_T",9,nIu,nIb,nIi,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZR,nZH,nZD]))])),nIA=new XV("OUT_R_C",10,nIu,nIl,nIr,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZR,nZB])),AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZR,nZB,nZD]))])),nII=new XV("OUT_R_B",11,nIu,nIf,nIa,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZF,Vw(DY(nLB,1),nbG,95,0,[nZR,nZ_,nZD]))])),nIM=new XV("IN_T_L",12,nIu,nIb,nIi,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZ$])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZ$,nZD]))])),nIk=new XV("IN_T_C",13,nIo,nIb,nIi,nIr,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZx])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZx,nZD]))])),nIE=new XV("IN_T_R",14,nIs,nIb,nIi,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZR])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZH,nZR,nZD]))])),nIv=new XV("IN_C_L",15,nIu,nIl,nIr,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZ$])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZ$,nZD]))])),nIm=new XV("IN_C_C",16,nIo,nIl,nIr,nIr,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZx])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZx,nZD]))])),nIy=new XV("IN_C_R",17,nIs,nIl,nIr,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZR])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZB,nZR,nZD]))])),nIg=new XV("IN_B_L",18,nIu,nIf,nIa,nIi,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZ$])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZ$,nZD]))])),nId=new XV("IN_B_C",19,nIo,nIf,nIa,nIr,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZx])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZx,nZD]))])),nIp=new XV("IN_B_R",20,nIs,nIf,nIa,nIa,Vw(DY(nPh,1),nl7,21,0,[AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZR])),AN(nZK,Vw(DY(nLB,1),nbG,95,0,[nZ_,nZR,nZD]))])),nID=new XV(nd6,21,null,null,null,null,Vw(DY(nPh,1),nl7,21,0,[]))}function nlq(){nlq=T,n2u=(NN(),n2c).b,CY(GO($x(n2c.b),0),35),CY(GO($x(n2c.b),1),19),n2o=n2c.a,CY(GO($x(n2c.a),0),35),CY(GO($x(n2c.a),1),19),CY(GO($x(n2c.a),2),19),CY(GO($x(n2c.a),3),19),CY(GO($x(n2c.a),4),19),n2s=n2c.o,CY(GO($x(n2c.o),0),35),CY(GO($x(n2c.o),1),35),n2f=CY(GO($x(n2c.o),2),19),CY(GO($x(n2c.o),3),19),CY(GO($x(n2c.o),4),19),CY(GO($x(n2c.o),5),19),CY(GO($x(n2c.o),6),19),CY(GO($x(n2c.o),7),19),CY(GO($x(n2c.o),8),19),CY(GO($x(n2c.o),9),19),CY(GO($x(n2c.o),10),19),CY(GO($x(n2c.o),11),19),CY(GO($x(n2c.o),12),19),CY(GO($x(n2c.o),13),19),CY(GO($x(n2c.o),14),19),CY(GO($x(n2c.o),15),19),CY(GO($N(n2c.o),0),62),CY(GO($N(n2c.o),1),62),CY(GO($N(n2c.o),2),62),CY(GO($N(n2c.o),3),62),CY(GO($N(n2c.o),4),62),CY(GO($N(n2c.o),5),62),CY(GO($N(n2c.o),6),62),CY(GO($N(n2c.o),7),62),CY(GO($N(n2c.o),8),62),CY(GO($N(n2c.o),9),62),n2h=n2c.p,CY(GO($x(n2c.p),0),35),CY(GO($x(n2c.p),1),35),CY(GO($x(n2c.p),2),35),CY(GO($x(n2c.p),3),35),CY(GO($x(n2c.p),4),19),CY(GO($x(n2c.p),5),19),CY(GO($N(n2c.p),0),62),CY(GO($N(n2c.p),1),62),n2l=n2c.q,CY(GO($x(n2c.q),0),35),n2b=n2c.v,CY(GO($x(n2c.v),0),19),CY(GO($N(n2c.v),0),62),CY(GO($N(n2c.v),1),62),CY(GO($N(n2c.v),2),62),n2w=n2c.w,CY(GO($x(n2c.w),0),35),CY(GO($x(n2c.w),1),35),CY(GO($x(n2c.w),2),35),CY(GO($x(n2c.w),3),19),n2d=n2c.B,CY(GO($x(n2c.B),0),19),CY(GO($N(n2c.B),0),62),CY(GO($N(n2c.B),1),62),CY(GO($N(n2c.B),2),62),n2m=n2c.Q,CY(GO($x(n2c.Q),0),19),CY(GO($N(n2c.Q),0),62),n2v=n2c.R,CY(GO($x(n2c.R),0),35),n2y=n2c.S,CY(GO($N(n2c.S),0),62),CY(GO($N(n2c.S),1),62),CY(GO($N(n2c.S),2),62),CY(GO($N(n2c.S),3),62),CY(GO($N(n2c.S),4),62),CY(GO($N(n2c.S),5),62),CY(GO($N(n2c.S),6),62),CY(GO($N(n2c.S),7),62),CY(GO($N(n2c.S),8),62),CY(GO($N(n2c.S),9),62),CY(GO($N(n2c.S),10),62),CY(GO($N(n2c.S),11),62),CY(GO($N(n2c.S),12),62),CY(GO($N(n2c.S),13),62),CY(GO($N(n2c.S),14),62),n2k=n2c.T,CY(GO($x(n2c.T),0),19),CY(GO($x(n2c.T),2),19),n2M=CY(GO($x(n2c.T),3),19),CY(GO($x(n2c.T),4),19),CY(GO($N(n2c.T),0),62),CY(GO($N(n2c.T),1),62),CY(GO($x(n2c.T),1),19),n2E=n2c.U,CY(GO($x(n2c.U),0),35),CY(GO($x(n2c.U),1),35),CY(GO($x(n2c.U),2),19),CY(GO($x(n2c.U),3),19),CY(GO($x(n2c.U),4),19),CY(GO($x(n2c.U),5),19),CY(GO($N(n2c.U),0),62),n2T=n2c.V,CY(GO($x(n2c.V),0),19),n2j=n2c.W,CY(GO($x(n2c.W),0),35),CY(GO($x(n2c.W),1),35),CY(GO($x(n2c.W),2),35),CY(GO($x(n2c.W),3),19),CY(GO($x(n2c.W),4),19),CY(GO($x(n2c.W),5),19),n2P=n2c.bb,CY(GO($x(n2c.bb),0),35),CY(GO($x(n2c.bb),1),35),CY(GO($x(n2c.bb),2),35),CY(GO($x(n2c.bb),3),35),CY(GO($x(n2c.bb),4),35),CY(GO($x(n2c.bb),5),35),CY(GO($x(n2c.bb),6),35),CY(GO($x(n2c.bb),7),19),CY(GO($N(n2c.bb),0),62),CY(GO($N(n2c.bb),1),62),n2O=n2c.eb,CY(GO($x(n2c.eb),0),35),CY(GO($x(n2c.eb),1),35),CY(GO($x(n2c.eb),2),35),CY(GO($x(n2c.eb),3),35),CY(GO($x(n2c.eb),4),35),CY(GO($x(n2c.eb),5),35),CY(GO($x(n2c.eb),6),19),CY(GO($x(n2c.eb),7),19),n2S=n2c.ab,CY(GO($x(n2c.ab),0),35),CY(GO($x(n2c.ab),1),35),n2g=n2c.H,CY(GO($x(n2c.H),0),19),CY(GO($x(n2c.H),1),19),CY(GO($x(n2c.H),2),19),CY(GO($x(n2c.H),3),19),CY(GO($x(n2c.H),4),19),CY(GO($x(n2c.H),5),19),CY(GO($N(n2c.H),0),62),n2C=n2c.db,CY(GO($x(n2c.db),0),19),n2p=n2c.M}function nlX(n,t){var e;return n23||(n23=new dc,n24=new dc,nlU(),nlU(),++n4c,YJ(e=new RX(4)," \n\r\r "),Rr(n23,nSJ,e),Rr(n24,nSJ,ns4(e)),++n4c,YJ(e=new RX(4),nS1),Rr(n23,nSW,e),Rr(n24,nSW,ns4(e)),++n4c,YJ(e=new RX(4),nS1),Rr(n23,nSW,e),Rr(n24,nSW,ns4(e)),++n4c,YJ(e=new RX(4),nS0),nhH(e,CY(Db(n23,nSW),122)),Rr(n23,nSQ,e),Rr(n24,nSQ,ns4(e)),++n4c,YJ(e=new RX(4),"-.0:AZ__az\xb7\xb7\xc0\xd6\xd8\xf6\xf8\u0131\u0134\u013E\u0141\u0148\u014A\u017E\u0180\u01C3\u01CD\u01F0\u01F4\u01F5\u01FA\u0217\u0250\u02A8\u02BB\u02C1\u02D0\u02D1\u0300\u0345\u0360\u0361\u0386\u038A\u038C\u038C\u038E\u03A1\u03A3\u03CE\u03D0\u03D6\u03DA\u03DA\u03DC\u03DC\u03DE\u03DE\u03E0\u03E0\u03E2\u03F3\u0401\u040C\u040E\u044F\u0451\u045C\u045E\u0481\u0483\u0486\u0490\u04C4\u04C7\u04C8\u04CB\u04CC\u04D0\u04EB\u04EE\u04F5\u04F8\u04F9\u0531\u0556\u0559\u0559\u0561\u0586\u0591\u05A1\u05A3\u05B9\u05BB\u05BD\u05BF\u05BF\u05C1\u05C2\u05C4\u05C4\u05D0\u05EA\u05F0\u05F2\u0621\u063A\u0640\u0652\u0660\u0669\u0670\u06B7\u06BA\u06BE\u06C0\u06CE\u06D0\u06D3\u06D5\u06E8\u06EA\u06ED\u06F0\u06F9\u0901\u0903\u0905\u0939\u093C\u094D\u0951\u0954\u0958\u0963\u0966\u096F\u0981\u0983\u0985\u098C\u098F\u0990\u0993\u09A8\u09AA\u09B0\u09B2\u09B2\u09B6\u09B9\u09BC\u09BC\u09BE\u09C4\u09C7\u09C8\u09CB\u09CD\u09D7\u09D7\u09DC\u09DD\u09DF\u09E3\u09E6\u09F1\u0A02\u0A02\u0A05\u0A0A\u0A0F\u0A10\u0A13\u0A28\u0A2A\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3C\u0A3E\u0A42\u0A47\u0A48\u0A4B\u0A4D\u0A59\u0A5C\u0A5E\u0A5E\u0A66\u0A74\u0A81\u0A83\u0A85\u0A8B\u0A8D\u0A8D\u0A8F\u0A91\u0A93\u0AA8\u0AAA\u0AB0\u0AB2\u0AB3\u0AB5\u0AB9\u0ABC\u0AC5\u0AC7\u0AC9\u0ACB\u0ACD\u0AE0\u0AE0\u0AE6\u0AEF\u0B01\u0B03\u0B05\u0B0C\u0B0F\u0B10\u0B13\u0B28\u0B2A\u0B30\u0B32\u0B33\u0B36\u0B39\u0B3C\u0B43\u0B47\u0B48\u0B4B\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F\u0B61\u0B66\u0B6F\u0B82\u0B83\u0B85\u0B8A\u0B8E\u0B90\u0B92\u0B95\u0B99\u0B9A\u0B9C\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8\u0BAA\u0BAE\u0BB5\u0BB7\u0BB9\u0BBE\u0BC2\u0BC6\u0BC8\u0BCA\u0BCD\u0BD7\u0BD7\u0BE7\u0BEF\u0C01\u0C03\u0C05\u0C0C\u0C0E\u0C10\u0C12\u0C28\u0C2A\u0C33\u0C35\u0C39\u0C3E\u0C44\u0C46\u0C48\u0C4A\u0C4D\u0C55\u0C56\u0C60\u0C61\u0C66\u0C6F\u0C82\u0C83\u0C85\u0C8C\u0C8E\u0C90\u0C92\u0CA8\u0CAA\u0CB3\u0CB5\u0CB9\u0CBE\u0CC4\u0CC6\u0CC8\u0CCA\u0CCD\u0CD5\u0CD6\u0CDE\u0CDE\u0CE0\u0CE1\u0CE6\u0CEF\u0D02\u0D03\u0D05\u0D0C\u0D0E\u0D10\u0D12\u0D28\u0D2A\u0D39\u0D3E\u0D43\u0D46\u0D48\u0D4A\u0D4D\u0D57\u0D57\u0D60\u0D61\u0D66\u0D6F\u0E01\u0E2E\u0E30\u0E3A\u0E40\u0E4E\u0E50\u0E59\u0E81\u0E82\u0E84\u0E84\u0E87\u0E88\u0E8A\u0E8A\u0E8D\u0E8D\u0E94\u0E97\u0E99\u0E9F\u0EA1\u0EA3\u0EA5\u0EA5\u0EA7\u0EA7\u0EAA\u0EAB\u0EAD\u0EAE\u0EB0\u0EB9\u0EBB\u0EBD\u0EC0\u0EC4\u0EC6\u0EC6\u0EC8\u0ECD\u0ED0\u0ED9\u0F18\u0F19\u0F20\u0F29\u0F35\u0F35\u0F37\u0F37\u0F39\u0F39\u0F3E\u0F47\u0F49\u0F69\u0F71\u0F84\u0F86\u0F8B\u0F90\u0F95\u0F97\u0F97\u0F99\u0FAD\u0FB1\u0FB7\u0FB9\u0FB9\u10A0\u10C5\u10D0\u10F6\u1100\u1100\u1102\u1103\u1105\u1107\u1109\u1109\u110B\u110C\u110E\u1112\u113C\u113C\u113E\u113E\u1140\u1140\u114C\u114C\u114E\u114E\u1150\u1150\u1154\u1155\u1159\u1159\u115F\u1161\u1163\u1163\u1165\u1165\u1167\u1167\u1169\u1169\u116D\u116E\u1172\u1173\u1175\u1175\u119E\u119E\u11A8\u11A8\u11AB\u11AB\u11AE\u11AF\u11B7\u11B8\u11BA\u11BA\u11BC\u11C2\u11EB\u11EB\u11F0\u11F0\u11F9\u11F9\u1E00\u1E9B\u1EA0\u1EF9\u1F00\u1F15\u1F18\u1F1D\u1F20\u1F45\u1F48\u1F4D\u1F50\u1F57\u1F59\u1F59\u1F5B\u1F5B\u1F5D\u1F5D\u1F5F\u1F7D\u1F80\u1FB4\u1FB6\u1FBC\u1FBE\u1FBE\u1FC2\u1FC4\u1FC6\u1FCC\u1FD0\u1FD3\u1FD6\u1FDB\u1FE0\u1FEC\u1FF2\u1FF4\u1FF6\u1FFC\u20D0\u20DC\u20E1\u20E1\u2126\u2126\u212A\u212B\u212E\u212E\u2180\u2182\u3005\u3005\u3007\u3007\u3021\u302F\u3031\u3035\u3041\u3094\u3099\u309A\u309D\u309E\u30A1\u30FA\u30FC\u30FE\u3105\u312C\u4E00\u9FA5\uAC00\uD7A3"),Rr(n23,nSY,e),Rr(n24,nSY,ns4(e)),++n4c,YJ(e=new RX(4),nS0),no2(e,95,95),no2(e,58,58),Rr(n23,nSZ,e),Rr(n24,nSZ,ns4(e))),t?CY(Db(n23,n),138):CY(Db(n24,n),138)}function nlz(n){var t,e,i,r,a,c;yd(n,new nil(((((t=new c5).c=nwU,e=t).d="ELK Layered",i=e).b="Layer-based algorithm provided by the Eclipse Layout Kernel. Arranges as many edges as possible into one direction by placing nodes into subsequent layers. This implementation supports different routing styles (straight, orthogonal, splines); if orthogonal routing is selected, arbitrary port constraints are respected, thus enabling the layout of block diagrams such as actor-oriented models or circuit schematics. Furthermore, full layout of compound graphs with cross-hierarchy edges is supported when the respective option is activated on the top level.",(r=i).e=new rR,(a=r).a=nwU,(c=a).f=AN((ncw(),n0M),Vw(DY(nNo,1),nbG,245,0,[n0v,n0y,n0m,n0k,n0g,n0d])),c))),KS(n,nwU,nvY,Z4(nUg)),KS(n,nwU,nvZ,Z4(nUp)),KS(n,nwU,ngL,Z4(nUm)),KS(n,nwU,nv1,Z4(nUv)),KS(n,nwU,ng6,Z4(nUk)),KS(n,nwU,nv0,Z4(nUM)),KS(n,nwU,nv2,Z4(nUj)),KS(n,nwU,nv3,Z4(nUP)),KS(n,nwU,nv4,Z4(nUO)),KS(n,nwU,nv6,Z4(nUS)),KS(n,nwU,ng4,Z4(nUC)),KS(n,nwU,nv5,Z4(nUA)),KS(n,nwU,nv8,Z4(nUN)),KS(n,nwU,nv9,Z4(nUT)),KS(n,nwU,nm8,Z4(nUd)),KS(n,nwU,nm7,Z4(nUy)),KS(n,nwU,nm9,Z4(nUE)),KS(n,nwU,nvn,Z4(nUI)),KS(n,nwU,ng3,Qx(0)),KS(n,nwU,nvt,Z4(nUh)),KS(n,nwU,nve,Z4(nUf)),KS(n,nwU,nvi,Z4(nUl)),KS(n,nwU,nvh,Z4(nUW)),KS(n,nwU,nvf,Z4(nUB)),KS(n,nwU,nvl,Z4(nUH)),KS(n,nwU,nvb,Z4(nUq)),KS(n,nwU,nvw,Z4(nUU)),KS(n,nwU,nvd,Z4(nUG)),KS(n,nwU,nvg,Z4(nUJ)),KS(n,nwU,nvp,Z4(nUQ)),KS(n,nwU,nvm,Z4(nUz)),KS(n,nwU,nvv,Z4(nUX)),KS(n,nwU,nvy,Z4(nUV)),KS(n,nwU,nm1,Z4(nHX)),KS(n,nwU,nm0,Z4(nHz)),KS(n,nwU,nm4,Z4(nHb)),KS(n,nwU,nm6,Z4(nHw)),KS(n,nwU,npo,Z4(nUR)),KS(n,nwU,npu,Z4(nUF)),KS(n,nwU,nps,Z4(nUD)),KS(n,nwU,nph,Z4(nU$)),KS(n,nwU,npf,nUK),KS(n,nwU,ng$,nH0),KS(n,nwU,nvF,nHs),KS(n,nwU,nv7,0),KS(n,nwU,ng5,Qx(1)),KS(n,nwU,ngx,ng0),KS(n,nwU,nyn,Z4(nHZ)),KS(n,nwU,ng7,Z4(nUt)),KS(n,nwU,nyt,Z4(nUc)),KS(n,nwU,nye,Z4(nHn)),KS(n,nwU,nyi,Z4(nBR)),KS(n,nwU,nvx,Z4(nHm)),KS(n,nwU,ng8,(SB(),!0)),KS(n,nwU,nyr,Z4(nHE)),KS(n,nwU,nya,Z4(nHT)),KS(n,nwU,npr,Z4(nHW)),KS(n,nwU,npi,Z4(nHY)),KS(n,nwU,npe,Z4(nHQ)),KS(n,nwU,nyc,nHi),KS(n,nwU,npa,Z4(nHB)),KS(n,nwU,nyo,Z4(nH_)),KS(n,nwU,npc,Z4(nUr)),KS(n,nwU,nyu,Z4(nUi)),KS(n,nwU,nys,Z4(nUa)),KS(n,nwU,nyh,nH4),KS(n,nwU,nyf,Z4(nH5)),KS(n,nwU,nyl,Z4(nH8)),KS(n,nwU,nyb,Z4(nH9)),KS(n,nwU,nyw,Z4(nH6)),KS(n,nwU,nmS,Z4(nU_)),KS(n,nwU,nmC,Z4(nHD)),KS(n,nwU,nm$,Z4(nH$)),KS(n,nwU,nmj,Z4(nUx)),KS(n,nwU,nmI,Z4(nHI)),KS(n,nwU,nmO,Z4(nB7)),KS(n,nwU,nmK,Z4(nB9)),KS(n,nwU,nmF,Z4(nBY)),KS(n,nwU,nmX,Z4(nBZ)),KS(n,nwU,nmz,Z4(nB0)),KS(n,nwU,nmV,Z4(nB1)),KS(n,nwU,nmB,Z4(nB8)),KS(n,nwU,nmk,Z4(nHK)),KS(n,nwU,nmM,Z4(nHF)),KS(n,nwU,nmy,Z4(nHS)),KS(n,nwU,nmW,Z4(nHV)),KS(n,nwU,nmY,Z4(nHU)),KS(n,nwU,nmv,Z4(nHg)),KS(n,nwU,nmZ,Z4(nHq)),KS(n,nwU,nm2,Z4(nHf)),KS(n,nwU,nm3,Z4(nHl)),KS(n,nwU,nyd,Z4(nBJ)),KS(n,nwU,nmJ,Z4(nHH)),KS(n,nwU,nva,Z4(nBU)),KS(n,nwU,nvc,Z4(nBH)),KS(n,nwU,nvr,Z4(nBB)),KS(n,nwU,nvo,Z4(nHy)),KS(n,nwU,nvu,Z4(nHv)),KS(n,nwU,nvs,Z4(nHk)),KS(n,nwU,npE,Z4(nHJ)),KS(n,nwU,nyg,Z4(nHP)),KS(n,nwU,ngN,Z4(nHd)),KS(n,nwU,nyp,Z4(nHc)),KS(n,nwU,npn,Z4(nHa)),KS(n,nwU,nm_,Z4(nB2)),KS(n,nwU,nym,Z4(nUe)),KS(n,nwU,nyv,Z4(nB_)),KS(n,nwU,nyy,Z4(nHM)),KS(n,nwU,nyk,Z4(nH7)),KS(n,nwU,nyM,Z4(nH2)),KS(n,nwU,nyE,Z4(nH3)),KS(n,nwU,nmN,Z4(nHL)),KS(n,nwU,nmx,Z4(nHN)),KS(n,nwU,nyT,Z4(nUu)),KS(n,nwU,nmE,Z4(nBK)),KS(n,nwU,nmD,Z4(nHx)),KS(n,nwU,nvk,Z4(nHo)),KS(n,nwU,nvM,Z4(nHr)),KS(n,nwU,nyj,Z4(nHR)),KS(n,nwU,nmR,Z4(nHO)),KS(n,nwU,nmQ,Z4(nHG)),KS(n,nwU,nyS,Z4(nUL)),KS(n,nwU,nmm,Z4(nHe)),KS(n,nwU,nmT,Z4(nUo)),KS(n,nwU,nm5,Z4(nHh)),KS(n,nwU,nmH,Z4(nB3)),KS(n,nwU,nmU,Z4(nB4)),KS(n,nwU,nmA,Z4(nHC)),KS(n,nwU,nmG,Z4(nB6)),KS(n,nwU,nyP,Z4(nHj)),KS(n,nwU,nmL,Z4(nHA)),KS(n,nwU,nmq,Z4(nB5)),KS(n,nwU,nvE,Z4(nBQ)),KS(n,nwU,nvP,Z4(nBz)),KS(n,nwU,nvO,Z4(nBq)),KS(n,nwU,nvC,Z4(nBX)),KS(n,nwU,nvj,Z4(nBV)),KS(n,nwU,nvS,Z4(nBG)),KS(n,nwU,nvT,Z4(nBW)),KS(n,nwU,nmP,Z4(nHp))}function nlV(n){return OB("_UI_EMFDiagnostic_marker",n)?"EMF Problem":OB("_UI_CircularContainment_diagnostic",n)?"An object may not circularly contain itself":OB(nTE,n)?"Wrong character.":OB(nTT,n)?"Invalid reference number.":OB(nTj,n)?"A character is required after \\.":OB(nTS,n)?"'?' is not expected. '(?:' or '(?=' or '(?!' or '(?<' or '(?#' or '(?>'?":OB(nTP,n)?"'(?<' or '(?<!' is expected.":OB(nTO,n)?"A comment is not terminated.":OB(nTC,n)?"')' is expected.":OB(nTI,n)?"Unexpected end of the pattern in a modifier group.":OB(nTA,n)?"':' is expected.":OB(nTL,n)?"Unexpected end of the pattern in a conditional group.":OB(nTN,n)?"A back reference or an anchor or a lookahead or a look-behind is expected in a conditional pattern.":OB(nTx,n)?"There are more than three choices in a conditional group.":OB(nT$,n)?"A character in U+0040-U+005f must follow \\c.":OB(nTD,n)?"A '{' is required before a character category.":OB(nTR,n)?"A property name is not closed by '}'.":OB(nTK,n)?"Unexpected meta character.":OB(nTF,n)?"Unknown property.":OB(nT_,n)?"A POSIX character class must be closed by ':]'.":OB(nTB,n)?"Unexpected end of the pattern in a character class.":OB(nTH,n)?"Unknown name for a POSIX character class.":OB("parser.cc.4",n)?"'-' is invalid here.":OB(nTU,n)?"']' is expected.":OB(nTG,n)?"'[' is invalid in a character class. Write '\\['.":OB(nTq,n)?"']' is invalid in a character class. Write '\\]'.":OB(nTX,n)?"'-' is an invalid character range. Write '\\-'.":OB(nTz,n)?"'[' is expected.":OB(nTV,n)?"')' or '-[' or '+[' or '&[' is expected.":OB(nTW,n)?"The range end code point is less than the start code point.":OB(nTQ,n)?"Invalid Unicode hex notation.":OB(nTJ,n)?"Overflow in a hex notation.":OB(nTY,n)?"'\\x{' must be closed by '}'.":OB(nTZ,n)?"Invalid Unicode code point.":OB(nT1,n)?"An anchor must not be here.":OB(nT0,n)?"This expression is not supported in the current option setting.":OB(nT2,n)?"Invalid quantifier. A digit is expected.":OB(nT3,n)?"Invalid quantifier. Invalid quantity or a '}' is missing.":OB(nT4,n)?"Invalid quantifier. A digit or '}' is expected.":OB(nT6,n)?"Invalid quantifier. A min quantity must be <= a max quantity.":OB(nT5,n)?"Invalid quantifier. A quantity value overflow.":OB("_UI_PackageRegistry_extensionpoint",n)?"Ecore Package Registry for Generated Packages":OB("_UI_DynamicPackageRegistry_extensionpoint",n)?"Ecore Package Registry for Dynamic Packages":OB("_UI_FactoryRegistry_extensionpoint",n)?"Ecore Factory Override Registry":OB("_UI_URIExtensionParserRegistry_extensionpoint",n)?"URI Extension Parser Registry":OB("_UI_URIProtocolParserRegistry_extensionpoint",n)?"URI Protocol Parser Registry":OB("_UI_URIContentParserRegistry_extensionpoint",n)?"URI Content Parser Registry":OB("_UI_ContentHandlerRegistry_extensionpoint",n)?"Content Handler Registry":OB("_UI_URIMappingRegistry_extensionpoint",n)?"URI Converter Mapping Registry":OB("_UI_PackageRegistryImplementation_extensionpoint",n)?"Ecore Package Registry Implementation":OB("_UI_ValidationDelegateRegistry_extensionpoint",n)?"Validation Delegate Registry":OB("_UI_SettingDelegateRegistry_extensionpoint",n)?"Feature Setting Delegate Factory Registry":OB("_UI_InvocationDelegateRegistry_extensionpoint",n)?"Operation Invocation Delegate Factory Registry":OB("_UI_EClassInterfaceNotAbstract_diagnostic",n)?"A class that is an interface must also be abstract":OB("_UI_EClassNoCircularSuperTypes_diagnostic",n)?"A class may not be a super type of itself":OB("_UI_EClassNotWellFormedMapEntryNoInstanceClassName_diagnostic",n)?"A class that inherits from a map entry class must have instance class name 'java.util.Map$Entry'":OB("_UI_EReferenceOppositeOfOppositeInconsistent_diagnostic",n)?"The opposite of the opposite may not be a reference different from this one":OB("_UI_EReferenceOppositeNotFeatureOfType_diagnostic",n)?"The opposite must be a feature of the reference's type":OB("_UI_EReferenceTransientOppositeNotTransient_diagnostic",n)?"The opposite of a transient reference must be transient if it is proxy resolving":OB("_UI_EReferenceOppositeBothContainment_diagnostic",n)?"The opposite of a containment reference must not be a containment reference":OB("_UI_EReferenceConsistentUnique_diagnostic",n)?"A containment or bidirectional reference must be unique if its upper bound is different from 1":OB("_UI_ETypedElementNoType_diagnostic",n)?"The typed element must have a type":OB("_UI_EAttributeNoDataType_diagnostic",n)?"The generic attribute type must not refer to a class":OB("_UI_EReferenceNoClass_diagnostic",n)?"The generic reference type must not refer to a data type":OB("_UI_EGenericTypeNoTypeParameterAndClassifier_diagnostic",n)?"A generic type can't refer to both a type parameter and a classifier":OB("_UI_EGenericTypeNoClass_diagnostic",n)?"A generic super type must refer to a class":OB("_UI_EGenericTypeNoTypeParameterOrClassifier_diagnostic",n)?"A generic type in this context must refer to a classifier or a type parameter":OB("_UI_EGenericTypeBoundsOnlyForTypeArgument_diagnostic",n)?"A generic type may have bounds only when used as a type argument":OB("_UI_EGenericTypeNoUpperAndLowerBound_diagnostic",n)?"A generic type must not have both a lower and an upper bound":OB("_UI_EGenericTypeNoTypeParameterOrClassifierAndBound_diagnostic",n)?"A generic type with bounds must not also refer to a type parameter or classifier":OB("_UI_EGenericTypeNoArguments_diagnostic",n)?"A generic type may have arguments only if it refers to a classifier":OB("_UI_EGenericTypeOutOfScopeTypeParameter_diagnostic",n)?"A generic type may only refer to a type parameter that is in scope":n}function nlW(){nlW=T,(n3G=BJ(n4l,nEK,28,nwG,15,1))[9]=35,n3G[10]=19,n3G[13]=19,n3G[32]=51,n3G[33]=49,n3G[34]=33,LJ(n3G,35,38,49),n3G[38]=1,LJ(n3G,39,45,49),LJ(n3G,45,47,-71),n3G[47]=49,LJ(n3G,48,58,-71),n3G[58]=61,n3G[59]=49,n3G[60]=1,n3G[61]=49,n3G[62]=33,LJ(n3G,63,65,49),LJ(n3G,65,91,-3),LJ(n3G,91,93,33),n3G[93]=1,n3G[94]=33,n3G[95]=-3,n3G[96]=33,LJ(n3G,97,123,-3),LJ(n3G,123,183,33),n3G[183]=-87,LJ(n3G,184,192,33),LJ(n3G,192,215,-19),n3G[215]=33,LJ(n3G,216,247,-19),n3G[247]=33,LJ(n3G,248,306,-19),LJ(n3G,306,308,33),LJ(n3G,308,319,-19),LJ(n3G,319,321,33),LJ(n3G,321,329,-19),n3G[329]=33,LJ(n3G,330,383,-19),n3G[383]=33,LJ(n3G,384,452,-19),LJ(n3G,452,461,33),LJ(n3G,461,497,-19),LJ(n3G,497,500,33),LJ(n3G,500,502,-19),LJ(n3G,502,506,33),LJ(n3G,506,536,-19),LJ(n3G,536,592,33),LJ(n3G,592,681,-19),LJ(n3G,681,699,33),LJ(n3G,699,706,-19),LJ(n3G,706,720,33),LJ(n3G,720,722,-87),LJ(n3G,722,768,33),LJ(n3G,768,838,-87),LJ(n3G,838,864,33),LJ(n3G,864,866,-87),LJ(n3G,866,902,33),n3G[902]=-19,n3G[903]=-87,LJ(n3G,904,907,-19),n3G[907]=33,n3G[908]=-19,n3G[909]=33,LJ(n3G,910,930,-19),n3G[930]=33,LJ(n3G,931,975,-19),n3G[975]=33,LJ(n3G,976,983,-19),LJ(n3G,983,986,33),n3G[986]=-19,n3G[987]=33,n3G[988]=-19,n3G[989]=33,n3G[990]=-19,n3G[991]=33,n3G[992]=-19,n3G[993]=33,LJ(n3G,994,1012,-19),LJ(n3G,1012,1025,33),LJ(n3G,1025,1037,-19),n3G[1037]=33,LJ(n3G,1038,1104,-19),n3G[1104]=33,LJ(n3G,1105,1117,-19),n3G[1117]=33,LJ(n3G,1118,1154,-19),n3G[1154]=33,LJ(n3G,1155,1159,-87),LJ(n3G,1159,1168,33),LJ(n3G,1168,1221,-19),LJ(n3G,1221,1223,33),LJ(n3G,1223,1225,-19),LJ(n3G,1225,1227,33),LJ(n3G,1227,1229,-19),LJ(n3G,1229,1232,33),LJ(n3G,1232,1260,-19),LJ(n3G,1260,1262,33),LJ(n3G,1262,1270,-19),LJ(n3G,1270,1272,33),LJ(n3G,1272,1274,-19),LJ(n3G,1274,1329,33),LJ(n3G,1329,1367,-19),LJ(n3G,1367,1369,33),n3G[1369]=-19,LJ(n3G,1370,1377,33),LJ(n3G,1377,1415,-19),LJ(n3G,1415,1425,33),LJ(n3G,1425,1442,-87),n3G[1442]=33,LJ(n3G,1443,1466,-87),n3G[1466]=33,LJ(n3G,1467,1470,-87),n3G[1470]=33,n3G[1471]=-87,n3G[1472]=33,LJ(n3G,1473,1475,-87),n3G[1475]=33,n3G[1476]=-87,LJ(n3G,1477,1488,33),LJ(n3G,1488,1515,-19),LJ(n3G,1515,1520,33),LJ(n3G,1520,1523,-19),LJ(n3G,1523,1569,33),LJ(n3G,1569,1595,-19),LJ(n3G,1595,1600,33),n3G[1600]=-87,LJ(n3G,1601,1611,-19),LJ(n3G,1611,1619,-87),LJ(n3G,1619,1632,33),LJ(n3G,1632,1642,-87),LJ(n3G,1642,1648,33),n3G[1648]=-87,LJ(n3G,1649,1720,-19),LJ(n3G,1720,1722,33),LJ(n3G,1722,1727,-19),n3G[1727]=33,LJ(n3G,1728,1743,-19),n3G[1743]=33,LJ(n3G,1744,1748,-19),n3G[1748]=33,n3G[1749]=-19,LJ(n3G,1750,1765,-87),LJ(n3G,1765,1767,-19),LJ(n3G,1767,1769,-87),n3G[1769]=33,LJ(n3G,1770,1774,-87),LJ(n3G,1774,1776,33),LJ(n3G,1776,1786,-87),LJ(n3G,1786,2305,33),LJ(n3G,2305,2308,-87),n3G[2308]=33,LJ(n3G,2309,2362,-19),LJ(n3G,2362,2364,33),n3G[2364]=-87,n3G[2365]=-19,LJ(n3G,2366,2382,-87),LJ(n3G,2382,2385,33),LJ(n3G,2385,2389,-87),LJ(n3G,2389,2392,33),LJ(n3G,2392,2402,-19),LJ(n3G,2402,2404,-87),LJ(n3G,2404,2406,33),LJ(n3G,2406,2416,-87),LJ(n3G,2416,2433,33),LJ(n3G,2433,2436,-87),n3G[2436]=33,LJ(n3G,2437,2445,-19),LJ(n3G,2445,2447,33),LJ(n3G,2447,2449,-19),LJ(n3G,2449,2451,33),LJ(n3G,2451,2473,-19),n3G[2473]=33,LJ(n3G,2474,2481,-19),n3G[2481]=33,n3G[2482]=-19,LJ(n3G,2483,2486,33),LJ(n3G,2486,2490,-19),LJ(n3G,2490,2492,33),n3G[2492]=-87,n3G[2493]=33,LJ(n3G,2494,2501,-87),LJ(n3G,2501,2503,33),LJ(n3G,2503,2505,-87),LJ(n3G,2505,2507,33),LJ(n3G,2507,2510,-87),LJ(n3G,2510,2519,33),n3G[2519]=-87,LJ(n3G,2520,2524,33),LJ(n3G,2524,2526,-19),n3G[2526]=33,LJ(n3G,2527,2530,-19),LJ(n3G,2530,2532,-87),LJ(n3G,2532,2534,33),LJ(n3G,2534,2544,-87),LJ(n3G,2544,2546,-19),LJ(n3G,2546,2562,33),n3G[2562]=-87,LJ(n3G,2563,2565,33),LJ(n3G,2565,2571,-19),LJ(n3G,2571,2575,33),LJ(n3G,2575,2577,-19),LJ(n3G,2577,2579,33),LJ(n3G,2579,2601,-19),n3G[2601]=33,LJ(n3G,2602,2609,-19),n3G[2609]=33,LJ(n3G,2610,2612,-19),n3G[2612]=33,LJ(n3G,2613,2615,-19),n3G[2615]=33,LJ(n3G,2616,2618,-19),LJ(n3G,2618,2620,33),n3G[2620]=-87,n3G[2621]=33,LJ(n3G,2622,2627,-87),LJ(n3G,2627,2631,33),LJ(n3G,2631,2633,-87),LJ(n3G,2633,2635,33),LJ(n3G,2635,2638,-87),LJ(n3G,2638,2649,33),LJ(n3G,2649,2653,-19),n3G[2653]=33,n3G[2654]=-19,LJ(n3G,2655,2662,33),LJ(n3G,2662,2674,-87),LJ(n3G,2674,2677,-19),LJ(n3G,2677,2689,33),LJ(n3G,2689,2692,-87),n3G[2692]=33,LJ(n3G,2693,2700,-19),n3G[2700]=33,n3G[2701]=-19,n3G[2702]=33,LJ(n3G,2703,2706,-19),n3G[2706]=33,LJ(n3G,2707,2729,-19),n3G[2729]=33,LJ(n3G,2730,2737,-19),n3G[2737]=33,LJ(n3G,2738,2740,-19),n3G[2740]=33,LJ(n3G,2741,2746,-19),LJ(n3G,2746,2748,33),n3G[2748]=-87,n3G[2749]=-19,LJ(n3G,2750,2758,-87),n3G[2758]=33,LJ(n3G,2759,2762,-87),n3G[2762]=33,LJ(n3G,2763,2766,-87),LJ(n3G,2766,2784,33),n3G[2784]=-19,LJ(n3G,2785,2790,33),LJ(n3G,2790,2800,-87),LJ(n3G,2800,2817,33),LJ(n3G,2817,2820,-87),n3G[2820]=33,LJ(n3G,2821,2829,-19),LJ(n3G,2829,2831,33),LJ(n3G,2831,2833,-19),LJ(n3G,2833,2835,33),LJ(n3G,2835,2857,-19),n3G[2857]=33,LJ(n3G,2858,2865,-19),n3G[2865]=33,LJ(n3G,2866,2868,-19),LJ(n3G,2868,2870,33),LJ(n3G,2870,2874,-19),LJ(n3G,2874,2876,33),n3G[2876]=-87,n3G[2877]=-19,LJ(n3G,2878,2884,-87),LJ(n3G,2884,2887,33),LJ(n3G,2887,2889,-87),LJ(n3G,2889,2891,33),LJ(n3G,2891,2894,-87),LJ(n3G,2894,2902,33),LJ(n3G,2902,2904,-87),LJ(n3G,2904,2908,33),LJ(n3G,2908,2910,-19),n3G[2910]=33,LJ(n3G,2911,2914,-19),LJ(n3G,2914,2918,33),LJ(n3G,2918,2928,-87),LJ(n3G,2928,2946,33),LJ(n3G,2946,2948,-87),n3G[2948]=33,LJ(n3G,2949,2955,-19),LJ(n3G,2955,2958,33),LJ(n3G,2958,2961,-19),n3G[2961]=33,LJ(n3G,2962,2966,-19),LJ(n3G,2966,2969,33),LJ(n3G,2969,2971,-19),n3G[2971]=33,n3G[2972]=-19,n3G[2973]=33,LJ(n3G,2974,2976,-19),LJ(n3G,2976,2979,33),LJ(n3G,2979,2981,-19),LJ(n3G,2981,2984,33),LJ(n3G,2984,2987,-19),LJ(n3G,2987,2990,33),LJ(n3G,2990,2998,-19),n3G[2998]=33,LJ(n3G,2999,3002,-19),LJ(n3G,3002,3006,33),LJ(n3G,3006,3011,-87),LJ(n3G,3011,3014,33),LJ(n3G,3014,3017,-87),n3G[3017]=33,LJ(n3G,3018,3022,-87),LJ(n3G,3022,3031,33),n3G[3031]=-87,LJ(n3G,3032,3047,33),LJ(n3G,3047,3056,-87),LJ(n3G,3056,3073,33),LJ(n3G,3073,3076,-87),n3G[3076]=33,LJ(n3G,3077,3085,-19),n3G[3085]=33,LJ(n3G,3086,3089,-19),n3G[3089]=33,LJ(n3G,3090,3113,-19),n3G[3113]=33,LJ(n3G,3114,3124,-19),n3G[3124]=33,LJ(n3G,3125,3130,-19),LJ(n3G,3130,3134,33),LJ(n3G,3134,3141,-87),n3G[3141]=33,LJ(n3G,3142,3145,-87),n3G[3145]=33,LJ(n3G,3146,3150,-87),LJ(n3G,3150,3157,33),LJ(n3G,3157,3159,-87),LJ(n3G,3159,3168,33),LJ(n3G,3168,3170,-19),LJ(n3G,3170,3174,33),LJ(n3G,3174,3184,-87),LJ(n3G,3184,3202,33),LJ(n3G,3202,3204,-87),n3G[3204]=33,LJ(n3G,3205,3213,-19),n3G[3213]=33,LJ(n3G,3214,3217,-19),n3G[3217]=33,LJ(n3G,3218,3241,-19),n3G[3241]=33,LJ(n3G,3242,3252,-19),n3G[3252]=33,LJ(n3G,3253,3258,-19),LJ(n3G,3258,3262,33),LJ(n3G,3262,3269,-87),n3G[3269]=33,LJ(n3G,3270,3273,-87),n3G[3273]=33,LJ(n3G,3274,3278,-87),LJ(n3G,3278,3285,33),LJ(n3G,3285,3287,-87),LJ(n3G,3287,3294,33),n3G[3294]=-19,n3G[3295]=33,LJ(n3G,3296,3298,-19),LJ(n3G,3298,3302,33),LJ(n3G,3302,3312,-87),LJ(n3G,3312,3330,33),LJ(n3G,3330,3332,-87),n3G[3332]=33,LJ(n3G,3333,3341,-19),n3G[3341]=33,LJ(n3G,3342,3345,-19),n3G[3345]=33,LJ(n3G,3346,3369,-19),n3G[3369]=33,LJ(n3G,3370,3386,-19),LJ(n3G,3386,3390,33),LJ(n3G,3390,3396,-87),LJ(n3G,3396,3398,33),LJ(n3G,3398,3401,-87),n3G[3401]=33,LJ(n3G,3402,3406,-87),LJ(n3G,3406,3415,33),n3G[3415]=-87,LJ(n3G,3416,3424,33),LJ(n3G,3424,3426,-19),LJ(n3G,3426,3430,33),LJ(n3G,3430,3440,-87),LJ(n3G,3440,3585,33),LJ(n3G,3585,3631,-19),n3G[3631]=33,n3G[3632]=-19,n3G[3633]=-87,LJ(n3G,3634,3636,-19),LJ(n3G,3636,3643,-87),LJ(n3G,3643,3648,33),LJ(n3G,3648,3654,-19),LJ(n3G,3654,3663,-87),n3G[3663]=33,LJ(n3G,3664,3674,-87),LJ(n3G,3674,3713,33),LJ(n3G,3713,3715,-19),n3G[3715]=33,n3G[3716]=-19,LJ(n3G,3717,3719,33),LJ(n3G,3719,3721,-19),n3G[3721]=33,n3G[3722]=-19,LJ(n3G,3723,3725,33),n3G[3725]=-19,LJ(n3G,3726,3732,33),LJ(n3G,3732,3736,-19),n3G[3736]=33,LJ(n3G,3737,3744,-19),n3G[3744]=33,LJ(n3G,3745,3748,-19),n3G[3748]=33,n3G[3749]=-19,n3G[3750]=33,n3G[3751]=-19,LJ(n3G,3752,3754,33),LJ(n3G,3754,3756,-19),n3G[3756]=33,LJ(n3G,3757,3759,-19),n3G[3759]=33,n3G[3760]=-19,n3G[3761]=-87,LJ(n3G,3762,3764,-19),LJ(n3G,3764,3770,-87),n3G[3770]=33,LJ(n3G,3771,3773,-87),n3G[3773]=-19,LJ(n3G,3774,3776,33),LJ(n3G,3776,3781,-19),n3G[3781]=33,n3G[3782]=-87,n3G[3783]=33,LJ(n3G,3784,3790,-87),LJ(n3G,3790,3792,33),LJ(n3G,3792,3802,-87),LJ(n3G,3802,3864,33),LJ(n3G,3864,3866,-87),LJ(n3G,3866,3872,33),LJ(n3G,3872,3882,-87),LJ(n3G,3882,3893,33),n3G[3893]=-87,n3G[3894]=33,n3G[3895]=-87,n3G[3896]=33,n3G[3897]=-87,LJ(n3G,3898,3902,33),LJ(n3G,3902,3904,-87),LJ(n3G,3904,3912,-19),n3G[3912]=33,LJ(n3G,3913,3946,-19),LJ(n3G,3946,3953,33),LJ(n3G,3953,3973,-87),n3G[3973]=33,LJ(n3G,3974,3980,-87),LJ(n3G,3980,3984,33),LJ(n3G,3984,3990,-87),n3G[3990]=33,n3G[3991]=-87,n3G[3992]=33,LJ(n3G,3993,4014,-87),LJ(n3G,4014,4017,33),LJ(n3G,4017,4024,-87),n3G[4024]=33,n3G[4025]=-87,LJ(n3G,4026,4256,33),LJ(n3G,4256,4294,-19),LJ(n3G,4294,4304,33),LJ(n3G,4304,4343,-19),LJ(n3G,4343,4352,33),n3G[4352]=-19,n3G[4353]=33,LJ(n3G,4354,4356,-19),n3G[4356]=33,LJ(n3G,4357,4360,-19),n3G[4360]=33,n3G[4361]=-19,n3G[4362]=33,LJ(n3G,4363,4365,-19),n3G[4365]=33,LJ(n3G,4366,4371,-19),LJ(n3G,4371,4412,33),n3G[4412]=-19,n3G[4413]=33,n3G[4414]=-19,n3G[4415]=33,n3G[4416]=-19,LJ(n3G,4417,4428,33),n3G[4428]=-19,n3G[4429]=33,n3G[4430]=-19,n3G[4431]=33,n3G[4432]=-19,LJ(n3G,4433,4436,33),LJ(n3G,4436,4438,-19),LJ(n3G,4438,4441,33),n3G[4441]=-19,LJ(n3G,4442,4447,33),LJ(n3G,4447,4450,-19),n3G[4450]=33,n3G[4451]=-19,n3G[4452]=33,n3G[4453]=-19,n3G[4454]=33,n3G[4455]=-19,n3G[4456]=33,n3G[4457]=-19,LJ(n3G,4458,4461,33),LJ(n3G,4461,4463,-19),LJ(n3G,4463,4466,33),LJ(n3G,4466,4468,-19),n3G[4468]=33,n3G[4469]=-19,LJ(n3G,4470,4510,33),n3G[4510]=-19,LJ(n3G,4511,4520,33),n3G[4520]=-19,LJ(n3G,4521,4523,33),n3G[4523]=-19,LJ(n3G,4524,4526,33),LJ(n3G,4526,4528,-19),LJ(n3G,4528,4535,33),LJ(n3G,4535,4537,-19),n3G[4537]=33,n3G[4538]=-19,n3G[4539]=33,LJ(n3G,4540,4547,-19),LJ(n3G,4547,4587,33),n3G[4587]=-19,LJ(n3G,4588,4592,33),n3G[4592]=-19,LJ(n3G,4593,4601,33),n3G[4601]=-19,LJ(n3G,4602,7680,33),LJ(n3G,7680,7836,-19),LJ(n3G,7836,7840,33),LJ(n3G,7840,7930,-19),LJ(n3G,7930,7936,33),LJ(n3G,7936,7958,-19),LJ(n3G,7958,7960,33),LJ(n3G,7960,7966,-19),LJ(n3G,7966,7968,33),LJ(n3G,7968,8006,-19),LJ(n3G,8006,8008,33),LJ(n3G,8008,8014,-19),LJ(n3G,8014,8016,33),LJ(n3G,8016,8024,-19),n3G[8024]=33,n3G[8025]=-19,n3G[8026]=33,n3G[8027]=-19,n3G[8028]=33,n3G[8029]=-19,n3G[8030]=33,LJ(n3G,8031,8062,-19),LJ(n3G,8062,8064,33),LJ(n3G,8064,8117,-19),n3G[8117]=33,LJ(n3G,8118,8125,-19),n3G[8125]=33,n3G[8126]=-19,LJ(n3G,8127,8130,33),LJ(n3G,8130,8133,-19),n3G[8133]=33,LJ(n3G,8134,8141,-19),LJ(n3G,8141,8144,33),LJ(n3G,8144,8148,-19),LJ(n3G,8148,8150,33),LJ(n3G,8150,8156,-19),LJ(n3G,8156,8160,33),LJ(n3G,8160,8173,-19),LJ(n3G,8173,8178,33),LJ(n3G,8178,8181,-19),n3G[8181]=33,LJ(n3G,8182,8189,-19),LJ(n3G,8189,8400,33),LJ(n3G,8400,8413,-87),LJ(n3G,8413,8417,33),n3G[8417]=-87,LJ(n3G,8418,8486,33),n3G[8486]=-19,LJ(n3G,8487,8490,33),LJ(n3G,8490,8492,-19),LJ(n3G,8492,8494,33),n3G[8494]=-19,LJ(n3G,8495,8576,33),LJ(n3G,8576,8579,-19),LJ(n3G,8579,12293,33),n3G[12293]=-87,n3G[12294]=33,n3G[12295]=-19,LJ(n3G,12296,12321,33),LJ(n3G,12321,12330,-19),LJ(n3G,12330,12336,-87),n3G[12336]=33,LJ(n3G,12337,12342,-87),LJ(n3G,12342,12353,33),LJ(n3G,12353,12437,-19),LJ(n3G,12437,12441,33),LJ(n3G,12441,12443,-87),LJ(n3G,12443,12445,33),LJ(n3G,12445,12447,-87),LJ(n3G,12447,12449,33),LJ(n3G,12449,12539,-19),n3G[12539]=33,LJ(n3G,12540,12543,-87),LJ(n3G,12543,12549,33),LJ(n3G,12549,12589,-19),LJ(n3G,12589,19968,33),LJ(n3G,19968,40870,-19),LJ(n3G,40870,44032,33),LJ(n3G,44032,55204,-19),LJ(n3G,55204,nwq,33),LJ(n3G,57344,65534,33)}var nlQ,nlJ,nlY="object",nlZ="boolean",nl1="number",nl0="string",nl2="function",nl3=0x7fffffff,nl4="java.lang",nl6={3:1},nl5="com.google.common.base",nl8=", ",nl9="%s (%s) must not be negative",nl7={3:1,4:1,5:1},nbn="negative size: ",nbt="no calls to next() since the last call to remove()",nbe="Optional.of(",nbi="null",nbr={204:1,51:1},nba="com.google.common.collect",nbc={204:1,51:1,128:1},nbo={229:1,3:1},nbu={51:1},nbs="java.util",nbh={85:1},nbf={20:1,31:1,16:1},nbl={20:1,31:1,16:1,21:1},nbb={85:1,139:1,133:1},nbw={20:1,31:1,16:1,21:1,87:1},nbd={20:1,31:1,16:1,277:1,21:1,87:1},nbg={51:1,128:1},nbp={358:1,44:1},nbm="AbstractMapEntry",nbv="expectedValuesPerKey",nby={3:1,6:1,4:1,5:1},nbk=16384,nbM={159:1},nbE={41:1},nbT={202:1},nbj={l:4194303,m:4194303,h:524287},nbS={253:1,3:1,34:1},nbP="range unbounded on this side",nbO={20:1},nbC={20:1,16:1},nbI={3:1,20:1,31:1,16:1},nbA={307:1,3:1,20:1,31:1,16:1,15:1,59:1},nbL={3:1,4:1,5:1,173:1},nbN={3:1,85:1},nbx={20:1,16:1,21:1},nb$={3:1,20:1,31:1,16:1,21:1},nbD={20:1,16:1,21:1,87:1},nbR=0x1b873593,nbK=-0x3361d2af,nbF={3:1,6:1,4:1,5:1,173:1},nb_="expectedSize",nbB=1024,nbH=0x40000000,nbU="initialArraySize",nbG={3:1,6:1,4:1,9:1,5:1},nbq={20:1,31:1,56:1,16:1,15:1},nbX="arraySize",nbz={20:1,31:1,56:1,16:1,15:1,59:1},nbV={46:1},nbW={380:1},nbQ=1e-4,nbJ=-0x80000000,nbY="__noinit__",nbZ={3:1,103:1,63:1,82:1},nb1="com.google.gwt.core.client.impl",nb0="String",nb2="com.google.gwt.core.client",nb3="anonymous",nb4="fnStack",nb6="Unknown",nb5={201:1,3:1,4:1},nb8=1e3,nb9=65535,nb7="January",nwn="February",nwt="March",nwe="April",nwi="May",nwr="June",nwa="July",nwc="August",nwo="September",nwu="October",nws="November",nwh="December",nwf=1900,nwl={53:1,3:1,4:1},nwb="Before Christ",nww="Anno Domini",nwd="Sunday",nwg="Monday",nwp="Tuesday",nwm="Wednesday",nwv="Thursday",nwy="Friday",nwk="Saturday",nwM="com.google.gwt.i18n.shared",nwE="DateTimeFormat",nwT="com.google.gwt.i18n.client",nwj="DefaultDateTimeFormatInfo",nwS={3:1,4:1,34:1,206:1},nwP="com.google.gwt.json.client",nwO=4194303,nwC=1048575,nwI=524288,nwA=4194304,nwL=0x100000000000,nwN=1e9,nwx=-0x100000000000,nw$="java.io",nwD={3:1,103:1,77:1,63:1,82:1},nwR={3:1,296:1,82:1},nwK='For input string: "',nwF=1/0,nw_=-1/0,nwB=4096,nwH={3:1,4:1,376:1},nwU="org.eclipse.elk.layered",nwG=65536,nwq=55296,nwX={109:1,3:1,4:1},nwz=1e5,nwV=.3010299956639812,nwW=0xffffffff,nwQ="0.0",nwJ={44:1},nwY="Unable to add element to queue",nwZ={3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1},nw1={3:1,20:1,31:1,56:1,16:1,15:1,59:1},nw0={20:1,16:1,15:1},nw2={3:1,50:1},nw3={189:1},nw4={3:1,4:1,85:1},nw6={3:1,4:1,20:1,31:1,16:1,49:1,21:1},nw5="delete",nw8=14901161193847656e-24,nw9=11102230246251565e-32,nw7=0xece66d,ndn=5960464477539063e-23,ndt=0x1000000,nde=0xffffff,ndi=", length: ",ndr={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1},nda="subMap: ",ndc=" less than ",ndo={3:1,34:1,22:1,304:1},ndu="java.util.function",nds="java.util.logging",ndh={3:1,4:1,5:1,856:1},ndf="undefined",ndl="java.util.stream",ndb={533:1,687:1},ndw="fromIndex: ",ndd=" > toIndex: ",ndg=", toIndex: ",ndp="Index: ",ndm=", Size: ",ndv="org.eclipse.elk.alg.common",ndy={50:1},ndk="org.eclipse.elk.alg.common.compaction",ndM="Scanline/EventHandler",ndE="org.eclipse.elk.alg.common.compaction.oned",ndT="CNode belongs to another CGroup.",ndj="ISpacingsHandler/1",ndS="The ",ndP=" instance has been finished already.",ndO="The direction ",ndC=" is not supported by the CGraph instance.",ndI="OneDimensionalCompactor",ndA="OneDimensionalCompactor/lambda$0$Type",ndL="Quadruplet",ndN="ScanlineConstraintCalculator",ndx="ScanlineConstraintCalculator/ConstraintsScanlineHandler",nd$="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",ndD="ScanlineConstraintCalculator/Timestamp",ndR="ScanlineConstraintCalculator/lambda$0$Type",ndK={178:1,46:1},ndF="org.eclipse.elk.alg.common.compaction.options",nd_="org.eclipse.elk.core.data",ndB="org.eclipse.elk.polyomino.traversalStrategy",ndH="org.eclipse.elk.polyomino.lowLevelSort",ndU="org.eclipse.elk.polyomino.highLevelSort",ndG="org.eclipse.elk.polyomino.fill",ndq={134:1},ndX="polyomino",ndz="org.eclipse.elk.alg.common.networksimplex",ndV={183:1,3:1,4:1},ndW="org.eclipse.elk.alg.common.nodespacing",ndQ="org.eclipse.elk.alg.common.nodespacing.cellsystem",ndJ="CENTER",ndY={217:1,336:1},ndZ={3:1,4:1,5:1,603:1},nd1="LEFT",nd0="RIGHT",nd2="Vertical alignment cannot be null",nd3="BOTTOM",nd4="org.eclipse.elk.alg.common.nodespacing.internal",nd6="UNDEFINED",nd5=.01,nd8="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",nd9="LabelPlacer/lambda$0$Type",nd7="LabelPlacer/lambda$1$Type",ngn="portRatioOrPosition",ngt="org.eclipse.elk.alg.common.overlaps",nge="DOWN",ngi="org.eclipse.elk.alg.common.polyomino",ngr="NORTH",nga="EAST",ngc="SOUTH",ngo="WEST",ngu="org.eclipse.elk.alg.common.polyomino.structures",ngs="Direction",ngh="Grid is only of size ",ngf=". Requested point (",ngl=") is out of bounds.",ngb=" Given center based coordinates were (",ngw="org.eclipse.elk.graph.properties",ngd="IPropertyHolder",ngg={3:1,96:1,137:1},ngp="org.eclipse.elk.alg.common.spore",ngm="org.eclipse.elk.alg.common.utils",ngv={205:1},ngy="org.eclipse.elk.core",ngk="Connected Components Compaction",ngM="org.eclipse.elk.alg.disco",ngE="org.eclipse.elk.alg.disco.graph",ngT="org.eclipse.elk.alg.disco.options",ngj="CompactionStrategy",ngS="org.eclipse.elk.disco.componentCompaction.strategy",ngP="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",ngO="org.eclipse.elk.disco.debug.discoGraph",ngC="org.eclipse.elk.disco.debug.discoPolys",ngI="componentCompaction",ngA="org.eclipse.elk.disco",ngL="org.eclipse.elk.spacing.componentComponent",ngN="org.eclipse.elk.edge.thickness",ngx="org.eclipse.elk.aspectRatio",ng$="org.eclipse.elk.padding",ngD="org.eclipse.elk.alg.disco.transform",ngR=1.5707963267948966,ngK=17976931348623157e292,ngF={3:1,4:1,5:1,198:1},ng_={3:1,6:1,4:1,5:1,100:1,115:1},ngB="org.eclipse.elk.alg.force",ngH="ComponentsProcessor",ngU="ComponentsProcessor/1",ngG="ElkGraphImporter/lambda$0$Type",ngq="org.eclipse.elk.alg.force.graph",ngX="Component Layout",ngz="org.eclipse.elk.alg.force.model",ngV="org.eclipse.elk.force.model",ngW="org.eclipse.elk.force.iterations",ngQ="org.eclipse.elk.force.repulsivePower",ngJ="org.eclipse.elk.force.temperature",ngY=.001,ngZ="org.eclipse.elk.force.repulsion",ng1="org.eclipse.elk.alg.force.options",ng0=1.600000023841858,ng2="org.eclipse.elk.force",ng3="org.eclipse.elk.priority",ng4="org.eclipse.elk.spacing.nodeNode",ng6="org.eclipse.elk.spacing.edgeLabel",ng5="org.eclipse.elk.randomSeed",ng8="org.eclipse.elk.separateConnectedComponents",ng9="org.eclipse.elk.interactive",ng7="org.eclipse.elk.portConstraints",npn="org.eclipse.elk.edgeLabels.inline",npt="org.eclipse.elk.omitNodeMicroLayout",npe="org.eclipse.elk.nodeSize.fixedGraphSize",npi="org.eclipse.elk.nodeSize.options",npr="org.eclipse.elk.nodeSize.constraints",npa="org.eclipse.elk.nodeLabels.placement",npc="org.eclipse.elk.portLabels.placement",npo="org.eclipse.elk.topdownLayout",npu="org.eclipse.elk.topdown.scaleFactor",nps="org.eclipse.elk.topdown.hierarchicalNodeWidth",nph="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",npf="org.eclipse.elk.topdown.nodeType",npl="origin",npb="random",npw="boundingBox.upLeft",npd="boundingBox.lowRight",npg="org.eclipse.elk.stress.fixed",npp="org.eclipse.elk.stress.desiredEdgeLength",npm="org.eclipse.elk.stress.dimension",npv="org.eclipse.elk.stress.epsilon",npy="org.eclipse.elk.stress.iterationLimit",npk="org.eclipse.elk.stress",npM="ELK Stress",npE="org.eclipse.elk.nodeSize.minimum",npT="org.eclipse.elk.alg.force.stress",npj="Layered layout",npS="org.eclipse.elk.alg.layered",npP="org.eclipse.elk.alg.layered.compaction.components",npO="org.eclipse.elk.alg.layered.compaction.oned",npC="org.eclipse.elk.alg.layered.compaction.oned.algs",npI="org.eclipse.elk.alg.layered.compaction.recthull",npA="org.eclipse.elk.alg.layered.components",npL="NONE",npN="MODEL_ORDER",npx={3:1,6:1,4:1,9:1,5:1,126:1},np$={3:1,6:1,4:1,5:1,150:1,100:1,115:1},npD="org.eclipse.elk.alg.layered.compound",npR={47:1},npK="org.eclipse.elk.alg.layered.graph",npF=" -> ",np_="Not supported by LGraph",npB="Port side is undefined",npH={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},npU={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},npG={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},npq="([{\"' \r\n",npX=")]}\"' \r\n",npz="The given string contains parts that cannot be parsed as numbers.",npV="org.eclipse.elk.core.math",npW={3:1,4:1,140:1,214:1,423:1},npQ={3:1,4:1,107:1,214:1,423:1},npJ="org.eclipse.elk.alg.layered.graph.transform",npY="ElkGraphImporter",npZ="ElkGraphImporter/lambda$1$Type",np1="ElkGraphImporter/lambda$2$Type",np0="ElkGraphImporter/lambda$4$Type",np2="org.eclipse.elk.alg.layered.intermediate",np3="Node margin calculation",np4="ONE_SIDED_GREEDY_SWITCH",np6="TWO_SIDED_GREEDY_SWITCH",np5="No implementation is available for the layout processor ",np8="IntermediateProcessorStrategy",np9="Node '",np7="FIRST_SEPARATE",nmn="LAST_SEPARATE",nmt="Odd port side processing",nme="org.eclipse.elk.alg.layered.intermediate.compaction",nmi="org.eclipse.elk.alg.layered.intermediate.greedyswitch",nmr="org.eclipse.elk.alg.layered.p3order.counting",nma={230:1},nmc="org.eclipse.elk.alg.layered.intermediate.loops",nmo="org.eclipse.elk.alg.layered.intermediate.loops.ordering",nmu="org.eclipse.elk.alg.layered.intermediate.loops.routing",nms="org.eclipse.elk.alg.layered.intermediate.preserveorder",nmh="org.eclipse.elk.alg.layered.intermediate.wrapping",nmf="org.eclipse.elk.alg.layered.options",nml="INTERACTIVE",nmb="GREEDY",nmw="DEPTH_FIRST",nmd="EDGE_LENGTH",nmg="SELF_LOOPS",nmp="firstTryWithInitialOrder",nmm="org.eclipse.elk.layered.directionCongruency",nmv="org.eclipse.elk.layered.feedbackEdges",nmy="org.eclipse.elk.layered.interactiveReferencePoint",nmk="org.eclipse.elk.layered.mergeEdges",nmM="org.eclipse.elk.layered.mergeHierarchyEdges",nmE="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",nmT="org.eclipse.elk.layered.portSortingStrategy",nmj="org.eclipse.elk.layered.thoroughness",nmS="org.eclipse.elk.layered.unnecessaryBendpoints",nmP="org.eclipse.elk.layered.generatePositionAndLayerIds",nmO="org.eclipse.elk.layered.cycleBreaking.strategy",nmC="org.eclipse.elk.layered.layering.strategy",nmI="org.eclipse.elk.layered.layering.layerConstraint",nmA="org.eclipse.elk.layered.layering.layerChoiceConstraint",nmL="org.eclipse.elk.layered.layering.layerId",nmN="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",nmx="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",nm$="org.eclipse.elk.layered.layering.nodePromotion.strategy",nmD="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",nmR="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",nmK="org.eclipse.elk.layered.crossingMinimization.strategy",nmF="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",nm_="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",nmB="org.eclipse.elk.layered.crossingMinimization.semiInteractive",nmH="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",nmU="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",nmG="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",nmq="org.eclipse.elk.layered.crossingMinimization.positionId",nmX="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",nmz="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",nmV="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",nmW="org.eclipse.elk.layered.nodePlacement.strategy",nmQ="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",nmJ="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",nmY="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",nmZ="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",nm1="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",nm0="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",nm2="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",nm3="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",nm4="org.eclipse.elk.layered.edgeRouting.splines.mode",nm6="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",nm5="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",nm8="org.eclipse.elk.layered.spacing.baseValue",nm9="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",nm7="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",nvn="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",nvt="org.eclipse.elk.layered.priority.direction",nve="org.eclipse.elk.layered.priority.shortness",nvi="org.eclipse.elk.layered.priority.straightness",nvr="org.eclipse.elk.layered.compaction.connectedComponents",nva="org.eclipse.elk.layered.compaction.postCompaction.strategy",nvc="org.eclipse.elk.layered.compaction.postCompaction.constraints",nvo="org.eclipse.elk.layered.highDegreeNodes.treatment",nvu="org.eclipse.elk.layered.highDegreeNodes.threshold",nvs="org.eclipse.elk.layered.highDegreeNodes.treeHeight",nvh="org.eclipse.elk.layered.wrapping.strategy",nvf="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",nvl="org.eclipse.elk.layered.wrapping.correctionFactor",nvb="org.eclipse.elk.layered.wrapping.cutting.strategy",nvw="org.eclipse.elk.layered.wrapping.cutting.cuts",nvd="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",nvg="org.eclipse.elk.layered.wrapping.validify.strategy",nvp="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",nvm="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",nvv="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",nvy="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",nvk="org.eclipse.elk.layered.edgeLabels.sideSelection",nvM="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",nvE="org.eclipse.elk.layered.considerModelOrder.strategy",nvT="org.eclipse.elk.layered.considerModelOrder.portModelOrder",nvj="org.eclipse.elk.layered.considerModelOrder.noModelOrder",nvS="org.eclipse.elk.layered.considerModelOrder.components",nvP="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",nvO="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",nvC="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",nvI="layering",nvA="layering.minWidth",nvL="layering.nodePromotion",nvN="crossingMinimization",nvx="org.eclipse.elk.hierarchyHandling",nv$="crossingMinimization.greedySwitch",nvD="nodePlacement",nvR="nodePlacement.bk",nvK="edgeRouting",nvF="org.eclipse.elk.edgeRouting",nv_="spacing",nvB="priority",nvH="compaction",nvU="compaction.postCompaction",nvG="Specifies whether and how post-process compaction is applied.",nvq="highDegreeNodes",nvX="wrapping",nvz="wrapping.cutting",nvV="wrapping.validify",nvW="wrapping.multiEdge",nvQ="edgeLabels",nvJ="considerModelOrder",nvY="org.eclipse.elk.spacing.commentComment",nvZ="org.eclipse.elk.spacing.commentNode",nv1="org.eclipse.elk.spacing.edgeEdge",nv0="org.eclipse.elk.spacing.edgeNode",nv2="org.eclipse.elk.spacing.labelLabel",nv3="org.eclipse.elk.spacing.labelPortHorizontal",nv4="org.eclipse.elk.spacing.labelPortVertical",nv6="org.eclipse.elk.spacing.labelNode",nv5="org.eclipse.elk.spacing.nodeSelfLoop",nv8="org.eclipse.elk.spacing.portPort",nv9="org.eclipse.elk.spacing.individual",nv7="org.eclipse.elk.port.borderOffset",nyn="org.eclipse.elk.noLayout",nyt="org.eclipse.elk.port.side",nye="org.eclipse.elk.debugMode",nyi="org.eclipse.elk.alignment",nyr="org.eclipse.elk.insideSelfLoops.activate",nya="org.eclipse.elk.insideSelfLoops.yo",nyc="org.eclipse.elk.direction",nyo="org.eclipse.elk.nodeLabels.padding",nyu="org.eclipse.elk.portLabels.nextToPortIfPossible",nys="org.eclipse.elk.portLabels.treatAsGroup",nyh="org.eclipse.elk.portAlignment.default",nyf="org.eclipse.elk.portAlignment.north",nyl="org.eclipse.elk.portAlignment.south",nyb="org.eclipse.elk.portAlignment.west",nyw="org.eclipse.elk.portAlignment.east",nyd="org.eclipse.elk.contentAlignment",nyg="org.eclipse.elk.junctionPoints",nyp="org.eclipse.elk.edgeLabels.placement",nym="org.eclipse.elk.port.index",nyv="org.eclipse.elk.commentBox",nyy="org.eclipse.elk.hypernode",nyk="org.eclipse.elk.port.anchor",nyM="org.eclipse.elk.partitioning.activate",nyE="org.eclipse.elk.partitioning.partition",nyT="org.eclipse.elk.position",nyj="org.eclipse.elk.margins",nyS="org.eclipse.elk.spacing.portsSurrounding",nyP="org.eclipse.elk.interactiveLayout",nyO="org.eclipse.elk.core.util",nyC={3:1,4:1,5:1,601:1},nyI="NETWORK_SIMPLEX",nyA="SIMPLE",nyL={106:1,47:1},nyN="org.eclipse.elk.alg.layered.p1cycles",nyx="org.eclipse.elk.alg.layered.p2layers",ny$={413:1,230:1},nyD={846:1,3:1,4:1},nyR="org.eclipse.elk.alg.layered.p3order",nyK="org.eclipse.elk.alg.layered.p4nodes",nyF={3:1,4:1,5:1,854:1},ny_=1e-5,nyB="org.eclipse.elk.alg.layered.p4nodes.bk",nyH="org.eclipse.elk.alg.layered.p5edges",nyU="org.eclipse.elk.alg.layered.p5edges.orthogonal",nyG="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",nyq=1e-6,nyX="org.eclipse.elk.alg.layered.p5edges.splines",nyz=.09999999999999998,nyV=1e-8,nyW=4.71238898038469,nyQ=3.141592653589793,nyJ="org.eclipse.elk.alg.mrtree",nyY="SUPER_ROOT",nyZ="org.eclipse.elk.alg.mrtree.graph",ny1=-17976931348623157e292,ny0="org.eclipse.elk.alg.mrtree.intermediate",ny2="Processor compute fanout",ny3={3:1,6:1,4:1,5:1,534:1,100:1,115:1},ny4="Set neighbors in level",ny6="org.eclipse.elk.alg.mrtree.options",ny5="DESCENDANTS",ny8="org.eclipse.elk.mrtree.compaction",ny9="org.eclipse.elk.mrtree.edgeEndTextureLength",ny7="org.eclipse.elk.mrtree.treeLevel",nkn="org.eclipse.elk.mrtree.positionConstraint",nkt="org.eclipse.elk.mrtree.weighting",nke="org.eclipse.elk.mrtree.edgeRoutingMode",nki="org.eclipse.elk.mrtree.searchOrder",nkr="Position Constraint",nka="org.eclipse.elk.mrtree",nkc="org.eclipse.elk.tree",nko="Processor arrange level",nku="org.eclipse.elk.alg.mrtree.p2order",nks="org.eclipse.elk.alg.mrtree.p4route",nkh="org.eclipse.elk.alg.radial",nkf=6.283185307179586,nkl="Before",nkb=5e-324,nkw="After",nkd="org.eclipse.elk.alg.radial.intermediate",nkg="COMPACTION",nkp="org.eclipse.elk.alg.radial.intermediate.compaction",nkm={3:1,4:1,5:1,100:1},nkv="org.eclipse.elk.alg.radial.intermediate.optimization",nky="No implementation is available for the layout option ",nkk="org.eclipse.elk.alg.radial.options",nkM="org.eclipse.elk.radial.centerOnRoot",nkE="org.eclipse.elk.radial.orderId",nkT="org.eclipse.elk.radial.radius",nkj="org.eclipse.elk.radial.rotate",nkS="org.eclipse.elk.radial.compactor",nkP="org.eclipse.elk.radial.compactionStepSize",nkO="org.eclipse.elk.radial.sorter",nkC="org.eclipse.elk.radial.wedgeCriteria",nkI="org.eclipse.elk.radial.optimizationCriteria",nkA="org.eclipse.elk.radial.rotation.targetAngle",nkL="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",nkN="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",nkx="Compaction",nk$="rotation",nkD="org.eclipse.elk.radial",nkR="org.eclipse.elk.alg.radial.p1position.wedge",nkK="org.eclipse.elk.alg.radial.sorting",nkF=5.497787143782138,nk_=3.9269908169872414,nkB=2.356194490192345,nkH="org.eclipse.elk.alg.rectpacking",nkU="org.eclipse.elk.alg.rectpacking.intermediate",nkG="org.eclipse.elk.alg.rectpacking.options",nkq="org.eclipse.elk.rectpacking.trybox",nkX="org.eclipse.elk.rectpacking.currentPosition",nkz="org.eclipse.elk.rectpacking.desiredPosition",nkV="org.eclipse.elk.rectpacking.inNewRow",nkW="org.eclipse.elk.rectpacking.widthApproximation.strategy",nkQ="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",nkJ="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",nkY="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",nkZ="org.eclipse.elk.rectpacking.packing.strategy",nk1="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",nk0="org.eclipse.elk.rectpacking.packing.compaction.iterations",nk2="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",nk3="widthApproximation",nk4="Compaction Strategy",nk6="packing.compaction",nk5="org.eclipse.elk.rectpacking",nk8="org.eclipse.elk.alg.rectpacking.p1widthapproximation",nk9="org.eclipse.elk.alg.rectpacking.p2packing",nk7="No Compaction",nMn="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",nMt="org.eclipse.elk.alg.rectpacking.util",nMe="No implementation available for ",nMi="org.eclipse.elk.alg.spore",nMr="org.eclipse.elk.alg.spore.options",nMa="org.eclipse.elk.sporeCompaction",nMc="org.eclipse.elk.underlyingLayoutAlgorithm",nMo="org.eclipse.elk.processingOrder.treeConstruction",nMu="org.eclipse.elk.processingOrder.spanningTreeCostFunction",nMs="org.eclipse.elk.processingOrder.preferredRoot",nMh="org.eclipse.elk.processingOrder.rootSelection",nMf="org.eclipse.elk.structure.structureExtractionStrategy",nMl="org.eclipse.elk.compaction.compactionStrategy",nMb="org.eclipse.elk.compaction.orthogonal",nMw="org.eclipse.elk.overlapRemoval.maxIterations",nMd="org.eclipse.elk.overlapRemoval.runScanline",nMg="processingOrder",nMp="overlapRemoval",nMm="org.eclipse.elk.sporeOverlap",nMv="org.eclipse.elk.alg.spore.p1structure",nMy="org.eclipse.elk.alg.spore.p2processingorder",nMk="org.eclipse.elk.alg.spore.p3execution",nMM="Topdown Layout",nME="Invalid index: ",nMT="org.eclipse.elk.core.alg",nMj={341:1},nMS={295:1},nMP="Make sure its type is registered with the ",nMO=" utility class.",nMC="true",nMI="false",nMA="Couldn't clone property '",nML=.05,nMN="org.eclipse.elk.core.options",nMx=1.2999999523162842,nM$="org.eclipse.elk.box",nMD="org.eclipse.elk.expandNodes",nMR="org.eclipse.elk.box.packingMode",nMK="org.eclipse.elk.algorithm",nMF="org.eclipse.elk.resolvedAlgorithm",nM_="org.eclipse.elk.bendPoints",nMB="org.eclipse.elk.labelManager",nMH="org.eclipse.elk.scaleFactor",nMU="org.eclipse.elk.childAreaWidth",nMG="org.eclipse.elk.childAreaHeight",nMq="org.eclipse.elk.animate",nMX="org.eclipse.elk.animTimeFactor",nMz="org.eclipse.elk.layoutAncestors",nMV="org.eclipse.elk.maxAnimTime",nMW="org.eclipse.elk.minAnimTime",nMQ="org.eclipse.elk.progressBar",nMJ="org.eclipse.elk.validateGraph",nMY="org.eclipse.elk.validateOptions",nMZ="org.eclipse.elk.zoomToFit",nM1="org.eclipse.elk.font.name",nM0="org.eclipse.elk.font.size",nM2="org.eclipse.elk.topdown.sizeApproximator",nM3="org.eclipse.elk.topdown.scaleCap",nM4="org.eclipse.elk.edge.type",nM6="partitioning",nM5="nodeLabels",nM8="portAlignment",nM9="nodeSize",nM7="port",nEn="portLabels",nEt="topdown",nEe="insideSelfLoops",nEi="org.eclipse.elk.fixed",nEr="org.eclipse.elk.random",nEa={3:1,34:1,22:1,347:1},nEc="port must have a parent node to calculate the port side",nEo="The edge needs to have exactly one edge section. Found: ",nEu="org.eclipse.elk.core.util.adapters",nEs="org.eclipse.emf.ecore",nEh="org.eclipse.elk.graph",nEf="EMapPropertyHolder",nEl="ElkBendPoint",nEb="ElkGraphElement",nEw="ElkConnectableShape",nEd="ElkEdge",nEg="ElkEdgeSection",nEp="EModelElement",nEm="ENamedElement",nEv="ElkLabel",nEy="ElkNode",nEk="ElkPort",nEM={94:1,93:1},nEE="org.eclipse.emf.common.notify.impl",nET="The feature '",nEj="' is not a valid changeable feature",nES="Expecting null",nEP="' is not a valid feature",nEO="The feature ID",nEC=" is not a valid feature ID",nEI=32768,nEA={110:1,94:1,93:1,58:1,54:1,99:1},nEL="org.eclipse.emf.ecore.impl",nEN="org.eclipse.elk.graph.impl",nEx="Recursive containment not allowed for ",nE$="The datatype '",nED="' is not a valid classifier",nER="The value '",nEK={195:1,3:1,4:1},nEF="The class '",nE_="http://www.eclipse.org/elk/ElkGraph",nEB="property",nEH="value",nEU="source",nEG="properties",nEq="identifier",nEX="height",nEz="width",nEV="parent",nEW="text",nEQ="children",nEJ="hierarchical",nEY="sources",nEZ="targets",nE1="sections",nE0="bendPoints",nE2="outgoingShape",nE3="incomingShape",nE4="outgoingSections",nE6="incomingSections",nE5="org.eclipse.emf.common.util",nE8="Severe implementation error in the Json to ElkGraph importer.",nE9="id",nE7="org.eclipse.elk.graph.json",nTn="Unhandled parameter types: ",nTt="startPoint",nTe="An edge must have at least one source and one target (edge id: '",nTi="').",nTr="Referenced edge section does not exist: ",nTa=" (edge id: '",nTc="target",nTo="sourcePoint",nTu="targetPoint",nTs="group",nTh="name",nTf="connectableShape cannot be null",nTl="edge cannot be null",nTb="Passed edge is not 'simple'.",nTw="org.eclipse.elk.graph.util",nTd="The 'no duplicates' constraint is violated",nTg="targetIndex=",nTp=", size=",nTm="sourceIndex=",nTv={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},nTy={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},nTk="logging",nTM="measureExecutionTime",nTE="parser.parse.1",nTT="parser.parse.2",nTj="parser.next.1",nTS="parser.next.2",nTP="parser.next.3",nTO="parser.next.4",nTC="parser.factor.1",nTI="parser.factor.2",nTA="parser.factor.3",nTL="parser.factor.4",nTN="parser.factor.5",nTx="parser.factor.6",nT$="parser.atom.1",nTD="parser.atom.2",nTR="parser.atom.3",nTK="parser.atom.4",nTF="parser.atom.5",nT_="parser.cc.1",nTB="parser.cc.2",nTH="parser.cc.3",nTU="parser.cc.5",nTG="parser.cc.6",nTq="parser.cc.7",nTX="parser.cc.8",nTz="parser.ope.1",nTV="parser.ope.2",nTW="parser.ope.3",nTQ="parser.descape.1",nTJ="parser.descape.2",nTY="parser.descape.3",nTZ="parser.descape.4",nT1="parser.descape.5",nT0="parser.process.1",nT2="parser.quantifier.1",nT3="parser.quantifier.2",nT4="parser.quantifier.3",nT6="parser.quantifier.4",nT5="parser.quantifier.5",nT8="org.eclipse.emf.common.notify",nT9={424:1,686:1},nT7={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},njn={378:1,152:1},njt="index=",nje={3:1,4:1,5:1,129:1},nji={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},njr={3:1,6:1,4:1,5:1,198:1},nja={3:1,4:1,5:1,173:1,379:1},njc=";/?:@&=+$,",njo="invalid authority: ",nju="EAnnotation",njs="ETypedElement",njh="EStructuralFeature",njf="EAttribute",njl="EClassifier",njb="EEnumLiteral",njw="EGenericType",njd="EOperation",njg="EParameter",njp="EReference",njm="ETypeParameter",njv="org.eclipse.emf.ecore.util",njy={79:1},njk={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},njM="org.eclipse.emf.ecore.util.FeatureMap$Entry",njE=8192,njT=2048,njj="byte",njS="char",njP="double",njO="float",njC="int",njI="long",njA="short",njL="java.lang.Object",njN={3:1,4:1,5:1,254:1},njx={3:1,4:1,5:1,688:1},nj$={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},njD={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},njR="mixed",njK="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",njF="kind",nj_={3:1,4:1,5:1,689:1},njB={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},njH={20:1,31:1,56:1,16:1,15:1,61:1,71:1},njU={51:1,128:1,287:1},njG={76:1,343:1},njq="The value of type '",njX="' must be of type '",njz="http://www.eclipse.org/emf/2002/Ecore",njV="constraints",njW="baseType",njQ="getEStructuralFeature",njJ="getFeatureID",njY="feature",njZ="getOperationID",nj1="operation",nj0="defaultValue",nj2="eTypeParameters",nj3="isInstance",nj4="getEEnumLiteral",nj6="eContainingClass",nj5={57:1},nj8={3:1,4:1,5:1,124:1},nj9="org.eclipse.emf.ecore.resource",nj7={94:1,93:1,599:1,2034:1},nSn="org.eclipse.emf.ecore.resource.impl",nSt="unspecified",nSe="simple",nSi="attribute",nSr="attributeWildcard",nSa="element",nSc="elementWildcard",nSo="collapse",nSu="itemType",nSs="namespace",nSh="##targetNamespace",nSf="whiteSpace",nSl="wildcards",nSb="http://www.eclipse.org/emf/2003/XMLType",nSw="##any",nSd="uninitialized",nSg="The multiplicity constraint is violated",nSp="org.eclipse.emf.ecore.xml.type",nSm="ProcessingInstruction",nSv="SimpleAnyType",nSy="XMLTypeDocumentRoot",nSk="org.eclipse.emf.ecore.xml.type.impl",nSM="processing",nSE="ENTITIES_._base",nST="minLength",nSj="ENTITY",nSS="NCName",nSP="IDREFS_._base",nSO="integer",nSC="token",nSI="pattern",nSA="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",nSL="\\i\\c*",nSN="[\\i-[:]][\\c-[:]]*",nSx="nonPositiveInteger",nS$="maxInclusive",nSD="NMTOKEN",nSR="NMTOKENS_._base",nSK="nonNegativeInteger",nSF="minInclusive",nS_="normalizedString",nSB="unsignedByte",nSH="unsignedInt",nSU="18446744073709551615",nSG="unsignedShort",nSq="processingInstruction",nSX="org.eclipse.emf.ecore.xml.type.internal",nSz=1114111,nSV="Internal Error: shorthands: \\u",nSW="xml:isDigit",nSQ="xml:isWord",nSJ="xml:isSpace",nSY="xml:isNameChar",nSZ="xml:isInitialNameChar",nS1="09\u0660\u0669\u06F0\u06F9\u0966\u096F\u09E6\u09EF\u0A66\u0A6F\u0AE6\u0AEF\u0B66\u0B6F\u0BE7\u0BEF\u0C66\u0C6F\u0CE6\u0CEF\u0D66\u0D6F\u0E50\u0E59\u0ED0\u0ED9\u0F20\u0F29",nS0="AZaz\xc0\xd6\xd8\xf6\xf8\u0131\u0134\u013E\u0141\u0148\u014A\u017E\u0180\u01C3\u01CD\u01F0\u01F4\u01F5\u01FA\u0217\u0250\u02A8\u02BB\u02C1\u0386\u0386\u0388\u038A\u038C\u038C\u038E\u03A1\u03A3\u03CE\u03D0\u03D6\u03DA\u03DA\u03DC\u03DC\u03DE\u03DE\u03E0\u03E0\u03E2\u03F3\u0401\u040C\u040E\u044F\u0451\u045C\u045E\u0481\u0490\u04C4\u04C7\u04C8\u04CB\u04CC\u04D0\u04EB\u04EE\u04F5\u04F8\u04F9\u0531\u0556\u0559\u0559\u0561\u0586\u05D0\u05EA\u05F0\u05F2\u0621\u063A\u0641\u064A\u0671\u06B7\u06BA\u06BE\u06C0\u06CE\u06D0\u06D3\u06D5\u06D5\u06E5\u06E6\u0905\u0939\u093D\u093D\u0958\u0961\u0985\u098C\u098F\u0990\u0993\u09A8\u09AA\u09B0\u09B2\u09B2\u09B6\u09B9\u09DC\u09DD\u09DF\u09E1\u09F0\u09F1\u0A05\u0A0A\u0A0F\u0A10\u0A13\u0A28\u0A2A\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59\u0A5C\u0A5E\u0A5E\u0A72\u0A74\u0A85\u0A8B\u0A8D\u0A8D\u0A8F\u0A91\u0A93\u0AA8\u0AAA\u0AB0\u0AB2\u0AB3\u0AB5\u0AB9\u0ABD\u0ABD\u0AE0\u0AE0\u0B05\u0B0C\u0B0F\u0B10\u0B13\u0B28\u0B2A\u0B30\u0B32\u0B33\u0B36\u0B39\u0B3D\u0B3D\u0B5C\u0B5D\u0B5F\u0B61\u0B85\u0B8A\u0B8E\u0B90\u0B92\u0B95\u0B99\u0B9A\u0B9C\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8\u0BAA\u0BAE\u0BB5\u0BB7\u0BB9\u0C05\u0C0C\u0C0E\u0C10\u0C12\u0C28\u0C2A\u0C33\u0C35\u0C39\u0C60\u0C61\u0C85\u0C8C\u0C8E\u0C90\u0C92\u0CA8\u0CAA\u0CB3\u0CB5\u0CB9\u0CDE\u0CDE\u0CE0\u0CE1\u0D05\u0D0C\u0D0E\u0D10\u0D12\u0D28\u0D2A\u0D39\u0D60\u0D61\u0E01\u0E2E\u0E30\u0E30\u0E32\u0E33\u0E40\u0E45\u0E81\u0E82\u0E84\u0E84\u0E87\u0E88\u0E8A\u0E8A\u0E8D\u0E8D\u0E94\u0E97\u0E99\u0E9F\u0EA1\u0EA3\u0EA5\u0EA5\u0EA7\u0EA7\u0EAA\u0EAB\u0EAD\u0EAE\u0EB0\u0EB0\u0EB2\u0EB3\u0EBD\u0EBD\u0EC0\u0EC4\u0F40\u0F47\u0F49\u0F69\u10A0\u10C5\u10D0\u10F6\u1100\u1100\u1102\u1103\u1105\u1107\u1109\u1109\u110B\u110C\u110E\u1112\u113C\u113C\u113E\u113E\u1140\u1140\u114C\u114C\u114E\u114E\u1150\u1150\u1154\u1155\u1159\u1159\u115F\u1161\u1163\u1163\u1165\u1165\u1167\u1167\u1169\u1169\u116D\u116E\u1172\u1173\u1175\u1175\u119E\u119E\u11A8\u11A8\u11AB\u11AB\u11AE\u11AF\u11B7\u11B8\u11BA\u11BA\u11BC\u11C2\u11EB\u11EB\u11F0\u11F0\u11F9\u11F9\u1E00\u1E9B\u1EA0\u1EF9\u1F00\u1F15\u1F18\u1F1D\u1F20\u1F45\u1F48\u1F4D\u1F50\u1F57\u1F59\u1F59\u1F5B\u1F5B\u1F5D\u1F5D\u1F5F\u1F7D\u1F80\u1FB4\u1FB6\u1FBC\u1FBE\u1FBE\u1FC2\u1FC4\u1FC6\u1FCC\u1FD0\u1FD3\u1FD6\u1FDB\u1FE0\u1FEC\u1FF2\u1FF4\u1FF6\u1FFC\u2126\u2126\u212A\u212B\u212E\u212E\u2180\u2182\u3007\u3007\u3021\u3029\u3041\u3094\u30A1\u30FA\u3105\u312C\u4E00\u9FA5\uAC00\uD7A3",nS2="Private Use",nS3="ASSIGNED",nS4="\0\x7f\x80\xff\u0100\u017F\u0180\u024F\u0250\u02AF\u02B0\u02FF\u0300\u036F\u0370\u03FF\u0400\u04FF\u0530\u058F\u0590\u05FF\u0600\u06FF\u0700\u074F\u0780\u07BF\u0900\u097F\u0980\u09FF\u0A00\u0A7F\u0A80\u0AFF\u0B00\u0B7F\u0B80\u0BFF\u0C00\u0C7F\u0C80\u0CFF\u0D00\u0D7F\u0D80\u0DFF\u0E00\u0E7F\u0E80\u0EFF\u0F00\u0FFF\u1000\u109F\u10A0\u10FF\u1100\u11FF\u1200\u137F\u13A0\u13FF\u1400\u167F\u1680\u169F\u16A0\u16FF\u1780\u17FF\u1800\u18AF\u1E00\u1EFF\u1F00\u1FFF\u2000\u206F\u2070\u209F\u20A0\u20CF\u20D0\u20FF\u2100\u214F\u2150\u218F\u2190\u21FF\u2200\u22FF\u2300\u23FF\u2400\u243F\u2440\u245F\u2460\u24FF\u2500\u257F\u2580\u259F\u25A0\u25FF\u2600\u26FF\u2700\u27BF\u2800\u28FF\u2E80\u2EFF\u2F00\u2FDF\u2FF0\u2FFF\u3000\u303F\u3040\u309F\u30A0\u30FF\u3100\u312F\u3130\u318F\u3190\u319F\u31A0\u31BF\u3200\u32FF\u3300\u33FF\u3400\u4DB5\u4E00\u9FFF\uA000\uA48F\uA490\uA4CF\uAC00\uD7A3\uE000\uF8FF\uF900\uFAFF\uFB00\uFB4F\uFB50\uFDFF\uFE20\uFE2F\uFE30\uFE4F\uFE50\uFE6F\uFE70\uFEFE\uFEFF\uFEFF\uFF00\uFFEF",nS6="UNASSIGNED",nS5={3:1,122:1},nS8="org.eclipse.emf.ecore.xml.type.util",nS9={3:1,4:1,5:1,381:1},nS7="org.eclipse.xtext.xbase.lib",nPn="Cannot add elements to a Range",nPt="Cannot set elements in a Range",nPe="Cannot remove elements from a Range",nPi="user.agent";nP_.goog=nP_.goog||{},nP_.goog.global=nP_.goog.global||nP_,nPH={},ncm(1,null,{},e),nPB.Fb=function(n){return ER(this)===ER(n)},nPB.Gb=function(){return this.Rm},nPB.Hb=function(){return SK(this)},nPB.Ib=function(){return mI(WZ(this))+"@"+(XS(this)>>>0).toString(16)},nPB.equals=function(n){return this.Fb(n)},nPB.hashCode=function(){return this.Hb()},nPB.toString=function(){return this.Ib()},ncm(297,1,{297:1,2124:1},VG),nPB.ve=function(n){var t;return(t=new VG).i=4,n>1?t.c=DY(this,n-1):t.c=this,t},nPB.we=function(){return PL(this),this.b},nPB.xe=function(){return mI(this)},nPB.ye=function(){return PL(this),this.k},nPB.ze=function(){return(4&this.i)!=0},nPB.Ae=function(){return(1&this.i)!=0},nPB.Ib=function(){return Gi(this)},nPB.i=0;var nPr=1,nPa=Nj(nl4,"Object",1),nPc=Nj(nl4,"Class",297);ncm(2096,1,nl6),Nj(nl5,"Optional",2096),ncm(1191,2096,nl6,r),nPB.Fb=function(n){return n===this},nPB.Hb=function(){return 0x79a31aac},nPB.Ib=function(){return"Optional.absent()"},nPB.Jb=function(n){return NP(n),gY(),nPz},Nj(nl5,"Absent",1191),ncm(636,1,{},pW),Nj(nl5,"Joiner",636);var nPo=IH(nl5,"Predicate");ncm(589,1,{178:1,589:1,3:1,46:1},hq),nPB.Mb=function(n){return V5(this,n)},nPB.Lb=function(n){return V5(this,n)},nPB.Fb=function(n){var t;return!!jM(n,589)&&(t=CY(n,589),ncP(this.a,t.a))},nPB.Hb=function(){return V7(this.a)+0x12472c2c},nPB.Ib=function(){return function(n){var t,e,i,r;for(t=NJ(EY(new Sv("Predicates."),"and"),40),e=!0,r=new fq(n);r.b<r.d.gc();)Px(r.b<r.d.gc()),i=r.d.Xb(r.c=r.b++),e||(t.a+=","),t.a+=""+i,e=!1;return(t.a+=")",t).a}(this.a)},Nj(nl5,"Predicates/AndPredicate",589),ncm(419,2096,{419:1,3:1},hX),nPB.Fb=function(n){var t;return!!jM(n,419)&&(t=CY(n,419),QY(this.a,t.a))},nPB.Hb=function(){return 0x598df91c+XS(this.a)},nPB.Ib=function(){return nbe+this.a+")"},nPB.Jb=function(n){return new hX($A(n.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},Nj(nl5,"Present",419),ncm(204,1,nbr),nPB.Nb=function(n){LD(this,n)},nPB.Qb=function(){pQ()},Nj(nba,"UnmodifiableIterator",204),ncm(2076,204,nbc),nPB.Qb=function(){pQ()},nPB.Rb=function(n){throw(new dD).e},nPB.Wb=function(n){throw(new dD).e},Nj(nba,"UnmodifiableListIterator",2076),ncm(399,2076,nbc),nPB.Ob=function(){return this.c<this.d},nPB.Sb=function(){return this.c>0},nPB.Pb=function(){if(this.c>=this.d)throw(new dF).e;return this.Xb(this.c++)},nPB.Tb=function(){return this.c},nPB.Ub=function(){if(this.c<=0)throw(new dF).e;return this.Xb(--this.c)},nPB.Vb=function(){return this.c-1},nPB.c=0,nPB.d=0,Nj(nba,"AbstractIndexedListIterator",399),ncm(713,204,nbr),nPB.Ob=function(){return q7(this)},nPB.Pb=function(){return H3(this)},nPB.e=1,Nj(nba,"AbstractIterator",713),ncm(2084,1,{229:1}),nPB.Zb=function(){return this.f||(this.f=this.ac())},nPB.Fb=function(n){return WE(this,n)},nPB.Hb=function(){return XS(this.Zb())},nPB.dc=function(){return 0==this.gc()},nPB.ec=function(){return AY(this)},nPB.Ib=function(){return J2(this.Zb())},Nj(nba,"AbstractMultimap",2084),ncm(742,2084,nbo),nPB.$b=function(){qO(this)},nPB._b=function(n){return this.c._b(n)},nPB.ac=function(){return new vg(this,this.c)},nPB.ic=function(n){return this.hc()},nPB.bc=function(){return new j4(this,this.c)},nPB.jc=function(){return this.mc(this.hc())},nPB.kc=function(){return new g4(this)},nPB.lc=function(){return niE(this.c.vc().Nc(),new c,64,this.d)},nPB.cc=function(n){return _G(this,n)},nPB.fc=function(n){return Qb(this,n)},nPB.gc=function(){return this.d},nPB.mc=function(n){return $O(),new fF(n)},nPB.nc=function(){return new g3(this)},nPB.oc=function(){return niE(this.c.Cc().Nc(),new a,64,this.d)},nPB.pc=function(n,t){return new Bc(this,n,t,null)},nPB.d=0,Nj(nba,"AbstractMapBasedMultimap",742),ncm(1696,742,nbo),nPB.hc=function(){return new Bf(this.a)},nPB.jc=function(){return $O(),$O(),nO_},nPB.cc=function(n){return CY(_G(this,n),15)},nPB.fc=function(n){return CY(Qb(this,n),15)},nPB.Zb=function(){return $M(this)},nPB.Fb=function(n){return WE(this,n)},nPB.qc=function(n){return CY(_G(this,n),15)},nPB.rc=function(n){return CY(Qb(this,n),15)},nPB.mc=function(n){return $B(CY(n,15))},nPB.pc=function(n,t){return KY(this,n,CY(t,15),null)},Nj(nba,"AbstractListMultimap",1696),ncm(748,1,nbu),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.c.Ob()||this.e.Ob()},nPB.Pb=function(){var n;return this.e.Ob()||(n=CY(this.c.Pb(),44),this.b=n.ld(),this.a=CY(n.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},nPB.Qb=function(){this.e.Qb(),CY(xh(this.a),16).dc()&&this.c.Qb(),--this.d.d},Nj(nba,"AbstractMapBasedMultimap/Itr",748),ncm(1129,748,nbu,g3),nPB.sc=function(n,t){return t},Nj(nba,"AbstractMapBasedMultimap/1",1129),ncm(1130,1,{},a),nPB.Kb=function(n){return CY(n,16).Nc()},Nj(nba,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),ncm(1131,748,nbu,g4),nPB.sc=function(n,t){return new vj(n,t)},Nj(nba,"AbstractMapBasedMultimap/2",1131);var nPu=IH(nbs,"Map");ncm(2065,1,nbh),nPB.wc=function(n){zs(this,n)},nPB.yc=function(n,t,e){return JJ(this,n,t,e)},nPB.$b=function(){this.vc().$b()},nPB.tc=function(n){return ntn(this,n)},nPB._b=function(n){return!!ne5(this,n,!1)},nPB.uc=function(n){var t,e;for(t=this.vc().Kc();t.Ob();)if(e=CY(t.Pb(),44).md(),ER(n)===ER(e)||null!=n&&QY(n,e))return!0;return!1},nPB.Fb=function(n){var t,e,i;if(n===this)return!0;if(!jM(n,85)||(i=CY(n,85),this.gc()!=i.gc()))return!1;for(e=i.vc().Kc();e.Ob();)if(t=CY(e.Pb(),44),!this.tc(t))return!1;return!0},nPB.xc=function(n){return ED(ne5(this,n,!1))},nPB.Hb=function(){return VT(this.vc())},nPB.dc=function(){return 0==this.gc()},nPB.ec=function(){return new fS(this)},nPB.zc=function(n,t){throw new pR("Put not supported on this map").e},nPB.Ac=function(n){X7(this,n)},nPB.Bc=function(n){return ED(ne5(this,n,!0))},nPB.gc=function(){return this.vc().gc()},nPB.Ib=function(){return nii(this)},nPB.Cc=function(){return new fN(this)},Nj(nbs,"AbstractMap",2065),ncm(2085,2065,nbh),nPB.bc=function(){return new vx(this)},nPB.vc=function(){return AJ(this)},nPB.ec=function(){return this.g||(this.g=this.bc())},nPB.Cc=function(){return this.i||(this.i=new vN(this))},Nj(nba,"Maps/ViewCachingAbstractMap",2085),ncm(402,2085,nbh,vg),nPB.xc=function(n){var t;return(t=CY(QH(this.d,n),16))?this.e.pc(n,t):null},nPB.Bc=function(n){var t,e;return(t=CY(this.d.Bc(n),16))?((e=this.e.hc()).Gc(t),this.e.d-=t.gc(),t.$b(),e):null},nPB.$b=function(){this.d==this.e.c?this.e.$b():IJ(new IZ(this))},nPB._b=function(n){return Q_(this.d,n)},nPB.Ec=function(){return new hz(this)},nPB.Dc=function(){return this.Ec()},nPB.Fb=function(n){return this===n||QY(this.d,n)},nPB.Hb=function(){return XS(this.d)},nPB.ec=function(){return this.e.ec()},nPB.gc=function(){return this.d.gc()},nPB.Ib=function(){return J2(this.d)},Nj(nba,"AbstractMapBasedMultimap/AsMap",402);var nPs=IH(nl4,"Iterable");ncm(31,1,nbf),nPB.Jc=function(n){_r(this,n)},nPB.Lc=function(){return this.Oc()},nPB.Nc=function(){return new R$(this,0)},nPB.Oc=function(){return new Aa(null,this.Nc())},nPB.Fc=function(n){throw new pR("Add not supported on this collection").e},nPB.Gc=function(n){return Xx(this,n)},nPB.$b=function(){xJ(this)},nPB.Hc=function(n){return Yd(this,n,!1)},nPB.Ic=function(n){return z7(this,n)},nPB.dc=function(){return 0==this.gc()},nPB.Mc=function(n){return Yd(this,n,!0)},nPB.Pc=function(){return A3(this)},nPB.Qc=function(n){return nn7(this,n)},nPB.Ib=function(){return niV(this)},Nj(nbs,"AbstractCollection",31);var nPh=IH(nbs,"Set");ncm(2063,31,nbl),nPB.Nc=function(){return new R$(this,1)},nPB.Fb=function(n){return Zk(this,n)},nPB.Hb=function(){return VT(this)},Nj(nbs,"AbstractSet",2063),ncm(2068,2063,nbl),Nj(nba,"Sets/ImprovedAbstractSet",2068),ncm(2069,2068,nbl),nPB.$b=function(){this.Rc().$b()},nPB.Hc=function(n){return YB(this,n)},nPB.dc=function(){return this.Rc().dc()},nPB.Mc=function(n){var t;return!!(this.Hc(n)&&jM(n,44))&&(t=CY(n,44),this.Rc().ec().Mc(t.ld()))},nPB.gc=function(){return this.Rc().gc()},Nj(nba,"Maps/EntrySet",2069),ncm(1127,2069,nbl,hz),nPB.Hc=function(n){return QB(this.a.d.vc(),n)},nPB.Kc=function(){return new IZ(this.a)},nPB.Rc=function(){return this.a},nPB.Mc=function(n){var t,e,i,r,a;return!!QB(this.a.d.vc(),n)&&(t=CY(xh(CY(n,44)),44),e=this.a.e,i=t.ld(),(r=CY(function(n,t){NP(n);try{return n.Bc(t)}catch(n){if(jM(n=Vt(n),212)||jM(n,169))return null;throw n.e}}(e.c,i),16))&&(a=r.gc(),r.$b(),e.d-=a),!0)},nPB.Nc=function(){return CX(this.a.d.vc().Nc(),new hV(this.a))},Nj(nba,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),ncm(1128,1,{},hV),nPB.Kb=function(n){return _O(this.a,CY(n,44))},Nj(nba,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),ncm(746,1,nbu,IZ),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){var n;return n=CY(this.b.Pb(),44),this.a=CY(n.md(),16),_O(this.c,n)},nPB.Ob=function(){return this.b.Ob()},nPB.Qb=function(){Cs(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},Nj(nba,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),ncm(542,2068,nbl,vx),nPB.$b=function(){this.b.$b()},nPB.Hc=function(n){return this.b._b(n)},nPB.Jc=function(n){NP(n),this.b.wc(new fu(n))},nPB.dc=function(){return this.b.dc()},nPB.Kc=function(){return new pa(this.b.vc().Kc())},nPB.Mc=function(n){return!!this.b._b(n)&&(this.b.Bc(n),!0)},nPB.gc=function(){return this.b.gc()},Nj(nba,"Maps/KeySet",542),ncm(327,542,nbl,j4),nPB.$b=function(){IJ(new vp(this,this.b.vc().Kc()))},nPB.Ic=function(n){return this.b.ec().Ic(n)},nPB.Fb=function(n){return this===n||QY(this.b.ec(),n)},nPB.Hb=function(){return XS(this.b.ec())},nPB.Kc=function(){return new vp(this,this.b.vc().Kc())},nPB.Mc=function(n){var t,e;return e=0,(t=CY(this.b.Bc(n),16))&&(e=t.gc(),t.$b(),this.a.d-=e),e>0},nPB.Nc=function(){return this.b.ec().Nc()},Nj(nba,"AbstractMapBasedMultimap/KeySet",327),ncm(747,1,nbu,vp),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.c.Ob()},nPB.Pb=function(){return this.a=CY(this.c.Pb(),44),this.a.ld()},nPB.Qb=function(){var n;Cs(!!this.a),n=CY(this.a.md(),16),this.c.Qb(),this.b.a.d-=n.gc(),n.$b(),this.a=null},Nj(nba,"AbstractMapBasedMultimap/KeySet/1",747),ncm(503,402,{85:1,133:1},Pq),nPB.bc=function(){return this.Sc()},nPB.ec=function(){return this.Uc()},nPB.Sc=function(){return new vo(this.c,this.Wc())},nPB.Tc=function(){return this.Wc().Tc()},nPB.Uc=function(){return this.b||(this.b=this.Sc())},nPB.Vc=function(){return this.Wc().Vc()},nPB.Wc=function(){return CY(this.d,133)},Nj(nba,"AbstractMapBasedMultimap/SortedAsMap",503),ncm(446,503,nbb,PX),nPB.bc=function(){return new vu(this.a,CY(CY(this.d,133),139))},nPB.Sc=function(){return new vu(this.a,CY(CY(this.d,133),139))},nPB.ec=function(){return CY(this.b||(this.b=new vu(this.a,CY(CY(this.d,133),139))),277)},nPB.Uc=function(){return CY(this.b||(this.b=new vu(this.a,CY(CY(this.d,133),139))),277)},nPB.Wc=function(){return CY(CY(this.d,133),139)},nPB.Xc=function(n){return CY(CY(this.d,133),139).Xc(n)},nPB.Yc=function(n){return CY(CY(this.d,133),139).Yc(n)},nPB.Zc=function(n,t){return new PX(this.a,CY(CY(this.d,133),139).Zc(n,t))},nPB.$c=function(n){return CY(CY(this.d,133),139).$c(n)},nPB._c=function(n){return CY(CY(this.d,133),139)._c(n)},nPB.ad=function(n,t){return new PX(this.a,CY(CY(this.d,133),139).ad(n,t))},Nj(nba,"AbstractMapBasedMultimap/NavigableAsMap",446),ncm(502,327,nbw,vo),nPB.Nc=function(){return this.b.ec().Nc()},Nj(nba,"AbstractMapBasedMultimap/SortedKeySet",502),ncm(401,502,nbd,vu),Nj(nba,"AbstractMapBasedMultimap/NavigableKeySet",401),ncm(551,31,nbf,Bc),nPB.Fc=function(n){var t,e;return J8(this),e=this.d.dc(),(t=this.d.Fc(n))&&(++this.f.d,e&&Oi(this)),t},nPB.Gc=function(n){var t,e,i;return!n.dc()&&(J8(this),i=this.d.gc(),(t=this.d.Gc(n))&&(e=this.d.gc(),this.f.d+=e-i,0==i&&Oi(this)),t)},nPB.$b=function(){var n;J8(this),0!=(n=this.d.gc())&&(this.d.$b(),this.f.d-=n,Ak(this))},nPB.Hc=function(n){return J8(this),this.d.Hc(n)},nPB.Ic=function(n){return J8(this),this.d.Ic(n)},nPB.Fb=function(n){return n===this||(J8(this),QY(this.d,n))},nPB.Hb=function(){return J8(this),XS(this.d)},nPB.Kc=function(){return J8(this),new Cq(this)},nPB.Mc=function(n){var t;return J8(this),(t=this.d.Mc(n))&&(--this.f.d,Ak(this)),t},nPB.gc=function(){return EX(this)},nPB.Nc=function(){return J8(this),this.d.Nc()},nPB.Ib=function(){return J8(this),J2(this.d)},Nj(nba,"AbstractMapBasedMultimap/WrappedCollection",551);var nPf=IH(nbs,"List");ncm(744,551,{20:1,31:1,16:1,15:1},Lu),nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return J8(this),this.d.Nc()},nPB.bd=function(n,t){var e;J8(this),e=this.d.dc(),CY(this.d,15).bd(n,t),++this.a.d,e&&Oi(this)},nPB.cd=function(n,t){var e,i,r;return!t.dc()&&(J8(this),r=this.d.gc(),(e=CY(this.d,15).cd(n,t))&&(i=this.d.gc(),this.a.d+=i-r,0==r&&Oi(this)),e)},nPB.Xb=function(n){return J8(this),CY(this.d,15).Xb(n)},nPB.dd=function(n){return J8(this),CY(this.d,15).dd(n)},nPB.ed=function(){return J8(this),new T4(this)},nPB.fd=function(n){return J8(this),new $v(this,n)},nPB.gd=function(n){var t;return J8(this),t=CY(this.d,15).gd(n),--this.a.d,Ak(this),t},nPB.hd=function(n,t){return J8(this),CY(this.d,15).hd(n,t)},nPB.kd=function(n,t){return J8(this),KY(this.a,this.e,CY(this.d,15).kd(n,t),this.b?this.b:this)},Nj(nba,"AbstractMapBasedMultimap/WrappedList",744),ncm(1126,744,{20:1,31:1,16:1,15:1,59:1},SV),Nj(nba,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),ncm(628,1,nbu,Cq),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return $d(this),this.b.Ob()},nPB.Pb=function(){return $d(this),this.b.Pb()},nPB.Qb=function(){Si(this)},Nj(nba,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),ncm(745,628,nbg,T4,$v),nPB.Qb=function(){Si(this)},nPB.Rb=function(n){var t;t=0==EX(this.a),($d(this),CY(this.b,128)).Rb(n),++this.a.a.d,t&&Oi(this.a)},nPB.Sb=function(){return($d(this),CY(this.b,128)).Sb()},nPB.Tb=function(){return($d(this),CY(this.b,128)).Tb()},nPB.Ub=function(){return($d(this),CY(this.b,128)).Ub()},nPB.Vb=function(){return($d(this),CY(this.b,128)).Vb()},nPB.Wb=function(n){($d(this),CY(this.b,128)).Wb(n)},Nj(nba,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),ncm(743,551,nbw,PU),nPB.Nc=function(){return J8(this),this.d.Nc()},Nj(nba,"AbstractMapBasedMultimap/WrappedSortedSet",743),ncm(1125,743,nbd,TG),Nj(nba,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),ncm(1124,551,nbl,PG),nPB.Nc=function(){return J8(this),this.d.Nc()},Nj(nba,"AbstractMapBasedMultimap/WrappedSet",1124),ncm(1133,1,{},c),nPB.Kb=function(n){var t,e;return e=(t=CY(n,44)).ld(),CX(CY(t.md(),16).Nc(),new hY(e))},Nj(nba,"AbstractMapBasedMultimap/lambda$1$Type",1133),ncm(1132,1,{},hY),nPB.Kb=function(n){return new vj(this.a,n)},Nj(nba,"AbstractMapBasedMultimap/lambda$2$Type",1132);var nPl=IH(nbs,"Map/Entry");ncm(358,1,nbp),nPB.Fb=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),N7(this.ld(),t.ld())&&N7(this.md(),t.md()))},nPB.Hb=function(){var n,t;return n=this.ld(),t=this.md(),(null==n?0:XS(n))^(null==t?0:XS(t))},nPB.nd=function(n){throw(new dD).e},nPB.Ib=function(){return this.ld()+"="+this.md()},Nj(nba,nbm,358),ncm(2086,31,nbf),nPB.$b=function(){this.od().$b()},nPB.Hc=function(n){var t,e,i,r,a;return!!jM(n,44)&&(t=CY(n,44),e=this.od(),i=t.ld(),r=t.md(),!!(a=CY(e.Zb().xc(i),16))&&a.Hc(r))},nPB.Mc=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),Kh(this.od(),t.ld(),t.md()))},nPB.gc=function(){return this.od().d},Nj(nba,"Multimaps/Entries",2086),ncm(749,2086,nbf,hZ),nPB.Kc=function(){return this.a.kc()},nPB.od=function(){return this.a},nPB.Nc=function(){return this.a.lc()},Nj(nba,"AbstractMultimap/Entries",749),ncm(750,749,nbl,g6),nPB.Nc=function(){return this.a.lc()},nPB.Fb=function(n){return nrw(this,n)},nPB.Hb=function(){return X$(this)},Nj(nba,"AbstractMultimap/EntrySet",750),ncm(751,31,nbf,h1),nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){var t;for(t=this.a.Zb().Cc().Kc();t.Ob();)if(CY(t.Pb(),16).Hc(n))return!0;return!1},nPB.Kc=function(){return this.a.nc()},nPB.gc=function(){return this.a.d},nPB.Nc=function(){return this.a.oc()},Nj(nba,"AbstractMultimap/Values",751),ncm(2087,31,{849:1,20:1,31:1,16:1}),nPB.Jc=function(n){NP(n),xY(this).Jc(new fw(n))},nPB.Nc=function(){var n;return niE(n=xY(this).Nc(),new w,64|1296&n.yd(),this.a.d)},nPB.Fc=function(n){return pJ(),!0},nPB.Gc=function(n){return NP(this),NP(n),jM(n,552)?function(n){return!xY(n).dc()&&(NP(new b),xY(n).Jc(new l),!0)}(CY(n,849)):!n.dc()&&UO(this,n.Kc())},nPB.Hc=function(n){var t;return((t=CY(QH($M(this.a),n),16))?t.gc():0)>0},nPB.Fb=function(n){return function(n,t){var e,i,r;if(t===n)return!0;if(jM(t,552)){if(r=CY(t,849),n.a.d!=r.a.d||xY(n).gc()!=xY(r).gc())return!1;for(i=xY(r).Kc();i.Ob();)if(Rv(n,(e=CY(i.Pb(),425)).a.ld())!=CY(e.a.md(),16).gc())return!1;return!0}return!1}(this,n)},nPB.Hb=function(){return XS(xY(this))},nPB.dc=function(){return xY(this).dc()},nPB.Mc=function(n){return naM(this,n,1)>0},nPB.Ib=function(){return J2(xY(this))},Nj(nba,"AbstractMultiset",2087),ncm(2089,2068,nbl),nPB.$b=function(){qO(this.a.a)},nPB.Hc=function(n){var t;return!!jM(n,504)&&(t=CY(n,425),!(0>=CY(t.a.md(),16).gc())&&Rv(this.a,t.a.ld())==CY(t.a.md(),16).gc())},nPB.Mc=function(n){var t,e,i,r,a,c,o,u,s;return!!jM(n,504)&&(t=(e=CY(n,425)).a.ld(),0!=(i=CY(e.a.md(),16).gc()))&&(r=this.a,a=t,qL(c=i,"oldCount"),qL(0,"newCount"),((o=CY(QH($M(r.a),a),16))?o.gc():0)==c&&(qL(0,"count"),(s=-((u=CY(QH($M(r.a),a),16))?u.gc():0))>0?pJ():s<0&&naM(r,a,-s),!0))},Nj(nba,"Multisets/EntrySet",2089),ncm(1139,2089,nbl,h0),nPB.Kc=function(){return new po(AJ($M(this.a.a)).Kc())},nPB.gc=function(){return $M(this.a.a).gc()},Nj(nba,"AbstractMultiset/EntrySet",1139),ncm(627,742,nbo),nPB.hc=function(){return this.pd()},nPB.jc=function(){return this.qd()},nPB.cc=function(n){return this.rd(n)},nPB.fc=function(n){return this.sd(n)},nPB.Zb=function(){return this.f||(this.f=this.ac())},nPB.qd=function(){return $O(),$O(),nOH},nPB.Fb=function(n){return WE(this,n)},nPB.rd=function(n){return CY(_G(this,n),21)},nPB.sd=function(n){return CY(Qb(this,n),21)},nPB.mc=function(n){return $O(),new p8(CY(n,21))},nPB.pc=function(n,t){return new PG(this,n,CY(t,21))},Nj(nba,"AbstractSetMultimap",627),ncm(1723,627,nbo),nPB.hc=function(){return new mH(this.b)},nPB.pd=function(){return new mH(this.b)},nPB.jc=function(){return xr(new mH(this.b))},nPB.qd=function(){return xr(new mH(this.b))},nPB.cc=function(n){return CY(CY(_G(this,n),21),87)},nPB.rd=function(n){return CY(CY(_G(this,n),21),87)},nPB.fc=function(n){return CY(CY(Qb(this,n),21),87)},nPB.sd=function(n){return CY(CY(Qb(this,n),21),87)},nPB.mc=function(n){return jM(n,277)?xr(CY(n,277)):($O(),new Sj(CY(n,87)))},nPB.Zb=function(){return this.f||(this.f=jM(this.c,139)?new PX(this,CY(this.c,139)):jM(this.c,133)?new Pq(this,CY(this.c,133)):new vg(this,this.c))},nPB.pc=function(n,t){return jM(t,277)?new TG(this,n,CY(t,277)):new PU(this,n,CY(t,87))},Nj(nba,"AbstractSortedSetMultimap",1723),ncm(1724,1723,nbo),nPB.Zb=function(){return CY(CY(this.f||(this.f=jM(this.c,139)?new PX(this,CY(this.c,139)):jM(this.c,133)?new Pq(this,CY(this.c,133)):new vg(this,this.c)),133),139)},nPB.ec=function(){return CY(CY(this.i||(this.i=jM(this.c,139)?new vu(this,CY(this.c,139)):jM(this.c,133)?new vo(this,CY(this.c,133)):new j4(this,this.c)),87),277)},nPB.bc=function(){return jM(this.c,139)?new vu(this,CY(this.c,139)):jM(this.c,133)?new vo(this,CY(this.c,133)):new j4(this,this.c)},Nj(nba,"AbstractSortedKeySortedSetMultimap",1724),ncm(2109,1,{2046:1}),nPB.Fb=function(n){var t;return n===this||!!jM(n,678)&&(t=CY(n,2046),Zk(this.g||(this.g=new h3(this)),t.g||(t.g=new h3(t))))},nPB.Hb=function(){return VT(this.g||(this.g=new h3(this)))},nPB.Ib=function(){return nii(this.f||(this.f=new Sr(this)))},Nj(nba,"AbstractTable",2109),ncm(679,2063,nbl,h3),nPB.$b=function(){pY()},nPB.Hc=function(n){var t,e;return!!jM(n,479)&&(t=CY(n,697),!!(e=CY(QH(Nv(this.a),Eq(t.c.e,t.b)),85))&&QB(e.vc(),new vj(Eq(t.c.c,t.a),Br(t.c,t.b,t.a))))},nPB.Kc=function(){var n;return new Sa(n=this.a,n.e.Rd().gc()*n.c.Rd().gc())},nPB.Mc=function(n){var t,e;return!!jM(n,479)&&(t=CY(n,697),!!(e=CY(QH(Nv(this.a),Eq(t.c.e,t.b)),85))&&function(n,t){NP(n);try{return n.Mc(t)}catch(n){if(jM(n=Vt(n),212)||jM(n,169))return!1;throw n.e}}(e.vc(),new vj(Eq(t.c.c,t.a),Br(t.c,t.b,t.a))))},nPB.gc=function(){return IX(this.a)},nPB.Nc=function(){var n;return Iz((n=this.a).e.Rd().gc()*n.c.Rd().gc(),273,new hW(n))},Nj(nba,"AbstractTable/CellSet",679),ncm(2025,31,nbf,h4),nPB.$b=function(){pY()},nPB.Hc=function(n){return function(n,t){var e,i,r,a,c,o,u;for(c=n.a,o=0,u=c.length;o<u;++o)for(a=c[o],i=0,r=a.length;i<r;++i)if(e=a[i],ER(t)===ER(e)||null!=t&&QY(t,e))return!0;return!1}(this.a,n)},nPB.Kc=function(){var n;return new Sc(n=this.a,n.e.Rd().gc()*n.c.Rd().gc())},nPB.gc=function(){return IX(this.a)},nPB.Nc=function(){return Ku(this.a)},Nj(nba,"AbstractTable/Values",2025),ncm(1697,1696,nbo),Nj(nba,"ArrayListMultimapGwtSerializationDependencies",1697),ncm(520,1697,nbo,mt,Rj),nPB.hc=function(){return new Bf(this.a)},nPB.a=0,Nj(nba,"ArrayListMultimap",520),ncm(678,2109,{678:1,2046:1,3:1},naW),Nj(nba,"ArrayTable",678),ncm(2021,399,nbc,Sa),nPB.Xb=function(n){return new Vq(this.a,n)},Nj(nba,"ArrayTable/1",2021),ncm(2022,1,{},hW),nPB.td=function(n){return new Vq(this.a,n)},Nj(nba,"ArrayTable/1methodref$getCell$Type",2022),ncm(2110,1,{697:1}),nPB.Fb=function(n){var t;return n===this||!!jM(n,479)&&(t=CY(n,697),N7(Eq(this.c.e,this.b),Eq(t.c.e,t.b))&&N7(Eq(this.c.c,this.a),Eq(t.c.c,t.a))&&N7(Br(this.c,this.b,this.a),Br(t.c,t.b,t.a)))},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[Eq(this.c.e,this.b),Eq(this.c.c,this.a),Br(this.c,this.b,this.a)]))},nPB.Ib=function(){return"("+Eq(this.c.e,this.b)+","+Eq(this.c.c,this.a)+")="+Br(this.c,this.b,this.a)},Nj(nba,"Tables/AbstractCell",2110),ncm(479,2110,{479:1,697:1},Vq),nPB.a=0,nPB.b=0,nPB.d=0,Nj(nba,"ArrayTable/2",479),ncm(2024,1,{},hQ),nPB.td=function(n){return HK(this.a,n)},Nj(nba,"ArrayTable/2methodref$getValue$Type",2024),ncm(2023,399,nbc,Sc),nPB.Xb=function(n){return HK(this.a,n)},Nj(nba,"ArrayTable/3",2023),ncm(2077,2065,nbh),nPB.$b=function(){IJ(this.kc())},nPB.vc=function(){return new fo(this)},nPB.lc=function(){return new $n(this.kc(),this.gc())},Nj(nba,"Maps/IteratorBasedAbstractMap",2077),ncm(842,2077,nbh),nPB.$b=function(){throw(new dD).e},nPB._b=function(n){var t;return t=this.c,Q_(t.b,n)},nPB.kc=function(){return new So(this,this.c.b.c.gc())},nPB.lc=function(){return Iz(this.c.b.c.gc(),16,new hJ(this))},nPB.xc=function(n){var t;return(t=CY(O3(this.c,n),17))?this.vd(t.a):null},nPB.dc=function(){return this.c.b.c.dc()},nPB.ec=function(){return A0(this.c)},nPB.zc=function(n,t){var e;if(!(e=CY(O3(this.c,n),17)))throw new pN(this.ud()+" "+n+" not in "+A0(this.c)).e;return this.wd(e.a,t)},nPB.Bc=function(n){throw(new dD).e},nPB.gc=function(){return this.c.b.c.gc()},Nj(nba,"ArrayTable/ArrayMap",842),ncm(2020,1,{},hJ),nPB.td=function(n){return NE(this.a,n)},Nj(nba,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),ncm(2018,358,nbp,vs),nPB.ld=function(){var n,t;return n=this.a,t=this.b,A0(n.c).Md().Xb(t)},nPB.md=function(){return this.a.vd(this.b)},nPB.nd=function(n){return this.a.wd(this.b,n)},nPB.b=0,Nj(nba,"ArrayTable/ArrayMap/1",2018),ncm(2019,399,nbc,So),nPB.Xb=function(n){return NE(this.a,n)},Nj(nba,"ArrayTable/ArrayMap/2",2019),ncm(2017,842,nbh,LA),nPB.ud=function(){return"Column"},nPB.vd=function(n){return Br(this.b,this.a,n)},nPB.wd=function(n,t){return Vb(this.b,this.a,n,t)},nPB.a=0,Nj(nba,"ArrayTable/Row",2017),ncm(843,842,nbh,Sr),nPB.vd=function(n){return new LA(this.a,n)},nPB.zc=function(n,t){return CY(t,85),function(){throw(new dD).e}()},nPB.wd=function(n,t){return CY(t,85),function(){throw(new dD).e}()},nPB.ud=function(){return"Row"},Nj(nba,"ArrayTable/RowMap",843),ncm(1157,1,nbM,vh),nPB.Ad=function(n){return(-262&this.a.yd()&n)!=0},nPB.yd=function(){return -262&this.a.yd()},nPB.zd=function(){return this.a.zd()},nPB.Nb=function(n){this.a.Nb(new vl(n,this.b))},nPB.Bd=function(n){return this.a.Bd(new vf(n,this.b))},Nj(nba,"CollectSpliterators/1",1157),ncm(1158,1,nbE,vf),nPB.Cd=function(n){this.a.Cd(this.b.Kb(n))},Nj(nba,"CollectSpliterators/1/lambda$0$Type",1158),ncm(1159,1,nbE,vl),nPB.Cd=function(n){this.a.Cd(this.b.Kb(n))},Nj(nba,"CollectSpliterators/1/lambda$1$Type",1159),ncm(1154,1,nbM,OW),nPB.Ad=function(n){return((16464|this.b)&n)!=0},nPB.yd=function(){return 16464|this.b},nPB.zd=function(){return this.a.zd()},nPB.Nb=function(n){this.a.Qe(new vw(n,this.c))},nPB.Bd=function(n){return this.a.Re(new vb(n,this.c))},nPB.b=0,Nj(nba,"CollectSpliterators/1WithCharacteristics",1154),ncm(1155,1,nbT,vb),nPB.Dd=function(n){this.a.Cd(this.b.td(n))},Nj(nba,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),ncm(1156,1,nbT,vw),nPB.Dd=function(n){this.a.Cd(this.b.td(n))},Nj(nba,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),ncm(1150,1,nbM),nPB.Ad=function(n){return(this.a&n)!=0},nPB.yd=function(){return this.a},nPB.zd=function(){return this.e&&(this.b=ju(this.b,this.e.zd())),ju(this.b,0)},nPB.Nb=function(n){this.e&&(this.e.Nb(n),this.e=null),this.c.Nb(new vd(this,n)),this.b=0},nPB.Bd=function(n){for(;;){if(this.e&&this.e.Bd(n))return EU(this.b,nbj)&&(this.b=JB(this.b,1)),!0;if(this.e=null,!this.c.Bd(new h6(this)))return!1}},nPB.a=0,nPB.b=0,Nj(nba,"CollectSpliterators/FlatMapSpliterator",1150),ncm(1152,1,nbE,h6),nPB.Cd=function(n){var t;t=this.a,t.e=CY(t.d.Kb(n),159)},Nj(nba,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),ncm(1153,1,nbE,vd),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,(i=CY(t.d.Kb(n),159))&&i.Nb(e)},Nj(nba,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),ncm(1151,1150,nbM,KW),Nj(nba,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),ncm(253,1,nbS),nPB.Fd=function(n){return this.Ed(CY(n,253))},nPB.Ed=function(n){var t;return n==(g1(),nPW)?1:n==(gZ(),nPV)?-1:(Ig(),0!=(t=X9(this.a,n.a)))?t:jM(this,526)==jM(n,526)?0:jM(this,526)?1:-1},nPB.Id=function(){return this.a},nPB.Fb=function(n){return nta(this,n)},Nj(nba,"Cut",253),ncm(1823,253,nbS,g2),nPB.Ed=function(n){return+(n!=this)},nPB.Gd=function(n){throw(new dC).e},nPB.Hd=function(n){n.a+="+\u221E)"},nPB.Id=function(){throw new px(nbP).e},nPB.Hb=function(){return vX(),Zd(this)},nPB.Jd=function(n){return!1},nPB.Ib=function(){return"+\u221E"},Nj(nba,"Cut/AboveAll",1823),ncm(526,253,{253:1,526:1,3:1,34:1},Sy),nPB.Gd=function(n){EJ((n.a+="(",n),this.a)},nPB.Hd=function(n){NJ(EJ(n,this.a),93)},nPB.Hb=function(){return~XS(this.a)},nPB.Jd=function(n){return Ig(),0>X9(this.a,n)},nPB.Ib=function(){return"/"+this.a+"\\"},Nj(nba,"Cut/AboveValue",526),ncm(1822,253,nbS,g0),nPB.Ed=function(n){return n==this?0:-1},nPB.Gd=function(n){n.a+="(-\u221E"},nPB.Hd=function(n){throw(new dC).e},nPB.Id=function(){throw new px(nbP).e},nPB.Hb=function(){return vX(),Zd(this)},nPB.Jd=function(n){return!0},nPB.Ib=function(){return"-\u221E"},Nj(nba,"Cut/BelowAll",1822),ncm(1824,253,nbS,Sk),nPB.Gd=function(n){EJ((n.a+="[",n),this.a)},nPB.Hd=function(n){NJ(EJ(n,this.a),41)},nPB.Hb=function(){return XS(this.a)},nPB.Jd=function(n){return Ig(),0>=X9(this.a,n)},nPB.Ib=function(){return"\\"+this.a+"/"},Nj(nba,"Cut/BelowValue",1824),ncm(547,1,nbO),nPB.Jc=function(n){_r(this,n)},nPB.Ib=function(){var n,t,e=CY($A(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc();for(t=NJ(new p2,91),n=!0;e.Ob();)n||(t.a+=nl8),n=!1,EJ(t,e.Pb());return(t.a+="]",t).a},Nj(nba,"FluentIterable",547),ncm(442,547,nbO,TO),nPB.Kc=function(){return new Le(Sb(this.a.Kc(),new s))},Nj(nba,"FluentIterable/2",442),ncm(1059,547,nbO,TC),nPB.Kc=function(){return LF(this)},Nj(nba,"FluentIterable/3",1059),ncm(724,399,nbc,Su),nPB.Xb=function(n){return this.a[n].Kc()},Nj(nba,"FluentIterable/3/1",724),ncm(2070,1,{}),nPB.Ib=function(){return J2(this.Kd().b)},Nj(nba,"ForwardingObject",2070),ncm(2071,2070,nbC),nPB.Kd=function(){return this.Ld()},nPB.Jc=function(n){_r(this,n)},nPB.Lc=function(){return this.Oc()},nPB.Nc=function(){return new R$(this,0)},nPB.Oc=function(){return new Aa(null,this.Nc())},nPB.Fc=function(n){return this.Ld(),mR()},nPB.Gc=function(n){return this.Ld(),mK()},nPB.$b=function(){this.Ld(),mF()},nPB.Hc=function(n){return this.Ld().Hc(n)},nPB.Ic=function(n){return this.Ld().Ic(n)},nPB.dc=function(){return this.Ld().b.dc()},nPB.Kc=function(){return this.Ld().Kc()},nPB.Mc=function(n){return this.Ld(),m_()},nPB.gc=function(){return this.Ld().b.gc()},nPB.Pc=function(){return this.Ld().Pc()},nPB.Qc=function(n){return this.Ld().Qc(n)},Nj(nba,"ForwardingCollection",2071),ncm(2078,31,nbI),nPB.Kc=function(){return this.Od()},nPB.Fc=function(n){throw(new dD).e},nPB.Gc=function(n){throw(new dD).e},nPB.Md=function(){return this.c||(this.c=this.Nd())},nPB.$b=function(){throw(new dD).e},nPB.Hc=function(n){return null!=n&&Yd(this,n,!1)},nPB.Nd=function(){switch(this.gc()){case 0:return NA(),NA(),nPQ;case 1:return NA(),new IY(NP(this.Od().Pb()));default:return new LN(this,this.Pc())}},nPB.Mc=function(n){throw(new dD).e},Nj(nba,"ImmutableCollection",2078),ncm(727,2078,nbI,dE),nPB.Kc=function(){return Hd(this.a.Kc())},nPB.Hc=function(n){return null!=n&&this.a.Hc(n)},nPB.Ic=function(n){return this.a.Ic(n)},nPB.dc=function(){return this.a.dc()},nPB.Od=function(){return Hd(this.a.Kc())},nPB.gc=function(){return this.a.gc()},nPB.Pc=function(){return this.a.Pc()},nPB.Qc=function(n){return this.a.Qc(n)},nPB.Ib=function(){return J2(this.a)},Nj(nba,"ForwardingImmutableCollection",727),ncm(307,2078,nbA),nPB.Kc=function(){return this.Od()},nPB.ed=function(){return this.Pd(0)},nPB.fd=function(n){return this.Pd(n)},nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.kd=function(n,t){return this.Qd(n,t)},nPB.bd=function(n,t){throw(new dD).e},nPB.cd=function(n,t){throw(new dD).e},nPB.Md=function(){return this},nPB.Fb=function(n){return function(n,t){var e,i,r;if(ER(t)===ER(NP(n)))return!0;if(!jM(t,15)||(i=CY(t,15),(r=n.gc())!=i.gc()))return!1;if(!jM(i,59))return function(n,t){for(var e,i;n.Ob();)if(!t.Ob()||(e=n.Pb(),i=t.Pb(),!(ER(e)===ER(i)||null!=e&&QY(e,i))))return!1;return!t.Ob()}(n.Kc(),i.Kc());for(e=0;e<r;e++)if(!N7(n.Xb(e),i.Xb(e)))return!1;return!0}(this,n)},nPB.Hb=function(){return function(n){var t,e,i;for(t=1,i=n.Kc();i.Ob();)t=~~(t=31*t+(null==(e=i.Pb())?0:XS(e)));return t}(this)},nPB.dd=function(n){return null==n?-1:function(n,t){var e,i;if(i=n.gc(),null==t){for(e=0;e<i;e++)if(null==n.Xb(e))return e}else for(e=0;e<i;e++)if(QY(t,n.Xb(e)))return e;return -1}(this,n)},nPB.Od=function(){return this.Pd(0)},nPB.Pd=function(n){return S0(this,n)},nPB.gd=function(n){throw(new dD).e},nPB.hd=function(n,t){throw(new dD).e},nPB.Qd=function(n,t){return QN(new Rk(new vA(this),n,t))},Nj(nba,"ImmutableList",307),ncm(2105,307,nbA),nPB.Kc=function(){return Hd(this.Rd().Kc())},nPB.kd=function(n,t){return QN(this.Rd().kd(n,t))},nPB.Hc=function(n){return null!=n&&this.Rd().Hc(n)},nPB.Ic=function(n){return this.Rd().Ic(n)},nPB.Fb=function(n){return QY(this.Rd(),n)},nPB.Xb=function(n){return Eq(this,n)},nPB.Hb=function(){return XS(this.Rd())},nPB.dd=function(n){return this.Rd().dd(n)},nPB.dc=function(){return this.Rd().dc()},nPB.Od=function(){return Hd(this.Rd().Kc())},nPB.gc=function(){return this.Rd().gc()},nPB.Qd=function(n,t){return QN(this.Rd().kd(n,t))},nPB.Pc=function(){return this.Rd().Qc(BJ(nPa,nl7,1,this.Rd().gc(),5,1))},nPB.Qc=function(n){return this.Rd().Qc(n)},nPB.Ib=function(){return J2(this.Rd())},Nj(nba,"ForwardingImmutableList",2105),ncm(729,1,nbN),nPB.vc=function(){return A1(this)},nPB.wc=function(n){zs(this,n)},nPB.ec=function(){return A0(this)},nPB.yc=function(n,t,e){return JJ(this,n,t,e)},nPB.Cc=function(){return this.Vd()},nPB.$b=function(){throw(new dD).e},nPB._b=function(n){return null!=this.xc(n)},nPB.uc=function(n){return this.Vd().Hc(n)},nPB.Td=function(){return new dT(this)},nPB.Ud=function(){return new dj(this)},nPB.Fb=function(n){var t;return this===n||!!jM(n,85)&&(t=CY(n,85),nrw(A1(this),t.vc()))},nPB.Hb=function(){return A1(this).Hb()},nPB.dc=function(){return 0==this.gc()},nPB.zc=function(n,t){throw(new dD).e},nPB.Bc=function(n){throw(new dD).e},nPB.Ib=function(){return function(n){var t,e,i,r;for(r=NJ((qL(n.gc(),"size"),new p3),123),i=!0,e=A1(n).Kc();e.Ob();)t=CY(e.Pb(),44),i||(r.a+=nl8),i=!1,EJ(NJ(EJ(r,t.ld()),61),t.md());return(r.a+="}",r).a}(this)},nPB.Vd=function(){return this.e?this.e:this.e=this.Ud()},nPB.c=null,nPB.d=null,nPB.e=null,Nj(nba,"ImmutableMap",729),ncm(730,729,nbN),nPB._b=function(n){return Q_(this.b,n)},nPB.uc=function(n){var t;return t=this.b,t.c.uc(n)},nPB.Sd=function(){return QL(new h2(this))},nPB.Td=function(){return QL(xO(this.b))},nPB.Ud=function(){return Co(),new dE(xS(this.b))},nPB.Fb=function(n){var t;return t=this.b,QY(t.c,n)},nPB.xc=function(n){return O3(this,n)},nPB.Hb=function(){return XS(this.b.c)},nPB.dc=function(){return this.b.c.dc()},nPB.gc=function(){return this.b.c.gc()},nPB.Ib=function(){return J2(this.b.c)},Nj(nba,"ForwardingImmutableMap",730),ncm(2072,2071,nbx),nPB.Kd=function(){return this.Wd()},nPB.Ld=function(){return this.Wd()},nPB.Nc=function(){return new R$(this,1)},nPB.Fb=function(n){return n===this||this.Wd().Fb(n)},nPB.Hb=function(){return this.Wd().Hb()},Nj(nba,"ForwardingSet",2072),ncm(1085,2072,nbx,h2),nPB.Kd=function(){return xP(this.a.b)},nPB.Ld=function(){return xP(this.a.b)},nPB.Hc=function(n){if(jM(n,44)&&null==CY(n,44).ld())return!1;try{var t;return t=xP(this.a.b),t.b.Hc(n)}catch(n){if(jM(n=Vt(n),212))return!1;throw n.e}},nPB.Wd=function(){return xP(this.a.b)},nPB.Qc=function(n){var t;return t=$8(xP(this.a.b),n),xP(this.a.b).b.gc()<t.length&&NK(t,xP(this.a.b).b.gc(),null),t},Nj(nba,"ForwardingImmutableMap/1",1085),ncm(2079,2078,nb$),nPB.Kc=function(){return this.Od()},nPB.Nc=function(){return new R$(this,1)},nPB.Fb=function(n){return nrw(this,n)},nPB.Hb=function(){return X$(this)},Nj(nba,"ImmutableSet",2079),ncm(719,2079,nb$),nPB.Kc=function(){return Hd(new fK(this.a.b.Kc()))},nPB.Hc=function(n){return null!=n&&vK(this.a,n)},nPB.Ic=function(n){var t;return t=this.a,t.b.Ic(n)},nPB.Hb=function(){return XS(this.a.b)},nPB.dc=function(){return this.a.b.dc()},nPB.Od=function(){return Hd(new fK(this.a.b.Kc()))},nPB.gc=function(){return this.a.b.gc()},nPB.Pc=function(){return this.a.b.Pc()},nPB.Qc=function(n){var t;return t=this.a,t.b.Qc(n)},nPB.Ib=function(){return J2(this.a.b)},Nj(nba,"ForwardingImmutableSet",719),ncm(2073,2072,nbD),nPB.Kd=function(){return this.b},nPB.Ld=function(){return this.b},nPB.Wd=function(){return this.b},nPB.Nc=function(){return new yK(this)},Nj(nba,"ForwardingSortedSet",2073),ncm(543,2077,nbN,nnF),nPB.Ac=function(n){X7(this,n)},nPB.Cc=function(){var n;return new jn(!(n=this.d)?this.d=new h8(this):n)},nPB.$b=function(){_s(this)},nPB._b=function(n){return!!XG(this,n,AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15))))},nPB.uc=function(n){return Go(this,n)},nPB.kc=function(){return new Ss(this,this)},nPB.wc=function(n){DF(this,n)},nPB.xc=function(n){return Gz(this,n)},nPB.ec=function(){return new jt(this)},nPB.zc=function(n,t){return nu9(this,n,t)},nPB.Bc=function(n){var t;return(t=XG(this,n,AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15)))))?(noe(this,t),t.e=null,t.c=null,t.i):null},nPB.gc=function(){return this.i},nPB.xd=function(){var n;return new jn(!(n=this.d)?this.d=new h8(this):n)},nPB.f=0,nPB.g=0,nPB.i=0,Nj(nba,"HashBiMap",543),ncm(544,1,nbu),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return K1(this)},nPB.Pb=function(){var n;if(!K1(this))throw(new dF).e;return n=CY(xh(this.c),303),this.c=n.c,this.f=n,--this.d,this.Xd(n)},nPB.Qb=function(){if(this.e.g!=this.b)throw(new dR).e;if(!this.f)throw new px(nbt).e;noe(this.e,this.f),this.b=this.e.g,this.f=null},nPB.b=0,nPB.d=0,nPB.f=null,Nj(nba,"HashBiMap/Itr",544),ncm(1023,544,nbu,Ss),nPB.Xd=function(n){return new vm(this,n)},Nj(nba,"HashBiMap/1",1023),ncm(nbB,358,nbp,vm),nPB.ld=function(){return this.a.g},nPB.md=function(){return this.a.i},nPB.nd=function(n){var t,e,i;return(e=this.a.i,(i=AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15))))==this.a.f&&(ER(n)===ER(e)||null!=n&&QY(n,e)))?n:(Vs(!Xq(this.b.a,n,i),n),noe(this.b.a,this.a),t=new xd(this.a.g,this.a.a,n,i),nah(this.b.a,t,this.a),this.a.e=null,this.a.c=null,this.b.b=this.b.a.g,this.b.f==this.a&&(this.b.f=t),this.a=t,e)},Nj(nba,"HashBiMap/1/MapEntry",nbB),ncm(246,358,{358:1,246:1,3:1,44:1},vj),nPB.ld=function(){return this.g},nPB.md=function(){return this.i},nPB.nd=function(n){throw(new dD).e},Nj(nba,"ImmutableEntry",246),ncm(303,246,{358:1,303:1,246:1,3:1,44:1},xd),nPB.a=0,nPB.f=0;var nPb=Nj(nba,"HashBiMap/BiEntry",303);ncm(619,2077,nbN,h8),nPB.Ac=function(n){X7(this,n)},nPB.Cc=function(){return new jt(this.a)},nPB.$b=function(){_s(this.a)},nPB._b=function(n){return Go(this.a,n)},nPB.kc=function(){return new Sh(this,this.a)},nPB.wc=function(n){NP(n),DF(this.a,new h9(n))},nPB.xc=function(n){return qN(this,n)},nPB.ec=function(){return new jn(this)},nPB.zc=function(n,t){return function(n,t,e,i){var r,a,c,o;if(o=AW(J_(nbR,xC(AW(J_(null==t?0:XS(t),nbK)),15))),r=AW(J_(nbR,xC(AW(J_(null==e?0:XS(e),nbK)),15))),c=Xq(n,t,o),a=XG(n,e,r),c&&r==c.a&&N7(e,c.g))return e;if(a&&!i)throw new pN("key already present: "+e).e;return c&&noe(n,c),a&&noe(n,a),nah(n,new xd(e,r,t,o),a),a&&(a.e=null,a.c=null),c&&(c.e=null,c.c=null),nel(n),c?c.g:null}(this.a,n,t,!1)},nPB.Bc=function(n){var t;return(t=Xq(this.a,n,AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15)))))?(noe(this.a,t),t.e=null,t.c=null,t.g):null},nPB.gc=function(){return this.a.i},nPB.xd=function(){return new jt(this.a)},Nj(nba,"HashBiMap/Inverse",619),ncm(1020,544,nbu,Sh),nPB.Xd=function(n){return new vv(this,n)},Nj(nba,"HashBiMap/Inverse/1",1020),ncm(1021,358,nbp,vv),nPB.ld=function(){return this.a.i},nPB.md=function(){return this.a.g},nPB.nd=function(n){var t,e,i;return(i=this.a.g,(t=AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15))))==this.a.a&&(ER(n)===ER(i)||null!=n&&QY(n,i)))?n:(Vs(!XG(this.b.a.a,n,t),n),noe(this.b.a.a,this.a),e=new xd(n,t,this.a.i,this.a.f),this.a=e,nah(this.b.a.a,e,null),this.b.b=this.b.a.a.g,i)},Nj(nba,"HashBiMap/Inverse/1/InverseEntry",1021),ncm(620,542,nbl,jn),nPB.Kc=function(){return new pt(this.a.a)},nPB.Mc=function(n){var t;return!!(t=Xq(this.a.a,n,AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15)))))&&(noe(this.a.a,t),!0)},Nj(nba,"HashBiMap/Inverse/InverseKeySet",620),ncm(1019,544,nbu,pt),nPB.Xd=function(n){return n.i},Nj(nba,"HashBiMap/Inverse/InverseKeySet/1",1019),ncm(1022,1,{},h9),nPB.Yd=function(n,t){var e;e=this.a,e.Yd(t,n)},Nj(nba,"HashBiMap/Inverse/lambda$0$Type",1022),ncm(618,542,nbl,jt),nPB.Kc=function(){return new pe(this.a)},nPB.Mc=function(n){var t;return!!(t=XG(this.a,n,AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15)))))&&(noe(this.a,t),t.e=null,t.c=null,!0)},Nj(nba,"HashBiMap/KeySet",618),ncm(1018,544,nbu,pe),nPB.Xd=function(n){return n.g},Nj(nba,"HashBiMap/KeySet/1",1018),ncm(1123,627,nbo),Nj(nba,"HashMultimapGwtSerializationDependencies",1123),ncm(271,1123,nbo,Ds),nPB.hc=function(){return new m$(Ga(this.a))},nPB.pd=function(){return new m$(Ga(this.a))},nPB.a=2,Nj(nba,"HashMultimap",271),ncm(2097,307,nbA),nPB.Hc=function(n){return this.Zd().Hc(n)},nPB.dc=function(){return this.Zd().dc()},nPB.gc=function(){return this.Zd().gc()},Nj(nba,"ImmutableAsList",2097),ncm(2030,730,nbN),nPB.Vd=function(){return Co(),new pV(this.a)},nPB.Cc=function(){return Co(),new pV(this.a)},nPB.xd=function(){return Co(),new pV(this.a)},Nj(nba,"ImmutableBiMap",2030),ncm(2075,1,{}),Nj(nba,"ImmutableCollection/Builder",2075),ncm(1035,719,nb$,pi),Nj(nba,"ImmutableEnumSet",1035),ncm(980,399,nbc,Oz),nPB.Xb=function(n){return this.a.Xb(n)},Nj(nba,"ImmutableList/1",980),ncm(979,2075,{},Ok),Nj(nba,"ImmutableList/Builder",979),ncm(623,204,nbr,h7),nPB.Ob=function(){return this.a.Ob()},nPB.Pb=function(){return CY(this.a.Pb(),44).ld()},Nj(nba,"ImmutableMap/1",623),ncm(1054,1,{},o),nPB.Kb=function(n){return CY(n,44).ld()},Nj(nba,"ImmutableMap/2methodref$getKey$Type",1054),ncm(1053,1,{},OM),Nj(nba,"ImmutableMap/Builder",1053),ncm(2098,2079,nb$),nPB.Md=function(){return this.b||(this.b=new dS(this))},nPB.Nd=function(){return new LN(this,nn7(this,BJ(nPa,nl7,1,this.gc(),5,1)))},Nj(nba,"ImmutableSet/CachingAsList",2098),ncm(2099,2098,nb$),nPB.Kc=function(){return new h7(A1(this.a).Od())},nPB.Nd=function(){return new dS(this)},nPB.Jc=function(n){var t,e;for(NP(n),e=this.gc(),t=0;t<e;t++)n.Cd(CY(A1(this.a).Md().Xb(t),44).ld())},nPB.Od=function(){return S0(this.b||(this.b=new dS(this)),0)},nPB.Nc=function(){return Iz(this.gc(),1296,new ft(this))},Nj(nba,"IndexedImmutableSet",2099),ncm(1230,2099,nb$,dT),nPB.Kc=function(){return new h7(A1(this.a).Od())},nPB.Hc=function(n){return this.a._b(n)},nPB.Jc=function(n){NP(n),zs(this.a,new fn(n))},nPB.Od=function(){return new h7(A1(this.a).Od())},nPB.gc=function(){return this.a.gc()},nPB.Nc=function(){return CX(A1(this.a).Nc(),new o)},Nj(nba,"ImmutableMapKeySet",1230),ncm(1231,1,{},fn),nPB.Yd=function(n,t){Co(),this.a.Cd(n)},Nj(nba,"ImmutableMapKeySet/lambda$0$Type",1231),ncm(1227,2078,nbI,dj),nPB.Kc=function(){return new Iv(this)},nPB.Md=function(){return new je(this,A1(this.a).Md())},nPB.Hc=function(n){return null!=n&&function(n,t){if(null==t){for(;n.a.Ob();)if(null==CY(n.a.Pb(),44).md())return!0}else for(;n.a.Ob();)if(QY(t,CY(n.a.Pb(),44).md()))return!0;return!1}(new Iv(this),n)},nPB.Od=function(){return new Iv(this)},nPB.gc=function(){return this.a.gc()},nPB.Nc=function(){return CX(A1(this.a).Nc(),new u)},Nj(nba,"ImmutableMapValues",1227),ncm(1228,1,{},u),nPB.Kb=function(n){return CY(n,44).md()},Nj(nba,"ImmutableMapValues/0methodref$getValue$Type",1228),ncm(637,204,nbr,Iv),nPB.Ob=function(){return this.a.Ob()},nPB.Pb=function(){return CY(this.a.Pb(),44).md()},Nj(nba,"ImmutableMapValues/1",637),ncm(1229,2097,nbA,je),nPB.Zd=function(){return this.a},nPB.Xb=function(n){return CY(this.b.Xb(n),44).md()},Nj(nba,"ImmutableMapValues/2",1229),ncm(1232,1,{},ft),nPB.td=function(n){return ND(this.a,n)},Nj(nba,"IndexedImmutableSet/0methodref$get$Type",1232),ncm(638,2097,nbA,dS),nPB.Zd=function(){return this.a},nPB.Xb=function(n){return ND(this.a,n)},nPB.gc=function(){return this.a.a.gc()},Nj(nba,"IndexedImmutableSet/1",638),ncm(43,1,{},s),nPB.Kb=function(n){return CY(n,20).Kc()},nPB.Fb=function(n){return this===n},Nj(nba,"Iterables/10",43),ncm(1055,547,nbO,Iy),nPB.Jc=function(n){NP(n),this.b.Jc(new vy(this.a,n))},nPB.Kc=function(){return TR(this)},Nj(nba,"Iterables/4",1055),ncm(1056,1,nbE,vy),nPB.Cd=function(n){var t,e;t=this.b,e=this.a,t.Mb(n)&&e.Cd(n)},Nj(nba,"Iterables/4/lambda$0$Type",1056),ncm(1057,547,nbO,Ik),nPB.Jc=function(n){NP(n),_r(this.a,new vM(n,this.b))},nPB.Kc=function(){return Sb(new j2(this.a),this.b)},Nj(nba,"Iterables/5",1057),ncm(1058,1,nbE,vM),nPB.Cd=function(n){this.a.Cd(TL(n))},Nj(nba,"Iterables/5/lambda$0$Type",1058),ncm(1087,204,nbr,fe),nPB.Ob=function(){return this.a.Ob()},nPB.Pb=function(){return this.a.Pb()},Nj(nba,"Iterators/1",1087),ncm(1088,713,nbr,vk),nPB.Yb=function(){for(var n;this.b.Ob();)if(n=this.b.Pb(),this.a.Lb(n))return n;return this.e=2,null},Nj(nba,"Iterators/5",1088),ncm(497,1,nbu),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.b.Ob()},nPB.Pb=function(){return this.$d(this.b.Pb())},nPB.Qb=function(){this.b.Qb()},Nj(nba,"TransformedIterator",497),ncm(1089,497,nbu,Sf),nPB.$d=function(n){return this.a.Kb(n)},Nj(nba,"Iterators/6",1089),ncm(732,204,nbr,fi),nPB.Ob=function(){return!this.a},nPB.Pb=function(){if(this.a)throw(new dF).e;return this.a=!0,this.b},nPB.a=!1,Nj(nba,"Iterators/9",732),ncm(1086,399,nbc,Av),nPB.Xb=function(n){return this.a[this.b+n]},nPB.b=0,Nj(nba,"Iterators/ArrayItr",1086),ncm(38,1,{38:1,51:1},Le),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return ncv(this)},nPB.Pb=function(){return _I(this)},nPB.Qb=function(){if(!this.c)throw new px(nbt).e;this.c.Qb(),this.c=null},Nj(nba,"Iterators/ConcatenatedIterator",38),ncm(22,1,{3:1,34:1,22:1}),nPB.Fd=function(n){var t;return t=CY(n,22),this.g-t.g},nPB.Fb=function(n){return this===n},nPB.Hb=function(){return SK(this)},nPB.Ib=function(){return Pe(this)},nPB.g=0;var nPw=Nj(nl4,"Enum",22);ncm(549,22,{549:1,3:1,34:1,22:1,51:1},jC),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return!1},nPB.Pb=function(){throw(new dF).e},nPB.Qb=function(){Cs(!1)};var nPd=qc(nba,"Iterators/EmptyModifiableIterator",549,nPw,function(){return pw(),Vw(DY(nPd,1),nbG,549,0,[nPZ])},function(n){return pw(),qa((DL(),nP1),n)});ncm(1907,627,nbo),Nj(nba,"LinkedHashMultimapGwtSerializationDependencies",1907),ncm(1908,1907,nbo,Qc),nPB.hc=function(){return new SM(Ga(this.b))},nPB.$b=function(){qO(this),dM(this.a,this.a)},nPB.pd=function(){return new SM(Ga(this.b))},nPB.ic=function(n){return new WC(this,n,this.b)},nPB.kc=function(){return new NI(this)},nPB.lc=function(){var n;return new R$(CY(!(n=this.g)?this.g=new g6(this):n,21),17)},nPB.ec=function(){return this.i||(this.i=new j4(this,this.c))},nPB.nc=function(){return new pc(new NI(this))},nPB.oc=function(){var n;return CX(new R$(CY(!(n=this.g)?this.g=new g6(this):n,21),17),new h)},nPB.b=2,Nj(nba,"LinkedHashMultimap",1908),ncm(1911,1,{},h),nPB.Kb=function(n){return CY(n,44).md()},Nj(nba,"LinkedHashMultimap/0methodref$getValue$Type",1911),ncm(834,1,nbu,NI),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){var n;if(this.a==this.b.a)throw(new dF).e;return n=this.a,this.c=n,this.a=CY(xh(this.a.e),227),n},nPB.Ob=function(){return this.a!=this.b.a},nPB.Qb=function(){Cs(!!this.c),Kh(this.b,this.c.g,this.c.i),this.c=null},Nj(nba,"LinkedHashMultimap/1",834),ncm(227,246,{358:1,246:1,227:1,604:1,3:1,44:1},xg),nPB._d=function(){return CY(xh(this.f),604)},nPB.ae=function(n){this.c=n},nPB.be=function(n){this.f=n},nPB.d=0;var nPg=Nj(nba,"LinkedHashMultimap/ValueEntry",227);ncm(1909,2068,{604:1,20:1,31:1,16:1,21:1},WC),nPB.Fc=function(n){var t,e,i,r,a;for(t=(a=AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15))))&this.b.length-1,e=r=this.b[t];e;e=e.a)if(e.d==a&&N7(e.i,n))return!1;return i=new xg(this.c,n,a,r),pz(this.d,i),i.f=this,this.d=i,dM(CY(xh(this.g.a.b),227),i),dM(i,this.g.a),this.b[t]=i,++this.f,++this.e,!function(n){var t,e,i,r,a,c;if(n.f>(c=n.b.length)&&c<nbH)for(i=BJ(nPg,nbF,227,2*n.b.length,0,1),n.b=i,r=i.length-1,e=n.a;e!=n;e=e._d())t=(a=CY(e,227)).d&r,a.a=i[t],i[t]=a}(this),!0},nPB.$b=function(){var n,t;for(y$(this.b,null),this.f=0,n=this.a;n!=this;n=n._d())t=CY(n,227),dM(CY(xh(t.b),227),CY(xh(t.e),227));this.a=this,this.d=this,++this.e},nPB.Hc=function(n){var t,e;for(e=AW(J_(nbR,xC(AW(J_(null==n?0:XS(n),nbK)),15))),t=this.b[e&this.b.length-1];t;t=t.a)if(t.d==e&&N7(t.i,n))return!0;return!1},nPB.Jc=function(n){var t;for(NP(n),t=this.a;t!=this;t=t._d())n.Cd(CY(t,227).i)},nPB._d=function(){return this.a},nPB.Kc=function(){return new N2(this)},nPB.Mc=function(n){return noR(this,n)},nPB.ae=function(n){this.d=n},nPB.be=function(n){this.a=n},nPB.gc=function(){return this.f},nPB.e=0,nPB.f=0,Nj(nba,"LinkedHashMultimap/ValueSet",1909),ncm(1910,1,nbu,N2),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return IW(this),this.b!=this.c},nPB.Pb=function(){var n,t;if(IW(this),this.b==this.c)throw(new dF).e;return t=(n=CY(this.b,227)).i,this.d=n,this.b=CY(xh(n.f),604),t},nPB.Qb=function(){IW(this),Cs(!!this.d),noR(this.c,this.d.i),this.a=this.c.e,this.d=null},nPB.a=0,Nj(nba,"LinkedHashMultimap/ValueSet/1",1910),ncm(780,2084,nbo,Tn),nPB.Zb=function(){return this.f||(this.f=new yR(this))},nPB.Fb=function(n){return WE(this,n)},nPB.cc=function(n){return new vE(this,n)},nPB.fc=function(n){return B1(this,n)},nPB.$b=function(){L4(this)},nPB._b=function(n){return LR(this.b,n)},nPB.ac=function(){return new yR(this)},nPB.bc=function(){return new fa(this)},nPB.qc=function(n){return new vE(this,n)},nPB.dc=function(){return!this.a},nPB.rc=function(n){return B1(this,n)},nPB.gc=function(){return this.d},nPB.c=0,nPB.d=0,Nj(nba,"LinkedListMultimap",780),ncm(56,31,nbq),nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.bd=function(n,t){throw new pR("Add not supported on this list").e},nPB.Fc=function(n){return this.bd(this.gc(),n),!0},nPB.cd=function(n,t){var e,i,r;for(xf(t),e=!1,r=t.Kc();r.Ob();)i=r.Pb(),this.bd(n++,i),e=!0;return e},nPB.$b=function(){this.ce(0,this.gc())},nPB.Fb=function(n){return ncP(this,n)},nPB.Hb=function(){return V7(this)},nPB.dd=function(n){return qI(this,n)},nPB.Kc=function(){return new fq(this)},nPB.ed=function(){return this.fd(0)},nPB.fd=function(n){return new Kp(this,n)},nPB.gd=function(n){throw new pR("Remove not supported on this list").e},nPB.ce=function(n,t){var e,i;for(i=this.fd(n),e=n;e<t;++e)i.Pb(),i.Qb()},nPB.hd=function(n,t){throw new pR("Set not supported on this list").e},nPB.kd=function(n,t){return new Rk(this,n,t)},nPB.j=0,Nj(nbs,"AbstractList",56),ncm(2062,56,nbq),nPB.bd=function(n,t){S2(this,n,t)},nPB.cd=function(n,t){return WA(this,n,t)},nPB.Xb=function(n){return nnt(this,n)},nPB.Kc=function(){return this.fd(0)},nPB.gd=function(n){return ntQ(this,n)},nPB.hd=function(n,t){var e,i;e=this.fd(n);try{return i=e.Pb(),e.Wb(t),i}catch(t){if(jM(t=Vt(t),112))throw new pC("Can't set element "+n).e;throw t.e}},Nj(nbs,"AbstractSequentialList",2062),ncm(646,2062,nbq,vE),nPB.fd=function(n){return Sw(this,n)},nPB.gc=function(){var n;return(n=CY(NR(this.a.b,this.b),260))?n.a:0},Nj(nba,"LinkedListMultimap/1",646),ncm(1316,2068,nbl,fa),nPB.Hc=function(n){var t;return t=this.a,LR(t.b,n)},nPB.Kc=function(){return new Xy(this.a)},nPB.Mc=function(n){return!B1(this.a,n).a.dc()},nPB.gc=function(){return v_(this.a.b)},Nj(nba,"LinkedListMultimap/1KeySetImpl",1316),ncm(1315,1,nbu,Xy),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return IQ(this),!!this.c},nPB.Pb=function(){if(IQ(this),!this.c)throw(new dF).e;this.a=this.c,LX(this.d,this.a.a);do this.c=this.c.b;while(!!this.c&&!LX(this.d,this.c.a))return this.a.a},nPB.Qb=function(){IQ(this),Cs(!!this.a),IJ(new H8(this.e,this.a.a)),this.a=null,this.b=this.e.c},nPB.b=0,Nj(nba,"LinkedListMultimap/DistinctKeyIterator",1315),ncm(260,1,{260:1},$F),nPB.a=0,Nj(nba,"LinkedListMultimap/KeyList",260),ncm(511,358,{358:1,511:1,44:1},vT),nPB.ld=function(){return this.a},nPB.md=function(){return this.f},nPB.nd=function(n){var t;return t=this.f,this.f=n,t},Nj(nba,"LinkedListMultimap/Node",511),ncm(566,1,nbg,H8,nrU),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){this.e=nsw(this.f,this.b,n,this.c),++this.d,this.a=null},nPB.Ob=function(){return!!this.c},nPB.Sb=function(){return!!this.e},nPB.Pb=function(){return U_(this)},nPB.Tb=function(){return this.d},nPB.Ub=function(){return UF(this)},nPB.Vb=function(){return this.d-1},nPB.Qb=function(){var n,t,e;Cs(!!this.a),this.a!=this.c?(this.e=this.a.e,--this.d):this.c=this.a.c,n=this.f,(t=this.a).d?t.d.b=t.b:n.a=t.b,t.b?t.b.d=t.d:n.e=t.d,t.e||t.c?(e=CY(xh(CY(NR(n.b,t.a),260)),260),--e.a,t.e?t.e.c=t.c:e.b=CY(xh(t.c),511),t.c?t.c.e=t.e:e.c=CY(xh(t.e),511)):((e=CY(xh(CY(_Y(n.b,t.a),260)),260)).a=0,++n.c),--n.d,this.a=null},nPB.Wb=function(n){j8(!!this.a),this.a.f=n},nPB.d=0,Nj(nba,"LinkedListMultimap/ValueForKeyIterator",566),ncm(1031,56,nbq),nPB.bd=function(n,t){this.a.bd(n,t)},nPB.cd=function(n,t){return this.a.cd(n,t)},nPB.Hc=function(n){return this.a.Hc(n)},nPB.Xb=function(n){return this.a.Xb(n)},nPB.gd=function(n){return this.a.gd(n)},nPB.hd=function(n,t){return this.a.hd(n,t)},nPB.gc=function(){return this.a.gc()},Nj(nba,"Lists/AbstractListWrapper",1031),ncm(1032,1031,nbz),Nj(nba,"Lists/RandomAccessListWrapper",1032),ncm(1034,1032,nbz,vA),nPB.fd=function(n){return this.a.fd(n)},Nj(nba,"Lists/1",1034),ncm(441,56,{441:1,20:1,31:1,56:1,16:1,15:1},vL),nPB.bd=function(n,t){this.a.bd(Lq(this,n),t)},nPB.$b=function(){this.a.$b()},nPB.Xb=function(n){return this.a.Xb(NT(this,n))},nPB.Kc=function(){return RH(this,0)},nPB.fd=function(n){return RH(this,n)},nPB.gd=function(n){return this.a.gd(NT(this,n))},nPB.ce=function(n,t){(KP(n,t,this.a.gc()),Yi(this.a.kd(Lq(this,t),Lq(this,n)))).$b()},nPB.hd=function(n,t){return this.a.hd(NT(this,n),t)},nPB.gc=function(){return this.a.gc()},nPB.kd=function(n,t){return KP(n,t,this.a.gc()),Yi(this.a.kd(Lq(this,t),Lq(this,n)))},Nj(nba,"Lists/ReverseList",441),ncm(1030,441,{441:1,20:1,31:1,56:1,16:1,15:1,59:1},pr),Nj(nba,"Lists/RandomAccessReverseList",1030),ncm(1033,1,nbg,vP),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){this.c.Rb(n),this.c.Ub(),this.a=!1},nPB.Ob=function(){return this.c.Sb()},nPB.Sb=function(){return this.c.Ob()},nPB.Pb=function(){if(!this.c.Sb())throw(new dF).e;return this.a=!0,this.c.Ub()},nPB.Tb=function(){return Lq(this.b,this.c.Tb())},nPB.Ub=function(){if(!this.c.Ob())throw(new dF).e;return this.a=!0,this.c.Pb()},nPB.Vb=function(){return Lq(this.b,this.c.Tb())-1},nPB.Qb=function(){Cs(this.a),this.c.Qb(),this.a=!1},nPB.Wb=function(n){j8(this.a),this.c.Wb(n)},nPB.a=!1,Nj(nba,"Lists/ReverseList/1",1033),ncm(440,497,nbu,pa),nPB.$d=function(n){return yI(n)},Nj(nba,"Maps/1",440),ncm(712,497,nbu,pc),nPB.$d=function(n){return CY(n,44).md()},Nj(nba,"Maps/2",712),ncm(975,497,nbu,Sl),nPB.$d=function(n){var t;return new vj(n,(t=this.a,t.a.a.a.cc(n)))},Nj(nba,"Maps/3",975),ncm(972,2069,nbl,fo),nPB.Jc=function(n){var t;t=this.a,t.kc().Nb(n)},nPB.Kc=function(){return this.a.kc()},nPB.Rc=function(){return this.a},nPB.Nc=function(){return this.a.lc()},Nj(nba,"Maps/IteratorBasedAbstractMap/1",972),ncm(973,1,{},fu),nPB.Yd=function(n,t){this.a.Cd(n)},Nj(nba,"Maps/KeySet/lambda$0$Type",973),ncm(971,31,nbf,vN),nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return this.a.uc(n)},nPB.Jc=function(n){NP(n),this.a.wc(new fc(n))},nPB.dc=function(){return this.a.dc()},nPB.Kc=function(){return new pc(this.a.vc().Kc())},nPB.Mc=function(n){var t,e;try{return Yd(this,n,!0)}catch(i){if(jM(i=Vt(i),48)){for(e=this.a.vc().Kc();e.Ob();)if(N7(n,(t=CY(e.Pb(),44)).md()))return this.a.Bc(t.ld()),!0;return!1}throw i.e}},nPB.gc=function(){return this.a.gc()},Nj(nba,"Maps/Values",971),ncm(974,1,{},fc),nPB.Yd=function(n,t){this.a.Cd(t)},Nj(nba,"Maps/Values/lambda$0$Type",974),ncm(752,2085,nbh,yR),nPB.xc=function(n){return this.a._b(n)?this.a.cc(n):null},nPB.Bc=function(n){return this.a._b(n)?this.a.fc(n):null},nPB.$b=function(){this.a.$b()},nPB._b=function(n){return this.a._b(n)},nPB.Ec=function(){return new fs(this)},nPB.Dc=function(){return this.Ec()},nPB.dc=function(){return this.a.dc()},nPB.ec=function(){return this.a.ec()},nPB.gc=function(){return this.a.ec().gc()},Nj(nba,"Multimaps/AsMap",752),ncm(1134,2069,nbl,fs),nPB.Kc=function(){var n,t;return n=this.a.a.ec(),t=new fh(this),new Sl(n.Kc(),t)},nPB.Rc=function(){return this.a},nPB.Mc=function(n){var t,e,i;return!!YB(this,n)&&(t=CY(xh(CY(n,44)),44),e=this.a,i=t.ld(),e.a.ec().Mc(i),!0)},Nj(nba,"Multimaps/AsMap/EntrySet",1134),ncm(1138,1,{},fh),nPB.Kb=function(n){return this.a.a.a.cc(n)},nPB.Fb=function(n){return this===n},Nj(nba,"Multimaps/AsMap/EntrySet/1",1138),ncm(552,2087,{552:1,849:1,20:1,31:1,16:1},ff),nPB.$b=function(){qO(this.a)},nPB.Hc=function(n){var t;return t=this.a,t.c._b(n)},nPB.Jc=function(n){NP(n),_r(Ng(this.a),new fb(n))},nPB.Kc=function(){return new pa(Ng(this.a).a.kc())},nPB.gc=function(){return this.a.d},nPB.Nc=function(){return CX(Ng(this.a).Nc(),new f)},Nj(nba,"Multimaps/Keys",552),ncm(1136,1,{},f),nPB.Kb=function(n){return CY(n,44).ld()},Nj(nba,"Multimaps/Keys/0methodref$getKey$Type",1136),ncm(1135,497,nbu,po),nPB.$d=function(n){return new fl(CY(n,44))},Nj(nba,"Multimaps/Keys/1",1135),ncm(2088,1,{425:1}),nPB.Fb=function(n){var t;return!!jM(n,504)&&(t=CY(n,425),CY(this.a.md(),16).gc()==CY(t.a.md(),16).gc()&&N7(this.a.ld(),t.a.ld()))},nPB.Hb=function(){var n;return(null==(n=this.a.ld())?0:XS(n))^CY(this.a.md(),16).gc()},nPB.Ib=function(){var n,t;return t=Sp(this.a.ld()),1==(n=CY(this.a.md(),16).gc())?t:t+" x "+n},Nj(nba,"Multisets/AbstractEntry",2088),ncm(504,2088,{504:1,425:1},fl),Nj(nba,"Multimaps/Keys/1/1",504),ncm(1137,1,nbE,fb),nPB.Cd=function(n){this.a.Cd(CY(n,44).ld())},Nj(nba,"Multimaps/Keys/lambda$1$Type",1137),ncm(1140,1,nbE,l),nPB.Cd=function(n){var t;(t=CY(n,425)).a.ld(),CY(t.a.md(),16).gc(),pJ()},Nj(nba,"Multiset/lambda$0$Type",1140),ncm(753,1,nbE,fw),nPB.Cd=function(n){!function(n,t){var e,i,r;for(r=0,i=t.a.ld(),e=CY(t.a.md(),16).gc();r<e;r++)n.Cd(i)}(this.a,CY(n,425))},Nj(nba,"Multiset/lambda$1$Type",753),ncm(1141,1,{},b),Nj(nba,"Multisets/0methodref$add$Type",1141),ncm(754,1,{},w),nPB.Kb=function(n){var t;return t=CY(n,425),new R$(function(n,t){var e,i;for($O(),i=new du,e=0;e<n;++e)dk(i.c,t);return new p7(i)}(CY(t.a.md(),16).gc(),t.a.ld()),16)},Nj(nba,"Multisets/lambda$1$Type",754),ncm(2106,1,nl6),Nj(nba,"RangeGwtSerializationDependencies",2106),ncm(521,2106,{178:1,521:1,3:1,46:1},nny),nPB.Lb=function(n){return A5(this,CY(n,34))},nPB.Mb=function(n){return A5(this,CY(n,34))},nPB.Fb=function(n){var t;return!!jM(n,521)&&(t=CY(n,521),nta(this.a,t.a)&&nta(this.b,t.b))},nPB.Hb=function(){return 31*this.a.Hb()+this.b.Hb()},nPB.Ib=function(){return Fg(this.a,this.b)},Nj(nba,"Range",521),ncm(654,2097,nbA,LN),nPB.fd=function(n){return S0(this.b,n)},nPB.Zd=function(){return this.a},nPB.Xb=function(n){return Eq(this.b,n)},nPB.Pd=function(n){return S0(this.b,n)},Nj(nba,"RegularImmutableAsList",654),ncm(656,2105,nbA,Dn),nPB.Rd=function(){return this.a},Nj(nba,"RegularImmutableList",656),ncm(548,730,nbN,pu,ps),Nj(nba,"RegularImmutableMap",548),ncm(731,719,nb$,yN),Nj(nba,"RegularImmutableSet",731),ncm(2074,2063,nbl),nPB.Kc=function(){return new xG(this.a,this.b)},nPB.Fc=function(n){throw(new dD).e},nPB.Gc=function(n){throw(new dD).e},nPB.$b=function(){throw(new dD).e},nPB.Mc=function(n){throw(new dD).e},Nj(nba,"Sets/SetView",2074),ncm(976,2074,nbl,vI),nPB.Kc=function(){return new xG(this.a,this.b)},nPB.Hc=function(n){return AE(this.a,n)&&this.b.Hc(n)},nPB.Ic=function(n){return z7(this.a,n)&&this.b.Ic(n)},nPB.dc=function(){return nnf(this.b,this.a)},nPB.Lc=function(){return xX(new Aa(null,new R$(this.a,1)),new fg(this.b))},nPB.gc=function(){return zH(this)},nPB.Oc=function(){return xX(new Aa(null,new R$(this.a,1)),new fd(this.b))},Nj(nba,"Sets/2",976),ncm(977,1,nbV,fd),nPB.Mb=function(n){return this.a.Hc(n)},Nj(nba,"Sets/2/0methodref$contains$Type",977),ncm(714,713,nbr,xG),nPB.Yb=function(){for(var n;ja(this.a);)if(n=Fj(this.a),this.c.Hc(n))return n;return this.e=2,null},Nj(nba,"Sets/2/1",714),ncm(978,1,nbV,fg),nPB.Mb=function(n){return this.a.Hc(n)},Nj(nba,"Sets/2/1methodref$contains$Type",978),ncm(616,2073,{616:1,3:1,20:1,16:1,277:1,21:1,87:1},Dk),nPB.Kd=function(){return this.b},nPB.Ld=function(){return this.b},nPB.Wd=function(){return this.b},nPB.Jc=function(n){this.a.Jc(n)},nPB.Lc=function(){return this.a.Lc()},nPB.Oc=function(){return this.a.Oc()},Nj(nba,"Sets/UnmodifiableNavigableSet",616),ncm(2031,2030,nbN,xp),nPB.Vd=function(){return Co(),new pV(this.a)},nPB.Cc=function(){return Co(),new pV(this.a)},nPB.xd=function(){return Co(),new pV(this.a)},Nj(nba,"SingletonImmutableBiMap",2031),ncm(657,2105,nbA,IY),nPB.Rd=function(){return this.a},Nj(nba,"SingletonImmutableList",657),ncm(363,2079,nb$,pV),nPB.Kc=function(){return new fi(this.a)},nPB.Hc=function(n){return QY(this.a,n)},nPB.Od=function(){return new fi(this.a)},nPB.gc=function(){return 1},Nj(nba,"SingletonImmutableSet",363),ncm(1148,1,{},d),nPB.Kb=function(n){return CY(n,159)},Nj(nba,"Streams/lambda$0$Type",1148),ncm(1149,1,nbW,fp),nPB.de=function(){var n,t,e=this.a;for(n=0,t=e.length;n<t;++n)xc(e[n])},Nj(nba,"Streams/lambda$1$Type",1149),ncm(1725,1724,nbo,$K),nPB.Zb=function(){return CY(CY(this.f||(this.f=jM(this.c,139)?new PX(this,CY(this.c,139)):jM(this.c,133)?new Pq(this,CY(this.c,133)):new vg(this,this.c)),133),139)},nPB.hc=function(){return new mH(this.b)},nPB.pd=function(){return new mH(this.b)},nPB.ec=function(){return CY(CY(this.i||(this.i=jM(this.c,139)?new vu(this,CY(this.c,139)):jM(this.c,133)?new vo(this,CY(this.c,133)):new j4(this,this.c)),87),277)},nPB.ac=function(){return jM(this.c,139)?new PX(this,CY(this.c,139)):jM(this.c,133)?new Pq(this,CY(this.c,133)):new vg(this,this.c)},nPB.ic=function(n){return null==n&&this.a.Ne(n,n),new mH(this.b)},Nj(nba,"TreeMultimap",1725),ncm(82,1,{3:1,82:1}),nPB.ee=function(n){return Error(n)},nPB.fe=function(){return this.e},nPB.ge=function(){var n,t,e;for(null==this.k&&(this.k=BJ(nPp,nby,82,0,0,1)),t=BJ(nPa,nl7,1,(e=this.k).length,5,1),n=0;n<e.length;n++)t[n]=e[n].e;return t},nPB.he=function(){return this.f},nPB.ie=function(){return this.g},nPB.je=function(){var n;this.e=n=function(n){if(!("stack"in n))try{throw n}catch(n){}return n}(this.ee(De(this,this.g))),noG(this,n),$_(),nP6.le(this)},nPB.Ib=function(){return De(this,this.ie())},nPB.e=nbY,nPB.i=!1,nPB.n=!0;var nPp=Nj(nl4,"Throwable",82);ncm(103,82,{3:1,103:1,82:1}),Nj(nl4,"Exception",103),ncm(63,103,nbZ,dO,ph),Nj(nl4,"RuntimeException",63),ncm(607,63,nbZ),Nj(nl4,"JsException",607),ncm(875,607,nbZ),Nj(nb1,"JavaScriptExceptionBase",875),ncm(486,875,{486:1,3:1,103:1,63:1,82:1},Qr),nPB.ie=function(){var n,t,e,i;return n=this,null==n.c&&(t=ER(n.b)===ER(nP2)?null:n.b,n.d=null==t?nbi:A4(t)?null==(e=$b(t))?null:e.name:EK(t)?nb0:mI(WZ(t)),n.a=n.a+": "+(A4(t)?null==(i=$b(t))?null:i.message:t+""),n.c="("+n.d+") "+n.a),this.c},nPB.ke=function(){return ER(this.b)===ER(nP2)?null:this.b},Nj(nb2,"JavaScriptException",486);var nPm=Nj(nb2,"JavaScriptObject$",0);ncm(2047,1,{}),Nj(nb2,"Scheduler",2047);var nPv=0,nPy=0,nPk=-1;ncm(902,2047,{},g),Nj(nb1,"SchedulerImpl",902),ncm(2058,1,{}),Nj(nb1,"StackTraceCreator/Collector",2058),ncm(876,2058,{},p),nPB.le=function(n){var t={},e=[];n[nb4]=e;for(var i=arguments.callee.caller;i;){var r,a,c=($_(),i.name||(i.name=function(n){var t=/function(?:\s+([\w$]+))?\s*\(/.exec(n);return t&&t[1]||nb3}(i.toString())));e.push(c);var o=":"+c,u=t[o];if(u){for(r=0,a=u.length;r<a;r++)if(u[r]===i)return}(u||(t[o]=[])).push(i),i=i.caller}},nPB.me=function(n){var t,e,i,r;for($_(),r=BJ(nPA,nby,319,e=(i=n&&n[nb4]?n[nb4]:[]).length,0,1),t=0;t<e;t++)r[t]=new x9(i[t],null,-1);return r},Nj(nb1,"StackTraceCreator/CollectorLegacy",876),ncm(2059,2058,{}),nPB.le=function(n){},nPB.ne=function(n,t,e,i){return new x9(t,n+"@"+i,e<0?-1:e)},nPB.me=function(n){var t,e,i,r,a,c;if(r=function(n){$_();var t=n.e;if(t&&t.stack){var e=t.stack,i=t+"\n";return e.substring(0,i.length)==i&&(e=e.substring(i.length)),e.split("\n")}return[]}(n),a=BJ(nPA,nby,319,0,0,1),t=0,0==(i=r.length))return a;for(OB((c=nfQ(this,r[0])).d,nb3)||(a[t++]=c),e=1;e<i;e++)a[t++]=nfQ(this,r[e]);return a},Nj(nb1,"StackTraceCreator/CollectorModern",2059),ncm(877,2059,{},m),nPB.ne=function(n,t,e,i){return new x9(t,n,-1)},Nj(nb1,"StackTraceCreator/CollectorModernNoSourceMap",877),ncm(1064,1,{}),Nj(nwM,nwE,1064),ncm(624,1064,{624:1},NC),Nj(nwT,nwE,624),ncm(2101,1,{}),Nj(nwM,nwj,2101),ncm(2102,2101,{}),Nj(nwT,nwj,2102),ncm(1120,1,{},v),Nj(nwT,"LocaleInfo",1120),ncm(2027,1,{},y),nPB.a=0,Nj(nwT,"TimeZone",2027),ncm(1293,2102,{},k),Nj("com.google.gwt.i18n.client.impl.cldr","DateTimeFormatInfoImpl",1293),ncm(443,1,{443:1},C1),nPB.a=!1,nPB.b=0,Nj(nwM,"DateTimeFormat/PatternPart",443),ncm(206,1,nwS,vD,Vz,Pz),nPB.Fd=function(n){var t;return t=CY(n,206),L8(zF(this.q.getTime()),zF(t.q.getTime()))},nPB.Fb=function(n){return jM(n,206)&&EB(zF(this.q.getTime()),zF(CY(n,206).q.getTime()))},nPB.Hb=function(){var n;return AW(RB(n=zF(this.q.getTime()),A7(n,32)))},nPB.Ib=function(){var n,t,e;return n=((e=-this.q.getTimezoneOffset())>=0?"+":"")+(e/60|0),t=Tv(nP_.Math.abs(e)%60),(niD(),nOz)[this.q.getDay()]+" "+nOV[this.q.getMonth()]+" "+Tv(this.q.getDate())+" "+Tv(this.q.getHours())+":"+Tv(this.q.getMinutes())+":"+Tv(this.q.getSeconds())+" GMT"+n+t+" "+this.q.getFullYear()};var nPM=Nj(nbs,"Date",206);ncm(2015,206,nwS,neg),nPB.a=!1,nPB.b=0,nPB.c=0,nPB.d=0,nPB.e=0,nPB.f=0,nPB.g=!1,nPB.i=0,nPB.j=0,nPB.k=0,nPB.n=0,nPB.o=0,nPB.p=0,Nj("com.google.gwt.i18n.shared.impl","DateRecord",2015),ncm(2064,1,{}),nPB.pe=function(){return null},nPB.qe=function(){return null},nPB.re=function(){return null},nPB.se=function(){return null},nPB.te=function(){return null},Nj(nwP,"JSONValue",2064),ncm(221,2064,{221:1},fM,fm),nPB.Fb=function(n){return!!jM(n,221)&&RK(this.a,CY(n,221).a)},nPB.oe=function(){return dd},nPB.Hb=function(){return $U(this.a)},nPB.pe=function(){return this},nPB.Ib=function(){var n,t,e;for(t=0,e=new Sv("["),n=this.a.length;t<n;t++)t>0&&(e.a+=","),EJ(e,UA(this,t));return e.a+="]",e.a},Nj(nwP,"JSONArray",221),ncm(493,2064,{493:1},fv),nPB.oe=function(){return dg},nPB.qe=function(){return this},nPB.Ib=function(){return SB(),""+this.a},nPB.a=!1,Nj(nwP,"JSONBoolean",493),ncm(997,63,nbZ,pf),Nj(nwP,"JSONException",997),ncm(1036,2064,{},M),nPB.oe=function(){return dp},nPB.Ib=function(){return nbi},Nj(nwP,"JSONNull",1036),ncm(263,2064,{263:1},fy),nPB.Fb=function(n){return!!jM(n,263)&&this.a==CY(n,263).a},nPB.oe=function(){return db},nPB.Hb=function(){return Td(this.a)},nPB.re=function(){return this},nPB.Ib=function(){return this.a+""},nPB.a=0,Nj(nwP,"JSONNumber",263),ncm(190,2064,{190:1},pl,fk),nPB.Fb=function(n){return!!jM(n,190)&&RK(this.a,CY(n,190).a)},nPB.oe=function(){return dw},nPB.Hb=function(){return $U(this.a)},nPB.se=function(){return this},nPB.Ib=function(){var n,t,e,i,r,a;for(a=new Sv("{"),n=!0,r=XD(this,BJ(nPL,nby,2,0,6,1)),e=0,i=r.length;e<i;++e)t=r[e],n?n=!1:a.a+=nl8,EY(a,naQ(t)),a.a+=":",EJ(a,D$(this,t));return a.a+="}",a.a},Nj(nwP,"JSONObject",190),ncm(605,2063,nbl,vR),nPB.Hc=function(n){var t;return EK(n)&&(t=this.a,PA(n)in t.a)},nPB.Kc=function(){return new fq(new pU(this.b))},nPB.gc=function(){return this.b.length},Nj(nwP,"JSONObject/1",605),ncm(211,2064,{211:1},NO),nPB.Fb=function(n){return!!jM(n,211)&&OB(this.a,CY(n,211).a)},nPB.oe=function(){return dl},nPB.Hb=function(){return Wb(this.a)},nPB.te=function(){return this},nPB.Ib=function(){return naQ(this.a)},Nj(nwP,"JSONString",211),ncm(2060,1,{533:1}),Nj(nw$,"OutputStream",2060),ncm(2061,2060,{533:1}),Nj(nw$,"FilterOutputStream",2061),ncm(878,2061,{533:1},j),Nj(nw$,"PrintStream",878),ncm(427,1,{484:1}),nPB.Ib=function(){return this.a},Nj(nl4,"AbstractStringBuilder",427),ncm(538,63,nbZ,pO),Nj(nl4,"ArithmeticException",538),ncm(77,63,nwD,dI,pC),Nj(nl4,"IndexOutOfBoundsException",77),ncm(333,77,{3:1,333:1,103:1,77:1,63:1,82:1},gf,p6),Nj(nl4,"ArrayIndexOutOfBoundsException",333),ncm(537,63,nbZ,dA,pI),Nj(nl4,"ArrayStoreException",537),ncm(296,82,nwR,pA),Nj(nl4,"Error",296),ncm(200,296,nwR,dC,_N),Nj(nl4,"AssertionError",200),nPG={3:1,485:1,34:1};var nPE=Nj(nl4,"Boolean",485);ncm(242,1,{3:1,242:1}),Nj(nl4,"Number",242),ncm(222,242,{3:1,222:1,34:1,242:1},fC),nPB.Fd=function(n){var t;return t=CY(n,222),this.a-t.a},nPB.ue=function(){return this.a},nPB.Fb=function(n){return jM(n,222)&&CY(n,222).a==this.a},nPB.Hb=function(){return this.a},nPB.Ib=function(){return""+this.a},nPB.a=0;var nPT=Nj(nl4,"Byte",222);ncm(180,1,{3:1,180:1,34:1},fI),nPB.Fd=function(n){var t;return t=CY(n,180),this.a-t.a},nPB.Fb=function(n){return jM(n,180)&&CY(n,180).a==this.a},nPB.Hb=function(){return this.a},nPB.Ib=function(){return String.fromCharCode(this.a)},nPB.a=0;var nPj=Nj(nl4,"Character",180);ncm(212,63,{3:1,212:1,103:1,63:1,82:1},dL,pL),Nj(nl4,"ClassCastException",212),nPq={3:1,34:1,345:1,242:1};var nPS=Nj(nl4,"Double",345);ncm(161,242,{3:1,34:1,161:1,242:1},fA,dz),nPB.Fd=function(n){var t;return t=CY(n,161),Jj(this.a,t.a)},nPB.ue=function(){return this.a},nPB.Fb=function(n){return jM(n,161)&&O_(this.a,CY(n,161).a)},nPB.Hb=function(){return Dy(this.a)},nPB.Ib=function(){return""+this.a},nPB.a=0;var nPP=Nj(nl4,"Float",161);ncm(33,63,{3:1,103:1,33:1,63:1,82:1},dN,pN,WK),Nj(nl4,"IllegalArgumentException",33),ncm(73,63,nbZ,dx,px),Nj(nl4,"IllegalStateException",73),ncm(17,242,{3:1,34:1,17:1,242:1},fE),nPB.Fd=function(n){var t;return t=CY(n,17),jo(this.a,t.a)},nPB.ue=function(){return this.a},nPB.Fb=function(n){return jM(n,17)&&CY(n,17).a==this.a},nPB.Hb=function(){return this.a},nPB.Ib=function(){return""+this.a},nPB.a=0;var nPO=Nj(nl4,"Integer",17);ncm(168,242,{3:1,34:1,168:1,242:1},fT),nPB.Fd=function(n){var t;return t=CY(n,168),L8(this.a,t.a)},nPB.ue=function(){return KI(this.a)},nPB.Fb=function(n){return jM(n,168)&&EB(CY(n,168).a,this.a)},nPB.Hb=function(){var n;return AW(A7(n=this.a,32))^AW(n)},nPB.Ib=function(){return""+Lm(this.a)},nPB.a=0;var nPC=Nj(nl4,"Long",168);ncm(2140,1,{}),ncm(1904,63,nbZ,p$),Nj(nl4,"NegativeArraySizeException",1904),ncm(169,607,{3:1,103:1,169:1,63:1,82:1},d$,pD),nPB.ee=function(n){return TypeError(n)},Nj(nl4,"NullPointerException",169),ncm(130,33,{3:1,103:1,33:1,130:1,63:1,82:1},p5),Nj(nl4,"NumberFormatException",130),ncm(191,242,{3:1,34:1,242:1,191:1},fj),nPB.Fd=function(n){var t;return t=CY(n,191),this.a-t.a},nPB.ue=function(){return this.a},nPB.Fb=function(n){return jM(n,191)&&CY(n,191).a==this.a},nPB.Hb=function(){return this.a},nPB.Ib=function(){return""+this.a},nPB.a=0;var nPI=Nj(nl4,"Short",191);ncm(319,1,{3:1,319:1},x9),nPB.Fb=function(n){var t;return!!jM(n,319)&&(t=CY(n,319),this.c==t.c&&this.d==t.d&&this.a==t.a&&this.b==t.b)},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[Qx(this.c),this.a,this.d,this.b]))},nPB.Ib=function(){return this.a+"."+this.d+"("+(null!=this.b?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},nPB.c=0;var nPA=Nj(nl4,"StackTraceElement",319);nPX={3:1,484:1,34:1,2:1};var nPL=Nj(nl4,nb0,2);ncm(111,427,{484:1},p1,p0,Sm),Nj(nl4,"StringBuffer",111),ncm(104,427,{484:1},p2,p3,Sv),Nj(nl4,"StringBuilder",104),ncm(702,77,nwD,p4),Nj(nl4,"StringIndexOutOfBoundsException",702),ncm(2145,1,{}),ncm(48,63,{3:1,103:1,63:1,82:1,48:1},dD,pR),Nj(nl4,"UnsupportedOperationException",48),ncm(247,242,{3:1,34:1,242:1,247:1},Je,mW),nPB.Fd=function(n){return ns2(this,CY(n,247))},nPB.ue=function(){return ni7(nh8(this))},nPB.Fb=function(n){var t;return this===n||!!jM(n,247)&&(t=CY(n,247),this.e==t.e&&0==ns2(this,t))},nPB.Hb=function(){var n;return 0!=this.b||(this.a<54?(n=zF(this.f),this.b=AW(RF(n,-1)),this.b=33*this.b+AW(RF(A9(n,32),-1)),this.b=17*this.b+Dy(this.e)):this.b=17*Qg(this.c)+Dy(this.e)),this.b},nPB.Ib=function(){return nh8(this)},nPB.a=0,nPB.b=0,nPB.d=0,nPB.e=0,nPB.f=0;var nPN=Nj("java.math","BigDecimal",247);ncm(92,242,{3:1,34:1,242:1,92:1},FI,RG,LZ,ZO,TV),nPB.Fd=function(n){return Zb(this,CY(n,92))},nPB.ue=function(){return ni7(nlP(this,0))},nPB.Fb=function(n){return Yr(this,n)},nPB.Hb=function(){return Qg(this)},nPB.Ib=function(){return nlP(this,0)},nPB.b=-2,nPB.c=0,nPB.d=0,nPB.e=0;var nPx=Nj("java.math","BigInteger",92);ncm(498,2065,nbh),nPB.$b=function(){LH(this)},nPB._b=function(n){return LR(this,n)},nPB.uc=function(n){return Wx(this,n,this.i)||Wx(this,n,this.f)},nPB.vc=function(){return new fP(this)},nPB.xc=function(n){return NR(this,n)},nPB.zc=function(n,t){return xM(this,n,t)},nPB.Bc=function(n){return _Y(this,n)},nPB.gc=function(){return v_(this)},nPB.g=0,Nj(nbs,"AbstractHashMap",498),ncm(267,2063,nbl,fP),nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return KA(this,n)},nPB.Kc=function(){return new zM(this.a)},nPB.Mc=function(n){var t;return!!KA(this,n)&&(t=CY(n,44).ld(),this.a.Bc(t),!0)},nPB.gc=function(){return this.a.gc()},Nj(nbs,"AbstractHashMap/EntrySet",267),ncm(268,1,nbu,zM),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return Xu(this)},nPB.Ob=function(){return this.b},nPB.Qb=function(){Ue(this)},nPB.b=!1,nPB.d=0,Nj(nbs,"AbstractHashMap/EntrySetIterator",268),ncm(426,1,nbu,fq),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return yA(this)},nPB.Pb=function(){return $g(this)},nPB.Qb=function(){N6(this)},nPB.b=0,nPB.c=-1,Nj(nbs,"AbstractList/IteratorImpl",426),ncm(98,426,nbg,Kp),nPB.Qb=function(){N6(this)},nPB.Rb=function(n){Oe(this,n)},nPB.Sb=function(){return this.b>0},nPB.Tb=function(){return this.b},nPB.Ub=function(){return Px(this.b>0),this.a.Xb(this.c=--this.b)},nPB.Vb=function(){return this.b-1},nPB.Wb=function(n){P$(-1!=this.c),this.a.hd(this.c,n)},Nj(nbs,"AbstractList/ListIteratorImpl",98),ncm(244,56,nbq,Rk),nPB.bd=function(n,t){RL(n,this.b),this.c.bd(this.a+n,t),++this.b},nPB.Xb=function(n){return RN(n,this.b),this.c.Xb(this.a+n)},nPB.gd=function(n){var t;return RN(n,this.b),t=this.c.gd(this.a+n),--this.b,t},nPB.hd=function(n,t){return RN(n,this.b),this.c.hd(this.a+n,t)},nPB.gc=function(){return this.b},nPB.a=0,nPB.b=0,Nj(nbs,"AbstractList/SubList",244),ncm(266,2063,nbl,fS),nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return this.a._b(n)},nPB.Kc=function(){return new fL(this.a.vc().Kc())},nPB.Mc=function(n){return!!this.a._b(n)&&(this.a.Bc(n),!0)},nPB.gc=function(){return this.a.gc()},Nj(nbs,"AbstractMap/1",266),ncm(541,1,nbu,fL),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.a.Ob()},nPB.Pb=function(){return CY(this.a.Pb(),44).ld()},nPB.Qb=function(){this.a.Qb()},Nj(nbs,"AbstractMap/1/1",541),ncm(231,31,nbf,fN),nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return this.a.uc(n)},nPB.Kc=function(){return new fx(this.a.vc().Kc())},nPB.gc=function(){return this.a.gc()},Nj(nbs,"AbstractMap/2",231),ncm(301,1,nbu,fx),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.a.Ob()},nPB.Pb=function(){return CY(this.a.Pb(),44).md()},nPB.Qb=function(){this.a.Qb()},Nj(nbs,"AbstractMap/2/1",301),ncm(494,1,{494:1,44:1}),nPB.Fb=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),xL(this.d,t.ld())&&xL(this.e,t.md()))},nPB.ld=function(){return this.d},nPB.md=function(){return this.e},nPB.Hb=function(){return T2(this.d)^T2(this.e)},nPB.nd=function(n){return Ot(this,n)},nPB.Ib=function(){return this.d+"="+this.e},Nj(nbs,"AbstractMap/AbstractEntry",494),ncm(397,494,{494:1,397:1,44:1},yH),Nj(nbs,"AbstractMap/SimpleEntry",397),ncm(2082,1,nwJ),nPB.Fb=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),xL(this.ld(),t.ld())&&xL(this.md(),t.md()))},nPB.Hb=function(){return T2(this.ld())^T2(this.md())},nPB.Ib=function(){return this.ld()+"="+this.md()},Nj(nbs,nbm,2082),ncm(2090,2065,nbb),nPB.Xc=function(n){return mC(this.Ee(n))},nPB.tc=function(n){return _P(this,n)},nPB._b=function(n){var t,e;return t=this,e=n,!!t.Fe(e)},nPB.vc=function(){return new fR(this)},nPB.Tc=function(){return LU(this.Ge())},nPB.Yc=function(n){return mC(this.He(n))},nPB.xc=function(n){return ED(this.Fe(n))},nPB.$c=function(n){return mC(this.Ie(n))},nPB.ec=function(){return new f$(this)},nPB.Vc=function(){return LU(this.Je())},nPB._c=function(n){return mC(this.Ke(n))},Nj(nbs,"AbstractNavigableMap",2090),ncm(629,2063,nbl,fR),nPB.Hc=function(n){return jM(n,44)&&_P(this.b,CY(n,44))},nPB.Kc=function(){return this.b.De()},nPB.Mc=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),this.b.Le(t))},nPB.gc=function(){return this.b.gc()},Nj(nbs,"AbstractNavigableMap/EntrySet",629),ncm(1146,2063,nbd,f$),nPB.Nc=function(){return new yK(this)},nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){var t,e;return t=this.a,e=n,!!t.Fe(e)},nPB.Kc=function(){return new fD(this.a.vc().b.De())},nPB.Mc=function(n){var t,e;return t=this.a,e=n,!!t.Fe(e)&&(this.a.Bc(n),!0)},nPB.gc=function(){return this.a.gc()},Nj(nbs,"AbstractNavigableMap/NavigableKeySet",1146),ncm(1147,1,nbu,fD),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return yA(this.a.a)},nPB.Pb=function(){return Pt(this.a).ld()},nPB.Qb=function(){Ce(this.a)},Nj(nbs,"AbstractNavigableMap/NavigableKeySet/1",1147),ncm(2103,31,nbf),nPB.Fc=function(n){return C7(niS(this,n),nwY),!0},nPB.Gc=function(n){return xf(n),C9(n!=this,"Can't add a queue to itself"),Xx(this,n)},nPB.$b=function(){for(;null!=UN(this););},Nj(nbs,"AbstractQueue",2103),ncm(310,31,{4:1,20:1,31:1,16:1},j1,Km),nPB.Fc=function(n){return K2(this,n),!0},nPB.$b=function(){FT(this)},nPB.Hc=function(n){return Vr(new xU(this),n)},nPB.dc=function(){return pq(this)},nPB.Kc=function(){return new xU(this)},nPB.Mc=function(n){var t;return!!Vr(t=new xU(this),n)&&(qP(t),!0)},nPB.gc=function(){return this.c-this.b&this.a.length-1},nPB.Nc=function(){return new R$(this,272)},nPB.Qc=function(n){var t;return t=this.c-this.b&this.a.length-1,n.length<t&&(n=Hk(Array(t),n)),Xw(this,n,t),n.length>t&&NK(n,t,null),n},nPB.b=0,nPB.c=0,Nj(nbs,"ArrayDeque",310),ncm(459,1,nbu,xU),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.a!=this.b},nPB.Pb=function(){return Qd(this)},nPB.Qb=function(){qP(this)},nPB.a=0,nPB.b=0,nPB.c=-1,Nj(nbs,"ArrayDeque/IteratorImpl",459),ncm(13,56,nwZ,du,Bf,O8),nPB.bd=function(n,t){AC(this,n,t)},nPB.Fc=function(n){return jB(this,n)},nPB.cd=function(n,t){return W0(this,n,t)},nPB.Gc=function(n){return Vc(this,n)},nPB.$b=function(){dG(this.c,0)},nPB.Hc=function(n){return -1!=H6(this,n,0)},nPB.Jc=function(n){Gd(this,n)},nPB.Xb=function(n){return I0(this,n)},nPB.dd=function(n){return H6(this,n,0)},nPB.dc=function(){return 0==this.c.length},nPB.Kc=function(){return new fU(this)},nPB.gd=function(n){return _V(this,n)},nPB.Mc=function(n){return H0(this,n)},nPB.ce=function(n,t){Ry(this,n,t)},nPB.hd=function(n,t){return _o(this,n,t)},nPB.gc=function(){return this.c.length},nPB.jd=function(n){ji(this,n)},nPB.Pc=function(){return IS(this.c)},nPB.Qc=function(n){return ZB(this,n)};var nP$=Nj(nbs,"ArrayList",13);ncm(7,1,nbu,fU),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return jr(this)},nPB.Pb=function(){return RU(this)},nPB.Qb=function(){L6(this)},nPB.a=0,nPB.b=-1,Nj(nbs,"ArrayList/1",7),ncm(2112,nP_.Function,{},S),nPB.Me=function(n,t){return Jj(n,t)},ncm(151,56,nw1,pU),nPB.Hc=function(n){return -1!=qI(this,n)},nPB.Jc=function(n){var t,e,i,r;for(xf(n),e=this.a,i=0,r=e.length;i<r;++i)t=e[i],n.Cd(t)},nPB.Xb=function(n){return I2(this,n)},nPB.hd=function(n,t){var e;return RN(n,this.a.length),e=this.a[n],NK(this.a,n,t),e},nPB.gc=function(){return this.a.length},nPB.jd=function(n){AO(this.a,this.a.length,n)},nPB.Pc=function(){return ZH(this,BJ(nPa,nl7,1,this.a.length,5,1))},nPB.Qc=function(n){return ZH(this,n)},Nj(nbs,"Arrays/ArrayList",151),ncm(953,56,nw1,P),nPB.Hc=function(n){return!1},nPB.Xb=function(n){return E8(n)},nPB.Kc=function(){return $O(),vz(),nOU},nPB.ed=function(){return $O(),vz(),nOU},nPB.gc=function(){return 0},Nj(nbs,"Collections/EmptyList",953),ncm(954,1,nbg,O),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){throw(new dD).e},nPB.Ob=function(){return!1},nPB.Sb=function(){return!1},nPB.Pb=function(){throw(new dF).e},nPB.Tb=function(){return 0},nPB.Ub=function(){throw(new dF).e},nPB.Vb=function(){return -1},nPB.Qb=function(){throw(new dx).e},nPB.Wb=function(n){throw(new dx).e},Nj(nbs,"Collections/EmptyListIterator",954),ncm(956,2065,nbN,C),nPB._b=function(n){return!1},nPB.uc=function(n){return!1},nPB.vc=function(){return $O(),nOH},nPB.xc=function(n){return null},nPB.ec=function(){return $O(),nOH},nPB.gc=function(){return 0},nPB.Cc=function(){return $O(),nO_},Nj(nbs,"Collections/EmptyMap",956),ncm(955,2063,nb$,I),nPB.Hc=function(n){return!1},nPB.Kc=function(){return $O(),vz(),nOU},nPB.gc=function(){return 0},Nj(nbs,"Collections/EmptySet",955),ncm(608,56,{3:1,20:1,31:1,56:1,16:1,15:1},f_),nPB.Hc=function(n){return xL(this.a,n)},nPB.Xb=function(n){return RN(n,1),this.a},nPB.gc=function(){return 1},Nj(nbs,"Collections/SingletonList",608),ncm(384,1,nbC,fF),nPB.Jc=function(n){_r(this,n)},nPB.Lc=function(){return new Aa(null,this.Nc())},nPB.Nc=function(){return new R$(this,0)},nPB.Oc=function(){return new Aa(null,this.Nc())},nPB.Fc=function(n){return mR()},nPB.Gc=function(n){return mK()},nPB.$b=function(){mF()},nPB.Hc=function(n){return vK(this,n)},nPB.Ic=function(n){return this.b.Ic(n)},nPB.dc=function(){return this.b.dc()},nPB.Kc=function(){return new fK(this.b.Kc())},nPB.Mc=function(n){return m_()},nPB.gc=function(){return this.b.gc()},nPB.Pc=function(){return this.b.Pc()},nPB.Qc=function(n){return this.b.Qc(n)},nPB.Ib=function(){return J2(this.b)},Nj(nbs,"Collections/UnmodifiableCollection",384),ncm(383,1,nbu,fK),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.b.Ob()},nPB.Pb=function(){return this.b.Pb()},nPB.Qb=function(){mB()},Nj(nbs,"Collections/UnmodifiableCollectionIterator",383),ncm(540,384,nw0,SE),nPB.Nc=function(){return new R$(this,16)},nPB.bd=function(n,t){throw(new dD).e},nPB.cd=function(n,t){throw(new dD).e},nPB.Fb=function(n){return QY(this.a,n)},nPB.Xb=function(n){return this.a.Xb(n)},nPB.Hb=function(){return XS(this.a)},nPB.dd=function(n){return this.a.dd(n)},nPB.dc=function(){return this.a.dc()},nPB.ed=function(){return new ST(this.a.fd(0))},nPB.fd=function(n){return new ST(this.a.fd(n))},nPB.gd=function(n){throw(new dD).e},nPB.hd=function(n,t){throw(new dD).e},nPB.jd=function(n){throw(new dD).e},nPB.kd=function(n,t){return new SE(this.a.kd(n,t))},Nj(nbs,"Collections/UnmodifiableList",540),ncm(705,383,nbg,ST),nPB.Qb=function(){mB()},nPB.Rb=function(n){throw(new dD).e},nPB.Sb=function(){return this.a.Sb()},nPB.Tb=function(){return this.a.Tb()},nPB.Ub=function(){return this.a.Ub()},nPB.Vb=function(){return this.a.Vb()},nPB.Wb=function(n){throw(new dD).e},Nj(nbs,"Collections/UnmodifiableListIterator",705),ncm(609,1,nbh,fH),nPB.wc=function(n){zs(this,n)},nPB.yc=function(n,t,e){return JJ(this,n,t,e)},nPB.$b=function(){throw(new dD).e},nPB._b=function(n){return this.c._b(n)},nPB.uc=function(n){return this.c.uc(n)},nPB.vc=function(){return xP(this)},nPB.Fb=function(n){return QY(this.c,n)},nPB.xc=function(n){return this.c.xc(n)},nPB.Hb=function(){return XS(this.c)},nPB.dc=function(){return this.c.dc()},nPB.ec=function(){return xO(this)},nPB.zc=function(n,t){throw(new dD).e},nPB.Bc=function(n){throw(new dD).e},nPB.gc=function(){return this.c.gc()},nPB.Ib=function(){return J2(this.c)},nPB.Cc=function(){return xS(this)},Nj(nbs,"Collections/UnmodifiableMap",609),ncm(396,384,nbx,p8),nPB.Nc=function(){return new R$(this,1)},nPB.Fb=function(n){return QY(this.b,n)},nPB.Hb=function(){return XS(this.b)},Nj(nbs,"Collections/UnmodifiableSet",396),ncm(957,396,nbx,p9),nPB.Hc=function(n){return this.b.Hc(n)},nPB.Ic=function(n){return this.b.Ic(n)},nPB.Kc=function(){return new fB(this.b.Kc())},nPB.Pc=function(){var n;return FH(n=this.b.Pc(),n.length),n},nPB.Qc=function(n){return $8(this,n)},Nj(nbs,"Collections/UnmodifiableMap/UnmodifiableEntrySet",957),ncm(958,1,nbu,fB),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return new fX(CY(this.a.Pb(),44))},nPB.Ob=function(){return this.a.Ob()},nPB.Qb=function(){throw(new dD).e},Nj(nbs,"Collections/UnmodifiableMap/UnmodifiableEntrySet/1",958),ncm(703,1,nwJ,fX),nPB.Fb=function(n){return this.a.Fb(n)},nPB.ld=function(){return this.a.ld()},nPB.md=function(){return this.a.md()},nPB.Hb=function(){return this.a.Hb()},nPB.nd=function(n){throw(new dD).e},nPB.Ib=function(){return J2(this.a)},Nj(nbs,"Collections/UnmodifiableMap/UnmodifiableEntrySet/UnmodifiableEntry",703),ncm(610,540,{20:1,16:1,15:1,59:1},p7),Nj(nbs,"Collections/UnmodifiableRandomAccessList",610),ncm(704,396,nbD,Sj),nPB.Nc=function(){return new yK(this)},nPB.Fb=function(n){return QY(this.a,n)},nPB.Hb=function(){return XS(this.a)},Nj(nbs,"Collections/UnmodifiableSortedSet",704),ncm(858,1,nw2,A),nPB.Ne=function(n,t){var e;return 0!=(e=FC(CY(n,12),CY(t,12)))?e:nsB(CY(n,12),CY(t,12))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nbs,"Comparator/lambda$0$Type",858),ncm(769,1,nw2,L),nPB.Ne=function(n,t){var e,i;return e=CY(n,34),i=CY(t,34),xf(e),X9(e,(xf(i),i))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return $P(),nOX},Nj(nbs,"Comparators/NaturalOrderComparator",769),ncm(1226,1,nw2,N),nPB.Ne=function(n,t){var e,i;return e=CY(n,34),xf(i=CY(t,34)),X9(i,(xf(e),e))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return $P(),nOq},Nj(nbs,"Comparators/ReverseNaturalOrderComparator",1226),ncm(52,1,nw2,fz),nPB.Fb=function(n){return this===n},nPB.Ne=function(n,t){return this.a.Ne(t,n)},nPB.Oe=function(){return this.a},Nj(nbs,"Comparators/ReversedComparator",52),ncm(175,63,nbZ,dR),Nj(nbs,"ConcurrentModificationException",175),ncm(1948,1,nw3,x),nPB.Pe=function(n){YL(this,n)},nPB.Ib=function(){return"DoubleSummaryStatistics[count = "+Lm(this.a)+", avg = "+(Qv(this.a,0)>0?_Q(this)/KI(this.a):0)+", min = "+this.c+", max = "+this.b+", sum = "+_Q(this)+"]"},nPB.a=0,nPB.b=nw_,nPB.c=nwF,nPB.d=0,nPB.e=0,nPB.f=0,Nj(nbs,"DoubleSummaryStatistics",1948),ncm(1868,63,nbZ,dK),Nj(nbs,"EmptyStackException",1868),ncm(461,2065,nbh,J0),nPB.zc=function(n,t){return Oa(this,n,t)},nPB.$b=function(){N4(this)},nPB._b=function(n){return AE(this.a,n)},nPB.uc=function(n){var t,e;for(e=new vG(this.a);e.a<e.c.a.length;)if(t=Fj(e),xL(n,this.b[t.g]))return!0;return!1},nPB.vc=function(){return new fV(this)},nPB.xc=function(n){return xN(this,n)},nPB.Bc=function(n){return RV(this,n)},nPB.gc=function(){return this.a.c},Nj(nbs,"EnumMap",461),ncm(1340,2063,nbl,fV),nPB.$b=function(){N4(this.a)},nPB.Hc=function(n){return KL(this,n)},nPB.Kc=function(){return new Ae(this.a)},nPB.Mc=function(n){var t;return!!KL(this,n)&&(t=CY(n,44).ld(),RV(this.a,t),!0)},nPB.gc=function(){return this.a.a.c},Nj(nbs,"EnumMap/EntrySet",1340),ncm(1341,1,nbu,Ae),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return this.b=Fj(this.a),new yB(this.c,this.b)},nPB.Ob=function(){return ja(this.a)},nPB.Qb=function(){P$(!!this.b),RV(this.c,this.b),this.b=null},Nj(nbs,"EnumMap/EntrySetIterator",1341),ncm(1342,2082,nwJ,yB),nPB.ld=function(){return this.a},nPB.md=function(){return this.b.b[this.a.g]},nPB.nd=function(n){return Ij(this.b.b,this.a.g,n)},Nj(nbs,"EnumMap/MapEntry",1342),ncm(181,2063,{20:1,31:1,16:1,181:1,21:1});var nPD=Nj(nbs,"EnumSet",181);ncm(162,181,{20:1,31:1,16:1,181:1,162:1,21:1},O9),nPB.Fc=function(n){return Xf(this,CY(n,22))},nPB.Hc=function(n){return AE(this,n)},nPB.Kc=function(){return new vG(this)},nPB.Mc=function(n){return AT(this,n)},nPB.gc=function(){return this.c},nPB.c=0,Nj(nbs,"EnumSet/EnumSetImpl",162),ncm(356,1,nbu,vG),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return Fj(this)},nPB.Ob=function(){return ja(this)},nPB.Qb=function(){P$(-1!=this.b),NK(this.c.b,this.b,null),--this.c.c,this.b=-1},nPB.a=-1,nPB.b=-1,Nj(nbs,"EnumSet/EnumSetImpl/IteratorImpl",356),ncm(45,498,nw4,dc,vH,E1),nPB.Be=function(n,t){return ER(n)===ER(t)||null!=n&&QY(n,t)},nPB.Ce=function(n){return null==n?0:0|XS(n)},Nj(nbs,"HashMap",45),ncm(49,2063,nw6,dV,m$,At),nPB.Fc=function(n){return LX(this,n)},nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return vF(this,n)},nPB.dc=function(){return 0==this.a.gc()},nPB.Kc=function(){return this.a.ec().Kc()},nPB.Mc=function(n){return jL(this,n)},nPB.gc=function(){return this.a.gc()};var nPR=Nj(nbs,"HashSet",49);ncm(1897,1,nbT,$),nPB.Dd=function(n){zS(this,n)},nPB.Ib=function(){return"IntSummaryStatistics[count = "+Lm(this.a)+", avg = "+(Qv(this.a,0)>0?KI(this.d)/KI(this.a):0)+", min = "+this.c+", max = "+this.b+", sum = "+Lm(this.d)+"]"},nPB.a=0,nPB.b=nbJ,nPB.c=nl3,nPB.d=0,Nj(nbs,"IntSummaryStatistics",1897),ncm(1062,1,nbO,Tj),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new B5(this)},nPB.c=0,Nj(nbs,"InternalHashCodeMap",1062),ncm(726,1,nbu,B5),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return this.d=this.a[this.c++],this.d},nPB.Ob=function(){var n;return this.c<this.a.length||!(n=this.b.next()).done&&(this.a=n.value[1],this.c=0,!0)},nPB.Qb=function(){nch(this.e,this.d.ld()),0!=this.c&&--this.c},nPB.c=0,nPB.d=null,Nj(nbs,"InternalHashCodeMap/1",726),ncm(1060,1,nbO,TS),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new FR(this)},nPB.c=0,nPB.d=0,Nj(nbs,"InternalStringMap",1060),ncm(725,1,nbu,FR),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return this.c=this.a,this.a=this.b.next(),new O7(this.d,this.c,this.d.d)},nPB.Ob=function(){return!this.a.done},nPB.Qb=function(){zG(this.d,this.c.value[0])},Nj(nbs,"InternalStringMap/1",725),ncm(1061,2082,nwJ,O7),nPB.ld=function(){return this.b.value[0]},nPB.md=function(){return this.a.d!=this.c?yD(this.a,this.b.value[0]):this.b.value[1]},nPB.nd=function(n){return JI(this.a,this.b.value[0],n)},nPB.c=0,Nj(nbs,"InternalStringMap/2",1061),ncm(215,45,nw4,FF,B6),nPB.$b=function(){Or(this)},nPB._b=function(n){return LR(this.e,n)},nPB.uc=function(n){var t;for(t=this.d.a;t!=this.d;){if(xL(t.e,n))return!0;t=t.a}return!1},nPB.vc=function(){return new f1(this)},nPB.xc=function(n){return UC(this,n)},nPB.zc=function(n,t){return Zq(this,n,t)},nPB.Bc=function(n){return H1(this,n)},nPB.gc=function(){return v_(this.e)},nPB.c=!1,Nj(nbs,"LinkedHashMap",215),ncm(400,397,{494:1,397:1,400:1,44:1},S6,C3),Nj(nbs,"LinkedHashMap/ChainEntry",400),ncm(715,2063,nbl,f1),nPB.$b=function(){Or(this.a)},nPB.Hc=function(n){return KN(this,n)},nPB.Kc=function(){return new NB(this)},nPB.Mc=function(n){var t;return!!KN(this,n)&&(t=CY(n,44).ld(),H1(this.a,t),!0)},nPB.gc=function(){return v_(this.a.e)},Nj(nbs,"LinkedHashMap/EntrySet",715),ncm(716,1,nbu,NB),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return Uw(this)},nPB.Ob=function(){return this.c!=this.d.a.d},nPB.Qb=function(){P$(!!this.a),Ch(this.d.a.e.g,this.b),II(this.a),_Y(this.d.a.e,this.a.d),this.b=this.d.a.e.g,this.a=null},nPB.b=0,Nj(nbs,"LinkedHashMap/EntrySet/EntryIterator",716),ncm(174,49,nw6,TE,SM,An);var nPK=Nj(nbs,"LinkedHashSet",174);ncm(67,2062,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1},vq,O5),nPB.Fc=function(n){return IA(this,n)},nPB.$b=function(){$p(this)},nPB.fd=function(n){return ZQ(this,n)},nPB.gc=function(){return this.b},nPB.b=0;var nPF=Nj(nbs,"LinkedList",67);ncm(981,1,nbg,Cn),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){Ne(this,n)},nPB.Ob=function(){return mJ(this)},nPB.Sb=function(){return this.b.b!=this.d.a},nPB.Pb=function(){return K0(this)},nPB.Tb=function(){return this.a},nPB.Ub=function(){return KE(this)},nPB.Vb=function(){return this.a-1},nPB.Qb=function(){Gh(this)},nPB.Wb=function(n){P$(!!this.c),this.c.c=n},nPB.a=0,nPB.c=null,Nj(nbs,"LinkedList/ListIteratorImpl",981),ncm(617,1,{},D),Nj(nbs,"LinkedList/Node",617),ncm(2057,1,{}),Nj(nbs,"Locale",2057),ncm(873,2057,{},R),nPB.Ib=function(){return""},Nj(nbs,"Locale/1",873),ncm(874,2057,{},K),nPB.Ib=function(){return"unknown"},Nj(nbs,"Locale/4",874),ncm(112,63,{3:1,103:1,63:1,82:1,112:1},dF,$e),Nj(nbs,"NoSuchElementException",112),ncm(475,1,{475:1},pm),nPB.Fb=function(n){var t;return n===this||!!jM(n,475)&&(t=CY(n,475),xL(this.a,t.a))},nPB.Hb=function(){return T2(this.a)},nPB.Ib=function(){return null!=this.a?nbe+Sp(this.a)+")":"Optional.empty()"},Nj(nbs,"Optional",475),ncm(414,1,{414:1},E9,S5),nPB.Fb=function(n){var t;return n===this||!!jM(n,414)&&(t=CY(n,414),this.a==t.a&&0==Jj(this.b,t.b))},nPB.Hb=function(){return this.a?Dy(this.b):0},nPB.Ib=function(){return this.a?"OptionalDouble.of("+this.b+")":"OptionalDouble.empty()"},nPB.a=!1,nPB.b=0,Nj(nbs,"OptionalDouble",414),ncm(524,1,{524:1},E7,S8),nPB.Fb=function(n){var t;return n===this||!!jM(n,524)&&(t=CY(n,524),this.a==t.a&&0==jo(this.b,t.b))},nPB.Hb=function(){return this.a?this.b:0},nPB.Ib=function(){return this.a?"OptionalInt.of("+this.b+")":"OptionalInt.empty()"},nPB.a=!1,nPB.b=0,Nj(nbs,"OptionalInt",524),ncm(510,2103,nbf,Lt),nPB.Gc=function(n){return ntY(this,n)},nPB.$b=function(){dG(this.b.c,0)},nPB.Hc=function(n){return(null==n?-1:H6(this.b,n,0))!=-1},nPB.Kc=function(){return new fG(this)},nPB.Mc=function(n){return Xh(this,n)},nPB.gc=function(){return this.b.c.length},nPB.Nc=function(){return new R$(this,256)},nPB.Pc=function(){return IS(this.b.c)},nPB.Qc=function(n){return ZB(this.b,n)},Nj(nbs,"PriorityQueue",510),ncm(1296,1,nbu,fG),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return this.a<this.c.b.c.length},nPB.Pb=function(){return Px(this.a<this.c.b.c.length),this.b=this.a++,I0(this.c.b,this.b)},nPB.Qb=function(){P$(-1!=this.b),Xd(this.c,this.a=this.b),this.b=-1},nPB.a=0,nPB.b=-1,Nj(nbs,"PriorityQueue/1",1296),ncm(234,1,{234:1},Yl,FG),nPB.a=0,nPB.b=0;var nP_,nPB,nPH,nPU,nPG,nPq,nPX,nPz,nPV,nPW,nPQ,nPJ,nPY,nPZ,nP1,nP0,nP2,nP3,nP4,nP6,nP5,nP8,nP9,nP7,nOn,nOt,nOe,nOi,nOr,nOa,nOc,nOo,nOu,nOs,nOh,nOf,nOl,nOb,nOw,nOd,nOg,nOp,nOm,nOv,nOy,nOk,nOM,nOE,nOT,nOj,nOS,nOP,nOO,nOC,nOI,nOA,nOL,nON,nOx,nO$,nOD,nOR,nOK,nOF,nO_,nOB,nOH,nOU,nOG,nOq,nOX,nOz,nOV,nOW,nOQ,nOJ,nOY,nOZ,nO1,nO0,nO2,nO3=0;Nj(nbs,"Random",234),ncm(25,1,nbM,R$,Nf,$n),nPB.Ad=function(n){return(this.a&n)!=0},nPB.yd=function(){return this.a},nPB.zd=function(){return Ls(this),this.c},nPB.Nb=function(n){Ls(this),this.d.Nb(n)},nPB.Bd=function(n){return Gc(this,n)},nPB.a=0,nPB.c=0,Nj(nbs,"Spliterators/IteratorSpliterator",25),ncm(495,25,nbM,yK),Nj(nbs,"SortedSet/1",495),ncm(611,1,nw3,fJ),nPB.Pe=function(n){this.a.Cd(n)},Nj(nbs,"Spliterator/OfDouble/0methodref$accept$Type",611),ncm(612,1,nw3,fQ),nPB.Pe=function(n){this.a.Cd(n)},Nj(nbs,"Spliterator/OfDouble/1methodref$accept$Type",612),ncm(613,1,nbT,fY),nPB.Dd=function(n){this.a.Cd(Qx(n))},Nj(nbs,"Spliterator/OfInt/2methodref$accept$Type",613),ncm(614,1,nbT,fZ),nPB.Dd=function(n){this.a.Cd(Qx(n))},Nj(nbs,"Spliterator/OfInt/3methodref$accept$Type",614),ncm(625,1,nbM),nPB.Nb=function(n){mx(this,n)},nPB.Ad=function(n){return(this.d&n)!=0},nPB.yd=function(){return this.d},nPB.zd=function(){return this.e},nPB.d=0,nPB.e=0,Nj(nbs,"Spliterators/BaseSpliterator",625),ncm(736,625,nbM),nPB.Qe=function(n){mZ(this,n)},nPB.Nb=function(n){jM(n,189)?mZ(this,CY(n,189)):mZ(this,new fQ(n))},nPB.Bd=function(n){return jM(n,189)?this.Re(CY(n,189)):this.Re(new fJ(n))},Nj(nbs,"Spliterators/AbstractDoubleSpliterator",736),ncm(735,625,nbM),nPB.Qe=function(n){mZ(this,n)},nPB.Nb=function(n){jM(n,202)?mZ(this,CY(n,202)):mZ(this,new fZ(n))},nPB.Bd=function(n){return jM(n,202)?this.Re(CY(n,202)):this.Re(new fY(n))},Nj(nbs,"Spliterators/AbstractIntSpliterator",735),ncm(500,625,nbM),Nj(nbs,"Spliterators/AbstractSpliterator",500),ncm(706,1,nbM),nPB.Nb=function(n){mx(this,n)},nPB.Ad=function(n){return(this.b&n)!=0},nPB.yd=function(){return this.b},nPB.zd=function(){return this.d-this.c},nPB.b=0,nPB.c=0,nPB.d=0,Nj(nbs,"Spliterators/BaseArraySpliterator",706),ncm(960,706,nbM,IF),nPB.Se=function(n,t){var e;e=CY(n,41),e.Cd(this.a[t])},nPB.Nb=function(n){N_(this,n)},nPB.Bd=function(n){return Bh(this,n)},Nj(nbs,"Spliterators/ArraySpliterator",960),ncm(707,706,nbM,OY),nPB.Se=function(n,t){var e;e=CY(n,189),e.Pe(this.a[t])},nPB.Qe=function(n){N_(this,n)},nPB.Nb=function(n){jM(n,189)?N_(this,CY(n,189)):N_(this,new fQ(n))},nPB.Re=function(n){return Bh(this,n)},nPB.Bd=function(n){return jM(n,189)?Bh(this,CY(n,189)):Bh(this,new fJ(n))},Nj(nbs,"Spliterators/DoubleArraySpliterator",707),ncm(2066,1,nbM),nPB.Nb=function(n){mx(this,n)},nPB.Ad=function(n){return(16448&n)!=0},nPB.yd=function(){return 16448},nPB.zd=function(){return 0},Nj(nbs,"Spliterators/EmptySpliterator",2066),ncm(959,2066,nbM,F),nPB.Qe=function(n){xf(n)},nPB.Nb=function(n){jM(n,202)?xf(CY(n,202)):xf(new fZ(n))},nPB.Re=function(n){return xf(n),!1},nPB.Bd=function(n){return jM(n,202)?xf(CY(n,202)):xf(new fY(n)),!1},Nj(nbs,"Spliterators/EmptySpliterator/OfInt",959),ncm(588,56,ndr,dJ),nPB.bd=function(n,t){Lh(n,this.a.c.length+1),AC(this.a,n,t)},nPB.Fc=function(n){return jB(this.a,n)},nPB.cd=function(n,t){return Lh(n,this.a.c.length+1),W0(this.a,n,t)},nPB.Gc=function(n){return Vc(this.a,n)},nPB.$b=function(){dG(this.a.c,0)},nPB.Hc=function(n){return -1!=H6(this.a,n,0)},nPB.Ic=function(n){return z7(this.a,n)},nPB.Jc=function(n){Gd(this.a,n)},nPB.Xb=function(n){return Lh(n,this.a.c.length),I0(this.a,n)},nPB.dd=function(n){return H6(this.a,n,0)},nPB.dc=function(){return 0==this.a.c.length},nPB.Kc=function(){return new fU(this.a)},nPB.gd=function(n){return Lh(n,this.a.c.length),_V(this.a,n)},nPB.ce=function(n,t){Ry(this.a,n,t)},nPB.hd=function(n,t){return Lh(n,this.a.c.length),_o(this.a,n,t)},nPB.gc=function(){return this.a.c.length},nPB.jd=function(n){ji(this.a,n)},nPB.kd=function(n,t){return new Rk(this.a,n,t)},nPB.Pc=function(){return IS(this.a.c)},nPB.Qc=function(n){return ZB(this.a,n)},nPB.Ib=function(){return niV(this.a)},Nj(nbs,"Vector",588),ncm(824,588,ndr,gl),Nj(nbs,"Stack",824),ncm(213,1,{213:1},zX),nPB.Ib=function(){return Kk(this)},Nj(nbs,"StringJoiner",213),ncm(553,2090,{3:1,85:1,139:1,133:1},vU,La),nPB.$b=function(){pE(this)},nPB.De=function(){return new KR(this)},nPB.vc=function(){return new SP(this)},nPB.Ee=function(n){return Y2(this,n,!0)},nPB.Fe=function(n){return Ww(this,n)},nPB.Ge=function(){return H_(this)},nPB.He=function(n){return Y3(this,n,!0)},nPB.Ie=function(n){return Y2(this,n,!1)},nPB.Je=function(){return HB(this)},nPB.Ke=function(n){return Y3(this,n,!1)},nPB.Zc=function(n,t){return RS(this,n,t)},nPB.zc=function(n,t){return VQ(this,n,t)},nPB.Bc=function(n){return Dp(this,n)},nPB.Le=function(n){return BZ(this,n)},nPB.gc=function(){return this.c},nPB.ad=function(n,t){return RP(this,n,t)},nPB.c=0,Nj(nbs,"TreeMap",553),ncm(554,1,nbu,KR,XX),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return Pt(this)},nPB.Ob=function(){return yA(this.a)},nPB.Qb=function(){Ce(this)},Nj(nbs,"TreeMap/EntryIterator",554),ncm(1142,629,nbl,SP),nPB.$b=function(){pE(this.a)},Nj(nbs,"TreeMap/EntrySet",1142),ncm(447,397,{494:1,397:1,44:1,447:1},B4),nPB.b=!1;var nO4=Nj(nbs,"TreeMap/Node",447);ncm(630,1,{},_),nPB.Ib=function(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b},nPB.a=!1,nPB.b=!1,nPB.c=!1,Nj(nbs,"TreeMap/State",630),ncm(631,2090,nbb,nrd),nPB.De=function(){return new XX(this.c,this.f,this.b,this.a,this.e,this.d)},nPB.vc=function(){return new fR(this)},nPB.Ee=function(n){return It(this,Y2(this.c,n,!0))},nPB.Fe=function(n){return It(this,Ww(this.c,n))},nPB.Ge=function(){var n;return(n=this.f.Te()?this.a?Y2(this.c,this.b,!0):Y2(this.c,this.b,!1):H_(this.c))&&N8(this,n.d)?n:null},nPB.He=function(n){return It(this,Y3(this.c,n,!0))},nPB.Ie=function(n){return It(this,Y2(this.c,n,!1))},nPB.Je=function(){var n;return(n=this.f.Ue()?this.d?Y3(this.c,this.e,!0):Y3(this.c,this.e,!1):HB(this.c))&&N8(this,n.d)?n:null},nPB.Ke=function(n){return It(this,Y3(this.c,n,!1))},nPB.Zc=function(n,t){if(this.f.Ue()&&this.c.a.Ne(n,this.e)>0)throw new pN(nda+n+" greater than "+this.e).e;return this.f.Te()?Dw(this.c,this.b,this.a,n,t):RS(this.c,n,t)},nPB.zc=function(n,t){if(!ntx(this.c,this.f,n,this.b,this.a,this.e,this.d))throw new pN(n+" outside the range "+this.b+" to "+this.e).e;return VQ(this.c,n,t)},nPB.Bc=function(n){return ntx(this.c,this.f,n,this.b,this.a,this.e,this.d)?Dp(this.c,n):null},nPB.Le=function(n){return N8(this,n.ld())&&BZ(this.c,n)},nPB.gc=function(){var n,t,e;if(!((t=this.f.Te()?this.a?Y2(this.c,this.b,!0):Y2(this.c,this.b,!1):H_(this.c))&&N8(this,t.d)?t:null))return 0;for(n=0,e=new XX(this.c,this.f,this.b,this.a,this.e,this.d);yA(e.a);e.b=CY($g(e.a),44))++n;return n},nPB.ad=function(n,t){if(this.f.Te()&&0>this.c.a.Ne(n,this.b))throw new pN(nda+n+ndc+this.b).e;return this.f.Ue()?Dw(this.c,n,t,this.e,this.d):RP(this.c,n,t)},nPB.a=!1,nPB.d=!1,Nj(nbs,"TreeMap/SubMap",631),ncm(304,22,ndo,yF),nPB.Te=function(){return!1},nPB.Ue=function(){return!1};var nO6=qc(nbs,"TreeMap/SubMapType",304,nPw,function(){return Hj(),Vw(DY(nO6,1),nbG,304,0,[nCO,nCC,nCI,nCA])},function(n){return Hj(),qa((HT(),nCL),n)});ncm(1143,304,ndo,Tz),nPB.Ue=function(){return!0},qc(nbs,"TreeMap/SubMapType/1",1143,nO6,null,null),ncm(1144,304,ndo,jb),nPB.Te=function(){return!0},nPB.Ue=function(){return!0},qc(nbs,"TreeMap/SubMapType/2",1144,nO6,null,null),ncm(1145,304,ndo,TX),nPB.Te=function(){return!0},qc(nbs,"TreeMap/SubMapType/3",1145,nO6,null,null),ncm(157,2063,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},dQ,mH,f0),nPB.Nc=function(){return new yK(this)},nPB.Fc=function(n){return Lz(this,n)},nPB.$b=function(){this.a.$b()},nPB.Hc=function(n){return this.a._b(n)},nPB.Kc=function(){return this.a.ec().Kc()},nPB.Mc=function(n){return jR(this,n)},nPB.gc=function(){return this.a.gc()};var nO5=Nj(nbs,"TreeSet",157);ncm(1082,1,{},f2),nPB.Ve=function(n,t){var e;return e=this.a,0>=e.Ne(n,t)?t:n},Nj(ndu,"BinaryOperator/lambda$0$Type",1082),ncm(1083,1,{},f3),nPB.Ve=function(n,t){var e;return e=this.a,0>=e.Ne(n,t)?n:t},Nj(ndu,"BinaryOperator/lambda$1$Type",1083),ncm(952,1,{},B),nPB.Kb=function(n){return n},Nj(ndu,"Function/lambda$0$Type",952),ncm(395,1,nbV,f4),nPB.Mb=function(n){return!this.a.Mb(n)},Nj(ndu,"Predicate/lambda$2$Type",395),ncm(581,1,{581:1});var nO8=Nj(nds,"Handler",581);ncm(2107,1,nl6),nPB.xe=function(){return"DUMMY"},nPB.Ib=function(){return this.xe()},Nj(nds,"Level",2107),ncm(1706,2107,nl6,H),nPB.xe=function(){return"INFO"},Nj(nds,"Level/LevelInfo",1706),ncm(1843,1,{},dW),Nj(nds,"LogManager",1843),ncm(1896,1,nl6,Ct),nPB.b=null,Nj(nds,"LogRecord",1896),ncm(525,1,{525:1},_f),nPB.e=!1;var nO9=!1,nO7=!1,nCn=!1,nCt=!1,nCe=!1;Nj(nds,"Logger",525),ncm(835,581,{581:1},U),Nj(nds,"SimpleConsoleLogHandler",835),ncm(108,22,{3:1,34:1,22:1,108:1},y_);var nCi=qc(ndl,"Collector/Characteristics",108,nPw,function(){return WJ(),Vw(DY(nCi,1),nbG,108,0,[nC$,nCD,nCR])},function(n){return WJ(),qa((BB(),nCK),n)});ncm(758,1,{},L1),Nj(ndl,"CollectorImpl",758),ncm(1074,1,{},G),nPB.Ve=function(n,t){var e,i,r;return e=CY(n,213),(i=CY(t,213)).a&&(r=i.a.a.length,e.a?EY(e.a,e.b):e.a=new Sv(e.d),Kg(e.a,i.a,i.d.length,r)),e},Nj(ndl,"Collectors/10methodref$merge$Type",1074),ncm(1075,1,{},q),nPB.Kb=function(n){return Kk(CY(n,213))},Nj(ndl,"Collectors/11methodref$toString$Type",1075),ncm(1076,1,{},f6),nPB.Kb=function(n){return SB(),!!Tw(n)},Nj(ndl,"Collectors/12methodref$test$Type",1076),ncm(144,1,{},X),nPB.Yd=function(n,t){CY(n,16).Fc(t)},Nj(ndl,"Collectors/20methodref$add$Type",144),ncm(146,1,{},z),nPB.Xe=function(){return new du},Nj(ndl,"Collectors/21methodref$ctor$Type",146),ncm(359,1,{},V),nPB.Xe=function(){return new dV},Nj(ndl,"Collectors/23methodref$ctor$Type",359),ncm(360,1,{},W),nPB.Yd=function(n,t){LX(CY(n,49),t)},Nj(ndl,"Collectors/24methodref$add$Type",360),ncm(1069,1,{},Q),nPB.Ve=function(n,t){var e,i;return e=CY(n,15),i=CY(t,16),e.Gc(i),e},Nj(ndl,"Collectors/4methodref$addAll$Type",1069),ncm(1073,1,{},J),nPB.Yd=function(n,t){_J(CY(n,213),CY(t,484))},Nj(ndl,"Collectors/9methodref$add$Type",1073),ncm(1072,1,{},C0),nPB.Xe=function(){return new zX(this.a,this.b,this.c)},Nj(ndl,"Collectors/lambda$15$Type",1072),ncm(1077,1,{},Y),nPB.Xe=function(){var n;return Zq(n=new FF,(SB(),!1),new du),Zq(n,!0,new du),n},Nj(ndl,"Collectors/lambda$22$Type",1077),ncm(1078,1,{},f5),nPB.Xe=function(){return Vw(DY(nPa,1),nl7,1,5,[this.a])},Nj(ndl,"Collectors/lambda$25$Type",1078),ncm(1079,1,{},f8),nPB.Yd=function(n,t){var e;this.a,NK(e=qr(n),0,I4(e[0],ZE(1)))},Nj(ndl,"Collectors/lambda$26$Type",1079),ncm(1080,1,{},f9),nPB.Ve=function(n,t){var e,i;return this.a,e=qr(n),i=qr(t),NK(e,0,I4(e[0],i[0])),e},Nj(ndl,"Collectors/lambda$27$Type",1080),ncm(1081,1,{},Z),nPB.Kb=function(n){return qr(n)[0]},Nj(ndl,"Collectors/lambda$28$Type",1081),ncm(728,1,{},nn),nPB.Ve=function(n,t){return I4(n,t)},Nj(ndl,"Collectors/lambda$4$Type",728),ncm(145,1,{},nt),nPB.Ve=function(n,t){var e,i;return e=CY(n,16),i=CY(t,16),e.Gc(i),e},Nj(ndl,"Collectors/lambda$42$Type",145),ncm(361,1,{},ne),nPB.Ve=function(n,t){var e;return Xx(e=CY(n,49),CY(t,49)),e},Nj(ndl,"Collectors/lambda$50$Type",361),ncm(362,1,{},ni),nPB.Kb=function(n){return CY(n,49)},Nj(ndl,"Collectors/lambda$51$Type",362),ncm(1068,1,{},f7),nPB.Yd=function(n,t){var e,i,r;this.a,e=CY(n,85),SB(),i=!!Tw(t),(r=CY(e.xc(i),15))||(r=new du,e.zc(i,r)),r.Fc(t)},Nj(ndl,"Collectors/lambda$7$Type",1068),ncm(1070,1,{},nr),nPB.Ve=function(n,t){return function(n,t,e){var i,r;for(r=t.vc().Kc();r.Ob();)i=CY(r.Pb(),44),n.yc(i.ld(),i.md(),e);return n}(CY(n,85),CY(t,85),new Q)},Nj(ndl,"Collectors/lambda$8$Type",1070),ncm(1071,1,{},ln),nPB.Kb=function(n){return function(n,t){var e,i,r;for(r=new dc,i=t.vc().Kc();i.Ob();)xM(r,(e=CY(i.Pb(),44)).ld(),function(n,t){var e,i,r;for(e=n.c.Xe(),r=t.Kc();r.Ob();)i=r.Pb(),n.a.Yd(e,i);return n.b.Kb(e)}(n,CY(e.md(),15)));return r}(this.a,CY(n,85))},Nj(ndl,"Collectors/lambda$9$Type",1071),ncm(550,1,{}),nPB.$e=function(){xc(this)},nPB.d=!1,Nj(ndl,"TerminatableStream",550),ncm(827,550,ndb,PB),nPB.$e=function(){xc(this)},Nj(ndl,"DoubleStreamImpl",827),ncm(1847,736,nbM,C2),nPB.Re=function(n){return function(n,t){var e,i;return n.a||(e=BJ(n4b,nwX,28,0,15,1),mZ(n.b.a,new lt(e)),i=GP(S.prototype.Me,S,[]),e.sort(i),n.a=new OY(e,n.d)),Bh(n.a,t)}(this,CY(n,189))},nPB.a=null,Nj(ndl,"DoubleStreamImpl/2",1847),ncm(1848,1,nw3,lt),nPB.Pe=function(n){var t;t=this.a,t[t.length]=n},Nj(ndl,"DoubleStreamImpl/2/lambda$0$Type",1848),ncm(1845,1,nw3,le),nPB.Pe=function(n){var t;t=this.a,t[t.length]=n},Nj(ndl,"DoubleStreamImpl/lambda$0$Type",1845),ncm(1846,1,nw3,li),nPB.Pe=function(n){YL(this.a,n)},Nj(ndl,"DoubleStreamImpl/lambda$2$Type",1846),ncm(1397,735,nbM,_l),nPB.Re=function(n){var t;return t=CY(n,202),this.a<=this.b&&(t.Dd(this.a++),!0)},nPB.a=0,nPB.b=0,nPB.c=0,Nj(ndl,"IntStream/5",1397),ncm(806,550,ndb,PH),nPB.$e=function(){xc(this)},nPB._e=function(){return xa(this),this.a},Nj(ndl,"IntStreamImpl",806),ncm(807,550,ndb,vJ),nPB.$e=function(){xc(this)},nPB._e=function(){return xa(this),j9(),nCP},Nj(ndl,"IntStreamImpl/Empty",807),ncm(1687,1,nbT,lr),nPB.Dd=function(n){zS(this.a,n)},Nj(ndl,"IntStreamImpl/lambda$4$Type",1687);var nCr=IH(ndl,"Stream");ncm(26,550,{533:1,687:1,848:1},Aa),nPB.$e=function(){xc(this)},Nj(ndl,"StreamImpl",26),ncm(1102,500,nbM,OV),nPB.Bd=function(n){for(;function(n){for(;!n.a;)if(!OH(n.c,new la(n)))return!1;return!0}(this);)if(this.a.Bd(n))return!0;else xc(this.b),this.b=null,this.a=null;return!1},Nj(ndl,"StreamImpl/1",1102),ncm(1103,1,nbE,la),nPB.Cd=function(n){var t,e;t=this.a,(e=CY(n,848))&&(t.b=e,xa(e),t.a=e.a)},Nj(ndl,"StreamImpl/1/lambda$0$Type",1103),ncm(1104,1,nbV,lc),nPB.Mb=function(n){return LX(this.a,n)},Nj(ndl,"StreamImpl/1methodref$add$Type",1104),ncm(1105,500,nbM,$k),nPB.Bd=function(n){var t;return this.a||(t=new du,this.b.a.Nb(new lo(t)),$O(),ji(t,this.c),this.a=new R$(t,16)),Gc(this.a,n)},nPB.a=null,Nj(ndl,"StreamImpl/5",1105),ncm(1106,1,nbE,lo),nPB.Cd=function(n){jB(this.a,n)},Nj(ndl,"StreamImpl/5/2methodref$add$Type",1106),ncm(737,500,nbM,HU),nPB.Bd=function(n){for(this.b=!1;!this.b&&this.c.Bd(new yU(this,n)););return this.b},nPB.b=!1,Nj(ndl,"StreamImpl/FilterSpliterator",737),ncm(1096,1,nbE,yU),nPB.Cd=function(n){var t,e;t=this.a,e=this.b,t.a.Mb(n)&&(t.b=!0,e.Cd(n))},Nj(ndl,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),ncm(1091,736,nbM,_Z),nPB.Re=function(n){var t;return t=CY(n,189),this.b.Bd(new yG(this,t))},Nj(ndl,"StreamImpl/MapToDoubleSpliterator",1091),ncm(1095,1,nbE,yG),nPB.Cd=function(n){var t,e;t=this.a,e=this.b,e.Pe(t.a.Ye(n))},Nj(ndl,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),ncm(1090,735,nbM,_1),nPB.Re=function(n){var t;return t=CY(n,202),this.b.Bd(new yq(this,t))},Nj(ndl,"StreamImpl/MapToIntSpliterator",1090),ncm(1094,1,nbE,yq),nPB.Cd=function(n){var t,e;t=this.a,e=this.b,e.Dd(t.a.Ze(n))},Nj(ndl,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),ncm(734,500,nbM,_0),nPB.Bd=function(n){return OH(this,n)},Nj(ndl,"StreamImpl/MapToObjSpliterator",734),ncm(1093,1,nbE,yX),nPB.Cd=function(n){var t,e;t=this.a,e=this.b,e.Cd(t.a.Kb(n))},Nj(ndl,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),ncm(1092,500,nbM,qV),nPB.Bd=function(n){for(;Qv(this.b,0)>0;){if(!this.a.Bd(new na))return!1;this.b=JB(this.b,1)}return this.a.Bd(n)},nPB.b=0,Nj(ndl,"StreamImpl/SkipSpliterator",1092),ncm(1097,1,nbE,na),nPB.Cd=function(n){},Nj(ndl,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),ncm(626,1,nbE,nc),nPB.Cd=function(n){this.a=n},Nj(ndl,"StreamImpl/ValueConsumer",626),ncm(1098,1,nbE,no),nPB.Cd=function(n){vY()},Nj(ndl,"StreamImpl/lambda$0$Type",1098),ncm(1099,1,nbE,nu),nPB.Cd=function(n){vY()},Nj(ndl,"StreamImpl/lambda$1$Type",1099),ncm(1100,1,{},lu),nPB.Ve=function(n,t){var e;return e=this.a,vY(),e.a.Yd(n,t),n},Nj(ndl,"StreamImpl/lambda$4$Type",1100),ncm(1101,1,nbE,yV),nPB.Cd=function(n){var t=this.b,e=this.a;vY(),t.a=e.Ve(t.a,n)},Nj(ndl,"StreamImpl/lambda$5$Type",1101),ncm(1107,1,nbE,ls),nPB.Cd=function(n){!function(n,t){var e;try{t.de()}catch(t){if(jM(t=Vt(t),82))e=t,dk(n.c,e);else throw t.e}}(this.a,CY(n,380))},Nj(ndl,"TerminatableStream/lambda$0$Type",1107),ncm(2142,1,{}),ncm(2014,1,{},ns),Nj("javaemul.internal","ConsoleLogger",2014);var nCa=0;ncm(2134,1,{}),ncm(1830,1,nbE,nh),nPB.Cd=function(n){CY(n,317)},Nj(ndv,"BowyerWatsonTriangulation/lambda$0$Type",1830),ncm(1831,1,nbE,lf),nPB.Cd=function(n){Xx(this.a,CY(n,317).e)},Nj(ndv,"BowyerWatsonTriangulation/lambda$1$Type",1831),ncm(1832,1,nbE,nf),nPB.Cd=function(n){CY(n,177)},Nj(ndv,"BowyerWatsonTriangulation/lambda$2$Type",1832),ncm(1827,1,ndy,ll),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,177),r=CY(t,177),Ln(PI(ED(Aj(e.f,i))),PI(ED(Aj(e.f,r))))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ndv,"NaiveMinST/lambda$0$Type",1827),ncm(449,1,{},lh),Nj(ndv,"NodeMicroLayout",449),ncm(177,1,{177:1},yz),nPB.Fb=function(n){var t;return!!jM(n,177)&&(t=CY(n,177),xL(this.a,t.a)&&xL(this.b,t.b)||xL(this.a,t.b)&&xL(this.b,t.a))},nPB.Hb=function(){return T2(this.a)+T2(this.b)};var nCc=Nj(ndv,"TEdge",177);ncm(317,1,{317:1},nhh),nPB.Fb=function(n){var t;return!!jM(n,317)&&Uo(this,(t=CY(n,317)).a)&&Uo(this,t.b)&&Uo(this,t.c)},nPB.Hb=function(){return T2(this.a)+T2(this.b)+T2(this.c)},Nj(ndv,"TTriangle",317),ncm(225,1,{225:1},jw),Nj(ndv,"Tree",225),ncm(1218,1,{},D0),Nj(ndk,"Scanline",1218);var nCo=IH(ndk,ndM);ncm(1758,1,{},U5),Nj(ndE,"CGraph",1758),ncm(316,1,{316:1},D4),nPB.b=0,nPB.c=0,nPB.d=0,nPB.g=0,nPB.i=0,nPB.k=nw_,Nj(ndE,"CGroup",316),ncm(830,1,{},d3),Nj(ndE,"CGroup/CGroupBuilder",830),ncm(60,1,{60:1},Of),nPB.Ib=function(){return this.j?PA(this.j.Kb(this)):(PL(nCu),nCu.o+"@"+(SK(this)>>>0).toString(16))},nPB.f=0,nPB.i=nw_;var nCu=Nj(ndE,"CNode",60);ncm(829,1,{},d4),Nj(ndE,"CNode/CNodeBuilder",829),ncm(1590,1,{},nl),nPB.ff=function(n,t){return 0},nPB.gf=function(n,t){return 0},Nj(ndE,ndj,1590),ncm(1853,1,{},nb),nPB.cf=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(s=nwF,i=new fU(n.a.b);i.a<i.c.c.length;)t=CY(RU(i),60),s=nP_.Math.min(s,t.a.j.d.c+t.b.a);for(b=new vq,c=new fU(n.a.a);c.a<c.c.c.length;)(a=CY(RU(c),316)).k=s,0==a.g&&F_(b,a,b.c.b,b.c);for(;0!=b.b;){for(r=(a=CY(0==b.b?null:(Px(0!=b.b),Gy(b,b.a.a)),316)).j.d.c,l=a.a.a.ec().Kc();l.Ob();)h=CY(l.Pb(),60),d=a.k+h.b.a,!function(n,t,e){var i;for(i=t.a.a.ec().Kc();i.Ob();)if($q(n,CY(i.Pb(),60),e))return!0;return!1}(n,a,n.d)||h.d.c<d?h.i=d:h.i=h.d.c;for(r-=a.j.i,a.b+=r,n.d==(Ju(),nY9)||n.d==nY5?a.c+=r:a.c-=r,f=a.a.a.ec().Kc();f.Ob();)for(u=(h=CY(f.Pb(),60)).c.Kc();u.Ob();)o=CY(u.Pb(),60),w=T$(n.d)?n.g.ff(h,o):n.g.gf(h,o),o.a.k=nP_.Math.max(o.a.k,h.i+h.d.b+w-o.b.a),$q(n,o,n.d)&&(o.a.k=nP_.Math.max(o.a.k,o.d.c-o.b.a)),--o.a.g,0==o.a.g&&IA(b,o.a)}for(e=new fU(n.a.b);e.a<e.c.c.length;)(t=CY(RU(e),60)).d.c=t.i},Nj(ndE,"LongestPathCompaction",1853),ncm(1756,1,{},naY),nPB.e=!1;var nCs=Nj(ndE,ndI,1756);ncm(1757,1,nbE,lb),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,42),t.d==(Ju(),nY8)||t.d==nZn?CY(e.a,60).c.Fc(CY(e.b,60)):CY(e.b,60).c.Fc(CY(e.a,60))},Nj(ndE,ndA,1757),ncm(1854,1,{},nw),nPB.df=function(n){var t,e,i,r,a,c,o,u;for(t=new fU(n.a.b);t.a<t.c.c.length;)CY(RU(t),60).c.$b();for(i=new fU(n.a.b);i.a<i.c.c.length;)for(e=CY(RU(i),60),a=new fU(n.a.b);a.a<a.c.c.length;)e!=(r=CY(RU(a),60))&&(!e.a||e.a!=r.a)&&(c=T$(n.d)?n.g.gf(e,r):n.g.ff(e,r),(r.d.c>e.d.c||e.d.c==r.d.c&&e.d.b<r.d.b)&&(o=r.d.d+r.d.a+c,u=e.d.d,T6(),T6(),qM(nbQ),(nP_.Math.abs(o-u)<=nbQ||o==u||isNaN(o)&&isNaN(u)?0:o<u?-1:o>u?1:Tm(isNaN(o),isNaN(u)))>0)&&Y9(r.d.d,e.d.d+e.d.a+c)&&e.c.Fc(r))},Nj(ndE,"QuadraticConstraintCalculation",1854),ncm(529,1,{529:1},ds),nPB.a=!1,nPB.b=!1,nPB.c=!1,nPB.d=!1,Nj(ndE,ndL,529),ncm(817,1,{},AR),nPB.df=function(n){this.c=n,nr4(this,new np)},Nj(ndE,ndN,817),ncm(1784,1,{693:1},$W),nPB.bf=function(n){var t,e,i,r,a,c,o;(t=CY(n,473)).a?function(n,t){var e,i,r,a,c,o,u,s,h;if(!Lz(n.b,t.b))throw new px("Invalid hitboxes for scanline constraint calculation.").e;(Va(t.b,CY((i=n.b,r=t.b,i.a.Yc(r)),60))||Va(t.b,CY((a=n.b,c=t.b,a.a.Xc(c)),60)))&&vX(),n.a[t.b.f]=CY((o=n.b,u=t.b,o.a._c(u)),60),(e=CY((s=n.b,h=t.b,s.a.$c(h)),60))&&(n.a[e.f]=t.b)}(this,t):((e=CY((r=this.b,a=t.b,r.a._c(a)),60))&&e==this.a[t.b.f]&&e.a&&e.a!=t.b.a&&e.c.Fc(t.b),(i=CY((c=this.b,o=t.b,c.a.$c(o)),60))&&this.a[i.f]==t.b&&i.a&&i.a!=t.b.a&&t.b.c.Fc(i),jR(this.b,t.b))},Nj(ndE,ndx,1784),ncm(1785,1,ndy,nd),nPB.Ne=function(n,t){var e,i;return e=CY(n,60),i=CY(t,60),Jj(e.d.c+e.d.b/2,i.d.c+i.d.b/2)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ndE,nd$,1785),ncm(473,1,{473:1},yW),nPB.a=!1,Nj(ndE,ndD,473),ncm(1786,1,ndy,ng),nPB.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.d.d,n.a||(i+=n.b.d.a),r=t.b.d.d,t.a||(r+=t.b.d.a),0==(e=Jj(i,r))){if(!n.a&&t.a)return -1;else if(!t.a&&n.a)return 1}return e}(CY(n,473),CY(t,473))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ndE,ndR,1786),ncm(1787,1,ndK,np),nPB.Lb=function(n){return CY(n,60),!0},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return CY(n,60),!0},Nj(ndE,"ScanlineConstraintCalculator/lambda$1$Type",1787),ncm(436,22,{3:1,34:1,22:1,436:1},yQ);var nCh=qc(ndF,"HighLevelSortingCriterion",436,nPw,function(){return ZJ(),Vw(DY(nCh,1),nbG,436,0,[nCq,nCG])},function(n){return ZJ(),qa((Fq(),nCX),n)});ncm(435,22,{3:1,34:1,22:1,435:1},yJ);var nCf=qc(ndF,"LowLevelSortingCriterion",435,nPw,function(){return U2(),Vw(DY(nCf,1),nbG,435,0,[nCz,nCV])},function(n){return U2(),qa((FX(),nCW),n)}),nCl=IH(nd_,"ILayoutMetaDataProvider");ncm(864,1,ndq,s0),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ndB),ndX),"Polyomino Traversal Strategy"),"Traversal strategy for trying different candidate positions for polyominoes."),nC2),(nrN(),nQJ)),nCb),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ndH),ndX),"Polyomino Secondary Sorting Criterion"),"Possible secondary sorting criteria for the processing order of polyominoes. They are used when polyominoes are equal according to the primary sorting criterion HighLevelSortingCriterion."),nC1),nQJ),nCf),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ndU),ndX),"Polyomino Primary Sorting Criterion"),"Possible primary sorting criteria for the processing order of polyominoes."),nCY),nQJ),nCh),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ndG),ndX),"Fill Polyominoes"),"Use the Profile Fill algorithm to fill polyominoes to prevent small polyominoes from being placed inside of big polyominoes with large holes. Might increase packing area."),(SB(),!0)),nQW),nPE),JP(nQX))))},Nj(ndF,"PolyominoOptions",864),ncm(257,22,{3:1,34:1,22:1,257:1},yY);var nCb=qc(ndF,"TraversalStrategy",257,nPw,function(){return nuy(),Vw(DY(nCb,1),nbG,257,0,[nIt,nC5,nC8,nC6,nC7,nIn,nC9,nC4,nC3])},function(n){return nuy(),qa((z2(),nIe),n)});ncm(218,1,{218:1},nm),nPB.Ib=function(){return"NEdge[id="+this.b+" w="+this.g+" d="+this.a+"]"},nPB.a=1,nPB.b=0,nPB.c=0,nPB.f=!1,nPB.g=0;var nCw=Nj(ndz,"NEdge",218);ncm(182,1,{},d1),Nj(ndz,"NEdge/NEdgeBuilder",182),ncm(662,1,{},dY),Nj(ndz,"NGraph",662),ncm(125,1,{125:1},_5),nPB.c=-1,nPB.d=0,nPB.e=0,nPB.i=-1,nPB.j=!1;var nCd=Nj(ndz,"NNode",125);ncm(808,1,nw0,dZ),nPB.Jc=function(n){_r(this,n)},nPB.Lc=function(){return new Aa(null,new R$(this,16))},nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.Oc=function(){return new Aa(null,new R$(this,16))},nPB.bd=function(n,t){++this.b,AC(this.a,n,t)},nPB.Fc=function(n){return SN(this,n)},nPB.cd=function(n,t){return++this.b,W0(this.a,n,t)},nPB.Gc=function(n){return++this.b,Vc(this.a,n)},nPB.$b=function(){++this.b,dG(this.a.c,0)},nPB.Hc=function(n){return -1!=H6(this.a,n,0)},nPB.Ic=function(n){return z7(this.a,n)},nPB.Xb=function(n){return I0(this.a,n)},nPB.dd=function(n){return H6(this.a,n,0)},nPB.dc=function(){return 0==this.a.c.length},nPB.Kc=function(){return Hd(new fU(this.a))},nPB.ed=function(){throw(new dD).e},nPB.fd=function(n){throw(new dD).e},nPB.gd=function(n){return++this.b,_V(this.a,n)},nPB.Mc=function(n){return Sx(this,n)},nPB.hd=function(n,t){return++this.b,_o(this.a,n,t)},nPB.gc=function(){return this.a.c.length},nPB.kd=function(n,t){return new Rk(this.a,n,t)},nPB.Pc=function(){return IS(this.a.c)},nPB.Qc=function(n){return ZB(this.a,n)},nPB.b=0,Nj(ndz,"NNode/ChangeAwareArrayList",808),ncm(275,1,{},d0),Nj(ndz,"NNode/NNodeBuilder",275),ncm(1695,1,{},nv),nPB.a=!1,nPB.f=nl3,nPB.j=0,Nj(ndz,"NetworkSimplex",1695),ncm(1314,1,nbE,lw),nPB.Cd=function(n){nfJ(this.a,CY(n,695),!0,!1)},Nj(ndW,"NodeLabelAndSizeCalculator/lambda$0$Type",1314),ncm(565,1,{},ld),nPB.b=!0,nPB.c=!0,nPB.d=!0,nPB.e=!0,Nj(ndW,"NodeMarginCalculator",565),ncm(217,1,{217:1}),nPB.j=!1,nPB.k=!1;var nCg=Nj(ndQ,"Cell",217);ncm(127,217,{127:1,217:1},Os),nPB.jf=function(){return IP(this)},nPB.kf=function(){var n;return n=this.n,this.a.a+n.b+n.c},Nj(ndQ,"AtomicCell",127),ncm(237,22,{3:1,34:1,22:1,237:1},yZ);var nCp=qc(ndQ,"ContainerArea",237,nPw,function(){return GL(),Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa])},function(n){return GL(),qa((BF(),nIc),n)});ncm(336,217,ndY),Nj(ndQ,"ContainerCell",336),ncm(1538,336,ndY,YM),nPB.jf=function(){var n;return n=0,this.e?this.b?n=this.b.b:this.a[1][1]&&(n=this.a[1][1].jf()):n=Yt(this,ntd(this,!0)),n>0?n+this.n.d+this.n.a:0},nPB.kf=function(){var n,t,e,i,r;if(r=0,this.e)this.b?r=this.b.a:this.a[1][1]&&(r=this.a[1][1].kf());else if(this.g)r=Yt(this,neo(this,null,!0));else for(GL(),t=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),e=0,i=t.length;e<i;++e)n=t[e],r=nP_.Math.max(r,Yt(this,neo(this,n,!0)));return r>0?r+this.n.b+this.n.c:0},nPB.lf=function(){var n,t,e,i,r;if(this.g)for(n=neo(this,null,!1),GL(),e=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),i=0,r=e.length;i<r;++i)no1(this,t=e[i],n);else for(GL(),e=Vw(DY(nCp,1),nbG,237,0,[nIi,nIr,nIa]),i=0,r=e.length;i<r;++i)n=neo(this,t=e[i],!1),no1(this,t,n)},nPB.mf=function(){var n,t,e,i;t=this.i,n=this.n,i=ntd(this,!1),_U(this,(GL(),nIi),t.d+n.d,i),_U(this,nIa,t.d+t.a-n.a-i[2],i),e=t.a-n.d-n.a,i[0]>0&&(i[0]+=this.d,e-=i[0]),i[2]>0&&(i[2]+=this.d,e-=i[2]),this.c.a=nP_.Math.max(0,e),this.c.d=t.d+n.d+(this.c.a-e)/2,i[1]=nP_.Math.max(i[1],e),_U(this,nIr,t.d+n.d+i[0]-(i[1]-e)/2,i)},nPB.b=null,nPB.d=0,nPB.e=!1,nPB.f=!1,nPB.g=!1;var nCm=0,nCv=0;Nj(ndQ,"GridContainerCell",1538),ncm(471,22,{3:1,34:1,22:1,471:1},y1);var nCy=qc(ndQ,"HorizontalLabelAlignment",471,nPw,function(){return HS(),Vw(DY(nCy,1),nbG,471,0,[nIu,nIo,nIs])},function(n){return HS(),qa((BK(),nIh),n)});ncm(314,217,{217:1,314:1},Dj,U9,Dr),nPB.jf=function(){return IO(this)},nPB.kf=function(){return IC(this)},nPB.a=0,nPB.c=!1;var nCk=Nj(ndQ,"LabelCell",314);ncm(252,336,{217:1,336:1,252:1},ZC),nPB.jf=function(){return naE(this)},nPB.kf=function(){return naT(this)},nPB.lf=function(){nht(this)},nPB.mf=function(){nha(this)},nPB.b=0,nPB.c=0,nPB.d=!1,Nj(ndQ,"StripContainerCell",252),ncm(1691,1,nbV,ny),nPB.Mb=function(n){var t;return!!(t=CY(n,217))&&t.k},Nj(ndQ,"StripContainerCell/lambda$0$Type",1691),ncm(1692,1,{},nk),nPB.Ye=function(n){return CY(n,217).kf()},Nj(ndQ,"StripContainerCell/lambda$1$Type",1692),ncm(1693,1,nbV,nM),nPB.Mb=function(n){var t;return!!(t=CY(n,217))&&t.j},Nj(ndQ,"StripContainerCell/lambda$2$Type",1693),ncm(1694,1,{},nE),nPB.Ye=function(n){return CY(n,217).jf()},Nj(ndQ,"StripContainerCell/lambda$3$Type",1694),ncm(472,22,{3:1,34:1,22:1,472:1},y0);var nCM=qc(ndQ,"VerticalLabelAlignment",472,nPw,function(){return Uk(),Vw(DY(nCM,1),nbG,472,0,[nIb,nIl,nIf])},function(n){return Uk(),qa((B_(),nIw),n)});ncm(800,1,{},nf0),nPB.c=0,nPB.d=0,nPB.k=0,nPB.s=0,nPB.t=0,nPB.v=!1,nPB.w=0,nPB.D=!1,nPB.F=!1,Nj(nd4,"NodeContext",800),ncm(1536,1,ndy,nT),nPB.Ne=function(n,t){var e,i;return e=CY(n,64),i=CY(t,64),jo(e.g,i.g)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nd4,"NodeContext/0methodref$comparePortSides$Type",1536),ncm(1537,1,ndy,nj),nPB.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.ag(),r=t.b.ag(),0!=(e=jo(i.g,r.g)))return e;switch(n.b.ag().g){case 1:case 2:return jo(n.b.Nf(),t.b.Nf());case 3:case 4:return jo(t.b.Nf(),n.b.Nf())}return 0}(CY(n,117),CY(t,117))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nd4,"NodeContext/1methodref$comparePortContexts$Type",1537),ncm(164,22,{3:1,34:1,22:1,164:1},XV);var nCE=qc(nd4,"NodeLabelLocation",164,nPw,ZX,function(n){return nlG(),qa((Tt(),nIR),n)});ncm(117,1,{117:1},na0),nPB.a=!1,Nj(nd4,"PortContext",117),ncm(1541,1,nbE,nS),nPB.Cd=function(n){m1(CY(n,314))},Nj(nd8,nd9,1541),ncm(1542,1,nbV,nP),nPB.Mb=function(n){return!!CY(n,117).c},Nj(nd8,nd7,1542),ncm(1543,1,nbE,nO),nPB.Cd=function(n){m1(CY(n,117).c)},Nj(nd8,"LabelPlacer/lambda$2$Type",1543),ncm(1540,1,nbE,nC),nPB.Cd=function(n){var t;PY(),(t=CY(n,117)).b.Of(t.e)},Nj(nd8,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),ncm(801,1,nbE,Cd),nPB.Cd=function(n){var t,e,i,r,a,c,o,u;t=this.b,e=this.c,i=this.a,r=t,a=CY(n,187),c=e,o=i,(u=function(n){var t,e,i,r;for(nlG(),e=ZX(),i=0,r=e.length;i<r;++i)if(-1!=H6((t=e[i]).a,n,0))return t;return nID}(a.pf((nl_(),nJ4))?CY(a.of(nJ4),21):r.j))==(nlG(),nID)||(!c||Zc(u))&&nrg(function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(!(r=CY(xN(n.i,t),314)))if(r=new U9(n.d,t,e),LQ(n.i,t,r),Zc(t))c=n.a,o=t.c,u=t.b,s=r,NK(c.a[o.g],u.g,s);else switch(a=function(n){switch(n.g){case 0:case 1:case 2:return nf5(),n1t;case 3:case 4:case 5:return nf5(),n1m;case 6:case 7:case 8:return nf5(),n1y;case 9:case 10:case 11:return nf5(),n1n;default:return nf5(),n1v}}(t),i=CY(xN(n.p,a),252),a.g){case 1:case 3:r.j=!0,h=t.b,f=r,i.a[h.g]=f;break;case 4:case 2:r.k=!0,l=t.c,b=r,i.a[l.g]=b}return r}(r,u,o),a)},nPB.a=!1,nPB.c=!1,Nj(nd8,"NodeLabelCellCreator/lambda$0$Type",801),ncm(1539,1,nbE,lg),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,187),nrg(t.c,e)},Nj(nd8,"PortContextCreator/lambda$0$Type",1539),ncm(1902,1,{},nI),Nj(ngt,"GreedyRectangleStripOverlapRemover",1902),ncm(1903,1,ndy,nA),nPB.Ne=function(n,t){var e,i;return e=CY(n,226),i=CY(t,226),Jj(e.c.d,i.c.d)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngt,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),ncm(1849,1,{},d7),nPB.a=5,nPB.e=0,Nj(ngt,"RectangleStripOverlapRemover",1849),ncm(1850,1,ndy,nL),nPB.Ne=function(n,t){var e,i;return e=CY(n,226),i=CY(t,226),Jj(e.c.c,i.c.c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngt,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),ncm(1852,1,ndy,nN),nPB.Ne=function(n,t){var e,i;return e=CY(n,226),i=CY(t,226),Jj(e.c.c+e.c.b,i.c.c+i.c.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngt,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),ncm(417,22,{3:1,34:1,22:1,417:1},y2);var nCT=qc(ngt,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,nPw,function(){return zQ(),Vw(DY(nCT,1),nbG,417,0,[nIU,nI_,nIB,nIH])},function(n){return zQ(),qa((HO(),nIG),n)});ncm(226,1,{226:1},A$),Nj(ngt,"RectangleStripOverlapRemover/RectangleNode",226),ncm(1851,1,nbE,lp),nPB.Cd=function(n){!function(n,t){var e,i;switch(i=t.c,e=t.a,n.b.g){case 0:e.d=n.e-i.a-i.d;break;case 1:e.d+=n.e;break;case 2:e.c=n.e-i.a-i.d;break;case 3:e.c=n.e+i.d}}(this.a,CY(n,226))},Nj(ngt,"RectangleStripOverlapRemover/lambda$1$Type",1851),ncm(1323,1,ndy,nx),nPB.Ne=function(n,t){var e,i,r,a,c,o;return e=CY(n,176),i=CY(t,176),(r=new n$,1==(c=+(2==(c=(a=CY(FB(xz(new Aa(null,new R$(e.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCR),nCD]))),21)).gc())))&&EB(YX(CY(FB(xX(a.Lc(),new nD),zh(ZE(0),new nn)),168).a,2),0)&&(c=0),1==(o=+(2==(o=(a=CY(FB(xz(new Aa(null,new R$(i.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[nCR,nCD]))),21)).gc())))&&EB(YX(CY(FB(xX(a.Lc(),new nR),zh(ZE(0),new nn)),168).a,2),0)&&(o=0),c<o)?-1:+(c!=o)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),ncm(1326,1,{},n$),nPB.Kb=function(n){return CY(n,334).a},Nj(ngi,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),ncm(1327,1,nbV,nD),nPB.Mb=function(n){return CY(n,332).a},Nj(ngi,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),ncm(1328,1,nbV,nR),nPB.Mb=function(n){return CY(n,332).a},Nj(ngi,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),ncm(1321,1,ndy,nK),nPB.Ne=function(n,t){var e,i,r,a,c;return e=CY(n,176),i=CY(t,176),(r=new nF,(a=CY(FB(xz(new Aa(null,new R$(e.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCR),nCD]))),21).gc())<(c=CY(FB(xz(new Aa(null,new R$(i.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[nCR,nCD]))),21).gc()))?-1:+(a!=c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),ncm(1324,1,{},nF),nPB.Kb=function(n){return CY(n,334).a},Nj(ngi,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),ncm(781,1,ndy,n_),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,176),i=CY(t,176),(r=e.f.c.length)<(a=i.f.c.length)?-1:+(r!=a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/MinNumOfExtensionsComparator",781),ncm(1319,1,ndy,nB),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,330),i=CY(t,330),(r=e.o+e.p)<(a=i.o+i.p)?-1:+(r!=a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/MinPerimeterComparator",1319),ncm(1320,1,ndy,nH),nPB.Ne=function(n,t){var e,i,r,a,c,o;return e=CY(n,330),i=CY(t,330),((o=e.o)<(r=e.p)?o*=o:r*=r,a=o+r,(o=i.o)<(r=i.p)?o*=o:r*=r,a<(c=o+r))?-1:+(a!=c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),ncm(1322,1,ndy,nU),nPB.Ne=function(n,t){var e,i,r,a,c;return e=CY(n,176),i=CY(t,176),(r=new nG,a=CY(FB(xz(new Aa(null,new R$(e.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCR),nCD]))),21).gc(),(a=+(1==a))<(c=+(1==(c=CY(FB(xz(new Aa(null,new R$(i.f,16)),r),HZ(new V,new W,new ne,new ni,Vw(DY(nCi,1),nbG,108,0,[nCR,nCD]))),21).gc()))))?-1:+(a!=c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngi,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),ncm(1325,1,{},nG),nPB.Kb=function(n){return CY(n,334).a},Nj(ngi,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),ncm(782,1,{},y3),nPB.Ve=function(n,t){var e,i;return e=CY(n,42),(i=CY(t,176)).f.c.length>0?LW(this.a,e,i):LW(this.b,e,i)},Nj(ngi,"SuccessorCombination",782),ncm(649,1,{},nq),nPB.Ve=function(n,t){var e,i,r,a,c,o,u;return e=CY(n,42),CY(t,176),o=CY((i=e).a,17).a,u=CY(i.b,17).a,a=o,c=u,r=nP_.Math.max(nP_.Math.abs(o),nP_.Math.abs(u)),o<=0&&o==u?(a=0,c=u-1):o==-r&&u!=r?(a=u,c=o,u>=0&&++a):(a=-u,c=o),new Ea(Qx(a),Qx(c))},Nj(ngi,"SuccessorJitter",649),ncm(648,1,{},nX),nPB.Ve=function(n,t){var e,i,r,a=(e=CY(n,42),CY(t,176),e);if(i=CY(a.a,17).a,r=CY(a.b,17).a,i>=0){if(i==r)return new Ea(Qx(-i-1),Qx(-i-1));if(i==-r)return new Ea(Qx(-i),Qx(r+1))}return nP_.Math.abs(i)>nP_.Math.abs(r)?i<0?new Ea(Qx(-i),Qx(r)):new Ea(Qx(-i),Qx(r+1)):new Ea(Qx(i+1),Qx(r))},Nj(ngi,"SuccessorLineByLine",648),ncm(573,1,{},nz),nPB.Ve=function(n,t){var e,i,r,a,c,o;return e=CY(n,42),CY(t,176),c=CY((i=e).a,17).a,o=CY(i.b,17).a,r=c,a=o,0==c&&0==o?a-=1:-1==c&&o<=0?(r=0,a-=2):c<=0&&o>0?(r-=1,a-=1):c>=0&&o<0?(r+=1,a+=1):c>0&&o>=0?(r-=1,a+=1):(r+=1,a-=1),new Ea(Qx(r),Qx(a))},Nj(ngi,"SuccessorManhattan",573),ncm(1344,1,{},nV),nPB.Ve=function(n,t){var e,i,r,a,c;return e=CY(n,42),CY(t,176),(a=CY((i=e).a,17).a,c=CY(i.b,17).a,r=nP_.Math.max(nP_.Math.abs(a),nP_.Math.abs(c)),a<r&&c==-r)?new Ea(Qx(a+1),Qx(c)):a==r&&c<r?new Ea(Qx(a),Qx(c+1)):a>=-r&&c==r?new Ea(Qx(a-1),Qx(c)):new Ea(Qx(a),Qx(c-1))},Nj(ngi,"SuccessorMaxNormWindingInMathPosSense",1344),ncm(409,1,{},lm),nPB.Ve=function(n,t){return LW(this,n,t)},nPB.c=!1,nPB.d=!1,nPB.e=!1,nPB.f=!1,Nj(ngi,"SuccessorQuadrantsGeneric",409),ncm(1345,1,{},nW),nPB.Kb=function(n){return CY(n,334).a},Nj(ngi,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),ncm(332,22,{3:1,34:1,22:1,332:1},y4),nPB.a=!1;var nCj=qc(ngu,ngs,332,nPw,function(){return nno(),Vw(DY(nCj,1),nbG,332,0,[nIX,nIq,nIz,nIV])},function(n){return nno(),qa((HI(),nIW),n)});ncm(1317,1,{}),nPB.Ib=function(){var n,t,e,i,r,a,c,o;for(r=0,e=" ",n=Qx(0);r<this.o;r++){e+=""+n.a,n=Qx((c=n.a)>8?0:c+1)}for(e+="\n",n=Qx(0),a=0;a<this.p;a++){for(e+=""+n.a,n=Qx((o=n.a)>8?0:o+1),i=0;i<this.o;i++)0==Qv(t=Xb(this,i,a),0)?e+="_":0==Qv(t,1)?e+="X":e+="0";e+="\n"}return Di(e,0,e.length-1)},nPB.o=0,nPB.p=0,Nj(ngu,"TwoBitGrid",1317),ncm(330,1317,{330:1},YE),nPB.j=0,nPB.k=0,Nj(ngu,"PlanarGrid",330),ncm(176,330,{330:1,176:1}),nPB.g=0,nPB.i=0,Nj(ngu,"Polyomino",176);var nCS=IH(ngw,ngd);ncm(137,1,ngg,nQ),nPB.qf=function(n,t){return V$(this,n,t)},nPB.nf=function(){return Ah(this)},nPB.of=function(n){return niK(this,n)},nPB.pf=function(n){return Pn(this,n)},Nj(ngw,"MapPropertyHolder",137),ncm(1318,137,ngg,noK),Nj(ngu,"Polyominoes",1318);var nCP,nCO,nCC,nCI,nCA,nCL,nCN,nCx,nC$,nCD,nCR,nCK,nCF,nC_,nCB,nCH,nCU,nCG,nCq,nCX,nCz,nCV,nCW,nCQ,nCJ,nCY,nCZ,nC1,nC0,nC2,nC3,nC4,nC6,nC5,nC8,nC9,nC7,nIn,nIt,nIe,nIi,nIr,nIa,nIc,nIo,nIu,nIs,nIh,nIf,nIl,nIb,nIw,nId,nIg,nIp,nIm,nIv,nIy,nIk,nIM,nIE,nIT,nIj,nIS,nIP,nIO,nIC,nII,nIA,nIL,nIN,nIx,nI$,nID,nIR,nIK,nIF,nI_,nIB,nIH,nIU,nIG,nIq,nIX,nIz,nIV,nIW,nIQ,nIJ,nIY=!1;ncm(1828,1,nbE,nJ),nPB.Cd=function(n){nfn(CY(n,225))},Nj(ngp,"DepthFirstCompaction/0methodref$compactTree$Type",1828),ncm(825,1,nbE,lv),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,225),Ax(CY(e.b,68),t),Gd(e.a,new lv(t))},Nj(ngp,"DepthFirstCompaction/lambda$1$Type",825),ncm(1829,1,nbE,Cf),nPB.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,i=this.c,r=CY(n,225),CY(i.b,68),CY(i.b,68),CY(r.b,68),CY(r.b,68).c.b,B0(r,e,t)},Nj(ngp,"DepthFirstCompaction/lambda$2$Type",1829),ncm(68,1,{68:1},D1),Nj(ngp,"Node",68),ncm(1214,1,{},jd),Nj(ngp,"ScanlineOverlapCheck",1214),ncm(1215,1,{693:1},$J),nPB.bf=function(n){var t;(t=CY(n,451)).a?function(n,t){var e,i,r,a,c,o,u,s,h;if(!Lz(n.a,t.b))throw new px("Invalid hitboxes for scanline overlap calculation.").e;for(r=!1,i=n.a.a.ec().Kc();i.Ob();)if(e=CY(i.Pb(),68),a=t.b,a&&e&&a!=e&&0>JU(a.b.c,e.b.c+e.b.b)&&0>JU(e.b.c,a.b.c+a.b.b)){c=n.b.a,o=t.b,u=c.a,s=o,h=e,LX(u,new yz(s.a,h.a)),r=!0}else if(r)break}(this,t):jR(this.a,t.b)},Nj(ngp,"ScanlineOverlapCheck/OverlapsScanlineHandler",1215),ncm(1216,1,ndy,nY),nPB.Ne=function(n,t){var e,i,r;return e=CY(n,68),i=CY(t,68),0!=(r=Jj(e.b.c,i.b.c))||0!=(r=Jj(e.a.a,i.a.a))?r:Jj(e.a.b,i.a.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngp,"ScanlineOverlapCheck/OverlapsScanlineHandler/lambda$0$Type",1216),ncm(451,1,{451:1},y6),nPB.a=!1,Nj(ngp,"ScanlineOverlapCheck/Timestamp",451),ncm(1217,1,ndy,nZ),nPB.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.b.d,n.a||(i+=n.b.b.a),r=t.b.b.d,t.a||(r+=t.b.b.a),0==(e=Jj(i,r))){if(!n.a&&t.a)return -1;else if(!t.a&&n.a)return 1}return e}(CY(n,451),CY(t,451))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngp,"ScanlineOverlapCheck/lambda$0$Type",1217),ncm(557,1,{},n1),Nj(ngm,"SVGImage",557),ncm(334,1,{334:1},Cl),nPB.Ib=function(){return"("+this.a+nl8+this.b+nl8+this.c+")"},Nj(ngm,"UniqueTriple",334),ncm(205,1,ngv),Nj(ngy,"AbstractLayoutProvider",205),ncm(1114,205,ngv,n0),nPB.rf=function(n,t){var e,i,r;t.Ug(ngk,1),this.a=pj(PI(ncx(n,(Z7(),nNB)))),Bz(n,nNA)&&(i=PA(ncx(n,nNA)),(e=nuX(qk(),i))&&CY(Dc(e.f),205).rf(n,t.eh(1))),r=new Fd(this.a),this.b=function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k;for(n.e=t,o=function(n){var t,e,i,r;for($I(),nNG=new du,nNU=new dc,nNH=new du,n.a||(n.a=new Lk(nNe,n,10,11)),function(n){var t,e,i,r,a,c,o,u,h,f;for(t=new dc,c=new j2(n);c.e!=c.i.gc();){for(a=CY(Z6(c),27),e=new dV,xM(nNU,a,e),f=new n4,i=CY(FB(new Aa(null,new Nf(new Le(Sb(nc6(a).a.Kc(),new s)))),AP(f,Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)])))),85),qg(e,CY(i.xc((SB(),!0)),16),new n6),r=CY(FB(xX(CY(i.xc(!1),15).Lc(),new n5),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15).Kc();r.Ob();)(h=niG(CY(r.Pb(),74)))&&((o=CY(ED(Aj(t.f,h)),21))||(o=noX(h),nr3(t.f,h,o)),Xx(e,o));for(i=CY(FB(new Aa(null,new Nf(new Le(Sb(nc5(a).a.Kc(),new s)))),AP(f,Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD])))),85),qg(e,CY(i.xc(!0),16),new n8),u=CY(FB(xX(CY(i.xc(!1),15).Lc(),new n9),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15).Kc();u.Ob();)(h=niq(CY(u.Pb(),74)))&&((o=CY(ED(Aj(t.f,h)),21))||(o=noX(h),nr3(t.f,h,o)),Xx(e,o))}}(t=n.a),r=new j2(t);r.e!=r.i.gc();)i=CY(Z6(r),27),-1==H6(nNG,i,0)&&(e=new du,jB(nNH,e),function n(t,e){var i,r,a;if(jB(nNG,t),e.Fc(t),i=CY(NR(nNU,t),21))for(a=i.Kc();a.Ob();)r=CY(a.Pb(),27),-1!=H6(nNG,r,0)||n(r,e)}(i,e));return nNH}(t),y=new du,i=new fU(o);i.a<i.c.c.length;){for(e=CY(RU(i),15),k=new du,dk(y.c,k),u=new dV,b=e.Kc();b.Ob();){for(a=nuV(n,l=CY(b.Pb(),27),!0,0,0),dk(k.c,a),new MH(w=l.i,d=l.j),l.n||(l.n=new Lk(nNt,l,1,7)),f=new j2(l.n);f.e!=f.i.gc();)r=nuV(n,CY(Z6(f),135),!1,w,d),dk(k.c,r);for(l.c||(l.c=new Lk(nNi,l,9,9)),p=new j2(l.c);p.e!=p.i.gc();)for(c=nuV(n,g=CY(Z6(p),123),!1,w,d),dk(k.c,c),m=g.i+w,v=g.j+d,g.n||(g.n=new Lk(nNt,g,1,7)),h=new j2(g.n);h.e!=h.i.gc();)r=nuV(n,CY(Z6(h),135),!1,m,v),dk(k.c,r);Xx(u,$H(qb(Vw(DY(nPs,1),nl7,20,0,[nc5(l),nc6(l)]))))}!function(n,t,e){var i,r;for(r=t.a.ec().Kc();r.Ob();)i=CY(r.Pb(),74),CY(NR(n.b,i),272)||(DV(niU(i))==DV(niX(i))?function(n,t,e){var i,r,a;for(zU(a=new ncT(nlI(nrb(no6(t,!1,!1)),pj(PI(ncx(t,(Z7(),nN$))))+n.a)),t),xM(n.b,t,a),dk(e.c,a),t.n||(t.n=new Lk(nNt,t,1,7)),r=new j2(t.n);r.e!=r.i.gc();)i=nuV(n,CY(Z6(r),135),!0,0,0),dk(e.c,i)}(n,i,e):niU(i)==DV(niX(i))?null==NR(n.c,i)&&null!=NR(n.b,niX(i))&&nfD(n,i,e,!1):null==NR(n.d,i)&&null!=NR(n.b,niU(i))&&nfD(n,i,e,!0))}(n,u,k)}return n.f=new mf(y),zU(n.f,t),n.f}(r,n),0===CY(ncx(n,(Wz(),nNS)),489).g?(!function(n,t){var e,i,r,a,c;for(n.b=t,n.g=new du,e=function(n){var t,e,i,r,a,c,o,u,s,h,f;for(h=0,s=0,o=(r=n.a).a.gc(),i=r.a.ec().Kc();i.Ob();)(e=CY(i.Pb(),567)).b&&nhN(e),h+=(f=(t=e.a).a)+(c=t.b),s+=f*c;return(u=nP_.Math.sqrt(400*o*s-4*s+h*h)+h,0==(a=2*(100*o-1)))?u:u/a}(n.b),n.e=e,n.f=e,n.c=pT(PC(niK(n.b,(nes(),nCQ)))),n.a=PI(niK(n.b,(nl_(),nJj))),null==n.a&&(n.a=1),pj(n.a)>1?n.e*=pj(n.a):n.f/=pj(n.a),i=n.b.a.a.ec().Kc();i.Ob();)r=new ncZ(CY(i.Pb(),567),n.e,n.f),jB(n.g,r);for(a=new fU(n.g);a.a<a.c.c.length;)CY(RU(a),568);(function(n){var t,e,i,r,a,c,o,u;switch(o=n.b,t=n.a,0===CY(niK(n,(nes(),nCZ)),435).g?ji(o,new fz(new nB)):ji(o,new fz(new nH)),1===CY(niK(n,nCJ),436).g?(ji(o,new n_),ji(o,new nU),ji(o,new nx)):(ji(o,new n_),ji(o,new nK)),CY(niK(n,nC0),257).g){case 0:u=new nV;break;case 1:u=new nX;break;case 2:u=new nz;break;case 3:u=new nq;break;case 5:u=new lm(new nz);break;case 4:u=new lm(new nX);break;case 7:u=new y3(new lm(new nX),new lm(new nz));break;case 8:u=new y3(new lm(new nq),new lm(new nz));break;default:u=new lm(new nq)}for(c=new fU(o);c.a<c.c.c.length;){for(a=CY(RU(c),176),r=0,e=new Ea(Qx(i=0),Qx(r));function(n,t,e,i){var r,a,c,o,u,s,h;if(function(n,t,e,i){var r,a,c,o,u,s;for(r=0;r<t.o;r++)for(c=0,a=r-t.j+e;c<t.p;c++)if(o=c-t.k+i,u=a,s=o,u+=n.j,s+=n.k,u>=0&&s>=0&&u<n.o&&s<n.p&&(!nn5(t,r,c)&&nn1(n,a,o)||nn6(t,r,c)&&!function(n,t,e){try{return nn5(n,t+n.j,e+n.k)}catch(n){if(jM(n=Vt(n),77))throw new pC(n.g+ngb+t+nl8+e+").").e;throw n.e}}(n,a,o)))return!0;return!1}(n,t,e,i))return!0;for(c=new fU(t.f);c.a<c.c.c.length;){switch(a=CY(RU(c),334),o=!1,s=(u=n.j-t.j+e)+t.o,r=(h=n.k-t.k+i)+t.p,a.a.g){case 0:o=WI(n,u+a.b.a,0,u+a.c.a,h-1);break;case 1:o=WI(n,s,h+a.b.a,n.o-1,h+a.c.a);break;case 2:o=WI(n,u+a.b.a,r,u+a.c.a,n.p-1);break;default:o=WI(n,0,h+a.b.a,u-1,h+a.c.a)}if(o)return!0}return!1}(t,a,i,r);)e=CY(u.Ve(e,a),42),i=CY(e.a,17).a,r=CY(e.b,17).a;!function(n,t,e,i){var r,a,c,o,u,s;for(c=0;c<t.o;c++)for(u=0,o=c-t.j+e;u<t.p;u++)s=u-t.k+i,nn6(t,c,u)?function(n,t,e){try{return nn8(n,t+n.j,e+n.k)}catch(n){if(jM(n=Vt(n),77))throw new pC(n.g+ngb+t+nl8+e+").").e;throw n.e}}(n,o,s)||function(n,t,e){try{nuU(n,t+n.j,e+n.k,!1,!0)}catch(n){if(jM(n=Vt(n),77))throw new pC(n.g+ngb+t+nl8+e+").").e;throw n.e}}(n,o,s):nn8(t,c,u)&&(nn1(n,o,s)||function(n,t,e){try{nuU(n,t+n.j,e+n.k,!0,!1)}catch(n){if(jM(n=Vt(n),77))throw new pC(n.g+ngb+t+nl8+e+").").e;throw n.e}}(n,o,s));for(t.g=n.j-t.j+e,t.i=n.k-t.k+i,a=new fU(t.f);a.a<a.c.c.length;)switch((r=CY(RU(a),334)).a.g){case 0:VA(n,t.g+r.b.a,0,t.g+r.c.a,t.i-1);break;case 1:VA(n,t.g+t.o,t.i+r.b.a,n.o-1,t.i+r.c.a);break;case 2:VA(n,t.g+r.b.a,t.i+t.p,t.g+r.c.a,n.p-1);break;default:VA(n,0,t.i+r.b.a,t.g-1,t.i+r.c.a)}}(t,a,i,r)}})(c=new noK(n.g,pj(n.a),n.c)),n.g=c.b,n.d=c.a,function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(e=function(n){var t,e,i,r,a,c,o,u,s,h;for(s=0,e=n.o,t=n.p,c=nl3,r=nbJ,o=nl3,a=nbJ;s<e;++s)for(h=0;h<t;++h)nn6(n,s,h)&&(c=nP_.Math.min(c,s),r=nP_.Math.max(r,s),o=nP_.Math.min(o,h),a=nP_.Math.max(a,h));return u=r-c+1,i=a-o+1,new x8(Qx(c),Qx(o),Qx(u),Qx(i))}(n.d),a=(r=CY(niK(n.b,(Z7(),nND)),107)).b+r.c,c=r.d+r.a,u=e.d.a*n.e+a,o=e.b.a*n.f+c,n.b.b=new MH(u,o),h=new fU(n.g);h.a<h.c.c.length;)t=OT((f=new MH((s=CY(RU(h),568)).g-e.a.a,s.i-e.c.a),l=s.a,b=s.b,f.a*=l,f.b*=b,f),j_(Pf(jv(TJ(s.e)),s.d*s.a,s.c*s.b),-.5)),i=TY(s.e),w=s.e,d=Oj(t,i),w.b=!0,w.d=d}(n),VD(n.b,(Z7(),nNx),n.g)}(new n2,this.b),nnh(n,nNx,niK(this.b,nNx))):vX(),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;for(l=(a=n.f.b).a,h=a.b,w=n.e.g,b=n.e.f,T_(n.e,a.a,a.b),M=l/w,E=h/b,s=new j2(xx(n.e));s.e!=s.i.gc();)GZ(u=CY(Z6(s),135),u.i*M),G1(u,u.j*E);for(m=new j2(x$(n.e));m.e!=m.i.gc();)y=(p=CY(Z6(m),123)).i,k=p.j,y>0&&GZ(p,y*M),k>0&&G1(p,k*E);for(zs(n.b,new n7),t=new du,o=new zM(new fP(n.c).a);o.b;)i=CY((c=Xu(o)).ld(),74),e=CY(c.md(),407).a,r=no6(i,!1,!1),nho(f=niu(niU(i),nrb(r),e),r),(v=niG(i))&&-1==H6(t,v,0)&&(dk(t.c,v),xQ(v,(Px(0!=f.b),CY(f.a.a.c,8)),e));for(g=new zM(new fP(n.d).a);g.b;)i=CY((d=Xu(g)).ld(),74),e=CY(d.md(),407).a,r=no6(i,!1,!1),f=niu(niX(i),Wo(nrb(r)),e),nho(f=Wo(f),r),(v=niq(i))&&-1==H6(t,v,0)&&(dk(t.c,v),xQ(v,(Px(0!=f.b),CY(f.c.b.c,8)),e))}(r),nnh(n,nNN,this.b),t.Vg()},nPB.a=0,Nj(ngM,"DisCoLayoutProvider",1114),ncm(1208,1,{},n2),nPB.c=!1,nPB.e=0,nPB.f=0,Nj(ngM,"DisCoPolyominoCompactor",1208),ncm(567,1,{567:1},Ar),nPB.b=!0,Nj(ngE,"DCComponent",567),ncm(406,22,{3:1,34:1,22:1,406:1},y5),nPB.a=!1;var nIZ=qc(ngE,"DCDirection",406,nPw,function(){return nnc(),Vw(DY(nIZ,1),nbG,406,0,[nNv,nNm,nNy,nNk])},function(n){return nnc(),qa((HC(),nNM),n)});ncm(272,137,{3:1,272:1,96:1,137:1},ncT),Nj(ngE,"DCElement",272),ncm(407,1,{407:1},ntt),nPB.c=0,Nj(ngE,"DCExtension",407),ncm(762,137,ngg,mf),Nj(ngE,"DCGraph",762),ncm(489,22,{3:1,34:1,22:1,489:1},Pw);var nI1=qc(ngT,ngj,489,nPw,function(){return v5(),Vw(DY(nI1,1),nbG,489,0,[nNE])},function(n){return v5(),qa((KK(),nNT),n)});ncm(865,1,ndq,s2),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngS),ngI),"Connected Components Compaction Strategy"),"Strategy for packing different connected components in order to save space and enhance readability of a graph."),nNP),(nrN(),nQJ)),nI1),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ngP),ngI),"Connected Components Layout Algorithm"),"A layout algorithm that is to be applied to each connected component before the components themselves are compacted. If unspecified, the positions of the components' nodes are not altered."),nQ0),nPL),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ngO),"debug"),"DCGraph"),"Access to the DCGraph is intended for the debug view,"),nQ1),nPa),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ngC),"debug"),"List of Polyominoes"),"Access to the polyominoes is intended for the debug view,"),nQ1),nPa),JP(nQX)))),nhO((new s3,n))},Nj(ngT,"DisCoMetaDataProvider",865),ncm(1010,1,ndq,s3),nPB.hf=function(n){nhO(n)},Nj(ngT,"DisCoOptions",1010),ncm(1011,1,{},n3),nPB.sf=function(){return new n0},nPB.tf=function(n){},Nj(ngT,"DisCoOptions/DiscoFactory",1011),ncm(568,176,{330:1,176:1,568:1},ncZ),nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=0,Nj("org.eclipse.elk.alg.disco.structures","DCPolyomino",568),ncm(1286,1,nbV,n4),nPB.Mb=function(n){return Tw(n)},Nj(ngD,"ElkGraphComponentsProcessor/lambda$0$Type",1286),ncm(1287,1,{},n6),nPB.Kb=function(n){return $I(),niU(CY(n,74))},Nj(ngD,"ElkGraphComponentsProcessor/lambda$1$Type",1287),ncm(1288,1,nbV,n5),nPB.Mb=function(n){var t;return t=CY(n,74),$I(),niU(t)==DV(niX(t))},Nj(ngD,"ElkGraphComponentsProcessor/lambda$2$Type",1288),ncm(1289,1,{},n8),nPB.Kb=function(n){return $I(),niX(CY(n,74))},Nj(ngD,"ElkGraphComponentsProcessor/lambda$3$Type",1289),ncm(1290,1,nbV,n9),nPB.Mb=function(n){var t;return t=CY(n,74),$I(),niX(t)==DV(niU(t))},Nj(ngD,"ElkGraphComponentsProcessor/lambda$4$Type",1290),ncm(1291,1,nbV,ly),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,74),$I(),t==DV(niU(e))||t==DV(niX(e))},Nj(ngD,"ElkGraphComponentsProcessor/lambda$5$Type",1291),ncm(1292,1,{},lk),nPB.Kb=function(n){var t,e;return t=this.a,e=CY(n,74),$I(),t==niU(e)?niX(e):niU(e)},Nj(ngD,"ElkGraphComponentsProcessor/lambda$6$Type",1292),ncm(1205,1,{},Fd),nPB.a=0,Nj(ngD,"ElkGraphTransformer",1205),ncm(1206,1,{},n7),nPB.Yd=function(n,t){var e,i,r,a,c;e=CY(n,167),this.a=CY(t,272).b.d,jM(e,326)?(_r(a=nrb(r=no6(CY(e,74),!1,!1)),i=new lM(this)),nho(a,r),null!=e.of((nl_(),nJY))&&_r(CY(e.of(nJY),75),i)):((c=CY(e,422)).rh(c.nh()+this.a.a),c.sh(c.oh()+this.a.b))},Nj(ngD,"ElkGraphTransformer/OffsetApplier",1206),ncm(1207,1,nbE,lM),nPB.Cd=function(n){Pu(CY(n,8),this.a.a.a,this.a.a.b)},Nj(ngD,"ElkGraphTransformer/OffsetApplier/OffSetToChainApplier",1207),ncm(760,1,{},tn),Nj(ngB,ngH,760),ncm(1195,1,ndy,tt),nPB.Ne=function(n,t){var e,i,r,a,c;return e=CY(n,235),i=CY(t,235),0==(r=CY(niK(i,(nsK(),nxc)),17).a-CY(niK(e,nxc),17).a)?(a=Oj(jv(CY(niK(e,(Xo(),nxv)),8)),CY(niK(e,nxy),8)),c=Oj(jv(CY(niK(i,nxv),8)),CY(niK(i,nxy),8)),Jj(a.a*a.b,c.a*c.b)):r},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngB,ngU,1195),ncm(1196,1,nbE,y8),nPB.Cd=function(n){var t,e,i;t=this.b,e=this.a,OT(i=new TP(CY(n,250).d),t),JL(e,i.a,i.b)},Nj(ngB,ngG,1196),ncm(738,205,ngv,d2),nPB.rf=function(n,t){nc3(this,n,t)},Nj(ngB,"ForceLayoutProvider",738),ncm(309,137,{3:1,309:1,96:1,137:1}),Nj(ngq,"FParticle",309),ncm(250,309,{3:1,250:1,309:1,96:1,137:1},Nb),nPB.Ib=function(){var n;return this.a?(n=H6(this.a.a,this,0))>=0?"b"+n+"["+_i(this.a)+"]":"b["+_i(this.a)+"]":"b_"+SK(this)},Nj(ngq,"FBendpoint",250),ncm(290,137,{3:1,290:1,96:1,137:1},Ol),nPB.Ib=function(){return _i(this)},Nj(ngq,"FEdge",290),ncm(235,137,{3:1,235:1,96:1,137:1},_6);var nI0=Nj(ngq,"FGraph",235);ncm(454,309,{3:1,454:1,309:1,96:1,137:1},Fw),nPB.Ib=function(){return null==this.b||0==this.b.length?"l["+_i(this.a)+"]":"l_"+this.b},Nj(ngq,"FLabel",454),ncm(153,309,{3:1,153:1,309:1,96:1,137:1},jf),nPB.Ib=function(){return RW(this)},nPB.a=0,Nj(ngq,"FNode",153),ncm(2100,1,{}),nPB.vf=function(n){nsz(this,n)},nPB.wf=function(){ntb(this)},nPB.d=0,Nj(ngz,"AbstractForceModel",2100),ncm(641,2100,{641:1},zk),nPB.uf=function(n,t){var e,i,r,a,c,o;return nfc(this.f,n,t),r=Oj(jv(t.d),n.d),a=nP_.Math.sqrt(r.a*r.a+r.b*r.b),i=nP_.Math.max(0,a-N5(n.e)/2-N5(t.e)/2),j_(r,((e=naF(this.e,n,t))>0?-(c=this.c,i>0?nP_.Math.log(i/c):-100)*e:(o=this.b,(i>0?o/(i*i):100*o)*CY(niK(n,(nsK(),nxc)),17).a))/a),r},nPB.vf=function(n){nsz(this,n),this.a=CY(niK(n,(nsK(),nN6)),17).a,this.c=pj(PI(niK(n,nxl))),this.b=pj(PI(niK(n,nxu)))},nPB.xf=function(n){return n<this.a},nPB.a=0,nPB.b=0,nPB.c=0,Nj(ngz,"EadesModel",641),ncm(642,2100,{642:1},Im),nPB.uf=function(n,t){var e,i,r,a,c,o,u;return nfc(this.f,n,t),r=Oj(jv(t.d),n.d),c=nP_.Math.sqrt(r.a*r.a+r.b*r.b),o=i=nP_.Math.max(0,c-N5(n.e)/2-N5(t.e)/2),u=this.a,a=(o>0?u*u/o:u*u*100)*CY(niK(n,(nsK(),nxc)),17).a,(e=naF(this.e,n,t))>0&&(a-=i*i/this.a*e),j_(r,a*this.b/c),r},nPB.vf=function(n){var t,e,i,r,a,c,o;for(nsz(this,n),this.b=pj(PI(niK(n,(nsK(),nxb)))),this.c=this.b/CY(niK(n,nN6),17).a,i=n.e.c.length,a=0,r=0,o=new fU(n.e);o.a<o.c.c.length;)a+=(c=CY(RU(o),153)).e.a,r+=c.e.b;t=a*r,e=pj(PI(niK(n,nxl)))*nd5,this.a=nP_.Math.sqrt(t/(2*i))*e},nPB.wf=function(){ntb(this),this.b-=this.c},nPB.xf=function(n){return this.b>0},nPB.a=0,nPB.b=0,nPB.c=0,Nj(ngz,"FruchtermanReingoldModel",642),ncm(860,1,ndq,s4),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngV),""),"Force Model"),"Determines the model for force calculation."),nNz),(nrN(),nQJ)),nI2),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngW),""),"Iterations"),"The number of iterations on the force model."),Qx(300)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngQ),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),Qx(0)),nQZ),nPO),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngJ),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),ngY),nQQ),nPS),JP(nQX)))),Kj(n,ngJ,ngV,nNY),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngZ),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),nQQ),nPS),JP(nQX)))),Kj(n,ngZ,ngV,nNW),nlo((new s6,n))},Nj(ng1,"ForceMetaDataProvider",860),ncm(432,22,{3:1,34:1,22:1,432:1},y9);var nI2=qc(ng1,"ForceModelStrategy",432,nPw,function(){return U3(),Vw(DY(nI2,1),nbG,432,0,[nNZ,nN1])},function(n){return U3(),qa((Fz(),nN0),n)});ncm(nb8,1,ndq,s6),nPB.hf=function(n){nlo(n)},Nj(ng1,"ForceOptions",nb8),ncm(1001,1,{},tc),nPB.sf=function(){return new d2},nPB.tf=function(n){},Nj(ng1,"ForceOptions/ForceFactory",1001),ncm(861,1,ndq,s5),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npg),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(SB(),!1)),(nrN(),nQW)),nPE),JP((ZW(),nQq))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npp),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),nQQ),nPS),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQU]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npm),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),nxj),nQJ),nI3),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npv),""),"Stress Epsilon"),"Termination criterion for the iterative process."),ngY),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npy),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),Qx(nl3)),nQZ),nPO),JP(nQX)))),nfx((new s8,n))},Nj(ng1,"StressMetaDataProvider",861),ncm(1004,1,ndq,s8),nPB.hf=function(n){nfx(n)},Nj(ng1,"StressOptions",1004),ncm(1005,1,{},tr),nPB.sf=function(){return new Ob},nPB.tf=function(n){},Nj(ng1,"StressOptions/StressFactory",1005),ncm(1110,205,ngv,Ob),nPB.rf=function(n,t){var e,i,r,a;for(t.Ug(npM,1),pT(PC(ncx(n,(ntZ(),nxN))))?pT(PC(ncx(n,nxF)))||Dv(new lh((yv(),new py(n)))):nc3(new d2,n,t.eh(1)),i=VR(n),a=(e=nhi(this.a,i)).Kc();a.Ob();)(r=CY(a.Pb(),235)).e.c.length<=1||(!function(n,t){var e,i,r,a,c,o,u,s,h;if(!(t.e.c.length<=1)){for(n.f=t,n.d=CY(niK(n.f,(ntZ(),nxI)),391),n.g=CY(niK(n.f,nxx),17).a,n.e=pj(PI(niK(n.f,nxA))),n.c=pj(PI(niK(n.f,nxC))),L4(n.b),r=new fU(n.f.c);r.a<r.c.c.length;)i=CY(RU(r),290),nsw(n.b,i.c,i,null),nsw(n.b,i.d,i,null);for(o=n.f.e.c.length,n.a=I3(n4b,[nby,nwX],[109,28],15,[o,o],2),s=new fU(n.f.e);s.a<s.c.c.length;)!function(n,t,e){var i,r,a,c,o,u,s,h,f,l;for(h=new Lt(new lE(e)),LY(o=BJ(n4h,ndV,28,n.f.e.c.length,16,1),o.length),e[t.a]=0,s=new fU(n.f.e);s.a<s.c.c.length;)(u=CY(RU(s),153)).a!=t.a&&(e[u.a]=nl3),C7(niS(h,u),nwY);for(;0!=h.b.c.length;)for(o[(f=CY(UN(h),153)).a]=!0,a=Sw(new vE(n.b,f),0);a.c;)!o[(l=function(n,t){if(n.c==t)return n.d;if(n.d==t)return n.c;throw new pN("Node 'one' must be either source or target of edge 'edge'.").e}(r=CY(U_(a),290),f)).a]&&(c=Pn(r,(ntZ(),nxC))?pj(PI(niK(r,nxC))):n.c,(i=e[f.a]+c)<e[l.a]&&(e[l.a]=i,Xh(h,l),C7(niS(h,l),nwY)))}(n,u=CY(RU(s),153),n.a[u.a]);for(a=0,n.i=I3(n4b,[nby,nwX],[109,28],15,[o,o],2);a<o;++a)for(c=0;c<o;++c)h=1/((e=n.a[a][c])*e),n.i[a][c]=h}}(this.b,r),function(n){var t,e,i,r,a,c,o,u,s;if(!(n.f.e.c.length<=1)){t=0,r=ncf(n),e=nwF;do{for(t>0&&(r=e),c=new fU(n.f.e);c.a<c.c.c.length;)pT(PC(niK(a=CY(RU(c),153),(ntZ(),nxL))))||(i=function(n,t){var e,i,r,a,c,o,u;for(a=0,o=0,u=0,r=new fU(n.f.e);r.a<r.c.c.length;)t!=(i=CY(RU(r),153))&&(a+=c=n.i[t.a][i.a],(e=Hr(t.d,i.d))>0&&n.d!=(Uy(),nxU)&&(o+=c*(i.d.a+n.a[t.a][i.a]*(t.d.a-i.d.a)/e)),e>0&&n.d!=(Uy(),nxB)&&(u+=c*(i.d.b+n.a[t.a][i.a]*(t.d.b-i.d.b)/e)));switch(n.d.g){case 1:return new MH(o/a,t.d.b);case 2:return new MH(t.d.a,u/a);default:return new MH(o/a,u/a)}}(n,a),OT(Ta(a.d),i));e=ncf(n)}while(o=t++,u=r,s=e,0!=u&&!((u-s)/u<n.e)&&!(o>=n.g))}}(this.b),Gd(r.d,new ta));nlp(i=nlr(e)),t.Vg()},Nj(npT,"StressLayoutProvider",1110),ncm(1111,1,nbE,ta),nPB.Cd=function(n){nhS(CY(n,454))},Nj(npT,"StressLayoutProvider/lambda$0$Type",1111),ncm(1002,1,{},dU),nPB.c=0,nPB.e=0,nPB.g=0,Nj(npT,"StressMajorization",1002),ncm(391,22,{3:1,34:1,22:1,391:1},y7);var nI3=qc(npT,"StressMajorization/Dimension",391,nPw,function(){return Uy(),Vw(DY(nI3,1),nbG,391,0,[nxH,nxB,nxU])},function(n){return Uy(),qa((BH(),nxG),n)});ncm(1003,1,ndy,lE),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,153),r=CY(t,153),Jj(e[i.a],e[r.a])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npT,"StressMajorization/lambda$0$Type",1003),ncm(1192,1,{},R2),Nj(npS,"ElkLayered",1192),ncm(1193,1,nbE,lT),nPB.Cd=function(n){!function(n,t){var e;if((e=CY(niK(t,(nlL(),nB9)),322))!=n)throw new pF("The hierarchy aware processor "+e+" in child node "+t+" is only allowed if the root node specifies the same hierarchical processor.").e}(this.a,CY(n,36))},Nj(npS,"ElkLayered/lambda$0$Type",1193),ncm(1194,1,nbE,lj),nPB.Cd=function(n){var t;t=this.a,VD(CY(n,36),(nlL(),nB1),t)},Nj(npS,"ElkLayered/lambda$1$Type",1194),ncm(1281,1,{},jI),Nj(npS,"GraphConfigurator",1281),ncm(770,1,nbE,lS),nPB.Cd=function(n){ni5(this.a,CY(n,10))},Nj(npS,"GraphConfigurator/lambda$0$Type",770),ncm(771,1,{},ti),nPB.Kb=function(n){return nep(),new Aa(null,new R$(CY(n,30).a,16))},Nj(npS,"GraphConfigurator/lambda$1$Type",771),ncm(772,1,nbE,lP),nPB.Cd=function(n){ni5(this.a,CY(n,10))},Nj(npS,"GraphConfigurator/lambda$2$Type",772),ncm(1109,205,ngv,gn),nPB.rf=function(n,t){var e,i,r;e=function(n,t){var e,i,r,a;if(r=nsY(t),t.c||(t.c=new Lk(nNi,t,9,9)),vZ(new Aa(null,(!t.c&&(t.c=new Lk(nNi,t,9,9)),new R$(t.c,16))),new l$(r)),function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(c=pT(PC(ncx(n,(nlL(),nHE)))),l=CY(ncx(n,nUr),21),u=!1,s=!1,f=new j2((!n.c&&(n.c=new Lk(nNi,n,9,9)),n.c));f.e!=f.i.gc()&&(!u||!s);){for(a=CY(Z6(f),123),o=0,r=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(a.d||(a.d=new Ox(nL6,a,8,5)),a.d),(a.e||(a.e=new Ox(nL6,a,7,4)),a.e)])));ncv(r)&&(i=CY(_I(r),74),h=c&&na$(i)&&pT(PC(ncx(i,nHT))),e=nfr((i.b||(i.b=new Ox(nL4,i,4,7)),i.b),a)?n==DV(niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84))):n==DV(niw(CY(GO((i.b||(i.b=new Ox(nL4,i,4,7)),i.b),0),84))),!((h||e)&&++o>1)););o>0?u=!0:l.Hc((nap(),nZ6))&&(!a.n&&(a.n=new Lk(nNt,a,1,7)),a.n).i>0&&(u=!0),o>1&&(s=!0)}u&&t.Fc((no7(),nKc)),s&&t.Fc((no7(),nKo))}(t,i=CY(niK(r,(nlF(),nKU)),21)),i.Hc((no7(),nKc)))for(e=new j2((!t.c&&(t.c=new Lk(nNi,t,9,9)),t.c));e.e!=e.i.gc();)!function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p;for(u=new MH(i.i+i.g/2,i.j+i.f/2),l=nh5(i),b=CY(ncx(t,(nlL(),nUt)),101),d=CY(ncx(i,nUc),64),g=Z3(i),p=nUn,YA(g.a,p)||(w=0==i.i&&0==i.j?0:function(n,t){var e;if(!DP(n))throw new px(nEc).e;switch(e=DP(n),t.g){case 1:return-(n.j+n.f);case 2:return n.i-e.g;case 3:return n.j-e.f;case 4:return-(n.i+n.g)}return 0}(i,d),nnh(i,nUn,w)),VD(r=nll(i,b,d,l,new MH(t.g,t.f),u,new MH(i.g,i.f),CY(niK(e,nHt),88),e),(nlF(),nK6),i),(a=CY(I0(r.j,0),12)).c=function(n){var t,e,i,r,a;for(a=DP(n),r=new j2((!n.e&&(n.e=new Ox(nL6,n,7,4)),n.e));r.e!=r.i.gc();)if(i=CY(Z6(r),74),!Gw(niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84)),a))return!0;for(e=new j2((!n.d&&(n.d=new Ox(nL6,n,8,5)),n.d));e.e!=e.i.gc();)if(t=CY(Z6(e),74),!Gw(niw(CY(GO((t.b||(t.b=new Ox(nL4,t,4,7)),t.b),0),84)),a))return!0;return!1}(i),VD(r,nUr,(nap(),JP(nZ8))),h=CY(ncx(t,nUr),181).Hc(nZ6),o=new j2((!i.n&&(i.n=new Lk(nNt,i,1,7)),i.n));o.e!=o.i.gc();)if(!pT(PC(ncx(c=CY(Z6(o),135),nHZ)))&&c.a&&(f=Qp(c),jB(a.f,f),!h))switch(s=0,Lp(CY(ncx(t,nUr),21))&&(s=naP(new MH(c.i,c.j),new MH(c.g,c.f),new MH(i.g,i.f),0,d)),d.g){case 2:case 4:f.o.a=s;break;case 1:case 3:f.o.b=s}VD(r,nUP,PI(ncx(DV(t),nUP))),VD(r,nUO,PI(ncx(DV(t),nUO))),VD(r,nUj,PI(ncx(DV(t),nUj))),jB(e.a,r),xM(n.a,i,r)}(n,t,r,CY(Z6(e),123));return 0!=CY(ncx(t,(nlL(),nHW)),181).gc()&&nun(t,r),pT(PC(niK(r,nH2)))&&i.Fc(nKf),Pn(r,nUd)&&(a=new Yk(pj(PI(niK(r,nUd)))),Wd(a).Cd(r)),ER(ncx(t,nHm))===ER((QO(),nZj))?function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C;for(c=new vq,k=CY(niK(e,(nlL(),nHt)),88),g=0,Xx(c,(t.a||(t.a=new Lk(nNe,t,10,11)),t.a));0!=c.b;)(ER(ncx(h=DV(f=CY(0==c.b?null:(Px(0!=c.b),Gy(c,c.a.a)),27)),nBQ))!==ER((Zu(),nGO))||ER(ncx(h,nB7))===ER((Zo(),nRx))||ER(ncx(h,nB7))===ER((Zo(),nRL))||pT(PC(ncx(h,nBY)))||ER(ncx(h,nBG))!==ER((ZT(),n$h))||ER(ncx(h,nH$))===ER((nu7(),nGp))||ER(ncx(h,nH$))===ER((nu7(),nGm))||ER(ncx(h,nHD))===ER((noj(),nU0))||ER(ncx(h,nHD))===ER((noj(),nU3)))&&!pT(PC(ncx(f,nBV)))&&nnh(f,(nlF(),nK4),Qx(g++)),!pT(PC(ncx(f,nHZ)))&&(b=0!=(!f.a&&(f.a=new Lk(nNe,f,10,11)),f.a).i,d=function(n){var t,e;if(pT(PC(ncx(n,(nlL(),nHE))))){for(e=new Le(Sb(nc5(n).a.Kc(),new s));ncv(e);)if(na$(t=CY(_I(e),74))&&pT(PC(ncx(t,nHT))))return!0}return!1}(f),w=ER(ncx(f,nHm))===ER((QO(),nZj)),P=!Bz(f,(nl_(),nJM))||_C(PA(ncx(f,nJM))),v=null,P&&w&&(b||d)&&(VD(v=nsY(f),nHt,k),Pn(v,nUd)&&(O=new Yk(pj(PI(niK(v,nUd)))),C=v,Wd(O).Cd(C)),0!=CY(ncx(f,nHW),181).gc()&&(l=v,vZ(new Aa(null,(!f.c&&(f.c=new Lk(nNi,f,9,9)),new R$(f.c,16))),new lD(l)),nun(f,v))),M=e,(E=CY(NR(n.a,DV(f)),10))&&(M=E.e),m=nlb(n,f,M),v&&(m.e=v,v.e=m,Xx(c,(f.a||(f.a=new Lk(nNe,f,10,11)),f.a))));for(g=0,F_(c,t,c.c.b,c.c);0!=c.b;){for(u=new j2((!(a=CY(0==c.b?null:(Px(0!=c.b),Gy(c,c.a.a)),27)).b&&(a.b=new Lk(nL6,a,12,3)),a.b));u.e!=u.i.gc();)nuQ(o=CY(Z6(u),74)),(ER(ncx(t,nBQ))!==ER((Zu(),nGO))||ER(ncx(t,nB7))===ER((Zo(),nRx))||ER(ncx(t,nB7))===ER((Zo(),nRL))||pT(PC(ncx(t,nBY)))||ER(ncx(t,nBG))!==ER((ZT(),n$h))||ER(ncx(t,nH$))===ER((nu7(),nGp))||ER(ncx(t,nH$))===ER((nu7(),nGm))||ER(ncx(t,nHD))===ER((noj(),nU0))||ER(ncx(t,nHD))===ER((noj(),nU3)))&&nnh(o,(nlF(),nK4),Qx(g++)),j=niw(CY(GO((o.b||(o.b=new Ox(nL4,o,4,7)),o.b),0),84)),S=niw(CY(GO((o.c||(o.c=new Ox(nL4,o,5,8)),o.c),0),84)),pT(PC(ncx(o,nHZ)))||pT(PC(ncx(j,nHZ)))||pT(PC(ncx(S,nHZ)))||(p=na$(o)&&pT(PC(ncx(j,nHE)))&&pT(PC(ncx(o,nHT))),y=a,p||Gw(S,j)?y=j:Gw(j,S)&&(y=S),M=e,(E=CY(NR(n.a,y),10))&&(M=E.e),VD(nlK(n,o,y,M),(nlF(),nKI),function(n,t,e,i){var r,a,c,o,u;return(o=niw(CY(GO((t.b||(t.b=new Ox(nL4,t,4,7)),t.b),0),84)),u=niw(CY(GO((t.c||(t.c=new Ox(nL4,t,5,8)),t.c),0),84)),DV(o)==DV(u)||Gw(u,o))?null:(c=DS(t))==e?i:(a=CY(NR(n.a,c),10))&&(r=a.e)?r:null}(n,o,t,e)));if(w=ER(ncx(a,nHm))===ER((QO(),nZj)))for(r=new j2((!a.a&&(a.a=new Lk(nNe,a,10,11)),a.a));r.e!=r.i.gc();)P=!Bz(i=CY(Z6(r),27),(nl_(),nJM))||_C(PA(ncx(i,nJM))),T=ER(ncx(i,nHm))===ER(nZj),P&&T&&F_(c,i,c.c.b,c.c)}}(n,t,r):function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(l=0,r=new j2((!t.a&&(t.a=new Lk(nNe,t,10,11)),t.a));r.e!=r.i.gc();)pT(PC(ncx(i=CY(Z6(r),27),(nlL(),nHZ))))||((ER(ncx(h=DV(i),nBQ))!==ER((Zu(),nGO))||ER(ncx(h,nB7))===ER((Zo(),nRx))||ER(ncx(h,nB7))===ER((Zo(),nRL))||pT(PC(ncx(h,nBY)))||ER(ncx(h,nBG))!==ER((ZT(),n$h))||ER(ncx(h,nH$))===ER((nu7(),nGp))||ER(ncx(h,nH$))===ER((nu7(),nGm))||ER(ncx(h,nHD))===ER((noj(),nU0))||ER(ncx(h,nHD))===ER((noj(),nU3)))&&!pT(PC(ncx(i,nBV)))&&(nnh(i,(nlF(),nK4),Qx(l)),++l),nlb(n,i,e));for(l=0,s=new j2((!t.b&&(t.b=new Lk(nL6,t,12,3)),t.b));s.e!=s.i.gc();)o=CY(Z6(s),74),(ER(ncx(t,(nlL(),nBQ)))!==ER((Zu(),nGO))||ER(ncx(t,nB7))===ER((Zo(),nRx))||ER(ncx(t,nB7))===ER((Zo(),nRL))||pT(PC(ncx(t,nBY)))||ER(ncx(t,nBG))!==ER((ZT(),n$h))||ER(ncx(t,nH$))===ER((nu7(),nGp))||ER(ncx(t,nH$))===ER((nu7(),nGm))||ER(ncx(t,nHD))===ER((noj(),nU0))||ER(ncx(t,nHD))===ER((noj(),nU3)))&&(nnh(o,(nlF(),nK4),Qx(l)),++l),d=niU(o),g=niX(o),f=pT(PC(ncx(d,nHE))),w=!pT(PC(ncx(o,nHZ))),b=f&&na$(o)&&pT(PC(ncx(o,nHT))),a=DV(d)==t&&DV(d)==DV(g),c=(DV(d)==t&&g==t)^(DV(g)==t&&d==t),w&&!b&&(c||a)&&nlK(n,o,t,e);if(DV(t))for(u=new j2($l(DV(t)));u.e!=u.i.gc();)(d=niU(o=CY(Z6(u),74)))==t&&na$(o)&&(b=pT(PC(ncx(d,(nlL(),nHE))))&&pT(PC(ncx(o,nHT))))&&nlK(n,o,t,e)}(n,t,r),r}(new ge,n),ER(ncx(n,(nlL(),nHm)))===ER((QO(),nZj))?(i=this.a,(r=t)||(r=Io(new gz,0)),r.Ug(npj,2),nnM(i.b,e,r.eh(1)),function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(_r(u=function(n){var t,e,i,r,a;for(t=new j1,e=new j1,K3(t,n),K3(e,n);e.b!=e.c;)for(a=new fU(CY(LG(e),36).a);a.a<a.c.c.length;)(r=CY(RU(a),10)).e&&(K3(t,i=r.e),K3(e,i));return t}(t),new lT(CY(niK(t,(nlL(),nB9)),322))),_r(u,new lj(CY(niK(t,nB1),299))),w=0,s=new du,r=new xU(u);r.a!=r.b;)i=CY(Qd(r),36),nfO(n.c,i),w+=(f=CY(niK(i,(nlF(),nFa)),15)).gc(),jB(s,new Ea(i,f.Kc()));for(e.Ug("Recursive hierarchical layout",w),b=0,l=CY(CY(I0(s,s.c.length-1),42).b,51);l.Ob();)for(o=new fU(s);o.a<o.c.c.length;)for(c=CY(RU(o),42),f=CY(c.b,51),a=CY(c.a,36);f.Ob();){if(jM(h=CY(f.Pb(),47),514))if(a.e)break;else{h.Kf(a,e.eh(1)),++b;break}h.Kf(a,e.eh(1)),++b}e.Vg()}(i,e,r.eh(1)),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S;for(t.Ug("Compound graph postprocessor",1),e=pT(PC(niK(n,(nlL(),nU_)))),o=CY(niK(n,(nlF(),nKL)),229),h=new dV,p=o.ec().Kc();p.Ob();){for(g=CY(p.Pb(),18),c=new O8(o.cc(g)),$O(),ji(c,new lO(n)),k=(RN(0,c.c.length),S=CY(c.c[0],249)).b.c.i.k==(ni8(),n$g)?CY(niK(S.b.c.i,(nlF(),nK6)),12):S.b.c,E=XQ(CY(I0(c,c.c.length-1),249)),v=k.i,m=zO(E.i,v)?v.e:xi(v),f=function(n,t){var e;return e=CY(niK(n,(nlL(),nHP)),75),jE(t,n$b)?e?$p(e):(e=new gj,VD(n,nHP,e)):e&&VD(n,nHP,null),e}(g,c),$p(g.a),l=null,a=new fU(c);a.a<a.c.c.length;)r=CY(RU(a),249),nrK(d=new mm,r.a,m),b=r.b,WF(i=new gj,0,b.a),zc(i,d),y=new TP(RO(b.c)),M=new TP(RO(b.d)),OT(y,d),OT(M,d),l&&(0==i.b?w=M:(Px(0!=i.b),w=CY(i.a.a.c,8)),T=nP_.Math.abs(l.a-w.a)>ngY,j=nP_.Math.abs(l.b-w.b)>ngY,(!e&&T&&j||e&&(T||j))&&IA(g.a,y)),Xx(g.a,i),0==i.b?l=y:(Px(0!=i.b),l=CY(i.c.b.c,8)),function(n,t,e){var i,r;(r=CY(niK(n,(nlL(),nHP)),75))&&(WF(i=new gj,0,r),zc(i,e),Xx(t,i))}(b,f,d),XQ(r)==E&&(xi(E.i)!=r.a&&nrK(d=new mm,xi(E.i),m),VD(g,nFp,d)),function(n,t,e){var i,r;for(r=new Kp(n.b,0);r.b<r.d.gc();)Px(r.b<r.d.gc()),ER(niK(i=CY(r.d.Xb(r.c=r.b++),72),(nlF(),nK9)))===ER(t)&&(nrK(i.n,xi(n.c.i),e),N6(r),jB(t.b,i))}(b,g,m),h.a.zc(b,h);Ra(g,k),Ru(g,E)}for(s=h.a.ec().Kc();s.Ob();)Ra(u=CY(s.Pb(),18),null),Ru(u,null);t.Vg()}(e,r.eh(1)),r.Vg()):function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;if((o=e)||(o=Io(new gz,0)),o.Ug(npj,1),nfO(n.c,t),1==(c=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;if(n.c=n.e,l=null==(b=PC(niK(t,(nlL(),nUw))))||(xf(b),b),a=CY(niK(t,(nlF(),nKU)),21).Hc((no7(),nKc)),e=(r=CY(niK(t,nUt),101))!=(nie(),nZQ)&&r!=nZY&&r!=nZJ,l&&(e||!a)){for(h=new fU(t.a);h.a<h.c.c.length;)CY(RU(h),10).p=0;for(f=new du,s=new fU(t.a);s.a<s.c.c.length;)if(i=function n(t,e,i){var r,a,c,o,u;if(0==e.p){for(e.p=1,(a=i)||(a=new Ea(new du,new O9(r=CY(mP(nLq),9),CY(Oc(r,r.length),9),0))),CY(a.a,15).Fc(e),e.k==(ni8(),n$g)&&CY(a.b,21).Fc(CY(niK(e,(nlF(),nK_)),64)),o=new fU(e.j);o.a<o.c.c.length;)for(c=CY(RU(o),12),u=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(c),new lN(c)])));ncv(u);)n(t,CY(_I(u),12).i,a);return a}return null}(n,CY(RU(s),10),null)){for(zU(u=new qG,t),VD(u,nKR,CY(i.b,21)),$y(u.d,t.d),VD(u,nHJ,null),o=CY(i.a,15).Kc();o.Ob();)c=CY(o.Pb(),10),jB(u.a,c),c.a=u;f.Fc(u)}a&&(ER(niK(t,nBG))===ER((ZT(),n$o))?n.c=n.b:ER(niK(t,nBG))===ER(n$s)?n.c=n.d:n.c=n.a)}else f=new pU(Vw(DY(nAe,1),np$,36,0,[t]));return ER(niK(t,nBG))!==ER((ZT(),n$h))&&($O(),f.jd(new tM)),f}(n.a,t)).gc())nh3(CY(c.Xb(0),36),o);else for(a=1/c.gc(),r=c.Kc();r.Ob();){if(i=CY(r.Pb(),36),e.$g())return;nh3(i,o.eh(a))}u=n.a,u.c.Ef(c,t),b=CY(niK(s=t,(nlL(),nHW)),21),w=CY(niK(s,nHY),21),h=new TP(f=new MH(s.f.a+s.d.b+s.d.c,s.f.b+s.d.d+s.d.a)),b.Hc((YZ(),n1P))&&(l=CY(niK(s,nHJ),8),w.Hc((nsv(),n1x))&&(l.a<=0&&(l.a=20),l.b<=0&&(l.b=20)),h.a=nP_.Math.max(f.a,l.a),h.b=nP_.Math.max(f.b,l.b)),pT(PC(niK(s,nHQ)))||function(n,t,e){var i,r,a,c,o;if(i=CY(niK(n,(nlL(),nBJ)),21),e.a>t.a&&(i.Hc((neW(),nJd))?n.c.a+=(e.a-t.a)/2:i.Hc(nJp)&&(n.c.a+=e.a-t.a)),e.b>t.b&&(i.Hc((neW(),nJv))?n.c.b+=(e.b-t.b)/2:i.Hc(nJm)&&(n.c.b+=e.b-t.b)),CY(niK(n,(nlF(),nKU)),21).Hc((no7(),nKc))&&(e.a>t.a||e.b>t.b))for(o=new fU(n.a);o.a<o.c.c.length;)(c=CY(RU(o),10)).k==(ni8(),n$g)&&((r=CY(niK(c,nK_),64))==(nf5(),n1n)?c.n.a+=e.a-t.a:r==n1m&&(c.n.b+=e.b-t.b));a=n.d,n.f.a=e.a-a.b-a.c,n.f.b=e.b-a.d-a.a}(s,f,h),o.Vg()}(this.a,e,t),t.$g()||function n(t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;if(jM(a=niK(e,(nlF(),nK6)),207)){for(w=CY(a,27),d=e.e,l=new TP(e.c),c=e.d,l.a+=c.b,l.b+=c.d,SD(CY(ncx(w,(nlL(),nHY)),181),(nsv(),n1N))&&((b=CY(ncx(w,nH1),107)).a=c.a,b.d=c.d,b.b=c.b,b.c=c.c),i=new du,h=new fU(e.a);h.a<h.c.c.length;)for(jM(niK(u=CY(RU(h),10),nK6),207)?function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(i=CY(niK(n,(nlF(),nK6)),27),b=CY(niK(n,(nlL(),nB5)),17).a,a=CY(niK(n,nHA),17).a,nnh(i,nB5,Qx(b)),nnh(i,nHA,Qx(a)),GZ(i,n.n.a+t.a),G1(i,n.n.b+t.b),(0!=CY(ncx(i,nHW),181).gc()||n.e||ER(niK(xi(n),nHV))===ER((nna(),nGb))&&(nnT(),(d=(!n.q?($O(),$O(),nOB):n.q)._b(nHX)?CY(niK(n,nHX),203):CY(niK(xi(n),nHz),203))==nGc||d==nGa))&&(GY(i,n.o.a),GJ(i,n.o.b)),f=new fU(n.j);f.a<f.c.c.length;)jM(w=niK(s=CY(RU(f),12),nK6),193)&&(TB(r=CY(w,123),s.n.a,s.n.b),nnh(r,nUc,s.j));for(l=0!=CY(niK(n,nHB),181).gc(),u=new fU(n.b);u.a<u.c.c.length;)c=CY(RU(u),72),(l||0!=CY(niK(c,nHB),181).gc())&&(T_(e=CY(niK(c,nK6),135),c.o.a,c.o.b),TB(e,c.n.a,c.n.b));if(!Lp(CY(niK(n,nUr),21)))for(h=new fU(n.j);h.a<h.c.c.length;)for(o=new fU((s=CY(RU(h),12)).f);o.a<o.c.c.length;)c=CY(RU(o),72),GY(e=CY(niK(c,nK6),135),c.o.a),GJ(e,c.o.b),TB(e,c.n.a,c.n.b)}(u,l):jM(niK(u,nK6),193)&&!d&&(r=CY(niK(u,nK6),123),p=nsJ(e,u,r.g,r.f),TB(r,p.a,p.b)),g=new fU(u.j);g.a<g.c.c.length;)vZ(xX(new Aa(null,new R$(CY(RU(g),12).g,16)),new lF(u)),new l_(i));if(d)for(g=new fU(d.j);g.a<g.c.c.length;)vZ(xX(new Aa(null,new R$(CY(RU(g),12).g,16)),new lB(d)),new lH(i));for(m=CY(ncx(w,nHu),223),o=new fU(i);o.a<o.c.c.length;)!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(a=CY(niK(n,(nlF(),nK6)),74)){for((i=n.a,OT(r=new TP(e),function(n){var t,e,i,r;if(r=CY(niK(n,(nlF(),nKI)),36)){for(i=new mm,t=xi(n.c.i);t!=r;)t=xi(e=t.e),Pu(OT(OT(i,e.n),t.c),t.d.b,t.d.d);return i}return n$O}(n)),zO(n.d.i,n.c.i))?(l=n.c,Oj(f=V4(Vw(DY(nLA,1),nby,8,0,[l.n,l.a])),e)):f=RO(n.c),F_(i,f,i.a,i.a.a),b=RO(n.d),null!=niK(n,nFp)&&OT(b,CY(niK(n,nFp),8)),F_(i,b,i.c.b,i.c),zc(i,r),q1(c=no6(a,!0,!0),CY(GO((a.b||(a.b=new Ox(nL4,a,4,7)),a.b),0),84)),q0(c,CY(GO((a.c||(a.c=new Ox(nL4,a,5,8)),a.c),0),84)),nho(i,c),h=new fU(n.b);h.a<h.c.c.length;)s=CY(RU(h),72),GY(o=CY(niK(s,nK6),135),s.o.a),GJ(o,s.o.b),TB(o,s.n.a+r.a,s.n.b+r.b),nnh(o,(X2(),nDI),PC(niK(s,nDI)));(u=CY(niK(n,(nlL(),nHP)),75))?(zc(u,r),nnh(a,nHP,u)):nnh(a,nHP,null),t==(JG(),nZu)?nnh(a,nHu,nZu):nnh(a,nHu,null)}}(CY(RU(o),18),m,l);for(k=CY(niK(e,(nlF(),nK6)),27),E=CY(ncx(k,(nlL(),nHW)),181).Hc((YZ(),n1I)),!e.e&&(M=CY(niK(e,nKU),21),v=new MH(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),M.Hc((no7(),nKc))?(nnh(k,nUt,(nie(),nZJ)),nf9(k,v.a,v.b,!1,!0)):pT(PC(ncx(k,nHQ)))||nf9(k,v.a,v.b,!0,!0)),E?nnh(k,nHW,JP(n1I)):nnh(k,nHW,new O9(y=CY(mP(nLX),9),CY(Oc(y,y.length),9),0)),s=new fU(e.a);s.a<s.c.c.length;)(f=(u=CY(RU(s),10)).e)&&n(t,f)}}(new s9,e)},Nj(npS,"LayeredLayoutProvider",1109),ncm(367,22,{3:1,34:1,22:1,367:1},kn);var nI4=qc(npS,"LayeredPhases",367,nPw,function(){return niF(),Vw(DY(nI4,1),nbG,367,0,[nxV,nxW,nxQ,nxJ,nxY])},function(n){return niF(),qa((UG(),nxZ),n)});ncm(1717,1,{},qU),nPB.i=0,Nj(npP,"ComponentsToCGraphTransformer",1717),ncm(1718,1,{},te),nPB.yf=function(n,t){return nP_.Math.min(null!=n.a?pj(n.a):n.c.i,null!=t.a?pj(t.a):t.c.i)},nPB.zf=function(n,t){return nP_.Math.min(null!=n.a?pj(n.a):n.c.i,null!=t.a?pj(t.a):t.c.i)},Nj(npP,"ComponentsToCGraphTransformer/1",1718),ncm(86,1,{86:1}),nPB.i=0,nPB.k=!0,nPB.o=nw_;var nI6=Nj(npO,"CNode",86);ncm(470,86,{470:1,86:1},Sz,ZS),nPB.Ib=function(){return""},Nj(npP,"ComponentsToCGraphTransformer/CRectNode",470),ncm(1688,1,{},to),Nj(npP,"OneDimensionalComponentsCompaction",1688),ncm(1689,1,{},tu),nPB.Kb=function(n){var t;return t=CY(n,42),WY(),SB(),0!=CY(t.a,86).d.e},nPB.Fb=function(n){return this===n},Nj(npP,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),ncm(1690,1,{},ts),nPB.Kb=function(n){var t;return t=CY(n,42),WY(),SB(),!!(J3(CY(t.a,86).j,CY(t.b,88))||0!=CY(t.a,86).d.e&&J3(CY(t.a,86).j,CY(t.b,88)))},nPB.Fb=function(n){return this===n},Nj(npP,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),ncm(1720,1,{},NG),Nj(npO,"CGraph",1720),ncm(194,1,{194:1},ZP),nPB.b=0,nPB.c=0,nPB.e=0,nPB.g=!0,nPB.i=nw_,Nj(npO,"CGroup",194),ncm(1719,1,{},th),nPB.yf=function(n,t){return nP_.Math.max(null!=n.a?pj(n.a):n.c.i,null!=t.a?pj(t.a):t.c.i)},nPB.zf=function(n,t){return nP_.Math.max(null!=n.a?pj(n.a):n.c.i,null!=t.a?pj(t.a):t.c.i)},Nj(npO,ndj,1719),ncm(1721,1,{},naG),nPB.d=!1;var nI5=Nj(npO,ndI,1721);ncm(1722,1,{},tf),nPB.Kb=function(n){return v7(),SB(),0!=CY(CY(n,42).a,86).d.e},nPB.Fb=function(n){return this===n},Nj(npO,ndA,1722),ncm(833,1,{},I7),nPB.a=!1,nPB.b=!1,nPB.c=!1,nPB.d=!1,Nj(npO,ndL,833),ncm(1898,1,{},AD),Nj(npC,ndN,1898);var nI8=IH(npI,ndM);ncm(1899,1,{382:1},$Q),nPB.bf=function(n){var t,e,i,r,a,c,o,u,s,h,f,l;(t=CY(n,476)).a?(Lz(this.b,t.b),this.a[t.b.i]=CY((a=this.b,c=t.b,a.a._c(c)),86),(e=CY((o=this.b,u=t.b,o.a.$c(u)),86))&&(this.a[e.i]=t.b)):((i=CY((s=this.b,h=t.b,s.a._c(h)),86))&&i==this.a[t.b.i]&&i.d&&i.d!=t.b.d&&i.f.Fc(t.b),(r=CY((f=this.b,l=t.b,f.a.$c(l)),86))&&this.a[r.i]==t.b&&r.d&&r.d!=t.b.d&&t.b.f.Fc(r),jR(this.b,t.b))},Nj(npC,ndx,1899),ncm(nwf,1,ndy,tl),nPB.Ne=function(n,t){var e,i;return e=CY(n,86),i=CY(t,86),Jj(e.g.c+e.g.b/2,i.g.c+i.g.b/2)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npC,nd$,nwf),ncm(476,1,{476:1},kg),nPB.a=!1,Nj(npC,ndD,476),ncm(1901,1,ndy,tb),nPB.Ne=function(n,t){return function(n,t){var e,i,r;if(i=n.b.g.d,n.a||(i+=n.b.g.a),r=t.b.g.d,t.a||(r+=t.b.g.a),0==(e=Jj(i,r))){if(!n.a&&t.a)return -1;else if(!t.a&&n.a)return 1}return e}(CY(n,476),CY(t,476))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npC,ndR,1901),ncm(148,1,{148:1},kp,C4),nPB.Fb=function(n){var t;return null!=n&&nI9==WZ(n)&&(t=CY(n,148),xL(this.c,t.c)&&xL(this.d,t.d))},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[this.c,this.d]))},nPB.Ib=function(){return"("+this.c+nl8+this.d+(this.a?"cx":"")+this.b+")"},nPB.a=!0,nPB.c=0,nPB.d=0;var nI9=Nj(npI,"Point",148);ncm(416,22,{3:1,34:1,22:1,416:1},ke);var nI7=qc(npI,"Point/Quadrant",416,nPw,function(){return Vp(),Vw(DY(nI7,1),nbG,416,0,[nx6,nx9,nx5,nx8])},function(n){return Vp(),qa((HL(),nx7),n)});ncm(1708,1,{},d8),nPB.b=null,nPB.c=null,nPB.d=null,nPB.e=null,nPB.f=null,Nj(npI,"RectilinearConvexHull",1708),ncm(583,1,{382:1},nnn),nPB.bf=function(n){var t;t=CY(n,148),this.a.Ne(t.d,this.b)>0&&(jB(this.c,new C4(t.c,t.d,this.d)),this.b=t.d)},nPB.b=0,Nj(npI,"RectilinearConvexHull/MaximalElementsEventHandler",583),ncm(1710,1,ndy,tw),nPB.Ne=function(n,t){var e,i;return e=PI(n),i=PI(t),yn(),Jj((xf(e),e),(xf(i),i))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),ncm(1709,1,{382:1},U8),nPB.bf=function(n){var t,e,i,r,a,c;t=this,e=CY(n,148),t.d&&(e.c!=t.e.c||(r=t.e.b,a=e.b,Vp(),r==nx6&&a==nx5||r==nx6&&a==nx8||r==nx9&&a==nx8||r==nx9&&a==nx5))&&(jB(t.f,t.d),t.a=t.d.c+t.d.b,t.d=null,t.e=null),(c=e.b)==nx6||c==nx5?t.c=e:t.b=e,(e.b==(Vp(),nx6)&&!e.a||e.b==nx5&&e.a||e.b==nx8&&e.a||e.b==nx9&&!e.a)&&t.c&&t.b&&(i=new x4(t.a,t.c.d,e.c-t.a,t.b.d-t.c.d),t.d=i,t.e=e)},nPB.a=0,nPB.b=null,nPB.c=null,nPB.d=null,nPB.e=null,Nj(npI,"RectilinearConvexHull/RectangleEventHandler",1709),ncm(1711,1,ndy,td),nPB.Ne=function(n,t){var e,i;return e=CY(n,148),i=CY(t,148),U6(),e.c==i.c?Jj(i.d,e.d):Jj(e.c,i.c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/lambda$0$Type",1711),ncm(1712,1,ndy,tv),nPB.Ne=function(n,t){var e,i;return e=CY(n,148),i=CY(t,148),U6(),e.c==i.c?Jj(e.d,i.d):Jj(e.c,i.c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/lambda$1$Type",1712),ncm(1713,1,ndy,ty),nPB.Ne=function(n,t){var e,i;return e=CY(n,148),i=CY(t,148),U6(),e.c==i.c?Jj(i.d,e.d):Jj(i.c,e.c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/lambda$2$Type",1713),ncm(1714,1,ndy,tm),nPB.Ne=function(n,t){var e,i;return e=CY(n,148),i=CY(t,148),U6(),e.c==i.c?Jj(e.d,i.d):Jj(i.c,e.c)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/lambda$3$Type",1714),ncm(1715,1,ndy,tk),nPB.Ne=function(n,t){return function(n,t){var e,i,r,a;if(U6(),n.c!=t.c)return Jj(n.c,t.c);if(n.b==t.b||(i=n.b,r=t.b,Vp(),i==nx6&&r==nx9||i==nx9&&r==nx6||i==nx8&&r==nx5||i==nx5&&r==nx8)){if(e=(a=n.b)==nx6||a==nx9?1:-1,n.a&&!t.a)return e;if(!n.a&&t.a)return-e}return jo(n.b.g,t.b.g)}(CY(n,148),CY(t,148))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npI,"RectilinearConvexHull/lambda$4$Type",1715),ncm(1716,1,{},D2),Nj(npI,"Scanline",1716),ncm(2104,1,{}),Nj(npA,"AbstractGraphPlacer",2104),ncm(335,1,{335:1},Po),nPB.Ff=function(n){return!!this.Gf(n)&&(naR(this.b,CY(niK(n,(nlF(),nKR)),21),n),!0)},nPB.Gf=function(n){var t,e,i;for(t=CY(niK(n,(nlF(),nKR)),21),i=CY(_G(n$c,t),21).Kc();i.Ob();)if(e=CY(i.Pb(),21),!CY(_G(this.b,e),15).dc())return!1;return!0},Nj(npA,"ComponentGroup",335),ncm(779,2104,{},d9),nPB.Hf=function(n){var t;for(t=new fU(this.a);t.a<t.c.c.length;)if(CY(RU(t),335).Ff(n))return;jB(this.a,new Po(n))},nPB.Ef=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(this.a.c.length=0,t.a.c.length=0,n.dc()){t.f.a=0,t.f.b=0;return}for(zU(t,c=CY(n.Xb(0),36)),r=n.Kc();r.Ob();)i=CY(r.Pb(),36),this.Hf(i);for(w=new mm,a=pj(PI(niK(c,(nlL(),nUm)))),s=new fU(this.a);s.a<s.c.c.length;)h=nlm(o=CY(RU(s),335),a),Hc(Np(o.b),w.a,w.b),w.a+=h.a,w.b+=h.b;if(t.f.a=w.a-a,t.f.b=w.b-a,pT(PC(niK(c,nBB)))&&ER(niK(c,nHu))===ER((JG(),nZc))){for(b=n.Kc();b.Ob();)nuW(f=CY(b.Pb(),36),f.c.a,f.c.b);for(nlj(e=new tp,n,a),l=n.Kc();l.Ob();)OT(Ta((f=CY(l.Pb(),36)).c),e.e);OT(Ta(t.f),e.a)}for(u=new fU(this.a);u.a<u.c.c.length;)Ha(t,Np((o=CY(RU(u),335)).b))},Nj(npA,"ComponentGroupGraphPlacer",779),ncm(1312,779,{},gw),nPB.Hf=function(n){QD(this,n)},nPB.Ef=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;if(this.a.c.length=0,t.a.c.length=0,n.dc()){t.f.a=0,t.f.b=0;return}for(zU(t,a=CY(n.Xb(0),36)),i=n.Kc();i.Ob();)QD(this,CY(i.Pb(),36));for(p=new mm,g=new mm,w=new mm,b=new mm,r=pj(PI(niK(a,(nlL(),nUm)))),u=new fU(this.a);u.a<u.c.c.length;){if(c=CY(RU(u),335),T$(CY(niK(t,(nl_(),nJ$)),88))){for(w.a=p.a,d=new pa(Ng(Ny(c.b).a).a.kc());d.b.Ob();)if(CY(yI(d.b.Pb()),21).Hc((nf5(),n1t))){w.a=g.a;break}}else if(TD(CY(niK(t,nJ$),88))){for(w.b=p.b,d=new pa(Ng(Ny(c.b).a).a.kc());d.b.Ob();)if(CY(yI(d.b.Pb()),21).Hc((nf5(),n1y))){w.b=g.b;break}}if(s=nlm(CY(c,579),r),Hc(Np(c.b),w.a,w.b),T$(CY(niK(t,nJ$),88))){for(g.a=w.a+s.a,b.a=nP_.Math.max(b.a,g.a),d=new pa(Ng(Ny(c.b).a).a.kc());d.b.Ob();)if(CY(yI(d.b.Pb()),21).Hc((nf5(),n1m))){p.a=w.a+s.a;break}g.b=w.b+s.b,w.b=g.b,b.b=nP_.Math.max(b.b,w.b)}else if(TD(CY(niK(t,nJ$),88))){for(g.b=w.b+s.b,b.b=nP_.Math.max(b.b,g.b),d=new pa(Ng(Ny(c.b).a).a.kc());d.b.Ob();)if(CY(yI(d.b.Pb()),21).Hc((nf5(),n1n))){p.b=w.b+s.b;break}g.a=w.a+s.a,w.a=g.a,b.a=nP_.Math.max(b.a,w.a)}}if(t.f.a=b.a-r,t.f.b=b.b-r,pT(PC(niK(a,nBB)))&&ER(niK(a,nHu))===ER((JG(),nZc))){for(l=n.Kc();l.Ob();)nuW(h=CY(l.Pb(),36),h.c.a,h.c.b);for(nlj(e=new tp,n,r),f=n.Kc();f.Ob();)OT(Ta((h=CY(f.Pb(),36)).c),e.e);OT(Ta(t.f),e.a)}for(o=new fU(this.a);o.a<o.c.c.length;)Ha(t,Np((c=CY(RU(o),335)).b))},Nj(npA,"ComponentGroupModelOrderGraphPlacer",1312),ncm(389,22,{3:1,34:1,22:1,389:1},ki);var nAn=qc(npA,"ComponentOrderingStrategy",389,nPw,function(){return ZT(),Vw(DY(nAn,1),nbG,389,0,[n$h,n$u,n$o,n$s])},function(n){return ZT(),qa((HA(),n$f),n)});ncm(659,1,{},tp),Nj(npA,"ComponentsCompactor",659),ncm(1533,13,nwZ,_w),nPB.Fc=function(n){return neb(this,CY(n,148))},Nj(npA,"ComponentsCompactor/Hullpoints",1533),ncm(1530,1,{855:1},nnk),nPB.a=!1,Nj(npA,"ComponentsCompactor/InternalComponent",1530),ncm(1529,1,nbO,d6),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new fU(this.a)},Nj(npA,"ComponentsCompactor/InternalConnectedComponents",1529),ncm(1532,1,{602:1},naz),nPB.Bf=function(){return null},nPB.Cf=function(){return this.a},nPB.Af=function(){return ZV(this.d)},nPB.Df=function(){return this.b},Nj(npA,"ComponentsCompactor/InternalExternalExtension",1532),ncm(1531,1,{602:1},gt),nPB.Cf=function(){return this.a},nPB.Af=function(){return ZV(this.d)},nPB.Bf=function(){return this.c},nPB.Df=function(){return this.b},Nj(npA,"ComponentsCompactor/InternalUnionExternalExtension",1531),ncm(1535,1,{},no0),Nj(npA,"ComponentsCompactor/OuterSegments",1535),ncm(1534,1,{},d5),Nj(npA,"ComponentsCompactor/Segments",1534),ncm(1282,1,{},_8),Nj(npA,ngH,1282),ncm(1283,1,ndy,tM),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,36),i=CY(t,36),(r=ntE(e))<(a=ntE(i))?-1:+(r>a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npA,"ComponentsProcessor/lambda$0$Type",1283),ncm(579,335,{335:1,579:1},_b),nPB.Ff=function(n){return WT(this,n)},nPB.Gf=function(n){return nog(this,n)},Nj(npA,"ModelOrderComponentGroup",579),ncm(1310,2104,{},tE),nPB.Ef=function(n,t){var e,i,r,a,c,o,u,s,h;if(1==n.gc()){(s=CY(n.Xb(0),36))!=t&&(t.a.c.length=0,nsu(t,s,0,0),zU(t,s),$y(t.d,s.d),t.f.a=s.f.a,t.f.b=s.f.b);return}if(n.dc()){t.a.c.length=0,t.f.a=0,t.f.b=0;return}for(this.Jf(n,t),r=CY(n.Xb(0),36),t.a.c.length=0,zU(t,r),o=0,h=0,a=n.Kc();a.Ob();)u=CY(a.Pb(),36).f,o=nP_.Math.max(o,u.a),h+=u.a*u.b;if(o=nP_.Math.max(o,nP_.Math.sqrt(h)*pj(PI(niK(t,(nlL(),nBF))))),i=pj(PI(niK(t,nUm))),this.If(n,t,o,i),pT(PC(niK(r,nBB)))){for(nlj(e=new tp,n,i),c=n.Kc();c.Ob();)OT(Ta(CY(c.Pb(),36).c),e.e);OT(Ta(t.f),e.a)}Ha(t,n)},nPB.If=function(n,t,e,i){var r,a,c,o,u,s,h,f;for(h=0,f=0,o=0,r=i,c=n.Kc();c.Ob();)h+(s=(a=CY(c.Pb(),36)).f).a>e&&(h=0,f+=o+i,o=0),u=a.c,nuW(a,h+u.a,f+u.b),Ta(u),r=nP_.Math.max(r,h+s.a),o=nP_.Math.max(o,s.b),h+=s.a+i;t.f.a=r,t.f.b=f+o},nPB.Jf=function(n,t){var e,i,r,a,c;if(ER(niK(t,(nlL(),nBG)))===ER((ZT(),n$h))){for(i=n.Kc();i.Ob();){for(e=CY(i.Pb(),36),c=0,a=new fU(e.a);a.a<a.c.c.length;)r=CY(RU(a),10),c+=CY(niK(r,nUs),17).a;e.p=c}$O(),n.jd(new tT)}},Nj(npA,"SimpleRowGraphPlacer",1310),ncm(1313,1310,{},tg),nPB.If=function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b;for(l=0,b=0,o=0,r=i,u=null,f=0,c=n.Kc();c.Ob();)(l+(h=(a=CY(c.Pb(),36)).f).a>e&&!CY(niK(a,(nlF(),nKR)),21).Hc((nf5(),n1t))||u&&CY(niK(u,(nlF(),nKR)),21).Hc((nf5(),n1n))||CY(niK(a,(nlF(),nKR)),21).Hc((nf5(),n1y)))&&(l=f,b+=o+i,o=0),s=a.c,CY(niK(a,(nlF(),nKR)),21).Hc((nf5(),n1t))&&(l=r+i),nuW(a,l+s.a,b+s.b),r=nP_.Math.max(r,l+h.a),CY(niK(a,nKR),21).Hc(n1m)&&(f=nP_.Math.max(f,l+h.a+i)),Ta(s),o=nP_.Math.max(o,h.b),l+=h.a+i,u=a;t.f.a=r,t.f.b=b+o},nPB.Jf=function(n,t){},Nj(npA,"ModelOrderRowGraphPlacer",1313),ncm(1311,1,ndy,tT),nPB.Ne=function(n,t){var e,i,r;return e=CY(n,36),0==(r=(i=CY(t,36)).p-e.p)?Jj(e.f.a*e.f.b,i.f.a*i.f.b):r},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npA,"SimpleRowGraphPlacer/1",1311),ncm(1280,1,ndK,tj),nPB.Lb=function(n){var t;return!!(t=CY(niK(CY(n,249).b,(nlL(),nHP)),75))&&0!=t.b},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){var t;return!!(t=CY(niK(CY(n,249).b,(nlL(),nHP)),75))&&0!=t.b},Nj(npD,"CompoundGraphPostprocessor/1",1280),ncm(1279,1,npR,gi),nPB.Kf=function(n,t){nnM(this,CY(n,36),t)},Nj(npD,"CompoundGraphPreprocessor",1279),ncm(453,1,{453:1},Ji),nPB.c=!1,Nj(npD,"CompoundGraphPreprocessor/ExternalPort",453),ncm(249,1,{249:1},Cw),nPB.Ib=function(){return Pe(this.c)+":"+naj(this.b)},Nj(npD,"CrossHierarchyEdge",249),ncm(777,1,ndy,lO),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,249),i=CY(t,249),e.c==(qy(),nGD)&&i.c==nG$?-1:e.c==nG$&&i.c==nGD?1:(r=Qt(e.a,this.a),a=Qt(i.a,this.a),e.c==nGD?a-r:r-a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npD,"CrossHierarchyEdgeComparator",777),ncm(305,137,{3:1,305:1,96:1,137:1}),nPB.p=0,Nj(npK,"LGraphElement",305),ncm(18,305,{3:1,18:1,305:1,96:1,137:1},$1),nPB.Ib=function(){return naj(this)};var nAt=Nj(npK,"LEdge",18);ncm(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},qG),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new fU(this.b)},nPB.Ib=function(){return 0==this.b.c.length?"G-unlayered"+niV(this.a):0==this.a.c.length?"G-layered"+niV(this.b):"G[layerless"+niV(this.a)+", layers"+niV(this.b)+"]"};var nAe=Nj(npK,"LGraph",36);ncm(666,1,{}),nPB.Lf=function(){return this.e.n},nPB.of=function(n){return niK(this.e,n)},nPB.Mf=function(){return this.e.o},nPB.Nf=function(){return this.e.p},nPB.pf=function(n){return Pn(this.e,n)},nPB.Of=function(n){this.e.n.a=n.a,this.e.n.b=n.b},nPB.Pf=function(n){this.e.o.a=n.a,this.e.o.b=n.b},nPB.Qf=function(n){this.e.p=n},Nj(npK,"LGraphAdapters/AbstractLShapeAdapter",666),ncm(474,1,{853:1},lC),nPB.Rf=function(){var n,t;if(!this.b)for(this.b=SY(this.a.b.c.length),t=new fU(this.a.b);t.a<t.c.c.length;)n=CY(RU(t),72),jB(this.b,new lI(n));return this.b},nPB.b=null,Nj(npK,"LGraphAdapters/LEdgeAdapter",474),ncm(665,1,{},x5),nPB.Sf=function(){var n,t,e,i,r;if(!this.b){for(this.b=new du,e=new fU(this.a.b);e.a<e.c.c.length;)for(r=new fU(CY(RU(e),30).a);r.a<r.c.c.length;)if(i=CY(RU(r),10),this.c.Mb(i)&&(jB(this.b,new Cp(this,i,this.e)),this.d)){if(Pn(i,(nlF(),nFm)))for(t=CY(niK(i,nFm),15).Kc();t.Ob();)n=CY(t.Pb(),10),jB(this.b,new Cp(this,n,!1));if(Pn(i,nKS))for(t=CY(niK(i,nKS),15).Kc();t.Ob();)n=CY(t.Pb(),10),jB(this.b,new Cp(this,n,!1))}}return this.b},nPB.Lf=function(){throw new pR(np_).e},nPB.of=function(n){return niK(this.a,n)},nPB.Mf=function(){return this.a.f},nPB.Nf=function(){return this.a.p},nPB.pf=function(n){return Pn(this.a,n)},nPB.Of=function(n){throw new pR(np_).e},nPB.Pf=function(n){this.a.f.a=n.a,this.a.f.b=n.b},nPB.Qf=function(n){this.a.p=n},nPB.b=null,nPB.d=!1,nPB.e=!1,Nj(npK,"LGraphAdapters/LGraphAdapter",665),ncm(585,666,{187:1},lI),Nj(npK,"LGraphAdapters/LLabelAdapter",585),ncm(584,666,{695:1},Cp),nPB.Tf=function(){return this.b},nPB.Uf=function(){return $O(),$O(),nO_},nPB.Rf=function(){var n,t;if(!this.a)for(this.a=SY(CY(this.e,10).b.c.length),t=new fU(CY(this.e,10).b);t.a<t.c.c.length;)n=CY(RU(t),72),jB(this.a,new lI(n));return this.a},nPB.Vf=function(){var n;return new Ou((n=CY(this.e,10).d).d,n.c,n.a,n.b)},nPB.Wf=function(){return $O(),$O(),nO_},nPB.Xf=function(){var n,t;if(!this.c)for(this.c=SY(CY(this.e,10).j.c.length),t=new fU(CY(this.e,10).j);t.a<t.c.c.length;)n=CY(RU(t),12),jB(this.c,new km(n,this.d));return this.c},nPB.Yf=function(){return pT(PC(niK(CY(this.e,10),(nlF(),nKC))))},nPB.Zf=function(n){CY(this.e,10).d.b=n.b,CY(this.e,10).d.d=n.d,CY(this.e,10).d.c=n.c,CY(this.e,10).d.a=n.a},nPB.$f=function(n){CY(this.e,10).f.b=n.b,CY(this.e,10).f.d=n.d,CY(this.e,10).f.c=n.c,CY(this.e,10).f.a=n.a},nPB._f=function(){var n;ye(),n=n$w,Oq(CY(niK(CY(this.e,10),(nlL(),nUt)),101))&&($O(),ji(CY(this.e,10).j,n))},nPB.a=null,nPB.b=null,nPB.c=null,nPB.d=!1,Nj(npK,"LGraphAdapters/LNodeAdapter",584),ncm(1788,666,{852:1},km),nPB.Uf=function(){var n,t,e,i,r,a,c,o;if(this.d&&CY(this.e,12).i.k==(ni8(),n$y))return $O(),$O(),nO_;if(!this.a){for(this.a=new du,e=new fU(CY(this.e,12).e);e.a<e.c.c.length;)n=CY(RU(e),18),jB(this.a,new lC(n));if(this.d&&(i=CY(niK(CY(this.e,12),(nlF(),nFi)),10)))for(t=new Le(Sb(Jz(i).a.Kc(),new s));ncv(t);)n=CY(_I(t),18),jB(this.a,new lC(n));if(Pn(CY(this.e,12).i,(nlF(),nFh))&&(c=CY(niK(CY(this.e,12).i,nFh),337),o=CY(UC(c.e,this.e),113)))for(a=new fU(o.b);a.a<a.c.c.length;)r=CY(RU(a),340),jB(this.a,new lC(r.a))}return this.a},nPB.Rf=function(){var n,t;if(!this.b)for(this.b=SY(CY(this.e,12).f.c.length),t=new fU(CY(this.e,12).f);t.a<t.c.c.length;)n=CY(RU(t),72),jB(this.b,new lI(n));return this.b},nPB.Wf=function(){var n,t,e,i,r,a,c,o;if(this.d&&CY(this.e,12).i.k==(ni8(),n$y))return $O(),$O(),nO_;if(!this.c){for(this.c=new du,e=new fU(CY(this.e,12).g);e.a<e.c.c.length;)n=CY(RU(e),18),jB(this.c,new lC(n));if(this.d&&(i=CY(niK(CY(this.e,12),(nlF(),nFi)),10)))for(t=new Le(Sb(JV(i).a.Kc(),new s));ncv(t);)n=CY(_I(t),18),jB(this.c,new lC(n));if(Pn(CY(this.e,12).i,(nlF(),nFh))&&(c=CY(niK(CY(this.e,12).i,nFh),337),o=CY(UC(c.e,this.e),113)))for(a=new fU(o.e);a.a<a.c.c.length;)r=CY(RU(a),340),jB(this.c,new lC(r.a))}return this.c},nPB.ag=function(){return CY(this.e,12).j},nPB.bg=function(){return pT(PC(niK(CY(this.e,12),(nlF(),nKX))))},nPB.a=null,nPB.b=null,nPB.c=null,nPB.d=!1,Nj(npK,"LGraphAdapters/LPortAdapter",1788),ncm(1789,1,ndy,tS),nPB.Ne=function(n,t){return function(n,t){var e,i,r,a;if(0!=(a=n.j.g-t.j.g))return a;if(e=CY(niK(n,(nlL(),nUe)),17),i=CY(niK(t,nUe),17),e&&i&&0!=(r=e.a-i.a))return r;switch(n.j.g){case 1:return Jj(n.n.a,t.n.a);case 2:return Jj(n.n.b,t.n.b);case 3:return Jj(t.n.a,n.n.a);case 4:return Jj(t.n.b,n.n.b);default:throw new px(npB).e}}(CY(n,12),CY(t,12))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(npK,"LGraphAdapters/PortComparator",1789),ncm(818,1,nbV,tP),nPB.Mb=function(n){return CY(n,10),ye(),!0},Nj(npK,"LGraphAdapters/lambda$0$Type",818),ncm(404,305,{3:1,305:1,404:1,96:1,137:1}),Nj(npK,"LShape",404),ncm(72,404,{3:1,305:1,72:1,404:1,96:1,137:1},mp,jl),nPB.Ib=function(){var n;return null==(n=this.a?this.a:xZ(this))?"label":"l_"+n},Nj(npK,"LLabel",72),ncm(214,1,{3:1,4:1,214:1,423:1}),nPB.Fb=function(n){var t;return!!jM(n,214)&&(t=CY(n,214),this.d==t.d&&this.a==t.a&&this.b==t.b&&this.c==t.c)},nPB.Hb=function(){return(Td(this.b)<<16|Td(this.a)&nb9)^(Td(this.c)<<16|Td(this.d)&nb9)},nPB.cg=function(n){var t,e,i,r,a,c,o,u,s;for(r=0;r<n.length&&Qe((Rx(r,n.length),n.charCodeAt(r)),npq);)++r;for(t=n.length;t>0&&Qe((Rx(t-1,n.length),n.charCodeAt(t-1)),npX);)--t;if(r<t){u=ns7((B2(r,t,n.length),n.substr(r,t-r)),",|;");try{for(c=0,o=u.length;c<o;++c){if(a=u[c],i=ns7(a,"="),2!=i.length)throw new pN("Expecting a list of key-value pairs.").e;e=nrJ(i[0]),s=ni7(nrJ(i[1])),OB(e,"top")?this.d=s:OB(e,"left")?this.b=s:OB(e,"bottom")?this.a=s:OB(e,"right")&&(this.c=s)}}catch(n){if(jM(n=Vt(n),130))throw new pN(npz+n).e;throw n.e}}},nPB.Ib=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=0,Nj(npV,"Spacing",214),ncm(140,214,npW,gd,TM,Ou,CU);var nAi=Nj(npV,"ElkMargin",140);ncm(660,140,npW,gg),Nj(npK,"LMargin",660),ncm(10,404,{3:1,305:1,10:1,404:1,96:1,137:1},nn_),nPB.Ib=function(){return nni(this)},nPB.i=!1;var nAr=Nj(npK,"LNode",10);ncm(273,22,{3:1,34:1,22:1,273:1},kr);var nAa=qc(npK,"LNode/NodeType",273,nPw,function(){return ni8(),Vw(DY(nAa,1),nbG,273,0,[n$v,n$m,n$g,n$y,n$p,n$d])},function(n){return ni8(),qa((G_(),n$k),n)});ncm(775,1,nbV,tO),nPB.Mb=function(n){return pT(PC(niK(CY(n,72),(nlL(),nHa))))},Nj(npK,"LNode/lambda$0$Type",775),ncm(107,214,npQ,gp,TW,CG);var nAc=Nj(npV,"ElkPadding",107);ncm(778,107,npQ,gm),Nj(npK,"LPadding",778),ncm(12,404,{3:1,305:1,12:1,404:1,96:1,137:1},nro),nPB.Ib=function(){var n,t,e;return n=new p2,EY((n.a+="p_",n),ntC(this)),this.i&&EY(EJ((n.a+="[",n),this.i),"]"),1==this.e.c.length&&0==this.g.c.length&&CY(I0(this.e,0),18).c!=this&&(t=CY(I0(this.e,0),18).c,EY((n.a+=" << ",n),ntC(t)),EY(EJ((n.a+="[",n),t.i),"]")),0==this.e.c.length&&1==this.g.c.length&&CY(I0(this.g,0),18).d!=this&&(e=CY(I0(this.g,0),18).d,EY((n.a+=" >> ",n),ntC(e)),EY(EJ((n.a+="[",n),e.i),"]")),n.a},nPB.c=!0,nPB.d=!1;var nAo=Nj(npK,"LPort",12);ncm(408,1,nbO,lA),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new lL(new fU(this.a.e))},Nj(npK,"LPort/1",408),ncm(1309,1,nbu,lL),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return CY(RU(this.a),18).c},nPB.Ob=function(){return jr(this.a)},nPB.Qb=function(){L6(this.a)},Nj(npK,"LPort/1/1",1309),ncm(369,1,nbO,lN),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new lx(new fU(this.a.g))},Nj(npK,"LPort/2",369),ncm(776,1,nbu,lx),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return CY(RU(this.a),18).d},nPB.Ob=function(){return jr(this.a)},nPB.Qb=function(){L6(this.a)},Nj(npK,"LPort/2/1",776),ncm(1302,1,nbO,kh),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new _4(this)},Nj(npK,"LPort/CombineIter",1302),ncm(208,1,nbu,_4),nPB.Nb=function(n){LD(this,n)},nPB.Qb=function(){mD()},nPB.Ob=function(){return SR(this)},nPB.Pb=function(){return jr(this.a)?RU(this.a):RU(this.b)},Nj(npK,"LPort/CombineIter/1",208),ncm(1303,1,ndK,tC),nPB.Lb=function(n){return Lw(n)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),0!=CY(n,12).g.c.length},Nj(npK,"LPort/lambda$0$Type",1303),ncm(1304,1,ndK,tI),nPB.Lb=function(n){return Ld(n)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),0!=CY(n,12).e.c.length},Nj(npK,"LPort/lambda$1$Type",1304),ncm(1305,1,ndK,tA),nPB.Lb=function(n){return X8(),CY(n,12).j==(nf5(),n1t)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),CY(n,12).j==(nf5(),n1t)},Nj(npK,"LPort/lambda$2$Type",1305),ncm(1306,1,ndK,tL),nPB.Lb=function(n){return X8(),CY(n,12).j==(nf5(),n1n)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),CY(n,12).j==(nf5(),n1n)},Nj(npK,"LPort/lambda$3$Type",1306),ncm(1307,1,ndK,tN),nPB.Lb=function(n){return X8(),CY(n,12).j==(nf5(),n1m)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),CY(n,12).j==(nf5(),n1m)},Nj(npK,"LPort/lambda$4$Type",1307),ncm(1308,1,ndK,tx),nPB.Lb=function(n){return X8(),CY(n,12).j==(nf5(),n1y)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return X8(),CY(n,12).j==(nf5(),n1y)},Nj(npK,"LPort/lambda$5$Type",1308),ncm(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},NU),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new fU(this.a)},nPB.Ib=function(){return"L_"+H6(this.b.b,this,0)+niV(this.a)},Nj(npK,"Layer",30),ncm(1330,1,{},ge),Nj(npJ,npY,1330),ncm(1334,1,{},t$),nPB.Kb=function(n){return niw(CY(n,84))},Nj(npJ,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),ncm(1337,1,{},tD),nPB.Kb=function(n){return niw(CY(n,84))},Nj(npJ,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),ncm(1331,1,nbE,l$),nPB.Cd=function(n){na3(this.a,CY(n,123))},Nj(npJ,ngG,1331),ncm(1332,1,nbE,lD),nPB.Cd=function(n){na3(this.a,CY(n,123))},Nj(npJ,npZ,1332),ncm(1333,1,{},tR),nPB.Kb=function(n){return new Aa(null,new R$(xD(CY(n,74)),16))},Nj(npJ,np1,1333),ncm(1335,1,nbV,lR),nPB.Mb=function(n){var t;return t=this.a,Gw(CY(n,27),DP(t))},Nj(npJ,np0,1335),ncm(1336,1,{},tK),nPB.Kb=function(n){var t;return new Aa(null,new R$(((t=CY(n,74)).b||(t.b=new Ox(nL4,t,4,7)),t.b),16))},Nj(npJ,"ElkGraphImporter/lambda$5$Type",1336),ncm(1338,1,nbV,lK),nPB.Mb=function(n){var t;return t=this.a,Gw(CY(n,27),DP(t))},Nj(npJ,"ElkGraphImporter/lambda$7$Type",1338),ncm(1339,1,nbV,tF),nPB.Mb=function(n){var t;return na$(t=CY(n,74))&&pT(PC(ncx(t,(nlL(),nHT))))},Nj(npJ,"ElkGraphImporter/lambda$8$Type",1339),ncm(1297,1,{},s9),Nj(npJ,"ElkGraphLayoutTransferrer",1297),ncm(1298,1,nbV,lF),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,18),yr(),!zO(e.d.i,t)},Nj(npJ,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),ncm(1299,1,nbE,l_),nPB.Cd=function(n){yr(),jB(this.a,CY(n,18))},Nj(npJ,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),ncm(1300,1,nbV,lB),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,18),yr(),zO(e.d.i,t)},Nj(npJ,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),ncm(1301,1,nbE,lH),nPB.Cd=function(n){yr(),jB(this.a,CY(n,18))},Nj(npJ,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),ncm(819,1,{},Ow),Nj(np2,"BiLinkedHashMultiMap",819),ncm(1550,1,npR,t_),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug(np3,1),vZ(UL(new Aa(null,new R$(e.b,16)),new tB),new tH),t.Vg()},Nj(np2,"CommentNodeMarginCalculator",1550),ncm(1551,1,{},tB),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"CommentNodeMarginCalculator/lambda$0$Type",1551),ncm(1552,1,nbE,tH),nPB.Cd=function(n){!function(n){var t,e,i,r,a,c,o,u,s,h,f,l;if(o=n.d,f=CY(niK(n,(nlF(),nFm)),15),t=CY(niK(n,nKS),15),f||t){if(a=pj(PI(Y_(n,(nlL(),nUg)))),c=pj(PI(Y_(n,nUp))),l=0,f){for(s=0,r=f.Kc();r.Ob();)i=CY(r.Pb(),10),s=nP_.Math.max(s,i.o.b),l+=i.o.a;l+=a*(f.gc()-1),o.d+=s+c}if(e=0,t){for(s=0,r=t.Kc();r.Ob();)i=CY(r.Pb(),10),s=nP_.Math.max(s,i.o.b),e+=i.o.a;e+=a*(t.gc()-1),o.a+=s+c}(u=nP_.Math.max(l,e))>n.o.a&&(h=(u-n.o.a)/2,o.b=nP_.Math.max(o.b,h),o.c=nP_.Math.max(o.c,h))}}(CY(n,10))},Nj(np2,"CommentNodeMarginCalculator/lambda$1$Type",1552),ncm(1553,1,npR,tU),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;for(t.Ug("Comment post-processing",1),a=new fU(n.b);a.a<a.c.c.length;){for(r=CY(RU(a),30),i=new du,o=new fU(r.a);o.a<o.c.c.length;)c=CY(RU(o),10),u=CY(niK(c,(nlF(),nFm)),15),e=CY(niK(c,nKS),15),(u||e)&&(function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;if(d=n.n,g=n.o,l=n.d,f=pj(PI(Y_(n,(nlL(),nUg)))),t){for(h=f*(t.gc()-1),b=0,u=t.Kc();u.Ob();)h+=(c=CY(u.Pb(),10)).o.a,b=nP_.Math.max(b,c.o.b);for(p=d.a-(h-g.a)/2,a=d.b-l.d+b,r=i=g.a/(t.gc()+1),o=t.Kc();o.Ob();)(c=CY(o.Pb(),10)).n.a=p,c.n.b=a-c.o.b,p+=c.o.a+f,(s=nor(c)).n.a=c.o.a/2-s.a.a,s.n.b=c.o.b,(w=CY(niK(c,(nlF(),nKO)),12)).e.c.length+w.g.c.length==1&&(w.n.a=r-w.a.a,w.n.b=0,Ro(w,n)),r+=i}if(e){for(h=f*(e.gc()-1),b=0,u=e.Kc();u.Ob();)h+=(c=CY(u.Pb(),10)).o.a,b=nP_.Math.max(b,c.o.b);for(p=d.a-(h-g.a)/2,a=d.b+g.b+l.a-b,r=i=g.a/(e.gc()+1),o=e.Kc();o.Ob();)(c=CY(o.Pb(),10)).n.a=p,c.n.b=a,p+=c.o.a+f,(s=nor(c)).n.a=c.o.a/2-s.a.a,s.n.b=0,(w=CY(niK(c,(nlF(),nKO)),12)).e.c.length+w.g.c.length==1&&(w.n.a=r-w.a.a,w.n.b=g.b,Ro(w,n)),r+=i}}(c,u,e),u&&Vc(i,u),e&&Vc(i,e));Vc(r.a,i)}t.Vg()}(CY(n,36),t)},Nj(np2,"CommentPostprocessor",1553),ncm(1554,1,npR,tG),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(t.Ug("Comment pre-processing",1),e=0,u=new fU(n.a);u.a<u.c.c.length;)if(pT(PC(niK(o=CY(RU(u),10),(nlL(),nB_))))){for(++e,r=0,i=null,s=null,w=new fU(o.j);w.a<w.c.c.length;)r+=(l=CY(RU(w),12)).e.c.length+l.g.c.length,1==l.e.c.length&&(s=(i=CY(I0(l.e,0),18)).c),1==l.g.c.length&&(s=(i=CY(I0(l.g,0),18)).d);if(1!=r||s.e.c.length+s.g.c.length!=1||pT(PC(niK(s.i,nB_)))){for(g=new du,b=new fU(o.j);b.a<b.c.c.length;){for(f=new fU((l=CY(RU(b),12)).g);f.a<f.c.c.length;)0==(h=CY(RU(f),18)).d.g.c.length||dk(g.c,h);for(c=new fU(l.e);c.a<c.c.c.length;)0==(a=CY(RU(c),18)).c.e.c.length||dk(g.c,a)}for(d=new fU(g);d.a<d.c.c.length;)nhf(CY(RU(d),18),!0)}else(function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;if(l=!1,f=!1,Tx(CY(niK(i,(nlL(),nUt)),101))){c=!1,o=!1;a:for(w=new fU(i.j);w.a<w.c.c.length;)for(b=CY(RU(w),12),d=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(b),new lN(b)])));ncv(d);)if(!pT(PC(niK(CY(_I(d),12).i,nB_)))){if(b.j==(nf5(),n1t)){c=!0;break a}if(b.j==n1m){o=!0;break a}}l=o&&!c,f=c&&!o}if(l||f||0==i.b.c.length)p=!f;else{for(h=0,s=new fU(i.b);s.a<s.c.c.length;)h+=(u=CY(RU(s),72)).n.b+u.o.b/2;h/=i.b.c.length,p=h>=i.o.b/2}(p?(g=CY(niK(i,(nlF(),nFm)),15))?l?a=g:(r=CY(niK(i,nKS),15))?a=g.gc()<=r.gc()?g:r:(a=new du,VD(i,nKS,a)):(a=new du,VD(i,nFm,a)):(r=CY(niK(i,(nlF(),nKS)),15))?f?a=r:(g=CY(niK(i,nFm),15))?a=r.gc()<=g.gc()?r:g:(a=new du,VD(i,nFm,a)):(a=new du,VD(i,nKS,a)),a.Fc(n),VD(n,(nlF(),nKO),e),t.d==e)?(Ru(t,null),e.e.c.length+e.g.c.length==0&&Ro(e,null),(m=CY(niK(e,(nlF(),nFi)),10))&&(H0((v=m.c).a,m),0==v.a.c.length&&H0(xi(m).b,v))):(Ra(t,null),e.e.c.length+e.g.c.length==0&&Ro(e,null)),$p(t.a)})(o,i,s,s.i),L6(u)}t._g()&&t.bh("Found "+e+" comment boxes"),t.Vg()}(CY(n,36),t)},Nj(np2,"CommentPreprocessor",1554),ncm(1555,1,npR,tq),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;for(t.Ug("Constraints Postprocessor",1),c=0,a=new fU(n.b);a.a<a.c.c.length;){for(r=CY(RU(a),30),u=0,o=!1,i=new fU(r.a);i.a<i.c.c.length;)(e=CY(RU(i),10)).k==(ni8(),n$v)&&(o=!0,VD(e,(nlL(),nHA),Qx(c)),VD(e,nB5,Qx(u)),++u);o&&++c}t.Vg()}(CY(n,36),t)},Nj(np2,"ConstraintsPostprocessor",1555),ncm(1556,1,npR,tX),nPB.Kf=function(n,t){var e=CY(n,36);t.Ug("Edge and layer constraint edge reversal",1),function(n){var t,e,i,r,a,c,o,u,s,h,f;for(s=new fU(n);s.a<s.c.c.length;){switch(u=CY(RU(s),10),c=CY(niK(u,(nlL(),nHI)),171),a=null,c.g){case 1:case 2:VH(),a=nRB;break;case 3:case 4:VH(),a=nRF}if(a)VD(u,(nlF(),nKx),(VH(),nRB)),a==nRF?noO(u,c,(qy(),nG$)):a==nRB&&noO(u,c,(qy(),nGD));else if(Tx(CY(niK(u,nUt),101))&&0!=u.j.c.length){for(t=!0,f=new fU(u.j);f.a<f.c.c.length;){if(!((h=CY(RU(f),12)).j==(nf5(),n1n)&&h.e.c.length-h.g.c.length>0||h.j==n1y&&h.e.c.length-h.g.c.length<0)){t=!1;break}for(r=new fU(h.g);r.a<r.c.c.length;)if(e=CY(RU(r),18),(o=CY(niK(e.d.i,nHI),171))==(Yb(),nFk)||o==nFM){t=!1;break}for(i=new fU(h.e);i.a<i.c.c.length;)if(e=CY(RU(i),18),(o=CY(niK(e.c.i,nHI),171))==(Yb(),nFv)||o==nFy){t=!1;break}}t&&noO(u,c,(qy(),nGR))}}}(function(n){var t,e,i,r,a;for(a=new Bf(n.a.c.length),r=new fU(n.a);r.a<r.c.c.length;){switch(i=CY(RU(r),10),e=CY(niK(i,(nlL(),nHI)),171),t=null,e.g){case 1:case 2:VH(),t=nRB;break;case 3:case 4:VH(),t=nRF}t?(VD(i,(nlF(),nKx),(VH(),nRB)),t==nRF?noO(i,e,(qy(),nG$)):t==nRB&&noO(i,e,(qy(),nGD))):dk(a.c,i)}return a}(e)),t.Vg()},Nj(np2,"EdgeAndLayerConstraintEdgeReverser",1556),ncm(1557,1,npR,tz),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("End label post-processing",1),vZ(xX(UL(new Aa(null,new R$(e.b,16)),new tV),new tW),new tQ),t.Vg()},Nj(np2,"EndLabelPostprocessor",1557),ncm(1558,1,{},tV),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"EndLabelPostprocessor/lambda$0$Type",1558),ncm(1559,1,nbV,tW),nPB.Mb=function(n){var t;return((t=CY(n,10)).k==(ni8(),n$v)||t.k==n$g)&&Pn(t,(nlF(),nK$))},Nj(np2,"EndLabelPostprocessor/lambda$1$Type",1559),ncm(1560,1,nbE,tQ),nPB.Cd=function(n){!function(n){var t,e,i,r,a;for(t=CY(niK(n,(nlF(),nK$)),85),a=n.n,i=t.Cc().Kc();i.Ob();)r=(e=CY(i.Pb(),314)).i,r.c+=a.a,r.d+=a.b,e.c?nus(e):nuh(e);VD(n,nK$,null)}(CY(n,10))},Nj(np2,"EndLabelPostprocessor/lambda$2$Type",1560),ncm(1561,1,npR,tJ),nPB.Kf=function(n,t){var e,i,r,a;e=CY(n,36),t.Ug("End label pre-processing",1),i=pj(PI(niK(e,(nlL(),nUk)))),r=pj(PI(niK(e,nUj))),a=TD(CY(niK(e,nHt),88)),vZ(UL(new Aa(null,new R$(e.b,16)),new tY),new Cb(i,r,a)),t.Vg()},Nj(np2,"EndLabelPreprocessor",1561),ncm(1562,1,{},tY),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"EndLabelPreprocessor/lambda$0$Type",1562),ncm(1563,1,nbE,Cb),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=this.c,function(n,t,e,i){var r,a,c,o,u,s;for(o=0,u=BJ(nCk,ndZ,314,c=n.j.c.length,0,1);o<c;o++)(a=CY(I0(n.j,o),12)).p=o,u[o]=function(n,t,e){var i,r,a,c,o,u;if(!n||0==n.c.length)return null;for(a=new Dr(t,!e),r=new fU(n);r.a<r.c.c.length;)i=CY(RU(r),72),nrg(a,(ye(),new lI(i)));return c=a.i,u=a.n,c.a=a.e.b+u.d+u.a,o=a.n,c.b=a.e.a+o.b+o.c,a}(ncy(a),e,i);for(function(n,t,e,i,r){var a,c,o,u;for(u=new O9(a=CY(mP(nLq),9),CY(Oc(a,a.length),9),0),o=new fU(n.j);o.a<o.c.c.length;)t[(c=CY(RU(o),12)).p]&&(function(n,t,e){var i,r,a,c,o;switch(i=t.i,a=n.i.o,r=n.i.d,o=n.n,c=V4(Vw(DY(nLA,1),nby,8,0,[o,n.a])),n.j.g){case 1:P0(t,(Uk(),nIf)),i.d=-r.d-e-i.a,CY(CY(I0(t.d,0),187).of((nlF(),nKJ)),291)==(ntG(),nZC)?(Hn(t,(HS(),nIs)),i.c=c.a-pj(PI(niK(n,nK3)))-e-i.b):(Hn(t,(HS(),nIu)),i.c=c.a+pj(PI(niK(n,nK3)))+e);break;case 2:Hn(t,(HS(),nIu)),i.c=a.a+r.c+e,CY(CY(I0(t.d,0),187).of((nlF(),nKJ)),291)==(ntG(),nZC)?(P0(t,(Uk(),nIf)),i.d=c.b-pj(PI(niK(n,nK3)))-e-i.a):(P0(t,(Uk(),nIb)),i.d=c.b+pj(PI(niK(n,nK3)))+e);break;case 3:P0(t,(Uk(),nIb)),i.d=a.b+r.a+e,CY(CY(I0(t.d,0),187).of((nlF(),nKJ)),291)==(ntG(),nZC)?(Hn(t,(HS(),nIs)),i.c=c.a-pj(PI(niK(n,nK3)))-e-i.b):(Hn(t,(HS(),nIu)),i.c=c.a+pj(PI(niK(n,nK3)))+e);break;case 4:Hn(t,(HS(),nIs)),i.c=-r.b-e-i.b,CY(CY(I0(t.d,0),187).of((nlF(),nKJ)),291)==(ntG(),nZC)?(P0(t,(Uk(),nIf)),i.d=c.b-pj(PI(niK(n,nK3)))-e-i.a):(P0(t,(Uk(),nIb)),i.d=c.b+pj(PI(niK(n,nK3)))+e)}}(c,t[c.p],i),Xf(u,c.j));r?(ne7(n,t,(nf5(),n1n),2*e,i),ne7(n,t,n1y,2*e,i)):(ne7(n,t,(nf5(),n1t),2*e,i),ne7(n,t,n1m,2*e,i))}(n,u,e,t,i),s=new dc,r=0;r<u.length;r++)u[r]&&xM(s,CY(I0(n.j,r),12),u[r]);s.f.c+s.i.c!=0&&(VD(n,(nlF(),nK$),s),function(n,t){var e,i,r,a,c,o;for(a=n.d,o=n.o,c=new x4(-a.b,-a.d,a.b+o.a+a.c,a.d+o.b+a.a),i=0,r=t.length;i<r;++i)(e=t[i])&&nrx(c,e.i);a.b=-c.c,a.d=-c.d,a.c=c.b-a.b-o.a,a.a=c.a-a.d-o.b}(n,u))}(CY(n,10),t,e,i)},nPB.a=0,nPB.b=0,nPB.c=!1,Nj(np2,"EndLabelPreprocessor/lambda$1$Type",1563),ncm(1564,1,nbV,tZ),nPB.Mb=function(n){return ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZr))},Nj(np2,"EndLabelPreprocessor/lambda$2$Type",1564),ncm(1565,1,nbE,lU),nPB.Cd=function(n){IA(this.a,CY(n,72))},Nj(np2,"EndLabelPreprocessor/lambda$3$Type",1565),ncm(1566,1,nbV,t1),nPB.Mb=function(n){return ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZi))},Nj(np2,"EndLabelPreprocessor/lambda$4$Type",1566),ncm(1567,1,nbE,lG),nPB.Cd=function(n){IA(this.a,CY(n,72))},Nj(np2,"EndLabelPreprocessor/lambda$5$Type",1567),ncm(1615,1,npR,s1),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("Sort end labels",1),vZ(xX(UL(new Aa(null,new R$(e.b,16)),new t2),new t3),new t4),t.Vg()},Nj(np2,"EndLabelSorter",1615),ncm(1616,1,ndy,t0),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,466),i=CY(t,466),0!=(r=jo(e.a.c.p,i.a.c.p))?r:0!=(a=jo(e.a.d.i.p,i.a.d.i.p))?a:jo(i.a.d.p,e.a.d.p)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"EndLabelSorter/1",1616),ncm(466,1,{466:1},$j),Nj(np2,"EndLabelSorter/LabelGroup",466),ncm(1617,1,{},t2),nPB.Kb=function(n){return yi(),new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"EndLabelSorter/lambda$0$Type",1617),ncm(1618,1,nbV,t3),nPB.Mb=function(n){return yi(),CY(n,10).k==(ni8(),n$v)},Nj(np2,"EndLabelSorter/lambda$1$Type",1618),ncm(1619,1,nbE,t4),nPB.Cd=function(n){!function(n){var t,e,i,r;if(t=!1,Pn(n,(nlF(),nK$)))for(e=CY(niK(n,nK$),85),r=new fU(n.j);r.a<r.c.c.length;)(function(n){var t,e,i;for(t=0,e=new fU(n.e);e.a<e.c.c.length;)_g(new Aa(null,new R$(CY(RU(e),18).b,16)),new t6)&&++t;for(i=new fU(n.g);i.a<i.c.c.length;)_g(new Aa(null,new R$(CY(RU(i),18).b,16)),new t5)&&++t;return t>=2})(i=CY(RU(r),12))&&(t||(function(n){var t,e,i,r,a;for(e=0,t=new fU(n.b);t.a<t.c.c.length;)for(r=new fU(CY(RU(t),30).a);r.a<r.c.c.length;)for((i=CY(RU(r),10)).p=e++,a=new fU(i.j);a.a<a.c.c.length;)CY(RU(a),12).p=e++}(xi(n)),t=!0),function(n){var t,e,i;for(ji(e=function(n){var t,e,i,r;for(e=new dc,r=new fU(n.d);r.a<r.c.c.length;)i=CY(RU(r),187),t=CY(i.of((nlF(),nKD)),18),Aj(e.f,t)||xM(e,t,new $j(t)),jB(CY(ED(Aj(e.f,t)),466).b,i);return new O8(new fN(e))}(n),n$C),(i=n.d).c.length=0,t=new fU(e);t.a<t.c.c.length;)Vc(i,CY(RU(t),466).b)}(CY(e.xc(i),314)))}(CY(n,10))},Nj(np2,"EndLabelSorter/lambda$2$Type",1619),ncm(1620,1,nbV,t6),nPB.Mb=function(n){return yi(),ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZi))},Nj(np2,"EndLabelSorter/lambda$3$Type",1620),ncm(1621,1,nbV,t5),nPB.Mb=function(n){return yi(),ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZr))},Nj(np2,"EndLabelSorter/lambda$4$Type",1621),ncm(1568,1,npR,t8),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h;for(n.b=pj(PI(niK(t,(nlL(),nUy)))),n.c=pj(PI(niK(t,nUE))),n.d=CY(niK(t,nHb),350),n.a=CY(niK(t,nBU),282),s=new fU(t.b);s.a<s.c.c.length;)for(u=CY(RU(s),30),o=0,h=new fU(u.a);h.a<h.c.c.length;)CY(RU(h),10).p=o++;for(r=(a=CY(FB(xX(xX(UL(UL(new Aa(null,new R$(t.b,16)),new t9),new t7),new en),new et),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15)).Kc();r.Ob();)e=CY(r.Pb(),18),CY(niK(e,(nlF(),nFw)),15).Jc(new lq(n)),VD(e,nFw,null);for(i=a.Kc();i.Ob();)e=CY(i.Pb(),18),c=CY(niK(e,(nlF(),nFd)),18),function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;if(!t.dc()){if(r=new gj,f=(c=e||CY(t.Xb(0),18)).c,noD(),(s=f.i.k)!=(ni8(),n$v)&&s!=n$y&&s!=n$g&&s!=n$d)throw new pN("The target node of the edge must be a normal node or a northSouthPort.").e;for(E6(r,V4(Vw(DY(nLA,1),nby,8,0,[f.i.n,f.n,f.a]))),(nf5(),n1l).Hc(f.j)&&(b=pj(PI(niK(f,(nlF(),nFb)))),F_(r,new MH(V4(Vw(DY(nLA,1),nby,8,0,[f.i.n,f.n,f.a])).a,b),r.c.b,r.c)),u=null,i=!1,o=t.Kc();o.Ob();)0!=(a=CY(o.Pb(),18).a).b&&(i?(F_(r,j_(OT(u,(Px(0!=a.b),CY(a.a.a.c,8))),.5),r.c.b,r.c),i=!1):i=!0,u=jv((Px(0!=a.b),CY(a.c.b.c,8))),Xx(r,a),$p(a));l=c.d,n1l.Hc(l.j)&&(b=pj(PI(niK(l,(nlF(),nFb)))),F_(r,new MH(V4(Vw(DY(nLA,1),nby,8,0,[l.i.n,l.n,l.a])).a,b),r.c.b,r.c)),E6(r,V4(Vw(DY(nLA,1),nby,8,0,[l.i.n,l.n,l.a]))),n.d==(WQ(),nGz)&&(Px(0!=r.b),w=CY(r.a.a.c,8),d=CY(nnt(r,1),8),g=new RE(Wg(f.j)),g.a*=5,g.b*=5,p=Oj(new MH(d.a,d.b),w),OT(m=new MH(DH(g.a,p.a),DH(g.b,p.b)),w),Ne(ZQ(r,1),m),Px(0!=r.b),v=CY(r.c.b.c,8),y=CY(nnt(r,r.b-2),8),g=new RE(Wg(l.j)),g.a*=5,g.b*=5,p=Oj(new MH(y.a,y.b),v),OT(k=new MH(DH(g.a,p.a),DH(g.b,p.b)),v),S2(r,r.b-1,k)),h=new nhw(r),Xx(c.a,nnY(h))}}(n,CY(niK(e,nFl),15),c),VD(e,nFl,null)}(this,CY(n,36))},nPB.b=0,nPB.c=0,Nj(np2,"FinalSplineBendpointsCalculator",1568),ncm(1569,1,{},t9),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),ncm(1570,1,{},t7),nPB.Kb=function(n){return new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(np2,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),ncm(1571,1,nbV,en),nPB.Mb=function(n){return!_p(CY(n,18))},Nj(np2,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),ncm(1572,1,nbV,et),nPB.Mb=function(n){return Pn(CY(n,18),(nlF(),nFw))},Nj(np2,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),ncm(1573,1,nbE,lq),nPB.Cd=function(n){!function(n,t){var e,i,r,a,c;if(!t.e){for(t.e=!0,i=t.d.a.ec().Kc();i.Ob();){if(e=CY(i.Pb(),18),t.o&&1>=t.d.a.gc()){c=new MH((a=t.a.c)+(t.a.c+t.a.b-a)/2,t.b),IA(CY(t.d.a.ec().Kc().Pb(),18).a,c);continue}if((r=CY(NR(t.c,e),468)).b||r.c){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;s=e.a.c,c=e.a.c+e.a.b,l=(a=CY(NR(e.c,t),468)).f,b=a.a,o=a.b?new MH(c,l):new MH(s,l),h=a.c?new MH(s,b):new MH(c,b),r=s,e.p||(r+=n.c),r+=e.F+e.v*n.b,u=new MH(r,l),f=new MH(r,b),qC(t.a,Vw(DY(nLA,1),nby,8,0,[o,u])),e.d.a.gc()>1&&(i=new MH(r,e.b),IA(t.a,i)),qC(t.a,Vw(DY(nLA,1),nby,8,0,[f,h]))}(n,e,t);continue}n.d==(WQ(),nGW)&&(r.d||r.e)&&function(n,t){var e,i,r,a;return n.a==(ni2(),nKn)||(r=t.a.c,e=t.a.c+t.a.b,(!t.j||(a=(i=t.A).c.c.a-i.o.a/2,!(r-(i.n.a+i.o.a)>a)))&&(!t.q||(a=(i=t.C).c.c.a-i.o.a/2,!(i.n.a-e>a)))&&!0)}(n,t)&&1>=t.d.a.gc()?function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;o=CY(NR(t.c,n),468),g=t.a.c,u=t.a.c+t.a.b,c=(E=o.f)<(T=o.a),b=new MH(g,E),p=new MH(u,T),w=new MH(r=(g+u)/2,E),m=new MH(r,T),a=function(n,t,e){var i,r,a;if(i=0,r=0,n.c)for(a=new fU(n.d.i.j);a.a<a.c.c.length;)i+=CY(RU(a),12).e.c.length;else i=1;if(n.d)for(a=new fU(n.c.i.j);a.a<a.c.c.length;)r+=CY(RU(a),12).g.c.length;else r=1;return(e+t)/2+.4*Dy(ID(r-i))*(e-t)}(n,E,T),y=RO(t.B),k=new MH(r,a),M=RO(t.D),e=function(n){var t,e,i;for(nue(),e=BJ(nLA,nby,8,2,0,1),i=0,t=0;t<2;t++)i+=.5,e[t]=function(n,t){var e,i,r,a,c,o;for(i=0,r=t.length-1,c=0,o=0;i<=r;i++)a=t[i],e=function(n,t){if(n<0||t<0)throw new pN("k and n must be positive").e;if(!(t>n))return 0==t||t==n?1:0==n?0:neP(n)/(neP(t)*neP(n-t));throw new pN("k must be smaller than n").e}(r,i)*Qy(1-n,r-i)*Qy(n,i),c+=a.a*e,o+=a.b*e;return new MH(c,o)}(i,n);return e}(Vw(DY(nLA,1),nby,8,0,[y,k,M])),f=!1,(d=t.B.i)&&d.c&&o.d&&((s=c&&d.p<d.c.a.c.length-1||!c&&d.p>0)?s&&(h=d.p,c?++h:--h,f=!(now(i=VS(CY(I0(d.c.a,h),10)),y,e[0])||Lg(i,y,e[0]))):f=!0),l=!1,(v=t.D.i)&&v.c&&o.e&&(c&&v.p>0||!c&&v.p<v.c.a.c.length-1?(h=v.p,c?--h:++h,l=!(now(i=VS(CY(I0(v.c.a,h),10)),e[0],M)||Lg(i,e[0],M))):l=!0),f&&l&&IA(n.a,k),f||qC(n.a,Vw(DY(nLA,1),nby,8,0,[b,w])),l||qC(n.a,Vw(DY(nLA,1),nby,8,0,[m,p]))}(e,t):function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;s=e.a.c,c=e.a.c+e.a.b,l=(a=CY(NR(e.c,t),468)).f,b=a.a,o=new MH(s,l),h=new MH(c,b),r=s,e.p||(r+=n.c),r+=e.F+e.v*n.b,u=new MH(r,l),f=new MH(r,b),qC(t.a,Vw(DY(nLA,1),nby,8,0,[o,u])),e.d.a.gc()>1&&(i=new MH(r,e.b),IA(t.a,i)),qC(t.a,Vw(DY(nLA,1),nby,8,0,[f,h]))}(n,e,t)}t.k&&_r(t.d,new ee)}}(this.a,CY(n,131))},Nj(np2,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),ncm(1574,1,nbE,ee),nPB.Cd=function(n){nrY(CY(n,18).a)},Nj(np2,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),ncm(803,1,npR,lX),nPB.Kf=function(n,t){!function(n,t,e){var i,r;for(e.Ug("Graph transformation ("+n.a+")",1),r=RR(t.a),i=new fU(t.b);i.a<i.c.c.length;)Vc(r,CY(RU(i),30).a);if(CY(niK(t,(nlL(),nHe)),428)==(U4(),nRD))switch(CY(niK(t,nHt),88).g){case 2:KH(t,r);break;case 3:Yz(t,r);break;case 4:n.a==(X5(),n$A)?(Yz(t,r),KU(t,r)):(KU(t,r),Yz(t,r))}else if(n.a==(X5(),n$A))switch(CY(niK(t,nHt),88).g){case 2:KH(t,r),KU(t,r);break;case 3:Yz(t,r),KH(t,r);break;case 4:KH(t,r),Yz(t,r)}else switch(CY(niK(t,nHt),88).g){case 2:KH(t,r),KU(t,r);break;case 3:KH(t,r),Yz(t,r);break;case 4:Yz(t,r),KH(t,r)}e.Vg()}(this,CY(n,36),t)},Nj(np2,"GraphTransformer",803),ncm(517,22,{3:1,34:1,22:1,517:1},ka);var nAu=qc(np2,"GraphTransformer/Mode",517,nPw,function(){return X5(),Vw(DY(nAu,1),nbG,517,0,[n$A,n$I])},function(n){return X5(),qa((FV(),n$L),n)});ncm(1575,1,npR,ei),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h;for(t.Ug("Resize child graph to fit parent.",1),i=new fU(n.b);i.a<i.c.c.length;)e=CY(RU(i),30),Vc(n.a,e.a),e.a.c.length=0;for(r=new fU(n.a);r.a<r.c.c.length;)Rc(CY(RU(r),10),null);n.b.c.length=0,s=CY(niK(a=n,(nlL(),nHW)),21),h=CY(niK(a,nHY),21),c=new TP(o=new MH(a.f.a+a.d.b+a.d.c,a.f.b+a.d.d+a.d.a)),s.Hc((YZ(),n1P))&&(u=CY(niK(a,nHJ),8),h.Hc((nsv(),n1x))&&(u.a<=0&&(u.a=20),u.b<=0&&(u.b=20)),c.a=nP_.Math.max(o.a,u.a),c.b=nP_.Math.max(o.b,u.b)),function(n,t,e){var i,r,a,c,o;if(i=CY(niK(n,(nlL(),nBJ)),21),e.a>t.a&&(i.Hc((neW(),nJd))?n.c.a+=(e.a-t.a)/2:i.Hc(nJp)&&(n.c.a+=e.a-t.a)),e.b>t.b&&(i.Hc((neW(),nJv))?n.c.b+=(e.b-t.b)/2:i.Hc(nJm)&&(n.c.b+=e.b-t.b)),CY(niK(n,(nlF(),nKU)),21).Hc((no7(),nKc))&&(e.a>t.a||e.b>t.b))for(c=new fU(n.a);c.a<c.c.c.length;)(a=CY(RU(c),10)).k==(ni8(),n$g)&&((r=CY(niK(a,nK_),64))==(nf5(),n1n)?a.n.a+=e.a-t.a:r==n1m&&(a.n.b+=e.b-t.b));o=n.d,n.f.a=e.a-o.b-o.c,n.f.b=e.b-o.d-o.a}(a,o,c),n.e&&function(n,t){var e,i,r,a,c,o;for(r=new fU(t.a);r.a<r.c.c.length;)jM(a=niK(i=CY(RU(r),10),(nlF(),nK6)),12)&&(o=nsJ(t,i,(c=CY(a,12)).o.a,c.o.b),c.n.a=o.a,c.n.b=o.b,nau(c,CY(niK(i,nK_),64)));e=new MH(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),CY(niK(t,(nlF(),nKU)),21).Hc((no7(),nKc))?(VD(n,(nlL(),nUt),(nie(),nZJ)),CY(niK(xi(n),nKU),21).Fc(nKs),nfE(n,e,!1)):nfE(n,e,!0)}(n.e,n),t.Vg()}(CY(n,36),t)},Nj(np2,"HierarchicalNodeResizingProcessor",1575),ncm(1576,1,npR,er),nPB.Kf=function(n,t){var e,i,r;e=CY(n,36),t.Ug("Hierarchical port constraint processing",1),Oq(CY(niK(i=e,(nlL(),nUt)),101))&&(naq((RN(0,(r=i.b).c.length),CY(r.c[0],30))),naq(CY(I0(r,r.c.length-1),30))),function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P;if((M=CY(niK(n,(nlL(),nUt)),101))!=(nie(),nZ1)&&M!=nZ0){for(h=new Bf((qL((b=(w=n.b).c.length)+2,nbX),Gr(JF(JF(5,b+2),(b+2)/10|0)))),d=new Bf((qL(b+2,nbX),Gr(JF(JF(5,b+2),(b+2)/10|0)))),jB(h,new dc),jB(h,new dc),jB(d,new du),jB(d,new du),k=new du,t=0;t<b;t++)for(RN(t,w.c.length),e=CY(w.c[t],30),RN(t,h.c.length),E=CY(h.c[t],85),g=new dc,dk(h.c,g),RN(t,d.c.length),j=CY(d.c[t],15),m=new du,dk(d.c,m),r=new fU(e.a);r.a<r.c.c.length;){if(Jn(i=CY(RU(r),10))){dk(k.c,i);continue}for(u=new Le(Sb(Jz(i).a.Kc(),new s));ncv(u);)Jn(S=(c=CY(_I(u),18)).c.i)&&((T=CY(E.xc(niK(S,(nlF(),nK6))),10))||(T=nad(n,S),E.zc(niK(S,nK6),T),j.Fc(T)),Ra(c,CY(I0(T.j,1),12)));for(o=new Le(Sb(JV(i).a.Kc(),new s));ncv(o);)Jn(P=(c=CY(_I(o),18)).d.i)&&((p=CY(NR(g,niK(P,(nlF(),nK6))),10))||(p=nad(n,P),xM(g,niK(P,nK6),p),dk(m.c,p)),Ru(c,CY(I0(p.j,0),12)))}for(f=0;f<d.c.length;f++)if(RN(f,d.c.length),!(v=CY(d.c[f],15)).dc())for(l=null,0==f?(l=new NU(n),RL(0,w.c.length),kt(w.c,0,l)):f==h.c.length-1?(l=new NU(n),dk(w.c,l)):(RN(f-1,w.c.length),l=CY(w.c[f-1],30)),a=v.Kc();a.Ob();)Rc(CY(a.Pb(),10),l);for(y=new fU(k);y.a<y.c.c.length;)Rc(CY(RU(y),10),null);VD(n,(nlF(),nKK),k)}}(e),t.Vg()},Nj(np2,"HierarchicalPortConstraintProcessor",1576),ncm(1577,1,ndy,ea),nPB.Ne=function(n,t){var e,i,r,a,c,o;return e=CY(n,10),i=CY(t,10),c=e.k,r=pj(PI(niK(e,(nlF(),nFr)))),o=i.k,a=pj(PI(niK(i,nFr))),o!=(ni8(),n$g)?-1:c!=n$g?1:r==a?0:r<a?-1:1},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"HierarchicalPortConstraintProcessor/NodeComparator",1577),ncm(1578,1,npR,ec),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s;for(t.Ug("Hierarchical port dummy size processing",1),o=new du,s=new du,e=2*pj(PI(niK(n,(nlL(),nUy)))),r=new fU(n.b);r.a<r.c.c.length;){for(i=CY(RU(r),30),o.c.length=0,s.c.length=0,c=new fU(i.a);c.a<c.c.c.length;)(a=CY(RU(c),10)).k==(ni8(),n$g)&&((u=CY(niK(a,(nlF(),nK_)),64))==(nf5(),n1t)?dk(o.c,a):u==n1m&&dk(s.c,a));nct(o,!0,e),nct(s,!1,e)}t.Vg()}(CY(n,36),t)},Nj(np2,"HierarchicalPortDummySizeProcessor",1578),ncm(1579,1,npR,eo),nPB.Kf=function(n,t){var e,i,r,a,c;e=CY(n,36),t.Ug("Orthogonally routing hierarchical port edges",1),this.a=0,i=function(n){var t,e,i,r,a,c,o,u,s,h,f;if(u=new du,!Pn(n,(nlF(),nKK)))return u;for(i=CY(niK(n,nKK),15).Kc();i.Ob();)(function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;if(h=CY(niK(n,(nlF(),nK_)),64),i=CY(I0(n.j,0),12),h==(nf5(),n1t)?nau(i,n1m):h==n1m&&nau(i,n1t),CY(niK(t,(nlL(),nHW)),181).Hc((YZ(),n1I))){if(u=pj(PI(niK(n,nUP))),s=pj(PI(niK(n,nUO))),c=pj(PI(niK(n,nUj))),(o=CY(niK(t,nUr),21)).Hc((nap(),nZ6)))for(e=s,f=n.o.a/2-i.n.a,a=new fU(i.f);a.a<a.c.c.length;)(r=CY(RU(a),72)).n.b=e,r.n.a=f-r.o.a/2,e+=r.o.b+c;else if(o.Hc(nZ8))for(a=new fU(i.f);a.a<a.c.c.length;)(r=CY(RU(a),72)).n.a=u+n.o.a-i.n.a;l=new ld((ye(),new x5(t,!1,!1,new tP))),b=new Cp(null,n,!1),w=pj(PI(l.a.of((nl_(),nYH)))),nlc(l,b,w)}})(t=CY(i.Pb(),10),n),dk(u.c,t);for(r=new fU(n.b);r.a<r.c.c.length;)for(c=new fU(CY(RU(r),30).a);c.a<c.c.c.length;)(a=CY(RU(c),10)).k==(ni8(),n$g)&&(o=CY(niK(a,nKF),10))&&(Ro(s=new nro,a),nau(s,CY(niK(a,nK_),64)),h=CY(I0(o.j,0),12),Ra(f=new $1,s),Ru(f,h));for(e=new fU(u);e.a<e.c.c.length;)Rc(t=CY(RU(e),10),CY(I0(n.b,n.b.c.length-1),30));return u}(e),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(e=CY(niK(n,(nlL(),nUt)),101),c=n.f,a=n.d,o=c.a+a.b+a.c,u=0-a.d-n.c.b,h=c.b+a.d+a.a-n.c.b,s=new du,f=new du,r=new fU(t);r.a<r.c.c.length;){switch(i=CY(RU(r),10),e.g){case 1:case 2:case 3:!function(n){var t,e,i,r,a,c;if((r=CY(I0(n.j,0),12)).e.c.length+r.g.c.length==0)n.n.a=0;else{for(c=0,i=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(r),new lN(r)])));ncv(i);)c+=(e=CY(_I(i),12)).i.n.a+e.n.a+e.a.a;a=(t=CY(niK(n,(nlL(),nH7)),8))?t.a:0,n.n.a=c/(r.e.c.length+r.g.c.length)-a}}(i);break;case 4:b=(l=CY(niK(i,nH7),8))?l.a:0,i.n.a=o*pj(PI(niK(i,(nlF(),nFr))))-b,z4(i,!0,!1);break;case 5:d=(w=CY(niK(i,nH7),8))?w.a:0,i.n.a=pj(PI(niK(i,(nlF(),nFr))))-d,z4(i,!0,!1),c.a=nP_.Math.max(c.a,i.n.a+i.o.a/2)}switch(CY(niK(i,(nlF(),nK_)),64).g){case 1:i.n.b=u,dk(s.c,i);break;case 3:i.n.b=h,dk(f.c,i)}}switch(e.g){case 1:case 2:QQ(s,n),QQ(f,n);break;case 3:QJ(s,n),QJ(f,n)}}(e,i),function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w;for(u=new TE,h=new TE,b=new TE,w=new TE,o=pj(PI(niK(t,(nlL(),nUC)))),r=pj(PI(niK(t,nUv))),c=new fU(e);c.a<c.c.c.length;)if(a=CY(RU(c),10),(f=CY(niK(a,(nlF(),nK_)),64))==(nf5(),n1t))for(h.a.zc(a,h),i=new Le(Sb(Jz(a).a.Kc(),new s));ncv(i);)LX(u,CY(_I(i),18).c.i);else if(f==n1m)for(w.a.zc(a,w),i=new Le(Sb(Jz(a).a.Kc(),new s));ncv(i);)LX(b,CY(_I(i),18).c.i);0!=u.a.gc()&&(l=nfC(new Nl(2,r),t,u,h,-o-t.c.b))>0&&(n.a=o+(l-1)*r,t.c.b+=n.a,t.f.b+=n.a),0!=b.a.gc()&&(l=nfC(new Nl(1,r),t,b,w,t.f.b+o-t.c.b))>0&&(t.f.b+=o+(l-1)*r)}(this,e,i),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;for(v=new du,f=new fU(n.b);f.a<f.c.c.length;)for(w=new fU(CY(RU(f),30).a);w.a<w.c.c.length;)if((l=CY(RU(w),10)).k==(ni8(),n$g)&&Pn(l,(nlF(),nKF))){for(d=null,p=null,g=null,M=new fU(l.j);M.a<M.c.c.length;)switch((k=CY(RU(M),12)).j.g){case 4:d=k;break;case 2:p=k;break;default:g=k}for(s=new mh((m=CY(I0(g.g,0),18)).a),OT(u=new TP(g.n),l.n),Ne(ZQ(s,0),u),y=Wo(m.a),OT(h=new TP(g.n),l.n),F_(y,h,y.c.b,y.c),E=CY(niK(l,nKF),10),T=CY(I0(E.j,0),12),a=0,o=(i=CY(ZB(d.e,BJ(nAt,npH,18,0,0,1)),483)).length;a<o;++a)Ru(t=i[a],T),WF(t.a,t.a.b,s);for(r=0,c=(e=Ky(p.g)).length;r<c;++r)Ra(t=e[r],T),WF(t.a,0,y);Ra(m,null),Ru(m,null),dk(v.c,l)}for(b=new fU(v);b.a<b.c.c.length;)Rc(l=CY(RU(b),10),null)}(e),r=CY(niK(e,(nlL(),nUt)),101),nfW((RN(0,(a=e.b).c.length),CY(a.c[0],30)),r,e),nfW(CY(I0(a,a.c.length-1),30),r,e),nhk((RN(0,(c=e.b).c.length),CY(c.c[0],30))),nhk(CY(I0(c,c.c.length-1),30)),t.Vg()},nPB.a=0,Nj(np2,"HierarchicalPortOrthogonalEdgeRouter",1579),ncm(1580,1,ndy,eu),nPB.Ne=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),Jj(e.n.a,i.n.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"HierarchicalPortOrthogonalEdgeRouter/1",1580),ncm(1581,1,ndy,es),nPB.Ne=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),Jj(pj(PI(niK(e,(nlF(),nFr)))),pj(PI(niK(i,nFr))))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"HierarchicalPortOrthogonalEdgeRouter/2",1581),ncm(1582,1,npR,eh),nPB.Kf=function(n,t){var e,i;e=CY(n,36),t.Ug("Hierarchical port position processing",1),(i=e.b).c.length>0&&nsk((RN(0,i.c.length),CY(i.c[0],30)),e),i.c.length>1&&nsk(CY(I0(i,i.c.length-1),30),e),t.Vg()},Nj(np2,"HierarchicalPortPositionProcessor",1582),ncm(1583,1,npR,s7),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;for(n.b=t,n.a=CY(niK(t,(nlL(),nHv)),17).a,n.c=CY(niK(t,nHk),17).a,0==n.c&&(n.c=nl3),d=new Kp(t.b,0);d.b<d.d.gc();){for(Px(d.b<d.d.gc()),w=CY(d.d.Xb(d.c=d.b++),30),o=new du,f=-1,v=-1,m=new fU(w.a);m.a<m.c.c.length;)p=CY(RU(m),10),Fv((Ck(),new Le(Sb(JX(p).a.Kc(),new s))))>=n.a&&(i=function(n,t){var e,i,r,a,c,o,u,h;for(e=new ef,r=new Le(Sb(Jz(t).a.Kc(),new s));ncv(r);)if(!_p(i=CY(_I(r),18))&&nir(o=i.c.i,n$x)){if(-1==(h=nug(n,o,n$x,n$N)))continue;e.b=nP_.Math.max(e.b,h),e.a||(e.a=new du),jB(e.a,o)}for(c=new Le(Sb(JV(t).a.Kc(),new s));ncv(c);)if(!_p(a=CY(_I(c),18))&&nir(u=a.d.i,n$N)){if(-1==(h=nug(n,u,n$N,n$x)))continue;e.d=nP_.Math.max(e.d,h),e.c||(e.c=new du),jB(e.c,u)}return e}(n,p),f=nP_.Math.max(f,i.b),v=nP_.Math.max(v,i.d),jB(o,new Ea(p,i)));for(h=0,M=new du;h<f;++h)AC(M,0,(Px(d.b>0),d.a.Xb(d.c=--d.b),Oe(d,E=new NU(n.b)),Px(d.b<d.d.gc()),d.d.Xb(d.c=d.b++),E));for(c=new fU(o);c.a<c.c.c.length;)if(r=CY(RU(c),42),b=CY(r.b,580).a)for(l=new fU(b);l.a<l.c.c.length;)nt1(n,CY(RU(l),10),n$N,M);for(u=0,e=new du;u<v;++u)jB(e,(Oe(d,T=new NU(n.b)),T));for(a=new fU(o);a.a<a.c.c.length;)if(r=CY(RU(a),42),k=CY(r.b,580).c)for(y=new fU(k);y.a<y.c.c.length;)nt1(n,CY(RU(y),10),n$x,e)}for(g=new Kp(t.b,0);g.b<g.d.gc();)Px(g.b<g.d.gc()),0==CY(g.d.Xb(g.c=g.b++),30).a.c.length&&N6(g)}(this,CY(n,36))},nPB.a=0,nPB.c=0,Nj(np2,"HighDegreeNodeLayeringProcessor",1583),ncm(580,1,{580:1},ef),nPB.b=-1,nPB.d=-1,Nj(np2,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),ncm(1584,1,{},el),nPB.Kb=function(n){return Ck(),Jz(CY(n,10))},nPB.Fb=function(n){return this===n},Nj(np2,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),ncm(1585,1,{},eb),nPB.Kb=function(n){return Ck(),JV(CY(n,10))},nPB.Fb=function(n){return this===n},Nj(np2,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),ncm(1591,1,npR,ew),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(e.Ug("Hyperedge merging",1),(w=CY(FB(UL(UL(new Aa(null,new R$(t.b,16)),new ed),new eg),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15)).Jc(new ep),f=0,b=w.Kc();b.Ob();)-1==(l=CY(b.Pb(),12)).p&&function n(t,e,i){var r,a,c;for(e.p=i,c=LF(qb(Vw(DY(nPs,1),nl7,20,0,[new lA(e),new lN(e)])));ncv(c);)-1==(r=CY(_I(c),12)).p&&n(t,r,i);if(e.i.k==(ni8(),n$m))for(a=new fU(e.i.j);a.a<a.c.c.length;)(r=CY(RU(a),12))!=e&&-1==r.p&&n(t,r,i)}(n,l,f++);for(o=new Kp(t.b,0);o.b<o.d.gc();)if(Px(o.b<o.d.gc()),0!=(s=CY(o.d.Xb(o.c=o.b++),30).a).c.length)for(u=0,i=null,r=null,a=null,c=null;u<s.c.length;u++)RN(u,s.c.length),(r=(i=CY(s.c[u],10)).k)==(ni8(),n$m)&&c==n$m&&(h=function(n,t){var e,i,r,a,c,o,u,s,h,f;return(e=pT(PC(niK(n,(nlF(),nKZ)))),o=pT(PC(niK(t,nKZ))),i=CY(niK(n,nK1),12),u=CY(niK(t,nK1),12),r=CY(niK(n,nK0),12),s=CY(niK(t,nK0),12),h=!!i&&i==u,f=!!r&&r==s,e||o)?(a=(!pT(PC(niK(n,nKZ)))||pT(PC(niK(n,nKY))))&&(!pT(PC(niK(t,nKZ)))||pT(PC(niK(t,nKY)))),c=(!pT(PC(niK(n,nKZ)))||!pT(PC(niK(n,nKY))))&&(!pT(PC(niK(t,nKZ)))||!pT(PC(niK(t,nKY)))),new Cg(h&&a||f&&c,h,f)):new Cg(CY(RU(new fU(n.j)),12).p==CY(RU(new fU(t.j)),12).p,h,f)}(i,a)).a&&(!function(n,t,e,i){var r,a,c,o;for(r=CY(nrs(t,(nf5(),n1y)).Kc().Pb(),12),a=CY(nrs(t,n1n).Kc().Pb(),12),o=new fU(n.j);o.a<o.c.c.length;){for(c=CY(RU(o),12);0!=c.e.c.length;)Ru(CY(I0(c.e,0),18),r);for(;0!=c.g.c.length;)Ra(CY(I0(c.g,0),18),a)}e||VD(t,(nlF(),nK1),null),i||VD(t,(nlF(),nK0),null)}(i,a,h.b,h.c),RN(u,s.c.length),mY(s.c,u,1),--u,i=a,r=c),a=i,c=r;e.Vg()}(this,CY(n,36),t)},Nj(np2,"HyperedgeDummyMerger",1591),ncm(804,1,{},Cg),nPB.a=!1,nPB.b=!1,nPB.c=!1,Nj(np2,"HyperedgeDummyMerger/MergeState",804),ncm(1592,1,{},ed),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"HyperedgeDummyMerger/lambda$0$Type",1592),ncm(1593,1,{},eg),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,10).j,16))},Nj(np2,"HyperedgeDummyMerger/lambda$1$Type",1593),ncm(1594,1,nbE,ep),nPB.Cd=function(n){CY(n,12).p=-1},Nj(np2,"HyperedgeDummyMerger/lambda$2$Type",1594),ncm(1595,1,npR,em),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s;for(t.Ug("Hypernodes processing",1),i=new fU(n.b);i.a<i.c.c.length;)for(c=new fU(CY(RU(i),30).a);c.a<c.c.c.length;)if(pT(PC(niK(a=CY(RU(c),10),(nlL(),nHM))))&&a.j.c.length<=2){for(s=0,u=0,e=0,r=0,o=new fU(a.j);o.a<o.c.c.length;)switch(CY(RU(o),12).j.g){case 1:++s;break;case 2:++u;break;case 3:++e;break;case 4:++r}0==s&&0==e&&function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;if(i=new du,r=nl3,a=nl3,c=nl3,e)for(r=n.f.a,w=new fU(t.j);w.a<w.c.c.length;)for(u=new fU(CY(RU(w),12).g);u.a<u.c.c.length;)0!=(o=CY(RU(u),18)).a.b&&((h=CY(S9(o.a),8)).a<r&&(a=r-h.a,c=nl3,i.c.length=0,r=h.a),h.a<=r&&(dk(i.c,o),o.a.b>1&&(c=nP_.Math.min(c,nP_.Math.abs(CY(nnt(o.a,1),8).b-h.b)))));else for(w=new fU(t.j);w.a<w.c.c.length;)for(u=new fU(CY(RU(w),12).e);u.a<u.c.c.length;)0!=(o=CY(RU(u),18)).a.b&&((l=CY(S7(o.a),8)).a>r&&(a=l.a-r,c=nl3,i.c.length=0,r=l.a),l.a>=r&&(dk(i.c,o),o.a.b>1&&(c=nP_.Math.min(c,nP_.Math.abs(CY(nnt(o.a,o.a.b-2),8).b-l.b)))));if(0!=i.c.length&&a>t.o.a/2&&c>t.o.b/2){for(Ro(b=new nro,t),nau(b,(nf5(),n1t)),b.n.a=t.o.a/2,Ro(d=new nro,t),nau(d,n1m),d.n.a=t.o.a/2,d.n.b=t.o.b,u=new fU(i);u.a<u.c.c.length;)(o=CY(RU(u),18),e)?(s=CY(CV(o.a),8),(0==o.a.b?RO(o.d):CY(S9(o.a),8)).b>=s.b?Ra(o,d):Ra(o,b)):(s=CY((Px(0!=(g=o.a).b),Gy(g,g.c.b)),8),(0==o.a.b?RO(o.c):CY(S7(o.a),8)).b>=s.b?Ru(o,d):Ru(o,b)),(f=CY(niK(o,(nlL(),nHP)),75))&&Yd(f,s,!0);t.n.a=r-t.o.a/2}}(n,a,r<=u)}t.Vg()}(CY(n,36),t)},Nj(np2,"HypernodesProcessor",1595),ncm(1596,1,npR,ev),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h;for(t.Ug("Layer constraint edge reversal",1),c=new fU(n.b);c.a<c.c.c.length;){for(r=0,a=CY(RU(c),30),h=-1,e=new du,s=Kv(a.a);r<s.length;r++)i=CY(niK(s[r],(nlF(),nKz)),311),-1==h?i!=(UM(),nKy)&&(h=r):i==(UM(),nKy)&&(Rc(s[r],null),ntX(s[r],h++,a)),i==(UM(),nKm)&&dk(e.c,s[r]);for(u=new fU(e);u.a<u.c.c.length;)Rc(o=CY(RU(u),10),null),Rc(o,a)}t.Vg()}(CY(n,36),t)},Nj(np2,"InLayerConstraintProcessor",1596),ncm(1597,1,npR,ey),nPB.Kf=function(n,t){var e,i;e=CY(n,36),t.Ug(np3,1),Yc(((i=new ld((ye(),new x5(e,!1,!1,new tP)))).b=!1,i)),t.Vg()},Nj(np2,"InnermostNodeMarginCalculator",1597),ncm(1598,1,npR,ek),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o;if(CY(niK(t,(nlF(),nKU)),21).Hc((no7(),nKc))){for(o=new fU(t.a);o.a<o.c.c.length;)(a=CY(RU(o),10)).k==(ni8(),n$v)&&(r=CY(niK(a,(nlL(),nHR)),140),n.c=nP_.Math.min(n.c,a.n.a-r.b),n.a=nP_.Math.max(n.a,a.n.a+a.o.a+r.c),n.d=nP_.Math.min(n.d,a.n.b-r.d),n.b=nP_.Math.max(n.b,a.n.b+a.o.b+r.a));for(c=new fU(t.a);c.a<c.c.c.length;)if((a=CY(RU(c),10)).k!=(ni8(),n$v))switch(a.k.g){case 2:if((i=CY(niK(a,(nlL(),nHI)),171))==(Yb(),nFy)){a.n.a=n.c-10,ntz(a,new eM).Jb(new lz(a));break}if(i==nFM){a.n.a=n.a+10,ntz(a,new eE).Jb(new lV(a));break}if((e=CY(niK(a,nKz),311))==(UM(),nKy)){nfi(a).Jb(new lW(a)),a.n.b=n.d-10;break}e==nKm&&(nfi(a).Jb(new lQ(a)),a.n.b=n.b+10);break;default:throw new pN("The node type "+a.k+" is not supported by the "+nAs).e}}}(this,CY(n,36))},nPB.a=nw_,nPB.b=nw_,nPB.c=nwF,nPB.d=nwF;var nAs=Nj(np2,"InteractiveExternalPortPositioner",1598);ncm(1599,1,{},eM),nPB.Kb=function(n){return CY(n,18).d.i},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$0$Type",1599),ncm(1600,1,{},lz),nPB.Kb=function(n){var t,e;return t=this.a,e=PI(n),t.n.b=(xf(e),e)},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$1$Type",1600),ncm(1601,1,{},eE),nPB.Kb=function(n){return CY(n,18).c.i},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$2$Type",1601),ncm(1602,1,{},lV),nPB.Kb=function(n){var t,e;return t=this.a,e=PI(n),t.n.b=(xf(e),e)},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$3$Type",1602),ncm(1603,1,{},lW),nPB.Kb=function(n){var t,e;return t=this.a,e=PI(n),t.n.a=(xf(e),e+10)},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$4$Type",1603),ncm(1604,1,{},lQ),nPB.Kb=function(n){var t,e;return t=this.a,e=PI(n),t.n.a=(xf(e),e+10)},nPB.Fb=function(n){return this===n},Nj(np2,"InteractiveExternalPortPositioner/lambda$5$Type",1604),ncm(81,22,{3:1,34:1,22:1,81:1,196:1},kc),nPB.dg=function(){switch(this.g){case 15:return new rj;case 22:return new rS;case 47:return new rC;case 28:case 35:return new ex;case 32:return new t_;case 42:return new tU;case 1:return new tG;case 41:return new tq;case 56:return new lX((X5(),n$A));case 0:return new lX((X5(),n$I));case 2:return new tX;case 54:return new tz;case 33:return new tJ;case 51:return new t8;case 55:return new ei;case 13:return new er;case 38:return new ec;case 44:return new eo;case 40:return new eh;case 9:return new s7;case 49:return new SF;case 37:return new ew;case 43:return new em;case 27:return new ev;case 30:return new ey;case 3:return new ek;case 18:return new ej;case 29:return new eS;case 5:return new hn;case 50:return new eT;case 34:return new ht;case 36:return new e$;case 52:return new s1;case 11:return new eD;case 7:return new he;case 39:return new eR;case 45:return new eK;case 16:return new eF;case 10:return new Mi;case 48:return new eU;case 21:return new eG;case 23:return new pv((qp(),nqh));case 8:return new eX;case 12:return new eV;case 4:return new eW;case 19:return new hu;case 17:return new e6;case 53:return new e5;case 6:return new ih;case 25:return new gc;case 46:return new ii;case 31:return new Om;case 14:return new iv;case 26:return new rD;case 20:return new iT;case 24:return new pv((qp(),nqf));default:throw new pN(np5+(null!=this.f?this.f:""+this.g)).e}};var nAh=qc(np2,np8,81,nPw,nok,function(n){return nlB(),qa((Te(),nDO),n)});ncm(1605,1,npR,ej),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(t.Ug("Inverted port preprocessing",1),o=new Kp(n.b,0),e=null,g=new du;o.b<o.d.gc();){for(d=e,Px(o.b<o.d.gc()),e=CY(o.d.Xb(o.c=o.b++),30),h=new fU(g);h.a<h.c.c.length;)Rc(u=CY(RU(h),10),d);for(g.c.length=0,f=new fU(e.a);f.a<f.c.c.length;)if((u=CY(RU(f),10)).k==(ni8(),n$v)&&Tx(CY(niK(u,(nlL(),nUt)),101))){for(w=nuT(u,(qy(),nG$),(nf5(),n1n)).Kc();w.Ob();)for(r=0,c=(l=CY(w.Pb(),12)).e,a=(i=CY(ZB(c,BJ(nAt,npH,18,c.c.length,0,1)),483)).length;r<a;++r)!function(n,t,e,i){var r,a,c,o,u,s;if(e.c.i!=t.i)for((r=new nn_(n)).k=(ni8(),n$m),VD(r,(nlF(),nK6),e),VD(r,(nlL(),nUt),(nie(),nZJ)),dk(i.c,r),Ro(c=new nro,r),nau(c,(nf5(),n1y)),Ro(o=new nro,r),nau(o,n1n),Ru(e,c),zU(a=new $1,e),VD(a,nHP,null),Ra(a,o),Ru(a,t),nck(r,c,o),s=new Kp(e.b,0);s.b<s.d.gc();)Px(s.b<s.d.gc()),u=CY(s.d.Xb(s.c=s.b++),72),CY(niK(u,nHc),278)==(GN(),nZi)&&(Pn(u,nKD)||VD(u,nKD,e),N6(s),jB(a.b,u))}(n,l,i[r],g);for(b=nuT(u,nGD,n1y).Kc();b.Ob();)for(r=0,c=(l=CY(b.Pb(),12)).g,a=(i=CY(ZB(c,BJ(nAt,npH,18,c.c.length,0,1)),483)).length;r<a;++r)!function(n,t,e,i){var r,a,c,o,u,s,h;if(e.d.i!=t.i){for((r=new nn_(n)).k=(ni8(),n$m),VD(r,(nlF(),nK6),e),VD(r,(nlL(),nUt),(nie(),nZJ)),dk(i.c,r),Ro(c=new nro,r),nau(c,(nf5(),n1y)),Ro(o=new nro,r),nau(o,n1n),h=e.d,Ru(e,c),zU(a=new $1,e),VD(a,nHP,null),Ra(a,o),Ru(a,h),s=new Kp(e.b,0);s.b<s.d.gc();)Px(s.b<s.d.gc()),ER(niK(u=CY(s.d.Xb(s.c=s.b++),72),nHc))===ER((GN(),nZi))&&(VD(u,nKD,e),N6(s),jB(a.b,u));nck(r,c,o)}}(n,l,i[r],g)}}for(s=new fU(g);s.a<s.c.c.length;)Rc(u=CY(RU(s),10),e);t.Vg()}(CY(n,36),t)},Nj(np2,"InvertedPortProcessor",1605),ncm(1606,1,npR,eS),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a;if(t.Ug("Node and Port Label Placement and Node Sizing",1),T0((ye(),new x5(n,!0,!0,new eP))),CY(niK(n,(nlF(),nKU)),21).Hc((no7(),nKc)))for(i=(r=CY(niK(n,(nlL(),nUr)),21)).Hc((nap(),nZ5)),a=pT(PC(niK(n,nUa))),e=new fU(n.b);e.a<e.c.c.length;)vZ(xX(new Aa(null,new R$(CY(RU(e),30).a,16)),new eO),new Cm(r,i,a));t.Vg()}(CY(n,36),t)},Nj(np2,"LabelAndNodeSizeProcessor",1606),ncm(1607,1,nbV,eP),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$v)},Nj(np2,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),ncm(1608,1,nbV,eO),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$g)},Nj(np2,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),ncm(1609,1,nbE,Cm),nPB.Cd=function(n){var t,e,i;t=this.b,e=this.a,i=this.c,function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d;if(l=pj(PI(niK(n,(nlL(),nUP)))),b=pj(PI(niK(n,nUO))),f=pj(PI(niK(n,nUj))),o=n.o,c=(a=CY(I0(n.j,0),12)).n,d=function(n,t){var e,i,r;if(0==n.f.c.length)return null;for(r=new TI,e=new fU(n.f);e.a<e.c.c.length;)i=CY(RU(e),72).o,r.b=nP_.Math.max(r.b,i.a),r.a+=i.b;return r.a+=(n.f.c.length-1)*t,r}(a,f)){if(t.Hc((nap(),nZ6)))switch(CY(niK(n,(nlF(),nK_)),64).g){case 1:d.c=(o.a-d.b)/2-c.a,d.d=b;break;case 3:d.c=(o.a-d.b)/2-c.a,d.d=-b-d.a;break;case 2:e&&0==a.e.c.length&&0==a.g.c.length?(h=i?d.a:CY(I0(a.f,0),72).o.b,d.d=(o.b-h)/2-c.b):d.d=o.b+b-c.b,d.c=-l-d.b;break;case 4:e&&0==a.e.c.length&&0==a.g.c.length?(h=i?d.a:CY(I0(a.f,0),72).o.b,d.d=(o.b-h)/2-c.b):d.d=o.b+b-c.b,d.c=l}else if(t.Hc(nZ8))switch(CY(niK(n,(nlF(),nK_)),64).g){case 1:case 3:d.c=c.a+l;break;case 2:case 4:e&&!a.c?(h=i?d.a:CY(I0(a.f,0),72).o.b,d.d=(o.b-h)/2-c.b):d.d=c.b+b}for(r=d.d,s=new fU(a.f);s.a<s.c.c.length;)(w=(u=CY(RU(s),72)).n).a=d.c,w.b=r,r+=u.o.b+f}}(CY(n,10),t,e,i)},nPB.a=!1,nPB.c=!1,Nj(np2,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),ncm(1610,1,npR,hn),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d;for(t.Ug("Label dummy insertions",1),l=new du,c=pj(PI(niK(n,(nlL(),nUk)))),h=pj(PI(niK(n,nUj))),f=CY(niK(n,nHt),88),b=new fU(n.a);b.a<b.c.c.length;)for(a=new Le(Sb(JV(CY(RU(b),10)).a.Kc(),new s));ncv(a);)if((r=CY(_I(a),18)).c.i!=r.d.i&&jE(r.b,nDC)){for(d=function(n){var t;return(t=pj(PI(niK(n,(nlL(),nHd)))))<0&&VD(n,nHd,t=0),t}(r),w=SY(r.b.c.length),e=function(n,t,e,i){var r,a,c;for((r=new nn_(n)).k=(ni8(),n$p),VD(r,(nlF(),nK6),t),VD(r,nFo,i),VD(r,(nlL(),nUt),(nie(),nZJ)),VD(r,nK1,t.c),VD(r,nK0,t.d),noZ(t,r),c=nP_.Math.floor(e/2),a=new fU(r.j);a.a<a.c.c.length;)CY(RU(a),12).n.b=c;return r}(n,r,d,w),dk(l.c,e),i=e.o,o=new Kp(r.b,0);o.b<o.d.gc();)Px(o.b<o.d.gc()),ER(niK(u=CY(o.d.Xb(o.c=o.b++),72),nHc))===ER((GN(),nZe))&&(f==(Ju(),nZn)||f==nY5?(i.a+=u.o.a+h,i.b=nP_.Math.max(i.b,u.o.b)):(i.a=nP_.Math.max(i.a,u.o.a),i.b+=u.o.b+h),dk(w.c,u),N6(o));f==(Ju(),nZn)||f==nY5?(i.a-=h,i.b+=c+d):i.b+=c-h+d}Vc(n.a,l),t.Vg()}(CY(n,36),t)},Nj(np2,"LabelDummyInserter",1610),ncm(1611,1,ndK,eC),nPB.Lb=function(n){return ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZe))},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return ER(niK(CY(n,72),(nlL(),nHc)))===ER((GN(),nZe))},Nj(np2,"LabelDummyInserter/1",1611),ncm(1612,1,npR,eT),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;for(t.Ug("Label dummy removal",1),i=pj(PI(niK(n,(nlL(),nUk)))),r=pj(PI(niK(n,nUj))),u=CY(niK(n,nHt),88),o=new fU(n.b);o.a<o.c.c.length;)for(h=new Kp(CY(RU(o),30).a,0);h.b<h.d.gc();)Px(h.b<h.d.gc()),(s=CY(h.d.Xb(h.c=h.b++),10)).k==(ni8(),n$p)&&(f=CY(niK(s,(nlF(),nK6)),18),b=pj(PI(niK(f,nHd))),c=ER(niK(s,nKJ))===ER((ntG(),nZI)),e=new TP(s.n),c&&(e.b+=b+i),a=new MH(s.o.a,s.o.b+(s.k==n$p&&!mQ(xX(CY(niK(s,nFo),15).Oc(),new f4(new tO))).Bd((vY(),nCF))?0:-b-i)),l=CY(niK(s,nFo),15),u==(Ju(),nZn)||u==nY5?function(n,t,e,i,r,a){var c,o,u,s;for(o=!mQ(xX(n.Oc(),new f4(new eI))).Bd((vY(),nCF)),c=n,a==(Ju(),nZn)&&(c=Yi(c)),s=c.Kc();s.Ob();)(u=CY(s.Pb(),72)).n.a=t.a,o?u.n.b=t.b+(i.b-u.o.b)/2:r?u.n.b=t.b:u.n.b=t.b+i.b-u.o.b,t.a+=u.o.a+e}(l,e,r,a,c,u):function(n,t,e,i){var r,a;for(a=n.Kc();a.Ob();)(r=CY(a.Pb(),72)).n.a=t.a+(i.a-r.o.a)/2,r.n.b=t.b,t.b+=r.o.b+e}(l,e,r,a),Vc(f.b,l),nfw(s,ER(niK(n,nHu))===ER((JG(),nZo))),N6(h));t.Vg()}(CY(n,36),t)},Nj(np2,"LabelDummyRemover",1612),ncm(1613,1,nbV,eI),nPB.Mb=function(n){return pT(PC(niK(CY(n,72),(nlL(),nHa))))},Nj(np2,"LabelDummyRemover/lambda$0$Type",1613),ncm(1378,1,npR,ht),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(e.Ug("Label dummy switching",1),i=CY(niK(t,(nlL(),nHr)),232),g=0,d=new fU(t.b);d.a<d.c.c.length;)CY(RU(d),30).p=g,++g;for(r=function(n,t){var e,i,r,a;for(e=new J0(nAp),nr_(),i=Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl]),r=0,a=i.length;r<a;++r)Oa(e,i[r],new du);return vZ(xz(xX(UL(new Aa(null,new R$(n.b,16)),new eA),new eL),new lJ(t)),new lY(e)),e}(t,i),n.a=BJ(n4b,nwX,28,t.b.c.length,15,1),nr_(),o=Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl]),h=0,b=o.length;h<b;++h)if(((a=o[h])==nRp||a==nRl||a==nRd)&&!CY(SD(r.a,a)?r.b[a.g]:null,15).dc()){!function(n,t){var e,i;for(i=new fU(t.b);i.a<i.c.c.length;)e=CY(RU(i),30),n.a[e.p]=function(n){var t,e,i,r;if(TD(CY(niK(n.b,(nlL(),nHt)),88)))return 0;for(t=0,i=new fU(n.a);i.a<i.c.c.length;)(e=CY(RU(i),10)).k==(ni8(),n$v)&&(r=e.o.a,t=nP_.Math.max(t,r));return t}(e)}(n,t);break}for(u=Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl]),f=0,w=u.length;f<w;++f)(a=u[f])==nRp||a==nRl||a==nRd||nsb(n,CY(SD(r.a,a)?r.b[a.g]:null,15));for(c=Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl]),s=0,l=c.length;s<l;++s)((a=c[s])==nRp||a==nRl||a==nRd)&&nsb(n,CY(SD(r.a,a)?r.b[a.g]:null,15));n.a=null,e.Vg()}(this,CY(n,36),t)},nPB.a=null,Nj(np2,"LabelDummySwitcher",1378),ncm(293,1,{293:1},nu1),nPB.c=0,nPB.d=null,nPB.f=0,Nj(np2,"LabelDummySwitcher/LabelDummyInfo",293),ncm(1379,1,{},eA),nPB.Kb=function(n){return X2(),new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"LabelDummySwitcher/lambda$0$Type",1379),ncm(1380,1,nbV,eL),nPB.Mb=function(n){return X2(),CY(n,10).k==(ni8(),n$p)},Nj(np2,"LabelDummySwitcher/lambda$1$Type",1380),ncm(1381,1,{},lJ),nPB.Kb=function(n){var t,e;return t=this.a,e=CY(n,10),X2(),new nu1(e,t)},Nj(np2,"LabelDummySwitcher/lambda$2$Type",1381),ncm(1382,1,nbE,lY),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,293),X2(),CY(xN(t,e.d),15).Fc(e)},Nj(np2,"LabelDummySwitcher/lambda$3$Type",1382),ncm(1383,1,ndy,eN),nPB.Ne=function(n,t){var e,i;return e=CY(n,293),i=CY(t,293),X2(),Jj(i.a.o.a,e.a.o.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"LabelDummySwitcher/lambda$4$Type",1383),ncm(802,1,npR,ex),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("Label management",1),Ez(niK(e,(Bl(),nQ4))),t.Vg()},Nj(np2,"LabelManagementProcessor",802),ncm(1614,1,npR,e$),nPB.Kf=function(n,t){var e,i=CY(n,36);switch(e=CY(niK(i,(nlL(),nHo)),283),t.Ug("Label side selection ("+e+")",1),e.g){case 0:ncj(i,(ntG(),nZC));break;case 1:ncj(i,(ntG(),nZI));break;case 2:nhd(i,(ntG(),nZC));break;case 3:nhd(i,(ntG(),nZI));break;case 4:no5(i,(ntG(),nZC));break;case 5:no5(i,(ntG(),nZI))}t.Vg()},Nj(np2,"LabelSideSelector",1614),ncm(1622,1,npR,eD),nPB.Kf=function(n,t){var e,i,r,a,c,o,u,h;e=CY(n,36),t.Ug("Layer constraint postprocessing",1),0!=(h=e.b).c.length&&(RN(0,h.c.length),r=CY(h.c[0],30),o=CY(I0(h,h.c.length-1),30),i=new NU(e),c=new NU(e),function(n,t,e,i,r){var a,c,o,u,h,f;for(a=new fU(n.b);a.a<a.c.c.length;)for(f=Kv(CY(RU(a),30).a),u=0,h=f.length;u<h;++u)switch(CY(niK(o=f[u],(nlL(),nHI)),171).g){case 1:!function(n){var t;for(t=new Le(Sb(Jz(n).a.Kc(),new s));ncv(t);)if(CY(_I(t),18).c.i.k!=(ni8(),n$p))throw new pK(np9+ntO(n)+"' 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.").e}(o),Rc(o,t),nnE(o,!0,i);break;case 3:!function(n){var t;for(t=new Le(Sb(JV(n).a.Kc(),new s));ncv(t);)if(CY(_I(t),18).d.i.k!=(ni8(),n$p))throw new pK(np9+ntO(n)+"' has its layer constraint set to LAST, but has at least one outgoing edge that does not go to a LAST_SEPARATE node. That must not happen.").e}(o),Rc(o,e),nnE(o,!1,r)}for(c=new Kp(n.b,0);c.b<c.d.gc();)0==(Px(c.b<c.d.gc()),CY(c.d.Xb(c.c=c.b++),30)).a.c.length&&N6(c)}(e,r,o,i,c),0==i.a.c.length||(RL(0,h.c.length),kt(h.c,0,i)),0==c.a.c.length||dk(h.c,c)),Pn(e,(nlF(),nKG))&&(a=new NU(e),u=new NU(e),function(n,t,e){var i,r,a,c,o,u;for(c=CY(niK(n,(nlF(),nKG)),15).Kc();c.Ob();){switch(a=CY(c.Pb(),10),CY(niK(a,(nlL(),nHI)),171).g){case 2:Rc(a,t);break;case 4:Rc(a,e)}for(r=new Le(Sb(JX(a).a.Kc(),new s));ncv(r);)(i=CY(_I(r),18)).c&&i.d||(o=!i.d,u=CY(niK(i,nK7),12),o?Ru(i,u):Ra(i,u))}}(e,a,u),0==a.a.c.length||(RL(0,h.c.length),kt(h.c,0,a)),0==u.a.c.length||dk(h.c,u)),t.Vg()},Nj(np2,"LayerConstraintPostprocessor",1622),ncm(1623,1,npR,he),nPB.Kf=function(n,t){!function(n,t){var e,i,r;for(t.Ug("Layer constraint preprocessing",1),e=new du,r=new Kp(n.a,0);r.b<r.d.gc();)Px(r.b<r.d.gc()),function(n){switch(CY(niK(n,(nlL(),nHI)),171).g){case 2:case 4:return!0;default:return!1}}(i=CY(r.d.Xb(r.c=r.b++),10))&&(!function(n){var t,e,i,r;for(function(n){var t,e,i;if((e=CY(niK(n,(nlL(),nHI)),171))==(Yb(),nFy)){for(t=new Le(Sb(Jz(n).a.Kc(),new s));ncv(t);)if(!_D(CY(_I(t),18)))throw new pK(np9+ntO(n)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges.").e}else if(e==nFM){for(i=new Le(Sb(JV(n).a.Kc(),new s));ncv(i);)if(!_D(CY(_I(i),18)))throw new pK(np9+ntO(n)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges.").e}}(n),e=new Le(Sb(JX(n).a.Kc(),new s));ncv(e);)r=(i=(t=CY(_I(e),18)).c.i==n)?t.d:t.c,i?Ru(t,null):Ra(t,null),VD(t,(nlF(),nK7),r),function(n,t){var e;if(!Pn(t,(nlL(),nHI))&&(e=function(n,t){switch(n.g){case 0:return t==(Yb(),nFy)?nDN:nDx;case 1:return t==(Yb(),nFy)?nDN:nDL;case 2:return t==(Yb(),nFy)?nDL:nDx;default:return nDL}}(CY(niK(t,nDA),371),CY(niK(n,nHI),171)),VD(t,nDA,e),!ncv(new Le(Sb(JX(t).a.Kc(),new s)))))switch(e.g){case 1:VD(t,nHI,(Yb(),nFv));break;case 2:VD(t,nHI,(Yb(),nFk))}}(n,r.i)}(i),dk(e.c,i),N6(r));0==e.c.length||VD(n,(nlF(),nKG),e),t.Vg()}(CY(n,36),t)},Nj(np2,"LayerConstraintPreprocessor",1623),ncm(371,22,{3:1,34:1,22:1,371:1},ko);var nAf=qc(np2,"LayerConstraintPreprocessor/HiddenNodeConnections",371,nPw,function(){return Vd(),Vw(DY(nAf,1),nbG,371,0,[nD$,nDN,nDx,nDL])},function(n){return Vd(),qa((Hx(),nDD),n)});ncm(1624,1,npR,eR),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(t.Ug("Layer size calculation",1),h=nwF,s=nw_,r=!1,o=new fU(n.b);o.a<o.c.c.length;)if((u=(c=CY(RU(o),30)).c).a=0,u.b=0,0!=c.a.c.length){for(r=!0,l=new fU(c.a);l.a<l.c.c.length;)w=(f=CY(RU(l),10)).o,b=f.d,u.a=nP_.Math.max(u.a,w.a+b.b+b.c);d=(i=CY(I0(c.a,0),10)).n.b-i.d.d,i.k==(ni8(),n$g)&&(d-=CY(niK(n,(nlL(),nUL)),140).d),e=(a=CY(I0(c.a,c.a.c.length-1),10)).n.b+a.o.b+a.d.a,a.k==n$g&&(e+=CY(niK(n,(nlL(),nUL)),140).a),u.b=e-d,h=nP_.Math.min(h,d),s=nP_.Math.max(s,e)}r||(h=0,s=0),n.f.b=s-h,n.c.b-=h,t.Vg()}(CY(n,36),t)},Nj(np2,"LayerSizeAndGraphHeightCalculator",1624),ncm(1625,1,npR,eK),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a;for(t.Ug("Edge joining",1),e=pT(PC(niK(n,(nlL(),nU_)))),i=new fU(n.b);i.a<i.c.c.length;)for(a=new Kp(CY(RU(i),30).a,0);a.b<a.d.gc();)Px(a.b<a.d.gc()),(r=CY(a.d.Xb(a.c=a.b++),10)).k==(ni8(),n$m)&&(nfw(r,e),N6(a));t.Vg()}(CY(n,36),t)},Nj(np2,"LongEdgeJoiner",1625),ncm(1626,1,npR,eF),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h;if(t.Ug("Edge splitting",1),n.b.c.length<=2)return t.Vg();for(Px((a=new Kp(n.b,0)).b<a.d.gc()),c=CY(a.d.Xb(a.c=a.b++),30);a.b<a.d.gc();)for(r=c,Px(a.b<a.d.gc()),c=CY(a.d.Xb(a.c=a.b++),30),o=new fU(r.a);o.a<o.c.c.length;)for(u=new fU(CY(RU(o),10).j);u.a<u.c.c.length;)for(i=new fU(CY(RU(u),12).g);i.a<i.c.c.length;)(s=(e=CY(RU(i),18)).d.i.c)!=r&&s!=c&&noZ(e,((h=new nn_(n)).k=(ni8(),n$m),VD(h,(nlF(),nK6),e),VD(h,(nlL(),nUt),(nie(),nZJ)),Rc(h,c),h));t.Vg()}(CY(n,36),t)},Nj(np2,"LongEdgeSplitter",1626),ncm(1627,1,npR,Mi),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b;switch(e.Ug("Node promotion heuristic",1),n.i=t,n.r=CY(niK(t,(nlL(),nH$)),243),n.r!=(nu7(),nGp)&&n.r!=nGm?function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g;for(n.o=pj(PI(niK(n.i,(nlL(),nUC)))),n.f=pj(PI(niK(n.i,nUE))),n.j=n.i.b.c.length,o=n.j-1,b=0,n.k=0,n.n=0,n.b=_q(BJ(nPO,nby,17,n.j,0,1)),n.c=_q(BJ(nPS,nby,345,n.j,7,1)),c=new fU(n.i.b);c.a<c.c.c.length;){for((r=CY(RU(c),30)).p=o,l=new fU(r.a);l.a<l.c.c.length;)(f=CY(RU(l),10)).p=b,++b;--o}for(n.g=BJ(n4s,nwl,28,b,15,1),n.d=I3(n4s,[nby,nwl],[53,28],15,[b,3],2),n.p=new du,n.q=new du,t=0,n.e=0,a=new fU(n.i.b);a.a<a.c.c.length;){for(o=(r=CY(RU(a),30)).p,i=0,g=0,u=r.a.c.length,h=0,l=new fU(r.a);l.a<l.c.c.length;)b=(f=CY(RU(l),10)).p,n.g[b]=f.c.p,h+=f.o.b+n.o,e=Fv(new Le(Sb(Jz(f).a.Kc(),new s))),d=Fv(new Le(Sb(JV(f).a.Kc(),new s))),n.d[b][0]=d-e,n.d[b][1]=e,n.d[b][2]=d,i+=e,g+=d,e>0&&jB(n.q,f),jB(n.p,f);t-=i,w=u+t,h+=t*n.f,_o(n.b,o,Qx(w)),_o(n.c,o,h),n.k=nP_.Math.max(n.k,w),n.n=nP_.Math.max(n.n,h),n.e+=t,t+=g}}(n):function(n){var t,e,i,r,a,c,o;for(n.a=new Ow,o=0,r=0,i=new fU(n.i.b);i.a<i.c.c.length;){for((t=CY(RU(i),30)).p=r,c=new fU(t.a);c.a<c.c.c.length;)CY(RU(c),10).p=o,++o;++r}for(a=n.r==(nu7(),nGp)?nDK:nDR,e=new fU(n.i.b);e.a<e.c.c.length;)ji((t=CY(RU(e),30)).a,a),function(n,t,e){var i;for(i=new fU(e);i.a<i.c.c.length;)ne9(n,t,RU(i))}(n.a,Qx(t.p),t.a)}(n),f=CY(niK(n.i,nHx),17).a,a=new eH,n.r.g){case 2:case 1:default:nh2(n,a);break;case 3:for(n.r=nGj,nh2(n,a),u=0,o=new fU(n.b);o.a<o.c.c.length;)c=CY(RU(o),17),u=nP_.Math.max(u,c.a);u>n.k&&(n.r=nGv,nh2(n,a));break;case 4:for(n.r=nGj,nh2(n,a),h=0,r=new fU(n.c);r.a<r.c.c.length;)i=PI(RU(r)),h=nP_.Math.max(h,(xf(i),i));h>n.n&&(n.r=nGM,nh2(n,a));break;case 6:b=Dy(nP_.Math.ceil(n.g.length*f/100)),nh2(n,new l2(b));break;case 5:l=Dy(nP_.Math.ceil(n.e*f/100)),nh2(n,new l3(l));break;case 8:nlx(n,!0);break;case 9:nlx(n,!1)}n.r!=nGp&&n.r!=nGm?function(n,t){var e,i,r,a,c,o;for(e=0,r=new du;e<=n.j;e++)(i=new NU(t)).p=n.j-e,dk(r.c,i);for(o=new fU(n.p);o.a<o.c.c.length;)Rc(c=CY(RU(o),10),CY(I0(r,n.j-n.g[c.p]),30));for(a=new fU(r);a.a<a.c.c.length;)0==CY(RU(a),30).a.c.length&&L6(a);t.b.c.length=0,Vc(t.b,r)}(n,t):function(n,t){var e,i,r,a,c,o;for(r=new du,t.b.c.length=0,i=CY(FB(RD(new Aa(null,new R$(new fS(n.a.b),1))),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15).Kc();i.Ob();)if(e=CY(i.Pb(),17),0!=(a=K9(n.a,e)).b)for(c=new NU(t),dk(r.c,c),c.p=e.a,o=ZQ(a,0);o.b!=o.d.c;)Rc(CY(K0(o),10),c);Vc(t.b,r)}(n,t),e.Vg()}(this,CY(n,36),t)},nPB.e=0,nPB.f=0,nPB.j=0,nPB.k=0,nPB.n=0,nPB.o=0,Nj(np2,"NodePromotion",1627),ncm(1628,1,ndy,e_),nPB.Ne=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),Pn(e,(nlF(),nK4))&&Pn(i,nK4)?CY(niK(i,nK4),17).a-CY(niK(e,nK4),17).a:0},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"NodePromotion/1",1628),ncm(1629,1,ndy,eB),nPB.Ne=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),Pn(e,(nlF(),nK4))&&Pn(i,nK4)?CY(niK(e,nK4),17).a-CY(niK(i,nK4),17).a:0},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"NodePromotion/2",1629),ncm(1630,1,{},eH),nPB.Kb=function(n){return CY(n,42),CM(),SB(),!0},nPB.Fb=function(n){return this===n},Nj(np2,"NodePromotion/lambda$0$Type",1630),ncm(1631,1,{},l2),nPB.Kb=function(n){var t,e;return t=this.a,e=CY(n,42),CM(),SB(),CY(e.b,17).a<t},nPB.Fb=function(n){return this===n},nPB.a=0,Nj(np2,"NodePromotion/lambda$1$Type",1631),ncm(1632,1,{},l3),nPB.Kb=function(n){var t,e;return t=this.a,e=CY(n,42),CM(),SB(),CY(e.a,17).a<t},nPB.Fb=function(n){return this===n},nPB.a=0,Nj(np2,"NodePromotion/lambda$2$Type",1632),ncm(1633,1,npR,eU),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(t.Ug(nmt,1),l=CY(niK(n,(nlL(),nHu)),223),i=new fU(n.b);i.a<i.c.c.length;)for(o=Kv(CY(RU(i),30).a),a=0,c=o.length;a<c;++a)if((r=o[a]).k==(ni8(),n$y)){if(l==(JG(),nZu))for(s=new fU(r.j);s.a<s.c.c.length;)0==(u=CY(RU(s),12)).e.c.length||function(n){var t,e,i,r;for(VD(r=CY(niK(n,(nlF(),nK6)),12),nFb,n.i.n.b),t=Ky(n.e),e=0,i=t.length;e<i;++e)Ru(t[e],r)}(u),0==u.g.c.length||function(n){var t,e,i,r;for(VD(e=CY(niK(n,(nlF(),nK6)),12),nFb,n.i.n.b),t=Ky(n.g),i=0,r=t.length;i<r;++i)Ra(t[i],e)}(u);else if(jM(niK(r,(nlF(),nK6)),18))w=CY(niK(r,nK6),18),d=CY(nrs(r,(nf5(),n1y)).Kc().Pb(),12),g=CY(nrs(r,n1n).Kc().Pb(),12),p=CY(niK(d,nK6),12),Ra(w,m=CY(niK(g,nK6),12)),Ru(w,p),(v=new TP(g.i.n)).a=V4(Vw(DY(nLA,1),nby,8,0,[m.i.n,m.n,m.a])).a,IA(w.a,v),(v=new TP(d.i.n)).a=V4(Vw(DY(nLA,1),nby,8,0,[p.i.n,p.n,p.a])).a,IA(w.a,v);else{if(r.j.c.length>=2){for(b=!0,e=CY(RU(h=new fU(r.j)),12),f=null;h.a<h.c.c.length;)if(f=e,e=CY(RU(h),12),!QY(niK(f,nK6),niK(e,nK6))){b=!1;break}}else b=!1;for(s=new fU(r.j);s.a<s.c.c.length;)0==(u=CY(RU(s),12)).e.c.length||function(n,t){var e,i,r,a,c,o,u,s;for(o=CY(niK(n,(nlF(),nK6)),12),u=V4(Vw(DY(nLA,1),nby,8,0,[o.i.n,o.n,o.a])).a,s=n.i.n.b,e=Ky(n.e),r=0,a=e.length;r<a;++r)Ru(i=e[r],o),E6(i.a,new MH(u,s)),t&&((c=CY(niK(i,(nlL(),nHP)),75))||(c=new gj,VD(i,nHP,c)),IA(c,new MH(u,s)))}(u,b),0==u.g.c.length||function(n,t){var e,i,r,a,c,o,u,s;for(r=CY(niK(n,(nlF(),nK6)),12),u=V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])).a,s=n.i.n.b,e=Ky(n.g),c=0,o=e.length;c<o;++c)Ra(a=e[c],r),E5(a.a,new MH(u,s)),t&&((i=CY(niK(a,(nlL(),nHP)),75))||(i=new gj,VD(a,nHP,i)),IA(i,new MH(u,s)))}(u,b)}Rc(r,null)}t.Vg()}(CY(n,36),t)},Nj(np2,"NorthSouthPortPostprocessor",1633),ncm(1634,1,npR,eG),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(t.Ug(nmt,1),w=new du,v=new du,s=new fU(n.b);s.a<s.c.c.length;)for(u=CY(RU(s),30),g=-1,b=Kv(u.a),f=0,l=b.length;f<l;++f)if(h=b[f],++g,h.k==(ni8(),n$v)&&Tx(CY(niK(h,(nlL(),nUt)),101))){for(Oq(CY(niK(h,(nlL(),nUt)),101))||function(n){var t,e,i,r,a,c,o,u;for(u=n.j.c.length,e=0,t=u,r=2*u,o=new fU(n.j);o.a<o.c.c.length;)switch((c=CY(RU(o),12)).j.g){case 2:case 4:c.p=-1;break;case 1:case 3:i=c.e.c.length,a=c.g.c.length,i>0&&a>0?c.p=t++:i>0?c.p=e++:a>0?c.p=r++:c.p=e++}$O(),ji(n.j,new eq)}(h),VD(h,(nlF(),nKV),h),w.c.length=0,v.c.length=0,e=new du,Xj(m=new vq,nrs(h,(nf5(),n1t))),nld(n,m,w,v,e),o=g,a=new fU(w);a.a<a.c.c.length;)ntX(i=CY(RU(a),10),o,u),++g,VD(i,nKV,h),c=CY(I0(i.j,0),12),d=CY(niK(c,nK6),12),pT(PC(niK(d,nBK)))||CY(niK(i,nKW),15).Fc(h);for($p(m),p=nrs(h,n1m).Kc();p.Ob();)F_(m,CY(p.Pb(),12),m.a,m.a.a);for(nld(n,m,v,null,e),r=new fU(v);r.a<r.c.c.length;)ntX(i=CY(RU(r),10),++g,u),VD(i,nKV,h),c=CY(I0(i.j,0),12),d=CY(niK(c,nK6),12),pT(PC(niK(d,nBK)))||CY(niK(h,nKW),15).Fc(i);0==e.c.length||VD(h,nKj,e)}t.Vg()}(CY(n,36),t)},Nj(np2,"NorthSouthPortPreprocessor",1634),ncm(1635,1,ndy,eq),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,12),i=CY(t,12),(r=e.j)!=(a=i.j)?r.g-a.g:e.p==i.p?0:r==(nf5(),n1t)?e.p-i.p:i.p-e.p},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"NorthSouthPortPreprocessor/lambda$0$Type",1635),ncm(1636,1,npR,eX),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c;if(t.Ug("Partition midprocessing",1),r=new Ds,vZ(xX(new Aa(null,new R$(n.a,16)),new ez),new l4(r)),0!=r.d){for(i=CY(FB(RD(new Aa(null,(!(a=r.i)?r.i=new j4(r,r.c):a).Nc())),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15).Kc(),e=CY(i.Pb(),17);i.Ob();)c=CY(i.Pb(),17),function(n,t){var e,i,r,a,c,o,u;for(r=n.Kc();r.Ob();)for(i=CY(r.Pb(),10),Ro(o=new nro,i),nau(o,(nf5(),n1n)),VD(o,(nlF(),nFe),(SB(),!0)),c=t.Kc();c.Ob();)a=CY(c.Pb(),10),Ro(u=new nro,a),nau(u,n1y),VD(u,nFe,!0),VD(e=new $1,nFe,!0),Ra(e,o),Ru(e,u)}(CY(_G(r,e),21),CY(_G(r,c),21)),e=c;t.Vg()}}(CY(n,36),t)},Nj(np2,"PartitionMidprocessor",1636),ncm(1637,1,nbV,ez),nPB.Mb=function(n){return Pn(CY(n,10),(nlL(),nH3))},Nj(np2,"PartitionMidprocessor/lambda$0$Type",1637),ncm(1638,1,nbE,l4),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,10),naR(t,CY(niK(e,(nlL(),nH3)),17),e)},Nj(np2,"PartitionMidprocessor/lambda$1$Type",1638),ncm(1639,1,npR,eV),nPB.Kf=function(n,t){!function(n,t){var e,i,r;for(t.Ug("Partition postprocessing",1),e=new fU(n.b);e.a<e.c.c.length;)for(i=new fU(CY(RU(e),30).a);i.a<i.c.c.length;)for(r=new fU(CY(RU(i),10).j);r.a<r.c.c.length;)pT(PC(niK(CY(RU(r),12),(nlF(),nFe))))&&L6(r);t.Vg()}(CY(n,36),t)},Nj(np2,"PartitionPostprocessor",1639),ncm(1640,1,npR,eW),nPB.Kf=function(n,t){var e=CY(n,36);t.Ug("Partition preprocessing",1),vZ(CY(FB(xX(UL(xX(new Aa(null,new R$(e.a,16)),new eQ),new eJ),new eY),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15).Oc(),new eZ),t.Vg()},Nj(np2,"PartitionPreprocessor",1640),ncm(1641,1,nbV,eQ),nPB.Mb=function(n){return Pn(CY(n,10),(nlL(),nH3))},Nj(np2,"PartitionPreprocessor/lambda$0$Type",1641),ncm(1642,1,{},eJ),nPB.Kb=function(n){return new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(np2,"PartitionPreprocessor/lambda$1$Type",1642),ncm(1643,1,nbV,eY),nPB.Mb=function(n){var t,e,i;return!!Pn((t=CY(n,18)).d.i,(nlL(),nH3))&&(e=CY(niK(t.c.i,nH3),17),i=CY(niK(t.d.i,nH3),17),jo(e.a,i.a)>0)},Nj(np2,"PartitionPreprocessor/lambda$2$Type",1643),ncm(1644,1,nbE,eZ),nPB.Cd=function(n){var t,e;nhf(t=CY(n,18),!0),e=nb8,Pn(t,(nlL(),nUh))&&(e+=CY(niK(t,nUh),17).a),VD(t,nUh,Qx(e))},Nj(np2,"PartitionPreprocessor/lambda$3$Type",1644),ncm(1645,1,npR,hu),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o;for(t.Ug("Port order processing",1),o=CY(niK(n,(nlL(),nUo)),430),e=new fU(n.b);e.a<e.c.c.length;)for(r=new fU(CY(RU(e),30).a);r.a<r.c.c.length;)i=CY(RU(r),10),a=CY(niK(i,nUt),101),c=i.j,a==(nie(),nZQ)||a==nZY||a==nZJ?($O(),ji(c,nDF)):a!=nZ1&&a!=nZ0&&($O(),ji(c,nDB),function(n){var t,e;n.c.length<=1||(t=nur(n,(nf5(),n1m)),nrO(n,CY(t.a,17).a,CY(t.b,17).a),e=nur(n,n1y),nrO(n,CY(e.a,17).a,CY(e.b,17).a))}(c),o==(UE(),nGN)&&ji(c,nD_)),i.i=!0,nal(i);t.Vg()}(CY(n,36),t)},Nj(np2,"PortListSorter",1645),ncm(1648,1,ndy,e1),nPB.Ne=function(n,t){return FC(CY(n,12),CY(t,12))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"PortListSorter/lambda$0$Type",1648),ncm(1650,1,ndy,e0),nPB.Ne=function(n,t){return nsB(CY(n,12),CY(t,12))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"PortListSorter/lambda$1$Type",1650),ncm(1646,1,{},e2),nPB.Kb=function(n){return Wy(),CY(n,12).e},Nj(np2,"PortListSorter/lambda$2$Type",1646),ncm(1647,1,{},e3),nPB.Kb=function(n){return Wy(),CY(n,12).g},Nj(np2,"PortListSorter/lambda$3$Type",1647),ncm(1649,1,ndy,e4),nPB.Ne=function(n,t){var e=CY(n,12),i=CY(t,12);if(Wy(),0!=e.j.g-i.j.g)return 0;switch(e.j.g){case 2:return JW(i,nDU)-JW(e,nDU);case 4:return JW(e,nDH)-JW(i,nDH)}return 0},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"PortListSorter/lambda$4$Type",1649),ncm(1651,1,npR,e6),nPB.Kf=function(n,t){!function(n,t){var e,i,r;for(t.Ug("Port side processing",1),r=new fU(n.a);r.a<r.c.c.length;)nhb(CY(RU(r),10));for(e=new fU(n.b);e.a<e.c.c.length;)for(i=new fU(CY(RU(e),30).a);i.a<i.c.c.length;)nhb(CY(RU(i),10));t.Vg()}(CY(n,36),t)},Nj(np2,"PortSideProcessor",1651),ncm(1652,1,npR,e5),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;for(t.Ug("Restoring reversed edges",1),c=new fU(n.b);c.a<c.c.c.length;)for(o=new fU(CY(RU(c),30).a);o.a<o.c.c.length;)for(u=new fU(CY(RU(o),10).j);u.a<u.c.c.length;)for(a=Ky(CY(RU(u),12).g),i=0,r=a.length;i<r;++i)pT(PC(niK(e=a[i],(nlF(),nFu))))&&nhf(e,!1);t.Vg()}(CY(n,36),t)},Nj(np2,"ReversedEdgeRestorer",1652),ncm(1657,1,npR,gc),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("Self-Loop ordering",1),vZ(xz(xX(xX(UL(new Aa(null,new R$(e.b,16)),new e8),new e9),new e7),new it),new l1(this)),t.Vg()},Nj(np2,"SelfLoopPortRestorer",1657),ncm(1658,1,{},e8),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"SelfLoopPortRestorer/lambda$0$Type",1658),ncm(1659,1,nbV,e9),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$v)},Nj(np2,"SelfLoopPortRestorer/lambda$1$Type",1659),ncm(1660,1,nbV,e7),nPB.Mb=function(n){return Pn(CY(n,10),(nlF(),nFh))},Nj(np2,"SelfLoopPortRestorer/lambda$2$Type",1660),ncm(1661,1,{},it),nPB.Kb=function(n){return CY(niK(CY(n,10),(nlF(),nFh)),337)},Nj(np2,"SelfLoopPortRestorer/lambda$3$Type",1661),ncm(1662,1,nbE,l1),nPB.Cd=function(n){var t=this.a,e=CY(n,337);if(e.a)switch(CY(niK(e.b,(nlF(),nFn)),101).g){case 0:case 1:switch(CY(niK(e.b,(nlL(),nHf)),387).g){case 1:vZ(xz(UL(new Aa(null,new R$(e.d,16)),new ru),new rs),new rh);break;case 2:!function(n){var t,e,i,r,a,c,o;for(i=0,o=0,c=new fU(n.d);c.a<c.c.c.length;)a=CY(RU(c),105),r=CY(FB(xX(new Aa(null,new R$(a.j,16)),new rb),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),e=null,i<=o?(nf5(),e=n1t,i+=r.gc()):o<i&&(nf5(),e=n1m,o+=r.gc()),t=e,vZ(xz(r.Oc(),new rf),new bh(t))}(e);break;case 0:!function(n){var t,e,i,r;for(ji(r=new O8(n.d),new ro),nut(),t=Vw(DY(nAg,1),nbG,276,0,[nRi,nRc,nRe,nRs,nRa,nRr,nRu,nRo]),e=0,i=new fU(r);i.a<i.c.c.length;)(function(n,t){var e,i,r,a,c;for(c=n.j,t.a!=t.b&&ji(c,new rl),r=c.c.length/2|0,i=0;i<r;i++)RN(i,c.c.length),(a=CY(c.c[i],113)).c&&nau(a.d,t.a);for(e=r;e<c.c.length;e++)RN(e,c.c.length),(a=CY(c.c[e],113)).c&&nau(a.d,t.b)})(CY(RU(i),105),t[e%t.length]),++e}(e)}case 2:vZ(new Aa(null,new R$(e.d,16)),new ie),function(n,t){for(function(n){var t,e,i,r,a,c,o,u;for(n.b=new naW(new pU((nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]))),new pU((Xa(),Vw(DY(nAd,1),nbG,372,0,[nRn,nD7,nD9])))),c=Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]),o=0,u=c.length;o<u;++o)for(a=c[o],e=Vw(DY(nAd,1),nbG,372,0,[nRn,nD7,nD9]),i=0,r=e.length;i<r;++i)t=e[i],function(n,t,e,i){var r,a;NP(t),NP(e),Us(!!(a=CY(O3(n.d,t),17)),"Row %s not in %s",t,n.e),Us(!!(r=CY(O3(n.b,e),17)),"Column %s not in %s",e,n.c),Vb(n,a.a,r.a,i)}(n.b,a,t,new du)}(n),e=new mt,vZ(new Aa(null,new R$(t.d,16)),new bs(e)),n.a=e,function(n,t){var e,i,r,a,c;for(t==(Wm(),nGU)&&nrY(CY(_G(n.a,(ne2(),nDZ)),15)),r=CY(_G(n.a,(ne2(),nDZ)),15).Kc();r.Ob();)switch(i=CY(r.Pb(),105),e=CY(I0(i.j,0),113).d.j,ji(a=new O8(i.j),new i7),t.g){case 2:nim(n,a,e,(Xa(),nD7),1);break;case 1:case 0:c=function(n){var t,e;for(e=0;e<n.c.length&&!(IN((RN(e,n.c.length),CY(n.c[e],113)))>0);e++);if(e>0&&e<n.c.length-1)return e;for(t=0;t<n.c.length&&!(IN((RN(t,n.c.length),CY(n.c[t],113)))>0);t++);return t>0&&e<n.c.length-1?t:n.c.length/2|0}(a),nim(n,new Rk(a,0,c),e,(Xa(),nD7),0),nim(n,new Rk(a,c,a.c.length),e,nD7,1)}}(n,CY(niK(t.b,(nlL(),nHl)),349)),a=CY(_G(n.a,(ne2(),nD0)),15).Kc();a.Ob();)i=nt_(r=CY(a.Pb(),105)),Na(n,r,i[0],(Xa(),nD9),0),Na(n,r,i[1],nRn,1);var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M=n;for(g=CY(_G(M.a,(ne2(),nD1)),15).Kc();g.Ob();)w=(b=AY((d=CY(g.Pb(),105)).k)).Hc((nf5(),n1t))?b.Hc(n1n)?b.Hc(n1m)?b.Hc(n1y)?null:nD6:nD8:nD5:nD4,Na(M,d,w[0],(Xa(),nD9),0),Na(M,d,w[1],nD7,1),Na(M,d,w[2],nRn,1);for(u=CY(_G(n.a,(ne2(),nDY)),15).Kc();u.Ob();)for(c=AY((o=CY(u.Pb(),105)).k).Kc();c.Ob();)Na(n,o,CY(c.Pb(),64),(Xa(),nD7),1);for(f=CY(_G(n.a,(ne2(),nD2)),15).Kc();f.Ob();)s=nt_(h=CY(f.Pb(),105)),Na(n,h,s[0],(Xa(),nD9),0),Na(n,h,s[1],nRn,1);p=n,k=new O8((m=t.b).j),y=0,(v=m.j).c.length=0,Nc(CY(zm(p.b,(nf5(),n1t),(Xa(),nRn)),15),m),y=nnI(k,y,new rt,v),Nc(CY(zm(p.b,n1t,nD7),15),m),y=nnI(k,y,new i4,v),Nc(CY(zm(p.b,n1t,nD9),15),m),Nc(CY(zm(p.b,n1n,nRn),15),m),Nc(CY(zm(p.b,n1n,nD7),15),m),y=nnI(k,y,new re,v),Nc(CY(zm(p.b,n1n,nD9),15),m),Nc(CY(zm(p.b,n1m,nRn),15),m),y=nnI(k,y,new ri,v),Nc(CY(zm(p.b,n1m,nD7),15),m),y=nnI(k,y,new rr,v),Nc(CY(zm(p.b,n1m,nD9),15),m),Nc(CY(zm(p.b,n1y,nRn),15),m),y=nnI(k,y,new i8,v),Nc(CY(zm(p.b,n1y,nD7),15),m),Nc(CY(zm(p.b,n1y,nD9),15),m),vZ(UL(new Aa(null,Ku(((l=n.b).i||(l.i=new h4(l))).a)),new i6),new i5),t.a=!1,n.a=null}(t.a,e)}else vZ(new Aa(null,new R$(e.d,16)),new ie)},Nj(np2,"SelfLoopPortRestorer/lambda$4$Type",1662),ncm(805,1,nbE,ie),nPB.Cd=function(n){!function(n){var t,e,i;for(n.k=new Rj((nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])).length,n.j.c.length),i=new fU(n.j);i.a<i.c.c.length;)t=(e=CY(RU(i),113)).d.j,naR(n.k,t,e);n.e=function(n){var t,e;if(ne2(),n.Hc((nf5(),n1v)))throw new pN("Port sides must not contain UNDEFINED").e;switch(n.gc()){case 1:return nDZ;case 2:return t=n.Hc(n1n)&&n.Hc(n1y),e=n.Hc(n1t)&&n.Hc(n1m),t||e?nD2:nD0;case 3:return nD1;case 4:return nDY;default:return null}}(AY(n.k))}(CY(n,105))},Nj(np2,"SelfLoopPortRestorer/lambda$5$Type",805),ncm(1663,1,npR,ii),nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("Self-Loop post-processing",1),vZ(xX(xX(UL(new Aa(null,new R$(e.b,16)),new ir),new ia),new ic),new io),t.Vg()},Nj(np2,"SelfLoopPostProcessor",1663),ncm(1664,1,{},ir),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"SelfLoopPostProcessor/lambda$0$Type",1664),ncm(1665,1,nbV,ia),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$v)},Nj(np2,"SelfLoopPostProcessor/lambda$1$Type",1665),ncm(1666,1,nbV,ic),nPB.Mb=function(n){return Pn(CY(n,10),(nlF(),nFh))},Nj(np2,"SelfLoopPostProcessor/lambda$2$Type",1666),ncm(1667,1,nbE,io),nPB.Cd=function(n){var t,e;t=CY(n,10),vZ(UL(new Aa(null,new R$((e=CY(niK(t,(nlF(),nFh)),337)).d,16)),new iu),new lZ(t)),vZ(xX(new Aa(null,new R$(e.d,16)),new is),new l0(t))},Nj(np2,"SelfLoopPostProcessor/lambda$3$Type",1667),ncm(1668,1,{},iu),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,105).f,1))},Nj(np2,"SelfLoopPostProcessor/lambda$4$Type",1668),ncm(1669,1,nbE,lZ),nPB.Cd=function(n){var t,e,i;t=this.a,Ra(i=(e=CY(n,340)).a,e.c.d),Ru(i,e.d.d),zc(i.a,t.n)},Nj(np2,"SelfLoopPostProcessor/lambda$5$Type",1669),ncm(1670,1,nbV,is),nPB.Mb=function(n){return!!CY(n,105).i},Nj(np2,"SelfLoopPostProcessor/lambda$6$Type",1670),ncm(1671,1,nbE,l0),nPB.Cd=function(n){var t,e,i;t=this.a,e=CY(n,105).i,i=t.n,T$(e.f)?function(n,t){var e,i,r,a,c;for(a=n.g.a,c=n.g.b,i=new fU(n.d);i.a<i.c.c.length;)r=(e=CY(RU(i),72)).n,n.a==(Vg(),nDV)||n.i==(nf5(),n1n)?r.a=a:n.a==nDW||n.i==(nf5(),n1y)?r.a=a+n.j.a-e.o.a:r.a=a+(n.j.a-e.o.a)/2,r.b=c,OT(r,t),c+=e.o.b+n.e}(e,i):function(n,t){var e,i,r,a,c;for(a=n.g.a,c=n.g.b,i=new fU(n.d);i.a<i.c.c.length;)(r=(e=CY(RU(i),72)).n).a=a,n.i==(nf5(),n1t)?r.b=c+n.j.b-e.o.b:r.b=c,OT(r,t),a+=e.o.a+n.e}(e,i)},Nj(np2,"SelfLoopPostProcessor/lambda$7$Type",1671),ncm(1653,1,npR,ih),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a;for(t.Ug("Self-Loop pre-processing",1),i=new fU(n.a);i.a<i.c.c.length;)(a=e=CY(RU(i),10)).k==(ni8(),n$v)&&_g(new Aa(null,new Nf(new Le(Sb(JV(a).a.Kc(),new s)))),new ra)&&(r=new ZD(e),VD(e,(nlF(),nFh),r),function(n){var t,e,i,r,a,c,o;for(r=new du,i=new Le(Sb(JV(n.b).a.Kc(),new s));ncv(i);)_p(e=CY(_I(i),18))&&jB(r,new _9(e,Ho(n,e.c),Ho(n,e.d)));for(o=new fx(new fN(n.e).a.vc().Kc());o.a.Ob();)t=CY(o.a.Pb(),44),(a=CY(t.md(),113)).d.p=0;for(c=new fx(new fN(n.e).a.vc().Kc());c.a.Ob();)t=CY(c.a.Pb(),44),0==(a=CY(t.md(),113)).d.p&&jB(n.d,function(n,t){var e,i,r,a,c,o,u,s;for(o=new nrC(n),F_(e=new vq,t,e.c.b,e.c);0!=e.b;){for((i=CY(0==e.b?null:(Px(0!=e.b),Gy(e,e.a.a)),113)).d.p=1,c=new fU(i.e);c.a<c.c.c.length;)nif(o,r=CY(RU(c),340)),0==(s=r.d).d.p&&F_(e,s,e.c.b,e.c);for(a=new fU(i.b);a.a<a.c.c.length;)nif(o,r=CY(RU(a),340)),0==(u=r.c).d.p&&F_(e,u,e.c.b,e.c)}return o}(n,a))}(r),vZ(xz(UL(new Aa(null,new R$(r.d,16)),new il),new ib),new iw),function(n){var t,e,i,r,a,c,o;if(r=(i=n.b).e,a=Oq(CY(niK(i,(nlL(),nUt)),101)),e=!!r&&CY(niK(r,(nlF(),nKU)),21).Hc((no7(),nKc)),!a&&!e)for(o=new fx(new fN(n.e).a.vc().Kc());o.a.Ob();)t=CY(o.a.Pb(),44),(c=CY(t.md(),113)).a&&(Ro(c.d,null),c.c=!0,n.a=!0)}(r));t.Vg()}(CY(n,36),t)},Nj(np2,"SelfLoopPreProcessor",1653),ncm(1654,1,{},il),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,105).f,1))},Nj(np2,"SelfLoopPreProcessor/lambda$0$Type",1654),ncm(1655,1,{},ib),nPB.Kb=function(n){return CY(n,340).a},Nj(np2,"SelfLoopPreProcessor/lambda$1$Type",1655),ncm(1656,1,nbE,iw),nPB.Cd=function(n){var t;Ra(t=CY(n,18),null),Ru(t,null)},Nj(np2,"SelfLoopPreProcessor/lambda$2$Type",1656),ncm(1672,1,npR,Om),nPB.Kf=function(n,t){var e,i;e=CY(n,36),t.Ug("Self-Loop routing",1),i=function(n){switch(CY(niK(n,(nlL(),nHu)),223).g){case 1:return new rp;case 3:return new rM;default:return new rg}}(e),Ez(niK(e,(Bl(),nQ4))),vZ(xz(xX(xX(UL(new Aa(null,new R$(e.b,16)),new id),new ig),new ip),new im),new ku(this,i)),t.Vg()},Nj(np2,"SelfLoopRouter",1672),ncm(1673,1,{},id),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,30).a,16))},Nj(np2,"SelfLoopRouter/lambda$0$Type",1673),ncm(1674,1,nbV,ig),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$v)},Nj(np2,"SelfLoopRouter/lambda$1$Type",1674),ncm(1675,1,nbV,ip),nPB.Mb=function(n){return Pn(CY(n,10),(nlF(),nFh))},Nj(np2,"SelfLoopRouter/lambda$2$Type",1675),ncm(1676,1,{},im),nPB.Kb=function(n){return CY(niK(CY(n,10),(nlF(),nFh)),337)},Nj(np2,"SelfLoopRouter/lambda$3$Type",1676),ncm(1677,1,nbE,ku),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,337),function(n,t){var e,i,r,a,c,o=t.b.j;for(c=0;c<o.c.length;c++)(RN(c,o.c.length),CY(o.c[c],12)).p=c;for(vZ(xz(new Aa(null,new R$(t.d,16)),new rv),new ry),a=new fU(t.d);a.a<a.c.c.length;){switch((r=CY(RU(a),105)).e.g){case 0:e=CY(I0(r.j,0),113).d.j,r.a=CY(SO(Ll(CY(_G(r.k,e),15).Oc(),nRf)),113),r.c=CY(SO(Lf(CY(_G(r.k,e),15).Oc(),nRf)),113);break;case 1:i=nt_(r),r.a=CY(SO(Ll(CY(_G(r.k,i[0]),15).Oc(),nRf)),113),r.c=CY(SO(Lf(CY(_G(r.k,i[1]),15).Oc(),nRf)),113);break;case 2:!function(n,t){var e,i,r,a,c,o,u;o=CY(nn7(AY(t.k),BJ(nLq,npx,64,2,0,1)),126),u=t.g,i=ntm(n,u,e=Fi(t,o[0]),r=Fe(t,o[1])),i<=ntm(n,u,a=Fi(t,o[1]),c=Fe(t,o[0]))?(t.a=e,t.c=r):(t.a=a,t.c=c)}(n,r);break;case 3:!function(n){var t,e;switch(t=null,e=null,function(n){var t,e,i,r,a;for(a=AY(n.k),nf5(),e=Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]),i=0,r=e.length;i<r;++i)if((t=e[i])!=n1v&&!a.Hc(t))return t;return null}(n).g){case 1:nf5(),t=n1n,e=n1y;break;case 2:nf5(),t=n1m,e=n1t;break;case 3:nf5(),t=n1y,e=n1n;break;case 4:nf5(),t=n1t,e=n1m}n.a=CY(SO(Ll(CY(_G(n.k,t),15).Oc(),nRf)),113),n.c=CY(SO(Lf(CY(_G(n.k,e),15).Oc(),nRf)),113)}(r);break;case 4:!function(n,t){var e,i,r,a,c,o,u,s,h;for(o=t.j,c=t.g,u=CY(I0(o,o.c.length-1),113),RN(0,o.c.length),s=ntm(n,c,u,h=CY(o.c[0],113)),a=1;a<o.c.length;a++)RN(a-1,o.c.length),e=CY(o.c[a-1],113),RN(a,o.c.length),(i=ntm(n,c,e,r=CY(o.c[a],113)))>s&&(u=e,h=r,s=i);t.a=h,t.c=u}(n,r)}!function(n){var t,e;for(t=n.a.d.j,e=n.c.d.j;t!=e;)Xf(n.b,t),t=Jd(t);Xf(n.b,t)}(r)}n.a=null}(t.a,i),function(n){var t,e;for(function(n){var t,e,i,r,a,c,o,u,s,h,f;for(e=null,o=null,(r=CY(niK(n.b,(nlL(),nHl)),349))==(Wm(),nGG)&&(e=new du,o=new du),c=new fU(n.d);c.a<c.c.c.length;)if((a=CY(RU(c),105)).i)switch(a.e.g){case 0:t=CY(Fj(new vG(a.b)),64),r==nGG&&t==(nf5(),n1t)?dk(e.c,a):r==nGG&&t==(nf5(),n1m)?dk(o.c,a):function(n,t){var e;switch(t.g){case 2:case 4:e=n.a,n.c.d.n.b<e.d.n.b&&(e=n.c),Ly(n,t,(Vg(),nDQ),e);break;case 1:case 3:Ly(n,t,(Vg(),nDz),null)}}(a,t);break;case 1:u=a.a.d.j,s=a.c.d.j,u==(nf5(),n1t)?Ly(a,n1t,(Vg(),nDV),a.a):s==n1t?Ly(a,n1t,(Vg(),nDW),a.c):u==n1m?Ly(a,n1m,(Vg(),nDW),a.a):s==n1m&&Ly(a,n1m,(Vg(),nDV),a.c);break;case 2:case 3:SD(i=a.b,(nf5(),n1t))?SD(i,n1m)?SD(i,n1y)?SD(i,n1n)||Ly(a,n1t,(Vg(),nDW),a.c):Ly(a,n1t,(Vg(),nDV),a.a):Ly(a,n1t,(Vg(),nDz),null):Ly(a,n1m,(Vg(),nDz),null);break;case 4:h=a.a.d.j,f=a.a.d.j,h==(nf5(),n1t)||f==n1t?Ly(a,n1m,(Vg(),nDz),null):Ly(a,n1t,(Vg(),nDz),null)}e&&(0==e.c.length||nhs(e,(nf5(),n1t)),0==o.c.length||nhs(o,(nf5(),n1m)))}(n),e=new fU(n.d);e.a<e.c.c.length;)(t=CY(RU(e),105)).i&&function(n){var t,e,i,r;switch(t=(r=n.i).b,i=r.j,e=r.g,r.a.g){case 0:e.a=(n.g.b.o.a-i.a)/2;break;case 1:e.a=t.d.n.a+t.d.a.a;break;case 2:e.a=t.d.n.a+t.d.a.a-i.a;break;case 3:e.b=t.d.n.b+t.d.a.b}}(t)}(i),function(n,t){var e,i,r,a,c,o;for(e=function(n){var t,e,i,r,a,c,o,u,s,h;for(e=0,o=new fU(n.d);o.a<o.c.c.length;)(c=CY(RU(o),105)).i&&(c.i.c=e++);for(r=0,t=I3(n4h,[nby,ndV],[183,28],16,[e,e],2),h=n.d;r<h.c.length;r++)if(RN(r,h.c.length),(u=CY(h.c[r],105)).i)for(a=r+1;a<h.c.length;a++)RN(a,h.c.length),(s=CY(h.c[a],105)).i&&(i=function(n,t){var e,i,r,a,c;return i=n.i,r=t.i,!!i&&!!r&&i.i==r.i&&i.i!=(nf5(),n1n)&&i.i!=(nf5(),n1y)&&(e=(a=i.g.a)+i.j.a,a<=(c=r.g.a)+r.j.a&&e>=c)}(u,s),t[u.i.c][s.i.c]=i,t[s.i.c][u.i.c]=i);return t}(t),function(n,t,e){var i,r,a,c,o,u,s;for(n.a=new Bf((s=t.d).c.length),n.c=new dc,o=new fU(s);o.a<o.c.c.length;)c=CY(RU(o),105),a=new zV(null),jB(n.a,a),xM(n.c,c,a);for(n.b=new dc,!function(n,t){var e,i,r,a,c,o,u;for(u=t.d,r=t.b.j,o=new fU(u);o.a<o.c.c.length;)for(c=CY(RU(o),105),a=BJ(n4h,ndV,28,r.c.length,16,1),xM(n.b,c,a),e=c.a.d.p-1,i=c.c.d.p;e!=i;)a[e=(e+1)%r.c.length]=!0}(n,t),i=0;i<s.c.length-1;i++)for(u=CY(I0(t.d,i),105),r=i+1;r<s.c.length;r++)!function(n,t,e,i){var r,a,c,o;r=Y4(n,t,e),a=Y4(n,e,t),c=CY(NR(n.c,t),118),o=CY(NR(n.c,e),118),r<a?new RT((Bw(),nqV),c,o,a-r):a<r?new RT((Bw(),nqV),o,c,r-a):(0!=r||!(!t.i||!e.i)&&i[t.i.c][e.i.c])&&(new RT((Bw(),nqV),c,o,0),new RT(nqV,o,c,0))}(n,u,CY(I0(t.d,r),105),e)}(n,t,e),nia(n.a,CY(niK(xi(t.b),(nlF(),nFc)),234)),function(n){var t,e,i,r,a,c;for(a=new vq,r=new fU(n.a);r.a<r.c.c.length;)(i=CY(RU(r),118)).d=i.f.c.length,i.i=i.k.c.length,0==i.i&&(i.o=0,F_(a,i,a.c.b,a.c));for(;0!=a.b;)for(e=(i=CY(0==a.b?null:(Px(0!=a.b),Gy(a,a.a.a)),118)).o+1,t=new fU(i.f);t.a<t.c.c.length;)(c=CY(RU(t),132).a).o=nP_.Math.max(c.o,e),c.i=c.i-1,0==c.i&&F_(a,c,a.c.b,a.c)}(n),c=new fU(t.d);c.a<c.c.c.length;)for(a=CY(RU(c),105),o=CY(NR(n.c,a),118).o,r=new vG(a.b);r.a<r.c.a.length;)Hi(a,CY(Fj(r),64),o);i=BJ(n4s,nwl,28,t.b.j.c.length,15,1),nfG(n,t,(nf5(),n1t),i,e),nfG(n,t,n1n,i,e),nfG(n,t,n1m,i,e),nfG(n,t,n1y,i,e),n.a=null,n.c=null,n.b=null}(t.b,i),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;for(h=(c=t.b).o,u=c.d,i=pj(PI(Z9(c,(nlL(),nUv)))),r=pj(PI(Z9(c,nUk))),s=pj(PI(Z9(c,nUA))),C8(o=new gg,u.d,u.c,u.a,u.b),l=function(n,t,e,i){var r,a,c,o,u;for(u=BJ(n4b,nby,109,(nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])).length,0,2),a=Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y]),c=0,o=a.length;c<o;++c)u[(r=a[c]).g]=BJ(n4b,nwX,28,n.c[r.g],15,1);return nef(u,n,n1t),nef(u,n,n1m),ntc(u,n,n1t,t,e,i),ntc(u,n,n1n,t,e,i),ntc(u,n,n1m,t,e,i),ntc(u,n,n1y,t,e,i),u}(t,i,r,s),p=new fU(t.d);p.a<p.c.c.length;){for(w=(g=CY(RU(p),105)).f.a.ec().Kc();w.Ob();)a=(b=CY(w.Pb(),340)).a,f=function(n){var t,e,i,r;return(e=(t=n.c.d).j)==(r=(i=n.d.d).j)?t.p<i.p?0:1:Jd(e)==r?0:Jb(e)==r?1:+!SD(n.b.b,Jd(e))}(b),m=new gj,nis(b,b.c,l,m),function(n,t,e,i){var r,a,c,o,u;if(a=n.c.d,c=n.d.d,a.j!=c.j)for(u=n.b,r=a.j,o=null;r!=c.j;)o=0==t?Jd(r):Jb(r),IA(i,OT(ZR(r,u.d[r.g],e),ZR(o,u.d[o.g],e))),r=o}(b,f,l,m),nis(b,b.d,l,m),e=m,e=n.ng(b,f,e),$p(a.a),Xx(a.a,e),vZ(new Aa(null,new R$(e,16)),new kM(h,o));(d=g.i)&&(!function(n,t,e,i){var r,a;switch(r=e[(a=t.i).g][n.d[a.g]],a.g){case 1:r-=i+t.j.b,t.g.b=r;break;case 3:r+=i,t.g.b=r;break;case 4:r-=i+t.j.a,t.g.a=r;break;case 2:r+=i,t.g.a=r}}(g,d,l,r),Zj(h,o,v=new TP(d.g)),OT(v,d.j),Zj(h,o,v))}C8(u,o.d,o.c,o.a,o.b)}(e,i)},Nj(np2,"SelfLoopRouter/lambda$4$Type",1677),ncm(1678,1,npR,iv),nPB.Kf=function(n,t){var e,i,r=CY(n,36);for(t.Ug("Semi-Interactive Crossing Minimization Processor",1),e=!1,i=new fU(r.b);i.a<i.c.c.length;)e|=null!=QW(Gs(xX(xX(new Aa(null,new R$(CY(RU(i),30).a,16)),new iy),new ik),new iM),new iE).a;e&&VD(r,(nlF(),nKQ),(SB(),!0)),t.Vg()},Nj(np2,"SemiInteractiveCrossMinProcessor",1678),ncm(1679,1,nbV,iy),nPB.Mb=function(n){return CY(n,10).k==(ni8(),n$v)},Nj(np2,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),ncm(1680,1,nbV,ik),nPB.Mb=function(n){return Ah(CY(n,10))._b((nlL(),nUu))},Nj(np2,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),ncm(1681,1,ndy,iM),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,10),i=CY(t,10),r=CY(niK(e,(nlL(),nUu)),8),a=CY(niK(i,nUu),8),Jj(r.b,a.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(np2,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),ncm(1682,1,{},iE),nPB.Ve=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),CY(niK(e,(nlF(),nKW)),15).Fc(i),i},Nj(np2,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),ncm(1684,1,npR,iT),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;for(t.Ug("Sort By Input Model "+niK(n,(nlL(),nBQ)),1),r=0,i=new fU(n.b);i.a<i.c.c.length;){for(e=CY(RU(i),30),u=0==r?0:r-1,o=CY(I0(n.b,u),30),c=new fU(e.a);c.a<c.c.c.length;)ER(niK(a=CY(RU(c),10),nUt))!==ER((nie(),nZQ))&&ER(niK(a,nUt))!==ER(nZJ)&&($O(),ji(a.j,new Qi(o,CY(niK(n,nBQ),284),nt0(a),pT(PC(niK(n,nBW))))),t.bh("Node "+a+" ports: "+a.j));$O(),ji(e.a,new XM(o,CY(niK(n,nBQ),284),CY(niK(n,nBz),390))),t.bh("Layer "+r+": "+e),++r}t.Vg()}(CY(n,36),t)},Nj(np2,"SortByInputModelProcessor",1684),ncm(1685,1,nbV,ij),nPB.Mb=function(n){return 0!=CY(n,12).g.c.length},Nj(np2,"SortByInputModelProcessor/lambda$0$Type",1685),ncm(1686,1,nbE,l6),nPB.Cd=function(n){var t,e,i,r,a;t=this.a,a=function(n){var t,e;e=null,t=CY(I0(n.g,0),18);do{if(Pn(e=t.d.i,(nlF(),nK0)))return CY(niK(e,nK0),12).i;if(e.k!=(ni8(),n$v)&&ncv(new Le(Sb(JV(e).a.Kc(),new s))))t=CY(_I(new Le(Sb(JV(e).a.Kc(),new s))),18);else if(e.k!=n$v)return null}while(!!e&&e.k!=(ni8(),n$v))return e}(e=CY(n,12)),VD(e,(nlF(),nK2),a),a&&(r=nl3,Aj(t.f,a)&&(r=CY(ED(Aj(t.f,a)),17).a),pT(PC(niK(i=CY(I0(e.g,0),18),nFu)))||xM(t,a,Qx(nP_.Math.min(CY(niK(i,nK4),17).a,r))))},Nj(np2,"SortByInputModelProcessor/lambda$1$Type",1686),ncm(1759,817,{},XT),nPB.df=function(n){var t,e,i,r;switch(this.c=n,this.a.g){case 2:t=new du,vZ(xX(new Aa(null,new R$(this.c.a.b,16)),new iF),new kv(this,t)),nr4(this,new iP),Gd(t,new iO),t.c.length=0,vZ(xX(new Aa(null,new R$(this.c.a.b,16)),new iC),new l8(t)),nr4(this,new iI),Gd(t,new iA),t.c.length=0,e=jc(XY(xV(new Aa(null,new R$(this.c.a.b,16)),new l9(this))),new iL),vZ(new Aa(null,new R$(this.c.a.a,16)),new kf(e,t)),nr4(this,new ix),Gd(t,new i$),t.c.length=0;break;case 3:i=new du,nr4(this,new iS),r=jc(XY(xV(new Aa(null,new R$(this.c.a.b,16)),new l5(this))),new iN),vZ(xX(new Aa(null,new R$(this.c.a.b,16)),new iD),new kb(r,i)),nr4(this,new iR),Gd(i,new iK),i.c.length=0;break;default:throw(new d_).e}},nPB.b=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation",1759),ncm(1760,1,ndK,iS),nPB.Lb=function(n){return jM(CY(n,60).g,154)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return jM(CY(n,60).g,154)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),ncm(1761,1,{},l5),nPB.Ye=function(n){var t,e,i,r;return t=this.a,jM((e=CY(n,60)).g,10)&&CY(e.g,10).k==(ni8(),n$g)?nwF:K7(e)?nP_.Math.max(0,t.b/2-.5):(i=KC(e))?(r=pj(PI(Y_(i,(nlL(),nUC)))),nP_.Math.max(0,r/2-.5)):nwF},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),ncm(1769,1,nbW,ks),nPB.de=function(){neh(this.a,this.b,-1)},nPB.b=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),ncm(1771,1,ndK,iP),nPB.Lb=function(n){return jM(CY(n,60).g,154)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return jM(CY(n,60).g,154)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),ncm(1772,1,nbE,iO),nPB.Cd=function(n){CY(n,380).de()},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),ncm(1773,1,nbV,iC),nPB.Mb=function(n){return jM(CY(n,60).g,10)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),ncm(1775,1,nbE,l8),nPB.Cd=function(n){var t,e,i,r;t=this.a,r=pj(PI(Y_(KC(e=CY(n,60)),(nlL(),nUv)))),neh(e,i=nP_.Math.max(0,r/2-.5),1),jB(t,new kw(e,i))},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),ncm(1774,1,nbW,kw),nPB.de=function(){neh(this.b,this.a,-1)},nPB.a=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),ncm(1776,1,ndK,iI),nPB.Lb=function(n){return jM(CY(n,60).g,10)},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return jM(CY(n,60).g,10)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),ncm(1777,1,nbE,iA),nPB.Cd=function(n){CY(n,380).de()},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),ncm(1778,1,{},l9),nPB.Ye=function(n){var t,e,i,r;return t=this.a,jM((e=CY(n,60)).g,10)&&CY(e.g,10).k==(ni8(),n$g)?nwF:K7(e)?nP_.Math.max(0,t.b/2-.5):(i=KC(e))?(r=pj(PI(Y_(i,(nlL(),nUC)))),nP_.Math.max(0,r/2-.5)):nwF},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),ncm(1779,1,{},iL),nPB.We=function(){return 0},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),ncm(1762,1,{},iN),nPB.We=function(){return 0},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),ncm(1781,1,nbE,kf),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,ncA(i=CY(n,316),t,1),jB(e,new kl(i,t))},nPB.a=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),ncm(1780,1,nbW,kl),nPB.de=function(){ncA(this.a,this.b,-1)},nPB.b=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),ncm(1782,1,ndK,ix),nPB.Lb=function(n){return CY(n,60),!0},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return CY(n,60),!0},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),ncm(1783,1,nbE,i$),nPB.Cd=function(n){CY(n,380).de()},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),ncm(1763,1,nbV,iD),nPB.Mb=function(n){return jM(CY(n,60).g,10)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),ncm(1765,1,nbE,kb),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,neh(i=CY(n,60),t,1),jB(e,new kd(i,t))},nPB.a=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),ncm(1764,1,nbW,kd),nPB.de=function(){neh(this.b,this.a,-1)},nPB.a=0,Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),ncm(1766,1,ndK,iR),nPB.Lb=function(n){return CY(n,60),!0},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return CY(n,60),!0},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),ncm(1767,1,nbE,iK),nPB.Cd=function(n){CY(n,380).de()},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),ncm(1768,1,nbV,iF),nPB.Mb=function(n){return jM(CY(n,60).g,154)},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),ncm(1770,1,nbE,kv),nPB.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,neh(i=CY(n,60),r=nP_.Math.max(0,t.b/2-.5),1),jB(e,new ks(i,r))},Nj(nme,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),ncm(1586,1,npR,SF),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o;if((r=CY(niK(t,(nlL(),nBU)),282))!=(ni2(),nKn)){switch((e.Ug("Horizontal Compaction",1),n.a=t,(i=new naY(((a=new H9).d=t,a.c=CY(niK(a.d,nHu),223),function(n){var t,e,i,r,a,c,o;for(t=!1,e=0,r=new fU(n.d.b);r.a<r.c.c.length;)for((i=CY(RU(r),30)).p=e++,c=new fU(i.a);c.a<c.c.c.length;)a=CY(RU(c),10),t||KZ(JX(a))||(t=!0);o=AN((Ju(),nY7),Vw(DY(nL$,1),nbG,88,0,[nY8,nY9])),t||(Xf(o,nZn),Xf(o,nY5)),n.a=new U5(o),LH(n.f),LH(n.b),LH(n.e),LH(n.g)}(a),function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g,p;for(a=new fU(n.d.b);a.a<a.c.c.length;)for(o=new fU(CY(RU(a),30).a);o.a<o.c.c.length;){if(pT(PC(niK(c=CY(RU(o),10),(nlL(),nB_))))&&!KZ(JX(c))){(h=(i=CY((NP(l=JX(c)),nnZ(new Le(Sb(l.a.Kc(),new s)))),18)).c.i)==c&&(h=i.d.i),f=new Ea(h,Oj(jv(c.n),h.n)),xM(n.b,c,f);continue}r=new x4(c.n.a-c.d.b,c.n.b-c.d.d,c.o.a+c.d.b+c.d.c,c.o.b+c.d.d+c.d.a),t=SI((b=new d4,b.a.g=c,(w=b).a.d=r,d=w,g=nDq,d.a.j=g,d),n.a),SC((p=ql(new d3,Vw(DY(nCu,1),nl7,60,0,[t])),p.a.f=t,p),n.a),u=new ds,xM(n.e,t,u),(e=Fv(new Le(Sb(Jz(c).a.Kc(),new s)))-Fv(new Le(Sb(JV(c).a.Kc(),new s))))<0?VO(u,!0,(Ju(),nY8)):e>0&&VO(u,!0,(Ju(),nY9)),c.k==(ni8(),n$g)&&xo(u),xM(n.f,c,t)}}(a),function(n){var t,e,i;switch((t=CY(niK(n.d,(nlL(),nHu)),223)).g){case 2:e=function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g;for(d=new du,l=new fU(n.d.b);l.a<l.c.c.length;)for(w=new fU(CY(RU(l),30).a);w.a<w.c.c.length;){for(b=CY(RU(w),10),r=CY(NR(n.f,b),60),u=new Le(Sb(JV(b).a.Kc(),new s));ncv(u);)if(i=ZQ((c=CY(_I(u),18)).a,0),h=!0,f=null,i.b!=i.d.c){for(t=CY(K0(i),8),e=null,c.c.j==(nf5(),n1t)&&((g=new nhM(t,new MH(t.a,r.d.d),r,c)).f.a=!0,g.a=c.c,dk(d.c,g)),c.c.j==n1m&&((g=new nhM(t,new MH(t.a,r.d.d+r.d.a),r,c)).f.d=!0,g.a=c.c,dk(d.c,g));i.b!=i.d.c;)e=CY(K0(i),8),!GV(t.b,e.b)&&(f=new nhM(t,e,null,c),dk(d.c,f),h&&(h=!1,e.b<r.d.d?f.f.a=!0:e.b>r.d.d+r.d.a?f.f.d=!0:(f.f.d=!0,f.f.a=!0))),i.b!=i.d.c&&(t=e);f&&(a=CY(NR(n.f,c.d.i),60),t.b<a.d.d?f.f.a=!0:t.b>a.d.d+a.d.a?f.f.d=!0:(f.f.d=!0,f.f.a=!0))}for(o=new Le(Sb(Jz(b).a.Kc(),new s));ncv(o);)0!=(c=CY(_I(o),18)).a.b&&(t=CY(S7(c.a),8),c.d.j==(nf5(),n1t)&&((g=new nhM(t,new MH(t.a,r.d.d),r,c)).f.a=!0,g.a=c.d,dk(d.c,g)),c.d.j==n1m&&((g=new nhM(t,new MH(t.a,r.d.d+r.d.a),r,c)).f.d=!0,g.a=c.d,dk(d.c,g)))}return d}(n);break;case 3:i=new du,vZ(xX(xz(UL(UL(new Aa(null,new R$(n.d.b,16)),new i1),new i0),new i2),new iB),new bo(i)),e=i;break;default:throw new px("Compaction not supported for "+t+" edges.").e}(function(n,t){var e,i,r,a,c,o,u,s,h;if(0!=t.c.length){for($O(),AO(t.c,t.c.length,null),i=CY(RU(r=new fU(t)),154);r.a<r.c.c.length;)(e=CY(RU(r),154),GV(i.e.c,e.e.c)&&!(Y9(PW(i.e).b,e.e.d)||Y9(PW(e.e).b,i.e.d)))?(Vc(i.k,e.k),Vc(i.b,e.b),Vc(i.c,e.c),Xx(i.i,e.i),Vc(i.d,e.d),Vc(i.j,e.j),a=nP_.Math.min(i.e.c,e.e.c),c=nP_.Math.min(i.e.d,e.e.d),o=nP_.Math.max(i.e.c+i.e.b,e.e.c+e.e.b)-a,u=nP_.Math.max(i.e.d+i.e.a,e.e.d+e.e.a)-c,Ir(i.e,a,c,o,u),s=i.f,h=e.f,s.b=s.b|h.b,s.c=s.c|h.c,s.d=s.d|h.d,s.a=s.a|h.a,i.a||(i.a=e.a),Vc(i.g,e.g),jB(i.g,e)):(nsH(n,i),i=e);nsH(n,i)}})(n,e),_r(new fS(n.g),new ba(n))}(a),a.a))).g=n.b,1===CY(niK(t,nBH),431).g)?i.c=new XT(n.a):($C(),i.c=nCH),r.g){case 1:ncq(i);break;case 2:ncq(nfX(i,(Ju(),nY9)));break;case 3:ncq(((c=nfX(ncq(i),(Ju(),nY9))).f=new i_,c));break;case 4:ncq(((o=nfX(ncq(i),(Ju(),nY9))).f=new bn(a),o));break;case 5:ncq((i.b=nDG,i))}nfX(i,(Ju(),nY8)),i.e=!0,function(n){var t,e,i,r,a,c;for(vZ(xX(new Aa(null,new R$(n.a.b,16)),new iG),new iq),!function(n){var t,e,i,r,a;for(i=new zM(new fP(n.b).a);i.b;)t=CY((e=Xu(i)).ld(),10),a=CY(CY(e.md(),42).a,10),r=CY(CY(e.md(),42).b,8),OT(Ta(t.n),OT(jv(a.n),r))}(n),vZ(xX(new Aa(null,new R$(n.a.b,16)),new iX),new iz),n.c==(JG(),nZu)&&(vZ(xX(UL(new Aa(null,new R$(new fS(n.f),1)),new iV),new iW),new br(n)),vZ(xX(xz(UL(UL(new Aa(null,new R$(n.d.b,16)),new iQ),new iJ),new iY),new iZ),new bc(n))),r=new MH(nwF,nwF),t=new MH(nw_,nw_),i=new fU(n.a.b);i.a<i.c.c.length;)e=CY(RU(i),60),r.a=nP_.Math.min(r.a,e.d.c),r.b=nP_.Math.min(r.b,e.d.d),t.a=nP_.Math.max(t.a,e.d.c+e.d.b),t.b=nP_.Math.max(t.b,e.d.d+e.d.a);for(OT(Ta(n.d.c),Ph(new MH(r.a,r.b))),OT(Ta(n.d.f),Oj(new MH(t.a,t.b),r)),a=new fU(n.a.b);a.a<a.c.c.length;)if((c=KC(CY(RU(a),60)))&&c.k==(ni8(),n$g))switch(CY(niK(c,(nlF(),nK_)),64).g){case 4:c.n.a=r.a;break;case 2:c.n.a=t.a-(c.o.a+c.d.c);break;case 1:c.n.b=r.b;break;case 3:c.n.b=t.b-(c.o.b+c.d.a)}LH(n.f),LH(n.b),LH(n.g),LH(n.e),n.a.a.c.length=0,n.a.b.c.length=0,n.a=null,n.d=null}(a),e.Vg()}}(this,CY(n,36),t)},Nj(nme,"HorizontalGraphCompactor",1586),ncm(1587,1,{},l7),nPB.ff=function(n,t){var e,i,r;return Uc(n,t)||(e=KC(n),i=KC(t),e&&e.k==(ni8(),n$g)||i&&i.k==(ni8(),n$g))?0:(r=CY(niK(this.a.a,(nlF(),nFf)),312),Fu(r,e?e.k:(ni8(),n$m),i?i.k:(ni8(),n$m),r.b))},nPB.gf=function(n,t){var e,i,r;return Uc(n,t)?1:(e=KC(n),i=KC(t),r=CY(niK(this.a.a,(nlF(),nFf)),312),Fu(r,e?e.k:(ni8(),n$m),i?i.k:(ni8(),n$m),r.c))},Nj(nme,"HorizontalGraphCompactor/1",1587),ncm(1588,1,{},i_),nPB.ef=function(n,t){return yc(),0==n.a.i},Nj(nme,"HorizontalGraphCompactor/lambda$0$Type",1588),ncm(1589,1,{},bn),nPB.ef=function(n,t){var e;return e=this.a,yc(),function(n,t){switch(t.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}(CY(NR(e.e,n),529),t)},Nj(nme,"HorizontalGraphCompactor/lambda$1$Type",1589),ncm(1730,1,{},H9),Nj(nme,"LGraphToCGraphTransformer",1730),ncm(1738,1,nbV,iB),nPB.Mb=function(n){return null!=n},Nj(nme,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),ncm(1731,1,{},iH),nPB.Kb=function(n){return CE(),J2(niK(CY(CY(n,60).g,10),(nlF(),nK6)))},Nj(nme,"LGraphToCGraphTransformer/lambda$0$Type",1731),ncm(1732,1,{},iU),nPB.Kb=function(n){return CE(),QR(CY(CY(n,60).g,154))},Nj(nme,"LGraphToCGraphTransformer/lambda$1$Type",1732),ncm(1741,1,nbV,iG),nPB.Mb=function(n){return CE(),jM(CY(n,60).g,10)},Nj(nme,"LGraphToCGraphTransformer/lambda$10$Type",1741),ncm(1742,1,nbE,iq),nPB.Cd=function(n){var t,e;t=CY(n,60),CE(),(e=CY(t.g,10)).n.a=t.d.c+e.d.b},Nj(nme,"LGraphToCGraphTransformer/lambda$11$Type",1742),ncm(1743,1,nbV,iX),nPB.Mb=function(n){return CE(),jM(CY(n,60).g,154)},Nj(nme,"LGraphToCGraphTransformer/lambda$12$Type",1743),ncm(1747,1,nbE,iz),nPB.Cd=function(n){var t,e,i;t=CY(n,60),CE(),e=t.d.c-t.e.c,Gd((i=CY(t.g,154)).b,new bt(e)),Gd(i.c,new be(e)),_r(i.i,new bi(e))},Nj(nme,"LGraphToCGraphTransformer/lambda$13$Type",1747),ncm(1744,1,nbE,bt),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,8),CE(),e.a+=t},nPB.a=0,Nj(nme,"LGraphToCGraphTransformer/lambda$14$Type",1744),ncm(1745,1,nbE,be),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,116),CE(),e.c+=t},nPB.a=0,Nj(nme,"LGraphToCGraphTransformer/lambda$15$Type",1745),ncm(1746,1,nbE,bi),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,8),CE(),e.a+=t},nPB.a=0,Nj(nme,"LGraphToCGraphTransformer/lambda$16$Type",1746),ncm(1748,1,{},iV),nPB.Kb=function(n){return CE(),new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(nme,"LGraphToCGraphTransformer/lambda$17$Type",1748),ncm(1749,1,nbV,iW),nPB.Mb=function(n){return CE(),_p(CY(n,18))},Nj(nme,"LGraphToCGraphTransformer/lambda$18$Type",1749),ncm(1750,1,nbE,br),nPB.Cd=function(n){var t,e,i,r,a;t=this.a,a=(e=CY(n,18)).c.i,r=(i=CY(NR(t.f,a),60)).d.c-i.e.c,XU(e.a,r,0)},Nj(nme,"LGraphToCGraphTransformer/lambda$19$Type",1750),ncm(1734,1,nbE,ba),nPB.Cd=function(n){var t,e,i;t=this.a,e=CY(n,154),i=CY(NR(t.g,e),60),Gd(e.d,new ky(t,i))},Nj(nme,"LGraphToCGraphTransformer/lambda$2$Type",1734),ncm(1751,1,{},iQ),nPB.Kb=function(n){return CE(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nme,"LGraphToCGraphTransformer/lambda$20$Type",1751),ncm(1752,1,{},iJ),nPB.Kb=function(n){return CE(),new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(nme,"LGraphToCGraphTransformer/lambda$21$Type",1752),ncm(1753,1,{},iY),nPB.Kb=function(n){return CE(),CY(niK(CY(n,18),(nlF(),nFw)),15)},Nj(nme,"LGraphToCGraphTransformer/lambda$22$Type",1753),ncm(1754,1,nbV,iZ),nPB.Mb=function(n){var t;return t=CY(n,15),CE(),!!t&&!t.dc()},Nj(nme,"LGraphToCGraphTransformer/lambda$23$Type",1754),ncm(1755,1,nbE,bc),nPB.Cd=function(n){!function(n,t){var e,i,r,a,c;if(!t.dc()){if(r=CY(t.Xb(0),131),1==t.gc())return noF(n,r,r,1,0,t);for(e=1;e<t.gc();)(r.j||!r.o)&&(a=function(n,t){var e,i;if(t<0||t>=n.gc())return null;for(e=t;e<n.gc();++e)if(i=CY(n.Xb(e),131),e==n.gc()-1||!i.o)return new Ea(Qx(e),i);return null}(t,e))&&(i=CY(a.a,17).a,noF(n,r,c=CY(a.b,131),e,i,t),e=i+1,r=c)}}(this.a,CY(n,15))},Nj(nme,"LGraphToCGraphTransformer/lambda$24$Type",1755),ncm(1733,1,nbE,ky),nPB.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,i=CY(n,154),r=CY(NR(t.g,i),60),jB(t.a.c,new Ea(e,r))},Nj(nme,"LGraphToCGraphTransformer/lambda$3$Type",1733),ncm(1735,1,{},i1),nPB.Kb=function(n){return CE(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nme,"LGraphToCGraphTransformer/lambda$4$Type",1735),ncm(1736,1,{},i0),nPB.Kb=function(n){return CE(),new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(nme,"LGraphToCGraphTransformer/lambda$5$Type",1736),ncm(1737,1,{},i2),nPB.Kb=function(n){return CE(),CY(niK(CY(n,18),(nlF(),nFw)),15)},Nj(nme,"LGraphToCGraphTransformer/lambda$6$Type",1737),ncm(1739,1,nbE,bo),nPB.Cd=function(n){!function(n,t){var e,i,r,a,c,o;for(CE(),e=null,r=t.Kc();r.Ob();)(i=CY(r.Pb(),131)).o||(jB((a=new nhM(new MH((c=i.a).c,c.d),new MH((o=i.a).c+o.b,o.d+o.a),null,CY(i.d.a.ec().Kc().Pb(),18))).c,i.a),dk(n.c,a),e&&jB(e.d,a),e=a)}(this.a,CY(n,15))},Nj(nme,"LGraphToCGraphTransformer/lambda$8$Type",1739),ncm(1740,1,nbE,kk),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,154),xM(t.g,i,e)},Nj(nme,"LGraphToCGraphTransformer/lambda$9$Type",1740),ncm(1729,1,{},i3),nPB.cf=function(n){var t,e,i,r,a;for(this.a=n,this.d=new dY,this.c=BJ(nCd,nl7,125,this.a.a.a.c.length,0,1),this.b=0,e=new fU(this.a.a.a);e.a<e.c.c.length;)(t=CY(RU(e),316)).d=this.b,a=SA(v4(new d0,t),this.d),this.c[this.b]=a,++this.b;for(!function(n){var t,e,i,r,a,c,o,u,s,h,f,l;for(r=new fU(n.a.a.b);r.a<r.c.c.length;)for(u=(i=CY(RU(r),60)).c.Kc();u.Ob();)o=CY(u.Pb(),60),i.a!=o.a&&(f=T$(n.a.d)?n.a.g.ff(i,o):n.a.g.gf(i,o),a=i.b.a+i.d.b+f-o.b.a,a=nP_.Math.ceil(a),a=nP_.Math.max(0,a),Uc(i,o)?(c=SA(new d0,n.d),t=(s=Dy(nP_.Math.ceil(o.b.a-i.b.a)))-(o.b.a-i.b.a),h=K7(i).a,e=i,h||(h=K7(o).a,t=-t,e=o),h&&(e.b.a-=t,h.n.a-=t),noI(v2(v0(v3(v1(new d1,nP_.Math.max(0,s)),1),c),n.c[i.a.d])),noI(v2(v0(v3(v1(new d1,nP_.Math.max(0,-s)),1),c),n.c[o.a.d]))):(l=1,(jM(i.g,154)&&jM(o.g,10)||jM(o.g,154)&&jM(i.g,10))&&(l=2),noI(v2(v0(v3(v1(new d1,Dy(a)),l),n.c[i.a.d]),n.c[o.a.d]))))}(this),!function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m;for(h=new dc,o=new Ds,i=new fU(n.a.a.b);i.a<i.c.c.length;)if(u=KC(t=CY(RU(i),60)))nr3(h.f,u,t);else if(m=K7(t))for(r=new fU(m.k);r.a<r.c.c.length;)naR(o,CY(RU(r),18),t);for(e=new fU(n.a.a.b);e.a<e.c.c.length;)if(u=KC(t=CY(RU(e),60))){for(c=new Le(Sb(JV(u).a.Kc(),new s));ncv(c);)if(!_p(a=CY(_I(c),18))&&(w=a.c,p=a.d,!((nf5(),n1l).Hc(a.c.j)&&n1l.Hc(a.d.j)))){if(d=CY(NR(h,a.d.i),60),noI(v2(v0(v3(v1(new d1,0),100),n.c[t.a.d]),n.c[d.a.d])),w.j==n1y&&Lw((X8(),w))){for(l=CY(_G(o,a),21).Kc();l.Ob();)if((f=CY(l.Pb(),60)).d.c<t.d.c){if((b=n.c[f.a.d])==(g=n.c[t.a.d]))continue;noI(v2(v0(v3(v1(new d1,1),100),b),g))}}if(p.j==n1n&&Ld((X8(),p))){for(l=CY(_G(o,a),21).Kc();l.Ob();)if((f=CY(l.Pb(),60)).d.c>t.d.c){if((b=n.c[t.a.d])==(g=n.c[f.a.d]))continue;noI(v2(v0(v3(v1(new d1,1),100),b),g))}}}}}(this),!function(n){var t,e,i,r,a,c,o;for(a=new vq,r=new fU(n.d.a);r.a<r.c.c.length;)0==(i=CY(RU(r),125)).b.a.c.length&&F_(a,i,a.c.b,a.c);if(a.b>1)for(t=SA((e=new d0,++n.b,e),n.d),o=ZQ(a,0);o.b!=o.d.c;)c=CY(K0(o),125),noI(v2(v0(v3(v1(new d1,1),0),t),c))}(this),nsd(Cv(this.d),new gz),r=new fU(this.a.a.b);r.a<r.c.c.length;)(i=CY(RU(r),60)).d.c=this.c[i.a.d].e+i.b.a},nPB.b=0,Nj(nme,"NetworkSimplexCompaction",1729),ncm(154,1,{34:1,154:1},nhM),nPB.Fd=function(n){var t,e;return t=CY(n,154),0==(e=JU(this.e.c,t.e.c))?Jj(this.e.d,t.e.d):e},nPB.Ib=function(){return QR(this)},Nj(nme,"VerticalSegment",154),ncm(841,1,{},nin),nPB.c=0,nPB.e=0,nPB.i=0,Nj(nmi,"BetweenLayerEdgeTwoNodeCrossingsCounter",841),ncm(677,1,{677:1},zi),nPB.Ib=function(){return"AdjacencyList [node="+this.d+", adjacencies= "+this.a+"]"},nPB.b=0,nPB.c=0,nPB.f=0,Nj(nmi,"BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList",677),ncm(294,1,{34:1,294:1},Pc),nPB.Fd=function(n){var t;return t=CY(n,294),this.c<t.c?-1:+(this.c!=t.c)},nPB.Ib=function(){return"Adjacency [position="+this.c+", cardinality="+this.a+", currentCardinality="+this.b+"]"},nPB.a=0,nPB.b=0,nPB.c=0,Nj(nmi,"BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList/Adjacency",294),ncm(2026,1,{},nrv),nPB.b=0,nPB.e=!1,Nj(nmi,"CrossingMatrixFiller",2026);var nAl=IH(nmr,"IInitializable");ncm(1867,1,nma,kE),nPB.gg=function(n,t,e,i,r,a){},nPB.ig=function(n,t,e){},nPB.eg=function(){return this.c!=(qp(),nqh)},nPB.fg=function(){this.e=BJ(n4s,nwl,28,this.d,15,1)},nPB.hg=function(n,t){t[n][0].c.p=n},nPB.jg=function(n,t,e,i){++this.d},nPB.kg=function(){return!0},nPB.lg=function(n,t,e,i){var r,a;Qw(this,n,t,e),a=!1;do a|=r=VF(this,t);while(r)return a},nPB.mg=function(n,t){var e,i;return i=n.length,Qw(this,n,e=t?0:i-1,t),VF(this,e)},nPB.d=0,Nj(nmi,"GreedySwitchHeuristic",1867),ncm(2029,1,{},Ai),nPB.b=0,nPB.d=0,Nj(nmi,"NorthSouthEdgeNeighbouringNodeCrossingsCounter",2029),ncm(2016,1,{},nuj),nPB.a=!1,Nj(nmi,"SwitchDecider",2016),ncm(105,1,{105:1},nrC),nPB.a=null,nPB.c=null,nPB.i=null,Nj(nmc,"SelfHyperLoop",105),ncm(2013,1,{},Z$),nPB.c=0,nPB.e=0,Nj(nmc,"SelfHyperLoopLabels",2013),ncm(421,22,{3:1,34:1,22:1,421:1},kT);var nAb=qc(nmc,"SelfHyperLoopLabels/Alignment",421,nPw,function(){return Vg(),Vw(DY(nAb,1),nbG,421,0,[nDz,nDV,nDW,nDQ])},function(n){return Vg(),qa((HN(),nDJ),n)});ncm(340,1,{340:1},_9),Nj(nmc,"SelfLoopEdge",340),ncm(337,1,{337:1},ZD),nPB.a=!1,Nj(nmc,"SelfLoopHolder",337),ncm(1790,1,nbV,ra),nPB.Mb=function(n){return _p(CY(n,18))},Nj(nmc,"SelfLoopHolder/lambda$0$Type",1790),ncm(113,1,{113:1},ZY),nPB.a=!1,nPB.c=!1,Nj(nmc,"SelfLoopPort",113),ncm(1855,1,nbV,rc),nPB.Mb=function(n){return _p(CY(n,18))},Nj(nmc,"SelfLoopPort/lambda$0$Type",1855),ncm(375,22,{3:1,34:1,22:1,375:1},kj);var nAw=qc(nmc,"SelfLoopType",375,nPw,function(){return ne2(),Vw(DY(nAw,1),nbG,375,0,[nDZ,nD0,nD2,nD1,nDY])},function(n){return ne2(),qa((Uq(),nD3),n)});ncm(1798,1,{},hb),Nj(nmo,"PortRestorer",1798),ncm(372,22,{3:1,34:1,22:1,372:1},kS);var nAd=qc(nmo,"PortRestorer/PortSideArea",372,nPw,function(){return Xa(),Vw(DY(nAd,1),nbG,372,0,[nRn,nD7,nD9])},function(n){return Xa(),qa((Bv(),nRt),n)});ncm(1799,1,{},i6),nPB.Kb=function(n){return niY(),CY(n,15).Oc()},Nj(nmo,"PortRestorer/lambda$0$Type",1799),ncm(1800,1,nbE,i5),nPB.Cd=function(n){niY(),CY(n,113).c=!1},Nj(nmo,"PortRestorer/lambda$1$Type",1800),ncm(1809,1,nbV,i8),nPB.Mb=function(n){return niY(),CY(n,12).j==(nf5(),n1y)},Nj(nmo,"PortRestorer/lambda$10$Type",1809),ncm(1810,1,{},i9),nPB.Kb=function(n){return niY(),CY(n,113).d},Nj(nmo,"PortRestorer/lambda$11$Type",1810),ncm(1811,1,nbE,bu),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,12),niY(),Ro(e,t)},Nj(nmo,"PortRestorer/lambda$12$Type",1811),ncm(1801,1,nbE,bs),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,105),niY(),naR(t,e.e,e)},Nj(nmo,"PortRestorer/lambda$2$Type",1801),ncm(1802,1,ndy,i7),nPB.Ne=function(n,t){var e,i;return e=CY(n,113),i=CY(t,113),niY(),jo(e.b.c.length-e.e.c.length,i.b.c.length-i.e.c.length)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmo,"PortRestorer/lambda$3$Type",1802),ncm(1803,1,nbV,rn),nPB.Mb=function(n){return niY(),CY(n,113).c},Nj(nmo,"PortRestorer/lambda$4$Type",1803),ncm(1804,1,nbV,rt),nPB.Mb=function(n){var t,e,i,r;return(t=CY(n,12)).j==(nf5(),n1t)&&(i=SD(e=ncr(t),n1n),(r=SD(e,n1y))||r&&i)},Nj(nmo,"PortRestorer/lambda$5$Type",1804),ncm(1805,1,nbV,i4),nPB.Mb=function(n){return niY(),CY(n,12).j==(nf5(),n1t)},Nj(nmo,"PortRestorer/lambda$6$Type",1805),ncm(1806,1,nbV,re),nPB.Mb=function(n){return niY(),CY(n,12).j==(nf5(),n1n)},Nj(nmo,"PortRestorer/lambda$7$Type",1806),ncm(1807,1,nbV,ri),nPB.Mb=function(n){var t=CY(n,12);return t.j==(nf5(),n1m)&&SD(ncr(t),n1n)},Nj(nmo,"PortRestorer/lambda$8$Type",1807),ncm(1808,1,nbV,rr),nPB.Mb=function(n){return niY(),CY(n,12).j==(nf5(),n1m)},Nj(nmo,"PortRestorer/lambda$9$Type",1808),ncm(276,22,{3:1,34:1,22:1,276:1},x7);var nAg=qc(nmo,"PortSideAssigner/Target",276,nPw,function(){return nut(),Vw(DY(nAg,1),nbG,276,0,[nRi,nRc,nRe,nRs,nRa,nRr,nRu,nRo])},function(n){return nut(),qa((zg(),nRh),n)});ncm(1791,1,{},ru),nPB.Kb=function(n){return xX(new Aa(null,new R$(CY(n,105).j,16)),new rb)},Nj(nmo,"PortSideAssigner/lambda$1$Type",1791),ncm(1792,1,{},rs),nPB.Kb=function(n){return CY(n,113).d},Nj(nmo,"PortSideAssigner/lambda$2$Type",1792),ncm(1793,1,nbE,rh),nPB.Cd=function(n){nau(CY(n,12),(nf5(),n1t))},Nj(nmo,"PortSideAssigner/lambda$3$Type",1793),ncm(1794,1,{},rf),nPB.Kb=function(n){return CY(n,113).d},Nj(nmo,"PortSideAssigner/lambda$4$Type",1794),ncm(1795,1,nbE,bh),nPB.Cd=function(n){var t;t=this.a,nau(CY(n,12),t)},Nj(nmo,"PortSideAssigner/lambda$5$Type",1795),ncm(1796,1,ndy,ro),nPB.Ne=function(n,t){var e;return e=CY(n,105),jo(CY(t,105).j.c.length,e.j.c.length)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmo,"PortSideAssigner/lambda$6$Type",1796),ncm(1797,1,ndy,rl),nPB.Ne=function(n,t){var e,i;return e=CY(n,113),i=CY(t,113),jo(Ix(e.d),Ix(i.d))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmo,"PortSideAssigner/lambda$7$Type",1797),ncm(820,1,nbV,rb),nPB.Mb=function(n){return CY(n,113).c},Nj(nmo,"PortSideAssigner/lambda$8$Type",820),ncm(2108,1,{}),Nj(nmu,"AbstractSelfLoopRouter",2108),ncm(1816,1,ndy,rw),nPB.Ne=function(n,t){var e,i;return e=CY(n,105),i=CY(t,105),jo(e.a.d.p,i.a.d.p)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmu,nd9,1816),ncm(1817,1,ndy,rd),nPB.Ne=function(n,t){var e;return e=CY(n,105),jo(CY(t,105).a.d.p,e.a.d.p)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmu,nd7,1817),ncm(1856,2108,{},rg),nPB.ng=function(n,t,e){return e},Nj(nmu,"OrthogonalSelfLoopRouter",1856),ncm(1858,1,nbE,kM),nPB.Cd=function(n){Zj(this.b,this.a,CY(n,8))},Nj(nmu,"OrthogonalSelfLoopRouter/lambda$0$Type",1858),ncm(1857,1856,{},rp),nPB.ng=function(n,t,e){var i,r;return S2(e,0,OT(jv((i=n.c.d).n),i.a)),IA(e,OT(jv((r=n.d.d).n),r.a)),function(n){var t,e,i,r,a,c,o,u;for(u=new gj,t=ZQ(n,0),o=null,e=CY(K0(t),8),r=CY(K0(t),8);t.b!=t.d.c;)o=e,e=r,r=CY(K0(t),8),a=Gf(Oj(new MH(o.a,o.b),e)),c=Gf(Oj(new MH(r.a,r.b),e)),i=10,i=nP_.Math.min(i,nP_.Math.abs(a.a+a.b)/2),i=nP_.Math.min(i,nP_.Math.abs(c.a+c.b)/2),a.a=ID(a.a)*i,a.b=ID(a.b)*i,c.a=ID(c.a)*i,c.b=ID(c.b)*i,IA(u,OT(a,e)),IA(u,OT(c,e));return u}(e)},Nj(nmu,"PolylineSelfLoopRouter",1857),ncm(1812,1,{},hw),nPB.a=null,Nj(nmu,"RoutingDirector",1812),ncm(1813,1,ndy,rm),nPB.Ne=function(n,t){var e,i;return e=CY(n,113),i=CY(t,113),yo(),jo(e.d.p,i.d.p)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmu,"RoutingDirector/lambda$0$Type",1813),ncm(1814,1,{},rv),nPB.Kb=function(n){return yo(),CY(n,105).j},Nj(nmu,"RoutingDirector/lambda$1$Type",1814),ncm(1815,1,nbE,ry),nPB.Cd=function(n){yo(),CY(n,15).jd(nRf)},Nj(nmu,"RoutingDirector/lambda$2$Type",1815),ncm(1818,1,{},rk),Nj(nmu,"RoutingSlotAssigner",1818),ncm(1819,1,nbV,bf),nPB.Mb=function(n){var t;return t=this.a,SD(CY(n,105).b,t)},Nj(nmu,"RoutingSlotAssigner/lambda$0$Type",1819),ncm(1820,1,ndy,bl),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,105),r=CY(t,105),jo(i.d[e.g],r.d[e.g])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmu,"RoutingSlotAssigner/lambda$1$Type",1820),ncm(1859,1856,{},rM),nPB.ng=function(n,t,e){var i,r,a,c;return i=pj(PI(Z9(n.b.g.b,(nlL(),nUk)))),c=new Pl(Vw(DY(nLA,1),nby,8,0,[OT(new TP((a=n.c.d).n),a.a)])),!function(n,t,e,i,r){var a,c,o,u,s;for(s=1,a=n.c.d.j,c=CY(nnt(e,0),8);s<e.b;s++)u=CY(nnt(e,s),8),F_(i,c,i.c.b,i.c),o=j_(OT(new TP(c),u),.5),OT(o,j_(new RE(Wg(a)),r)),F_(i,o,i.c.b,i.c),c=u,a=0==t?Jd(a):Jb(a);IA(i,(Px(0!=e.b),CY(e.c.b.c,8)))}(n,t,e,c,i),IA(c,OT(new TP((r=n.d.d).n),r.a)),nnY(new nhw(c))},Nj(nmu,"SplineSelfLoopRouter",1859),ncm(586,1,ndy,XM,Is),nPB.Ne=function(n,t){return nlM(this,CY(n,10),CY(t,10))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nms,"ModelOrderNodeComparator",586),ncm(1821,1,nbV,rE),nPB.Mb=function(n){return 0!=CY(n,12).e.c.length},Nj(nms,"ModelOrderNodeComparator/lambda$0$Type",1821),ncm(821,1,ndy,Qi,KQ),nPB.Ne=function(n,t){return Lb(this,n,t)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},nPB.b=!1,Nj(nms,"ModelOrderPortComparator",821),ncm(815,1,{},rT),nPB.og=function(n,t){var e,i,r,a;for(i=1,r=nrc(t),e=new du,a=t.f/r;i<r;++i)jB(e,Qx(AW(zF(nP_.Math.round(i*a)))));return e},nPB.pg=function(){return!1},Nj(nmh,"ARDCutIndexHeuristic",815),ncm(1544,1,npR,rj),nPB.Kf=function(n,t){!function(n,t){var e,i,r;switch(t.Ug("Breaking Point Insertion",1),i=new ncM(n),CY(niK(n,(nlL(),nUq)),351).g){case 2:r=new rx;break;case 0:r=new rT;break;default:r=new r$}if(e=r.og(n,i),pT(PC(niK(n,nUz)))&&(e=function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k;for(l=new du,r=new du,d=null,c=t.Kc();c.Ob();)a=new bM(CY(c.Pb(),17).a),dk(r.c,a),d&&(a.d=d,d.e=a),d=a;for(h=0,v=function(n){var t,e,i,r,a,c,o,u,h;for(h=BJ(n4s,nwl,28,n.b.c.length+1,15,1),u=new dV,i=0,a=new fU(n.b);a.a<a.c.c.length;){for(r=CY(RU(a),30),h[i++]=u.a.gc(),o=new fU(r.a);o.a<o.c.c.length;)for(e=new Le(Sb(JV(CY(RU(o),10)).a.Kc(),new s));ncv(e);)t=CY(_I(e),18),u.a.zc(t,u);for(c=new fU(r.a);c.a<c.c.c.length;)for(e=new Le(Sb(Jz(CY(RU(c),10)).a.Kc(),new s));ncv(e);)t=CY(_I(e),18),u.a.Bc(t)}return h}(n);h<r.c.length;++h){for(f=1,b=null,g=Bt((RN(0,r.c.length),CY(r.c[0],661))),e=null,i=nwF;f<n.b.c.length;++f)p=g?nP_.Math.abs(g.b-f):nP_.Math.abs(f-b.b)+1,(w=b?nP_.Math.abs(f-b.b):p+1)<p?(u=b,o=w):(u=g,o=p),y=pj(PI(niK(n,(nlL(),nUX)))),(m=v[f]+nP_.Math.pow(o,y))<i&&(i=m,(e=u).c=f),g&&f==g.b&&(b=g,g=(k=g).e?Bt(k.e):null);e&&(jB(l,Qx(e.c)),e.a=!0,function(n){var t;if(!n.a)throw new px("Cannot offset an unassigned cut.").e;t=n.c-n.b,n.b+=t,function n(t,e){if(t.d&&!t.d.a){var i;i=t.d,i.b+=e,n(t.d,e)}}(n,t),function n(t,e){if(t.e&&!t.e.a){var i;i=t.e,i.b+=e,n(t.e,e)}}(n,t)}(e))}return $O(),AO(l.c,l.c.length,null),l}(n,e)),!r.pg()&&Pn(n,nUJ))switch(CY(niK(n,nUJ),352).g){case 2:e=nas(i,e);break;case 1:e=ne3(i,e)}e.dc()||function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C;for(m=new Kp(n.b,0),f=t.Kc(),d=0,h=CY(f.Pb(),17).a,k=0,e=new dV,E=new TE;m.b<m.d.gc();){for(Px(m.b<m.d.gc()),y=new fU(CY(m.d.Xb(m.c=m.b++),30).a);y.a<y.c.c.length;){for(w=new Le(Sb(JV(v=CY(RU(y),10)).a.Kc(),new s));ncv(w);)l=CY(_I(w),18),E.a.zc(l,E);for(b=new Le(Sb(Jz(v).a.Kc(),new s));ncv(b);)l=CY(_I(b),18),E.a.Bc(l)}if(d+1==h){for(Oe(m,r=new NU(n)),Oe(m,a=new NU(n)),j=E.a.ec().Kc();j.Ob();)T=CY(j.Pb(),18),e.a._b(T)||(++k,e.a.zc(T,e)),VD(c=new nn_(n),(nlL(),nUt),(nie(),nZZ)),Rc(c,r),ni8(),c.k=n$d,Ro(g=new nro,c),nau(g,(nf5(),n1y)),Ro(S=new nro,c),nau(S,n1n),VD(i=new nn_(n),nUt,nZZ),Rc(i,a),i.k=n$d,Ro(p=new nro,i),nau(p,n1y),Ro(P=new nro,i),nau(P,n1n),Ra(M=new $1,T.c),Ru(M,g),VD(M,(nlF(),nK4),CY(niK(T,nK4),17)),Ra(C=new $1,S),Ru(C,p),VD(C,nK4,CY(niK(T,nK4),17)),Ra(T,P),o=new Fb(c,i,M,C,T),VD(c,nKP,o),VD(i,nKP,o),(O=M.c.i).k==n$d&&((u=CY(niK(O,nKP),313)).d=o,o.g=u);if(f.Ob())h=CY(f.Pb(),17).a;else break}++d}Qx(k)}(n,e),t.Vg()}(CY(n,36),t)},Nj(nmh,"BreakingPointInserter",1544),ncm(313,1,{313:1},Fb),nPB.Ib=function(){var n;return n=new p2,n.a+="BPInfo[",n.a+="\n start=",EJ(n,this.i),n.a+="\n end=",EJ(n,this.a),n.a+="\n nodeStartEdge=",EJ(n,this.e),n.a+="\n startEndEdge=",EJ(n,this.j),n.a+="\n originalEdge=",EJ(n,this.f),n.a+="\n startInLayerDummy=",EJ(n,this.k),n.a+="\n startInLayerEdge=",EJ(n,this.n),n.a+="\n endInLayerDummy=",EJ(n,this.b),n.a+="\n endInLayerEdge=",EJ(n,this.c),n.a},Nj(nmh,"BreakingPointInserter/BPInfo",313),ncm(661,1,{661:1},bM),nPB.a=!1,nPB.b=0,nPB.c=0,Nj(nmh,"BreakingPointInserter/Cut",661),ncm(1545,1,npR,rS),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a;if(t.Ug("Breaking Point Processor",1),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p;for(Oe(u=new Kp(s=n.b,0),new NU(n)),g=!1,a=1;u.b<u.d.gc();){for(Px(u.b<u.d.gc()),o=CY(u.d.Xb(u.c=u.b++),30),RN(a,s.c.length),b=CY(s.c[a],30),d=(w=RR(o.a)).c.length,l=new fU(w);l.a<l.c.c.length;)Rc(h=CY(RU(l),10),b);if(g){for(f=Yi(w).Kc();f.Ob();)for(r=new fU(RR(Jz(h=CY(f.Pb(),10))));r.a<r.c.c.length;)nhf(i=CY(RU(r),18),!0),VD(n,(nlF(),nKN),(SB(),!0)),e=nfb(n,i,d),(t=CY(niK(h,nKP),313)).k=(p=CY(I0(e,e.c.length-1),18)).c.i,t.n=p,t.b=i.d.i,t.c=i;g=!1}else 0!=w.c.length&&(RN(0,w.c.length),CY(w.c[0],10).k==(ni8(),n$d)&&(g=!0,a=-1));++a}for(c=new Kp(n.b,0);c.b<c.d.gc();)Px(c.b<c.d.gc()),0==CY(c.d.Xb(c.c=c.b++),30).a.c.length&&N6(c)}(n),pT(PC(niK(n,(nlL(),nUV))))){for(r=new fU(n.b);r.a<r.c.c.length;)for(i=CY(RU(r),30),e=0,a=new fU(i.a);a.a<a.c.c.length;)CY(RU(a),10).p=e++;(function(n){var t,e,i,r,a,c,o;for(i=new fU(n.b);i.a<i.c.c.length;)for(a=new fU(RR(CY(RU(i),30).a));a.a<a.c.c.length;)if(UU(r=CY(RU(a),10))&&!(e=CY(niK(r,(nlF(),nKP)),313)).g&&e.d)for(t=e,o=e.d;o;)nuk(o.i,o.k,!1,!0),Ut(t.a),Ut(o.i),Ut(o.k),Ut(o.b),Ru(o.c,t.c.d),Ru(t.c,null),Rc(t.a,null),Rc(o.i,null),Rc(o.k,null),Rc(o.b,null),(c=new Fb(t.i,o.a,t.e,o.j,o.f)).k=t.k,c.n=t.n,c.b=t.b,c.c=o.c,c.g=t.g,c.d=o.d,VD(t.i,nKP,c),VD(o.a,nKP,c),o=o.d,t=c})(n),no_(n,!0),no_(n,!1)}t.Vg()}(CY(n,36),t)},Nj(nmh,"BreakingPointProcessor",1545),ncm(1546,1,nbV,rP),nPB.Mb=function(n){return UH(CY(n,10))},Nj(nmh,"BreakingPointProcessor/0methodref$isEnd$Type",1546),ncm(1547,1,nbV,rO),nPB.Mb=function(n){return UU(CY(n,10))},Nj(nmh,"BreakingPointProcessor/1methodref$isStart$Type",1547),ncm(1548,1,npR,rC),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c;for(e.Ug("Breaking Point Removing",1),n.a=CY(niK(t,(nlL(),nHu)),223),r=new fU(t.b);r.a<r.c.c.length;)for(c=new fU(RR(CY(RU(r),30).a));c.a<c.c.c.length;)UH(a=CY(RU(c),10))&&((i=CY(niK(a,(nlF(),nKP)),313)).d||function n(t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;switch(f=new gj,t.a.g){case 3:b=CY(niK(e.e,(nlF(),nFw)),15),w=CY(niK(e.j,nFw),15),d=CY(niK(e.f,nFw),15),i=CY(niK(e.e,nFl),15),r=CY(niK(e.j,nFl),15),a=CY(niK(e.f,nFl),15),Vc(o=new du,b),w.Jc(new rI),Vc(o,Yi(w)),Vc(o,d),Vc(c=new du,i),Vc(c,Yi(r)),Vc(c,a),VD(e.f,nFw,o),VD(e.f,nFl,c),VD(e.f,nFd,e.f),VD(e.e,nFw,null),VD(e.e,nFl,null),VD(e.j,nFw,null),VD(e.j,nFl,null);break;case 1:Xx(f,e.e.a),IA(f,e.i.n),Xx(f,Yi(e.j.a)),IA(f,e.a.n),Xx(f,e.f.a);break;default:Xx(f,e.e.a),Xx(f,Yi(e.j.a)),Xx(f,e.f.a)}$p(e.f.a),Xx(e.f.a,f),Ra(e.f,e.e.c),u=CY(niK(e.e,(nlL(),nHP)),75),h=CY(niK(e.j,nHP),75),s=CY(niK(e.f,nHP),75),(u||h||s)&&(Nn(l=new gj,s),Nn(l,h),Nn(l,u),VD(e.f,nHP,l)),Ra(e.j,null),Ru(e.j,null),Ra(e.e,null),Ru(e.e,null),Rc(e.a,null),Rc(e.i,null),e.g&&n(t,e.g)}(n,i));e.Vg()}(this,CY(n,36),t)},Nj(nmh,"BreakingPointRemover",1548),ncm(1549,1,nbE,rI),nPB.Cd=function(n){CY(n,131).k=!0},Nj(nmh,"BreakingPointRemover/lambda$0$Type",1549),ncm(811,1,{},ncM),nPB.b=0,nPB.e=0,nPB.f=0,nPB.j=0,Nj(nmh,"GraphStats",811),ncm(812,1,{},rA),nPB.Ve=function(n,t){return nP_.Math.max(pj(PI(n)),pj(PI(t)))},Nj(nmh,"GraphStats/0methodref$max$Type",812),ncm(813,1,{},rL),nPB.Ve=function(n,t){return nP_.Math.max(pj(PI(n)),pj(PI(t)))},Nj(nmh,"GraphStats/2methodref$max$Type",813),ncm(1726,1,{},rN),nPB.Ve=function(n,t){var e,i;return e=PI(n),i=PI(t),xf(e),e+(xf(i),i)},Nj(nmh,"GraphStats/lambda$1$Type",1726),ncm(1727,1,{},bb),nPB.Kb=function(n){return ZZ(this.a,CY(n,30))},Nj(nmh,"GraphStats/lambda$2$Type",1727),ncm(1728,1,{},bw),nPB.Kb=function(n){return nof(this.a,CY(n,30))},Nj(nmh,"GraphStats/lambda$6$Type",1728),ncm(814,1,{},rx),nPB.og=function(n,t){return CY(niK(n,(nlL(),nUU)),15)||($O(),$O(),nO_)},nPB.pg=function(){return!1},Nj(nmh,"ICutIndexCalculator/ManualCutIndexCalculator",814),ncm(816,1,{},r$),nPB.og=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(null==t.n&&nto(t),y=t.n,null==t.d&&nto(t),u=t.d,(v=BJ(n4b,nwX,28,y.length,15,1))[0]=y[0],p=y[0],s=1;s<y.length;s++)v[s]=v[s-1]+y[s],p+=y[s];for(r=nrc(t)-1,c=CY(niK(n,(nlL(),nUG)),17).a,i=nw_,e=new du,l=nP_.Math.max(0,r-c);l<=nP_.Math.min(t.f-1,r+c);l++){if(d=p/(l+1),g=0,h=1,a=new du,m=nw_,f=0,o=0,w=u[0],0==l)m=p,null==t.g&&(t.g=XB(t,new rL)),o=pj(t.g);else{for(;h<t.f;)v[h-1]-g>=d&&(jB(a,Qx(h)),m=nP_.Math.max(m,v[h-1]-f),o+=w,g+=v[h-1]-g,f=v[h-1],w=u[h]),w=nP_.Math.max(w,u[h]),++h;o+=w}(b=nP_.Math.min(1/m,1/t.b/o))>i&&(i=b,e=a)}return e},nPB.pg=function(){return!1},Nj(nmh,"MSDCutIndexHeuristic",816),ncm(1683,1,npR,rD),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a;if(t.Ug("Path-Like Graph Wrapping",1),0==n.b.c.length||(null==(r=new ncM(n)).i&&(r.i=XH(r,new rA)),e=pj(r.i)*r.f/(null==r.i&&(r.i=XH(r,new rA)),pj(r.i)),r.b>e))return t.Vg();switch(CY(niK(n,(nlL(),nUq)),351).g){case 2:a=new rx;break;case 0:a=new rT;break;default:a=new r$}if(i=a.og(n,r),!a.pg())switch(CY(niK(n,nUJ),352).g){case 2:i=nas(r,i);break;case 1:i=ne3(r,i)}(function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(!e.dc()){for(c=0,h=0,l=CY((i=e.Kc()).Pb(),17).a;c<t.f;){if(c==l&&(h=0,l=i.Ob()?CY(i.Pb(),17).a:t.f+1),c!=h){for(b=CY(I0(n.b,c),30),f=CY(I0(n.b,h),30),s=new fU(RR(b.a));s.a<s.c.c.length;)if(ntX(u=CY(RU(s),10),f.a.c.length,f),0==h)for(a=new fU(RR(Jz(u)));a.a<a.c.c.length;)nhf(r=CY(RU(a),18),!0),VD(n,(nlF(),nKN),(SB(),!0)),nfb(n,r,1)}++h,++c}for(o=new Kp(n.b,0);o.b<o.d.gc();)Px(o.b<o.d.gc()),0==CY(o.d.Xb(o.c=o.b++),30).a.c.length&&N6(o)}})(n,r,i),t.Vg()}(CY(n,36),t)},Nj(nmh,"SingleEdgeGraphWrapper",1683),ncm(232,22,{3:1,34:1,22:1,232:1},kO);var nAp=qc(nmf,"CenterEdgeLabelPlacementStrategy",232,nPw,function(){return nr_(),Vw(DY(nAp,1),nbG,232,0,[nRw,nRg,nRb,nRd,nRp,nRl])},function(n){return nr_(),qa((GD(),nRm),n)});ncm(431,22,{3:1,34:1,22:1,431:1},kP);var nAm=qc(nmf,"ConstraintCalculationStrategy",431,nPw,function(){return Bg(),Vw(DY(nAm,1),nbG,431,0,[nRv,nRy])},function(n){return Bg(),qa((F1(),nRk),n)});ncm(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},kC),nPB.dg=function(){return nag(this)},nPB.qg=function(){return nag(this)};var nAv=qc(nmf,"CrossingMinimizationStrategy",322,nPw,function(){return q$(),Vw(DY(nAv,1),nbG,322,0,[nRE,nRM,nRT])},function(n){return q$(),qa((Bp(),nRj),n)});ncm(351,22,{3:1,34:1,22:1,351:1},kI);var nAy=qc(nmf,"CuttingStrategy",351,nPw,function(){return qv(),Vw(DY(nAy,1),nbG,351,0,[nRS,nRO,nRP])},function(n){return qv(),qa((Bm(),nRC),n)});ncm(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},kA),nPB.dg=function(){return ncC(this)},nPB.qg=function(){return ncC(this)};var nAk=qc(nmf,"CycleBreakingStrategy",348,nPw,function(){return Zo(),Vw(DY(nAk,1),nbG,348,0,[nRA,nRI,nRN,nRx,nRL])},function(n){return Zo(),qa((UX(),nR$),n)});ncm(428,22,{3:1,34:1,22:1,428:1},kL);var nAM=qc(nmf,"DirectionCongruency",428,nPw,function(){return U4(),Vw(DY(nAM,1),nbG,428,0,[nRD,nRR])},function(n){return U4(),qa((FQ(),nRK),n)});ncm(460,22,{3:1,34:1,22:1,460:1},kN);var nAE=qc(nmf,"EdgeConstraint",460,nPw,function(){return VH(),Vw(DY(nAE,1),nbG,460,0,[nR_,nRF,nRB])},function(n){return VH(),qa((By(),nRH),n)});ncm(283,22,{3:1,34:1,22:1,283:1},kx);var nAT=qc(nmf,"EdgeLabelSideSelection",283,nPw,function(){return nrt(),Vw(DY(nAT,1),nbG,283,0,[nRG,nRU,nRX,nRq,nRV,nRz])},function(n){return nrt(),qa((GR(),nRW),n)});ncm(488,22,{3:1,34:1,22:1,488:1},k$);var nAj=qc(nmf,"EdgeStraighteningStrategy",488,nPw,function(){return HR(),Vw(DY(nAj,1),nbG,488,0,[nRJ,nRQ])},function(n){return HR(),qa((FJ(),nRY),n)});ncm(281,22,{3:1,34:1,22:1,281:1},kD);var nAS=qc(nmf,"FixedAlignment",281,nPw,function(){return neR(),Vw(DY(nAS,1),nbG,281,0,[nR2,nR0,nR4,nR1,nR3,nRZ])},function(n){return neR(),qa((GK(),nR6),n)});ncm(282,22,{3:1,34:1,22:1,282:1},kR);var nAP=qc(nmf,"GraphCompactionStrategy",282,nPw,function(){return ni2(),Vw(DY(nAP,1),nbG,282,0,[nKn,nR8,nKt,nR7,nR9,nR5])},function(n){return ni2(),qa((GF(),nKe),n)});ncm(259,22,{3:1,34:1,22:1,259:1},kK);var nAO=qc(nmf,"GraphProperties",259,nPw,function(){return no7(),Vw(DY(nAO,1),nbG,259,0,[nKr,nKc,nKo,nKu,nKs,nKh,nKl,nKi,nKa,nKf])},function(n){return no7(),qa((V_(),nKb),n)});ncm(299,22,{3:1,34:1,22:1,299:1},kF);var nAC=qc(nmf,"GreedySwitchType",299,nPw,function(){return zJ(),Vw(DY(nAC,1),nbG,299,0,[nKd,nKg,nKw])},function(n){return zJ(),qa((Bk(),nKp),n)});ncm(311,22,{3:1,34:1,22:1,311:1},k_);var nAI=qc(nmf,"InLayerConstraint",311,nPw,function(){return UM(),Vw(DY(nAI,1),nbG,311,0,[nKv,nKy,nKm])},function(n){return UM(),qa((BM(),nKk),n)});ncm(429,22,{3:1,34:1,22:1,429:1},kB);var nAA=qc(nmf,"InteractiveReferencePoint",429,nPw,function(){return Fn(),Vw(DY(nAA,1),nbG,429,0,[nKM,nKE])},function(n){return Fn(),qa((FW(),nKT),n)});ncm(171,22,{3:1,34:1,22:1,171:1},kH);var nAL=qc(nmf,"LayerConstraint",171,nPw,function(){return Yb(),Vw(DY(nAL,1),nbG,171,0,[nFE,nFv,nFy,nFk,nFM])},function(n){return Yb(),qa((UV(),nFT),n)});ncm(859,1,ndq,hd),nPB.hf=function(n){var t;JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmm),""),"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."),nF7),(nrN(),nQJ)),nAM),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmv),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(SB(),!1)),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmy),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),n_M),nQJ),nAA),JP(nQX)))),Kj(n,nmy,nmO,n_T),Kj(n,nmy,nmK,n_E),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmk),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmM),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(((t=mu(mo(ms(mi(me(mc(mr(ma(new ov,nmE),""),"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),nQW),nPE),JP(nQz))).f=Vw(DY(nPL,1),nby,2,6,["org.eclipse.elk.layered.northOrSouthPort"]),t))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmT),""),"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."),n_8),nQJ),nAF),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmj),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),Qx(7)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmS),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmP),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmO),"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)."),nF8),nQJ),nAk),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmC),nvI),"Node Layering Strategy"),"Strategy for node layering."),n_F),nQJ),nAN),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmI),nvI),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),n_C),nQJ),nAL),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmA),nvI),"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),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmL),nvI),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),Qx(-1)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmN),nvA),"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."),Qx(4)),nQZ),nPO),JP(nQX)))),Kj(n,nmN,nmC,n_L),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmx),nvA),"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."),Qx(2)),nQZ),nPO),JP(nQX)))),Kj(n,nmx,nmC,n_x),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm$),nvL),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),n_R),nQJ),nAR),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmD),nvL),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),Qx(0)),nQZ),nPO),JP(nQX)))),Kj(n,nmD,nm$,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmR),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),Qx(nl3)),nQZ),nPO),JP(nQX)))),Kj(n,nmR,nmC,n_S),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmK),nvN),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),nF6),nQJ),nAv),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmF),nvN),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm_),nvN),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),nQQ),nPS),JP(nQX)))),Kj(n,nm_,nvx,nFJ),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmB),nvN),"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),nQW),nPE),JP(nQX)))),Kj(n,nmB,nmK,nF3),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmH),nvN),"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),nQ0),nPL),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmU),nvN),"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),nQ0),nPL),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmG),nvN),"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),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmq),nvN),"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."),Qx(-1)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmX),nv$),"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."),Qx(40)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmz),nv$),"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."),nFV),nQJ),nAC),JP(nQX)))),Kj(n,nmz,nmK,nFW),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmV),"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."),nFG),nQJ),nAC),JP(nQX)))),Kj(n,nmV,nmK,nFq),Kj(n,nmV,nvx,nFX),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmW),nvD),"Node Placement Strategy"),"Strategy for node placement."),n_6),nQJ),nAD),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nmQ),nvD),"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."),nQW),nPE),JP(nQX)))),Kj(n,nmQ,nmW,n_W),Kj(n,nmQ,nmW,n_Q),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmJ),nvR),"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."),n_U),nQJ),nAj),JP(nQX)))),Kj(n,nmJ,nmW,n_G),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmY),nvR),"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."),n_X),nQJ),nAS),JP(nQX)))),Kj(n,nmY,nmW,n_z),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nmZ),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),nQQ),nPS),JP(nQX)))),Kj(n,nmZ,nmW,n_Y),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nm1),"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."),nQJ),nA$),JP(nQq)))),Kj(n,nm1,nmW,n_3),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm0),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),n_0),nQJ),nA$),JP(nQX)))),Kj(n,nm0,nmW,n_2),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm2),nvK),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),n_o),nQJ),nAB),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm3),nvK),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),n_s),nQJ),nAH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm4),"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."),n_f),nQJ),nAU),JP(nQX)))),Kj(n,nm4,nvF,n_l),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm6),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),nQQ),nPS),JP(nQX)))),Kj(n,nm6,nvF,n_w),Kj(n,nm6,nm4,n_d),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm5),"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),nQQ),nPS),JP(nQX)))),Kj(n,nm5,nvF,n_a),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nm8),nv_),"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."),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm9),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nm7),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvn),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvt),nvB),"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."),Qx(0)),nQZ),nPO),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nve),nvB),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),Qx(0)),nQZ),nPO),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvi),nvB),"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."),Qx(0)),nQZ),nPO),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvr),nvH),ngk),"Tries to further compact components (disconnected sub-graphs)."),!1),nQW),nPE),JP(nQX)))),Kj(n,nvr,ng8,!0),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nva),nvU),"Post Compaction Strategy"),nvG),nFI),nQJ),nAP),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvc),nvU),"Post Compaction Constraint Calculation"),nvG),nFO),nQJ),nAm),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvo),nvq),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvu),nvq),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),Qx(16)),nQZ),nPO),JP(nQX)))),Kj(n,nvu,nvo,!0),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvs),nvq),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),Qx(5)),nQZ),nPO),JP(nQX)))),Kj(n,nvs,nvo,!0),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvh),nvX),"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'."),nBC),nQJ),nAq),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvf),nvX),"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),nQQ),nPS),JP(nQX)))),Kj(n,nvf,nvh,nBu),Kj(n,nvf,nvh,nBs),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvl),nvX),"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),nQQ),nPS),JP(nQX)))),Kj(n,nvl,nvh,nBf),Kj(n,nvl,nvh,nBl),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvb),nvz),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),nBv),nQJ),nAy),JP(nQX)))),Kj(n,nvb,nvh,nBy),Kj(n,nvb,nvh,nBk),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nvw),nvz),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),nQ1),nPf),JP(nQX)))),Kj(n,nvw,nvb,nBw),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvd),"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."),nBg),nQZ),nPO),JP(nQX)))),Kj(n,nvd,nvb,nBp),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvg),nvV),"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."),nBx),nQJ),nAG),JP(nQX)))),Kj(n,nvg,nvh,nB$),Kj(n,nvg,nvh,nBD),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nvp),nvV),"Valid Indices for Wrapping"),null),nQ1),nPf),JP(nQX)))),Kj(n,nvp,nvh,nBA),Kj(n,nvp,nvh,nBL),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvm),nvW),"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),nQW),nPE),JP(nQX)))),Kj(n,nvm,nvh,nBj),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvv),nvW),"Distance Penalty When Improving Cuts"),null),2),nQQ),nPS),JP(nQX)))),Kj(n,nvv,nvh,nBE),Kj(n,nvv,nvm,!0),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvy),nvW),"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),nQW),nPE),JP(nQX)))),Kj(n,nvy,nvh,nBP),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvk),nvQ),"Edge Label Side Selection"),"Method to decide on edge label sides."),n_i),nQJ),nAT),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvM),nvQ),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),n_t),nQJ),nAp),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQG]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvE),nvJ),"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."),nF_),nQJ),nAK),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvT),nvJ),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvj),nvJ),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvS),nvJ),"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."),nFL),nQJ),nAn),JP(nQX)))),Kj(n,nvS,ng8,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvP),nvJ),"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."),nFD),nQJ),nAx),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvO),nvJ),"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),nQQ),nPS),JP(nQX)))),Kj(n,nvO,nvE,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvC),nvJ),"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),nQQ),nPS),JP(nQX)))),Kj(n,nvC,nvE,null),nlz((new hg,n))},Nj(nmf,"LayeredMetaDataProvider",859),ncm(998,1,ndq,hg),nPB.hf=function(n){nlz(n)},Nj(nmf,"LayeredOptions",998),ncm(999,1,{},rR),nPB.sf=function(){return new gn},nPB.tf=function(n){},Nj(nmf,"LayeredOptions/LayeredFactory",999),ncm(1391,1,{}),nPB.a=0,Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder",1391),ncm(792,1391,{},Yk),Nj(nmf,"LayeredSpacings/LayeredSpacingsBuilder",792),ncm(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},kU),nPB.dg=function(){return nuM(this)},nPB.qg=function(){return nuM(this)};var nAN=qc(nmf,"LayeringStrategy",265,nPw,function(){return noj(),Vw(DY(nAN,1),nbG,265,0,[nU9,nU6,nU5,nU2,nU4,nU7,nU8,nU0,nU3])},function(n){return noj(),qa((zZ(),nGn),n)});ncm(390,22,{3:1,34:1,22:1,390:1},kG);var nAx=qc(nmf,"LongEdgeOrderingStrategy",390,nPw,function(){return QS(),Vw(DY(nAx,1),nbG,390,0,[nGt,nGe,nGi])},function(n){return QS(),qa((BE(),nGr),n)});ncm(203,22,{3:1,34:1,22:1,203:1},kq);var nA$=qc(nmf,"NodeFlexibility",203,nPw,function(){return nnT(),Vw(DY(nA$,1),nbG,203,0,[nGo,nGu,nGc,nGa])},function(n){return nnT(),qa((H$(),nGs),n)});ncm(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},kX),nPB.dg=function(){return ncO(this)},nPB.qg=function(){return ncO(this)};var nAD=qc(nmf,"NodePlacementStrategy",323,nPw,function(){return nna(),Vw(DY(nAD,1),nbG,323,0,[nGw,nGf,nGl,nGh,nGb])},function(n){return nna(),qa((Uz(),nGd),n)});ncm(243,22,{3:1,34:1,22:1,243:1},kz);var nAR=qc(nmf,"NodePromotionStrategy",243,nPw,function(){return nu7(),Vw(DY(nAR,1),nbG,243,0,[nGT,nGv,nGM,nGy,nGk,nGg,nGE,nGj,nGp,nGm])},function(n){return nu7(),qa((VB(),nGS),n)});ncm(284,22,{3:1,34:1,22:1,284:1},kV);var nAK=qc(nmf,"OrderingStrategy",284,nPw,function(){return Zu(),Vw(DY(nAK,1),nbG,284,0,[nGO,nGP,nGC,nGI])},function(n){return Zu(),qa((HD(),nGA),n)});ncm(430,22,{3:1,34:1,22:1,430:1},kW);var nAF=qc(nmf,"PortSortingStrategy",430,nPw,function(){return UE(),Vw(DY(nAF,1),nbG,430,0,[nGL,nGN])},function(n){return UE(),qa((FY(),nGx),n)});ncm(463,22,{3:1,34:1,22:1,463:1},kQ);var nA_=qc(nmf,"PortType",463,nPw,function(){return qy(),Vw(DY(nA_,1),nbG,463,0,[nGR,nG$,nGD])},function(n){return qy(),qa((BS(),nGK),n)});ncm(387,22,{3:1,34:1,22:1,387:1},kJ);var nAB=qc(nmf,"SelfLoopDistributionStrategy",387,nPw,function(){return zl(),Vw(DY(nAB,1),nbG,387,0,[nGF,nG_,nGB])},function(n){return zl(),qa((BT(),nGH),n)});ncm(349,22,{3:1,34:1,22:1,349:1},kY);var nAH=qc(nmf,"SelfLoopOrderingStrategy",349,nPw,function(){return Wm(),Vw(DY(nAH,1),nbG,349,0,[nGq,nGU,nGG])},function(n){return Wm(),qa((Bj(),nGX),n)});ncm(312,1,{312:1},nfM),Nj(nmf,"Spacings",312),ncm(350,22,{3:1,34:1,22:1,350:1},kZ);var nAU=qc(nmf,"SplineRoutingMode",350,nPw,function(){return WQ(),Vw(DY(nAU,1),nbG,350,0,[nGz,nGV,nGW])},function(n){return WQ(),qa((BP(),nGQ),n)});ncm(352,22,{3:1,34:1,22:1,352:1},k1);var nAG=qc(nmf,"ValidifyStrategy",352,nPw,function(){return qm(),Vw(DY(nAG,1),nbG,352,0,[nGZ,nGJ,nGY])},function(n){return qm(),qa((BO(),nG1),n)});ncm(388,22,{3:1,34:1,22:1,388:1},k0);var nAq=qc(nmf,"WrappingStrategy",388,nPw,function(){return Vm(),Vw(DY(nAq,1),nbG,388,0,[nG2,nG3,nG0])},function(n){return Vm(),qa((BC(),nG4),n)});ncm(1398,1,nyL,ho),nPB.rg=function(n){return CY(n,36),nG6},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h;for(e.Ug("Depth-first cycle removal",1),u=(s=t.a).c.length,n.c=new du,n.d=BJ(n4h,ndV,28,u,16,1),n.a=BJ(n4h,ndV,28,u,16,1),n.b=new du,a=0,o=new fU(s);o.a<o.c.c.length;)(c=CY(RU(o),10)).p=a,KZ(Jz(c))&&jB(n.c,c),++a;for(h=new fU(n.c);h.a<h.c.c.length;)nrz(n,CY(RU(h),10));for(r=0;r<u;r++)n.d[r]||(RN(r,s.c.length),nrz(n,CY(s.c[r],10)));for(i=new fU(n.b);i.a<i.c.c.length;)nhf(CY(RU(i),18),!0),VD(t,(nlF(),nKN),(SB(),!0));n.c=null,n.d=null,n.a=null,n.b=null,e.Vg()}(this,CY(n,36),t)},Nj(nyN,"DepthFirstCycleBreaker",1398),ncm(793,1,nyL,AK),nPB.rg=function(n){return CY(n,36),nG5},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A;for(e.Ug("Greedy cycle removal",1),n.a=BJ(n4s,nwl,28,A=(m=t.a).c.length,15,1),n.c=BJ(n4s,nwl,28,A,15,1),n.b=BJ(n4s,nwl,28,A,15,1),u=0,g=new fU(m);g.a<g.c.c.length;){for((w=CY(RU(g),10)).p=u,E=new fU(w.j);E.a<E.c.c.length;){for(c=new fU((k=CY(RU(E),12)).e);c.a<c.c.c.length;)(i=CY(RU(c),18)).c.i!=w&&(S=CY(niK(i,(nlL(),nUh)),17).a,n.a[u]+=S>0?S+1:1);for(a=new fU(k.g);a.a<a.c.c.length;)(i=CY(RU(a),18)).d.i!=w&&(S=CY(niK(i,(nlL(),nUh)),17).a,n.c[u]+=S>0?S+1:1)}0==n.c[u]?IA(n.e,w):0==n.a[u]&&IA(n.f,w),++u}for(b=-1,l=1,h=new du,n.d=CY(niK(t,(nlF(),nFc)),234);A>0;){for(;0!=n.e.b;)O=CY(CV(n.e),10),n.b[O.p]=b--,nsp(n,O),--A;for(;0!=n.f.b;)C=CY(CV(n.f),10),n.b[C.p]=l++,nsp(n,C),--A;if(A>0){for(f=nbJ,p=new fU(m);p.a<p.c.c.length;)w=CY(RU(p),10),0==n.b[w.p]&&(v=n.c[w.p]-n.a[w.p])>=f&&(v>f&&(h.c.length=0,f=v),dk(h.c,w));s=n.sg(h),n.b[s.p]=l++,nsp(n,s),--A}}for(u=0,P=m.c.length+1;u<m.c.length;u++)n.b[u]<0&&(n.b[u]+=P);for(d=new fU(m);d.a<d.c.c.length;)for(j=KB((w=CY(RU(d),10)).j),M=0,T=j.length;M<T;++M)for(y=Ky((k=j[M]).g),r=0,o=y.length;r<o;++r)I=(i=y[r]).d.i.p,n.b[w.p]>n.b[I]&&(nhf(i,!0),VD(t,nKN,(SB(),!0)));n.a=null,n.c=null,n.b=null,$p(n.f),$p(n.e),e.Vg()}(this,CY(n,36),t)},nPB.sg=function(n){return CY(I0(n,nnC(this.d,n.c.length)),10)},Nj(nyN,"GreedyCycleBreaker",793),ncm(1401,793,nyL,E0),nPB.sg=function(n){var t,e,i,r;for(r=null,t=nl3,i=new fU(n);i.a<i.c.c.length;)Pn(e=CY(RU(i),10),(nlF(),nK4))&&CY(niK(e,nK4),17).a<t&&(t=CY(niK(e,nK4),17).a,r=e);return r||CY(I0(n,nnC(this.d,n.c.length)),10)},Nj(nyN,"GreedyModelOrderCycleBreaker",1401),ncm(1399,1,nyL,hc),nPB.rg=function(n){return CY(n,36),nG8},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;for(e.Ug("Interactive cycle breaking",1),h=new du,l=new fU(t.a);l.a<l.c.c.length;)for((f=CY(RU(l),10)).p=1,b=neD(f).a,s=Yx(f,(qy(),nGD)).Kc();s.Ob();)for(a=new fU(CY(s.Pb(),12).g);a.a<a.c.c.length;)(w=(i=CY(RU(a),18)).d.i)!=f&&neD(w).a<b&&dk(h.c,i);for(c=new fU(h);c.a<c.c.c.length;)nhf(i=CY(RU(c),18),!0);for(h.c.length=0,u=new fU(t.a);u.a<u.c.c.length;)(o=CY(RU(u),10)).p>0&&function n(t,e,i){var r,a,c,o;for(e.p=-1,o=Yx(e,(qy(),nGD)).Kc();o.Ob();)for(a=new fU(CY(o.Pb(),12).g);a.a<a.c.c.length;)e!=(c=(r=CY(RU(a),18)).d.i)&&(c.p<0?i.Fc(r):c.p>0&&n(t,c,i));e.p=0}(n,o,h);for(r=new fU(h);r.a<r.c.c.length;)nhf(i=CY(RU(r),18),!0);h.c.length=0,e.Vg()}(this,CY(n,36),t)},Nj(nyN,"InteractiveCycleBreaker",1399),ncm(1400,1,nyL,hr),nPB.rg=function(n){return CY(n,36),nG9},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;for(e.Ug("Model order cycle breaking",1),n.a=0,n.b=0,f=new du,s=t.a.c.length,u=new fU(t.a);u.a<u.c.c.length;)Pn(o=CY(RU(u),10),(nlF(),nK4))&&(s=nP_.Math.max(s,CY(niK(o,nK4),17).a+1));for(b=new fU(t.a);b.a<b.c.c.length;)for(c=nrV(n,l=CY(RU(b),10),s),h=Yx(l,(qy(),nGD)).Kc();h.Ob();)for(a=new fU(CY(h.Pb(),12).g);a.a<a.c.c.length;)nrV(n,(i=CY(RU(a),18)).d.i,s)<c&&dk(f.c,i);for(r=new fU(f);r.a<r.c.c.length;)nhf(i=CY(RU(r),18),!0),VD(t,(nlF(),nKN),(SB(),!0));f.c.length=0,e.Vg()}(this,CY(n,36),t)},nPB.a=0,nPB.b=0,Nj(nyN,"ModelOrderCycleBreaker",1400),ncm(1413,1,nyL,hi),nPB.rg=function(n){return CY(n,36),nG7},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m;for(e.Ug("Breadth first model order layering",1),n.a=t,p=new du,g=new fU(n.a.a);g.a<g.c.c.length;)(w=CY(RU(g),10)).k==(ni8(),n$v)&&dk(p.c,w);for($O(),ji(p,new rK),u=!0,r=new NU(n.a),i=null,jB(n.a.b,r),d=new fU(p);d.a<d.c.c.length;)if(w=CY(RU(d),10),u)Rc(w,r),u=!1;else{for(o=new Le(Sb(Jz(w).a.Kc(),new s));ncv(o);)((a=CY(_I(o),18)).c.i.k==(ni8(),n$v)&&a.c.i.c==r||a.c.i.k==n$p&&CY(_I(new Le(Sb(Jz(a.c.i).a.Kc(),new s))),18).c.i.c==r)&&(i=new NU(n.a),jB(n.a.b,i),r=new NU(n.a),jB(n.a.b,r));for(c=new Le(Sb(Jz(w).a.Kc(),new s));ncv(c);)(a=CY(_I(c),18)).c.i.k!=(ni8(),n$p)||a.c.i.c||Rc(a.c.i,i);Rc(w,r)}for(n.a.a.c.length=0,m=new du,l=new fU(n.a.b);l.a<l.c.c.length;)0==(h=CY(RU(l),30)).a.c.length&&dk(m.c,h);for(JS(n.a.b,m),b=0,f=new fU(n.a.b);f.a<f.c.c.length;)(h=CY(RU(f),30)).p=b,++b;e.Vg()}(this,CY(n,36),t)},Nj(nyx,"BreadthFirstModelOrderLayerer",1413),ncm(1414,1,ndy,rK),nPB.Ne=function(n,t){var e=CY(n,10),i=CY(t,10);if(qD(),Pn(e,(nlF(),nK4))&&Pn(i,nK4))return jo(CY(niK(e,nK4),17).a,CY(niK(i,nK4),17).a);throw new pF("The BF model order layer assigner requires all real nodes to have a model order.").e},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"BreadthFirstModelOrderLayerer/lambda$0$Type",1414),ncm(1404,1,nyL,yl),nPB.rg=function(n){return CY(n,36),nqn},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;if(e.Ug("Coffman-Graham Layering",1),0==t.a.c.length)return e.Vg();for(M=CY(niK(t,(nlL(),nHO)),17).a,u=0,c=0,b=new fU(t.a);b.a<b.c.c.length;)for((l=CY(RU(b),10)).p=u++,a=new Le(Sb(JV(l).a.Kc(),new s));ncv(a);)(r=CY(_I(a),18)).p=c++;for(n.d=BJ(n4h,ndV,28,u,16,1),n.a=BJ(n4h,ndV,28,c,16,1),n.b=BJ(n4s,nwl,28,u,15,1),n.e=BJ(n4s,nwl,28,u,15,1),n.f=BJ(n4s,nwl,28,u,15,1),qO(n.c),j=new fU(t.a);j.a<j.c.c.length;)for(T=CY(RU(j),10),pG(n.d),E=new Le(Sb(JV(T).a.Kc(),new s));ncv(E);)!function n(t,e,i){var r,a,c,o;if(!t.d[i.p]){for(r=new Le(Sb(JV(i).a.Kc(),new s));ncv(r);){for(c=new Le(Sb(Jz(o=CY(_I(r),18).d.i).a.Kc(),new s));ncv(c);)(a=CY(_I(c),18)).c.i==e&&(t.a[a.p]=!0);n(t,e,o)}t.d[i.p]=!0}}(n,T,CY(_I(E),18).d.i);for(d=new Lt(new bd(n)),k=new fU(t.a);k.a<k.c.c.length;){for(a=new Le(Sb(Jz(v=CY(RU(k),10)).a.Kc(),new s));ncv(a);)r=CY(_I(a),18),n.a[r.p]||++n.b[v.p];0==n.b[v.p]&&C7(niS(d,v),nwY)}for(o=0;0!=d.b.c.length;)for(v=CY(UN(d),10),n.f[v.p]=o++,a=new Le(Sb(JV(v).a.Kc(),new s));ncv(a);)r=CY(_I(a),18),n.a[r.p]||(p=r.d.i,--n.b[p.p],naR(n.c,p,Qx(n.f[v.p])),0==n.b[p.p]&&C7(niS(d,p),nwY));for(w=new Lt(new bg(n)),y=new fU(t.a);y.a<y.c.c.length;){for(a=new Le(Sb(JV(v=CY(RU(y),10)).a.Kc(),new s));ncv(a);)r=CY(_I(a),18),n.a[r.p]||++n.e[v.p];0==n.e[v.p]&&C7(niS(w,v),nwY)}for(i=xI(t,f=new du);0!=w.b.c.length;)for(m=CY(UN(w),10),(i.a.c.length>=M||!function(n,t){var e;for(e=new Le(Sb(JV(n).a.Kc(),new s));ncv(e);)if(CY(_I(e),18).d.i.c==t)return!1;return!0}(m,i))&&(i=xI(t,f)),Rc(m,i),a=new Le(Sb(Jz(m).a.Kc(),new s));ncv(a);)r=CY(_I(a),18),n.a[r.p]||(g=r.c.i,--n.e[g.p],0==n.e[g.p]&&C7(niS(w,g),nwY));for(h=f.c.length-1;h>=0;--h)jB(t.b,(RN(h,f.c.length),CY(f.c[h],30)));t.a.c.length=0,e.Vg()}(this,CY(n,36),t)},Nj(nyx,"CoffmanGrahamLayerer",1404),ncm(1405,1,ndy,bd),nPB.Ne=function(n,t){return function(n,t,e){var i,r,a,c,o,u;for(i=CY(_G(n.c,t),15),r=CY(_G(n.c,e),15),a=i.fd(i.gc()),c=r.fd(r.gc());a.Sb()&&c.Sb();)if((o=CY(a.Ub(),17))!=(u=CY(c.Ub(),17)))return jo(o.a,u.a);return a.Ob()||c.Ob()?a.Ob()?1:-1:0}(this.a,CY(n,10),CY(t,10))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"CoffmanGrahamLayerer/0methodref$compareNodesInTopo$Type",1405),ncm(1406,1,ndy,bg),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,10),r=CY(t,10),-jo(e.f[i.p],e.f[r.p])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"CoffmanGrahamLayerer/lambda$1$Type",1406),ncm(1415,1,nyL,ha),nPB.rg=function(n){return CY(n,36),nqt},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y;for(e.Ug("Depth first model order layering",1),n.d=t,p=new du,g=new fU(n.d.a);g.a<g.c.c.length;)(w=CY(RU(g),10)).k==(ni8(),n$v)&&dk(p.c,w);for($O(),ji(p,new rF),c=!0,n.b=new NU(n.d),n.a=null,jB(n.d.b,n.b),n.b.p=0,n.c=0,n.f=new vq,d=new fU(p);d.a<d.c.c.length;)if(w=CY(RU(d),10),c)Rc(w,n.b),c=!1;else if(function(n,t){var e,i,r,a,c;for(c=new Le(Sb(Jz(t).a.Kc(),new s));ncv(c);)if(a=CY(_I(c),18),0==n.f.b?(r=a.c.i.k==(ni8(),n$v)&&!!a.c.i.c&&a.c.i.c.p==n.c,ncv(new Le(Sb(Jz(a.c.i).a.Kc(),new s)))?(e=CY(_I(new Le(Sb(Jz(a.c.i).a.Kc(),new s))),18).c.i.c,i=a.c.i.k==n$p&&!!e&&e.p==n.c):i=!1):(r=a.c.i.k==(ni8(),n$v)&&a.c.i.p==n.c,i=a.c.i.k==n$p&&CY(_I(new Le(Sb(Jz(a.c.i).a.Kc(),new s))),18).c.i.p==n.c),r||i)return!0;return!1}(n,w))if(i=(b=nnb(b=n.c,w))+2,f=b-n.c,0==n.f.b)nuf(n,i,w);else if(f>0){for(y=ZQ(n.f,0);y.b!=y.d.c;)v=CY(K0(y),10),v.p+=b-n.e;nrB(n),$p(n.f),nuf(n,i,w)}else{for(IA(n.f,w),w.p=i,n.e=nP_.Math.max(n.e,i),a=new Le(Sb(Jz(w).a.Kc(),new s));ncv(a);)(r=CY(_I(a),18)).c.i.c||r.c.i.k!=(ni8(),n$p)||(IA(n.f,r.c.i),r.c.i.p=i-1);n.c=i}else nrB(n),$p(n.f),i=0,ncv(new Le(Sb(Jz(w).a.Kc(),new s)))?nuf(n,i=(b=nnb(b=0,w))+2,w):(IA(n.f,w),w.p=0,n.e=nP_.Math.max(n.e,0),n.b=CY(I0(n.d.b,0),30),n.c=0);for(0==n.f.b||nrB(n),n.d.a.c.length=0,m=new du,h=new fU(n.d.b);h.a<h.c.c.length;)0==(o=CY(RU(h),30)).a.c.length&&dk(m.c,o);for(JS(n.d.b,m),l=0,u=new fU(n.d.b);u.a<u.c.c.length;)(o=CY(RU(u),30)).p=l,++l;e.Vg()}(this,CY(n,36),t)},nPB.c=0,nPB.e=0,Nj(nyx,"DepthFirstModelOrderLayerer",1415),ncm(1416,1,ndy,rF),nPB.Ne=function(n,t){var e=CY(n,10),i=CY(t,10);if(qK(),Pn(e,(nlF(),nK4))&&Pn(i,nK4))return jo(CY(niK(e,nK4),17).a,CY(niK(i,nK4),17).a);throw new pF("The DF model order layer assigner requires all real nodes to have a model order.").e},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"DepthFirstModelOrderLayerer/lambda$0$Type",1416),ncm(1407,1,nyL,r_),nPB.rg=function(n){return CY(n,36),IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$8)),nxW,nDc),nxQ,nDa)},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(t.Ug("Interactive node layering",1),e=new du,l=new fU(n.a);l.a<l.c.c.length;){for(o=(u=(h=CY(RU(l),10)).n.a)+h.o.a,o=nP_.Math.max(u+1,o),m=new Kp(e,0),i=null;m.b<m.d.gc();){if(Px(m.b<m.d.gc()),(g=CY(m.d.Xb(m.c=m.b++),578)).c>=o){Px(m.b>0),m.a.Xb(m.c=--m.b);break}g.a>u&&(i?(Vc(i.b,g.b),i.a=nP_.Math.max(i.a,g.a),N6(m)):(jB(g.b,h),g.c=nP_.Math.min(g.c,u),g.a=nP_.Math.max(g.a,o),i=g))}i||((i=new gr).c=u,i.a=o,Oe(m,i),jB(i.b,h))}for(c=n.b,s=0,p=new fU(e);p.a<p.c.c.length;)for(g=CY(RU(p),578),(r=new NU(n)).p=s++,dk(c.c,r),b=new fU(g.b);b.a<b.c.c.length;)Rc(h=CY(RU(b),10),r),h.p=0;for(f=new fU(n.a);f.a<f.c.c.length;)if(0==(h=CY(RU(f),10)).p)for(d=nuO(h,n);0!=d.a.gc();)w=CY(d.a.ec().Kc().Pb(),10),d.a.Bc(w),Xx(d,nuO(w,n));for(a=new Kp(c,0);a.b<a.d.gc();)0==(Px(a.b<a.d.gc()),CY(a.d.Xb(a.c=a.b++),30)).a.c.length&&N6(a);n.a.c.length=0,t.Vg()}(CY(n,36),t)},Nj(nyx,"InteractiveLayerer",1407),ncm(578,1,{578:1},gr),nPB.a=0,nPB.c=0,Nj(nyx,"InteractiveLayerer/LayerSpan",578),ncm(1403,1,nyL,hh),nPB.rg=function(n){return CY(n,36),nqe},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c;for(e.Ug("Longest path layering",1),n.a=t,c=n.a.a,n.b=BJ(n4s,nwl,28,c.c.length,15,1),i=0,a=new fU(c);a.a<a.c.c.length;)CY(RU(a),10).p=i,n.b[i]=-1,++i;for(r=new fU(c);r.a<r.c.c.length;)!function n(t,e){if((r=t.b[e.p])>=0)return r;for(a=1,c=new fU(e.j);c.a<c.c.c.length;)for(i=new fU(CY(RU(c),12).g);i.a<i.c.c.length;)e!=(u=CY(RU(i),18).d.i)&&(o=n(t,u),a=nP_.Math.max(a,o+1));var i,r,a,c,o,u,s,h,f=a;for(s=(h=t.a.b).c.length;s<f;s++)AC(h,0,new NU(t.a));return Rc(e,CY(I0(h,h.c.length-f),30)),t.b[e.p]=f,a}(n,CY(RU(r),10));c.c.length=0,n.a=null,n.b=null,e.Vg()}(this,CY(n,36),t)},Nj(nyx,"LongestPathLayerer",1403),ncm(1412,1,nyL,hs),nPB.rg=function(n){return CY(n,36),nqi},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c;for(e.Ug("Longest path to source layering",1),n.a=t,c=n.a.a,n.b=BJ(n4s,nwl,28,c.c.length,15,1),i=0,a=new fU(c);a.a<a.c.c.length;)CY(RU(a),10).p=i,n.b[i]=-1,++i;for(r=new fU(c);r.a<r.c.c.length;)!function n(t,e){if((r=t.b[e.p])>=0)return r;for(a=1,c=new fU(e.j);c.a<c.c.c.length;)for(i=new fU(CY(RU(c),12).e);i.a<i.c.c.length;)e!=(u=CY(RU(i),18).c.i)&&(o=n(t,u),a=nP_.Math.max(a,o+1));var i,r,a,c,o,u,s,h,f=a;for(s=(h=t.a.b).c.length;s<f;s++)AC(h,h.c.length,new NU(t.a));return Rc(e,(RN(f-1,h.c.length),CY(h.c[f-1],30))),t.b[e.p]=f,a}(n,CY(RU(r),10));c.c.length=0,n.a=null,n.b=null,e.Vg()}(this,CY(n,36),t)},Nj(nyx,"LongestPathSourceLayerer",1412),ncm(1410,1,nyL,hf),nPB.rg=function(n){return CY(n,36),IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A;for(e.Ug("MinWidth layering",1),w=t.b,T=t.a,A=CY(niK(t,(nlL(),nHL)),17).a,o=CY(niK(t,nHN),17).a,n.b=pj(PI(niK(t,nUv))),n.d=nwF,k=new fU(T);k.a<k.c.c.length;)(v=CY(RU(k),10)).k==(ni8(),n$v)&&(P=v.o.b,n.d=nP_.Math.min(n.d,P));for(n.d=nP_.Math.max(1,n.d),n.c=BJ(n4s,nwl,28,j=T.c.length,15,1),n.f=BJ(n4s,nwl,28,j,15,1),n.e=BJ(n4b,nwX,28,j,15,1),h=0,n.a=0,M=new fU(T);M.a<M.c.c.length;)(v=CY(RU(M),10)).p=h++,n.c[v.p]=W9(Jz(v)),n.f[v.p]=W9(JV(v)),n.e[v.p]=v.o.b/n.d,n.a+=n.e[v.p];for(n.b/=n.d,n.a/=j,E=function(n){var t,e,i,r,a,c;for(c=SY(n.c.length),r=new fU(n);r.a<r.c.c.length;){for(i=CY(RU(r),10),a=new dV,e=new Le(Sb(JV(i).a.Kc(),new s));ncv(e);)(t=CY(_I(e),18)).c.i==t.d.i||LX(a,t.d.i);dk(c.c,a)}return c}(T),ji(T,xE(new bp(n))),g=nwF,d=nl3,c=null,I=A,C=A,a=o,r=o,A<0&&(I=CY(nqa.a.Id(),17).a,C=CY(nqa.b.Id(),17).a),o<0&&(a=CY(nqr.a.Id(),17).a,r=CY(nqr.b.Id(),17).a),O=I;O<=C;O++)for(i=a;i<=r;i++)m=pj(PI((S=function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(f=new du,g=FU(i),d=t*n.a,b=0,a=new dV,c=new dV,o=new du,p=0,m=0,l=0,w=0,s=0,h=0;0!=g.a.gc();)(u=function(n,t,e){var i,r;for(r=n.a.ec().Kc();r.Ob();)if(i=CY(r.Pb(),10),z7(e,CY(I0(t,i.p),16)))return i;return null}(g,r,c))&&(g.a.Bc(u),dk(o.c,u),a.a.zc(u,a),b=n.f[u.p],p+=n.e[u.p]-b*n.b,m+=n.c[u.p]*n.b,h+=b*n.b,w+=n.e[u.p]),(!u||0==g.a.gc()||p>=d&&n.e[u.p]>b*n.b||m>=e*d)&&(dk(f.c,o),o=new du,Xx(c,a),a.a.$b(),s-=h,l=nP_.Math.max(l,s*n.b+w),s+=m,p=m,m=0,h=0,w=0);return new Ea(l,f)}(n,O,i,T,E)).a)),p=(b=CY(S.b,15)).gc(),(m<g||m==g&&p<d)&&(g=m,d=p,c=b);for(l=c.Kc();l.Ob();){for(f=CY(l.Pb(),15),u=new NU(t),y=f.Kc();y.Ob();)Rc(v=CY(y.Pb(),10),u);dk(w.c,u)}nrY(w),T.c.length=0,e.Vg()}(this,CY(n,36),t)},nPB.a=0,nPB.b=0,nPB.d=0,Nj(nyx,"MinWidthLayerer",1410),ncm(1411,1,ndy,bp),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,10),i=CY(t,10),(r=this.a.f[e.p])<(a=this.a.f[i.p])?-1:+(r!=a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"MinWidthLayerer/MinOutgoingEdgesComparator",1411),ncm(1402,1,nyL,hl),nPB.rg=function(n){return CY(n,36),nqc},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y;if(e.Ug("Network simplex layering",1),n.b=t,p=4*CY(niK(t,(nlL(),nUx)),17).a,(g=n.b.a).c.length<1)return e.Vg();for(a=function(n,t){var e,i,r,a,c;for(null==n.c||n.c.length<t.c.length?n.c=BJ(n4h,ndV,28,t.c.length,16,1):pG(n.c),n.a=new du,i=0,c=new fU(t);c.a<c.c.c.length;)(r=CY(RU(c),10)).p=i++;for(e=new vq,a=new fU(t);a.a<a.c.c.length;)r=CY(RU(a),10),n.c[r.p]||(!function n(t,e){var i,r,a,c;for(t.c[e.p]=!0,jB(t.a,e),c=new fU(e.j);c.a<c.c.c.length;)for(i=new _4((a=CY(RU(c),12)).b);jr(i.a)||jr(i.b);)r=function(n,t){if(t.c==n)return t.d;if(t.d==n)return t.c;throw new pN("Input edge is not connected to the input port.").e}(a,CY(jr(i.a)?RU(i.a):RU(i.b),18)).i,t.c[r.p]||n(t,r)}(n,r),0==e.b||(Px(0!=e.b),CY(e.a.a.c,15)).gc()<n.a.c.length?E5(e,n.a):E6(e,n.a),n.a=new du);return e}(n,g),d=null,r=ZQ(a,0);r.b!=r.d.c;){for(i=CY(K0(r),15),o=p*Dy(nP_.Math.sqrt(i.gc())),nsd(((m=Cv(c=function(n){var t,e,i,r,a,c,o,u;for(u=new dc,t=new dY,c=n.Kc();c.Ob();)r=CY(c.Pb(),10),o=SA(v4(new d0,r),t),nr3(u.f,r,o);for(a=n.Kc();a.Ob();)for(i=new Le(Sb(JV(r=CY(a.Pb(),10)).a.Kc(),new s));ncv(i);)_p(e=CY(_I(i),18))||noI(v2(v0(v1(v3(new d1,nP_.Math.max(1,CY(niK(e,(nlL(),nUf)),17).a)),1),CY(NR(u,e.c.i),125)),CY(NR(u,e.d.i),125)));return t}(i))).f=o,(v=m).k=d,(y=v).a=!0,y),e.eh(1)),l=n.b.b,w=new fU(c.a);w.a<w.c.c.length;){for(b=CY(RU(w),125);l.c.length<=b.e;)AC(l,l.c.length,new NU(n.b));Rc(CY(b.f,10),CY(I0(l,b.e),30))}if(a.b>1)for(d=BJ(n4s,nwl,28,n.b.b.c.length,15,1),f=0,h=new fU(n.b.b);h.a<h.c.c.length;)u=CY(RU(h),30),d[f++]=u.a.c.length}g.c.length=0,n.a=null,n.b=null,n.c=null,e.Vg()}(this,CY(n,36),t)},Nj(nyx,"NetworkSimplexLayerer",1402),ncm(1408,1,nyL,Od),nPB.rg=function(n){return CY(n,36),IG(IG(IG(new xm,(niF(),nxV),(nlB(),n$q)),nxW,nDc),nxQ,nDa)},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w;if(e.Ug("StretchWidth layering",1),0==t.a.c.length)return e.Vg();for(n.c=t,n.t=0,n.u=0,n.i=nwF,n.g=nw_,n.d=pj(PI(niK(t,(nlL(),nUv)))),NP(c=n.c.a),n.p=new O8(c),a=new fU(c);a.a<a.c.c.length;)(r=CY(RU(a),10)).p=function(n){var t,e,i;for(t=Fv(new Le(Sb(JV(n).a.Kc(),new s))),e=new Le(Sb(Jz(n).a.Kc(),new s));ncv(e);)i=Fv(new Le(Sb(JV(CY(_I(e),18).c.i).a.Kc(),new s))),t=nP_.Math.max(t,i);return Qx(t)}(r).a;$O(),ji(n.p,new rB),function(n){var t,e,i,r,a;for(i=0,n.q=new du,t=new dV,a=new fU(n.p);a.a<a.c.c.length;){for((r=CY(RU(a),10)).p=i,e=new Le(Sb(JV(r).a.Kc(),new s));ncv(e);)LX(t,CY(_I(e),18).d.i);t.a.Bc(r),jB(n.q,new At(t)),t.a.$b(),++i}}(n);for(n.e=BJ(n4s,nwl,28,n.p.c.length,15,1),n.k=BJ(n4s,nwl,28,n.p.c.length,15,1),u=new fU(n.p);u.a<u.c.c.length;)o=CY(RU(u),10),n.e[o.p]=Fv(new Le(Sb(Jz(o).a.Kc(),new s))),n.k[o.p]=Fv(new Le(Sb(JV(o).a.Kc(),new s)));for(f=new fU(n.p);f.a<f.c.c.length;)(h=CY(RU(f),10)).k==(ni8(),n$v)&&(l=h.o.b,n.i=nP_.Math.min(n.i,l),n.g=nP_.Math.max(n.g,l));for(n.j=BJ(n4b,nwX,28,n.p.c.length,15,1),w=new fU(n.p);w.a<w.c.c.length;)b=CY(RU(w),10),n.j[b.p]=b.o.b/n.i;for(n.i=nP_.Math.max(1,n.i),n.g=nP_.Math.max(1,n.g),n.d=n.d/n.i,n.f=n.g/n.i,n.s=function(n){var t,e;for(t=0,e=new fU(n.c.a);e.a<e.c.c.length;)t+=Fv(new Le(Sb(JV(CY(RU(e),10)).a.Kc(),new s)));return t/n.c.a.c.length}(n),i=new NU(n.c),jB(n.c.b,i),n.r=RR(n.p),n.n=Dd(n.k,n.k.length);0!=n.r.c.length;)n.o=function(n){var t,e;for(e=new fU(n.r);e.a<e.c.c.length;)if(t=CY(RU(e),10),n.n[t.p]<=0)return t;return null}(n),!n.o||VK(n)&&0!=n.b.a.gc()?(!function(n,t){var e,i,r;for(i=new fU(t.a);i.a<i.c.c.length;)for(e=new Le(Sb(Jz(CY(RU(i),10)).a.Kc(),new s));ncv(e);)r=CY(_I(e),18).c.i.p,n.n[r]=n.n[r]-1}(n,i),i=new NU(n.c),jB(n.c.b,i),Xx(n.a,n.b),n.b.a.$b(),n.t=n.u,n.u=0):VK(n)?(n.c.b.c.length=0,i=new NU(n.c),jB(n.c.b,i),n.t=0,n.u=0,n.b.a.$b(),n.a.a.$b(),++n.f,n.r=RR(n.p),n.n=Dd(n.k,n.k.length)):(Rc(n.o,i),H0(n.r,n.o),LX(n.b,n.o),n.t=n.t-n.k[n.o.p]*n.d+n.j[n.o.p],n.u+=n.e[n.o.p]*n.d);t.a.c.length=0,nrY(t.b),e.Vg()}(this,CY(n,36),t)},nPB.d=0,nPB.f=0,nPB.g=0,nPB.i=0,nPB.s=0,nPB.t=0,nPB.u=0,Nj(nyx,"StretchWidthLayerer",1408),ncm(1409,1,ndy,rB),nPB.Ne=function(n,t){var e,i;return e=CY(n,10),i=CY(t,10),e.p<i.p?1:e.p>i.p?-1:0},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyx,"StretchWidthLayerer/1",1409),ncm(413,1,ny$),nPB.gg=function(n,t,e,i,r,a){},nPB.ug=function(n,t,e){return nsy(this,n,t,e)},nPB.fg=function(){this.g=BJ(n4w,nyD,28,this.d,15,1),this.f=BJ(n4w,nyD,28,this.d,15,1)},nPB.hg=function(n,t){this.e[n]=BJ(n4s,nwl,28,t[n].length,15,1)},nPB.ig=function(n,t,e){e[n][t].p=t,this.e[n][t]=t},nPB.jg=function(n,t,e,i){CY(I0(i[n][t].j,e),12).p=this.d++},nPB.b=0,nPB.c=0,nPB.d=0,Nj(nyR,"AbstractBarycenterPortDistributor",413),ncm(1698,1,ndy,bm),nPB.Ne=function(n,t){var e,i,r,a,c,o,u;return e=this.a,i=CY(n,12),r=CY(t,12),(o=i.j)!=(u=r.j)?o.g-u.g:(a=e.f[i.p],c=e.f[r.p],0==a&&0==c?0:0==a?-1:0==c?1:Jj(a,c))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyR,"AbstractBarycenterPortDistributor/lambda$0$Type",1698),ncm(832,1,nma,KV),nPB.gg=function(n,t,e,i,r,a){},nPB.ig=function(n,t,e){},nPB.jg=function(n,t,e,i){},nPB.eg=function(){return!1},nPB.fg=function(){this.c=this.e.a,this.g=this.f.g},nPB.hg=function(n,t){t[n][0].c.p=n},nPB.kg=function(){return!1},nPB.vg=function(n,t,e,i){e?nev(this,n):(neL(this,n,i),nfK(this,n,t)),n.c.length>1&&(pT(PC(niK(xi((RN(0,n.c.length),CY(n.c[0],10))),(nlL(),nBY))))?ncV(n,this.d,CY(this,669)):($O(),ji(n,this.d)),z$(this.e,n))},nPB.lg=function(n,t,e,i){var r,a,c,o,u,s,h;for(t!=Au(e,n.length)&&(a=n[t-(e?1:-1)],_7(this.f,a,e?(qy(),nGD):(qy(),nG$))),r=n[t][0],h=!i||r.k==(ni8(),n$g),s=_q(n[t]),this.vg(s,h,!1,e),c=0,u=new fU(s);u.a<u.c.c.length;)o=CY(RU(u),10),n[t][c++]=o;return!1},nPB.mg=function(n,t){var e,i,r,a,c;for(c=Au(t,n.length),a=_q(n[c]),this.vg(a,!1,!0,t),e=0,r=new fU(a);r.a<r.c.c.length;)i=CY(RU(r),10),n[c][e++]=i;return!1},Nj(nyR,"BarycenterHeuristic",832),ncm(667,1,{667:1},bk),nPB.Ib=function(){return"BarycenterState [node="+this.c+", summedWeight="+this.d+", degree="+this.b+", barycenter="+this.a+", visited="+this.e+"]"},nPB.b=0,nPB.d=0,nPB.e=!1;var nAX=Nj(nyR,"BarycenterHeuristic/BarycenterState",667);ncm(1865,1,ndy,bv),nPB.Ne=function(n,t){var e,i,r,a,c;return e=this.a,i=CY(n,10),r=CY(t,10),(a=e.c[i.c.p][i.p],c=e.c[r.c.p][r.p],null!=a.a&&null!=c.a)?Ln(a.a,c.a):null!=a.a?-1:1*(null!=c.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyR,"BarycenterHeuristic/lambda$0$Type",1865),ncm(831,1,nma,nit),nPB.fg=function(){},nPB.gg=function(n,t,e,i,r,a){},nPB.jg=function(n,t,e,i){},nPB.hg=function(n,t){this.a[n]=BJ(nAX,{3:1,4:1,5:1,2117:1},667,t[n].length,0,1),this.b[n]=BJ(nAz,{3:1,4:1,5:1,2118:1},239,t[n].length,0,1)},nPB.ig=function(n,t,e){ZA(this,e[n][t],!0)},nPB.c=!1,Nj(nyR,"ForsterConstraintResolver",831),ncm(239,1,{239:1},$V,nfk),nPB.Ib=function(){var n,t,e;for(t=new p2,t.a+="[",n=0;n<this.d.length;n++)EY(t,nni(this.d[n])),null!=jD(this.g,this.d[0]).a&&EY(EY((t.a+="<",t),""+(xf(e=jD(this.g,this.d[0]).a),e)),">"),n<this.d.length-1&&(t.a+=nl8);return(t.a+="]",t).a},nPB.a=0,nPB.c=0,nPB.f=0;var nAz=Nj(nyR,"ForsterConstraintResolver/ConstraintGroup",239);ncm(1860,1,nbE,by),nPB.Cd=function(n){ZA(this.a,CY(n,10),!1)},Nj(nyR,"ForsterConstraintResolver/lambda$0$Type",1860),ncm(219,1,{219:1,230:1},nfj),nPB.gg=function(n,t,e,i,r,a){},nPB.hg=function(n,t){},nPB.fg=function(){this.r=BJ(n4s,nwl,28,this.n,15,1)},nPB.ig=function(n,t,e){var i;(i=e[n][t].e)&&jB(this.b,i)},nPB.jg=function(n,t,e,i){++this.n},nPB.Ib=function(){return function n(t,e){var i,r,a,c,o;if(null==t)return nbi;if(null!=e.a.zc(t,e))return"[...]";for(i=new zX(nl8,"[","]"),a=0,c=t.length;a<c;++a)null!=(r=t[a])&&(4&WZ(r).i)!=0?Array.isArray(r)&&!((o=UR(r))>=14&&o<=16)?e.a._b(r)?(i.a?EY(i.a,i.b):i.a=new Sv(i.d),EQ(i.a,"[...]")):_J(i,n(qr(r),new At(e))):jM(r,183)?_J(i,function(n){var t,e,i,r;if(null==n)return nbi;for(r=new zX(nl8,"[","]"),e=0,i=n.length;e<i;++e)t=n[e],r.a?EY(r.a,r.b):r.a=new Sv(r.d),EQ(r.a,""+t);return r.a?0==r.e.length?r.a.a:r.a.a+""+r.e:r.c}(CY(r,183))):jM(r,195)?_J(i,function(n){var t,e,i;if(null==n)return nbi;for(i=new zX(nl8,"[","]"),t=0,e=n.length;t<e;++t)_J(i,""+n[t]);return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}(CY(r,195))):jM(r,201)?_J(i,function(n){var t,e,i;if(null==n)return nbi;for(i=new zX(nl8,"[","]"),t=0,e=n.length;t<e;++t)_J(i,String.fromCharCode(n[t]));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}(CY(r,201))):jM(r,2111)?_J(i,function(n){var t,e,i;if(null==n)return nbi;for(i=new zX(nl8,"[","]"),t=0,e=n.length;t<e;++t)_J(i,""+n[t]);return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}(CY(r,2111))):jM(r,53)?_J(i,function(n){var t,e,i,r;if(null==n)return nbi;for(r=new zX(nl8,"[","]"),e=0,i=n.length;e<i;++e)t=n[e],r.a?EY(r.a,r.b):r.a=new Sv(r.d),EQ(r.a,""+t);return r.a?0==r.e.length?r.a.a:r.a.a+""+r.e:r.c}(CY(r,53))):jM(r,376)?_J(i,function(n){var t,e,i,r;if(null==n)return nbi;for(r=new zX(nl8,"[","]"),e=0,i=n.length;e<i;++e)t=n[e],r.a?EY(r.a,r.b):r.a=new Sv(r.d),EQ(r.a,""+Lm(t));return r.a?0==r.e.length?r.a.a:r.a.a+""+r.e:r.c}(CY(r,376))):jM(r,846)?_J(i,function(n){var t,e,i,r;if(null==n)return nbi;for(r=new zX(nl8,"[","]"),e=0,i=n.length;e<i;++e)t=n[e],r.a?EY(r.a,r.b):r.a=new Sv(r.d),EQ(r.a,""+t);return r.a?0==r.e.length?r.a.a:r.a.a+""+r.e:r.c}(CY(r,846))):jM(r,109)&&_J(i,function(n){var t,e,i,r;if(null==n)return nbi;for(r=new zX(nl8,"[","]"),e=0,i=n.length;e<i;++e)t=n[e],r.a?EY(r.a,r.b):r.a=new Sv(r.d),EQ(r.a,""+t);return r.a?0==r.e.length?r.a.a:r.a.a+""+r.e:r.c}(CY(r,109))):_J(i,null==r?nbi:J2(r));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}(this.e,new dV)},nPB.g=!1,nPB.i=!1,nPB.n=0,nPB.s=!1,Nj(nyR,"GraphInfoHolder",219),ncm(1905,1,nma,rH),nPB.gg=function(n,t,e,i,r,a){},nPB.hg=function(n,t){},nPB.jg=function(n,t,e,i){},nPB.ug=function(n,t,e){return e&&t>0?D_(this.a,n[t-1],n[t]):!e&&t<n.length-1?D_(this.a,n[t],n[t+1]):Xp(this.a,n[t],e?(nf5(),n1y):(nf5(),n1n)),function(n,t,e,i){var r,a,c,o,u,s,h,f,l;for(f=i?(nf5(),n1y):(nf5(),n1n),r=!1,u=t[e],s=0,h=u.length;s<h;++s)Oq(CY(niK(o=u[s],(nlL(),nUt)),101))||(c=o.e,(l=!JH(o,f).dc()&&!!c)&&(n.b=new nin(a=ne8(c),i?0:a.length-1)),r|=function(n,t,e,i){var r,a,c,o,u;o=JH(t,e),(e==(nf5(),n1m)||e==n1y)&&(o=Yi(o)),c=!1;do for(a=0,r=!1;a<o.gc()-1;a++)(function(n,t,e,i){var r,a,c,o,u;return o=CY((c=ntB(n.a,t,e)).a,17).a,a=CY(c.b,17).a,i&&(u=CY(niK(t,(nlF(),nFi)),10),r=CY(niK(e,nFi),10),u&&r&&(Fl(n.b,u,r),o+=n.b.i,a+=n.b.e)),o>a})(n,CY(o.Xb(a),12),CY(o.Xb(a+1),12),i)&&(c=!0,RZ(n.a,CY(o.Xb(a),12),CY(o.Xb(a+1),12)),u=CY(o.Xb(a+1),12),o.hd(a+1,CY(o.Xb(a),12)),o.hd(a,u),r=!0);while(r)return c}(n,o,f,l));return r}(this,n,t,e)},nPB.fg=function(){this.d=BJ(n4s,nwl,28,this.c,15,1),this.a=new OQ(this.d)},nPB.ig=function(n,t,e){var i;i=e[n][t],this.c+=i.j.c.length},nPB.c=0,Nj(nyR,"GreedyPortDistributor",1905),ncm(1421,1,nyL,hp),nPB.rg=function(n){var t,e;return t=CY(n,36),e=TA(nqo),CY(niK(t,(nlF(),nKU)),21).Hc((no7(),nKs))&&IG(e,(niF(),nxQ),(nlB(),nDp)),e},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(t.Ug("Interactive crossing minimization",1),c=0,a=new fU(n.b);a.a<a.c.c.length;)(i=CY(RU(a),30)).p=c++;for(d=new mb((l=ne8(n)).length),nhJ(new pU(Vw(DY(nAl,1),nl7,230,0,[d])),l),w=0,c=0,r=new fU(n.b);r.a<r.c.c.length;){for(i=CY(RU(r),30),e=0,f=0,h=new fU(i.a);h.a<h.c.c.length;)for((u=CY(RU(h),10)).n.a>0&&(e+=u.n.a+u.o.a/2,++f),b=new fU(u.j);b.a<b.c.c.length;)CY(RU(b),12).p=w++;for(f>0&&(e/=f),g=BJ(n4b,nwX,28,i.a.c.length,15,1),o=0,s=new fU(i.a);s.a<s.c.c.length;)(u=CY(RU(s),10)).p=o++,g[u.p]=function(n,t){var e,i,r,a,c,o,u,s,h,f,l;switch(n.k.g){case 1:if(i=CY(niK(n,(nlF(),nK6)),18),(e=CY(niK(i,nK5),75))?pT(PC(niK(i,nFu)))&&(e=Wo(e)):e=new gj,s=CY(niK(n,nK1),12)){if(t<=(h=V4(Vw(DY(nLA,1),nby,8,0,[s.i.n,s.n,s.a]))).a)return h.b;F_(e,h,e.a,e.a.a)}if(f=CY(niK(n,nK0),12)){if((l=V4(Vw(DY(nLA,1),nby,8,0,[f.i.n,f.n,f.a]))).a<=t)return l.b;F_(e,l,e.c.b,e.c)}if(e.b>=2){for(c=CY(K0(u=ZQ(e,0)),8),o=CY(K0(u),8);o.a<t&&u.b!=u.d.c;)c=o,o=CY(K0(u),8);return c.b+(t-c.a)/(o.a-c.a)*(o.b-c.b)}break;case 3:switch(r=(a=CY(niK(CY(I0(n.j,0),12),(nlF(),nK6)),12)).i,a.j.g){case 1:return r.n.b;case 3:return r.n.b+r.o.b}}return neD(n).b}(u,e),u.k==(ni8(),n$m)&&VD(u,(nlF(),nK8),g[u.p]);$O(),ji(i.a,new bE(g)),nsy(d,l,c,!0),++c}t.Vg()}(CY(n,36),t)},Nj(nyR,"InteractiveCrossingMinimizer",1421),ncm(1422,1,ndy,bE),nPB.Ne=function(n,t){return function(n,t,e){var i,r,a;if(0==(i=Jj(n.a[t.p],n.a[e.p]))){if(r=CY(niK(t,(nlF(),nKW)),15),a=CY(niK(e,nKW),15),r.Hc(e))return -1;if(a.Hc(t))return 1}return i}(this,CY(n,10),CY(t,10))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyR,"InteractiveCrossingMinimizer/1",1422),ncm(514,1,{514:1,106:1,47:1},pv),nPB.rg=function(n){var t;return CY(n,36),IG(t=TA(nqu),(niF(),nxQ),(nlB(),nDp)),t},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;if(e.Ug("Minimize Crossings "+n.a,1),i=0==t.b.c.length||!mQ(xX(new Aa(null,new R$(t.b,16)),new f4(new rU))).Bd((vY(),nCF)),u=1==t.b.c.length&&1==CY(I0(t.b,0),30).a.c.length,a=ER(niK(t,(nlL(),nHm)))===ER((QO(),nZj)),i||u&&!a)return e.Vg();for(r=function(n,t){var e,i,r,a,c,o;for(n.b=new du,n.d=CY(niK(t,(nlF(),nFc)),234),n.e=JF(A8(zF(nc8(o=n.d,32)),32),zF(nc8(o,32))),a=new vq,r=_q(Vw(DY(nAe,1),np$,36,0,[t])),c=0;c<r.c.length;)RN(c,r.c.length),(i=CY(r.c[c],36)).p=c++,Vc(r,(e=new nfj(i,n.a,n.b)).b),jB(n.b,e),e.s&&Ne(ZQ(a,0),e);return n.c=new dV,a}(n,t),c=(o=CY(nnt(r,0),219)).c.kg()?o.c.eg()?new bj(n):new bS(n):new bT(n),h=ZQ(r,0);h.b!=h.d.c;)(s=CY(K0(h),219)).e.length>0&&(c.Cd(s),s.i&&function(n){var t;n.g&&(noV((t=n.c.kg()?n.f:n.a).a,n.o,!0),noV(t.a,n.o,!1),VD(n.o,(nlL(),nUt),(nie(),nZQ)))}(s));for(b=new fU(n.b);b.a<b.c.c.length;)(f=(l=CY(RU(b),219)).c.kg()?l.f:l.a)&&function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(r=0,h=new du,l=new dV,c=t.b;r<c.c.length;r++){for(a=0,s=(RN(r,c.c.length),CY(c.c[r],30)).a,h.c.length=0;a<s.c.length;a++)(o=n.a[r][a]).p=a,o.k==(ni8(),n$y)&&dk(h.c,o),_o(CY(I0(t.b,r),30).a,a,o),o.j.c.length=0,Vc(o.j,CY(CY(I0(n.b,r),15).Xb(a),16)),Oq(CY(niK(o,(nlL(),nUt)),101))||VD(o,nUt,(nie(),nZQ));for(i=new fU(h);i.a<i.c.c.length;)f=function(n){var t,e,i,r,a,c,o;for(r=CY(niK(n,(nlF(),nKV)),10),RN(0,(i=n.j).c.length),e=CY(i.c[0],12),c=new fU(r.j);c.a<c.c.c.length;)if(ER(a=CY(RU(c),12))===ER(niK(e,nK6))){a.j==(nf5(),n1t)&&n.p>r.p?(nau(a,n1m),a.d&&(o=a.o.b,t=a.a.b,a.a.b=o-t)):a.j==n1m&&r.p>n.p&&(nau(a,n1t),a.d&&(o=a.o.b,t=a.a.b,a.a.b=-(o-t)));break}return r}(e=CY(RU(i),10)),l.a.zc(f,l),l.a.zc(e,l)}for(u=l.a.ec().Kc();u.Ob();)o=CY(u.Pb(),10),$O(),ji(o.j,(Wy(),nDF)),o.i=!0,nal(o)}(f,l.j);e.Vg()}(this,CY(n,36),t)},nPB.e=0,Nj(nyR,"LayerSweepCrossingMinimizer",514),ncm(1418,1,nbE,bT),nPB.Cd=function(n){!function(n,t){var e,i,r,a,c;if(jF(n.d,AW(RF(A9(c=n.e,24),nde)),AW(RF(c,nde))),n.c.a.$b(),0!=pj(PI(niK(t.j,(nlL(),nBq))))||0!=pj(PI(niK(t.j,nBq))))for(e=ngK,ER(niK(t.j,nBQ))!==ER((Zu(),nGO))&&VD(t.j,(nlF(),nKH),(SB(),!0)),a=CY(niK(t.j,nUx),17).a,r=0;r<a&&(!((i=function(n,t){var e,i,r;if(i=0!=nc8(n.d,1),0==nuJ(n,t)&&pT(PC(niK(t.j,(nlF(),nKH)))))return 0;(pT(PC(niK(t.j,(nlF(),nKH))))||pT(PC(niK(t.j,nFs))))&&ER(niK(t.j,(nlL(),nBQ)))!==ER((Zu(),nGO))?i=pT(PC(niK(t.j,nKH))):t.c.mg(t.e,i),noP(n,t,i,!0),pT(PC(niK(t.j,nFs)))&&VD(t.j,nFs,(SB(),!1)),pT(PC(niK(t.j,nKH)))&&(VD(t.j,nKH,(SB(),!1)),VD(t.j,nFs,!0)),e=nuJ(n,t);do{if(XO(n),0==e)return 0;i=!i,r=e,noP(n,t,i,!1),e=nuJ(n,t)}while(r>e)return r}(n,t))<e)||(e=i,XP(n),0!=e));r++);else for(e=nl3,ER(niK(t.j,nBQ))!==ER((Zu(),nGO))&&VD(t.j,(nlF(),nKH),(SB(),!0)),a=CY(niK(t.j,nUx),17).a,r=0;r<a&&(!((i=nhI(n,t))<e)||(e=i,XP(n),0!=e));r++);}(this.a,CY(n,219))},Nj(nyR,"LayerSweepCrossingMinimizer/0methodref$compareDifferentRandomizedLayouts$Type",1418),ncm(1419,1,nbE,bj),nPB.Cd=function(n){!function(n,t){var e,i;for(i=0!=nc8(n.d,1),e=!0;e;)e=!1,e=t.c.mg(t.e,i)|noP(n,t,i,!1),i=!i;XO(n)}(this.a,CY(n,219))},Nj(nyR,"LayerSweepCrossingMinimizer/1methodref$minimizeCrossingsNoCounter$Type",1419),ncm(1420,1,nbE,bS),nPB.Cd=function(n){nhI(this.a,CY(n,219))},Nj(nyR,"LayerSweepCrossingMinimizer/2methodref$minimizeCrossingsWithCounter$Type",1420),ncm(464,22,{3:1,34:1,22:1,464:1},k2);var nAV=qc(nyR,"LayerSweepCrossingMinimizer/CrossMinType",464,nPw,function(){return qp(),Vw(DY(nAV,1),nbG,464,0,[nqs,nqh,nqf])},function(n){return qp(),qa((BR(),nql),n)});ncm(1417,1,nbV,rU),nPB.Mb=function(n){return X3(),0==CY(n,30).a.c.length},Nj(nyR,"LayerSweepCrossingMinimizer/lambda$0$Type",1417),ncm(1862,1,nma,D3),nPB.fg=function(){},nPB.gg=function(n,t,e,i,r,a){},nPB.jg=function(n,t,e,i){},nPB.hg=function(n,t){t[n][0].c.p=n,this.b[n]=BJ(nAW,{3:1,4:1,5:1,2043:1},668,t[n].length,0,1)},nPB.ig=function(n,t,e){e[n][t].p=t,NK(this.b[n],t,new rG)},Nj(nyR,"LayerSweepTypeDecider",1862),ncm(668,1,{668:1},rG),nPB.Ib=function(){return"NodeInfo [connectedEdges="+this.a+", hierarchicalInfluence="+this.b+", randomInfluence="+this.c+"]"},nPB.a=0,nPB.b=0,nPB.c=0;var nAW=Nj(nyR,"LayerSweepTypeDecider/NodeInfo",668);ncm(1863,1,ndK,rq),nPB.Lb=function(n){return SR(new _4(CY(n,12).b))},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return SR(new _4(CY(n,12).b))},Nj(nyR,"LayerSweepTypeDecider/lambda$0$Type",1863),ncm(1864,1,ndK,rX),nPB.Lb=function(n){return SR(new _4(CY(n,12).b))},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return SR(new _4(CY(n,12).b))},Nj(nyR,"LayerSweepTypeDecider/lambda$1$Type",1864),ncm(1906,413,ny$,ml),nPB.tg=function(n,t,e){var i,r,a,c,o,u,s,h,f;switch(s=this.g,e.g){case 1:for(i=0,r=0,u=new fU(n.j);u.a<u.c.c.length;)0!=(c=CY(RU(u),12)).e.c.length&&(++i,c.j==(nf5(),n1t)&&++r);for(a=t+r,f=t+i,o=Yx(n,(qy(),nG$)).Kc();o.Ob();)(c=CY(o.Pb(),12)).j==(nf5(),n1t)?(s[c.p]=a,--a):(s[c.p]=f,--f);return i;case 2:for(h=0,o=Yx(n,(qy(),nGD)).Kc();o.Ob();)c=CY(o.Pb(),12),++h,s[c.p]=t+h;return h;default:throw(new dN).e}},Nj(nyR,"LayerTotalPortDistributor",1906),ncm(669,832,{669:1,230:1},XE),nPB.vg=function(n,t,e,i){e?nev(this,n):(neL(this,n,i),nfK(this,n,t)),n.c.length>1&&(pT(PC(niK(xi((RN(0,n.c.length),CY(n.c[0],10))),(nlL(),nBY))))?ncV(n,this.d,this):($O(),ji(n,this.d)),pT(PC(niK(xi((RN(0,n.c.length),CY(n.c[0],10))),nBY)))||z$(this.e,n))},Nj(nyR,"ModelOrderBarycenterHeuristic",669),ncm(1866,1,ndy,bP),nPB.Ne=function(n,t){var e,i,r,a,c,o,u,s,h,f,l;return e=this.a,0!=(a=function(n,t,e){if(LR(n.a,t)){if(vF(CY(NR(n.a,t),49),e))return 1}else xM(n.a,t,new dV);if(LR(n.a,e)){if(vF(CY(NR(n.a,e),49),t))return -1}else xM(n.a,e,new dV);if(LR(n.b,t)){if(vF(CY(NR(n.b,t),49),e))return -1}else xM(n.b,t,new dV);if(LR(n.b,e)){if(vF(CY(NR(n.b,e),49),t))return 1}else xM(n.b,e,new dV);return 0}(e,i=CY(n,10),r=CY(t,10)))?a:Pn(i,(nlF(),nK4))&&Pn(r,nK4)?((c=jo(CY(niK(i,nK4),17).a,CY(niK(r,nK4),17).a))<0?nu2(e,i,r):c>0&&nu2(e,r,i),c):(o=e,u=i,s=r,(h=o.c[u.c.p][u.p],f=o.c[s.c.p][s.p],null!=h.a&&null!=f.a)?((l=Ln(h.a,f.a))<0?nu2(o,u,s):l>0&&nu2(o,s,u),l):null!=h.a?(nu2(o,u,s),-1):null!=f.a?(nu2(o,s,u),1):0)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyR,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),ncm(1423,1,nyL,hm),nPB.rg=function(n){var t;return CY(n,36),IG(t=TA(nqb),(niF(),nxQ),(nlB(),nDp)),t},nPB.Kf=function(n,t){var e;(CY(n,36),e=t).Ug("No crossing minimization",1),e.Vg()},Nj(nyR,"NoCrossingMinimizer",1423),ncm(809,413,ny$,mb),nPB.tg=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b;switch(f=this.g,e.g){case 1:for(r=0,a=0,h=new fU(n.j);h.a<h.c.c.length;)0!=(u=CY(RU(h),12)).e.c.length&&(++r,u.j==(nf5(),n1t)&&++a);for(c=t+a*(i=1/(r+1)),b=t+1-i,s=Yx(n,(qy(),nG$)).Kc();s.Ob();)(u=CY(s.Pb(),12)).j==(nf5(),n1t)?(f[u.p]=c,c-=i):(f[u.p]=b,b-=i);break;case 2:for(o=0,h=new fU(n.j);h.a<h.c.c.length;)0==(u=CY(RU(h),12)).g.c.length||++o;for(l=t+(i=1/(o+1)),s=Yx(n,(qy(),nGD)).Kc();s.Ob();)f[(u=CY(s.Pb(),12)).p]=l,l+=i;break;default:throw new pN("Port type is undefined").e}return 1},Nj(nyR,"NodeRelativePortDistributor",809),ncm(822,1,{},LL,niZ),Nj(nyR,"SweepCopy",822),ncm(1861,1,nma,YW),nPB.hg=function(n,t){},nPB.fg=function(){var n;n=BJ(n4s,nwl,28,this.f,15,1),this.d=new b$(n),this.a=new OQ(n)},nPB.gg=function(n,t,e,i,r,a){var c;c=CY(I0(a[n][t].j,e),12),r.c==c&&r.c.i.c==r.d.i.c&&++this.e[n]},nPB.ig=function(n,t,e){var i;i=e[n][t],this.c[n]=this.c[n]|i.k==(ni8(),n$y)},nPB.jg=function(n,t,e,i){var r;(r=CY(I0(i[n][t].j,e),12)).p=this.f++,r.g.c.length+r.e.c.length>1&&(r.j==(nf5(),n1n)?this.b[n]=!0:r.j==n1y&&n>0&&(this.b[n-1]=!0))},nPB.f=0,Nj(nmr,"AllCrossingsCounter",1861),ncm(595,1,{},Xk),nPB.b=0,nPB.d=0,Nj(nmr,"BinaryIndexedTree",595),ncm(532,1,{},OQ),Nj(nmr,"CrossingsCounter",532),ncm(1950,1,ndy,bO),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,12),r=CY(t,12),jo(e.d[i.p],e.d[r.p])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmr,"CrossingsCounter/lambda$0$Type",1950),ncm(1951,1,ndy,bC),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,12),r=CY(t,12),jo(e.d[i.p],e.d[r.p])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmr,"CrossingsCounter/lambda$1$Type",1951),ncm(1952,1,ndy,bI),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,12),r=CY(t,12),jo(e.d[i.p],e.d[r.p])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmr,"CrossingsCounter/lambda$2$Type",1952),ncm(1953,1,ndy,bA),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,12),r=CY(t,12),jo(e.d[i.p],e.d[r.p])},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nmr,"CrossingsCounter/lambda$3$Type",1953),ncm(1954,1,nbE,bL),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,12),CT(),jB(t,new Ea(e,Qx(e.e.c.length+e.g.c.length)))},Nj(nmr,"CrossingsCounter/lambda$4$Type",1954),ncm(1955,1,nbV,bN),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,12),CT(),e!=t},Nj(nmr,"CrossingsCounter/lambda$5$Type",1955),ncm(1956,1,nbE,bx),nPB.Cd=function(n){ET(this,n)},Nj(nmr,"CrossingsCounter/lambda$6$Type",1956),ncm(1957,1,nbE,k3),nPB.Cd=function(n){var t;CT(),K3(this.b,(t=this.a,CY(n,12),t))},Nj(nmr,"CrossingsCounter/lambda$7$Type",1957),ncm(839,1,ndK,rz),nPB.Lb=function(n){return CT(),Pn(CY(n,12),(nlF(),nFi))},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return CT(),Pn(CY(n,12),(nlF(),nFi))},Nj(nmr,"CrossingsCounter/lambda$8$Type",839),ncm(1949,1,{},b$),Nj(nmr,"HyperedgeCrossingsCounter",1949),ncm(478,1,{34:1,478:1},Ov),nPB.Fd=function(n){var t=CY(n,478);return this.e<t.e?-1:this.e>t.e?1:this.f<t.f?-1:this.f>t.f?1:XS(this)-XS(t)},nPB.b=0,nPB.c=0,nPB.e=0,nPB.f=0;var nAQ=Nj(nmr,"HyperedgeCrossingsCounter/Hyperedge",478);ncm(374,1,{34:1,374:1},x0),nPB.Fd=function(n){var t=CY(n,374);if(this.c<t.c)return -1;if(this.c>t.c)return 1;if(this.b<t.b)return -1;if(this.b>t.b)return 1;if(this.a!=t.a)return XS(this.a)-XS(t.a);if(this.d==(Ft(),nqp)&&t.d==nqg)return -1;if(this.d==nqg&&t.d==nqp)return 1;return 0},nPB.b=0,nPB.c=0;var nAJ=Nj(nmr,"HyperedgeCrossingsCounter/HyperedgeCorner",374);ncm(531,22,{3:1,34:1,22:1,531:1},k4);var nAY=qc(nmr,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,nPw,function(){return Ft(),Vw(DY(nAY,1),nbG,531,0,[nqp,nqg])},function(n){return Ft(),qa((FZ(),nqm),n)});ncm(1425,1,nyL,hv),nPB.rg=function(n){return CY(niK(CY(n,36),(nlF(),nKU)),21).Hc((no7(),nKc))?nqv:null},nPB.Kf=function(n,t){!function(n,t,e){var i;for(e.Ug("Interactive node placement",1),n.a=CY(niK(t,(nlF(),nFf)),312),i=new fU(t.b);i.a<i.c.c.length;)!function(n,t){var e,i,r,a,c,o,u,s,h;for(e=nw_,ni8(),o=n$v,r=new fU(t.a);r.a<r.c.c.length;)(a=(i=CY(RU(r),10)).k)!=n$v&&(null==(c=PI(niK(i,(nlF(),nK8))))?(e=nP_.Math.max(e,0),i.n.b=e+Fu(s=n.a,a,o,s.c)):i.n.b=(xf(c),c)),u=Fu(h=n.a,a,o,h.c),i.n.b<e+u+i.d.d&&(i.n.b=e+u+i.d.d),e=i.n.b+i.o.b+i.d.a,o=a}(n,CY(RU(i),30));e.Vg()}(this,CY(n,36),t)},Nj(nyK,"InteractiveNodePlacer",1425),ncm(1426,1,nyL,hy),nPB.rg=function(n){return CY(niK(CY(n,36),(nlF(),nKU)),21).Hc((no7(),nKc))?nqy:null},nPB.Kf=function(n,t){var e;e=CY(n,36),t.Ug("Linear segments node placement",1),this.b=CY(niK(e,(nlF(),nFf)),312),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A;for(C=new du,b=new fU(t.b);b.a<b.c.c.length;)for(y=new fU(CY(RU(b),30).a);y.a<y.c.c.length;){for((v=CY(RU(y),10)).p=-1,f=nbJ,E=nbJ,j=new fU(v.j);j.a<j.c.c.length;){for(r=new fU((T=CY(RU(j),12)).e);r.a<r.c.c.length;)e=CY(RU(r),18),S=CY(niK(e,(nlL(),nUl)),17).a,f=nP_.Math.max(f,S);for(i=new fU(T.g);i.a<i.c.c.length;)e=CY(RU(i),18),S=CY(niK(e,(nlL(),nUl)),17).a,E=nP_.Math.max(E,S)}VD(v,nqk,Qx(f)),VD(v,nqM,Qx(E))}for(g=0,l=new fU(t.b);l.a<l.c.c.length;)for(y=new fU(CY(RU(l),30).a);y.a<y.c.c.length;)(v=CY(RU(y),10)).p<0&&((O=new ga).b=g++,function n(t,e,i){var r,a,c,o,u;if(r=e.k,e.p>=0)return!1;if(e.p=i.b,jB(i.e,e),r==(ni8(),n$m)||r==n$y){for(a=new fU(e.j);a.a<a.c.c.length;)for(u=new lx(new fU(new lN(CY(RU(a),12)).a.g));jr(u.a);)if(o=(c=CY(RU(u.a),18).d.i).k,e.c!=c.c&&(o==n$m||o==n$y)&&n(t,c,i))return!0}return!0}(n,v,O),dk(C.c,O));for(c=0,M=SY(C.c.length),h=SY(C.c.length);c<C.c.length;c++)jB(M,new du),jB(h,Qx(0));for(!function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(b=t.c.length,l=0,f=new fU(n.b);f.a<f.c.c.length;)if(0!=(p=(h=CY(RU(f),30)).a).c.length){for(g=new fU(p),s=0,m=null,r=CY(RU(g),10),a=null;r;){if((a=CY(I0(t,r.p),261)).c>=0){for(u=null,o=new Kp(h.a,s+1);o.b<o.d.gc()&&(Px(o.b<o.d.gc()),c=CY(o.d.Xb(o.c=o.b++),10),(u=CY(I0(t,c.p),261)).d!=a.d||!(u.c<a.c));)u=null;u&&(m&&(_o(i,r.p,Qx(CY(I0(i,r.p),17).a-1)),CY(I0(e,m.p),15).Mc(a)),a=function(n,t,e){var i,r,a,c;for(c=H6(n.e,t,0),(a=new ga).b=e,i=new Kp(n.e,c);i.b<i.d.gc();)Px(i.b<i.d.gc()),(r=CY(i.d.Xb(i.c=i.b++),10)).p=e,jB(a.e,r),N6(i);return a}(a,r,b++),dk(t.c,a),jB(e,new du),m?(CY(I0(e,m.p),15).Fc(a),jB(i,Qx(1))):jB(i,Qx(0)))}w=null,g.a<g.c.c.length&&(w=CY(RU(g),10),d=CY(I0(t,w.p),261),CY(I0(e,r.p),15).Fc(d),_o(i,w.p,Qx(CY(I0(i,w.p),17).a+1))),a.d=l,a.c=s++,m=r,r=w}++l}}(t,C,M,h),I=CY(ZB(C,BJ(nAZ,nyF,261,C.c.length,0,1)),854),k=CY(ZB(M,BJ(nPf,ngF,15,M.c.length,0,1)),198),s=BJ(n4s,nwl,28,h.c.length,15,1),o=0;o<s.length;o++)s[o]=(RN(o,h.c.length),CY(h.c[o],17)).a;for(u=0,p=0,m=new du;u<I.length;u++)0==s[u]&&dk(m.c,I[u]);for(d=BJ(n4s,nwl,28,I.length,15,1);0!=m.c.length;)for(d[(O=CY(_V(m,0),261)).b]=p++;!k[O.b].dc();)A=CY(k[O.b].gd(0),261),--s[A.b],0==s[A.b]&&dk(m.c,A);for(a=0,n.a=BJ(nAZ,nyF,261,I.length,0,1);a<I.length;a++)for(w=I[a],P=d[a],n.a[P]=w,w.b=P,y=new fU(w.e);y.a<y.c.c.length;)(v=CY(RU(y),10)).p=P;n.a}(this,e),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(o=BJ(n4s,nwl,28,t.b.c.length,15,1),s=BJ(nAa,nbG,273,t.b.c.length,0,1),u=BJ(nAr,npU,10,t.b.c.length,0,1),f=n.a,l=0,b=f.length;l<b;++l){for(h=f[l],d=0,c=new fU(h.e);c.a<c.c.c.length;)i=Tk((r=CY(RU(c),10)).c),++o[i],w=pj(PI(niK(t,(nlL(),nUv)))),o[i]>0&&u[i]&&(w=jh(n.b,u[i],r)),d=nP_.Math.max(d,r.c.c.b+w);for(a=new fU(h.e);a.a<a.c.c.length;)(r=CY(RU(a),10)).n.b=d+r.d.d,(e=r.c).c.b=d+r.d.d+r.o.b+r.d.a,s[H6(e.b.b,e,0)]=r.k,u[H6(e.b.b,e,0)]=r}}(this,e),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;i=pj(PI(niK(t,(nlL(),nHq)))),k=CY(niK(t,nUx),17).a,l=4,r=3,M=20/k,b=!1,u=0,c=nl3;do{for(a=1!=u,f=0!=u,E=0,g=n.a,m=0,y=g.length;m<y;++m)(w=g[m]).f=null,function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M;for(M=0,b=0,f=new fU(t.e);f.a<f.c.c.length;){for(h=CY(RU(f),10),l=0,o=0,u=e?CY(niK(h,nqk),17).a:nbJ,p=i?CY(niK(h,nqM),17).a:nbJ,s=nP_.Math.max(u,p),v=new fU(h.j);v.a<v.c.c.length;){if(m=CY(RU(v),12),y=h.n.b+m.n.b+m.a.b,i)for(c=new fU(m.g);c.a<c.c.c.length;)w=(d=(a=CY(RU(c),18)).d).i,t!=n.a[w.p]&&(g=nP_.Math.max(CY(niK(w,nqk),17).a,CY(niK(w,nqM),17).a),(k=CY(niK(a,(nlL(),nUl)),17).a)>=s&&k>=g&&(l+=w.n.b+d.n.b+d.a.b-y,++o));if(e)for(c=new fU(m.e);c.a<c.c.c.length;)w=(d=(a=CY(RU(c),18)).c).i,t!=n.a[w.p]&&(g=nP_.Math.max(CY(niK(w,nqk),17).a,CY(niK(w,nqM),17).a),(k=CY(niK(a,(nlL(),nUl)),17).a)>=s&&k>=g&&(l+=w.n.b+d.n.b+d.a.b-y,++o))}o>0&&(M+=l/o,++b)}b>0?(t.a=r*M/b,t.g=b):(t.a=0,t.g=0)}(n,w,a,f,i),E+=nP_.Math.abs(w.a);do o=function(n,t){var e,i,r,a,c,o,u,s,h,f;for(e=!1,h=nbQ*pj(PI(niK(t,(nlL(),nUC)))),i=new fU(t.b);i.a<i.c.c.length;)for(c=new fU(CY(RU(i),30).a),r=CY(RU(c),10),o=Lv(n.a[r.p]);c.a<c.c.c.length;)a=CY(RU(c),10),o!=(u=Lv(n.a[a.p]))&&(s=jh(n.b,r,a),r.n.b+r.o.b+r.d.a+o.a+s>a.n.b-a.d.d+u.a+h&&(f=o.g+u.g,u.a=(u.g*u.a+o.g*o.a)/f,u.g=f,o.f=u,e=!0)),r=a,o=u;return e}(n,t);while(o)for(d=n.a,p=0,v=d.length;p<v;++p)if(0!=(e=Lv(w=d[p]).a))for(h=new fU(w.e);h.a<h.c.c.length;)s=CY(RU(h),10),s.n.b+=e;0==u||1==u?--l<=0&&(E<c||-l>k)?(u=2,c=nl3):(u=1*(0==u),c=E):(b=E>=c||c-E<M,c=E,b&&--r)}while(!(b&&r<=0))}(this,e),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;for(m=n.a,v=0,y=m.length;v<y;++v){for(p=m[v],u=nl3,s=nl3,b=new fU(p.e);b.a<b.c.c.length;)(a=(f=CY(RU(b),10)).c?H6(f.c.a,f,0):-1)>0?(h=CY(I0(f.c.a,a-1),10),E=jh(n.b,f,h),d=f.n.b-f.d.d-(h.n.b+h.o.b+h.d.a+E)):d=f.n.b-f.d.d,u=nP_.Math.min(d,u),a<f.c.a.c.length-1?(h=CY(I0(f.c.a,a+1),10),E=jh(n.b,f,h),g=h.n.b-h.d.d-(f.n.b+f.o.b+f.d.a+E)):g=2*f.n.b,s=nP_.Math.min(g,s);for(o=nl3,r=!1,j=new fU((i=CY(I0(p.e,0),10)).j);j.a<j.c.c.length;)for(T=CY(RU(j),12),w=i.n.b+T.n.b+T.a.b,e=new fU(T.e);e.a<e.c.c.length;)t=(k=CY(RU(e),18).c).i.n.b+k.n.b+k.a.b-w,nP_.Math.abs(t)<nP_.Math.abs(o)&&nP_.Math.abs(t)<(t<0?u:s)&&(o=t,r=!0);for(M=new fU((c=CY(I0(p.e,p.e.c.length-1),10)).j);M.a<M.c.c.length;)for(k=CY(RU(M),12),w=c.n.b+k.n.b+k.a.b,e=new fU(k.g);e.a<e.c.c.length;)t=(T=CY(RU(e),18).d).i.n.b+T.n.b+T.a.b-w,nP_.Math.abs(t)<nP_.Math.abs(o)&&nP_.Math.abs(t)<(t<0?u:s)&&(o=t,r=!0);if(r&&0!=o)for(l=new fU(p.e);l.a<l.c.c.length;)f=CY(RU(l),10),f.n.b+=o}}(this),this.a=null,this.b=null,t.Vg()},Nj(nyK,"LinearSegmentsNodePlacer",1426),ncm(261,1,{34:1,261:1},ga),nPB.Fd=function(n){var t;return t=CY(n,261),this.b-t.b},nPB.Fb=function(n){var t;return!!jM(n,261)&&(t=CY(n,261),this.b==t.b)},nPB.Hb=function(){return this.b},nPB.Ib=function(){return"ls"+niV(this.e)},nPB.a=0,nPB.b=0,nPB.c=-1,nPB.d=-1,nPB.g=0;var nAZ=Nj(nyK,"LinearSegmentsNodePlacer/LinearSegment",261);ncm(1428,1,nyL,AF),nPB.rg=function(n){return CY(niK(CY(n,36),(nlF(),nKU)),21).Hc((no7(),nKc))?nqE:null},nPB.Kf=function(n,t){!function(n,t,e){e.Ug("Network simplex node placement",1),n.e=t,n.n=CY(niK(t,(nlF(),nFf)),312),function(n){var t,e,i,r,a,c,o,u,h,f,l,b;for(n.f=new dY,o=0,i=0,r=new fU(n.e.b);r.a<r.c.c.length;)for(c=new fU(CY(RU(r),30).a);c.a<c.c.c.length;){for((a=CY(RU(c),10)).p=o++,e=new Le(Sb(JV(a).a.Kc(),new s));ncv(e);)CY(_I(e),18).p=i++;for(t=nhY(a),f=new fU(a.j);f.a<f.c.c.length;)h=CY(RU(f),12),t&&(b=h.a.b)!=nP_.Math.floor(b)&&(u=b-KI(zF(nP_.Math.round(b))),h.a.b-=u),(l=h.n.b+h.a.b)!=nP_.Math.floor(l)&&(u=l-KI(zF(nP_.Math.round(l))),h.n.b-=u)}n.g=o,n.b=i,n.i=BJ(nA0,nl7,412,o,0,1),n.c=BJ(nA1,nl7,655,i,0,1),n.d.a.$b()}(n);for(f=new fU(n.e.b);f.a<f.c.c.length;)!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;for(r=null,i=new fU(t.a);i.a<i.c.c.length;)nhY(e=CY(RU(i),10))?(o=SA(v4(new d0,e),n.f),u=SA(v4(new d0,e),n.f),s=new x2(e,!0,o,u),h=e.o.b,nnT(),f=(!e.q?($O(),$O(),nOB):e.q)._b((nlL(),nHX))?CY(niK(e,nHX),203):CY(niK(xi(e),nHz),203),l=1e4,f==nGa&&(l=1),b=noI(v2(v0(v1(v3(new d1,l),Dy(nP_.Math.ceil(h))),o),u)),f==nGc&&LX(n.d,b),nsI(n,Yi(JH(e,(nf5(),n1y))),s),nsI(n,JH(e,n1n),s),a=s):(w=SA(v4(new d0,e),n.f),vZ(xX(new Aa(null,new R$(e.j,16)),new rZ),new k5(n,w)),a=new x2(e,!1,w,w)),n.i[e.p]=a,r&&(c=r.c.d.a+jh(n.n,r.c,e)+e.d.d,r.b||(c+=r.c.o.b),noI(v2(v0(v3(v1(new d1,Dy(nP_.Math.ceil(c))),0),r.d),a.a))),r=a}(n,CY(RU(f),30));if(vZ(xX(UL(UL(new Aa(null,new R$(n.e.b,16)),new r6),new at),new ae),new bU(n)),vZ(UL(new Aa(null,new R$(n.e.b,16)),new r1),new bK(n)),vZ(xX(UL(xX(UL(new Aa(null,new R$(n.e.b,16)),new ai),new ar),new aa),new ac),new bR(n)),pT(PC(niK(n.e,(nlL(),nHG))))&&((a=e.eh(1)).Ug("Straight Edges Pre-Processing",1),!function(n){var t,e,i,r,a,c,o,u,s,h;for(n.j=BJ(n4s,nwl,28,n.g,15,1),n.o=new du,vZ(UL(new Aa(null,new R$(n.e.b,16)),new r5),new b_(n)),n.a=BJ(n4h,ndV,28,n.b,16,1),QW(new Aa(null,new R$(n.e.b,16)),new bH(n)),h=new du,vZ(xX(UL(new Aa(null,new R$(n.e.b,16)),new r9),new bB(n)),new k8(n,h)),o=new fU(h);o.a<o.c.c.length;)if(!((c=CY(RU(o),515)).c.length<=1)){if(2==c.c.length){!function(n){var t,e;if(2!=n.c.length)throw new px("Order only allowed for two paths.").e;RN(0,n.c.length),t=CY(n.c[0],18),RN(1,n.c.length),e=CY(n.c[1],18),t.d.i!=e.c.i&&(n.c.length=0,dk(n.c,e),dk(n.c,t))}(c),nhY((RN(0,c.c.length),CY(c.c[0],18)).d.i)||jB(n.o,c);continue}if(!(0!=c.c.length&&((RN(0,c.c.length),CY(c.c[0],18)).c.i.k==(ni8(),n$m)||_g(xz(new Aa(null,new R$(c,16)),new rQ),new rJ))||function(n,t){var e;return 0!=n.c.length&&(e=YF((RN(0,n.c.length),CY(n.c[0],18)).c.i),Rn(),e==(nnT(),nGc)||e==nGa||_g(xz(new Aa(null,new R$(n,16)),new rY),new bD(t)))}(c,new r8)))for(u=new fU(c),i=null;u.a<u.c.c.length;)t=CY(RU(u),18),e=n.c[t.p],s=(!i||u.a>=u.c.c.length?FM((ni8(),n$v),n$m):FM((ni8(),n$m),n$m))*2,r=e.a.g,e.a.g=nP_.Math.max(r,r+(s-r)),a=e.b.g,e.b.g=nP_.Math.max(a,a+(s-a)),i=t}}(n),a.Vg()),!function(n){var t,e,i;for(e=0,i=new fU(n.a);i.a<i.c.c.length;)CY(RU(i),125).d=e++;t=function(n){var t,e,i,r;for(t=new du,LY(e=BJ(n4h,ndV,28,n.a.c.length,16,1),e.length),r=new fU(n.a);r.a<r.c.c.length;)e[(i=CY(RU(r),125)).d]||(dk(t.c,i),function n(t,e,i){var r;if(!i[e.d])for(i[e.d]=!0,r=new fU(W1(e));r.a<r.c.c.length;)n(t,J6(CY(RU(r),218),e),i)}(n,i,e));return t}(n),t.c.length>1&&function(n,t){var e,i,r;for(e=SA(new d0,n),r=new fU(t);r.a<r.c.c.length;)i=CY(RU(r),125),noI(v2(v0(v3(v1(new d1,0),0),e),i));}(n,t)}(n.f),r=CY(niK(t,nUx),17).a*n.f.a.c.length,nsd(((l=Cv(n.f)).f=r,(b=l).a=!1,b),e.eh(1)),0!=n.d.a.gc()){for((a=e.eh(1)).Ug("Flexible Where Space Processing",1),c=CY(SO(Ll(xz(new Aa(null,new R$(n.f.a,16)),new r0),new rV)),17).a,o=CY(SO(Lf(xz(new Aa(null,new R$(n.f.a,16)),new r2),new rW)),17).a-c,u=SA(new d0,n.f),h=SA(new d0,n.f),noI(v2(v0(v1(v3(new d1,2e4),o),u),h)),vZ(xX(xX(LV(n.i),new r3),new r4),new x3(c,u,o,h)),i=n.d.a.ec().Kc();i.Ob();)CY(i.Pb(),218).g=1;nsd(((w=Cv(n.f)).f=r,(d=w).a=!1,d),a.eh(1)),a.Vg()}if(pT(PC(niK(t,nHG)))){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m;for((a=e.eh(1)).Ug("Straight Edges Post-Processing",1),Xx(p=new vq,n.o),m=new gl;0!=p.b;)nla(n,g=CY(0==p.b?null:(Px(0!=p.b),Gy(p,p.a.a)),515),!0)&&jB(m.a,g);for(;0!=m.a.c.length;)nla(n,g=CY(W_(m),515),!1);a.Vg()}!function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;for(e=new fU(n.e.b);e.a<e.c.c.length;)for(r=new fU(CY(RU(e),30).a);r.a<r.c.c.length;)if(i=CY(RU(r),10),u=(f=n.i[i.p]).a.e,o=f.d.e,i.n.b=u,d=o-u-i.o.b,t=nhY(i),nnT(),h=(!i.q?($O(),$O(),nOB):i.q)._b((nlL(),nHX))?CY(niK(i,nHX),203):CY(niK(xi(i),nHz),203),t&&(h==nGc||h==nGa)&&(i.o.b+=d),t&&(h==nGu||h==nGc||h==nGa)){for(b=new fU(i.j);b.a<b.c.c.length;)l=CY(RU(b),12),(nf5(),n1a).Hc(l.j)&&(s=CY(NR(n.k,l),125),l.n.b=s.e-u);for(c=new fU(i.b);c.a<c.c.c.length;)a=CY(RU(c),72),(w=CY(niK(i,nHB),21)).Hc((nc$(),nZ_))?a.n.b+=d:w.Hc(nZB)&&(a.n.b+=d/2);(h==nGc||h==nGa)&&JH(i,(nf5(),n1m)).Jc(new bF(d))}}(n),n.e=null,n.f=null,n.i=null,n.c=null,LH(n.k),n.j=null,n.a=null,n.o=null,n.d.a.$b(),e.Vg()}(this,CY(n,36),t)},nPB.b=0,nPB.g=0,Nj(nyK,"NetworkSimplexPlacer",1428),ncm(1447,1,ndy,rV),nPB.Ne=function(n,t){return jo(CY(n,17).a,CY(t,17).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyK,"NetworkSimplexPlacer/0methodref$compare$Type",1447),ncm(1449,1,ndy,rW),nPB.Ne=function(n,t){return jo(CY(n,17).a,CY(t,17).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyK,"NetworkSimplexPlacer/1methodref$compare$Type",1449),ncm(655,1,{655:1},k6);var nA1=Nj(nyK,"NetworkSimplexPlacer/EdgeRep",655);ncm(412,1,{412:1},x2),nPB.b=!1;var nA0=Nj(nyK,"NetworkSimplexPlacer/NodeRep",412);ncm(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},gh),Nj(nyK,"NetworkSimplexPlacer/Path",515),ncm(1429,1,{},rQ),nPB.Kb=function(n){return CY(n,18).d.i.k},Nj(nyK,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),ncm(1430,1,nbV,rJ),nPB.Mb=function(n){return CY(n,273)==(ni8(),n$m)},Nj(nyK,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),ncm(1431,1,{},rY),nPB.Kb=function(n){return CY(n,18).d.i},Nj(nyK,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),ncm(1432,1,nbV,bD),nPB.Mb=function(n){return PJ(YF(CY(n,10)))},Nj(nyK,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),ncm(1433,1,nbV,rZ),nPB.Mb=function(n){var t;return t=CY(n,12),Rn(),(nf5(),n1a).Hc(t.j)},Nj(nyK,"NetworkSimplexPlacer/lambda$0$Type",1433),ncm(1434,1,nbE,k5),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,12),xM(t.k,i,e)},Nj(nyK,"NetworkSimplexPlacer/lambda$1$Type",1434),ncm(1443,1,nbE,bR),nPB.Cd=function(n){var t,e,i,r,a,c,o,u;t=this.a,u=(e=CY(n,18)).c.i.k!=(ni8(),n$v)?e.d:e.c,i=function(n,t){if(t==n.c)return n.d;if(t==n.d)return n.c;throw new pN("'port' must be either the source port or target port of the edge.").e}(e,u).i,a=CY(NR(t.k,u),125),r=t.i[i.p].a,OG(u.i)<(i.c?H6(i.c.a,i,0):-1)?(c=a,o=r):(c=r,o=a),noI(v2(v0(v3(v1(new d1,0),4),c),o))},Nj(nyK,"NetworkSimplexPlacer/lambda$10$Type",1443),ncm(1444,1,{},r1),nPB.Kb=function(n){return Rn(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nyK,"NetworkSimplexPlacer/lambda$11$Type",1444),ncm(1445,1,nbE,bK),nPB.Cd=function(n){!function(n,t){var e,i,r,a;for(a=JH(t,(nf5(),n1m)).Kc();a.Ob();)i=CY(a.Pb(),12),(e=CY(niK(i,(nlF(),nFi)),10))&&noI(v2(v0(v3(v1(new d1,0),.1),n.i[t.p].d),n.i[e.p].a));for(r=JH(t,n1t).Kc();r.Ob();)i=CY(r.Pb(),12),(e=CY(niK(i,(nlF(),nFi)),10))&&noI(v2(v0(v3(v1(new d1,0),.1),n.i[e.p].d),n.i[t.p].a))}(this.a,CY(n,10))},Nj(nyK,"NetworkSimplexPlacer/lambda$12$Type",1445),ncm(1446,1,{},r0),nPB.Kb=function(n){return Rn(),Qx(CY(n,125).e)},Nj(nyK,"NetworkSimplexPlacer/lambda$13$Type",1446),ncm(1448,1,{},r2),nPB.Kb=function(n){return Rn(),Qx(CY(n,125).e)},Nj(nyK,"NetworkSimplexPlacer/lambda$15$Type",1448),ncm(1450,1,nbV,r3),nPB.Mb=function(n){return Rn(),CY(n,412).c.k==(ni8(),n$v)},Nj(nyK,"NetworkSimplexPlacer/lambda$17$Type",1450),ncm(1451,1,nbV,r4),nPB.Mb=function(n){return Rn(),CY(n,412).c.j.c.length>1},Nj(nyK,"NetworkSimplexPlacer/lambda$18$Type",1451),ncm(1452,1,nbE,x3),nPB.Cd=function(n){var t,e,i,r,a;t=this.c,e=this.b,i=this.d,r=this.a,a=CY(n,412),Rn(),noI(v2(v0(v1(v3(new d1,0),a.d.e-t),e),a.d)),noI(v2(v0(v1(v3(new d1,0),i-a.a.e),a.a),r))},nPB.c=0,nPB.d=0,Nj(nyK,"NetworkSimplexPlacer/lambda$19$Type",1452),ncm(1435,1,{},r6),nPB.Kb=function(n){return Rn(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nyK,"NetworkSimplexPlacer/lambda$2$Type",1435),ncm(1453,1,nbE,bF),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,12),Rn(),e.n.b+=t},nPB.a=0,Nj(nyK,"NetworkSimplexPlacer/lambda$20$Type",1453),ncm(1454,1,{},r5),nPB.Kb=function(n){return Rn(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nyK,"NetworkSimplexPlacer/lambda$21$Type",1454),ncm(1455,1,nbE,b_),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,10),t.j[e.p]=function(n){var t,e,i,r;for(t=0,e=0,r=new fU(n.j);r.a<r.c.c.length;)if(t=AW(JF(t,Bs(xX(new Aa(null,new R$((i=CY(RU(r),12)).e,16)),new r7)))),e=AW(JF(e,Bs(xX(new Aa(null,new R$(i.g,16)),new an)))),t>1||e>1)return 2;return 2*(t+e==1)}(e)},Nj(nyK,"NetworkSimplexPlacer/lambda$22$Type",1455),ncm(1456,1,nbV,r8),nPB.Mb=function(n){return PJ(n)},Nj(nyK,"NetworkSimplexPlacer/lambda$23$Type",1456),ncm(1457,1,{},r9),nPB.Kb=function(n){return Rn(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nyK,"NetworkSimplexPlacer/lambda$24$Type",1457),ncm(1458,1,nbV,bB),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,10),2==t.j[e.p]},Nj(nyK,"NetworkSimplexPlacer/lambda$25$Type",1458),ncm(1459,1,nbE,k8),nPB.Cd=function(n){!function(n,t,e){var i,r,a;for(r=new Le(Sb(JX(e).a.Kc(),new s));ncv(r);)_p(i=CY(_I(r),18))||!_p(i)&&i.c.i.c==i.d.i.c||(a=function n(t,e,i,r){var a,c,o;if(o=neI(e,i),dk(r.c,e),-1==t.j[o.p]||2==t.j[o.p]||t.a[e.p])return r;for(t.j[o.p]=-1,c=new Le(Sb(JX(o).a.Kc(),new s));ncv(c);)if(!_p(a=CY(_I(c),18))&&!(!_p(a)&&a.c.i.c==a.d.i.c)&&a!=e)return n(t,a,o,r);return r}(n,i,e,new gh)).c.length>1&&dk(t.c,a)}(this.a,this.b,CY(n,10))},Nj(nyK,"NetworkSimplexPlacer/lambda$26$Type",1459),ncm(1460,1,nbV,r7),nPB.Mb=function(n){return Rn(),!_p(CY(n,18))},Nj(nyK,"NetworkSimplexPlacer/lambda$27$Type",1460),ncm(1461,1,nbV,an),nPB.Mb=function(n){return Rn(),!_p(CY(n,18))},Nj(nyK,"NetworkSimplexPlacer/lambda$28$Type",1461),ncm(1462,1,{},bH),nPB.Ve=function(n,t){var e,i;return e=this.a,function(n,t,e){var i,r,a,c,o,u,s,h;for(u=new du,o=new fU(t.a);o.a<o.c.c.length;)for(h=JH(CY(RU(o),10),(nf5(),n1n)).Kc();h.Ob();)for(r=new fU(CY(h.Pb(),12).g);r.a<r.c.c.length;)!_p(i=CY(RU(r),18))&&i.c.i.c==i.d.i.c||_p(i)||i.d.i.c!=e||dk(u.c,i);for(c=Yi(e.a).Kc();c.Ob();)for(h=JH(CY(c.Pb(),10),(nf5(),n1y)).Kc();h.Ob();)for(r=new fU(CY(h.Pb(),12).e);r.a<r.c.c.length;)if(!(!_p(i=CY(RU(r),18))&&i.c.i.c==i.d.i.c||_p(i))&&i.c.i.c==t&&0!=u.c.length){for(Px((s=new Kp(u,u.c.length)).b>0),a=CY(s.a.Xb(s.c=--s.b),18);a!=i&&s.b>0;)n.a[a.p]=!0,n.a[i.p]=!0,Px(s.b>0),a=CY(s.a.Xb(s.c=--s.b),18);s.b>0&&N6(s)}}(e,CY(n,30),i=CY(t,30)),i},Nj(nyK,"NetworkSimplexPlacer/lambda$29$Type",1462),ncm(1436,1,{},at),nPB.Kb=function(n){return Rn(),new Aa(null,new Nf(new Le(Sb(JV(CY(n,10)).a.Kc(),new s))))},Nj(nyK,"NetworkSimplexPlacer/lambda$3$Type",1436),ncm(1437,1,nbV,ae),nPB.Mb=function(n){var t;return Rn(),t=CY(n,18),Rn(),!_p(t)&&!(!_p(t)&&t.c.i.c==t.d.i.c)},Nj(nyK,"NetworkSimplexPlacer/lambda$4$Type",1437),ncm(1438,1,nbE,bU),nPB.Cd=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b;t=this.a,e=CY(n,18),i=SA(new d0,t.f),u=t.i[e.c.i.p],l=t.i[e.d.i.p],o=e.c,f=e.d,c=o.a.b,h=f.a.b,u.b||(c+=o.n.b),l.b||(h+=f.n.b),s=Dy(nP_.Math.max(0,c-h)),a=Dy(nP_.Math.max(0,h-c)),b=nP_.Math.max(1,CY(niK(e,(nlL(),nUl)),17).a)*FM(e.c.i.k,e.d.i.k),r=new k6(noI(v2(v0(v1(v3(new d1,b),a),i),CY(NR(t.k,e.c),125))),noI(v2(v0(v1(v3(new d1,b),s),i),CY(NR(t.k,e.d),125)))),t.c[e.p]=r},Nj(nyK,"NetworkSimplexPlacer/lambda$5$Type",1438),ncm(1439,1,{},ai),nPB.Kb=function(n){return Rn(),new Aa(null,new R$(CY(n,30).a,16))},Nj(nyK,"NetworkSimplexPlacer/lambda$6$Type",1439),ncm(1440,1,nbV,ar),nPB.Mb=function(n){return Rn(),CY(n,10).k==(ni8(),n$v)},Nj(nyK,"NetworkSimplexPlacer/lambda$7$Type",1440),ncm(1441,1,{},aa),nPB.Kb=function(n){return Rn(),new Aa(null,new Nf(new Le(Sb(JX(CY(n,10)).a.Kc(),new s))))},Nj(nyK,"NetworkSimplexPlacer/lambda$8$Type",1441),ncm(1442,1,nbV,ac),nPB.Mb=function(n){var t;return Rn(),!_p(t=CY(n,18))&&t.c.i.c==t.d.i.c},Nj(nyK,"NetworkSimplexPlacer/lambda$9$Type",1442),ncm(1424,1,nyL,hk),nPB.rg=function(n){return CY(niK(CY(n,36),(nlF(),nKU)),21).Hc((no7(),nKc))?nqT:null},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f;for(t.Ug("Simple node placement",1),f=CY(niK(n,(nlF(),nFf)),312),o=0,a=new fU(n.b);a.a<a.c.c.length;){for((c=(i=CY(RU(a),30)).c).b=0,e=null,s=new fU(i.a);s.a<s.c.c.length;)u=CY(RU(s),10),e&&(c.b+=Y8(u,e,f.c)),c.b+=u.d.d+u.o.b+u.d.a,e=u;o=nP_.Math.max(o,c.b)}for(r=new fU(n.b);r.a<r.c.c.length;)for(h=(o-(c=(i=CY(RU(r),30)).c).b)/2,e=null,s=new fU(i.a);s.a<s.c.c.length;)u=CY(RU(s),10),e&&(h+=Y8(u,e,f.c)),h+=u.d.d,u.n.b=h,h+=u.o.b+u.d.a,e=u;t.Vg()}(CY(n,36),t)},Nj(nyK,"SimpleNodePlacer",1424),ncm(185,1,{185:1},nsl),nPB.Ib=function(){var n;return n="",this.c==(DI(),nqS)?n+=nd0:this.c==nqj&&(n+=nd1),this.o==(DA(),nqO)?n+=nge:this.o==nqC?n+="UP":n+="BALANCED",n},Nj(nyB,"BKAlignedLayout",185),ncm(523,22,{3:1,34:1,22:1,523:1},k9);var nA2=qc(nyB,"BKAlignedLayout/HDirection",523,nPw,function(){return DI(),Vw(DY(nA2,1),nbG,523,0,[nqS,nqj])},function(n){return DI(),qa((F3(),nqP),n)});ncm(522,22,{3:1,34:1,22:1,522:1},k7);var nA3=qc(nyB,"BKAlignedLayout/VDirection",522,nPw,function(){return DA(),Vw(DY(nA3,1),nbG,522,0,[nqO,nqC])},function(n){return DA(),qa((F4(),nqI),n)});ncm(1699,1,{},Mn),Nj(nyB,"BKAligner",1699),ncm(1702,1,{},ntV),Nj(nyB,"BKCompactor",1702),ncm(663,1,{663:1},ao),nPB.a=0,Nj(nyB,"BKCompactor/ClassEdge",663),ncm(467,1,{467:1},go),nPB.a=null,nPB.b=0,Nj(nyB,"BKCompactor/ClassNode",467),ncm(1427,1,nyL,Ma),nPB.rg=function(n){return CY(niK(CY(n,36),(nlF(),nKU)),21).Hc((no7(),nKc))?nqA:null},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E;switch(e.Ug("Brandes & Koepf node placement",1),n.a=t,n.c=function(n){var t,e,i,r,a,c,o,u,h,f,l;for((l=new au).d=0,c=new fU(n.b);c.a<c.c.c.length;)a=CY(RU(c),30),l.d+=a.a.c.length;for(i=0,r=0,l.a=BJ(n4s,nwl,28,n.b.c.length,15,1),h=0,f=0,l.e=BJ(n4s,nwl,28,l.d,15,1),e=new fU(n.b);e.a<e.c.c.length;)for((t=CY(RU(e),30)).p=i++,l.a[t.p]=r++,f=0,u=new fU(t.a);u.a<u.c.c.length;)(o=CY(RU(u),10)).p=h++,l.e[o.p]=f++;return l.c=new bG(l),l.b=SY(l.d),!function(n,t){var e,i,r,a,c,o,u,h;for(a=new fU(t.b);a.a<a.c.c.length;)for(u=new fU(CY(RU(a),30).a);u.a<u.c.c.length;){for(o=CY(RU(u),10),h=new du,c=0,i=new Le(Sb(Jz(o).a.Kc(),new s));ncv(i);)!_p(e=CY(_I(i),18))&&(_p(e)||e.c.i.c!=e.d.i.c)&&((r=CY(niK(e,(nlL(),nUl)),17).a)>c&&(c=r,h.c.length=0),r==c&&jB(h,new Ea(e.c.i,e)));$O(),ji(h,n.c),AC(n.b,o.p,h)}}(l,n),l.f=SY(l.d),!function(n,t){var e,i,r,a,c,o,u,h;for(a=new fU(t.b);a.a<a.c.c.length;)for(u=new fU(CY(RU(a),30).a);u.a<u.c.c.length;){for(o=CY(RU(u),10),h=new du,c=0,i=new Le(Sb(JV(o).a.Kc(),new s));ncv(i);)!_p(e=CY(_I(i),18))&&(_p(e)||e.c.i.c!=e.d.i.c)&&((r=CY(niK(e,(nlL(),nUl)),17).a)>c&&(c=r,h.c.length=0),r==c&&jB(h,new Ea(e.d.i,e)));$O(),ji(h,n.c),AC(n.f,o.p,h)}}(l,n),l}(t),i=CY(niK(t,(nlL(),nHU)),281),w=pT(PC(niK(t,nHG))),n.d=i==(neR(),nR2)&&!w||i==nRZ,!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;if(!((d=t.b.c.length)<3)){for(b=BJ(n4s,nwl,28,d,15,1),f=0,h=new fU(t.b);h.a<h.c.c.length;)s=CY(RU(h),30),b[f++]=s.a.c.length;for(i=1,l=new Kp(t.b,2);i<d-1;i++)for(Px(l.b<l.d.gc()),w=new fU((e=CY(l.d.Xb(l.c=l.b++),30)).a),a=0,o=0,u=0;u<b[i+1];u++)if(v=CY(RU(w),10),u==b[i+1]-1||nrm(n,v,i+1,i)){for(c=b[i]-1,nrm(n,v,i+1,i)&&(c=n.c.e[CY(CY(CY(I0(n.c.b,v.p),15).Xb(0),42).a,10).p]);o<=u;){if(!nrm(n,m=CY(I0(e.a,o),10),i+1,i))for(p=CY(I0(n.c.b,m.p),15).Kc();p.Ob();)g=CY(p.Pb(),42),((r=n.c.e[CY(g.a,10).p])<a||r>c)&&LX(n.b,CY(g.b,18));++o}a=c}}}(n,t),k=null,M=null,p=null,m=null,qL(4,nbU),g=new Bf(4),CY(niK(t,nHU),281).g){case 3:p=new nsl(t,n.c.d,(DA(),nqO),(DI(),nqj)),dk(g.c,p);break;case 1:m=new nsl(t,n.c.d,(DA(),nqC),(DI(),nqj)),dk(g.c,m);break;case 4:k=new nsl(t,n.c.d,(DA(),nqO),(DI(),nqS)),dk(g.c,k);break;case 2:M=new nsl(t,n.c.d,(DA(),nqC),(DI(),nqS)),dk(g.c,M);break;default:p=new nsl(t,n.c.d,(DA(),nqO),(DI(),nqj)),m=new nsl(t,n.c.d,nqC,nqj),k=new nsl(t,n.c.d,nqO,nqS),M=new nsl(t,n.c.d,nqC,nqS),dk(g.c,k),dk(g.c,M),dk(g.c,p),dk(g.c,m)}for(r=new Mn(t,n.c),o=new fU(g);o.a<o.c.c.length;)!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;for(o=new fU(n.a.b);o.a<o.c.c.length;)for(v=new fU((a=CY(RU(o),30)).a);v.a<v.c.c.length;)m=CY(RU(v),10),t.g[m.p]=m,t.a[m.p]=m,t.d[m.p]=0;for(u=n.a.b,t.c==(DI(),nqj)&&(u=Yi(u)),c=u.Kc();c.Ob();)for(a=CY(c.Pb(),30),b=-1,l=a.a,t.o==(DA(),nqC)&&(b=nl3,l=Yi(l)),k=l.Kc();k.Ob();)if(y=CY(k.Pb(),10),f=null,(f=t.c==nqj?CY(I0(n.b.f,y.p),15):CY(I0(n.b.b,y.p),15)).gc()>0)if(i=f.gc(),s=Dy(nP_.Math.floor((i+1)/2))-1,r=Dy(nP_.Math.ceil((i+1)/2))-1,t.o==nqC)for(h=r;h>=s;h--)t.a[y.p]==y&&(d=CY(f.Xb(h),42),w=CY(d.a,10),!vF(e,d.b)&&b>n.b.e[w.p]&&(t.a[w.p]=y,t.g[y.p]=t.g[w.p],t.a[y.p]=t.g[y.p],t.f[t.g[y.p].p]=(SB(),!!(pT(t.f[t.g[y.p].p])&y.k==(ni8(),n$m))),b=n.b.e[w.p]));else for(h=s;h<=r;h++)t.a[y.p]==y&&(p=CY(f.Xb(h),42),g=CY(p.a,10),!vF(e,p.b)&&b<n.b.e[g.p]&&(t.a[g.p]=y,t.g[y.p]=t.g[g.p],t.a[y.p]=t.g[y.p],t.f[t.g[y.p].p]=(SB(),!!(pT(t.f[t.g[y.p].p])&y.k==(ni8(),n$m))),b=n.b.e[g.p]))}(r,a=CY(RU(o),185),n.b),function(n){var t,e,i,r,a,c,o,u,h,f;for(u=new fL(new fS(na8(n)).a.vc().Kc());u.a.Ob();){for(i=CY(u.a.Pb(),44),h=0,f=0,h=(o=CY(i.ld(),10)).d.d,f=o.o.b+o.d.a,n.d[o.p]=0,t=o;(r=n.a[t.p])!=o;)e=function(n,t){var e,i;for(Re(),i=new Le(Sb(JX(n).a.Kc(),new s));ncv(i);)if((e=CY(_I(i),18)).d.i==t||e.c.i==t)return e;return null}(t,r),c=0,c=n.c==(DI(),nqj)?e.d.n.b+e.d.a.b-e.c.n.b-e.c.a.b:e.c.n.b+e.c.a.b-e.d.n.b-e.d.a.b,a=pj(n.d[t.p])+c,n.d[r.p]=a,h=nP_.Math.max(h,r.d.d-a),f=nP_.Math.max(f,a+r.o.b+r.d.a),t=r;t=o;do n.d[t.p]=pj(n.d[t.p])+h,t=n.a[t.p];while(t!=o)n.b[o.p]=h+f}}(a);for(b=new ntV(t,n.c),u=new fU(g);u.a<u.c.c.length;)!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;for(i=new fU(n.a.b);i.a<i.c.c.length;)for(o=new fU(CY(RU(i),30).a);o.a<o.c.c.length;)c=CY(RU(o),10),t.j[c.p]=c,t.i[c.p]=t.o==(DA(),nqC)?nw_:nwF;for(LH(n.c),a=n.a.b,t.c==(DI(),nqj)&&(a=Yi(a)),l=n.e,b=n.b,l.a=t,l.c=b,l.b.a.$b(),$p(l.d),dG(l.e.a.c,0),y$(t.p,null),r=a.Kc();r.Ob();)for(u=CY(r.Pb(),30).a,t.o==(DA(),nqC)&&(u=Yi(u)),f=u.Kc();f.Ob();)h=CY(f.Pb(),10),t.g[h.p]==h&&function n(t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g;if(null==i.p[e.p]){u=!0,i.p[e.p]=0,o=e,d=i.o==(DA(),nqO)?nw_:nwF;do a=t.b.e[o.p],c=o.c.a.c.length,i.o==nqO&&a>0||i.o==nqC&&a<c-1?(s=null,h=null,s=i.o==nqC?CY(I0(o.c.a,a+1),10):CY(I0(o.c.a,a-1),10),n(t,h=i.g[s.p],i),d=t.e.wg(d,e,o),i.j[e.p]==e&&(i.j[e.p]=i.j[h.p]),i.j[e.p]==i.j[h.p]?(w=jh(t.d,o,s),i.o==nqC?(r=pj(i.p[e.p]),l=pj(i.p[h.p])+pj(i.d[s.p])-s.d.d-w-o.d.a-o.o.b-pj(i.d[o.p]),u?(u=!1,i.p[e.p]=nP_.Math.min(l,d)):i.p[e.p]=nP_.Math.min(r,nP_.Math.min(l,d))):(r=pj(i.p[e.p]),l=pj(i.p[h.p])+pj(i.d[s.p])+s.o.b+s.d.a+w+o.d.d-pj(i.d[o.p]),u?(u=!1,i.p[e.p]=nP_.Math.max(l,d)):i.p[e.p]=nP_.Math.max(r,nP_.Math.max(l,d)))):(w=pj(PI(niK(t.a,(nlL(),nUC)))),b=Xg(t,i.j[e.p]),f=Xg(t,i.j[h.p]),i.o==nqC?RA(b,f,pj(i.p[e.p])+pj(i.d[o.p])+o.o.b+o.d.a+w-(pj(i.p[h.p])+pj(i.d[s.p])-s.d.d)):RA(b,f,pj(i.p[e.p])+pj(i.d[o.p])-o.d.d-pj(i.p[h.p])-pj(i.d[s.p])-s.o.b-s.d.a-w))):d=t.e.wg(d,e,o),o=i.a[o.p];while(o!=e)g=t.e,LX(g.b,e)}}(n,h,t);for(!function(n,t){var e,i,r,a,c,o,u;for(u=new vq,o=new fx(new fN(n.c).a.vc().Kc());o.a.Ob();)r=CY(o.a.Pb(),44),0==(a=CY(r.md(),467)).b&&F_(u,a,u.c.b,u.c);for(;0!=u.b;)for(null==(a=CY(0==u.b?null:(Px(0!=u.b),Gy(u,u.a.a)),467)).a&&(a.a=0),i=new fU(a.d);i.a<i.c.c.length;)null==(e=CY(RU(i),663)).b.a?e.b.a=pj(a.a)+e.a:t.o==(DA(),nqO)?e.b.a=nP_.Math.min(pj(e.b.a),pj(a.a)+e.a):e.b.a=nP_.Math.max(pj(e.b.a),pj(a.a)+e.a),--e.b.b,0==e.b.b&&IA(u,e.b);for(c=new fx(new fN(n.c).a.vc().Kc());c.a.Ob();)r=CY(c.a.Pb(),44),a=CY(r.md(),467),t.i[a.c.p]=a.a}(n,t),e=a.Kc();e.Ob();)for(f=new fU(CY(e.Pb(),30).a);f.a<f.c.c.length;)h=CY(RU(f),10),t.p[h.p]=t.p[t.g[h.p].p],h==t.g[h.p]&&(s=pj(t.i[t.j[h.p].p]),(t.o==(DA(),nqC)&&s>nw_||t.o==nqO&&s<nwF)&&(t.p[h.p]=pj(t.p[h.p])+s));n.e.xg()}(b,a=CY(RU(u),185));if(e._g())for(h=new fU(g);h.a<h.c.c.length;)a=CY(RU(h),185),e.bh(a+" size is "+ncR(a));if(l=null,n.d&&nhT(t,f=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E;for(o=0,p=t.c.length,r=new nsl(n.a,e,null,null),M=BJ(n4b,nwX,28,p,15,1),b=BJ(n4b,nwX,28,p,15,1),l=BJ(n4b,nwX,28,p,15,1),w=0;o<p;o++)b[o]=nl3,l[o]=nbJ;for(u=0;u<p;u++)for(RN(u,t.c.length),i=CY(t.c[u],185),M[u]=ncR(i),M[w]>M[u]&&(w=u),h=new fU(n.a.b);h.a<h.c.c.length;)for(g=new fU(CY(RU(h),30).a);g.a<g.c.c.length;)d=CY(RU(g),10),y=pj(i.p[d.p])+pj(i.d[d.p]),b[u]=nP_.Math.min(b[u],y),l[u]=nP_.Math.max(l[u],y+d.o.b);for(s=0,k=BJ(n4b,nwX,28,p,15,1);s<p;s++)(RN(s,t.c.length),CY(t.c[s],185)).o==(DA(),nqO)?k[s]=b[w]-b[s]:k[s]=l[w]-l[s];for(a=BJ(n4b,nwX,28,p,15,1),f=new fU(n.a.b);f.a<f.c.c.length;)for(v=new fU(CY(RU(f),30).a);v.a<v.c.c.length;){for(c=0,m=CY(RU(v),10);c<p;c++)a[c]=pj((RN(c,t.c.length),CY(t.c[c],185)).p[m.p])+pj((RN(c,t.c.length),CY(t.c[c],185)).d[m.p])+k[c];E=GP(S.prototype.Me,S,[]),a.sort(E),r.p[m.p]=(a[1]+a[2])/2,r.d[m.p]=0}return r}(n,g,n.c.d),e)&&(l=f),!l)for(h=new fU(g);h.a<h.c.c.length;)nhT(t,a=CY(RU(h),185),e)&&(!l||ncR(l)>ncR(a))&&(l=a);for(l||(RN(0,g.c.length),l=CY(g.c[0],185)),d=new fU(t.b);d.a<d.c.c.length;)for(y=new fU(CY(RU(d),30).a);y.a<y.c.c.length;)(v=CY(RU(y),10)).n.b=pj(l.p[v.p])+pj(l.d[v.p]);for(e._g()&&(e.bh("Chosen node placement: "+l),e.bh("Blocks: "+na8(l)),e.bh("Classes: "+function(n,t){var e,i,r,a,c;for(i=new FF,a=FU(new pU(n.g)).a.ec().Kc();a.Ob();){if(!(r=CY(a.Pb(),10))){t.bh("There are no classes in a balanced layout.");break}(e=CY(UC(i,c=n.j[r.p]),15))||Zq(i,c,e=new du),e.Fc(r)}return i}(l,e)),e.bh("Marked edges: "+n.b)),c=new fU(g);c.a<c.c.c.length;)(a=CY(RU(c),185)).g=null,a.b=null,a.a=null,a.d=null,a.j=null,a.i=null,a.p=null;(E=n.c).a=null,E.e=null,dG(E.b.c,0),dG(E.f.c,0),E.c=null,n.b.a.$b(),e.Vg()}(this,CY(n,36),t)},nPB.d=!1,Nj(nyB,"BKNodePlacer",1427),ncm(1700,1,{},au),nPB.d=0,Nj(nyB,"NeighborhoodInformation",1700),ncm(1701,1,ndy,bG),nPB.Ne=function(n,t){var e,i,r;return e=this,i=CY(n,42),r=CY(t,42),Dy(ID(e.a.e[CY(i.a,10).p]-e.a.e[CY(r.a,10).p]))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyB,"NeighborhoodInformation/NeighborComparator",1701),ncm(823,1,{}),Nj(nyB,"ThresholdStrategy",823),ncm(1825,823,{},gu),nPB.wg=function(n,t,e){return this.a.o==(DA(),nqC)?nwF:nw_},nPB.xg=function(){},Nj(nyB,"ThresholdStrategy/NullThresholdStrategy",1825),ncm(587,1,{587:1},Mc),nPB.c=!1,nPB.d=!1,Nj(nyB,"ThresholdStrategy/Postprocessable",587),ncm(1826,823,{},gs),nPB.wg=function(n,t,e){var i,r,a;return(r=t==e,i=this.a.a[e.p]==t,r||i)?(a=n,this.a.c==DI(),r&&(a=nhW(this,t,!0)),isNaN(a)||isFinite(a)||!i||(a=nhW(this,e,!1)),a):n},nPB.xg=function(){for(var n,t,e,i,r;0!=this.d.b;){if((t=nsG(this,e=CY(0==(i=this.d).b?null:(Px(0!=i.b),Gy(i,i.a.a)),587))).a)n=t.a,(pT(this.a.f[this.a.g[e.b.p].p])||_p(n)||n.c.i.c!=n.d.i.c)&&(ncD(this,e)||(r=this.e,jB(r.a,e)))}for(;0!=this.e.a.c.length;)ncD(this,CY(W_(this.e),587))},Nj(nyB,"ThresholdStrategy/SimpleThresholdStrategy",1826),ncm(645,1,{645:1,188:1,196:1},as),nPB.dg=function(){return zR(this)},nPB.qg=function(){return zR(this)},Nj(nyH,"EdgeRouterFactory",645),ncm(1485,1,nyL,hM),nPB.rg=function(n){var t,e,i;return t=CY(n,36),i=CY(niK(t,(nlF(),nKU)),21),e=new xm,i.Hc((no7(),nKo))&&(zT(e,nqD),zT(e,nqK)),(i.Hc(nKs)||pT(PC(niK(t,(nlL(),nHg)))))&&(zT(e,nqK),i.Hc(nKh)&&zT(e,nqF)),i.Hc(nKc)&&zT(e,nq$),i.Hc(nKl)&&zT(e,nq_),i.Hc(nKu)&&zT(e,nqR),i.Hc(nKi)&&zT(e,nqN),i.Hc(nKa)&&zT(e,nqx),e},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d;t.Ug("Orthogonal edge routing",1),s=pj(PI(niK(n,(nlL(),nUI)))),e=pj(PI(niK(n,nUy))),i=pj(PI(niK(n,nUE))),l=new Nl(0,e),d=0,c=new Kp(n.b,0),o=null,h=null,u=null,f=null;do f=(h=c.b<c.d.gc()?(Px(c.b<c.d.gc()),CY(c.d.Xb(c.c=c.b++),30)):null)?h.a:null,o&&(nfo(o,d),d+=o.c.a),w=nfC(l,n,u,f,o?d+i:d),r=!o||EG(u,(no$(),nqq)),a=!h||EG(f,(no$(),nqq)),w>0?(b=(w-1)*e,o&&(b+=i),h&&(b+=i),!(b<s)||r||a||(b=s),d+=b):r||a||(d+=s),o=h,u=f;while(h)n.f.a=d,t.Vg()}(CY(n,36),t)},Nj(nyH,"OrthogonalEdgeRouter",1485),ncm(1478,1,nyL,Mr),nPB.rg=function(n){var t,e,i;return t=CY(n,36),i=CY(niK(t,(nlF(),nKU)),21),e=TA(nqB),i.Hc((no7(),nKh))&&zT(e,nqG),i.Hc(nKl)&&zT(e,nqX),i.Hc(nKi)&&zT(e,nqH),i.Hc(nKa)&&zT(e,nqU),e},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k;for(e.Ug("Polyline edge routing",1),p=pj(PI(niK(t,(nlL(),nHh)))),w=pj(PI(niK(t,nUI))),r=pj(PI(niK(t,nUy))),i=nP_.Math.min(1,r/w),y=0,u=0,0!=t.b.c.length&&(y=.4*i*(k=nc2(CY(I0(t.b,0),30)))),o=new Kp(t.b,0);o.b<o.d.gc();){for(Px(o.b<o.d.gc()),(a=EG(c=CY(o.d.Xb(o.c=o.b++),30),nqq))&&y>0&&(y-=w),nfo(c,y),f=0,b=new fU(c.a);b.a<b.c.c.length;){for(l=CY(RU(b),10),h=0,g=new Le(Sb(JV(l).a.Kc(),new s));ncv(g);)m=RO((d=CY(_I(g),18)).c).b,v=RO(d.d).b,c!=d.d.i.c||_p(d)||(!function(n,t,e){var i,r,a,c;a=n.c,c=n.d,r=(V4(Vw(DY(nLA,1),nby,8,0,[a.i.n,a.n,a.a])).b+V4(Vw(DY(nLA,1),nby,8,0,[c.i.n,c.n,c.a])).b)/2,i=null,i=a.j==(nf5(),n1n)?new MH(t+a.i.c.c.a+e,r):new MH(t-e,r),S2(n.a,0,i)}(d,y,.4*i*nP_.Math.abs(m-v)),d.c.j==(nf5(),n1y)&&(m=0,v=0)),h=nP_.Math.max(h,nP_.Math.abs(v-m));switch(l.k.g){case 0:case 4:case 1:case 3:case 5:!function(n,t,e,i){var r,a,c,o,u,h,f,l,b,w;for(f=e+t.c.c.a,w=new fU(t.j);w.a<w.c.c.length;){if(b=CY(RU(w),12),r=V4(Vw(DY(nLA,1),nby,8,0,[b.i.n,b.n,b.a])),t.k==(ni8(),n$y)&&(o=CY(niK(b,(nlF(),nK6)),12),r.a=V4(Vw(DY(nLA,1),nby,8,0,[o.i.n,o.n,o.a])).a,t.n.a=r.a),c=new MH(0,r.b),b.j==(nf5(),n1n))c.a=f;else{if(b.j!=n1y)continue;c.a=e}if(!(nP_.Math.abs(r.a-c.a)<=i)||function(n){var t,e;if(n.k==(ni8(),n$m)){for(e=new Le(Sb(JX(n).a.Kc(),new s));ncv(e);)if(!_p(t=CY(_I(e),18))&&t.c.i.c==t.d.i.c)return!0}return!1}(t))for(a=b.g.c.length+b.e.c.length>1,h=new _4(b.b);jr(h.a)||jr(h.b);)l=(u=CY(jr(h.a)?RU(h.a):RU(h.b),18)).c==b?u.d:u.c,nP_.Math.abs(V4(Vw(DY(nLA,1),nby,8,0,[l.i.n,l.n,l.a])).b-c.b)>1&&function(n,t,e,i,r){var a,c;(_p(t)||t.c.i.c!=t.d.i.c)&&Xn(V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])),e)||_p(t)||(t.c==r?S2(t.a,0,new TP(e)):IA(t.a,new TP(e)),i&&!vF(n.a,e)&&((c=CY(niK(t,(nlL(),nHP)),75))||(c=new gj,VD(t,nHP,c)),F_(c,a=new TP(e),c.c.b,c.c),LX(n.a,a)))}(n,u,c,a,b)}}(n,l,y,p)}f=nP_.Math.max(f,h)}o.b<o.d.gc()&&(k=nc2((Px(o.b<o.d.gc()),CY(o.d.Xb(o.c=o.b++),30))),f=nP_.Math.max(f,k),Px(o.b>0),o.a.Xb(o.c=--o.b)),u=.4*i*f,!a&&o.b<o.d.gc()&&(u+=w),y+=c.c.a+u}n.a.a.$b(),t.f.a=y,e.Vg()}(this,CY(n,36),t)},Nj(nyH,"PolylineEdgeRouter",1478),ncm(1479,1,ndK,af),nPB.Lb=function(n){return z3(CY(n,10))},nPB.Fb=function(n){return this===n},nPB.Mb=function(n){return z3(CY(n,10))},Nj(nyH,"PolylineEdgeRouter/1",1479),ncm(1872,1,nbV,al),nPB.Mb=function(n){return CY(n,132).c==(Bw(),nqz)},Nj(nyU,"HyperEdgeCycleDetector/lambda$0$Type",1872),ncm(1873,1,{},ab),nPB.Ze=function(n){return CY(n,132).d},Nj(nyU,"HyperEdgeCycleDetector/lambda$1$Type",1873),ncm(1874,1,nbV,aw),nPB.Mb=function(n){return CY(n,132).c==(Bw(),nqz)},Nj(nyU,"HyperEdgeCycleDetector/lambda$2$Type",1874),ncm(1875,1,{},ad),nPB.Ze=function(n){return CY(n,132).d},Nj(nyU,"HyperEdgeCycleDetector/lambda$3$Type",1875),ncm(1876,1,{},ag),nPB.Ze=function(n){return CY(n,132).d},Nj(nyU,"HyperEdgeCycleDetector/lambda$4$Type",1876),ncm(1877,1,{},ah),nPB.Ze=function(n){return CY(n,132).d},Nj(nyU,"HyperEdgeCycleDetector/lambda$5$Type",1877),ncm(118,1,{34:1,118:1},zV),nPB.Fd=function(n){var t;return t=CY(n,118),this.g-t.g},nPB.Fb=function(n){var t;return!!jM(n,118)&&(t=CY(n,118),this.g==t.g)},nPB.Hb=function(){return this.g},nPB.Ib=function(){var n,t,e,i;for(n=new Sv("{"),i=new fU(this.n);i.a<i.c.c.length;)null==(t=ntO((e=CY(RU(i),12)).i))&&(t="n"+OG(e.i)),n.a+=""+t,i.a<i.c.c.length&&(n.a+=",");return n.a+="}",n.a},nPB.a=0,nPB.b=0,nPB.c=NaN,nPB.d=0,nPB.g=0,nPB.i=0,nPB.o=0,nPB.s=NaN,Nj(nyU,"HyperEdgeSegment",118),ncm(132,1,{132:1},RT),nPB.Ib=function(){var n;return this.a+"->"+this.b+" ("+(null!=(n=this.c).f?n.f:""+n.g)+")"},nPB.d=0,Nj(nyU,"HyperEdgeSegmentDependency",132),ncm(528,22,{3:1,34:1,22:1,528:1},Mf);var nA4=qc(nyU,"HyperEdgeSegmentDependency/DependencyType",528,nPw,function(){return Bw(),Vw(DY(nA4,1),nbG,528,0,[nqV,nqz])},function(n){return Bw(),qa((F6(),nqW),n)});ncm(1878,1,{},bq),Nj(nyU,"HyperEdgeSegmentSplitter",1878),ncm(1879,1,{},mv),nPB.a=0,nPB.b=0,Nj(nyU,"HyperEdgeSegmentSplitter/AreaRating",1879),ncm(339,1,{339:1},CS),nPB.a=0,nPB.b=0,nPB.c=0,Nj(nyU,"HyperEdgeSegmentSplitter/FreeArea",339),ncm(1880,1,ndy,ap),nPB.Ne=function(n,t){var e,i;return e=CY(n,118),i=CY(t,118),Jj(e.c-e.s,i.c-i.s)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyU,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),ncm(1881,1,nbE,x6),nPB.Cd=function(n){var t,e,i,r,a,c;t=this.a,e=this.d,i=this.c,r=this.b,c=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(c=0,a=-1,o=-1;c<t.c.length&&(RN(c,t.c.length),!((r=CY(t.c[c],339)).c>n.c));c++)r.a>=n.s&&(a<0&&(a=c),o=c);if(u=(n.s+n.c)/2,a>=0){u=((RN(i=function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w;if(a=e,e<i)for(b=new zV(n.p),w=new zV(n.p),Xx(b.e,n.e),b.q=n.q,b.r=w,Nx(b),Xx(w.j,n.j),w.r=b,Nx(w),f=CY((l=new Ea(b,w)).a,118),h=CY(l.b,118),RN(a,t.c.length),c=nuo(n,f,h,r=CY(t.c[a],339)),s=e+1;s<=i;s++)RN(s,t.c.length),u=nuo(n,f,h,o=CY(t.c[s],339)),function(n,t,e,i){if(t.a<i.a)return!0;if(t.a==i.a){if(t.b<i.b)return!0;else if(t.b==i.b&&n.b>e.b)return!0}return!1}(o,u,r,c)&&(r=o,c=u,a=s);return a}(n,t,a,o),t.c.length),s=CY(t.c[i],339)).c+s.a)/2,h=t,f=i,l=e,RN(f,h.c.length),p=CY(h.c[f],339),_V(h,f),p.b/2>=l&&(b=f,m=(p.c+p.a)/2,p.c<=m-l&&(w=new CS(p.c,m-l),AC(h,b++,w)),(g=m+l)<=p.a&&(d=new CS(g,p.a),RL(b,h.c.length),kt(h.c,b,d)))}return u}(a=CY(n,118),i,r),jB(e,function(n,t){for(n.r=new zV(n.p),n.r.r=n,Xx(n.r.j,n.j),$p(n.j),IA(n.j,t),IA(n.r.e,t),Nx(n),Nx(n.r);0!=n.f.c.length;)jm(CY(I0(n.f,0),132));for(;0!=n.k.c.length;)jm(CY(I0(n.k,0),132));return n.r}(a,c)),function(n,t,e){var i,r,a,c;for(a=t.q,c=t.r,new RT((Bw(),nqz),t,a,1),new RT(nqz,a,c,1),r=new fU(e);r.a<r.c.c.length;)(i=CY(RU(r),118))!=a&&i!=t&&i!=c&&(nhq(n.a,i,t),nhq(n.a,i,c))}(t,a,e)},nPB.b=0,Nj(nyU,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),ncm(1882,1,{},am),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,118).e,16))},Nj(nyU,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),ncm(1883,1,{},av),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,118).j,16))},Nj(nyU,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),ncm(1884,1,{},ay),nPB.Ye=function(n){return pj(PI(n))},Nj(nyU,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),ncm(664,1,{},Nl),nPB.a=0,nPB.b=0,nPB.c=0,Nj(nyU,"OrthogonalRoutingGenerator",664),ncm(1703,1,{},ak),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,118).e,16))},Nj(nyU,"OrthogonalRoutingGenerator/lambda$0$Type",1703),ncm(1704,1,{},aM),nPB.Kb=function(n){return new Aa(null,new R$(CY(n,118).j,16))},Nj(nyU,"OrthogonalRoutingGenerator/lambda$1$Type",1704),ncm(670,1,{}),Nj(nyG,"BaseRoutingDirectionStrategy",670),ncm(1870,670,{},gv),nPB.yg=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;if(!n.r||n.q)for(h=t+n.o*e,s=new fU(n.n);s.a<s.c.c.length;)for(u=CY(RU(s),12),f=V4(Vw(DY(nLA,1),nby,8,0,[u.i.n,u.n,u.a])).a,o=new fU(u.g);o.a<o.c.c.length;)!_p(c=CY(RU(o),18))&&(w=c.d,d=V4(Vw(DY(nLA,1),nby,8,0,[w.i.n,w.n,w.a])).a,nP_.Math.abs(f-d)>ngY&&(a=h,r=n,i=new MH(f,a),IA(c.a,i),nsx(this,c,r,i,!1),(l=n.r)&&(i=new MH(b=pj(PI(nnt(l.e,0))),a),IA(c.a,i),nsx(this,c,r,i,!1),a=t+l.o*e,r=l,i=new MH(b,a),IA(c.a,i),nsx(this,c,r,i,!1)),i=new MH(d,a),IA(c.a,i),nsx(this,c,r,i,!1)))},nPB.zg=function(n){return n.i.n.a+n.n.a+n.a.a},nPB.Ag=function(){return nf5(),n1m},nPB.Bg=function(){return nf5(),n1t},Nj(nyG,"NorthToSouthRoutingStrategy",1870),ncm(1871,670,{},gy),nPB.yg=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;if(!n.r||n.q)for(h=t-n.o*e,s=new fU(n.n);s.a<s.c.c.length;)for(u=CY(RU(s),12),f=V4(Vw(DY(nLA,1),nby,8,0,[u.i.n,u.n,u.a])).a,o=new fU(u.g);o.a<o.c.c.length;)!_p(c=CY(RU(o),18))&&(w=c.d,d=V4(Vw(DY(nLA,1),nby,8,0,[w.i.n,w.n,w.a])).a,nP_.Math.abs(f-d)>ngY&&(a=h,r=n,i=new MH(f,a),IA(c.a,i),nsx(this,c,r,i,!1),(l=n.r)&&(i=new MH(b=pj(PI(nnt(l.e,0))),a),IA(c.a,i),nsx(this,c,r,i,!1),a=t-l.o*e,r=l,i=new MH(b,a),IA(c.a,i),nsx(this,c,r,i,!1)),i=new MH(d,a),IA(c.a,i),nsx(this,c,r,i,!1)))},nPB.zg=function(n){return n.i.n.a+n.n.a+n.a.a},nPB.Ag=function(){return nf5(),n1t},nPB.Bg=function(){return nf5(),n1m},Nj(nyG,"SouthToNorthRoutingStrategy",1871),ncm(1869,670,{},gk),nPB.yg=function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;if(!n.r||n.q)for(h=t+n.o*e,s=new fU(n.n);s.a<s.c.c.length;)for(u=CY(RU(s),12),f=V4(Vw(DY(nLA,1),nby,8,0,[u.i.n,u.n,u.a])).b,o=new fU(u.g);o.a<o.c.c.length;)!_p(c=CY(RU(o),18))&&(w=c.d,d=V4(Vw(DY(nLA,1),nby,8,0,[w.i.n,w.n,w.a])).b,nP_.Math.abs(f-d)>ngY&&(a=h,r=n,i=new MH(a,f),IA(c.a,i),nsx(this,c,r,i,!0),(l=n.r)&&(i=new MH(a,b=pj(PI(nnt(l.e,0)))),IA(c.a,i),nsx(this,c,r,i,!0),a=t+l.o*e,r=l,i=new MH(a,b),IA(c.a,i),nsx(this,c,r,i,!0)),i=new MH(a,d),IA(c.a,i),nsx(this,c,r,i,!0)))},nPB.zg=function(n){return n.i.n.b+n.n.b+n.a.b},nPB.Ag=function(){return nf5(),n1n},nPB.Bg=function(){return nf5(),n1y},Nj(nyG,"WestToEastRoutingStrategy",1869),ncm(828,1,{},nhw),nPB.Ib=function(){return niV(this.a)},nPB.b=0,nPB.c=!1,nPB.d=!1,nPB.f=0,Nj(nyX,"NubSpline",828),ncm(418,1,{418:1},noH,Du),Nj(nyX,"NubSpline/PolarCP",418),ncm(1480,1,nyL,ntj),nPB.rg=function(n){var t,e,i;return t=CY(n,36),zT(e=new xm,nqQ),(i=CY(niK(t,(nlF(),nKU)),21)).Hc((no7(),nKl))&&zT(e,nq1),i.Hc(nKi)&&zT(e,nqJ),i.Hc(nKh)&&zT(e,nqZ),i.Hc(nKa)&&zT(e,nqY),e},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C;if(e.Ug("Spline edge routing",1),0==t.b.c.length){t.f.a=0,e.Vg();return}m=pj(PI(niK(t,(nlL(),nUI)))),o=pj(PI(niK(t,nUE))),c=pj(PI(niK(t,nUy))),T=CY(niK(t,nHb),350)==(WQ(),nGW),E=pj(PI(niK(t,nHw))),n.d=t,n.j.c.length=0,n.a.c.length=0,LH(n.k),f=EG((u=CY(I0(t.b,0),30)).a,(no$(),nqq)),l=EG((d=CY(I0(t.b,t.b.c.length-1),30)).a,nqq),g=new fU(t.b),p=null,O=0;do{for(!function(n,t,e){var i,r,a,c,o,u,s,h,f,l;if(n.e.a.$b(),n.f.a.$b(),n.c.c.length=0,n.i.c.length=0,n.g.a.$b(),t)for(c=new fU(t.a);c.a<c.c.c.length;)for(h=nrs(a=CY(RU(c),10),(nf5(),n1n)).Kc();h.Ob();)for(s=CY(h.Pb(),12),LX(n.e,s),r=new fU(s.g);r.a<r.c.c.length;)_p(i=CY(RU(r),18))||(jB(n.c,i),Z1(n,i),((o=i.c.i.k)==(ni8(),n$v)||o==n$y||o==n$g||o==n$d)&&jB(n.j,i),(f=(l=i.d).i.c)==e?LX(n.f,l):f==t?LX(n.e,l):H0(n.c,i));if(e)for(c=new fU(e.a);c.a<c.c.c.length;){for(u=new fU((a=CY(RU(c),10)).j);u.a<u.c.c.length;)for(r=new fU(CY(RU(u),12).g);r.a<r.c.c.length;)_p(i=CY(RU(r),18))&&LX(n.g,i);for(h=nrs(a,(nf5(),n1y)).Kc();h.Ob();)for(s=CY(h.Pb(),12),LX(n.f,s),r=new fU(s.g);r.a<r.c.c.length;)_p(i=CY(RU(r),18))||(jB(n.c,i),Z1(n,i),((o=i.c.i.k)==(ni8(),n$v)||o==n$y||o==n$g||o==n$d)&&jB(n.j,i),(f=(l=i.d).i.c)==e?LX(n.f,l):f==t?LX(n.e,l):H0(n.c,i))}}(n,p,v=g.a<g.c.c.length?CY(RU(g),30):null),!function(n){var t,e,i;for(nfY(n,n.e,n.f,(DC(),nq0),!0,n.c,n.i),nfY(n,n.e,n.f,nq0,!1,n.c,n.i),nfY(n,n.e,n.f,nq2,!0,n.c,n.i),nfY(n,n.e,n.f,nq2,!1,n.c,n.i),!function(n,t,e,i,r){var a,c,o,u,s,h,f;for(c=new fU(t);c.a<c.c.c.length;){if(u=(a=CY(RU(c),18)).c,e.a._b(u))DC(),s=nq0;else if(i.a._b(u))DC(),s=nq2;else throw new pN("Source port must be in one of the port sets.").e;if(h=a.d,e.a._b(h))DC(),f=nq0;else if(i.a._b(h))DC(),f=nq2;else throw new pN("Target port must be in one of the port sets.").e;o=new nr0(a,s,f),xM(n.b,a,o),dk(r.c,o)}}(n,n.c,n.e,n.f,n.i),e=new Kp(n.i,0);e.b<e.d.gc();)for(Px(e.b<e.d.gc()),t=CY(e.d.Xb(e.c=e.b++),131),i=new Kp(n.i,e.b);i.b<i.d.gc();)Px(i.b<i.d.gc()),function(n,t){var e,i,r,a,c,o,u;if(!(n.g>t.f)&&!(t.g>n.f)){for(e=0,i=0,c=n.w.a.ec().Kc();c.Ob();)r=CY(c.Pb(),12),Qu(V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&++e;for(o=n.r.a.ec().Kc();o.Ob();)r=CY(o.Pb(),12),Qu(V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&--e;for(u=t.w.a.ec().Kc();u.Ob();)r=CY(u.Pb(),12),Qu(V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&++i;for(a=t.r.a.ec().Kc();a.Ob();)r=CY(a.Pb(),12),Qu(V4(Vw(DY(nLA,1),nby,8,0,[r.i.n,r.n,r.a])).b,n.g,n.f)&&--i;e<i?new Ba(n,t,i-e):i<e?new Ba(t,n,e-i):(new Ba(t,n,0),new Ba(n,t,0))}}(t,CY(i.d.Xb(i.c=i.b++),131));(function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P;for(j=new vq,M=new vq,g=-1,u=new fU(n);u.a<u.c.c.length;){for((c=CY(RU(u),131)).s=g--,h=0,v=0,a=new fU(c.t);a.a<a.c.c.length;)v+=(i=CY(RU(a),274)).c;for(r=new fU(c.i);r.a<r.c.c.length;)h+=(i=CY(RU(r),274)).c;c.n=h,c.u=v,0==v?F_(M,c,M.c.b,M.c):0==h&&F_(j,c,j.c.b,j.c)}for(P=FU(n),d=(f=n.c.length)+1,p=f-1,b=new du;0!=P.a.gc();){for(;0!=M.b;)Px(0!=M.b),k=CY(Gy(M,M.a.a),131),P.a.Bc(k),k.s=p--,nc1(k,j,M);for(;0!=j.b;)Px(0!=j.b),E=CY(Gy(j,j.a.a),131),P.a.Bc(E),E.s=d++,nc1(E,j,M);for(w=nbJ,s=P.a.ec().Kc();s.Ob();)(m=(c=CY(s.Pb(),131)).u-c.n)>=w&&(m>w&&(b.c.length=0,w=m),dk(b.c,c));0!=b.c.length&&(l=CY(I0(b,nnC(t,b.c.length)),131),P.a.Bc(l),l.s=d++,nc1(l,j,M),b.c.length=0)}for(y=n.c.length+1,o=new fU(n);o.a<o.c.c.length;)(c=CY(RU(o),131)).s<f&&(c.s+=y);for(T=new fU(n);T.a<T.c.c.length;)for(e=new Kp((E=CY(RU(T),131)).t,0);e.b<e.d.gc();)Px(e.b<e.d.gc()),S=(i=CY(e.d.Xb(e.c=e.b++),274)).b,E.s>S.s&&(N6(e),H0(S.i,i),i.c>0&&(i.a=S,jB(S.t,i),i.b=E,jB(E.i,i)))})(n.i,CY(niK(n.d,(nlF(),nFc)),234)),function(n){var t,e,i,r,a,c,o,u,s;for(u=new vq,c=new vq,r=new fU(n);r.a<r.c.c.length;)(e=CY(RU(r),131)).v=0,e.n=e.i.c.length,e.u=e.t.c.length,0==e.n&&F_(u,e,u.c.b,u.c),0==e.u&&0==e.r.a.gc()&&F_(c,e,c.c.b,c.c);for(a=-1;0!=u.b;)for(t=new fU((e=CY(ntQ(u,0),131)).t);t.a<t.c.c.length;)(s=CY(RU(t),274).b).v=nP_.Math.max(s.v,e.v+1),a=nP_.Math.max(a,s.v),--s.n,0==s.n&&F_(u,s,u.c.b,u.c);if(a>-1){for(i=ZQ(c,0);i.b!=i.d.c;)(e=CY(K0(i),131)).v=a;for(;0!=c.b;)for(t=new fU((e=CY(ntQ(c,0),131)).i);t.a<t.c.c.length;)0==(o=CY(RU(t),274).a).r.a.gc()&&(o.v=nP_.Math.min(o.v,e.v-1),--o.u,0==o.u&&F_(c,o,c.c.b,c.c))}}(n.i)}(n),j=(C=function(n){var t;return EB((t=KD(n)).a,0)?(vW(),vW(),nO1):(vW(),new S8(t.b))}(xW(xX(new Aa(null,new R$(n.i,16)),new aE),new aT))).a?C.b:0,P=0,y=O,b=!p||f&&p==u,w=!v||l&&v==d,j>0?(h=0,p&&(h+=o),h+=(j-1)*c,v&&(h+=o),T&&v&&(h=nP_.Math.max(h,function(n,t,e,i){var r,a,c,o,u,h,f,l;for(o=0,h=new fU(n.a);h.a<h.c.c.length;){for(u=CY(RU(h),10),c=0,a=new Le(Sb(Jz(u).a.Kc(),new s));ncv(a);)f=RO((r=CY(_I(a),18)).c).b,l=RO(r.d).b,c=nP_.Math.max(c,nP_.Math.abs(l-f));o=nP_.Math.max(o,c)}return i*nP_.Math.min(1,t/e)*o}(v,c,m,E))),!(h<m)||b||w||(P=(m-h)/2,h=m),y+=h):b||w||(y+=m),v&&nfo(v,y),M=new fU(n.i);M.a<M.c.c.length;)(k=CY(RU(M),131)).a.c=O,k.a.b=y-O,k.F=P,k.p=!p;Vc(n.a,n.i),O=y,v&&(O+=v.c.a),p=v,b=w}while(v)for(r=new fU(n.j);r.a<r.c.c.length;)a=function(n,t){var e,i;i=new du,e=t;do dk(i.c,e),e=CY(NR(n.k,e),18);while(e)return i}(n,i=CY(RU(r),18)),VD(i,(nlF(),nFl),a),S=function(n,t){var e,i,r,a,c;c=new du,e=t;do(a=CY(NR(n.b,e),131)).B=e.c,a.D=e.d,dk(c.c,a),e=CY(NR(n.k,e),18);while(e)return RN(0,c.c.length),(i=CY(c.c[0],131)).j=!0,i.A=CY(i.d.a.ec().Kc().Pb(),18).c.i,(r=CY(I0(c,c.c.length-1),131)).q=!0,r.C=CY(r.d.a.ec().Kc().Pb(),18).d.i,c}(n,i),VD(i,nFw,S);t.f.a=O,n.d=null,e.Vg()}(this,CY(n,36),t)},Nj(nyX,"SplineEdgeRouter",1480),ncm(274,1,{274:1},Ba),nPB.Ib=function(){return this.a+" ->("+this.c+") "+this.b},nPB.c=0,Nj(nyX,"SplineEdgeRouter/Dependency",274),ncm(465,22,{3:1,34:1,22:1,465:1},Ml);var nA6=qc(nyX,"SplineEdgeRouter/SideToProcess",465,nPw,function(){return DC(),Vw(DY(nA6,1),nbG,465,0,[nq0,nq2])},function(n){return DC(),qa((F5(),nq3),n)});ncm(1481,1,nbV,aE),nPB.Mb=function(n){return noD(),!CY(n,131).o},Nj(nyX,"SplineEdgeRouter/lambda$0$Type",1481),ncm(1482,1,{},aT),nPB.Ze=function(n){return noD(),CY(n,131).v+1},Nj(nyX,"SplineEdgeRouter/lambda$1$Type",1482),ncm(1483,1,nbE,Mo),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,42),xM(t.b,CY(i.b,18),e)},Nj(nyX,"SplineEdgeRouter/lambda$2$Type",1483),ncm(1484,1,nbE,Mu),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,42),xM(t.b,CY(i.b,18),e)},Nj(nyX,"SplineEdgeRouter/lambda$3$Type",1484),ncm(131,1,{34:1,131:1},nr0,nfe),nPB.Fd=function(n){var t;return t=CY(n,131),this.s-t.s},nPB.b=0,nPB.e=!1,nPB.f=0,nPB.g=0,nPB.j=!1,nPB.k=!1,nPB.n=0,nPB.o=!1,nPB.p=!1,nPB.q=!1,nPB.s=0,nPB.u=0,nPB.v=0,nPB.F=0,Nj(nyX,"SplineSegment",131),ncm(468,1,{468:1},aj),nPB.a=0,nPB.b=!1,nPB.c=!1,nPB.d=!1,nPB.e=!1,nPB.f=0,Nj(nyX,"SplineSegment/EdgeInformation",468),ncm(1198,1,{},aS),Nj(nyJ,ngH,1198),ncm(1199,1,ndy,aP),nPB.Ne=function(n,t){var e,i,r,a,c;return e=CY(n,121),i=CY(t,121),0==(r=CY(niK(i,(nhn(),nzo)),17).a-CY(niK(e,nzo),17).a)?(a=Oj(jv(CY(niK(e,(nf3(),nXd)),8)),CY(niK(e,nXg),8)),c=Oj(jv(CY(niK(i,nXd),8)),CY(niK(i,nXg),8)),Jj(a.a*a.b,c.a*c.b)):r},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyJ,ngU,1199),ncm(1197,1,{},mG),Nj(nyJ,"MrTree",1197),ncm(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},Mb),nPB.dg=function(){return naS(this)},nPB.qg=function(){return naS(this)};var nA5=qc(nyJ,"TreeLayoutPhases",405,nPw,function(){return ntU(),Vw(DY(nA5,1),nbG,405,0,[nq4,nq6,nq5,nq8])},function(n){return ntU(),qa((HX(),nq9),n)});ncm(1112,205,ngv,Op),nPB.rf=function(n,t){var e,i,r,a,c,o,u,h,f;for(pT(PC(ncx(n,(nhn(),nze))))||Dv(new lh((yv(),new py(n)))),(a=t.eh(.10000000149011612)).Ug("build tGraph",1),zU(o=new Bo,n),VD(o,(nf3(),nXN),n),function(n,t,e){var i,r,a,c,o;for(a=0,r=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));r.e!=r.i.gc();)i=CY(Z6(r),27),c="",0==(!i.n&&(i.n=new Lk(nNt,i,1,7)),i.n).i||(c=CY(GO((!i.n&&(i.n=new Lk(nNt,i,1,7)),i.n),0),135).a),zU(o=new Wh(a++,t,c),i),VD(o,(nf3(),nXN),i),o.e.b=i.j+i.f/2,o.f.a=nP_.Math.max(i.g,1),o.e.a=i.i+i.g/2,o.f.b=nP_.Math.max(i.f,1),IA(t.b,o),nr3(e.f,i,o)}(n,o,u=new dc),function(n,t,e){var i,r,a,c,o,u,h;for(c=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));c.e!=c.i.gc();)for(r=new Le(Sb(nc5(a=CY(Z6(c),27)).a.Kc(),new s));ncv(r);)nco(i=CY(_I(r),74))||nco(i)||na$(i)||(u=CY(ED(Aj(e.f,a)),40),h=CY(NR(e,niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84))),40),u&&h&&(VD(o=new $S(u,h),(nf3(),nXN),i),zU(o,i),IA(u.d,o),IA(h.b,o),IA(t.a,o)))}(n,o,u),c=o,a.Vg(),(a=t.eh(.10000000149011612)).Ug("Split graph",1),r=function(n,t){var e,i,r,a,c,o,u;if(null==(u=PC(niK(t,(nhn(),nzs))))||(xf(u),u)){for(!function(n,t){var e,i,r,a,c;for(n.a=BJ(nPf,ngF,15,r=t.b.b,0,1),n.b=BJ(n4h,ndV,28,r,16,1),c=ZQ(t.b,0);c.b!=c.d.c;)a=CY(K0(c),40),n.a[a.g]=new vq;for(i=ZQ(t.a,0);i.b!=i.d.c;)e=CY(K0(i),65),n.a[e.b.g].Fc(e),n.a[e.c.g].Fc(e)}(n,t),r=new du,o=ZQ(t.b,0);o.b!=o.d.c;)(e=function n(t,e,i){var r,a,c;if(!t.b[e.g]){for(t.b[e.g]=!0,(r=i)||(r=new Bo),IA(r.b,e),c=t.a[e.g].Kc();c.Ob();)(a=CY(c.Pb(),65)).b!=e&&n(t,a.b,r),a.c!=e&&n(t,a.c,r),IA(r.a,a);return r}return null}(n,CY(K0(o),40),null))&&(zU(e,t),dk(r.c,e));if(n.a=null,n.b=null,r.c.length>1)for(i=new fU(r);i.a<i.c.c.length;)for(e=CY(RU(i),121),a=0,c=ZQ(e.b,0);c.b!=c.d.c;)CY(K0(c),40).g=a++;return r}return _q(Vw(DY(nA8,1),ng_,121,0,[t]))}(this.a,c),a.Vg(),i=new fU(r);i.a<i.c.c.length;)e=CY(RU(i),121),h=this.b,(f=t.eh(.5999999940395355/r.c.length)).Ug("Tree layout",1),xR(h.b),L2(h.b,(ntU(),nq4),nq4),L2(h.b,nq6,nq6),L2(h.b,nq5,nq5),L2(h.b,nq8,nq8),h.a=nfu(h.b,e),function(n,t,e){var i,r,a;for((i=e)||(i=new gz),i.Ug("Layout",n.a.c.length),a=new fU(n.a);a.a<a.c.c.length;){if(r=CY(RU(a),47),i.$g())return;r.Kf(t,i.eh(1))}i.Vg()}(h,e,f.eh(1)),f.Vg();(a=t.eh(.10000000149011612)).Ug("Pack components",1),c=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P;if(1==n.c.length)return nex((RN(0,n.c.length),CY(n.c[0],121))),RN(0,n.c.length),CY(n.c[0],121);if(n.c.length<=0)return new Bo;for(u=new fU(n);u.a<u.c.c.length;){for(c=CY(RU(u),121),m=0,w=nl3,d=nl3,l=nbJ,b=nbJ,p=ZQ(c.b,0);p.b!=p.d.c;)g=CY(K0(p),40),m+=CY(niK(g,(nhn(),nzo)),17).a,w=nP_.Math.min(w,g.e.a),d=nP_.Math.min(d,g.e.b),l=nP_.Math.max(l,g.e.a+g.f.a),b=nP_.Math.max(b,g.e.b+g.f.b);VD(c,(nhn(),nzo),Qx(m)),VD(c,(nf3(),nXg),new MH(w,d)),VD(c,nXd,new MH(l,b))}for($O(),ji(n,new aP),zU(y=new Bo,(RN(0,n.c.length),CY(n.c[0],96))),f=0,j=0,s=new fU(n);s.a<s.c.c.length;)c=CY(RU(s),121),k=Oj(jv(CY(niK(c,(nf3(),nXd)),8)),CY(niK(c,nXg),8)),f=nP_.Math.max(f,k.a),j+=k.a*k.b;for(f=nP_.Math.max(f,nP_.Math.sqrt(j)*pj(PI(niK(y,(nhn(),nXY))))),M=pj(PI(niK(y,nzf))),S=0,P=0,h=0,t=M,o=new fU(n);o.a<o.c.c.length;)c=CY(RU(o),121),S+(k=Oj(jv(CY(niK(c,(nf3(),nXd)),8)),CY(niK(c,nXg),8))).a>f&&(S=0,P+=h+M,h=0),nsm(y,c,S,P),t=nP_.Math.max(t,S+k.a),h=nP_.Math.max(h,k.b),S+=k.a+M;for(v=new dc,e=new dc,T=new fU(n);T.a<T.c.c.length;)for(i=pT(PC(niK(E=CY(RU(T),121),(nl_(),nJx)))),a=(E.q?E.q:nOB).vc().Kc();a.Ob();)LR(v,(r=CY(a.Pb(),44)).ld())?ER(CY(r.ld(),149).Sg())!==ER(r.md())&&(i&&LR(e,r.ld())?(vX(),CY(r.ld(),149).Pg()):(xM(v,CY(r.ld(),149),r.md()),VD(y,CY(r.ld(),149),r.md()),i&&xM(e,CY(r.ld(),149),r.md()))):(xM(v,CY(r.ld(),149),r.md()),VD(y,CY(r.ld(),149),r.md()));return nex(y),y}(r),a.Vg(),(a=t.eh(.10000000149011612)).Ug("Apply layout results",1),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(e=CY(niK(n,(nf3(),nXN)),27),o=nl3,u=nl3,a=nbJ,c=nbJ,p=ZQ(n.b,0);p.b!=p.d.c;)f=(d=CY(K0(p),40)).e,l=d.f,o=nP_.Math.min(o,f.a-l.a/2),u=nP_.Math.min(u,f.b-l.b/2),a=nP_.Math.max(a,f.a+l.a/2),c=nP_.Math.max(c,f.b+l.b/2);for(h=CY(ncx(e,(nhn(),nzi)),107),g=ZQ(n.b,0);g.b!=g.d.c;)jM(s=niK(d=CY(K0(g),40),nXN),207)&&(TB(i=CY(s,27),d.e.a,d.e.b),nom(i,d));for(w=ZQ(n.a,0);w.b!=w.d.c;)b=CY(K0(w),65),(t=CY(niK(b,nXN),74))&&nho(b.a,no6(t,!0,!0));m=a-o+(h.b+h.c),r=c-u+(h.d+h.a),pT(PC(ncx(e,(nl_(),nJ9))))||nf9(e,m,r,!1,!1),nnh(e,nJI,m-(h.b+h.c)),nnh(e,nJC,r-(h.d+h.a))}(c),a.Vg()},Nj(nyJ,"TreeLayoutProvider",1112),ncm(1894,1,nbO,aC),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return $O(),vz(),nOU},Nj(nyJ,"TreeUtil/1",1894),ncm(1895,1,nbO,aI),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return $O(),vz(),nOU},Nj(nyJ,"TreeUtil/2",1895),ncm(1885,1,nbV,aA),nPB.Mb=function(n){return pT(PC(niK(CY(n,40),(nf3(),nXF))))},Nj(nyJ,"TreeUtil/lambda$0$Type",1885),ncm(1891,1,nbV,bX),nPB.Mb=function(n){return this.a.Hc(CY(n,40))},Nj(nyJ,"TreeUtil/lambda$10$Type",1891),ncm(1892,1,{},bz),nPB.Kb=function(n){var t,e;return t=this.a,jK(new MH((e=CY(n,40)).e.a+e.f.a/2,e.e.b+e.f.b/2),t)},Nj(nyJ,"TreeUtil/lambda$11$Type",1892),ncm(1893,1,nbV,Ms),nPB.Mb=function(n){var t,e,i;return t=this.a,e=this.b,jK(new MH((i=CY(n,40)).e.a+i.f.a/2,i.e.b+i.f.b/2),t)==(xf(e),e)},Nj(nyJ,"TreeUtil/lambda$12$Type",1893),ncm(1886,1,nbV,bV),nPB.Mb=function(n){var t,e;return t=this.a,OB((e=CY(n,65)).b&&e.c?RQ(e.b)+"->"+RQ(e.c):"e_"+XS(e),t.b&&t.c?RQ(t.b)+"->"+RQ(t.c):"e_"+XS(t))},Nj(nyJ,"TreeUtil/lambda$3$Type",1886),ncm(1887,1,ndy,aO),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),Jj(e.b.e.a,i.b.e.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyJ,"TreeUtil/lambda$4$Type",1887),ncm(1888,1,nbV,bW),nPB.Mb=function(n){var t,e;return t=this.a,OB((e=CY(n,65)).b&&e.c?RQ(e.b)+"->"+RQ(e.c):"e_"+XS(e),t.b&&t.c?RQ(t.b)+"->"+RQ(t.c):"e_"+XS(t))},Nj(nyJ,"TreeUtil/lambda$7$Type",1888),ncm(1889,1,ndy,aL),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),Jj(e.c.e.a,i.c.e.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyJ,"TreeUtil/lambda$8$Type",1889),ncm(1890,1,{},aN),nPB.Kb=function(n){return CY(n,65).b},Nj(nyJ,"TreeUtil/lambda$9$Type",1890),ncm(508,137,{3:1,508:1,96:1,137:1}),nPB.g=0,Nj(nyZ,"TGraphElement",508),ncm(65,508,{3:1,65:1,508:1,96:1,137:1},$S),nPB.Ib=function(){return this.b&&this.c?RQ(this.b)+"->"+RQ(this.c):"e_"+XS(this)},Nj(nyZ,"TEdge",65),ncm(121,137,{3:1,121:1,96:1,137:1},Bo),nPB.Ib=function(){var n,t,e,i,r;for(r=null,i=ZQ(this.b,0);i.b!=i.d.c;)r+=(null==(e=CY(K0(i),40)).c||0==e.c.length?"n_"+e.g:"n_"+e.c)+"\n";for(t=ZQ(this.a,0);t.b!=t.d.c;)r+=((n=CY(K0(t),65)).b&&n.c?RQ(n.b)+"->"+RQ(n.c):"e_"+XS(n))+"\n";return r};var nA8=Nj(nyZ,"TGraph",121);ncm(643,508,{3:1,508:1,643:1,96:1,137:1}),Nj(nyZ,"TShape",643),ncm(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},Wh),nPB.Ib=function(){return RQ(this)};var nA9=Nj(nyZ,"TNode",40);ncm(236,1,nbO,bQ),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return new bJ(ZQ(this.a.d,0))},Nj(nyZ,"TNode/2",236),ncm(329,1,nbu,bJ),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return CY(K0(this.a),65).c},nPB.Ob=function(){return mJ(this.a)},nPB.Qb=function(){Gh(this.a)},Nj(nyZ,"TNode/2/1",329),ncm(1923,1,npR,ax),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;if(e.Ug("Process compaction",1),pT(PC(niK(t,(nhn(),nXZ))))){for(r=CY(niK(t,nX0),88),b=pj(PI(niK(t,nzf))),!function(n,t,e){var i,r,a;for(n.a=new du,a=ZQ(t.b,0);a.b!=a.d.c;){for(r=CY(K0(a),40);CY(niK(r,(nhn(),nzp)),17).a>n.a.c.length-1;)jB(n.a,new Ea(ngK,ny1));(i=CY(niK(r,nzp),17).a,e==(Ju(),nY8)||e==nY9)?(r.e.a<pj(PI(CY(I0(n.a,i),42).a))&&(CY(I0(n.a,i),42).a=r.e.a),r.e.a+r.f.a>pj(PI(CY(I0(n.a,i),42).b))&&(CY(I0(n.a,i),42).b=r.e.a+r.f.a)):(r.e.b<pj(PI(CY(I0(n.a,i),42).a))&&(CY(I0(n.a,i),42).a=r.e.b),r.e.b+r.f.b>pj(PI(CY(I0(n.a,i),42).b))&&(CY(I0(n.a,i),42).b=r.e.b+r.f.b))}}(n,t,r),!function(n,t){var e,i,r,a,c,o,u,s,h,f,l;for(h=(r=CY(niK(n,(nhn(),nX0)),88))==(Ju(),nY8)||r==nY9?nY5:nY9,e=CY(FB(xX(new Aa(null,new R$(n.b,16)),new aK),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),(u=CY(FB(xz(e.Oc(),new b0(t)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15)).Gc(CY(FB(xz(e.Oc(),new b2(t)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),16)),u.jd(new b3(h)),l=new mH(new b4(r)),i=new dc,o=u.Kc();o.Ob();)c=CY(o.Pb(),240),s=CY(c.a,40),pT(PC(c.c))?(l.a.zc(s,(SB(),nOo)),new f0(l.a.Zc(s,!1)).a.gc()>0&&xM(i,s,CY(new f0(l.a.Zc(s,!1)).a.Vc(),40)),new f0(l.a.ad(s,!0)).a.gc()>1&&xM(i,YS(l,s),s)):(new f0(l.a.Zc(s,!1)).a.gc()>0&&ER(a=CY(new f0(l.a.Zc(s,!1)).a.Vc(),40))===ER(ED(Aj(i.f,s)))&&CY(niK(s,(nf3(),nXp)),15).Fc(a),new f0(l.a.ad(s,!0)).a.gc()>1&&(f=YS(l,s),ER(ED(Aj(i.f,f)))===ER(s)&&CY(niK(f,(nf3(),nXp)),15).Fc(s)),l.a.Bc(s))}(t,b/2/2),Xm(w=t.b,new bY(r)),s=ZQ(w,0);s.b!=s.d.c;)if(!pT(PC(niK(u=CY(K0(s),40),(nf3(),nXF))))){if(i=function(n,t){var e,i;if(!(e=CY(niK(n,(nf3(),nXp)),15))||1>e.gc())return null;if(1==e.gc())return CY(e.Xb(0),40);switch(i=null,t.g){case 2:i=CY(SO(Ll(e.Oc(),new aF)),40);break;case 1:i=CY(SO(Lf(e.Oc(),new a$)),40);break;case 4:i=CY(SO(Ll(e.Oc(),new aD)),40);break;case 3:i=CY(SO(Lf(e.Oc(),new aR)),40)}return i}(u,r),d=function(n,t){var e,i,r,a;return(e=Zz(CY(niK(t,(nhn(),nX0)),88)),0==n.b.b)?null:(a=CY(FB(xz(new Aa(null,new R$(n.b,16)),new aN),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),i=PI(SO(Lf(xz((r=CY(FB(xX(new Aa(null,new R$(t.b,16)),new bX(a)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15)).Oc(),new bz(e)),($P(),$P(),nOq)))),CY(SO(Wu(xX(r.Oc(),new Ms(e,i)))),40))}(u,t),f=0,l=0,i)switch(g=i.e,r.g){case 2:f=g.a-b-u.f.a,d.e.a-b-u.f.a<f&&(f=d.e.a-b-u.f.a),l=f+u.f.a;break;case 1:f=g.a+i.f.a+b,d.e.a+b>f&&(f=d.e.a+d.f.a+b),l=f+u.f.a;break;case 4:f=g.b-b-u.f.b,d.e.b-b-u.f.b<f&&(f=d.e.b-b-u.f.b),l=f+u.f.b;break;case 3:f=g.b+i.f.b+b,d.e.b+b>f&&(f=d.e.b+d.f.b+b),l=f+u.f.b}else if(d)switch(r.g){case 2:l=(f=d.e.a-b-u.f.a)+u.f.a;break;case 1:l=(f=d.e.a+d.f.a+b)+u.f.a;break;case 4:l=(f=d.e.b-b-u.f.b)+u.f.b;break;case 3:l=(f=d.e.b+d.f.b+b)+u.f.b}ER(niK(t,nX4))===ER((Wv(),nXf))?(a=f,c=l,null!=(o=Wu(xX(new Aa(null,new R$(n.a,16)),new Mh(a,c)))).a?r==(Ju(),nY8)||r==nY9?u.e.a=f:u.e.b=f:null!=(o=r==(Ju(),nY8)||r==nZn?Wu(xX(GC(new Aa(null,new R$(n.a,16))),new bZ(a))):Wu(xX(GC(new Aa(null,new R$(n.a,16))),new b1(a)))).a&&(r==nY8||r==nY9?u.e.a=pj(PI((Px(null!=o.a),CY(o.a,42)).a)):u.e.b=pj(PI((Px(null!=o.a),CY(o.a,42)).a))),null!=o.a&&(h=H6(n.a,(Px(null!=o.a),o.a),0))>0&&h!=CY(niK(u,nzp),17).a&&(VD(u,nXm,(SB(),!0)),VD(u,nzp,Qx(h)))):r==(Ju(),nY8)||r==nY9?u.e.a=f:u.e.b=f}e.Vg()}}(this,CY(n,121),t)},Nj(ny0,"CompactionProcessor",1923),ncm(1924,1,ndy,bY),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,40),r=CY(t,40),Jj(jK(Zz(e),new MH(i.e.a,i.e.b)),jK(Zz(e),new MH(r.e.a,r.e.b)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$0$Type",1924),ncm(1925,1,nbV,Mh),nPB.Mb=function(n){var t,e,i;return t=this.b,e=this.a,pj(PI((i=CY(n,42)).a))<=t&&pj(PI(i.b))>=e},nPB.a=0,nPB.b=0,Nj(ny0,"CompactionProcessor/lambda$1$Type",1925),ncm(1934,1,ndy,a$),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),Jj(e.e.a+e.f.a,i.e.a+i.f.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$10$Type",1934),ncm(1935,1,ndy,aD),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),Jj(e.e.b,i.e.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$11$Type",1935),ncm(1936,1,ndy,aR),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),Jj(e.e.b+e.f.b,i.e.b+i.f.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$12$Type",1936),ncm(1926,1,nbV,bZ),nPB.Mb=function(n){var t;return t=this.a,pj(PI(CY(n,42).a))<=t},nPB.a=0,Nj(ny0,"CompactionProcessor/lambda$2$Type",1926),ncm(1927,1,nbV,b1),nPB.Mb=function(n){var t;return t=this.a,pj(PI(CY(n,42).a))>=t},nPB.a=0,Nj(ny0,"CompactionProcessor/lambda$3$Type",1927),ncm(1928,1,nbV,aK),nPB.Mb=function(n){return -1==CY(n,40).c.indexOf(nyY)},Nj(ny0,"CompactionProcessor/lambda$4$Type",1928),ncm(1929,1,{},b0),nPB.Kb=function(n){var t,e;return t=this.a,new CO(e=CY(n,40),Pf(jv(e.e),t,t),(SB(),!0))},nPB.a=0,Nj(ny0,"CompactionProcessor/lambda$5$Type",1929),ncm(1930,1,{},b2),nPB.Kb=function(n){var t,e;return t=this.a,new CO(e=CY(n,40),Pu(jv(e.e),e.f.a+t,e.f.b+t),(SB(),!1))},nPB.a=0,Nj(ny0,"CompactionProcessor/lambda$6$Type",1930),ncm(1931,1,ndy,b3),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,240),r=CY(t,240),Jj(jK(Zz(e),jv(i.b)),jK(Zz(e),jv(r.b)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$7$Type",1931),ncm(1932,1,ndy,b4),nPB.Ne=function(n,t){var e,i,r;return e=this.a,i=CY(n,40),r=CY(t,40),Jj(jK(Zz(e),jv(i.e)),jK(Zz(e),jv(r.e)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$8$Type",1932),ncm(1933,1,ndy,aF),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),Jj(e.e.a,i.e.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ny0,"CompactionProcessor/lambda$9$Type",1933),ncm(1921,1,npR,a_),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;if(t.Ug("Process directions",1),(e=CY(niK(n,(nhn(),nX0)),88))!=(Ju(),nY5))for(r=ZQ(n.b,0);r.b!=r.d.c;){switch(i=CY(K0(r),40),o=CY(niK(i,(nf3(),nX_)),17).a,u=CY(niK(i,nXB),17).a,e.g){case 4:u*=-1;break;case 1:a=o,o=u,u=a;break;case 2:c=o,o=-u,u=c}VD(i,nX_,Qx(o)),VD(i,nXB,Qx(u))}t.Vg()}(CY(n,121),t)},Nj(ny0,"DirectionProcessor",1921),ncm(1913,1,npR,Og),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h;for(e.Ug(ny2,1),LH(n.b),LH(n.a),o=null,a=ZQ(t.b,0);!o&&a.b!=a.d.c;)pT(PC(niK(s=CY(K0(a),40),(nf3(),nXF))))&&(o=s);for(F_(u=new vq,o,u.c.b,u.c),function n(t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;if(0!=e.b){for(b=new vq,o=null,w=null,r=Dy(nP_.Math.floor(nP_.Math.log(e.b)*nP_.Math.LOG10E)+1),u=0,v=ZQ(e,0);v.b!=v.d.c;)for(p=CY(K0(v),40),ER(w)!==ER(niK(p,(nf3(),nXS)))&&(w=PA(niK(p,nXS)),u=0),o=null!=w?w+RJ(u++,r):RJ(u++,r),VD(p,nXS,o),g=new bJ(ZQ(new bQ(p).a.d,0));mJ(g.a);)F_(b,d=CY(K0(g.a),65).c,b.c.b,b.c),VD(d,nXS,o);for(c=0,l=new dc;c<o.length-r;c++)for(m=ZQ(e,0);m.b!=m.d.c;)i=(null==(s=Di(PA(niK(p=CY(K0(m),40),(nf3(),nXS))),0,c+1))?ED(Aj(l.f,null)):yD(l.i,s))!=null?CY(null==s?ED(Aj(l.f,null)):yD(l.i,s),17).a+1:1,Rr(l,s,Qx(i));for(f=new zM(new fP(l).a);f.b;)h=Xu(f),a=Qx(null!=NR(t.a,h.ld())?CY(NR(t.a,h.ld()),17).a:0),Rr(t.a,PA(h.ld()),Qx(CY(h.md(),17).a+a.a)),(a=CY(NR(t.b,h.ld()),17))&&!(a.a<CY(h.md(),17).a)||Rr(t.b,PA(h.ld()),CY(h.md(),17));n(t,b)}}(n,u),h=ZQ(t.b,0);h.b!=h.d.c;)c=PA(niK(s=CY(K0(h),40),(nf3(),nXS))),r=null!=Db(n.b,c)?CY(Db(n.b,c),17).a:0,VD(s,nXk,Qx(r)),i=1+(null!=Db(n.a,c)?CY(Db(n.a,c),17).a:0),VD(s,nXv,Qx(i));e.Vg()}(this,CY(n,121),t)},Nj(ny0,"FanProcessor",1913),ncm(1937,1,npR,aB),nPB.Kf=function(n,t){var e;e=CY(n,121),t.Ug("Process graph bounds",1),VD(e,(nf3(),nXE),Mt(XY(xV(new Aa(null,new R$(e.b,16)),new aH)))),VD(e,nXj,Mt(XY(xV(new Aa(null,new R$(e.b,16)),new aU)))),VD(e,nXM,Mt(XJ(xV(new Aa(null,new R$(e.b,16)),new aG)))),VD(e,nXT,Mt(XJ(xV(new Aa(null,new R$(e.b,16)),new aq)))),t.Vg()},Nj(ny0,"GraphBoundsProcessor",1937),ncm(1938,1,{},aH),nPB.Ye=function(n){return CY(n,40).e.a},Nj(ny0,"GraphBoundsProcessor/lambda$0$Type",1938),ncm(1939,1,{},aU),nPB.Ye=function(n){return CY(n,40).e.b},Nj(ny0,"GraphBoundsProcessor/lambda$1$Type",1939),ncm(1940,1,{},aG),nPB.Ye=function(n){var t;return(t=CY(n,40)).e.a+t.f.a},Nj(ny0,"GraphBoundsProcessor/lambda$2$Type",1940),ncm(1941,1,{},aq),nPB.Ye=function(n){var t;return(t=CY(n,40)).e.b+t.f.b},Nj(ny0,"GraphBoundsProcessor/lambda$3$Type",1941),ncm(262,22,{3:1,34:1,22:1,262:1,196:1},Mw),nPB.dg=function(){switch(this.g){case 0:return new gq;case 1:return new Og;case 2:return new gG;case 3:return new aQ;case 4:return new az;case 8:return new aX;case 5:return new a_;case 6:return new aY;case 7:return new ax;case 9:return new aB;case 10:return new aZ;default:throw new pN(np5+(null!=this.f?this.f:""+this.g)).e}};var nA7=qc(ny0,np8,262,nPw,zp,function(n){return nsi(),qa((Ti(),nXh),n)});ncm(1920,1,npR,aX),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c;for(t.Ug("Processor determine the coords for each level",1),i=new du,c=ZQ(n.b,0);c.b!=c.d.c;){for(r=CY(K0(c),40);CY(niK(r,(nhn(),nzp)),17).a>i.c.length-1;)jB(i,new Ea(ngK,ny1));(e=CY(niK(r,nzp),17).a,T$(CY(niK(n,nX0),88)))?(r.e.a<pj(PI((RN(e,i.c.length),CY(i.c[e],42)).a))&&(RN(e,i.c.length),CY(i.c[e],42).a=r.e.a),r.e.a+r.f.a>pj(PI((RN(e,i.c.length),CY(i.c[e],42)).b))&&(RN(e,i.c.length),CY(i.c[e],42).b=r.e.a+r.f.a)):(r.e.b<pj(PI((RN(e,i.c.length),CY(i.c[e],42)).a))&&(RN(e,i.c.length),CY(i.c[e],42).a=r.e.b),r.e.b+r.f.b>pj(PI((RN(e,i.c.length),CY(i.c[e],42)).b))&&(RN(e,i.c.length),CY(i.c[e],42).b=r.e.b+r.f.b))}for(a=ZQ(n.b,0);a.b!=a.d.c;)r=CY(K0(a),40),e=CY(niK(r,(nhn(),nzp)),17).a,VD(r,(nf3(),nXA),PI((RN(e,i.c.length),CY(i.c[e],42)).a)),VD(r,nXI,PI((RN(e,i.c.length),CY(i.c[e],42)).b));t.Vg()}(CY(n,121),t)},Nj(ny0,"LevelCoordinatesProcessor",1920),ncm(1918,1,npR,az),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a;for(e.Ug("Processor determine the height for each level",1),n.a=0==t.b.b?1:t.b.b,r=null,i=ZQ(t.b,0);!r&&i.b!=i.d.c;)pT(PC(niK(a=CY(K0(i),40),(nf3(),nXF))))&&(r=a);r&&function n(t,e,i,r){var a,c,o,u,s,h;if(!KZ(e)){if((h=i.eh((jM(e,16)?CY(e,16).gc():Fv(e.Kc()))/t.a|0)).Ug(ny4,1),s=new aV,u=0,r==(Ju(),nY8)||r==nY9)for(o=e.Kc();o.Ob();)a=CY(o.Pb(),40),s=qb(Vw(DY(nPs,1),nl7,20,0,[s,new bQ(a)])),u<a.f.a&&(u=a.f.a);else for(o=e.Kc();o.Ob();)a=CY(o.Pb(),40),s=qb(Vw(DY(nPs,1),nl7,20,0,[s,new bQ(a)])),u<a.f.b&&(u=a.f.b);for(c=e.Kc();c.Ob();)VD(a=CY(c.Pb(),40),(nf3(),nXC),u);h.Vg(),n(t,s,i,r)}}(n,_q(Vw(DY(nA9,1),ny3,40,0,[r])),e,CY(niK(t,(nhn(),nX0)),88)),e.Vg()}(this,CY(n,121),t)},nPB.a=0,Nj(ny0,"LevelHeightProcessor",1918),ncm(1919,1,nbO,aV),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return $O(),vz(),nOU},Nj(ny0,"LevelHeightProcessor/1",1919),ncm(1914,1,npR,gG),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a;for(e.Ug(ny2,1),!function n(t,e,i){var r,a,c,o;if(!e.dc()){for(r=new vq,o=e.Kc();o.Ob();)for(c=CY(o.Pb(),40),xM(t.a,Qx(c.g),Qx(i)),a=new bJ(ZQ(new bQ(c).a.d,0));mJ(a.a);)F_(r,CY(K0(a.a),65).c,r.c.b,r.c);n(t,r,i+1)}}(n,CY(FB(xX(new Aa(null,new R$(t.b,16)),new aW),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),0),a=ZQ(t.b,0);a.b!=a.d.c;)r=CY(K0(a),40),i=null!=NR(n.a,Qx(r.g))?CY(NR(n.a,Qx(r.g)),17).a:0,VD(r,(nhn(),nzp),Qx(i));e.Vg()}(this,CY(n,121),t)},Nj(ny0,"LevelProcessor",1914),ncm(1915,1,nbV,aW),nPB.Mb=function(n){return pT(PC(niK(CY(n,40),(nf3(),nXF))))},Nj(ny0,"LevelProcessor/lambda$0$Type",1915),ncm(1916,1,npR,aQ),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a;for(e.Ug("Processor set neighbors",1),n.a=0==t.b.b?1:t.b.b,r=null,i=ZQ(t.b,0);!r&&i.b!=i.d.c;)pT(PC(niK(a=CY(K0(i),40),(nf3(),nXF))))&&(r=a);r&&function n(t,e,i){var r,a,c,o,u;if(!KZ(e)){for((u=i.eh((jM(e,16)?CY(e,16).gc():Fv(e.Kc()))/t.a|0)).Ug(ny4,1),o=new aJ,c=null,a=e.Kc();a.Ob();)r=CY(a.Pb(),40),o=qb(Vw(DY(nPs,1),nl7,20,0,[o,new bQ(r)])),c&&(VD(c,(nf3(),nXR),r),VD(r,nXP,c),Bn(r)==Bn(c)&&(VD(c,nXK,r),VD(r,nXO,c))),c=r;u.Vg(),n(t,o,i)}}(n,new bQ(r),e),e.Vg()}(this,CY(n,121),t)},nPB.a=0,Nj(ny0,"NeighborsProcessor",1916),ncm(1917,1,nbO,aJ),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return $O(),vz(),nOU},Nj(ny0,"NeighborsProcessor/1",1917),ncm(1922,1,npR,aY),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f;for(e.Ug("Processor set coordinates",1),n.a=0==t.b.b?1:t.b.b,s=null,i=ZQ(t.b,0);!s&&i.b!=i.d.c;)pT(PC(niK(f=CY(K0(i),40),(nf3(),nXF))))&&(s=f,(u=f.e).a=CY(niK(f,nX_),17).a,u.b=CY(niK(f,nXB),17).a);o=Vo(s),h=1;do h=(o=function(n){var t,e,i,r;if(0!=n.b){for(t=new vq,r=ZQ(n,0);r.b!=r.d.c;)Xx(t,Vo(i=CY(K0(r),40))),(e=i.e).a=CY(niK(i,(nf3(),nX_)),17).a,e.b=CY(niK(i,nXB),17).a;return t}return new vq}((r=o,e.eh(h),r))).b/n.a|0;while(0!=o.b)for(c=ZQ(t.b,0);c.b!=c.d.c;)Oj((a=CY(K0(c),40)).e,new MH(a.f.a/2,a.f.b/2));e.Vg()}(this,CY(n,121),t)},nPB.a=0,Nj(ny0,"NodePositionProcessor",1922),ncm(1912,1,npR,gq),nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s;for(e.Ug("Find roots",1),n.a.c.length=0,r=ZQ(t.b,0);r.b!=r.d.c;)0==(i=CY(K0(r),40)).b.b&&(VD(i,(nf3(),nXF),(SB(),!0)),jB(n.a,i));switch(n.a.c.length){case 0:VD(a=new Wh(0,t,"DUMMY_ROOT"),(nf3(),nXF),(SB(),!0)),VD(a,nXy,!0),IA(t.b,a);break;case 1:break;default:for(c=new Wh(0,t,nyY),u=new fU(n.a);u.a<u.c.c.length;)VD(s=new $S(c,o=CY(RU(u),40)),(nf3(),nXy),(SB(),!0)),IA(c.a.a,s),IA(c.d,s),IA(o.b,s),VD(o,nXF,!1);VD(c,(nf3(),nXF),(SB(),!0)),VD(c,nXy,!0),IA(t.b,c)}e.Vg()}(this,CY(n,121),t)},Nj(ny0,"RootProcessor",1912),ncm(1942,1,npR,aZ),nPB.Kf=function(n,t){var e,i,r=CY(n,121);for(t.Ug("Untreeify",1),i=CY(niK(r,(nf3(),nXD)),15).Kc();i.Ob();)IA((e=CY(i.Pb(),65)).b.d,e),IA(e.c.b,e);t.Vg()},Nj(ny0,"Untreeifyer",1942),ncm(392,22,{3:1,34:1,22:1,392:1},Md);var nLn=qc(ny6,"EdgeRoutingMode",392,nPw,function(){return Wv(),Vw(DY(nLn,1),nbG,392,0,[nXb,nXl,nXf])},function(n){return Wv(),qa((BI(),nXw),n)});ncm(862,1,ndq,hE),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ny8),""),nkr),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(SB(),!1)),(nrN(),nQW)),nPE),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ny9),""),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ny7),""),"Tree Level"),"The index for the tree level the node is in"),Qx(0)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkn),""),nkr),"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"),Qx(-1)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkt),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),nXJ),nQJ),nLt),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nke),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),nXq),nQJ),nLn),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nki),""),"Search Order"),"Which search order to use when computing a spanning tree."),nXV),nQJ),nLe),JP(nQX)))),nls((new hS,n))},Nj(ny6,"MrTreeMetaDataProvider",862),ncm(1006,1,ndq,hS),nPB.hf=function(n){nls(n)},Nj(ny6,"MrTreeOptions",1006),ncm(1007,1,{},a1),nPB.sf=function(){return new Op},nPB.tf=function(n){},Nj(ny6,"MrTreeOptions/MrtreeFactory",1007),ncm(353,22,{3:1,34:1,22:1,353:1},Mg);var nLt=qc(ny6,"OrderWeighting",353,nPw,function(){return WV(),Vw(DY(nLt,1),nbG,353,0,[nzM,nzy,nzk,nzv])},function(n){return WV(),qa((Hq(),nzE),n)});ncm(433,22,{3:1,34:1,22:1,433:1},Mp);var nLe=qc(ny6,"TreeifyingOrder",433,nPw,function(){return RI(),Vw(DY(nLe,1),nbG,433,0,[nzj,nzT])},function(n){return RI(),qa((F0(),nzS),n)});ncm(1486,1,nyL,hP),nPB.rg=function(n){return CY(n,121),nzP},nPB.Kf=function(n,t){var e;e=CY(n,121),t.Ug("DFS Treeifying phase",1),function(n,t){var e,i,r;for(r=t.b.b,n.a=new vq,n.b=BJ(n4s,nwl,28,r,15,1),e=0,i=ZQ(t.b,0);i.b!=i.d.c;)CY(K0(i),40).g=e++}(this,e),function(n,t){var e,i,r,a,c;for(c=CY(niK(t,(nhn(),nzu)),433),a=ZQ(t.b,0);a.b!=a.d.c;)if(r=CY(K0(a),40),0==n.b[r.g]){switch(c.g){case 0:!function n(t,e){var i,r,a;for(t.b[e.g]=1,r=ZQ(e.d,0);r.b!=r.d.c;)a=(i=CY(K0(r),65)).c,1==t.b[a.g]?IA(t.a,i):2==t.b[a.g]?t.b[a.g]=1:n(t,a)}(n,r);break;case 1:!function(n,t){var e,i,r,a,c;F_(i=new vq,t,i.c.b,i.c);do for(Px(0!=i.b),e=CY(Gy(i,i.a.a),40),n.b[e.g]=1,a=ZQ(e.d,0);a.b!=a.d.c;)c=(r=CY(K0(a),65)).c,1==n.b[c.g]?IA(n.a,r):2==n.b[c.g]?n.b[c.g]=1:F_(i,c,i.c.b,i.c);while(0!=i.b)}(n,r)}n.b[r.g]=2}for(i=ZQ(n.a,0);i.b!=i.d.c;)Yd((e=CY(K0(i),65)).b.d,e,!0),Yd(e.c.b,e,!0);VD(t,(nf3(),nXD),n.a)}(this,e),this.a=null,this.b=null,t.Vg()},Nj("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),ncm(1487,1,nyL,hO),nPB.rg=function(n){return CY(n,121),nzO},nPB.Kf=function(n,t){var e,i,r,a;e=this,i=CY(n,121),(r=t).Ug("Processor arrange node",1),pT(PC(niK(i,(nhn(),nX1)))),a=CY(SO(Wu(xX(new Aa(null,new R$(i.b,16)),new co))),40),e.a=CY(niK(i,nzm),353),e.a==(WV(),nzk)||e.a==nzy?function n(t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;for(i.Ug(nko,1),nf3(),b=nXk,t.a==(WV(),nzy)&&(b=nXv),f=0,$O(),e.jd(new wG(b)),c=e.gc(),u=e.fd(e.gc()),h=!0;h&&u.Sb();)m=CY(u.Ub(),40),0==CY(niK(m,b),17).a?--c:h=!1;if(o=new O5(e.kd(0,c)),s=new O5(e.kd(c,e.gc())),0==o.b)for(d=ZQ(s,0);d.b!=d.d.c;)VD(CY(K0(d),40),nXx,Qx(f++));else for(l=o.b,k=ZQ(o,0);k.b!=k.d.c;){for(VD(y=CY(K0(k),40),nXx,Qx(f++)),n(t,r=Vo(y),i.eh(1/l|0)),Xm(r,xE(new wG(nXx))),w=new vq,v=ZQ(r,0);v.b!=v.d.c;)for(m=CY(K0(v),40),p=ZQ(y.d,0);p.b!=p.d.c;)(g=CY(K0(p),65)).c==m&&F_(w,g,w.c.b,w.c);for($p(y.d),Xx(y.d,w),u=ZQ(s,s.b),a=y.d.b,h=!0;0<a&&h&&u.Sb();)m=CY(u.Ub(),40),0==CY(niK(m,b),17).a?(VD(m,nXx,Qx(f++)),--a,u.Qb()):h=!1}i.Vg()}(e,new pU(Vw(DY(nA9,1),ny3,40,0,[a])),r.eh(1)):e.a==nzv&&function n(t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C;for(i.Ug(nko,1),S=CY(FB(xX(new Aa(null,new R$(e,16)),new cu),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),f=CY(FB(xX(new Aa(null,new R$(e,16)),new b5(e)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15),d=CY(FB(xX(new Aa(null,new R$(e,16)),new b6(e)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15),g=BJ(nA9,ny3,40,e.gc(),0,1),o=0;o<f.gc();o++)a=CY(f.Xb(o),40),(j=CY(niK(a,(nhn(),nzc)),17).a)>=0&&j<f.gc()&&!g[j]&&(g[j]=a,f.gd(o),--o);for(u=0;u<f.gc();u++)for(b=0,a=CY(f.Xb(u),40),j=CY(niK(a,(nhn(),nzc)),17).a;;b++)if((w=j+b)<g.length&&w>=0&&!g[w]||(w=j-b)<g.length&&w>=0&&!g[w]){g[w]=a,f.gd(u),--u;break}for(d.jd(new cs),s=g.length-1;s>=0;s--)g[s]||d.dc()||(g[s]=CY(d.Xb(0),40),d.gd(0));for(h=0;h<g.length;h++)g[h]||S.dc()||(g[h]=CY(S.Xb(0),40),S.gd(0));for(c=0;c<g.length;c++)VD(g[c],(nf3(),nXx),Qx(c));for(l=CY((P=xX(new Aa(null,new R$(e,16)),new ch),O=new cc,(C=CY(FB(P,Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15)).Qc(Iq(C.gc()))),534),E=0,T=l.length;E<T;++E){for(n(t,r=Vo(M=l[E]),i.eh(1/l.length|0)),$O(),Xm(r,new wG((nf3(),nXx))),p=new vq,k=ZQ(r,0);k.b!=k.d.c;)for(y=CY(K0(k),40),v=ZQ(M.d,0);v.b!=v.d.c;)(m=CY(K0(v),65)).c==y&&F_(p,m,p.c.b,p.c);$p(M.d),Xx(M.d,p)}i.Vg()}(e,new pU(Vw(DY(nA9,1),ny3,40,0,[a])),r.eh(1)),r.Vg()},Nj(nku,"NodeOrderer",1487),ncm(1494,1,{},cc),nPB.td=function(n){return Iq(n)},Nj(nku,"NodeOrderer/0methodref$lambda$6$Type",1494),ncm(1488,1,nbV,co),nPB.Mb=function(n){return Gx(),pT(PC(niK(CY(n,40),(nf3(),nXF))))},Nj(nku,"NodeOrderer/lambda$0$Type",1488),ncm(1489,1,nbV,cu),nPB.Mb=function(n){return Gx(),CY(niK(CY(n,40),(nhn(),nzc)),17).a<0},Nj(nku,"NodeOrderer/lambda$1$Type",1489),ncm(1490,1,nbV,b5),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,40),Gx(),CY(niK(e,(nhn(),nzc)),17).a<t.gc()&&CY(niK(e,nzc),17).a>=0},Nj(nku,"NodeOrderer/lambda$2$Type",1490),ncm(1491,1,nbV,b6),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,40),Gx(),CY(niK(e,(nhn(),nzc)),17).a>=t.gc()},Nj(nku,"NodeOrderer/lambda$3$Type",1491),ncm(1492,1,ndy,cs),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),Gx(),-jo(CY(niK(e,(nhn(),nzc)),17).a,CY(niK(i,nzc),17).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nku,"NodeOrderer/lambda$4$Type",1492),ncm(1493,1,nbV,ch),nPB.Mb=function(n){return Gx(),0!=CY(niK(CY(n,40),(nf3(),nXk)),17).a},Nj(nku,"NodeOrderer/lambda$5$Type",1493),ncm(1495,1,nyL,hj),nPB.rg=function(n){return CY(n,121),nzC},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c;for(e.Ug("Processor order nodes",2),n.b=pj(PI(niK(t,(nhn(),nzf)))),n.a=CY(niK(t,nX0),88),n.a==(Ju(),nY7)&&(n.a=nY5,VD(t,nX0,n.a)),r=new vq,c=ZQ(t.b,0);c.b!=c.d.c;)pT(PC(niK(a=CY(K0(c),40),(nf3(),nXF))))&&F_(r,a,r.c.b,r.c);Px(0!=r.b),function n(t,e){var i,r,a,c,o,u;if(VD(e,(nf3(),nXL),0),a=CY(niK(e,nXO),40),0==e.d.b)a?(o=pj(PI(niK(a,nX$)))+t.b+JA(t,a,e),VD(e,nX$,o)):VD(e,nX$,0);else{for(i=new bJ(ZQ(new bQ(e).a.d,0));mJ(i.a);)n(t,CY(K0(i.a),65).c);r=CY(jT(new bJ(ZQ(new bQ(e).a.d,0))),40),c=(pj(PI(niK(CY(mJ((u=new bJ(ZQ(new bQ(e).a.d,0))).a)?Rg(u):null,40),nX$)))+pj(PI(niK(r,nX$))))/2,a?(o=pj(PI(niK(a,nX$)))+t.b+JA(t,a,e),VD(e,nX$,o),VD(e,nXL,pj(PI(niK(e,nX$)))-c),function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m;for(l=(s=CY(jT(new bJ(ZQ(new bQ(t).a.d,0))),40))?CY(niK(s,(nf3(),nXP)),40):null,r=1;s&&l;){for(a=0,c=0,m=0,e=s,i=l;a<r;a++)e=Bn(e),i=Bn(i),m+=pj(PI(niK(e,(nf3(),nXL)))),c+=pj(PI(niK(i,nXL)));if(p=pj(PI(niK(l,(nf3(),nX$)))),g=pj(PI(niK(s,nX$))),h=JA(n,s,l),0<(f=p+c+n.b+h-g-m)){for(o=t,u=0;o&&o!=i;)++u,o=CY(niK(o,nXO),40);if(!o)return;for(d=f/u,o=t;o!=i;)w=pj(PI(niK(o,nX$)))+f,VD(o,nX$,w),b=pj(PI(niK(o,nXL)))+f,VD(o,nXL,b),f-=d,o=CY(niK(o,nXO),40)}++r,l=(s=0==s.d.b?function n(t,e){var i,r,a,c;if(0<(jM(t,16)?CY(t,16).gc():Fv(t.Kc()))){if(1<(a=e)){for(--a,c=new aC,r=t.Kc();r.Ob();)i=CY(r.Pb(),40),c=qb(Vw(DY(nPs,1),nl7,20,0,[c,new bQ(i)]));return n(c,a)}if(a<0){for(c=new aI,r=t.Kc();r.Ob();)i=CY(r.Pb(),40),c=qb(Vw(DY(nPs,1),nl7,20,0,[c,new bQ(i)]));if(0<(jM(c,16)?CY(c,16).gc():Fv(c.Kc())))return n(c,a)}}return CY(jT(t.Kc()),40)}(new bQ(t),r):CY(jT(new bJ(ZQ(new bQ(s).a.d,0))),40))?CY(niK(s,nXP),40):null}}(t,e)):VD(e,nX$,c)}}(n,i=CY(r.a.a.c,40)),e.fh(1),function n(t,e,i,r){var a,c;e&&(a=pj(PI(niK(e,(nf3(),nX$))))+r,c=i+pj(PI(niK(e,nXC)))/2,VD(e,nX_,Qx(AW(zF(nP_.Math.round(a))))),VD(e,nXB,Qx(AW(zF(nP_.Math.round(c))))),0==e.d.b||n(t,CY(jT(new bJ(ZQ(new bQ(e).a.d,0))),40),i+pj(PI(niK(e,nXC)))+t.b,r+pj(PI(niK(e,nXL)))),null!=niK(e,nXK)&&n(t,CY(niK(e,nXK),40),i,r))}(n,i,0-pj(PI(niK(i,(nf3(),nXC))))/2,0),e.fh(1),e.Vg()}(this,CY(n,121),t)},nPB.b=0,Nj("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),ncm(1496,1,nyL,hT),nPB.rg=function(n){return CY(n,121),nzI},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u;if(t.Ug("Edge routing",1),(r=CY(niK(n,(nhn(),nX4)),392))==(Wv(),nXl)){for(u=ZQ(n.a,0);u.b!=u.d.c;)nay(CY(K0(u),65))}else if(r==nXf)for(CY(SO(Wu(xX(new Aa(null,new R$(n.b,16)),new aA))),40),a=pj(PI(niK(n,nzh))),c=pj(PI(niK(n,nX3))),o=CY(niK(n,nX0),88),function(n,t,e){var i,r,a,c,o,u,s,h,f;for(o=ZQ(n.b,0);o.b!=o.d.c;)if(!OB((c=CY(K0(o),40)).c,nyY))for(s=function(n,t){var e,i,r;for(r=new du,i=ZQ(t.a,0);i.b!=i.d.c;)(e=CY(K0(i),65)).b.g!=n.g||OB(e.b.c,nyY)||ER(niK(e.b,(nhn(),nzp)))===ER(niK(e.c,nzp))||_g(new Aa(null,new R$(r,16)),new bW(e))||dk(r.c,e);return ji(r,new aL),r}(c,n),t==(Ju(),nY8)||t==nY9?ji(s,new a7):ji(s,new cn),u=s.c.length,i=0;i<u;i++)OB((RN(i,s.c.length),CY(s.c[i],65)).c.c,"n11"),(!pT(PC(niK(c,(nf3(),nXm))))||Wa((RN(i,s.c.length),CY(s.c[i],65)),n))&&(r=1==u?.5:(i+1)/(u+1),t==nY8?(a=pj(PI(niK(c,nXA))),f=c.e.b+c.f.b*r,E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(nP_.Math.min(a,c.e.a-e),f)),E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(c.e.a,f))):t==nY9?(a=pj(PI(niK(c,nXI)))+e,f=c.e.b+c.f.b*r,E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(a,f)),E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(c.e.a+c.f.a,f))):t==nZn?(a=pj(PI(niK(c,nXA))),h=c.e.a+c.f.a*r,E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(h,nP_.Math.min(c.e.b-e,a))),E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(h,c.e.b))):(a=pj(PI(niK(c,nXI)))+e,h=c.e.a+c.f.a*r,E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(h,a)),E5((RN(i,s.c.length),CY(s.c[i],65)).a,new MH(h,c.e.b+c.f.b))))}(n,o,a),function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C;for(w=0,T=0,j=0,M=new dc,E=BJ(n4s,nwl,28,y=CY(SO(Lf(xz(new Aa(null,new R$(n.b,16)),new a8),new ca)),17).a+1,15,1),d=BJ(n4s,nwl,28,y,15,1);w<y;w++)E[w]=0,d[w]=0;for(s=CY(FB(DJ(new Aa(null,new R$(n.a,16))),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15).Kc();s.Ob();)if(u=CY(s.Pb(),65),P=CY(niK(u.b,(nhn(),nzp)),17).a,(v=(C=CY(niK(u.c,nzp),17).a)-P)>1)for(o=P+1;o<C;o++){if(h=o,k=CY(FB(xX(new Aa(null,new R$(n.b,16)),new b8(h)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[nCD]))),15),b=0,t==(Ju(),nY8)||t==nY9){for(k.jd(new ci),b=0;b<k.gc()&&(g=(o-P)/(C-P),!(CY(k.Xb(b),40).e.b>u.b.e.b*(1-g)+u.c.e.b*g));b++);if(k.gc()>0&&(O=0==u.a.b?jv(u.b.e):CY(S7(u.a),8),m=OT(jv(CY(k.Xb(k.gc()-1),40).e),CY(k.Xb(k.gc()-1),40).f),f=OT(jv(CY(k.Xb(0),40).e),CY(k.Xb(0),40).f),b>=k.gc()-1&&O.b>m.b&&u.c.e.b>m.b||b<=0&&O.b<f.a&&u.c.e.b<f.b))continue}else{for(k.jd(new cr),b=0;b<k.gc()&&(g=(o-P)/(C-P),!(CY(k.Xb(b),40).e.a>u.b.e.a*(1-g)+u.c.e.a*g));b++);if(k.gc()>0&&(O=0==u.a.b?jv(u.b.e):CY(S7(u.a),8),m=OT(jv(CY(k.Xb(k.gc()-1),40).e),CY(k.Xb(k.gc()-1),40).f),f=OT(jv(CY(k.Xb(0),40).e),CY(k.Xb(0),40).f),b>=k.gc()-1&&O.a>m.a&&u.c.e.a>m.a||b<=0&&O.a<f.a&&u.c.e.a<f.a))continue}r=new mm,a=new mm,IA(u.a,r),IA(u.a,a),c=new CO(r,a,u),LR(M,ZE(p=R_(A8(o,32),RF(b,nwW))))?(IA((l=CY(NR(M,ZE(p)),675)).a,c),T$(l.b)?Xm(l.a,new cl):Xm(l.a,new cb),nlR(l)):(l=new nte(0==b?null:CY(k.Xb(b-1),40),b==k.gc()?null:CY(k.Xb(b),40),c,n),xM(M,ZE(p),l)),t==nY8||t==nY9?(l.f&&l.d.e.b<=pj(PI(niK(n,(nf3(),nXj))))&&++T,l.g&&l.c.e.b+l.c.f.b>=pj(PI(niK(n,(nf3(),nXT))))&&++j):(l.f&&l.d.e.a<=pj(PI(niK(n,(nf3(),nXE))))&&++T,l.g&&l.c.e.a+l.c.f.a>=pj(PI(niK(n,(nf3(),nXM))))&&++j)}else 0==v?nay(u):v<0&&(++E[P],++d[C],S=function(n,t,e,i,r,a,c){var o,u,s,h,f,l,b,w;return l=CY(i.a,17).a,b=CY(i.b,17).a,f=n.b,w=n.c,o=0,h=0,t==(Ju(),nY8)||t==nY9?(h=Mt(Jt(xV(xz(new Aa(null,new R$(e.b,16)),new cf),new a2))),f.e.b+f.f.b/2>h?(s=++b,o=pj(PI(SO(Lf(xz(new Aa(null,new R$(e.b,16)),new MR(r,s)),new a3))))):(u=++l,o=pj(PI(SO(Ll(xz(new Aa(null,new R$(e.b,16)),new MK(r,u)),new a4)))))):(h=Mt(Jt(xV(xz(new Aa(null,new R$(e.b,16)),new a9),new a0))),f.e.a+f.f.a/2>h?(s=++b,o=pj(PI(SO(Lf(xz(new Aa(null,new R$(e.b,16)),new M$(r,s)),new a6))))):(u=++l,o=pj(PI(SO(Ll(xz(new Aa(null,new R$(e.b,16)),new MD(r,u)),new a5)))))),t==nY8?(E6(n.a,new MH(pj(PI(niK(f,(nf3(),nXA))))-r,o)),E6(n.a,new MH(w.e.a+w.f.a+r+a,o)),E6(n.a,new MH(w.e.a+w.f.a+r+a,w.e.b+w.f.b/2)),E6(n.a,new MH(w.e.a+w.f.a,w.e.b+w.f.b/2))):t==nY9?(E6(n.a,new MH(pj(PI(niK(f,(nf3(),nXI))))+r,f.e.b+f.f.b/2)),E6(n.a,new MH(f.e.a+f.f.a+r,o)),E6(n.a,new MH(w.e.a-r-a,o)),E6(n.a,new MH(w.e.a-r-a,w.e.b+w.f.b/2)),E6(n.a,new MH(w.e.a,w.e.b+w.f.b/2))):t==nZn?(E6(n.a,new MH(o,pj(PI(niK(f,(nf3(),nXA))))-r)),E6(n.a,new MH(o,w.e.b+w.f.b+r+a)),E6(n.a,new MH(w.e.a+w.f.a/2,w.e.b+w.f.b+r+a)),E6(n.a,new MH(w.e.a+w.f.a/2,w.e.b+w.f.b+r))):(0==n.a.b||(CY(S7(n.a),8).b=pj(PI(niK(f,(nf3(),nXI))))+r*CY(c.b,17).a),E6(n.a,new MH(o,pj(PI(niK(f,(nf3(),nXI))))+r*CY(c.b,17).a)),E6(n.a,new MH(o,w.e.b-r*CY(c.a,17).a-a))),new Ea(Qx(l),Qx(b))}(u,t,n,new Ea(Qx(T),Qx(j)),e,i,new Ea(Qx(d[C]),Qx(E[P]))),T=CY(S.a,17).a,j=CY(S.b,17).a)}(n,o,a,c),function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w;for(f=ZQ(n.b,0);f.b!=f.d.c;)if(!OB((h=CY(K0(f),40)).c,nyY))for(a=CY(FB(new Aa(null,new R$(function(n,t){var e,i,r;for(r=new du,i=ZQ(t.a,0);i.b!=i.d.c;)(e=CY(K0(i),65)).c.g!=n.g||ER(niK(e.b,(nhn(),nzp)))===ER(niK(e.c,nzp))||_g(new Aa(null,new R$(r,16)),new bV(e))||dk(r.c,e);return ji(r,new aO),r}(h,n),16)),Hu(new z,new X,new nt,Vw(DY(nCi,1),nbG,108,0,[(WJ(),nCD)]))),15),t==(Ju(),nY8)||t==nY9?a.jd(new ct):a.jd(new ce),w=a.gc(),r=0;r<w;r++)c=1==w?.5:(1+r)/(w+1),t==nY8?(s=pj(PI(niK(h,(nf3(),nXI)))),h.e.a+h.f.a+i<s?E6(CY(a.Xb(r),65).a,new MH(s+e,h.e.b+h.f.b*c)):CY(a.Xb(r),65).a.b>0&&(o=CY(S7(CY(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,u=CY(S7(CY(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nP_.Math.abs(u-b)/(nP_.Math.abs(o-l)/40)>50&&(b>u?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a+i/5.3,h.e.b+h.f.b*c-i/2)):E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a+i/5.3,h.e.b+h.f.b*c+i/2)))),E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a,h.e.b+h.f.b*c))):t==nY9?(s=pj(PI(niK(h,(nf3(),nXA)))),h.e.a-i>s?E6(CY(a.Xb(r),65).a,new MH(s-e,h.e.b+h.f.b*c)):CY(a.Xb(r),65).a.b>0&&(o=CY(S7(CY(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,u=CY(S7(CY(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nP_.Math.abs(u-b)/(nP_.Math.abs(o-l)/40)>50&&(b>u?E6(CY(a.Xb(r),65).a,new MH(h.e.a-i/5.3,h.e.b+h.f.b*c-i/2)):E6(CY(a.Xb(r),65).a,new MH(h.e.a-i/5.3,h.e.b+h.f.b*c+i/2)))),E6(CY(a.Xb(r),65).a,new MH(h.e.a,h.e.b+h.f.b*c))):t==nZn?(s=pj(PI(niK(h,(nf3(),nXI)))),h.e.b+h.f.b+i<s?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,s+e)):CY(a.Xb(r),65).a.b>0&&(o=CY(S7(CY(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,u=CY(S7(CY(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nP_.Math.abs(o-l)/(nP_.Math.abs(u-b)/40)>50&&(l>o?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c-i/2,h.e.b+i/5.3+h.f.b)):E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c+i/2,h.e.b+i/5.3+h.f.b)))),E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,h.e.b+h.f.b))):(s=pj(PI(niK(h,(nf3(),nXA)))),Wa(CY(a.Xb(r),65),n)?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,CY(S7(CY(a.Xb(r),65).a),8).b)):h.e.b-i>s?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,s-e)):CY(a.Xb(r),65).a.b>0&&(o=CY(S7(CY(a.Xb(r),65).a),8).a,l=h.e.a+h.f.a/2,u=CY(S7(CY(a.Xb(r),65).a),8).b,b=h.e.b+h.f.b/2,i>0&&nP_.Math.abs(o-l)/(nP_.Math.abs(u-b)/40)>50&&(l>o?E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c-i/2,h.e.b-i/5.3)):E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c+i/2,h.e.b-i/5.3)))),E6(CY(a.Xb(r),65).a,new MH(h.e.a+h.f.a*c,h.e.b)))}(n,o,a,c),i=ZQ(n.a,0);i.b!=i.d.c;)(e=CY(K0(i),65)).a.b<2&&nay(e);t.Vg()}(CY(n,121),t)},Nj(nks,"EdgeRouter",1496),ncm(1498,1,ndy,ca),nPB.Ne=function(n,t){return jo(CY(n,17).a,CY(t,17).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/0methodref$compare$Type",1498),ncm(1503,1,{},a2),nPB.Ye=function(n){return pj(PI(n))},Nj(nks,"EdgeRouter/1methodref$doubleValue$Type",1503),ncm(1505,1,ndy,a3),nPB.Ne=function(n,t){return Jj(pj(PI(n)),pj(PI(t)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/2methodref$compare$Type",1505),ncm(1507,1,ndy,a4),nPB.Ne=function(n,t){return Jj(pj(PI(n)),pj(PI(t)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/3methodref$compare$Type",1507),ncm(1509,1,{},a0),nPB.Ye=function(n){return pj(PI(n))},Nj(nks,"EdgeRouter/4methodref$doubleValue$Type",1509),ncm(1511,1,ndy,a6),nPB.Ne=function(n,t){return Jj(pj(PI(n)),pj(PI(t)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/5methodref$compare$Type",1511),ncm(1513,1,ndy,a5),nPB.Ne=function(n,t){return Jj(pj(PI(n)),pj(PI(t)))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/6methodref$compare$Type",1513),ncm(1497,1,{},a8),nPB.Kb=function(n){return G$(),CY(niK(CY(n,40),(nhn(),nzp)),17)},Nj(nks,"EdgeRouter/lambda$0$Type",1497),ncm(1508,1,{},a9),nPB.Kb=function(n){var t;return t=CY(n,40),G$(),t.e.a+t.f.a/2},Nj(nks,"EdgeRouter/lambda$11$Type",1508),ncm(1510,1,{},M$),nPB.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=CY(n,40),G$(),i.e.a+i.f.a+t*e},nPB.a=0,nPB.b=0,Nj(nks,"EdgeRouter/lambda$13$Type",1510),ncm(1512,1,{},MD),nPB.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=CY(n,40),G$(),i.e.a-t*e},nPB.a=0,nPB.b=0,Nj(nks,"EdgeRouter/lambda$15$Type",1512),ncm(1514,1,ndy,a7),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),G$(),Jj((0==e.a.b?new MH(e.c.e.a,e.c.e.b):CY(S9(e.a),8)).b,(0==i.a.b?new MH(i.c.e.a,i.c.e.b):CY(S9(i.a),8)).b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$17$Type",1514),ncm(1515,1,ndy,cn),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),G$(),Jj((0==e.a.b?new MH(e.c.e.a,e.c.e.b):CY(S9(e.a),8)).a,(0==i.a.b?new MH(i.c.e.a,i.c.e.b):CY(S9(i.a),8)).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$18$Type",1515),ncm(1516,1,ndy,ct),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),G$(),Jj((0==e.a.b?new MH(e.b.e.a,e.b.e.b):CY(S7(e.a),8)).b,(0==i.a.b?new MH(i.b.e.a,i.b.e.b):CY(S7(i.a),8)).b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$19$Type",1516),ncm(1499,1,nbV,b8),nPB.Mb=function(n){var t,e;return t=this.a,e=CY(n,40),G$(),CY(niK(e,(nhn(),nzp)),17).a==t},nPB.a=0,Nj(nks,"EdgeRouter/lambda$2$Type",1499),ncm(1517,1,ndy,ce),nPB.Ne=function(n,t){var e,i;return e=CY(n,65),i=CY(t,65),G$(),Jj((0==e.a.b?new MH(e.b.e.a,e.b.e.b):CY(S7(e.a),8)).a,(0==i.a.b?new MH(i.b.e.a,i.b.e.b):CY(S7(i.a),8)).a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$20$Type",1517),ncm(1500,1,ndy,ci),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),G$(),Jj(e.e.b,i.e.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$3$Type",1500),ncm(1501,1,ndy,cr),nPB.Ne=function(n,t){var e,i;return e=CY(n,40),i=CY(t,40),G$(),Jj(e.e.a,i.e.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"EdgeRouter/lambda$4$Type",1501),ncm(1502,1,{},cf),nPB.Kb=function(n){var t;return t=CY(n,40),G$(),t.e.b+t.f.b/2},Nj(nks,"EdgeRouter/lambda$5$Type",1502),ncm(1504,1,{},MR),nPB.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=CY(n,40),G$(),i.e.b+i.f.b+t*e},nPB.a=0,nPB.b=0,Nj(nks,"EdgeRouter/lambda$7$Type",1504),ncm(1506,1,{},MK),nPB.Kb=function(n){var t,e,i;return t=this.b,e=this.a,i=CY(n,40),G$(),i.e.b-t*e},nPB.a=0,nPB.b=0,Nj(nks,"EdgeRouter/lambda$9$Type",1506),ncm(675,1,{675:1},nte),nPB.e=0,nPB.f=!1,nPB.g=!1,Nj(nks,"MultiLevelEdgeNodeNodeGap",675),ncm(1943,1,ndy,cl),nPB.Ne=function(n,t){var e,i;return e=CY(n,240),i=CY(t,240),Jj(CY(e.c,65).c.e.b,CY(i.c,65).c.e.b)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),ncm(1944,1,ndy,cb),nPB.Ne=function(n,t){var e,i;return e=CY(n,240),i=CY(t,240),Jj(CY(e.c,65).c.e.a,CY(i.c,65).c.e.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nks,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944),ncm(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},Mm),nPB.dg=function(){return Yh(this)},nPB.qg=function(){return Yh(this)};var nLi=qc(nkh,"RadialLayoutPhases",501,nPw,function(){return Xc(),Vw(DY(nLi,1),nbG,501,0,[nzL,nzN])},function(n){return Xc(),qa((F2(),nzx),n)});ncm(1113,205,ngv,mU),nPB.rf=function(n,t){var e,i,r,a;if(e=noL(this,n),t.Ug("Radial layout",e.c.length),pT(PC(ncx(n,(nrh(),nVo))))||Dv(new lh((yv(),new py(n)))),a=function(n){var t,e;for(e=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));e.e!=e.i.gc();)if(!ncv(new Le(Sb(nc6(t=CY(Z6(e),27)).a.Kc(),new s))))return t;return null}(n),nnh(n,(PK(),nzA),a),!a)throw new pN("The given graph is not a tree!").e;for(0==(i=pj(PI(ncx(n,nVl))))&&(i=function n(t){var e,i,r,a,c,o,u;for(o=0,i=new j2((!t.a&&(t.a=new Lk(nNe,t,10,11)),t.a));i.e!=i.i.gc();)u=(e=CY(Z6(i),27)).g,a=e.f,r=nP_.Math.sqrt(u*u+a*a),o=nP_.Math.max(r,o),c=n(e),o=nP_.Math.max(c,o);return o}(n)),nnh(n,nVl,i),r=new fU(noL(this,n));r.a<r.c.c.length;)CY(RU(r),47).Kf(n,t.eh(1));t.Vg()},Nj(nkh,"RadialLayoutProvider",1113),ncm(556,1,ndy,mV),nPB.Ne=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b;return e=this.a,i=this.b,r=CY(n,27),a=CY(t,27),h=(u=CY(ncx(r,(nl_(),nYO)),8)).a,l=u.b+e,(c=nP_.Math.atan2(l,h))<0&&(c+=nkf),(c+=i)>nkf&&(c-=nkf),f=(s=CY(ncx(a,nYO),8)).a,b=s.b+e,(o=nP_.Math.atan2(b,f))<0&&(o+=nkf),(o+=i)>nkf&&(o-=nkf),T6(),qM(1e-10),1e-10>=nP_.Math.abs(c-o)||c==o||isNaN(c)&&isNaN(o)?0:c<o?-1:c>o?1:Tm(isNaN(c),isNaN(o))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},nPB.a=0,nPB.b=0,Nj(nkh,"RadialUtil/lambda$0$Type",556),ncm(1395,1,npR,cw),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;for(t.Ug("Calculate Graph Size",1),t.dh(n,nkl),f=ngK,l=ngK,s=nkb,h=nkb,d=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));d.e!=d.i.gc();)m=(b=CY(Z6(d),27)).i,v=b.j,j=b.g,o=b.f,u=CY(ncx(b,(nl_(),nJ1)),140),f=nP_.Math.min(f,m-u.b),l=nP_.Math.min(l,v-u.d),s=nP_.Math.max(s,m+j+u.c),h=nP_.Math.max(h,v+o+u.a);for(g=new MH(f-(p=CY(ncx(n,(nl_(),nYa)),107)).b,l-p.d),T=s-f+(p.b+p.c),c=h-l+(p.d+p.a),pT(PC(ncx(n,(nrh(),nVn))))&&(y=CY(ncx(n,(PK(),nzA)),27),k=CY(ncx(y,nJ1),140),M=y.i+y.g/2+(k.b+k.c)/2-g.a,E=y.j+y.f/2+(k.d+k.a)/2-g.b,r=T-M,a=c-E,r<T/2?(T+=e=r-M,g.a-=e):T+=e=M-r,a<c/2?(c+=i=a-E,g.b-=i):c+=i=E-a),w=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));w.e!=w.i.gc();)GZ(b=CY(Z6(w),27),b.i-g.a),G1(b,b.j-g.b);pT(PC(ncx(n,nJ9)))||(GY(n,T),GJ(n,c)),nnh(n,nJI,T-(p.b+p.c)),nnh(n,nJC,c-(p.d+p.a)),t.dh(n,nkw)}(CY(n,27),t)},Nj(nkd,"CalculateGraphSize",1395),ncm(1396,1,npR,cd),nPB.Kf=function(n,t){!function(n){var t,e,i,r,a,c,o;for(i=new j2((!(c=CY(ncx(n,(PK(),nzA)),27)).e&&(c.e=new Ox(nL6,c,7,4)),c.e));i.e!=i.i.gc();)e=CY(Z6(i),74),o=new MH(CY(GO((!e.a&&(e.a=new Lk(nL5,e,6,6)),e.a),0),166).j,CY(GO((!e.a&&(e.a=new Lk(nL5,e,6,6)),e.a),0),166).k),a=new MH(CY(GO((!e.a&&(e.a=new Lk(nL5,e,6,6)),e.a),0),166).b,CY(GO((!e.a&&(e.a=new Lk(nL5,e,6,6)),e.a),0),166).c),r=new MH(a.a-o.a,a.b-o.b),t=nP_.Math.atan2(r.b,r.a),CY(GO((!e.c&&(e.c=new Ox(nL4,e,5,8)),e.c),0),84).qf((nrh(),nVg),t)}(CY(n,27))},Nj(nkd,"EdgeAngleCalculator",1396),ncm(368,22,{3:1,34:1,22:1,368:1,196:1},Mv),nPB.dg=function(){switch(this.g){case 0:return new ck;case 1:return new cg;case 2:return new cM;case 3:return new cw;case 4:return new cd;default:throw new pN(np5+(null!=this.f?this.f:""+this.g)).e}};var nLr=qc(nkd,np8,368,nPw,function(){return nic(),Vw(DY(nLr,1),nbG,368,0,[nzK,nz$,nzF,nzD,nzR])},function(n){return nic(),qa((UW(),nz_),n)});ncm(653,1,{}),nPB.e=1,nPB.g=0,Nj(nkp,"AbstractRadiusExtensionCompaction",653),ncm(1834,653,{},Pa),nPB.Cg=function(n){var t,e,i,r,a,c,o,u,s;for(this.c=CY(ncx(n,(PK(),nzA)),27),this.f=this.c,this.d=nnA(CY(ncx(n,(nrh(),nVp)),300)),(u=CY(ncx(n,nVt),17))&&(this.e=u.a),o=PI(ncx(n,(nl_(),nYq))),this.g=(xf(o),o),s=no3(this.c),this.d&&this.d.Gg(s),!function(n,t){var e,i,r;for(i=new fU(t);i.a<i.c.c.length;)if(e=CY(RU(i),27),naR(n.a,e,e),naR(n.b,e,e),0!=(r=no3(e)).c.length)for(n.d&&n.d.Gg(r),naR(n.a,e,(RN(0,r.c.length),CY(r.c[0],27))),naR(n.b,e,CY(I0(r,r.c.length-1),27));0!=VM(r).c.length;)r=VM(r),n.d&&n.d.Gg(r),naR(n.a,e,(RN(0,r.c.length),CY(r.c[0],27))),naR(n.b,e,CY(I0(r,r.c.length-1),27))}(this,s),c=new pU(Vw(DY(nNe,1),nkm,27,0,[this.c])),e=0;e<2;e++)for(t=0;t<s.c.length;t++)r=new pU(Vw(DY(nNe,1),nkm,27,0,[(RN(t,s.c.length),CY(s.c[t],27))])),a=t<s.c.length-1?(RN(t+1,s.c.length),CY(s.c[t+1],27)):(RN(0,s.c.length),CY(s.c[0],27)),i=0==t?CY(I0(s,s.c.length-1),27):(RN(t-1,s.c.length),CY(s.c[t-1],27)),function n(t,e,i,r,a){var c,o,u;for(c=no4(t,e,i,r,a),u=!1;!c;)ncH(t,a,!0),u=!0,c=no4(t,e,i,r,a);u&&ncH(t,a,!1),0!=(o=VM(a)).c.length&&(t.d&&t.d.Gg(o),n(t,a,i,r,o))}(this,(RN(t,s.c.length),CY(s.c[t],27),c),i,a,r)},Nj(nkp,"AnnulusWedgeCompaction",1834),ncm(1393,1,npR,cg),nPB.Kf=function(n,t){var e=CY(n,27);t.Ug("General Compactor",1),(function(n){switch(n.g){case 1:return new cp;case 2:return new Pa;default:throw new pN(nky+(null!=n.f?n.f:""+n.g)).e}})(CY(ncx(e,(nrh(),nVe)),393)).Cg(e)},Nj(nkp,"GeneralCompactor",1393),ncm(1833,653,{},cp),nPB.Cg=function(n){var t,e,i,r;e=CY(ncx(n,(PK(),nzA)),27),this.f=e,this.b=nnA(CY(ncx(n,(nrh(),nVp)),300)),(r=CY(ncx(n,nVt),17))&&(this.e=r.a),i=PI(ncx(n,(nl_(),nYq))),this.g=(xf(i),i),t=no3(e),this.b&&this.b.Gg(t),function n(t,e){var i,r,a;if(0!=e.c.length){for(i=ni_(t,e),a=!1;!i;)ncH(t,e,!0),a=!0,i=ni_(t,e);a&&ncH(t,e,!1),r=VM(e),t.b&&t.b.Gg(r),t.a=Qf(t,(RN(0,e.c.length),CY(e.c[0],27))),n(t,r)}}(this,t)},nPB.a=0,Nj(nkp,"RadialCompaction",1833),ncm(1842,1,{},cm),nPB.Dg=function(n){var t,e,i,r,a,c;for(this.a=n,t=0,c=no3(n),i=0,a=new fU(c);a.a<a.c.c.length;)for(r=CY(RU(a),27),e=++i;e<c.c.length;e++)(function(n,t,e){var i,r,a,c,o,u,s,h,f,l;return h=n.a.i+n.a.g/2,f=n.a.i+n.a.g/2,c=new MH(t.i+t.g/2,t.j+t.f/2),(u=CY(ncx(t,(nl_(),nYO)),8)).a=u.a+h,u.b=u.b+f,r=(c.b-u.b)/(c.a-u.a),i=c.b-r*c.a,o=new MH(e.i+e.g/2,e.j+e.f/2),(s=CY(ncx(e,nYO),8)).a=s.a+h,s.b=s.b+f,a=(o.b-s.b)/(o.a-s.a),l=(i-(o.b-a*o.a))/(a-r),(!(u.a<l)||!(c.a<l))&&(!(l<u.a)||!(l<c.a))&&(!(s.a<l)||!(o.a<l))&&(!(l<s.a)||!(l<o.a))})(this,r,(RN(e,c.c.length),CY(c.c[e],27)))&&(t+=1);return t},Nj(nkv,"CrossingMinimizationPosition",1842),ncm(1840,1,{},cv),nPB.Dg=function(n){var t,e,i,r,a,c,o,u,h,f,l,b,w;for(i=0,e=new Le(Sb(nc5(n).a.Kc(),new s));ncv(e);)t=CY(_I(e),74),h=(o=niw(CY(GO((t.c||(t.c=new Ox(nL4,t,5,8)),t.c),0),84))).i+o.g/2,f=o.j+o.f/2,r=n.i+n.g/2,a=n.j+n.f/2,(l=new mm).a=h-r,l.b=f-a,ned(c=new MH(l.a,l.b),n.g,n.f),l.a-=c.a,l.b-=c.b,r=h-l.a,a=f-l.b,ned(u=new MH(l.a,l.b),o.g,o.f),l.a-=u.a,l.b-=u.b,h=r+l.a,f=a+l.b,b=h-r,w=f-a,i+=nP_.Math.sqrt(b*b+w*w);return i},Nj(nkv,"EdgeLengthOptimization",1840),ncm(1841,1,{},cy),nPB.Dg=function(n){var t,e,i,r,a,c,o,u,h,f,l;for(i=0,e=new Le(Sb(nc5(n).a.Kc(),new s));ncv(e);)t=CY(_I(e),74),u=(o=niw(CY(GO((t.c||(t.c=new Ox(nL4,t,5,8)),t.c),0),84))).i+o.g/2,h=o.j+o.f/2,r=CY(ncx(o,(nl_(),nYO)),8),a=n.i+r.a+n.g/2,c=n.j+r.b+n.f,f=u-a,l=h-c,i+=nP_.Math.sqrt(f*f+l*l);return i},Nj(nkv,"EdgeLengthPositionOptimization",1841),ncm(1392,653,npR,ck),nPB.Kf=function(n,t){var e,i,r,a,c;e=this,i=CY(n,27),(r=t).Ug("Remove overlaps",1),r.dh(i,nkl),e.f=a=CY(ncx(i,(PK(),nzA)),27),e.a=nnA(CY(ncx(i,(nrh(),nVp)),300)),xf(c=PI(ncx(i,(nl_(),nYq)))),e.g=c,function n(t,e,i,r){var a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S;if(0!=i.c.length){for(g=new du,d=new fU(i);d.a<d.c.c.length;)jB(g,new MH((w=CY(RU(d),27)).i,w.j));for(r.dh(e,"Before removing overlaps");niW(t,i);)ncH(t,i,!1);if(r.dh(e,"After removing overlaps"),u=0,h=0,a=null,0!=i.c.length&&(RN(0,i.c.length),u=(a=CY(i.c[0],27)).i-(RN(0,g.c.length),CY(g.c[0],8)).a,h=a.j-(RN(0,g.c.length),CY(g.c[0],8)).b),o=nP_.Math.sqrt(u*u+h*h),b=function(n){var t,e;for(e=new dV,t=new fU(n);t.a<t.c.c.length;)Xx(e,function(n){var t,e,i,r,a;for(r=new dV,t=new At((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a)),i=new Le(Sb(nc5(n).a.Kc(),new s));ncv(i);)!jM(GO(((e=CY(_I(i),74)).b||(e.b=new Ox(nL4,e,4,7)),e.b),0),193)&&(a=niw(CY(GO((e.c||(e.c=new Ox(nL4,e,5,8)),e.c),0),84)),t.a._b(a)||r.a.zc(a,r));return r}(CY(RU(t),27)));return e}(i),c=1,0!=b.a.gc()){for(l=b.a.ec().Kc();l.Ob();)f=CY(l.Pb(),27),m=(p=t.f).i+p.g/2,v=p.j+p.f/2,y=f.i+f.g/2,k=f.j+f.f/2,M=y-m,E=k-v,T=nP_.Math.sqrt(M*M+E*E),j=M/T,S=E/T,GZ(f,f.i+j*o),G1(f,f.j+S*o);r.dh(e,"Child movement "+c),++c}t.a&&t.a.Gg(new O8(b)),n(t,e,new O8(b),r)}}(e,i,no3(a),r),r.dh(i,nkw)},Nj("org.eclipse.elk.alg.radial.intermediate.overlaps","RadiusExtensionOverlapRemoval",1392),ncm(1394,1,npR,cM),nPB.Kf=function(n,t){var e;e=CY(n,27),t.Ug("General 'Rotator",1),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b;for(f=pj(PI(ncx(n,(nrh(),nVg)))),pT(PC(ncx(n,nVw)))&&(h=CY(ncx(n,(PK(),nzA)),27),a=CY(GO(xD(CY(GO((h.e||(h.e=new Ox(nL6,h,7,4)),h.e),(!h.e&&(h.e=new Ox(nL6,h,7,4)),h.e).i-1),74)),0),27),i=CY(GO(xD(CY(GO((h.e||(h.e=new Ox(nL6,h,7,4)),h.e),0),74)),0),27),c=new MH(a.i+a.g/2,a.j+a.f/2),r=new MH(i.i+i.g/2,i.j+i.f/2),(e=f)<=0&&(e+=nkf),(l=nP_.Math.acos((c.a*r.a+c.b*r.b)/(nP_.Math.sqrt(c.a*c.a+c.b*c.b)*nP_.Math.sqrt(r.a*r.a+r.b*r.b))))<=0&&(l+=nkf),(t=nP_.Math.atan2(c.b,c.a))<=0&&(t+=nkf),f=nyQ-(t-e+l/2)),u=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));u.e!=u.i.gc();)b=(s=new MH((o=CY(Z6(u),27)).i+o.g/2,o.j+o.f/2)).a*nP_.Math.cos(f)-s.b*nP_.Math.sin(f),s.b=s.a*nP_.Math.sin(f)+s.b*nP_.Math.cos(f),s.a=b,TB(o,s.a-o.g/2,s.b-o.f/2)}(e)},Nj("org.eclipse.elk.alg.radial.intermediate.rotation","GeneralRotator",1394),ncm(434,22,{3:1,34:1,22:1,434:1},My);var nLa=qc(nkk,"AnnulusWedgeCriteria",434,nPw,function(){return Hp(),Vw(DY(nLa,1),nbG,434,0,[nzB,nzH])},function(n){return Hp(),qa((F8(),nzU),n)});ncm(393,22,{3:1,34:1,22:1,393:1},Mk);var nLc=qc(nkk,ngj,393,nPw,function(){return WW(),Vw(DY(nLc,1),nbG,393,0,[nzG,nzq,nzX])},function(n){return WW(),qa((BA(),nzz),n)});ncm(863,1,ndq,hC),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkM),""),"Center On Root"),"Centers the layout on the root of the tree i.e. so that the central node is also the center node of the final layout. This introduces additional whitespace."),(SB(),!1)),(nrN(),nQW)),nPE),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkE),""),"Order ID"),"The id can be used to define an order for nodes of one radius. This can be used to sort them in the layer accordingly."),Qx(0)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkT),""),"Radius"),"The radius option can be used to set the initial radius for the radial layouter."),0),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkj),""),"Rotate"),"The rotate option determines whether a rotation of the layout should be performed."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkS),""),nkx),"With the compacter option it can be determined how compaction on the graph is done. It can be chosen between none, the radial compaction or the compaction of wedges separately."),nzJ),nQJ),nLc),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkP),""),"Compaction Step Size"),"Determine the size of steps with which the compaction is done. Step size 1 correlates to a compaction of 1 pixel per Iteration."),Qx(1)),nQZ),nPO),JP(nQX)))),Kj(n,nkP,nkS,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkO),""),"Sorter"),"Sort the nodes per radius according to the sorting algorithm. The strategies are none, by the given order id, or sorting them by polar coordinates."),nz8),nQJ),nLu),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkC),""),"Annulus Wedge Criteria"),"Determine how the wedge for the node placement is calculated. It can be chosen between wedge determination by the number of leaves or by the maximum sum of diagonals."),nz7),nQJ),nLa),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkI),""),"Translation Optimization"),"Find the optimal translation of the nodes of the first radii according to this criteria. For example edge crossings can be minimized."),nzZ),nQJ),nLo),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkA),nk$),"Target Angle"),"The angle in radians that the layout should be rotated to after layout."),0),nQQ),nPS),JP(nQX)))),Kj(n,nkA,nkj,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkL),nk$),"Additional Wedge Space"),"If set to true, modifies the target angle by rotating further such that space is left for an edge to pass in between the nodes. This option should only be used in conjunction with top-down layout."),!1),nQW),nPE),JP(nQX)))),Kj(n,nkL,nkj,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkN),nk$),"Outgoing Edge Angles"),"Calculate the required angle of connected nodes to leave space for an incoming edge. This option should only be used in conjunction with top-down layout."),!1),nQW),nPE),JP(nQX)))),nf7((new hI,n))},Nj(nkk,"RadialMetaDataProvider",863),ncm(1008,1,ndq,hI),nPB.hf=function(n){nf7(n)},Nj(nkk,"RadialOptions",1008),ncm(1009,1,{},cE),nPB.sf=function(){return new mU},nPB.tf=function(n){},Nj(nkk,"RadialOptions/RadialFactory",1009),ncm(354,22,{3:1,34:1,22:1,354:1},MM);var nLo=qc(nkk,"RadialTranslationStrategy",354,nPw,function(){return nti(),Vw(DY(nLo,1),nbG,354,0,[nVE,nVk,nVM,nVy])},function(n){return nti(),qa((HG(),nVT),n)});ncm(300,22,{3:1,34:1,22:1,300:1},ME);var nLu=qc(nkk,"SortingStrategy",300,nPw,function(){return zf(),Vw(DY(nLu,1),nbG,300,0,[nVS,nVP,nVj])},function(n){return zf(),qa((BL(),nVO),n)});ncm(1476,1,nyL,cT),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){var e;e=CY(n,27),t.Ug("Eades radial",1),t.dh(e,nkw),this.d=CY(ncx(e,(PK(),nzA)),27),this.c=pj(PI(ncx(e,(nrh(),nVl)))),this.e=nnA(CY(ncx(e,nVp),300)),this.a=function(n){switch(n.g){case 0:return new cj;case 1:return new cS;default:throw new pN(nky+(null!=n.f?n.f:""+n.g)).e}}(CY(ncx(e,nVv),434)),this.b=function(n){switch(n.g){case 1:return new cv;case 2:return new cy;case 3:return new cm;case 0:return null;default:throw new pN(nky+(null!=n.f?n.f:""+n.g)).e}}(CY(ncx(e,nVu),354)),function(n){var t,e,i,r,a;if(i=0,r=ngK,n.b)for(t=0;t<360;t++)e=.017453292519943295*t,nsg(n,n.d,0,0,nkf,e),(a=n.b.Dg(n.d))<r&&(i=e,r=a);nsg(n,n.d,0,0,nkf,i)}(this),t.dh(e,nkw)},nPB.c=0,Nj("org.eclipse.elk.alg.radial.p1position","EadesRadial",1476),ncm(1838,1,{},cj),nPB.Eg=function(n){return function n(t){var e,i,r;if(i=0,0==(r=no3(t)).c.length)return 1;for(e=new fU(r);e.a<e.c.c.length;)i+=n(CY(RU(e),27));return i}(n)},Nj(nkR,"AnnulusWedgeByLeafs",1838),ncm(1839,1,{},cS),nPB.Eg=function(n){return function n(t,e){var i,r,a,c,o,u;for(o=no3(e),a=e.f,u=e.g,c=nP_.Math.sqrt(a*a+u*u),r=0,i=new fU(o);i.a<i.c.c.length;)r+=n(t,CY(RU(i),27));return nP_.Math.max(r,c)}(this,n)},Nj(nkR,"AnnulusWedgeByNodeSpace",1839),ncm(1477,1,nyL,cP),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){var e=CY(n,27);t.Ug("Straight Line Edge Routing",1),t.dh(e,nkl),function n(t,e){var i,r,a,c,o,u,h,f,l,b,w;for(r=new Le(Sb(nc5(e).a.Kc(),new s));ncv(r);)!jM(GO(((i=CY(_I(r),74)).b||(i.b=new Ox(nL4,i,4,7)),i.b),0),193)&&(h=niw(CY(GO((i.c||(i.c=new Ox(nL4,i,5,8)),i.c),0),84)),nco(i)||(o=e.i+e.g/2,u=e.j+e.f/2,l=h.i+h.g/2,b=h.j+h.f/2,(w=new mm).a=l-o,w.b=b-u,ned(c=new MH(w.a,w.b),e.g,e.f),w.a-=c.a,w.b-=c.b,o=l-w.a,u=b-w.b,ned(f=new MH(w.a,w.b),h.g,h.f),w.a-=f.a,w.b-=f.b,l=o+w.a,b=u+w.b,G0(a=no6(i,!0,!0),o),G3(a,u),GQ(a,l),G2(a,b),n(t,h)))}(this,CY(ncx(e,(PK(),nzA)),27)),t.dh(e,nkw)},Nj("org.eclipse.elk.alg.radial.p2routing","StraightLineEdgeRouter",1477),ncm(826,1,{},gJ),nPB.Fg=function(n){},nPB.Gg=function(n){n.jd(this.a)},Nj(nkK,"IDSorter",826),ncm(1837,1,ndy,cO),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,27),i=CY(t,27),r=CY(ncx(e,(nrh(),nVs)),17),a=CY(ncx(i,nVs),17),jo(r.a,a.a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nkK,"IDSorter/lambda$0$Type",1837),ncm(1836,1,{},Xz),nPB.Fg=function(n){KT(this,n)},nPB.Gg=function(n){if(!n.dc()){var t;this.e||KT(this,function n(t){var e;return(e=nez(t))?n(e):t}(CY(n.Xb(0),27))),t=this.e,n.jd(t.a)}},Nj(nkK,"PolarCoordinateSorter",1836),ncm(445,22,{3:1,34:1,22:1,445:1},MT);var nLs=qc(nkH,"RectPackingLayoutPhases",445,nPw,function(){return Y1(),Vw(DY(nLs,1),nbG,445,0,[nVC,nVI,nVA])},function(n){return Y1(),qa((BN(),nVL),n)});ncm(1118,205,ngv,mq),nPB.rf=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S;if(t.Ug("Rectangle Packing",1),u=CY(ncx(n,(nuu(),nWv)),107),a=pT(PC(ncx(n,nWl))),o=pj(PI(ncx(n,nWM))),k=pT(PC(ncx(n,nWE))),n.a||(n.a=new Lk(nNe,n,10,11)),g=n.a,pT(PC(ncx(n,nWd)))||Dv(new lh((yv(),new py(n)))),y=!1,k&&g.i>=3)for(m=CY(GO(g,0),27),v=CY(GO(g,1),27),i=0;i+2<g.i;){if(p=m,m=v,v=CY(GO(g,i+2),27),p.f>=m.f+v.f+o||v.f>=p.f+m.f+o){y=!0;break}++i}else y=!0;if(!y){for(s=g.i,r=new j2(g);r.e!=r.i.gc();)nnh(CY(Z6(r),27),(nl_(),nYC),Qx(s)),--s;ns9(n,new gz),t.Vg();return}for(xR(this.a),L2(this.a,(Y1(),nVC),CY(ncx(n,nWP),188)),L2(this.a,nVI,CY(ncx(n,nWm),188)),L2(this.a,nVA,CY(ncx(n,nWT),188)),E=this.a,IG(M=new xm,nVC,(nnj(),nV$)),IG(M,nVI,nVx),pT(PC(ncx(n,nWo)))&&IG(M,nVC,nVN),T=M,zT(E.a,T),c=1/(e=nfu(this.a,n)).c.length,f=new fU(e);f.a<f.c.c.length;){if(h=CY(RU(f),47),t.$g())return;h.Kf(n,t.eh(c))}for(b=0,l=0,d=new j2(g);d.e!=d.i.gc();)w=CY(Z6(d),27),b=nP_.Math.max(b,w.i+w.g),l=nP_.Math.max(l,w.j+w.f);for(nr6(n,new MH(pj(PI(ncx(n,(nuI(),nVF)))),pj(PI(ncx(n,nVK)))),new MH(b,l)),S=new j2(g);S.e!=S.i.gc();)TB(j=CY(Z6(S),27),j.i+u.b,j.j+u.d);a||nf9(n,pj(PI(ncx(n,nVF)))+(u.b+u.c),pj(PI(ncx(n,nVK)))+(u.d+u.a),!1,!0),pT(PC(ncx(n,nWd)))||Dv(new lh((yv(),new py(n)))),t.Vg()},Nj(nkH,"RectPackingLayoutProvider",1118),ncm(1518,1,npR,cC),nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h;for(t.Ug("Interactive Node Reorderer",1),n.a||(n.a=new Lk(nNe,n,10,11)),h=n.a,o=new du,r=new j2(h);r.e!=r.i.gc();)Bz(e=CY(Z6(r),27),(nuu(),nWc))&&dk(o.c,e);for(a=new fU(o);a.a<a.c.c.length;)UP(h,e=CY(RU(a),27));for($O(),ji(o,new cI),c=new fU(o);c.a<c.c.c.length;)e=CY(RU(c),27),s=CY(ncx(e,(nuu(),nWc)),17).a,s=nP_.Math.min(s,h.i),Jo(h,s,e);for(u=0,i=new j2(h);i.e!=i.i.gc();)nnh(e=CY(Z6(i),27),(nuu(),nWa),Qx(u)),++u;t.Vg()}(CY(n,27),t)},Nj(nkU,"InteractiveNodeReorderer",1518),ncm(1519,1,ndy,cI),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,27),i=CY(t,27),(r=CY(ncx(e,(nuu(),nWc)),17).a)==(a=CY(ncx(i,nWc),17).a)||r<a?-1:+(r>a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nkU,"InteractiveNodeReorderer/lambda$0$Type",1519),ncm(456,22,{3:1,34:1,22:1,456:1,196:1},Mj),nPB.dg=function(){switch(this.g){case 0:return new cC;case 1:return new cL;case 2:return new cA}return null};var nLh=qc(nkU,np8,456,nPw,function(){return nnj(),Vw(DY(nLh,1),nbG,456,0,[nVN,nV$,nVx])},function(n){return nnj(),qa((Bx(),nVD),n)});ncm(1521,1,npR,cA),nPB.Kf=function(n,t){var e;e=CY(n,27),t.Ug("Min Size Postprocessing",1),nnh(e,(nuI(),nVz),nP_.Math.max(pj(PI(ncx(e,nVz))),pj(PI(ncx(e,nVq))))),t.Vg()},Nj(nkU,"MinSizePostProcessor",1521),ncm(1520,1,npR,cL),nPB.Kf=function(n,t){var e,i;e=CY(n,27),t.Ug("Min Size Preprocessing",1),i=nrW(e),nnh(e,(nuI(),nVq),i.a),nnh(e,nVH,i.b),t.Vg()},Nj(nkU,"MinSizePreProcessor",1520),ncm(394,22,{3:1,34:1,22:1,394:1},MS);var nLf=qc(nkG,"OptimizationGoal",394,nPw,function(){return Jq(),Vw(DY(nLf,1),nbG,394,0,[nVW,nVQ,nVV])},function(n){return Jq(),qa((B$(),nVJ),n)});ncm(867,1,ndq,hA),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkq),""),"Try box layout first"),"Whether one should check whether the regions are stackable to see whether box layout would do the job. For example, nodes with the same height are not stackable inside a row. Therefore, box layout will perform better and faster."),(SB(),!1)),(nrN(),nQW)),nPE),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkX),""),"Current position of a node in the order of nodes"),"The rectangles are ordered. Normally according to their definition the the model. This option specifies the current position of a node."),Qx(-1)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkz),""),"Desired index of node"),"The rectangles are ordered. Normally according to their definition the the model. This option allows to specify a desired position that has preference over the original position."),Qx(-1)),nQZ),nPO),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkV),""),"In new Row"),"If set to true this node begins in a new row. Consequently this node cannot be moved in a previous layer during compaction. Width approximation does does not take this into account."),!1),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkW),nk3),"Width Approximation Strategy"),"Strategy for finding an initial width of the drawing."),nWt),nQJ),nLb),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkQ),nk3),"Target Width"),"Option to place the rectangles in the given target width instead of approximating the width using the desired aspect ratio. The padding is not included in this. Meaning a drawing will have width of targetwidth + horizontal padding."),-1),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkJ),nk3),"Optimization Goal"),"Optimization goal for approximation of the bounding box given by the first iteration. Determines whether layout is sorted by the maximum scaling, aspect ratio, or area. Depending on the strategy the aspect ratio might be nearly ignored."),nV7),nQJ),nLf),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkY),nk3),"Shift Last Placed."),"When placing a rectangle behind or below the last placed rectangle in the first iteration, it is sometimes possible to shift the rectangle further to the left or right, resulting in less whitespace. True (default) enables the shift and false disables it. Disabling the shift produces a greater approximated area by the first iteration and a layout, when using ONLY the first iteration (default not the case), where it is sometimes impossible to implement a size transformation of rectangles that will fill the bounding box and eliminate empty spaces."),!0),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nkZ),"packing"),nk4),"Strategy for finding an initial placement on nodes."),nV4),nQJ),nLw),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nk1),nk6),"Row Height Reevaluation"),"During the compaction step the height of a row is normally not changed. If this options is set, the blocks of other rows might be added if they exceed the row height. If this is the case the whole row has to be packed again to be optimal regarding the new row height. This option should, therefore, be used with care since it might be computation heavy."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nk0),nk6),"Compaction iterations"),"Defines the number of compaction iterations. E.g. if set to 2 the width is initially approximated, then the drawing is compacted and based on the resulting drawing the target width is decreased or increased and a second compaction step is executed and the result compared to the first one. The best run is used based on the scale measure."),Qx(1)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nk2),"whiteSpaceElimination"),"White Space Approximation Strategy"),"Strategy for expanding nodes such that whitespace in the parent is eliminated."),nQJ),nLd),JP(nQX)))),nlS((new hL,n))},Nj(nkG,"RectPackingMetaDataProvider",867),ncm(1016,1,ndq,hL),nPB.hf=function(n){nlS(n)},Nj(nkG,"RectPackingOptions",1016),ncm(1017,1,{},cN),nPB.sf=function(){return new mq},nPB.tf=function(n){},Nj(nkG,"RectPackingOptions/RectpackingFactory",1017),ncm(1705,1,{},CP),nPB.a=0,nPB.c=!1,Nj(nk8,"AreaApproximation",1705);var nLl=IH(nk8,"BestCandidateFilter");ncm(673,1,{535:1},cx),nPB.Hg=function(n,t,e){var i,r,a,c,o,u;for(u=new du,a=nwF,o=new fU(n);o.a<o.c.c.length;)c=CY(RU(o),238),a=nP_.Math.min(a,(c.c+(e.b+e.c))*(c.b+(e.d+e.a)));for(r=new fU(n);r.a<r.c.c.length;)((i=CY(RU(r),238)).c+(e.b+e.c))*(i.b+(e.d+e.a))==a&&dk(u.c,i);return u},Nj(nk8,"AreaFilter",673),ncm(674,1,{535:1},c$),nPB.Hg=function(n,t,e){var i,r,a,c,o,u;for(o=new du,u=nwF,c=new fU(n);c.a<c.c.c.length;)a=CY(RU(c),238),u=nP_.Math.min(u,nP_.Math.abs((a.c+(e.b+e.c))/(a.b+(e.d+e.a))-t));for(r=new fU(n);r.a<r.c.c.length;)i=CY(RU(r),238),nP_.Math.abs((i.c+(e.b+e.c))/(i.b+(e.d+e.a))-t)==u&&dk(o.c,i);return o},Nj(nk8,"AspectRatioFilter",674),ncm(1469,1,nyL,cD),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){var e,i,r,a,c,o,u,s;e=CY(n,27),t.Ug("Greedy Width Approximator",1),i=pj(PI(ncx(e,(nuu(),nWi)))),u=CY(ncx(e,nWv),107),a=CY(ncx(e,nWS),394),c=pT(PC(ncx(e,nWj))),o=pj(PI(ncx(e,nWM))),e.a||(e.a=new Lk(nNe,e,10,11)),Xv(s=e.a),r=function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w;for(GZ(c=CY(GO(t,0),27),0),G1(c,0),dk((l=new du).c,c),o=c,a=new IR(n.a,c.g,c.f,(nol(),nWU)),b=1;b<t.i;b++)w=CY(GO(t,b),27),u=nhD(n,nW_,w,o,a,l,e),s=nhD(n,nWF,w,o,a,l,e),h=nhD(n,nWH,w,o,a,l,e),f=nhD(n,nWB,w,o,a,l,e),r=function(n,t,e,i,r,a,c,o){var u,s,h,f;switch(u=_q(Vw(DY(nLg,1),nl7,238,0,[t,e,i,r])),f=null,n.b.g){case 1:f=_q(Vw(DY(nLl,1),nl7,535,0,[new cR,new cx,new c$]));break;case 0:f=_q(Vw(DY(nLl,1),nl7,535,0,[new c$,new cx,new cR]));break;case 2:f=_q(Vw(DY(nLl,1),nl7,535,0,[new cx,new cR,new c$]))}for(h=new fU(f);h.a<h.c.c.length;)s=CY(RU(h),535),u.c.length>1&&(u=s.Hg(u,n.a,o));return 1==u.c.length?CY(I0(u,u.c.length-1),238):2==u.c.length?function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v;return(a=n.f,f=t.f,c=a==(nol(),nWF)||a==nWB,l=f==nWF||f==nWB,o=a==nW_||a==nWH,b=f==nW_||f==nWH,u=a==nW_||a==nWF,w=f==nW_||f==nWF,c&&l)?n.f==nWB?n:t:o&&b?n.f==nWH?n:t:u&&w?(a==nW_?(h=n,s=t):(h=t,s=n),d=e.j+e.f,g=h.e+i.f,p=nP_.Math.max(d,g)-nP_.Math.min(e.j,h.e),r=(h.d+i.g-e.i)*p,m=e.i+e.g,v=s.d+i.g,r<=(nP_.Math.max(m,v)-nP_.Math.min(e.i,s.d))*(s.e+i.f-e.j)?n.f==nW_?n:t:n.f==nWF?n:t):n}((RN(0,u.c.length),CY(u.c[0],238)),(RN(1,u.c.length),CY(u.c[1],238)),c,a):null}(n,u,s,h,f,w,o,i),GZ(w,r.d),G1(w,r.e),r.f=nWU,a=r,o=w,dk(l.c,w);return a}(new CP(i,a,c),s,o,u),nnh(e,(nuI(),nVz),r.c),t.Vg()},Nj(nk8,"GreedyWidthApproximator",1469),ncm(672,1,{535:1},cR),nPB.Hg=function(n,t,e){var i,r,a,c,o,u;for(u=new du,a=nw_,o=new fU(n);o.a<o.c.c.length;)c=CY(RU(o),238),a=nP_.Math.max(a,Ao(c.c+(e.b+e.c),c.b+(e.d+e.a),c.a));for(r=new fU(n);r.a<r.c.c.length;)Ao((i=CY(RU(r),238)).c+(e.b+e.c),i.b+(e.d+e.a),i.a)==a&&dk(u.c,i);return u},Nj(nk8,"ScaleMeasureFilter",672),ncm(1470,1,nyL,cK),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){var e=CY(n,27);if(t.Ug("Target Width Setter",1),Bz(e,(nuu(),nWO)))nnh(e,(nuI(),nVz),PI(ncx(e,nWO)));else throw new pK("A target width has to be set if the TargetWidthWidthApproximator should be used.").e;t.Vg()},Nj(nk8,"TargetWidthWidthApproximator",1470),ncm(491,22,{3:1,34:1,22:1,491:1,188:1,196:1},MP),nPB.dg=function(){return niO(this)},nPB.qg=function(){return niO(this)};var nLb=qc(nk8,"WidthApproximationStrategy",491,nPw,function(){return _d(),Vw(DY(nLb,1),nbG,491,0,[nWC,nWI])},function(n){return _d(),qa((F9(),nWA),n)});ncm(1471,1,nyL,cF),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){!function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d;for(e.Ug(nkx,1),t.a||(t.a=new Lk(nNe,t,10,11)),i=pj(PI(ncx(t,(nuu(),nWi)))),h=pj(PI(ncx(t,nWM))),l=CY(ncx(t,nWv),107),a=nlA(b=new MF(i,h),t,l),Gp(t,b),o=CY(ncx(t,nWg),17).a;o>1;){if(r=function(n){var t,e,i,r;for(mk(),nom(i=new gE,n),e=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));e.e!=e.i.gc();)t=CY(Z6(e),27),nob(r=new gE,i),T_(r,t.g,t.f),qY(r,t.k),TB(r,t.i,t.j),B7((i.a||(i.a=new Lk(nNe,i,10,11)),i.a),r),nom(r,t);return i}(t),f=a.g,w=CY(ncx(t,nWv),107),d=pj(PI(ncx(t,nWi))),(!t.a&&(t.a=new Lk(nNe,t,10,11)),t.a).i>1&&pj(PI(ncx(t,(nuI(),nVG))))!=nwF&&(a.c+(w.b+w.c))/(a.b+(w.d+w.a))<d?nnh(r,(nuI(),nVz),pj(PI(ncx(t,nVz)))+pj(PI(ncx(t,nVG)))):(!t.a&&(t.a=new Lk(nNe,t,10,11)),t.a).i>1&&pj(PI(ncx(t,(nuI(),nVU))))!=nwF&&(a.c+(w.b+w.c))/(a.b+(w.d+w.a))>d&&nnh(r,(nuI(),nVz),nP_.Math.max(pj(PI(ncx(t,nVq))),pj(PI(ncx(r,nVz)))-pj(PI(ncx(t,nVU))))),(s=(u=nlA(b=new MF(i,h),r,l)).g)>=f&&s==s){for(c=0;c<(!r.a&&(r.a=new Lk(nNe,r,10,11)),r.a).i;c++)!function n(t,e,i){var r;for(T_(i,e.g,e.f),TB(i,e.i,e.j),r=0;r<(!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a).i;r++)n(t,CY(GO((e.a||(e.a=new Lk(nNe,e,10,11)),e.a),r),27),CY(GO((i.a||(i.a=new Lk(nNe,i,10,11)),i.a),r),27))}(n,CY(GO((r.a||(r.a=new Lk(nNe,r,10,11)),r.a),c),27),CY(GO((t.a||(t.a=new Lk(nNe,t,10,11)),t.a),c),27));Gp(t,b),a.c=u.c,a.c>0&&a.b>0&&(a.g=Ao(a.c,a.b,a.a)),a.b=u.b,a.c>0&&a.b>0&&(a.g=Ao(a.c,a.b,a.a))}--o}nnh(t,(nuI(),nVK),a.b),nnh(t,nVF,a.c),e.Vg()}(this,CY(n,27),t)},Nj(nk9,"Compactor",1471),ncm(1473,1,nyL,c_),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){var e,i,r,a,c,o;e=CY(n,27),t.Ug(nk7,1),a=CY(ncx(e,(nuu(),nWv)),107),e.a||(e.a=new Lk(nNe,e,10,11)),c=function(n){var t,e,i,r;for(e=0,t=0,r=new j2(n);r.e!=r.i.gc();)i=CY(Z6(r),27),e=nP_.Math.max(i.g+i.i,e),t=nP_.Math.max(i.f+i.j,t);return new MH(e,t)}(e.a),o=nP_.Math.max(c.a,pj(PI(ncx(e,(nuI(),nVq))))-(a.b+a.c)),i=(r=nP_.Math.max(c.b,pj(PI(ncx(e,nVH)))-(a.d+a.a)))-c.b,nnh(e,nVR,i),nnh(e,nVF,o),nnh(e,nVK,r+i),t.Vg()},Nj(nk9,"NoPlacement",1473),ncm(439,22,{3:1,34:1,22:1,439:1,188:1,196:1},MO),nPB.dg=function(){return QI(this)},nPB.qg=function(){return QI(this)};var nLw=qc(nk9,"PackingStrategy",439,nPw,function(){return HY(),Vw(DY(nLw,1),nbG,439,0,[nWL,nWx,nWN])},function(n){return HY(),qa((BD(),nW$),n)});ncm(810,1,{},MF),nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=nwF,nPB.e=0,nPB.f=nwF,Nj(nk9,"RowFillingAndCompaction",810),ncm(1472,1,nyL,cB),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){!function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w;for(t.Ug(nk7,1),b=pj(PI(ncx(n,(nuI(),nVz)))),c=pj(PI(ncx(n,(nuu(),nWM)))),o=CY(ncx(n,nWv),107),Xv((n.a||(n.a=new Lk(nNe,n,10,11)),n.a)),h=nh4((n.a||(n.a=new Lk(nNe,n,10,11)),n.a),b,c),n.a||(n.a=new Lk(nNe,n,10,11)),s=new fU(h);s.a<s.c.c.length;)for(r=new fU((u=CY(RU(s),186)).a);r.a<r.c.c.length;)zr(l=new DE((i=CY(RU(r),172)).s,i.t,pj(PI(ncx(n,nWM)))),i),jB(u.d,l);f=nt2(h,c),w=nP_.Math.max(f.a,pj(PI(ncx(n,nVq)))-(o.b+o.c)),e=(a=nP_.Math.max(f.b,pj(PI(ncx(n,nVH)))-(o.d+o.a)))-f.b,nnh(n,nVR,e),nnh(n,nVF,w),nnh(n,nVK,a+e),nnh(n,nVX,h),t.Vg()}(CY(n,27),t)},Nj(nk9,"SimplePlacement",1472),ncm(1474,1,nyL,cH),nPB.rg=function(n){return CY(n,27),null},nPB.Kf=function(n,t){this.Ig(CY(n,27),t)},nPB.Ig=function(n,t){ncN(n,t)},Nj(nMn,"EqualWhitespaceEliminator",1474),ncm(1475,1474,nyL,cU),nPB.Ig=function(n,t){var e,i,r,a;t.Ug("To Aspect Ratio Whitesapce Eliminator",1),a=pj(PI(ncx(n,(nuI(),nVF)))),r=pj(PI(ncx(n,nVK))),i=pj(PI(ncx(n,(nuu(),nWi)))),e=pj(PI(ncx(n,nVR))),a/r<i?nnh(n,nVF,a=r*i):(e+=a/i-r,nnh(n,nVR,e),nnh(n,nVK,r+e)),ncN(n,t),t.Vg()},Nj(nMn,"ToAspectratioNodeExpander",1475),ncm(492,22,{3:1,34:1,22:1,492:1,188:1,196:1},MC),nPB.dg=function(){return X0(this)},nPB.qg=function(){return X0(this)};var nLd=qc(nMn,"WhiteSpaceEliminationStrategy",492,nPw,function(){return zY(),Vw(DY(nLd,1),nbG,492,0,[nWD,nWR])},function(n){return zY(),qa((F7(),nWK),n)});ncm(172,1,{172:1},Wf),nPB.a=0,nPB.c=!1,nPB.d=0,nPB.e=0,nPB.f=0,nPB.g=0,nPB.i=0,nPB.k=!1,nPB.o=nwF,nPB.p=nwF,nPB.r=0,nPB.s=0,nPB.t=0,Nj(nMt,"Block",172),ncm(209,1,{209:1},DT),nPB.a=0,nPB.b=0,nPB.d=0,nPB.e=0,nPB.f=0,Nj(nMt,"BlockRow",209),ncm(315,1,{315:1},DE),nPB.b=0,nPB.c=0,nPB.d=0,nPB.e=0,nPB.f=0,Nj(nMt,"BlockStack",315),ncm(238,1,{238:1},IR,Zs),nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=0,nPB.e=0,nPB.g=0;var nLg=Nj(nMt,"DrawingData",238);ncm(373,22,{3:1,34:1,22:1,373:1},MI);var nLp=qc(nMt,"DrawingDataDescriptor",373,nPw,function(){return nol(),Vw(DY(nLp,1),nbG,373,0,[nW_,nWF,nWH,nWB,nWU])},function(n){return nol(),qa((UQ(),nWG),n)});ncm(186,1,{186:1},R0),nPB.b=0,nPB.c=0,nPB.e=0,nPB.f=0,Nj(nMt,"RectRow",186),ncm(763,1,{},Qa),nPB.j=0,Nj(nMi,npY,763),ncm(1209,1,{},cG),nPB.af=function(n){return Hr(n.a,n.b)},Nj(nMi,ngG,1209),ncm(1210,1,{},b9),nPB.af=function(n){var t;return t=this.a,nP_.Math.min(Hr(n.a,t.d.d.c),Hr(n.b,t.d.d.c))},Nj(nMi,npZ,1210),ncm(1211,1,{},b7),nPB.af=function(n){var t,e,i;return t=this.a,e=CY(CY(NR(t.g,n.a),42).a,68),i=CY(CY(NR(t.g,n.b),42).a,68),Hr(n.a,n.b)-Hr(n.a,jy(e.b))-Hr(n.b,jy(i.b))},Nj(nMi,np1,1211),ncm(1212,1,{},wn),nPB.af=function(n){var t;return t=this.a,nsZ(CY(CY(NR(t.g,n.a),42).a,68),CY(CY(NR(t.g,n.b),42).a,68))},Nj(nMi,"ElkGraphImporter/lambda$3$Type",1212),ncm(1213,1,{},wt),nPB.af=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;return t=this.a,(i=CY(CY(NR(t.g,n.a),42).a,68),r=CY(CY(NR(t.g,n.b),42).a,68),u=a=i.b,s=c=r.b,nue(),b=s.c-(u.c+u.b),l=u.c-(s.c+s.b),w=u.d-(s.d+s.a),h=s.d-(u.d+u.a),f=nP_.Math.max(l,b),d=nP_.Math.max(w,h),T6(),qM(ny_),(e=(nP_.Math.abs(f)<=ny_||0==f||isNaN(f)&&isNaN(0)?0:f<0?-1:f>0?1:Tm(isNaN(f),isNaN(0)))>=0^(qM(ny_),(nP_.Math.abs(d)<=ny_||0==d||isNaN(d)&&isNaN(0)?0:d<0?-1:d>0?1:Tm(isNaN(d),isNaN(0)))>=0)?nP_.Math.max(d,f):(qM(ny_),(nP_.Math.abs(f)<=ny_||0==f||isNaN(f)&&isNaN(0)?0:f<0?-1:f>0?1:Tm(isNaN(f),isNaN(0)))>0)?nP_.Math.sqrt(d*d+f*f):-nP_.Math.sqrt(d*d+f*f))>=0)?e:(o=N5(Oj(new MH(c.c+c.b/2,c.d+c.a/2),new MH(a.c+a.b/2,a.d+a.a/2))),-(nsF(a,c)-1)*o)},Nj(nMi,np0,1213),ncm(1115,205,ngv,mX),nPB.rf=function(n,t){var e,i,r,a,c,o,u,s,h,f;for(Bz(n,(niB(),nQs))&&(f=PA(ncx(n,(nnG(),nQA))),(a=nuX(qk(),f))&&CY(Dc(a.f),205).rf(n,t.eh(1))),nnh(n,nQr,(Bd(),nWZ)),nnh(n,nQa,(nru(),nW4)),nnh(n,nQc,(Vv(),nQ$)),c=CY(ncx(n,(nnG(),nQP)),17).a,t.Ug("Overlap removal",1),pT(PC(ncx(n,nQS))),u=new we(o=new dV),e=nlO(i=new Qa,n),s=!0,r=0;r<c&&s;){if(pT(PC(ncx(n,nQO)))){if(o.a.$b(),!function(n,t){var e,i,r,a;for(a=new du,i=new fU(t);i.a<i.c.c.length;)jB(a,new y6(e=CY(RU(i),68),!0)),jB(a,new y6(e,!1));(r=new $J(n)).a.a.$b(),Kb(a,n.b,new pU(Vw(DY(nCo,1),nl7,693,0,[r])))}(new jd(u),e.i),0==o.a.gc())break;e.e=o}for(xR(this.b),L2(this.b,(Js(),nWq),(yf(),nQL)),L2(this.b,nWX,e.g),L2(this.b,nWz,(yh(),nWJ)),this.a=nfu(this.b,e),h=new fU(this.a);h.a<h.c.c.length;)CY(RU(h),47).Kf(e,t.eh(1));!function(n,t){var e,i,r,a;for(a=new dc,t.e=null,t.f=null,i=new fU(t.i);i.a<i.c.c.length;)e=CY(RU(i),68),r=CY(NR(n.g,e.a),42),e.a=L_(e.b),xM(a,e.a,r);n.g=a}(i,e),s=pT(PC(niK(e,(zb(),nNp)))),++r}nfI(i,e),t.Vg()},Nj(nMi,"OverlapRemovalLayoutProvider",1115),ncm(1116,1,{},we),Nj(nMi,"OverlapRemovalLayoutProvider/lambda$0$Type",1116),ncm(444,22,{3:1,34:1,22:1,444:1},MA);var nLm=qc(nMi,"SPOrEPhases",444,nPw,function(){return Js(),Vw(DY(nLm,1),nbG,444,0,[nWq,nWX,nWz])},function(n){return Js(),qa((BG(),nWV),n)});ncm(1219,1,{},mz),Nj(nMi,"ShrinkTree",1219),ncm(1117,205,ngv,gW),nPB.rf=function(n,t){var e,i,r,a;Bz(n,(niB(),nQs))&&(a=PA(ncx(n,nQs)),(r=nuX(qk(),a))&&CY(Dc(r.f),205).rf(n,t.eh(1))),e=nlO(i=new Qa,n),function(n,t,e){var i;if(xR(n.b),L2(n.b,(Js(),nWq),(yf(),nQL)),L2(n.b,nWX,t.g),L2(n.b,nWz,t.a),n.a=nfu(n.b,t),e.Ug("Compaction by shrinking a tree",n.a.c.length),t.i.c.length>1)for(i=new fU(n.a);i.a<i.c.c.length;)CY(RU(i),47).Kf(t,e.eh(1));e.Vg()}(this.a,e,t.eh(1)),nfI(i,e)},Nj(nMi,"ShrinkTreeLayoutProvider",1117),ncm(306,137,{3:1,306:1,96:1,137:1},DM),nPB.c=!1,Nj("org.eclipse.elk.alg.spore.graph","Graph",306),ncm(490,22,{3:1,34:1,22:1,490:1,188:1,196:1},yb),nPB.dg=function(){return Wi(this)},nPB.qg=function(){return Wi(this)};var nLv=qc(nMr,ngj,490,nPw,function(){return ys(),Vw(DY(nLv,1),nbG,490,0,[nWW])},function(n){return ys(),qa((K6(),nWQ),n)});ncm(558,22,{3:1,34:1,22:1,558:1,188:1,196:1},Pb),nPB.dg=function(){return new cV},nPB.qg=function(){return new cV};var nLy=qc(nMr,"OverlapRemovalStrategy",558,nPw,function(){return yh(),Vw(DY(nLy,1),nbG,558,0,[nWJ])},function(n){return yh(),qa((K5(),nWY),n)});ncm(438,22,{3:1,34:1,22:1,438:1},ML);var nLk=qc(nMr,"RootSelection",438,nPw,function(){return Bd(),Vw(DY(nLk,1),nbG,438,0,[nW1,nWZ])},function(n){return Bd(),qa((_n(),nW0),n)});ncm(324,22,{3:1,34:1,22:1,324:1},MN);var nLM=qc(nMr,"SpanningTreeCostFunction",324,nPw,function(){return nru(),Vw(DY(nLM,1),nbG,324,0,[nW2,nW3,nW5,nW4,nW6])},function(n){return nru(),qa((UJ(),nW8),n)});ncm(1014,1,ndq,hN),nPB.hf=function(n){nhV(n)},Nj(nMr,"SporeCompactionOptions",1014),ncm(1015,1,{},cq),nPB.sf=function(){return new gW},nPB.tf=function(n){},Nj(nMr,"SporeCompactionOptions/SporeCompactionFactory",1015),ncm(866,1,ndq,hx),nPB.hf=function(n){JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMc),""),"Underlying Layout Algorithm"),"A layout algorithm that is applied to the graph before it is compacted. If this is null, nothing is applied before compaction."),(nrN(),nQ0)),nPL),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMf),"structure"),"Structure Extraction Strategy"),"This option defines what kind of triangulation or other partitioning of the plane is applied to the vertices."),nQT),nQJ),nLE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMo),nMg),"Tree Construction Strategy"),"Whether a minimum spanning tree or a maximum spanning tree should be constructed."),nQM),nQJ),nLT),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMu),nMg),"Cost Function for Spanning Tree"),"The cost function is used in the creation of the spanning tree."),nQy),nQJ),nLM),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMs),nMg),"Root node for spanning tree construction"),"The identifier of the node that is preferred as the root of the spanning tree. If this is null, the first node is chosen."),null),nQ0),nPL),JP(nQX)))),Kj(n,nMs,nMh,nQg),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMh),nMg),"Root selection for spanning tree"),"This sets the method used to select a root node for the construction of a spanning tree"),nQm),nQJ),nLk),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMl),nvH),nk4),"This option defines how the compaction is applied."),nQf),nQJ),nLv),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMb),nvH),"Orthogonal Compaction"),"Restricts the translation of nodes to orthogonal directions in the compaction phase."),(SB(),!1)),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMw),nMp),"Upper limit for iterations of overlap removal"),null),Qx(64)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMd),nMp),"Whether to run a supplementary scanline overlap check."),null),!0),nQW),nPE),JP(nQX)))),nso((new h$,n)),nhV((new hN,n))},Nj(nMr,"SporeMetaDataProvider",866),ncm(1012,1,ndq,h$),nPB.hf=function(n){nso(n)},Nj(nMr,"SporeOverlapRemovalOptions",1012),ncm(1013,1,{},cX),nPB.sf=function(){return new mX},nPB.tf=function(n){},Nj(nMr,"SporeOverlapRemovalOptions/SporeOverlapFactory",1013),ncm(539,22,{3:1,34:1,22:1,539:1,188:1,196:1},xk),nPB.dg=function(){return Wr(this)},nPB.qg=function(){return Wr(this)};var nLE=qc(nMr,"StructureExtractionStrategy",539,nPw,function(){return yf(),Vw(DY(nLE,1),nbG,539,0,[nQL])},function(n){return yf(),qa((K8(),nQN),n)});ncm(437,22,{3:1,34:1,22:1,437:1,188:1,196:1},Mx),nPB.dg=function(){return Yf(this)},nPB.qg=function(){return Yf(this)};var nLT=qc(nMr,"TreeConstructionStrategy",437,nPw,function(){return Vv(),Vw(DY(nLT,1),nbG,437,0,[nQ$,nQx])},function(n){return Vv(),qa((_t(),nQD),n)});ncm(1463,1,nyL,cz),nPB.rg=function(n){return CY(n,306),new xm},nPB.Kf=function(n,t){var e,i;e=CY(n,306),t.Ug("Delaunay triangulation",1),i=new du,Gd(e.i,new wi(i)),pT(PC(niK(e,(zb(),nNg)))),e.e?Xx(e.e,nlv(i)):e.e=nlv(i),t.Vg()},Nj(nMv,"DelaunayTriangulationPhase",1463),ncm(1464,1,nbE,wi),nPB.Cd=function(n){jB(this.a,CY(n,68).a)},Nj(nMv,"DelaunayTriangulationPhase/lambda$0$Type",1464),ncm(794,1,nyL,gX),nPB.rg=function(n){return CY(n,306),new xm},nPB.Kf=function(n,t){this.Jg(CY(n,306),t)},nPB.Jg=function(n,t){var e;t.Ug("Minimum spanning tree construction",1),e=n.d?n.d.a:CY(I0(n.i,0),68).a,pT(PC(niK(n,(zb(),nNg)))),Vj(this,nh9(n.e,e,n.b),n),t.Vg()},Nj(nMy,"MinSTPhase",794),ncm(1466,794,nyL,gM),nPB.Jg=function(n,t){var e,i;t.Ug("Maximum spanning tree construction",1),e=new wr(n),i=n.d?n.d.c:CY(I0(n.i,0),68).c,pT(PC(niK(n,(zb(),nNg)))),Vj(this,nh9(n.e,i,e),n),t.Vg()},Nj(nMy,"MaxSTPhase",1466),ncm(1467,1,{},wr),nPB.af=function(n){var t;return t=this.a,-t.b.af(n)},Nj(nMy,"MaxSTPhase/lambda$0$Type",1467),ncm(1465,1,nbE,wa),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,68),xM(t.a,e.a,e)},Nj(nMy,"MinSTPhase/lambda$0$Type",1465),ncm(796,1,nyL,cV),nPB.rg=function(n){return CY(n,306),new xm},nPB.Kf=function(n,t){var e;e=CY(n,306),t.Ug("Grow Tree",1),this.b=e.f,pT(PC(niK(e,(zb(),nNg))))?(this.c=new n1,Rf(this,null)):this.c=new n1,this.a=!1,function n(t,e){var i,r,a,c,o;for(r=new fU(e.a);r.a<r.c.c.length;)i=CY(RU(r),225),Ax(CY(i.b,68),Oj(jv(CY(e.b,68).c),CY(e.b,68).a)),(a=nsF(CY(e.b,68).b,CY(i.b,68).b))>1&&(t.a=!0),c=CY(i.b,68),o=OT(jv(CY(e.b,68).c),j_(Oj(jv(CY(i.b,68).a),CY(e.b,68).a),a)),Ax(c,Oj(new MH(o.a,o.b),c.c)),Rf(t,e),n(t,i)}(this,e.f),VD(e,nNp,(SB(),!!this.a)),t.Vg()},nPB.a=!1,Nj(nMk,"GrowTreePhase",796),ncm(797,1,nbE,CC),nPB.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,i=this.c,r=CY(n,225),CY(i.b,68),CY(i.b,68),CY(r.b,68),CY(r.b,68),CY(r.b,68),Gd(r.a,new CC(t,e,r))},Nj(nMk,"GrowTreePhase/lambda$0$Type",797),ncm(1468,1,nyL,cW),nPB.rg=function(n){return CY(n,306),new xm},nPB.Kf=function(n,t){!function(n,t,e){var i,r;e.Ug("Shrinking tree compaction",1),pT(PC(niK(t,(zb(),nNg))))&&(i=t.f,r=new n1,CY(i.b,68),CY(i.b,68),CY(i.b,68),Gd(i.a,new CI(n,r,i))),Uv(t.f,t.c),e.Vg()}(this,CY(n,306),t)},Nj(nMk,"ShrinkTreeCompactionPhase",1468),ncm(795,1,nbE,CI),nPB.Cd=function(n){var t,e,i,r,a;t=this.a,e=this.b,i=this.c,r=CY(n,225),CY(i.b,68),CY(i.b,68),CY(r.b,68),CY(r.b,68),Iu(a=Oj(jv(CY(i.b,68).c),CY(r.b,68).c),nao(CY(i.b,68),CY(r.b,68),a)),CY(r.b,68),CY(r.b,68),CY(r.b,68).c.a,a.a,CY(r.b,68).c.b,a.b,CY(r.b,68),Gd(r.a,new CI(t,e,r))},Nj(nMk,"ShrinkTreeCompactionPhase/lambda$0$Type",795);var nLj=IH(nyO,"IGraphElementVisitor");ncm(872,1,{536:1},R3),nPB.Kg=function(n){var t,e;e=new nQ,n&&zU(e,CY(NR(this.a,nL2),96)),jM(n,422)&&zU(e,CY(NR(this.a,nL3),96)),jM(n,366)?zU(e,CY(NR(this.a,nNt),96)):(jM(n,84)&&zU(e,CY(NR(this.a,nL4),96)),jM(n,207))?zU(e,CY(NR(this.a,nNe),96)):jM(n,193)?zU(e,CY(NR(this.a,nNi),96)):jM(n,326)&&zU(e,CY(NR(this.a,nL6),96)),zU(t=e,CY(NR(this.b,n),96)),function(n,t,e){var i,r,a,c,o;for(c=n.c,a=(!e.q?($O(),$O(),nOB):e.q).vc().Kc();a.Ob();)r=CY(a.Pb(),44),mQ(xX(new Aa(null,new R$(c,16)),new f4(new M_(t,r)))).Bd((vY(),nCF))||(jM(o=r.md(),4)&&null!=(i=Zp(o))&&(o=i),t.qf(CY(r.ld(),149),o))}(this,n,t)},Nj(ngy,"LayoutConfigurator",872);var nLS=IH(ngy,"LayoutConfigurator/IPropertyHolderOptionFilter");ncm(944,1,{2032:1},cQ),nPB.Lg=function(n,t){return Vy(),!n.pf(t)},Nj(ngy,"LayoutConfigurator/lambda$0$Type",944),ncm(943,1,{845:1},cJ),nPB.Mg=function(n,t){return Vy(),!n.pf(t)},Nj(ngy,"LayoutConfigurator/lambda$1$Type",943),ncm(945,1,{2032:1},cY),nPB.Lg=function(n,t){return noU(n,t)},Nj(ngy,"LayoutConfigurator/lambda$2$Type",945),ncm(946,1,nbV,M_),nPB.Mb=function(n){var t,e,i;return t=this.a,e=this.b,i=CY(n,2032),Vy(),i.Lg(t,CY(e.ld(),149))},Nj(ngy,"LayoutConfigurator/lambda$3$Type",946),ncm(869,1,{},cZ),Nj(ngy,"RecursiveGraphLayoutEngine",869),ncm(224,63,nbZ,d_,pK),Nj(ngy,"UnsupportedConfigurationException",224),ncm(370,63,nbZ,pF),Nj(ngy,"UnsupportedGraphException",370),ncm(761,1,{}),Nj(nyO,"AbstractRandomListAccessor",761),ncm(450,761,{},noM),nPB.Ng=function(){return null},nPB.d=!0,nPB.e=!0,nPB.f=0,Nj(nMT,"AlgorithmAssembler",450),ncm(1200,1,nbV,c1),nPB.Mb=function(n){return!!CY(n,106)},Nj(nMT,"AlgorithmAssembler/lambda$0$Type",1200),ncm(1201,1,{},wc),nPB.Kb=function(n){var t;return t=this.a,CY(n,106).rg(t)},Nj(nMT,"AlgorithmAssembler/lambda$1$Type",1201),ncm(1202,1,nbV,c0),nPB.Mb=function(n){return!!CY(n,80)},Nj(nMT,"AlgorithmAssembler/lambda$2$Type",1202),ncm(1203,1,nbE,wo),nPB.Cd=function(n){zT(this.a,CY(n,80))},Nj(nMT,"AlgorithmAssembler/lambda$3$Type",1203),ncm(1204,1,nbE,MB),nPB.Cd=function(n){var t;t=this.a,jB(this.b,Yu(t,CY(n,196)))},Nj(nMT,"AlgorithmAssembler/lambda$4$Type",1204),ncm(1343,1,ndy,c2),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,196),i=CY(t,196),WZ(e),WZ(i),r=CY(e,22),a=CY(i,22),r.g-a.g},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nMT,"EnumBasedFactoryComparator",1343),ncm(80,761,{80:1},xm),nPB.Ng=function(){return new dV},nPB.a=0,Nj(nMT,"LayoutProcessorConfiguration",80),ncm(1025,1,{536:1},hR),nPB.Kg=function(n){zs(nQ_,new wu(n))},Nj(nd_,"DeprecatedLayoutOptionReplacer",1025),ncm(1026,1,nbE,c3),nPB.Cd=function(n){var t;t=CY(n,167),Hg(),CY(t.of((nl_(),nYE)),181).Fc((nap(),nZ5)),t.qf(nYM,null)},Nj(nd_,"DeprecatedLayoutOptionReplacer/lambda$0$Type",1026),ncm(1027,1,nbE,c4),nPB.Cd=function(n){var t;t=CY(n,167),Hg(),CY(t.of((nl_(),nYt)),181).Hc((nsv(),n1F))&&(CY(t.of(nYE),181).Fc((nap(),nZ9)),CY(t.of(nYt),181).Mc(n1F))},Nj(nd_,"DeprecatedLayoutOptionReplacer/lambda$1$Type",1027),ncm(1028,1,{},wu),nPB.Yd=function(n,t){var e,i,r;e=this.a,i=CY(n,149),r=CY(t,41),Hg(),e.pf(i)&&r.Cd(e)},Nj(nd_,"DeprecatedLayoutOptionReplacer/lambda$2$Type",1028),ncm(143,1,{701:1,143:1},nil),nPB.Fb=function(n){return _m(this,n)},nPB.Og=function(){return this.b},nPB.Pg=function(){return this.c},nPB.xe=function(){return this.e},nPB.Hb=function(){return Wb(this.c)},nPB.Ib=function(){return"Layout Algorithm: "+this.c};var nLP=Nj(nd_,"LayoutAlgorithmData",143);ncm(269,1,{},c5),Nj(nd_,"LayoutAlgorithmData/Builder",269),ncm(1029,1,{536:1},c8),nPB.Kg=function(n){jM(n,207)&&!pT(PC(n.of((nl_(),nYi))))&&function(n){var t,e;if(!zv(t=PA(ncx(n,(nl_(),nJM))),n)&&!Bz(n,nYA)&&(0!=(!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a).i||pT(PC(ncx(n,nJV)))))if(null==t||0==nrJ(t).length){if(!zv(nwU,n))throw nfV(n,e=EY(EY(new Sv("Unable to load default layout algorithm "),nwU)," for unconfigured node ")),new pK(e.a).e}else throw nfV(n,e=EY(EY(new Sv("Layout algorithm '"),t),"' not found for ")),new pK(e.a).e}(CY(n,27))},Nj(nd_,"LayoutAlgorithmResolver",1029),ncm(233,1,{701:1,233:1},RM),nPB.Fb=function(n){return!!jM(n,233)&&OB(this.b,CY(n,233).b)},nPB.Og=function(){return this.a},nPB.Pg=function(){return this.b},nPB.xe=function(){return this.d},nPB.Hb=function(){return Wb(this.b)},nPB.Ib=function(){return"Layout Type: "+this.b},Nj(nd_,"LayoutCategoryData",233),ncm(357,1,{},c9),Nj(nd_,"LayoutCategoryData/Builder",357),ncm(879,1,{},nuR),Nj(nd_,"LayoutMetaDataService",879),ncm(880,1,{},NH),Nj(nd_,"LayoutMetaDataService/Registry",880),ncm(487,1,{487:1},c7),Nj(nd_,"LayoutMetaDataService/Registry/Triple",487),ncm(881,1,nMj,c6),nPB.Qg=function(){return new mm},Nj(nd_,"LayoutMetaDataService/lambda$0$Type",881),ncm(882,1,nMS,on),nPB.Rg=function(n){return jv(CY(n,8))},Nj(nd_,"LayoutMetaDataService/lambda$1$Type",882),ncm(891,1,nMj,ot),nPB.Qg=function(){return new du},Nj(nd_,"LayoutMetaDataService/lambda$10$Type",891),ncm(892,1,nMS,oe),nPB.Rg=function(n){return new O8(CY(n,13))},Nj(nd_,"LayoutMetaDataService/lambda$11$Type",892),ncm(893,1,nMj,oi),nPB.Qg=function(){return new vq},Nj(nd_,"LayoutMetaDataService/lambda$12$Type",893),ncm(894,1,nMS,or),nPB.Rg=function(n){return CJ(CY(n,67))},Nj(nd_,"LayoutMetaDataService/lambda$13$Type",894),ncm(895,1,nMj,oa),nPB.Qg=function(){return new dV},Nj(nd_,"LayoutMetaDataService/lambda$14$Type",895),ncm(896,1,nMS,oc),nPB.Rg=function(n){return $H(CY(n,49))},Nj(nd_,"LayoutMetaDataService/lambda$15$Type",896),ncm(897,1,nMj,oo),nPB.Qg=function(){return new TE},Nj(nd_,"LayoutMetaDataService/lambda$16$Type",897),ncm(898,1,nMS,ou),nPB.Rg=function(n){return FU(CY(n,49))},Nj(nd_,"LayoutMetaDataService/lambda$17$Type",898),ncm(899,1,nMj,os),nPB.Qg=function(){return new dQ},Nj(nd_,"LayoutMetaDataService/lambda$18$Type",899),ncm(900,1,nMS,oh),nPB.Rg=function(n){return CQ(CY(n,157))},Nj(nd_,"LayoutMetaDataService/lambda$19$Type",900),ncm(883,1,nMj,of),nPB.Qg=function(){return new gj},Nj(nd_,"LayoutMetaDataService/lambda$2$Type",883),ncm(884,1,nMS,ol),nPB.Rg=function(n){return new mh(CY(n,75))},Nj(nd_,"LayoutMetaDataService/lambda$3$Type",884),ncm(885,1,nMj,ob),nPB.Qg=function(){return new gd},Nj(nd_,"LayoutMetaDataService/lambda$4$Type",885),ncm(886,1,nMS,ow),nPB.Rg=function(n){return new CU(CY(n,140))},Nj(nd_,"LayoutMetaDataService/lambda$5$Type",886),ncm(887,1,nMj,od),nPB.Qg=function(){return new gp},Nj(nd_,"LayoutMetaDataService/lambda$6$Type",887),ncm(888,1,nMS,og),nPB.Rg=function(n){return new CG(CY(n,107))},Nj(nd_,"LayoutMetaDataService/lambda$7$Type",888),ncm(889,1,nMj,op),nPB.Qg=function(){return new oN},Nj(nd_,"LayoutMetaDataService/lambda$8$Type",889),ncm(890,1,nMS,om),nPB.Rg=function(n){return new Ud(CY(n,385))},Nj(nd_,"LayoutMetaDataService/lambda$9$Type",890);var nLO=IH(ngw,"IProperty");ncm(23,1,{34:1,701:1,23:1,149:1},nrP),nPB.Fd=function(n){var t;return t=CY(n,149),_W(this.f,t.Pg())},nPB.Fb=function(n){return jM(n,23)?OB(this.f,CY(n,23).f):jM(n,149)&&OB(this.f,CY(n,149).Pg())},nPB.Sg=function(){var n;if(!jM(this.b,4))return this.b;if(null==(n=Zp(this.b)))throw new px(nMA+this.f+"'. Make sure it's type is registered with the "+(PL(nNf),nNf.k)+nMO).e;return n},nPB.Og=function(){return this.d},nPB.Pg=function(){return this.f},nPB.xe=function(){return this.i},nPB.Hb=function(){return Wb(this.f)},nPB.Ib=function(){return"Layout Option: "+this.f},Nj(nd_,"LayoutOptionData",23),ncm(24,1,{},ov),Nj(nd_,"LayoutOptionData/Builder",24),ncm(170,22,{3:1,34:1,22:1,170:1},MG);var nLC=qc(nd_,"LayoutOptionData/Target",170,nPw,function(){return ZW(),Vw(DY(nLC,1),nbG,170,0,[nQX,nQq,nQU,nQz,nQG])},function(n){return ZW(),qa((UZ(),nQV),n)});ncm(285,22,{3:1,34:1,22:1,285:1},Mq);var nLI=qc(nd_,"LayoutOptionData/Type",285,nPw,function(){return nrN(),Vw(DY(nLI,1),nbG,285,0,[nQ2,nQW,nQZ,nQ0,nQQ,nQJ,nQY,nQ1])},function(n){return nrN(),qa((zw(),nQ3),n)});ncm(116,1,{116:1},TI,x4,$2),nPB.Fb=function(n){var t;return null!=n&&!!jM(n,116)&&(t=CY(n,116),xL(this.c,t.c)&&xL(this.d,t.d)&&xL(this.b,t.b)&&xL(this.a,t.a))},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[this.c,this.d,this.b,this.a]))},nPB.Ib=function(){return"Rect[x="+this.c+",y="+this.d+",w="+this.b+",h="+this.a+"]"},nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=0,Nj(npV,"ElkRectangle",116),ncm(8,1,{3:1,4:1,8:1,423:1},mm,RE,MH,TP),nPB.Fb=function(n){return Xn(this,n)},nPB.Hb=function(){var n,t;return Td(this.a)+(n=Td(this.b),qx(),(t=nOw)[n>>>28]|t[n>>24&15]<<4|t[n>>20&15]<<8|t[n>>16&15]<<12|t[n>>12&15]<<16|t[n>>8&15]<<20|t[n>>4&15]<<24|t[15&n]<<28)},nPB.cg=function(n){var t,e,i;for(e=0;e<n.length&&Qs((Rx(e,n.length),n.charCodeAt(e)),npq);)++e;for(t=n.length;t>0&&Qs((Rx(t-1,n.length),n.charCodeAt(t-1)),npX);)--t;if(e>=t)throw new pN("The given string does not contain any numbers.").e;if(2!=(i=ns7((B2(e,t,n.length),n.substr(e,t-e)),",|;|\r|\n")).length)throw new pN("Exactly two numbers are expected, "+i.length+" were found.").e;try{this.a=ni7(nrJ(i[0])),this.b=ni7(nrJ(i[1]))}catch(n){if(jM(n=Vt(n),130))throw new pN(npz+n).e;throw n.e}},nPB.Ib=function(){return"("+this.a+","+this.b+")"},nPB.a=0,nPB.b=0;var nLA=Nj(npV,"KVector",8);ncm(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},gj,mh,Pl),nPB.Pc=function(){return function(n){var t,e,i;for(t=0,i=BJ(nLA,nby,8,n.b,0,1),e=ZQ(n,0);e.b!=e.d.c;)i[t++]=CY(K0(e),8);return i}(this)},nPB.cg=function(n){var t,e,i,r,a;e=ns7(n,",|;|\\(|\\)|\\[|\\]|\\{|\\}| | |\n"),$p(this);try{for(t=0,r=0,i=0,a=0;t<e.length;)null!=e[t]&&nrJ(e[t]).length>0&&(r%2==0?i=ni7(e[t]):a=ni7(e[t]),r>0&&r%2!=0&&IA(this,new MH(i,a)),++r),++t}catch(n){if(jM(n=Vt(n),130))throw new pN("The given string does not match the expected format for vectors."+n).e;throw n.e}},nPB.Ib=function(){var n,t,e;for(n=new Sv("("),t=ZQ(this,0);t.b!=t.d.c;)EY(n,(e=CY(K0(t),8)).a+","+e.b),t.b!=t.d.c&&(n.a+="; ");return(n.a+=")",n).a};var nLL=Nj(npV,"KVectorChain",75);ncm(255,22,{3:1,34:1,22:1,255:1},MU);var nLN=qc(nMN,"Alignment",255,nPw,function(){return nnS(),Vw(DY(nLN,1),nbG,255,0,[nQ5,nQ7,nJn,nJt,nQ8,nQ9])},function(n){return nnS(),qa((GB(),nJe),n)});ncm(991,1,ndq,hK),nPB.hf=function(n){ns$(n)},Nj(nMN,"BoxLayouterOptions",991),ncm(992,1,{},oy),nPB.sf=function(){return new oE},nPB.tf=function(n){},Nj(nMN,"BoxLayouterOptions/BoxFactory",992),ncm(298,22,{3:1,34:1,22:1,298:1},MX);var nLx=qc(nMN,"ContentAlignment",298,nPw,function(){return neW(),Vw(DY(nLx,1),nbG,298,0,[nJy,nJv,nJm,nJg,nJd,nJp])},function(n){return neW(),qa((GH(),nJk),n)});ncm(699,1,ndq,hF),nPB.hf=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMK),""),"Layout Algorithm"),"Select a specific layout algorithm."),(nrN(),nQ0)),nPL),JP((ZW(),nQX))))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMF),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),nQ1),nLP),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyi),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),nJT),nQJ),nLN),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ngx),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nM_),""),"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."),nQ1),nLL),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyd),""),"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."),nJN),nQY),nLx),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nye),""),"Debug Mode"),"Whether additional debug information shall be generated."),(SB(),!1)),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyc),""),ngs),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),nJD),nQJ),nL$),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvF),""),"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."),nJB),nQJ),nLR),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMD),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvx),""),"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`."),nJX),nQJ),nLF),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ng$),""),"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."),nYc),nQ1),nAc),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ng9),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyP),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npt),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ng7),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),nYy),nQJ),nLU),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyT),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),nQ1),nLA),AN(nQq,Vw(DY(nLC,1),nbG,170,0,[nQz,nQG]))))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ng3),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),nQZ),nPO),AN(nQq,Vw(DY(nLC,1),nbG,170,0,[nQU]))))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ng5),""),"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)."),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,ng8),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyg),""),"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."),nJZ),nQ1),nLL),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyv),""),"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),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyy),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMB),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),nQ1),n4g),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQG]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyj),""),"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."),nJ0),nQ1),nAi),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyn),""),"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),nQW),nPE),AN(nQq,Vw(DY(nLC,1),nbG,170,0,[nQU,nQz,nQG]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMH),""),"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),nQQ),nPS),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMU),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nMG),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npo),""),nMM),"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),nQW),nPE),JP(nQX)))),Kj(n,npo,npf,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMq),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMX),""),"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'."),Qx(100)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMz),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMV),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),Qx(4e3)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMW),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),Qx(400)),nQZ),nPO),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMQ),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMJ),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMY),""),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMZ),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nMR),"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."),nJO),nQJ),nLQ),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvY),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nvZ),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngL),nv_),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv1),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ng6),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv0),nv_),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv2),nv_),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv6),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv3),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv4),nv_),"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),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ng4),nv_),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv5),nv_),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),nQQ),nPS),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nv8),nv_),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),nQQ),nPS),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nv9),nv_),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),nQ1),nLJ),AN(nQq,Vw(DY(nLC,1),nbG,170,0,[nQU,nQz,nQG]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyS),nv_),"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."),nYV),nQ1),nAi),JP(nQX)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyE),nM6),"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)."),nQZ),nPO),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),Kj(n,nyE,nyM,nYh),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyM),nM6),"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."),nYu),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyo),nM5),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),nJ3),nQ1),nAc),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npa),nM5),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),nJ6),nQY),nLB),AN(nQq,Vw(DY(nLC,1),nbG,170,0,[nQG]))))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyh),nM8),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),nYl),nQJ),nLH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyf),nM8),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),nQJ),nLH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyl),nM8),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),nQJ),nLH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyb),nM8),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),nQJ),nLH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyw),nM8),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),nQJ),nLH),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npr),nM9),"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."),nJ8),nQY),nLX),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npi),nM9),"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."),nYe),nQY),nLz),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npE),nM9),"Node Size Minimum"),"The minimal size to which a node can be reduced."),nYn),nQ1),nLA),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npe),nM9),"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),nQW),nPE),JP(nQX)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyp),nvQ),"Edge Label Placement"),"Gives a hint on where to put edge labels."),nJF),nQJ),nLD),JP(nQG)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npn),nvQ),"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),nQW),nPE),JP(nQG)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nM1),"font"),"Font Name"),"Font name used for a label."),nQ0),nPL),JP(nQG)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nM0),"font"),"Font Size"),"Font size used for a label."),nQZ),nPO),JP(nQG)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nyk),nM7),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),nQ1),nLA),JP(nQz)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nym),nM7),"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."),nQZ),nPO),JP(nQz)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyt),nM7),"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."),nYP),nQJ),nLq),JP(nQz)))),JY(n,new nrP(mu(mo(ms(me(mc(mr(ma(new ov,nv7),nM7),"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."),nQQ),nPS),JP(nQz)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npc),nEn),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),nYT),nQY),nLG),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyu),nEn),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nys),nEn),"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),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npu),nEt),"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),nQQ),nPS),JP(nQX)))),Kj(n,npu,npf,nY3),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nM2),nEt),"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),nQJ),nLW),JP(nQq)))),Kj(n,nM2,npf,nY6),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nps),nEt),"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),nQQ),nPS),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),Kj(n,nps,npf,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nph),nEt),"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),nQQ),nPS),AN(nQX,Vw(DY(nLC,1),nbG,170,0,[nQq]))))),Kj(n,nph,npf,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,npf),nEt),"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),nQJ),nLV),JP(nQq)))),Kj(n,npf,npe,null),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nM3),nEt),"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),nQQ),nPS),JP(nQX)))),Kj(n,nM3,npf,nY0),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nyr),nEe),"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),nQW),nPE),JP(nQq)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nya),nEe),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),nQW),nPE),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,ngN),"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),nQQ),nPS),JP(nQU)))),JY(n,new nrP(mu(mo(ms(mi(me(mc(mr(ma(new ov,nM4),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),nJU),nQJ),nLK),JP(nQU)))),yw(n,new RM(((((t=new c9).b=nwU,e=t).c="Layered",i=e).a='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.',i))),yw(n,new RM(((((r=new c9).b="org.eclipse.elk.orthogonal",a=r).c="Orthogonal",c=a).a='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.',c))),yw(n,new RM(((((o=new c9).b=ng2,u=o).c="Force",s=u).a="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.",s))),yw(n,new RM(((((h=new c9).b="org.eclipse.elk.circle",f=h).c="Circle",l=f).a="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.",l))),yw(n,new RM(((((b=new c9).b=nkc,w=b).c="Tree",d=w).a="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.",d))),yw(n,new RM(((((g=new c9).b="org.eclipse.elk.planar",p=g).c="Planar",m=p).a="Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable.",m))),yw(n,new RM(((((v=new c9).b=nkD,y=v).c="Radial",k=y).a="Radial layout algorithms usually position the nodes of the graph on concentric circles.",k))),nu8((new h_,n)),ns$((new hK,n)),nul((new hB,n))},Nj(nMN,"CoreOptions",699),ncm(88,22,{3:1,34:1,22:1,88:1},Mz);var nL$=qc(nMN,ngs,88,nPw,function(){return Ju(),Vw(DY(nL$,1),nbG,88,0,[nY7,nY9,nY8,nY5,nZn])},function(n){return Ju(),qa((UY(),nZt),n)});ncm(278,22,{3:1,34:1,22:1,278:1},MV);var nLD=qc(nMN,"EdgeLabelPlacement",278,nPw,function(){return GN(),Vw(DY(nLD,1),nbG,278,0,[nZe,nZi,nZr])},function(n){return GN(),qa((Bq(),nZa),n)});ncm(223,22,{3:1,34:1,22:1,223:1},MW);var nLR=qc(nMN,"EdgeRouting",223,nPw,function(){return JG(),Vw(DY(nLR,1),nbG,223,0,[nZs,nZo,nZc,nZu])},function(n){return JG(),qa((Hz(),nZh),n)});ncm(321,22,{3:1,34:1,22:1,321:1},MQ);var nLK=qc(nMN,"EdgeType",321,nPw,function(){return nij(),Vw(DY(nLK,1),nbG,321,0,[nZd,nZb,nZg,nZf,nZw,nZl])},function(n){return nij(),qa((GU(),nZp),n)});ncm(989,1,ndq,h_),nPB.hf=function(n){nu8(n)},Nj(nMN,"FixedLayouterOptions",989),ncm(990,1,{},ok),nPB.sf=function(){return new oL},nPB.tf=function(n){},Nj(nMN,"FixedLayouterOptions/FixedFactory",990),ncm(346,22,{3:1,34:1,22:1,346:1},MJ);var nLF=qc(nMN,"HierarchyHandling",346,nPw,function(){return QO(),Vw(DY(nLF,1),nbG,346,0,[nZS,nZj,nZP])},function(n){return QO(),qa((BU(),nZO),n)});ncm(291,22,{3:1,34:1,22:1,291:1},MY);var nL_=qc(nMN,"LabelSide",291,nPw,function(){return ntG(),Vw(DY(nL_,1),nbG,291,0,[nZL,nZC,nZI,nZA])},function(n){return ntG(),qa((HV(),nZN),n)});ncm(95,22,{3:1,34:1,22:1,95:1},MZ);var nLB=qc(nMN,"NodeLabelPlacement",95,nPw,function(){return nc$(),Vw(DY(nLB,1),nbG,95,0,[nZ$,nZx,nZR,nZH,nZB,nZ_,nZK,nZF,nZD])},function(n){return nc$(),qa((z0(),nZU),n)});ncm(256,22,{3:1,34:1,22:1,256:1},M1);var nLH=qc(nMN,"PortAlignment",256,nPw,function(){return Z0(),Vw(DY(nLH,1),nbG,256,0,[nZX,nZV,nZG,nZq,nZz])},function(n){return Z0(),qa((U1(),nZW),n)});ncm(101,22,{3:1,34:1,22:1,101:1},M0);var nLU=qc(nMN,"PortConstraints",101,nPw,function(){return nie(),Vw(DY(nLU,1),nbG,101,0,[nZ0,nZ1,nZZ,nZQ,nZY,nZJ])},function(n){return nie(),qa((GG(),nZ2),n)});ncm(279,22,{3:1,34:1,22:1,279:1},M2);var nLG=qc(nMN,"PortLabelPlacement",279,nPw,function(){return nap(),Vw(DY(nLG,1),nbG,279,0,[nZ8,nZ6,nZ5,nZ4,nZ3,nZ9])},function(n){return nap(),qa((Gq(),nZ7),n)});ncm(64,22,{3:1,34:1,22:1,64:1},M3);var nLq=qc(nMN,"PortSide",64,nPw,function(){return nf5(),Vw(DY(nLq,1),npx,64,0,[n1v,n1t,n1n,n1m,n1y])},function(n){return nf5(),qa((U0(),n1k),n)});ncm(993,1,ndq,hB),nPB.hf=function(n){nul(n)},Nj(nMN,"RandomLayouterOptions",993),ncm(994,1,{},oM),nPB.sf=function(){return new oC},nPB.tf=function(n){},Nj(nMN,"RandomLayouterOptions/RandomFactory",994),ncm(386,22,{3:1,34:1,22:1,386:1},M4);var nLX=qc(nMN,"SizeConstraint",386,nPw,function(){return YZ(),Vw(DY(nLX,1),nbG,386,0,[n1C,n1I,n1O,n1P])},function(n){return YZ(),qa((HW(),n1A),n)});ncm(264,22,{3:1,34:1,22:1,264:1},M6);var nLz=qc(nMN,"SizeOptions",264,nPw,function(){return nsv(),Vw(DY(nLz,1),nbG,264,0,[n1x,n1D,n1N,n1R,n1K,n1_,n1F,n1$,n1L])},function(n){return nsv(),qa((z1(),n1B),n)});ncm(280,22,{3:1,34:1,22:1,280:1},M5);var nLV=qc(nMN,"TopdownNodeTypes",280,nPw,function(){return QP(),Vw(DY(nLV,1),nbG,280,0,[n1U,n1H,n1G])},function(n){return QP(),qa((BX(),n1q),n)});ncm(347,22,nEa);var nLW=qc(nMN,"TopdownSizeApproximator",347,nPw,function(){return Cj(),Vw(DY(nLW,1),nbG,347,0,[n1X,n1z])},function(n){return Cj(),qa((_e(),n1V),n)});ncm(987,347,nEa,I_),nPB.Tg=function(n){return nnN(n)},qc(nMN,"TopdownSizeApproximator/1",987,nLW,null,null),ncm(988,347,nEa,LS),nPB.Tg=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y;for(t=CY(ncx(n,(nl_(),nYA)),143),mk(),nom(p=new gE,n),m=new dc,a=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));a.e!=a.i.gc();)i=CY(Z6(a),27),nob(b=new gE,p),nom(b,i),y=nnN(i),T_(b,nP_.Math.max(i.g,y.a),nP_.Math.max(i.f,y.b)),nr3(m.f,i,b);for(r=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));r.e!=r.i.gc();)for(s=new j2((!(i=CY(Z6(r),27)).e&&(i.e=new Ox(nL6,i,7,4)),i.e));s.e!=s.i.gc();)u=CY(Z6(s),74),d=CY(ED(Aj(m.f,i)),27),g=CY(NR(m,GO((u.c||(u.c=new Ox(nL4,u,5,8)),u.c),0)),27),B7(((w=new oF).b||(w.b=new Ox(nL4,w,4,7)),w.b),d),B7((w.c||(w.c=new Ox(nL4,w,5,8)),w.c),g),noo(w,DV(d)),nom(w,u);h=CY(Dc(t.f),205);try{h.rf(p,new oD),xs(t.f,h)}catch(n){throw jM(n=Vt(n),103),n.e}return Bz(p,nJI)||Bz(p,nJC)||nlg(p),o=pj(PI(ncx(p,nJI))),c=pj(PI(ncx(p,nJC))),e=pj(PI(ncx(p,nYJ)))*nP_.Math.sqrt((!p.a&&(p.a=new Lk(nNe,p,10,11)),p.a).i),l=(v=CY(ncx(p,nYa),107)).b+v.c+1,f=v.d+v.a+1,new MH(nP_.Math.max(l,e),nP_.Math.max(f,e/(o/c)))},qc(nMN,"TopdownSizeApproximator/2",988,nLW,null,null),ncm(344,1,{871:1},gz),nPB.Ug=function(n,t){return nid(this,n,t)},nPB.Vg=function(){nrl(this)},nPB.Wg=function(){return this.q},nPB.Xg=function(){return this.f?$B(this.f):null},nPB.Yg=function(){return $B(this.a)},nPB.Zg=function(){return this.p},nPB.$g=function(){return!1},nPB._g=function(){return this.n},nPB.ah=function(){return null!=this.p&&!this.b},nPB.bh=function(n){this.n&&jB(this.f,n)},nPB.dh=function(n,t){var e,i,r,a;this.n&&n&&(i=function n(t,e){var i,r,a,c,o,u,s,h;if(!e)return null;if(i=(c=e.Dh())?GT(c).wi().si(c):null){for(Zq(t,e,i),s=0,h=(null==(a=e.Dh()).i&&nhr(a),a.i).length;s<h;++s)null==a.i&&nhr(a),r=a.i,(u=s>=0&&s<r.length?r[s]:null).rk()&&!u.sk()&&(jM(u,331)?function(t,e,i,r){if(i.Xh(e))if(yP(),Uj(e)){var a,c,o,u,s,h,f=CY(i.Mh(e),160);for(u=0,s=f.gc();u<s;++u)jM(o=f.Tl(u),102)&&(CY(o,19).Bb&nEI)!=0&&null!=(h=f.Ul(u))&&n(t,CY(h,58))}else(c=e?CY(r,54).gi(e):null)&&(a=i.Mh(e),c.Wb(a))}(t,CY(u,35),e,i):((o=CY(u,19)).Bb&nEI)!=0&&function(t,e,i,r){var a,c,o,u;i.Xh(e)&&(a=e?CY(r,54).gi(e):null)&&(u=i.Mh(e),(o=e.t)>1||-1==o?(c=CY(u,15),a.Wb(function(t,e){var i,r,a;for(r=new Bf(e.gc()),i=e.Kc();i.Ob();)(a=n(t,CY(i.Pb(),58)))&&dk(r.c,a);return r}(t,c))):a.Wb(n(t,CY(u,58))))}(t,o,e,i));e.Vh()&&CY(i,54).ei(CY(e,54)._h())}return i}(e=new Nw,n),function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k;for(f=new NB(new f1(n));f.c!=f.d.a.d;)for(d=0,o=CY((h=Uw(f)).d,58),t=CY(h.e,58),y=(null==(c=o.Dh()).i&&nhr(c),c.i).length;d<y;++d)if(null==c.i&&nhr(c),a=c.i,(s=d>=0&&d<a.length?a[d]:null).rk()&&!s.sk()){if(jM(s,102))((u=CY(s,19)).Bb&nEI)!=0||(k=nnD(u))&&(k.Bb&nEI)!=0||function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w;if(e.Xh(t)&&(h=t?CY(i,54).gi(t):null))if(w=e.Nh(t,n.a),(b=t.t)>1||-1==b)if(f=CY(w,71),l=CY(h,71),f.dc())l.$b();else for(c=!!nnD(t),a=0,o=n.a?f.Kc():f.Ii();o.Ob();)s=CY(o.Pb(),58),(r=CY(UC(n,s),58))?(c?-1==(u=l.dd(r))?l.Gi(a,r):a!=u&&l.Ui(a,r):l.Gi(a,r),++a):n.b&&!c&&(l.Gi(a,s),++a);else null==w?h.Wb(null):null==(r=UC(n,w))?n.b&&!nnD(t)&&h.Wb(w):h.Wb(r)}(n,u,o,t);else if(yP(),CY(s,69).xk()&&(e=CY(s?CY(t,54).gi(s):null,160)))for(g=0,b=CY(o.Mh(s),160),i=e.gc(),w=b.gc();g<w;++g)if(jM(l=b.Tl(g),102)){if(null==(r=UC(n,v=b.Ul(g)))&&null!=v){if(m=CY(l,19),!n.b||(m.Bb&nEI)!=0||nnD(m))continue;r=v}if(!e.Ol(l,r)){for(p=0;p<i;++p)if(e.Tl(p)==l&&ER(e.Ul(p))===ER(r)){e.Ti(e.gc()-1,p),--i;break}}}else e.Ol(b.Tl(g),b.Ul(g))}}(e),Wp(),r=n10,this.n&&i&&r&&(a=new o$,jB(this.e,a)))},nPB.eh=function(n){var t,e,i,r,a;return this.b?null:(e=this,i=this.g,(r=qe(Io(new gz,i>0?i-1:i),e.n)).j=e.j,(a=r).k=e.k,t=a,IA(this.a,t),t.i=this,this.d=n,t)},nPB.fh=function(n){n>0&&!this.b&&qW(this,n)},nPB.b=!1,nPB.c=0,nPB.d=-1,nPB.e=null,nPB.f=null,nPB.g=-1,nPB.j=!1,nPB.k=!1,nPB.n=!1,nPB.o=0,nPB.q=0,nPB.r=0,Nj(nyO,"BasicProgressMonitor",344),ncm(717,205,ngv,oE),nPB.rf=function(n,t){ns9(n,t)},Nj(nyO,"BoxLayoutProvider",717),ncm(983,1,ndy,ws),nPB.Ne=function(n,t){var e,i,r,a,c,o;return e=this,i=CY(n,27),r=CY(t,27),((c=CY(ncx(i,(niH(),nJb)),17))||(c=Qx(0)),(o=CY(ncx(r,nJb),17))||(o=Qx(0)),c.a>o.a)?-1:c.a<o.a?1:e.a&&(0!=(a=Jj(i.j,r.j))||0!=(a=Jj(i.i,r.i)))?a:Jj(i.g*i.f,r.g*r.f)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},nPB.a=!1,Nj(nyO,"BoxLayoutProvider/1",983),ncm(163,1,{163:1},GA,Py),nPB.Ib=function(){return this.c?nuG(this.c):niV(this.b)},Nj(nyO,"BoxLayoutProvider/Group",163),ncm(320,22,{3:1,34:1,22:1,320:1},M9);var nLQ=qc(nyO,"BoxLayoutProvider/PackingMode",320,nPw,function(){return Yw(),Vw(DY(nLQ,1),nbG,320,0,[n1Y,n1W,n1J,n1Q])},function(n){return Yw(),qa((HQ(),n1Z),n)});ncm(984,1,ndy,oT),nPB.Ne=function(n,t){var e,i;return e=CY(n,163),i=CY(t,163),-Jj(Ab(e)*Al(e),Ab(i)*Al(i))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyO,"BoxLayoutProvider/lambda$0$Type",984),ncm(985,1,ndy,oj),nPB.Ne=function(n,t){var e,i;return e=CY(n,163),i=CY(t,163),Jj(Ab(e)*Al(e),Ab(i)*Al(i))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyO,"BoxLayoutProvider/lambda$1$Type",985),ncm(986,1,ndy,oS),nPB.Ne=function(n,t){var e,i;return e=CY(n,163),i=CY(t,163),Jj(Ab(e)*Al(e),Ab(i)*Al(i))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nyO,"BoxLayoutProvider/lambda$2$Type",986),ncm(1384,1,{845:1},oP),nPB.Mg=function(n,t){return yu(),!jM(t,167)||(Vy(),noU(CY(n,167),t))},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),ncm(1385,1,nbE,wh),nPB.Cd=function(n){var t,e,i;t=this.a,e=CY(n,149),i=null!=Z4((Yj(),nUZ))&&null!=e.Sg()?pj(PI(e.Sg()))/pj(PI(Z4(nUZ))):1,xM(t.b,e,i)},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),ncm(1386,1,nbE,oI),nPB.Cd=function(n){CY(n,96),yu()},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),ncm(1390,1,nbE,wf),nPB.Cd=function(n){var t,e;t=this.a,e=CY(n,96),vZ(xX(new Aa(null,new R$(new fS(t.b),1)),new M7(t,e)),new Et(t,e))},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),ncm(1388,1,nbV,M7),nPB.Mb=function(n){var t,e,i;return t=this.a,e=this.b,i=CY(n,149),!mQ(xX(new Aa(null,new R$(t.c,16)),new f4(new En(e,i)))).Bd((vY(),nCF))},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),ncm(1387,1,nbV,En),nPB.Mb=function(n){var t,e,i;return t=this.a,e=this.b,i=CY(n,845),yu(),i.Mg(t,e)},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),ncm(1389,1,nbE,Et),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,i=CY(n,149),e.qf(i,pj(PI(NR(t.b,i)))*t.a)},Nj(nyO,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),ncm(947,1,{},oA),nPB.Kb=function(n){return TL(n)},nPB.Fb=function(n){return this===n},Nj(nyO,"ElkUtil/lambda$0$Type",947),ncm(948,1,nbE,Ee),nPB.Cd=function(n){var t,e,i,r;t=this.a,e=this.b,vZ(new Aa(null,(!(i=CY(n,74)).a&&(i.a=new Lk(nL5,i,6,6)),new R$(i.a,16))),new Ei(t,e)),vZ(new Aa(null,(!i.n&&(i.n=new Lk(nNt,i,1,7)),new R$(i.n,16))),new Er(t,e)),(r=CY(ncx(i,(nl_(),nJY)),75))&&XU(r,t,e)},nPB.a=0,nPB.b=0,Nj(nyO,"ElkUtil/lambda$1$Type",948),ncm(949,1,nbE,Ei),nPB.Cd=function(n){var t,e;t=this.a,e=this.b,function(n,t,e){var i,r;for(TU(n,n.j+t,n.k+e),r=new j2((!n.a&&(n.a=new jU(nL0,n,5)),n.a));r.e!=r.i.gc();)TF(i=CY(Z6(r),377),i.a+t,i.b+e);TH(n,n.b+t,n.c+e)}(CY(n,166),t,e)},nPB.a=0,nPB.b=0,Nj(nyO,"ElkUtil/lambda$2$Type",949),ncm(950,1,nbE,Er),nPB.Cd=function(n){var t,e,i;t=this.a,e=this.b,TB(i=CY(n,135),i.i+t,i.j+e)},nPB.a=0,nPB.b=0,Nj(nyO,"ElkUtil/lambda$3$Type",950),ncm(951,1,nbE,wl),nPB.Cd=function(n){var t;jB(this.a,new MH((t=CY(n,377)).a,t.b))},Nj(nyO,"ElkUtil/lambda$4$Type",951),ncm(325,1,{34:1,325:1},da),nPB.Fd=function(n){var t;return t=CY(n,242),this.a<O4(t)?-1:1},nPB.Fb=function(n){var t;return!!jM(n,325)&&(t=CY(n,325),this.a==t.a)},nPB.Hb=function(){return Dy(this.a)},nPB.Ib=function(){return this.a+" (exclusive)"},nPB.a=0,Nj(nyO,"ExclusiveBounds/ExclusiveLowerBound",325),ncm(1119,205,ngv,oL),nPB.rf=function(n,t){var e,i,r,a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T;for(t.Ug("Fixed Layout",1),a=CY(ncx(n,(nl_(),nJ_)),223),l=0,b=0,m=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));m.e!=m.i.gc();){for(g=CY(Z6(m),27),(T=CY(ncx(g,(Wk(),nZT)),8))&&(TB(g,T.a,T.b),CY(ncx(g,nZv),181).Hc((YZ(),n1P))&&(w=CY(ncx(g,nZk),8)).a>0&&w.b>0&&nf9(g,w.a,w.b,!0,!0)),l=nP_.Math.max(l,g.i+g.g),b=nP_.Math.max(b,g.j+g.f),h=new j2((!g.n&&(g.n=new Lk(nNt,g,1,7)),g.n));h.e!=h.i.gc();)o=CY(Z6(h),135),(T=CY(ncx(o,nZT),8))&&TB(o,T.a,T.b),l=nP_.Math.max(l,g.i+o.i+o.g),b=nP_.Math.max(b,g.j+o.j+o.f);for(k=new j2((!g.c&&(g.c=new Lk(nNi,g,9,9)),g.c));k.e!=k.i.gc();)for(y=CY(Z6(k),123),(T=CY(ncx(y,nZT),8))&&TB(y,T.a,T.b),M=g.i+y.i,E=g.j+y.j,l=nP_.Math.max(l,M+y.g),b=nP_.Math.max(b,E+y.f),u=new j2((!y.n&&(y.n=new Lk(nNt,y,1,7)),y.n));u.e!=u.i.gc();)o=CY(Z6(u),135),(T=CY(ncx(o,nZT),8))&&TB(o,T.a,T.b),l=nP_.Math.max(l,M+o.i+o.g),b=nP_.Math.max(b,E+o.j+o.f);for(r=new Le(Sb(nc5(g).a.Kc(),new s));ncv(r);)f=nle(e=CY(_I(r),74)),l=nP_.Math.max(l,f.a),b=nP_.Math.max(b,f.b);for(i=new Le(Sb(nc6(g).a.Kc(),new s));ncv(i);)DV(niU(e=CY(_I(i),74)))!=n&&(f=nle(e),l=nP_.Math.max(l,f.a),b=nP_.Math.max(b,f.b))}if(a==(JG(),nZc))for(p=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));p.e!=p.i.gc();)for(i=new Le(Sb(nc5(g=CY(Z6(p),27)).a.Kc(),new s));ncv(i);)0==(c=function(n){var t;if(1!=(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i)throw new pN(nEo+(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i).e;return t=new gj,Ve(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84))&&Xx(t,nlC(n,Ve(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)),!1)),Ve(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84))&&Xx(t,nlC(n,Ve(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84)),!0)),t}(e=CY(_I(i),74))).b?nnh(e,nJY,null):nnh(e,nJY,c);pT(PC(ncx(n,(Wk(),nZy))))||(d=l+(v=CY(ncx(n,nZM),107)).b+v.c,nf9(n,d,b+v.d+v.a,!0,!0)),t.Vg()},Nj(nyO,"FixedLayoutProvider",1119),ncm(385,137,{3:1,423:1,385:1,96:1,137:1},oN,Ud),nPB.cg=function(n){var t,e,i,r,a,c,o;if(n)try{for(c=ns7(n,";,;"),r=0,a=c.length;r<a;++r){if(i=c[r],t=ns7(i,"\\:"),!(e=nfT(qk(),t[0])))throw new pN("Invalid option id: "+t[0]).e;if(o=nfd(e,t[1]),null==o)throw new pN("Invalid option value: "+t[1]).e;null==o?(this.q||(this.q=new dc),_Y(this.q,e)):(this.q||(this.q=new dc),xM(this.q,e,o))}}catch(n){if(jM(n=Vt(n),103))throw new WK(n).e;throw n.e}},nPB.Ib=function(){return PA(FB(xz((!this.q?($O(),$O(),nOB):this.q).vc().Oc(),new ox),HZ(new C0,new J,new G,new q,Vw(DY(nCi,1),nbG,108,0,[]))))};var nLJ=Nj(nyO,"IndividualSpacings",385);ncm(982,1,{},ox),nPB.Kb=function(n){var t;return t=CY(n,44),CY(t.ld(),149).Pg()+":"+J2(t.md())},Nj(nyO,"IndividualSpacings/lambda$0$Type",982),ncm(718,1,{},Am),nPB.c=0,Nj(nyO,"InstancePool",718),ncm(1835,1,{},o$),Nj(nyO,"LoggedGraph",1835),ncm(415,22,{3:1,34:1,22:1,415:1},Em);var nLY=qc(nyO,"LoggedGraph/Type",415,nPw,function(){return Wp(),Vw(DY(nLY,1),nbG,415,0,[n10,n12,n11,n13])},function(n){return Wp(),qa((HJ(),n14),n)});ncm(1063,1,{871:1},oD),nPB.Ug=function(n,t){return!1},nPB.Vg=function(){},nPB.Wg=function(){return 0},nPB.Xg=function(){return null},nPB.Yg=function(){return null},nPB.Zg=function(){return null},nPB.$g=function(){return!1},nPB._g=function(){return!1},nPB.ah=function(){return!1},nPB.bh=function(n){},nPB.dh=function(n,t){},nPB.eh=function(n){return this},nPB.fh=function(n){},Nj(nyO,"NullElkProgressMonitor",1063),ncm(42,1,{20:1,42:1},Ea),nPB.Jc=function(n){_r(this,n)},nPB.Fb=function(n){var t,e,i;return!!jM(n,42)&&(e=CY(n,42),t=null==this.a?null==e.a:QY(this.a,e.a),i=null==this.b?null==e.b:QY(this.b,e.b),t&&i)},nPB.Hb=function(){var n,t;return n=null==this.a?0:XS(this.a),n&nb9^(-65536&(t=null==this.b?0:XS(this.b)))>>16&nb9|-65536&n^(t&nb9)<<16},nPB.Kc=function(){return new wb(this)},nPB.Ib=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+J2(this.b)+")":null==this.b?"pair("+J2(this.a)+",null)":"pair("+J2(this.a)+","+J2(this.b)+")"},Nj(nyO,"Pair",42),ncm(995,1,nbu,wb),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},nPB.Pb=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw(new dF).e},nPB.Qb=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),(new dx).e},nPB.b=!1,nPB.c=!1,Nj(nyO,"Pair/1",995),ncm(455,1,{455:1},x8),nPB.Fb=function(n){return xL(this.a,CY(n,455).a)&&xL(this.c,CY(n,455).c)&&xL(this.d,CY(n,455).d)&&xL(this.b,CY(n,455).b)},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[this.a,this.c,this.d,this.b]))},nPB.Ib=function(){return"("+this.a+nl8+this.c+nl8+this.d+nl8+this.b+")"},Nj(nyO,"Quadruple",455),ncm(1108,205,ngv,oC),nPB.rf=function(n,t){var e,i,r,a,c;(t.Ug("Random Layout",1),0==(!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a).i)?t.Vg():(i=(r=CY(ncx(n,(YY(),n1j)),17))&&0!=r.a?new FG(r.a):new Yl,xf(a=PI(ncx(n,n1M))),xf(c=PI(ncx(n,n1S))),e=CY(ncx(n,n1E),107),function(n,t,e,i,r){var a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j;for(v=0,d=0,w=0,b=1,m=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));m.e!=m.i.gc();)b+=Fv(new Le(Sb(nc5(g=CY(Z6(m),27)).a.Kc(),new s))),E=g.g,d=nP_.Math.max(d,E),l=g.f,w=nP_.Math.max(w,l),v+=E*l;for(c=v+2*i*i*b*(!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a).i,a=nP_.Math.sqrt(c),u=nP_.Math.max(a*e,d),o=nP_.Math.max(a/e,w),p=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));p.e!=p.i.gc();)g=CY(Z6(p),27),T=r.b+(nc8(t,26)*nw8+nc8(t,27)*nw9)*(u-g.g),j=r.b+(nc8(t,26)*nw8+nc8(t,27)*nw9)*(o-g.f),GZ(g,T),G1(g,j);for(M=u+(r.b+r.c),k=o+(r.d+r.a),y=new j2((!n.a&&(n.a=new Lk(nNe,n,10,11)),n.a));y.e!=y.i.gc();)for(f=new Le(Sb(nc5(CY(Z6(y),27)).a.Kc(),new s));ncv(f);)nco(h=CY(_I(f),74))||function(n,t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A,L,N,x;if(v=(p=CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)).nh(),y=p.oh(),m=p.mh()/2,b=p.lh()/2,jM(p,193)&&(v+=DP(g=CY(p,123)).i,v+=DP(g).i),v+=m,y+=b,P=(j=CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)).nh(),O=j.oh(),S=j.mh()/2,k=j.lh()/2,jM(j,193)&&(P+=DP(T=CY(j,123)).i,P+=DP(T).i),P+=S,O+=k,0==(!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i)mk(),o=new o_,B7((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),o);else if((!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a).i>1)for(l=new SW((!n.a&&(n.a=new Lk(nL5,n,6,6)),n.a));l.e!=l.i.gc();)neH(l);for(c=CY(GO((n.a||(n.a=new Lk(nL5,n,6,6)),n.a),0),166),w=P,P>v+m?w=v+m:P<v-m&&(w=v-m),d=O,O>y+b?d=y+b:O<y-b&&(d=y-b),w>v-m&&w<v+m&&d>y-b&&d<y+b&&(w=v+m),G0(c,w),G3(c,d),M=v,v>P+S?M=P+S:v<P-S&&(M=P-S),E=y,y>O+k?E=O+k:y<O-k&&(E=O-k),M>P-S&&M<P+S&&E>O-k&&E<O+k&&(E=O+k),GQ(c,M),G2(c,E),nft((c.a||(c.a=new jU(nL0,c,5)),c.a)),a=nnC(t,5),p==j&&++a,I=M-w,N=E-d,s=.20000000298023224*nP_.Math.sqrt(I*I+N*N),A=I/(a+1),x=N/(a+1),C=w,L=d,u=0;u<a;u++)C+=A,L+=x,(h=C+nc8(t,24)*ndn*s-s/2)<0?h=1:h>e&&(h=e-1),(f=L+nc8(t,24)*ndn*s-s/2)<0?f=1:f>i&&(f=i-1),mk(),G4(r=new oR,h),GW(r,f),B7((c.a||(c.a=new jU(nL0,c,5)),c.a),r)}(h,t,M,k);nf9(n,M+=r.b+r.c,k+=r.d+r.a,!1,!0)}(n,i,a,c,e),t.Vg())},Nj(nyO,"RandomLayoutProvider",1108),ncm(240,1,{240:1},CO),nPB.Fb=function(n){return xL(this.a,CY(n,240).a)&&xL(this.b,CY(n,240).b)&&xL(this.c,CY(n,240).c)},nPB.Hb=function(){return W3(Vw(DY(nPa,1),nl7,1,5,[this.a,this.b,this.c]))},nPB.Ib=function(){return"("+this.a+nl8+this.b+nl8+this.c+")"},Nj(nyO,"Triple",240),ncm(562,1,{}),nPB.Lf=function(){return new MH(this.f.i,this.f.j)},nPB.of=function(n){return $5(n,(nl_(),nYm))?ncx(this.f,n15):ncx(this.f,n)},nPB.Mf=function(){return new MH(this.f.g,this.f.f)},nPB.Nf=function(){return this.g},nPB.pf=function(n){return Bz(this.f,n)},nPB.Of=function(n){GZ(this.f,n.a),G1(this.f,n.b)},nPB.Pf=function(n){GY(this.f,n.a),GJ(this.f,n.b)},nPB.Qf=function(n){this.g=n},nPB.g=0,Nj(nEu,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),ncm(563,1,{853:1},ww),nPB.Rf=function(){var n,t;if(!this.b)for(this.b=K_(xx(this.a).i),t=new j2(xx(this.a));t.e!=t.i.gc();)n=CY(Z6(t),135),jB(this.b,new pk(n));return this.b},nPB.b=null,Nj(nEu,"ElkGraphAdapters/ElkEdgeAdapter",563),ncm(289,562,{},py),nPB.Sf=function(){return ntv(this)},nPB.a=null,Nj(nEu,"ElkGraphAdapters/ElkGraphAdapter",289),ncm(640,562,{187:1},pk),Nj(nEu,"ElkGraphAdapters/ElkLabelAdapter",640),ncm(639,562,{695:1},Sq),nPB.Rf=function(){var n,t;if(!this.b)for(this.b=K_(CY(this.f,27).kh().i),t=new j2(CY(this.f,27).kh());t.e!=t.i.gc();)n=CY(Z6(t),135),jB(this.b,new pk(n));return this.b},nPB.Vf=function(){var n;return(n=CY(ncx(this.f,(nl_(),nJ1)),140))||(n=new gd),n},nPB.Xf=function(){var n,t;if(!this.e)for(this.e=K_(x$(CY(this.f,27)).i),t=new j2(x$(CY(this.f,27)));t.e!=t.i.gc();)n=CY(Z6(t),123),jB(this.e,new wd(n));return this.e},nPB.Zf=function(n){var t;t=new CU(n),nnh(this.f,(nl_(),nJ1),t)},nPB.$f=function(n){nnh(this.f,(nl_(),nYa),new CG(n))},nPB.Tf=function(){return this.d},nPB.Uf=function(){var n,t;if(!this.a)for(this.a=new du,t=new Le(Sb(nc6(CY(this.f,27)).a.Kc(),new s));ncv(t);)n=CY(_I(t),74),jB(this.a,new ww(n));return this.a},nPB.Wf=function(){var n,t;if(!this.c)for(this.c=new du,t=new Le(Sb(nc5(CY(this.f,27)).a.Kc(),new s));ncv(t);)n=CY(_I(t),74),jB(this.c,new ww(n));return this.c},nPB.Yf=function(){return 0!=$L(CY(this.f,27)).i||pT(PC(CY(this.f,27).of((nl_(),nJV))))},nPB._f=function(){var n;yv(),n=n16,Oq(CY(CY(this.f,27).of((nl_(),nYv)),101))&&function(n,t){var e,i,r;for(PR(),HM(i=HF(n),0,i.length,t),e=0;e<i.length;e++)r=function(n,t,e){var i,r,a;for(e<0&&(e=0),a=n.i,r=e;r<a;r++)if(i=GO(n,r),null==t){if(null==i)return r}else if(ER(t)===ER(i)||QY(t,i))return r;return -1}(n,i[e],e),e!=r&&Jp(n,e,r)}(x$(CY(this.f,27)),n)},nPB.a=null,nPB.b=null,nPB.c=null,nPB.d=null,nPB.e=null,Nj(nEu,"ElkGraphAdapters/ElkNodeAdapter",639),ncm(1284,562,{852:1},wd),nPB.Rf=function(){var n,t;if(!this.b)for(this.b=K_(CY(this.f,123).kh().i),t=new j2(CY(this.f,123).kh());t.e!=t.i.gc();)n=CY(Z6(t),135),jB(this.b,new pk(n));return this.b},nPB.Uf=function(){var n,t;if(!this.a)for(this.a=SY(CY(this.f,123).hh().i),t=new j2(CY(this.f,123).hh());t.e!=t.i.gc();)n=CY(Z6(t),74),jB(this.a,new ww(n));return this.a},nPB.Wf=function(){var n,t;if(!this.c)for(this.c=SY(CY(this.f,123).ih().i),t=new j2(CY(this.f,123).ih());t.e!=t.i.gc();)n=CY(Z6(t),74),jB(this.c,new ww(n));return this.c},nPB.ag=function(){return CY(CY(this.f,123).of((nl_(),nYS)),64)},nPB.bg=function(){var n,t,e,i,r,a,c;for(i=DP(CY(this.f,123)),e=new j2(CY(this.f,123).ih());e.e!=e.i.gc();)for(c=new j2((!(n=CY(Z6(e),74)).c&&(n.c=new Ox(nL4,n,5,8)),n.c));c.e!=c.i.gc();)if(Gw(niw(a=CY(Z6(c),84)),i)||niw(a)==i&&pT(PC(ncx(n,(nl_(),nJW)))))return!0;for(t=new j2(CY(this.f,123).hh());t.e!=t.i.gc();)for(r=new j2((!(n=CY(Z6(t),74)).b&&(n.b=new Ox(nL4,n,4,7)),n.b));r.e!=r.i.gc();)if(Gw(niw(CY(Z6(r),84)),i))return!0;return!1},nPB.a=null,nPB.b=null,nPB.c=null,Nj(nEu,"ElkGraphAdapters/ElkPortAdapter",1284),ncm(1285,1,ndy,oO),nPB.Ne=function(n,t){return function(n,t){var e,i,r,a;if(0!=(a=CY(ncx(n,(nl_(),nYS)),64).g-CY(ncx(t,nYS),64).g))return a;if(e=CY(ncx(n,nYk),17),i=CY(ncx(t,nYk),17),e&&i&&0!=(r=e.a-i.a))return r;switch(CY(ncx(n,nYS),64).g){case 1:return Jj(n.i,t.i);case 2:return Jj(n.j,t.j);case 3:return Jj(t.i,n.i);case 4:return Jj(t.j,n.j);default:throw new px(npB).e}}(CY(n,123),CY(t,123))},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(nEu,"ElkGraphAdapters/PortComparator",1285);var nLZ=IH(nEs,"EObject"),nL1=IH(nEh,nEf),nL0=IH(nEh,nEl),nL2=IH(nEh,nEb),nL3=IH(nEh,"ElkShape"),nL4=IH(nEh,nEw),nL6=IH(nEh,nEd),nL5=IH(nEh,nEg),nL8=IH(nEs,nEp),nL9=IH(nEs,"EFactory"),nL7=IH(nEs,nEm),nNn=IH(nEs,"EPackage"),nNt=IH(nEh,nEv),nNe=IH(nEh,nEy),nNi=IH(nEh,nEk);ncm(93,1,nEM),nPB.th=function(){return this.uh(),null},nPB.uh=function(){return null},nPB.vh=function(){return this.uh(),!1},nPB.wh=function(){return!1},nPB.xh=function(n){zP(this,n)},Nj(nEE,"BasicNotifierImpl",93),ncm(99,93,nEA),nPB.Yh=function(){return TN(this)},nPB.yh=function(n,t){return n},nPB.zh=function(){throw(new dD).e},nPB.Ah=function(n){var t;return t=nnD(CY(Gt(this.Dh(),this.Fh()),19)),this.Ph().Th(this,t.n,t.f,n)},nPB.Bh=function(n,t){throw(new dD).e},nPB.Ch=function(n,t,e){return nsP(this,n,t,e)},nPB.Dh=function(){var n;return this.zh()&&(n=this.zh().Nk())?n:this.ii()},nPB.Eh=function(){return ncs(this)},nPB.Fh=function(){throw(new dD).e},nPB.Gh=function(){var n,t;return(t=this.$h().Ok())||this.zh().Tk((yT(),t=null==(n=Do(nhr(this.Dh())))?n2D:new SU(this,n))),t},nPB.Hh=function(n,t){return n},nPB.Ih=function(n){return n.pk()?n.Lj():Ym(this.Dh(),n)},nPB.Jh=function(){var n;return(n=this.zh())?n.Qk():null},nPB.Kh=function(){return this.zh()?this.zh().Nk():null},nPB.Lh=function(n,t,e){return nnd(this,n,t,e)},nPB.Mh=function(n){return Hw(this,n)},nPB.Nh=function(n,t){return _K(this,n,t)},nPB.Oh=function(){var n;return!!(n=this.zh())&&n.Rk()},nPB.Ph=function(){throw(new dD).e},nPB.Qh=function(){return Zy(this)},nPB.Rh=function(n,t,e,i){return nnu(this,n,t,i)},nPB.Sh=function(n,t,e){return CY(Gt(this.Dh(),t),69).wk().zk(this,this.hi(),t-this.ji(),n,e)},nPB.Th=function(n,t,e,i){return Da(this,n,t,i)},nPB.Uh=function(n,t,e){return CY(Gt(this.Dh(),t),69).wk().Ak(this,this.hi(),t-this.ji(),n,e)},nPB.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},nPB.Wh=function(n){return Z2(this,n)},nPB.Xh=function(n){return DK(this,n)},nPB.Zh=function(n){return nfB(this,n)},nPB.$h=function(){throw(new dD).e},nPB._h=function(){return this.zh()?this.zh().Pk():null},nPB.ai=function(){return Zy(this)},nPB.bi=function(n,t){nr9(this,n,t)},nPB.ci=function(n){this.$h().Sk(n)},nPB.di=function(n){this.$h().Vk(n)},nPB.ei=function(n){this.$h().Uk(n)},nPB.fi=function(n,t){var e,i,r,a;return(a=this.Jh())&&n&&(t=nnw(a.El(),this,t),a.Il(this)),(i=this.Ph())&&((nst(this,this.Ph(),this.Fh()).Bb&nwG)!=0?(r=i.Qh())&&(n?a||r.Il(this):r.Hl(this)):(t=(e=this.Fh())>=0?this.Ah(t):this.Ph().Th(this,-1-e,null,t),t=this.Ch(null,-1,t))),this.di(n),t},nPB.gi=function(n){var t,e,i,r,a,c,o;if((a=Ym(e=this.Dh(),n))>=(t=this.ji()))return CY(n,69).wk().Dk(this,this.hi(),a-t);if(a<=-1)if(c=nff((nrR(),n28),e,n)){if(yP(),CY(c,69).xk()||(c=Rz(Ua(n28,c))),r=CY((i=this.Ih(c))>=0?this.Lh(i,!0,!0):naB(this,c,!0),160),(o=c.Ik())>1||-1==o)return CY(CY(r,220).Sl(n,!1),79)}else throw new pN(nET+n.xe()+nEP).e;else if(n.Jk())return CY((i=this.Ih(n))>=0?this.Lh(i,!1,!0):naB(this,n,!1),79);return new ES(this,n)},nPB.hi=function(){return Um(this)},nPB.ii=function(){return(NN(),n2c).S},nPB.ji=function(){return N$(this.ii())},nPB.ki=function(n){nrI(this,n)},nPB.Ib=function(){return ncG(this)},Nj(nEL,"BasicEObjectImpl",99),ncm(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),nPB.li=function(n){return Up(this)[n]},nPB.mi=function(n,t){NK(Up(this),n,t)},nPB.ni=function(n){NK(Up(this),n,null)},nPB.th=function(){return CY(zA(this,4),129)},nPB.uh=function(){throw(new dD).e},nPB.vh=function(){return(4&this.Db)!=0},nPB.zh=function(){throw(new dD).e},nPB.oi=function(n){Zv(this,2,n)},nPB.Bh=function(n,t){this.Db=t<<16|255&this.Db,this.oi(n)},nPB.Dh=function(){return Dt(this)},nPB.Fh=function(){return this.Db>>16},nPB.Gh=function(){var n;return yT(),null==(n=Do(nhr(CY(zA(this,16),29)||this.ii())))?n2D:new SU(this,n)},nPB.wh=function(){return(1&this.Db)==0},nPB.Jh=function(){return CY(zA(this,128),2034)},nPB.Kh=function(){return CY(zA(this,16),29)},nPB.Oh=function(){return(32&this.Db)!=0},nPB.Ph=function(){return CY(zA(this,2),54)},nPB.Vh=function(){return(64&this.Db)!=0},nPB.$h=function(){throw(new dD).e},nPB._h=function(){return CY(zA(this,64),288)},nPB.ci=function(n){Zv(this,16,n)},nPB.di=function(n){Zv(this,128,n)},nPB.ei=function(n){Zv(this,64,n)},nPB.hi=function(){return Zm(this)},nPB.Db=0,Nj(nEL,"MinimalEObjectImpl",119),ncm(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),nPB.oi=function(n){this.Cb=n},nPB.Ph=function(){return this.Cb},Nj(nEL,"MinimalEObjectImpl/Container",120),ncm(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),nPB.Lh=function(n,t,e){return ntA(this,n,t,e)},nPB.Uh=function(n,t,e){return ni4(this,n,t,e)},nPB.Wh=function(n){return Ks(this,n)},nPB.bi=function(n,t){Ws(this,n,t)},nPB.ii=function(){return nly(),n0s},nPB.ki=function(n){VC(this,n)},nPB.nf=function(){return Z3(this)},nPB.gh=function(){return this.o||(this.o=new Hs((nly(),n0o),nNc,this,0)),this.o},nPB.of=function(n){return ncx(this,n)},nPB.pf=function(n){return Bz(this,n)},nPB.qf=function(n,t){return nnh(this,n,t)},Nj(nEN,"EMapPropertyHolderImpl",2083),ncm(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},oR),nPB.Lh=function(n,t,e){switch(n){case 0:return this.a;case 1:return this.b}return nnd(this,n,t,e)},nPB.Wh=function(n){switch(n){case 0:return 0!=this.a;case 1:return 0!=this.b}return Z2(this,n)},nPB.bi=function(n,t){switch(n){case 0:G4(this,pj(PI(t)));return;case 1:GW(this,pj(PI(t)));return}nr9(this,n,t)},nPB.ii=function(){return nly(),n17},nPB.ki=function(n){switch(n){case 0:G4(this,0);return;case 1:GW(this,0);return}nrI(this,n)},nPB.Ib=function(){var n;return(64&this.Db)!=0?ncG(this):(n=new Sm(ncG(this)),n.a+=" (x: ",mA(n,this.a),n.a+=", y: ",mA(n,this.b),n.a+=")",n.a)},nPB.a=0,nPB.b=0,Nj(nEN,"ElkBendPointImpl",572),ncm(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}),nPB.Lh=function(n,t,e){return Jg(this,n,t,e)},nPB.Sh=function(n,t,e){return niy(this,n,t,e)},nPB.Uh=function(n,t,e){return z5(this,n,t,e)},nPB.Wh=function(n){return zK(this,n)},nPB.bi=function(n,t){neK(this,n,t)},nPB.ii=function(){return nly(),n0i},nPB.ki=function(n){QC(this,n)},nPB.jh=function(){return this.k},nPB.kh=function(){return xx(this)},nPB.Ib=function(){return JN(this)},nPB.k=null,Nj(nEN,"ElkGraphElementImpl",739),ncm(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}),nPB.Lh=function(n,t,e){return J4(this,n,t,e)},nPB.Wh=function(n){return Ys(this,n)},nPB.bi=function(n,t){neF(this,n,t)},nPB.ii=function(){return nly(),n0u},nPB.ki=function(n){YN(this,n)},nPB.lh=function(){return this.f},nPB.mh=function(){return this.g},nPB.nh=function(){return this.i},nPB.oh=function(){return this.j},nPB.ph=function(n,t){T_(this,n,t)},nPB.qh=function(n,t){TB(this,n,t)},nPB.rh=function(n){GZ(this,n)},nPB.sh=function(n){G1(this,n)},nPB.Ib=function(){return nri(this)},nPB.f=0,nPB.g=0,nPB.i=0,nPB.j=0,Nj(nEN,"ElkShapeImpl",740),ncm(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}),nPB.Lh=function(n,t,e){return nnq(this,n,t,e)},nPB.Sh=function(n,t,e){return neE(this,n,t,e)},nPB.Uh=function(n,t,e){return neT(this,n,t,e)},nPB.Wh=function(n){return We(this,n)},nPB.bi=function(n,t){ncS(this,n,t)},nPB.ii=function(){return nly(),n0n},nPB.ki=function(n){nns(this,n)},nPB.hh=function(){return this.d||(this.d=new Ox(nL6,this,8,5)),this.d},nPB.ih=function(){return this.e||(this.e=new Ox(nL6,this,7,4)),this.e},Nj(nEN,"ElkConnectableShapeImpl",741),ncm(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},oF),nPB.Ah=function(n){return nee(this,n)},nPB.Lh=function(n,t,e){switch(n){case 3:return DS(this);case 4:return this.b||(this.b=new Ox(nL4,this,4,7)),this.b;case 5:return this.c||(this.c=new Ox(nL4,this,5,8)),this.c;case 6:return this.a||(this.a=new Lk(nL5,this,6,6)),this.a;case 7:return SB(),this.b||(this.b=new Ox(nL4,this,4,7)),!(this.b.i<=1)||(this.c||(this.c=new Ox(nL4,this,5,8)),!(this.c.i<=1));case 8:return SB(),!!nco(this);case 9:return SB(),!!na$(this);case 10:return SB(),this.b||(this.b=new Ox(nL4,this,4,7)),0!=this.b.i&&(this.c||(this.c=new Ox(nL4,this,5,8)),0!=this.c.i)}return Jg(this,n,t,e)},nPB.Sh=function(n,t,e){var i,r;switch(t){case 3:return this.Cb&&(e=(i=this.Db>>16)>=0?nee(this,e):this.Cb.Th(this,-1-i,null,e)),r=this,nsP(r,CY(n,27),3,e);case 4:return this.b||(this.b=new Ox(nL4,this,4,7)),YU(this.b,n,e);case 5:return this.c||(this.c=new Ox(nL4,this,5,8)),YU(this.c,n,e);case 6:return this.a||(this.a=new Lk(nL5,this,6,6)),YU(this.a,n,e)}return niy(this,n,t,e)},nPB.Uh=function(n,t,e){switch(t){case 3:var i;return i=this,nsP(i,null,3,e);case 4:return this.b||(this.b=new Ox(nL4,this,4,7)),nnw(this.b,n,e);case 5:return this.c||(this.c=new Ox(nL4,this,5,8)),nnw(this.c,n,e);case 6:return this.a||(this.a=new Lk(nL5,this,6,6)),nnw(this.a,n,e)}return z5(this,n,t,e)},nPB.Wh=function(n){switch(n){case 3:return!!DS(this);case 4:return!!this.b&&0!=this.b.i;case 5:return!!this.c&&0!=this.c.i;case 6:return!!this.a&&0!=this.a.i;case 7:return this.b||(this.b=new Ox(nL4,this,4,7)),!(this.b.i<=1&&(this.c||(this.c=new Ox(nL4,this,5,8)),this.c.i<=1));case 8:return nco(this);case 9:return na$(this);case 10:return this.b||(this.b=new Ox(nL4,this,4,7)),0!=this.b.i&&(this.c||(this.c=new Ox(nL4,this,5,8)),0!=this.c.i)}return zK(this,n)},nPB.bi=function(n,t){switch(n){case 3:noo(this,CY(t,27));return;case 4:this.b||(this.b=new Ox(nL4,this,4,7)),nft(this.b),this.b||(this.b=new Ox(nL4,this,4,7)),Nu(this.b,CY(t,16));return;case 5:this.c||(this.c=new Ox(nL4,this,5,8)),nft(this.c),this.c||(this.c=new Ox(nL4,this,5,8)),Nu(this.c,CY(t,16));return;case 6:this.a||(this.a=new Lk(nL5,this,6,6)),nft(this.a),this.a||(this.a=new Lk(nL5,this,6,6)),Nu(this.a,CY(t,16));return}neK(this,n,t)},nPB.ii=function(){return nly(),n0t},nPB.ki=function(n){switch(n){case 3:noo(this,null);return;case 4:this.b||(this.b=new Ox(nL4,this,4,7)),nft(this.b);return;case 5:this.c||(this.c=new Ox(nL4,this,5,8)),nft(this.c);return;case 6:this.a||(this.a=new Lk(nL5,this,6,6)),nft(this.a);return}QC(this,n)},nPB.Ib=function(){return nhG(this)},Nj(nEN,"ElkEdgeImpl",326),ncm(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},o_),nPB.Ah=function(n){return nt3(this,n)},nPB.Lh=function(n,t,e){switch(n){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 jU(nL0,this,5)),this.a;case 6:return DO(this);case 7:if(t)return nn$(this);return this.i;case 8:if(t)return nnx(this);return this.f;case 9:return this.g||(this.g=new Ox(nL5,this,9,10)),this.g;case 10:return this.e||(this.e=new Ox(nL5,this,10,9)),this.e;case 11:return this.d}return ntA(this,n,t,e)},nPB.Sh=function(n,t,e){var i,r;switch(t){case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?nt3(this,e):this.Cb.Th(this,-1-i,null,e)),r=this,nsP(r,CY(n,74),6,e);case 9:return this.g||(this.g=new Ox(nL5,this,9,10)),YU(this.g,n,e);case 10:return this.e||(this.e=new Ox(nL5,this,10,9)),YU(this.e,n,e)}return CY(Gt(CY(zA(this,16),29)||(nly(),n0e),t),69).wk().zk(this,Zm(this),t-N$((nly(),n0e)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 5:return this.a||(this.a=new jU(nL0,this,5)),nnw(this.a,n,e);case 6:var i;return i=this,nsP(i,null,6,e);case 9:return this.g||(this.g=new Ox(nL5,this,9,10)),nnw(this.g,n,e);case 10:return this.e||(this.e=new Ox(nL5,this,10,9)),nnw(this.e,n,e)}return ni4(this,n,t,e)},nPB.Wh=function(n){switch(n){case 1:return 0!=this.j;case 2:return 0!=this.k;case 3:return 0!=this.b;case 4:return 0!=this.c;case 5:return!!this.a&&0!=this.a.i;case 6:return!!DO(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&0!=this.g.i;case 10:return!!this.e&&0!=this.e.i;case 11:return null!=this.d}return Ks(this,n)},nPB.bi=function(n,t){switch(n){case 1:G0(this,pj(PI(t)));return;case 2:G3(this,pj(PI(t)));return;case 3:GQ(this,pj(PI(t)));return;case 4:G2(this,pj(PI(t)));return;case 5:this.a||(this.a=new jU(nL0,this,5)),nft(this.a),this.a||(this.a=new jU(nL0,this,5)),Nu(this.a,CY(t,16));return;case 6:noc(this,CY(t,74));return;case 7:q0(this,CY(t,84));return;case 8:q1(this,CY(t,84));return;case 9:this.g||(this.g=new Ox(nL5,this,9,10)),nft(this.g),this.g||(this.g=new Ox(nL5,this,9,10)),Nu(this.g,CY(t,16));return;case 10:this.e||(this.e=new Ox(nL5,this,10,9)),nft(this.e),this.e||(this.e=new Ox(nL5,this,10,9)),Nu(this.e,CY(t,16));return;case 11:Xe(this,PA(t));return}Ws(this,n,t)},nPB.ii=function(){return nly(),n0e},nPB.ki=function(n){switch(n){case 1:G0(this,0);return;case 2:G3(this,0);return;case 3:GQ(this,0);return;case 4:G2(this,0);return;case 5:this.a||(this.a=new jU(nL0,this,5)),nft(this.a);return;case 6:noc(this,null);return;case 7:q0(this,null);return;case 8:q1(this,null);return;case 9:this.g||(this.g=new Ox(nL5,this,9,10)),nft(this.g);return;case 10:this.e||(this.e=new Ox(nL5,this,10,9)),nft(this.e);return;case 11:Xe(this,null);return}VC(this,n)},nPB.Ib=function(){return na9(this)},nPB.b=0,nPB.c=0,nPB.d=null,nPB.j=0,nPB.k=0,Nj(nEN,"ElkEdgeSectionImpl",452),ncm(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),nPB.Lh=function(n,t,e){return 0==n?(this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab):HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Sh=function(n,t,e){return 0==t?(this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e)):CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().zk(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Uh=function(n,t,e){return 0==t?(this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e)):CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().Ak(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Wh=function(n){return 0==n?!!this.Ab&&0!=this.Ab.i:Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.Zh=function(n){return nf8(this,n)},nPB.bi=function(n,t){if(0===n){this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.di=function(n){Zv(this,128,n)},nPB.ii=function(){return nlq(),n2m},nPB.ki=function(n){if(0===n){this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.pi=function(){this.Bb|=1},nPB.qi=function(n){return nsA(this,n)},nPB.Bb=0,Nj(nEL,"EModelElementImpl",158),ncm(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},hU),nPB.ri=function(n,t){return nfL(this,n,t)},nPB.si=function(n){var t,e,i,r;if(this.a!=GT(n)||(256&n.Bb)!=0)throw new pN(nEF+n.zb+nED).e;for(e=$7(n);0!=FS(e.a).i;){if(nty(t=CY(nfp(e,0,jM(r=CY(GO(FS(e.a),0),89).c,90)?CY(r,29):(nlq(),n2y)),29)))return CY(i=GT(t).wi().si(t),54).ci(n),i;e=$7(t)}return(null!=n.D?n.D:n.B)=="java.util.Map$Entry"?new IK(n):new Il(n)},nPB.ti=function(n,t){return nlE(this,n,t)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.a}return HE(this,n-N$((nlq(),n2d)),Gt(CY(zA(this,16),29)||n2d,n),t,e)},nPB.Sh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 1:return this.a&&(e=CY(this.a,54).Th(this,4,nNn,e)),QT(this,CY(n,241),e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2d),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2d)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 1:return QT(this,null,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2d),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2d)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return!!this.a}return Fr(this,n-N$((nlq(),n2d)),Gt(CY(zA(this,16),29)||n2d,n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:niQ(this,CY(t,241));return}J5(this,n-N$((nlq(),n2d)),Gt(CY(zA(this,16),29)||n2d,n),t)},nPB.ii=function(){return nlq(),n2d},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:niQ(this,null);return}QZ(this,n-N$((nlq(),n2d)),Gt(CY(zA(this,16),29)||n2d,n))},Nj(nEL,"EFactoryImpl",720),ncm(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},oB),nPB.ri=function(n,t){switch(n.hk()){case 12:return CY(t,149).Pg();case 13:return J2(t);default:throw new pN(nE$+n.xe()+nED).e}},nPB.si=function(n){var t;switch(-1==n.G&&(n.G=(t=GT(n))?nnm(t.vi(),n):-1),n.G){case 4:return new oH;case 6:return new gE;case 7:return new gT;case 8:return new oF;case 9:return new oR;case 10:return new o_;case 11:return new oU;default:throw new pN(nEF+n.zb+nED).e}},nPB.ti=function(n,t){switch(n.hk()){case 13:case 12:return null;default:throw new pN(nE$+n.xe()+nED).e}},Nj(nEN,"ElkGraphFactoryImpl",1037),ncm(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}),nPB.Gh=function(){var n;return null==(n=Do(nhr(CY(zA(this,16),29)||this.ii())))?(yT(),yT(),n2D):new Pg(this,n)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.xe()}return HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb}return Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:this.ui(PA(t));return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.ii=function(){return nlq(),n2v},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:this.ui(null);return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.xe=function(){return this.zb},nPB.ui=function(n){XC(this,n)},nPB.Ib=function(){return QG(this)},nPB.zb=null,Nj(nEL,"ENamedElementImpl",448),ncm(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},$T),nPB.Ah=function(n){return nt8(this,n)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,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 LC(this,n0Q,this)),this.rb;case 6:return this.vb||(this.vb=new OS(nNn,this,6,7)),this.vb;case 7:if(t)return this.Db>>16==7?CY(this.Cb,241):null;return Dq(this)}return HE(this,n-N$((nlq(),n2E)),Gt(CY(zA(this,16),29)||n2E,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 4:return this.sb&&(e=CY(this.sb,54).Th(this,1,nL9,e)),Qq(this,CY(n,480),e);case 5:return this.rb||(this.rb=new LC(this,n0Q,this)),YU(this.rb,n,e);case 6:return this.vb||(this.vb=new OS(nNn,this,6,7)),YU(this.vb,n,e);case 7:return this.Cb&&(e=(i=this.Db>>16)>=0?nt8(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,7,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2E),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2E)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 4:return Qq(this,null,e);case 5:return this.rb||(this.rb=new LC(this,n0Q,this)),nnw(this.rb,n,e);case 6:return this.vb||(this.vb=new OS(nNn,this,6,7)),nnw(this.vb,n,e);case 7:return nsP(this,null,7,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2E),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2E)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.yb;case 3:return null!=this.xb;case 4:return!!this.sb;case 5:return!!this.rb&&0!=this.rb.i;case 6:return!!this.vb&&0!=this.vb.i;case 7:return!!Dq(this)}return Fr(this,n-N$((nlq(),n2E)),Gt(CY(zA(this,16),29)||n2E,n))},nPB.Zh=function(n){return function(n,t){var e,i,r,a,c,o;if(!n.tb){for(n.rb||(n.rb=new LC(n,n0Q,n)),o=new vH((a=n.rb).i),r=new j2(a);r.e!=r.i.gc();)c=(i=CY(Z6(r),142)).xe(),(e=CY(null==c?nr3(o.f,null,i):JI(o.i,c,i),142))&&(null==c?nr3(o.f,null,e):JI(o.i,c,e));n.tb=o}return CY(Db(n.tb,t),142)}(this,n)||nf8(this,n)},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:XC(this,PA(t));return;case 2:XA(this,PA(t));return;case 3:XI(this,PA(t));return;case 4:ni6(this,CY(t,480));return;case 5:this.rb||(this.rb=new LC(this,n0Q,this)),nft(this.rb),this.rb||(this.rb=new LC(this,n0Q,this)),Nu(this.rb,CY(t,16));return;case 6:this.vb||(this.vb=new OS(nNn,this,6,7)),nft(this.vb),this.vb||(this.vb=new OS(nNn,this,6,7)),Nu(this.vb,CY(t,16));return}J5(this,n-N$((nlq(),n2E)),Gt(CY(zA(this,16),29)||n2E,n),t)},nPB.ei=function(n){var t,e;if(n&&this.rb)for(e=new j2(this.rb);e.e!=e.i.gc();)jM(t=Z6(e),364)&&(CY(t,364).w=null);Zv(this,64,n)},nPB.ii=function(){return nlq(),n2E},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:XC(this,null);return;case 2:XA(this,null);return;case 3:XI(this,null);return;case 4:ni6(this,null);return;case 5:this.rb||(this.rb=new LC(this,n0Q,this)),nft(this.rb);return;case 6:this.vb||(this.vb=new OS(nNn,this,6,7)),nft(this.vb);return}QZ(this,n-N$((nlq(),n2E)),Gt(CY(zA(this,16),29)||n2E,n))},nPB.pi=function(){ntL(this)},nPB.vi=function(){return this.rb||(this.rb=new LC(this,n0Q,this)),this.rb},nPB.wi=function(){return this.sb},nPB.xi=function(){return this.ub},nPB.yi=function(){return this.xb},nPB.zi=function(){return this.yb},nPB.Ai=function(n){this.ub=n},nPB.Ib=function(){var n;return(64&this.Db)!=0?QG(this):(n=new Sm(QG(this)),n.a+=" (nsURI: ",EW(n,this.yb),n.a+=", nsPrefix: ",EW(n,this.xb),n.a+=")",n.a)},nPB.xb=null,nPB.yb=null,Nj(nEL,"EPackageImpl",184),ncm(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},ncb),nPB.q=!1,nPB.r=!1;var nNr=!1;Nj(nEN,"ElkGraphPackageImpl",569),ncm(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},oH),nPB.Ah=function(n){return nt4(this,n)},nPB.Lh=function(n,t,e){switch(n){case 7:return Dz(this);case 8:return this.a}return J4(this,n,t,e)},nPB.Sh=function(n,t,e){var i;return 7===t?(this.Cb&&(e=(i=this.Db>>16)>=0?nt4(this,e):this.Cb.Th(this,-1-i,null,e)),Az(this,CY(n,167),e)):niy(this,n,t,e)},nPB.Uh=function(n,t,e){return 7==t?Az(this,null,e):z5(this,n,t,e)},nPB.Wh=function(n){switch(n){case 7:return!!Dz(this);case 8:return!OB("",this.a)}return Ys(this,n)},nPB.bi=function(n,t){switch(n){case 7:noE(this,CY(t,167));return;case 8:q2(this,PA(t));return}neF(this,n,t)},nPB.ii=function(){return nly(),n0r},nPB.ki=function(n){switch(n){case 7:noE(this,null);return;case 8:q2(this,"");return}YN(this,n)},nPB.Ib=function(){return nrM(this)},nPB.a="",Nj(nEN,"ElkLabelImpl",366),ncm(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},gE),nPB.Ah=function(n){return nei(this,n)},nPB.Lh=function(n,t,e){switch(n){case 9:return this.c||(this.c=new Lk(nNi,this,9,9)),this.c;case 10:return this.a||(this.a=new Lk(nNe,this,10,11)),this.a;case 11:return DV(this);case 12:return this.b||(this.b=new Lk(nL6,this,12,3)),this.b;case 13:return SB(),this.a||(this.a=new Lk(nNe,this,10,11)),this.a.i>0}return nnq(this,n,t,e)},nPB.Sh=function(n,t,e){var i,r;switch(t){case 9:return this.c||(this.c=new Lk(nNi,this,9,9)),YU(this.c,n,e);case 10:return this.a||(this.a=new Lk(nNe,this,10,11)),YU(this.a,n,e);case 11:return this.Cb&&(e=(i=this.Db>>16)>=0?nei(this,e):this.Cb.Th(this,-1-i,null,e)),r=this,nsP(r,CY(n,27),11,e);case 12:return this.b||(this.b=new Lk(nL6,this,12,3)),YU(this.b,n,e)}return neE(this,n,t,e)},nPB.Uh=function(n,t,e){switch(t){case 9:return this.c||(this.c=new Lk(nNi,this,9,9)),nnw(this.c,n,e);case 10:return this.a||(this.a=new Lk(nNe,this,10,11)),nnw(this.a,n,e);case 11:var i;return i=this,nsP(i,null,11,e);case 12:return this.b||(this.b=new Lk(nL6,this,12,3)),nnw(this.b,n,e)}return neT(this,n,t,e)},nPB.Wh=function(n){switch(n){case 9:return!!this.c&&0!=this.c.i;case 10:return!!this.a&&0!=this.a.i;case 11:return!!DV(this);case 12:return!!this.b&&0!=this.b.i;case 13:return this.a||(this.a=new Lk(nNe,this,10,11)),this.a.i>0}return We(this,n)},nPB.bi=function(n,t){switch(n){case 9:this.c||(this.c=new Lk(nNi,this,9,9)),nft(this.c),this.c||(this.c=new Lk(nNi,this,9,9)),Nu(this.c,CY(t,16));return;case 10:this.a||(this.a=new Lk(nNe,this,10,11)),nft(this.a),this.a||(this.a=new Lk(nNe,this,10,11)),Nu(this.a,CY(t,16));return;case 11:nob(this,CY(t,27));return;case 12:this.b||(this.b=new Lk(nL6,this,12,3)),nft(this.b),this.b||(this.b=new Lk(nL6,this,12,3)),Nu(this.b,CY(t,16));return}ncS(this,n,t)},nPB.ii=function(){return nly(),n0a},nPB.ki=function(n){switch(n){case 9:this.c||(this.c=new Lk(nNi,this,9,9)),nft(this.c);return;case 10:this.a||(this.a=new Lk(nNe,this,10,11)),nft(this.a);return;case 11:nob(this,null);return;case 12:this.b||(this.b=new Lk(nL6,this,12,3)),nft(this.b);return}nns(this,n)},nPB.Ib=function(){return nuG(this)},Nj(nEN,"ElkNodeImpl",207),ncm(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},gT),nPB.Ah=function(n){return nt6(this,n)},nPB.Lh=function(n,t,e){return 9==n?DP(this):nnq(this,n,t,e)},nPB.Sh=function(n,t,e){var i,r;return 9===t?(this.Cb&&(e=(i=this.Db>>16)>=0?nt6(this,e):this.Cb.Th(this,-1-i,null,e)),r=this,nsP(r,CY(n,27),9,e)):neE(this,n,t,e)},nPB.Uh=function(n,t,e){var i;return 9==t?(i=this,nsP(i,null,9,e)):neT(this,n,t,e)},nPB.Wh=function(n){return 9==n?!!DP(this):We(this,n)},nPB.bi=function(n,t){9===n?nou(this,CY(t,27)):ncS(this,n,t)},nPB.ii=function(){return nly(),n0c},nPB.ki=function(n){9===n?nou(this,null):nns(this,n)},nPB.Ib=function(){return nuq(this)},Nj(nEN,"ElkPortImpl",193);var nNa=IH(nE5,"BasicEMap/Entry");ncm(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},oU),nPB.Fb=function(n){return this===n},nPB.ld=function(){return this.b},nPB.Hb=function(){return SK(this)},nPB.Di=function(n){q3(this,CY(n,149))},nPB.Lh=function(n,t,e){switch(n){case 0:return this.b;case 1:return this.c}return nnd(this,n,t,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.b;case 1:return null!=this.c}return Z2(this,n)},nPB.bi=function(n,t){switch(n){case 0:q3(this,CY(t,149));return;case 1:qQ(this,t);return}nr9(this,n,t)},nPB.ii=function(){return nly(),n0o},nPB.ki=function(n){switch(n){case 0:q3(this,null);return;case 1:qQ(this,null);return}nrI(this,n)},nPB.Bi=function(){var n;return -1==this.a&&(n=this.b,this.a=n?XS(n):0),this.a},nPB.md=function(){return this.c},nPB.Ci=function(n){this.a=n},nPB.nd=function(n){var t;return t=this.c,qQ(this,n),t},nPB.Ib=function(){var n;return(64&this.Db)!=0?ncG(this):(EY(EY(EY(n=new p2,this.b?this.b.Pg():nbi),npF),Sp(this.c)),n.a)},nPB.a=-1,nPB.c=null;var nNc=Nj(nEN,"ElkPropertyToValueMapEntryImpl",1122);ncm(996,1,{},oX),Nj(nE7,"JsonAdapter",996),ncm(216,63,nbZ,p_),Nj(nE7,"JsonImportException",216),ncm(868,1,{},nt7),Nj(nE7,"JsonImporter",868),ncm(903,1,{},Ec),Nj(nE7,"JsonImporter/lambda$0$Type",903),ncm(904,1,{},Eo),Nj(nE7,"JsonImporter/lambda$1$Type",904),ncm(912,1,{},wg),Nj(nE7,"JsonImporter/lambda$10$Type",912),ncm(914,1,{},Eu),Nj(nE7,"JsonImporter/lambda$11$Type",914),ncm(915,1,{},Es),Nj(nE7,"JsonImporter/lambda$12$Type",915),ncm(921,1,{},$i),Nj(nE7,"JsonImporter/lambda$13$Type",921),ncm(920,1,{},$r),Nj(nE7,"JsonImporter/lambda$14$Type",920),ncm(916,1,{},Eh),Nj(nE7,"JsonImporter/lambda$15$Type",916),ncm(917,1,{},Ef),Nj(nE7,"JsonImporter/lambda$16$Type",917),ncm(918,1,{},El),Nj(nE7,"JsonImporter/lambda$17$Type",918),ncm(919,1,{},Eb),Nj(nE7,"JsonImporter/lambda$18$Type",919),ncm(924,1,{},wp),Nj(nE7,"JsonImporter/lambda$19$Type",924),ncm(905,1,{},wm),Nj(nE7,"JsonImporter/lambda$2$Type",905),ncm(922,1,{},wv),Nj(nE7,"JsonImporter/lambda$20$Type",922),ncm(923,1,{},wy),Nj(nE7,"JsonImporter/lambda$21$Type",923),ncm(927,1,{},wk),Nj(nE7,"JsonImporter/lambda$22$Type",927),ncm(925,1,{},wM),Nj(nE7,"JsonImporter/lambda$23$Type",925),ncm(926,1,{},wE),Nj(nE7,"JsonImporter/lambda$24$Type",926),ncm(929,1,{},wT),Nj(nE7,"JsonImporter/lambda$25$Type",929),ncm(928,1,{},wj),Nj(nE7,"JsonImporter/lambda$26$Type",928),ncm(930,1,nbE,Ew),nPB.Cd=function(n){var t,e,i,r,a;t=this.b,e=this.a,r=D$(t,i=PA(n)),a=null,r&&(a=nrA(r)),ZF(e,i,a)},Nj(nE7,"JsonImporter/lambda$27$Type",930),ncm(931,1,nbE,Ed),nPB.Cd=function(n){var t,e,i,r,a;t=this.b,e=this.a,r=D$(t,i=PA(n)),a=null,r&&(a=nrA(r)),ZF(e,i,a)},Nj(nE7,"JsonImporter/lambda$28$Type",931),ncm(932,1,{},Eg),Nj(nE7,"JsonImporter/lambda$29$Type",932),ncm(908,1,{},wS),Nj(nE7,"JsonImporter/lambda$3$Type",908),ncm(933,1,{},Ep),Nj(nE7,"JsonImporter/lambda$30$Type",933),ncm(934,1,{},wP),Nj(nE7,"JsonImporter/lambda$31$Type",934),ncm(935,1,{},wO),Nj(nE7,"JsonImporter/lambda$32$Type",935),ncm(936,1,{},wC),Nj(nE7,"JsonImporter/lambda$33$Type",936),ncm(937,1,{},wI),Nj(nE7,"JsonImporter/lambda$34$Type",937),ncm(870,1,{},wA),Nj(nE7,"JsonImporter/lambda$35$Type",870),ncm(941,1,{},CA),Nj(nE7,"JsonImporter/lambda$36$Type",941),ncm(938,1,nbE,wL),nPB.Cd=function(n){var t,e,i;t=this.a,e=CY(n,377),$$(i=new pl,"x",e.a),$$(i,"y",e.b),Nq(t,i)},Nj(nE7,"JsonImporter/lambda$37$Type",938),ncm(939,1,nbE,Ev),nPB.Cd=function(n){var t;t=this.a,ne$(this.b,nrH(t,CY(n,166)))},Nj(nE7,"JsonImporter/lambda$38$Type",939),ncm(940,1,nbE,Ey),nPB.Cd=function(n){var t;t=this.a,ne$(this.b,nrH(t,CY(n,166)))},Nj(nE7,"JsonImporter/lambda$39$Type",940),ncm(906,1,{},wN),Nj(nE7,"JsonImporter/lambda$4$Type",906),ncm(942,1,nbE,wx),nPB.Cd=function(n){var t,e,i;t=this.a,e=CY(n,8),$$(i=new pl,"x",e.a),$$(i,"y",e.b),Nq(t,i)},Nj(nE7,"JsonImporter/lambda$40$Type",942),ncm(907,1,{},w$),Nj(nE7,"JsonImporter/lambda$5$Type",907),ncm(911,1,{},wD),Nj(nE7,"JsonImporter/lambda$6$Type",911),ncm(909,1,{},wR),Nj(nE7,"JsonImporter/lambda$7$Type",909),ncm(910,1,{},wK),Nj(nE7,"JsonImporter/lambda$8$Type",910),ncm(913,1,{},wF),Nj(nE7,"JsonImporter/lambda$9$Type",913),ncm(961,1,nbE,w_),nPB.Cd=function(n){Nq(this.a,new NO(PA(n)))},Nj(nE7,"JsonMetaDataConverter/lambda$0$Type",961),ncm(962,1,nbE,wB),nPB.Cd=function(n){var t;Nq(this.a,new NO(null!=(t=CY(n,245)).f?t.f:""+t.g))},Nj(nE7,"JsonMetaDataConverter/lambda$1$Type",962),ncm(963,1,nbE,wH),nPB.Cd=function(n){var t,e;t=this.a,null!=(e=CY(n,143)).c&&Nq(t,new NO(e.c))},Nj(nE7,"JsonMetaDataConverter/lambda$2$Type",963),ncm(964,1,nbE,wU),nPB.Cd=function(n){var t;Nq(this.a,new NO(null!=(t=CY(n,170)).f?t.f:""+t.g))},Nj(nE7,"JsonMetaDataConverter/lambda$3$Type",964),ncm(245,22,{3:1,34:1,22:1,245:1},Ek);var nNo=qc(ngw,"GraphFeature",245,nPw,function(){return ncw(),Vw(DY(nNo,1),nbG,245,0,[n0M,n0v,n0y,n0m,n0k,n0g,n0d,n0p])},function(n){return ncw(),qa((zd(),n0E),n)});ncm(11,1,{34:1,149:1},wX,P5,To,TZ),nPB.Fd=function(n){var t;return t=CY(n,149),_W(this.b,t.Pg())},nPB.Fb=function(n){return $5(this,n)},nPB.Sg=function(){return Z4(this)},nPB.Pg=function(){return this.b},nPB.Hb=function(){return Wb(this.b)},nPB.Ib=function(){return this.b},Nj(ngw,"Property",11),ncm(671,1,ndy,wG),nPB.Ne=function(n,t){var e,i,r,a;return e=CY(n,96),i=CY(t,96),r=CY(e.of(this.a),34),a=CY(i.of(this.a),34),null!=r&&null!=a?X9(r,a):null!=r?-1:+(null!=a)},nPB.Fb=function(n){return this===n},nPB.Oe=function(){return new fz(this)},Nj(ngw,"PropertyHolderComparator",671),ncm(709,1,nbu,wq),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){var n;if(!this.a)throw(new $e).e;return n=this.a,this.a=DV(this.a),n},nPB.Qb=function(){mD()},nPB.Ob=function(){return!!this.a},Nj(nTw,"ElkGraphUtil/AncestorIterator",709);var nNu=IH(nE5,"EList");ncm(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),nPB.bd=function(n,t){Jo(this,n,t)},nPB.Fc=function(n){return B7(this,n)},nPB.cd=function(n,t){return VI(this,n,t)},nPB.Gc=function(n){return Nu(this,n)},nPB.Ii=function(){return new SQ(this)},nPB.Ji=function(){return new SJ(this)},nPB.Ki=function(n){return qj(this,n)},nPB.Li=function(){return!0},nPB.Mi=function(n,t){},nPB.Ni=function(){},nPB.Oi=function(n,t){BY(this,n,t)},nPB.Pi=function(n,t,e){},nPB.Qi=function(n,t){},nPB.Ri=function(n,t,e){},nPB.Fb=function(n){return nup(this,n)},nPB.Hb=function(){return Vl(this)},nPB.Si=function(){return!1},nPB.Kc=function(){return new j2(this)},nPB.ed=function(){return new SW(this)},nPB.fd=function(n){var t;if(t=this.gc(),n<0||n>t)throw new OR(n,t).e;return new L0(this,n)},nPB.Ui=function(n,t){this.Ti(n,this.dd(t))},nPB.Mc=function(n){return UP(this,n)},nPB.Wi=function(n,t){return t},nPB.hd=function(n,t){return nnv(this,n,t)},nPB.Ib=function(){return Ye(this)},nPB.Yi=function(){return!0},nPB.Zi=function(n,t){return Wl(this,t)},Nj(nE5,"AbstractEList",70),ncm(66,70,nTv,oW,Gk,ze),nPB.Ei=function(n,t){return nik(this,n,t)},nPB.Fi=function(n){return nn4(this,n)},nPB.Gi=function(n,t){QV(this,n,t)},nPB.Hi=function(n){_F(this,n)},nPB.$i=function(n){return Hv(this,n)},nPB.$b=function(){__(this)},nPB.Hc=function(n){return neO(this,n)},nPB.Xb=function(n){return GO(this,n)},nPB._i=function(n){var t,e,i;++this.j,n>(e=null==this.g?0:this.g.length)&&(i=this.g,(t=e+(e/2|0)+4)<n&&(t=n),this.g=this.aj(t),null!=i&&ns8(i,0,this.g,0,this.i))},nPB.dd=function(n){return ntq(this,n)},nPB.dc=function(){return 0==this.i},nPB.Ti=function(n,t){return naD(this,n,t)},nPB.aj=function(n){return BJ(nPa,nl7,1,n,5,1)},nPB.Vi=function(n){return this.g[n]},nPB.gd=function(n){return ntD(this,n)},nPB.Xi=function(n,t){return US(this,n,t)},nPB.gc=function(){return this.i},nPB.Pc=function(){return Fc(this)},nPB.Qc=function(n){return YP(this,n)},nPB.i=0;var nNs=Nj(nE5,"BasicEList",66),nNh=IH(nE5,"TreeIterator");ncm(708,66,nTy),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return null!=this.g||this.c?null==this.g||0!=this.i&&CY(this.g[this.i-1],51).Ob():DU(this)},nPB.Pb=function(){return nc0(this)},nPB.Qb=function(){if(!this.e)throw new px("There is no valid object to remove.").e;this.e.Qb()},nPB.c=!1,Nj(nE5,"AbstractTreeIterator",708),ncm(700,708,nTy,Tq),nPB.bj=function(n){var t;return jM(t=CY(n,58).Gh().Kc(),287)&&CY(t,287).wl(new oz),t},Nj(nTw,"ElkGraphUtil/PropertiesSkippingTreeIterator",700),ncm(965,1,{},oz),Nj(nTw,"ElkGraphUtil/PropertiesSkippingTreeIterator/1",965);var nNf=Nj(nTw,"ElkReflect",null);ncm(901,1,nMS,oV),nPB.Rg=function(n){var t,e;return D6(),t=CY(n,181),e=CY(IS(t.b),9),new O9(t.a,e,t.c)},Nj(nTw,"ElkReflect/lambda$0$Type",901),IH(nE5,"ResourceLocator"),ncm(1065,1,{}),Nj(nE5,"DelegatingResourceLocator",1065),ncm(1066,1065,{}),Nj("org.eclipse.emf.common","EMFPlugin",1066);var nNl=IH(nT8,"Adapter"),nNb=IH(nT8,"Notification");ncm(1174,1,nT9),nPB.cj=function(){return this.d},nPB.dj=function(n){},nPB.ej=function(n){this.d=n},nPB.fj=function(n){this.d==n&&(this.d=null)},nPB.d=null,Nj(nEE,"AdapterImpl",1174),ncm(2093,70,nT7),nPB.Ei=function(n,t){return Yp(this,n,t)},nPB.Fi=function(n){var t,e,i;if(++this.j,n.dc())return!1;for(t=this.Ej(),i=n.Kc();i.Ob();)e=i.Pb(),this.rj(this.Zi(t,e)),++t;return!0},nPB.Gi=function(n,t){P1(this,n,t)},nPB.Hi=function(n){Nz(this,n)},nPB.pj=function(){return this.sj()},nPB.$b=function(){PZ(this,this.Ej(),this.Fj())},nPB.Hc=function(n){return this.uj(n)},nPB.Ic=function(n){return this.vj(n)},nPB.qj=function(n,t){this.Bj().Um()},nPB.rj=function(n){this.Bj().Um()},nPB.sj=function(){return this.Bj()},nPB.tj=function(){this.Bj().Um()},nPB.uj=function(n){return this.Bj().Um()},nPB.vj=function(n){return this.Bj().Um()},nPB.wj=function(n){return this.Bj().Um()},nPB.xj=function(n){return this.Bj().Um()},nPB.yj=function(){return this.Bj().Um()},nPB.zj=function(n){return this.Bj().Um()},nPB.Aj=function(){return this.Bj().Um()},nPB.Cj=function(n){return this.Bj().Um()},nPB.Dj=function(n,t){return this.Bj().Um()},nPB.Ej=function(){return this.Bj().Um()},nPB.Fj=function(){return this.Bj().Um()},nPB.Gj=function(n){return this.Bj().Um()},nPB.Hj=function(){return this.Bj().Um()},nPB.Fb=function(n){return this.wj(n)},nPB.Xb=function(n){return this.Wi(n,this.xj(n))},nPB.Hb=function(){return this.yj()},nPB.dd=function(n){return this.zj(n)},nPB.dc=function(){return this.Aj()},nPB.Ti=function(n,t){return niz(this,n,t)},nPB.Vi=function(n){return this.xj(n)},nPB.gd=function(n){return IU(this,n)},nPB.Mc=function(n){var t;return(t=this.dd(n))>=0&&(this.gd(t),!0)},nPB.Xi=function(n,t){return this.Dj(n,this.Zi(n,t))},nPB.gc=function(){return this.Ej()},nPB.Pc=function(){return this.Fj()},nPB.Qc=function(n){return this.Gj(n)},nPB.Ib=function(){return this.Hj()},Nj(nE5,"DelegatingEList",2093),ncm(2094,2093,nT7),nPB.Ei=function(n,t){return nsq(this,n,t)},nPB.Fi=function(n){return this.Ei(this.Ej(),n)},nPB.Gi=function(n,t){ncd(this,n,t)},nPB.Hi=function(n){na4(this,n)},nPB.Li=function(){return!this.Mj()},nPB.$b=function(){nfa(this)},nPB.Ij=function(n,t,e,i,r){return new $4(this,n,t,e,i,r)},nPB.Jj=function(n){zP(this.jj(),n)},nPB.Kj=function(){return null},nPB.Lj=function(){return -1},nPB.jj=function(){return null},nPB.Mj=function(){return!1},nPB.Nj=function(n,t){return t},nPB.Oj=function(n,t){return t},nPB.Pj=function(){return!1},nPB.Qj=function(){return!this.Aj()},nPB.Ti=function(n,t){var e,i;return this.Pj()?(i=this.Qj(),e=niz(this,n,t),this.Jj(this.Ij(7,Qx(t),e,n,i)),e):niz(this,n,t)},nPB.gd=function(n){var t,e,i,r;return this.Pj()?(e=null,i=this.Qj(),t=this.Ij(4,r=IU(this,n),null,n,i),this.Mj()&&r?(e=this.Oj(r,e))?(e.nj(t),e.oj()):this.Jj(t):e?(e.nj(t),e.oj()):this.Jj(t)):(r=IU(this,n),this.Mj()&&r&&(e=this.Oj(r,null))&&e.oj()),r},nPB.Xi=function(n,t){return nsX(this,n,t)},Nj(nEE,"DelegatingNotifyingListImpl",2094),ncm(152,1,njn),nPB.nj=function(n){return ne4(this,n)},nPB.oj=function(){Un(this)},nPB.gj=function(){return this.d},nPB.Kj=function(){return null},nPB.Rj=function(){return null},nPB.hj=function(n){return -1},nPB.ij=function(){return noW(this)},nPB.jj=function(){return null},nPB.kj=function(){return noQ(this)},nPB.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},nPB.Sj=function(){return!1},nPB.mj=function(n){var t,e,i,r,a,c,o,u;switch(this.d){case 1:case 2:switch(n.gj()){case 1:case 2:if(ER(n.jj())===ER(this.jj())&&this.hj(null)==n.hj(null))return this.g=n.ij(),1==n.gj()&&(this.d=1),!0}case 4:if(4===n.gj()&&ER(n.jj())===ER(this.jj())&&this.hj(null)==n.hj(null))return(c=nfg(this),a=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,i=n.lj(),this.d=6,u=new Gk(2),a<=i)?(B7(u,this.n),B7(u,n.kj()),this.g=Vw(DY(n4s,1),nwl,28,15,[this.o=a,i+1])):(B7(u,n.kj()),B7(u,this.n),this.g=Vw(DY(n4s,1),nwl,28,15,[this.o=i,a])),this.n=u,c||(this.o=-2-this.o-1),!0;break;case 6:if(4===n.gj()&&ER(n.jj())===ER(this.jj())&&this.hj(null)==n.hj(null)){for(c=nfg(this),i=n.lj(),e=BJ(n4s,nwl,28,(o=CY(this.g,53)).length+1,15,1),t=0;t<o.length;)if((r=o[t])<=i)e[t++]=r,++i;else break;for(CY(this.n,15).bd(t,n.kj()),e[t]=i;++t<e.length;)e[t]=o[t-1];return this.g=e,c||(this.o=-2-e[0]),!0}}return!1},nPB.Ib=function(){var n,t,e,i,r;switch(e=new Sm(mI(this.Rm)+"@"+(XS(this)>>>0).toString(16)),e.a+=" (eventType: ",this.d){case 1:e.a+="SET";break;case 2:e.a+="UNSET";break;case 3:e.a+="ADD";break;case 5:e.a+="ADD_MANY";break;case 4:e.a+="REMOVE";break;case 6:e.a+="REMOVE_MANY";break;case 7:e.a+="MOVE";break;case 8:e.a+="REMOVING_ADAPTER";break;case 9:e.a+="RESOLVE";break;default:i=this.d,e.a+=i}if(nu6(this)&&(e.a+=", touch: true"),e.a+=", position: ",r=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,e.a+=r,e.a+=", notifier: ",EV(e,this.jj()),e.a+=", feature: ",EV(e,this.Kj()),e.a+=", oldValue: ",EV(e,noQ(this)),e.a+=", newValue: ",6==this.d&&jM(this.g,53)){for(t=CY(this.g,53),e.a+="[",n=0;n<t.length;)e.a+=t[n],++n<t.length&&(e.a+=nl8);e.a+="]"}else EV(e,noW(this));return e.a+=", isTouch: ",mL(e,nu6(this)),e.a+=", wasSet: ",mL(e,nfg(this)),e.a+=")",e.a},nPB.d=0,nPB.e=0,nPB.f=0,nPB.j=0,nPB.k=0,nPB.o=0,nPB.p=0,Nj(nEE,"NotificationImpl",152),ncm(1188,152,njn,$4),nPB.Kj=function(){return this.a.Kj()},nPB.hj=function(n){return this.a.Lj()},nPB.jj=function(){return this.a.jj()},Nj(nEE,"DelegatingNotifyingListImpl/1",1188),ncm(251,66,nTv,oQ,mw),nPB.Fc=function(n){return Yg(this,CY(n,378))},nPB.nj=function(n){return Yg(this,n)},nPB.oj=function(){var n,t,e;for(n=0;n<this.i;++n)null!=(e=(t=CY(this.g[n],378)).jj())&&-1!=t.gj()&&CY(e,94).xh(t)},nPB.aj=function(n){return BJ(nNb,nl7,378,n,0,1)},Nj(nEE,"NotificationChainImpl",251),ncm(1524,93,nEM),nPB.uh=function(){return this.e},nPB.wh=function(){return(1&this.f)!=0},nPB.f=1,Nj(nEE,"NotifierImpl",1524),ncm(2091,66,nTv),nPB.Ei=function(n,t){return ns6(this,n,t)},nPB.Fi=function(n){return this.Ei(this.i,n)},nPB.Gi=function(n,t){na6(this,n,t)},nPB.Hi=function(n){ncu(this,n)},nPB.Li=function(){return!this.Mj()},nPB.$b=function(){nft(this)},nPB.Ij=function(n,t,e,i,r){return new $3(this,n,t,e,i,r)},nPB.Jj=function(n){zP(this.jj(),n)},nPB.Kj=function(){return null},nPB.Lj=function(){return -1},nPB.jj=function(){return null},nPB.Mj=function(){return!1},nPB.Tj=function(){return!1},nPB.Nj=function(n,t){return t},nPB.Oj=function(n,t){return t},nPB.Pj=function(){return!1},nPB.Qj=function(){return 0!=this.i},nPB.Ti=function(n,t){return Jp(this,n,t)},nPB.gd=function(n){return no9(this,n)},nPB.Xi=function(n,t){return nhg(this,n,t)},nPB.Uj=function(n,t){return t},nPB.Vj=function(n,t){return t},nPB.Wj=function(n,t,e){return e},Nj(nEE,"NotifyingListImpl",2091),ncm(1187,152,njn,$3),nPB.Kj=function(){return this.a.Kj()},nPB.hj=function(n){return this.a.Lj()},nPB.jj=function(){return this.a.jj()},Nj(nEE,"NotifyingListImpl/1",1187),ncm(966,66,nTv,P3),nPB.Hc=function(n){return this.i>10?(this.b&&this.c.j==this.a||(this.b=new At(this),this.a=this.j),vF(this.b,n)):neO(this,n)},nPB.Yi=function(){return!0},nPB.a=0,Nj(nE5,"AbstractEList/1",966),ncm(302,77,nwD,OR),Nj(nE5,"AbstractEList/BasicIndexOutOfBoundsException",302),ncm(37,1,nbu,j2),nPB.Nb=function(n){LD(this,n)},nPB.Xj=function(){if(this.i.j!=this.f)throw(new dR).e},nPB.Yj=function(){return Z6(this)},nPB.Ob=function(){return this.e!=this.i.gc()},nPB.Pb=function(){return this.Yj()},nPB.Qb=function(){neH(this)},nPB.e=0,nPB.f=0,nPB.g=-1,Nj(nE5,"AbstractEList/EIterator",37),ncm(286,37,nbg,SW,L0),nPB.Qb=function(){neH(this)},nPB.Rb=function(n){YD(this,n)},nPB.Zj=function(){var n;try{return n=this.d.Xb(--this.e),this.Xj(),this.g=this.e,n}catch(n){if(jM(n=Vt(n),77))throw this.Xj(),(new dF).e;throw n.e}},nPB.$j=function(n){nn9(this,n)},nPB.Sb=function(){return 0!=this.e},nPB.Tb=function(){return this.e},nPB.Ub=function(){return this.Zj()},nPB.Vb=function(){return this.e-1},nPB.Wb=function(n){this.$j(n)},Nj(nE5,"AbstractEList/EListIterator",286),ncm(355,37,nbu,SQ),nPB.Yj=function(){return Z5(this)},nPB.Qb=function(){throw(new dD).e},Nj(nE5,"AbstractEList/NonResolvingEIterator",355),ncm(398,286,nbg,SJ,OX),nPB.Rb=function(n){throw(new dD).e},nPB.Yj=function(){var n;try{return n=this.c.Vi(this.e),this.Xj(),this.g=this.e++,n}catch(n){if(jM(n=Vt(n),77))throw this.Xj(),(new dF).e;throw n.e}},nPB.Zj=function(){var n;try{return n=this.c.Vi(--this.e),this.Xj(),this.g=this.e,n}catch(n){if(jM(n=Vt(n),77))throw this.Xj(),(new dF).e;throw n.e}},nPB.Qb=function(){throw(new dD).e},nPB.Wb=function(n){throw(new dD).e},Nj(nE5,"AbstractEList/NonResolvingEListIterator",398),ncm(2080,70,nji),nPB.Ei=function(n,t){var e,i,r,a,c,o,u,s,h;if(0==(i=t.gc()))return++this.j,!1;for(e=WL(this,(s=null==(u=CY(zA(this.a,4),129))?0:u.length)+i),(h=s-n)>0&&ns8(u,n,e,n+i,h),o=t.Kc(),a=0;a<i;++a)NK(e,n+a,Wl(this,c=o.Pb()));for(ZU(this,e),r=0;r<i;++r)c=e[n],this.Mi(n,c),++n;return!0},nPB.Fi=function(n){var t,e,i,r,a,c,o,u,s;if(0==(i=n.gc()))return++this.j,!1;for(t=WL(this,s=(u=null==(e=CY(zA(this.a,4),129))?0:e.length)+i),o=n.Kc(),a=u;a<s;++a)NK(t,a,Wl(this,c=o.Pb()));for(ZU(this,t),r=u;r<s;++r)c=t[r],this.Mi(r,c);return!0},nPB.Gi=function(n,t){var e,i,r,a;e=WL(this,(r=null==(i=CY(zA(this.a,4),129))?0:i.length)+1),a=Wl(this,t),n!=r&&ns8(i,n,e,n+1,r-n),NK(e,n,a),ZU(this,e),this.Mi(n,t)},nPB.Hi=function(n){var t,e,i;NK(t=WL(this,(i=null==(e=CY(zA(this.a,4),129))?0:e.length)+1),i,Wl(this,n)),ZU(this,t),this.Mi(i,n)},nPB.Ii=function(){return new _k(this)},nPB.Ji=function(){return new LO(this)},nPB.Ki=function(n){var t,e;if(e=null==(t=CY(zA(this.a,4),129))?0:t.length,n<0||n>e)throw new OR(n,e).e;return new xH(this,n)},nPB.$b=function(){var n,t;++this.j,t=null==(n=CY(zA(this.a,4),129))?0:n.length,ZU(this,null),BY(this,t,n)},nPB.Hc=function(n){var t,e,i,r;if(null!=(t=CY(zA(this.a,4),129))){if(null!=n){for(i=0,r=(e=t).length;i<r;++i)if(QY(n,e[i]))return!0}else for(i=0,r=(e=t).length;i<r;++i)if(ER(e[i])===ER(n))return!0}return!1},nPB.Xb=function(n){var t,e;if(n>=(e=null==(t=CY(zA(this.a,4),129))?0:t.length))throw new OR(n,e).e;return t[n]},nPB.dd=function(n){var t,e,i;if(null!=(t=CY(zA(this.a,4),129))){if(null!=n){for(e=0,i=t.length;e<i;++e)if(QY(n,t[e]))return e}else for(e=0,i=t.length;e<i;++e)if(ER(t[e])===ER(n))return e}return -1},nPB.dc=function(){return null==CY(zA(this.a,4),129)},nPB.Kc=function(){return new _y(this)},nPB.ed=function(){return new LP(this)},nPB.fd=function(n){var t,e;if(e=null==(t=CY(zA(this.a,4),129))?0:t.length,n<0||n>e)throw new OR(n,e).e;return new xB(this,n)},nPB.Ti=function(n,t){var e,i,r;if(n>=(r=null==(e=Zt(this))?0:e.length))throw new pC(nTg+n+nTp+r).e;if(t>=r)throw new pC(nTm+t+nTp+r).e;return i=e[t],n!=t&&(n<t?ns8(e,n,e,n+1,t-n):ns8(e,t+1,e,t,n-t),NK(e,n,i),ZU(this,e)),i},nPB.Vi=function(n){return CY(zA(this.a,4),129)[n]},nPB.gd=function(n){return function(n,t){var e,i,r,a,c;if(t>=(c=null==(e=CY(zA(n.a,4),129))?0:e.length))throw new OR(t,c).e;return r=e[t],1==c?i=null:(ns8(e,0,i=BJ(nNl,nje,424,c-1,0,1),0,t),(a=c-t-1)>0&&ns8(e,t+1,i,t,a)),ZU(n,i),nr2(n,t,r),r}(this,n)},nPB.Xi=function(n,t){var e,i;return i=(e=Zt(this))[n],NK(e,n,Wl(this,t)),ZU(this,e),i},nPB.gc=function(){var n;return null==(n=CY(zA(this.a,4),129))?0:n.length},nPB.Pc=function(){var n,t,e;return t=BJ(nNl,nje,424,e=null==(n=CY(zA(this.a,4),129))?0:n.length,0,1),e>0&&ns8(n,0,t,0,e),t},nPB.Qc=function(n){var t,e;return(e=null==(t=CY(zA(this.a,4),129))?0:t.length)>0&&(n.length<e&&(n=G7(WZ(n).c,e)),ns8(t,0,n,0,e)),n.length>e&&NK(n,e,null),n},Nj(nE5,"ArrayDelegatingEList",2080),ncm(1051,37,nbu,_y),nPB.Xj=function(){if(this.b.j!=this.f||ER(CY(zA(this.b.a,4),129))!==ER(this.a))throw(new dR).e},nPB.Qb=function(){neH(this),this.a=CY(zA(this.b.a,4),129)},Nj(nE5,"ArrayDelegatingEList/EIterator",1051),ncm(722,286,nbg,LP,xB),nPB.Xj=function(){if(this.b.j!=this.f||ER(CY(zA(this.b.a,4),129))!==ER(this.a))throw(new dR).e},nPB.$j=function(n){nn9(this,n),this.a=CY(zA(this.b.a,4),129)},nPB.Qb=function(){neH(this),this.a=CY(zA(this.b.a,4),129)},Nj(nE5,"ArrayDelegatingEList/EListIterator",722),ncm(1052,355,nbu,_k),nPB.Xj=function(){if(this.b.j!=this.f||ER(CY(zA(this.b.a,4),129))!==ER(this.a))throw(new dR).e},Nj(nE5,"ArrayDelegatingEList/NonResolvingEIterator",1052),ncm(723,398,nbg,LO,xH),nPB.Xj=function(){if(this.b.j!=this.f||ER(CY(zA(this.b.a,4),129))!==ER(this.a))throw(new dR).e},Nj(nE5,"ArrayDelegatingEList/NonResolvingEListIterator",723),ncm(615,302,nwD,Tc),Nj(nE5,"BasicEList/BasicIndexOutOfBoundsException",615),ncm(710,66,nTv,EN),nPB.bd=function(n,t){throw(new dD).e},nPB.Fc=function(n){throw(new dD).e},nPB.cd=function(n,t){throw(new dD).e},nPB.Gc=function(n){throw(new dD).e},nPB.$b=function(){throw(new dD).e},nPB._i=function(n){throw(new dD).e},nPB.Kc=function(){return this.Ii()},nPB.ed=function(){return this.Ji()},nPB.fd=function(n){return this.Ki(n)},nPB.Ti=function(n,t){throw(new dD).e},nPB.Ui=function(n,t){throw(new dD).e},nPB.gd=function(n){throw(new dD).e},nPB.Mc=function(n){throw(new dD).e},nPB.hd=function(n,t){throw(new dD).e},Nj(nE5,"BasicEList/UnmodifiableEList",710),ncm(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),nPB.bd=function(n,t){var e;e=CY(t,44),this.c.bd(n,CY(e,136))},nPB.Fc=function(n){var t;return t=CY(n,44),this.c.Fc(CY(t,136))},nPB.Jc=function(n){_r(this,n)},nPB.Xb=function(n){return CY(GO(this.c,n),136)},nPB.Ti=function(n,t){return CY(this.c.Ti(n,t),44)},nPB.Ui=function(n,t){var e;e=CY(t,44),this.c.Ui(n,CY(e,136))},nPB.Lc=function(){return new Aa(null,new R$(this,16))},nPB.gd=function(n){return CY(this.c.gd(n),44)},nPB.hd=function(n,t){var e;return e=CY(t,44),CY(this.c.hd(n,CY(e,136)),44)},nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.Oc=function(){return new Aa(null,new R$(this,16))},nPB.cd=function(n,t){return this.c.cd(n,t)},nPB.Gc=function(n){return this.c.Gc(n)},nPB.$b=function(){this.c.$b()},nPB.Hc=function(n){return this.c.Hc(n)},nPB.Ic=function(n){return z7(this.c,n)},nPB._j=function(){var n,t;if(null==this.d){for(this.d=BJ(nNs,njr,66,2*this.f+1,0,1),t=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)nnR(this,CY(n.Yj(),136));this.e=t}},nPB.Fb=function(n){return OZ(this,n)},nPB.Hb=function(){return Vl(this.c)},nPB.dd=function(n){return this.c.dd(n)},nPB.ak=function(){this.c=new wz(this)},nPB.dc=function(){return 0==this.f},nPB.Kc=function(){return this.c.Kc()},nPB.ed=function(){return this.c.ed()},nPB.fd=function(n){return this.c.fd(n)},nPB.bk=function(){return BW(this)},nPB.ck=function(n,t,e){return new CL(n,t,e)},nPB.dk=function(){return new oJ},nPB.Mc=function(n){return qE(this,n)},nPB.gc=function(){return this.f},nPB.kd=function(n,t){return new Rk(this.c,n,t)},nPB.Pc=function(){return this.c.Pc()},nPB.Qc=function(n){return this.c.Qc(n)},nPB.Ib=function(){return Ye(this.c)},nPB.e=0,nPB.f=0,Nj(nE5,"BasicEMap",721),ncm(1046,66,nTv,wz),nPB.Mi=function(n,t){var e;e=CY(t,136),nnR(this.a,e)},nPB.Pi=function(n,t,e){++(CY(t,136),this).a.e},nPB.Qi=function(n,t){var e;e=CY(t,136),Jm(this.a,e)},nPB.Ri=function(n,t,e){var i,r;i=CY(t,136),r=CY(e,136),Jm(this.a,r),nnR(this.a,i)},nPB.Oi=function(n,t){zI(this.a)},Nj(nE5,"BasicEMap/1",1046),ncm(1047,66,nTv,oJ),nPB.aj=function(n){return BJ(nNw,nja,621,n,0,1)},Nj(nE5,"BasicEMap/2",1047),ncm(1048,2063,nbl,wV),nPB.$b=function(){this.a.c.$b()},nPB.Hc=function(n){return YA(this.a,n)},nPB.Kc=function(){return 0==this.a.f?(PR(),n0O.a):new md(this.a)},nPB.Mc=function(n){var t;return t=this.a.f,Zl(this.a,n),this.a.f!=t},nPB.gc=function(){return this.a.f},Nj(nE5,"BasicEMap/3",1048),ncm(1049,31,nbf,wW),nPB.$b=function(){this.a.c.$b()},nPB.Hc=function(n){return num(this.a,n)},nPB.Kc=function(){return 0==this.a.f?(PR(),n0O.a):new mg(this.a)},nPB.gc=function(){return this.a.f},Nj(nE5,"BasicEMap/4",1049),ncm(1050,2063,nbl,wQ),nPB.$b=function(){this.a.c.$b()},nPB.Hc=function(n){var t,e,i,r,a,c,o,u,s;if(this.a.f>0&&jM(n,44)&&(this.a._j(),r=null==(o=(u=CY(n,44)).ld())?0:XS(o),a=P2(this.a,r),t=this.a.d[a])){for(c=0,e=CY(t.g,379),s=t.i;c<s;++c)if((i=e[c]).Bi()==r&&i.Fb(u))return!0}return!1},nPB.Kc=function(){return 0==this.a.f?(PR(),n0O.a):new $m(this.a)},nPB.Mc=function(n){return function n(t,e){var i,r,a,c,o,u,s,h,f;if(t.a.f>0&&jM(e,44)&&(t.a._j(),c=null==(s=(h=CY(e,44)).ld())?0:XS(s),o=P2(t.a,c),i=t.a.d[o])){for(u=0,r=CY(i.g,379),f=i.i;u<f;++u)if((a=r[u]).Bi()==c&&a.Fb(h))return n(t,h),!0}return!1}(this,n)},nPB.gc=function(){return this.a.f},Nj(nE5,"BasicEMap/5",1050),ncm(622,1,nbu,$m),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return -1!=this.b},nPB.Pb=function(){var n;if(this.f.e!=this.c)throw(new dR).e;if(-1==this.b)throw(new dF).e;return this.d=this.a,this.e=this.b,nem(this),n=CY(this.f.d[this.d].g[this.e],136),this.ek(n)},nPB.Qb=function(){if(this.f.e!=this.c)throw(new dR).e;if(-1==this.e)throw(new dx).e;this.f.c.Mc(GO(this.f.d[this.d],this.e)),this.c=this.f.e,this.e=-1,this.a==this.d&&-1!=this.b&&--this.b},nPB.ek=function(n){return n},nPB.a=0,nPB.b=-1,nPB.c=0,nPB.d=0,nPB.e=0,Nj(nE5,"BasicEMap/BasicEMapIterator",622),ncm(1044,622,nbu,md),nPB.ek=function(n){return n.ld()},Nj(nE5,"BasicEMap/BasicEMapKeyIterator",1044),ncm(1045,622,nbu,mg),nPB.ek=function(n){return n.md()},Nj(nE5,"BasicEMap/BasicEMapValueIterator",1045),ncm(1043,1,nbh,wJ),nPB.wc=function(n){zs(this,n)},nPB.yc=function(n,t,e){return JJ(this,n,t,e)},nPB.$b=function(){this.a.c.$b()},nPB._b=function(n){return YA(this.a,n)},nPB.uc=function(n){return num(this.a,n)},nPB.vc=function(){var n;return(n=this.a).g||(n.g=new oY),n.g.a||(n.g.a=new wQ(n)),n.g.a},nPB.Fb=function(n){return OZ(this.a,n)},nPB.xc=function(n){return YH(this.a,n)},nPB.Hb=function(){return Vl(this.a.c)},nPB.dc=function(){return 0==this.a.f},nPB.ec=function(){var n;return(n=this.a).g||(n.g=new oY),n.g.b||(n.g.b=new wV(n)),n.g.b},nPB.zc=function(n,t){return nej(this.a,n,t)},nPB.Bc=function(n){return Zl(this.a,n)},nPB.gc=function(){return this.a.f},nPB.Ib=function(){return Ye(this.a.c)},nPB.Cc=function(){var n;return(n=this.a).g||(n.g=new oY),n.g.d||(n.g.d=new wW(n)),n.g.d},Nj(nE5,"BasicEMap/DelegatingMap",1043),ncm(621,1,{44:1,136:1,621:1},CL),nPB.Fb=function(n){var t;return!!jM(n,44)&&(t=CY(n,44),(null!=this.b?QY(this.b,t.ld()):ER(this.b)===ER(t.ld()))&&(null!=this.c?QY(this.c,t.md()):ER(this.c)===ER(t.md())))},nPB.Bi=function(){return this.a},nPB.ld=function(){return this.b},nPB.md=function(){return this.c},nPB.Hb=function(){return this.a^(null==this.c?0:XS(this.c))},nPB.Ci=function(n){this.a=n},nPB.Di=function(n){throw(new dO).e},nPB.nd=function(n){var t;return t=this.c,this.c=n,t},nPB.Ib=function(){return this.b+"->"+this.c},nPB.a=0;var nNw=Nj(nE5,"BasicEMap/EntryImpl",621);ncm(546,1,{},oY),Nj(nE5,"BasicEMap/View",546),ncm(783,1,{}),nPB.Fb=function(n){return ncP(($O(),nO_),n)},nPB.Hb=function(){return V7(($O(),nO_))},nPB.Ib=function(){return niV(($O(),nO_))},Nj(nE5,"ECollections/BasicEmptyUnmodifiableEList",783),ncm(1348,1,nbg,oZ),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){throw(new dD).e},nPB.Ob=function(){return!1},nPB.Sb=function(){return!1},nPB.Pb=function(){throw(new dF).e},nPB.Tb=function(){return 0},nPB.Ub=function(){throw(new dF).e},nPB.Vb=function(){return -1},nPB.Qb=function(){throw(new dD).e},nPB.Wb=function(n){throw(new dD).e},Nj(nE5,"ECollections/BasicEmptyUnmodifiableEList/1",1348),ncm(1346,783,{20:1,16:1,15:1,61:1},gS),nPB.bd=function(n,t){m0()},nPB.Fc=function(n){return m2()},nPB.cd=function(n,t){return m3()},nPB.Gc=function(n){return m4()},nPB.$b=function(){m6()},nPB.Hc=function(n){return!1},nPB.Ic=function(n){return!1},nPB.Jc=function(n){_r(this,n)},nPB.Xb=function(n){return E8(($O(),n)),null},nPB.dd=function(n){return -1},nPB.dc=function(){return!0},nPB.Kc=function(){return this.a},nPB.ed=function(){return this.a},nPB.fd=function(n){return this.a},nPB.Ti=function(n,t){return m5()},nPB.Ui=function(n,t){m8()},nPB.Lc=function(){return new Aa(null,new R$(this,16))},nPB.gd=function(n){return m9()},nPB.Mc=function(n){return m7()},nPB.hd=function(n,t){return vn()},nPB.gc=function(){return 0},nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.Oc=function(){return new Aa(null,new R$(this,16))},nPB.kd=function(n,t){return $O(),new Rk(nO_,n,t)},nPB.Pc=function(){return A3(($O(),nO_))},nPB.Qc=function(n){return $O(),nn7(nO_,n)},Nj(nE5,"ECollections/EmptyUnmodifiableEList",1346),ncm(1347,783,{20:1,16:1,15:1,61:1,597:1},gP),nPB.bd=function(n,t){m0()},nPB.Fc=function(n){return m2()},nPB.cd=function(n,t){return m3()},nPB.Gc=function(n){return m4()},nPB.$b=function(){m6()},nPB.Hc=function(n){return!1},nPB.Ic=function(n){return!1},nPB.Jc=function(n){_r(this,n)},nPB.Xb=function(n){return E8(($O(),n)),null},nPB.dd=function(n){return -1},nPB.dc=function(){return!0},nPB.Kc=function(){return this.a},nPB.ed=function(){return this.a},nPB.fd=function(n){return this.a},nPB.Ti=function(n,t){return m5()},nPB.Ui=function(n,t){m8()},nPB.Lc=function(){return new Aa(null,new R$(this,16))},nPB.gd=function(n){return m9()},nPB.Mc=function(n){return m7()},nPB.hd=function(n,t){return vn()},nPB.gc=function(){return 0},nPB.jd=function(n){Xm(this,n)},nPB.Nc=function(){return new R$(this,16)},nPB.Oc=function(){return new Aa(null,new R$(this,16))},nPB.kd=function(n,t){return $O(),new Rk(nO_,n,t)},nPB.Pc=function(){return A3(($O(),nO_))},nPB.Qc=function(n){return $O(),nn7(nO_,n)},nPB.bk=function(){return $O(),$O(),nOB},Nj(nE5,"ECollections/EmptyUnmodifiableEMap",1347);var nNd=IH(nE5,"Enumerator");ncm(288,1,{288:1},nuE),nPB.Fb=function(n){var t,e,i;return this===n||!!jM(n,288)&&(t=CY(n,288),this.f==t.f&&(e=this.i,i=t.i,null==e?null==i:ZM(e,i))&&As(this.a,(256&this.f)!=0?(256&t.f)!=0?t.a:null:(256&t.f)!=0?null:t.a)&&As(this.d,t.d)&&As(this.g,t.g)&&As(this.e,t.e)&&function(n,t){var e,i;if(n.j.length!=t.j.length)return!1;for(e=0,i=n.j.length;e<i;e++)if(!OB(n.j[e],t.j[e]))return!1;return!0}(this,t))},nPB.Hb=function(){return this.f},nPB.Ib=function(){return nsO(this)},nPB.f=0;var nNg,nNp,nNm,nNv,nNy,nNk,nNM,nNE,nNT,nNj,nNS,nNP,nNO,nNC,nNI,nNA,nNL,nNN,nNx,nN$,nND,nNR,nNK,nNF,nN_,nNB,nNH,nNU,nNG,nNq,nNX,nNz,nNV,nNW,nNQ,nNJ,nNY,nNZ,nN1,nN0,nN2,nN3,nN4,nN6,nN5,nN8,nN9,nN7,nxn,nxt,nxe,nxi,nxr,nxa,nxc,nxo,nxu,nxs,nxh,nxf,nxl,nxb,nxw,nxd,nxg,nxp,nxm,nxv,nxy,nxk,nxM,nxE,nxT,nxj,nxS,nxP,nxO,nxC,nxI,nxA,nxL,nxN,nxx,nx$,nxD,nxR,nxK,nxF,nx_,nxB,nxH,nxU,nxG,nxq,nxX,nxz,nxV,nxW,nxQ,nxJ,nxY,nxZ,nx1,nx0,nx2,nx3,nx4,nx6,nx5,nx8,nx9,nx7,n$n,n$t,n$e,n$i,n$r,n$a,n$c,n$o,n$u,n$s,n$h,n$f,n$l,n$b,n$w,n$d,n$g,n$p,n$m,n$v,n$y,n$k,n$M,n$E,n$T,n$j,n$S,n$P,n$O,n$C,n$I,n$A,n$L,n$N,n$x,n$$,n$D,n$R,n$K,n$F,n$_,n$B,n$H,n$U,n$G,n$q,n$X,n$z,n$V,n$W,n$Q,n$J,n$Y,n$Z,n$1,n$0,n$2,n$3,n$4,n$6,n$5,n$8,n$9,n$7,nDn,nDt,nDe,nDi,nDr,nDa,nDc,nDo,nDu,nDs,nDh,nDf,nDl,nDb,nDw,nDd,nDg,nDp,nDm,nDv,nDy,nDk,nDM,nDE,nDT,nDj,nDS,nDP,nDO,nDC,nDI,nDA,nDL,nDN,nDx,nD$,nDD,nDR,nDK,nDF,nD_,nDB,nDH,nDU,nDG,nDq,nDX,nDz,nDV,nDW,nDQ,nDJ,nDY,nDZ,nD1,nD0,nD2,nD3,nD4,nD6,nD5,nD8,nD9,nD7,nRn,nRt,nRe,nRi,nRr,nRa,nRc,nRo,nRu,nRs,nRh,nRf,nRl,nRb,nRw,nRd,nRg,nRp,nRm,nRv,nRy,nRk,nRM,nRE,nRT,nRj,nRS,nRP,nRO,nRC,nRI,nRA,nRL,nRN,nRx,nR$,nRD,nRR,nRK,nRF,nR_,nRB,nRH,nRU,nRG,nRq,nRX,nRz,nRV,nRW,nRQ,nRJ,nRY,nRZ,nR1,nR0,nR2,nR3,nR4,nR6,nR5,nR8,nR9,nR7,nKn,nKt,nKe,nKi,nKr,nKa,nKc,nKo,nKu,nKs,nKh,nKf,nKl,nKb,nKw,nKd,nKg,nKp,nKm,nKv,nKy,nKk,nKM,nKE,nKT,nKj,nKS,nKP,nKO,nKC,nKI,nKA,nKL,nKN,nKx,nK$,nKD,nKR,nKK,nKF,nK_,nKB,nKH,nKU,nKG,nKq,nKX,nKz,nKV,nKW,nKQ,nKJ,nKY,nKZ,nK1,nK0,nK2,nK3,nK4,nK6,nK5,nK8,nK9,nK7,nFn,nFt,nFe,nFi,nFr,nFa,nFc,nFo,nFu,nFs,nFh,nFf,nFl,nFb,nFw,nFd,nFg,nFp,nFm,nFv,nFy,nFk,nFM,nFE,nFT,nFj,nFS,nFP,nFO,nFC,nFI,nFA,nFL,nFN,nFx,nF$,nFD,nFR,nFK,nFF,nF_,nFB,nFH,nFU,nFG,nFq,nFX,nFz,nFV,nFW,nFQ,nFJ,nFY,nFZ,nF1,nF0,nF2,nF3,nF4,nF6,nF5,nF8,nF9,nF7,n_n,n_t,n_e,n_i,n_r,n_a,n_c,n_o,n_u,n_s,n_h,n_f,n_l,n_b,n_w,n_d,n_g,n_p,n_m,n_v,n_y,n_k,n_M,n_E,n_T,n_j,n_S,n_P,n_O,n_C,n_I,n_A,n_L,n_N,n_x,n_$,n_D,n_R,n_K,n_F,n__,n_B,n_H,n_U,n_G,n_q,n_X,n_z,n_V,n_W,n_Q,n_J,n_Y,n_Z,n_1,n_0,n_2,n_3,n_4,n_6,n_5,n_8,n_9,n_7,nBn,nBt,nBe,nBi,nBr,nBa,nBc,nBo,nBu,nBs,nBh,nBf,nBl,nBb,nBw,nBd,nBg,nBp,nBm,nBv,nBy,nBk,nBM,nBE,nBT,nBj,nBS,nBP,nBO,nBC,nBI,nBA,nBL,nBN,nBx,nB$,nBD,nBR,nBK,nBF,nB_,nBB,nBH,nBU,nBG,nBq,nBX,nBz,nBV,nBW,nBQ,nBJ,nBY,nBZ,nB1,nB0,nB2,nB3,nB4,nB6,nB5,nB8,nB9,nB7,nHn,nHt,nHe,nHi,nHr,nHa,nHc,nHo,nHu,nHs,nHh,nHf,nHl,nHb,nHw,nHd,nHg,nHp,nHm,nHv,nHy,nHk,nHM,nHE,nHT,nHj,nHS,nHP,nHO,nHC,nHI,nHA,nHL,nHN,nHx,nH$,nHD,nHR,nHK,nHF,nH_,nHB,nHH,nHU,nHG,nHq,nHX,nHz,nHV,nHW,nHQ,nHJ,nHY,nHZ,nH1,nH0,nH2,nH3,nH4,nH6,nH5,nH8,nH9,nH7,nUn,nUt,nUe,nUi,nUr,nUa,nUc,nUo,nUu,nUs,nUh,nUf,nUl,nUb,nUw,nUd,nUg,nUp,nUm,nUv,nUy,nUk,nUM,nUE,nUT,nUj,nUS,nUP,nUO,nUC,nUI,nUA,nUL,nUN,nUx,nU$,nUD,nUR,nUK,nUF,nU_,nUB,nUH,nUU,nUG,nUq,nUX,nUz,nUV,nUW,nUQ,nUJ,nUY,nUZ,nU1,nU0,nU2,nU3,nU4,nU6,nU5,nU8,nU9,nU7,nGn,nGt,nGe,nGi,nGr,nGa,nGc,nGo,nGu,nGs,nGh,nGf,nGl,nGb,nGw,nGd,nGg,nGp,nGm,nGv,nGy,nGk,nGM,nGE,nGT,nGj,nGS,nGP,nGO,nGC,nGI,nGA,nGL,nGN,nGx,nG$,nGD,nGR,nGK,nGF,nG_,nGB,nGH,nGU,nGG,nGq,nGX,nGz,nGV,nGW,nGQ,nGJ,nGY,nGZ,nG1,nG0,nG2,nG3,nG4,nG6,nG5,nG8,nG9,nG7,nqn,nqt,nqe,nqi,nqr,nqa,nqc,nqo,nqu,nqs,nqh,nqf,nql,nqb,nqw,nqd,nqg,nqp,nqm,nqv,nqy,nqk,nqM,nqE,nqT,nqj,nqS,nqP,nqO,nqC,nqI,nqA,nqL,nqN,nqx,nq$,nqD,nqR,nqK,nqF,nq_,nqB,nqH,nqU,nqG,nqq,nqX,nqz,nqV,nqW,nqQ,nqJ,nqY,nqZ,nq1,nq0,nq2,nq3,nq4,nq6,nq5,nq8,nq9,nq7,nXn,nXt,nXe,nXi,nXr,nXa,nXc,nXo,nXu,nXs,nXh,nXf,nXl,nXb,nXw,nXd,nXg,nXp,nXm,nXv,nXy,nXk,nXM,nXE,nXT,nXj,nXS,nXP,nXO,nXC,nXI,nXA,nXL,nXN,nXx,nX$,nXD,nXR,nXK,nXF,nX_,nXB,nXH,nXU,nXG,nXq,nXX,nXz,nXV,nXW,nXQ,nXJ,nXY,nXZ,nX1,nX0,nX2,nX3,nX4,nX6,nX5,nX8,nX9,nX7,nzn,nzt,nze,nzi,nzr,nza,nzc,nzo,nzu,nzs,nzh,nzf,nzl,nzb,nzw,nzd,nzg,nzp,nzm,nzv,nzy,nzk,nzM,nzE,nzT,nzj,nzS,nzP,nzO,nzC,nzI,nzA,nzL,nzN,nzx,nz$,nzD,nzR,nzK,nzF,nz_,nzB,nzH,nzU,nzG,nzq,nzX,nzz,nzV,nzW,nzQ,nzJ,nzY,nzZ,nz1,nz0,nz2,nz3,nz4,nz6,nz5,nz8,nz9,nz7,nVn,nVt,nVe,nVi,nVr,nVa,nVc,nVo,nVu,nVs,nVh,nVf,nVl,nVb,nVw,nVd,nVg,nVp,nVm,nVv,nVy,nVk,nVM,nVE,nVT,nVj,nVS,nVP,nVO,nVC,nVI,nVA,nVL,nVN,nVx,nV$,nVD,nVR,nVK,nVF,nV_,nVB,nVH,nVU,nVG,nVq,nVX,nVz,nVV,nVW,nVQ,nVJ,nVY,nVZ,nV1,nV0,nV2,nV3,nV4,nV6,nV5,nV8,nV9,nV7,nWn,nWt,nWe,nWi,nWr,nWa,nWc,nWo,nWu,nWs,nWh,nWf,nWl,nWb,nWw,nWd,nWg,nWp,nWm,nWv,nWy,nWk,nWM,nWE,nWT,nWj,nWS,nWP,nWO,nWC,nWI,nWA,nWL,nWN,nWx,nW$,nWD,nWR,nWK,nWF,nW_,nWB,nWH,nWU,nWG,nWq,nWX,nWz,nWV,nWW,nWQ,nWJ,nWY,nWZ,nW1,nW0,nW2,nW3,nW4,nW6,nW5,nW8,nW9,nW7,nQn,nQt,nQe,nQi,nQr,nQa,nQc,nQo,nQu,nQs,nQh,nQf,nQl,nQb,nQw,nQd,nQg,nQp,nQm,nQv,nQy,nQk,nQM,nQE,nQT,nQj,nQS,nQP,nQO,nQC,nQI,nQA,nQL,nQN,nQx,nQ$,nQD,nQR,nQK,nQF,nQ_,nQB,nQH,nQU,nQG,nQq,nQX,nQz,nQV,nQW,nQQ,nQJ,nQY,nQZ,nQ1,nQ0,nQ2,nQ3,nQ4,nQ6,nQ5,nQ8,nQ9,nQ7,nJn,nJt,nJe,nJi,nJr,nJa,nJc,nJo,nJu,nJs,nJh,nJf,nJl,nJb,nJw,nJd,nJg,nJp,nJm,nJv,nJy,nJk,nJM,nJE,nJT,nJj,nJS,nJP,nJO,nJC,nJI,nJA,nJL,nJN,nJx,nJ$,nJD,nJR,nJK,nJF,nJ_,nJB,nJH,nJU,nJG,nJq,nJX,nJz,nJV,nJW,nJQ,nJJ,nJY,nJZ,nJ1,nJ0,nJ2,nJ3,nJ4,nJ6,nJ5,nJ8,nJ9,nJ7,nYn,nYt,nYe,nYi,nYr,nYa,nYc,nYo,nYu,nYs,nYh,nYf,nYl,nYb,nYw,nYd,nYg,nYp,nYm,nYv,nYy,nYk,nYM,nYE,nYT,nYj,nYS,nYP,nYO,nYC,nYI,nYA,nYL,nYN,nYx,nY$,nYD,nYR,nYK,nYF,nY_,nYB,nYH,nYU,nYG,nYq,nYX,nYz,nYV,nYW,nYQ,nYJ,nYY,nYZ,nY1,nY0,nY2,nY3,nY4,nY6,nY5,nY8,nY9,nY7,nZn,nZt,nZe,nZi,nZr,nZa,nZc,nZo,nZu,nZs,nZh,nZf,nZl,nZb,nZw,nZd,nZg,nZp,nZm,nZv,nZy,nZk,nZM,nZE,nZT,nZj,nZS,nZP,nZO,nZC,nZI,nZA,nZL,nZN,nZx,nZ$,nZD,nZR,nZK,nZF,nZ_,nZB,nZH,nZU,nZG,nZq,nZX,nZz,nZV,nZW,nZQ,nZJ,nZY,nZZ,nZ1,nZ0,nZ2,nZ3,nZ4,nZ6,nZ5,nZ8,nZ9,nZ7,n1n,n1t,n1e,n1i,n1r,n1a,n1c,n1o,n1u,n1s,n1h,n1f,n1l,n1b,n1w,n1d,n1g,n1p,n1m,n1v,n1y,n1k,n1M,n1E,n1T,n1j,n1S,n1P,n1O,n1C,n1I,n1A,n1L,n1N,n1x,n1$,n1D,n1R,n1K,n1F,n1_,n1B,n1H,n1U,n1G,n1q,n1X,n1z,n1V,n1W,n1Q,n1J,n1Y,n1Z,n11,n10,n12,n13,n14,n16,n15,n18,n19,n17,n0n,n0t,n0e,n0i,n0r,n0a,n0c,n0o,n0u,n0s,n0h,n0f,n0l,n0b,n0w,n0d,n0g,n0p,n0m,n0v,n0y,n0k,n0M,n0E,n0T,n0j,n0S,n0P,n0O,n0C,n0I,n0A,n0L,n0N=0,n0x=0,n0$=0,n0D=0,n0R=0,n0K=0,n0F=0,n0_=0,n0B=0,n0H=0,n0U=0,n0G=0,n0q=0;Nj(nE5,"URI",288),ncm(1121,45,nw4,gO),nPB.zc=function(n,t){return CY(Rr(this,PA(n),CY(t,288)),288)},Nj(nE5,"URI/URICache",1121),ncm(506,66,nTv,oq,Ay),nPB.Si=function(){return!0},Nj(nE5,"UniqueEList",506),ncm(590,63,nbZ,H7),Nj(nE5,"WrappedException",590);var n0X=IH(nEs,nju),n0z=IH(nEs,njs),n0V=IH(nEs,njh),n0W=IH(nEs,njf),n0Q=IH(nEs,njl),n0J=IH(nEs,"EClass"),n0Y=IH(nEs,"EDataType");ncm(1233,45,nw4,gC),nPB.xc=function(n){return EK(n)?Db(this,n):ED(Aj(this.f,n))},Nj(nEs,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var n0Z=IH(nEs,"EEnum"),n01=IH(nEs,njb),n00=IH(nEs,njw),n02=IH(nEs,njd),n03=IH(nEs,njg),n04=IH(nEs,njp);ncm(1042,1,{},oG),nPB.Ib=function(){return"NIL"},Nj(nEs,"EStructuralFeature/Internal/DynamicValueHolder/1",1042),ncm(1041,45,nw4,gI),nPB.xc=function(n){return EK(n)?Db(this,n):ED(Aj(this.f,n))},Nj(nEs,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var n06=IH(nEs,njm),n05=IH(nEs,"EValidator/PatternMatcher"),n08=IH(njv,"FeatureMap/Entry");ncm(545,1,{76:1},Ej),nPB.Lk=function(){return this.a},nPB.md=function(){return this.b},Nj(nEL,"BasicEObjectImpl/1",545),ncm(1040,1,njy,ES),nPB.Fk=function(n){return _K(this.a,this.b,n)},nPB.Qj=function(){return DK(this.a,this.b)},nPB.Wb=function(n){DR(this.a,this.b,n)},nPB.Gk=function(){var n,t,e;n=this.a,t=this.b,(e=n.Ih(t))>=0?n.ki(e):nab(n,t)},Nj(nEL,"BasicEObjectImpl/4",1040),ncm(2081,1,{114:1}),nPB.Mk=function(n){this.e=0==n?n2I:BJ(nPa,nl7,1,n,5,1)},nPB.li=function(n){return this.e[n]},nPB.mi=function(n,t){this.e[n]=t},nPB.ni=function(n){this.e[n]=null},nPB.Nk=function(){return this.c},nPB.Ok=function(){throw(new dD).e},nPB.Pk=function(){throw(new dD).e},nPB.Qk=function(){return this.d},nPB.Rk=function(){return null!=this.e},nPB.Sk=function(n){this.c=n},nPB.Tk=function(n){throw(new dD).e},nPB.Uk=function(n){throw(new dD).e},nPB.Vk=function(n){this.d=n},Nj(nEL,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),ncm(192,2081,{114:1},hD),nPB.Ok=function(){return this.a},nPB.Pk=function(){return this.b},nPB.Tk=function(n){this.a=n},nPB.Uk=function(n){this.b=n},Nj(nEL,"BasicEObjectImpl/EPropertiesHolderImpl",192),ncm(516,99,nEA,o1),nPB.uh=function(){return this.f},nPB.zh=function(){return this.k},nPB.Bh=function(n,t){this.g=n,this.i=t},nPB.Dh=function(){return(2&this.j)==0?this.ii():this.$h().Nk()},nPB.Fh=function(){return this.i},nPB.wh=function(){return(1&this.j)!=0},nPB.Ph=function(){return this.g},nPB.Vh=function(){return(4&this.j)!=0},nPB.$h=function(){return this.k||(this.k=new hD),this.k},nPB.ci=function(n){this.$h().Sk(n),n?this.j|=2:this.j&=-3},nPB.ei=function(n){this.$h().Uk(n),n?this.j|=4:this.j&=-5},nPB.ii=function(){return(NN(),n2c).S},nPB.i=0,nPB.j=1,Nj(nEL,"EObjectImpl",516),ncm(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},Il),nPB.li=function(n){return this.e[n]},nPB.mi=function(n,t){this.e[n]=t},nPB.ni=function(n){this.e[n]=null},nPB.Dh=function(){return this.d},nPB.Ih=function(n){return Ym(this.d,n)},nPB.Kh=function(){return this.d},nPB.Oh=function(){return null!=this.e},nPB.$h=function(){return this.k||(this.k=new o0),this.k},nPB.ci=function(n){this.d=n},nPB.hi=function(){var n;return null==this.e&&(n=N$(this.d),this.e=0==n?n2A:BJ(nPa,nl7,1,n,5,1)),this},nPB.ji=function(){return 0},Nj(nEL,"DynamicEObjectImpl",798),ncm(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},IK),nPB.Fb=function(n){return this===n},nPB.Hb=function(){return SK(this)},nPB.ci=function(n){this.d=n,this.b=noS(n,"key"),this.c=noS(n,nEH)},nPB.Bi=function(){var n;return -1==this.a&&(n=Ug(this,this.b),this.a=null==n?0:XS(n)),this.a},nPB.ld=function(){return Ug(this,this.b)},nPB.md=function(){return Ug(this,this.c)},nPB.Ci=function(n){this.a=n},nPB.Di=function(n){DR(this,this.b,n)},nPB.nd=function(n){var t;return t=Ug(this,this.c),DR(this,this.c,n),t},nPB.a=0,Nj(nEL,"DynamicEObjectImpl/BasicEMapEntry",1522),ncm(1523,1,{114:1},o0),nPB.Mk=function(n){throw(new dD).e},nPB.li=function(n){throw(new dD).e},nPB.mi=function(n,t){throw(new dD).e},nPB.ni=function(n){throw(new dD).e},nPB.Nk=function(){throw(new dD).e},nPB.Ok=function(){return this.a},nPB.Pk=function(){return this.b},nPB.Qk=function(){return this.c},nPB.Rk=function(){throw(new dD).e},nPB.Sk=function(n){throw(new dD).e},nPB.Tk=function(n){this.a=n},nPB.Uk=function(n){this.b=n},nPB.Vk=function(n){this.c=n},Nj(nEL,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),ncm(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},o2),nPB.Ah=function(n){return nt9(this,n)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.d;case 2:return e?(this.b||(this.b=new Pd((nlq(),n2S),n07,this)),this.b):(this.b||(this.b=new Pd((nlq(),n2S),n07,this)),BW(this.b));case 3:return DQ(this);case 4:return this.a||(this.a=new jU(nLZ,this,4)),this.a;case 5:return this.c||(this.c=new jJ(nLZ,this,5)),this.c}return HE(this,n-N$((nlq(),n2o)),Gt(CY(zA(this,16),29)||n2o,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 3:return this.Cb&&(e=(i=this.Db>>16)>=0?nt9(this,e):this.Cb.Th(this,-1-i,null,e)),AV(this,CY(n,155),e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2o),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2o)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 2:return this.b||(this.b=new Pd((nlq(),n2S),n07,this)),O1(this.b,n,e);case 3:return AV(this,null,e);case 4:return this.a||(this.a=new jU(nLZ,this,4)),nnw(this.a,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2o),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2o)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.d;case 2:return!!this.b&&0!=this.b.f;case 3:return!!DQ(this);case 4:return!!this.a&&0!=this.a.i;case 5:return!!this.c&&0!=this.c.i}return Fr(this,n-N$((nlq(),n2o)),Gt(CY(zA(this,16),29)||n2o,n))},nPB.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:q5(this,null==(e=PA(t))?null:(xf(e),e));return;case 2:this.b||(this.b=new Pd((nlq(),n2S),n07,this)),zu(this.b,t);return;case 3:noT(this,CY(t,155));return;case 4:this.a||(this.a=new jU(nLZ,this,4)),nft(this.a),this.a||(this.a=new jU(nLZ,this,4)),Nu(this.a,CY(t,16));return;case 5:this.c||(this.c=new jJ(nLZ,this,5)),nft(this.c),this.c||(this.c=new jJ(nLZ,this,5)),Nu(this.c,CY(t,16));return}J5(this,n-N$((nlq(),n2o)),Gt(CY(zA(this,16),29)||n2o,n),t)},nPB.ii=function(){return nlq(),n2o},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:q5(this,null);return;case 2:this.b||(this.b=new Pd((nlq(),n2S),n07,this)),this.b.c.$b();return;case 3:noT(this,null);return;case 4:this.a||(this.a=new jU(nLZ,this,4)),nft(this.a);return;case 5:this.c||(this.c=new jJ(nLZ,this,5)),nft(this.c);return}QZ(this,n-N$((nlq(),n2o)),Gt(CY(zA(this,16),29)||n2o,n))},nPB.Ib=function(){return Q0(this)},nPB.d=null,Nj(nEL,"EAnnotationImpl",519),ncm(141,721,njk,Hs),nPB.Gi=function(n,t){var e;e=CY(t,44),CY(this.c,71).Gi(n,e)},nPB.Wk=function(n,t){var e;return e=CY(n,44),CY(this.c,71).Wk(e,t)},nPB.$i=function(n){return CY(CY(this.c,71).$i(n),136)},nPB.Ii=function(){return CY(this.c,71).Ii()},nPB.Ji=function(){return CY(this.c,71).Ji()},nPB.Ki=function(n){return CY(this.c,71).Ki(n)},nPB.Xk=function(n,t){return O1(this,n,t)},nPB.Fk=function(n){return CY(this.c,79).Fk(n)},nPB.ak=function(){},nPB.Qj=function(){return CY(this.c,79).Qj()},nPB.ck=function(n,t,e){var i;return(i=CY(GT(this.b).wi().si(this.b),136)).Ci(n),i.Di(t),i.nd(e),i},nPB.dk=function(){return new de(this)},nPB.Wb=function(n){zu(this,n)},nPB.Gk=function(){CY(this.c,79).Gk()},Nj(njv,"EcoreEMap",141),ncm(165,141,njk,Pd),nPB._j=function(){var n,t,e,i,r;if(null==this.d){for(r=BJ(nNs,njr,66,2*this.f+1,0,1),e=this.c.Kc();e.e!=e.i.gc();)i=((t=CY(e.Yj(),136)).Bi()&nl3)%r.length,(n=r[i])||(n=r[i]=new de(this)),n.Fc(t);this.d=r}},Nj(nEL,"EAnnotationImpl/1",165),ncm(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}),nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),!!this.Jk();case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q}return HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 9:return Ns(this,e)}return CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().Ak(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.Jk();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i)}return Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:this.ui(PA(t));return;case 2:Q3(this,pT(PC(t)));return;case 3:Q5(this,pT(PC(t)));return;case 4:G6(this,CY(t,17).a);return;case 5:this.Zk(CY(t,17).a);return;case 8:Qn(this,CY(t,142));return;case 9:(e=niM(this,CY(t,89),null))&&e.oj();return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.ii=function(){return nlq(),n2O},nPB.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:this.ui(null);return;case 2:Q3(this,!0);return;case 3:Q5(this,!0);return;case 4:G6(this,0);return;case 5:this.Zk(1);return;case 8:Qn(this,null);return;case 9:(t=niM(this,null,null))&&t.oj();return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.pi=function(){nec(this),this.Bb|=1},nPB.Hk=function(){return nec(this)},nPB.Ik=function(){return this.t},nPB.Jk=function(){var n;return(n=this.t)>1||-1==n},nPB.Si=function(){return(512&this.Bb)!=0},nPB.Yk=function(n,t){return QX(this,n,t)},nPB.Zk=function(n){G5(this,n)},nPB.Ib=function(){return na7(this)},nPB.s=0,nPB.t=1,Nj(nEL,"ETypedElementImpl",292),ncm(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}),nPB.Ah=function(n){return ntR(this,n)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),!!this.Jk();case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q;case 10:return SB(),(this.Bb&nbB)!=0;case 11:return SB(),(this.Bb&njT)!=0;case 12:return SB(),(this.Bb&nwB)!=0;case 13:return this.j;case 14:return nos(this);case 15:return SB(),(this.Bb&njE)!=0;case 16:return SB(),(this.Bb&nbk)!=0;case 17:return DW(this)}return HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 17:return this.Cb&&(e=(i=this.Db>>16)>=0?ntR(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,17,e)}return CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().zk(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 9:return Ns(this,e);case 17:return nsP(this,null,17,e)}return CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().Ak(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.Jk();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i);case 10:return(this.Bb&nbB)==0;case 11:return(this.Bb&njT)!=0;case 12:return(this.Bb&nwB)!=0;case 13:return null!=this.j;case 14:return null!=nos(this);case 15:return(this.Bb&njE)!=0;case 16:return(this.Bb&nbk)!=0;case 17:return!!DW(this)}return Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rb(this,PA(t));return;case 2:Q3(this,pT(PC(t)));return;case 3:Q5(this,pT(PC(t)));return;case 4:G6(this,CY(t,17).a);return;case 5:this.Zk(CY(t,17).a);return;case 8:Qn(this,CY(t,142));return;case 9:(e=niM(this,CY(t,89),null))&&e.oj();return;case 10:Jv(this,pT(PC(t)));return;case 11:JM(this,pT(PC(t)));return;case 12:Jy(this,pT(PC(t)));return;case 13:EE(this,PA(t));return;case 15:Jk(this,pT(PC(t)));return;case 16:JD(this,pT(PC(t)));return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.ii=function(){return nlq(),n2P},nPB.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,90)&&nar(_v(CY(this.Cb,90)),4),XC(this,null);return;case 2:Q3(this,!0);return;case 3:Q5(this,!0);return;case 4:G6(this,0);return;case 5:this.Zk(1);return;case 8:Qn(this,null);return;case 9:(t=niM(this,null,null))&&t.oj();return;case 10:Jv(this,!0);return;case 11:JM(this,!1);return;case 12:Jy(this,!1);return;case 13:this.i=null,Xi(this,null);return;case 15:Jk(this,!1);return;case 16:JD(this,!1);return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.pi=function(){xK(Ua((nrR(),n28),this)),nec(this),this.Bb|=1},nPB.pk=function(){return this.f},nPB.ik=function(){return nos(this)},nPB.qk=function(){return DW(this)},nPB.uk=function(){return null},nPB.$k=function(){return this.k},nPB.Lj=function(){return this.n},nPB.vk=function(){return neV(this)},nPB.wk=function(){var n,t,e,i,r,a,c,o,u;return this.p||((null==(e=DW(this)).i&&nhr(e),e.i).length,(i=this.uk())&&N$(DW(i)),n=(c=(r=nec(this)).kk())?(1&c.i)!=0?c==n4h?nPE:c==n4s?nPO:c==n4w?nPP:c==n4b?nPS:c==n4f?nPC:c==n4d?nPI:c==n4l?nPT:nPj:c:null,t=nos(this),o=r.ik(),!function(n){var t,e;for(e=(function(n){var t,e,i,r,a,c,o;if((t=n.qi(njz))&&null!=(o=PA(YH((t.b||(t.b=new Pd((nlq(),n2S),n07,t)),t.b),"settingDelegates")))){for(e=new du,r=ns7(o,"\\w+"),a=0,c=r.length;a<c;++a)i=r[a],dk(e.c,i);return e}return $O(),$O(),nO_})(GT(DW(n))).Kc();e.Ob();)if(nsA(n,t=PA(e.Pb()))){var i=(ym(),n2i);return Ez(null!=t?Db(i,t):ED(Aj(i.f,t)))}}(this),(this.Bb&nbk)!=0&&((a=neS((nrR(),n28),e))&&a!=this||(a=Rz(Ua(n28,this))))?this.p=new EO(this,a):this.Jk()?this.al()?i?(this.Bb&njE)!=0?n?this.bl()?this.p=new $a(47,n,this,i):this.p=new $a(5,n,this,i):this.bl()?this.p=new F$(46,this,i):this.p=new F$(4,this,i):n?this.bl()?this.p=new $a(49,n,this,i):this.p=new $a(7,n,this,i):this.bl()?this.p=new F$(48,this,i):this.p=new F$(6,this,i):(this.Bb&njE)!=0?n?n==nPl?this.p=new CN(50,nNa,this):this.bl()?this.p=new CN(43,n,this):this.p=new CN(1,n,this):this.bl()?this.p=new $0(42,this):this.p=new $0(0,this):n?n==nPl?this.p=new CN(41,nNa,this):this.bl()?this.p=new CN(45,n,this):this.p=new CN(3,n,this):this.bl()?this.p=new $0(44,this):this.p=new $0(2,this):jM(r,156)?n==n08?this.p=new $0(40,this):(512&this.Bb)!=0?(this.Bb&njE)!=0?n?this.p=new CN(9,n,this):this.p=new $0(8,this):n?this.p=new CN(11,n,this):this.p=new $0(10,this):(this.Bb&njE)!=0?n?this.p=new CN(13,n,this):this.p=new $0(12,this):n?this.p=new CN(15,n,this):this.p=new $0(14,this):i?(u=i.t)>1||-1==u?this.bl()?(this.Bb&njE)!=0?n?this.p=new $a(25,n,this,i):this.p=new F$(24,this,i):n?this.p=new $a(27,n,this,i):this.p=new F$(26,this,i):(this.Bb&njE)!=0?n?this.p=new $a(29,n,this,i):this.p=new F$(28,this,i):n?this.p=new $a(31,n,this,i):this.p=new F$(30,this,i):this.bl()?(this.Bb&njE)!=0?n?this.p=new $a(33,n,this,i):this.p=new F$(32,this,i):n?this.p=new $a(35,n,this,i):this.p=new F$(34,this,i):(this.Bb&njE)!=0?n?this.p=new $a(37,n,this,i):this.p=new F$(36,this,i):n?this.p=new $a(39,n,this,i):this.p=new F$(38,this,i):this.bl()?(this.Bb&njE)!=0?n?this.p=new CN(17,n,this):this.p=new $0(16,this):n?this.p=new CN(19,n,this):this.p=new $0(18,this):(this.Bb&njE)!=0?n?this.p=new CN(21,n,this):this.p=new $0(20,this):n?this.p=new CN(23,n,this):this.p=new $0(22,this):this._k()?this.bl()?this.p=new Cx(CY(r,29),this,i):this.p=new Df(CY(r,29),this,i):jM(r,156)?n==n08?this.p=new $0(40,this):(this.Bb&njE)!=0?n?this.p=new Aq(t,o,this,(YR(),c==n4s?n2G:c==n4h?n2F:c==n4f?n2q:c==n4w?n2U:c==n4b?n2H:c==n4d?n2z:c==n4l?n2_:c==n4u?n2B:n2X)):this.p=new $u(CY(r,156),t,o,this):n?this.p=new AG(t,o,this,(YR(),c==n4s?n2G:c==n4h?n2F:c==n4f?n2q:c==n4w?n2U:c==n4b?n2H:c==n4d?n2z:c==n4l?n2_:c==n4u?n2B:n2X)):this.p=new $o(CY(r,156),t,o,this):this.al()?i?(this.Bb&njE)!=0?this.bl()?this.p=new C_(CY(r,29),this,i):this.p=new CF(CY(r,29),this,i):this.bl()?this.p=new CK(CY(r,29),this,i):this.p=new C$(CY(r,29),this,i):(this.Bb&njE)!=0?this.bl()?this.p=new Pj(CY(r,29),this):this.p=new PE(CY(r,29),this):this.bl()?this.p=new PM(CY(r,29),this):this.p=new Pk(CY(r,29),this):this.bl()?i?(this.Bb&njE)!=0?this.p=new CB(CY(r,29),this,i):this.p=new CD(CY(r,29),this,i):(this.Bb&njE)!=0?this.p=new PS(CY(r,29),this):this.p=new PT(CY(r,29),this):i?(this.Bb&njE)!=0?this.p=new CH(CY(r,29),this,i):this.p=new CR(CY(r,29),this,i):(this.Bb&njE)!=0?this.p=new PP(CY(r,29),this):this.p=new Ag(CY(r,29),this)),this.p},nPB.rk=function(){return(this.Bb&nbB)!=0},nPB._k=function(){return!1},nPB.al=function(){return!1},nPB.sk=function(){return(this.Bb&nbk)!=0},nPB.xk=function(){return Uj(this)},nPB.bl=function(){return!1},nPB.tk=function(){return(this.Bb&njE)!=0},nPB.cl=function(n){this.k=n},nPB.ui=function(n){Rb(this,n)},nPB.Ib=function(){return nu$(this)},nPB.e=!1,nPB.n=0,Nj(nEL,"EStructuralFeatureImpl",462),ncm(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},gA),nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),!!naO(this);case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q;case 10:return SB(),(this.Bb&nbB)!=0;case 11:return SB(),(this.Bb&njT)!=0;case 12:return SB(),(this.Bb&nwB)!=0;case 13:return this.j;case 14:return nos(this);case 15:return SB(),(this.Bb&njE)!=0;case 16:return SB(),(this.Bb&nbk)!=0;case 17:return DW(this);case 18:return SB(),(this.Bb&nEI)!=0;case 19:if(t)return z9(this);return Be(this)}return HE(this,n-N$((nlq(),n2u)),Gt(CY(zA(this,16),29)||n2u,n),t,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return naO(this);case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i);case 10:return(this.Bb&nbB)==0;case 11:return(this.Bb&njT)!=0;case 12:return(this.Bb&nwB)!=0;case 13:return null!=this.j;case 14:return null!=nos(this);case 15:return(this.Bb&njE)!=0;case 16:return(this.Bb&nbk)!=0;case 17:return!!DW(this);case 18:return(this.Bb&nEI)!=0;case 19:return!!Be(this)}return Fr(this,n-N$((nlq(),n2u)),Gt(CY(zA(this,16),29)||n2u,n))},nPB.bi=function(n,t){var e,i;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rb(this,PA(t));return;case 2:Q3(this,pT(PC(t)));return;case 3:Q5(this,pT(PC(t)));return;case 4:G6(this,CY(t,17).a);return;case 5:i=CY(t,17).a,this.b=0,G5(this,i);return;case 8:Qn(this,CY(t,142));return;case 9:(e=niM(this,CY(t,89),null))&&e.oj();return;case 10:Jv(this,pT(PC(t)));return;case 11:JM(this,pT(PC(t)));return;case 12:Jy(this,pT(PC(t)));return;case 13:EE(this,PA(t));return;case 15:Jk(this,pT(PC(t)));return;case 16:JD(this,pT(PC(t)));return;case 18:Jx(this,pT(PC(t)));return}J5(this,n-N$((nlq(),n2u)),Gt(CY(zA(this,16),29)||n2u,n),t)},nPB.ii=function(){return nlq(),n2u},nPB.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,90)&&nar(_v(CY(this.Cb,90)),4),XC(this,null);return;case 2:Q3(this,!0);return;case 3:Q5(this,!0);return;case 4:G6(this,0);return;case 5:this.b=0,G5(this,1);return;case 8:Qn(this,null);return;case 9:(t=niM(this,null,null))&&t.oj();return;case 10:Jv(this,!0);return;case 11:JM(this,!1);return;case 12:Jy(this,!1);return;case 13:this.i=null,Xi(this,null);return;case 15:Jk(this,!1);return;case 16:JD(this,!1);return;case 18:Jx(this,!1);return}QZ(this,n-N$((nlq(),n2u)),Gt(CY(zA(this,16),29)||n2u,n))},nPB.pi=function(){z9(this),xK(Ua((nrR(),n28),this)),nec(this),this.Bb|=1},nPB.Jk=function(){return naO(this)},nPB.Yk=function(n,t){return this.b=0,this.a=null,QX(this,n,t)},nPB.Zk=function(n){this.b=0,G5(this,n)},nPB.Ib=function(){var n;return(64&this.Db)!=0?nu$(this):(n=new Sm(nu$(this)),n.a+=" (iD: ",mL(n,(this.Bb&nEI)!=0),n.a+=")",n.a)},nPB.b=0,Nj(nEL,"EAttributeImpl",331),ncm(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}),nPB.dl=function(n){return n.Dh()==this},nPB.Ah=function(n){return ntS(this,n)},nPB.Bh=function(n,t){this.w=null,this.Db=t<<16|255&this.Db,this.Cb=n},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return nty(this);case 4:return this.ik();case 5:return this.F;case 6:if(t)return GT(this);return DX(this);case 7:return this.A||(this.A=new jV(n06,this,7)),this.A}return HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?ntS(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,6,e)}return CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().zk(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 6:return nsP(this,null,6,e);case 7:return this.A||(this.A=new jV(n06,this,7)),nnw(this.A,n,e)}return CY(Gt(CY(zA(this,16),29)||this.ii(),t),69).wk().Ak(this,Zm(this),t-N$(this.ii()),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nty(this);case 4:return null!=this.ik();case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!DX(this);case 7:return!!this.A&&0!=this.A.i}return Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rl(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nf_(this,PA(t));return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A),this.A||(this.A=new jV(n06,this,7)),Nu(this.A,CY(t,16));return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.ii=function(){return nlq(),n2h},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,184)&&(CY(this.Cb,184).tb=null),XC(this,null);return;case 2:WH(this,null),G9(this,this.D);return;case 5:nf_(this,null);return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A);return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.hk=function(){var n;return -1==this.G&&(this.G=(n=GT(this))?nnm(n.vi(),this):-1),this.G},nPB.ik=function(){return null},nPB.jk=function(){return GT(this)},nPB.el=function(){return this.v},nPB.kk=function(){return nty(this)},nPB.lk=function(){return null!=this.D?this.D:this.B},nPB.mk=function(){return this.F},nPB.fk=function(n){return ns1(this,n)},nPB.fl=function(n){this.v=n},nPB.gl=function(n){XF(this,n)},nPB.hl=function(n){this.C=n},nPB.ui=function(n){Rl(this,n)},nPB.Ib=function(){return YO(this)},nPB.C=null,nPB.D=null,nPB.G=-1,Nj(nEL,"EClassifierImpl",364),ncm(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},hH),nPB.dl=function(n){var t;return(t=n.Dh())==this||neO(not(t),this)},nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return nty(this);case 4:return null;case 5:return this.F;case 6:if(t)return GT(this);return DX(this);case 7:return this.A||(this.A=new jV(n06,this,7)),this.A;case 8:return SB(),(256&this.Bb)!=0;case 9:return SB(),(512&this.Bb)!=0;case 10:return $7(this);case 11:return this.q||(this.q=new Lk(n02,this,11,10)),this.q;case 12:return nhx(this);case 13:return nhP(this);case 14:return nhP(this),this.r;case 15:return nhx(this),this.k;case 16:return nrQ(this);case 17:return nhm(this);case 18:return nhr(this);case 19:return not(this);case 20:return nhx(this),this.o;case 21:return this.s||(this.s=new Lk(n0V,this,21,17)),this.s;case 22:return FS(this);case 23:return nuw(this)}return HE(this,n-N$((nlq(),n2s)),Gt(CY(zA(this,16),29)||n2s,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?ntS(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,6,e);case 11:return this.q||(this.q=new Lk(n02,this,11,10)),YU(this.q,n,e);case 21:return this.s||(this.s=new Lk(n0V,this,21,17)),YU(this.s,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2s),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2s)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 6:return nsP(this,null,6,e);case 7:return this.A||(this.A=new jV(n06,this,7)),nnw(this.A,n,e);case 11:return this.q||(this.q=new Lk(n02,this,11,10)),nnw(this.q,n,e);case 21:return this.s||(this.s=new Lk(n0V,this,21,17)),nnw(this.s,n,e);case 22:return nnw(FS(this),n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2s),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2s)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nty(this);case 4:return!1;case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!DX(this);case 7:return!!this.A&&0!=this.A.i;case 8:return(256&this.Bb)!=0;case 9:return(512&this.Bb)!=0;case 10:return!!this.u&&0!=FS(this.u.a).i&&!(this.n&&nnH(this.n));case 11:return!!this.q&&0!=this.q.i;case 12:return 0!=nhx(this).i;case 13:return 0!=nhP(this).i;case 14:return nhP(this),0!=this.r.i;case 15:return nhx(this),0!=this.k.i;case 16:return 0!=nrQ(this).i;case 17:return 0!=nhm(this).i;case 18:return 0!=nhr(this).i;case 19:return 0!=not(this).i;case 20:return nhx(this),!!this.o;case 21:return!!this.s&&0!=this.s.i;case 22:return!!this.n&&nnH(this.n);case 23:return 0!=nuw(this).i}return Fr(this,n-N$((nlq(),n2s)),Gt(CY(zA(this,16),29)||n2s,n))},nPB.Zh=function(n){return(null==this.i||this.q&&0!=this.q.i?null:noS(this,n))||nf8(this,n)},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rl(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nf_(this,PA(t));return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A),this.A||(this.A=new jV(n06,this,7)),Nu(this.A,CY(t,16));return;case 8:Q4(this,pT(PC(t)));return;case 9:Q8(this,pT(PC(t)));return;case 10:nfa($7(this)),Nu($7(this),CY(t,16));return;case 11:this.q||(this.q=new Lk(n02,this,11,10)),nft(this.q),this.q||(this.q=new Lk(n02,this,11,10)),Nu(this.q,CY(t,16));return;case 21:this.s||(this.s=new Lk(n0V,this,21,17)),nft(this.s),this.s||(this.s=new Lk(n0V,this,21,17)),Nu(this.s,CY(t,16));return;case 22:nft(FS(this)),Nu(FS(this),CY(t,16));return}J5(this,n-N$((nlq(),n2s)),Gt(CY(zA(this,16),29)||n2s,n),t)},nPB.ii=function(){return nlq(),n2s},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,184)&&(CY(this.Cb,184).tb=null),XC(this,null);return;case 2:WH(this,null),G9(this,this.D);return;case 5:nf_(this,null);return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A);return;case 8:Q4(this,!1);return;case 9:Q8(this,!1);return;case 10:this.u&&nfa(this.u);return;case 11:this.q||(this.q=new Lk(n02,this,11,10)),nft(this.q);return;case 21:this.s||(this.s=new Lk(n0V,this,21,17)),nft(this.s);return;case 22:this.n&&nft(this.n);return}QZ(this,n-N$((nlq(),n2s)),Gt(CY(zA(this,16),29)||n2s,n))},nPB.pi=function(){var n,t,e;if(nhx(this),nhP(this),nrQ(this),nhm(this),nhr(this),not(this),nuw(this),__(((e=_v(this)).c||(e.c=new uf),e.c)),this.s)for(n=0,t=this.s.i;n<t;++n)S4(GO(this.s,n));if(this.q)for(n=0,t=this.q.i;n<t;++n)S4(GO(this.q,n));Qz((nrR(),n28),this).xe(),this.Bb|=1},nPB.Ib=function(){return neQ(this)},nPB.k=null,nPB.r=null,Nj(nEL,"EClassImpl",90),ncm(2092,2091,nj$),nPB.Ei=function(n,t){return ns6(this,n,t)},nPB.Fi=function(n){return ns6(this,this.i,n)},nPB.Gi=function(n,t){na6(this,n,t)},nPB.Hi=function(n){ncu(this,n)},nPB.Wk=function(n,t){return YU(this,n,t)},nPB.$i=function(n){return Hv(this,n)},nPB.Xk=function(n,t){return nnw(this,n,t)},nPB.Xi=function(n,t){return nhg(this,n,t)},nPB.Ii=function(){return new SQ(this)},nPB.Ji=function(){return new SJ(this)},nPB.Ki=function(n){return qj(this,n)},Nj(njv,"NotifyingInternalEListImpl",2092),ncm(632,2092,njD),nPB.Hc=function(n){return nfr(this,n)},nPB.Ij=function(n,t,e,i,r){return Ri(this,n,t,e,i,r)},nPB.Jj=function(n){dq(this,n)},nPB.Fk=function(n){return this},nPB.Lk=function(){return Gt(this.e.Dh(),this.Lj())},nPB.Kj=function(){return this.Lk()},nPB.Lj=function(){return Ym(this.e.Dh(),this.Lk())},nPB.il=function(){return CY(this.Lk().Hk(),29).kk()},nPB.jl=function(){return nnD(CY(this.Lk(),19)).n},nPB.jj=function(){return this.e},nPB.kl=function(){return!0},nPB.ll=function(){return!1},nPB.ml=function(){return!1},nPB.nl=function(){return!1},nPB.dd=function(n){return nnm(this,n)},nPB.Nj=function(n,t){var e;return e=CY(n,54),this.ml()?this.kl()?e.Rh(this.e,this.jl(),this.il(),t):e.Rh(this.e,Ym(e.Dh(),nnD(CY(this.Lk(),19))),null,t):e.Rh(this.e,-1-this.Lj(),null,t)},nPB.Oj=function(n,t){var e;return e=CY(n,54),this.ml()?this.kl()?e.Th(this.e,this.jl(),this.il(),t):e.Th(this.e,Ym(e.Dh(),nnD(CY(this.Lk(),19))),null,t):e.Th(this.e,-1-this.Lj(),null,t)},nPB.al=function(){return!1},nPB.ol=function(){return!0},nPB.fk=function(n){return Fs(this.d,n)},nPB.Pj=function(){return TN(this.e)},nPB.Qj=function(){return 0!=this.i},nPB.aj=function(n){return G7(this.d,n)},nPB.Wi=function(n,t){return this.ol()&&this.nl()?nce(this,n,CY(t,58)):t},nPB.pl=function(n){return n.Vh()?Qk(this.e,CY(n,54)):n},nPB.Wb=function(n){jN(this,n)},nPB.Pc=function(){return HF(this)},nPB.Qc=function(n){var t;if(this.nl())for(t=this.i-1;t>=0;--t)GO(this,t);return YP(this,n)},nPB.Gk=function(){nft(this)},nPB.Zi=function(n,t){return qt(this,n,t)},Nj(njv,"EcoreEList",632),ncm(505,632,njD,Ih),nPB.Li=function(){return!1},nPB.Lj=function(){return this.c},nPB.Mj=function(){return!1},nPB.ol=function(){return!0},nPB.Si=function(){return!0},nPB.Wi=function(n,t){return t},nPB.Yi=function(){return!1},nPB.c=0,Nj(njv,"EObjectEList",505),ncm(83,505,njD,jU),nPB.Mj=function(){return!0},nPB.ml=function(){return!1},nPB.al=function(){return!0},Nj(njv,"EObjectContainmentEList",83),ncm(555,83,njD,jG),nPB.Ni=function(){this.b=!0},nPB.Qj=function(){return this.b},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.b,this.b=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.b=!1},nPB.b=!1,Nj(njv,"EObjectContainmentEList/Unsettable",555),ncm(1161,555,njD,AH),nPB.Ti=function(n,t){var e,i;return e=CY(Jp(this,n,t),89),TN(this.e)&&dq(this,new Hf(this.a,7,(nlq(),n2f),Qx(t),jM(i=e.c,90)?CY(i,29):n2y,n)),e},nPB.Uj=function(n,t){var e,i,r,a;return e=CY(n,89),i=t,r=new Uh(this.e,3,10,null,jM(a=e.c,90)?CY(a,29):(nlq(),n2y),nnm(this,e),!1),i?i.nj(r):i=r,i},nPB.Vj=function(n,t){var e,i,r,a;return e=CY(n,89),i=t,r=new Uh(this.e,4,10,jM(a=e.c,90)?CY(a,29):(nlq(),n2y),null,nnm(this,e),!1),i?i.nj(r):i=r,i},nPB.Wj=function(n,t,e){var i,r,a,c,o,u;return i=CY(n,89),r=CY(t,89),a=e,c=new Uh(this.e,1,10,jM(u=i.c,90)?CY(u,29):(nlq(),n2y),jM(o=r.c,90)?CY(o,29):(nlq(),n2y),nnm(this,i),!1),a?a.nj(c):a=c,a},nPB.Ij=function(n,t,e,i,r){switch(n){case 3:return Ri(this,n,t,e,i,this.i>1);case 5:return Ri(this,n,t,e,i,this.i-CY(e,15).gc()>0);default:return new Uh(this.e,n,this.c,t,e,i,!0)}},nPB.Tj=function(){return!0},nPB.Qj=function(){return nnH(this)},nPB.Gk=function(){nft(this)},Nj(nEL,"EClassImpl/1",1161),ncm(1175,1174,nT9),nPB.dj=function(n){var t,e,i,r,a,c,o;if(8!=(e=n.gj())){if(0==(i=function(n){switch(n.hj(null)){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return -1}(n)))switch(e){case 1:case 9:null!=(o=n.kj())&&((t=_v(CY(o,482))).c||(t.c=new uf),UP(t.c,n.jj())),null!=(c=n.ij())&&(1&(r=CY(c,482)).Bb)==0&&((t=_v(r)).c||(t.c=new uf),B7(t.c,CY(n.jj(),29)));break;case 3:null!=(c=n.ij())&&(1&(r=CY(c,482)).Bb)==0&&((t=_v(r)).c||(t.c=new uf),B7(t.c,CY(n.jj(),29)));break;case 5:if(null!=(c=n.ij()))for(a=CY(c,16).Kc();a.Ob();)(1&(r=CY(a.Pb(),482)).Bb)==0&&((t=_v(r)).c||(t.c=new uf),B7(t.c,CY(n.jj(),29)));break;case 4:null!=(o=n.kj())&&(1&(r=CY(o,482)).Bb)==0&&((t=_v(r)).c||(t.c=new uf),UP(t.c,n.jj()));break;case 6:if(null!=(o=n.kj()))for(a=CY(o,16).Kc();a.Ob();)(1&(r=CY(a.Pb(),482)).Bb)==0&&((t=_v(r)).c||(t.c=new uf),UP(t.c,n.jj()))}this.ql(i)}},nPB.ql=function(n){nuA(this,n)},nPB.b=63,Nj(nEL,"ESuperAdapter",1175),ncm(1176,1175,nT9,wY),nPB.ql=function(n){nar(this,n)},Nj(nEL,"EClassImpl/10",1176),ncm(1165,710,njD),nPB.Ei=function(n,t){return nik(this,n,t)},nPB.Fi=function(n){return nn4(this,n)},nPB.Gi=function(n,t){QV(this,n,t)},nPB.Hi=function(n){_F(this,n)},nPB.$i=function(n){return Hv(this,n)},nPB.Xi=function(n,t){return US(this,n,t)},nPB.Wk=function(n,t){throw(new dD).e},nPB.Ii=function(){return new SQ(this)},nPB.Ji=function(){return new SJ(this)},nPB.Ki=function(n){return qj(this,n)},nPB.Xk=function(n,t){throw(new dD).e},nPB.Fk=function(n){return this},nPB.Qj=function(){return 0!=this.i},nPB.Wb=function(n){throw(new dD).e},nPB.Gk=function(){throw(new dD).e},Nj(njv,"EcoreEList/UnmodifiableEList",1165),ncm(328,1165,njD,Tu),nPB.Yi=function(){return!1},Nj(njv,"EcoreEList/UnmodifiableEList/FastCompare",328),ncm(1168,328,njD,VX),nPB.dd=function(n){var t,e;if(jM(n,179)&&-1!=(t=CY(n,179).Lj())){for(e=this.i;t<e;++t)if(ER(this.g[t])===ER(n))return t}return -1},Nj(nEL,"EClassImpl/1EAllStructuralFeaturesList",1168),ncm(1162,506,nTv,o3),nPB.aj=function(n){return BJ(n00,nj_,89,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/1EGenericSuperTypeEList",1162),ncm(633,506,nTv,o4),nPB.aj=function(n){return BJ(n0V,njN,179,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/1EStructuralFeatureUniqueEList",633),ncm(755,506,nTv,o6),nPB.aj=function(n){return BJ(n04,njN,19,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/1ReferenceList",755),ncm(1163,506,nTv,wZ),nPB.Mi=function(n,t){var e;((e=CY(t,35)).Bb&nEI)==0||this.a.o||(this.a.o=e)},nPB.aj=function(n){return BJ(n0W,njN,35,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/2",1163),ncm(1164,506,nTv,o5),nPB.aj=function(n){return BJ(n0W,njN,35,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/3",1164),ncm(1166,328,njD,IE),nPB.Fc=function(n){var t;return t=CY(n,35),vX(),B7($x(this.a),t)},nPB.Hi=function(n){var t;t=CY(n,35),ncu($x(this.a),t)},Nj(nEL,"EClassImpl/4",1166),ncm(1167,328,njD,IM),nPB.Fc=function(n){var t;return t=CY(n,19),vX(),B7($x(this.a),t)},nPB.Hi=function(n){var t;t=CY(n,19),ncu($x(this.a),t)},Nj(nEL,"EClassImpl/5",1167),ncm(1169,506,nTv,o8),nPB.aj=function(n){return BJ(n02,njx,62,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/6",1169),ncm(1170,506,nTv,o9),nPB.aj=function(n){return BJ(n04,njN,19,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/7",1170),ncm(2095,2094,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,71:1}),nPB.Ei=function(n,t){return nsq(this,n,t)},nPB.Fi=function(n){return nsq(this,this.Ej(),n)},nPB.Gi=function(n,t){ncd(this,n,t)},nPB.Hi=function(n){na4(this,n)},nPB.Wk=function(n,t){var e,i,r,a;return e=t,this.Pj()?(i=this.Ej(),a=this.Qj(),++this.j,this.qj(i,this.Zi(i,n)),r=this.Ij(3,null,n,i,a),e?e.nj(r):e=r):P1(this,this.Ej(),n),e},nPB.Xk=function(n,t){var e,i,r,a,c;return e=t,-1!=(i=this.dd(n))&&(this.Pj()?(a=this.Qj(),c=IU(this,i),r=this.Ij(4,c,null,i,a),e?e.nj(r):e=r):IU(this,i)),e},nPB.Xi=function(n,t){return nsX(this,n,t)},nPB.$i=function(n){return this.xj(n)},nPB.Ii=function(){return new SQ(this)},nPB.pj=function(){return this.sj()},nPB.Ji=function(){return new SJ(this)},nPB.Ki=function(n){return qj(this,n)},Nj(njv,"DelegatingNotifyingInternalEListImpl",2095),ncm(756,2095,njB),nPB.Li=function(){var n;return jM(n=Gt(Dt(this.b),this.Lj()).Hk(),156)&&!jM(n,469)&&(1&n.kk().i)==0},nPB.Hc=function(n){var t,e,i,r,a,c,o;if(!this.ol())return this.uj(n);if((o=this.Ej())>4){if(!this.fk(n))return!1;else if(this.al()){if(c=(t=(e=CY(n,54)).Eh())==this.b&&(this.ml()?e.yh(e.Fh(),CY(Gt(Dt(this.b),this.Lj()).Hk(),29).kk())==nnD(CY(Gt(Dt(this.b),this.Lj()),19)).n:-1-e.Fh()==this.Lj()),this.nl()&&!c&&!t&&e.Jh()){for(i=0;i<o;++i)if(ER(LK(this,this.xj(i)))===ER(n))return!0}return c}else if(this.ml()&&!this.ll()){if(ER(r=CY(n,58).Mh(nnD(CY(Gt(Dt(this.b),this.Lj()),19))))===ER(this.b))return!0;if(null==r||!CY(r,58).Vh())return!1}}if(a=this.uj(n),this.nl()&&!a){for(i=0;i<o;++i)if(ER(e=LK(this,this.xj(i)))===ER(n))return!0}return a},nPB.Ij=function(n,t,e,i,r){return new Uh(this.b,n,this.Lj(),t,e,i,r)},nPB.Jj=function(n){zP(this.b,n)},nPB.Fk=function(n){return this},nPB.Kj=function(){return Gt(Dt(this.b),this.Lj())},nPB.Lj=function(){return Ym(Dt(this.b),Gt(Dt(this.b),this.Lj()))},nPB.jj=function(){return this.b},nPB.kl=function(){return!!Gt(Dt(this.b),this.Lj()).Hk().kk()},nPB.Mj=function(){var n;return!!jM(n=Gt(Dt(this.b),this.Lj()),102)&&((CY(n,19).Bb&nEI)!=0||!!nnD(CY(n,19)))},nPB.ll=function(){var n,t,e;return!!jM(n=Gt(Dt(this.b),this.Lj()),102)&&!!(t=nnD(CY(n,19)))&&((e=t.t)>1||-1==e)},nPB.ml=function(){var n;return!!jM(n=Gt(Dt(this.b),this.Lj()),102)&&!!nnD(CY(n,19))},nPB.nl=function(){var n;return!!jM(n=Gt(Dt(this.b),this.Lj()),102)&&(CY(n,19).Bb&nwG)!=0},nPB.dd=function(n){var t,e,i;if((e=this.zj(n))>=0)return e;if(this.ol()){for(t=0,i=this.Ej();t<i;++t)if(ER(LK(this,this.xj(t)))===ER(n))return t}return -1},nPB.Nj=function(n,t){var e;return e=CY(n,54),this.ml()?this.kl()?e.Rh(this.b,nnD(CY(Gt(Dt(this.b),this.Lj()),19)).n,CY(Gt(Dt(this.b),this.Lj()).Hk(),29).kk(),t):e.Rh(this.b,Ym(e.Dh(),nnD(CY(Gt(Dt(this.b),this.Lj()),19))),null,t):e.Rh(this.b,-1-this.Lj(),null,t)},nPB.Oj=function(n,t){var e;return e=CY(n,54),this.ml()?this.kl()?e.Th(this.b,nnD(CY(Gt(Dt(this.b),this.Lj()),19)).n,CY(Gt(Dt(this.b),this.Lj()).Hk(),29).kk(),t):e.Th(this.b,Ym(e.Dh(),nnD(CY(Gt(Dt(this.b),this.Lj()),19))),null,t):e.Th(this.b,-1-this.Lj(),null,t)},nPB.al=function(){var n;return!!jM(n=Gt(Dt(this.b),this.Lj()),102)&&(CY(n,19).Bb&nEI)!=0},nPB.ol=function(){return jM(Gt(Dt(this.b),this.Lj()).Hk(),90)},nPB.fk=function(n){return Gt(Dt(this.b),this.Lj()).Hk().fk(n)},nPB.Pj=function(){return TN(this.b)},nPB.Qj=function(){return!this.Aj()},nPB.Si=function(){return Gt(Dt(this.b),this.Lj()).Si()},nPB.Wi=function(n,t){return nfp(this,n,t)},nPB.Wb=function(n){nfa(this),Nu(this,CY(n,15))},nPB.Pc=function(){var n;if(this.nl())for(n=this.Ej()-1;n>=0;--n)nfp(this,n,this.xj(n));return this.Fj()},nPB.Qc=function(n){var t;if(this.nl())for(t=this.Ej()-1;t>=0;--t)nfp(this,t,this.xj(t));return this.Gj(n)},nPB.Gk=function(){nfa(this)},nPB.Zi=function(n,t){return Hy(this,n,t)},Nj(njv,"DelegatingEcoreEList",756),ncm(1171,756,njB,P4),nPB.qj=function(n,t){var e;e=CY(t,29),Jo(FS(this.a),n,Rw(e))},nPB.rj=function(n){var t;t=CY(n,29),B7(FS(this.a),Rw(t))},nPB.xj=function(n){var t;return jM(t=CY(GO(FS(this.a),n),89).c,90)?CY(t,29):(nlq(),n2y)},nPB.Cj=function(n){var t;return jM(t=CY(no9(FS(this.a),n),89).c,90)?CY(t,29):(nlq(),n2y)},nPB.Dj=function(n,t){var e,i,r,a;return e=CY(t,29),((64&(a=jM(r=(i=CY(GO(FS(this.a),n),89)).c,90)?CY(r,29):(nlq(),n2y)).Db)!=0?Qk(this.b,a):a)==e?nsW(i):Gj(i,e),a},nPB.Li=function(){return!1},nPB.Ij=function(n,t,e,i,r){return null},nPB.sj=function(){return new w0(this)},nPB.tj=function(){nft(FS(this.a))},nPB.uj=function(n){return Q7(this,n)},nPB.vj=function(n){var t;for(t=n.Kc();t.Ob();)if(!Q7(this,t.Pb()))return!1;return!0},nPB.wj=function(n){var t,e,i;if(jM(n,15)&&(i=CY(n,15)).gc()==FS(this.a).i){for(t=i.Kc(),e=new j2(this);t.Ob();)if(ER(t.Pb())!==ER(Z6(e)))return!1;return!0}return!1},nPB.yj=function(){var n,t,e,i;for(t=1,n=new j2(FS(this.a));n.e!=n.i.gc();)t=31*t+((e=jM(i=CY(Z6(n),89).c,90)?CY(i,29):(nlq(),n2y))?SK(e):0);return t},nPB.zj=function(n){var t,e,i,r;for(i=0,e=new j2(FS(this.a));e.e!=e.i.gc();){if(t=CY(Z6(e),89),ER(n)===ER(jM(r=t.c,90)?CY(r,29):(nlq(),n2y)))return i;++i}return -1},nPB.Aj=function(){return 0==FS(this.a).i},nPB.Bj=function(){return null},nPB.Ej=function(){return FS(this.a).i},nPB.Fj=function(){var n,t,e,i,r;for(r=BJ(nPa,nl7,1,FS(this.a).i,5,1),e=0,t=new j2(FS(this.a));t.e!=t.i.gc();)n=CY(Z6(t),89),r[e++]=jM(i=n.c,90)?CY(i,29):(nlq(),n2y);return r},nPB.Gj=function(n){var t,e,i,r,a;for(a=FS(this.a).i,n.length<a&&(n=G7(WZ(n).c,a)),n.length>a&&NK(n,a,null),e=0,t=new j2(FS(this.a));t.e!=t.i.gc();)i=jM(r=CY(Z6(t),89).c,90)?CY(r,29):(nlq(),n2y),NK(n,e++,i);return n},nPB.Hj=function(){var n,t,e,i,r;for(r=new p1,r.a+="[",n=FS(this.a),t=0,i=FS(this.a).i;t<i;)EW(r,Sp(jM(e=CY(GO(n,t),89).c,90)?CY(e,29):(nlq(),n2y))),++t<i&&(r.a+=nl8);return r.a+="]",r.a},nPB.Jj=function(n){},nPB.Lj=function(){return 10},nPB.kl=function(){return!0},nPB.Mj=function(){return!1},nPB.ll=function(){return!1},nPB.ml=function(){return!1},nPB.nl=function(){return!0},nPB.al=function(){return!1},nPB.ol=function(){return!0},nPB.fk=function(n){return jM(n,90)},nPB.Qj=function(){var n;return!!(n=this.a).u&&0!=FS(n.u.a).i&&!(n.n&&nnH(n.n))},nPB.Si=function(){return!0},nPB.Yi=function(){return!0},Nj(nEL,"EClassImpl/8",1171),ncm(1172,2062,nbq,w0),nPB.fd=function(n){return qj(this.a,n)},nPB.gc=function(){return FS(this.a.a).i},Nj(nEL,"EClassImpl/8/1",1172),ncm(1173,506,nTv,o7),nPB.aj=function(n){return BJ(n0Q,nl7,142,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"EClassImpl/9",1173),ncm(1160,49,nw6,gL),Nj(nEL,"EClassImpl/MyHashSet",1160),ncm(577,364,{110:1,94:1,93:1,142:1,156:1,847:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1},dH),nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return nty(this);case 4:return this.ik();case 5:return this.F;case 6:if(t)return GT(this);return DX(this);case 7:return this.A||(this.A=new jV(n06,this,7)),this.A;case 8:return SB(),(256&this.Bb)!=0}return HE(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nty(this);case 4:return null!=this.ik();case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!DX(this);case 7:return!!this.A&&0!=this.A.i;case 8:return(256&this.Bb)==0}return Fr(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rl(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nf_(this,PA(t));return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A),this.A||(this.A=new jV(n06,this,7)),Nu(this.A,CY(t,16));return;case 8:Q6(this,pT(PC(t)));return}J5(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n),t)},nPB.ii=function(){return nlq(),n2l},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,184)&&(CY(this.Cb,184).tb=null),XC(this,null);return;case 2:WH(this,null),G9(this,this.D);return;case 5:nf_(this,null);return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A);return;case 8:Q6(this,!0);return}QZ(this,n-N$(this.ii()),Gt(CY(zA(this,16),29)||this.ii(),n))},nPB.pi=function(){Qz((nrR(),n28),this).xe(),this.Bb|=1},nPB.ok=function(){var n,t;if(!this.c&&!(n=nc_(GT(this))).dc())for(t=n.Kc();t.Ob();)nsA(this,PA(t.Pb()))&&function(n){var t,e;for(e=nc_(GT(n)).Kc();e.Ob();)if(nsA(n,t=PA(e.Pb()))){var i=(yk(),n2t);return Ez(null!=t?Db(i,t):ED(Aj(i.f,t)))}}(this);return this.b},nPB.ik=function(){var n;if(!this.e){n=null;try{n=nty(this)}catch(n){if(!jM(n=Vt(n),103))throw n.e}this.d=null,n&&(1&n.i)!=0&&(n==n4h?this.d=(SB(),nOo):n==n4s?this.d=Qx(0):n==n4w?this.d=new fA(0):n==n4b?this.d=0:n==n4f?this.d=ZE(0):n==n4d?this.d=Q$(0):n==n4l?this.d=Ub(0):this.d=z_(0)),this.e=!0}return this.d},nPB.nk=function(){return(256&this.Bb)!=0},nPB.rl=function(n){n&&(this.D="org.eclipse.emf.common.util.AbstractEnumerator")},nPB.gl=function(n){XF(this,n),this.rl(n)},nPB.hl=function(n){this.C=n,this.e=!1},nPB.Ib=function(){var n;return(64&this.Db)!=0?YO(this):(n=new Sm(YO(this)),n.a+=" (serializable: ",mL(n,(256&this.Bb)!=0),n.a+=")",n.a)},nPB.c=!1,nPB.d=null,nPB.e=!1,Nj(nEL,"EDataTypeImpl",577),ncm(469,577,{110:1,94:1,93:1,142:1,156:1,847:1,685:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,469:1,158:1,119:1,120:1,691:1},gN),nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return nty(this);case 4:return WX(this);case 5:return this.F;case 6:if(t)return GT(this);return DX(this);case 7:return this.A||(this.A=new jV(n06,this,7)),this.A;case 8:return SB(),(256&this.Bb)!=0;case 9:return this.a||(this.a=new Lk(n01,this,9,5)),this.a}return HE(this,n-N$((nlq(),n2b)),Gt(CY(zA(this,16),29)||n2b,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 6:return this.Cb&&(e=(i=this.Db>>16)>=0?ntS(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,6,e);case 9:return this.a||(this.a=new Lk(n01,this,9,5)),YU(this.a,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2b),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2b)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 6:return nsP(this,null,6,e);case 7:return this.A||(this.A=new jV(n06,this,7)),nnw(this.A,n,e);case 9:return this.a||(this.a=new Lk(n01,this,9,5)),nnw(this.a,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2b),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2b)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!nty(this);case 4:return!!WX(this);case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!DX(this);case 7:return!!this.A&&0!=this.A.i;case 8:return(256&this.Bb)==0;case 9:return!!this.a&&0!=this.a.i}return Fr(this,n-N$((nlq(),n2b)),Gt(CY(zA(this,16),29)||n2b,n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rl(this,PA(t));return;case 2:TK(this,PA(t));return;case 5:nf_(this,PA(t));return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A),this.A||(this.A=new jV(n06,this,7)),Nu(this.A,CY(t,16));return;case 8:Q6(this,pT(PC(t)));return;case 9:this.a||(this.a=new Lk(n01,this,9,5)),nft(this.a),this.a||(this.a=new Lk(n01,this,9,5)),Nu(this.a,CY(t,16));return}J5(this,n-N$((nlq(),n2b)),Gt(CY(zA(this,16),29)||n2b,n),t)},nPB.ii=function(){return nlq(),n2b},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,184)&&(CY(this.Cb,184).tb=null),XC(this,null);return;case 2:WH(this,null),G9(this,this.D);return;case 5:nf_(this,null);return;case 7:this.A||(this.A=new jV(n06,this,7)),nft(this.A);return;case 8:Q6(this,!0);return;case 9:this.a||(this.a=new Lk(n01,this,9,5)),nft(this.a);return}QZ(this,n-N$((nlq(),n2b)),Gt(CY(zA(this,16),29)||n2b,n))},nPB.pi=function(){var n,t;if(this.a)for(n=0,t=this.a.i;n<t;++n)S4(GO(this.a,n));Qz((nrR(),n28),this).xe(),this.Bb|=1},nPB.ik=function(){return WX(this)},nPB.fk=function(n){return null!=n},nPB.rl=function(n){},Nj(nEL,"EEnumImpl",469),ncm(582,448,{110:1,94:1,93:1,2039:1,694:1,155:1,197:1,58:1,114:1,54:1,99:1,582:1,158:1,119:1,120:1},dB),nPB.xe=function(){return this.zb},nPB.Ah=function(n){return nt5(this,n)},nPB.Lh=function(n,t,e){var i;switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Qx(this.d);case 3:return this.b?this.b:this.a;case 4:return null==(i=this.c)?this.zb:i;case 5:return this.Db>>16==5?CY(this.Cb,685):null}return HE(this,n-N$((nlq(),n2w)),Gt(CY(zA(this,16),29)||n2w,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 5:return this.Cb&&(e=(i=this.Db>>16)>=0?nt5(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,5,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2w),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2w)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 5:return nsP(this,null,5,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2w),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2w)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0!=this.d;case 3:return!!this.b;case 4:return null!=this.c;case 5:return!!(this.Db>>16==5?CY(this.Cb,685):null)}return Fr(this,n-N$((nlq(),n2w)),Gt(CY(zA(this,16),29)||n2w,n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:XC(this,PA(t));return;case 2:G8(this,CY(t,17).a);return;case 3:naV(this,CY(t,2039));return;case 4:qJ(this,PA(t));return}J5(this,n-N$((nlq(),n2w)),Gt(CY(zA(this,16),29)||n2w,n),t)},nPB.ii=function(){return nlq(),n2w},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:XC(this,null);return;case 2:G8(this,0);return;case 3:naV(this,null);return;case 4:qJ(this,null);return}QZ(this,n-N$((nlq(),n2w)),Gt(CY(zA(this,16),29)||n2w,n))},nPB.Ib=function(){var n;return null==(n=this.c)?this.zb:n},nPB.b=null,nPB.c=null,nPB.d=0,Nj(nEL,"EEnumLiteralImpl",582);var n09=IH(nEL,"EFactoryImpl/InternalEDateTimeFormat");ncm(499,1,{2114:1},w2),Nj(nEL,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),ncm(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},df),nPB.Ch=function(n,t,e){var i;return e=nsP(this,n,t,e),this.e&&jM(n,179)&&(i=non(this,this.e))!=this.c&&(e=nfH(this,i,e)),e},nPB.Lh=function(n,t,e){switch(n){case 0:return this.f;case 1:return this.d||(this.d=new jU(n00,this,1)),this.d;case 2:if(t)return nsW(this);return this.c;case 3:return this.b;case 4:return this.e;case 5:if(t)return nnX(this);return this.a}return HE(this,n-N$((nlq(),n2g)),Gt(CY(zA(this,16),29)||n2g,n),t,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return QM(this,null,e);case 1:return this.d||(this.d=new jU(n00,this,1)),nnw(this.d,n,e);case 3:return QE(this,null,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2g),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2g)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.f;case 1:return!!this.d&&0!=this.d.i;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return Fr(this,n-N$((nlq(),n2g)),Gt(CY(zA(this,16),29)||n2g,n))},nPB.bi=function(n,t){switch(n){case 0:neY(this,CY(t,89));return;case 1:this.d||(this.d=new jU(n00,this,1)),nft(this.d),this.d||(this.d=new jU(n00,this,1)),Nu(this.d,CY(t,16));return;case 3:neJ(this,CY(t,89));return;case 4:niJ(this,CY(t,850));return;case 5:Gj(this,CY(t,142));return}J5(this,n-N$((nlq(),n2g)),Gt(CY(zA(this,16),29)||n2g,n),t)},nPB.ii=function(){return nlq(),n2g},nPB.ki=function(n){switch(n){case 0:neY(this,null);return;case 1:this.d||(this.d=new jU(n00,this,1)),nft(this.d);return;case 3:neJ(this,null);return;case 4:niJ(this,null);return;case 5:Gj(this,null);return}QZ(this,n-N$((nlq(),n2g)),Gt(CY(zA(this,16),29)||n2g,n))},nPB.Ib=function(){var n;return n=new Sv(ncG(this)),n.a+=" (expression: ",!function n(t,e){var i,r,a,c,o,u,s;if(t.a){if(u=t.a.xe(),s=null,null!=u?e.a+=""+u:null!=(o=t.a.mk())&&(-1!=(c=Tp(o,niT(91)))?(Rx(c,o.length+1),s=o.substr(c),e.a+=""+Di(null==o?nbi:(xf(o),o),0,c)):e.a+=""+o),t.d&&0!=t.d.i){for(a=!0,e.a+="<",r=new j2(t.d);r.e!=r.i.gc();)i=CY(Z6(r),89),a?a=!1:e.a+=nl8,n(i,e);e.a+=">"}null!=s&&(e.a+=""+s)}else t.e?null!=(u=t.e.zb)&&(e.a+=""+u):(e.a+="?",t.b?(e.a+=" super ",n(t.b,e)):t.f&&(e.a+=" extends ",n(t.f,e)))}(this,n),n.a+=")",n.a},Nj(nEL,"EGenericTypeImpl",248),ncm(2067,2062,njH),nPB.Gi=function(n,t){var e,i,r;e=this,i=n,r=t,e.fd(i).Rb(r)},nPB.Wk=function(n,t){var e,i,r;return e=this,i=this.gc(),r=n,e.fd(i).Rb(r),t},nPB.$i=function(n){return nnt(this.pj(),n)},nPB.Ii=function(){return this.Ji()},nPB.pj=function(){return new dt(this)},nPB.Ji=function(){return this.Ki(0)},nPB.Ki=function(n){return this.pj().fd(n)},nPB.Xk=function(n,t){return Yd(this,n,!0),t},nPB.Ti=function(n,t){var e;return e=ntQ(this,t),this.fd(n).Rb(e),e},nPB.Ui=function(n,t){Yd(this,t,!0),this.fd(n).Rb(t)},Nj(njv,"AbstractSequentialInternalEList",2067),ncm(496,2067,njH,SU),nPB.$i=function(n){return nnt(this.pj(),n)},nPB.Ii=function(){return null==this.b?(yj(),yj(),n2R):this.sl()},nPB.pj=function(){return new Ts(this.a,this.b)},nPB.Ji=function(){return null==this.b?(yj(),yj(),n2R):this.sl()},nPB.Ki=function(n){var t,e;if(null==this.b){if(n<0||n>1)throw new pC(njt+n+", size=0").e;return yj(),yj(),n2R}for(t=0,e=this.sl();t<n;++t)zD(e);return e},nPB.dc=function(){var n,t,e,i,r,a;if(null!=this.b){for(e=0;e<this.b.length;++e)if(n=this.b[e],!this.vl()||this.a.Xh(n)){if(a=this.a.Nh(n,!1),yP(),CY(n,69).xk()){for(i=0,r=(t=CY(a,160)).gc();i<r;++i)if(xn(t.Tl(i))&&null!=t.Ul(i))return!1}else if(n.Jk()){if(!CY(a,16).dc())return!1}else if(null!=a)return!1}}return!0},nPB.Kc=function(){return Xs(this)},nPB.fd=function(n){var t,e;if(null==this.b){if(0!=n)throw new pC(njt+n+", size=0").e;return yj(),yj(),n2R}for(t=0,e=this.ul()?this.tl():this.sl();t<n;++t)zD(e);return e},nPB.Ti=function(n,t){throw(new dD).e},nPB.Ui=function(n,t){throw(new dD).e},nPB.sl=function(){return new SG(this.a,this.b)},nPB.tl=function(){return new Pp(this.a,this.b)},nPB.ul=function(){return!0},nPB.gc=function(){var n,t,e,i,r,a,c;if(r=0,null!=this.b){for(e=0;e<this.b.length;++e)if(n=this.b[e],!this.vl()||this.a.Xh(n))if(c=this.a.Nh(n,!1),yP(),CY(n,69).xk())for(i=0,a=(t=CY(c,160)).gc();i<a;++i)xn(t.Tl(i))&&null!=t.Ul(i)&&++r;else n.Jk()?r+=CY(c,16).gc():null!=c&&++r}return r},nPB.vl=function(){return!0},Nj(njv,"EContentsEList",496),ncm(1177,496,njH,Pg),nPB.sl=function(){return new Pv(this.a,this.b)},nPB.tl=function(){return new Pm(this.a,this.b)},nPB.vl=function(){return!1},Nj(nEL,"ENamedElementImpl/1",1177),ncm(287,1,njU,SG),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){throw(new dD).e},nPB.wl=function(n){if(0!=this.g||this.e)throw new px("Iterator already in use or already filtered").e;this.e=n},nPB.Ob=function(){var n,t,e,i,r,a;switch(this.g){case 3:case 2:return!0;case 1:return!1;case -3:this.p?this.p.Pb():++this.n;default:if(this.k&&(this.p?nr$(this,this.p):naZ(this)))return r=this.p?this.p.Pb():this.j?this.j.$i(this.n++):this.k.Xb(this.n++),this.f?((n=CY(r,76)).Lk(),e=n.md()):e=r,this.i=e,this.g=3,!0;for(;this.d<this.c.length;)if(t=this.c[this.d++],(!this.e||t.pk()!=nL1||0!=t.Lj())&&(!this.vl()||this.b.Xh(t))){if(a=this.b.Nh(t,this.ul()),this.f=(yP(),CY(t,69).xk()),this.f||t.Jk()){if(this.ul()?(i=CY(a,15),this.k=i):(i=CY(a,71),this.k=this.j=i),jM(this.k,59)?(this.p=null,this.o=this.k.gc(),this.n=0):this.p=this.j?this.j.Ji():this.k.ed(),this.p?nr$(this,this.p):naZ(this))return r=this.p?this.p.Pb():this.j?this.j.$i(this.n++):this.k.Xb(this.n++),this.f?((n=CY(r,76)).Lk(),e=n.md()):e=r,this.i=e,this.g=3,!0}else if(null!=a)return this.k=null,this.p=null,e=a,this.i=e,this.g=2,!0}return this.k=null,this.p=null,this.f=!1,this.g=1,!1}},nPB.Sb=function(){var n,t,e,i,r,a;switch(this.g){case -3:case -2:return!0;case -1:return!1;case 3:this.p?this.p.Ub():--this.n;default:if(this.k&&(this.p?nrD(this,this.p):nr7(this)))return r=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?((n=CY(r,76)).Lk(),e=n.md()):e=r,this.i=e,this.g=-3,!0;for(;this.d>0;)if(t=this.c[--this.d],(!this.e||t.pk()!=nL1||0!=t.Lj())&&(!this.vl()||this.b.Xh(t))){if(a=this.b.Nh(t,this.ul()),this.f=(yP(),CY(t,69).xk()),this.f||t.Jk()){if(this.ul()?(i=CY(a,15),this.k=i):(i=CY(a,71),this.k=this.j=i),jM(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?nrD(this,this.p):nr7(this))return r=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?((n=CY(r,76)).Lk(),e=n.md()):e=r,this.i=e,this.g=-3,!0}else if(null!=a)return this.k=null,this.p=null,e=a,this.i=e,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}},nPB.Pb=function(){return zD(this)},nPB.Tb=function(){return this.a},nPB.Ub=function(){var n;if(this.g<-1||this.Sb())return--this.a,this.g=0,n=this.i,this.Sb(),n;throw(new dF).e},nPB.Vb=function(){return this.a-1},nPB.Qb=function(){throw(new dD).e},nPB.ul=function(){return!1},nPB.Wb=function(n){throw(new dD).e},nPB.vl=function(){return!0},nPB.a=0,nPB.d=0,nPB.f=!1,nPB.g=0,nPB.n=0,nPB.o=0,Nj(njv,"EContentsEList/FeatureIteratorImpl",287),ncm(711,287,njU,Pp),nPB.ul=function(){return!0},Nj(njv,"EContentsEList/ResolvingFeatureIteratorImpl",711),ncm(1178,711,njU,Pm),nPB.vl=function(){return!1},Nj(nEL,"ENamedElementImpl/1/1",1178),ncm(1179,287,njU,Pv),nPB.vl=function(){return!1},Nj(nEL,"ENamedElementImpl/1/2",1179),ncm(39,152,njn,FL,FN,LM,Hh,Uh,_M,qo,R5,qu,R8,_E,R9,qf,R7,_T,Kn,qs,Kt,LE,Hf,$D,qh,Ke,_j,Ki),nPB.Kj=function(){return B9(this)},nPB.Rj=function(){var n;return(n=B9(this))?n.ik():null},nPB.hj=function(n){return -1==this.b&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,n)},nPB.jj=function(){return this.c},nPB.Sj=function(){var n;return!!(n=B9(this))&&n.tk()},nPB.b=-1,Nj(nEL,"ENotificationImpl",39),ncm(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},gx),nPB.Ah=function(n){return ner(this,n)},nPB.Lh=function(n,t,e){var i;switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),(i=this.t)>1||-1==i;case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q;case 10:return this.Db>>16==10?CY(this.Cb,29):null;case 11:return this.d||(this.d=new jV(n06,this,11)),this.d;case 12:return this.c||(this.c=new Lk(n03,this,12,10)),this.c;case 13:return this.a||(this.a=new P6(this,this)),this.a;case 14:return Ui(this)}return HE(this,n-N$((nlq(),n2k)),Gt(CY(zA(this,16),29)||n2k,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 10:return this.Cb&&(e=(i=this.Db>>16)>=0?ner(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,10,e);case 12:return this.c||(this.c=new Lk(n03,this,12,10)),YU(this.c,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2k),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2k)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 9:return Ns(this,e);case 10:return nsP(this,null,10,e);case 11:return this.d||(this.d=new jV(n06,this,11)),nnw(this.d,n,e);case 12:return this.c||(this.c=new Lk(n03,this,12,10)),nnw(this.c,n,e);case 14:return nnw(Ui(this),n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2k),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2k)),n,e)},nPB.Wh=function(n){var t;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(t=this.t)>1||-1==t;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i);case 10:return!!(this.Db>>16==10?CY(this.Cb,29):null);case 11:return!!this.d&&0!=this.d.i;case 12:return!!this.c&&0!=this.c.i;case 13:return!!this.a&&0!=Ui(this.a.a).i&&!(this.b&&nnU(this.b));case 14:return!!this.b&&nnU(this.b)}return Fr(this,n-N$((nlq(),n2k)),Gt(CY(zA(this,16),29)||n2k,n))},nPB.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:XC(this,PA(t));return;case 2:Q3(this,pT(PC(t)));return;case 3:Q5(this,pT(PC(t)));return;case 4:G6(this,CY(t,17).a);return;case 5:G5(this,CY(t,17).a);return;case 8:Qn(this,CY(t,142));return;case 9:(e=niM(this,CY(t,89),null))&&e.oj();return;case 11:this.d||(this.d=new jV(n06,this,11)),nft(this.d),this.d||(this.d=new jV(n06,this,11)),Nu(this.d,CY(t,16));return;case 12:this.c||(this.c=new Lk(n03,this,12,10)),nft(this.c),this.c||(this.c=new Lk(n03,this,12,10)),Nu(this.c,CY(t,16));return;case 13:this.a||(this.a=new P6(this,this)),nfa(this.a),this.a||(this.a=new P6(this,this)),Nu(this.a,CY(t,16));return;case 14:nft(Ui(this)),Nu(Ui(this),CY(t,16));return}J5(this,n-N$((nlq(),n2k)),Gt(CY(zA(this,16),29)||n2k,n),t)},nPB.ii=function(){return nlq(),n2k},nPB.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:XC(this,null);return;case 2:Q3(this,!0);return;case 3:Q5(this,!0);return;case 4:G6(this,0);return;case 5:G5(this,1);return;case 8:Qn(this,null);return;case 9:(t=niM(this,null,null))&&t.oj();return;case 11:this.d||(this.d=new jV(n06,this,11)),nft(this.d);return;case 12:this.c||(this.c=new Lk(n03,this,12,10)),nft(this.c);return;case 13:this.a&&nfa(this.a);return;case 14:this.b&&nft(this.b);return}QZ(this,n-N$((nlq(),n2k)),Gt(CY(zA(this,16),29)||n2k,n))},nPB.pi=function(){var n,t;if(this.c)for(n=0,t=this.c.i;n<t;++n)S4(GO(this.c,n));nec(this),this.Bb|=1},Nj(nEL,"EOperationImpl",411),ncm(513,756,njB,P6),nPB.qj=function(n,t){var e;e=CY(t,142),Jo(Ui(this.a),n,Rd(e))},nPB.rj=function(n){var t;t=CY(n,142),B7(Ui(this.a),Rd(t))},nPB.xj=function(n){return CY(GO(Ui(this.a),n),89).c||(nlq(),n2p)},nPB.Cj=function(n){return CY(no9(Ui(this.a),n),89).c||(nlq(),n2p)},nPB.Dj=function(n,t){var e,i,r;return e=CY(t,142),((r=(i=CY(GO(Ui(this.a),n),89)).c||(nlq(),n2p)).Vh()?Qk(this.b,CY(r,54)):r)==e?nsW(i):Gj(i,e),r},nPB.Li=function(){return!1},nPB.Ij=function(n,t,e,i,r){return null},nPB.sj=function(){return new w3(this)},nPB.tj=function(){nft(Ui(this.a))},nPB.uj=function(n){return Ja(this,n)},nPB.vj=function(n){var t;for(t=n.Kc();t.Ob();)if(!Ja(this,t.Pb()))return!1;return!0},nPB.wj=function(n){var t,e,i;if(jM(n,15)&&(i=CY(n,15)).gc()==Ui(this.a).i){for(t=i.Kc(),e=new j2(this);t.Ob();)if(ER(t.Pb())!==ER(Z6(e)))return!1;return!0}return!1},nPB.yj=function(){var n,t,e;for(t=1,n=new j2(Ui(this.a));n.e!=n.i.gc();)t=31*t+((e=CY(Z6(n),89).c||(nlq(),n2p))?XS(e):0);return t},nPB.zj=function(n){var t,e,i;for(i=0,e=new j2(Ui(this.a));e.e!=e.i.gc();){if(t=CY(Z6(e),89),ER(n)===ER(t.c||(nlq(),n2p)))return i;++i}return -1},nPB.Aj=function(){return 0==Ui(this.a).i},nPB.Bj=function(){return null},nPB.Ej=function(){return Ui(this.a).i},nPB.Fj=function(){var n,t,e,i;for(i=BJ(nPa,nl7,1,Ui(this.a).i,5,1),e=0,t=new j2(Ui(this.a));t.e!=t.i.gc();)n=CY(Z6(t),89),i[e++]=n.c||(nlq(),n2p);return i},nPB.Gj=function(n){var t,e,i,r;for(r=Ui(this.a).i,n.length<r&&(n=G7(WZ(n).c,r)),n.length>r&&NK(n,r,null),e=0,t=new j2(Ui(this.a));t.e!=t.i.gc();)i=CY(Z6(t),89).c||(nlq(),n2p),NK(n,e++,i);return n},nPB.Hj=function(){var n,t,e,i;for(i=new p1,i.a+="[",n=Ui(this.a),t=0,e=Ui(this.a).i;t<e;)EW(i,Sp(CY(GO(n,t),89).c||(nlq(),n2p))),++t<e&&(i.a+=nl8);return i.a+="]",i.a},nPB.Jj=function(n){},nPB.Lj=function(){return 13},nPB.kl=function(){return!0},nPB.Mj=function(){return!1},nPB.ll=function(){return!1},nPB.ml=function(){return!1},nPB.nl=function(){return!0},nPB.al=function(){return!1},nPB.ol=function(){return!0},nPB.fk=function(n){return jM(n,142)},nPB.Qj=function(){var n;return!!(n=this.a).a&&0!=Ui(n.a.a).i&&!(n.b&&nnU(n.b))},nPB.Si=function(){return!0},nPB.Yi=function(){return!0},Nj(nEL,"EOperationImpl/1",513),ncm(1376,2062,nbq,w3),nPB.fd=function(n){return qj(this.a,n)},nPB.gc=function(){return Ui(this.a.a).i},Nj(nEL,"EOperationImpl/1/1",1376),ncm(1377,555,njD,AU),nPB.Ti=function(n,t){var e;return e=CY(Jp(this,n,t),89),TN(this.e)&&dq(this,new Hf(this.a,7,(nlq(),n2M),Qx(t),e.c||n2p,n)),e},nPB.Uj=function(n,t){var e,i,r;return e=CY(n,89),i=t,r=new Uh(this.e,3,13,null,e.c||(nlq(),n2p),nnm(this,e),!1),i?i.nj(r):i=r,i},nPB.Vj=function(n,t){var e,i,r;return e=CY(n,89),i=t,r=new Uh(this.e,4,13,e.c||(nlq(),n2p),null,nnm(this,e),!1),i?i.nj(r):i=r,i},nPB.Wj=function(n,t,e){var i,r,a,c;return i=CY(n,89),r=CY(t,89),a=e,c=new Uh(this.e,1,13,i.c||(nlq(),n2p),r.c||(nlq(),n2p),nnm(this,i),!1),a?a.nj(c):a=c,a},nPB.Ij=function(n,t,e,i,r){switch(n){case 3:return Ri(this,n,t,e,i,this.i>1);case 5:return Ri(this,n,t,e,i,this.i-CY(e,15).gc()>0);default:return new Uh(this.e,n,this.c,t,e,i,!0)}},nPB.Tj=function(){return!0},nPB.Qj=function(){return nnU(this)},nPB.Gk=function(){nft(this)},Nj(nEL,"EOperationImpl/2",1377),ncm(507,1,{2037:1,507:1},EP),Nj(nEL,"EPackageImpl/1",507),ncm(14,83,njD,Lk),nPB.il=function(){return this.d},nPB.jl=function(){return this.b},nPB.ml=function(){return!0},nPB.b=0,Nj(njv,"EObjectContainmentWithInverseEList",14),ncm(365,14,njD,OS),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectContainmentWithInverseEList/Resolving",365),ncm(308,365,njD,LC),nPB.Ni=function(){this.a.tb=null},Nj(nEL,"EPackageImpl/2",308),ncm(1278,1,{},un),Nj(nEL,"EPackageImpl/3",1278),ncm(733,45,nw4,g$),nPB._b=function(n){return EK(n)?$G(this,n):!!Aj(this.f,n)},Nj(nEL,"EPackageRegistryImpl",733),ncm(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},gD),nPB.Ah=function(n){return nea(this,n)},nPB.Lh=function(n,t,e){var i;switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),(i=this.t)>1||-1==i;case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q;case 10:return this.Db>>16==10?CY(this.Cb,62):null}return HE(this,n-N$((nlq(),n2T)),Gt(CY(zA(this,16),29)||n2T,n),t,e)},nPB.Sh=function(n,t,e){var i;switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),YU(this.Ab,n,e);case 10:return this.Cb&&(e=(i=this.Db>>16)>=0?nea(this,e):this.Cb.Th(this,-1-i,null,e)),nsP(this,n,10,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2T),t),69).wk().zk(this,Zm(this),t-N$((nlq(),n2T)),n,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 9:return Ns(this,e);case 10:return nsP(this,null,10,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2T),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2T)),n,e)},nPB.Wh=function(n){var t;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(t=this.t)>1||-1==t;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i);case 10:return!!(this.Db>>16==10?CY(this.Cb,62):null)}return Fr(this,n-N$((nlq(),n2T)),Gt(CY(zA(this,16),29)||n2T,n))},nPB.ii=function(){return nlq(),n2T},Nj(nEL,"EParameterImpl",518),ncm(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},PF),nPB.Lh=function(n,t,e){var i,r;switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return SB(),(256&this.Bb)!=0;case 3:return SB(),(512&this.Bb)!=0;case 4:return Qx(this.s);case 5:return Qx(this.t);case 6:return SB(),(r=this.t)>1||-1==r;case 7:return SB(),this.s>=1;case 8:if(t)return nec(this);return this.r;case 9:return this.q;case 10:return SB(),(this.Bb&nbB)!=0;case 11:return SB(),(this.Bb&njT)!=0;case 12:return SB(),(this.Bb&nwB)!=0;case 13:return this.j;case 14:return nos(this);case 15:return SB(),(this.Bb&njE)!=0;case 16:return SB(),(this.Bb&nbk)!=0;case 17:return DW(this);case 18:return SB(),(this.Bb&nEI)!=0;case 19:return SB(),!!(i=nnD(this))&&(i.Bb&nEI)!=0;case 20:return SB(),(this.Bb&nwG)!=0;case 21:if(t)return nnD(this);return this.b;case 22:if(t)return VZ(this);return _x(this);case 23:return this.a||(this.a=new jJ(n0W,this,23)),this.a}return HE(this,n-N$((nlq(),n2j)),Gt(CY(zA(this,16),29)||n2j,n),t,e)},nPB.Wh=function(n){var t,e;switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return(256&this.Bb)==0;case 3:return(512&this.Bb)==0;case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(e=this.t)>1||-1==e;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==NW(this.q).i;case 9:return!!this.q&&!(this.r&&!this.q.e&&0==NW(this.q).i);case 10:return(this.Bb&nbB)==0;case 11:return(this.Bb&njT)!=0;case 12:return(this.Bb&nwB)!=0;case 13:return null!=this.j;case 14:return null!=nos(this);case 15:return(this.Bb&njE)!=0;case 16:return(this.Bb&nbk)!=0;case 17:return!!DW(this);case 18:return(this.Bb&nEI)!=0;case 19:return!!(t=nnD(this))&&(t.Bb&nEI)!=0;case 20:return(this.Bb&nwG)==0;case 21:return!!this.b;case 22:return!!_x(this);case 23:return!!this.a&&0!=this.a.i}return Fr(this,n-N$((nlq(),n2j)),Gt(CY(zA(this,16),29)||n2j,n))},nPB.bi=function(n,t){var e;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:Rb(this,PA(t));return;case 2:Q3(this,pT(PC(t)));return;case 3:Q5(this,pT(PC(t)));return;case 4:G6(this,CY(t,17).a);return;case 5:G5(this,CY(t,17).a);return;case 8:Qn(this,CY(t,142));return;case 9:(e=niM(this,CY(t,89),null))&&e.oj();return;case 10:Jv(this,pT(PC(t)));return;case 11:JM(this,pT(PC(t)));return;case 12:Jy(this,pT(PC(t)));return;case 13:EE(this,PA(t));return;case 15:Jk(this,pT(PC(t)));return;case 16:JD(this,pT(PC(t)));return;case 18:J$(this,pT(PC(t))),jM(this.Cb,90)&&nar(_v(CY(this.Cb,90)),2);return;case 20:JR(this,pT(PC(t)));return;case 21:Xr(this,CY(t,19));return;case 23:this.a||(this.a=new jJ(n0W,this,23)),nft(this.a),this.a||(this.a=new jJ(n0W,this,23)),Nu(this.a,CY(t,16));return}J5(this,n-N$((nlq(),n2j)),Gt(CY(zA(this,16),29)||n2j,n),t)},nPB.ii=function(){return nlq(),n2j},nPB.ki=function(n){var t;switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:jM(this.Cb,90)&&nar(_v(CY(this.Cb,90)),4),XC(this,null);return;case 2:Q3(this,!0);return;case 3:Q5(this,!0);return;case 4:G6(this,0);return;case 5:G5(this,1);return;case 8:Qn(this,null);return;case 9:(t=niM(this,null,null))&&t.oj();return;case 10:Jv(this,!0);return;case 11:JM(this,!1);return;case 12:Jy(this,!1);return;case 13:this.i=null,Xi(this,null);return;case 15:Jk(this,!1);return;case 16:JD(this,!1);return;case 18:J$(this,!1),jM(this.Cb,90)&&nar(_v(CY(this.Cb,90)),2);return;case 20:JR(this,!0);return;case 21:Xr(this,null);return;case 23:this.a||(this.a=new jJ(n0W,this,23)),nft(this.a);return}QZ(this,n-N$((nlq(),n2j)),Gt(CY(zA(this,16),29)||n2j,n))},nPB.pi=function(){VZ(this),xK(Ua((nrR(),n28),this)),nec(this),this.Bb|=1},nPB.uk=function(){return nnD(this)},nPB._k=function(){var n;return!!(n=nnD(this))&&(n.Bb&nEI)!=0},nPB.al=function(){return(this.Bb&nEI)!=0},nPB.bl=function(){return(this.Bb&nwG)!=0},nPB.Yk=function(n,t){return this.c=null,QX(this,n,t)},nPB.Ib=function(){var n;return(64&this.Db)!=0?nu$(this):(n=new Sm(nu$(this)),n.a+=" (containment: ",mL(n,(this.Bb&nEI)!=0),n.a+=", resolveProxies: ",mL(n,(this.Bb&nwG)!=0),n.a+=")",n.a)},Nj(nEL,"EReferenceImpl",102),ncm(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},ut),nPB.Fb=function(n){return this===n},nPB.ld=function(){return this.b},nPB.md=function(){return this.c},nPB.Hb=function(){return SK(this)},nPB.Di=function(n){var t;q4(this,null==(t=PA(n))?null:(xf(t),t))},nPB.nd=function(n){var t,e;return t=PA(n),e=this.c,q6(this,t),e},nPB.Lh=function(n,t,e){switch(n){case 0:return this.b;case 1:return this.c}return HE(this,n-N$((nlq(),n2S)),Gt(CY(zA(this,16),29)||n2S,n),t,e)},nPB.Wh=function(n){switch(n){case 0:return null!=this.b;case 1:return null!=this.c}return Fr(this,n-N$((nlq(),n2S)),Gt(CY(zA(this,16),29)||n2S,n))},nPB.bi=function(n,t){var e;switch(n){case 0:q4(this,null==(e=PA(t))?null:(xf(e),e));return;case 1:q6(this,PA(t));return}J5(this,n-N$((nlq(),n2S)),Gt(CY(zA(this,16),29)||n2S,n),t)},nPB.ii=function(){return nlq(),n2S},nPB.ki=function(n){switch(n){case 0:q4(this,null);return;case 1:q6(this,null);return}QZ(this,n-N$((nlq(),n2S)),Gt(CY(zA(this,16),29)||n2S,n))},nPB.Bi=function(){var n;return -1==this.a&&(n=this.b,this.a=null==n?0:Wb(n)),this.a},nPB.Ci=function(n){this.a=n},nPB.Ib=function(){var n;return(64&this.Db)!=0?ncG(this):(n=new Sm(ncG(this)),n.a+=" (key: ",EW(n,this.b),n.a+=", value: ",EW(n,this.c),n.a+=")",n.a)},nPB.a=-1,nPB.b=null,nPB.c=null;var n07=Nj(nEL,"EStringToStringMapEntryImpl",561),n2n=IH(njv,"FeatureMap/Entry/Internal");ncm(576,1,njG),nPB.xl=function(n){return this.yl(CY(n,54))},nPB.yl=function(n){return this.xl(n)},nPB.Fb=function(n){var t,e;return this===n||!!jM(n,76)&&(t=CY(n,76)).Lk()==this.c&&(null==(e=this.md())?null==t.md():QY(e,t.md()))},nPB.Lk=function(){return this.c},nPB.Hb=function(){var n;return n=this.md(),XS(this.c)^(null==n?0:XS(n))},nPB.Ib=function(){var n,t;return t=GT((n=this.c).qk()).yi(),n.xe(),(null!=t&&0!=t.length?t+":"+n.xe():n.xe())+"="+this.md()},Nj(nEL,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),ncm(791,576,njG,P8),nPB.yl=function(n){return new P8(this.c,n)},nPB.md=function(){return this.a},nPB.zl=function(n,t,e){var i,r,a;return i=this.a,r=e,i&&(a=Ym(n.Dh(),this.c),r=i.Rh(n,-1-(-1==a?t:a),null,r)),r},nPB.Al=function(n,t,e){var i,r,a;return i=this.a,r=e,i&&(a=Ym(n.Dh(),this.c),r=i.Th(n,-1-(-1==a?t:a),null,r)),r},Nj(nEL,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),ncm(1350,1,{},EO),nPB.yk=function(n,t,e,i,r){return CY(Hw(n,this.b),220).Yl(this.a).Fk(i)},nPB.zk=function(n,t,e,i,r){return CY(Hw(n,this.b),220).Pl(this.a,i,r)},nPB.Ak=function(n,t,e,i,r){return CY(Hw(n,this.b),220).Ql(this.a,i,r)},nPB.Bk=function(n,t,e){return CY(Hw(n,this.b),220).Yl(this.a).Qj()},nPB.Ck=function(n,t,e,i){CY(Hw(n,this.b),220).Yl(this.a).Wb(i)},nPB.Dk=function(n,t,e){return CY(Hw(n,this.b),220).Yl(this.a)},nPB.Ek=function(n,t,e){CY(Hw(n,this.b),220).Yl(this.a).Gk()},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),ncm(91,1,{},CN,$a,$0,F$),nPB.yk=function(n,t,e,i,r){var a;if(null==(a=t.li(e))&&t.mi(e,a=nlD(this,n)),!r)switch(this.e){case 50:case 41:return CY(a,597).bk();case 40:return CY(a,220).Vl()}return a},nPB.zk=function(n,t,e,i,r){var a;return null==(a=t.li(e))&&t.mi(e,a=nlD(this,n)),CY(a,71).Wk(i,r)},nPB.Ak=function(n,t,e,i,r){var a;return null!=(a=t.li(e))&&(r=CY(a,71).Xk(i,r)),r},nPB.Bk=function(n,t,e){var i;return null!=(i=t.li(e))&&CY(i,79).Qj()},nPB.Ck=function(n,t,e,i){var r;(r=CY(t.li(e),79))||t.mi(e,r=nlD(this,n)),r.Wb(i)},nPB.Dk=function(n,t,e){var i;return(null==(i=t.li(e))&&t.mi(e,i=nlD(this,n)),jM(i,79))?CY(i,79):new w4(CY(t.li(e),15))},nPB.Ek=function(n,t,e){var i;(i=CY(t.li(e),79))||t.mi(e,i=nlD(this,n)),i.Gk()},nPB.b=0,nPB.e=0,Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),ncm(512,1,{}),nPB.zk=function(n,t,e,i,r){throw(new dD).e},nPB.Ak=function(n,t,e,i,r){throw(new dD).e},nPB.Dk=function(n,t,e){return new $c(this,n,t,e)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),ncm(1367,1,njy,$c),nPB.Fk=function(n){return this.a.yk(this.c,this.d,this.b,n,!0)},nPB.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},nPB.Wb=function(n){this.a.Ck(this.c,this.d,this.b,n)},nPB.Gk=function(){this.a.Ek(this.c,this.d,this.b)},nPB.b=0,Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),ncm(784,512,{},Df),nPB.yk=function(n,t,e,i,r){return nst(n,n.Ph(),n.Fh())==this.b?this.bl()&&i?ncs(n):n.Ph():null},nPB.zk=function(n,t,e,i,r){var a,c;return n.Ph()&&(r=(a=n.Fh())>=0?n.Ah(r):n.Ph().Th(n,-1-a,null,r)),c=Ym(n.Dh(),this.e),n.Ch(i,c,r)},nPB.Ak=function(n,t,e,i,r){var a;return a=Ym(n.Dh(),this.e),n.Ch(null,a,r)},nPB.Bk=function(n,t,e){var i;return i=Ym(n.Dh(),this.e),!!n.Ph()&&n.Fh()==i},nPB.Ck=function(n,t,e,i){var r,a,c,o,u;if(null!=i&&!ns1(this.a,i))throw new pL(njq+(jM(i,58)?neQ(CY(i,58).Dh()):Gi(WZ(i)))+njX+this.a+"'").e;if(r=n.Ph(),c=Ym(n.Dh(),this.e),ER(i)!==ER(r)||n.Fh()!=c&&null!=i){if(nen(n,CY(i,58)))throw new pN(nEx+n.Ib()).e;u=null,r&&(u=(a=n.Fh())>=0?n.Ah(u):n.Ph().Th(n,-1-a,null,u)),(o=CY(i,54))&&(u=o.Rh(n,Ym(o.Dh(),this.b),null,u)),(u=n.Ch(o,c,u))&&u.oj()}else n.vh()&&n.wh()&&zP(n,new LM(n,1,c,i,i))},nPB.Ek=function(n,t,e){var i,r,a;n.Ph()?(a=(i=n.Fh())>=0?n.Ah(null):n.Ph().Th(n,-1-i,null,null),r=Ym(n.Dh(),this.e),(a=n.Ch(null,r,a))&&a.oj()):n.vh()&&n.wh()&&zP(n,new LE(n,1,this.e,null,null))},nPB.bl=function(){return!1},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),ncm(1351,784,{},Cx),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),ncm(574,512,{}),nPB.yk=function(n,t,e,i,r){var a;return null==(a=t.li(e))?this.b:ER(a)===ER(n2K)?null:a},nPB.Bk=function(n,t,e){var i;return null!=(i=t.li(e))&&(ER(i)===ER(n2K)||!QY(i,this.b))},nPB.Ck=function(n,t,e,i){var r,a;n.vh()&&n.wh()?(r=null==(a=t.li(e))?this.b:ER(a)===ER(n2K)?null:a,null==i?null!=this.c?(t.mi(e,null),i=this.b):null!=this.b?t.mi(e,n2K):t.mi(e,null):(this.Bl(i),t.mi(e,i)),zP(n,this.d.Cl(n,1,this.e,r,i))):null==i?null!=this.c?t.mi(e,null):null!=this.b?t.mi(e,n2K):t.mi(e,null):(this.Bl(i),t.mi(e,i))},nPB.Ek=function(n,t,e){var i,r;n.vh()&&n.wh()?(i=null==(r=t.li(e))?this.b:ER(r)===ER(n2K)?null:r,t.ni(e),zP(n,this.d.Cl(n,1,this.e,i,this.b))):t.ni(e)},nPB.Bl=function(n){throw(new dL).e},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),ncm(1352,1,{},ue),nPB.Cl=function(n,t,e,i,r){return new LE(n,t,e,i,r)},nPB.Dl=function(n,t,e,i,r,a){return new $D(n,t,e,i,r,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",1352),ncm(1368,1352,{},ui),nPB.Cl=function(n,t,e,i,r){return new _j(n,t,e,pT(PC(i)),pT(PC(r)))},nPB.Dl=function(n,t,e,i,r,a){return new Ki(n,t,e,pT(PC(i)),pT(PC(r)),a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),ncm(1369,1352,{},ur),nPB.Cl=function(n,t,e,i,r){return new qo(n,t,e,CY(i,222).a,CY(r,222).a)},nPB.Dl=function(n,t,e,i,r,a){return new R5(n,t,e,CY(i,222).a,CY(r,222).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),ncm(1370,1352,{},ua),nPB.Cl=function(n,t,e,i,r){return new qu(n,t,e,CY(i,180).a,CY(r,180).a)},nPB.Dl=function(n,t,e,i,r,a){return new R8(n,t,e,CY(i,180).a,CY(r,180).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),ncm(1371,1352,{},uc),nPB.Cl=function(n,t,e,i,r){return new _E(n,t,e,pj(PI(i)),pj(PI(r)))},nPB.Dl=function(n,t,e,i,r,a){return new R9(n,t,e,pj(PI(i)),pj(PI(r)),a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),ncm(1372,1352,{},uo),nPB.Cl=function(n,t,e,i,r){return new qf(n,t,e,CY(i,161).a,CY(r,161).a)},nPB.Dl=function(n,t,e,i,r,a){return new R7(n,t,e,CY(i,161).a,CY(r,161).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),ncm(1373,1352,{},uu),nPB.Cl=function(n,t,e,i,r){return new _T(n,t,e,CY(i,17).a,CY(r,17).a)},nPB.Dl=function(n,t,e,i,r,a){return new Kn(n,t,e,CY(i,17).a,CY(r,17).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),ncm(1374,1352,{},us),nPB.Cl=function(n,t,e,i,r){return new qs(n,t,e,CY(i,168).a,CY(r,168).a)},nPB.Dl=function(n,t,e,i,r,a){return new Kt(n,t,e,CY(i,168).a,CY(r,168).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),ncm(1375,1352,{},uh),nPB.Cl=function(n,t,e,i,r){return new qh(n,t,e,CY(i,191).a,CY(r,191).a)},nPB.Dl=function(n,t,e,i,r,a){return new Ke(n,t,e,CY(i,191).a,CY(r,191).a,a)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),ncm(1353,574,{},$o),nPB.Bl=function(n){if(!this.a.fk(n))throw new pL(njq+WZ(n)+njX+this.a+"'").e},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),ncm(1354,574,{},AG),nPB.Bl=function(n){},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),ncm(785,574,{}),nPB.Bk=function(n,t,e){return null!=t.li(e)},nPB.Ck=function(n,t,e,i){var r,a;n.vh()&&n.wh()?(r=!0,null==(a=t.li(e))?(r=!1,a=this.b):ER(a)===ER(n2K)&&(a=null),null==i?null!=this.c?(t.mi(e,null),i=this.b):t.mi(e,n2K):(this.Bl(i),t.mi(e,i)),zP(n,this.d.Dl(n,1,this.e,a,i,!r))):null==i?null!=this.c?t.mi(e,null):t.mi(e,n2K):(this.Bl(i),t.mi(e,i))},nPB.Ek=function(n,t,e){var i,r;n.vh()&&n.wh()?(i=!0,null==(r=t.li(e))?(i=!1,r=this.b):ER(r)===ER(n2K)&&(r=null),t.ni(e),zP(n,this.d.Dl(n,2,this.e,r,this.b,i))):t.ni(e)},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),ncm(1355,785,{},$u),nPB.Bl=function(n){if(!this.a.fk(n))throw new pL(njq+WZ(n)+njX+this.a+"'").e},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),ncm(1356,785,{},Aq),nPB.Bl=function(n){},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),ncm(410,512,{},Ag),nPB.yk=function(n,t,e,i,r){var a,c,o,u,s;if(s=t.li(e),this.tk()&&ER(s)===ER(n2K))return null;if(!this.bl()||!i||null==s)return s;if((o=CY(s,54)).Vh()&&(u=Qk(n,o),o!=u)){if(!ns1(this.a,u))throw new pL(njq+WZ(u)+njX+this.a+"'").e;t.mi(e,s=u),this.al()&&(a=CY(u,54),c=o.Th(n,this.b?Ym(o.Dh(),this.b):-1-Ym(n.Dh(),this.e),null,null),a.Ph()||(c=a.Rh(n,this.b?Ym(a.Dh(),this.b):-1-Ym(n.Dh(),this.e),null,c)),c&&c.oj()),n.vh()&&n.wh()&&zP(n,new LE(n,9,this.e,o,u))}return s},nPB.zk=function(n,t,e,i,r){var a,c;return ER(c=t.li(e))===ER(n2K)&&(c=null),t.mi(e,i),this.Mj()?ER(c)!==ER(i)&&null!=c&&(r=(a=CY(c,54)).Th(n,Ym(a.Dh(),this.b),null,r)):this.al()&&null!=c&&(r=CY(c,54).Th(n,-1-Ym(n.Dh(),this.e),null,r)),n.vh()&&n.wh()&&(r||(r=new mw(4)),r.nj(new LE(n,1,this.e,c,i))),r},nPB.Ak=function(n,t,e,i,r){var a;return ER(a=t.li(e))===ER(n2K)&&(a=null),t.ni(e),n.vh()&&n.wh()&&(r||(r=new mw(4)),this.tk()?r.nj(new LE(n,2,this.e,a,null)):r.nj(new LE(n,1,this.e,a,null))),r},nPB.Bk=function(n,t,e){return null!=t.li(e)},nPB.Ck=function(n,t,e,i){var r,a,c,o,u;if(null!=i&&!ns1(this.a,i))throw new pL(njq+(jM(i,58)?neQ(CY(i,58).Dh()):Gi(WZ(i)))+njX+this.a+"'").e;o=null!=(u=t.li(e)),this.tk()&&ER(u)===ER(n2K)&&(u=null),c=null,this.Mj()?ER(u)!==ER(i)&&(null!=u&&(c=(r=CY(u,54)).Th(n,Ym(r.Dh(),this.b),null,c)),null!=i&&(c=(r=CY(i,54)).Rh(n,Ym(r.Dh(),this.b),null,c))):this.al()&&ER(u)!==ER(i)&&(null!=u&&(c=CY(u,54).Th(n,-1-Ym(n.Dh(),this.e),null,c)),null!=i&&(c=CY(i,54).Rh(n,-1-Ym(n.Dh(),this.e),null,c))),null==i&&this.tk()?t.mi(e,n2K):t.mi(e,i),n.vh()&&n.wh()?(a=new $D(n,1,this.e,u,i,this.tk()&&!o),c?(c.nj(a),c.oj()):zP(n,a)):c&&c.oj()},nPB.Ek=function(n,t,e){var i,r,a,c,o;c=null!=(o=t.li(e)),this.tk()&&ER(o)===ER(n2K)&&(o=null),a=null,null!=o&&(this.Mj()?a=(i=CY(o,54)).Th(n,Ym(i.Dh(),this.b),null,a):this.al()&&(a=CY(o,54).Th(n,-1-Ym(n.Dh(),this.e),null,a))),t.ni(e),n.vh()&&n.wh()?(r=new $D(n,this.tk()?2:1,this.e,o,null,c),a?(a.nj(r),a.oj()):zP(n,r)):a&&a.oj()},nPB.Mj=function(){return!1},nPB.al=function(){return!1},nPB.bl=function(){return!1},nPB.tk=function(){return!1},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),ncm(575,410,{},Pk),nPB.al=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),ncm(1359,575,{},PM),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),ncm(787,575,{},PE),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),ncm(1361,787,{},Pj),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),ncm(650,575,{},C$),nPB.Mj=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),ncm(1360,650,{},CK),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),ncm(788,650,{},CF),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),ncm(1362,788,{},C_),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),ncm(651,410,{},PT),nPB.bl=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),ncm(1363,651,{},PS),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),ncm(789,651,{},CD),nPB.Mj=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),ncm(1364,789,{},CB),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),ncm(1357,410,{},PP),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),ncm(786,410,{},CR),nPB.Mj=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),ncm(1358,786,{},CH),nPB.tk=function(){return!0},Nj(nEL,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),ncm(790,576,njG,NY),nPB.yl=function(n){return new NY(this.a,this.c,n)},nPB.md=function(){return this.b},nPB.zl=function(n,t,e){var i,r;return i=this.b,r=e,i&&(r=i.Rh(n,Ym(i.Dh(),this.c.uk()),null,r)),r},nPB.Al=function(n,t,e){var i,r;return i=this.b,r=e,i&&(r=i.Th(n,Ym(i.Dh(),this.c.uk()),null,r)),r},Nj(nEL,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),ncm(1365,1,njy,w4),nPB.Fk=function(n){return this.a},nPB.Qj=function(){return jM(this.a,97)?CY(this.a,97).Qj():!this.a.dc()},nPB.Wb=function(n){this.a.$b(),this.a.Gc(CY(n,15))},nPB.Gk=function(){jM(this.a,97)?CY(this.a,97).Gk():this.a.$b()},Nj(nEL,"EStructuralFeatureImpl/SettingMany",1365),ncm(1366,576,njG,FK),nPB.xl=function(n){return new P9((nfl(),n3$),this.b.ri(this.a,n))},nPB.md=function(){return null},nPB.zl=function(n,t,e){return e},nPB.Al=function(n,t,e){return e},Nj(nEL,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),ncm(652,576,njG,P9),nPB.xl=function(n){return new P9(this.c,n)},nPB.md=function(){return this.a},nPB.zl=function(n,t,e){return e},nPB.Al=function(n,t,e){return e},Nj(nEL,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),ncm(403,506,nTv,uf),nPB.aj=function(n){return BJ(n0J,nl7,29,n,0,1)},nPB.Yi=function(){return!1},Nj(nEL,"ESuperAdapter/1",403),ncm(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},ul),nPB.Lh=function(n,t,e){switch(n){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.a||(this.a=new Ap(this,n00,this)),this.a}return HE(this,n-N$((nlq(),n2C)),Gt(CY(zA(this,16),29)||n2C,n),t,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nnw(this.Ab,n,e);case 2:return this.a||(this.a=new Ap(this,n00,this)),nnw(this.a,n,e)}return CY(Gt(CY(zA(this,16),29)||(nlq(),n2C),t),69).wk().Ak(this,Zm(this),t-N$((nlq(),n2C)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!!this.a&&0!=this.a.i}return Fr(this,n-N$((nlq(),n2C)),Gt(CY(zA(this,16),29)||n2C,n))},nPB.bi=function(n,t){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab),this.Ab||(this.Ab=new Lk(n0X,this,0,3)),Nu(this.Ab,CY(t,16));return;case 1:XC(this,PA(t));return;case 2:this.a||(this.a=new Ap(this,n00,this)),nft(this.a),this.a||(this.a=new Ap(this,n00,this)),Nu(this.a,CY(t,16));return}J5(this,n-N$((nlq(),n2C)),Gt(CY(zA(this,16),29)||n2C,n),t)},nPB.ii=function(){return nlq(),n2C},nPB.ki=function(n){switch(n){case 0:this.Ab||(this.Ab=new Lk(n0X,this,0,3)),nft(this.Ab);return;case 1:XC(this,null);return;case 2:this.a||(this.a=new Ap(this,n00,this)),nft(this.a);return}QZ(this,n-N$((nlq(),n2C)),Gt(CY(zA(this,16),29)||n2C,n))},Nj(nEL,"ETypeParameterImpl",457),ncm(458,83,njD,Ap),nPB.Nj=function(n,t){return function(n,t,e){var i,r;for(e=nnu(t,n.e,-1-n.c,e),r=new w9(new zM(new fP(xl(n.a).a).a));r.a.b;)e=nfH(i=CY(Xu(r.a).ld(),89),non(i,n.a),e);return e}(this,CY(n,89),t)},nPB.Oj=function(n,t){return function(n,t,e){var i,r;for(e=Da(t,n.e,-1-n.c,e),r=new w9(new zM(new fP(xl(n.a).a).a));r.a.b;)e=nfH(i=CY(Xu(r.a).ld(),89),non(i,n.a),e);return e}(this,CY(n,89),t)},Nj(nEL,"ETypeParameterImpl/1",458),ncm(647,45,nw4,gR),nPB.ec=function(){return new w8(this)},Nj(nEL,"ETypeParameterImpl/2",647),ncm(570,2063,nbl,w8),nPB.Fc=function(n){return OE(this,CY(n,89))},nPB.Gc=function(n){var t,e,i;for(i=!1,e=n.Kc();e.Ob();)t=CY(e.Pb(),89),null==xM(this.a,t,"")&&(i=!0);return i},nPB.$b=function(){LH(this.a)},nPB.Hc=function(n){return LR(this.a,n)},nPB.Kc=function(){return new w9(new zM(new fP(this.a).a))},nPB.Mc=function(n){return Bi(this,n)},nPB.gc=function(){return v_(this.a)},Nj(nEL,"ETypeParameterImpl/2/1",570),ncm(571,1,nbu,w9),nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){return CY(Xu(this.a).ld(),89)},nPB.Ob=function(){return this.a.b},nPB.Qb=function(){Ue(this.a)},Nj(nEL,"ETypeParameterImpl/2/1/1",571),ncm(1329,45,nw4,gK),nPB._b=function(n){return EK(n)?$G(this,n):!!Aj(this.f,n)},nPB.xc=function(n){var t;return jM(t=EK(n)?Db(this,n):ED(Aj(this.f,n)),851)?(t=CY(t,851).Kk(),xM(this,CY(n,241),t),t):null!=t?t:null==n?(yS(),n3t):null},Nj(nEL,"EValidatorRegistryImpl",1329),ncm(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},ub),nPB.ri=function(n,t){var e,i,r;switch(n.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 null==t?null:J2(t);case 25:return null==t?null:function(n,t){var e,i,r,a,c;if(null==n)return null;for(i=0,c=BJ(n4u,nb5,28,2*t,15,1),r=0;i<t;++i)e=n[i]>>4&15,a=15&n[i],c[r++]=n0l[e],c[r++]=n0l[a];return Za(c,0,c.length)}(e=CY(t,195),e.length);case 27:case 28:return jM(t,180)?""+CY(t,180).a:null==t?null:J2(t);case 29:return null==t?null:(i=n0f[0],r=CY(t,206),nfF(i.a,r,null));case 41:return null==t?"":mI(CY(t,297));case 42:return J2(t);case 50:return PA(t);default:throw new pN(nE$+n.xe()+nED).e}},nPB.si=function(n){var t;switch(-1==n.G&&(n.G=(t=GT(n))?nnm(t.vi(),n):-1),n.G){case 0:return new gA;case 1:return new o2;case 2:return new hH;case 4:return new dH;case 5:return new gN;case 6:return new dB;case 7:return new hU;case 10:return new o1;case 11:return new gx;case 12:return new $T;case 13:return new gD;case 14:return new PF;case 17:return new ut;case 18:return new df;case 19:return new ul;default:throw new pN(nEF+n.zb+nED).e}},nPB.ti=function(n,t){var e,i,r,a,c;switch(n.hk()){case 20:return null==t?null:new mW(t);case 21:return null==t?null:new TV(t);case 23:case 22:return null==t?null:function(n){if(ZM(nMC,n))return SB(),nOu;if(ZM(nMI,n))return SB(),nOo;throw new pN("Expecting true or false").e}(t);case 26:case 24:return null==t?null:Ub(nsE(t,-128,127)<<24>>24);case 25:return function(n){var t,e,i,r,a,c,o;if(null==n)return null;for(c=BJ(n4l,nEK,28,r=((o=n.length)+1)/2|0,15,1),o%2!=0&&(c[--r]=nuv((Rx(o-1,n.length),n.charCodeAt(o-1)))),e=0,i=0;e<r;++e)t=nuv(xq(n,i++)),a=nuv(xq(n,i++)),c[e]=(t<<4|a)<<24>>24;return c}(t);case 27:if(null==t)return null;e=0;try{e=nsE(t,nbJ,nl3)&nb9}catch(n){if(jM(n=Vt(n),130))e=Ul(t)[0];else throw n.e}return z_(e);case 28:if(null==t)return null;i=0;try{i=nsE(t,nbJ,nl3)&nb9}catch(n){if(jM(n=Vt(n),130))i=Ul(t)[0];else throw n.e}return z_(i);case 29:if(null==t)return null;for(a=0,r=null;a<n0f.length;++a)try{return c=n0f[a],ntJ(c.a,t)}catch(n){if(jM(n=Vt(n),33))r=n;else throw n.e}throw new H7(r).e;case 32:case 31:return null==t?null:ni7(t);case 38:case 37:return null==t?null:new dz(t);case 40:case 39:return null==t?null:Qx(nsE(t,nbJ,nl3));case 41:case 42:return null;case 44:case 43:return null==t?null:ZE(nln(t));case 49:case 48:return null==t?null:Q$(nsE(t,-32768,32767)<<16>>16);case 50:return t;default:throw new pN(nE$+n.xe()+nED).e}},Nj(nEL,"EcoreFactoryImpl",1349),ncm(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},xv),nPB.gb=!1,nPB.hb=!1;var n2t,n2e,n2i,n2r,n2a,n2c,n2o,n2u,n2s,n2h,n2f,n2l,n2b,n2w,n2d,n2g,n2p,n2m,n2v,n2y,n2k,n2M,n2E,n2T,n2j,n2S,n2P,n2O,n2C,n2I,n2A,n2L,n2N,n2x,n2$,n2D,n2R,n2K,n2F,n2_,n2B,n2H,n2U,n2G,n2q,n2X,n2z,n2V,n2W=!1;Nj(nEL,"EcorePackageImpl",560),ncm(1234,1,{851:1},uw),nPB.Kk=function(){return j7(),n3e},Nj(nEL,"EcorePackageImpl/1",1234),ncm(1243,1,nj5,ud),nPB.fk=function(n){return jM(n,155)},nPB.gk=function(n){return BJ(nL8,nl7,155,n,0,1)},Nj(nEL,"EcorePackageImpl/10",1243),ncm(1244,1,nj5,ug),nPB.fk=function(n){return jM(n,197)},nPB.gk=function(n){return BJ(nL7,nl7,197,n,0,1)},Nj(nEL,"EcorePackageImpl/11",1244),ncm(1245,1,nj5,up),nPB.fk=function(n){return jM(n,58)},nPB.gk=function(n){return BJ(nLZ,nl7,58,n,0,1)},Nj(nEL,"EcorePackageImpl/12",1245),ncm(1246,1,nj5,um),nPB.fk=function(n){return jM(n,411)},nPB.gk=function(n){return BJ(n02,njx,62,n,0,1)},Nj(nEL,"EcorePackageImpl/13",1246),ncm(1247,1,nj5,uv),nPB.fk=function(n){return jM(n,241)},nPB.gk=function(n){return BJ(nNn,nl7,241,n,0,1)},Nj(nEL,"EcorePackageImpl/14",1247),ncm(1248,1,nj5,uy),nPB.fk=function(n){return jM(n,518)},nPB.gk=function(n){return BJ(n03,nl7,2116,n,0,1)},Nj(nEL,"EcorePackageImpl/15",1248),ncm(1249,1,nj5,uk),nPB.fk=function(n){return jM(n,102)},nPB.gk=function(n){return BJ(n04,njN,19,n,0,1)},Nj(nEL,"EcorePackageImpl/16",1249),ncm(1250,1,nj5,uM),nPB.fk=function(n){return jM(n,179)},nPB.gk=function(n){return BJ(n0V,njN,179,n,0,1)},Nj(nEL,"EcorePackageImpl/17",1250),ncm(1251,1,nj5,uE),nPB.fk=function(n){return jM(n,481)},nPB.gk=function(n){return BJ(n0z,nl7,481,n,0,1)},Nj(nEL,"EcorePackageImpl/18",1251),ncm(1252,1,nj5,uT),nPB.fk=function(n){return jM(n,561)},nPB.gk=function(n){return BJ(n07,nja,561,n,0,1)},Nj(nEL,"EcorePackageImpl/19",1252),ncm(1235,1,nj5,uj),nPB.fk=function(n){return jM(n,331)},nPB.gk=function(n){return BJ(n0W,njN,35,n,0,1)},Nj(nEL,"EcorePackageImpl/2",1235),ncm(1253,1,nj5,uS),nPB.fk=function(n){return jM(n,248)},nPB.gk=function(n){return BJ(n00,nj_,89,n,0,1)},Nj(nEL,"EcorePackageImpl/20",1253),ncm(1254,1,nj5,uP),nPB.fk=function(n){return jM(n,457)},nPB.gk=function(n){return BJ(n06,nl7,850,n,0,1)},Nj(nEL,"EcorePackageImpl/21",1254),ncm(1255,1,nj5,uO),nPB.fk=function(n){return EF(n)},nPB.gk=function(n){return BJ(nPE,nby,485,n,8,1)},Nj(nEL,"EcorePackageImpl/22",1255),ncm(1256,1,nj5,uC),nPB.fk=function(n){return jM(n,195)},nPB.gk=function(n){return BJ(n4l,nby,195,n,0,2)},Nj(nEL,"EcorePackageImpl/23",1256),ncm(1257,1,nj5,uI),nPB.fk=function(n){return jM(n,222)},nPB.gk=function(n){return BJ(nPT,nby,222,n,0,1)},Nj(nEL,"EcorePackageImpl/24",1257),ncm(1258,1,nj5,uA),nPB.fk=function(n){return jM(n,180)},nPB.gk=function(n){return BJ(nPj,nby,180,n,0,1)},Nj(nEL,"EcorePackageImpl/25",1258),ncm(1259,1,nj5,uL),nPB.fk=function(n){return jM(n,206)},nPB.gk=function(n){return BJ(nPM,nby,206,n,0,1)},Nj(nEL,"EcorePackageImpl/26",1259),ncm(1260,1,nj5,uN),nPB.fk=function(n){return!1},nPB.gk=function(n){return BJ(n4p,nl7,2215,n,0,1)},Nj(nEL,"EcorePackageImpl/27",1260),ncm(1261,1,nj5,ux),nPB.fk=function(n){return E_(n)},nPB.gk=function(n){return BJ(nPS,nby,345,n,7,1)},Nj(nEL,"EcorePackageImpl/28",1261),ncm(1262,1,nj5,u$),nPB.fk=function(n){return jM(n,61)},nPB.gk=function(n){return BJ(nNu,ngF,61,n,0,1)},Nj(nEL,"EcorePackageImpl/29",1262),ncm(1236,1,nj5,uD),nPB.fk=function(n){return jM(n,519)},nPB.gk=function(n){return BJ(n0X,{3:1,4:1,5:1,2033:1},598,n,0,1)},Nj(nEL,"EcorePackageImpl/3",1236),ncm(1263,1,nj5,uR),nPB.fk=function(n){return jM(n,582)},nPB.gk=function(n){return BJ(nNd,nl7,2039,n,0,1)},Nj(nEL,"EcorePackageImpl/30",1263),ncm(1264,1,nj5,uK),nPB.fk=function(n){return jM(n,160)},nPB.gk=function(n){return BJ(n2J,ngF,160,n,0,1)},Nj(nEL,"EcorePackageImpl/31",1264),ncm(1265,1,nj5,uF),nPB.fk=function(n){return jM(n,76)},nPB.gk=function(n){return BJ(n08,nj8,76,n,0,1)},Nj(nEL,"EcorePackageImpl/32",1265),ncm(1266,1,nj5,u_),nPB.fk=function(n){return jM(n,161)},nPB.gk=function(n){return BJ(nPP,nby,161,n,0,1)},Nj(nEL,"EcorePackageImpl/33",1266),ncm(1267,1,nj5,uB),nPB.fk=function(n){return jM(n,17)},nPB.gk=function(n){return BJ(nPO,nby,17,n,0,1)},Nj(nEL,"EcorePackageImpl/34",1267),ncm(1268,1,nj5,uH),nPB.fk=function(n){return jM(n,297)},nPB.gk=function(n){return BJ(nPc,nl7,297,n,0,1)},Nj(nEL,"EcorePackageImpl/35",1268),ncm(1269,1,nj5,uU),nPB.fk=function(n){return jM(n,168)},nPB.gk=function(n){return BJ(nPC,nby,168,n,0,1)},Nj(nEL,"EcorePackageImpl/36",1269),ncm(1270,1,nj5,uG),nPB.fk=function(n){return jM(n,85)},nPB.gk=function(n){return BJ(nPu,nl7,85,n,0,1)},Nj(nEL,"EcorePackageImpl/37",1270),ncm(1271,1,nj5,uq),nPB.fk=function(n){return jM(n,599)},nPB.gk=function(n){return BJ(n2Q,nl7,599,n,0,1)},Nj(nEL,"EcorePackageImpl/38",1271),ncm(1272,1,nj5,uX),nPB.fk=function(n){return!1},nPB.gk=function(n){return BJ(n4m,nl7,2216,n,0,1)},Nj(nEL,"EcorePackageImpl/39",1272),ncm(1237,1,nj5,uz),nPB.fk=function(n){return jM(n,90)},nPB.gk=function(n){return BJ(n0J,nl7,29,n,0,1)},Nj(nEL,"EcorePackageImpl/4",1237),ncm(1273,1,nj5,uV),nPB.fk=function(n){return jM(n,191)},nPB.gk=function(n){return BJ(nPI,nby,191,n,0,1)},Nj(nEL,"EcorePackageImpl/40",1273),ncm(1274,1,nj5,uW),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nEL,"EcorePackageImpl/41",1274),ncm(1275,1,nj5,uQ),nPB.fk=function(n){return jM(n,596)},nPB.gk=function(n){return BJ(nNh,nl7,596,n,0,1)},Nj(nEL,"EcorePackageImpl/42",1275),ncm(1276,1,nj5,uJ),nPB.fk=function(n){return!1},nPB.gk=function(n){return BJ(n4v,nby,2217,n,0,1)},Nj(nEL,"EcorePackageImpl/43",1276),ncm(1277,1,nj5,uY),nPB.fk=function(n){return jM(n,44)},nPB.gk=function(n){return BJ(nPl,nbL,44,n,0,1)},Nj(nEL,"EcorePackageImpl/44",1277),ncm(1238,1,nj5,uZ),nPB.fk=function(n){return jM(n,142)},nPB.gk=function(n){return BJ(n0Q,nl7,142,n,0,1)},Nj(nEL,"EcorePackageImpl/5",1238),ncm(1239,1,nj5,u1),nPB.fk=function(n){return jM(n,156)},nPB.gk=function(n){return BJ(n0Y,nl7,156,n,0,1)},Nj(nEL,"EcorePackageImpl/6",1239),ncm(1240,1,nj5,u0),nPB.fk=function(n){return jM(n,469)},nPB.gk=function(n){return BJ(n0Z,nl7,685,n,0,1)},Nj(nEL,"EcorePackageImpl/7",1240),ncm(1241,1,nj5,u2),nPB.fk=function(n){return jM(n,582)},nPB.gk=function(n){return BJ(n01,nl7,694,n,0,1)},Nj(nEL,"EcorePackageImpl/8",1241),ncm(1242,1,nj5,u3),nPB.fk=function(n){return jM(n,480)},nPB.gk=function(n){return BJ(nL9,nl7,480,n,0,1)},Nj(nEL,"EcorePackageImpl/9",1242),ncm(1038,2080,nji,pM),nPB.Mi=function(n,t){!function(n,t){var e,i,r;if(t.ej(n.a),null!=(r=CY(zA(n.a,8),2035)))for(e=0,i=r.length;e<i;++e)null.Um()}(this,CY(t,424))},nPB.Qi=function(n,t){nr2(this,n,CY(t,424))},Nj(nEL,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),ncm(1039,152,njn,NZ),nPB.jj=function(){return this.a.a},Nj(nEL,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),ncm(1067,1066,{},T7),Nj("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var n2Q=IH(nj9,"Resource");ncm(799,1524,nj7),nPB.Hl=function(n){},nPB.Il=function(n){},nPB.El=function(){return this.a||(this.a=new w7(this)),this.a},nPB.Fl=function(n){var t,e,i,r,a;if((i=n.length)>0){if(Rx(0,n.length),47==n.charCodeAt(0)){for(t=1,a=new Bf(4),r=1;t<i;++t)Rx(t,n.length),47==n.charCodeAt(t)&&(jB(a,r==t?"":(B2(r,t,n.length),n.substr(r,t-r))),r=t+1);return jB(a,(Rx(r,n.length+1),n.substr(r))),function(n,t){var e,i,r;for(i=1,e=function(n,t){var e,i;if(i=0,t.length>0)try{i=nsE(t,nbJ,nl3)}catch(n){if(jM(n=Vt(n),130))throw new H7(n).e;throw n.e}return n.a||(n.a=new w7(n)),i<(e=n.a).i&&i>=0?CY(GO(e,i),58):null}(n,0==(r=t.c.length)?"":(RN(0,t.c.length),PA(t.c[0])));i<r&&e;++i)e=CY(e,54).Zh((RN(i,t.c.length),PA(t.c[i])));return e}(this,a)}Rx(i-1,n.length),63==n.charCodeAt(i-1)&&(e=OU(n,niT(63),i-2))>0&&(B2(0,e,n.length),n=n.substr(0,e))}return function(n,t){var e,i,r,a,c,o;for(a=null,r=new Lj((!n.a&&(n.a=new w7(n)),n.a));naX(r);)if(nhx(c=(e=CY(nc0(r),58)).Dh()),null!=(i=(o=c.o)&&e.Xh(o)?OK(z9(o),e.Mh(o)):null)&&OB(i,t)){a=e;break}return a}(this,n)},nPB.Gl=function(){return this.c},nPB.Ib=function(){return mI(this.Rm)+"@"+(XS(this)>>>0).toString(16)+" uri='"+this.d+"'"},nPB.b=!1,Nj(nSn,"ResourceImpl",799),ncm(1525,799,nj7,dn),Nj(nSn,"BinaryResourceImpl",1525),ncm(1190,708,nTy),nPB.bj=function(n){var t;return jM(n,58)?(t=CY(n,58),this.a?t.Gh().Kc():CY(t.Gh(),71).Ii()):jM(n,599)?new j2(CY(n,599).El()):ER(n)===ER(this.f)?CY(n,16).Kc():(PR(),n0O.a)},nPB.Ob=function(){return naX(this)},nPB.a=!1,Nj(njv,"EcoreUtil/ContentTreeIterator",1190),ncm(1526,1190,nTy,Lj),nPB.bj=function(n){return ER(n)===ER(this.f)?CY(n,15).Kc():new K4(CY(n,58))},Nj(nSn,"ResourceImpl/5",1526),ncm(658,2092,nj$,w7),nPB.Hc=function(n){return this.i<=4?neO(this,n):jM(n,54)&&CY(n,54).Jh()==this.a},nPB.Mi=function(n,t){n==this.i-1&&(this.a.b||(this.a.b=!0))},nPB.Oi=function(n,t){0==n?this.a.b||(this.a.b=!0):BY(this,n,t)},nPB.Qi=function(n,t){},nPB.Ri=function(n,t,e){},nPB.Lj=function(){return 2},nPB.jj=function(){return this.a},nPB.Mj=function(){return!0},nPB.Nj=function(n,t){return CY(n,54).fi(this.a,t)},nPB.Oj=function(n,t){return CY(n,54).fi(null,t)},nPB.Pj=function(){return!1},nPB.Si=function(){return!0},nPB.aj=function(n){return BJ(nLZ,nl7,58,n,0,1)},nPB.Yi=function(){return!1},Nj(nSn,"ResourceImpl/ContentsEList",658),ncm(970,2062,nbq,dt),nPB.fd=function(n){return this.a.Ki(n)},nPB.gc=function(){return this.a.gc()},Nj(njv,"AbstractSequentialInternalEList/1",970),ncm(634,1,{},Ib),Nj(njv,"BasicExtendedMetaData",634),ncm(1181,1,{},EI),nPB.Jl=function(){return null},nPB.Kl=function(){return -2==this.a&&(this.a=function(n,t){var e,i,r;if((e=t.qi(n.a))&&null!=(r=YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),njF))){for(i=1;i<(nrR(),n26).length;++i)if(OB(n26[i],r))return i}return 0}(this.d,this.b)),this.a},nPB.Ll=function(){return null},nPB.Ml=function(){return $O(),$O(),nO_},nPB.xe=function(){return this.c==nSd&&(this.c=ZI(this.d,this.b)),this.c},nPB.Nl=function(){return 0},nPB.a=-2,nPB.c=nSd,Nj(njv,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),ncm(1182,1,{},Ka),nPB.Jl=function(){return this.a==(Bu(),n27)&&(this.a=function(n,t){var e,i,r,a,c,o;if((i=t.qi(n.a))&&(i.b||(i.b=new Pd((nlq(),n2S),n07,i)),null!=(e=PA(YH(i.b,njW))))&&jM(a=-1==(r=e.lastIndexOf("#"))?(c=t.jk(),o=e,nhZ(Ur(n,c),o)):0==r?Hb(n,null,(Rx(1,e.length+1),e.substr(1))):Hb(n,(B2(0,r,e.length),e.substr(0,r)),(Rx(r+1,e.length+1),e.substr(r+1))),156))return CY(a,156);return null}(this.f,this.b)),this.a},nPB.Kl=function(){return 0},nPB.Ll=function(){return this.c==(Bu(),n27)&&(this.c=function(n,t){var e,i,r,a,c,o;if((e=t.qi(n.a))&&(e.b||(e.b=new Pd((nlq(),n2S),n07,e)),null!=(r=PA(YH(e.b,nSu))))&&jM(a=-1==(i=r.lastIndexOf("#"))?(c=t.jk(),o=r,nhZ(Ur(n,c),o)):0==i?Hb(n,null,(Rx(1,r.length+1),r.substr(1))):Hb(n,(B2(0,i,r.length),r.substr(0,i)),(Rx(i+1,r.length+1),r.substr(i+1))),156))return CY(a,156);return null}(this.f,this.b)),this.c},nPB.Ml=function(){return this.d||(this.d=function(n,t){var e,i,r,a,c,o,u,s,h,f;if((e=t.qi(n.a))&&null!=(u=PA(YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),"memberTypes")))){for(s=new du,a=ns7(u,"\\w"),c=0,o=a.length;c<o;++c)jM(h=-1==(i=(r=a[c]).lastIndexOf("#"))?(f=t.jk(),nhZ(Ur(n,f),r)):0==i?Hb(n,null,(Rx(1,r.length+1),r.substr(1))):Hb(n,(B2(0,i,r.length),r.substr(0,i)),(Rx(i+1,r.length+1),r.substr(i+1))),156)&&jB(s,CY(h,156));return s}return $O(),$O(),nO_}(this.f,this.b)),this.d},nPB.xe=function(){return this.e==nSd&&(this.e=ZI(this.f,this.b)),this.e},nPB.Nl=function(){return -2==this.g&&(this.g=function(n,t){var e,i,r;if(e=t.qi(n.a)){for(i=1,r=PA(YH((e.b||(e.b=new Pd((nlq(),n2S),n07,e)),e.b),nSf));i<(nrR(),n29).length;++i)if(OB(n29[i],r))return i}return 0}(this.f,this.b)),this.g},nPB.e=nSd,nPB.g=-2,Nj(njv,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),ncm(1180,1,{},EA),nPB.b=!1,nPB.c=!1,Nj(njv,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),ncm(1183,1,{},Kc),nPB.c=-2,nPB.e=nSd,nPB.f=nSd,Nj(njv,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),ncm(593,632,njD,If),nPB.Lj=function(){return this.c},nPB.ol=function(){return!1},nPB.Wi=function(n,t){return t},nPB.c=0,Nj(njv,"EDataTypeEList",593);var n2J=IH(njv,"FeatureMap");ncm(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},zE),nPB.bd=function(n,t){!function(n,t,e){var i,r,a,c,o;if(r=e.Lk(),noz(n.e,r)){if(r.Si()){for(a=0,i=CY(n.g,124);a<n.i;++a)if(QY(c=i[a],e)&&a!=t)throw new pN(nTd).e}}else for(a=0,o=nox(n.e.Dh(),r),i=CY(n.g,124);a<n.i;++a)if(c=i[a],o.am(c.Lk()))throw new pN(nSg).e;Jo(n,t,e)}(this,n,CY(t,76))},nPB.Fc=function(n){return function(n,t){var e,i,r,a,c;if(i=t.Lk(),noz(n.e,i)){if(i.Si()&&FE(n,i,t.md()))return!1}else for(r=0,c=nox(n.e.Dh(),i),e=CY(n.g,124);r<n.i;++r)if(a=e[r],c.am(a.Lk()))if(QY(a,t))return!1;else return CY(nnv(n,r,t),76),!0;return B7(n,t)}(this,CY(n,76))},nPB.Hi=function(n){var t,e,i,r,a,c,o;t=CY(n,76),++this.j,nio(this,this.i,t),e=this,i=CY(t,343),e.j=-1,TN(e.e)?(r=e.i,o=0!=e.i,_F(e,i),a=new Uh(e.e,3,e.c,null,i,r,o),c=i.zl(e.e,e.c,null),(c=ne6(e,i,c))?(c.nj(a),c.oj()):zP(e.e,a)):(_F(e,i),(c=i.zl(e.e,e.c,null))&&c.oj())},nPB.Nj=function(n,t){var e,i;return e=CY(n,76),i=CY(e,343),i.zl(this.e,this.c,t)},nPB.Oj=function(n,t){return O0(this,CY(n,76),t)},nPB.Ti=function(n,t){return function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w;if(!TN(n.e))return CY(naD(n,t,e),76);if(t!=e&&(c=(b=(r=CY(n.g,124))[e]).Lk(),noz(n.e,c))){for(s=0,w=nox(n.e.Dh(),c),u=-1,o=-1,i=0,f=t>e?t:e;s<=f;++s)s==e?o=i++:(a=r[s],h=w.am(a.Lk()),s==t&&(u=s!=f||h?i:i-1),h&&++i);return l=CY(Jp(n,t,e),76),o!=u&&dq(n,new Hf(n.e,7,c,Qx(o),b.md(),u)),l}return CY(Jp(n,t,e),76)}(this,n,t)},nPB.Wi=function(n,t){return function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;if(jM(c=e.Lk(),102)&&(CY(c,19).Bb&nwG)!=0&&(l=CY(e.md(),54),(d=Qk(n.e,l))!=l)){if(jH(n,t,nio(n,t,h=Fy(c,d))),f=null,TN(n.e)&&(i=nff((nrR(),n28),n.e.Dh(),c))!=Gt(n.e.Dh(),n.c)){for(u=0,g=nox(n.e.Dh(),c),o=0,a=CY(n.g,124);u<t;++u)r=a[u],g.am(r.Lk())&&++o;(f=new Fx(n.e,9,i,l,d,o,!1)).nj(new Uh(n.e,9,n.c,e,h,t,!1))}return(b=nnD(w=CY(c,19)))?(f=l.Th(n.e,Ym(l.Dh(),b),null,f),f=CY(d,54).Rh(n.e,Ym(d.Dh(),b),null,f)):(w.Bb&nEI)!=0&&(s=-1-Ym(n.e.Dh(),w),f=l.Th(n.e,s,null,null),CY(d,54).Ph()||(f=CY(d,54).Rh(n.e,s,null,f))),f&&f.oj(),h}return e}(this,n,CY(t,76))},nPB.hd=function(n,t){return function(n,t,e){var i,r,a,c,o;if(r=e.Lk(),noz(n.e,r)){if(r.Si()){for(a=0,i=CY(n.g,124);a<n.i;++a)if(QY(c=i[a],e)&&a!=t)throw new pN(nTd).e}}else for(a=0,o=nox(n.e.Dh(),r),i=CY(n.g,124);a<n.i;++a)if(c=i[a],o.am(c.Lk())&&a!=t)throw new pN(nSg).e;return CY(nnv(n,t,e),76)}(this,n,CY(t,76))},nPB.Uj=function(n,t){var e;return e=CY(n,76),ne6(this,CY(e,343),t)},nPB.Vj=function(n,t){return O2(this,CY(n,76),t)},nPB.Wj=function(n,t,e){var i,r,a,c,o,u;return i=CY(n,76),r=CY(t,76),a=e,TN(this.e)&&(c=i.Lk(),u=$6(this,1,c,i.md(),o=r.md(),c.Jk()?nhv(this,c,o,jM(c,102)&&(CY(c,19).Bb&nwG)!=0):-1,!0),a?a.nj(u):a=u),a},nPB.Zi=function(n,t){return nio(this,n,CY(t,76))},nPB.Ol=function(n,t){return nsf(this,n,t)},nPB.cd=function(n,t){var e,i,r,a,c,o,u,s,h;for(s=new Gk(t.gc()),r=t.Kc();r.Ob();)if(a=(i=CY(r.Pb(),76)).Lk(),noz(this.e,a))a.Si()&&(FE(this,a,i.md())||neO(s,i))||B7(s,i);else{for(o=0,h=nox(this.e.Dh(),a),e=CY(this.g,124),c=!0;o<this.i;++o)if(u=e[o],h.am(u.Lk())){CY(nnv(this,o,i),76),c=!1;break}c&&B7(s,i)}return VI(this,n,s)},nPB.Gc=function(n){var t,e,i,r,a,c,o,u,s;for(u=new Gk(n.gc()),i=n.Kc();i.Ob();)if(r=(e=CY(i.Pb(),76)).Lk(),noz(this.e,r))r.Si()&&(FE(this,r,e.md())||neO(u,e))||B7(u,e);else{for(c=0,s=nox(this.e.Dh(),r),t=CY(this.g,124),a=!0;c<this.i;++c)if(o=t[c],s.am(o.Lk())){CY(nnv(this,c,e),76),a=!1;break}a&&B7(u,e)}return Nu(this,u)},nPB.Fi=function(n){return this.j=-1,ns6(this,this.i,n)},nPB.Pl=function(n,t,e){return nuD(this,n,t,e)},nPB.Xk=function(n,t){return nsc(this,n,t)},nPB.Ql=function(n,t,e){return nh$(this,n,t,e)},nPB.Rl=function(){return this},nPB.Sl=function(n,t){return nhR(this,n,t)},nPB.Tl=function(n){return CY(GO(this,n),76).Lk()},nPB.Ul=function(n){return CY(GO(this,n),76).md()},nPB.Vl=function(){return this.b},nPB.Mj=function(){return!0},nPB.Tj=function(){return!0},nPB.Wl=function(n){return!YI(this,n)},nPB.aj=function(n){return BJ(n2n,nj8,343,n,0,1)},nPB.pl=function(n){return PO(this,n)},nPB.Wb=function(n){L9(this,n)},nPB.Xl=function(n,t){nhQ(this,n,t)},nPB.Yl=function(n){return q8(this,n)},nPB.Zl=function(n){nts(this,n)},Nj(njv,"BasicFeatureMap",78),ncm(1960,1,nbg),nPB.Nb=function(n){LD(this,n)},nPB.Rb=function(n){if(-1==this.g)throw(new dx).e;AZ(this);try{noJ(this.e,this.b,this.a,n),this.d=this.e.j,nnp(this)}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}},nPB.Ob=function(){return WD(this)},nPB.Sb=function(){return WR(this)},nPB.Pb=function(){return nnp(this)},nPB.Tb=function(){return this.a},nPB.Ub=function(){var n;if(WR(this))return AZ(this),this.g=--this.a,this.ul()&&(n=naA(this.e,this.b,this.c,this.a,this.j),this.j=n),this.i=0,this.j;throw(new dF).e},nPB.Vb=function(){return this.a-1},nPB.Qb=function(){if(-1==this.g)throw(new dx).e;AZ(this);try{nrE(this.e,this.b,this.g),this.d=this.e.j,this.g<this.a&&(--this.a,--this.c),--this.g}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}},nPB.ul=function(){return!1},nPB.Wb=function(n){if(-1==this.g)throw(new dx).e;AZ(this);try{nhu(this.e,this.b,this.g,n),this.d=this.e.j}catch(n){if(jM(n=Vt(n),77))throw(new dR).e;throw n.e}},nPB.a=0,nPB.c=0,nPB.d=0,nPB.f=!1,nPB.g=0,nPB.i=0,Nj(njv,"FeatureMapUtil/BasicFeatureEIterator",1960),ncm(420,1960,nbg,zz),nPB.$l=function(){var n,t,e;for(e=this.e.i,n=CY(this.e.g,124);this.c<e;){if(t=n[this.c],this.k.am(t.Lk()))return this.j=this.f?t:t.md(),this.i=2,!0;++this.c}return this.i=1,this.g=-1,!1},nPB._l=function(){var n,t;for(n=CY(this.e.g,124);--this.c>=0;)if(t=n[this.c],this.k.am(t.Lk()))return this.j=this.f?t:t.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},Nj(njv,"BasicFeatureMap/FeatureEIterator",420),ncm(676,420,nbg,Th),nPB.ul=function(){return!0},Nj(njv,"BasicFeatureMap/ResolvingFeatureEIterator",676),ncm(968,496,njH,jP),nPB.pj=function(){return this},Nj(njv,"EContentsEList/1",968),ncm(969,496,njH,Ts),nPB.ul=function(){return!1},Nj(njv,"EContentsEList/2",969),ncm(967,287,njU,jO),nPB.wl=function(n){},nPB.Ob=function(){return!1},nPB.Sb=function(){return!1},Nj(njv,"EContentsEList/FeatureIteratorImpl/1",967),ncm(840,593,njD,jq),nPB.Ni=function(){this.a=!0},nPB.Qj=function(){return this.a},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.a,this.a=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.a=!1},nPB.a=!1,Nj(njv,"EDataTypeEList/Unsettable",840),ncm(1958,593,njD,jX),nPB.Si=function(){return!0},Nj(njv,"EDataTypeUniqueEList",1958),ncm(1959,840,njD,jz),nPB.Si=function(){return!0},Nj(njv,"EDataTypeUniqueEList/Unsettable",1959),ncm(147,83,njD,jV),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectContainmentEList/Resolving",147),ncm(1184,555,njD,jW),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectContainmentEList/Unsettable/Resolving",1184),ncm(766,14,njD,OP),nPB.Ni=function(){this.a=!0},nPB.Qj=function(){return this.a},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.a,this.a=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.a=!1},nPB.a=!1,Nj(njv,"EObjectContainmentWithInverseEList/Unsettable",766),ncm(1222,766,njD,OO),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),ncm(757,505,njD,jQ),nPB.Ni=function(){this.a=!0},nPB.Qj=function(){return this.a},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.a,this.a=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.a=!1},nPB.a=!1,Nj(njv,"EObjectEList/Unsettable",757),ncm(338,505,njD,jJ),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectResolvingEList",338),ncm(1844,757,njD,jY),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectResolvingEList/Unsettable",1844),ncm(1527,1,{},u4),Nj(njv,"EObjectValidator",1527),ncm(559,505,njD,LT),nPB.il=function(){return this.d},nPB.jl=function(){return this.b},nPB.Mj=function(){return!0},nPB.ml=function(){return!0},nPB.b=0,Nj(njv,"EObjectWithInverseEList",559),ncm(1225,559,njD,OC),nPB.ll=function(){return!0},Nj(njv,"EObjectWithInverseEList/ManyInverse",1225),ncm(635,559,njD,OI),nPB.Ni=function(){this.a=!0},nPB.Qj=function(){return this.a},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.a,this.a=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.a=!1},nPB.a=!1,Nj(njv,"EObjectWithInverseEList/Unsettable",635),ncm(1224,635,njD,OL),nPB.ll=function(){return!0},Nj(njv,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),ncm(767,559,njD,OA),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectWithInverseResolvingEList",767),ncm(32,767,njD,Ox),nPB.ll=function(){return!0},Nj(njv,"EObjectWithInverseResolvingEList/ManyInverse",32),ncm(768,635,njD,ON),nPB.nl=function(){return!0},nPB.Wi=function(n,t){return nce(this,n,CY(t,58))},Nj(njv,"EObjectWithInverseResolvingEList/Unsettable",768),ncm(1223,768,njD,O$),nPB.ll=function(){return!0},Nj(njv,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),ncm(1185,632,njD),nPB.Li=function(){return(1792&this.b)==0},nPB.Ni=function(){this.b|=1},nPB.kl=function(){return(4&this.b)!=0},nPB.Mj=function(){return(40&this.b)!=0},nPB.ll=function(){return(16&this.b)!=0},nPB.ml=function(){return(8&this.b)!=0},nPB.nl=function(){return(this.b&njT)!=0},nPB.al=function(){return(32&this.b)!=0},nPB.ol=function(){return(this.b&nbB)!=0},nPB.fk=function(n){return this.d?Fs(this.d,n):this.Lk().Hk().fk(n)},nPB.Qj=function(){return(2&this.b)!=0?(1&this.b)!=0:0!=this.i},nPB.Si=function(){return(128&this.b)!=0},nPB.Gk=function(){var n;nft(this),(2&this.b)!=0&&(TN(this.e)?(n=(1&this.b)!=0,this.b&=-2,dq(this,new _M(this.e,2,Ym(this.e.Dh(),this.Lk()),n,!1))):this.b&=-2)},nPB.Yi=function(){return(1536&this.b)==0},nPB.b=0,Nj(njv,"EcoreEList/Generic",1185),ncm(1186,1185,njD,$R),nPB.Lk=function(){return this.a},Nj(njv,"EcoreEList/Dynamic",1186),ncm(765,66,nTv,de),nPB.aj=function(n){return G7(this.a.a,n)},Nj(njv,"EcoreEMap/1",765),ncm(764,83,njD,LI),nPB.Mi=function(n,t){nnR(this.b,CY(t,136))},nPB.Oi=function(n,t){zI(this.b)},nPB.Pi=function(n,t,e){var i;++(i=this.b,CY(t,136),i).e},nPB.Qi=function(n,t){Jm(this.b,CY(t,136))},nPB.Ri=function(n,t,e){var i;Jm(this.b,CY(e,136)),ER(e)===ER(t)&&CY(e,136).Ci(null==(i=CY(t,136).ld())?0:XS(i)),nnR(this.b,CY(t,136))},Nj(njv,"EcoreEMap/DelegateEObjectContainmentEList",764),ncm(1220,141,njk,qq),Nj(njv,"EcoreEMap/Unsettable",1220),ncm(1221,764,njD,OD),nPB.Ni=function(){this.a=!0},nPB.Qj=function(){return this.a},nPB.Gk=function(){var n;nft(this),TN(this.e)?(n=this.a,this.a=!1,zP(this.e,new _M(this.e,2,this.c,n,!1))):this.a=!1},nPB.a=!1,Nj(njv,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),ncm(1189,215,nw4,Nw),nPB.a=!1,nPB.b=!1,Nj(njv,"EcoreUtil/Copier",1189),ncm(759,1,nbu,K4),nPB.Nb=function(n){LD(this,n)},nPB.Ob=function(){return Y0(this)},nPB.Pb=function(){var n;return Y0(this),n=this.b,this.b=null,n},nPB.Qb=function(){this.a.Qb()},Nj(njv,"EcoreUtil/ProperContentIterator",759),ncm(1528,1527,{},hG),Nj(njv,"EcoreValidator",1528),IH(njv,"FeatureMapUtil/Validator"),ncm(1295,1,{2041:1},u6),nPB.am=function(n){return!0},Nj(njv,"FeatureMapUtil/1",1295),ncm(773,1,{2041:1},nfZ),nPB.am=function(n){var t,e;return this.c==n||(null!=(t=PC(NR(this.a,n)))?t==(SB(),nOu):(this.f==n3r?(e=xb(Ua((nrR(),n28),n)),this.e?4!=e||n==(na1(),n3u)||n==(na1(),n3a)||n==(na1(),n3c)||n==(na1(),n3o):2!=e):!(this.d&&(this.d.Hc(n)||this.d.Hc(Rz(Ua((nrR(),n28),n)))||this.d.Hc(nff((nrR(),n28),this.b,n))))&&(!(this.f&&nod((nrR(),this.f),xF(Ua(n28,n))))||(e=xb(Ua(n28,n)),this.e?4!=e:2!=e)))?(_B(this.a,n,(SB(),nOo)),!1):(_B(this.a,n,(SB(),nOu)),!0))},nPB.e=!1,Nj(njv,"FeatureMapUtil/BasicValidator",773),ncm(774,45,nw4,jS),Nj(njv,"FeatureMapUtil/BasicValidator/Cache",774),ncm(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},EL),nPB.bd=function(n,t){noJ(this.c,this.b,n,t)},nPB.Fc=function(n){return nsf(this.c,this.b,n)},nPB.cd=function(n,t){return function(n,t,e,i){var r,a,c,o,u,s,h,f;if(0==i.gc())return!1;if(yP(),c=(u=CY(t,69).xk())?i:new Gk(i.gc()),noz(n.e,t)){if(t.Si())for(h=i.Kc();h.Ob();)nhc(n,t,s=h.Pb(),jM(t,102)&&(CY(t,19).Bb&nwG)!=0)||(a=Fy(t,s),c.Fc(a));else if(!u)for(h=i.Kc();h.Ob();)a=Fy(t,s=h.Pb()),c.Fc(a)}else{for(o=0,f=nox(n.e.Dh(),t),r=CY(n.g,124);o<n.i;++o)if(a=r[o],f.am(a.Lk()))throw new pN(nSg).e;if(i.gc()>1)throw new pN(nSg).e;u||(a=Fy(t,i.Kc().Pb()),c.Fc(a))}return VI(n,nrL(n,t,e),c)}(this.c,this.b,n,t)},nPB.Gc=function(n){return jk(this,n)},nPB.Gi=function(n,t){var e=this.c,i=this.b;e.j=-1,na6(e,nrL(e,i,n),(yP(),CY(i,69).vk().xl(t)))},nPB.Wk=function(n,t){return nuD(this.c,this.b,n,t)},nPB.$i=function(n){return nhK(this.c,this.b,n,!1)},nPB.Ii=function(){var n;return n=this.c,new zz(this.b,n)},nPB.Ji=function(){var n;return n=this.c,new zz(this.b,n)},nPB.Ki=function(n){return function(n,t,e){var i,r;for(i=0,r=new zz(t,n);i<e;++i)nnp(r);return r}(this.c,this.b,n)},nPB.Xk=function(n,t){return nh$(this.c,this.b,n,t)},nPB.$b=function(){dX(this)},nPB.Hc=function(n){return FE(this.c,this.b,n)},nPB.Ic=function(n){return function(n,t,e){var i;for(i=e.Kc();i.Ob();)if(!FE(n,t,i.Pb()))return!1;return!0}(this.c,this.b,n)},nPB.Xb=function(n){return nhK(this.c,this.b,n,!0)},nPB.Fk=function(n){return this},nPB.dd=function(n){var t,e;return t=this.c,nhv(t,e=this.b,n,jM(e,102)&&(CY(e,19).Bb&nwG)!=0)},nPB.dc=function(){return E$(this)},nPB.Qj=function(){return!YI(this.c,this.b)},nPB.Kc=function(){var n,t;return n=this.c,jM(t=this.b,102)&&(CY(t,19).Bb&nwG)!=0?new Th(t,n):new zz(t,n)},nPB.ed=function(){var n,t;return n=this.c,jM(t=this.b,102)&&(CY(t,19).Bb&nwG)!=0?new Th(t,n):new zz(t,n)},nPB.fd=function(n){return function(n,t,e){var i,r;for(i=0,r=jM(t,102)&&(CY(t,19).Bb&nwG)!=0?new Th(t,n):new zz(t,n);i<e;++i)nnp(r);return r}(this.c,this.b,n)},nPB.Ti=function(n,t){return nsQ(this.c,this.b,n,t)},nPB.Ui=function(n,t){var e,i;e=this.c,nsQ(e,i=this.b,n,nhv(e,i,t,jM(i,102)&&(CY(i,19).Bb&nwG)!=0))},nPB.gd=function(n){return nrE(this.c,this.b,n)},nPB.Mc=function(n){return function(n,t,e){var i,r,a,c;if(c=nox(n.e.Dh(),t),i=CY(n.g,124),yP(),CY(t,69).xk()){for(a=0;a<n.i;++a)if(r=i[a],c.am(r.Lk())&&QY(r,e))return no9(n,a),!0}else if(null!=e){for(a=0;a<n.i;++a)if(r=i[a],c.am(r.Lk())&&QY(e,r.md()))return no9(n,a),!0}else for(a=0;a<n.i;++a)if(r=i[a],c.am(r.Lk())&&null==r.md())return no9(n,a),!0;return!1}(this.c,this.b,n)},nPB.hd=function(n,t){return nhu(this.c,this.b,n,t)},nPB.Wb=function(n){na5(this.c,this.b),jk(this,CY(n,15))},nPB.gc=function(){return function(n,t){var e,i,r,a,c;for(r=0,c=nox(n.e.Dh(),t),a=0,e=CY(n.g,124);r<n.i;++r)i=e[r],c.am(i.Lk())&&++a;return a}(this.c,this.b)},nPB.Pc=function(){var n;return function(n,t,e){var i,r,a,c,o,u;if(c=new oW,o=nox(n.e.Dh(),t),i=CY(n.g,124),yP(),CY(t,69).xk())for(a=0;a<n.i;++a)r=i[a],o.am(r.Lk())&&B7(c,r);else for(a=0;a<n.i;++a)r=i[a],o.am(r.Lk())&&(u=r.md(),B7(c,e?naA(n,t,a,c.i,u):u));return Fc(c)}(this.c,n=this.b,jM(n,102)&&(CY(n,19).Bb&nwG)!=0)},nPB.Qc=function(n){var t,e;return t=this.c,function(n,t,e,i){var r,a,c,o,u,s;if(o=new oW,u=nox(n.e.Dh(),t),r=CY(n.g,124),yP(),CY(t,69).xk())for(c=0;c<n.i;++c)a=r[c],u.am(a.Lk())&&B7(o,a);else for(c=0;c<n.i;++c)a=r[c],u.am(a.Lk())&&(s=a.md(),B7(o,i?naA(n,t,c,o.i,s):s));return YP(o,e)}(t,e=this.b,n,jM(e,102)&&(CY(e,19).Bb&nwG)!=0)},nPB.Ib=function(){var n,t,e;for(t=new p1,t.a+="[",e=this.c,n=new zz(this.b,e);WD(n);)EW(t,Sp(nnp(n))),WD(n)&&(t.a+=nl8);return t.a+="]",t.a},nPB.Gk=function(){na5(this.c,this.b)},Nj(njv,"FeatureMapUtil/FeatureEList",509),ncm(644,39,njn,Fx),nPB.hj=function(n){return Q9(this,n)},nPB.mj=function(n){var t,e,i,r;switch(this.d){case 1:case 2:if(ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return this.g=n.ij(),1==n.gj()&&(this.d=1),!0;break;case 3:if(3===n.gj()&&ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return this.d=5,B7(t=new Gk(2),this.g),B7(t,n.ij()),this.g=t,!0;break;case 5:if(3===n.gj()&&ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return CY(this.g,16).Fc(n.ij()),!0;break;case 4:switch(n.gj()){case 3:if(ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return this.d=1,this.g=n.ij(),!0;break;case 4:if(ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return this.d=6,B7(r=new Gk(2),this.n),B7(r,n.kj()),this.n=r,i=Vw(DY(n4s,1),nwl,28,15,[this.o,n.lj()]),this.g=i,!0}break;case 6:if(4===n.gj()&&ER(n.jj())===ER(this.c)&&Q9(this,null)==n.hj(null))return CY(this.n,16).Fc(n.kj()),e=BJ(n4s,nwl,28,(i=CY(this.g,53)).length+1,15,1),ns8(i,0,e,0,i.length),e[i.length]=n.lj(),this.g=e,!0}return!1},Nj(njv,"FeatureMapUtil/FeatureENotificationImpl",644),ncm(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},IB),nPB.Ol=function(n,t){return nsf(this.c,n,t)},nPB.Pl=function(n,t,e){return nuD(this.c,n,t,e)},nPB.Ql=function(n,t,e){return nh$(this.c,n,t,e)},nPB.Rl=function(){return this},nPB.Sl=function(n,t){return nhR(this.c,n,t)},nPB.Tl=function(n){return CY(nhK(this.c,this.b,n,!1),76).Lk()},nPB.Ul=function(n){return CY(nhK(this.c,this.b,n,!1),76).md()},nPB.Vl=function(){return this.a},nPB.Wl=function(n){return!YI(this.c,n)},nPB.Xl=function(n,t){nhQ(this.c,n,t)},nPB.Yl=function(n){return q8(this.c,n)},nPB.Zl=function(n){nts(this.c,n)},Nj(njv,"FeatureMapUtil/FeatureFeatureMap",564),ncm(1294,1,njy,EC),nPB.Fk=function(n){return nhK(this.b,this.a,-1,n)},nPB.Qj=function(){return!YI(this.b,this.a)},nPB.Wb=function(n){nhQ(this.b,this.a,n)},nPB.Gk=function(){na5(this.b,this.a)},Nj(njv,"FeatureMapUtil/FeatureValue",1294);var n2Y=IH(nSp,"AnyType");ncm(680,63,nbZ,pB),Nj(nSp,"InvalidDatatypeValueException",680);var n2Z=IH(nSp,nSm),n21=IH(nSp,nSv),n20=IH(nSp,nSy);ncm(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},gF),nPB.Lh=function(n,t,e){switch(n){case 0:if(e)return this.c||(this.c=new zE(this,0)),this.c;return this.c||(this.c=new zE(this,0)),this.c.b;case 1:if(e)return this.c||(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160);return(!this.c&&(this.c=new zE(this,0)),CY(CY(Rp(this.c,(nfl(),n3b)),160),220)).Vl();case 2:if(e)return this.b||(this.b=new zE(this,2)),this.b;return this.b||(this.b=new zE(this,2)),this.b.b}return HE(this,n-N$(this.ii()),Gt((2&this.j)==0?this.ii():(!this.k&&(this.k=new hD),this.k).Nk(),n),t,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.c||(this.c=new zE(this,0)),nsc(this.c,n,e);case 1:return(!this.c&&(this.c=new zE(this,0)),CY(CY(Rp(this.c,(nfl(),n3b)),160),71)).Xk(n,e);case 2:return this.b||(this.b=new zE(this,2)),nsc(this.b,n,e)}return CY(Gt((2&this.j)==0?this.ii():(!this.k&&(this.k=new hD),this.k).Nk(),t),69).wk().Ak(this,Um(this),t-N$(this.ii()),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.c&&0!=this.c.i;case 1:return!(!this.c&&(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160)).dc();case 2:return!!this.b&&0!=this.b.i}return Fr(this,n-N$(this.ii()),Gt((2&this.j)==0?this.ii():(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.bi=function(n,t){switch(n){case 0:this.c||(this.c=new zE(this,0)),L9(this.c,t);return;case 1:(!this.c&&(this.c=new zE(this,0)),CY(CY(Rp(this.c,(nfl(),n3b)),160),220)).Wb(t);return;case 2:this.b||(this.b=new zE(this,2)),L9(this.b,t);return}J5(this,n-N$(this.ii()),Gt((2&this.j)==0?this.ii():(!this.k&&(this.k=new hD),this.k).Nk(),n),t)},nPB.ii=function(){return nfl(),n3l},nPB.ki=function(n){switch(n){case 0:this.c||(this.c=new zE(this,0)),nft(this.c);return;case 1:(!this.c&&(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160)).$b();return;case 2:this.b||(this.b=new zE(this,2)),nft(this.b);return}QZ(this,n-N$(this.ii()),Gt((2&this.j)==0?this.ii():(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.Ib=function(){var n;return(4&this.j)!=0?ncG(this):(n=new Sm(ncG(this)),n.a+=" (mixed: ",EV(n,this.c),n.a+=", anyAttribute: ",EV(n,this.b),n.a+=")",n.a)},Nj(nSk,"AnyTypeImpl",844),ncm(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},sc),nPB.Lh=function(n,t,e){switch(n){case 0:return this.a;case 1:return this.b}return HE(this,n-N$((nfl(),n3j)),Gt((2&this.j)==0?n3j:(!this.k&&(this.k=new hD),this.k).Nk(),n),t,e)},nPB.Wh=function(n){switch(n){case 0:return null!=this.a;case 1:return null!=this.b}return Fr(this,n-N$((nfl(),n3j)),Gt((2&this.j)==0?n3j:(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.bi=function(n,t){switch(n){case 0:this.a=PA(t);return;case 1:this.b=PA(t);return}J5(this,n-N$((nfl(),n3j)),Gt((2&this.j)==0?n3j:(!this.k&&(this.k=new hD),this.k).Nk(),n),t)},nPB.ii=function(){return nfl(),n3j},nPB.ki=function(n){switch(n){case 0:this.a=null;return;case 1:this.b=null;return}QZ(this,n-N$((nfl(),n3j)),Gt((2&this.j)==0?n3j:(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.Ib=function(){var n;return(4&this.j)!=0?ncG(this):(n=new Sm(ncG(this)),n.a+=" (data: ",EW(n,this.a),n.a+=", target: ",EW(n,this.b),n.a+=")",n.a)},nPB.a=null,nPB.b=null,Nj(nSk,"ProcessingInstructionImpl",681),ncm(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},g_),nPB.Lh=function(n,t,e){switch(n){case 0:if(e)return this.c||(this.c=new zE(this,0)),this.c;return this.c||(this.c=new zE(this,0)),this.c.b;case 1:if(e)return this.c||(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160);return(!this.c&&(this.c=new zE(this,0)),CY(CY(Rp(this.c,(nfl(),n3b)),160),220)).Vl();case 2:if(e)return this.b||(this.b=new zE(this,2)),this.b;return this.b||(this.b=new zE(this,2)),this.b.b;case 3:return this.c||(this.c=new zE(this,0)),PA(nhR(this.c,(nfl(),n3O),!0));case 4:return OF(this.a,(this.c||(this.c=new zE(this,0)),PA(nhR(this.c,(nfl(),n3O),!0))));case 5:return this.a}return HE(this,n-N$((nfl(),n3P)),Gt((2&this.j)==0?n3P:(!this.k&&(this.k=new hD),this.k).Nk(),n),t,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.c&&0!=this.c.i;case 1:return!(!this.c&&(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160)).dc();case 2:return!!this.b&&0!=this.b.i;case 3:return this.c||(this.c=new zE(this,0)),null!=PA(nhR(this.c,(nfl(),n3O),!0));case 4:return null!=OF(this.a,(this.c||(this.c=new zE(this,0)),PA(nhR(this.c,(nfl(),n3O),!0))));case 5:return!!this.a}return Fr(this,n-N$((nfl(),n3P)),Gt((2&this.j)==0?n3P:(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.bi=function(n,t){switch(n){case 0:this.c||(this.c=new zE(this,0)),L9(this.c,t);return;case 1:(!this.c&&(this.c=new zE(this,0)),CY(CY(Rp(this.c,(nfl(),n3b)),160),220)).Wb(t);return;case 2:this.b||(this.b=new zE(this,2)),L9(this.b,t);return;case 3:Ko(this,PA(t));return;case 4:Ko(this,OK(this.a,t));return;case 5:this.a=CY(t,156);return}J5(this,n-N$((nfl(),n3P)),Gt((2&this.j)==0?n3P:(!this.k&&(this.k=new hD),this.k).Nk(),n),t)},nPB.ii=function(){return nfl(),n3P},nPB.ki=function(n){switch(n){case 0:this.c||(this.c=new zE(this,0)),nft(this.c);return;case 1:(!this.c&&(this.c=new zE(this,0)),CY(Rp(this.c,(nfl(),n3b)),160)).$b();return;case 2:this.b||(this.b=new zE(this,2)),nft(this.b);return;case 3:this.c||(this.c=new zE(this,0)),nhQ(this.c,(nfl(),n3O),null);return;case 4:Ko(this,OK(this.a,null));return;case 5:this.a=null;return}QZ(this,n-N$((nfl(),n3P)),Gt((2&this.j)==0?n3P:(!this.k&&(this.k=new hD),this.k).Nk(),n))},Nj(nSk,"SimpleAnyTypeImpl",682),ncm(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},gB),nPB.Lh=function(n,t,e){switch(n){case 0:if(e)return this.a||(this.a=new zE(this,0)),this.a;return this.a||(this.a=new zE(this,0)),this.a.b;case 1:return e?(this.b||(this.b=new Hs((nlq(),n2S),n07,this,1)),this.b):(this.b||(this.b=new Hs((nlq(),n2S),n07,this,1)),BW(this.b));case 2:return e?(this.c||(this.c=new Hs((nlq(),n2S),n07,this,2)),this.c):(this.c||(this.c=new Hs((nlq(),n2S),n07,this,2)),BW(this.c));case 3:return this.a||(this.a=new zE(this,0)),Rp(this.a,(nfl(),n3A));case 4:return this.a||(this.a=new zE(this,0)),Rp(this.a,(nfl(),n3L));case 5:return this.a||(this.a=new zE(this,0)),Rp(this.a,(nfl(),n3x));case 6:return this.a||(this.a=new zE(this,0)),Rp(this.a,(nfl(),n3$))}return HE(this,n-N$((nfl(),n3I)),Gt((2&this.j)==0?n3I:(!this.k&&(this.k=new hD),this.k).Nk(),n),t,e)},nPB.Uh=function(n,t,e){switch(t){case 0:return this.a||(this.a=new zE(this,0)),nsc(this.a,n,e);case 1:return this.b||(this.b=new Hs((nlq(),n2S),n07,this,1)),O1(this.b,n,e);case 2:return this.c||(this.c=new Hs((nlq(),n2S),n07,this,2)),O1(this.c,n,e);case 5:var i;return this.a||(this.a=new zE(this,0)),i=Rp(this.a,(nfl(),n3x)),nh$(i.c,i.b,n,e)}return CY(Gt((2&this.j)==0?(nfl(),n3I):(!this.k&&(this.k=new hD),this.k).Nk(),t),69).wk().Ak(this,Um(this),t-N$((nfl(),n3I)),n,e)},nPB.Wh=function(n){switch(n){case 0:return!!this.a&&0!=this.a.i;case 1:return!!this.b&&0!=this.b.f;case 2:return!!this.c&&0!=this.c.f;case 3:return this.a||(this.a=new zE(this,0)),!E$(Rp(this.a,(nfl(),n3A)));case 4:return this.a||(this.a=new zE(this,0)),!E$(Rp(this.a,(nfl(),n3L)));case 5:return this.a||(this.a=new zE(this,0)),!E$(Rp(this.a,(nfl(),n3x)));case 6:return this.a||(this.a=new zE(this,0)),!E$(Rp(this.a,(nfl(),n3$)))}return Fr(this,n-N$((nfl(),n3I)),Gt((2&this.j)==0?n3I:(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.bi=function(n,t){switch(n){case 0:this.a||(this.a=new zE(this,0)),L9(this.a,t);return;case 1:this.b||(this.b=new Hs((nlq(),n2S),n07,this,1)),zu(this.b,t);return;case 2:this.c||(this.c=new Hs((nlq(),n2S),n07,this,2)),zu(this.c,t);return;case 3:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3A))),this.a||(this.a=new zE(this,0)),jk(Rp(this.a,n3A),CY(t,16));return;case 4:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3L))),this.a||(this.a=new zE(this,0)),jk(Rp(this.a,n3L),CY(t,16));return;case 5:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3x))),this.a||(this.a=new zE(this,0)),jk(Rp(this.a,n3x),CY(t,16));return;case 6:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3$))),this.a||(this.a=new zE(this,0)),jk(Rp(this.a,n3$),CY(t,16));return}J5(this,n-N$((nfl(),n3I)),Gt((2&this.j)==0?n3I:(!this.k&&(this.k=new hD),this.k).Nk(),n),t)},nPB.ii=function(){return nfl(),n3I},nPB.ki=function(n){switch(n){case 0:this.a||(this.a=new zE(this,0)),nft(this.a);return;case 1:this.b||(this.b=new Hs((nlq(),n2S),n07,this,1)),this.b.c.$b();return;case 2:this.c||(this.c=new Hs((nlq(),n2S),n07,this,2)),this.c.c.$b();return;case 3:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3A)));return;case 4:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3L)));return;case 5:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3x)));return;case 6:this.a||(this.a=new zE(this,0)),dX(Rp(this.a,(nfl(),n3$)));return}QZ(this,n-N$((nfl(),n3I)),Gt((2&this.j)==0?n3I:(!this.k&&(this.k=new hD),this.k).Nk(),n))},nPB.Ib=function(){var n;return(4&this.j)!=0?ncG(this):(n=new Sm(ncG(this)),n.a+=" (mixed: ",EV(n,this.a),n.a+=")",n.a)},Nj(nSk,"XMLTypeDocumentRootImpl",683),ncm(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},u5),nPB.ri=function(n,t){var e,i,r,a,c,o;switch(n.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 null==t?null:J2(t);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return PA(t);case 6:return null==(e=CY(t,195))?null:function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d;if(ns0(),null==n)return null;if(0==(f=8*n.length))return"";for(o=f%24,l=f/24|0,u=0,a=null,a=BJ(n4u,nb5,28,4*(0!=o?l+1:l),15,1),s=0,h=0,t=0,e=0,i=0,c=0,r=0;u<l;u++)t=n[r++],e=n[r++],i=n[r++],h=(15&e)<<24>>24,s=(3&t)<<24>>24,b=(-128&t)==0?t>>2<<24>>24:(t>>2^192)<<24>>24,w=(-128&e)==0?e>>4<<24>>24:(e>>4^240)<<24>>24,d=(-128&i)==0?i>>6<<24>>24:(i>>6^252)<<24>>24,a[c++]=n3B[b],a[c++]=n3B[w|s<<4],a[c++]=n3B[h<<2|d],a[c++]=n3B[63&i];return 8==o?(s=(3&(t=n[r]))<<24>>24,b=(-128&t)==0?t>>2<<24>>24:(t>>2^192)<<24>>24,a[c++]=n3B[b],a[c++]=n3B[s<<4],a[c++]=61,a[c++]=61):16==o&&(t=n[r],h=(15&(e=n[r+1]))<<24>>24,s=(3&t)<<24>>24,b=(-128&t)==0?t>>2<<24>>24:(t>>2^192)<<24>>24,w=(-128&e)==0?e>>4<<24>>24:(e>>4^240)<<24>>24,a[c++]=n3B[b],a[c++]=n3B[w|s<<4],a[c++]=n3B[h<<2],a[c++]=61),Za(a,0,a.length)}(e);case 12:case 47:case 49:case 11:return nfL(this,n,t);case 13:return null==t?null:function(n){var t,e,i,r,a,c,o,u;if(i=nlP((n.c||(n.c=Rm(zF(n.f))),n.c),0),0==n.e||0==n.a&&-1!=n.f&&n.e<0)return i;if(t=+(0>XK(n)),e=n.e,i.length,nP_.Math.abs(Dy(n.e)),r=new p3,1==t&&(r.a+="-"),n.e>0)if((e-=i.length-t)>=0){for(r.a+="0.";e>nOE.length;e-=nOE.length)I1(r,nOE);a=nOE,c=Dy(e),r.a+=Za(a,0,c),EY(r,(Rx(t,i.length+1),i.substr(t)))}else e=t-e,EY(r,Di(i,t,Dy(e))),r.a+=".",EY(r,NF(i,Dy(e)));else{for(EY(r,(Rx(t,i.length+1),i.substr(t)));e<-nOE.length;e+=nOE.length)I1(r,nOE);o=nOE,u=Dy(-e),r.a+=Za(o,0,u)}return r.a}(CY(t,247));case 15:case 14:return null==t?null:(i=pj(PI(t)))==nwF?"INF":i==nw_?"-INF":""+i;case 17:return neZ((nfl(),t));case 18:return neZ(t);case 21:case 20:return null==t?null:(r=CY(t,161).a)==nwF?"INF":r==nw_?"-INF":""+r;case 27:return null==(a=CY(t,195))?null:function(n){var t,e,i,r;if(nub(),null==n)return null;for(e=0,t=BJ(n4u,nb5,28,2*(i=n.length),15,1);e<i;e++)(r=n[e])<0&&(r+=256),t[2*e]=n3U[r>>4],t[2*e+1]=n3U[15&r];return Za(t,0,t.length)}(a);case 30:return nth((nfl(),CY(t,15)));case 31:return nth(CY(t,15));case 40:return null==(nfl(),c=t)?null:J2(c);case 42:return ne1((nfl(),t));case 43:return ne1(t);case 59:case 48:return null==(nfl(),o=t)?null:J2(o);default:throw new pN(nE$+n.xe()+nED).e}},nPB.si=function(n){var t;switch(-1==n.G&&(n.G=(t=GT(n))?nnm(t.vi(),n):-1),n.G){case 0:return new gF;case 1:return new sc;case 2:return new g_;case 3:return new gB;default:throw new pN(nEF+n.zb+nED).e}},nPB.ti=function(n,t){var e,i,r,a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A;switch(n.hk()){case 5:case 52:case 4:return t;case 6:if(null==t)return null;if(null==(M=function(n){var t,e,i,r,a,c,o,u,s,h,f,l,b,w,d,g;if(ns0(),null==n||(w=function(n){var t,e,i;for(t=0,i=0,e=n.length;t<e;t++)32==n[t]||13==n[t]||10==n[t]||9==n[t]||(n[i++]=n[t]);return i}(a=Ul(n)))%4!=0)return null;if(0==(d=w/4|0))return BJ(n4l,nEK,28,0,15,1);for(f=null,t=0,e=0,i=0,r=0,c=0,o=0,u=0,s=0,b=0,l=0,h=0,f=BJ(n4l,nEK,28,3*d,15,1);b<d-1;b++){if(!vr(c=a[h++])||!vr(o=a[h++])||!vr(u=a[h++])||!vr(s=a[h++]))return null;t=n3_[c],e=n3_[o],i=n3_[u],r=n3_[s],f[l++]=(t<<2|e>>4)<<24>>24,f[l++]=((15&e)<<4|i>>2&15)<<24>>24,f[l++]=(i<<6|r)<<24>>24}if(!vr(c=a[h++])||!vr(o=a[h++]))return null;if(t=n3_[c],e=n3_[o],u=a[h++],s=a[h++],-1==n3_[u]||-1==n3_[s])if(61==u&&61==s)return(15&e)!=0?null:(ns8(f,0,g=BJ(n4l,nEK,28,3*b+1,15,1),0,3*b),g[l]=(t<<2|e>>4)<<24>>24,g);else if(61==u||61!=s)return null;else return(3&(i=n3_[u]))!=0?null:(ns8(f,0,g=BJ(n4l,nEK,28,3*b+2,15,1),0,3*b),g[l++]=(t<<2|e>>4)<<24>>24,g[l]=((15&e)<<4|i>>2&15)<<24>>24,g);return i=n3_[u],r=n3_[s],f[l++]=(t<<2|e>>4)<<24>>24,f[l++]=((15&e)<<4|i>>2&15)<<24>>24,f[l++]=(i<<6|r)<<24>>24,f}(nhB(t,!0))))throw new pB("Invalid base64Binary value: '"+t+"'").e;return M;case 8:case 7:return null==t?null:function(n){if(OB(nMC,n=nhB(n,!0))||OB("1",n))return SB(),nOu;if(OB(nMI,n)||OB("0",n))return SB(),nOo;throw new pB("Invalid boolean value: '"+n+"'").e}(t);case 9:return null==t?null:Ub(nsE((o=nhB(t,!0)).length>0&&(Rx(0,o.length),43==o.charCodeAt(0))?(Rx(1,o.length+1),o.substr(1)):o,-128,127)<<24>>24);case 10:return null==t?null:Ub(nsE((u=nhB(t,!0)).length>0&&(Rx(0,u.length),43==u.charCodeAt(0))?(Rx(1,u.length+1),u.substr(1)):u,-128,127)<<24>>24);case 11:return PA(nlE(this,(nfl(),n3g),t));case 12:return PA(nlE(this,(nfl(),n3p),t));case 13:return null==t?null:new mW(nhB(t,!0));case 15:case 14:if(null==t)return null;if(j=nhB(t,!0),S=3,OB(j.substr(j.length-S,S),"INF")){if(4==(T=j.length)){if(Rx(0,j.length),43==(E=j.charCodeAt(0)))return n3R;if(45==E)return n3D}else if(3==T)return n3R}return ni7(j);case 16:return PA(nlE(this,(nfl(),n3m),t));case 17:return Ze((nfl(),t));case 18:return Ze(t);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return nhB(t,!0);case 21:case 20:if(null==t)return null;if(C=nhB(t,!0),I=3,OB(C.substr(C.length-I,I),"INF")){if(4==(O=C.length)){if(Rx(0,C.length),43==(P=C.charCodeAt(0)))return n3F;if(45==P)return n3K}else if(3==O)return n3F}return new dz(C);case 22:return PA(nlE(this,(nfl(),n3v),t));case 23:return PA(nlE(this,(nfl(),n3y),t));case 24:return PA(nlE(this,(nfl(),n3k),t));case 25:return PA(nlE(this,(nfl(),n3M),t));case 26:return PA(nlE(this,(nfl(),n3E),t));case 27:if(null==t)return null;if(null==(A=function(n){var t,e,i,r,a,c,o;if(nub(),null==n||(r=n.length)%2!=0)return null;for(i=0,t=Ul(n),e=BJ(n4l,nEK,28,a=r/2|0,15,1);i<a;i++){if(-1==(c=n3H[t[2*i]])||-1==(o=n3H[t[2*i+1]]))return null;e[i]=(c<<4|o)<<24>>24}return e}(nhB(t,!0))))throw new pB("Invalid hexBinary value: '"+t+"'").e;return A;case 30:return Zi((nfl(),t));case 31:return Zi(t);case 32:return null==t?null:Qx(nsE((w=nhB(t,!0)).length>0&&(Rx(0,w.length),43==w.charCodeAt(0))?(Rx(1,w.length+1),w.substr(1)):w,nbJ,nl3));case 33:return null==t?null:new TV((d=nhB(t,!0)).length>0&&(Rx(0,d.length),43==d.charCodeAt(0))?(Rx(1,d.length+1),d.substr(1)):d);case 34:return null==t?null:Qx(nsE((g=nhB(t,!0)).length>0&&(Rx(0,g.length),43==g.charCodeAt(0))?(Rx(1,g.length+1),g.substr(1)):g,nbJ,nl3));case 36:return null==t?null:ZE(nln((p=nhB(t,!0)).length>0&&(Rx(0,p.length),43==p.charCodeAt(0))?(Rx(1,p.length+1),p.substr(1)):p));case 37:return null==t?null:ZE(nln((m=nhB(t,!0)).length>0&&(Rx(0,m.length),43==m.charCodeAt(0))?(Rx(1,m.length+1),m.substr(1)):m));case 40:return null==(nfl(),e=t)?null:new TV((i=nhB(e,!0)).length>0&&(Rx(0,i.length),43==i.charCodeAt(0))?(Rx(1,i.length+1),i.substr(1)):i);case 42:return Zr((nfl(),t));case 43:return Zr(t);case 44:return null==t?null:new TV((v=nhB(t,!0)).length>0&&(Rx(0,v.length),43==v.charCodeAt(0))?(Rx(1,v.length+1),v.substr(1)):v);case 45:return null==t?null:new TV((y=nhB(t,!0)).length>0&&(Rx(0,y.length),43==y.charCodeAt(0))?(Rx(1,y.length+1),y.substr(1)):y);case 46:return nhB(t,!1);case 47:return PA(nlE(this,(nfl(),n3T),t));case 59:case 48:return null==(nfl(),r=t)?null:new TV((a=nhB(r,!0)).length>0&&(Rx(0,a.length),43==a.charCodeAt(0))?(Rx(1,a.length+1),a.substr(1)):a);case 49:return PA(nlE(this,(nfl(),n3S),t));case 50:return null==t?null:Q$(nsE((k=nhB(t,!0)).length>0&&(Rx(0,k.length),43==k.charCodeAt(0))?(Rx(1,k.length+1),k.substr(1)):k,-32768,32767)<<16>>16);case 51:return null==t?null:Q$(nsE((s=nhB(t,!0)).length>0&&(Rx(0,s.length),43==s.charCodeAt(0))?(Rx(1,s.length+1),s.substr(1)):s,-32768,32767)<<16>>16);case 53:return PA(nlE(this,(nfl(),n3C),t));case 55:return null==t?null:Q$(nsE((h=nhB(t,!0)).length>0&&(Rx(0,h.length),43==h.charCodeAt(0))?(Rx(1,h.length+1),h.substr(1)):h,-32768,32767)<<16>>16);case 56:return null==t?null:Q$(nsE((f=nhB(t,!0)).length>0&&(Rx(0,f.length),43==f.charCodeAt(0))?(Rx(1,f.length+1),f.substr(1)):f,-32768,32767)<<16>>16);case 57:return null==t?null:ZE(nln((l=nhB(t,!0)).length>0&&(Rx(0,l.length),43==l.charCodeAt(0))?(Rx(1,l.length+1),l.substr(1)):l));case 58:return null==t?null:ZE(nln((b=nhB(t,!0)).length>0&&(Rx(0,b.length),43==b.charCodeAt(0))?(Rx(1,b.length+1),b.substr(1)):b));case 60:return null==t?null:Qx(nsE((c=nhB(t,!0)).length>0&&(Rx(0,c.length),43==c.charCodeAt(0))?(Rx(1,c.length+1),c.substr(1)):c,nbJ,nl3));case 61:return null==t?null:Qx(nsE(nhB(t,!0),nbJ,nl3));default:throw new pN(nE$+n.xe()+nED).e}},Nj(nSk,"XMLTypeFactoryImpl",2028),ncm(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},xy),nPB.N=!1,nPB.O=!1;var n22=!1;Nj(nSk,"XMLTypePackageImpl",594),ncm(1961,1,{851:1},u8),nPB.Kk=function(){return nsV(),nlQ},Nj(nSk,"XMLTypePackageImpl/1",1961),ncm(1970,1,nj5,u9),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/10",1970),ncm(1971,1,nj5,u7),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/11",1971),ncm(1972,1,nj5,sn),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/12",1972),ncm(1973,1,nj5,st),nPB.fk=function(n){return E_(n)},nPB.gk=function(n){return BJ(nPS,nby,345,n,7,1)},Nj(nSk,"XMLTypePackageImpl/13",1973),ncm(1974,1,nj5,se),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/14",1974),ncm(1975,1,nj5,si),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/15",1975),ncm(1976,1,nj5,sr),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/16",1976),ncm(1977,1,nj5,sa),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/17",1977),ncm(1978,1,nj5,so),nPB.fk=function(n){return jM(n,161)},nPB.gk=function(n){return BJ(nPP,nby,161,n,0,1)},Nj(nSk,"XMLTypePackageImpl/18",1978),ncm(1979,1,nj5,su),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/19",1979),ncm(1962,1,nj5,ss),nPB.fk=function(n){return jM(n,857)},nPB.gk=function(n){return BJ(n2Y,nl7,857,n,0,1)},Nj(nSk,"XMLTypePackageImpl/2",1962),ncm(1980,1,nj5,sh),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/20",1980),ncm(1981,1,nj5,sf),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/21",1981),ncm(1982,1,nj5,sl),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/22",1982),ncm(1983,1,nj5,sb),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/23",1983),ncm(1984,1,nj5,sw),nPB.fk=function(n){return jM(n,195)},nPB.gk=function(n){return BJ(n4l,nby,195,n,0,2)},Nj(nSk,"XMLTypePackageImpl/24",1984),ncm(1985,1,nj5,sd),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/25",1985),ncm(1986,1,nj5,sg),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/26",1986),ncm(1987,1,nj5,sp),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/27",1987),ncm(1988,1,nj5,sm),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/28",1988),ncm(1989,1,nj5,sv),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/29",1989),ncm(1963,1,nj5,sy),nPB.fk=function(n){return jM(n,681)},nPB.gk=function(n){return BJ(n2Z,nl7,2119,n,0,1)},Nj(nSk,"XMLTypePackageImpl/3",1963),ncm(1990,1,nj5,sk),nPB.fk=function(n){return jM(n,17)},nPB.gk=function(n){return BJ(nPO,nby,17,n,0,1)},Nj(nSk,"XMLTypePackageImpl/30",1990),ncm(1991,1,nj5,sM),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/31",1991),ncm(1992,1,nj5,sE),nPB.fk=function(n){return jM(n,168)},nPB.gk=function(n){return BJ(nPC,nby,168,n,0,1)},Nj(nSk,"XMLTypePackageImpl/32",1992),ncm(1993,1,nj5,sT),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/33",1993),ncm(1994,1,nj5,sj),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/34",1994),ncm(1995,1,nj5,sS),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/35",1995),ncm(1996,1,nj5,sP),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/36",1996),ncm(1997,1,nj5,sO),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/37",1997),ncm(1998,1,nj5,sC),nPB.fk=function(n){return jM(n,15)},nPB.gk=function(n){return BJ(nPf,ngF,15,n,0,1)},Nj(nSk,"XMLTypePackageImpl/38",1998),ncm(1999,1,nj5,sI),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/39",1999),ncm(1964,1,nj5,sA),nPB.fk=function(n){return jM(n,682)},nPB.gk=function(n){return BJ(n21,nl7,2120,n,0,1)},Nj(nSk,"XMLTypePackageImpl/4",1964),ncm(2e3,1,nj5,sL),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/40",2e3),ncm(2001,1,nj5,sN),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/41",2001),ncm(2002,1,nj5,sx),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/42",2002),ncm(2003,1,nj5,s$),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/43",2003),ncm(2004,1,nj5,sD),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/44",2004),ncm(2005,1,nj5,sR),nPB.fk=function(n){return jM(n,191)},nPB.gk=function(n){return BJ(nPI,nby,191,n,0,1)},Nj(nSk,"XMLTypePackageImpl/45",2005),ncm(2006,1,nj5,sK),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/46",2006),ncm(2007,1,nj5,sF),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/47",2007),ncm(2008,1,nj5,s_),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/48",2008),ncm(2009,1,nj5,sB),nPB.fk=function(n){return jM(n,191)},nPB.gk=function(n){return BJ(nPI,nby,191,n,0,1)},Nj(nSk,"XMLTypePackageImpl/49",2009),ncm(1965,1,nj5,sH),nPB.fk=function(n){return jM(n,683)},nPB.gk=function(n){return BJ(n20,nl7,2121,n,0,1)},Nj(nSk,"XMLTypePackageImpl/5",1965),ncm(2010,1,nj5,sU),nPB.fk=function(n){return jM(n,168)},nPB.gk=function(n){return BJ(nPC,nby,168,n,0,1)},Nj(nSk,"XMLTypePackageImpl/50",2010),ncm(2011,1,nj5,sG),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/51",2011),ncm(2012,1,nj5,sq),nPB.fk=function(n){return jM(n,17)},nPB.gk=function(n){return BJ(nPO,nby,17,n,0,1)},Nj(nSk,"XMLTypePackageImpl/52",2012),ncm(1966,1,nj5,sX),nPB.fk=function(n){return EK(n)},nPB.gk=function(n){return BJ(nPL,nby,2,n,6,1)},Nj(nSk,"XMLTypePackageImpl/6",1966),ncm(1967,1,nj5,sz),nPB.fk=function(n){return jM(n,195)},nPB.gk=function(n){return BJ(n4l,nby,195,n,0,2)},Nj(nSk,"XMLTypePackageImpl/7",1967),ncm(1968,1,nj5,sV),nPB.fk=function(n){return EF(n)},nPB.gk=function(n){return BJ(nPE,nby,485,n,8,1)},Nj(nSk,"XMLTypePackageImpl/8",1968),ncm(1969,1,nj5,sW),nPB.fk=function(n){return jM(n,222)},nPB.gk=function(n){return BJ(nPT,nby,222,n,0,1)},Nj(nSk,"XMLTypePackageImpl/9",1969),ncm(55,63,nbZ,pH),Nj(nSX,"RegEx/ParseException",55),ncm(836,1,{},sQ),nPB.bm=function(n){return n<this.j&&63==xq(this.i,n)},nPB.cm=function(){var n,t,e,i,r;if(10!=this.c)throw new pH(nlV((T9(),nTj))).e;switch(n=this.a){case 101:n=27;break;case 102:n=12;break;case 110:n=10;break;case 114:n=13;break;case 116:n=9;break;case 120:if(nlN(this),0!=this.c)throw new pH(nlV((T9(),nTQ))).e;if(123==this.a){for(r=0,e=0;;){if(nlN(this),0!=this.c)throw new pH(nlV((T9(),nTQ))).e;if((r=nnz(this.a))<0)break;if(e>16*e)throw new pH(nlV((T9(),nTJ))).e;e=16*e+r}if(125!=this.a)throw new pH(nlV((T9(),nTY))).e;if(e>nSz)throw new pH(nlV((T9(),nTZ))).e;n=e}else{if(r=0,0!=this.c||(r=nnz(this.a))<0||(e=r,nlN(this),0!=this.c||(r=nnz(this.a))<0))throw new pH(nlV((T9(),nTQ))).e;n=e=16*e+r}break;case 117:if(i=0,nlN(this),0!=this.c||(i=nnz(this.a))<0||(t=i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0))throw new pH(nlV((T9(),nTQ))).e;n=t=16*t+i;break;case 118:if(nlN(this),0!=this.c||(i=nnz(this.a))<0||(t=i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0)||(t=16*t+i,nlN(this),0!=this.c||(i=nnz(this.a))<0))throw new pH(nlV((T9(),nTQ))).e;if((t=16*t+i)>nSz)throw new pH(nlV((T9(),"parser.descappe.4"))).e;n=t;break;case 65:case 90:case 122:throw new pH(nlV((T9(),nT1))).e}return n},nPB.dm=function(n){var t;switch(n){case 100:t=(32&this.e)==32?nlu("Nd",!0):(nlU(),n3Q);break;case 68:t=(32&this.e)==32?nlu("Nd",!1):(nlU(),n30);break;case 119:t=(32&this.e)==32?nlu("IsWord",!0):(nlU(),n4n);break;case 87:t=(32&this.e)==32?nlu("IsWord",!1):(nlU(),n33);break;case 115:t=(32&this.e)==32?nlu("IsSpace",!0):(nlU(),n36);break;case 83:t=(32&this.e)==32?nlu("IsSpace",!1):(nlU(),n32);break;default:throw new ph(nSV+n.toString(16)).e}return t},nPB.em=function(n){var t,e,i,r,a,c,o,u,s,h,f;for(this.b=1,nlN(this),t=null,0==this.c&&94==this.a?(nlN(this),n?(nlU(),nlU(),++n4c,s=new RX(5)):(nlU(),nlU(),++n4c,no2(t=new RX(4),0,nSz),++n4c,s=new RX(4))):(nlU(),nlU(),++n4c,s=new RX(4)),r=!0;1!=(f=this.c)&&(0!=f||93!=this.a||r);){if(r=!1,e=this.a,i=!1,10==f)switch(e){case 100:case 68:case 119:case 87:case 115:case 83:nhH(s,this.dm(e)),i=!0;break;case 105:case 73:case 99:case 67:(e=this.um(s,e))<0&&(i=!0);break;case 112:case 80:if(!(h=naC(this,e)))throw new pH(nlV((T9(),nTF))).e;nhH(s,h),i=!0;break;default:e=this.cm()}else if(20==f){if((a=S1(this.i,58,this.d))<0)throw new pH(nlV((T9(),nT_))).e;if(c=!0,94==xq(this.i,this.d)&&(++this.d,c=!1),!(o=Ht(Di(this.i,this.d,a),c,(512&this.e)==512)))throw new pH(nlV((T9(),nTH))).e;if(nhH(s,o),i=!0,a+1>=this.j||93!=xq(this.i,a+1))throw new pH(nlV((T9(),nT_))).e;this.d=a+2}if(nlN(this),!i)if(0!=this.c||45!=this.a)no2(s,e,e);else{if(nlN(this),1==(f=this.c))throw new pH(nlV((T9(),nTB))).e;0==f&&93==this.a?(no2(s,e,e),no2(s,45,45)):(u=this.a,10==f&&(u=this.cm()),nlN(this),no2(s,e,u))}(this.e&nbB)==nbB&&0==this.c&&44==this.a&&nlN(this)}if(1==this.c)throw new pH(nlV((T9(),nTB))).e;return t&&(nf$(t,s),s=t),ncU(s),nh6(s),this.b=0,nlN(this),s},nPB.fm=function(){var n,t,e,i;for(e=this.em(!1);7!=(i=this.c);)if(n=this.a,0==i&&(45==n||38==n)||4==i){if(nlN(this),9!=this.c)throw new pH(nlV((T9(),nTz))).e;if(t=this.em(!1),4==i)nhH(e,t);else if(45==n)nf$(e,t);else if(38==n)nfP(e,t);else throw new ph("ASSERT").e}else throw new pH(nlV((T9(),nTV))).e;return nlN(this),e},nPB.gm=function(){var n,t,e,i;return n=this.a-48,nlU(),nlU(),++n4c,t=new Dh(12,null,n),this.g||(this.g=new dJ),e=this.g,i=new di(n),jB(e.a,i),nlN(this),t},nPB.hm=function(){return nlN(this),nlU(),n35},nPB.im=function(){return nlN(this),nlU(),n34},nPB.jm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.km=function(){throw new pH(nlV((T9(),nT0))).e},nPB.lm=function(){var n,t;return(nlN(this),nlU(),n4r)?n4r:(t=nlu("M",!0),++n4c,n=new FA(3,t),n4r=n=Aw(nlu("M",!1),n))},nPB.mm=function(){return nlN(this),nlU(),n39},nPB.nm=function(){return nlN(this),nlU(),n4t},nPB.om=function(){var n;if(this.d>=this.j||(65504&(n=xq(this.i,this.d++)))!=64)throw new pH(nlV((T9(),nT$))).e;return nlN(this),nlU(),nlU(),++n4c,new Ad(0,n-64)},nPB.pm=function(){return nlN(this),function(){var n,t,e,i,r,a;if(nlU(),n4a)return n4a;for(++n4c,nhH(n=new RX(4),nlu(nS3,!0)),nf$(n,nlu("M",!0)),nf$(n,nlu("C",!0)),++n4c,a=new RX(4),i=0;i<11;i++)no2(a,i,i);return++n4c,nhH(t=new RX(4),nlu("M",!0)),no2(t,4448,4607),no2(t,65438,65439),++n4c,nh7(r=new T3(2),n),nh7(r,n3Y),++n4c,(e=new T3(2)).Jm(Aw(a,nlu("L",!0))),e.Jm(t),++n4c,e=new FA(3,e),++n4c,n4a=e=new L5(r,e)}()},nPB.qm=function(){return nlN(this),nlU(),n4e},nPB.rm=function(){var n;return nlU(),nlU(),++n4c,n=new Ad(0,105),nlN(this),n},nPB.sm=function(){return nlN(this),nlU(),n37},nPB.tm=function(){return nlN(this),nlU(),n38},nPB.um=function(n,t){return this.cm()},nPB.vm=function(){return nlN(this),nlU(),n3Z},nPB.wm=function(){var n,t,e,i,r,a,c;if(this.d+1>=this.j)throw new pH(nlV((T9(),nTL))).e;if(i=-1,t=null,49<=(n=xq(this.i,this.d))&&n<=57){if(i=n-48,this.g||(this.g=new dJ),a=this.g,c=new di(i),jB(a.a,c),++this.d,41!=xq(this.i,this.d))throw new pH(nlV((T9(),nTC))).e;++this.d}else switch(63==n&&--this.d,nlN(this),(t=nlk(this)).e){case 20:case 21:case 22:case 23:break;case 8:if(7!=this.c)throw new pH(nlV((T9(),nTC))).e;break;default:throw new pH(nlV((T9(),nTN))).e}if(nlN(this),r=Zf(this),e=null,2==r.e){if(2!=r.Pm())throw new pH(nlV((T9(),nTx))).e;e=r.Lm(1),r=r.Lm(0)}if(7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),nlU(),nlU(),++n4c,new U$(i,t,r,e)},nPB.xm=function(){return nlN(this),nlU(),n31},nPB.ym=function(){var n;if(nlN(this),n=Lx(24,Zf(this)),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.zm=function(){var n;if(nlN(this),n=Lx(20,Zf(this)),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Am=function(){var n;if(nlN(this),n=Lx(22,Zf(this)),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Bm=function(){var n,t,e,i,r;for(n=0,e=0,t=-1;this.d<this.j&&0!=(r=nca(t=xq(this.i,this.d)));)n|=r,++this.d;if(this.d>=this.j)throw new pH(nlV((T9(),nTI))).e;if(45==t){for(++this.d;this.d<this.j&&0!=(r=nca(t=xq(this.i,this.d)));)e|=r,++this.d;if(this.d>=this.j)throw new pH(nlV((T9(),nTI))).e}if(58==t){if(++this.d,nlN(this),i=NM(Zf(this),n,e),7!=this.c)throw new pH(nlV((T9(),nTC))).e;nlN(this)}else if(41==t)++this.d,nlN(this),i=NM(Zf(this),n,e);else throw new pH(nlV((T9(),nTA))).e;return i},nPB.Cm=function(){var n;if(nlN(this),n=Lx(21,Zf(this)),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Dm=function(){var n;if(nlN(this),n=Lx(23,Zf(this)),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Em=function(){var n,t;if(nlN(this),n=this.f++,t=L$(Zf(this),n),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),t},nPB.Fm=function(){var n;if(nlN(this),n=L$(Zf(this),0),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Gm=function(n){return(nlN(this),5==this.c)?(nlN(this),Aw(n,(nlU(),nlU(),++n4c,new FA(9,n)))):Aw(n,(nlU(),nlU(),++n4c,new FA(3,n)))},nPB.Hm=function(n){var t;return nlN(this),nlU(),nlU(),++n4c,t=new T3(2),5==this.c?(nlN(this),nh7(t,n3Y),nh7(t,n)):(nh7(t,n),nh7(t,n3Y)),t},nPB.Im=function(n){return(nlN(this),5==this.c)?(nlN(this),nlU(),nlU(),++n4c,new FA(9,n)):(nlU(),nlU(),++n4c,new FA(3,n))},nPB.a=0,nPB.b=0,nPB.c=0,nPB.d=0,nPB.e=0,nPB.f=1,nPB.g=null,nPB.j=0,Nj(nSX,"RegEx/RegexParser",836),ncm(1947,836,{},gH),nPB.bm=function(n){return!1},nPB.cm=function(){return nud(this)},nPB.dm=function(n){return nsT(n)},nPB.em=function(n){return function n(t){var e,i,r,a,c,o,u,s;for(t.b=1,nlN(t),e=null,0==t.c&&94==t.a?(nlN(t),nlU(),nlU(),++n4c,no2(e=new RX(4),0,nSz)):(nlU(),nlU()),++n4c,o=new RX(4),a=!0;1!=(s=t.c);){if(0==s&&93==t.a&&!a){e&&(nf$(e,o),o=e);break}if(i=t.a,r=!1,10==s)switch(i){case 100:case 68:case 119:case 87:case 115:case 83:nhH(o,nsT(i)),r=!0;break;case 105:case 73:case 99:case 67:nhH(o,nsT(i)),(i=-1)<0&&(r=!0);break;case 112:case 80:if(!(u=naC(t,i)))throw new pH(nlV((T9(),nTF))).e;nhH(o,u),r=!0;break;default:i=nud(t)}else if(24==s&&!a){if(e&&(nf$(e,o),o=e),nf$(o,n(t)),0!=t.c||93!=t.a)throw new pH(nlV((T9(),nTU))).e;break}if(nlN(t),!r){if(0==s){if(91==i)throw new pH(nlV((T9(),nTG))).e;if(93==i)throw new pH(nlV((T9(),nTq))).e;if(45==i&&!a&&93!=t.a)throw new pH(nlV((T9(),nTX))).e}if(0!=t.c||45!=t.a||45==i&&a)no2(o,i,i);else{if(nlN(t),1==(s=t.c))throw new pH(nlV((T9(),nTB))).e;if(0==s&&93==t.a)no2(o,i,i),no2(o,45,45);else if(0==s&&93==t.a||24==s)throw new pH(nlV((T9(),nTX))).e;else{if(c=t.a,0==s){if(91==c)throw new pH(nlV((T9(),nTG))).e;if(93==c)throw new pH(nlV((T9(),nTq))).e;if(45==c)throw new pH(nlV((T9(),nTX))).e}else 10==s&&(c=nud(t));if(nlN(t),i>c)throw new pH(nlV((T9(),nTW))).e;no2(o,i,c)}}}a=!1}if(1==t.c)throw new pH(nlV((T9(),nTB))).e;return ncU(o),nh6(o),t.b=0,nlN(t),o}(this)},nPB.fm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.gm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.hm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.im=function(){throw new pH(nlV((T9(),nT0))).e},nPB.jm=function(){return nlN(this),nsT(67)},nPB.km=function(){return nlN(this),nsT(73)},nPB.lm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.mm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.nm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.om=function(){return nlN(this),nsT(99)},nPB.pm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.qm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.rm=function(){return nlN(this),nsT(105)},nPB.sm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.tm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.um=function(n,t){return nhH(n,nsT(t)),-1},nPB.vm=function(){return nlN(this),nlU(),nlU(),++n4c,new Ad(0,94)},nPB.wm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.xm=function(){return nlN(this),nlU(),nlU(),++n4c,new Ad(0,36)},nPB.ym=function(){throw new pH(nlV((T9(),nT0))).e},nPB.zm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Am=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Bm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Cm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Dm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Em=function(){var n;if(nlN(this),n=L$(Zf(this),0),7!=this.c)throw new pH(nlV((T9(),nTC))).e;return nlN(this),n},nPB.Fm=function(){throw new pH(nlV((T9(),nT0))).e},nPB.Gm=function(n){return nlN(this),Aw(n,(nlU(),nlU(),++n4c,new FA(3,n)))},nPB.Hm=function(n){var t;return nlN(this),nlU(),nlU(),++n4c,nh7(t=new T3(2),n),nh7(t,n3Y),t},nPB.Im=function(n){return nlN(this),nlU(),nlU(),++n4c,new FA(3,n)};var n23=null,n24=null;Nj(nSX,"RegEx/ParserForXMLSchema",1947),ncm(122,1,nS5,dr),nPB.Jm=function(n){throw new ph("Not supported.").e},nPB.Km=function(){return -1},nPB.Lm=function(n){return null},nPB.Mm=function(){return null},nPB.Nm=function(n){},nPB.Om=function(n){},nPB.Pm=function(){return 0},nPB.Ib=function(){return this.Qm(0)},nPB.Qm=function(n){return 11==this.e?".":""},nPB.e=0;var n26,n25,n28,n29,n27,n3n,n3t,n3e,n3i,n3r,n3a,n3c,n3o,n3u,n3s,n3h,n3f,n3l,n3b,n3w,n3d,n3g,n3p,n3m,n3v,n3y,n3k,n3M,n3E,n3T,n3j,n3S,n3P,n3O,n3C,n3I,n3A,n3L,n3N,n3x,n3$,n3D,n3R,n3K,n3F,n3_,n3B,n3H,n3U,n3G,n3q,n3X,n3z,n3V,n3W,n3Q,n3J,n3Y,n3Z,n31,n30,n32,n33,n34,n36,n35,n38,n39,n37,n4n,n4t,n4e,n4i=null,n4r=null,n4a=null,n4c=0,n4o=Nj(nSX,"RegEx/Token",122);ncm(138,122,{3:1,138:1,122:1},RX),nPB.Qm=function(n){var t,e,i;if(4==this.e)if(this==n3J)e=".";else if(this==n3Q)e="\\d";else if(this==n4n)e="\\w";else if(this==n36)e="\\s";else{for(i=new p1,i.a+="[",t=0;t<this.b.length;t+=2)(n&nbB)!=0&&t>0&&(i.a+=","),this.b[t]===this.b[t+1]?EW(i,nhl(this.b[t])):(EW(i,nhl(this.b[t])),i.a+="-",EW(i,nhl(this.b[t+1])));i.a+="]",e=i.a}else if(this==n30)e="\\D";else if(this==n33)e="\\W";else if(this==n32)e="\\S";else{for(i=new p1,i.a+="[^",t=0;t<this.b.length;t+=2)(n&nbB)!=0&&t>0&&(i.a+=","),this.b[t]===this.b[t+1]?EW(i,nhl(this.b[t])):(EW(i,nhl(this.b[t])),i.a+="-",EW(i,nhl(this.b[t+1])));i.a+="]",e=i.a}return e},nPB.a=!1,nPB.c=!1,Nj(nSX,"RegEx/RangeToken",138),ncm(592,1,{592:1},di),nPB.a=0,Nj(nSX,"RegEx/RegexParser/ReferencePosition",592),ncm(591,1,{3:1,591:1},ve),nPB.Fb=function(n){var t;return null!=n&&!!jM(n,591)&&(t=CY(n,591),OB(this.b,t.b)&&this.a==t.a)},nPB.Hb=function(){return Wb(this.b+"/"+noN(this.a))},nPB.Ib=function(){return this.c.Qm(this.a)},nPB.a=0,Nj(nSX,"RegEx/RegularExpression",591),ncm(228,122,nS5,Ad),nPB.Km=function(){return this.a},nPB.Qm=function(n){var t,e;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:e="\\"+Oo(this.a&nb9);break;case 12:e="\\f";break;case 10:e="\\n";break;case 13:e="\\r";break;case 9:e="\\t";break;case 27:e="\\e";break;default:e=this.a>=nwG?"\\v"+Di(t="0"+(this.a>>>0).toString(16),t.length-6,t.length):""+Oo(this.a&nb9)}break;case 8:e=this==n3Z||this==n31?""+Oo(this.a&nb9):"\\"+Oo(this.a&nb9);break;default:e=null}return e},nPB.a=0,Nj(nSX,"RegEx/Token/CharToken",228),ncm(318,122,nS5,FA),nPB.Lm=function(n){return this.a},nPB.Nm=function(n){this.b=n},nPB.Om=function(n){this.c=n},nPB.Pm=function(){return 1},nPB.Qm=function(n){var t;if(3==this.e)if(this.c<0&&this.b<0)t=this.a.Qm(n)+"*";else if(this.c==this.b)t=this.a.Qm(n)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)t=this.a.Qm(n)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)t=this.a.Qm(n)+"{"+this.c+",}";else throw new ph("Token#toString(): CLOSURE "+this.c+nl8+this.b).e;else if(this.c<0&&this.b<0)t=this.a.Qm(n)+"*?";else if(this.c==this.b)t=this.a.Qm(n)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)t=this.a.Qm(n)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)t=this.a.Qm(n)+"{"+this.c+",}?";else throw new ph("Token#toString(): NONGREEDYCLOSURE "+this.c+nl8+this.b).e;return t},nPB.b=0,nPB.c=0,Nj(nSX,"RegEx/Token/ClosureToken",318),ncm(837,122,nS5,L5),nPB.Lm=function(n){return 0==n?this.a:this.b},nPB.Pm=function(){return 2},nPB.Qm=function(n){return 3==this.b.e&&this.b.Lm(0)==this.a?this.a.Qm(n)+"+":9==this.b.e&&this.b.Lm(0)==this.a?this.a.Qm(n)+"+?":this.a.Qm(n)+""+this.b.Qm(n)},Nj(nSX,"RegEx/Token/ConcatToken",837),ncm(1945,122,nS5,U$),nPB.Lm=function(n){if(0==n)return this.d;if(1==n)return this.b;throw new ph("Internal Error: "+n).e},nPB.Pm=function(){return this.b?2:1},nPB.Qm=function(n){var t;return t=this.c>0?"(?("+this.c+")":8==this.a.e?"(?("+this.a+")":"(?"+this.a,this.b?t+=this.d+"|"+this.b+")":t+=this.d+")",t},nPB.c=0,Nj(nSX,"RegEx/Token/ConditionToken",1945),ncm(1946,122,nS5,Rq),nPB.Lm=function(n){return this.b},nPB.Pm=function(){return 1},nPB.Qm=function(n){return"(?"+(0==this.a?"":noN(this.a))+(0==this.c?"":noN(this.c))+":"+this.b.Qm(n)+")"},nPB.a=0,nPB.c=0,Nj(nSX,"RegEx/Token/ModifierToken",1946),ncm(838,122,nS5,N1),nPB.Lm=function(n){return this.a},nPB.Pm=function(){return 1},nPB.Qm=function(n){var t;switch(t=null,this.e){case 6:t=0==this.b?"(?:"+this.a.Qm(n)+")":"("+this.a.Qm(n)+")";break;case 20:t="(?="+this.a.Qm(n)+")";break;case 21:t="(?!"+this.a.Qm(n)+")";break;case 22:t="(?<="+this.a.Qm(n)+")";break;case 23:t="(?<!"+this.a.Qm(n)+")";break;case 24:t="(?>"+this.a.Qm(n)+")"}return t},nPB.b=0,Nj(nSX,"RegEx/Token/ParenToken",838),ncm(530,122,{3:1,122:1,530:1},Dh),nPB.Mm=function(){return this.b},nPB.Qm=function(n){return 12==this.e?"\\"+this.a:function(n){var t,e,i,r;for(i=0,r=n.length,t=null;i<r;i++)Rx(i,n.length),Tp(".*+?{[()|\\^$",niT(e=n.charCodeAt(i)))>=0?(!t&&(t=new p0,i>0&&EW(t,(B2(0,i,n.length),n.substr(0,i)))),t.a+="\\",NQ(t,e&nb9)):t&&NQ(t,e&nb9);return t?t.a:n}(this.b)},nPB.a=0,Nj(nSX,"RegEx/Token/StringToken",530),ncm(477,122,nS5,T3),nPB.Jm=function(n){nh7(this,n)},nPB.Lm=function(n){return CY(N9(this.a,n),122)},nPB.Pm=function(){return this.a?this.a.a.c.length:0},nPB.Qm=function(n){var t,e,i,r,a;if(1==this.e){if(2==this.a.a.c.length)t=CY(N9(this.a,0),122),r=3==(e=CY(N9(this.a,1),122)).e&&e.Lm(0)==t?t.Qm(n)+"+":9==e.e&&e.Lm(0)==t?t.Qm(n)+"+?":t.Qm(n)+""+e.Qm(n);else{for(i=0,a=new p1;i<this.a.a.c.length;i++)EW(a,CY(N9(this.a,i),122).Qm(n));r=a.a}return r}if(2==this.a.a.c.length&&7==CY(N9(this.a,1),122).e)r=CY(N9(this.a,0),122).Qm(n)+"?";else if(2==this.a.a.c.length&&7==CY(N9(this.a,0),122).e)r=CY(N9(this.a,1),122).Qm(n)+"??";else{for(EW(a=new p1,CY(N9(this.a,0),122).Qm(n)),i=1;i<this.a.a.c.length;i++)a.a+="|",EW(a,CY(N9(this.a,i),122).Qm(n));r=a.a}return r},Nj(nSX,"RegEx/Token/UnionToken",477),ncm(527,1,{600:1},vt),nPB.Ib=function(){return this.a.b},Nj(nS8,"XMLTypeUtil/PatternMatcherImpl",527),ncm(1707,1527,{},sJ),Nj(nS8,"XMLTypeValidator",1707),ncm(270,1,nbO,Lo),nPB.Jc=function(n){_r(this,n)},nPB.Kc=function(){return(this.b-this.a)*this.c<0?nlJ:new j3(this)},nPB.a=0,nPB.b=0,nPB.c=0,Nj(nS7,"ExclusiveRange",270),ncm(1084,1,nbg,sY),nPB.Rb=function(n){throw CY(n,17),new pR(nPn).e},nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){throw(new dF).e},nPB.Ub=function(){throw(new dF).e},nPB.Wb=function(n){throw CY(n,17),new pR(nPt).e},nPB.Ob=function(){return!1},nPB.Sb=function(){return!1},nPB.Tb=function(){return -1},nPB.Vb=function(){return -1},nPB.Qb=function(){throw new pR(nPe).e},Nj(nS7,"ExclusiveRange/1",1084),ncm(258,1,nbg,j3),nPB.Rb=function(n){throw CY(n,17),new pR(nPn).e},nPB.Nb=function(n){LD(this,n)},nPB.Pb=function(){var n;if(!(this.c.c<0?this.a>=this.c.b:this.a<=this.c.b))throw(new dF).e;return n=this.a,this.a+=this.c.c,++this.b,Qx(n)},nPB.Ub=function(){if(this.b<=0)throw(new dF).e;return--this.b,this.a-=this.c.c,Qx(this.a)},nPB.Wb=function(n){throw CY(n,17),new pR(nPt).e},nPB.Ob=function(){return this.c.c<0?this.a>=this.c.b:this.a<=this.c.b},nPB.Sb=function(){return this.b>0},nPB.Tb=function(){return this.b},nPB.Vb=function(){return this.b-1},nPB.Qb=function(){throw new pR(nPe).e},nPB.a=0,nPB.b=0,Nj(nS7,"ExclusiveRange/RangeIterator",258);var n4u=xw(njS,"C"),n4s=xw(njC,"I"),n4h=xw(nlZ,"Z"),n4f=xw(njI,"J"),n4l=xw(njj,"B"),n4b=xw(njP,"D"),n4w=xw(njO,"F"),n4d=xw(njA,"S"),n4g=IH("org.eclipse.elk.core.labels","ILabelManager"),n4p=IH(nE5,"DiagnosticChain"),n4m=IH(nj9,"ResourceSet"),n4v=Nj(nE5,"InvocationTargetException",null),n4y=(pZ(),function(n){return pZ(),function(){return function(n,t,e){var i;i=function(){var n;if(0!=nPv&&(n=Date.now())-nPy>2e3&&(nPy=n,nPk=nP_.setTimeout(va,10)),0==nPv++){var t,e,i=(pg(),nP4);if(i.a){e=null;do t=i.a,i.a=null,e=nrj(t,e);while(i.a)i.a=e}return!0}return!1}();try{return n.apply(t,e)}finally{var r,a=i;if(a&&function(n){var t,e;if(n.b){e=null;do t=n.b,n.b=null,e=nrj(t,e);while(n.b)n.b=e}}((pg(),nP4)),--nPv,a&&-1!=nPk){r=nPk,nP_.clearTimeout(r),nPk=-1}}}(n,this,arguments)}}),n4k=n4k=function(n,t,e,i){vc();var r=nPU;function a(){for(var n=0;n<r.length;n++)r[n]()}if(n)try{n4y(a)()}catch(e){n(t,e)}else n4y(a)()};!function(){vc();for(var n=nPU,t=0;t<arguments.length;t++)n.push(arguments[t])}(function(){mE(),function(){function n(n){var t=this;this.dispatch=function(t){var e=t.data;switch(e.cmd){case"algorithms":var i=Yv(($O(),new fF(new fN(n0S.b))));n.postMessage({id:e.id,data:i});break;case"categories":var r=Yv(($O(),new fF(new fN(n0S.c))));n.postMessage({id:e.id,data:r});break;case"options":var a=Yv(($O(),new fF(new fN(n0S.d))));n.postMessage({id:e.id,data:a});break;case"register":!function(n){var t,e,i;for(WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hF])),e=new fm(n),i=0;i<e.a.length;++i)OB(t=UA(e,i).te().a,"layered")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hd])):OB(t,"force")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new s4])):OB(t,"stress")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new s5])):OB(t,"mrtree")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hE])):OB(t,"radial")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hC])):OB(t,"disco")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new s0,new s2])):OB(t,"sporeOverlap")||OB(t,"sporeCompaction")?WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hx])):OB(t,"rectpacking")&&WM(n0S,Vw(DY(nCl,1),nl7,134,0,[new hA]))}(e.algorithms),n.postMessage({id:e.id});break;case"layout":!function(n,t,e){r=new fk(n),_s((a=new nt7).g),_s(a.j),LH(a.b),_s(a.d),_s(a.i),LH(a.k),LH(a.c),LH(a.e),l=function n(t,e,i){var r,a,c,o,u,s,h,f,l,b,w,d,g;return mk(),r=new gE,i&&nob(r,i),o=Zh(e),nu9(t.g,o,r),nu9(t.i,r,e),qY(r,Kz(e,nE9)),nib(e,r),h=e,f=r,(d=Kq(h,"individualSpacings"))&&(Bz(f,(nl_(),nY_))||(l=new oN,nnh(f,nY_,l)),w=CY(ncx(f,nY_),385),b=null,d&&(g=XD(d,BJ(nPL,nby,2,0,6,1)),b=new vR(d,g)),b&&_r(b,new Ed(d,w))),nai(e,r),a=KG(e,"ports"),function(n,t,e){var i,r,a,c,o;if(e)for(a=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);a.Ob();)(r=KX(e,CY(a.Pb(),17).a))&&(qY(c=function(n,t,e){var i;return i=Zh(e),nu9(n.j,i,t),xM(n.k,t,e),t}(n,(mk(),o=new gT,t&&nou(o,t),o),r),Kz(r,nE9)),nib(r,c),nai(r,c),V6(n,r,c))}((c=new Ep(t,r)).a,c.b,a),V6(t,e,r),s=KG(e,nEQ),function(t,e,i){var r,a,c;if(i)for(c=((r=new Lo(i.a.length)).b-r.a)*r.c<0?(yO(),nlJ):new j3(r);c.Ob();)(a=KX(i,CY(c.Pb(),17).a))&&n(t,a,e)}((u=new Ec(t,r)).a,u.b,s),r}(a,r,null),function n(t,e){var i,r,a,c;if(!(c=CY(qN(Nk(t.i),e),27)))throw new p_("Unable to find elk node for json object '"+Kz(e,nE9)+"' Panic!").e;r=KG(e,"edges"),function(n,t,e){var i,r,a,c;if(e)for(a=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);a.Ob();)nEY in(r=KX(e,CY(a.Pb(),17).a)).a||nEZ in r.a?function(n,t,e){var i,r,a,c,o;if(qY(o=Fm(n,Fa(e),t),Kz(t,nE9)),a=KG(t,nEY),!function(n,t,e){var i,r,a;if(e)for(r=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);r.Ob();)(a=ntr(n,nak(UA(e,CY(r.Pb(),17).a))))&&(t.b||(t.b=new Ox(nL4,t,4,7)),B7(t.b,a))}((i=new Eu(n,o)).a,i.b,a),c=KG(t,nEZ),!function(n,t,e){var i,r,a;if(e)for(r=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);r.Ob();)(a=ntr(n,nak(UA(e,CY(r.Pb(),17).a))))&&(t.c||(t.c=new Ox(nL4,t,5,8)),B7(t.c,a))}((r=new Es(n,o)).a,r.b,c),0==(!o.b&&(o.b=new Ox(nL4,o,4,7)),o.b).i||0==(!o.c&&(o.c=new Ox(nL4,o,5,8)),o.c).i)throw new p_(nTe+Kz(t,nE9)+nTi).e;nib(t,o),function(n,t,e){var i,r,a,c,o,u,s,h,f,l,b,w,d,g;for(s=new Ds,h=new Ds,r=KG(t,nE1),!function(n,t,e,i,r){var a,c,o,u;if(r)for(u=((a=new Lo(r.a.length)).b-a.a)*a.c<0?(yO(),nlJ):new j3(a);u.Ob();)o=KX(r,CY(u.Pb(),17).a),function(n,t,e,i,r){d=Vk(t),g=Zh(r),nu9(n.d,g,d),xM(n.e,d,r),Xe(d,Kz(r,nE9));var a,c,o,u,s,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j=Kq(r,nTt),S=new wp(d).a;if(j)p=qn(j,"x"),G0(new wv(S).a,(xf(p),p)),m=qn(j,"y"),G3(new wy(S).a,(xf(m),m));else throw new p_("All edge sections need a start point.").e;b=Kq(r,"endPoint");var P=new wk(d).a;if(b)v=qn(b,"x"),GQ(new wM(P).a,(xf(v),v)),y=qn(b,"y"),G2(new wE(P).a,(xf(y),y));else throw new p_("All edge sections need an end point.").e;w=KG(r,nE0),function(n,t){var e,i,r;if(t)for(r=((e=new Lo(t.a.length)).b-e.a)*e.c<0?(yO(),nlJ):new j3(e);r.Ob();)i=KX(t,CY(r.Pb(),17).a),JL(new wj(n).a,pj(qn(i,"x")),pj(qn(i,"y")))}(new wT(d).a,w),f=Kz(r,nE3),k=(a=new Eh(n,d)).a,M=a.b,null!=f&&q1(M,ntr(k,f)),l=Kz(r,nE2),E=(c=new Ef(n,d)).a,T=c.b,null!=l&&q0(T,ntr(E,l)),s=KG(r,nE6),function(n,t,e){var i,r;if(e)for(r=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);r.Ob();)naR(n,t,nak(UA(e,CY(r.Pb(),17).a)))}((o=new El(e,d)).b,o.a,s),h=KG(r,nE4),function(n,t,e){var i,r;if(e)for(r=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);r.Ob();)naR(n,t,nak(UA(e,CY(r.Pb(),17).a)))}((u=new Eb(i,d)).b,u.a,h)}((c=new $r(n,t,e,i)).a,c.b,c.c,c.d,o)}((i=new $i(n,e,s,h)).a,i.b,i.c,i.d,r),b=(s.i||(s.i=new j4(s,s.c))).Kc();b.Ob();)for(l=CY(b.Pb(),166),c=CY(_G(s,l),21).Kc();c.Ob();)if(a=c.Pb(),f=CY(Gz(n.d,a),166))l.e||(l.e=new Ox(nL5,l,10,9)),B7(l.e,f);else throw new p_(nTr+a+nTa+Kz(t,nE9)+nTi).e;for(d=(h.i||(h.i=new j4(h,h.c))).Kc();d.Ob();)for(w=CY(d.Pb(),166),u=CY(_G(h,w),21).Kc();u.Ob();)if(o=u.Pb(),f=CY(Gz(n.d,o),166))w.g||(w.g=new Ox(nL5,w,9,10)),B7(w.g,f);else throw new p_(nTr+o+nTa+Kz(t,nE9)+nTi).e;e.b||(e.b=new Ox(nL4,e,4,7)),0!=e.b.i&&(e.c||(e.c=new Ox(nL4,e,5,8)),0!=e.c.i)&&(e.b||(e.b=new Ox(nL4,e,4,7)),e.b.i<=1&&(e.c||(e.c=new Ox(nL4,e,5,8)),e.c.i<=1))&&1==(!e.a&&(e.a=new Lk(nL5,e,6,6)),e.a).i&&(nnx(g=CY(GO((e.a||(e.a=new Lk(nL5,e,6,6)),e.a),0),166))||nn$(g)||(q1(g,CY(GO((e.b||(e.b=new Ox(nL4,e,4,7)),e.b),0),84)),q0(g,CY(GO((e.c||(e.c=new Ox(nL4,e,5,8)),e.c),0),84))))}(n,t,o),V6(n,t,o)}(n,r,t):function(n,t,e){var i,r,a,c,o,u,s,h,f;if(qY(o=Fm(n,Fa(e),t),Kz(t,nE9)),u=CY(Gz(n.g,nak(D$(t,nEU))),27),a=D$(t,"sourcePort"),i=null,a&&(i=nak(a)),s=CY(Gz(n.j,i),123),!u)throw new p_("An edge must have a source node (edge id: '"+Zh(t)+nTi).e;if(s&&!N7(DP(s),u))throw new p_("The source port of an edge must be a port of the edge's source node (edge id: '"+Kz(t,nE9)+nTi).e;if(o.b||(o.b=new Ox(nL4,o,4,7)),B7(o.b,s||u),h=CY(Gz(n.g,nak(D$(t,nTc))),27),c=D$(t,"targetPort"),r=null,c&&(r=nak(c)),f=CY(Gz(n.j,r),123),!h)throw new p_("An edge must have a target node (edge id: '"+Zh(t)+nTi).e;if(f&&!N7(DP(f),h))throw new p_("The target port of an edge must be a port of the edge's target node (edge id: '"+Kz(t,nE9)+nTi).e;if(o.c||(o.c=new Ox(nL4,o,5,8)),B7(o.c,f||h),0==(!o.b&&(o.b=new Ox(nL4,o,4,7)),o.b).i||0==(!o.c&&(o.c=new Ox(nL4,o,5,8)),o.c).i)throw new p_(nTe+Kz(t,nE9)+nTi).e;nib(t,o),function(n,t){var e,i,r,a,c,o,u,s,h,f;(nTo in n.a||nTu in n.a||nE0 in n.a)&&(a=Vk(t),i=Kq(n,nTo),c=new wS(a).a,i&&(o=qn(i,"x"),G0(new wN(c).a,(xf(o),o)),u=qn(i,"y"),G3(new w$(c).a,(xf(u),u))),r=Kq(n,nTu),s=new wD(a).a,r&&(h=qn(r,"x"),GQ(new wR(s).a,(xf(h),h)),f=qn(r,"y"),G2(new wK(s).a,(xf(f),f))),e=KG(n,nE0),function(n,t){var e,i,r;if(t)for(r=((e=new Lo(t.a.length)).b-e.a)*e.c<0?(yO(),nlJ):new j3(e);r.Ob();)i=KX(t,CY(r.Pb(),17).a),JL(new wg(n).a,pj(qn(i,"x")),pj(qn(i,"y")))}(new wF(a).a,e))}(t,o),V6(n,t,o)}(n,r,t),$9(c=CY(NR(n.b,Zh(r)),74),nTl),noo(c,function(n){var t,e,i,r,a;switch($9(n,nTl),(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i+(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i){case 0:throw new pN("The edge must have at least one source or target.").e;case 1:return 0==(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i?DV(niw(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84))):DV(niw(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)))}if(1==(!n.b&&(n.b=new Ox(nL4,n,4,7)),n.b).i&&1==(!n.c&&(n.c=new Ox(nL4,n,5,8)),n.c).i){if(r=niw(CY(GO((n.b||(n.b=new Ox(nL4,n,4,7)),n.b),0),84)),a=niw(CY(GO((n.c||(n.c=new Ox(nL4,n,5,8)),n.c),0),84)),DV(r)==DV(a))return DV(r);if(r==DV(a))return r;if(a==DV(r))return a}for(t=niw(CY(_I(i=LF(qb(Vw(DY(nPs,1),nl7,20,0,[(n.b||(n.b=new Ox(nL4,n,4,7)),n.b),(n.c||(n.c=new Ox(nL4,n,5,8)),n.c)])))),84));ncv(i);)if((e=niw(CY(_I(i),84)))!=t&&!Gw(e,t)){if(DV(e)==DV(t))t=DV(e);else if(!(t=function(n,t){var e,i,r,a,c,o;for(c=new Kp(i=CW(new wq(n)),i.c.length),o=new Kp(r=CW(new wq(t)),r.c.length),a=null;c.b>0&&o.b>0;)if(Px(c.b>0),e=CY(c.a.Xb(c.c=--c.b),27),Px(o.b>0),e==CY(o.a.Xb(o.c=--o.b),27))a=e;else break;return a}(t,e)))return null}return t}(c))}((i=new Eo(t,c)).a,i.b,r),a=KG(e,nEQ),function(t,e){var i,r,a;if(e)for(a=((i=new Lo(e.a.length)).b-i.a)*i.c<0?(yO(),nlJ):new j3(i);a.Ob();)(r=KX(e,CY(a.Pb(),17).a))&&n(t,r)}(new wm(t).a,a)}(a,r),t&&(c=function(n){var t,e,i,r,a,c,o,u,s;for(u=a=new R3,Vy(),s=nQR,jB(u.c,s),r=XD(n,BJ(nPL,nby,2,0,6,1)),i=new fq(new pU(new vR(n,r).b));i.b<i.d.gc();)Px(i.b<i.d.gc()),e=PA(i.d.Xb(i.c=i.b++)),(c=nfT(n0S,e))&&null!=(o=nfd(c,(t=D$(n,e)).te()?t.te().a:t.qe()?""+t.qe().a:t.re()?""+t.re().a:t.Ib()))&&((SD(c.j,(ZW(),nQq))||SD(c.j,nQX))&&V$(Gn(a,nNe),c,o),SD(c.j,nQU)&&V$(Gn(a,nL6),c,o),SD(c.j,nQz)&&V$(Gn(a,nNi),c,o),SD(c.j,nQG)&&V$(Gn(a,nNt),c,o));return a}(u=new fk(t)),nre(l,Vw(DY(nLj,1),nl7,536,0,[c]))),f=!1,h=!1,e&&(nTk in(u=new fk(e)).a&&(f=D$(u,nTk).qe().a),nTM in u.a&&(h=D$(u,nTM).qe().a)),(b=qe(new gz,f)).k=h;var i,r,a,c,o,u,h,f,l,b,w,d=new cZ;nid(b,"Recursive Graph Layout",function n(t,e,i){var r,a,c,o;for(c=(!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a).i,a=new j2((!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a));a.e!=a.i.gc();)0==(!(r=CY(Z6(a),27)).a&&(r.a=new Lk(nNe,r,10,11)),r.a).i||(c+=n(t,r,!1));if(i)for(o=DV(e);o;)c+=(!o.a&&(o.a=new Lk(nNe,o,10,11)),o.a).i,o=DV(o);return c}(d,l,!0)),nre(l,Vw(DY(nLj,1),nl7,536,0,[new hR])),Bz(l,(nl_(),nYA))||nre(l,Vw(DY(nLj,1),nl7,536,0,[new c8])),function n(t,e,i,r){var a,c,o,u,h,f,l,b,w,d,g,p,m,v,y,k,M,E,T,j,S,P,O,C,I,A,L,N,x,$,D,R,K,F,_,B,H,U,G,q,X,z,V,W,Q;if(r.$g()||pT(PC(ncx(e,(nl_(),nYi))))||(E=0!=(!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a).i,T=!(j=function(n){var t,e,i;if(!pT(PC(ncx(n,(nl_(),nJV)))))return $O(),$O(),nO_;for(i=new du,e=new Le(Sb(nc5(n).a.Kc(),new s));ncv(e);)na$(t=CY(_I(e),74))&&pT(PC(ncx(t,nJW)))&&dk(i.c,t);return i}(e)).dc(),!E&&!T))return $O(),$O(),nO_;if(!(a=CY(ncx(e,nYA),143)))throw new pK("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout.").e;if(ncw(),V=n0v,G=SD(a.g,V),ZN(e),!E&&T&&!G)return $O(),$O(),nO_;if(v=new du,ER(ncx(e,nJq))===ER((QO(),nZj))&&(W=n0g,SD(a.g,W)||(Q=n0d,SD(a.g,Q)))){if(pT(PC(ncx(e,nYY))))throw new pK("Topdown layout cannot be used together with hierarchy handling.").e;for(x=function n(t,e){var i,r,a,c,o;for(c=(!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a).i,a=new j2((!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a));a.e!=a.i.gc();)ER(ncx(r=CY(Z6(a),27),(nl_(),nJq)))!==ER((QO(),nZP))&&((o=CY(ncx(e,nYA),143))==(i=CY(ncx(r,nYA),143))||o&&_m(o,i))&&0!=(!r.a&&(r.a=new Lk(nNe,r,10,11)),r.a).i&&(c+=n(t,r));return c}(t,e),Xx($=new vq,(e.a||(e.a=new Lk(nNe,e,10,11)),e.a));0!=$.b;)ZN(L=CY(0==$.b?null:(Px(0!=$.b),Gy($,$.a.a)),27)),ER(ncx(L,nJq))===ER(nZP)||Bz(L,nJM)&&!_m(a,ncx(L,nYA))?(Vc(v,n(t,L,i,r)),nnh(L,nJq,nZP),nsh(L)):Xx($,(L.a||(L.a=new Lk(nNe,L,10,11)),L.a))}else{if(x=(!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a).i,pT(PC(ncx(e,nYY)))){if((q=r.eh(1)).Ug(nMM,1),null==ncx(e,nYZ))throw new pK(e.k+" has not been assigned a top-down node type.").e;if(CY(ncx(e,nYZ),280)==(QP(),n1H)||CY(ncx(e,nYZ),280)==n1G)for(m=new j2((!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a));m.e!=m.i.gc();)p=CY(Z6(m),27),A=CY(ncx(p,nYA),143),(!p.a&&(p.a=new Lk(nNe,p,10,11)),p.a).i>0&&Dc(A.f),null!=ncx(p,nY4)&&(U=CY(ncx(p,nY4),347).Tg(p),T_(p,nP_.Math.max(p.g,U.a),nP_.Math.max(p.f,U.b)));if(D=CY(ncx(e,nYa),107),w=e.g-(D.b+D.c),b=e.f-(D.d+D.a),q.bh("Available Child Area: ("+w+"|"+b+")"),nnh(e,nJj,w/b),ZK(e,a,r.eh(x)),CY(ncx(e,nYZ),280)==n1G&&(nlg(e),T_(e,D.b+pj(PI(ncx(e,nJI)))+D.c,D.d+pj(PI(ncx(e,nJC)))+D.a)),q.bh("Executed layout algorithm: "+PA(ncx(e,nJM))+" on node "+e.k),CY(ncx(e,nYZ),280)==n1H){if(w<0||b<0)throw new pK("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+e.k).e;for(Bz(e,nJI)||Bz(e,nJC)||nlg(e),g=pj(PI(ncx(e,nJI))),d=pj(PI(ncx(e,nJC))),q.bh("Desired Child Area: ("+g+"|"+d+")"),K=w/g,F=b/d,R=nP_.Math.min(K,nP_.Math.min(F,pj(PI(ncx(e,nY1))))),nnh(e,nY2,R),q.bh(e.k+" -- Local Scale Factor (X|Y): ("+K+"|"+F+")"),y=CY(ncx(e,nJL),21),c=0,o=0,R<K&&(y.Hc((neW(),nJd))?c=(w/2-g*R/2)/R:y.Hc(nJp)&&(c=(w-g*R)/R)),R<F&&(y.Hc((neW(),nJv))?o=(b/2-d*R/2)/R:y.Hc(nJm)&&(o=(b-d*R)/R)),X=c+(D.b/R-D.b),z=o+(D.d/R-D.d),q.bh("Shift: ("+X+"|"+z+")"),N=new j2((!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a));N.e!=N.i.gc();)GZ(L=CY(Z6(N),27),L.i+X),G1(L,L.j+z);for(M=new j2((!e.b&&(e.b=new Lk(nL6,e,12,3)),e.b));M.e!=M.i.gc();){for(B=new j2((!(k=CY(Z6(M),74)).a&&(k.a=new Lk(nL5,k,6,6)),k.a));B.e!=B.i.gc();)for(TU(_=CY(Z6(B),166),_.j+X,_.k+z),TH(_,_.b+X,_.c+z),h=new j2((!_.a&&(_.a=new jU(nL0,_,5)),_.a));h.e!=h.i.gc();)TF(u=CY(Z6(h),377),u.a+X,u.b+z);for(I=new j2((!k.n&&(k.n=new Lk(nNt,k,1,7)),k.n));I.e!=I.i.gc();)TB(C=CY(Z6(I),135),C.i+X,C.j+z);for(P=ZQ(O=CY(ncx(k,nJY),75),0);P.b!=P.d.c;)S=CY(K0(P),8),S.a+=X,S.b+=z;nnh(k,nJY,O)}}q.Vg()}for(l=new j2((!e.a&&(e.a=new Lk(nNe,e,10,11)),e.a));l.e!=l.i.gc();)Vc(v,n(t,f=CY(Z6(l),27),i,r)),nsh(f)}if(r.$g())return $O(),$O(),nO_;for(H=new fU(v);H.a<H.c.c.length;)nnh(CY(RU(H),74),nYi,(SB(),!0));return pT(PC(ncx(e,nYY)))||ZK(e,a,r.eh(x)),!function(n){var t,e,i,r,a,c,o,u;for(c=new fU(n);c.a<c.c.c.length;){for(a=CY(RU(c),74),o=(i=niw(CY(GO((a.b||(a.b=new Ox(nL4,a,4,7)),a.b),0),84))).i,u=i.j,TU(r=CY(GO((a.a||(a.a=new Lk(nL5,a,6,6)),a.a),0),166),r.j+o,r.k+u),TH(r,r.b+o,r.c+u),e=new j2((!r.a&&(r.a=new jU(nL0,r,5)),r.a));e.e!=e.i.gc();)TF(t=CY(Z6(e),377),t.a+o,t.b+u);XU(CY(ncx(a,(nl_(),nJY)),75),o,u)}}(v),T&&G?j:($O(),$O(),nO_)}(d,l,null,b),nrl(b),nTk in r.a&&U7(r,nTk,null),(f||h)&&(!function n(t,e,i,r){var a,c,o,u,s,h,f,l;if(U7(e,nTh,new NO(t.Zg())),i&&!t.Xg().a.dc())for(U7(e,"logs",h=new fM),u=0,l=new fK(t.Xg().b.Kc());l.b.Ob();)f=new NO(PA(l.b.Pb())),UA(h,u),FO(h,u,f),++u;if(r&&U7(e,"executionTime",new fy(t.Wg())),!t.Yg().a.dc())for(U7(e,nEQ,o=new fM),u=0,c=new fK(t.Yg().b.Kc());c.b.Ob();)a=CY(c.b.Pb(),871),s=new pl,UA(o,u),FO(o,u,s),n(a,s,i,r),++u}(b,o=new pl,f,h),U7(r,nTk,o)),i=new wA(a);for(var g=new Tq(l);null!=g.g||g.c?null==g.g||0!=g.i&&CY(g.g[g.i-1],51).Ob():DU(g);)w=nc0(g),function(n,t){if(jM(t,207)){var e,i,r,a=CY(t,27);if(null==(r=Gz(n.i,a)))throw new p_("Node did not exist in input.").e;return zo(a,r)}if(jM(t,193)){var c,o=CY(t,123);if(null==(c=NR(n.k,o)))throw new p_("Port did not exist in input.").e;return zo(o,c)}if(jM(t,366))e=CY(t,135),i=NR(n.f,e),zo(e,i);else if(jM(t,326))!function(n,t){var e,i,r,a,c,o,u;if(!(c=CY(NR(n.c,t),190)))throw new p_("Edge did not exist in input.").e;i=Zh(c),vi((t.a||(t.a=new Lk(nL5,t,6,6)),t.a))||(e=new CA(n,i,o=new fM),t.a||(t.a=new Lk(nL5,t,6,6)),u=t.a,function(n,t){var e,i,r;for(e=0;n.e!=n.i.gc();)i=Z6(n),r=Qx(e),function(n,t,e,i,r){var a,c,o,u,s,h,f,l,b,w;null==(l=NR(n.e,i))&&U7(CY(l=new pl,190),nE9,new NO(t+"_s"+r)),Nq(e,f=CY(l,190)),$$(w=new pl,"x",i.j),$$(w,"y",i.k),U7(f,nTt,w),$$(s=new pl,"x",i.b),$$(s,"y",i.c),U7(f,"endPoint",s),vi((i.a||(i.a=new jU(nL0,i,5)),i.a))||(a=new wL(u=new fM),_r((i.a||(i.a=new jU(nL0,i,5)),i.a),a),U7(f,nE0,u)),nnx(i)&&niC(n.a,f,nE3,nrH(n,nnx(i))),nn$(i)&&niC(n.a,f,nE2,nrH(n,nn$(i))),0==(!i.e&&(i.e=new Ox(nL5,i,10,9)),i.e).i||(c=new Ev(n,h=new fM),_r((i.e||(i.e=new Ox(nL5,i,10,9)),i.e),c),U7(f,nE6,h)),0==(!i.g&&(i.g=new Ox(nL5,i,9,10)),i.g).i||(o=new Ey(n,b=new fM),_r((i.g||(i.g=new Ox(nL5,i,9,10)),i.g),o),U7(f,nE4,b))}(t.a,t.b,t.c,CY(i,166),r),e!=nl3&&++e}(new j2(u),e),U7(c,nE1,o)),Bz(t,(nl_(),nJY))&&(!(r=CY(ncx(t,nJY),75))||xe(r)||(_r(r,new wx(a=new fM)),U7(c,"junctionPoints",a))),IT(c,"container",DS(t).k)}(n,CY(t,74));else if(t);else throw new pN(nTn+niV(new pU(Vw(DY(nPa,1),nl7,1,5,[t])))).e}(i.a,CY(w,58))}(e.graph,e.layoutOptions||{},e.options||{}),n.postMessage({id:e.id,data:e.graph})}},this.saveDispatch=function(e){try{t.dispatch(e)}catch(t){n.postMessage({id:e.data.id,error:t})}}}function e(t){var e=this;this.dispatcher=new n({postMessage:function(n){e.onmessage({data:n})}}),this.postMessage=function(n){setTimeout(function(){e.dispatcher.saveDispatch({data:n})},0)}}if(mE(),typeof document===ndf&&typeof self!==ndf){var r=new n(self);self.onmessage=r.saveDispatch}else typeof t!==ndf&&t.exports&&(Object.defineProperty(i,"__esModule",{value:!0}),t.exports={default:e,Worker:e})}()}),typeof window===nlY&&typeof window.$gwt===nlY&&(window.$gwt.permProps=[[["locale","default"],[nPi,"gecko1_8"]],[["locale","default"],[nPi,"safari"]]]),n4k(null,"elk",null)}).call(this)}).call(this,void 0!==e.g?e.g:"u">typeof self?self:"u">typeof window?window:{})},{}],3:[function(n,t,e){"use strict";var i=function(t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function, not "+typeof t);function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!(this instanceof e))throw TypeError("Cannot call a class as a function");var i=Object.assign({},t),r=!1;try{n.resolve("web-worker"),r=!0}catch(n){}if(t.workerUrl)if(r){var a=n("web-worker");i.workerFactory=function(n){return new a(n)}}else console.warn("Web worker requested but 'web-worker' package not installed. \nConsider installing the package or pass your own 'workerFactory' to ELK's constructor.\n... Falling back to non-web worker version.");if(!i.workerFactory){var c=n("./elk-worker.min.js").Worker;i.workerFactory=function(n){return new c(n)}}var o=(e.__proto__||Object.getPrototypeOf(e)).call(this,i);if(!this)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return o&&("object"==typeof o||"function"==typeof o)?o:this}return e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t),e}(n("./elk-api.js").default);Object.defineProperty(t.exports,"__esModule",{value:!0}),t.exports=i,i.default=i},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(n,t,e){t.exports=Worker},{}]},{},[3])(3)},2685(n,t,e){"use strict";e.d(t,{Z:()=>y});var i=e(6163),r=e(6827);function a(n){let t=[];for(let e=0;e<n.length-1;e++)t.push({a:n[e],b:n[e+1]});return t}function c(n,t,e,i){let r=t.x-n.x,a=t.y-n.y,c=i.x-e.x,o=i.y-e.y,u=r*o-a*c;if(0===u)return null;let s=e.x-n.x,h=e.y-n.y,f=(s*o-h*c)/u,l=(s*a-h*r)/u;return f<=1e-6||f>=.999999||l<=1e-6||l>=.999999?null:{point:{x:n.x+f*r,y:n.y+f*a},tA:f,tB:l}}function o(n){return Math.abs(n.b.x-n.a.x)>=Math.abs(n.b.y-n.a.y)}function u(n,t,e){if("rounded"!==n.curve)return!1;let i=n.points,r=i[t],a=i[t+1];if(!r||!a)return!1;let c=Math.hypot(a.x-r.x,a.y-r.y),o=e*c,u=t>0?d(i[t-1],r,a,5):null;if(u&&o<u.cutLen)return!0;let s=t+2<i.length?d(r,a,i[t+2],5):null;return null!==s&&c-o<s.cutLen}function s(n){let t=[];for(let e=0;e<n.length;e++){let i=n[e],r=a(i.points);for(let s=e+1;s<n.length;s++){let e=n[s],h=a(e.points);for(let[n,a]of r.entries())for(let[r,s]of h.entries()){let h=c(a.a,a.b,s.a,s.b);if(!h||u(i,n,h.tA)||u(e,r,h.tB))continue;let f=o(a);f!==o(s)&&f?t.push({jumpEdgeId:i.id,otherEdgeId:e.id,segIndex:n,t:h.tA,point:h.point}):t.push({jumpEdgeId:e.id,otherEdgeId:i.id,segIndex:r,t:h.tB,point:h.point})}}}return t}function h(n){let t=Math.round(1e3*n)/1e3;return Number.isInteger(t),`${t}`}function f(n){return`${h(n.x)},${h(n.y)}`}function l(n){let t=n.b.x-n.a.x,e=n.b.y-n.a.y;return Math.abs(t)>=Math.abs(e)?+(t>=0):+(e>=0)}function b(n,t){if(n.length<2)return n.map(n=>({...n}));let e=n.map(n=>({...n})),r=t.arrowTypeStart&&i.hq[t.arrowTypeStart];if(r){let t=n[0],i=n[1],a=Math.atan2(i.y-t.y,i.x-t.x);e[0].x=t.x+r*Math.cos(a),e[0].y=t.y+r*Math.sin(a)}let a=t.arrowTypeEnd&&i.hq[t.arrowTypeEnd];if(a){let t=n.length,i=n[t-2],r=n[t-1],c=Math.atan2(r.y-i.y,r.x-i.x);e[t-1].x=r.x-a*Math.cos(c),e[t-1].y=r.y-a*Math.sin(c)}return e}function w(n,t,e,i,r){let a=n.point.x,c=n.point.y,o={x:a-t*n.r,y:c-e*n.r},u={x:a+t*n.r,y:c+e*n.r},s=[`L${f(o)}`];return"arc"===r?s.push(`A${h(n.r)},${h(n.r)} 0 0 ${i} ${f(u)}`):s.push(`M${f(u)}`),s}function d(n,t,e,i){let r=t.x-n.x,a=t.y-n.y,c=e.x-t.x,o=e.y-t.y,u=Math.hypot(r,a),s=Math.hypot(c,o);if(u<1e-5||s<1e-5)return null;let h=r/u,f=a/u,l=c/s,b=o/s,w=Math.acos(Math.max(-1,Math.min(1,h*l+f*b)));if(w<1e-5||1e-5>Math.abs(Math.PI-w))return null;let d=Math.min(i/Math.sin(w/2),u/2,s/2);return{startX:t.x-h*d,startY:t.y-f*d,endX:t.x+l*d,endY:t.y+b*d,ctrlX:t.x,ctrlY:t.y,cutLen:d}}function g(n,t,e){let i=n.points;if(i.length<2)return"";let r=b(i,n),c="rounded"===n.curve,o=a(r),u=new Map;for(let n of t){let t=o[n.segIndex];if(!t)continue;let i=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),r=u.get(n.segIndex)??[];r.push({t:n.t,point:n.point,d:n.t*i,r:e.jumpRadius}),u.set(n.segIndex,r)}let s=[`M${f(r[0])}`];for(let n=0;n<o.length;n++){let t=o[n],i=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),a=0===i?0:(t.b.x-t.a.x)/i,b=0===i?0:(t.b.y-t.a.y)/i,g=l(t),p=0;if(c&&n>0){let t=d(r[n-1],r[n],r[n+1]??r[n],5);t&&(p=t.cutLen)}let m=i,v=null;c&&n<o.length-1&&(v=d(r[n],r[n+1],r[n+2]??r[n+1],5))&&(m=i-v.cutLen);let y=.6*e.jumpRadius,k=[...u.get(n)??[]].sort((n,t)=>n.t-t.t).filter(n=>{let t=Math.min(n.d-p,m-n.d)-2;return n.r=Math.min(n.r,t),n.r>=y});for(let n=0;n<k.length-1;n++){let t=k[n+1].d-k[n].d;if(k[n].r+k[n+1].r>t){let e=t/2;k[n].r=Math.min(k[n].r,e),k[n+1].r=Math.min(k[n+1].r,e)}}for(let n of k)n.r<y||s.push(...w(n,a,b,g,e.jumpStyle));c&&v?(s.push(`L${h(v.startX)},${h(v.startY)}`),s.push(`Q${h(v.ctrlX)},${h(v.ctrlY)} ${h(v.endX)},${h(v.endY)}`)):s.push(`L${f(t.b)}`)}return s.join(" ")}function p(n){return/^[\d\s+,.LMelm-]*$/.test(n)}function m(n){return!n||"linear"===n||"rounded"===n||"step"===n||"stepBefore"===n||"stepAfter"===n}function v(n){if(!n)return null;try{let t="function"==typeof atob?atob(n):Buffer.from(n,"base64").toString(),e=JSON.parse(t);if(!Array.isArray(e))return null;let i=[];for(let n of e)n&&"number"==typeof n.x&&"number"==typeof n.y&&i.push({x:n.x,y:n.y});return i.length>=2?i:null}catch{return null}}function y(n,t,e){if(!e.enabled)return;let i=n.node();if(!i)return;let r=new Map;for(let n of t)r.set(n.id,n);let a=new Map;for(let n of i.querySelectorAll("path[data-id]")){let t=n.getAttribute("data-id");null===t||a.has(t)||a.set(t,n)}let c=[];for(let n of t){let t=a.get(n.id);if(!t)continue;let e=v(t.getAttribute("data-points"))??n.points;c.push({...n,points:e})}let o=s(c);if(0===o.length)return;let u=new Map;for(let n of o){let t=u.get(n.jumpEdgeId)??[];t.push(n),u.set(n.jumpEdgeId,t)}for(let n of c){let t=u.get(n.id);if(!t||0===t.length)continue;let i=r.get(n.id),c=i?.curve;if(void 0!==c&&!m(c))continue;let o=a.get(n.id);if(!o||void 0===c&&!p(o.getAttribute("d")??""))continue;let s=o.getAttribute("style")??"",h=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(s),f=h?Number.parseFloat(h[1]):null,l=h?Number.parseFloat(h[2]):null,b=g(n,t,e);if(o.setAttribute("d",b),null!==f&&null!==l&&"function"==typeof o.getTotalLength){let n=Math.max(0,o.getTotalLength()-f-l),t=`0 ${f} ${n} ${l}`,e=s.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${t};`).replace(/;\s*;+/g,";");o.setAttribute("style",e)}}}(0,r.K)(a,"buildSegmentList"),(0,r.K)(c,"segmentIntersection"),(0,r.K)(o,"isHorizontalSeg"),(0,r.K)(u,"crossingSitsInRoundedCorner"),(0,r.K)(s,"findEdgeIntersections"),(0,r.K)(h,"fmt"),(0,r.K)(f,"pointToString"),(0,r.K)(l,"getArcSweepFlag"),(0,r.K)(b,"applyMarkerOffsets"),(0,r.K)(w,"emitJump"),(0,r.K)(d,"computeRoundedCorner"),(0,r.K)(g,"rewriteEdgePath"),(0,r.K)(p,"isStraightPath"),(0,r.K)(m,"curveSupportsLineHops"),(0,r.K)(v,"decodeDataPoints"),(0,r.K)(y,"applyLineJumpsToSvg")},510(n,t,e){"use strict";e.r(t),e.d(t,{render:()=>X});var i=e(2685),r=e(3227),a=e(5616),c=e(6163);e(7827),e(3002),e(739),e(6320),e(2217),e(2941),e(6348);var o=e(1177);e(1293);var u=e(6827),s=e(7829),h=e(2954),f=(0,u.K)((n,t,{parentById:e})=>{let i=new Set,r=n;if(n===t)return e[n]||"root";for(;r;){if(i.add(r),r===t)return r;r=e[r]}for(r=t;r;){if(i.has(r))return r;r=e[r]}return"root"},"findCommonAncestor");function l(n,{measure:t}){let e=n.config?.elk?.lineHops;if(!1===e)return;let r=n.edges.filter(n=>Array.isArray(n.points)&&n.points.length>=2).map(n=>({id:n.id,points:n.points,curve:n.curve,arrowTypeStart:n.arrowTypeStart,arrowTypeEnd:n.arrowTypeEnd}));(0,i.Z)(t.groups.edgePaths,r,{enabled:!0,jumpRadius:6,jumpStyle:"gap"===e?"gap":"arc"})}(0,u.K)(l,"applyElkLineJumps");var b={},w={},d={},g={},p=10,m=(0,u.K)((n,t,e=.5)=>{let i=n.width/2,r=n.height/2,a=n.x-i,c=n.x+i,o=n.y-r,u=n.y+r,s=Math.abs(t.x-a)<=e&&t.y>=o-e&&t.y<=u+e,h=Math.abs(t.x-c)<=e&&t.y>=o-e&&t.y<=u+e,f=Math.abs(t.y-o)<=e&&t.x>=a-e&&t.x<=c+e,l=Math.abs(t.y-u)<=e&&t.x>=a-e&&t.x<=c+e;return s||h||f||l},"onBorder"),v=(0,u.K)((n,t,e)=>{let i=n.x,r=n.y,a=Math.abs(i-e.x),c=n.width/2,o=e.x<t.x?c-a:c+a,u=n.height/2,s=Math.abs(t.y-e.y),h=Math.abs(t.x-e.x);if(Math.abs(r-t.y)*c>Math.abs(i-t.x)*u){let n=e.y<t.y?t.y-u-r:r-u-t.y;o=h*n/s;let i={x:e.x<t.x?e.x+o:e.x-h+o,y:e.y<t.y?e.y+s-n:e.y-s+n};return 0===h&&(i.x=t.x),0===s&&(i.y=t.y),i}{let n=s*(o=e.x<t.x?t.x-c-i:i-c-t.x)/h,r=e.x<t.x?e.x+h-o:e.x-h+o,a=e.y<t.y?e.y+n:e.y-n;return 0===h&&(r=t.x),0===s&&(a=t.y),{x:r,y:a}}},"intersection"),y=(0,u.K)((n,t)=>{let e=n.x,i=n.y,r=Math.abs(t.x-e),a=Math.abs(t.y-i),c=n.width/2,o=n.height/2;return r>=c||a>=o},"outsideNode"),k=(0,u.K)((n,t,e=p)=>{let i=Math.abs(t.x-n.x),r=Math.abs(t.y-n.y),a=n.width/2,c=n.height/2;if(1>Math.abs(i-a)||1>Math.abs(r-c)){let i=t.x-n.x,r=t.y-n.y,a=Math.sqrt(i*i+r*r);if(a>0)return{x:n.x+i/a*(a+e),y:n.y+r/a*(a+e)}}return t},"ensureTrulyOutside"),M=(0,u.K)((n,t,e)=>{let i=1>Math.abs(t.x-n.x),r=1>Math.abs(t.y-n.y);return{x:i?t.x:t.x<n.x?n.x-n.width/4:n.x+n.width/4,y:r?t.y:e.y}},"makeInsidePoint"),E=(0,u.K)((n,t,e)=>{if(!n?.intersect)return null;let i=n.intersect(e);return!i||e.x<t.x&&i.x>t.x||e.x>t.x&&i.x<t.x||1>=Math.hypot(e.x-i.x,e.y-i.y)?null:i},"tryNodeIntersect"),T=(0,u.K)((n,t,e)=>{let i=M(n,t,e);return v(n,t,i)},"fallbackIntersection"),j=(0,u.K)((n,t,e)=>{let i=n.intersect?.(e);return!!i&&Math.hypot(e.x-t.x,e.y-t.y)<=Math.hypot(i.x-t.x,i.y-t.y)+1e-9},"insideOutline"),S=(0,u.K)((n,t,e,i)=>{if(!n?.intersect)return null;let r=i.x-e.x,a=i.y-e.y;if(0===r&&0===a||Math.abs(r)>1e-6&&Math.abs(a)>1e-6)return null;let c={x:t.x,y:t.y},o=Math.abs(r)>Math.abs(a),s=(0,u.K)(n=>o?{x:n,y:e.y}:{x:e.x,y:n},"along"),h=o?c.x:c.y,f=o?e.x:e.y;if(!j(n,c,s(h)))return null;if(j(n,c,s(f)))return{...e};for(let t=0;t<20;t++){let t=(h+f)/2;j(n,c,s(t))?h=t:f=t}return s(h)},"outlineAttachPoint"),P=(0,u.K)((n,t,e,i)=>{let r=k(t,e);return E(n,t,r)??T(t,r,i)},"computeNodeIntersection"),O=(0,u.K)((n,t,e,i=.1)=>{if(e&&0!==n.length)if("start"===t)n.length>0&&Math.abs(n[0].x-e.x)<i&&Math.abs(n[0].y-e.y)<i?n.shift():n[0]=e;else{let t=n.length-1;n.length>0&&Math.abs(n[t].x-e.x)<i&&Math.abs(n[t].y-e.y)<i?n.pop():n[t]=e}},"replaceEndpoint"),C=(0,u.K)(n=>"string"!=typeof n?0:Math.max(c.hq[n]??0,c.Nq[n]??0),"markerPathOffset"),I={arrow_open:["none","none"],arrow_cross:["none","arrow_cross"],double_arrow_cross:["arrow_cross","arrow_cross"],arrow_point:["none","arrow_point"],double_arrow_point:["arrow_point","arrow_point"],arrow_circle:["none","arrow_circle"],double_arrow_circle:["arrow_circle","arrow_circle"]},A="[top=12,left=12,bottom=12,right=12]",L={"spacing.baseValue":15,"spacing.nodeNode":15,"elk.aspectRatio":"1.6","elk.expandNodes":"true","elk.rectpacking.trybox":"true","elk.rectpacking.packing.compaction.rowHeightReevaluation":"true","elk.rectpacking.packing.compaction.iterations":10,"elk.rectpacking.whiteSpaceElimination.strategy":"EQUAL_BETWEEN_STRUCTURES","elk.rectpacking.widthApproximation.strategy":"SCANLINE"},N=["nodeSize.constraints","nodeSize.minimum","elk.algorithm","elk.aspectRatio","elk.contentAlignment","elk.expandNodes","elk.padding",...Object.keys(L)];function x(n){for(let t of N)delete n[t];n["spacing.baseValue"]=24,n["spacing.nodeNode"]=50}(0,u.K)(x,"clearContainerAlgorithmOptions");var $=new Set(["elk.layered","elk.box","elk.rectpacking","elk.stress","elk.force","elk.mrtree","elk.radial","elk.sporeOverlap"]);function D(n,t){if("string"==typeof n)return $.has(n)?n:void t?.warn(`Unknown container layout algorithm "${n}". Supported values: ${[...$].join(", ")}. Falling back to the diagram's layout algorithm.`)}function R(n){switch(n){case"LR":return"RIGHT";case"RL":return"LEFT";case"TB":case"TD":default:return"DOWN";case"BT":return"UP"}}function K(n){return(0,a.qV)(n.shape)?(n.labelData?.width??n.labels?.[0]?.width??0)+(n.padding??0):0}function F(n){return(0,a.qV)(n.shape)?{"nodeSize.constraints":"[MINIMUM_SIZE, NODE_LABELS]","nodeSize.minimum":`(${K(n)}, 0)`}:{}}function _(n,t,e,i){let r=(n.labelData?.width??0)+2*(n.padding??0),a=n.labelData?.height??0,c=Y(t?.preset),o={...F(n),"spacing.baseValue":24,"elk.layered.spacing.edgeNodeBetweenLayers":30,"elk.spacing.edgeEdge":20,"spacing.nodeNode":50,"elk.padding":"[top=24,left=24,bottom=24,right=24]","nodeLabels.placement":"[H_CENTER V_TOP, INSIDE]","elk.layered.mergeEdges":t?.mergeEdges,"elk.layered.nodePlacement.bk.fixedAlignment":t?.nodePlacementAlignment??c.alignment,"elk.layered.nodePlacement.strategy":t?.nodePlacementStrategy??c.containerPlacement,"elk.layered.cycleBreaking.strategy":t?.cycleBreakingStrategy??c.cycleBreaking,"elk.layered.nodePlacement.networkSimplex.nodeFlexibility":"PORT_POSITION","elk.spacing.portsSurrounding":A},u=D(n.metadata?.algorithm,i);if(u){let n=a+15;if(o["nodeSize.constraints"]="[MINIMUM_SIZE, NODE_LABELS]",o["nodeSize.minimum"]=`(${r}, ${n+15})`,o["elk.algorithm"]=u,o["elk.hierarchyHandling"]="SEPARATE_CHILDREN",o["elk.aspectRatio"]="2.0",o["elk.contentAlignment"]="H_CENTER V_TOP",o["elk.expandNodes"]="true",o["elk.padding"]=`[top=${n},left=15,bottom=15,right=15]`,"elk.rectpacking"===u){let n=a+10;Object.assign(o,L,{"elk.padding":`[top=${n},left=10,bottom=10,right=10]`,"nodeSize.minimum":`(${r}, ${n+10})`})}}else n.dir&&(o["elk.algorithm"]=e,o["elk.direction"]=R(n.dir),o["elk.hierarchyHandling"]="SEPARATE_CHILDREN");return Object.assign(o,g),o}function B(n,t){let e=new Set,i=new Map;for(let{id:t,parentId:e}of n){let n=i.get(e);n?n.push(t):i.set(e,[t])}for(let n of i.values()){let i=new Set(n),r=new Map(n.map(n=>[n,0])),a=new Map(n.map(n=>[n,[]])),c=[];for(let n of t){let t=null==n.source?void 0:String(n.source),e=null==n.target?void 0:String(n.target);t&&e&&t!==e&&i.has(t)&&i.has(e)&&(r.set(e,(r.get(e)??0)+1),a.get(t).push(e),a.get(e).push(t),c.push([t,e]))}let o=new Map,s=0;for(let t of n){if(o.has(t))continue;let n=[t];for(o.set(t,s);n.length>0;){let t=n.pop();for(let e of a.get(t))o.has(e)||(o.set(e,s),n.push(e))}s++}let h=Array(s).fill(!1);for(let t of n)(r.get(t)??0)===0&&(h[o.get(t)]=!0);if(!h.includes(!1))continue;let f=new Map(n.map(n=>[n,[]])),l=new Map(n.map(n=>[n,0])),b=(0,u.K)((n,t)=>{let e=new Set([n]),i=[n];for(;i.length>0;){let n=i.pop();if(n===t)return!0;for(let t of f.get(n))e.has(t)||(e.add(t),i.push(t))}return!1},"reaches");for(let[n,t]of c)b(t,n)||(f.get(n).push(t),l.set(t,(l.get(t)??0)+1));let w=Array(s).fill(!1);for(let t of n){let n=o.get(t);h[n]||w[n]||0!==l.get(t)||(e.add(t),w[n]=!0)}}return e}function H(n,t){if(n.config.elk?.keepEntryNodeOnTop)for(let e of B(n.nodes,n.edges.map(n=>({source:n.start,target:n.end})))){let n=t[e];n&&(n.layoutOptions={...n.layoutOptions,"elk.layered.layering.layerConstraint":"FIRST"})}}function U(n,t){let e=Q(t);return z(e),nN(n,e),{algorithm:e.algorithm}}async function G(n,t){let e=Q(t),i=q(n,e),r=new h;e.log.info("Drawing flowchart using v4 renderer",r);let a=await nh(r,i.elkGraph,e.log);return nf(n,a,i,e.log),V(n.nodes),a}function q(n,t){let e={},i=Z(n,t.algorithm,t.rootLayoutOptions),r=n.direction??"DOWN";i.layoutOptions["elk.direction"]=R(r);let a=nn(n.nodes,t.log);return nt(n.nodes,i,e,t),na(n,i,e,t),no(n,e,a,t),nu(i,e,a,t.log),H(n,e),{elkGraph:i,nodeDb:e,parentLookupDb:a}}(0,u.K)(D,"resolveContainerAlgorithm"),(0,u.K)(R,"dir2ElkDirection"),(0,u.K)(K,"groupTitleWidth"),(0,u.K)(F,"groupTitleSizeOptions"),(0,u.K)(_,"buildSubgraphLayoutOptions"),(0,u.K)(B,"findCyclicEntryNodes"),(0,u.K)(H,"applyCyclicEntryConstraint"),(0,u.K)(U,"prepareLayoutForElk"),(0,u.K)(G,"runElkLayoutCore"),(0,u.K)(q,"buildElkGraphFromLayoutData");var X=(0,r.xY)({afterPaint:l,prepareLayout:U,measureLayout:(0,u.K)((n,t)=>(0,r.QV)(n,t,{unwrapGroupLabels:!0}),"measureLayout"),runLayoutCore:G,paintOptions:{skipIntersect:!0}});function z(n){(0,o.XV)(n.getConfig())}function V(n){let t=new Map(n.map(n=>[n.id,n]));n.sort((n,e)=>n.isGroup!==e.isGroup?n.isGroup?-1:1:n.isGroup&&e.isGroup?W(n,t)-W(e,t):0)}function W(n,t){let e=0,i=new Set,r=n.parentId;for(;r&&!i.has(r);){i.add(r);let n=t.get(r);if(!n?.isGroup)break;e++,r=n.parentId}return e}function Q(n){let t=n.helpers;if(!t)throw Error("ELK layout requires Mermaid internal helpers");return{algorithm:n.preparedLayout?.algorithm??n.options?.algorithm,rootLayoutOptions:n.options?.rootLayoutOptions,common:t.common,getConfig:t.getConfig,interpolateToCurve:t.interpolateToCurve,log:t.log}}(0,u.K)(z,"syncHostConfig"),(0,u.K)(V,"orderNodesForElkPaint"),(0,u.K)(W,"getGroupDepth"),(0,u.K)(Q,"getElkLayoutContext");var J={default:{layering:"NETWORK_SIMPLEX",placement:"BRANDES_KOEPF",containerPlacement:"BRANDES_KOEPF",alignment:"BALANCED",cycleBreaking:"DEPTH_FIRST"},legacy:{layering:"NETWORK_SIMPLEX",placement:"BRANDES_KOEPF",containerPlacement:"BRANDES_KOEPF",alignment:"NONE",cycleBreaking:"GREEDY"},modelOrder:{layering:"NETWORK_SIMPLEX",placement:"NETWORK_SIMPLEX",containerPlacement:"BRANDES_KOEPF",alignment:"NONE",cycleBreaking:"GREEDY_MODEL_ORDER"},depthFirst:{layering:"NETWORK_SIMPLEX",placement:"NETWORK_SIMPLEX",containerPlacement:"BRANDES_KOEPF",alignment:"NONE",cycleBreaking:"DEPTH_FIRST"}};function Y(n){return void 0!==n&&Object.hasOwn(J,n)?J[n]:J.default}function Z(n,t,e){let i=Y(n.config.elk?.preset),r={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","elk.algorithm":t,"elk.layered.nodePlacement.strategy":n.config.elk?.nodePlacementStrategy??i.placement,"elk.layered.nodePlacement.bk.fixedAlignment":n.config.elk?.nodePlacementAlignment??i.alignment,"elk.layered.mergeEdges":n.config.elk?.mergeEdges,"elk.direction":"DOWN","spacing.baseValue":40,"elk.layered.crossingMinimization.forceNodeModelOrder":n.config.elk?.forceNodeModelOrder,"elk.layered.considerModelOrder.strategy":n.config.elk?.considerModelOrder,"elk.layered.unnecessaryBendpoints":!0,"elk.layered.cycleBreaking.strategy":n.config.elk?.cycleBreakingStrategy??i.cycleBreaking,"elk.layered.layering.strategy":n.config.elk?.layeringStrategy??i.layering,"elk.layered.layering.coffmanGraham.layerBound":n.config.elk?.layeringLayerBound,"elk.layered.wrapping.multiEdge.improveCuts":!0,"elk.layered.wrapping.multiEdge.improveWrappedEdges":!0,"elk.layered.edgeRouting.selfLoopDistribution":"EQUALLY","elk.layered.mergeHierarchyEdges":!0,"elk.spacing.portsSurrounding":A},children:[],edges:[]};return"elk.rectpacking"===t&&Object.assign(r.layoutOptions,L,{"elk.contentAlignment":"H_CENTER V_TOP","elk.padding":"[top=15,left=15,bottom=15,right=15]"}),e&&Object.assign(r.layoutOptions,e),Object.assign(r.layoutOptions,b,w,d),r}function nn(n,t){let e={parentById:{},childrenById:{}},i=n.filter(n=>n.isGroup);return t.info("Subgraphs - ",i),i.forEach(t=>{n.filter(n=>n.parentId===t.id).forEach(n=>{e.parentById[n.id]=t.id,e.childrenById[t.id]??=[],e.childrenById[t.id].push(n.id)})}),e}function nt(n,t,e,i,r){let a=n.filter(n=>n?.parentId===r);return i.log.info("addVertices APA12",a,r),a.forEach(r=>{ne(t,n,r,e,i)}),t}function ne(n,t,e,i,r){let a=ni(e);n.children.push(a),i[e.id]=a,e.isGroup&&(a.children=[],nt(t,a,i,r,e.id),a.labelData=nr(e,r.getConfig()))}function ni(n){let t={...n};return delete t.domId,n.isGroup?t.children=[]:(t.width=n.width??0,t.height=n.height??0,n.spreadPorts&&(t.layoutOptions={...t.layoutOptions,"elk.portAlignment.default":"CENTER"})),t}function nr(n,t){let e=n.labelData;return e||(n.labelBBox?{width:n.labelBBox.width,height:Math.max(0,n.labelBBox.height-2),wrappingWidth:n.wrappingWidth??t.flowchart?.wrappingWidth}:{width:0,height:0,wrappingWidth:n.wrappingWidth??t.flowchart?.wrappingWidth})}function na(n,t,e,i){i.log.info("abc78 DAGA edges = ",n);let r={};return n.edges.forEach(n=>{let a=n.id;r[a]=(r[a]??-1)+1,n.id=a,i.log.info("abc78 new link id to be used is",a,a,r[a]);let{source:c,target:o,sourceId:u,targetId:s}=nc(n,e);i.log.debug("abc78 source and target",c,o),t.edges.push({...n,sources:[c],targets:[o],sourceId:u,targetId:s,labels:[{width:n.width??0,height:n.height??0,orgWidth:n.width??0,orgHeight:n.height??0,text:n.label??"",layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}]})}),t}function nc(n,t){let e=n.start,i=n.end,r=e?t[e]:void 0,a=i?t[i]:void 0;return r&&a?{source:e,target:i,sourceId:e,targetId:i}:{source:e,target:i}}function no(n,t,e,i){n.nodes.forEach(r=>{let a=t[r.id];a&&void 0!==e.childrenById[a.id]&&(a.labels=[{text:a.label,width:a?.labelData?.width??50,height:a?.labelData?.height??50}],i.log.debug("UIO node label",a?.labelData?.width,a.padding),a.layoutOptions=_(a,n.config.elk,i.algorithm,i.log),delete a.x,delete a.y,delete a.width,delete a.height)})}function nu(n,t,e,i){i.debug("APA01 processing edges, count:",n.edges.length),n.edges.forEach((n,r)=>{i.debug("APA01 processing edge",r,":",n);let a=n.sources[0],c=n.targets[0];if(i.debug("APA01 source:",a,"target:",c),i.debug("APA01 nodeDb[source]:",t[a]),i.debug("APA01 nodeDb[target]:",t[c]),t[a]&&t[c]&&t[a].parentId!==t[c].parentId){let n=f(a,c,e);ns(t,a,n,i),ns(t,c,n,i)}})}function ns(n,t,e,i){let r=n[t];r&&(r.layoutOptions??={},"SEPARATE_CHILDREN"===r.layoutOptions["elk.hierarchyHandling"]&&D(r.metadata?.algorithm)&&(i.debug("Dropping explicit algorithm for node",r.id,"due to cross-boundary edges"),x(r.layoutOptions),Object.assign(r.layoutOptions,F(r))),r.layoutOptions["elk.hierarchyHandling"]="INCLUDE_CHILDREN",r.id!==e&&r.parentId&&ns(n,r.parentId,e,i))}async function nh(n,t,e){let i=globalThis.__mermaidProfiler;try{let r;i?.begin("layoutCore");try{r=await n.layout(t)}finally{i?.end()}return e.debug("APA01 after - success"),e.debug("APA01 layout result:",r),r}catch(n){throw e.error("ELK layout error:",n),n}}function nf(n,t,e,i){let r=new Map(n.nodes.map(n=>[n.id,n]));nd(t.children??[],e,r,0,0,0,i),nw(t.children??[],e,r,t),nM(n,t,e,i)}function nl(n,t=new Set){for(let e of n.children??[])t.add(e.id),nl(e,t);return t}function nb(n,t,e,i){let r=[];for(let a of n.edges??[]){let n=a.sources?.[0]??a.start,c=a.targets?.[0]??a.end,o=t.has(n)&&t.has(c),u=n===i,s=c===i;if(!o&&!u&&!s)continue;let h=nj(n,c,e.parentLookupDb,e.nodeDb);for(let n of a.sections??[])for(let t of o?[n.startPoint,...n.bendPoints??[],n.endPoint]:[u?n.startPoint:null,s?n.endPoint:null])t&&r.push({x:t.x+h.x,y:t.y+h.y})}return r}function nw(n,t,e,i={}){for(let r of n){if(!r?.isGroup)continue;let n=r.children??[];nw(n,t,e,i);let a=t.nodeDb[r.id],c=n.map(n=>t.nodeDb[n.id]).filter(n=>n?.offset&&n.width&&n.height);if(!a?.offset||0===c.length)continue;let o=nb(i,nl(r),t,r.id),u=[...c.map(n=>n.offset.posX),...c.map(n=>n.offset.posX+n.width),...o.map(n=>n.x)],s=[...c.map(n=>n.offset.posY),...c.map(n=>n.offset.posY+n.height),...o.map(n=>n.y)],h=a.offset,f=Math.max(h.posX,Math.min(...u)-24),l=Math.min(h.posX+a.width,Math.max(...u)+24),b=Math.min(h.posY+a.height,Math.max(...s)+24),w=h.posY,d=K(r),g=f,p=l-f;if(p<d){g-=(d-p)/2,p=d;let n=h.posX+a.width;g=Math.max(h.posX,Math.min(g,n-p)),p=Math.min(p,a.width)}let m=b-w;if(m<=0||p<=0)continue;a.elkOrigin??={posX:h.posX,posY:h.posY},a.offset.posX=g,a.offset.width=p,a.offset.height=m,a.width=p,a.height=m,a.x=g+p/2,a.y=w+m/2;let v=e.get(r.id);v&&(v.x=a.x,v.y=a.y,v.width=p,v.height=m)}}function nd(n,t,e,i,r,a,c){n.forEach(n=>{if(!n)return;let o=t.nodeDb[n.id]??n,u=Math.max(n.width,n.labels&&n.labels[0]?.width||0),s={posX:n.x+i,posY:n.y+r,x:i,y:r,depth:a,width:u,height:n.height};o.offset=s,o.x=s.posX+n.width/2,o.y=s.posY+n.height/2,o.width=n.width,o.height=n.height;let h=e.get(n.id);h&&(h.x=o.x,h.y=o.y,h.width=n.isGroup?Math.max(n.width,n.labelData?.width??0):n.width,h.height=n.height,h.labelData=n.labelData,h.labels=n.labels),n.isGroup?(c.debug("Id abc88 subgraph = ",n.id,n.x,n.y,n.labelData),nd(n.children??[],t,e,s.posX,s.posY,a+1,c)):c.info("Id NODE = ",n.id,n.x,n.y,i,r,`translate(${o.x}, ${o.y})`)})}function ng(n,t){let e=Math.abs(t.x-n.x),i=Math.abs(t.y-n.y);return e>.01&&i<=.01?"h":i>.01&&e<=.01?"v":void 0}function np(n){let t=nm(n)??n,e=nm([...t].reverse());return e&&(t=e.reverse()),t}function nm(n){if(n.length<5)return null;let[t,e,i,r]=n,a=ng(t,e);if(!a||ng(i,r)!==a||ng(e,i)!==("h"===a?"v":"h")||Math.hypot(e.x-t.x,e.y-t.y)>30)return null;let c="h"===a?Math.abs(i.y-e.y):Math.abs(i.x-e.x);if(c<.01||c>16||!("h"===a?Math.sign(e.x-t.x)===Math.sign(r.x-i.x):Math.sign(e.y-t.y)===Math.sign(r.y-i.y)))return null;let o=3;for(;o+1<n.length&&ng(n[o],n[o+1])===a;)o++;if(o===n.length-1)return null;let u=[...n];for(let e=2;e<=o;e++)u[e]="h"===a?{x:n[e].x,y:t.y}:{x:t.x,y:n[e].y};return u.splice(1,2),u}function nv(n,t,e,i){let r=(0,u.K)((n,t,e)=>(t.x-n.x)*(e.y-n.y)-(t.y-n.y)*(e.x-n.x),"side"),a=r(e,i,n),c=r(e,i,t),o=r(n,t,e),s=r(n,t,i);return(a>0&&c<0||a<0&&c>0)&&(o>0&&s<0||o<0&&s>0)}function ny(n,t){let e=0;for(let i=0;i<n.length-1;i++)for(let r=0;r<t.length-1;r++)nv(n[i],n[i+1],t[r],t[r+1])&&e++;return e}function nk(n){let t=n.map(n=>n.points??[]);for(let[e,i]of n.entries()){let n=t[e];if(n.length<5)continue;let r=np(n);if(r===n)continue;let a=0,c=0;for(let[i,o]of t.entries())i===e||o.length<2||(a+=ny(n,o),c+=ny(r,o));c>a||(i.points=r,t[e]=r)}}function nM(n,t,e,i){let r=new Map(n.edges.map(n=>[n.id,n])),a=n.config.elk?.straightenEdges!==!1,c=new Map(n.nodes.map(n=>[n.id,n])),o=new Set;t.edges?.forEach(n=>{if(!n.sections?.length)return;let t=e.nodeDb[n.sources?.[0]??n.start],i=e.nodeDb[n.targets?.[0]??n.end];if(!t||!i)return;let r=nj(n.start??n.sourceId??n.sources?.[0],n.end??n.targetId??n.targets?.[0],e.parentLookupDb,e.nodeDb),a=n.sections[0];"rect33"!==t.shape&&nE(t,{x:a.startPoint.x+r.x,y:a.startPoint.y+r.y},c,o),"rect33"!==i.shape&&nE(i,{x:a.endPoint.x+r.x,y:a.endPoint.y+r.y},c,o)}),t.edges?.forEach(n=>{let t=r.get(n.id);if(!t)return;let a=n.sources?.[0]??n.start,c=n.targets?.[0]??n.end,o=e.nodeDb[a],s=e.nodeDb[c];if(!o||!s)return;if(!n.sections?.length){let e=(0,u.K)(n=>({x:(n.offset?.posX??n.x??0)+(n.width??0)/2,y:(n.offset?.posY??n.y??0)+(n.height??0)/2}),"centre"),r=e(o),a=e(s);o.x=r.x,o.y=r.y,s.x=a.x,s.y=a.y;let c=nS([r,a],o,s,i);t.points=c,t.curve="linear";let h=c[0],f=c[c.length-1];t.x=(h.x+f.x)/2,t.y=(h.y+f.y)/2,i.debug("APA18 no edge sections, using a straight line",n.id,t.points);return}let h=n.start??n.sourceId??a,f=n.end??n.targetId??c,l=nj(h,f,e.parentLookupDb,e.nodeDb);i.debug("APA18 offset",l,h," ==> ",f,"edge:",n,o);let b=nT(n.sections[0],l);o.x=o.offset.posX+o.width/2,o.y=o.offset.posY+o.height/2,s.x=s.offset.posX+s.width/2,s.y=s.offset.posY+s.height/2,"rect33"!==o.shape&&b.unshift({x:o.x,y:o.y}),"rect33"!==s.shape&&b.push({x:s.x,y:s.y}),t.points=nA(nL(nS(b,o,s,i),nF(s),nC(t),i),nF(o),nI(t),i),t.curve="rounded";let w=n.labels?.[0];w&&(t.x=w.x+l.x+w.width/2,t.y=w.y+l.y+w.height/2)}),a&&nk(n.edges)}function nE(n,t,e,i){let r=n.width??0,a=n.height??0,c=n.offset.posY,o=.5>=Math.abs(t.y-c)||.5>=Math.abs(t.y-(c+a));if((o?r:a)>=24||i.has(n.id))return;i.add(n.id);let u=o?t.x-(n.offset.posX+r/2):t.y-(n.offset.posY+a/2);if(.01>Math.abs(u))return;o?(n.offset.posX+=u,n.x=n.offset.posX+r/2):(n.offset.posY+=u,n.y=n.offset.posY+a/2);let s=e.get(n.id);s&&(s.x=n.offset.posX+r/2,s.y=n.offset.posY+a/2)}function nT(n,t){let e=n.startPoint,i=n.endPoint,r=(n.bendPoints?n.bendPoints:[]).map(n=>({x:n.x+t.x,y:n.y+t.y}));return[{x:e.x+t.x,y:e.y+t.y},...r,{x:i.x+t.x,y:i.y+t.y}]}function nj(n,t,e,i){let r=f(n,t,e);if(void 0===r||"root"===r)return{x:0,y:0};let a=i[r],c=a?.elkOrigin??a?.offset;return{x:c?.posX??0,y:c?.posY??0}}function nS(n,t,e,i){let r,a=Array.isArray(n)?[...n]:[],c=nF(e);i.debug("PPP cutter2: Points before cutter2:",JSON.stringify(n),"endBounds:",c,m(c,n[n.length-1]));{let n=nF(t),c=nF(e),o=!!t?.isGroup,u=!!e?.isGroup,{candidate:s,centerApprox:h}=nH(a,t,"start"),{candidate:f,centerApprox:l}=nH(a,e,"end"),b=o&&m(n,s),w=u&&m(c,f);nU(a,"start",b&&h),nU(a,"end",w&&l),o&&!b&&(b=nG(a,n,"start")),u&&!w&&(w=nG(a,c,"end")),b||w?(b||nq(a,t,n,i),w||nX(a,e,c,i),i.debug("PPP cutter2: skipping cutter2 due to on-border group endpoint(s)",{skipStart:b,skipEnd:w,startCenterApprox:h,endCenterApprox:l,startCandidate:s,endCandidate:f}),r=a):r=nV(t,e,a,i)}if(i.debug("PPP cutter2: Points after cutter2:",JSON.stringify(r)),!Array.isArray(r)||r.length<2||nP(r)){i.warn("POI cutter2: Invalid points from cutter2, falling back to prevPoints",r);let n=a.filter(n=>Number.isFinite(n?.x)&&Number.isFinite(n?.y));r=n.length>=2?n:a}return i.debug("UIO cutter2: Points after cutter2 (sanitized):",r),nO(r,i)}function nP(n){return n?.some(n=>!Number.isFinite(n?.x)||!Number.isFinite(n?.y))}function nO(n,t){let e=n.filter((n,t,e)=>{if(0===t)return!0;let i=e[t-1];return Math.abs(n.x-i.x)>1e-6||Math.abs(n.y-i.y)>1e-6});return e.length!==n.length&&t.debug("UIO cutter2: removed consecutive duplicate points",{before:n,after:e}),e}function nC(n){return C(n.arrowTypeEnd)}function nI(n){return C(n.arrowTypeStart)}function nA(n,t,e,i){if(e<=0||n.length<3)return n;let r=n[0],a=n[1],c=Math.hypot(a.x-r.x,a.y-r.y);if(c>=Math.max(8,2*e)||!m(t,a,1))return n;let o=[r,...n.slice(2)];return i.debug("UIO cutter2: removed short start marker segment",{before:n,after:o,markerOffset:e,segmentLength:c}),o}function nL(n,t,e,i){if(e<=0||n.length<3)return n;let r=n[n.length-1],a=n[n.length-2],c=Math.hypot(r.x-a.x,r.y-a.y);if(c>=Math.max(8,2*e)||!m(t,a,1))return n;let o=[...n.slice(0,-2),r];return i.debug("UIO cutter2: removed short end marker segment",{before:n,after:o,markerOffset:e,segmentLength:c}),o}function nN(n,t){let e=n.edges.defaultInterpolate,i=n.edges.defaultStyle,r=t.getConfig();n.edges.forEach(n=>{let a=nR(n,{defaultStyle:i,defaultInterpolate:e,confCurve:r.curve},t);Object.assign(n,a)})}function nx(n){return void 0!==n.classes?n.classes:n.start&&n.end?`flowchart-link LS_${n.start} LE_${n.end}`:void 0}function n$(n,t,e){let i="normal",r="solid",a=[],c=[];return"dotted"===n?(r="dotted",a=["fill:none","stroke-width:2px","stroke-dasharray:3"]):"thick"===n?(i="thick",a=["stroke-width: 3.5px","fill:none"]):(a=t??["fill:none"],void 0!==e&&(c=e)),{thickness:i,pattern:r,style:a,labelStyle:c}}function nD(n,t,e){return void 0!==n?n:void 0!==t?t:e}function nR(n,t,e){let i={};i.minlen=n.minlen??n.length??1,i.text=n.text??n.label,i.arrowhead=n.arrowhead??("arrow_open"===n.type?"none":"normal");let r=I[n.type??"arrow_open"]??I.arrow_open;i.arrowTypeStart=n.arrowTypeStart??r[0],i.arrowTypeEnd=n.arrowTypeEnd??r[1],i.startLabelRight=n.startLabelRight,i.endLabelLeft=n.endLabelLeft;let a=n$(n.stroke,t.defaultStyle,t.defaultLabelStyle);i.thickness=n.thickness??a.thickness,i.pattern=n.pattern??a.pattern,i.style=n.style??a.style,i.labelStyle=n.labelStyle??a.labelStyle,i.classes=nx(n),i.curve=e.interpolateToCurve(nD(n.curve??n.interpolate,t.defaultInterpolate,t.confCurve),s.lUB);let c=(i.text??"")!=="";return void 0!==n.arrowheadStyle?i.arrowheadStyle=n.arrowheadStyle:(c||void 0!==n.style)&&(i.arrowheadStyle="fill: #333"),i.labelpos=n.labelpos??(c?"c":void 0),i.labelType=n.labelType,i.label=(n.label??i.text??"").replace(e.common.lineBreakRegex,"\n"),i}function nK(n){return Math.max(n.width??0,K(n))}function nF(n){let t=n?.isGroup?nK(n):n.width;return{x:n.offset.posX+n.width/2,y:n.offset.posY+n.height/2,width:t??0,height:n.height??0,padding:n.padding}}function n_(n,t,e=1e-6){return Math.abs(n-t)<e}function nB(n,t){return n_(n.x,t.x??0)&&n_(n.y,t.y??0)}function nH(n,t,e){if(!n?.length)return{candidate:{x:t.x??0,y:t.y??0},centerApprox:!0};if("start"===e){let e=n[0],i=nB(e,t);return{candidate:i&&n.length>1?n[1]:e,centerApprox:i}}{let e=n[n.length-1],i=nB(e,t);return{candidate:i&&n.length>1?n[n.length-2]:e,centerApprox:i}}}function nU(n,t,e){e&&("start"===t?n.length>0&&n.shift():n.length>0&&n.pop())}function nG(n,t,e){let i="start"===e?1:-1,r="start"===e?0:n.length-1,a=r;for(;r>=0&&r<n.length&&!y(t,n[r]);)r+=i;if(r===a||r<0||r>=n.length)return!1;let c=n[r],o=n[r-i],u=c.x-o.x,s=c.y-o.y,h=Math.min(0===u?1/0:(t.x+Math.sign(u)*t.width/2-o.x)/u,0===s?1/0:(t.y+Math.sign(s)*t.height/2-o.y)/s),f={x:o.x+h*u,y:o.y+h*s};return"start"===e?n.splice(0,r,f):n.splice(r+1,n.length-r-1,f),!0}function nq(n,t,e,i){let r=-1;for(let[t,i]of n.entries())if(y(e,i)){r=t;break}if(-1!==r){let a=P(t,e,n[r],n[0]);O(n,"start",a),i.debug("UIO cutter2: start-only intersection applied",{startIntersection:a})}}function nX(n,t,e,i){let r=-1;for(let t=n.length-1;t>=0;t--)if(y(e,n[t])){r=t;break}if(-1!==r){let a=P(t,e,n[r],n[n.length-1]);O(n,"end",a),i.debug("UIO cutter2: end-only intersection applied",{endIntersection:a})}}function nz(n,t,e,i,r){if(n?.isGroup)return null;let a=e[i],c=e[i+r];return a&&c?S(n,t,a,c):null}function nV(n,t,e,i){let r=nF(n),a=nF(t);if(0===e.length)return[];let c=[...e],o=c[0],u=c[c.length-1];i.debug("PPP cutter2: bounds",{startBounds:r,endBounds:a}),i.debug("PPP cutter2: original points",e);let s=-1;for(let[n,t]of c.entries())-1===s&&y(r,t)&&(s=n);if(-1!==s){let t=c[s],e=nz(n,r,c,s,1)??P(n,r,t,o);i.debug("UIO cutter2: start intersection",e),O(c,"start",e)}let h=null,f=-1;for(let n=c.length-1;n>=0;n--)if(y(a,c[n])){h=c[n],f=n;break}if(!h&&c.length>1&&(h=c[c.length-2],f=c.length-2),h){let n=nz(t,a,c,f,-1)??P(t,a,h,u);i.debug("UIO cutter2: end intersection",{endIntersection:n,outsideIndexForEnd:f}),O(c,"end",n)}if(c.length>1){let n=c[c.length-1],t=c[c.length-2],e=Math.sqrt((n.x-t.x)**2+(n.y-t.y)**2);e<2&&(i.debug("UIO cutter2: trimming tail point (too close)",{distance:e,lastPoint:n,secondLastPoint:t}),c.pop())}return i.debug("UIO cutter2: final points",c),c}(0,u.K)(Y,"resolveElkPreset"),(0,u.K)(Z,"createRootElkGraph"),(0,u.K)(nn,"addSubGraphs"),(0,u.K)(nt,"addVertices"),(0,u.K)(ne,"addVertex"),(0,u.K)(ni,"createElkNode"),(0,u.K)(nr,"getMeasuredLabelData"),(0,u.K)(na,"addEdgesToElkGraph"),(0,u.K)(nc,"getEdgeStartEndPoint"),(0,u.K)(no,"configureSubgraphNodes"),(0,u.K)(nu,"configureCrossHierarchyEdges"),(0,u.K)(ns,"setIncludeChildrenPolicy"),(0,u.K)(nh,"runElkLayout"),(0,u.K)(nf,"applyElkLayoutResult"),(0,u.K)(nl,"collectDescendantIds"),(0,u.K)(nb,"internalEdgePoints"),(0,u.K)(nw,"evenGroupFrames"),(0,u.K)(nd,"applyElkNodePositions"),(0,u.K)(ng,"axisOf"),(0,u.K)(np,"straightenTerminalJogs"),(0,u.K)(nm,"straightenFront"),(0,u.K)(nv,"segmentsCrossStrict"),(0,u.K)(ny,"crossingCount"),(0,u.K)(nk,"straightenEdgeTerminals"),(0,u.K)(nM,"applyElkEdgeLayout"),(0,u.K)(nE,"alignDegenerateNodeToAnchor"),(0,u.K)(nT,"createEdgePointsFromSection"),(0,u.K)(nj,"calcOffset"),(0,u.K)(nS,"sanitizeElkEdgePoints"),(0,u.K)(nP,"hasInvalidPoint"),(0,u.K)(nO,"dedupeConsecutivePoints"),(0,u.K)(nC,"getEndMarkerPathOffset"),(0,u.K)(nI,"getStartMarkerPathOffset"),(0,u.K)(nA,"ensureStartMarkerSegmentLength"),(0,u.K)(nL,"ensureEndMarkerSegmentLength"),(0,u.K)(nN,"applyElkEdgeRenderData"),(0,u.K)(nx,"buildFallbackEdgeClasses"),(0,u.K)(n$,"computeStroke"),(0,u.K)(nD,"getCurve"),(0,u.K)(nR,"buildEdgeData"),(0,u.K)(nK,"getEffectiveGroupWidth"),(0,u.K)(nF,"boundsFor"),(0,u.K)(n_,"approxEq"),(0,u.K)(nB,"isCenterApprox"),(0,u.K)(nH,"getCandidateBorderPoint"),(0,u.K)(nU,"dropAutoCenterPoint"),(0,u.K)(nG,"clipGroupEndpoint"),(0,u.K)(nq,"applyStartIntersectionIfNeeded"),(0,u.K)(nX,"applyEndIntersectionIfNeeded"),(0,u.K)(nz,"attachAlongDepartureAxis"),(0,u.K)(nV,"cutter2")}}]); \ No newline at end of file diff --git a/en/assets/js/5783.7e9699db.js b/en/assets/js/5783.7e9699db.js new file mode 100644 index 0000000..b73bf34 --- /dev/null +++ b/en/assets/js/5783.7e9699db.js @@ -0,0 +1,193 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5783"],{5937(e,t,s){s.d(t,{A:()=>a});var i=s(1553),r=s(6408);let a=(e,t)=>i.A.lang.round(r.A.parse(e)[t])},4918(e,t,s){s.d(t,{o:()=>i});var i=(0,s(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")},2735(e,t,s){s.d(t,{CP:()=>h,Ck:()=>g,HT:()=>p,PB:()=>c,aC:()=>d,lC:()=>l,m:()=>u,tk:()=>o});var i=s(1177),r=s(6827),a=s(6750),n=s(7829),o=(0,r.K)((e,t)=>{let s=e.append("rect");if(s.attr("x",t.x),s.attr("y",t.y),s.attr("fill",t.fill),s.attr("stroke",t.stroke),s.attr("width",t.width),s.attr("height",t.height),t.name&&s.attr("name",t.name),t.rx&&s.attr("rx",t.rx),t.ry&&s.attr("ry",t.ry),void 0!==t.attrs)for(let e in t.attrs)s.attr(e,t.attrs[e]);return t.class&&s.attr("class",t.class),s},"drawRect"),l=(0,r.K)((e,t)=>{o(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"}).lower()},"drawBackgroundRect"),u=(0,r.K)((e,t)=>{let s=t.text.replace(i.H1," "),r=e.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class&&r.attr("class",t.class);let a=r.append("tspan");return a.attr("x",t.x+2*t.textMargin),a.text(s),r},"drawText"),d=(0,r.K)((e,t,s,i)=>{let r=e.append("image");r.attr("x",t),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",n)},"drawImage"),h=(0,r.K)((e,t,s,i)=>{let r=e.append("use");r.attr("x",t),r.attr("y",s);let n=(0,a.sanitizeUrl)(i);r.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),c=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),g=(0,r.K)(()=>{let e=(0,n.Ltv)(".mermaidTooltip");return e.empty()&&(e=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),e},"createTooltip")},5869(e,t,s){s.d(t,{P:()=>n});var i=s(1177),r=s(1293),a=s(6827),n=(0,a.K)((e,t,s,a)=>{e.attr("class",s);let{width:n,height:u,x:d,y:h}=o(e,t);(0,i.a$)(e,u,n,a);let c=l(d,h,n,u,t);e.attr("viewBox",c),r.R.debug(`viewBox configured: ${c} with padding: ${t}`)},"setupViewPortForSVG"),o=(0,a.K)((e,t)=>{let s=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*t,height:s.height+2*t,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,a.K)((e,t,s,i,r)=>`${e-r} ${t-r} ${s} ${i}`,"createViewBox")},6755(e,t,s){s.d(t,{A:()=>a});var i=s(6827),r=s(7829),a=(0,i.K)((e,t)=>{let s;return"sandbox"===t&&(s=(0,r.Ltv)("#i"+e)),("sandbox"===t?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${e}"]`)},"getDiagramElement")},4810(e,t,s){s.d(t,{diagram:()=>Y});var i=s(4918),r=s(6755),a=s(5869),n=s(841),o=s(2391);s(3247);var l=s(2735);s(5616),s(6163),s(7827);var u=s(3002);s(739),s(6320),s(2217);var d=s(2941),h=s(6348),c=s(1177),p=s(1293),g=s(6827),f=s(7829),m=s(9418),y=s(5937),b=s(5582),A={SHAPE_UNSUPPORTED:"SHAPE_UNSUPPORTED",SHAPE_REMOVED:"SHAPE_REMOVED",EDGE_OPERATOR_UNSUPPORTED:"EDGE_OPERATOR_UNSUPPORTED",REFERENCE_EDGE_LABEL_REJECTED:"REFERENCE_EDGE_LABEL_REJECTED",CONNECTOR_REF_UNRESOLVED:"CONNECTOR_REF_UNRESOLVED",CONNECTOR_REF_NOT_A_CONNECTOR:"CONNECTOR_REF_NOT_A_CONNECTOR",METADATA_KEY_MISAPPLIED:"METADATA_KEY_MISAPPLIED",DUPLICATE_ID_NODE:"DUPLICATE_ID_NODE",RESERVED_SYNTHETIC_ID:"RESERVED_SYNTHETIC_ID",CONTAINMENT_VIOLATION:"CONTAINMENT_VIOLATION",EDGE_SEMANTIC_CONTRADICTION:"EDGE_SEMANTIC_CONTRADICTION",FLOW_NO_INPUT:"FLOW_NO_INPUT"},k=new Set([A.SHAPE_UNSUPPORTED,A.SHAPE_REMOVED,A.CONTAINMENT_VIOLATION]);Object.values(A).filter(e=>!k.has(e));var x=new Map([["task","roundedRect"],["tool","subroutine"],["input","lean-right"],["decision","diamond"],["refdoc","lin-doc"],["action","hexagon"],["round","rect"]]),E=new Set(["doc","stadium","terminal","circle","trapezoid","inv_trapezoid","inv-trapezoid","doublecircle","double-circle","typeDeclaration","procs","lean_left","lean-left","in-out","cylinder","ellipse","odd","tag-rect","tagged-rectangle","delay","half-rounded-rectangle","lin-rect","lined-rectangle","win-pane","window-pane","curv-trap","curved-trapezoid"]),C=new Set(["roundedRect","subroutine","subprocess","subproc","framed-rectangle","lean-right","diamond","lin-doc","lined-document","hexagon","hex","connector","collapsedGroup"]),S="roundedRect";function T(e){return e?x.get(e)??e:e}function D(e,t){for(let s of e)if(!s.isGroup){if(s.shape&&"squareRect"!==s.shape&&"rect"!==s.shape||(s.shape=S),E.has(s.shape)){let e=`shape "${s.shape}" was removed in v0.8.1, using "${S}"`;t?.emitError?t.emitError("SHAPE_REMOVED",e,{nodeId:s.id}):p.R.warn(`agentflow: ${e}`),s.shape=S;continue}if(!C.has(s.shape)){let e=`shape "${s.shape}" is not supported, using "${S}"`;t?.emitWarning?t.emitWarning("SHAPE_UNSUPPORTED",e,{nodeId:s.id}):p.R.warn(`agentflow: ${e}`),s.shape=S}}}(0,g.K)(T,"resolveShapeAlias"),(0,g.K)(D,"normaliseNodeShapes");var _=new Map([["tool",0],["task",1],["decision",2],["input",3],["refdoc",4],["connector",5],["action",6]]),v=_.size,F=(0,g.K)(e=>`af-kind-${e}`,"kindClass"),$=[..._.keys()],L=(0,g.K)(e=>Math.max(1,e-v),"containerSlotCount"),B=(0,g.K)((e,t)=>{let s=v+e%L(t);return t>0?s%t:s},"containerSlot");function w(e,t,s){let i=(0,c.D7)().themeVariables?.borderColorArray,r=Array.isArray(i)?i.length:0,a=s.size;for(let i of e??[]){if(i.isGroup||"collapsedGroup"===i.shape){let e=s.get(String(i.id))??a++;i.colorIndex=B(e,r);continue}let e=t(String(i.id));e&&_.has(e)&&(i.cssClasses=`${i.cssClasses??""} ${F(e)}`.replace(/\s+/g," ").trim())}}(0,g.K)(w,"assignColorSlots");var I="agentflow-",M=new Set(["shape","view","icon","img","form","pos","w","h","class","style","labelType"]),N=new Set(["subroutine","subprocess","subproc","framed-rectangle","tool"]),R={flow:"flowGroup"};function O(e){if(Array.isArray(e))return e.map(e=>O(e));if(null===e||"object"!=typeof e)return e;let t={};for(let s of Object.keys(e))"__proto__"!==s&&"constructor"!==s&&"prototype"!==s&&(t[s]=O(e[s]));return t}function V(e){let t,s=!1,i=!1,r=0,a=[];for(let n of e.split("\n")){if(void 0!==t){let e=n.length-n.trimStart().length;if(""===n.trim()||e>t){a.push(n);continue}t=void 0}let e=-1;for(let t=0;t<n.length;t++){let a=n[t];if(i)"\\"===a?t++:'"'===a&&(i=!1);else if(s)"'"===a&&(s=!1);else if('"'===a)i=!0;else if("'"===a)s=!0;else if("#"===a&&(0===t||" "===n[t-1]||" "===n[t-1])){e=t;break}else"["===a||"{"===a?r++:("]"===a||"}"===a)&&(r=Math.max(0,r-1))}if(s||i||r>0){a.push(n);continue}let o=e>=0?n.slice(0,e):n,l=e>=0?n.slice(e):"";if(/:\s*[>|][\d+-]*\s*$/.test(o)){t=n.length-n.trimStart().length,a.push(n);continue}a.push(o.replace(/,([\t ]*)$/,"$1")+l)}return a.join("\n")}(0,g.K)(O,"stripPrototypeKeys"),(0,g.K)(V,"stripLineTrailingCommas");var P=class{constructor(){this.vertexCounter=0,this.config=(0,c.D7)(),this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.globalNodes=new Set,this.connectors=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.diagramId="",this.preserveCommentsWhenParsing=!0,this.frontmatterLineOffset=0,this.elementMappings=[],this.bareVertexMappings=new WeakSet,this.diagnostics=[],this.postParseValidationRun=!1,this.funs=[],this.setAccTitle=c.SV,this.setAccDescription=c.EI,this.setDiagramTitle=c.ke,this.getAccTitle=c.iN,this.getAccDescription=c.m7,this.getDiagramTitle=c.ab,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addGlobal=this.addGlobal.bind(this),this.addConnector=this.addConnector.bind(this),this.addConnectorMapping=this.addConnectorMapping.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.setFrontmatterLineOffset=this.setFrontmatterLineOffset.bind(this),this.addVertexMapping=this.addVertexMapping.bind(this),this.extendVertexMapping=this.extendVertexMapping.bind(this),this.addEdgeMapping=this.addEdgeMapping.bind(this),this.addSubgraphMapping=this.addSubgraphMapping.bind(this),this.emitWarning=this.emitWarning.bind(this),this.emitError=this.emitError.bind(this),this.getDiagnostics=this.getDiagnostics.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{(0,g.K)(this,"AgentFlowDB")}sanitizeText(e){return c.Y2.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(let t of this.vertices.values())if(t.id===e)return this.diagramId?`${this.diagramId}-${t.domId}`:t.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,t,s,i,r,a,o={},l,d){let h,p,g;if(!e||0===e.trim().length)return;if(void 0!==l){let e;e=l.includes("\n")?l+"\n":"{\n"+l+"\n}";try{h=(0,n.H)(e,{schema:n.r})??{}}catch(t){let e=l.includes("\n")?V(l):l;if(e!==l)try{h=(0,n.H)(e+"\n",{schema:n.r})??{}}catch{this.rethrowMetadataYamlError(t,l,d)}else this.rethrowMetadataYamlError(t,l,d)}h=O(h)}if(h&&"string"==typeof h.shape){let e=h,t=T(p=e.shape);t&&t!==p&&(e.shape=t)}let f=this.subGraphLookup.get(e);if(f&&h){f.metadata={...f.metadata,...h};return}let m=this.connectors.get(e);if(m&&h){m.metadata={...m.metadata,...h};return}if("connectors"===e)return;let y=this.edges.find(t=>t.id===e);if(y){let e=h;e?.animate!==void 0&&(y.animate=e.animate),e?.animation!==void 0&&(y.animation=e.animation),e?.curve!==void 0&&(y.interpolate=e.curve),h&&(y.metadata={...y.metadata,...h});return}let b=this.vertices.get(e);if(void 0===b&&(b={id:e,labelType:"text",domId:I+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,b)),this.vertexCounter++,void 0!==t?(this.config=(0,c.D7)(),g=this.sanitizeText(t.text.trim()),b.labelType=t.type,g.startsWith('"')&&g.endsWith('"')&&(g=g.substring(1,g.length-1)),b.text=g):void 0===b.text&&(b.text=e),void 0!==s&&(b.type=s),null!=i&&i.forEach(e=>{b.styles.push(e)}),null!=r&&r.forEach(e=>{b.classes.push(e)}),void 0!==a&&(b.dir=a),void 0===b.props?b.props=o:void 0!==o&&Object.assign(b.props,o),h){if(b.metadata={...b.metadata,...h},h.shape){let e=p??h.shape;if("string"!=typeof e)throw this.positionedShapeError(`No such shape: ${JSON.stringify(e)}.`,d);if(e!==e.toLowerCase()||e.includes("_"))throw this.positionedShapeError(`No such shape: ${e}. Shape names should be lowercase.`,d);if(!(0,u.aP)(h.shape))throw this.positionedShapeError(`No such shape: ${h.shape}.`,d);b.type=h?.shape}h?.label&&(b.text=this.sanitizeText(h.label),b.labelType=this.sanitizeNodeLabelType(h?.labelType))}}positionedShapeError(e,t){let s=Error(e);if(!t)return s;let i=t.first_line+this.frontmatterLineOffset;return Object.assign(s,{hash:{text:"",token:null,line:i-1,loc:{first_line:i,last_line:t.last_line+this.frontmatterLineOffset,first_column:t.first_column,last_column:t.last_column},expected:[]}}),s}rethrowMetadataYamlError(e,t,s){let i;if(!e||"YAMLException"!==e.name||!e.mark||!s)throw e;try{let r=!t.includes("\n"),a=r?"{\n"+t+"\n}":t+"\n",n=s.first_line+this.frontmatterLineOffset,o=s.first_column+2,l=(0,g.K)((e,t)=>r?{line:n,column:o+(1===e?t:0)}:{line:n+e,column:0===e?o+t:t},"toSource"),u=l(e.mark.line,e.mark.column),d=e.reason??(e.message??"").split("\n")[0].replace(/\s*\(\d+:\d+\)\s*$/,""),h=a.split("\n"),c=[];if(r)c.push(1);else for(let t=e.mark.line-1;t<=e.mark.line+1;t++)t<0||t>=h.length||(t!==h.length-1||""!==h[t]||t===e.mark.line)&&c.push(t);let p=Math.max(...c.map(e=>String(l(e,0).line).length)),f=[];for(let t of c){let s=l(t,0).line,i=` ${String(s).padStart(p)} | `;f.push(i+h[t].replace(/\t/g,"\u2192")),t===e.mark.line&&f.push("-".repeat(i.length+e.mark.column)+"^")}i={message:`${d} (${u.line}:${u.column+1}) + +${f.join("\n")}`,markLine:u.line-1,markColumn:u.column,hash:{text:"",token:null,line:u.line-1,loc:{first_line:u.line,last_line:u.line,first_column:u.column,last_column:u.column+1},expected:[]}}}catch{}throw i&&(e.message=i.message,e.mark.line=i.markLine,e.mark.column=i.markColumn,e.hash=i.hash),e}addSingleLink(e,t,s,i){let r={start:e,end:t,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};p.R.info("abc78 Got edge...",r);let a=s.text;if(void 0!==a&&(r.text=this.sanitizeText(a.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=this.sanitizeNodeLabelType(a.type)),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=s.length>10?10:s.length,s.edgeSemantic&&(r.edgeSemantic=s.edgeSemantic)),i&&!this.edges.some(e=>e.id===i))r.id=i,r.isUserDefinedId=!0;else{let e=this.edges.filter(e=>e.start===r.start&&e.end===r.end);0===e.length?r.id=(0,h.rY)(r.start,r.end,{counter:0,prefix:"L"}):r.id=(0,h.rY)(r.start,r.end,{counter:e.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))p.R.info("Pushing edge..."),this.edges.push(r);else throw Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)}isLinkData(e){return null!==e&&"object"==typeof e&&"id"in e&&"string"==typeof e.id}addLink(e,t,s){let i=this.isLinkData(s)?s.id.replace("@",""):void 0;for(let r of(p.R.info("addLink",e,t,i),e))for(let a of t){let n=r===e[e.length-1],o=a===t[0];n&&o?this.addSingleLink(r,a,s,i):this.addSingleLink(r,a,s,void 0)}}updateLinkInterpolate(e,t){e.forEach(e=>{if("default"===e){this.edges.defaultInterpolate=t;return}if("number"==typeof e&&e>=this.edges.length)throw Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);this.edges[e].interpolate=t})}updateLink(e,t){e.forEach(e=>{if("number"==typeof e&&e>=this.edges.length)throw Error(`The index ${e} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===e?this.edges.defaultStyle=t:(this.edges[e].style=t,(this.edges[e]?.style?.length??0)>0&&!this.edges[e]?.style?.some(e=>e?.startsWith("fill"))&&this.edges[e]?.style?.push("fill:none"))})}addClass(e,t){let s=t.join().replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/\xa7\xa7\xa7/g,",").split(";");e.split(",").forEach(e=>{let t=this.classes.get(e);void 0===t&&(t={id:e,styles:[],textStyles:[]},this.classes.set(e,t)),null!=s&&s.forEach(e=>{if(/color/.exec(e)){let s=e.replace("fill","bgFill");t.textStyles.push(s)}t.styles.push(e)})})}setDirection(e){this.direction=e.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(e,t){for(let s of e.split(",")){let e=this.vertices.get(s);e&&e.classes.push(t);let i=this.edges.find(e=>e.id===s);i&&i.classes.push(t);let r=this.subGraphLookup.get(s);r&&r.classes.push(t)}}setTooltip(e,t){if(void 0!==t)for(let s of(t=this.sanitizeText(t),e.split(",")))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(s):s,t)}setClickFun(e,t,s){if("loose"!==(0,c.D7)().securityLevel||void 0===t)return;let i=[];if("string"==typeof s){i=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<i.length;e++){let t=i[e].trim();t.startsWith('"')&&t.endsWith('"')&&(t=t.substr(1,t.length-2)),i[e]=t}}0===i.length&&i.push(e);let r=this.vertices.get(e);r&&(r.haveCallback=!0,this.funs.push(()=>{let s=this.lookUpDomId(e),r=document.querySelector(`[id="${s}"]`);null!==r&&r.addEventListener("click",()=>{h._K.runFunc(t,...i)},!1)}))}setLink(e,t,s){e.split(",").forEach(e=>{let i=this.vertices.get(e);void 0!==i&&(i.link=h._K.formatUrl(t,this.config),i.linkTarget=s)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,t,s){e.split(",").forEach(e=>{this.setClickFun(e,t,s)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(t=>{t(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}isToolDefinition(e){return N.has(e.type)}getTools(){let e=[];for(let t of this.vertices.values())this.isToolDefinition(t)&&e.push(t);return e}getClasses(){return this.classes}setupToolTips(e){let t=(0,l.Ck)();(0,f.Ltv)(e).select("svg").selectAll("g.node").on("mouseover",e=>{let s=(0,f.Ltv)(e.currentTarget),i=s.attr("title");if(null===i)return;let r=e.currentTarget?.getBoundingClientRect();t.transition().duration(200).style("opacity",".9"),t.text(s.attr("title")).style("left",window.scrollX+r.left+(r.right-r.left)/2+"px").style("top",window.scrollY+r.bottom+"px"),t.html(m.A.sanitize(i)),s.classed("hover",!0)}).on("mouseout",e=>{t.transition().duration(500).style("opacity",0),(0,f.Ltv)(e.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.globalNodes=new Set,this.connectors=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=(0,c.D7)(),this.diagramId="",this.vertexCounter=0,this.direction=void 0,this.secCount=-1,this.posCrossRef=[],this.frontmatterLineOffset=0,this.elementMappings=[],this.bareVertexMappings=new WeakSet,this.diagnostics=[],this.postParseValidationRun=!1,(0,c.IU)()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,t,s,i){let r=e?.text?.trim(),a=s?.text;e===s&&s?.text&&/\s/.exec(s.text)&&(r=void 0);let n=(0,g.K)(e=>{let t,s={boolean:{},number:{},string:{}},i=[];return{nodeList:e.filter(function(e){let r=typeof e;return e.stmt&&"dir"===e.stmt?(t=e.value,!1):""!==e.trim()&&(r in s?!s[r].hasOwnProperty(e)&&(s[r][e]=!0):!i.includes(e)&&i.push(e))}),dir:t}},"uniq")(t.flat()),o=n.nodeList,l=n.dir,u=(0,c.D7)().flowchart??{};if(l=l??(u.inheritDir?this.getDirection()??(0,c.D7)().direction??void 0:void 0),"gen-1"===this.version)for(let e=0;e<o.length;e++)o[e]=this.lookUpDomId(o[e]);r=r??"subGraph"+this.subCount,a=a||"",a=this.sanitizeText(a),this.subCount=this.subCount+1;let d={id:r,nodes:o.filter(e=>e!==r&&!this.globalNodes.has(e)),title:a.trim(),classes:[],dir:l,labelType:this.sanitizeNodeLabelType(s?.type),type:i??"flow"};p.R.info("Adding",d.id,d.nodes,d.dir),d.nodes=this.makeUniq(d,this.subGraphs).nodes;let h=this.getPosForId(r);if(-1!==h){let e=this.subGraphs[h];for(let t of d.nodes)e.nodes.includes(t)||e.nodes.push(t);d.title&&(e.title=d.title),d.dir&&(e.dir=d.dir),d.type&&(e.type=d.type),this.subGraphLookup.set(r,e)}else this.subGraphs.push(d),this.subGraphLookup.set(r,d);return r}addGlobal(e){for(let t of e.flat()){if("string"!=typeof t)continue;let e=t.trim();""!==e&&this.globalNodes.add(e)}for(let e of this.subGraphs)e.nodes=e.nodes.filter(e=>!this.globalNodes.has(e))}getPosForId(e){for(let[t,s]of this.subGraphs.entries())if(s.id===e)return t;return -1}indexNodes2(e,t){let s=this.subGraphs[t].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=t,this.subGraphs[t].id===e)return{result:!0,count:0};let i=0,r=1;for(;i<s.length;){let t=this.getPosForId(s[i]);if(t>=0){let s=this.indexNodes2(e,t);if(s.result)return{result:!0,count:r+s.count};r+=s.count}i+=1}return{result:!1,count:r}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}addConnector(e,t){let s=e?.text?.trim();if(!s)return"";let i=t?.text?.trim()??"",r=i.length>0?this.sanitizeText(i):s,a=this.connectors.get(s);return a?i.length>0&&(a.text=r):(a={id:s,labelType:"text",domId:I+s+"-"+this.vertexCounter,styles:[],classes:[],isConnector:!0,text:r},this.connectors.set(s,a),this.vertices.set(s,a),this.vertexCounter++),s}getSubGraphs(){return this.subGraphs}getConnectors(){return[...this.connectors.values()]}firstGraph(){return!!this.firstGraphFlag&&(this.firstGraphFlag=!1,!0)}computeEdgeSemantic(e,t){return"arrow_point"===e&&"normal"===t?"sequence":"arrow_cross"===e&&"normal"===t?"failure":"arrow_open"===e&&"dotted"===t?"reference":void 0}destructStartLink(e){let t=e.trim(),s="normal";return t.includes(".")&&(s="dotted"),{type:"arrow_open",stroke:s}}countChar(e,t){let s=t.length,i=0;for(let r=0;r<s;++r)t[r]===e&&++i;return i}destructEndLink(e){let t=e.trim(),s=t.slice(0,-1),i="arrow_open";switch(t.slice(-1)){case"x":i="arrow_cross";break;case">":i="arrow_point";break;case"-":case".":i="arrow_open",s=t}let r="normal",a=s.length-1,n=this.countChar(".",s);return n>0&&(r="dotted",a=n),{type:i,stroke:r,length:a}}destructLink(e,t){let s,i=this.destructEndLink(e);return t?(s=this.destructStartLink(t)).stroke!==i.stroke?{type:"INVALID",stroke:"INVALID"}:(s.type=i.type,s.length=i.length,{...s,edgeSemantic:this.computeEdgeSemantic(s.type,s.stroke)}):{...i,edgeSemantic:this.computeEdgeSemantic(i.type,i.stroke)}}exists(e,t){for(let s of e)if(s.nodes.includes(t))return!0;return!1}makeUniq(e,t){let s=[];return e.nodes.forEach((i,r)=>{this.exists(t,i)||s.push(e.nodes[r])}),{nodes:s}}getTypeFromVertex(e){let t="string"==typeof e.type?T(e.type):e.type;switch(t){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t}}findNode(e,t){return e.find(e=>e.id===t)}destructEdgeType(e){let t="none",s="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":case"arrow_hierarchy":s=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":s=t=e.replace("double_","")}return{arrowTypeStart:t,arrowTypeEnd:s}}addNodeFromVertex(e,t,s,i,r,a){let n=s.get(e.id),o=i.get(e.id)??!1,l=this.findNode(t,e.id);if(l)l.cssStyles=e.styles,l.cssCompiledStyles=this.getCompiledStyles(e.classes),l.cssClasses=e.classes.join(" ");else{let s={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:n,padding:r.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:a,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),metadata:e.metadata};o?t.push({...s,isGroup:!0,shape:"rect"}):t.push({...s,isGroup:!1,shape:this.getTypeFromVertex(e),wrappingWidth:r.agentflow?.wrappingWidth,minWidth:r.agentflow?.minNodeWidth})}}getCompiledStyles(e){let t=[];for(let s of e){let e=this.classes.get(s);e?.styles&&(t=[...t,...e.styles??[]].map(e=>e.trim())),e?.textStyles&&(t=[...t,...e.textStyles??[]].map(e=>e.trim()))}return t}runPostParseValidators(){this.postParseValidationRun||(this.postParseValidationRun=!0)}getData(){this.runPostParseValidators();let e=(0,c.D7)(),t=[],s=[],i=this.getSubGraphs(),r=new Map,a=new Map,n=new Set,o=new Map,l=(0,g.K)((e,t,s=new Set)=>{if(s.has(e))return;s.add(e);let i=this.subGraphLookup.get(e);if(i)for(let e of i.nodes)e===t||s.has(e)||(n.add(e),o.set(e,t),l(e,t,s))},"collectDescendants");for(let e of i)e.metadata?.view!=="collapsed"||n.has(e.id)||l(e.id,e.id);let u=(0,g.K)((e,t)=>{let s=new Set,i=t;for(;void 0!==i&&!s.has(i);){if(i===e)return!0;s.add(i),i=r.get(i)}return!1},"wouldCloseContainmentCycle");for(let e=i.length-1;e>=0;e--){let t=i[e];if(!n.has(t.id))for(let e of(t.nodes.length>0&&a.set(t.id,!0),t.nodes)){if(u(e,t.id)){this.emitWarning(A.CONTAINMENT_VIOLATION,`Container "${t.id}" cannot contain "${e}" because "${e}" already contains it. The nesting that would close the loop is dropped.`,{nodeId:e});continue}r.set(e,t.id)}}for(let s=i.length-1;s>=0;s--){let a=i[s];if(!n.has(a.id))if(a.metadata?.view==="collapsed"){let s={...a.metadata,containerType:a.type};t.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssClasses:a.classes.join(" "),shape:"collapsedGroup",dir:a.dir,isGroup:!1,look:e.look,metadata:s})}else t.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssClasses:a.classes.join(" "),shape:R[a.type??"flow"],dir:a.dir,isGroup:!0,look:e.look,metadata:a.metadata})}this.getVertices().forEach(s=>{n.has(s.id)||this.addNodeFromVertex(s,t,r,a,e,e.look||"classic")});let d=this.getEdges();d.forEach((t,i)=>{let r=o.get(t.start)??t.start,a=o.get(t.end)??t.end;if(r===a&&t.start!==t.end)return;let{arrowTypeStart:n,arrowTypeEnd:l}=this.destructEdgeType(t.type),u=[...d.defaultStyle??[]];t.style&&u.push(...t.style);let c={id:(0,h.rY)(r,a,{counter:i,prefix:"L"},t.id),isUserDefinedId:t.isUserDefinedId,start:r,end:a,type:t.type??"normal",label:t.text,labelType:t.labelType,labelpos:"c",thickness:t.stroke,minlen:t.length,classes:t?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:t?.stroke==="invisible"||t?.type==="arrow_open"?"none":n,arrowTypeEnd:t?.stroke==="invisible"||t?.type==="arrow_open"?"none":l,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(t.classes),labelStyle:u,style:u,pattern:t.stroke,look:e.look,animate:t.animate,animation:t.animation,curve:t.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve,metadata:t.metadata};s.push(c)}),D(t,this);let p=new Map,f=new Map;for(let e of i){let t=r.get(e.id);void 0!==t&&f.set(t,[...f.get(t)??[],e.id])}let m=0,y=(0,g.K)(e=>{if(!p.has(e))for(let t of(p.set(e,m++),f.get(e)??[]))y(t)},"walkContainers");for(let e of i)void 0===r.get(e.id)&&y(e.id);let b=new Set(this.getConnectors().map(e=>e.id));return w(t,e=>{if(b.has(e))return"connector";let t=this.vertices.get(e);return t?this.deriveVertexKind(t,T(t.type)):void 0},p),{nodes:t,edges:s,other:{},config:e,connectors:this.getConnectors()}}defaultConfig(){return c.ME.flowchart}deriveVertexKind(e,t){return this.isToolDefinition(e)?"tool":"hexagon"===t||"hex"===t?"action":"lean-right"===t||"lean_right"===t?"input":"lin-doc"===t||"lined-document"===t?"refdoc":"diamond"===t?"decision":"task"}getSemanticModel(){this.runPostParseValidators();let e=new Set(this.subGraphs.map(e=>e.id)),t=[],s=[];for(let[i,r]of this.vertices){if(e.has(i))continue;if(r.isConnector){let e={id:i};if(void 0!==r.text&&r.text!==i&&(e.title=r.text),r.metadata&&Object.keys(r.metadata).length>0){let t={};for(let[e,s]of Object.entries(r.metadata))M.has(e)||(t[e]=s);Object.keys(t).length>0&&(e.metadata=t)}s.push(e);continue}let a={id:i};void 0!==r.text&&(a.label=r.text);let n="string"==typeof r.type?T(r.type):r.type;if(void 0!==n&&(a.shape=n),a.vertexKind=this.deriveVertexKind(r,n),r.metadata&&Object.keys(r.metadata).length>0){let e={};for(let[t,s]of Object.entries(r.metadata))M.has(t)||(e[t]=s);Object.keys(e).length>0&&(a.metadata=e)}t.push(a)}let i={vertices:t,edges:this.edges.map(e=>{let t={start:e.start,end:e.end};return void 0!==e.id&&(t.id=e.id),"string"==typeof e.text&&e.text.length>0&&(t.label=e.text),void 0!==e.type&&(t.type=e.type),void 0!==e.stroke&&(t.stroke=e.stroke),void 0!==e.edgeSemantic&&(t.edgeSemantic=e.edgeSemantic),void 0!==e.length&&(t.length=e.length),e.metadata&&Object.keys(e.metadata).length>0&&(t.metadata={...e.metadata}),t}),subGraphs:this.subGraphs.map(e=>{let t={id:e.id,nodes:[...e.nodes]};if(void 0!==e.type&&(t.type=e.type),void 0!==e.title&&(t.title=e.title),void 0!==e.dir&&(t.direction=e.dir),e.metadata&&Object.keys(e.metadata).length>0){let s={};for(let[t,i]of Object.entries(e.metadata))M.has(t)||(s[t]=i);Object.keys(s).length>0&&(t.metadata=s)}return t}),connectors:s,diagnostics:this.diagnostics};return void 0!==this.direction&&(i.direction=this.direction),i}setFrontmatterLineOffset(e){this.frontmatterLineOffset=e??0}toElementPosition(e){let t=e?.first_line??0,s=e?.first_column??0,i=e?.last_line??t,r=e?.last_column??s,[a,n]=e?.range??[0,0];return{startLine:t+this.frontmatterLineOffset,startColumn:s,endLine:i+this.frontmatterLineOffset,endColumn:r,startIndex:a,endIndex:n}}pushMapping(e,t,s){if(!e)return;let i={id:e,type:t,position:this.toElementPosition(s)};return this.elementMappings.push(i),i}addVertexMapping(e,t,s,i){let r=this.pushMapping(e,"vertex",i);r&&null==s&&this.bareVertexMappings.add(r)}extendVertexMapping(e,t){if(!e||!t)return;let s=this.toElementPosition(t);for(let t=this.elementMappings.length-1;t>=0;t--){let i=this.elementMappings[t];if("vertex"===i.type&&i.id===e){this.bareVertexMappings.has(i)&&(i.type="attachment",this.bareVertexMappings.delete(i)),(s.endLine>i.position.endLine||s.endLine===i.position.endLine&&s.endColumn>i.position.endColumn)&&(i.position.endLine=s.endLine,i.position.endColumn=s.endColumn,i.position.endIndex=s.endIndex);return}}this.pushMapping(e,"attachment",t)}addEdgeMapping(e,t,s,i){let r=Array.isArray(t)?t.map(e=>"string"==typeof e?e:e?.id??"").filter(Boolean):[],a=r.length>0?r.join(">"):"edge";this.pushMapping(a,"edge",i)}addSubgraphMapping(e,t,s,i){let r=("string"==typeof e?e:e?.text)??"",a=this.toElementPosition(s),n=i?this.toElementPosition(i):a;r&&this.elementMappings.push({id:r,type:"subgraph",position:{startLine:a.startLine,startColumn:a.startColumn,endLine:n.endLine,endColumn:n.endColumn,startIndex:a.startIndex,endIndex:n.endIndex}})}addConnectorMapping(e,t,s,i){let r=e?.text?.trim()??"";if(!r)return;let a=this.toElementPosition(s),n=i?this.toElementPosition(i):a;this.elementMappings.push({id:r,type:"connector",position:{startLine:a.startLine,startColumn:a.startColumn,endLine:n.endLine,endColumn:n.endColumn,startIndex:a.startIndex,endIndex:n.endIndex}})}getElementMappings(){return[...this.elementMappings]}getElementById(e){return this.elementMappings.find(t=>t.id===e)}getElementsOnLine(e){return this.elementMappings.filter(t=>e>=t.position.startLine&&e<=t.position.endLine)}getElementAtPosition(e,t){let s=this.elementMappings.filter(s=>{let{startLine:i,startColumn:r,endLine:a,endColumn:n}=s.position;return!(e<i)&&!(e>a)&&(e!==i||!(t<r))&&(e!==a||!(t>n))});if(0===s.length)return;let i=(0,g.K)(({position:e})=>[e.endLine-e.startLine,e.endColumn-e.startColumn],"span");return s.reduce((e,t)=>{let[s,r]=i(e),[a,n]=i(t);return a!==s?a<s?t:e:n<r?t:e})}getMappingStats(){let e=0,t=0,s=0,i=0,r=0;for(let a of this.elementMappings)"vertex"===a.type?e++:"edge"===a.type?t++:"subgraph"===a.type?s++:"connector"===a.type?i++:"attachment"===a.type&&r++;return{vertices:e,edges:t,subgraphs:s,connectors:i,attachments:r,totalElements:this.elementMappings.length}}emitDiagnostic(e,t,s,i){let r=i?.nodeId??i?.edgeId,a=r?this.getElementById(r):void 0,n={id:e,severity:t,message:s,...i?.nodeId?{nodeId:i.nodeId}:{},...i?.edgeId&&!i?.nodeId?{edgeId:i.edgeId}:{},...a?{position:a.position}:{}};if(this.diagnostics.some(e=>e.id===n.id&&e.severity===n.severity&&e.message===n.message&&e.nodeId===n.nodeId&&e.edgeId===n.edgeId))return;this.diagnostics.push(n);let o=`agentflow[${e}]: ${s}`;"error"===t?p.R.error(o):p.R.warn(o)}emitWarning(e,t,s){this.emitDiagnostic(e,"warning",t,s)}emitError(e,t,s){this.emitDiagnostic(e,"error",t,s)}getDiagnostics(){return[...this.diagnostics]}},K=(0,g.K)(function(e,t){return t.db.getClasses()},"getClasses"),G=(0,g.K)(async function(e,t,s,i){p.R.debug("Drawing agentflow diagram",t);let{securityLevel:n,agentflow:l,layout:u}=(0,c.D7)();i.db.setDiagramId(t),p.R.debug("Before getData: ");let d=i.db.getData();p.R.debug("Data: ",d);let g=(0,r.A)(t,n),f=i.db.getDirection();d.type=i.type,d.layoutAlgorithm=(0,o.q7)(u),"dagre"===d.layoutAlgorithm&&"elk"===u&&p.R.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),d.direction=f,d.nodeSpacing=l?.nodeSpacing||50,d.rankSpacing=l?.rankSpacing||50,d.markers=["point","circle","cross","hierarchy"],d.diagramId=t,p.R.debug("REF1:",d),await (0,o.XX)(d,g);let m=l?.diagramPadding??8;h._K.insertTitle(g,"agentflowTitleText",l?.titleTopMargin??0,i.db.getDiagramTitle()),(0,a.P)(g,m,"agentflow",l?.useMaxWidth??!0)},"draw"),U=function(){var e=(0,g.K)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,5],s=[1,4],i=[1,3],r=[1,6],a=[1,8,9,10,11,12,28,35,36,38,40,42,47,63,87,88,89,90,91,92,105,108,109,112,114,117,118,119,124,125,126,127,128],n=[2,2],o=[1,15],l=[1,16],u=[1,17],d=[1,18],h=[1,19],c=[1,26],p=[1,27],f=[1,28],m=[1,30],y=[1,31],b=[1,32],A=[1,55],k=[1,54],x=[1,34],E=[1,35],C=[1,36],S=[1,37],T=[1,38],D=[1,50],_=[1,52],v=[1,48],F=[1,53],$=[1,49],L=[1,56],B=[1,51],w=[1,57],I=[1,58],M=[1,39],N=[1,40],R=[1,41],O=[1,42],V=[1,43],P=[1,64],K=[1,8,9,10,11,12,28,33,35,36,38,40,42,47,63,87,88,89,90,91,92,105,108,109,112,114,117,118,119,124,125,126,127,128],G=[1,70],U=[1,68],j=[1,67],z=[1,69],W=[8,9,10,12,78,80,81],Y=[1,88],H=[1,101],q=[1,106],X=[1,105],Q=[1,102],J=[1,98],Z=[1,104],ee=[1,100],et=[1,107],es=[1,103],ei=[1,108],er=[1,99],ea=[8,9,10,11,12,43,78,80,81],en=[8,9,10,11,12,43,49,78,80,81],eo=[8,9,10,11,12,30,43,47,49,51,53,55,57,59,61,63,66,68,70,71,73,78,80,81,92,105,108,109,112,114,117,118,119],el=[8,9,10,12,47,63,78,80,81,92,105,108,109,112,114,117,118,119],eu=[47,63,92,105,108,109,112,114,117,118,119],ed=[1,131],eh=[1,132],ec=[1,134],ep=[1,133],eg=[47,63,65,77,92,105,108,109,112,114,117,118,119],ef=[1,143],em=[1,157],ey=[1,158],eb=[1,159],eA=[1,162],ek=[1,161],ex=[1,160],eE=[1,145],eC=[1,147],eS=[1,151],eT=[1,139],eD=[1,140],e_=[1,152],ev=[1,153],eF=[1,154],e$=[1,155],eL=[1,156],eB=[1,163],ew=[1,164],eI=[1,141],eM=[1,142],eN=[1,149],eR=[1,144],eO=[1,148],eV=[1,146],eP=[8,9,10,11,12,28,33,35,36,38,40,42,47,63,87,88,89,90,91,92,105,108,109,112,114,117,118,119,124,125,126,127,128],eK=[1,168],eG=[1,170],eU=[8,9,10,12],ej=[8,9,10,11,12,15,47,63,92,108,109,112,114,117,118,119],ez=[1,190],eW=[1,186],eY=[1,187],eH=[1,191],eq=[1,188],eX=[1,189],eQ=[80,119,122],eJ=[8,9,10,11,12,13,15,28,30,33,35,36,43,47,63,78,87,88,89,90,91,92,93,108,112,114,117,118,119],eZ=[11,109],e1=[32,52,54,56,58,60,65,67,69,70,72,74,119,120,121],e0=[1,269],e2=[1,267],e8=[1,271],e3=[1,265],e4=[1,266],e9=[1,268],e7=[1,270],e6=[1,272],e5=[1,292],te=[8,9,10,12,109],tt=[8,9,10,11,12,63,87,108,109,112,113,114,115],ts={trace:(0,g.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,COMMENT:8,SEMI:9,NEWLINE:10,SPACE:11,EOF:12,GRAPH:13,NODIR:14,DIR:15,FirstStmtSeparator:16,ending:17,endToken:18,spaceList:19,spaceListNewline:20,vertexStatement:21,separator:22,styleStatement:23,linkStyleStatement:24,classDefStatement:25,classStatement:26,clickStatement:27,flow:28,textNoTags:29,SQS:30,text:31,SQE:32,end:33,shapeData:34,global:35,connector:36,direction:37,acc_title:38,acc_title_value:39,acc_descr:40,acc_descr_value:41,acc_descr_multiline_value:42,SHAPE_DATA:43,link:44,node:45,styledVertex:46,AMP:47,vertex:48,STYLE_SEPARATOR:49,idString:50,DOUBLECIRCLESTART:51,DOUBLECIRCLEEND:52,PS:53,PE:54,"(-":55,"-)":56,STADIUMSTART:57,STADIUMEND:58,SUBROUTINESTART:59,SUBROUTINEEND:60,VERTEX_WITH_PROPS_START:61,"NODE_STRING[field]":62,COLON:63,"NODE_STRING[value]":64,PIPE:65,CYLINDERSTART:66,CYLINDEREND:67,DIAMOND_START:68,DIAMOND_STOP:69,TAGEND:70,TRAPSTART:71,TRAPEND:72,INVTRAPSTART:73,INVTRAPEND:74,linkStatement:75,arrowText:76,TESTSTR:77,START_LINK:78,edgeText:79,LINK:80,LINK_ID:81,edgeTextToken:82,STR:83,MD_STR:84,textToken:85,keywords:86,STYLE:87,LINKSTYLE:88,CLASSDEF:89,CLASS:90,CLICK:91,DOWN:92,UP:93,textNoTagsToken:94,stylesOpt:95,"idString[vertex]":96,"idString[class]":97,CALLBACKNAME:98,CALLBACKARGS:99,HREF:100,LINK_TARGET:101,"STR[link]":102,"STR[tooltip]":103,alphaNum:104,DEFAULT:105,numList:106,INTERPOLATE:107,NUM:108,COMMA:109,style:110,styleComponent:111,NODE_STRING:112,UNIT:113,BRKT:114,PCT:115,idStringToken:116,MINUS:117,MULT:118,UNICODE_TEXT:119,TEXT:120,TAGSTART:121,EDGE_TEXT:122,alphaNumToken:123,direction_tb:124,direction_bt:125,direction_rl:126,direction_lr:127,direction_td:128,$accept:0,$end:1},terminals_:{2:"error",8:"COMMENT",9:"SEMI",10:"NEWLINE",11:"SPACE",12:"EOF",13:"GRAPH",14:"NODIR",15:"DIR",28:"flow",30:"SQS",32:"SQE",33:"end",35:"global",36:"connector",38:"acc_title",39:"acc_title_value",40:"acc_descr",41:"acc_descr_value",42:"acc_descr_multiline_value",43:"SHAPE_DATA",47:"AMP",49:"STYLE_SEPARATOR",51:"DOUBLECIRCLESTART",52:"DOUBLECIRCLEEND",53:"PS",54:"PE",55:"(-",56:"-)",57:"STADIUMSTART",58:"STADIUMEND",59:"SUBROUTINESTART",60:"SUBROUTINEEND",61:"VERTEX_WITH_PROPS_START",62:"NODE_STRING[field]",63:"COLON",64:"NODE_STRING[value]",65:"PIPE",66:"CYLINDERSTART",67:"CYLINDEREND",68:"DIAMOND_START",69:"DIAMOND_STOP",70:"TAGEND",71:"TRAPSTART",72:"TRAPEND",73:"INVTRAPSTART",74:"INVTRAPEND",77:"TESTSTR",78:"START_LINK",80:"LINK",81:"LINK_ID",83:"STR",84:"MD_STR",87:"STYLE",88:"LINKSTYLE",89:"CLASSDEF",90:"CLASS",91:"CLICK",92:"DOWN",93:"UP",96:"idString[vertex]",97:"idString[class]",98:"CALLBACKNAME",99:"CALLBACKARGS",100:"HREF",101:"LINK_TARGET",102:"STR[link]",103:"STR[tooltip]",105:"DEFAULT",107:"INTERPOLATE",108:"NUM",109:"COMMA",112:"NODE_STRING",113:"UNIT",114:"BRKT",115:"PCT",117:"MINUS",118:"MULT",119:"UNICODE_TEXT",120:"TEXT",121:"TAGSTART",122:"EDGE_TEXT",124:"direction_tb",125:"direction_bt",126:"direction_rl",127:"direction_lr",128:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,2],[4,3],[17,2],[17,1],[18,1],[18,1],[18,1],[16,1],[16,1],[16,2],[16,1],[20,2],[20,2],[20,2],[20,1],[20,1],[20,1],[19,2],[19,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,10],[7,6],[7,7],[7,4],[7,4],[7,7],[7,8],[7,4],[7,5],[7,1],[7,2],[7,2],[7,1],[22,1],[22,1],[22,1],[22,1],[34,2],[34,1],[21,4],[21,3],[21,4],[21,2],[21,2],[21,1],[45,1],[45,6],[45,5],[46,1],[46,3],[48,4],[48,4],[48,6],[48,4],[48,4],[48,4],[48,8],[48,4],[48,4],[48,4],[48,6],[48,4],[48,4],[48,4],[48,4],[48,4],[48,1],[44,2],[44,3],[44,3],[44,1],[44,3],[44,4],[79,1],[79,2],[79,1],[79,1],[75,1],[75,2],[76,3],[31,1],[31,2],[31,1],[31,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[29,1],[29,2],[29,1],[29,1],[25,5],[26,5],[27,2],[27,4],[27,3],[27,5],[27,3],[27,5],[27,5],[27,7],[27,2],[27,4],[27,2],[27,4],[27,4],[27,6],[23,5],[24,5],[24,5],[24,9],[24,9],[24,7],[24,7],[106,1],[106,3],[95,1],[95,3],[110,1],[110,2],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[111,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[85,1],[85,1],[85,1],[85,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[82,1],[82,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[123,1],[50,1],[50,2],[104,1],[104,2],[37,1],[37,1],[37,1],[37,1],[37,1]],performAction:(0,g.K)(function(e,t,s,i,r,a,n){var o=a.length-1;switch(r){case 2:case 5:case 33:case 34:case 35:case 36:case 37:this.$=[];break;case 3:(!Array.isArray(a[o])||a[o].length>0)&&a[o-1].push(a[o]),this.$=a[o-1];break;case 4:case 198:case 57:case 67:case 89:case 196:this.$=a[o];break;case 13:i.setDirection("TB"),this.$="TB";break;case 14:i.setDirection(a[o-1]),this.$=a[o-1];break;case 32:this.$=a[o-1].nodes;break;case 38:this.$=i.addSubGraph(a[o-6],a[o-1],a[o-4],"flow"),i.addSubgraphMapping&&i.addSubgraphMapping(a[o-6],a[o-4],n[o-8],n[o]);break;case 39:this.$=i.addSubGraph(a[o-7],a[o-1],a[o-5],"flow"),i.addVertex(this.$,void 0,void 0,void 0,void 0,void 0,void 0,a[o-3],n[o-3]),i.addSubgraphMapping&&i.addSubgraphMapping(a[o-7],a[o-5],n[o-9],n[o]);break;case 40:this.$=i.addSubGraph(a[o-3],a[o-1],{text:"",type:"text"},"flow"),i.addSubgraphMapping&&i.addSubgraphMapping(a[o-3],{text:"",type:"text"},n[o-5],n[o]);break;case 41:this.$=i.addSubGraph(a[o-4],a[o-1],{text:"",type:"text"},"flow"),i.addVertex(this.$,void 0,void 0,void 0,void 0,void 0,void 0,a[o-3],n[o-3]),i.addSubgraphMapping&&i.addSubgraphMapping(a[o-4],{text:"",type:"text"},n[o-6],n[o]);break;case 42:this.$=i.addSubGraph(void 0,a[o-1],void 0,"flow"),i.addSubgraphMapping&&i.addSubgraphMapping(void 0,void 0,n[o-3],n[o]);break;case 43:i.addGlobal(a[o-1]),this.$=[];break;case 44:this.$=i.addConnector(a[o-4],a[o-2]),i.addConnectorMapping&&i.addConnectorMapping(a[o-4],a[o-2],n[o-6],n[o]);break;case 45:this.$=i.addConnector(a[o-5],a[o-3]),i.addVertex(this.$,void 0,void 0,void 0,void 0,void 0,void 0,a[o-1],n[o-1]),i.addConnectorMapping&&i.addConnectorMapping(a[o-5],a[o-3],n[o-7],n[o]);break;case 46:this.$=i.addConnector(a[o-1],{text:"",type:"text"}),i.addConnectorMapping&&i.addConnectorMapping(a[o-1],{text:"",type:"text"},n[o-3],n[o]);break;case 47:this.$=i.addConnector(a[o-2],{text:"",type:"text"}),i.addVertex(this.$,void 0,void 0,void 0,void 0,void 0,void 0,a[o-1],n[o-1]),i.addConnectorMapping&&i.addConnectorMapping(a[o-2],{text:"",type:"text"},n[o-4],n[o]);break;case 49:this.$=a[o].trim(),i.setAccTitle(this.$);break;case 50:case 51:this.$=a[o].trim(),i.setAccDescription(this.$);break;case 56:case 148:this.$=a[o-1]+a[o];break;case 58:i.addVertex(a[o-1][a[o-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[o],n[o]),i.extendVertexMapping&&i.extendVertexMapping(a[o-1][a[o-1].length-1],n[o]),i.addLink(a[o-3].stmt,a[o-1],a[o-2]),i.addEdgeMapping&&i.addEdgeMapping(a[o-3].stmt,a[o-1],a[o-2],this._$),this.$={stmt:a[o-1],nodes:a[o-1].concat(a[o-3].nodes)};break;case 59:i.addLink(a[o-2].stmt,a[o],a[o-1]),i.addEdgeMapping&&i.addEdgeMapping(a[o-2].stmt,a[o],a[o-1],this._$),this.$={stmt:a[o],nodes:a[o].concat(a[o-2].nodes)};break;case 60:i.addLink(a[o-3].stmt,a[o-1],a[o-2]),i.addEdgeMapping&&i.addEdgeMapping(a[o-3].stmt,a[o-1],a[o-2],this._$),this.$={stmt:a[o-1],nodes:a[o-1].concat(a[o-3].nodes)};break;case 61:this.$={stmt:a[o-1],nodes:a[o-1]};break;case 62:i.addVertex(a[o-1][a[o-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[o],n[o]),i.extendVertexMapping&&i.extendVertexMapping(a[o-1][a[o-1].length-1],n[o]),this.$={stmt:a[o-1],nodes:a[o-1],shapeData:a[o]};break;case 63:this.$={stmt:a[o],nodes:a[o]};break;case 64:case 143:case 145:this.$=[a[o]];break;case 65:i.addVertex(a[o-5][a[o-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[o-4],n[o-4]),i.extendVertexMapping&&i.extendVertexMapping(a[o-5][a[o-5].length-1],n[o-4]),this.$=a[o-5].concat(a[o]);break;case 66:this.$=a[o-4].concat(a[o]);break;case 68:this.$=a[o-2],i.setClass(a[o-2],a[o]);break;case 69:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"square"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"square",this._$);break;case 70:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"doublecircle"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"doublecircle",this._$);break;case 71:this.$=a[o-5],i.addVertex(a[o-5],a[o-2],"circle"),i.addVertexMapping&&i.addVertexMapping(a[o-5],a[o-2],"circle",this._$);break;case 72:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"ellipse"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"ellipse",this._$);break;case 73:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"stadium"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"stadium",this._$);break;case 74:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"subroutine"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"subroutine",this._$);break;case 75:this.$=a[o-7],i.addVertex(a[o-7],a[o-1],"rect",void 0,void 0,void 0,Object.fromEntries([[a[o-5],a[o-3]]])),i.addVertexMapping&&i.addVertexMapping(a[o-7],a[o-1],"rect",this._$);break;case 76:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"cylinder"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"cylinder",this._$);break;case 77:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"round"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"round",this._$);break;case 78:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"diamond"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"diamond",this._$);break;case 79:this.$=a[o-5],i.addVertex(a[o-5],a[o-2],"hexagon"),i.addVertexMapping&&i.addVertexMapping(a[o-5],a[o-2],"hexagon",this._$);break;case 80:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"odd"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"odd",this._$);break;case 81:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"trapezoid"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"trapezoid",this._$);break;case 82:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"inv_trapezoid"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"inv_trapezoid",this._$);break;case 83:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"lean_right"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"lean_right",this._$);break;case 84:this.$=a[o-3],i.addVertex(a[o-3],a[o-1],"lean_left"),i.addVertexMapping&&i.addVertexMapping(a[o-3],a[o-1],"lean_left",this._$);break;case 85:this.$=a[o],i.addVertex(a[o]),i.addVertexMapping&&i.addVertexMapping(a[o],void 0,void 0,this._$);break;case 86:a[o-1].text=a[o],this.$=a[o-1];break;case 87:case 88:a[o-2].text=a[o-1],this.$=a[o-2];break;case 90:var l=i.destructLink(a[o],a[o-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,edgeSemantic:l.edgeSemantic,text:a[o-1]};break;case 91:var l=i.destructLink(a[o],a[o-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,edgeSemantic:l.edgeSemantic,text:a[o-1],id:a[o-3]};break;case 92:case 99:case 116:case 118:this.$={text:a[o],type:"text"};break;case 93:case 100:case 117:this.$={text:a[o-1].text+""+a[o],type:a[o-1].type};break;case 94:case 101:this.$={text:a[o],type:"string"};break;case 95:case 102:case 119:this.$={text:a[o],type:"markdown"};break;case 96:var l=i.destructLink(a[o]);this.$={type:l.type,stroke:l.stroke,length:l.length,edgeSemantic:l.edgeSemantic};break;case 97:var l=i.destructLink(a[o]);this.$={type:l.type,stroke:l.stroke,length:l.length,edgeSemantic:l.edgeSemantic,id:a[o-1]};break;case 98:this.$=a[o-1];break;case 120:this.$=a[o-4],i.addClass(a[o-2],a[o]);break;case 121:this.$=a[o-4],i.setClass(a[o-2],a[o]);break;case 122:case 130:this.$=a[o-1],i.setClickEvent(a[o-1],a[o]);break;case 123:case 131:this.$=a[o-3],i.setClickEvent(a[o-3],a[o-2]),i.setTooltip(a[o-3],a[o]);break;case 124:this.$=a[o-2],i.setClickEvent(a[o-2],a[o-1],a[o]);break;case 125:this.$=a[o-4],i.setClickEvent(a[o-4],a[o-3],a[o-2]),i.setTooltip(a[o-4],a[o]);break;case 126:this.$=a[o-2],i.setLink(a[o-2],a[o]);break;case 127:this.$=a[o-4],i.setLink(a[o-4],a[o-2]),i.setTooltip(a[o-4],a[o]);break;case 128:this.$=a[o-4],i.setLink(a[o-4],a[o-2],a[o]);break;case 129:this.$=a[o-6],i.setLink(a[o-6],a[o-4],a[o]),i.setTooltip(a[o-6],a[o-2]);break;case 132:this.$=a[o-1],i.setLink(a[o-1],a[o]);break;case 133:this.$=a[o-3],i.setLink(a[o-3],a[o-2]),i.setTooltip(a[o-3],a[o]);break;case 134:this.$=a[o-3],i.setLink(a[o-3],a[o-2],a[o]);break;case 135:this.$=a[o-5],i.setLink(a[o-5],a[o-4],a[o]),i.setTooltip(a[o-5],a[o-2]);break;case 136:this.$=a[o-4],i.addVertex(a[o-2],void 0,void 0,a[o]);break;case 137:this.$=a[o-4],i.updateLink([a[o-2]],a[o]);break;case 138:this.$=a[o-4],i.updateLink(a[o-2],a[o]);break;case 139:this.$=a[o-8],i.updateLinkInterpolate([a[o-6]],a[o-2]),i.updateLink([a[o-6]],a[o]);break;case 140:this.$=a[o-8],i.updateLinkInterpolate(a[o-6],a[o-2]),i.updateLink(a[o-6],a[o]);break;case 141:this.$=a[o-6],i.updateLinkInterpolate([a[o-4]],a[o]);break;case 142:this.$=a[o-6],i.updateLinkInterpolate(a[o-4],a[o]);break;case 144:case 146:a[o-2].push(a[o]),this.$=a[o-2];break;case 197:case 199:this.$=a[o-1]+""+a[o];break;case 200:this.$={stmt:"dir",value:"TB"};break;case 201:this.$={stmt:"dir",value:"BT"};break;case 202:this.$={stmt:"dir",value:"RL"};break;case 203:this.$={stmt:"dir",value:"LR"};break;case 204:this.$={stmt:"dir",value:"TD"}}},"anonymous"),table:[{3:1,4:2,8:t,10:s,11:i,13:r},{1:[3]},e(a,n,{5:7}),{4:8,8:t,10:s,11:i,13:r},{4:9,8:t,10:s,11:i,13:r},{4:10,8:t,10:s,11:i,13:r},{14:[1,11],15:[1,12]},{1:[2,1],6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},e(a,[2,10]),e(a,[2,11]),e(a,[2,12]),e(a,[2,13]),{8:[1,63],9:[1,60],10:[1,61],11:P,16:59,19:62},e(K,[2,3]),e(K,[2,4]),e(K,[2,5]),e(K,[2,6]),e(K,[2,7]),e(K,[2,8]),e(K,[2,9]),{8:G,9:U,10:j,12:z,22:65,44:66,75:71,78:[1,72],80:[1,74],81:[1,73]},{8:G,9:U,10:j,12:z,22:75},{8:G,9:U,10:j,12:z,22:76},{8:G,9:U,10:j,12:z,22:77},{8:G,9:U,10:j,12:z,22:78},{8:G,9:U,10:j,12:z,22:79},{8:G,9:U,10:j,11:[1,80],12:z,22:81},{8:G,9:U,10:j,12:z,22:82},{11:[1,83]},e(K,[2,48]),{39:[1,84]},{41:[1,85]},e(K,[2,51]),e(W,[2,63],{19:86,34:87,11:P,43:Y}),{11:[1,89]},{11:[1,90]},{11:[1,91]},{11:[1,92]},{15:H,47:q,63:X,83:[1,96],92:Q,98:[1,93],100:[1,94],104:95,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er,123:97},e(K,[2,200]),e(K,[2,201]),e(K,[2,202]),e(K,[2,203]),e(K,[2,204]),e(ea,[2,64]),e(ea,[2,67],{49:[1,109]}),e(en,[2,85],{116:122,30:[1,110],47:A,51:[1,111],53:[1,112],55:[1,113],57:[1,114],59:[1,115],61:[1,116],63:k,66:[1,117],68:[1,118],70:[1,119],71:[1,120],73:[1,121],92:D,105:_,108:v,109:F,112:$,114:L,117:B,118:w,119:I}),e(eo,[2,196]),e(eo,[2,157]),e(eo,[2,158]),e(eo,[2,159]),e(eo,[2,160]),e(eo,[2,161]),e(eo,[2,162]),e(eo,[2,163]),e(eo,[2,164]),e(eo,[2,165]),e(eo,[2,166]),e(eo,[2,167]),e(a,[2,14]),e(a,[2,20]),e(a,[2,21]),{10:[1,123]},e(a,[2,23]),e(el,[2,31],{19:124,11:P}),e(K,[2,32]),{45:125,46:44,47:A,48:45,50:46,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},e(K,[2,52]),e(K,[2,53]),e(K,[2,54]),e(K,[2,55]),e(eu,[2,89],{76:126,65:[1,128],77:[1,127]}),{79:129,82:130,83:ed,84:eh,119:ec,122:ep},{78:[1,135],80:[1,136]},e(eg,[2,96]),e(K,[2,33]),e(K,[2,34]),e(K,[2,35]),e(K,[2,36]),e(K,[2,37]),{11:ef,13:em,15:ey,28:eb,29:137,33:eA,35:ek,36:ex,47:eE,63:eC,78:eS,83:eT,84:eD,86:150,87:e_,88:ev,89:eF,90:e$,91:eL,92:eB,93:ew,94:138,108:eI,112:eM,114:eN,117:eR,118:eO,119:eV},e(eP,n,{5:165}),e(eP,n,{5:166}),{11:ef,13:em,15:ey,28:eb,29:167,33:eA,35:ek,36:ex,47:eE,63:eC,78:eS,83:eT,84:eD,86:150,87:e_,88:ev,89:eF,90:e$,91:eL,92:eB,93:ew,94:138,108:eI,112:eM,114:eN,117:eR,118:eO,119:eV},e(K,[2,49]),e(K,[2,50]),e(W,[2,61],{47:eK}),e(W,[2,62],{19:169,11:P,43:eG}),e(ea,[2,57]),{47:A,50:171,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},{105:[1,172],106:173,108:[1,174]},{47:A,50:175,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},{47:A,50:176,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},e(eU,[2,122],{11:[1,177],99:[1,178]}),{83:[1,179]},e(eU,[2,130],{123:181,11:[1,180],15:H,47:q,63:X,92:Q,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er}),e(eU,[2,132],{11:[1,182]}),e(ej,[2,198]),e(ej,[2,185]),e(ej,[2,186]),e(ej,[2,187]),e(ej,[2,188]),e(ej,[2,189]),e(ej,[2,190]),e(ej,[2,191]),e(ej,[2,192]),e(ej,[2,193]),e(ej,[2,194]),e(ej,[2,195]),{47:A,50:183,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},{31:184,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:192,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:194,53:[1,193],70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:195,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:196,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:197,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{112:[1,198]},{31:199,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:200,68:[1,201],70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:202,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:203,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{31:204,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},e(eo,[2,197]),e(a,[2,22]),e(el,[2,30]),e(W,[2,59],{34:205,19:206,11:P,43:Y}),e(eu,[2,86],{11:[1,207]}),{11:[1,208]},{31:209,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{80:[1,210],82:211,119:ec,122:ep},e(eQ,[2,92]),e(eQ,[2,94]),e(eQ,[2,95]),e(eQ,[2,183]),e(eQ,[2,184]),{79:212,82:130,83:ed,84:eh,119:ec,122:ep},e(eg,[2,97]),{8:G,9:U,10:j,11:ef,12:z,13:em,15:ey,22:214,28:eb,30:[1,213],33:eA,34:215,35:ek,36:ex,43:Y,47:eE,63:eC,78:eS,86:150,87:e_,88:ev,89:eF,90:e$,91:eL,92:eB,93:ew,94:216,108:eI,112:eM,114:eN,117:eR,118:eO,119:eV},e(eJ,[2,116]),e(eJ,[2,118]),e(eJ,[2,119]),e(eJ,[2,172]),e(eJ,[2,173]),e(eJ,[2,174]),e(eJ,[2,175]),e(eJ,[2,176]),e(eJ,[2,177]),e(eJ,[2,178]),e(eJ,[2,179]),e(eJ,[2,180]),e(eJ,[2,181]),e(eJ,[2,182]),e(eJ,[2,103]),e(eJ,[2,104]),e(eJ,[2,105]),e(eJ,[2,106]),e(eJ,[2,107]),e(eJ,[2,108]),e(eJ,[2,109]),e(eJ,[2,110]),e(eJ,[2,111]),e(eJ,[2,112]),e(eJ,[2,113]),e(eJ,[2,114]),e(eJ,[2,115]),{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,217],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,218],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},{8:G,9:U,10:j,11:ef,12:z,13:em,15:ey,22:220,28:eb,30:[1,219],33:eA,34:221,35:ek,36:ex,43:Y,47:eE,63:eC,78:eS,86:150,87:e_,88:ev,89:eF,90:e$,91:eL,92:eB,93:ew,94:216,108:eI,112:eM,114:eN,117:eR,118:eO,119:eV},{11:P,19:222},{47:[1,223]},e(ea,[2,56]),{11:[1,224],47:A,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:122,117:B,118:w,119:I},{11:[1,225]},{11:[1,226],109:[1,227]},e(eZ,[2,143]),{11:[1,228],47:A,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:122,117:B,118:w,119:I},{11:[1,229],47:A,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:122,117:B,118:w,119:I},{83:[1,230]},e(eU,[2,124],{11:[1,231]}),e(eU,[2,126],{11:[1,232]}),{83:[1,233]},e(ej,[2,199]),{83:[1,234],101:[1,235]},e(ea,[2,68],{116:122,47:A,63:k,92:D,105:_,108:v,109:F,112:$,114:L,117:B,118:w,119:I}),{32:[1,236],70:ez,85:237,119:eH,120:eq,121:eX},e(e1,[2,99]),e(e1,[2,101]),e(e1,[2,102]),e(e1,[2,168]),e(e1,[2,169]),e(e1,[2,170]),e(e1,[2,171]),{52:[1,238],70:ez,85:237,119:eH,120:eq,121:eX},{31:239,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{54:[1,240],70:ez,85:237,119:eH,120:eq,121:eX},{56:[1,241],70:ez,85:237,119:eH,120:eq,121:eX},{58:[1,242],70:ez,85:237,119:eH,120:eq,121:eX},{60:[1,243],70:ez,85:237,119:eH,120:eq,121:eX},{63:[1,244]},{67:[1,245],70:ez,85:237,119:eH,120:eq,121:eX},{69:[1,246],70:ez,85:237,119:eH,120:eq,121:eX},{31:247,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},{32:[1,248],70:ez,85:237,119:eH,120:eq,121:eX},{70:ez,72:[1,249],74:[1,250],85:237,119:eH,120:eq,121:eX},{70:ez,72:[1,252],74:[1,251],85:237,119:eH,120:eq,121:eX},e(W,[2,58],{19:169,11:P,43:eG}),e(W,[2,60],{47:eK}),e(eu,[2,88]),e(eu,[2,87]),{65:[1,253],70:ez,85:237,119:eH,120:eq,121:eX},e(eu,[2,90]),e(eQ,[2,93]),{80:[1,254],82:211,119:ec,122:ep},{31:255,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},e(eP,n,{5:256}),{8:G,9:U,10:j,12:z,22:257,43:eG},e(eJ,[2,117]),e(K,[2,42]),e(K,[2,43]),{31:258,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},e(K,[2,46]),{8:G,9:U,10:j,12:z,22:259,43:eG},{46:260,47:A,48:45,50:46,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},{11:P,19:261},{11:e0,63:e2,87:e8,95:262,108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},{11:e0,63:e2,87:e8,95:273,107:[1,274],108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},{11:e0,63:e2,87:e8,95:275,107:[1,276],108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},{108:[1,277]},{11:e0,63:e2,87:e8,95:278,108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},{47:A,50:279,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},e(eU,[2,123]),{83:[1,280]},{83:[1,281],101:[1,282]},e(eU,[2,131]),e(eU,[2,133],{11:[1,283]}),e(eU,[2,134]),e(en,[2,69]),e(e1,[2,100]),e(en,[2,70]),{54:[1,284],70:ez,85:237,119:eH,120:eq,121:eX},e(en,[2,77]),e(en,[2,72]),e(en,[2,73]),e(en,[2,74]),{112:[1,285]},e(en,[2,76]),e(en,[2,78]),{69:[1,286],70:ez,85:237,119:eH,120:eq,121:eX},e(en,[2,80]),e(en,[2,81]),e(en,[2,83]),e(en,[2,82]),e(en,[2,84]),e([11,47,63,92,105,108,109,112,114,117,118,119],[2,98]),e(eu,[2,91]),{32:[1,287],70:ez,85:237,119:eH,120:eq,121:eX},{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,288],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},e(eP,n,{5:289}),{32:[1,290],70:ez,85:237,119:eH,120:eq,121:eX},e(K,[2,47]),e(ea,[2,66]),{46:291,47:A,48:45,50:46,63:k,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I},e(eU,[2,136],{109:e5}),e(te,[2,145],{111:293,11:e0,63:e2,87:e8,108:e3,112:e4,113:e9,114:e7,115:e6}),e(tt,[2,147]),e(tt,[2,149]),e(tt,[2,150]),e(tt,[2,151]),e(tt,[2,152]),e(tt,[2,153]),e(tt,[2,154]),e(tt,[2,155]),e(tt,[2,156]),e(eU,[2,137],{109:e5}),{11:[1,294]},e(eU,[2,138],{109:e5}),{11:[1,295]},e(eZ,[2,144]),e(eU,[2,120],{109:e5}),e(eU,[2,121],{116:122,47:A,63:k,92:D,105:_,108:v,109:F,112:$,114:L,117:B,118:w,119:I}),e(eU,[2,125]),e(eU,[2,127],{11:[1,296]}),e(eU,[2,128]),{101:[1,297]},{54:[1,298]},{65:[1,299]},{69:[1,300]},{8:G,9:U,10:j,12:z,22:301,34:302,43:Y},e(K,[2,40]),{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,303],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},{8:G,9:U,10:j,12:z,22:304,34:305,43:Y},e(ea,[2,65]),{11:e0,63:e2,87:e8,108:e3,110:306,111:264,112:e4,113:e9,114:e7,115:e6},e(tt,[2,148]),{15:H,47:q,63:X,92:Q,104:307,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er,123:97},{15:H,47:q,63:X,92:Q,104:308,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er,123:97},{101:[1,309]},e(eU,[2,135]),e(en,[2,71]),{31:310,70:ez,83:eW,84:eY,85:185,119:eH,120:eq,121:eX},e(en,[2,79]),e(eP,n,{5:311}),{8:G,9:U,10:j,12:z,22:312,43:eG},e(K,[2,41]),e(K,[2,44]),{8:G,9:U,10:j,12:z,22:313,43:eG},e(te,[2,146],{111:293,11:e0,63:e2,87:e8,108:e3,112:e4,113:e9,114:e7,115:e6}),e(eU,[2,141],{123:181,11:[1,314],15:H,47:q,63:X,92:Q,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er}),e(eU,[2,142],{123:181,11:[1,315],15:H,47:q,63:X,92:Q,108:J,109:Z,112:ee,114:et,117:es,118:ei,119:er}),e(eU,[2,129]),{32:[1,316],70:ez,85:237,119:eH,120:eq,121:eX},{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,317],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},e(eP,n,{5:318}),e(K,[2,45]),{11:e0,63:e2,87:e8,95:319,108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},{11:e0,63:e2,87:e8,95:320,108:e3,110:263,111:264,112:e4,113:e9,114:e7,115:e6},e(en,[2,75]),e(K,[2,38]),{6:13,7:14,8:o,9:l,10:u,11:d,12:h,21:20,23:21,24:22,25:23,26:24,27:25,28:c,33:[1,321],35:p,36:f,37:29,38:m,40:y,42:b,45:33,46:44,47:A,48:45,50:46,63:k,87:x,88:E,89:C,90:S,91:T,92:D,105:_,108:v,109:F,112:$,114:L,116:47,117:B,118:w,119:I,124:M,125:N,126:R,127:O,128:V},e(eU,[2,139],{109:e5}),e(eU,[2,140],{109:e5}),e(K,[2,39])],defaultActions:{},parseError:(0,g.K)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,g.K)(function(e){var t=this,s=[0],i=[],r=[null],a=[],n=this.table,o="",l=0,u=0,d=0,h=a.slice.call(arguments,1),c=Object.create(this.lexer),p={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p[f]=this.yy[f]);c.setInput(e,p),p.lexer=c,p.parser=this,void 0===c.yylloc&&(c.yylloc={});var m=c.yylloc;a.push(m);var y=c.options&&c.options.ranges;function b(){var e;return"number"!=typeof(e=i.pop()||c.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,g.K)(function(e){s.length=s.length-2*e,r.length=r.length-e,a.length=a.length-e},"popStack"),(0,g.K)(b,"lex");for(var A,k,x,E,C,S,T,D,_,v={};;){if(x=s[s.length-1],this.defaultActions[x]?E=this.defaultActions[x]:(null==A&&(A=b()),E=n[x]&&n[x][A]),void 0===E||!E.length||!E[0]){var F="";for(S in _=[],n[x])this.terminals_[S]&&S>2&&_.push("'"+this.terminals_[S]+"'");F=c.showPosition?"Parse error on line "+(l+1)+":\n"+c.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[A]||A)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==A?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(F,{text:c.match,token:this.terminals_[A]||A,line:c.yylineno,loc:m,expected:_})}if(E[0]instanceof Array&&E.length>1)throw Error("Parse Error: multiple actions possible at state: "+x+", token: "+A);switch(E[0]){case 1:s.push(A),r.push(c.yytext),a.push(c.yylloc),s.push(E[1]),A=null,k?(A=k,k=null):(u=c.yyleng,o=c.yytext,l=c.yylineno,m=c.yylloc,d>0&&d--);break;case 2:if(T=this.productions_[E[1]][1],v.$=r[r.length-T],v._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},y&&(v._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(C=this.performAction.apply(v,[o,u,l,p,E[1],r,a].concat(h))))return C;T&&(s=s.slice(0,-1*T*2),r=r.slice(0,-1*T),a=a.slice(0,-1*T)),s.push(this.productions_[E[1]][0]),r.push(v.$),a.push(v._$),D=n[s[s.length-2]][s[s.length-1]],s.push(D);break;case 3:return!0}}return!0},"parse")};function ti(){this.yy={}}return ts.lexer={EOF:1,parseError:(0,g.K)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,g.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,g.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,g.K)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,g.K)(function(){return this._more=!0,this},"more"),reject:(0,g.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,g.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,g.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,g.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,g.K)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,g.K)(function(e,t){var s,i,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))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,g.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,r=this._currentRules(),a=0;a<r.length;a++)if((s=this._input.match(this.rules[r[a]]))&&(!t||s[0].length>t[0].length)){if(t=s,i=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[a])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,g.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,g.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,g.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,g.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,g.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,g.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,g.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,g.K)(function(e,t,s,i){switch(s){case 0:return this.begin("acc_title"),38;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),40;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),t.yytext="",43;case 8:return this.pushState("shapeDataStr"),43;case 9:return this.popState(),43;case 10:return t.yytext=t.yytext.replace(/\n\s*/g,"<br/>"),43;case 11:return 43;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 98;case 18:return 99;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 87;case 26:return 105;case 27:return 88;case 28:return 107;case 29:return 89;case 30:return 90;case 31:return 100;case 32:this.begin("click");break;case 34:return 91;case 35:return e.lex.firstGraph()&&this.begin("dir"),13;case 36:return 28;case 37:return 36;case 38:return 35;case 39:return 33;case 40:case 41:case 42:case 43:return 101;case 44:return this.popState(),14;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),15;case 55:return 124;case 56:return 125;case 57:return 126;case 58:return 127;case 59:return 128;case 60:return 81;case 61:return 108;case 62:case 99:return 114;case 63:return 49;case 64:return 63;case 65:case 100:return 47;case 66:return 9;case 67:return 109;case 68:case 98:return 118;case 69:return this.popState(),80;case 70:return this.pushState("edgeText"),78;case 71:return 122;case 72:return 80;case 73:case 87:case 113:break;case 74:return this.popState(),56;case 75:case 114:return"TEXT";case 76:return this.pushState("ellipseText"),55;case 77:return this.popState(),58;case 78:return this.pushState("text"),57;case 79:return this.popState(),60;case 80:return this.pushState("text"),59;case 81:return 61;case 82:return this.pushState("text"),70;case 83:return this.popState(),67;case 84:return this.pushState("text"),66;case 85:return this.popState(),52;case 86:return this.pushState("text"),51;case 88:return this.popState(),72;case 89:return this.popState(),74;case 90:return 120;case 91:return this.pushState("trapText"),71;case 92:return this.pushState("trapText"),73;case 93:return 121;case 94:return 70;case 95:return 93;case 96:return"SEP";case 97:return 92;case 101:return 8;case 102:return 112;case 103:return 117;case 104:return 119;case 105:return this.popState(),65;case 106:return this.pushState("text"),65;case 107:return this.popState(),54;case 108:return this.pushState("text"),53;case 109:return this.popState(),32;case 110:return this.pushState("text"),30;case 111:return this.popState(),69;case 112:return this.pushState("text"),68;case 115:return"QUOTE";case 116:return 10;case 117:return 11;case 118:return 12}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:agentflow-beta\b)/,/^(?:flow\b)/,/^(?:connector\b)/,/^(?:global\b[ \t]*)/,/^(?:end\b[ \t]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*--+[x>]\s*)/,/^(?:\s*--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*-\.+-\s*)/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|(?:[^\\\[\]\(\)\{\}\/%]+|(?!))+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:[ \t]*%%(?!\{)[^\n]*)/,/^(?:([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])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:%%(?!\{)[^\n]*)/,/^(?:(?:[^\[\]\(\)\{\}\|\"%]+|(?!))+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},shapeData:{rules:[8,11,12,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},callbackargs:{rules:[17,18,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},callbackname:{rules:[14,15,16,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},href:{rules:[21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},click:{rules:[21,24,33,34,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},edgeText:{rules:[21,24,69,71,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},trapText:{rules:[21,24,76,78,80,84,86,87,88,89,90,91,92,106,108,110,112],inclusive:!1},ellipseText:{rules:[21,24,73,74,75,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},text:{rules:[21,24,76,77,78,79,80,83,84,85,86,91,92,105,106,107,108,109,110,111,112,113,114],inclusive:!1},vertex:{rules:[21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},acc_descr:{rules:[3,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},acc_title:{rules:[1,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},md_string:{rules:[19,20,21,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},string:{rules:[21,22,23,24,76,78,80,84,86,91,92,106,108,110,112],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,76,78,80,81,82,84,86,91,92,93,94,95,96,97,98,99,100,101,102,103,104,106,108,110,112,115,116,117,118],inclusive:!0}}},(0,g.K)(ti,"Parser"),ti.prototype=ts,ts.Parser=ti,new ti}();U.parser=U;var j=Object.assign({},U);j.parse=e=>{let t=e.replace(/}[^\S\n]*\n/g,"}\n");return U.parse(t)};var z=(0,g.K)(e=>{let{theme:t,bkgColorArray:s,borderColorArray:i}=e;if(!(0,d.P1)(t,i))return"";let r=(0,d.rq)(e.look),a=(0,d.Ic)(s),n=(0,d.nw)(e.THEME_COLOR_LIMIT,i),o=(0,g.K)(e=>i[e%i.length],"border"),l=(0,g.K)(e=>a?`fill: ${s[e%s.length]};`:"","fill"),u="";for(let e of $){let t=_.get(e),s=`[data-look="${r}"].node.${F(e)}`;u+=` + + ${s} rect, + ${s} path, + ${s} polygon { + stroke: ${o(t)}; + ${l(t)} + } +`}for(let e=0;e<L(n);e++){let t=B(e,n),s=`[data-look="${r}"][data-color-id="color-${t}"].cluster`,i=`[data-look="${r}"][data-color-id="color-${t}"].node`,a=(0,g.K)(e=>`${s} ${e}, ${i} ${e}`,"rule");u+=` + + ${a("rect")}, + ${a("path")} { + stroke: ${o(t)}; + ${l(t)} + } +`}return u},"genColor"),W=(0,g.K)((e,t)=>{let s=y.A,i=s(e,"r"),r=s(e,"g"),a=s(e,"b");return b.A(i,r,a,t)},"fade"),Y={parser:j,get db(){return new P},renderer:{getClasses:K,draw:G},styles:(0,g.K)(e=>`${z(e)} + .label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span { + color: ${e.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: ${e.strokeWidth??1}px; + } + .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { + text-anchor: middle; + } + .node .katex path { + fill: ${e.nodeTextColor||e.textColor}; + stroke: ${e.nodeTextColor||e.textColor}; + stroke-width: 1px; + } + + .rough-node .label,.node .label, .image-shape .label, .icon-shape .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + + .root .anchor path { + fill: ${e.lineColor} !important; + stroke-width: 0; + stroke: ${e.lineColor}; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePaths .path { + stroke: ${e.lineColor}; + stroke-width: ${e.strokeWidth??2}px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + p { + background-color: ${e.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${W(e.edgeLabelBackground,.5)}; + } + + .cluster rect { + fill: ${e.clusterBkg}; + stroke: ${e.clusterBorder}; + stroke-width: 1px; + } + + .flow-cluster rect { + fill: none; + stroke: ${e.clusterBorder}; + stroke-width: 0.75px; + } + + .node .collapsed-indicator { + fill: ${e.nodeBorder}; + stroke: none; + stroke-width: 0; + opacity: 0.5; + } + + .node .collapsed-separator { + stroke-width: 0.75px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .agentflowTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } + + rect.text { + fill: none; + stroke-width: 0; + } + + .icon-shape, .image-shape { + background-color: ${e.edgeLabelBackground}; + p { + background-color: ${e.edgeLabelBackground}; + padding: 2px; + } + .label rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + ${(0,i.o)()} +`,"getStyles"),init:(0,g.K)(e=>{e.agentflow??={},e.layout&&(0,c.XV)({layout:e.layout}),e.flowchart??={},e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,(0,c.XV)({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}})},"init")}}}]); \ No newline at end of file diff --git a/en/assets/js/5abf25f6.9830132d.js b/en/assets/js/5abf25f6.9830132d.js new file mode 100644 index 0000000..723a334 --- /dev/null +++ b/en/assets/js/5abf25f6.9830132d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3179"],{779(t){t.exports=JSON.parse('{"author":{"name":"changlu","title":"SqlParserX \u7EF4\u62A4\u8005","url":"https://github.com/DTStack/SqlParserX","page":{"permalink":"/SqlParserX/en/blog/authors/changlu"},"socials":{"github":"https://github.com/DTStack"},"imageURL":"https://github.com/github.png","key":"changlu","count":1},"listMetadata":{"permalink":"/SqlParserX/en/blog/authors/changlu","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/en/assets/js/5b44acae.22f632d6.js b/en/assets/js/5b44acae.22f632d6.js new file mode 100644 index 0000000..5137e15 --- /dev/null +++ b/en/assets/js/5b44acae.22f632d6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8637"],{2424(e,n,t){t.r(n),t.d(n,{metadata:()=>r,default:()=>u,frontMatter:()=>o,contentTitle:()=>a,toc:()=>c,assets:()=>l});var r=JSON.parse('{"id":"intro","title":"SqlParserX Docs","description":"Entry point for the SqlParserX multi-dialect SQL parsing engine","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/intro.md","sourceDirName":".","slug":"/intro","permalink":"/SqlParserX/en/docs/next/intro","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/intro.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"SqlParserX Docs","description":"Entry point for the SqlParserX multi-dialect SQL parsing engine","sidebar_label":"Docs Guide","sidebar_position":1},"sidebar":"docs","next":{"title":"Introduction","permalink":"/SqlParserX/en/docs/next/about/introduction"}}'),s=t(4848),i=t(8453);let o={title:"SqlParserX Docs",description:"Entry point for the SqlParserX multi-dialect SQL parsing engine",sidebar_label:"Docs Guide",sidebar_position:1},a="Welcome to SqlParserX",l={},c=[{value:"Get Started",id:"get-started",level:2},{value:"Documentation Map",id:"documentation-map",level:2}];function d(e){let n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"welcome-to-sqlparserx",children:"Welcome to SqlParserX"})}),"\n",(0,s.jsxs)(n.p,{children:["SqlParserX is a ",(0,s.jsx)(n.strong,{children:"multi-dialect SQL parsing engine and toolkit"})," for SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation."]}),"\n",(0,s.jsxs)(n.p,{children:["It is built around two layers: ",(0,s.jsx)(n.code,{children:"sqlparserx-syntax"})," parses SQL into Druid ASTs and owns syntax extensions; ",(0,s.jsx)(n.code,{children:"sqlparserx-core"})," consumes those ASTs through the unified ",(0,s.jsx)(n.code,{children:"ISqlParser"})," contract and produces business parsing results. ",(0,s.jsx)(n.code,{children:"sqlparserx-web"})," and ",(0,s.jsx)(n.code,{children:"sqlparserx-ui"})," provide service and visualization access."]}),"\n",(0,s.jsx)(n.h2,{id:"get-started",children:"Get Started"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\u{1F680} ",(0,s.jsx)(n.a,{href:"/SqlParserX/en/docs/next/quickstart/setup",children:"Quick Start"})]}),"\n",(0,s.jsxs)(n.li,{children:["\u{1F4D6} ",(0,s.jsx)(n.a,{href:"/SqlParserX/en/docs/next/about/introduction",children:"Introduction"})]}),"\n",(0,s.jsxs)(n.li,{children:["\u{1F3D7}\uFE0F ",(0,s.jsx)(n.a,{href:"/SqlParserX/en/docs/next/about/architecture",children:"Architecture"})]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"documentation-map",children:"Documentation Map"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"About SqlParserX"}),": project introduction and two-layer architecture"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Quick Start"}),": environment setup, build and run"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Core Parsing Capabilities"}),": SQL type detection, field lineage, table lineage, table parsing, function extraction, and parameter extraction"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Contributing"}),": how to contribute"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:[":::tip Tip\nUse the navbar to switch ",(0,s.jsx)(n.strong,{children:"version"})," (",(0,s.jsx)(n.code,{children:"1.0"})," / ",(0,s.jsx)(n.code,{children:"Next"}),") and ",(0,s.jsx)(n.strong,{children:"language"})," (\u7B80\u4F53\u4E2D\u6587 / English).\n:::"]})]})}function u(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453(e,n,t){t.d(n,{R:()=>o,x:()=>a});var r=t(6540);let s={},i=r.createContext(s);function o(e){let n=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/5e95c892.a44b09d4.js b/en/assets/js/5e95c892.a44b09d4.js new file mode 100644 index 0000000..ac5c748 --- /dev/null +++ b/en/assets/js/5e95c892.a44b09d4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1668"],{6569(e,r,s){s.r(r),s.d(r,{default:()=>t});var a=s(4848);s(6540);var u=s(4164),c=s(4308),l=s(8287),n=s(2831),p=s(6525);function t(e){return(0,a.jsx)(c.e3,{className:(0,u.A)(l.G.wrapper.docsPages),children:(0,a.jsx)(p.A,{children:(0,n.v)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/en/assets/js/6073.79b4ff37.js b/en/assets/js/6073.79b4ff37.js new file mode 100644 index 0000000..3b85da1 --- /dev/null +++ b/en/assets/js/6073.79b4ff37.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6073"],{7454(e,t,i){function n(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}i.d(t,{S:()=>n}),(0,i(6827).K)(n,"populateCommonDb")},944(e,t,i){i.d(t,{diagram:()=>en});var n=i(7454),a=i(6348),r=i(1177),o=i(1293),l=i(6827),d=i(8731),s=i(7829),m="position frame",c="frame positioned",x="position relation",u="relation positioned",f=(0,l.K)(function(e){o.R.debug("options str",e)},"setOptions"),g=(0,l.K)(function(){return{}},"getOptions"),h=(0,l.K)(function(){b(),(0,r.IU)()},"clear");function b(){v={}}(0,l.K)(b,"reset");var p=r.UI.eventmodeling,w=(0,l.K)(()=>(0,a.$t)({...p,...(0,r.zj)().eventmodeling}),"getConfig"),v={};function y(){let e=K,{ast:t}=v,i=M();if(!t)throw Error("No data for EventModel");return t.frames.forEach((n,a)=>{let r=E(n,t.dataEntities,i);e=L(e,{$kind:m,index:a,frame:n,textProps:r}),O(n)?(o.R.debug("source frame",n.sourceFrames),t.frames.filter(e=>n.sourceFrames.some(t=>t.$refText===e.name)).forEach(t=>{e=L(e,{$kind:x,index:a,frame:n,sourceFrame:t})})):e=L(e,{$kind:x,index:a,frame:n})}),e={...e,sortedSwimlanesArray:H(e.swimlanes)}}function k(e){v.ast=e}(0,l.K)(y,"getState"),(0,l.K)(k,"setAst");var P={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function M(){return P}(0,l.K)(M,"getDiagramProps");var K={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function S(e){let t=e.split(".");if(2===t.length)return t[0]}function B(e){let t=e.split(".");return 2===t.length?t[1]:e}function F(e,t){if(t&&0!==t.length)return Object.values(e).find(e=>e.namespace===t)}function R(e,t,i){return Math.max(t,...Object.keys(e).filter(e=>{let n=Number.parseInt(e);return n>t&&n<i}).map(e=>Number.parseInt(e)))+1}function $(e,t){let i=S(e.entityIdentifier),n=F(t,i);switch(e.modelEntityType){case"ui":case"pcr":case"processor":if(n)return{index:n.index,label:n.namespace||P.labelUiAutomation};if(i)return{index:R(t,0,100),label:P.labelUiAutomationPrefix+i};return{index:0,label:P.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":if(n)return{index:n.index,label:n.namespace||P.labelCommandReadModel};if(i)return{index:R(t,100,200),label:P.labelCommandReadModelPrefix+i};return{index:100,label:P.labelCommandReadModel};default:if(n)return{index:n.index,label:n.namespace||P.labelEvents};if(i)return{index:R(t,200,300),label:P.labelEventsPrefix+i};return{index:200,label:P.labelEvents}}}function A(e){let{themeVariables:t}=(0,r.zj)();switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function E(e,t,i){let n,l=(0,r.zj)(),d=(0,r.jZ)(B(e.entityIdentifier)??"",l),s={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},m=(0,a.bH)(d,i.textMaxWidth,s),c=`<b>${m}</b>`;if(e.dataInlineValue&&(n=(n=(n=e.dataInlineValue).substring(n.indexOf("{")+1)).substring(0,n.lastIndexOf("}")-1),n=(0,r.jZ)(n,l),n=(n=(0,a.bH)(n,i.textMaxWidth,s)).replaceAll(" "," ")),e.dataReference){let o=t.find(t=>t.name===e.dataReference?.$refText);o&&(n=(n=(n=o.dataBlockValue).substring(n.indexOf("{\n")+2)).substring(0,n.lastIndexOf("}")-1),n=(0,r.jZ)(n,l),n=(n=(0,a.bH)(n,i.textMaxWidth,s)).replaceAll(" "," ")+"<br/>")}let x=void 0!==n;x&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${i.textMaxWidth}px">${n}</code>`);let u={fontSize:s.fontSize,fontWeight:s.fontWeight,fontFamily:s.fontFamily},f=(0,a.PX)(c,u),g={content:c,width:x?f.width/3:f.width,height:f.height};return o.R.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}function T(e,t){let i=A(t.frame),n={width:t.textProps.width+2*P.boxTextPadding,height:t.textProps.height+2*P.boxTextPadding};return[{$kind:c,frame:t.frame,index:t.index,visual:i,dimension:n,textProps:t.textProps}]}function W(e,t,i){return void 0===t?P.contentStartX:t.index===e.index&&e.r?e.r+P.boxPadding:void 0===i?P.contentStartX:i.r-P.boxOverlap+P.boxPadding}function D(e,t){return Math.max(...e.map(e=>e.r),t)}function H(e){return Object.values(e).sort((e,t)=>e.index-t.index)}function I(e,t){let i,n=$(t.frame,e.swimlanes);i=n.index in e.swimlanes?e.swimlanes[n.index]:{index:n.index,label:n.label,r:0,y:n.index*P.swimlaneMinHeight+P.swimlaneGap,height:P.swimlaneMinHeight,maxHeight:P.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,r=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,o={width:Math.max(P.boxMinWidth,Math.min(P.boxMaxWidth,t.dimension.width))+2*P.boxPadding,height:Math.max(P.boxMinHeight,Math.min(P.boxMaxHeight,t.dimension.height))+2*P.boxPadding},l=W(i,r,a),d=l+o.width+P.boxPadding,s=D(Object.values(e.swimlanes),d);i.r=l+o.width,i.maxHeight=Math.max(i.maxHeight,o.height),i.height=Math.max(P.swimlaneMinHeight,i.maxHeight)+2*P.swimlanePadding;let m={x:l,y:P.swimlanePadding+i.y,r:d,dimension:o,leftSibling:!1,swimlane:i,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},c={...e,boxes:[...e.boxes,m],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:n.index,previousFrame:t.frame,maxR:s},x=H(c.swimlanes);x.length>0&&(x[0].y=0);for(let e=1;e<x.length;e++){let t=x[e],i=x[e-1];t.y=i.y+i.height+P.swimlaneGap}return c}function C(e,t){return 0===e&&0===t.sourceFrames.length}function O(e){return void 0!==e.sourceFrames&&null!==e.sourceFrames&&e.sourceFrames.length>0}function j(e,t){if(null!=t)return e.find(e=>e.frame.name===t.name)}function U(e,t,i){if(!(i<0))for(let n=i;n>=0;n--){let i=e[n];if(i.swimlane.index!==t)return i}}function N(e,t){let i;if((0,d.F5)(t.frame)||C(t.index,t.frame))return[];let n=j(e.boxes,t.frame);if(void 0===n)throw Error(`Target box not found for frame ${t.frame.name}`);return void 0===(i=t.sourceFrame?j(e.boxes,t.sourceFrame):U(e.boxes,n.swimlane.index,t.index-1))?[]:[{$kind:u,frame:t.frame,index:t.index,sourceBox:i,targetBox:n}]}function z(e,t){let i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}(0,l.K)(S,"extractNamespace"),(0,l.K)(B,"extractName"),(0,l.K)(F,"findSwimlaneByNamespace"),(0,l.K)(R,"findNextAvailableIndex"),(0,l.K)($,"calculateSwimlaneProps"),(0,l.K)(A,"calculateEntityVisualProps"),(0,l.K)(E,"calculateTextProps"),(0,l.K)(T,"decidePositionFrame"),(0,l.K)(W,"calculateX"),(0,l.K)(D,"calculateMaxRight"),(0,l.K)(H,"sortedSwimlanesArray"),(0,l.K)(I,"evolveFramePositioned"),(0,l.K)(C,"isFirstFrame"),(0,l.K)(O,"hasSourceFrame"),(0,l.K)(j,"findBoxByFrame"),(0,l.K)(U,"findBoxByLineIndex"),(0,l.K)(N,"decidePositionRelation"),(0,l.K)(z,"evolveRelationPositioned");var X={[m]:T,[x]:N},V={[c]:I,[u]:z};function q(e,t){let i=X[t.$kind];if(null==i)return[];let n=i(e,t);return o.R.debug("decided events",n),n}function G(e,t){let i=t.reduce((e,t)=>{let i=V[t.$kind];return null==i?e:i(e,t)},e);return o.R.debug("evolve events",{state:e,newState:i,events:t}),i}function L(e,t){let i=q(e,t);return G(e,i)}(0,l.K)(q,"decide"),(0,l.K)(G,"evolve"),(0,l.K)(L,"dispatch");var Z={getConfig:w,setOptions:f,getOptions:g,clear:h,setAccTitle:r.SV,getAccTitle:r.iN,getAccDescription:r.m7,setAccDescription:r.EI,setDiagramTitle:r.ke,getDiagramTitle:r.ab,setAst:k,getDiagramProps:M,getState:y},Y={parse:(0,l.K)(async e=>{let t=await (0,d.qg)("eventmodeling",e);o.R.debug(t),Z.setAst(t),(0,n.S)(t,Z)},"parse")},J=(0,r.D7)(),Q=J?.eventmodeling;function _(e,t){return i=>{let n=i.swimlane.y+t.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",i.x).attr("y",n).attr("rx","3").attr("width",i.dimension.width).attr("height",i.dimension.height).attr("stroke",i.visual.stroke).attr("fill",i.visual.fill),a.append("foreignObject").attr("x",i.x+t.boxPadding).attr("y",n+10).attr("width",i.dimension.width-2*t.boxPadding).attr("height",i.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(i.text)}}function ee(e,t){return e>t}function et(e,t,i,n){return a=>{let r,l,d=a.sourceBox.swimlane.y+t.swimlanePadding,s=a.targetBox.swimlane.y+t.swimlanePadding,m=ee(d,s),c=a.sourceBox.x+2*a.sourceBox.dimension.width/3,x=a.targetBox.x+a.targetBox.dimension.width/3;o.R.debug(`rendering relation up=${m} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),m?(r=d,l=s+a.targetBox.dimension.height):(r=d+a.sourceBox.dimension.height,l=s);let u=n.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",u).attr("stroke-width","1").attr("marker-end",`url(#${i})`).attr("d",`M${c} ${r} L${x} ${l}`)}}function ei(e,t,i,n){return a=>{let r=e.append("g").attr("class","em-swimlane"),o=n.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=n.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",t+i.swimlanePadding).attr("height",a.height).attr("fill",o).attr("stroke",l),r.append("text").attr("font-weight",i.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}(0,l.K)(_,"renderD3Box"),(0,l.K)(ee,"dirUpwards"),(0,l.K)(et,"renderD3Relation"),(0,l.K)(ei,"renderD3Swimlane");var en={parser:Y,db:Z,renderer:{draw:(0,l.K)(function(e,t,i,n){if(o.R.debug("in eventmodeling renderer",e+"\n","id:",t,i),!Q)throw Error("EventModeling config not found");let a=n.db,{themeVariables:l,eventmodeling:d}=(0,r.D7)(),m=(0,s.Ltv)(`[id="${t}"]`),c=a.getDiagramProps(),x=a.getState(),u=`em-arrowhead-${t}`,f=l.emArrowhead??"#000000";x.sortedSwimlanesArray.forEach(ei(m,x.maxR,c,l)),x.boxes.forEach(_(m,c)),x.relations.forEach(et(m,c,u,l)),m.append("defs").append("marker").attr("id",u).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",f),(0,r.mj)(void 0,m,d?.padding??30,d?.useMaxWidth)},"draw")},styles:(0,l.K)(e=>"","getStyles")}}}]); \ No newline at end of file diff --git a/en/assets/js/612.7ca96f70.js b/en/assets/js/612.7ca96f70.js new file mode 100644 index 0000000..dfec77a --- /dev/null +++ b/en/assets/js/612.7ca96f70.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["612"],{3327(e,s,r){r.d(s,{createPacketServices:()=>a.$});var a=r(3263);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/6184.b444265b.js b/en/assets/js/6184.b444265b.js new file mode 100644 index 0000000..7fe9a90 --- /dev/null +++ b/en/assets/js/6184.b444265b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6184"],{1019(e,a,r){r.d(a,{diagram:()=>g});var t=r(4924),s=r(1177),n=r(1293),d=r(6827),i=r(8731),p={parse:(0,d.K)(async e=>{let a=await (0,i.qg)("info",e);n.R.debug(a)},"parse")},l=(0,d.K)(()=>"12.0.0","getVersion"),g={parser:p,db:{getVersion:l},renderer:{draw:(0,d.K)((e,a,r)=>{n.R.debug("rendering info diagram\n"+e);let d=(0,t.D)(a);(0,s.a$)(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${r}`)},"draw")}}}}]); \ No newline at end of file diff --git a/en/assets/js/621db11d.cd6afb65.js b/en/assets/js/621db11d.cd6afb65.js new file mode 100644 index 0000000..04aada2 --- /dev/null +++ b/en/assets/js/621db11d.cd6afb65.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1221"],{6433(t,e,s){s.r(e),s.d(e,{default:()=>m});var a=s(4848);s(6540);var r=s(4164),o=s(4308),l=s(8287),n=s(9365),i=s(8579),u=s(4175),h=s(2072),g=s(6947);let c={authorListItem:"authorListItem_n3yI"};function p({author:t}){return(0,a.jsx)("li",{className:c.authorListItem,children:(0,a.jsx)(g.A,{as:"h2",author:t,count:t.count})})}function d({authors:t}){return(0,a.jsx)("section",{className:(0,r.A)("margin-vert--lg",c.authorsListSection),children:(0,a.jsx)("ul",{children:t.map(t=>(0,a.jsx)(p,{author:t},t.key))})})}function m({authors:t,sidebar:e}){let s=(0,n.uz)();return(0,a.jsxs)(o.e3,{className:(0,r.A)(l.G.wrapper.blogPages,l.G.page.blogAuthorsListPage),children:[(0,a.jsx)(o.be,{title:s}),(0,a.jsx)(u.A,{tag:"blog_authors_list"}),(0,a.jsxs)(i.A,{sidebar:e,children:[(0,a.jsx)(h.A,{as:"h1",children:s}),(0,a.jsx)(d,{authors:t})]})]})}},9365(t,e,s){s.d(e,{Y4:()=>g,ZD:()=>n,np:()=>h,uz:()=>u,wI:()=>i});var a=s(4848);s(6540);var r=s(568),o=s(8878);function l(){let{selectMessage:t}=(0,o.W)();return e=>t(e,(0,r.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:e}))}function n(t){let e=l();return(0,r.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:e(t.count),tagName:t.label})}function i(t){let e=l();return(0,r.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:e(t.count),authorName:t.name||t.key})}let u=()=>(0,r.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function h(){return(0,a.jsx)(r.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function g(){return(0,a.jsx)(r.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}}}]); \ No newline at end of file diff --git a/en/assets/js/6326.27d6a633.js b/en/assets/js/6326.27d6a633.js new file mode 100644 index 0000000..de557ed --- /dev/null +++ b/en/assets/js/6326.27d6a633.js @@ -0,0 +1,93 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6326"],{4918(t,e,i){i.d(e,{o:()=>n});var n=(0,i(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")},4773(t,e,i){i.d(e,{diagram:()=>w});var n=i(4924),s=i(4918),r=i(841),o=i(5616),a=i(7827);i(3002),i(739),i(6320),i(2217),i(2941),i(6348);var l=i(1177),c=i(1293),h=i(6827),u=i(4682),g=i(8041),d=i(5263),p=function(){var t=(0,h.K)(function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i},"o"),e=[1,4],i=[1,13],n=[1,12],s=[1,15],r=[1,16],o=[1,20],a=[1,19],l=[6,7,8],c=[1,26],u=[1,24],g=[1,25],d=[6,7,11],p=[1,31],y=[6,7,11,24],f=[1,6,13,16,17,20,23],m=[1,35],b=[1,36],k=[1,6,7,11,13,16,17,20,23],_=[1,38],E={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:(0,h.K)(function(t,e,i,n,s,r,o){var a=r.length-1;switch(s){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",r[a-1].id),n.addNode(r[a-2].length,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 16:n.getLogger().info("Node: ",r[a].id),n.addNode(r[a-1].length,r[a].id,r[a].descr,r[a].type);break;case 17:n.getLogger().trace("Icon: ",r[a]),n.decorateNode({icon:r[a]});break;case 18:case 23:n.decorateNode({class:r[a]});break;case 19:n.getLogger().trace("SPACELIST");break;case 20:n.getLogger().trace("Node: ",r[a-1].id),n.addNode(0,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 21:n.getLogger().trace("Node: ",r[a].id),n.addNode(0,r[a].id,r[a].descr,r[a].type);break;case 22:n.decorateNode({icon:r[a]});break;case 27:n.getLogger().trace("node found ..",r[a-2]),this.$={id:r[a-1],descr:r[a-1],type:n.getType(r[a-2],r[a])};break;case 28:this.$={id:r[a],descr:r[a],type:0};break;case 29:n.getLogger().trace("node found ..",r[a-3]),this.$={id:r[a-3],descr:r[a-1],type:n.getType(r[a-2],r[a])};break;case 30:this.$=r[a-1]+r[a];break;case 31:this.$=r[a]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:i,7:[1,10],9:9,12:11,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:i,12:21,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:i,9:22,12:11,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:c,7:u,10:23,11:g},t(d,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:a}),t(d,[2,19]),t(d,[2,21],{15:30,24:p}),t(d,[2,22]),t(d,[2,23]),t(y,[2,25]),t(y,[2,26]),t(y,[2,28],{20:[1,32]}),{21:[1,33]},{6:c,7:u,10:34,11:g},{1:[2,7],6:i,12:21,13:n,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(f,[2,14],{7:m,11:b}),t(k,[2,8]),t(k,[2,9]),t(k,[2,10]),t(d,[2,16],{15:37,24:p}),t(d,[2,17]),t(d,[2,18]),t(d,[2,20],{24:_}),t(y,[2,31]),{21:[1,39]},{22:[1,40]},t(f,[2,13],{7:m,11:b}),t(k,[2,11]),t(k,[2,12]),t(d,[2,15],{24:_}),t(y,[2,30]),{22:[1,41]},t(y,[2,27]),t(y,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,h.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,h.K)(function(t){var e=this,i=[0],n=[],s=[null],r=[],o=this.table,a="",l=0,c=0,u=0,g=r.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p[y]=this.yy[y]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;r.push(f);var m=d.options&&d.options.ranges;function b(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){i.length=i.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,h.K)(b,"lex");for(var k,_,E,S,N,x,D,L,I,v={};;){if(E=i[i.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==k&&(k=b()),S=o[E]&&o[E][k]),void 0===S||!S.length||!S[0]){var C="";for(x in I=[],o[E])this.terminals_[x]&&x>2&&I.push("'"+this.terminals_[x]+"'");C=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[k]||k,line:d.yylineno,loc:f,expected:I})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(S[0]){case 1:i.push(k),s.push(d.yytext),r.push(d.yylloc),i.push(S[1]),k=null,_?(k=_,_=null):(c=d.yyleng,a=d.yytext,l=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(D=this.productions_[S[1]][1],v.$=s[s.length-D],v._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},m&&(v._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),void 0!==(N=this.performAction.apply(v,[a,c,l,p,S[1],s,r].concat(g))))return N;D&&(i=i.slice(0,-1*D*2),s=s.slice(0,-1*D),r=r.slice(0,-1*D)),i.push(this.productions_[S[1]][0]),s.push(v.$),r.push(v._$),L=o[i[i.length-2]][i[i.length-1]],i.push(L);break;case 3:return!0}}return!0},"parse")};function S(){this.yy={}}return E.lexer={EOF:1,parseError:(0,h.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=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),i.length-1&&(this.yylineno-=i.length-1);var s=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:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var i,n,s;if(this.options.backtrack_lexer&&(s={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&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in s)this[r]=s[r];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,s=this._currentRules(),r=0;r<s.length;r++)if((i=this._input.match(this.rules[s[r]]))&&(!e||i[0].length>e[0].length)){if(e=i,n=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,s[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K)(function(t,e,i,n){switch(i){case 0:return this.pushState("shapeData"),e.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:return e.yytext=e.yytext.replace(/\n\s*/g,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return t.getLogger().trace("Found comment",e.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return t.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:t.getLogger().trace("end icon"),this.popState();break;case 16:return t.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return t.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 33:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return t.getLogger().trace("Long description:",e.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}},(0,h.K)(S,"Parser"),S.prototype=E,E.Parser=S,new S}();p.parser=p;var y=[],f=[],m=0,b={},k=(0,h.K)(()=>{y=[],f=[],m=0,b={}},"clear"),_=(0,h.K)(t=>{if(0===y.length)return null;let e=y[0].level,i=null;for(let t=y.length-1;t>=0;t--)if(y[t].level!==e||i||(i=y[t]),y[t].level<e)throw Error('Items without section detected, found section ("'+y[t].label+'")');return t===i?.level?null:i},"getSection"),E=(0,h.K)(function(){return f},"getSections"),S=(0,h.K)(function(){let t=[],e=E(),i=(0,l.D7)();for(let n of e){let e={id:n.id,label:(0,l.jZ)(n.label??"",i),labelType:"markdown",isGroup:!0,ticket:n.ticket,shape:"kanbanSection",level:n.level,look:i.look};for(let s of(t.push(e),y.filter(t=>t.parentId===n.id))){let e={id:s.id,parentId:n.id,label:(0,l.jZ)(s.label??"",i),labelType:"markdown",isGroup:!1,ticket:s?.ticket,priority:s?.priority,assigned:s?.assigned,icon:s?.icon,shape:"kanbanItem",level:s.level,rx:5,ry:5,cssStyles:["text-align: left"]};t.push(e)}}return{nodes:t,edges:[],other:{},config:(0,l.D7)()}},"getData"),N=(0,h.K)((t,e,i,n,s)=>{let o=(0,l.D7)(),a=o.mindmap?.padding??l.UI.mindmap.padding;switch(n){case x.ROUNDED_RECT:case x.RECT:case x.HEXAGON:a*=2}let c={id:(0,l.jZ)(e,o)||"kbn"+m++,level:t,label:(0,l.jZ)(i,o),width:o.mindmap?.maxNodeWidth??l.UI.mindmap.maxNodeWidth,padding:a,isGroup:!1};if(void 0!==s){let t;t=s.includes("\n")?s+"\n":"{\n"+s+"\n}";let e=(0,r.H)(t,{schema:r.r});if(e.shape&&(e.shape!==e.shape.toLowerCase()||e.shape.includes("_")))throw Error(`No such shape: ${e.shape}. Shape names should be lowercase.`);e?.shape&&"kanbanItem"===e.shape&&(c.shape=e?.shape),e?.label&&(c.label=e?.label),e?.icon&&(c.icon=e?.icon.toString()),e?.assigned&&(c.assigned=e?.assigned.toString()),e?.ticket&&(c.ticket=e?.ticket.toString()),e?.priority&&(c.priority=e?.priority)}let h=_(t);h?c.parentId=h.id||"kbn"+m++:f.push(c),y.push(c)},"addNode"),x={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},D=(0,h.K)((t,e)=>{switch(c.R.debug("In get type",t,e),t){case"[":return x.RECT;case"(":return")"===e?x.ROUNDED_RECT:x.CLOUD;case"((":return x.CIRCLE;case")":return x.CLOUD;case"))":return x.BANG;case"{{":return x.HEXAGON;default:return x.DEFAULT}},"getType"),L=(0,h.K)((t,e)=>{b[t]=e},"setElementForId"),I=(0,h.K)(t=>{if(!t)return;let e=(0,l.D7)(),i=y[y.length-1];t.icon&&(i.icon=(0,l.jZ)(t.icon,e)),t.class&&(i.cssClasses=(0,l.jZ)(t.class,e))},"decorateNode"),v=(0,h.K)(t=>{switch(t){case x.DEFAULT:return"no-border";case x.RECT:return"rect";case x.ROUNDED_RECT:return"rounded-rect";case x.CIRCLE:return"circle";case x.CLOUD:return"cloud";case x.BANG:return"bang";case x.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),C=(0,h.K)(()=>c.R,"getLogger"),O=(0,h.K)(t=>b[t],"getElementById"),A=(0,h.K)(async(t,e,i,s)=>{c.R.debug("Rendering kanban diagram\n"+t);let r=s.db.getData(),h=(0,l.D7)();h.htmlLabels=!1;let u=(0,n.D)(e);for(let t of r.nodes)t.domId=`${e}-${t.id}`;let g=u.append("g");g.attr("class","sections");let d=u.append("g");d.attr("class","items");let p=r.nodes.filter(t=>t.isGroup),y=0,f=[],m=25;for(let t of p){let e=h?.kanban?.sectionWidth||200;t.x=e*(y+=1)+(y-1)*10/2,t.width=e,t.y=0,t.height=3*e,t.rx=5,t.ry=5,t.cssClasses=t.cssClasses+" section-"+y;let i=await (0,o.U)(g,t);m=Math.max(m,i?.labelBBox?.height),f.push(i)}let b=0;for(let t of p){let e=f[b];b+=1;let i=h?.kanban?.sectionWidth||200,n=-(3*i)/2+m,s=n;for(let e of r.nodes.filter(e=>e.parentId===t.id)){if(e.isGroup)throw Error("Groups within groups are not allowed in Kanban diagrams");e.x=t.x,e.width=i-15;let n=(await (0,a.on)(d,e,{config:h})).node().getBBox();e.y=s+n.height/2,await (0,a.U_)(e),s=e.y+n.height/2+5}let o=e.cluster.select("rect"),l=Math.max(s-n+30,50)+(m-25);o.attr("height",l)}(0,l.ot)(void 0,u,h.mindmap?.padding??l.UI.kanban.padding,h.mindmap?.useMaxWidth??l.UI.kanban.useMaxWidth)},"draw"),K=(0,h.K)(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,u.A)(t["lineColor"+e])?t["lineColor"+e]=(0,g.A)(t["lineColor"+e],20):t["lineColor"+e]=(0,d.A)(t["lineColor"+e],20);let i=(0,h.K)((e,i)=>t.darkMode?(0,d.A)(e,i):(0,g.A)(e,i),"adjuster");for(let n=0;n<t.THEME_COLOR_LIMIT;n++){let s=""+(17-3*n);e+=` + .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path { + fill: ${i(t["cScale"+n],10)}; + stroke: ${i(t["cScale"+n],10)}; + + } + .section-${n-1} text { + fill: ${t["cScaleLabel"+n]}; + } + .node-icon-${n-1} { + font-size: 40px; + color: ${t["cScaleLabel"+n]}; + } + .section-edge-${n-1}{ + stroke: ${t["cScale"+n]}; + } + .edge-depth-${n-1}{ + stroke-width: ${s}; + } + .section-${n-1} line { + stroke: ${t["cScaleInv"+n]} ; + stroke-width: 3; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.background}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .kanban-ticket-link { + fill: ${t.background}; + stroke: ${t.nodeBorder}; + text-decoration: underline; + } + `}return e},"genSections"),w={db:{clear:k,addNode:N,getSections:E,getData:S,nodeType:x,getType:D,setElementForId:L,decorateNode:I,type2Str:v,getLogger:C,getElementById:O},renderer:{draw:A},parser:p,styles:(0,h.K)(t=>` + .edge { + stroke-width: 3; + } + ${K(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .cluster-label, .label { + color: ${t.textColor}; + fill: ${t.textColor}; + } + .kanban-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } + ${(0,s.o)()} +`,"getStyles")}}}]); \ No newline at end of file diff --git a/en/assets/js/6374.05518a82.js b/en/assets/js/6374.05518a82.js new file mode 100644 index 0000000..dd666a8 --- /dev/null +++ b/en/assets/js/6374.05518a82.js @@ -0,0 +1,287 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6374"],{7375(t){t.exports=function(t,e){var i=e.prototype,s=i.format;i.format=function(t){var e=this,i=this.$locale();if(!this.isValid())return s.bind(this)(t);var n=this.$utils(),r=(t||"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(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return i.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return i.ordinal(e.week(),"W");case"w":case"ww":return n.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return n.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return n.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return"["+e.offsetName()+"]";case"zzz":return"["+e.offsetName("long")+"]";default:return t}});return s.bind(this)(r)}}},445(t){t.exports=function(){"use strict";var t={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"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,s=/\d\d/,n=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,a={},o=function(t){return(t*=1)+(t>68?1900:2e3)},c=function(t){return function(e){this[t]=+e}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t||"Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),i=60*e[1]+(+e[2]||0);return 0===i?0:"+"===e[0]?-i:i}(t)}],d=function(t){var e=a[t];return e&&(e.indexOf?e:e.s.concat(e.f))},u=function(t,e){var i,s=a.meridiem;if(s){for(var n=1;n<=24;n+=1)if(t.indexOf(s(n,0,e))>-1){i=n>12;break}}else i=t===(e?"pm":"PM");return i},h={A:[r,function(t){this.afternoon=u(t,!1)}],a:[r,function(t){this.afternoon=u(t,!0)}],Q:[i,function(t){this.month=3*(t-1)+1}],S:[i,function(t){this.milliseconds=100*t}],SS:[s,function(t){this.milliseconds=10*t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[n,c("seconds")],ss:[n,c("seconds")],m:[n,c("minutes")],mm:[n,c("minutes")],H:[n,c("hours")],h:[n,c("hours")],HH:[n,c("hours")],hh:[n,c("hours")],D:[n,c("day")],DD:[s,c("day")],Do:[r,function(t){var e=a.ordinal,i=t.match(/\d+/);if(this.day=i[0],e)for(var s=1;s<=31;s+=1)e(s).replace(/\[|\]/g,"")===t&&(this.day=s)}],w:[n,c("week")],ww:[s,c("week")],M:[n,c("month")],MM:[s,c("month")],MMM:[r,function(t){var e=d("months"),i=(d("monthsShort")||e.map(function(t){return t.slice(0,3)})).indexOf(t)+1;if(i<1)throw Error();this.month=i%12||i}],MMMM:[r,function(t){var e=d("months").indexOf(t)+1;if(e<1)throw Error();this.month=e%12||e}],Y:[/[+-]?\d+/,c("year")],YY:[s,function(t){this.year=o(t)}],YYYY:[/\d{4}/,c("year")],Z:l,ZZ:l};return function(i,s,n){n.p.customParseFormat=!0,i&&i.parseTwoDigitYear&&(o=i.parseTwoDigitYear);var r=s.prototype,c=r.parse;r.parse=function(i){var s=i.date,r=i.utc,o=i.args;this.$u=r;var l=o[1];if("string"==typeof l){var d=!0===o[2],u=!0===o[3],f=o[2];u&&(f=o[2]),a=this.$locale(),!d&&f&&(a=n.Ls[f]),this.$d=function(i,s,n,r){try{if(["x","X"].indexOf(s)>-1)return new Date(("X"===s?1e3:1)*i);var o=(function(i){var s,n;s=i,n=a&&a.formats;for(var r=(i=s.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(e,i,s){var r=s&&s.toUpperCase();return i||n[s]||t[s]||n[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(t,e,i){return e||i.slice(1)})})).match(e),o=r.length,c=0;c<o;c+=1){var l=r[c],d=h[l],u=d&&d[0],f=d&&d[1];r[c]=f?{regex:u,parser:f}:l.replace(/^\[|\]$/g,"")}return function(t){for(var e={},i=0,s=0;i<o;i+=1){var n=r[i];if("string"==typeof n)s+=n.length;else{var a=n.regex,c=n.parser,l=t.slice(s),d=a.exec(l)[0];c.call(e,d),t=t.replace(d,"")}}return function(t){var e=t.afternoon;if(void 0!==e){var i=t.hours;e?i<12&&(t.hours+=12):12===i&&(t.hours=0),delete t.afternoon}}(e),e}})(s)(i),c=o.year,l=o.month,d=o.day,u=o.hours,f=o.minutes,m=o.seconds,k=o.milliseconds,y=o.zone,g=o.week,p=new Date,v=d||(c||l?1:p.getDate()),T=c||p.getFullYear(),x=0;c&&!l||(x=l>0?l-1:p.getMonth());var b,$=u||0,w=f||0,_=m||0,D=k||0;return y?new Date(Date.UTC(T,x,v,$,w,_,D+60*y.offset*1e3)):n?new Date(Date.UTC(T,x,v,$,w,_,D)):(b=new Date(T,x,v,$,w,_,D),g&&(b=r(b).week(g).toDate()),b)}catch(t){return new Date("")}}(s,l,r,n),this.init(),f&&!0!==f&&(this.$L=this.locale(f).$L),(d||u)&&s!=this.format(l)&&(this.$d=new Date("")),a={}}else if(l instanceof Array)for(var m=l.length,k=1;k<=m;k+=1){o[1]=l[k-1];var y=n.apply(this,o);if(y.isValid()){this.$d=y.$d,this.$L=y.$L,this.init();break}k===m&&(this.$d=new Date(""))}else c.call(this,i)}}}()},3522(t){t.exports=function(){"use strict";var t,e,i=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,s=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,n={years:31536e6,months:2628e6,days:864e5,hours:36e5,minutes:6e4,seconds:1e3,milliseconds:1,weeks:6048e5},r=function(t){return t instanceof u},a=function(t,e,i){return new u(t,i,e.$l)},o=function(t){return e.p(t)+"s"},c=function(t){return t<0},l=function(t){return c(t)?Math.ceil(t):Math.floor(t)},d=function(t,e){return t?c(t)?{negative:!0,format:""+Math.abs(t)+e}:{negative:!1,format:""+t+e}:{negative:!1,format:""}},u=function(){function c(t,e,s){var r=this;if(this.$d={},this.$l=s,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),e)return a(t*n[o(e)],this);if("number"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if("object"==typeof t)return Object.keys(t).forEach(function(e){r.$d[o(e)]=t[e]}),this.calMilliseconds(),this;if("string"==typeof t){var c=t.match(i);if(c){var l=c.slice(2).map(function(t){return null!=t?Number(t):0});return this.$d.years=l[0],this.$d.months=l[1],this.$d.weeks=l[2],this.$d.days=l[3],this.$d.hours=l[4],this.$d.minutes=l[5],this.$d.seconds=l[6],this.calMilliseconds(),this}}return this}var u=c.prototype;return u.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce(function(e,i){return e+(t.$d[i]||0)*n[i]},0)},u.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=l(t/31536e6),t%=31536e6,this.$d.months=l(t/2628e6),t%=2628e6,this.$d.days=l(t/864e5),t%=864e5,this.$d.hours=l(t/36e5),t%=36e5,this.$d.minutes=l(t/6e4),t%=6e4,this.$d.seconds=l(t/1e3),t%=1e3,this.$d.milliseconds=t},u.toISOString=function(){var t=d(this.$d.years,"Y"),e=d(this.$d.months,"M"),i=+this.$d.days||0;this.$d.weeks&&(i+=7*this.$d.weeks);var s=d(i,"D"),n=d(this.$d.hours,"H"),r=d(this.$d.minutes,"M"),a=this.$d.seconds||0;this.$d.milliseconds&&(a+=this.$d.milliseconds/1e3,a=Math.round(1e3*a)/1e3);var o=d(a,"S"),c=t.negative||e.negative||s.negative||n.negative||r.negative||o.negative,l=n.format||r.format||o.format?"T":"",u=(c?"-":"")+"P"+t.format+e.format+s.format+l+n.format+r.format+o.format;return"P"===u||"-P"===u?"P0D":u},u.toJSON=function(){return this.toISOString()},u.format=function(t){var i={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return(t||"YYYY-MM-DDTHH:mm:ss").replace(s,function(t,e){return e||String(i[t])})},u.as=function(t){return this.$ms/n[o(t)]},u.get=function(t){var e=this.$ms,i=o(t);return"milliseconds"===i?e%=1e3:e="weeks"===i?l(e/n[i]):this.$d[i],e||0},u.add=function(t,e,i){var s;return s=e?t*n[o(e)]:r(t)?t.$ms:a(t,this).$ms,a(this.$ms+s*(i?-1:1),this)},u.subtract=function(t,e){return this.add(t,e,!0)},u.locale=function(t){var e=this.clone();return e.$l=t,e},u.clone=function(){return a(this.$ms,this)},u.humanize=function(e){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!e)},u.valueOf=function(){return this.asMilliseconds()},u.milliseconds=function(){return this.get("milliseconds")},u.asMilliseconds=function(){return this.as("milliseconds")},u.seconds=function(){return this.get("seconds")},u.asSeconds=function(){return this.as("seconds")},u.minutes=function(){return this.get("minutes")},u.asMinutes=function(){return this.as("minutes")},u.hours=function(){return this.get("hours")},u.asHours=function(){return this.as("hours")},u.days=function(){return this.get("days")},u.asDays=function(){return this.as("days")},u.weeks=function(){return this.get("weeks")},u.asWeeks=function(){return this.as("weeks")},u.months=function(){return this.get("months")},u.asMonths=function(){return this.as("months")},u.years=function(){return this.get("years")},u.asYears=function(){return this.as("years")},c}(),h=function(t,e,i){return t.add(e.years()*i,"y").add(e.months()*i,"M").add(e.days()*i,"d").add(e.hours()*i,"h").add(e.minutes()*i,"m").add(e.seconds()*i,"s").add(e.milliseconds()*i,"ms")};return function(i,s,n){t=n,e=n().$utils(),n.duration=function(t,e){return a(t,{$l:n.locale()},e)},n.isDuration=r;var o=s.prototype.add,c=s.prototype.subtract;s.prototype.add=function(t,e){return r(t)?h(this,t,1):o.bind(this)(t,e)},s.prototype.subtract=function(t,e){return r(t)?h(this,t,-1):c.bind(this)(t,e)}}}()},8313(t){t.exports=function(t,e,i){var s=function(t){return t.add(4-t.isoWeekday(),"day")},n=e.prototype;n.isoWeekYear=function(){return s(this).year()},n.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),"day");var e,n,r,a=s(this),o=(e=this.isoWeekYear(),r=4-(n=(this.$u?i.utc:i)().year(e).startOf("year")).isoWeekday(),n.isoWeekday()>4&&(r+=7),n.add(r,"day"));return a.diff(o,"week")+1},n.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var r=n.startOf;n.startOf=function(t,e){var i=this.$utils(),s=!!i.u(e)||e;return"isoweek"===i.p(t)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):r.bind(this)(t,e)}}},6389(t,e,i){"use strict";i.d(e,{diagram:()=>tP});var s,n,r,a=i(6348),o=i(1177),c=i(1293),l=i(6827),d=i(6750),u=i(4353),h=i(8313),f=i(445),m=i(7375),k=i(3522),y=i(7829),g=function(){var t=(0,l.K)(function(t,e,i,s){for(i=i||{},s=t.length;s--;i[t[s]]=e);return i},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],i=[1,26],s=[1,27],n=[1,28],r=[1,29],a=[1,30],o=[1,31],c=[1,32],d=[1,33],u=[1,34],h=[1,9],f=[1,10],m=[1,11],k=[1,12],y=[1,13],g=[1,14],p=[1,15],v=[1,16],T=[1,19],x=[1,20],b=[1,21],$=[1,22],w=[1,23],_=[1,25],D=[1,35],S={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:(0,l.K)(function(t,e,i,s,n,r,a){var o=r.length-1;switch(n){case 1:return r[o-1];case 2:case 6:case 7:this.$=[];break;case 3:r[o-1].push(r[o]),this.$=r[o-1];break;case 4:case 5:this.$=r[o];break;case 8:s.setWeekday("monday");break;case 9:s.setWeekday("tuesday");break;case 10:s.setWeekday("wednesday");break;case 11:s.setWeekday("thursday");break;case 12:s.setWeekday("friday");break;case 13:s.setWeekday("saturday");break;case 14:s.setWeekday("sunday");break;case 15:s.setWeekend("friday");break;case 16:s.setWeekend("saturday");break;case 17:s.setDateFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 18:s.enableInclusiveEndDates(),this.$=r[o].substr(18);break;case 19:s.TopAxis(),this.$=r[o].substr(8);break;case 20:s.setAxisFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 21:s.setTickInterval(r[o].substr(13)),this.$=r[o].substr(13);break;case 22:s.setExcludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 23:s.setIncludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 24:s.setTodayMarker(r[o].substr(12)),this.$=r[o].substr(12);break;case 27:s.setDiagramTitle(r[o].substr(6)),this.$=r[o].substr(6);break;case 28:this.$=r[o].trim(),s.setAccTitle(this.$);break;case 29:case 30:this.$=r[o].trim(),s.setAccDescription(this.$);break;case 31:s.addSection(r[o].substr(8)),this.$=r[o].substr(8);break;case 33:s.addTask(r[o-1],r[o]),this.$="task";break;case 34:this.$=r[o-1],s.setClickEvent(r[o-1],r[o],null);break;case 35:this.$=r[o-2],s.setClickEvent(r[o-2],r[o-1],r[o]);break;case 36:this.$=r[o-2],s.setClickEvent(r[o-2],r[o-1],null),s.setLink(r[o-2],r[o]);break;case 37:this.$=r[o-3],s.setClickEvent(r[o-3],r[o-2],r[o-1]),s.setLink(r[o-3],r[o]);break;case 38:this.$=r[o-2],s.setClickEvent(r[o-2],r[o],null),s.setLink(r[o-2],r[o-1]);break;case 39:this.$=r[o-3],s.setClickEvent(r[o-3],r[o-1],r[o]),s.setLink(r[o-3],r[o-2]);break;case 40:this.$=r[o-1],s.setLink(r[o-1],r[o]);break;case 41:case 47:this.$=r[o-1]+" "+r[o];break;case 42:case 43:case 45:this.$=r[o-2]+" "+r[o-1]+" "+r[o];break;case 44:case 46:this.$=r[o-3]+" "+r[o-2]+" "+r[o-1]+" "+r[o]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:i,13:s,14:n,15:r,16:a,17:o,18:c,19:18,20:d,21:u,22:h,23:f,24:m,25:k,26:y,27:g,28:p,29:v,30:T,31:x,33:b,35:$,36:w,37:24,38:_,40:D},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:i,13:s,14:n,15:r,16:a,17:o,18:c,19:18,20:d,21:u,22:h,23:f,24:m,25:k,26:y,27:g,28:p,29:v,30:T,31:x,33:b,35:$,36:w,37:24,38:_,40:D},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:(0,l.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,l.K)(function(t){var e=this,i=[0],s=[],n=[null],r=[],a=this.table,o="",c=0,d=0,u=0,h=r.slice.call(arguments,1),f=Object.create(this.lexer),m={};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(m[k]=this.yy[k]);f.setInput(t,m),m.lexer=f,m.parser=this,void 0===f.yylloc&&(f.yylloc={});var y=f.yylloc;r.push(y);var g=f.options&&f.options.ranges;function p(){var t;return"number"!=typeof(t=s.pop()||f.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof m.parseError?this.parseError=m.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){i.length=i.length-2*t,n.length=n.length-t,r.length=r.length-t},"popStack"),(0,l.K)(p,"lex");for(var v,T,x,b,$,w,_,D,S,C={};;){if(x=i[i.length-1],this.defaultActions[x]?b=this.defaultActions[x]:(null==v&&(v=p()),b=a[x]&&a[x][v]),void 0===b||!b.length||!b[0]){var M="";for(w in S=[],a[x])this.terminals_[w]&&w>2&&S.push("'"+this.terminals_[w]+"'");M=f.showPosition?"Parse error on line "+(c+1)+":\n"+f.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(M,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:y,expected:S})}if(b[0]instanceof Array&&b.length>1)throw Error("Parse Error: multiple actions possible at state: "+x+", token: "+v);switch(b[0]){case 1:i.push(v),n.push(f.yytext),r.push(f.yylloc),i.push(b[1]),v=null,T?(v=T,T=null):(d=f.yyleng,o=f.yytext,c=f.yylineno,y=f.yylloc,u>0&&u--);break;case 2:if(_=this.productions_[b[1]][1],C.$=n[n.length-_],C._$={first_line:r[r.length-(_||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(_||1)].first_column,last_column:r[r.length-1].last_column},g&&(C._$.range=[r[r.length-(_||1)].range[0],r[r.length-1].range[1]]),void 0!==($=this.performAction.apply(C,[o,d,c,m,b[1],n,r].concat(h))))return $;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),r=r.slice(0,-1*_)),i.push(this.productions_[b[1]][0]),n.push(C.$),r.push(C._$),D=a[i[i.length-2]][i[i.length-1]],i.push(D);break;case 3:return!0}}return!0},"parse")};function C(){this.yy={}}return S.lexer={EOF:1,parseError:(0,l.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,l.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K)(function(t,e){var i,s,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in n)this[r]=n[r];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,s,n=this._currentRules(),r=0;r<n.length;r++)if((i=this._input.match(this.rules[n[r]]))&&(!e||i[0].length>e[0].length)){if(e=i,s=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,l.K)(function(t,e,i,s){switch(i){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 15:case 18:case 21:case 24:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:break;case 11:return 10;case 14:this.begin("href");break;case 16:return 43;case 17:this.begin("callbackname");break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 22:return 42;case 23:this.begin("click");break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}},(0,l.K)(C,"Parser"),C.prototype=S,S.Parser=C,new C}();g.parser=g,u.extend(h),u.extend(f),u.extend(m);var p={friday:5,saturday:6},v="",T="",x=void 0,b="",$=[],w=[],_=new Map,D=[],S=[],C="",M="",K=["active","done","crit","milestone","vert"],Y=[],E="",L=!1,O=!1,A="sunday",I="saturday",F=0,W=(0,l.K)(function(){D=[],S=[],C="",Y=[],tp=0,s=void 0,n=void 0,tb=[],v="",T="",M="",x=void 0,b="",$=[],w=[],L=!1,O=!1,F=0,_=new Map,E="",(0,o.IU)(),A="sunday",I="saturday"},"clear"),P=(0,l.K)(function(t){E=t},"setDiagramId"),H=(0,l.K)(function(t){T=t},"setAxisFormat"),N=(0,l.K)(function(){return T},"getAxisFormat"),z=(0,l.K)(function(t){x=t},"setTickInterval"),B=(0,l.K)(function(){return x},"getTickInterval"),R=(0,l.K)(function(t){b=t},"setTodayMarker"),G=(0,l.K)(function(){return b},"getTodayMarker"),j=(0,l.K)(function(t){v=t},"setDateFormat"),U=(0,l.K)(function(){L=!0},"enableInclusiveEndDates"),V=(0,l.K)(function(){return L},"endDatesAreInclusive"),Z=(0,l.K)(function(){O=!0},"enableTopAxis"),q=(0,l.K)(function(){return O},"topAxisEnabled"),X=(0,l.K)(function(t){M=t},"setDisplayMode"),Q=(0,l.K)(function(){return M},"getDisplayMode"),J=(0,l.K)(function(){return v},"getDateFormat"),tt=(0,l.K)((t,e)=>[...new Set([...t,...e.toLowerCase().split(/[\s,]+/).filter(t=>""!==t)])],"mergeTokens"),te=(0,l.K)(function(t){$=tt($,t)},"setIncludes"),ti=(0,l.K)(function(){return $},"getIncludes"),ts=(0,l.K)(function(t){w=tt(w,t)},"setExcludes"),tn=(0,l.K)(function(){return w},"getExcludes"),tr=(0,l.K)(function(){return _},"getLinks"),ta=(0,l.K)(function(t){C=t,D.push(t)},"addSection"),to=(0,l.K)(function(){return D},"getSections"),tc=(0,l.K)(function(){let t=tS(),e=0;for(;!t&&e<10;)t=tS(),e++;return S=tb},"getTasks"),tl=(0,l.K)(function(t,e,i,s){let n=t.format(e.trim()),r=t.format("YYYY-MM-DD");return!(s.includes(n)||s.includes(r))&&(!!(i.includes("weekends")&&(t.isoWeekday()===p[I]||t.isoWeekday()===p[I]+1)||i.includes(t.format("dddd").toLowerCase()))||i.includes(n)||i.includes(r))},"isInvalidDate"),td=(0,l.K)(function(t){A=t},"setWeekday"),tu=(0,l.K)(function(){return A},"getWeekday"),th=(0,l.K)(function(t){I=t},"setWeekend"),tf=(0,l.K)(function(t,e,i,s){let n;if(!i.length||t.manualEndTime)return;let[r,a]=tm(n=(n=t.startTime instanceof Date?u(t.startTime):u(t.startTime,e,!0)).add(1,"d"),t.endTime instanceof Date?u(t.endTime):u(t.endTime,e,!0),e,i,s);t.endTime=r.toDate(),t.renderEndTime=a},"checkTaskDates"),tm=(0,l.K)(function(t,e,i,s,n){let r=!1,a=null,o=e.add(1e4,"d");for(;t<=e;){if(r||(a=e.toDate()),(r=tl(t,i,s,n))&&(e=e.add(1,"d"))>o)throw Error("Failed to find a valid date that was not excluded by `excludes` after 10,000 iterations.");t=t.add(1,"d")}return[e,a]},"fixTaskDates"),tk=(0,l.K)(function(t,e,i){if(i=i.trim(),(0,l.K)(t=>{let e=t.trim();return"x"===e||"X"===e},"isTimestampFormat")(e)&&/^\d+$/.test(i))return new Date(Number(i));let s=/^after\s+(?<ids>[\d\w- ]+)/.exec(i);if(null!==s){let t=null;for(let e of s.groups.ids.split(" ")){let i=t_(e);void 0!==i&&(!t||i.endTime>t.endTime)&&(t=i)}if(t)return t.endTime;let e=new Date;return e.setHours(0,0,0,0),e}let n=u(i,e.trim(),!0);if(n.isValid())return n.toDate();{c.R.debug("Invalid date:"+i),c.R.debug("With date format:"+e.trim());let t=new Date(i);if(void 0===t||isNaN(t.getTime())||-1e4>t.getFullYear()||t.getFullYear()>1e4)throw Error("Invalid date:"+i);return t}},"getStartDate"),ty=(0,l.K)(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),tg=(0,l.K)(function(t,e,i,s=!1){i=i.trim();let n=/^until\s+(?<ids>[\d\w- ]+)/.exec(i);if(null!==n){let t=null;for(let e of n.groups.ids.split(" ")){let i=t_(e);void 0!==i&&(!t||i.startTime<t.startTime)&&(t=i)}if(t)return t.startTime;let e=new Date;return e.setHours(0,0,0,0),e}let r=u(i,e.trim(),!0);if(r.isValid())return s&&(r=r.add(1,"d")),r.toDate();let a=u(t),[o,c]=ty(i);if(!Number.isNaN(o)){let t=a.add(o,c);t.isValid()&&(a=t)}return a.toDate()},"getEndDate"),tp=0,tv=(0,l.K)(function(t){return void 0===t?"task"+(tp+=1):t},"parseId"),tT=(0,l.K)(function(t,e){let i=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),s={};tA(i,s,K);for(let t=0;t<i.length;t++)i[t]=i[t].trim();let n="";switch(i.length){case 1:s.id=tv(),s.startTime=t.endTime,n=i[0];break;case 2:s.id=tv(),s.startTime=tk(void 0,v,i[0]),n=i[1];break;case 3:s.id=tv(i[0]),s.startTime=tk(void 0,v,i[1]),n=i[2]}return n&&(s.endTime=tg(s.startTime,v,n,L),s.manualEndTime=u(n,"YYYY-MM-DD",!0).isValid(),tf(s,v,w,$)),s},"compileData"),tx=(0,l.K)(function(t,e){let i=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),s={};tA(i,s,K);for(let t=0;t<i.length;t++)i[t]=i[t].trim();switch(i.length){case 1:s.id=tv(),s.startTime={type:"prevTaskEnd",id:t},s.endTime={data:i[0]};break;case 2:s.id=tv(),s.startTime={type:"getStartDate",startData:i[0]},s.endTime={data:i[1]};break;case 3:s.id=tv(i[0]),s.startTime={type:"getStartDate",startData:i[1]},s.endTime={data:i[2]}}return s},"parseData"),tb=[],t$={},tw=(0,l.K)(function(t,e){let i={section:C,type:C,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},s=tx(n,e);i.raw.startTime=s.startTime,i.raw.endTime=s.endTime,i.id=s.id,i.prevTaskId=n,i.active=s.active,i.done=s.done,i.crit=s.crit,i.milestone=s.milestone,i.vert=s.vert,i.vert?i.order=-1:(i.order=F,F++);let r=tb.push(i);n=i.id,t$[i.id]=r-1},"addTask"),t_=(0,l.K)(function(t){return tb[t$[t]]},"findTaskById"),tD=(0,l.K)(function(t,e){let i={section:C,type:C,description:t,task:t,classes:[]},n=tT(s,e);i.startTime=n.startTime,i.endTime=n.endTime,i.id=n.id,i.active=n.active,i.done=n.done,i.crit=n.crit,i.milestone=n.milestone,i.vert=n.vert,s=i,S.push(i)},"addTaskOrg"),tS=(0,l.K)(function(){let t=(0,l.K)(function(t){let e=tb[t],i="";switch(tb[t].raw.startTime.type){case"prevTaskEnd":{let t=t_(e.prevTaskId);e.startTime=t.endTime;break}case"getStartDate":(i=tk(void 0,v,tb[t].raw.startTime.startData))&&(tb[t].startTime=i)}return tb[t].startTime&&(tb[t].endTime=tg(tb[t].startTime,v,tb[t].raw.endTime.data,L),tb[t].endTime&&(tb[t].processed=!0,tb[t].manualEndTime=u(tb[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),tf(tb[t],v,w,$))),tb[t].processed},"compileTask"),e=!0;for(let[i,s]of tb.entries())t(i),e=e&&s.processed;return e},"compileTasks"),tC=(0,l.K)(function(t,e){let i=e;"loose"!==(0,o.D7)().securityLevel&&(i=(0,d.sanitizeUrl)(e)),t.split(",").forEach(function(t){void 0!==t_(t)&&(tY(t,()=>{window.open(i,"_self")}),_.set(t,i))}),tM(t,"clickable")},"setLink"),tM=(0,l.K)(function(t,e){t.split(",").forEach(function(t){let i=t_(t);void 0!==i&&i.classes.push(e)})},"setClass"),tK=(0,l.K)(function(t,e,i){if("loose"!==(0,o.D7)().securityLevel||void 0===e)return;let s=[];if("string"==typeof i){s=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<s.length;t++){let e=s[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),s[t]=e}}0===s.length&&s.push(t),void 0!==t_(t)&&tY(t,()=>{a._K.runFunc(e,...s)})},"setClickFun"),tY=(0,l.K)(function(t,e){Y.push(function(){let i=E?`${E}-${t}`:t,s=document.querySelector(`[id="${i}"]`);null!==s&&s.addEventListener("click",function(){e()})},function(){let i=E?`${E}-${t}`:t,s=document.querySelector(`[id="${i}-text"]`);null!==s&&s.addEventListener("click",function(){e()})})},"pushFun"),tE=(0,l.K)(function(t,e,i){t.split(",").forEach(function(t){tK(t,e,i)}),tM(t,"clickable")},"setClickEvent"),tL=(0,l.K)(function(t){Y.forEach(function(e){e(t)})},"bindFunctions"),tO={getConfig:(0,l.K)(()=>(0,o.D7)().gantt,"getConfig"),clear:W,setDateFormat:j,getDateFormat:J,enableInclusiveEndDates:U,endDatesAreInclusive:V,enableTopAxis:Z,topAxisEnabled:q,setAxisFormat:H,getAxisFormat:N,setTickInterval:z,getTickInterval:B,setTodayMarker:R,getTodayMarker:G,setAccTitle:o.SV,getAccTitle:o.iN,setDiagramTitle:o.ke,getDiagramTitle:o.ab,setDiagramId:P,setDisplayMode:X,getDisplayMode:Q,setAccDescription:o.EI,getAccDescription:o.m7,addSection:ta,getSections:to,getTasks:tc,addTask:tw,findTaskById:t_,addTaskOrg:tD,setIncludes:te,getIncludes:ti,setExcludes:ts,getExcludes:tn,setClickEvent:tE,setLink:tC,getLinks:tr,bindFunctions:tL,parseDuration:ty,isInvalidDate:tl,setWeekday:td,getWeekday:tu,setWeekend:th};function tA(t,e,i){let s=!0;for(;s;)s=!1,i.forEach(function(i){let n=RegExp("^\\s*"+i+"\\s*$");t[0].match(n)&&(e[i]=!0,t.shift(1),s=!0)})}(0,l.K)(tA,"getTaskTags"),u.extend(k);var tI=(0,l.K)(function(){c.R.debug("Something is calling, setConf, remove the call")},"setConf"),tF={monday:y.ABi,tuesday:y.PGu,wednesday:y.GuW,thursday:y.Mol,friday:y.TUC,saturday:y.rGn,sunday:y.YPH},tW=(0,l.K)((t,e)=>{let i=[...t].map(()=>-1/0),s=[...t].sort((t,e)=>t.startTime-e.startTime||t.order-e.order),n=0;for(let t of s)for(let s=0;s<i.length;s++)if(t.startTime>=i[s]){i[s]=t.endTime,t.order=s+e,s>n&&(n=s);break}return n},"getMaxIntersections"),tP={parser:g,db:tO,renderer:{setConf:tI,draw:(0,l.K)(function(t,e,i,s){let n,a=(0,o.D7)().gantt;s.db.setDiagramId(e);let d=(0,o.D7)().securityLevel;"sandbox"===d&&(n=(0,y.Ltv)("#i"+e));let h="sandbox"===d?(0,y.Ltv)(n.nodes()[0].contentDocument.body):(0,y.Ltv)("body"),f="sandbox"===d?n.nodes()[0].contentDocument:document,m=f.getElementById(e);void 0===(r=m.parentElement.offsetWidth)&&(r=1200),void 0!==a.useWidth&&(r=a.useWidth);let k=s.db.getTasks(),g=k.filter(t=>!t.vert),p=[];for(let t of g)p.push(t.type);p=Y(p);let v={},T=2*a.topPadding;if("compact"===s.db.getDisplayMode()||"compact"===a.displayMode){let t={};for(let e of g)void 0===t[e.section]?t[e.section]=[e]:t[e.section].push(e);let e=0;for(let i of Object.keys(t)){let s=tW(t[i],e)+1;e+=s,T+=s*(a.barHeight+a.barGap),v[i]=s}}else for(let t of(T+=g.length*(a.barHeight+a.barGap),p))v[t]=g.filter(e=>e.type===t).length;m.setAttribute("viewBox","0 0 "+r+" "+T);let x=h.select(`[id="${e}"]`),b=(0,y.w7C)().domain([(0,y.jkA)(k,function(t){return t.startTime}),(0,y.T9B)(k,function(t){return t.endTime})]).rangeRound([0,r-a.leftPadding-a.rightPadding]);function $(t,e){let i=t.startTime,s=e.startTime,n=0;return i>s?n=1:i<s&&(n=-1),n}function w(t,e,i){let n=a.barHeight,r=n+a.barGap,o=a.topPadding,c=a.leftPadding,l=(0,y.m4Y)().domain([0,p.length]).range(["#00B9FA","#F95002"]).interpolate(y.bEH);D(r,o,c,e,i,t,s.db.getExcludes(),s.db.getIncludes()),C(c,o,e,i),_(t,r,o,c,n,l,e,i),M(r,o,c,n,l),K(c,o,e,i)}function _(t,i,n,r,c,l,d){t.sort((t,e)=>t.vert===e.vert?0:t.vert?1:-1);let u=t.filter(t=>!t.vert),h=[...new Set(u.map(t=>t.order))].map(t=>u.find(e=>e.order===t));x.append("g").selectAll("rect").data(h).enter().append("rect").attr("x",0).attr("y",function(t,e){return t.order*i+n-2}).attr("width",function(){return d-a.rightPadding/2}).attr("height",i).attr("class",function(t){for(let[e,i]of p.entries())if(t.type===i)return"section section"+e%a.numberSectionStyles;return"section section0"}).enter();let f=x.append("g").selectAll("rect").data(t).enter(),m=s.db.getLinks();if(f.append("rect").attr("id",function(t){return e+"-"+t.id}).attr("rx",3).attr("ry",3).attr("x",function(t){return t.milestone?b(t.startTime)+r+.5*(b(t.endTime)-b(t.startTime))-.5*c:b(t.startTime)+r}).attr("y",function(t,e){return(e=t.order,t.vert)?a.gridLineStartPadding:e*i+n}).attr("width",function(t){return t.milestone?c:t.vert?.08*c:b(t.renderEndTime||t.endTime)-b(t.startTime)}).attr("height",function(t){return t.vert?u.length*(a.barHeight+a.barGap)+2*a.barHeight:c}).attr("transform-origin",function(t,e){return e=t.order,(b(t.startTime)+r+.5*(b(t.endTime)-b(t.startTime))).toString()+"px "+(e*i+n+.5*c).toString()+"px"}).attr("class",function(t){let e="";t.classes.length>0&&(e=t.classes.join(" "));let i=0;for(let[e,s]of p.entries())t.type===s&&(i=e%a.numberSectionStyles);let s="";return t.active?t.crit?s+=" activeCrit":s=" active":t.done?s=t.crit?" doneCrit":" done":t.crit&&(s+=" crit"),0===s.length&&(s=" task"),t.milestone&&(s=" milestone "+s),t.vert&&(s=" vert "+s),s+=i,"task"+(s+=" "+e)}),f.append("text").attr("id",function(t){return e+"-"+t.id+"-text"}).text(function(t){return t.task}).attr("font-size",a.fontSize).attr("x",function(t){let e=b(t.startTime),i=b(t.renderEndTime||t.endTime);if(t.milestone&&(e+=.5*(b(t.endTime)-b(t.startTime))-.5*c,i=e+c),t.vert)return b(t.startTime)+r;let s=this.getBBox().width;return s>i-e?i+s+1.5*a.leftPadding>d?e+r-5:i+r+5:(i-e)/2+e+r}).attr("y",function(t,e){return t.vert?a.gridLineStartPadding+u.length*(a.barHeight+a.barGap)+60:t.order*i+a.barHeight/2+(a.fontSize/2-2)+n}).attr("text-height",c).attr("class",function(t){let e=b(t.startTime),i=b(t.endTime);t.milestone&&(i=e+c);let s=this.getBBox().width,n="";t.classes.length>0&&(n=t.classes.join(" "));let r=0;for(let[e,i]of p.entries())t.type===i&&(r=e%a.numberSectionStyles);let o="";return(t.active&&(o=t.crit?"activeCritText"+r:"activeText"+r),t.done?o=t.crit?o+" doneCritText"+r:o+" doneText"+r:t.crit&&(o=o+" critText"+r),t.milestone&&(o+=" milestoneText"),t.vert&&(o+=" vertText"),s>i-e)?i+s+1.5*a.leftPadding>d?n+" taskTextOutsideLeft taskTextOutside"+r+" "+o:n+" taskTextOutsideRight taskTextOutside"+r+" "+o+" width-"+s:n+" taskText taskText"+r+" "+o+" width-"+s}),"sandbox"===(0,o.D7)().securityLevel){let t=(0,y.Ltv)("#i"+e).nodes()[0].contentDocument;f.filter(function(t){return m.has(t.id)}).each(function(i){var s=t.querySelector("#"+CSS.escape(e+"-"+i.id)),n=t.querySelector("#"+CSS.escape(e+"-"+i.id+"-text"));let r=s.parentNode;var a=t.createElement("a");a.setAttribute("xlink:href",m.get(i.id)),a.setAttribute("target","_top"),r.appendChild(a),a.appendChild(s),a.appendChild(n)})}}function D(t,i,n,r,o,l,d,h){let f,m;if(0===d.length&&0===h.length)return;for(let{startTime:t,endTime:e}of l)(void 0===f||t<f)&&(f=t),(void 0===m||e>m)&&(m=e);if(!f||!m)return;if(u(m).diff(u(f),"year")>5)return void c.R.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");let k=s.db.getDateFormat(),y=[],g=null,p=u(f);for(;p.valueOf()<=m;)s.db.isInvalidDate(p,k,d,h)?g?g.end=p:g={start:p,end:p}:g&&(y.push(g),g=null),p=p.add(1,"d");x.append("g").selectAll("rect").data(y).enter().append("rect").attr("id",t=>e+"-exclude-"+t.start.format("YYYY-MM-DD")).attr("x",t=>b(t.start.startOf("day"))+n).attr("y",a.gridLineStartPadding).attr("width",t=>b(t.end.endOf("day"))-b(t.start.startOf("day"))).attr("height",o-i-a.gridLineStartPadding).attr("transform-origin",function(e,i){return(b(e.start)+n+.5*(b(e.end)-b(e.start))).toString()+"px "+(i*t+.5*o).toString()+"px"}).attr("class","exclude-range")}function S(t,e,i,s){if(i<=0||t>e)return 1/0;let n=u.duration({[s??"day"]:i}).asMilliseconds();return n<=0?1/0:Math.ceil((e-t)/n)}function C(t,e,i,n){let r,o=s.db.getDateFormat(),l=s.db.getAxisFormat();r=l||("D"===o?"%d":a.axisFormat??"%Y-%m-%d");let d=(0,y.l78)(b).tickSize(-n+e+a.gridLineStartPadding).tickFormat((0,y.DCK)(r)),u=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(s.db.getTickInterval()||a.tickInterval);if(null!==u){let t=parseInt(u[1],10);if(isNaN(t)||t<=0)c.R.warn(`Invalid tick interval value: "${u[1]}". Skipping custom tick interval.`);else{let e=u[2],i=s.db.getWeekday()||a.weekday,n=b.domain(),r=S(n[0],n[1],t,e);if(r>1e4)c.R.warn(`The tick interval "${t}${e}" would generate ${r} ticks, which exceeds the maximum allowed (10000). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(e){case"millisecond":d.ticks(y.t6C.every(t));break;case"second":d.ticks(y.ucG.every(t));break;case"minute":d.ticks(y.wXd.every(t));break;case"hour":d.ticks(y.Agd.every(t));break;case"day":d.ticks(y.UAC.every(t));break;case"week":d.ticks(tF[i].every(t));break;case"month":d.ticks(y.Ui6.every(t))}}}if(x.append("g").attr("class","grid").attr("transform","translate("+t+", "+(n-50)+")").call(d).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),s.db.topAxisEnabled()||a.topAxis){let i=(0,y.tlR)(b).tickSize(-n+e+a.gridLineStartPadding).tickFormat((0,y.DCK)(r));if(null!==u){let t=parseInt(u[1],10);if(isNaN(t)||t<=0)c.R.warn(`Invalid tick interval value: "${u[1]}". Skipping custom tick interval.`);else{let e=u[2],n=s.db.getWeekday()||a.weekday,r=b.domain();if(1e4>=S(r[0],r[1],t,e))switch(e){case"millisecond":i.ticks(y.t6C.every(t));break;case"second":i.ticks(y.ucG.every(t));break;case"minute":i.ticks(y.wXd.every(t));break;case"hour":i.ticks(y.Agd.every(t));break;case"day":i.ticks(y.UAC.every(t));break;case"week":i.ticks(tF[n].every(t));break;case"month":i.ticks(y.Ui6.every(t))}}}x.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(i).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function M(t,e){let i=0,s=Object.keys(v).map(t=>[t,v[t]]);x.append("g").selectAll("text").data(s).enter().append(function(t){let e=t[0].split(o.Y2.lineBreakRegex),i=-(e.length-1)/2,s=f.createElementNS("http://www.w3.org/2000/svg","text");for(let[t,n]of(s.setAttribute("dy",i+"em"),e.entries())){let e=f.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttribute("alignment-baseline","central"),e.setAttribute("x","10"),t>0&&e.setAttribute("dy","1em"),e.textContent=n,s.appendChild(e)}return s}).attr("x",10).attr("y",function(n,r){if(!(r>0))return n[1]*t/2+e;for(let a=0;a<r;a++)return i+=s[r-1][1],n[1]*t/2+i*t+e}).attr("font-size",a.sectionFontSize).attr("class",function(t){for(let[e,i]of p.entries())if(t[0]===i)return"sectionTitle sectionTitle"+e%a.numberSectionStyles;return"sectionTitle"})}function K(t,e,i,n){let r=s.db.getTodayMarker();if("off"===r)return;let o=x.append("g").attr("class","today"),c=new Date,l=o.append("line");l.attr("x1",b(c)+t).attr("x2",b(c)+t).attr("y1",a.titleTopMargin).attr("y2",n-a.titleTopMargin).attr("class","today"),""!==r&&l.attr("style",r.replace(/,/g,";"))}function Y(t){let e={},i=[];for(let s=0,n=t.length;s<n;++s)Object.prototype.hasOwnProperty.call(e,t[s])||(e[t[s]]=!0,i.push(t[s]));return i}(0,l.K)($,"taskCompare"),k.sort($),w(k,r,T),(0,o.a$)(x,T,r,a.useMaxWidth),x.append("text").text(s.db.getDiagramTitle()).attr("x",r/2).attr("y",a.titleTopMargin).attr("class","titleText"),(0,l.K)(w,"makeGantt"),(0,l.K)(_,"drawRects"),(0,l.K)(D,"drawExcludeDays"),(0,l.K)(S,"getEstimatedTickCount"),(0,l.K)(C,"makeGrid"),(0,l.K)(M,"vertLabels"),(0,l.K)(K,"drawToday"),(0,l.K)(Y,"checkUnique")},"draw")},styles:(0,l.K)(t=>` + .mermaid-main-font { + font-family: ${t.fontFamily}; + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: ${t.fontFamily}; + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: ${t.fontFamily}; + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: ${t.fontFamily}; + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + /* Done task text displayed outside the bar sits against the diagram background, + not against the done-task bar, so it must use the outside/contrast color. */ + .doneText0.taskTextOutsideLeft, + .doneText0.taskTextOutsideRight, + .doneText1.taskTextOutsideLeft, + .doneText1.taskTextOutsideRight, + .doneText2.taskTextOutsideLeft, + .doneText2.taskTextOutsideRight, + .doneText3.taskTextOutsideLeft, + .doneText3.taskTextOutsideRight { + fill: ${t.taskTextOutsideColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.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: ${t.taskTextDarkColor} !important; + } + + /* Done-crit task text outside the bar \u2014 same reasoning as doneText above. */ + .doneCritText0.taskTextOutsideLeft, + .doneCritText0.taskTextOutsideRight, + .doneCritText1.taskTextOutsideLeft, + .doneCritText1.taskTextOutsideRight, + .doneCritText2.taskTextOutsideLeft, + .doneCritText2.taskTextOutsideRight, + .doneCritText3.taskTextOutsideLeft, + .doneCritText3.taskTextOutsideRight { + fill: ${t.taskTextOutsideColor} !important; + } + + .vert { + stroke: ${t.vertLineColor}; + } + + .vertText { + font-size: 15px; + text-anchor: middle; + fill: ${t.vertLineColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor||t.textColor}; + font-family: ${t.fontFamily}; + } +`,"getStyles")}}}]); \ No newline at end of file diff --git a/en/assets/js/6520.c5a12252.js b/en/assets/js/6520.c5a12252.js new file mode 100644 index 0000000..dae0cbd --- /dev/null +++ b/en/assets/js/6520.c5a12252.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6520"],{9035(e,s,r){r.d(s,{createRailroadEbnfServices:()=>a.W});var a=r(4916);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/6726.ac90325c.js b/en/assets/js/6726.ac90325c.js new file mode 100644 index 0000000..6c9f2be --- /dev/null +++ b/en/assets/js/6726.ac90325c.js @@ -0,0 +1,4 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6726"],{7645(e,t,a){a.d(t,{J_:()=>v,x:()=>i,Gx:()=>N,Ki:()=>k,kJ:()=>f,OU:()=>C,e7:()=>h,in:()=>c});var s=a(4848),l=a(6540),r=a(2260),n=a(8491);function i(){let e=(0,n.A)(),t=e?.data?.blogMetadata;if(!t)throw Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}let o=l.createContext(null);function c({children:e,content:t,isBlogPostPage:a=!1}){let r=function({content:e,isBlogPostPage:t}){return(0,l.useMemo)(()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,toc:e.toc,isBlogPostPage:t}),[e,t])}({content:t,isBlogPostPage:a});return(0,s.jsx)(o.Provider,{value:r,children:e})}function h(){let e=(0,l.useContext)(o);if(null===e)throw new r.dV("BlogPostProvider");return e}var m=a(6497),u=a(898);let d=e=>new Date(e).toISOString();function g(e){let t=e.map(p);return{author:1===t.length?t[0]:t}}function x(e,t,a){return e?{image:function({imageUrl:e,caption:t}){return{"@type":"ImageObject","@id":e,url:e,contentUrl:e,caption:t}}({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function f(e){let{siteConfig:t}=(0,u.A)(),{withBaseUrl:a}=(0,m.hH)(),{metadata:{blogDescription:s,blogTitle:l,permalink:r}}=e,n=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":n,mainEntityOfPage:n,headline:l,description:s,blogPost:e.items.map(e=>(function(e,t,a){let{assets:s,frontMatter:l,metadata:r}=e,{date:n,title:i,description:o,lastUpdatedAt:c}=r,h=s.image??l.image,m=l.keywords??[],u=`${t.url}${r.permalink}`,f=c?d(c):void 0;return{"@type":"BlogPosting","@id":u,mainEntityOfPage:u,url:u,headline:i,name:i,description:o,datePublished:n,...f?{dateModified:f}:{},...g(r.authors),...x(h,a,i),...m?{keywords:m}:{}}})(e.content,t,a))}}function v(){let e=i(),{assets:t,metadata:a}=h(),{siteConfig:s}=(0,u.A)(),{withBaseUrl:l}=(0,m.hH)(),{date:r,title:n,description:o,frontMatter:c,lastUpdatedAt:f}=a,v=t.image??c.image,p=c.keywords??[],w=f?d(f):void 0,j=`${s.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":j,mainEntityOfPage:j,url:j,headline:n,name:n,description:o,datePublished:r,...w?{dateModified:w}:{},...g(a.authors),...x(v,l,n),...p?{keywords:p}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function p(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}var w=a(6347),j=a(5310),b=a(618),M=a(9209);function N(e){let{pathname:t}=(0,w.zy)();return(0,l.useMemo)(()=>e.filter(e=>!e.unlisted||!!(0,M.ys)(e.permalink,t)),[e,t])}function k(e){let t=Object.entries((0,b.$z)(e,e=>`${new Date(e.date).getFullYear()}`));return t.reverse(),t}function C({items:e,ulClassName:t,liClassName:a,linkClassName:l,linkActiveClassName:r}){return(0,s.jsx)("ul",{className:t,children:e.map(e=>(0,s.jsx)("li",{className:a,children:(0,s.jsx)(j.A,{isNavLink:!0,to:e.permalink,className:l,activeClassName:r,children:e.title})},e.permalink))})}},6947(e,t,a){a.d(t,{A:()=>v});var s=a(4848),l=a(6540),r=a(4164),n=a(5310);let i=function(e){return(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,s.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,s.jsx)("path",{d:"M1.2 12a10.8 10.8 0 1 0 21.6 0a10.8 10.8 0 0 0 -21.6 0"}),(0,s.jsx)("path",{d:"M1.92 8.4h20.16"}),(0,s.jsx)("path",{d:"M1.92 15.6h20.16"}),(0,s.jsx)("path",{d:"M11.4 1.2a20.4 20.4 0 0 0 0 21.6"}),(0,s.jsx)("path",{d:"M12.6 1.2a20.4 20.4 0 0 1 0 21.6"})]})},o={twitter:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 209",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",...e,children:(0,s.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 256 250",preserveAspectRatio:"xMidYMid",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.A)(e.className,"githubSvg_Uu4N"),children:(0,s.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,s.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,s.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#0a66c2","--light":"#ffffffe6"},...e,className:(0,r.A)(e.className,"linkedinSvg_FCgI"),children:(0,s.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.A)(e.className,"xSvg_y3PF"),children:(0,s.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"},bluesky:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 226",style:{"--dark":"#0085ff","--light":"#0085ff"},...e,className:(0,r.A)(e.className,"blueskySvg_AzZw"),children:(0,s.jsx)("path",{d:"M55.491 15.172c29.35 22.035 60.917 66.712 72.509 90.686 11.592-23.974 43.159-68.651 72.509-90.686C221.686-.727 256-13.028 256 26.116c0 7.818-4.482 65.674-7.111 75.068-9.138 32.654-42.436 40.983-72.057 35.942 51.775 8.812 64.946 38 36.501 67.187-54.021 55.433-77.644-13.908-83.696-31.676-1.11-3.257-1.63-4.78-1.637-3.485-.008-1.296-.527.228-1.637 3.485-6.052 17.768-29.675 87.11-83.696 31.676-28.445-29.187-15.274-58.375 36.5-67.187-29.62 5.041-62.918-3.288-72.056-35.942C4.482 91.79 0 33.934 0 26.116 0-13.028 34.314-.727 55.491 15.172Z"})})},label:"Bluesky"},instagram:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.A)(e.className,"instagramSvg_YC40"),children:(0,s.jsx)("path",{d:"M128 23.064c34.177 0 38.225.13 51.722.745 12.48.57 19.258 2.655 23.769 4.408 5.974 2.322 10.238 5.096 14.717 9.575 4.48 4.479 7.253 8.743 9.575 14.717 1.753 4.511 3.838 11.289 4.408 23.768.615 13.498.745 17.546.745 51.723 0 34.178-.13 38.226-.745 51.723-.57 12.48-2.655 19.257-4.408 23.768-2.322 5.974-5.096 10.239-9.575 14.718-4.479 4.479-8.743 7.253-14.717 9.574-4.511 1.753-11.289 3.839-23.769 4.408-13.495.616-17.543.746-51.722.746-34.18 0-38.228-.13-51.723-.746-12.48-.57-19.257-2.655-23.768-4.408-5.974-2.321-10.239-5.095-14.718-9.574-4.479-4.48-7.253-8.744-9.574-14.718-1.753-4.51-3.839-11.288-4.408-23.768-.616-13.497-.746-17.545-.746-51.723 0-34.177.13-38.225.746-51.722.57-12.48 2.655-19.258 4.408-23.769 2.321-5.974 5.095-10.238 9.574-14.717 4.48-4.48 8.744-7.253 14.718-9.575 4.51-1.753 11.288-3.838 23.768-4.408 13.497-.615 17.545-.745 51.723-.745M128 0C93.237 0 88.878.147 75.226.77c-13.625.622-22.93 2.786-31.071 5.95-8.418 3.271-15.556 7.648-22.672 14.764C14.367 28.6 9.991 35.738 6.72 44.155 3.555 52.297 1.392 61.602.77 75.226.147 88.878 0 93.237 0 128c0 34.763.147 39.122.77 52.774.622 13.625 2.785 22.93 5.95 31.071 3.27 8.417 7.647 15.556 14.763 22.672 7.116 7.116 14.254 11.492 22.672 14.763 8.142 3.165 17.446 5.328 31.07 5.95 13.653.623 18.012.77 52.775.77s39.122-.147 52.774-.77c13.624-.622 22.929-2.785 31.07-5.95 8.418-3.27 15.556-7.647 22.672-14.763 7.116-7.116 11.493-14.254 14.764-22.672 3.164-8.142 5.328-17.446 5.95-31.07.623-13.653.77-18.012.77-52.775s-.147-39.122-.77-52.774c-.622-13.624-2.786-22.929-5.95-31.07-3.271-8.418-7.648-15.556-14.764-22.672C227.4 14.368 220.262 9.99 211.845 6.72c-8.142-3.164-17.447-5.328-31.071-5.95C167.122.147 162.763 0 128 0Zm0 62.27C91.698 62.27 62.27 91.7 62.27 128c0 36.302 29.428 65.73 65.73 65.73 36.301 0 65.73-29.428 65.73-65.73 0-36.301-29.429-65.73-65.73-65.73Zm0 108.397c-23.564 0-42.667-19.103-42.667-42.667S104.436 85.333 128 85.333s42.667 19.103 42.667 42.667-19.103 42.667-42.667 42.667Zm83.686-110.994c0 8.484-6.876 15.36-15.36 15.36-8.483 0-15.36-6.876-15.36-15.36 0-8.483 6.877-15.36 15.36-15.36 8.484 0 15.36 6.877 15.36 15.36Z"})})},label:"Instagram"},threads:{Icon:function(e){return(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg","aria-label":"Threads",viewBox:"0 0 192 192",width:"1em",fill:"none",height:"1em",style:{"--dark":"#000","--light":"#fff"},...e,className:(0,r.A)(e.className,"threadsSvg_PTXY"),children:(0,s.jsx)("path",{d:"M141.537 88.988a66.667 66.667 0 0 0-2.518-1.143c-1.482-27.307-16.403-42.94-41.457-43.1h-.34c-14.986 0-27.449 6.396-35.12 18.036l13.779 9.452c5.73-8.695 14.724-10.548 21.348-10.548h.229c8.249.053 14.474 2.452 18.503 7.129 2.932 3.405 4.893 8.111 5.864 14.05-7.314-1.243-15.224-1.626-23.68-1.14-23.82 1.371-39.134 15.264-38.105 34.568.522 9.792 5.4 18.216 13.735 23.719 7.047 4.652 16.124 6.927 25.557 6.412 12.458-.683 22.231-5.436 29.049-14.127 5.178-6.6 8.453-15.153 9.899-25.93 5.937 3.583 10.337 8.298 12.767 13.966 4.132 9.635 4.373 25.468-8.546 38.376-11.319 11.308-24.925 16.2-45.488 16.351-22.809-.169-40.06-7.484-51.275-21.742C35.236 139.966 29.808 120.682 29.605 96c.203-24.682 5.63-43.966 16.133-57.317C56.954 24.425 74.204 17.11 97.013 16.94c22.975.17 40.526 7.52 52.171 21.847 5.71 7.026 10.015 15.86 12.853 26.162l16.147-4.308c-3.44-12.68-8.853-23.606-16.219-32.668C147.036 9.607 125.202.195 97.07 0h-.113C68.882.194 47.292 9.642 32.788 28.08 19.882 44.485 13.224 67.315 13.001 95.932L13 96v.067c.224 28.617 6.882 51.447 19.788 67.854C47.292 182.358 68.882 191.806 96.957 192h.113c24.96-.173 42.554-6.708 57.048-21.189 18.963-18.945 18.392-42.692 12.142-57.27-4.484-10.454-13.033-18.945-24.723-24.553ZM98.44 129.507c-10.44.588-21.286-4.098-21.82-14.135-.397-7.442 5.296-15.746 22.461-16.735 1.966-.114 3.895-.169 5.79-.169 6.235 0 12.068.606 17.371 1.765-1.978 24.702-13.58 28.713-23.802 29.274Z"})})},label:"Threads"},mastodon:{Icon:function(e){let t=(0,l.useId)();return(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 61 65",width:"1em",height:"1em",...e,children:[(0,s.jsx)("path",{fill:`url(#${t})`,d:"M60.754 14.39C59.814 7.406 53.727 1.903 46.512.836 45.294.656 40.682 0 29.997 0h-.08C19.23 0 16.938.656 15.72.836 8.705 1.873 2.299 6.82.745 13.886c-.748 3.48-.828 7.338-.689 10.877.198 5.075.237 10.142.697 15.197a71.482 71.482 0 0 0 1.664 9.968c1.477 6.056 7.458 11.096 13.317 13.152a35.718 35.718 0 0 0 19.484 1.028 28.365 28.365 0 0 0 2.107-.576c1.572-.5 3.413-1.057 4.766-2.038a.154.154 0 0 0 .062-.118v-4.899a.146.146 0 0 0-.055-.111.145.145 0 0 0-.122-.028 54 54 0 0 1-12.644 1.478c-7.328 0-9.298-3.478-9.863-4.925a15.258 15.258 0 0 1-.857-3.882.142.142 0 0 1 .178-.145 52.976 52.976 0 0 0 12.437 1.477c1.007 0 2.012 0 3.02-.026 4.213-.119 8.654-.334 12.8-1.144.103-.02.206-.038.295-.065 6.539-1.255 12.762-5.196 13.394-15.176.024-.393.083-4.115.083-4.523.003-1.386.446-9.829-.065-15.017Z"}),(0,s.jsx)("path",{fill:"#fff",d:"M50.394 22.237v17.35H43.52V22.749c0-3.545-1.478-5.353-4.483-5.353-3.303 0-4.958 2.139-4.958 6.364v9.217h-6.835V23.76c0-4.225-1.657-6.364-4.96-6.364-2.988 0-4.48 1.808-4.48 5.353v16.84H10.93V22.237c0-3.545.905-6.362 2.715-8.45 1.868-2.082 4.317-3.152 7.358-3.152 3.519 0 6.178 1.354 7.951 4.057l1.711 2.871 1.714-2.871c1.773-2.704 4.432-4.056 7.945-4.056 3.038 0 5.487 1.069 7.36 3.152 1.81 2.085 2.712 4.902 2.71 8.449Z"}),(0,s.jsx)("defs",{children:(0,s.jsxs)("linearGradient",{id:t,x1:30.5,x2:30.5,y1:0,y2:65,gradientUnits:"userSpaceOnUse",children:[(0,s.jsx)("stop",{stopColor:"#6364FF"}),(0,s.jsx)("stop",{offset:1,stopColor:"#563ACC"})]})})]})},label:"Mastodon"},youtube:{Icon:function(e){return(0,s.jsxs)("svg",{viewBox:"0 0 256 180",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:[(0,s.jsx)("path",{d:"M250.346 28.075A32.18 32.18 0 0 0 227.69 5.418C207.824 0 127.87 0 127.87 0S47.912.164 28.046 5.582A32.18 32.18 0 0 0 5.39 28.24c-6.009 35.298-8.34 89.084.165 122.97a32.18 32.18 0 0 0 22.656 22.657c19.866 5.418 99.822 5.418 99.822 5.418s79.955 0 99.82-5.418a32.18 32.18 0 0 0 22.657-22.657c6.338-35.348 8.291-89.1-.164-123.134Z",fill:"red"}),(0,s.jsx)("path",{fill:"#FFF",d:"m102.421 128.06 66.328-38.418-66.328-38.418z"})]})},label:"YouTube"},twitch:{Icon:function(e){return(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",x:0,y:0,viewBox:"0 0 2400 2800",width:"1em",height:"1em",...e,children:[(0,s.jsx)("path",{d:"m2200 1300-400 400h-400l-350 350v-350H600V200h1600z",fill:"#fff"}),(0,s.jsxs)("g",{children:[(0,s.jsx)("path",{d:"M500 0 0 500v1800h600v500l500-500h400l900-900V0H500zm1700 1300-400 400h-400l-350 350v-350H600V200h1600v1100z",fill:"#9146ff"}),(0,s.jsx)("path",{d:"M1700 550h200v600h-200zM1150 550h200v600h-200z",fill:"#9146ff"})]})]})},label:"Twitch"},email:{Icon:function(e){return(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,...e,children:[(0,s.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z"}),(0,s.jsx)("path",{d:"M7.2 12a4.8 4.8 0 1 0 9.6 0 4.8 4.8 0 1 0-9.6 0"}),(0,s.jsx)("path",{d:"M16.8 12v1.8a3 3 0 0 0 6 0V12a10.8 10.8 0 1 0-6.6 9.936"})]})},label:"Email"}};function c({platform:e,link:t}){let{Icon:a,label:l}=o[e]??{Icon:i,label:e};return(0,s.jsx)(n.A,{className:"authorSocialLink_owbf",href:t,title:l,children:(0,s.jsx)(a,{className:(0,r.A)("authorSocialIcon_XYv3")})})}function h({author:e}){let t=Object.entries(e.socials??{});return(0,s.jsx)("div",{className:"authorSocials_rSDt",children:t.map(([e,t])=>(0,s.jsx)(c,{platform:e,link:t},e))})}var m=a(2072);let u={authorImage:"authorImage_XqGP","author-as-h1":"author-as-h1_n9oJ","author-as-h2":"author-as-h2_gXvM",authorDetails:"authorDetails_lV9A",authorName:"authorName_yefp",authorTitle:"authorTitle_nd0D",authorBlogPostCount:"authorBlogPostCount_iiJ5"};function d(e){return e.href?(0,s.jsx)(n.A,{...e}):(0,s.jsx)(s.Fragment,{children:e.children})}function g({title:e}){return(0,s.jsx)("small",{className:u.authorTitle,title:e,children:e})}function x({name:e,as:t}){return t?(0,s.jsx)(m.A,{as:t,className:u.authorName,translate:"no",children:e}):(0,s.jsx)("span",{className:u.authorName,translate:"no",children:e})}function f({count:e}){return(0,s.jsx)("span",{className:(0,r.A)(u.authorBlogPostCount),children:e})}function v({as:e,author:t,className:a,count:l}){let{name:n,title:i,url:o,imageURL:c,email:m,page:p}=t,w=p?.permalink||o||m&&`mailto:${m}`||void 0;return(0,s.jsxs)("div",{className:(0,r.A)("avatar margin-bottom--sm",a,u[`author-as-${e}`]),children:[c&&(0,s.jsx)(d,{href:w,className:"avatar__photo-link",children:(0,s.jsx)("img",{className:(0,r.A)("avatar__photo",u.authorImage),src:c,alt:n})}),(n||i)&&(0,s.jsxs)("div",{className:(0,r.A)("avatar__intro",u.authorDetails),children:[(0,s.jsxs)("div",{className:"avatar__name",children:[n&&(0,s.jsx)(d,{href:w,children:(0,s.jsx)(x,{name:n,as:e})}),void 0!==l&&(0,s.jsx)(f,{count:l})]}),!!i&&(0,s.jsx)(g,{title:i}),(0,s.jsx)(h,{author:t})]})]})}},8579(e,t,a){a.d(t,{A:()=>b});var s=a(4848),l=a(6540),r=a(4164),n=a(6525),i=a(3741),o=a(568),c=a(7645),h=a(1022),m=a(2072);function u({year:e,yearGroupHeadingClassName:t,children:a}){return(0,s.jsxs)("div",{role:"group",children:[(0,s.jsx)(m.A,{as:"h3",className:t,children:e}),a]})}let d=(0,l.memo)(function({items:e,yearGroupHeadingClassName:t,ListComponent:a}){if(!(0,h.p)().blog.sidebar.groupByYear)return(0,s.jsx)(a,{items:e});{let l=(0,c.Ki)(e);return(0,s.jsx)(s.Fragment,{children:l.map(([e,l])=>(0,s.jsx)(u,{year:e,yearGroupHeadingClassName:t,children:(0,s.jsx)(a,{items:l})},e))})}}),g=({items:e})=>(0,s.jsx)(c.OU,{items:e,ulClassName:(0,r.A)("sidebarItemList_Yudw","clean-list"),liClassName:"sidebarItem__DBe",linkClassName:"sidebarItemLink_mo7H",linkActiveClassName:"sidebarItemLinkActive_I1ZP"}),x=(0,l.memo)(function({sidebar:e}){let t=(0,c.Gx)(e.items);return(0,s.jsx)("aside",{className:"col col--3",children:(0,s.jsxs)("nav",{className:(0,r.A)("sidebar_re4s","thin-scrollbar"),"aria-label":(0,o.T)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,s.jsx)("div",{className:(0,r.A)("sidebarItemTitle_pO2u","margin-bottom--md"),children:e.title}),(0,s.jsx)(d,{items:t,ListComponent:g,yearGroupHeadingClassName:"yearGroupHeading_rMGB"})]})})});var f=a(7e3);let v=({items:e})=>(0,s.jsx)(c.OU,{items:e,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"});function p({sidebar:e}){let t=(0,c.Gx)(e.items);return(0,s.jsx)(d,{items:t,ListComponent:v,yearGroupHeadingClassName:"yearGroupHeading_QT03"})}let w=(0,l.memo)(function(e){return(0,s.jsx)(f.GX,{component:p,props:e})});function j({sidebar:e}){let t=(0,i.l)();return e?.items.length?"mobile"===t?(0,s.jsx)(w,{sidebar:e}):(0,s.jsx)(x,{sidebar:e}):null}function b(e){let{sidebar:t,toc:a,children:l,...i}=e,o=t&&t.items.length>0;return(0,s.jsx)(n.A,{...i,children:(0,s.jsx)("div",{className:"container margin-vert--lg",children:(0,s.jsxs)("div",{className:"row",children:[(0,s.jsx)(j,{sidebar:t}),(0,s.jsx)("main",{className:(0,r.A)("col",{"col--7":o,"col--9 col--offset-1":!o}),children:l}),a&&(0,s.jsx)("div",{className:"col col--2",children:a})]})})})}},8878(e,t,a){a.d(t,{W:()=>o});var s=a(6540),l=a(898);let r=["zero","one","two","few","many","other"];function n(e){return r.filter(t=>e.includes(t))}let i={locale:"en",pluralForms:n(["one","other"]),select:e=>1===e?"one":"other"};function o(){let e=function(){let{i18n:{currentLocale:e}}=(0,l.A)();return(0,s.useMemo)(()=>{try{let t;return t=new Intl.PluralRules(e),{locale:e,pluralForms:n(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}". +Docusaurus will fallback to the default (English) implementation. +Error: ${t.message} +`),i}},[e])}();return{selectMessage:(t,a)=>(function(e,t,a){let s=e.split("|");if(1===s.length)return s[0];s.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);let l=a.select(t);return s[Math.min(a.pluralForms.indexOf(l),s.length-1)]})(a,t,e)}}}}]); \ No newline at end of file diff --git a/en/assets/js/672ba3d6.6f76c648.js b/en/assets/js/672ba3d6.6f76c648.js new file mode 100644 index 0000000..2be9bb7 --- /dev/null +++ b/en/assets/js/672ba3d6.6f76c648.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8893"],{7062(e,s,i){i.r(s),i.d(s,{default:()=>d});var c=i(4848);i(6540);var t=i(6525),l=i(5310),a=i(568);let r=[{icon:"\u{1F4AC}",id:"homepage.community.forum.title",title:"\u8BBA\u575B",idDesc:"homepage.community.forum.desc",desc:"\u5728 GitHub Discussions \u4E2D\u63D0\u95EE\u3001\u5206\u4EAB\u4F7F\u7528\u7ECF\u9A8C\u4E0E\u6700\u4F73\u5B9E\u8DF5\u3002",href:"https://github.com/DTStack/SqlParserX/discussions",label:"\u524D\u5F80\u8BA8\u8BBA\u533A"},{icon:"\u{1F419}",id:"homepage.community.github.title",title:"GitHub",idDesc:"homepage.community.github.desc",desc:"\u63D0\u4EA4 Issue\u3001\u53C2\u4E0E Pull Request\uFF0C\u4E00\u8D77\u5B8C\u5584\u591A\u65B9\u8A00\u89E3\u6790\u80FD\u529B\u3002",href:"https://github.com/DTStack/SqlParserX",label:"\u8BBF\u95EE\u4ED3\u5E93"},{icon:"\u2753",id:"homepage.community.qa.title",title:"\u95EE\u7B54",idDesc:"homepage.community.qa.desc",desc:"\u9047\u5230\u4F7F\u7528\u95EE\u9898\uFF0C\u53EF\u5728 Issues \u4E2D\u68C0\u7D22\u6216\u53D1\u8D77\u65B0\u7684\u8BA8\u8BBA\u3002",href:"https://github.com/DTStack/SqlParserX/issues",label:"\u67E5\u770B Issues"}];function d(){return(0,c.jsx)(t.A,{title:"Community",description:"SqlParserX \u793E\u533A\uFF1A\u8BBA\u575B\u3001GitHub\u3001\u95EE\u7B54",children:(0,c.jsxs)("main",{className:"main_mXnJ",children:[(0,c.jsxs)("header",{className:"hero_Xgt0",children:[(0,c.jsx)("h1",{className:"title_P3Qk",children:(0,c.jsx)(a.A,{id:"community.title",children:"\u52A0\u5165 SqlParserX \u793E\u533A"})}),(0,c.jsx)("p",{className:"subtitle_E8C4",children:(0,c.jsx)(a.A,{id:"community.subtitle",children:"\u4E0E\u5F00\u53D1\u8005\u4E00\u8D77\u4EA4\u6D41\u591A\u65B9\u8A00 SQL \u89E3\u6790\u3001\u8840\u7F18\u4E0E\u6CBB\u7406\u5B9E\u8DF5\u3002"})})]}),(0,c.jsx)("section",{className:"grid_N3Zu",children:r.map(e=>(0,c.jsxs)("div",{className:"card_SFkr",children:[(0,c.jsx)("div",{className:"icon_ZV17",children:e.icon}),(0,c.jsx)("h3",{className:"cardTitle_tde4",children:(0,c.jsx)(a.A,{id:e.id,children:e.title})}),(0,c.jsx)("p",{className:"cardDesc_eKeg",children:(0,c.jsx)(a.A,{id:e.idDesc,children:e.desc})}),(0,c.jsx)(l.A,{className:"button button--primary",href:e.href,children:e.label})]},e.id))})]})})}}}]); \ No newline at end of file diff --git a/en/assets/js/6762.affd9a83.js b/en/assets/js/6762.affd9a83.js new file mode 100644 index 0000000..324e232 --- /dev/null +++ b/en/assets/js/6762.affd9a83.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6762"],{7089(e,r,s){s.d(r,{createArchitectureServices:()=>c.S});var c=s(5796);s(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/6771.da21afb4.js b/en/assets/js/6771.da21afb4.js new file mode 100644 index 0000000..050d247 --- /dev/null +++ b/en/assets/js/6771.da21afb4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6771"],{4142(e,s,r){r.d(s,{createTreeViewServices:()=>a.I});var a=r(145);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/6832.438cdfc9.js b/en/assets/js/6832.438cdfc9.js new file mode 100644 index 0000000..10b33e1 --- /dev/null +++ b/en/assets/js/6832.438cdfc9.js @@ -0,0 +1,36 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6832"],{6051(t,e,i){var r;r=i(1709),t.exports=(()=>{"use strict";var t={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];return i.forEach(function(e){Object.keys(e).forEach(function(i){return t[i]=e[i]})}),t}},548:(t,e,i)=>{var r=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var i=[],r=!0,n=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(t){n=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(n)throw o}}return i}(t,e);throw TypeError("Invalid attempt to destructure non-iterable instance")},n=i(140).layoutBase.LinkedList,o={};o.getTopMostNodes=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].id()]=!0;return t.filter(function(t,i){"number"==typeof t&&(t=i);for(var r=t.parent()[0];null!=r;){if(e[r.id()])return!1;r=r.parent()[0]}return!0})},o.connectComponents=function(t,e,i,r){var o=new n,a=new Set,s=[],h=void 0,l=void 0,d=void 0,g=!1,c=1,u=[],f=[];do!function(){var r=t.collection();f.push(r);var n=i[0],p=t.collection();for(p.merge(n).merge(n.descendants().intersection(e)),s.push(n),p.forEach(function(t){o.push(t),a.add(t),r.merge(t)});0!=o.length;)!function(){n=o.shift();var l=t.collection();n.neighborhood().nodes().forEach(function(t){e.intersection(n.edgesWith(t)).length>0&&l.merge(t)});for(var d=0;d<l.length;d++){var g=l[d];null==(h=i.intersection(g.union(g.ancestors())))||a.has(h[0])||h.union(h.descendants()).forEach(function(t){o.push(t),a.add(t),r.merge(t),i.has(t)&&s.push(t)})}}();if(r.forEach(function(t){e.intersection(t.connectedEdges()).forEach(function(t){r.has(t.source())&&r.has(t.target())&&r.merge(t)})}),s.length==i.length&&(g=!0),!g||g&&c>1){d=(l=s[0]).connectedEdges().length,s.forEach(function(t){t.connectedEdges().length<d&&(d=t.connectedEdges().length,l=t)}),u.push(l.id());var m=t.collection();m.merge(s[0]),s.forEach(function(t){m.merge(t)}),s=[],i=i.difference(m),c++}}();while(!g)return r&&u.length>0&&r.set("dummy"+(r.size+1),u),f},o.relocateComponent=function(t,e,i){if(!i.fixedNodeConstraint){var n=1/0,o=-1/0,a=1/0,s=-1/0;if("draft"==i.quality){var h=!0,l=!1,d=void 0;try{for(var g,c=e.nodeIndexes[Symbol.iterator]();!(h=(g=c.next()).done);h=!0){var u=g.value,f=r(u,2),p=f[0],m=f[1],v=i.cy.getElementById(p);if(v){var y=v.boundingBox(),E=e.xCoords[m]-y.w/2,T=e.xCoords[m]+y.w/2,N=e.yCoords[m]-y.h/2,A=e.yCoords[m]+y.h/2;E<n&&(n=E),T>o&&(o=T),N<a&&(a=N),A>s&&(s=A)}}}catch(t){l=!0,d=t}finally{try{!h&&c.return&&c.return()}finally{if(l)throw d}}var w=t.x-(o+n)/2,L=t.y-(s+a)/2;e.xCoords=e.xCoords.map(function(t){return t+w}),e.yCoords=e.yCoords.map(function(t){return t+L})}else{Object.keys(e).forEach(function(t){var i=e[t],r=i.getRect().x,h=i.getRect().x+i.getRect().width,l=i.getRect().y,d=i.getRect().y+i.getRect().height;r<n&&(n=r),h>o&&(o=h),l<a&&(a=l),d>s&&(s=d)});var C=t.x-(o+n)/2,M=t.y-(s+a)/2;Object.keys(e).forEach(function(t){var i=e[t];i.setCenter(i.getCenterX()+C,i.getCenterY()+M)})}}},o.calcBoundingBox=function(t,e,i,r){for(var n=Number.MAX_SAFE_INTEGER,o=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,h=void 0,l=void 0,d=void 0,g=void 0,c=t.descendants().not(":parent"),u=c.length,f=0;f<u;f++){var p=c[f];h=e[r.get(p.id())]-p.width()/2,l=e[r.get(p.id())]+p.width()/2,d=i[r.get(p.id())]-p.height()/2,g=i[r.get(p.id())]+p.height()/2,n>h&&(n=h),o<l&&(o=l),a>d&&(a=d),s<g&&(s=g)}var m={};return m.topLeftX=n,m.topLeftY=a,m.width=o-n,m.height=s-a,m},o.calcParentsWithoutChildren=function(t,e){var i=t.collection();return e.nodes(":parent").forEach(function(t){var e=!1;t.children().forEach(function(t){"none"!=t.css("display")&&(e=!0)}),e||i.merge(t)}),i},t.exports=o},816:(t,e,i)=>{var r=i(548),n=i(140).CoSELayout,o=i(140).CoSENode,a=i(140).layoutBase.PointD,s=i(140).layoutBase.DimensionD,h=i(140).layoutBase.LayoutConstants,l=i(140).layoutBase.FDLayoutConstants,d=i(140).CoSEConstants;t.exports={coseLayout:function(t,e){var i=t.cy,g=t.eles,c=g.nodes(),u=g.edges(),f=void 0,p=void 0,m=void 0,v={};t.randomize&&(f=e.nodeIndexes,p=e.xCoords,m=e.yCoords);var y=function(t){return"function"==typeof t},E=function(t,e){return y(t)?t(e):t},T=r.calcParentsWithoutChildren(i,g);null!=t.nestingFactor&&(d.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(d.DEFAULT_GRAVITY_STRENGTH=l.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(d.MAX_ITERATIONS=l.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(d.DEFAULT_GRAVITY_RANGE_FACTOR=l.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(d.DEFAULT_COMPOUND_GRAVITY_STRENGTH=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(d.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(d.DEFAULT_COOLING_FACTOR_INCREMENTAL=l.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(d.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?h.QUALITY=2:h.QUALITY=0,d.NODE_DIMENSIONS_INCLUDE_LABELS=l.NODE_DIMENSIONS_INCLUDE_LABELS=h.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,d.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=h.DEFAULT_INCREMENTAL=!t.randomize,d.ANIMATE=l.ANIMATE=h.ANIMATE=t.animate,d.TILE=t.tile,d.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,d.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,d.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=h.DEFAULT_INCREMENTAL=!0,d.PURE_INCREMENTAL=!t.randomize,h.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,d.ENFORCE_CONSTRAINTS=!1,d.APPLY_LAYOUT=!1),"enforced"==t.step&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!1),"cose"==t.step&&(d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!1,d.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?d.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:d.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,d.ENFORCE_CONSTRAINTS=!0,d.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?d.TREE_REDUCTION_ON_INCREMENTAL=!1:d.TREE_REDUCTION_ON_INCREMENTAL=!0;var N=new n,A=N.newGraphManager();return!function t(e,i,n,h){for(var l=i.length,d=0;d<l;d++){var g=i[d],c=null;0==g.intersection(T).length&&(c=g.children());var u=void 0,y=g.layoutDimensions({nodeDimensionsIncludeLabels:h.nodeDimensionsIncludeLabels});if(null!=g.outerWidth()&&null!=g.outerHeight())if(h.randomize)if(g.isParent()){var N=r.calcBoundingBox(g,p,m,f);u=0==g.intersection(T).length?e.add(new o(n.graphManager,new a(N.topLeftX,N.topLeftY),new s(N.width,N.height))):e.add(new o(n.graphManager,new a(N.topLeftX,N.topLeftY),new s(parseFloat(y.w),parseFloat(y.h))))}else u=e.add(new o(n.graphManager,new a(p[f.get(g.id())]-y.w/2,m[f.get(g.id())]-y.h/2),new s(parseFloat(y.w),parseFloat(y.h))));else u=e.add(new o(n.graphManager,new a(g.position("x")-y.w/2,g.position("y")-y.h/2),new s(parseFloat(y.w),parseFloat(y.h))));else u=e.add(new o(this.graphManager));(u.id=g.data("id"),u.nodeRepulsion=E(h.nodeRepulsion,g),u.paddingLeft=parseInt(g.css("padding")),u.paddingTop=parseInt(g.css("padding")),u.paddingRight=parseInt(g.css("padding")),u.paddingBottom=parseInt(g.css("padding")),h.nodeDimensionsIncludeLabels&&(u.labelWidth=g.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,u.labelHeight=g.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,u.labelPosVertical=g.css("text-valign"),u.labelPosHorizontal=g.css("text-halign")),v[g.data("id")]=u,isNaN(u.rect.x)&&(u.rect.x=0),isNaN(u.rect.y)&&(u.rect.y=0),null!=c&&c.length>0)&&t(n.getGraphManager().add(n.newGraph(),u),c,n,h)}}(A.addRoot(),r.getTopMostNodes(c),N,t),!function(e,i,r){for(var n=0,o=0,a=0;a<r.length;a++){var s=r[a],h=v[s.data("source")],g=v[s.data("target")];if(h&&g&&h!==g&&0==h.getEdgesBetween(g).length){var c=i.add(e.newEdge(),h,g);c.id=s.id(),c.idealLength=E(t.idealEdgeLength,s),c.edgeElasticity=E(t.edgeElasticity,s),n+=c.idealLength,o++}}null!=t.idealEdgeLength&&(o>0?d.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=n/o:y(t.idealEdgeLength)?d.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=50:d.DEFAULT_EDGE_LENGTH=l.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,d.MIN_REPULSION_DIST=l.MIN_REPULSION_DIST=l.DEFAULT_EDGE_LENGTH/10,d.DEFAULT_RADIAL_SEPARATION=l.DEFAULT_EDGE_LENGTH)}(N,A,u),t.fixedNodeConstraint&&(N.constraints.fixedNodeConstraint=t.fixedNodeConstraint),t.alignmentConstraint&&(N.constraints.alignmentConstraint=t.alignmentConstraint),t.relativePlacementConstraint&&(N.constraints.relativePlacementConstraint=t.relativePlacementConstraint),N.runLayout(),v}}},212:(t,e,i)=>{var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=i(658),o=i(548),a=i(657).spectralLayout,s=i(816).coseLayout,h=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:function(t){return 4500},idealEdgeLength:function(t){return 50},edgeElasticity:function(t){return .45},nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}});t.exports=function(){function t(e){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.options=n({},h,e)}return r(t,[{key:"run",value:function(){var t=this.options,e=t.cy,i=t.eles,r=[],n=[],h=void 0,l=[];t.fixedNodeConstraint&&(!Array.isArray(t.fixedNodeConstraint)||0==t.fixedNodeConstraint.length)&&(t.fixedNodeConstraint=void 0),t.alignmentConstraint&&(t.alignmentConstraint.vertical&&(!Array.isArray(t.alignmentConstraint.vertical)||0==t.alignmentConstraint.vertical.length)&&(t.alignmentConstraint.vertical=void 0),t.alignmentConstraint.horizontal&&(!Array.isArray(t.alignmentConstraint.horizontal)||0==t.alignmentConstraint.horizontal.length)&&(t.alignmentConstraint.horizontal=void 0)),t.relativePlacementConstraint&&(!Array.isArray(t.relativePlacementConstraint)||0==t.relativePlacementConstraint.length)&&(t.relativePlacementConstraint=void 0),(t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint)&&(t.tile=!1,t.packComponents=!1);var d=void 0,g=!1;if(e.layoutUtilities&&t.packComponents&&((d=e.layoutUtilities("get"))||(d=e.layoutUtilities()),g=!0),i.nodes().length>0)if(g){var c=o.getTopMostNodes(t.eles.nodes());if((h=o.connectComponents(e,t.eles,c)).forEach(function(t){var e=t.boundingBox();l.push({x:e.x1+e.w/2,y:e.y1+e.h/2})}),t.randomize&&h.forEach(function(e){t.eles=e,r.push(a(t))}),"default"==t.quality||"proof"==t.quality){var u=e.collection();if(t.tile){var f=new Map,p=0,m={nodeIndexes:f,xCoords:[],yCoords:[]},v=[];if(h.forEach(function(t,e){0==t.edges().length&&(t.nodes().forEach(function(e,i){u.merge(t.nodes()[i]),e.isParent()||(m.nodeIndexes.set(t.nodes()[i].id(),p++),m.xCoords.push(t.nodes()[0].position().x),m.yCoords.push(t.nodes()[0].position().y))}),v.push(e))}),u.length>1){var y=u.boundingBox();l.push({x:y.x1+y.w/2,y:y.y1+y.h/2}),h.push(u),r.push(m);for(var E=v.length-1;E>=0;E--)h.splice(v[E],1),r.splice(v[E],1),l.splice(v[E],1)}}h.forEach(function(e,i){t.eles=e,n.push(s(t,r[i])),o.relocateComponent(l[i],n[i],t)})}else h.forEach(function(e,i){o.relocateComponent(l[i],r[i],t)});var T=new Set;if(h.length>1){var N=[],A=i.filter(function(t){return"none"==t.css("display")});h.forEach(function(e,i){var a=void 0;if("draft"==t.quality&&(a=r[i].nodeIndexes),e.nodes().not(A).length>0){var s={};s.edges=[],s.nodes=[];var h=void 0;e.nodes().not(A).forEach(function(e){if("draft"==t.quality)if(e.isParent()){var l=o.calcBoundingBox(e,r[i].xCoords,r[i].yCoords,a);s.nodes.push({x:l.topLeftX,y:l.topLeftY,width:l.width,height:l.height})}else h=a.get(e.id()),s.nodes.push({x:r[i].xCoords[h]-e.boundingbox().w/2,y:r[i].yCoords[h]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else n[i][e.id()]&&s.nodes.push({x:n[i][e.id()].getLeft(),y:n[i][e.id()].getTop(),width:n[i][e.id()].getWidth(),height:n[i][e.id()].getHeight()})}),e.edges().forEach(function(e){var h=e.source(),l=e.target();if("none"!=h.css("display")&&"none"!=l.css("display"))if("draft"==t.quality){var d=a.get(h.id()),g=a.get(l.id()),c=[],u=[];if(h.isParent()){var f=o.calcBoundingBox(h,r[i].xCoords,r[i].yCoords,a);c.push(f.topLeftX+f.width/2),c.push(f.topLeftY+f.height/2)}else c.push(r[i].xCoords[d]),c.push(r[i].yCoords[d]);if(l.isParent()){var p=o.calcBoundingBox(l,r[i].xCoords,r[i].yCoords,a);u.push(p.topLeftX+p.width/2),u.push(p.topLeftY+p.height/2)}else u.push(r[i].xCoords[g]),u.push(r[i].yCoords[g]);s.edges.push({startX:c[0],startY:c[1],endX:u[0],endY:u[1]})}else n[i][h.id()]&&n[i][l.id()]&&s.edges.push({startX:n[i][h.id()].getCenterX(),startY:n[i][h.id()].getCenterY(),endX:n[i][l.id()].getCenterX(),endY:n[i][l.id()].getCenterY()})}),s.nodes.length>0&&(N.push(s),T.add(i))}});var w=d.packComponents(N,t.randomize).shifts;if("draft"==t.quality)r.forEach(function(t,e){var i=t.xCoords.map(function(t){return t+w[e].dx}),r=t.yCoords.map(function(t){return t+w[e].dy});t.xCoords=i,t.yCoords=r});else{var L=0;T.forEach(function(t){Object.keys(n[t]).forEach(function(e){var i=n[t][e];i.setCenter(i.getCenterX()+w[L].dx,i.getCenterY()+w[L].dy)}),L++})}}}else{var C=t.eles.boundingBox();if(l.push({x:C.x1+C.w/2,y:C.y1+C.h/2}),t.randomize){var M=a(t);r.push(M)}"default"==t.quality||"proof"==t.quality?(n.push(s(t,r[0])),o.relocateComponent(l[0],n[0],t)):o.relocateComponent(l[0],r[0],t)}var _=function(e,i){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=i);var o=void 0,a=void 0,s=e.data("id");return n.forEach(function(t){s in t&&(o={x:t[s].getRect().getCenterX(),y:t[s].getRect().getCenterY()},a=t[s])}),t.nodeDimensionsIncludeLabels&&(a.labelWidth&&("left"==a.labelPosHorizontal?o.x+=a.labelWidth/2:"right"==a.labelPosHorizontal&&(o.x-=a.labelWidth/2)),a.labelHeight&&("top"==a.labelPosVertical?o.y+=a.labelHeight/2:"bottom"==a.labelPosVertical&&(o.y-=a.labelHeight/2))),void 0==o&&(o={x:e.position("x"),y:e.position("y")}),{x:o.x,y:o.y}}var h=void 0;return r.forEach(function(t){var i=t.nodeIndexes.get(e.id());void 0!=i&&(h={x:t.xCoords[i],y:t.yCoords[i]})}),void 0==h&&(h={x:e.position("x"),y:e.position("y")}),{x:h.x,y:h.y}};if("default"==t.quality||"proof"==t.quality||t.randomize){var I=o.calcParentsWithoutChildren(e,i),x=i.filter(function(t){return"none"==t.css("display")});t.eles=i.not(x),i.nodes().not(":parent").not(x).layoutPositions(this,t,_),I.length>0&&I.forEach(function(t){t.position(_(t))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),t}()},657:(t,e,i)=>{var r=i(548),n=i(140).layoutBase.Matrix,o=i(140).layoutBase.SVD;t.exports={spectralLayout:function(t){var e=t.cy,i=t.eles,a=i.nodes(),s=i.nodes(":parent"),h=new Map,l=new Map,d=new Map,g=[],c=[],u=[],f=[],p=[],m=[],v=[],y=[],E=void 0,T=t.piTol,N=t.samplingType,A=t.nodeSeparation,w=void 0,L=function(){for(var t=0,e=0,i=!1;e<w;){t=Math.floor(Math.random()*E),i=!1;for(var r=0;r<e;r++)if(f[r]==t){i=!0;break}!i&&(f[e]=t,e++)}},C=function(t,e,i){for(var r=[],n=0,o=0,a=0,s=void 0,h=[],d=0,c=1,u=0;u<E;u++)h[u]=1e8;for(r[o]=t,h[t]=0;o>=n;){for(var f=g[a=r[n++]],v=0;v<f.length;v++)1e8==h[s=l.get(f[v])]&&(h[s]=h[a]+1,r[++o]=s);m[a][e]=h[a]*A}if(i){for(var y=0;y<E;y++)m[y][e]<p[y]&&(p[y]=m[y][e]);for(var T=0;T<E;T++)p[T]>d&&(d=p[T],c=T)}return c};r.connectComponents(e,i,r.getTopMostNodes(a),h),s.forEach(function(t){r.connectComponents(e,i,r.getTopMostNodes(t.descendants().intersection(i)),h)});for(var M=0,_=0;_<a.length;_++)a[_].isParent()||l.set(a[_].id(),M++);var I=!0,x=!1,O=void 0;try{for(var D,R=h.keys()[Symbol.iterator]();!(I=(D=R.next()).done);I=!0){var b=D.value;l.set(b,M++)}}catch(t){x=!0,O=t}finally{try{!I&&R.return&&R.return()}finally{if(x)throw O}}for(var F=0;F<l.size;F++)g[F]=[];s.forEach(function(t){for(var e=t.children().intersection(i);0==e.nodes(":childless").length;)e=e.nodes()[0].children().intersection(i);var r=0,n=e.nodes(":childless")[0].connectedEdges().length;e.nodes(":childless").forEach(function(t,e){t.connectedEdges().length<n&&(n=t.connectedEdges().length,r=e)}),d.set(t.id(),e.nodes(":childless")[r].id())}),a.forEach(function(t){var e=void 0;e=t.isParent()?l.get(d.get(t.id())):l.get(t.id()),t.neighborhood().nodes().forEach(function(r){i.intersection(t.edgesWith(r)).length>0&&(r.isParent()?g[e].push(d.get(r.id())):g[e].push(r.id()))})});var S=function(t){var i=l.get(t),r=void 0;h.get(t).forEach(function(n){r=e.getElementById(n).isParent()?d.get(n):n,g[i].push(r),g[l.get(r)].push(t)})},G=!0,P=!1,U=void 0;try{for(var k,Y=h.keys()[Symbol.iterator]();!(G=(k=Y.next()).done);G=!0){var H=k.value;S(H)}}catch(t){P=!0,U=t}finally{try{!G&&Y.return&&Y.return()}finally{if(P)throw U}}E=l.size;if(E>2){w=E<t.sampleSize?E:t.sampleSize;for(var X=0;X<E;X++)m[X]=[];for(var z=0;z<w;z++)y[z]=[];return"draft"==t.quality||"all"==t.step?(!function(t){var e=void 0;if(t){e=Math.floor(Math.random()*E);for(var i=0;i<E;i++)p[i]=1e8;for(var r=0;r<w;r++)f[r]=e,e=C(e,r,t)}else{L();for(var n=0;n<w;n++)C(f[n],n,t,!1)}for(var o=0;o<E;o++)for(var a=0;a<w;a++)m[o][a]*=m[o][a];for(var s=0;s<w;s++)v[s]=[];for(var h=0;h<w;h++)for(var l=0;l<w;l++)v[h][l]=m[f[l]][h]}(N),!function(){for(var t=o.svd(v),e=t.S,i=t.U,r=t.V,a=e[0]*e[0]*e[0],s=[],h=0;h<w;h++){s[h]=[];for(var l=0;l<w;l++)s[h][l]=0,h==l&&(s[h][l]=e[h]/(e[h]*e[h]+a/(e[h]*e[h])))}y=n.multMat(n.multMat(r,s),n.transpose(i))}(),!function(){for(var t=void 0,e=void 0,i=[],r=[],o=[],a=[],s=0;s<E;s++)i[s]=Math.random(),r[s]=Math.random();i=n.normalize(i),r=n.normalize(r);for(var h=0,l=1e-9,d=1e-9,g=void 0;;){h++;for(var f=0;f<E;f++)o[f]=i[f];if(i=n.multGamma(n.multL(n.multGamma(o),m,y)),t=n.dotProduct(o,i),i=n.normalize(i),(g=Math.abs((l=n.dotProduct(o,i))/d))<=1+T&&g>=1)break;d=l}for(var p=0;p<E;p++)o[p]=i[p];for(h=0,d=1e-9;;){h++;for(var v=0;v<E;v++)a[v]=r[v];if(a=n.minusOp(a,n.multCons(o,n.dotProduct(o,a))),r=n.multGamma(n.multL(n.multGamma(a),m,y)),e=n.dotProduct(a,r),r=n.normalize(r),(g=Math.abs((l=n.dotProduct(a,r))/d))<=1+T&&g>=1)break;d=l}for(var N=0;N<E;N++)a[N]=r[N];c=n.multCons(o,Math.sqrt(Math.abs(t))),u=n.multCons(a,Math.sqrt(Math.abs(e)))}()):l.forEach(function(t,i){c.push(e.getElementById(i).position("x")),u.push(e.getElementById(i).position("y"))}),{nodeIndexes:l,xCoords:c,yCoords:u}}var B=l.keys(),V=e.getElementById(B.next().value),W=V.position(),$=V.outerWidth();if(c.push(W.x),u.push(W.y),2==E){var j=e.getElementById(B.next().value).outerWidth();c.push(W.x+$/2+j/2+t.idealEdgeLength),u.push(W.y)}return{nodeIndexes:l,xCoords:c,yCoords:u}}}},579:(t,e,i)=>{var r=i(212),n=function(t){t&&t("layout","fcose",r)};"u">typeof cytoscape&&n(cytoscape),t.exports=n},140:t=>{t.exports=r}},e={};return function i(r){var n=e[r];if(void 0!==n)return n.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,i),o.exports}(579)})()},1709(t,e,i){var r;r=i(4298),t.exports=(()=>{"use strict";var t={45:(t,e,i)=>{var r={};r.layoutBase=i(551),r.CoSEConstants=i(806),r.CoSEEdge=i(767),r.CoSEGraph=i(880),r.CoSEGraphManager=i(578),r.CoSELayout=i(765),r.CoSENode=i(991),r.ConstraintHandler=i(902),t.exports=r},806:(t,e,i)=>{var r=i(551).FDLayoutConstants;function n(){}for(var o in r)n[o]=r[o];n.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,n.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,n.DEFAULT_COMPONENT_SEPERATION=60,n.TILE=!0,n.TILING_PADDING_VERTICAL=10,n.TILING_PADDING_HORIZONTAL=10,n.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,n.ENFORCE_CONSTRAINTS=!0,n.APPLY_LAYOUT=!0,n.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,n.TREE_REDUCTION_ON_INCREMENTAL=!0,n.PURE_INCREMENTAL=n.DEFAULT_INCREMENTAL,t.exports=n},767:(t,e,i)=>{var r=i(551).FDLayoutEdge;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},880:(t,e,i)=>{var r=i(551).LGraph;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},578:(t,e,i)=>{var r=i(551).LGraphManager;function n(t){r.call(this,t)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},765:(t,e,i)=>{var r=i(551).FDLayout,n=i(578),o=i(880),a=i(991),s=i(767),h=i(806),l=i(902),d=i(551).FDLayoutConstants,g=i(551).LayoutConstants,c=i(551).Point,u=i(551).PointD,f=i(551).DimensionD,p=i(551).Layout,m=i(551).Integer,v=i(551).IGeometry,y=i(551).LGraph,E=i(551).Transform,T=i(551).LinkedList;function N(){r.call(this),this.toBeTiled={},this.constraints={}}for(var A in N.prototype=Object.create(r.prototype),r)N[A]=r[A];N.prototype.newGraphManager=function(){var t=new n(this);return this.graphManager=t,t},N.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},N.prototype.newNode=function(t){return new a(this.graphManager,t)},N.prototype.newEdge=function(t){return new s(null,null,t)},N.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(h.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=h.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=d.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=d.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=d.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=d.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},N.prototype.initSpringEmbedder=function(){r.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/d.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},N.prototype.layout=function(){return g.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},N.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(h.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e)}}else{var i=this.getFlatForest();if(i.length>0)this.positionNodesRadially(i);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(l.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),h.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},N.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;if(this.totalIterations%d.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(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 t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),h.PURE_INCREMENTAL?this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=d.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()),h.PURE_INCREMENTAL?this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=d.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var i=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(i,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},N.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},i=0;i<t.length;i++){var r=t[i].rect,n=t[i].id;e[n]={id:n,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return e},N.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===d.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},N.prototype.moveNodes=function(){for(var t,e=this.getAllNodes(),i=0;i<e.length;i++)e[i].calculateDisplacement();Object.keys(this.constraints).length>0&&this.updateDisplacements();for(var i=0;i<e.length;i++)e[i].move()},N.prototype.initConstraintVariables=function(){var t=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var e=this.graphManager.getAllNodes(),i=0;i<e.length;i++){var r=e[i];this.idToNodeMap.set(r.id,r)}if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(e){t.fixedNodeSet.add(e.nodeId)});for(var r,e=this.graphManager.getAllNodes(),i=0;i<e.length;i++)if(null!=(r=e[i]).getChild()){var n=function e(i){for(var r,n=i.getChild().getNodes(),o=0,a=0;a<n.length;a++)null==(r=n[a]).getChild()?t.fixedNodeSet.has(r.id)&&(o+=100):o+=e(r);return o}(r);n>0&&(r.fixedNodeWeight=n)}}if(this.constraints.relativePlacementConstraint){var o=new Map,a=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var s=this.constraints.alignmentConstraint.vertical,i=0;i<s.length;i++)this.dummyToNodeForVerticalAlignment.set("dummy"+i,[]),s[i].forEach(function(e){o.set(e,"dummy"+i),t.dummyToNodeForVerticalAlignment.get("dummy"+i).push(e),t.fixedNodeSet.has(e)&&t.fixedNodesOnHorizontal.add("dummy"+i)});if(this.constraints.alignmentConstraint.horizontal)for(var l=this.constraints.alignmentConstraint.horizontal,i=0;i<l.length;i++)this.dummyToNodeForHorizontalAlignment.set("dummy"+i,[]),l[i].forEach(function(e){a.set(e,"dummy"+i),t.dummyToNodeForHorizontalAlignment.get("dummy"+i).push(e),t.fixedNodeSet.has(e)&&t.fixedNodesOnVertical.add("dummy"+i)})}if(h.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(t){var e,i,r;for(r=t.length-1;r>=2*t.length/3;r--)e=Math.floor(Math.random()*(r+1)),i=t[r],t[r]=t[e],t[e]=i;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(e){if(e.left){var i=o.has(e.left)?o.get(e.left):e.left,r=o.has(e.right)?o.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(i)||(t.nodesInRelativeHorizontal.push(i),t.nodeToRelativeConstraintMapHorizontal.set(i,[]),t.dummyToNodeForVerticalAlignment.has(i)?t.nodeToTempPositionMapHorizontal.set(i,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(i)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(i,t.idToNodeMap.get(i).getCenterX())),t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(i).push({right:r,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(r).push({left:i,gap:e.gap})}else{var n=a.has(e.top)?a.get(e.top):e.top,s=a.has(e.bottom)?a.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(n)||(t.nodesInRelativeVertical.push(n),t.nodeToRelativeConstraintMapVertical.set(n,[]),t.dummyToNodeForHorizontalAlignment.has(n)?t.nodeToTempPositionMapVertical.set(n,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(n)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(n,t.idToNodeMap.get(n).getCenterY())),t.nodesInRelativeVertical.includes(s)||(t.nodesInRelativeVertical.push(s),t.nodeToRelativeConstraintMapVertical.set(s,[]),t.dummyToNodeForHorizontalAlignment.has(s)?t.nodeToTempPositionMapVertical.set(s,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(s)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(s,t.idToNodeMap.get(s).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(n).push({bottom:s,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(s).push({top:n,gap:e.gap})}});else{var d=new Map,g=new Map;this.constraints.relativePlacementConstraint.forEach(function(t){if(t.left){var e=o.has(t.left)?o.get(t.left):t.left,i=o.has(t.right)?o.get(t.right):t.right;d.has(e)?d.get(e).push(i):d.set(e,[i]),d.has(i)?d.get(i).push(e):d.set(i,[e])}else{var r=a.has(t.top)?a.get(t.top):t.top,n=a.has(t.bottom)?a.get(t.bottom):t.bottom;g.has(r)?g.get(r).push(n):g.set(r,[n]),g.has(n)?g.get(n).push(r):g.set(n,[r])}});var c=function(t,e){var i=[],r=[],n=new T,o=new Set,a=0;return t.forEach(function(s,h){if(!o.has(h)){i[a]=[],r[a]=!1;var l=h;for(n.push(l),o.add(l),i[a].push(l);0!=n.length;)l=n.shift(),e.has(l)&&(r[a]=!0),t.get(l).forEach(function(t){o.has(t)||(n.push(t),o.add(t),i[a].push(t))});a++}}),{components:i,isFixed:r}},u=c(d,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=u.components,this.fixedComponentsOnHorizontal=u.isFixed;var f=c(g,t.fixedNodesOnVertical);this.componentsOnVertical=f.components,this.fixedComponentsOnVertical=f.isFixed}}},N.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(e){var i=t.idToNodeMap.get(e.nodeId);i.displacementX=0,i.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,i=0;i<e.length;i++){for(var r=0,n=0;n<e[i].length;n++){if(this.fixedNodeSet.has(e[i][n])){r=0;break}r+=this.idToNodeMap.get(e[i][n]).displacementX}for(var o=r/e[i].length,n=0;n<e[i].length;n++)this.idToNodeMap.get(e[i][n]).displacementX=o}if(this.constraints.alignmentConstraint.horizontal)for(var a=this.constraints.alignmentConstraint.horizontal,i=0;i<a.length;i++){for(var s=0,n=0;n<a[i].length;n++){if(this.fixedNodeSet.has(a[i][n])){s=0;break}s+=this.idToNodeMap.get(a[i][n]).displacementY}for(var l=s/a[i].length,n=0;n<a[i].length;n++)this.idToNodeMap.get(a[i][n]).displacementY=l}}if(this.constraints.relativePlacementConstraint)if(h.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach(function(e){if(!t.fixedNodesOnHorizontal.has(e)){var i=0;i=t.dummyToNodeForVerticalAlignment.has(e)?t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(e)[0]).displacementX:t.idToNodeMap.get(e).displacementX,t.nodeToRelativeConstraintMapHorizontal.get(e).forEach(function(r){if(r.right){var n=t.nodeToTempPositionMapHorizontal.get(r.right)-t.nodeToTempPositionMapHorizontal.get(e)-i;n<r.gap&&(i-=r.gap-n)}else{var n=t.nodeToTempPositionMapHorizontal.get(e)-t.nodeToTempPositionMapHorizontal.get(r.left)+i;n<r.gap&&(i+=r.gap-n)}}),t.nodeToTempPositionMapHorizontal.set(e,t.nodeToTempPositionMapHorizontal.get(e)+i),t.dummyToNodeForVerticalAlignment.has(e)?t.dummyToNodeForVerticalAlignment.get(e).forEach(function(e){t.idToNodeMap.get(e).displacementX=i}):t.idToNodeMap.get(e).displacementX=i}}),this.nodesInRelativeVertical.forEach(function(e){if(!t.fixedNodesOnHorizontal.has(e)){var i=0;i=t.dummyToNodeForHorizontalAlignment.has(e)?t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(e)[0]).displacementY:t.idToNodeMap.get(e).displacementY,t.nodeToRelativeConstraintMapVertical.get(e).forEach(function(r){if(r.bottom){var n=t.nodeToTempPositionMapVertical.get(r.bottom)-t.nodeToTempPositionMapVertical.get(e)-i;n<r.gap&&(i-=r.gap-n)}else{var n=t.nodeToTempPositionMapVertical.get(e)-t.nodeToTempPositionMapVertical.get(r.top)+i;n<r.gap&&(i+=r.gap-n)}}),t.nodeToTempPositionMapVertical.set(e,t.nodeToTempPositionMapVertical.get(e)+i),t.dummyToNodeForHorizontalAlignment.has(e)?t.dummyToNodeForHorizontalAlignment.get(e).forEach(function(e){t.idToNodeMap.get(e).displacementY=i}):t.idToNodeMap.get(e).displacementY=i}});else{for(var i=0;i<this.componentsOnHorizontal.length;i++){var d=this.componentsOnHorizontal[i];if(this.fixedComponentsOnHorizontal[i])for(var n=0;n<d.length;n++)this.dummyToNodeForVerticalAlignment.has(d[n])?this.dummyToNodeForVerticalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementX=0}):this.idToNodeMap.get(d[n]).displacementX=0;else{for(var g=0,c=0,n=0;n<d.length;n++)if(this.dummyToNodeForVerticalAlignment.has(d[n])){var u=this.dummyToNodeForVerticalAlignment.get(d[n]);g+=u.length*this.idToNodeMap.get(u[0]).displacementX,c+=u.length}else g+=this.idToNodeMap.get(d[n]).displacementX,c++;for(var f=g/c,n=0;n<d.length;n++)this.dummyToNodeForVerticalAlignment.has(d[n])?this.dummyToNodeForVerticalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementX=f}):this.idToNodeMap.get(d[n]).displacementX=f}}for(var i=0;i<this.componentsOnVertical.length;i++){var d=this.componentsOnVertical[i];if(this.fixedComponentsOnVertical[i])for(var n=0;n<d.length;n++)this.dummyToNodeForHorizontalAlignment.has(d[n])?this.dummyToNodeForHorizontalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementY=0}):this.idToNodeMap.get(d[n]).displacementY=0;else{for(var g=0,c=0,n=0;n<d.length;n++)if(this.dummyToNodeForHorizontalAlignment.has(d[n])){var u=this.dummyToNodeForHorizontalAlignment.get(d[n]);g+=u.length*this.idToNodeMap.get(u[0]).displacementY,c+=u.length}else g+=this.idToNodeMap.get(d[n]).displacementY,c++;for(var f=g/c,n=0;n<d.length;n++)this.dummyToNodeForHorizontalAlignment.has(d[n])?this.dummyToNodeForHorizontalAlignment.get(d[n]).forEach(function(e){t.idToNodeMap.get(e).displacementY=f}):this.idToNodeMap.get(d[n]).displacementY=f}}}},N.prototype.calculateNodesToApplyGravitationTo=function(){var t,e,i=[],r=this.graphManager.getGraphs(),n=r.length;for(e=0;e<n;e++)(t=r[e]).updateConnected(),t.isConnected||(i=i.concat(t.getNodes()));return i},N.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e=new Set;for(o=0;o<t.length;o++){var i=t[o];if(!e.has(i)){var r=i.getSource(),n=i.getTarget();if(r==n)i.getBendpoints().push(new u),i.getBendpoints().push(new u),this.createDummyNodesForBendpoints(i),e.add(i);else{var o,a,s=[];if(s=(s=s.concat(r.getEdgeListToNode(n))).concat(n.getEdgeListToNode(r)),!e.has(s[0])){if(s.length>1)for(a=0;a<s.length;a++){var h=s[a];h.getBendpoints().push(new u),this.createDummyNodesForBendpoints(h)}s.forEach(function(t){e.add(t)})}}}if(e.size==t.length)break}},N.prototype.positionNodesRadially=function(t){for(var e=new c(0,0),i=Math.ceil(Math.sqrt(t.length)),r=0,n=0,o=0,a=new u(0,0),s=0;s<t.length;s++){s%i==0&&(o=0,n=r,0!=s&&(n+=h.DEFAULT_COMPONENT_SEPERATION),r=0);var l=t[s],d=p.findCenterOfTree(l);e.x=o,e.y=n,(a=N.radialLayout(l,d,e)).y>r&&(r=Math.floor(a.y)),o=Math.floor(a.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new u(g.WORLD_CENTER_X-a.x/2,g.WORLD_CENTER_Y-a.y/2))},N.radialLayout=function(t,e,i){var r=Math.max(this.maxDiagonalInTree(t),h.DEFAULT_RADIAL_SEPARATION);N.branchRadialLayout(e,null,0,359,0,r);var n=y.calculateBounds(t),o=new E;o.setDeviceOrgX(n.getMinX()),o.setDeviceOrgY(n.getMinY()),o.setWorldOrgX(i.x),o.setWorldOrgY(i.y);for(var a=0;a<t.length;a++)t[a].transform(o);var s=new u(n.getMaxX(),n.getMaxY());return o.inverseTransformPoint(s)},N.branchRadialLayout=function(t,e,i,r,n,o){var a,s=(r-i+1)/2;s<0&&(s+=180);var h=(s+i)%360*v.TWO_PI/360,l=n*Math.cos(h),d=n*Math.sin(h);t.setCenter(l,d);var g=[],c=(g=g.concat(t.getEdges())).length;null!=e&&c--;for(var u=0,f=g.length,p=t.getEdgesBetween(e);p.length>1;){var m=p[0];p.splice(0,1);var y=g.indexOf(m);y>=0&&g.splice(y,1),f--,c--}a=null!=e?(g.indexOf(p[0])+1)%f:0;for(var E=Math.abs(r-i)/c,T=a;u!=c;T=++T%f){var A=g[T].getOtherEnd(t);if(A!=e){var w=(i+u*E)%360,L=(w+E)%360;N.branchRadialLayout(A,t,w,L,n+o,o),u++}}},N.maxDiagonalInTree=function(t){for(var e=m.MIN_VALUE,i=0;i<t.length;i++){var r=t[i].getDiagonal();r>e&&(e=r)}return e},N.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},N.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var i=[],r=this.graphManager.getAllNodes(),n=0;n<r.length;n++){var o=r[n],s=o.getParent();0!==this.getNodeDegreeWithChildren(o)||void 0!=s.id&&this.getToBeTiled(s)||i.push(o)}for(var n=0;n<i.length;n++){var o=i[n],h=o.getParent().id;void 0===e[h]&&(e[h]=[]),e[h]=e[h].concat(o)}Object.keys(e).forEach(function(i){if(e[i].length>1){var r="DummyCompound_"+i;t.memberGroups[r]=e[i];var n=e[i][0].getParent(),o=new a(t.graphManager);o.id=r,o.paddingLeft=n.paddingLeft||0,o.paddingRight=n.paddingRight||0,o.paddingBottom=n.paddingBottom||0,o.paddingTop=n.paddingTop||0,t.idToDummyNode[r]=o;var s=t.getGraphManager().add(t.newGraph(),o),h=n.getChild();h.add(o);for(var l=0;l<e[i].length;l++){var d=e[i][l];h.remove(d),s.add(d)}}})},N.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var i=0;i<this.compoundOrder.length;i++)e[this.compoundOrder[i].id]=this.compoundOrder[i],t[this.compoundOrder[i].id]=[].concat(this.compoundOrder[i].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[i].getChild()),this.compoundOrder[i].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},N.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(i){var r=t.idToDummyNode[i];if(e[i]=t.tileNodes(t.memberGroups[i],r.paddingLeft+r.paddingRight),r.rect.width=e[i].width,r.rect.height=e[i].height,r.setCenter(e[i].centerX,e[i].centerY),r.labelMarginLeft=0,r.labelMarginTop=0,h.NODE_DIMENSIONS_INCLUDE_LABELS){var n=r.rect.width,o=r.rect.height;r.labelWidth&&("left"==r.labelPosHorizontal?(r.rect.x-=r.labelWidth,r.setWidth(n+r.labelWidth),r.labelMarginLeft=r.labelWidth):"center"==r.labelPosHorizontal&&r.labelWidth>n?(r.rect.x-=(r.labelWidth-n)/2,r.setWidth(r.labelWidth),r.labelMarginLeft=(r.labelWidth-n)/2):"right"==r.labelPosHorizontal&&r.setWidth(n+r.labelWidth)),r.labelHeight&&("top"==r.labelPosVertical?(r.rect.y-=r.labelHeight,r.setHeight(o+r.labelHeight),r.labelMarginTop=r.labelHeight):"center"==r.labelPosVertical&&r.labelHeight>o?(r.rect.y-=(r.labelHeight-o)/2,r.setHeight(r.labelHeight),r.labelMarginTop=(r.labelHeight-o)/2):"bottom"==r.labelPosVertical&&r.setHeight(o+r.labelHeight))}})},N.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],i=e.id,r=e.paddingLeft,n=e.paddingTop,o=e.labelMarginLeft,a=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[i],e.rect.x,e.rect.y,r,n,o,a)}},N.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach(function(i){var r=t.idToDummyNode[i],n=r.paddingLeft,o=r.paddingTop,a=r.labelMarginLeft,s=r.labelMarginTop;t.adjustLocations(e[i],r.rect.x,r.rect.y,n,o,a,s)})},N.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var i=t.getChild();if(null==i)return this.toBeTiled[e]=!1,!1;for(var r=i.getNodes(),n=0;n<r.length;n++){var o=r[n];if(this.getNodeDegree(o)>0)return this.toBeTiled[e]=!1,!1;if(null==o.getChild()){this.toBeTiled[o.id]=!1;continue}if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}return this.toBeTiled[e]=!0,!0},N.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),i=0,r=0;r<e.length;r++){var n=e[r];n.getSource().id!==n.getTarget().id&&(i+=1)}return i},N.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(null==t.getChild())return e;for(var i=t.getChild().getNodes(),r=0;r<i.length;r++){var n=i[r];e+=this.getNodeDegreeWithChildren(n)}return e},N.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},N.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var i=t[e];null!=i.getChild()&&this.fillCompexOrderByDFS(i.getChild().getNodes()),this.getToBeTiled(i)&&this.compoundOrder.push(i)}},N.prototype.adjustLocations=function(t,e,i,r,n,o,a){e+=r+o,i+=n+a;for(var s=e,h=0;h<t.rows.length;h++){var l=t.rows[h];e=s;for(var d=0,g=0;g<l.length;g++){var c=l[g];c.rect.x=e,c.rect.y=i,e+=c.rect.width+t.horizontalPadding,c.rect.height>d&&(d=c.rect.height)}i+=d+t.verticalPadding}},N.prototype.tileCompoundMembers=function(t,e){var i=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(r){var n=e[r];if(i.tiledMemberPack[r]=i.tileNodes(t[r],n.paddingLeft+n.paddingRight),n.rect.width=i.tiledMemberPack[r].width,n.rect.height=i.tiledMemberPack[r].height,n.setCenter(i.tiledMemberPack[r].centerX,i.tiledMemberPack[r].centerY),n.labelMarginLeft=0,n.labelMarginTop=0,h.NODE_DIMENSIONS_INCLUDE_LABELS){var o=n.rect.width,a=n.rect.height;n.labelWidth&&("left"==n.labelPosHorizontal?(n.rect.x-=n.labelWidth,n.setWidth(o+n.labelWidth),n.labelMarginLeft=n.labelWidth):"center"==n.labelPosHorizontal&&n.labelWidth>o?(n.rect.x-=(n.labelWidth-o)/2,n.setWidth(n.labelWidth),n.labelMarginLeft=(n.labelWidth-o)/2):"right"==n.labelPosHorizontal&&n.setWidth(o+n.labelWidth)),n.labelHeight&&("top"==n.labelPosVertical?(n.rect.y-=n.labelHeight,n.setHeight(a+n.labelHeight),n.labelMarginTop=n.labelHeight):"center"==n.labelPosVertical&&n.labelHeight>a?(n.rect.y-=(n.labelHeight-a)/2,n.setHeight(n.labelHeight),n.labelMarginTop=(n.labelHeight-a)/2):"bottom"==n.labelPosVertical&&n.setHeight(a+n.labelHeight))}})},N.prototype.tileNodes=function(t,e){var i=this.tileNodesByFavoringDim(t,e,!0),r=this.tileNodesByFavoringDim(t,e,!1),n=this.getOrgRatio(i);return this.getOrgRatio(r)<n?r:i},N.prototype.getOrgRatio=function(t){var e=t.width/t.height;return e<1&&(e=1/e),e},N.prototype.calcIdealRowWidth=function(t,e){var i,r=h.TILING_PADDING_VERTICAL,n=h.TILING_PADDING_HORIZONTAL,o=t.length,a=0,s=0,l=0;t.forEach(function(t){a+=t.getWidth(),s+=t.getHeight(),t.getWidth()>l&&(l=t.getWidth())});var d=a/o,g=Math.pow(r-n,2)+4*(d+n)*(s/o+r)*o,c=(n-r+Math.sqrt(g))/(2*(d+n));e?(i=Math.ceil(c))==c&&i++:i=Math.floor(c);var u=i*(d+n)-n;return l>u&&(u=l),u+=2*n},N.prototype.tileNodesByFavoringDim=function(t,e,i){var r=h.TILING_PADDING_VERTICAL,n=h.TILING_PADDING_HORIZONTAL,o=h.TILING_COMPARE_BY,a={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:r,horizontalPadding:n,centerX:0,centerY:0};o&&(a.idealRowWidth=this.calcIdealRowWidth(t,i));var s=function(t){return t.rect.width*t.rect.height},l=function(t,e){return s(e)-s(t)};t.sort(function(t,e){var i=l;return a.idealRowWidth?(i=o)(t.id,e.id):i(t,e)});for(var d=0,g=0,c=0;c<t.length;c++){var u=t[c];d+=u.getCenterX(),g+=u.getCenterY()}a.centerX=d/t.length,a.centerY=g/t.length;for(var c=0;c<t.length;c++){var u=t[c];if(0==a.rows.length)this.insertNodeToRow(a,u,0,e);else if(this.canAddHorizontal(a,u.rect.width,u.rect.height)){var f=a.rows.length-1;a.idealRowWidth||(f=this.getShortestRowIndex(a)),this.insertNodeToRow(a,u,f,e)}else this.insertNodeToRow(a,u,a.rows.length,e);this.shiftToLastRow(a)}return a},N.prototype.insertNodeToRow=function(t,e,i,r){i==t.rows.length&&(t.rows.push([]),t.rowWidth.push(r),t.rowHeight.push(0));var n=t.rowWidth[i]+e.rect.width;t.rows[i].length>0&&(n+=t.horizontalPadding),t.rowWidth[i]=n,t.width<n&&(t.width=n);var o=e.rect.height;i>0&&(o+=t.verticalPadding);var a=0;o>t.rowHeight[i]&&(a=t.rowHeight[i],t.rowHeight[i]=o,a=t.rowHeight[i]-a),t.height+=a,t.rows[i].push(e)},N.prototype.getShortestRowIndex=function(t){for(var e=-1,i=Number.MAX_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]<i&&(e=r,i=t.rowWidth[r]);return e},N.prototype.getLongestRowIndex=function(t){for(var e=-1,i=5e-324,r=0;r<t.rows.length;r++)t.rowWidth[r]>i&&(e=r,i=t.rowWidth[r]);return e},N.prototype.canAddHorizontal=function(t,e,i){if(t.idealRowWidth){var r,n,o=t.rows.length-1;return t.rowWidth[o]+e+t.horizontalPadding<=t.idealRowWidth}var a=this.getShortestRowIndex(t);if(a<0)return!0;var s=t.rowWidth[a];if(s+t.horizontalPadding+e<=t.width)return!0;var h=0;return t.rowHeight[a]<i&&a>0&&(h=i+t.verticalPadding-t.rowHeight[a]),r=t.width-s>=e+t.horizontalPadding?(t.height+h)/(s+e+t.horizontalPadding):(t.height+h)/t.width,h=i+t.verticalPadding,(n=t.width<e?(t.height+h)/e:(t.height+h)/t.width)<1&&(n=1/n),r<1&&(r=1/r),r<n},N.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),i=t.rowWidth.length-1,r=t.rows[e],n=r[r.length-1],o=n.width+t.horizontalPadding;if(t.width-t.rowWidth[i]>o&&e!=i){r.splice(-1,1),t.rows[i].push(n),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[i]=t.rowWidth[i]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var a=5e-324,s=0;s<r.length;s++)r[s].height>a&&(a=r[s].height);e>0&&(a+=t.verticalPadding);var h=t.rowHeight[e]+t.rowHeight[i];t.rowHeight[e]=a,t.rowHeight[i]<n.height+t.verticalPadding&&(t.rowHeight[i]=n.height+t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[i];t.height+=l-h,this.shiftToLastRow(t)}},N.prototype.tilingPreLayout=function(){h.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},N.prototype.tilingPostLayout=function(){h.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},N.prototype.reduceTrees=function(){for(var t,e=[],i=!0;i;){var r=this.graphManager.getAllNodes(),n=[];i=!1;for(var o=0;o<r.length;o++)if(1==(t=r[o]).getEdges().length&&!t.getEdges()[0].isInterGraph&&null==t.getChild()){if(h.PURE_INCREMENTAL){var a=t.getEdges()[0].getOtherEnd(t),s=new f(t.getCenterX()-a.getCenterX(),t.getCenterY()-a.getCenterY());n.push([t,t.getEdges()[0],t.getOwner(),s])}else n.push([t,t.getEdges()[0],t.getOwner()]);i=!0}if(!0==i){for(var l=[],d=0;d<n.length;d++)1==n[d][0].getEdges().length&&(l.push(n[d]),n[d][0].getOwner().remove(n[d][0]));e.push(l),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=e},N.prototype.growTree=function(t){for(var e,i=t.length,r=t[i-1],n=0;n<r.length;n++)e=r[n],this.findPlaceforPrunedNode(e),e[2].add(e[0]),e[2].add(e[1],e[1].source,e[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},N.prototype.findPlaceforPrunedNode=function(t){var e=t[0];if(r=e==t[1].source?t[1].target:t[1].source,h.PURE_INCREMENTAL)e.setCenter(r.getCenterX()+t[3].getWidth(),r.getCenterY()+t[3].getHeight());else{var i,r,n,o,a=r.startX,s=r.finishX,l=r.startY,g=r.finishY,c=[0,0,0,0];if(l>0)for(var u=a;u<=s;u++)c[0]+=this.grid[u][l-1].length+this.grid[u][l].length-1;if(s<this.grid.length-1)for(var u=l;u<=g;u++)c[1]+=this.grid[s+1][u].length+this.grid[s][u].length-1;if(g<this.grid[0].length-1)for(var u=a;u<=s;u++)c[2]+=this.grid[u][g+1].length+this.grid[u][g].length-1;if(a>0)for(var u=l;u<=g;u++)c[3]+=this.grid[a-1][u].length+this.grid[a][u].length-1;for(var f=m.MAX_VALUE,p=0;p<c.length;p++)c[p]<f?(f=c[p],n=1,o=p):c[p]==f&&n++;if(3==n&&0==f)0==c[0]&&0==c[1]&&0==c[2]?i=1:0==c[0]&&0==c[1]&&0==c[3]?i=0:0==c[0]&&0==c[2]&&0==c[3]?i=3:0==c[1]&&0==c[2]&&0==c[3]&&(i=2);else if(2==n&&0==f){var v=Math.floor(2*Math.random());i=0==c[0]&&0==c[1]?+(0!=v):0==c[0]&&0==c[2]?2*(0!=v):0==c[0]&&0==c[3]?3*(0!=v):0==c[1]&&0==c[2]?0==v?1:2:0==c[1]&&0==c[3]?0==v?1:3:0==v?2:3}else if(4==n&&0==f){var v=Math.floor(4*Math.random());i=v}else i=o;0==i?e.setCenter(r.getCenterX(),r.getCenterY()-r.getHeight()/2-d.DEFAULT_EDGE_LENGTH-e.getHeight()/2):1==i?e.setCenter(r.getCenterX()+r.getWidth()/2+d.DEFAULT_EDGE_LENGTH+e.getWidth()/2,r.getCenterY()):2==i?e.setCenter(r.getCenterX(),r.getCenterY()+r.getHeight()/2+d.DEFAULT_EDGE_LENGTH+e.getHeight()/2):e.setCenter(r.getCenterX()-r.getWidth()/2-d.DEFAULT_EDGE_LENGTH-e.getWidth()/2,r.getCenterY())}},t.exports=N},991:(t,e,i)=>{var r=i(551).FDLayoutNode,n=i(551).IMath;function o(t,e,i,n){r.call(this,t,e,i,n)}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},o.prototype.propogateDisplacementToChildren=function(t,e){for(var i,r=this.getChild().getNodes(),n=0;n<r.length;n++)null==(i=r[n]).getChild()?(i.displacementX+=t,i.displacementY+=e):i.propogateDisplacementToChildren(t,e)},o.prototype.move=function(){var t=this.graphManager.getLayout();(null==this.child||0==this.child.getNodes().length)&&(this.moveBy(this.displacementX,this.displacementY),t.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},o.prototype.setPred1=function(t){this.pred1=t},o.prototype.getPred1=function(){return pred1},o.prototype.getPred2=function(){return pred2},o.prototype.setNext=function(t){this.next=t},o.prototype.getNext=function(){return next},o.prototype.setProcessed=function(t){this.processed=t},o.prototype.isProcessed=function(){return processed},t.exports=o},902:(t,e,i)=>{function r(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}var n=i(806),o=i(551).LinkedList,a=i(551).Matrix,s=i(551).SVD;function h(){}h.handleConstraints=function(t){var e={};e.fixedNodeConstraint=t.constraints.fixedNodeConstraint,e.alignmentConstraint=t.constraints.alignmentConstraint,e.relativePlacementConstraint=t.constraints.relativePlacementConstraint;for(var i=new Map,h=new Map,l=[],d=[],g=t.getAllNodes(),c=0,u=0;u<g.length;u++){var f=g[u];null==f.getChild()&&(h.set(f.id,c++),l.push(f.getCenterX()),d.push(f.getCenterY()),i.set(f.id,f))}e.relativePlacementConstraint&&e.relativePlacementConstraint.forEach(function(t){t.gap||0==t.gap||(t.left?t.gap=n.DEFAULT_EDGE_LENGTH+i.get(t.left).getWidth()/2+i.get(t.right).getWidth()/2:t.gap=n.DEFAULT_EDGE_LENGTH+i.get(t.top).getHeight()/2+i.get(t.bottom).getHeight()/2)});var p=function(t){var e=0,i=0;return t.forEach(function(t){e+=l[h.get(t)],i+=d[h.get(t)]}),{x:e/t.size,y:i/t.size}},m=function(t,e,i,n,a){var s=new Map;t.forEach(function(t,e){s.set(e,0)}),t.forEach(function(t,e){t.forEach(function(t){s.set(t.id,s.get(t.id)+1)})});var g=new Map,c=new Map,u=new o;for(s.forEach(function(t,r){0==t?(u.push(r),i||("horizontal"==e?g.set(r,h.has(r)?l[h.get(r)]:n.get(r)):g.set(r,h.has(r)?d[h.get(r)]:n.get(r)))):g.set(r,-1/0),i&&c.set(r,new Set([r]))}),i&&a.forEach(function(t){var r=[];if(t.forEach(function(t){i.has(t)&&r.push(t)}),r.length>0){var o=0;r.forEach(function(t){"horizontal"==e?g.set(t,h.has(t)?l[h.get(t)]:n.get(t)):g.set(t,h.has(t)?d[h.get(t)]:n.get(t)),o+=g.get(t)}),o/=r.length,t.forEach(function(t){i.has(t)||g.set(t,o)})}else{var a=0;t.forEach(function(t){"horizontal"==e?a+=h.has(t)?l[h.get(t)]:n.get(t):a+=h.has(t)?d[h.get(t)]:n.get(t)}),a/=t.length,t.forEach(function(t){g.set(t,a)})}});0!=u.length;)!function(){var r=u.shift();t.get(r).forEach(function(t){if(g.get(t.id)<g.get(r)+t.gap)if(i&&i.has(t.id)){var o=void 0;if(o="horizontal"==e?h.has(t.id)?l[h.get(t.id)]:n.get(t.id):h.has(t.id)?d[h.get(t.id)]:n.get(t.id),g.set(t.id,o),o<g.get(r)+t.gap){var a=g.get(r)+t.gap-o;c.get(r).forEach(function(t){g.set(t,g.get(t)-a)})}}else g.set(t.id,g.get(r)+t.gap);s.set(t.id,s.get(t.id)-1),0==s.get(t.id)&&u.push(t.id),i&&c.set(t.id,function(t,e){var i=new Set(t),r=!0,n=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var h=a.value;i.add(h)}}catch(t){n=!0,o=t}finally{try{!r&&s.return&&s.return()}finally{if(n)throw o}}return i}(c.get(r),c.get(t.id)))})}();if(i){var f=new Set;t.forEach(function(t,e){0==t.length&&f.add(e)});var p=[];c.forEach(function(t,e){if(f.has(e)){var n=!1,o=!0,a=!1,s=void 0;try{for(var h,l=t[Symbol.iterator]();!(o=(h=l.next()).done);o=!0){var d=h.value;i.has(d)&&(n=!0)}}catch(t){a=!0,s=t}finally{try{!o&&l.return&&l.return()}finally{if(a)throw s}}if(!n){var g=!1,c=void 0;p.forEach(function(e,i){e.has([].concat(r(t))[0])&&(g=!0,c=i)}),g?t.forEach(function(t){p[c].add(t)}):p.push(new Set(t))}}}),p.forEach(function(t,i){var r=1/0,o=1/0,a=-1/0,s=-1/0,c=!0,u=!1,f=void 0;try{for(var p,m=t[Symbol.iterator]();!(c=(p=m.next()).done);c=!0){var v=p.value,y=void 0;y="horizontal"==e?h.has(v)?l[h.get(v)]:n.get(v):h.has(v)?d[h.get(v)]:n.get(v);var E=g.get(v);y<r&&(r=y),y>a&&(a=y),E<o&&(o=E),E>s&&(s=E)}}catch(t){u=!0,f=t}finally{try{!c&&m.return&&m.return()}finally{if(u)throw f}}var T=(r+a)/2-(o+s)/2,N=!0,A=!1,w=void 0;try{for(var L,C=t[Symbol.iterator]();!(N=(L=C.next()).done);N=!0){var M=L.value;g.set(M,g.get(M)+T)}}catch(t){A=!0,w=t}finally{try{!N&&C.return&&C.return()}finally{if(A)throw w}}})}return g},v=function(t){var e=0,i=0,r=0,n=0;if(t.forEach(function(t){t.left?l[h.get(t.left)]-l[h.get(t.right)]>=0?e++:i++:d[h.get(t.top)]-d[h.get(t.bottom)]>=0?r++:n++}),e>i&&r>n)for(var o=0;o<h.size;o++)l[o]=-1*l[o],d[o]=-1*d[o];else if(e>i)for(var a=0;a<h.size;a++)l[a]=-1*l[a];else if(r>n)for(var s=0;s<h.size;s++)d[s]=-1*d[s]},y=function(t){var e=[],i=new o,r=new Set,n=0;return t.forEach(function(o,a){if(!r.has(a)){e[n]=[];var s=a;for(i.push(s),r.add(s),e[n].push(s);0!=i.length;)s=i.shift(),t.get(s).forEach(function(t){r.has(t.id)||(i.push(t.id),r.add(t.id),e[n].push(t.id))});n++}}),e},E=function(t){var e=new Map;return t.forEach(function(t,i){e.set(i,[])}),t.forEach(function(t,i){t.forEach(function(t){e.get(i).push(t),e.get(t.id).push({id:i,gap:t.gap,direction:t.direction})})}),e},T=function(t){var e=new Map;return t.forEach(function(t,i){e.set(i,[])}),t.forEach(function(t,i){t.forEach(function(t){e.get(t.id).push({id:i,gap:t.gap,direction:t.direction})})}),e},N=[],A=[],w=!1,L=!1,C=new Set,M=new Map,_=new Map,I=[];if(e.fixedNodeConstraint&&e.fixedNodeConstraint.forEach(function(t){C.add(t.nodeId)}),e.relativePlacementConstraint&&(e.relativePlacementConstraint.forEach(function(t){t.left?(M.has(t.left)?M.get(t.left).push({id:t.right,gap:t.gap,direction:"horizontal"}):M.set(t.left,[{id:t.right,gap:t.gap,direction:"horizontal"}]),M.has(t.right)||M.set(t.right,[])):(M.has(t.top)?M.get(t.top).push({id:t.bottom,gap:t.gap,direction:"vertical"}):M.set(t.top,[{id:t.bottom,gap:t.gap,direction:"vertical"}]),M.has(t.bottom)||M.set(t.bottom,[]))}),I=y(_=E(M))),n.TRANSFORM_ON_CONSTRAINT_HANDLING){if(e.fixedNodeConstraint&&e.fixedNodeConstraint.length>1)e.fixedNodeConstraint.forEach(function(t,e){N[e]=[t.position.x,t.position.y],A[e]=[l[h.get(t.nodeId)],d[h.get(t.nodeId)]]}),w=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var i=e.alignmentConstraint.vertical,n=0;n<i.length;n++)!function(e){var n=new Set;i[e].forEach(function(t){n.add(t)});var o=new Set([].concat(r(n)).filter(function(t){return C.has(t)})),a=void 0;a=o.size>0?l[h.get(o.values().next().value)]:p(n).x,i[e].forEach(function(e){N[t]=[a,d[h.get(e)]],A[t]=[l[h.get(e)],d[h.get(e)]],t++})}(n);w=!0}if(e.alignmentConstraint.horizontal){for(var o=e.alignmentConstraint.horizontal,a=0;a<o.length;a++)!function(e){var i=new Set;o[e].forEach(function(t){i.add(t)});var n=new Set([].concat(r(i)).filter(function(t){return C.has(t)})),a=void 0;a=n.size>0?l[h.get(n.values().next().value)]:p(i).y,o[e].forEach(function(e){N[t]=[l[h.get(e)],a],A[t]=[l[h.get(e)],d[h.get(e)]],t++})}(a);w=!0}e.relativePlacementConstraint&&(L=!0)}();else if(e.relativePlacementConstraint){for(var x=0,O=0,D=0;D<I.length;D++)I[D].length>x&&(x=I[D].length,O=D);if(x<_.size/2)v(e.relativePlacementConstraint),w=!1,L=!1;else{var R=new Map,b=new Map,F=[];I[O].forEach(function(t){M.get(t).forEach(function(e){"horizontal"==e.direction?(R.has(t)?R.get(t).push(e):R.set(t,[e]),R.has(e.id)||R.set(e.id,[]),F.push({left:t,right:e.id})):(b.has(t)?b.get(t).push(e):b.set(t,[e]),b.has(e.id)||b.set(e.id,[]),F.push({top:t,bottom:e.id}))})}),v(F),L=!1;var S=m(R,"horizontal"),G=m(b,"vertical");I[O].forEach(function(t,e){A[e]=[l[h.get(t)],d[h.get(t)]],N[e]=[],S.has(t)?N[e][0]=S.get(t):N[e][0]=l[h.get(t)],G.has(t)?N[e][1]=G.get(t):N[e][1]=d[h.get(t)]}),w=!0}}if(w){for(var P=void 0,U=a.transpose(N),k=a.transpose(A),Y=0;Y<U.length;Y++)U[Y]=a.multGamma(U[Y]),k[Y]=a.multGamma(k[Y]);var H=a.multMat(U,a.transpose(k)),X=s.svd(H);P=a.multMat(X.V,a.transpose(X.U));for(var z=0;z<h.size;z++){var B=[l[z],d[z]],V=[P[0][0],P[1][0]],W=[P[0][1],P[1][1]];l[z]=a.dotProduct(B,V),d[z]=a.dotProduct(B,W)}L&&v(e.relativePlacementConstraint)}}if(n.ENFORCE_CONSTRAINTS){if(e.fixedNodeConstraint&&e.fixedNodeConstraint.length>0){var $={x:0,y:0};e.fixedNodeConstraint.forEach(function(t,e){var i,r={x:l[h.get(t.nodeId)],y:d[h.get(t.nodeId)]},n=(i=t.position,{x:i.x-r.x,y:i.y-r.y});$.x+=n.x,$.y+=n.y}),$.x/=e.fixedNodeConstraint.length,$.y/=e.fixedNodeConstraint.length,l.forEach(function(t,e){l[e]+=$.x}),d.forEach(function(t,e){d[e]+=$.y}),e.fixedNodeConstraint.forEach(function(t){l[h.get(t.nodeId)]=t.position.x,d[h.get(t.nodeId)]=t.position.y})}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var j=e.alignmentConstraint.vertical,q=0;q<j.length;q++)!function(t){var e=new Set;j[t].forEach(function(t){e.add(t)});var i=new Set([].concat(r(e)).filter(function(t){return C.has(t)})),n=void 0;n=i.size>0?l[h.get(i.values().next().value)]:p(e).x,e.forEach(function(t){C.has(t)||(l[h.get(t)]=n)})}(q);if(e.alignmentConstraint.horizontal)for(var K=e.alignmentConstraint.horizontal,Z=0;Z<K.length;Z++)!function(t){var e=new Set;K[t].forEach(function(t){e.add(t)});var i=new Set([].concat(r(e)).filter(function(t){return C.has(t)})),n=void 0;n=i.size>0?d[h.get(i.values().next().value)]:p(e).y,e.forEach(function(t){C.has(t)||(d[h.get(t)]=n)})}(Z)}e.relativePlacementConstraint&&function(){var t=new Map,i=new Map,r=new Map,n=new Map,o=new Map,a=new Map,s=new Set,g=new Set;if(C.forEach(function(t){s.add(t),g.add(t)}),e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var c=e.alignmentConstraint.vertical,u=function(e){r.set("dummy"+e,[]),c[e].forEach(function(i){t.set(i,"dummy"+e),r.get("dummy"+e).push(i),C.has(i)&&s.add("dummy"+e)}),o.set("dummy"+e,l[h.get(c[e][0])])},f=0;f<c.length;f++)u(f);if(e.alignmentConstraint.horizontal)for(var p=e.alignmentConstraint.horizontal,v=function(t){n.set("dummy"+t,[]),p[t].forEach(function(e){i.set(e,"dummy"+t),n.get("dummy"+t).push(e),C.has(e)&&g.add("dummy"+t)}),a.set("dummy"+t,d[h.get(p[t][0])])},N=0;N<p.length;N++)v(N)}var A=new Map,w=new Map,L=function(e){M.get(e).forEach(function(r){var n=void 0,o=void 0;"horizontal"==r.direction?(n=t.get(e)?t.get(e):e,o=t.get(r.id)?{id:t.get(r.id),gap:r.gap,direction:r.direction}:r,A.has(n)?A.get(n).push(o):A.set(n,[o]),A.has(o.id)||A.set(o.id,[])):(n=i.get(e)?i.get(e):e,o=i.get(r.id)?{id:i.get(r.id),gap:r.gap,direction:r.direction}:r,w.has(n)?w.get(n).push(o):w.set(n,[o]),w.has(o.id)||w.set(o.id,[]))})},_=!0,I=!1,x=void 0;try{for(var O,D=M.keys()[Symbol.iterator]();!(_=(O=D.next()).done);_=!0){var R=O.value;L(R)}}catch(t){I=!0,x=t}finally{try{!_&&D.return&&D.return()}finally{if(I)throw x}}var b=E(A),F=E(w),S=y(b),G=y(F),P=T(A),U=T(w),k=[],Y=[];S.forEach(function(t,e){k[e]=[],t.forEach(function(t){0==P.get(t).length&&k[e].push(t)})}),G.forEach(function(t,e){Y[e]=[],t.forEach(function(t){0==U.get(t).length&&Y[e].push(t)})});var H=m(A,"horizontal",s,o,k),X=m(w,"vertical",g,a,Y),z=function(t){r.get(t)?r.get(t).forEach(function(e){l[h.get(e)]=H.get(t)}):l[h.get(t)]=H.get(t)},B=!0,V=!1,W=void 0;try{for(var $,j=H.keys()[Symbol.iterator]();!(B=($=j.next()).done);B=!0){var q=$.value;z(q)}}catch(t){V=!0,W=t}finally{try{!B&&j.return&&j.return()}finally{if(V)throw W}}var K=function(t){n.get(t)?n.get(t).forEach(function(e){d[h.get(e)]=X.get(t)}):d[h.get(t)]=X.get(t)},Z=!0,Q=!1,J=void 0;try{for(var tt,te=X.keys()[Symbol.iterator]();!(Z=(tt=te.next()).done);Z=!0){var q=tt.value;K(q)}}catch(t){Q=!0,J=t}finally{try{!Z&&te.return&&te.return()}finally{if(Q)throw J}}}()}for(var Q=0;Q<g.length;Q++){var J=g[Q];null==J.getChild()&&J.setCenter(l[h.get(J.id)],d[h.get(J.id)])}},t.exports=h},551:t=>{t.exports=r}},e={};return function i(r){var n=e[r];if(void 0!==n)return n.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,i),o.exports}(45)})()},4298(t){t.exports=function(){var t=[function(t,e,i){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(8),o=i(9);function a(t,e,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=t,this.target=e}for(var s in a.prototype=Object.create(r.prototype),r)a[s]=r[s];a.prototype.getSource=function(){return this.source},a.prototype.getTarget=function(){return this.target},a.prototype.isInterGraph=function(){return this.isInterGraph},a.prototype.getLength=function(){return this.length},a.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},a.prototype.getBendpoints=function(){return this.bendpoints},a.prototype.getLca=function(){return this.lca},a.prototype.getSourceInLca=function(){return this.sourceInLca},a.prototype.getTargetInLca=function(){return this.targetInLca},a.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},a.prototype.getOtherEndInGraph=function(t,e){for(var i=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(i.getOwner()==e)return i;if(i.getOwner()==r)break;i=i.getOwner().getParent()}return null},a.prototype.updateLength=function(){var t=[,,,,];this.isOverlapingSourceAndTarget=n.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},a.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=a},function(t,e,i){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(13),a=i(0),s=i(16),h=i(5);function l(t,e,i,a){null==i&&null==a&&(a=e),r.call(this,a),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=n.MIN_VALUE,this.inclusionTreeDepth=n.MAX_VALUE,this.vGraphObject=a,this.edges=[],this.graphManager=t,null!=i&&null!=e?this.rect=new o(e.x,e.y,i.width,i.height):this.rect=new o}for(var d in l.prototype=Object.create(r.prototype),r)l[d]=r[d];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(t){this.rect.width=t},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(t){this.rect.height=t},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},l.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},l.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},l.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},l.prototype.getEdgeListToNode=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.target==t){if(r.source!=i)throw"Incorrect edge source!";e.push(r)}}),e},l.prototype.getEdgesBetween=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.source!=i&&r.target!=i)throw"Incorrect edge source and/or target";(r.target==t||r.source==t)&&e.push(r)}),e},l.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach(function(i){if(i.source==e)t.add(i.target);else{if(i.target!=e)throw"Incorrect incidency!";t.add(i.source)}}),t},l.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),i=0;i<e.length;i++)e[i].withChildren().forEach(function(e){t.add(e)});return t},l.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var e=this.child.getNodes(),i=0;i<e.length;i++)t+=e[i].getNoOfChildren();return 0==t&&(t=1),t},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},l.prototype.scatter=function(){var t,e,i=-a.INITIAL_WORLD_BOUNDARY,r=a.INITIAL_WORLD_BOUNDARY;t=a.WORLD_CENTER_X+s.nextDouble()*(r-i)+i;var n=-a.INITIAL_WORLD_BOUNDARY,o=a.INITIAL_WORLD_BOUNDARY;e=a.WORLD_CENTER_Y+s.nextDouble()*(o-n)+n,this.rect.x=t,this.rect.y=e},l.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),a.NODE_DIMENSIONS_INCLUDE_LABELS){var e=t.getRight()-t.getLeft(),i=t.getBottom()-t.getTop();this.labelWidth&&("left"==this.labelPosHorizontal?(this.rect.x-=this.labelWidth,this.setWidth(e+this.labelWidth)):"center"==this.labelPosHorizontal&&this.labelWidth>e?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(i+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>i?(this.rect.y-=(this.labelHeight-i)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(i+this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==n.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>a.WORLD_BOUNDARY?e=a.WORLD_BOUNDARY:e<-a.WORLD_BOUNDARY&&(e=-a.WORLD_BOUNDARY);var i=this.rect.y;i>a.WORLD_BOUNDARY?i=a.WORLD_BOUNDARY:i<-a.WORLD_BOUNDARY&&(i=-a.WORLD_BOUNDARY);var r=new h(e,i),n=t.inverseTransformPoint(r);this.setLocation(n.x,n.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,i){"use strict";var r=i(0);function n(){}for(var o in r)n[o]=r[o];n.MAX_ITERATIONS=2500,n.DEFAULT_EDGE_LENGTH=50,n.DEFAULT_SPRING_STRENGTH=.45,n.DEFAULT_REPULSION_STRENGTH=4500,n.DEFAULT_GRAVITY_STRENGTH=.4,n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,n.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,n.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,n.COOLING_ADAPTATION_FACTOR=.33,n.ADAPTATION_LOWER_NODE_LIMIT=1e3,n.ADAPTATION_UPPER_NODE_LIMIT=5e3,n.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,n.MAX_NODE_DISPLACEMENT=3*n.MAX_NODE_DISPLACEMENT_INCREMENTAL,n.MIN_REPULSION_DIST=n.DEFAULT_EDGE_LENGTH/10,n.CONVERGENCE_CHECK_PERIOD=100,n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,n.MIN_EDGE_LENGTH=1,n.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=n},function(t,e,i){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(0),a=i(7),s=i(3),h=i(1),l=i(13),d=i(12),g=i(11);function c(t,e,i){r.call(this,i),this.estimatedSize=n.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof a?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var u in c.prototype=Object.create(r.prototype),r)c[u]=r[u];c.prototype.getNodes=function(){return this.nodes},c.prototype.getEdges=function(){return this.edges},c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getParent=function(){return this.parent},c.prototype.getLeft=function(){return this.left},c.prototype.getRight=function(){return this.right},c.prototype.getTop=function(){return this.top},c.prototype.getBottom=function(){return this.bottom},c.prototype.isConnected=function(){return this.isConnected},c.prototype.add=function(t,e,i){if(null==e&&null==i){if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(t)>-1)throw"Node already in graph!";return t.owner=this,this.getNodes().push(t),t}if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(i)>-1))throw"Source or target not in graph!";if(e.owner!=i.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=i.owner?null:(t.source=e,t.target=i,t.isInterGraph=!1,this.getEdges().push(t),e.edges.push(t),i!=e&&i.edges.push(t),t)},c.prototype.remove=function(t){if(t instanceof s){if(null==t)throw"Node is null!";if(null==t.owner||t.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var e,i=t.edges.slice(),r=i.length,n=0;n<r;n++)(e=i[n]).isInterGraph?this.graphManager.remove(e):e.source.owner.remove(e);var o=this.nodes.indexOf(t);if(-1==o)throw"Node not in owner node list!";this.nodes.splice(o,1)}else if(t instanceof h){var e=t;if(null==e)throw"Edge is null!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(null==e.source.owner||null==e.target.owner||e.source.owner!=this||e.target.owner!=this)throw"Source and/or target owner is invalid!";var a=e.source.edges.indexOf(e),l=e.target.edges.indexOf(e);if(!(a>-1&&l>-1))throw"Source and/or target doesn't know this edge!";e.source.edges.splice(a,1),e.target!=e.source&&e.target.edges.splice(l,1);var o=e.source.owner.getEdges().indexOf(e);if(-1==o)throw"Not in owner's edge list!";e.source.owner.getEdges().splice(o,1)}},c.prototype.updateLeftTop=function(){for(var t,e,i,r=n.MAX_VALUE,o=n.MAX_VALUE,a=this.getNodes(),s=a.length,h=0;h<s;h++){var l=a[h];t=l.getTop(),e=l.getLeft(),r>t&&(r=t),o>e&&(o=e)}return r==n.MAX_VALUE?null:(i=void 0!=a[0].getParent().paddingLeft?a[0].getParent().paddingLeft:this.margin,this.left=o-i,this.top=r-i,new d(this.left,this.top))},c.prototype.updateBounds=function(t){for(var e,i,r,o,a,s=n.MAX_VALUE,h=-n.MAX_VALUE,d=n.MAX_VALUE,g=-n.MAX_VALUE,c=this.nodes,u=c.length,f=0;f<u;f++){var p=c[f];t&&null!=p.child&&p.updateBounds(),e=p.getLeft(),i=p.getRight(),r=p.getTop(),o=p.getBottom(),s>e&&(s=e),h<i&&(h=i),d>r&&(d=r),g<o&&(g=o)}var m=new l(s,d,h-s,g-d);s==n.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),a=void 0!=c[0].getParent().paddingLeft?c[0].getParent().paddingLeft:this.margin,this.left=m.x-a,this.right=m.x+m.width+a,this.top=m.y-a,this.bottom=m.y+m.height+a},c.calculateBounds=function(t){for(var e,i,r,o,a=n.MAX_VALUE,s=-n.MAX_VALUE,h=n.MAX_VALUE,d=-n.MAX_VALUE,g=t.length,c=0;c<g;c++){var u=t[c];e=u.getLeft(),i=u.getRight(),r=u.getTop(),o=u.getBottom(),a>e&&(a=e),s<i&&(s=i),h>r&&(h=r),d<o&&(d=o)}return new l(a,h,s-a,d-h)},c.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},c.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},c.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,i=e.length,r=0;r<i;r++)t+=e[r].calcEstimatedSize();return 0==t?this.estimatedSize=o.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=t/Math.sqrt(this.nodes.length),this.estimatedSize},c.prototype.updateConnected=function(){var t,e,i=this;if(0==this.nodes.length){this.isConnected=!0;return}var r=new g,n=new Set,o=this.nodes[0];for(o.withChildren().forEach(function(t){r.push(t),n.add(t)});0!==r.length;)for(var a=(t=(o=r.shift()).getEdges()).length,s=0;s<a;s++)null==(e=t[s].getOtherEndInGraph(o,this))||n.has(e)||e.withChildren().forEach(function(t){r.push(t),n.add(t)});if(this.isConnected=!1,n.size>=this.nodes.length){var h=0;n.forEach(function(t){t.owner==i&&h++}),h==this.nodes.length&&(this.isConnected=!0)}},t.exports=c},function(t,e,i){"use strict";var r,n=i(1);function o(t){r=i(6),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),i=this.add(t,e);return this.setRootGraph(i),this.rootGraph},o.prototype.add=function(t,e,i,r,n){if(null==i&&null==r&&null==n){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}n=i,r=e,i=t;var o=r.getOwner(),a=n.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==a||a.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==a)return i.isInterGraph=!1,o.add(i,r,n);if(i.isInterGraph=!0,i.source=r,i.target=n,this.edges.indexOf(i)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(i),null==i.source||null==i.target)throw"Edge source and/or target is null!";if(-1!=i.source.edges.indexOf(i)||-1!=i.target.edges.indexOf(i))throw"Edge already in source and/or target incidency list!";return i.source.edges.push(i),i.target.edges.push(i),i},o.prototype.remove=function(t){if(t instanceof r){if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(t!=this.rootGraph&&(null==t.parent||t.parent.graphManager!=this))throw"Invalid parent node!";for(var e,i,o=[],a=(o=o.concat(t.getEdges())).length,s=0;s<a;s++)e=o[s],t.remove(e);var h=[];a=(h=h.concat(t.getNodes())).length;for(var s=0;s<a;s++)i=h[s],t.remove(i);t==this.rootGraph&&this.setRootGraph(null);var l=this.graphs.indexOf(t);this.graphs.splice(l,1),t.parent=null}else if(t instanceof n){if(null==(e=t))throw"Edge is null!";if(!e.isInterGraph)throw"Not an inter-graph edge!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(-1==e.source.edges.indexOf(e)||-1==e.target.edges.indexOf(e))throw"Source and/or target doesn't know this edge!";var l=e.source.edges.indexOf(e);if(e.source.edges.splice(l,1),l=e.target.edges.indexOf(e),e.target.edges.splice(l,1),null==e.source.owner||null==e.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==e.source.owner.getGraphManager().edges.indexOf(e))throw"Not in owner graph manager's edge list!";var l=e.source.owner.getGraphManager().edges.indexOf(e);e.source.owner.getGraphManager().edges.splice(l,1)}},o.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},o.prototype.getGraphs=function(){return this.graphs},o.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],e=this.getGraphs(),i=e.length,r=0;r<i;r++)t=t.concat(e[r].getNodes());this.allNodes=t}return this.allNodes},o.prototype.resetAllNodes=function(){this.allNodes=null},o.prototype.resetAllEdges=function(){this.allEdges=null},o.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},o.prototype.getAllEdges=function(){if(null==this.allEdges){var t=[],e=this.getGraphs();e.length;for(var i=0;i<e.length;i++)t=t.concat(e[i].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},o.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},o.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},o.prototype.getRoot=function(){return this.rootGraph},o.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},o.prototype.getLayout=function(){return this.layout},o.prototype.isOneAncestorOfOther=function(t,e){if(null==t||null==e)throw"assert failed";if(t==e)return!0;for(var i,r=t.getOwner();null!=(i=r.getParent());){if(i==e)return!0;if(null==(r=i.getOwner()))break}for(r=e.getOwner();null!=(i=r.getParent());){if(i==t)return!0;if(null==(r=i.getOwner()))break}return!1},o.prototype.calcLowestCommonAncestors=function(){for(var t,e,i,r,n,o=this.getAllEdges(),a=o.length,s=0;s<a;s++){if(e=(t=o[s]).source,i=t.target,t.lca=null,t.sourceInLca=e,t.targetInLca=i,e==i){t.lca=e.getOwner();continue}for(r=e.getOwner();null==t.lca;){for(t.targetInLca=i,n=i.getOwner();null==t.lca;){if(n==r){t.lca=n;break}if(n==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=n.getParent(),n=t.targetInLca.getOwner()}if(r==this.rootGraph)break;null==t.lca&&(t.sourceInLca=r.getParent(),r=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}},o.prototype.calcLowestCommonAncestor=function(t,e){if(t==e)return t.getOwner();for(var i=t.getOwner();null!=i;){for(var r=e.getOwner();null!=r;){if(r==i)return r;r=r.getParent().getOwner()}i=i.getParent().getOwner()}return i},o.prototype.calcInclusionTreeDepths=function(t,e){null==t&&null==e&&(t=this.rootGraph,e=1);for(var i,r=t.getNodes(),n=r.length,o=0;o<n;o++)(i=r[o]).inclusionTreeDepth=e,null!=i.child&&this.calcInclusionTreeDepths(i.child,e+1)},o.prototype.includesInvalidEdge=function(){for(var t,e=[],i=this.edges.length,r=0;r<i;r++)t=this.edges[r],this.isOneAncestorOfOther(t.source,t.target)&&e.push(t);for(var r=0;r<e.length;r++)this.remove(e[r]);return!1},t.exports=o},function(t,e,i){"use strict";var r=i(12);function n(){}n.calcSeparationAmount=function(t,e,i,r){if(!t.intersects(e))throw"assert failed";var n=[,,];this.decideDirectionsForOverlappingNodes(t,e,n),i[0]=Math.min(t.getRight(),e.getRight())-Math.max(t.x,e.x),i[1]=Math.min(t.getBottom(),e.getBottom())-Math.max(t.y,e.y),t.getX()<=e.getX()&&t.getRight()>=e.getRight()?i[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(i[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(i[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var a=o*i[0],s=i[1]/o;i[0]<s?s=i[0]:a=i[1],i[0]=-1*n[0]*(s/2+r),i[1]=-1*n[1]*(a/2+r)},n.decideDirectionsForOverlappingNodes=function(t,e,i){t.getCenterX()<e.getCenterX()?i[0]=-1:i[0]=1,t.getCenterY()<e.getCenterY()?i[1]=-1:i[1]=1},n.getIntersection2=function(t,e,i){var r=t.getCenterX(),n=t.getCenterY(),o=e.getCenterX(),a=e.getCenterY();if(t.intersects(e))return i[0]=r,i[1]=n,i[2]=o,i[3]=a,!0;var s=t.getX(),h=t.getY(),l=t.getRight(),d=t.getX(),g=t.getBottom(),c=t.getRight(),u=t.getWidthHalf(),f=t.getHeightHalf(),p=e.getX(),m=e.getY(),v=e.getRight(),y=e.getX(),E=e.getBottom(),T=e.getRight(),N=e.getWidthHalf(),A=e.getHeightHalf(),w=!1,L=!1;if(r===o)n>a?(i[0]=r,i[1]=h,i[2]=o,i[3]=E):n<a&&(i[0]=r,i[1]=g,i[2]=o,i[3]=m);else if(n===a)r>o?(i[0]=s,i[1]=n,i[2]=v,i[3]=a):r<o&&(i[0]=l,i[1]=n,i[2]=p,i[3]=a);else{var C=t.height/t.width,M=e.height/e.width,_=(a-n)/(o-r),I=void 0,x=void 0,O=void 0,D=void 0,R=void 0,b=void 0;if(-C===_?(r>o?(i[0]=d,i[1]=g):(i[0]=l,i[1]=h),w=!0):C===_&&(r>o?(i[0]=s,i[1]=h):(i[0]=c,i[1]=g),w=!0),-M===_?(o>r?(i[2]=y,i[3]=E):(i[2]=v,i[3]=m),L=!0):M===_&&(o>r?(i[2]=p,i[3]=m):(i[2]=T,i[3]=E),L=!0),w&&L)return!1;if(r>o?n>a?(I=this.getCardinalDirection(C,_,4),x=this.getCardinalDirection(M,_,2)):(I=this.getCardinalDirection(-C,_,3),x=this.getCardinalDirection(-M,_,1)):n>a?(I=this.getCardinalDirection(-C,_,1),x=this.getCardinalDirection(-M,_,3)):(I=this.getCardinalDirection(C,_,2),x=this.getCardinalDirection(M,_,4)),!w)switch(I){case 1:D=h,O=r+-f/_,i[0]=O,i[1]=D;break;case 2:O=c,D=n+u*_,i[0]=O,i[1]=D;break;case 3:D=g,O=r+f/_,i[0]=O,i[1]=D;break;case 4:O=d,D=n+-u*_,i[0]=O,i[1]=D}if(!L)switch(x){case 1:b=m,R=o+-A/_,i[2]=R,i[3]=b;break;case 2:R=T,b=a+N*_,i[2]=R,i[3]=b;break;case 3:b=E,R=o+A/_,i[2]=R,i[3]=b;break;case 4:R=y,b=a+-N*_,i[2]=R,i[3]=b}}return!1},n.getCardinalDirection=function(t,e,i){return t>e?i:1+i%4},n.getIntersection=function(t,e,i,n){if(null==n)return this.getIntersection2(t,e,i);var o=t.x,a=t.y,s=e.x,h=e.y,l=i.x,d=i.y,g=n.x,c=n.y,u=void 0,f=void 0,p=void 0,m=void 0,v=void 0,y=void 0,E=void 0;return(u=h-a,p=o-s,v=s*a-o*h,f=c-d,m=l-g,y=g*d-l*c,0==(E=u*m-f*p))?null:new r((p*y-m*v)/E,(f*v-u*y)/E)},n.angleOfVector=function(t,e,i,r){var n=void 0;return t!==i?(n=Math.atan((r-e)/(i-t)),i<t?n+=Math.PI:r<e&&(n+=this.TWO_PI)):n=r<e?this.ONE_AND_HALF_PI:this.HALF_PI,n},n.doIntersect=function(t,e,i,r){var n=t.x,o=t.y,a=e.x,s=e.y,h=i.x,l=i.y,d=r.x,g=r.y,c=(a-n)*(g-l)-(d-h)*(s-o);if(0===c)return!1;var u=((g-l)*(d-n)+(h-d)*(g-o))/c,f=((o-s)*(d-n)+(a-n)*(g-o))/c;return 0<u&&u<1&&0<f&&f<1},n.findCircleLineIntersections=function(t,e,i,r,n,o,a){var s=(i-t)*(i-t)+(r-e)*(r-e),h=2*((t-n)*(i-t)+(e-o)*(r-e)),l=(t-n)*(t-n)+(e-o)*(e-o)-a*a;if(!(h*h-4*s*l>=0))return null;var d=(-h+Math.sqrt(h*h-4*s*l))/(2*s),g=(-h-Math.sqrt(h*h-4*s*l))/(2*s);return d>=0&&d<=1?[d]:g>=0&&g<=1?[g]:null},n.HALF_PI=.5*Math.PI,n.ONE_AND_HALF_PI=1.5*Math.PI,n.TWO_PI=2*Math.PI,n.THREE_PI=3*Math.PI,t.exports=n},function(t,e,i){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,i){"use strict";function r(){}r.MAX_VALUE=0x7fffffff,r.MIN_VALUE=-0x80000000,t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=function(t){return{value:t,next:null,prev:null}},o=function(t,e,i,r){return null!==t?t.next=e:r.head=e,null!==i?i.prev=e:r.tail=e,e.prev=t,e.next=i,r.length++,e},a=function(t,e){var i=t.prev,r=t.next;return null!==i?i.next=r:e.head=r,null!==r?r.prev=i:e.tail=i,t.prev=t.next=null,e.length--,t};t.exports=function(){function t(e){var i=this;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.length=0,this.head=null,this.tail=null,null!=e&&e.forEach(function(t){return i.push(t)})}return r(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,e){return o(e.prev,n(t),e,this)}},{key:"insertAfter",value:function(t,e){return o(e,n(t),e.next,this)}},{key:"insertNodeBefore",value:function(t,e){return o(e.prev,t,e,this)}},{key:"insertNodeAfter",value:function(t,e){return o(e,t,e.next,this)}},{key:"push",value:function(t){return o(this.tail,n(t),null,this)}},{key:"unshift",value:function(t){return o(null,n(t),this.head,this)}},{key:"remove",value:function(t){return a(t,this)}},{key:"pop",value:function(){return a(this.tail,this).value}},{key:"popNode",value:function(){return a(this.tail,this)}},{key:"shift",value:function(){return a(this.head,this).value}},{key:"shiftNode",value:function(){return a(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var e=1,i=this.head;e<t;)i=i.next,e++;return i.value}}},{key:"set_object_at",value:function(t,e){if(t<=this.length()){for(var i=1,r=this.head;i<t;)r=r.next,i++;r.value=e}}}]),t}()},function(t,e,i){"use strict";function r(t,e,i){this.x=null,this.y=null,null==t&&null==e&&null==i?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof e&&null==i?(this.x=t,this.y=e):"Point"==t.constructor.name&&null==e&&null==i&&(i=t,this.x=i.x,this.y=i.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(t,e,i){"Point"==t.constructor.name&&null==e&&null==i?(i=t,this.setLocation(i.x,i.y)):"number"==typeof t&&"number"==typeof e&&null==i&&(parseInt(t)==t&&parseInt(e)==e?this.move(t,e):(this.x=Math.floor(t+.5),this.y=Math.floor(e+.5)))},r.prototype.move=function(t,e){this.x=t,this.y=e},r.prototype.translate=function(t,e){this.x+=t,this.y+=e},r.prototype.equals=function(t){return"Point"==t.constructor.name?this.x==t.x&&this.y==t.y:this==t},r.prototype.toString=function(){return new r().constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=r},function(t,e,i){"use strict";function r(t,e,i,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=e&&null!=i&&null!=r&&(this.x=t,this.y=e,this.width=i,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(t){this.x=t},r.prototype.getY=function(){return this.y},r.prototype.setY=function(t){this.y=t},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(t){return!(this.getRight()<t.x||this.getBottom()<t.y||t.getRight()<this.x||t.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},t.exports=r},function(t,e,i){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function n(){}n.lastID=0,n.createID=function(t){return n.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=n.getString(),n.lastID++),t.uniqueID)},n.getString=function(t){return null==t&&(t=n.lastID),"Object#"+t},n.isPrimitive=function(t){var e=void 0===t?"undefined":r(t);return null==t||"object"!=e&&"function"!=e},t.exports=n},function(t,e,i){"use strict";function r(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}var n=i(0),o=i(7),a=i(3),s=i(1),h=i(6),l=i(5),d=i(17),g=i(29);function c(t){g.call(this),this.layoutQuality=n.QUALITY,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=n.DEFAULT_INCREMENTAL,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new o(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}c.RANDOM_SEED=1,c.prototype=Object.create(g.prototype),c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},c.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},c.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},c.prototype.newGraphManager=function(){var t=new o(this);return this.graphManager=t,t},c.prototype.newGraph=function(t){return new h(null,this.graphManager,t)},c.prototype.newNode=function(t){return new a(this.graphManager,t)},c.prototype.newEdge=function(t){return new s(null,null,t)},c.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},c.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==n.ANIMATE&&(t&&!this.isSubLayout&&this.doPostLayout(),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},c.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},c.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),e=0;e<t.length;e++)t[e];for(var i=this.graphManager.getRoot().getNodes(),e=0;e<i.length;e++)i[e];this.update(this.graphManager.getRoot())}},c.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof a){if(null!=t.getChild())for(var e=t.getChild().getNodes(),i=0;i<e.length;i++)update(e[i]);null!=t.vGraphObject&&t.vGraphObject.update(t)}else t instanceof s?null!=t.vGraphObject&&t.vGraphObject.update(t):t instanceof h&&null!=t.vGraphObject&&t.vGraphObject.update(t)},c.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=n.QUALITY,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=n.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},c.prototype.transform=function(t){if(void 0==t)this.transform(new l(0,0));else{var e=new d,i=this.graphManager.getRoot().updateLeftTop();if(null!=i){e.setWorldOrgX(t.x),e.setWorldOrgY(t.y),e.setDeviceOrgX(i.x),e.setDeviceOrgY(i.y);for(var r=this.getAllNodes(),n=0;n<r.length;n++)r[n].transform(e)}}},c.prototype.positionNodesRandomly=function(t){if(void 0==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var e,i,r=t.getNodes(),n=0;n<r.length;n++)null==(i=(e=r[n]).getChild())||0==i.getNodes().length?e.scatter():(this.positionNodesRandomly(i),e.updateBounds())},c.prototype.getFlatForest=function(){for(var t=[],e=!0,i=this.graphManager.getRoot().getNodes(),n=!0,o=0;o<i.length;o++)null!=i[o].getChild()&&(n=!1);if(!n)return t;var a=new Set,s=[],h=new Map,l=[];for(l=l.concat(i);l.length>0&&e;){for(s.push(l[0]);s.length>0&&e;){var d=s[0];s.splice(0,1),a.add(d);for(var g=d.getEdges(),o=0;o<g.length;o++){var c=g[o].getOtherEnd(d);if(h.get(d)!=c)if(a.has(c)){e=!1;break}else s.push(c),h.set(c,d)}}if(e){var u=[].concat(r(a));t.push(u);for(var o=0;o<u.length;o++){var f=u[o],p=l.indexOf(f);p>-1&&l.splice(p,1)}a=new Set,h=new Map}else t=[]}return t},c.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],i=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),n=0;n<t.bendpoints.length;n++){var o=this.newNode(null);o.setRect(new Point(0,0),new Dimension(1,1)),r.add(o);var a=this.newEdge(null);this.graphManager.add(a,i,o),e.add(o),i=o}var a=this.newEdge(null);return this.graphManager.add(a,i,t.target),this.edgeToDummyNodes.set(t,e),t.isInterGraph()?this.graphManager.remove(t):r.remove(t),e},c.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(r(this.edgeToDummyNodes.keys())).concat(t);for(var e=0;e<t.length;e++){var i=t[e];if(i.bendpoints.length>0){for(var n=this.edgeToDummyNodes.get(i),o=0;o<n.length;o++){var a=n[o],s=new l(a.getCenterX(),a.getCenterY()),h=i.bendpoints.get(o);h.x=s.x,h.y=s.y,a.getOwner().remove(a)}this.graphManager.add(i,i.source,i.target)}}},c.transform=function(t,e,i,r){if(void 0==i||void 0==r)return t<=50?(n=9*e/500,o=e/10):(n=9*e/50,o=-8*e),n*t+o;var n,o,a=e;return t<=50?a-=(e-e/i)/50*(50-t):a+=(e*r-e)/50*(t-50),a},c.findCenterOfTree=function(t){var e=[];e=e.concat(t);var i=[],r=new Map,n=!1,o=null;(1==e.length||2==e.length)&&(n=!0,o=e[0]);for(var a=0;a<e.length;a++){var s=e[a],h=s.getNeighborsList().size;r.set(s,s.getNeighborsList().size),1==h&&i.push(s)}var l=[];for(l=l.concat(i);!n;){var d=[];d=d.concat(l),l=[];for(var a=0;a<e.length;a++){var s=e[a],g=e.indexOf(s);g>=0&&e.splice(g,1),s.getNeighborsList().forEach(function(t){if(0>i.indexOf(t)){var e=r.get(t)-1;1==e&&l.push(t),r.set(t,e)}})}i=i.concat(l),(1==e.length||2==e.length)&&(n=!0,o=e[0])}return o},c.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=c},function(t,e,i){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,i){"use strict";var r=i(5);function n(t,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}n.prototype.getWorldOrgX=function(){return this.lworldOrgX},n.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},n.prototype.getWorldOrgY=function(){return this.lworldOrgY},n.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},n.prototype.getWorldExtX=function(){return this.lworldExtX},n.prototype.setWorldExtX=function(t){this.lworldExtX=t},n.prototype.getWorldExtY=function(){return this.lworldExtY},n.prototype.setWorldExtY=function(t){this.lworldExtY=t},n.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},n.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},n.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},n.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},n.prototype.getDeviceExtX=function(){return this.ldeviceExtX},n.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},n.prototype.getDeviceExtY=function(){return this.ldeviceExtY},n.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},n.prototype.transformX=function(t){var e=0,i=this.lworldExtX;return 0!=i&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/i),e},n.prototype.transformY=function(t){var e=0,i=this.lworldExtY;return 0!=i&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/i),e},n.prototype.inverseTransformX=function(t){var e=0,i=this.ldeviceExtX;return 0!=i&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/i),e},n.prototype.inverseTransformY=function(t){var e=0,i=this.ldeviceExtY;return 0!=i&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/i),e},n.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=n},function(t,e,i){"use strict";var r=i(15),n=i(4),o=i(0),a=i(8),s=i(9);function h(){r.call(this),this.useSmartIdealEdgeLengthCalculation=n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=n.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=n.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=n.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=n.MAX_ITERATIONS}for(var l in h.prototype=Object.create(r.prototype),r)h[l]=r[l];h.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var t,e,i,r,a,s,h,l=this.getGraphManager().getAllEdges(),d=0;d<l.length;d++)e=(t=l[d]).idealLength,t.isInterGraph&&(r=t.getSource(),a=t.getTarget(),s=t.getSourceInLca().getEstimatedSize(),h=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=s+h-2*o.SIMPLE_NODE_SIZE),i=t.getLca().getInclusionTreeDepth(),t.idealLength+=e*n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(r.getInclusionTreeDepth()+a.getInclusionTreeDepth()-2*i))},h.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>n.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),i=0;i<e.length;i++)t=e[i],this.calcSpringForce(t,t.idealLength)},h.prototype.calcRepulsionForces=function(){var t,e,i,r,o,a=!(arguments.length>0)||void 0===arguments[0]||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],h=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&a&&this.updateGrid(),o=new Set,t=0;t<h.length;t++)i=h[t],this.calculateRepulsionForceOfANode(i,o,a,s),o.add(i);else for(t=0;t<h.length;t++)for(i=h[t],e=t+1;e<h.length;e++)r=h[e],i.getOwner()==r.getOwner()&&this.calcRepulsionForce(i,r)},h.prototype.calcGravitationalForces=function(){for(var t,e=this.getAllNodesToApplyGravitation(),i=0;i<e.length;i++)t=e[i],this.calcGravitationalForce(t)},h.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e=0;e<t.length;e++)t[e].move()},h.prototype.calcSpringForce=function(t,e){var i,r,n,o,a=t.getSource(),s=t.getTarget();if(this.uniformLeafNodeSizes&&null==a.getChild()&&null==s.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(i=t.getLength())&&(n=(r=t.edgeElasticity*(i-e))*(t.lengthX/i),o=r*(t.lengthY/i),a.springForceX+=n,a.springForceY+=o,s.springForceX-=n,s.springForceY-=o)},h.prototype.calcRepulsionForce=function(t,e){var i,r,o,h,l,d,g,c=t.getRect(),u=e.getRect(),f=[,,],p=[,,,,];if(c.intersects(u)){a.calcSeparationAmount(c,u,f,n.DEFAULT_EDGE_LENGTH/2),d=2*f[0],g=2*f[1];var m=t.noOfChildren*e.noOfChildren/(t.noOfChildren+e.noOfChildren);t.repulsionForceX-=m*d,t.repulsionForceY-=m*g,e.repulsionForceX+=m*d,e.repulsionForceY+=m*g}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==e.getChild()?(i=u.getCenterX()-c.getCenterX(),r=u.getCenterY()-c.getCenterY()):(a.getIntersection(c,u,p),i=p[2]-p[0],r=p[3]-p[1]),Math.abs(i)<n.MIN_REPULSION_DIST&&(i=s.sign(i)*n.MIN_REPULSION_DIST),Math.abs(r)<n.MIN_REPULSION_DIST&&(r=s.sign(r)*n.MIN_REPULSION_DIST),h=Math.sqrt(o=i*i+r*r),d=(l=(t.nodeRepulsion/2+e.nodeRepulsion/2)*t.noOfChildren*e.noOfChildren/o)*i/h,g=l*r/h,t.repulsionForceX-=d,t.repulsionForceY-=g,e.repulsionForceX+=d,e.repulsionForceY+=g},h.prototype.calcGravitationalForce=function(t){var e,i,r,n,o,a,s,h;i=((e=t.getOwner()).getRight()+e.getLeft())/2,r=(e.getTop()+e.getBottom())/2,n=t.getCenterX()-i,o=t.getCenterY()-r,a=Math.abs(n)+t.getWidth()/2,s=Math.abs(o)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(a>(h=e.getEstimatedSize()*this.gravityRangeFactor)||s>h)&&(t.gravitationForceX=-this.gravityConstant*n,t.gravitationForceY=-this.gravityConstant*o):(a>(h=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>h)&&(t.gravitationForceX=-this.gravityConstant*n*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},h.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=2>Math.abs(this.totalDisplacement-this.oldTotalDisplacement)),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||e},h.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},h.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,e=this.graphManager.getAllNodes(),i=0;i<e.length;i++)(t=e[i]).noOfChildren=t.getNoOfChildren()},h.prototype.calcGrid=function(t){var e=0,i=0;e=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),i=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var r=Array(e),n=0;n<e;n++)r[n]=Array(i);for(var n=0;n<e;n++)for(var o=0;o<i;o++)r[n][o]=[];return r},h.prototype.addNodeToGrid=function(t,e,i){var r=0,n=0,o=0,a=0;r=parseInt(Math.floor((t.getRect().x-e)/this.repulsionRange)),n=parseInt(Math.floor((t.getRect().width+t.getRect().x-e)/this.repulsionRange)),o=parseInt(Math.floor((t.getRect().y-i)/this.repulsionRange)),a=parseInt(Math.floor((t.getRect().height+t.getRect().y-i)/this.repulsionRange));for(var s=r;s<=n;s++)for(var h=o;h<=a;h++)this.grid[s][h].push(t),t.setGridCoordinates(r,n,o,a)},h.prototype.updateGrid=function(){var t,e,i=this.getAllNodes();for(t=0,this.grid=this.calcGrid(this.graphManager.getRoot());t<i.length;t++)e=i[t],this.addNodeToGrid(e,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},h.prototype.calculateRepulsionForceOfANode=function(t,e,i,r){if(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&i||r){var o,a=new Set;t.surrounding=[];for(var s=this.grid,h=t.startX-1;h<t.finishX+2;h++)for(var l=t.startY-1;l<t.finishY+2;l++)if(!(h<0||l<0||h>=s.length||l>=s[0].length)){for(var d=0;d<s[h][l].length;d++)if(o=s[h][l][d],t.getOwner()==o.getOwner()&&t!=o&&!e.has(o)&&!a.has(o)){var g=Math.abs(t.getCenterX()-o.getCenterX())-(t.getWidth()/2+o.getWidth()/2),c=Math.abs(t.getCenterY()-o.getCenterY())-(t.getHeight()/2+o.getHeight()/2);g<=this.repulsionRange&&c<=this.repulsionRange&&a.add(o)}}t.surrounding=[].concat(function(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}(a))}for(h=0;h<t.surrounding.length;h++)this.calcRepulsionForce(t,t.surrounding[h])},h.prototype.calcRepulsionRange=function(){return 0},t.exports=h},function(t,e,i){"use strict";var r=i(1),n=i(4);function o(t,e,i){r.call(this,t,e,i),this.idealLength=n.DEFAULT_EDGE_LENGTH,this.edgeElasticity=n.DEFAULT_SPRING_STRENGTH}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];t.exports=o},function(t,e,i){"use strict";var r=i(3),n=i(4);function o(t,e,i,o){r.call(this,t,e,i,o),this.nodeRepulsion=n.DEFAULT_REPULSION_STRENGTH,this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var a in o.prototype=Object.create(r.prototype),r)o[a]=r[a];o.prototype.setGridCoordinates=function(t,e,i,r){this.startX=t,this.finishX=e,this.startY=i,this.finishY=r},t.exports=o},function(t,e,i){"use strict";function r(t,e){this.width=0,this.height=0,null!==t&&null!==e&&(this.height=e,this.width=t)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},t.exports=r},function(t,e,i){"use strict";var r=i(14);function n(){this.map={},this.keys=[]}n.prototype.put=function(t,e){var i=r.createID(t);this.contains(i)||(this.map[i]=e,this.keys.push(t))},n.prototype.contains=function(t){return r.createID(t),null!=this.map[t]},n.prototype.get=function(t){var e=r.createID(t);return this.map[e]},n.prototype.keySet=function(){return this.keys},t.exports=n},function(t,e,i){"use strict";var r=i(14);function n(){this.set={}}n.prototype.add=function(t){var e=r.createID(t);this.contains(e)||(this.set[e]=t)},n.prototype.remove=function(t){delete this.set[r.createID(t)]},n.prototype.clear=function(){this.set={}},n.prototype.contains=function(t){return this.set[r.createID(t)]==t},n.prototype.isEmpty=function(){return 0===this.size()},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAllTo=function(t){for(var e=Object.keys(this.set),i=e.length,r=0;r<i;r++)t.push(this.set[e[r]])},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAll=function(t){for(var e=t.length,i=0;i<e;i++){var r=t[i];this.add(r)}},t.exports=n},function(t,e,i){"use strict";function r(){}r.multMat=function(t,e){for(var i=[],r=0;r<t.length;r++){i[r]=[];for(var n=0;n<e[0].length;n++){i[r][n]=0;for(var o=0;o<t[0].length;o++)i[r][n]+=t[r][o]*e[o][n]}}return i},r.transpose=function(t){for(var e=[],i=0;i<t[0].length;i++){e[i]=[];for(var r=0;r<t.length;r++)e[i][r]=t[r][i]}return e},r.multCons=function(t,e){for(var i=[],r=0;r<t.length;r++)i[r]=t[r]*e;return i},r.minusOp=function(t,e){for(var i=[],r=0;r<t.length;r++)i[r]=t[r]-e[r];return i},r.dotProduct=function(t,e){for(var i=0,r=0;r<t.length;r++)i+=t[r]*e[r];return i},r.mag=function(t){return Math.sqrt(this.dotProduct(t,t))},r.normalize=function(t){for(var e=[],i=this.mag(t),r=0;r<t.length;r++)e[r]=t[r]/i;return e},r.multGamma=function(t){for(var e=[],i=0,r=0;r<t.length;r++)i+=t[r];i*=-1/t.length;for(var n=0;n<t.length;n++)e[n]=i+t[n];return e},r.multL=function(t,e,i){for(var r=[],n=[],o=[],a=0;a<e[0].length;a++){for(var s=0,h=0;h<e.length;h++)s+=-.5*e[h][a]*t[h];n[a]=s}for(var l=0;l<i.length;l++){for(var d=0,g=0;g<i.length;g++)d+=i[l][g]*n[g];o[l]=d}for(var c=0;c<e.length;c++){for(var u=0,f=0;f<e[0].length;f++)u+=e[c][f]*o[f];r[c]=u}return r},t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=i(11);t.exports=function(){function t(e,i){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");(null!==i||void 0!==i)&&(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=e instanceof n?e.size():e.length,this._quicksort(e,0,r-1)}return r(t,[{key:"_quicksort",value:function(t,e,i){if(e<i){var r=this._partition(t,e,i);this._quicksort(t,e,r),this._quicksort(t,r+1,i)}}},{key:"_partition",value:function(t,e,i){for(var r=this._get(t,e),n=e,o=i;;){for(;this.compareFunction(r,this._get(t,o));)o--;for(;this.compareFunction(this._get(t,n),r);)n++;if(!(n<o))return o;this._swap(t,n,o),n++,o--}}},{key:"_get",value:function(t,e){return t instanceof n?t.get_object_at(e):t[e]}},{key:"_set",value:function(t,e,i){t instanceof n?t.set_object_at(e,i):t[e]=i}},{key:"_swap",value:function(t,e,i){var r=this._get(t,e);this._set(t,e,this._get(t,i)),this._set(t,i,r)}},{key:"_defaultCompareFunction",value:function(t,e){return e>t}}]),t}()},function(t,e,i){"use strict";function r(){}r.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=function t(e){if(0==e.length)return 0;for(var i=[],r=0;r<e[0];r++)i.push(t(e.slice(1)));return i}([this.m,e]),this.V=function t(e){if(0==e.length)return 0;for(var i=[],r=0;r<e[0];r++)i.push(t(e.slice(1)));return i}([this.n,this.n]);for(var i=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.n),n=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),o=Math.min(this.m-1,this.n),a=Math.max(0,Math.min(this.n-2,this.m)),s=0;s<Math.max(o,a);s++){if(s<o){this.s[s]=0;for(var h=s;h<this.m;h++)this.s[s]=r.hypot(this.s[s],t[h][s]);if(0!==this.s[s]){t[s][s]<0&&(this.s[s]=-this.s[s]);for(var l=s;l<this.m;l++)t[l][s]/=this.s[s];t[s][s]+=1}this.s[s]=-this.s[s]}for(var d=s+1;d<this.n;d++){if(p=s<o,m=0!==this.s[s],p&&m){for(var g=0,c=s;c<this.m;c++)g+=t[c][s]*t[c][d];g=-g/t[s][s];for(var u=s;u<this.m;u++)t[u][d]+=g*t[u][s]}i[d]=t[s][d]}if(v=s<o)for(var f=s;f<this.m;f++)this.U[f][s]=t[f][s];if(s<a){i[s]=0;for(var p,m,v,y,E,T=s+1;T<this.n;T++)i[s]=r.hypot(i[s],i[T]);if(0!==i[s]){i[s+1]<0&&(i[s]=-i[s]);for(var N=s+1;N<this.n;N++)i[N]/=i[s];i[s+1]+=1}if(i[s]=-i[s],y=s+1<this.m,E=0!==i[s],y&&E){for(var A=s+1;A<this.m;A++)n[A]=0;for(var w=s+1;w<this.n;w++)for(var L=s+1;L<this.m;L++)n[L]+=i[w]*t[L][w];for(var C=s+1;C<this.n;C++)for(var M=-i[C]/i[s+1],_=s+1;_<this.m;_++)t[_][C]+=M*n[_]}for(var I=s+1;I<this.n;I++)this.V[I][s]=i[I]}}var x=Math.min(this.n,this.m+1);o<this.n&&(this.s[o]=t[o][o]),this.m<x&&(this.s[x-1]=0),a+1<x&&(i[a]=t[a][x-1]),i[x-1]=0;for(var O=o;O<e;O++){for(var D=0;D<this.m;D++)this.U[D][O]=0;this.U[O][O]=1}for(var R=o-1;R>=0;R--)if(0!==this.s[R]){for(var b=R+1;b<e;b++){for(var F=0,S=R;S<this.m;S++)F+=this.U[S][R]*this.U[S][b];F=-F/this.U[R][R];for(var G=R;G<this.m;G++)this.U[G][b]+=F*this.U[G][R]}for(var P=R;P<this.m;P++)this.U[P][R]=-this.U[P][R];this.U[R][R]=1+this.U[R][R];for(var U=0;U<R-1;U++)this.U[U][R]=0}else{for(var k=0;k<this.m;k++)this.U[k][R]=0;this.U[R][R]=1}for(var Y=this.n-1;Y>=0;Y--){if(td=Y<a,tg=0!==i[Y],td&&tg)for(var H=Y+1;H<e;H++){for(var X=0,z=Y+1;z<this.n;z++)X+=this.V[z][Y]*this.V[z][H];X=-X/this.V[Y+1][Y];for(var B=Y+1;B<this.n;B++)this.V[B][H]+=X*this.V[B][Y]}for(var V=0;V<this.n;V++)this.V[V][Y]=0;this.V[Y][Y]=1}for(var W=x-1,$=0;x>0;){var j=void 0,q=void 0;for(j=x-2;j>=-1&&-1!==j;j--)if(Math.abs(i[j])<=16033346880071782e-307+2220446049250313e-31*(Math.abs(this.s[j])+Math.abs(this.s[j+1]))){i[j]=0;break}if(j===x-2)q=4;else{var K=void 0;for(K=x-1;K>=j&&K!==j;K--){var Z=(K!==x?Math.abs(i[K]):0)+(K!==j+1?Math.abs(i[K-1]):0);if(Math.abs(this.s[K])<=16033346880071782e-307+2220446049250313e-31*Z){this.s[K]=0;break}}K===j?q=3:K===x-1?q=1:(q=2,j=K)}switch(j++,q){case 1:var Q=i[x-2];i[x-2]=0;for(var J=x-2;J>=j;J--){var tt=r.hypot(this.s[J],Q),te=this.s[J]/tt,ti=Q/tt;this.s[J]=tt,J!==j&&(Q=-ti*i[J-1],i[J-1]=te*i[J-1]);for(var tr=0;tr<this.n;tr++)tt=te*this.V[tr][J]+ti*this.V[tr][x-1],this.V[tr][x-1]=-ti*this.V[tr][J]+te*this.V[tr][x-1],this.V[tr][J]=tt}break;case 2:var tn=i[j-1];i[j-1]=0;for(var to=j;to<x;to++){var ta=r.hypot(this.s[to],tn),ts=this.s[to]/ta,th=tn/ta;this.s[to]=ta,tn=-th*i[to],i[to]=ts*i[to];for(var tl=0;tl<this.m;tl++)ta=ts*this.U[tl][to]+th*this.U[tl][j-1],this.U[tl][j-1]=-th*this.U[tl][to]+ts*this.U[tl][j-1],this.U[tl][to]=ta}break;case 3:var td,tg,tc,tu,tf=Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[x-1]),Math.abs(this.s[x-2])),Math.abs(i[x-2])),Math.abs(this.s[j])),Math.abs(i[j])),tp=this.s[x-1]/tf,tm=this.s[x-2]/tf,tv=i[x-2]/tf,ty=this.s[j]/tf,tE=i[j]/tf,tT=((tm+tp)*(tm-tp)+tv*tv)/2,tN=tp*tv*(tp*tv),tA=0;tc=0!==tT,tu=0!==tN,(tc||tu)&&(tA=Math.sqrt(tT*tT+tN),tT<0&&(tA=-tA),tA=tN/(tT+tA));for(var tw=(ty+tp)*(ty-tp)+tA,tL=ty*tE,tC=j;tC<x-1;tC++){var tM=r.hypot(tw,tL),t_=tw/tM,tI=tL/tM;tC!==j&&(i[tC-1]=tM),tw=t_*this.s[tC]+tI*i[tC],i[tC]=t_*i[tC]-tI*this.s[tC],tL=tI*this.s[tC+1],this.s[tC+1]=t_*this.s[tC+1];for(var tx=0;tx<this.n;tx++)tM=t_*this.V[tx][tC]+tI*this.V[tx][tC+1],this.V[tx][tC+1]=-tI*this.V[tx][tC]+t_*this.V[tx][tC+1],this.V[tx][tC]=tM;if(tM=r.hypot(tw,tL),t_=tw/tM,tI=tL/tM,this.s[tC]=tM,tw=t_*i[tC]+tI*this.s[tC+1],this.s[tC+1]=-tI*i[tC]+t_*this.s[tC+1],tL=tI*i[tC+1],i[tC+1]=t_*i[tC+1],tC<this.m-1)for(var tO=0;tO<this.m;tO++)tM=t_*this.U[tO][tC]+tI*this.U[tO][tC+1],this.U[tO][tC+1]=-tI*this.U[tO][tC]+t_*this.U[tO][tC+1],this.U[tO][tC]=tM}i[x-2]=tw;break;case 4:if(this.s[j]<=0&&(this.s[j]=this.s[j]<0?-this.s[j]:0,1))for(var tD=0;tD<=W;tD++)this.V[tD][j]=-this.V[tD][j];for(;j<W&&!(this.s[j]>=this.s[j+1]);){var tR=this.s[j];if(this.s[j]=this.s[j+1],this.s[j+1]=tR,j<this.n-1)for(var tb=0;tb<this.n;tb++)tR=this.V[tb][j+1],this.V[tb][j+1]=this.V[tb][j],this.V[tb][j]=tR;if(j<this.m-1)for(var tF=0;tF<this.m;tF++)tR=this.U[tF][j+1],this.U[tF][j+1]=this.U[tF][j],this.U[tF][j]=tR;j++}x--}}return{U:this.U,V:this.V,S:this.s}},r.hypot=function(t,e){var i=void 0;return Math.abs(t)>Math.abs(e)?(i=e/t,i=Math.abs(t)*Math.sqrt(1+i*i)):0!=e?(i=t/e,i=Math.abs(e)*Math.sqrt(1+i*i)):i=0,i},t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}();t.exports=function(){function t(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.sequence1=e,this.sequence2=i,this.match_score=r,this.mismatch_penalty=n,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=i.length+1,this.grid=Array(this.iMax);for(var a=0;a<this.iMax;a++){this.grid[a]=Array(this.jMax);for(var s=0;s<this.jMax;s++)this.grid[a][s]=0}this.tracebackGrid=Array(this.iMax);for(var h=0;h<this.iMax;h++){this.tracebackGrid[h]=Array(this.jMax);for(var l=0;l<this.jMax;l++)this.tracebackGrid[h][l]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var e=1;e<this.iMax;e++)this.grid[e][0]=this.grid[e-1][0]+this.gap_penalty,this.tracebackGrid[e][0]=[!1,!0,!1];for(var i=1;i<this.iMax;i++)for(var r=1;r<this.jMax;r++){var n=[this.sequence1[i-1]===this.sequence2[r-1]?this.grid[i-1][r-1]+this.match_score:this.grid[i-1][r-1]+this.mismatch_penalty,this.grid[i-1][r]+this.gap_penalty,this.grid[i][r-1]+this.gap_penalty],o=this.arrayAllMaxIndexes(n);this.grid[i][r]=n[o[0]],this.tracebackGrid[i][r]=[o.includes(0),o.includes(1),o.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var e=t[0],i=this.tracebackGrid[e.pos[0]][e.pos[1]];i[0]&&t.push({pos:[e.pos[0]-1,e.pos[1]-1],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),i[1]&&t.push({pos:[e.pos[0]-1,e.pos[1]],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:"-"+e.seq2}),i[2]&&t.push({pos:[e.pos[0],e.pos[1]-1],seq1:"-"+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),0===e.pos[0]&&0===e.pos[1]&&this.alignments.push({sequence1:e.seq1,sequence2:e.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,e){for(var i=[],r=-1;-1!==(r=t.indexOf(e,r+1));)i.push(r);return i}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}()},function(t,e,i){"use strict";var r=function(){};r.FDLayout=i(18),r.FDLayoutConstants=i(4),r.FDLayoutEdge=i(19),r.FDLayoutNode=i(20),r.DimensionD=i(21),r.HashMap=i(22),r.HashSet=i(23),r.IGeometry=i(8),r.IMath=i(9),r.Integer=i(10),r.Point=i(12),r.PointD=i(5),r.RandomSeed=i(16),r.RectangleD=i(13),r.Transform=i(17),r.UniqueIDGeneretor=i(14),r.Quicksort=i(25),r.LinkedList=i(11),r.LGraphObject=i(2),r.LGraph=i(6),r.LEdge=i(1),r.LGraphManager=i(7),r.LNode=i(3),r.Layout=i(15),r.LayoutConstants=i(0),r.NeedlemanWunsch=i(27),r.Matrix=i(24),r.SVD=i(26),t.exports=r},function(t,e,i){"use strict";function r(){this.listeners=[]}var n=r.prototype;n.addListener=function(t,e){this.listeners.push({event:t,callback:e})},n.removeListener=function(t,e){for(var i=this.listeners.length;i>=0;i--){var r=this.listeners[i];r.event===t&&r.callback===e&&this.listeners.splice(i,1)}},n.emit=function(t,e){for(var i=0;i<this.listeners.length;i++){var r=this.listeners[i];t===r.event&&r.callback(e)}},t.exports=r}],e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=28)}()},9827(t,e,i){"use strict";i.d(e,{diagram:()=>tt});var r=i(7454),n=i(4924),o=i(6320),a=i(2217),s=i(6348),h=i(1177),l=i(1293),d=i(6827),g=i(8731),c=i(165),u=i(6051),f=i(7829),p={L:"left",R:"right",T:"top",B:"bottom"},m={L:(0,d.K)(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:(0,d.K)(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:(0,d.K)(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:(0,d.K)(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},v={L:(0,d.K)((t,e)=>t-e+2,"L"),R:(0,d.K)((t,e)=>t-2,"R"),T:(0,d.K)((t,e)=>t-e+2,"T"),B:(0,d.K)((t,e)=>t-2,"B")},y=(0,d.K)(function(t){return T(t)?"L"===t?"R":"L":"T"===t?"B":"T"},"getOppositeArchitectureDirection"),E=(0,d.K)(function(t){return"L"===t||"R"===t||"T"===t||"B"===t},"isArchitectureDirection"),T=(0,d.K)(function(t){return"L"===t||"R"===t},"isArchitectureDirectionX"),N=(0,d.K)(function(t){return"T"===t||"B"===t},"isArchitectureDirectionY"),A=(0,d.K)(function(t,e){let i=T(t)&&N(e),r=N(t)&&T(e);return i||r},"isArchitectureDirectionXY"),w=(0,d.K)(function(t){let e=t[0],i=t[1],r=T(e)&&N(i),n=N(e)&&T(i);return r||n},"isArchitecturePairXY"),L=(0,d.K)(function(t){return"LL"!==t&&"RR"!==t&&"TT"!==t&&"BB"!==t},"isValidArchitectureDirectionPair"),C=(0,d.K)(function(t,e){let i=`${t}${e}`;return L(i)?i:void 0},"getArchitectureDirectionPair"),M=(0,d.K)(function([t,e],i){let r=i[0],n=i[1];if(T(r))if(N(n))return[t+("L"===r?-1:1),e+("T"===n?1:-1)];else return[t+("L"===r?-1:1),e];return T(n)?[t+("L"===n?1:-1),e+("T"===r?1:-1)]:[t,e+("T"===r?1:-1)]},"shiftPositionByArchitectureDirectionPair"),_=(0,d.K)(function(t){return"LT"===t||"TL"===t?[1,1]:"BL"===t||"LB"===t?[1,-1]:"BR"===t||"RB"===t?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),I=(0,d.K)(function(t,e){return A(t,e)?"bend":T(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),x=(0,d.K)(function(t){return"service"===t.type},"isArchitectureService"),O=(0,d.K)(function(t){return"junction"===t.type},"isArchitectureJunction"),D=(0,d.K)((t,e)=>{let[i,r]=[t,e].sort();return`${JSON.stringify(i)}-${JSON.stringify(r)}`},"architectureGroupAlignmentKey"),R=(0,d.K)(t=>t.data(),"edgeData"),b=(0,d.K)(t=>t.data(),"nodeData"),F=h.UI.architecture,S=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=h.SV,this.getAccTitle=h.iN,this.setDiagramTitle=h.ke,this.getDiagramTitle=h.ab,this.getAccDescription=h.m7,this.setAccDescription=h.EI,this.clear()}static{(0,d.K)(this,"ArchitectureDB")}setDiagramId(t){this.diagramId=t}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",(0,h.IU)()}addService({id:t,icon:e,in:i,title:r,iconText:n}){if(this.registeredIds.has(t))throw Error(`The service id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(void 0!==i){if(t===i)throw Error(`The service [${t}] cannot be placed within itself`);if(!this.registeredIds.has(i))throw Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if("node"===this.registeredIds.get(i))throw Error(`The service [${t}]'s parent is not a group`)}this.registeredIds.set(t,"node"),this.nodes.set(t,{id:t,type:"service",icon:e,iconText:n,title:r,edges:[],in:i})}getServices(){return[...this.nodes.values()].filter(x)}addJunction({id:t,in:e}){if(this.registeredIds.has(t))throw Error(`The junction id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(void 0!==e){if(t===e)throw Error(`The junction [${t}] cannot be placed within itself`);if(!this.registeredIds.has(e))throw Error(`The junction [${t}]'s parent does not exist. Please make sure the parent is created before this junction`);if("node"===this.registeredIds.get(e))throw Error(`The junction [${t}]'s parent is not a group`)}this.registeredIds.set(t,"node"),this.nodes.set(t,{id:t,type:"junction",edges:[],in:e})}getJunctions(){return[...this.nodes.values()].filter(O)}getNodes(){return[...this.nodes.values()]}getNode(t){return this.nodes.get(t)??null}addGroup({id:t,icon:e,in:i,title:r}){if(this.registeredIds.has(t))throw Error(`The group id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(void 0!==i){if(t===i)throw Error(`The group [${t}] cannot be placed within itself`);if(!this.registeredIds.has(i))throw Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if("node"===this.registeredIds.get(i))throw Error(`The group [${t}]'s parent is not a group`)}this.registeredIds.set(t,"group"),this.groups.set(t,{id:t,icon:e,title:r,in:i})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:t,rhsId:e,lhsDir:i,rhsDir:r,lhsInto:n,rhsInto:o,lhsGroup:a,rhsGroup:s,title:h}){if(!E(i))throw Error(`Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${String(i)}`);if(!E(r))throw Error(`Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${String(r)}`);if(!this.nodes.has(t)&&!this.groups.has(t))throw Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(e)&&!this.groups.has(e))throw Error(`The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);let l=this.nodes.get(t).in,d=this.nodes.get(e).in;if(a&&l&&d&&l==d)throw Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(s&&l&&d&&l==d)throw Error(`The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);this.edges.push({lhsId:t,lhsDir:i,lhsInto:n,lhsGroup:a,rhsId:e,rhsDir:r,rhsInto:o,rhsGroup:s,title:h});let g=this.nodes.get(t),c=this.nodes.get(e);g&&c&&(g.edges.push(this.edges[this.edges.length-1]),c.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(t){if(t.members.length<2)throw Error(`An align directive requires at least two members; got ${t.members.length}`);let e=new Set;t.members.forEach(i=>{if("node"!==this.registeredIds.get(i))throw Error(`align ${t.direction} references [${i}], which is not a service or junction`);if(e.has(i))throw Error(`align ${t.direction} lists [${i}] more than once`);e.add(i)}),this.layoutHints.push(t)}getLayoutHints(){return this.layoutHints}getDataStructures(){if(void 0===this.dataStructures){let t=new Map,e=new Map;for(let[i,r]of this.nodes.entries()){let n=new Map;for(let e of r.edges){let r=this.getNode(e.lhsId)?.in,o=this.getNode(e.rhsId)?.in;if(r&&o&&r!==o){let i=I(e.lhsDir,e.rhsDir);"bend"!==i&&t.set(D(r,o),i)}if(e.lhsId===i){let t=C(e.lhsDir,e.rhsDir);t&&n.set(t,e.rhsId)}else{let t=C(e.rhsDir,e.lhsDir);t&&n.set(t,e.lhsId)}}e.set(i,n)}let i=new Set,r=new Set(e.keys()),n=(0,d.K)(t=>{let n=new Map([[t,[0,0]]]),o=[t];for(;o.length>0;){let t=o.shift();if(t){i.add(t),r.delete(t);let a=e.get(t);if(!a)throw Error(`BFS error: adjacency list for id ${t} not found. Please report this as a bug.`);let s=n.get(t);if(!s)throw Error(`BFS error: position for id ${t} not found in spatial map. Please report this as a bug.`);let[h,l]=s;a.forEach((t,e)=>{i.has(t)||(n.set(t,M([h,l],e)),o.push(t))})}}return n},"BFS"),o=[];for(;r.size>0;){let t=r.values().next().value;o.push(n(t))}this.dataStructures={adjList:e,spatialMaps:o,groupAlignments:t}}return this.dataStructures}setElementForId(t,e){this.elements.set(t,e)}getElementById(t){return this.elements.get(t)}getConfig(){return(0,s.$t)({...F,...(0,h.zj)().architecture})}getConfigField(t){return this.getConfig()[t]}},G=(0,d.K)((t,e)=>{(0,r.S)(t,e),t.groups.map(t=>e.addGroup(t)),t.services.map(t=>e.addService({...t,type:"service"})),t.junctions.map(t=>e.addJunction({...t,type:"junction"})),t.edges.map(t=>e.addEdge(t)),t.alignments?.map(t=>e.addLayoutHint({direction:t.direction,members:[...t.members]}))},"populateDb"),P={parser:{yy:void 0},parse:(0,d.K)(async t=>{let e=await (0,g.qg)("architecture",t);l.R.debug(e);let i=P.parser?.yy;if(!(i instanceof S))throw Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");G(e,i)},"parse")},U=(0,d.K)(t=>` + .edge { + stroke-width: ${t.archEdgeWidth}; + stroke: ${t.archEdgeColor}; + fill: none; + } + + .arrow { + fill: ${t.archEdgeArrowColor}; + } + + .node-bkg { + fill: none; + stroke: ${t.archGroupBorderColor}; + stroke-width: ${t.archGroupBorderWidth}; + stroke-dasharray: 8; + } + .node-icon-text { + display: flex; + align-items: center; + } + + .node-icon-text > div { + color: #fff; + margin: 1px; + height: fit-content; + text-align: center; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + } +`,"getStyles");function k(t,e){if(0===t)return e();let i=Math.random,r=t>>>0;Math.random=function(){let t=r=r+0x6d2b79f5>>>0;return t=Math.imul(t^t>>>15,1|t),(((t^=t+Math.imul(t^t>>>7,61|t))^t>>>14)>>>0)/0x100000000};try{return e()}finally{Math.random=i}}(0,d.K)(k,"withSeededRandom");var Y=(0,d.K)(t=>`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${t}</g>`,"wrapIcon"),H={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Y('<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},server:{body:Y('<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>')},disk:{body:Y('<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>')},internet:{body:Y('<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},cloud:{body:Y('<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},unknown:a.Gc,blank:{body:Y("")}}},X=(0,d.K)(async function(t,e,i,r){let n=i.getConfigField("padding"),a=i.getConfigField("iconSize"),l=a/2,d=a/6,g=d/2;await Promise.all(e.edges().map(async e=>{let{source:a,sourceDir:c,sourceArrow:u,sourceGroup:f,target:p,targetDir:y,targetArrow:E,targetGroup:L,label:M}=R(e),{x:I,y:x}=e[0].sourceEndpoint(),{x:O,y:D}=e[0].midpoint(),{x:b,y:F}=e[0].targetEndpoint(),S=n+4;if(f&&(T(c)?I+="L"===c?-S:S:x+="T"===c?-S:S+18),L&&(T(y)?b+="L"===y?-S:S:F+="T"===y?-S:S+18),f||i.getNode(a)?.type!=="junction"||(T(c)?I+="L"===c?l:-l:x+="T"===c?l:-l),L||i.getNode(p)?.type!=="junction"||(T(y)?b+="L"===y?l:-l:F+="T"===y?l:-l),e[0]._private.rscratch){let e=t.insert("g");if(e.insert("path").attr("d",`M ${I},${x} L ${O},${D} L${b},${F} `).attr("class","edge").attr("id",`${r}-${(0,s.rY)(a,p,{prefix:"L"})}`),u){let t=T(c)?v[c](I,d):I-g,i=N(c)?v[c](x,d):x-g;e.insert("polygon").attr("points",m[c](d)).attr("transform",`translate(${t},${i})`).attr("class","arrow")}if(E){let t=T(y)?v[y](b,d):b-g,i=N(y)?v[y](F,d):F-g;e.insert("polygon").attr("points",m[y](d)).attr("transform",`translate(${t},${i})`).attr("class","arrow")}if(M){let t=A(c,y)?"XY":T(c)?"X":"Y",i=0;i="X"===t?Math.abs(I-b):"Y"===t?Math.abs(x-F)/1.5:Math.abs(I-b)/2;let r=e.append("g");if(await (0,o.GZ)(r,M,{useHtmlLabels:!1,width:i,classes:"architecture-service-label"},(0,h.D7)()),r.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),"X"===t)r.attr("transform","translate("+O+", "+D+")");else if("Y"===t)r.attr("transform","translate("+O+", "+D+") rotate(-90)");else if("XY"===t){let t=C(c,y);if(t&&w(t)){let e=r.node().getBoundingClientRect(),[i,n]=_(t);r.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*i*n*45})`);let o=r.node().getBoundingClientRect();r.attr("transform",` + translate(${O}, ${D-e.height/2}) + translate(${i*o.width/2}, ${n*o.height/2}) + rotate(${-1*i*n*45}, 0, ${e.height/2}) + `)}}}}}))},"drawEdges"),z=(0,d.K)(async function(t,e,i,r){let n=.75*i.getConfigField("padding"),s=i.getConfigField("fontSize"),l=i.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async e=>{let d=b(e);if("group"===d.type){let{h:g,w:c,x1:u,y1:f}=e.boundingBox(),p=t.append("rect");p.attr("id",`${r}-group-${d.id}`).attr("x",u+l).attr("y",f+l).attr("width",c).attr("height",g).attr("class","node-bkg");let m=t.append("g"),v=u,y=f;if(d.icon){let t=m.append("g");t.html(`<g>${await (0,a.WY)(d.icon,{height:n,width:n,fallbackPrefix:H.prefix})}</g>`),t.attr("transform","translate("+(v+l+1)+", "+(y+l+1)+")"),v+=n,y+=s/2-1-2}if(d.label){let t=m.append("g");await (0,o.GZ)(t,d.label,{useHtmlLabels:!1,width:c,classes:"architecture-service-label"},(0,h.D7)()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),t.attr("transform","translate("+(v+l+4)+", "+(y+l+2)+")")}i.setElementForId(d.id,p)}}))},"drawGroups"),B=(0,d.K)(async function(t,e,i,r){let n=(0,h.D7)();for(let s of i){let i=e.append("g"),l=t.getConfigField("iconSize");if(s.title){let t=i.append("g");await (0,o.GZ)(t,s.title,{useHtmlLabels:!1,width:1.5*l,classes:"architecture-service-label"},n),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.attr("transform","translate("+l/2+", "+l+")")}let d=i.append("g");if(s.icon)d.html(`<g>${await (0,a.WY)(s.icon,{height:l,width:l,fallbackPrefix:H.prefix})}</g>`);else if(s.iconText){d.html(`<g>${await (0,a.WY)("blank",{height:l,width:l,fallbackPrefix:H.prefix})}</g>`);let t=d.append("g").append("foreignObject").attr("width",l).attr("height",l).append("div").attr("class","node-icon-text").attr("style",`height: ${l}px;`).append("div").html((0,h.jZ)(s.iconText,n)),e=parseInt(window.getComputedStyle(t.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;t.attr("style",`-webkit-line-clamp: ${Math.floor((l-2)/e)};`)}else d.append("path").attr("class","node-bkg").attr("id",`${r}-node-${s.id}`).attr("d",`M0,${l} V5 Q0,0 5,0 H${l-5} Q${l},0 ${l},5 V${l} Z`);i.attr("id",`${r}-service-${s.id}`).attr("class","architecture-service");let{width:g,height:c}=i.node().getBBox();s.width=g,s.height=c,t.setElementForId(s.id,i)}return 0},"drawServices"),V=(0,d.K)(function(t,e,i,r){i.forEach(i=>{let n=e.append("g"),o=t.getConfigField("iconSize");n.append("g").append("rect").attr("id",`${r}-node-${i.id}`).attr("fill-opacity","0").attr("width",o).attr("height",o),n.attr("class","architecture-junction");let{width:a,height:s}=n._groups[0][0].getBBox();n.width=a,n.height=s,t.setElementForId(i.id,n)})},"drawJunctions");function W(t,e,i){t.forEach(t=>{e.add({group:"nodes",data:{type:"service",id:t.id,icon:t.icon,label:t.title,parent:t.in,width:i.getConfigField("iconSize"),height:i.getConfigField("iconSize")},classes:"node-service"})})}function $(t,e,i){t.forEach(t=>{e.add({group:"nodes",data:{type:"junction",id:t.id,parent:t.in,width:i.getConfigField("iconSize"),height:i.getConfigField("iconSize")},classes:"node-junction"})})}function j(t,e){e.nodes().map(e=>{let i=b(e);"group"===i.type||(i.x=e.position().x,i.y=e.position().y,t.getElementById(i.id).attr("transform","translate("+(i.x||0)+","+(i.y||0)+")"))})}function q(t,e){t.forEach(t=>{e.add({group:"nodes",data:{type:"group",id:t.id,icon:t.icon,label:t.title,parent:t.in},classes:"node-group"})})}function K(t,e){t.forEach(t=>{let{lhsId:i,rhsId:r,lhsInto:n,lhsGroup:o,rhsInto:a,lhsDir:s,rhsDir:h,rhsGroup:l,title:d}=t,g=A(t.lhsDir,t.rhsDir)?"segments":"straight",c={id:`${i}-${r}`,label:d,source:i,sourceDir:s,sourceArrow:n,sourceGroup:o,sourceEndpoint:"L"===s?"0 50%":"R"===s?"100% 50%":"T"===s?"50% 0":"50% 100%",target:r,targetDir:h,targetArrow:a,targetGroup:l,targetEndpoint:"L"===h?"0 50%":"R"===h?"100% 50%":"T"===h?"50% 0":"50% 100%"};e.add({group:"edges",data:c,classes:g})})}function Z(t,e,i,r=[]){let n=(0,d.K)((t,e)=>{let r=new Map;for(let[n,o]of t.entries()){let t=`${n}`,a=0,s=[...o.entries()];if(1===s.length){r.set(t,s[0][1]);continue}for(let n=0;n<s.length-1;n++)for(let o=n+1;o<s.length;o++){let[h,l]=s[n],[d,g]=s[o];if(i.get(D(h,d))===e)r.set(t,[...r.get(t)??[],...l,...g]);else if("default"===h||"default"===d)r.set(t,[...r.get(t)??[],...l,...g]);else{let e=`${t}-${a++}`;r.set(e,l);let i=`${t}-${a++}`;r.set(i,g)}}}return r},"flattenAlignments"),[o,a]=e.map(e=>{let i=new Map,r=new Map;return e.forEach(([e,n],o)=>{let a=t.getNode(o)?.in??"default",s=i.get(n)??new Map;i.has(n)||i.set(n,s);let h=r.get(e)??new Map;for(let t of(r.has(e)||r.set(e,h),[s,h])){let e=t.get(a)??[];t.has(a)||t.set(a,e),e.push(o)}}),{horiz:[...n(i,"horizontal").values()].filter(t=>t.length>1),vert:[...n(r,"vertical").values()].filter(t=>t.length>1)}}).reduce(([t,e],{horiz:i,vert:r})=>[[...t,...i],[...e,...r]],[[],[]]),s=new Set;r.forEach(t=>t.members.forEach(t=>s.add(t)));let h=(0,d.K)(t=>t.filter(t=>!t.some(t=>s.has(t))),"dropOverlapping"),l=h(o),g=h(a);return r.forEach(t=>{t.members.length<2||("row"===t.direction?l.push([...t.members]):g.push([...t.members]))}),{horizontal:l,vertical:g}}function Q(t,e,i=[]){let r=[],n=e.getConfigField("iconSize"),o=e.getConfigField("idealEdgeLengthMultiplier"),a=o*n,s=new Set;i.forEach(t=>{for(let e=0;e<t.members.length-1;e++){let i=t.members[e],n=t.members[e+1];s.add(`${i}|${n}`),s.add(`${n}|${i}`),"row"===t.direction?r.push({left:i,right:n,gap:a}):r.push({top:i,bottom:n,gap:a})}});let h=(0,d.K)(t=>`${t[0]},${t[1]}`,"posToStr"),l=(0,d.K)(t=>t.split(",").map(t=>parseInt(t)),"strToPos");return t.forEach(t=>{let e=new Map([...t.entries()].map(([t,e])=>[h(e),t])),i=[h([0,0])],a={},d={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;i.length>0;){let t=i.shift();if(t){a[t]=1;let g=e.get(t);if(g){let c=l(t);Object.entries(d).forEach(([t,l])=>{let d=h([c[0]+l[0],c[1]+l[1]]),u=e.get(d);if(u&&!a[d]){if(i.push(d),s.has(`${g}|${u}`))return;r.push({[p[t]]:u,[p[y(t)]]:g,gap:o*n})}})}}}}),r}function J(t,e,i,r,n,{spatialMaps:o,groupAlignments:a}){return new Promise(s=>{let h=(0,f.Ltv)("body").append("div").attr("id","cy").attr("style","display:none"),g=(0,c.A)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${n.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${n.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});h.remove(),q(i,g),W(t,g,n),$(e,g,n),K(r,g);let u=n.getLayoutHints(),p=Z(n,o,a,u),m=Q(o,n,u),v=n.getConfigField("iconSize"),y=n.getConfigField("idealEdgeLengthMultiplier")*v,E=.5*v,T=n.getConfigField("edgeElasticity"),A=n.getConfigField("seed"),w=g.layout({name:"fcose",quality:"proof",randomize:n.getConfigField("randomize"),nodeSeparation:n.getConfigField("nodeSeparation"),numIter:n.getConfigField("numIter"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(t){let[e,i]=t.connectedNodes(),{parent:r}=b(e),{parent:n}=b(i);return r===n?y:E},edgeElasticity(t){let[e,i]=t.connectedNodes(),{parent:r}=b(e),{parent:n}=b(i);return r===n?T:.001},alignmentConstraint:p,relativePlacementConstraint:m});w.one("layoutstop",()=>{function t(t,e,i,r){let n,o,{x:a,y:s}=t,{x:h,y:l}=e;o=(r-s+(a-i)*(s-l)/(a-h))/Math.sqrt(1+Math.pow((s-l)/(a-h),2)),n=Math.sqrt(Math.pow(r-s,2)+Math.pow(i-a,2)-Math.pow(o,2))/Math.sqrt(Math.pow(h-a,2)+Math.pow(l-s,2));let d=(h-a)*(r-s)-(l-s)*(i-a);switch(!0){case d>=0:d=1;break;case d<0:d=-1}let g=(h-a)*(i-a)+(l-s)*(r-s);switch(!0){case g>=0:g=1;break;case g<0:g=-1}return{distances:o=Math.abs(o)*d,weights:n*=g}}for(let e of((0,d.K)(t,"getSegmentWeights"),g.startBatch(),Object.values(g.edges())))if(e.data?.()){let{x:i,y:r}=e.source().position(),{x:n,y:o}=e.target().position();if(i!==n&&r!==o){let i=e.sourceEndpoint(),r=e.targetEndpoint(),{sourceDir:n}=R(e),[o,a]=N(n)?[i.x,r.y]:[r.x,i.y],{weights:s,distances:h}=t(i,r,o,a);e.style("segment-distances",h),e.style("segment-weights",s)}}g.endBatch(),k(A,()=>w.run())});try{k(A,()=>w.run())}catch(t){if(t instanceof RangeError&&t.message.includes("Invalid array length"))throw Error("Architecture layout failed: a declared `align row|column` directive likely contradicts the edge directions, or two declared alignments overlap on a shared node. Check that the order of members in each `align` chain is consistent with the edges between them, and that no node appears in two `align` directives along the same axis.");throw t}g.ready(t=>{l.R.info("Ready",t),s(g)})})}(0,a.pC)([{name:H.prefix,icons:H}]),c.A.use(u),(0,d.K)(W,"addServices"),(0,d.K)($,"addJunctions"),(0,d.K)(j,"positionNodes"),(0,d.K)(q,"addGroups"),(0,d.K)(K,"addEdges"),(0,d.K)(Z,"getAlignments"),(0,d.K)(Q,"getRelativeConstraints"),(0,d.K)(J,"layoutArchitecture");var tt={parser:P,get db(){return new S},renderer:{draw:(0,d.K)(async(t,e,i,r)=>{let o=r.db;o.setDiagramId(e);let a=o.getServices(),s=o.getJunctions(),l=o.getGroups(),d=o.getEdges(),g=o.getDataStructures(),c=(0,n.D)(e),u=c.append("g");u.attr("class","architecture-edges");let f=c.append("g");f.attr("class","architecture-services");let p=c.append("g");p.attr("class","architecture-groups"),await B(o,f,a,e),V(o,f,s,e);let m=await J(a,s,l,d,o,g);await X(u,m,o,e),await z(p,m,o,e),j(o,m),(0,h.ot)(void 0,c,o.getConfigField("padding"),o.getConfigField("useMaxWidth"))},"draw")},styles:U}},7454(t,e,i){"use strict";function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}i.d(e,{S:()=>r}),(0,i(6827).K)(r,"populateCommonDb")}}]); \ No newline at end of file diff --git a/en/assets/js/6856.9f4ebf6f.js b/en/assets/js/6856.9f4ebf6f.js new file mode 100644 index 0000000..cad968a --- /dev/null +++ b/en/assets/js/6856.9f4ebf6f.js @@ -0,0 +1,79 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6856"],{5869(e,t,s){s.d(t,{P:()=>a});var i=s(1177),r=s(1293),n=s(6827),a=(0,n.K)((e,t,s,n)=>{e.attr("class",s);let{width:a,height:c,x:h,y:u}=l(e,t);(0,i.a$)(e,c,a,n);let y=o(h,u,a,c,t);e.attr("viewBox",y),r.R.debug(`viewBox configured: ${y} with padding: ${t}`)},"setupViewPortForSVG"),l=(0,n.K)((e,t)=>{let s=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*t,height:s.height+2*t,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),o=(0,n.K)((e,t,s,i,r)=>`${e-r} ${t-r} ${s} ${i}`,"createViewBox")},6755(e,t,s){s.d(t,{A:()=>n});var i=s(6827),r=s(7829),n=(0,i.K)((e,t)=>{let s;return"sandbox"===t&&(s=(0,r.Ltv)("#i"+e)),("sandbox"===t?(0,r.Ltv)(s.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${e}"]`)},"getDiagramElement")},1819(e,t,s){s.d(t,{diagram:()=>R});var i=s(6755),r=s(5869),n=s(2391);s(3247),s(5616),s(6163),s(7827),s(3002),s(739),s(6320),s(2217);var a=s(2941),l=s(6348),o=s(1177),c=s(1293),h=s(6827),u=function(){var e=(0,h.K)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,3],s=[1,4],i=[1,5],r=[1,6],n=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],a=[1,22],l=[2,7],o=[1,26],c=[1,27],u=[1,28],y=[1,29],m=[1,33],d=[1,34],E=[1,35],p=[1,36],R=[1,37],g=[1,38],f=[1,24],_=[1,31],S=[1,32],I=[1,30],b=[1,39],T=[1,40],k=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],N=[1,61],q=[89,90],C=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],A=[27,29],$=[1,70],L=[1,71],x=[1,72],v=[1,73],w=[1,74],D=[1,75],O=[1,76],M=[1,83],F=[1,80],K=[1,84],P=[1,85],V=[1,86],U=[1,87],Y=[1,88],B=[1,89],Q=[1,90],H=[1,91],W=[1,92],j=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],z=[63,64],G=[1,101],X=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],J=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Z=[1,110],ee=[1,106],et=[1,107],es=[1,108],ei=[1,109],er=[1,111],en=[1,116],ea=[1,117],el=[1,114],eo=[1,115],ec={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:(0,h.K)(function(e,t,s,i,r,n,a){var l=n.length-1;switch(r){case 4:this.$=n[l].trim(),i.setAccTitle(this.$);break;case 5:case 6:this.$=n[l].trim(),i.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:i.setDirection("TB");break;case 18:i.setDirection("BT");break;case 19:i.setDirection("RL");break;case 20:i.setDirection("LR");break;case 21:i.addRequirement(n[l-3],n[l-4]);break;case 22:i.addRequirement(n[l-5],n[l-6]),i.setClass([n[l-5]],n[l-3]);break;case 23:i.setNewReqId(n[l-2]);break;case 24:i.setNewReqText(n[l-2]);break;case 25:i.setNewReqRisk(n[l-2]);break;case 26:i.setNewReqVerifyMethod(n[l-2]);break;case 29:this.$=i.RequirementType.REQUIREMENT;break;case 30:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=i.RiskLevel.LOW_RISK;break;case 36:this.$=i.RiskLevel.MED_RISK;break;case 37:this.$=i.RiskLevel.HIGH_RISK;break;case 38:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=i.VerifyType.VERIFY_TEST;break;case 42:i.addElement(n[l-3]);break;case 43:i.addElement(n[l-5]),i.setClass([n[l-5]],n[l-3]);break;case 44:i.setNewElementType(n[l-2]);break;case 45:i.setNewElementDocRef(n[l-2]);break;case 48:i.addRelationship(n[l-2],n[l],n[l-4]);break;case 49:i.addRelationship(n[l-2],n[l-4],n[l]);break;case 50:this.$=i.Relationships.CONTAINS;break;case 51:this.$=i.Relationships.COPIES;break;case 52:this.$=i.Relationships.DERIVES;break;case 53:this.$=i.Relationships.SATISFIES;break;case 54:this.$=i.Relationships.VERIFIES;break;case 55:this.$=i.Relationships.REFINES;break;case 56:this.$=i.Relationships.TRACES;break;case 57:this.$=n[l-2],i.defineClass(n[l-1],n[l]);break;case 58:i.setClass(n[l-1],n[l]);break;case 59:i.setClass([n[l-2]],n[l]);break;case 60:case 62:case 65:this.$=[n[l]];break;case 61:case 63:this.$=n[l-2].concat([n[l]]);break;case 64:this.$=n[l-2],i.setCssStyle(n[l-1],n[l]);break;case 66:n[l-2].push(n[l]),this.$=n[l-2];break;case 68:this.$=n[l-1]+n[l]}},"anonymous"),table:[{3:1,4:2,6:t,9:s,11:i,13:r},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:s,11:i,13:r},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(n,[2,6]),{3:12,4:2,6:t,9:s,11:i,13:r},{1:[2,2]},{4:17,5:a,7:13,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},e(n,[2,4]),e(n,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:a,7:42,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:43,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:44,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:45,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:46,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:47,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:48,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:49,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{4:17,5:a,7:50,8:l,9:s,11:i,13:r,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:c,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:g,54:f,72:_,74:S,77:I,89:b,90:T},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(k,[2,17]),e(k,[2,18]),e(k,[2,19]),e(k,[2,20]),{30:60,33:62,75:N,89:b,90:T},{30:63,33:62,75:N,89:b,90:T},{30:64,33:62,75:N,89:b,90:T},e(q,[2,29]),e(q,[2,30]),e(q,[2,31]),e(q,[2,32]),e(q,[2,33]),e(q,[2,34]),e(C,[2,81]),e(C,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(A,[2,79]),e(A,[2,80]),{27:[1,67],29:[1,68]},e(A,[2,85]),e(A,[2,86]),{62:69,65:$,66:L,67:x,68:v,69:w,70:D,71:O},{62:77,65:$,66:L,67:x,68:v,69:w,70:D,71:O},{30:78,33:62,75:N,89:b,90:T},{73:79,75:M,76:F,78:81,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W},e(j,[2,60]),e(j,[2,62]),{73:93,75:M,76:F,78:81,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W},{30:94,33:62,75:N,76:F,89:b,90:T},{5:[1,95]},{30:96,33:62,75:N,89:b,90:T},{5:[1,97]},{30:98,33:62,75:N,89:b,90:T},{63:[1,99]},e(z,[2,50]),e(z,[2,51]),e(z,[2,52]),e(z,[2,53]),e(z,[2,54]),e(z,[2,55]),e(z,[2,56]),{64:[1,100]},e(k,[2,59],{76:F}),e(k,[2,64],{76:G}),{33:103,75:[1,102],89:b,90:T},e(X,[2,65],{79:104,75:M,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W}),e(J,[2,67]),e(J,[2,69]),e(J,[2,70]),e(J,[2,71]),e(J,[2,72]),e(J,[2,73]),e(J,[2,74]),e(J,[2,75]),e(J,[2,76]),e(J,[2,77]),e(J,[2,78]),e(k,[2,57],{76:G}),e(k,[2,58],{76:F}),{5:Z,28:105,31:ee,34:et,36:es,38:ei,40:er},{27:[1,112],76:F},{5:en,40:ea,56:113,57:el,59:eo},{27:[1,118],76:F},{33:119,89:b,90:T},{33:120,89:b,90:T},{75:M,78:121,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W},e(j,[2,61]),e(j,[2,63]),e(J,[2,68]),e(k,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:Z,28:126,31:ee,34:et,36:es,38:ei,40:er},e(k,[2,28]),{5:[1,127]},e(k,[2,42]),{32:[1,128]},{32:[1,129]},{5:en,40:ea,56:130,57:el,59:eo},e(k,[2,47]),{5:[1,131]},e(k,[2,48]),e(k,[2,49]),e(X,[2,66],{79:104,75:M,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:W}),{33:132,89:b,90:T},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(k,[2,27]),{5:Z,28:145,31:ee,34:et,36:es,38:ei,40:er},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(k,[2,46]),{5:en,40:ea,56:152,57:el,59:eo},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(k,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(k,[2,43]),{5:Z,28:159,31:ee,34:et,36:es,38:ei,40:er},{5:Z,28:160,31:ee,34:et,36:es,38:ei,40:er},{5:Z,28:161,31:ee,34:et,36:es,38:ei,40:er},{5:Z,28:162,31:ee,34:et,36:es,38:ei,40:er},{5:en,40:ea,56:163,57:el,59:eo},{5:en,40:ea,56:164,57:el,59:eo},e(k,[2,23]),e(k,[2,24]),e(k,[2,25]),e(k,[2,26]),e(k,[2,44]),e(k,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:(0,h.K)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,h.K)(function(e){var t=this,s=[0],i=[],r=[null],n=[],a=this.table,l="",o=0,c=0,u=0,y=n.slice.call(arguments,1),m=Object.create(this.lexer),d={};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(d[E]=this.yy[E]);m.setInput(e,d),d.lexer=m,d.parser=this,void 0===m.yylloc&&(m.yylloc={});var p=m.yylloc;n.push(p);var R=m.options&&m.options.ranges;function g(){var e;return"number"!=typeof(e=i.pop()||m.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(e){s.length=s.length-2*e,r.length=r.length-e,n.length=n.length-e},"popStack"),(0,h.K)(g,"lex");for(var f,_,S,I,b,T,k,N,q,C={};;){if(S=s[s.length-1],this.defaultActions[S]?I=this.defaultActions[S]:(null==f&&(f=g()),I=a[S]&&a[S][f]),void 0===I||!I.length||!I[0]){var A="";for(T in q=[],a[S])this.terminals_[T]&&T>2&&q.push("'"+this.terminals_[T]+"'");A=m.showPosition?"Parse error on line "+(o+1)+":\n"+m.showPosition()+"\nExpecting "+q.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(A,{text:m.match,token:this.terminals_[f]||f,line:m.yylineno,loc:p,expected:q})}if(I[0]instanceof Array&&I.length>1)throw Error("Parse Error: multiple actions possible at state: "+S+", token: "+f);switch(I[0]){case 1:s.push(f),r.push(m.yytext),n.push(m.yylloc),s.push(I[1]),f=null,_?(f=_,_=null):(c=m.yyleng,l=m.yytext,o=m.yylineno,p=m.yylloc,u>0&&u--);break;case 2:if(k=this.productions_[I[1]][1],C.$=r[r.length-k],C._$={first_line:n[n.length-(k||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(k||1)].first_column,last_column:n[n.length-1].last_column},R&&(C._$.range=[n[n.length-(k||1)].range[0],n[n.length-1].range[1]]),void 0!==(b=this.performAction.apply(C,[l,c,o,d,I[1],r,n].concat(y))))return b;k&&(s=s.slice(0,-1*k*2),r=r.slice(0,-1*k),n=n.slice(0,-1*k)),s.push(this.productions_[I[1]][0]),r.push(C.$),n.push(C._$),N=a[s[s.length-2]][s[s.length-1]],s.push(N);break;case 3:return!0}}return!0},"parse")};function eh(){this.yy={}}return ec.lexer={EOF:1,parseError:(0,h.K)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,h.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,h.K)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,h.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,h.K)(function(e,t){var s,i,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))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var n in r)this[n]=r[n];return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,s,i,r=this._currentRules(),n=0;n<r.length;n++)if((s=this._input.match(this.rules[r[n]]))&&(!t||s[0].length>t[0].length)){if(t=s,i=n,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,r[n])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,h.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,h.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K)(function(e,t,s,i){switch(s){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:case 58:case 65:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:case 14:case 15:case 56:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:case 68:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 57:case 64:this.begin("string");break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 66:return"qString";case 67:return t.yytext=t.yytext.trim(),89;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}},(0,h.K)(eh,"Parser"),eh.prototype=ec,ec.Parser=eh,new eh}();u.parser=u;var y=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setAccDescription=o.EI,this.getAccDescription=o.m7,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getConfig=(0,h.K)(()=>(0,o.D7)().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{(0,h.K)(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,t){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:t,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){void 0!==this.latestRequirement&&(this.latestRequirement.requirementId=e)}setNewReqText(e){void 0!==this.latestRequirement&&(this.latestRequirement.text=e)}setNewReqRisk(e){void 0!==this.latestRequirement&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){void 0!==this.latestRequirement&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),c.R.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){void 0!==this.latestElement&&(this.latestElement.type=e)}setNewElementDocRef(e){void 0!==this.latestElement&&(this.latestElement.docRef=e)}addRelationship(e,t,s){this.relations.push({type:e,src:t,dst:s})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,(0,o.IU)()}setCssStyle(e,t){for(let s of e){let e=this.requirements.get(s)??this.elements.get(s);if(!t||!e)return;for(let s of t)s.includes(",")?e.cssStyles.push(...s.split(",")):e.cssStyles.push(s)}}setClass(e,t){for(let s of e){let e=this.requirements.get(s)??this.elements.get(s);if(e)for(let s of t){e.classes.push(s);let t=this.classes.get(s)?.styles;t&&e.cssStyles.push(...t)}}}defineClass(e,t){for(let s of e){let e=this.classes.get(s);void 0===e&&(e={id:s,styles:[],textStyles:[]},this.classes.set(s,e)),t&&t.forEach(function(t){if(/color/.exec(t)){let s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)}),this.requirements.forEach(e=>{e.classes.includes(s)&&e.cssStyles.push(...t.flatMap(e=>e.split(",")))}),this.elements.forEach(e=>{e.classes.includes(s)&&e.cssStyles.push(...t.flatMap(e=>e.split(",")))})}}getClasses(){return this.classes}getData(){let e=(0,o.D7)(),t=[],s=[];for(let s of this.requirements.values())s.id=s.name,s.cssStyles=s.cssStyles,s.cssClasses=s.classes.join(" "),s.shape="requirementBox",s.look=e.look,s.colorIndex=t.length,t.push(s);for(let s of this.elements.values())s.shape="requirementBox",s.look=e.look,s.id=s.name,s.cssStyles=s.cssStyles,s.cssClasses=s.classes.join(" "),s.colorIndex=t.length,t.push(s);let i=0;for(let t of this.relations){let r=t.type===this.Relationships.CONTAINS,n={id:`${t.src}-${t.dst}-${i++}`,start:this.requirements.get(t.src)?.name??this.elements.get(t.src)?.name,end:this.requirements.get(t.dst)?.name??this.elements.get(t.dst)?.name,label:`<<${t.type}>>`,classes:"relationshipLine",style:["fill:none",r?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:r?"normal":"dashed",arrowTypeStart:r?"requirement_contains":"",arrowTypeEnd:r?"":"requirement_arrow",look:e.look,labelType:"markdown"};s.push(n)}return{nodes:t,edges:s,other:{},config:e,direction:this.getDirection()}}},m=(0,h.K)(()=>{let e=(0,o.zj)(),{theme:t,themeVariables:s}=e,{bkgColorArray:i,borderColorArray:r}=s;if(!(0,a.P1)(t,r))return"";let n=(0,a.rq)(e.look),l="",c=(0,a.Ic)(i);for(let e=0;e<(0,a.Hu)(r);e++){let t=r[e],s=c?`fill: ${i[e%i.length]};`:"";l+=` + + [data-look="${n}"][data-color-id="color-${e}"].node path { + stroke: ${t}; + ${s} + } + + [data-look="${n}"][data-color-id="color-${e}"].node rect { + stroke: ${t}; + ${s} + } + `}return l},"genColor"),d=(0,h.K)(e=>{let{look:t,themeVariables:s}=(0,o.zj)(),{requirementEdgeLabelBackground:i}=s;return` + ${m()} + marker { + fill: ${e.relationColor}; + stroke: ${e.relationColor}; + } + + marker.cross { + stroke: ${e.lineColor}; + } + + svg { + font-family: ${e.fontFamily}; + font-size: ${e.fontSize}; + } + + .reqBox { + fill: ${e.requirementBackground}; + fill-opacity: 1.0; + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${e.requirementTextColor}; + } + .reqLabelBox { + fill: ${e.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${e.requirementBorderColor}; + stroke-width: ${e.requirementBorderSize}; + } + .relationshipLine { + stroke: ${e.relationColor}; + stroke-width: ${"neo"===t?e.strokeWidth:"1px"}; + } + .relationshipLabel { + fill: ${e.relationLabelColor}; + } + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + } + .edgeLabel .label rect { + fill: ${e.edgeLabelBackground}; + } + .edgeLabel .label text { + fill: ${e.relationLabelColor}; + } + .divider { + stroke: ${e.nodeBorder}; + stroke-width: 1; + } + .label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .label text,span { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + .labelBkg { + background-color: ${i??e.edgeLabelBackground}; + } + +`},"getStyles"),E={};(0,h.V)(E,{draw:()=>p});var p=(0,h.K)(async function(e,t,s,a){c.R.info("REF0:"),c.R.info("Drawing requirement diagram (unified)",t);let{securityLevel:h,state:u,layout:y,look:m}=(0,o.D7)(),d=a.db.getData(),E=(0,i.A)(t,h);d.type=a.type,d.layoutAlgorithm=(0,n.q7)(y),d.nodeSpacing=u?.nodeSpacing??50,d.rankSpacing=u?.rankSpacing??50,d.markers="neo"===m?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],d.diagramId=t,await (0,n.XX)(d,E),l._K.insertTitle(E,"requirementDiagramTitleText",u?.titleTopMargin??25,a.db.getDiagramTitle()),(0,r.P)(E,8,"requirementDiagram",u?.useMaxWidth??!0)},"draw"),R={parser:u,get db(){return new y},renderer:E,styles:d}}}]); \ No newline at end of file diff --git a/en/assets/js/6875c492.0883a958.js b/en/assets/js/6875c492.0883a958.js new file mode 100644 index 0000000..d26b13d --- /dev/null +++ b/en/assets/js/6875c492.0883a958.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["766"],{4553(e,t,n){n.d(t,{A:()=>a});var r=n(4848);n(6540);var s=n(568),i=n(7174);function a(e){let{metadata:t}=e,{previousPage:n,nextPage:a}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,r.jsx)(i.A,{permalink:n,title:(0,r.jsx)(s.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),a&&(0,r.jsx)(i.A,{permalink:a,title:(0,r.jsx)(s.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},4533(e,t,n){n.d(t,{A:()=>U});var r=n(4848);n(6540);var s=n(4164),i=n(7645);function a({children:e,className:t}){return(0,r.jsx)("article",{className:t,children:e})}var l=n(5310);function o({className:e}){let{metadata:t,isBlogPostPage:n}=(0,i.e7)(),{permalink:a,title:d}=t;return(0,r.jsx)(n?"h1":"h2",{className:(0,s.A)("title_f1Hy",e),children:n?d:(0,r.jsx)(l.A,{to:a,children:d})})}var d=n(568),c=n(8878),u=n(7954);function h({readingTime:e}){let t=function(){let{selectMessage:e}=(0,c.W)();return t=>{let n=Math.ceil(t);return e(n,(0,d.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:t(e)})}function g({date:e,formattedDate:t}){return(0,r.jsx)("time",{dateTime:e,children:t})}function m(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function p({className:e}){let{metadata:t}=(0,i.e7)(),{date:n,readingTime:a}=t,l=(0,u.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,s.A)("container_mt6G","margin-vert--md",e),children:[(0,r.jsx)(g,{date:n,formattedDate:l.format(new Date(n))}),void 0!==a&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(m,{}),(0,r.jsx)(h,{readingTime:a})]})]})}var x=n(6947);function j({className:e}){let{metadata:{authors:t},assets:n}=(0,i.e7)();if(0===t.length)return null;let a=t.every(({name:e})=>!e),l=1===t.length;return(0,r.jsx)("div",{className:(0,s.A)("margin-top--md margin-bottom--sm",a?"imageOnlyAuthorRow_pa_O":"row",e),children:t.map((e,t)=>(0,r.jsx)("div",{className:(0,s.A)(!a&&(l?"col col--12":"col col--6"),a?"imageOnlyAuthorCol_G86a":"authorCol_Hf19"),children:(0,r.jsx)(x.A,{author:{...e,imageURL:n.authorsImageUrls[t]??e.imageURL}})},t))})}function f(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(o,{}),(0,r.jsx)(p,{}),(0,r.jsx)(j,{})]})}var b=n(5248),A=n(4743);function v({children:e,className:t}){let{isBlogPostPage:n}=(0,i.e7)();return(0,r.jsx)("div",{id:n?b.blogPostContainerID:void 0,className:(0,s.A)("markdown",t),children:(0,r.jsx)(A.A,{children:e})})}var T=n(8287),w=n(7410),N=n(4999);function y(){return(0,r.jsx)("b",{children:(0,r.jsx)(d.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function k(e){let{blogPostTitle:t,...n}=e;return(0,r.jsx)(l.A,{"aria-label":(0,d.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(y,{})})}function P(){let{metadata:e,isBlogPostPage:t}=(0,i.e7)(),{tags:n,title:a,editUrl:l,hasTruncateMarker:o,lastUpdatedBy:d,lastUpdatedAt:c}=e,u=!t&&o,h=n.length>0;if(!(h||u||l))return null;if(!t)return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[h&&(0,r.jsx)("div",{className:(0,s.A)("col",{"col--9":u}),children:(0,r.jsx)(N.A,{tags:n})}),u&&(0,r.jsx)("div",{className:(0,s.A)("col text--right",{"col--3":h}),children:(0,r.jsx)(k,{blogPostTitle:a,to:e.permalink})})]});{let e=!!(l||c||d);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[h&&(0,r.jsx)("div",{className:(0,s.A)("row","margin-top--sm",T.G.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(N.A,{tags:n})})}),e&&(0,r.jsx)(w.A,{className:(0,s.A)("margin-top--sm",T.G.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:c,lastUpdatedBy:d})]})}}function U({children:e,className:t}){let n=function(){let{isBlogPostPage:e}=(0,i.e7)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(a,{className:(0,s.A)(n,t),children:[(0,r.jsx)(f,{}),(0,r.jsx)(v,{children:e}),(0,r.jsx)(P,{})]})}},284(e,t,n){n.d(t,{A:()=>a});var r=n(4848);n(6540);var s=n(7645),i=n(4533);function a({items:e,component:t=i.A}){return(0,r.jsx)(r.Fragment,{children:e.map(({content:e})=>(0,r.jsx)(s.in,{content:e,children:(0,r.jsx)(t,{children:(0,r.jsx)(e,{})})},e.metadata.permalink))})}},149(e,t,n){n.r(t),n.d(t,{default:()=>f});var r=n(4848);n(6540);var s=n(4164),i=n(568),a=n(4308),l=n(8287),o=n(9365),d=n(5310),c=n(8579),u=n(4553),h=n(4175),g=n(284),m=n(1250),p=n(2072);function x({tag:e}){let t=(0,o.ZD)(e);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.be,{title:t,description:e.description}),(0,r.jsx)(h.A,{tag:"blog_tags_posts"})]})}function j({tag:e,items:t,sidebar:n,listMetadata:s}){let a=(0,o.ZD)(e);return(0,r.jsxs)(c.A,{sidebar:n,children:[e.unlisted&&(0,r.jsx)(m.A,{}),(0,r.jsxs)("header",{className:"margin-bottom--xl",children:[(0,r.jsx)(p.A,{as:"h1",children:a}),e.description&&(0,r.jsx)("p",{children:e.description}),(0,r.jsx)(d.A,{href:e.allTagsPath,children:(0,r.jsx)(i.A,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,r.jsx)(g.A,{items:t}),(0,r.jsx)(u.A,{metadata:s})]})}function f(e){return(0,r.jsxs)(a.e3,{className:(0,s.A)(l.G.wrapper.blogPages,l.G.page.blogTagPostListPage),children:[(0,r.jsx)(x,{...e}),(0,r.jsx)(j,{...e})]})}},1250(e,t,n){n.d(t,{A:()=>d});var r=n(4848);n(6540);var s=n(4164),i=n(3276),a=n(8287),l=n(7444);function o({className:e}){return(0,r.jsx)(l.A,{type:"caution",title:(0,r.jsx)(i.Rc,{}),className:(0,s.A)(e,a.G.common.unlistedBanner),children:(0,r.jsx)(i.Uh,{})})}function d(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.AE,{}),(0,r.jsx)(o,{...e})]})}},9365(e,t,n){n.d(t,{Y4:()=>u,ZD:()=>l,np:()=>c,uz:()=>d,wI:()=>o});var r=n(4848);n(6540);var s=n(568),i=n(8878);function a(){let{selectMessage:e}=(0,i.W)();return t=>e(t,(0,s.T)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function l(e){let t=a();return(0,s.T)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function o(e){let t=a();return(0,s.T)({id:"theme.blog.author.pageTitle",description:"The title of the page for a blog author",message:"{authorName} - {nPosts}"},{nPosts:t(e.count),authorName:e.name||e.key})}let d=()=>(0,s.T)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"});function c(){return(0,r.jsx)(s.A,{id:"theme.blog.authorsList.viewAll",description:"The label of the link targeting the blog authors page",children:"View all authors"})}function u(){return(0,r.jsx)(s.A,{id:"theme.blog.author.noPosts",description:"The text for authors with 0 blog post",children:"This author has not written any posts yet."})}},3276(e,t,n){n.d(t,{AE:()=>o,Rc:()=>a,TT:()=>c,Uh:()=>l,Yh:()=>d});var r=n(4848);n(6540);var s=n(568),i=n(3572);function a(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,r.jsx)(i.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function d(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function c(){return(0,r.jsx)(s.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/en/assets/js/718.659975ba.js b/en/assets/js/718.659975ba.js new file mode 100644 index 0000000..63954d4 --- /dev/null +++ b/en/assets/js/718.659975ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["718"],{8365(e,s,r){r.d(s,{createRadarServices:()=>a.f});var a=r(5552);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/7256.bfa531c9.js b/en/assets/js/7256.bfa531c9.js new file mode 100644 index 0000000..cc624d9 --- /dev/null +++ b/en/assets/js/7256.bfa531c9.js @@ -0,0 +1,24 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7256"],{7454(t,e,a){function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.d(e,{S:()=>r}),(0,a(6827).K)(r,"populateCommonDb")},6699(t,e,a){a.d(e,{diagram:()=>$});var r=a(7454),i=a(4924),l=a(6348),o=a(1177),s=a(1293),c=a(6827),n=a(8731),d=o.UI.packet,p=class{constructor(){this.packet=[],this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getAccDescription=o.m7,this.setAccDescription=o.EI}static{(0,c.K)(this,"PacketDB")}getConfig(){let t=(0,l.$t)({...d,...(0,o.zj)().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){(0,o.IU)(),this.packet=[]}},k=(0,c.K)((t,e)=>{(0,r.S)(t,e);let a=-1,i=[],l=1,{bitsPerRow:o}=e.getConfig();for(let{start:r,end:c,bits:n,label:d}of t.blocks){if(void 0!==r&&void 0!==c&&c<r)throw Error(`Packet block ${r} - ${c} is invalid. End must be greater than start.`);if((r??=a+1)!==a+1)throw Error(`Packet block ${r} - ${c??r} is not contiguous. It should start from ${a+1}.`);if(0===n)throw Error(`Packet block ${r} is invalid. Cannot have a zero bit field.`);for(c??=r+(n??1)-1,n??=c-r+1,a=c,s.R.debug(`Packet block ${r} - ${a} with label ${d}`);i.length<=o+1&&e.getPacket().length<1e4;){let[t,a]=h({start:r,end:c,bits:n,label:d},l,o);if(i.push(t),t.end+1===l*o&&(e.pushWord(i),i=[],l++),!a)break;({start:r,end:c,bits:n,label:d}=a)}}e.pushWord(i)},"populate"),h=(0,c.K)((t,e,a)=>{if(void 0===t.start)throw Error("start should have been set during first phase");if(void 0===t.end)throw Error("end should have been set during first phase");if(t.start>t.end)throw Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];let r=e*a-1,i=e*a;return[{start:t.start,end:r,label:t.label,bits:r-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),b={parser:{yy:void 0},parse:(0,c.K)(async t=>{let e=await (0,n.qg)("packet",t),a=b.parser?.yy;if(!(a instanceof p))throw Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");s.R.debug(e),k(e,a)},"parse")},f=(0,c.K)((t,e,a,r)=>{let l=r.db,s=l.getConfig(),{rowHeight:c,paddingY:n,bitWidth:d,bitsPerRow:p}=s,k=l.getPacket(),h=l.getDiagramTitle(),b=c+n,f=b*(k.length+1)-(h?0:c),u=d*p+2,$=(0,i.D)(e);for(let[t,e]of($.attr("viewBox",`0 0 ${u} ${f}`),(0,o.a$)($,f,u,s.useMaxWidth),k.entries()))g($,e,t,s);$.append("text").text(h).attr("x",u/2).attr("y",f-b/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),g=(0,c.K)((t,e,a,{rowHeight:r,paddingX:i,paddingY:l,bitWidth:o,bitsPerRow:s,showBits:c})=>{let n=t.append("g"),d=a*(r+l)+l;for(let t of e){let e=t.start%s*o+1,a=(t.end-t.start+1)*o-i;if(n.append("rect").attr("x",e).attr("y",d).attr("width",a).attr("height",r).attr("class","packetBlock"),n.append("text").attr("x",e+a/2).attr("y",d+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(t.label),!c)continue;let l=t.end===t.start,p=d-2;n.append("text").attr("x",e+(l?a/2:0)).attr("y",p).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",l?"middle":"start").text(t.start),l||n.append("text").attr("x",e+a).attr("y",p).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(t.end)}},"drawWord"),u={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},$={parser:b,get db(){return new p},renderer:{draw:f},styles:(0,c.K)(({packet:t}={})=>{let e=(0,l.$t)(u,t);return` + .packetByte { + font-size: ${e.byteFontSize}; + } + .packetByte.start { + fill: ${e.startByteColor}; + } + .packetByte.end { + fill: ${e.endByteColor}; + } + .packetLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .packetTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + .packetBlock { + stroke: ${e.blockStrokeColor}; + stroke-width: ${e.blockStrokeWidth}; + fill: ${e.blockFillColor}; + } + `},"styles")}}}]); \ No newline at end of file diff --git a/en/assets/js/7472.ede4e6b6.js b/en/assets/js/7472.ede4e6b6.js new file mode 100644 index 0000000..5a3fd66 --- /dev/null +++ b/en/assets/js/7472.ede4e6b6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7472"],{2851(t,r,e){e.d(r,{A:()=>a});var n=e(2528),o=e(6984),c=Object.prototype.hasOwnProperty;let a=function(t,r,e){var a=t[r];c.call(t,r)&&(0,o.A)(a,e)&&(void 0!==e||r in t)||(0,n.A)(t,r,e)}},2528(t,r,e){e.d(r,{A:()=>o});var n=e(4171);let o=function(t,r,e){"__proto__"==r&&n.A?(0,n.A)(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}},9183(t,r,e){e.d(r,{A:()=>T});var n=e(13),o=e(2641),c=e(2851),a=e(2031),u=e(7422),A=e(7591),i=e(154),f=e(9759),l=e(4792),v=e(3511),b=e(9042),s=e(3973),j=e(3231),p=Object.prototype.hasOwnProperty;let d=function(t){var r=t.length,e=new t.constructor(r);return r&&"string"==typeof t[0]&&p.call(t,"index")&&(e.index=t.index,e.input=t.input),e};var y=e(565);let h=function(t,r){var e=r?(0,y.A)(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)};var g=/\w*$/;let O=function(t){var r=new t.constructor(t.source,g.exec(t));return r.lastIndex=t.lastIndex,r};var w=e(241),x=w.A?w.A.prototype:void 0,m=x?x.valueOf:void 0,S=e(1801);let I=function(t,r,e){var n=t.constructor;switch(r){case"[object ArrayBuffer]":return(0,y.A)(t);case"[object Boolean]":case"[object Date]":return new n(+t);case"[object DataView]":return h(t,e);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,S.A)(t,e);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(t);case"[object RegExp]":return O(t);case"[object Symbol]":return m?Object(m.call(t)):{}}};var U=e(2042),_=e(2049),P=e(5254),k=e(3098),F=e(2789),M=e(4841),B=M.A&&M.A.isMap,E=B?(0,F.A)(B):function(t){return(0,k.A)(t)&&"[object Map]"==(0,j.A)(t)},C=e(3149),D=M.A&&M.A.isSet,$=D?(0,F.A)(D):function(t){return(0,k.A)(t)&&"[object Set]"==(0,j.A)(t)},q="[object Arguments]",L="[object Function]",N="[object Object]",R={};R[q]=R["[object Array]"]=R["[object ArrayBuffer]"]=R["[object DataView]"]=R["[object Boolean]"]=R["[object Date]"]=R["[object Float32Array]"]=R["[object Float64Array]"]=R["[object Int8Array]"]=R["[object Int16Array]"]=R["[object Int32Array]"]=R["[object Map]"]=R["[object Number]"]=R[N]=R["[object RegExp]"]=R["[object Set]"]=R["[object String]"]=R["[object Symbol]"]=R["[object Uint8Array]"]=R["[object Uint8ClampedArray]"]=R["[object Uint16Array]"]=R["[object Uint32Array]"]=!0,R["[object Error]"]=R[L]=R["[object WeakMap]"]=!1;let T=function t(r,e,p,y,h,g){var O,w=1&e,x=2&e,m=4&e;if(p&&(O=h?p(r,y,h,g):p(r)),void 0!==O)return O;if(!(0,C.A)(r))return r;var S=(0,_.A)(r);if(S){if(O=d(r),!w)return(0,f.A)(r,O)}else{var k,F,M,B,D=(0,j.A)(r),T=D==L||"[object GeneratorFunction]"==D;if((0,P.A)(r))return(0,i.A)(r,w);if(D==N||D==q||T&&!h){if(O=x||T?{}:(0,U.A)(r),!w)return x?(F=(k=O)&&(0,a.A)(r,(0,A.A)(r),k),(0,a.A)(r,(0,v.A)(r),F)):(B=(M=O)&&(0,a.A)(r,(0,u.A)(r),M),(0,a.A)(r,(0,l.A)(r),B))}else{if(!R[D])return h?r:{};O=I(r,D,w)}}g||(g=new n.A);var V=g.get(r);if(V)return V;g.set(r,O),$(r)?r.forEach(function(n){O.add(t(n,e,p,n,r,g))}):E(r)&&r.forEach(function(n,o){O.set(o,t(n,e,p,o,r,g))});var G=m?x?s.A:b.A:x?A.A:u.A,W=S?void 0:G(r);return(0,o.A)(W||r,function(n,o){W&&(n=r[o=n]),(0,c.A)(O,o,t(n,e,p,o,r,g))}),O}},2568(t,r,e){e.d(r,{A:()=>c});var n=e(5045),o=e(8446);let c=function(t,r){var e=-1,c=(0,o.A)(t)?Array(t.length):[];return(0,n.A)(t,function(t,n,o){c[++e]=r(t,n,o)}),c}},8986(t,r,e){e.d(r,{A:()=>f});var n=e(6318),o=e(2851),c=e(4548),a=e(5353),u=e(3149),A=e(901);let i=function(t,r,e,n){if(!(0,u.A)(t))return t;r=(0,c.A)(r,t);for(var i=-1,f=r.length,l=f-1,v=t;null!=v&&++i<f;){var b=(0,A.A)(r[i]),s=e;if("__proto__"===b||"constructor"===b||"prototype"===b)break;if(i!=l){var j=v[b];void 0===(s=n?n(j,b,v):void 0)&&(s=(0,u.A)(j)?j:(0,a.A)(r[i+1])?[]:{})}(0,o.A)(v,b,s),v=v[b]}return t},f=function(t,r,e){for(var o=-1,a=r.length,u={};++o<a;){var A=r[o],f=(0,n.A)(t,A);e(f,A)&&i(u,(0,c.A)(A,t),f)}return u}},565(t,r,e){e.d(r,{A:()=>o});var n=e(3988);let o=function(t){var r=new t.constructor(t.byteLength);return new n.A(r).set(new n.A(t)),r}},154(t,r,e){e.d(r,{A:()=>A});var n=e(1917),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,c=o&&"object"==typeof module&&module&&!module.nodeType&&module,a=c&&c.exports===o?n.A.Buffer:void 0,u=a?a.allocUnsafe:void 0;let A=function(t,r){if(r)return t.slice();var e=t.length,n=u?u(e):new t.constructor(e);return t.copy(n),n}},1801(t,r,e){e.d(r,{A:()=>o});var n=e(565);let o=function(t,r){var e=r?(0,n.A)(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}},9759(t,r,e){e.d(r,{A:()=>n});let n=function(t,r){var e=-1,n=t.length;for(r||(r=Array(n));++e<n;)r[e]=t[e];return r}},2031(t,r,e){e.d(r,{A:()=>c});var n=e(2851),o=e(2528);let c=function(t,r,e,c){var a=!e;e||(e={});for(var u=-1,A=r.length;++u<A;){var i=r[u],f=c?c(e[i],t[i],i,e,t):void 0;void 0===f&&(f=t[i]),a?(0,o.A)(e,i,f):(0,n.A)(e,i,f)}return e}},3767(t,r,e){e.d(r,{A:()=>c});var n=e(4326),o=e(6832);let c=function(t){return(0,n.A)(function(r,e){var n=-1,c=e.length,a=c>1?e[c-1]:void 0,u=c>2?e[2]:void 0;for(a=t.length>3&&"function"==typeof a?(c--,a):void 0,u&&(0,o.A)(e[0],e[1],u)&&(a=c<3?void 0:a,c=1),r=Object(r);++n<c;){var A=e[n];A&&t(r,A,n,a)}return r})}},3973(t,r,e){e.d(r,{A:()=>a});var n=e(3831),o=e(3511),c=e(7591);let a=function(t){return(0,n.A)(t,c.A,o.A)}},5647(t,r,e){e.d(r,{A:()=>n});let n=(0,e(367).A)(Object.getPrototypeOf,Object)},3511(t,r,e){e.d(r,{A:()=>u});var n=e(6912),o=e(5647),c=e(4792),a=e(3153);let u=Object.getOwnPropertySymbols?function(t){for(var r=[];t;)(0,n.A)(r,(0,c.A)(t)),t=(0,o.A)(t);return r}:a.A},2042(t,r,e){e.d(r,{A:()=>A});var n=e(3149),o=Object.create,c=function(){function t(){}return function(r){if(!(0,n.A)(r))return{};if(o)return o(r);t.prototype=r;var e=new t;return t.prototype=void 0,e}}(),a=e(5647),u=e(7271);let A=function(t){return"function"!=typeof t.constructor||(0,u.A)(t)?{}:c((0,a.A)(t))}},6832(t,r,e){e.d(r,{A:()=>u});var n=e(6984),o=e(8446),c=e(5353),a=e(3149);let u=function(t,r,e){if(!(0,a.A)(e))return!1;var u=typeof r;return("number"==u?!!((0,o.A)(e)&&(0,c.A)(r,e.length)):"string"==u&&r in e)&&(0,n.A)(e[r],t)}},3068(t,r,e){e.d(r,{A:()=>i});var n=e(4326),o=e(6984),c=e(6832),a=e(7591),u=Object.prototype,A=u.hasOwnProperty;let i=(0,n.A)(function(t,r){t=Object(t);var e=-1,n=r.length,i=n>2?r[2]:void 0;for(i&&(0,c.A)(r[0],r[1],i)&&(n=1);++e<n;)for(var f=r[e],l=(0,a.A)(f),v=-1,b=l.length;++v<b;){var s=l[v],j=t[s];(void 0===j||(0,o.A)(j,u[s])&&!A.call(t,s))&&(t[s]=f[s])}return t})},77(t,r,e){e.d(r,{A:()=>f});var n,o=e(1990),c=e(8446),a=e(7422),u=e(5707),A=e(8593),i=Math.max;let f=(n=function(t,r,e){var n=null==t?0:t.length;if(!n)return -1;var c=null==e?0:(0,A.A)(e);return c<0&&(c=i(n+c,0)),(0,u.A)(t,(0,o.A)(r,3),c)},function(t,r,e){var u=Object(t);if(!(0,c.A)(t)){var A=(0,o.A)(r,3);t=(0,a.A)(t),r=function(t){return A(u[t],t,u)}}var i=n(t,r,e);return i>-1?u[A?t[i]:i]:void 0})},4098(t,r,e){e.d(r,{A:()=>o});var n=e(6335);let o=function(t){return(null==t?0:t.length)?(0,n.A)(t,1):[]}},1349(t,r,e){e.d(r,{A:()=>a});var n=Object.prototype.hasOwnProperty;let o=function(t,r){return null!=t&&n.call(t,r)};var c=e(5054);let a=function(t,r){return null!=t&&(0,c.A)(t,r,o)}},9703(t,r,e){e.d(r,{A:()=>a});var n=e(8348),o=e(2049),c=e(3098);let a=function(t){return"string"==typeof t||!(0,o.A)(t)&&(0,c.A)(t)&&"[object String]"==(0,n.A)(t)}},7591(t,r,e){e.d(r,{A:()=>f});var n=e(1463),o=e(3149),c=e(7271);let a=function(t){var r=[];if(null!=t)for(var e in Object(t))r.push(e);return r};var u=Object.prototype.hasOwnProperty;let A=function(t){if(!(0,o.A)(t))return a(t);var r=(0,c.A)(t),e=[];for(var n in t)"constructor"==n&&(r||!u.call(t,n))||e.push(n);return e};var i=e(8446);let f=function(t){return(0,i.A)(t)?(0,n.A)(t,!0):A(t)}},6666(t,r,e){e.d(r,{A:()=>n});let n=function(t){var r=null==t?0:t.length;return r?t[r-1]:void 0}},4722(t,r,e){e.d(r,{A:()=>u});var n=e(5572),o=e(1990),c=e(2568),a=e(2049);let u=function(t,r){return((0,a.A)(t)?n.A:c.A)(t,(0,o.A)(r,3))}},2078(t,r,e){e.d(r,{A:()=>j});var n=/\s/;let o=function(t){for(var r=t.length;r--&&n.test(t.charAt(r)););return r};var c=/^\s+/,a=e(3149),u=e(1882),A=0/0,i=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,l=/^0o[0-7]+$/i,v=parseInt;let b=function(t){if("number"==typeof t)return t;if((0,u.A)(t))return A;if((0,a.A)(t)){var r,e="function"==typeof t.valueOf?t.valueOf():t;t=(0,a.A)(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=(r=t)?r.slice(0,o(r)+1).replace(c,""):r;var n=f.test(t);return n||l.test(t)?v(t.slice(2),n?2:8):i.test(t)?A:+t};var s=1/0;let j=function(t){return t?(t=b(t))===s||t===-s?(t<0?-1:1)*17976931348623157e292:t==t?t:0:0===t?t:0}},8593(t,r,e){e.d(r,{A:()=>o});var n=e(2078);let o=function(t){var r=(0,n.A)(t),e=r%1;return r==r?e?r-e:r:0}}}]); \ No newline at end of file diff --git a/en/assets/js/7693.c2b73a77.js b/en/assets/js/7693.c2b73a77.js new file mode 100644 index 0000000..b860232 --- /dev/null +++ b/en/assets/js/7693.c2b73a77.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7693"],{5308(e,n,r){r.r(n),r.d(n,{prepareLayoutForDagre:()=>n0,getEdgesToRender:()=>nF,runDagreLayoutCore:()=>n2,render:()=>n6,applyDagreLayoutResult:()=>nW,measureDagreLayout:()=>n1});var t,o=r(3227),i=r(5616),a=r(6163),d=r(7827),u=r(3002);r(739),r(6320),r(2217),r(2941),r(6348);var s=r(1177),c=r(1293),l=r(6827),g=r(8058),f=r(4898),h=0;let p=function(e){var n=++h;return(0,f.A)(e)+n};var v=r(9142),y=r(4098),w=r(4722),A=Math.ceil,b=Math.max;let m=function(e,n,r,t){for(var o=-1,i=b(A((n-e)/(r||1)),0),a=Array(i);i--;)a[t?i:++o]=e,e+=r;return a};var x=r(6832),E=r(2078);let L=function(e,n,r){return r&&"number"!=typeof r&&(0,x.A)(e,n,r)&&(n=r=void 0),e=(0,E.A)(e),void 0===n?(n=e,e=0):n=(0,E.A)(n),r=void 0===r?e<n?1:-1:(0,E.A)(r),m(e,n,r,void 0)};var k=r(697);class R{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,n=e._prev;if(n!==e)return O(n),n}enqueue(e){var n=this._sentinel;e._prev&&e._next&&O(e),e._next=n._next,n._next._prev=e,n._next=e,e._prev=n}toString(){for(var e=[],n=this._sentinel,r=n._prev;r!==n;)e.push(JSON.stringify(r,N)),r=r._prev;return"["+e.join(", ")+"]"}}function O(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function N(e,n){if("_next"!==e&&"_prev"!==e)return n}var C=v.A(1);function P(e,n,r,t,o){var i=o?[]:void 0;return g.A(e.inEdges(t.v),function(t){var a=e.edge(t),d=e.node(t.v);o&&i.push({v:t.v,w:t.w}),d.out-=a,j(n,r,d)}),g.A(e.outEdges(t.v),function(t){var o=e.edge(t),i=t.w,a=e.node(i);a.in-=o,j(n,r,a)}),e.removeNode(t.v),i}function j(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}var S=r(13),M=r(2528),_=r(6984);let X=function(e,n,r){(void 0===r||(0,_.A)(e[n],r))&&(void 0!==r||n in e)||(0,M.A)(e,n,r)};var T=r(3816),D=r(154),B=r(1801),K=r(9759),I=r(2042),G=r(18),q=r(2049),J=r(3533),z=r(5254),F=r(9610),Y=r(3149),U=r(8348),V=r(5647),H=r(3098),Q=Object.prototype,W=Function.prototype.toString,Z=Q.hasOwnProperty,$=W.call(Object);let ee=function(e){if(!(0,H.A)(e)||"[object Object]"!=(0,U.A)(e))return!1;var n=(0,V.A)(e);if(null===n)return!0;var r=Z.call(n,"constructor")&&n.constructor;return"function"==typeof r&&r instanceof r&&W.call(r)==$};var en=r(9415);let er=function(e,n){if(("constructor"!==n||"function"!=typeof e[n])&&"__proto__"!=n)return e[n]};var et=r(2031),eo=r(7591);let ei=function(e,n,r,t,o,i,a){var d=er(e,r),u=er(n,r),s=a.get(u);if(s)return void X(e,r,s);var c=i?i(d,u,r+"",e,n,a):void 0,l=void 0===c;if(l){var g=(0,q.A)(u),f=!g&&(0,z.A)(u),h=!g&&!f&&(0,en.A)(u);(c=u,g||f||h)?(0,q.A)(d)?c=d:(0,J.A)(d)?c=(0,K.A)(d):f?(l=!1,c=(0,D.A)(u,!0)):h?(l=!1,c=(0,B.A)(u,!0)):c=[]:ee(u)||(0,G.A)(u)?(c=d,(0,G.A)(d))?c=(0,et.A)(d,(0,eo.A)(d)):(!(0,Y.A)(d)||(0,F.A)(d))&&(c=(0,I.A)(u)):l=!1}l&&(a.set(u,c),o(c,u,t,i,a),a.delete(u)),X(e,r,c)},ea=function e(n,r,t,o,i){n!==r&&(0,T.A)(r,function(a,d){if(i||(i=new S.A),(0,Y.A)(a))ei(n,r,d,t,e,o,i);else{var u=o?o(er(n,d),a,d+"",n,r,i):void 0;void 0===u&&(u=a),X(n,d,u)}},eo.A)};var ed=(0,r(3767).A)(function(e,n,r){ea(e,n,r)}),eu=r(8986),es=r(6953),ec=r(3310),el=r(7211),eg=(t=function(e,n){return null==e?{}:(0,eu.A)(e,n,function(n,r){return(0,es.A)(e,r)})},(0,el.A)((0,ec.A)(t,void 0,y.A),t+"")),ef=r(3068),eh=r(1882);let ep=function(e,n,r){for(var t=-1,o=e.length;++t<o;){var i=e[t],a=n(i);if(null!=a&&(void 0===d?a==a&&!(0,eh.A)(a):r(a,d)))var d=a,u=i}return u},ev=function(e,n){return e>n};var ey=r(9008);let ew=function(e){return e&&e.length?ep(e,ey.A,ev):void 0};var eA=r(6666),eb=r(9841),em=r(1990);let ex=function(e,n){var r={};return n=(0,em.A)(n,3),(0,eb.A)(e,function(e,t,o){(0,M.A)(r,t,n(e,t,o))}),r};var eE=r(9592);let eL=function(e,n){return e<n},ek=function(e){return e&&e.length?ep(e,ey.A,eL):void 0};var eR=r(1349),eO=r(1917);function eN(e,n,r,t){var o;do o=p(t);while(e.hasNode(o))return r.dummy=n,e.setNode(o,r),o}function eC(e){var n=new k.T({multigraph:e.isMultigraph()}).setGraph(e.graph());return g.A(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),g.A(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function eP(e,n){var r,t,o=e.x,i=e.y,a=n.x-o,d=n.y-i,u=e.width/2,s=e.height/2;if(!a&&!d)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(d)*u>Math.abs(a)*s?(d<0&&(s=-s),r=s*a/d,t=s):(a<0&&(u=-u),r=u,t=u*d/a),{x:o+r,y:i+t}}function ej(e){var n=w.A(L(eM(e)+1),function(){return[]});return g.A(e.nodes(),function(r){var t=e.node(r),o=t.rank;eE.A(o)||(n[o][t.order]=r)}),n}function eS(e,n,r,t){var o={width:0,height:0};return arguments.length>=4&&(o.rank=r,o.order=t),eN(e,"border",o,n)}function eM(e){return ew(w.A(e.nodes(),function(n){var r=e.node(n).rank;if(!eE.A(r))return r}))}function e_(e,n){return n()}function eX(e,n,r,t,o,i){var a=o[n][i-1],d=eN(e,"border",{width:0,height:0,rank:i,borderType:n},r);o[n][i]=d,e.setParent(d,t),a&&e.setEdge(a,d,{weight:1})}function eT(e){g.A(e.nodes(),function(n){eD(e.node(n))}),g.A(e.edges(),function(n){eD(e.edge(n))})}function eD(e){var n=e.width;e.width=e.height,e.height=n}function eB(e){e.y=-e.y}function eK(e){var n=e.x;e.x=e.y,e.y=n}let eI=function(e,n){return e&&e.length?ep(e,(0,em.A)(n,2),eL):void 0};function eG(e){var n={};g.A(e.sources(),function r(t){var o=e.node(t);if(Object.prototype.hasOwnProperty.call(n,t))return o.rank;n[t]=!0;var i=ek(w.A(e.outEdges(t),function(n){return r(n.w)-e.edge(n).minlen}));return(i===1/0||null==i)&&(i=0),o.rank=i})}function eq(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}function eJ(e){var n,r,t,o,i=new k.T({directed:!1}),a=e.nodes()[0],d=e.nodeCount();for(i.setNode(a,{});n=i,r=e,g.A(n.nodes(),function e(t){g.A(r.nodeEdges(t),function(o){var i=o.v,a=t===i?o.w:i;n.hasNode(a)||eq(r,o)||(n.setNode(a,{}),n.setEdge(t,a,{}),e(a))})}),n.nodeCount()<d;)t=function(e,n){return eI(n.edges(),function(r){if(e.hasNode(r.v)!==e.hasNode(r.w))return eq(n,r)})}(i,e),o=i.hasNode(t.v)?eq(e,t):-eq(e,t),function(e,n,r){g.A(e.nodes(),function(e){n.node(e).rank+=r})}(i,e,o);return i}var ez=r(77),eF=r(4092);v.A(1),v.A(1);var eY=r(4065),eU=r(3231),eV=r(8446),eH=r(9703),eQ=(0,r(805).A)("length"),eW=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),eZ="\\ud800-\\udfff",e$="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",e0="\\ud83c[\\udffb-\\udfff]",e1="[^"+eZ+"]",e2="(?:\\ud83c[\\udde6-\\uddff]){2}",e3="[\\ud800-\\udbff][\\udc00-\\udfff]",e8="(?:"+e$+"|"+e0+")?",e6="[\\ufe0e\\ufe0f]?",e9="(?:\\u200d(?:"+[e1,e2,e3].join("|")+")"+e6+e8+")*",e4=RegExp(e0+"(?="+e0+")|"+("(?:"+[e1+e$+"?",e$,e2,e3,"["+eZ+"]"].join("|"))+")"+(e6+e8+e9),"g");function e5(){}function e7(e,n,r){q.A(n)||(n=[n]);var t=(e.isDirected()?e.successors:e.neighbors).bind(e),o=[],i={};return g.A(n,function(n){if(!e.hasNode(n))throw Error("Graph does not have node: "+n);!function e(n,r,t,o,i,a){!Object.prototype.hasOwnProperty.call(o,r)&&(o[r]=!0,t||a.push(r),g.A(i(r),function(r){e(n,r,t,o,i,a)}),t&&a.push(r))}(e,n,"post"===r,i,t,o)}),o}function ne(e){n=e,r=new k.T().setGraph(n.graph()),g.A(n.nodes(),function(e){r.setNode(e,n.node(e))}),g.A(n.edges(),function(e){var t=r.edge(e.v,e.w)||{weight:0,minlen:1},o=n.edge(e);r.setEdge(e.v,e.w,{weight:t.weight+o.weight,minlen:Math.max(t.minlen,o.minlen)})}),eG(e=r);var n,r,t,o,i=eJ(e);for(nt(i),nn(i,e);t=no(i);)o=ni(i,e,t),na(i,e,t,o)}function nn(e,n){var r=e7(e,e.nodes(),"post");r=r.slice(0,r.length-1),g.A(r,function(r){var t,o,i,a;t=e,o=n,i=r,a=t.node(i).parent,t.edge(i,a).cutvalue=nr(t,o,i)})}function nr(e,n,r){var t=e.node(r).parent,o=!0,i=n.edge(r,t),a=0;return i||(o=!1,i=n.edge(t,r)),a=i.weight,g.A(n.nodeEdges(r),function(i){var d=i.v===r,u=d?i.w:i.v;if(u!==t){var s,c,l,g=d===o,f=n.edge(i).weight;if(a+=g?f:-f,s=e,c=r,l=u,s.hasEdge(c,l)){var h=e.edge(r,u).cutvalue;a+=g?-h:h}}}),a}function nt(e,n){arguments.length<2&&(n=e.nodes()[0]),function e(n,r,t,o,i){var a=t,d=n.node(o);return r[o]=!0,g.A(n.neighbors(o),function(i){Object.prototype.hasOwnProperty.call(r,i)||(t=e(n,r,t,i,o))}),d.low=a,d.lim=t++,i?d.parent=i:delete d.parent,t}(e,{},1,n)}function no(e){return ez.A(e.edges(),function(n){return e.edge(n).cutvalue<0})}function ni(e,n,r){var t=r.v,o=r.w;n.hasEdge(t,o)||(t=r.w,o=r.v);var i=e.node(t),a=e.node(o),d=i,u=!1;return i.lim>a.lim&&(d=a,u=!0),eI(eF.A(n.edges(),function(n){return u===nd(e,e.node(n.v),d)&&u!==nd(e,e.node(n.w),d)}),function(e){return eq(n,e)})}function na(e,n,r,t){var o,i,a,d,u=r.v,s=r.w;e.removeEdge(u,s),e.setEdge(t.v,t.w,{}),nt(e),nn(e,n),o=e,i=n,a=ez.A(o.nodes(),function(e){return!i.node(e).parent}),d=(d=e7(o,a,"pre")).slice(1),g.A(d,function(e){var n=o.node(e).parent,r=i.edge(e,n),t=!1;r||(r=i.edge(n,e),t=!0),i.node(e).rank=i.node(n).rank+(t?r.minlen:-r.minlen)})}function nd(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}e5.prototype=Error(),r(9252),ne.initLowLimValues=nt,ne.initCutValues=nn,ne.calcCutValue=nr,ne.leaveEdge=no,ne.enterEdge=ni,ne.exchangeEdges=na;var nu=r(2888),ns=r(4039),nc=r(9183),nl=r(2851);let ng=function(e,n,r){for(var t=-1,o=e.length,i=n.length,a={};++t<o;){var d=t<i?n[t]:void 0;r(a,e[t],d)}return a};var nf=r(6335),nh=r(5572),np=r(6318),nv=r(2568);let ny=function(e,n){var r=e.length;for(e.sort(n);r--;)e[r]=e[r].value;return e};var nw=r(2789);let nA=function(e,n){if(e!==n){var r=void 0!==e,t=null===e,o=e==e,i=(0,eh.A)(e),a=void 0!==n,d=null===n,u=n==n,s=(0,eh.A)(n);if(!d&&!s&&!i&&e>n||i&&a&&u&&!d&&!s||t&&a&&u||!r&&u||!o)return 1;if(!t&&!i&&!s&&e<n||s&&r&&o&&!t&&!i||d&&r&&o||!a&&o||!u)return -1}return 0},nb=function(e,n,r){for(var t=-1,o=e.criteria,i=n.criteria,a=o.length,d=r.length;++t<a;){var u=nA(o[t],i[t]);if(u){if(t>=d)return u;return u*("desc"==r[t]?-1:1)}}return e.index-n.index},nm=function(e,n,r){n=n.length?(0,nh.A)(n,function(e){return(0,q.A)(e)?function(n){return(0,np.A)(n,1===e.length?e[0]:e)}:e}):[ey.A];var t=-1;return n=(0,nh.A)(n,(0,nw.A)(em.A)),ny((0,nv.A)(e,function(e,r,o){return{criteria:(0,nh.A)(n,function(n){return n(e)}),index:++t,value:e}}),function(e,n){return nb(e,n,r)})};var nx=(0,r(4326).A)(function(e,n){if(null==e)return[];var r=n.length;return r>1&&(0,x.A)(e,n[0],n[1])?n=[]:r>2&&(0,x.A)(n[0],n[1],n[2])&&(n=[n[0]]),nm(e,(0,nf.A)(n,1),[])});function nE(e,n,r){for(var t;n.length&&(t=eA.A(n)).i<=r;)n.pop(),e.push(t.vs),r++;return r}function nL(e,n,r){return w.A(n,function(n){var t,o;return t=function(e){for(var n;e.hasNode(n=p("_root")););return n}(e),o=new k.T({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(n){return e.node(n)}),g.A(e.nodes(),function(i){var a=e.node(i),d=e.parent(i);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(o.setNode(i),o.setParent(i,d||t),g.A(e[r](i),function(n){var r=n.v===i?n.w:n.v,t=o.edge(r,i),a=eE.A(t)?0:t.weight;o.setEdge(r,i,{weight:e.edge(n).weight+a})}),Object.prototype.hasOwnProperty.call(a,"minRank")&&o.setNode(i,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))}),o})}function nk(e,n){g.A(n,function(n){g.A(n,function(n,r){e.node(n).order=r})})}var nR=r(9922);function nO(e,n,r){if(n>r){var t=n;n=r,r=t}Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,configurable:!0,value:{},writable:!0}),Object.defineProperty(e[n],r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}var nN=["nodesep","edgesep","ranksep","marginx","marginy"],nC={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},nP=["acyclicer","ranker","rankdir","align"],nj=["width","height"],nS={width:0,height:0},nM=["minlen","weight","width","height","labeloffset"],n_={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},nX=["labelpos"];function nT(e,n){return ex(eg(e,n),Number)}function nD(e){var n={};return g.A(e,function(e,r){n[r.toLowerCase()]=e}),n}var nB=(0,l.K)((e,n,r)=>Math.max(n,Math.min(r,e)),"clamp"),nK=(0,l.K)((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),nI=(0,l.K)(e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e||"er"===e||"classDiagram"===e,"shouldMergeSelfLoopSegments"),nG=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],nq=(0,l.K)((e,n,r,t,o)=>{let i=[],a=new Set;if(r.forEach(({start:e,end:n})=>{e!==t&&a.add(e),n!==t&&a.add(n)}),a.forEach(n=>{let r=e.node(n);"number"==typeof r?.x&&"number"==typeof r?.y&&i.push(r)}),0===i.length&&r.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{"number"==typeof e?.x&&"number"==typeof e?.y&&i.push(e)})}),0===i.length)return nK(o);let d=i.reduce((e,n)=>({x:e.x+n.x/i.length,y:e.y+n.y/i.length}),{x:0,y:0}),u=d.x-n.x,s=d.y-n.y;return Math.abs(u)>Math.abs(s)?u>0?"right":"left":Math.abs(s)>0?s>0?"bottom":"top":nK(o)},"getSelfLoopSide"),nJ=(0,l.K)((e,n="top",r=0,t=0)=>{let o=e.x,i=e.y-r,a=e.width/2,d=e.height/2,u=Math.max(36,Math.min(100,.8*e.width)),s=nB(Math.max(t,.35*e.width),36,u),c=nB(.45*Math.min(e.width,e.height),24,48);switch(n){case"bottom":{let e=i+d;return[{x:o-s/2,y:e},{x:o-s/2,y:e+c},{x:o+s/2,y:e+c},{x:o+s/2,y:e}]}case"right":{let e=o+a;return[{x:e,y:i-s/2},{x:e+c,y:i-s/2},{x:e+c,y:i+s/2},{x:e,y:i+s/2}]}case"left":{let e=o-a;return[{x:e,y:i-s/2},{x:e-c,y:i-s/2},{x:e-c,y:i+s/2},{x:e,y:i+s/2}]}default:{let e=i-d;return[{x:o-s/2,y:e},{x:o-s/2,y:e-c},{x:o+s/2,y:e-c},{x:o+s/2,y:e}]}}},"getSelfLoopPoints"),nz=(0,l.K)((e,n,r="top",t=0,o={})=>{let i=e.x,a=e.y-t,d=o.width??0,u=o.height??0;switch(r){case"bottom":return{x:i,y:Math.max(...n.map(e=>e.y))+u/2+4};case"right":return{x:Math.max(...n.map(e=>e.x))+d/2+4,y:a};case"left":return{x:Math.min(...n.map(e=>e.x))-d/2-4,y:a};default:return{x:i,y:Math.min(...n.map(e=>e.y))-u/2-4}}},"getSelfLoopLabelPosition"),nF=(0,l.K)((e,n=0,{mergeSelfLoops:r=!0}={})=>{let t=new Map,o=[],i=e.graph()?.rankdir;return e.edges().forEach(n=>{let i=e.edge(n);if(r&&i.selfLoop){let e=i.selfLoop.id;t.has(e)||t.set(e,[]),t.get(e).push({edge:i,start:n.v,end:n.w})}else o.push({edge:i,start:n.v,end:n.w})}),t.forEach(r=>{if(3!==r.length)return void r.forEach(e=>o.push(e));r.sort((e,n)=>e.edge.selfLoop.order-n.edge.selfLoop.order);let[t,a,d]=r,u=t.edge.originalEdge??a.edge.originalEdge??d.edge.originalEdge??a.edge,s=e.node(u.start);if(!s)return void r.forEach(e=>o.push(e));let c={width:a.edge.width,height:a.edge.height},l=nq(e,s,r,u.start,i),g=nJ(s,l,n,c.width??0),f=nz(s,g,l,n,c),h={...a.edge,...u,id:u.id,points:g,start:u.start,end:u.end,x:f.x,y:f.y,width:c.width,height:c.height,labelStyle:a.edge.labelStyle,fromCluster:t.edge.fromCluster??a.edge.fromCluster??d.edge.fromCluster,toCluster:t.edge.toCluster??a.edge.toCluster??d.edge.toCluster};delete h.selfLoop,delete h.originalEdge,o.push({edge:h,start:h.start,end:h.end})}),o},"getEdgesToRender"),nY=(0,l.K)(async({element:e,graph:n,diagramType:r,id:t,parentCluster:i,siteConfig:s})=>{let g=n.graph().rankdir;c.R.trace("Dir in recursive render - dir:",g);let{clusters:f,edgePaths:h,edgeLabels:p,nodes:v,rootGroups:y}=(0,o.B)(e,{edgePathsClass:"edgePaths"});n.nodes()?c.R.info("Recursive render XXX",n.nodes()):c.R.info("No nodes found for",n),n.edges().length>0&&c.R.info("Recursive edges",n.edge(n.edges()[0]));let w=nI(r);await Promise.all(n.nodes().map(async function(e){let a=n.node(e);if(void 0!==i){let r=JSON.parse(JSON.stringify(i.clusterData));c.R.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",r.height,"\nParent cluster",i.height),n.setNode(i.id,r),n.parent(e)||(c.R.trace("Setting parent",e,i.id),n.setParent(e,i.id,r))}if(c.R.info("(Insert) Node XXX"+e+": "+JSON.stringify(n.node(e))),a?.clusterNode){c.R.info("Cluster identified XBX",e,a.width,n.node(e));let{ranksep:o,nodesep:i}=n.graph();a.graph.setGraph({...a.graph.graph(),ranksep:o+25,nodesep:i});let l=await n$({element:v,graph:a.graph,diagramType:r,id:t,parentCluster:n.node(e),siteConfig:s}),g=l.elem;(0,u.lC)(a,g),a.diff=l.diff||0,c.R.info("New compound node after recursive render XAX",e,"width",a.width,"height",a.height),(0,d.U7)(g,a)}else n.children(e).length>0?(c.R.trace("Cluster - the non recursive path XBX",e,a.id,a,a.width,"Graph:",n),c.R.trace((0,o.dc)(a.id,n)),o.ju.set(a.id,{id:(0,o.dc)(a.id,n),node:a})):(c.R.trace("Node - the non recursive path XAX",e,v,n.node(e),g),await (0,o.sv)(v,n.node(e),{config:s,dir:g}))}));let A=(0,l.K)(async()=>{let e=n.edges().map(async function(e){let r=n.edge(e.v,e.w,e.name);if(c.R.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),c.R.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(n.edge(e))),c.R.info("Fix",o.ju,"ids:",e.v,e.w,"Translating: ",o.ju.get(e.v),o.ju.get(e.w)),w&&r.selfLoop){if(1!==r.selfLoop.order)return;let e={...r.originalEdge,...r,id:r.selfLoop.id,startLabelLeft:r.originalEdge?.startLabelLeft??r.startLabelLeft,startLabelRight:r.originalEdge?.startLabelRight??r.startLabelRight,endLabelLeft:r.originalEdge?.endLabelLeft??r.endLabelLeft,endLabelRight:r.originalEdge?.endLabelRight??r.endLabelRight};await (0,a.jP)(p,e),r.width=e.width,r.height=e.height,r.labelStyle=e.labelStyle;return}await (0,a.jP)(p,r)});await Promise.all(e)},"processEdges");await A();let{subGraphTitleTotalMargin:b}=(0,d.Oi)(s);return{elem:y,graph:n,groups:{clusters:f,edgePaths:h,edgeLabels:p,nodes:v,rootGroups:y},diagramType:r,id:t,mergeSelfLoops:w,subGraphTitleTotalMargin:b}},"measureDagreGraph"),nU=(0,l.K)(e=>{c.R.info("############################################# XXX"),c.R.info("### Layout ### XXX"),c.R.info("############################################# XXX"),e_("layout",()=>{var n=e_(" buildLayoutGraph",()=>{var n,r,t;return n=e,r=new k.T({multigraph:!0,compound:!0}),t=nD(n.graph()),r.setGraph(ed({},nC,nT(t,nN),eg(t,nP))),g.A(n.nodes(),function(e){var t=nD(n.node(e));r.setNode(e,ef.A(nT(t,nj),nS)),r.setParent(e,n.parent(e))}),g.A(n.edges(),function(e){var t=nD(n.edge(e));r.setEdge(e,ed({},n_,nT(t,nM),eg(t,nX)))}),r});e_(" runLayout",()=>{var e,r;return e=n,void((r=e_)(" makeSpaceForEdgeLabels",()=>{var n,r;return r=(n=e).graph(),void(r.ranksep/=2,g.A(n.edges(),function(e){var t=n.edge(e);t.minlen*=2,"c"!==t.labelpos.toLowerCase()&&("TB"===r.rankdir||"BT"===r.rankdir?t.width+=t.labeloffset:t.height+=t.labeloffset)}))}),r(" removeSelfEdges",()=>{var n;return n=e,void g.A(n.edges(),function(e){if(e.v===e.w){var r=n.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:n.edge(e)}),n.removeEdge(e)}})}),r(" acyclic",()=>{var n,r,t,o,i,a;return n="greedy"===e.graph().acyclicer?function(e,n){if(1>=e.nodeCount())return[];var r,t,o,i,a,d,u,s=(r=e,t=n||C,o=new k.T,i=0,a=0,g.A(r.nodes(),function(e){o.setNode(e,{v:e,in:0,out:0})}),g.A(r.edges(),function(e){var n=o.edge(e.v,e.w)||0,r=t(e);o.setEdge(e.v,e.w,n+r),a=Math.max(a,o.node(e.v).out+=r),i=Math.max(i,o.node(e.w).in+=r)}),d=L(a+i+3).map(function(){return new R}),u=i+1,g.A(o.nodes(),function(e){j(d,u,o.node(e))}),{graph:o,buckets:d,zeroIdx:u}),c=function(e,n,r){for(var t,o=[],i=n[n.length-1],a=n[0];e.nodeCount();){for(;t=a.dequeue();)P(e,n,r,t);for(;t=i.dequeue();)P(e,n,r,t);if(e.nodeCount()){for(var d=n.length-2;d>0;--d)if(t=n[d].dequeue()){o=o.concat(P(e,n,r,t,!0));break}}}return o}(s.graph,s.buckets,s.zeroIdx);return y.A(w.A(c,function(n){return e.outEdges(n.v,n.w)}))}(e,(r=e,function(e){return r.edge(e).weight})):(t=e,o=[],i={},a={},g.A(t.nodes(),function e(n){Object.prototype.hasOwnProperty.call(a,n)||(a[n]=!0,i[n]=!0,g.A(t.outEdges(n),function(n){Object.prototype.hasOwnProperty.call(i,n.w)?o.push(n):e(n.w)}),delete i[n])}),o),void g.A(n,function(n){var r=e.edge(n);e.removeEdge(n),r.forwardName=n.name,r.reversed=!0,e.setEdge(n.w,n.v,r,p("rev"))})}),r(" nestingGraph.run",()=>{var n,r,t,o,i,a,d,u;return n=eN(e,"root",{},"_root"),a=e,d={},g.A(a.children(),function(e){!function e(n,r){var t=a.children(n);t&&t.length&&g.A(t,function(n){e(n,r+1)}),d[n]=r}(e,1)}),r=d,o=2*(t=ew(nu.A(r))-1)+1,e.graph().nestingRoot=n,g.A(e.edges(),function(n){e.edge(n).minlen*=o}),i=(u=e,ns.A(u.edges(),function(e,n){return e+u.edge(n).weight},0)+1),void(g.A(e.children(),function(a){!function e(n,r,t,o,i,a,d){var u=n.children(d);if(!u.length){d!==r&&n.setEdge(r,d,{weight:0,minlen:t});return}var s=eS(n,"_bt"),c=eS(n,"_bb"),l=n.node(d);n.setParent(s,d),l.borderTop=s,n.setParent(c,d),l.borderBottom=c,g.A(u,function(u){e(n,r,t,o,i,a,u);var l=n.node(u),g=l.borderTop?l.borderTop:u,f=l.borderBottom?l.borderBottom:u,h=l.borderTop?o:2*o,p=g!==f?1:i-a[d]+1;n.setEdge(s,g,{weight:h,minlen:p,nestingEdge:!0}),n.setEdge(f,c,{weight:h,minlen:p,nestingEdge:!0})}),n.parent(d)||n.setEdge(r,s,{weight:0,minlen:i+a[d]})}(e,n,o,i,t,r,a)}),e.graph().nodeRankFactor=o)}),r(" rank",()=>(function(e){switch(e.graph().ranker){case"network-simplex":default:ne(e);break;case"tight-tree":var n;eG(n=e),eJ(n);break;case"longest-path":eG(e)}})(eC(e))),r(" injectEdgeLabelProxies",()=>{var n;return n=e,void g.A(n.edges(),function(e){var r=n.edge(e);if(r.width&&r.height){var t=n.node(e.v),o={rank:(n.node(e.w).rank-t.rank)/2+t.rank,e:e};eN(n,"edge-proxy",o,"_ep")}})}),r(" removeEmptyRanks",()=>{var n,r,t,o;return n=ek(w.A(e.nodes(),function(n){return e.node(n).rank})),r=[],g.A(e.nodes(),function(t){var o=e.node(t).rank-n;r[o]||(r[o]=[]),r[o].push(t)}),t=0,o=e.graph().nodeRankFactor,void g.A(r,function(n,r){eE.A(n)&&r%o!=0?--t:t&&g.A(n,function(n){e.node(n).rank+=t})})}),r(" nestingGraph.cleanup",()=>{var n;return n=e.graph(),void(e.removeNode(n.nestingRoot),delete n.nestingRoot,g.A(e.edges(),function(n){e.edge(n).nestingEdge&&e.removeEdge(n)}))}),r(" normalizeRanks",()=>{var n;return n=ek(w.A(e.nodes(),function(n){return e.node(n).rank})),void g.A(e.nodes(),function(r){var t=e.node(r);eR.A(t,"rank")&&(t.rank-=n)})}),r(" assignRankMinMax",()=>{var n,r;return n=e,r=0,void(g.A(n.nodes(),function(e){var t=n.node(e);t.borderTop&&(t.minRank=n.node(t.borderTop).rank,t.maxRank=n.node(t.borderBottom).rank,r=ew(r,t.maxRank))}),n.graph().maxRank=r)}),r(" removeEdgeLabelProxies",()=>{var n;return n=e,void g.A(n.nodes(),function(e){var r=n.node(e);"edge-proxy"===r.dummy&&(n.edge(r.e).labelRank=r.rank,n.removeNode(e))})}),r(" normalize.run",()=>{e.graph().dummyChains=[],g.A(e.edges(),function(n){!function(e,n){var r,t,o=n.v,i=e.node(o).rank,a=n.w,d=e.node(a).rank,u=n.name,s=e.edge(n),c=s.labelRank;if(d!==i+1){e.removeEdge(n);var l=void 0;for(t=0,++i;i<d;++t,++i)s.points=[],r=eN(e,"edge",l={width:0,height:0,edgeLabel:s,edgeObj:n,rank:i},"_d"),i===c&&(l.width=s.width,l.height=s.height,l.dummy="edge-label",l.labelpos=s.labelpos),e.setEdge(o,r,{weight:s.weight},u),0===t&&e.graph().dummyChains.push(r),o=r;e.setEdge(o,a,{weight:s.weight},u)}}(e,n)})}),r(" parentDummyChains",()=>{var n,r,t,o;return r=e,t={},o=0,g.A(r.children(),function e(n){var i=o;g.A(r.children(n),e),t[n]={low:i,lim:o++}}),n=t,void g.A(e.graph().dummyChains,function(r){for(var t=e.node(r),o=t.edgeObj,i=function(e,n,r,t){var o,i,a=[],d=[],u=Math.min(n[r].low,n[t].low),s=Math.max(n[r].lim,n[t].lim);o=r;do a.push(o=e.parent(o));while(o&&(n[o].low>u||s>n[o].lim))for(i=o,o=t;(o=e.parent(o))!==i;)d.push(o);return{path:a.concat(d.reverse()),lca:i}}(e,n,o.v,o.w),a=i.path,d=i.lca,u=0,s=a[0],c=!0;r!==o.w;){if(t=e.node(r),c){for(;(s=a[u])!==d&&e.node(s).maxRank<t.rank;)u++;s===d&&(c=!1)}if(!c){for(;u<a.length-1&&e.node(s=a[u+1]).minRank<=t.rank;)u++;s=a[u]}e.setParent(r,s),r=e.successors(r)[0]}})}),r(" addBorderSegments",()=>{g.A(e.children(),function n(r){var t=e.children(r),o=e.node(r);if(t.length&&g.A(t,n),Object.prototype.hasOwnProperty.call(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var i=o.minRank,a=o.maxRank+1;i<a;++i)eX(e,"borderLeft","_bl",r,o,i),eX(e,"borderRight","_br",r,o,i)}})}),r(" order",()=>(function(e){var n=eM(e),r=nL(e,L(1,n+1),"inEdges"),t=nL(e,L(n-1,-1,-1),"outEdges"),o=(i={},a=eF.A(e.nodes(),function(n){return!e.children(n).length}),d=ew(w.A(a,function(n){return e.node(n).rank})),u=w.A(L(d+1),function(){return[]}),s=nx(a,function(n){return e.node(n).rank}),g.A(s,function n(r){eR.A(i,r)||(i[r]=!0,u[e.node(r).rank].push(r),g.A(e.successors(r),n))}),u);nk(e,o);for(var i,a,d,u,s,c,l=1/0,f=0,h=0;h<4;++f,++h){(function(e,n){var r=new k.T;g.A(e,function(e){var t,o,i,a=e.graph().root,d=function e(n,r,t,o){var i,a,d,u,s,c,l,f,h,p,v,A,b=n.children(r),m=n.node(r),x=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,L={};x&&(b=eF.A(b,function(e){return e!==x&&e!==E}));var k=(i=b,w.A(i,function(e){var r=n.inEdges(e);if(!r.length)return{v:e};var t=ns.A(r,function(e,r){var t=n.edge(r),o=n.node(r.v);return{sum:e.sum+t.weight*o.order,weight:e.weight+t.weight}},{sum:0,weight:0});return{v:e,barycenter:t.sum/t.weight,weight:t.weight}}));g.A(k,function(r){if(n.children(r.v).length){var i,a,d=e(n,r.v,t,o);L[r.v]=d,Object.prototype.hasOwnProperty.call(d,"barycenter")&&(i=r,a=d,eE.A(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))}});var R=(a={},g.A(k,function(e,n){var r=a[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:n};eE.A(e.barycenter)||(r.barycenter=e.barycenter,r.weight=e.weight)}),g.A(t.edges(),function(e){var n=a[e.v],r=a[e.w];eE.A(n)||eE.A(r)||(r.indegree++,n.out.push(a[e.w]))}),function(e){for(var n=[];e.length;){var r=e.pop();n.push(r),g.A(r.in.reverse(),function(e){return function(n){!n.merged&&(eE.A(n.barycenter)||eE.A(e.barycenter)||n.barycenter>=e.barycenter)&&function(e,n){var r=0,t=0;e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/t,e.weight=t,e.i=Math.min(n.i,e.i),n.merged=!0}(e,n)}}(r)),g.A(r.out,function(n){return function(r){r.in.push(n),0==--r.indegree&&e.push(r)}}(r))}return w.A(eF.A(n,function(e){return!e.merged}),function(e){return eg(e,["vs","i","barycenter","weight"])})}(eF.A(a,function(e){return!e.indegree})));!function(e,n){g.A(e,function(e){e.vs=y.A(e.vs.map(function(e){return n[e]?n[e].vs:e}))})}(R,L);var O=(c=(d=function(e){return Object.prototype.hasOwnProperty.call(e,"barycenter")},u={lhs:[],rhs:[]},g.A(R,function(e){d(e)?u.lhs.push(e):u.rhs.push(e)}),s=u).lhs,l=nx(s.rhs,function(e){return-e.i}),f=[],h=0,p=0,v=0,c.sort(function(e){return function(n,r){return n.barycenter<r.barycenter?-1:n.barycenter>r.barycenter?1:e?r.i-n.i:n.i-r.i}}(!!o)),v=nE(f,l,v),g.A(c,function(e){v+=e.vs.length,f.push(e.vs),h+=e.barycenter*e.weight,p+=e.weight,v=nE(f,l,v)}),A={vs:y.A(f)},p&&(A.barycenter=h/p,A.weight=p),A);if(x&&(O.vs=y.A([x,O.vs,E]),n.predecessors(x).length)){var N=n.node(n.predecessors(x)[0]),C=n.node(n.predecessors(E)[0]);Object.prototype.hasOwnProperty.call(O,"barycenter")||(O.barycenter=0,O.weight=0),O.barycenter=(O.barycenter*O.weight+N.order+C.order)/(O.weight+2),O.weight+=2}return O}(e,a,r,n);g.A(d.vs,function(n,r){e.node(n).order=r}),t=d.vs,i={},g.A(t,function(n){for(var t,a,d=e.parent(n);d;){if((t=e.parent(d))?(a=i[t],i[t]=d):(a=o,o=d),a&&a!==d)return void r.setEdge(a,d);d=t}})})})(f%2?r:t,f%4>=2),o=ej(e);var p,v=function(e,n){for(var r=0,t=1;t<n.length;++t)r+=function(e,n,r){for(var t=ng(r||[],w.A(r,function(e,n){return n})||[],nl.A),o=y.A(w.A(n,function(n){return nx(w.A(e.outEdges(n),function(n){return{pos:t[n.w],weight:e.edge(n).weight}}),"pos")})),i=1;i<r.length;)i<<=1;var a=2*i-1;i-=1;var d=w.A(Array(a),function(){return 0}),u=0;return g.A(o.forEach(function(e){var n=e.pos+i;d[n]+=e.weight;for(var r=0;n>0;)n%2&&(r+=d[n+1]),n=n-1>>1,d[n]+=e.weight;u+=e.weight*r})),u}(e,n[t-1],n[t]);return r}(e,o);v<l&&(h=0,p=o,c=(0,nc.A)(p,5),l=v)}nk(e,c)})(e)),r(" insertSelfEdges",()=>{var n,r;return r=ej(n=e),void g.A(r,function(e){var r=0;g.A(e,function(e,t){var o=n.node(e);o.order=t+r,g.A(o.selfEdges,function(e){eN(n,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:t+ ++r,e:e.e,label:e.label},"_se")}),delete o.selfEdges})})}),r(" adjustCoordinateSystem",()=>{var n;("lr"===(n=e.graph().rankdir.toLowerCase())||"rl"===n)&&eT(e)}),r(" position",()=>{var n,r,t,o,i,a,d,u,s,c,l,f,h,p,v,y,A;v=ej(p=n=eC(n=e)),y=p.graph().ranksep,A=0,g.A(v,function(e){var n=ew(w.A(e,function(e){return p.node(e).height}));g.A(e,function(e){p.node(e).y=A+n/2}),A+=n+y}),o=ej(r=n),a=ed((i={},ns.A(o,function(e,n){var t=0,o=0,a=e.length,d=eA.A(n);return g.A(n,function(e,u){var s=function(e,n){if(e.node(n).dummy)return ez.A(e.predecessors(n),function(n){return e.node(n).dummy})}(r,e),c=s?r.node(s).order:a;(s||e===d)&&(g.A(n.slice(o,u+1),function(e){g.A(r.predecessors(e),function(n){var o=r.node(n),a=o.order;(a<t||c<a)&&!(o.dummy&&r.node(e).dummy)&&nO(i,n,e)})}),o=u+1,t=c)}),n}),i),function(e,n){var r={};function t(n,t,o,i,a){var d;g.A(L(t,o),function(t){d=n[t],e.node(d).dummy&&g.A(e.predecessors(d),function(n){var t=e.node(n);t.dummy&&(t.order<i||t.order>a)&&nO(r,n,d)})})}return ns.A(n,function(n,r){var o,i=-1,a=0;return g.A(r,function(d,u){if("border"===e.node(d).dummy){var s=e.predecessors(d);s.length&&(o=e.node(s[0]).order,t(r,a,u,i,o),a=u,i=o)}t(r,a,r.length,o,n.length)}),r}),r}(r,o)),d={},g.A(["u","d"],function(e){t="u"===e?o:nu.A(o).reverse(),g.A(["l","r"],function(n){"r"===n&&(t=w.A(t,function(e){return nu.A(e).reverse()}));var o,i,u,s,c=("u"===e?r.predecessors:r.successors).bind(r),l=(o=t,i={},u={},s={},g.A(o,function(e){g.A(e,function(e,n){i[e]=e,u[e]=e,s[e]=n})}),g.A(o,function(e){var n=-1;g.A(e,function(e){var r=c(e);if(r.length)for(var t=((r=nx(r,function(e){return s[e]})).length-1)/2,o=Math.floor(t),d=Math.ceil(t);o<=d;++o){var l=r[o];u[e]===e&&n<s[l]&&!function(e,n,r){if(n>r){var t=n;n=r,r=t}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],r)}(a,e,l)&&(u[l]=e,u[e]=i[e]=i[l],n=s[l])}})}),{root:i,align:u}),f=function(e,n,r,t,o){var i,a,d,u,s,c,l,f,h,p,v={},y=(i=e,a=n,d=r,u=o,f=new k.T,p=(s=(h=i.graph()).nodesep,c=h.edgesep,l=u,function(e,n,r){var t,o,i=e.node(n),a=e.node(r);if(t=0+i.width/2,Object.prototype.hasOwnProperty.call(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":o=-i.width/2;break;case"r":o=i.width/2}if(o&&(t+=l?o:-o),o=0,t+=(i.dummy?c:s)/2,t+=(a.dummy?c:s)/2,t+=a.width/2,Object.prototype.hasOwnProperty.call(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":o=a.width/2;break;case"r":o=-a.width/2}return o&&(t+=l?o:-o),o=0,t}),g.A(a,function(e){var n;g.A(e,function(e){var r=d[e];if(f.setNode(r),n){var t=d[n],o=f.edge(t,r);f.setEdge(t,r,Math.max(p(i,e,n),o||0))}n=e})}),f),w=o?"borderLeft":"borderRight";function A(e,n){for(var r=y.nodes(),t=r.pop(),o={};t;)o[t]?e(t):(o[t]=!0,r.push(t),r=r.concat(n(t))),t=r.pop()}return A(function(e){v[e]=y.inEdges(e).reduce(function(e,n){return Math.max(e,v[n.v]+y.edge(n))},0)},y.predecessors.bind(y)),A(function(n){var r=y.outEdges(n).reduce(function(e,n){return Math.min(e,v[n.w]-y.edge(n))},1/0),t=e.node(n);r!==1/0&&t.borderType!==w&&(v[n]=Math.max(v[n],r))},y.successors.bind(y)),g.A(t,function(e){v[e]=v[r[e]]}),v}(r,t,l.root,l.align,"r"===n);"r"===n&&(f=ex(f,function(e){return-e})),d[e+n]=f})}),u=eI(nu.A(d),function(e){var n,t=-1/0,o=1/0;return n=function(e,n){var i,a,d=(i=r,a=n,i.node(a).width/2);t=Math.max(e+d,t),o=Math.min(e-d,o)},null==e||(0,T.A)(e,(0,nR.A)(n),eo.A),t-o}),c=ek(s=nu.A(u)),l=ew(s),g.A(["u","d"],function(e){g.A(["l","r"],function(n){var r,t=e+n,o=d[t];if(o!==u){var i=nu.A(o);(r="l"===n?c-ek(i):l-ew(i))&&(d[t]=ex(o,function(e){return e+r}))}})}),f=r.graph().align,h=ex(d.ul,function(e,n){if(f)return d[f.toLowerCase()][n];var r=nx(w.A(d,n));return(r[1]+r[2])/2}),h&&(0,eb.A)(h,(0,nR.A)(function(e,r){n.node(r).x=e}))}),r(" positionSelfEdges",()=>{var n;return n=e,void g.A(n.nodes(),function(e){var r=n.node(e);if("selfedge"===r.dummy){var t=n.node(r.e.v),o=t.x+t.width/2,i=t.y,a=r.x-o,d=t.height/2;n.setEdge(r.e,r.label),n.removeNode(e),r.label.points=[{x:o+2*a/3,y:i-d},{x:o+5*a/6,y:i-d},{x:o+a,y:i},{x:o+5*a/6,y:i+d},{x:o+2*a/3,y:i+d}],r.label.x=r.x,r.label.y=r.y}})}),r(" removeBorderNodes",()=>{var n;return n=e,void(g.A(n.nodes(),function(e){if(n.children(e).length){var r=n.node(e),t=n.node(r.borderTop),o=n.node(r.borderBottom),i=n.node(eA.A(r.borderLeft)),a=n.node(eA.A(r.borderRight));r.width=Math.abs(a.x-i.x),r.height=Math.abs(o.y-t.y),r.x=i.x+r.width/2,r.y=t.y+r.height/2}}),g.A(n.nodes(),function(e){"border"===n.node(e).dummy&&n.removeNode(e)}))}),r(" normalize.undo",()=>{g.A(e.graph().dummyChains,function(n){var r,t=e.node(n),o=t.edgeLabel;for(e.setEdge(t.edgeObj,o);t.dummy;)r=e.successors(n)[0],e.removeNode(n),o.points.push({x:t.x,y:t.y}),"edge-label"===t.dummy&&(o.x=t.x,o.y=t.y,o.width=t.width,o.height=t.height),n=r,t=e.node(n)})}),r(" fixupEdgeLabelCoords",()=>{var n;return n=e,void g.A(n.edges(),function(e){var r=n.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}),r(" undoCoordinateSystem",()=>{var n,r,t;("bt"===(n=e.graph().rankdir.toLowerCase())||"rl"===n)&&(r=e,g.A(r.nodes(),function(e){eB(r.node(e))}),g.A(r.edges(),function(e){var n=r.edge(e);g.A(n.points,eB),Object.prototype.hasOwnProperty.call(n,"y")&&eB(n)})),("lr"===n||"rl"===n)&&(t=e,g.A(t.nodes(),function(e){eK(t.node(e))}),g.A(t.edges(),function(e){var n=t.edge(e);g.A(n.points,eK),Object.prototype.hasOwnProperty.call(n,"x")&&eK(n)}),eT(e))}),r(" translateGraph",()=>(function(e){var n=1/0,r=0,t=1/0,o=0,i=e.graph(),a=i.marginx||0,d=i.marginy||0;function u(e){var i=e.x,a=e.y,d=e.width,u=e.height;n=Math.min(n,i-d/2),r=Math.max(r,i+d/2),t=Math.min(t,a-u/2),o=Math.max(o,a+u/2)}g.A(e.nodes(),function(n){u(e.node(n))}),g.A(e.edges(),function(n){var r=e.edge(n);Object.prototype.hasOwnProperty.call(r,"x")&&u(r)}),n-=a,t-=d,g.A(e.nodes(),function(r){var o=e.node(r);o.x-=n,o.y-=t}),g.A(e.edges(),function(r){var o=e.edge(r);g.A(o.points,function(e){e.x-=n,e.y-=t}),Object.prototype.hasOwnProperty.call(o,"x")&&(o.x-=n),Object.prototype.hasOwnProperty.call(o,"y")&&(o.y-=t)}),i.width=r-n+a,i.height=o-t+d})(e)),r(" assignNodeIntersects",()=>{var n;return n=e,void g.A(n.edges(),function(e){var r,t,o=n.edge(e),i=n.node(e.v),a=n.node(e.w);o.points?(r=o.points[0],t=o.points[o.points.length-1]):(o.points=[],r=a,t=i),o.points.unshift(eP(i,r)),o.points.push(eP(a,t))})}),r(" reversePoints",()=>{var n;return n=e,void g.A(n.edges(),function(e){var r=n.edge(e);r.reversed&&r.points.reverse()})}),r(" acyclic.undo",()=>{g.A(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var t=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,t)}})}))}),e_(" updateInputGraph",()=>{var r,t;return r=e,t=n,void(g.A(r.nodes(),function(e){var n=r.node(e),o=t.node(e);n&&(n.x=o.x,n.y=o.y,t.children(e).length&&(n.width=o.width,n.height=o.height))}),g.A(r.edges(),function(e){var n=r.edge(e),o=t.edge(e);n.points=o.points,Object.prototype.hasOwnProperty.call(o,"x")&&(n.x=o.x,n.y=o.y)}),r.graph().width=t.graph().width,r.graph().height=t.graph().height)})})},"runDagreGraphLayout"),nV=(0,l.K)((e,n,r)=>{let t=e.node(n);if(!t)return;let o={...t};return t?.clusterNode?o.y=(t.y??0)+r:e.children(n).length>0?o.height=(t.height??0)+r:o.y=(t.y??0)+r/2,o},"normalizeDagreNode"),nH=(0,l.K)((e,n)=>{nG.forEach(r=>{void 0!==n[r]&&(e[r]=n[r])})},"applyDagreNodeLayout"),nQ=(0,l.K)((e,n,r,t)=>({...e,start:e.start??n,end:e.end??r,points:(e.points??[]).map(e=>({...e,y:"number"==typeof e.y?e.y+t:e.y}))}),"normalizeDagreEdge"),nW=(0,l.K)((e,n)=>{let{graph:r,mergeSelfLoops:t,subGraphTitleTotalMargin:i=0}=n,a=new Map(e.nodes.map(e=>[e.id,e]));(0,o.sc)(r).forEach(e=>{let n=nV(r,e,i);if(!n)return;nH(r.node(e),n);let t=a.get(e);t&&nH(t,n)});let d=i/2;return e.edges=nF(r,d,{mergeSelfLoops:t}).map(({edge:e,start:n,end:r})=>nQ(e,n,r,d)),e},"applyDagreLayoutResult"),nZ=(0,l.K)(async({elem:e,graph:n,groups:{clusters:r,edgePaths:t},diagramType:u,id:s,mergeSelfLoops:l,subGraphTitleTotalMargin:g})=>{let f=0;await Promise.all((0,o.sc)(n).map(async function(e){let t=n.node(e);if(c.R.info("Position XBX => "+e+": ("+t.x,","+t.y,") width: ",t.width," height: ",t.height),t?.clusterNode)t.y+=g,c.R.info("A tainted cluster node XBX1",e,t.id,t.width,t.height,t.x,t.y,n.parent(e)),o.ju.get(t.id).node=t,(0,d.U_)(t);else if(n.children(e).length>0){c.R.info("A pure cluster node XBX1",e,t.id,t.x,t.y,t.width,t.height,n.parent(e)),t.height+=g,n.node(t.parentId);let a=t?.padding/2||0,d=t?.labelBBox?.height||0;c.R.debug("OffsetY",d-a||0,"labelHeight",d,"halfPadding",a),await (0,i.U)(r,t),o.ju.get(t.id).node=t}else{let e=n.node(t.parentId);t.y+=g/2,c.R.info("A regular node XBX1 - using the padding",t.id,"parent",t.parentId,t.width,t.height,t.x,t.y,"offsetY",t.offsetY,"parent",e,e?.offsetY,t),(0,d.U_)(t)}}));let h=g/2;return nF(n,h,{mergeSelfLoops:l}).forEach(function({edge:e,start:r,end:i}){c.R.info("Edge "+r+" -> "+i+": "+JSON.stringify(e),e),e.points.forEach(e=>e.y+=h);let d=n.node(r),l=n.node(i),g=(0,a.Jo)(t,e,o.ju,u,d,l,s);(0,a.T_)(e,g)}),n.nodes().forEach(function(e){let r=n.node(e);c.R.info(e,r.type,r.diff),r.isGroup&&(f=r.diff)}),c.R.warn("Returning from recursive render XAX",e,f),{elem:e,diff:f}},"paintDagreLayoutCore"),n$=(0,l.K)(async e=>{let n=await nY(e);return nU(n.graph),await nZ(n)},"renderDagreSubgraph"),n0=(0,l.K)(e=>{let n=new k.T({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{n.setNode(e.id,{...e}),e.parentId&&n.setParent(e.id,e.parentId)}),c.R.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){let r=e.start,t=r+"---"+r+"---1",o=r+"---"+r+"---2",i=n.node(r);n.setNode(t,{domId:t,id:t,parentId:i.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(t,i.parentId),n.setNode(o,{domId:o,id:o,parentId:i.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(o,i.parentId);let a=structuredClone(e),d=structuredClone(e),u=structuredClone(e),s=structuredClone(e);d.originalEdge=a,d.selfLoop={id:a.id,order:0},u.originalEdge=a,u.selfLoop={id:a.id,order:1},s.originalEdge=a,s.selfLoop={id:a.id,order:2},d.label="",d.arrowTypeEnd="none",d.endLabelLeft="",d.endLabelRight="",d.startLabelLeft="",d.id=r+"-cyclic-special-1",u.startLabelRight="",u.startLabelLeft="",u.endLabelLeft="",u.endLabelRight="",u.arrowTypeStart="none",u.arrowTypeEnd="none",u.id=r+"-cyclic-special-mid",s.label="",s.startLabelRight="",s.startLabelLeft="",s.arrowTypeStart="none",i.isGroup&&(d.fromCluster=r,s.toCluster=r),s.id=r+"-cyclic-special-2",s.arrowTypeStart="none",n.setEdge(r,t,d,r+"-cyclic-special-0"),n.setEdge(t,o,u,r+"-cyclic-special-1"),n.setEdge(o,r,s,r+"-cyclic-special-2")}else n.setEdge(e.start,e.end,{...e},e.id)}),(0,o.OS)(n),{graph:n}},"prepareLayoutForDagre"),n1=(0,l.K)(async(e,{element:n,preparedLayout:r})=>{let t=r??n0(e),o=(0,s.D7)(),i=await nY({element:n,graph:t.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:o});return t.measuredLayout=i,i},"measureDagreLayout"),n2=(0,l.K)((e,n)=>{let r=n.preparedLayout?.measuredLayout;if(!r)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return nU(r.graph),nW(e,r),r},"runDagreLayoutCore"),n3=(0,l.K)((e,{measure:n})=>(0,o.sc)(n.graph).map(e=>n.graph.node(e)).filter(Boolean),"getDagrePaintNodes"),n8=(0,l.K)((e,n,{measure:r})=>e?r.graph.node(e):void 0,"getDagreEdgeNode"),n6=(0,o.xY)({prepareLayout:n0,measureLayout:n1,runLayoutCore:n2,paintOptions:{clusterDb:o.ju,getNodes:n3,getEdgeNode:n8,skipNode:(0,l.K)((e,{measure:n})=>!n.graph.hasNode(e.id),"skipNode"),isCluster:(0,l.K)((e,{measure:n})=>n.graph.hasNode(e.id)&&(n.graph.children(e.id)??[]).length>0,"isCluster")}})}}]); \ No newline at end of file diff --git a/en/assets/js/773100d1.f9c041bb.js b/en/assets/js/773100d1.f9c041bb.js new file mode 100644 index 0000000..3c17942 --- /dev/null +++ b/en/assets/js/773100d1.f9c041bb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4413"],{4282(e,n,r){r.r(n),r.d(n,{metadata:()=>s,default:()=>u,frontMatter:()=>l,contentTitle:()=>i,toc:()=>d,assets:()=>o});var s=JSON.parse('{"id":"quickstart/setup","title":"Quick Start","description":"Add the dependency, build and run SqlParserX locally","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/quickstart/setup.md","sourceDirName":"quickstart","slug":"/quickstart/setup","permalink":"/SqlParserX/en/docs/quickstart/setup","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/quickstart/setup.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"Quick Start","description":"Add the dependency, build and run SqlParserX locally","sidebar_label":"Setup & Build","sidebar_position":1},"sidebar":"docs","previous":{"title":"Architecture","permalink":"/SqlParserX/en/docs/about/architecture"},"next":{"title":"SQL Type Detection","permalink":"/SqlParserX/en/docs/core/sql-type"}}'),a=r(4848),t=r(8453);let l={title:"Quick Start",description:"Add the dependency, build and run SqlParserX locally",sidebar_label:"Setup & Build",sidebar_position:1},i="Quick Start",o={},d=[{value:"1. Requirements",id:"1-requirements",level:2},{value:"2. Add the Dependency",id:"2-add-the-dependency",level:2},{value:"3. Hello World: Parse a SQL",id:"3-hello-world-parse-a-sql",level:2},{value:"4. Next Steps",id:"4-next-steps",level:2}];function c(e){let n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"quick-start",children:"Quick Start"})}),"\n",(0,a.jsx)(n.h2,{id:"1-requirements",children:"1. Requirements"}),"\n",(0,a.jsxs)(n.table,{children:[(0,a.jsx)(n.thead,{children:(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.th,{children:"Dependency"}),(0,a.jsx)(n.th,{children:"Version"})]})}),(0,a.jsxs)(n.tbody,{children:[(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"JDK"}),(0,a.jsx)(n.td,{children:"Java 8+"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsx)(n.td,{children:"Maven"}),(0,a.jsx)(n.td,{children:"3.6+"})]}),(0,a.jsxs)(n.tr,{children:[(0,a.jsxs)(n.td,{children:["Node.js (only ",(0,a.jsx)(n.code,{children:"sqlparserx-ui"}),")"]}),(0,a.jsx)(n.td,{children:">= 20"})]})]})]}),"\n",(0,a.jsx)(n.h2,{id:"2-add-the-dependency",children:"2. Add the Dependency"}),"\n",(0,a.jsxs)(n.p,{children:["Add the ",(0,a.jsx)(n.strong,{children:"business parsing layer"})," ",(0,a.jsx)(n.code,{children:"sqlparserx-core"})," to your ",(0,a.jsx)(n.code,{children:"pom.xml"}),":"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,a.jsxs)(n.p,{children:[":::tip Dependency note\n",(0,a.jsx)(n.code,{children:"sqlparserx-core"})," transitively brings in ",(0,a.jsx)(n.code,{children:"sqlparserx-syntax"})," (syntax layer) and official Druid, so business parsing only needs the single ",(0,a.jsx)(n.code,{children:"core"})," coordinate. If you only need SQL\u2192AST syntax parsing, you can depend on ",(0,a.jsx)(n.code,{children:"sqlparserx-syntax"})," alone.\n:::"]}),"\n",(0,a.jsxs)(n.p,{children:[":::note Use from source\nIf ",(0,a.jsx)(n.code,{children:"1.0-SNAPSHOT"})," is not published to a remote repository yet, build and install it locally first:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/DTStack/SqlParserX.git\ncd SqlParserX\nmvn clean install -DskipTests\n"})}),"\n",(0,a.jsx)(n.p,{children:":::"}),"\n",(0,a.jsx)(n.h2,{id:"3-hello-world-parse-a-sql",children:"3. Hello World: Parse a SQL"}),"\n",(0,a.jsxs)(n.p,{children:["A ",(0,a.jsx)(n.strong,{children:"complete runnable"})," class covering table parsing, column lineage, table lineage and functions, consistent with the official ",(0,a.jsx)(n.code,{children:"sqlparserx-core/README.md"})," demo:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-java",metastring:'title="SqlParserXDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.*;\n\npublic class SqlParserXDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1. Get a parser by datasource type (mysql/hive/doris/... 15+ dialects)\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2. Parse real tables\n ParseTableResult tableResult = parser.parseTables(sql);\n System.out.println("main table: " + tableResult.getMainTable().getName());\n System.out.println("all tables: " + tableResult.getAllTableName());\n\n // 3. Parse column lineage (pass metadata for select * cases)\n Map<String, List<Column>> tableColumnsMap = new HashMap<>();\n tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1)));\n tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1)));\n ColumnLineageResult columnLineageResult =\n parser.parseColumnLineages(sql, tableColumnsMap);\n columnLineageResult.printColumnLineage();\n\n // 4. Parse table lineage\n TableLineageResult tableLineageResult = parser.parseTableLineages(sql);\n List<TableLineage> tableLineages = tableLineageResult.getTableLineages();\n System.out.println("table lineage: " + tableLineages);\n\n // 5. Parse functions\n Set<String> functions = parser.parseFunction(sql);\n System.out.println("functions: " + functions);\n }\n}\n'})}),"\n",(0,a.jsx)(n.p,{children:"Console output (example):"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-text",children:"main table: users\nall tables: [user_order_summary, users, orders]\nusers.id -> user_order_summary.user_id\nusers.name -> user_order_summary.name\norders.amount -> user_order_summary.total_amount\norders.id -> user_order_summary.order_count\ntable lineage: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...]\nfunctions: [sum, count]\n"})}),"\n",(0,a.jsx)(n.h2,{id:"4-next-steps",children:"4. Next Steps"}),"\n",(0,a.jsx)(n.p,{children:"Dependency + complete example for each capability:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"/SqlParserX/en/docs/core/field-lineage",children:"Field lineage"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"/SqlParserX/en/docs/core/table-lineage",children:"Table lineage"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"/SqlParserX/en/docs/core/table-parse",children:"Table parsing"})}),"\n",(0,a.jsx)(n.li,{children:(0,a.jsx)(n.a,{href:"/SqlParserX/en/docs/core/function-parse",children:"Function parsing"})}),"\n"]})]})}function u(e={}){let{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},8453(e,n,r){r.d(n,{R:()=>l,x:()=>i});var s=r(6540);let a={},t=s.createContext(a);function l(e){let n=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/7874.d706704a.js b/en/assets/js/7874.d706704a.js new file mode 100644 index 0000000..b12878c --- /dev/null +++ b/en/assets/js/7874.d706704a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7874"],{5289(s,a,e){e.d(a,{diagram:()=>r.AC});var r=e(8312);e(4918),e(6755),e(5869),e(841),e(2391),e(3247),e(2735),e(5616),e(6163),e(7827),e(3002),e(739),e(6320),e(2217),e(2941),e(6348),e(1177),e(1293),e(6827)}}]); \ No newline at end of file diff --git a/en/assets/js/7ba64a19.89e1fa40.js b/en/assets/js/7ba64a19.89e1fa40.js new file mode 100644 index 0000000..b9c388b --- /dev/null +++ b/en/assets/js/7ba64a19.89e1fa40.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["947"],{6296(e,n,r){r.r(n),r.d(n,{metadata:()=>t,default:()=>u,frontMatter:()=>a,contentTitle:()=>i,toc:()=>o,assets:()=>d});var t=JSON.parse('{"id":"core/field-lineage","title":"Field Lineage","description":"Derive source.table.source_column \u2192 target.table.target_column lineage from SQL","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/field-lineage.md","sourceDirName":"core","slug":"/core/field-lineage","permalink":"/SqlParserX/en/docs/core/field-lineage","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/field-lineage.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"Field Lineage","description":"Derive source.table.source_column \u2192 target.table.target_column lineage from SQL","sidebar_label":"Field Lineage","sidebar_position":1},"sidebar":"docs","previous":{"title":"SQL Type Detection","permalink":"/SqlParserX/en/docs/core/sql-type"},"next":{"title":"Table Lineage","permalink":"/SqlParserX/en/docs/core/table-lineage"}}'),s=r(4848),l=r(8453);let a={title:"Field Lineage",description:"Derive source.table.source_column \u2192 target.table.target_column lineage from SQL",sidebar_label:"Field Lineage",sidebar_position:1},i="Field Lineage",d={},o=[{value:"1. Add the Dependency",id:"1-add-the-dependency",level:2},{value:"2. Complete Example",id:"2-complete-example",level:2},{value:"3. Goal",id:"3-goal",level:2},{value:"4. Entry & Implementation",id:"4-entry--implementation",level:2},{value:"5. Supported Scenarios",id:"5-supported-scenarios",level:2}];function c(e){let n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"field-lineage",children:"Field Lineage"})}),"\n",(0,s.jsx)(n.h2,{id:"1-add-the-dependency",children:"1. Add the Dependency"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"sqlparserx-core"})," transitively brings in ",(0,s.jsx)(n.code,{children:"sqlparserx-syntax"})," and Druid."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"2-complete-example",children:"2. Complete Example"}),"\n",(0,s.jsxs)(n.p,{children:["A ",(0,s.jsx)(n.strong,{children:"complete runnable"})," class from parser creation to printing column lineage, using the official ",(0,s.jsx)(n.code,{children:"sqlparserx-core/README.md"})," sample SQL:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",metastring:'title="FieldLineageDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.Arrays;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\npublic class FieldLineageDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1. Metadata: table -> columns (used for select * / column expansion)\n Map<String, List<Column>> tableColumnsMap = new HashMap<>();\n tableColumnsMap.put("users", Arrays.asList(\n new Column("id", 0), new Column("name", 1)));\n tableColumnsMap.put("orders", Arrays.asList(\n new Column("amount", 0), new Column("id", 1)));\n\n // 2. Get a parser\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 3. Parse column lineage\n ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap);\n\n // 4. Print result: target table + target column -> source column\n System.out.println("target table: " + result.getTargetTable());\n result.printColumnLineage();\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"Console output (example):"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"target table: user_order_summary\nusers.id -> user_order_summary.user_id\nusers.name -> user_order_summary.name\norders.amount -> user_order_summary.total_amount\norders.id -> user_order_summary.order_count\n"})}),"\n",(0,s.jsx)(n.h2,{id:"3-goal",children:"3. Goal"}),"\n",(0,s.jsxs)(n.p,{children:["Derive ",(0,s.jsx)(n.strong,{children:"source table.column \u2192 target table.column"})," column-level lineage from SQL."]}),"\n",(0,s.jsxs)(n.p,{children:["The core idea: normalize the source select field list and target field list into sets of ",(0,s.jsx)(n.code,{children:"(real column, alias, real table)"})," triples, then generate lineage by fixed matching rules. Field lineage takes insert/create-table SQL as input; pure query SQL produces no lineage."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"SQLInsertStatement / SQLCreateTableStatement(AS SELECT)\n \u2192 ColumnLineageClient.parseColumnLineages\n \u2192 target column list + source select column list\n \u2192 addColumnRelations match one by one\n \u2192 ColumnLineageResult\n"})}),"\n",(0,s.jsx)(n.h2,{id:"4-entry--implementation",children:"4. Entry & Implementation"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Item"}),(0,s.jsx)(n.th,{children:"Content"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Core entry"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"ISqlParser.parseColumnLineages(sql, tableColumnsMap)"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Default impl"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"BaseSqlParser.parseColumnLineages"})," \u2192 ",(0,s.jsx)(n.code,{children:"ColumnLineageClient"})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Return type"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"ColumnLineageResult"})," (",(0,s.jsx)(n.code,{children:"getColumnRelations()"})," + ",(0,s.jsx)(n.code,{children:"getColumnLineages()"}),")"]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Applicable"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"SQLInsertStatement"}),", ",(0,s.jsx)(n.code,{children:"SQLCreateTableStatement"})," (AS SELECT)"]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Metadata input"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Map<String, List<Column>> tableColumnsMap"})})]})]})]}),"\n",(0,s.jsx)(n.h2,{id:"5-supported-scenarios",children:"5. Supported Scenarios"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Capability"}),(0,s.jsx)(n.th,{children:"Status"}),(0,s.jsx)(n.th,{children:"Notes"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"catalog.db.table.column"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsx)(n.td,{children:"Multi-catalog scenarios such as Hive/Trino/StarRocks"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"db.table.column"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsx)(n.td,{children:"Standard MySQL/PostgreSQL usage"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:["Column expressions (",(0,s.jsx)(n.code,{children:"SQLBinaryOpExpr"}),")"]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsxs)(n.td,{children:["e.g. ",(0,s.jsx)(n.code,{children:"t5.level + 1"}),", recursively collect columns"]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"*"})," / ",(0,s.jsx)(n.code,{children:"xx.*"})," expansion"]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsxs)(n.td,{children:["Read from metadata ",(0,s.jsx)(n.code,{children:"tableColumnsMap"}),"; keep ",(0,s.jsx)(n.code,{children:"*"})," without metadata"]})]})]})]})]})}function u(e={}){let{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453(e,n,r){r.d(n,{R:()=>a,x:()=>i});var t=r(6540);let s={},l=t.createContext(s);function a(e){let n=t.useContext(l);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/814f3328.a11b30f2.js b/en/assets/js/814f3328.a11b30f2.js new file mode 100644 index 0000000..15d0c37 --- /dev/null +++ b/en/assets/js/814f3328.a11b30f2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1833"],{5513(e){e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","permalink":"/SqlParserX/en/blog/origin-of-sqlparserx","unlisted":false,"date":"2026-09-28T00:00:00.000Z"}]}')}}]); \ No newline at end of file diff --git a/en/assets/js/8272.20c4caca.js b/en/assets/js/8272.20c4caca.js new file mode 100644 index 0000000..69b12f4 --- /dev/null +++ b/en/assets/js/8272.20c4caca.js @@ -0,0 +1,90 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8272"],{5869(e,t,n){n.d(t,{P:()=>r});var i=n(1177),s=n(1293),o=n(6827),r=(0,o.K)((e,t,n,o)=>{e.attr("class",n);let{width:r,height:l,x:h,y:d}=a(e,t);(0,i.a$)(e,l,r,o);let g=c(h,d,r,l,t);e.attr("viewBox",g),s.R.debug(`viewBox configured: ${g} with padding: ${t}`)},"setupViewPortForSVG"),a=(0,o.K)((e,t)=>{let n=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:n.width+2*t,height:n.height+2*t,x:n.x,y:n.y}},"calculateDimensionsWithPadding"),c=(0,o.K)((e,t,n,i,s)=>`${e-s} ${t-s} ${n} ${i}`,"createViewBox")},6755(e,t,n){n.d(t,{A:()=>o});var i=n(6827),s=n(7829),o=(0,i.K)((e,t)=>{let n;return"sandbox"===t&&(n=(0,s.Ltv)("#i"+e)),("sandbox"===t?(0,s.Ltv)(n.nodes()[0].contentDocument.body):(0,s.Ltv)("body")).select(`[id="${e}"]`)},"getDiagramElement")},1123(e,t,n){n.d(t,{diagram:()=>E});var i=n(6755),s=n(5869),o=n(2391);n(3247),n(5616),n(6163),n(7827),n(3002),n(739),n(6320),n(2217),n(2941),n(6348);var r=n(1177),a=n(1293),c=n(6827);let l=new Uint8Array(16),h=[];for(let e=0;e<256;++e)h.push((e+256).toString(16).slice(1));var d=n(4682),g=n(8041),u=n(5263),p=function(){var e=(0,c.K)(function(e,t,n,i){for(n=n||{},i=e.length;i--;n[e[i]]=t);return n},"o"),t=[1,4],n=[1,13],i=[1,12],s=[1,15],o=[1,16],r=[1,20],a=[1,19],l=[6,7,8],h=[1,26],d=[1,24],g=[1,25],u=[6,7,11],p=[1,6,13,15,16,19,22],y=[1,33],m=[1,34],f=[1,6,7,11,13,15,16,19,22],b={trace:(0,c.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:(0,c.K)(function(e,t,n,i,s,o,r){var a=o.length-1;switch(s){case 6:case 7:return i;case 8:i.getLogger().trace("Stop NL ");break;case 9:i.getLogger().trace("Stop EOF ");break;case 11:i.getLogger().trace("Stop NL2 ");break;case 12:i.getLogger().trace("Stop EOF2 ");break;case 15:i.getLogger().info("Node: ",o[a].id),i.addNode(o[a-1].length,o[a].id,o[a].descr,o[a].type);break;case 16:i.getLogger().trace("Icon: ",o[a]),i.decorateNode({icon:o[a]});break;case 17:case 21:i.decorateNode({class:o[a]});break;case 18:i.getLogger().trace("SPACELIST");break;case 19:i.getLogger().trace("Node: ",o[a].id),i.addNode(0,o[a].id,o[a].descr,o[a].type);break;case 20:i.decorateNode({icon:o[a]});break;case 25:i.getLogger().trace("node found ..",o[a-2]),this.$={id:o[a-1],descr:o[a-1],type:i.getType(o[a-2],o[a])};break;case 26:this.$={id:o[a],descr:o[a],type:i.nodeType.DEFAULT};break;case 27:i.getLogger().trace("node found ..",o[a-3]),this.$={id:o[a-3],descr:o[a-1],type:i.getType(o[a-2],o[a])}}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:t},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:t},{6:n,7:[1,10],9:9,12:11,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:a},e(l,[2,3]),{1:[2,2]},e(l,[2,4]),e(l,[2,5]),{1:[2,6],6:n,12:21,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:a},{6:n,9:22,12:11,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:a},{6:h,7:d,10:23,11:g},e(u,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:r,22:a}),e(u,[2,18]),e(u,[2,19]),e(u,[2,20]),e(u,[2,21]),e(u,[2,23]),e(u,[2,24]),e(u,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:d,10:32,11:g},{1:[2,7],6:n,12:21,13:i,14:14,15:s,16:o,17:17,18:18,19:r,22:a},e(p,[2,14],{7:y,11:m}),e(f,[2,8]),e(f,[2,9]),e(f,[2,10]),e(u,[2,15]),e(u,[2,16]),e(u,[2,17]),{20:[1,35]},{21:[1,36]},e(p,[2,13],{7:y,11:m}),e(f,[2,11]),e(f,[2,12]),{21:[1,37]},e(u,[2,25]),e(u,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,c.K)(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},"parseError"),parse:(0,c.K)(function(e){var t=this,n=[0],i=[],s=[null],o=[],r=this.table,a="",l=0,h=0,d=0,g=o.slice.call(arguments,1),u=Object.create(this.lexer),p={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p[y]=this.yy[y]);u.setInput(e,p),p.lexer=u,p.parser=this,void 0===u.yylloc&&(u.yylloc={});var m=u.yylloc;o.push(m);var f=u.options&&u.options.ranges;function b(){var e;return"number"!=typeof(e=i.pop()||u.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,c.K)(function(e){n.length=n.length-2*e,s.length=s.length-e,o.length=o.length-e},"popStack"),(0,c.K)(b,"lex");for(var _,E,k,S,x,L,N,D,$,v={};;){if(k=n[n.length-1],this.defaultActions[k]?S=this.defaultActions[k]:(null==_&&(_=b()),S=r[k]&&r[k][_]),void 0===S||!S.length||!S[0]){var I="";for(L in $=[],r[k])this.terminals_[L]&&L>2&&$.push("'"+this.terminals_[L]+"'");I=u.showPosition?"Parse error on line "+(l+1)+":\n"+u.showPosition()+"\nExpecting "+$.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(I,{text:u.match,token:this.terminals_[_]||_,line:u.yylineno,loc:m,expected:$})}if(S[0]instanceof Array&&S.length>1)throw Error("Parse Error: multiple actions possible at state: "+k+", token: "+_);switch(S[0]){case 1:n.push(_),s.push(u.yytext),o.push(u.yylloc),n.push(S[1]),_=null,E?(_=E,E=null):(h=u.yyleng,a=u.yytext,l=u.yylineno,m=u.yylloc,d>0&&d--);break;case 2:if(N=this.productions_[S[1]][1],v.$=s[s.length-N],v._$={first_line:o[o.length-(N||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(N||1)].first_column,last_column:o[o.length-1].last_column},f&&(v._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),void 0!==(x=this.performAction.apply(v,[a,h,l,p,S[1],s,o].concat(g))))return x;N&&(n=n.slice(0,-1*N*2),s=s.slice(0,-1*N),o=o.slice(0,-1*N)),n.push(this.productions_[S[1]][0]),s.push(v.$),o.push(v._$),D=r[n[n.length-2]][n[n.length-1]],n.push(D);break;case 3:return!0}}return!0},"parse")};function _(){this.yy={}}return b.lexer={EOF:1,parseError:(0,c.K)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,c.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,c.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,c.K)(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,c.K)(function(){return this._more=!0,this},"more"),reject:(0,c.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,c.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,c.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,c.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,c.K)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,c.K)(function(e,t){var n,i,s;if(this.options.backtrack_lexer&&(s={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&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack)for(var o in s)this[o]=s[o];return!1},"test_match"),next:(0,c.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var e,t,n,i,s=this._currentRules(),o=0;o<s.length;o++)if((n=this._input.match(this.rules[s[o]]))&&(!t||n[0].length>t[0].length)){if(t=n,i=o,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,s[o])))return e;if(!this._backtrack)return!1;t=!1;continue}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,s[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,c.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,c.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,c.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,c.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,c.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,c.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,c.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,c.K)(function(e,t,n,i){switch(n){case 0:return e.getLogger().trace("Found comment",t.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:e.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return e.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:e.getLogger().trace("end icon"),this.popState();break;case 10:return e.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return e.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return e.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return e.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16: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 24:e.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return e.getLogger().trace("description:",t.yytext),"NODE_DESCR";case 27:return this.popState(),e.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),e.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),e.getLogger().trace("node end ...",t.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),e.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),e.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return e.getLogger().trace("Long description:",t.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}},(0,c.K)(_,"Parser"),_.prototype=b,b.Parser=_,new _}();p.parser=p;var y={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},m=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=y,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{(0,c.K)(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let t=this.nodes.length-1;t>=0;t--)if(this.nodes[t].level<e)return this.nodes[t];return null}getMindmap(){return this.nodes.length>0?this.nodes[0]:null}addNode(e,t,n,i){a.R.info("addNode",e,t,n,i);let s=!1;0===this.nodes.length?(this.baseLevel=e,e=0,s=!0):void 0!==this.baseLevel&&(e-=this.baseLevel,s=!1);let o=(0,r.D7)(),c=o.mindmap?.padding??r.UI.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:c*=2}let l={id:this.count++,nodeId:(0,r.jZ)(t,o),level:e,descr:(0,r.jZ)(n,o),type:i,children:[],width:o.mindmap?.maxNodeWidth??r.UI.mindmap.maxNodeWidth,padding:c,isRoot:s},h=this.getParent(e);if(h)h.children.push(l),this.nodes.push(l);else if(s)this.nodes.push(l);else throw Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,t){switch(a.R.debug("In get type",e,t),e){case"[":return this.nodeType.RECT;case"(":return")"===t?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,t){this.elements[e]=t}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;let t=(0,r.D7)(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=(0,r.jZ)(e.icon,t)),e.class&&(n.class=(0,r.jZ)(e.class,t))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,t){if(0===e.level?e.section=void 0:e.section=t,e.children)for(let[n,i]of e.children.entries()){let s=0===e.level?n%11:t;this.assignSections(i,s)}}flattenNodes(e,t){let n=(0,r.D7)(),i=["mindmap-node"];!0===e.isRoot?i.push("section-root","section--1"):void 0!==e.section&&i.push(`section-${e.section}`),e.class&&i.push(e.class);let s=i.join(" "),o=(0,c.K)(e=>{let t=(n.theme?.toLowerCase()??"").includes("redux");switch(e){case y.CIRCLE:return"mindmapCircle";case y.RECT:return"rect";case y.ROUNDED_RECT:return"rounded";case y.CLOUD:return"cloud";case y.BANG:return"bang";case y.HEXAGON:return"hexagon";case y.DEFAULT:return t?"rounded":"defaultMindmapNode";case y.NO_BORDER:default:return"rect"}},"getShapeFromType"),a={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:o(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:s,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(t.push(a),e.children)for(let n of e.children)this.flattenNodes(n,t)}generateEdges(e,t){if(!e.children)return;let n=(0,r.D7)();for(let i of e.children){let s="edge";void 0!==i.section&&(s+=` section-edge-${i.section}`);let o=e.level+1;s+=` edge-depth-${o}`;let r={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:s,depth:e.level,section:i.section};t.push(r),this.generateEdges(i,t)}}getData(){let e=this.getMindmap(),t=(0,r.D7)();if(void 0!==(0,r.TM)().layout||(t.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:t};a.R.debug("getData: mindmapRoot",e,t),this.assignSections(e);let n=[],i=[];this.flattenNodes(e,n),this.generateEdges(e,i),a.R.debug(`getData: processed ${n.length} nodes and ${i.length} edges`);let s=new Map;for(let e of n)s.set(e.id,{shape:e.shape,width:e.width,height:e.height,padding:e.padding});return{nodes:n,edges:i,config:t,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(s),type:"mindmap",diagramId:"mindmap-"+(crypto.randomUUID?crypto.randomUUID():function(e,t,n){let i=(e=e||{}).random??e.rng?.()??crypto.getRandomValues(l);if(i.length<16)throw Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){if((n=n||0)<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=i[e];return t}return function(e,t=0){return(h[e[t+0]]+h[e[t+1]]+h[e[t+2]]+h[e[t+3]]+"-"+h[e[t+4]]+h[e[t+5]]+"-"+h[e[t+6]]+h[e[t+7]]+"-"+h[e[t+8]]+h[e[t+9]]+"-"+h[e[t+10]]+h[e[t+11]]+h[e[t+12]]+h[e[t+13]]+h[e[t+14]]+h[e[t+15]]).toLowerCase()}(i)}(void 0,void 0,void 0))}}getLogger(){return a.R}},f=(0,c.K)(async(e,t,n,c)=>{a.R.debug("Rendering mindmap diagram\n"+e);let l=c.db,h=l.getData(),d=(0,i.A)(t,h.config.securityLevel);if(h.type=c.type,h.layoutAlgorithm=(0,o.q7)(h.config.layout,{fallback:"cose-bilkent"}),h.diagramId=t,!l.getMindmap())return;h.nodes.forEach(e=>{"rounded"===e.shape?(e.radius=15,e.taper=15,e.stroke="none",e.width=0,e.padding=15):"circle"===e.shape?e.padding=10:"rect"===e.shape?(e.width=0,e.padding=10):"hexagon"===e.shape&&(e.width=0,e.height=0)}),await (0,o.XX)(h,d);let{themeVariables:g}=(0,r.zj)(),{useGradient:u,gradientStart:p,gradientStop:y}=g;if(u&&p&&y){let e=d.attr("id"),t=d.append("defs").append("linearGradient").attr("id",`${e}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");t.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),t.append("stop").attr("offset","100%").attr("stop-color",y).attr("stop-opacity",1)}(0,s.P)(d,h.config.mindmap?.padding??r.UI.mindmap.padding,"mindmapDiagram",h.config.mindmap?.useMaxWidth??r.UI.mindmap.useMaxWidth)},"draw"),b=(0,c.K)(e=>{let{theme:t,look:n}=e,i="";for(let t=0;t<e.THEME_COLOR_LIMIT;t++)e["lineColor"+t]=e["lineColor"+t]||e["cScaleInv"+t],(0,d.A)(e["lineColor"+t])?e["lineColor"+t]=(0,g.A)(e["lineColor"+t],20):e["lineColor"+t]=(0,u.A)(e["lineColor"+t],20);for(let s=0;s<e.THEME_COLOR_LIMIT;s++){let o=""+("neo"===n?Math.max(10-(s-1)*2,2):17-3*s);i+=` + .section-${s-1} rect, .section-${s-1} path, .section-${s-1} circle, .section-${s-1} polygon, .section-${s-1} path { + fill: ${e["cScale"+s]}; + } + .section-${s-1} text { + fill: ${e["cScaleLabel"+s]}; + } + .section-${s-1} span { + color: ${e["cScaleLabel"+s]}; + } + .node-icon-${s-1} { + font-size: 40px; + color: ${e["cScaleLabel"+s]}; + } + .section-edge-${s-1}{ + stroke: ${e["cScale"+s]}; + } + .edge-depth-${s-1}{ + stroke-width: ${o}; + } + .section-${s-1} line { + stroke: ${e["cScaleInv"+s]} ; + stroke-width: 3; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + [data-look="neo"].mindmap-node.section-${s-1} rect, [data-look="neo"].mindmap-node.section-${s-1} path, [data-look="neo"].mindmap-node.section-${s-1} circle, [data-look="neo"].mindmap-node.section-${s-1} polygon { + fill: ${"redux"===t||"redux-dark"===t||"neutral"===t?e.mainBkg:e["cScale"+s]}; + stroke: ${"redux"===t||"redux-dark"===t?e.nodeBorder:e["cScale"+s]}; + stroke-width: ${e.strokeWidth??2}px; + } + [data-look="neo"].section-edge-${s-1}{ + stroke: ${t?.includes("redux")||"neo-dark"===t?e.nodeBorder:e["cScale"+s]}; + } + [data-look="neo"].mindmap-node.section-${s-1} text { + fill: ${"redux"===t||"redux-dark"===t?e.nodeBorder:e["cScaleLabel"+("neutral"===t?1:s)]}; + } + `}return i},"genSections"),_=(0,c.K)((e,t,n)=>{let i="";for(let s=0;s<e;s++)i+=` + [data-look="neo"].mindmap-node.section-${s-1} rect, [data-look="neo"].mindmap-node.section-${s-1} path, [data-look="neo"].mindmap-node.section-${s-1} circle, [data-look="neo"].mindmap-node.section-${s-1} polygon { + stroke: url(${t}-gradient); + fill: ${n}; + } + .section-${s-1} line { + stroke-width: 0; + }`;return i},"genGradient"),E={get db(){return new m},renderer:{draw:f},parser:p,styles:(0,c.K)(e=>{let{theme:t}=e,n=e.svgId,i=e.dropShadow?e.dropShadow.replace("url(#drop-shadow)",`url(${n}-drop-shadow)`):"none";return` + .edge { + stroke-width: 3; + } + ${b(e)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${e.git0}; + } + .section-root text { + fill: ${e.gitBranchLabel0}; + } + .section-root span { + color: ${t?.includes("redux")?e.nodeBorder:e.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; + } + [data-look="neo"].mindmap-node { + filter: ${i}; + } + [data-look="neo"].mindmap-node.section-root rect, [data-look="neo"].mindmap-node.section-root path, [data-look="neo"].mindmap-node.section-root circle, [data-look="neo"].mindmap-node.section-root polygon { + fill: ${t?.includes("redux")?e.mainBkg:e.git0}; + } + [data-look="neo"].mindmap-node.section-root .text-inner-tspan { + fill: ${t?.includes("redux")?e.nodeBorder:e["cScaleLabel"+ +("neutral"===t)]}; + } + ${e.useGradient&&n&&e.mainBkg?_(e.THEME_COLOR_LIMIT,n,e.mainBkg):""} +`},"getStyles")}}}]); \ No newline at end of file diff --git a/en/assets/js/8645.4532c47b.js b/en/assets/js/8645.4532c47b.js new file mode 100644 index 0000000..e2d0764 --- /dev/null +++ b/en/assets/js/8645.4532c47b.js @@ -0,0 +1 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8645"],{7799(t,e,i){t.exports=function(t){var e=[function(e,i){e.exports=t},function(t,e,i){"use strict";var r=i(0).FDLayoutConstants;function n(){}for(var o in r)n[o]=r[o];n.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,n.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,n.DEFAULT_COMPONENT_SEPERATION=60,n.TILE=!0,n.TILING_PADDING_VERTICAL=10,n.TILING_PADDING_HORIZONTAL=10,n.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=n},function(t,e,i){"use strict";var r=i(0).FDLayoutEdge;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},function(t,e,i){"use strict";var r=i(0).LGraph;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},function(t,e,i){"use strict";var r=i(0).LGraphManager;function n(t){r.call(this,t)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},function(t,e,i){"use strict";var r=i(0).FDLayoutNode,n=i(0).IMath;function o(t,e,i,n){r.call(this,t,e,i,n)}for(var s in o.prototype=Object.create(r.prototype),r)o[s]=r[s];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.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},o.prototype.propogateDisplacementToChildren=function(t,e){for(var i,r=this.getChild().getNodes(),n=0;n<r.length;n++)null==(i=r[n]).getChild()?(i.moveBy(t,e),i.displacementX+=t,i.displacementY+=e):i.propogateDisplacementToChildren(t,e)},o.prototype.setPred1=function(t){this.pred1=t},o.prototype.getPred1=function(){return pred1},o.prototype.getPred2=function(){return pred2},o.prototype.setNext=function(t){this.next=t},o.prototype.getNext=function(){return next},o.prototype.setProcessed=function(t){this.processed=t},o.prototype.isProcessed=function(){return processed},t.exports=o},function(t,e,i){"use strict";var r=i(0).FDLayout,n=i(4),o=i(3),s=i(5),a=i(2),h=i(1),l=i(0).FDLayoutConstants,g=i(0).LayoutConstants,u=i(0).Point,c=i(0).PointD,d=i(0).Layout,p=i(0).Integer,f=i(0).IGeometry,y=i(0).LGraph,E=i(0).Transform;function v(){r.call(this),this.toBeTiled={}}for(var A in v.prototype=Object.create(r.prototype),r)v[A]=r[A];v.prototype.newGraphManager=function(){var t=new n(this);return this.graphManager=t,t},v.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},v.prototype.newNode=function(t){return new s(this.graphManager,t)},v.prototype.newEdge=function(t){return new a(null,null,t)},v.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(h.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=h.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=l.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=l.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=l.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},v.prototype.layout=function(){return g.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},v.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(h.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e)}}else{var i=this.getFlatForest();if(i.length>0)this.positionNodesRadially(i);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},v.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(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 t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=l.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=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var i=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(i,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},v.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},i=0;i<t.length;i++){var r=t[i].rect,n=t[i].id;e[n]={id:n,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return e},v.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===l.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},v.prototype.calculateNodesToApplyGravitationTo=function(){var t,e,i=[],r=this.graphManager.getGraphs(),n=r.length;for(e=0;e<n;e++)(t=r[e]).updateConnected(),t.isConnected||(i=i.concat(t.getNodes()));return i},v.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e=new Set;for(o=0;o<t.length;o++){var i=t[o];if(!e.has(i)){var r=i.getSource(),n=i.getTarget();if(r==n)i.getBendpoints().push(new c),i.getBendpoints().push(new c),this.createDummyNodesForBendpoints(i),e.add(i);else{var o,s,a=[];if(a=(a=a.concat(r.getEdgeListToNode(n))).concat(n.getEdgeListToNode(r)),!e.has(a[0])){if(a.length>1)for(s=0;s<a.length;s++){var h=a[s];h.getBendpoints().push(new c),this.createDummyNodesForBendpoints(h)}a.forEach(function(t){e.add(t)})}}}if(e.size==t.length)break}},v.prototype.positionNodesRadially=function(t){for(var e=new u(0,0),i=Math.ceil(Math.sqrt(t.length)),r=0,n=0,o=0,s=new c(0,0),a=0;a<t.length;a++){a%i==0&&(o=0,n=r,0!=a&&(n+=h.DEFAULT_COMPONENT_SEPERATION),r=0);var l=t[a],p=d.findCenterOfTree(l);e.x=o,e.y=n,(s=v.radialLayout(l,p,e)).y>r&&(r=Math.floor(s.y)),o=Math.floor(s.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new c(g.WORLD_CENTER_X-s.x/2,g.WORLD_CENTER_Y-s.y/2))},v.radialLayout=function(t,e,i){var r=Math.max(this.maxDiagonalInTree(t),h.DEFAULT_RADIAL_SEPARATION);v.branchRadialLayout(e,null,0,359,0,r);var n=y.calculateBounds(t),o=new E;o.setDeviceOrgX(n.getMinX()),o.setDeviceOrgY(n.getMinY()),o.setWorldOrgX(i.x),o.setWorldOrgY(i.y);for(var s=0;s<t.length;s++)t[s].transform(o);var a=new c(n.getMaxX(),n.getMaxY());return o.inverseTransformPoint(a)},v.branchRadialLayout=function(t,e,i,r,n,o){var s,a=(r-i+1)/2;a<0&&(a+=180);var h=(a+i)%360*f.TWO_PI/360,l=n*Math.cos(h),g=n*Math.sin(h);t.setCenter(l,g);var u=[],c=(u=u.concat(t.getEdges())).length;null!=e&&c--;for(var d=0,p=u.length,y=t.getEdgesBetween(e);y.length>1;){var E=y[0];y.splice(0,1);var A=u.indexOf(E);A>=0&&u.splice(A,1),p--,c--}s=null!=e?(u.indexOf(y[0])+1)%p:0;for(var T=Math.abs(r-i)/c,N=s;d!=c;N=++N%p){var L=u[N].getOtherEnd(t);if(L!=e){var _=(i+d*T)%360,m=(_+T)%360;v.branchRadialLayout(L,t,_,m,n+o,o),d++}}},v.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,i=0;i<t.length;i++){var r=t[i].getDiagonal();r>e&&(e=r)}return e},v.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},v.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var i=[],r=this.graphManager.getAllNodes(),n=0;n<r.length;n++){var o=r[n],a=o.getParent();0!==this.getNodeDegreeWithChildren(o)||void 0!=a.id&&this.getToBeTiled(a)||i.push(o)}for(var n=0;n<i.length;n++){var o=i[n],h=o.getParent().id;void 0===e[h]&&(e[h]=[]),e[h]=e[h].concat(o)}Object.keys(e).forEach(function(i){if(e[i].length>1){var r="DummyCompound_"+i;t.memberGroups[r]=e[i];var n=e[i][0].getParent(),o=new s(t.graphManager);o.id=r,o.paddingLeft=n.paddingLeft||0,o.paddingRight=n.paddingRight||0,o.paddingBottom=n.paddingBottom||0,o.paddingTop=n.paddingTop||0,t.idToDummyNode[r]=o;var a=t.getGraphManager().add(t.newGraph(),o),h=n.getChild();h.add(o);for(var l=0;l<e[i].length;l++){var g=e[i][l];h.remove(g),a.add(g)}}})},v.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var i=0;i<this.compoundOrder.length;i++)e[this.compoundOrder[i].id]=this.compoundOrder[i],t[this.compoundOrder[i].id]=[].concat(this.compoundOrder[i].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[i].getChild()),this.compoundOrder[i].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},v.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(i){var r=t.idToDummyNode[i];e[i]=t.tileNodes(t.memberGroups[i],r.paddingLeft+r.paddingRight),r.rect.width=e[i].width,r.rect.height=e[i].height})},v.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],i=e.id,r=e.paddingLeft,n=e.paddingTop;this.adjustLocations(this.tiledMemberPack[i],e.rect.x,e.rect.y,r,n)}},v.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach(function(i){var r=t.idToDummyNode[i],n=r.paddingLeft,o=r.paddingTop;t.adjustLocations(e[i],r.rect.x,r.rect.y,n,o)})},v.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var i=t.getChild();if(null==i)return this.toBeTiled[e]=!1,!1;for(var r=i.getNodes(),n=0;n<r.length;n++){var o=r[n];if(this.getNodeDegree(o)>0)return this.toBeTiled[e]=!1,!1;if(null==o.getChild()){this.toBeTiled[o.id]=!1;continue}if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}return this.toBeTiled[e]=!0,!0},v.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),i=0,r=0;r<e.length;r++){var n=e[r];n.getSource().id!==n.getTarget().id&&(i+=1)}return i},v.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(null==t.getChild())return e;for(var i=t.getChild().getNodes(),r=0;r<i.length;r++){var n=i[r];e+=this.getNodeDegreeWithChildren(n)}return e},v.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},v.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var i=t[e];null!=i.getChild()&&this.fillCompexOrderByDFS(i.getChild().getNodes()),this.getToBeTiled(i)&&this.compoundOrder.push(i)}},v.prototype.adjustLocations=function(t,e,i,r,n){e+=r,i+=n;for(var o=e,s=0;s<t.rows.length;s++){var a=t.rows[s];e=o;for(var h=0,l=0;l<a.length;l++){var g=a[l];g.rect.x=e,g.rect.y=i,e+=g.rect.width+t.horizontalPadding,g.rect.height>h&&(h=g.rect.height)}i+=h+t.verticalPadding}},v.prototype.tileCompoundMembers=function(t,e){var i=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(r){var n=e[r];i.tiledMemberPack[r]=i.tileNodes(t[r],n.paddingLeft+n.paddingRight),n.rect.width=i.tiledMemberPack[r].width,n.rect.height=i.tiledMemberPack[r].height})},v.prototype.tileNodes=function(t,e){var i={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:h.TILING_PADDING_VERTICAL,horizontalPadding:h.TILING_PADDING_HORIZONTAL};t.sort(function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:+(t.rect.width*t.rect.height<e.rect.width*e.rect.height)});for(var r=0;r<t.length;r++){var n=t[r];0==i.rows.length?this.insertNodeToRow(i,n,0,e):this.canAddHorizontal(i,n.rect.width,n.rect.height)?this.insertNodeToRow(i,n,this.getShortestRowIndex(i),e):this.insertNodeToRow(i,n,i.rows.length,e),this.shiftToLastRow(i)}return i},v.prototype.insertNodeToRow=function(t,e,i,r){i==t.rows.length&&(t.rows.push([]),t.rowWidth.push(r),t.rowHeight.push(0));var n=t.rowWidth[i]+e.rect.width;t.rows[i].length>0&&(n+=t.horizontalPadding),t.rowWidth[i]=n,t.width<n&&(t.width=n);var o=e.rect.height;i>0&&(o+=t.verticalPadding);var s=0;o>t.rowHeight[i]&&(s=t.rowHeight[i],t.rowHeight[i]=o,s=t.rowHeight[i]-s),t.height+=s,t.rows[i].push(e)},v.prototype.getShortestRowIndex=function(t){for(var e=-1,i=Number.MAX_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]<i&&(e=r,i=t.rowWidth[r]);return e},v.prototype.getLongestRowIndex=function(t){for(var e=-1,i=5e-324,r=0;r<t.rows.length;r++)t.rowWidth[r]>i&&(e=r,i=t.rowWidth[r]);return e},v.prototype.canAddHorizontal=function(t,e,i){var r,n,o=this.getShortestRowIndex(t);if(o<0)return!0;var s=t.rowWidth[o];if(s+t.horizontalPadding+e<=t.width)return!0;var a=0;return t.rowHeight[o]<i&&o>0&&(a=i+t.verticalPadding-t.rowHeight[o]),r=t.width-s>=e+t.horizontalPadding?(t.height+a)/(s+e+t.horizontalPadding):(t.height+a)/t.width,a=i+t.verticalPadding,(n=t.width<e?(t.height+a)/e:(t.height+a)/t.width)<1&&(n=1/n),r<1&&(r=1/r),r<n},v.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),i=t.rowWidth.length-1,r=t.rows[e],n=r[r.length-1],o=n.width+t.horizontalPadding;if(t.width-t.rowWidth[i]>o&&e!=i){r.splice(-1,1),t.rows[i].push(n),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[i]=t.rowWidth[i]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=5e-324,a=0;a<r.length;a++)r[a].height>s&&(s=r[a].height);e>0&&(s+=t.verticalPadding);var h=t.rowHeight[e]+t.rowHeight[i];t.rowHeight[e]=s,t.rowHeight[i]<n.height+t.verticalPadding&&(t.rowHeight[i]=n.height+t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[i];t.height+=l-h,this.shiftToLastRow(t)}},v.prototype.tilingPreLayout=function(){h.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},v.prototype.tilingPostLayout=function(){h.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},v.prototype.reduceTrees=function(){for(var t,e=[],i=!0;i;){var r=this.graphManager.getAllNodes(),n=[];i=!1;for(var o=0;o<r.length;o++)1!=(t=r[o]).getEdges().length||t.getEdges()[0].isInterGraph||null!=t.getChild()||(n.push([t,t.getEdges()[0],t.getOwner()]),i=!0);if(!0==i){for(var s=[],a=0;a<n.length;a++)1==n[a][0].getEdges().length&&(s.push(n[a]),n[a][0].getOwner().remove(n[a][0]));e.push(s),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=e},v.prototype.growTree=function(t){for(var e,i=t.length,r=t[i-1],n=0;n<r.length;n++)e=r[n],this.findPlaceforPrunedNode(e),e[2].add(e[0]),e[2].add(e[1],e[1].source,e[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},v.prototype.findPlaceforPrunedNode=function(t){var e,i,r,n,o=t[0],s=(i=o==t[1].source?t[1].target:t[1].source).startX,a=i.finishX,h=i.startY,g=i.finishY,u=[0,0,0,0];if(h>0)for(var c=s;c<=a;c++)u[0]+=this.grid[c][h-1].length+this.grid[c][h].length-1;if(a<this.grid.length-1)for(var c=h;c<=g;c++)u[1]+=this.grid[a+1][c].length+this.grid[a][c].length-1;if(g<this.grid[0].length-1)for(var c=s;c<=a;c++)u[2]+=this.grid[c][g+1].length+this.grid[c][g].length-1;if(s>0)for(var c=h;c<=g;c++)u[3]+=this.grid[s-1][c].length+this.grid[s][c].length-1;for(var d=p.MAX_VALUE,f=0;f<u.length;f++)u[f]<d?(d=u[f],r=1,n=f):u[f]==d&&r++;if(3==r&&0==d)0==u[0]&&0==u[1]&&0==u[2]?e=1:0==u[0]&&0==u[1]&&0==u[3]?e=0:0==u[0]&&0==u[2]&&0==u[3]?e=3:0==u[1]&&0==u[2]&&0==u[3]&&(e=2);else if(2==r&&0==d){var y=Math.floor(2*Math.random());e=0==u[0]&&0==u[1]?+(0!=y):0==u[0]&&0==u[2]?2*(0!=y):0==u[0]&&0==u[3]?3*(0!=y):0==u[1]&&0==u[2]?0==y?1:2:0==u[1]&&0==u[3]?0==y?1:3:0==y?2:3}else if(4==r&&0==d){var y=Math.floor(4*Math.random());e=y}else e=n;0==e?o.setCenter(i.getCenterX(),i.getCenterY()-i.getHeight()/2-l.DEFAULT_EDGE_LENGTH-o.getHeight()/2):1==e?o.setCenter(i.getCenterX()+i.getWidth()/2+l.DEFAULT_EDGE_LENGTH+o.getWidth()/2,i.getCenterY()):2==e?o.setCenter(i.getCenterX(),i.getCenterY()+i.getHeight()/2+l.DEFAULT_EDGE_LENGTH+o.getHeight()/2):o.setCenter(i.getCenterX()-i.getWidth()/2-l.DEFAULT_EDGE_LENGTH-o.getWidth()/2,i.getCenterY())},t.exports=v},function(t,e,i){"use strict";var r={};r.layoutBase=i(0),r.CoSEConstants=i(1),r.CoSEEdge=i(2),r.CoSEGraph=i(3),r.CoSEGraphManager=i(4),r.CoSELayout=i(6),r.CoSENode=i(5),t.exports=r}],i={};function r(t){if(i[t])return i[t].exports;var n=i[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=i,r.i=function(t){return t},r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=7)}(i(3143))},3457(t,e,i){t.exports=function(t){var e=[function(e,i){e.exports=t},function(t,e,i){"use strict";var r=i(0).layoutBase.LayoutConstants,n=i(0).layoutBase.FDLayoutConstants,o=i(0).CoSEConstants,s=i(0).CoSELayout,a=i(0).CoSENode,h=i(0).layoutBase.PointD,l=i(0).layoutBase.DimensionD,g={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function u(t){this.options=function(t,e){var i={};for(var r in t)i[r]=t[r];for(var r in e)i[r]=e[r];return i}(g,t),c(this.options)}var c=function(t){null!=t.nodeRepulsion&&(o.DEFAULT_REPULSION_STRENGTH=n.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(o.DEFAULT_EDGE_LENGTH=n.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(o.DEFAULT_SPRING_STRENGTH=n.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(o.DEFAULT_GRAVITY_STRENGTH=n.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(o.MAX_ITERATIONS=n.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=n.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=n.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=n.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=n.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,o.ANIMATE=n.ANIMATE=r.ANIMATE=t.animate,o.TILE=t.tile,o.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};u.prototype.run=function(){var t,e,i=this.options;this.idToLNode={};var r=this.layout=new s,n=this;n.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var o=r.newGraphManager();this.gm=o;var a=this.options.eles.nodes(),h=this.options.eles.edges();this.root=o.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(a),r);for(var l=0;l<h.length;l++){var g=h[l],u=this.idToLNode[g.data("source")],c=this.idToLNode[g.data("target")];u!==c&&0==u.getEdgesBetween(c).length&&(o.add(r.newEdge(),u,c).id=g.id())}var d=function(t,e){"number"==typeof t&&(t=e);var i=t.data("id"),r=n.idToLNode[i];return{x:r.getRect().getCenterX(),y:r.getRect().getCenterY()}},p=function o(){for(var s,a=function(){i.fit&&i.cy.fit(i.eles,i.padding),t||(t=!0,n.cy.one("layoutready",i.ready),n.cy.trigger({type:"layoutready",layout:n}))},h=n.options.refresh,l=0;l<h&&!s;l++)s=n.stopped||n.layout.tick();if(s){r.checkLayoutSuccess()&&!r.isSubLayout&&r.doPostLayout(),r.tilingPostLayout&&r.tilingPostLayout(),r.isLayoutFinished=!0,n.options.eles.nodes().positions(d),a(),n.cy.one("layoutstop",n.options.stop),n.cy.trigger({type:"layoutstop",layout:n}),e&&cancelAnimationFrame(e),t=!1;return}var g=n.layout.getPositionsData();i.eles.nodes().positions(function(t,e){if("number"==typeof t&&(t=e),!t.isParent()){for(var i=t.id(),r=g[i],n=t;null==r&&(r=g[n.data("parent")]||g["DummyCompound_"+n.data("parent")],g[i]=r,void 0!=(n=n.parent()[0])););return null!=r?{x:r.x,y:r.y}:{x:t.position("x"),y:t.position("y")}}}),a(),e=requestAnimationFrame(o)};return r.addListener("layoutstarted",function(){"during"===n.options.animate&&(e=requestAnimationFrame(p))}),r.runLayout(),"during"!==this.options.animate&&(n.options.eles.nodes().not(":parent").layoutPositions(n,n.options,d),t=!1),this},u.prototype.getTopMostNodes=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].id()]=!0;return t.filter(function(t,i){"number"==typeof t&&(t=i);for(var r=t.parent()[0];null!=r;){if(e[r.id()])return!1;r=r.parent()[0]}return!0})},u.prototype.processChildrenList=function(t,e,i){for(var r=e.length,n=0;n<r;n++){var o,s,g=e[n],u=g.children(),c=g.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if((o=null!=g.outerWidth()&&null!=g.outerHeight()?t.add(new a(i.graphManager,new h(g.position("x")-c.w/2,g.position("y")-c.h/2),new l(parseFloat(c.w),parseFloat(c.h)))):t.add(new a(this.graphManager))).id=g.data("id"),o.paddingLeft=parseInt(g.css("padding")),o.paddingTop=parseInt(g.css("padding")),o.paddingRight=parseInt(g.css("padding")),o.paddingBottom=parseInt(g.css("padding")),this.options.nodeDimensionsIncludeLabels&&g.isParent()){var d=g.boundingBox({includeLabels:!0,includeNodes:!1}).w,p=g.boundingBox({includeLabels:!0,includeNodes:!1}).h,f=g.css("text-halign");o.labelWidth=d,o.labelHeight=p,o.labelPos=f}this.idToLNode[g.data("id")]=o,isNaN(o.rect.x)&&(o.rect.x=0),isNaN(o.rect.y)&&(o.rect.y=0),null!=u&&u.length>0&&(s=i.getGraphManager().add(i.newGraph(),o),this.processChildrenList(s,u,i))}},u.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",u)};"u">typeof cytoscape&&d(cytoscape),t.exports=d}],i={};function r(t){if(i[t])return i[t].exports;var n=i[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=i,r.i=function(t){return t},r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}(i(7799))},3143(t){t.exports=function(){var t=[function(t,e,i){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(8),o=i(9);function s(t,e,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=t,this.target=e}for(var a in s.prototype=Object.create(r.prototype),r)s[a]=r[a];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(t,e){for(var i=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(i.getOwner()==e)return i;if(i.getOwner()==r)break;i=i.getOwner().getParent()}return null},s.prototype.updateLength=function(){var t=[,,,,];this.isOverlapingSourceAndTarget=n.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),1>Math.abs(this.lengthX)&&(this.lengthX=o.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,i){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(13),s=i(0),a=i(16),h=i(4);function l(t,e,i,s){null==i&&null==s&&(s=e),r.call(this,s),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=n.MIN_VALUE,this.inclusionTreeDepth=n.MAX_VALUE,this.vGraphObject=s,this.edges=[],this.graphManager=t,null!=i&&null!=e?this.rect=new o(e.x,e.y,i.width,i.height):this.rect=new o}for(var g in l.prototype=Object.create(r.prototype),r)l[g]=r[g];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(t){this.rect.width=t},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(t){this.rect.height=t},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},l.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},l.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},l.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},l.prototype.getEdgeListToNode=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.target==t){if(r.source!=i)throw"Incorrect edge source!";e.push(r)}}),e},l.prototype.getEdgesBetween=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.source!=i&&r.target!=i)throw"Incorrect edge source and/or target";(r.target==t||r.source==t)&&e.push(r)}),e},l.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach(function(i){if(i.source==e)t.add(i.target);else{if(i.target!=e)throw"Incorrect incidency!";t.add(i.source)}}),t},l.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),i=0;i<e.length;i++)e[i].withChildren().forEach(function(e){t.add(e)});return t},l.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var e=this.child.getNodes(),i=0;i<e.length;i++)t+=e[i].getNoOfChildren();return 0==t&&(t=1),t},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},l.prototype.scatter=function(){var t,e,i=-s.INITIAL_WORLD_BOUNDARY,r=s.INITIAL_WORLD_BOUNDARY;t=s.WORLD_CENTER_X+a.nextDouble()*(r-i)+i;var n=-s.INITIAL_WORLD_BOUNDARY,o=s.INITIAL_WORLD_BOUNDARY;e=s.WORLD_CENTER_Y+a.nextDouble()*(o-n)+n,this.rect.x=t,this.rect.y=e},l.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),s.NODE_DIMENSIONS_INCLUDE_LABELS){var e=t.getRight()-t.getLeft(),i=t.getBottom()-t.getTop();this.labelWidth>e&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>i&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-i)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-i),this.setHeight(this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==n.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>s.WORLD_BOUNDARY?e=s.WORLD_BOUNDARY:e<-s.WORLD_BOUNDARY&&(e=-s.WORLD_BOUNDARY);var i=this.rect.y;i>s.WORLD_BOUNDARY?i=s.WORLD_BOUNDARY:i<-s.WORLD_BOUNDARY&&(i=-s.WORLD_BOUNDARY);var r=new h(e,i),n=t.inverseTransformPoint(r);this.setLocation(n.x,n.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,i){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(0),s=i(6),a=i(3),h=i(1),l=i(13),g=i(12),u=i(11);function c(t,e,i){r.call(this,i),this.estimatedSize=n.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof s?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in c.prototype=Object.create(r.prototype),r)c[d]=r[d];c.prototype.getNodes=function(){return this.nodes},c.prototype.getEdges=function(){return this.edges},c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getParent=function(){return this.parent},c.prototype.getLeft=function(){return this.left},c.prototype.getRight=function(){return this.right},c.prototype.getTop=function(){return this.top},c.prototype.getBottom=function(){return this.bottom},c.prototype.isConnected=function(){return this.isConnected},c.prototype.add=function(t,e,i){if(null==e&&null==i){if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(t)>-1)throw"Node already in graph!";return t.owner=this,this.getNodes().push(t),t}if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(i)>-1))throw"Source or target not in graph!";if(e.owner!=i.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=i.owner?null:(t.source=e,t.target=i,t.isInterGraph=!1,this.getEdges().push(t),e.edges.push(t),i!=e&&i.edges.push(t),t)},c.prototype.remove=function(t){if(t instanceof a){if(null==t)throw"Node is null!";if(null==t.owner||t.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var e,i=t.edges.slice(),r=i.length,n=0;n<r;n++)(e=i[n]).isInterGraph?this.graphManager.remove(e):e.source.owner.remove(e);var o=this.nodes.indexOf(t);if(-1==o)throw"Node not in owner node list!";this.nodes.splice(o,1)}else if(t instanceof h){var e=t;if(null==e)throw"Edge is null!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(null==e.source.owner||null==e.target.owner||e.source.owner!=this||e.target.owner!=this)throw"Source and/or target owner is invalid!";var s=e.source.edges.indexOf(e),l=e.target.edges.indexOf(e);if(!(s>-1&&l>-1))throw"Source and/or target doesn't know this edge!";e.source.edges.splice(s,1),e.target!=e.source&&e.target.edges.splice(l,1);var o=e.source.owner.getEdges().indexOf(e);if(-1==o)throw"Not in owner's edge list!";e.source.owner.getEdges().splice(o,1)}},c.prototype.updateLeftTop=function(){for(var t,e,i,r=n.MAX_VALUE,o=n.MAX_VALUE,s=this.getNodes(),a=s.length,h=0;h<a;h++){var l=s[h];t=l.getTop(),e=l.getLeft(),r>t&&(r=t),o>e&&(o=e)}return r==n.MAX_VALUE?null:(i=void 0!=s[0].getParent().paddingLeft?s[0].getParent().paddingLeft:this.margin,this.left=o-i,this.top=r-i,new g(this.left,this.top))},c.prototype.updateBounds=function(t){for(var e,i,r,o,s,a=n.MAX_VALUE,h=-n.MAX_VALUE,g=n.MAX_VALUE,u=-n.MAX_VALUE,c=this.nodes,d=c.length,p=0;p<d;p++){var f=c[p];t&&null!=f.child&&f.updateBounds(),e=f.getLeft(),i=f.getRight(),r=f.getTop(),o=f.getBottom(),a>e&&(a=e),h<i&&(h=i),g>r&&(g=r),u<o&&(u=o)}var y=new l(a,g,h-a,u-g);a==n.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),s=void 0!=c[0].getParent().paddingLeft?c[0].getParent().paddingLeft:this.margin,this.left=y.x-s,this.right=y.x+y.width+s,this.top=y.y-s,this.bottom=y.y+y.height+s},c.calculateBounds=function(t){for(var e,i,r,o,s=n.MAX_VALUE,a=-n.MAX_VALUE,h=n.MAX_VALUE,g=-n.MAX_VALUE,u=t.length,c=0;c<u;c++){var d=t[c];e=d.getLeft(),i=d.getRight(),r=d.getTop(),o=d.getBottom(),s>e&&(s=e),a<i&&(a=i),h>r&&(h=r),g<o&&(g=o)}return new l(s,h,a-s,g-h)},c.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},c.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},c.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,i=e.length,r=0;r<i;r++)t+=e[r].calcEstimatedSize();return 0==t?this.estimatedSize=o.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=t/Math.sqrt(this.nodes.length),this.estimatedSize},c.prototype.updateConnected=function(){var t,e,i=this;if(0==this.nodes.length){this.isConnected=!0;return}var r=new u,n=new Set,o=this.nodes[0];for(o.withChildren().forEach(function(t){r.push(t),n.add(t)});0!==r.length;)for(var s=(t=(o=r.shift()).getEdges()).length,a=0;a<s;a++)null==(e=t[a].getOtherEndInGraph(o,this))||n.has(e)||e.withChildren().forEach(function(t){r.push(t),n.add(t)});if(this.isConnected=!1,n.size>=this.nodes.length){var h=0;n.forEach(function(t){t.owner==i&&h++}),h==this.nodes.length&&(this.isConnected=!0)}},t.exports=c},function(t,e,i){"use strict";var r,n=i(1);function o(t){r=i(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),i=this.add(t,e);return this.setRootGraph(i),this.rootGraph},o.prototype.add=function(t,e,i,r,n){if(null==i&&null==r&&null==n){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}n=i,r=e,i=t;var o=r.getOwner(),s=n.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==s||s.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==s)return i.isInterGraph=!1,o.add(i,r,n);if(i.isInterGraph=!0,i.source=r,i.target=n,this.edges.indexOf(i)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(i),null==i.source||null==i.target)throw"Edge source and/or target is null!";if(-1!=i.source.edges.indexOf(i)||-1!=i.target.edges.indexOf(i))throw"Edge already in source and/or target incidency list!";return i.source.edges.push(i),i.target.edges.push(i),i},o.prototype.remove=function(t){if(t instanceof r){if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(t!=this.rootGraph&&(null==t.parent||t.parent.graphManager!=this))throw"Invalid parent node!";for(var e,i,o=[],s=(o=o.concat(t.getEdges())).length,a=0;a<s;a++)e=o[a],t.remove(e);var h=[];s=(h=h.concat(t.getNodes())).length;for(var a=0;a<s;a++)i=h[a],t.remove(i);t==this.rootGraph&&this.setRootGraph(null);var l=this.graphs.indexOf(t);this.graphs.splice(l,1),t.parent=null}else if(t instanceof n){if(null==(e=t))throw"Edge is null!";if(!e.isInterGraph)throw"Not an inter-graph edge!";if(null==e.source||null==e.target)throw"Source and/or target is null!";if(-1==e.source.edges.indexOf(e)||-1==e.target.edges.indexOf(e))throw"Source and/or target doesn't know this edge!";var l=e.source.edges.indexOf(e);if(e.source.edges.splice(l,1),l=e.target.edges.indexOf(e),e.target.edges.splice(l,1),null==e.source.owner||null==e.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==e.source.owner.getGraphManager().edges.indexOf(e))throw"Not in owner graph manager's edge list!";var l=e.source.owner.getGraphManager().edges.indexOf(e);e.source.owner.getGraphManager().edges.splice(l,1)}},o.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},o.prototype.getGraphs=function(){return this.graphs},o.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],e=this.getGraphs(),i=e.length,r=0;r<i;r++)t=t.concat(e[r].getNodes());this.allNodes=t}return this.allNodes},o.prototype.resetAllNodes=function(){this.allNodes=null},o.prototype.resetAllEdges=function(){this.allEdges=null},o.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},o.prototype.getAllEdges=function(){if(null==this.allEdges){var t=[],e=this.getGraphs();e.length;for(var i=0;i<e.length;i++)t=t.concat(e[i].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},o.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},o.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},o.prototype.getRoot=function(){return this.rootGraph},o.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},o.prototype.getLayout=function(){return this.layout},o.prototype.isOneAncestorOfOther=function(t,e){if(null==t||null==e)throw"assert failed";if(t==e)return!0;for(var i,r=t.getOwner();null!=(i=r.getParent());){if(i==e)return!0;if(null==(r=i.getOwner()))break}for(r=e.getOwner();null!=(i=r.getParent());){if(i==t)return!0;if(null==(r=i.getOwner()))break}return!1},o.prototype.calcLowestCommonAncestors=function(){for(var t,e,i,r,n,o=this.getAllEdges(),s=o.length,a=0;a<s;a++){if(e=(t=o[a]).source,i=t.target,t.lca=null,t.sourceInLca=e,t.targetInLca=i,e==i){t.lca=e.getOwner();continue}for(r=e.getOwner();null==t.lca;){for(t.targetInLca=i,n=i.getOwner();null==t.lca;){if(n==r){t.lca=n;break}if(n==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=n.getParent(),n=t.targetInLca.getOwner()}if(r==this.rootGraph)break;null==t.lca&&(t.sourceInLca=r.getParent(),r=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}},o.prototype.calcLowestCommonAncestor=function(t,e){if(t==e)return t.getOwner();for(var i=t.getOwner();null!=i;){for(var r=e.getOwner();null!=r;){if(r==i)return r;r=r.getParent().getOwner()}i=i.getParent().getOwner()}return i},o.prototype.calcInclusionTreeDepths=function(t,e){null==t&&null==e&&(t=this.rootGraph,e=1);for(var i,r=t.getNodes(),n=r.length,o=0;o<n;o++)(i=r[o]).inclusionTreeDepth=e,null!=i.child&&this.calcInclusionTreeDepths(i.child,e+1)},o.prototype.includesInvalidEdge=function(){for(var t,e=this.edges.length,i=0;i<e;i++)if(t=this.edges[i],this.isOneAncestorOfOther(t.source,t.target))return!0;return!1},t.exports=o},function(t,e,i){"use strict";var r=i(0);function n(){}for(var o in r)n[o]=r[o];n.MAX_ITERATIONS=2500,n.DEFAULT_EDGE_LENGTH=50,n.DEFAULT_SPRING_STRENGTH=.45,n.DEFAULT_REPULSION_STRENGTH=4500,n.DEFAULT_GRAVITY_STRENGTH=.4,n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,n.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,n.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,n.COOLING_ADAPTATION_FACTOR=.33,n.ADAPTATION_LOWER_NODE_LIMIT=1e3,n.ADAPTATION_UPPER_NODE_LIMIT=5e3,n.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,n.MAX_NODE_DISPLACEMENT=3*n.MAX_NODE_DISPLACEMENT_INCREMENTAL,n.MIN_REPULSION_DIST=n.DEFAULT_EDGE_LENGTH/10,n.CONVERGENCE_CHECK_PERIOD=100,n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,n.MIN_EDGE_LENGTH=1,n.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=n},function(t,e,i){"use strict";var r=i(12);function n(){}n.calcSeparationAmount=function(t,e,i,r){if(!t.intersects(e))throw"assert failed";var n=[,,];this.decideDirectionsForOverlappingNodes(t,e,n),i[0]=Math.min(t.getRight(),e.getRight())-Math.max(t.x,e.x),i[1]=Math.min(t.getBottom(),e.getBottom())-Math.max(t.y,e.y),t.getX()<=e.getX()&&t.getRight()>=e.getRight()?i[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(i[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(i[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var s=o*i[0],a=i[1]/o;i[0]<a?a=i[0]:s=i[1],i[0]=-1*n[0]*(a/2+r),i[1]=-1*n[1]*(s/2+r)},n.decideDirectionsForOverlappingNodes=function(t,e,i){t.getCenterX()<e.getCenterX()?i[0]=-1:i[0]=1,t.getCenterY()<e.getCenterY()?i[1]=-1:i[1]=1},n.getIntersection2=function(t,e,i){var r=t.getCenterX(),n=t.getCenterY(),o=e.getCenterX(),s=e.getCenterY();if(t.intersects(e))return i[0]=r,i[1]=n,i[2]=o,i[3]=s,!0;var a=t.getX(),h=t.getY(),l=t.getRight(),g=t.getX(),u=t.getBottom(),c=t.getRight(),d=t.getWidthHalf(),p=t.getHeightHalf(),f=e.getX(),y=e.getY(),E=e.getRight(),v=e.getX(),A=e.getBottom(),T=e.getRight(),N=e.getWidthHalf(),L=e.getHeightHalf(),_=!1,m=!1;if(r===o)n>s?(i[0]=r,i[1]=h,i[2]=o,i[3]=A):n<s&&(i[0]=r,i[1]=u,i[2]=o,i[3]=y);else if(n===s)r>o?(i[0]=a,i[1]=n,i[2]=E,i[3]=s):r<o&&(i[0]=l,i[1]=n,i[2]=f,i[3]=s);else{var O=t.height/t.width,I=e.height/e.width,D=(s-n)/(o-r),w=void 0,R=void 0,C=void 0,M=void 0,G=void 0,x=void 0;if(-O===D?(r>o?(i[0]=g,i[1]=u):(i[0]=l,i[1]=h),_=!0):O===D&&(r>o?(i[0]=a,i[1]=h):(i[0]=c,i[1]=u),_=!0),-I===D?(o>r?(i[2]=v,i[3]=A):(i[2]=E,i[3]=y),m=!0):I===D&&(o>r?(i[2]=f,i[3]=y):(i[2]=T,i[3]=A),m=!0),_&&m)return!1;if(r>o?n>s?(w=this.getCardinalDirection(O,D,4),R=this.getCardinalDirection(I,D,2)):(w=this.getCardinalDirection(-O,D,3),R=this.getCardinalDirection(-I,D,1)):n>s?(w=this.getCardinalDirection(-O,D,1),R=this.getCardinalDirection(-I,D,3)):(w=this.getCardinalDirection(O,D,2),R=this.getCardinalDirection(I,D,4)),!_)switch(w){case 1:M=h,C=r+-p/D,i[0]=C,i[1]=M;break;case 2:C=c,M=n+d*D,i[0]=C,i[1]=M;break;case 3:M=u,C=r+p/D,i[0]=C,i[1]=M;break;case 4:C=g,M=n+-d*D,i[0]=C,i[1]=M}if(!m)switch(R){case 1:x=y,G=o+-L/D,i[2]=G,i[3]=x;break;case 2:G=T,x=s+N*D,i[2]=G,i[3]=x;break;case 3:x=A,G=o+L/D,i[2]=G,i[3]=x;break;case 4:G=v,x=s+-N*D,i[2]=G,i[3]=x}}return!1},n.getCardinalDirection=function(t,e,i){return t>e?i:1+i%4},n.getIntersection=function(t,e,i,n){if(null==n)return this.getIntersection2(t,e,i);var o=t.x,s=t.y,a=e.x,h=e.y,l=i.x,g=i.y,u=n.x,c=n.y,d=void 0,p=void 0,f=void 0,y=void 0,E=void 0,v=void 0,A=void 0;return(d=h-s,f=o-a,E=a*s-o*h,p=c-g,y=l-u,v=u*g-l*c,0==(A=d*y-p*f))?null:new r((f*v-y*E)/A,(p*E-d*v)/A)},n.angleOfVector=function(t,e,i,r){var n=void 0;return t!==i?(n=Math.atan((r-e)/(i-t)),i<t?n+=Math.PI:r<e&&(n+=this.TWO_PI)):n=r<e?this.ONE_AND_HALF_PI:this.HALF_PI,n},n.doIntersect=function(t,e,i,r){var n=t.x,o=t.y,s=e.x,a=e.y,h=i.x,l=i.y,g=r.x,u=r.y,c=(s-n)*(u-l)-(g-h)*(a-o);if(0===c)return!1;var d=((u-l)*(g-n)+(h-g)*(u-o))/c,p=((o-a)*(g-n)+(s-n)*(u-o))/c;return 0<d&&d<1&&0<p&&p<1},n.HALF_PI=.5*Math.PI,n.ONE_AND_HALF_PI=1.5*Math.PI,n.TWO_PI=2*Math.PI,n.THREE_PI=3*Math.PI,t.exports=n},function(t,e,i){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,i){"use strict";function r(){}r.MAX_VALUE=0x7fffffff,r.MIN_VALUE=-0x80000000,t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=function(t){return{value:t,next:null,prev:null}},o=function(t,e,i,r){return null!==t?t.next=e:r.head=e,null!==i?i.prev=e:r.tail=e,e.prev=t,e.next=i,r.length++,e},s=function(t,e){var i=t.prev,r=t.next;return null!==i?i.next=r:e.head=r,null!==r?r.prev=i:e.tail=i,t.prev=t.next=null,e.length--,t};t.exports=function(){function t(e){var i=this;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.length=0,this.head=null,this.tail=null,null!=e&&e.forEach(function(t){return i.push(t)})}return r(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,e){return o(e.prev,n(t),e,this)}},{key:"insertAfter",value:function(t,e){return o(e,n(t),e.next,this)}},{key:"insertNodeBefore",value:function(t,e){return o(e.prev,t,e,this)}},{key:"insertNodeAfter",value:function(t,e){return o(e,t,e.next,this)}},{key:"push",value:function(t){return o(this.tail,n(t),null,this)}},{key:"unshift",value:function(t){return o(null,n(t),this.head,this)}},{key:"remove",value:function(t){return s(t,this)}},{key:"pop",value:function(){return s(this.tail,this).value}},{key:"popNode",value:function(){return s(this.tail,this)}},{key:"shift",value:function(){return s(this.head,this).value}},{key:"shiftNode",value:function(){return s(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var e=1,i=this.head;e<t;)i=i.next,e++;return i.value}}},{key:"set_object_at",value:function(t,e){if(t<=this.length()){for(var i=1,r=this.head;i<t;)r=r.next,i++;r.value=e}}}]),t}()},function(t,e,i){"use strict";function r(t,e,i){this.x=null,this.y=null,null==t&&null==e&&null==i?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof e&&null==i?(this.x=t,this.y=e):"Point"==t.constructor.name&&null==e&&null==i&&(i=t,this.x=i.x,this.y=i.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(t,e,i){"Point"==t.constructor.name&&null==e&&null==i?(i=t,this.setLocation(i.x,i.y)):"number"==typeof t&&"number"==typeof e&&null==i&&(parseInt(t)==t&&parseInt(e)==e?this.move(t,e):(this.x=Math.floor(t+.5),this.y=Math.floor(e+.5)))},r.prototype.move=function(t,e){this.x=t,this.y=e},r.prototype.translate=function(t,e){this.x+=t,this.y+=e},r.prototype.equals=function(t){return"Point"==t.constructor.name?this.x==t.x&&this.y==t.y:this==t},r.prototype.toString=function(){return new r().constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=r},function(t,e,i){"use strict";function r(t,e,i,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=e&&null!=i&&null!=r&&(this.x=t,this.y=e,this.width=i,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(t){this.x=t},r.prototype.getY=function(){return this.y},r.prototype.setY=function(t){this.y=t},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(t){return!(this.getRight()<t.x||this.getBottom()<t.y||t.getRight()<this.x||t.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},t.exports=r},function(t,e,i){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function n(){}n.lastID=0,n.createID=function(t){return n.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=n.getString(),n.lastID++),t.uniqueID)},n.getString=function(t){return null==t&&(t=n.lastID),"Object#"+t},n.isPrimitive=function(t){var e=void 0===t?"undefined":r(t);return null==t||"object"!=e&&"function"!=e},t.exports=n},function(t,e,i){"use strict";function r(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}var n=i(0),o=i(6),s=i(3),a=i(1),h=i(5),l=i(4),g=i(17),u=i(27);function c(t){u.call(this),this.layoutQuality=n.QUALITY,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=n.DEFAULT_INCREMENTAL,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new o(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}c.RANDOM_SEED=1,c.prototype=Object.create(u.prototype),c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},c.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},c.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},c.prototype.newGraphManager=function(){var t=new o(this);return this.graphManager=t,t},c.prototype.newGraph=function(t){return new h(null,this.graphManager,t)},c.prototype.newNode=function(t){return new s(this.graphManager,t)},c.prototype.newEdge=function(t){return new a(null,null,t)},c.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},c.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==n.ANIMATE&&(t&&!this.isSubLayout&&this.doPostLayout(),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},c.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},c.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),e=0;e<t.length;e++)t[e];for(var i=this.graphManager.getRoot().getNodes(),e=0;e<i.length;e++)i[e];this.update(this.graphManager.getRoot())}},c.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof s){if(null!=t.getChild())for(var e=t.getChild().getNodes(),i=0;i<e.length;i++)update(e[i]);null!=t.vGraphObject&&t.vGraphObject.update(t)}else t instanceof a?null!=t.vGraphObject&&t.vGraphObject.update(t):t instanceof h&&null!=t.vGraphObject&&t.vGraphObject.update(t)},c.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=n.QUALITY,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=n.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},c.prototype.transform=function(t){if(void 0==t)this.transform(new l(0,0));else{var e=new g,i=this.graphManager.getRoot().updateLeftTop();if(null!=i){e.setWorldOrgX(t.x),e.setWorldOrgY(t.y),e.setDeviceOrgX(i.x),e.setDeviceOrgY(i.y);for(var r=this.getAllNodes(),n=0;n<r.length;n++)r[n].transform(e)}}},c.prototype.positionNodesRandomly=function(t){if(void 0==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var e,i,r=t.getNodes(),n=0;n<r.length;n++)null==(i=(e=r[n]).getChild())||0==i.getNodes().length?e.scatter():(this.positionNodesRandomly(i),e.updateBounds())},c.prototype.getFlatForest=function(){for(var t=[],e=!0,i=this.graphManager.getRoot().getNodes(),n=!0,o=0;o<i.length;o++)null!=i[o].getChild()&&(n=!1);if(!n)return t;var s=new Set,a=[],h=new Map,l=[];for(l=l.concat(i);l.length>0&&e;){for(a.push(l[0]);a.length>0&&e;){var g=a[0];a.splice(0,1),s.add(g);for(var u=g.getEdges(),o=0;o<u.length;o++){var c=u[o].getOtherEnd(g);if(h.get(g)!=c)if(s.has(c)){e=!1;break}else a.push(c),h.set(c,g)}}if(e){var d=[].concat(r(s));t.push(d);for(var o=0;o<d.length;o++){var p=d[o],f=l.indexOf(p);f>-1&&l.splice(f,1)}s=new Set,h=new Map}else t=[]}return t},c.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],i=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),n=0;n<t.bendpoints.length;n++){var o=this.newNode(null);o.setRect(new Point(0,0),new Dimension(1,1)),r.add(o);var s=this.newEdge(null);this.graphManager.add(s,i,o),e.add(o),i=o}var s=this.newEdge(null);return this.graphManager.add(s,i,t.target),this.edgeToDummyNodes.set(t,e),t.isInterGraph()?this.graphManager.remove(t):r.remove(t),e},c.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(r(this.edgeToDummyNodes.keys())).concat(t);for(var e=0;e<t.length;e++){var i=t[e];if(i.bendpoints.length>0){for(var n=this.edgeToDummyNodes.get(i),o=0;o<n.length;o++){var s=n[o],a=new l(s.getCenterX(),s.getCenterY()),h=i.bendpoints.get(o);h.x=a.x,h.y=a.y,s.getOwner().remove(s)}this.graphManager.add(i,i.source,i.target)}}},c.transform=function(t,e,i,r){if(void 0==i||void 0==r)return t<=50?(n=9*e/500,o=e/10):(n=9*e/50,o=-8*e),n*t+o;var n,o,s=e;return t<=50?s-=(e-e/i)/50*(50-t):s+=(e*r-e)/50*(t-50),s},c.findCenterOfTree=function(t){var e=[];e=e.concat(t);var i=[],r=new Map,n=!1,o=null;(1==e.length||2==e.length)&&(n=!0,o=e[0]);for(var s=0;s<e.length;s++){var a=e[s],h=a.getNeighborsList().size;r.set(a,a.getNeighborsList().size),1==h&&i.push(a)}var l=[];for(l=l.concat(i);!n;){var g=[];g=g.concat(l),l=[];for(var s=0;s<e.length;s++){var a=e[s],u=e.indexOf(a);u>=0&&e.splice(u,1),a.getNeighborsList().forEach(function(t){if(0>i.indexOf(t)){var e=r.get(t)-1;1==e&&l.push(t),r.set(t,e)}})}i=i.concat(l),(1==e.length||2==e.length)&&(n=!0,o=e[0])}return o},c.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=c},function(t,e,i){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,i){"use strict";var r=i(4);function n(t,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}n.prototype.getWorldOrgX=function(){return this.lworldOrgX},n.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},n.prototype.getWorldOrgY=function(){return this.lworldOrgY},n.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},n.prototype.getWorldExtX=function(){return this.lworldExtX},n.prototype.setWorldExtX=function(t){this.lworldExtX=t},n.prototype.getWorldExtY=function(){return this.lworldExtY},n.prototype.setWorldExtY=function(t){this.lworldExtY=t},n.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},n.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},n.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},n.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},n.prototype.getDeviceExtX=function(){return this.ldeviceExtX},n.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},n.prototype.getDeviceExtY=function(){return this.ldeviceExtY},n.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},n.prototype.transformX=function(t){var e=0,i=this.lworldExtX;return 0!=i&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/i),e},n.prototype.transformY=function(t){var e=0,i=this.lworldExtY;return 0!=i&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/i),e},n.prototype.inverseTransformX=function(t){var e=0,i=this.ldeviceExtX;return 0!=i&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/i),e},n.prototype.inverseTransformY=function(t){var e=0,i=this.ldeviceExtY;return 0!=i&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/i),e},n.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=n},function(t,e,i){"use strict";var r=i(15),n=i(7),o=i(0),s=i(8),a=i(9);function h(){r.call(this),this.useSmartIdealEdgeLengthCalculation=n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=n.DEFAULT_EDGE_LENGTH,this.springConstant=n.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=n.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=n.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=n.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=n.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=n.MAX_ITERATIONS}for(var l in h.prototype=Object.create(r.prototype),r)h[l]=r[l];h.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var t,e,i,r,s,a,h=this.getGraphManager().getAllEdges(),l=0;l<h.length;l++)(t=h[l]).idealLength=this.idealEdgeLength,t.isInterGraph&&(i=t.getSource(),r=t.getTarget(),s=t.getSourceInLca().getEstimatedSize(),a=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=s+a-2*o.SIMPLE_NODE_SIZE),e=t.getLca().getInclusionTreeDepth(),t.idealLength+=n.DEFAULT_EDGE_LENGTH*n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(i.getInclusionTreeDepth()+r.getInclusionTreeDepth()-2*e))},h.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>n.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),i=0;i<e.length;i++)t=e[i],this.calcSpringForce(t,t.idealLength)},h.prototype.calcRepulsionForces=function(){var t,e,i,r,o,s=!(arguments.length>0)||void 0===arguments[0]||arguments[0],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],h=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&s&&this.updateGrid(),o=new Set,t=0;t<h.length;t++)i=h[t],this.calculateRepulsionForceOfANode(i,o,s,a),o.add(i);else for(t=0;t<h.length;t++)for(i=h[t],e=t+1;e<h.length;e++)r=h[e],i.getOwner()==r.getOwner()&&this.calcRepulsionForce(i,r)},h.prototype.calcGravitationalForces=function(){for(var t,e=this.getAllNodesToApplyGravitation(),i=0;i<e.length;i++)t=e[i],this.calcGravitationalForce(t)},h.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e=0;e<t.length;e++)t[e].move()},h.prototype.calcSpringForce=function(t,e){var i,r,n,o,s=t.getSource(),a=t.getTarget();if(this.uniformLeafNodeSizes&&null==s.getChild()&&null==a.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(i=t.getLength())&&(n=(r=this.springConstant*(i-e))*(t.lengthX/i),o=r*(t.lengthY/i),s.springForceX+=n,s.springForceY+=o,a.springForceX-=n,a.springForceY-=o)},h.prototype.calcRepulsionForce=function(t,e){var i,r,o,h,l,g,u,c=t.getRect(),d=e.getRect(),p=[,,],f=[,,,,];if(c.intersects(d)){s.calcSeparationAmount(c,d,p,n.DEFAULT_EDGE_LENGTH/2),g=2*p[0],u=2*p[1];var y=t.noOfChildren*e.noOfChildren/(t.noOfChildren+e.noOfChildren);t.repulsionForceX-=y*g,t.repulsionForceY-=y*u,e.repulsionForceX+=y*g,e.repulsionForceY+=y*u}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==e.getChild()?(i=d.getCenterX()-c.getCenterX(),r=d.getCenterY()-c.getCenterY()):(s.getIntersection(c,d,f),i=f[2]-f[0],r=f[3]-f[1]),Math.abs(i)<n.MIN_REPULSION_DIST&&(i=a.sign(i)*n.MIN_REPULSION_DIST),Math.abs(r)<n.MIN_REPULSION_DIST&&(r=a.sign(r)*n.MIN_REPULSION_DIST),h=Math.sqrt(o=i*i+r*r),g=(l=this.repulsionConstant*t.noOfChildren*e.noOfChildren/o)*i/h,u=l*r/h,t.repulsionForceX-=g,t.repulsionForceY-=u,e.repulsionForceX+=g,e.repulsionForceY+=u},h.prototype.calcGravitationalForce=function(t){var e,i,r,n,o,s,a,h;i=((e=t.getOwner()).getRight()+e.getLeft())/2,r=(e.getTop()+e.getBottom())/2,n=t.getCenterX()-i,o=t.getCenterY()-r,s=Math.abs(n)+t.getWidth()/2,a=Math.abs(o)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(s>(h=e.getEstimatedSize()*this.gravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*n,t.gravitationForceY=-this.gravityConstant*o):(s>(h=e.getEstimatedSize()*this.compoundGravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*n*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},h.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=2>Math.abs(this.totalDisplacement-this.oldTotalDisplacement)),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||e},h.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},h.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,e=this.graphManager.getAllNodes(),i=0;i<e.length;i++)(t=e[i]).noOfChildren=t.getNoOfChildren()},h.prototype.calcGrid=function(t){var e=0,i=0;e=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),i=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var r=Array(e),n=0;n<e;n++)r[n]=Array(i);for(var n=0;n<e;n++)for(var o=0;o<i;o++)r[n][o]=[];return r},h.prototype.addNodeToGrid=function(t,e,i){var r=0,n=0,o=0,s=0;r=parseInt(Math.floor((t.getRect().x-e)/this.repulsionRange)),n=parseInt(Math.floor((t.getRect().width+t.getRect().x-e)/this.repulsionRange)),o=parseInt(Math.floor((t.getRect().y-i)/this.repulsionRange)),s=parseInt(Math.floor((t.getRect().height+t.getRect().y-i)/this.repulsionRange));for(var a=r;a<=n;a++)for(var h=o;h<=s;h++)this.grid[a][h].push(t),t.setGridCoordinates(r,n,o,s)},h.prototype.updateGrid=function(){var t,e,i=this.getAllNodes();for(t=0,this.grid=this.calcGrid(this.graphManager.getRoot());t<i.length;t++)e=i[t],this.addNodeToGrid(e,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},h.prototype.calculateRepulsionForceOfANode=function(t,e,i,r){if(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&i||r){var o,s=new Set;t.surrounding=[];for(var a=this.grid,h=t.startX-1;h<t.finishX+2;h++)for(var l=t.startY-1;l<t.finishY+2;l++)if(!(h<0||l<0||h>=a.length||l>=a[0].length)){for(var g=0;g<a[h][l].length;g++)if(o=a[h][l][g],t.getOwner()==o.getOwner()&&t!=o&&!e.has(o)&&!s.has(o)){var u=Math.abs(t.getCenterX()-o.getCenterX())-(t.getWidth()/2+o.getWidth()/2),c=Math.abs(t.getCenterY()-o.getCenterY())-(t.getHeight()/2+o.getHeight()/2);u<=this.repulsionRange&&c<=this.repulsionRange&&s.add(o)}}t.surrounding=[].concat(function(t){if(!Array.isArray(t))return Array.from(t);for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}(s))}for(h=0;h<t.surrounding.length;h++)this.calcRepulsionForce(t,t.surrounding[h])},h.prototype.calcRepulsionRange=function(){return 0},t.exports=h},function(t,e,i){"use strict";var r=i(1),n=i(7);function o(t,e,i){r.call(this,t,e,i),this.idealLength=n.DEFAULT_EDGE_LENGTH}for(var s in o.prototype=Object.create(r.prototype),r)o[s]=r[s];t.exports=o},function(t,e,i){"use strict";var r=i(3);function n(t,e,i,n){r.call(this,t,e,i,n),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];n.prototype.setGridCoordinates=function(t,e,i,r){this.startX=t,this.finishX=e,this.startY=i,this.finishY=r},t.exports=n},function(t,e,i){"use strict";function r(t,e){this.width=0,this.height=0,null!==t&&null!==e&&(this.height=e,this.width=t)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},t.exports=r},function(t,e,i){"use strict";var r=i(14);function n(){this.map={},this.keys=[]}n.prototype.put=function(t,e){var i=r.createID(t);this.contains(i)||(this.map[i]=e,this.keys.push(t))},n.prototype.contains=function(t){return r.createID(t),null!=this.map[t]},n.prototype.get=function(t){var e=r.createID(t);return this.map[e]},n.prototype.keySet=function(){return this.keys},t.exports=n},function(t,e,i){"use strict";var r=i(14);function n(){this.set={}}n.prototype.add=function(t){var e=r.createID(t);this.contains(e)||(this.set[e]=t)},n.prototype.remove=function(t){delete this.set[r.createID(t)]},n.prototype.clear=function(){this.set={}},n.prototype.contains=function(t){return this.set[r.createID(t)]==t},n.prototype.isEmpty=function(){return 0===this.size()},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAllTo=function(t){for(var e=Object.keys(this.set),i=e.length,r=0;r<i;r++)t.push(this.set[e[r]])},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAll=function(t){for(var e=t.length,i=0;i<e;i++){var r=t[i];this.add(r)}},t.exports=n},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=i(11);t.exports=function(){function t(e,i){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");(null!==i||void 0!==i)&&(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=e instanceof n?e.size():e.length,this._quicksort(e,0,r-1)}return r(t,[{key:"_quicksort",value:function(t,e,i){if(e<i){var r=this._partition(t,e,i);this._quicksort(t,e,r),this._quicksort(t,r+1,i)}}},{key:"_partition",value:function(t,e,i){for(var r=this._get(t,e),n=e,o=i;;){for(;this.compareFunction(r,this._get(t,o));)o--;for(;this.compareFunction(this._get(t,n),r);)n++;if(!(n<o))return o;this._swap(t,n,o),n++,o--}}},{key:"_get",value:function(t,e){return t instanceof n?t.get_object_at(e):t[e]}},{key:"_set",value:function(t,e,i){t instanceof n?t.set_object_at(e,i):t[e]=i}},{key:"_swap",value:function(t,e,i){var r=this._get(t,e);this._set(t,e,this._get(t,i)),this._set(t,i,r)}},{key:"_defaultCompareFunction",value:function(t,e){return e>t}}]),t}()},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}();t.exports=function(){function t(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.sequence1=e,this.sequence2=i,this.match_score=r,this.mismatch_penalty=n,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=i.length+1,this.grid=Array(this.iMax);for(var s=0;s<this.iMax;s++){this.grid[s]=Array(this.jMax);for(var a=0;a<this.jMax;a++)this.grid[s][a]=0}this.tracebackGrid=Array(this.iMax);for(var h=0;h<this.iMax;h++){this.tracebackGrid[h]=Array(this.jMax);for(var l=0;l<this.jMax;l++)this.tracebackGrid[h][l]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var e=1;e<this.iMax;e++)this.grid[e][0]=this.grid[e-1][0]+this.gap_penalty,this.tracebackGrid[e][0]=[!1,!0,!1];for(var i=1;i<this.iMax;i++)for(var r=1;r<this.jMax;r++){var n=[this.sequence1[i-1]===this.sequence2[r-1]?this.grid[i-1][r-1]+this.match_score:this.grid[i-1][r-1]+this.mismatch_penalty,this.grid[i-1][r]+this.gap_penalty,this.grid[i][r-1]+this.gap_penalty],o=this.arrayAllMaxIndexes(n);this.grid[i][r]=n[o[0]],this.tracebackGrid[i][r]=[o.includes(0),o.includes(1),o.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var e=t[0],i=this.tracebackGrid[e.pos[0]][e.pos[1]];i[0]&&t.push({pos:[e.pos[0]-1,e.pos[1]-1],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),i[1]&&t.push({pos:[e.pos[0]-1,e.pos[1]],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:"-"+e.seq2}),i[2]&&t.push({pos:[e.pos[0],e.pos[1]-1],seq1:"-"+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),0===e.pos[0]&&0===e.pos[1]&&this.alignments.push({sequence1:e.seq1,sequence2:e.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,e){for(var i=[],r=-1;-1!==(r=t.indexOf(e,r+1));)i.push(r);return i}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}()},function(t,e,i){"use strict";var r=function(){};r.FDLayout=i(18),r.FDLayoutConstants=i(7),r.FDLayoutEdge=i(19),r.FDLayoutNode=i(20),r.DimensionD=i(21),r.HashMap=i(22),r.HashSet=i(23),r.IGeometry=i(8),r.IMath=i(9),r.Integer=i(10),r.Point=i(12),r.PointD=i(4),r.RandomSeed=i(16),r.RectangleD=i(13),r.Transform=i(17),r.UniqueIDGeneretor=i(14),r.Quicksort=i(24),r.LinkedList=i(11),r.LGraphObject=i(2),r.LGraph=i(5),r.LEdge=i(1),r.LGraphManager=i(6),r.LNode=i(3),r.Layout=i(15),r.LayoutConstants=i(0),r.NeedlemanWunsch=i(25),t.exports=r},function(t,e,i){"use strict";function r(){this.listeners=[]}var n=r.prototype;n.addListener=function(t,e){this.listeners.push({event:t,callback:e})},n.removeListener=function(t,e){for(var i=this.listeners.length;i>=0;i--){var r=this.listeners[i];r.event===t&&r.callback===e&&this.listeners.splice(i,1)}},n.emit=function(t,e){for(var i=0;i<this.listeners.length;i++){var r=this.listeners[i];t===r.event&&r.callback(e)}},t.exports=r}],e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=26)}()},2180(t,e,i){"use strict";i.r(e),i.d(e,{render:()=>f});var r=i(1293),n=i(6827),o=i(165),s=i(3457),a=i(7829);function h(t,e){t.forEach(t=>{let i={id:t.id,labelText:t.label,height:t.height,width:t.width,padding:t.padding??0};Object.keys(t).forEach(e=>{["id","label","height","width","padding","x","y"].includes(e)||(i[e]=t[e])}),e.add({group:"nodes",data:i,position:{x:t.x??0,y:t.y??0}})})}function l(t,e){t.forEach(t=>{let i={id:t.id,source:t.start,target:t.end};Object.keys(t).forEach(e=>{["id","start","end"].includes(e)||(i[e]=t[e])}),e.add({group:"edges",data:i})})}function g(t){return new Promise(e=>{let i=(0,a.Ltv)("body").append("div").attr("id","cy").attr("style","display:none"),n=(0,o.A)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});i.remove(),h(t.nodes,n),l(t.edges,n),n.nodes().forEach(function(t){t.layoutDimensions=()=>{let e=t.data();return{w:e.width,h:e.height}}}),n.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),n.ready(t=>{r.R.info("Cytoscape ready",t),e(n)})})}function u(t){return t.nodes().map(t=>{let e=t.data(),i=t.position(),r={id:e.id,x:i.x,y:i.y};return Object.keys(e).forEach(t=>{"id"!==t&&(r[t]=e[t])}),r})}function c(t){return t.edges().map(t=>{let e=t.data(),i=t._private.rscratch,r={id:e.id,source:e.source,target:e.target,startX:i.startX,startY:i.startY,midX:i.midX,midY:i.midY,endX:i.endX,endY:i.endY};return Object.keys(e).forEach(t=>{["id","source","target"].includes(t)||(r[t]=e[t])}),r})}async function d(t,e){r.R.debug("Starting cose-bilkent layout algorithm");try{p(t);let e=await g(t),i=u(e),n=c(e);return r.R.debug(`Layout completed: ${i.length} nodes, ${n.length} edges`),{nodes:i,edges:n}}catch(t){throw r.R.error("Error in cose-bilkent layout algorithm:",t),t}}function p(t){if(!t)throw Error("Layout data is required");if(!t.config)throw Error("Configuration is required in layout data");if(!t.rootNode)throw Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw Error("Edges array is required in layout data");return!0}o.A.use(s),(0,n.K)(h,"addNodes"),(0,n.K)(l,"addEdges"),(0,n.K)(g,"createCytoscapeInstance"),(0,n.K)(u,"extractPositionedNodes"),(0,n.K)(c,"extractPositionedEdges"),(0,n.K)(d,"executeCoseBilkentLayout"),(0,n.K)(p,"validateLayoutData");var f=(0,n.K)(async(t,e,{insertCluster:i,insertEdge:r,insertEdgeLabel:n,insertMarkers:o,insertNode:s,log:a,positionEdgeLabel:h},{algorithm:l})=>{let g={},u={},c=e.select("g");o(c,t.markers,t.type,t.diagramId);let p=c.insert("g").attr("class","subgraphs"),f=c.insert("g").attr("class","edgePaths"),y=c.insert("g").attr("class","edgeLabels"),E=c.insert("g").attr("class","nodes");a.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async e=>{if(e.isGroup){let t={...e};u[e.id]=t,g[e.id]=t,await i(p,e)}else{let i={...e};g[e.id]=i;let r=await s(E,e,{config:t.config,dir:t.direction||"TB"}),n=r.node().getBBox();i.width=n.width,i.height=n.height,i.domId=r,a.debug(`Node ${e.id} dimensions: ${n.width}x${n.height}`)}})),a.debug("Running cose-bilkent layout algorithm");let v={...t,nodes:t.nodes.map(t=>{let e=g[t.id];return{...t,width:e.width,height:e.height}})},A=await d(v,t.config);a.debug("Positioning nodes based on layout results"),A.nodes.forEach(t=>{let e=g[t.id];e?.domId&&(e.domId.attr("transform",`translate(${t.x}, ${t.y})`),e.x=t.x,e.y=t.y,a.debug(`Positioned node ${e.id} at center (${t.x}, ${t.y})`))}),A.edges.forEach(e=>{let i=t.edges.find(t=>t.id===e.id);i&&(i.points=[{x:e.startX,y:e.startY},{x:e.midX,y:e.midY},{x:e.endX,y:e.endY}])}),a.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async e=>{await n(y,e);let i=g[e.start??""],o=g[e.end??""];if(i&&o){let n=A.edges.find(t=>t.id===e.id);if(n){a.debug("APA01 positionedEdge",n);let s={...e},l=r(f,s,u,t.type,i,o,t.diagramId);h(s,l)}else{let n={...e,points:[{x:i.x||0,y:i.y||0},{x:o.x||0,y:o.y||0}]},s=r(f,n,u,t.type,i,o,t.diagramId);h(n,s)}}})),a.debug("Cose-bilkent rendering completed")},"render")}}]); \ No newline at end of file diff --git a/en/assets/js/8665.cdad3879.js b/en/assets/js/8665.cdad3879.js new file mode 100644 index 0000000..7f15c19 --- /dev/null +++ b/en/assets/js/8665.cdad3879.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8665"],{6480(e,s,r){r.d(s,{createRailroadAbnfServices:()=>a.s});var a=r(9096);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/8683.9ee3384f.js b/en/assets/js/8683.9ee3384f.js new file mode 100644 index 0000000..651cad1 --- /dev/null +++ b/en/assets/js/8683.9ee3384f.js @@ -0,0 +1,226 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8683"],{4918(t,e,s){s.d(e,{o:()=>i});var i=(0,s(6827).K)(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")},2735(t,e,s){s.d(e,{CP:()=>h,Ck:()=>A,HT:()=>p,PB:()=>d,aC:()=>c,lC:()=>u,m:()=>o,tk:()=>l});var i=s(1177),a=s(6827),r=s(6750),n=s(7829),l=(0,a.K)((t,e)=>{let s=t.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),e.name&&s.attr("name",e.name),e.rx&&s.attr("rx",e.rx),e.ry&&s.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)s.attr(t,e.attrs[t]);return e.class&&s.attr("class",e.class),s},"drawRect"),u=(0,a.K)((t,e)=>{l(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),o=(0,a.K)((t,e)=>{let s=e.text.replace(i.H1," "),a=t.append("text");a.attr("x",e.x),a.attr("y",e.y),a.attr("class","legend"),a.style("text-anchor",e.anchor),e.class&&a.attr("class",e.class);let r=a.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(s),a},"drawText"),c=(0,a.K)((t,e,s,i)=>{let a=t.append("image");a.attr("x",e),a.attr("y",s);let n=(0,r.sanitizeUrl)(i);a.attr("xlink:href",n)},"drawImage"),h=(0,a.K)((t,e,s,i)=>{let a=t.append("use");a.attr("x",e),a.attr("y",s);let n=(0,r.sanitizeUrl)(i);a.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),d=(0,a.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,a.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),A=(0,a.K)(()=>{let t=(0,n.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},5869(t,e,s){s.d(e,{P:()=>n});var i=s(1177),a=s(1293),r=s(6827),n=(0,r.K)((t,e,s,r)=>{t.attr("class",s);let{width:n,height:o,x:c,y:h}=l(t,e);(0,i.a$)(t,o,n,r);let d=u(c,h,n,o,e);t.attr("viewBox",d),a.R.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),l=(0,r.K)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),u=(0,r.K)((t,e,s,i,a)=>`${t-a} ${e-a} ${s} ${i}`,"createViewBox")},6755(t,e,s){s.d(e,{A:()=>r});var i=s(6827),a=s(7829),r=(0,i.K)((t,e)=>{let s;return"sandbox"===e&&(s=(0,a.Ltv)("#i"+t)),("sandbox"===e?(0,a.Ltv)(s.nodes()[0].contentDocument.body):(0,a.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")},8726(t,e,s){s.d(e,{diagram:()=>B});var i=s(4918),a=s(6755),r=s(5869),n=s(2391);s(3247);var l=s(2735);s(5616),s(6163),s(7827),s(3002),s(739),s(6320),s(2217);var u=s(2941),o=s(6348),c=s(1177),h=s(1293),d=s(6827),p=s(7829),A=s(9418),y=function(){var t=(0,d.K)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[1,18],s=[1,19],i=[1,20],a=[1,41],r=[1,26],n=[1,42],l=[1,24],u=[1,25],o=[1,32],c=[1,33],h=[1,34],p=[1,45],A=[1,35],y=[1,36],g=[1,37],m=[1,38],b=[1,27],C=[1,28],k=[1,29],f=[1,30],E=[1,31],T=[1,44],D=[1,46],F=[1,43],B=[1,47],_=[1,9],$=[1,8,9],x=[1,58],S=[1,59],N=[1,60],L=[1,61],v=[1,62],I=[1,63],w=[1,64],O=[1,8,9,41],R=[1,77],K=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],P=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],M=[13,60,86,100,102,103],G=[13,60,73,74,86,100,102,103],U=[13,60,68,69,70,71,72,86,100,102,103],Y=[1,103],z=[1,121],Q=[1,117],W=[1,113],j=[1,119],X=[1,114],q=[1,115],H=[1,116],V=[1,118],J=[1,120],Z=[22,50,60,61,82,86,87,88,89,90],tt=[1,128],te=[12,39],ts=[1,8,9,39,41,44,46],ti=[1,8,9,22],ta=[1,153],tr=[1,8,9,61],tn=[1,8,9,22,50,60,61,82,86,87,88,89,90],tl={trace:(0,d.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:(0,d.K)(function(t,e,s,i,a,r,n){var l=r.length-1;switch(a){case 8:this.$=r[l-1];break;case 9:case 10:case 13:case 15:case 46:this.$=r[l];break;case 11:case 14:this.$=r[l-2]+"."+r[l];break;case 12:case 16:case 110:this.$=r[l-1]+r[l];break;case 17:case 18:this.$=r[l-1]+"~"+r[l]+"~";break;case 19:i.addRelation(r[l]);break;case 20:r[l-1].title=i.cleanupLabel(r[l]),i.addRelation(r[l-1]);break;case 31:this.$=r[l].trim(),i.setAccTitle(this.$);break;case 32:case 33:this.$=r[l].trim(),i.setAccDescription(this.$);break;case 34:i.addClassesToNamespace(r[l-3],r[l-1][0],r[l-1][1]),i.popNamespace();break;case 35:i.addClassesToNamespace(r[l-4],r[l-1][0],r[l-1][1]),i.popNamespace();break;case 36:this.$=i.addNamespace(r[l]);break;case 37:this.$=i.addNamespace(r[l-1],r[l]);break;case 38:this.$=[[r[l]],[]];break;case 39:this.$=[[r[l-1]],[]];break;case 40:r[l][0].unshift(r[l-2]),this.$=r[l];break;case 41:this.$=[[],[r[l]]];break;case 42:this.$=[[],[r[l-1]]];break;case 43:r[l][1].unshift(r[l-2]),this.$=r[l];break;case 44:case 45:this.$=[[],[]];break;case 48:i.setCssClass(r[l-2],r[l]);break;case 49:i.addMembers(r[l-3],r[l-1]);break;case 51:i.setCssClass(r[l-5],r[l-3]),i.addMembers(r[l-5],r[l-1]);break;case 52:i.addAnnotation(r[l-3],r[l-1]);break;case 53:i.addAnnotation(r[l-6],r[l-4]),i.addMembers(r[l-6],r[l-1]);break;case 54:i.addAnnotation(r[l-5],r[l-3]);break;case 55:this.$=r[l],i.addClass(r[l]);break;case 56:this.$=r[l-1],i.addClass(r[l-1]),i.setClassLabel(r[l-1],r[l]);break;case 60:i.addAnnotation(r[l],r[l-2]);break;case 61:case 74:case 107:this.$=[r[l]];break;case 62:r[l].push(r[l-1]),this.$=r[l];break;case 63:case 65:case 66:break;case 64:i.addMember(r[l-1],i.cleanupLabel(r[l]));break;case 67:this.$={id1:r[l-2],id2:r[l],relation:r[l-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:r[l-3],id2:r[l],relation:r[l-1],relationTitle1:r[l-2],relationTitle2:"none"};break;case 69:this.$={id1:r[l-3],id2:r[l],relation:r[l-2],relationTitle1:"none",relationTitle2:r[l-1]};break;case 70:this.$={id1:r[l-4],id2:r[l],relation:r[l-2],relationTitle1:r[l-3],relationTitle2:r[l-1]};break;case 71:this.$=i.addNote(r[l],r[l-1]);break;case 72:this.$=i.addNote(r[l]);break;case 73:this.$=r[l-2],i.defineClass(r[l-1],r[l]);break;case 75:this.$=r[l-2].concat([r[l]]);break;case 76:i.setDirection("TB");break;case 77:i.setDirection("BT");break;case 78:i.setDirection("RL");break;case 79:i.setDirection("LR");break;case 80:this.$={type1:r[l-2],type2:r[l],lineType:r[l-1]};break;case 81:this.$={type1:"none",type2:r[l],lineType:r[l-1]};break;case 82:this.$={type1:r[l-1],type2:"none",lineType:r[l]};break;case 83:this.$={type1:"none",type2:"none",lineType:r[l]};break;case 84:this.$=i.relationType.AGGREGATION;break;case 85:this.$=i.relationType.EXTENSION;break;case 86:this.$=i.relationType.COMPOSITION;break;case 87:this.$=i.relationType.DEPENDENCY;break;case 88:this.$=i.relationType.LOLLIPOP;break;case 89:this.$=i.lineType.LINE;break;case 90:this.$=i.lineType.DOTTED_LINE;break;case 91:case 97:this.$=r[l-2],i.setClickEvent(r[l-1],r[l]);break;case 92:case 98:this.$=r[l-3],i.setClickEvent(r[l-2],r[l-1]),i.setTooltip(r[l-2],r[l]);break;case 93:this.$=r[l-2],i.setLink(r[l-1],r[l]);break;case 94:this.$=r[l-3],i.setLink(r[l-2],r[l-1],r[l]);break;case 95:this.$=r[l-3],i.setLink(r[l-2],r[l-1]),i.setTooltip(r[l-2],r[l]);break;case 96:this.$=r[l-4],i.setLink(r[l-3],r[l-2],r[l]),i.setTooltip(r[l-3],r[l-1]);break;case 99:this.$=r[l-3],i.setClickEvent(r[l-2],r[l-1],r[l]);break;case 100:this.$=r[l-4],i.setClickEvent(r[l-3],r[l-2],r[l-1]),i.setTooltip(r[l-3],r[l]);break;case 101:this.$=r[l-3],i.setLink(r[l-2],r[l]);break;case 102:this.$=r[l-4],i.setLink(r[l-3],r[l-1],r[l]);break;case 103:this.$=r[l-4],i.setLink(r[l-3],r[l-1]),i.setTooltip(r[l-3],r[l]);break;case 104:this.$=r[l-5],i.setLink(r[l-4],r[l-2],r[l]),i.setTooltip(r[l-4],r[l-1]);break;case 105:this.$=r[l-2],i.setCssStyle(r[l-1],r[l]);break;case 106:i.setCssClass(r[l-1],r[l]);break;case 108:r[l-2].push(r[l]),this.$=r[l-2]}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:s,37:i,38:22,42:a,43:23,46:r,48:n,51:l,52:u,54:o,56:c,57:h,60:p,62:A,63:y,64:g,65:m,75:b,76:C,78:k,82:f,83:E,86:T,100:D,102:F,103:B},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(_,[2,5],{8:[1,48]}),{8:[1,49]},t($,[2,19],{22:[1,50]}),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,24]),t($,[2,25]),t($,[2,26]),t($,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),{34:[1,51]},{36:[1,52]},t($,[2,33]),t($,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:x,69:S,70:N,71:L,72:v,73:I,74:w}),{39:[1,65]},t(O,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),t($,[2,65]),t($,[2,66]),{16:69,60:p,86:T,100:D,102:F},{16:39,17:40,19:70,60:p,86:T,100:D,102:F,103:B},{16:39,17:40,19:71,60:p,86:T,100:D,102:F,103:B},{16:39,17:40,19:72,60:p,86:T,100:D,102:F,103:B},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:p,86:T,100:D,102:F,103:B},{13:R,55:76},{58:78,60:[1,79]},t($,[2,76]),t($,[2,77]),t($,[2,78]),t($,[2,79]),t(K,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:p,86:T,100:D,102:F,103:B}),t(K,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:p,86:T,100:D,102:F,103:B},{16:39,17:40,19:87,60:p,86:T,100:D,102:F,103:B},t(P,[2,133]),t(P,[2,134]),t(P,[2,135]),t(P,[2,136]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),t(_,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:s,37:i,42:a,46:r,48:n,51:l,52:u,54:o,56:c,57:h,60:p,62:A,63:y,64:g,65:m,75:b,76:C,78:k,82:f,83:E,86:T,100:D,102:F,103:B}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:s,37:i,38:22,42:a,43:23,46:r,48:n,51:l,52:u,54:o,56:c,57:h,60:p,62:A,63:y,64:g,65:m,75:b,76:C,78:k,82:f,83:E,86:T,100:D,102:F,103:B},t($,[2,20]),t($,[2,31]),t($,[2,32]),{13:[1,91],16:39,17:40,19:90,60:p,86:T,100:D,102:F,103:B},{53:92,66:56,67:57,68:x,69:S,70:N,71:L,72:v,73:I,74:w},t($,[2,64]),{67:93,73:I,74:w},t(M,[2,83],{66:94,68:x,69:S,70:N,71:L,72:v}),t(G,[2,84]),t(G,[2,85]),t(G,[2,86]),t(G,[2,87]),t(G,[2,88]),t(U,[2,89]),t(U,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:a,43:23,48:n,54:o,56:c},{16:100,60:p,86:T,100:D,102:F},{41:[1,102],45:101,51:Y},{16:104,60:p,86:T,100:D,102:F},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:z,50:Q,59:110,60:W,82:j,84:111,85:112,86:X,87:q,88:H,89:V,90:J},{60:[1,122]},{13:R,55:123},t(O,[2,72]),t(O,[2,138]),{22:z,50:Q,59:124,60:W,61:[1,125],82:j,84:111,85:112,86:X,87:q,88:H,89:V,90:J},t(Z,[2,74]),{16:39,17:40,19:126,60:p,86:T,100:D,102:F,103:B},t(K,[2,16]),t(K,[2,17]),t(K,[2,18]),{11:127,12:tt,39:[2,36]},t(te,[2,9],{16:85,17:86,15:130,18:[1,129],60:p,86:T,100:D,102:F,103:B}),t(te,[2,10]),t(ts,[2,55],{11:131,12:tt}),t(_,[2,7]),{9:[1,132]},t(ti,[2,67]),{16:39,17:40,19:133,60:p,86:T,100:D,102:F,103:B},{13:[1,135],16:39,17:40,19:134,60:p,86:T,100:D,102:F,103:B},t(M,[2,82],{66:136,68:x,69:S,70:N,71:L,72:v}),t(M,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:a,43:23,48:n,54:o,56:c},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},t(O,[2,48],{39:[1,142]}),{41:[1,143]},t(O,[2,50]),{41:[2,61],45:144,51:Y},{47:[1,145]},{16:39,17:40,19:146,60:p,86:T,100:D,102:F,103:B},t($,[2,91],{13:[1,147]}),t($,[2,93],{13:[1,149],77:[1,148]}),t($,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},t($,[2,105],{61:ta}),t(tr,[2,107],{85:154,22:z,50:Q,60:W,82:j,86:X,87:q,88:H,89:V,90:J}),t(tn,[2,109]),t(tn,[2,111]),t(tn,[2,112]),t(tn,[2,113]),t(tn,[2,114]),t(tn,[2,115]),t(tn,[2,116]),t(tn,[2,117]),t(tn,[2,118]),t(tn,[2,119]),t($,[2,106]),t(O,[2,71]),t($,[2,73],{61:ta}),{60:[1,155]},t(K,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:p,86:T,100:D,102:F,103:B},t(te,[2,12]),t(ts,[2,56]),{1:[2,4]},t(ti,[2,69]),t(ti,[2,68]),{16:39,17:40,19:158,60:p,86:T,100:D,102:F,103:B},t(M,[2,80]),t(O,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:a,43:23,48:n,54:o,56:c},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:a,43:23,48:n,54:o,56:c},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:a,43:23,48:n,54:o,56:c},{45:163,51:Y},t(O,[2,49]),{41:[2,62]},t(O,[2,52],{39:[1,164]}),t($,[2,60]),t($,[2,92]),t($,[2,94]),t($,[2,95],{77:[1,165]}),t($,[2,98]),t($,[2,99],{13:[1,166]}),t($,[2,101],{13:[1,168],77:[1,167]}),{22:z,50:Q,60:W,82:j,84:169,85:112,86:X,87:q,88:H,89:V,90:J},t(tn,[2,110]),t(Z,[2,75]),{14:[1,170]},t(te,[2,11]),t(ti,[2,70]),t(O,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:Y},t($,[2,96]),t($,[2,100]),t($,[2,102]),t($,[2,103],{77:[1,174]}),t(tr,[2,108],{85:154,22:z,50:Q,60:W,82:j,86:X,87:q,88:H,89:V,90:J}),t(ts,[2,8]),t(O,[2,51]),{41:[1,175]},t(O,[2,54]),t($,[2,104]),t(O,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:(0,d.K)(function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},"parseError"),parse:(0,d.K)(function(t){var e=this,s=[0],i=[],a=[null],r=[],n=this.table,l="",u=0,o=0,c=0,h=r.slice.call(arguments,1),p=Object.create(this.lexer),A={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(A[y]=this.yy[y]);p.setInput(t,A),A.lexer=p,A.parser=this,void 0===p.yylloc&&(p.yylloc={});var g=p.yylloc;r.push(g);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof A.parseError?this.parseError=A.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,d.K)(function(t){s.length=s.length-2*t,a.length=a.length-t,r.length=r.length-t},"popStack"),(0,d.K)(b,"lex");for(var C,k,f,E,T,D,F,B,_,$={};;){if(f=s[s.length-1],this.defaultActions[f]?E=this.defaultActions[f]:(null==C&&(C=b()),E=n[f]&&n[f][C]),void 0===E||!E.length||!E[0]){var x="";for(D in _=[],n[f])this.terminals_[D]&&D>2&&_.push("'"+this.terminals_[D]+"'");x=p.showPosition?"Parse error on line "+(u+1)+":\n"+p.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[C]||C)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==C?"end of input":"'"+(this.terminals_[C]||C)+"'"),this.parseError(x,{text:p.match,token:this.terminals_[C]||C,line:p.yylineno,loc:g,expected:_})}if(E[0]instanceof Array&&E.length>1)throw Error("Parse Error: multiple actions possible at state: "+f+", token: "+C);switch(E[0]){case 1:s.push(C),a.push(p.yytext),r.push(p.yylloc),s.push(E[1]),C=null,k?(C=k,k=null):(o=p.yyleng,l=p.yytext,u=p.yylineno,g=p.yylloc,c>0&&c--);break;case 2:if(F=this.productions_[E[1]][1],$.$=a[a.length-F],$._$={first_line:r[r.length-(F||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(F||1)].first_column,last_column:r[r.length-1].last_column},m&&($._$.range=[r[r.length-(F||1)].range[0],r[r.length-1].range[1]]),void 0!==(T=this.performAction.apply($,[l,o,u,A,E[1],a,r].concat(h))))return T;F&&(s=s.slice(0,-1*F*2),a=a.slice(0,-1*F),r=r.slice(0,-1*F)),s.push(this.productions_[E[1]][0]),a.push($.$),r.push($._$),B=n[s[s.length-2]][s[s.length-1]],s.push(B);break;case 3:return!0}}return!0},"parse")};function tu(){this.yy={}}return tl.lexer={EOF:1,parseError:(0,d.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,d.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,d.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,d.K)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=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),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,d.K)(function(){return this._more=!0,this},"more"),reject:(0,d.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,d.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,d.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,d.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,d.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,d.K)(function(t,e){var s,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var r in a)this[r]=a[r];return!1},"test_match"),next:(0,d.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,a=this._currentRules(),r=0;r<a.length;r++)if((s=this._input.match(this.rules[a[r]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,a[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,d.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,d.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,d.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,d.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,d.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,d.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,d.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,d.K)(function(t,e,s,i){switch(s){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:case 5:case 14:case 31:case 37:case 41:case 48:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 59:case 62:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 36:return 8;case 15:case 16:return 7;case 17:case 38:case 46:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 23:return 80;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:case 40:return this.popState(),8;case 32:return this.begin("namespace-body"),39;case 33:this.popState(),this.less(0);break;case 34:case 44:return this.popState(),41;case 35:case 45:return"EOF_IN_STRUCT";case 39:return this.begin("class"),48;case 42:return this.popState(),this.popState(),41;case 43:return this.begin("class-body"),39;case 47:return"OPEN_IN_STRUCT";case 49:return"MEMBER";case 50:return 83;case 51:return 75;case 52:return 76;case 53:return 78;case 54:return 54;case 55:return 56;case 56:return 46;case 57:return 47;case 58:return 81;case 60:return"GENERICTYPE";case 61:this.begin("generic");break;case 63:return"BQUOTE_STR";case 64:this.begin("bqstring");break;case 65:case 66:case 67:case 68:return 77;case 69:case 70:return 69;case 71:case 72:return 71;case 73:return 70;case 74:return 68;case 75:return 72;case 76:return 73;case 77:return 74;case 78:return 22;case 79:return 44;case 80:return 100;case 81:return 18;case 82:return"PLUS";case 83:return 87;case 84:return 61;case 85:case 86:return 89;case 87:return 90;case 88:case 89:return"EQUALS";case 90:return 60;case 91:return 12;case 92:return 14;case 93:return"PUNCTUATION";case 94:return 86;case 95:return 102;case 96:case 97:return 50;case 98:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,29,34,35,36,37,38,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},namespace:{rules:[26,29,30,31,32,33,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},"class-body":{rules:[26,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},class:{rules:[26,40,41,42,43,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr:{rules:[9,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_title:{rules:[7,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_args:{rules:[22,23,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_name:{rules:[19,20,21,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},href:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},struct:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},generic:{rules:[26,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},bqstring:{rules:[26,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},string:{rules:[24,25,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],inclusive:!0}}},(0,d.K)(tu,"Parser"),tu.prototype=tl,tl.Parser=tu,new tu}();y.parser=y;var g=["#","+","~","-",""],m=class{static{(0,d.K)(this,"ClassMember")}constructor(t,e){this.memberType=e,this.visibility="",this.classifier="",this.text="";let s=(0,c.jZ)(t,(0,c.D7)());this.parseMember(s)}getDisplayDetails(){let t=this.visibility+(0,c.QO)(this.id);return"method"===this.memberType&&(t+=`(${(0,c.QO)(this.parameters.trim())})`,this.returnType&&(t+=" : "+(0,c.QO)(this.returnType))),{displayText:t=t.trim(),cssStyle:this.parseClassifier()}}parseMember(t){let e="";if("method"===this.memberType){let s=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(t);if(s){let t=s[1]?s[1].trim():"";if(g.includes(t)&&(this.visibility=t),this.id=s[2],this.parameters=s[3]?s[3].trim():"",e=s[4]?s[4].trim():"",this.returnType=s[5]?s[5].trim():"",""===e){let t=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(t)&&(e=t,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let s=t.length,i=t.substring(0,1),a=t.substring(s-1);g.includes(i)&&(this.visibility=i),/[$*]/.exec(a)&&(e=a),this.id=t.substring(+(""!==this.visibility),""===e?s:s-1)}this.classifier=e,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let s=`${this.visibility?"\\"+this.visibility:""}${(0,c.QO)(this.id)}${"method"===this.memberType?`(${(0,c.QO)(this.parameters)})${this.returnType?" : "+(0,c.QO)(this.returnType):""}`:""}`;this.text=s.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},b="classId-",C=0,k=(0,d.K)(t=>c.Y2.sanitizeText(t,(0,c.D7)()),"sanitizeText"),f=class t{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=(0,d.K)(t=>{let e=(0,l.Ck)();(0,p.Ltv)(t).select("svg").selectAll("g").filter(function(){return null!==(0,p.Ltv)(this).attr("title")}).on("mouseover",t=>{let s=(0,p.Ltv)(t.currentTarget),i=s.attr("title");if(!i)return;let a=t.currentTarget.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(A.A.sanitize(i)).style("left",`${window.scrollX+a.left+a.width/2}px`).style("top",`${window.scrollY+a.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",t=>{e.transition().duration(500).style("opacity",0),(0,p.Ltv)(t.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=c.SV,this.getAccTitle=c.iN,this.setAccDescription=c.EI,this.getAccDescription=c.m7,this.setDiagramTitle=c.ke,this.getDiagramTitle=c.ab,this.getConfig=(0,d.K)(()=>(0,c.D7)().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.popNamespace=this.popNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{(0,d.K)(this,"ClassDB")}splitClassNameAndType(t){let e=c.Y2.sanitizeText(t,(0,c.D7)()),s="",i=e;if(e.indexOf("~")>0){let t=e.split("~");i=k(t[0]),s=k(t[1])}return{className:i,type:s}}setClassLabel(t,e){let s=c.Y2.sanitizeText(t,(0,c.D7)());e&&(e=k(e));let{className:i}=this.splitClassNameAndType(s);this.classes.get(i).label=e,this.classes.get(i).text=`${e}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(t){let e=c.Y2.sanitizeText(t,(0,c.D7)()),{className:s,type:i}=this.splitClassNameAndType(e);if(this.classes.has(s))return;let a=c.Y2.sanitizeText(s,(0,c.D7)());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:b+a+"-"+C}),C++}addInterface(t,e){let s={id:`interface${this.interfaces.length}`,label:t,classId:e};this.interfaces.push(s)}setDiagramId(t){this.diagramId=t}lookUpDomId(t){let e=c.Y2.sanitizeText(t,(0,c.D7)());if(this.classes.has(e)){let t=this.classes.get(e).domId;return this.diagramId?`${this.diagramId}-${t}`:t}throw Error("Class not found: "+e)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.direction="TB",(0,c.IU)()}getClass(t){return this.classes.get(t)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(t){let e="number"==typeof t?`note${t}`:t;return this.notes.get(e)}getNotes(){return this.notes}addRelation(t){h.R.debug("Adding relation: "+JSON.stringify(t));let e=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];t.relation.type1!==this.relationType.LOLLIPOP||e.includes(t.relation.type2)?t.relation.type2!==this.relationType.LOLLIPOP||e.includes(t.relation.type1)?(this.addClass(t.id1),this.addClass(t.id2)):(this.addClass(t.id1),this.addInterface(t.id2,t.id1),t.id2=`interface${this.interfaces.length-1}`):(this.addClass(t.id2),this.addInterface(t.id1,t.id2),t.id1=`interface${this.interfaces.length-1}`),t.id1=this.splitClassNameAndType(t.id1).className,t.id2=this.splitClassNameAndType(t.id2).className,t.relationTitle1=c.Y2.sanitizeText(t.relationTitle1.trim(),(0,c.D7)()),t.relationTitle2=c.Y2.sanitizeText(t.relationTitle2.trim(),(0,c.D7)()),this.relations.push(t)}addAnnotation(t,e){let s=this.splitClassNameAndType(t).className;this.classes.get(s).annotations.push(e)}addMember(t,e){this.addClass(t);let s=this.splitClassNameAndType(t).className,i=this.classes.get(s);if("string"==typeof e){let t=e.trim();t.startsWith("<<")&&t.endsWith(">>")?i.annotations.push(k(t.substring(2,t.length-2))):t.indexOf(")")>0?i.methods.push(new m(t,"method")):t&&i.members.push(new m(t,"attribute"))}}addMembers(t,e){Array.isArray(e)&&(e.reverse(),e.forEach(e=>this.addMember(t,e)))}addNote(t,e){let s=this.notes.size,i={id:`note${s}`,class:e,text:t,index:s};return this.notes.set(i.id,i),i.id}cleanupLabel(t){return t.startsWith(":")&&(t=t.substring(1)),k(t.trim())}setCssClass(t,e){t.split(",").forEach(t=>{let s=t;/\d/.exec(t[0])&&(s=b+s),s=this.splitClassNameAndType(s).className;let i=this.classes.get(s);i&&(i.cssClasses+=" "+e)})}defineClass(t,e){for(let s of t){let t=this.styleClasses.get(s);void 0===t&&(t={id:s,styles:[],textStyles:[]},this.styleClasses.set(s,t)),e&&e.forEach(e=>{if(/color/.exec(e)){let s=e.replace("fill","bgFill");t.textStyles.push(s)}t.styles.push(e)}),this.classes.forEach(t=>{t.cssClasses.includes(s)&&t.styles.push(...e.flatMap(t=>t.split(",")))})}}setTooltip(t,e){t.split(",").forEach(t=>{if(void 0!==e){let s=this.splitClassNameAndType(t).className,i=this.classes.get(s);i&&(i.tooltip=k(e))}})}getTooltip(t,e){return e&&this.namespaces.has(e)?this.namespaces.get(e).classes.get(t).tooltip:this.classes.get(t).tooltip}setLink(t,e,s){let i=(0,c.D7)();t.split(",").forEach(t=>{let a=t;/\d/.exec(t[0])&&(a=b+a),a=this.splitClassNameAndType(a).className;let r=this.classes.get(a);r&&(r.link=o._K.formatUrl(e,i),"sandbox"===i.securityLevel?r.linkTarget="_top":"string"==typeof s?r.linkTarget=k(s):r.linkTarget="_blank")}),this.setCssClass(t,"clickable")}setClickEvent(t,e,s){t.split(",").forEach(t=>{this.setClickFunc(t,e,s);let i=this.splitClassNameAndType(t).className,a=this.classes.get(i);a&&(a.haveCallback=!0)}),this.setCssClass(t,"clickable")}setClickFunc(t,e,s){let i=c.Y2.sanitizeText(t,(0,c.D7)());if("loose"!==(0,c.D7)().securityLevel||void 0===e)return;let a=this.splitClassNameAndType(i).className;if(this.classes.has(a)){let t=[];if("string"==typeof s){t=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<t.length;e++){let s=t[e].trim();s.startsWith('"')&&s.endsWith('"')&&(s=s.substr(1,s.length-2)),t[e]=s}}0===t.length&&t.push(a),this.functions.push(()=>{let s=this.lookUpDomId(a),i=document.querySelector(`[id="${s}"]`);null!==i&&i.addEventListener("click",()=>{o._K.runFunc(e,...t)},!1)})}}bindFunctions(t){this.functions.forEach(e=>{e(t)})}escapeHtml(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(t){this.direction=t}static resolveQualifiedId(t,e){let s=e.at(-1);return s?`${s}.${t}`:t}static getAncestorIds(t){let e=t.split("."),s=Array(e.length);s[0]=e[0];for(let t=1;t<e.length;t++)s[t]=`${s[t-1]}.${e[t]}`;return s}createNamespaceNode(t,e,s,i=!1){return{id:t,label:e,classes:new Map,notes:new Map,children:new Map,domId:b+t+"-"+this.namespaceCounter++,parent:s,explicit:i}}linkParentChild(t,e){let s=this.namespaces.get(t),i=this.namespaces.get(e);s&&i&&(s.children.has(e)||s.children.set(e,i),i.parent??=t)}addNamespace(e,s){let i=t.resolveQualifiedId(e,this.namespaceStack);if(this.namespaceStack.push(i),this.namespaces.has(i)){let t=this.namespaces.get(i);return t.explicit=!0,s&&(t.label=s),i}let a=i.split("."),r=t.getAncestorIds(i);for(let t=0;t<r.length;t++){let e=r[t],i=t>0?r[t-1]:void 0,n=t===r.length-1,l=n&&s?s:a[t];this.namespaces.has(e)?n&&(this.namespaces.get(e).explicit=!0):this.namespaces.set(e,this.createNamespaceNode(e,l,i,n)),i&&this.linkParentChild(i,e)}return i}popNamespace(){this.namespaceStack.pop()}getNamespace(t){return this.namespaces.get(t)}getNamespaces(){return this.namespaces}addClassesToNamespace(t,e,s){if(this.namespaces.has(t)){for(let s of e){let{className:e}=this.splitClassNameAndType(s),i=this.getClass(e);i.parent=t,this.namespaces.get(t).classes.set(e,i)}for(let e of s){let s=this.getNote(e);s.parent=t,this.namespaces.get(t).notes.set(e,s)}}}setCssStyle(t,e){let s=this.classes.get(t);if(e&&s)for(let t of e)t.includes(",")?s.styles.push(...t.split(",")):s.styles.push(t)}getArrowMarker(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}resolveExplicitAncestor(t){let e=t;for(;e;){let t=this.namespaces.get(e);if(!t)break;if(t.explicit)return e;e=t.parent}}getData(){let t=[],e=[],s=(0,c.D7)(),i=s.class?.hierarchicalNamespaces??!0;for(let e of this.namespaces.values()){if(!i&&!e.explicit)continue;let a={id:e.id,label:i?e.label:e.id,isGroup:!0,padding:s.class.padding??16,shape:"rect",cssStyles:[],look:s.look,parentId:i?e.parent:void 0};t.push(a)}let a=0;for(let e of this.classes.values()){let r=i?e.parent:this.resolveExplicitAncestor(e.parent),n={...e,type:void 0,isGroup:!1,parentId:r,look:s.look,colorIndex:a++};t.push(n)}for(let a of this.notes.values()){let r=i?a.parent:this.resolveExplicitAncestor(a.parent),n={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:s.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${s.themeVariables.noteBkgColor}`,`stroke: ${s.themeVariables.noteBorderColor}`],look:s.look,parentId:r,labelType:"markdown"};t.push(n);let l=this.classes.get(a.class)?.id;if(l){let t={id:`edgeNote${a.index}`,start:a.id,end:l,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:s.look};e.push(t)}}for(let e of this.interfaces){let i={id:e.id,label:e.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:s.look};t.push(i)}let r=0;for(let t of this.relations){r++;let i={id:(0,o.rY)(t.id1,t.id2,{prefix:"id",counter:r}),start:t.id1,end:t.id2,type:"normal",label:t.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(t.relation.type1),arrowTypeEnd:this.getArrowMarker(t.relation.type2),startLabelRight:"none"===t.relationTitle1?"":t.relationTitle1,endLabelLeft:"none"===t.relationTitle2?"":t.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:t.style||"",pattern:1==t.relation.lineType?"dashed":"solid",look:s.look,labelType:"markdown"};e.push(i)}return{nodes:t,edges:e,other:{},config:s,direction:this.getDirection()}}},E=(0,d.K)(t=>{let{theme:e,bkgColorArray:s,borderColorArray:i}=t;if(!(0,u.P1)(e,i))return"";let a=(0,u.rq)(t.look),r=(0,u.Ic)(s),n="";for(let e=0;e<(0,u.nw)(t.THEME_COLOR_LIMIT,i);e++){let t=i[e%i.length];n+=` + + [data-look="${a}"][data-color-id="color-${e}"].node .outer-path path { + stroke: ${t}; + ${r?`fill: ${s[e%s.length]};`:""} + } + + [data-look="${a}"][data-color-id="color-${e}"].node .divider path { + stroke: ${t}; + } + `}return n},"genColor"),T=(0,d.K)(t=>`${E(t)} + g.classGroup text { + fill: ${t.nodeBorder||t.classText}; + stroke: none; + font-family: ${t.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + +.nodeLabel, .edgeLabel { + color: ${t.classText}; +} + +.noteLabel .nodeLabel, .noteLabel .edgeLabel { + color: ${t.noteTextColor}; +} +.edgeLabel .label rect { + fill: ${t.mainBkg}; +} +.label text { + fill: ${t.classText}; +} + +.labelBkg { + background: ${t.mainBkg}; +} +.edgeLabel .label span { + background: ${t.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: ${t.strokeWidth}; + } + + +.divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.classGroup line { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${t.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${t.lineColor}; + stroke-width: ${t.strokeWidth}; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +[id$="-compositionStart"], .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-compositionEnd"], .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-dependencyStart"], .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-dependencyEnd"], .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-extensionStart"], .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-extensionEnd"], .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-aggregationStart"], .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-aggregationEnd"], .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-lollipopStart"], .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +[id$="-lollipopEnd"], .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} + +.edgeLabel[data-look="neo"] { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} + ${(0,i.o)()} +`,"getStyles"),D=(0,d.K)((t,e="TB")=>{if(!t.doc)return e;let s=e;for(let e of t.doc)"dir"===e.stmt&&(s=e.value);return s},"getDir"),F=(0,d.K)(function(t,e){return e.db.getClasses()},"getClasses"),B={parser:y,get db(){return new f},renderer:{getClasses:F,draw:(0,d.K)(async function(t,e,s,i){h.R.info("REF0:"),h.R.info("Drawing class diagram (v3)",e);let{securityLevel:l,state:u,layout:d}=(0,c.D7)();i.db.setDiagramId(e);let p=i.db.getData(),A=(0,a.A)(e,l);p.type=i.type,p.layoutAlgorithm=(0,n.q7)(d),p.nodeSpacing=u?.nodeSpacing||50,p.rankSpacing=u?.rankSpacing||50,p.markers=["aggregation","extension","composition","dependency","lollipop"],p.diagramId=e,await (0,n.XX)(p,A),o._K.insertTitle(A,"classDiagramTitleText",u?.titleTopMargin??25,i.db.getDiagramTitle()),(0,r.P)(A,8,"classDiagram",u?.useMaxWidth??!0)},"draw"),getDir:D},styles:T,init:(0,d.K)(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}}}]); \ No newline at end of file diff --git a/en/assets/js/8738.3885adf6.js b/en/assets/js/8738.3885adf6.js new file mode 100644 index 0000000..581296d --- /dev/null +++ b/en/assets/js/8738.3885adf6.js @@ -0,0 +1,86 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8738"],{1578(e,t,r){r.d(t,{$:()=>O,U:()=>j,db:()=>S});var i=r(4924),a=r(1177),n=r(1293),o=r(6827),l="",s="",d="",m=[],c=new Map,h=(0,o.K)(e=>(0,a.jZ)(e,(0,a.D7)()),"sanitizeText"),p=(0,o.K)(e=>{switch(e.type){case"terminal":return{...e,value:h(e.value)};case"nonterminal":return{...e,name:h(e.name)};case"sequence":return{...e,elements:e.elements.map(p)};case"choice":return{...e,alternatives:e.alternatives.map(p)};case"optional":return{...e,element:p(e.element)};case"repetition":return{...e,element:p(e.element),separator:e.separator?p(e.separator):void 0};case"special":return{...e,text:h(e.text)}}},"sanitizeAstNode"),u=(0,o.K)(()=>{l="",s="",d="",m.length=0,c.clear(),(0,a.IU)(),n.R.debug("[Railroad] Database cleared")},"clear"),g=(0,o.K)(e=>{l=h(e),n.R.debug("[Railroad] Title set:",e)},"setTitle"),T=(0,o.K)(()=>l,"getTitle"),f=(0,o.K)(e=>{let t={...e,name:h(e.name),definition:p(e.definition),comment:e.comment?h(e.comment):void 0};n.R.debug("[Railroad] Adding rule:",t.name),c.has(t.name)&&n.R.warn(`[Railroad] Rule '${t.name}' is already defined. Overwriting.`),m.push(t),c.set(t.name,t)},"addRule"),x=(0,o.K)(()=>m,"getRules"),w=(0,o.K)(e=>c.get(e),"getRule"),k=(0,o.K)(e=>{s=h(e).replace(/^\s+/g,""),n.R.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),C=(0,o.K)(()=>s,"getAccTitle"),$=(0,o.K)(e=>{d=h(e).replace(/\n\s+/g,"\n"),n.R.debug("[Railroad] Accessibility description set:",e)},"setAccDescription"),S={clear:u,setTitle:g,getTitle:T,addRule:f,getRules:x,getRule:w,setAccTitle:k,getAccTitle:C,setAccDescription:$,getAccDescription:(0,o.K)(()=>d,"getAccDescription"),setDiagramTitle:g,getDiagramTitle:T},F={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},y=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,R=/^[\w "',.-]+$/,b=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),v=(0,o.K)(e=>!!e&&Object.keys(e).every(e=>"railroad"===e||b.has(e)),"isRailroadStyleOptions"),z=(0,o.K)(e=>e?"railroad"in e&&e.railroad?e.railroad:v(e)?e:{}:{},"extractRailroadOverrides"),K=(0,o.K)(e=>{if(!e||v(e))return{};let{railroad:t,svgId:r,theme:i,look:a,...n}=e;return n},"extractThemeOverrides"),M=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return y.test(r)?r:t},"sanitizeColorValue"),N=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return R.test(r)?r:t},"sanitizeFontFamilyValue"),A=(0,o.K)((e,t)=>{let r="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(r)&&r>=0?r:t},"sanitizeNumberValue"),D=(0,o.K)(e=>{let t="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(t)&&t>0?t:void 0},"parseThemeFontSize"),B=(0,o.K)(e=>{let t=N(e.fontFamily,F.fontFamily),r=D(e.fontSize)??F.fontSize;return{...F,fontFamily:t,fontSize:r,terminalFill:M(e.secondBkg??e.secondaryColor,F.terminalFill),terminalStroke:M(e.secondaryBorderColor??e.lineColor,F.terminalStroke),terminalTextColor:M(e.secondaryTextColor??e.textColor,F.terminalTextColor),nonTerminalFill:M(e.mainBkg??e.background,F.nonTerminalFill),nonTerminalStroke:M(e.primaryBorderColor??e.lineColor,F.nonTerminalStroke),nonTerminalTextColor:M(e.primaryTextColor??e.textColor,F.nonTerminalTextColor),lineColor:M(e.lineColor,F.lineColor),markerFill:M(e.lineColor,F.markerFill),commentFill:M(e.labelBackground??e.tertiaryColor,F.commentFill),commentStroke:M(e.tertiaryBorderColor??e.lineColor,F.commentStroke),commentTextColor:M(e.tertiaryTextColor??e.textColor,F.commentTextColor),specialFill:M(e.tertiaryColor??e.secondaryColor,F.specialFill),specialStroke:M(e.tertiaryBorderColor??e.secondaryBorderColor,F.specialStroke),ruleNameColor:M(e.titleColor??e.textColor,F.ruleNameColor)}},"buildThemeDefaults"),E=(0,o.K)(e=>{let t=(0,a.zj)(),r=B({...(0,a.P$)(),...t.themeVariables??{},...K(e)}),i={...t.railroad??{},...z(e)};return{compactMode:i.compactMode??r.compactMode,padding:A(i.padding,r.padding),verticalSeparation:A(i.verticalSeparation,r.verticalSeparation),horizontalSeparation:A(i.horizontalSeparation,r.horizontalSeparation),arcRadius:A(i.arcRadius,r.arcRadius),fontSize:A(i.fontSize,r.fontSize),fontFamily:N(i.fontFamily,r.fontFamily),terminalFill:M(i.terminalFill,r.terminalFill),terminalStroke:M(i.terminalStroke,r.terminalStroke),terminalTextColor:M(i.terminalTextColor,r.terminalTextColor),nonTerminalFill:M(i.nonTerminalFill,r.nonTerminalFill),nonTerminalStroke:M(i.nonTerminalStroke,r.nonTerminalStroke),nonTerminalTextColor:M(i.nonTerminalTextColor,r.nonTerminalTextColor),lineColor:M(i.lineColor,r.lineColor),strokeWidth:A(i.strokeWidth,r.strokeWidth),markerFill:M(i.markerFill,r.markerFill),commentFill:M(i.commentFill,r.commentFill),commentStroke:M(i.commentStroke,r.commentStroke),commentTextColor:M(i.commentTextColor,r.commentTextColor),specialFill:M(i.specialFill,r.specialFill),specialStroke:M(i.specialStroke,r.specialStroke),ruleNameColor:M(i.ruleNameColor,r.ruleNameColor),showMarkers:i.showMarkers??r.showMarkers,markerRadius:A(i.markerRadius,r.markerRadius)}},"buildRailroadStyleOptions"),O=(0,o.K)(e=>{let{fontFamily:t,fontSize:r,terminalFill:i,terminalStroke:a,terminalTextColor:n,nonTerminalFill:o,nonTerminalStroke:l,nonTerminalTextColor:s,lineColor:d,strokeWidth:m,markerFill:c,commentFill:h,commentStroke:p,commentTextColor:u,specialFill:g,specialStroke:T,ruleNameColor:f}=E(e);return` + .railroad-diagram { + font-family: ${t}; + font-size: ${r}px; + } + + .railroad-terminal rect { + fill: ${i}; + stroke: ${a}; + stroke-width: ${m}px; + } + + .railroad-terminal text { + fill: ${n}; + font-family: ${t}; + font-size: ${r}px; + text-anchor: middle; + dominant-baseline: middle; + } + + .railroad-nonterminal rect { + fill: ${o}; + stroke: ${l}; + stroke-width: ${m}px; + } + + .railroad-nonterminal text { + fill: ${s}; + font-family: ${t}; + font-size: ${r}px; + text-anchor: middle; + dominant-baseline: middle; + } + + .railroad-line { + stroke: ${d}; + stroke-width: ${m}px; + fill: none; + } + + .railroad-start circle, + .railroad-end circle { + fill: ${c}; + } + + .railroad-comment ellipse { + fill: ${h}; + stroke: ${p}; + stroke-width: ${m}px; + } + + .railroad-comment text { + fill: ${u}; + font-style: italic; + font-family: ${t}; + font-size: ${r}px; + text-anchor: middle; + dominant-baseline: middle; + } + + .railroad-special rect { + fill: ${g}; + stroke: ${T}; + stroke-width: ${m}px; + stroke-dasharray: 5,3; + } + + .railroad-special text { + fill: ${s}; + font-family: ${t}; + font-size: ${r}px; + text-anchor: middle; + dominant-baseline: middle; + } + + .railroad-rule-name { + font-weight: bold; + fill: ${f}; + font-family: ${t}; + font-size: ${r}px; + } + + .railroad-group { + /* Grouping container, no specific styles */ + } +`},"getStyles"),q=class{constructor(){this.d=""}static{(0,o.K)(this,"PathBuilder")}moveTo(e,t){return this.d+=`M ${e} ${t} `,this}lineTo(e,t){return this.d+=`L ${e} ${t} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,t,r,i,a,n,o){return this.d+=`A ${e} ${t} ${r} ${+!!i} ${+!!a} ${n} ${o} `,this}build(){return this.d.trim()}},W=class{constructor(e,t=E()){this.textCache=new Map,this.svg=e,this.config=t}static{(0,o.K)(this,"RailroadRenderer")}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);let t=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(e),r=t.node().getBBox(),i={width:r.width,height:r.height};return t.remove(),this.textCache.set(e,i),i}renderTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-terminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a).attr("rx",10).attr("ry",10),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderNonTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-nonterminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderSequence(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0,n=0;for(let e of r)i+=e.dimensions.width,a=Math.max(a,e.dimensions.up),n=Math.max(n,e.dimensions.down);i+=(r.length-1)*this.config.horizontalSeparation;let o=e.append("g").attr("class","railroad-sequence"),l=0;for(let e=0;e<r.length;e++){let t=r[e],i=a-t.dimensions.up;if(o.node().appendChild(t.element).setAttribute("transform",`translate(${l}, ${i})`),e<r.length-1){let e=l+t.dimensions.width,r=e+this.config.horizontalSeparation,i=a;o.append("path").attr("class","railroad-line").attr("d",new q().moveTo(e,i).lineTo(r,i).build())}l+=t.dimensions.width+this.config.horizontalSeparation}return{element:o.node(),dimensions:{width:i,height:a+n,up:a,down:n}}}renderChoice(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0;for(let e of r)i=Math.max(i,e.dimensions.width),a+=e.dimensions.height;a+=(r.length-1)*this.config.verticalSeparation;let n=this.config.arcRadius,o=i+4*n,l=e.append("g").attr("class","railroad-choice"),s=0,d=a/2;for(let e of r){let t=s,r=t+e.dimensions.up,a=2*n+(i-e.dimensions.width)/2;l.node().appendChild(e.element).setAttribute("transform",`translate(${a}, ${t})`);let m=new q,c=r>d;r===d?m.moveTo(0,d).lineTo(a,r):m.moveTo(0,d).arcTo(n,n,0,!1,c,n,d+(c?n:-n)).lineTo(n,r-(c?n:-n)).arcTo(n,n,0,!1,!c,2*n,r).lineTo(a,r),l.append("path").attr("class","railroad-line").attr("d",m.build());let h=new q,p=a+e.dimensions.width,u=o-2*n;r===d?h.moveTo(p,r).lineTo(o,d):h.moveTo(p,r).lineTo(u,r).arcTo(n,n,0,!1,!c,o-n,r+(c?-n:n)).lineTo(o-n,d+(c?n:-n)).arcTo(n,n,0,!1,c,o,d),l.append("path").attr("class","railroad-line").attr("d",h.build()),s+=e.dimensions.height+this.config.verticalSeparation}return{element:l.node(),dimensions:{width:o,height:a,up:d,down:a-d}}}renderOptional(e,t){let r=this.renderExpression(e,t),i=this.config.arcRadius,a=2*i,n=r.dimensions.width+4*i,o=r.dimensions.height+a,l=e.append("g").attr("class","railroad-optional"),s=2*i;l.node().appendChild(r.element).setAttribute("transform",`translate(${s}, ${a})`);let d=a+r.dimensions.up,m=new q().moveTo(0,d).lineTo(2*i,d);l.append("path").attr("class","railroad-line").attr("d",m.build());let c=new q().moveTo(s+r.dimensions.width,d).lineTo(n,d);l.append("path").attr("class","railroad-line").attr("d",c.build());let h=new q().moveTo(0,d).arcTo(i,i,0,!1,!1,i,d-i).lineTo(i,i).arcTo(i,i,0,!1,!0,2*i,0).lineTo(n-2*i,0).arcTo(i,i,0,!1,!0,n-i,i).lineTo(n-i,d-i).arcTo(i,i,0,!1,!1,n,d);return l.append("path").attr("class","railroad-line").attr("d",h.build()),{element:l.node(),dimensions:{width:n,height:o,up:d,down:o-d}}}renderRepetition(e,t,r){let i=this.renderExpression(e,t),a=this.config.arcRadius,n=2*a,o=i.dimensions.width+4*a,l=0===r,s=i.dimensions.height+n+(l?n:0),d=e.append("g").attr("class","railroad-repetition"),m=2*a,c=l?n:0;d.node().appendChild(i.element).setAttribute("transform",`translate(${m}, ${c})`);let h=c+i.dimensions.up;d.append("path").attr("class","railroad-line").attr("d",new q().moveTo(0,h).lineTo(2*a,h).build()),d.append("path").attr("class","railroad-line").attr("d",new q().moveTo(m+i.dimensions.width,h).lineTo(o,h).build());let p=c+i.dimensions.height+a,u=new q().moveTo(m+i.dimensions.width,h).arcTo(a,a,0,!1,!0,m+i.dimensions.width+a,h+a).lineTo(m+i.dimensions.width+a,p).arcTo(a,a,0,!1,!0,m+i.dimensions.width,p+a).lineTo(2*a,p+a).arcTo(a,a,0,!1,!0,a,p).lineTo(a,h+a).arcTo(a,a,0,!1,!0,2*a,h);if(d.append("path").attr("class","railroad-line").attr("d",u.build()),l){let e=new q().moveTo(0,h).arcTo(a,a,0,!1,!1,a,h-a).lineTo(a,a).arcTo(a,a,0,!1,!0,2*a,0).lineTo(o-2*a,0).arcTo(a,a,0,!1,!0,o-a,a).lineTo(o-a,h-a).arcTo(a,a,0,!1,!1,o,h);d.append("path").attr("class","railroad-line").attr("d",e.build())}return{element:d.node(),dimensions:{width:o,height:s,up:h,down:s-h}}}renderSpecial(e,t){let r=this.measureText("? "+t+" ?"),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-special");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text("? "+t+" ?"),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderExpression(e,t){switch(t.type){case"terminal":return this.renderTerminal(e,t.value);case"nonterminal":return this.renderNonTerminal(e,t.name);case"sequence":return this.renderSequence(e,t.elements);case"choice":return this.renderChoice(e,t.alternatives);case"optional":return this.renderOptional(e,t.element);case"repetition":return this.renderRepetition(e,t.element,t.min);case"special":return this.renderSpecial(e,t.text);default:throw Error(`Unknown node type: ${t.type}`)}}renderRule(e,t){let r=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${t})`),i=e.name+" =",a=this.measureText(i).width+20,n=a+20,o=r.append("g"),l=this.renderExpression(o,e.definition),s=Math.max(20,l.dimensions.up),d=s-l.dimensions.up;return o.attr("transform",`translate(${n}, ${d})`),r.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",s).text(i),r.append("g").attr("class","railroad-start").append("circle").attr("cx",a).attr("cy",s).attr("r",this.config.markerRadius),r.append("g").attr("class","railroad-end").append("circle").attr("cx",n+l.dimensions.width+10).attr("cy",s).attr("r",this.config.markerRadius),r.append("path").attr("class","railroad-line").attr("d",new q().moveTo(a+this.config.markerRadius,s).lineTo(n,s).build()),r.append("path").attr("class","railroad-line").attr("d",new q().moveTo(n+l.dimensions.width,s).lineTo(n+l.dimensions.width+10-this.config.markerRadius,s).build()),{height:Math.max(40,d+l.dimensions.height+2*this.config.padding),width:n+l.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let t=this.config.padding,r=0;for(let i of e){let e=this.renderRule(i,t);t+=e.height+this.config.verticalSeparation,r=Math.max(r,e.width)}return{width:r+2*this.config.padding,height:t+this.config.padding}}},V=(0,o.K)((e,t,r)=>{(0,a.a$)(e,t.height,t.width,r),e.attr("viewBox",`0 0 ${t.width} ${t.height}`)},"configureRailroadSvgSize"),j={draw:(0,o.K)((e,t,r)=>{n.R.debug("[Railroad] Rendering diagram\n"+e);try{let e=(0,i.D)(t);e.attr("class","railroad-diagram");let r=(0,a.zj)().railroad,o=r?.useMaxWidth??!0,l=S.getRules();if(n.R.debug(`[Railroad] Rendering ${l.length} rules`),0===l.length){n.R.warn("[Railroad] No rules to render"),V(e,{height:100,width:200},o);return}let s=new W(e,E()).renderDiagram(l);V(e,s,o),n.R.debug("[Railroad] Render complete")}catch(e){throw n.R.error("[Railroad] Render error:",e),e}},"draw")}},7454(e,t,r){function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}r.d(t,{S:()=>i}),(0,r(6827).K)(i,"populateCommonDb")}}]); \ No newline at end of file diff --git a/en/assets/js/8927.68e81f0d.js b/en/assets/js/8927.68e81f0d.js new file mode 100644 index 0000000..e1841d4 --- /dev/null +++ b/en/assets/js/8927.68e81f0d.js @@ -0,0 +1,24 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8927"],{7454(e,t,a){function l(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>l}),(0,a(6827).K)(l,"populateCommonDb")},5869(e,t,a){a.d(t,{P:()=>i});var l=a(1177),r=a(1293),s=a(6827),i=(0,s.K)((e,t,a,s)=>{e.attr("class",a);let{width:i,height:c,x:d,y:p}=n(e,t);(0,l.a$)(e,c,i,s);let h=o(d,p,i,c,t);e.attr("viewBox",h),r.R.debug(`viewBox configured: ${h} with padding: ${t}`)},"setupViewPortForSVG"),n=(0,s.K)((e,t)=>{let a=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:a.width+2*t,height:a.height+2*t,x:a.x,y:a.y}},"calculateDimensionsWithPadding"),o=(0,s.K)((e,t,a,l,r)=>`${e-r} ${t-r} ${a} ${l}`,"createViewBox")},4738(e,t,a){a.d(t,{diagram:()=>b});var l=a(7454),r=a(4924),s=a(5869),i=a(739),n=a(6348),o=a(1177),c=a(1293),d=a(6827),p=a(8731),h=a(7829),m=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getAccDescription=o.m7,this.setAccDescription=o.EI}static{(0,d.K)(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=o.UI,t=(0,o.zj)();return(0,n.$t)({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){let a=this.classes.get(e)??{id:e,styles:[],textStyles:[]},l=t.replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/\xa7\xa7\xa7/g,",").split(";");l&&l.forEach(e=>{(0,i.KX)(e)&&(a?.textStyles?a.textStyles.push(e):a.textStyles=[e]),a?.styles?a.styles.push(e):a.styles=[e]}),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){(0,o.IU)(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function y(e){if(!e.length)return[];let t=[],a=[];return e.forEach(e=>{let l={name:e.name,children:"Leaf"===e.type?void 0:[]};for(l.classSelector=e?.classSelector,e?.cssCompiledStyles&&(l.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(l.value=e.value);a.length>0&&a[a.length-1].level>=e.level;)a.pop();if(0===a.length)t.push(l);else{let e=a[a.length-1].node;e.children?e.children.push(l):e.children=[l]}"Leaf"!==e.type&&a.push({node:l,level:e.level})}),t}(0,d.K)(y,"buildHierarchy");var f=(0,d.K)((e,t)=>{(0,l.S)(e,t);let a=[];for(let a of e.TreemapRows??[])"ClassDefStatement"===a.$type&&t.addClass(a.className??"",a.styleText??"");for(let l of e.TreemapRows??[]){let e=l.item;if(!e)continue;let r=l.indent?parseInt(l.indent):0,s=u(e),i=e.classSelector?t.getStylesForClass(e.classSelector):[],n=i.length>0?i:void 0,o={level:r,name:s,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:n};a.push(o)}let r=y(a),s=(0,d.K)((e,a)=>{for(let l of e)t.addNode(l,a),l.children&&l.children.length>0&&s(l.children,a+1)},"addNodesRecursively");s(r,0)},"populate"),u=(0,d.K)(e=>e.name?String(e.name):"","getItemName"),S={parser:{yy:void 0},parse:(0,d.K)(async e=>{try{let t=p.qg,a=await t("treemap",e);c.R.debug("Treemap AST:",a);let l=S.parser?.yy;if(!(l instanceof m))throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");f(a,l)}catch(e){throw c.R.error("Error parsing treemap:",e),e}},"parse")},g=(0,d.K)((e,t,a,l)=>{let n,p=l.db,m=p.getConfig(),y=m.padding??10,f=p.getDiagramTitle(),u=p.getRoot(),{themeVariables:S}=(0,o.zj)();if(!u)return;let g=30*!!f,x=(0,r.D)(t),$=m.nodeWidth?10*m.nodeWidth:960,b=m.nodeHeight?10*m.nodeHeight:500,v=b+g;x.attr("viewBox",`0 0 ${$} ${v}`),(0,o.a$)(x,v,$,m.useMaxWidth);try{let e=m.valueFormat||",";if("$0,0"===e)n=(0,d.K)(e=>"$"+(0,h.GPZ)(",")(e),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){let t=/\.\d+/.exec(e),a=t?t[0]:"";n=(0,d.K)(e=>"$"+(0,h.GPZ)(","+a)(e),"valueFormat")}else if(e.startsWith("$")){let t=e.substring(1);n=(0,d.K)(e=>"$"+(0,h.GPZ)(t||"")(e),"valueFormat")}else n=(0,h.GPZ)(e)}catch(e){c.R.error("Error creating format function:",e),n=(0,h.GPZ)(",")}let C=(0,h.UMr)().range(["transparent",S.cScale0,S.cScale1,S.cScale2,S.cScale3,S.cScale4,S.cScale5,S.cScale6,S.cScale7,S.cScale8,S.cScale9,S.cScale10,S.cScale11]),w=(0,h.UMr)().range(["transparent",S.cScalePeer0,S.cScalePeer1,S.cScalePeer2,S.cScalePeer3,S.cScalePeer4,S.cScalePeer5,S.cScalePeer6,S.cScalePeer7,S.cScalePeer8,S.cScalePeer9,S.cScalePeer10,S.cScalePeer11]),L=(0,h.UMr)().range([S.cScaleLabel0,S.cScaleLabel1,S.cScaleLabel2,S.cScaleLabel3,S.cScaleLabel4,S.cScaleLabel5,S.cScaleLabel6,S.cScaleLabel7,S.cScaleLabel8,S.cScaleLabel9,S.cScaleLabel10,S.cScaleLabel11]);f&&x.append("text").attr("x",$/2).attr("y",g/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(f);let k=x.append("g").attr("transform",`translate(0, ${g})`).attr("class","treemapContainer"),T=(0,h.Sk5)(u).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),P=(0,h.hkb)().size([$,b]).paddingTop(e=>e.children&&e.children.length>0?35:0).paddingInner(y).paddingLeft(e=>e.children&&e.children.length>0?10:0).paddingRight(e=>e.children&&e.children.length>0?10:0).paddingBottom(e=>e.children&&e.children.length>0?10:0).round(!0)(T),M=P.descendants().filter(e=>e.children&&e.children.length>0),z=k.selectAll(".treemapSection").data(M).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);z.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),z.append("clipPath").attr("id",(e,a)=>`clip-section-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),z.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>C(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>w(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(0===e.depth)return"display: none;";let t=(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),z.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("clip-path",(e,a)=>`url(#clip-section-${t}-${a})`).attr("style",e=>0===e.depth?"display: none;":"dominant-baseline: middle; font-size: 12px; fill:"+L(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).each(function(e){if(0===e.depth)return;let t=(0,h.Ltv)(this),a=e.data.name;t.text(a);let l=e.x1-e.x0,r=Math.max(15,!1!==m.showValues&&e.value?l-10-30-10-6:l-6-6),s=t.node();if(s.getComputedTextLength()>r){let e=a;for(;e.length>0;){if(0===(e=a.substring(0,e.length-1)).length){t.text("..."),s.getComputedTextLength()>r&&t.text("");break}if(t.text(e+"..."),s.getComputedTextLength()<=r)break}}}),!1!==m.showValues&&z.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?n(e.value):"").attr("font-style","italic").attr("style",e=>0===e.depth?"display: none;":"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+L(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"));let F=P.leaves(),K=F.length>20,D=K?16:38,N=K?14:28,G=K?4:8,V=K?4:6,W=K?2:4,R=K?8:10,A=K?1:2,B=k.selectAll(".treemapLeafGroup").data(F).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);B.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?C(e.parent.data.name):C(e.data.name)).attr("style",e=>(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?C(e.parent.data.name):C(e.data.name)).attr("stroke-width",3),B.append("clipPath").attr("id",(e,a)=>`clip-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),B.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${D}px;fill:`+L(e.data.name)+";"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.data.name).each(function(e){let t=(0,h.Ltv)(this),a=e.x1-e.x0,l=e.y1-e.y0,r=t.node(),s=a-2*W,i=l-2*W;if(s<R||i<R)return void t.style("display","none");let n=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>s&&n>G;)n--,t.style("font-size",`${n}px`);let o=Math.max(V,Math.min(N,Math.round(.6*n))),c=n+A+o;for(;c>i&&n>G&&(!((o=Math.max(V,Math.min(N,Math.round(.6*--n))))<V)||n!==G);)t.style("font-size",`${n}px`),c=n+A+o;t.style("font-size",`${n}px`),K?(n<G||i<G)&&t.style("display","none"):(r.getComputedTextLength()>s||n<G||i<n)&&t.style("display","none")}),!1!==m.showValues&&B.append("text").attr("class","treemapValue").attr("x",e=>(e.x1-e.x0)/2).attr("y",function(e){return(e.y1-e.y0)/2}).attr("style",e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${N}px;fill:`+L(e.data.name)+";"+(0,i.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.value?n(e.value):"").each(function(e){let t=(0,h.Ltv)(this),a=this.parentNode;if(!a)return void t.style("display","none");let l=(0,h.Ltv)(a).select(".treemapLabel");if(l.empty()||"none"===l.style("display"))return void t.style("display","none");let r=parseFloat(l.style("font-size")),s=Math.max(V,Math.min(N,Math.round(.6*r)));t.style("font-size",`${s}px`);let i=(e.y1-e.y0)/2+r/2+A;t.attr("y",i);let n=e.x1-e.x0,o=e.y1-e.y0;t.node().getComputedTextLength()>n-2*W||i+s>o-4||s<V?t.style("display","none"):t.style("display",null)});let I=m.diagramPadding??8;(0,s.P)(x,I,"flowchart",m?.useMaxWidth||!1)},"draw"),x=(0,d.K)(function(e,t){return t.db.getClasses()},"getClasses"),$={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},b={parser:S,get db(){return new m},renderer:{draw:g,getClasses:x},styles:(0,d.K)(({treemap:e}={})=>{let t=(0,o.P$)(),a=(0,o.zj)(),l=(0,n.$t)(t,a.themeVariables),r=(0,n.$t)($,e),s=r.titleColor??l.titleColor,i=r.labelColor??l.textColor,c=r.valueColor??l.textColor;return` + .treemapNode.section { + stroke: ${r.sectionStrokeColor}; + stroke-width: ${r.sectionStrokeWidth}; + fill: ${r.sectionFillColor}; + } + .treemapNode.leaf { + stroke: ${r.leafStrokeColor}; + stroke-width: ${r.leafStrokeWidth}; + fill: ${r.leafFillColor}; + } + .treemapLabel { + fill: ${i}; + font-size: ${r.labelFontSize}; + } + .treemapValue { + fill: ${c}; + font-size: ${r.valueFontSize}; + } + .treemapTitle { + fill: ${s}; + font-size: ${r.titleFontSize}; + } + `},"getStyles")}}}]); \ No newline at end of file diff --git a/en/assets/js/896.d7dfba44.js b/en/assets/js/896.d7dfba44.js new file mode 100644 index 0000000..09fca04 --- /dev/null +++ b/en/assets/js/896.d7dfba44.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["896"],{2685(e,t,n){n.d(t,{Z:()=>M});var r=n(6163),o=n(6827);function l(e){let t=[];for(let n=0;n<e.length-1;n++)t.push({a:e[n],b:e[n+1]});return t}function i(e,t,n,r){let o=t.x-e.x,l=t.y-e.y,i=r.x-n.x,a=r.y-n.y,s=o*a-l*i;if(0===s)return null;let f=n.x-e.x,d=n.y-e.y,u=(f*a-d*i)/s,h=(f*l-d*o)/s;return u<=1e-6||u>=.999999||h<=1e-6||h>=.999999?null:{point:{x:e.x+u*o,y:e.y+u*l},tA:u,tB:h}}function a(e){return Math.abs(e.b.x-e.a.x)>=Math.abs(e.b.y-e.a.y)}function s(e,t,n){if("rounded"!==e.curve)return!1;let r=e.points,o=r[t],l=r[t+1];if(!o||!l)return!1;let i=Math.hypot(l.x-o.x,l.y-o.y),a=n*i,s=t>0?p(r[t-1],o,l,5):null;if(s&&a<s.cutLen)return!0;let f=t+2<r.length?p(o,l,r[t+2],5):null;return null!==f&&i-a<f.cutLen}function f(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],o=l(r.points);for(let f=n+1;f<e.length;f++){let n=e[f],d=l(n.points);for(let[e,l]of o.entries())for(let[o,f]of d.entries()){let d=i(l.a,l.b,f.a,f.b);if(!d||s(r,e,d.tA)||s(n,o,d.tB))continue;let u=a(l);u!==a(f)&&u?t.push({jumpEdgeId:r.id,otherEdgeId:n.id,segIndex:e,t:d.tA,point:d.point}):t.push({jumpEdgeId:n.id,otherEdgeId:r.id,segIndex:o,t:d.tB,point:d.point})}}}return t}function d(e){let t=Math.round(1e3*e)/1e3;return Number.isInteger(t),`${t}`}function u(e){return`${d(e.x)},${d(e.y)}`}function h(e){let t=e.b.x-e.a.x,n=e.b.y-e.a.y;return Math.abs(t)>=Math.abs(n)?+(t>=0):+(n>=0)}function g(e,t){if(e.length<2)return e.map(e=>({...e}));let n=e.map(e=>({...e})),o=t.arrowTypeStart&&r.hq[t.arrowTypeStart];if(o){let t=e[0],r=e[1],l=Math.atan2(r.y-t.y,r.x-t.x);n[0].x=t.x+o*Math.cos(l),n[0].y=t.y+o*Math.sin(l)}let l=t.arrowTypeEnd&&r.hq[t.arrowTypeEnd];if(l){let t=e.length,r=e[t-2],o=e[t-1],i=Math.atan2(o.y-r.y,o.x-r.x);n[t-1].x=o.x-l*Math.cos(i),n[t-1].y=o.y-l*Math.sin(i)}return n}function c(e,t,n,r,o){let l=e.point.x,i=e.point.y,a={x:l-t*e.r,y:i-n*e.r},s={x:l+t*e.r,y:i+n*e.r},f=[`L${u(a)}`];return"arc"===o?f.push(`A${d(e.r)},${d(e.r)} 0 0 ${r} ${u(s)}`):f.push(`M${u(s)}`),f}function p(e,t,n,r){let o=t.x-e.x,l=t.y-e.y,i=n.x-t.x,a=n.y-t.y,s=Math.hypot(o,l),f=Math.hypot(i,a);if(s<1e-5||f<1e-5)return null;let d=o/s,u=l/s,h=i/f,g=a/f,c=Math.acos(Math.max(-1,Math.min(1,d*h+u*g)));if(c<1e-5||1e-5>Math.abs(Math.PI-c))return null;let p=Math.min(r/Math.sin(c/2),s/2,f/2);return{startX:t.x-d*p,startY:t.y-u*p,endX:t.x+h*p,endY:t.y+g*p,ctrlX:t.x,ctrlY:t.y,cutLen:p}}function x(e,t,n){let r=e.points;if(r.length<2)return"";let o=g(r,e),i="rounded"===e.curve,a=l(o),s=new Map;for(let e of t){let t=a[e.segIndex];if(!t)continue;let r=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),o=s.get(e.segIndex)??[];o.push({t:e.t,point:e.point,d:e.t*r,r:n.jumpRadius}),s.set(e.segIndex,o)}let f=[`M${u(o[0])}`];for(let e=0;e<a.length;e++){let t=a[e],r=Math.hypot(t.b.x-t.a.x,t.b.y-t.a.y),l=0===r?0:(t.b.x-t.a.x)/r,g=0===r?0:(t.b.y-t.a.y)/r,x=h(t),m=0;if(i&&e>0){let t=p(o[e-1],o[e],o[e+1]??o[e],5);t&&(m=t.cutLen)}let y=r,b=null;i&&e<a.length-1&&(b=p(o[e],o[e+1],o[e+2]??o[e+1],5))&&(y=r-b.cutLen);let M=.6*n.jumpRadius,K=[...s.get(e)??[]].sort((e,t)=>e.t-t.t).filter(e=>{let t=Math.min(e.d-m,y-e.d)-2;return e.r=Math.min(e.r,t),e.r>=M});for(let e=0;e<K.length-1;e++){let t=K[e+1].d-K[e].d;if(K[e].r+K[e+1].r>t){let n=t/2;K[e].r=Math.min(K[e].r,n),K[e+1].r=Math.min(K[e+1].r,n)}}for(let e of K)e.r<M||f.push(...c(e,l,g,x,n.jumpStyle));i&&b?(f.push(`L${d(b.startX)},${d(b.startY)}`),f.push(`Q${d(b.ctrlX)},${d(b.ctrlY)} ${d(b.endX)},${d(b.endY)}`)):f.push(`L${u(t.b)}`)}return f.join(" ")}function m(e){return/^[\d\s+,.LMelm-]*$/.test(e)}function y(e){return!e||"linear"===e||"rounded"===e||"step"===e||"stepBefore"===e||"stepAfter"===e}function b(e){if(!e)return null;try{let t="function"==typeof atob?atob(e):Buffer.from(e,"base64").toString(),n=JSON.parse(t);if(!Array.isArray(n))return null;let r=[];for(let e of n)e&&"number"==typeof e.x&&"number"==typeof e.y&&r.push({x:e.x,y:e.y});return r.length>=2?r:null}catch{return null}}function M(e,t,n){if(!n.enabled)return;let r=e.node();if(!r)return;let o=new Map;for(let e of t)o.set(e.id,e);let l=new Map;for(let e of r.querySelectorAll("path[data-id]")){let t=e.getAttribute("data-id");null===t||l.has(t)||l.set(t,e)}let i=[];for(let e of t){let t=l.get(e.id);if(!t)continue;let n=b(t.getAttribute("data-points"))??e.points;i.push({...e,points:n})}let a=f(i);if(0===a.length)return;let s=new Map;for(let e of a){let t=s.get(e.jumpEdgeId)??[];t.push(e),s.set(e.jumpEdgeId,t)}for(let e of i){let t=s.get(e.id);if(!t||0===t.length)continue;let r=o.get(e.id),i=r?.curve;if(void 0!==i&&!y(i))continue;let a=l.get(e.id);if(!a||void 0===i&&!m(a.getAttribute("d")??""))continue;let f=a.getAttribute("style")??"",d=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(f),u=d?Number.parseFloat(d[1]):null,h=d?Number.parseFloat(d[2]):null,g=x(e,t,n);if(a.setAttribute("d",g),null!==u&&null!==h&&"function"==typeof a.getTotalLength){let e=Math.max(0,a.getTotalLength()-u-h),t=`0 ${u} ${e} ${h}`,n=f.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${t};`).replace(/;\s*;+/g,";");a.setAttribute("style",n)}}}(0,o.K)(l,"buildSegmentList"),(0,o.K)(i,"segmentIntersection"),(0,o.K)(a,"isHorizontalSeg"),(0,o.K)(s,"crossingSitsInRoundedCorner"),(0,o.K)(f,"findEdgeIntersections"),(0,o.K)(d,"fmt"),(0,o.K)(u,"pointToString"),(0,o.K)(h,"getArcSweepFlag"),(0,o.K)(g,"applyMarkerOffsets"),(0,o.K)(c,"emitJump"),(0,o.K)(p,"computeRoundedCorner"),(0,o.K)(x,"rewriteEdgePath"),(0,o.K)(m,"isStraightPath"),(0,o.K)(y,"curveSupportsLineHops"),(0,o.K)(b,"decodeDataPoints"),(0,o.K)(M,"applyLineJumpsToSvg")},6483(e,t,n){n.r(t),n.d(t,{render:()=>t2});var r=n(2685),o=n(3227);n(5616),n(6163),n(7827),n(3002),n(739),n(6320),n(2217),n(2941),n(6348),n(1177);var l=n(1293),i=n(6827);function a(e,{measure:t}){let n=e.config?.swimlane?.lineHops;if(!1===n)return;let o=e.edges.filter(e=>Array.isArray(e.points)&&e.points.length>=2).map(e=>({id:e.id,points:e.points,curve:e.curve,arrowTypeStart:e.arrowTypeStart,arrowTypeEnd:e.arrowTypeEnd}));(0,r.Z)(t.groups.edgePaths,o,{enabled:!0,jumpRadius:6,jumpStyle:"gap"===n?"gap":"arc"})}(0,i.K)(a,"applySwimlaneLineJumps");var s="__swimlane_default__";function f(e){return Math.max(e.padding??20,20)}function d(e){let{x:t,y:n,width:r,height:o}=e,l=e.swimlaneContentTop;if("number"!=typeof t||"number"!=typeof n||"number"!=typeof r||"number"!=typeof o||"number"!=typeof l||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(o)||!Number.isFinite(l)||r<=0||o<=0)return void delete e.groupTitleRect;let i=n-o/2,a=Math.min(21,Math.max(0,Math.min(l,n+o/2)-i)),s=i+a;s<=i?delete e.groupTitleRect:e.groupTitleRect={left:t-r/2,right:t+r/2,top:i,bottom:s}}function u(e){let t=e.direction,n=e.nodes??=[];for(let n of e.nodes??[])n.isGroup&&!n.parentId&&(n.shape="swimlane",t&&(n.direction=t));let r=n.filter(e=>!e.isGroup&&!e.parentId);if(0===r.length)return;let o=n.find(e=>e.id===s);for(let l of(o?o.isGroup&&(o.shape="swimlane",t&&(o.direction=t)):(o={id:s,label:"",isGroup:!0,shape:"swimlane",padding:20,look:e.config?.look,colorIndex:n.reduce((e,t)=>Math.max(e,t.colorIndex??-1),-1)+1,...t?{direction:t}:{}},n.push(o)),r))l.parentId=s}function h(e){let t=new Map;for(let n of e.nodes??[])t.set(n.id,n);let n=[];for(let t of e.edges??[]){let e="string"==typeof t.start?t.start:void 0,r="string"==typeof t.end?t.end:void 0;e&&r&&(t.labelNodeId||n.push({id:t.id,src:e,dst:r,ref:t}))}let r=e.nodes??[],o=r.filter(e=>e.isGroup),l=r.filter(e=>!e.isGroup);return{nodes:[...[...o].reverse(),...l].map(e=>e.id),edges:n,layout:e,nodeById:t}}function g(e,t,n,r){let{layout:o}=e,l=e.nodeById,i=r?.layerGap??100,a=r?.nodeGap??40,s=0;for(let e of t.layers){let t=0;for(let r of e){let e=l.get(r);if(!e){t++;continue}e.layer=s,e.order=t;let o=n.x[r]??t*a,f=n.y[r]??s*i;e.x=o,e.y=f,t++}s++}let u=o.nodes??[],h=new Map,g=[];for(let e of u){if(!e?.isGroup)continue;e.parentId||g.push(e);let t=u.filter(t=>t.parentId===e.id),r=1/0,o=-1/0,l=1/0,i=-1/0;for(let e of t){let t=e.x??n.x[e.id],a=e.y??n.y[e.id],s=e.width??0,f=e.height??0;null!=t&&null!=a&&(r=Math.min(r,t-s/2),o=Math.max(o,t+s/2),l=Math.min(l,a-f/2),i=Math.max(i,a+f/2))}if(r===1/0||l===1/0)e.x=e.x??0,e.y=e.y??0,e.width=e.width??0,e.height=e.height??0;else{let t=e.padding??20,n=Math.max(0,o-r)+(e.parentId?t:2*f(e)),a=Math.max(0,i-l)+t,s=(l+i)/2;e.x=(r+o)/2,e.y=s,e.width=n,e.height=a,h.set(e.id,{minX:r,maxX:o,minY:l,maxY:i})}}if(g.length>0&&h.size>0){let e=1/0,t=-1/0,n=0;for(let r of g){let o=r.padding??20;o>n&&(n=o);let l=h.get(r.id);l&&(e=Math.min(e,l.minY),t=Math.max(t,l.maxY))}if(e!==1/0&&t!==-1/0){let r=Math.max(0,t-e)+2*Math.max(n,36),o=(e+t)/2;for(let t of g)t.y=o,t.height=r,t.swimlaneContentTop=e;let l=[...g].sort((e,t)=>(e.x??0)-(t.x??0)),i=[],a=[],s=[];for(let e of l){let t=h.get(e.id);if(!t)continue;let n=Math.max(0,t.maxX-t.minX)+2*f(e),r=(t.minX+t.maxX)/2;i.push(e.id),a.push(r),s.push(n)}let u=i.length;if(u>0){let e=new Map;if(1===u)e.set(i[0],s[0]);else{let t=[];for(let e=0;e<u-1;e++)t.push(a[e+1]-a[e]);let n=Array(u);n[0]=0;for(let e=0;e<u-1;e++)n[e+1]=2*t[e]-n[e];let r=0,o=1/0;for(let e=0;e<u;e++){let t=s[e];e%2==0?r=Math.max(r,t-n[e]):o=Math.min(o,n[e]-t)}let l=r;l=r<=o?(r+o)/2:r;for(let t=0;t<u;t++){let r=n[t]+(t%2==0?l:-l),o=Math.max(s[t],r);e.set(i[t],o)}}for(let t of g){let n=e.get(t.id);null!=n&&(t.width=n),d(t)}}}}}function c(e){let t=[],n=[],r=new Map;for(let t of e.nodes)r.set(t.id,t);for(let o of e.edges){if(!o.label||0===o.label.length||o.isLayoutOnly||o.labelNodeId)continue;let e=o.start?r.get(o.start):void 0,i=o.end?r.get(o.end):void 0;if(!e||!i){l.R.warn("[EdgeLabelNodes]",`Edge ${o.id} has missing source or target node`);continue}let a=`edge-label-${o.start}-${o.end}-${o.id}`,s=e.parentId!==i.parentId?i.parentId:e.parentId,f={id:a,label:o.label,edgeStart:o.start??"",edgeEnd:o.end??"",shape:"labelRect",width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:s,isGroup:!1,labelStyle:Array.isArray(o.labelStyle)?o.labelStyle[0]:o.labelStyle??"",...e.dir?{dir:e.dir}:{}};t.push(f),o.labelNodeId=a,o.label=void 0,o.text=void 0;let d={id:`${o.id}-to-label`,start:o.start,end:a,type:"normal",isLayoutOnly:!0},u={id:`${o.id}-from-label`,start:a,end:o.end,type:"normal",isLayoutOnly:!0};n.push(d,u)}let o=[...e.nodes,...t],i=[...e.edges,...n];return{...e,nodes:o,edges:i}}function p(e){let t=e.x??0,n=e.y??0,r=e.width??0,o=e.height??0;return r>0&&o>0?{cx:t,cy:n,rect:F(t,n,r,o)}:void 0}function x(e){if(e.isGroup)return;let t=p(e);if(t)return{id:String(e.id??""),cx:t.cx,cy:t.cy,rect:t.rect}}function m(e,t,n=.001){return Math.abs(e.x-t.x)<n&&Math.abs(e.y-t.y)<n}function y(e,t,n=.001){return Math.abs(e.x-t.x)<n}function b(e,t,n=.001){return Math.abs(e.y-t.y)<n}function M(e,t,n=.001){return b(e,t,n)&&Math.abs(e.x-t.x)>n}function K(e,t,n=.001){return y(e,t,n)&&Math.abs(e.y-t.y)>n}function I(e,t,n,r){return Math.max(0,Math.min(Math.max(e,t),Math.max(n,r))-Math.max(Math.min(e,t),Math.min(n,r)))}function w(e,t,n=.001){return e.horizontal&&t.horizontal&&b(e.a,t.a,n)?I(e.a.x,e.b.x,t.a.x,t.b.x):e.vertical&&t.vertical&&y(e.a,t.a,n)?I(e.a.y,e.b.y,t.a.y,t.b.y):0}function S(e,t=.001){let n=[];for(let r=0;r<e.length-1;r++){let o=e[r],l=e[r+1],i=M(o,l,t),a=K(o,l,t);(i||a)&&n.push({index:r,a:o,b:l,horizontal:i,vertical:a})}return n}function v(e,t=.001){let n=S(e,t),r=0;for(let e=1;e<n.length;e++)n[e-1].horizontal!==n[e].horizontal&&r++;return r}function C(e,t=.001){let n=[];for(let r of e){let e=n.length>0?n[n.length-1]:void 0;e&&m(e,r,t)||n.push({x:r.x,y:r.y})}return n}function L(e,t=.001){if(!e||4!==e.length)return;let[n,r,o,l]=e;return M(n,r,t)&&K(r,o,t)&&M(o,l,t)?{kind:"HVH",p0:n,p1:r,p2:o,p3:l}:K(n,r,t)&&M(r,o,t)&&K(o,l,t)?{kind:"VHV",p0:n,p1:r,p2:o,p3:l}:void 0}function k(e,t,n,r=0){let o=Math.min(e.x,t.x),l=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y);return l>n.left-r&&o<n.right+r&&a>n.top-r&&i<n.bottom+r}function $(e,t,n=0){return e.x>t.left+n&&e.x<t.right-n&&e.y>t.top+n&&e.y<t.bottom-n}function R(e,t){return e.left<=t.left&&e.right>=t.right&&e.top<=t.top&&e.bottom>=t.bottom}function O(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function T(e,t){return{left:e.left-t,right:e.right+t,top:e.top-t,bottom:e.bottom+t}}function F(e,t,n,r){return{left:e-n/2,right:e+n/2,top:t-r/2,bottom:t+r/2}}function E(e){return p(e)?.rect}function B(e,t){switch(t){case"top":return{x:e.cx,y:e.rect.top};case"bottom":return{x:e.cx,y:e.rect.bottom};case"left":return{x:e.rect.left,y:e.cy};case"right":return{x:e.rect.right,y:e.cy}}}function N(e,t,n,r,o,l=.001){let i="left"===t||"right"===t,a="left"===r||"right"===r;if(i&&a){if("right"===t&&"left"===r&&e.x<n.x||"left"===t&&"right"===r&&e.x>n.x){if(b(e,n,l))return[e,n];let t=(e.x+n.x)/2;return[e,{x:t,y:e.y},{x:t,y:n.y},n]}if(t===r){if(b(e,n,l))return;let r="left"===t?Math.min(e.x,n.x)-o:Math.max(e.x,n.x)+o;return[e,{x:r,y:e.y},{x:r,y:n.y},n]}return}if(!i&&!a){if(t===r){if(y(e,n,l))return;let r="top"===t?Math.min(e.y,n.y)-o:Math.max(e.y,n.y)+o;return[e,{x:e.x,y:r},{x:n.x,y:r},n]}if(!("bottom"===t&&"top"===r&&e.y<n.y||"top"===t&&"bottom"===r&&e.y>n.y))return;if(y(e,n,l))return[e,n];let i=(e.y+n.y)/2;return[e,{x:e.x,y:i},{x:n.x,y:i},n]}if(i&&!a){let o="right"===t&&n.x>e.x||"left"===t&&n.x<e.x,l="top"===r&&e.y<n.y||"bottom"===r&&e.y>n.y;return o&&l?[e,{x:n.x,y:e.y},n]:void 0}let s="bottom"===t&&n.y>e.y||"top"===t&&n.y<e.y,f="left"===r&&e.x<n.x||"right"===r&&e.x>n.x;return s&&f?[e,{x:e.x,y:n.y},n]:void 0}function X(e,t,n,r){return"left"===t||"right"===t?[e,{x:r,y:e.y},{x:r,y:n.y},n]:[e,{x:e.x,y:r},{x:n.x,y:r},n]}function z(e){let t=new Map,n=[];for(let r of e){if(r.isEdgeLabel)continue;let e=x(r);e&&(t.set(e.id,e),n.push({id:e.id,rect:e.rect}))}return{nodeInfoById:t,realNodeRects:n}}function Y(e){let t=[],n=[];for(let r of e){let e=x(r);if(!e)continue;let o={id:e.id,rect:e.rect};r.isEdgeLabel?n.push(o):t.push(o)}return{realNodeRects:t,labelNodeRects:n}}function A(e,{includeEdgeLabels:t=!0}={}){let n=[];for(let r of e){if(r.isGroup||!t&&r.isEdgeLabel)continue;let e=r.x??0,o=r.y??0,l=r.width??0,i=r.height??0;n.push({nodeId:r.id,...F(e,o,l,i)})}return n}function G(e,t,n=.001){let r=e.start,o=e.end;if(!r||!o)return;let l=t.get(r),i=t.get(o);if(l&&i)return{srcId:r,dstId:o,srcInfo:l,dstInfo:i,collinearX:Math.abs(l.cx-i.cx)<n,collinearY:Math.abs(l.cy-i.cy)<n}}function D(e,t,n,r=[],o=0){for(let l of n)if(!r.includes(l.id)&&k(e,t,l.rect,-o))return!0;return!1}function P(e,t,n,r,o=.001,l=1e-6){let i=b(e,t,o),a=y(e,t,o),s=b(n,r,o),f=y(n,r,o);if(i&&s||a&&f||!(i||a)||!(s||f))return!1;let d=i?{a:e,b:t}:{a:n,b:r},u=a?{a:e,b:t}:{a:n,b:r},h=d.a.y,g=Math.min(d.a.x,d.b.x),c=Math.max(d.a.x,d.b.x),p=u.a.x,x=Math.min(u.a.y,u.b.y),m=Math.max(u.a.y,u.b.y);if(p<g||p>c||h<x||h>m)return!1;let M=Math.abs(p-d.a.x)<l&&Math.abs(h-d.a.y)<l||Math.abs(p-d.b.x)<l&&Math.abs(h-d.b.y)<l,K=Math.abs(p-u.a.x)<l&&Math.abs(h-u.a.y)<l||Math.abs(p-u.b.x)<l&&Math.abs(h-u.b.y)<l;return!(M&&K)}function H(e,t,n,r,o=.001){let l=b(e,t,o),i=y(e,t,o),a=b(n,r,o),s=y(n,r,o);return i&&s&&y(e,n,o)?I(e.y,t.y,n.y,r.y)>o:!!(l&&a&&b(e,n,o))&&I(e.x,t.x,n.x,r.x)>o}function j(e,t,n,r,{epsilon:o=.001,skipDegenerateOther:l=!1}={}){for(let i of n){if(i===r||i.isLayoutOnly)continue;let n=i.points;if(n&&!(n.length<2))for(let r=0;r<n.length-1;r++){let i=n[r],a=n[r+1];if(!(l&&m(i,a,o))&&(P(e,t,i,a,o)||H(e,t,i,a,o)))return!0}}return!1}function V(e,t,n,r,o=.001){let l=b(e,t,o),i=y(e,t,o),a=b(n,r,o),s=y(n,r,o);if(!(l&&s||i&&a))return!1;let f=l?{a:e,b:t}:{a:n,b:r},d=l?{a:n,b:r}:{a:e,b:t},u=f.a.y,h=Math.min(f.a.x,f.b.x),g=Math.max(f.a.x,f.b.x),c=d.a.x,p=Math.min(d.a.y,d.b.y),x=Math.max(d.a.y,d.b.y);return c>h+o&&c<g-o&&u>p+o&&u<x-o}function _(e,t,n){let r=Math.min(t,n),o=Math.max(t,n);return e>r+.001&&e<o-.001}function W(e,t,n){return y(e,t)&&y(t,n)?_(t.y,e.y,n.y):!!(b(e,t)&&b(t,n))&&_(t.x,e.x,n.x)}function q(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=n[n.length-1],l=e[r],i=r+1<e.length?e[r+1]:void 0;if(o&&i){if(m(o,i)){r++,t=!0;continue}if(W(o,l,i)){t=!0;continue}}n.push(l)}return{points:n,changed:t}}function J(e){let t=[e[0]];for(let n=1;n<e.length;n++){let r=t[t.length-1],o=e[n];if(!y(r,o)&&!b(r,o)){let e=t.length>=2?t[t.length-2]:void 0,n=e&&y(e,r)?{x:r.x,y:o.y}:{x:o.x,y:r.y};t.push(n)}t.push(o)}let n=[];for(let e of t){let t=n[n.length-1];t&&m(t,e)||n.push(e)}return n}function Z(e){if(e.length<3)return e;let t=[...e];for(let e=0;e<32;e++){let e=q(t);if(t=e.points,!e.changed)break}return t}function Q(e,t,n){if(e.isLayoutOnly||!e.points||e.points.length<n)return;let r=e.start?t.get(e.start):void 0,o=e.end?t.get(e.end):void 0;return{edge:e,points:e.points,srcRect:r?E(r):void 0,dstRect:o?E(o):void 0}}function U(e,t,n){if(b(e,t,.001))return{x:e.x<n.left?n.left:n.right,y:e.y};if(y(e,t,.001)){let t=e.y<n.top?n.top:n.bottom;return{x:e.x,y:t}}return{x:Math.min(n.right,Math.max(n.left,e.x)),y:Math.min(n.bottom,Math.max(n.top,e.y))}}function ee(e,t,n){let r=n?1:-1,o=n?0:e.length-1;for(;o>=0&&o<e.length&&$(e[o],t,.5);)o+=r;if(o<0||o>=e.length)return e;let l=o-r;if(l<0||l>=e.length)return e;let i=U(e[o],e[l],t);return n?[i,...e.slice(o)]:[...e.slice(0,o+1),i]}function et(e,t){for(let n of e){let e=Q(n,t,2);if(!e)continue;let r=[...e.points];e.srcRect&&(r=ee(r,e.srcRect,!0)),e.dstRect&&(r=ee(r,e.dstRect,!1)),r=eh(r=Z(J(r)),e.srcRect,e.dstRect),e.edge.points=Z(J(r))}}function en(e,t,n,r=!1){if(b(e,t,.001)){if(t.y<n.top-.001||t.y>n.bottom+.001)return t;if(r){if(e.x<n.left-.001)return{x:n.left,y:e.y};if(e.x>n.right+.001)return{x:n.right,y:e.y}}return{x:Math.abs(t.x-n.left)<=Math.abs(t.x-n.right)?n.left:n.right,y:e.y}}if(y(e,t,.001)){if(t.x<n.left-.001||t.x>n.right+.001)return t;if(r){if(e.y<n.top-.001)return{x:e.x,y:n.top};if(e.y>n.bottom+.001)return{x:e.x,y:n.bottom}}let o=Math.abs(t.y-n.top)<=Math.abs(t.y-n.bottom);return{x:e.x,y:o?n.top:n.bottom}}return t}function er(e,t,n){let r=e[t];for(let o=t+n;o>=0&&o<e.length;o+=n){let t=e[o];if(!m(t,r,.001))return t}return e[t+n]}function eo(e,t){let n=e+4,r=t-4;return n<=r?{lo:n,hi:r}:{lo:(e+t)/2,hi:(e+t)/2}}function el(e,t,n){let{lo:r,hi:o}=eo(t,n);return Math.min(o,Math.max(r,e))}function ei(e){let t=Math.max(...e.map(e=>e.lo)),n=Math.min(...e.map(e=>e.hi));if(!(t>n))return{lo:t,hi:n}}function ea(e,t){return"left"===t||"right"===t?eo(e.top,e.bottom):eo(e.left,e.right)}function es(e,t,n){let r=e.y>=n.top-.001&&e.y<=n.bottom+.001,o=e.x>=n.left-.001&&e.x<=n.right+.001;if(b(e,t,.001)&&r){if(.001>Math.abs(e.x-n.left))return"left";if(.001>Math.abs(e.x-n.right))return"right"}if(y(e,t,.001)&&o){if(.001>Math.abs(e.y-n.top))return"top";if(.001>Math.abs(e.y-n.bottom))return"bottom"}}function ef(e){return"left"===e||"right"===e}function ed(e,t,n,r,o){let l=[],i=n?es(e,t,n):void 0,a=r?es(t,e,r):void 0;return n&&i&&ef(i)===o&&l.push(ea(n,i)),r&&a&&ef(a)===o&&l.push(ea(r,a)),l.length>0?ei(l):void 0}function eu(e,t,n,r,o){let l=ed(e,t,n,r,o);if(!l)return;let i=o?e.y:e.x,a=Math.min(l.hi,Math.max(l.lo,i));if(!(.001>Math.abs(a-i)))return o?[{x:e.x,y:a},{x:t.x,y:a}]:[{x:a,y:e.y},{x:a,y:t.y}]}function eh(e,t,n){if(2!==e.length)return e;let[r,o]=e;return b(r,o,.001)?eu(r,o,t,n,!0)??e:y(r,o,.001)?eu(r,o,t,n,!1)??e:e}function eg(e,t,n){return ef(n)?{x:e.x,y:el(e.y,t.top,t.bottom)}:{x:el(e.x,t.left,t.right),y:e.y}}function ec(e,t,n,r,o,l){let i=e.map(e=>({...e}));for(let a=t;a>=0&&a<e.length;a+=n){let t=e[a];if(l&&!b(t,r,.001)||!l&&!y(t,r,.001))break;l?i[a].y=o.y:i[a].x=o.x}return i}function ep(e,t,n){if(e.length<2)return e;let r=n?0:e.length-1,o=n?1:-1,l=e[r],i=er(e,r,o);if(!i)return e;let a=es(l,i,t);if(!a)return e;let s=ef(a),f=eg(l,t,a);return m(l,f,.001)?e:ec(e,r,o,l,f,s)}function ex(e,t,n){let r=Math.min(e.x,t.x)>=n.left-.001&&Math.max(e.x,t.x)<=n.right+.001,o=Math.min(e.y,t.y)>=n.top-.001&&Math.max(e.y,t.y)<=n.bottom+.001;return .001>Math.abs(e.y-n.top)&&.001>Math.abs(t.y-n.top)&&r?"top":.001>Math.abs(e.y-n.bottom)&&.001>Math.abs(t.y-n.bottom)&&r?"bottom":.001>Math.abs(e.x-n.left)&&.001>Math.abs(t.x-n.left)&&o?"left":.001>Math.abs(e.x-n.right)&&.001>Math.abs(t.x-n.right)&&o?"right":void 0}function em(e,t,n,r){switch(e){case"top":return y(t,n,.001)&&n.y<r.top-.001;case"bottom":return y(t,n,.001)&&n.y>r.bottom+.001;case"left":return b(t,n,.001)&&n.x<r.left-.001;case"right":return b(t,n,.001)&&n.x>r.right+.001}}function ey(e,t,n){if(e.length<3)return e;if(n){let n=ex(e[0],e[1],t);return n&&em(n,e[1],e[2],t)?e.slice(1):e}let r=e.length-1,o=ex(e[r-1],e[r],t);return o&&em(o,e[r-1],e[r-2],t)?e.slice(0,r):e}function eb(e,t,n){let r=e;if(t){let e=er(r,0,1);if(e){let n=en(e,r[0],t);n!==r[0]&&(r=[n,...r.slice(1)])}r=ey(r,t,!0)}if(n){let e=r.length-1,t=er(r,e,-1);if(t){let o=en(t,r[e],n,!0);o!==r[e]&&(r=[...r.slice(0,e),o])}r=ey(r,n,!1)}let o=eh(r,t,n);return o!==r||2===r.length?o:(t&&(r=ep(r,t,!0)),n&&(r=ep(r,n,!1)),r)}function eM(e,t){for(let n of e){let e=Q(n,t,2);if(!e)continue;let r=eb(C(e.points,.001),e.srcRect,e.dstRect);if(r.length<3){e.edge.points=r;continue}let o=[r[0],{...r[0]},...r.slice(1,-1),r[r.length-1],{...r[r.length-1]}];e.edge.points=o}}function eK(e){return new Map(e.map(e=>[e.id,e]))}function eI(e,t){let n=e.parentId,r=null;for(;n;){let e=t.get(n);if(!e?.isGroup)break;r=e.id,n=e.parentId}return r}function ew(e,t){let n=0,r=e.parentId;for(;r;){let e=t.get(r);if(!e?.isGroup)break;n++,r=e.parentId}return n}function eS(e){let t=1/0,n=-1/0,r=1/0,o=-1/0;for(let l of e){let e=l.x,i=l.y;if("number"!=typeof e||"number"!=typeof i)continue;let a=l.width??0,s=l.height??0;t=Math.min(t,e-a/2),n=Math.max(n,e+a/2),r=Math.min(r,i-s/2),o=Math.max(o,i+s/2)}return t===1/0||r===1/0?null:{minX:t,maxX:n,minY:r,maxY:o}}function ev(e,t){let n=e.padding??20;e.x=(t.minX+t.maxX)/2,e.y=(t.minY+t.maxY)/2,e.width=Math.max(0,t.maxX-t.minX)+n,e.height=Math.max(0,t.maxY-t.minY)+n}function eC(e){let t=eK(e);for(let n of e.filter(e=>e.isGroup&&e.parentId).sort((e,n)=>ew(n,t)-ew(e,t))){let t=eS(e.filter(e=>e.parentId===n.id));t&&ev(n,t)}}function eL(e,t){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup),l=1/0,a=-1/0;for(let e of o){let n=e[t];"number"==typeof n&&(l=Math.min(l,n),a=Math.max(a,n))}if(!Number.isFinite(l)||!Number.isFinite(a))return!1;let s=(0,i.K)(e=>l+a-e,"mirror");for(let e of n){let n=e[t];"number"==typeof n&&(e[t]=s(n));let r=e.groupTitleRect;r&&(e.groupTitleRect="x"===t?{...r,left:s(r.right),right:s(r.left)}:{...r,top:s(r.bottom),bottom:s(r.top)})}for(let e of r)for(let n of e.points??[])n[t]=s(n[t]);return!0}function ek(e){return!(e.nodes??[]).some(e=>!e.isGroup)||eL(e,"y")}function e$(e,t="LR"){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup),l=1/0,i=1/0;for(let e of o){let t=e.x??0,n=e.y??0;t<l&&(l=t),n<i&&(i=n)}if(!Number.isFinite(l)||!Number.isFinite(i))return!1;let a=0,s=0;for(let e of o)a+=e.width??0,s+=e.height??0;let f=a/o.length,d=s/o.length,u=d>0?Math.max(1,f/d):1;for(let e of o){let t=e.x??0,n=((e.y??0)-i)*u+36,r=t-l;e.x=n,e.y=r}for(let e of r)if(e.points)for(let t of e.points){let e=t.x,n=(t.y-i)*u+36,r=e-l;t.x=n,t.y=r}eC(n);let h=n.filter(e=>e.isGroup&&!e.parentId);if(0===h.length)return"RL"===t&&eL(e,"x"),!0;let g=eK(n),c=new Map;for(let e of n){if(e.isGroup)continue;let t=eI(e,g);if(!t)continue;let n=c.get(t)??[];n.push(e),c.set(t,n)}let p=0;for(let e of h){let t=e.padding??0;t>p&&(p=t)}let x=[],m=1/0,y=-1/0;for(let e of h){let t=eS(c.get(e.id)??[]);t&&(m=Math.min(m,t.minX),y=Math.max(y,t.maxX),x.push({lane:e,contentTop:t.minY,contentBottom:t.maxY,centerY:(t.minY+t.maxY)/2}))}if(m===1/0||y===-1/0)return!0;let b=Math.max(0,y-m)+2*Math.max(p,10),M=36+b,K=(m+y)/2-b/2-36,I=K+M/2,w=Math.max(p,36);x.sort((e,t)=>e.centerY-t.centerY);for(let e=0;e<x.length;e++){let t,n,r=x[e];if(t=0===e?r.contentTop-w:(x[e-1].contentBottom+r.contentTop)/2,e===x.length-1)n=r.contentBottom+w;else{let t=x[e+1];n=(r.contentBottom+t.contentTop)/2}let o=Math.max(0,n-t),l=(t+n)/2;r.lane.x=I,r.lane.y=l,r.lane.width=M,r.lane.height=o,r.lane.swimlaneContentTop=r.contentTop,r.lane.groupTitleRect={left:K,right:K+36,top:t,bottom:n}}return"RL"===t&&eL(e,"x"),!0}(0,i.K)(f,"topLaneHorizontalPadding"),(0,i.K)(d,"assignTopLaneTitleRect"),(0,i.K)(u,"prepareLayoutForSwimlanes"),(0,i.K)(h,"toGraphView"),(0,i.K)(g,"writeBackToLayoutData"),(0,i.K)(c,"createEdgeLabelNodes"),(0,i.K)(p,"measuredNodeRect"),(0,i.K)(x,"nodeBoundsInfoFor"),(0,i.K)(m,"samePoint"),(0,i.K)(y,"sameX"),(0,i.K)(b,"sameY"),(0,i.K)(M,"isHorizontalSegment"),(0,i.K)(K,"isVerticalSegment"),(0,i.K)(I,"overlapLength"),(0,i.K)(w,"sameAxisSegmentOverlapLength"),(0,i.K)(S,"orthogonalSegmentsForPoints"),(0,i.K)(v,"countOrthogonalBends"),(0,i.K)(C,"dedupeConsecutivePoints"),(0,i.K)(L,"classifyThreeSegmentRoute"),(0,i.K)(k,"segmentBoundsOverlapRect"),(0,i.K)($,"pointInsideRect"),(0,i.K)(R,"rectContainsRect"),(0,i.K)(O,"rectsOverlap"),(0,i.K)(T,"inflateRect"),(0,i.K)(F,"rectFromCenterSize"),(0,i.K)(E,"rectOfNodeBounds"),(0,i.K)(B,"portForRectSide"),(0,i.K)(N,"buildOrthogonalPortPath"),(0,i.K)(X,"buildSameSideTrackPath"),(0,i.K)(z,"collectRealNodeBounds"),(0,i.K)(Y,"collectNodeRectEntries"),(0,i.K)(A,"collectLayoutNodeRects"),(0,i.K)(G,"getNodePairGeometry"),(0,i.K)(D,"segmentHitsAnyRect"),(0,i.K)(P,"orthogonalSegmentsCross"),(0,i.K)(H,"sameAxisSegmentsOverlap"),(0,i.K)(j,"segmentConflictsWithAnyEdge"),(0,i.K)(V,"orthogonalSegmentsStrictlyCross"),(0,i.K)(_,"strictlyBetween"),(0,i.K)(W,"isCollinearIntermediate"),(0,i.K)(q,"simplifyPolylineOnce"),(0,i.K)(J,"orthogonalizePolyline"),(0,i.K)(Z,"simplifyPolyline"),(0,i.K)(Q,"endpointContextFor"),(0,i.K)(U,"segmentEnterPoint"),(0,i.K)(ee,"clipEndpoint"),(0,i.K)(et,"clipEdgeEndpointsToNodeBoundaries"),(0,i.K)(en,"snapEndpointToBoundary"),(0,i.K)(er,"firstDistinctAdjacent"),(0,i.K)(eo,"cornerClearanceRange"),(0,i.K)(el,"clampToCornerClearance"),(0,i.K)(ei,"intersectRanges"),(0,i.K)(ea,"clearanceRangeForSide"),(0,i.K)(es,"terminalSideForSegment"),(0,i.K)(ef,"isHorizontalSide"),(0,i.K)(ed,"straightClearanceRange"),(0,i.K)(eu,"clearStraightEndpointCornerAxis"),(0,i.K)(eh,"clearStraightEndpointCornerConnections"),(0,i.K)(eg,"cornerClearedEndpoint"),(0,i.K)(ec,"moveCollinearEndpointRun"),(0,i.K)(ep,"clearEndpointCornerConnection"),(0,i.K)(ex,"borderSideForSegment"),(0,i.K)(em,"leavesOutward"),(0,i.K)(ey,"collapseOwnBorderStub"),(0,i.K)(eb,"snapAndCollapseEndpoints"),(0,i.K)(eM,"prepareEdgeEndpointsForRenderer"),(0,i.K)(eK,"buildNodeMap"),(0,i.K)(eI,"resolveTopLevelGroupId"),(0,i.K)(ew,"groupDepth"),(0,i.K)(eS,"boundsForChildren"),(0,i.K)(ev,"applyGroupBounds"),(0,i.K)(eC,"recomputeNestedGroupBounds"),(0,i.K)(eL,"mirrorAxis"),(0,i.K)(ek,"applyBtDirectionTransform"),(0,i.K)(e$,"applyLrDirectionTransform");var eR=[0,8,-8,16,-16];function eO(e,t){let{nodeInfoById:n,realNodeRects:r}=z(t);for(let t of e){let o;if(t.isLayoutOnly)continue;let l=t.points;if(!l||l.length<4)continue;let i=L(C(l,1e-6),1e-6);if(!i)continue;let{p3:a}=i,s="HVH"===i.kind,f=G(t,n,1e-6);if(!f)continue;let{srcId:d,dstId:u,srcInfo:h,dstInfo:g,collinearX:c,collinearY:p}=f;if(c||p)continue;let x=h.rect;for(let n of eR){let l,i,f;if(s){let e=g.cy>h.cy?x.bottom:x.top,t=h.cx+n;if(t<=x.left+1e-6||t>=x.right-1e-6)continue;l={x:t,y:e},i={x:t,y:a.y},f={x:a.x,y:a.y}}else{let e=g.cx>h.cx?x.right:x.left,t=h.cy+n;if(t<=x.top+1e-6||t>=x.bottom-1e-6)continue;l={x:e,y:t},i={x:a.x,y:t},f={x:a.x,y:a.y}}let c=m(l,i,1e-6),p=m(i,f,1e-6);if(c&&p||!c&&D(l,i,r,[d],1)||!p&&D(i,f,r,[u],1))continue;let y=!c&&j(l,i,e,t,{epsilon:1e-6,skipDegenerateOther:!0}),b=!p&&j(i,f,e,t,{epsilon:1e-6,skipDegenerateOther:!0});if(!y&&!b){o=c?[i,f]:p?[l,i]:[l,i,f];break}}o&&(t.points=o)}}function eT(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values());for(let o of e){let l,a;if(o.isLayoutOnly)continue;let s=o.points;if(!s||s.length<4)continue;let f=C(s,.001);if(f.length<4)continue;let d=f.length-1,u=f[d],h=f[d-1],g=f[d-2],c=Math.hypot(u.x-h.x,u.y-h.y);if(c>=10||c<.001)continue;let p=h.x-g.x,x=h.y-g.y;if(.001>Math.hypot(p,x))continue;let m=M(h,u,.001),I=K(h,u,.001),w=M(g,h,.001),S=K(g,h,.001);if(!(m&&S||I&&w))continue;let v=o.end,L=o.start,k=v?t.get(v):void 0;if(!k)continue;let R=k.x??0,O=k.y??0,T=E(k);if(!T)continue;if(S){let e=x<0;l={x:R,y:g.y},a={x:R,y:e?T.bottom:T.top}}else{let e=p>0;l={x:g.x,y:O},a={x:e?T.right:T.left,y:O}}if(D(l,a,n,v?[v]:[],-2)||D(l,a,r,[],-2))continue;if(L){let e=t.get(L),n=e?E(e):void 0;if(n&&$(l,n,2))continue}let F=(0,i.K)((e,t)=>`${e.x.toFixed(3)},${e.y.toFixed(3)}|${t.x.toFixed(3)},${t.y.toFixed(3)}`,"ownSegmentKey"),B=new Set;for(let e=0;e<f.length-1;e++)B.add(F(f[e],f[e+1]));let N=(0,i.K)((t,n)=>{for(let r of e){if(r===o||r.isLayoutOnly)continue;let e=r.points;if(e&&!(e.length<2))for(let r=0;r<e.length-1;r++){let o=e[r],l=e[r+1];if(!B.has(F(o,l))&&V(t,n,o,l,.001))return!0}}return!1},"segmentCrossesOtherEdge");if(N(l,a))continue;if(d-3>=0){let e=f[d-3];if(D(e,l,n,[L,v].filter(e=>!!e),-2)||N(e,l))continue}let X=[...f.slice(0,d-2),l,a];o.points=X;let z=o.labelNodeId;if(z){let e=t.get(z);if(e){let t=e.width??0,n=e.height??0;if(t>0&&n>0){let r,o,l=-1;for(let e=0;e<X.length-1;e++){let i=X[e],a=X[e+1],s=Math.hypot(a.x-i.x,a.y-i.y),f=b(i,a,.001),d=y(i,a,.001);(f&&s>=t+2||d&&s>=n+2)&&s>l&&(l=s,r=(i.x+a.x)/2,o=(i.y+a.y)/2)}void 0!==r&&void 0!==o&&(e.x=r,e.y=o)}}}}}(0,i.K)(eO,"portSwapToLShape"),(0,i.K)(eT,"collapseShortTerminalStub");var eF=(0,i.K)((e,t)=>y(e,t,.001)||b(e,t,.001),"orthogonallyAligned");function eE(e,t){let n=(0,i.K)((e,t)=>{let n=e.x??0,r=e.y??0,o=t.x-n,l=t.y-r,i=(e.width??0)/2,a=(e.height??0)/2;return Math.abs(l)*i>Math.abs(o)*a?(l<0&&(a=-a),{x:n+(0===l?0:a*o/l),y:r+a}):(o<0&&(i=-i),{x:n+i,y:r+(0===o?0:i*l/o)})},"rectIntersect"),r=(0,i.K)((e,r)=>{let o=C(e.points??[]);if(o.length<2)return;let l=r?e.start:e.end,i=l?t.get(l):void 0,a=i?E(i):void 0;if(!i||!l||!a)return;let s=r?o[0]:o[o.length-1],f=r?o[1]:o[o.length-2],d=n(i,s),u=s;return(eF(f,d)&&(u=f),y(d,u,.001))?{edge:e,edgeId:String(e.id??""),nodeId:l,atStart:r,orientation:"V",coord:d.x,min:Math.min(d.y,u.y),max:Math.max(d.y,u.y),boundary:d,railEnd:u,rect:a}:b(d,u,.001)?{edge:e,edgeId:String(e.id??""),nodeId:l,atStart:r,orientation:"H",coord:d.y,min:Math.min(d.x,u.x),max:Math.max(d.x,u.x),boundary:d,railEnd:u,rect:a}:void 0},"terminalLaneFor"),o=(0,i.K)((e,t)=>Math.max(0,Math.min(e.max,t.max)-Math.max(e.min,t.min)),"projectedOverlapLength"),l=(0,i.K)((e,t)=>e.nodeId===t.nodeId&&e.orientation===t.orientation&&("H"===e.orientation?(1>Math.abs(e.boundary.x-e.rect.left)||1>Math.abs(e.boundary.x-e.rect.right))&&y(e.boundary,t.boundary,1):(1>Math.abs(e.boundary.y-e.rect.top)||1>Math.abs(e.boundary.y-e.rect.bottom))&&b(e.boundary,t.boundary,1)),"sameTerminalFace"),a=(0,i.K)((e,t)=>e.nodeId===t.nodeId&&e.orientation===t.orientation&&o(e,t)>=8&&.5>Math.abs(e.coord-t.coord),"exactTerminalLaneConflict"),s=(0,i.K)((e,t)=>{if(e.nodeId!==t.nodeId||e.orientation!==t.orientation||"H"!==e.orientation||e.atStart===t.atStart)return!1;let n=o(e,t);if(n<8)return!1;let r=e.rect.bottom-e.rect.top;return!(n<r)&&!(n>2*r)&&l(e,t)&&16>Math.abs(e.coord-t.coord)},"nearTerminalLaneConflict"),f=(0,i.K)((e,t)=>{let n=C(e.edge.points??[]);if(n.length<2)return;let r="V"===e.orientation?{x:e.boundary.x+t,y:e.boundary.y}:{x:e.boundary.x,y:e.boundary.y+t},o="V"===e.orientation?{x:e.railEnd.x+t,y:e.railEnd.y}:{x:e.railEnd.x,y:e.railEnd.y+t};if(!(0,i.K)(()=>1>Math.abs(e.boundary.y-e.rect.top)||1>Math.abs(e.boundary.y-e.rect.bottom)?b(r,e.boundary,.001)&&r.x>=e.rect.left+1&&r.x<=e.rect.right-1:!!(1>Math.abs(e.boundary.x-e.rect.left)||1>Math.abs(e.boundary.x-e.rect.right))&&y(r,e.boundary,.001)&&r.y>=e.rect.top+1&&r.y<=e.rect.bottom-1,"boundaryStaysOnSameFace")())return;if(e.atStart){let t=n.length>1&&m(n[1],e.railEnd,.001),l=n.slice(t?2:1),i=l[0];if(i&&!eF(i,o))return;return[r,o,...l]}let l=n.length>1&&m(n[n.length-2],e.railEnd,.001),a=n.slice(0,l?-2:-1),s=a[a.length-1];if(!s||eF(s,o))return[...a,o,r]},"shiftedCandidate"),d=(0,i.K)(e=>{let n=e.edge,r=C(n.points??[]);if(2!==r.length)return!1;let o=n.start,l=n.end,i=o?t.get(o):void 0,a=l?t.get(l):void 0;if(!i||!a)return!1;let s=i.x??0,f=i.y??0,d=a.x??0,u=a.y??0,[h,g]=r;return b(h,g,.001)&&1>Math.abs(f-u)&&Math.abs(s-d)>1||y(h,g,.001)&&1>Math.abs(s-d)&&Math.abs(f-u)>1},"laneIsStraightCollinearConnector"),u=[-7,7,-14,14,-21,21];for(let t=0;t<8;t++){let t=e.filter(e=>!e.isLayoutOnly).flatMap(e=>[r(e,!0),r(e,!1)]).filter(e=>!!e),n=!1;for(let e=0;e<t.length&&!n;e++)for(let o=e+1;o<t.length&&!n;o++){let l=t[e],i=t[o];if(l.edge===i.edge||!(a(l,i)||s(l,i)))continue;let h=!a(l,i);for(let e of[l,i].sort((e,t)=>{let n=d(e),r=d(t);return n!==r?Number(n)-Number(r):Number(!t.atStart)-Number(!e.atStart)})){for(let o of u){let l=f(e,o);if(!l)continue;let i=r({...e.edge,points:l},e.atStart);if(!(!i||t.some(t=>t.edge!==e.edge&&(a(i,t)||h&&s(i,t))))){e.edge.points=l,n=!0;break}}if(n)break}}if(!n)return}}function eB(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values()),o=(0,i.K)((t,o)=>{let l=t.start,i=t.end,a=S(o);if(a.length!==o.length-1)return!1;let s=[l,i].filter(e=>!!e);for(let e of a)if(D(e.a,e.b,n,s,-2)||D(e.a,e.b,r,[],-2))return!1;for(let n of e){if(n===t||n.isLayoutOnly)continue;let e=n.points;if(e&&!(e.length<2)){for(let t of a)for(let n of S(C(e)))if(w(t,n,.5)>=8||V(t.a,t.b,n.a,n.b,.001))return!1}}return!0},"candidateIsSafe"),l=(0,i.K)((e,t)=>{if(t+4>=e.length)return;let n=e[t],r=e[t+1],o=e[t+2],l=e[t+3],i=e[t+4],a=M(n,r)&&K(r,o)&&M(o,l)&&K(l,i)&&y(n,l,.001)&&y(n,i,.001)&&y(r,o,.001)&&(r.x-n.x)*(l.x-o.x)<0,s=K(n,r)&&M(r,o)&&K(o,l)&&M(l,i)&&b(n,l,.001)&&b(n,i,.001)&&b(r,o,.001)&&(r.y-n.y)*(l.y-o.y)<0;if(a||s)return C([...e.slice(0,t+1),i,...e.slice(t+5)]);if(t+5>=e.length)return;let f=e[t+5],d=K(n,r)&&M(r,o)&&K(o,l)&&M(l,i)&&K(i,f)&&y(n,i,.001)&&y(n,f,.001)&&y(o,l,.001)&&(o.x-r.x)*(i.x-l.x)<0,u=M(n,r)&&K(r,o)&&M(o,l)&&K(l,i)&&M(i,f)&&b(n,i,.001)&&b(n,f,.001)&&b(o,l,.001)&&(o.y-r.y)*(i.y-l.y)<0;if(d||u)return C([...e.slice(0,t+1),f,...e.slice(t+6)])},"withoutDogleg");for(let t=0;t<8;t++){let t=!1;for(let n of e){if(n.isLayoutOnly)continue;let e=C(n.points??[]);for(let r=0;r<=e.length-5;r++){let i=l(e,r);if(i&&o(n,i)){n.points=i,t=!0;break}}if(t)break}if(!t)return}}function eN(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t,n)=>C(e===t?n??[]:e.points??[]),"pointsFor"),a=(0,i.K)((e,t)=>{let n=0;for(let r=0;r<o.length;r++){let i=S(l(o[r],e,t));for(let a=r+1;a<o.length;a++){let r=S(l(o[a],e,t));for(let e of i)for(let t of r)V(e.a,e.b,t.a,t.b,.001)&&n++}}return n},"strictCrossingCount"),s=(0,i.K)(e=>{let t=S(e);if(3!==t.length)return;let n=t[1];if(t[0].horizontal!==n.horizontal&&t[2].horizontal!==n.horizontal)return{index:n.index,horizontal:n.horizontal,vertical:n.vertical,segment:n}},"middleRail"),f=(0,i.K)((e,t)=>{let r=[e.start,e.end].filter(e=>!!e);return n.filter(e=>{if(r.includes(e.id))return!1;let n=e.rect;return t.horizontal?I(t.a.x,t.b.x,n.left,n.right)>=8&&t.a.y>=n.top-2&&t.a.y<=n.bottom+2:I(t.a.y,t.b.y,n.top,n.bottom)>=8&&t.a.x>=n.left-2&&t.a.x<=n.right+2})},"blockingRectsFor"),d=(0,i.K)((e,t,n)=>{let r=e.map(e=>({...e}));if(t.horizontal)r[t.index].y=n,r[t.index+1].y=n;else{if(!t.vertical)return;r[t.index].x=n,r[t.index+1].x=n}let o=Z(C(r));return S(o).length===o.length-1?o:void 0},"candidateByMovingRail"),u=(0,i.K)((e,t,i)=>{let s=[e.start,e.end].filter(e=>!!e),f=S(t);if(f.length!==t.length-1)return!1;for(let e of f)if(D(e.a,e.b,n,s,-2)||D(e.a,e.b,r,[],-2))return!1;for(let t of o)if(t!==e){for(let e of f)for(let n of S(l(t)))if(w(e,n,.5)>=8)return!1}return a(e,t)<=i},"candidateIsSafe");for(let e=0;e<8;e++){let e=a(),t=!1;for(let n of o){let r=l(n),o=s(r);if(!o)continue;let i=f(n,o.segment);if(0!==i.length){for(let l of o.horizontal?[Math.min(...i.map(e=>e.rect.top))-20,Math.max(...i.map(e=>e.rect.bottom))+20]:[Math.min(...i.map(e=>e.rect.left))-20,Math.max(...i.map(e=>e.rect.right))+20]){let i=d(r,o.segment,l);if(i&&u(n,i,e)){n.points=i,t=!0;break}}if(t)break}}if(!t)return}}function eX(e,t){let n=(0,i.K)(e=>{let t=e.groupTitleRect;if(t&&"number"==typeof t.left&&"number"==typeof t.right&&"number"==typeof t.top&&"number"==typeof t.bottom&&Number.isFinite(t.left)&&Number.isFinite(t.right)&&Number.isFinite(t.top)&&Number.isFinite(t.bottom)&&!(t.right<=t.left)&&!(t.bottom<=t.top))return{left:t.left,right:t.right,top:t.top,bottom:t.bottom}},"validTitleRect"),r=(0,i.K)(e=>{if(!e.isGroup||e.parentId)return;let t=e.direction,r="string"==typeof t?t.toUpperCase():"";if("LR"===r||"RL"===r||"BT"===r)return;let o=n(e),l=e.y,i=e.height;if(!o||"number"!=typeof l||"number"!=typeof i||!Number.isFinite(l)||!Number.isFinite(i)||i<=0)return;let a=o.right-o.left,s=o.bottom-o.top;if(!(s<=0)&&!(a<s))return{node:e,rect:o}},"topLaneTitleFor"),o=(0,i.K)((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return!(n<=t.top+.001)&&!(n>=t.bottom-.001)&&I(e.a.x,e.b.x,t.left,t.right)>=8},"horizontalSegmentIntersectsTitle"),l=[...t.values()].map(r).filter(e=>!!e);if(0===l.length)return;let a=0;for(let t of e)if(!t.isLayoutOnly)for(let e of S(C(t.points??[])))for(let t of l)o(e,t.rect)&&(a=Math.max(a,t.rect.bottom-e.a.y+4));if(!(a<=.001))for(let e of l){let t=e.node.y,n=e.node.height;"number"==typeof t&&"number"==typeof n&&Number.isFinite(t)&&Number.isFinite(n)&&!(n<=0)&&(e.node.y=t-a/2,e.node.height=n+a,e.node.groupTitleRect={...e.rect,top:e.rect.top-a,bottom:e.rect.bottom-a})}}function ez(e,t){let n=(0,i.K)(e=>{let t=e.groupTitleRect;if(t&&"number"==typeof t.left&&"number"==typeof t.right&&"number"==typeof t.top&&"number"==typeof t.bottom&&Number.isFinite(t.left)&&Number.isFinite(t.right)&&Number.isFinite(t.top)&&Number.isFinite(t.bottom)&&!(t.right<=t.left)&&!(t.bottom<=t.top))return{left:t.left,right:t.right,top:t.top,bottom:t.bottom}},"validTitleRect"),r=(0,i.K)(e=>{if(!e.isGroup||e.parentId||"LR"!==e.direction)return;let t=n(e),r=e.x,o=e.width;if(!t||"number"!=typeof r||"number"!=typeof o||!Number.isFinite(r)||!Number.isFinite(o)||o<=0)return;let l=t.right-t.left,i=t.bottom-t.top;if(!(l<=0)&&!(i<l))return{node:e,rect:t}},"leftLaneTitleFor"),o=(0,i.K)((e,t)=>{if(!e.vertical)return!1;let n=e.a.x;return!(n<=t.left+.001)&&!(n>=t.right-.001)&&I(e.a.y,e.b.y,t.top,t.bottom)>=8},"verticalSegmentIntersectsTitle"),l=(0,i.K)((e,t)=>{if(!e.horizontal)return!1;let n=e.a.y;return!(n<=t.top+.001)&&!(n>=t.bottom-.001)&&I(e.a.x,e.b.x,t.left,t.right)>=8},"horizontalSegmentIntersectsTitle"),a=[...t.values()].map(r).filter(e=>!!e);if(0===a.length)return;let s=0;for(let t of e)if(!t.isLayoutOnly){for(let e of S(C(t.points??[])))for(let t of a)if(o(e,t.rect))s=Math.max(s,t.rect.right-e.a.x+4);else if(l(e,t.rect)){let n=Math.min(e.a.x,e.b.x);s=Math.max(s,t.rect.right-n+4)}}if(!(s<=.001))for(let e of a){let t=e.node.x,n=e.node.width;"number"==typeof t&&"number"==typeof n&&Number.isFinite(t)&&Number.isFinite(n)&&!(n<=0)&&(e.node.x=t-s/2,e.node.width=n+s,e.node.groupTitleRect={...e.rect,left:e.rect.left-s,right:e.rect.right-s})}}function eY(e,t){let{realNodeRects:n}=Y(t.values()),r=e.filter(e=>!e.isLayoutOnly),o=(0,i.K)((e,t=new Map)=>C(t.get(e)??e.points??[]),"replacementPointsFor"),l=(0,i.K)((e=new Map)=>{let t=0;for(let n=0;n<r.length;n++){let l=S(o(r[n],e));for(let i=n+1;i<r.length;i++){let n=S(o(r[i],e));for(let e of l)for(let r of n)V(e.a,e.b,r.a,r.b,.001)&&t++}}return t},"crossingCount"),a=(0,i.K)((e=new Map)=>r.reduce((t,n)=>t+v(o(n,e)),0),"totalBends"),s=(0,i.K)(e=>{let t=o(e);if(t.length<4)return;let n=t[t.length-2],r=t[t.length-1];if(M(n,r,.001)||K(n,r,.001))return{tailStart:n,terminal:r}},"terminalTailFor"),f=(0,i.K)((e,t)=>{let n,r=o(e);if(r.length<3)return;let l=r[0],i=r[1];if(M(l,i,.001))n={x:i.x,y:t.tailStart.y};else{if(!K(l,i,.001))return;n={x:t.tailStart.x,y:i.y}}let a=Z(C([l,i,n,t.tailStart,t.terminal]));return S(a).length===a.length-1?a:void 0},"candidateWithDestinationTail"),d=(0,i.K)((e,t)=>{let r=[e.start,e.end].filter(e=>!!e);for(let e of S(t))if(D(e.a,e.b,n,r,-2))return!0;return!1},"pathHasNodeHit"),u=(0,i.K)((e,t,n)=>{for(let l of r)if(l!==e){for(let e of S(t))for(let t of S(o(l,n)))if(w(e,t,.5)>=8)return!0}return!1},"pathHasSharedTrack"),h=(0,i.K)((e,t,n)=>!d(e,t)&&!u(e,t,n),"candidateIsSafe"),g=(0,i.K)(()=>{let e=new Map;for(let n of r){let r=n.end;if(!r||!t.has(r)||o(n).length<4)continue;let l=e.get(r)??[];l.push(n),e.set(r,l)}return e},"edgesByDestination");for(let e=0;e<4;e++){let e,t=l();if(0===t)return;let n=a(),r=t,o=n;for(let n of g().values())for(let i=0;i<n.length;i++)for(let d=i+1;d<n.length;d++){let u=n[i],g=n[d],c=s(u),p=s(g);if(!c||!p)continue;let x=f(u,p),m=f(g,c);if(!x||!m)continue;let y=new Map([[u,x],[g,m]]);if(!h(u,x,y)||!h(g,m,y))continue;let b=l(y),M=a(y);!(b>=t)&&(b>r||b===r&&M>=o||(e=y,r=b,o=M))}if(!e)return;for(let[t,n]of e)t.points=n}}function eA(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t=new Map)=>C(t.get(e)??e.points??[]),"replacementPointsFor"),a=(0,i.K)((e=new Map)=>{let t=0;for(let n=0;n<o.length;n++){let r=S(l(o[n],e));for(let i=n+1;i<o.length;i++){let n=S(l(o[i],e));for(let e of r)for(let r of n)V(e.a,e.b,r.a,r.b,.001)&&t++}}return t},"strictCrossingCount"),s=(0,i.K)((e=new Map)=>o.reduce((t,n)=>t+v(l(n,e)),0),"totalBends"),f=(0,i.K)(e=>{let n=e.start,r=e.end,o=n?t.get(n):void 0,l=r?t.get(r):void 0,i=o?E(o):void 0,a=l?E(l):void 0;return i&&a?{src:i,dst:a}:void 0},"endpointRectsFor"),d=(0,i.K)((e,t,n)=>{if(n.index<=0||n.index+1>=t.length-1)return;let r=f(e);if(r){if(n.vertical){let o=n.a.x,l=Math.min(r.src.left,r.dst.left),i=Math.max(r.src.right,r.dst.right),a=o<l-.001?"left":o>i+.001?"right":void 0;if(!a)return;return{edge:e,points:t,segmentIndex:n.index,axis:"vertical",side:a,coord:o,min:Math.min(n.a.y,n.b.y),max:Math.max(n.a.y,n.b.y)}}if(n.horizontal){let o=n.a.y,l=Math.min(r.src.top,r.dst.top),i=Math.max(r.src.bottom,r.dst.bottom),a=o<l-.001?"top":o>i+.001?"bottom":void 0;if(!a)return;return{edge:e,points:t,segmentIndex:n.index,axis:"horizontal",side:a,coord:o,min:Math.min(n.a.x,n.b.x),max:Math.max(n.a.x,n.b.x)}}}},"externalRailForSegment"),u=(0,i.K)(()=>{let e=[];for(let t of o){let n=l(t);for(let r of S(n)){let o=d(t,n,r);o&&e.push(o)}}return e},"collectExternalRails"),h=(0,i.K)((e,t)=>e.edge!==t.edge&&e.axis===t.axis&&e.side===t.side&&I(e.min,e.max,t.min,t.max)>=8,"railsInteract"),g=(0,i.K)(e=>{let t=[],n=new Set;for(let r of e){if(n.has(r))continue;let o=[r],l=[];for(n.add(r);o.length>0;){let t=o.pop();for(let r of(l.push(t),e))!n.has(r)&&h(t,r)&&(n.add(r),o.push(r))}l.length>1&&t.push(l)}return t},"connectedComponents"),c=(0,i.K)(e=>{let t=[];for(let n of e)t.some(e=>.001>Math.abs(e-n.coord))||t.push(n.coord);for(;t.length<e.length;){let n=Math.min(...t),r=Math.max(...t),o=e[0].side;t.push("left"===o||"top"===o?n-12*(e.length-t.length):r+12*(e.length-t.length))}return t},"uniqueCoordsFor"),p=(0,i.K)(e=>{let t=e.map(e=>e.coord),n=c(e),r=[];if(e.length<=6){let o=Array(n.length).fill(!1),l=[],a=(0,i.K)(()=>{if(l.length===e.length){l.some((e,n)=>Math.abs(e-t[n])>=.001)&&r.push([...l]);return}for(let[e,t]of n.entries())o[e]||(o[e]=!0,l.push(t),a(),l.pop(),o[e]=!1)},"visit");return a(),r}for(let e=0;e<t.length;e++)for(let n=e+1;n<t.length;n++){let o=[...t];[o[e],o[n]]=[o[n],o[e]],r.push(o)}return r},"coordinateAssignmentsFor"),x=(0,i.K)((e,t)=>{let n=new Map;for(let[r,o]of e.entries()){let e=t[r],l=n.get(o.edge)??o.points.map(e=>({x:e.x,y:e.y}));"vertical"===o.axis?(l[o.segmentIndex].x=e,l[o.segmentIndex+1].x=e):(l[o.segmentIndex].y=e,l[o.segmentIndex+1].y=e),n.set(o.edge,l)}let r=new Map;for(let[e,t]of n){let n=Z(C(t));if(S(n).length!==n.length-1)return;r.set(e,n)}return r},"replacementsForAssignment"),m=(0,i.K)(e=>{for(let[t,o]of e){let e=[t.start,t.end].filter(e=>!!e);for(let t of S(o))if(D(t.a,t.b,n,e,-2)||D(t.a,t.b,r,[],-2))return!1}for(let t=0;t<o.length;t++){let n=o[t],r=e.has(n),i=S(l(n,e));for(let n=t+1;n<o.length;n++){let t=o[n];if(!r&&!e.has(t))continue;let a=S(l(t,e));for(let e of i)for(let t of a)if(w(e,t,.5)>=8)return!1}}return!0},"candidateIsSafe");for(let e=0;e<4;e++){let e,t=a();if(0===t)return;let n=t,r=s(),o=1/0;for(let l of g(u()))for(let i of p(l)){let f=x(l,i);if(!f||!m(f))continue;let d=a(f);if(d>=t)continue;let u=s(f),h=l.reduce((e,t,n)=>e+Math.abs(i[n]-t.coord),0);d>n||d===n&&(u>r||u===r&&h>=o)||(e=f,n=d,r=u,o=h)}if(!e)return;for(let[t,n]of e)t.points=n}}function eG(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values()),o=e.filter(e=>!e.isLayoutOnly),l=(0,i.K)((e,t,n)=>C(e===t?n??[]:e.points??[]),"pointsFor"),a=(0,i.K)(e=>S(e).reduce((e,t)=>e+Math.hypot(t.a.x-t.b.x,t.a.y-t.b.y),0),"pathLength"),s=(0,i.K)((e,t)=>{let n=0;for(let r=0;r<o.length;r++){let i=S(l(o[r],e,t));for(let a=r+1;a<o.length;a++){let r=S(l(o[a],e,t));for(let e of i)for(let t of r)V(e.a,e.b,t.a,t.b,.001)&&n++}}return n},"strictCrossingCount"),f=(0,i.K)((e,t)=>{if(e.horizontal){let n=e.a.y;return(1>Math.abs(n-t.top)||1>Math.abs(n-t.bottom))&&I(e.a.x,e.b.x,t.left,t.right)>=8}if(e.vertical){let n=e.a.x;return(1>Math.abs(n-t.left)||1>Math.abs(n-t.right))&&I(e.a.y,e.b.y,t.top,t.bottom)>=8}return!1},"segmentRunsAlongRectBorder"),d=(0,i.K)(e=>{let n=[e.start,e.end].filter(e=>!!e),r=[];for(let e of n){let n=t.get(e),o=n?E(n):void 0;o&&r.push(o)}return r},"endpointRectsFor"),u=(0,i.K)((e,t)=>{if(t+3>=e.length)return[];let n=e[t],r=e[t+1],o=e[t+2],l=e[t+3],i=M(n,r,.001)&&K(r,o,.001)&&M(o,l,.001),a=K(n,r,.001)&&M(r,o,.001)&&K(o,l,.001);if(!i&&!a||!(i?Math.sign(r.x-n.x)!==Math.sign(l.x-o.x):Math.sign(r.y-n.y)!==Math.sign(l.y-o.y)))return[];let s=y(n,l,.001)||b(n,l,.001)?[]:[{x:n.x,y:l.y},{x:l.x,y:n.y}],f=0===s.length?[[...e.slice(0,t+1),...e.slice(t+3)]]:s.map(n=>[...e.slice(0,t+1),n,...e.slice(t+3)]),d=new Set;return f.map(e=>Z(C(e))).filter(e=>{if(S(e).length!==e.length-1||!e.some(e=>m(e,l,.001)))return!1;let t=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!d.has(t)&&(d.add(t),!0)})},"shortcutCandidatesAt"),h=(0,i.K)((e,t,i)=>{let a=[e.start,e.end].filter(e=>!!e),u=d(e);for(let e of S(t))if(D(e.a,e.b,n,a,-2)||D(e.a,e.b,r,[],-2)||u.some(t=>f(e,t)))return!1;for(let n of o)if(n!==e){for(let e of S(t))for(let t of S(l(n)))if(w(e,t,.5)>=8)return!1}return s(e,t)<=i},"candidateIsSafe");for(let e=0;e<8;e++){let e,t,n=s(),r=n,i=1/0,f=1/0;for(let d of o){let o=l(d),g=v(o,.001),c=a(o);for(let l=0;l<=o.length-4;l++)for(let p of u(o,l)){let o=v(p,.001),l=a(p);if(!(o<g||o===g&&l<c-.001)||!h(d,p,n))continue;let u=s(d,p);u>r||u===r&&(o>i||o===i&&l>=f)||(e=d,t=p,r=u,i=o,f=l)}}if(!e||!t)return;e.points=t}}function eD(e,t){let n=[];for(let e of t.values()){if(e.isGroup||e.isEdgeLabel)continue;let t=e.x??0,r=e.y??0,o=E(e);o&&n.push({id:String(e.id??""),cx:t,cy:r,rect:o})}if(0===n.length)return;let r=new Map(n.map(e=>[e.id,e])),o=n.map(e=>({id:e.id,rect:e.rect})),l=["top","bottom","left","right"],a={top:Math.min(...n.map(e=>e.rect.top))-20,bottom:Math.max(...n.map(e=>e.rect.bottom))+20,left:Math.min(...n.map(e=>e.rect.left))-20,right:Math.max(...n.map(e=>e.rect.right))+20},s=e.filter(e=>!e.isLayoutOnly),f=new Map(s.map((e,t)=>[e,t])),d=(0,i.K)(e=>{let t="left"===e||"top"===e?-1:1,n=[];for(let r=0;r<=2;r++)n.push(a[e]+20*t*r);return n},"outwardTracksForSide"),u=(0,i.K)((e,t=new Map)=>C(t.get(e)??e.points??[]),"replacementPointsFor"),h=(0,i.K)((e,t)=>{let n=0;for(let r of e)for(let e of t)V(r.a,r.b,e.a,e.b,.001)&&n++;return n},"crossingCountBetweenSegments"),g=(0,i.K)((e,t)=>h(S(e),S(t)),"crossingCountBetweenPaths"),c=(0,i.K)((e=new Map)=>{let t=0,n=[],r=new Set,o=[],l=(0,i.K)(e=>{r.has(e)||(r.add(e),o.push(e))},"addEdge");for(let r=0;r<s.length;r++){let o=s[r],i=u(o,e);for(let a=r+1;a<s.length;a++){let r=s[a],f=g(i,u(r,e));f>0&&(t+=f,n.push({first:o,second:r,count:f}),l(o),l(r))}}return o.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),{count:t,pairs:n,edgeSet:r,edges:o}},"crossingSnapshot"),p=(0,i.K)((e,t)=>{let n=new Set(t.keys());if(0===n.size)return e.count;let r=0;for(let t of e.pairs)(n.has(t.first)||n.has(t.second))&&(r+=t.count);let o=0;for(let e=0;e<s.length;e++){let r=s[e],l=n.has(r),i=u(r,t);for(let r=e+1;r<s.length;r++){let e=s[r];(l||n.has(e))&&(o+=g(i,u(e,t)))}}return e.count-r+o},"crossingCountWithReplacements"),x=(0,i.K)(e=>{let t=new Map;for(let n of e.pairs){let e=t.get(n.first)??new Set;e.add(n.second),t.set(n.first,e);let r=t.get(n.second)??new Set;r.add(n.first),t.set(n.second,r)}let n=[],r=new Set;for(let o of e.edges){if(r.has(o))continue;let e=[o],l=[];for(r.add(o);e.length>0;){let n=e.pop();for(let o of(l.push(n),t.get(n)??[]))r.has(o)||(r.add(o),e.push(o))}l.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),l.length>1&&n.push(l)}return n},"crossingComponents"),m=(0,i.K)(e=>[e.start,e.end].filter(e=>!!e),"endpointIdsFor"),y=(0,i.K)(e=>{let t=[];for(let n of x(e)){let e=new Set(n),r=new Set(n.flatMap(e=>m(e))),o=[...n];for(let t of s)!e.has(t)&&m(t).some(e=>r.has(e))&&o.push(t);o.sort((e,t)=>(f.get(e)??0)-(f.get(t)??0)),t.push(o)}return t},"pairSearchGroups"),b=(0,i.K)((e,t,n)=>p(e,new Map([[t,n]])),"crossingCountWithSingleReplacement"),I=(0,i.K)(e=>{let t=new Map;for(let n of e.pairs)t.set(n.first,(t.get(n.first)??0)+n.count),t.set(n.second,(t.get(n.second)??0)+n.count);return t},"currentCrossingsByEdge"),L=(0,i.K)(e=>e.slice(1).reduce((t,n,r)=>{let o=e[r];return t+Math.abs(n.x-o.x)+Math.abs(n.y-o.y)},0),"pathLength"),k=(0,i.K)((e=new Map)=>s.reduce((t,n)=>t+v(u(n,e)),0),"totalBends"),$=(0,i.K)((e=new Map)=>s.reduce((t,n)=>t+L(u(n,e)),0),"totalLength"),R=(0,i.K)((e,t,n=new Map)=>{let r=S(t);for(let t of s)if(t!==e){for(let e of r)for(let r of S(u(t,n)))if(w(e,r,.5)>=8)return!0}return!1},"pathHasSegmentConflict"),O=(0,i.K)((e,t)=>{let n=[e.start,e.end].filter(e=>!!e);for(let e of S(t))if(D(e.a,e.b,o,n,-2))return!0;return!1},"pathHitsNode"),T=(0,i.K)((e,t)=>{let n=Z(C(t));S(n).length===n.length-1&&e.push(n)},"pushOrthogonalCandidate"),F=(0,i.K)(e=>"left"===e||"right"===e,"sideIsHorizontal"),z=(0,i.K)((e,t,n)=>{switch(t){case"left":return Math.min(e.x,n.x)-20;case"right":return Math.max(e.x,n.x)+20;case"top":return Math.min(e.y,n.y)-20;case"bottom":return Math.max(e.y,n.y)+20}},"localTrackForSameSide"),Y=(0,i.K)((e,t,n,r)=>{let o="left"===n||"top"===n?-1:1;for(let l of[z(t,n,r),a[n]])for(let i=0;i<=2;i++)T(e,X(t,n,r,l+20*o*i))},"addSameSideCandidates"),A=(0,i.K)((e,t,n,r,o)=>{for(let l of d(n))for(let n of d(o))T(e,[t,{x:l,y:t.y},{x:l,y:n},{x:r.x,y:n},r])},"addHorizontalToVerticalCandidates"),G=(0,i.K)((e,t,n,r,o)=>{for(let l of d(n))for(let n of d(o))T(e,[t,{x:t.x,y:l},{x:n,y:l},{x:n,y:r.y},r])},"addVerticalToHorizontalCandidates"),P=(0,i.K)((e,t,n,r,o)=>{let l=[...d("top"),...d("bottom")];for(let i of d(n))for(let n of d(o))for(let o of l)T(e,[t,{x:i,y:t.y},{x:i,y:o},{x:n,y:o},{x:n,y:r.y},r])},"addHorizontalPairCandidates"),H=(0,i.K)((e,t,n,r,o)=>{let l=[...d("left"),...d("right")];for(let i of d(n))for(let n of d(o))for(let o of l)T(e,[t,{x:t.x,y:i},{x:o,y:i},{x:o,y:n},{x:r.x,y:n},r])},"addVerticalPairCandidates"),j=(0,i.K)(e=>{let t=new Set;return e.map(e=>C(e)).filter(e=>{let n=e.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!t.has(n)&&!(e.length<2)&&(t.add(n),!0)})},"dedupeCandidatePaths"),_=(0,i.K)((e,t,n,r)=>{let o=[],l=N(e,t,n,r,20,.001);l&&T(o,l),t===r&&Y(o,e,t,n);let i=F(t),a=F(r);return i&&!a?A(o,e,t,n,r):!i&&a?G(o,e,t,n,r):i?P(o,e,t,n,r):H(o,e,t,n,r),j(o)},"buildCandidatesForSides"),W=(0,i.K)((e,t,n,r)=>{let o=[...d("left"),...d("right")],i=[...d("top"),...d("bottom")];for(let a of l){let l=B(r,a),s="top"===a||"bottom"===a?d(a):i;for(let r of o)for(let o of(T(e,[t,n,{x:r,y:n.y},{x:r,y:l.y},l]),s))T(e,[t,n,{x:r,y:n.y},{x:r,y:o},{x:l.x,y:o},l])}},"addVerticalDepartureOuterTrackCandidates"),q=(0,i.K)((e,t,n,r)=>{let o=[...d("left"),...d("right")],i=[...d("top"),...d("bottom")];for(let a of l){let l=B(r,a),s="left"===a||"right"===a?d(a):o;for(let r of i)for(let o of(T(e,[t,n,{x:n.x,y:r},{x:l.x,y:r},l]),s))T(e,[t,n,{x:n.x,y:r},{x:o,y:r},{x:o,y:l.y},l])}},"addHorizontalDepartureOuterTrackCandidates"),J=(0,i.K)(e=>{let t=e.start,n=e.end,o=n?r.get(n):void 0;if(!t||!o)return[];let l=C(e.points??[]);if(l.length<4)return[];let i=l[0],a=l[1],s=[];return K(i,a,.001)?W(s,i,a,o):M(i,a,.001)&&q(s,i,a,o),s},"terminalPreservingOuterTrackCandidates"),Q=(0,i.K)(e=>{let t=e.start,n=e.end,o=t?r.get(t):void 0,i=n?r.get(n):void 0;if(!o||!i)return[];let a=[];for(let e of l){let t=B(o,e);for(let n of l)a.push(..._(t,e,B(i,n),n))}return a.push(...J(e)),a},"candidatePathsFor"),U=(0,i.K)(()=>new Map(s.map(e=>[e,S(u(e))])),"currentSegmentsByEdge"),ee=(0,i.K)((e,t,n)=>{let r=new Set;for(let o of s){if(o===e)continue;let l=n.get(o)??S(u(o));t.some(e=>l.some(t=>w(e,t,.5)>=8))&&r.add(o)}return r},"sharedTrackConflictsFor"),et=(0,i.K)((e,t,n,r)=>{let o=new Set;return Q(e).map(e=>Z(C(e))).filter(t=>{if(O(e,t))return!1;let n=t.map(e=>`${e.x.toFixed(3)},${e.y.toFixed(3)}`).join("|");return!o.has(n)&&!(t.length<2)&&(o.add(n),!0)}).map(o=>{let l=S(o),i=0;for(let t of s)t!==e&&(i+=h(l,n.get(t)??S(u(t))));return{candidate:o,candidateSegments:l,crossings:t.count-(r.get(e)??0)+i,bends:v(o,.001),totalBends:v(o),length:L(o)}}).filter(({crossings:e})=>e<=t.count).sort((e,t)=>e.crossings-t.crossings||e.bends-t.bends||e.length-t.length).slice(0,48).map(t=>({path:t.candidate,segments:t.candidateSegments,sharedTrackConflicts:ee(e,t.candidateSegments,n),totalBends:t.totalBends,length:t.length}))},"pairCandidatesFor"),en=(0,i.K)((e,t,n,r,o,l)=>{let i=0;for(let n of e.pairs)(n.first===t||n.second===t||n.first===r||n.second===r)&&(i+=n.count);let a=h(n.segments,o.segments);for(let e of s){if(e===t||e===r)continue;let i=l.get(e)??S(u(e));a+=h(n.segments,i)+h(o.segments,i)}return e.count-i+a},"pairCrossingCount"),er=(0,i.K)((e,t)=>{for(let n of e.sharedTrackConflicts)if(n!==t)return!1;return!0},"conflictsOnlyWith"),eo=(0,i.K)((e,t)=>e.segments.some(e=>t.segments.some(t=>w(e,t,.5)>=8)),"candidatesShareTrack"),el=(0,i.K)((e,t,n,r)=>er(t,n.edge)&&er(r,e.edge)&&!eo(t,r),"pairCandidatesAreCompatible"),ei=(0,i.K)((e,t,n,r,o)=>{let l=en(e.current,t.edge,n,r.edge,o,e.baseSegments);if(!(l>=e.current.count))return{replacements:new Map([[t.edge,n.path],[r.edge,o.path]]),crossings:l,bends:e.currentBends-(e.baseBendsByEdge.get(t.edge)??0)-(e.baseBendsByEdge.get(r.edge)??0)+n.totalBends+o.totalBends,length:e.currentLength-(e.baseLengthByEdge.get(t.edge)??0)-(e.baseLengthByEdge.get(r.edge)??0)+n.length+o.length}},"scorePairReplacement"),ea=(0,i.K)((e,t)=>e.crossings<t.crossings||e.crossings===t.crossings&&(e.bends<t.bends||e.bends===t.bends&&e.length<t.length),"pairScoreIsBetter"),es=(0,i.K)((e,t,n,r)=>{let o=r;for(let r of t.candidates)for(let l of n.candidates){if(!el(t,r,n,l))continue;let i=ei(e,t,r,n,l);i&&ea(i,o)&&(o=i)}return o},"bestScoreForOptionPair"),ef=(0,i.K)(e=>{let t=k(),n=$(),r=U(),o=I(e),l=new Map(s.map(e=>[e,v(u(e))])),i=new Map(s.map(e=>[e,L(u(e))])),a=new Map,f=y(e);for(let t of f)for(let n of t){if(a.has(n))continue;let t=et(n,e,r,o);t.length>0&&a.set(n,{edge:n,candidates:t})}let d={replacements:new Map,crossings:e.count,bends:t,length:n},h={current:e,currentBends:t,currentLength:n,baseBendsByEdge:l,baseLengthByEdge:i,baseSegments:r};for(let t of f){let n=new Set(t.filter(t=>e.edgeSet.has(t))),r=t.map(e=>a.get(e)).filter(e=>!!e);for(let e=0;e<r.length;e++){let t=r[e];for(let o=e+1;o<r.length;o++){let e=r[o];(n.has(t.edge)||n.has(e.edge))&&(d=es(h,t,e,d))}}}return d.replacements.size>0?d.replacements:void 0},"bestPairedReplacement");for(let e=0;e<4;e++){let e,t,n=c(),r=n.count;if(0===r)return;let o=r,l=1/0;for(let i of n.edges){let a=v(u(i),.001);for(let s of Q(i)){let f=O(i,s),d=!f&&R(i,s),u=b(n,i,s),h=v(s,.001);!f&&!d&&(u<r||u===r&&h<a)&&(u>o||u===o&&h>=l||(e=i,t=s,o=u,l=h))}}if(e&&t){e.points=t;continue}let i=ef(n);if(!i)return;for(let[e,t]of i)e.points=t}}function eP(e,t){let{nodeInfoById:n,realNodeRects:r}=z(t),o=["top","bottom","left","right"],l={top:Math.min(...r.map(e=>e.rect.top))-20,bottom:Math.max(...r.map(e=>e.rect.bottom))+20,left:Math.min(...r.map(e=>e.rect.left))-20,right:Math.max(...r.map(e=>e.rect.right))+20},a=(0,i.K)((e,t,n,r)=>{let o=[],i=N(e,t,n,r,20,.001);return i&&o.push(i),t===r&&o.push(X(e,t,n,l[t])),o},"buildOrthogonalPathCandidates"),s=(0,i.K)((e,t)=>{for(let n=0;n<e.length-1;n++)if(D(e[n],e[n+1],r,t,1))return!0;return!1},"pathHitsNode"),f=(0,i.K)((t,n,r=!1)=>{let o=0,l=S(t,.001),i=n.start,a=n.end;for(let t of e){if(t===n||t.isLayoutOnly)continue;let e=t.start,s=t.end;if(!r&&i&&a&&(e===i||e===a||s===i||s===a))continue;let f=t.points;if(f&&!(f.length<2))for(let e of l)for(let t of S(f,.001)){if(P(e.a,e.b,t.a,t.b,.001,.001)){o++;continue}w(e,t,.001)>=8&&o++}}return o},"pathConflictCount"),d=(0,i.K)((e,t)=>{let n=Math.abs(e.y-t.rect.top),r=Math.abs(e.y-t.rect.bottom),o=Math.abs(e.x-t.rect.left),l=Math.abs(e.x-t.rect.right),i="top",a=n;return r<a&&(i="bottom",a=r),o<a&&(i="left",a=o),l<a&&(i="right",a=l),i},"nearestSideOfRect"),u=new Map,h=(0,i.K)((e,t,n)=>{let r=u.get(e)??[];r.push({side:t,edgeId:n}),u.set(e,r)},"addFaceClaim");for(let t of e){if(t.isLayoutOnly)continue;let e=t.points??[];if(e.length<1)continue;let r=t.id??"",o=t.start,l=t.end;if(o){let t=n.get(o);t&&h(o,d(e[0],t),r)}if(l){let t=n.get(l);t&&h(l,d(e[e.length-1],t),r)}}let g=(0,i.K)((e,t,n)=>u.get(e)?.some(e=>e.edgeId!==n&&e.side===t)??!1,"faceIsClaimed");for(let t of e){let e;if(t.isLayoutOnly)continue;let r=t.points;if(!r||r.length<2)continue;let l=v(r,.001);if(l<4)continue;let i=t.start,c=t.end;if(!i||!c)continue;let p=n.get(i),x=n.get(c);if(!p||!x)continue;let m=t.id??"",y=f(r,t,!0),b=f(r,t),M=y,K=l;for(let n of o){if(g(i,n,m))continue;let r=B(p,n);for(let l of o)if(!g(c,l,m))for(let o of a(r,n,B(x,l),l)){if(s(o,[i,c]))continue;let n=v(o,.001);if(y>0){let r=f(o,t,!0);if(r>M||r===M&&n>=K)continue;M=r,K=n,e=o;continue}!(f(o,t)>b)&&n<K&&(K=n,e=o)}}if(e){t.points=e;let n=u.get(i);n&&u.set(i,n.filter(e=>e.edgeId!==m));let r=u.get(c);r&&u.set(c,r.filter(e=>e.edgeId!==m)),h(i,d(e[0],p),m),h(c,d(e[e.length-1],x),m)}}}function eH(e,t){let n=t?0:e.length-1,r=e[n],o=e[n+(t?1:-1)];if(!r||!o)return;let l=o.x-r.x,i=o.y-r.y;if(!(Math.abs(l)+Math.abs(i)<.001)){if(.001>=Math.abs(i)){let e=r.x+10*Math.sign(l);return{left:Math.min(r.x,e),right:Math.max(r.x,e),top:r.y-7,bottom:r.y+7}}if(.001>=Math.abs(l)){let e=r.y+10*Math.sign(i);return{left:r.x-7,right:r.x+7,top:Math.min(r.y,e),bottom:Math.max(r.y,e)}}return{left:Math.min(r.x,o.x),right:Math.max(r.x,o.x),top:Math.min(r.y,o.y),bottom:Math.max(r.y,o.y)}}}function ej(e){return{left:Math.min(e.left,e.right),right:Math.max(e.left,e.right),top:Math.min(e.top,e.bottom),bottom:Math.max(e.top,e.bottom)}}function eV(e,t){let n=C(t);return[eH(n,!0),eH(n,!1)].some(t=>t&&O(e,ej(t)))}function e_(e,t){let n=[];for(let t of e){if(t.isLayoutOnly)continue;let e=t.points;if(e&&!(e.length<2))for(let r=0;r<e.length-1;r++)n.push({edgeId:t.id,p1:e[r],p2:e[r+1]})}let r=[],o=[];for(let e of t.values()){let t=e.isGroup,n=e.parentId;if(t&&!n){let t=E(e);t&&o.push({id:e.id,rect:t});continue}if(t||e.isEdgeLabel)continue;let l=E(e);l&&r.push({nodeId:e.id,rect:l})}let l=(0,i.K)((e,t)=>{let n=T(t,3);for(let{nodeId:t,rect:o}of r)if(t!==e&&O(n,o))return!0;return!1},"labelOverlapsForeignNode"),a=(0,i.K)((e,t)=>{let r=T(t,3);for(let t of n)if(t.edgeId!==e&&k(t.p1,t.p2,r))return!0;return!1},"labelOverlapsForeignEdge"),s=(0,i.K)((e,t,n)=>l(e,n)||a(t,n),"labelOverlapsAnything"),f=[],d=(0,i.K)(e=>{for(let{id:t,rect:n}of o)if(R(n,e))return t},"findContainingLane"),u=(0,i.K)((e,t)=>f.some(n=>n.labelId!==e&&O(t,n.rect)),"overlapsPlacedLabel");for(let n of e){if(n.isLayoutOnly)continue;let e=n.labelNodeId;if(!e)continue;let r=t.get(e);if(!r)continue;let h=n.points;if(!h||h.length<2)continue;let g=r.width??0,c=r.height??0;if(g<=0||c<=0)continue;let p=[];for(let e=0;e<h.length-1;e++){let t=h[e],n=h[e+1],r=Math.abs(t.x-n.x),o=Math.abs(t.y-n.y);(!(r<.001)||!(o<.001))&&(r>=.001&&o>=.001||p.push({idx:e,length:r+o,orientation:r>=.001?"horizontal":"vertical",midX:(t.x+n.x)/2,midY:(t.y+n.y)/2}))}if(0===p.length)continue;let x=p.length>=3?p.filter(e=>e.idx>0&&e.idx<p.length-1):p,m=x.length>0?x:p,y=g>=c?"horizontal":"vertical",b=(0,i.K)(e=>[...e].sort((e,t)=>{let n=e.orientation===y;if(n!==(t.orientation===y))return n?-1:1;let r=e.length>=("horizontal"===e.orientation?g:c)+2;return r!==t.length>=("horizontal"===t.orientation?g:c)+2?r?-1:1:t.length-e.length}),"rankSegments"),M=p[0],K=p[p.length-1],I=[.5,.25,.75,.05,.95,.15,.85,.1,.9],w=(0,i.K)((e,t)=>{let n=h[e.idx],r=h[e.idx+1];return{midX:n.x+(r.x-n.x)*t,midY:n.y+(r.y-n.y)*t}},"anchorAtT"),S=(0,i.K)((e,t,n)=>Math.min(n,Math.max(t,e)),"clamp"),v=(0,i.K)((e,t)=>e.midX>=t.left-.001&&e.midX<=t.right+.001&&e.midY>=t.top-.001&&e.midY<=t.bottom+.001,"pointInsideRectInclusive"),C=(0,i.K)(e=>{let t=F(e.midX,e.midY,g,c),n=d(t);if(n)return{laneId:n,anchor:e,rect:t};let r=o.find(({rect:t})=>v(e,t));if(!r)return;let l=r.rect.left+g/2+1,i=r.rect.right-g/2-1,a=r.rect.top+c/2+1,s=r.rect.bottom-c/2-1;if(l>i||a>s)return;let f={midX:S(e.midX,l,i),midY:S(e.midY,a,s)},u=F(f.midX,f.midY,g,c);return v(e,u)?{laneId:r.id,anchor:f,rect:u}:void 0},"placementForAnchor"),L=(0,i.K)((e,t,n)=>"horizontal"===e.orientation?Math.abs(t.midX-n.x):Math.abs(t.midY-n.y),"distanceAlongSegment"),k=(0,i.K)((e,t)=>{let n=("horizontal"===e.orientation?g/2:c/2)+12;if(e===M){let r=h[e.idx];if(L(e,t,r)+.001<n)return!1}if(e===K){let r=h[e.idx+1];if(L(e,t,r)+.001<n)return!1}return!0},"labelClearsTerminalEndpoints"),$=(0,i.K)(t=>{for(let r of b(t))for(let t of I){let o=w(r,t);if(!k(r,o))continue;let l=C(o);if(!(!l||eV(l.rect,h))&&!u(e,l.rect)&&!s(e,n.id,l.rect))return{laneId:l.laneId,anchor:l.anchor}}},"tryPool"),R=(0,i.K)((t,r,o=!1)=>{for(let i of b(t)){let t={midX:i.midX,midY:i.midY};if(r&&!k(i,t))continue;let s=C(t);if(s&&!eV(s.rect,h)&&!u(e,s.rect)&&!l(e,s.rect)&&(o||!a(n.id,s.rect)))return{laneId:s.laneId,anchor:s.anchor}}},"findLaneContainingFallback"),O=$(m)??(m.length<p.length?$(p):void 0)??R(p,!0)??R(p,!1)??R(p,!1,!0);if(O){r.x=O.anchor.midX,r.y=O.anchor.midY,r.parentId=O.laneId;let t=F(O.anchor.midX,O.anchor.midY,g,c),n=f.findIndex(t=>t.labelId===e);n>=0?f[n]={labelId:e,rect:t}:f.push({labelId:e,rect:t})}}}(0,i.K)(eE,"separateSharedRenderedTerminalLanes"),(0,i.K)(eB,"collapseRedundantRectangularDoglegs"),(0,i.K)(eN,"liftObstacleHuggingSameSideRails"),(0,i.K)(eX,"liftTopLaneTitleBandsAboveRails"),(0,i.K)(ez,"shiftLeftLaneTitleBandsLeftOfRails"),(0,i.K)(eY,"swapDestinationTerminalTailsToReduceCrossings"),(0,i.K)(eA,"reassignCrossingExternalRailChannels"),(0,i.K)(eG,"shortcutRedundantOrthogonalJogs"),(0,i.K)(eD,"resolveRenderedOrthogonalCrossings"),(0,i.K)(eP,"simplifyDetouredEdges"),(0,i.K)(eH,"markerClearanceRectFor"),(0,i.K)(ej,"normalizeRect"),(0,i.K)(eV,"labelOverlapsOwnMarker"),(0,i.K)(e_,"anchorLabelsToPolyline");function eW(e,t){return e<t?`${e}::${t}`:`${t}::${e}`}function eq(e,t){let{nodeInfoById:n,realNodeRects:r}=z(t),o=new Map;for(let e of t){let t=e.id;if(!e.isGroup&&e.isEdgeLabel){o.set(t,{w:e.width??0,h:e.height??0});continue}}let l=(0,i.K)((t,n,r,l)=>{let a=eW(n,r),s=0,f=(0,i.K)(e=>{if(!e)return;let t=o.get(e);if(!t)return;let n="x"===l?t.w/2:t.h/2;n>s&&(s=n)},"consider");for(let n of(f(t.labelNodeId),e)){if(n===t||n.isLayoutOnly)continue;let e=n.start,r=n.end;e&&r&&eW(e,r)===a&&f(n.labelNodeId)}return s>0?s+3:0},"labelClearanceFor");for(let t of e){let o,i;if(t.isLayoutOnly||!L(t.points,1e-6))continue;let a=G(t,n,1e-6);if(!a)continue;let{srcId:s,dstId:f,srcInfo:d,dstInfo:u,collinearX:h,collinearY:g}=a;if(h===g)continue;if(h){let e=u.cy>d.cy;o={x:d.cx,y:e?d.rect.bottom:d.rect.top},i={x:u.cx,y:e?u.rect.top:u.rect.bottom}}else{let e=u.cx>d.cx;o={x:e?d.rect.right:d.rect.left,y:d.cy},i={x:e?u.rect.left:u.rect.right,y:u.cy}}if(D(o,i,r,[s,f],1))continue;let c=l(t,s,f,h?"x":"y"),p=c>4?c:4;for(let n of[0,p,-p]){let l={...o},a={...i};if(h){if(l.x+=n,a.x+=n,l.x<=d.rect.left||l.x>=d.rect.right||a.x<=u.rect.left||a.x>=u.rect.right)continue}else if(l.y+=n,a.y+=n,l.y<=d.rect.top||l.y>=d.rect.bottom||a.y<=u.rect.top||a.y>=u.rect.bottom)continue;if(!D(l,a,r,[s,f],1)&&!j(l,a,e,t,{epsilon:1e-6})){t.points=[l,a];break}}}}function eJ(e,t){let{realNodeRects:n,labelNodeRects:r}=Y(t.values()),o=(0,i.K)((e,t)=>S(t,.001).map(n=>({...n,edge:e,interior:n.index>=1&&n.index<=t.length-3})),"segmentsFor"),l=(0,i.K)(()=>{let t=[];for(let n of e){if(n.isLayoutOnly)continue;let e=n.points;e&&!(e.length<2)&&t.push(...o(n,C(e)))}return t},"allSegments"),a=(0,i.K)((e,t)=>e.horizontal&&t.horizontal?I(e.a.x,e.b.x,t.a.x,t.b.x)>=8&&7>Math.abs(e.a.y-t.a.y):!!e.vertical&&!!t.vertical&&I(e.a.y,e.b.y,t.a.y,t.b.y)>=8&&7>Math.abs(e.a.x-t.a.x),"hasCrowdedParallelTrack"),s=(0,i.K)((t,l)=>{let i=t.start,s=t.end,f=o(t,l);if(f.length!==l.length-1)return!1;let d=[i,s].filter(e=>!!e),u=t.labelNodeId?[t.labelNodeId]:[];for(let e of f)if(D(e.a,e.b,n,d,-2)||D(e.a,e.b,r,u,-2))return!1;for(let n of e){if(n===t||n.isLayoutOnly)continue;let e=n.points;if(e&&!(e.length<2)){for(let t of f)for(let r of o(n,C(e)))if(a(t,r)||V(t.a,t.b,r.a,r.b,.001))return!1}}return!0},"candidateIsSafe"),f=(0,i.K)((e,t)=>{let n=C(e.edge.points??[]);if(n.length<4||e.index>=n.length-1)return;let r=n.map(e=>({...e}));if(e.horizontal)r[e.index].y+=t,r[e.index+1].y+=t;else{if(!e.vertical)return;r[e.index].x+=t,r[e.index+1].x+=t}return o(e.edge,r).length===r.length-1?r:void 0},"shiftedCandidate"),d=(0,i.K)((e,t)=>({x:e.x??(t.left+t.right)/2,y:e.y??(t.top+t.bottom)/2}),"nodeCenter"),u=(0,i.K)(e=>{let n=e.edge,r=C(n.points??[]);if(4!==r.length||1!==e.index)return;let o=n.start?t.get(n.start):void 0,l=n.end?t.get(n.end):void 0,i=o?E(o):void 0,a=l?E(l):void 0,s=r.slice(e.index+2);if(o&&l&&i&&a&&0!==s.length)return{sourceCenter:d(o,i),targetCenter:d(l,a),sourceRect:i,tail:s}},"sourceDetourContextFor"),h=(0,i.K)((e,t,n,r,o,l)=>{let i=r.y>=n.y,a=i?o.bottom:o.top,s=a+(i?20:-20);if(i&&e.b.y<=s+.001||!i&&e.b.y>=s-.001)return;let f=e.a.x+t;return C([{x:n.x,y:a},{x:n.x,y:s},{x:f,y:s},{x:f,y:e.b.y},...l],.001)},"verticalSourceDetour"),g=(0,i.K)((e,t,n,r,o,l)=>{let i=r.x>=n.x,a=i?o.right:o.left,s=a+(i?20:-20);if(i&&e.b.x<=s+.001||!i&&e.b.x>=s-.001)return;let f=e.a.y+t;return C([{x:a,y:n.y},{x:s,y:n.y},{x:s,y:f},{x:e.b.x,y:f},...l],.001)},"horizontalSourceDetour"),c=(0,i.K)((e,t)=>{let n=u(e);if(n){if(e.vertical)return h(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail);if(e.horizontal)return g(e,t,n.sourceCenter,n.targetCenter,n.sourceRect,n.tail)}},"sourceDetourCandidate"),p=[-7,7,-14,14,-21,21];for(let e=0;e<12;e++){let e=l(),t=!1;for(let n=0;n<e.length&&!t;n++)for(let r=n+1;r<e.length&&!t;r++){let o=e[n],l=e[r];if(o.edge!==l.edge&&a(o,l))for(let e of[o,l].filter(e=>e.interior)){for(let n of p){let r=f(e,n);if(r&&s(e.edge,r)){e.edge.points=r,t=!0;break}let o=c(e,n);if(o&&s(e.edge,o)){e.edge.points=o,t=!0;break}}if(t)break}}if(!t)return}}function eZ(e,t,n,r){let o=t.x-e.x,l=t.y-e.y,i=r.x-n.x,a=r.y-n.y,s=o*a-l*i;if(1e-10>Math.abs(s))return!1;let f=n.x-e.x,d=n.y-e.y,u=(f*a-d*i)/s,h=(f*l-d*o)/s;return u>.01&&u<.99&&h>.01&&h<.99}function eQ(e){let t=e.nodes??[],n=e.edges??[],r=[];if(!n.length||!t.length)return r;let o=A(t),i=[];for(let e of n){if(e.isLayoutOnly)continue;let t=e.points;if(!t||t.length<2)continue;let n=e.start,l=e.end,a=e.labelNodeId,s=e.id??`${n}->${l}`;for(let e of o)if(e.nodeId!==n&&e.nodeId!==l&&(!a||e.nodeId!==a)){for(let n=0;n<t.length-1;n++)if(k(t[n],t[n+1],e,-1)){r.push({type:"edge-node-overlap",edgeId:s,targetId:e.nodeId,detail:`segment ${n} passes through node "${e.nodeId}"`});break}}for(let e=0;e<t.length-1;e++)i.push({edgeId:s,start:n,end:l,p1:t[e],p2:t[e+1]})}let a=new Set;for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++){let n=i[e],o=i[t];if(n.edgeId!==o.edgeId&&n.start!==o.start&&n.start!==o.end&&n.end!==o.start&&n.end!==o.end&&eZ(n.p1,n.p2,o.p1,o.p2)){let e=n.edgeId<o.edgeId?`${n.edgeId}|${o.edgeId}`:`${o.edgeId}|${n.edgeId}`;a.has(e)||(a.add(e),r.push({type:"edge-edge-crossing",edgeId:n.edgeId,targetId:o.edgeId,detail:`edges "${n.edgeId}" and "${o.edgeId}" cross`}))}}if(r.length>0){let e=r.filter(e=>"edge-node-overlap"===e.type).length,t=r.filter(e=>"edge-edge-crossing"===e.type).length;for(let n of(l.R.warn(`[SWIMLANE_VALIDATE] ${r.length} issue(s) detected: ${e} edge-node overlap(s), ${t} edge crossing(s)`),r))l.R.warn(`[SWIMLANE_VALIDATE] ${n.type}: ${n.detail}`)}return r}function eU(e,t){let n=e.nodes??[],r=e.edges??[],o=n.filter(e=>!e.isGroup);if(("LR"===t||"RL"===t)&&o.length>0&&!e$(e,t)||"BT"===t&&o.length>0&&!ek(e))return;for(let e of r){if(e.isLayoutOnly)continue;let t=e.points;t&&!(t.length<2)&&(e.points=Z(J(t)))}eP(r,n),eq(r,n),eO(r,n);let l=new Map;for(let e of n)l.set(String(e.id),e);e_(r,l),et(r,l),eT(r,l),eJ(r,l),eE(r,l),eB(r,l),eN(r,l),eY(r,l);let a=(0,i.K)(()=>{eD(r,l),eA(r,l),eG(r,l),e_(r,l),eM(r,l),eN(r,l),e_(r,l),eM(r,l)},"finalizeRenderedEdges");a(),eJ(r,l),a(),eX(r,l),ez(r,l),eX(r,l),ez(r,l)}function e0(e){let t=new Map(e.nodeById),n=new Set,r=[];for(let o of e.edges){if(!t.has(o.src)||!t.has(o.dst))continue;let e=`${o.id}:${o.src}->${o.dst}`;n.has(e)||(n.add(e),r.push(o))}return{nodes:[...t.keys()],edges:r,layout:e.layout,nodeById:t}}function e1(e,t){return e.edges.filter(e=>e.dst===t)}function e2(e){let t=new Map;for(let n of e.nodes)t.set(n,[]);for(let n of e.edges)t.get(n.src).push(n.dst);return t}function e6(e){let t=e2(e);for(let e of t.values())e.sort((e,t)=>e.localeCompare(t));return t}function e5(e){let t=new Map;for(let n of e.nodes)t.set(n,0);for(let n of e.edges)t.set(n.dst,(t.get(n.dst)??0)+1);return t}function e3(e){return[...e.entries()].filter(([,e])=>0===e).map(([e])=>e).sort((e,t)=>e.localeCompare(t))}function e8(e,t=()=>!0){let n=new Map,r=new Map;for(let t of e.nodes)n.set(t,[]),r.set(t,[]);for(let o of e.edges)t(o)&&(r.get(o.src).push(o.dst),n.get(o.dst).push(o.src));return{preds:n,succs:r}}function e4(e,t,n,r){let o=0;for(let t of e.nodes)r?.skipGroups&&e.nodeById.get(t)?.isGroup||(o=Math.max(o,n[t]??0));let l=Array.from({length:o+1},()=>[]);for(let o of t)r?.skipGroups&&e.nodeById.get(o)?.isGroup||l[Math.max(0,n[o]??0)].push(o);return l}function e9(e){let t=e5(e),n=e3(t),r=[],o=e6(e);for(;n.length;){let e=n.shift();for(let l of(r.push(e),o.get(e)??[]))if(t.set(l,(t.get(l)??0)-1),(t.get(l)??0)===0){let e=0;for(;e<n.length&&n[e]<l;)e++;n.splice(e,0,l)}}return r.length===e.nodes.length?r:null}function e7(e){let t=new Map,n=0;for(let r of e)t.set(r,n),n++;return t}function te(e){let t=Array(e.length),n=(0,i.K)((r,o)=>{if(o-r<=1)return 0;let l=r+o>>1,i=n(r,l)+n(l,o),a=r,s=l,f=r;for(;a<l||s<o;)s>=o||a<l&&e[a]<=e[s]?t[f++]=e[a++]:(t[f++]=e[s++],i+=l-a);for(let n=r;n<o;n++)e[n]=t[n];return i},"count");return n(0,e.length)}function tt(e){let t=e0(e),n=new Map;for(let e of t.nodes)n.set(e,[]);for(let e of t.edges)n.get(e.src).push(e);for(let e of n.values())e.sort((e,t)=>e.dst===t.dst?e.id.localeCompare(t.id):e.dst.localeCompare(t.dst));let r=Object.create(null);for(let e of t.nodes)r[e]=0;let o=[],l=(0,i.K)(e=>{for(let t of(r[e]=1,n.get(e)??[])){let e=t.dst;0===r[e]?l(e):1===r[e]&&o.push(t)}r[e]=2},"dfs"),a=e5(t);for(let e of[...t.nodes.filter(e=>(a.get(e)??0)===0),...t.nodes.filter(e=>(a.get(e)??0)!==0)])0===r[e]&&l(e);let s=new Set(o.map(e=>`${e.id}:${e.src}->${e.dst}`)),f=t.edges.map(e=>s.has(`${e.id}:${e.src}->${e.dst}`)?{id:e.id,src:e.dst,dst:e.src,weight:e.weight,ref:e.ref}:e);return{acyclic:{nodes:[...t.nodes],edges:f,layout:t.layout,nodeById:new Map(t.nodeById)},reversed:o}}function tn(e){let t=new Map,n=(0,i.K)(r=>{if(t.has(r))return t.get(r);let o=e.nodeById.get(r);if(!o)return t.set(r,null),null;let l=o.parentId;if(!l)return t.set(r,null),null;let i=n(l)??l;return t.set(r,i),i},"resolve");for(let t of e.nodes)n(t);return t}function tr(e){let t=tn(e);return e=>t.get(e)??null}function to(e){let t=[];for(let n of e.layout.nodes??[])n.isGroup&&!n.parentId&&t.push(n.id);return[...new Set(t)].reverse()}function tl(e,t){let n=to(e);if(!t||0===t.length)return n;let r=new Set(n),o=new Set,l=[];for(let e of t)!r.has(e)||o.has(e)||(o.add(e),l.push(e));for(let e of n)o.has(e)||l.push(e);return l}(0,i.K)(eW,"pairKey"),(0,i.K)(eq,"straightenCollinearSiblingDetours"),(0,i.K)(eJ,"nudgeSharedInteriorSubpaths"),(0,i.K)(eZ,"segmentsIntersect"),(0,i.K)(eQ,"validateSwimlanesLayout"),(0,i.K)(eU,"postProcessSwimlaneLayout"),(0,i.K)(e0,"normalizeGraph"),(0,i.K)(e1,"incoming"),(0,i.K)(e2,"buildSuccessorMap"),(0,i.K)(e6,"buildSortedSuccessorMap"),(0,i.K)(e5,"buildInDegreeMap"),(0,i.K)(e3,"sortedZeroInDegreeNodes"),(0,i.K)(e8,"buildPredecessorSuccessorMaps"),(0,i.K)(e4,"buildLayersFromRanks"),(0,i.K)(e9,"topoSortIfAcyclic"),(0,i.K)(e7,"buildLayerIndex"),(0,i.K)(te,"countInversions"),(0,i.K)(tt,"removeCycles_DFS"),(0,i.K)(tn,"buildTopLaneMap"),(0,i.K)(tr,"createTopLaneResolver"),(0,i.K)(to,"buildTopLaneOrder"),(0,i.K)(tl,"resolveTopLaneOrder");function ti(e,t){let n=e0(e),r=t?.laneOf??(()=>null),o=t?.rankHint,{preds:l}=e8(n);for(let e of l.values())e.sort((e,t)=>e.localeCompare(t));let a=e9(n)??[...n.nodes].sort((e,t)=>e.localeCompare(t)),s=new Map;for(let[e,t]of a.entries())s.set(t,e);let f=new Map,d=new Map;for(let e of n.nodes)d.set(e,[]);for(let e of a){let t=(l.get(e)??[]).filter(e=>f.has(e));if(t.length>0){let n=ta(e,t,{laneOf:r,rankHint:o,topoIndex:s});f.set(e,n),d.get(n).push(e)}else f.has(e)||f.set(e,null)}for(let e of n.nodes)f.has(e)||f.set(e,null);let u=new Set;for(let e of n.nodes)(f.get(e)??null)===null&&u.add(e);let h=[...u].sort((e,t)=>{let n=s.get(e)??0,r=s.get(t)??0;return n===r?e.localeCompare(t):n-r}),g=ts(n),c=new Map;for(let[e,t]of g.entries())c.set(e,[...t].sort((e,t)=>e.localeCompare(t)));let p=tf(c),x=td(c),m=new Map;for(let e of n.nodes)m.set(e,[]);for(let e of x)for(let t of e.nodes){let n=m.get(t);n?n.push(e.id):m.set(t,[e.id])}let y=[],b=[],M=new Set,K=(0,i.K)(e=>{if(!M.has(e)){for(let t of(M.add(e),y.push(e),d.get(e)??[]))K(t);b.push(e)}},"walk");for(let e of h)K(e);for(let e of a)K(e);return{parent:f,children:d,roots:h,componentOf:p,blocks:x,nodeBlocks:m,adjacency:c,preorder:y,postorder:b,topologicalOrder:a}}function ta(e,t,n){let r=n.laneOf(e);return[...t].sort((e,t)=>{let o=n.laneOf(e),l=n.laneOf(t),i=null!=o&&o===r;if(i!==(null!=l&&l===r))return i?-1:1;let a=n.rankHint?.[e],s=n.rankHint?.[t];if(null!=a&&null!=s&&a!==s)return s-a;let f=n.topoIndex.get(e)??0,d=n.topoIndex.get(t)??0;return f!==d?f-d:e.localeCompare(t)})[0]}function ts(e){let t=new Map;for(let n of e.nodes)t.set(n,new Set);for(let n of e.edges)t.get(n.src).add(n.dst),t.get(n.dst).add(n.src);return t}function tf(e){let t=new Map,n=0;for(let r of e.keys()){if(t.has(r))continue;let o=[r];for(;o.length>0;){let r=o.pop();if(!t.has(r))for(let l of(t.set(r,n),e.get(r)??[]))t.has(l)||o.push(l)}n++}return t}function td(e){let t=new Map,n=new Map,r=[],o=[],l=0,a=(0,i.K)((i,s)=>{for(let f of(t.set(i,++l),n.set(i,l),e.get(i)??[]))f!==s&&(t.has(f)?(t.get(f)??0)<(t.get(i)??0)&&(r.push([i,f]),n.set(i,Math.min(n.get(i)??l,t.get(f)??l))):(r.push([i,f]),a(f,i),n.set(i,Math.min(n.get(i)??l,n.get(f)??l)),(n.get(f)??0)>=(t.get(i)??0)&&o.push(tu(i,f,r,o.length))))},"visit");for(let n of e.keys())t.has(n)||a(n,null);return o}function tu(e,t,n,r){let o=[],l=new Set;for(;n.length>0;){let r=n.pop();if(o.push(r),l.add(r[0]),l.add(r[1]),r[0]===e&&r[1]===t||r[0]===t&&r[1]===e)break}return{id:r,edges:o,nodes:[...l]}}function th(e,t,n){let r=[...e.nodes],o=new Map;for(let[e,t]of r.entries())o.set(t,e);let l=r.length,a=Array(l).fill(-1),s=Array(l).fill(0),f=[],d=new Set;for(let e of r){let t=n.parent.get(e)??null,r=o.get(e);null!=r&&null==t&&(a[r]=-1,s[r]=0,d.has(e)||(d.add(e),f.push(e)))}for(;f.length>0;){let e=f.shift(),t=o.get(e);if(null!=t)for(let r of n.children.get(e)??[]){if(d.has(r))continue;let e=o.get(r);null!=e&&(a[e]=t,s[e]=s[t]+1,d.add(r),f.push(r))}}for(let e of r){if(d.has(e))continue;let t=o.get(e);null!=t&&(a[t]=-1,s[t]=0,d.add(e))}let u=Math.max(1,Math.ceil(Math.log2(Math.max(1,l)))+1),h=Array.from({length:u},()=>Array(l).fill(-1));for(let e=0;e<l;e++)h[0][e]=a[e];for(let e=1;e<u;e++)for(let t=0;t<l;t++){let n=h[e-1][t];h[e][t]=-1===n?-1:h[e-1][n]}let g=(0,i.K)((e,t)=>{if(-1===e||-1===t)return -1;s[e]<s[t]&&([e,t]=[t,e]);let n=s[e]-s[t];for(let t=0;t<u;t++)if(n>>t&1&&-1===(e=h[t][e]))return -1;if(e===t)return e;for(let n=u-1;n>=0;n--){let r=h[n][e],o=h[n][t];-1!==r&&-1!==o&&r!==o&&(e=r,t=o)}return h[0][e]},"lcaIndex"),c=Array.from({length:l},()=>new Map);for(let n of e.edges){let e=n.src,r=n.dst,l=t[e],i=t[r];if(null==l||null==i||(l>i&&([e,r]=[r,e],[l,i]=[i,l]),null==l||null==i||l===i))continue;let a=o.get(e),s=o.get(r);if(null==a||null==s)continue;let f=g(a,s);if(-1===f)continue;let d=c[f];for(let e=l;e<i;e++)d.set(e,(d.get(e)??0)+1)}let p=new Map,x=(0,i.K)((e,t)=>{if(0!==t.size)for(let[n,r]of t)e.set(n,(e.get(n)??0)+r)},"mergeInto"),m=new Set,y=(0,i.K)(e=>{let r=o.get(e);m.add(e);let l=null==r?void 0:c[r],i=l?new Map(l):new Map;for(let r of n.children.get(e)??[]){let n=y(r),o=t[e];if(null!=o){let l=p.get(e);l||(l=new Map,p.set(e,l));let i=n.get(o)??0,a=t[r];null!=a&&a>o&&(i+=1),l.set(r,i)}x(i,n)}return i},"dfs");for(let e of n.roots)m.has(e)||y(e);for(let e of r)m.has(e)||y(e);return p}function tg(e,t,n){let r=new Map,o=(0,i.K)(e=>{let l=n[e]??0,i=[...t.get(e)??[]];for(let e of(i.sort(tc(n)),i)){o(e);let t=r.get(e);null!=t&&(l=Math.min(l,t))}r.set(e,l)},"annotate");for(let t of e)o(t);return r}function tc(e){return(t,n)=>{let r=e[t]??0,o=e[n]??0;return r===o?t.localeCompare(n):r-o}}function tp(e,t,n,r){let o=0;for(let e of t){let t=n[e]??0;t>o&&(o=t)}let l=Array.from({length:o+1},()=>[]),a=new Set,s=(0,i.K)(e=>{if(a.has(e))return;a.add(e);let t=n[e]??0;for(let n of(l[t]||(l[t]=[]),l[t].push(e),r(e)))s(n)},"emit");for(let t of e)s(t);for(let e of t)if(!a.has(e)){let t=n[e]??0;l[t]||(l[t]=[]),l[t].push(e),a.add(e)}return l}function tx(e){let t=[];for(let n of e){let e=new Set,r=[];for(let t of n)e.has(t)||(e.add(t),r.push(t));t.push(r)}return t}function tm(e,t,n,r){return o=>{let l=e.get(o)??[];if(0===l.length)return[];let i=t[o]??0,a=[],s=[],f=n.get(o);for(let e of l){let t=r.get(e)??i;t>i?a.push({child:e,min:t}):s.push(e)}return a.sort((e,t)=>e.min===t.min?e.child.localeCompare(t.child):e.min-t.min),s.sort((e,t)=>{let n=f?.get(e)??0,o=f?.get(t)??0;if(n!==o)return n-o;let l=r.get(e)??i,a=r.get(t)??i;return l!==a?l-a:e.localeCompare(t)}),[...a.map(e=>e.child),...s]}}function ty(e,t,n){let r=ti(e,{rankHint:t,laneOf:n}),{children:o,roots:l}=r;for(let t of e.nodes)o.has(t)||o.set(t,[]);let i=th(e,t,r),a=[...l].sort(tc(t)),s=tg(a,o,t),f=tm(o,t,i,s),d=tp(a,e.nodes,t,f);return tx(d)}function tb(e,t,n){let r=new Set(e),o=new Set(t),l=e7(t),i=[];for(let e of n)r.has(e.src)&&o.has(e.dst)&&i.push(l.get(e.dst));return te(i)}function tM(e,t,n){let r=[];for(let e of t){let t=n[e.src],o=n[e.dst];if(null==t||null==o||t===o)continue;let l=e.src,i=e.dst,a=t,s=o;t>o&&(l=e.dst,i=e.src,a=o,s=t);for(let t=a;t<s;t++)r.push({id:`${e.id}@${t}`,src:l,dst:i,ref:e.ref})}let o=0;for(let t=0;t+1<e.length;t++)o+=tb(e[t],e[t+1],r);return o}function tK(e,t){let n={...t},{preds:r}=e8(e),o=tr(e),l=tM(ty(e,n,o),e.edges,n);for(let t=0;t<4;t++){let t=!1;for(let i of[...e.nodes].sort((e,t)=>(n[t]??0)-(n[e]??0))){let a=n[i]??0;if(0===a)continue;let s=0;for(let e of r.get(i)??[])s=Math.max(s,(n[e]??0)+1);if(s>=a)continue;n[i]=s;let f=tM(ty(e,n,o),e.edges,n);f<l?(l=f,t=!0):n[i]=a}if(!t)break}return n}function tI(e,t){let n=tr(e);for(let r of[...e.nodes].sort((e,n)=>(t[e]??0)-(t[n]??0)||e.localeCompare(n))){let o=n(r);if(!o)continue;let l=e.edges.filter(e=>e.src===r);if(0===l.length)continue;let i=!1,a=0;for(let e of l){let t=n(e.dst);null==t||t===o?i=!0:a++}if(0===a||i)continue;let s=0,f=!1;for(let t of e.edges){if(t.dst!==r)continue;let e=n(t.src);e&&(e===o?f=!0:s++)}if(s>0||!f)continue;let d=t[r]??0,u=d+a,h=0;for(let n of e.edges)n.dst===r&&(h=Math.max(h,(t[n.src]??0)+1));let g=Math.max(d,h,u);g!==d&&(t[r]=g)}}function tw(e,t){let n=e0(e),r=e9(n)??[...n.nodes].sort(),o=t?.compactSingleInput??!1,l=tr(n),i=Object.create(null);for(let e of r){let r=e1(n,e),a=t?.ignoreCrossLaneEdges?r.filter(t=>{let n=l(t.src),r=l(e);return!n||!r||n===r}):r;if(0===a.length)i[e]=0;else if(o&&1===a.length){let t=a[0].src;l(t)!==l(e)?i[e]=i[t]??0:i[e]=(i[t]??0)+1}else{let t=-1/0;for(let e of a)t=Math.max(t,(i[e.src]??0)+1);i[e]=t===-1/0?0:t}}return t?.optimizeRanksByCrossings&&(i=tK(n,i)),t?.ignoreCrossLaneEdges&&tI(n,i),{layers:ty(n,i,l),rankOf:i,dummy:new Set}}function tS(e,t){let n=e0(e),r={...tw(n,{compactSingleInput:t?.compactSingleInput,ignoreCrossLaneEdges:t?.ignoreCrossLaneEdges,optimizeRanksByCrossings:t?.optimizeRanksByCrossings}).rankOf},o=tr(n),{preds:l,succs:a}=e8(n,e=>{if(t?.ignoreCrossLaneEdges){let t=o(e.src),n=o(e.dst);if(t&&n&&t!==n)return!1}return!0}),s=e9(n)??[...n.nodes],f=[...s].reverse(),d=(0,i.K)((e,t)=>{let n=0;for(let t of l.get(e)??[])n=Math.max(n,(r[t]??0)+1);let o=1/0,i=a.get(e)??[];return i.length>0&&(o=Math.min(...i.map(e=>(r[e]??0)-1))),Number.isFinite(o)||(o=Math.max(n,t)),Math.min(Math.max(t,n),o)},"clampFeasible"),u=(0,i.K)(e=>{let t=!1;for(let n of e){let e=l.get(n)??[],o=a.get(n)??[];if(0===e.length&&0===o.length)continue;let i=Math.round(((e.length>0?e.reduce((e,t)=>e+(r[t]??0)+1,0)/e.length:r[n]??0)+(o.length>0?o.reduce((e,t)=>e+(r[t]??0)-1,0)/o.length:r[n]??0))/2),s=d(n,i);s!==r[n]&&(r[n]=s,t=!0)}return t},"relaxOrder");for(let e=0;e<8;e++){let e=u(s),t=u(f);if(!e&&!t)break}for(let e of s){let t=0;for(let n of l.get(e)??[])t=Math.max(t,(r[n]??0)+1);(r[e]??0)<t&&(r[e]=t)}for(let e of f){let t=a.get(e)??[];if(t.length>0){let n=Math.min(...t.map(e=>(r[e]??0)-1));(r[e]??0)>n&&(r[e]=n)}}return{layers:e4(n,s,r),rankOf:r,dummy:new Set}}function tv(e){let t=e5(e),n=e6(e),r=e3(t),o=[];for(;r.length>0;){let e=[];for(let l of r)for(let r of(o.push(l),n.get(l)??[]))t.set(r,(t.get(r)??0)-1),(t.get(r)??0)===0&&e.push(r);r=e.sort((e,t)=>e.localeCompare(t))}return o.length===e.nodes.length?o:null}function tC(e,t){let n=e0(e),r=t?.direction==="LR"?tv(n)??[...n.nodes].sort():e9(n)??[...n.nodes].sort(),o=tr(n),l=(0,i.K)(e=>o(e)??e,"laneOf"),a=Object.create(null),s=new Map,f=(0,i.K)((e,n)=>t?.ignoreCrossLaneEdges??!0?+(l(e)===l(n)):1,"edgeWeight");for(let e of r){let t=n.nodeById.get(e);if(t?.isGroup)continue;let r=e1(n,e),o=0;if(r.length>0)for(let t of r){let n=t.src;o=Math.max(o,(a[n]??0)+f(n,e))}let i=l(e),d=Math.max(o,s.get(i)??0);a[e]=d,s.set(i,d+1)}return{layers:e4(n,r,a,{skipGroups:!0}),rankOf:a,dummy:new Set}}function tL(e,t){let n=e0(t),{rankOf:r}=e,o=e.layers.map(e=>[...e]),l=new Set(e.dummy?[...e.dummy]:[]),a=0,s=new Map(n.nodeById),f=(0,i.K)(e=>{let t=`placeholder-${a++}`;for(s.set(t,{id:t,isGroup:!1,isDummy:!0,width:0,height:0}),l.add(t);o.length<=e;)o.push([]);return o[e].push(t),r[t]=e,t},"addDummyAt"),d=[...n.edges].sort((e,t)=>e.id===t.id?e.src===t.src?e.dst.localeCompare(t.dst):e.src.localeCompare(t.src):e.id.localeCompare(t.id)),u=[];for(let e of d){let t=r[e.src]??0,n=r[e.dst]??0;if(n-t<=1){u.push(e);continue}let o=e.src;for(let r=t+1,l=0;r<n;r++,l++){let t=f(r);u.push({id:`${e.id}#${l}`,src:o,dst:t,weight:e.weight,ref:e.ref}),o=t}let l=n-t-2;u.push({id:`${e.id}#${Math.max(l+1,0)}`,src:o,dst:e.dst,weight:e.weight,ref:e.ref})}let h={nodes:[...n.nodes,...[...l].filter(e=>!n.nodes.includes(e))],edges:u,layout:n.layout,nodeById:s};return{layering:{layers:o,rankOf:r,dummy:l},graphWithDummies:h}}function tk(e){let t=e.length;if(0===t)return 1/0;let n=[...e].sort((e,t)=>e-t);return t%2==1?n[(t-1)/2]:.5*(n[t/2-1]+n[t/2])}function t$(e){return 0===e.length?1/0:e.reduce((e,t)=>e+t,0)/e.length}function tR(e,t,n,r){let o=new Map;for(let t of e)o.set(t,[]);for(let e of n)"down"===r?t.has(e.src)&&o.has(e.dst)&&o.get(e.dst).push(t.get(e.src)):t.has(e.dst)&&o.has(e.src)&&o.get(e.src).push(t.get(e.dst));return o}function tO(e,t,n){let r=n.get(e)??0,o=n.get(t)??0;return r!==o?r-o:e.localeCompare(t)}function tT(e,t,n){let r=new Set(e),o=new Set(t),l=e7(e),i=e7(t),a=[];for(let e of n)r.has(e.src)&&o.has(e.dst)&&a.push({u:l.get(e.src),v:i.get(e.dst)});return a.sort((e,t)=>e.u===t.u?e.v-t.v:e.u-t.u),te(a.map(e=>e.v))}function tF(e,t,n){return[...e].sort((e,r)=>{let o=tk(t.get(e)??[]),l=tk(t.get(r)??[]);return o===l?tO(e,r,n):isFinite(o)?isFinite(l)?o-l:-1:1})}function tE(e,t,n,r,o,l){let i=e7(e),a=e7(t),s=tR(t,i,n,r);if(!o||!l||0===l.length)return tF(t,s,a);let f=new Map;for(let e of t){let t=o(e),n=f.get(t)??[];n.push(e),f.set(t,n)}let d=[];for(let e of l){let t=f.get(e);if(!t||0===t.length)continue;let n=tF(t,s,a);d.push(...n)}let u=f.get(null);if(u&&u.length>0)for(let e of tF(u,s,a)){let t=t$(s.get(e)??[]),n=d.length;if(isFinite(t)){for(let[e,r]of d.entries())if(t<t$(s.get(r)??[])){n=e;break}}d.splice(n,0,e)}return d}function tB(e,t,n,r,o){let l=[...t],a=new Set(e),s=new Set(t),f=r?new Set(r):null,d=n.filter(e=>a.has(e.src)&&s.has(e.dst)),u=f?n.filter(e=>s.has(e.src)&&f.has(e.dst)):void 0,h=(0,i.K)(t=>{let n=tT(e,t,d);return u&&r&&(n+=tT(t,r,u)),n},"crossingScore"),g=o?new Map:null;if(o&&g)for(let e of t)g.set(e,o(e));let c=!0,p=h(l);for(;c;){c=!1;for(let e=0;e+1<l.length;e++){if(g&&g.get(l[e])!==g.get(l[e+1]))continue;let t=p;[l[e],l[e+1]]=[l[e+1],l[e]];let n=h(l);n<t?(p=n,c=!0):[l[e],l[e+1]]=[l[e+1],l[e]]}}return l}function tN(e,t,n){let r=e.layers.map(e=>[...e]),o=t.edges,l=tr(t),i=tl(t,n?.laneOrder);for(let e=0;e<3;e++){for(let e=1;e<r.length;e++)r[e]=tE(r[e-1],r[e],o,"down",l,i),r[e]=tB(r[e-1],r[e],o,r[e+1],l);for(let e=r.length-2;e>=0;e--)r[e]=tE(r[e+1],r[e],o,"up",l,i),r[e]=tB(r[e+1],r[e],o,r[e-1],l)}return{layers:r}}function tX(e,t,n){let r=n?.layerGap??100,o=n?.nodeGap??40,l=n?.laneGap??2*o,a=n?.direction??"TB",s=e.layers,f=Object.create(null),d=Object.create(null),u=(0,i.K)(e=>t.nodeById.get(e),"getNode"),h=(0,i.K)(e=>u(e)?.width??0,"getWidth"),g=(0,i.K)(e=>u(e)?.height??0,"getHeight"),c=tr(t),p=tl(t,n?.laneOrder),x=s.map(e=>e.reduce((e,t)=>Math.max(e,g(t)),0)),m=[];if("LR"===a||"RL"===a)for(let e=0;e+1<s.length;e++){let t=Math.max(0,(s[e].reduce((e,t)=>Math.max(e,h(t)),0)+s[e+1].reduce((e,t)=>Math.max(e,h(t)),0))/2-(x[e]/2+x[e+1]/2)-r);m.push(t)}let y=new Set;for(let e of s)for(let t of e)y.add(c(t));let b=y.has(null),M=p.filter(e=>y.has(e)),K=[...b?[null]:[],...M],I=Object.create(null);for(let e of M)I[e]=0;for(let e of(b&&(I.null=0),s)){let t=Object.create(null),n=[];for(let r of e){let e=c(r);null===e?n.push(r):(t[e]||=[]).push(r)}for(let[e,n]of Object.entries(t)){let t=n.reduce((e,t)=>e+h(t),0)+o*Math.max(0,n.length-1);I[e]=Math.max(I[e]??0,t)}if(b&&n.length){let e=n.reduce((e,t)=>e+h(t),0)+o*Math.max(0,n.length-1);I.null=Math.max(I.null??0,e)}}let w=new Map;{let e=K.map(e=>(null===e?I.null:I[e])??0),t=-(e.reduce((e,t)=>e+t,0)+l*Math.max(0,K.length-1))/2;for(let n=0;n<K.length;n++){let r=K[n],o=e[n]??0,i=t+o/2;w.set(r,i),t+=o,n<K.length-1&&(t+=l)}}let S=0;for(let[e,t]of s.entries()){let n=x[e]??0,l=new Map;for(let e of t){let t=c(e),n=l.get(t)??[];n.push(e),l.set(t,n)}for(let e of K){let t=l.get(e)??[];if(0===t.length)continue;let r=w.get(e);if(1===t.length){let e=t[0];f[e]=r,d[e]=S+n/2}else{let e=t.map(e=>h(e)),l=r-(e.reduce((e,t)=>e+t,0)+o*(t.length-1))/2;for(let[r,i]of t.entries()){let t=e[r];f[i]=l+t/2,d[i]=S+n/2,l+=t+o}}}S+=n+r+(m[e]??0)}let v=new Map;for(let e of t.edges){let t=e.ref.id;v.has(t)||v.set(t,[]),v.get(t).push(e)}for(let[,e]of v){if(0===e.length)continue;let n=e[0].ref,r=n.start,o=n.end;if(null==r||null==o)continue;let l=Math.round(((f[r]??0)+(f[o]??0))/2),i=new Set;for(let t of e)i.add(t.src),i.add(t.dst);for(let e of i){if(e===r||e===o)continue;let n=t.nodeById.get(e);n?.isDummy&&(f[e]=l)}}return{x:f,y:d}}function tz(e){let t=0x811c9dc5;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,0x1000193);return t>>>0}function tY(e){let t=e>>>0;return()=>{let e=t+=0x6d2b79f5;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000}}function tA(e,t){let n=[...e],r=tY(t);for(let e=n.length-1;e>0;e--){let t=Math.floor(r()*(e+1));[n[e],n[t]]=[n[t],n[e]]}return n}function tG(e,t){let n=0;for(let[r,o]of e.entries())n+=Math.abs(r-(t.get(o)??r));return n}function tD(e,t){let n=new Map;for(let[t,r]of e.entries())n.set(r,t);let r=0;for(let{a:e,b:o,weight:l}of t){let t=n.get(e),i=n.get(o);null!=t&&null!=i&&(r+=l*Math.abs(t-i))}return r}function tP(e){let t=to(e);if(t.length<2)return[];let n=new Map(t.map((e,t)=>[e,t])),r=tr(e),o=new Map;for(let t of e.layout.edges??[]){if(t.isLayoutOnly)continue;let l="string"==typeof t.start?t.start:void 0,i="string"==typeof t.end?t.end:void 0;if(!l||!i||!e.nodeById.has(l)||!e.nodeById.has(i))continue;let a=r(l),s=r(i);if(!a||!s||a===s)continue;let f=n.get(a),d=n.get(s);if(null==f||null==d)continue;let[u,h]=f<=d?[a,s]:[s,a],g=`${u}\0${h}`,c=o.get(g);c?c.weight++:o.set(g,{a:u,b:h,weight:1})}return[...o.values()]}function tH(e,t,n){let r=[...e],o=tD(r,t),l=!0,i=0,a=Math.max(1,r.length);for(;l&&i<a;){l=!1,i++;for(let e=0;e+1<r.length;e++){[r[e],r[e+1]]=[r[e+1],r[e]];let n=tD(r,t);n<o?(o=n,l=!0):[r[e],r[e+1]]=[r[e+1],r[e]]}}return{order:r,cost:o,sourceDistance:tG(r,n)}}function tj(e,t){return e.cost!==t.cost?e.cost<t.cost:e.sourceDistance<t.sourceDistance}function tV(e,t,n){let r=[...t].sort((e,t)=>e.a===t.a?e.b.localeCompare(t.b):e.a.localeCompare(t.a)).map(({a:e,b:t,weight:n})=>`${e}:${t}:${n}`).join("|");return tz(`${e.join("|")}#${r}#${n}`)}function t_(e,t={}){let n=to(e);if(n.length<2)return n;let r=tP(e);if(0===r.length)return n;let o=new Map(n.map((e,t)=>[e,t])),l=tH(n,r,o),i=Math.max(0,t.restarts??8);for(let e=0;e<i;e++){let t=tV(n,r,e),i=tH(tA(n,t),r,o);tj(i,l)&&(l=i)}return l.order}function tW(e,t){let n=t?.ignoreCrossLaneEdges??!0,r=t?.optimizeRanksByCrossings??!0,o=e0(e),l=t?.automaticLaneOrdering?t_(o,{restarts:8}):void 0,i=tt(o),a=i.acyclic,{layering:s,graphWithDummies:f}=tL(n?tC(a,{compactSingleInput:t?.compactSingleInput??!0,ignoreCrossLaneEdges:!0,direction:t?.direction}):tS(a,{compactSingleInput:t?.compactSingleInput??!0,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:r}),a),d=tN(s,f,{laneOrder:l}),u=tX(d,f,{layerGap:t?.layerGap,nodeGap:t?.nodeGap,direction:t?.direction,laneOrder:l});return{acyclic:a,reversed:i.reversed,layering:s,ordered:d,coordinates:u}}function tq(e,t,n){let r=e.x??0,o=e.y??0,l=t.x-r,i=t.y-o,a=Math.abs(l),s=Math.abs(i);return a<1e-6&&s<1e-6?n:s>1e-6&&3*s>=a?i>0?"bottom":"top":a>1e-6?l>0?"right":"left":n}function tJ(e,t){return 1e-6>Math.abs(e.to-t.from)||1e-6>Math.abs(e.to-t.to)?e.to:e.from}function tZ(e,t){return"vertical"===e.orient?{x:e.coord,y:t}:{x:t,y:e.coord}}function tQ(e,t){let n=e.nodes??[],r=e.edges??[],o=[];for(let e of r)e.isLayoutOnly||o.push({...e,__originalEdge:e});let l=new Map,a=new Map,s=[],f="LR"===t;for(let e of n)l.set(e.id,e);for(let e of n.filter(e=>e.isGroup&&!e.parentId)){let t={id:e.id},r=(0,i.K)(e=>{a.set(e.id,t),n.filter(t=>t.parentId===e.id).forEach(r)},"assignLane");r(e)}let d=n.filter(e=>!e.isGroup&&!e.isEdgeLabel).map(e=>{let t=e.width??10,n=e.height??10,r=e.x??0,o=e.y??0;return{nodeId:e.id,minX:r-t/2-8,maxX:r+t/2+8,minY:o-n/2-8,maxY:o+n/2+8,visualXHalfExtent:f?n/2+8:t/2+8}}),u=(0,i.K)((e,t,n,r)=>{let o=s.find(n=>n.orientation===e&&1>Math.abs(n.coord-t));return o||(o={id:`pipe-${e}-${t.toFixed(0)}`,orientation:e,coord:t,spanMin:n,spanMax:r,tracks:[]},s.push(o)),o.spanMin=Math.min(o.spanMin,n),o.spanMax=Math.max(o.spanMax,r),o},"getOrAddPipe"),h=(0,i.K)((e,t)=>{let n=e.width??10,r=e.height??10,o=e.x??0,l=e.y??0;switch(t){case"top":return{x:o,y:l-r/2};case"bottom":return{x:o,y:l+r/2};case"left":return{x:o-n/2,y:l};case"right":return{x:o+n/2,y:l}}},"portForSide"),g=(0,i.K)((e,t,n)=>h(e,tq(e,t,n?"bottom":"top")),"getOrthogonalPort"),c=[],p=[],x=new Set,m=(0,i.K)((e,t,n)=>{if(0===c.length)return 0;let r=1e-6>Math.abs(t.y-n.y),o=1e-6>Math.abs(t.x-n.x);if(!r&&!o)return 0;let l=0;if(r){let r=t.y,o=Math.min(t.x,n.x)-1e-6,i=Math.max(t.x,n.x)+1e-6;if(i<=o)return 0;for(let t of c)t.edgeIndex!==e&&"vertical"===t.orientation&&!(t.pipe.coord<o)&&!(t.pipe.coord>i)&&t.from-1e-6<=r&&t.to+1e-6>=r&&(l+=1e3)}else if(o){let r=t.x,o=Math.min(t.y,n.y)-1e-6,i=Math.max(t.y,n.y)+1e-6;if(i<=o)return 0;for(let t of c)t.edgeIndex!==e&&"horizontal"===t.orientation&&!(t.pipe.coord<o)&&!(t.pipe.coord>i)&&t.from-1e-6<=r&&t.to+1e-6>=r&&(l+=1e3)}return l},"crossingPenalty"),y=o.map((e,t)=>{if(!e.start||!e.end)return{idx:t,crossLane:0,dx:0,dy:0};let n=l.get(e.start),r=l.get(e.end),o=a.get(e.start),i=a.get(e.end),s=o&&i&&o.id!==i.id?1:0;return{idx:t,crossLane:s,dx:n&&r?Math.abs((r.x??0)-(n.x??0)):0,dy:n&&r?Math.abs((r.y??0)-(n.y??0)):0}}).sort((e,t)=>{if(e.crossLane!==t.crossLane)return t.crossLane-e.crossLane;let n=e.dx+e.dy,r=t.dx+t.dy;return Math.abs(n-r)>1?n-r:e.idx-t.idx}).map(e=>e.idx),b=(0,i.K)((e,t,n,r)=>{let o=Math.min(e.x,t.x),l=Math.max(e.x,t.x),i=Math.min(e.y,t.y),a=Math.max(e.y,t.y);return!!d.find(s=>(!n||s.nodeId!==n)&&(!r||s.nodeId!==r)&&(Math.abs(e.x-t.x)>1e-6?s.minY<e.y&&s.maxY>e.y&&s.maxX>o&&s.minX<l:s.minX<e.x&&s.maxX>e.x&&s.maxY>i&&s.minY<a))},"isSegmentBlocked"),M=new Map,K=new Map;for(let e of o)e.start&&e.end&&e.start!==e.end&&(K.set(e.start,(K.get(e.start)??0)+1),K.set(e.end,(K.get(e.end)??0)+1));let I=(0,i.K)((e,t)=>tq(e,t,"bottom"),"determineSide"),w=new Map;for(let[e,t]of o.entries()){if(!t.start||!t.end||t.start===t.end||t.points&&t.points.length>0)continue;let n=l.get(t.start),r=l.get(t.end);if(!n||!r)continue;let o=(r.x??0)-(n.x??0),i=(r.y??0)-(n.y??0);w.set(e,{edgeIdx:e,srcId:t.start,dstId:t.end,srcSide:I(n,{x:r.x??0,y:r.y??0}),dstSide:I(r,{x:n.x??0,y:n.y??0}),absDx:Math.abs(o),absDy:Math.abs(i),dxSign:Math.sign(o),dySign:Math.sign(i)})}let S=(0,i.K)(e=>"top"===e.srcSide||"bottom"===e.srcSide?0===e.absDx?1/0:e.absDy/e.absDx:0===e.absDy?1/0:e.absDx/e.absDy,"preferenceStrength"),v=(0,i.K)(e=>"top"===e.srcSide||"bottom"===e.srcSide?e.dxSign>=0?"right":"left":e.dySign>=0?"bottom":"top","secondarySide"),C=new Map;for(let e of w.values()){let t=`${e.srcId}:${e.srcSide}`;C.has(t)||C.set(t,[]),C.get(t).push(e)}let L=new Map,k=(0,i.K)((e,t)=>`${e}:${t}`,"loadKey");for(let e of w.values())L.set(k(e.srcId,e.srcSide),(L.get(k(e.srcId,e.srcSide))??0)+1),L.set(k(e.dstId,e.dstSide),(L.get(k(e.dstId,e.dstSide))??0)+1);for(let e of C.values())if(!(e.length<2)){e.sort((e,t)=>{let n=S(e),r=S(t);return Math.abs(n-r)>1e-9?r-n:e.edgeIdx-t.edgeIdx});for(let t=1;t<e.length;t++){let n=e[t],r=v(n),o=L.get(k(n.srcId,n.srcSide))??0,l=L.get(k(n.srcId,r))??0;l>=o||(L.set(k(n.srcId,n.srcSide),o-1),L.set(k(n.srcId,r),l+1),n.srcSide=r)}}let $=(0,i.K)(e=>{let t=e?.shape;return"question"===t||"diamond"===t},"isDiamondNode"),R=new Map;for(let e of w.values())R.has(e.dstId)||R.set(e.dstId,new Set),R.get(e.dstId).add(e.dstSide);for(let e of w.values()){if(!$(l.get(e.srcId)))continue;let t=R.get(e.srcId);if(!t?.has(e.srcSide))continue;let n=v(e);if(t.has(n)||(L.get(k(e.srcId,n))??0)>0)continue;let r=L.get(k(e.srcId,e.srcSide))??0;L.set(k(e.srcId,e.srcSide),Math.max(0,r-1)),L.set(k(e.srcId,n),1),e.srcSide=n}for(let e of w.values()){let{edgeIdx:t,srcId:n,dstId:r,srcSide:o,dstSide:i}=e,a=l.get(n),s=l.get(r),f=`${n}:${o}:src`,d="top"===o||"bottom"===o?s.x??0:s.y??0;M.has(f)||M.set(f,[]),M.get(f).push({edgeIdx:t,oppositeCoord:d});let u=`${r}:${i}:dst`,h="top"===i||"bottom"===i?a.x??0:a.y??0;M.has(u)||M.set(u,[]),M.get(u).push({edgeIdx:t,oppositeCoord:h})}let O=new Map;for(let[e,t]of M){if(t.length<2)continue;t.sort((e,t)=>e.oppositeCoord-t.oppositeCoord);let n=e.split(":"),r=n.slice(0,-2).join(":"),o=n[n.length-2],i=n[n.length-1],a=l.get(r);if(!a)continue;let s="left"===o||"right"===o?a.height??10:a.width??10,f=a.shape,d=Math.min(20,Math.max(8,("question"===f||"diamond"===f?.3*s:s)/(t.length+1))),u=-(d*(t.length-1))/2;for(let[e,n]of t.entries()){let t=u+e*d,r=`${n.edgeIdx}:${i}`;O.set(r,t)}}let T=(0,i.K)(e=>!!o[e]?.labelNodeId,"edgeHasLabelNode"),F=(0,i.K)((e,t)=>!!e&&((M.get(`${e}:${t}:src`)??[]).some(({edgeIdx:e})=>T(e))||(M.get(`${e}:${t}:dst`)??[]).some(({edgeIdx:e})=>T(e))),"faceHasLabelNode"),E=(0,i.K)((e,t,n)=>"top"===t||"bottom"===t?{x:e.x+n,y:e.y}:{x:e.x,y:e.y+n},"applyPortOffset"),B=(0,i.K)((e,t,n)=>{let r=w.get(e),o={x:n.x??0,y:n.y??0},l={x:t.x??0,y:t.y??0},i=r?.srcSide??I(t,o),a=r?.dstSide??I(n,l),s=r?h(t,r.srcSide):g(t,o,!0),f=r?h(n,r.dstSide):g(n,l,!1),d=O.get(`${e}:src`),u=O.get(`${e}:dst`);return void 0!==d&&(s=E(s,i,d)),void 0!==u&&(f=E(f,a,u)),{pSrcPort:s,pDstPort:f,srcSide:i,dstSide:a}},"portsForEdge");for(let e of y){let t=o[e];if(p[e]=[],!t.start||!t.end||t.points&&t.points.length>0||t.start===t.end)continue;let n=l.get(t.start),r=l.get(t.end);if(!n||!r)continue;let{pSrcPort:a,pDstPort:h,srcSide:g,dstSide:y}=B(e,n,r),I={...a},w={...h},S="top"===g||"bottom"===g,v="top"===y||"bottom"===y;S?I.y=a.y>(n.y??0)?a.y+20:a.y-20:I.x=a.x>(n.x??0)?a.x+20:a.x-20,v?w.y=h.y>(r.y??0)?h.y+20:h.y-20:w.x=h.x>(r.x??0)?h.x+20:h.x-20;let C=(0,i.K)((e,t)=>{for(let n of d)if(!t.includes(n.nodeId)&&e.x>n.minX&&e.x<n.maxX&&e.y>n.minY&&e.y<n.maxY)return{inside:!0,obstacle:n};return{inside:!1}},"isPointInObstacle"),L=(0,i.K)((e,t,n,r,o)=>{if(o){let o=e.y>(t.y??0);return{x:(n.x??0)>=e.x?r.maxX+15:r.minX-15,y:o?r.maxY+15:r.minY-15,leavesPositiveSide:o}}let l=e.x>(t.x??0),i=(n.y??0)>=e.y;return{x:l?r.maxX+15:r.minX-15,y:i?r.maxY+15:r.minY-15,leavesPositiveSide:l}},"obstacleDetour"),k=[],$=[t.start,t.end],R=C(I,$);if(R.inside&&R.obstacle){let e=R.obstacle;if(S){let t=L(a,n,r,e,!0);I.x=t.x,I.y=t.y;let o=t.leavesPositiveSide?Math.min(e.minY-2,a.y+20):Math.max(e.maxY+2,a.y-20);k=[{x:a.x,y:o},{x:t.x,y:o},{x:t.x,y:t.y}]}else{let t=L(a,n,r,e,!1),o=t.leavesPositiveSide?Math.min(e.minX-2,a.x+20):Math.max(e.maxX+2,a.x-20);I.x=t.x,I.y=t.y,k=[{x:o,y:a.y},{x:o,y:t.y},{x:t.x,y:t.y}]}}let T=[],E=C(w,$);if(E.inside&&E.obstacle){let e=E.obstacle;if(v){let t=L(h,r,n,e,!0);w.x=t.x,w.y=t.y,T=[{x:t.x,y:t.y},{x:h.x,y:t.y}]}else{let t=L(h,r,n,e,!1);w.x=t.x,w.y=t.y,T=[{x:t.x,y:t.y},{x:t.x,y:h.y}]}}if(0===k.length&&0===T.length){let n=15>Math.abs(I.x-w.x),r=15>Math.abs(I.y-w.y),o=void 0!==O.get(`${e}:src`)||void 0!==O.get(`${e}:dst`),l=(M.get(`${t.start??""}:${g}:src`)?.length??0)+(M.get(`${t.start??""}:${g}:dst`)?.length??0),i=(M.get(`${t.end??""}:${y}:src`)?.length??0)+(M.get(`${t.end??""}:${y}:dst`)?.length??0),s=l>1||i>1,f=K.get(t.start??"")??0,d=K.get(t.end??"")??0,u=l>1&&F(t.start,g)||i>1&&F(t.end,y),p=l<=1||f<=2,m=i<=1||d<=2,S=s&&!u&&p&&m;if((n||r)&&!o&&(!s||S)&&!b(a,h,t.start,t.end)){t.points=[{...a},{...I},{...w},{...h}],x.add(e);let n=r?"horizontal":"vertical",o=r?a.y:a.x,l=r?Math.min(a.x,h.x):Math.min(a.y,h.y),i=r?Math.max(a.x,h.x):Math.max(a.y,h.y),s={id:`fast-path-${n}-${o.toFixed(0)}-${e}`,orientation:n,coord:o,spanMin:l,spanMax:i,tracks:[]};c.push({edgeIndex:e,segmentIndex:0,orientation:n,pipe:s,trackIndex:0,from:l,to:i});continue}}let N=u("vertical",I.x,I.y,I.y);I.x=N.coord;let X=u("vertical",w.x,w.y,w.y);w.x=X.coord;let z=Math.min(I.x,w.x)-50,Y=Math.max(I.x,w.x)+50,A=Math.min(I.y,w.y)-50,G=Math.max(I.y,w.y)+50;for(let e of d){let t=Math.min(I.x,w.x),n=Math.max(I.x,w.x),r=Math.min(I.y,w.y),o=Math.max(I.y,w.y);e.minX<n&&e.maxX>t&&e.minY<o&&e.maxY>r&&(z=Math.min(z,e.minX-25),Y=Math.max(Y,e.maxX+25),A=Math.min(A,e.minY-25),G=Math.max(G,e.maxY+25))}for(let e of d)e.maxX<z||e.minX>Y||e.maxY<A||e.minY>G||(u("horizontal",e.minY-15,z,Y),u("horizontal",e.maxY+15,z,Y),u("vertical",e.minX-15,A,G),u("vertical",e.maxX+15,A,G));u("horizontal",I.y,z,Y),u("horizontal",w.y,z,Y);let D=s.filter(e=>"horizontal"===e.orientation&&e.coord>=A&&e.coord<=G),P=s.filter(e=>"vertical"===e.orientation&&e.coord>=z&&e.coord<=Y),H=(0,i.K)((e,t)=>`${e.toFixed(1)},${t.toFixed(1)}`,"getKey"),j=H(I.x,I.y),V=H(w.x,w.y),_=new Map,W=new Map,q=new Map,J=new Set,Z=[];_.set(j,0),q.set(j,"n"),Z.push({key:j,f:Math.hypot(w.x-I.x,w.y-I.y),pt:I}),J.add(j);let Q=[],U=(0,i.K)((e,n)=>b(e,n,t.start,t.end),"checkSegmentBlocked"),ee={x:w.x,y:I.y},et=U(I,ee),en=U(ee,w),er=et||en,eo={x:I.x,y:w.y},el=U(I,eo),ei=U(eo,w),ea=el||ei;if(er?ea||(Q=1e-6>Math.abs(I.x-w.x)?[I,w]:[I,eo,w]):Q=1e-6>Math.abs(I.y-w.y)||1e-6>Math.abs(I.x-w.x)?[I,w]:[I,ee,w],0===Q.length)for(;Z.length>0;){Z.sort((e,t)=>e.f-t.f);let n=Z.shift();if(J.delete(n.key),n.key===V){let e=V,t=w;for(Q=[t];W.has(e);){let n=W.get(e);Q.unshift(n),t=n,e=H(n.x,n.y)}break}let r=n.pt.x,o=n.pt.y,l=P.sort((e,t)=>e.coord-t.coord),i=l.findIndex(e=>1>Math.abs(e.coord-r)),a=D.sort((e,t)=>e.coord-t.coord),s=a.findIndex(e=>1>Math.abs(e.coord-o)),f=[];for(let u of(i>0&&f.push({x:l[i-1].coord,y:o}),i>=0&&i<l.length-1&&f.push({x:l[i+1].coord,y:o}),s>0&&f.push({x:r,y:a[s-1].coord}),s>=0&&s<a.length-1&&f.push({x:r,y:a[s+1].coord}),f)){let l=Math.min(r,u.x),i=Math.max(r,u.x),a=Math.min(o,u.y),s=Math.max(o,u.y);if(d.some(e=>e.nodeId!==t.start&&e.nodeId!==t.end&&(l!==i?e.minY<o&&e.maxY>o&&e.maxX>l&&e.minX<i:e.minX<r&&e.maxX>r&&e.maxY>a&&e.minY<s)))continue;let f=H(u.x,u.y),h=Math.abs(u.x-r)+Math.abs(u.y-o),g=m(e,n.pt,u),c=0,p=w.x-I.x,x=w.y-I.y,y=u.x-r,b=u.y-o;(x>10&&b<-5||x<-10&&b>5)&&(c=100*Math.abs(b)),(p>10&&y<-5||p<-10&&y>5)&&(c+=50*Math.abs(y));let M=0,K=q.get(n.key)??"n",S=Math.abs(y)>1e-6?"h":"v";"n"!==K&&K!==S&&(M=50);let v=h+g+c+M,C=(_.get(n.key)??1/0)+v,L=Math.abs(w.x-u.x)+Math.abs(w.y-u.y);if(C<(_.get(f)??1/0))if(W.set(f,n.pt),_.set(f,C),q.set(f,S),J.has(f)){let e=Z.findIndex(e=>e.key===f);-1!==e&&(Z[e].f=C+L)}else Z.push({key:f,f:C+L,pt:u}),J.add(f)}}if(0===Q.length&&(Q=[I,{x:I.x,y:w.y},w]),Q.length>4){let e=Q[0],t=Q[Q.length-1],n=Math.min(e.x,t.x),r=Math.max(e.x,t.x),o=Math.min(e.y,t.y),l=Math.max(e.y,t.y);for(let e of Q)n=Math.min(n,e.x),r=Math.max(r,e.x),o=Math.min(o,e.y),l=Math.max(l,e.y);let a=r>Math.max(e.x,t.x),s=n<Math.min(e.x,t.x);if(f){if(a){let n=Math.max(e.x,t.x),o=Math.min(e.y,t.y),l=Math.max(e.y,t.y),i=d.filter(e=>e.minX<n&&e.maxX>n&&e.minY<l&&e.maxY>o);if(i.length>0){let n=Math.max(e.x,t.x);for(let e of i){let t=(e.minX+e.maxX)/2;void 0===e.visualXHalfExtent||isNaN(e.visualXHalfExtent)||(n=Math.max(n,t+e.visualXHalfExtent+15))}isNaN(n)||(r=n)}}if(s){let r=d.filter(n=>n.minX<Math.min(e.x,t.x)+15&&n.minY<Math.max(e.y,t.y)&&n.maxY>Math.min(e.y,t.y));if(r.length>0){let o=Math.min(e.x,t.x);for(let e of r)o=Math.min(o,(e.minX+e.maxX)/2-e.visualXHalfExtent-15);n=o}}}let u=(0,i.K)(n=>{let r=t.y>e.y,o=d.filter(n=>{let r=Math.min(e.x,t.x)<n.maxX&&Math.max(e.x,t.x)>n.minX,o=Math.min(e.y,t.y)<n.maxY&&Math.max(e.y,t.y)>n.minY;return r&&o}),l=o;if(f&&o.length>0){let e=o.filter(e=>e.minX<n&&e.maxX>n);e.length>0&&(l=e)}if(0===l.length)return t.y;if(r){let e=Math.max(...l.map(e=>e.maxY))+15;if(e<t.y-1e-6)return e}else{let e=Math.min(...l.map(e=>e.minY))-15;if(e>t.y+1e-6)return e}return t.y},"findBestReturnY"),h=(0,i.K)(n=>{let r=u(n),o={x:n,y:e.y},l={x:n,y:r},i={x:t.x,y:r},a=U(e,o),s=U(o,l),f=U(l,i),d=r!==t.y&&U(i,t);return a||s||f||d?null:1e-6>Math.abs(r-t.y)?[e,o,l,t]:[e,o,l,i,t]},"trySimplifyWithDetourX"),g=a&&!s?h(r):s&&!a?h(n):null;g&&(Q=g)}let es=[a,...k,...Q,...T.reverse(),h];if(es.length>=3){let e=es[es.length-1],t=es[es.length-2],n=es[es.length-3],r=1e-6>Math.abs(n.y-t.y)&&1e-6>Math.abs(t.y-e.y),o=1e-6>Math.abs(n.x-t.x)&&1e-6>Math.abs(t.x-e.x);if(r){let r=Math.sign(t.x-n.x),o=Math.sign(e.x-n.x);0!==r&&r===o&&Math.abs(t.x-n.x)>Math.abs(e.x-n.x)&&es.splice(-2,1)}else if(o){let r=Math.sign(t.y-n.y),o=Math.sign(e.y-n.y);0!==r&&r===o&&Math.abs(t.y-n.y)>Math.abs(e.y-n.y)&&es.splice(-2,1)}}let ef=[es[0]];for(let e=1;e<es.length-1;e++){if(1===e){ef.push(es[e]);continue}let t=ef[ef.length-1],n=es[e],r=es[e+1];if(1e-6>Math.abs(t.y-n.y)&&1e-6>Math.abs(n.y-r.y)){n.x>t.x!=r.x>n.x&&ef.push(n);continue}if(1e-6>Math.abs(t.x-n.x)&&1e-6>Math.abs(n.x-r.x)){n.y>t.y!=r.y>n.y&&ef.push(n);continue}ef.push(n)}ef.push(es[es.length-1]);for(let t=0;t<ef.length-1;t++){let n=ef[t],r=ef[t+1],o=1e-6>Math.abs(n.x-r.x)?"vertical":"horizontal",l="vertical"===o?n.x:n.y,i="vertical"===o?Math.min(n.y,r.y):Math.min(n.x,r.x),a="vertical"===o?Math.max(n.y,r.y):Math.max(n.x,r.x),s=u(o,l,i,a),f={edgeIndex:e,segmentIndex:t,orientation:o,pipe:s,trackIndex:0,from:i,to:a};c.push(f),p[e].push(c.length-1),s.tracks[0]||(s.tracks[0]={index:0,coord:s.coord,segments:[]}),s.tracks[0].segments.push({edgeIndex:e,segmentIndex:t,from:i,to:a})}}let N=(0,i.K)((e,t)=>e.from<t.to&&t.from<e.to,"segmentsOverlap"),X=(0,i.K)((e,t,n,r)=>{let o=!r.segments.some(n=>(n.edgeIndex!==t.edgeIndex||n.segmentIndex!==t.segmentIndex)&&N(n,e)),l=!n.segments.some(n=>(n.edgeIndex!==e.edgeIndex||n.segmentIndex!==e.segmentIndex)&&N(n,t));return!!o&&!!l&&(e.trackIndex=r.index,t.trackIndex=n.index,n.segments=[...n.segments.filter(t=>t.edgeIndex!==e.edgeIndex||t.segmentIndex!==e.segmentIndex),{edgeIndex:t.edgeIndex,segmentIndex:t.segmentIndex,from:t.from,to:t.to}],r.segments=[...r.segments.filter(e=>e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex),{edgeIndex:e.edgeIndex,segmentIndex:e.segmentIndex,from:e.from,to:e.to}],!0)},"trySwapSegmentsAcrossTracks"),z=(0,i.K)(e=>{let t=e.tracks.length;return e.tracks[t]={index:t,coord:e.coord,segments:[]},t},"createNewTrack"),Y=(0,i.K)((e,t)=>{let n=e.pipe.tracks[e.trackIndex];n.segments=n.segments.filter(t=>t.edgeIndex!==e.edgeIndex||t.segmentIndex!==e.segmentIndex),e.trackIndex=t,e.pipe.tracks[t].segments.push({edgeIndex:e.edgeIndex,segmentIndex:e.segmentIndex,from:e.from,to:e.to})},"moveSegmentToTrack"),A=(0,i.K)((e,t)=>{for(let n of p[e.edgeIndex]){let r=c[n];r.pipe===e.pipe&&Y(r,t)}},"moveSegmentChainToTrack"),G=(0,i.K)(e=>{let t=p[e.edgeIndex],n=t.indexOf(c.indexOf(e)),r=[];return n>0&&r.push(c[t[n-1]]),n<t.length-1&&r.push(c[t[n+1]]),r},"getAdjacentSegmentsAlongEdge"),D=(0,i.K)((e,t)=>{if(e.orientation===t.orientation)return!1;let n="horizontal"===e.orientation?e:t,r="horizontal"===e.orientation?t:e;return r.pipe.coord>n.from&&r.pipe.coord<n.to&&n.pipe.coord>r.from&&n.pipe.coord<r.to},"haveAnyCrossing"),P=(0,i.K)((e,t)=>{for(let n of e.tracks)if(!n.segments.some(e=>(e.edgeIndex!==t.edgeIndex||e.segmentIndex!==t.segmentIndex)&&N(e,t)))return n.index;return -1},"findAvailableTrack"),H=(0,i.K)((e,t)=>{if(e.trackIndex===t.trackIndex)return N(e,t);let n=G(e),r=G(t);return n.some(e=>r.some(t=>D(e,t)))},"segmentsConflict"),j=(0,i.K)((e,t,n)=>{if(X(e,t,e.pipe.tracks[e.trackIndex],t.pipe.tracks[t.trackIndex]))return;let r=P(e.pipe,t);n(t,-1!==r?r:z(e.pipe))},"resolveTrackConflict"),V=(0,i.K)(e=>{let t=0;for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){let o=e[n],l=e[r];o.pipe===l.pipe&&H(o,l)&&(t++,j(o,l,A))}return t},"resolveHandleConflicts"),_=new Map,W=(0,i.K)(e=>{if(_.has(e))return _.get(e);let t=p[e];if(0===t.length){let t={dest:0,deviation:0,base:0,delta:0};return _.set(e,t),t}let n=c[t[0]].pipe.coord,r=n;for(let e=1;e<t.length;e++){let o=c[t[e]];if("horizontal"===o.orientation){let e=o.from,t=o.to;r=Math.abs(e-n)>Math.abs(t-n)?e:t;break}}let o=Math.abs(r-n),l={dest:r,deviation:o,base:n,delta:r-n};return _.set(e,l),l},"getDestInfo"),q=(0,i.K)(()=>{let e=0,t=new Map;for(let[e,n]of o.entries())0!==p[e].length&&n.start&&(t.has(n.start)||t.set(n.start,[]),t.get(n.start).push(e));let n=(0,i.K)(e=>{let t=o[e];if(!t.start||!t.end)return 0;let n=l.get(t.start),r=l.get(t.end);return n&&r?Math.abs((r.x??0)-(n.x??0))+Math.abs((r.y??0)-(n.y??0)):0},"getEdgeDistance");for(let r of t.values())r.sort((e,t)=>{let r=W(e),o=W(t);if(Math.abs(r.deviation-o.deviation)>1)return r.deviation-o.deviation;if(Math.abs(r.dest-o.dest)>1)return r.dest-o.dest;let l=n(e),i=n(t);if(Math.abs(l-i)>1)return i-l;let a=p[e].length,s=p[t].length;if(a!==s)return a-s;if(1===a){let n=p[e][0],r=p[t][0];if(c[n]&&c[r]){let e=c[n],t=c[r],o=Math.abs(e.to-e.from),l=Math.abs(t.to-t.from);if(Math.abs(o-l)>1)return o-l}}return 0}),e+=V(r.map(e=>c[p[e][0]]));return e},"fixSourceHandleCrossings"),J=(0,i.K)(()=>{let e=0,t=new Map;for(let[e,n]of o.entries())0!==p[e].length&&n.end&&(t.has(n.end)||t.set(n.end,[]),t.get(n.end).push(e));for(let n of t.values())n.sort((e,t)=>{let n=(0,i.K)(e=>{let t=p[e];if(t.length<2)return 0;let n=c[t[t.length-2]];return Math.abs(n.to-n.from)},"getDist"),r=n(e),o=n(t);return Math.abs(r-o)>.1?r-o:e-t}),e+=V(n.map(e=>c[p[e][p[e].length-1]]));return e},"fixTargetHandleCrossings"),Z=(0,i.K)(()=>{let e=0;for(let t of s){let n=[];for(let e of t.tracks)for(let t of e.segments){let e=p[t.edgeIndex].find(e=>c[e].segmentIndex===t.segmentIndex);void 0!==e&&n.push(c[e])}n.sort((e,t)=>e.edgeIndex-t.edgeIndex||e.segmentIndex-t.segmentIndex);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++){let o=n[t],l=n[r];H(o,l)&&(e++,j(o,l,Y))}}return e},"fixPipeCrossings"),Q=0;for(;Q<10&&0!==0+q()+J()+Z();){;Q++}let U=new Map;for(let e of s){let t=[];e.tracks.forEach(e=>{e.segments.forEach(n=>{t.push({edgeIndex:n.edgeIndex,segmentIndex:n.segmentIndex,trackIndex:e.index,from:n.from,to:n.to})})}),t.sort((e,t)=>e.from-t.from);let n=[];if(t.length>0){let e=[t[0]],r=t[0].to;for(let o=1;o<t.length;o++){let l=t[o];l.from<r?(e.push(l),r=Math.max(r,l.to)):(n.push(e),e=[l],r=l.to)}n.push(e)}for(let t of n){let n=new Set;t.forEach(e=>n.add(e.trackIndex));let r=new Map;t.forEach(e=>{let t=W(e.edgeIndex);r.set(e.trackIndex,(r.get(e.trackIndex)??0)+t.delta)});let o=[...n].filter(e=>(r.get(e)??0)<-1),l=[...n].filter(e=>(r.get(e)??0)>1),a=[...n].filter(e=>1>=Math.abs(r.get(e)??0));o.sort((e,t)=>(r.get(t)??0)-(r.get(e)??0)),l.sort((e,t)=>(r.get(e)??0)-(r.get(t)??0));let s=(0,i.K)((n,r)=>{t.filter(e=>e.trackIndex===n).forEach(t=>{let n=x.has(t.edgeIndex)?e.coord:r;U.set(`${t.edgeIndex}-${t.segmentIndex}`,n)})},"assignCoord"),f=0;for(let t of o)f++,s(t,e.coord-10*f);if(0===a.length&&n.size>0){let e=[...n].sort((e,t)=>Math.abs(r.get(e)??0)-Math.abs(r.get(t)??0))[0],t=o.indexOf(e);-1!==t&&o.splice(t,1);let i=l.indexOf(e);-1!==i&&l.splice(i,1),a.push(e)}let d=0;for(let t of a){if(0===d)s(t,e.coord);else{let n=d%2==1?1:-1,r=Math.ceil(d/2);s(t,e.coord+n*r*5)}d++}let u=0;for(let t of l)u++,s(t,e.coord+10*u)}}for(let[e,t]of o.entries()){let n=p[e]??[];if(0===n.length)continue;let r=[],{pSrcPort:o,pDstPort:i}=B(e,l.get(t.start),l.get(t.end)),a=n.map(e=>{let t=c[e],n=U.get(`${t.edgeIndex}-${t.segmentIndex}`)??t.pipe.coord;return{orient:t.orientation,coord:n,from:t.from,to:t.to}});r.push(o);for(let e=0;e<a.length;e++){let t=a[e],n=r[r.length-1],o="vertical"===t.orient?n.y:n.x,l="vertical"===t.orient?n.x:n.y,i=a[e+1],s=e<a.length-1;if(Math.abs(l-t.coord)>1e-6&&r.push(tZ(t,o)),s&&i.orient===t.orient)if(Math.abs(t.coord-i.coord)>1e-6){let e="vertical"===t.orient?(o+i.from)/2:tJ(t,i);r.push(tZ(t,e),tZ(i,e))}else(0===e||e===a.length-2)&&r.push(tZ(t,tJ(t,i)));else if(s)r.push(tZ(t,i.coord));else{let e=Math.abs(t.from-o)<Math.abs(t.to-o)?t.to:t.from;r.push(tZ(t,e))}}let s=r[r.length-1];(Math.abs(s.x-i.x)>1e-6||Math.abs(s.y-i.y)>1e-6)&&r.push(i);let f=[];r.length>0&&f.push(r[0]);for(let e=1;e<r.length;e++){let t=r[e],n=f[f.length-1];(Math.abs(t.x-n.x)>1e-6||Math.abs(t.y-n.y)>1e-6)&&f.push(t)}t.points=f}for(let e of o){let t=e.__originalEdge;t&&e.points&&(t.points=e.points)}e.edges=(e.edges??[]).filter(e=>!e.isLayoutOnly);let ee=(0,i.K)((e,t)=>{let n=t.x??0,r=t.y??0,o=t.width??0,l=t.height??0;if(o<=0||l<=0)return e;let i=n-o/2,a=n+o/2,s=r-l/2,f=r+l/2;if(e.x<i||e.x>a||e.y<s||e.y>f)return e;let d=e.x-i,u=a-e.x,h=e.y-s,g=Math.min(d,u,h,f-e.y);return g===d?{x:i,y:e.y}:g===u?{x:a,y:e.y}:g===h?{x:e.x,y:s}:{x:e.x,y:f}},"nodeBoundaryClamp");for(let t of e.edges){let e=t.points;if(!e||e.length<2)continue;let n=t.start,r=t.end,o=n?l.get(n):void 0,i=r?l.get(r):void 0;o&&(e[0]=ee(e[0],o)),i&&(e[e.length-1]=ee(e[e.length-1],i))}return e}function tU(e){return e.direction??"TB"}function t0(e){let t=h(e),n=e.config.flowchart?.nodeSpacing??40,r=e.config.flowchart?.rankSpacing??100,o=e.config.swimlane?.ignoreCrossLaneEdges??!0,l=e.config.swimlane?.optimizeRanksByCrossings??!0,i=e.config.swimlane?.automaticLaneOrdering??!1,a=tU(e),{ordered:s,coordinates:f}=tW(t,{nodeGap:n,layerGap:r,ignoreCrossLaneEdges:o,optimizeRanksByCrossings:l,automaticLaneOrdering:i,direction:a});for(let o of(g(t,s,f,{nodeGap:n,layerGap:r}),e.edges??[]))delete o.points;for(let t of(tQ(e,a),e.edges??[]))t.curve&&"basis"!==t.curve||(t.curve="rounded");return eU(e,a),eQ(e),a}function t1(e){u(e);let t=c(e);e.nodes=t.nodes,e.edges=t.edges}(0,i.K)(ti,"buildDrivingTree"),(0,i.K)(ta,"chooseParent"),(0,i.K)(ts,"buildAdjacency"),(0,i.K)(tf,"assignComponents"),(0,i.K)(td,"computeBlocks"),(0,i.K)(tu,"popBlock"),(0,i.K)(th,"computeSubtreeCrossCounts"),(0,i.K)(tg,"annotateMinimumLayers"),(0,i.K)(tc,"compareByRankThenId"),(0,i.K)(tp,"emitNodesInTreeOrder"),(0,i.K)(tx,"deduplicateLayers"),(0,i.K)(tm,"createChildOrderer"),(0,i.K)(ty,"buildMultitreeLayerOrder"),(0,i.K)(tb,"countCrossingsBetweenAdjacent"),(0,i.K)(tM,"totalCrossings"),(0,i.K)(tK,"optimizeRanksByCrossings"),(0,i.K)(tI,"adjustCrossLaneSources"),(0,i.K)(tw,"assignLayers_LongestPath"),(0,i.K)(tS,"assignLayers_Gravity"),(0,i.K)(tv,"topoSortByGenerationIfAcyclic"),(0,i.K)(tC,"assignLayers_LaneAwareCompact"),(0,i.K)(tL,"makeProperLayering"),(0,i.K)(tk,"median"),(0,i.K)(t$,"barycenter"),(0,i.K)(tR,"neighborPositionsFor"),(0,i.K)(tO,"currentOrderTieBreak"),(0,i.K)(tT,"countCrossingsBetweenAdjacent"),(0,i.K)(tF,"sortByHeuristic"),(0,i.K)(tE,"reorderLayer"),(0,i.K)(tB,"transposeImprove"),(0,i.K)(tN,"orderLayers"),(0,i.K)(tX,"assignCoordinates"),(0,i.K)(tz,"hashString"),(0,i.K)(tY,"mulberry32"),(0,i.K)(tA,"deterministicShuffle"),(0,i.K)(tG,"sourceDistance"),(0,i.K)(tD,"laneArrangementCost"),(0,i.K)(tP,"buildWeightedLaneEdges"),(0,i.K)(tH,"greedySwitch"),(0,i.K)(tj,"isBetterCandidate"),(0,i.K)(tV,"seedForRestart"),(0,i.K)(t_,"optimizeTopLaneOrder"),(0,i.K)(tW,"sugiyamaLayout"),(0,i.K)(tq,"chooseOrthogonalSide"),(0,i.K)(tJ,"sharedLineEndpointCoord"),(0,i.K)(tZ,"pointOnLine"),(0,i.K)(tQ,"routeEdgesOrthogonal"),(0,i.K)(tU,"getSwimlaneDirection"),(0,i.K)(t0,"runSwimlaneLayoutCore"),(0,i.K)(t1,"prepareSwimlaneLayout");var t2=(0,o.xY)({prepareLayout:t1,runLayoutCore:t0,afterPaint:a})}}]); \ No newline at end of file diff --git a/en/assets/js/9010.278a1aa9.js b/en/assets/js/9010.278a1aa9.js new file mode 100644 index 0000000..6acad57 --- /dev/null +++ b/en/assets/js/9010.278a1aa9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9010"],{9945(e,s,r){r.d(s,{createGitGraphServices:()=>a.b});var a=r(1721);r(4954)}}]); \ No newline at end of file diff --git a/en/assets/js/9156.a3122fd7.js b/en/assets/js/9156.a3122fd7.js new file mode 100644 index 0000000..a5e7e2a --- /dev/null +++ b/en/assets/js/9156.a3122fd7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9156"],{5567(e,r,t){t.d(r,{diagram:()=>y});var n=t(1578),a=t(7454);t(4924),t(1177);var s=t(1293),l=t(6827),p=t(8731),i=(0,p.WG)().RailroadEbnf.parser.LangiumParser,o=(0,l.K)(e=>{let r=e.alternatives.map(m);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformChoice"),m=(0,l.K)(e=>{let r=e.elements.map(c);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),u=(0,l.K)(e=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return o(e.element);case"EbnfOptional":return{type:"optional",element:o(e.element)};case"EbnfRepetition":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),f=(0,l.K)((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},u(r.except)]};default:throw Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),c=(0,l.K)(e=>e.postfixes.reduce((e,r)=>f(e,r),u(e.base)),"transformTerm"),d=(0,l.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),b=(0,l.K)(e=>{(0,a.S)(e,n.db),e.title&&n.db.setTitle(e.title),e.rules.map(e=>n.db.addRule(d(e)))},"populateDb"),y={parser:{parse:(0,l.K)(e=>{n.db.clear(),s.R.debug("[EBNF Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;s.R.debug("[EBNF Parser] Parsed rules:",t.rules.length),b(t),s.R.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:n.db}},db:n.db,renderer:n.U,styles:n.$}}}]); \ No newline at end of file diff --git a/en/assets/js/92d5f697.8d513838.js b/en/assets/js/92d5f697.8d513838.js new file mode 100644 index 0000000..7fce593 --- /dev/null +++ b/en/assets/js/92d5f697.8d513838.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4128"],{1110(e,n,r){r.r(n),r.d(n,{metadata:()=>t,default:()=>u,frontMatter:()=>c,contentTitle:()=>d,toc:()=>a,assets:()=>o});var t=JSON.parse('{"id":"core/function-parse","title":"Function Parsing","description":"Extract functions, arguments and contexts used in SQL","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/function-parse.md","sourceDirName":"core","slug":"/core/function-parse","permalink":"/SqlParserX/en/docs/core/function-parse","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/function-parse.md","tags":[],"version":"1.0","sidebarPosition":4,"frontMatter":{"title":"Function Parsing","description":"Extract functions, arguments and contexts used in SQL","sidebar_label":"Function Parsing","sidebar_position":4},"sidebar":"docs","previous":{"title":"Table Parsing","permalink":"/SqlParserX/en/docs/core/table-parse"},"next":{"title":"Parameter Extraction","permalink":"/SqlParserX/en/docs/core/parameter-compile"}}'),s=r(4848),i=r(8453);let c={title:"Function Parsing",description:"Extract functions, arguments and contexts used in SQL",sidebar_label:"Function Parsing",sidebar_position:4},d="Function Parsing",o={},a=[{value:"1. Add the Dependency",id:"1-add-the-dependency",level:2},{value:"2. Complete Example",id:"2-complete-example",level:2},{value:"3. Goal",id:"3-goal",level:2},{value:"4. Entry & Implementation",id:"4-entry--implementation",level:2},{value:"5. Supported Scenarios",id:"5-supported-scenarios",level:2}];function l(e){let n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-parsing",children:"Function Parsing"})}),"\n",(0,s.jsx)(n.h2,{id:"1-add-the-dependency",children:"1. Add the Dependency"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"sqlparserx-core"})," transitively brings in ",(0,s.jsx)(n.code,{children:"sqlparserx-syntax"})," and Druid."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"2-complete-example",children:"2. Complete Example"}),"\n",(0,s.jsxs)(n.p,{children:["Using the official ",(0,s.jsx)(n.code,{children:"sqlparserx-core/README.md"})," sample SQL to extract the set of functions:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",metastring:'title="FunctionParseDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.Set;\n\npublic class FunctionParseDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1. Get a parser\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2. Parse functions used in the SQL\n Set<String> functions = parser.parseFunction(sql);\n\n // 3. Read the result\n System.out.println("functions: " + functions);\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"Console output (example):"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"functions: [sum, count]\n"})}),"\n",(0,s.jsx)(n.h2,{id:"3-goal",children:"3. Goal"}),"\n",(0,s.jsxs)(n.p,{children:["Extract ",(0,s.jsx)(n.strong,{children:"function calls"})," from SQL as a de-duplicated set of function names for function-level governance and dependency analysis."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"SQLStatement AST\n \u2192 BaseSqlParser.parseFunction\n \u2192 traverse AST to collect function expressions\n \u2192 Set<String> functions\n"})}),"\n",(0,s.jsx)(n.h2,{id:"4-entry--implementation",children:"4. Entry & Implementation"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Item"}),(0,s.jsx)(n.th,{children:"Content"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Core entry"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"ISqlParser.parseFunction(sql)"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Default impl"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"BaseSqlParser.parseFunction"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Return type"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"Set<String>"})," (function names, lower-cased)"]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Coverage"}),(0,s.jsx)(n.td,{children:"built-in, aggregate, window, custom functions"})]})]})]}),"\n",(0,s.jsx)(n.h2,{id:"5-supported-scenarios",children:"5. Supported Scenarios"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Capability"}),(0,s.jsx)(n.th,{children:"Status"}),(0,s.jsx)(n.th,{children:"Notes"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Regular function calls"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsxs)(n.td,{children:["e.g. ",(0,s.jsx)(n.code,{children:"substr(name, 1, 3)"})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Aggregate functions"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsxs)(n.td,{children:["e.g. ",(0,s.jsx)(n.code,{children:"sum"}),", ",(0,s.jsx)(n.code,{children:"count"}),", ",(0,s.jsx)(n.code,{children:"max"})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Window functions"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsxs)(n.td,{children:["e.g. ",(0,s.jsx)(n.code,{children:"row_number() over(...)"})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Nested functions"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsx)(n.td,{children:"Recursively collect inner and outer functions"})]})]})]})]})}function u(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453(e,n,r){r.d(n,{R:()=>c,x:()=>d});var t=r(6540);let s={},i=t.createContext(s);function c(e){let n=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/9729.f747c8de.js b/en/assets/js/9729.f747c8de.js new file mode 100644 index 0000000..d821771 --- /dev/null +++ b/en/assets/js/9729.f747c8de.js @@ -0,0 +1,64 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9729"],{2840(t,e,i){i.d(e,{diagram:()=>$});var s=i(4924),n=i(6348),a=i(1177);i(1293);var r=i(6827),l=i(2274),h=function(){var t=(0,r.K)(function(t,e,i,s){for(i=i||{},s=t.length;s--;i[t[s]]=e);return i},"o"),e=[1,4],i=[1,14],s=[1,12],n=[1,13],a=[6,7,8],l=[1,20],h=[1,18],o=[1,19],c=[6,7,11],u=[1,6,13,14],d=[1,23],p=[1,24],y=[1,6,7,11,13,14],g={trace:(0,r.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:(0,r.K)(function(t,e,i,s,n,a,r){var l=a.length-1;switch(n){case 6:case 7:return s;case 15:s.addNode(a[l-1].length,a[l].trim());break;case 16:s.addNode(0,a[l].trim())}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:i,7:[1,10],9:9,12:11,13:s,14:n},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:i,12:15,13:s,14:n},{6:i,9:16,12:11,13:s,14:n},{6:l,7:h,10:17,11:o},t(c,[2,18],{14:[1,21]}),t(c,[2,16]),t(c,[2,17]),{6:l,7:h,10:22,11:o},{1:[2,7],6:i,12:15,13:s,14:n},t(u,[2,14],{7:d,11:p}),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(c,[2,15]),t(u,[2,13],{7:d,11:p}),t(y,[2,11]),t(y,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,r.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,r.K)(function(t){var e=this,i=[0],s=[],n=[null],a=[],l=this.table,h="",o=0,c=0,u=0,d=a.slice.call(arguments,1),p=Object.create(this.lexer),y={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y[g]=this.yy[g]);p.setInput(t,y),y.lexer=p,y.parser=this,void 0===p.yylloc&&(p.yylloc={});var f=p.yylloc;a.push(f);var k=p.options&&p.options.ranges;function m(){var t;return"number"!=typeof(t=s.pop()||p.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.parseError?this.parseError=y.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.K)(function(t){i.length=i.length-2*t,n.length=n.length-t,a.length=a.length-t},"popStack"),(0,r.K)(m,"lex");for(var w,x,b,_,v,S,K,$,I,E={};;){if(b=i[i.length-1],this.defaultActions[b]?_=this.defaultActions[b]:(null==w&&(w=m()),_=l[b]&&l[b][w]),void 0===_||!_.length||!_[0]){var A="";for(S in I=[],l[b])this.terminals_[S]&&S>2&&I.push("'"+this.terminals_[S]+"'");A=p.showPosition?"Parse error on line "+(o+1)+":\n"+p.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[w]||w)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==w?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(A,{text:p.match,token:this.terminals_[w]||w,line:p.yylineno,loc:f,expected:I})}if(_[0]instanceof Array&&_.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+w);switch(_[0]){case 1:i.push(w),n.push(p.yytext),a.push(p.yylloc),i.push(_[1]),w=null,x?(w=x,x=null):(c=p.yyleng,h=p.yytext,o=p.yylineno,f=p.yylloc,u>0&&u--);break;case 2:if(K=this.productions_[_[1]][1],E.$=n[n.length-K],E._$={first_line:a[a.length-(K||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(K||1)].first_column,last_column:a[a.length-1].last_column},k&&(E._$.range=[a[a.length-(K||1)].range[0],a[a.length-1].range[1]]),void 0!==(v=this.performAction.apply(E,[h,c,o,y,_[1],n,a].concat(d))))return v;K&&(i=i.slice(0,-1*K*2),n=n.slice(0,-1*K),a=a.slice(0,-1*K)),i.push(this.productions_[_[1]][0]),n.push(E.$),a.push(E._$),$=l[i[i.length-2]][i[i.length-1]],i.push($);break;case 3:return!0}}return!0},"parse")};function f(){this.yy={}}return g.lexer={EOF:1,parseError:(0,r.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,r.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,r.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,r.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var s=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===s.length?this.yylloc.first_column:0)+s[s.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,r.K)(function(){return this._more=!0,this},"more"),reject:(0,r.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,r.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,r.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,r.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,r.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,r.K)(function(t,e){var i,s,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var a in n)this[a]=n[a];return!1},"test_match"),next:(0,r.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,s,n=this._currentRules(),a=0;a<n.length;a++)if((i=this._input.match(this.rules[n[a]]))&&(!e||i[0].length>e[0].length)){if(e=i,s=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[s]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,r.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,r.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,r.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,r.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,r.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,r.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,r.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.K)(function(t,e,i,s){switch(i){case 0:case 3:return 6;case 1:case 2:return 8;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}},(0,r.K)(f,"Parser"),f.prototype=g,g.Parser=f,new f}();h.parser=h;var o=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}static{(0,r.K)(this,"IshikawaDB")}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,(0,a.IU)()}getRoot(){return this.root}addNode(t,e){let i=a.Y2.sanitizeText(e,(0,a.D7)());if(!this.root){this.root={text:i,children:[]},this.stack=[{level:0,node:this.root}],(0,a.ke)(i);return}this.baseLevel??=t;let s=t-this.baseLevel+1;for(s<=0&&(s=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=s;)this.stack.pop();let n=this.stack[this.stack.length-1].node,r={text:i,children:[]};n.children.push(r),this.stack.push({level:s,node:r})}getAccTitle(){return(0,a.iN)()}setAccTitle(t){(0,a.SV)(t)}getAccDescription(){return(0,a.m7)()}setAccDescription(t){(0,a.EI)(t)}getDiagramTitle(){return(0,a.ab)()}setDiagramTitle(t){(0,a.ke)(t)}},c=82*Math.PI/180,u=Math.cos(c),d=Math.sin(c),p=(0,r.K)((t,e,i)=>{let s=t.node().getBBox(),n=s.width+2*e,r=s.height+2*e;(0,a.a$)(t,r,n,i),t.attr("viewBox",`${s.x-e} ${s.y-e} ${n} ${r}`)},"applyPaddedViewBox"),y=(0,r.K)((t,e,i,r)=>{let h=r.db.getRoot();if(!h)return;let o=(0,a.D7)(),{look:c,handDrawnSeed:u,themeVariables:d}=o,y=(0,n.I5)(o.fontSize)[0]??14,k="handDrawn"===c,m=h.children??[],w=o.ishikawa?.diagramPadding??20,b=o.ishikawa?.useMaxWidth??!1,_=(0,s.D)(e),v=_.append("g").attr("class","ishikawa"),S=k?l.A.svg(_.node()):void 0,$=S?{roughSvg:S,seed:u??0,lineColor:d?.lineColor??"#333",fillColor:d?.mainBkg??"#fff"}:void 0,I=`ishikawa-arrow-${e}`;k||v.append("defs").append("marker").attr("id",I).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let E=0,A=250,C=k?void 0:K(v,E,A,E,A,"ishikawa-spine");if(f(v,E,A,h.text,y,$),!m.length){k&&K(v,E,A,E,A,"ishikawa-spine",$),p(_,w,b);return}E-=20;let L=m.filter((t,e)=>e%2==0),M=m.filter((t,e)=>e%2==1),P=g(L),T=g(M),B=P.total+T.total,N=250,D=250;B>0&&(N=Math.max(75,500*(P.total/B)),D=Math.max(75,500*(T.total/B)));let O=2*y;N=Math.max(N,P.max*O),D=Math.max(D,T.max*O),A=Math.max(N,250),C&&C.attr("y1",A).attr("y2",A),v.select(".ishikawa-head-group").attr("transform",`translate(0,${A})`);let W=Math.ceil(m.length/2);for(let t=0;t<W;t++){let e=v.append("g").attr("class","ishikawa-pair");for(let[i,s,n]of[[m[2*t],-1,N],[m[2*t+1],1,D]])i&&x(e,i,E,A,s,n,y,$);E=e.selectAll("text").nodes().reduce((t,e)=>Math.min(t,e.getBBox().x),1/0)}if(k)K(v,E,A,0,A,"ishikawa-spine",$);else{C.attr("x1",E);let t=`url(#${I})`;v.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",t)}p(_,w,b)},"draw"),g=(0,r.K)(t=>{let e=(0,r.K)(t=>t.children.reduce((t,i)=>t+1+e(i),0),"countDescendants");return t.reduce((t,i)=>{let s=e(i);return t.total+=s,t.max=Math.max(t.max,s),t},{total:0,max:0})},"sideStats"),f=(0,r.K)((t,e,i,s,n,a)=>{let r=Math.max(6,Math.floor(110/(.6*n))),l=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${i})`),h=v(l,_(s,r),0,0,"ishikawa-head-label","start",n),o=h.node().getBBox(),c=Math.max(60,o.width+6),u=Math.max(40,2*o.height+40),d=`M 0 ${-u/2} L 0 ${u/2} Q ${2.4*c} 0 0 ${-u/2} Z`;if(a){let t=a.roughSvg.path(d,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});l.insert(()=>t,":first-child").attr("class","ishikawa-head")}else l.insert("path",":first-child").attr("class","ishikawa-head").attr("d",d);h.attr("transform",`translate(${(c-o.width)/2-o.x+3},${-o.y-o.height/2})`)},"drawHead"),k=(0,r.K)((t,e)=>{let i=[],s=[],n=(0,r.K)((t,a,r)=>{for(let l of -1===e?[...t].reverse():t){let t=i.length,e=l.children??[];i.push({depth:r,text:_(l.text,15),parentIndex:a,childCount:e.length}),r%2==0?(s.push(t),e.length&&n(e,t,r+1)):(e.length&&n(e,t,r+1),s.push(t))}},"walk");return n(t,-1,2),{entries:i,yOrder:s}},"flattenTree"),m=(0,r.K)((t,e,i,s,n,a,r)=>{let l=t.append("g").attr("class","ishikawa-label-group"),h=v(l,e,i,s+11*n,"ishikawa-label cause","middle",a).node().getBBox();if(r){let t=r.roughSvg.rectangle(h.x-20,h.y-2,h.width+40,h.height+4,{roughness:1.5,seed:r.seed,fill:r.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:r.lineColor,strokeWidth:2});l.insert(()=>t,":first-child").attr("class","ishikawa-label-box")}else l.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",h.x-20).attr("y",h.y-2).attr("width",h.width+40).attr("height",h.height+4)},"drawCauseLabel"),w=(0,r.K)((t,e,i,s,n,a)=>{let r=Math.sqrt(s*s+n*n);if(0===r)return;let l=s/r,h=n/r,o=-(6*h),c=6*l,u=`M ${e} ${i} L ${e-6*l*2+o} ${i-6*h*2+c} L ${e-6*l*2-o} ${i-6*h*2-c} Z`,d=a.roughSvg.path(u,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>d)},"drawArrowMarker"),x=(0,r.K)((t,e,i,s,n,a,r,l)=>{let h=e.children??[],o=a*(h.length?1:.2),c=d*o*n,p=i+-u*o,y=s+c;if(K(t,i,s,p,y,"ishikawa-branch",l),l&&w(t,i,s,i-p,s-y,l),m(t,e.text,p,y,n,r,l),!h.length)return;let{entries:g,yOrder:f}=k(h,n),x=g.length,b=Array(x);for(let[t,e]of f.entries())b[e]=s+(t+1)/(x+1)*c;let _=new Map;_.set(-1,{x0:i,y0:s,x1:p,y1:y,childCount:h.length,childrenDrawn:0});let $=-u,I=d*n,E=n<0?"ishikawa-label up":"ishikawa-label down";for(let[e,i]of g.entries()){let s=b[e],n=_.get(i.parentIndex),a=t.append("g").attr("class","ishikawa-sub-group"),h=0,o=0,c=0;if(i.depth%2==0){let t=n.y1-n.y0;h=S(n.x0,n.x1,t?(s-n.y0)/t:.5),o=s,c=h-(i.childCount>0?60+5*i.childCount:30),K(a,h,s,c,s,"ishikawa-sub-branch",l),l&&w(a,h,s,1,0,l),v(a,i.text,c,s,"ishikawa-label align","end",r)}else{let t=n.childrenDrawn++;c=(h=S(n.x0,n.x1,(n.childCount-t)/(n.childCount+1)))+(s-(o=n.y0))/I*$,K(a,h,o,c,s,"ishikawa-sub-branch",l),l&&w(a,h,o,h-c,o-s,l),v(a,i.text,c,s,E,"end",r)}i.childCount>0&&_.set(e,{x0:h,y0:o,x1:c,y1:s,childCount:i.childCount,childrenDrawn:0})}},"drawBranch"),b=(0,r.K)(t=>t.split(/<br\s*\/?>|\n/),"splitLines"),_=(0,r.K)((t,e)=>{if(t.length<=e)return t;let i=[];for(let s of t.split(/\s+/)){let t=i.length-1;t>=0&&i[t].length+1+s.length<=e?i[t]+=" "+s:i.push(s)}return i.join("\n")},"wrapText"),v=(0,r.K)((t,e,i,s,n,a,r)=>{let l=b(e),h=1.05*r,o=t.append("text").attr("class",n).attr("text-anchor",a).attr("x",i).attr("y",s-(l.length-1)*h/2);for(let[t,e]of l.entries())o.append("tspan").attr("x",i).attr("dy",0===t?0:h).text(e);return o},"drawMultilineText"),S=(0,r.K)((t,e,i)=>t+(e-t)*i,"lerp"),K=(0,r.K)((t,e,i,s,n,a,r)=>{if(r){let l=r.roughSvg.line(e,i,s,n,{roughness:1.5,seed:r.seed,stroke:r.lineColor,strokeWidth:2});t.append(()=>l).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",i).attr("x2",s).attr("y2",n)},"drawLine"),$={parser:h,get db(){return new o},renderer:{draw:y},styles:(0,r.K)(t=>` +.ishikawa .ishikawa-spine, +.ishikawa .ishikawa-branch, +.ishikawa .ishikawa-sub-branch { + stroke: ${t.lineColor}; + stroke-width: 2; + fill: none; +} + +.ishikawa .ishikawa-sub-branch { + stroke-width: 1; +} + +.ishikawa .ishikawa-arrow { + fill: ${t.lineColor}; +} + +.ishikawa .ishikawa-head { + fill: ${t.mainBkg}; + stroke: ${t.lineColor}; + stroke-width: 2; +} + +.ishikawa .ishikawa-label-box { + fill: ${t.mainBkg}; + stroke: ${t.lineColor}; + stroke-width: 2; +} + +.ishikawa text { + font-family: ${t.fontFamily}; + font-size: ${t.fontSize}; + fill: ${t.textColor}; +} + +.ishikawa .ishikawa-head-label { + font-weight: 600; + text-anchor: middle; + dominant-baseline: middle; + font-size: 14px; +} + +.ishikawa .ishikawa-label { + text-anchor: end; +} + +.ishikawa .ishikawa-label.cause { + text-anchor: middle; + dominant-baseline: middle; +} + +.ishikawa .ishikawa-label.align { + text-anchor: end; + dominant-baseline: middle; +} + +.ishikawa .ishikawa-label.up { + dominant-baseline: baseline; +} + +.ishikawa .ishikawa-label.down { + dominant-baseline: hanging; +} +`,"getStyles")}}}]); \ No newline at end of file diff --git a/en/assets/js/9948.5ccdc219.js b/en/assets/js/9948.5ccdc219.js new file mode 100644 index 0000000..25a6024 --- /dev/null +++ b/en/assets/js/9948.5ccdc219.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9948"],{791(t,e,i){i.d(e,{diagram:()=>I});var a=i(1177),n=i(1293),s=i(6827),r=i(7829),l=function(){var t=(0,s.K)(function(t,e,i,a){for(i=i||{},a=t.length;a--;i[t[a]]=e);return i},"o"),e=[1,3],i=[1,4],a=[1,5],n=[1,6],r=[1,7],l=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],h=[55,56,57],c=[2,36],d=[1,37],u=[1,36],x=[1,38],g=[1,35],f=[1,43],p=[1,41],y=[1,45],T=[1,14],m=[1,23],q=[1,18],_=[1,19],A=[1,20],b=[1,21],k=[1,22],S=[1,24],F=[1,25],P=[1,26],C=[1,27],v=[1,28],L=[1,29],I=[1,32],E=[1,33],D=[1,34],z=[1,39],K=[1,40],U=[1,42],w=[1,44],N=[1,63],R=[1,62],B=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],$=[1,66],W=[1,67],O=[1,68],Q=[1,69],X=[1,70],M=[1,71],Y=[1,72],H=[1,73],j=[1,74],G=[1,75],Z=[1,76],V=[1,77],J=[4,5,6,7,8,9,10,11,12,13,14,15,18],tt=[1,91],te=[1,92],ti=[1,93],ta=[1,100],tn=[1,94],ts=[1,97],tr=[1,95],tl=[1,96],to=[1,98],th=[1,99],tc=[1,103],td=[10,55,56,57],tu=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],tx={trace:(0,s.K)(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:(0,s.K)(function(t,e,i,a,n,s,r){var l=s.length-1;switch(n){case 23:case 68:this.$=s[l];break;case 24:case 69:this.$=s[l-1]+""+s[l];break;case 26:this.$=s[l-1]+s[l];break;case 27:this.$=[s[l].trim()];break;case 28:s[l-2].push(s[l].trim()),this.$=s[l-2];break;case 29:this.$=s[l-4],a.addClass(s[l-2],s[l]);break;case 37:this.$=[];break;case 42:this.$=s[l].trim(),a.setDiagramTitle(this.$);break;case 43:this.$=s[l].trim(),a.setAccTitle(this.$);break;case 44:case 45:this.$=s[l].trim(),a.setAccDescription(this.$);break;case 46:a.addSection(s[l].substr(8)),this.$=s[l].substr(8);break;case 47:a.addPoint(s[l-3],"",s[l-1],s[l],[]);break;case 48:a.addPoint(s[l-4],s[l-3],s[l-1],s[l],[]);break;case 49:a.addPoint(s[l-4],"",s[l-2],s[l-1],s[l]);break;case 50:a.addPoint(s[l-5],s[l-4],s[l-2],s[l-1],s[l]);break;case 51:a.setXAxisLeftText(s[l-2]),a.setXAxisRightText(s[l]);break;case 52:s[l-1].text+=" \u27F6 ",a.setXAxisLeftText(s[l-1]);break;case 53:a.setXAxisLeftText(s[l]);break;case 54:a.setYAxisBottomText(s[l-2]),a.setYAxisTopText(s[l]);break;case 55:s[l-1].text+=" \u27F6 ",a.setYAxisBottomText(s[l-1]);break;case 56:a.setYAxisBottomText(s[l]);break;case 57:a.setQuadrant1Text(s[l]);break;case 58:a.setQuadrant2Text(s[l]);break;case 59:a.setQuadrant3Text(s[l]);break;case 60:a.setQuadrant4Text(s[l]);break;case 64:case 66:this.$={text:s[l],type:"text"};break;case 65:this.$={text:s[l-1].text+""+s[l],type:s[l-1].type};break;case 67:this.$={text:s[l],type:"markdown"}}},"anonymous"),table:[{18:e,26:1,27:2,28:i,55:a,56:n,57:r},{1:[3]},{18:e,26:8,27:2,28:i,55:a,56:n,57:r},{18:e,26:9,27:2,28:i,55:a,56:n,57:r},t(l,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(h,c,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:u,10:x,12:g,13:f,14:p,15:y,18:T,25:m,35:q,37:_,39:A,41:b,42:k,48:S,50:F,51:P,52:C,53:v,54:L,60:I,61:E,63:D,64:z,65:K,66:U,67:w}),t(l,[2,34]),{27:46,55:a,56:n,57:r},t(h,[2,37]),t(h,c,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:d,5:u,10:x,12:g,13:f,14:p,15:y,18:T,25:m,35:q,37:_,39:A,41:b,42:k,48:S,50:F,51:P,52:C,53:v,54:L,60:I,61:E,63:D,64:z,65:K,66:U,67:w}),t(h,[2,39]),t(h,[2,40]),t(h,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(h,[2,45]),t(h,[2,46]),{18:[1,51]},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:52,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:53,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:54,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:55,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:56,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,10:x,12:g,13:f,14:p,15:y,43:57,58:31,60:I,61:E,63:D,64:z,65:K,66:U,67:w},{4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,44:[1,58],47:[1,59],58:61,59:60,63:D,64:z,65:K,66:U,67:w},t(B,[2,64]),t(B,[2,66]),t(B,[2,67]),t(B,[2,70]),t(B,[2,71]),t(B,[2,72]),t(B,[2,73]),t(B,[2,74]),t(B,[2,75]),t(B,[2,76]),t(B,[2,77]),t(B,[2,78]),t(B,[2,79]),t(B,[2,80]),t(B,[2,81]),t(l,[2,35]),t(h,[2,38]),t(h,[2,42]),t(h,[2,43]),t(h,[2,44]),{3:65,4:$,5:W,6:O,7:Q,8:X,9:M,10:Y,11:H,12:j,13:G,14:Z,15:V,21:64},t(h,[2,53],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,49:[1,78],63:D,64:z,65:K,66:U,67:w}),t(h,[2,56],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,49:[1,79],63:D,64:z,65:K,66:U,67:w}),t(h,[2,57],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),t(h,[2,58],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),t(h,[2,59],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),t(h,[2,60],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),{45:[1,80]},{44:[1,81]},t(B,[2,65]),t(B,[2,82]),t(B,[2,83]),t(B,[2,84]),{3:83,4:$,5:W,6:O,7:Q,8:X,9:M,10:Y,11:H,12:j,13:G,14:Z,15:V,18:[1,82]},t(J,[2,23]),t(J,[2,1]),t(J,[2,2]),t(J,[2,3]),t(J,[2,4]),t(J,[2,5]),t(J,[2,6]),t(J,[2,7]),t(J,[2,8]),t(J,[2,9]),t(J,[2,10]),t(J,[2,11]),t(J,[2,12]),t(h,[2,52],{58:31,43:84,4:d,5:u,10:x,12:g,13:f,14:p,15:y,60:I,61:E,63:D,64:z,65:K,66:U,67:w}),t(h,[2,55],{58:31,43:85,4:d,5:u,10:x,12:g,13:f,14:p,15:y,60:I,61:E,63:D,64:z,65:K,66:U,67:w}),{46:[1,86]},{45:[1,87]},{4:tt,5:te,6:ti,8:ta,11:tn,13:ts,16:90,17:tr,18:tl,19:to,20:th,22:89,23:88},t(J,[2,24]),t(h,[2,51],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),t(h,[2,54],{59:60,58:61,4:d,5:u,8:N,10:x,12:g,13:f,14:p,15:y,18:R,63:D,64:z,65:K,66:U,67:w}),t(h,[2,47],{22:89,16:90,23:101,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th}),{46:[1,102]},t(h,[2,29],{10:tc}),t(td,[2,27],{16:104,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th}),t(tu,[2,25]),t(tu,[2,13]),t(tu,[2,14]),t(tu,[2,15]),t(tu,[2,16]),t(tu,[2,17]),t(tu,[2,18]),t(tu,[2,19]),t(tu,[2,20]),t(tu,[2,21]),t(tu,[2,22]),t(h,[2,49],{10:tc}),t(h,[2,48],{22:89,16:90,23:105,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th}),{4:tt,5:te,6:ti,8:ta,11:tn,13:ts,16:90,17:tr,18:tl,19:to,20:th,22:106},t(tu,[2,26]),t(h,[2,50],{10:tc}),t(td,[2,28],{16:104,4:tt,5:te,6:ti,8:ta,11:tn,13:ts,17:tr,18:tl,19:to,20:th})],defaultActions:{8:[2,30],9:[2,31]},parseError:(0,s.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,s.K)(function(t){var e=this,i=[0],a=[],n=[null],r=[],l=this.table,o="",h=0,c=0,d=0,u=r.slice.call(arguments,1),x=Object.create(this.lexer),g={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g[f]=this.yy[f]);x.setInput(t,g),g.lexer=x,g.parser=this,void 0===x.yylloc&&(x.yylloc={});var p=x.yylloc;r.push(p);var y=x.options&&x.options.ranges;function T(){var t;return"number"!=typeof(t=a.pop()||x.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.parseError?this.parseError=g.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.K)(function(t){i.length=i.length-2*t,n.length=n.length-t,r.length=r.length-t},"popStack"),(0,s.K)(T,"lex");for(var m,q,_,A,b,k,S,F,P,C={};;){if(_=i[i.length-1],this.defaultActions[_]?A=this.defaultActions[_]:(null==m&&(m=T()),A=l[_]&&l[_][m]),void 0===A||!A.length||!A[0]){var v="";for(k in P=[],l[_])this.terminals_[k]&&k>2&&P.push("'"+this.terminals_[k]+"'");v=x.showPosition?"Parse error on line "+(h+1)+":\n"+x.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(v,{text:x.match,token:this.terminals_[m]||m,line:x.yylineno,loc:p,expected:P})}if(A[0]instanceof Array&&A.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+m);switch(A[0]){case 1:i.push(m),n.push(x.yytext),r.push(x.yylloc),i.push(A[1]),m=null,q?(m=q,q=null):(c=x.yyleng,o=x.yytext,h=x.yylineno,p=x.yylloc,d>0&&d--);break;case 2:if(S=this.productions_[A[1]][1],C.$=n[n.length-S],C._$={first_line:r[r.length-(S||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(S||1)].first_column,last_column:r[r.length-1].last_column},y&&(C._$.range=[r[r.length-(S||1)].range[0],r[r.length-1].range[1]]),void 0!==(b=this.performAction.apply(C,[o,c,h,g,A[1],n,r].concat(u))))return b;S&&(i=i.slice(0,-1*S*2),n=n.slice(0,-1*S),r=r.slice(0,-1*S)),i.push(this.productions_[A[1]][0]),n.push(C.$),r.push(C._$),F=l[i[i.length-2]][i[i.length-1]],i.push(F);break;case 3:return!0}}return!0},"parse")};function tg(){this.yy={}}return tx.lexer={EOF:1,parseError:(0,s.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,s.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,s.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,s.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===a.length?this.yylloc.first_column:0)+a[a.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,s.K)(function(){return this._more=!0,this},"more"),reject:(0,s.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,s.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,s.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,s.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,s.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,s.K)(function(t,e){var i,a,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},"test_match"),next:(0,s.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,a,n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,a=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,s.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,s.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,s.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,s.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,s.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,s.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,s.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.K)(function(t,e,i,a){switch(i){case 0:case 1:case 3:break;case 2:return 55;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 23:case 25:case 31:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 24:this.begin("string");break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 15;case 37:return 11;case 38:return 64;case 39:return 10;case 40:case 41:return 65;case 42:return 14;case 43:return 13;case 44:return 67;case 45:return 66;case 46:return 12;case 47:return 8;case 48:return 5;case 49:return 18;case 50:return 56;case 51:return 63;case 52:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?:[^\x00-\x7F]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}},(0,s.K)(tg,"Parser"),tg.prototype=tx,tx.Parser=tg,new tg}();l.parser=l;var o=(0,a.P$)(),h=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{(0,s.K)(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:a.UI.quadrantChart?.chartWidth||500,chartWidth:a.UI.quadrantChart?.chartHeight||500,titlePadding:a.UI.quadrantChart?.titlePadding||10,titleFontSize:a.UI.quadrantChart?.titleFontSize||20,quadrantPadding:a.UI.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:a.UI.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:a.UI.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:a.UI.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:a.UI.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:a.UI.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:a.UI.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:a.UI.quadrantChart?.pointTextPadding||5,pointLabelFontSize:a.UI.quadrantChart?.pointLabelFontSize||12,pointRadius:a.UI.quadrantChart?.pointRadius||5,xAxisPosition:a.UI.quadrantChart?.xAxisPosition||"top",yAxisPosition:a.UI.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:a.UI.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:a.UI.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:o.quadrant1Fill,quadrant2Fill:o.quadrant2Fill,quadrant3Fill:o.quadrant3Fill,quadrant4Fill:o.quadrant4Fill,quadrant1TextFill:o.quadrant1TextFill,quadrant2TextFill:o.quadrant2TextFill,quadrant3TextFill:o.quadrant3TextFill,quadrant4TextFill:o.quadrant4TextFill,quadrantPointFill:o.quadrantPointFill,quadrantPointTextFill:o.quadrantPointTextFill,quadrantXAxisTextFill:o.quadrantXAxisTextFill,quadrantYAxisTextFill:o.quadrantYAxisTextFill,quadrantTitleFill:o.quadrantTitleFill,quadrantInternalBorderStrokeFill:o.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:o.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,n.R.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}addClass(t,e){this.classes.set(t,e)}setConfig(t){n.R.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){n.R.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,e,i,a){let n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,s={top:"top"===t&&e?n:0,bottom:"bottom"===t&&e?n:0},r=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,l={left:"left"===this.config.yAxisPosition&&i?r:0,right:"right"===this.config.yAxisPosition&&i?r:0},o=this.config.titleFontSize+2*this.config.titlePadding,h={top:a?o:0},c=this.config.quadrantPadding+l.left,d=this.config.quadrantPadding+s.top+h.top,u=this.config.chartWidth-2*this.config.quadrantPadding-l.left-l.right,x=this.config.chartHeight-2*this.config.quadrantPadding-s.top-s.bottom-h.top;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:c,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:x,quadrantHalfHeight:x/2}}}getAxisLabels(t,e,i,a){let{quadrantSpace:n,titleSpace:s}=a,{quadrantHalfHeight:r,quadrantHeight:l,quadrantLeft:o,quadrantHalfWidth:h,quadrantTop:c,quadrantWidth:d}=n,u=!!this.data.xAxisRightText,x=!!this.data.yAxisTopText,g=[];return this.data.xAxisLeftText&&e&&g.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&g.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+h+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&i&&g.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+l-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&i&&g.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+r-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),g}getQuadrants(t){let{quadrantSpace:e}=t,{quadrantHalfHeight:i,quadrantLeft:a,quadrantHalfWidth:n,quadrantTop:s}=e,r=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s,width:n,height:i,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:a,y:s,width:n,height:i,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:a,y:s+i,width:n,height:i,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:a+n,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant4Fill}];for(let t of r)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return r}getQuadrantPoints(t){let{quadrantSpace:e}=t,{quadrantHeight:i,quadrantLeft:a,quadrantTop:n,quadrantWidth:s}=e,l=(0,r.m4Y)().domain([0,1]).range([a,s+a]),o=(0,r.m4Y)().domain([0,1]).range([i+n,n]);return this.data.points.map(t=>{let e=this.classes.get(t.className);return e&&(t={...e,...t}),{x:l(t.x),y:o(t.y),fill:t.color??this.themeConfig.quadrantPointFill,radius:t.radius??this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:l(t.x),y:o(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:t.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:t.strokeWidth??"0px"}})}getBorders(t){let e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:i}=t,{quadrantHalfHeight:a,quadrantHeight:n,quadrantLeft:s,quadrantHalfWidth:r,quadrantTop:l,quadrantWidth:o}=i;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:l,x2:s+o+e,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+o,y1:l+e,x2:s+o,y2:l+n-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:l+n,x2:s+o+e,y2:l+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+e,x2:s,y2:l+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+e,x2:s+r,y2:l+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+e,y1:l+a,x2:s+o-e,y2:l+a}]}getTitle(t){if(t)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(){let t=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),e=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),i=this.config.showTitle&&!!this.data.titleText,a=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(a,t,e,i);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(a,t,e,n),borderLines:this.getBorders(n),title:this.getTitle(i)}}},c=class extends Error{static{(0,s.K)(this,"InvalidStyleError")}constructor(t,e,i){super(`value for ${t} ${e} is invalid, please use a valid ${i}`),this.name="InvalidStyleError"}};function d(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function u(t){return!/^\d+$/.test(t)}function x(t){return!/^\d+px$/.test(t)}function g(t){return(0,a.jZ)(t.trim(),(0,a.D7)())}(0,s.K)(d,"validateHexCode"),(0,s.K)(u,"validateNumber"),(0,s.K)(x,"validateSizeInPixels"),(0,s.K)(g,"textSanitizer");var f=new h;function p(t){f.setData({quadrant1Text:g(t.text)})}function y(t){f.setData({quadrant2Text:g(t.text)})}function T(t){f.setData({quadrant3Text:g(t.text)})}function m(t){f.setData({quadrant4Text:g(t.text)})}function q(t){f.setData({xAxisLeftText:g(t.text)})}function _(t){f.setData({xAxisRightText:g(t.text)})}function A(t){f.setData({yAxisTopText:g(t.text)})}function b(t){f.setData({yAxisBottomText:g(t.text)})}function k(t){let e={};for(let i of t){let[t,a]=i.trim().split(/\s*:\s*/);if("radius"===t){if(u(a))throw new c(t,a,"number");e.radius=parseInt(a)}else if("color"===t){if(d(a))throw new c(t,a,"hex code");e.color=a}else if("stroke-color"===t){if(d(a))throw new c(t,a,"hex code");e.strokeColor=a}else if("stroke-width"===t){if(x(a))throw new c(t,a,"number of pixels (eg. 10px)");e.strokeWidth=a}else throw Error(`style named ${t} is not supported.`)}return e}function S(t,e,i,a,n){let s=k(n);f.addPoints([{x:i,y:a,text:g(t.text),className:e,...s}])}function F(t,e){f.addClass(t,k(e))}function P(t){f.setConfig({chartWidth:t})}function C(t){f.setConfig({chartHeight:t})}function v(){let{themeVariables:t,quadrantChart:e}=(0,a.D7)();return e&&f.setConfig(e),f.setThemeConfig({quadrant1Fill:t.quadrant1Fill,quadrant2Fill:t.quadrant2Fill,quadrant3Fill:t.quadrant3Fill,quadrant4Fill:t.quadrant4Fill,quadrant1TextFill:t.quadrant1TextFill,quadrant2TextFill:t.quadrant2TextFill,quadrant3TextFill:t.quadrant3TextFill,quadrant4TextFill:t.quadrant4TextFill,quadrantPointFill:t.quadrantPointFill,quadrantPointTextFill:t.quadrantPointTextFill,quadrantXAxisTextFill:t.quadrantXAxisTextFill,quadrantYAxisTextFill:t.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:t.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:t.quadrantInternalBorderStrokeFill,quadrantTitleFill:t.quadrantTitleFill}),f.setData({titleText:(0,a.ab)()}),f.build()}(0,s.K)(p,"setQuadrant1Text"),(0,s.K)(y,"setQuadrant2Text"),(0,s.K)(T,"setQuadrant3Text"),(0,s.K)(m,"setQuadrant4Text"),(0,s.K)(q,"setXAxisLeftText"),(0,s.K)(_,"setXAxisRightText"),(0,s.K)(A,"setYAxisTopText"),(0,s.K)(b,"setYAxisBottomText"),(0,s.K)(k,"parseStyles"),(0,s.K)(S,"addPoint"),(0,s.K)(F,"addClass"),(0,s.K)(P,"setWidth"),(0,s.K)(C,"setHeight"),(0,s.K)(v,"getQuadrantData");var L={setWidth:P,setHeight:C,setQuadrant1Text:p,setQuadrant2Text:y,setQuadrant3Text:T,setQuadrant4Text:m,setXAxisLeftText:q,setXAxisRightText:_,setYAxisTopText:A,setYAxisBottomText:b,parseStyles:k,addPoint:S,addClass:F,getQuadrantData:v,clear:(0,s.K)(function(){f.clear(),(0,a.IU)()},"clear"),setAccTitle:a.SV,getAccTitle:a.iN,setDiagramTitle:a.ke,getDiagramTitle:a.ab,getAccDescription:a.m7,setAccDescription:a.EI},I={parser:l,db:L,renderer:{draw:(0,s.K)((t,e,i,l)=>{let o;function h(t){return"top"===t?"hanging":"middle"}function c(t){return"left"===t?"start":"middle"}function d(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,s.K)(h,"getDominantBaseLine"),(0,s.K)(c,"getTextAnchor"),(0,s.K)(d,"getTransformation");let u=(0,a.D7)();n.R.debug("Rendering quadrant chart\n"+t);let x=u.securityLevel;"sandbox"===x&&(o=(0,r.Ltv)("#i"+e));let g=("sandbox"===x?(0,r.Ltv)(o.nodes()[0].contentDocument.body):(0,r.Ltv)("body")).select(`[id="${e}"]`),f=g.append("g").attr("class","main"),p=u.quadrantChart?.chartWidth??500,y=u.quadrantChart?.chartHeight??500;(0,a.a$)(g,y,p,u.quadrantChart?.useMaxWidth??!0),g.attr("viewBox","0 0 "+p+" "+y),l.db.setHeight(y),l.db.setWidth(p);let T=l.db.getQuadrantData(),m=f.append("g").attr("class","quadrants"),q=f.append("g").attr("class","border"),_=f.append("g").attr("class","data-points"),A=f.append("g").attr("class","labels"),b=f.append("g").attr("class","title");T.title&&b.append("text").attr("x",0).attr("y",0).attr("fill",T.title.fill).attr("font-size",T.title.fontSize).attr("dominant-baseline",h(T.title.horizontalPos)).attr("text-anchor",c(T.title.verticalPos)).attr("transform",d(T.title)).text(T.title.text),T.borderLines&&q.selectAll("line").data(T.borderLines).enter().append("line").attr("x1",t=>t.x1).attr("y1",t=>t.y1).attr("x2",t=>t.x2).attr("y2",t=>t.y2).style("stroke",t=>t.strokeFill).style("stroke-width",t=>t.strokeWidth);let k=m.selectAll("g.quadrant").data(T.quadrants).enter().append("g").attr("class","quadrant");k.append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill),k.append("text").attr("x",0).attr("y",0).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>h(t.text.horizontalPos)).attr("text-anchor",t=>c(t.text.verticalPos)).attr("transform",t=>d(t.text)).text(t=>t.text.text),A.selectAll("g.label").data(T.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(t=>t.text).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>h(t.horizontalPos)).attr("text-anchor",t=>c(t.verticalPos)).attr("transform",t=>d(t));let S=_.selectAll("g.data-point").data(T.points).enter().append("g").attr("class","data-point");S.append("circle").attr("cx",t=>t.x).attr("cy",t=>t.y).attr("r",t=>t.radius).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeColor).attr("stroke-width",t=>t.strokeWidth),S.append("text").attr("x",0).attr("y",0).text(t=>t.text.text).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>h(t.text.horizontalPos)).attr("text-anchor",t=>c(t.text.verticalPos)).attr("transform",t=>d(t.text))},"draw")},styles:(0,s.K)(()=>"","styles")}}}]); \ No newline at end of file diff --git a/en/assets/js/9956.43a95bde.js b/en/assets/js/9956.43a95bde.js new file mode 100644 index 0000000..df9ba7c --- /dev/null +++ b/en/assets/js/9956.43a95bde.js @@ -0,0 +1,309 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9956"],{5869(e,t,s){s.d(t,{P:()=>r});var i=s(1177),n=s(1293),a=s(6827),r=(0,a.K)((e,t,s,a)=>{e.attr("class",s);let{width:r,height:h,x:c,y:d}=o(e,t);(0,i.a$)(e,h,r,a);let u=l(c,d,r,h,t);e.attr("viewBox",u),n.R.debug(`viewBox configured: ${u} with padding: ${t}`)},"setupViewPortForSVG"),o=(0,a.K)((e,t)=>{let s=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*t,height:s.height+2*t,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,a.K)((e,t,s,i,n)=>`${e-n} ${t-n} ${s} ${i}`,"createViewBox")},6755(e,t,s){s.d(t,{A:()=>a});var i=s(6827),n=s(7829),a=(0,i.K)((e,t)=>{let s;return"sandbox"===t&&(s=(0,n.Ltv)("#i"+e)),("sandbox"===t?(0,n.Ltv)(s.nodes()[0].contentDocument.body):(0,n.Ltv)("body")).select(`[id="${e}"]`)},"getDiagramElement")},463(e,t,s){s.d(t,{diagram:()=>aU});var i,n,a,r,o,l,h,c,d,u=s(6755),p=s(5869),f=s(2391);s(3247),s(5616),s(6163),s(7827),s(3002),s(739);var m=s(6320);s(2217);var T=s(2941),A=s(6348),E=s(1177),g=s(1293),y=s(6827),L=s(8058),S=s(2888),R=s(6401),N=s(4722),O=s(1349),k=s(9183);let I=function(e){return(0,k.A)(e,4)};function C(e){function t(){}t.prototype=e;let s=new t;function i(){return typeof s.bar}return i(),i(),e}let b=function(e,t,s){var i=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(s=s>n?n:s)<0&&(s+=n),n=t>s?0:s-t>>>0,t>>>=0;for(var a=Array(n);++i<n;)a[i]=e[i+t];return a};var v=s(8593);let _=function(e,t,s){var i=null==e?0:e.length;return i?b(e,(t=s||void 0===t?1:(0,v.A)(t))<0?0:t,i):[]};var x=s(9703),U=s(2851),M=s(2031),w=s(3767),P=s(8446),D=s(7271),$=s(7422),K=Object.prototype.hasOwnProperty,F=(0,w.A)(function(e,t){if((0,D.A)(t)||(0,P.A)(t))return void(0,M.A)(t,(0,$.A)(t),e);for(var s in t)K.call(t,s)&&(0,U.A)(e,s,t[s])}),B=s(5572),G=s(1990),W=s(8986),j=s(3973);let z=function(e,t){if(null==e)return{};var s=(0,B.A)((0,j.A)(e),function(e){return[e]});return t=(0,G.A)(t),(0,W.A)(e,s,function(e,s){return t(e,s[0])})};var V=s(8348),H=s(3098),Y=s(2789),X=s(4841),J=X.A&&X.A.isRegExp,q=J?(0,Y.A)(J):function(e){return(0,H.A)(e)&&"[object RegExp]"==(0,V.A)(e)};class Z{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),(0,L.A)(this.definition,t=>{t.accept(e)})}}class Q extends Z{constructor(e){super([]),this.idx=1,F(this,z(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class ee extends Z{constructor(e){super(e.definition),this.orgText="",F(this,z(e,e=>void 0!==e))}}class et extends Z{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,F(this,z(e,e=>void 0!==e))}}class es extends Z{constructor(e){super(e.definition),this.idx=1,F(this,z(e,e=>void 0!==e))}}class ei extends Z{constructor(e){super(e.definition),this.idx=1,F(this,z(e,e=>void 0!==e))}}class en extends Z{constructor(e){super(e.definition),this.idx=1,F(this,z(e,e=>void 0!==e))}}class ea extends Z{constructor(e){super(e.definition),this.idx=1,F(this,z(e,e=>void 0!==e))}}class er extends Z{constructor(e){super(e.definition),this.idx=1,F(this,z(e,e=>void 0!==e))}}class eo extends Z{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,F(this,z(e,e=>void 0!==e))}}class el{constructor(e){this.idx=1,F(this,z(e,e=>void 0!==e))}accept(e){e.visit(this)}}class eh{visit(e){switch(e.constructor){case Q:return this.visitNonTerminal(e);case et:return this.visitAlternative(e);case es:return this.visitOption(e);case ei:return this.visitRepetitionMandatory(e);case en:return this.visitRepetitionMandatoryWithSeparator(e);case er:return this.visitRepetitionWithSeparator(e);case ea:return this.visitRepetition(e);case eo:return this.visitAlternation(e);case el:return this.visitTerminal(e);case ee:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}var ec=s(3736),ed=s(5045);let eu=function(e,t){var s;return(0,ed.A)(e,function(e,i,n){return!(s=t(e,i,n))}),!!s};var ep=s(2049),ef=s(6832);let em=function(e,t,s){var i=(0,ep.A)(e)?ec.A:eu;return s&&(0,ef.A)(e,t,s)&&(t=void 0),i(e,(0,G.A)(t,3))};var eT=s(4428),eA=Math.max;let eE=function(e,t,s,i){e=(0,P.A)(e)?e:(0,S.A)(e),s=s&&!i?(0,v.A)(s):0;var n=e.length;return s<0&&(s=eA(n+s,0)),(0,x.A)(e)?s<=n&&e.indexOf(t,s)>-1:!!n&&(0,eT.A)(e,t,s)>-1},eg=function(e,t){for(var s=-1,i=null==e?0:e.length;++s<i;)if(!t(e[s],s,e))return!1;return!0},ey=function(e,t){var s=!0;return(0,ed.A)(e,function(e,i,n){return s=!!t(e,i,n)}),s},eL=function(e,t,s){var i=(0,ep.A)(e)?eg:ey;return s&&(0,ef.A)(e,t,s)&&(t=void 0),i(e,(0,G.A)(t,3))};function eS(e,t=[]){return e instanceof es||e instanceof ea||e instanceof er||(e instanceof eo?em(e.definition,e=>eS(e,t)):!(e instanceof Q&&eE(t,e))&&e instanceof Z&&(e instanceof Q&&t.push(e),eL(e.definition,e=>eS(e,t))))}function eR(e){if(e instanceof Q)return"SUBRULE";if(e instanceof es)return"OPTION";if(e instanceof eo)return"OR";if(e instanceof ei)return"AT_LEAST_ONE";if(e instanceof en)return"AT_LEAST_ONE_SEP";else if(e instanceof er)return"MANY_SEP";else if(e instanceof ea)return"MANY";else if(e instanceof el)return"CONSUME";else throw Error("non exhaustive match")}class eN{walk(e,t=[]){(0,L.A)(e.definition,(s,i)=>{let n=_(e.definition,i+1);if(s instanceof Q)this.walkProdRef(s,n,t);else if(s instanceof el)this.walkTerminal(s,n,t);else if(s instanceof et)this.walkFlat(s,n,t);else if(s instanceof es)this.walkOption(s,n,t);else if(s instanceof ei)this.walkAtLeastOne(s,n,t);else if(s instanceof en)this.walkAtLeastOneSep(s,n,t);else if(s instanceof er)this.walkManySep(s,n,t);else if(s instanceof ea)this.walkMany(s,n,t);else if(s instanceof eo)this.walkOr(s,n,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,s){}walkProdRef(e,t,s){}walkFlat(e,t,s){let i=t.concat(s);this.walk(e,i)}walkOption(e,t,s){let i=t.concat(s);this.walk(e,i)}walkAtLeastOne(e,t,s){let i=[new es({definition:e.definition})].concat(t,s);this.walk(e,i)}walkAtLeastOneSep(e,t,s){let i=eO(e,t,s);this.walk(e,i)}walkMany(e,t,s){let i=[new es({definition:e.definition})].concat(t,s);this.walk(e,i)}walkManySep(e,t,s){let i=eO(e,t,s);this.walk(e,i)}walkOr(e,t,s){let i=t.concat(s);(0,L.A)(e.definition,e=>{let t=new et({definition:[e]});this.walk(t,i)})}}function eO(e,t,s){return[new es({definition:[new el({terminalType:e.separator})].concat(e.definition)})].concat(t,s)}var ek=s(449);let eI=function(e){return e&&e.length?(0,ek.A)(e):[]};var eC=s(4098);function eb(e){if(e instanceof Q)return eb(e.referencedRule);if(e instanceof el)return[e.terminalType];if(e instanceof et||e instanceof es||e instanceof ea||e instanceof ei||e instanceof en||e instanceof er||e instanceof el||e instanceof ee)return function(e){let t,s=[],i=e.definition,n=0,a=i.length>n,r=!0;for(;a&&r;)r=eS(t=i[n]),s=s.concat(eb(t)),n+=1,a=i.length>n;return eI(s)}(e);if(e instanceof eo){var t;let s;return t=e,s=(0,N.A)(t.definition,e=>eb(e)),eI((0,eC.A)(s))}throw Error("non exhaustive match")}class ev extends eN{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,s){}walkProdRef(e,t,s){var i,n;let a=(i=e.referencedRule,n=e.idx,i.name+n+"_~IN~_"+this.topProd.name),r=eb(new et({definition:t.concat(s)}));this.follows[a]=r}}var e_=s(9592);function ex(e){return e.charCodeAt(0)}function eU(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function eM(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function ew(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function eP(){throw Error("Internal Error - Should never get here!")}function eD(e){return"Character"===e.type}let e$=[];for(let e=ex("0");e<=ex("9");e++)e$.push(e);let eK=[ex("_")].concat(e$);for(let e=ex("a");e<=ex("z");e++)eK.push(e);for(let e=ex("A");e<=ex("Z");e++)eK.push(e);let eF=[ex(" "),ex("\f"),ex("\n"),ex("\r"),ex(" "),ex("\v"),ex(" "),ex("\xa0"),ex("\u1680"),ex("\u2000"),ex("\u2001"),ex("\u2002"),ex("\u2003"),ex("\u2004"),ex("\u2005"),ex("\u2006"),ex("\u2007"),ex("\u2008"),ex("\u2009"),ex("\u200A"),ex("\u2028"),ex("\u2029"),ex("\u202F"),ex("\u205F"),ex("\u3000"),ex("\uFEFF")],eB=/[0-9a-fA-F]/,eG=/[0-9]/,eW=/[1-9]/;class ej{visitChildren(e){for(let t in e){let s=e[t];e.hasOwnProperty(t)&&(void 0!==s.type?this.visit(s):Array.isArray(s)&&s.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}var ez=s(3068),eV=s(2634),eH=s(1790);let eY=function(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}},eX=function(e,t){return((0,ep.A)(e)?eV.A:eH.A)(e,eY((0,G.A)(t,3)))};var eJ=s(9610),eq=Math.max;let eZ=function(e,t,s){var i=null==e?0:e.length;if(!i)return -1;var n=null==s?0:(0,v.A)(s);return n<0&&(n=eq(i+n,0)),(0,eT.A)(e,t,n)};var eQ=s(4039),e0=s(4092),e1=s(674),e2=s(5530),e3=s(7809),e6=s(4099);let e5=function(e,t,s,i){var n=-1,a=e2.A,r=!0,o=e.length,l=[],h=t.length;if(!o)return l;s&&(t=(0,B.A)(t,(0,Y.A)(s))),i?(a=e3.A,r=!1):t.length>=200&&(a=e6.A,r=!1,t=new e1.A(t));e:for(;++n<o;){var c=e[n],d=null==s?c:s(c);if(c=i||0!==c?c:0,r&&d==d){for(var u=h;u--;)if(t[u]===d)continue e;l.push(c)}else a(t,d,i)||l.push(c)}return l};var e9=s(6335),e4=s(4326),e8=s(3533),e7=(0,e4.A)(function(e,t){return(0,e8.A)(e)?e5(e,(0,e9.A)(t,1,e8.A,!0)):[]});let te=function(e){for(var t=-1,s=null==e?0:e.length,i=0,n=[];++t<s;){var a=e[t];a&&(n[i++]=a)}return n},tt=function(e){return e&&e.length?e[0]:void 0};var ts=s(77);function ti(e){console&&console.error&&console.error(`Error: ${e}`)}function tn(e){console&&console.warn&&console.warn(`Warning: ${e}`)}let ta={},tr=new class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let s={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":eM(s,"global");break;case"i":eM(s,"ignoreCase");break;case"m":eM(s,"multiLine");break;case"u":eM(s,"unicode");break;case"y":eM(s,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:s,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}}ew(t);let s=this.disjunction();return this.consumeChar(")"),{type:t,value:s,loc:this.loc(e)}}return eP()}quantifier(e=!1){let t,s=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":t=this.isDigit()?{atLeast:i,atMost:this.integerIncludingZero()}:{atLeast:i,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;ew(t)}if((!0!==e||void 0!==t)&&ew(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(s),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),ew(e))?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):eP()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[ex("\n"),ex("\r"),ex("\u2028"),ex("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=e$;break;case"D":e=e$,t=!0;break;case"s":e=eF;break;case"S":e=eF,t=!0;break;case"w":e=eK;break;case"W":e=eK,t=!0}return ew(e)?{type:"Set",value:e,complement:t}:eP()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=ex("\f");break;case"n":e=ex("\n");break;case"r":e=ex("\r");break;case"t":e=ex(" ");break;case"v":e=ex("\v")}return ew(e)?{type:"Character",value:e}:eP()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:ex("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:ex(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:ex(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,eD(t)&&this.isRangeDash()){this.consumeChar("-");let s=this.classAtom();if(s.type,eD(s)){if(s.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:s.value})}else eU(t.value,e),e.push(ex("-")),eU(s.value,e)}else eU(t.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:ex("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),"?"===this.peekChar(0)?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let t=this.disjunction();this.consumeChar(")");let s={type:"Group",capturing:e,value:t};return e&&(s.idx=this.groupIdx),s}positiveInteger(){let e=this.popChar();if(!1===eW.test(e))throw Error("Expecting a positive integer");for(;eG.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===eG.test(e))throw Error("Expecting an integer");for(;eG.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:ex(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return eG.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2)||"<"===this.peekChar(2)&&("="===this.peekChar(3)||"!"===this.peekChar(3)));default:return!1}}isQuantifier(){let e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let s=0;s<e;s++){let e=this.popChar();if(!1===eB.test(e))throw Error("Expecting a HexDecimal digits");t+=e}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};function to(e){let t=e.toString();if(ta.hasOwnProperty(t))return ta[t];{let e=tr.pattern(t);return ta[t]=e,e}}let tl="Complement Sets are not supported for first char optimization",th='Unable to use "first char" lexer optimizations:\n';function tc(e,t,s){let i=tI(e);t[i]=i,!0===s&&function(e,t){let s=String.fromCharCode(e),i=s.toUpperCase();if(i!==s){let e=tI(i.charCodeAt(0));t[e]=e}else{let e=s.toLowerCase();if(e!==s){let s=tI(e.charCodeAt(0));t[s]=s}}}(e,t)}function td(e,t){return(0,ts.A)(e.value,e=>"number"==typeof e?eE(t,e):void 0!==(0,ts.A)(t,t=>e.from<=t&&t<=e.to))}class tu extends ej{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){eE(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===td(e,this.targetCharCodes)&&(this.found=!0):void 0!==td(e,this.targetCharCodes)&&(this.found=!0)}}function tp(e,t){if(!(t instanceof RegExp))return void 0!==(0,ts.A)(t,t=>eE(e,t.charCodeAt(0)));{let s=to(t),i=new tu(e);return i.visit(s),i.found}}let tf="PATTERN",tm="defaultMode",tT="modes",tA=/[^\\][$]/,tE=/[^\\[][\^]|^\^/;function tg(e){let t=e.ignoreCase?"iy":"y";return RegExp(`${e.source}`,t)}function ty(e){let t=e.PATTERN;if(q(t))return!1;if((0,eJ.A)(t))return!0;if((0,O.A)(t,"exec"))return!0;if((0,x.A)(t))return!1;throw Error("non exhaustive match")}function tL(e){return!!(0,x.A)(e)&&1===e.length&&e.charCodeAt(0)}let tS={test:function(e){let t=e.length;for(let s=this.lastIndex;s<t;s++){let t=e.charCodeAt(s);if(10===t)return this.lastIndex=s+1,!0;if(13===t)return 10===e.charCodeAt(s+1)?this.lastIndex=s+2:this.lastIndex=s+1,!0}return!1},lastIndex:0};function tR(e,t){if((0,O.A)(e,"LINE_BREAKS"))return!1;if(q(e.PATTERN)){try{tp(t,e.PATTERN)}catch(e){return{issue:l.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if((0,x.A)(e.PATTERN))return!1;if(ty(e))return{issue:l.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function tN(e){return(0,N.A)(e,e=>(0,x.A)(e)?e.charCodeAt(0):e)}function tO(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}let tk=[];function tI(e){return e<256?e:tk[e]}var tC=s(2302),tb=s(9008),tv=s(6666);function t_(e){let t=new Date().getTime(),s=e();return{time:new Date().getTime()-t,value:s}}function tx(e,t){let s=e.tokenTypeIdx;return s===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[s]}function tU(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}let tM=1,tw={};function tP(e){var t,s,i;let n=function(e){let t=I(e),s=e,i=!0;for(;i;){let e=e7(s=te((0,eC.A)((0,N.A)(s,e=>e.CATEGORIES))),t);t=t.concat(e),(0,R.A)(e)?i=!1:s=e}return t}(e);t=n,(0,L.A)(t,e=>{var t,s;tD(e)||(tw[tM]=e,e.tokenTypeIdx=tM++),t$(e)&&!(0,ep.A)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),t$(e)||(e.CATEGORIES=[]),t=e,(0,O.A)(t,"categoryMatches")||(e.categoryMatches=[]),s=e,(0,O.A)(s,"categoryMatchesMap")||(e.categoryMatchesMap={})}),s=n,(0,L.A)(s,e=>{!function e(t,s){(0,L.A)(t,e=>{s.categoryMatchesMap[e.tokenTypeIdx]=!0}),(0,L.A)(s.CATEGORIES,i=>{let n=t.concat(s);eE(n,i)||e(n,i)})}([],e)}),i=n,(0,L.A)(i,e=>{e.categoryMatches=[],(0,L.A)(e.categoryMatchesMap,(t,s)=>{e.categoryMatches.push(tw[s].tokenTypeIdx)})}),(0,L.A)(n,e=>{e.isParent=e.categoryMatches.length>0})}function tD(e){return(0,O.A)(e,"tokenTypeIdx")}function t$(e){return(0,O.A)(e,"CATEGORIES")}function tK(e){return(0,O.A)(e,"tokenTypeIdx")}(i=l||(l={}))[i.MISSING_PATTERN=0]="MISSING_PATTERN",i[i.INVALID_PATTERN=1]="INVALID_PATTERN",i[i.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",i[i.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",i[i.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",i[i.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",i[i.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",i[i.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",i[i.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",i[i.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",i[i.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",i[i.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",i[i.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",i[i.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",i[i.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",i[i.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",i[i.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",i[i.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";let tF={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:{buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,s,i,n,a)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${s} characters.`},traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(tF);class tB{constructor(e,t=tF){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let s=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${e}>`);let{time:i,value:n}=t_(t),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${s}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,n}},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=F({},tF,t);let s=this.config.traceInitPerf;!0===s?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof s&&(this.traceInitMaxIdent=s,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let s,i=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===tF.lineTerminatorsPattern)this.config.lineTerminatorsPattern=tS;else if(this.config.lineTerminatorCharacters===tF.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),(0,ep.A)(e)?s={modes:{defaultMode:I(e)},defaultMode:tm}:(i=!1,s=I(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{var e;let t;this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat((e=s,this.trackStartLines,this.config.lineTerminatorCharacters,t=[],(0,O.A)(e,tm)||t.push({message:"A MultiMode Lexer cannot be initialized without a <"+tm+"> property in its definition\n",type:l.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,O.A)(e,tT)||t.push({message:"A MultiMode Lexer cannot be initialized without a <"+tT+"> property in its definition\n",type:l.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,O.A)(e,tT)&&(0,O.A)(e,tm)&&!(0,O.A)(e.modes,e.defaultMode)&&t.push({message:`A MultiMode Lexer cannot be initialized with a ${tm}: <${e.defaultMode}>which does not exist +`,type:l.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,O.A)(e,tT)&&(0,L.A)(e.modes,(e,s)=>{(0,L.A)(e,(i,n)=>{if((0,e_.A)(i))t.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${n}> +`,type:l.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if((0,O.A)(i,"LONGER_ALT")){let n=(0,ep.A)(i.LONGER_ALT)?i.LONGER_ALT:[i.LONGER_ALT];(0,L.A)(n,n=>{(0,e_.A)(n)||eE(e,n)||t.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${n.name}> on token <${i.name}> outside of mode <${s}> +`,type:l.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),t))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{var e,t,i;let n,a,r,o;this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat((e=s,t=this.trackStartLines,i=this.config.lineTerminatorCharacters,n=[],a=!1,r=eX(te((0,eC.A)((0,S.A)(e.modes))),e=>e[tf]===tB.NA),o=tN(i),t&&(0,L.A)(r,e=>{let t=tR(e,o);if(!1!==t){let s={message:function(e,t){if(t.issue===l.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. + The problem is in the <${e.name}> Token Type + Root cause: ${t.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===l.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option. + The problem is in the <${e.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(e,t),type:t.issue,tokenType:e};n.push(s)}else(0,O.A)(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(a=!0):tp(o,e.PATTERN)&&(a=!0)}),t&&!a&&n.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:l.NO_LINE_BREAKS_FLAGS}),n))})),s.modes=s.modes?s.modes:{},(0,L.A)(s.modes,(e,t)=>{s.modes[t]=eX(e,e=>(0,e_.A)(e))});let n=(0,$.A)(s.modes);if((0,L.A)(s.modes,(e,s)=>{this.TRACE_INIT(`Mode: <${s}> processing`,()=>{if(this.modes.push(s),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{var t,s,i,a,r,o,h,c,d,u;let p,f,m,T,A,E,g,y,S,R,k,I,C,b,v,_,U;this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat((p=[],t=e,A=(0,e0.A)(t,e=>!(0,O.A)(e,tf)),f={errors:(0,N.A)(A,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:l.MISSING_PATTERN,tokenTypes:[e]})),valid:e7(t,A)},p=p.concat(f.errors),s=f.valid,E=(0,e0.A)(s,e=>{let t=e[tf];return!q(t)&&!(0,eJ.A)(t)&&!(0,O.A)(t,"exec")&&!(0,x.A)(t)}),T=(m={errors:(0,N.A)(E,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:l.INVALID_PATTERN,tokenTypes:[e]})),valid:e7(s,E)}).valid,p=(p=(p=(p=(p=p.concat(m.errors)).concat((i=T,g=[],y=(0,e0.A)(i,e=>q(e[tf])),(g=(g=(g=(g=g.concat(function(e){class t extends ej{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}let s=(0,e0.A)(e,e=>{let s=e.PATTERN;try{let e=to(s),i=new t;return i.visit(e),i.found}catch(e){return tA.test(s.source)}});return(0,N.A)(s,e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:l.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}(y))).concat(function(e){class t extends ej{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}let s=(0,e0.A)(e,e=>{let s=e.PATTERN;try{let e=to(s),i=new t;return i.visit(e),i.found}catch(e){return tE.test(s.source)}});return(0,N.A)(s,e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:l.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}(y))).concat((a=y,S=(0,e0.A)(a,e=>{let t=e[tf];return t instanceof RegExp&&(t.multiline||t.global)}),(0,N.A)(S,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:l.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))))).concat((r=y,R=[],k=te(k=(0,N.A)(r,e=>(0,eQ.A)(r,(t,s)=>(e.PATTERN.source!==s.PATTERN.source||eE(R,s)||s.PATTERN===tB.NA||(R.push(s),t.push(s)),t),[]))),I=(0,e0.A)(k,e=>e.length>1),(0,N.A)(I,e=>{let t=(0,N.A)(e,e=>e.name),s=tt(e).PATTERN;return{message:`The same RegExp pattern ->${s}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:l.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})))).concat((o=y,C=(0,e0.A)(o,e=>e.PATTERN.test("")),(0,N.A)(C,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:l.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))))))).concat((h=T,b=(0,e0.A)(h,e=>{if(!(0,O.A)(e,"GROUP"))return!1;let t=e.GROUP;return t!==tB.SKIPPED&&t!==tB.NA&&!(0,x.A)(t)}),(0,N.A)(b,e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:l.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))))).concat((c=T,d=n,v=(0,e0.A)(c,e=>void 0!==e.PUSH_MODE&&!eE(d,e.PUSH_MODE)),(0,N.A)(v,e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:l.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))))).concat((u=T,_=[],U=(0,eQ.A)(u,(e,t,s)=>{var i;let n=t.PATTERN;return n===tB.NA||((0,x.A)(n)?e.push({str:n,idx:s,tokenType:t}):q(n)&&(i=n,void 0===(0,ts.A)([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==i.source.indexOf(e)))&&e.push({str:n.source,idx:s,tokenType:t})),e},[]),(0,L.A)(u,(e,t)=>{(0,L.A)(U,({str:s,idx:i,tokenType:n})=>{if(t<i&&function(e,t){if(q(t)){var s;if(s=t,/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(s.source))return!1;let i=t.exec(e);return null!==i&&0===i.index}if((0,eJ.A)(t))return t(e,0,[],{});if((0,O.A)(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}(s,e.PATTERN)){let t=`Token: ->${n.name}<- can never be matched. +Because it appears AFTER the Token Type ->${e.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;_.push({message:t,type:l.UNREACHABLE_PATTERN,tokenTypes:[e,n]})}})}),_))))}),(0,R.A)(this.lexerDefinitionErrors)){let i;tP(e),this.TRACE_INIT("analyzeTokenTypes",()=>{var s;let n,a,r,o,l,h,c,d,u,p,f,m,T,A,E,g;s={lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT},(T=(s=(0,ez.A)(s,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:(e,t)=>t()})).tracer)("initCharCodeToOptimizedIndexMap",()=>{if((0,R.A)(tk)){tk=Array(65536);for(let e=0;e<65536;e++)tk[e]=e>255?255+~~(e/255):e}}),T("Reject Lexer.NA",()=>{n=eX(e,e=>e[tf]===tB.NA)}),A=!1,T("Transform Patterns",()=>{A=!1,a=(0,N.A)(n,e=>{let t=e[tf];if(q(t)){let e=t.source;return 1!==e.length||"^"===e||"$"===e||"."===e||t.ignoreCase?2!==e.length||"\\"!==e[0]||eE(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?tg(t):e[1]:e}if((0,eJ.A)(t))return A=!0,{exec:t};if("object"==typeof t)return A=!0,t;if("string"==typeof t)if(1===t.length)return t;else return tg(new RegExp(t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")));throw Error("non exhaustive match")})}),T("misc mapping",()=>{r=(0,N.A)(n,e=>e.tokenTypeIdx),o=(0,N.A)(n,e=>{let t=e.GROUP;if(t!==tB.SKIPPED){if((0,x.A)(t))return t;if((0,e_.A)(t))return!1;throw Error("non exhaustive match")}}),l=(0,N.A)(n,e=>{let t=e.LONGER_ALT;if(t)return(0,ep.A)(t)?(0,N.A)(t,e=>eZ(n,e)):[eZ(n,t)]}),h=(0,N.A)(n,e=>e.PUSH_MODE),c=(0,N.A)(n,e=>(0,O.A)(e,"POP_MODE"))}),T("Line Terminator Handling",()=>{let e=tN(s.lineTerminatorCharacters);d=(0,N.A)(n,e=>!1),"onlyOffset"!==s.positionTracking&&(d=(0,N.A)(n,t=>(0,O.A)(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===tR(t,e)&&tp(e,t.PATTERN)))}),T("Misc Mapping #2",()=>{u=(0,N.A)(n,ty),p=(0,N.A)(a,tL),f=(0,eQ.A)(n,(e,t)=>{let s=t.GROUP;return(0,x.A)(s)&&s!==tB.SKIPPED&&(e[s]=[]),e},{}),m=(0,N.A)(a,(e,t)=>({pattern:a[t],longerAlt:l[t],canLineTerminator:d[t],isCustom:u[t],short:p[t],group:o[t],push:h[t],pop:c[t],tokenTypeIdx:r[t],tokenType:n[t]}))}),E=!0,g=[],s.safeMode||T("First Char Optimization",()=>{g=(0,eQ.A)(n,(e,t,i)=>{if("string"==typeof t.PATTERN)tO(e,tI(t.PATTERN.charCodeAt(0)),m[i]);else if((0,ep.A)(t.START_CHARS_HINT)){let s;(0,L.A)(t.START_CHARS_HINT,t=>{let n=tI("string"==typeof t?t.charCodeAt(0):t);s!==n&&(s=n,tO(e,n,m[i]))})}else if(q(t.PATTERN))if(t.PATTERN.unicode)E=!1,s.ensureOptimizations&&ti(`${th} Unable to analyze < ${t.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let n=function(e,t=!1){try{let t=to(e);return function e(t,s,i){switch(t.type){case"Disjunction":for(let n=0;n<t.value.length;n++)e(t.value[n],s,i);break;case"Alternative":let n=t.value;for(let t=0;t<n.length;t++){let a=n[t];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}switch(a.type){case"Character":tc(a.value,s,i);break;case"Set":if(!0===a.complement)throw Error(tl);(0,L.A)(a.value,e=>{if("number"==typeof e)tc(e,s,i);else if(!0===i)for(let t=e.from;t<=e.to;t++)tc(t,s,i);else{for(let t=e.from;t<=e.to&&t<256;t++)tc(t,s,i);if(e.to>=256){let t=e.from>=256?e.from:256,i=e.to,n=tI(t),a=tI(i);for(let e=n;e<=a;e++)s[e]=e}}});break;case"Group":e(a.value,s,i);break;default:throw Error("Non Exhaustive Match")}let r=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===function e(t){let s=t.quantifier;return!!s&&0===s.atLeast||!!t.value&&((0,ep.A)(t.value)?eL(t.value,e):e(t.value))}(a)||"Group"!==a.type&&!1===r)break}break;default:throw Error("non exhaustive match!")}return(0,S.A)(s)}(t.value,{},t.flags.ignoreCase)}catch(s){if(s.message===tl)t&&tn(`${th} Unable to optimize: < ${e.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let s="";t&&(s="\n This will disable the lexer's first char optimizations.\n See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),ti(`${th} + Failed parsing: < ${e.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+s)}}return[]}(t.PATTERN,s.ensureOptimizations);(0,R.A)(n)&&(E=!1),(0,L.A)(n,t=>{tO(e,t,m[i])})}else s.ensureOptimizations&&ti(`${th} TokenType: <${t.name}> is using a custom token pattern without providing <start_chars_hint> parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),E=!1;return e},[])}),i={emptyGroups:f,patternIdxToConfig:m,charCodeToPatternIdxToConfig:g,hasCustom:A,canBeOptimized:E}}),this.patternIdxToConfig[s]=i.patternIdxToConfig,this.charCodeToPatternIdxToConfig[s]=i.charCodeToPatternIdxToConfig,this.emptyGroups=F({},this.emptyGroups,i.emptyGroups),this.hasCustom=i.hasCustom||this.hasCustom,this.canModeBeOptimized[s]=i.canBeOptimized}})}),this.defaultMode=s.defaultMode,!(0,R.A)(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+(0,N.A)(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));(0,L.A)(this.lexerDefinitionWarning,e=>{tn(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(i&&(this.handleModes=tC.A),!1===this.trackStartLines&&(this.computeNewColumn=tb.A),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=tC.A),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let e=(0,eQ.A)(this.canModeBeOptimized,(e,t,s)=>(!1===t&&e.push(s),e),[]);if(t.ensureOptimizations&&!(0,R.A)(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{ta={}}),this.TRACE_INIT("toFastProperties",()=>{C(this)})})}tokenize(e,t=this.defaultMode){if(!(0,R.A)(this.lexerDefinitionErrors))throw Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+(0,N.A)(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){var s;let i,n,a,r,o,l,h,c,d,u,p,f,m,T,A,E,g,y,S=e.length,R=0,N=0,O=Array(this.hasCustom?0:Math.floor(e.length/10)),k=[],I=this.trackStartLines?1:void 0,C=this.trackStartLines?1:void 0,b=(s=this.emptyGroups,g={},y=(0,$.A)(s),(0,L.A)(y,e=>{let t=s[e];if((0,ep.A)(t))g[e]=[];else throw Error("non exhaustive match")}),g),v=this.trackStartLines,_=this.config.lineTerminatorsPattern,x=0,U=[],M=[],w=[],P=[];Object.freeze(P);let D=!1,K=e=>{if(1===w.length&&void 0===e.tokenType.PUSH_MODE){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);k.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{w.pop();let e=(0,tv.A)(w);U=this.patternIdxToConfig[e],M=this.charCodeToPatternIdxToConfig[e],x=U.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;D=!!M&&!!t}};function F(e){w.push(e),M=this.charCodeToPatternIdxToConfig[e],x=(U=this.patternIdxToConfig[e]).length,x=U.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;D=!!M&&!!t}F.call(this,t);let B=this.config.recoveryEnabled;for(;R<S;){let t;l=null,d=-1;let s=e.charCodeAt(R);if(D){let e=M[tI(s)];t=void 0!==e?e:P}else t=U;let g=t.length;for(i=0;i<g;i++){let n=(E=t[i]).pattern;h=null;let u=E.short;if(!1!==u?s===u&&(d=1,l=n):!0===E.isCustom?null!==(A=n.exec(e,R,O,b))?(d=(l=A[0]).length,void 0!==A.payload&&(h=A.payload)):l=null:(n.lastIndex=R,d=this.matchLength(n,e,R)),-1!==d){if(void 0!==(o=E.longerAlt)){l=e.substring(R,R+d);let t=o.length;for(a=0;a<t;a++){let t=U[o[a]],s=t.pattern;if(c=null,!0===t.isCustom?null!==(A=s.exec(e,R,O,b))?(r=A[0],void 0!==A.payload&&(c=A.payload)):r=null:(s.lastIndex=R,r=this.match(s,e,R)),r&&r.length>l.length){l=r,d=r.length,h=c,E=t;break}}}break}}if(-1!==d){if(void 0!==(u=E.group)&&(l=null!==l?l:e.substring(R,R+d),p=E.tokenTypeIdx,f=this.createTokenInstance(l,R,p,E.tokenType,I,C,d),this.handlePayload(f,h),!1===u?N=this.addToken(O,N,f):b[u].push(f)),!0===v&&!0===E.canLineTerminator){let t,s,i=0;_.lastIndex=0;do l=null!==l?l:e.substring(R,R+d),!0===(t=_.test(l))&&(s=_.lastIndex-1,i++);while(!0===t)0!==i?(I+=i,C=d-s,this.updateTokenEndLineColumnLocation(f,u,s,i,I,C,d)):C=this.computeNewColumn(C,d)}else C=this.computeNewColumn(C,d);R+=d,this.handleModes(E,K,F,f)}else{let t=R,s=I,i=C,a=!1===B;for(;!1===a&&R<S;)for(R++,n=0;n<x;n++){let t=U[n],s=t.pattern,i=t.short;if(!1!==i?e.charCodeAt(R)===i&&(a=!0):!0===t.isCustom?a=null!==s.exec(e,R,O,b):(s.lastIndex=R,a=null!==s.exec(e)),!0===a)break}if(m=R-t,C=this.computeNewColumn(C,m),T=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(e,t,m,s,i,(0,tv.A)(w)),k.push({offset:t,line:s,column:i,length:m,message:T}),!1===B)break}}return this.hasCustom||(O.length=N),{tokens:O,groups:b,errors:k}}handleModes(e,t,s,i){if(!0===e.pop){let n=e.push;t(i),void 0!==n&&s.call(this,n)}else void 0!==e.push&&s.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,s,i,n,a,r){let o,l;void 0!==t&&(l=(o=s===r-1)?-1:0,(1!==i||!0!==o)&&(e.endLine=n+l,e.endColumn=a-1+-l))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,s,i){return{image:e,startOffset:t,tokenTypeIdx:s,tokenType:i}}createStartOnlyToken(e,t,s,i,n,a){return{image:e,startOffset:t,startLine:n,startColumn:a,tokenTypeIdx:s,tokenType:i}}createFullToken(e,t,s,i,n,a,r){return{image:e,startOffset:t,endOffset:t+r-1,startLine:n,endLine:n,startColumn:a,endColumn:a+r-1,tokenTypeIdx:s,tokenType:i}}addTokenUsingPush(e,t,s){return e.push(s),t}addTokenUsingMemberAccess(e,t,s){return e[t]=s,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}match(e,t,s){return!0===e.test(t)?t.substring(s,e.lastIndex):null}matchLength(e,t,s){return!0===e.test(t)?e.lastIndex-s:-1}}function tG(e){return tW(e)?e.LABEL:e.name}function tW(e){return(0,x.A)(e.LABEL)&&""!==e.LABEL}tB.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",tB.NA=/NOT_APPLICABLE/;let tj="categories",tz="label",tV="group",tH="push_mode",tY="pop_mode",tX="longer_alt",tJ="line_breaks",tq="start_chars_hint";function tZ(e){let t=e.pattern,s={};if(s.name=e.name,(0,e_.A)(t)||(s.PATTERN=t),(0,O.A)(e,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return(0,O.A)(e,tj)&&(s.CATEGORIES=e[tj]),tP([s]),(0,O.A)(e,tz)&&(s.LABEL=e[tz]),(0,O.A)(e,tV)&&(s.GROUP=e[tV]),(0,O.A)(e,tY)&&(s.POP_MODE=e[tY]),(0,O.A)(e,tH)&&(s.PUSH_MODE=e[tH]),(0,O.A)(e,tX)&&(s.LONGER_ALT=e[tX]),(0,O.A)(e,tJ)&&(s.LINE_BREAKS=e[tJ]),(0,O.A)(e,tq)&&(s.START_CHARS_HINT=e[tq]),s}let tQ=tZ({name:"EOF",pattern:tB.NA});function t0(e,t,s,i,n,a,r,o){return{image:t,startOffset:s,endOffset:i,startLine:n,endLine:a,startColumn:r,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}tP([tQ]);let t1={buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:i}){let n=tW(e)?`--> ${tG(e)} <--`:`token of type --> ${e.name} <--`;return`Expecting ${n} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:s,customUserDescription:i,ruleName:n}){let a="Expecting: ",r="\nbut found: '"+tt(t).image+"'";if(i)return a+i+r;{let t=(0,eQ.A)(e,(e,t)=>e.concat(t),[]),s=(0,N.A)(t,e=>`[${(0,N.A)(e,e=>tG(e)).join(", ")}]`),i=(0,N.A)(s,(e,t)=>` ${t+1}. ${e}`);return a+`one of these possible Token sequences: +${i.join("\n")}`+r}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:s,ruleName:i}){let n="Expecting: ",a="\nbut found: '"+tt(t).image+"'";if(s)return n+s+a;{let t=(0,N.A)(e,e=>`[${(0,N.A)(e,e=>tG(e)).join(",")}]`);return n+`expecting at least one iteration which starts with one of these possible Token sequences:: + <${t.join(" ,")}>`+a}}};Object.freeze(t1);let t2={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},t3={buildDuplicateFoundError(e,t){let s=e.name,i=tt(t),n=i.idx,a=eR(i),r=i instanceof el?i.terminalType.name:i instanceof Q?i.nonTerminalName:"",o=`->${a}${n>0?n:""}<- ${r?`with argument: ->${r}<-`:""} + appears more than once (${t.length} times) in the top level rule: ->${s}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return(o=o.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:e=>`Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){let t=(0,N.A)(e.prefixPath,e=>tG(e)).join(", "),s=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in <OR${s}> inside <${e.topLevelRule.name}> Rule, +<${t}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`},buildAlternationAmbiguityError(e){let t=0===e.alternation.idx?"":e.alternation.idx,s=0===e.prefixPath.length,i=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${e.topLevelRule.name}> Rule, +`;if(s)i+=`These alternatives are all empty (match no tokens), making them indistinguishable. +Only the last alternative may be empty. +`;else{let t=(0,N.A)(e.prefixPath,e=>tG(e)).join(", ");i+=`<${t}> may appears as a prefix path in all these alternatives. +`}return i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`},buildEmptyRepetitionError(e){let t=eR(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives: +<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. + has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){let t=e.topLevelRule.name,s=(0,N.A)(e.leftRecursionPath,e=>e.name),i=`${t} --> ${s.concat([t]).join(" --\x3e ")}`;return`Left Recursion found in grammar. +rule: <${t}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${i} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof ee?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};class t6 extends eh{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){(0,L.A)((0,S.A)(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:d.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}let t5=function(e,t){return(0,e9.A)((0,N.A)(e,t),1)};var t9=s(2528);let t4=function(e,t,s,i){for(var n=-1,a=null==e?0:e.length;++n<a;){var r=e[n];t(i,r,s(r),e)}return i},t8=function(e,t,s,i){return(0,ed.A)(e,function(e,n,a){t(i,e,s(e),a)}),i};var t7=Object.prototype.hasOwnProperty,se=(n=function(e,t,s){t7.call(e,s)?e[s].push(t):(0,t9.A)(e,s,[t])},function(e,t){return((0,ep.A)(e)?t4:t8)(e,n,(0,G.A)(t,2),{})});let st=function(e,t,s){var i=null==e?0:e.length;return i?b(e,0,(t=i-(t=s||void 0===t?1:(0,v.A)(t)))<0?0:t):[]};class ss extends eN{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=I(this.path.ruleStack).reverse(),this.occurrenceStack=I(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,s){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=t.concat(s);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){(0,R.A)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class si extends ss{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,s){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new et({definition:t.concat(s)});this.possibleTokTypes=eb(e),this.found=!0}}}class sn extends eN{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class sa extends sn{walkMany(e,t,s){if(e.idx===this.occurrence){let e=tt(t.concat(s));this.result.isEndOfRule=void 0===e,e instanceof el&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,s)}}class sr extends sn{walkManySep(e,t,s){if(e.idx===this.occurrence){let e=tt(t.concat(s));this.result.isEndOfRule=void 0===e,e instanceof el&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,s)}}class so extends sn{walkAtLeastOne(e,t,s){if(e.idx===this.occurrence){let e=tt(t.concat(s));this.result.isEndOfRule=void 0===e,e instanceof el&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,s)}}class sl extends sn{walkAtLeastOneSep(e,t,s){if(e.idx===this.occurrence){let e=tt(t.concat(s));this.result.isEndOfRule=void 0===e,e instanceof el&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,s)}}function sh(e,t,s=[]){s=I(s);let i=[],n=0;function a(a){let r=sh(a.concat(_(e,n+1)),t,s);return i.concat(r)}for(;s.length<t&&n<e.length;){let t=e[n];if(t instanceof et)return a(t.definition);if(t instanceof Q)return a(t.definition);if(t instanceof es)i=a(t.definition);else if(t instanceof ei)return a(t.definition.concat([new ea({definition:t.definition})]));else if(t instanceof en)return a([new et({definition:t.definition}),new ea({definition:[new el({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof er)i=a(t.definition.concat([new ea({definition:[new el({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof ea)i=a(t.definition.concat([new ea({definition:t.definition})]));else if(t instanceof eo)return(0,L.A)(t.definition,e=>{!1===(0,R.A)(e.definition)&&(i=a(e.definition))}),i;else if(t instanceof el)s.push(t.terminalType);else throw Error("non exhaustive match");n++}return i.push({partialPath:s,suffixDef:_(e,n)}),i}function sc(e,t,s,i){let n="EXIT_NONE_TERMINAL",a=[n],r="EXIT_ALTERNATIVE",o=!1,l=t.length,h=l-i-1,c=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!(0,R.A)(d);){let e=d.pop();if(e===r){o&&(0,tv.A)(d).idx<=h&&d.pop();continue}let i=e.def,u=e.idx,p=e.ruleStack,f=e.occurrenceStack;if((0,R.A)(i))continue;let m=i[0];if(m===n){let e={idx:u,def:_(i),ruleStack:st(p),occurrenceStack:st(f)};d.push(e)}else if(m instanceof el)if(u<l-1){let e=u+1;if(s(t[e],m.terminalType)){let t={idx:e,def:_(i),ruleStack:p,occurrenceStack:f};d.push(t)}}else if(u===l-1)c.push({nextTokenType:m.terminalType,nextTokenOccurrence:m.idx,ruleStack:p,occurrenceStack:f}),o=!0;else throw Error("non exhaustive match");else if(m instanceof Q){let e=I(p);e.push(m.nonTerminalName);let t=I(f);t.push(m.idx);let s={idx:u,def:m.definition.concat(a,_(i)),ruleStack:e,occurrenceStack:t};d.push(s)}else if(m instanceof es){let e={idx:u,def:_(i),ruleStack:p,occurrenceStack:f};d.push(e),d.push(r);let t={idx:u,def:m.definition.concat(_(i)),ruleStack:p,occurrenceStack:f};d.push(t)}else if(m instanceof ei){let e=new ea({definition:m.definition,idx:m.idx}),t={idx:u,def:m.definition.concat([e],_(i)),ruleStack:p,occurrenceStack:f};d.push(t)}else if(m instanceof en){let e=new ea({definition:[new el({terminalType:m.separator})].concat(m.definition),idx:m.idx}),t={idx:u,def:m.definition.concat([e],_(i)),ruleStack:p,occurrenceStack:f};d.push(t)}else if(m instanceof er){let e={idx:u,def:_(i),ruleStack:p,occurrenceStack:f};d.push(e),d.push(r);let t=new ea({definition:[new el({terminalType:m.separator})].concat(m.definition),idx:m.idx}),s={idx:u,def:m.definition.concat([t],_(i)),ruleStack:p,occurrenceStack:f};d.push(s)}else if(m instanceof ea){let e={idx:u,def:_(i),ruleStack:p,occurrenceStack:f};d.push(e),d.push(r);let t=new ea({definition:m.definition,idx:m.idx}),s={idx:u,def:m.definition.concat([t],_(i)),ruleStack:p,occurrenceStack:f};d.push(s)}else if(m instanceof eo)for(let e=m.definition.length-1;e>=0;e--){let t={idx:u,def:m.definition[e].definition.concat(_(i)),ruleStack:p,occurrenceStack:f};d.push(t),d.push(r)}else if(m instanceof et)d.push({idx:u,def:m.definition.concat(_(i)),ruleStack:p,occurrenceStack:f});else if(m instanceof ee)d.push(function(e,t,s,i){let n=I(s);n.push(e.name);let a=I(i);return a.push(1),{idx:t,def:e.definition,ruleStack:n,occurrenceStack:a}}(m,u,p,f));else throw Error("non exhaustive match")}return c}function sd(e){if(e instanceof es||"Option"===e)return h.OPTION;if(e instanceof ea||"Repetition"===e)return h.REPETITION;if(e instanceof ei||"RepetitionMandatory"===e)return h.REPETITION_MANDATORY;if(e instanceof en||"RepetitionMandatoryWithSeparator"===e)return h.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof er||"RepetitionWithSeparator"===e)return h.REPETITION_WITH_SEPARATOR;else if(e instanceof eo||"Alternation"===e)return h.ALTERNATION;else throw Error("non exhaustive match")}function su(e,t,s,i){let n=e.length,a=eL(e,e=>eL(e,e=>1===e.length));if(t)return function(t){let i=(0,N.A)(t,e=>e.GATE);for(let t=0;t<n;t++){let n=e[t],a=n.length,r=i[t];if(void 0===r||!1!==r.call(this))t:for(let e=0;e<a;e++){let i=n[e],a=i.length;for(let e=0;e<a;e++)if(!1===s(this.LA(e+1),i[e]))continue t;return t}}};if(!a||i)return function(){for(let t=0;t<n;t++){let i=e[t],n=i.length;t:for(let e=0;e<n;e++){let n=i[e],a=n.length;for(let e=0;e<a;e++)if(!1===s(this.LA(e+1),n[e]))continue t;return t}}};{let t=(0,N.A)(e,e=>(0,eC.A)(e)),s=(0,eQ.A)(t,(e,t,s)=>((0,L.A)(t,t=>{(0,O.A)(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=s),(0,L.A)(t.categoryMatches,t=>{(0,O.A)(e,t)||(e[t]=s)})}),e),{});return function(){return s[this.LA(1).tokenTypeIdx]}}}function sp(e,t,s){let i=eL(e,e=>1===e.length),n=e.length;if(!i||s)return function(){t:for(let s=0;s<n;s++){let i=e[s],n=i.length;for(let e=0;e<n;e++)if(!1===t(this.LA(e+1),i[e]))continue t;return!0}return!1};{let t=(0,eC.A)(e);if(1===t.length&&(0,R.A)(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=(0,eQ.A)(t,(e,t,s)=>(e[t.tokenTypeIdx]=!0,(0,L.A)(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}(a=h||(h={}))[a.OPTION=0]="OPTION",a[a.REPETITION=1]="REPETITION",a[a.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",a[a.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",a[a.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",a[a.ALTERNATION=5]="ALTERNATION";class sf extends eN{constructor(e,t,s){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=s}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,s,i){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=s.concat(i),!0)}walkOption(e,t,s){this.checkIsTarget(e,h.OPTION,t,s)||super.walkOption(e,t,s)}walkAtLeastOne(e,t,s){this.checkIsTarget(e,h.REPETITION_MANDATORY,t,s)||super.walkOption(e,t,s)}walkAtLeastOneSep(e,t,s){this.checkIsTarget(e,h.REPETITION_MANDATORY_WITH_SEPARATOR,t,s)||super.walkOption(e,t,s)}walkMany(e,t,s){this.checkIsTarget(e,h.REPETITION,t,s)||super.walkOption(e,t,s)}walkManySep(e,t,s){this.checkIsTarget(e,h.REPETITION_WITH_SEPARATOR,t,s)||super.walkOption(e,t,s)}}class sm extends eh{constructor(e,t,s){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=s,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,h.OPTION)}visitRepetition(e){this.checkIsTarget(e,h.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,h.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,h.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,h.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,h.ALTERNATION)}}function sT(e){let t=Array(e);for(let s=0;s<e;s++)t[s]=[];return t}function sA(e){let t=[""];for(let s=0;s<e.length;s++){let i=e[s],n=[];for(let e=0;e<t.length;e++){let s=t[e];n.push(s+"_"+i.tokenTypeIdx);for(let e=0;e<i.categoryMatches.length;e++){let t="_"+i.categoryMatches[e];n.push(s+t)}}t=n}return t}function sE(e,t){let s=(0,N.A)(e,e=>sh([e],1)),i=sT(s.length),n=(0,N.A)(s,e=>{let t={};return(0,L.A)(e,e=>{let s=sA(e.partialPath);(0,L.A)(s,e=>{t[e]=!0})}),t}),a=s;for(let e=1;e<=t;e++){let s=a;a=sT(s.length);for(let r=0;r<s.length;r++){let o=s[r];for(let s=0;s<o.length;s++){let l=o[s].partialPath,h=o[s].suffixDef,c=sA(l);if(function(e,t,s){for(let i=0;i<e.length;i++){if(i===s)continue;let n=e[i];for(let e=0;e<t.length;e++)if(!0===n[t[e]])return!1}return!0}(n,c,r)||(0,R.A)(h)||l.length===t){let e=i[r];if(!1===sL(e,l)){e.push(l);for(let e=0;e<c.length;e++){let t=c[e];n[r][t]=!0}}}else{let t=sh(h,e+1,l);a[r]=a[r].concat(t),(0,L.A)(t,e=>{let t=sA(e.partialPath);(0,L.A)(t,e=>{n[r][e]=!0})})}}}}return i}function sg(e,t,s,i){let n=new sm(e,h.ALTERNATION,i);return t.accept(n),sE(n.result,s)}function sy(e,t,s,i){let n=new sm(e,s);t.accept(n);let a=n.result,r=new sf(t,e,s).startWalking();return sE([new et({definition:a}),new et({definition:r})],i)}function sL(e,t){s:for(let s=0;s<e.length;s++){let i=e[s];if(i.length===t.length){for(let e=0;e<i.length;e++){let s=t[e],n=i[e];if(!1==(s===n||void 0!==n.categoryMatchesMap[s.tokenTypeIdx]))continue s}return!0}}return!1}function sS(e){return eL(e,e=>eL(e,e=>eL(e,e=>(0,R.A)(e.categoryMatches))))}function sR(e){return`${eR(e)}_#_${e.idx}_#_${sN(e)}`}function sN(e){return e instanceof el?e.terminalType.name:e instanceof Q?e.nonTerminalName:""}class sO extends eh{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}class sk extends eh{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}class sI extends eh{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}let sC="MismatchedTokenException",sb="NoViableAltException",sv="EarlyExitException",s_="NotAllInputParsedException",sx=[sC,sb,sv,s_];function sU(e){return eE(sx,e.name)}Object.freeze(sx);class sM extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class sw extends sM{constructor(e,t,s){super(e,t),this.previousToken=s,this.name=sC}}class sP extends sM{constructor(e,t,s){super(e,t),this.previousToken=s,this.name=sb}}class sD extends sM{constructor(e,t){super(e,t),this.name=s_}}class s$ extends sM{constructor(e,t,s){super(e,t),this.previousToken=s,this.name=sv}}let sK={},sF="InRuleRecoveryException";class sB extends Error{constructor(e){super(e),this.name=sF}}function sG(e,t,s,i,n,a,r){let o=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[e],n).startWalking(),this.firstAfterRepMap[o]=l}let h=l.token,c=l.occurrence,d=l.isEndOfRule;1===this.RULE_STACK.length&&d&&void 0===h&&(h=tQ,c=1),void 0!==h&&void 0!==c&&this.shouldInRepetitionRecoveryBeTried(h,c,r)&&this.tryInRepetitionRecovery(e,t,s,h)}class sW{constructor(e){var t;this.maxLookahead=null!=(t=null==e?void 0:e.maxLookahead)?t:s5.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);return(0,R.A)(t)?[...t,...this.validateEmptyOrAlternatives(e.rules),...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]:t}validateNoLeftRecursion(e){return t5(e,e=>(function e(t,s,i,n=[]){let a=[],r=function e(t){let s=[];if((0,R.A)(t))return s;let i=tt(t);if(i instanceof Q)s.push(i.referencedRule);else if(i instanceof et||i instanceof es||i instanceof ei||i instanceof en||i instanceof er||i instanceof ea)s=s.concat(e(i.definition));else if(i instanceof eo)s=(0,eC.A)((0,N.A)(i.definition,t=>e(t.definition)));else if(i instanceof el);else throw Error("non exhaustive match");let n=eS(i),a=t.length>1;if(!n||!a)return s;{let i=_(t);return s.concat(e(i))}}(s.definition);if((0,R.A)(r))return[];{let s=t.name;eE(r,t)&&a.push({message:i.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:d.LEFT_RECURSION,ruleName:s});let o=t5(e7(r,n.concat([t])),s=>{let a=I(n);return a.push(s),e(t,s,i,a)});return a.concat(o)}})(e,e,t3))}validateEmptyOrAlternatives(e){return t5(e,e=>{let t;return t=new sk,e.accept(t),t5(t.alternations,t=>t5(st(t.definition),(s,i)=>{let n=sc([s],[],tx,1);return(0,R.A)(n)?[{message:t3.buildEmptyAlternationError({topLevelRule:e,alternation:t,emptyChoiceIdx:i}),type:d.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:t.idx,alternative:i+1}]:[]}))})}validateAmbiguousAlternationAlternatives(e,t){return t5(e,e=>{let s;return s=new sk,e.accept(s),t5(eX(s.alternations,e=>!0===e.ignoreAmbiguities),s=>{var i,n,a,r,o,l,h,c;let u,p,f,m=sg(s.idx,e,s.maxLookahead||t,s),T=(i=m,n=s,a=e,r=t3,u=[],p=(0,eQ.A)(i,(e,t,s)=>(!0===n.definition[s].ignoreAmbiguities||(0,L.A)(t,t=>{let a=[s];(0,L.A)(i,(e,i)=>{s!==i&&sL(e,t)&&!0!==n.definition[i].ignoreAmbiguities&&a.push(i)}),a.length>1&&!sL(u,t)&&(u.push(t),e.push({alts:a,path:t}))}),e),[]),(0,N.A)(p,e=>{let t=(0,N.A)(e.alts,e=>e+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:a,alternation:n,ambiguityIndices:t,prefixPath:e.path}),type:d.AMBIGUOUS_ALTS,ruleName:a.name,occurrence:n.idx,alternatives:e.alts}})),A=(o=m,l=s,h=e,c=t3,te(t5(f=(0,eQ.A)(o,(e,t,s)=>{let i=(0,N.A)(t,e=>({idx:s,path:e}));return e.concat(i)},[]),e=>{if(!0===l.definition[e.idx].ignoreAmbiguities)return[];let t=e.idx,s=e.path,i=(0,e0.A)(f,e=>{var i;return!0!==l.definition[e.idx].ignoreAmbiguities&&e.idx<t&&(i=e.path,i.length<s.length&&eL(i,(e,t)=>{let i=s[t];return e===i||i.categoryMatchesMap[e.tokenTypeIdx]}))});return(0,N.A)(i,e=>{let s=[e.idx+1,t+1],i=0===l.idx?"":l.idx;return{message:c.buildAlternationPrefixAmbiguityError({topLevelRule:h,alternation:l,ambiguityIndices:s,prefixPath:e.path}),type:d.AMBIGUOUS_PREFIX_ALTS,ruleName:h.name,occurrence:i,alternatives:s}})})));return T.concat(A)})})}validateSomeNonEmptyLookaheadPath(e,t){let s;return s=[],(0,L.A)(e,e=>{let i=new sI;e.accept(i);let n=i.allProductions;(0,L.A)(n,i=>{let n=sd(i),a=i.maxLookahead||t,r=sy(i.idx,e,n,a)[0];if((0,R.A)((0,eC.A)(r))){let t=t3.buildEmptyRepetitionError({topLevelRule:e,repetition:i});s.push({message:t,type:d.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),s}buildLookaheadForAlternation(e){var t,s,i,n,a;let r,o;return t=e.prodOccurrence,s=e.rule,i=e.maxLookahead,n=e.hasPredicates,a=e.dynamicTokensEnabled,o=sS(r=sg(t,s,i))?tU:tx,su(r,n,o,a)}buildLookaheadForOptional(e){var t,s,i,n,a;let r,o;return t=e.prodOccurrence,s=e.rule,i=e.maxLookahead,n=e.dynamicTokensEnabled,a=sd(e.prodType),o=sS(r=sy(t,s,a,i))?tU:tx,sp(r[0],o,n)}}let sj=new class extends eh{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}};function sz(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function sV(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function sH(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function sY(e,t){let s=(0,$.A)(e),i=s.length;for(let n=0;n<i;n++){let i=e[s[n]],a=i.length;for(let e=0;e<a;e++){let s=i[e];void 0===s.tokenTypeIdx&&this[s.name](s.children,t)}}}(r=c||(c={}))[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD";var sX=s(3149);let sJ={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(sJ);let sq=tZ({name:"RECORDING_PHASE_TOKEN",pattern:tB.NA});tP([sq]);let sZ=t0(sq,"This IToken indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(sZ);let sQ={name:"This CSTNode indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}};function s0(e,t,s,i=!1){s3(s);let n=(0,tv.A)(this.recordingProdStack),a=(0,eJ.A)(t)?t:t.DEF,r=new e({definition:[],idx:s});return i&&(r.separator=t.SEP),(0,O.A)(t,"MAX_LOOKAHEAD")&&(r.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(r),a.call(this),n.definition.push(r),this.recordingProdStack.pop(),sJ}function s1(e,t){s3(t);let s=(0,tv.A)(this.recordingProdStack),i=!1===(0,ep.A)(e),n=!1===i?e:e.DEF,a=new eo({definition:[],idx:t,ignoreAmbiguities:i&&!0===e.IGNORE_AMBIGUITIES});return(0,O.A)(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),a.hasPredicates=em(n,e=>(0,eJ.A)(e.GATE)),s.definition.push(a),(0,L.A)(n,e=>{let t=new et({definition:[]});a.definition.push(t),(0,O.A)(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:(0,O.A)(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),sJ}function s2(e){return 0===e?"":`${e}`}function s3(e){if(e<0||e>255){let t=Error(`Invalid DSL Method idx value: <${e}> + Idx value must be a none negative value smaller than ${256}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}let s6=t0(tQ,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(s6);let s5=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:t1,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),s9=Object.freeze({recoveryValueFunc:()=>void 0,resyncEnabled:!0});(o=d||(d={}))[o.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",o[o.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",o[o.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",o[o.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",o[o.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",o[o.LEFT_RECURSION=5]="LEFT_RECURSION",o[o.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",o[o.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",o[o.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",o[o.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",o[o.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",o[o.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",o[o.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",o[o.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION";class s4{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let t=this.className;this.TRACE_INIT("toFastProps",()=>{C(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),(0,L.A)(this.definedRulesNames,e=>{let t,s=this[e].originalGrammarAction;this.TRACE_INIT(`${e} Rule`,()=>{t=this.topLevelRuleRecord(e,s)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}});let s=[];if(this.TRACE_INIT("Grammar Resolving",()=>{var e;let t,i,n;e={rules:(0,S.A)(this.gastProductionsCache)},i=(0,ez.A)(e,{errMsgProvider:t2}),n={},(0,L.A)(e.rules,e=>{n[e.name]=e}),(t=new t6(n,i.errMsgProvider)).resolveRefs(),s=t.errors,this.definitionErrors=this.definitionErrors.concat(s)}),this.TRACE_INIT("Grammar Validations",()=>{if((0,R.A)(s)&&!1===this.skipValidations){var e,i,n,a,r,o,l,h,c;let s,u,p,f,m,T,A,E=(e={rules:(0,S.A)(this.gastProductionsCache),tokenTypes:(0,S.A)(this.tokensMap),errMsgProvider:t3,grammarName:t},i=(e=(0,ez.A)(e,{errMsgProvider:t3})).rules,n=e.tokenTypes,a=e.errMsgProvider,r=e.grammarName,p=t5(i,e=>{var t,s;let i,n;return t=e,s=a,i=new sO,t.accept(i),n=z(se(i.allProductions,sR),e=>e.length>1),(0,N.A)((0,S.A)(n),e=>{let i=tt(e),n=s.buildDuplicateFoundError(t,e),a=eR(i),r={message:n,type:d.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:a,occurrence:i.idx},o=sN(i);return o&&(r.parameter=o),r})}),l=i,h=n,c=a,s=[],u=(0,N.A)(h,e=>e.name),(0,L.A)(l,e=>{let t=e.name;if(eE(u,t)){let i=c.buildNamespaceConflictError(e);s.push({message:i,type:d.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),f=s,m=t5(i,e=>{var t,s;let i;return t=e,s=a,i=new sk,t.accept(i),t5(i.alternations,e=>e.definition.length>255?[{message:s.buildTooManyAlternativesError({topLevelRule:t,alternation:e}),type:d.TOO_MANY_ALTS,ruleName:t.name,occurrence:e.idx}]:[])}),T=t5(i,e=>(function(e,t,s,i){let n=[];if((0,eQ.A)(t,(t,s)=>s.name===e.name?t+1:t,0)>1){let t=i.buildDuplicateRuleNameError({topLevelRule:e,grammarName:s});n.push({message:t,type:d.DUPLICATE_RULE_NAME,ruleName:e.name})}return n})(e,i,r,a)),p.concat(f,m,T)),g=(A=(o={lookaheadStrategy:this.lookaheadStrategy,rules:(0,S.A)(this.gastProductionsCache),tokenTypes:(0,S.A)(this.tokensMap),grammarName:t}).lookaheadStrategy.validate({rules:o.rules,tokenTypes:o.tokenTypes,grammarName:o.grammarName}),(0,N.A)(A,e=>Object.assign({type:d.CUSTOM_LOOKAHEAD_VALIDATION},e)));this.definitionErrors=this.definitionErrors.concat(E,g)}}),(0,R.A)(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{var e;let t,s=(e=(0,S.A)(this.gastProductionsCache),t={},(0,L.A)(e,e=>{F(t,new ev(e).startWalking())}),t);this.resyncFollows=s}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null==(t=(e=this.lookaheadStrategy).initialize)||t.call(e,{rules:(0,S.A)(this.gastProductionsCache)}),this.preComputeLookaheadFunctions((0,S.A)(this.gastProductionsCache))})),!s4.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,R.A)(this.definitionErrors))throw e=(0,N.A)(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected: + ${e.join("\n-------------------------------\n")}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),(0,O.A)(t,"ignoredIssues"))throw Error("The <ignoredIssues> IParserConfig property has been deprecated.\n Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=(0,O.A)(t,"skipValidations")?t.skipValidations:s5.skipValidations}}s4.DEFER_DEFINITION_ERRORS_HANDLING=!1,[class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,O.A)(e,"recoveryEnabled")?e.recoveryEnabled:s5.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=sG)}getTokenToInsert(e){let t=t0(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,s,i){let n=this.findReSyncTokenType(),a=this.exportLexerState(),r=[],o=!1,l=this.LA(1),h=this.LA(1),c=()=>{let e=this.LA(0),t=new sw(this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=st(r),this.SAVE_ERROR(t)};for(;!o;)if(this.tokenMatcher(h,i))return void c();else if(s.call(this)){c(),e.apply(this,t);return}else this.tokenMatcher(h,n)?o=!0:(h=this.SKIP_TOKEN(),this.addToResyncTokens(h,r));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,s){return!(!1===s||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let s=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(s)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new sB("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,R.A)(t))return!1;let s=this.LA(1);return void 0!==(0,ts.A)(t,e=>this.tokenMatcher(s,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return eE(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),s=2;for(;;){let i=(0,ts.A)(e,e=>tx(t,e));if(void 0!==i)return i;t=this.LA(s),s++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return sK;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),s=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(s)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return(0,N.A)(e,(s,i)=>0===i?sK:{ruleName:this.shortRuleNameToFullName(s),idxInCallingRule:t[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=(0,N.A)(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e));return(0,eC.A)(e)}getFollowSetFromFollowKey(e){if(e===sK)return[tQ];let t=e.ruleName+e.idxInCallingRule+"_~IN~_"+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,tQ)||t.push(e),t}reSyncTo(e){let t=[],s=this.LA(1);for(;!1===this.tokenMatcher(s,e);)s=this.SKIP_TOKEN(),this.addToResyncTokens(s,t);return st(t)}attemptInRepetitionRecovery(e,t,s,i,n,a,r){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:I(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return(0,N.A)(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}},class{initLooksAhead(e){this.dynamicTokensEnabled=(0,O.A)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:s5.dynamicTokensEnabled,this.maxLookahead=(0,O.A)(e,"maxLookahead")?e.maxLookahead:s5.maxLookahead,this.lookaheadStrategy=(0,O.A)(e,"lookaheadStrategy")?e.lookaheadStrategy:new sW({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){(0,L.A)(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{var t;let s,{alternation:i,repetition:n,option:a,repetitionMandatory:r,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=(t=e,sj.reset(),t.accept(sj),s=sj.dslMethods,sj.reset(),s);(0,L.A)(i,t=>{let s=0===t.idx?"":t.idx;this.TRACE_INIT(`${eR(t)}${s}`,()=>{var s;let i=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),n=(s=this.fullRuleNameToShort[e.name],256|t.idx|s);this.setLaFuncCache(n,i)})}),(0,L.A)(n,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,eR(t))}),(0,L.A)(a,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,eR(t))}),(0,L.A)(r,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,eR(t))}),(0,L.A)(o,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,eR(t))}),(0,L.A)(l,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,eR(t))})})})}computeLookaheadFunc(e,t,s,i,n,a){this.TRACE_INIT(`${a}${0===t?"":t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:n||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),r=t|s|this.fullRuleNameToShort[e.name];this.setLaFuncCache(r,a)})}getKeyForAutomaticLookahead(e,t){return t|e|this.getLastExplicitRuleShortName()}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,O.A)(e,"nodeLocationTracking")?e.nodeLocationTracking:s5.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sV,this.setNodeLocationFromNode=sV,this.cstPostRule=tC.A,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=tC.A,this.setNodeLocationFromNode=tC.A,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sz,this.setNodeLocationFromNode=sz,this.cstPostRule=tC.A,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=tC.A,this.setNodeLocationFromNode=tC.A,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=tC.A,this.setNodeLocationFromNode=tC.A,this.cstPostRule=tC.A,this.setInitialNodeLocation=tC.A;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`);else this.cstInvocationStateUpdate=tC.A,this.cstFinallyStateUpdate=tC.A,this.cstPostTerminal=tC.A,this.cstPostNonTerminal=tC.A,this.cstPostRule=tC.A}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),s=e.location;s.startOffset<=t.startOffset==!0?(s.endOffset=t.endOffset,s.endLine=t.endLine,s.endColumn=t.endColumn):(s.startOffset=NaN,s.startLine=NaN,s.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),s=e.location;s.startOffset<=t.startOffset==!0?s.endOffset=t.endOffset:s.startOffset=NaN}cstPostTerminal(e,t){let s=this.CST_STACK[this.CST_STACK.length-1];void 0===s.children[e]?s.children[e]=[t]:s.children[e].push(t),this.setNodeLocationFromToken(s.location,t)}cstPostNonTerminal(e,t){let s=this.CST_STACK[this.CST_STACK.length-1];void 0===s.children[t]?s.children[t]=[e]:s.children[t].push(e),this.setNodeLocationFromNode(s.location,e.location)}getBaseCstVisitorConstructor(){if((0,e_.A)(this.baseCstVisitorConstructor)){var e,t;let s,i=(e=this.className,t=(0,$.A)(this.gastProductionsCache),sH(s=function(){},e+"BaseSemantics"),s.prototype={visit:function(e,t){if((0,ep.A)(e)&&(e=e[0]),!(0,e_.A)(e))return this[e.name](e.children,t)},validateVisitor:function(){var e,s,i,n;let a,r=(e=this,s=t,i=e,n=s,a=(0,e0.A)(n,e=>!1===(0,eJ.A)(i[e])),te((0,N.A)(a,e=>({msg:`Missing visitor method: <${e}> on ${i.constructor.name} CST Visitor.`,type:c.MISSING_METHOD,methodName:e}))));if(!(0,R.A)(r)){let e=(0,N.A)(r,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${e.join("\n\n").replace(/\n/g,"\n ")}`)}}},s.prototype.constructor=s,s._RULE_NAMES=t,s);return this.baseCstVisitorConstructor=i,i}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if((0,e_.A)(this.baseCstVisitorWithDefaultsConstructor)){var e,t,s;let i,n,a=(e=this.className,t=(0,$.A)(this.gastProductionsCache),s=this.getBaseCstVisitorConstructor(),sH(i=function(){},e+"BaseSemanticsWithDefaults"),n=Object.create(s.prototype),(0,L.A)(t,e=>{n[e]=sY}),i.prototype=n,i.prototype.constructor=i,i);return this.baseCstVisitorWithDefaultsConstructor=a,a}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):s6}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?s6:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=tU,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,O.A)(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if((0,ep.A)(e)){if((0,R.A)(e))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if((0,ep.A)(e))this.tokensMap=(0,eQ.A)(e,(e,t)=>(e[t.name]=t,e),{});else if((0,O.A)(e,"modes")&&eL((0,eC.A)((0,S.A)(e.modes)),tK)){let t=eI((0,eC.A)((0,S.A)(e.modes)));this.tokensMap=(0,eQ.A)(t,(e,t)=>(e[t.name]=t,e),{})}else if((0,sX.A)(e))this.tokensMap=I(e);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=tQ;let s=eL((0,O.A)(e,"modes")?(0,eC.A)((0,S.A)(e.modes)):(0,S.A)(e),e=>(0,R.A)(e.categoryMatches));this.tokenMatcher=s?tU:tx,tP((0,S.A)(this.tokensMap))}defineRule(e,t,s){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=(0,O.A)(s,"resyncEnabled")?s.resyncEnabled:s9.resyncEnabled,n=(0,O.A)(s,"recoveryValueFunc")?s.recoveryValueFunc:s9.recoveryValueFunc,a=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a,Object.assign(!0===this.outputCst?function(...s){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,s);let i=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(i),i}catch(e){return this.invokeRuleCatch(e,i,n)}finally{this.ruleFinallyStateUpdate()}}:function(...s){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,s)}catch(e){return this.invokeRuleCatch(e,i,n)}finally{this.ruleFinallyStateUpdate()}},{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,s){let i=1===this.RULE_STACK.length,n=t&&!this.isBackTracking()&&this.recoveryEnabled;if(sU(e)){if(n){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return s(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(i)return this.moveToTerminatedState(),s(e)}throw e}optionInternal(e,t){let s=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,s)}optionInternalLogic(e,t,s){let i,n=this.getLaFuncFromCache(s);if("function"!=typeof e){i=e.DEF;let t=e.GATE;if(void 0!==t){let e=n;n=()=>t.call(this)&&e.call(this)}}else i=e;if(!0===n.call(this))return i.call(this)}atLeastOneInternal(e,t){let s=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,s)}atLeastOneInternalLogic(e,t,s){let i,n=this.getLaFuncFromCache(s);if("function"!=typeof t){i=t.DEF;let e=t.GATE;if(void 0!==e){let t=n;n=()=>e.call(this)&&t.call(this)}}else i=t;if(!0===n.call(this)){let e=this.doSingleRepetition(i);for(;!0===n.call(this)&&!0===e;)e=this.doSingleRepetition(i)}else throw this.raiseEarlyExitException(e,h.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],n,1024,e,so)}atLeastOneSepFirstInternal(e,t){let s=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,s)}atLeastOneSepFirstInternalLogic(e,t,s){let i=t.DEF,n=t.SEP;if(!0===this.getLaFuncFromCache(s).call(this)){i.call(this);let t=()=>this.tokenMatcher(this.LA(1),n);for(;!0===this.tokenMatcher(this.LA(1),n);)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,t,i,sl],t,1536,e,sl)}else throw this.raiseEarlyExitException(e,h.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let s=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,s)}manyInternalLogic(e,t,s){let i,n=this.getLaFuncFromCache(s);if("function"!=typeof t){i=t.DEF;let e=t.GATE;if(void 0!==e){let t=n;n=()=>e.call(this)&&t.call(this)}}else i=t;let a=!0;for(;!0===n.call(this)&&!0===a;)a=this.doSingleRepetition(i);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],n,768,e,sa,a)}manySepFirstInternal(e,t){let s=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,s)}manySepFirstInternalLogic(e,t,s){let i=t.DEF,n=t.SEP;if(!0===this.getLaFuncFromCache(s).call(this)){i.call(this);let t=()=>this.tokenMatcher(this.LA(1),n);for(;!0===this.tokenMatcher(this.LA(1),n);)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,t,i,sr],t,1280,e,sr)}}repetitionSepSecondInternal(e,t,s,i,n){for(;s();)this.CONSUME(t),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,s,i,n],s,1536,e,n)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let s=this.getKeyForAutomaticLookahead(256,t),i=(0,ep.A)(e)?e:e.DEF,n=this.getLaFuncFromCache(s).call(this,i);if(void 0!==n)return i[n].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new sD(t,e))}}subruleInternal(e,t,s){let i;try{let n=void 0!==s?s.ARGS:void 0;return this.subruleIdx=t,i=e.apply(this,n),this.cstPostNonTerminal(i,void 0!==s&&void 0!==s.LABEL?s.LABEL:e.ruleName),i}catch(t){throw this.subruleInternalError(t,s,e.ruleName)}}subruleInternalError(e,t,s){throw sU(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:s),delete e.partialCstResult),e}consumeInternal(e,t,s){let i;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),i=t):this.consumeInternalError(e,t,s)}catch(s){i=this.consumeInternalRecovery(e,t,s)}return this.cstPostTerminal(void 0!==s&&void 0!==s.LABEL?s.LABEL:e.name,i),i}consumeInternalError(e,t,s){let i,n=this.LA(0);throw i=void 0!==s&&s.ERR_MSG?s.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:n,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new sw(i,t,n))}consumeInternalRecovery(e,t,s){if(this.recoveryEnabled&&"MismatchedTokenException"===s.name&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,i)}catch(e){if(e.name===sF)throw s;throw e}}throw s}saveRecogState(){let e=this.errors,t=I(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,s){this.RULE_OCCURRENCE_STACK.push(s),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),tQ)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},class{ACTION(e){return e.call(this)}consume(e,t,s){return this.consumeInternal(t,e,s)}subrule(e,t,s){return this.subruleInternal(t,e,s)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,s=s9){if(eE(this.definedRulesNames,e)){let t={message:t3.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:d.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let i=this.defineRule(e,t,s);return this[e]=i,i}OVERRIDE_RULE(e,t,s=s9){var i,n;let a,r,o=(i=this.definedRulesNames,n=this.className,r=[],eE(i,e)||(a=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:a,type:d.INVALID_RULE_OVERRIDE,ruleName:e})),r);this.definitionErrors=this.definitionErrors.concat(o);let l=this.defineRule(e,t,s);return this[e]=l,l}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let s=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(sU(e))return!1;throw e}finally{this.reloadRecogState(s),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){var e;return e=(0,S.A)(this.gastProductionsCache),(0,N.A)(e,function e(t){function s(t){return(0,N.A)(t,e)}if(t instanceof Q){let e={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,x.A)(t.label)&&(e.label=t.label),e}if(t instanceof et)return{type:"Alternative",definition:s(t.definition)};if(t instanceof es)return{type:"Option",idx:t.idx,definition:s(t.definition)};if(t instanceof ei)return{type:"RepetitionMandatory",idx:t.idx,definition:s(t.definition)};if(t instanceof en)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:e(new el({terminalType:t.separator})),definition:s(t.definition)};else if(t instanceof er)return{type:"RepetitionWithSeparator",idx:t.idx,separator:e(new el({terminalType:t.separator})),definition:s(t.definition)};else if(t instanceof ea)return{type:"Repetition",idx:t.idx,definition:s(t.definition)};else if(t instanceof eo)return{type:"Alternation",idx:t.idx,definition:s(t.definition)};else if(t instanceof el){var i,n;let e={type:"Terminal",name:t.terminalType.name,label:(n=i=t.terminalType,(0,x.A)(n.LABEL)&&""!==n.LABEL)?i.LABEL:i.name,idx:t.idx};(0,x.A)(t.label)&&(e.terminalLabel=t.label);let s=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(e.pattern=q(s)?s.source:s),e}else if(t instanceof ee)return{type:"Rule",name:t.name,orgText:t.orgText,definition:s(t.definition)};else throw Error("non exhaustive match")})}},class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=(0,O.A)(e,"errorMessageProvider")?e.errorMessageProvider:s5.errorMessageProvider}SAVE_ERROR(e){if(sU(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:I(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return I(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,s){let i=this.getCurrRuleFullName(),n=sy(e,this.getGAstProductions()[i],t,this.maxLookahead)[0],a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let r=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:n,actual:a,previous:this.LA(0),customUserDescription:s,ruleName:i});throw this.SAVE_ERROR(new s$(r,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let s=this.getCurrRuleFullName(),i=sg(e,this.getGAstProductions()[s],this.maxLookahead),n=[];for(let e=1;e<=this.maxLookahead;e++)n.push(this.LA(e));let a=this.LA(0),r=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:i,actual:n,previous:a,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new sP(r,this.LA(1),a))}},class{initContentAssist(){}computeContentAssist(e,t){let s=this.gastProductionsCache[e];if((0,e_.A)(s))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return sc([s],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=tt(e.ruleStack);return new si(this.getGAstProductions()[t],e).startWalking()}},class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(t,s){return this.consumeInternalRecord(t,e,s)},this[`SUBRULE${t}`]=function(t,s){return this.subruleInternalRecord(t,e,s)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,s){return this.consumeInternalRecord(t,e,s)},this.subrule=function(e,t,s){return this.subruleInternalRecord(t,e,s)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return s6}topLevelRuleRecord(e,t){try{let s=new ee({definition:[],name:e});return s.name=e,this.recordingProdStack.push(s),t.call(this),this.recordingProdStack.pop(),s}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return s0.call(this,es,e,t)}atLeastOneInternalRecord(e,t){s0.call(this,ei,t,e)}atLeastOneSepFirstInternalRecord(e,t){s0.call(this,en,t,e,!0)}manyInternalRecord(e,t){s0.call(this,ea,t,e)}manySepFirstInternalRecord(e,t){s0.call(this,er,t,e,!0)}orInternalRecord(e,t){return s1.call(this,e,t)}subruleInternalRecord(e,t,s){if(s3(t),!e||!1===(0,O.A)(e,"ruleName")){let s=Error(`<SUBRULE${s2(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=(0,tv.A)(this.recordingProdStack),n=new Q({idx:t,nonTerminalName:e.ruleName,label:null==s?void 0:s.LABEL,referencedRule:void 0});return i.definition.push(n),this.outputCst?sQ:sJ}consumeInternalRecord(e,t,s){if(s3(t),!tD(e)){let s=Error(`<CONSUME${s2(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=(0,tv.A)(this.recordingProdStack),n=new el({idx:t,terminalType:e,label:null==s?void 0:s.LABEL});return i.definition.push(n),sZ}},class{initPerformanceTracer(e){if((0,O.A)(e,"traceInitPerf")){let t=e.traceInitPerf,s="number"==typeof t;this.traceInitMaxIdent=s?t:1/0,this.traceInitPerf=s?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=s5.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let s=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${e}>`);let{time:i,value:n}=t_(t),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${s}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,n}}}].forEach(e=>{let t=e.prototype;Object.getOwnPropertyNames(t).forEach(s=>{if("constructor"===s)return;let i=Object.getOwnPropertyDescriptor(t,s);i&&(i.get||i.set)?Object.defineProperty(s4.prototype,s,i):s4.prototype[s]=e.prototype[s]})});class s8 extends s4{constructor(e,t=s5){let s=I(t);s.outputCst=!0,super(e,s)}}var s7=s(7829);function ie(e,t){let s=e.lexer.tokenize(t);if(s.errors.length>0){let i=s.errors[0],n=Number.isFinite(i.offset)?i.offset:t.length,a=n+(Number.isFinite(i.length)?i.length:0);throw Error(`Error lexing ${e.diagramType} diagram: ${i.message} at line ${i.line??1}, column ${i.column??1} [${n},${a})`)}e.parser.input=s.tokens;let i=e.entry();if(e.parser.errors.length>0)throw Error(`Error parsing ${e.diagramType} diagram: ${e.parser.errors[0].message}`);e.visit(i)}(0,y.K)(ie,"runChevrotainParse");var it=E.UI.usecase,is=(0,y.K)(()=>({actors:new Map,useCases:new Map,systemBoundaries:new Map,relationships:[],notes:new Map,jsonNodes:new Map,classDefs:new Map,symbols:new Map,direction:"LR",relationshipCounter:0,noteCounter:0,accTitle:"",accDescription:"",ast:void 0,config:structuredClone(it)}),"createModel"),ii=(0,y.K)(e=>{if(!(e.actors instanceof Map)||!(e.useCases instanceof Map)||!(e.systemBoundaries instanceof Map)||!Array.isArray(e.relationships)||!(e.notes instanceof Map)||!(e.jsonNodes instanceof Map)||!(e.classDefs instanceof Map)||!(e.symbols instanceof Map)||!["TB","TD","BT","RL","LR"].includes(e.direction)||!Number.isSafeInteger(e.relationshipCounter)||e.relationshipCounter<0||!Number.isSafeInteger(e.noteCounter)||e.noteCounter<0||"string"!=typeof e.accTitle||"string"!=typeof e.accDescription||!e.config)throw Error("Cannot commit an incomplete usecase model")},"assertCompleteModel"),ia=is(),ir=(0,y.K)(()=>structuredClone(ia.config),"getConfig"),io=(0,y.K)(()=>ia.ast,"getAST"),il=(0,y.K)(e=>{let t=structuredClone(e);ii(t);let s=(0,E.iN)(),i=(0,E.m7)();try{(0,E.SV)(t.accTitle),(0,E.EI)(t.accDescription),ia=t}catch(e){throw(0,E.SV)(s),(0,E.EI)(i),e}},"commit"),ih=(0,y.K)(()=>{ia=is(),(0,E.IU)()},"clear"),ic=(0,y.K)(()=>ia.actors,"getActors"),id=(0,y.K)(e=>ia.actors.get(e),"getActor"),iu=(0,y.K)(()=>ia.useCases,"getUseCases"),ip=(0,y.K)(e=>ia.useCases.get(e),"getUseCase"),im=(0,y.K)(()=>ia.systemBoundaries,"getSystemBoundaries"),iT=(0,y.K)(e=>ia.systemBoundaries.get(e),"getSystemBoundary"),iA=(0,y.K)(()=>ia.relationships,"getRelationships"),iE=(0,y.K)(()=>ia.notes,"getNotes"),ig=(0,y.K)(e=>ia.notes.get(e),"getNote"),iy=(0,y.K)(()=>ia.jsonNodes,"getJsonNodes"),iL=(0,y.K)(e=>ia.jsonNodes.get(e),"getJsonNode"),iS=(0,y.K)(()=>ia.classDefs,"getClassDefs"),iR=(0,y.K)(e=>ia.classDefs.get(e),"getClassDef"),iN=(0,y.K)(()=>ia.direction,"getDirection"),iO=(0,y.K)(e=>{let t=new Map;for(let s of["default",...e]){let e=ia.classDefs.get(s);if(e)for(let s of e.styles){let e=s.trim(),i=e.indexOf(":"),n=(-1===i?e:e.slice(0,i)).trim();n&&t.set(n,e)}}return[...t.values()]},"getCompiledStyles"),ik=(0,y.K)(e=>e.replaceAll("~","~0").replaceAll("/","~1"),"escapeJsonPointerPart"),iI=(0,y.K)(e=>"string"==typeof e?e:null===e?"null":String(e),"displayJsonScalar"),iC=(0,y.K)((e,t,s=e=>e)=>{let i=[],n=(0,y.K)((e,t,n)=>{i.push({key:s(e),accessibleKey:s(t),value:s(n)})},"append"),a=(0,y.K)((e,s,i)=>{if(Array.isArray(e)){if(0===e.length)return void n(s,s,"[]");if(e.every(e=>null===e||["string","number","boolean"].includes(typeof e))){for(let[t,i]of e.entries())n(0===t?s:"",s,iI(i));return}for(let[t,n]of e.entries())a(n,`${s}[${t}]`,`${i}/${t}`);return}if(null!==e&&"object"==typeof e){let r=t[i]??Object.keys(e);if(0===r.length)return void n(s,s,"{}");for(let t of r){let n=s?`${s}.${t}`:t;a(e[t],n,`${i}/${ik(t)}`)}return}n(s,s,iI(e))},"visit");return a(e,"",""),i},"flattenJsonRows"),ib=(0,y.K)(e=>{switch(e.type){case"hollow":return"usecaseActorHollow";case"awesome":return"usecaseActorAwesome";case"icon":return"usecaseActorIcon";case"normal":return"usecaseActor"}},"actorShape"),iv=(0,y.K)(e=>"ellipse"===e.shape?e.business?"usecaseBusiness":"usecaseEllipse":e.shape,"useCaseShape"),i_=(0,y.K)(e=>{switch(e){case 0:return{arrowTypeStart:"none",arrowTypeEnd:"arrow_point"};case 1:return{arrowTypeStart:"arrow_point",arrowTypeEnd:"none"};case 3:return{arrowTypeStart:"none",arrowTypeEnd:"arrow_circle"};case 4:return{arrowTypeStart:"none",arrowTypeEnd:"arrow_cross"};case 5:return{arrowTypeStart:"arrow_circle",arrowTypeEnd:"none"};case 6:return{arrowTypeStart:"arrow_cross",arrowTypeEnd:"none"};case 2:return{arrowTypeStart:"none",arrowTypeEnd:"none"}}},"associationMarkers"),ix=(0,y.K)(e=>{switch(e.type){case"include":case"extend":return{arrowTypeStart:"none",arrowTypeEnd:"arrow_point",pattern:"dotted",label:e.type,labelType:"text"};case"generalization":return{arrowTypeStart:"none",arrowTypeEnd:"extension",pattern:"solid"};case"association":return{...i_(e.arrowType),pattern:"solid",...e.label?{label:e.label}:{},...e.labelType?{labelType:e.labelType}:{}}}},"relationshipVisuals"),iU=(0,y.K)(e=>e.animate||e.animation?[`edge-animation-${e.animation??"fast"}`]:[],"animationClasses"),iM=(0,y.K)((...e)=>e.filter(e=>!!e).join(" "),"classNames"),iw=(0,y.K)(()=>{let e=(0,E.D7)(),t={...ia.config,...e.usecase},s=(0,y.K)(t=>(0,E.jZ)(t,e),"sanitize"),i=(0,y.K)(e=>s(ia.actors.get(e)?.label??ia.useCases.get(e)?.label??ia.jsonNodes.get(e)?.id??ia.notes.get(e)?.label??e),"endpointLabel"),n=[],a=[],r=0,o=0;for(let t of ia.actors.values())n.push({id:t.id,label:s(t.label),labelType:t.labelType,shape:ib(t),isGroup:!1,padding:10,look:e.look,colorIndex:r++,cssClasses:iM("default","usecase-actor",`usecase-actor-${t.type}`,t.business&&"usecase-business",...t.classes),cssStyles:[...t.styles],cssCompiledStyles:iO(t.classes),actorType:t.type,business:t.business,...t.icon?{icon:t.icon}:{},...t.stereotype?{stereotype:s(t.stereotype)}:{},...t.parentId?{parentId:t.parentId}:{}});for(let t of ia.useCases.values())n.push({id:t.id,label:s(t.label),labelType:t.labelType,shape:iv(t),isGroup:!1,padding:"ellipse"===t.shape?20:10,look:e.look,colorIndex:r++,cssClasses:iM("default","usecase-element",`usecase-${t.shape}`,t.business&&"usecase-business",...t.classes),cssStyles:[...t.styles],cssCompiledStyles:iO(t.classes),business:t.business,...t.stereotype?{stereotype:s(t.stereotype)}:{},...t.parentId?{parentId:t.parentId}:{}});for(let t of ia.notes.values())n.push({id:t.id,label:s(t.label),labelType:t.labelType,shape:"note",isGroup:!1,padding:10,look:e.look,cssClasses:"default usecase-note",cssStyles:[],cssCompiledStyles:iO([]),noteTarget:t.target,noteTargetLabel:s(ia.actors.get(t.target)?.label??ia.useCases.get(t.target)?.label??ia.jsonNodes.get(t.target)?.id??t.target)});for(let t of ia.jsonNodes.values())n.push({id:t.id,label:s(t.id),labelType:"text",shape:"usecaseJsonTable",isGroup:!1,padding:10,look:e.look,cssClasses:iM("default","usecase-json-table",...t.classes),cssStyles:[...t.styles],cssCompiledStyles:iO(t.classes),jsonRows:iC(t.value,t.propertyOrder,s)});for(let t of ia.systemBoundaries.values())n.push({id:t.id,label:s(t.label),labelType:t.labelType,shape:"usecaseSystemBoundary",isGroup:!0,padding:20,look:e.look,colorIndex:o++,cssClasses:iM("default","system-boundary",`system-boundary-${t.type}`,...t.classes),cssStyles:[...t.styles],cssCompiledStyles:iO(t.classes),boundaryType:t.type});for(let t of ia.relationships){let{label:n,...r}=ix(t);a.push({id:t.id,start:t.source,end:t.target,source:t.source,target:t.target,sourceLabel:i(t.source),targetLabel:i(t.target),type:"edge",relationshipType:t.type,internal:!1,...r,...void 0!==n?{label:s(n)}:{},labelpos:"c",classes:iM("default","relationship",`relationship-${t.type}`,...t.classes,...iU(t)),style:[...t.styles],cssCompiledStyles:iO(t.classes),animate:t.animate,...t.animation?{animation:t.animation}:{},look:e.look,thickness:"normal",minlen:t.minlen,isUserDefinedId:t.explicitId})}for(let t of ia.notes.values())a.push({id:`${t.id}-edge`,start:t.id,end:t.target,source:t.id,target:t.target,type:"edge",relationshipType:"note",sourceLabel:i(t.id),targetLabel:i(t.target),internal:!0,pattern:"dotted",arrowTypeStart:"none",arrowTypeEnd:"none",labelpos:"c",classes:"default relationship relationship-note",style:[],cssCompiledStyles:iO([]),animate:!1,look:e.look,thickness:"normal",minlen:1,isUserDefinedId:!1});for(let e of n)e.wrappingWidth??=t.wrappingWidth,e.isGroup||e.shape.startsWith("usecaseActor")||(e.minWidth??=t.minNodeWidth),("usecaseEllipse"===e.shape||"usecaseBusiness"===e.shape)&&(e.spreadPorts=!0);return{nodes:n,edges:a,config:e,type:"usecase",layoutAlgorithm:"dagre",direction:iN(),nodeSpacing:t.nodeSpacing,rankSpacing:t.rankSpacing,actorFontSize:t.actorFontSize,actorFontFamily:t.actorFontFamily,actorFontWeight:t.actorFontWeight,usecaseFontSize:t.usecaseFontSize,usecaseFontFamily:t.usecaseFontFamily,usecaseFontWeight:t.usecaseFontWeight,diagramPadding:t.diagramPadding,useMaxWidth:t.useMaxWidth,markers:["point","circle","cross","extension"]}},"getData"),iP={getConfig:ir,createModel:is,commit:il,getAST:io,clear:ih,setDiagramTitle:E.ke,getDiagramTitle:E.ab,setAccTitle:E.SV,getAccTitle:E.iN,setAccDescription:E.EI,getAccDescription:E.m7,getActors:ic,getActor:id,getUseCases:iu,getUseCase:ip,getSystemBoundaries:im,getSystemBoundary:iT,getRelationships:iA,getNotes:iE,getNote:ig,getJsonNodes:iy,getJsonNode:iL,getClassDefs:iS,getClassDef:iR,getDirection:iN,getData:iw};function iD(e,t,s){let i=[s];return i.index=t,i.input=e,i}(0,y.K)(iD,"customMatch");var i$=(0,y.K)((e,t)=>{if('"'!==e[t]||"`"!==e[t+1])return null;for(let s=t+2;s<e.length-1;s++)if("`"===e[s]&&'"'===e[s+1])return iD(e,t,e.slice(t,s+2));return null},"matchMarkdownString"),iK=(0,y.K)((e,t)=>{if("%"!==e[t]||"%"!==e[t+1])return null;for(let s=t-1;s>=0;s--){let t=e[s];if("\n"===t||"\r"===t)break;if(" "!==t&&" "!==t)return null}let s=t+2;for(;s<e.length&&"\n"!==e[s]&&"\r"!==e[s];)s++;return iD(e,t,e.slice(t,s))},"matchComment"),iF=(0,y.K)((e,t)=>{for(let s=t-1;s>=0;s--){let t=e[s];if("\n"===t||"\r"===t)break;if(" "!==t&&" "!==t)return!1}return!0},"isIndentedLineStart"),iB=(0,y.K)((e,t,s)=>{if(!iF(e,t))return null;let i=s.exec(e.slice(t));return i?iD(e,t,i[0]):null},"matchAccessibilityLine"),iG=(0,y.K)((e,t)=>{if(!iF(e,t))return null;let s=/^accDescr[\t ]*{/.exec(e.slice(t));if(!s)return null;let i=e.indexOf("}",t+s[0].length);return -1===i?null:iD(e,t,e.slice(t,i+1))},"matchAccDescrBlock"),iW=(0,y.K)((e,t)=>{if("{"!==e[t])return null;let s=0,i=!1,n=!1;for(let a=t;a<e.length;a++){let r=e[a];if(i){n?n=!1:"\\"===r?n=!0:'"'===r&&(i=!1);continue}if('"'===r)i=!0;else if("{"===r)s++;else if("}"===r&&0==--s)return iD(e,t,e.slice(t,a+1))}return null},"matchJsonObject"),ij=(0,y.K)((e,t)=>{let s=e.indexOf(">>",t);if(-1===s||/[\n\r]/.test(e.slice(t,s)))return null;let i=e.slice(t,s);return i.trim()?iD(e,t,i):null},"matchStereotypeText"),iz=tZ({name:"LABEL_TEXT",pattern:tB.NA}),iV=tZ({name:"WORD",pattern:tB.NA,categories:iz}),iH=tZ({name:"NUMBER",pattern:/(?:\d+\.\d+|\d+|\.\d+)(?:[A-Za-z]+)?/,categories:iz}),iY=tZ({name:"IDENTIFIER",pattern:/\w+/,longer_alt:iH,categories:iV}),iX=tZ({name:"HWS",pattern:/[\t ]+/,group:tB.SKIPPED}),iJ=tZ({name:"MARKDOWN_STRING",pattern:i$,start_chars_hint:['"'],line_breaks:!0}),iq=tZ({name:"UNCLOSED_MARKDOWN_STRING",pattern:/"`[^]*/,line_breaks:!0}),iZ=tZ({name:"COMMENT",pattern:iK,start_chars_hint:["%"],line_breaks:!1}),iQ=tZ({name:"NEWLINE",pattern:/\r\n|\n|\r/,line_breaks:!0}),i0=tZ({name:"ACC_DESCR_BLOCK",pattern:iG,start_chars_hint:["a"],line_breaks:!0}),i1=/^accTitle[\t ]*:[^\n\r]*/,i2=/^accDescr[\t ]*:[^\n\r]*/,i3=tZ({name:"ACC_TITLE_LINE",pattern:(0,y.K)((e,t)=>iB(e,t,i1),"pattern"),start_chars_hint:["a"],line_breaks:!1}),i6=tZ({name:"ACC_DESCR_LINE",pattern:(0,y.K)((e,t)=>iB(e,t,i2),"pattern"),start_chars_hint:["a"],line_breaks:!1}),i5=tZ({name:"JSON_DECLARATION_START",pattern:/json[\t ]+\w+[\t ]*@[\t ]*(?={)/,push_mode:"jsonBody"}),i9=tZ({name:"JSON_OBJECT_LITERAL",pattern:iW,start_chars_hint:["{"],line_breaks:!0,pop_mode:!0}),i4=tZ({name:"UNCLOSED_JSON_OBJECT_LITERAL",pattern:/{[^]*/,line_breaks:!0,pop_mode:!0}),i8=(0,y.K)((e,t)=>tZ({name:e,pattern:t,longer_alt:iY,categories:iV}),"keyword"),i7=i8("USECASE",/usecase-beta/),ne=i8("ACTOR",/actor/),nt=i8("SYSTEM_BOUNDARY",/systemBoundary/),ns=i8("END",/end/),ni=i8("DIRECTION",/direction/),nn=i8("TD",/TD/),na=i8("TB",/TB/),nr=i8("BT",/BT/),no=i8("LR",/LR/),nl=i8("RL",/RL/),nh=i8("NOTE",/note/),nc=i8("FOR",/for/),nd=i8("JSON",/json/),nu=i8("CLASS_DEF",/classDef/),np=i8("CLASS",/class/),nf=i8("STYLE",/style/),nm=i8("INCLUDE",/include/i),nT=i8("EXTEND",/extend/i),nA=i8("TRUE",/true/),nE=i8("FALSE",/false/),ng=tZ({name:"GENERALIZATION",pattern:/--\|>/}),ny=tZ({name:"DEPENDENCY_ARROW",pattern:/\.\.>/}),nL=tZ({name:"STEREOTYPE_START",pattern:/<</,push_mode:"stereotype"}),nS=tZ({name:"STEREOTYPE_END",pattern:/>>/,pop_mode:!0}),nR=tZ({name:"STEREOTYPE_TEXT",pattern:ij,line_breaks:!1}),nN=tZ({name:"UNCLOSED_STEREOTYPE_TEXT",pattern:/[^\n\r]+/,line_breaks:!1,pop_mode:!0}),nO=tZ({name:"CLASS_SEPARATOR",pattern:/:::/}),nk=tZ({name:"FORWARD_SOLID",pattern:/--+>/}),nI=tZ({name:"BACKWARD_SOLID",pattern:/<--+/}),nC=tZ({name:"FORWARD_CIRCLE",pattern:/--o/}),nb=tZ({name:"BACKWARD_CIRCLE",pattern:/o--/}),nv=tZ({name:"FORWARD_CROSS",pattern:/--x/}),n_=tZ({name:"BACKWARD_CROSS",pattern:/x--/}),nx=tZ({name:"MARKERLESS_SOLID",pattern:/--+/}),nU=tZ({name:"METADATA_START",pattern:/@{/}),nM=tZ({name:"AT",pattern:/@/,categories:iz}),nw=tZ({name:"LBRACE",pattern:/{/}),nP=tZ({name:"RBRACE",pattern:/}/}),nD=tZ({name:"LBRACKET",pattern:/\[/}),n$=tZ({name:"RBRACKET",pattern:/]/}),nK=tZ({name:"LPAREN",pattern:/\(/}),nF=tZ({name:"RPAREN",pattern:/\)/}),nB=tZ({name:"COMMA",pattern:/,/,categories:iz}),nG=tZ({name:"COLON",pattern:/:/,categories:iz}),nW=tZ({name:"HASH_COLOR",pattern:/#[\dA-Fa-f]+/,categories:iz}),nj=tZ({name:"PLAIN_STRING",pattern:/"[^\n\r"]*"|'[^\n\r']*'/}),nz=tZ({name:"CSS_IDENTIFIER",pattern:/--[A-Z_a-z][\w-]*|[A-Z_a-z]\w*(?:-\w+)+/,categories:iz}),nV=tZ({name:"CSS_ESCAPED_COMMA",pattern:/\\,/,categories:iz}),nH=tZ({name:"DASH",pattern:/-/,categories:iz}),nY=tZ({name:"DOT",pattern:/\./,categories:iz}),nX=tZ({name:"PERCENT",pattern:/%/,categories:iz}),nJ=tZ({name:"CSS_PUNCTUATION",pattern:/[!#$&*+/=?^_|~]/,categories:iz}),nq=tZ({name:"LABEL_PUNCTUATION",pattern:/[;<>\\`]/,categories:iz}),nZ=tZ({name:"LABEL_SYMBOL",pattern:/[^\t\n\r !-~]+/,categories:iz}),nQ=[iz,iV,iX,iJ,iq,iZ,iQ,i0,i3,i6,i5,i7,ne,nt,ns,ni,nn,na,nr,no,nl,nh,nc,nd,nu,np,nf,nm,nT,nA,nE,ng,ny,nL,nO,nk,nI,nC,nb,nv,n_,nx,nU,nM,nw,nP,nD,n$,nK,nF,nB,nG,nW,nj,nz,iY,iH,nV,nH,nY,nX,nJ,nq,nZ],n0={defaultMode:"defaultMode",modes:{defaultMode:[...nQ],jsonBody:[i9,i4],stereotype:[nS,nR,nN]}},n1=[...nQ,i9,i4,nS,nR,nN],n2=new tB(n0),n3=(0,y.K)(e=>tx(e,iz)||e.tokenType===nj||e.tokenType===iJ,"isLabelToken"),n6={allowmixing:!0,newpage:!0,package:!0,rectangle:!0,skinparam:!0},n5=new class extends s8{static{(0,y.K)(this,"UsecaseParser")}constructor(){super(n1,{nodeLocationTracking:"full"}),this.RULE("start",()=>{this.CONSUME(i7),this.SUBRULE(this.lineEnd),this.MANY(()=>this.SUBRULE(this.line))}),this.RULE("line",()=>{this.OR([{ALT:(0,y.K)(()=>this.SUBRULE(this.blankLine),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.commentLine),"ALT")},{GATE:(0,y.K)(()=>this.isStatementStart(),"GATE"),ALT:(0,y.K)(()=>this.SUBRULE(this.statement),"ALT")}])}),this.RULE("statement",()=>{this.OR([{ALT:(0,y.K)(()=>this.SUBRULE(this.accTitleStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.accDescrStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.directionStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.actorStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.systemBoundaryStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.noteStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.jsonStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.classDefStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.classStatement),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.styleStatement),"ALT")},{GATE:(0,y.K)(()=>this.isMetadataAssignment(),"GATE"),ALT:(0,y.K)(()=>this.SUBRULE(this.metadataAssignmentStatement),"ALT")},{GATE:(0,y.K)(()=>!this.isForbiddenPlantUmlStatement(),"GATE"),ALT:(0,y.K)(()=>this.SUBRULE(this.entityStatement),"ALT")}])}),this.RULE("lineEnd",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(iQ),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(tQ),"ALT")}])}),this.RULE("blankLine",()=>{this.CONSUME(iQ)}),this.RULE("commentLine",()=>{this.CONSUME(iZ),this.SUBRULE(this.lineEnd)}),this.RULE("accTitleStatement",()=>{this.CONSUME(i3),this.SUBRULE(this.lineEnd)}),this.RULE("accDescrStatement",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(i6),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(i0),"ALT")}]),this.SUBRULE(this.lineEnd)}),this.RULE("actorStatement",()=>{this.CONSUME(ne),this.SUBRULE(this.actorItem),this.OPTION(()=>{this.OR([{ALT:(0,y.K)(()=>this.AT_LEAST_ONE(()=>{this.CONSUME(nB),this.SUBRULE2(this.actorItem)}),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.relationTail),"ALT")}])}),this.SUBRULE(this.lineEnd)}),this.RULE("actorItem",()=>{this.SUBRULE(this.actorName),this.OPTION(()=>this.SUBRULE(this.metadata)),this.OPTION2(()=>this.SUBRULE(this.stereotype)),this.OPTION3(()=>this.SUBRULE(this.classSuffix))}),this.RULE("actorName",()=>{this.OR([{ALT:(0,y.K)(()=>{this.CONSUME(iY),this.OPTION(()=>{this.CONSUME(nK),this.SUBRULE(this.nodeLabel),this.CONSUME(nF)})},"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")}])}),this.RULE("actorDeclarationOnly",()=>{this.CONSUME(ne),this.SUBRULE(this.actorItem),this.MANY(()=>{this.CONSUME(nB),this.SUBRULE2(this.actorItem)}),this.SUBRULE(this.lineEnd)}),this.RULE("entityStatement",()=>{this.SUBRULE(this.entityName),this.OPTION(()=>this.SUBRULE(this.relationTail)),this.SUBRULE(this.lineEnd)}),this.RULE("entityName",()=>{this.OR([{ALT:(0,y.K)(()=>{this.CONSUME(iY),this.OPTION(()=>{this.OR2([{ALT:(0,y.K)(()=>{this.CONSUME(nK),this.SUBRULE(this.nodeLabel),this.CONSUME(nF)},"ALT")},{ALT:(0,y.K)(()=>{this.CONSUME(nD),this.SUBRULE2(this.nodeLabel),this.CONSUME(n$)},"ALT")}])})},"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")}]),this.OPTION2(()=>this.SUBRULE(this.useCaseMetadata)),this.OPTION3(()=>this.SUBRULE(this.stereotype)),this.OPTION4(()=>this.SUBRULE(this.classSuffix))}),this.RULE("nodeLabel",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")},{ALT:(0,y.K)(()=>this.AT_LEAST_ONE(()=>this.CONSUME(iz)),"ALT")}])}),this.RULE("useCaseMetadata",()=>{this.SUBRULE(this.metadata)}),this.RULE("relationTail",()=>{this.OPTION({GATE:(0,y.K)(()=>this.LA(1).tokenType===iY&&this.LA(2).tokenType===nM,"GATE"),DEF:(0,y.K)(()=>{this.CONSUME(iY),this.CONSUME(nM)},"DEF")}),this.SUBRULE(this.arrow),this.SUBRULE(this.entityName)}),this.RULE("arrow",()=>{this.OR([{ALT:(0,y.K)(()=>this.SUBRULE(this.semanticRelation),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.forwardSolidOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.backwardSolidOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.markerlessSolidOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.forwardCircleOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.backwardCircleOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.forwardCrossOperator),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.backwardCrossOperator),"ALT")}])}),this.RULE("forwardSolidOperator",()=>{this.CONSUME(nk)}),this.RULE("backwardSolidOperator",()=>{this.CONSUME(nI),this.OPTION({GATE:(0,y.K)(()=>"<--"===this.LA(0).image&&this.hasLabeledRight([nx]),"GATE"),DEF:(0,y.K)(()=>{this.SUBRULE(this.edgeLabel),this.CONSUME(nx)},"DEF")})}),this.RULE("markerlessSolidOperator",()=>{this.CONSUME(nx),this.OPTION({GATE:(0,y.K)(()=>"--"===this.LA(0).image&&this.hasLabeledRight([nk,nx,nC,nv]),"GATE"),DEF:(0,y.K)(()=>{this.SUBRULE(this.edgeLabel),this.OR([{ALT:(0,y.K)(()=>this.CONSUME(nk),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME2(nx),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nC),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nv),"ALT")}])},"DEF")})}),this.RULE("forwardCircleOperator",()=>{this.CONSUME(nC)}),this.RULE("backwardCircleOperator",()=>{this.CONSUME(nb),this.OPTION({GATE:(0,y.K)(()=>this.hasLabeledRight([nx]),"GATE"),DEF:(0,y.K)(()=>{this.SUBRULE(this.edgeLabel),this.CONSUME(nx)},"DEF")})}),this.RULE("forwardCrossOperator",()=>{this.CONSUME(nv)}),this.RULE("backwardCrossOperator",()=>{this.CONSUME(n_),this.OPTION({GATE:(0,y.K)(()=>this.hasLabeledRight([nx]),"GATE"),DEF:(0,y.K)(()=>{this.SUBRULE(this.edgeLabel),this.CONSUME(nx)},"DEF")})}),this.RULE("edgeLabel",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")},{ALT:(0,y.K)(()=>this.AT_LEAST_ONE(()=>this.CONSUME(iz)),"ALT")}])}),this.RULE("semanticRelation",()=>{this.OR([{ALT:(0,y.K)(()=>{this.CONSUME(ny),this.CONSUME(nG),this.OR2([{ALT:(0,y.K)(()=>this.CONSUME(nm),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nT),"ALT")}])},"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(ng),"ALT")}])}),this.RULE("metadata",()=>{this.CONSUME(nU),this.MANY(()=>this.CONSUME(iQ)),this.OPTION(()=>{this.SUBRULE(this.metadataProperty),this.MANY2(()=>{this.SUBRULE(this.metadataSeparator),this.SUBRULE2(this.metadataProperty)}),this.OPTION2(()=>this.CONSUME(nB)),this.MANY3(()=>this.CONSUME2(iQ))}),this.CONSUME(nP)}),this.RULE("metadataProperty",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(iY),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")}]),this.CONSUME(nG),this.OR2([{ALT:(0,y.K)(()=>this.CONSUME2(iY),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME2(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nA),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nE),"ALT")}])}),this.RULE("metadataSeparator",()=>{this.OR([{ALT:(0,y.K)(()=>{this.CONSUME(nB),this.MANY(()=>this.CONSUME(iQ))},"ALT")},{ALT:(0,y.K)(()=>{this.AT_LEAST_ONE(()=>this.CONSUME2(iQ)),this.OPTION(()=>this.CONSUME2(nB)),this.MANY2(()=>this.CONSUME3(iQ))},"ALT")}])}),this.RULE("systemBoundaryStatement",()=>{this.CONSUME(nt),this.SUBRULE(this.systemBoundaryName),this.OPTION(()=>this.SUBRULE(this.metadata)),this.OPTION2(()=>this.SUBRULE(this.classSuffix)),this.SUBRULE(this.lineEnd),this.SUBRULE(this.systemBoundaryContent),this.CONSUME(ns),this.SUBRULE2(this.lineEnd)}),this.RULE("systemBoundaryName",()=>{this.OR([{ALT:(0,y.K)(()=>{this.CONSUME(iY),this.OPTION(()=>{this.OR2([{ALT:(0,y.K)(()=>{this.CONSUME(nK),this.SUBRULE(this.nodeLabel),this.CONSUME(nF)},"ALT")},{ALT:(0,y.K)(()=>{this.CONSUME(nD),this.SUBRULE2(this.nodeLabel),this.CONSUME(n$)},"ALT")}])})},"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")}])}),this.RULE("systemBoundaryContent",()=>{this.MANY(()=>{this.OR([{ALT:(0,y.K)(()=>this.SUBRULE(this.blankLine),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.commentLine),"ALT")},{ALT:(0,y.K)(()=>this.SUBRULE(this.boundaryElement),"ALT")}])})}),this.RULE("boundaryElement",()=>{this.OR([{ALT:(0,y.K)(()=>this.SUBRULE(this.actorDeclarationOnly),"ALT")},{ALT:(0,y.K)(()=>{this.SUBRULE(this.entityName),this.SUBRULE(this.lineEnd)},"ALT")}])}),this.RULE("metadataAssignmentStatement",()=>{this.SUBRULE(this.metadataAssignmentTarget),this.SUBRULE(this.metadata),this.SUBRULE(this.lineEnd)}),this.RULE("metadataAssignmentTarget",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(iY),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iJ),"ALT")}])}),this.RULE("noteStatement",()=>{this.CONSUME(nh),this.CONSUME(nc),this.CONSUME(iY),this.SUBRULE(this.nodeLabel),this.SUBRULE(this.lineEnd)}),this.RULE("stereotype",()=>{this.CONSUME(nL),this.CONSUME(nR),this.CONSUME(nS)}),this.RULE("classSuffix",()=>{this.CONSUME(nO),this.CONSUME(iY),this.MANY(()=>{this.CONSUME(nB),this.CONSUME2(iY)})}),this.RULE("jsonStatement",()=>{this.CONSUME(i5),this.CONSUME(i9),this.OPTION(()=>this.SUBRULE(this.classSuffix)),this.SUBRULE(this.lineEnd)}),this.RULE("directionStatement",()=>{this.CONSUME(ni),this.OR([{ALT:(0,y.K)(()=>this.CONSUME(nn),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(na),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nr),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(no),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nl),"ALT")}]),this.SUBRULE(this.lineEnd)}),this.RULE("classDefStatement",()=>{this.CONSUME(nu),this.CONSUME(iY),this.MANY(()=>{this.CONSUME(nB),this.CONSUME2(iY)}),this.SUBRULE(this.styles),this.SUBRULE(this.lineEnd)}),this.RULE("classStatement",()=>{this.CONSUME(np),this.CONSUME(iY),this.MANY(()=>{this.CONSUME(nB),this.CONSUME2(iY)}),this.CONSUME3(iY),this.MANY2(()=>{this.CONSUME2(nB),this.CONSUME4(iY)}),this.SUBRULE(this.lineEnd)}),this.RULE("styleStatement",()=>{this.CONSUME(nf),this.CONSUME(iY),this.SUBRULE(this.styles),this.SUBRULE(this.lineEnd)}),this.RULE("styles",()=>{this.SUBRULE(this.styleValue),this.MANY(()=>{this.CONSUME(nB),this.SUBRULE2(this.styleValue)})}),this.RULE("styleValue",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(iV),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nz),"ALT")},{ALT:(0,y.K)(()=>{this.CONSUME(nx),this.CONSUME2(iV)},"ALT")}]),this.CONSUME(nG),this.AT_LEAST_ONE(()=>this.SUBRULE(this.styleComponent))}),this.RULE("styleComponent",()=>{this.OR([{ALT:(0,y.K)(()=>this.CONSUME(iV),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nj),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(iH),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nW),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nz),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nV),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nH),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nY),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nX),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nJ),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nG),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nK),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nF),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nD),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(n$),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nw),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nP),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nM),"ALT")},{ALT:(0,y.K)(()=>this.CONSUME(nx),"ALT")}])}),this.performSelfAnalysis()}isMetadataAssignment(){let e=this.LA(1).tokenType;return(e===iY||e===nj||e===iJ)&&this.LA(2).tokenType===nU}isStatementStart(){let e=this.LA(1).tokenType;return e!==tQ&&e!==iQ&&e!==iZ}isForbiddenPlantUmlStatement(){return this.LA(1).tokenType===iY&&!0===n6[this.LA(1).image.toLowerCase()]}hasLabeledRight(e){if(!n3(this.LA(1)))return!1;for(let t=2;;t++){let s=this.LA(t);if(e.includes(s.tokenType))return!0;if(!n3(s))return!1}}},n9=class extends Error{constructor(e,t,s){super(`${e} (line ${t}, column ${s})`),this.line=t,this.column=s,this.name="UsecaseJsonError"}static{(0,y.K)(this,"UsecaseJsonError")}},n4=(0,y.K)((e,t,s,i)=>{let n=s,a=i,r=Math.min(Math.max(t,0),e.length);for(let t=0;t<r;t++){let s=e[t];"\r"===s?(n++,a=1):"\n"===s?(0===t||"\r"!==e[t-1])&&(n++,a=1):a++}return{line:n,column:a}},"locationAtOffset"),n8=(0,y.K)((e,t,s,i)=>{let n=/\bposition (\d+)\b/u.exec(e);if(n)return n4(t,Number.parseInt(n[1],10),s,i);let a=/\bline (\d+) column (\d+)\b/u.exec(e);if(a){let e=Number.parseInt(a[1],10),t=Number.parseInt(a[2],10);return{line:s+e-1,column:1===e?i+t-1:t}}if(/unexpected end|end of json input/iu.test(e))return n4(t,t.length,s,i)},"locationFromErrorMessage"),n7=class extends Error{constructor(e){super("Invalid JSON token"),this.offset=e}static{(0,y.K)(this,"JsonWalkError")}},ae=class{constructor(e){this.text=e,this.offset=0,this.propertyOrder={}}static{(0,y.K)(this,"PropertyOrderCollector")}collect(){if(this.skipWhitespace(),this.collectValue(""),this.skipWhitespace(),this.offset!==this.text.length)throw new n7(this.offset);return this.propertyOrder}collectValue(e){this.skipWhitespace();let t=this.text[this.offset];if("{"===t)this.collectObject(e);else if("["===t)this.collectArray(e);else if('"'===t)this.readString(!1);else if("t"===t)this.consumeLiteral("true");else if("f"===t)this.consumeLiteral("false");else if("n"===t)this.consumeLiteral("null");else if("-"===t||t>="0"&&t<="9")this.consumeNumber();else throw new n7(this.offset)}collectObject(e){this.offset++;let t=[],s=new Set;if(this.propertyOrder[e]=t,this.skipWhitespace(),"}"===this.text[this.offset])return void this.offset++;for(;this.offset<this.text.length&&'"'===this.text[this.offset];){let i=this.readString(!0),n=`${e}/${i.replaceAll("~","~0").replaceAll("/","~1")}`;if(s.has(i)?this.deletePointerSubtree(n):(s.add(i),t.push(i)),this.skipWhitespace(),":"!==this.text[this.offset])break;if(this.offset++,this.collectValue(n),this.skipWhitespace(),"}"===this.text[this.offset])return void this.offset++;if(","!==this.text[this.offset])break;this.offset++,this.skipWhitespace()}throw new n7(this.offset)}collectArray(e){if(this.offset++,this.skipWhitespace(),"]"===this.text[this.offset])return void this.offset++;let t=0;for(;this.offset<this.text.length;){if(this.collectValue(`${e}/${t}`),t++,this.skipWhitespace(),"]"===this.text[this.offset])return void this.offset++;if(","!==this.text[this.offset])break;this.offset++,this.skipWhitespace()}throw new n7(this.offset)}readString(e){this.offset++;let t="";for(;this.offset<this.text.length;){let s=this.offset,i=this.text[this.offset++];if('"'===i)return t;if(32>i.charCodeAt(0))throw new n7(s);if("\\"!==i){e&&(t+=i);continue}let n=this.offset,a=this.text[this.offset++];switch(a){case'"':case"\\":case"/":e&&(t+=a);break;case"b":e&&(t+="\b");break;case"f":e&&(t+="\f");break;case"n":e&&(t+="\n");break;case"r":e&&(t+="\r");break;case"t":e&&(t+=" ");break;case"u":{let s=this.text.slice(this.offset,this.offset+4);if(!/^[\dA-Fa-f]{4}$/u.test(s))throw new n7(this.offset);e&&(t+=String.fromCharCode(Number.parseInt(s,16))),this.offset+=4;break}default:throw new n7(n)}}throw new n7(this.offset)}consumeLiteral(e){let t=0;for(let s of e){if(this.text[this.offset+t]!==s)throw new n7(this.offset+t);t++}this.offset+=e.length}consumeNumber(){if("-"===this.text[this.offset]&&this.offset++,"0"===this.text[this.offset])this.offset++;else if(this.text[this.offset]>="1"&&this.text[this.offset]<="9")for(;this.text[this.offset]>="0"&&this.text[this.offset]<="9";)this.offset++;else throw new n7(this.offset);if("."===this.text[this.offset]){if(this.offset++,this.text[this.offset]<"0"||this.text[this.offset]>"9")throw new n7(this.offset);for(;this.text[this.offset]>="0"&&this.text[this.offset]<="9";)this.offset++}if("e"===this.text[this.offset]||"E"===this.text[this.offset]){if(this.offset++,("+"===this.text[this.offset]||"-"===this.text[this.offset])&&this.offset++,this.text[this.offset]<"0"||this.text[this.offset]>"9")throw new n7(this.offset);for(;this.text[this.offset]>="0"&&this.text[this.offset]<="9";)this.offset++}}skipWhitespace(){for(;this.offset<this.text.length;){let e=this.text[this.offset];if(" "!==e&&" "!==e&&"\n"!==e&&"\r"!==e)return;this.offset++}}deletePointerSubtree(e){let t=`${e}/`;for(let s of Object.keys(this.propertyOrder))(s===e||s.startsWith(t))&&delete this.propertyOrder[s]}};function at(e,t,s){let i;try{i=JSON.parse(e)}catch(a){let i=a instanceof Error?a.message:String(a),n=n8(i,e,t,s);if(!n){let i=0;try{new ae(e).collect()}catch(e){e instanceof n7&&(i=e.offset)}n=n4(e,i,t,s)}throw new n9(`Invalid JSON: ${i}`,n.line,n.column)}if("object"!=typeof i||null===i||Array.isArray(i))throw new n9("JSON value must have an object root",t,s);return{value:i,propertyOrder:new ae(e).collect()}}(0,y.K)(at,"parseOrderedJsonObject");var as=(0,y.K)(e=>({shape:"normal"===e.type?"actor":"hollow"===e.type?"actor-hollow":"awesome"===e.type?"actor-awesome":"actor-icon",...e.label===e.id?{}:{label:e.label},...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{kind:"actor",actorType:e.type,business:e.business,labelType:e.labelType,...e.icon?{icon:e.icon}:{},...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{}}}),"actorNode"),ai=(0,y.K)(e=>({shape:e.shape,...e.label===e.id?{}:{label:e.label},...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{kind:"usecase",useCaseShape:e.shape,business:e.business,labelType:e.labelType,...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{}}}),"useCaseNode"),an=(0,y.K)(e=>({label:e.label,shape:"note",attrs:{kind:"note",target:e.target,labelType:e.labelType}}),"noteNode"),aa=(0,y.K)(e=>({label:e.id,shape:"json-table",...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{kind:"json",value:e.value,propertyOrder:e.propertyOrder,labelType:"text"}}),"jsonNode"),ar=(0,y.K)(e=>({id:e.id,source:e.source,target:e.target,...e.label?{label:e.label}:{},...e.classes.length?{classes:[...e.classes]}:{},...e.styles.length?{styles:[...e.styles]}:{},attrs:{relationshipType:e.type,arrowType:e.arrowType,minlen:e.minlen,explicitId:e.explicitId,animate:e.animate,...e.animation?{animation:e.animation}:{},...e.labelType?{labelType:e.labelType}:{}}}),"relationshipEdge"),ao=(0,y.K)(e=>({id:`${e.id}-edge`,source:e.id,target:e.target,attrs:{relationshipType:"note",arrowType:2,pattern:"dotted",minlen:1,explicitId:!1,animate:!1,internal:!0}}),"noteEdge"),al=(0,y.K)((e,t,s,i)=>{let n={};for(let t of e.getActors().values())n[t.id]=as(t);for(let t of e.getUseCases().values())n[t.id]=ai(t);for(let t of e.getNotes().values())n[t.id]=an(t);for(let t of e.getJsonNodes().values())n[t.id]=aa(t);let a={};for(let t of e.getSystemBoundaries().values())a[t.id]={...t.label===t.id?{}:{title:t.label},nodes:[...t.members],...t.classes.length?{classes:[...t.classes]}:{},...t.styles.length?{styles:[...t.styles]}:{},attrs:{kind:"systemBoundary",boundaryType:t.type,labelType:t.labelType}};let r={};for(let t of e.getClassDefs().values())r[t.id]={styles:[...t.styles]};let o=e.getDirection();return{version:1,diagramType:"usecase",source:t,header:{keyword:"usecase",direction:"TD"===o?"TB":o,span:s},...e.getAccTitle()?{accTitle:e.getAccTitle()}:{},...e.getAccDescription()?{accDescr:e.getAccDescription()}:{},nodes:n,edges:[...e.getRelationships().map(ar),...[...e.getNotes().values()].map(ao)],groups:a,classDefs:r,statements:i}},"buildUsecaseGraphAST"),ah=(0,y.K)(e=>`line ${e.line}, column ${e.column} [${e.span[0]},${e.span[1]})`,"locationText"),ac=(0,y.K)(e=>void 0===e?"":` (label "${e}")`,"labelSuffix"),ad=(0,y.K)(e=>e.generated?e.label:void 0,"generatedFrom"),au=(0,y.K)((e,t)=>{for(let s of t)e.includes(s)||e.push(s)},"pushUnique"),ap=class{constructor(e){this.db=e,this.source="",this.statements=[],this.elements=[],this.boundaries=[],this.jsonDrafts=[],this.relationshipDrafts=[],this.noteDrafts=[],this.metadataAssignments=[],this.classAssignments=[],this.styleAssignments=[],this.classDefinitions=[],this.directions=[],this.model=e.createModel()}static{(0,y.K)(this,"UsecaseModelBuilder")}reset(e){this.model=this.db.createModel(),this.source=e,this.statements=[],this.elements.length=0,this.boundaries.length=0,this.jsonDrafts.length=0,this.relationshipDrafts.length=0,this.noteDrafts.length=0,this.metadataAssignments.length=0,this.classAssignments.length=0,this.styleAssignments.length=0,this.classDefinitions.length=0,this.directions.length=0}addElement(e){this.elements.push(e)}addBoundary(e){this.boundaries.push(e)}addJson(e){this.jsonDrafts.push(e)}addRelationship(e){this.relationshipDrafts.push(e)}addNote(e){this.noteDrafts.push(e)}addMetadataAssignment(e,t,s,i){this.metadataAssignments.push({target:e,targetLocation:t,metadata:s,statement:i})}addClassDef(e,t){this.classDefinitions.push({ids:e,styles:t})}addClassAssignment(e,t){this.classAssignments.push({targets:e,classes:t})}addStyleAssignment(e,t,s){this.styleAssignments.push({target:e,location:t,styles:s})}setDirection(e){this.directions.push("TD"===e?"TB":e)}setAccTitle(e){this.model.accTitle=e}setAccDescription(e){this.model.accDescription=e}setStatements(e){this.statements=e}getActors(){return this.model.actors}getUseCases(){return this.model.useCases}getSystemBoundaries(){return this.model.systemBoundaries}getRelationships(){return this.model.relationships}getNotes(){return this.model.notes}getJsonNodes(){return this.model.jsonNodes}getClassDefs(){return this.model.classDefs}getDirection(){return this.model.direction}getAccTitle(){return this.model.accTitle}getAccDescription(){return this.model.accDescription}finalize(e){let t=new Map,s=new Map,i=new Map,n=new Map;for(let e of this.relationshipDrafts)this.recordFirst(n,e.source.id,e.source.location.span[0]),this.recordFirst(n,e.target.id,e.target.location.span[0]);for(let e of this.elements)this.recordFirst(n,e.id,e.location.span[0]);for(let e of this.boundaries)this.recordFirst(n,e.id,e.location.span[0]);for(let e of this.jsonDrafts)this.recordFirst(n,e.id,e.location.span[0]);for(let e of[...this.elements.map(e=>({offset:e.location.span[0],type:"element",value:e})),...this.boundaries.map(e=>({offset:e.location.span[0],type:"boundary",value:e})),...this.jsonDrafts.map(e=>({offset:e.location.span[0],type:"json",value:e})),...this.relationshipDrafts.filter(e=>e.explicitId).map(e=>({offset:e.explicitIdLocation.span[0],type:"edge",value:e}))].sort((e,t)=>e.offset-t.offset))"element"===e.type?this.collectElement(e.value,t,s):"boundary"===e.type?this.collectBoundary(e.value,t,i):"json"===e.type?this.registerUnique(t,e.value.id,"json",e.value.location,!1):this.registerUnique(t,e.value.explicitId,"edge",e.value.explicitIdLocation,!1);this.materializeElements(s,n),this.materializeBoundaries(i,n),this.materializeJson(n);let a=this.materializeRelationships(t,s,n);this.reorderElements(s,n),this.applyMetadataAssignments(t,s,i,a),this.validateAndRefreshElements(s),this.refreshBoundaries(i,s),this.materializeNotes(t),this.applyClassDefinitions(),this.applyClassesAndStyles(t,a),this.model.direction=this.directions.at(-1)??this.model.direction,this.model.symbols=new Map([...t].map(([e,t])=>[e,t.kind]));let r=al(this,this.source,e,this.statements);return this.model.ast=r,this.db.commit(this.model),r}collectElement(e,t,s){let i=t.get(e.id),n=ad({generated:e.generated,label:e.label.text});i&&i.kind!==e.kind&&this.conflict(`ID '${e.id}' is declared as both ${i.kind} and ${e.kind}`,e.location,i.location,n,ad(i)),i&&(i.generated||e.generated)&&this.conflict(`Generated ID '${e.id}' collides with another declaration`,e.location,i.location,n,ad(i));let a=s.get(e.id);if(!a){let i={kind:e.kind,id:e.id,label:e.label,location:e.location,generated:e.generated,classes:[...e.classes],...e.parentId?{parentId:e.parentId,parentLocation:e.parentLocation}:{},...e.shape?{shape:e.shape}:{},...e.stereotype?{stereotype:e.stereotype,stereotypeLocation:e.location}:{}};this.applyDeclarationMetadata(i,e.metadata),s.set(e.id,i),t.set(e.id,{kind:e.kind,location:e.location,generated:e.generated,label:e.label.text});return}(a.label.text!==e.label.text||a.label.type!==e.label.type)&&this.conflict(`ID '${e.id}' has conflicting labels`,e.location,a.location),e.shape&&a.shape&&e.shape!==a.shape&&this.conflict(`Use case '${e.id}' has conflicting shapes`,e.location,a.location),e.parentId&&a.parentId&&e.parentId!==a.parentId&&this.conflict(`Element '${e.id}' belongs to more than one system boundary`,e.parentLocation??e.location,a.parentLocation??a.location),e.stereotype&&a.stereotype&&e.stereotype!==a.stereotype&&this.conflict(`Element '${e.id}' has conflicting stereotypes`,e.location,a.stereotypeLocation??a.location),a.shape??=e.shape,a.parentId??=e.parentId,a.parentLocation??=e.parentLocation,a.stereotype??=e.stereotype,a.stereotypeLocation??=e.stereotype?e.location:void 0,au(a.classes,e.classes),this.applyDeclarationMetadata(a,e.metadata)}collectBoundary(e,t,s){let i=t.get(e.id),n=ad({generated:e.generated,label:e.label.text});i&&"boundary"!==i.kind&&this.conflict(`ID '${e.id}' is declared as both ${i.kind} and boundary`,e.location,i.location,n,ad(i)),i&&(i.generated||e.generated)&&this.conflict(`Generated ID '${e.id}' collides with another declaration`,e.location,i.location,n,ad(i));let a=s.get(e.id);if(a){(a.label.text!==e.label.text||a.label.type!==e.label.type)&&this.conflict(`Boundary '${e.id}' has conflicting titles`,e.location,a.location),au(a.classes,e.classes);return}s.set(e.id,{id:e.id,label:e.label,location:e.location,generated:e.generated,classes:[...e.classes],styles:[],members:[]}),t.set(e.id,{kind:"boundary",location:e.location,generated:e.generated,label:e.label.text})}materializeElements(e,t){for(let s of[...e.values()].sort((e,s)=>(t.get(e.id)??0)-(t.get(s.id)??0)))this.setElementModel(s)}materializeBoundaries(e,t){for(let s of[...e.values()].sort((e,s)=>(t.get(e.id)??0)-(t.get(s.id)??0)))this.model.systemBoundaries.set(s.id,{id:s.id,label:s.label.text,labelType:s.label.type,type:s.type??"rect",members:[],classes:[...s.classes],styles:[...s.styles]})}materializeJson(e){for(let t of[...this.jsonDrafts].sort((t,s)=>(e.get(t.id)??0)-(e.get(s.id)??0)))this.model.jsonNodes.set(t.id,{id:t.id,value:t.value,propertyOrder:t.propertyOrder,classes:[...t.classes],styles:[]})}materializeRelationships(e,t,s){let i=new Map,n=0;for(let a of this.relationshipDrafts){let r=this.resolveEndpoint(a.source,e,t,s),o=this.resolveEndpoint(a.target,e,t,s);this.validateRelationship(a,r,o,e);let l=a.explicitId??`edge-${n++}`,h={id:l,explicitId:!!a.explicitId,source:a.source.id,target:a.target.id,type:a.type,arrowType:a.arrowType,...a.label?{label:a.label.text,labelType:a.label.type}:{},minlen:a.minlen,classes:[],styles:[],animate:!1};this.model.relationships.push(h),i.set(l,{draft:a,relationship:h})}return this.model.relationshipCounter=n,i}resolveEndpoint(e,t,s,i){if(e.classesOnReference&&!e.declaration)throw Error(`Relationship endpoint '${e.id}' uses ::: without declaring the node at ${ah(e.location)}`);let n=t.get(e.id);return n?n.kind:(s.set(e.id,{kind:"usecase",id:e.id,label:e.label,location:e.location,generated:e.generated,shape:"ellipse",classes:[]}),t.set(e.id,{kind:"usecase",location:e.location,generated:e.generated,label:e.label.text}),this.recordFirst(i,e.id,e.location.span[0]),"usecase")}reorderElements(e,t){let s=new Map(this.model.actors),i=new Map(this.model.useCases);for(let n of(this.model.actors.clear(),this.model.useCases.clear(),[...e.values()].sort((e,s)=>(t.get(e.id)??0)-(t.get(s.id)??0)))){s.has(n.id)||i.has(n.id)||this.setElementModel(n);let e=s.get(n.id)??this.model.actors.get(n.id),t=i.get(n.id)??this.model.useCases.get(n.id);e?this.model.actors.set(n.id,e):t&&this.model.useCases.set(n.id,t)}}applyMetadataAssignments(e,t,s,i){for(let n of this.metadataAssignments){let a=e.get(n.target);if(!a){let e=this.inferMetadataKind(n.metadata);throw Error(`Metadata target '${n.target}' is unresolved${e?` (metadata implies ${e})`:""} at ${ah(n.targetLocation)}`)}if("actor"===a.kind||"usecase"===a.kind)this.applyStandaloneElementMetadata(t.get(n.target),n.metadata);else if("boundary"===a.kind){let e=s.get(n.target);for(let t of n.metadata.properties)("type"!==t.key||"rect"!==t.value&&"package"!==t.value)&&this.invalidMetadata(n.target,a.kind,t),e.type=t.value}else if("edge"===a.kind){let e=i.get(n.target);if(!e)throw Error(`Metadata target '${n.target}' is not an explicit edge at ${ah(n.targetLocation)}`);for(let t of(n.statement.kind="edgeMetadata",n.statement.edges=[{id:n.target,span:n.statement.span,idSpan:n.targetLocation.span,...n.statement.metadata?{metadata:n.statement.metadata}:{}}],delete n.statement.nodes,n.metadata.properties))"animate"===t.key&&"boolean"==typeof t.value?e.relationship.animate=t.value:"animation"===t.key&&("fast"===t.value||"slow"===t.value)?(e.relationship.animation=t.value,e.relationship.animate=!0):this.invalidMetadata(n.target,a.kind,t)}else for(let e of n.metadata.properties)this.invalidMetadata(n.target,a.kind,e)}for(let{relationship:e}of i.values())e.animation&&(e.animate=!0)}applyStandaloneElementMetadata(e,t){for(let s of t.properties)"actor"===e.kind?this.applyActorProperty(e,s,!0):"business"===s.key&&"boolean"==typeof s.value?e.business=s.value:this.invalidMetadata(e.id,e.kind,s)}applyDeclarationMetadata(e,t){if(t)for(let s of t.properties)"actor"===e.kind?this.applyActorProperty(e,s,!1):"business"===s.key&&"boolean"==typeof s.value?(void 0!==e.business&&e.business!==s.value&&this.conflict(`Use case '${e.id}' has conflicting business metadata`,s.location,e.location),e.business=s.value):this.invalidMetadata(e.id,e.kind,s)}applyActorProperty(e,t,s){"type"===t.key&&("normal"===t.value||"hollow"===t.value||"awesome"===t.value)?(s||void 0===e.actorType||e.actorType===t.value||this.conflict(`Actor '${e.id}' has conflicting type metadata`,t.location,e.location),e.actorType=t.value):"icon"===t.key&&"string"==typeof t.value?(s||void 0===e.icon||e.icon===t.value||this.conflict(`Actor '${e.id}' has conflicting icon metadata`,t.location,e.location),e.icon=t.value):"business"===t.key&&"boolean"==typeof t.value?(s||void 0===e.business||e.business===t.value||this.conflict(`Actor '${e.id}' has conflicting business metadata`,t.location,e.location),e.business=t.value):this.invalidMetadata(e.id,e.kind,t)}validateAndRefreshElements(e){for(let t of e.values()){let e=t.icon?"icon":t.actorType??"normal";if("actor"===t.kind){if(t.icon&&t.actorType&&"normal"!==t.actorType)throw Error(`Actor '${t.id}' cannot combine icon with type '${t.actorType}' at ${ah(t.location)}`);if(t.business&&("icon"===e||"awesome"===e))throw Error(`Business actor '${t.id}' must use normal or hollow geometry at ${ah(t.location)}`)}else if((t.shape??"ellipse")==="rect"&&t.business)throw Error(`Rectangular use case '${t.id}' cannot be a business use case at ${ah(t.location)}`);this.setElementModel(t)}}refreshBoundaries(e,t){for(let t of e.values())t.members.length=0;for(let t of[...this.elements].sort((e,t)=>e.location.span[0]-t.location.span[0])){if(!t.parentId)continue;let s=e.get(t.parentId);if(!s)throw Error(`Parent boundary '${t.parentId}' for '${t.id}' is unresolved at ${ah(t.parentLocation??t.location)}`);s.members.includes(t.id)||s.members.push(t.id)}for(let s of t.values())if(s.parentId&&!e.has(s.parentId))throw Error(`Parent boundary '${s.parentId}' for '${s.id}' is unresolved at ${ah(s.parentLocation??s.location)}`);for(let t of e.values()){let e=this.model.systemBoundaries.get(t.id);e.type=t.type??"rect",e.members=[...t.members],e.classes=[...t.classes],e.styles=[...t.styles]}}materializeNotes(e){let t=0;for(let s of this.noteDrafts){let i=e.get(s.target);if(!i)throw Error(`Note target '${s.target}' is unresolved at ${ah(s.targetLocation)}`);"actor"!==i.kind&&"usecase"!==i.kind&&this.conflict(`Note target '${s.target}' must be an actor or use case, not ${i.kind}`,s.targetLocation,i.location);let n=`note-${t++}`;this.model.notes.set(n,{id:n,target:s.target,label:s.label.text,labelType:s.label.type})}this.model.noteCounter=t}applyClassDefinitions(){for(let e of this.classDefinitions)for(let t of e.ids)this.model.classDefs.set(t,{id:t,styles:[...e.styles]})}applyClassesAndStyles(e,t){for(let s of this.classAssignments)for(let i of s.targets)au(this.getStylable(i.id,e,t,i.location).classes,s.classes);for(let s of this.styleAssignments)this.getStylable(s.target,e,t,s.location).styles.push(...s.styles)}getStylable(e,t,s,i){let n=t.get(e)?.kind,a="actor"===n?this.model.actors.get(e):"usecase"===n?this.model.useCases.get(e):"boundary"===n?this.model.systemBoundaries.get(e):"json"===n?this.model.jsonNodes.get(e):"edge"===n?s.get(e)?.relationship:void 0;if(!a)throw Error(`Class/style target '${e}' is unresolved or anonymous at ${ah(i)}`);return a}validateRelationship(e,t,s,i){let n=(0,y.K)(e=>"actor"===e||"usecase"===e||"json"===e,"allowed");if(n(t)||this.conflict(`Relationship source '${e.source.id}' cannot be ${t}`,e.source.location,i.get(e.source.id).location),n(s)||this.conflict(`Relationship target '${e.target.id}' cannot be ${s}`,e.target.location,i.get(e.target.id).location),("include"===e.type||"extend"===e.type)&&("usecase"!==t||"usecase"!==s))throw Error(`${e.type} relationship requires use-case endpoints at ${ah(e.location)}`);if("generalization"===e.type&&("actor"!==t&&"usecase"!==t||t!==s))throw Error(`Generalization requires actor-to-actor or use-case-to-use-case endpoints at ${ah(e.location)}`);if("association"===e.type&&("json"===t||"json"===s)&&![0,1,2].includes(e.arrowType))throw Error(`JSON relationship '${e.source.id}' to '${e.target.id}' permits only point, reversed-point, or markerless solid association at ${ah(e.location)}`)}setElementModel(e){if("actor"===e.kind){let t=e.icon?"icon":e.actorType??"normal";this.model.useCases.delete(e.id),this.model.actors.set(e.id,{id:e.id,label:e.label.text,labelType:e.label.type,type:t,...e.icon?{icon:e.icon}:{},business:e.business??!1,...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{},classes:[...e.classes],styles:this.model.actors.get(e.id)?.styles??[]})}else this.model.actors.delete(e.id),this.model.useCases.set(e.id,{id:e.id,label:e.label.text,labelType:e.label.type,shape:e.shape??"ellipse",business:e.business??!1,...e.stereotype?{stereotype:e.stereotype}:{},...e.parentId?{parentId:e.parentId}:{},classes:[...e.classes],styles:this.model.useCases.get(e.id)?.styles??[]})}inferMetadataKind(e){let t=new Set(["actor","usecase","boundary","edge"]);for(let s of e.properties)if("icon"===s.key)t.clear(),t.add("actor");else if("animate"===s.key||"animation"===s.key)t.clear(),t.add("edge");else if("type"===s.key)t.clear(),"rect"===s.value||"package"===s.value?t.add("boundary"):("normal"===s.value||"hollow"===s.value||"awesome"===s.value)&&t.add("actor");else{if("business"!==s.key)return;t.delete("boundary"),t.delete("edge")}return 1===t.size?[...t][0]:void 0}invalidMetadata(e,t,s){throw Error(`Metadata property '${s.key}' is invalid for ${t} '${e}' at ${ah(s.location)}`)}registerUnique(e,t,s,i,n){let a=e.get(t);a&&this.conflict(`ID '${t}' is declared more than once (${a.kind} and ${s})`,i,a.location,void 0,ad(a)),e.set(t,{kind:s,location:i,generated:n})}recordFirst(e,t,s){let i=e.get(t);(void 0===i||s<i)&&e.set(t,s)}conflict(e,t,s,i,n){throw Error(`${e} at ${ah(t)}${ac(i)}; previous declaration at ${ah(s)}${ac(n)}`)}},af=n5.getBaseCstVisitorConstructor(),am=new class extends af{constructor(){super(),this.builder=new ap(iP),this.source="",this.anonymousEdge=0,this.anonymousNote=0,this.validateVisitor()}static{(0,y.K)(this,"UsecaseVisitor")}build(e,t){this.source=t,this.parentBoundary=void 0,this.anonymousEdge=0,this.anonymousNote=0,this.builder.reset(t),this.visit(e)}start(e){let t=this.tokens(e,"USECASE")[0],s=[];for(let t of this.nodes(e,"line"))s.push(this.visit(t));this.builder.setStatements(s),this.builder.finalize(this.tokenSpan(t))}line(e){let t=this.firstNode(e,"blankLine","commentLine","statement");return this.wrap(t,this.visit(t))}statement(e){return this.visit(this.firstNode(e,"accTitleStatement","accDescrStatement","directionStatement","actorStatement","systemBoundaryStatement","noteStatement","jsonStatement","classDefStatement","classStatement","styleStatement","metadataAssignmentStatement","entityStatement"))}lineEnd(e){}blankLine(e){return{kind:"blank",span:this.tokenSpan(this.tokens(e,"NEWLINE")[0])}}commentLine(e){return{kind:"comment",span:this.tokenSpan(this.tokens(e,"COMMENT")[0])}}accTitleStatement(e){let t=this.tokens(e,"ACC_TITLE_LINE")[0].image;return this.builder.setAccTitle(t.slice(t.indexOf(":")+1).trim()),{kind:"accTitle",span:[0,0]}}accDescrStatement(e){let t=this.tokens(e,"ACC_DESCR_LINE")[0],s=this.tokens(e,"ACC_DESCR_BLOCK")[0],i=t?t.image.slice(t.image.indexOf(":")+1).trim():s.image.slice(s.image.indexOf("{")+1,s.image.lastIndexOf("}")).trim();return this.builder.setAccDescription(i),{kind:"accDescr",span:[0,0]}}actorStatement(e){let t=this.nodes(e,"actorItem"),s=t.map(e=>this.visit(e)),i=this.nodes(e,"relationTail")[0],n=s.map((e,s)=>this.actorOccurrence(t[s],e,!0));for(let e of s)this.builder.addElement(this.actorDraft(e));if(!i)return{kind:"node",span:[0,0],nodes:n};let a=this.visit(i);a.target.explicitDeclaration&&this.builder.addElement(this.entityDraft(a.target));let r=this.relationshipDraft(s[0],a,this.nodeLocation(i));this.builder.addRelationship(r);let o=r.explicitId??`edge-${this.anonymousEdge++}`;return n.push(this.entityOccurrence(this.nodes(i.children,"entityName")[0],a.target,a.target.explicitDeclaration)),{kind:"edge",span:[0,0],nodes:n,edges:[{id:o,span:[0,0],...r.explicitIdLocation?{idSpan:r.explicitIdLocation.span}:{},...r.label?{labelSpan:r.label.span}:{}}]}}actorItem(e){let t=this.visit(this.nodes(e,"actorName")[0]),s=this.nodes(e,"metadata")[0],i=this.nodes(e,"stereotype")[0],n=this.nodes(e,"classSuffix")[0],a=n?this.visit(n):{classes:[],spans:[]};return{...t,...s?{metadata:this.visit(s)}:{},...i?{stereotype:this.visit(i)}:{},classes:a.classes,classSpans:a.spans}}actorName(e){let t=this.tokens(e,"IDENTIFIER")[0],s=this.tokens(e,"PLAIN_STRING")[0]??this.tokens(e,"MARKDOWN_STRING")[0];if(t){let s=this.nodes(e,"nodeLabel")[0],i=s?this.visit(s):this.tokenLabel(t);return{id:t.image,label:i,location:this.tokenLocation(t),generated:!1,classes:[],classSpans:[]}}let i=this.tokenLabel(s);return{id:this.generateId(i.text),label:i,location:this.tokenLocation(s),generated:!0,classes:[],classSpans:[]}}actorDeclarationOnly(e){let t=this.nodes(e,"actorItem"),s=t.map(e=>this.visit(e));for(let e of s)this.builder.addElement(this.actorDraft(e));return{kind:"node",span:[0,0],nodes:s.map((e,s)=>this.actorOccurrence(t[s],e,!0))}}entityStatement(e){let t=this.nodes(e,"entityName"),s=this.visit(t[0]),i=this.nodes(e,"relationTail")[0];if(!i)return s.explicitDeclaration=!0,s.shape??="ellipse",this.builder.addElement(this.entityDraft(s)),{kind:"node",span:[0,0],nodes:[this.entityOccurrence(t[0],s,!0)]};s.explicitDeclaration&&this.builder.addElement(this.entityDraft(s));let n=this.visit(i);n.target.explicitDeclaration&&this.builder.addElement(this.entityDraft(n.target));let a={source:this.endpoint(s),target:this.endpoint(n.target),location:this.nodeLocation(i),...n.explicitId?{explicitId:n.explicitId,explicitIdLocation:n.explicitIdLocation}:{},...n.arrow};this.builder.addRelationship(a);let r=a.explicitId??`edge-${this.anonymousEdge++}`;return{kind:"edge",span:[0,0],nodes:[this.entityOccurrence(t[0],s,s.explicitDeclaration),this.entityOccurrence(this.nodes(i.children,"entityName")[0],n.target,n.target.explicitDeclaration)],edges:[{id:r,span:[0,0],...a.explicitIdLocation?{idSpan:a.explicitIdLocation.span}:{},...a.label?{labelSpan:a.label.span}:{}}]}}entityName(e){let t=this.tokens(e,"IDENTIFIER")[0],s=this.tokens(e,"PLAIN_STRING")[0]??this.tokens(e,"MARKDOWN_STRING")[0],i=this.nodes(e,"nodeLabel")[0],n=this.nodes(e,"useCaseMetadata")[0],a=this.nodes(e,"stereotype")[0],r=this.nodes(e,"classSuffix")[0],o=r?this.visit(r):{classes:[],spans:[]};if(t){let s=i?this.visit(i):this.tokenLabel(t),r=i?this.tokens(e,"LBRACKET").length?"rect":"ellipse":void 0;return{id:t.image,label:s,location:this.tokenLocation(t),generated:!1,...r?{shape:r}:{},...n?{metadata:this.visit(n)}:{},...a?{stereotype:this.visit(a)}:{},classes:o.classes,classSpans:o.spans,explicitDeclaration:!!(r||n||a)}}let l=this.tokenLabel(s);return{id:this.generateId(l.text),label:l,location:this.tokenLocation(s),generated:!0,...n?{metadata:this.visit(n)}:{},...a?{stereotype:this.visit(a)}:{},classes:o.classes,classSpans:o.spans,explicitDeclaration:!!(n||a)}}nodeLabel(e){let t=this.allTokens(e);if(1===t.length&&("PLAIN_STRING"===t[0].tokenType.name||"MARKDOWN_STRING"===t[0].tokenType.name))return this.tokenLabel(t[0]);let s=[t[0].startOffset,(t.at(-1).endOffset??t.at(-1).startOffset)+1];return{text:this.source.slice(s[0],s[1]),type:"text",span:s}}useCaseMetadata(e){return this.visit(this.nodes(e,"metadata")[0])}relationTail(e){let t=this.tokens(e,"IDENTIFIER")[0];return{...t?{explicitId:t.image,explicitIdLocation:this.tokenLocation(t)}:{},arrow:this.visit(this.nodes(e,"arrow")[0]),target:this.visit(this.nodes(e,"entityName")[0])}}arrow(e){return this.visit(this.firstNode(e,"semanticRelation","forwardSolidOperator","backwardSolidOperator","markerlessSolidOperator","forwardCircleOperator","backwardCircleOperator","forwardCrossOperator","backwardCrossOperator"))}edgeLabel(e){return this.nodeLabel(e)}semanticRelation(e){if(this.tokens(e,"GENERALIZATION").length)return{type:"generalization",arrowType:0,minlen:1};let t=this.tokens(e,"INCLUDE").length?"include":"extend",s=this.tokens(e,"include"===t?"INCLUDE":"EXTEND")[0];return{type:t,arrowType:0,label:{text:t,type:"text",span:this.tokenSpan(s)},minlen:1}}metadata(e){return{properties:this.nodes(e,"metadataProperty").map(e=>this.visit(e)),location:this.ctxLocation(e)}}metadataProperty(e){let t=this.allTokens(e).filter(e=>"COLON"!==e.tokenType.name),s=t[0],i=t[1],n="TRUE"===i.tokenType.name||"FALSE"!==i.tokenType.name&&this.decodePlain(i),a=[s.startOffset,(i.endOffset??i.startOffset)+1];return{key:this.decodePlain(s),value:n,span:a,keySpan:this.contentSpan(s),valueSpan:this.contentSpan(i),location:this.tokenLocation(s)}}metadataSeparator(e){}systemBoundaryStatement(e){let t=this.visit(this.nodes(e,"systemBoundaryName")[0]),s=this.nodes(e,"classSuffix")[0],i=s?this.visit(s):{classes:[],spans:[]};t.classes=i.classes,this.builder.addBoundary(t);let n=this.parentBoundary;this.parentBoundary={id:t.id,location:t.location};let a=this.nodes(e,"systemBoundaryContent")[0],r=a?this.visit(a):[];this.parentBoundary=n;let o=this.tokens(e,"END")[0],l=this.nodes(e,"metadata")[0],h=l?this.visit(l):void 0,c={kind:"group",span:[0,0],group:t.id,idSpan:t.location.span,titleSpan:t.label.span,endSpan:this.tokenSpan(o),classSpans:i.spans,...h?{metadata:h.properties.map(({key:e,span:t,keySpan:s,valueSpan:i})=>({key:e,span:t,keySpan:s,valueSpan:i}))}:{},...r.length?{children:r}:{}};return h&&this.builder.addMetadataAssignment(t.id,t.location,h,c),c}systemBoundaryName(e){let t=this.tokens(e,"IDENTIFIER")[0];if(t){let s=this.nodes(e,"nodeLabel")[0];return{id:t.image,label:s?this.visit(s):this.tokenLabel(t),location:this.tokenLocation(t),generated:!1,classes:[]}}let s=this.tokens(e,"PLAIN_STRING")[0]??this.tokens(e,"MARKDOWN_STRING")[0],i=this.tokenLabel(s);return{id:this.generateId(i.text),label:i,location:this.tokenLocation(s),generated:!0,classes:[]}}systemBoundaryContent(e){return[...this.nodes(e,"blankLine"),...this.nodes(e,"commentLine"),...this.nodes(e,"boundaryElement")].sort((e,t)=>(e.location?.startOffset??0)-(t.location?.startOffset??0)).map(e=>this.wrap(e,this.visit(e)))}boundaryElement(e){let t=this.nodes(e,"actorDeclarationOnly")[0];if(t)return this.visit(t);let s=this.nodes(e,"entityName")[0],i=this.visit(s);return i.explicitDeclaration=!0,i.shape??="ellipse",this.builder.addElement(this.entityDraft(i)),{kind:"node",span:[0,0],nodes:[this.entityOccurrence(s,i,!0)]}}metadataAssignmentStatement(e){let t=this.visit(this.nodes(e,"metadataAssignmentTarget")[0]),s=this.visit(this.nodes(e,"metadata")[0]),i={kind:"metadata",span:[0,0],nodes:[{id:t.id,span:t.location.span,idSpan:t.location.span}],metadata:s.properties.map(({key:e,span:t,keySpan:s,valueSpan:i})=>({key:e,span:t,keySpan:s,valueSpan:i}))};return this.builder.addMetadataAssignment(t.id,t.location,s,i),i}metadataAssignmentTarget(e){let t=this.allTokens(e)[0],s=this.tokenLabel(t);return{id:"IDENTIFIER"===t.tokenType.name?t.image:this.generateId(s.text),location:this.tokenLocation(t)}}noteStatement(e){let t=this.tokens(e,"IDENTIFIER")[0],s=this.visit(this.nodes(e,"nodeLabel")[0]);return this.builder.addNote({target:t.image,targetLocation:this.tokenLocation(t),label:s,location:this.ctxLocation(e)}),{kind:"note",span:[0,0],ref:`note-${this.anonymousNote++}`,refSpan:s.span,nodes:[{id:t.image,span:this.tokenSpan(t),idSpan:this.tokenSpan(t)}]}}stereotype(e){let t=this.tokens(e,"STEREOTYPE_TEXT")[0];return{value:t.image.trim(),span:this.tokenSpan(t)}}classSuffix(e){let t=this.tokens(e,"IDENTIFIER");return{classes:t.map(e=>e.image),spans:t.map(e=>this.tokenSpan(e))}}jsonStatement(e){let t=this.tokens(e,"JSON_DECLARATION_START")[0],s=this.tokens(e,"JSON_OBJECT_LITERAL")[0],i=/^json[\t ]+(\w+)/.exec(t.image),n=i[1],a=i[0].length-n.length,r={span:[t.startOffset+a,t.startOffset+a+n.length],line:t.startLine??1,column:(t.startColumn??1)+a},o=at(s.image,s.startLine??1,s.startColumn??1),l=this.nodes(e,"classSuffix")[0],h=l?this.visit(l):{classes:[],spans:[]},c={id:n,value:o.value,propertyOrder:o.propertyOrder,location:r,classes:h.classes};return this.builder.addJson(c),{kind:"json",span:[0,0],nodes:[{id:n,span:r.span,idSpan:r.span,defines:!0,classSpans:h.spans}],classSpans:h.spans}}directionStatement(e){let t=this.allTokens(e).find(e=>["TD","TB","BT","RL","LR"].includes(e.tokenType.name));return this.builder.setDirection(t.image),{kind:"direction",span:[0,0]}}classDefStatement(e){let t=this.tokens(e,"IDENTIFIER"),s=this.visit(this.nodes(e,"styles")[0]);return this.builder.addClassDef(t.map(e=>e.image),s),{kind:"classDef",span:[0,0],ref:t[0].image,refSpan:this.tokenSpan(t[0])}}classStatement(e){let t=this.tokens(e,"IDENTIFIER"),s=1;for(;s<t.length&&this.source.slice((t[s-1].endOffset??t[s-1].startOffset)+1,t[s].startOffset).includes(",");s++);let i=t.slice(0,s).map(e=>({id:e.image,location:this.tokenLocation(e)})),n=t.slice(s).map(e=>e.image);return this.builder.addClassAssignment(i,n),{kind:"classAssign",span:[0,0],ref:n[0],refSpan:this.tokenSpan(t[s]),nodes:i.map(({id:e,location:t})=>({id:e,span:t.span,idSpan:t.span}))}}styleStatement(e){let t=this.tokens(e,"IDENTIFIER")[0],s=this.visit(this.nodes(e,"styles")[0]);return this.builder.addStyleAssignment(t.image,this.tokenLocation(t),s),{kind:"style",span:[0,0],nodes:[{id:t.image,span:this.tokenSpan(t),idSpan:this.tokenSpan(t)}]}}styles(e){return this.nodes(e,"styleValue").map(e=>this.visit(e))}styleValue(e){let t=this.allTokens(e),s=[t[0].startOffset,(t.at(-1).endOffset??t.at(-1).startOffset)+1];return this.source.slice(s[0],s[1]).replaceAll("\\,",",")}styleComponent(e){return this.allTokens(e).map(e=>e.image).join("")}forwardSolidOperator(e){let t=this.tokens(e,"FORWARD_SOLID")[0];return{type:"association",arrowType:0,minlen:this.solidMinlen(t)}}backwardSolidOperator(e){let t=this.tokens(e,"BACKWARD_SOLID")[0],s=this.nodes(e,"edgeLabel")[0],i=s?this.tokens(e,"MARKERLESS_SOLID").at(-1):t;return{type:"association",arrowType:1,minlen:this.solidMinlen(i),...s?{label:this.visit(s)}:{}}}markerlessSolidOperator(e){let t=this.nodes(e,"edgeLabel")[0],s=this.allTokens(e);if(!t)return{type:"association",arrowType:2,minlen:this.solidMinlen(this.tokens(e,"MARKERLESS_SOLID")[0])};let i=s.at(-1),n="FORWARD_SOLID"===i.tokenType.name?0:"FORWARD_CIRCLE"===i.tokenType.name?3:"FORWARD_CROSS"===i.tokenType.name?4:2;return{type:"association",arrowType:n,label:this.visit(t),minlen:0===n||2===n?this.solidMinlen(i):1}}forwardCircleOperator(e){return{type:"association",arrowType:3,minlen:1}}backwardCircleOperator(e){let t=this.nodes(e,"edgeLabel")[0];return{type:"association",arrowType:5,minlen:1,...t?{label:this.visit(t)}:{}}}forwardCrossOperator(e){return{type:"association",arrowType:4,minlen:1}}backwardCrossOperator(e){let t=this.nodes(e,"edgeLabel")[0];return{type:"association",arrowType:6,minlen:1,...t?{label:this.visit(t)}:{}}}actorDraft(e){return{id:e.id,kind:"actor",label:e.label,location:e.location,generated:e.generated,...this.parentBoundary?{parentId:this.parentBoundary.id,parentLocation:this.parentBoundary.location}:{},...e.metadata?{metadata:e.metadata}:{},...e.stereotype?{stereotype:e.stereotype.value,stereotypeSpan:e.stereotype.span}:{},classes:e.classes}}entityDraft(e){return{id:e.id,kind:"usecase",label:e.label,location:e.location,generated:e.generated,...this.parentBoundary?{parentId:this.parentBoundary.id,parentLocation:this.parentBoundary.location}:{},...e.shape?{shape:e.shape}:{},...e.metadata?{metadata:e.metadata}:{},...e.stereotype?{stereotype:e.stereotype.value,stereotypeSpan:e.stereotype.span}:{},classes:e.classes}}endpoint(e,t=e.explicitDeclaration??!0){return{id:e.id,label:e.label,location:e.location,generated:e.generated,declaration:t,classesOnReference:e.classes.length>0}}relationshipDraft(e,t,s){return{source:this.endpoint(e,!0),target:this.endpoint(t.target),location:s,...t.explicitId?{explicitId:t.explicitId,explicitIdLocation:t.explicitIdLocation}:{},...t.arrow}}actorOccurrence(e,t,s){return{id:t.id,span:this.nodeSpan(e),idSpan:t.location.span,labelSpan:t.label.span,...s?{defines:!0}:{},...t.stereotype?{stereotypeSpan:t.stereotype.span}:{},...t.metadata?{metadata:t.metadata.properties.map(({key:e,span:t,keySpan:s,valueSpan:i})=>({key:e,span:t,keySpan:s,valueSpan:i}))}:{},...t.classSpans.length?{classSpans:t.classSpans}:{}}}entityOccurrence(e,t,s){return this.actorOccurrence(e,t,s)}wrap(e,t){if("blank"===t.kind||"comment"===t.kind)return t;for(let s of(t.span=this.nodeSpan(e),t.edges??[]))s.span=t.span;return t}tokenLabel(e){let t="MARKDOWN_STRING"===e.tokenType.name?"markdown":"text",s="markdown"===t?2:+("PLAIN_STRING"===e.tokenType.name),i=this.tokenSpan(e,s);return{text:this.source.slice(i[0],i[1]),type:t,span:i}}decodePlain(e){return"PLAIN_STRING"===e.tokenType.name?e.image.slice(1,-1):e.image}contentSpan(e){return this.tokenSpan(e,"PLAIN_STRING"===e.tokenType.name?1:2*("MARKDOWN_STRING"===e.tokenType.name))}generateId(e){return e.replace(/\W/g,"_")}solidMinlen(e){return Math.max(1,(e.image.match(/-/g)?.length??2)-1)}nodeLocation(e){let t=this.allTokens(e.children)[0];return{span:this.nodeSpan(e),line:t.startLine??1,column:t.startColumn??1}}ctxLocation(e){let t=this.allTokens(e).filter(e=>"NEWLINE"!==e.tokenType.name&&"EOF"!==e.tokenType.name),s=t[0],i=t.at(-1);return{span:[s.startOffset,Math.min(this.source.length,(i.endOffset??i.startOffset+i.image.length-1)+1)],line:s.startLine??1,column:s.startColumn??1}}tokenLocation(e){let t="PLAIN_STRING"===e.tokenType.name?1:2*("MARKDOWN_STRING"===e.tokenType.name);return{span:this.tokenSpan(e,t),line:e.startLine??1,column:(e.startColumn??1)+t}}nodeSpan(e){let t=this.allTokens(e.children).filter(e=>"NEWLINE"!==e.tokenType.name&&"EOF"!==e.tokenType.name),s=t[0],i=t.at(-1);if(!s||!i)throw Error("Usecase CST node has no source token");return[s.startOffset,Math.min(this.source.length,(i.endOffset??i.startOffset+i.image.length-1)+1)]}tokenSpan(e,t=0){return[e.startOffset+t,Math.min(this.source.length,(e.endOffset??e.startOffset+e.image.length-1)+1-t)]}nodes(e,t){return(e[t]??[]).filter(e=>"children"in e)}tokens(e,t){return(e[t]??[]).filter(e=>"tokenTypeIdx"in e)}firstNode(e,...t){for(let s of t){let t=this.nodes(e,s)[0];if(t)return t}throw Error(`Usecase CST is missing one of: ${t.join(", ")}`)}allTokens(e){let t=[];for(let s of Object.values(e))for(let e of s)"tokenTypeIdx"in e?t.push(e):t.push(...this.allTokens(e.children));return t.sort((e,t)=>e.startOffset-t.startOffset)}},aT={parse:(0,y.K)(async e=>{iP.clear(),n5.input=[];try{ie({diagramType:"usecase",lexer:n2,parser:n5,entry:(0,y.K)(()=>n5.start(),"entry"),visit:(0,y.K)(t=>am.build(t,e),"visit")},e)}catch(s){iP.clear();let t=n5.errors[0];if(t){let{token:i}=t,n=Number.isFinite(i.startOffset)?i.startOffset:e.length,a="number"==typeof i.endOffset&&Number.isFinite(i.endOffset)?i.endOffset+1:n,r=i.startLine??e.slice(0,n).split(/\r\n|\r|\n/).length,o=Math.max(e.lastIndexOf("\n",n-1),e.lastIndexOf("\r",n-1)),l=i.startColumn??n-o,h=s instanceof Error?s.message:String(s);throw Error(`${h} at line ${r}, column ${l} [${n},${a})`)}throw s}},"parse")},aA=["point","circle","cross","extension"],aE={usecaseActor:!0,usecaseActorHollow:!0,usecaseActorAwesome:!0,usecaseActorIcon:!0},ag=(0,y.K)((e,t)=>{let[s,i]=[e,t].map(e=>e.replace(/[^\w-]+/g,"_").replace(/^_+|_+$/g,"")||"element");return`usecase-${s}-${i}`},"usecaseDomId"),ay=(0,y.K)(e=>`usecase-${e.replace(/[^\w-]+/g,"_").replace(/^_+|_+$/g,"")||"element"}`,"usecaseNodeDomId"),aL=(0,y.K)((e,t)=>"markdown"!==t?e:(0,m.O6)(e).map(e=>e.map(e=>e.content).join(" ")).join("\n"),"getAccessibleLabel"),aS=(0,y.K)(e=>{let t=aL(e.label??e.id,e.labelType);if(aE[e.shape]){let s=e.actorType&&"normal"!==e.actorType?`${e.actorType} `:"",i=e.business?"business ":"",n=e.stereotype?`, stereotype ${e.stereotype}`:"";return`${i}${s}actor ${t}${n}`}if("note"===e.shape)return`Note for ${e.noteTargetLabel??e.noteTarget??""}: ${t}`;if("usecaseJsonTable"===e.shape){let s=(e.jsonRows??[]).map(e=>`${e.accessibleKey}: ${e.value}`).join("; ");return s?`${t}: ${s}`:t}let s=e.stereotype?`, stereotype ${e.stereotype}`:"";return`${e.business?"business ":""}use case ${t}${s}`},"getUsecaseNodeAccessibleName"),aR=(0,y.K)(e=>`${e.boundaryType} system boundary ${aL(e.label??e.id,e.labelType)}`,"getUsecaseBoundaryAccessibleName"),aN=(0,y.K)(e=>{if("note"===e.relationshipType)return"";let t="association"===e.relationshipType&&e.label?`association ${aL(e.label,e.labelType)}`:e.relationshipType;return`${t} from ${e.sourceLabel} to ${e.targetLabel}`},"getUsecaseEdgeAccessibleName"),aO=(0,y.K)(e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),"escapePlainLabel"),ak=(0,y.K)(e=>e.replace(/([*[\\\]_`])/g,"\\$1"),"escapeMarkdownMarkers"),aI=(0,y.K)((e,t)=>{for(let s of(e.diagramId=t,e.markers=[...aA],e.nodes))if(s.domId=ay(s.id),void 0!==s.label&&"text"===s.labelType&&(s.label=aO(s.label)),s.stereotype&&(s.stereotype=aO(s.stereotype)),s.isGroup||"usecaseJsonTable"!==s.shape||(s.jsonRows=s.jsonRows?.map(e=>({...e,key:aO(e.key),value:aO(e.value)}))),!s.isGroup&&("usecaseEllipse"===s.shape||"rect"===s.shape)&&s.stereotype){let e=s.label??aO(s.id);s.label=`\xab${ak(s.stereotype)}\xbb<br/>${"text"===s.labelType?ak(e):e}`,s.labelType="markdown",s.hasFoldedStereotype=!0,delete s.stereotype}for(let t of e.edges)void 0!==t.label&&"text"===t.labelType&&(t.label=aO(t.label));return e},"prepareUsecaseLayoutData"),aC=(0,y.K)((e,t,s)=>{for(let i of t.nodes){let n="string"==typeof i.domId?i.domId:ag(t.diagramId,i.id),a=e.select(`#${n}`),r=i.isGroup?"boundary":aE[i.shape]?"actor":"note"===i.shape?"note":"usecaseJsonTable"===i.shape?"json":"usecase",o=s.nodes.get(i.id)??i.id;if(a.attr("data-usecase-id",i.id).attr("data-usecase-kind",r).attr("role","img").attr("aria-label",o),!i.isGroup&&("usecaseEllipse"===i.shape||"rect"===i.shape)&&"hasFoldedStereotype"in i&&!0===i.hasFoldedStereotype){let e=a.node(),t=e?.querySelector(".nodeLabel"),s=t?.querySelector("p")??t,i=s?.firstChild;if(s&&i?.nodeType===3){let e=s.ownerDocument.createElement("span");e.className="usecase-stereotype",s.insertBefore(e,i),e.appendChild(i)}else e?.querySelector(".label tspan tspan, .label tspan")?.classList.add("usecase-stereotype")}}let i=new Map(t.edges.map(e=>[e.id,e]));e.selectAll('path[data-et="edge"]').each(function(){let e=i.get(this.getAttribute("data-id")??"");if(!e)return;let n=(0,s7.Ltv)(this);n.attr("id",ag(t.diagramId,e.id)).attr("data-usecase-id",e.id).attr("data-usecase-kind",e.internal?"note-connector":"relationship"),e.internal?n.attr("aria-hidden","true"):n.attr("role","img").attr("aria-label",s.edges.get(e.id)??e.id)})},"annotateUsecaseElements"),ab=(0,y.K)((e,t)=>{e.style("--mermaid-usecase-actor-font-size",`${t.actorFontSize}px`).style("--mermaid-usecase-actor-font-family",t.actorFontFamily).style("--mermaid-usecase-actor-font-weight",t.actorFontWeight).style("--mermaid-usecase-font-size",`${t.usecaseFontSize}px`).style("--mermaid-usecase-font-family",t.usecaseFontFamily).style("--mermaid-usecase-font-weight",t.usecaseFontWeight)},"applyUsecaseFonts"),av=(0,y.K)(async(e,t,s,i)=>{g.R.info("Drawing usecase diagram (unified)",t);let{layout:n}=(0,E.D7)(),a=i.db,r=a.getData(),o=new Map(r.nodes.map(e=>[e.id,aL(e.label??e.id,e.labelType)])),l={nodes:new Map(r.nodes.map(e=>[e.id,e.isGroup?aR(e):aS("note"===e.shape?{...e,noteTargetLabel:o.get(e.noteTarget??"")}:e)])),edges:new Map(r.edges.map(e=>[e.id,aN({...e,sourceLabel:o.get(e.source)??e.sourceLabel,targetLabel:o.get(e.target)??e.targetLabel})]))},h=(0,u.A)(t,r.config.securityLevel);r.layoutAlgorithm=(0,f.q7)(n),aI(r,t),ab(h,r),await (0,f.XX)(r,h),aC(h,r,l);let c=r.diagramPadding;A._K.insertTitle(h,"usecaseDiagramTitleText",0,a.getDiagramTitle?.()??""),(0,p.P)(h,c,"usecaseDiagram",r.useMaxWidth),ab(h,r)},"draw"),a_=(0,y.K)(e=>({actorBkg:e.usecaseActorBkg??e.actorBkg??e.mainBkg,actorBorder:e.usecaseActorBorder??e.actorBorder??e.primaryColor,bkg:e.usecaseBkg??e.mainBkg,border:e.usecaseBorder??e.nodeBorder??e.primaryColor,boundaryBkg:e.usecaseBoundaryBkg??e.clusterBkg,boundaryBorder:e.usecaseBoundaryBorder??e.clusterBorder,includeLine:e.usecaseIncludeLine??e.lineColor,extendLine:e.usecaseExtendLine??e.lineColor}),"roleColors"),ax=(0,y.K)(e=>{let{theme:t,bkgColorArray:s,borderColorArray:i}=e;if(!(0,T.P1)(t,i))return"";let n=(0,E.zj)().usecase?.colorScheme==="rotate",a=(0,T.rq)(e.look),r="handDrawn"===a,o=(0,T.Ic)(s),l="";for(let e=0;e<(0,T.Hu)(i);e++){let t=i[e],h=o?`fill: ${s[e%s.length]};`:"",c=`[data-look="${a}"][data-color-id="color-${e}"]`;l+=` + + & ${c}.system-boundary rect.boundary-body, + & ${c}.system-boundary rect.boundary-tab, + & ${c}.system-boundary .boundary-body path, + & ${c}.system-boundary .boundary-tab path { + stroke: ${t}; + ${h} + } + `,n&&(l+=` + + /* Use case bodies -- \`.usecase-element\` covers the ellipse form, the \`[Rect]\` form and + the business variant. + + Element selectors only, never a bare \`path\`. Under the handDrawn look roughjs draws + the body as a *pair* of paths, an outline stroked in the border colour and a hachure + fill stroked in the background colour, with no class to tell them apart. Stroking + both repaints the fill lines as border colour and the shape collapses into a solid + block -- which is what \`.usecase-element path\` did. So handDrawn bodies keep the + theme's uniform colours, exactly as handDrawn flowchart nodes do. */ + & ${c}.usecase-element ellipse, + & ${c}.usecase-element rect { + stroke: ${t}; + ${h} + } + + /* The business marker is a single classed path, so it can be reached safely by name -- + without it the marker keeps the uniform border beside a palette-coloured body. No + \`fill\`: the marker is drawn with \`fill="none"\` and has to stay that way. */ + & ${c}.usecase-element .usecase-business-marker { + stroke: ${t}; + } + + /* Actor glyphs, mirroring the uniform rule further down. The fill goes on the glyph + group, never on its children, so the hollow variant's own \`fill="none"\` keeps + winning and a hollow actor stays hollow. Same reason as above for not descending + into the handDrawn paths. */ + & ${c}.usecase-actor .usecase-actor-shape, + & ${c}.usecase-actor .usecase-actor-hollow, + & ${c}.usecase-actor .usecase-actor-awesome, + & ${c}.usecase-actor .usecase-actor-icon { + stroke: ${t}; + ${h} + } +${r?"":` + /* The group rule above reaches the glyph by inheritance, which the neo look breaks: it + ships a \`[data-look="neo"].node path { stroke }\` rule that hits the glyph's own paths, + and a value set directly on the child always beats one inherited from the parent, + whatever the parent rule's specificity. So name the children too. + + Emitted for every look *except* handDrawn, where roughjs draws the glyph as an + outline path plus a hachure fill path stroked in the fill colour, indistinguishable + in CSS -- stroking both turns a hollow actor into a solid disc. Deliberately no + \`fill\` either way, so the hollow variant's own \`fill="none"\` keeps winning. */ + & ${c}.usecase-actor .usecase-actor-glyph path, + & ${c}.usecase-actor .usecase-actor-glyph circle { + stroke: ${t}; + } +`} + `)}return l},"genColor"),aU={parser:aT,db:iP,renderer:{draw:av},styles:(0,y.K)(e=>{let t=a_(e),s="handDrawn"===(0,T.rq)(e.look);return` + ${ax(e)} + & .usecase-actor { + color: ${e.actorTextColor??e.primaryTextColor}; + } + + & .usecase-actor-shape, + & .usecase-actor-hollow, + & .usecase-actor-awesome, + & .usecase-actor-icon { + fill: ${t.actorBkg}; + stroke: ${t.actorBorder}; + stroke-width: 2px; + } +${s?"":` + /* The rule above colours the glyph group and lets its children inherit, which the neo + look breaks: it ships a \`[data-look="neo"].node path { stroke }\` rule that lands on + the glyph's own paths, and a value set directly on a child always beats one inherited + from its parent, whatever the parent rule's specificity. Since neo is the default look, + without this every actor renders in the node border colour rather than the actor + colour the rule above asks for. + + \`.node\` is in the selector to outrank that neo rule rather than tie with it: both + would otherwise be one attribute plus one class plus one element, leaving the winner to + depend on which stylesheet is concatenated last. + + Stroke only: the hollow variant's own \`fill="none"\` has to keep winning. */ + & .node.usecase-actor .usecase-actor-glyph path, + & .node.usecase-actor .usecase-actor-glyph circle { + stroke: ${t.actorBorder}; + } +`} + & .usecase-actor .nodeLabel, + & .actor-label { + color: ${e.actorTextColor??e.primaryTextColor}; + fill: ${e.actorTextColor??e.primaryTextColor}; + font-family: var(--mermaid-usecase-actor-font-family, ${e.fontFamily}); + font-size: var(--mermaid-usecase-actor-font-size, 14px); + font-weight: var(--mermaid-usecase-actor-font-weight, normal); + } + + & .usecase-element ellipse, + & .usecase-element rect, + & .usecase-business ellipse, + & .usecase-business rect { + fill: ${t.bkg}; + stroke: ${t.border}; + stroke-width: 2px; + } +${s?"":` + /* The same interception the actor glyph hits, one element down: neo ships + \`[data-look="neo"].node rect { stroke: nodeBorder }\`, which outranks the plain + \`.usecase-element rect\` above, so a use case written in the \`[Rect]\` form kept the node + border colour while its ellipse siblings took the role colour. An \`<ellipse>\` has no + equivalent neo rule and is already correct; restating it here costs nothing and means + the two forms cannot drift apart again. + + Qualified with \`[data-look]\` *and* \`.node\` to land strictly above that rule rather than + tie with it -- on a tie the later stylesheet would win, which is how neo took this in + the first place. Skipped under handDrawn, where roughjs draws paths and neither element + exists. */ + & [data-look="${(0,T.rq)(e.look)}"].node.usecase-element ellipse, + & [data-look="${(0,T.rq)(e.look)}"].node.usecase-element rect { + fill: ${t.bkg}; + stroke: ${t.border}; + } + + /* The business marker is a \`<path>\`, so it loses to \`[data-look="neo"].node path\` the same + way. No \`fill\`: the marker is drawn with \`fill="none"\` and has to stay that way. */ + & [data-look="${(0,T.rq)(e.look)}"].node.usecase-element .usecase-business-marker { + stroke: ${t.border}; + } +`} + & .usecase-element .nodeLabel, + & .usecase-label { + color: ${e.primaryTextColor}; + fill: ${e.primaryTextColor}; + font-family: var(--mermaid-usecase-font-family, ${e.fontFamily}); + font-size: var(--mermaid-usecase-font-size, 12px); + font-weight: var(--mermaid-usecase-font-weight, normal); + } + + & .usecase-stereotype, + & .usecase-business-marker { + color: ${e.primaryTextColor}; + fill: ${e.primaryTextColor}; + stroke: ${t.border}; + } + + & .system-boundary rect.boundary-body, + & .system-boundary rect.boundary-tab, + & .system-boundary-package-tab { + fill: ${t.boundaryBkg}; + stroke: ${t.boundaryBorder}; + stroke-width: 1px; + } + + & .system-boundary-title text { + fill: ${e.titleColor??e.primaryTextColor}; + } + + /* Only the span, never the <p> inside it: the renderer puts a user-supplied + 'color' on the span, and that has to stay inheritable by its children. */ + & .system-boundary-title span { + color: ${e.titleColor??e.primaryTextColor}; + } + + & .usecase-note { + fill: ${e.noteBkgColor}; + stroke: ${e.noteBorderColor}; + color: ${e.noteTextColor}; + } + + & .usecase-note .nodeLabel { + color: ${e.noteTextColor}; + fill: ${e.noteTextColor}; + } + + & .usecase-json-table, + & .usecase-json-table rect, + & .usecase-json-cell { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder??e.primaryColor}; + } + + & .usecase-json-title, + & .usecase-json-key, + & .usecase-json-value { + color: ${e.primaryTextColor}; + fill: ${e.primaryTextColor}; + } + + & .relationship { + fill: none; + stroke: ${e.lineColor}; + } + + & .relationship-include, + & .relationship-extend, + & .relationship-note { + stroke-dasharray: 3; + } + + /* Include and extend are both dashed, which is a weak distinction at small sizes. The + tokens default to \`lineColor\`, so a theme that does not set them is unchanged. */ + & .relationship-include { + stroke: ${t.includeLine}; + } + + & .relationship-extend { + stroke: ${t.extendLine}; + } + + & .relationship.edge-animation-fast, + & .relationship.edge-animation-slow { + stroke-linecap: round; + } + + & .edgeLabel, + & .edgeLabel p { + background-color: ${e.edgeLabelBackground}; + } + + & .labelBkg { + background-color: ${e.edgeLabelBackground}; + padding: 0 2px; + } + + & .edgeLabel .label rect { + fill: ${e.edgeLabelBackground}; + } + + & .relationship-label, + & .edgeLabel { + color: ${e.primaryTextColor}; + fill: ${e.primaryTextColor}; + font-family: ${e.fontFamily}; + font-size: 10px; + font-weight: normal; + } + + & .marker, + & .marker.point, + & .marker.circle, + & .marker.cross { + fill: ${e.lineColor}; + stroke: ${e.lineColor}; + } + + & .marker.extension { + fill: ${e.mainBkg}; + stroke: ${e.lineColor}; + } +`},"getStyles")}}}]); \ No newline at end of file diff --git a/en/assets/js/9aae347e.a020d1e5.js b/en/assets/js/9aae347e.a020d1e5.js new file mode 100644 index 0000000..abbc9e2 --- /dev/null +++ b/en/assets/js/9aae347e.a020d1e5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1759"],{1421(e,r,s){s.r(r),s.d(r,{metadata:()=>t,default:()=>p,frontMatter:()=>l,contentTitle:()=>i,toc:()=>c,assets:()=>d});var t=JSON.parse('{"id":"core/table-parse","title":"Table Parsing","description":"Parse real tables, CTEs, CREATE TABLE, partitions and properties from SQL","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/table-parse.md","sourceDirName":"core","slug":"/core/table-parse","permalink":"/SqlParserX/en/docs/core/table-parse","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/table-parse.md","tags":[],"version":"1.0","sidebarPosition":3,"frontMatter":{"title":"Table Parsing","description":"Parse real tables, CTEs, CREATE TABLE, partitions and properties from SQL","sidebar_label":"Table Parsing","sidebar_position":3},"sidebar":"docs","previous":{"title":"Table Lineage","permalink":"/SqlParserX/en/docs/core/table-lineage"},"next":{"title":"Function Parsing","permalink":"/SqlParserX/en/docs/core/function-parse"}}'),n=s(4848),a=s(8453);let l={title:"Table Parsing",description:"Parse real tables, CTEs, CREATE TABLE, partitions and properties from SQL",sidebar_label:"Table Parsing",sidebar_position:3},i="Table Parsing",d={},c=[{value:"1. Add the Dependency",id:"1-add-the-dependency",level:2},{value:"2. Complete Example",id:"2-complete-example",level:2},{value:"3. Goal",id:"3-goal",level:2},{value:"4. Entry & Implementation",id:"4-entry--implementation",level:2},{value:"5. Supported Scenarios",id:"5-supported-scenarios",level:2}];function o(e){let r={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.header,{children:(0,n.jsx)(r.h1,{id:"table-parsing",children:"Table Parsing"})}),"\n",(0,n.jsx)(r.h2,{id:"1-add-the-dependency",children:"1. Add the Dependency"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"sqlparserx-core"})," transitively brings in ",(0,n.jsx)(r.code,{children:"sqlparserx-syntax"})," and Druid."]}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"2-complete-example",children:"2. Complete Example"}),"\n",(0,n.jsxs)(r.p,{children:["Using the official ",(0,n.jsx)(r.code,{children:"sqlparserx-core/README.md"}),' sample SQL to demonstrate both "parse real tables" and "parse CREATE TABLE":']}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-java",metastring:'title="TableParseDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;\n\nimport com.alibaba.druid.DbType;\n\npublic class TableParseDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1. Get a parser\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2. Parse real tables in the SQL\n ParseTableResult tableResult = parser.parseTables(sql);\n System.out.println("main table: " + tableResult.getMainTable().getName());\n System.out.println("all tables: " + tableResult.getAllTableName());\n\n // 3. Parse the CREATE TABLE structure\n ParseCreateTableResult createResult = parser.parseCreateTable(sql);\n System.out.println("created table: " + createResult.getDb() + "." + createResult.getTableName());\n System.out.println("column count: " + createResult.getTableElementList().size());\n }\n}\n'})}),"\n",(0,n.jsx)(r.p,{children:"Console output (example):"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-text",children:"main table: users\nall tables: [user_order_summary, users, orders]\ncreated table: null.user_order_summary\ncolumn count: 4\n"})}),"\n",(0,n.jsx)(r.h2,{id:"3-goal",children:"3. Goal"}),"\n",(0,n.jsxs)(r.p,{children:["Identify ",(0,n.jsx)(r.strong,{children:"real tables"})," from SQL text, including query tables, CTEs, ",(0,n.jsx)(r.code,{children:"CREATE TABLE"})," definitions, partitions and table properties."]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-text",children:"SQLStatement AST\n \u2192 ParseTableClient.parseTables / parseCreateTable\n \u2192 collect tables / CTEs / DDL / partitions / properties\n \u2192 ParseTableResult / ParseCreateTableResult\n"})}),"\n",(0,n.jsx)(r.h2,{id:"4-entry--implementation",children:"4. Entry & Implementation"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Item"}),(0,n.jsx)(r.th,{children:"Content"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Core entry"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"ISqlParser.parseTables(sql)"}),", ",(0,n.jsx)(r.code,{children:"ISqlParser.parseCreateTable(sql)"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Default impl"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"BaseSqlParser.parseTables"})," \u2192 ",(0,n.jsx)(r.code,{children:"ParseTableClient"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Return type"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"ParseTableResult"}),", ",(0,n.jsx)(r.code,{children:"ParseCreateTableResult"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Coverage"}),(0,n.jsxs)(r.td,{children:["query tables, CTE, ",(0,n.jsx)(r.code,{children:"CREATE TABLE"}),", partitions, properties"]})]})]})]}),"\n",(0,n.jsx)(r.h2,{id:"5-supported-scenarios",children:"5. Supported Scenarios"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Capability"}),(0,n.jsx)(r.th,{children:"Status"}),(0,n.jsx)(r.th,{children:"Notes"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Query table detection"}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.strong,{children:"Supported \u2705"})}),(0,n.jsx)(r.td,{children:"SELECT / INSERT / UPDATE / DELETE"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"CTE detection"}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.strong,{children:"Supported \u2705"})}),(0,n.jsx)(r.td,{children:"WITH-defined temporary tables"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"CREATE TABLE"})," DDL"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.strong,{children:"Supported \u2705"})}),(0,n.jsx)(r.td,{children:"Table name, columns, types, comments"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Partitions & properties"}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.strong,{children:"Supported \u2705"})}),(0,n.jsx)(r.td,{children:"Dialect differences internalized in syntax layer"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"catalog.db.table"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.strong,{children:"Supported \u2705"})}),(0,n.jsx)(r.td,{children:"Multi-catalog scenarios"})]})]})]})]})}function p(e={}){let{wrapper:r}={...(0,a.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},8453(e,r,s){s.d(r,{R:()=>l,x:()=>i});var t=s(6540);let n={},a=t.createContext(n);function l(e){let r=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),t.createElement(a.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/9c37e8a9.53558edc.js b/en/assets/js/9c37e8a9.53558edc.js new file mode 100644 index 0000000..3f775d8 --- /dev/null +++ b/en/assets/js/9c37e8a9.53558edc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1033"],{6845(e,r,t){t.r(r),t.d(r,{metadata:()=>s,default:()=>h,frontMatter:()=>d,contentTitle:()=>l,toc:()=>a,assets:()=>o});var s=JSON.parse('{"id":"about/introduction","title":"Introduction","description":"Positioning, capabilities and modules of SqlParserX","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/about/introduction.md","sourceDirName":"about","slug":"/about/introduction","permalink":"/SqlParserX/en/docs/about/introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/about/introduction.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"Introduction","description":"Positioning, capabilities and modules of SqlParserX","sidebar_label":"Introduction","sidebar_position":1},"sidebar":"docs","previous":{"title":"Docs Guide","permalink":"/SqlParserX/en/docs/intro"},"next":{"title":"Architecture","permalink":"/SqlParserX/en/docs/about/architecture"}}'),i=t(4848),n=t(8453);let d={title:"Introduction",description:"Positioning, capabilities and modules of SqlParserX",sidebar_label:"Introduction",sidebar_position:1},l="Introduction to SqlParserX",o={},a=[{value:"Problems It Solves",id:"problems-it-solves",level:2},{value:"Modules",id:"modules",level:2},{value:"Supported Datasources",id:"supported-datasources",level:2},{value:"Further Reading",id:"further-reading",level:2}];function c(e){let r={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"introduction-to-sqlparserx",children:"Introduction to SqlParserX"})}),"\n",(0,i.jsxs)(r.p,{children:["SqlParserX is a ",(0,i.jsx)(r.strong,{children:"multi-dialect SQL parsing engine and toolkit"})," offering SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation."]}),"\n",(0,i.jsx)(r.h2,{id:"problems-it-solves",children:"Problems It Solves"}),"\n",(0,i.jsxs)(r.table,{children:[(0,i.jsx)(r.thead,{children:(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.th,{children:"Problem"}),(0,i.jsx)(r.th,{children:"Solution"})]})}),(0,i.jsxs)(r.tbody,{children:[(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:"Dialects differ greatly"}),(0,i.jsxs)(r.td,{children:["Route Druid dialects via ",(0,i.jsx)(r.code,{children:"DbType"})," with a unified AST"]})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:"Real tables and DDL hide in SQL text"}),(0,i.jsxs)(r.td,{children:["Table, CTE, ",(0,i.jsx)(r.code,{children:"CREATE TABLE"}),", partition and property parsing"]})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:"Data dependencies are hard to trace"}),(0,i.jsx)(r.td,{children:"Table/column lineage across JOIN, UNION, subqueries, aggregates and CTEs"})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:"Scripts contain multiple statements"}),(0,i.jsx)(r.td,{children:"SQL splitting and syntax validation"})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:"Permission predicates are hard to maintain"}),(0,i.jsx)(r.td,{children:"Row-level permission SQL rewriting"})]})]})]}),"\n",(0,i.jsx)(r.h2,{id:"modules",children:"Modules"}),"\n",(0,i.jsxs)(r.table,{children:[(0,i.jsx)(r.thead,{children:(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.th,{children:"Module"}),(0,i.jsx)(r.th,{children:"Layer"}),(0,i.jsx)(r.th,{children:"Description"}),(0,i.jsx)(r.th,{children:"Technology"})]})}),(0,i.jsxs)(r.tbody,{children:[(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:(0,i.jsx)(r.code,{children:"sqlparserx-syntax"})}),(0,i.jsx)(r.td,{children:"Syntax parsing"}),(0,i.jsx)(r.td,{children:"SQL-to-AST, validation, splitting and Druid dialect extensions"}),(0,i.jsx)(r.td,{children:"Java 8 + Druid 1.2.28"})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:(0,i.jsx)(r.code,{children:"sqlparserx-core"})}),(0,i.jsx)(r.td,{children:"Business parsing"}),(0,i.jsx)(r.td,{children:"Tables, lineage, DDL, functions and SQL rewriting"}),(0,i.jsxs)(r.td,{children:["Java 8 + ",(0,i.jsx)(r.code,{children:"sqlparserx-syntax"})]})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:(0,i.jsx)(r.code,{children:"sqlparserx-web"})}),(0,i.jsx)(r.td,{children:"Access layer"}),(0,i.jsx)(r.td,{children:"Spring Boot REST service"}),(0,i.jsx)(r.td,{children:"Spring Boot 2.3.12 + Java 8"})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:(0,i.jsx)(r.code,{children:"sqlparserx-ui"})}),(0,i.jsx)(r.td,{children:"Access layer"}),(0,i.jsx)(r.td,{children:"Lineage visualization and online parsing tools"}),(0,i.jsx)(r.td,{children:"Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5"})]})]})]}),"\n",(0,i.jsx)(r.h2,{id:"supported-datasources",children:"Supported Datasources"}),"\n",(0,i.jsxs)(r.table,{children:[(0,i.jsx)(r.thead,{children:(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.th,{children:"Datasource"}),(0,i.jsx)(r.th,{children:"Support"})]})}),(0,i.jsxs)(r.tbody,{children:[(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:"MySQL"}),(0,i.jsxs)(r.td,{children:["Priority support with enhanced ",(0,i.jsx)(r.code,{children:"RENAME TABLE"})," handling"]})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:"Doris"}),(0,i.jsx)(r.td,{children:"Strong support with dedicated DDL and lineage tests"})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:"StarRocks"}),(0,i.jsxs)(r.td,{children:["Dedicated ",(0,i.jsx)(r.code,{children:"DISTRIBUTED BY"})," and key DDL support"]})]}),(0,i.jsxs)(r.tr,{children:[(0,i.jsx)(r.td,{children:"Hive / ClickHouse / Oracle / DM"}),(0,i.jsx)(r.td,{children:"Registered parsers with common business implementation"})]})]})]}),"\n",(0,i.jsx)(r.h2,{id:"further-reading",children:"Further Reading"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:(0,i.jsx)(r.a,{href:"/SqlParserX/en/docs/about/architecture",children:"Architecture"})}),"\n",(0,i.jsxs)(r.li,{children:["Background: ",(0,i.jsx)(r.a,{href:"/blog/origin-of-sqlparserx",children:"The Origin of SqlParserX"})]}),"\n"]})]})}function h(e={}){let{wrapper:r}={...(0,n.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453(e,r,t){t.d(r,{R:()=>d,x:()=>l});var s=t(6540);let i={},n=s.createContext(i);function d(e){let r=s.useContext(n);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function l(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),s.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/9e4087bc.294903d8.js b/en/assets/js/9e4087bc.294903d8.js new file mode 100644 index 0000000..56548ee --- /dev/null +++ b/en/assets/js/9e4087bc.294903d8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9660"],{7243(e,r,a){a.r(r),a.d(r,{default:()=>m});var t=a(4848);a(6540);var i=a(5310),s=a(568),n=a(4308),l=a(7954),c=a(6525),d=a(2072);function h({year:e,posts:r}){let a=(0,l.i)({day:"numeric",month:"long",timeZone:"UTC"});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.A,{as:"h3",id:e,children:e}),(0,t.jsx)("ul",{children:r.map(e=>{let r;return(0,t.jsx)("li",{children:(0,t.jsxs)(i.A,{to:e.metadata.permalink,children:[(r=e.metadata.date,a.format(new Date(r)))," - ",e.metadata.title]})},e.metadata.date)})})]})}function o({years:e}){return(0,t.jsx)("section",{className:"margin-vert--lg",children:(0,t.jsx)("div",{className:"container",children:(0,t.jsx)("div",{className:"row",children:e.map((e,r)=>(0,t.jsx)("div",{className:"col col--4 margin-vert--lg",children:(0,t.jsx)(h,{...e})},r))})})})}function m({archive:e}){let r=(0,s.T)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),a=(0,s.T)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),i=Array.from(e.blogPosts.reduce((e,r)=>{let a=r.metadata.date.split("-")[0],t=e.get(a)??[];return e.set(a,[r,...t])},new Map),([e,r])=>({year:e,posts:r}));return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.be,{title:r,description:a}),(0,t.jsxs)(c.A,{children:[(0,t.jsx)("header",{className:"hero hero--primary",children:(0,t.jsxs)("div",{className:"container",children:[(0,t.jsx)(d.A,{as:"h1",className:"hero__title",children:r}),(0,t.jsx)("p",{className:"hero__subtitle",children:a})]})}),(0,t.jsx)("main",{children:i.length>0&&(0,t.jsx)(o,{years:i})})]})]})}},7954(e,r,a){a.d(r,{i:()=>i});var t=a(898);function i(e={}){let{i18n:{currentLocale:r}}=(0,t.A)(),a=function(){let{i18n:{currentLocale:e,localeConfigs:r}}=(0,t.A)();return r[e].calendar}();return new Intl.DateTimeFormat(r,{calendar:a,...e})}}}]); \ No newline at end of file diff --git a/en/assets/js/a02bd756.f50fe793.js b/en/assets/js/a02bd756.f50fe793.js new file mode 100644 index 0000000..d5915b8 --- /dev/null +++ b/en/assets/js/a02bd756.f50fe793.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5415"],{8354(e){e.exports=JSON.parse('{"metadata":{"permalink":"/SqlParserX/en/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/en/assets/js/a16ef744.604b3864.js b/en/assets/js/a16ef744.604b3864.js new file mode 100644 index 0000000..4f3d09e --- /dev/null +++ b/en/assets/js/a16ef744.604b3864.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9984"],{3349(e,n,t){t.r(n),t.d(n,{metadata:()=>i,default:()=>u,frontMatter:()=>o,contentTitle:()=>l,toc:()=>a,assets:()=>c});var i=JSON.parse('{"id":"contributing","title":"Contributing","description":"How to contribute to SqlParserX","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/contributing.md","sourceDirName":".","slug":"/contributing","permalink":"/SqlParserX/en/docs/next/contributing","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/contributing.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"Contributing","description":"How to contribute to SqlParserX","sidebar_label":"Contributing","sidebar_position":1},"sidebar":"docs","previous":{"title":"Parameter Extraction","permalink":"/SqlParserX/en/docs/next/core/parameter-compile"}}'),s=t(4848),r=t(8453);let o={title:"Contributing",description:"How to contribute to SqlParserX",sidebar_label:"Contributing",sidebar_position:1},l="Contributing",c={},a=[{value:"Ways to Contribute",id:"ways-to-contribute",level:2},{value:"Development Workflow",id:"development-workflow",level:2},{value:"Conventions",id:"conventions",level:2},{value:"Documentation",id:"documentation",level:2}];function d(e){let n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"contributing",children:"Contributing"})}),"\n",(0,s.jsx)(n.p,{children:"Thanks for your interest in SqlParserX! Issues and Pull Requests are welcome."}),"\n",(0,s.jsx)(n.h2,{id:"ways-to-contribute",children:"Ways to Contribute"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Report bugs or request features: ",(0,s.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/issues",children:"GitHub Issues"})]}),"\n",(0,s.jsxs)(n.li,{children:["Submit code: ",(0,s.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/pulls",children:"GitHub Pull Requests"})]}),"\n",(0,s.jsxs)(n.li,{children:["Join discussions: see ",(0,s.jsx)(n.a,{href:"/community",children:"Community"})]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"development-workflow",children:"Development Workflow"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Fork the repo and create a feature branch: ",(0,s.jsx)(n.code,{children:"git checkout -b feature/xxx"})]}),"\n",(0,s.jsxs)(n.li,{children:["Build locally: ",(0,s.jsx)(n.code,{children:"mvn clean install -DskipTests"})]}),"\n",(0,s.jsxs)(n.li,{children:["Write code and tests, ensure ",(0,s.jsx)(n.code,{children:"mvn test"})," passes"]}),"\n",(0,s.jsx)(n.li,{children:"Push the branch and open a Pull Request"}),"\n",(0,s.jsx)(n.li,{children:"Merge after CI and review"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"conventions",children:"Conventions"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Follow the module layering: syntax differences \u2192 ",(0,s.jsx)(n.code,{children:"sqlparserx-syntax"}),", business differences \u2192 ",(0,s.jsx)(n.code,{children:"sqlparserx-core"})]}),"\n",(0,s.jsx)(n.li,{children:"When adding a datasource, also update capability docs and regression tests"}),"\n",(0,s.jsx)(n.li,{children:"Match the existing code style and avoid unrelated dependencies"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"documentation",children:"Documentation"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Docs are maintained in the project root ",(0,s.jsx)(n.code,{children:"docs/"})," and synced to this site"]}),"\n",(0,s.jsx)(n.li,{children:"Update the relevant capability docs when adding parsing capabilities"}),"\n"]})]})}function u(e={}){let{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453(e,n,t){t.d(n,{R:()=>o,x:()=>l});var i=t(6540);let s={},r=i.createContext(s);function o(e){let n=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/a6aa9e1f.5f4ef81b.js b/en/assets/js/a6aa9e1f.5f4ef81b.js new file mode 100644 index 0000000..aee5f9d --- /dev/null +++ b/en/assets/js/a6aa9e1f.5f4ef81b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7496"],{2152(e,t,r){r.r(t),r.d(t,{default:()=>j});var n=r(4848);r(6540);var a=r(4164),s=r(898),l=r(4308),i=r(8287),o=r(8579),c=r(4553),d=r(4175),m=r(284),u=r(3572),g=r(7645);function h(e){let t=(0,g.kJ)(e);return(0,n.jsx)(u.A,{children:(0,n.jsx)("script",{type:"application/ld+json",children:JSON.stringify(t)})})}function x(e){let{metadata:t}=e,{siteConfig:{title:r}}=(0,s.A)(),{blogDescription:a,blogTitle:i,permalink:o}=t;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.be,{title:"/"===o?r:i,description:a}),(0,n.jsx)(d.A,{tag:"blog_posts_list"})]})}function p(e){let{metadata:t,items:r,sidebar:a}=e;return(0,n.jsxs)(o.A,{sidebar:a,children:[(0,n.jsx)(m.A,{items:r}),(0,n.jsx)(c.A,{metadata:t})]})}function j(e){return(0,n.jsxs)(l.e3,{className:(0,a.A)(i.G.wrapper.blogPages,i.G.page.blogListPage),children:[(0,n.jsx)(x,{...e}),(0,n.jsx)(h,{...e}),(0,n.jsx)(p,{...e})]})}},4553(e,t,r){r.d(t,{A:()=>l});var n=r(4848);r(6540);var a=r(568),s=r(7174);function l(e){let{metadata:t}=e,{previousPage:r,nextPage:l}=t;return(0,n.jsxs)("nav",{className:"pagination-nav","aria-label":(0,a.T)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[r&&(0,n.jsx)(s.A,{permalink:r,title:(0,n.jsx)(a.A,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),l&&(0,n.jsx)(s.A,{permalink:l,title:(0,n.jsx)(a.A,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},4533(e,t,r){r.d(t,{A:()=>R});var n=r(4848);r(6540);var a=r(4164),s=r(7645);function l({children:e,className:t}){return(0,n.jsx)("article",{className:t,children:e})}var i=r(5310);function o({className:e}){let{metadata:t,isBlogPostPage:r}=(0,s.e7)(),{permalink:l,title:c}=t;return(0,n.jsx)(r?"h1":"h2",{className:(0,a.A)("title_f1Hy",e),children:r?c:(0,n.jsx)(i.A,{to:l,children:c})})}var c=r(568),d=r(8878),m=r(7954);function u({readingTime:e}){let t=function(){let{selectMessage:e}=(0,d.W)();return t=>{let r=Math.ceil(t);return e(r,(0,c.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:r}))}}();return(0,n.jsx)(n.Fragment,{children:t(e)})}function g({date:e,formattedDate:t}){return(0,n.jsx)("time",{dateTime:e,children:t})}function h(){return(0,n.jsx)(n.Fragment,{children:" \xb7 "})}function x({className:e}){let{metadata:t}=(0,s.e7)(),{date:r,readingTime:l}=t,i=(0,m.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,n.jsxs)("div",{className:(0,a.A)("container_mt6G","margin-vert--md",e),children:[(0,n.jsx)(g,{date:r,formattedDate:i.format(new Date(r))}),void 0!==l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(h,{}),(0,n.jsx)(u,{readingTime:l})]})]})}var p=r(6947);function j({className:e}){let{metadata:{authors:t},assets:r}=(0,s.e7)();if(0===t.length)return null;let l=t.every(({name:e})=>!e),i=1===t.length;return(0,n.jsx)("div",{className:(0,a.A)("margin-top--md margin-bottom--sm",l?"imageOnlyAuthorRow_pa_O":"row",e),children:t.map((e,t)=>(0,n.jsx)("div",{className:(0,a.A)(!l&&(i?"col col--12":"col col--6"),l?"imageOnlyAuthorCol_G86a":"authorCol_Hf19"),children:(0,n.jsx)(p.A,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t))})}function f(){return(0,n.jsxs)("header",{children:[(0,n.jsx)(o,{}),(0,n.jsx)(x,{}),(0,n.jsx)(j,{})]})}var A=r(5248),b=r(4743);function v({children:e,className:t}){let{isBlogPostPage:r}=(0,s.e7)();return(0,n.jsx)("div",{id:r?A.blogPostContainerID:void 0,className:(0,a.A)("markdown",t),children:(0,n.jsx)(b.A,{children:e})})}var N=r(8287),w=r(7410),T=r(4999);function k(){return(0,n.jsx)("b",{children:(0,n.jsx)(c.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function y(e){let{blogPostTitle:t,...r}=e;return(0,n.jsx)(i.A,{"aria-label":(0,c.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...r,children:(0,n.jsx)(k,{})})}function _(){let{metadata:e,isBlogPostPage:t}=(0,s.e7)(),{tags:r,title:l,editUrl:i,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,m=!t&&o,u=r.length>0;if(!(u||m||i))return null;if(!t)return(0,n.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[u&&(0,n.jsx)("div",{className:(0,a.A)("col",{"col--9":m}),children:(0,n.jsx)(T.A,{tags:r})}),m&&(0,n.jsx)("div",{className:(0,a.A)("col text--right",{"col--3":u}),children:(0,n.jsx)(y,{blogPostTitle:l,to:e.permalink})})]});{let e=!!(i||d||c);return(0,n.jsxs)("footer",{className:"docusaurus-mt-lg",children:[u&&(0,n.jsx)("div",{className:(0,a.A)("row","margin-top--sm",N.G.blog.blogFooterEditMetaRow),children:(0,n.jsx)("div",{className:"col",children:(0,n.jsx)(T.A,{tags:r})})}),e&&(0,n.jsx)(w.A,{className:(0,a.A)("margin-top--sm",N.G.blog.blogFooterEditMetaRow),editUrl:i,lastUpdatedAt:d,lastUpdatedBy:c})]})}}function R({children:e,className:t}){let r=function(){let{isBlogPostPage:e}=(0,s.e7)();return e?void 0:"margin-bottom--xl"}();return(0,n.jsxs)(l,{className:(0,a.A)(r,t),children:[(0,n.jsx)(f,{}),(0,n.jsx)(v,{children:e}),(0,n.jsx)(_,{})]})}},284(e,t,r){r.d(t,{A:()=>l});var n=r(4848);r(6540);var a=r(7645),s=r(4533);function l({items:e,component:t=s.A}){return(0,n.jsx)(n.Fragment,{children:e.map(({content:e})=>(0,n.jsx)(a.in,{content:e,children:(0,n.jsx)(t,{children:(0,n.jsx)(e,{})})},e.metadata.permalink))})}}}]); \ No newline at end of file diff --git a/en/assets/js/a7456010.5acfbe30.js b/en/assets/js/a7456010.5acfbe30.js new file mode 100644 index 0000000..eca926d --- /dev/null +++ b/en/assets/js/a7456010.5acfbe30.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3056"],{8552(s){s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/en/assets/js/a7bd4aaa.f3b25130.js b/en/assets/js/a7bd4aaa.f3b25130.js new file mode 100644 index 0000000..786ba51 --- /dev/null +++ b/en/assets/js/a7bd4aaa.f3b25130.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5575"],{8146(e,n,s){s.r(n),s.d(n,{default:()=>u});var r=s(4848);s(6540);var t=s(4308),a=s(921),l=s(2831),o=s(4175);function c(e){var n,s;let{version:a}=e;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.A,{version:a.version,tag:(n=a.pluginId,s=a.version,`docs-${n}-${s}`)}),(0,r.jsx)(t.be,{children:a.noIndex&&(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function i(e){let{version:n,route:s}=e;return(0,r.jsx)(t.e3,{className:n.className,children:(0,r.jsx)(a.n,{version:n,children:(0,l.v)(s.routes)})})}function u(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c,{...e}),(0,r.jsx)(i,{...e})]})}}}]); \ No newline at end of file diff --git a/en/assets/js/a84fc31f.9913e20d.js b/en/assets/js/a84fc31f.9913e20d.js new file mode 100644 index 0000000..af3f146 --- /dev/null +++ b/en/assets/js/a84fc31f.9913e20d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9414"],{3893(e,t,r){r.r(t),r.d(t,{metadata:()=>s,default:()=>h,frontMatter:()=>d,contentTitle:()=>l,toc:()=>a,assets:()=>c});var s=JSON.parse('{"id":"about/introduction","title":"Introduction","description":"Positioning, capabilities and modules of SqlParserX","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/about/introduction.md","sourceDirName":"about","slug":"/about/introduction","permalink":"/SqlParserX/en/docs/next/about/introduction","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/about/introduction.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"Introduction","description":"Positioning, capabilities and modules of SqlParserX","sidebar_label":"Introduction","sidebar_position":1},"sidebar":"docs","previous":{"title":"Docs Guide","permalink":"/SqlParserX/en/docs/next/intro"},"next":{"title":"Architecture","permalink":"/SqlParserX/en/docs/next/about/architecture"}}'),n=r(4848),i=r(8453);let d={title:"Introduction",description:"Positioning, capabilities and modules of SqlParserX",sidebar_label:"Introduction",sidebar_position:1},l="Introduction to SqlParserX",c={},a=[{value:"Problems It Solves",id:"problems-it-solves",level:2},{value:"Modules",id:"modules",level:2},{value:"Supported Datasources",id:"supported-datasources",level:2},{value:"Further Reading",id:"further-reading",level:2}];function o(e){let t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"introduction-to-sqlparserx",children:"Introduction to SqlParserX"})}),"\n",(0,n.jsxs)(t.p,{children:["SqlParserX is a ",(0,n.jsx)(t.strong,{children:"multi-dialect SQL parsing engine and toolkit"})," offering SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation."]}),"\n",(0,n.jsx)(t.h2,{id:"problems-it-solves",children:"Problems It Solves"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Problem"}),(0,n.jsx)(t.th,{children:"Solution"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Dialects differ greatly"}),(0,n.jsxs)(t.td,{children:["Route Druid dialects via ",(0,n.jsx)(t.code,{children:"DbType"})," with a unified AST"]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Real tables and DDL hide in SQL text"}),(0,n.jsxs)(t.td,{children:["Table, CTE, ",(0,n.jsx)(t.code,{children:"CREATE TABLE"}),", partition and property parsing"]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Data dependencies are hard to trace"}),(0,n.jsx)(t.td,{children:"Table/column lineage across JOIN, UNION, subqueries, aggregates and CTEs"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Scripts contain multiple statements"}),(0,n.jsx)(t.td,{children:"SQL splitting and syntax validation"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Permission predicates are hard to maintain"}),(0,n.jsx)(t.td,{children:"Row-level permission SQL rewriting"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"modules",children:"Modules"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Module"}),(0,n.jsx)(t.th,{children:"Layer"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Technology"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"sqlparserx-syntax"})}),(0,n.jsx)(t.td,{children:"Syntax parsing"}),(0,n.jsx)(t.td,{children:"SQL-to-AST, validation, splitting and Druid dialect extensions"}),(0,n.jsx)(t.td,{children:"Java 8 + Druid 1.2.28"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"sqlparserx-core"})}),(0,n.jsx)(t.td,{children:"Business parsing"}),(0,n.jsx)(t.td,{children:"Tables, lineage, DDL, functions and SQL rewriting"}),(0,n.jsxs)(t.td,{children:["Java 8 + ",(0,n.jsx)(t.code,{children:"sqlparserx-syntax"})]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"sqlparserx-web"})}),(0,n.jsx)(t.td,{children:"Access layer"}),(0,n.jsx)(t.td,{children:"Spring Boot REST service"}),(0,n.jsx)(t.td,{children:"Spring Boot 2.3.12 + Java 8"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:(0,n.jsx)(t.code,{children:"sqlparserx-ui"})}),(0,n.jsx)(t.td,{children:"Access layer"}),(0,n.jsx)(t.td,{children:"Lineage visualization and online parsing tools"}),(0,n.jsx)(t.td,{children:"Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"supported-datasources",children:"Supported Datasources"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Datasource"}),(0,n.jsx)(t.th,{children:"Support"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"MySQL"}),(0,n.jsxs)(t.td,{children:["Priority support with enhanced ",(0,n.jsx)(t.code,{children:"RENAME TABLE"})," handling"]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Doris"}),(0,n.jsx)(t.td,{children:"Strong support with dedicated DDL and lineage tests"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"StarRocks"}),(0,n.jsxs)(t.td,{children:["Dedicated ",(0,n.jsx)(t.code,{children:"DISTRIBUTED BY"})," and key DDL support"]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"Hive / ClickHouse / Oracle / DM"}),(0,n.jsx)(t.td,{children:"Registered parsers with common business implementation"})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"further-reading",children:"Further Reading"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/SqlParserX/en/docs/next/about/architecture",children:"Architecture"})}),"\n",(0,n.jsxs)(t.li,{children:["Background: ",(0,n.jsx)(t.a,{href:"/blog/origin-of-sqlparserx",children:"The Origin of SqlParserX"})]}),"\n"]})]})}function h(e={}){let{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},8453(e,t,r){r.d(t,{R:()=>d,x:()=>l});var s=r(6540);let n={},i=s.createContext(n);function d(e){let t=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/a94703ab.0bcffcab.js b/en/assets/js/a94703ab.0bcffcab.js new file mode 100644 index 0000000..7438a96 --- /dev/null +++ b/en/assets/js/a94703ab.0bcffcab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6785"],{1399(e,t,n){n.r(t),n.d(t,{default:()=>ea});var a=n(4848),i=n(6540),r=n(4164),s=n(4308),l=n(8287),o=n(8260),d=n(2473),c=n(568),u=n(8584),m=n(8398);function b(){let{shown:e,scrollToTop:t}=function({threshold:e}){let[t,n]=(0,i.useState)(!1),a=(0,i.useRef)(!1),{startScroll:r,cancelScroll:s}=(0,u.gk)();return(0,u.Mq)(({scrollY:t},i)=>{let r=i?.scrollY;r&&(a.current?a.current=!1:t>=r?(s(),n(!1)):t<e?n(!1):t+window.innerHeight<document.documentElement.scrollHeight&&n(!0))}),(0,m.$)(e=>{e.location.hash&&(a.current=!0,n(!1))}),{shown:t,scrollToTop:()=>r(0)}}({threshold:300});return(0,a.jsx)("button",{"aria-label":(0,c.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,r.A)("clean-btn",l.G.common.backToTopButton,"backToTopButton_sjWU",e&&"backToTopButtonShow_xfvO"),type:"button",onClick:t})}var h=n(269),p=n(6347),x=n(3741),j=n(1022),f=n(5153);function _(e){return(0,a.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,a.jsxs)("g",{fill:"#7a7a7a",children:[(0,a.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,a.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}function g({onClick:e}){return(0,a.jsx)("button",{type:"button",title:(0,c.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,r.A)("button button--secondary button--outline","collapseSidebarButton_PEFL"),onClick:e,children:(0,a.jsx)(_,{className:"collapseSidebarButtonIcon_kv0_"})})}var v=n(3337),A=n(2260);let k=Symbol("EmptyContext"),C=i.createContext(k);function N({children:e}){let[t,n]=(0,i.useState)(null),r=(0,i.useMemo)(()=>({expandedItem:t,setExpandedItem:n}),[t]);return(0,a.jsx)(C.Provider,{value:r,children:e})}var S=n(9510),T=n(9209),y=n(5310),I=n(9863),L=n(8310),w=n(7715);function B({label:e}){return(0,a.jsx)("span",{className:"linkLabel_WmDU",children:e})}function M({item:e,onItemClick:t,activePath:n,level:i,index:s,...d}){let{href:c,label:u,className:m,autoAddBaseUrl:b}=e,h=(0,o.w8)(e,n),p=(0,L.A)(c);return(0,a.jsx)("li",{className:(0,r.A)(l.G.docs.docSidebarItemLink,l.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,a.jsxs)(y.A,{className:(0,r.A)("menu__link",!p&&"menuExternalLink_NmtK",{"menu__link--active":h}),autoAddBaseUrl:b,"aria-current":h?"page":void 0,to:c,...p&&{onClick:t?()=>t(e):void 0},...d,children:[(0,a.jsx)(B,{label:u}),!p&&(0,a.jsx)(w.A,{})]})},u)}function E({collapsed:e,categoryLabel:t,onClick:n}){return(0,a.jsx)("button",{"aria-label":e?(0,c.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:t}):(0,c.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:t}),"aria-expanded":!e,type:"button",className:"clean-btn menu__caret",onClick:n})}function G({label:e}){return(0,a.jsx)("span",{className:"categoryLinkLabel_W154",children:e})}function H(e){return 0===(0,o.Y)(e.item.items,e.activePath).length?(0,a.jsx)(W,{...e}):(0,a.jsx)(D,{...e})}function W({item:e,...t}){if("string"!=typeof e.href)return null;let{type:n,collapsed:i,collapsible:r,items:s,linkUnlisted:l,...o}=e,d={type:"link",...o};return(0,a.jsx)(M,{item:d,...t})}function D({item:e,onItemClick:t,activePath:n,level:s,index:d,...c}){let u,{items:m,label:b,collapsible:h,className:p,href:x}=e,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.p)(),_=(u=(0,I.A)(),(0,i.useMemo)(()=>e.href&&!e.linkUnlisted?e.href:!u&&e.collapsible?(0,o.Nr)(e):void 0,[e,u])),g=(0,o.w8)(e,n),v=(0,T.ys)(x,n),{collapsed:N,setCollapsed:L}=(0,S.u)({initialState:()=>!!h&&!g&&e.collapsed}),{expandedItem:w,setExpandedItem:B}=function(){let e=(0,i.useContext)(C);if(e===k)throw new A.dV("DocSidebarItemsExpandedStateProvider");return e}(),M=(e=!N)=>{B(e?null:d),L(e)};return!function({isActive:e,collapsed:t,updateCollapsed:n,activePath:a}){let r=(0,A.ZC)(e),s=(0,A.ZC)(a);(0,i.useEffect)(()=>{let i=e&&!r,l=e&&r&&a!==s;(i||l)&&t&&n(!1)},[e,r,t,n,a,s])}({isActive:g,collapsed:N,updateCollapsed:M,activePath:n}),(0,i.useEffect)(()=>{h&&null!=w&&w!==d&&f&&L(!0)},[h,w,d,L,f]),(0,a.jsxs)("li",{className:(0,r.A)(l.G.docs.docSidebarItemCategory,l.G.docs.docSidebarItemCategoryLevel(s),"menu__list-item",{"menu__list-item--collapsed":N},p),children:[(0,a.jsxs)("div",{className:(0,r.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,a.jsx)(y.A,{className:(0,r.A)("categoryLink_byQd","menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":g}),onClick:n=>{t?.(e),h&&(x?v?(n.preventDefault(),M()):M(!1):(n.preventDefault(),M()))},"aria-current":v?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!N:void 0,href:h?_??"#":_,...c,children:(0,a.jsx)(G,{label:b})}),x&&h&&(0,a.jsx)(E,{collapsed:N,categoryLabel:b,onClick:e=>{e.preventDefault(),M()}})]}),(0,a.jsx)(S.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:N,children:(0,a.jsx)(F,{items:m,tabIndex:N?-1:0,onItemClick:t,activePath:n,level:s+1})})]})}function P({item:e,level:t,index:n}){let{value:i,defaultStyle:s,className:o}=e;return(0,a.jsx)("li",{className:(0,r.A)(l.G.docs.docSidebarItemLink,l.G.docs.docSidebarItemLinkLevel(t),s&&["menuHtmlItem_M9Kj","menu__list-item"],o),dangerouslySetInnerHTML:{__html:i}},n)}function R({item:e,...t}){switch(e.type){case"category":return(0,a.jsx)(H,{item:e,...t});case"html":return(0,a.jsx)(P,{item:e,...t});default:return(0,a.jsx)(M,{item:e,...t})}}let F=(0,i.memo)(function({items:e,...t}){let n=(0,o.Y)(e,t.activePath);return(0,a.jsx)(N,{children:n.map((e,n)=>(0,a.jsx)(R,{item:e,index:n,...t},n))})});function U({path:e,sidebar:t,className:n}){let s=function(){let{isActive:e}=(0,v.M)(),[t,n]=(0,i.useState)(e);return(0,u.Mq)(({scrollY:t})=>{e&&n(0===t)},[e]),e&&t}();return(0,a.jsx)("nav",{"aria-label":(0,c.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,r.A)("menu thin-scrollbar","menu_SIkG",s&&"menuWithAnnouncementBar_GW3s",n),children:(0,a.jsx)("ul",{className:(0,r.A)(l.G.docs.docSidebarMenu,"menu__list"),children:(0,a.jsx)(F,{items:t,activePath:e,level:1})})})}let V=i.memo(function({path:e,sidebar:t,onCollapse:n,isHidden:i}){let{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.p)();return(0,a.jsxs)("div",{className:(0,r.A)("sidebar_njMd",s&&"sidebarWithHideableNavbar_wUlq",i&&"sidebarHidden_VK0M"),children:[s&&(0,a.jsx)(f.A,{tabIndex:-1,className:"sidebarLogo_isFc"}),(0,a.jsx)(U,{path:e,sidebar:t}),l&&(0,a.jsx)(g,{onClick:n})]})});var Y=n(7e3),q=n(9965);let K=({sidebar:e,path:t})=>{let n=(0,q.M)();return(0,a.jsx)("ul",{className:(0,r.A)(l.G.docs.docSidebarMenu,"menu__list"),children:(0,a.jsx)(F,{items:e,activePath:t,onItemClick:e=>{"category"===e.type&&e.href&&n.toggle(),"link"===e.type&&n.toggle()},level:1})})},z=i.memo(function(e){return(0,a.jsx)(Y.GX,{component:K,props:e})});function O(e){let t=(0,x.l)();return(0,a.jsxs)(a.Fragment,{children:[("desktop"===t||"ssr"===t)&&(0,a.jsx)(V,{...e}),"mobile"===t&&(0,a.jsx)(z,{...e})]})}function Q({toggleSidebar:e}){return(0,a.jsx)("div",{className:"expandButton_TmdG",title:(0,c.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:e,onClick:e,children:(0,a.jsx)(_,{className:"expandButtonIcon_i1dp"})})}let Z={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function J({children:e}){let t=(0,d.t)();return(0,a.jsx)(i.Fragment,{children:e},t?.name??"noSidebar")}function X({sidebar:e,hiddenSidebarContainer:t,setHiddenSidebarContainer:n}){let{pathname:s}=(0,p.zy)(),[o,d]=(0,i.useState)(!1),c=(0,i.useCallback)(()=>{o&&d(!1),!o&&(0,h.O)()&&d(!0),n(e=>!e)},[n,o]);return(0,a.jsx)("aside",{className:(0,r.A)(l.G.docs.docSidebarContainer,Z.docSidebarContainer,t&&Z.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(Z.docSidebarContainer)&&t&&d(!0)},children:(0,a.jsx)(J,{children:(0,a.jsxs)("div",{className:(0,r.A)(Z.sidebarViewport,o&&Z.sidebarViewportHidden),children:[(0,a.jsx)(O,{sidebar:e,path:s,onCollapse:c,isHidden:o}),o&&(0,a.jsx)(Q,{toggleSidebar:c})]})})})}let $={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ee({hiddenSidebarContainer:e,children:t}){let n=(0,d.t)();return(0,a.jsx)("main",{className:(0,r.A)($.docMainContainer,(e||!n)&&$.docMainContainerEnhanced),children:(0,a.jsx)("div",{className:(0,r.A)("container padding-top--md padding-bottom--lg",$.docItemWrapper,e&&$.docItemWrapperEnhanced),children:t})})}function et({children:e}){let t=(0,d.t)(),[n,r]=(0,i.useState)(!1);return(0,a.jsxs)("div",{className:"docsWrapper_hBAB",children:[(0,a.jsx)(b,{}),(0,a.jsxs)("div",{className:"docRoot_UBD9",children:[t&&(0,a.jsx)(X,{sidebar:t.items,hiddenSidebarContainer:n,setHiddenSidebarContainer:r}),(0,a.jsx)(ee,{hiddenSidebarContainer:n,children:e})]})]})}var en=n(955);function ea(e){let t=(0,o.B5)(e);if(!t)return(0,a.jsx)(en.A,{});let{docElement:n,sidebarName:i,sidebarItems:c}=t;return(0,a.jsx)(s.e3,{className:(0,r.A)(l.G.page.docsDocPage),children:(0,a.jsx)(d.V,{name:i,items:c,children:(0,a.jsx)(et,{children:n})})})}},955(e,t,n){n.d(t,{A:()=>l});var a=n(4848);n(6540);var i=n(4164),r=n(568),s=n(2072);function l({className:e}){return(0,a.jsx)("main",{className:(0,i.A)("container margin-vert--xl",e),children:(0,a.jsx)("div",{className:"row",children:(0,a.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,a.jsx)(s.A,{as:"h1",className:"hero__title",children:(0,a.jsx)(r.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,a.jsx)("p",{children:(0,a.jsx)(r.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,a.jsx)("p",{children:(0,a.jsx)(r.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/en/assets/js/aa9e3246.77f04ee4.js b/en/assets/js/aa9e3246.77f04ee4.js new file mode 100644 index 0000000..bdbe7c9 --- /dev/null +++ b/en/assets/js/aa9e3246.77f04ee4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2687"],{6321(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next \u{1F6A7}","banner":"unreleased","badge":true,"noIndex":false,"className":"docs-version-current","isLast":false,"docsSidebars":{"docs":[{"type":"link","href":"/SqlParserX/en/docs/next/intro","label":"Docs Guide","docId":"intro","unlisted":false},{"type":"category","label":"\u5173\u4E8E SqlParserX","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/en/docs/next/about/introduction","label":"Introduction","docId":"about/introduction","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/next/about/architecture","label":"Architecture","docId":"about/architecture","unlisted":false}],"collapsible":true},{"type":"category","label":"Getting Started","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/en/docs/next/quickstart/setup","label":"Setup & Build","docId":"quickstart/setup","unlisted":false}],"collapsible":true},{"type":"category","label":"\u6838\u5FC3\u89E3\u6790\u80FD\u529B\u4F7F\u7528","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/en/docs/next/core/sql-type","label":"SQL Type Detection","docId":"core/sql-type","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/next/core/field-lineage","label":"Field Lineage","docId":"core/field-lineage","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/next/core/table-lineage","label":"Table Lineage","docId":"core/table-lineage","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/next/core/table-parse","label":"Table Parsing","docId":"core/table-parse","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/next/core/function-parse","label":"Function Parsing","docId":"core/function-parse","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/next/core/parameter-compile","label":"Parameter Extraction","docId":"core/parameter-compile","unlisted":false}],"collapsible":true},{"type":"category","label":"\u8D21\u732E\u6307\u5357","collapsed":true,"items":[{"type":"link","href":"/SqlParserX/en/docs/next/contributing","label":"Contributing","docId":"contributing","unlisted":false}],"collapsible":true}]},"docs":{"about/architecture":{"id":"about/architecture","title":"Architecture","description":"The two-layer unified extension architecture of SqlParserX","sidebar":"docs"},"about/introduction":{"id":"about/introduction","title":"Introduction","description":"Positioning, capabilities and modules of SqlParserX","sidebar":"docs"},"contributing":{"id":"contributing","title":"Contributing","description":"How to contribute to SqlParserX","sidebar":"docs"},"core/field-lineage":{"id":"core/field-lineage","title":"Field Lineage","description":"Derive source.table.source_column \u2192 target.table.target_column lineage from SQL","sidebar":"docs"},"core/function-parse":{"id":"core/function-parse","title":"Function Parsing","description":"Extract functions, arguments and contexts used in SQL","sidebar":"docs"},"core/parameter-compile":{"id":"core/parameter-compile","title":"Parameter Extraction and Prepared SQL","description":"Extract dynamic SELECT parameters and build JDBC prepared SQL","sidebar":"docs"},"core/sql-type":{"id":"core/sql-type","title":"SQL Type Detection","description":"Detect the business SQL type from the parsed syntax tree","sidebar":"docs"},"core/table-lineage":{"id":"core/table-lineage","title":"Table Lineage","description":"Parse source-to-target table lineage from SQL","sidebar":"docs"},"core/table-parse":{"id":"core/table-parse","title":"Table Parsing","description":"Parse real tables, CTEs, CREATE TABLE, partitions and properties from SQL","sidebar":"docs"},"intro":{"id":"intro","title":"SqlParserX Docs","description":"Entry point for the SqlParserX multi-dialect SQL parsing engine","sidebar":"docs"},"quickstart/setup":{"id":"quickstart/setup","title":"Quick Start","description":"Add the dependency, build and run SqlParserX locally","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/en/assets/js/aba21aa0.33b48647.js b/en/assets/js/aba21aa0.33b48647.js new file mode 100644 index 0000000..fdffd16 --- /dev/null +++ b/en/assets/js/aba21aa0.33b48647.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3747"],{7093(s){s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/en/assets/js/ac311984.55eb5a96.js b/en/assets/js/ac311984.55eb5a96.js new file mode 100644 index 0000000..df8dbfa --- /dev/null +++ b/en/assets/js/ac311984.55eb5a96.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9590"],{7821(e,r,s){s.r(r),s.d(r,{metadata:()=>t,default:()=>p,frontMatter:()=>l,contentTitle:()=>i,toc:()=>c,assets:()=>d});var t=JSON.parse('{"id":"core/table-parse","title":"Table Parsing","description":"Parse real tables, CTEs, CREATE TABLE, partitions and properties from SQL","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/core/table-parse.md","sourceDirName":"core","slug":"/core/table-parse","permalink":"/SqlParserX/en/docs/next/core/table-parse","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/table-parse.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"title":"Table Parsing","description":"Parse real tables, CTEs, CREATE TABLE, partitions and properties from SQL","sidebar_label":"Table Parsing","sidebar_position":3},"sidebar":"docs","previous":{"title":"Table Lineage","permalink":"/SqlParserX/en/docs/next/core/table-lineage"},"next":{"title":"Function Parsing","permalink":"/SqlParserX/en/docs/next/core/function-parse"}}'),n=s(4848),a=s(8453);let l={title:"Table Parsing",description:"Parse real tables, CTEs, CREATE TABLE, partitions and properties from SQL",sidebar_label:"Table Parsing",sidebar_position:3},i="Table Parsing",d={},c=[{value:"1. Add the Dependency",id:"1-add-the-dependency",level:2},{value:"2. Complete Example",id:"2-complete-example",level:2},{value:"3. Goal",id:"3-goal",level:2},{value:"4. Entry & Implementation",id:"4-entry--implementation",level:2},{value:"5. Supported Scenarios",id:"5-supported-scenarios",level:2}];function o(e){let r={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.header,{children:(0,n.jsx)(r.h1,{id:"table-parsing",children:"Table Parsing"})}),"\n",(0,n.jsx)(r.h2,{id:"1-add-the-dependency",children:"1. Add the Dependency"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,n.jsxs)(r.blockquote,{children:["\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"sqlparserx-core"})," transitively brings in ",(0,n.jsx)(r.code,{children:"sqlparserx-syntax"})," and Druid."]}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:"2-complete-example",children:"2. Complete Example"}),"\n",(0,n.jsxs)(r.p,{children:["Using the official ",(0,n.jsx)(r.code,{children:"sqlparserx-core/README.md"}),' sample SQL to demonstrate both "parse real tables" and "parse CREATE TABLE":']}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-java",metastring:'title="TableParseDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult;\nimport com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;\n\nimport com.alibaba.druid.DbType;\n\npublic class TableParseDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1. Get a parser\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2. Parse real tables in the SQL\n ParseTableResult tableResult = parser.parseTables(sql);\n System.out.println("main table: " + tableResult.getMainTable().getName());\n System.out.println("all tables: " + tableResult.getAllTableName());\n\n // 3. Parse the CREATE TABLE structure\n ParseCreateTableResult createResult = parser.parseCreateTable(sql);\n System.out.println("created table: " + createResult.getDb() + "." + createResult.getTableName());\n System.out.println("column count: " + createResult.getTableElementList().size());\n }\n}\n'})}),"\n",(0,n.jsx)(r.p,{children:"Console output (example):"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-text",children:"main table: users\nall tables: [user_order_summary, users, orders]\ncreated table: null.user_order_summary\ncolumn count: 4\n"})}),"\n",(0,n.jsx)(r.h2,{id:"3-goal",children:"3. Goal"}),"\n",(0,n.jsxs)(r.p,{children:["Identify ",(0,n.jsx)(r.strong,{children:"real tables"})," from SQL text, including query tables, CTEs, ",(0,n.jsx)(r.code,{children:"CREATE TABLE"})," definitions, partitions and table properties."]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-text",children:"SQLStatement AST\n \u2192 ParseTableClient.parseTables / parseCreateTable\n \u2192 collect tables / CTEs / DDL / partitions / properties\n \u2192 ParseTableResult / ParseCreateTableResult\n"})}),"\n",(0,n.jsx)(r.h2,{id:"4-entry--implementation",children:"4. Entry & Implementation"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Item"}),(0,n.jsx)(r.th,{children:"Content"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Core entry"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"ISqlParser.parseTables(sql)"}),", ",(0,n.jsx)(r.code,{children:"ISqlParser.parseCreateTable(sql)"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Default impl"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"BaseSqlParser.parseTables"})," \u2192 ",(0,n.jsx)(r.code,{children:"ParseTableClient"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Return type"}),(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"ParseTableResult"}),", ",(0,n.jsx)(r.code,{children:"ParseCreateTableResult"})]})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Coverage"}),(0,n.jsxs)(r.td,{children:["query tables, CTE, ",(0,n.jsx)(r.code,{children:"CREATE TABLE"}),", partitions, properties"]})]})]})]}),"\n",(0,n.jsx)(r.h2,{id:"5-supported-scenarios",children:"5. Supported Scenarios"}),"\n",(0,n.jsxs)(r.table,{children:[(0,n.jsx)(r.thead,{children:(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.th,{children:"Capability"}),(0,n.jsx)(r.th,{children:"Status"}),(0,n.jsx)(r.th,{children:"Notes"})]})}),(0,n.jsxs)(r.tbody,{children:[(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Query table detection"}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.strong,{children:"Supported \u2705"})}),(0,n.jsx)(r.td,{children:"SELECT / INSERT / UPDATE / DELETE"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"CTE detection"}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.strong,{children:"Supported \u2705"})}),(0,n.jsx)(r.td,{children:"WITH-defined temporary tables"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsxs)(r.td,{children:[(0,n.jsx)(r.code,{children:"CREATE TABLE"})," DDL"]}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.strong,{children:"Supported \u2705"})}),(0,n.jsx)(r.td,{children:"Table name, columns, types, comments"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:"Partitions & properties"}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.strong,{children:"Supported \u2705"})}),(0,n.jsx)(r.td,{children:"Dialect differences internalized in syntax layer"})]}),(0,n.jsxs)(r.tr,{children:[(0,n.jsx)(r.td,{children:(0,n.jsx)(r.code,{children:"catalog.db.table"})}),(0,n.jsx)(r.td,{children:(0,n.jsx)(r.strong,{children:"Supported \u2705"})}),(0,n.jsx)(r.td,{children:"Multi-catalog scenarios"})]})]})]})]})}function p(e={}){let{wrapper:r}={...(0,a.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},8453(e,r,s){s.d(r,{R:()=>l,x:()=>i});var t=s(6540);let n={},a=t.createContext(n);function l(e){let r=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),t.createElement(a.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/ac4ff279.267aacc1.js b/en/assets/js/ac4ff279.267aacc1.js new file mode 100644 index 0000000..4e8cc34 --- /dev/null +++ b/en/assets/js/ac4ff279.267aacc1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["8222"],{6462(e,n,t){t.r(n),t.d(n,{metadata:()=>i,default:()=>u,frontMatter:()=>o,contentTitle:()=>l,toc:()=>a,assets:()=>c});var i=JSON.parse('{"id":"contributing","title":"Contributing","description":"How to contribute to SqlParserX","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/contributing.md","sourceDirName":".","slug":"/contributing","permalink":"/SqlParserX/en/docs/contributing","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/contributing.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"Contributing","description":"How to contribute to SqlParserX","sidebar_label":"Contributing","sidebar_position":1},"sidebar":"docs","previous":{"title":"Parameter Extraction","permalink":"/SqlParserX/en/docs/core/parameter-compile"}}'),s=t(4848),r=t(8453);let o={title:"Contributing",description:"How to contribute to SqlParserX",sidebar_label:"Contributing",sidebar_position:1},l="Contributing",c={},a=[{value:"Ways to Contribute",id:"ways-to-contribute",level:2},{value:"Development Workflow",id:"development-workflow",level:2},{value:"Conventions",id:"conventions",level:2},{value:"Documentation",id:"documentation",level:2}];function d(e){let n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"contributing",children:"Contributing"})}),"\n",(0,s.jsx)(n.p,{children:"Thanks for your interest in SqlParserX! Issues and Pull Requests are welcome."}),"\n",(0,s.jsx)(n.h2,{id:"ways-to-contribute",children:"Ways to Contribute"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Report bugs or request features: ",(0,s.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/issues",children:"GitHub Issues"})]}),"\n",(0,s.jsxs)(n.li,{children:["Submit code: ",(0,s.jsx)(n.a,{href:"https://github.com/DTStack/SqlParserX/pulls",children:"GitHub Pull Requests"})]}),"\n",(0,s.jsxs)(n.li,{children:["Join discussions: see ",(0,s.jsx)(n.a,{href:"/community",children:"Community"})]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"development-workflow",children:"Development Workflow"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Fork the repo and create a feature branch: ",(0,s.jsx)(n.code,{children:"git checkout -b feature/xxx"})]}),"\n",(0,s.jsxs)(n.li,{children:["Build locally: ",(0,s.jsx)(n.code,{children:"mvn clean install -DskipTests"})]}),"\n",(0,s.jsxs)(n.li,{children:["Write code and tests, ensure ",(0,s.jsx)(n.code,{children:"mvn test"})," passes"]}),"\n",(0,s.jsx)(n.li,{children:"Push the branch and open a Pull Request"}),"\n",(0,s.jsx)(n.li,{children:"Merge after CI and review"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"conventions",children:"Conventions"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Follow the module layering: syntax differences \u2192 ",(0,s.jsx)(n.code,{children:"sqlparserx-syntax"}),", business differences \u2192 ",(0,s.jsx)(n.code,{children:"sqlparserx-core"})]}),"\n",(0,s.jsx)(n.li,{children:"When adding a datasource, also update capability docs and regression tests"}),"\n",(0,s.jsx)(n.li,{children:"Match the existing code style and avoid unrelated dependencies"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"documentation",children:"Documentation"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Docs are maintained in the project root ",(0,s.jsx)(n.code,{children:"docs/"})," and synced to this site"]}),"\n",(0,s.jsx)(n.li,{children:"Update the relevant capability docs when adding parsing capabilities"}),"\n"]})]})}function u(e={}){let{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453(e,n,t){t.d(n,{R:()=>o,x:()=>l});var i=t(6540);let s={},r=i.createContext(s);function o(e){let n=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/acecf23e.98c2f734.js b/en/assets/js/acecf23e.98c2f734.js new file mode 100644 index 0000000..f092ee7 --- /dev/null +++ b/en/assets/js/acecf23e.98c2f734.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3220"],{1912(s){s.exports=JSON.parse('{"blogBasePath":"/SqlParserX/en/blog","blogTitle":"Blog","authorsListPath":"/SqlParserX/en/blog/authors"}')}}]); \ No newline at end of file diff --git a/en/assets/js/bd32d0d5.2cdaeaae.js b/en/assets/js/bd32d0d5.2cdaeaae.js new file mode 100644 index 0000000..0effbea --- /dev/null +++ b/en/assets/js/bd32d0d5.2cdaeaae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5940"],{4241(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"1.0","label":"Next \u{1F6A7}","banner":null,"badge":true,"noIndex":false,"className":"docs-version-1.0","isLast":true,"docsSidebars":{"docs":[{"type":"link","href":"/SqlParserX/en/docs/intro","label":"Docs Guide","docId":"intro","unlisted":false},{"type":"category","label":"\u5173\u4E8E SqlParserX","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/en/docs/about/introduction","label":"Introduction","docId":"about/introduction","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/about/architecture","label":"Architecture","docId":"about/architecture","unlisted":false}],"collapsible":true},{"type":"category","label":"Getting Started","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/en/docs/quickstart/setup","label":"Setup & Build","docId":"quickstart/setup","unlisted":false}],"collapsible":true},{"type":"category","label":"\u6838\u5FC3\u89E3\u6790\u80FD\u529B\u4F7F\u7528","collapsed":false,"items":[{"type":"link","href":"/SqlParserX/en/docs/core/sql-type","label":"SQL Type Detection","docId":"core/sql-type","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/core/field-lineage","label":"Field Lineage","docId":"core/field-lineage","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/core/table-lineage","label":"Table Lineage","docId":"core/table-lineage","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/core/table-parse","label":"Table Parsing","docId":"core/table-parse","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/core/function-parse","label":"Function Parsing","docId":"core/function-parse","unlisted":false},{"type":"link","href":"/SqlParserX/en/docs/core/parameter-compile","label":"Parameter Extraction","docId":"core/parameter-compile","unlisted":false}],"collapsible":true},{"type":"category","label":"\u8D21\u732E\u6307\u5357","collapsed":true,"items":[{"type":"link","href":"/SqlParserX/en/docs/contributing","label":"Contributing","docId":"contributing","unlisted":false}],"collapsible":true}]},"docs":{"about/architecture":{"id":"about/architecture","title":"Architecture","description":"The two-layer unified extension architecture of SqlParserX","sidebar":"docs"},"about/introduction":{"id":"about/introduction","title":"Introduction","description":"Positioning, capabilities and modules of SqlParserX","sidebar":"docs"},"contributing":{"id":"contributing","title":"Contributing","description":"How to contribute to SqlParserX","sidebar":"docs"},"core/field-lineage":{"id":"core/field-lineage","title":"Field Lineage","description":"Derive source.table.source_column \u2192 target.table.target_column lineage from SQL","sidebar":"docs"},"core/function-parse":{"id":"core/function-parse","title":"Function Parsing","description":"Extract functions, arguments and contexts used in SQL","sidebar":"docs"},"core/parameter-compile":{"id":"core/parameter-compile","title":"Parameter Extraction and Prepared SQL","description":"Extract dynamic SELECT parameters and build JDBC prepared SQL","sidebar":"docs"},"core/sql-type":{"id":"core/sql-type","title":"SQL Type Detection","description":"Detect the business SQL type from the parsed syntax tree","sidebar":"docs"},"core/table-lineage":{"id":"core/table-lineage","title":"Table Lineage","description":"Parse source-to-target table lineage from SQL","sidebar":"docs"},"core/table-parse":{"id":"core/table-parse","title":"Table Parsing","description":"Parse real tables, CTEs, CREATE TABLE, partitions and properties from SQL","sidebar":"docs"},"intro":{"id":"intro","title":"SqlParserX Docs","description":"Entry point for the SqlParserX multi-dialect SQL parsing engine","sidebar":"docs"},"quickstart/setup":{"id":"quickstart/setup","title":"Quick Start","description":"Add the dependency, build and run SqlParserX locally","sidebar":"docs"}}}}')}}]); \ No newline at end of file diff --git a/en/assets/js/c4f5d8e4.97d426b8.js b/en/assets/js/c4f5d8e4.97d426b8.js new file mode 100644 index 0000000..7f4508c --- /dev/null +++ b/en/assets/js/c4f5d8e4.97d426b8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["4823"],{7641(e,s,a){a.r(s),a.d(s,{default:()=>k});var i=a(4848);a(6540);var c=a(6525),r=a(898),l=a(5310),d=a(568),n=a(6497);let t={hero:"hero_reY0",gridBg:"gridBg_zRbt",glowA:"glowA_dnBZ",glowB:"glowB_NjYj",inner:"inner_IGGz",left:"left_uKTZ",badge:"badge_D9jF",badgeDot:"badgeDot_ycdE",title:"title_DbXn",brandLogo:"brandLogo_fzYv",titleGrad:"titleGrad_wsmG",tagline:"tagline_Omcq",desc:"desc_oE5c",actions:"actions_BPoi",ctaPrimary:"ctaPrimary_nzdu",arrow:"arrow_ohpH",ctaSecondary:"ctaSecondary_ioAi",ghLink:"ghLink_HXFT",stats:"stats_UghV",right:"right_YUha",window:"window_mZAp",windowBar:"windowBar_IG7S",dots:"dots_dSgu",windowTitle:"windowTitle_C7Wi",pane:"pane_IGTq",paneLabel:"paneLabel_AJ3a",code:"code_ciTM",kw:"kw_CYEt",tbl:"tbl_ICwn",divider:"divider_ybTj",dividerDot:"dividerDot_PbM6",result:"result_UYmE",resLine:"resLine_Yxvh",check:"check_W2bt",tag:"tag_bkpi",tagWarm:"tagWarm_CVvE",arrowSm:"arrowSm_NRI0"};function h(){let e=(0,n.Ay)("/img/logo.png");return(0,i.jsxs)("header",{className:t.hero,children:[(0,i.jsx)("div",{className:t.gridBg,"aria-hidden":"true"}),(0,i.jsx)("div",{className:t.glowA,"aria-hidden":"true"}),(0,i.jsx)("div",{className:t.glowB,"aria-hidden":"true"}),(0,i.jsxs)("div",{className:t.inner,children:[(0,i.jsxs)("div",{className:t.left,children:[(0,i.jsxs)("div",{className:t.badge,children:[(0,i.jsx)("span",{className:t.badgeDot}),(0,i.jsx)(d.A,{id:"homepage.hero.badge",children:"Java 8 \xb7 Druid 1.2.28 \xb7 15+ \u65B9\u8A00"})]}),(0,i.jsxs)("h1",{className:t.title,children:[(0,i.jsx)("img",{className:t.brandLogo,src:e,alt:""}),(0,i.jsx)("span",{children:"SqlParser"}),(0,i.jsx)("span",{className:t.titleGrad,children:"X"})]}),(0,i.jsx)("p",{className:t.tagline,children:(0,i.jsx)(d.A,{id:"homepage.hero.tagline",children:"\u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305"})}),(0,i.jsx)("p",{className:t.desc,children:(0,i.jsx)(d.A,{id:"homepage.hero.desc",children:"SQL \u7C7B\u578B\u8BC6\u522B \xb7 \u8868\u4E0E\u5B57\u6BB5\u8840\u7F18 \xb7 \u8868/DDL \u89E3\u6790 \xb7 \u51FD\u6570\u63D0\u53D6 \xb7 \u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1"})}),(0,i.jsxs)("div",{className:t.actions,children:[(0,i.jsxs)(l.A,{className:`button button--primary button--lg ${t.ctaPrimary}`,to:"/docs/quickstart/setup",children:[(0,i.jsx)(d.A,{id:"homepage.hero.cta.primary",children:"\u5FEB\u901F\u5F00\u59CB"}),(0,i.jsx)("span",{"aria-hidden":"true",className:t.arrow,children:"\u2192"})]}),(0,i.jsx)(l.A,{className:`button button--secondary button--lg ${t.ctaSecondary}`,to:"/docs/about/introduction",children:(0,i.jsx)(d.A,{id:"homepage.hero.cta.secondary",children:"\u9879\u76EE\u4ECB\u7ECD"})}),(0,i.jsx)(l.A,{className:t.ghLink,href:"https://github.com/DTStack/SqlParserX","aria-label":"GitHub repository",children:"GitHub"})]}),(0,i.jsxs)("ul",{className:t.stats,children:[(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"15"}),(0,i.jsx)("span",{children:(0,i.jsx)(d.A,{id:"homepage.hero.stat.datasource",children:"\u6570\u636E\u6E90\u65B9\u8A00"})})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"6"}),(0,i.jsx)("span",{children:(0,i.jsx)(d.A,{id:"homepage.hero.stat.capability",children:"\u6838\u5FC3\u89E3\u6790\u80FD\u529B"})})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"2"}),(0,i.jsx)("span",{children:(0,i.jsx)(d.A,{id:"homepage.hero.stat.layer",children:"\u5C42\u7EDF\u4E00\u67B6\u6784"})})]}),(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"100%"}),(0,i.jsx)("span",{children:(0,i.jsx)(d.A,{id:"homepage.hero.stat.compat",children:"Java 8 \u517C\u5BB9"})})]})]})]}),(0,i.jsx)("div",{className:t.right,children:(0,i.jsxs)("div",{className:t.window,children:[(0,i.jsxs)("div",{className:t.windowBar,children:[(0,i.jsxs)("span",{className:t.dots,children:[(0,i.jsx)("i",{}),(0,i.jsx)("i",{}),(0,i.jsx)("i",{})]}),(0,i.jsx)("span",{className:t.windowTitle,children:"LineagePreview"})]}),(0,i.jsxs)("div",{className:t.pane,children:[(0,i.jsx)("div",{className:t.paneLabel,children:(0,i.jsx)(d.A,{id:"homepage.hero.pane.input",children:"SQL \u8F93\u5165"})}),(0,i.jsxs)("div",{className:t.code,children:[(0,i.jsxs)("div",{className:t.line,children:[(0,i.jsx)("span",{className:t.kw,children:"INSERT INTO"})," ",(0,i.jsx)("span",{className:t.tbl,children:"dwd.order_di"})]}),(0,i.jsxs)("div",{className:t.line,children:[(0,i.jsx)("span",{className:t.kw,children:"SELECT"})," o.id, u.name, o.amount"]}),(0,i.jsxs)("div",{className:t.line,children:[(0,i.jsx)("span",{className:t.kw,children:"FROM"})," ods.orders o"]}),(0,i.jsxs)("div",{className:t.line,children:[(0,i.jsx)("span",{className:t.kw,children:"JOIN"})," ods.users u"," ",(0,i.jsx)("span",{className:t.kw,children:"ON"})," o.uid = u.id;"]})]})]}),(0,i.jsxs)("div",{className:t.divider,children:[(0,i.jsx)("span",{className:t.dividerDot}),(0,i.jsx)(d.A,{id:"homepage.hero.pane.output",children:"\u89E3\u6790\u7ED3\u679C"})]}),(0,i.jsx)("div",{className:t.pane,children:(0,i.jsxs)("div",{className:t.result,children:[(0,i.jsxs)("div",{className:t.resLine,children:[(0,i.jsx)("span",{className:t.check,children:"\u2713"}),(0,i.jsx)("span",{className:t.tag,children:(0,i.jsx)(d.A,{id:"homepage.hero.tag.table",children:"\u8868\u8840\u7F18"})}),"ods.orders ",(0,i.jsx)("span",{className:t.arrowSm,children:"\u2192"})," ","dwd.order_di"]}),(0,i.jsxs)("div",{className:t.resLine,children:[(0,i.jsx)("span",{className:t.check,children:"\u2713"}),(0,i.jsx)("span",{className:t.tag,children:"\u8868\u8840\u7F18"}),"ods.users ",(0,i.jsx)("span",{className:t.arrowSm,children:"\u2192"})," ","dwd.order_di"]}),(0,i.jsxs)("div",{className:t.resLine,children:[(0,i.jsx)("span",{className:t.check,children:"\u2713"}),(0,i.jsx)("span",{className:t.tagWarm,children:(0,i.jsx)(d.A,{id:"homepage.hero.tag.field",children:"\u5B57\u6BB5\u8840\u7F18"})}),"ods.orders.amount ",(0,i.jsx)("span",{className:t.arrowSm,children:"\u2192"})," ","dwd.order_di.amount"]})]})})]})})]})]})}let o=[["mysql","MySQL"],["hive","Hive"],["doris","Doris"],["starrocks","StarRocks"],["clickhouse","ClickHouse"],["oracle","Oracle"],["postgresql","PostgreSQL"],["spark","Spark"],[null,"Trino"],[null,"DM"],["oceanbase","OceanBase"],[null,"OceanBase Oracle"],["sqlserver","SQL Server"],["greenplum","Greenplum"],["tidb","TiDB"]];function m(){let e=(0,n.Ay)("/");return(0,i.jsxs)("section",{className:"section_eBTT",children:[(0,i.jsx)("p",{className:"lead_wHuz",children:(0,i.jsx)(d.A,{id:"homepage.datasource.lead",children:"\u5DF2\u9002\u914D 15+ \u6570\u636E\u6E90\u65B9\u8A00"})}),(0,i.jsx)("div",{className:"row_w6Q8",children:o.map(([s,a])=>(0,i.jsxs)("div",{className:"item_Mtdw",title:a,children:[s?(0,i.jsx)("img",{src:`${e}img/datasource/${s}.png`,alt:"",loading:"lazy"}):(0,i.jsx)("span",{className:"fallbackIcon_XJXT","aria-hidden":"true",children:"\u25C6"}),(0,i.jsx)("span",{children:a})]},s))})]})}let x="iconAccent_kca4";function j({type:e}){let s={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};return"type"===e?(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("path",{d:"M5 3h10l4 4v14H5zM15 3v5h4M8 12h8M8 16h5"}),(0,i.jsx)("path",{className:x,d:"m8 8 1.5 1.5L12 7"})]}):"structure"===e?(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("ellipse",{cx:"12",cy:"5",rx:"8",ry:"3"}),(0,i.jsx)("path",{d:"M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6"}),(0,i.jsx)("path",{className:x,d:"M8 9h8"})]}):"tableLineage"===e?(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("rect",{x:"2.5",y:"8.5",width:"6",height:"7",rx:"1.5"}),(0,i.jsx)("rect",{x:"15.5",y:"3",width:"6",height:"7",rx:"1.5"}),(0,i.jsx)("rect",{x:"15.5",y:"14",width:"6",height:"7",rx:"1.5"}),(0,i.jsx)("path",{className:x,d:"M8.5 12H12V6.5h3.5M12 12v5.5h3.5"})]}):"columnLineage"===e?(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("rect",{x:"2",y:"3",width:"7",height:"18",rx:"1.5"}),(0,i.jsx)("rect",{x:"15",y:"3",width:"7",height:"18",rx:"1.5"}),(0,i.jsx)("path",{d:"M4.5 7h2M4.5 11h2M17.5 7h2M17.5 11h2M17.5 15h2"}),(0,i.jsx)("path",{className:x,d:"M6.5 15h4l3-6h3M14 7l2.5 2L14 11"})]}):"function"===e?(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("path",{d:"M10.5 4.5c-2.2 0-3.4 1.25-3.85 3.75L5.3 16c-.42 2.35-1.45 3.5-3.3 3.5M4.5 11.5h6"}),(0,i.jsx)("path",{className:x,d:"M14 8.5l3 3.5-3 3.5M22 8.5l-3 3.5 3 3.5"})]}):(0,i.jsxs)("svg",{...s,children:[(0,i.jsx)("path",{d:"M7 3H5a2 2 0 0 0-2 2v4l-2 3 2 3v4a2 2 0 0 0 2 2h2M17 3h2a2 2 0 0 1 2 2v4l2 3-2 3v4a2 2 0 0 1-2 2h-2"}),(0,i.jsx)("path",{className:x,d:"M9 8h6M9 12h6M9 16h6"})]})}let p=[{icon:"type",key:"type",titleId:"homepage.feature.type.title",title:"SQL \u7C7B\u578B\u8BC6\u522B",descId:"homepage.feature.type.desc",desc:"\u8BC6\u522B\u67E5\u8BE2\u3001\u5199\u5165\u3001\u5EFA\u8868\u3001SHOW \u4E0E EXPLAIN \u7B49\u8BED\u53E5\u7C7B\u578B\u3002"},{icon:"structure",key:"table",titleId:"homepage.feature.table.title",title:"\u771F\u5B9E\u8868\u4E0E\u5EFA\u8868\u7ED3\u6784",descId:"homepage.feature.table.desc",desc:"\u7A7F\u900F JOIN\u3001CTE \u4E0E\u5B50\u67E5\u8BE2\uFF0C\u89E3\u6790\u5B57\u6BB5\u3001\u952E\u3001\u5206\u533A\u53CA\u5206\u6876\u7ED3\u6784\u3002"},{icon:"tableLineage",key:"tableLineage",titleId:"homepage.feature.tableLineage.title",title:"\u8868\u7EA7\u8840\u7F18",descId:"homepage.feature.tableLineage.desc",desc:"\u4ECE INSERT \u4E0E CTAS \u8FFD\u6EAF\u6765\u6E90\u8868\u5230\u76EE\u6807\u8868\u7684\u6570\u636E\u6D41\u8F6C\u5173\u7CFB\u3002"},{icon:"columnLineage",key:"columnLineage",titleId:"homepage.feature.columnLineage.title",title:"\u5B57\u6BB5\u7EA7\u8840\u7F18",descId:"homepage.feature.columnLineage.desc",desc:"\u5206\u6790\u8868\u8FBE\u5F0F\u3001\u51FD\u6570\u4E0E CASE \u4E2D\u6765\u6E90\u5B57\u6BB5\u5230\u76EE\u6807\u5B57\u6BB5\u7684\u6620\u5C04\u3002"},{icon:"function",key:"function",titleId:"homepage.feature.function.title",title:"\u51FD\u6570\u540D\u63D0\u53D6",descId:"homepage.feature.function.desc",desc:"\u63D0\u53D6\u666E\u901A\u3001\u805A\u5408\u4E0E\u7A97\u53E3\u51FD\u6570\u540D\u79F0\uFF0C\u652F\u6301\u591A\u8BED\u53E5\u89E3\u6790\u4E0E\u53BB\u91CD\u3002"},{icon:"parameter",key:"parameter",titleId:"homepage.feature.parameter.title",title:"\u53C2\u6570\u63D0\u53D6\u4E0E\u9884\u7F16\u8BD1",descId:"homepage.feature.parameter.desc",desc:"\u63D0\u53D6 SELECT \u52A8\u6001\u53C2\u6570\uFF0C\u751F\u6210 JDBC \u5360\u4F4D\u7B26 SQL \u4E0E\u6709\u5E8F\u7ED1\u5B9A\u503C\u3002"}];function g(){return(0,i.jsxs)("section",{className:"section_R2J0",children:[(0,i.jsxs)("div",{className:"header_nMSq",children:[(0,i.jsx)("span",{className:"eyebrow_KQpq",children:(0,i.jsx)(d.A,{id:"homepage.features.eyebrow",children:"\u6838\u5FC3\u80FD\u529B"})}),(0,i.jsx)("h2",{className:"heading_fnW7",children:(0,i.jsx)(d.A,{id:"homepage.features.heading",children:"\u4E00\u4E2A\u5F15\u64CE\uFF0C\u8986\u76D6 SQL \u89E3\u6790\u5168\u94FE\u8DEF"})}),(0,i.jsx)("p",{className:"subheading_cJ8g",children:(0,i.jsx)(d.A,{id:"homepage.features.subheading",children:"\u4ECE\u65B9\u8A00\u8BED\u6CD5\u5230\u4E1A\u52A1\u8BED\u4E49\uFF0C\u7EDF\u4E00\u5951\u7EA6\u3001\u7EDF\u4E00\u7ED3\u679C\uFF0C\u5F00\u7BB1\u5373\u7528\u3002"})})]}),(0,i.jsx)("div",{className:"grid_vg4X",children:p.map(e=>(0,i.jsxs)("article",{className:"card_ooQ2",children:[(0,i.jsx)("div",{className:"iconWrap_ISBW",children:(0,i.jsx)(j,{type:e.icon})}),(0,i.jsx)("h3",{className:"cardTitle_FpVF",children:(0,i.jsx)(d.A,{id:e.titleId,children:e.title})}),(0,i.jsx)("p",{className:"cardDesc_Hcpx",children:(0,i.jsx)(d.A,{id:e.descId,children:e.desc})})]},e.key))})]})}let u="row_mLVB",N="info_rZXn",v="eyebrow_cIXQ",_="title_ULaK",b="desc_yXFq",w="showcase_mNzI",y=[{id:"homepage.case.step1",label:"\u63A5\u5165 SQL + DbType"},{id:"homepage.case.step2",label:"\u8BED\u6CD5\u5C42\u89E3\u6790\u4E3A Druid AST"},{id:"homepage.case.step3",label:"\u4E1A\u52A1\u5C42\u7EDF\u4E00\u89E3\u6790"},{id:"homepage.case.step4",label:"\u8868 / \u8840\u7F18 / \u51FD\u6570 / \u53C2\u6570\u89E3\u6790\u7ED3\u679C"}];function A(){let e=(0,n.Ay)("/");return(0,i.jsxs)("section",{className:"section_XM3Q",children:[(0,i.jsxs)("div",{className:u,children:[(0,i.jsxs)("div",{className:N,children:[(0,i.jsx)("span",{className:v,children:(0,i.jsx)(d.A,{id:"homepage.case.arch.eyebrow",children:"\u67B6\u6784\u8BBE\u8BA1"})}),(0,i.jsx)("h3",{className:_,children:(0,i.jsx)(d.A,{id:"homepage.case.arch.title",children:"\u4E24\u5C42\u7EDF\u4E00\u6269\u5C55\u67B6\u6784"})}),(0,i.jsx)("p",{className:b,children:(0,i.jsx)(d.A,{id:"homepage.case.arch.desc",children:"\u8BED\u6CD5\u5C42\u57FA\u4E8E Druid \u6269\u5C55\u65B9\u8A00 Lexer / Parser / AST\uFF0C\u4E1A\u52A1\u5C42\u901A\u8FC7 ISqlParser \u5951\u7EA6\u6269\u5C55\u8868\u89E3\u6790\u3001\u8840\u7F18\u4E0E\u6539\u5199\u903B\u8F91\uFF0C\u4E24\u5C42\u7531 DbType \u4E0E AST \u5BF9\u9F50\u3002"})}),(0,i.jsx)("ol",{className:"steps_EEbF",children:y.map((e,s)=>(0,i.jsxs)("li",{className:"step_eGvK",children:[(0,i.jsx)("span",{className:"stepNo_MhRk",children:s+1}),(0,i.jsx)(d.A,{id:e.id,children:e.label})]},e.id))})]}),(0,i.jsx)("div",{className:w,children:(0,i.jsx)("img",{src:`${e}img/architecture/SqlParserX\u{4E24}\u{5C42}\u{67B6}\u{6784}.png`,alt:"SqlParserX \u4E24\u5C42\u67B6\u6784",loading:"lazy"})})]}),(0,i.jsxs)("div",{className:`${u} reverse_tY76`,children:[(0,i.jsxs)("div",{className:N,children:[(0,i.jsx)("span",{className:v,children:(0,i.jsx)(d.A,{id:"homepage.case.docs.eyebrow",children:"\u6587\u6863\u7AD9"})}),(0,i.jsx)("h3",{className:_,children:(0,i.jsx)(d.A,{id:"homepage.case.version.title",children:"\u7248\u672C / \u591A\u8BED\u8A00\u5171\u5B58"})}),(0,i.jsx)("p",{className:b,children:(0,i.jsx)(d.A,{id:"homepage.case.version.desc",children:"\u53F3\u4FA7\u5BFC\u822A\u680F\u5373\u53EF\u5207\u6362\u7248\u672C\uFF081.0 / Next\uFF09\u4E0E\u8BED\u8A00\uFF08\u7B80\u4F53\u4E2D\u6587 / English\uFF09\uFF0C\u4E92\u4E0D\u5E72\u6270\u3002"})})]}),(0,i.jsx)("div",{className:w,children:(0,i.jsx)("img",{src:`${e}img/case/version.svg`,alt:"version",loading:"lazy"})})]})]})}function L(){return(0,i.jsx)("section",{className:"band_iMg9",children:(0,i.jsxs)("div",{className:"inner_s1W7",children:[(0,i.jsx)("h2",{className:"title_Xeao",children:(0,i.jsx)(d.A,{id:"homepage.cta.title",children:"\u51C6\u5907\u597D\u5F00\u59CB\u89E3\u6790\u4F60\u7684 SQL \u4E86\u5417\uFF1F"})}),(0,i.jsx)("p",{className:"desc_fTY7",children:(0,i.jsx)(d.A,{id:"homepage.cta.desc",children:"\u51E0\u5206\u949F\u5B8C\u6210\u63A5\u5165\uFF0C\u4F53\u9A8C\u591A\u65B9\u8A00\u89E3\u6790\u3001\u8840\u7F18\u8FFD\u6EAF\u4E0E\u53C2\u6570\u9884\u7F16\u8BD1\u80FD\u529B\u3002"})}),(0,i.jsxs)("div",{className:"actions_AcwB",children:[(0,i.jsx)(l.A,{className:"button button--lg primary_lgmO",to:"/docs/quickstart/setup",children:(0,i.jsx)(d.A,{id:"homepage.cta.primary",children:"\u5FEB\u901F\u5F00\u59CB"})}),(0,i.jsx)(l.A,{className:"button button--lg secondary_m1GY",href:"https://github.com/DTStack/SqlParserX",children:(0,i.jsx)(d.A,{id:"homepage.cta.secondary",children:"\u67E5\u770B\u6E90\u7801"})})]})]})})}function k(){let{siteConfig:e}=(0,r.A)();return(0,i.jsxs)(c.A,{title:e.title,description:e.tagline,children:[(0,i.jsx)(h,{}),(0,i.jsxs)("main",{className:"main_iUjq",children:[(0,i.jsx)(m,{}),(0,i.jsx)(g,{}),(0,i.jsx)(A,{}),(0,i.jsx)(L,{})]})]})}}}]); \ No newline at end of file diff --git a/en/assets/js/c61d1296.6ae31ced.js b/en/assets/js/c61d1296.6ae31ced.js new file mode 100644 index 0000000..e80025a --- /dev/null +++ b/en/assets/js/c61d1296.6ae31ced.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3224"],{9246(e,n,r){r.r(n),r.d(n,{metadata:()=>t,default:()=>u,frontMatter:()=>o,contentTitle:()=>a,toc:()=>c,assets:()=>l});var t=JSON.parse('{"id":"intro","title":"SqlParserX Docs","description":"Entry point for the SqlParserX multi-dialect SQL parsing engine","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/intro.md","sourceDirName":".","slug":"/intro","permalink":"/SqlParserX/en/docs/intro","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/intro.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"SqlParserX Docs","description":"Entry point for the SqlParserX multi-dialect SQL parsing engine","sidebar_label":"Docs Guide","sidebar_position":1},"sidebar":"docs","next":{"title":"Introduction","permalink":"/SqlParserX/en/docs/about/introduction"}}'),s=r(4848),i=r(8453);let o={title:"SqlParserX Docs",description:"Entry point for the SqlParserX multi-dialect SQL parsing engine",sidebar_label:"Docs Guide",sidebar_position:1},a="Welcome to SqlParserX",l={},c=[{value:"Get Started",id:"get-started",level:2},{value:"Documentation Map",id:"documentation-map",level:2}];function d(e){let n={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"welcome-to-sqlparserx",children:"Welcome to SqlParserX"})}),"\n",(0,s.jsxs)(n.p,{children:["SqlParserX is a ",(0,s.jsx)(n.strong,{children:"multi-dialect SQL parsing engine and toolkit"})," for SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation."]}),"\n",(0,s.jsxs)(n.p,{children:["It is built around two layers: ",(0,s.jsx)(n.code,{children:"sqlparserx-syntax"})," parses SQL into Druid ASTs and owns syntax extensions; ",(0,s.jsx)(n.code,{children:"sqlparserx-core"})," consumes those ASTs through the unified ",(0,s.jsx)(n.code,{children:"ISqlParser"})," contract and produces business parsing results. ",(0,s.jsx)(n.code,{children:"sqlparserx-web"})," and ",(0,s.jsx)(n.code,{children:"sqlparserx-ui"})," provide service and visualization access."]}),"\n",(0,s.jsx)(n.h2,{id:"get-started",children:"Get Started"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\u{1F680} ",(0,s.jsx)(n.a,{href:"/SqlParserX/en/docs/quickstart/setup",children:"Quick Start"})]}),"\n",(0,s.jsxs)(n.li,{children:["\u{1F4D6} ",(0,s.jsx)(n.a,{href:"/SqlParserX/en/docs/about/introduction",children:"Introduction"})]}),"\n",(0,s.jsxs)(n.li,{children:["\u{1F3D7}\uFE0F ",(0,s.jsx)(n.a,{href:"/SqlParserX/en/docs/about/architecture",children:"Architecture"})]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"documentation-map",children:"Documentation Map"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"About SqlParserX"}),": project introduction and two-layer architecture"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Quick Start"}),": environment setup, build and run"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Core Parsing Capabilities"}),": SQL type detection, field lineage, table lineage, table parsing, function extraction, and parameter extraction"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.strong,{children:"Contributing"}),": how to contribute"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:[":::tip Tip\nUse the navbar to switch ",(0,s.jsx)(n.strong,{children:"version"})," (",(0,s.jsx)(n.code,{children:"1.0"})," / ",(0,s.jsx)(n.code,{children:"Next"}),") and ",(0,s.jsx)(n.strong,{children:"language"})," (\u7B80\u4F53\u4E2D\u6587 / English).\n:::"]})]})}function u(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453(e,n,r){r.d(n,{R:()=>o,x:()=>a});var t=r(6540);let s={},i=t.createContext(s);function o(e){let n=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/ccc49370.0fff0dec.js b/en/assets/js/ccc49370.0fff0dec.js new file mode 100644 index 0000000..b2c548b --- /dev/null +++ b/en/assets/js/ccc49370.0fff0dec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6074"],{4533(e,t,n){n.d(t,{A:()=>k});var r=n(4848);n(6540);var i=n(4164),l=n(7645);function s({children:e,className:t}){return(0,r.jsx)("article",{className:t,children:e})}var a=n(5310);function o({className:e}){let{metadata:t,isBlogPostPage:n}=(0,l.e7)(),{permalink:s,title:c}=t;return(0,r.jsx)(n?"h1":"h2",{className:(0,i.A)("title_f1Hy",e),children:n?c:(0,r.jsx)(a.A,{to:s,children:c})})}var c=n(568),d=n(8878),u=n(7954);function m({readingTime:e}){let t=function(){let{selectMessage:e}=(0,d.W)();return t=>{let n=Math.ceil(t);return e(n,(0,c.T)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:t(e)})}function h({date:e,formattedDate:t}){return(0,r.jsx)("time",{dateTime:e,children:t})}function g(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function x({className:e}){let{metadata:t}=(0,l.e7)(),{date:n,readingTime:s}=t,a=(0,u.i)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,i.A)("container_mt6G","margin-vert--md",e),children:[(0,r.jsx)(h,{date:n,formattedDate:a.format(new Date(n))}),void 0!==s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g,{}),(0,r.jsx)(m,{readingTime:s})]})]})}var f=n(6947);function p({className:e}){let{metadata:{authors:t},assets:n}=(0,l.e7)();if(0===t.length)return null;let s=t.every(({name:e})=>!e),a=1===t.length;return(0,r.jsx)("div",{className:(0,i.A)("margin-top--md margin-bottom--sm",s?"imageOnlyAuthorRow_pa_O":"row",e),children:t.map((e,t)=>(0,r.jsx)("div",{className:(0,i.A)(!s&&(a?"col col--12":"col col--6"),s?"imageOnlyAuthorCol_G86a":"authorCol_Hf19"),children:(0,r.jsx)(f.A,{author:{...e,imageURL:n.authorsImageUrls[t]??e.imageURL}})},t))})}function j(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(o,{}),(0,r.jsx)(x,{}),(0,r.jsx)(p,{})]})}var b=n(5248),v=n(4743);function A({children:e,className:t}){let{isBlogPostPage:n}=(0,l.e7)();return(0,r.jsx)("div",{id:n?b.blogPostContainerID:void 0,className:(0,i.A)("markdown",t),children:(0,r.jsx)(v.A,{children:e})})}var y=n(8287),N=n(7410),_=n(4999);function T(){return(0,r.jsx)("b",{children:(0,r.jsx)(c.A,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function w(e){let{blogPostTitle:t,...n}=e;return(0,r.jsx)(a.A,{"aria-label":(0,c.T)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(T,{})})}function L(){let{metadata:e,isBlogPostPage:t}=(0,l.e7)(),{tags:n,title:s,editUrl:a,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&o,m=n.length>0;if(!(m||u||a))return null;if(!t)return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[m&&(0,r.jsx)("div",{className:(0,i.A)("col",{"col--9":u}),children:(0,r.jsx)(_.A,{tags:n})}),u&&(0,r.jsx)("div",{className:(0,i.A)("col text--right",{"col--3":m}),children:(0,r.jsx)(w,{blogPostTitle:s,to:e.permalink})})]});{let e=!!(a||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[m&&(0,r.jsx)("div",{className:(0,i.A)("row","margin-top--sm",y.G.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(_.A,{tags:n})})}),e&&(0,r.jsx)(N.A,{className:(0,i.A)("margin-top--sm",y.G.blog.blogFooterEditMetaRow),editUrl:a,lastUpdatedAt:d,lastUpdatedBy:c})]})}}function k({children:e,className:t}){let n=function(){let{isBlogPostPage:e}=(0,l.e7)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(s,{className:(0,i.A)(n,t),children:[(0,r.jsx)(j,{}),(0,r.jsx)(A,{children:e}),(0,r.jsx)(L,{})]})}},2063(e,t,n){n.r(t),n.d(t,{default:()=>b});var r=n(4848);n(6540);var i=n(4164),l=n(4308),s=n(8287),a=n(7645),o=n(8579),c=n(4533),d=n(568),u=n(7174);function m(e){let{nextItem:t,prevItem:n}=e;return(0,r.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,d.T)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[n&&(0,r.jsx)(u.A,{...n,subLabel:(0,r.jsx)(d.A,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer post"})}),t&&(0,r.jsx)(u.A,{...t,subLabel:(0,r.jsx)(d.A,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older post"}),isNext:!0})]})}function h(){let{assets:e,metadata:t}=(0,a.e7)(),{title:n,description:i,date:s,tags:o,authors:c,frontMatter:d}=t,{keywords:u}=d,m=e.image??d.image;return(0,r.jsxs)(l.be,{title:d.title_meta??n,description:i,keywords:u,image:m,children:[(0,r.jsx)("meta",{property:"og:type",content:"article"}),(0,r.jsx)("meta",{property:"article:published_time",content:s}),c.some(e=>e.url)&&(0,r.jsx)("meta",{property:"article:author",content:c.map(e=>e.url).filter(Boolean).join(",")}),o.length>0&&(0,r.jsx)("meta",{property:"article:tag",content:o.map(e=>e.label).join(",")})]})}var g=n(3572);function x(){let e=(0,a.J_)();return(0,r.jsx)(g.A,{children:(0,r.jsx)("script",{type:"application/ld+json",children:JSON.stringify(e)})})}var f=n(3242),p=n(7502);function j({sidebar:e,children:t}){let{metadata:n,toc:i}=(0,a.e7)(),{nextItem:l,prevItem:s,frontMatter:d}=n,{hide_table_of_contents:u,toc_min_heading_level:h,toc_max_heading_level:g}=d;return(0,r.jsxs)(o.A,{sidebar:e,toc:!u&&i.length>0?(0,r.jsx)(f.A,{toc:i,minHeadingLevel:h,maxHeadingLevel:g}):void 0,children:[(0,r.jsx)(p.A,{metadata:n}),(0,r.jsx)(c.A,{children:t}),(l||s)&&(0,r.jsx)(m,{nextItem:l,prevItem:s})]})}function b(e){let t=e.content;return(0,r.jsx)(a.in,{content:e.content,isBlogPostPage:!0,children:(0,r.jsxs)(l.e3,{className:(0,i.A)(s.G.wrapper.blogPages,s.G.page.blogPostPage),children:[(0,r.jsx)(h,{}),(0,r.jsx)(x,{}),(0,r.jsx)(j,{sidebar:e.sidebar,children:(0,r.jsx)(t,{})})]})})}},1250(e,t,n){n.d(t,{A:()=>c});var r=n(4848);n(6540);var i=n(4164),l=n(3276),s=n(8287),a=n(7444);function o({className:e}){return(0,r.jsx)(a.A,{type:"caution",title:(0,r.jsx)(l.Rc,{}),className:(0,i.A)(e,s.G.common.unlistedBanner),children:(0,r.jsx)(l.Uh,{})})}function c(e){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.AE,{}),(0,r.jsx)(o,{...e})]})}},7502(e,t,n){n.d(t,{A:()=>d});var r=n(4848);n(6540);var i=n(4164),l=n(3276),s=n(8287),a=n(7444);function o({className:e}){return(0,r.jsx)(a.A,{type:"caution",title:(0,r.jsx)(l.Yh,{}),className:(0,i.A)(e,s.G.common.draftBanner),children:(0,r.jsx)(l.TT,{})})}var c=n(1250);function d({metadata:e}){let{unlisted:t,frontMatter:n}=e;return(0,r.jsxs)(r.Fragment,{children:[(t||n.unlisted)&&(0,r.jsx)(c.A,{}),n.draft&&(0,r.jsx)(o,{})]})}},3242(e,t,n){n.d(t,{A:()=>s});var r=n(4848);n(6540);var i=n(4164),l=n(254);function s({className:e,...t}){return(0,r.jsx)("div",{className:(0,i.A)("tableOfContents_bqdL","thin-scrollbar",e),children:(0,r.jsx)(l.A,{...t,linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})})}},254(e,t,n){n.d(t,{A:()=>c});var r=n(4848),i=n(6540),l=n(1022);function s(e){let t=e.getBoundingClientRect();return t.top===t.bottom?s(e.parentNode):t}var a=n(5310);let o=i.memo(function e({toc:t,className:n,linkClassName:i,isChild:l}){return t.length?(0,r.jsx)("ul",{className:l?void 0:n,children:t.map(t=>(0,r.jsxs)("li",{children:[(0,r.jsx)(a.A,{to:`#${t.id}`,className:i??void 0,dangerouslySetInnerHTML:{__html:t.value}}),(0,r.jsx)(e,{isChild:!0,toc:t.children,className:n,linkClassName:i})]},t.id))}):null});function c({toc:e,className:t="table-of-contents table-of-contents__left-border",linkClassName:n="table-of-contents__link",linkActiveClassName:a,minHeadingLevel:d,maxHeadingLevel:u,...m}){var h;let g,x,f=(0,l.p)(),p=d??f.tableOfContents.minHeadingLevel,j=u??f.tableOfContents.maxHeadingLevel,b=function({toc:e,minHeadingLevel:t,maxHeadingLevel:n}){return(0,i.useMemo)(()=>{let r,i,l;return function e({toc:t,minHeadingLevel:n,maxHeadingLevel:r}){return t.flatMap(t=>{let i=e({toc:t.children,minHeadingLevel:n,maxHeadingLevel:r});return t.level>=n&&t.level<=r?[{...t,children:i}]:i})}({toc:(r=e.map(e=>({...e,parentIndex:-1,children:[]})),i=Array(7).fill(-1),r.forEach((e,t)=>{let n=i.slice(2,e.level);e.parentIndex=Math.max(...n),i[e.level]=t}),l=[],r.forEach(e=>{let{parentIndex:t,...n}=e;t>=0?r[t].children.push(n):l.push(n)}),l),minHeadingLevel:t,maxHeadingLevel:n})},[e,t,n])}({toc:e,minHeadingLevel:p,maxHeadingLevel:j});return h=(0,i.useMemo)(()=>{if(n&&a)return{linkClassName:n,linkActiveClassName:a,minHeadingLevel:p,maxHeadingLevel:j}},[n,a,p,j]),g=(0,i.useRef)(void 0),x=function(){let e=(0,i.useRef)(0),{navbar:{hideOnScroll:t}}=(0,l.p)();return(0,i.useEffect)(()=>{e.current=t?0:document.querySelector(".navbar").clientHeight},[t]),e}(),(0,i.useEffect)(()=>{if(!h)return()=>{};let{linkClassName:e,linkActiveClassName:t,minHeadingLevel:n,maxHeadingLevel:r}=h;function i(){let i=Array.from(document.getElementsByClassName(e)),l=function(e,{anchorTopOffset:t}){let n=e.find(e=>s(e).top>=t);if(n){var r;return(r=s(n)).top>0&&r.bottom<window.innerHeight/2?n:e[e.indexOf(n)-1]??null}return e[e.length-1]??null}(function({minHeadingLevel:e,maxHeadingLevel:t}){let n=[];for(let r=e;r<=t;r+=1)n.push(`h${r}.anchor`);return Array.from(document.querySelectorAll(n.join()))}({minHeadingLevel:n,maxHeadingLevel:r}),{anchorTopOffset:x.current}),a=i.find(e=>l&&l.id===decodeURIComponent(e.href.substring(e.href.indexOf("#")+1)));i.forEach(e=>{e===a?(g.current&&g.current!==e&&g.current.classList.remove(t),e.classList.add(t),g.current=e):e.classList.remove(t)})}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}},[h,x]),(0,r.jsx)(o,{toc:b,className:t,linkClassName:n,...m})}},3276(e,t,n){n.d(t,{AE:()=>o,Rc:()=>s,TT:()=>d,Uh:()=>a,Yh:()=>c});var r=n(4848);n(6540);var i=n(568),l=n(3572);function s(){return(0,r.jsx)(i.A,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function a(){return(0,r.jsx)(i.A,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,r.jsx)(l.A,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,r.jsx)(i.A,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,r.jsx)(i.A,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/en/assets/js/d611a6ba.4cd3e7d8.js b/en/assets/js/d611a6ba.4cd3e7d8.js new file mode 100644 index 0000000..71420ad --- /dev/null +++ b/en/assets/js/d611a6ba.4cd3e7d8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["9794"],{3354(e,r,n){n.r(r),n.d(r,{metadata:()=>t,default:()=>u,frontMatter:()=>a,contentTitle:()=>c,toc:()=>o,assets:()=>l});var t=JSON.parse('{"id":"about/architecture","title":"Architecture","description":"The two-layer unified extension architecture of SqlParserX","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/about/architecture.md","sourceDirName":"about","slug":"/about/architecture","permalink":"/SqlParserX/en/docs/next/about/architecture","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/about/architecture.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"title":"Architecture","description":"The two-layer unified extension architecture of SqlParserX","sidebar_label":"Architecture","sidebar_position":2},"sidebar":"docs","previous":{"title":"Introduction","permalink":"/SqlParserX/en/docs/next/about/introduction"},"next":{"title":"Setup & Build","permalink":"/SqlParserX/en/docs/next/quickstart/setup"}}'),s=n(4848),i=n(8453);let a={title:"Architecture",description:"The two-layer unified extension architecture of SqlParserX",sidebar_label:"Architecture",sidebar_position:2},c="Two-Layer Unified Extension Architecture",l={},o=[{value:"Overall Architecture",id:"overall-architecture",level:2},{value:"Module Dependencies",id:"module-dependencies",level:2}];function d(e){let r={code:"code",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",mermaid:"mermaid",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"two-layer-unified-extension-architecture",children:"Two-Layer Unified Extension Architecture"})}),"\n",(0,s.jsx)(r.p,{children:"The SqlParserX parsing kernel consists of two connected, structurally symmetric extension systems, each in its own Jar module:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:[(0,s.jsxs)(r.strong,{children:["SQL syntax layer (",(0,s.jsx)(r.code,{children:"sqlparserx-syntax"}),")"]}),": built on official Druid, extending Lexer, StatementParser and AST nodes per datasource through unified dialect routing, parser base and AST model."]}),"\n",(0,s.jsxs)(r.li,{children:[(0,s.jsxs)(r.strong,{children:["SqlParserX business layer (",(0,s.jsx)(r.code,{children:"sqlparserx-core"}),")"]}),": extending table parsing, lineage and SQL rewriting per datasource through unified dialect routing, the ",(0,s.jsx)(r.code,{children:"ISqlParser"})," contract and business clients."]}),"\n"]}),"\n",(0,s.jsxs)(r.p,{children:["Both layers follow the pattern ",(0,s.jsx)(r.strong,{children:"unified entry \u2192 common base \u2192 unified extension point \u2192 datasource implementation \u2192 unified result"}),". When adding a datasource, syntax differences are extended in the Druid layer and business differences in the SqlParserX layer, aligned via ",(0,s.jsx)(r.code,{children:"DbType"})," and Druid AST."]}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.img,{alt:"SqlParserX two-layer unified extension architecture",src:n(702).A+"",width:"1421",height:"1107"})}),"\n",(0,s.jsx)(r.h2,{id:"overall-architecture",children:"Overall Architecture"}),"\n",(0,s.jsx)(r.mermaid,{value:"flowchart TB\n subgraph Business[sqlparserx-core\uFF5CBusiness parsing layer]\n direction LR\n B_ROUTE[Dialect routing<br/>SqlParserFactory]\n B_BASE[Common base<br/>ISqlParser \xb7 BaseSqlParser \xb7 Base Client]\n B_EXT[Extension points<br/>Dialect Client \xb7 Strategy]\n B_DIALECT[Datasource implementations<br/>MySQL \xb7 Doris \xb7 StarRocks \xb7 ...]\n B_RESULT[Unified results<br/>Table \xb7 DDL \xb7 Lineage \xb7 SQL]\n B_ROUTE --\x3e B_BASE --\x3e B_EXT --\x3e B_DIALECT --\x3e B_RESULT\n end\n\n subgraph Syntax[sqlparserx-syntax\uFF5CSyntax parsing layer, on Druid]\n direction LR\n S_ROUTE[Dialect routing<br/>SqlSyntaxParserFactory \xb7 DbType]\n S_BASE[Common base<br/>Lexer \xb7 StatementParser \xb7 AST]\n S_EXT[Extension points<br/>Dialect Lexer \xb7 Parser \xb7 AST Node]\n S_DIALECT[Datasource implementations<br/>MySQL \xb7 Doris \xb7 Oracle \xb7 ...]\n S_RESULT[Unified results<br/>SQLStatement AST]\n S_ROUTE --\x3e S_BASE --\x3e S_EXT --\x3e S_DIALECT --\x3e S_RESULT\n end\n\n B_ROUTE -. DbType alignment .-> S_ROUTE\n B_DIALECT -. same datasource dialect .-> S_DIALECT\n B_BASE --\x3e|SQL + DbType| S_BASE\n S_RESULT --\x3e|SQLStatement AST| B_BASE"}),"\n",(0,s.jsx)(r.h2,{id:"module-dependencies",children:"Module Dependencies"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-text",children:"Access: sqlparserx-web (REST) / sqlparserx-ui\n \u2502 unified ISqlParser contract\nBusiness layer: sqlparserx-core\n \u2502 SQL + DbType / SQLStatement AST\nSyntax layer: sqlparserx-syntax (Druid 1.2.28)\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Business extensions follow ",(0,s.jsx)(r.code,{children:"SqlParserFactory"})," \u2192 ",(0,s.jsx)(r.code,{children:"ISqlParser"})," \u2192 ",(0,s.jsx)(r.code,{children:"BaseSqlParser"})," \u2192 dialect implementations."]})]})}function u(e={}){let{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},702(e,r,n){n.d(r,{A:()=>t});let t=n.p+"assets/images/SqlParserX\u4E24\u5C42\u67B6\u6784-en-710c1c16b39bd3885dfe50d51143759f.png"},8453(e,r,n){n.d(r,{R:()=>a,x:()=>c});var t=n(6540);let s={},i=t.createContext(s);function a(e){let r=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/dae5e6b9.c9da5438.js b/en/assets/js/dae5e6b9.c9da5438.js new file mode 100644 index 0000000..4a51ddc --- /dev/null +++ b/en/assets/js/dae5e6b9.c9da5438.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1811"],{9721(e,r,t){t.r(r),t.d(r,{metadata:()=>a,default:()=>p,frontMatter:()=>i,contentTitle:()=>o,toc:()=>c,assets:()=>l});var a=JSON.parse('{"id":"core/parameter-compile","title":"Parameter Extraction and Prepared SQL","description":"Extract dynamic SELECT parameters and build JDBC prepared SQL","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/core/parameter-compile.md","sourceDirName":"core","slug":"/core/parameter-compile","permalink":"/SqlParserX/en/docs/next/core/parameter-compile","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/parameter-compile.md","tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"title":"Parameter Extraction and Prepared SQL","description":"Extract dynamic SELECT parameters and build JDBC prepared SQL","sidebar_label":"Parameter Extraction","sidebar_position":6},"sidebar":"docs","previous":{"title":"Function Parsing","permalink":"/SqlParserX/en/docs/next/core/function-parse"},"next":{"title":"Contributing","permalink":"/SqlParserX/en/docs/next/contributing"}}'),n=t(4848),s=t(8453);let i={title:"Parameter Extraction and Prepared SQL",description:"Extract dynamic SELECT parameters and build JDBC prepared SQL",sidebar_label:"Parameter Extraction",sidebar_position:6},o="Parameter Extraction and Prepared SQL",l={},c=[];function d(e){let r={code:"code",h1:"h1",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.header,{children:(0,n.jsx)(r.h1,{id:"parameter-extraction-and-prepared-sql",children:"Parameter Extraction and Prepared SQL"})}),"\n",(0,n.jsxs)(r.p,{children:["SqlParserX extracts ",(0,n.jsx)(r.code,{children:"${variable}"})," expressions and output fields from SELECT statements. Given parameter values, it produces JDBC ",(0,n.jsx)(r.code,{children:"?"})," placeholders and an ordered binding list."]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-java",children:'ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);\nString sql = "SELECT id, name FROM users "\n + "WHERE dt = \'${bizdate}\' AND region = \'${region}\'";\n\nParseParameterResult parsed = parser.parseParameterSql(\n sql, false, Collections.emptyMap());\n\nMap<String, Object> values = new HashMap<>();\nvalues.put("bizdate", "20261014");\nvalues.put("region", "hangzhou");\n\nPrepareCompileResult compiled = parser.buildSqlByPrepareCompile(\n sql, values, Collections.emptyMap());\nSystem.out.println(compiled.getBeautifulSql());\nSystem.out.println(compiled.getInputFields());\n'})}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-text",children:"SELECT id, name FROM users WHERE dt = ? AND region = ?\n[20261014, hangzhou]\n"})}),"\n",(0,n.jsx)(r.p,{children:"The common implementation currently targets SELECT statements. Variables used as identifiers in sorting or grouping clauses are inlined."})]})}function p(e={}){let{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453(e,r,t){t.d(r,{R:()=>i,x:()=>o});var a=t(6540);let n={},s=a.createContext(n);function i(e){let r=a.useContext(s);return a.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/db80618e.29a55518.js b/en/assets/js/db80618e.29a55518.js new file mode 100644 index 0000000..63d9cda --- /dev/null +++ b/en/assets/js/db80618e.29a55518.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["6056"],{9707(s){s.exports=JSON.parse('{"authors":[{"name":"changlu","title":"SqlParserX \u7EF4\u62A4\u8005","url":"https://github.com/DTStack/SqlParserX","page":{"permalink":"/SqlParserX/en/blog/authors/changlu"},"socials":{"github":"https://github.com/DTStack"},"imageURL":"https://github.com/github.png","key":"changlu","count":1}]}')}}]); \ No newline at end of file diff --git a/en/assets/js/e539d78b.ad039c37.js b/en/assets/js/e539d78b.ad039c37.js new file mode 100644 index 0000000..7be6b69 --- /dev/null +++ b/en/assets/js/e539d78b.ad039c37.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["5301"],{8432(e,n,r){r.r(n),r.d(n,{metadata:()=>t,default:()=>u,frontMatter:()=>a,contentTitle:()=>i,toc:()=>o,assets:()=>d});var t=JSON.parse('{"id":"core/field-lineage","title":"Field Lineage","description":"Derive source.table.source_column \u2192 target.table.target_column lineage from SQL","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/core/field-lineage.md","sourceDirName":"core","slug":"/core/field-lineage","permalink":"/SqlParserX/en/docs/next/core/field-lineage","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/field-lineage.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"Field Lineage","description":"Derive source.table.source_column \u2192 target.table.target_column lineage from SQL","sidebar_label":"Field Lineage","sidebar_position":1},"sidebar":"docs","previous":{"title":"SQL Type Detection","permalink":"/SqlParserX/en/docs/next/core/sql-type"},"next":{"title":"Table Lineage","permalink":"/SqlParserX/en/docs/next/core/table-lineage"}}'),s=r(4848),l=r(8453);let a={title:"Field Lineage",description:"Derive source.table.source_column \u2192 target.table.target_column lineage from SQL",sidebar_label:"Field Lineage",sidebar_position:1},i="Field Lineage",d={},o=[{value:"1. Add the Dependency",id:"1-add-the-dependency",level:2},{value:"2. Complete Example",id:"2-complete-example",level:2},{value:"3. Goal",id:"3-goal",level:2},{value:"4. Entry & Implementation",id:"4-entry--implementation",level:2},{value:"5. Supported Scenarios",id:"5-supported-scenarios",level:2}];function c(e){let n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"field-lineage",children:"Field Lineage"})}),"\n",(0,s.jsx)(n.h2,{id:"1-add-the-dependency",children:"1. Add the Dependency"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"sqlparserx-core"})," transitively brings in ",(0,s.jsx)(n.code,{children:"sqlparserx-syntax"})," and Druid."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"2-complete-example",children:"2. Complete Example"}),"\n",(0,s.jsxs)(n.p,{children:["A ",(0,s.jsx)(n.strong,{children:"complete runnable"})," class from parser creation to printing column lineage, using the official ",(0,s.jsx)(n.code,{children:"sqlparserx-core/README.md"})," sample SQL:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",metastring:'title="FieldLineageDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;\nimport com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.Arrays;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\npublic class FieldLineageDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1. Metadata: table -> columns (used for select * / column expansion)\n Map<String, List<Column>> tableColumnsMap = new HashMap<>();\n tableColumnsMap.put("users", Arrays.asList(\n new Column("id", 0), new Column("name", 1)));\n tableColumnsMap.put("orders", Arrays.asList(\n new Column("amount", 0), new Column("id", 1)));\n\n // 2. Get a parser\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 3. Parse column lineage\n ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap);\n\n // 4. Print result: target table + target column -> source column\n System.out.println("target table: " + result.getTargetTable());\n result.printColumnLineage();\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"Console output (example):"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"target table: user_order_summary\nusers.id -> user_order_summary.user_id\nusers.name -> user_order_summary.name\norders.amount -> user_order_summary.total_amount\norders.id -> user_order_summary.order_count\n"})}),"\n",(0,s.jsx)(n.h2,{id:"3-goal",children:"3. Goal"}),"\n",(0,s.jsxs)(n.p,{children:["Derive ",(0,s.jsx)(n.strong,{children:"source table.column \u2192 target table.column"})," column-level lineage from SQL."]}),"\n",(0,s.jsxs)(n.p,{children:["The core idea: normalize the source select field list and target field list into sets of ",(0,s.jsx)(n.code,{children:"(real column, alias, real table)"})," triples, then generate lineage by fixed matching rules. Field lineage takes insert/create-table SQL as input; pure query SQL produces no lineage."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"SQLInsertStatement / SQLCreateTableStatement(AS SELECT)\n \u2192 ColumnLineageClient.parseColumnLineages\n \u2192 target column list + source select column list\n \u2192 addColumnRelations match one by one\n \u2192 ColumnLineageResult\n"})}),"\n",(0,s.jsx)(n.h2,{id:"4-entry--implementation",children:"4. Entry & Implementation"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Item"}),(0,s.jsx)(n.th,{children:"Content"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Core entry"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"ISqlParser.parseColumnLineages(sql, tableColumnsMap)"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Default impl"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"BaseSqlParser.parseColumnLineages"})," \u2192 ",(0,s.jsx)(n.code,{children:"ColumnLineageClient"})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Return type"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"ColumnLineageResult"})," (",(0,s.jsx)(n.code,{children:"getColumnRelations()"})," + ",(0,s.jsx)(n.code,{children:"getColumnLineages()"}),")"]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Applicable"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"SQLInsertStatement"}),", ",(0,s.jsx)(n.code,{children:"SQLCreateTableStatement"})," (AS SELECT)"]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Metadata input"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"Map<String, List<Column>> tableColumnsMap"})})]})]})]}),"\n",(0,s.jsx)(n.h2,{id:"5-supported-scenarios",children:"5. Supported Scenarios"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Capability"}),(0,s.jsx)(n.th,{children:"Status"}),(0,s.jsx)(n.th,{children:"Notes"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"catalog.db.table.column"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsx)(n.td,{children:"Multi-catalog scenarios such as Hive/Trino/StarRocks"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"db.table.column"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsx)(n.td,{children:"Standard MySQL/PostgreSQL usage"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:["Column expressions (",(0,s.jsx)(n.code,{children:"SQLBinaryOpExpr"}),")"]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsxs)(n.td,{children:["e.g. ",(0,s.jsx)(n.code,{children:"t5.level + 1"}),", recursively collect columns"]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"*"})," / ",(0,s.jsx)(n.code,{children:"xx.*"})," expansion"]}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsxs)(n.td,{children:["Read from metadata ",(0,s.jsx)(n.code,{children:"tableColumnsMap"}),"; keep ",(0,s.jsx)(n.code,{children:"*"})," without metadata"]})]})]})]})]})}function u(e={}){let{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453(e,n,r){r.d(n,{R:()=>a,x:()=>i});var t=r(6540);let s={},l=t.createContext(s);function a(e){let n=t.useContext(l);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/e65be245.ce1b26fe.js b/en/assets/js/e65be245.ce1b26fe.js new file mode 100644 index 0000000..6b5052a --- /dev/null +++ b/en/assets/js/e65be245.ce1b26fe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["3080"],{1090(e,t,s){s.r(t),s.d(t,{metadata:()=>r,default:()=>d,frontMatter:()=>a,contentTitle:()=>o,toc:()=>l,assets:()=>c});var r=JSON.parse('{"id":"core/sql-type","title":"SQL Type Detection","description":"Detect the business SQL type from the parsed syntax tree","source":"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/sql-type.md","sourceDirName":"core","slug":"/core/sql-type","permalink":"/SqlParserX/en/docs/core/sql-type","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/versioned_docs/version-1.0/core/sql-type.md","tags":[],"version":"1.0","sidebarPosition":1,"frontMatter":{"title":"SQL Type Detection","description":"Detect the business SQL type from the parsed syntax tree","sidebar_label":"SQL Type Detection","sidebar_position":1},"sidebar":"docs","previous":{"title":"Setup & Build","permalink":"/SqlParserX/en/docs/quickstart/setup"},"next":{"title":"Field Lineage","permalink":"/SqlParserX/en/docs/core/field-lineage"}}'),n=s(4848),i=s(8453);let a={title:"SQL Type Detection",description:"Detect the business SQL type from the parsed syntax tree",sidebar_label:"SQL Type Detection",sidebar_position:1},o="SQL Type Detection",c={},l=[];function p(e){let t={code:"code",h1:"h1",header:"header",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"sql-type-detection",children:"SQL Type Detection"})}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"parseSqlType"})," parses SQL with the selected datasource dialect and maps the resulting Druid AST to a unified ",(0,n.jsx)(t.code,{children:"SqlType"}),". It can drive statement routing, audit classification, and execution policies."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-java",children:'ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);\n\nSqlType queryType = parser.parseSqlType("SELECT id FROM users");\nSqlType insertType = parser.parseSqlType(\n "INSERT INTO target_table SELECT id FROM source_table");\n\nSystem.out.println(queryType); // QUERY\nSystem.out.println(insertType); // INSERT\n'})}),"\n",(0,n.jsxs)(t.p,{children:["The common implementation recognizes query, DML, DDL, SHOW, DESCRIBE, and EXPLAIN statements. An unclassified AST returns ",(0,n.jsx)(t.code,{children:"OTHER"}),"; syntax support still depends on the selected dialect."]})]})}function d(e={}){let{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8453(e,t,s){s.d(t,{R:()=>a,x:()=>o});var r=s(6540);let n={},i=r.createContext(n);function a(e){let t=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/e9caf4bd.325d73b3.js b/en/assets/js/e9caf4bd.325d73b3.js new file mode 100644 index 0000000..1887fcd --- /dev/null +++ b/en/assets/js/e9caf4bd.325d73b3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["2030"],{7846(n){n.exports=JSON.parse('{"archive":{"blogPosts":[{"id":"origin-of-sqlparserx","metadata":{"permalink":"/SqlParserX/en/blog/origin-of-sqlparserx","editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/blog/2026-09-28-origin-of-sqlparserx.md","source":"@site/blog/2026-09-28-origin-of-sqlparserx.md","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002","date":"2026-09-28T00:00:00.000Z","tags":[{"inline":false,"label":"\u8D77\u6E90\u4E0E\u80CC\u666F","permalink":"/SqlParserX/en/blog/tags/origin","description":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u4E0E\u5185\u90E8\u6539\u9020\u5386\u7A0B"}],"readingTime":16.44,"hasTruncateMarker":true,"authors":[{"name":"changlu","title":"SqlParserX \u7EF4\u62A4\u8005","url":"https://github.com/DTStack/SqlParserX","page":{"permalink":"/SqlParserX/en/blog/authors/changlu"},"socials":{"github":"https://github.com/DTStack"},"imageURL":"https://github.com/github.png","key":"changlu"}],"frontMatter":{"slug":"origin-of-sqlparserx","title":"SqlParserX \u7684\u8BDE\u751F\u8D77\u6E90\u80CC\u666F\u4E0E\u5185\u90E8\u6539\u9020","authors":["changlu"],"tags":["origin"],"date":"2026-09-28T00:00:00.000Z","description":"\u8BB0\u5F55\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002"},"unlisted":false},"content":"> \u4F5C\u8005\uFF1Achanglu \uFF5C \u65E5\u671F\uFF1A2026-09-28\\n>\\n> \u8FD9\u662F\u4E00\u7BC7\u5173\u4E8E SqlParserX \u8D77\u6E90\u7684\u6280\u672F\u535A\u5BA2\u3002\u5B83\u8BB0\u5F55\u4E86\u4ECE\u300C\u4E3A\u4EC0\u4E48\u8981\u505A SQL \u89E3\u6790\u300D\u5230\u300C\u5728\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u4E0B\u5982\u4F55\u7EDF\u4E00\u89E3\u6790\u300D\u7684\u601D\u8003\u8FC7\u7A0B\uFF0C\u4EE5\u53CA\u6700\u7EC8\u4FC3\u6210\u4E00\u4E2A\u7EAF Druid \u5B9E\u73B0\u7684\u5F00\u6E90 SQL \u89E3\u6790\u9879\u76EE\u8BDE\u751F\u7684\u80CC\u666F\u3002\\n> \u9879\u76EE\u5730\u5740\u4E0E\u4F7F\u7528\u65B9\u5F0F\u89C1 [SqlParserX \u4ED3\u5E93](https://github.com/DTStack/SqlParserX)\uFF0C\u53CC\u5C42\u67B6\u6784\u8BBE\u8BA1\u89C1 [\u67B6\u6784\u8BBE\u8BA1](/docs/about/architecture)\u3002\\n\\n{/* truncate */}\\n\\n## \u4E00\u3001\u4E3A\u4EC0\u4E48\u9700\u8981\u61C2\u89E3\u6790\u5668\\n\\n### 1.1 \u4EC0\u4E48\u662F\u89E3\u6790\u5668\\n\\n\u89E3\u6790\u5668\u662F\u8BA1\u7B97\u673A\u79D1\u5B66\u548C\u7F16\u7A0B\u8BED\u8A00\u9886\u57DF\u4E2D\u81F3\u5173\u91CD\u8981\u7684\u5DE5\u5177\uFF0C\u5176\u6838\u5FC3\u4F5C\u7528\u662F**\u5C06\u4EBA\u7C7B\u53EF\u7406\u89E3\u7684\u300C\u5F62\u5F0F\u5316\u8BED\u8A00\u300D\uFF08\u5982\u4EE3\u7801\u3001\u6570\u636E\u683C\u5F0F\u3001\u8868\u8FBE\u5F0F\u7B49\uFF09\u8F6C\u6362\u4E3A\u673A\u5668\u53EF\u5904\u7406\u7684\u7ED3\u6784**\uFF0C\u4ECE\u800C\u5B9E\u73B0\u4FE1\u606F\u7684\u89E3\u6790\u3001\u9A8C\u8BC1\u548C\u540E\u7EED\u5904\u7406\u3002\\n\\n\u4EBA\u7C7B\u4F7F\u7528\u7684\u8BED\u8A00\uFF08\u65E0\u8BBA\u662F\u7F16\u7A0B\u8BED\u8A00\u5982 Python\u3001\u6570\u636E\u683C\u5F0F\u5982 JSON\uFF0C\u8FD8\u662F\u67E5\u8BE2\u8BED\u53E5\u5982 SQL\uFF09\u672C\u8D28\u662F**\u7ED3\u6784\u5316\u7684\u5B57\u7B26\u4E32**\uFF0C\u4F46\u673A\u5668\u65E0\u6CD5\u76F4\u63A5\u7406\u89E3\u8FD9\u79CD\u5B57\u7B26\u4E32\u7684\u903B\u8F91\u542B\u4E49\u3002\\n\\n\u4F8B\u5982\uFF0C\u7A0B\u5E8F\u5458\u5199\u7684 `x = (a + b) * 3` \u662F\u4E00\u4E32\u5B57\u7B26\uFF0C\u4F46\u673A\u5668\u9700\u8981\u77E5\u9053\u8FD9\u662F\u300C\u5148\u7B97 `a + b`\uFF0C\u518D\u4E58\u4EE5 3\uFF0C\u6700\u540E\u8D4B\u503C\u7ED9 `x`\u300D\u7684\u8FD0\u7B97\u903B\u8F91\u3002\u89E3\u6790\u5668\u628A\u8FD9\u4E2A\u5B57\u7B26\u4E32\u89E3\u6790\u4E3A\u4E00\u68F5\u8BED\u6CD5\u6811\uFF0C\u518D\u6309\u89C4\u5219\u4E00\u6B65\u6B65\u8FD0\u7B97\u3002\\n\\n```sql\\n// \u89E3\u6790\u5668 \u626B\u63CF\u89E3\u6790\u65B9\u7A0B x = (a + b) * 3 \u5F97\u5230\u7684\u8BED\u6CD5\u6811 AST\\n\\n [=]\\n / \\\\\\n [x] [*]\\n / \\\\\\n [+] [3]\\n / \\\\\\n [a] [b]\\n\\n\u89E3\u91CA\u6267\u884C\u6B65\u9AA4\uFF1A\\n1\u3001\u4ECE\u6839\u8282\u70B9 = \u5F00\u59CB\uFF0C\u8868\u793A\u8FD9\u662F\u4E00\u4E2A\u8D4B\u503C\u64CD\u4F5C\u3002\\n2\u3001\u5DE6\u5B50\u6811 x \u662F\u8D4B\u503C\u76EE\u6807\uFF0C\u53F3\u5B50\u6811 * \u662F\u8BA1\u7B97\u5185\u5BB9\u3002\\n3\u3001\u8BA1\u7B97 * \u65F6\uFF0C\u5148\u8BA1\u7B97\u5DE6\u5B50\u6811 +\uFF08a + b\uFF09\uFF0C\u518D\u4E58\u4EE5\u53F3\u5B50\u6811 3\u3002\\n4\u3001\u6700\u540E\u5C06\u7ED3\u679C\u8D4B\u503C\u7ED9 x\u3002\\n```\\n\\n\u7F16\u7A0B\u8BED\u8A00\u540C\u7406\uFF0C\u5982 C\u3001Java \u7B49\u90FD\u6709\u7279\u5B9A\u7684\u8BED\u6CD5\u89C4\u5219\uFF0C\u901A\u8FC7\u89E3\u6790\u5668\u628A\u4EE3\u7801\u8F6C\u4E3A AST \u8BED\u6CD5\u6811\uFF0C\u518D\u7F16\u8BD1\u5B57\u8282\u7801\u3001\u673A\u5668\u7801\u6765\u6267\u884C\u3002\\n\\n```sql\\n// \u89E3\u6790\u5668 \u626B\u63CF\u89E3\u6790 Java \u4EE3\u7801 if (x > 0) { y = 10; } \u5F97\u5230\u7684\u8BED\u6CD5\u6811 AST\\n [if]\\n / \\\\\\n [>] [block]\\n / \\\\ \\\\\\n[x] [0] [=]\\n / \\\\\\n [y] [10]\\n\\n\u89E3\u6790\u6267\u884C\u6B65\u9AA4\uFF1A\\n1\u3001\u6839\u8282\u70B9 if \u8868\u793A\u6761\u4EF6\u5224\u65AD\u3002\\n2\u3001\u5148\u8BA1\u7B97\u6761\u4EF6 >\uFF08x > 0\uFF09\uFF0C\u5982\u679C\u4E3A\u771F\uFF1A\\n3\u3001\u8FDB\u5165 block \u6267\u884C\u5185\u90E8\u8BED\u53E5 y = 10\u3002\\n4\u3001\u5982\u679C\u4E3A\u5047\uFF0C\u8DF3\u8FC7\u6574\u4E2A block\u3002\\n```\\n\\n**\u89E3\u6790\u5668\u7684\u4F5C\u7528**\uFF0C\u5C31\u662F\u628A\u8FD9\u79CD\u5B57\u7B26\u4E32\u300C\u62C6\u89E3\u300D\u4E3A\u6709\u610F\u4E49\u7684\u8BED\u6CD5\u7ED3\u6784\uFF08\u5982\u62BD\u8C61\u8BED\u6CD5\u6811 AST\uFF09\uFF0C\u8BA9\u673A\u5668\u80FD\u6309\u89C4\u5219\u6267\u884C\u3002\\n\\n### 1.2 \u5982\u4F55\u5B9E\u73B0\u89E3\u6790\u5668\\n\\n\u5728\u7F16\u8BD1\u5668\u5B9E\u73B0\u4E2D\uFF0C\u4E3B\u8981\u8981\u505A\u7684\u662F**\u8BCD\u6CD5\u5206\u6790\u548C\u8BED\u6CD5\u5206\u6790**\uFF1A\\n\\n- **\u8BCD\u6CD5\u5206\u6790**\uFF1A\u89E3\u6790\u4EE3\u7801\u5E76\u751F\u6210 Token\uFF08\u4E00\u4E2A\u5355\u8BCD\u7684\u5B57\u9762\u548C\u5B83\u7684\u79CD\u7C7B\u53CA\u8BED\u4E49\u503C\uFF09\u5E8F\u5217\uFF0C\u5B9E\u73B0\u4E00\u822C\u79F0\u4E3A\u626B\u63CF\u5668\uFF08Scanner\uFF09\u3002\u6838\u5FC3\u903B\u8F91\u662F\u5B9A\u4E49 token\uFF08\u8BED\u4E49\uFF09\u4E0E scanner\uFF08\u626B\u63CF token\uFF09\u3002\\n- **\u8BED\u6CD5\u5206\u6790**\uFF1A\u5229\u7528\u626B\u63CF\u5668\u751F\u6210\u7684 Token \u5E8F\u5217\u751F\u6210\u62BD\u8C61\u8BED\u6CD5\u6811\uFF0C\u5B9E\u73B0\u4E00\u822C\u79F0\u4E3A\u89E3\u6790\u5668\uFF08Parser\uFF09\u3002\u6838\u5FC3\u903B\u8F91\u662F\u8FDB\u884C\u8BED\u6CD5\u68C0\u67E5\uFF0C\u5E76\u6784\u5EFA\u7531\u8F93\u5165\u5355\u8BCD\u7EC4\u6210\u7684\u5C42\u6B21\u5316\u6570\u636E\u7ED3\u6784\uFF08\u8BED\u6CD5\u5206\u6790\u6811\u3001\u62BD\u8C61\u8BED\u6CD5\u6811\u7B49\uFF09\u3002\\n\\n```sql\\n\u6570\u5B66\u8868\u8FBE\u5F0F\uFF1A1 + 2 * 3\\n\\n// \u9996\u5148\u5728\u8FDB\u884C\u8BCD\u6CD5\u3001\u8BED\u6CD5\u5206\u6790\u524D\uFF0C\u6211\u4EEC\u5148\u5B9A\u4E49\u597D token\\n\u5355\u8BCD\u5B57\u9762 Token \u7C7B\u578B \u8BF4\u660E\\n1 INTEGER \u6574\u6570 1\\n+ ADD_OP \u52A0\u6CD5\u8FD0\u7B97\u7B26\\n2 INTEGER \u6574\u6570 2\\n* MUL_OP \u4E58\u6CD5\u8FD0\u7B97\u7B26\\n3 INTEGER \u6574\u6570 3\\n\\n// 1\u3001\u8BCD\u6CD5\u5206\u6790\uFF1A\u4ECE\u524D\u5F80\u540E\u626B\u63CF\u5F97\u5230\u4E00\u7EC4 Token \u6D41\\n[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)]\\n\\n// 2\u3001\u8BED\u6CD5\u5206\u6790\uFF1A\u6839\u636E\u8FD0\u7B97\u7B26\u4F18\u5148\u7EA7\uFF08* \u4F18\u5148\u4E8E +\uFF09\u548C Token \u6D41\u6784\u5EFA AST\\n [+]\\n / \\\\\\n 1 [*]\\n / \\\\\\n 2 3\\n```\\n\\n\u5B9E\u73B0\u4E00\u79CD\u89C4\u5219\u7684\u89E3\u6790\u5668\u6709\u4E24\u79CD\u65B9\u5F0F\uFF1A\\n\\n- **\u65B9\u5F0F\u4E00**\uFF1A\u4E0D\u4F9D\u8D56\u4EFB\u4F55\u5DE5\u5177\uFF0C\u624B\u5199\u626B\u63CF\u5668\u548C\u89E3\u6790\u5668\u3002\\n- **\u65B9\u5F0F\u4E8C**\uFF1A\u4F7F\u7528\u73B0\u6210\u7684\u89E3\u6790\u5668\u751F\u6210\u5668\uFF08Yacc\u3001ANTLR\u3001JavaCC \u7B49\uFF09\uFF0C\u6839\u636E\u81EA\u5B9A\u4E49\u8BED\u6CD5\u89C4\u5219\u6587\u4EF6\u81EA\u52A8\u751F\u6210\u89E3\u6790\u5668\u4EE3\u7801\uFF0C\u4ECE\u800C\u4E13\u6CE8\u4E8E\u8BED\u6CD5\u89C4\u5219\u8BBE\u8BA1\u3002\\n\\n### 1.3 \u4EC0\u4E48\u662F SQL \u89E3\u6790\u5668\\n\\nSQL \u89E3\u6790\u5668\u662F**\u80FD\u591F\u5C06 SQL \u8BED\u53E5\u8F6C\u6362\u4E3A\u8BA1\u7B97\u673A\u53EF\u7406\u89E3\u548C\u6267\u884C\u7ED3\u6784\u7684\u7A0B\u5E8F\u7EC4\u4EF6**\u3002\u5B83\u5C06\u6587\u672C\u5F62\u5F0F\u7684 SQL \u8F6C\u6362\u4E3A\u62BD\u8C61\u8BED\u6CD5\u6811\uFF08AST\uFF09\uFF0C\u4E3A\u540E\u7EED\u7684\u67E5\u8BE2\u4F18\u5316\u548C\u6267\u884C\u63D0\u4F9B\u57FA\u7840\u3002\u901A\u4FD7\u5730\u8BF4\uFF0C\u5C31\u662F\u80FD\u5BF9 SQL \u8FDB\u884C\u89E3\u6790\u3001\u8F6C\u6362\u6210\u8BED\u6CD5\u6811\u7684\u5DE5\u5177\u3002\\n\\n```sql\\n# \u67E5\u8BE2\\nSELECT * FROM users WHERE status = \'active\';\\n# \u63D2\u5165\\nINSERT INTO customers (name, email) VALUES (\'\u674E\u56DB\', \'lisi@example.com\');\\n# \u66F4\u65B0\\nUPDATE products SET price = 5999 WHERE id = 1001;\\n# \u5220\u9664\\nDELETE FROM logs WHERE create_time < \'2024-01-01\';\\n# \u521B\u5EFA\u8868\\nCREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2));\\n# \u4FEE\u6539\u8868\\nALTER TABLE employees ADD COLUMN department VARCHAR(20);\\n# \u5220\u9664\u8868\\nDROP TABLE temp_data;\\n# \u6388\u6743\\nGRANT SELECT ON customers TO user1;\\n```\\n\\n### 1.4 SQL \u89E3\u6790\u4F4D\u4E8E\u6574\u6761\u94FE\u8DEF\u7684\u54EA\u4E2A\u4F4D\u7F6E\\n\\n\u5E38\u89C1\u6570\u636E\u5E93\u6267\u884C SQL \u7684\u6574\u4E2A\u8FC7\u7A0B\uFF1A\\n\\n```text\\nSQL\u6587\u672C \u2192 \u8BCD\u6CD5\u5206\u6790\uFF08Tokenizer\uFF09\u2192 \u8BED\u6CD5\u5206\u6790\uFF08Parser\uFF09\u2192 AST \u2192 \u8BED\u4E49\u5206\u6790 \u2192 \u4F18\u5316SQL \u2192 \u4EA7\u751F\u6267\u884C\u8BA1\u5212/\u6267\u884C\u4EFB\u52A1\\n```\\n\\n\u800C SQL \u89E3\u6790\u4E2D\u95F4\u4EF6\u5173\u6CE8\u7684\u662F AST \u4E4B\u540E\u7684\u5E94\u7528\u5C42\u80FD\u529B\uFF1A\\n\\n```text\\nSQL\u6587\u672C \u2192 \u8BCD\u6CD5\u5206\u6790\uFF08Tokenizer\uFF09\u2192 \u8BED\u6CD5\u5206\u6790\uFF08Parser\uFF09\u2192 AST \u2192 \u5E94\u7528\u5C42\uFF08\u7C7B\u578B\u8BC6\u522B\u3001\u8868\u5B57\u6BB5\u8840\u7F18\u3001\u8868\u89E3\u6790\u3001SQL\u8131\u654F\uFF09\u2192 \u5B50\u4EA7\u54C1\u5E94\u7528\\n```\\n\\n**\u8FD9\u6B63\u662F SqlParserX \u7684\u5B9A\u4F4D**\uFF1A\u4E0D\u91CD\u590D\u5B9E\u73B0\u6570\u636E\u5E93\u5F15\u64CE\uFF0C\u53EA\u57FA\u4E8E\u4E00\u5957\u7EDF\u4E00\u7684 AST\uFF0C\u628A\u300C\u8868\u3001\u8840\u7F18\u3001\u51FD\u6570\u3001\u6743\u9650\u6539\u5199\u300D\u7B49\u89E3\u6790\u80FD\u529B\u505A\u6210\u53EF\u590D\u7528\u7684\u4E2D\u95F4\u4EF6\u3002\\n\\n---\\n\\n## \u4E8C\u3001\u5E02\u9762\u4E0A\u5E38\u89C1\u7684 SQL \u89E3\u6790\u65B9\u6848\\n\\n\u5728\u52A8\u624B\u4E4B\u524D\uFF0C\u6211\u4EEC\u5148\u6A2A\u5411\u6BD4\u8F83\u4E86\u4E3B\u6D41\u65B9\u6848\u3002\\n\\n![\u5E02\u9762\u4E0A\u5E38\u89C1\u7684\u89E3\u6790\u5668\u6574\u4F53\u4ECB\u7ECD](assets/01-parser-market.png)\\n\\n### 2.1 \u5E95\u5C42\u89E3\u6790\u5668\u4EF6\uFF1AJavaCC / ANTLR 3 / ANTLR 4\\n\\n| \u7279\u6027 | JavaCC | ANTLR 3 | ANTLR 4 |\\n|---|---|---|---|\\n| \u8BED\u6CD5\u5206\u6790\u7B97\u6CD5 | LL(k) | LL(*) | LL(*)\uFF08\u81EA\u9002\u5E94\u9884\u6D4B\uFF09 |\\n| \u5DE6\u9012\u5F52\u5904\u7406 | \u4E0D\u652F\u6301\uFF0C\u9700\u624B\u52A8\u8F6C\u6362 | \u9700\u624B\u52A8\u8F6C\u6362 | \u81EA\u52A8\u5904\u7406 |\\n| \u76EE\u6807\u8BED\u8A00 | Java | Java\u3001C#\u3001Python \u7B49 | \u540C ANTLR 3 |\\n| \u9519\u8BEF\u5904\u7406 | \u57FA\u7840\u9519\u8BEF\u6062\u590D | \u589E\u5F3A\u7684\u9519\u8BEF\u6062\u590D | \u667A\u80FD\u9519\u8BEF\u6062\u590D\u4E0E\u8BCA\u65AD |\\n| \u8BED\u6CD5\u590D\u6742\u5EA6 | \u7B80\u5355\u76F4\u89C2 | \u8F83\u590D\u6742 | \u7B80\u5316\uFF08\u76F8\u6BD4 ANTLR 3\uFF09 |\\n| \u5E94\u7528\u573A\u666F | \u5C0F\u578B\u9879\u76EE\u3001\u6559\u80B2 | \u4E2D\u5927\u578B\u9879\u76EE | \u5927\u578B\u9879\u76EE\u3001\u590D\u6742\u8BED\u6CD5 |\\n\\n### 2.2 SQL \u89E3\u6790\u5668\u811A\u624B\u67B6\uFF1ACalcite / hive-exec\\n\\n\u6240\u8C13\u811A\u624B\u67B6\uFF0C\u662F\u57FA\u4E8E JavaCC \u6216 ANTLR \u5DF2\u7ECF\u5B9E\u73B0\u4E86\u6807\u51C6 SQL \u7684\u8BCD\u6CD5\u3001\u8BED\u6CD5\u89C4\u5219\uFF0C\u6211\u4EEC\u53EA\u9700\u6309\u5176\u89C4\u8303\u6269\u5C55\uFF1A\\n\\n- **Calcite\uFF08\u57FA\u4E8E JavaCC\uFF09**\uFF1A\u6A21\u5757\u5316\u3001\u53EF\u6269\u5C55\u7684 SQL \u89E3\u6790\u4E0E\u4F18\u5316\u6846\u67B6\uFF0C\u5F88\u591A\u5F00\u6E90 SQL \u5F15\u64CE\u7528\u5B83\u6765\u505A\u6807\u51C6 SQL \u89E3\u6790\u4E0E\u4F18\u5316\u3002\\n- **hive-exec\uFF08\u57FA\u4E8E ANTLR3\uFF09**\uFF1AHive \u7684\u6838\u5FC3\u5305\uFF0C\u652F\u6301 Hive/Spark \u8BED\u6CD5\u89E3\u6790\u3002\\n\\n### 2.3 \u66F4\u300C\u5177\u8C61\u5316\u300D\u7684\u89E3\u6790\u5668\uFF1AJSqlParser / Druid\\n\\n- **JSqlParser**\uFF1A\u57FA\u4E8E JavaCC\uFF0C\u80FD\u5C06 SQL \u8F6C\u4E3A\u66F4\u8BED\u4E49\u5316\u7684\u7ED3\u6784\uFF08\u5982 `select` \u2192 `SelectStatement`\uFF09\uFF0C\u652F\u6301\u8BED\u6CD5\u6811\u7C7B\u7EE7\u627F\u3001JavaAPI \u6784\u5EFA SQL\u3001\u8BED\u6CD5\u6811\u8F6C SQL\uFF1B\u4F46 **API \u65E0\u660E\u663E\u7684\u7279\u5B9A\u65B9\u8A00\u89E3\u6790\u5206\u5C42\uFF0C\u652F\u6301\u7684\u6570\u636E\u6E90\u89E3\u6790\u80FD\u529B\u8F83\u5F31**\u3002\\n- **Druid**\uFF1A\u5B8C\u5168\u7528 Java \u81EA\u5B9E\u73B0\u626B\u63CF\u5668\u3001\u89E3\u6790\u5668\uFF0C\u89E3\u6790\u51FA\u7684\u8BED\u6CD5\u6811\u662F**\u5177\u8C61\u5316\u7684\u62BD\u8C61\u8BED\u6CD5\u6811\uFF08\u5177\u6709\u7EE7\u627F\u5173\u7CFB\uFF09**\uFF0C\u5E76\u4E14**\u652F\u6301\u6309\u6570\u636E\u6E90\u5206\u5C42\u6269\u5C55**\uFF08Lexer\u3001Parser \u626B\u63CF\u53EF\u5206\u5C42\u9694\u79BB\uFF09\u3002\\n\\n### 2.4 \u6838\u5FC3\u5BF9\u6BD4\u4E0E\u9009\u578B\u7ED3\u8BBA\\n\\n| \u5DE5\u5177 | \u4F9D\u8D56\u5DE5\u5177 | \u89E3\u6790 SQL \u80FD\u529B | \u8BED\u6CD5\u6811\u7C7B\u7EE7\u627F | \u4F18\u7F3A\u70B9 |\\n|---|---|---|---|---|\\n| JavaCC | \u539F\u751F\u5B9A\u4E49\u89E3\u6790\u89C4\u5219 | \u65E0 | \u65E0 | \u9700\u4ECE\u96F6\u5B9A\u4E49 SQL \u89C4\u5219 |\\n| ANTLR4 | \u539F\u751F\u5B9A\u4E49\u89E3\u6790\u89C4\u5219 | \u6709\uFF0C\u5B98\u65B9\u8BED\u6CD5\u751F\u6001\u6781\u597D | \u65E0 | \u8BED\u6CD5\u751F\u6001\u5F3A\uFF0C\u4F46\u89E3\u6790\u8BED\u6CD5\u6811\u65E0\u62BD\u8C61\u7EE7\u627F\u5173\u7CFB |\\n| Calcite | \u57FA\u4E8E JavaCC | \u6807\u51C6 SQL\uFF0C\u591A\u65B9\u8A00\u6269\u5C55\u3001\u751F\u6001\u8F83\u5F31 | \u6709 | \u9700\u624B\u52A8\u6269\u5C55\u5206\u5C42\u5199\u8BED\u6CD5\u89C4\u5219\uFF0C\u6210\u672C\u5927 |\\n| hive-exec | \u57FA\u4E8E ANTLR3 | \u4EC5 Hive\u3001Spark | \u65E0 | \u65E0\u6CD5\u6269\u5C55\u5206\u5C42\u5230\u5176\u4ED6\u6570\u636E\u6E90 |\\n| JSqlParser | \u57FA\u4E8E JavaCC | \u6807\u51C6 SQL\uFF0C\u90E8\u5206\u65B9\u8A00 | \u6709 | API \u65E0\u660E\u663E\u6570\u636E\u6E90\u5206\u5C42 |\\n| **Druid** | \u539F\u751F Java \u5B9E\u73B0\u626B\u63CF\u3001\u89E3\u6790\u5668\u4EF6 | \u652F\u6301 MySQL\u3001Oracle\u3001Hive\u3001Spark\u3001Doris\u3001StarRocks \u7B49 | **\u6709\uFF08\u6781\u5F3A\uFF09** | \u6570\u636E\u6E90\u751F\u6001\u597D\u3001AST \u6709\u7EE7\u627F\u5173\u7CFB\uFF1B\u7F3A\u70B9\u662F Java \u81EA\u5B9E\u73B0\u626B\u63CF\u5668\uFF0C\u5165\u95E8\u6709\u96BE\u5EA6 |\\n\\n\u9762\u5411\u6570\u6808\u300C\u5927\u91CF\u5F02\u6784\u6570\u636E\u6E90\u90FD\u8981\u6709\u540C\u6837\u7EE7\u627F\u5173\u7CFB\u7684\u8BED\u6CD5\u6811\u300D\u7684\u573A\u666F\uFF0C\u9700\u8981\u62BD\u8C61\u5B9A\u4E49\u7EDF\u4E00\u7684 `Insert`\u3001`Select`\u3001`Update`\u3001`Delete` \u7B49\u7ED3\u6784\u3002\\n\\n**\u57FA\u4E8E Druid \u8FD9\u6837\u4E00\u5957\u6709\u7EE7\u627F\u5173\u7CFB\u7684 AST\uFF0C\u4E0D\u540C\u529F\u80FD\u53EA\u9700\u5B9E\u73B0\u4E00\u5957\u89E3\u6790\u903B\u8F91\u5373\u53EF\u5BF9\u5E94\u6240\u6709\u6570\u636E\u6E90\uFF0C\u90E8\u5206\u6570\u636E\u6E90\u518D\u5355\u72EC\u901A\u8FC7\u5206\u5C42\u517C\u5BB9\u5373\u53EF\u3002** \u8FD9\u6210\u4E3A\u540E\u7EED\u9009\u578B\u7684\u51B3\u5B9A\u6027\u7406\u7531\u3002\\n\\n### 2.5 \u4E3A\u4EC0\u4E48\u4E0D\u76F4\u63A5\u7528 ANTLR4\\n\\nANTLR4 \u751F\u6001\u786E\u5B9E\u5F88\u597D\uFF08\u5B98\u65B9\u6709 grammars-v4\uFF09\uFF0C\u4F46\u5B83\u7684\u8BED\u6CD5\u6811**\u6CA1\u6709\u62BD\u8C61\u7EE7\u627F\u5173\u7CFB**\uFF0C\u96BE\u4EE5\u5728\u591A\u6570\u636E\u6E90\u4E0A\u6C89\u6DC0\u300C\u4E00\u5957\u4E1A\u52A1\u89E3\u6790\u903B\u8F91\u300D\uFF0C\u9700\u8981\u5728\u4E1A\u52A1\u5C42\u91CD\u65B0\u62BD\u8C61\u4E00\u5957\u7ED3\u6784\uFF0C\u53CD\u800C\u589E\u52A0\u7EF4\u62A4\u6210\u672C\u3002Druid \u7684 AST \u5929\u7136\u5E26\u7EE7\u627F\u4F53\u7CFB\uFF0C\u66F4\u5951\u5408\u6211\u4EEC\u7684\u76EE\u6807\u3002\\n\\n---\\n\\n## \u4E09\u3001\u5386\u53F2\u80CC\u666F\uFF1A\u6539\u9020\u524D\u7684 SQL \u89E3\u6790\u4E3A\u4EC0\u4E48\u96BE\u7EF4\u62A4\\n\\n### 3.1 \u5B50\u4EA7\u54C1\u5404\u81EA\u4E3A\u6218\\n\\n\u6539\u9020\u524D\uFF0CSQL \u89E3\u6790\u6563\u843D\u5728\u591A\u4E2A\u5B50\u4EA7\u54C1\u4E2D\uFF0C\u5404\u7528\u5404\u7684\u65B9\u6848\uFF1A\\n\\n```sql\\n\u79BB\u7EBF batchparser\uFF1ASQL \u7C7B\u578B\u8BC6\u522B\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001SQL \u8131\u654F\u3001\u884C\u5217\u7EA7\u6743\u9650\\n \u9762\u5411 SQL \u7C7B\u578B\uFF1Ardb\uFF08mysql\u3001oracle\u3001doris...\uFF09\u3001hive\u3001spark\u3001impala\\n \u5B9E\u73B0\uFF1Acalcite & hive-exec \u6A21\u5757\u89E3\u6790\u5668\uFF0C\u52A0\u4E0A druid \u515C\u5E95\u3010\u4E2D\u95F4\u5404\u79CD\u517C\u5BB9\u8BED\u6CD5\u6B63\u5219\u5339\u914D\u66FF\u6362\u903B\u8F91\u3011\\n\\nAPI apiparser\uFF1AAPI \u89E3\u6790\uFF08\u9884\u7F16\u8BD1\u3001\u975E\u9884\u7F16\u8BD1\uFF09\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001\u884C\u5217\u7EA7\u6743\u9650\\n \u9762\u5411 SQL \u7C7B\u578B\uFF1Ardb\\n \u5B9E\u73B0\uFF1Acalcite + druid\uFF0Cdruid \u515C\u5E95\\n\\nlabel labelparser\uFF1A\u6807\u7B7E\u89E3\u6790\\n \u5B9E\u73B0\uFF1Acalcite\\n\\n\u5B9E\u65F6 streamparser\\n StreamCreateTableParser \u76F4\u63A5\u4F7F\u7528\u6B63\u5219\u5339\u914D\u89E3\u6790\\n StreamCreateViewParser \u4F7F\u7528 hive-exec \u8FDB\u884C\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\\n StreamInsertParser \u4F7F\u7528 FlinkPlanner & hive parser \u8FDB\u884C\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\\n\\n\u8D44\u4EA7 sqlparser\uFF1A\u8868\u3001\u5B57\u6BB5\u8840\u7F18\u89E3\u6790\u3001\u771F\u5B9E\u8868\u89E3\u6790\u3001SQL \u7C7B\u578B\u8BC6\u522B\\n \u5B9E\u73B0\uFF1A\u6BD4\u8F83\u6DF7\u4E71\uFF0Ccalcite\u3001druid \u4EE5\u53CA hive parser \u6DF7\u7528\\n```\\n\\n\u6838\u5FC3\u95EE\u9898\u662F\uFF1A**\u5386\u53F2\u4E0A\u9488\u5BF9 SQL \u8BED\u6CD5\u5C42\u9762\u7684\u6269\u5C55\u5F88\u5C11**\uFF0C\u5BFC\u81F4\u8BED\u6CD5\u89E3\u6790\u300C\u4E00\u4E2A\u4E0D\u884C\u5C31\u6362\u53E6\u4E00\u4E2A\u300D\uFF0C\u5404\u79CD\u515C\u5E95\uFF1B\u505A\u8FC7\u8BED\u6CD5\u6269\u5C55\u7684\u4E3B\u8981\u662F\u57FA\u4E8E Calcite \u6269\u5C55\u4E86\u5C11\u91CF\u8BED\u6CD5\uFF08limit\u3001starrocks \u7B49\uFF09\u3002\\n\\n### 3.2 \u5386\u53F2\u8BBE\u8BA1\u67B6\u6784\\n\\n\u6539\u9020\u524D\u4E3B\u8981\u9488\u5BF9 Calcite\uFF08rdb \u7C7B\u578B\uFF09\u3001hive-exec\uFF08spark\u3001hive\uFF09\u4E24\u7C7B SQL\uFF0CDruid \u4E0E\u6B63\u5219\u65B9\u5F0F\u4F5C\u4E3A\u515C\u5E95\u3002\\n\\n![\u6539\u9020\u524D\u7684\u5386\u53F2\u8BBE\u8BA1\u67B6\u6784](assets/02-legacy-architecture.png)\\n\\n\u4E1A\u52A1\u903B\u8F91\u53EF\u4EE5\u5206\u4E3A\u4E24\u7C7B\uFF1A\\n\\n**\u4E00\u7C7B\uFF1ASQL \u7C7B\u578B\u8BC6\u522B\u3001\u8868\u89E3\u6790\u3001SQL \u8131\u654F\u3001\u884C\u5217\u7EA7\u6743\u9650**\\n\\n1. \u6839\u636E SQL \u7C7B\u578B\u7528 Calcite\u3001hive-exec \u89E3\u6790\u5F97\u5230\u8BED\u6CD5\u6811\uFF1B\\n2. \u57FA\u4E8E\u8BED\u6CD5\u6811\u505A\u4E0A\u8FF0\u4E1A\u52A1\u3002\\n\\n**\u53E6\u4E00\u7C7B\uFF1A\u8840\u7F18\u5B9E\u73B0**\\n\\n1. \u7528 Calcite\u3001hive-exec \u89E3\u6790\u5F97\u5230\u8BED\u6CD5\u6811\uFF1B\\n2. **\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811**\uFF0C\u5B9E\u73B0\u4E24\u5957\u8F6C\u6362\u5668\uFF08Calcite AST \u2192 \u81EA\u5B9A\u4E49 AST\u3001hive-exec AstNode \u2192 \u81EA\u5B9A\u4E49 AST\uFF09\uFF1B\\n3. \u9488\u5BF9\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811\u5199\u4E00\u5957\u8840\u7F18\u89E3\u6790\u903B\u8F91\u3002\\n\\n> \u95EE\u9898\uFF1A\u8F6C\u6362\u4E0E\u89E3\u6790\u626B\u63CF\u8FC7\u7A0B\u4E2D\uFF0C\u5386\u53F2\u4E0A\u66FE\u51FA\u73B0\u6B7B\u5FAA\u73AF\u5BFC\u81F4\u5B50\u4EA7\u54C1\u670D\u52A1\u6302\u6389\u7B49\u5404\u79CD\u60C5\u51B5\u3002\\n\\n![Calcite \u5206\u5C42\u6269\u5C55\u6587\u7AE0\u7684\u63A2\u7D22](assets/03-calcite-layered-article.png)\\n\\n### 3.3 \u4E3B\u8981\u95EE\u9898\\n\\n1. **\u4E0D\u540C\u6570\u636E\u6E90\u8BED\u6CD5\u89E3\u6790\u6269\u5C55\u80FD\u529B\u5F31**\uFF1A\u4E0D\u540C rdb \u8BED\u6CD5\u9700\u8981\u6B63\u5219\u524D\u7F6E\u5904\u7406\uFF0C\u6216\u5355\u72EC\u53BB\u6269\u5C55\u8BED\u6CD5\uFF0C\u4E14\u6269\u5C55\u8BED\u6CD5\u96C6\u4E2D\u5728\u4E00\u4E2A\u6A21\u5757\uFF1B\\n2. **\u4F7F\u7528\u591A\u79CD\u89E3\u6790\u6846\u67B6\u3001\u5404\u79CD\u515C\u5E95\uFF0C\u4EE3\u7801\u7EF4\u62A4\u96BE**\uFF1A\u62FF\u5230\u8BED\u6CD5\u6811\u540E\u7684\u5E94\u7528\u5C42\u89E3\u6790\u903B\u8F91\u4E5F\u5197\u4F59\u5728\u4E00\u8D77\uFF0C\u5230\u5904\u662F `if` \u5224\u65AD\u6570\u636E\u6E90\u517C\u5BB9\u903B\u8F91\uFF0C\u6539\u4E00\u4E2A\u5730\u65B9\u53EF\u80FD\u5F71\u54CD\u5176\u4ED6\u5730\u65B9\uFF0C\u96BE\u4EE5\u7EF4\u62A4\uFF1B\\n3. **\u8840\u7F18\u89E3\u6790\u6269\u5C55\u5F31\u3001\u5B66\u4E60\u6210\u672C\u6781\u9AD8**\uFF1A\u9700\u8981\u5148\u4E86\u89E3 Calcite / AstNode \u7684\u8282\u70B9\u5B9A\u4E49\uFF0C\u518D\u5177\u5907\u81EA\u5B9A\u4E49\u8BED\u6CD5\u6811\u80FD\u529B\uFF0C\u7136\u540E\u6269\u5C55\u4E24\u5C42\u8F6C\u6362\u903B\u8F91\uFF08\u8FD8\u5BB9\u6613\u6B7B\u5FAA\u73AF\uFF09\uFF0C\u6700\u540E\u624D\u5230\u8840\u7F18\u89E3\u6790\u672C\u8EAB\u3002\\n\\n---\\n\\n## \u56DB\u3001\u6280\u672F\u6539\u9020\uFF1A\u53CC\u5C42\u5206\u5C42\\n\\n\u6280\u672F\u6539\u9020\u56F4\u7ED5\u4E24\u4E2A\u5C42\u9762\u5206\u5C42\uFF1A**\u8BED\u6CD5\u89E3\u6790\u5C42** \u4E0E **\u4E1A\u52A1\u89E3\u6790\u5C42**\u3002\\n\\n### 4.1 \u8BED\u6CD5\u89E3\u6790\u5C42\uFF08\u57FA\u4E8E Druid\uFF09\\n\\n![\u8BED\u6CD5\u89E3\u6790\u5C42\u5206\u5C42](assets/04-druid-syntax-layer.png)\\n\\n\u5206\u5C42\u5B9E\u73B0\u540E\uFF0C\u626B\u63CF\u5668\u3001\u89E3\u6790\u5668\u90FD\u652F\u6301\u7EE7\u627F\u590D\u7528\uFF0C\u4E14\u76F8\u4E92\u72EC\u7ACB\u3001\u4E92\u4E0D\u5F71\u54CD\uFF0C\u7ED3\u6784\u7C7B\u53EF\u81EA\u5B9A\u4E49\u6269\u5C55\uFF1A\\n\\n![Druid \u5206\u5C42\u7ED3\u6784\u7C7B](assets/05-druid-layer-structure.png)\\n\\n```java\\n// \u5DE5\u5177\u7C7B\u6307\u5B9A\u6570\u636E\u6E90\u7C7B\u578B\u5B9E\u73B0\u89E3\u6790\\nSQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris);\\nSQLStatement statement = parser.parseStatement();\\n\\n// \u6216\u76F4\u63A5 new \u7279\u5B9A Parser\\nDorisStatementParser statementParser = new DorisStatementParser(sql);\\nSQLStatement sqlStatement = statementParser.parseStatement();\\n```\\n\\n### 4.2 \u4E1A\u52A1\u89E3\u6790\u5C42\\n\\n- **\u89E3\u6790\u5C42**\uFF1A\u4E0D\u540C\u6570\u636E\u6E90 \u2192 \u7EDF\u4E00\u62BD\u8C61\u7ED3\u6784\u8BED\u6CD5\u6811\uFF1B\\n- **\u5E94\u7528\u5C42**\uFF1A\u9488\u5BF9\u7EDF\u4E00 AST \u5B9E\u73B0\u4E00\u5957\u89E3\u6790\u65B9\u6CD5\uFF1B\u7279\u5B9A\u6570\u636E\u6E90\u5728 AST \u4E2D\u81EA\u5B9A\u4E49\u4E86\u90E8\u5206\u8282\u70B9\u65F6\uFF0C\u5E94\u7528\u5C42\u518D\u9488\u5BF9\u8BE5\u6570\u636E\u6E90\u7684\u8282\u70B9\u505A\u5206\u5C42\u5904\u7406\u3002\\n\\n![\u4E1A\u52A1\u89E3\u6790\u5206\u5C42](assets/06-business-layer.png)\\n\\n\u9488\u5BF9\u62BD\u8C61\u8BED\u6CD5\u6811\u5B9E\u73B0\u901A\u7528\u89E3\u6790\u7EC4\u4EF6\uFF1A\\n\\n![\u5E94\u7528\u5C42\u901A\u7528\u89E3\u6790\u7EC4\u4EF6](assets/07-application-components.png)\\n\\n\u540E\u7EED\u6269\u5C55\u65F6\uFF0C\u82E5\u5728\u8BED\u6CD5\u5C42\u5355\u72EC\u5B9E\u73B0\u4E86\u67D0\u4E2A\u8282\u70B9\uFF0C\u53EA\u9700\u7EE7\u627F `BaseXxxClient`\uFF0C\u5355\u72EC\u5B9E\u73B0\u5DEE\u5F02\u65B9\u6CD5\u5373\u53EF\uFF0C\u91CD\u590D\u903B\u8F91\u590D\u7528\uFF1A\\n\\n![\u7EE7\u627F BaseXxxClient \u6269\u5C55](assets/08-inherit-baseclient.png)\\n\\n\u521B\u5EFA Client \u540E\uFF0C\u5728\u5BF9\u5E94 `XxxSqlParser` \u4E2D\u6CE8\u518C\uFF1A\\n\\n![\u5728\u65B9\u8A00\u89E3\u6790\u5668\u4E2D\u6CE8\u518C Client](assets/09-register-client.png)\\n\\n\u793A\u4F8B\uFF1A\\n\\n```java\\n// \u51C6\u5907 SQL\\nString sql = getSql();\\n\\n// 1\u3001\u83B7\u53D6\u89E3\u6790\u5668\uFF08\u5DE5\u5382\u65B9\u5F0F\uFF09\\nISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql);\\n\\n// 2.1\u3001\u89E3\u6790\u8868\\nParseTableResult parseTableResult = sqlParser.parseTables(sql);\\nSystem.out.println(parseTableResult.getMainTable()); // \u4E3B\u8868\\nSystem.out.println(parseTableResult.getAllTableName()); // \u6240\u6709\u8868\\n\\n// 2.2\u3001\u89E3\u6790\u5B57\u6BB5\u8840\u7F18\uFF08select * \u573A\u666F\u53EF\u4F20\u5165 tableColumnsMap \u63D0\u4F9B\u5B57\u6BB5\u5143\u6570\u636E\uFF09\\nColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap);\\n\\n// 2.3\u3001\u89E3\u6790\u8868\u8840\u7F18\\nTableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql);\\n\\n// 2.4\u3001\u89E3\u6790\u51FD\u6570\\nSet<String> functions = sqlParser.parseFunction(sql);\\n```\\n\\n### 4.3 \u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0\\n\\n\u540E\u7EED\u8BED\u6CD5\u89E3\u6790\u3001\u4E1A\u52A1\u5C42\u89E3\u6790\u90FD\u53EF\u72EC\u7ACB\u6269\u5C55\uFF1A\\n\\n![\u6539\u9020\u540E\u6574\u4F53\u5B9E\u73B0](assets/10-after-refactor.png)\\n\\n---\\n\\n## \u4E94\u3001\u4E1A\u52A1\u5C42\u89E3\u6790\u7684\u91CD\u65B0\u5B9E\u73B0\\n\\n\u5386\u53F2\u4E0A\u57FA\u4E8E Druid \u7684\u4E1A\u52A1\u5C42\u5B9E\u73B0\u5F88\u5C11\uFF08\u4EC5 API \u89E3\u6790\u3001\u79BB\u7EBF\u90E8\u5206\u89E3\u6790\u7528 Druid \u515C\u5E95\uFF09\uFF0C\u56E0\u6B64\u8868\u89E3\u6790\u3001\u8840\u7F18\u89E3\u6790\u90FD\u9700\u8981\u91CD\u65B0\u5B9E\u73B0\u3002\\n\\n**\u6709\u8840\u7F18\u7279\u5F81\u7684 SQL \u7C7B\u578B**\uFF1A`insert into/overwrite ... select`\u3001`create ... select`\u3001`with as ... insert`\u3002\\n\\n### 5.1 \u5B57\u6BB5\u8840\u7F18\u89E3\u6790\\n\\n\u6838\u5FC3\u601D\u8DEF\u662F**\u628A\u6765\u6E90\u4E0E\u76EE\u6807\u5404\u81EA\u5F52\u4E00\u4E3A\u4E00\u5F20\u4E8C\u7EF4\u8868**\u3002\\n\\n\u4EE5\u4E00\u6761 `insert select` \u4E3A\u4F8B\uFF1A\\n\\n```sql\\ninsert into new_table (id, name)\\nselect a.id as aid, b.name as bname\\nfrom old_table as a\\nleft join old_table2 b on a.id = b.id\\n```\\n\\n1. \u62C6\u6210\u4E24\u4E2A\u90E8\u5206\uFF1A`insert` \u76EE\u6807\u7AEF\u3001`select` \u6765\u6E90\u7AEF\uFF1B\\n2. \u5404\u81EA\u8FFD\u6EAF\u5F97\u5230\u4E00\u7EC4\u5217\u8868\uFF1A\\n\\n```text\\n# \u76EE\u6807\u7AEF\\n\u771F\u5B9E\u5B57\u6BB5 \u522B\u540D\u5B57\u6BB5 \u771F\u5B9E\u8868\u540D\\n id id new_table\\n name name new_table\\n\\n# \u6765\u6E90\u7AEF\\n\u771F\u5B9E\u5B57\u6BB5 \u522B\u540D\u5B57\u6BB5 \u771F\u5B9E\u8868\u540D\\n id aid old_table\\n name bname old_table2\\n```\\n\\n3. \u4E24\u7EC4\u6309\u56FA\u5B9A\u89C4\u5219\u5339\u914D\uFF0C\u5373\u5F97\u5B57\u6BB5\u8840\u7F18\uFF1A\\n\\n```text\\n# \u7B2C\u4E00\u6761\\nadmin \u76EE\u6807\u7AEF new_table.id \u2190 \u6765\u6E90\u7AEF old_table.id\\n# \u7B2C\u4E8C\u6761\\n\u76EE\u6807\u7AEF new_table.name \u2190 \u6765\u6E90\u7AEF old_table2.name\\n```\\n\\n\u6765\u6E90\u7AEF\u7684\u300C\u771F\u5B9E\u8868\u540D \u2192 \u6765\u6E90\u8868\u300D\u300C\u771F\u5B9E\u5B57\u6BB5 \u2192 \u6765\u6E90\u5B57\u6BB5\u300D\uFF0C\u76EE\u6807\u7AEF\u7684\u300C\u522B\u540D\u5B57\u6BB5 \u2192 \u76EE\u6807\u5B57\u6BB5\u300D\u3002\\n\\n\u5BF9\u4E8E `with as` \u573A\u666F\uFF0C\u6BCF\u4E2A CTE \u7684 `()` \u4F5C\u4E3A\u4E00\u7EC4\u540C\u6837\u5F52\u4E00\u4E3A\u4E8C\u7EF4\u8868\u518D\u5339\u914D\uFF1B\u5BF9\u4E8E**\u5355\u5217\u6765\u6E90\u4E8E\u591A\u5B57\u6BB5**\u7684\u573A\u666F\uFF08\u5982 `concat(t1.name, t2.name)`\uFF09\uFF0C\u771F\u5B9E\u5B57\u6BB5\u4E0E\u771F\u5B9E\u8868\u540D\u4EE5 `,` \u5408\u5E76\uFF0C\u6700\u7EC8\u62C6\u6210\u591A\u6761\u8840\u7F18\u3002\\n\\n### 5.2 \u8868\u8840\u7F18\u89E3\u6790\\n\\n\u672C\u8D28\u4E0E\u5B57\u6BB5\u8840\u7F18\u7C7B\u4F3C\uFF0C\u66F4\u591A\u662F\u5BF9\u8868\u8FDB\u884C\u5206\u7EC4\u5217\u8868\uFF0C\u4E00\u4E2A `select` \u540C\u6837\u5F97\u5230\u4E00\u7EC4\u300C\u8868\u3001\u8868\u522B\u540D\u300D\u7684\u4E8C\u7EF4\u8868\uFF0C\u6700\u7EC8\u4E0E `insert` \u76EE\u6807\u8868\u5339\u914D\u5373\u53EF\u5B8C\u6210\u8868\u8840\u7F18\u3002\\n\\n### 5.3 \u8868\u89E3\u6790\\n\\n\u4E0E\u8868\u8840\u7F18\u7C7B\u4F3C\uFF0C\u9700\u8981\u89E3\u6790\u51FA\u6240\u6709\u771F\u5B9E\u8868\uFF1B\u9664\u4E86\u8FFD\u6EAF\u771F\u5B9E\u8868\u7684\u8FC7\u7A0B\uFF0C\u8FD8\u8981\u5408\u5E76\u6CA1\u6709\u88AB\u8FFD\u6EAF\u5230\u7684\u771F\u5B9E\u8868\uFF0C\u540C\u65F6\u8986\u76D6\u6BD4\u8868\u8840\u7F18\u66F4\u591A\u7684 SQL \u7ED3\u6784\uFF08`select`\u3001`update`\u3001`delete`\u3001`insert`\u3001`drop`\u3001`rename` \u7B49\uFF09\u3002\\n\\n### 5.4 \u51FD\u6570\u89E3\u6790\\n\\n\u51FD\u6570\u4E0E\u8840\u7F18\u65E0\u5173\uFF0C\u76F4\u63A5\u4F7F\u7528 **Visitor \u6A21\u5F0F**\u6536\u96C6\u6240\u6709\u51FD\u6570\u5373\u53EF\uFF1A\\n\\n![\u57FA\u4E8E Visitor \u7684\u51FD\u6570\u89E3\u6790](assets/11-function-visitor.png)\\n\\n### 5.5 \u5176\u4ED6\u4E1A\u52A1\u80FD\u529B\\n\\n- **SQL \u8131\u654F\uFF08\u79BB\u7EBF\uFF09**\uFF1A\u590D\u7528\u5B57\u6BB5\u8840\u7F18\u7684 select column \u7EC4\u4EF6\u62FF\u5230\u5B57\u6BB5\u5217\u8868\uFF0C\u518D\u7ED3\u5408\u8BED\u6CD5\u5C42\u4F4D\u70B9\u80FD\u529B\u8FDB\u884C\u6539\u5199\uFF1B\u96BE\u70B9\u662F Druid \u65E0\u7CBE\u786E\u539F\u59CB SQL \u4F4D\u70B9\uFF0C\u9700\u8981\u6269\u5C55\u3002\\n- **\u884C\u7EA7\u6743\u9650\u6539\u5199 SQL**\uFF1A\u5229\u7528 Druid API \u8865\u5145 AST \u8282\u70B9\uFF0C\u518D\u8F6C\u56DE SQL\uFF0C\u672C\u8D28\u662F\u6839\u636E\u4E3B\u4F53 select \u5C01\u88C5/\u8865\u5145\u6761\u4EF6\u8282\u70B9\u540E\u91CD\u65B0\u8F93\u51FA\u3002\\n\\n---\\n\\n## \u516D\u3001SqlParserX \u7684\u8BDE\u751F\\n\\n\u5728\u5185\u90E8\u53CC\u5C42\u6539\u9020\u9A8C\u8BC1\u843D\u5730\u4E4B\u540E\uFF0C\u4E00\u4E2A\u66F4\u6E05\u6670\u7684\u60F3\u6CD5\u51FA\u73B0\u4E86\uFF1A**\u80FD\u4E0D\u80FD\u628A\u300C\u57FA\u4E8E Druid \u7684 SQL \u89E3\u6790\u300D\u505A\u6210\u4E00\u4E2A\u7EAF\u51C0\u3001\u53EF\u72EC\u7ACB\u6F14\u8FDB\u7684\u5F00\u6E90\u9879\u76EE\uFF1F**\\n\\n\u4E8E\u662F\u6709\u4E86 **SqlParserX** \u2014\u2014 \u4E00\u4E2A\u65E0\u9700\u4F9D\u8D56 Calcite\u3001ANTLR \u7B49\u5176\u4ED6\u89E3\u6790\u7EC4\u4EF6\uFF0C**\u5B8C\u5168\u57FA\u4E8E Druid \u5B9E\u73B0\u5404\u7C7B\u4E0D\u540C SQL \u89E3\u6790**\u7684\u5F00\u6E90\u9879\u76EE\u3002\\n\\n### 6.1 \u53CC\u5C42\u67B6\u6784\\n\\nSqlParserX \u5C06\u89E3\u6790\u5185\u6838\u62C6\u5206\u4E3A\u4E24\u4E2A\u72EC\u7ACB Jar Module\uFF0C\u7ED3\u6784\u5BF9\u79F0\u3001\u804C\u8D23\u6E05\u6670\uFF1A\\n\\n```text\\nSqlParserX\uFF08\u6839 Reactor\uFF09\\n\u251C\u2500\u2500 sqlparserx-engine\uFF08\u805A\u5408\u7236\u6A21\u5757\uFF0Cpackaging=pom\uFF09\\n\u2502 \u251C\u2500\u2500 sqlparserx-syntax\uFF08jar\uFF0C\u8BED\u6CD5\u89E3\u6790\u5C42\uFF0C\u57FA\u4E8E Druid\uFF09 \u2190 \u53EA\u7BA1 SQL \u2192 AST\\n\u2502 \u2514\u2500\u2500 sqlparserx-core\uFF08jar\uFF0C\u4E1A\u52A1\u89E3\u6790\u5C42\uFF0C\u4F9D\u8D56 syntax\uFF09 \u2190 \u53EA\u7BA1 AST \u2192 \u4E1A\u52A1\u7ED3\u679C\\n\u251C\u2500\u2500 sqlparserx-web\uFF08HTTP \u670D\u52A1\uFF09\\n\u251C\u2500\u2500 sqlparserx-mcp-server-sse\uFF08MCP Server\uFF09\\n\u2514\u2500\u2500 sqlparserx-ui\uFF08\u524D\u7AEF\uFF09\\n```\\n\\n- **\u8BED\u6CD5\u89E3\u6790\u5C42\uFF08`sqlparserx-syntax`\uFF09**\uFF1A\u7EDF\u4E00\u7EF4\u62A4 Druid \u4F9D\u8D56\u3001SQL\u2192AST\u3001\u591A\u8BED\u53E5\u89E3\u6790\u4E0E\u5207\u5206\uFF0C\u4EE5\u53CA\u540E\u7EED\u6570\u636E\u6E90 Lexer / StatementParser / AST Node \u6269\u5C55\uFF1B\\n- **\u4E1A\u52A1\u89E3\u6790\u5C42\uFF08`sqlparserx-core`\uFF09**\uFF1A\u57FA\u4E8E\u7EDF\u4E00 AST \u5B9E\u73B0\u771F\u5B9E\u8868\u3001\u5EFA\u8868\u7ED3\u6784\u3001\u8868/\u5B57\u6BB5\u8840\u7F18\u3001\u51FD\u6570\u4E0E SQL \u6743\u9650\u6539\u5199\u3002\\n\\n\u4E24\u5C42\u4EE5 `DbType + SQLStatement AST` \u4F5C\u4E3A\u8FDE\u63A5\u5951\u7EA6\uFF0C**\u4E0D\u989D\u5916\u590D\u5236\u4E00\u5957 AST**\uFF0C\u907F\u514D\u957F\u671F\u8F6C\u6362\u4E0E\u540C\u6B65\u3002\u8BE6\u7EC6\u8BBE\u8BA1\u89C1 [\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1](https://github.com/DTStack/SqlParserX/blob/master/docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1.md)\u3002\\n\\n### 6.2 \u4ECE\u5185\u90E8\u4E8C\u5F00\u8D70\u5411\u5B98\u65B9 Druid\\n\\n\u9879\u76EE\u65E9\u671F\u4F9D\u8D56\u5185\u90E8\u4E8C\u5F00\u7684 Druid \u7248\u672C\uFF0C\u968F\u7740\u80FD\u529B\u6C89\u6DC0\uFF0CSqlParserX \u5DF2\u7EDF\u4E00\u4E3A**\u5B98\u65B9 Druid 1.2.28**\uFF0C\u964D\u4F4E\u7EF4\u62A4\u6210\u672C\u3001\u65B9\u4FBF\u793E\u533A\u534F\u4F5C\u3002\u8BED\u6CD5\u5C42\u575A\u6301\u300C**\u4E0D\u5728\u4E1A\u52A1\u5C42\u7528\u5927\u91CF\u6B63\u5219\u66FF\u6362\u89C4\u907F\u8BED\u6CD5\u95EE\u9898**\u300D\uFF0C\u65B9\u8A00\u8BED\u6CD5\u5DEE\u5F02\u4E00\u5F8B\u56DE\u5230\u8BED\u6CD5\u5C42\u6309 Druid \u7684\u65B9\u5F0F\u6269\u5C55\u3002\\n\\n### 6.3 \u80FD\u529B\u4E0E\u6587\u6863\u4F53\u7CFB\\n\\nSqlParserX \u4E0D\u4EC5\u63D0\u4F9B\u4EE3\u7801\uFF0C\u4E5F\u63D0\u4F9B\u4E86\u4E00\u5957\u53EF\u7EF4\u62A4\u7684\u6587\u6863\u4F53\u7CFB\uFF1A\\n\\n- [\u53CC\u5C42\u67B6\u6784\u8BBE\u8BA1](/docs/about/architecture)\\n- [\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1](https://github.com/DTStack/SqlParserX/blob/master/docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u6A21\u5757\u4F9D\u8D56\u5305\u5F15\u7528\u7ED3\u6784\u8BBE\u8BA1.md)\\n- [Druid \u7248\u672C\u4E0E SQL \u8BED\u6CD5\u652F\u6301\u60C5\u51B5](https://github.com/DTStack/SqlParserX/blob/master/docs/01\u3001SQL\u8BED\u6CD5\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/Druid\u7248\u672C\u4E0ESQL\u8BED\u6CD5\u652F\u6301\u60C5\u51B5.md)\\n- [\u80FD\u529B\u652F\u6301\u60C5\u51B5\uFF08\u6570\u636E\u6E90 + \u901A\u7528\u89E3\u6790\u80FD\u529B\uFF09](https://github.com/DTStack/SqlParserX/tree/master/docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u80FD\u529B\u652F\u6301\u60C5\u51B5)\\n- [\u89E3\u6790\u80FD\u529B\u6807\u51C6\u8FED\u4EE3\u7EF4\u62A4\u6269\u5C55\u6307\u5357](https://github.com/DTStack/SqlParserX/blob/master/docs/02\u3001SQL\u4E1A\u52A1\u5C42\u89E3\u6790\u80FD\u529B\u652F\u6491\u60C5\u51B5/\u6807\u51C6\u8FED\u4EE3\u7EF4\u62A4\u6269\u5C55\u6587\u6863/SqlParserX\u89E3\u6790\u80FD\u529B\u6807\u51C6\u8FED\u4EE3\u7EF4\u62A4\u6269\u5C55\u6307\u5357.md)\\n\\n### 6.4 \u76EE\u6807\\n\\n- \u65E0\u9700\u4F9D\u8D56 Calcite\u3001ANTLR \u7B49\u5176\u4ED6\u89E3\u6790\u7EC4\u4EF6\uFF0C**\u5B8C\u5168\u57FA\u4E8E Druid** \u5B9E\u73B0\u5404\u79CD\u6570\u636E\u6E90\u7684 SQL \u89E3\u6790\uFF1B\\n- **\u8BED\u6CD5\u95EE\u9898\u6269\u5C55 Druid\uFF0C\u4E1A\u52A1\u8BED\u4E49\u6269\u5C55 SqlParserX**\uFF1B\u901A\u7528\u80FD\u529B\u6C89\u6DC0 Base\uFF0C\u6570\u636E\u6E90\u5DEE\u5F02\u6309\u65B9\u8A00\u8986\u76D6\uFF1B\\n- \u65B0\u589E\u6570\u636E\u6E90\u65F6\uFF0C\u8BED\u6CD5\u5DEE\u5F02\u5728\u8BED\u6CD5\u5C42\u6269\u5C55\uFF0C\u4E1A\u52A1\u5DEE\u5F02\u5728\u4E1A\u52A1\u5C42\u6269\u5C55\uFF0C\u4E0A\u4E0B\u4E24\u5C42\u901A\u8FC7 `DbType` \u4E0E AST \u5BF9\u9F50\u3002\\n\\n---\\n\\n## \u4E03\u3001\u7ED3\u8BED\\n\\n\u4ECE\u300C\u6563\u843D\u5404\u5904\u7684\u89E3\u6790\u5668 + \u5404\u79CD\u515C\u5E95\u300D\u5230\u300C\u7EDF\u4E00 AST + \u53CC\u5C42\u5206\u5C42\u300D\uFF0C\u518D\u5230\u300C\u4E00\u4E2A\u7EAF\u51C0\u3001\u53EA\u4F9D\u8D56 Druid \u7684\u5F00\u6E90\u9879\u76EE\u300D\uFF0CSqlParserX \u7684\u8BDE\u751F\u4E0D\u662F\u4E00\u6B21\u6027\u7684\u91CD\u6784\uFF0C\u800C\u662F\u4E00\u6B21\u6B21\u628A\u95EE\u9898\u653E\u56DE\u6B63\u786E\u5C42\u6B21\u7684\u53D6\u820D\uFF1A\\n\\n> **\u8BED\u6CD5\u95EE\u9898\u6269\u5C55 Druid\uFF0C\u4E1A\u52A1\u8BED\u4E49\u6269\u5C55 SqlParserX\uFF1B\u901A\u7528\u80FD\u529B\u6C89\u6DC0 Base\uFF0C\u6570\u636E\u6E90\u5DEE\u5F02\u6309\u65B9\u8A00\u8986\u76D6\u3002**\\n\\n\u5982\u679C\u4F60\u5728\u505A\u591A\u6570\u636E\u6E90\u7684 SQL \u89E3\u6790\u3001\u8840\u7F18\u3001\u8868\u89E3\u6790\u76F8\u5173\u5DE5\u4F5C\uFF0C\u6B22\u8FCE\u4E00\u8D77\u4EA4\u6D41\u4E0E\u5171\u5EFA\u3002\\n\\n---\\n\\n> \u4F5C\u8005\uFF1Achanglu \uFF5C 2026-09-28\\n>\\n> \u672C\u6587\u56FE\u7247\u4F4D\u4E8E `assets/` \u76EE\u5F55\uFF0C\u4ED3\u5E93\u5185\u4EE5\u76F8\u5BF9\u8DEF\u5F84\u5F15\u7528\u3002"}]}}')}}]); \ No newline at end of file diff --git a/en/assets/js/f798a39c.0ace19ab.js b/en/assets/js/f798a39c.0ace19ab.js new file mode 100644 index 0000000..4b83d6c --- /dev/null +++ b/en/assets/js/f798a39c.0ace19ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["7266"],{264(e,n,r){r.r(n),r.d(n,{metadata:()=>t,default:()=>u,frontMatter:()=>c,contentTitle:()=>d,toc:()=>a,assets:()=>o});var t=JSON.parse('{"id":"core/function-parse","title":"Function Parsing","description":"Extract functions, arguments and contexts used in SQL","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/core/function-parse.md","sourceDirName":"core","slug":"/core/function-parse","permalink":"/SqlParserX/en/docs/next/core/function-parse","draft":false,"unlisted":false,"editUrl":"https://github.com/DTStack/SqlParserX/tree/master/website/docs/core/function-parse.md","tags":[],"version":"current","sidebarPosition":4,"frontMatter":{"title":"Function Parsing","description":"Extract functions, arguments and contexts used in SQL","sidebar_label":"Function Parsing","sidebar_position":4},"sidebar":"docs","previous":{"title":"Table Parsing","permalink":"/SqlParserX/en/docs/next/core/table-parse"},"next":{"title":"Parameter Extraction","permalink":"/SqlParserX/en/docs/next/core/parameter-compile"}}'),s=r(4848),i=r(8453);let c={title:"Function Parsing",description:"Extract functions, arguments and contexts used in SQL",sidebar_label:"Function Parsing",sidebar_position:4},d="Function Parsing",o={},a=[{value:"1. Add the Dependency",id:"1-add-the-dependency",level:2},{value:"2. Complete Example",id:"2-complete-example",level:2},{value:"3. Goal",id:"3-goal",level:2},{value:"4. Entry & Implementation",id:"4-entry--implementation",level:2},{value:"5. Supported Scenarios",id:"5-supported-scenarios",level:2}];function l(e){let n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsx)(n.h1,{id:"function-parsing",children:"Function Parsing"})}),"\n",(0,s.jsx)(n.h2,{id:"1-add-the-dependency",children:"1. Add the Dependency"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-xml",children:"<dependency>\n <groupId>com.dtstack</groupId>\n <artifactId>sqlparserx-core</artifactId>\n <version>1.0-SNAPSHOT</version>\n</dependency>\n"})}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"sqlparserx-core"})," transitively brings in ",(0,s.jsx)(n.code,{children:"sqlparserx-syntax"})," and Druid."]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"2-complete-example",children:"2. Complete Example"}),"\n",(0,s.jsxs)(n.p,{children:["Using the official ",(0,s.jsx)(n.code,{children:"sqlparserx-core/README.md"})," sample SQL to extract the set of functions:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",metastring:'title="FunctionParseDemo.java"',children:'import com.dtstack.sqlparserx.core.parser.ISqlParser;\nimport com.dtstack.sqlparserx.core.parser.SqlParserFactory;\n\nimport com.alibaba.druid.DbType;\n\nimport java.util.Set;\n\npublic class FunctionParseDemo {\n\n public static void main(String[] args) {\n String sql = "CREATE TABLE user_order_summary AS\\n"\n + "SELECT\\n"\n + " u.id as user_id,\\n"\n + " u.name,\\n"\n + " SUM(o.amount) as total_amount,\\n"\n + " COUNT(o.id) as order_count\\n"\n + "FROM users u JOIN orders o ON u.id = o.user_id\\n"\n + "GROUP BY u.id, u.name";\n\n // 1. Get a parser\n ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);\n\n // 2. Parse functions used in the SQL\n Set<String> functions = parser.parseFunction(sql);\n\n // 3. Read the result\n System.out.println("functions: " + functions);\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"Console output (example):"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"functions: [sum, count]\n"})}),"\n",(0,s.jsx)(n.h2,{id:"3-goal",children:"3. Goal"}),"\n",(0,s.jsxs)(n.p,{children:["Extract ",(0,s.jsx)(n.strong,{children:"function calls"})," from SQL as a de-duplicated set of function names for function-level governance and dependency analysis."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-text",children:"SQLStatement AST\n \u2192 BaseSqlParser.parseFunction\n \u2192 traverse AST to collect function expressions\n \u2192 Set<String> functions\n"})}),"\n",(0,s.jsx)(n.h2,{id:"4-entry--implementation",children:"4. Entry & Implementation"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Item"}),(0,s.jsx)(n.th,{children:"Content"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Core entry"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"ISqlParser.parseFunction(sql)"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Default impl"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"BaseSqlParser.parseFunction"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Return type"}),(0,s.jsxs)(n.td,{children:[(0,s.jsx)(n.code,{children:"Set<String>"})," (function names, lower-cased)"]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Coverage"}),(0,s.jsx)(n.td,{children:"built-in, aggregate, window, custom functions"})]})]})]}),"\n",(0,s.jsx)(n.h2,{id:"5-supported-scenarios",children:"5. Supported Scenarios"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Capability"}),(0,s.jsx)(n.th,{children:"Status"}),(0,s.jsx)(n.th,{children:"Notes"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Regular function calls"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsxs)(n.td,{children:["e.g. ",(0,s.jsx)(n.code,{children:"substr(name, 1, 3)"})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Aggregate functions"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsxs)(n.td,{children:["e.g. ",(0,s.jsx)(n.code,{children:"sum"}),", ",(0,s.jsx)(n.code,{children:"count"}),", ",(0,s.jsx)(n.code,{children:"max"})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Window functions"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsxs)(n.td,{children:["e.g. ",(0,s.jsx)(n.code,{children:"row_number() over(...)"})]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"Nested functions"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.strong,{children:"Supported \u2705"})}),(0,s.jsx)(n.td,{children:"Recursively collect inner and outer functions"})]})]})]})]})}function u(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453(e,n,r){r.d(n,{R:()=>c,x:()=>d});var t=r(6540);let s={},i=t.createContext(s);function c(e){let n=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/main.51440fbc.js b/en/assets/js/main.51440fbc.js new file mode 100644 index 0000000..8c1d237 --- /dev/null +++ b/en/assets/js/main.51440fbc.js @@ -0,0 +1,38 @@ +(self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).push([["1889"],{7612(e,t,n){"use strict";n.r(t)},6464(e,t,n){"use strict";n.r(t)},6448(e,t,n){"use strict";n.r(t)},3328(e,t,n){"use strict";n.d(t,{AO:()=>f,yJ:()=>p,sC:()=>C,TM:()=>_,zR:()=>w});var r=n(8168);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}let i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],l=e&&a(e),s=t&&a(t),u=l||s;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var c=i[i.length-1];n="."===c||".."===c||""===c}else n=!1;for(var d=0,f=i.length;f>=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(1561);function s(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o,l,s,u,c,d;"string"==typeof e?(s="",u="",-1!==(c=(l=e||"/").indexOf("#"))&&(u=l.substr(c),l=l.substr(0,c)),-1!==(d=l.indexOf("?"))&&(s=l.substr(d),l=l.substr(0,d)),(o={pathname:l,search:"?"===s?"":s,hash:"#"===u?"":u}).state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(e){if(e instanceof URIError)throw URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.');throw e}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null,t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter(function(e){return e!==r})}},notifyListeners:function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach(function(e){return e.apply(void 0,n)})}}}var g=!!("u">typeof window&&window.document&&window.document.createElement);function h(e,t){t(window.confirm(e))}var y="popstate",b="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),g||(0,l.A)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=-1!==window.navigator.userAgent.indexOf("Trident"),i=e,u=i.forceRefresh,w=void 0!==u&&u,S=i.getUserConfirmation,k=void 0===S?h:S,x=i.keyLength,E=void 0===x?6:x,T=e.basename?d(s(e.basename)):"";function _(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return T&&(o=c(o,T)),p(o,r,n)}function A(){return Math.random().toString(36).substr(2,E)}var C=m();function N(e){(0,r.A)(U,e),U.length=n.length,C.notifyListeners(U.location,U.action)}function P(e){(void 0!==e.state||-1!==navigator.userAgent.indexOf("CriOS"))&&I(_(e.state))}function O(){I(_(v()))}var L=!1;function I(e){L?(L=!1,N()):C.confirmTransitionTo(e,"POP",k,function(t){var n,r,a,o,i;t?N({action:"POP",location:e}):(n=e,r=U.location,-1===(a=j.indexOf(r.key))&&(a=0),-1===(o=j.indexOf(n.key))&&(o=0),(i=a-o)&&(L=!0,F(i)))})}var R=_(v()),j=[R.key];function D(e){return T+f(e)}function F(e){n.go(e)}var M=0;function z(e){1===(M+=e)&&1===e?(window.addEventListener(y,P),o&&window.addEventListener(b,O)):0===M&&(window.removeEventListener(y,P),o&&window.removeEventListener(b,O))}var B=!1,U={length:n.length,action:"POP",location:R,createHref:D,push:function(e,t){var r="PUSH",o=p(e,t,A(),U.location);C.confirmTransitionTo(o,r,k,function(e){if(e){var t=D(o),i=o.key,l=o.state;if(a)if(n.pushState({key:i,state:l},null,t),w)window.location.href=t;else{var s=j.indexOf(U.location.key),u=j.slice(0,s+1);u.push(o.key),j=u,N({action:r,location:o})}else window.location.href=t}})},replace:function(e,t){var r="REPLACE",o=p(e,t,A(),U.location);C.confirmTransitionTo(o,r,k,function(e){if(e){var t=D(o),i=o.key,l=o.state;if(a)if(n.replaceState({key:i,state:l},null,t),w)window.location.replace(t);else{var s=j.indexOf(U.location.key);-1!==s&&(j[s]=o.key),N({action:r,location:o})}else window.location.replace(t)}})},go:F,goBack:function(){F(-1)},goForward:function(){F(1)},block:function(e){void 0===e&&(e=!1);var t=C.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=C.appendListener(e);return z(1),function(){z(-1),t()}}};return U}var S="hashchange",k={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+u(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:u,decodePath:s},slash:{encodePath:s,decodePath:s}};function x(e){var t=e.indexOf("#");return -1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return -1===t?"":e.substring(t+1)}function T(e){window.location.replace(x(window.location.href)+"#"+e)}function _(e){void 0===e&&(e={}),g||(0,l.A)(!1);var t=window.history;window.navigator.userAgent.indexOf("Firefox");var n=e,a=n.getUserConfirmation,o=void 0===a?h:a,i=n.hashType,u=e.basename?d(s(e.basename)):"",y=k[void 0===i?"slash":i],b=y.encodePath,v=y.decodePath;function w(){var e=v(E());return u&&(e=c(e,u)),p(e)}var _=m();function A(e){(0,r.A)(z,e),z.length=t.length,_.notifyListeners(z.location,z.action)}var C=!1,N=null;function P(){var e=E(),t=b(e);if(e!==t)T(t);else{var n,r=w(),a=z.location;if(!C&&a.pathname===r.pathname&&a.search===r.search&&a.hash===r.hash||N===f(r))return;N=null,n=r,C?(C=!1,A()):_.confirmTransitionTo(n,"POP",o,function(e){var t,r,a,o,i;e?A({action:"POP",location:n}):(t=n,r=z.location,-1===(a=R.lastIndexOf(f(r)))&&(a=0),-1===(o=R.lastIndexOf(f(t)))&&(o=0),(i=a-o)&&(C=!0,j(i)))})}}var O=E(),L=b(O);O!==L&&T(L);var I=w(),R=[f(I)];function j(e){t.go(e)}var D=0;function F(e){1===(D+=e)&&1===e?window.addEventListener(S,P):0===D&&window.removeEventListener(S,P)}var M=!1,z={length:t.length,action:"POP",location:I,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=x(window.location.href)),n+"#"+b(u+f(e))},push:function(e,t){var n="PUSH",r=p(e,void 0,void 0,z.location);_.confirmTransitionTo(r,n,o,function(e){if(e){var t=f(r),a=b(u+t);if(E()!==a){N=t,window.location.hash=a;var o=R.lastIndexOf(f(z.location)),i=R.slice(0,o+1);i.push(t),R=i,A({action:n,location:r})}else A()}})},replace:function(e,t){var n="REPLACE",r=p(e,void 0,void 0,z.location);_.confirmTransitionTo(r,n,o,function(e){if(e){var t=f(r),a=b(u+t);E()!==a&&(N=t,T(a));var o=R.indexOf(f(z.location));-1!==o&&(R[o]=t),A({action:n,location:r})}})},go:j,goBack:function(){j(-1)},goForward:function(){j(1)},block:function(e){void 0===e&&(e=!1);var t=_.setPrompt(e);return M||(F(1),M=!0),function(){return M&&(M=!1,F(-1)),t()}},listen:function(e){var t=_.appendListener(e);return F(1),function(){F(-1),t()}}};return z}function A(e,t,n){return Math.min(Math.max(e,t),n)}function C(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,l=t.keyLength,s=void 0===l?6:l,u=m();function c(e){(0,r.A)(b,e),b.length=b.entries.length,u.notifyListeners(b.location,b.action)}function d(){return Math.random().toString(36).substr(2,s)}var g=A(void 0===i?0:i,0,o.length-1),h=o.map(function(e){return"string"==typeof e?p(e,void 0,d()):p(e,void 0,e.key||d())});function y(e){var t=A(b.index+e,0,b.entries.length-1),r=b.entries[t];u.confirmTransitionTo(r,"POP",n,function(e){e?c({action:"POP",location:r,index:t}):c()})}var b={length:h.length,action:"POP",location:h[g],index:g,entries:h,createHref:f,push:function(e,t){var r="PUSH",a=p(e,t,d(),b.location);u.confirmTransitionTo(a,r,n,function(e){if(e){var t=b.index+1,n=b.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),c({action:r,location:a,index:t,entries:n})}})},replace:function(e,t){var r="REPLACE",a=p(e,t,d(),b.location);u.confirmTransitionTo(a,r,n,function(e){e&&(b.entries[b.index]=a,c({action:r,location:a}))})},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=b.index+e;return t>=0&&t<b.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return b}},4146(e,t,n){"use strict";var r=n(4363),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),g=s(n),h=0;h<i.length;++h){var y=i[h];if(!o[y]&&!(r&&r[y])&&!(g&&g[y])&&!(l&&l[y])){var b=f(n,y);try{u(t,y,b)}catch(e){}}}}return t}},311(e){"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=Error(t.replace(/%s/g,function(){return u[c++]}))).name="Invariant Violation"}throw s.framesToPop=1,s}}},4634(e){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},5947(e){var t;t=function(){var e,t,n,r={};r.version="0.2.0";var a=r.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}r.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(a[t]=n);return this},r.status=null,r.set=function(e){var t=r.isStarted();r.status=1===(e=o(e,a.minimum,1))?null:e;var n=r.render(!t),s=n.querySelector(a.barSelector),u=a.speed,c=a.easing;return n.offsetWidth,i(function(t){var o,i,d,f;""===a.positionUsing&&(a.positionUsing=r.getPositioningCSS()),l(s,(o=e,i=u,d=c,(f="translate3d"===a.positionUsing?{transform:"translate3d("+(-1+o)*100+"%,0,0)"}:"translate"===a.positionUsing?{transform:"translate("+(-1+o)*100+"%,0)"}:{"margin-left":(-1+o)*100+"%"}).transition="all "+i+"ms "+d,f)),1===e?(l(n,{transition:"none",opacity:1}),n.offsetWidth,setTimeout(function(){l(n,{transition:"all "+u+"ms linear",opacity:0}),setTimeout(function(){r.remove(),t()},u)},u)):setTimeout(t,u)}),this},r.isStarted=function(){return"number"==typeof r.status},r.start=function(){r.status||r.set(0);var e=function(){setTimeout(function(){r.status&&(r.trickle(),e())},a.trickleSpeed)};return a.trickle&&e(),this},r.done=function(e){return e||r.status?r.inc(.3+.5*Math.random()).set(1):this},r.inc=function(e){var t=r.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),r.set(t)):r.start()},r.trickle=function(){return r.inc(Math.random()*a.trickleRate)},e=0,t=0,r.promise=function(n){return n&&"resolved"!==n.state()&&(0===t&&r.start(),e++,t++,n.always(function(){0==--t?(e=0,r.done()):r.set((e-t)/e)})),this},r.render=function(e){if(r.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=a.template;var n,o=t.querySelector(a.barSelector),i=e?"-100":(-1+(r.status||0))*100,s=document.querySelector(a.parent);return l(o,{transition:"all 0 linear",transform:"translate3d("+i+"%,0,0)"}),!a.showSpinner&&(n=t.querySelector(a.spinnerSelector))&&f(n),s!=document.body&&u(s,"nprogress-custom-parent"),s.appendChild(t),t},r.remove=function(){c(document.documentElement,"nprogress-busy"),c(document.querySelector(a.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},r.isRendered=function(){return!!document.getElementById("nprogress")},r.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var i=(n=[],function(e){n.push(e),1==n.length&&function e(){var t=n.shift();t&&t(e)}()}),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n,r,a){var o;r=t[o=(o=r).replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()})]||(t[o]=function(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}(o)),n.style[r]=a}return function(e,t){var r,a,o=arguments;if(2==o.length)for(r in t)void 0!==(a=t[r])&&t.hasOwnProperty(r)&&n(e,r,a);else n(e,o[1],o[2])}}();function s(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=d(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function c(e,t){var n,r=d(e);s(e,t)&&(e.className=(n=r.replace(" "+t+" "," ")).substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return r},"function"==typeof define&&define.amd?define(t):e.exports=t()},5302(e,t,n){var r=n(4634);e.exports=function e(t,n,a){if(r(n)||(a=n||a,n=[]),a=a||{},t instanceof RegExp){var i,l,s=n,d=t.source.match(/\((?!\?)/g);if(d)for(var f=0;f<d.length;f++)s.push({name:f,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return t.keys=s,t}if(r(t)){for(var p,m=n,g=a,h=[],y=0;y<t.length;y++)h.push(e(t[y],m,g).source);return(p=RegExp("(?:"+h.join("|")+")",u(g))).keys=m,p}return i=n,c(o(t,l=a),i,l)},e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=c;var a=RegExp("(\\\\.)|([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))","g");function o(e,t){for(var n,r=[],o=0,i=0,l="",u=t&&t.delimiter||"/";null!=(n=a.exec(e));){var c,d,f=n[0],p=n[1],m=n.index;if(l+=e.slice(i,m),i=m+f.length,p){l+=p[1];continue}var g=e[i],h=n[2],y=n[3],b=n[4],v=n[5],w=n[6],S=n[7];l&&(r.push(l),l="");var k=null!=h&&null!=g&&g!==h,x="+"===w||"*"===w,E="?"===w||"*"===w,T=h||u,_=b||v,A=h||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:y||o++,prefix:h||"",delimiter:T,optional:E,repeat:x,partial:k,asterisk:!!S,pattern:_?_.replace(/([=!:$\/()])/g,"\\$1"):S?".*":(c=T,!(d=A)||d.indexOf(c)>-1?"[^"+s(c)+"]+?":s(d)+"|(?:(?!"+s(d)+")[^"+s(c)+"])+?")})}return i<e.length&&(l+=e.substr(i)),l&&r.push(l),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}function l(e,t){for(var n=Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=RegExp("^(?:"+e[a].pattern+")$",u(t)));return function(t,a){for(var o="",l=t||{},s=(a||{}).pretty?i:encodeURIComponent,u=0;u<e.length;u++){var c,d=e[u];if("string"==typeof d){o+=d;continue}var f=l[d.name];if(null==f)if(d.optional){d.partial&&(o+=d.prefix);continue}else throw TypeError('Expected "'+d.name+'" to be defined');if(r(f)){if(!d.repeat)throw TypeError('Expected "'+d.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length)if(d.optional)continue;else throw TypeError('Expected "'+d.name+'" to not be empty');for(var p=0;p<f.length;p++){if(c=s(f[p]),!n[u].test(c))throw TypeError('Expected all "'+d.name+'" to match "'+d.pattern+'", but received `'+JSON.stringify(c)+"`");o+=(0===p?d.prefix:d.delimiter)+c}continue}if(c=d.asterisk?encodeURI(f).replace(/[?#]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}):s(f),!n[u].test(c))throw TypeError('Expected "'+d.name+'" to match "'+d.pattern+'", but received "'+c+'"');o+=d.prefix+c}return o}}function s(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e&&e.sensitive?"":"i"}function c(e,t,n){r(t)||(n=t||n,t=[]);for(var a,o=(n=n||{}).strict,i=!1!==n.end,l="",c=0;c<e.length;c++){var d=e[c];if("string"==typeof d)l+=s(d);else{var f=s(d.prefix),p="(?:"+d.pattern+")";t.push(d),d.repeat&&(p+="(?:"+f+p+")*"),l+=p=d.optional?d.partial?f+"("+p+")?":"(?:"+f+"("+p+"))?":f+"("+p+")"}}var m=s(n.delimiter||"/"),g=l.slice(-m.length)===m;return o||(l=(g?l.slice(0,-m.length):l)+"(?:"+m+"(?=$))?"),i?l+="$":l+=o&&g?"":"(?="+m+"|$)",(a=RegExp("^"+l,u(n))).keys=t,a}},7022(){!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i<a.length;i++)o[a[i]]=e.languages.bash[a[i]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash}(Prism)},6976(){var e,t,n,r;e=Prism,t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}},e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})},2514(){Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},9700(){var e=Prism;function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a}),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s<l.length&&!(a>=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++a;var g=f.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=f.substring(m+p.length),b=[];g&&b.push.apply(b,i([g])),b.push(h),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})},9486(){var e;e=/\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i,Prism.languages.nginx={comment:{pattern:/(^|[\s{};])#.*/,lookbehind:!0,greedy:!0},directive:{pattern:/(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:{string:{pattern:/((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,lookbehind:!0,greedy:!0,inside:{escape:{pattern:/\\["'\\nrt]/,alias:"entity"},variable:e}},comment:{pattern:/(\s)#.*/,lookbehind:!0,greedy:!0},keyword:{pattern:/^\S+/,greedy:!0},boolean:{pattern:/(\s)(?:off|on)(?!\S)/,lookbehind:!0},number:{pattern:/(\s)\d+[a-z]*(?!\S)/i,lookbehind:!0},variable:e}},punctuation:/[{};]/}},2342(){Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},6966(){Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}},2416(e,t,n){var r={"./prism-bash":"7022","./prism-java":"6976","./prism-json":"2514","./prism-nginx":"9486","./prism-python":"2342","./prism-sql":"6966"};function a(e){return n(o(e))}function o(e){if(!n.o(r,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=2416},2694(e,t,n){"use strict";var r=n(6925);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5556(e,t,n){e.exports=n(2694)()},6925(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},1247(e,t,n){"use strict";var r,a=n(9982),o=n(6540),i=n(961);function l(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function u(e){for(var t=e,n=t;n&&!n.alternate;)0!=(4098&(t=n).flags)&&(e=t.return),n=t.return;for(;t.return;)t=t.return;return 3===t.tag?e:null}function c(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function d(e){if(31===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function f(e){if(u(e)!==e)throw Error(l(188))}function p(e,t,n,r,a,o){for(;null!==e;){if((5===e.tag||27===e.tag||6===e.tag)&&n(e,r,a,o)||(22!==e.tag||null===e.memoizedState)&&(t||5!==e.tag&&27!==e.tag)&&p(e.child,t,n,r,a,o))return!0;e=e.sibling}return!1}function m(e){for(e=e.return;null!==e;){if(3===e.tag||5===e.tag||27===e.tag)return e;e=e.return}return null}function g(e){var t=!1;for(e=e.return;null!==e&&(4===e.tag&&(t=!0),3!==e.tag&&5!==e.tag&&27!==e.tag);)e=e.return;return t}function h(e){var t=[null,null],n=m(e);return null===n||function e(t,n,r,a){for(;null!==r;){if(r===n)a.foundSelf=!0;else if(5===r.tag||27===r.tag||6===r.tag){if(a.foundSelf)return t[1]=r,!0;t[0]=r}else if((22!==r.tag||null===r.memoizedState)&&e(t,n,r.child,a))return!0;r=r.sibling}return!1}(t,e,n.child,{foundSelf:!1}),t}function y(e){switch(e.tag){case 5:case 27:case 6:return e.stateNode;case 3:return e.stateNode.containerInfo;default:throw Error(l(559))}}var b=null,v=null;function w(e,t,n){return e===n||e===t&&(b=e,!0)}function S(e,t,n){return e===n?(v=e,!1):e===t&&(null!==v&&(b=e),!0)}function k(e){if(null===e)return null;do e=null===e?null:e.return;while(e&&5!==e.tag&&27!==e.tag&&3!==e.tag)return e||null}function x(e,t,n){for(var r=0,a=e;a;a=n(a))r++;a=0;for(var o=t;o;o=n(o))a++;for(;0<r-a;)e=n(e),r--;for(;0<a-r;)t=n(t),a--;for(;r--;){if(e===t||null!==t&&e===t.alternate)return e;e=n(e),t=n(t)}return null}var E=Object.assign,T=Symbol.for("react.element"),_=Symbol.for("react.transitional.element"),A=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),N=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),O=Symbol.for("react.consumer"),L=Symbol.for("react.context"),I=Symbol.for("react.forward_ref"),R=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),D=Symbol.for("react.memo"),F=Symbol.for("react.lazy");Symbol.for("react.scope");var M=Symbol.for("react.activity"),z=Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var B=Symbol.for("react.memo_cache_sentinel"),U=Symbol.for("react.view_transition"),$=Symbol.for("react.recoverable"),q=Symbol.iterator;function H(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=q&&e[q]||e["@@iterator"])?e:null}var V=Symbol.for("react.client.reference"),X=Array.isArray,G=o.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y={pending:!1,data:null,method:null,action:null},K=[],Q=-1;function Z(e){return{current:e}}function J(e){0>Q||(e.current=K[Q],K[Q]=null,Q--)}function ee(e,t){K[++Q]=e.current,e.current=t}var et=Z(null),en=Z(null),er=Z(null),ea=Z(null);function eo(e,t){switch(ee(er,t),ee(en,e),ee(et,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?cw(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=cS(t=cw(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}J(et),ee(et,e)}function ei(){J(et),J(en),J(er)}function el(e){var t=e.memoizedState;null!==t&&(dM._currentValue=t.memoizedState,ee(ea,e));var n=cS(t=et.current,e.type);t!==n&&(ee(en,e),ee(et,n))}function es(e){en.current===e&&(J(et),J(en)),ea.current===e&&(J(ea),dM._currentValue=Y)}function eu(e){if(void 0===t1)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);t1=t&&t[1]||"",t2=-1<e.stack.indexOf("\n at")?" (<anonymous>)":-1<e.stack.indexOf("@")?"@unknown:0:0":""}return"\n"+t1+e+t2}var ec=!1;function ed(e,t){if(!e||ec)return"";ec=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}n=!1;try{var a=Object.getOwnPropertyDescriptor(e.prototype,"props");Object.defineProperty(e.prototype,"props",{configurable:!0,set:function(){throw Error()}}),n=!0,new e}finally{n&&(void 0!==a?Object.defineProperty(e.prototype,"props",a):delete e.prototype.props)}}}else{try{throw Error()}catch(e){r=e}(n=e())&&"function"==typeof n.catch&&n.catch(function(){})}}catch(e){if(e&&r&&"string"==typeof e.stack)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var a=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");a&&a.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var o=r.DetermineComponentFrameRoot(),i=o[0],l=o[1];if(i&&l){var s=i.split("\n"),u=l.split("\n");for(a=r=0;r<s.length&&!s[r].includes("DetermineComponentFrameRoot");)r++;for(;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;if(r===s.length||a===u.length)for(r=s.length-1,a=u.length-1;1<=r&&0<=a&&s[r]!==u[a];)a--;for(;1<=r&&0<=a;r--,a--)if(s[r]!==u[a]){if(1!==r||1!==a)do if(r--,a--,0>a||s[r]!==u[a]){var c="\n"+s[r].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=r&&0<=a)break}}}finally{ec=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?eu(n):""}function ef(e){try{var t="",n=null;do t+=function(e,t){switch(e.tag){case 26:case 27:case 5:return eu(e.type);case 16:return eu("Lazy");case 13:return e.child!==t&&null!==t?eu("Suspense Fallback"):eu("Suspense");case 19:return eu("SuspenseList");case 0:case 15:return ed(e.type,!1);case 11:return ed(e.type.render,!1);case 1:return ed(e.type,!0);case 31:return eu("Activity");case 30:return eu("ViewTransition");default:return""}}(e,n),n=e,e=e.return;while(e)return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}var ep=Object.prototype.hasOwnProperty,em=a.unstable_scheduleCallback,eg=a.unstable_cancelCallback,eh=a.unstable_shouldYield,ey=a.unstable_requestPaint,eb=a.unstable_now,ev=a.unstable_getCurrentPriorityLevel,ew=a.unstable_ImmediatePriority,eS=a.unstable_UserBlockingPriority,ek=a.unstable_NormalPriority,ex=a.unstable_LowPriority,eE=a.unstable_IdlePriority,eT=a.log,e_=a.unstable_setDisableYieldValue,eA=null,eC=null;function eN(e){if("function"==typeof eT&&e_(e),eC&&"function"==typeof eC.setStrictMode)try{eC.setStrictMode(eA,e)}catch(e){}}var eP=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(eO(e)/eL|0)|0},eO=Math.log,eL=Math.LN2,eI=256,eR=262144,ej=4194304;function eD(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return 3932160&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:return 0x3c00000&e;case 0x4000000:return 0x4000000;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0;default:return e}}function eF(e,t,n){var r=e.pendingLanes;if(0===r)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=0x7ffffff&r;return 0!==l?0!=(r=l&~o)?a=eD(r):0!=(i&=l)?a=eD(i):n||0!=(n=l&~e)&&(a=eD(n)):0!=(l=r&~o)?a=eD(l):0!==i?a=eD(i):n||0!=(n=r&~e)&&(a=eD(n)),0===a?0:0!==t&&t!==a&&0==(t&o)&&((o=a&-a)>=(n=t&-t)||32===o&&0!=(4194048&n))?t:a}function eM(e,t){return 0==(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function ez(e,t){0!=(8&t)&&(t|=32&t);var n=e.entangledLanes;if(0!==n)for(e=e.entanglements,n&=t;0<n;){var r=31-eP(n),a=1<<r;t|=e[r],n&=~a}return t}function eB(){var e=ej;return 0==(0x3c00000&(ej<<=1))&&(ej=4194304),e}function eU(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function e$(e,t){e.pendingLanes|=t,0x10000000!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function eq(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-eP(t);e.entangledLanes|=t,e.entanglements[r]=0x40000000|e.entanglements[r]|261930&n}function eH(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-eP(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}function eV(e,t){var n=t&-t;return 0!=((n=0!=(42&n)?1:eX(n))&(e.suspendedLanes|t))?0:n}function eX(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 0x1000000:case 0x2000000:e=128;break;case 0x10000000:e=0x8000000;break;default:e=0}return e}function eG(e){return 2<(e&=-e)?8<e?0!=(0x7ffffff&e)?32:0x10000000:8:2}function eW(){var e=W.p;return 0!==e?e:void 0===(e=window.event)?32:dJ(e.type)}function eY(e,t){var n=W.p;try{return W.p=e,t()}finally{W.p=n}}var eK=Math.random().toString(36).slice(2),eQ="__reactFiber$"+eK,eZ="__reactProps$"+eK,eJ="__reactContainer$"+eK,e0="__reactEvents$"+eK,e1="__reactListeners$"+eK,e2="__reactHandles$"+eK,e4="__reactResources$"+eK,e3="__reactMarker$"+eK,e6="__reactLoad$"+eK;function e8(e){delete e[eQ],delete e[eZ],delete e[e1],delete e[e2]}function e5(e){var t;if(t=e[eQ])return t;for(var n=e.parentNode;n;){if(t=n[eJ]||n[eQ]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=dr(e);null!==e;){if(n=e[eQ])return n;e=dr(e)}return t}n=(e=n).parentNode}return null}function e9(e){if(e=e[eQ]||e[eJ]){var t=e.tag;if(5===t||6===t||13===t||31===t||26===t||27===t||3===t)return e}return null}function e7(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e.stateNode;throw Error(l(33))}function te(e){var t=e[e4];return t||(t=e[e4]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function tt(e){e[e3]=!0}function tn(e){e[e6]=void 0}var tr=new Set,ta={};function to(e,t){ti(e,t),ti(e+"Capture",t)}function ti(e,t){for(ta[e]=t,e=0;e<t.length;e++)tr.add(t[e])}var tl=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),ts={},tu={},tc=!1;function td(){var e=tc;return tc=!1,e}function tf(e,t,n){if(ep.call(tu,t)||!ep.call(ts,t)&&(tl.test(t)?tu[t]=!0:(ts[t]=!0,!1)))if(null===n)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var r=t.toLowerCase().slice(0,5);if("data-"!==r&&"aria-"!==r)return void e.removeAttribute(t)}e.setAttribute(t,n)}}function tp(e,t,n){if(null===n)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,n)}}function tm(e,t,n,r){if(null===r)e.removeAttribute(n);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,r)}}function tg(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function th(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function ty(e){if(!e._valueTracker){var t=th(e)?"checked":"value";e._valueTracker=function(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&void 0!==r&&"function"==typeof r.get&&"function"==typeof r.set){var a=r.get,o=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){n=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e,t,""+e[t])}}function tb(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=th(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}var tv=/[\n"\\]/g;function tw(e){return e.replace(tv,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function tS(e,t,n,r,a,o,i,l){e.name="",null!=i&&"function"!=typeof i&&"symbol"!=typeof i&&"boolean"!=typeof i?e.type=i:e.removeAttribute("type"),null!=t?"number"===i?(0===t&&""===e.value||e.value!=t)&&(e.value=""+tg(t)):e.value!==""+tg(t)&&(e.value=""+tg(t)):"submit"!==i&&"reset"!==i||e.removeAttribute("value"),null!=t?"number"===i&&e.value==t?tx(e,tg(e.value)):tx(e,tg(t)):null!=n?tx(e,tg(n)):null!=r&&e.removeAttribute("value"),null==a&&null!=o&&(e.defaultChecked=!!o),null!=a&&(e.checked=a&&"function"!=typeof a&&"symbol"!=typeof a),null!=l&&"function"!=typeof l&&"symbol"!=typeof l&&"boolean"!=typeof l?e.name=""+tg(l):e.removeAttribute("name")}function tk(e,t,n,r,a,o,i,l){if(null!=o&&"function"!=typeof o&&"symbol"!=typeof o&&"boolean"!=typeof o&&(e.type=o),null!=t||null!=n){if(("submit"===o||"reset"===o)&&null==t)return void ty(e);n=null!=n?""+tg(n):"",t=null!=t?""+tg(t):n,l||t===e.value||(e.value=t),e.defaultValue=t}r="function"!=typeof(r=null!=r?r:a)&&"symbol"!=typeof r&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,null!=i&&"function"!=typeof i&&"symbol"!=typeof i&&"boolean"!=typeof i&&(e.name=i),ty(e)}function tx(e,t){e.defaultValue!==""+t&&(e.defaultValue=""+t)}function tE(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(a=0,n=""+tg(n),t=null;a<e.length;a++){if(e[a].value===n){e[a].selected=!0,r&&(e[a].defaultSelected=!0);return}null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function tT(e,t,n){if(null!=t&&((t=""+tg(t))!==e.value&&(e.value=t),null==n)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=null!=n?""+tg(n):""}function t_(e,t,n,r){if(null==t){if(null!=r){if(null!=n)throw Error(l(92));if(X(r)){if(1<r.length)throw Error(l(93));r=r[0]}n=r}null==n&&(n=""),t=n}e.defaultValue=n=tg(t),(r=e.textContent)===n&&""!==r&&null!==r&&(e.value=r),ty(e)}function tA(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType){n.nodeValue=t;return}}e.textContent=t}var tC=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function tN(e,t,n){var r=0===t.indexOf("--");null==n||"boolean"==typeof n||""===n?r?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":r?e.setProperty(t,n):"number"!=typeof n||0===n||tC.has(t)?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function tP(e,t,n){if(null!=t&&"object"!=typeof t)throw Error(l(62));if(e=e.style,null!=n){for(var r in n)!n.hasOwnProperty(r)||null!=t&&t.hasOwnProperty(r)||(0===r.indexOf("--")?e.setProperty(r,""):"float"===r?e.cssFloat="":e[r]="",tc=!0);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&(tN(e,a,r),tc=!0)}else for(var o in t)t.hasOwnProperty(o)&&tN(e,o,t[o])}function tO(e){if(-1===e.indexOf("-"))return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var tL=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["maskType","mask-type"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),tI=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function tR(e){return tI.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function tj(){}var tD=null;function tF(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var tM=null,tz=null;function tB(e){var t=e9(e);if(t&&(e=t.stateNode)){var n=e[eZ]||null;switch(e=t.stateNode,t.type){case"input":if(tS(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+tw(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[eZ]||null;if(!a)throw Error(l(90));tS(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)(r=n[t]).form===e.form&&tb(r)}break;case"textarea":tT(e,n.value,n.defaultValue);break;case"select":null!=(t=n.value)&&tE(e,!!n.multiple,t,!1)}}}var tU=!1;function t$(e,t,n){if(tU)return e(t,n);tU=!0;try{return e(t)}finally{if(tU=!1,(null!==tM||null!==tz)&&(uf(),tM&&(t=tM,e=tz,tz=tM=null,tB(t),e)))for(t=0;t<e.length;t++)tB(e[t])}}function tq(e,t){var n=e.stateNode;if(null===n)return null;var r=n[eZ]||null;if(null===r)return null;switch(n=r[t],t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r="button"!==(e=e.type)&&"input"!==e&&"select"!==e&&"textarea"!==e),e=!r;break;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(l(231,t,typeof n));return n}var tH="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement,tV=!1;if(tH)try{var tX={};Object.defineProperty(tX,"passive",{get:function(){tV=!0}}),window.addEventListener("test",tX,tX),window.removeEventListener("test",tX,tX)}catch(e){tV=!1}var tG=null,tW=null,tY=null;function tK(){if(tY)return tY;var e,t,n=tW,r=n.length,a="value"in tG?tG.value:tG.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return tY=a.slice(e,1<t?1-t:void 0)}function tQ(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function tZ(){return!0}function tJ(){return!1}function t0(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?tZ:tJ,this.isPropagationStopped=tJ,this}return E(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=tZ)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=tZ)},persist:function(){},isPersistent:tZ}),t}var t1,t2,t4,t3,t6,t8={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},t5=t0(t8),t9=E({},t8,{view:0,detail:0}),t7=t0(t9),ne=E({},t9,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:nd,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==t6&&(t6&&"mousemove"===e.type?(t4=e.screenX-t6.screenX,t3=e.screenY-t6.screenY):t3=t4=0,t6=e),t4)},movementY:function(e){return"movementY"in e?e.movementY:t3}}),nt=t0(ne),nn=t0(E({},ne,{dataTransfer:0})),nr=t0(E({},t9,{relatedTarget:0})),na=t0(E({},t8,{animationName:0,elapsedTime:0,pseudoElement:0})),no=t0(E({},t8,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),ni=t0(E({},t8,{data:0})),nl={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ns={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},nu={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function nc(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=nu[e])&&!!t[e]}function nd(){return nc}var nf=t0(E({},t9,{key:function(e){if(e.key){var t=nl[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tQ(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?ns[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:nd,charCode:function(e){return"keypress"===e.type?tQ(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tQ(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}})),np=t0(E({},ne,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),nm=t0(E({},t8,{submitter:0})),ng=t0(E({},t9,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:nd})),nh=t0(E({},t8,{propertyName:0,elapsedTime:0,pseudoElement:0})),ny=t0(E({},ne,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),nb=t0(E({},t8,{newState:0,oldState:0,source:0})),nv=[9,13,27,32],nw=tH&&"CompositionEvent"in window,nS=null;tH&&"documentMode"in document&&(nS=document.documentMode);var nk=tH&&"TextEvent"in window&&!nS,nx=tH&&(!nw||nS&&8<nS&&11>=nS),nE=!1;function nT(e,t){switch(e){case"keyup":return -1!==nv.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function n_(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var nA=!1,nC={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function nN(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!nC[e.type]:"textarea"===t}function nP(e,t,n,r){tM?tz?tz.push(r):tz=[r]:tM=r,0<(t=co(t,"onChange")).length&&(n=new t5("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var nO=null,nL=null;function nI(e){u5(e,0)}function nR(e){if(tb(e7(e)))return e}function nj(e,t){if("change"===e)return t}var nD=!1;if(tH){if(tH){var nF="oninput"in document;if(!nF){var nM=document.createElement("div");nM.setAttribute("oninput","return;"),nF="function"==typeof nM.oninput}r=nF}else r=!1;nD=r&&(!document.documentMode||9<document.documentMode)}function nz(){nO&&(nO.detachEvent("onpropertychange",nB),nL=nO=null)}function nB(e){if("value"===e.propertyName&&nR(nL)){var t=[];nP(t,nL,e,tF(e)),t$(nI,t)}}function nU(e,t,n){"focusin"===e?(nz(),nO=t,nL=n,nO.attachEvent("onpropertychange",nB)):"focusout"===e&&nz()}function n$(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return nR(nL)}function nq(e,t){if("click"===e)return nR(t)}function nH(e,t){if("input"===e||"change"===e)return nR(t)}var nV="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function nX(e,t){if(nV(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!ep.call(t,a)||!nV(e[a],t[a]))return!1}return!0}function nG(e){if(void 0===(e=e||("u">typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function nW(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function nY(e,t){var n,r=nW(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=nW(r)}}function nK(e){e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;for(var t=nG(e.document);t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=nG(e.document)}return t}function nQ(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var nZ=tH&&"documentMode"in document&&11>=document.documentMode,nJ=null,n0=null,n1=null,n2=!1;function n4(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;n2||null==nJ||nJ!==nG(r)||(r="selectionStart"in(r=nJ)&&nQ(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},n1&&nX(n1,r)||(n1=r,0<(r=co(n0,"onSelect")).length&&(t=new t5("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=nJ)))}function n3(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var n6={animationend:n3("Animation","AnimationEnd"),animationiteration:n3("Animation","AnimationIteration"),animationstart:n3("Animation","AnimationStart"),transitionrun:n3("Transition","TransitionRun"),transitionstart:n3("Transition","TransitionStart"),transitioncancel:n3("Transition","TransitionCancel"),transitionend:n3("Transition","TransitionEnd")},n8={},n5={};function n9(e){if(n8[e])return n8[e];if(!n6[e])return e;var t,n=n6[e];for(t in n)if(n.hasOwnProperty(t)&&t in n5)return n8[e]=n[t];return e}tH&&(n5=document.createElement("div").style,"AnimationEvent"in window||(delete n6.animationend.animation,delete n6.animationiteration.animation,delete n6.animationstart.animation),"TransitionEvent"in window||delete n6.transitionend.transition);var n7=n9("animationend"),re=n9("animationiteration"),rt=n9("animationstart"),rn=n9("transitionrun"),rr=n9("transitionstart"),ra=n9("transitioncancel"),ro=n9("transitionend"),ri=new Map,rl="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error fullscreenChange fullscreenError gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function rs(e,t){ri.set(e,t),to(t,[e])}rl.push("scrollEnd");var ru=0;function rc(e,t){return null!=e.name&&"auto"!==e.name?e.name:null!==t.autoName?t.autoName:t.autoName=e="_"+(e=s3.identifierPrefix)+"t_"+(ru++).toString(32)+"_"}function rd(e){if(null==e||"string"==typeof e)return e;var t=null,n=un;if(null!==n)for(var r=0;r<n.length;r++){var a=e[n[r]];if(null!=a){if("none"===a)return"none";t=null==t?a:t+" "+a}}return null==t?e.default:t}function rf(e,t){return e=rd(e),null==(t=rd(t))?"auto"===e?null:e:"auto"===t?null:t}var rp="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},rm=[],rg=0,rh=0;function ry(){for(var e=rg,t=rh=rg=0;t<e;){var n=rm[t];rm[t++]=null;var r=rm[t];rm[t++]=null;var a=rm[t];rm[t++]=null;var o=rm[t];if(rm[t++]=null,null!==r&&null!==a){var i=r.pending;null===i?a.next=a:(a.next=i.next,i.next=a),r.pending=a}0!==o&&rS(n,a,o)}}function rb(e,t,n,r){rm[rg++]=e,rm[rg++]=t,rm[rg++]=n,rm[rg++]=r,rh|=r,e.lanes|=r,null!==(e=e.alternate)&&(e.lanes|=r)}function rv(e,t,n,r){return rb(e,t,n,r),rk(e)}function rw(e,t){return rb(e,null,null,t),rk(e)}function rS(e,t,n){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n);for(var a=!1,o=e.return;null!==o;)o.childLanes|=n,null!==(r=o.alternate)&&(r.childLanes|=n),22===o.tag&&(null===(e=o.stateNode)||1&e._visibility||(a=!0)),e=o,o=o.return;return 3===e.tag?(o=e.stateNode,a&&null!==t&&(a=31-eP(n),null===(r=(e=o.hiddenUpdates)[a])?e[a]=[t]:r.push(t),t.lane=0x20000000|n),o):null}function rk(e){if(50<ur)throw ur=0,ua=null,Error(l(185));for(var t=e.return;null!==t;)t=(e=t).return;return 3===e.tag?e.stateNode:null}var rx={};function rE(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function rT(e,t,n,r){return new rE(e,t,n,r)}function r_(e){return!(!(e=e.prototype)||!e.isReactComponent)}function rA(e,t){var n=e.alternate;return null===n?((n=rT(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=0x47f00000&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function rC(e,t){e.flags&=0x47f00002;var n=e.alternate;return null===n?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,e.dependencies=null===(t=n.dependencies)?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function rN(e,t,n,r,a,o){var i=0;if("function"==typeof(r=e))r_(r)&&(i=1);else if("string"==typeof r)i=!function(e,t,n){if(1===n||null!=t.itemProp)return!1;switch(e){case"meta":case"title":return!0;case"style":if("string"!=typeof t.precedence||"string"!=typeof t.href||""===t.href)break;return!0;case"link":if("string"!=typeof t.rel||"string"!=typeof t.href||""===t.href||t.onLoad||t.onError)break;if("stylesheet"===t.rel)return e=t.disabled,"string"==typeof t.precedence&&null==e;return!0;case"script":if(t.async&&"function"!=typeof t.async&&"symbol"!=typeof t.async&&!t.onLoad&&!t.onError&&t.src&&"string"==typeof t.src)return!0}return!1}(e,n,et.current)?"html"===e||"head"===e||"body"===e?27:5:26;else e:switch(r){case M:return(e=rT(31,n,t,a)).elementType=M,e.lanes=o,e;case C:return rP(n.children,a,o,t);case N:i=8,a|=24;break;case P:return(e=rT(12,n,t,2|a)).elementType=P,e.lanes=o,e;case R:return(e=rT(13,n,t,a)).elementType=R,e.lanes=o,e;case j:return(e=rT(19,n,t,a)).elementType=j,e.lanes=o,e;case z:case U:return(e=rT(30,n,t,e=32|a)).elementType=U,e.lanes=o,e.stateNode={autoName:null,paired:null,clones:null,ref:null},e;default:if("object"==typeof r&&null!==r)switch(r.$$typeof){case L:i=10;break e;case O:i=9;break e;case I:i=11;break e;case D:i=14;break e;case F:i=16,r=null;break e}i=29,n=Error(l(130,null===e?"null":typeof e,"")),r=null}return(t=rT(i,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function rP(e,t,n,r){return(e=rT(7,e,r,t)).lanes=n,e}function rO(e,t,n){return(e=rT(6,e,null,t)).lanes=n,e}function rL(e){var t=rT(18,null,null,0);return t.stateNode=e,t}function rI(e,t,n){return(t=rT(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var rR=new WeakMap;function rj(e,t){if("object"==typeof e&&null!==e){var n=rR.get(e);return void 0!==n?n:(t={value:e,source:t,stack:ef(t)},rR.set(e,t),t)}return{value:e,source:t,stack:ef(t)}}var rD=[],rF=0,rM=null,rz=0,rB=[],rU=0,r$=null,rq=1,rH="";function rV(e,t){rD[rF++]=rz,rD[rF++]=rM,rM=e,rz=t}function rX(e,t,n){rB[rU++]=rq,rB[rU++]=rH,rB[rU++]=r$,r$=e;var r=rq;e=rH;var a=32-eP(r)-1;r&=~(1<<a),n+=1;var o=32-eP(t)+a;if(30<o){var i=a-a%5;o=(r&(1<<i)-1).toString(32),r>>=i,a-=i,rq=1<<32-eP(t)+a|n<<a|r,rH=o+e}else rq=1<<o|n<<a|r,rH=e}function rG(e){null!==e.return&&(rV(e,1),rX(e,1,0))}function rW(e){for(;e===rM;)rM=rD[--rF],rD[rF]=null,rz=rD[--rF],rD[rF]=null;for(;e===r$;)r$=rB[--rU],rB[rU]=null,rH=rB[--rU],rB[rU]=null,rq=rB[--rU],rB[rU]=null}function rY(e,t){rB[rU++]=rq,rB[rU++]=rH,rB[rU++]=r$,rq=t.id,rH=t.overflow,r$=e}var rK=null,rQ=null,rZ=!1,rJ=null,r0=!1,r1=Error(l(519));function r2(e){var t=Error(l(418,1<arguments.length&&void 0!==arguments[1]&&arguments[1]?"text":"HTML",""));throw r9(rj(t,e)),r1}function r4(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[eQ]=e,t[eZ]=r,n){case"dialog":u9("cancel",t),u9("close",t);break;case"iframe":case"object":case"embed":u9("load",t);break;case"video":case"audio":for(n=0;n<u6.length;n++)u9(u6[n],t);break;case"source":u9("error",t);break;case"img":case"image":case"link":u9("error",t),u9("load",t);break;case"details":u9("toggle",t);break;case"input":u9("invalid",t),tk(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":u9("invalid",t);break;case"textarea":u9("invalid",t),t_(t,r.value,r.defaultValue,r.children)}"string"!=typeof(n=r.children)&&"number"!=typeof n&&"bigint"!=typeof n||t.textContent===""+n||!0===r.suppressHydrationWarning||cd(t.textContent,n)?(null!=r.popover&&(u9("beforetoggle",t),u9("toggle",t)),null!=r.onScroll&&u9("scroll",t),null!=r.onScrollEnd&&u9("scrollend",t),null!=r.onClick&&(t.onclick=tj),t=!0):t=!1,t||r2(e,!0)}function r3(e){for(rK=e.return;rK;)switch(rK.tag){case 5:case 31:case 13:r0=!1;return;case 27:case 3:r0=!0;return;default:rK=rK.return}}function r6(e){if(e!==rK)return!1;if(!rZ)return r3(e),rZ=!0,!1;var t,n=e.tag;if((t=3!==n&&27!==n)&&((t=5===n)&&(t="form"===(t=e.type)||"button"===t||cx(e.type,e.memoizedProps)),t=!t),t&&rQ&&r2(e),r3(e),13===n){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(l(317));rQ=dn(e)}else if(31===n){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(l(317));rQ=dn(e)}else 27===n?(n=rQ,cO(e.type)?(e=dt,dt=null,rQ=e):rQ=n):rQ=rK?de(e.stateNode.nextSibling):null;return!0}function r8(){rQ=rK=null,rZ=!1}function r5(){var e=rJ;return null!==e&&(null===sK?sK=e:sK.push.apply(sK,e),rJ=null),e}function r9(e){null===rJ?rJ=[e]:rJ.push(e)}var r7=Z(null),ae=null,at=null;function an(e,t,n){ee(r7,t._currentValue),t._currentValue=n}function ar(e){e._currentValue=r7.current,J(r7)}function aa(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function ao(e,t,n,r){var a=e.child;for(null!==a&&(a.return=e);null!==a;){var o=a.dependencies;if(null!==o){var i=a.child;o=o.firstContext;e:for(;null!==o;){var s=o;o=a;for(var u=0;u<t.length;u++)if(s.context===t[u]){o.lanes|=n,null!==(s=o.alternate)&&(s.lanes|=n),aa(o.return,n,e),r||(i=null);break e}o=s.next}}else if(18===a.tag){if(null===(i=a.return))throw Error(l(341));i.lanes|=n,null!==(o=i.alternate)&&(o.lanes|=n),aa(i,n,e),i=null}else 13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated?(a.lanes|=n,null!==(i=a.alternate)&&(i.lanes|=n),aa(a.return,n,e),i=null!==(i=a.child)?i.sibling:null):i=a.child;if(null!==i)i.return=a;else for(i=a;null!==i;){if(i===e){i=null;break}if(null!==(a=i.sibling)){a.return=i.return,i=a;break}i=i.return}a=i}}function ai(e,t,n,r){e=null;for(var a=t,o=!1;null!==a;){if(!o){if(0!=(524288&a.flags))o=!0;else if(0!=(262144&a.flags))break}if(10===a.tag){var i=a.alternate;if(null===i)throw Error(l(387));if(null!==(i=i.memoizedProps)){var s=a.type;nV(a.pendingProps.value,i.value)||(null!==e?e.push(s):e=[s])}}else if(a===ea.current){if(null===(i=a.alternate))throw Error(l(387));i.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(null!==e?e.push(dM):e=[dM])}a=a.return}return null!==e&&ao(t,e,n,r),t.flags|=262144,null!==e}function al(e){for(e=e.firstContext;null!==e;){if(!nV(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function as(e){ae=e,at=null,null!==(e=e.dependencies)&&(e.firstContext=null)}function au(e){return ad(ae,e)}function ac(e,t){return null===ae&&as(e),ad(e,t)}function ad(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},null===at){if(null===e)throw Error(l(308));at=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else at=at.next=t;return n}var af="u">typeof AbortController?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ap=a.unstable_scheduleCallback,am=a.unstable_NormalPriority,ag={$$typeof:L,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ah(){return{controller:new af,data:new Map,refCount:0}}function ay(e){e.refCount--,0===e.refCount&&ap(am,function(){e.controller.abort()})}function ab(e,t){if(0!=(4194048&e.pendingLanes)){var n=e.transitionTypes;for(null===n&&(n=e.transitionTypes=[]),e=0;e<t.length;e++){var r=t[e];-1===n.indexOf(r)&&n.push(r)}}}var av=null,aw=null,aS=0,ak=0,ax=null;function aE(){if(0==--aS&&(av=null,null!==aw)){null!==ax&&(ax.status="fulfilled");var e=aw;aw=null,ak=0,ax=null;for(var t=0;t<e.length;t++)(0,e[t])()}}var aT=G.S;G.S=function(e,t){if(sJ=eb(),"object"==typeof t&&null!==t&&"function"==typeof t.then&&function(e){if(null===aw){var t=aw=[];aS=0,ak=u1(),ax={status:"pending",value:void 0,then:function(e){t.push(e)}}}aS++,e.then(aE,aE)}(t),null!==av)for(var n=u$;null!==n;)ab(n,av),n=n.next;if(null!==(n=e.types)){for(var r=u$;null!==r;)ab(r,n),r=r.next;if(0!==ak){null===(r=av)&&(r=av=[]);for(var a=0;a<n.length;a++){var o=n[a];-1===r.indexOf(o)&&r.push(o)}}}null!==aT&&aT(e,t)};var a_=Z(null);function aA(){var e=a_.current;return null!==e?e:sR.pooledCache}function aC(e,t){null===t?ee(a_,a_.current):ee(a_,t.pool)}function aN(){var e=aA();return null===e?null:{parent:ag._currentValue,pool:e}}var aP=Error(l(460)),aO=Error(l(474)),aL=Error(l(542)),aI={then:function(){}};function aR(e){return"fulfilled"===(e=e.status)||"rejected"===e}function aj(e,t,n){switch(void 0===(n=e[n])?e.push(t):n!==t&&(t.then(tj,tj),t=n),t.status){case"fulfilled":return t.value;case"rejected":if(az(e=t.reason),void 0===e&&!("reason"in t))throw Error(l(600));throw e;default:if("string"==typeof t.status)t.then(tj,tj);else{if(null!==(e=sR)&&100<e.shellSuspendCounter)throw Error(l(482));(e=t).status="pending",e.then(function(e){if("pending"===t.status){var n=t;n.status="fulfilled",n.value=e}},function(e){if("pending"===t.status){var n=t;n.status="rejected",n.reason=e}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw az(e=t.reason),e}throw aF=t,aP}}function aD(e){try{return(0,e._init)(e._payload)}catch(e){if(null!==e&&"object"==typeof e&&"function"==typeof e.then)throw aF=e,aP;throw e}}var aF=null;function aM(){if(null===aF)throw Error(l(459));var e=aF;return aF=null,e}function az(e){if(e===aP||e===aL)throw Error(l(483))}var aB=null,aU=0;function a$(e){var t=aU;return aU+=1,null===aB&&(aB=[]),aj(aB,e,t)}function aq(e,t){e.ref=void 0!==(t=t.props.ref)?t:null}function aH(e,t){if(t.$$typeof===T)throw Error(l(525));throw Error(l(31,"[object Object]"===(e=Object.prototype.toString.call(t))?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function aV(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;null!==e;)null===e.key?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return(e=rA(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return(t.index=r,e)?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=0x8000002,n):(t.flags|=1048576,n)}function i(t){return e&&null===t.alternate&&(t.flags|=0x8000002),t}function s(e,t,n,r){return null===t||6!==t.tag?(t=rO(n,e.mode,r)).return=e:(t=a(t,n)).return=e,t}function u(e,t,n,r){var o=n.type;return o===C?(aq(e=d(e,t,n.props.children,r,n.key),n),e):(null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===F&&aD(o)===t.type)?aq(t=a(t,n.props),n):aq(t=rN(n.type,n.key,n.props,null,e.mode,r),n),t.return=e,t)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=rI(n,e.mode,r)).return=e:(t=a(t,n.children||[])).return=e,t}function d(e,t,n,r,o){return null===t||7!==t.tag?(t=rP(n,e.mode,r,o)).return=e:(t=a(t,n)).return=e,t}function f(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t||"bigint"==typeof t)return(t=rO(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case _:return aq(n=rN(t.type,t.key,t.props,null,e.mode,n),t),n.return=e,n;case A:return(t=rI(t,e.mode,n)).return=e,t;case F:return f(e,t=aD(t),n)}if(X(t)||H(t))return(t=rP(t,e.mode,n,null)).return=e,t;if("function"==typeof t.then)return f(e,a$(t),n);if(t.$$typeof===L)return f(e,ac(e,t),n);aH(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n||"bigint"==typeof n)return null!==a?null:s(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case _:return n.key===a?u(e,t,n,r):null;case A:return n.key===a?c(e,t,n,r):null;case F:return p(e,t,n=aD(n),r)}if(X(n)||H(n))return null!==a?null:d(e,t,n,r,null);if("function"==typeof n.then)return p(e,t,a$(n),r);if(n.$$typeof===L)return p(e,t,ac(e,n),r);aH(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r||"bigint"==typeof r)return s(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case _:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case A:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case F:return m(e,t,n,r=aD(r),a)}if(X(r)||H(r))return d(t,e=e.get(n)||null,r,a,null);if("function"==typeof r.then)return m(e,t,n,a$(r),a);if(r.$$typeof===L)return m(e,t,n,ac(t,r),a);aH(t,r)}return null}return function(s,u,c,d){try{aU=0;var g=function s(u,c,d,g){if("object"==typeof d&&null!==d&&d.type===C&&null===d.key&&void 0===d.props.ref&&(d=d.props.children),"object"==typeof d&&null!==d){switch(d.$$typeof){case _:e:{for(var h=d.key;null!==c;){if(c.key===h){if((h=d.type)===C){if(7===c.tag){n(u,c.sibling),aq(g=a(c,d.props.children),d),g.return=u,u=g;break e}}else if(c.elementType===h||"object"==typeof h&&null!==h&&h.$$typeof===F&&aD(h)===c.type){n(u,c.sibling),aq(g=a(c,d.props),d),g.return=u,u=g;break e}n(u,c);break}t(u,c),c=c.sibling}d.type===C?aq(g=rP(d.props.children,u.mode,g,d.key),d):aq(g=rN(d.type,d.key,d.props,null,u.mode,g),d),g.return=u,u=g}return i(u);case A:e:{for(h=d.key;null!==c;){if(c.key===h)if(4===c.tag&&c.stateNode.containerInfo===d.containerInfo&&c.stateNode.implementation===d.implementation){n(u,c.sibling),(g=a(c,d.children||[])).return=u,u=g;break e}else{n(u,c);break}t(u,c),c=c.sibling}(g=rI(d,u.mode,g)).return=u,u=g}return i(u);case F:return s(u,c,d=aD(d),g)}if(X(d))return function(a,i,l,s){for(var u=null,c=null,d=i,g=i=0,h=null;null!==d&&g<l.length;g++){d.index>g?(h=d,d=null):h=d.sibling;var y=p(a,d,l[g],s);if(null===y){null===d&&(d=h);break}e&&d&&null===y.alternate&&t(a,d),i=o(y,i,g),null===c?u=y:c.sibling=y,c=y,d=h}if(g===l.length)return n(a,d),rZ&&rV(a,g),u;if(null===d){for(;g<l.length;g++)null!==(d=f(a,l[g],s))&&(i=o(d,i,g),null===c?u=d:c.sibling=d,c=d);return rZ&&rV(a,g),u}for(d=r(d);g<l.length;g++)null!==(h=m(d,a,g,l[g],s))&&(e&&null!==(y=h.alternate)&&d.delete(null===y.key?g:y.key),i=o(h,i,g),null===c?u=h:c.sibling=h,c=h);return e&&d.forEach(function(e){return t(a,e)}),rZ&&rV(a,g),u}(u,c,d,g);if(H(d)){if("function"!=typeof(h=H(d)))throw Error(l(150));return function(a,i,s,u){if(null==s)throw Error(l(151));for(var c=null,d=null,g=i,h=i=0,y=null,b=s.next();null!==g&&!b.done;h++,b=s.next()){g.index>h?(y=g,g=null):y=g.sibling;var v=p(a,g,b.value,u);if(null===v){null===g&&(g=y);break}e&&g&&null===v.alternate&&t(a,g),i=o(v,i,h),null===d?c=v:d.sibling=v,d=v,g=y}if(b.done)return n(a,g),rZ&&rV(a,h),c;if(null===g){for(;!b.done;h++,b=s.next())null!==(b=f(a,b.value,u))&&(i=o(b,i,h),null===d?c=b:d.sibling=b,d=b);return rZ&&rV(a,h),c}for(g=r(g);!b.done;h++,b=s.next())null!==(b=m(g,a,h,b.value,u))&&(e&&null!==(y=b.alternate)&&g.delete(null===y.key?h:y.key),i=o(b,i,h),null===d?c=b:d.sibling=b,d=b);return e&&g.forEach(function(e){return t(a,e)}),rZ&&rV(a,h),c}(u,c,d=h.call(d),g)}if("function"==typeof d.then)return s(u,c,a$(d),g);if(d.$$typeof===L)return s(u,c,ac(u,d),g);aH(u,d)}return"string"==typeof d&&""!==d||"number"==typeof d||"bigint"==typeof d?(d=""+d,null!==c&&6===c.tag?(n(u,c.sibling),(g=a(c,d)).return=u):(n(u,c),(g=rO(d,u.mode,g)).return=u),i(u=g)):n(u,c)}(s,u,c,d);return aB=null,g}catch(e){if(e===aP||e===aL)throw e;var h=rT(29,e,null,s.mode);return h.lanes=d,h.return=s,h}finally{}}}var aX=aV(!0),aG=aV(!1),aW=!1;function aY(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function aK(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function aQ(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function aZ(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&sI)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,t=rk(e),rS(e,null,n),t}return rb(e,r,t,n),rk(e)}function aJ(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194048&n))){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,eH(e,n)}}function a0(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n)null===o?a=o=t:o=o.next=t}else a=o=t;n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var a1=!1;function a2(){if(a1){var e=ax;if(null!==e)throw e}}function a4(e,t,n,r){a1=!1;var a=e.updateQueue;aW=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var s=l,u=s.next;s.next=null,null===i?o=u:i.next=u,i=s;var c=e.alternate;null!==c&&(l=(c=c.updateQueue).lastBaseUpdate)!==i&&(null===l?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s)}if(null!==o){var d=a.baseState;for(i=0,c=u=s=null,l=o;;){var f=-0x20000001&l.lane,p=f!==l.lane;if(p?(sD&f)===f:(r&f)===f){0!==f&&f===ak&&(a1=!0),null!==c&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var m=e,g=l;switch(f=t,g.tag){case 1:if("function"==typeof(m=g.payload)){d=m.call(n,d,f);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(f="function"==typeof(m=g.payload)?m.call(n,d,f):m))break e;d=E({},d,f);break e;case 2:aW=!0}}null!==(f=l.callback)&&(e.flags|=64,p&&(e.flags|=8192),null===(p=a.callbacks)?a.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===c?(u=c=p,s=d):c=c.next=p,i|=f;if(null===(l=l.next))if(null===(l=a.shared.pending))break;else l=(p=l).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}null===c&&(s=d),a.baseState=s,a.firstBaseUpdate=u,a.lastBaseUpdate=c,null===o&&(a.shared.lanes=0),sH|=i,e.lanes=i,e.memoizedState=d}}function a3(e,t){if("function"!=typeof e)throw Error(l(191,e));e.call(t)}function a6(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;e<n.length;e++)a3(n[e],t)}var a8=Z(null),a5=Z(0);function a9(e,t){ee(a5,e=s$),ee(a8,t),s$=e|t.baseLanes}function a7(){ee(a5,s$),ee(a8,a8.current)}function oe(){s$=a5.current,J(a8),J(a5)}var ot=Z(null),on=null;function or(e){var t=e.alternate;ee(os,1&os.current),ee(ot,e),null===on&&(null===t||null!==a8.current?on=e:null!==t.memoizedState&&(on=e))}function oa(e){ee(os,os.current),ee(ot,e),null===on&&(on=e)}function oo(e){22===e.tag?(ee(os,os.current),ee(ot,e),null===on&&(on=e)):oi()}function oi(){ee(os,os.current),ee(ot,ot.current)}function ol(e){J(ot),on===e&&(on=null),J(os)}var os=Z(0);function ou(e,t){ee(ot,ot.current),ee(os,t)}function oc(e){J(os),J(ot),on===e&&(on=null)}function od(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||c9(n)||c7(n)))return t}else if(19===t.tag&&"independent"!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var of=0,op=null,om=null,og=null,oh=!1,oy=!1,ob=!1,ov=0,ow=0,oS=null,ok=0;function ox(){throw Error(l(321))}function oE(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!nV(e[n],t[n]))return!1;return!0}function oT(e,t,n,r,a,o){return of=o,op=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,G.H=null===e||null===e.memoizedState?iI:iR,ob=!1,o=n(r,a),ob=!1,oy&&(o=oA(t,n,r,a)),o_(e),o}function o_(e){G.H=iL;var t=null!==om&&null!==om.next;if(of=0,og=om=op=null,oh=!1,ow=0,oS=null,t)throw Error(l(300));null===e||iK||null!==(e=e.dependencies)&&al(e)&&(iK=!0)}function oA(e,t,n,r){op=e;var a=0;do{if(oy&&(oS=null),ow=0,oy=!1,25<=a)throw Error(l(301));if(a+=1,og=om=null,null!=e.updateQueue){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,null!=o.memoCache&&(o.memoCache.index=0)}G.H=ij,o=t(n,r)}while(oy)return o}function oC(){var e=G.H,t=e.useState()[0];return t="function"==typeof t.then?oj(t):t,e=e.useState()[0],(null!==om?om.memoizedState:null)!==e&&(op.flags|=1024),t}function oN(){var e=0!==ov;return ov=0,e}function oP(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function oO(e){if(oh){for(e=e.memoizedState;null!==e;){var t=e.queue;null!==t&&(t.pending=null),e=e.next}oh=!1}of=0,og=om=op=null,oy=!1,ow=ov=0,oS=null}function oL(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===og?op.memoizedState=og=e:og=og.next=e,og}function oI(){if(null===om){var e=op.alternate;e=null!==e?e.memoizedState:null}else e=om.next;var t=null===og?op.memoizedState:og.next;if(null!==t)og=t,om=e;else{if(null===e){if(null===op.alternate)throw Error(l(467));throw Error(l(310))}e={memoizedState:(om=e).memoizedState,baseState:om.baseState,baseQueue:om.baseQueue,queue:om.queue,next:null},null===og?op.memoizedState=og=e:og=og.next=e}return og}function oR(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function oj(e){var t=ow;return ow+=1,null===oS&&(oS=[]),e=aj(oS,e,t),t=op,null===(null===og?t.memoizedState:og.next)&&(G.H=null===(t=t.alternate)||null===t.memoizedState?iI:iR),e}function oD(e){if(null!==e&&"object"==typeof e){if("function"==typeof e.then)return oj(e);if(e.$$typeof===$)return;if(e.$$typeof===L)return au(e)}throw Error(l(438,String(e)))}function oF(e){var t=null,n=op.updateQueue;if(null!==n&&(t=n.memoCache),null==t){var r=op.alternate;null!==r&&null!==(r=r.updateQueue)&&null!=(r=r.memoCache)&&(t={data:r.data.map(function(e){return e.slice()}),index:0})}if(null==t&&(t={data:[],index:0}),null===n&&(n=oR(),op.updateQueue=n),n.memoCache=t,void 0===(n=t.data[t.index]))for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=B;return t.index++,n}function oM(e,t){return"function"==typeof t?t(e):t}function oz(e){return oB(oI(),om,e)}function oB(e,t,n){var r=e.queue;if(null===r)throw Error(l(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(null!==o){if(null!==a){var i=a.next;a.next=o.next,o.next=i}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,null===a)e.memoizedState=o;else{t=a.next;var s=i=null,u=null,c=t,d=!1;do{var f=-0x20000001&c.lane;if(f!==c.lane?(sD&f)===f:(of&f)===f){var p=c.revertLane;if(0===p)null!==u&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===ak&&(d=!0);else if((of&p)===p){c=c.next,p===ak&&(d=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},null===u?(s=u=f,i=o):u=u.next=f,op.lanes|=p,sH|=p;f=c.action,ob&&n(o,f),o=c.hasEagerState?c.eagerState:n(o,f)}else p={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},null===u?(s=u=p,i=o):u=u.next=p,op.lanes|=f,sH|=f;c=c.next}while(null!==c&&c!==t)if(null===u?i=o:u.next=s,!nV(o,e.memoizedState)&&(iK=!0,d&&null!==(n=ax)))throw n;e.memoizedState=o,e.baseState=i,e.baseQueue=u,r.lastRenderedState=o}return null===a&&(r.lanes=0),[e.memoizedState,r.dispatch]}function oU(e){var t=oI(),n=t.queue;if(null===n)throw Error(l(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var i=a=a.next;do o=e(o,i.action),i=i.next;while(i!==a)nV(o,t.memoizedState)||(iK=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function o$(e,t,n){var r=op,a=oI(),o=rZ;if(o){if(void 0===n)throw Error(l(407));n=n()}else n=t();var i=!nV((om||a).memoizedState,n);if(i&&(a.memoizedState=n,iK=!0),a=a.queue,ia(oV.bind(null,r,a,e),[e]),o9((e=a.getSnapshot!==t||i||null!==og&&0!=(1&og.memoizedState.tag))?9:8,{destroy:void 0},oH.bind(null,r,a,n,t),null),e){if(r.flags|=2048,null===sR)throw Error(l(349));o||0!=(127&of)||oq(r,t,n)}return n}function oq(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=op.updateQueue)?(t=oR(),op.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function oH(e,t,n,r){t.value=n,t.getSnapshot=r,oX(t)&&oG(e)}function oV(e,t,n){return n(function(){oX(t)&&oG(e)})}function oX(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!nV(e,n)}catch(e){return!0}}function oG(e){var t=rw(e,2);null!==t&&us(t,e,2)}function oW(e){var t=oL();if("function"==typeof e){var n=e;if(e=n(),ob){eN(!0);try{n()}finally{eN(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:oM,lastRenderedState:e},t}function oY(e,t,n,r){return e.baseState=n,oB(e,om,"function"==typeof r?r:oM)}function oK(e,t,n,r,a){if(iN(e))throw Error(l(485));if(null!==(e=t.action)){var o={payload:a,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};null!==G.T?n(!0):o.isTransition=!1,r(o),null===(n=t.pending)?(o.next=t.pending=o,oQ(t,o)):(o.next=n.next,t.pending=n.next=o)}}function oQ(e,t){var n=t.action,r=t.payload,a=e.state;if(t.isTransition){var o=G.T,i={};i.types=null!==o?o.types:null,G.T=i;try{var l=n(a,r),s=G.S;null!==s&&s(i,l),oZ(e,t,l)}catch(n){o0(e,t,n)}finally{null!==o&&null!==i.types&&(o.types=i.types),G.T=o}}else try{o=n(a,r),oZ(e,t,o)}catch(n){o0(e,t,n)}}function oZ(e,t,n){null!==n&&"object"==typeof n&&"function"==typeof n.then?n.then(function(n){oJ(e,t,n)},function(n){return o0(e,t,n)}):oJ(e,t,n)}function oJ(e,t,n){t.status="fulfilled",t.value=n,o1(t),e.state=n,null!==(t=e.pending)&&((n=t.next)===t?e.pending=null:(n=n.next,t.next=n,oQ(e,n)))}function o0(e,t,n){var r=e.pending;if(e.pending=null,null!==r){r=r.next;do t.status="rejected",t.reason=n,o1(t),t=t.next;while(t!==r)}e.action=null}function o1(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function o2(e,t){return t}function o4(e,t){if(rZ){var n=sR.formState;if(null!==n){e:{var r=op;if(rZ){if(rQ){t:{for(var a=rQ,o=r0;8!==a.nodeType;)if(!o||null===(a=de(a.nextSibling))){a=null;break t}a="F!"===(o=a.data)||"F"===o?a:null}if(a){rQ=de(a.nextSibling),r="F!"===a.data;break e}}r2(r)}r=!1}r&&(t=n[0])}}return(n=oL()).memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o2,lastRenderedState:t},n.queue=r,n=i_.bind(null,op,r),r.dispatch=n,r=oW(!1),o=iC.bind(null,op,!1,r.queue),r=oL(),a={state:t,dispatch:null,action:e,pending:null},r.queue=a,n=oK.bind(null,op,a,o,n),a.dispatch=n,r.memoizedState=e,[t,n,!1]}function o3(e){return o6(oI(),om,e)}function o6(e,t,n){if(t=oB(e,t,o2)[0],e=oz(oM)[0],"object"==typeof t&&null!==t&&"function"==typeof t.then)try{var r=oj(t)}catch(e){if(e===aP)throw aL;throw e}else r=t;var a=(t=oI()).queue,o=a.dispatch;return n!==t.memoizedState&&(op.flags|=2048,o9(9,{destroy:void 0},o8.bind(null,a,n),null)),[r,o,e]}function o8(e,t){e.action=t}function o5(e){var t=oI(),n=om;if(null!==n)return o6(t,n,e);oI(),t=t.memoizedState;var r=(n=oI()).queue.dispatch;return n.memoizedState=e,[t,r,!1]}function o9(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},null===(t=op.updateQueue)&&(t=oR(),op.updateQueue=t),null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function o7(){return oI().memoizedState}function ie(e,t,n,r){var a=oL();op.flags|=e,a.memoizedState=o9(1|t,{destroy:void 0},n,void 0===r?null:r)}function it(e,t,n,r){var a=oI();r=void 0===r?null:r;var o=a.memoizedState.inst;null!==om&&null!==r&&oE(r,om.memoizedState.deps)?a.memoizedState=o9(t,o,n,r):(op.flags|=e,a.memoizedState=o9(1|t,o,n,r))}function ir(e,t){ie(8390656,8,e,t)}function ia(e,t){it(2048,8,e,t)}function io(e){var t=oI().memoizedState,n={ref:t,nextImpl:e};op.flags|=4;var r=op.updateQueue;if(null===r)r=oR(),op.updateQueue=r,r.events=[n];else{var a=r.events;null===a?r.events=[n]:a.push(n)}return function(){if(0!=(2&sI))throw Error(l(440));return t.impl.apply(void 0,arguments)}}function ii(e,t){return it(4,2,e,t)}function il(e,t){return it(4,4,e,t)}function is(e,t){if("function"==typeof t){var n=t(e=e());return function(){"function"==typeof n?n():t(null)}}if(null!=t)return t.current=e=e(),function(){t.current=null}}function iu(e,t,n){n=null!=n?n.concat([e]):null,it(4,4,is.bind(null,t,e),n)}function ic(){}function id(e,t){var n=oI();t=void 0===t?null:t;var r=n.memoizedState;return null!==t&&oE(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ip(e,t){var n=oI();t=void 0===t?null:t;var r=n.memoizedState;if(null!==t&&oE(t,r[1]))return r[0];if(r=e(),ob){eN(!0);try{e()}finally{eN(!1)}}return n.memoizedState=[r,t],r}function im(e,t,n){return void 0===n||0!=(0x40000000&of)&&0==(261930&sD)?e.memoizedState=t:(e.memoizedState=n,e=ui(),op.lanes|=e,sH|=e,n)}function ig(e,t,n,r){return nV(n,t)?n:null!==a8.current?(nV(e=im(e,n,r),t)||(iK=!0),e):0==(106&of)||0!=(0x40000000&of)&&0==(261930&sD)?(iK=!0,e.memoizedState=n):(e=ui(),op.lanes|=e,sH|=e,t)}function ih(e,t,n,r,a){var o=W.p;W.p=0!==o&&8>o?o:8;var i=G.T,l={};l.types=null!==i?i.types:null,G.T=l,iC(e,!1,t,n);try{var s=a(),u=G.S;if(null!==u&&u(l,s),null!==s&&"object"==typeof s&&"function"==typeof s.then){var c,d,f=(c=[],d={status:"pending",value:null,reason:null,then:function(e){c.push(e)}},s.then(function(){d.status="fulfilled",d.value=r;for(var e=0;e<c.length;e++)(0,c[e])(r)},function(e){for(d.status="rejected",d.reason=e,e=0;e<c.length;e++)(0,c[e])(void 0)}),d);iA(e,t,f,uo(e))}else iA(e,t,r,uo(e))}catch(n){iA(e,t,{then:function(){},status:"rejected",reason:n},uo())}finally{W.p=o,null!==i&&null!==l.types&&(i.types=l.types),G.T=i}}function iy(){}function ib(e,t,n,r){if(5!==e.tag)throw Error(l(476));var a=iv(e).queue;ih(e,a,t,Y,null===n?iy:function(){return iw(e),n(r)})}function iv(e){var t=e.memoizedState;if(null!==t)return t;var n={};return(t={memoizedState:Y,baseState:Y,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:oM,lastRenderedState:Y},next:null}).next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:oM,lastRenderedState:n},next:null},e.memoizedState=t,null!==(e=e.alternate)&&(e.memoizedState=t),t}function iw(e){var t=iv(e);null===t.next&&(t=e.alternate.memoizedState),iA(e,t.next.queue,{},uo())}function iS(){return au(dM)}function ik(){return oI().memoizedState}function ix(){return oI().memoizedState}function iE(e){for(var t=e.return;null!==t;){switch(t.tag){case 24:case 3:var n=uo(),r=aZ(t,e=aQ(n),n);null!==r&&(us(r,t,n),aJ(r,t,n)),t={cache:ah()},e.payload=t;return}t=t.return}}function iT(e,t,n){var r=uo();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},iN(e)?iP(t,n):null!==(n=rv(e,t,n,r))&&(us(n,e,r),iO(n,t,r))}function i_(e,t,n){iA(e,t,n,uo())}function iA(e,t,n,r){var a={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(iN(e))iP(t,a);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var i=t.lastRenderedState,l=o(i,n);if(a.hasEagerState=!0,a.eagerState=l,nV(l,i))return rb(e,t,a,0),null===sR&&ry(),!1}catch(e){}finally{}if(null!==(n=rv(e,t,a,r)))return us(n,e,r),iO(n,t,r),!0}return!1}function iC(e,t,n,r){if(r={lane:2,revertLane:u1(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},iN(e)){if(t)throw Error(l(479))}else null!==(t=rv(e,n,r,2))&&us(t,e,2)}function iN(e){var t=e.alternate;return e===op||null!==t&&t===op}function iP(e,t){oy=oh=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function iO(e,t,n){if(0!=(4194048&n)){var r=t.lanes;r&=e.pendingLanes,t.lanes=n|=r,eH(e,n)}}var iL={readContext:au,use:oD,useCallback:ox,useContext:ox,useEffect:ox,useImperativeHandle:ox,useLayoutEffect:ox,useInsertionEffect:ox,useMemo:ox,useReducer:ox,useRef:ox,useState:ox,useDebugValue:ox,useDeferredValue:ox,useTransition:ox,useSyncExternalStore:ox,useId:ox,useHostTransitionStatus:ox,useFormState:ox,useActionState:ox,useOptimistic:ox,useMemoCache:ox,useCacheRefresh:ox,useEffectEvent:ox},iI={readContext:au,use:oD,useCallback:function(e,t){return oL().memoizedState=[e,void 0===t?null:t],e},useContext:au,useEffect:ir,useImperativeHandle:function(e,t,n){n=null!=n?n.concat([e]):null,ie(4194308,4,is.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ie(4194308,4,e,t)},useInsertionEffect:function(e,t){ie(4,2,e,t)},useMemo:function(e,t){var n=oL();t=void 0===t?null:t;var r=e();if(ob){eN(!0);try{e()}finally{eN(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=oL();if(void 0!==n){var a=n(t);if(ob){eN(!0);try{n(t)}finally{eN(!1)}}}else a=t;return r.memoizedState=r.baseState=a,r.queue=e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},e=e.dispatch=iT.bind(null,op,e),[r.memoizedState,e]},useRef:function(e){return oL().memoizedState={current:e}},useState:function(e){var t=(e=oW(e)).queue,n=i_.bind(null,op,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ic,useDeferredValue:function(e,t){return im(oL(),e,t)},useTransition:function(){var e=oW(!1);return e=ih.bind(null,op,e.queue,!0,!1),oL().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=op,a=oL();if(rZ){if(void 0===n)throw Error(l(407));n=n()}else{if(n=t(),null===sR)throw Error(l(349));0!=(127&sD)||oq(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ir(oV.bind(null,r,o,e),[e]),r.flags|=2048,o9(9,{destroy:void 0},oH.bind(null,r,o,n,t),null),n},useId:function(){var e=oL(),t=sR.identifierPrefix;if(rZ){var n=rH,r=rq;t="_"+t+"R_"+(n=(r&~(1<<32-eP(r)-1)).toString(32)+n),0<(n=ov++)&&(t+="H"+n.toString(32)),t+="_"}else t="_"+t+"r_"+(n=ok++).toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:iS,useFormState:o4,useActionState:o4,useOptimistic:function(e){var t=oL();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=iC.bind(null,op,!0,n),n.dispatch=t,[e,t]},useMemoCache:oF,useCacheRefresh:function(){return oL().memoizedState=iE.bind(null,op)},useEffectEvent:function(e){var t=oL(),n={impl:e};return t.memoizedState=n,function(){if(0!=(2&sI))throw Error(l(440));return n.impl.apply(void 0,arguments)}}},iR={readContext:au,use:oD,useCallback:id,useContext:au,useEffect:ia,useImperativeHandle:iu,useInsertionEffect:ii,useLayoutEffect:il,useMemo:ip,useReducer:oz,useRef:o7,useState:function(){return oz(oM)},useDebugValue:ic,useDeferredValue:function(e,t){return ig(oI(),om.memoizedState,e,t)},useTransition:function(){var e=oz(oM)[0],t=oI().memoizedState;return["boolean"==typeof e?e:oj(e),t]},useSyncExternalStore:o$,useId:ik,useHostTransitionStatus:iS,useFormState:o3,useActionState:o3,useOptimistic:function(e,t){return oY(oI(),om,e,t)},useMemoCache:oF,useCacheRefresh:ix,useEffectEvent:io},ij={readContext:au,use:oD,useCallback:id,useContext:au,useEffect:ia,useImperativeHandle:iu,useInsertionEffect:ii,useLayoutEffect:il,useMemo:ip,useReducer:oU,useRef:o7,useState:function(){return oU(oM)},useDebugValue:ic,useDeferredValue:function(e,t){var n=oI();return null===om?im(n,e,t):ig(n,om.memoizedState,e,t)},useTransition:function(){var e=oU(oM)[0],t=oI().memoizedState;return["boolean"==typeof e?e:oj(e),t]},useSyncExternalStore:o$,useId:ik,useHostTransitionStatus:iS,useFormState:o5,useActionState:o5,useOptimistic:function(e,t){var n=oI();return null!==om?oY(n,om,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:oF,useCacheRefresh:ix,useEffectEvent:io};function iD(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:E({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var iF={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=uo(),a=aQ(r);a.payload=t,null!=n&&(a.callback=n),null!==(t=aZ(e,a,r))&&(us(t,e,r),aJ(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=uo(),a=aQ(r);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=aZ(e,a,r))&&(us(t,e,r),aJ(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=uo(),r=aQ(n);r.tag=2,null!=t&&(r.callback=t),null!==(t=aZ(e,r,n))&&(us(t,e,n),aJ(t,e,n))}};function iM(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||!nX(n,r)||!nX(a,o)}function iz(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&iF.enqueueReplaceState(t,t.state,null)}function iB(e,t){var n=t;if("ref"in t)for(var r in n={},t)"ref"!==r&&(n[r]=t[r]);if(e=e.defaultProps)for(var a in n===t&&(n=E({},n)),e)void 0===n[a]&&(n[a]=e[a]);return n}function iU(e){rp(e)}function i$(e){console.error(e)}function iq(e){rp(e)}function iH(e,t){try{(0,e.onUncaughtError)(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function iV(e,t,n){try{(0,e.onCaughtError)(n.value,{componentStack:n.stack,errorBoundary:1===t.tag?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function iX(e,t,n){return(n=aQ(n)).tag=3,n.payload={element:null},n.callback=function(){iH(e,t)},n}function iG(e){return(e=aQ(e)).tag=3,e}function iW(e,t,n,r){var a=n.type.getDerivedStateFromError;if("function"==typeof a){var o=r.value;e.payload=function(){return a(o)},e.callback=function(){iV(t,n,r)}}var i=n.stateNode;null!==i&&"function"==typeof i.componentDidCatch&&(e.callback=function(){iV(t,n,r),"function"!=typeof a&&(null===s2?s2=new Set([this]):s2.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:null!==e?e:""})})}var iY=Error(l(461)),iK=!1;function iQ(e,t,n,r){t.child=null===e?aG(t,null,n,r):aX(t,e.child,n,r)}function iZ(e,t,n,r,a){n=n.render;var o=t.ref;if("ref"in r){var i={};for(var l in r)"ref"!==l&&(i[l]=r[l])}else i=r;return(as(t),r=oT(e,t,n,i,o,a),l=oN(),null===e||iK)?(rZ&&l&&rG(t),t.flags|=1,iQ(e,t,r,a),t.child):(oP(e,t,a),lm(e,t,a))}function iJ(e,t,n,r,a){if(null===e){var o=n.type;return"function"!=typeof o||r_(o)||void 0!==o.defaultProps||null!==n.compare?((e=rN(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,i0(e,t,o,r,a))}if(o=e.child,!lg(e,a)){var i=o.memoizedProps;if((n=null!==(n=n.compare)?n:nX)(i,r)&&e.ref===t.ref)return lm(e,t,a)}return t.flags|=1,(e=rA(o,r)).ref=t.ref,e.return=t,t.child=e}function i0(e,t,n,r,a){if(null!==e){var o=e.memoizedProps;if(nX(o,r)&&e.ref===t.ref)if(iK=!1,t.pendingProps=r=o,!lg(e,a))return t.lanes=e.lanes,lm(e,t,a);else 0!=(131072&e.flags)&&(iK=!0)}return i5(e,t,n,r,a)}function i1(e,t,n,r){var a=r.children,o=null!==e?e.memoizedState:null;if(null===e&&null===t.stateNode&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),"hidden"===r.mode){if(0!=(128&t.flags)){if(o=null!==o?o.baseLanes|n:n,null!==e){for(a=0,r=t.child=e.child;null!==r;)a=a|r.lanes|r.childLanes,r=r.sibling;r=a&~o}else r=0,t.child=null;return i4(e,t,o,n,r)}if(0==(0x20000000&n))return r=t.lanes=0x20000000,i4(e,t,null!==o?o.baseLanes|n:n,n,r);t.memoizedState={baseLanes:0,cachePool:null},null!==e&&aC(t,null!==o?o.cachePool:null),null!==o?a9(t,o):a7(),oo(t)}else null!==o?(aC(t,o.cachePool),a9(t,o),oi(),t.memoizedState=null):(null!==e&&aC(t,null),a7(),oi());return iQ(e,t,a,n),t.child}function i2(e,t){return null!==e&&22===e.tag||null!==t.stateNode||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function i4(e,t,n,r,a){var o=aA();return t.memoizedState={baseLanes:n,cachePool:o=null===o?null:{parent:ag._currentValue,pool:o}},null!==e&&aC(t,null),a7(),oo(t),null!==e&&ai(e,t,r,!0),t.childLanes=a,null}function i3(e,t){return(t=li({mode:t.mode,children:t.children},e.mode)).ref=e.ref,e.child=t,t.return=e,t}function i6(e,t,n){return aX(t,e.child,null,n),e=i3(t,t.pendingProps),e.flags|=2,ol(t),t.memoizedState=null,e}function i8(e,t){var n=t.ref;if(null===n)null!==e&&null!==e.ref&&(t.flags|=4194816);else{if("function"!=typeof n&&"object"!=typeof n)throw Error(l(284));(null===e||e.ref!==n)&&(t.flags|=4194816)}}function i5(e,t,n,r,a){return(as(t),n=oT(e,t,n,r,void 0,a),r=oN(),null===e||iK)?(rZ&&r&&rG(t),t.flags|=1,iQ(e,t,n,a),t.child):(oP(e,t,a),lm(e,t,a))}function i9(e,t,n,r,a,o){return(as(t),t.updateQueue=null,n=oA(t,r,n,a),o_(e),r=oN(),null===e||iK)?(rZ&&r&&rG(t),t.flags|=1,iQ(e,t,n,o),t.child):(oP(e,t,o),lm(e,t,o))}function i7(e,t,n,r,a){if(as(t),null===t.stateNode){var o=rx,i=n.contextType;"object"==typeof i&&null!==i&&(o=au(i)),t.memoizedState=null!==(o=new n(r,o)).state&&void 0!==o.state?o.state:null,o.updater=iF,t.stateNode=o,o._reactInternals=t,(o=t.stateNode).props=r,o.state=t.memoizedState,o.refs={},aY(t),i=n.contextType,o.context="object"==typeof i&&null!==i?au(i):rx,o.state=t.memoizedState,"function"==typeof(i=n.getDerivedStateFromProps)&&(iD(t,n,i,r),o.state=t.memoizedState),"function"==typeof n.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(i=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),i!==o.state&&iF.enqueueReplaceState(o,o.state,null),a4(t,r,o,a),a2(),o.state=t.memoizedState),"function"==typeof o.componentDidMount&&(t.flags|=4194308),r=!0}else if(null===e){o=t.stateNode;var l=t.memoizedProps,s=iB(n,l);o.props=s;var u=o.context,c=n.contextType;i=rx,"object"==typeof c&&null!==c&&(i=au(c));var d=n.getDerivedStateFromProps;c="function"==typeof d||"function"==typeof o.getSnapshotBeforeUpdate,l=t.pendingProps!==l,c||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(l||u!==i)&&iz(t,o,r,i),aW=!1;var f=t.memoizedState;o.state=f,a4(t,r,o,a),a2(),u=t.memoizedState,l||f!==u||aW?("function"==typeof d&&(iD(t,n,d,r),u=t.memoizedState),(s=aW||iM(t,n,s,r,f,u,i))?(c||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||("function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"==typeof o.componentDidMount&&(t.flags|=4194308)):("function"==typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=u),o.props=r,o.state=u,o.context=i,r=s):("function"==typeof o.componentDidMount&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,aK(e,t),c=iB(n,i=t.memoizedProps),o.props=c,d=t.pendingProps,f=o.context,u=n.contextType,s=rx,"object"==typeof u&&null!==u&&(s=au(u)),(u="function"==typeof(l=n.getDerivedStateFromProps)||"function"==typeof o.getSnapshotBeforeUpdate)||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(i!==d||f!==s)&&iz(t,o,r,s),aW=!1,f=t.memoizedState,o.state=f,a4(t,r,o,a),a2();var p=t.memoizedState;i!==d||f!==p||aW||null!==e&&null!==e.dependencies&&al(e.dependencies)?("function"==typeof l&&(iD(t,n,l,r),p=t.memoizedState),(c=aW||iM(t,n,c,r,f,p,s)||null!==e&&null!==e.dependencies&&al(e.dependencies))?(u||"function"!=typeof o.UNSAFE_componentWillUpdate&&"function"!=typeof o.componentWillUpdate||("function"==typeof o.componentWillUpdate&&o.componentWillUpdate(r,p,s),"function"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(r,p,s)),"function"==typeof o.componentDidUpdate&&(t.flags|=4),"function"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof o.componentDidUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),o.props=r,o.state=p,o.context=s,r=c):("function"!=typeof o.componentDidUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return o=r,i8(e,t),r=0!=(128&t.flags),o||r?(o=t.stateNode,n=r&&"function"!=typeof n.getDerivedStateFromError?null:o.render(),t.flags|=1,null!==e&&r?(t.child=aX(t,e.child,null,a),t.child=aX(t,null,n,a)):iQ(e,t,n,a),t.memoizedState=o.state,e=t.child):e=lm(e,t,a),e}function le(e,t,n,r){return r8(),t.flags|=256,iQ(e,t,n,r),t.child}var lt={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ln(e){return{baseLanes:e,cachePool:aN()}}function lr(e,t,n){return e=null!==e?e.childLanes&~n:0,t&&(e|=sG),e}function la(e,t,n){var r,a=t.pendingProps,o=!1,i=0!=(128&t.flags);if((r=i)||(r=(null===e||null!==e.memoizedState)&&0!=(2&os.current)),r&&(o=!0,t.flags&=-129),r=0!=(32&t.flags),t.flags&=-33,null===e){if(rZ){if(o?or(t):oi(),(e=rQ)?null!==(e=null!==(e=c5(e,r0))&&"&"!==e.data?e:null)&&(t.memoizedState={dehydrated:e,treeContext:null!==r$?{id:rq,overflow:rH}:null,retryLane:0x20000000,hydrationErrors:null},(n=rL(e)).return=t,t.child=n,rK=t,rQ=null):e=null,null===e)throw r2(t);return c7(e)?t.lanes=32:t.lanes=0x20000000,null}return(i=a.children,a=a.fallback,o)?(oi(),i=li({mode:"hidden",children:i},o=t.mode),a=rP(a,o,n,null),i.return=t,a.return=t,i.sibling=a,t.child=i,(a=t.child).memoizedState=ln(n),a.childLanes=lr(e,r,n),t.memoizedState=lt,i2(null,a)):(or(t),lo(t,i))}var s=e.memoizedState;if(null!==s){var u=s.dehydrated;if(null!==u){var c=e,d=t,f=i,p=r,m=a,g=u,h=s,y=n;if(f)return 256&d.flags?(or(d),d.flags&=-257,ll(c,d,y)):null!==d.memoizedState?(oi(),d.child=c.child,d.flags|=128,null):(oi(),g=m.fallback,h=d.mode,m=li({mode:"visible",children:m.children},h),g=rP(g,h,y,null),g.flags|=2,m.return=d,g.return=d,m.sibling=g,d.child=m,aX(d,c.child,null,y),(m=d.child).memoizedState=ln(y),m.childLanes=lr(c,p,y),d.memoizedState=lt,i2(null,m));if(or(d),c7(g)){if(p=g.nextSibling&&g.nextSibling.dataset)var b=p.dgst;return""!==(p=b)&&((m=Error(l(419))).stack="",m.digest=p,r9({value:m,source:null,stack:null})),ll(c,d,y)}if(iK||ai(c,d,y,!1),p=0!=(y&c.childLanes),iK||p){if(null!==a8.current)return ll(c,d,y);if(null!==(p=sR)&&0!==(m=eV(p,y))&&m!==h.retryLane)throw h.retryLane=m,rw(c,m),us(p,c,m),iY;return c9(g)||uv(),ll(c,d,y)}return c9(g)?(d.flags|=192,d.child=c.child,null):(c=h.treeContext,rQ=de(g.nextSibling),rK=d,rZ=!0,rJ=null,r0=!1,null!==c&&rY(d,c),d=lo(d,m.children),d.flags|=0x8001000,d)}}return o?(oi(),o=a.fallback,i=t.mode,u=(s=e.child).sibling,(a=rA(s,{mode:"hidden",children:a.children})).subtreeFlags=0x47f00000&s.subtreeFlags,null!==u?o=rA(u,o):(o=rP(o,i,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,i2(null,a),a=t.child,null===(o=e.child.memoizedState)?o=ln(n):(null!==(i=o.cachePool)?(s=ag._currentValue,i=i.parent!==s?{parent:s,pool:s}:i):i=aN(),o={baseLanes:o.baseLanes|n,cachePool:i}),a.memoizedState=o,a.childLanes=lr(e,r,n),t.memoizedState=lt,i2(e.child,a)):(or(t),e=(n=e.child).sibling,(n=rA(n,{mode:"visible",children:a.children})).return=t,n.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function lo(e,t){return(t=li({mode:"visible",children:t},e.mode)).return=e,e.child=t}function li(e,t){return(e=rT(22,e,null,t)).lanes=0,e}function ll(e,t,n){return aX(t,e.child,null,n),e=lo(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ls(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),aa(e.return,t,n)}function lu(e){for(var t=null;null!==e;){var n=e.alternate;null!==n&&null===od(n)&&(t=e),e=e.sibling}return t}function lc(e,t,n,r,a,o){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a,treeForkCount:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a,i.treeForkCount=o)}function ld(e){var t=e.child;for(e.child=null;null!==t;){var n=t.sibling;t.sibling=e.child,e.child=t,t=n}}function lf(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;r=r.children;var i=os.current;if(128&t.flags)return ou(t,i),null;var l=0!=(2&i);if(l?(i=1&i|2,t.flags|=128):i&=1,ou(t,i),"backwards"===a&&null!==e?(ld(e),iQ(e,t,r,n),ld(e)):iQ(e,t,r,n),r=rZ?rz:0,!l&&null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ls(e,n,t);else if(19===e.tag)ls(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(a){case"backwards":null===(n=lu(t.child))?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null,ld(t)),lc(t,!0,a,null,o,r);break;case"unstable_legacy-backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===od(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}lc(t,!0,n,null,o,r);break;case"together":lc(t,!1,null,null,void 0,r);break;case"independent":t.memoizedState=null;break;default:null===(n=lu(t.child))?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),lc(t,!1,a,n,o,r)}return t.child}function lp(e,t,n){var r=t.pendingProps;return an(t,t.type,r.value),iQ(e,t,r.children,n),t.child}function lm(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),sH|=t.lanes,0==(n&t.childLanes)){if(null===e)return null;else if(ai(e,t,n,!1),0==(n&t.childLanes))return null}if(null!==e&&t.child!==e.child)throw Error(l(153));if(null!==t.child){for(n=rA(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=rA(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function lg(e,t){return 0!=(e.lanes&t)||!!(null!==(e=e.dependencies)&&al(e))}function lh(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps)iK=!0;else{if(!lg(e,n)&&0==(128&t.flags))return iK=!1,function(e,t,n){switch(t.tag){case 3:eo(t,t.stateNode.containerInfo),an(t,ag,e.memoizedState.cache),r8();break;case 27:case 5:el(t);break;case 4:eo(t,t.stateNode.containerInfo);break;case 10:an(t,t.type,t.memoizedProps.value);break;case 31:if(null!==t.memoizedState)return t.flags|=128,oa(t),null;break;case 13:var r=t.memoizedState;if(null!==r){if(null!==r.dehydrated)return or(t),t.flags|=128,null;r=ai(e,t,n,!1);var a=t.child.childLanes;if(r||0!=(n&a))return la(e,t,n);return or(t),null!==(e=lm(e,t,n))?e.sibling:null}or(t);break;case 19:if(128&t.flags)return lf(e,t,n);if(a=0!=(128&e.flags),(r=0!=(n&t.childLanes))||(ai(e,t,n,!1),r=0!=(n&t.childLanes)),a){if(r)return lf(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),ou(t,os.current),!r)return null;break;case 22:return t.lanes=0,i1(e,t,n,t.pendingProps);case 24:an(t,ag,e.memoizedState.cache)}return lm(e,t,n)}(e,t,n);iK=0!=(131072&e.flags)}else iK=!1,rZ&&0!=(1048576&t.flags)&&rX(t,rz,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=aD(t.elementType),t.type=e,"function"==typeof e)r_(e)?(r=iB(e,r),t.tag=1,t=i7(null,t,e,r,n)):(t.tag=0,t=i5(null,t,e,r,n));else{if(null!=e){var a=e.$$typeof;if(a===I){t.tag=11,t=iZ(null,t,e,r,n);break e}if(a===D){t.tag=14,t=iJ(null,t,e,r,n);break e}if(a===L){t.tag=10,t.type=e,t=lp(null,t,n);break e}}throw Error(l(306,t=function e(t){if(null==t)return null;if("function"==typeof t)return t.$$typeof===V?null:t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case C:return"Fragment";case P:return"Profiler";case N:return"StrictMode";case R:return"Suspense";case j:return"SuspenseList";case M:return"Activity";case U:return"ViewTransition"}if("object"==typeof t)switch(t.$$typeof){case A:return"Portal";case L:return t.displayName||"Context";case O:return(t._context.displayName||"Context")+".Consumer";case I:var n=t.render;return(t=t.displayName)||(t=""!==(t=n.displayName||n.name||"")?"ForwardRef("+t+")":"ForwardRef"),t;case D:return null!==(n=t.displayName||null)?n:e(t.type)||"Memo";case F:n=t._payload,t=t._init;try{return e(t(n))}catch(e){}}return null}(e)||e,""))}}return t;case 0:return i5(e,t,t.type,t.pendingProps,n);case 1:return a=iB(r=t.type,t.pendingProps),i7(e,t,r,a,n);case 3:e:{if(eo(t,t.stateNode.containerInfo),null===e)throw Error(l(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,aK(e,t),a4(t,r,null,n);var i=t.memoizedState;if(an(t,ag,r=i.cache),r!==o.cache&&ao(t,[ag],n,!0),a2(),r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=o,t.memoizedState=o,256&t.flags){t=le(e,t,r,n);break e}else if(r!==a){r9(a=rj(Error(l(424)),t)),t=le(e,t,r,n);break e}else for(rQ=de((e=9===(e=t.stateNode.containerInfo).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e).firstChild),rK=t,rZ=!0,rJ=null,r0=!0,n=aG(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|0x8001000,n=n.sibling;else{if(r8(),r===a){t=lm(e,t,n);break e}iQ(e,t,r,n)}t=t.child}return t;case 26:return i8(e,t),null===e?(n=dm(t.type,null,t.pendingProps,null))?t.memoizedState=n:rZ||(t.stateNode=ck(t.type,t.pendingProps,er.current,t)):t.memoizedState=dm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return el(t),null===e&&rZ&&(r=t.stateNode=da(t.type,t.pendingProps,er.current),rK=t,r0=!0,a=rQ,cO(t.type)?(dt=a,rQ=de(r.firstChild)):rQ=a),iQ(e,t,t.pendingProps.children,n),i8(e,t),null===e&&(t.flags|=4194304),t.child;case 5:return null===e&&rZ&&((a=r=rQ)&&(null!==(r=function(e,t,n,r){for(;1===e.nodeType;){if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&("INPUT"!==e.nodeName||"hidden"!==e.type))break}else if(r){if(!e[e3])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if("stylesheet"===(a=e.getAttribute("rel"))&&e.hasAttribute("data-precedence")||a!==n.rel||e.getAttribute("href")!==(null==n.href||""===n.href?null:n.href)||e.getAttribute("crossorigin")!==(null==n.crossOrigin?null:n.crossOrigin)||e.getAttribute("title")!==(null==n.title?null:n.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(((a=e.getAttribute("src"))!==(null==n.src?null:n.src)||e.getAttribute("type")!==(null==n.type?null:n.type)||e.getAttribute("crossorigin")!==(null==n.crossOrigin?null:n.crossOrigin))&&a&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else{if("input"!==t||"hidden"!==e.type)return e;var a=null==n.name?null:""+n.name;if("hidden"===n.type&&e.getAttribute("name")===a)return e}if(null===(e=de(e.nextSibling)))break}return null}(r,t.type,t.pendingProps,r0))?(t.stateNode=r,rK=t,rQ=de(r.firstChild),r0=!1,a=!0):a=!1),a||r2(t)),el(t),a=t.type,o=t.pendingProps,i=null!==e?e.memoizedProps:null,r=o.children,cx(a,o)?r=null:null!==i&&cx(a,i)&&(t.flags|=32),null!==t.memoizedState&&(dM._currentValue=a=oT(e,t,oC,null,null,n)),i8(e,t),iQ(e,t,r,n),t.child;case 6:return null===e&&rZ&&((e=n=rQ)&&(null!==(n=function(e,t,n){if(""===t)return null;for(;3!==e.nodeType;)if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!n||null===(e=de(e.nextSibling)))return null;return e}(n,t.pendingProps,r0))?(t.stateNode=n,rK=t,rQ=null,e=!0):e=!1),e||r2(t)),null;case 13:return la(e,t,n);case 4:return eo(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=aX(t,null,r,n):iQ(e,t,r,n),t.child;case 11:return iZ(e,t,t.type,t.pendingProps,n);case 7:return r=t.pendingProps,i8(e,t),iQ(e,t,r,n),t.child;case 8:case 12:return iQ(e,t,t.pendingProps.children,n),t.child;case 10:return lp(e,t,n);case 9:return a=t.type._context,r=t.pendingProps.children,as(t),r=r(a=au(a)),t.flags|=1,iQ(e,t,r,n),t.child;case 14:return iJ(e,t,t.type,t.pendingProps,n);case 15:return i0(e,t,t.type,t.pendingProps,n);case 19:return lf(e,t,n);case 31:var s=e,u=t,c=n,d=u.pendingProps,f=0!=(128&u.flags);if(u.flags&=-129,null===s){if(rZ){if("hidden"===d.mode)return s=i3(u,d),u.lanes=0x20000000,s.memoizedState={baseLanes:0,cachePool:null},i2(null,s);if(oa(u),(s=rQ)?null!==(s=null!==(s=c5(s,r0))&&"&"===s.data?s:null)&&(u.memoizedState={dehydrated:s,treeContext:null!==r$?{id:rq,overflow:rH}:null,retryLane:0x20000000,hydrationErrors:null},(c=rL(s)).return=u,u.child=c,rK=u,rQ=null):s=null,null===s)throw r2(u);return u.lanes=0x20000000,null}return i3(u,d)}var p=s.memoizedState;if(null!==p){var m=p.dehydrated;if(oa(u),f)if(256&u.flags)u.flags&=-257,u=i6(s,u,c);else if(null!==u.memoizedState)u.child=s.child,u.flags|=128,u=null;else throw Error(l(558));else if(iK||ai(s,u,c,!1),f=0!=(c&s.childLanes),iK||f){if(null===a8.current){if(null!==(d=sR)&&0!==(m=eV(d,c))&&m!==p.retryLane)throw p.retryLane=m,rw(s,m),us(d,s,m),iY;uv()}u=i6(s,u,c)}else s=p.treeContext,rQ=de(m.nextSibling),rK=u,rZ=!0,rJ=null,r0=!1,null!==s&&rY(u,s),u=i3(u,d),u.flags|=0x8001000;return u}return(s=rA(s.child,{mode:d.mode,children:d.children})).ref=u.ref,u.child=s,s.return=u,s;case 22:return i1(e,t,n,t.pendingProps);case 24:return as(t),r=au(ag),null===e?(null===(a=aA())&&(a=sR,o=ah(),a.pooledCache=o,o.refCount++,null!==o&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},aY(t),an(t,ag,a)):(0!=(e.lanes&n)&&(aK(e,t),a4(t,null,null,n),a2()),a=e.memoizedState,o=t.memoizedState,a.parent!==r?(a={parent:r,cache:r},t.memoizedState=a,0===t.lanes&&(t.memoizedState=t.updateQueue.baseState=a),an(t,ag,r)):(an(t,ag,r=o.cache),r!==a.cache&&ao(t,[ag],n,!0))),iQ(e,t,t.pendingProps.children,n),t.child;case 30:return null===t.stateNode&&(t.stateNode={autoName:null,paired:null,clones:null,ref:null}),null!=(r=t.pendingProps).name&&"auto"!==r.name?t.flags|=null===e?0x1202000:0x1200000:rZ&&rG(t),null!==e&&e.memoizedProps.name!==r.name?t.flags|=4194816:i8(e,t),iQ(e,t,r.children,n),t.child;case 29:throw t.pendingProps}throw Error(l(156,t.tag))}function ly(e){e.flags|=4}function lb(e,t,n,r,a){var o;if((o=0!=(32&e.mode))&&(o=null===n?dA(t,r):dA(t,r)&&(r.src!==n.src||r.srcSet!==n.srcSet)),o){if(e.flags|=0x1000000,(0x13ffff40&a)===a)if(e.stateNode.complete)e.flags|=8192;else if(uh())e.flags|=8192;else throw aF=aI,aO}else e.flags&=-0x1000001}function lv(e,t){if("stylesheet"!==t.type||0!=(4&t.state.loading))e.flags&=-0x1000001;else if(e.flags|=0x1000000,!dC(t))if(uh())e.flags|=8192;else throw aF=aI,aO}function lw(e,t){null!==t&&(e.flags|=4),16384&e.flags&&(t=22!==e.tag?eB():0x20000000,e.lanes|=t,sW|=t)}function lS(e,t){if(!rZ)switch(e.tailMode){case"visible":break;case"collapsed":for(var n=e.tail,r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null;break;default:for(n=null,t=e.tail;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null}}function lk(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=0x47f00000&a.subtreeFlags,r|=0x47f00000&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function lx(e,t){switch(rW(t),t.tag){case 3:ar(ag),ei();break;case 26:case 27:case 5:es(t);break;case 4:ei();break;case 31:null!==t.memoizedState&&ol(t);break;case 13:ol(t);break;case 19:oc(t);break;case 10:ar(t.type);break;case 22:case 23:ol(t),oe(),null!==e&&J(a_);break;case 24:ar(ag)}}function lE(e,t){try{var n=t.updateQueue,r=null!==n?n.lastEffect:null;if(null!==r){var a=r.next;n=a;do{if((n.tag&e)===e){r=void 0;var o=n.create;n.inst.destroy=r=o()}n=n.next}while(n!==a)}}catch(e){uD(t,t.return,e)}}function lT(e,t,n){try{var r=t.updateQueue,a=null!==r?r.lastEffect:null;if(null!==a){var o=a.next;r=o;do{if((r.tag&e)===e){var i=r.inst,l=i.destroy;if(void 0!==l){i.destroy=void 0,a=t;try{l()}catch(e){uD(a,n,e)}}}r=r.next}while(r!==o)}}catch(e){uD(t,t.return,e)}}function l_(e){var t=e.updateQueue;if(null!==t){var n=e.stateNode;try{a6(t,n)}catch(t){uD(e,e.return,t)}}}function lA(e,t,n){n.props=iB(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){uD(e,t,n)}}function lC(e,t){try{var n=e.ref;if(null!==n){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var a=e.stateNode,o=rc(e.memoizedProps,a);(null===a.ref||a.ref.name!==o)&&(a.ref=cU(o)),r=a.ref;break;case 7:if(null===e.stateNode){var i=new c$(e);p(e.child,!1,c4,i,void 0,void 0),e.stateNode=i}r=e.stateNode;break;default:r=e.stateNode}"function"==typeof n?e.refCleanup=n(r):n.current=r}}catch(n){uD(e,t,n)}}function lN(e,t){var n=e.ref,r=e.refCleanup;if(null!==n)if("function"==typeof r)try{r()}catch(n){uD(e,t,n)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if("function"==typeof n)try{n(null)}catch(n){uD(e,t,n)}else n.current=null}function lP(e,t){if((5===e.tag||27===e.tag||6===e.tag)&&null===e.alternate&&null!==t)for(var n=0;n<t.length;n++)c6(e.stateNode,t[n])}function lO(e){for(var t=e.return;null!==t&&(lR(t)&&c6(e.stateNode,t.stateNode),!lI(t));)t=t.return}function lL(e){for(var t=e.return;null!==t&&(lR(t)&&function(e,t){var n=t._eventListeners;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];e.removeEventListener(a.type,a.attachedListener,cV(a.optionsOrUseCapture))}3!==e.nodeType&&(null!==(n=t._observers)&&n.forEach(function(n){var r;"string"==typeof n.rootMargin?(cJ.push({fragmentInstance:t,observer:n,instance:e}),c0||(c0=!0,r=function(){c0=!1;var e=cJ;cJ=[];for(var t=0;t<e.length;t++){var n=e[t];n.observer.unobserve(n.instance)}},cC(function(){cC(function(e){return r(e)})}))):n.unobserve(e)}),null!=e.reactFragments&&e.reactFragments.delete(t))}(e.stateNode,t.stateNode),!lI(t));)t=t.return}function lI(e){return 5===e.tag||3===e.tag||27===e.tag}function lR(e){return e&&7===e.tag&&null!==e.stateNode}function lj(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){uD(e,e.return,t)}}function lD(e,t,n){try{var r=e.stateNode;(function(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var a=null,o=null,i=null,s=null,u=null,c=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&null!=f)switch(m){case"checked":case"value":break;case"defaultValue":u=f;default:r.hasOwnProperty(m)||cf(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(null!=m||null!=f))switch(p){case"type":m!==f&&(tc=!0),o=m;break;case"name":m!==f&&(tc=!0),a=m;break;case"checked":m!==f&&(tc=!0),c=m;break;case"defaultChecked":m!==f&&(tc=!0),d=m;break;case"value":m!==f&&(tc=!0),i=m;break;case"defaultValue":m!==f&&(tc=!0),s=m;break;case"children":case"dangerouslySetInnerHTML":if(null!=m)throw Error(l(137,t));break;default:m!==f&&cf(e,t,p,m,r,f)}}tS(e,i,s,u,c,d,o,a);return;case"select":for(o in m=i=s=p=null,n)if(u=n[o],n.hasOwnProperty(o)&&null!=u)switch(o){case"value":break;case"multiple":m=u;default:r.hasOwnProperty(o)||cf(e,t,o,null,r,u)}for(a in r)if(o=r[a],u=n[a],r.hasOwnProperty(a)&&(null!=o||null!=u))switch(a){case"value":o!==u&&(tc=!0),p=o;break;case"defaultValue":o!==u&&(tc=!0),s=o;break;case"multiple":o!==u&&(tc=!0),i=o;default:o!==u&&cf(e,t,a,o,r,u)}t=s,n=i,r=m,null!=p?tE(e,!!n,p,!1):!!r!=!!n&&(null!=t?tE(e,!!n,t,!0):tE(e,!!n,n?[]:"",!1));return;case"textarea":for(s in m=p=null,n)if(a=n[s],n.hasOwnProperty(s)&&null!=a&&!r.hasOwnProperty(s))switch(s){case"value":case"children":break;default:cf(e,t,s,null,r,a)}for(i in r)if(a=r[i],o=n[i],r.hasOwnProperty(i)&&(null!=a||null!=o))switch(i){case"value":a!==o&&(tc=!0),p=a;break;case"defaultValue":a!==o&&(tc=!0),m=a;break;case"children":break;case"dangerouslySetInnerHTML":if(null!=a)throw Error(l(91));break;default:a!==o&&cf(e,t,i,a,r,o)}tT(e,p,m);return;case"option":for(var g in n)p=n[g],n.hasOwnProperty(g)&&null!=p&&!r.hasOwnProperty(g)&&("selected"===g?e.selected=!1:cf(e,t,g,null,r,p));for(u in r)p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(null!=p||null!=m)&&("selected"===u?(p!==m&&(tc=!0),e.selected=p&&"function"!=typeof p&&"symbol"!=typeof p):cf(e,t,u,p,r,m));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var h in n)p=n[h],n.hasOwnProperty(h)&&null!=p&&!r.hasOwnProperty(h)&&cf(e,t,h,null,r,p);for(c in r)if(p=r[c],m=n[c],r.hasOwnProperty(c)&&p!==m&&(null!=p||null!=m))switch(c){case"children":case"dangerouslySetInnerHTML":if(null!=p)throw Error(l(137,t));break;default:cf(e,t,c,p,r,m)}return;default:if(tO(t)){for(var y in n)p=n[y],n.hasOwnProperty(y)&&void 0!==p&&!r.hasOwnProperty(y)&&cp(e,t,y,void 0,r,p);for(d in r)p=r[d],m=n[d],r.hasOwnProperty(d)&&p!==m&&(void 0!==p||void 0!==m)&&cp(e,t,d,p,r,m);return}}for(var b in n)p=n[b],n.hasOwnProperty(b)&&null!=p&&!r.hasOwnProperty(b)&&cf(e,t,b,null,r,p);for(f in r)p=r[f],m=n[f],r.hasOwnProperty(f)&&p!==m&&(null!=p||null!=m)&&cf(e,t,f,p,r,m)})(r,e.type,n,t),r[eZ]=t}catch(t){uD(e,e.return,t)}}function lF(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag&&cO(e.type)||4===e.tag}function lM(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||lF(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(27===e.tag&&cO(e.type)||2&e.flags||null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function lz(e,t,n,r){var a=e.tag;if(5===a||6===a)a=e.stateNode,t?n.insertBefore(a,t):n.appendChild(a),lP(e,r),tc=!0;else if(4!==a&&(27===a&&(lP(e,r),r=null,cO(e.type)&&(n=e.stateNode)),null!==(e=e.child)))for(lz(e,t,n,r),e=e.sibling;null!==e;)lz(e,t,n,r),e=e.sibling}function lB(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);cm(t,r,n),t[eQ]=e,t[eZ]=n}catch(t){uD(e,e.return,t)}}var lU=!1,l$=null;function lq(e){(30===e.tag||0!=(0x2000000&e.subtreeFlags))&&(lU=!0)}var lH=null;function lV(){var e=lH;return lH=null,e}var lX=0;function lG(e,t,n,r,a){return lX=0,function e(t,n,r,a,o){for(var i=!1;null!==t;){if(5===t.tag){var l=t.stateNode;if(null!==a){var s=cF(l);a.push(s),s.view&&(i=!0)}else i||cF(l).view&&(i=!0);lU=!0,cR(l,0===lX?n:n+"_"+lX,r),lX++}else(22!==t.tag||null===t.memoizedState)&&(30===t.tag&&o||e(t.child,n,r,a,o)&&(i=!0));t=t.sibling}return i}(e.child,t,n,r,a)}function lW(e,t){for(;null!==e;)5===e.tag?cj(e.stateNode,e.memoizedProps):(22!==e.tag||null===e.memoizedState)&&(30===e.tag&&t||lW(e.child,t)),e=e.sibling}function lY(e){if(0!=(0x1200000&e.subtreeFlags))for(e=e.child;null!==e;){if((22!==e.tag||null===e.memoizedState)&&(lY(e),30===e.tag&&0!=(0x1200000&e.flags)&&e.stateNode.paired)){var t=e.memoizedProps;if(null==t.name||"auto"===t.name)throw Error(l(544));var n=t.name;"none"!==(t=rf(t.default,t.share))&&(lG(e,n,t,null,!1)||lW(e.child,!1))}e=e.sibling}}function lK(e,t){if(30===e.tag){var n=e.stateNode,r=e.memoizedProps,a=rc(r,n),o=rf(r.default,n.paired?r.share:r.enter);"none"!==o?lG(e,a,o,null,!1)?(lY(e),n.paired||t||ul(e,r.onEnter)):lW(e.child,!1):lY(e)}else if(0!=(0x2000000&e.subtreeFlags))for(e=e.child;null!==e;)lK(e,t),e=e.sibling;else lY(e)}function lQ(e){if(null!==l$&&0!==l$.size){var t=l$;if(0!=(0x1200000&e.subtreeFlags))for(e=e.child;null!==e;){if(22!==e.tag||null===e.memoizedState){if(30===e.tag&&0!=(0x1200000&e.flags)){var n=e.memoizedProps,r=n.name;if(null!=r&&"auto"!==r){var a=t.get(r);if(void 0!==a){var o=rf(n.default,n.share);if("none"!==o&&(lG(e,r,o,null,!1)?(a.paired=o=e.stateNode,o.paired=a,ul(e,n.onShare)):lW(e.child,!1)),t.delete(r),0===t.size)break}}}lQ(e)}e=e.sibling}}}function lZ(e){if(30===e.tag){var t=e.memoizedProps,n=rc(t,e.stateNode),r=null!==l$?l$.get(n):void 0,a=rf(t.default,void 0!==r?t.share:t.exit);"none"!==a&&(lG(e,n,a,null,!1)?void 0!==r?(r.paired=a=e.stateNode,a.paired=r,l$.delete(n),ul(e,t.onShare)):ul(e,t.onExit):lW(e.child,!1)),null!==l$&&lQ(e)}else if(0!=(0x2000000&e.subtreeFlags))for(e=e.child;null!==e;)lZ(e),e=e.sibling;else null!==l$&&lQ(e)}function lJ(e){if(0!=(0x1200000&e.subtreeFlags))for(e=e.child;null!==e;){if(22!==e.tag||null===e.memoizedState){if(30===e.tag&&0!=(0x1200000&e.flags)){var t=e.stateNode;null!==t.paired&&(t.paired=null,lW(e.child,!1))}lJ(e)}e=e.sibling}}function l0(e){if(30===e.tag)e.stateNode.paired=null,lW(e.child,!1),lJ(e);else if(0!=(0x2000000&e.subtreeFlags))for(e=e.child;null!==e;)l0(e),e=e.sibling;else lJ(e)}function l1(e,t,n,r,a,o,i){for(var l=!1;null!==t;){if(5===t.tag){var s=t.stateNode;if(null!==o&&lX<o.length){var u,c=o[lX],d=cF(s);if((c.view||d.view)&&(l=!0),u=0==(4&e.flags))if(d.clip)u=!0;else{u=c.rect;var f=d.rect;u=u.y!==f.y||u.x!==f.x||u.height!==f.height||u.width!==f.width}u&&(e.flags|=4),d.abs?d=!c.abs:(c=c.rect,d=d.rect,d=c.height!==d.height||c.width!==d.width),d&&(e.flags|=32)}else e.flags|=32;0!=(4&e.flags)&&cR(s,0===lX?n:n+"_"+lX,a),l&&0!=(4&e.flags)||(null===lH&&(lH=[]),lH.push(s,0===lX?r:r+"_"+lX,t.memoizedProps)),lX++}else(22!==t.tag||null===t.memoizedState)&&(30===t.tag&&i?e.flags|=32&t.flags:l1(e,t.child,n,r,a,o,i)&&(l=!0));t=t.sibling}return l}var l2=!1,l4=!1,l3=!1,l6=!1,l8="function"==typeof WeakSet?WeakSet:Set,l5=null,l9=!1,l7=!1,se=!1,st=!1;function sn(e){for(;null!==l5;){var t=l5,n=e,r=t.alternate,a=t.flags;switch(t.tag){case 0:case 11:case 15:case 5:case 26:case 27:case 6:case 4:case 17:break;case 1:if(0!=(1024&a)&&null!==r){n=void 0,a=r.memoizedProps,r=r.memoizedState;var o=t.stateNode;try{var i=iB(t.type,a);n=o.getSnapshotBeforeUpdate(i,r),o.__reactInternalSnapshotBeforeUpdate=n}catch(e){uD(t,t.return,e)}}break;case 3:if(0!=(1024&a)){if(9===(n=(r=t.stateNode.containerInfo).nodeType))c8(r);else if(1===n)switch(r.nodeName){case"HEAD":case"HTML":case"BODY":c8(r);break;default:r.textContent=""}}break;case 30:n&&null!==r&&(n=rc(r.memoizedProps,r.stateNode),"none"!==(a=rf((a=t.memoizedProps).default,a.update))&&lG(r,n,a,r.memoizedState=[],!0));break;default:if(0!=(1024&a))throw Error(l(163))}if(null!==(r=t.sibling)){r.return=t.return,l5=r;break}l5=t.return}}function sr(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:sb(e,n),4&r&&lE(5,n);break;case 1:if(sb(e,n),4&r)if(e=n.stateNode,null===t)try{e.componentDidMount()}catch(e){uD(n,n.return,e)}else{var a=iB(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(a,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){uD(n,n.return,e)}}64&r&&l_(n),512&r&&lC(n,n.return);break;case 3:if(sb(e,n),64&r&&null!==(e=n.updateQueue)){if(t=null,null!==n.child)switch(n.child.tag){case 27:case 5:case 1:t=n.child.stateNode}try{a6(e,t)}catch(e){uD(n,n.return,e)}}break;case 27:null===t&&4&r&&lB(n);case 26:case 5:sb(e,n),null===t&&4&r&&lj(n),512&r&&lC(n,n.return);break;case 12:sb(e,n);break;case 31:sb(e,n),4&r&&su(e,n);break;case 13:sb(e,n),4&r&&sc(e,n),64&r&&null!==(e=n.memoizedState)&&null!==(e=e.dehydrated)&&function(e,t){var n=e.ownerDocument;if("$~"===e.data)e._reactRetry=t;else if("$?"!==e.data||"loading"!==n.readyState)t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}(e,n=uB.bind(null,n));break;case 22:if(!(r=null!==n.memoizedState||l2)){var o=null!==t&&null!==t.memoizedState||l4;t=l2,a=l4,l2=r,(l4=o)&&!a?(r=2,0!=(8772&n.subtreeFlags)&&(r|=1),function e(t,n,r){for(r=0!=(8772&n.subtreeFlags)?r:-2&r,n=n.child;null!==n;){var a=n.alternate,o=t,i=n,l=i.flags,s=0!=(1&r);switch(i.tag){case 0:case 11:case 15:e(o,i,r),lE(4,i);break;case 1:if(e(o,i,r),"function"==typeof(o=(a=i).stateNode).componentDidMount)try{o.componentDidMount()}catch(e){uD(a,a.return,e)}if(null!==(o=(a=i).updateQueue)){var u=a.stateNode;try{var c=o.shared.hiddenCallbacks;if(null!==c)for(o.shared.hiddenCallbacks=null,o=0;o<c.length;o++)a3(c[o],u)}catch(e){uD(a,a.return,e)}}s&&64&l&&l_(i),lC(i,i.return);break;case 27:0!=(2&r)&&lB(i);case 5:5!==i.tag&&27!==i.tag||lO(i),e(o,i,r),s&&null===a&&4&l&&lj(i),lC(i,i.return);break;case 6:lO(i);break;case 26:u=i.stateNode,null!==i.memoizedState||null===u||l2||d_(dc(u.ownerDocument),i.type,u),e(o,i,r),s&&null===a&&4&l&&lj(i),lC(i,i.return);break;case 12:e(o,i,r);break;case 31:e(o,i,r),s&&4&l&&su(o,i);break;case 13:e(o,i,r),s&&4&l&&sc(o,i);break;case 22:null===i.memoizedState&&e(o,i,r),lC(i,i.return);break;case 30:e(o,i,r),lC(i,i.return);break;case 7:lC(i,i.return);default:e(o,i,r)}n=n.sibling}}(e,n,r)):sb(e,n),l2=t,l4=a}break;case 30:sb(e,n),512&r&&lC(n,n.return);break;case 7:512&r&&lC(n,n.return);default:sb(e,n)}}function sa(e,t){for(e=e.child;null!==e;)(function e(t,n){switch(t.tag){case 5:case 26:try{var r=t.stateNode;if(n){var a=r.style;"function"==typeof a.setProperty?a.setProperty("display","none","important"):a.display="none"}else{var o=t.stateNode,i=t.memoizedProps.style,l=null!=i&&i.hasOwnProperty("display")?i.display:null;o.style.display=null==l||"boolean"==typeof l?"":(""+l).trim()}}catch(e){uD(t,t.return,e)}!function t(n,r){if(0x4000000&n.subtreeFlags)for(n=n.child;null!==n;){e:{var a=n;switch(a.tag){case 4:e(a,r);break e;case 22:null===a.memoizedState&&t(a,r);break e;default:t(a,r)}}n=n.sibling}}(t,n);break;case 6:try{t.stateNode.nodeValue=n?"":t.memoizedProps,tc=!0}catch(e){uD(t,t.return,e)}break;case 18:try{var s=t.stateNode;n?cI(s,!0):cI(t.stateNode,!1)}catch(e){uD(t,t.return,e)}break;case 22:case 23:null===t.memoizedState&&sa(t,n);break;default:sa(t,n)}})(e,t),e=e.sibling}var so=null,si=!1;function sl(e,t,n){for(n=n.child;null!==n;)ss(e,t,n),n=n.sibling}function ss(e,t,n){if(eC&&"function"==typeof eC.onCommitFiberUnmount)try{eC.onCommitFiberUnmount(eA,n)}catch(e){}switch(n.tag){case 26:l4||lN(n,t),sl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&!l4&&(n=n.stateNode).parentNode.removeChild(n);break;case 27:l4||lN(n,t),lL(n);var r=so,a=si;cO(n.type)&&(so=n.stateNode,si=!1),sl(e,t,n),di(n.stateNode,n.type,n.memoizedProps),so=r,si=a;break;case 5:l4||lN(n,t),lL(n);case 6:if(6===n.tag&&lL(n),r=so,a=si,so=null,sl(e,t,n),so=r,si=a,null!==so)if(si)try{(9===so.nodeType?so.body:"HTML"===so.nodeName?so.ownerDocument.body:so).removeChild(n.stateNode),tc=!0}catch(e){uD(n,t,e)}else try{so.removeChild(n.stateNode),tc=!0}catch(e){uD(n,t,e)}break;case 18:null!==so&&(si?(cL(9===(e=so).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e,n.stateNode),fl(e)):cL(so,n.stateNode));break;case 4:r=so,a=si,so=n.stateNode.containerInfo,si=!0,sl(e,t,n),so=r,si=a;break;case 0:case 11:case 14:case 15:lT(2,n,t),l4||lT(4,n,t),sl(e,t,n);break;case 1:l4||(lN(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount&&lA(n,t,r)),sl(e,t,n);break;case 21:default:sl(e,t,n);break;case 22:l4=(r=l4)||null!==n.memoizedState,sl(e,t,n),l4=r;break;case 30:lN(n,t),sl(e,t,n);break;case 7:l4||lN(n,t),sl(e,t,n)}}function su(e,t){if(null===t.memoizedState&&null!==(e=t.alternate)&&null!==(e=e.memoizedState)){e=e.dehydrated;try{fl(e)}catch(e){uD(t,t.return,e)}}}function sc(e,t){if(null===t.memoizedState&&null!==(e=t.alternate)&&null!==(e=e.memoizedState)&&null!==(e=e.dehydrated))try{fl(e)}catch(e){uD(t,t.return,e)}}function sd(e,t){var n=function(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return null===t&&(t=e.stateNode=new l8),t;case 22:return null===(t=(e=e.stateNode)._retryCache)&&(t=e._retryCache=new l8),t;default:throw Error(l(435,e.tag))}}(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=uU.bind(null,e,t);t.then(r,r)}})}function sf(e,t,n){var r=t.deletions;if(null!==r)for(var a=0;a<r.length;a++){var o=r[a],i=e,s=t,u=s;e:for(;null!==u;){switch(u.tag){case 27:if(cO(u.type)){so=u.stateNode,si=!1;break e}break;case 5:so=u.stateNode,si=!1;break e;case 3:case 4:so=u.stateNode.containerInfo,si=!0;break e}u=u.return}if(null===so)throw Error(l(160));ss(i,s,o),so=null,si=!1,null!==(i=o.alternate)&&(i.return=null),o.return=null}if(13886&t.subtreeFlags)for(t=t.child;null!==t;)sm(t,e,n),t=t.sibling}var sp=null;function sm(e,t,n){var r=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(4&a&&null!==(r=null!==(r=e.updateQueue)?r.events:null))for(var o=0;o<r.length;o++){var i=r[o];i.ref.impl=i.nextImpl}sf(t,e,n),sg(e),4&a&&(lT(3,e,e.return),lE(3,e),lT(5,e,e.return));break;case 1:sf(t,e,n),sg(e),512&a&&(l4||null===r||lN(r,r.return)),64&a&&l2&&null!==(e=e.updateQueue)&&null!==(t=e.callbacks)&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=null===n?t:n.concat(t));break;case 26:if(o=sp,sf(t,e,n),sg(e),512&a&&(l4||null===r||lN(r,r.return)),4&a)if(a=null!==r?r.memoizedState:null,n=e.memoizedState,null===r)if(null===n)if(null===e.stateNode)if(l2)e.stateNode=ck(e.type,e.memoizedProps,t.containerInfo,e);else{e:{t=e.type,n=e.memoizedProps,a=o.ownerDocument||o;t:switch(t){case"title":(!(r=a.getElementsByTagName("title")[0])||r[e3]||r[eQ]||"http://www.w3.org/2000/svg"===r.namespaceURI||r.hasAttribute("itemprop"))&&(r=a.createElement(t),a.head.insertBefore(r,a.querySelector("head > title"))),cm(r,t,n),r[eQ]=e,tt(r),t=r;break e;case"link":if(o=dT("link","href",a).get(t+(n.href||""))){for(i=0;i<o.length;i++)if((r=o[i]).getAttribute("href")===(null==n.href||""===n.href?null:n.href)&&r.getAttribute("rel")===(null==n.rel?null:n.rel)&&r.getAttribute("title")===(null==n.title?null:n.title)&&r.getAttribute("crossorigin")===(null==n.crossOrigin?null:n.crossOrigin)){o.splice(i,1);break t}}cm(r=a.createElement(t),t,n),a.head.appendChild(r);break;case"meta":if(o=dT("meta","content",a).get(t+(n.content||""))){for(i=0;i<o.length;i++)if((r=o[i]).getAttribute("content")===(null==n.content?null:""+n.content)&&r.getAttribute("name")===(null==n.name?null:n.name)&&r.getAttribute("property")===(null==n.property?null:n.property)&&r.getAttribute("http-equiv")===(null==n.httpEquiv?null:n.httpEquiv)&&r.getAttribute("charset")===(null==n.charSet?null:n.charSet)){o.splice(i,1);break t}}cm(r=a.createElement(t),t,n),a.head.appendChild(r);break;default:throw Error(l(468,t))}r[eQ]=e,tt(r),t=r}e.stateNode=t}else l2||d_(o,e.type,e.stateNode);else e.stateNode=dw(o,n,e.memoizedProps);else a!==n?(null===a?null===(t=r.stateNode)||l4||t.parentNode.removeChild(t):a.count--,null===n?l2||d_(o,e.type,e.stateNode):dw(o,n,e.memoizedProps)):null===n&&null!==e.stateNode&&lD(e,e.memoizedProps,r.memoizedProps);break;case 27:sf(t,e,n),sg(e),512&a&&(l4||null===r||lN(r,r.return)),null!==r&&4&a&&lD(e,e.memoizedProps,r.memoizedProps);break;case 5:if(o=l3,l3=!1,sf(t,e,n),l3=o,sg(e),512&a&&(l4||null===r||lN(r,r.return)),32&e.flags){t=e.stateNode;try{tA(t,""),tc=!0}catch(t){uD(e,e.return,t)}}4&a&&null!=e.stateNode&&(t=e.memoizedProps,lD(e,t,null!==r?r.memoizedProps:t)),1024&a&&(l6=!0);break;case 6:if(sf(t,e,n),sg(e),4&a){if(null===e.stateNode)throw Error(l(162));t=e.memoizedProps,n=e.stateNode;try{n.nodeValue=t,tc=!0}catch(t){uD(e,e.return,t)}}break;case 3:if(tc=!1,dE=null,o=sp,sp=dc(t.containerInfo),sf(t,e,n),sp=o,sg(e),4&a&&null!==r&&r.memoizedState.isDehydrated)try{fl(t.containerInfo)}catch(t){uD(e,e.return,t)}l6&&(l6=!1,function e(t){if(1024&t.subtreeFlags)for(t=t.child;null!==t;){var n=t;e(n),5===n.tag&&1024&n.flags&&(n=n.stateNode,dX=!0,n.reset(),dX=!1),t=t.sibling}}(e)),tc=!1;break;case 4:a=l3,l3=l2,r=td(),o=sp,sp=dc(e.stateNode.containerInfo),sf(t,e,n),sg(e),sp=o,tc&&l7&&(se=!0),tc=r,l3=a;break;case 12:sf(t,e,n),sg(e);break;case 31:case 19:sf(t,e,n),sg(e),4&a&&null!==(t=e.updateQueue)&&(e.updateQueue=null,sd(e,t));break;case 13:sf(t,e,n),sg(e),8192&e.child.flags&&null!==e.memoizedState!=(null!==r&&null!==r.memoizedState)&&(sZ=eb()),4&a&&null!==(t=e.updateQueue)&&(e.updateQueue=null,sd(e,t));break;case 22:o=null!==e.memoizedState,i=null!==r&&null!==r.memoizedState;var s=l2,u=l4,c=l3;l2=s||o,l3=c||o,l4=u||i,sf(t,e,n),l4=u,l3=c,l2=s,sg(e),8192&a&&((t=e.stateNode)._visibility=o?-2&t._visibility:1|t._visibility,!o||null===r||i||l2||l4||(t=i||l4,n=l2,r=l4,l2=o||l2,l4=t,function e(t,n){for(t=t.child;null!==t;){var r=t;switch(r.tag){case 0:case 11:case 14:case 15:lT(4,r,r.return),e(r,n);break;case 1:lN(r,r.return);var a=r.stateNode;"function"==typeof a.componentWillUnmount&&lA(r,r.return,a),e(r,n);break;case 27:0!=(2&n)&&di(r.stateNode,r.type,r.memoizedProps);case 5:lN(r,r.return),5!==r.tag&&27!==r.tag||lL(r),e(r,n);break;case 6:lL(r);break;case 26:lN(r,r.return),a=r.stateNode,null!==r.memoizedState||null===a||l4||a.parentNode.removeChild(a),e(r,n);break;case 22:null===r.memoizedState&&e(r,n);break;case 30:lN(r,r.return),e(r,n);break;case 7:lN(r,r.return);default:e(r,n)}t=t.sibling}}(e,2),l2=n,l4=r),!o&&l3||sa(e,o)),4&a&&null!==(t=e.updateQueue)&&null!==(n=t.retryQueue)&&(t.retryQueue=null,sd(e,n));break;case 30:512&a&&(l4||null===r||lN(r,r.return)),a=td(),o=l7,i=(0x13ffff00&n)===n,s=e.memoizedProps,l7=i&&"none"!==rf(s.default,s.update),sf(t,e,n),sg(e),i&&null!==r&&tc&&(e.flags|=4),l7=o,tc=a;break;case 21:break;case 7:512&a&&(l4||null===r||lN(r,r.return)),r&&null!==r.stateNode&&(r.stateNode._fragmentFiber=e);default:sf(t,e,n),sg(e)}}function sg(e){var t=e.flags;if(2&t){try{for(var n,r=e.return;null!==r;){if(lF(r)){n=r;break}r=r.return}r=null;for(var a=e.return;null!==a;){if(lR(a)){var o=a.stateNode;null===r?r=[o]:r.push(o)}if(lI(a))break;a=a.return}var i=r;if(null==n)throw Error(l(160));switch(n.tag){case 27:var s=n.stateNode,u=lM(e);lz(e,u,s,i);break;case 5:var c=n.stateNode;32&n.flags&&(tA(c,""),n.flags&=-33);var d=lM(e);lz(e,d,c,i);break;case 3:case 4:var f=n.stateNode.containerInfo,p=lM(e);!function e(t,n,r,a){var o=t.tag;if(5===o||6===o)o=t.stateNode,n?(9===r.nodeType?r.body:"HTML"===r.nodeName?r.ownerDocument.body:r).insertBefore(o,n):((n=9===r.nodeType?r.body:"HTML"===r.nodeName?r.ownerDocument.body:r).appendChild(o),null!=(r=r._reactRootContainer)||null!==n.onclick||(n.onclick=tj)),lP(t,a),tc=!0;else if(4!==o&&(27===o&&(lP(t,a),a=null,cO(t.type)&&(r=t.stateNode,n=null)),null!==(t=t.child)))for(e(t,n,r,a),t=t.sibling;null!==t;)e(t,n,r,a),t=t.sibling}(e,p,f,i);break;default:throw Error(l(161))}}catch(t){uD(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function sh(e,t){if(9270&t.subtreeFlags)for(t=t.child;null!==t;)sy(t,e),t=t.sibling;else!function e(t,n){for(t=t.child;null!==t;){if(30===t.tag){var r=t.memoizedProps,a=t.stateNode,o=rc(r,a),i=rf(r.default,r.update);if(n)var l=null===(a=a.clones)?null:a.map(cM);else l=t.memoizedState,t.memoizedState=null;a=t;var s=t.child;lX=0,o=l1(a,s,o,o,i,l,!1),0!=(4&t.flags)&&o&&(n||ul(t,r.onUpdate))}else 0!=(0x2000000&t.subtreeFlags)&&e(t,n);t=t.sibling}}(t,!1)}function sy(e,t){var n=e.alternate;if(null===n)lK(e,!1);else switch(e.tag){case 3:if(st=l9=!1,lV(),sh(t,e),!l9&&!se){if(null!==(e=lH))for(var r=0;r<e.length;r+=3){n=e[r];var a=e[r+1];cj(n,e[r+2]),null!==(n=n.ownerDocument.documentElement)&&n.animate({opacity:[0,0],pointerEvents:["none","none"]},{duration:0,fill:"forwards",pseudoElement:"::view-transition-group("+a+")"})}null!==(e=9===(e=t.containerInfo).nodeType?e.documentElement:e.ownerDocument.documentElement)&&""===e.style.viewTransitionName&&(e.style.viewTransitionName="none",e.animate({opacity:[0,0],pointerEvents:["none","none"]},{duration:0,fill:"forwards",pseudoElement:"::view-transition-group(root)"}),e.animate({width:[0,0],height:[0,0]},{duration:0,fill:"forwards",pseudoElement:"::view-transition"})),st=!0}lH=null;break;case 5:default:sh(t,e);break;case 4:r=l9,l9=!1,sh(t,e),l9&&(se=!0),l9=r;break;case 22:null===e.memoizedState&&(null!==n.memoizedState?lK(e,!1):sh(t,e));break;case 30:r=l9,a=lV(),l9=!1,sh(t,e),l9&&(e.flags|=4);var o=e.memoizedProps,i=e.stateNode;t=rc(o,i),i=rc(n.memoizedProps,i);var l=rf(o.default,o.update);"none"===l?t=!1:(o=n.memoizedState,n.memoizedState=null,n=e.child,lX=0,t=l1(e,n,t,i,l,o,!0),lX!==(null===o?0:o.length)&&(e.flags|=32)),0!=(4&e.flags)&&t?(ul(e,e.memoizedProps.onUpdate),lH=a):null!==a&&(a.push.apply(a,lH),lH=a),l9=0!=(32&e.flags)||r}}function sb(e,t){if(8772&t.subtreeFlags)for(t=t.child;null!==t;)sr(e,t.alternate,t),t=t.sibling}function sv(e,t){var n=null;null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),e=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(e=t.memoizedState.cachePool.pool),e!==n&&(null!=e&&e.refCount++,null!=n&&ay(n))}function sw(e,t){e=null,null!==t.alternate&&(e=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==e&&(t.refCount++,null!=e&&ay(e))}function sS(e,t,n,r){var a=(0x13ffff00&n)===n;if(t.subtreeFlags&(a?10262:10256))for(t=t.child;null!==t;)sk(e,t,n,r),t=t.sibling;else a&&function e(t){for(t=t.child;null!==t;)30===t.tag?lW(t.child,!1):0!=(0x2000000&t.subtreeFlags)&&e(t),t=t.sibling}(t)}function sk(e,t,n,r){var a=(0x13ffff00&n)===n;a&&null===t.alternate&&null!==t.return&&null!==t.return.alternate&&l0(t);var o=t.flags;switch(t.tag){case 0:case 11:case 15:sS(e,t,n,r),2048&o&&lE(9,t);break;case 1:case 31:case 13:default:sS(e,t,n,r);break;case 3:sS(e,t,n,r),a&&st&&("root"===(e=9===(e=e.containerInfo).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e).style.viewTransitionName&&(e.style.viewTransitionName=""),null!==(e=e.ownerDocument.documentElement)&&"none"===e.style.viewTransitionName&&(e.style.viewTransitionName="")),2048&o&&(o=null,null!==t.alternate&&(o=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==o&&(t.refCount++,null!=o&&ay(o)));break;case 12:if(2048&o){sS(e,t,n,r),o=t.stateNode;try{var i=t.memoizedProps,l=i.id,s=i.onPostCommit;"function"==typeof s&&s(l,null===t.alternate?"mount":"update",o.passiveEffectDuration,-0)}catch(e){uD(t,t.return,e)}}else sS(e,t,n,r);break;case 23:break;case 22:i=t.stateNode,l=t.alternate,null!==t.memoizedState?(a&&null!==l&&null===l.memoizedState&&l0(l),2&i._visibility?sS(e,t,n,r):sx(e,t)):(a&&null!==l&&null!==l.memoizedState&&l0(t),2&i._visibility?sS(e,t,n,r):(i._visibility|=2,function e(t,n,r,a,o){for(o=o&&0!=(10256&n.subtreeFlags),n=n.child;null!==n;){var i=n,l=i.flags;switch(i.tag){case 0:case 11:case 15:e(t,i,r,a,o),lE(8,i);break;case 23:break;case 22:var s=i.stateNode;null!==i.memoizedState?2&s._visibility?e(t,i,r,a,o):sx(t,i):(s._visibility|=2,e(t,i,r,a,o)),o&&2048&l&&sv(i.alternate,i);break;case 24:e(t,i,r,a,o),o&&2048&l&&sw(i.alternate,i);break;default:e(t,i,r,a,o)}n=n.sibling}}(e,t,n,r,0!=(10256&t.subtreeFlags)))),2048&o&&sv(l,t);break;case 24:sS(e,t,n,r),2048&o&&sw(t.alternate,t);break;case 30:a&&null!==(o=t.alternate)&&(lW(o.child,!0),lW(t.child,!0)),sS(e,t,n,r)}}function sx(e,t){if(10256&t.subtreeFlags)for(t=t.child;null!==t;){var n=t,r=n.flags;switch(n.tag){case 22:sx(e,n),2048&r&&sv(n.alternate,n);break;case 24:sx(e,n),2048&r&&sw(n.alternate,n);break;default:sx(e,n)}t=t.sibling}}var sE=8192;function sT(e,t,n){if(e.subtreeFlags&sE)for(e=e.child;null!==e;)s_(e,t,n),e=e.sibling}function s_(e,t,n){switch(e.tag){case 26:sT(e,t,n),e.flags&sE&&(null!==e.memoizedState?function(e,t,n,r){if("stylesheet"===n.type&&("string"!=typeof r.media||!1!==matchMedia(r.media).matches)&&0==(4&n.state.loading)){if(null===n.instance){var a=dg(r.href),o=t.querySelector(dh(a));if(o){null!==(t=o._p)&&"object"==typeof t&&"function"==typeof t.then&&(e.count++,e=dI.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=o,tt(o);return}o=t.ownerDocument||t,r=dy(r),(a=ds.get(a))&&dk(r,a),tt(o=o.createElement("link"));var i=o;i._p=new Promise(function(e,t){i.onload=e,i.onerror=t}),cm(o,"link",r),n.instance=o}null===e.stylesheets&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&0==(3&n.state.loading)&&(e.count++,n=dI.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}(n,sp,e.memoizedState,e.memoizedProps):(e=e.stateNode,(0x13ffff40&t)===t&&dP(n,e)));break;case 5:sT(e,t,n),e.flags&sE&&(e=e.stateNode,(0x13ffff40&t)===t&&dP(n,e));break;case 3:case 4:var r=sp;sp=dc(e.stateNode.containerInfo),sT(e,t,n),sp=r;break;case 22:null===e.memoizedState&&(null!==(r=e.alternate)&&null!==r.memoizedState?(r=sE,sE=0x1000000,sT(e,t,n),sE=r):sT(e,t,n));break;case 30:if(0!=(e.flags&sE)&&null!=(r=e.memoizedProps.name)&&"auto"!==r){var a=e.stateNode;a.paired=null,null===l$&&(l$=new Map),l$.set(r,a)}sT(e,t,n);break;default:sT(e,t,n)}}function sA(e){var t=e.alternate;if(null!==t&&null!==(e=t.child)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(null!==e)}}function sC(e){var t=e.deletions;if(0!=(16&e.flags)){if(null!==t)for(var n=0;n<t.length;n++){var r=t[n];l5=r,sP(r,e)}sA(e)}if(10256&e.subtreeFlags)for(e=e.child;null!==e;)sN(e),e=e.sibling}function sN(e){switch(e.tag){case 0:case 11:case 15:sC(e),2048&e.flags&&lT(9,e,e.return);break;case 3:case 12:default:sC(e);break;case 22:var t=e.stateNode;null!==e.memoizedState&&2&t._visibility&&(null===e.return||13!==e.return.tag)?(t._visibility&=-3,function e(t){var n=t.deletions;if(0!=(16&t.flags)){if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];l5=a,sP(a,t)}sA(t)}for(t=t.child;null!==t;){switch((n=t).tag){case 0:case 11:case 15:lT(8,n,n.return),e(n);break;case 22:2&(r=n.stateNode)._visibility&&(r._visibility&=-3,e(n));break;default:e(n)}t=t.sibling}}(e)):sC(e)}}function sP(e,t){for(;null!==l5;){var n=l5;switch(n.tag){case 0:case 11:case 15:lT(8,n,t);break;case 23:case 22:if(null!==n.memoizedState&&null!==n.memoizedState.cachePool){var r=n.memoizedState.cachePool.pool;null!=r&&r.refCount++}break;case 24:ay(n.memoizedState.cache)}if(null!==(r=n.child))r.return=n,l5=r;else for(n=e;null!==l5;){var a=(r=l5).sibling,o=r.return;if(!function e(t){var n=t.alternate;null!==n&&(t.alternate=null,e(n)),t.child=null,t.deletions=null,t.sibling=null,5===t.tag&&null!==(n=t.stateNode)&&e8(n),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}(r),r===n){l5=null;break}if(null!==a){a.return=o,l5=a;break}l5=o}}}var sO={getCacheForType:function(e){var t=au(ag),n=t.data.get(e);return void 0===n&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return au(ag).controller.signal}},sL="function"==typeof WeakMap?WeakMap:Map,sI=0,sR=null,sj=null,sD=0,sF=0,sM=null,sz=!1,sB=!1,sU=!1,s$=0,sq=0,sH=0,sV=0,sX=0,sG=0,sW=0,sY=null,sK=null,sQ=!1,sZ=0,sJ=0,s0=1/0,s1=null,s2=null,s4=0,s3=null,s6=null,s8=0,s5=0,s9=null,s7=null,ue=null,ut=null,un=null,ur=0,ua=null;function uo(){return 0!=(2&sI)&&0!==sD?sD&-sD:null!==G.T?u1():eW()}function ui(){if(0===sG)if(0==(0x20000000&sD)||rZ){var e=eR;0==(3932160&(eR<<=1))&&(eR=262144),sG=e}else sG=0x20000000;return null!==(e=ot.current)&&(e.flags|=32),sG}function ul(e,t){if(null!=t){var n=e.stateNode,r=n.ref;null===r&&(r=n.ref=cU(rc(e.memoizedProps,n))),null===ut&&(ut=[]),ut.push(t.bind(null,r))}}function us(e,t,n){(e===sR&&(2===sF||9===sF)||null!==e.cancelPendingCommit)&&(um(e,0),ud(e,sD,sG,!1)),e$(e,n),(0==(2&sI)||e!==sR)&&(e===sR&&(0==(2&sI)&&(sV|=n),4===sq&&ud(e,sD,sG,!1)),uW(e))}function uu(e,t,n){if(0!=(6&sI))throw Error(l(327));for(var r=!n&&0==(127&t)&&0==(t&e.expiredLanes)||eM(e,t),a=r?function(e,t){var n=sI;sI|=2;var r=uy(),a=ub();sR!==e||sD!==t?(s1=null,s0=eb()+500,um(e,t)):sB=eM(e,t);e:for(;;)try{if(0!==sF&&null!==sj){t=sj;var o=sM;t:switch(sF){case 1:sF=0,sM=null,ux(e,t,o,1);break;case 2:case 9:if(aR(o)){sF=0,sM=null,uk(t);break}t=function(){2!==sF&&9!==sF||sR!==e||(sF=7),uW(e)},o.then(t,t);break e;case 3:sF=7;break e;case 4:sF=5;break e;case 7:aR(o)?(sF=0,sM=null,uk(t)):(sF=0,sM=null,ux(e,t,o,7));break;case 5:var i=null;switch(sj.tag){case 26:i=sj.memoizedState;case 5:case 27:var s=sj;if(i?dC(i):s.stateNode.complete){sF=0,sM=null;var u=s.sibling;if(null!==u)sj=u;else{var c=s.return;null!==c?(sj=c,uE(c)):sj=null}break t}}sF=0,sM=null,ux(e,t,o,5);break;case 6:sF=0,sM=null,ux(e,t,o,6);break;case 8:up(),sq=6;break e;default:throw Error(l(462))}}for(;null!==sj&&!eh();)uS(sj);break}catch(t){ug(e,t)}return(at=ae=null,G.H=r,G.A=a,sI=n,null!==sj)?0:(sR=null,sD=0,ry(),sq)}(e,t):uw(e,t,!0),o=r;;){if(0===a)sB&&!r&&ud(e,t,0,!1);else{if(n=e.current.alternate,o&&!function(e){for(var t=e;;){var n=t.tag;if((0===n||11===n||15===n)&&16384&t.flags&&null!==(n=t.updateQueue)&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],o=a.getSnapshot;a=a.value;try{if(!nV(o(),a))return!1}catch(e){return!1}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(n)){a=uw(e,t,!1),o=!1;continue}if(2===a){if(o=t,e.errorRecoveryDisabledLanes&o)var i=0;else i=0!=(i=-0x20000001&e.pendingLanes)?i:0x20000000&i?0x20000000:0;if(0!==i){t=i;e:{a=sY;var s=e.current.memoizedState.isDehydrated;if(s&&(um(e,i).flags|=256),2!==(i=uw(e,i,!1))&&6!==i){if(sU&&!s){e.errorRecoveryDisabledLanes|=o,sV|=o,a=4;break e}o=sK,sK=a,null!==o&&(null===sK?sK=o:sK.push.apply(sK,o))}a=i}if(o=!1,2!==a)continue}}if(1===a){um(e,0),ud(e,t,0,!0);break}e:{switch(r=e,o=a){case 0:case 1:throw Error(l(345));case 4:if((4194048&t)!==t&&(0x3c00000&t)!==t)break;case 6:ud(r,t,sG,!sz);break e;case 2:sK=null;break;case 3:case 5:break;default:throw Error(l(329))}if((0x3c00000&t)===t&&10<(a=sZ+300-eb())){if(ud(r,t,sG,!sz),0!==eF(r,0,!0))break e;s8=t,r.timeoutHandle=cT(uc.bind(null,r,n,sK,s1,sQ,t,sG,sV,sW,sz,o,"Throttled",-0,0),a);break e}uc(r,n,sK,s1,sQ,t,sG,sV,sW,sz,o,null,-0,0)}}break}uW(e)}function uc(e,t,n,r,a,o,i,l,s,u,c,d,f,p){e.timeoutHandle=-1;var m,g,h=t.subtreeFlags,y=(0x13ffff00&o)===o;if(d=null,(y||8192&h||0x1002000==(0x1002000&h))&&(l$=null,s_(t,o,d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:tj}),y&&(h=d,null!=(y=(9===(y=e.containerInfo).nodeType?y:y.ownerDocument).__reactViewTransition)&&(h.count++,h.waitingForViewTransition=!0,h=dI.bind(h),y.finished.then(h,h))),null!==(m=d,g=h=(0x3c00000&o)===o?sZ-eb():(4194048&o)===o?sJ-eb():0,m.stylesheets&&0===m.count&&dD(m,m.stylesheets),h=0<m.count||0<m.imgCount?function(e){var t=setTimeout(function(){if(m.stylesheets&&dD(m,m.stylesheets),m.unsuspend){var e=m.unsuspend;m.unsuspend=null,e()}},6e4+g);0<m.imgBytes&&0===dO&&(dO=62500*function(){if("function"==typeof performance.getEntriesByType){for(var e=0,t=0,n=performance.getEntriesByType("resource"),r=0;r<n.length;r++){var a=n[r],o=a.transferSize,i=a.initiatorType,l=a.duration;if(o&&l&&ch(i)){for(i=0,l=a.responseEnd,r+=1;r<n.length;r++){var s=n[r],u=s.startTime;if(u>l)break;var c=s.transferSize,d=s.initiatorType;c&&ch(d)&&(i+=c*((s=s.responseEnd)<l?1:(l-u)/(s-u)))}if(--r,t+=8*(o+i)/(a.duration/1e3),10<++e)break}}if(0<e)return t/e/1e6}return navigator.connection&&"number"==typeof(e=navigator.connection.downlink)?e:5}());var n=setTimeout(function(){if(m.waitingForImages=!1,0===m.count&&(m.stylesheets&&dD(m,m.stylesheets),m.unsuspend)){var e=m.unsuspend;m.unsuspend=null,e()}},(m.imgBytes>dO?50:800)+g);return m.unsuspend=e,function(){m.unsuspend=null,clearTimeout(t),clearTimeout(n)}}:null))){s8=o,e.cancelPendingCommit=h(u_.bind(null,e,t,o,n,r,a,i,l,s,u,c,d,null,f,p)),ud(e,o,i,!u);return}u_(e,t,o,n,r,a,i,l,s,u,c,d)}function ud(e,t,n,r){t=ez(e,t)&~sX&~sV,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var a=t;0<a;){var o=31-eP(a),i=1<<o;r[o]=-1,a&=~i}0!==n&&eq(e,n,t)}function uf(){return 0!=(6&sI)||(uY(0,!1),!1)}function up(){if(null!==sj){if(0===sF)var e=sj.return;else e=sj,at=ae=null,oO(e),aB=null,aU=0,e=sj;for(;null!==e;)lx(e.alternate,e),e=e.return;sj=null}}function um(e,t){var n=e.timeoutHandle;return -1!==n&&(e.timeoutHandle=-1,c_(n)),null!==(n=e.cancelPendingCommit)&&(e.cancelPendingCommit=null,n()),s8=0,up(),sR=e,sj=n=rA(e.current,null),sD=t,sF=0,sM=null,sz=!1,sB=eM(e,t),sU=!1,sW=sG=sX=sV=sH=sq=0,sK=sY=null,sQ=!1,s$=ez(e,t),ry(),n}function ug(e,t){op=null,G.H=iL,t===aP||t===aL?(t=aM(),sF=3):t===aO?(t=aM(),sF=4):sF=t===iY?8:null!==t&&"object"==typeof t&&"function"==typeof t.then?6:1,sM=t,null===sj&&(sq=1,iH(e,rj(t,e.current)))}function uh(){var e=ot.current;return null===e||((4194048&sD)===sD?null===on:((0x3c00000&sD)===sD||0!=(0x20000000&sD))&&e===on)}function uy(){var e=G.H;return G.H=iL,null===e?iL:e}function ub(){var e=G.A;return G.A=sO,e}function uv(){sq=4,sz||(4194048&sD)!==sD&&null!==ot.current||(sB=!0),0==(0x7ffffff&sH)&&0==(0x7ffffff&sV)||null===sR||ud(sR,sD,sG,!1)}function uw(e,t,n){var r=sI;sI|=2;var a=uy(),o=ub();(sR!==e||sD!==t)&&(s1=null,um(e,t)),t=!1;var i=sq;e:for(;;)try{if(0!==sF&&null!==sj){var l=sj,s=sM;switch(sF){case 8:up(),i=6;break e;case 3:case 2:case 9:case 6:null===ot.current&&(t=!0);var u=sF;if(sF=0,sM=null,ux(e,l,s,u),n&&sB){i=0;break e}break;default:u=sF,sF=0,sM=null,ux(e,l,s,u)}}(function(){for(;null!==sj;)uS(sj)})(),i=sq;break}catch(t){ug(e,t)}return t&&e.shellSuspendCounter++,at=ae=null,sI=r,G.H=a,G.A=o,null===sj&&(sR=null,sD=0,ry()),i}function uS(e){var t=lh(e.alternate,e,s$);e.memoizedProps=e.pendingProps,null===t?uE(e):sj=t}function uk(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=i9(n,t,t.pendingProps,t.type,void 0,sD);break;case 11:t=i9(n,t,t.pendingProps,t.type.render,t.ref,sD);break;case 5:oO(t);var r=t;r===rK&&(rZ?(r3(r),5===r.tag&&null!=r.stateNode&&(rQ=r.stateNode)):(r3(r),rZ=!0));default:lx(n,t),t=lh(n,t=sj=rC(t,s$),s$)}e.memoizedProps=e.pendingProps,null===t?uE(e):sj=t}function ux(e,t,n,r){at=ae=null,oO(t),aB=null,aU=0;var a=t.return;try{if(function(e,t,n,r,a){if(n.flags|=32768,null!==r&&"object"==typeof r&&"function"==typeof r.then){if(null!==(t=n.alternate)&&ai(t,n,a,!0),null!==(n=ot.current)){switch(n.tag){case 31:case 13:case 19:return null===on?uv():null===n.alternate&&0===sq&&(sq=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===aI?n.flags|=16384:(null===(t=n.updateQueue)?n.updateQueue=new Set([r]):t.add(r),uF(e,r,a)),!1;case 22:return n.flags|=65536,r===aI?n.flags|=16384:(null===(t=n.updateQueue)?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):null===(n=t.retryQueue)?t.retryQueue=new Set([r]):n.add(r),uF(e,r,a)),!1}throw Error(l(435,n.tag))}return uF(e,r,a),uv(),!1}if(rZ)return null!==(t=ot.current)?(0==(65536&t.flags)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==r1&&r9(rj(e=Error(l(422),{cause:r}),n))):(r!==r1&&r9(rj(t=Error(l(423),{cause:r}),n)),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=rj(r,n),a=iX(e.stateNode,r,a),a0(e,a),4!==sq&&(sq=2)),!1;var o=Error(l(520),{cause:r});if(o=rj(o,n),null===sY?sY=[o]:sY.push(o),4!==sq&&(sq=2),null===t)return!0;r=rj(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=iX(n.stateNode,r,e),a0(n,e),!1;case 1:if(t=n.type,o=n.stateNode,0==(128&n.flags)&&("function"==typeof t.getDerivedStateFromError||null!==o&&"function"==typeof o.componentDidCatch&&(null===s2||!s2.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,iW(a=iG(a),e,n,r),a0(n,a),!1;break;case 22:if(null!==n.memoizedState)return n.flags|=65536,!1}n=n.return}while(null!==n)return!1}(e,a,t,n,sD)){sq=1,iH(e,rj(n,e.current)),sj=null;return}}catch(t){if(null!==a)throw sj=a,t;sq=1,iH(e,rj(n,e.current)),sj=null;return}32768&t.flags?(rZ||1===r?e=!0:sB||0!=(0x20000000&sD)?e=!1:(sz=e=!0,(2===r||9===r||3===r||6===r)&&null!==(r=ot.current)&&13===r.tag&&(r.flags|=16384)),uT(t,e)):uE(t)}function uE(e){var t=e;do{if(0!=(32768&t.flags))return void uT(t,sz);e=t.return;var n=function(e,t,n){var r=t.pendingProps;switch(rW(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:case 1:return lk(t),null;case 3:return n=t.stateNode,r=null,null!==e&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ar(ag),ei(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(null===e||null===e.child)&&(r6(t)?ly(t):null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,r5())),lk(t),null;case 26:var a=t.type,o=t.memoizedState;return null===e?(ly(t),null!==o?(lk(t),lv(t,o)):(lk(t),lb(t,a,null,r,n))):o?o!==e.memoizedState?(ly(t),lk(t),lv(t,o)):(lk(t),t.flags&=-0x1000001):((e=e.memoizedProps)!==r&&ly(t),lk(t),lb(t,a,e,r,n)),null;case 27:if(es(t),n=er.current,a=t.type,null!==e&&null!=t.stateNode)e.memoizedProps!==r&&ly(t);else{if(!r){if(null===t.stateNode)throw Error(l(166));return lk(t),t.subtreeFlags&=-0x2000001,null}e=et.current,r6(t)?r4(t,e):(t.stateNode=e=da(a,r,n),ly(t))}return lk(t),t.subtreeFlags&=-0x2000001,null;case 5:if(es(t),a=t.type,null!==e&&null!=t.stateNode)e.memoizedProps!==r&&ly(t);else{if(!r){if(null===t.stateNode)throw Error(l(166));return lk(t),t.subtreeFlags&=-0x2000001,null}if(o=et.current,r6(t))r4(t,o);else{var i=cv(er.current);switch(o){case 1:o=i.createElementNS("http://www.w3.org/2000/svg",a);break;case 2:o=i.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;default:switch(a){case"svg":o=i.createElementNS("http://www.w3.org/2000/svg",a);break;case"math":o=i.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;case"script":(o=i.createElement("div")).innerHTML="<script><\/script>",o=o.removeChild(o.firstChild);break;case"select":o="string"==typeof r.is?i.createElement("select",{is:r.is}):i.createElement("select"),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o="string"==typeof r.is?i.createElement(a,{is:r.is}):i.createElement(a)}}o[eQ]=t,o[eZ]=r;e:for(i=t.child;null!==i;){if(5===i.tag||6===i.tag)o.appendChild(i.stateNode);else if(4!==i.tag&&27!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}switch(t.stateNode=o,cm(o,a,r),a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break;case"img":r=!0;break;default:r=!1}r&&ly(t)}}return lk(t),t.subtreeFlags&=-0x2000001,lb(t,t.type,null===e?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&ly(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(l(166));if(e=er.current,r6(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(a=rK))switch(a.tag){case 27:case 5:r=a.memoizedProps}e[eQ]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||cd(e.nodeValue,n)))||r2(t,!0)}else(e=cv(e).createTextNode(r))[eQ]=t,t.stateNode=e}return lk(t),null;case 31:if(n=t.memoizedState,null===e||null!==e.memoizedState){if(r=r6(t),null!==n){if(null===e){if(!r)throw Error(l(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(l(557));e[eQ]=t}else r8(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;lk(t),e=!1}else n=r5(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e){if(256&t.flags)return ol(t),t;return ol(t),null}if(0!=(128&t.flags))throw Error(l(558))}return lk(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(a=r6(t),null!==r&&null!==r.dehydrated){if(null===e){if(!a)throw Error(l(318));if(!(a=null!==(a=t.memoizedState)?a.dehydrated:null))throw Error(l(317));a[eQ]=t}else r8(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;lk(t),a=!1}else a=r5(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a){if(256&t.flags)return ol(t),t;return ol(t),null}}if(ol(t),0!=(128&t.flags))return t.lanes=n,t;return n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(r=t.child,a=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(a=r.alternate.memoizedState.cachePool.pool),o=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),lw(t,t.updateQueue),lk(t),null;case 4:return ei(),null===e&&ct(t.stateNode.containerInfo),t.flags|=0x4000000,lk(t),null;case 10:return ar(t.type),lk(t),null;case 19:if(oc(t),null===(r=t.memoizedState))return lk(t),null;if(a=0!=(128&t.flags),null===(o=r.rendering))if(a)lS(r,!1);else{if(0!==sq||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(o=od(e))){for(t.flags|=128,lS(r,!1),t.updateQueue=e=o.updateQueue,lw(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)rC(n,e),n=n.sibling;return ou(t,1&os.current|2),rZ&&rV(t,r.treeForkCount),t.child}e=e.sibling}null!==r.tail&&eb()>s0&&(t.flags|=128,a=!0,lS(r,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=od(o))){if(t.flags|=128,a=!0,t.updateQueue=e=e.updateQueue,lw(t,e),lS(r,!0),null===r.tail&&"collapsed"!==r.tailMode&&"visible"!==r.tailMode&&!o.alternate&&!rZ)return lk(t),null}else 2*eb()-r.renderingStartTime>s0&&0x20000000!==n&&(t.flags|=128,a=!0,lS(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=r.last)?e.sibling=o:t.child=o,r.last=o)}if(null!==r.tail){e=r.tail;e:{for(n=e;null!==n;){if(null!==n.alternate){n=!1;break e}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=eb(),e.sibling=null,o=os.current,o=a?1&o|2:1&o,"visible"===r.tailMode||"collapsed"===r.tailMode||!n||rZ?ou(t,o):(n=o,ee(ot,t),ee(os,n),null===on&&(on=t)),rZ&&rV(t,r.treeForkCount),e}return lk(t),null;case 22:case 23:return ol(t),oe(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!=(0x20000000&n)&&0==(128&t.flags)&&(lk(t),6&t.subtreeFlags&&(t.flags|=8192)):lk(t),null!==(n=t.updateQueue)&&lw(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&J(a_),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ar(ag),lk(t),null;case 25:return null;case 30:return t.flags|=0x2000000,lk(t),null}throw Error(l(156,t.tag))}(t.alternate,t,s$);if(null!==n){sj=n;return}if(null!==(t=t.sibling)){sj=t;return}sj=t=e}while(null!==t)0===sq&&(sq=5)}function uT(e,t){do{var n=function(e,t){switch(rW(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ar(ag),ei(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return es(t),null;case 31:if(null!==t.memoizedState){if(ol(t),null===t.alternate)throw Error(l(340));r8()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(ol(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(l(340));r8()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return oc(t),65536&(e=t.flags)?(t.flags=-65537&e|128,null!==(e=t.memoizedState)&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return ei(),null;case 10:return ar(t.type),null;case 22:case 23:return ol(t),oe(),null!==e&&J(a_),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return ar(ag),null;default:return null}}(e.alternate,e);if(null!==n){n.flags&=32767,sj=n;return}if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling)){sj=e;return}sj=e=n}while(null!==e)sq=6,sj=null}function u_(e,t,n,r,a,o,i,s,u,c,d,f){e.cancelPendingCommit=null;do uI();while(0!==s4)if(0!=(6&sI))throw Error(l(327));if(null!==t){if(t===e.current)throw Error(l(177));e===sR&&(sj=sR=null,sD=0),s6=t,s3=e,s8=n,s9=a,s7=r,function(e,t,n,r,a,o,i){var l,s=t.lanes|t.childLanes;if(s5=s,!function(e,t,n,r,a,o){var i=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(n=i&~n;0<n;){var c=31-eP(n),d=1<<c;l[c]=0,s[c]=-1;var f=u[c];if(null!==f)for(u[c]=null,c=0;c<f.length;c++){var p=f[c];null!==p&&(p.lane&=-0x20000001)}n&=~d}0!==r&&eq(e,r,0),0!==o&&0===a&&0!==e.tag&&(e.suspendedLanes|=o&~(i&~t))}(e,n,s|=rh,r,a,o),ut=null,(0x13ffff00&n)===n?(l=e.transitionTypes,e.transitionTypes=null,un=l,r=10262):(un=null,r=10256),0!=(t.subtreeFlags&r)||0!=(t.flags&r)?(e.callbackNode=null,e.callbackPriority=0,em(ek,function(){return uR(),null})):(e.callbackNode=null,e.callbackPriority=0),lU=!1,r=0!=(13878&t.flags),0!=(13878&t.subtreeFlags)||r){r=G.T,G.T=null,a=W.p,W.p=2,o=sI,sI|=4;try{!function(e,t,n){if(e=e.containerInfo,cy=dX,nQ(e=nK(e))){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{var a=(r=(r=e.ownerDocument)&&r.defaultView||window).getSelection&&r.getSelection();if(a&&0!==a.rangeCount){r=a.anchorNode;var o,i=a.anchorOffset,l=a.focusNode;a=a.focusOffset;try{r.nodeType,l.nodeType}catch(e){r=null;break e}var s=0,u=-1,c=-1,d=0,f=0,p=e,m=null;t:for(;;){for(;p!==r||0!==i&&3!==p.nodeType||(u=s+i),p!==l||0!==a&&3!==p.nodeType||(c=s+a),3===p.nodeType&&(s+=p.nodeValue.length),null!==(o=p.firstChild);)m=p,p=o;for(;;){if(p===e)break t;if(m===r&&++d===i&&(u=s),m===l&&++f===a&&(c=s),null!==(o=p.nextSibling))break;m=(p=m).parentNode}p=o}r=-1===u||-1===c?null:{start:u,end:c}}else r=null}r=r||{start:0,end:0}}else r=null;for(cb={focusedElem:e,selectionRange:r},dX=!1,n=(0x13ffff00&n)===n,l5=t,t=n?9270:1024;null!==l5;){if(e=l5,n&&null!==(r=e.deletions))for(i=0;i<r.length;i++)n&&lZ(r[i]);if(null===e.alternate&&0!=(2&e.flags))n&&lq(e),sn(n);else{if(22===e.tag){if(r=e.alternate,null!==e.memoizedState){null!==r&&null===r.memoizedState&&n&&lZ(r),sn(n);continue}else if(null!==r&&null!==r.memoizedState){n&&lq(e),sn(n);continue}}r=e.child,0!=(e.subtreeFlags&t)&&null!==r?(r.return=e,l5=r):(n&&function e(t){for(t=t.child;null!==t;){if(30===t.tag){var n=t.memoizedProps,r=rc(n,t.stateNode);n=rf(n.default,n.update),t.flags&=-5,"none"!==n&&lG(t,r,n,t.memoizedState=[],!1)}else 0!=(0x2000000&t.subtreeFlags)&&e(t);t=t.sibling}}(e),sn(n))}}l$=null}(e,t,n)}finally{sI=o,W.p=a,G.T=r}}s4=1,lU?ue=function(e,t,n,r,a,o,i,l,s){var u=9===t.nodeType?t:t.ownerDocument;try{var c=u.startViewTransition({update:function(){var t=u.defaultView,n=t.navigation&&t.navigation.transition,i=u.fonts.status;r();var l=[];if("loaded"===i&&(u.documentElement.clientHeight,"loading"===u.fonts.status&&l.push(u.fonts.ready)),i=l.length,null!==e)for(var s=e.suspenseyImages,c=0,d=0;d<s.length;d++){var f=s[d];if(!f.complete){var p=f.getBoundingClientRect();if(0<p.bottom&&0<p.right&&p.top<t.innerHeight&&p.left<t.innerWidth){if((c+=dN(f))>dO){l.length=i;break}f=new Promise(cz.bind(f)),l.push(f)}}}return 0<l.length?(t=Promise.race([Promise.all(l),new Promise(function(e){return setTimeout(e,500)})]).then(a,a),(n?Promise.allSettled([n.finished,t]):t).then(o,o)):(a(),n)?n.finished.then(o,o):void o()},types:n});u.__reactViewTransition=c;var d=[];return c.ready.then(function(){for(var e=u.documentElement.getAnimations({subtree:!0}),t=0;t<e.length;t++){var n=e[t],r=n.effect,a=r.pseudoElement;if(null!=a&&a.startsWith("::view-transition")){d.push(n),n=r.getKeyframes();for(var o=a=void 0,l=!0,s=0;s<n.length;s++){var c=n[s],f=c.width;if(void 0===a)a=f;else if(a!==f){l=!1;break}if(f=c.height,void 0===o)o=f;else if(o!==f){l=!1;break}delete c.width,delete c.height,"none"===c.transform&&delete c.transform}l&&void 0!==a&&void 0!==o&&(r.setKeyframes(n),(l=getComputedStyle(r.target,r.pseudoElement)).width!==a||l.height!==o)&&((l=n[0]).width=a,l.height=o,(l=n[n.length-1]).width=a,l.height=o,r.setKeyframes(n))}}i()},function(e){u.__reactViewTransition===c&&(u.__reactViewTransition=null);try{"object"==typeof e&&null!==e&&"InvalidStateError"===e.name&&("View transition was skipped because document visibility state is hidden."===e.message||"Skipping view transition because document visibility state has become hidden."===e.message||"Skipping view transition because viewport size changed."===e.message||"Transition was aborted because of invalid state"===e.message)&&(e=null),null!==e&&s(e)}finally{r(),a(),i()}}),c.finished.finally(function(){for(var e=0;e<d.length;e++)d[e].cancel();u.__reactViewTransition===c&&(u.__reactViewTransition=null),l()}),c}catch(e){return r(),a(),i(),null}}(i,e.containerInfo,un,uN,uP,uC,uO,uR,uA):(uN(),uP(),uO())}(e,t,n,i,s,u,f)}}function uA(e){0!==s4&&(0,s3.onRecoverableError)(e,{componentStack:null})}function uC(){3===s4&&(s4=0,sy(s6,s3),s4=4)}function uN(){if(1===s4){s4=0;var e=s3,t=s6,n=s8,r=0!=(13878&t.flags);if(0!=(13878&t.subtreeFlags)||r){r=G.T,G.T=null;var a=W.p;W.p=2;var o=sI;sI|=4;try{l7=se=!1,sm(t,e,n),n=cb;var i=nK(e.containerInfo),l=n.focusedElem,s=n.selectionRange;if(i!==l&&l&&l.ownerDocument&&function e(t,n){return!!t&&!!n&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(l.ownerDocument.documentElement,l)){if(null!==s&&nQ(l)){var u=s.start,c=s.end;if(void 0===c&&(c=u),"selectionStart"in l)l.selectionStart=u,l.selectionEnd=Math.min(c,l.value.length);else{var d=l.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=l.textContent.length,g=Math.min(s.start,m),h=void 0===s.end?g:Math.min(s.end,m);!p.extend&&g>h&&(i=h,h=g,g=i);var y=nY(l,g),b=nY(l,h);if(y&&b&&(1!==p.rangeCount||p.anchorNode!==y.node||p.anchorOffset!==y.offset||p.focusNode!==b.node||p.focusOffset!==b.offset)){var v=d.createRange();v.setStart(y.node,y.offset),p.removeAllRanges(),g>h?(p.addRange(v),p.extend(b.node,b.offset)):(v.setEnd(b.node,b.offset),p.addRange(v))}}}}for(d=[],p=l;p=p.parentNode;)1===p.nodeType&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for("function"==typeof l.focus&&l.focus(),l=0;l<d.length;l++){var w=d[l];w.element.scrollLeft=w.left,w.element.scrollTop=w.top}}dX=!!cy,cb=cy=null}finally{sI=o,W.p=a,G.T=r}}e.current=t,s4=2}}function uP(){if(2===s4){s4=0;var e=s3,t=s6,n=0!=(8772&t.flags);if(0!=(8772&t.subtreeFlags)||n){n=G.T,G.T=null;var r=W.p;W.p=2;var a=sI;sI|=4;try{sr(e,t.alternate,t)}finally{sI=a,W.p=r,G.T=n}}s4=3}}function uO(){if(4===s4||3===s4){s4=0;var e=ue;ue=null,ey();var t=s3,n=s6,r=s8,a=s7,o=(0x13ffff00&r)===r?10262:10256;if(0!=(n.subtreeFlags&o)||0!=(n.flags&o)?s4=5:(s4=0,s6=s3=null,uL(t,t.pendingLanes)),0===(o=t.pendingLanes)&&(s2=null),eG(r),n=n.stateNode,eC&&"function"==typeof eC.onCommitFiberRoot)try{eC.onCommitFiberRoot(eA,n,void 0,128==(128&n.current.flags))}catch(e){}if(null!==a){n=G.T,o=W.p,W.p=2,G.T=null;try{for(var i=t.onRecoverableError,l=0;l<a.length;l++){var s=a[l];i(s.value,{componentStack:s.stack})}}finally{G.T=n,W.p=o}}if(a=ut,i=un,un=null,null!==a&&(ut=null,null===i&&(i=[]),null!==e))for(s=0;s<a.length;s++)void 0!==(n=(0,a[s])(i))&&e.finished.finally(n);0!=(3&s8)&&uI(),uW(t),o=t.pendingLanes,0!=(261930&r)&&0!=(42&o)?t===ua?ur++:(ur=0,ua=t):(ur=0,ua=null),uY(0,!1)}}function uL(e,t){0==(e.pooledCacheLanes&=t)&&null!=(t=e.pooledCache)&&(e.pooledCache=null,ay(t))}function uI(){return null!==ue&&(ue.skipTransition(),ue=null),uN(),uP(),uO(),uR()}function uR(){if(5!==s4)return!1;var e=s3,t=s5;s5=0;var n=eG(s8),r=G.T,a=W.p;try{W.p=32>n?32:n,G.T=null,n=s9,s9=null;var o=s3,i=s8;if(s4=0,s6=s3=null,s8=0,0!=(6&sI))throw Error(l(331));var s=sI;if(sI|=4,sN(o.current),sk(o,o.current,i,n),sI=s,uY(0,!1),eC&&"function"==typeof eC.onPostCommitFiberRoot)try{eC.onPostCommitFiberRoot(eA,o)}catch(e){}return!0}finally{W.p=a,G.T=r,uL(e,t)}}function uj(e,t,n){t=rj(n,t),t=iX(e.stateNode,t,2),null!==(e=aZ(e,t,2))&&(e$(e,2),uW(e))}function uD(e,t,n){if(3===e.tag)uj(e,e,n);else for(;null!==t;){if(3===t.tag){uj(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===s2||!s2.has(r))){e=rj(n,e),null!==(r=aZ(t,n=iG(2),2))&&(iW(n,r,t,e),e$(r,2),uW(r));break}}t=t.return}}function uF(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new sL;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(sU=!0,a.add(n),e=uM.bind(null,e,t,n),t.then(e,e))}function uM(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,sR===e&&(sD&n)===n&&((4===sq||3===sq&&(0x3c00000&sD)===sD&&300>eb()-sZ)&&0==(2&sI)?um(e,0):sX|=n,sW===sD&&(sW=0)),uW(e)}function uz(e,t){0===t&&(t=eB()),null!==(e=rw(e,t))&&(e$(e,t),uW(e))}function uB(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),uz(e,n)}function uU(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(l(314))}null!==r&&r.delete(t),uz(e,n)}var u$=null,uq=null,uH=!1,uV=!1,uX=!1,uG=0;function uW(e){e!==uq&&null===e.next&&(null===uq?u$=uq=e:uq=uq.next=e),uV=!0,uH||(uH=!0,cN(function(){0!=(6&sI)?em(ew,uK):uQ()}))}function uY(e,t){if(!uX&&uV){uX=!0;do for(var n=!1,r=u$;null!==r;){if(!t)if(0!==e){var a=r.pendingLanes;if(0===a)var o=0;else{var i=r.suspendedLanes,l=r.pingedLanes;o=0xc000095&(o=(1<<31-eP(42|e)+1)-1&(a&~(i&~l)))?0xc000095&o|1:o?2|o:0}0!==o&&(n=!0,u0(r,o))}else o=sD,0==(3&(o=eF(r,r===sR?o:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||eM(r,o)||(n=!0,u0(r,o));r=r.next}while(n)uX=!1}}function uK(){uQ()}function uQ(){uV=uH=!1;var e,t=0;0===uG||((e=window.event)&&"popstate"===e.type?e===cE||(cE=e,0):(cE=null,1))||(t=uG);for(var n=eb(),r=null,a=u$;null!==a;){var o=a.next,i=uZ(a,n);0===i?(a.next=null,null===r?u$=o:r.next=o,null===o&&(uq=r)):(r=a,(0!==t||0!=(3&i))&&(uV=!0)),a=o}0!==s4&&5!==s4||uY(t,!1),0!==uG&&(uG=0)}function uZ(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=-0x3c00001&e.pendingLanes;0<o;){var i=31-eP(o),l=1<<i,s=a[i];-1===s?(0==(l&n)||0!=(l&r))&&(a[i]=function(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return -1}}(l,t)):s<=t&&(e.expiredLanes|=l),o&=~l}if(t=sR,n=sD,n=eF(e,e===t?n:0,null!==e.cancelPendingCommit||-1!==e.timeoutHandle),r=e.callbackNode,0===n||e===t&&(2===sF||9===sF)||null!==e.cancelPendingCommit)return null!==r&&null!==r&&eg(r),e.callbackNode=null,e.callbackPriority=0;if(0==(3&n)||eM(e,n)){if((t=n&-n)===e.callbackPriority)return t;switch(null!==r&&eg(r),eG(n)){case 2:case 8:n=eS;break;case 32:default:n=ek;break;case 0x10000000:n=eE}return n=em(n,r=uJ.bind(null,e)),e.callbackPriority=t,e.callbackNode=n,t}return null!==r&&null!==r&&eg(r),e.callbackPriority=2,e.callbackNode=null,2}function uJ(e,t){if(0!==s4&&5!==s4)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(uI()&&e.callbackNode!==n)return null;var r=sD;return 0===(r=eF(e,e===sR?r:0,null!==e.cancelPendingCommit||-1!==e.timeoutHandle))?null:(uu(e,r,t),uZ(e,eb()),null!=e.callbackNode&&e.callbackNode===n?uJ.bind(null,e):null)}function u0(e,t){if(uI())return null;uu(e,t,!0)}function u1(){if(0===uG){var e=ak;0===e&&(e=eI,0==(261888&(eI<<=1))&&(eI=256)),uG=e}return uG}function u2(e){return null==e||"symbol"==typeof e||"boolean"==typeof e?null:"function"==typeof e?e:tR(e)}for(var u4=0;u4<rl.length;u4++){var u3=rl[u4];rs(u3.toLowerCase(),"on"+(u3[0].toUpperCase()+u3.slice(1)))}rs(n7,"onAnimationEnd"),rs(re,"onAnimationIteration"),rs(rt,"onAnimationStart"),rs("dblclick","onDoubleClick"),rs("focusin","onFocus"),rs("focusout","onBlur"),rs(rn,"onTransitionRun"),rs(rr,"onTransitionStart"),rs(ra,"onTransitionCancel"),rs(ro,"onTransitionEnd"),ti("onMouseEnter",["mouseout","mouseover"]),ti("onMouseLeave",["mouseout","mouseover"]),ti("onPointerEnter",["pointerout","pointerover"]),ti("onPointerLeave",["pointerout","pointerover"]),to("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),to("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),to("onBeforeInput",["compositionend","keypress","textInput","paste"]),to("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),to("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),to("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var u6="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),u8=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(u6));function u5(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,u=l.currentTarget;if(l=l.listener,s!==o&&a.isPropagationStopped())break e;o=l,a.currentTarget=u;try{o(a)}catch(e){rp(e)}a.currentTarget=null,o=s}else for(i=0;i<r.length;i++){if(s=(l=r[i]).instance,u=l.currentTarget,l=l.listener,s!==o&&a.isPropagationStopped())break e;o=l,a.currentTarget=u;try{o(a)}catch(e){rp(e)}a.currentTarget=null,o=s}}}}function u9(e,t){var n=t[e0];void 0===n&&(n=t[e0]=new Set);var r=e+"__bubble";n.has(r)||(cn(t,e,2,!1),n.add(r))}function u7(e,t,n){var r=0;t&&(r|=4),cn(n,e,r,t)}var ce="_reactListening"+Math.random().toString(36).slice(2);function ct(e){if(!e[ce]){e[ce]=!0,tr.forEach(function(t){"selectionchange"!==t&&(u8.has(t)||u7(t,!1,e),u7(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[ce]||(t[ce]=!0,u7("selectionchange",!1,t))}}function cn(e,t,n,r){switch(dJ(t)){case 2:var a=dG;break;case 8:a=dW;break;default:a=dY}n=a.bind(null,t,n,e),a=void 0,tV&&("touchstart"===t||"touchmove"===t||"wheel"===t)&&(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function cr(e,t,n,r,a){var o=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var l=r.stateNode.containerInfo;if(l===a)break;if(4===i)for(i=r.return;null!==i;){var s=i.tag;if((3===s||4===s)&&i.stateNode.containerInfo===a)return;i=i.return}for(;null!==l;){if(null===(i=e5(l)))return;if(5===(s=i.tag)||6===s||26===s||27===s){r=o=i;continue e}l=l.parentNode}}r=r.return}t$(function(){var r=o,a=tF(n),i=[];e:{var l=ri.get(e);if(void 0!==l){var s=t5,c=e;switch(e){case"keypress":if(0===tQ(n))break e;case"keydown":case"keyup":s=nf;break;case"focusin":c="focus",s=nr;break;case"focusout":c="blur",s=nr;break;case"beforeblur":case"afterblur":s=nr;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=nt;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=nn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=ng;break;case n7:case re:case rt:s=na;break;case ro:s=nh;break;case"scroll":case"scrollend":s=t7;break;case"wheel":s=ny;break;case"copy":case"cut":case"paste":s=no;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=np;break;case"submit":s=nm;break;case"toggle":case"beforetoggle":s=nb}var d=0!=(4&t),f=!d&&("scroll"===e||"scrollend"===e),p=d?null!==l?l+"Capture":null:l;d=[];for(var m,g=r;null!==g;){var h=g;if(m=h.stateNode,5!==(h=h.tag)&&26!==h&&27!==h||null===m||null===p||null!=(h=tq(g,p))&&d.push(ca(g,h,m)),f)break;g=g.return}0<d.length&&(l=new s(l,c,null,n,a),i.push({event:l,listeners:d}))}}if(0==(7&t)){s="mouseover"===e||"pointerover"===e,l="mouseout"===e||"pointerout"===e,!(s&&n!==tD&&(c=n.relatedTarget||n.fromElement)&&(e5(c)||c[eJ]))&&(l||s)&&(c=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,l?(s=n.relatedTarget||n.toElement,l=r,null!==(s=s?e5(s):null)&&(f=u(s),d=s.tag,s!==f||5!==d&&27!==d&&6!==d)&&(s=null)):(l=null,s=r),l!==s&&(d=nt,h="onMouseLeave",p="onMouseEnter",g="mouse",("pointerout"===e||"pointerover"===e)&&(d=np,h="onPointerLeave",p="onPointerEnter",g="pointer"),f=null==l?c:e7(l),m=null==s?c:e7(s),(c=new d(h,g+"leave",l,n,a)).target=f,c.relatedTarget=m,h=null,e5(a)===r&&((d=new d(p,g+"enter",s,n,a)).target=m,d.relatedTarget=f,h=d),f=h,d=l&&s?x(l,s,ci):null,null!==l&&cl(i,c,l,d,!1),null!==s&&null!==f&&cl(i,f,s,d,!0)));e:{if("select"===(s=(l=r?e7(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===s&&"file"===l.type)var y,b=nj;else if(nN(l))if(nD)b=nH;else{b=n$;var v=nU}else(s=l.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)?b=nq:r&&tO(r.elementType)&&(b=nj);if(b&&(b=b(e,r))){nP(i,b,n,a);break e}v&&v(e,l,r)}switch(v=r?e7(r):window,e){case"focusin":(nN(v)||"true"===v.contentEditable)&&(nJ=v,n0=r,n1=null);break;case"focusout":n1=n0=nJ=null;break;case"mousedown":n2=!0;break;case"contextmenu":case"mouseup":case"dragend":n2=!1,n4(i,n,a);break;case"selectionchange":if(nZ)break;case"keydown":case"keyup":n4(i,n,a)}if(nw)t:{switch(e){case"compositionstart":var w="onCompositionStart";break t;case"compositionend":w="onCompositionEnd";break t;case"compositionupdate":w="onCompositionUpdate";break t}w=void 0}else nA?nT(e,n)&&(w="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(w="onCompositionStart");w&&(nx&&"ko"!==n.locale&&(nA||"onCompositionStart"!==w?"onCompositionEnd"===w&&nA&&(y=tK()):(tW="value"in(tG=a)?tG.value:tG.textContent,nA=!0)),0<(v=co(r,w)).length&&(w=new ni(w,e,null,n,a),i.push({event:w,listeners:v}),y?w.data=y:null!==(y=n_(n))&&(w.data=y))),(y=nk?function(e,t){switch(e){case"compositionend":return n_(t);case"keypress":if(32!==t.which)return null;return nE=!0," ";case"textInput":return" "===(e=t.data)&&nE?null:e;default:return null}}(e,n):function(e,t){if(nA)return"compositionend"===e||!nw&&nT(e,t)?(e=tK(),tY=tW=tG=null,nA=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return nx&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(w=co(r,"onBeforeInput")).length&&(v=new ni("onBeforeInput","beforeinput",null,n,a),i.push({event:v,listeners:w}),v.data=y);var S=e;if("submit"===S&&r&&r.stateNode===a){var k=u2((a[eZ]||null).action),E=n.submitter;E&&null!==(S=(S=E[eZ]||null)?u2(S.formAction):E.getAttribute("formAction"))&&(k=S,E=null);var T=new t5("action","action",null,n,a);i.push({event:T,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(0!==uG){var e=new FormData(a,E);ib(r,{pending:!0,data:e,method:a.method,action:k},null,e)}}else"function"==typeof k&&(T.preventDefault(),ib(r,{pending:!0,data:e=new FormData(a,E),method:a.method,action:k},k,e))},currentTarget:a}]})}}u5(i,t)})}function ca(e,t,n){return{instance:e,listener:t,currentTarget:n}}function co(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;if(5!==(a=a.tag)&&26!==a&&27!==a||null===o||(null!=(a=tq(e,n))&&r.unshift(ca(e,a,o)),null!=(a=tq(e,t))&&r.push(ca(e,a,o))),3===e.tag)return r;e=e.return}return[]}function ci(e){if(null===e)return null;do e=e.return;while(e&&5!==e.tag&&27!==e.tag)return e||null}function cl(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var l=n,s=l.alternate,u=l.stateNode;if(l=l.tag,null!==s&&s===r)break;5!==l&&26!==l&&27!==l||null===u||(s=u,a?null!=(u=tq(n,o))&&i.unshift(ca(n,u,s)):a||null!=(u=tq(n,o))&&i.push(ca(n,u,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var cs=/\r\n?/g,cu=/\u0000|\uFFFD/g;function cc(e){return("string"==typeof e?e:""+e).replace(cs,"\n").replace(cu,"")}function cd(e,t){return t=cc(t),cc(e)===t}function cf(e,t,n,r,a,o){switch(n){case"children":if("string"==typeof r)"body"===t||"textarea"===t&&""===r||tA(e,r);else{if("number"!=typeof r&&"bigint"!=typeof r)return;"body"!==t&&tA(e,""+r)}break;case"className":tp(e,"class",r);break;case"tabIndex":tp(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":tp(e,n,r);break;case"style":tP(e,r,o);return;case"data":if("object"!==t){tp(e,"data",r);break}case"src":case"href":if(""===r&&("a"!==t||"href"!==n)||null==r||"function"==typeof r||"symbol"==typeof r||"boolean"==typeof r){e.removeAttribute(n);break}r=tR(r),e.setAttribute(n,r);break;case"action":case"formAction":if("function"==typeof r){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}if("function"==typeof o&&("formAction"===n?("input"!==t&&cf(e,t,"name",a.name,a,null),cf(e,t,"formEncType",a.formEncType,a,null),cf(e,t,"formMethod",a.formMethod,a,null),cf(e,t,"formTarget",a.formTarget,a,null)):(cf(e,t,"encType",a.encType,a,null),cf(e,t,"method",a.method,a,null),cf(e,t,"target",a.target,a,null))),null==r||"symbol"==typeof r||"boolean"==typeof r){e.removeAttribute(n);break}r=tR(r),e.setAttribute(n,r);break;case"onClick":null!=r&&(e.onclick=tj);return;case"onScroll":null!=r&&u9("scroll",e);return;case"onScrollEnd":null!=r&&u9("scrollend",e);return;case"dangerouslySetInnerHTML":if(null!=r){if("object"!=typeof r||!("__html"in r))throw Error(l(61));if(null!=(n=r.__html)){if(null!=a.children)throw Error(l(60));(null!=o?o.__html:void 0)!==n&&(e.innerHTML=n)}}break;case"multiple":e.multiple=r&&"function"!=typeof r&&"symbol"!=typeof r;break;case"muted":e.muted=r&&"function"!=typeof r&&"symbol"!=typeof r;break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":case"autoFocus":break;case"xlinkHref":if(null==r||"function"==typeof r||"boolean"==typeof r||"symbol"==typeof r){e.removeAttribute("xlink:href");break}n=tR(r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":null!=r&&"function"!=typeof r&&"symbol"!=typeof r?e.setAttribute(n,r):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"credentialless":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&"function"!=typeof r&&"symbol"!=typeof r?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":!0===r?e.setAttribute(n,""):!1!==r&&null!=r&&"function"!=typeof r&&"symbol"!=typeof r?e.setAttribute(n,r):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":null!=r&&"function"!=typeof r&&"symbol"!=typeof r&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case"rowSpan":case"start":null==r||"function"==typeof r||"symbol"==typeof r||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case"popover":u9("beforetoggle",e),u9("toggle",e),tf(e,"popover",r);break;case"xlinkActuate":tm(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":tm(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":tm(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":tm(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":tm(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":tm(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":tm(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":tm(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":tm(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":tf(e,"is",r);break;case"innerText":case"textContent":return;default:if(2<n.length&&("o"===n[0]||"O"===n[0])&&("n"===n[1]||"N"===n[1]))return;tf(e,n=tL.get(n)||n,r)}tc=!0}function cp(e,t,n,r,a,o){switch(n){case"style":tP(e,r,o);return;case"dangerouslySetInnerHTML":if(null!=r){if("object"!=typeof r||!("__html"in r))throw Error(l(61));if(null!=(n=r.__html)){if(null!=a.children)throw Error(l(60));(null!=o?o.__html:void 0)!==n&&(e.innerHTML=n)}}break;case"children":if("string"==typeof r)tA(e,r);else{if("number"!=typeof r&&"bigint"!=typeof r)return;tA(e,""+r)}break;case"onScroll":null!=r&&u9("scroll",e);return;case"onScrollEnd":null!=r&&u9("scrollend",e);return;case"onClick":null!=r&&(e.onclick=tj);return;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":case"innerText":case"textContent":return;default:if(!ta.hasOwnProperty(n))e:{if("o"===n[0]&&"n"===n[1]&&(a=n.endsWith("Capture"),o=n.slice(2,a?n.length-7:void 0),"function"==typeof(t=null!=(t=e[eZ]||null)?t[n]:null)&&e.removeEventListener(o,t,a),"function"==typeof r)){"function"!=typeof t&&null!==t&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(o,r,a);break e}tc=!0,n in e?e[n]=r:!0===r?e.setAttribute(n,""):tf(e,n,r)}return}tc=!0}function cm(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":u9("error",e),u9("load",e);var r,a=!1,o=!1;for(r in n)if(n.hasOwnProperty(r)){var i=n[r];if(null!=i)switch(r){case"src":a=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(l(137,t));default:cf(e,t,r,i,n,null)}}o&&cf(e,t,"srcSet",n.srcSet,n,null),a&&cf(e,t,"src",n.src,n,null);return;case"input":u9("invalid",e);var s=r=i=o=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var d=n[a];if(null!=d)switch(a){case"name":o=d;break;case"type":i=d;break;case"checked":u=d;break;case"defaultChecked":c=d;break;case"value":r=d;break;case"defaultValue":s=d;break;case"children":case"dangerouslySetInnerHTML":if(null!=d)throw Error(l(137,t));break;default:cf(e,t,a,d,n,null)}}tk(e,r,s,u,c,i,o,!1);return;case"select":for(o in u9("invalid",e),a=i=r=null,n)if(n.hasOwnProperty(o)&&null!=(s=n[o]))switch(o){case"value":r=s;break;case"defaultValue":i=s;break;case"multiple":a=s;default:cf(e,t,o,s,n,null)}t=r,n=i,e.multiple=!!a,null!=t?tE(e,!!a,t,!1):null!=n&&tE(e,!!a,n,!0);return;case"textarea":for(i in u9("invalid",e),r=o=a=null,n)if(n.hasOwnProperty(i)&&null!=(s=n[i]))switch(i){case"value":a=s;break;case"defaultValue":o=s;break;case"children":r=s;break;case"dangerouslySetInnerHTML":if(null!=s)throw Error(l(91));break;default:cf(e,t,i,s,n,null)}t_(e,a,o,r);return;case"option":for(u in n)n.hasOwnProperty(u)&&null!=(a=n[u])&&("selected"===u?e.selected=a&&"function"!=typeof a&&"symbol"!=typeof a:cf(e,t,u,a,n,null));return;case"dialog":u9("beforetoggle",e),u9("toggle",e),u9("cancel",e),u9("close",e);break;case"iframe":case"object":u9("load",e);break;case"video":case"audio":for(a=0;a<u6.length;a++)u9(u6[a],e);break;case"image":u9("error",e),u9("load",e);break;case"details":u9("toggle",e);break;case"embed":case"source":case"link":u9("error",e),u9("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&null!=(a=n[c]))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(l(137,t));default:cf(e,t,c,a,n,null)}return;default:if(tO(t)){for(d in n)n.hasOwnProperty(d)&&void 0!==(a=n[d])&&cp(e,t,d,a,n,void 0);return}}for(s in n)n.hasOwnProperty(s)&&null!=(a=n[s])&&cf(e,t,s,a,n,null)}var cg={};function ch(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}var cy=null,cb=null;function cv(e){return 9===e.nodeType?e:e.ownerDocument}function cw(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function cS(e,t){if(0===e)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return 1===e&&"foreignObject"===t?0:e}function ck(e,t,n,r){return(n=cv(n).createElement(e))[eQ]=r,n[eZ]=t,cm(n,e,t),tt(n),n}function cx(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"bigint"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var cE=null,cT="function"==typeof setTimeout?setTimeout:void 0,c_="function"==typeof clearTimeout?clearTimeout:void 0,cA="function"==typeof Promise?Promise:void 0,cC="function"==typeof requestAnimationFrame?requestAnimationFrame:cT,cN="function"==typeof queueMicrotask?queueMicrotask:void 0!==cA?function(e){return cA.resolve(null).then(e).catch(cP)}:cT;function cP(e){setTimeout(function(){throw e})}function cO(e){return"head"===e}function cL(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)||"/&"===n){if(0===r){e.removeChild(a),fl(t);return}r--}else if("$"===n||"$?"===n||"$~"===n||"$!"===n||"&"===n)r++;else if("html"===n)dl(e.ownerDocument.documentElement);else if("head"===n){dl(n=e.ownerDocument.head);for(var o=n.firstChild;o;){var i=o.nextSibling,l=o.nodeName;o[e3]||"SCRIPT"===l||"STYLE"===l||"LINK"===l&&"stylesheet"===o.rel.toLowerCase()||n.removeChild(o),o=i}}else"body"===n&&dl(e.ownerDocument.body);n=a}while(n)fl(t)}function cI(e,t){var n=e;e=0;do{var r=n.nextSibling;if(1===n.nodeType?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",""===n.getAttribute("style")&&n.removeAttribute("style")):3===n.nodeType&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),r&&8===r.nodeType)if("/$"===(n=r.data))if(0===e)break;else e--;else"$"!==n&&"$?"!==n&&"$~"!==n&&"$!"!==n||e++;n=r}while(n)}function cR(e,t,n){if(t=CSS.escape(t)!==t?"r-"+btoa(t).replace(/=/g,""):t,e.style.viewTransitionName=t,null!=n&&(e.style.viewTransitionClass=n),"inline"===(n=getComputedStyle(e)).display){if(1===(t=e.getClientRects()).length)var r=1;else for(var a=r=0;a<t.length;a++){var o=t[a];0<o.width&&0<o.height&&r++}1===r&&((e=e.style).display=1===t.length?"inline-block":"block",e.marginTop="-"+n.paddingTop,e.marginBottom="-"+n.paddingBottom)}}function cj(e,t){e=e.style;var n=null!=(t=t.style)?t.hasOwnProperty("viewTransitionName")?t.viewTransitionName:t.hasOwnProperty("view-transition-name")?t["view-transition-name"]:null:null;e.viewTransitionName=null==n||"boolean"==typeof n?"":(""+n).trim(),n=null!=t?t.hasOwnProperty("viewTransitionClass")?t.viewTransitionClass:t.hasOwnProperty("view-transition-class")?t["view-transition-class"]:null:null,e.viewTransitionClass=null==n||"boolean"==typeof n?"":(""+n).trim(),"inline-block"===e.display&&(null==t?e.display=e.margin="":(n=t.display,e.display=null==n||"boolean"==typeof n?"":n,null!=(n=t.margin)?e.margin=n:(n=t.hasOwnProperty("marginTop")?t.marginTop:t["margin-top"],e.marginTop=null==n||"boolean"==typeof n?"":n,t=t.hasOwnProperty("marginBottom")?t.marginBottom:t["margin-bottom"],e.marginBottom=null==t||"boolean"==typeof t?"":t)))}function cD(e,t,n){return n=n.ownerDocument.defaultView,{rect:e,abs:"absolute"===t.position||"fixed"===t.position,clip:"none"!==t.clipPath||"visible"!==t.overflow||"none"!==t.filter||"none"!==t.mask||"none"!==t.mask||"0px"!==t.borderRadius,view:0<=e.bottom&&0<=e.right&&e.top<=n.innerHeight&&e.left<=n.innerWidth}}function cF(e){return cD(e.getBoundingClientRect(),getComputedStyle(e),e)}function cM(e){var t=e.getBoundingClientRect();return cD(t=new DOMRect(t.x+2e4,t.y+2e4,t.width,t.height),getComputedStyle(e),e)}function cz(e){this.addEventListener("load",e),this.addEventListener("error",e)}function cB(e,t){this._scope=document.documentElement,this._selector="::view-transition-"+e+"("+t+")"}function cU(e){return{name:e,group:new cB("group",e),imagePair:new cB("image-pair",e),old:new cB("old",e),new:new cB("new",e)}}function c$(e){this._fragmentFiber=e,this._observers=this._eventListeners=null}function cq(e,t,n,r){return y(e).addEventListener(t,n,r),!1}function cH(e,t,n,r){return y(e).removeEventListener(t,n,r),!1}function cV(e){return null!=e&&"boolean"!=typeof e&&(!0===e.once||e.signal instanceof AbortSignal)?{capture:e.capture,passive:e.passive}:e}function cX(e){return null==e?"c=0":"boolean"==typeof e?"c="+(e?"1":"0"):"c="+(e.capture?"1":"0")}function cG(e,t,n,r){if(0===e.length)return -1;r=cX(r);for(var a=0;a<e.length;a++){var o=e[a];if(o.type===t&&o.listener===n&&cX(o.optionsOrUseCapture)===r)return a}return -1}function cW(e,t){return 6!==e.tag&&function(e,t){function n(){r=!0}if(e.ownerDocument.activeElement===e)return!0;var r=!1;try{e.ownerDocument.addEventListener("focus",n,!0),(e.focus||HTMLElement.prototype.focus).call(e,t)}finally{e.ownerDocument.removeEventListener("focus",n,!0)}return r}(e=y(e),t)}function cY(e,t){return t.push(e),!1}function cK(e,t){return 6!==e.tag&&!!((e=y(e))===t||e.contains(t))&&(t.blur(),!0)}function cQ(e,t){return 6!==e.tag&&(e=y(e),t.observe(e),!1)}function cZ(e,t){return 6!==e.tag&&(e=y(e),t.unobserve(e),!1)}cB.prototype.animate=function(e,t){return(t="number"==typeof t?{duration:t}:E({},t)).pseudoElement=this._selector,this._scope.animate(e,t)},cB.prototype.getAnimations=function(){for(var e=this._scope,t=this._selector,n=e.getAnimations({subtree:!0}),r=[],a=0;a<n.length;a++){var o=n[a].effect;null!==o&&o.target===e&&o.pseudoElement===t&&r.push(n[a])}return r},cB.prototype.getComputedStyle=function(){return getComputedStyle(this._scope,this._selector)},c$.prototype.addEventListener=function(e,t,n){var r=null,a=null;if(null==n||"boolean"==typeof n||null===(r=n.signal||null)||!r.aborted){null===this._eventListeners&&(this._eventListeners=[]);var o=this._eventListeners;if(-1===cG(o,e,t,n)){var i=this,l=t;null!=n&&"boolean"!=typeof n&&!0===n.once&&(l=function(r){i.removeEventListener(e,t,n),"function"==typeof t?t.call(this,r):t.handleEvent(r)}),null!==r&&(a=i.removeEventListener.bind(i,e,t,n),r.addEventListener("abort",a,{once:!0}),a=r.removeEventListener.bind(r,"abort",a)),r=cV(n),o.push({type:e,listener:t,optionsOrUseCapture:n,attachedListener:l,cleanup:a}),p(this._fragmentFiber.child,!1,cq,e,l,r)}this._eventListeners=o}},c$.prototype.removeEventListener=function(e,t,n){var r=this._eventListeners;if(null!==r&&-1!==(t=cG(r,e,t,n))){var a=r[t];n=a.attachedListener;var o=a.cleanup;a=cV(a.optionsOrUseCapture),p(this._fragmentFiber.child,!1,cH,e,n,a),r.splice(t,1),null!==o&&o()}},c$.prototype.dispatchEvent=function(e){var t=m(this._fragmentFiber);if(null===t)return!0;t=y(t);var n=this._eventListeners;if(null!==n&&0<n.length||!e.bubbles){var r=9===t.nodeType?t.createComment(""):document.createTextNode("");if(n)for(var a=0;a<n.length;a++){var o=n[a];r.addEventListener(o.type,o.attachedListener,cV(o.optionsOrUseCapture))}if(t.appendChild(r),e=r.dispatchEvent(e),n)for(a=0;a<n.length;a++)o=n[a],r.removeEventListener(o.type,o.attachedListener,cV(o.optionsOrUseCapture));return t.removeChild(r),e}return t.dispatchEvent(e)},c$.prototype.focus=function(e){p(this._fragmentFiber.child,!0,cW,e,void 0,void 0)},c$.prototype.focusLast=function(e){var t=[];p(this._fragmentFiber.child,!0,cY,t,void 0,void 0);for(var n=t.length-1;0<=n&&!cW(t[n],e);n--);},c$.prototype.blur=function(){var e=m(this._fragmentFiber);null!==e&&null!==(e=cv(e=y(e)).activeElement)&&p(this._fragmentFiber.child,!1,cK,e,void 0,void 0)},c$.prototype.observeUsing=function(e){null===this._observers&&(this._observers=new Set),this._observers.add(e),p(this._fragmentFiber.child,!1,cQ,e,void 0,void 0)},c$.prototype.unobserveUsing=function(e){var t=this._observers;if(null!==t&&t.has(e)){t.delete(e),p(this._fragmentFiber.child,!1,cZ,e,void 0,void 0);for(var n=t=0;n<cJ.length;n++){var r=cJ[n];r.fragmentInstance===this&&r.observer===e?e.unobserve(r.instance):cJ[t++]=r}cJ.length=t}};var cJ=[],c0=!1;function c1(e,t){if(6===e.tag){var n=(e=e.stateNode).ownerDocument.createRange();n.selectNodeContents(e),t.push.apply(t,n.getClientRects())}else e=y(e),t.push.apply(t,e.getClientRects());return!1}function c2(e,t){var n=e.ownerDocument.createRange();n.selectNodeContents(e),e=n.getBoundingClientRect(),window.scrollTo(window.scrollX+e.left,t?window.scrollY+e.top:window.scrollY+e.bottom-window.innerHeight)}function c4(e,t){return c3(e=y(e),t),!1}function c3(e,t){null==e.reactFragments&&(e.reactFragments=new Set),e.reactFragments.add(t)}function c6(e,t){var n=t._eventListeners;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];e.addEventListener(a.type,a.attachedListener,cV(a.optionsOrUseCapture))}3!==e.nodeType&&(null!==(n=t._observers)&&n.forEach(function(n){for(var r=0,a=0;a<cJ.length;a++){var o=cJ[a];(o.fragmentInstance!==t||o.observer!==n||o.instance!==e)&&(cJ[r++]=o)}cJ.length=r,n.observe(e)}),c3(e,t))}function c8(e){var t=e.firstChild;for(t&&10===t.nodeType&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":c8(n),e8(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if("stylesheet"===n.rel.toLowerCase())continue}e.removeChild(n)}}function c5(e,t){for(;8!==e.nodeType;)if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!t||null===(e=de(e.nextSibling)))return null;return e}function c9(e){return"$?"===e.data||"$~"===e.data}function c7(e){return"$!"===e.data||"$?"===e.data&&"loading"!==e.ownerDocument.readyState}function de(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t||"$~"===t||"&"===t||"F!"===t||"F"===t)break;if("/$"===t||"/&"===t)return null}}return e}c$.prototype.getClientRects=function(){var e=[];return p(this._fragmentFiber.child,!1,c1,e,void 0,void 0),e},c$.prototype.getRootNode=function(e){var t=m(this._fragmentFiber);return null===t?this:y(t).getRootNode(e)},c$.prototype.compareDocumentPosition=function(e){var t=m(this._fragmentFiber);if(null===t)return Node.DOCUMENT_POSITION_DISCONNECTED;var n=[];p(this._fragmentFiber.child,!1,cY,n,void 0,void 0);var r=y(t);if(0===n.length){if(n=r,g(this._fragmentFiber)){e:{for(t=this._fragmentFiber.return;null!==t;){if(4===t.tag){t=t.stateNode.containerInfo;break e}if(3===t.tag||5===t.tag||27===t.tag)break;t=t.return}t=null}null!=t&&(n=t)}t=this._fragmentFiber;var a=r=n.compareDocumentPosition(e);return n===e?a=Node.DOCUMENT_POSITION_CONTAINS:r&Node.DOCUMENT_POSITION_CONTAINED_BY&&(a=null===(n=h(t)[1])?Node.DOCUMENT_POSITION_PRECEDING:0===(e=y(n).compareDocumentPosition(e))||e&Node.DOCUMENT_POSITION_FOLLOWING?Node.DOCUMENT_POSITION_FOLLOWING:Node.DOCUMENT_POSITION_PRECEDING),a|Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC}t=y(n[0]),a=y(n[n.length-1]);var o=g(this._fragmentFiber)?t.parentElement:r;if(null==o)return Node.DOCUMENT_POSITION_DISCONNECTED;r=o.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY,o=o.compareDocumentPosition(a)&Node.DOCUMENT_POSITION_CONTAINED_BY;var i=t.compareDocumentPosition(e),l=a.compareDocumentPosition(e),s=i&Node.DOCUMENT_POSITION_CONTAINED_BY||l&Node.DOCUMENT_POSITION_CONTAINED_BY;return l=r&&o&&i&Node.DOCUMENT_POSITION_FOLLOWING&&l&Node.DOCUMENT_POSITION_PRECEDING,(t=r&&t===e||o&&a===e||s||l?Node.DOCUMENT_POSITION_CONTAINED_BY:(r||t!==e)&&(o||a!==e)?i:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)&Node.DOCUMENT_POSITION_DISCONNECTED||t&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC||function(e,t,n,r,a){var o=e5(a);if(e&Node.DOCUMENT_POSITION_CONTAINED_BY){if(n=!!o)e:{for(;null!==o;){if(7===o.tag&&(o===t||o.alternate===t)){n=!0;break e}o=o.return}n=!1}return n}if(e&Node.DOCUMENT_POSITION_CONTAINS){if(null===o)return o=a.ownerDocument,a===o||a===o.documentElement||a===o.body;e:{for(o=t,t=m(t);null!==o;){if((5===o.tag||3===o.tag||27===o.tag)&&(o===t||o.alternate===t)){o=!0;break e}o=o.return}o=!1}return o}return e&Node.DOCUMENT_POSITION_PRECEDING?((t=!!o)&&!(t=o===n)&&(null===(t=x(n,o,k))?t=!1:(p(t,!0,w,o,n),o=b,b=null,t=null!==o)),t):!!(e&Node.DOCUMENT_POSITION_FOLLOWING)&&((t=!!o)&&!(t=o===r)&&(null===(t=x(r,o,k))?t=!1:(p(t,!0,S,o,r),o=b,v=b=null,t=null!==o)),t)}(t,this._fragmentFiber,n[0],n[n.length-1],e)?t:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC},c$.prototype.scrollIntoView=function(e){if("object"==typeof e)throw Error(l(566));var t=[];p(this._fragmentFiber.child,!1,cY,t,void 0,void 0);var n=!1!==e;if(0===t.length){var r=h(this._fragmentFiber);if(null===(r=n?r[1]||r[0]||m(this._fragmentFiber):r[0]||r[1]))return;if(6===r.tag)return void c2(e=y(r),n);if(9!==(r=y(r)).nodeType){if(11===r.nodeType){null!==(n="host"in r?r.host:null)&&n.scrollIntoView(e);return}r.scrollIntoView(e)}}for(r=n?t.length-1:0;r!==(n?-1:t.length);){var a=t[r];6===a.tag?c2(a=y(a),n):y(a).scrollIntoView(e),r+=n?-1:1}};var dt=null;function dn(e){e=e.nextSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n||"/&"===n){if(0===t)return de(e.nextSibling);t--}else"$"!==n&&"$!"!==n&&"$?"!==n&&"$~"!==n&&"&"!==n||t++}e=e.nextSibling}return null}function dr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n||"$~"===n||"&"===n){if(0===t)return e;t--}else"/$"!==n&&"/&"!==n||t++}e=e.previousSibling}return null}function da(e,t,n){switch(t=cv(n),e){case"html":if(!(e=t.documentElement))throw Error(l(452));return e;case"head":if(!(e=t.head))throw Error(l(453));return e;case"body":if(!(e=t.body))throw Error(l(454));return e;default:throw Error(l(451))}}function di(e,t,n){for(var r in n){var a=n[r];n.hasOwnProperty(r)&&null!=a&&cf(e,t,r,null,cg,a)}null!=n.dangerouslySetInnerHTML&&(e.textContent=""),e.onclick===tj&&(e.onclick=null),e8(e)}function dl(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);e8(e)}var ds=new Map,du=new Set;function dc(e){if("function"==typeof e.getRootNode){var t=e.getRootNode();if(9===t.nodeType||11===t.nodeType)return t}return 9===e.nodeType?e:e.ownerDocument}var dd=W.d;W.d={f:function(){var e=dd.f(),t=uf();return e||t},r:function(e){var t=e9(e);null!==t&&5===t.tag&&"form"===t.type?iw(t):dd.r(e)},D:function(e){dd.D(e),dp("dns-prefetch",e,null)},C:function(e,t){dd.C(e,t),dp("preconnect",e,t)},L:function(e,t,n){if(dd.L(e,t,n),df&&e&&t){var r='link[rel="preload"][as="'+tw(t)+'"]';"image"===t&&n&&n.imageSrcSet?(r+='[imagesrcset="'+tw(n.imageSrcSet)+'"]',"string"==typeof n.imageSizes&&(r+='[imagesizes="'+tw(n.imageSizes)+'"]')):r+='[href="'+tw(e)+'"]';var a=r;switch(t){case"style":a=dg(e);break;case"script":a=db(e)}if(!(ds.has(a)||(e=E({rel:"preload",href:"image"===t&&n&&n.imageSrcSet?void 0:e,as:t},n),ds.set(a,e),null!==df.querySelector(r)||"style"===t&&df.querySelector(dh(a))||"script"===t&&df.querySelector(dv(a))))){var o=df.createElement("link");cm(o,"link",e),"style"===t&&(o[e6]=!0,o.onload=o.onerror=function(){tn(o)}),tt(o),df.head.appendChild(o)}}},m:function(e,t){if(dd.m(e,t),df&&e){var n=t&&"string"==typeof t.as?t.as:"script",r='link[rel="modulepreload"][as="'+tw(n)+'"][href="'+tw(e)+'"]',a=r;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=db(e)}if(!ds.has(a)&&(e=E({rel:"modulepreload",href:e},t),ds.set(a,e),null===df.querySelector(r))){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(df.querySelector(dv(a)))return}cm(n=df.createElement("link"),"link",e),tt(n),df.head.appendChild(n)}}},X:function(e,t){if(dd.X(e,t),df&&e){var n=te(df).hoistableScripts,r=db(e),a=n.get(r);a||((a=df.querySelector(dv(r)))||(e=E({src:e,async:!0},t),(t=ds.get(r))&&dx(e,t),tt(a=df.createElement("script")),cm(a,"link",e),df.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(r,a))}},S:function(e,t,n){if(dd.S(e,t,n),df&&e){var r=te(df).hoistableStyles,a=dg(e);t=t||"default";var o=r.get(a);if(!o){var i={loading:0,preload:null};if(o=df.querySelector(dh(a)))i.loading=5;else{e=E({rel:"stylesheet",href:e,"data-precedence":t},n),(n=ds.get(a))&&dk(e,n);var l=o=df.createElement("link");tt(l),cm(l,"link",e),l._p=new Promise(function(e,t){l.onload=e,l.onerror=t}),l.addEventListener("load",function(){i.loading|=1}),l.addEventListener("error",function(){i.loading|=2}),i.loading|=4,dS(o,t,df)}o={type:"stylesheet",instance:o,count:1,state:i},r.set(a,o)}}},M:function(e,t){if(dd.M(e,t),df&&e){var n=te(df).hoistableScripts,r=db(e),a=n.get(r);a||((a=df.querySelector(dv(r)))||(e=E({src:e,async:!0,type:"module"},t),(t=ds.get(r))&&dx(e,t),tt(a=df.createElement("script")),cm(a,"link",e),df.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(r,a))}}};var df="u"<typeof document?null:document;function dp(e,t,n){if(df&&"string"==typeof t&&t){var r=tw(t);r='link[rel="'+e+'"][href="'+r+'"]',"string"==typeof n&&(r+='[crossorigin="'+n+'"]'),du.has(r)||(du.add(r),e={rel:e,crossOrigin:n,href:t},null===df.querySelector(r)&&(cm(t=df.createElement("link"),"link",e),tt(t),df.head.appendChild(t)))}}function dm(e,t,n,r){var a=(a=er.current)?dc(a):null;if(!a)throw Error(l(446));switch(e){case"meta":case"title":return null;case"style":return"string"==typeof n.precedence&&"string"==typeof n.href?(n=dg(n.href),(r=(t=te(a).hoistableStyles).get(n))||(r={type:"style",instance:null,count:0,state:null},t.set(n,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if("stylesheet"===n.rel&&"string"==typeof n.href&&"string"==typeof n.precedence){e=dg(n.href);var o=te(a).hoistableStyles,i=o.get(e);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,i),(o=a.querySelector(dh(e)))?o._p||(i.instance=o,i.state.loading=5):((o=ds.get(e))||(o={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},ds.set(e,o)),function(e,t,n,r){if(t=e.querySelector('link[rel="preload"][as="style"]['+t+"]")){if(!0!==t[e6]){r.loading=1;return}}else(t=e.createElement("link"))[e6]=!0,t.onload=t.onerror=tn.bind(null,t),cm(t,"link",n),tt(t),e.head.appendChild(t);r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2})}(a,e,o,i.state))),t&&null===r)throw Error(l(528,""));return i}if(t&&null!==r)throw Error(l(529,""));return null;case"script":return t=n.async,"string"==typeof(n=n.src)&&t&&"function"!=typeof t&&"symbol"!=typeof t?(n=db(n),(r=(t=te(a).hoistableScripts).get(n))||(r={type:"script",instance:null,count:0,state:null},t.set(n,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,e))}}function dg(e){return'href="'+tw(e)+'"'}function dh(e){return'link[rel="stylesheet"]['+e+"]"}function dy(e){return E({},e,{"data-precedence":e.precedence,precedence:null})}function db(e){return'[src="'+tw(e)+'"]'}function dv(e){return"script[async]"+e}function dw(e,t,n){if(t.count++,null===t.instance)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+tw(n.href)+'"]');if(r)return t.instance=r,tt(r),r;var a=E({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return tt(r=(e.ownerDocument||e).createElement("style")),cm(r,"style",a),dS(r,n.precedence,e),t.instance=r;case"stylesheet":a=dg(n.href);var o=e.querySelector(dh(a));if(o)return t.state.loading|=4,t.instance=o,tt(o),o;r=dy(n),(a=ds.get(a))&&dk(r,a),tt(o=(e.ownerDocument||e).createElement("link"));var i=o;return i._p=new Promise(function(e,t){i.onload=e,i.onerror=t}),cm(o,"link",r),t.state.loading|=4,dS(o,n.precedence,e),t.instance=o;case"script":if(o=db(n.src),a=e.querySelector(dv(o)))return t.instance=a,tt(a),a;return r=n,(a=ds.get(o))&&dx(r=E({},n),a),tt(a=(e=e.ownerDocument||e).createElement("script")),cm(a,"link",r),e.head.appendChild(a),t.instance=a;case"void":return null;default:throw Error(l(443,t.type))}return"stylesheet"===t.type&&0==(4&t.state.loading)&&(r=t.instance,t.state.loading|=4,dS(r,n.precedence,e)),t.instance}function dS(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=r.length?r[r.length-1]:null,o=a,i=0;i<r.length;i++){var l=r[i];if(l.dataset.precedence===t)o=l;else if(o!==a)break}o?o.parentNode.insertBefore(e,o.nextSibling):(t=9===n.nodeType?n.head:n).insertBefore(e,t.firstChild)}function dk(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.title&&(e.title=t.title)}function dx(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.integrity&&(e.integrity=t.integrity)}var dE=null;function dT(e,t,n){if(null===dE){var r=new Map,a=dE=new Map;a.set(n,r)}else(r=(a=dE).get(n))||(r=new Map,a.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),a=0;a<n.length;a++){var o=n[a];if(!(o[e3]||o[eQ]||"link"===e&&"stylesheet"===o.getAttribute("rel"))&&"http://www.w3.org/2000/svg"!==o.namespaceURI){var i=o.getAttribute(t)||"";i=e+i;var l=r.get(i);l?l.push(o):r.set(i,[o])}}return r}function d_(e,t,n){(e=e.ownerDocument||e).head.insertBefore(n,"title"===t?e.querySelector("head > title"):null)}function dA(e,t){return"img"===e&&null!=t.src&&""!==t.src&&null==t.onLoad&&"lazy"!==t.loading}function dC(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}function dN(e){return(e.width||100)*(e.height||100)*("number"==typeof devicePixelRatio?devicePixelRatio:1)*.25}function dP(e,t){"function"==typeof t.decode&&(e.imgCount++,t.complete||(e.imgBytes+=dN(t),e.suspenseyImages.push(t)),e=dR.bind(e),t.decode().then(e,e))}var dO=0;function dL(e){if(0===e.count&&(0===e.imgCount||!e.waitingForImages)){if(e.stylesheets)dD(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function dI(){this.count--,dL(this)}function dR(){this.imgCount--,dL(this)}var dj=null;function dD(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,dj=new Map,t.forEach(dF,e),dj=null,dI.call(e))}function dF(e,t){if(!(4&t.state.loading)){var n=dj.get(e);if(n)var r=n.get(null);else{n=new Map,dj.set(e,n);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o<a.length;o++){var i=a[o];("LINK"===i.nodeName||"not all"!==i.getAttribute("media"))&&(n.set(i.dataset.precedence,i),r=i)}r&&n.set(null,r)}i=(a=t.instance).getAttribute("data-precedence"),(o=n.get(i)||r)===r&&n.set(null,a),n.set(i,a),this.count++,r=dI.bind(this),a.addEventListener("load",r),a.addEventListener("error",r),o?o.parentNode.insertBefore(a,o.nextSibling):(e=9===e.nodeType?e.head:e).insertBefore(a,e.firstChild),t.state.loading|=4}}var dM={$$typeof:L,Provider:null,Consumer:null,_currentValue:Y,_currentValue2:Y,_threadCount:0};function dz(e,t,n,r,a,o,i,l,s){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=eU(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=eU(0),this.hiddenUpdates=eU(null),this.identifierPrefix=r,this.onUncaughtError=a,this.onCaughtError=o,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.transitionTypes=null,this.incompleteTransitions=new Map}function dB(e,t,n,r,a,o,i,l,s,u,c,d){return e=new dz(e,t,n,i,s,u,c,d,l),t=1,!0===o&&(t|=24),o=rT(3,null,null,t),e.current=o,o.stateNode=e,t=ah(),t.refCount++,e.pooledCache=t,t.refCount++,o.memoizedState={element:r,isDehydrated:n,cache:t},aY(o),e}function dU(e,t,n,r,a,o){a=a?rx:rx,null===r.context?r.context=a:r.pendingContext=a,(r=aQ(t)).payload={element:n},null!==(o=void 0===o?null:o)&&(r.callback=o),null!==(n=aZ(e,r,t))&&(us(n,e,t),aJ(n,e,t))}function d$(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function dq(e,t){d$(e,t),(e=e.alternate)&&d$(e,t)}function dH(e){if(13===e.tag||31===e.tag){var t=rw(e,0x4000000);null!==t&&us(t,e,0x4000000),dq(e,0x4000000)}}function dV(e){if(13===e.tag||31===e.tag){var t=uo(),n=rw(e,t=eX(t));null!==n&&us(n,e,t),dq(e,t)}}var dX=!0;function dG(e,t,n,r){var a=G.T;G.T=null;var o=W.p;try{W.p=2,dY(e,t,n,r)}finally{W.p=o,G.T=a}}function dW(e,t,n,r){var a=G.T;G.T=null;var o=W.p;try{W.p=8,dY(e,t,n,r)}finally{W.p=o,G.T=a}}function dY(e,t,n,r){if(dX){var a=dK(r);if(null===a)cr(e,t,r,dQ,n),d9(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return d1=d7(d1,e,t,n,r,a),!0;case"dragenter":return d2=d7(d2,e,t,n,r,a),!0;case"mouseover":return d4=d7(d4,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return d3.set(o,d7(d3.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,d6.set(o,d7(d6.get(o)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(d9(e,r),4&t&&-1<d5.indexOf(e)){for(;null!==a;){var o=e9(a);if(null!==o)switch(o.tag){case 3:if((o=o.stateNode).current.memoizedState.isDehydrated){var i=eD(o.pendingLanes);if(0!==i){var l=o;for(l.pendingLanes|=2,l.entangledLanes|=2;i;){var s=1<<31-eP(i);l.entanglements[1]|=s,i&=~s}uW(o),0==(6&sI)&&(s0=eb()+500,uY(0,!1))}}break;case 31:case 13:null!==(l=rw(o,2))&&us(l,o,2),uf(),dq(o,2)}if(null===(o=dK(r))&&cr(e,t,r,dQ,n),o===a)break;a=o}null!==a&&r.stopPropagation()}else cr(e,t,r,null,n)}}function dK(e){return dZ(e=tF(e))}var dQ=null;function dZ(e){if(dQ=null,null!==(e=e5(e))){var t=u(e);if(null===t)e=null;else{var n=t.tag;if(13===n){if(null!==(e=c(t)))return e;e=null}else if(31===n){if(null!==(e=d(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return dQ=e,null}function dJ(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"fullscreenerror":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"resize":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ev()){case ew:return 2;case eS:return 8;case ek:case ex:return 32;case eE:return 0x10000000;default:return 32}default:return 32}}var d0=!1,d1=null,d2=null,d4=null,d3=new Map,d6=new Map,d8=[],d5="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function d9(e,t){switch(e){case"focusin":case"focusout":d1=null;break;case"dragenter":case"dragleave":d2=null;break;case"mouseover":case"mouseout":d4=null;break;case"pointerover":case"pointerout":d3.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":d6.delete(t.pointerId)}}function d7(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[a]},null!==t&&null!==(t=e9(t))&&dH(t)):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a)),e}function fe(e){var t=e5(e.target);if(null!==t){var n=u(t);if(null!==n){if(13===(t=n.tag)){if(null!==(t=c(n))){e.blockedOn=t,eY(e.priority,function(){dV(n)});return}}else if(31===t){if(null!==(t=d(n))){e.blockedOn=t,eY(e.priority,function(){dV(n)});return}}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=3===n.tag?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ft(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=dK(e.nativeEvent);if(null!==n)return null!==(t=e9(n))&&dH(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);tD=r,n.target.dispatchEvent(r),tD=null,t.shift()}return!0}function fn(e,t,n){ft(e)&&n.delete(t)}function fr(){d0=!1,null!==d1&&ft(d1)&&(d1=null),null!==d2&&ft(d2)&&(d2=null),null!==d4&&ft(d4)&&(d4=null),d3.forEach(fn),d6.forEach(fn)}function fa(e,t){e.blockedOn===t&&(e.blockedOn=null,d0||(d0=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,fr)))}var fo=null;function fi(e){fo!==e&&(fo=e,a.unstable_scheduleCallback(a.unstable_NormalPriority,function(){fo===e&&(fo=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],a=e[t+2];if("function"!=typeof r)if(null===dZ(r||n))continue;else break;var o=e9(n);null!==o&&(e.splice(t,3),t-=3,ib(o,{pending:!0,data:a,method:n.method,action:r},r,a))}}))}function fl(e){function t(t){return fa(t,e)}null!==d1&&fa(d1,e),null!==d2&&fa(d2,e),null!==d4&&fa(d4,e),d3.forEach(t),d6.forEach(t);for(var n=0;n<d8.length;n++){var r=d8[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<d8.length&&null===(n=d8[0]).blockedOn;)fe(n),null===n.blockedOn&&d8.shift();if(null!=(n=(e.ownerDocument||e).$$reactFormReplay))for(r=0;r<n.length;r+=3){var a=n[r],o=n[r+1],i=a[eZ]||null;if("function"==typeof o)i||fi(n);else if(i){var l=null;if(o&&o.hasAttribute("formAction")){if(a=o,i=o[eZ]||null)l=i.formAction;else if(null!==dZ(a))continue}else l=i.action;"function"==typeof l?n[r+1]=l:(n.splice(r,3),r-=3),fi(n)}}}function fs(){function e(e){e.canIntercept&&"react-transition"===e.info&&e.intercept({handler:function(){return new Promise(function(e){return a=e})},focusReset:"manual",scroll:"manual"})}function t(){null!==a&&(a(),a=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&null!=e.url&&navigation.navigate(e.url,{state:e.getState(),info:"react-transition",history:"replace"})}}if("object"==typeof navigation){var r=!1,a=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),null!==a&&(a(),a=null)}}}function fu(e){this._internalRoot=e}function fc(e){this._internalRoot=e}fc.prototype.render=fu.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(l(409));dU(t.current,uo(),e,t,null,null)},fc.prototype.unmount=fu.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;dU(e.current,2,null,e,null,null),uf(),t[eJ]=null}},fc.prototype.unstable_scheduleHydration=function(e){if(e){var t=eW();e={blockedOn:null,target:e,priority:t};for(var n=0;n<d8.length&&0!==t&&t<d8[n].priority;n++);d8.splice(n,0,e),0===n&&fe(e)}};var fd=o.version;if("19.3.0"!==fd)throw Error(l(527,fd,"19.3.0"));if(W.findDOMNode=function(e){var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(l(188));throw Error(l(268,e=Object.keys(e).join(",")))}return null===(e=null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=u(e)))throw Error(l(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return f(a),e;if(o===r)return f(a),t;o=o.sibling}throw Error(l(188))}if(n.return!==r.return)n=a,r=o;else{for(var i=!1,s=a.child;s;){if(s===n){i=!0,n=a,r=o;break}if(s===r){i=!0,r=a,n=o;break}s=s.sibling}if(!i){for(s=o.child;s;){if(s===n){i=!0,n=o,r=a;break}if(s===r){i=!0,r=o,n=a;break}s=s.sibling}if(!i)throw Error(l(189))}}if(n.alternate!==r)throw Error(l(190))}if(3!==n.tag)throw Error(l(188));return n.stateNode.current===n?e:t}(t))?function e(t){var n=t.tag;if(5===n||26===n||27===n||6===n)return t;for(t=t.child;null!==t;){if(null!==(n=e(t)))return n;t=t.sibling}return null}(e):null)?null:e.stateNode},"u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ff=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ff.isDisabled&&ff.supportsFiber)try{eA=ff.inject({bundleType:0,version:"19.3.0",rendererPackageName:"react-dom",currentDispatcherRef:G,reconcilerVersion:"19.3.0"}),eC=ff}catch(e){}}t.createRoot=function(e,t){if(!s(e))throw Error(l(299));var n=!1,r="",a=iU,o=i$,i=iq;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onUncaughtError&&(a=t.onUncaughtError),void 0!==t.onCaughtError&&(o=t.onCaughtError),void 0!==t.onRecoverableError&&(i=t.onRecoverableError)),t=dB(e,1,!1,null,null,n,r,null,a,o,i,fs),e[eJ]=t.current,ct(e),new fu(t)},t.hydrateRoot=function(e,t,n){if(!s(e))throw Error(l(299));var r=!1,a="",o=iU,i=i$,u=iq,c=null;return null!=n&&(!0===n.unstable_strictMode&&(r=!0),void 0!==n.identifierPrefix&&(a=n.identifierPrefix),void 0!==n.onUncaughtError&&(o=n.onUncaughtError),void 0!==n.onCaughtError&&(i=n.onCaughtError),void 0!==n.onRecoverableError&&(u=n.onRecoverableError),void 0!==n.formState&&(c=n.formState)),(t=dB(e,1,!0,t,null!=n?n:null,r,a,c,o,i,u,fs)).context=rx,n=t.current,(a=aQ(r=eX(r=uo()))).callback=null,aZ(n,a,r),n=r,t.current.lanes=n,e$(t,n),uW(t),e[eJ]=t.current,ct(e),new fc(t)},t.version="19.3.0"},6221(e,t,n){"use strict";var r=n(6540);function a(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(){}var i={d:{f:o,r:function(){throw Error(a(522))},D:o,C:o,L:o,m:o,X:o,S:o,M:o},p:0,findDOMNode:null},l=Symbol.for("react.portal"),s=Symbol.for("react.recoverable"),u=Symbol.for("react.optimistic_key"),c=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function d(e,t){return"font"===e?"":"string"==typeof t?"use-credentials"===t?t:"":void 0}t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,t.browser=function(e){return{$$typeof:s,_reason:e}},t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!t||1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType)throw Error(a(299));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:l,key:null==r?null:r===u?u:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.flushSync=function(e){var t=c.T,n=i.p;try{if(c.T=null,i.p=2,e)return e()}finally{c.T=t,i.p=n,i.d.f()}},t.preconnect=function(e,t){"string"==typeof e&&(t=t?"string"==typeof(t=t.crossOrigin)?"use-credentials"===t?t:"":void 0:null,i.d.C(e,t))},t.prefetchDNS=function(e){"string"==typeof e&&i.d.D(e)},t.preinit=function(e,t){if("string"==typeof e&&t&&"string"==typeof t.as){var n=t.as,r=d(n,t.crossOrigin),a="string"==typeof t.integrity?t.integrity:void 0,o="string"==typeof t.fetchPriority?t.fetchPriority:void 0;"style"===n?i.d.S(e,"string"==typeof t.precedence?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):"script"===n&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:"string"==typeof t.nonce?t.nonce:void 0})}},t.preinitModule=function(e,t){if("string"==typeof e)if("object"==typeof t&&null!==t){if(null==t.as||"script"===t.as){var n=d(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0})}}else null==t&&i.d.M(e)},t.preload=function(e,t){if("string"==typeof e&&"object"==typeof t&&null!==t&&"string"==typeof t.as){var n=t.as,r=d(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,type:"string"==typeof t.type?t.type:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:"string"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:"string"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:"string"==typeof t.imageSizes?t.imageSizes:void 0,media:"string"==typeof t.media?t.media:void 0})}},t.preloadModule=function(e,t){if("string"==typeof e)if(t){var n=d(t.as,t.crossOrigin);i.d.m(e,{as:"string"==typeof t.as&&"script"!==t.as?t.as:void 0,crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0})}else i.d.m(e)},t.requestFormReset=function(e){i.d.r(e)},t.unstable_batchedUpdates=function(e,t){return e(t)},t.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},t.useFormStatus=function(){return c.H.useHostTransitionStatus()},t.version="19.3.0"},5338(e,t,n){"use strict";!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(1247)},961(e,t,n){"use strict";!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(6221)},115(e){var t="u">typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;e.exports=function(e,o){try{return function e(o,i){if(o===i)return!0;if(o&&i&&"object"==typeof o&&"object"==typeof i){var l,s,u,c;if(o.constructor!==i.constructor)return!1;if(Array.isArray(o)){if((l=o.length)!=i.length)return!1;for(s=l;0!=s--;)if(!e(o[s],i[s]))return!1;return!0}if(n&&o instanceof Map&&i instanceof Map){if(o.size!==i.size)return!1;for(c=o.entries();!(s=c.next()).done;)if(!i.has(s.value[0]))return!1;for(c=o.entries();!(s=c.next()).done;)if(!e(s.value[1],i.get(s.value[0])))return!1;return!0}if(r&&o instanceof Set&&i instanceof Set){if(o.size!==i.size)return!1;for(c=o.entries();!(s=c.next()).done;)if(!i.has(s.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(o)&&ArrayBuffer.isView(i)){if((l=o.length)!=i.length)return!1;for(s=l;0!=s--;)if(o[s]!==i[s])return!1;return!0}if(o.constructor===RegExp)return o.source===i.source&&o.flags===i.flags;if(o.valueOf!==Object.prototype.valueOf&&"function"==typeof o.valueOf&&"function"==typeof i.valueOf)return o.valueOf()===i.valueOf();if(o.toString!==Object.prototype.toString&&"function"==typeof o.toString&&"function"==typeof i.toString)return o.toString()===i.toString();if((l=(u=Object.keys(o)).length)!==Object.keys(i).length)return!1;for(s=l;0!=s--;)if(!Object.prototype.hasOwnProperty.call(i,u[s]))return!1;if(t&&o instanceof Element)return!1;for(s=l;0!=s--;)if(("_owner"!==u[s]&&"__v"!==u[s]&&"__o"!==u[s]||!o.$$typeof)&&!e(o[u[s]],i[u[s]]))return!1;return!0}return o!=o&&i!=i}(e,o)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}}},545(e,t,n){"use strict";n.d(t,{mg:()=>Q,vd:()=>q});var r=n(6540),a=n(5556),o=n.n(a),i=n(115),l=n.n(i),s=n(311),u=n.n(s),c=n(2833),d=n.n(c);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return(m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function g(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},y={rel:["amphtml","canonical","alternate"]},b={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map(function(e){return h[e]}),S={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},k=Object.keys(S).reduce(function(e,t){return e[S[t]]=t,e},{}),x=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=x(e,h.TITLE),n=x(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,function(){return t});var r=x(e,"defaultTitle");return t||r||void 0},T=function(e,t){return t.filter(function(t){return void 0!==t[e]}).map(function(t){return t[e]}).reduce(function(e,t){return f({},e,t)},{})},_=function(e,t,n){var r={};return n.filter(function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)}).map(function(t){return t[e]}).reverse().reduce(function(e,n){var a={};n.filter(function(e){for(var n,o=Object.keys(e),i=0;i<o.length;i+=1){var l=o[i],s=l.toLowerCase();-1===t.indexOf(s)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===s&&"stylesheet"===e[s].toLowerCase()||(n=s),-1===t.indexOf(l)||"innerHTML"!==l&&"cssText"!==l&&"itemprop"!==l||(n=l)}if(!n||!e[n])return!1;var u=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][u]&&(a[n][u]=!0,!0)}).reverse().forEach(function(t){return e.push(t)});for(var o=Object.keys(a),i=0;i<o.length;i+=1){var l=o[i],s=f({},r[l],a[l]);r[l]=s}return e},[]).reverse()},A=function(e,t){if(Array.isArray(e)&&e.length){for(var n=0;n<e.length;n+=1)if(e[n][t])return!0}return!1},C=function(e){return Array.isArray(e)?e.join(""):e},N=function(e,t){return Array.isArray(e)?e.reduce(function(e,n){return!function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.default.push(n):e.priority.push(n),e},{priority:[],default:[]}):{default:e}},P=function(e,t){var n;return f({},e,((n={})[t]=void 0,n))},O=[h.NOSCRIPT,h.SCRIPT,h.STYLE],L=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},I=function(e){return Object.keys(e).reduce(function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r},"")},R=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce(function(t,n){return t[S[n]||n]=e[n],t},t)},j=function(e,t){return t.map(function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach(function(e){var n=S[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]}),r.createElement(e,o)})},D=function(e,t,n){switch(e){case h.TITLE:return{toComponent:function(){var e,n,a,o;return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=R(n,a),[r.createElement(h.TITLE,o,e)]},toString:function(){var r,a,o,i;return r=t.title,a=t.titleAttributes,o=I(a),i=C(r),o?"<"+e+' data-rh="true" '+o+">"+L(i,n)+"</"+e+">":"<"+e+' data-rh="true">'+L(i,n)+"</"+e+">"}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return R(t)},toString:function(){return I(t)}};default:return{toComponent:function(){return j(e,t)},toString:function(){return t.reduce(function(t,r){var a=Object.keys(r).filter(function(e){return"innerHTML"!==e&&"cssText"!==e}).reduce(function(e,t){var a=void 0===r[t]?t:t+'="'+L(r[t],n)+'"';return e?e+" "+a:a},""),o=r.innerHTML||r.cssText||"",i=-1===O.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")},"")}}}},F=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,l=e.title,s=e.titleAttributes,u=e.linkTags,c=e.metaTags,d=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var p,m,g,w,S,k,x=(p=e.linkTags,m=e.scriptTags,g=e.encode,w=N(e.metaTags,v),S=N(p,y),k=N(m,b),{priorityMethods:{toComponent:function(){return[].concat(j(h.META,w.priority),j(h.LINK,S.priority),j(h.SCRIPT,k.priority))},toString:function(){return D(h.META,w.priority,g)+" "+D(h.LINK,S.priority,g)+" "+D(h.SCRIPT,k.priority,g)}},metaTags:w.default,linkTags:S.default,scriptTags:k.default});f=x.priorityMethods,u=x.linkTags,c=x.metaTags,d=x.scriptTags}return{priority:f,base:D(h.BASE,t,r),bodyAttributes:D("bodyAttributes",n,r),htmlAttributes:D("htmlAttributes",a,r),link:D(h.LINK,u,r),meta:D(h.META,c,r),noscript:D(h.NOSCRIPT,o,r),script:D(h.SCRIPT,d,r),style:D(h.STYLE,i,r),title:D(h.TITLE,{title:void 0===l?"":l,titleAttributes:s},r)}},M=[],z=function(e,t){var n=this;void 0===t&&(t="u">typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?M:n.instances},add:function(e){(n.canUseDOM?M:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?M:n.instances).indexOf(e);(n.canUseDOM?M:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=F({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},B=r.createContext({}),U=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),$="u">typeof document,q=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new z(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(B.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);q.canUseDOM=$,q.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},q.defaultProps={context:{}},q.displayName="HelmetProvider";var H=function(e,t){var n,r=document.head||document.querySelector(h.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach(function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some(function(e,t){return n=t,r.isEqualNode(e)})?o.splice(n,1):i.push(r)}),o.forEach(function(e){return e.parentNode.removeChild(e)}),i.forEach(function(e){return r.appendChild(e)}),{oldTags:o,newTags:i}},V=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),l=0;l<i.length;l+=1){var s=i[l],u=t[s]||"";n.getAttribute(s)!==u&&n.setAttribute(s,u),-1===a.indexOf(s)&&a.push(s);var c=o.indexOf(s);-1!==c&&o.splice(c,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},X=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,l=e.onChangeClientState,s=e.scriptTags,u=e.styleTags,c=e.title,d=e.titleAttributes;V(h.BODY,e.bodyAttributes),V(h.HTML,r),void 0!==c&&document.title!==c&&(document.title=C(c)),V(h.TITLE,d);var f={baseTag:H(h.BASE,n),linkTags:H(h.LINK,a),metaTags:H(h.META,o),noscriptTags:H(h.NOSCRIPT,i),scriptTags:H(h.SCRIPT,s),styleTags:H(h.STYLE,u)},p={},m={};Object.keys(f).forEach(function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(m[e]=f[e].oldTags)}),t&&t(),l(e,p,m)},G=null,W=function(e){function t(){for(var t,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o={baseTag:(e=["href"],(t=n.helmetInstances.get().map(function(e){var t=f({},e.props);return delete t.context,t})).filter(function(e){return void 0!==e[h.BASE]}).map(function(e){return e[h.BASE]}).reverse().reduce(function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t},[])),bodyAttributes:T("bodyAttributes",t),defer:x(t,"defer"),encode:x(t,"encodeSpecialCharacters"),htmlAttributes:T("htmlAttributes",t),linkTags:_(h.LINK,["rel","href"],t),metaTags:_(h.META,["name","charset","http-equiv","property","itemprop"],t),noscriptTags:_(h.NOSCRIPT,["innerHTML"],t),onChangeClientState:x(t,"onChangeClientState")||function(){},scriptTags:_(h.SCRIPT,["src","innerHTML"],t),styleTags:_(h.STYLE,["cssText"],t),title:E(t),titleAttributes:T("titleAttributes",t),prioritizeSeoTags:A(t,"prioritizeSeoTags")};q.canUseDOM?(G&&cancelAnimationFrame(G),o.defer?G=requestAnimationFrame(function(){X(o,function(){G=null})}):(X(o),G=null)):F&&(a=F(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);W.propTypes={context:U.isRequired},W.displayName="HelmetDispatcher";var Y=["children"],K=["children"],Q=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!l()(P(this.props,"helmetData"),P(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case h.TITLE:return f({},a,((t={})[r.type]=i,t.titleAttributes=f({},o),t));case h.BODY:return f({},a,{bodyAttributes:f({},o)});case h.HTML:return f({},a,{htmlAttributes:f({},o)});default:return f({},a,((n={})[r.type]=f({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach(function(t){var r;n=f({},n,((r={})[t]=e[t],r))}),n},n.warnOnInvalidChildren=function(e,t){return u()(w.some(function(t){return e.type===t}),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some(function(e){return"string"!=typeof e}),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,function(e){if(e&&e.props){var r=e.props,o=r.children,i=g(r,Y),l=Object.keys(i).reduce(function(e,t){return e[k[t]||t]=i[t],e},{}),s=e.type;switch("symbol"==typeof s?s=s.toString():n.warnOnInvalidChildren(e,o),s){case h.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:l,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:l,nestedChildren:o})}}}),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=g(e,K),a=f({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof z||(o=new z(o.context,o.instances)),o?r.createElement(W,f({},a,{context:o.value,helmetData:void 0})):r.createElement(B.Consumer,null,function(e){return r.createElement(W,f({},a,{context:e}))})},t}(r.Component);Q.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},Q.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},Q.displayName="Helmet"},2799(e,t){"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,l=n?Symbol.for("react.profiler"):60114,s=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,g=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,b=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function S(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case o:case l:case i:case p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case h:case g:case s:return e;default:return t}}case a:return t}}}function k(e){return S(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=s,t.Element=r,t.ForwardRef=f,t.Fragment=o,t.Lazy=h,t.Memo=g,t.Portal=a,t.Profiler=l,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return k(e)||S(e)===c},t.isConcurrentMode=k,t.isContextConsumer=function(e){return S(e)===u},t.isContextProvider=function(e){return S(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return S(e)===f},t.isFragment=function(e){return S(e)===o},t.isLazy=function(e){return S(e)===h},t.isMemo=function(e){return S(e)===g},t.isPortal=function(e){return S(e)===a},t.isProfiler=function(e){return S(e)===l},t.isStrictMode=function(e){return S(e)===i},t.isSuspense=function(e){return S(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===l||e===i||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===g||e.$$typeof===s||e.$$typeof===u||e.$$typeof===f||e.$$typeof===b||e.$$typeof===v||e.$$typeof===w||e.$$typeof===y)},t.typeOf=S},4363(e,t,n){"use strict";e.exports=n(2799)},3259(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return(i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var l=n(6540),s=[],u=[],c=l.createContext(null);function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then(function(e){return n.loading=!1,n.loaded=e,e}).catch(function(e){throw n.loading=!1,n.error=e,e}),n}function f(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach(function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then(function(e){t.loaded[r]=e}).catch(function(e){t.error=e})})}catch(e){t.error=e}return t.promise=Promise.all(n).then(function(e){return t.loading=!1,e}).catch(function(e){throw t.loading=!1,e}),t}function p(e,t){return l.createElement(e&&e.__esModule?e.default:e,t)}function m(e,t){if(!t.loading)throw Error("react-loadable requires a `loading` component");var d,f,m=i({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),g=null;function h(){return g||(g=e(m.loader)),g.promise}return s.push(h),"function"==typeof m.webpack&&u.push(function(){if((0,m.webpack)().every(function(e){return void 0!==e&&void 0!==n.m[e]}))return h()}),f=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",function(){r.setState({error:null,loading:!0,timedOut:!1}),g=e(m.loader),r._loadModule()}),h(),r.state={error:g.error,pastDelay:!1,timedOut:!1,loading:g.loading,loaded:g.loaded},r}r(n,t),n.preload=function(){return h()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context&&Array.isArray(m.modules)&&m.modules.forEach(function(t){e.context.report(t)}),g.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout(function(){t({pastDelay:!0})},m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout(function(){t({timedOut:!0})},m.timeout));var n=function(){t({error:g.error,loaded:g.loaded,loading:g.loading}),e._clearTimeouts()};g.promise.then(function(){return n(),null}).catch(function(e){return n(),null})}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?l.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(l.Component),o(d,"contextType",c),f}function g(e){return m(d,e)}function h(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then(function(){if(e.length)return h(e)})}g.Map=function(e){if("function"!=typeof e.render)throw Error("LoadableMap requires a `render(loaded, props)` function");return m(f,e)},g.Capture=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){return l.createElement(c.Provider,{value:{report:this.props.report}},l.Children.only(this.props.children))},t}(l.Component),g.preloadAll=function(){return new Promise(function(e,t){h(s).then(e,t)})},g.preloadReady=function(){return new Promise(function(e,t){h(u).then(e,e)})},e.exports=g},2831(e,t,n){"use strict";n.d(t,{u:()=>function e(t,n,a){return void 0===a&&(a=[]),t.some(function(t){var o=t.path?(0,r.B6)(n,t):a.length?a[a.length-1].match:r.Ix.computeRootMatch(n);return o&&(a.push({route:t,match:o}),t.routes&&e(t.routes,n,a)),o}),a},v:()=>i});var r=n(6347),a=n(8168),o=n(6540);function i(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.dO,n,e.map(function(e,n){return o.createElement(r.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.A)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.A)({},n,t,{route:e}))}})})):null}},4625(e,t,n){"use strict";n.d(t,{I9:()=>d,Kd:()=>c,N_:()=>y,k2:()=>w});var r=n(6347),a=n(594),o=n(6540),i=n(3328),l=n(8168),s=n(8587),u=n(1561),c=function(e){function t(){for(var t,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.zR)(t.props),t}return(0,a.A)(t,e),t.prototype.render=function(){return o.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(o.Component),d=function(e){function t(){for(var t,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.TM)(t.props),t}return(0,a.A)(t,e),t.prototype.render=function(){return o.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(o.Component),f=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.yJ)(e,null,null,t):e},m=function(e){return e},g=o.forwardRef;void 0===g&&(g=m);var h=g(function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,i=(0,s.A)(e,["innerRef","navigate","onClick"]),u=i.target,c=(0,l.A)({},i,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||u&&"_self"!==u||e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),r())}});return m!==g?c.ref=t||n:c.ref=n,o.createElement("a",c)}),y=g(function(e,t){var n=e.component,a=void 0===n?h:n,c=e.replace,d=e.to,y=e.innerRef,b=(0,s.A)(e,["component","replace","to","innerRef"]);return o.createElement(r.XZ.Consumer,null,function(e){e||(0,u.A)(!1);var n=e.history,r=p(f(d,e.location),e.location),s=r?n.createHref(r):"",h=(0,l.A)({},b,{href:s,navigate:function(){var t=f(d,e.location),r=(0,i.AO)(e.location)===(0,i.AO)(p(t));(c||r?n.replace:n.push)(t)}});return m!==g?h.ref=t||y:h.innerRef=y,o.createElement(a,h)})}),b=function(e){return e},v=o.forwardRef;void 0===v&&(v=b);var w=v(function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,c=void 0===i?"active":i,d=e.activeStyle,m=e.className,g=e.exact,h=e.isActive,w=e.location,S=e.sensitive,k=e.strict,x=e.style,E=e.to,T=e.innerRef,_=(0,s.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.XZ.Consumer,null,function(e){e||(0,u.A)(!1);var n=w||e.location,i=p(f(E,n),n),s=i.pathname,A=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),C=A?(0,r.B6)(n.pathname,{path:A,exact:g,sensitive:S,strict:k}):null,N=!!(h?h(C,n):C),P="function"==typeof m?m(N):m,O="function"==typeof x?x(N):x;N&&(P=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(function(e){return e}).join(" ")}(P,c),O=(0,l.A)({},O,d));var L=(0,l.A)({"aria-current":N&&a||null,className:P,style:O,to:i},_);return b!==v?L.ref=t||T:L.innerRef=T,o.createElement(y,L)})})},6347(e,t,n){"use strict";n.d(t,{B6:()=>v,Ix:()=>h,W6:()=>x,XZ:()=>g,dO:()=>S,qh:()=>w,zy:()=>E});var r=n(594),a=n(6540),o=n(5556),i=n.n(o),l=(n(3328),n(1561)),s=n(8168),u=n(5302),c=n.n(u);n(4363),n(8587),n(4146);var d="u">typeof globalThis?globalThis:"u">typeof window?window:void 0!==n.g?n.g:{},f=a.createContext||function(e,t){var n,o,l="__create-react-context-"+(d.__global_unique_id__=(d.__global_unique_id__||0)+1)+"__",s=function(e){function n(){for(var t,n,r,a=arguments.length,o=Array(a),i=0;i<a;i++)o[i]=arguments[i];return n=(t=e.call.apply(e,[this].concat(o))||this).props.value,r=[],t.emitter={on:function(e){r.push(e)},off:function(e){r=r.filter(function(t){return t!==e})},get:function(){return n},set:function(e,t){n=e,r.forEach(function(e){return e(n,t)})}},t}(0,r.A)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[l]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;(r===a?0!==r||1/r==1/a:r!=r&&a!=a)?n=0:0!=(n=("function"==typeof t?t(r,a):0x3fffffff)|0)&&this.emitter.set(e.value,n)}},a.render=function(){return this.props.children},n}(a.Component);(n={})[l]=i().object.isRequired,s.childContextTypes=n;var u=function(t){function n(){for(var e,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){(e.observedBits&n)!=0&&e.setState({value:e.getValue()})},e}(0,r.A)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?0x3fffffff:t},a.componentDidMount=function(){this.context[l]&&this.context[l].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?0x3fffffff:e},a.componentWillUnmount=function(){this.context[l]&&this.context[l].off(this.onUpdate)},a.getValue=function(){return this.context[l]?this.context[l].get():e},a.render=function(){var e;return(Array.isArray(e=this.props.children)?e[0]:e)(this.state.value)},n}(a.Component);return(o={})[l]=i().object,u.contextTypes=o,{Provider:s,Consumer:u}},p=function(e){var t=f();return t.displayName=e,t},m=p("Router-History"),g=p("Router"),h=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen(function(e){n._pendingLocation=e})),n}(0,r.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen(function(t){e._isMounted&&e.setState({location:t})})),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(g.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(m.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component,a.Component;var y={},b=0;function v(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,l=void 0!==i&&i,s=n.sensitive,u=void 0!==s&&s;return[].concat(r).reduce(function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=y[n]||(y[n]={});if(r[e])return r[e];var a=[],o={regexp:c()(e,a,t),keys:a};return b<1e4&&(r[e]=o,b++),o}(n,{end:o,strict:l,sensitive:u}),a=r.regexp,i=r.keys,s=a.exec(e);if(!s)return null;var d=s[0],f=s.slice(1),p=e===d;return o&&!p?null:{path:n,url:"/"===n&&""===d?"/":d,isExact:p,params:i.reduce(function(e,t,n){return e[t.name]=f[n],e},{})}},null)}var w=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return a.createElement(g.Consumer,null,function(t){t||(0,l.A)(!1);var n,r=e.props.location||t.location,o=e.props.computedMatch?e.props.computedMatch:e.props.path?v(r.pathname,e.props):t.match,i=(0,s.A)({},t,{location:r,match:o}),u=e.props,c=u.children,d=u.component,f=u.render;return Array.isArray(c)&&(n=c,0===a.Children.count(n))&&(c=null),a.createElement(g.Provider,{value:i},i.match?c?"function"==typeof c?c(i):c:d?a.createElement(d,i):f?f(i):null:"function"==typeof c?c(i):null)})},t}(a.Component);a.Component;var S=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return a.createElement(g.Consumer,null,function(t){t||(0,l.A)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,function(e){if(null==r&&a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?v(o.pathname,(0,s.A)({},e.props,{path:i})):t.match}}),r?a.cloneElement(n,{location:o,computedMatch:r}):null})},t}(a.Component),k=a.useContext;function x(){return k(m)}function E(){return k(g).location}},9698(e,t){"use strict";var n=Symbol.for("react.transitional.element");function r(e,t,r){var a=null;if(void 0!==r&&(a=""+r),void 0!==t.key&&(a=""+t.key),"key"in t)for(var o in r={},t)"key"!==o&&(r[o]=t[o]);else r=t;return{$$typeof:n,type:e,key:a,ref:void 0!==(t=r.ref)?t:null,props:r}}t.Fragment=Symbol.for("react.fragment"),t.jsx=r,t.jsxs=r},9869(e,t){"use strict";var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),s=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),m=Symbol.for("react.view_transition"),g=Symbol.iterator,h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,b={};function v(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||h}function w(){}function S(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=v.prototype;var k=S.prototype=new w;k.constructor=S,y(k,v.prototype),k.isPureReactComponent=!0;var x=Array.isArray;function E(){}var T={H:null,A:null,T:null,S:null},_=Object.prototype.hasOwnProperty;function A(e,t,r){var a=r.ref;return{$$typeof:n,type:e,key:t,ref:void 0!==a?a:null,props:r}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var N=/\/+/g;function P(e,t){var n,r;return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36)}function O(e,t,a){if(null==e)return e;var o=[],i=0;return!function e(t,a,o,i,l){var s,u,c,d=typeof t;("undefined"===d||"boolean"===d)&&(t=null);var p=!1;if(null===t)p=!0;else switch(d){case"bigint":case"string":case"number":p=!0;break;case"object":switch(t.$$typeof){case n:case r:p=!0;break;case f:return e((p=t._init)(t._payload),a,o,i,l)}}if(p)return l=l(t),p=""===i?"."+P(t,0):i,x(l)?(o="",null!=p&&(o=p.replace(N,"$&/")+"/"),e(l,a,o,"",function(e){return e})):null!=l&&(C(l)&&(s=l,u=o+(null==l.key||t&&t.key===l.key?"":(""+l.key).replace(N,"$&/")+"/")+p,l=A(s.type,u,s.props)),a.push(l)),1;p=0;var m=""===i?".":i+":";if(x(t))for(var h=0;h<t.length;h++)d=m+P(i=t[h],h),p+=e(i,a,o,d,l);else if("function"==typeof(h=null===(c=t)||"object"!=typeof c?null:"function"==typeof(c=g&&c[g]||c["@@iterator"])?c:null))for(t=h.call(t),h=0;!(i=t.next()).done;)d=m+P(i=i.value,h++),p+=e(i,a,o,d,l);else if("object"===d){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(E,E):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),a,o,i,l);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(a=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":a)+"). If you meant to render a collection of children, use an array instead.")}return p}(e,o,"","",function(e){return t.call(a,e,i++)}),o}function L(e){if(-1===e._status){var t=(0,e._result)();t.then(function(n){(0===e._status||-1===e._status)&&(e._status=1,e._result=n,void 0===t.status&&(t.status="fulfilled",t.value=n))},function(n){(0===e._status||-1===e._status)&&(e._status=2,e._result=n,void 0===t.status&&(t.status="rejected",t.reason=n))}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)};function R(e){var t=T.T,n={};n.types=null!==t?t.types:null,T.T=n;try{var r=e(),a=T.S;null!==a&&a(n,r),"object"==typeof r&&null!==r&&"function"==typeof r.then&&r.then(E,I)}catch(e){I(e)}finally{null!==t&&null!==n.types&&(t.types=n.types),T.T=t}}function j(e){var t=T.T;if(null!==t){var n=t.types;null===n?t.types=[e]:-1===n.indexOf(e)&&n.push(e)}else R(j.bind(null,e))}t.Activity=p,t.Children={map:O,forEach:function(e,t,n){O(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return O(e,function(){t++}),t},toArray:function(e){return O(e,function(e){return e})||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=v,t.Fragment=a,t.Profiler=i,t.PureComponent=S,t.StrictMode=o,t.Suspense=c,t.ViewTransition=m,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,t.__COMPILER_RUNTIME={__proto__:null,c:function(e){return T.H.useMemoCache(e)}},t.addTransitionType=j,t.cache=function(e){return function(){return e.apply(null,arguments)}},t.cacheSignal=function(){return null},t.cloneElement=function(e,t,n){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var r=y({},e.props),a=e.key;if(null!=t)for(o in void 0!==t.key&&(a=""+t.key),t)_.call(t,o)&&"key"!==o&&"__self"!==o&&"__source"!==o&&("ref"!==o||void 0!==t.ref)&&(r[o]=t[o]);var o=arguments.length-2;if(1===o)r.children=n;else if(1<o){for(var i=Array(o),l=0;l<o;l++)i[l]=arguments[l+2];r.children=i}return A(e.type,a,r)},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:l,_context:e},e},t.createElement=function(e,t,n){var r,a={},o=null;if(null!=t)for(r in void 0!==t.key&&(o=""+t.key),t)_.call(t,r)&&"key"!==r&&"__self"!==r&&"__source"!==r&&(a[r]=t[r]);var i=arguments.length-2;if(1===i)a.children=n;else if(1<i){for(var l=Array(i),s=0;s<i;s++)l[s]=arguments[s+2];a.children=l}if(e&&e.defaultProps)for(r in i=e.defaultProps)void 0===a[r]&&(a[r]=i[r]);return A(e,o,a)},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:f,_payload:{_status:-1,_result:e},_init:L}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=R,t.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},t.use=function(e){return T.H.use(e)},t.useActionState=function(e,t,n){return T.H.useActionState(e,t,n)},t.useCallback=function(e,t){return T.H.useCallback(e,t)},t.useContext=function(e){return T.H.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e,t){return T.H.useDeferredValue(e,t)},t.useEffect=function(e,t){return T.H.useEffect(e,t)},t.useEffectEvent=function(e){return T.H.useEffectEvent(e)},t.useId=function(){return T.H.useId()},t.useImperativeHandle=function(e,t,n){return T.H.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return T.H.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return T.H.useLayoutEffect(e,t)},t.useMemo=function(e,t){return T.H.useMemo(e,t)},t.useOptimistic=function(e,t){return T.H.useOptimistic(e,t)},t.useReducer=function(e,t,n){return T.H.useReducer(e,t,n)},t.useRef=function(e){return T.H.useRef(e)},t.useState=function(e){return T.H.useState(e)},t.useSyncExternalStore=function(e,t,n){return T.H.useSyncExternalStore(e,t,n)},t.useTransition=function(){return T.H.useTransition()},t.version="19.3.0"},6540(e,t,n){"use strict";e.exports=n(9869)},4848(e,t,n){"use strict";e.exports=n(9698)},4477(e,t){"use strict";function n(e,t){var n=e.length;for(e.push(t);0<n;){var r=n-1>>>1,a=e[r];if(0<o(a,t))e[r]=t,e[n]=a,n=r;else break}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;for(var r=0,a=e.length,i=a>>>1;r<i;){var l=2*(r+1)-1,s=e[l],u=l+1,c=e[u];if(0>o(s,n))u<a&&0>o(c,s)?(e[r]=c,e[u]=n,r=u):(e[r]=s,e[l]=n,r=l);else if(u<a&&0>o(c,n))e[r]=c,e[u]=n,r=u;else break}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var i,l=performance;t.unstable_now=function(){return l.now()}}else{var s=Date,u=s.now();t.unstable_now=function(){return s.now()-u}}var c=[],d=[],f=1,p=null,m=3,g=!1,h=!1,y=!1,b=!1,v="function"==typeof setTimeout?setTimeout:null,w="function"==typeof clearTimeout?clearTimeout:null,S="u">typeof setImmediate?setImmediate:null;function k(e){for(var t=r(d);null!==t;){if(null===t.callback)a(d);else if(t.startTime<=e)a(d),t.sortIndex=t.expirationTime,n(c,t);else break;t=r(d)}}function x(e){if(y=!1,k(e),!h)if(null!==r(c))h=!0,E||(E=!0,i());else{var t=r(d);null!==t&&L(x,t.startTime-e)}}var E=!1,T=-1,_=5,A=-1;function C(){return!!b||!(t.unstable_now()-A<_)}function N(){if(b=!1,E){var e=t.unstable_now();A=e;var n=!0;try{e:{h=!1,y&&(y=!1,w(T),T=-1),g=!0;var o=m;try{t:{for(k(e),p=r(c);null!==p&&!(p.expirationTime>e&&C());){var l=p.callback;if("function"==typeof l){p.callback=null,m=p.priorityLevel;var s=l(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof s){p.callback=s,k(e),n=!0;break t}p===r(c)&&a(c),k(e)}else a(c);p=r(c)}if(null!==p)n=!0;else{var u=r(d);null!==u&&L(x,u.startTime-e),n=!1}}break e}finally{p=null,m=o,g=!1}}}finally{n?i():E=!1}}}if("function"==typeof S)i=function(){S(N)};else if("u">typeof MessageChannel){var P=new MessageChannel,O=P.port2;P.port1.onmessage=N,i=function(){O.postMessage(null)}}else i=function(){v(N,0)};function L(e,n){T=v(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):_=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_next=function(e){switch(m){case 1:case 2:case 3:var t=3;break;default:t=m}var n=m;m=t;try{return e()}finally{m=n}},t.unstable_requestPaint=function(){b=!0},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=m;m=e;try{return t()}finally{m=n}},t.unstable_scheduleCallback=function(e,a,o){var l=t.unstable_now();switch(o="object"==typeof o&&null!==o&&"number"==typeof(o=o.delay)&&0<o?l+o:l,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=0x3fffffff;break;case 4:s=1e4;break;default:s=5e3}return s=o+s,e={id:f++,callback:a,priorityLevel:e,startTime:o,expirationTime:s,sortIndex:-1},o>l?(e.sortIndex=o,n(d,e),null===r(c)&&e===r(d)&&(y?(w(T),T=-1):y=!0,L(x,o-l))):(e.sortIndex=s,n(c,e),h||g||(h=!0,E||(E=!0,i()))),e},t.unstable_shouldYield=C,t.unstable_wrapCallback=function(e){var t=m;return function(){var n=m;m=t;try{return e.apply(this,arguments)}finally{m=n}}}},9982(e,t,n){"use strict";e.exports=n(4477)},2833(e){e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(t),s=0;s<o.length;s++){var u=o[s];if(!l(u))return!1;var c=e[u],d=t[u];if(!1===(a=n?n.call(r,c,d,u):void 0)||void 0===a&&c!==d)return!1}return!0}},8460(e,t,n){"use strict";n.d(t,{A:()=>f}),n(6540);var r=n(4848),a=n(3259),o=n.n(a),i=n(4054);let l={"01a85c17":[()=>Promise.all([n.e("4014"),n.e("9786")]).then(n.bind(n,3456)),"@theme/BlogTagsListPage",3456],"02854a60":[()=>n.e("8384").then(n.bind(n,7455)),"@site/i18n/en/docusaurus-plugin-content-docs/current/quickstart/setup.md",7455],"1078a278":[()=>n.e("3674").then(n.bind(n,3445)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/table-lineage.md",3445],"136d9fb6":[()=>n.e("9901").then(n.t.bind(n,9216,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-en-blog-tags-origin-bee.json",9216],0x11113f9:[()=>Promise.all([n.e("4014"),n.e("1016"),n.e("106")]).then(n.bind(n,280)),"@theme/DocItem",280],"1a0052a3":[()=>n.e("1389").then(n.bind(n,6185)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/parameter-compile.md",6185],"1f5cb825":[()=>n.e("4684").then(n.bind(n,8607)),"@site/i18n/en/docusaurus-plugin-content-docs/current/core/sql-type.md",8607],"22e0017f":[()=>n.e("1591").then(n.t.bind(n,3558,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-en-blog-tags-d52.json",3558],"2cb18a50":[()=>n.e("9548").then(n.bind(n,1564)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/about/architecture.md",1564],"33fc5bb8":[()=>Promise.all([n.e("4014"),n.e("1016"),n.e("6726"),n.e("48")]).then(n.bind(n,2242)),"@theme/Blog/Pages/BlogAuthorsPostsPage",2242],"36994c47":[()=>n.e("191").then(n.t.bind(n,5516,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",5516],"4a65a190":[()=>n.e("2705").then(n.bind(n,670)),"@site/blog/2026-09-28-origin-of-sqlparserx.md",670],"4b0ae1c1":[()=>n.e("9375").then(n.bind(n,8786)),"@site/blog/2026-09-28-origin-of-sqlparserx.md?truncated=true",8786],"533336a0":[()=>n.e("8102").then(n.bind(n,1082)),"@site/i18n/en/docusaurus-plugin-content-docs/current/core/table-lineage.md",1082],"5abf25f6":[()=>n.e("3179").then(n.t.bind(n,779,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-en-blog-authors-changlu-bc5.json",779],"5b44acae":[()=>n.e("8637").then(n.bind(n,2424)),"@site/i18n/en/docusaurus-plugin-content-docs/current/intro.md",2424],"5e95c892":[()=>n.e("1668").then(n.bind(n,6569)),"@theme/DocsRoot",6569],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"621db11d":[()=>Promise.all([n.e("4014"),n.e("6726"),n.e("1221")]).then(n.bind(n,6433)),"@theme/Blog/Pages/BlogAuthorsListPage",6433],"672ba3d6":[()=>Promise.all([n.e("4014"),n.e("8893")]).then(n.bind(n,7062)),"@site/src/pages/community.js",7062],"6875c492":[()=>Promise.all([n.e("4014"),n.e("1016"),n.e("6726"),n.e("766")]).then(n.bind(n,149)),"@theme/BlogTagsPostsPage",149],"773100d1":[()=>n.e("4413").then(n.bind(n,4282)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/quickstart/setup.md",4282],"7ba64a19":[()=>n.e("947").then(n.bind(n,6296)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/field-lineage.md",6296],"814f3328":[()=>n.e("1833").then(n.t.bind(n,5513,19)),"~blog/default/blog-post-list-prop-default.json",5513],"92d5f697":[()=>n.e("4128").then(n.bind(n,1110)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/function-parse.md",1110],"9aae347e":[()=>n.e("1759").then(n.bind(n,1421)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/table-parse.md",1421],"9c37e8a9":[()=>n.e("1033").then(n.bind(n,6845)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/about/introduction.md",6845],"9e4087bc":[()=>n.e("9660").then(n.bind(n,7243)),"@theme/BlogArchivePage",7243],a02bd756:[()=>n.e("5415").then(n.t.bind(n,8354,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-en-blog-edf.json",8354],a16ef744:[()=>n.e("9984").then(n.bind(n,3349)),"@site/i18n/en/docusaurus-plugin-content-docs/current/contributing.md",3349],a6aa9e1f:[()=>Promise.all([n.e("4014"),n.e("1016"),n.e("6726"),n.e("7496")]).then(n.bind(n,2152)),"@theme/BlogListPage",2152],a7456010:[()=>n.e("3056").then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e("5575").then(n.bind(n,8146)),"@theme/DocVersionRoot",8146],a84fc31f:[()=>n.e("9414").then(n.bind(n,3893)),"@site/i18n/en/docusaurus-plugin-content-docs/current/about/introduction.md",3893],a94703ab:[()=>Promise.all([n.e("4014"),n.e("6785")]).then(n.bind(n,1399)),"@theme/DocRoot",1399],aa9e3246:[()=>n.e("2687").then(n.t.bind(n,6321,19)),"@generated/docusaurus-plugin-content-docs/default/p/sql-parser-x-en-docs-next-d4b.json",6321],aba21aa0:[()=>n.e("3747").then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],ac311984:[()=>n.e("9590").then(n.bind(n,7821)),"@site/i18n/en/docusaurus-plugin-content-docs/current/core/table-parse.md",7821],ac4ff279:[()=>n.e("8222").then(n.bind(n,6462)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/contributing.md",6462],acecf23e:[()=>n.e("3220").then(n.t.bind(n,1912,19)),"~blog/default/blogMetadata-default.json",1912],bd32d0d5:[()=>n.e("5940").then(n.t.bind(n,4241,19)),"@generated/docusaurus-plugin-content-docs/default/p/sql-parser-x-en-docs-7be.json",4241],c4f5d8e4:[()=>Promise.all([n.e("4014"),n.e("4823")]).then(n.bind(n,7641)),"@site/src/pages/index.js",7641],c61d1296:[()=>n.e("3224").then(n.bind(n,9246)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/intro.md",9246],ccc49370:[()=>Promise.all([n.e("4014"),n.e("1016"),n.e("6726"),n.e("6074")]).then(n.bind(n,2063)),"@theme/BlogPostPage",2063],d611a6ba:[()=>n.e("9794").then(n.bind(n,3354)),"@site/i18n/en/docusaurus-plugin-content-docs/current/about/architecture.md",3354],dae5e6b9:[()=>n.e("1811").then(n.bind(n,9721)),"@site/i18n/en/docusaurus-plugin-content-docs/current/core/parameter-compile.md",9721],db80618e:[()=>n.e("6056").then(n.t.bind(n,9707,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-en-blog-authors-2a6.json",9707],e539d78b:[()=>n.e("5301").then(n.bind(n,8432)),"@site/i18n/en/docusaurus-plugin-content-docs/current/core/field-lineage.md",8432],e65be245:[()=>n.e("3080").then(n.bind(n,1090)),"@site/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/sql-type.md",1090],e9caf4bd:[()=>n.e("2030").then(n.t.bind(n,7846,19)),"@generated/docusaurus-plugin-content-blog/default/p/sql-parser-x-en-blog-archive-987.json",7846],f798a39c:[()=>n.e("7266").then(n.bind(n,264)),"@site/i18n/en/docusaurus-plugin-content-docs/current/core/function-parse.md",264]};function s({error:e,retry:t,pastDelay:n}){return e?(0,r.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,r.jsx)("p",{children:String(e)}),(0,r.jsx)("div",{children:(0,r.jsx)("button",{type:"button",onClick:t,children:"Retry"})})]}):n?(0,r.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,r.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,r.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,r.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,r.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,r.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,r.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,r.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,r.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(7665),c=n(7574);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e("5062").then(n.bind(n,629)),modules:["@theme/NotFound"],webpack:()=>[629],render(e,t){let n=e.default;return(0,r.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,r.jsx)(n,{...t})})}});let a=i[`${e}-${t}`],d={},f=[],p=[];return Object.entries((0,u.A)(a)).forEach(([e,t])=>{let n=l[t];n&&(d[e]=n[0],f.push(n[1]),p.push(n[2]))}),o().Map({loading:s,loader:d,modules:f,webpack:()=>p,render(t,n){let o=JSON.parse(JSON.stringify(a));Object.entries(t).forEach(([t,n])=>{let r=n.default;if(!r)throw Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);("object"==typeof r||"function"==typeof r)&&Object.keys(n).filter(e=>"default"!==e).forEach(e=>{r[e]=n[e]});let a=o,i=t.split(".");i.slice(0,-1).forEach(e=>{a=a[e]}),a[i[i.length-1]]=r});let i=o.__comp;delete o.__comp;let l=o.__context;delete o.__context;let s=o.__props;return delete o.__props,(0,r.jsx)(c.W,{value:l,children:(0,r.jsx)(i,{...o,...s,...n})})}})}let f=[{path:"/SqlParserX/en/blog",component:d("/SqlParserX/en/blog","c47"),exact:!0},{path:"/SqlParserX/en/blog/archive",component:d("/SqlParserX/en/blog/archive","bf0"),exact:!0},{path:"/SqlParserX/en/blog/authors",component:d("/SqlParserX/en/blog/authors","ac8"),exact:!0},{path:"/SqlParserX/en/blog/authors/changlu",component:d("/SqlParserX/en/blog/authors/changlu","a8d"),exact:!0},{path:"/SqlParserX/en/blog/origin-of-sqlparserx",component:d("/SqlParserX/en/blog/origin-of-sqlparserx","a52"),exact:!0},{path:"/SqlParserX/en/blog/tags",component:d("/SqlParserX/en/blog/tags","2aa"),exact:!0},{path:"/SqlParserX/en/blog/tags/origin",component:d("/SqlParserX/en/blog/tags/origin","121"),exact:!0},{path:"/SqlParserX/en/community",component:d("/SqlParserX/en/community","2bf"),exact:!0},{path:"/SqlParserX/en/docs",component:d("/SqlParserX/en/docs","5b1"),routes:[{path:"/SqlParserX/en/docs/next",component:d("/SqlParserX/en/docs/next","a22"),routes:[{path:"/SqlParserX/en/docs/next",component:d("/SqlParserX/en/docs/next","12e"),routes:[{path:"/SqlParserX/en/docs/next/about/architecture",component:d("/SqlParserX/en/docs/next/about/architecture","7df"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/next/about/introduction",component:d("/SqlParserX/en/docs/next/about/introduction","9f1"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/next/contributing",component:d("/SqlParserX/en/docs/next/contributing","083"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/next/core/field-lineage",component:d("/SqlParserX/en/docs/next/core/field-lineage","d01"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/next/core/function-parse",component:d("/SqlParserX/en/docs/next/core/function-parse","2b2"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/next/core/parameter-compile",component:d("/SqlParserX/en/docs/next/core/parameter-compile","7b3"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/next/core/sql-type",component:d("/SqlParserX/en/docs/next/core/sql-type","d46"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/next/core/table-lineage",component:d("/SqlParserX/en/docs/next/core/table-lineage","a0c"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/next/core/table-parse",component:d("/SqlParserX/en/docs/next/core/table-parse","69c"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/next/intro",component:d("/SqlParserX/en/docs/next/intro","684"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/next/quickstart/setup",component:d("/SqlParserX/en/docs/next/quickstart/setup","65f"),exact:!0,sidebar:"docs"}]}]},{path:"/SqlParserX/en/docs",component:d("/SqlParserX/en/docs","193"),routes:[{path:"/SqlParserX/en/docs",component:d("/SqlParserX/en/docs","634"),routes:[{path:"/SqlParserX/en/docs/about/architecture",component:d("/SqlParserX/en/docs/about/architecture","d26"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/about/introduction",component:d("/SqlParserX/en/docs/about/introduction","046"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/contributing",component:d("/SqlParserX/en/docs/contributing","d4c"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/core/field-lineage",component:d("/SqlParserX/en/docs/core/field-lineage","4f9"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/core/function-parse",component:d("/SqlParserX/en/docs/core/function-parse","906"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/core/parameter-compile",component:d("/SqlParserX/en/docs/core/parameter-compile","818"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/core/sql-type",component:d("/SqlParserX/en/docs/core/sql-type","89c"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/core/table-lineage",component:d("/SqlParserX/en/docs/core/table-lineage","2f2"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/core/table-parse",component:d("/SqlParserX/en/docs/core/table-parse","a91"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/intro",component:d("/SqlParserX/en/docs/intro","9c5"),exact:!0,sidebar:"docs"},{path:"/SqlParserX/en/docs/quickstart/setup",component:d("/SqlParserX/en/docs/quickstart/setup","646"),exact:!0,sidebar:"docs"}]}]}]},{path:"/SqlParserX/en/",component:d("/SqlParserX/en/","624"),exact:!0},{path:"*",component:d("*")}]},1173(e,t,n){"use strict";n.d(t,{o:()=>o,x:()=>i});var r=n(4848),a=n(6540);let o=a.createContext(!1);function i({children:e}){let[t,n]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{n(!0)},[]),(0,r.jsx)(o.Provider,{value:t,children:e})}},354(e,t,n){"use strict";var r=n(4848),a=n(6540),o=n(5338),i=n(545),l=n(4625),s=n(4784),u=n(1289);let c=[n(7612),n(6464),n(2489),n(3678),n(6448)];var d=n(8460),f=n(6347),p=n(2831);function m({children:e}){return(0,r.jsx)(r.Fragment,{children:e})}var g=n(3899);let h=e=>e.defaultFormatter(e);function y({children:e}){return(0,r.jsx)(g.AL,{formatter:h,children:e})}function b({children:e}){return(0,r.jsx)(y,{children:e})}var v=n(3572),w=n(898),S=n(6497),k=n(1022),x=n(4308),E=n(5243),T=n(5248),_=n(4175);function A(){let{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,w.A)(),a=(0,E.o)(),o=n[e].htmlLang;return(0,r.jsxs)(v.A,{children:[Object.entries(n).map(([e,{htmlLang:t}])=>(0,r.jsx)("link",{rel:"alternate",href:a.createUrl({locale:e,fullyQualified:!0}),hrefLang:t},e)),(0,r.jsx)("link",{rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,r.jsx)("meta",{property:"og:locale",content:o.replace("-","_")}),Object.values(n).filter(e=>o!==e.htmlLang).map(e=>(0,r.jsx)("meta",{property:"og:locale:alternate",content:e.htmlLang.replace("-","_")},`meta-og-${e.htmlLang}`))]})}function C({permalink:e}){let{siteConfig:{url:t}}=(0,w.A)(),n=function(){let{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,w.A)(),{pathname:r}=(0,f.zy)();return e+(0,T.applyTrailingSlash)((0,S.Ay)(r),{trailingSlash:n,baseUrl:t})}(),a=e?`${t}${e}`:n;return(0,r.jsxs)(v.A,{children:[(0,r.jsx)("meta",{property:"og:url",content:a}),(0,r.jsx)("link",{rel:"canonical",href:a})]})}function N(){let{i18n:{currentLocale:e}}=(0,w.A)(),{metadata:t,image:n}=(0,k.p)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(v.A,{children:[(0,r.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,r.jsx)("body",{})]}),n&&(0,r.jsx)(x.be,{image:n}),(0,r.jsx)(C,{}),(0,r.jsx)(A,{}),(0,r.jsx)(_.A,{tag:"default",locale:e}),(0,r.jsx)(v.A,{children:t.map((e,t)=>(0,r.jsx)("meta",{...e},t))})]})}let P=new Map;var O=n(1173),L=n(3587),I=n(9989);function R(e,...t){let n=c.map(n=>{let r=n.default?.[e]??n[e];return r?.(...t)});return()=>n.forEach(e=>e?.())}let j=function({children:e,location:t,previousLocation:n}){return(0,I.A)(()=>{n!==t&&(!function({location:e,previousLocation:t}){if(!t)return;let n=e.pathname===t.pathname,r=e.hash===t.hash,a=e.search===t.search;if(n&&r&&!a)return;let{hash:o}=e;if(o){let e=decodeURIComponent(o.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:t,previousLocation:n}),R("onRouteDidUpdate",{previousLocation:n,location:t}))},[n,t]),e};function D(e){return Promise.all(Array.from(new Set([e,decodeURI(e)])).map(e=>(0,p.u)(d.A,e)).flat().map(e=>e.route.component.preload?.()))}class F extends a.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=u.A.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;let n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),D(n.pathname).then(()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})}).catch(e=>{console.warn(e),window.location.reload()}),!1}render(){let{children:e,location:t}=this.props;return(0,r.jsx)(j,{previousLocation:this.previousLocation,location:t,children:(0,r.jsx)(f.qh,{location:t,render:()=>e})})}}let M="__docusaurus-base-url-issue-banner-suggestion-container";function z(){let{siteConfig:{baseUrl:e}}=(0,w.A)();return(0,r.jsx)(r.Fragment,{children:!u.A.canUseDOM&&(0,r.jsx)(v.A,{children:(0,r.jsx)("script",{children:` +document.addEventListener('DOMContentLoaded', function maybeInsertBanner() { + var shouldInsert = typeof window['docusaurus'] === 'undefined'; + shouldInsert && insertBanner(); +}); + +function insertBanner() { + var bannerContainer = document.createElement('div'); + bannerContainer.id = '__docusaurus-base-url-issue-banner-container'; + var bannerHtml = ${JSON.stringify(` +<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;"> + <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p> + <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p> + <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p> + <p>We suggest trying baseUrl = <span id="${M}" style="font-weight: bold; color: green;"></span></p> +</div> +`).replace(/</g,"\\<")}; + bannerContainer.innerHTML = bannerHtml; + document.body.prepend(bannerContainer); + var suggestionContainer = document.getElementById('${M}'); + var actualHomePagePath = window.location.pathname; + var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/' + ? actualHomePagePath + : actualHomePagePath + '/'; + suggestionContainer.textContent = suggestedBaseUrl; +} +`})})})}function B(){let{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,w.A)(),{pathname:n}=(0,f.zy)();return t&&n===e?(0,r.jsx)(z,{}):null}function U(){let{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,w.A)(),i=(0,S.Ay)(e),{htmlLang:l,direction:s}=o[a];return(0,r.jsxs)(v.A,{children:[(0,r.jsx)("html",{lang:l,dir:s}),(0,r.jsx)("title",{children:t}),(0,r.jsx)("meta",{property:"og:title",content:t}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,r.jsx)("link",{rel:"icon",href:i})]})}var $=n(1701),q=n(9863);function H(){let e=(0,q.A)();return(0,r.jsx)(v.A,{children:(0,r.jsx)("html",{"data-has-hydrated":e})})}let V=(0,p.v)(d.A);function X(){let e=function(e){if(P.has(e.pathname))return{...e,pathname:P.get(e.pathname)};if((0,p.u)(d.A,e.pathname).some(({route:e})=>!0===e.exact))return P.set(e.pathname,e.pathname),e;let t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return P.set(e.pathname,t),{...e,pathname:t}}((0,f.zy)());return(0,r.jsx)(F,{location:e,children:V})}var G=n(4054);let W=!function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise((t,n)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)})}:function(e){return new Promise((t,n)=>{if("u"<typeof document)return void n();let r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();let a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)})};var Y=n(7665);let K=new Set,Q=new Set,Z=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J=Object.freeze({prefetch:e=>!(Z()||Q.has(e)||K.has(e))&&(K.add(e),Promise.all((0,p.u)(d.A,e).flatMap(e=>{let t;return t=e.route.path,Object.entries(G).filter(([e])=>e.replace(/-[^-]+$/,"")===t).flatMap(([,e])=>Object.values((0,Y.A)(e)))}).map(e=>{let t=n.gca(e);return t&&!t.includes("undefined")?W(t).catch(()=>{}):Promise.resolve()}))),preload:e=>!(Z()||Q.has(e))&&(Q.add(e),D(e))});if(u.A.canUseDOM){window.docusaurus=J;let e=document.getElementById("__docusaurus"),t=(0,r.jsx)(i.vd,{children:(0,r.jsx)(function({children:e}){return"hash"===s.default.future.experimental_router?(0,r.jsx)(l.I9,{children:e}):(0,r.jsx)(l.Kd,{children:e})},{children:(0,r.jsx)(function(){return(0,r.jsx)($.A,{children:(0,r.jsx)(L.l,{children:(0,r.jsxs)(O.x,{children:[(0,r.jsx)(m,{children:(0,r.jsxs)(b,{children:[(0,r.jsx)(U,{}),(0,r.jsx)(N,{}),(0,r.jsx)(B,{}),(0,r.jsx)(X,{})]})}),(0,r.jsx)(H,{})]})})})},{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},u=()=>{window.docusaurusRoot?window.docusaurusRoot.render(t):window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n})};D(window.location.pathname).then(()=>{(0,a.startTransition)(u)})}},3587(e,t,n){"use strict";n.d(t,{l:()=>f,o:()=>d});var r=n(4848),a=n(6540),o=n(4784),i=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/SqlParserX/en/docs","versions":[{"name":"current","label":"Next \u{1F6A7}","isLast":false,"path":"/SqlParserX/en/docs/next","mainDocId":"intro","docs":[{"id":"about/architecture","path":"/SqlParserX/en/docs/next/about/architecture","sidebar":"docs"},{"id":"about/introduction","path":"/SqlParserX/en/docs/next/about/introduction","sidebar":"docs"},{"id":"contributing","path":"/SqlParserX/en/docs/next/contributing","sidebar":"docs"},{"id":"core/field-lineage","path":"/SqlParserX/en/docs/next/core/field-lineage","sidebar":"docs"},{"id":"core/function-parse","path":"/SqlParserX/en/docs/next/core/function-parse","sidebar":"docs"},{"id":"core/parameter-compile","path":"/SqlParserX/en/docs/next/core/parameter-compile","sidebar":"docs"},{"id":"core/sql-type","path":"/SqlParserX/en/docs/next/core/sql-type","sidebar":"docs"},{"id":"core/table-lineage","path":"/SqlParserX/en/docs/next/core/table-lineage","sidebar":"docs"},{"id":"core/table-parse","path":"/SqlParserX/en/docs/next/core/table-parse","sidebar":"docs"},{"id":"intro","path":"/SqlParserX/en/docs/next/intro","sidebar":"docs"},{"id":"quickstart/setup","path":"/SqlParserX/en/docs/next/quickstart/setup","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/SqlParserX/en/docs/next/intro","label":"intro"}}}},{"name":"1.0","label":"Next \u{1F6A7}","isLast":true,"path":"/SqlParserX/en/docs","mainDocId":"intro","docs":[{"id":"about/architecture","path":"/SqlParserX/en/docs/about/architecture","sidebar":"docs"},{"id":"about/introduction","path":"/SqlParserX/en/docs/about/introduction","sidebar":"docs"},{"id":"contributing","path":"/SqlParserX/en/docs/contributing","sidebar":"docs"},{"id":"core/field-lineage","path":"/SqlParserX/en/docs/core/field-lineage","sidebar":"docs"},{"id":"core/function-parse","path":"/SqlParserX/en/docs/core/function-parse","sidebar":"docs"},{"id":"core/parameter-compile","path":"/SqlParserX/en/docs/core/parameter-compile","sidebar":"docs"},{"id":"core/sql-type","path":"/SqlParserX/en/docs/core/sql-type","sidebar":"docs"},{"id":"core/table-lineage","path":"/SqlParserX/en/docs/core/table-lineage","sidebar":"docs"},{"id":"core/table-parse","path":"/SqlParserX/en/docs/core/table-parse","sidebar":"docs"},{"id":"intro","path":"/SqlParserX/en/docs/intro","sidebar":"docs"},{"id":"quickstart/setup","path":"/SqlParserX/en/docs/quickstart/setup","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/SqlParserX/en/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),l=JSON.parse('{"defaultLocale":"zh-Hans","locales":["zh-Hans","en"],"path":"i18n","currentLocale":"en","localeConfigs":{"zh-Hans":{"label":"\u7B80\u4F53\u4E2D\u6587","direction":"ltr","htmlLang":"zh-Hans","calendar":"gregory","path":"zh-Hans","translate":false,"url":"https://dtstack.github.io","baseUrl":"/SqlParserX/"},"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en","translate":true,"url":"https://dtstack.github.io","baseUrl":"/SqlParserX/en/"}}}'),s=n(2654),u=JSON.parse('{"docusaurusVersion":"3.10.2","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-css-cascade-layers":{"type":"package","name":"@docusaurus/plugin-css-cascade-layers","version":"3.10.2"},"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.10.2"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.10.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.10.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.10.2"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.10.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.10.2"},"docusaurus-theme-mermaid":{"type":"package","name":"@docusaurus/theme-mermaid","version":"3.10.2"}}}');let c={siteConfig:o.default,siteMetadata:u,globalData:i,i18n:l,codeTranslations:s},d=a.createContext(c);function f({children:e}){return(0,r.jsx)(d.Provider,{value:c,children:e})}},1701(e,t,n){"use strict";n.d(t,{A:()=>m});var r=n(4848),a=n(6540),o=n(1289),i=n(3572),l=n(5248),s=n(6525),u=n(7574);function c({error:e,tryAgain:t}){return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,r.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,r.jsx)("button",{type:"button",onClick:t,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,r.jsx)(d,{error:e})]})}function d({error:e}){let t=(0,l.getErrorCausalChain)(e).map(e=>e.message).join("\n\nCause:\n");return(0,r.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:t})}function f({children:e}){return(0,r.jsx)(u.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:e})}function p({error:e,tryAgain:t}){return(0,r.jsx)(f,{children:(0,r.jsxs)(m,{fallback:()=>(0,r.jsx)(c,{error:e,tryAgain:t}),children:[(0,r.jsx)(i.A,{children:(0,r.jsx)("title",{children:"Page Error"})}),(0,r.jsx)(s.A,{children:(0,r.jsx)(c,{error:e,tryAgain:t})})]})})}class m extends a.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){let{children:e}=this.props,{error:t}=this.state;return t?(this.props.fallback??(e=>(0,r.jsx)(p,{...e})))({error:t,tryAgain:()=>this.setState({error:null})}):e??null}}},1289(e,t,n){"use strict";n.d(t,{A:()=>a});let r="u">typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},3572(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(4848);n(6540);var a=n(545);function o(e){return(0,r.jsx)(a.mg,{...e})}},5310(e,t,n){"use strict";n.d(t,{A:()=>f});var r=n(4848),a=n(6540),o=n(4625),i=n(5248),l=n(898),s=n(8310),u=n(1289),c=n(5916),d=n(6497);let f=a.forwardRef(function({isNavLink:e,to:t,href:n,activeClassName:f,isActive:p,"data-noBrokenLinkCheck":m,autoAddBaseUrl:g=!0,...h},y){var b;let{siteConfig:v}=(0,l.A)(),{trailingSlash:w,baseUrl:S}=v,k=v.future.experimental_router,{withBaseUrl:x}=(0,d.hH)(),E=(0,c.A)(),T=(0,a.useRef)(null);(0,a.useImperativeHandle)(y,()=>T.current);let _=t||n,A=(0,s.A)(_),C=_?.replace("pathname://",""),N=void 0!==C?(b=C,g&&b.startsWith("/")?x(b):b):void 0;"hash"===k&&N?.startsWith("./")&&(N=N?.slice(1)),N&&A&&(N=(0,i.applyTrailingSlash)(N,{trailingSlash:w,baseUrl:S}));let P=(0,a.useRef)(!1),O=e?o.k2:o.N_,L=u.A.canUseIntersectionObserver,I=(0,a.useRef)(void 0),R=()=>{P.current||null==N||(window.docusaurus.preload(N),P.current=!0)};(0,a.useEffect)(()=>(!L&&A&&u.A.canUseDOM&&null!=N&&window.docusaurus.prefetch(N),()=>{L&&I.current&&I.current.disconnect()}),[I,N,L,A]);let j=N?.startsWith("#")??!1,D=!h.target||"_self"===h.target,F=!N||!A||!D||j&&"hash"!==k;m||!j&&F||E.collectLink(N),h.id&&E.collectAnchor(h.id);let M={};return F?(0,r.jsx)("a",{ref:T,href:N,..._&&!A&&{target:"_blank",rel:"noopener noreferrer"},...h,...M}):(0,r.jsx)(O,{...h,onMouseEnter:R,onTouchStart:R,innerRef:e=>{T.current=e,L&&e&&A&&(I.current=new window.IntersectionObserver(t=>{t.forEach(t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(I.current.unobserve(e),I.current.disconnect(),null!=N&&window.docusaurus.prefetch(N))})}),I.current.observe(e))},to:N,...e&&{isActive:p,activeClassName:f},...M})})},568(e,t,n){"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(4848),a=n(6540);function o(e,t){let n=e.split(/(\{\w+\})/).map((e,n)=>{if(n%2==1){let n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e});return n.some(e=>(0,a.isValidElement)(e))?n.map((e,t)=>(0,a.isValidElement)(e)?a.cloneElement(e,{key:t}):e).filter(e=>""!==e):n.join("")}var i=n(2654);function l({id:e,message:t}){if(void 0===e&&void 0===t)throw Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[e??t]??t??e}function s({message:e,id:t},n){return o(l({message:e,id:t}),n)}function u({children:e,id:t,values:n}){if(e&&"string"!=typeof e)throw console.warn("Illegal <Translate> children",e),Error("The Docusaurus <Translate> component only accept simple string values");let a=l({message:e,id:t});return(0,r.jsx)(r.Fragment,{children:o(a,n)})}},8977(e,t,n){"use strict";n.d(t,{W:()=>r});let r="default"},8310(e,t,n){"use strict";function r(e){return/^(?:[A-Za-z][A-Za-z\d+.-]*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},6497(e,t,n){"use strict";n.d(t,{Ay:()=>l,hH:()=>i});var r=n(6540),a=n(898),o=n(8310);function i(){let{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router;return{withBaseUrl:(0,r.useCallback)((e,r)=>(function({siteUrl:e,baseUrl:t,url:n,options:{forcePrependBaseUrl:r=!1,absolute:a=!1}={},router:i}){if(!n||n.startsWith("#")||(0,o.z)(n))return n;if("hash"===i)return n.startsWith("/")?`.${n}`:`./${n}`;if(r)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;let l=n.startsWith(t)?n:t+n.replace(/^\//,"");return a?e+l:l})({siteUrl:n,baseUrl:t,url:e,options:r,router:i}),[n,t,i])}}function l(e,t={}){let{withBaseUrl:n}=i();return n(e,t)}},5916(e,t,n){"use strict";n.d(t,{A:()=>o}),n(4848);var r=n(6540);let a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}});function o(){return(0,r.useContext)(a)}},898(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(3587);function o(){return(0,r.useContext)(a.o)}},9863(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(1173);function o(){return(0,r.useContext)(a.o)}},9989(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(6540);let a=n(1289).A.canUseDOM?r.useLayoutEffect:r.useEffect},8491(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(7574);function o(){let e=r.useContext(a.o);if(!e)throw Error("Unexpected: no Docusaurus route context found");return e}},7665(e,t,n){"use strict";function r(e){let t={};return!function e(n,r){Object.entries(n).forEach(([n,a])=>{let o=r?`${r}.${n}`:n;"object"==typeof a&&a&&Object.keys(a).length>0?e(a,o):t[o]=a})}(e),t}n.d(t,{A:()=>r})},7574(e,t,n){"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(4848),a=n(6540);let o=a.createContext(null);function i({children:e,value:t}){let n=a.useContext(o),l=(0,a.useMemo)(()=>(function({parent:e,value:t}){if(!e){if(t){if(!("plugin"in t))throw Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute")}else throw Error("Unexpected: no Docusaurus route context found");return t}let n={...e.data,...t?.data};return{plugin:e.plugin,data:n}})({parent:n,value:t}),[n,t]);return(0,r.jsx)(o.Provider,{value:l,children:e})}},2086(e,t,n){"use strict";n.d(t,{VQ:()=>p,g1:()=>m});var r=n(4848),a=n(6540),o=n(698),i=n(8977),l=n(1022),s=n(1367),u=n(2260);let c=e=>`docs-preferred-version-${e}`,d=a.createContext(null);function f({children:e}){let t=function(){let e=(0,o.Gy)(),t=(0,l.p)().docs.versionPersistence,n=(0,a.useMemo)(()=>Object.keys(e),[e]),[r,i]=(0,a.useState)(()=>Object.fromEntries(n.map(e=>[e,{preferredVersionName:null}])));return(0,a.useEffect)(()=>{i(function({pluginIds:e,versionPersistence:t,allDocsData:n}){return Object.fromEntries(e.map(e=>{var r,a;let o,i,l;return[e,(i=e,l=t,o=(0,s.Wf)(c(i),{persistence:l}).get(),n[e].versions.some(e=>e.name===o)?{preferredVersionName:o}:(r=e,a=t,(0,s.Wf)(c(r),{persistence:a}).del(),{preferredVersionName:null}))]}))}({allDocsData:e,versionPersistence:t,pluginIds:n}))},[e,t,n]),[r,(0,a.useMemo)(()=>({savePreferredVersion:function(e,n){var r,a,o;r=e,a=t,o=n,(0,s.Wf)(c(r),{persistence:a}).set(o),i(t=>({...t,[e]:{preferredVersionName:n}}))}}),[t])]}();return(0,r.jsx)(d.Provider,{value:t,children:e})}function p({children:e}){return(0,r.jsx)(f,{children:e})}function m(e=i.W){let t=(0,o.ht)(e),[n,r]=function(){let e=(0,a.useContext)(d);if(!e)throw new u.dV("DocsPreferredVersionContextProvider");return e}(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find(e=>e.name===l)??null,savePreferredVersionName:(0,a.useCallback)(t=>{r.savePreferredVersion(e,t)},[r,e])}}},2473(e,t,n){"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(4848),a=n(6540),o=n(2260);let i=Symbol("EmptyContext"),l=a.createContext(i);function s({children:e,name:t,items:n}){let o=(0,a.useMemo)(()=>t&&n?{name:t,items:n}:null,[t,n]);return(0,r.jsx)(l.Provider,{value:o,children:e})}function u(){let e=(0,a.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},8260(e,t,n){"use strict";n.d(t,{B5:()=>v,Nr:()=>function e(t){if("link"===t.type&&!t.unlisted)return t.href;if("category"===t.type){if(t.href&&!t.linkUnlisted)return t.href;for(let n of t.items){let t=e(n);if(t)return t}return}},OF:()=>g,QB:()=>b,Vd:()=>h,Y:()=>m,fW:()=>y,w8:()=>p});var r=n(6540),a=n(6347),o=n(2831),i=n(698),l=n(9209),s=n(618),u=n(2086),c=n(921),d=n(2473);let f=(e,t)=>void 0!==e&&(0,l.ys)(e,t);function p(e,t){if("link"===e.type)return f(e.href,t);if("category"===e.type){let n;return f(e.href,t)||(n=e.items,n.some(e=>p(e,t)))}return!1}function m(e,t){return(0,r.useMemo)(()=>e.filter(e=>(function e(t,n){switch(t.type){case"category":return p(t,n)||void 0!==t.href&&!t.linkUnlisted||t.items.some(t=>e(t,n));case"link":return!t.unlisted||p(t,n);default:return!0}})(e,t)),[e,t])}function g(){let e=(0,d.t)(),{pathname:t}=(0,a.zy)();return!1!==(0,i.vT)()?.pluginData.breadcrumbs&&e?function({sidebarItems:e,pathname:t,onlyCategories:n=!1}){let r=[];return!function e(a){for(let o of a)if("category"===o.type){if((0,l.ys)(o.href,t)||e(o.items))return r.unshift(o),!0}else if("link"===o.type&&o.docId&&(0,l.ys)(o.href,t))return n||r.unshift(o),!0;return!1}(e),r}({sidebarItems:e.items,pathname:t}):null}function h(e){let{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,u.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)(()=>(0,s.sb)([t,n,a].filter(Boolean)),[t,n,a])}function y(e,t){let n=h(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.sidebars?Object.entries(e.sidebars):[]),r=t.find(t=>t[0]===e);if(!r)throw Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map(e=>e.name).join(", ")}". +Available sidebar ids are: +- ${t.map(e=>e[0]).join("\n- ")}`);return r[1]},[e,n])}function b(e,t){let n=h(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.docs),r=t.find(t=>t.id===e);if(!r){if(n.flatMap(e=>e.draftIds).includes(e))return null;throw Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map(e=>e.name).join(", ")}". +Available doc ids are: +- ${(0,s.sb)(t.map(e=>e.id)).join("\n- ")}`)}return r},[e,n])}function v({route:e}){let t=(0,a.zy)(),n=(0,c.r)(),r=e.routes,i=r.find(e=>(0,a.B6)(t.pathname,e));if(!i)return null;let l=i.sidebar,s=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.v)(r),sidebarName:l,sidebarItems:s}}},921(e,t,n){"use strict";n.d(t,{n:()=>l,r:()=>s});var r=n(4848),a=n(6540),o=n(2260);let i=a.createContext(null);function l({children:e,version:t}){return(0,r.jsx)(i.Provider,{value:t,children:e})}function s(){let e=(0,a.useContext)(i);if(null===e)throw new o.dV("DocsVersionProvider");return e}},698(e,t,n){"use strict";n.d(t,{ht:()=>d,r7:()=>m,HW:()=>h,zK:()=>g,jh:()=>p,Gy:()=>c,vT:()=>f});var r=n(6347),a=n(898),o=n(8977);function i(e,t={}){let n=function(){let{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}let l=e=>e.versions.find(e=>e.isLast);function s(e,t){var n;let a,o=[...e.versions].sort((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:+!!t.path.includes(e.path)).find(e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})),i=o?.docs.find(e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})),l=i?(n=i.id,a={},e.versions.forEach(e=>{e.docs.forEach(t=>{t.id===n&&(a[e.name]=t)})}),a):{};return{activeVersion:o,activeDoc:i,alternateDocVersions:l}}let u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>{try{return function(e,t=o.W,n={}){let r=i(e),a=r?.[t];if(!a&&n.failfast)throw Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw Error(`You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled${"Default"===e?"":` (pluginId=${e}`}`,{cause:t})}};function f(e={}){let t=c(),{pathname:n}=(0,r.zy)();return function(e,t,n={}){let a=Object.entries(e).sort((e,t)=>t[1].path.localeCompare(e[1].path)).find(([,e])=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map(e=>e.path).join(", ")}`);return o}(t,n,e)}function p(e){return d(e).versions}function m(e){return l(d(e))}function g(e){let t=d(e),{pathname:n}=(0,r.zy)();return s(t,n)}function h(e){let t,n=d(e),{pathname:a}=(0,r.zy)();return t=l(n),{latestDocSuggestion:s(n,a).alternateDocVersions[t.name],latestVersionSuggestion:t}}},3678(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(5947),a=n.n(r);a().configure({showSpinner:!1});let o={onRouteUpdate({location:e,previousLocation:t}){if(t&&e.pathname!==t.pathname){let e=window.setTimeout(()=>{a().start()},200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},2489(e,t,n){"use strict";var r=n(1765),a=n(4784);!function(e){let{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t,o=globalThis.Prism;globalThis.Prism=e,r.forEach(e=>{"php"===e&&n(9700),n(2416)(`./prism-${e}`)}),delete globalThis.Prism,void 0!==o&&(globalThis.Prism=e)}(r.My)},2072(e,t,n){"use strict";n.d(t,{A:()=>u});var r=n(4848);n(6540);var a=n(4164),o=n(568),i=n(4727),l=n(5310),s=n(5916);function u({as:e,id:t,...n}){let c=(0,s.A)(),d=(0,i.v)(t);if("h1"===e||!t)return(0,r.jsx)(e,{...n,id:void 0});c.collectAnchor(t);let f=(0,o.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof n.children?n.children:t});return(0,r.jsxs)(e,{...n,className:(0,a.A)("anchor",d,n.className),id:t,children:[n.children,(0,r.jsx)(l.A,{className:"hash-link",to:`#${t}`,"aria-label":f,title:f,translate:"no",children:"\u200B"})]})}},7715(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(4848);n(6540);var a=n(568);function o({width:e=13.5,height:t=13.5}){return(0,r.jsx)("svg",{width:e,height:t,"aria-label":(0,a.T)({id:"theme.IconExternalLink.ariaLabel",message:"(opens in new tab)",description:"The ARIA label for the external link icon"}),className:"iconExternalLink_nPIU",children:(0,r.jsx)("use",{href:"#theme-svg-external-link"})})}},6525(e,t,n){"use strict";n.d(t,{A:()=>eK});var r=n(4848),a=n(6540),o=n(4164),i=n(1701),l=n(4308),s=n(6347),u=n(568),c=n(8398);let d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}let p=(0,u.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){let t=e.children??p,{containerRef:n,onClick:o}=function(){let e=(0,a.useRef)(null),{action:t}=(0,s.W6)(),n=(0,a.useCallback)(e=>{e.preventDefault();let t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)},[]);return(0,c.$)(({location:n})=>{e.current&&!n.hash&&"PUSH"===t&&f(e.current)}),{containerRef:e,onClick:n}}();return(0,r.jsx)("div",{ref:n,role:"region","aria-label":p,children:(0,r.jsx)("a",{...e,href:`#${d}`,onClick:o,children:t})})}var g=n(8287);function h(){return(0,r.jsx)(m,{className:"skipToContent_fXgn"})}var y=n(1022),b=n(3337);function v({width:e=21,height:t=21,color:n="currentColor",strokeWidth:a=1.2,className:o,...i}){return(0,r.jsx)("svg",{viewBox:"0 0 15 15",width:e,height:t,...i,children:(0,r.jsx)("g",{stroke:n,strokeWidth:a,children:(0,r.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}function w(e){return(0,r.jsx)("button",{type:"button","aria-label":(0,u.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.A)("clean-btn close","closeButton_CVFx",e.className),children:(0,r.jsx)(v,{width:14,height:14,strokeWidth:3.1})})}function S(e){let{announcementBar:t}=(0,y.p)(),{content:n}=t;return(0,r.jsx)("div",{...e,className:(0,o.A)("content_knG7",e.className),dangerouslySetInnerHTML:{__html:n}})}function k(){let{announcementBar:e}=(0,y.p)(),{isActive:t,close:n}=(0,b.M)();if(!t)return null;let{backgroundColor:a,textColor:i,isCloseable:l}=e;return(0,r.jsxs)("div",{className:(0,o.A)(g.G.announcementBar.container,"announcementBar_mb4j"),style:{backgroundColor:a,color:i},role:"banner",children:[l&&(0,r.jsx)("div",{className:"announcementBarPlaceholder_vyr4"}),(0,r.jsx)(S,{className:"announcementBarContent_xLdY"}),l&&(0,r.jsx)(w,{onClick:n,className:"announcementBarClose_gvF7"})]})}var x=n(9965),E=n(8584),T=n(2260),_=n(7e3);let A=a.createContext(null);function C({children:e}){let t=function(){let e=(0,x.M)(),t=(0,_.YL)(),[n,r]=(0,a.useState)(!1),o=null!==t.component,i=(0,T.ZC)(o);return(0,a.useEffect)(()=>{o&&!i&&r(!0)},[o,i]),(0,a.useEffect)(()=>{o?e.shown||r(!0):r(!1)},[e.shown,o]),(0,a.useMemo)(()=>[n,r],[n])}();return(0,r.jsx)(A.Provider,{value:t,children:e})}function N(){let e=(0,a.useContext)(A);if(!e)throw new T.dV("NavbarSecondaryMenuDisplayProvider");let[t,n]=e,o=(0,a.useCallback)(()=>n(!1),[n]),i=(0,_.YL)();return(0,a.useMemo)(()=>({shown:t,hide:o,content:function(e){if(e.component){let t=e.component;return(0,r.jsx)(t,{...e.props})}}(i)}),[o,i,t])}function P({children:e,inert:t}){return(0,r.jsx)("div",{className:(0,o.A)(g.G.layout.navbar.mobileSidebar.panel,"navbar-sidebar__item menu"),...19>parseInt(a.version.split(".")[0],10)?{inert:t?"":void 0}:{inert:t},children:e})}function O({header:e,primaryMenu:t,secondaryMenu:n}){let{shown:a}=N();return(0,r.jsxs)("div",{className:(0,o.A)(g.G.layout.navbar.mobileSidebar.container,"navbar-sidebar"),children:[e,(0,r.jsxs)("div",{className:(0,o.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,r.jsx)(P,{inert:a,children:t}),(0,r.jsx)(P,{inert:!a,children:n})]})]})}var L=n(3941),I=n(9863);function R(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function j(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}function D(e){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,r.jsx)("path",{fill:"currentColor",d:"m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"})})}let F="toggleIcon_g3eP";function M(e){switch(e){case null:return(0,u.T)({message:"system mode",id:"theme.colorToggle.ariaLabel.mode.system",description:"The name for the system color mode"});case"light":return(0,u.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"});case"dark":return(0,u.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"});default:throw Error(`unexpected color mode ${e}`)}}function z(){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(R,{"aria-hidden":!0,className:(0,o.A)(F,"lightToggleIcon_pyhR")}),(0,r.jsx)(j,{"aria-hidden":!0,className:(0,o.A)(F,"darkToggleIcon_wfgR")}),(0,r.jsx)(D,{"aria-hidden":!0,className:(0,o.A)(F,"systemToggleIcon_QzmC")})]})}let B=a.memo(function({className:e,buttonClassName:t,respectPrefersColorScheme:n,value:a,onChange:i}){let l=(0,I.A)();return(0,r.jsx)("div",{className:(0,o.A)("toggle_vylO",e),children:(0,r.jsx)("button",{className:(0,o.A)("clean-btn","toggleButton_gllP",!l&&"toggleButtonDisabled_aARS",t),type:"button",onClick:()=>i(function(e,t){if(!t)return"dark"===e?"light":"dark";switch(e){case null:return"light";case"light":return"dark";case"dark":return null;default:throw Error(`unexpected color mode ${e}`)}}(a,n)),disabled:!l,title:M(a),"aria-label":(0,u.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the color mode toggle"},{mode:M(a)}),children:(0,r.jsx)(z,{})})})});function U({className:e}){let t=(0,y.p)().navbar.style,{disableSwitch:n,respectPrefersColorScheme:a}=(0,y.p)().colorMode,{colorModeChoice:o,setColorMode:i}=(0,L.G)();return n?null:(0,r.jsx)(B,{className:e,buttonClassName:"dark"===t?"darkNavbarColorModeToggle_X3D1":void 0,respectPrefersColorScheme:a,value:o,onChange:i})}var $=n(5153);function q(){return(0,r.jsx)($.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function H(){let e=(0,x.M)();return(0,r.jsx)("button",{type:"button","aria-label":(0,u.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,r.jsx)(v,{color:"var(--ifm-color-emphasis-600)"})})}function V(){return(0,r.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,r.jsx)(q,{}),(0,r.jsx)(U,{className:"margin-right--md"}),(0,r.jsx)(H,{})]})}var X=n(5310),G=n(6497),W=n(8310);function Y(e,t){return void 0!==e&&void 0!==t&&RegExp(e,"gi").test(t)}var K=n(7715);function Q({activeBasePath:e,activeBaseRegex:t,to:n,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}){let c=(0,G.Ay)(n),d=(0,G.Ay)(e),f=(0,G.Ay)(a,{forcePrependBaseUrl:!0}),p=o&&a&&!(0,W.A)(a),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,r.jsxs)(r.Fragment,{children:[o,p&&(0,r.jsx)(K.A,{...l&&{width:12,height:12}})]})};return a?(0,r.jsx)(X.A,{href:s?f:a,...u,...m}):(0,r.jsx)(X.A,{to:c,isNavLink:!0,...(e||t)&&{isActive:(e,n)=>t?Y(t,n.pathname):n.pathname.startsWith(d)},...u,...m})}function Z({className:e,isDropdownItem:t,...n}){return(0,r.jsx)("li",{className:"menu__list-item",children:(0,r.jsx)(Q,{className:(0,o.A)("menu__link",e),...n})})}function J({className:e,isDropdownItem:t=!1,...n}){let a=(0,r.jsx)(Q,{className:(0,o.A)(t?"dropdown__link":"navbar__item navbar__link",e),isDropdownLink:t,...n});return t?(0,r.jsx)("li",{children:a}):a}function ee({mobile:e=!1,position:t,...n}){return(0,r.jsx)(e?Z:J,{...n,activeClassName:n.activeClassName??(e?"menu__link--active":"navbar__link--active")})}var et=n(9510),en=n(9209),er=n(898);function ea({collapsed:e,onClick:t}){return(0,r.jsx)("button",{"aria-label":e?(0,u.T)({id:"theme.navbar.mobileDropdown.collapseButton.expandAriaLabel",message:"Expand the dropdown",description:"The ARIA label of the button to expand the mobile dropdown navbar item"}):(0,u.T)({id:"theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel",message:"Collapse the dropdown",description:"The ARIA label of the button to collapse the mobile dropdown navbar item"}),"aria-expanded":!e,type:"button",className:"clean-btn menu__caret",onClick:t})}function eo({items:e,className:t,position:n,onClick:i,...l}){let u=function(){let{siteConfig:{baseUrl:e}}=(0,er.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),c=(0,en.ys)(l.to,u),d=e.some(e=>!!((0,en.ys)(e.to,u)||Y(e.activeBaseRegex,u)||e.activeBasePath&&u.startsWith(e.activeBasePath))),{collapsed:f,toggleCollapsed:p}=function({active:e}){let{collapsed:t,toggleCollapsed:n,setCollapsed:r}=(0,et.u)({initialState:()=>!e});return(0,a.useEffect)(()=>{e&&r(!1)},[e,r]),{collapsed:t,toggleCollapsed:n}}({active:c||d}),m=l.to?void 0:"#";return(0,r.jsxs)("li",{className:(0,o.A)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,r.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":c}),children:[(0,r.jsx)(Q,{role:"button",className:(0,o.A)("dropdownNavbarItemMobile_J0Sd","menu__link menu__link--sublist",t),href:m,...l,onClick:e=>{"#"===m&&e.preventDefault(),p()},children:l.children??l.label}),(0,r.jsx)(ea,{collapsed:f,onClick:e=>{e.preventDefault(),p()}})]}),(0,r.jsx)(et.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:e.map((e,t)=>(0,a.createElement)(eb,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t}))})]})}function ei({items:e,position:t,className:n,onClick:i,...l}){let s=(0,a.useRef)(null),[u,c]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=e=>{!s.current||s.current.contains(e.target)||c(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}},[s]),(0,r.jsxs)("div",{ref:s,className:(0,o.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===t,"dropdown--show":u}),children:[(0,r.jsx)(Q,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,o.A)("navbar__link",n),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),c(!u))},children:l.children??l.label}),(0,r.jsx)("ul",{className:"dropdown__menu",children:e.map((e,t)=>(0,a.createElement)(eb,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t}))})]})}function el({mobile:e=!1,...t}){return(0,r.jsx)(e?eo:ei,{...t})}var es=n(5243),eu=n(6629);function ec({width:e=20,height:t=20,...n}){return(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:e,height:t,"aria-hidden":!0,...n,children:(0,r.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}let ed=()=>null;function ef({children:e,className:t}){return(0,r.jsx)("div",{className:(0,o.A)(t,"navbarSearchContainer_Bca1"),children:e})}var ep=n(698),em=n(8260),eg=n(2086);function eh(e,t){return t.alternateDocVersions[e.name]??e.docs.find(t=>t.id===e.mainDocId)}let ey={default:ee,localeDropdown:function({mobile:e,dropdownItemsBefore:t,dropdownItemsAfter:n,queryString:a,...o}){let i=function(){let{siteConfig:e,i18n:{localeConfigs:t}}=(0,er.A)(),n=(0,es.o)(),r=(0,eu.Hl)(e=>e.location.search),a=(0,eu.Hl)(e=>e.location.hash),o=e=>{let n=t[e];if(!n)throw Error(`Docusaurus bug, no locale config found for locale=${e}`);return n};return{getURL:(t,i)=>{let l=(0,eu.jy)([r,i.queryString],"append");return`${o(t).url===e.url?`pathname://${n.createUrl({locale:t,fullyQualified:!1})}`:n.createUrl({locale:t,fullyQualified:!0})}${l}${a}`},getLabel:e=>o(e).label,getLang:e=>o(e).htmlLang}}(),{i18n:{currentLocale:l,locales:s}}=(0,er.A)(),c=[...t,...s.map(t=>({label:i.getLabel(t),lang:i.getLang(t),to:i.getURL(t,{queryString:a}),target:"_self",autoAddBaseUrl:!1,className:t===l?e?"menu__link--active":"dropdown__link--active":""})),...n],d=e?(0,u.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):i.getLabel(l);return(0,r.jsx)(el,{...o,mobile:e,label:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ec,{className:"iconLanguage_nlXk"}),d]}),items:c})},search:function({mobile:e,className:t}){return e?null:(0,r.jsx)(ef,{className:t,children:(0,r.jsx)(ed,{})})},dropdown:el,html:function({value:e,className:t,mobile:n=!1,isDropdownItem:a=!1}){return(0,r.jsx)(a?"li":"div",{className:(0,o.A)({navbar__item:!n&&!a,"menu__list-item":n},t),dangerouslySetInnerHTML:{__html:e}})},doc:function({docId:e,label:t,docsPluginId:n,...a}){let{activeDoc:o}=(0,ep.zK)(n),i=(0,em.QB)(e,n),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,r.jsx)(ee,{exact:!0,...a,isActive:()=>l||!!o?.sidebar&&o.sidebar===i.sidebar,label:t??i.id,to:i.path})},docSidebar:function({sidebarId:e,label:t,docsPluginId:n,...a}){let{activeDoc:o}=(0,ep.zK)(n),i=(0,em.fW)(e,n).link;if(!i)throw Error(`DocSidebarNavbarItem: Sidebar with ID "${e}" doesn't have anything to be linked to.`);return(0,r.jsx)(ee,{exact:!0,...a,isActive:()=>o?.sidebar===e,label:t??i.label,to:i.path})},docsVersion:function({label:e,to:t,docsPluginId:n,...a}){let o=(0,em.Vd)(n)[0],i=e??o.label,l=t??o.docs.find(e=>e.id===o.mainDocId).path;return(0,r.jsx)(ee,{...a,label:i,to:l})},docsVersionDropdown:function({mobile:e,docsPluginId:t,dropdownActiveClassDisabled:n,dropdownItemsBefore:a,dropdownItemsAfter:o,versions:i,...l}){let s=(0,eu.Hl)(e=>e.location.search),c=(0,eu.Hl)(e=>e.location.hash),d=(0,ep.zK)(t),{savePreferredVersionName:f}=(0,eg.g1)(t),p=function({docsPluginId:e,configs:t}){var n=(0,ep.jh)(e);if(!t)return n.map(e=>({version:e,label:e.label}));{let e=new Map(n.map(e=>[e.name,e])),r=(t,r)=>{let a=e.get(t);if(!a)throw Error(`No docs version exist for name '${t}', please verify your 'docsVersionDropdown' navbar item versions config. +Available version names: +- ${n.map(e=>`${e.name}`).join("\n- ")}`);return{version:a,label:r?.label??a.label}};return Array.isArray(t)?t.map(e=>r(e,void 0)):Object.entries(t).map(([e,t])=>r(e,t))}}({docsPluginId:t,configs:i}),m=function({docsPluginId:e,versionItems:t}){return(0,em.Vd)(e).map(e=>t.find(t=>t.version===e)).filter(e=>void 0!==e)[0]??t[0]}({docsPluginId:t,versionItems:p}),g=[...a,...p.map(function({version:e,label:t}){let n=eh(e,d);return{label:t,to:`${n.path}${s}${c}`,isActive:()=>e===d.activeVersion,onClick:()=>f(e.name)}}),...o],h=e&&g.length>1?(0,u.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,y=e&&g.length>1?void 0:eh(m.version,d).path;return g.length<=1?(0,r.jsx)(ee,{...l,mobile:e,label:h,to:y,isActive:n?()=>!1:void 0}):(0,r.jsx)(el,{...l,mobile:e,label:h,to:y,items:g,isActive:n?()=>!1:void 0})}};function eb({type:e,...t}){let n=ey[!e||"default"===e?"items"in t?"dropdown":"default":e];if(!n)throw Error(`No NavbarItem component found for type "${e}".`);return(0,r.jsx)(n,{...t})}function ev(){let e=(0,x.M)(),t=(0,y.p)().navbar.items;return(0,r.jsx)("ul",{className:"menu__list",children:t.map((t,n)=>(0,a.createElement)(eb,{mobile:!0,...t,onClick:()=>e.toggle(),key:n}))})}function ew(e){return(0,r.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,r.jsx)(u.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function eS(){let e=0===(0,y.p)().navbar.items.length,t=N();return(0,r.jsxs)(r.Fragment,{children:[!e&&(0,r.jsx)(ew,{onClick:()=>t.hide()}),t.content]})}function ek(){let e=(0,x.M)();return(!function(e=!0){(0,a.useEffect)(()=>(document.body.style.overflow=e?"hidden":"visible",()=>{document.body.style.overflow="visible"}),[e])}(e.shown),e.shouldRender)?(0,r.jsx)(O,{header:(0,r.jsx)(V,{}),primaryMenu:(0,r.jsx)(ev,{}),secondaryMenu:(0,r.jsx)(eS,{})}):null}function ex(e){return(0,r.jsx)("div",{role:"presentation",...e,className:(0,o.A)("navbar-sidebar__backdrop",e.className)})}function eE({children:e}){let{navbar:{hideOnScroll:t,style:n}}=(0,y.p)(),i=(0,x.M)(),{navbarRef:l,isNavbarVisible:s}=function(e){let[t,n]=(0,a.useState)(e),r=(0,a.useRef)(!1),o=(0,a.useRef)(0),i=(0,a.useCallback)(e=>{null!==e&&(o.current=e.getBoundingClientRect().height)},[]);return(0,E.Mq)(({scrollY:t},a)=>{if(!e)return;if(t<o.current)return void n(!0);if(r.current){r.current=!1;return}let i=a?.scrollY,l=document.documentElement.scrollHeight-o.current,s=window.innerHeight;i&&t>=i?n(!1):t+s<l&&n(!0)}),(0,c.$)(t=>{if(!e)return;let a=t.location.hash;if(a?document.getElementById(a.substring(1)):void 0){r.current=!0,n(!1);return}n(!0)}),{navbarRef:i,isNavbarVisible:t}}(t);return(0,r.jsxs)("nav",{ref:l,"aria-label":(0,u.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.A)(g.G.layout.navbar.container,"navbar","navbar--fixed-top",t&&["navbarHideable_m1mJ",!s&&"navbarHidden_jGov"],{"navbar--dark":"dark"===n,"navbar--primary":"primary"===n,"navbar-sidebar--show":i.shown}),children:[e,(0,r.jsx)(ex,{onClick:i.toggle}),(0,r.jsx)(ek,{})]})}var eT=n(3072);function e_({width:e=30,height:t=30,className:n,...a}){return(0,r.jsx)("svg",{className:n,width:e,height:t,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,r.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function eA(){let{toggle:e,shown:t}=(0,x.M)();return(0,r.jsx)("button",{onClick:e,"aria-label":(0,u.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,r.jsx)(e_,{})})}function eC({items:e}){return(0,r.jsx)(r.Fragment,{children:e.map((e,t)=>(0,r.jsx)(eT.k2,{onError:t=>Error(`A theme navbar item failed to render. +Please double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config: +${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,r.jsx)(eb,{...e})},t))})}function eN({left:e,right:t}){return(0,r.jsxs)("div",{className:"navbar__inner",children:[(0,r.jsx)("div",{className:(0,o.A)(g.G.layout.navbar.containerLeft,"navbar__items"),children:e}),(0,r.jsx)("div",{className:(0,o.A)(g.G.layout.navbar.containerRight,"navbar__items navbar__items--right"),children:t})]})}function eP(){let e=(0,x.M)(),t=(0,y.p)().navbar.items,[n,a]=function(e){function t(e){return(e.position??"right")==="left"}return[e.filter(t),e.filter(e=>!t(e))]}(t),o=t.find(e=>"search"===e.type);return(0,r.jsx)(eN,{left:(0,r.jsxs)(r.Fragment,{children:[!e.disabled&&(0,r.jsx)(eA,{}),(0,r.jsx)(q,{}),(0,r.jsx)(eC,{items:n})]}),right:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(eC,{items:a}),(0,r.jsx)(U,{className:"colorModeToggle_DEke"}),!o&&(0,r.jsx)(ef,{children:(0,r.jsx)(ed,{})})]})})}function eO(){return(0,r.jsx)(eE,{children:(0,r.jsx)(eP,{})})}function eL({item:e}){let{to:t,href:n,label:a,prependBaseUrlToHref:i,className:l,...s}=e,u=(0,G.Ay)(t),c=(0,G.Ay)(n,{forcePrependBaseUrl:!0});return(0,r.jsxs)(X.A,{className:(0,o.A)("footer__link-item",l),...n?{href:i?c:n}:{to:u},...s,children:[a,n&&!(0,W.A)(n)&&(0,r.jsx)(K.A,{})]})}function eI({item:e}){return e.html?(0,r.jsx)("li",{className:(0,o.A)("footer__item",e.className),dangerouslySetInnerHTML:{__html:e.html}}):(0,r.jsx)("li",{className:"footer__item",children:(0,r.jsx)(eL,{item:e})},e.href??e.to)}function eR({column:e}){return(0,r.jsxs)("div",{className:(0,o.A)(g.G.layout.footer.column,"col footer__col",e.className),children:[(0,r.jsx)("div",{className:"footer__title",children:e.title}),(0,r.jsx)("ul",{className:"footer__items clean-list",children:e.items.map((e,t)=>(0,r.jsx)(eI,{item:e},t))})]})}function ej({columns:e}){return(0,r.jsx)("div",{className:"row footer__links",children:e.map((e,t)=>(0,r.jsx)(eR,{column:e},t))})}function eD(){return(0,r.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function eF({item:e}){return e.html?(0,r.jsx)("span",{className:(0,o.A)("footer__link-item",e.className),dangerouslySetInnerHTML:{__html:e.html}}):(0,r.jsx)(eL,{item:e})}function eM({links:e}){return(0,r.jsx)("div",{className:"footer__links text--center",children:(0,r.jsx)("div",{className:"footer__links",children:e.map((t,n)=>(0,r.jsxs)(a.Fragment,{children:[(0,r.jsx)(eF,{item:t}),e.length!==n+1&&(0,r.jsx)(eD,{})]},n))})})}function ez({links:e}){return"title"in e[0]?(0,r.jsx)(ej,{columns:e}):(0,r.jsx)(eM,{links:e})}var eB=n(8586);function eU({logo:e}){let{withBaseUrl:t}=(0,G.hH)(),n={light:t(e.src),dark:t(e.srcDark??e.src)};return(0,r.jsx)(eB.A,{className:(0,o.A)("footer__logo",e.className),alt:e.alt,sources:n,width:e.width,height:e.height,style:e.style})}function e$({logo:e}){return e.href?(0,r.jsx)(X.A,{href:e.href,className:"footerLogoLink_BH7S",target:e.target,children:(0,r.jsx)(eU,{logo:e})}):(0,r.jsx)(eU,{logo:e})}function eq({copyright:e}){return(0,r.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:e}})}function eH({style:e,links:t,logo:n,copyright:a}){return(0,r.jsx)("footer",{className:(0,o.A)(g.G.layout.footer.container,"footer",{"footer--dark":"dark"===e}),children:(0,r.jsxs)("div",{className:"container container-fluid",children:[t,(n||a)&&(0,r.jsxs)("div",{className:"footer__bottom text--center",children:[n&&(0,r.jsx)("div",{className:"margin-bottom--sm",children:n}),a]})]})})}let eV=a.memo(function(){let{footer:e}=(0,y.p)();if(!e)return null;let{copyright:t,links:n,logo:a,style:o}=e;return(0,r.jsx)(eH,{style:o,links:n&&n.length>0&&(0,r.jsx)(ez,{links:n}),logo:a&&(0,r.jsx)(e$,{logo:a}),copyright:t&&(0,r.jsx)(eq,{copyright:t})})}),eX=(0,T.fM)([L.a,b.o,E.Tv,eg.VQ,l.Jx,function({children:e}){return(0,r.jsx)(_.y_,{children:(0,r.jsx)(x.e,{children:(0,r.jsx)(C,{children:e})})})}]);function eG({children:e}){return(0,r.jsx)(eX,{children:e})}var eW=n(2072);function eY({error:e,tryAgain:t}){return(0,r.jsx)("main",{className:"container margin-vert--xl",children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(eW.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(u.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,r.jsx)("div",{className:"margin-vert--lg",children:(0,r.jsx)(eT.a2,{onClick:t,className:"button button--primary shadow--lw"})}),(0,r.jsx)("hr",{}),(0,r.jsx)("div",{className:"margin-vert--md",children:(0,r.jsx)(eT.bq,{error:e})})]})})})}function eK(e){let{children:t,noFooter:n,wrapperClassName:a,title:s,description:u}=e;return(0,r.jsxs)(eG,{children:[(0,r.jsx)(l.be,{title:s,description:u}),(0,r.jsx)(h,{}),(0,r.jsx)(k,{}),(0,r.jsx)(eO,{}),(0,r.jsx)("div",{id:d,className:(0,o.A)(g.G.layout.main.container,g.G.wrapper.main,"mainWrapper_z2l0",a),children:(0,r.jsx)(i.A,{fallback:e=>(0,r.jsx)(eY,{...e}),children:t})}),!n&&(0,r.jsx)(eV,{})]})}},5153(e,t,n){"use strict";n.d(t,{A:()=>c});var r=n(4848);n(6540);var a=n(5310),o=n(6497),i=n(898),l=n(1022),s=n(8586);function u({logo:e,alt:t,imageClassName:n}){let a={light:(0,o.Ay)(e.src),dark:(0,o.Ay)(e.srcDark||e.src)},i=(0,r.jsx)(s.A,{className:e.className,sources:a,height:e.height,width:e.width,alt:t,style:e.style});return n?(0,r.jsx)("div",{className:n,children:i}):i}function c(e){let{siteConfig:{title:t}}=(0,i.A)(),{navbar:{title:n,logo:s}}=(0,l.p)(),{imageClassName:c,titleClassName:d,...f}=e,p=(0,o.Ay)(s?.href||"/"),m=s?.alt??(n?"":t);return(0,r.jsxs)(a.A,{to:p,...f,...s?.target&&{target:s.target},children:[s&&(0,r.jsx)(u,{logo:s,alt:m,imageClassName:c}),null!=n&&(0,r.jsx)("b",{className:d,children:n})]})}},4175(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(4848);n(6540);var a=n(3572);function o({locale:e,version:t,tag:n}){return(0,r.jsxs)(a.A,{children:[e&&(0,r.jsx)("meta",{name:"docusaurus_locale",content:e}),t&&(0,r.jsx)("meta",{name:"docusaurus_version",content:t}),n&&(0,r.jsx)("meta",{name:"docusaurus_tag",content:n}),e&&(0,r.jsx)("meta",{name:"docsearch:language",content:e}),t&&(0,r.jsx)("meta",{name:"docsearch:version",content:t}),n&&(0,r.jsx)("meta",{name:"docsearch:docusaurus_tag",content:n})]})}},8586(e,t,n){"use strict";n.d(t,{A:()=>c});var r=n(4848),a=n(6540),o=n(4164),i=n(9863),l=n(3941);let s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};function u({className:e,children:t}){let n=(0,i.A)(),{colorMode:c}=(0,l.G)();return(0,r.jsx)(r.Fragment,{children:(n?"dark"===c?["dark"]:["light"]:["light","dark"]).map(n=>{let i=t({theme:n,className:(0,o.A)(e,s.themedComponent,s[`themedComponent--${n}`])});return(0,r.jsx)(a.Fragment,{children:i},n)})})}function c(e){let{sources:t,className:n,alt:a,...o}=e;return(0,r.jsx)(u,{className:n,children:({theme:e,className:n})=>(0,r.jsx)("img",{src:t[e],alt:a,className:n,...o})})}},9510(e,t,n){"use strict";n.d(t,{N:()=>p,u:()=>l});var r=n(4848),a=n(6540),o=n(9989),i=n(269);function l({initialState:e}){let[t,n]=(0,a.useState)(e??!1),r=(0,a.useCallback)(()=>{n(e=>!e)},[]);return{collapsed:t,setCollapsed:n,toggleCollapsed:r}}let s={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function c(e,t){let n=t?s:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function d({as:e="div",collapsed:t,children:n,animation:o,onCollapseTransitionEnd:l,className:u}){let f=(0,a.useRef)(null);return!function({collapsibleRef:e,collapsed:t,animation:n}){let r=(0,a.useRef)(!1);(0,a.useEffect)(()=>{let a,o=e.current;function l(){let e,t,r,a=(e=o.scrollHeight,t=n?.duration??function(e){if((0,i.O)())return 1;let t=e/36;return Math.round((4+15*t**.25+t/5)*10)}(e),r=n?.easing??"ease-in-out",{transition:`height ${t}ms ${r}`,height:`${e}px`});o.style.transition=a.transition,o.style.height=a.height}if(!r.current){c(o,t),r.current=!0;return}return o.style.willChange="height",a=requestAnimationFrame(()=>{t?(l(),requestAnimationFrame(()=>{o.style.height=s.height,o.style.overflow=s.overflow})):(o.style.display="block",requestAnimationFrame(()=>{l()}))}),()=>cancelAnimationFrame(a)},[e,t,n])}({collapsibleRef:f,collapsed:t,animation:o}),(0,r.jsx)(e,{ref:f,onTransitionEnd:e=>{"height"===e.propertyName&&(c(f.current,t),l?.(t))},className:u,children:n})}function f({collapsed:e,...t}){let[n,i]=(0,a.useState)(!e),[l,s]=(0,a.useState)(e);return(0,o.A)(()=>{e||i(!0)},[e]),(0,o.A)(()=>{n&&s(e)},[n,e]),n?(0,r.jsx)(d,{...t,collapsed:l}):null}function p({lazy:e,...t}){return(0,r.jsx)(e?f:d,{...t})}},3337(e,t,n){"use strict";n.d(t,{M:()=>m,o:()=>p});var r=n(4848),a=n(6540),o=n(9863),i=n(1367),l=n(2260),s=n(1022);let u=(0,i.Wf)("docusaurus.announcement.dismiss"),c=(0,i.Wf)("docusaurus.announcement.id"),d=e=>u.set(String(e)),f=a.createContext(null);function p({children:e}){let t=function(){let{announcementBar:e}=(0,s.p)(),t=(0,o.A)(),[n,r]=(0,a.useState)(()=>!!t&&"true"===u.get());(0,a.useEffect)(()=>{r("true"===u.get())},[]);let i=(0,a.useCallback)(()=>{d(!0),r(!0)},[]);return(0,a.useEffect)(()=>{if(!e)return;let{id:t}=e,n=c.get();"annoucement-bar"===n&&(n="announcement-bar");let a=t!==n;c.set(t),a&&d(!1),(a||"true"!==u.get())&&r(!1)},[e]),(0,a.useMemo)(()=>({isActive:!!e&&!n,close:i}),[e,n,i])}();return(0,r.jsx)(f.Provider,{value:t,children:e})}function m(){let e=(0,a.useContext)(f);if(!e)throw new l.dV("AnnouncementBarProvider");return e}},3941(e,t,n){"use strict";n.d(t,{G:()=>w,a:()=>v});var r=n(4848),a=n(6540),o=n(9863),i=n(2260),l=n(1367),s=n(1022);function u(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}let c=a.createContext(void 0),d=(0,l.Wf)("theme"),f="system",p=e=>"dark"===e?"dark":"light",m=e=>null===e||e===f?null:p(e),g=()=>p(document.documentElement.getAttribute("data-theme")),h=e=>{document.documentElement.setAttribute("data-theme",p(e))},y=()=>m(document.documentElement.getAttribute("data-theme-choice")),b=e=>{document.documentElement.setAttribute("data-theme-choice",m(e)??f)};function v({children:e}){let t=function(){let{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),{colorMode:r,setColorModeState:i,colorModeChoice:l,setColorModeChoiceState:c}=function(){let{colorMode:{defaultMode:e}}=(0,s.p)(),t=(0,o.A)(),[n,r]=(0,a.useState)(t?g():e),[i,l]=(0,a.useState)(t?y():null);return(0,a.useEffect)(()=>{r(g()),l(y())},[]),{colorMode:n,setColorModeState:r,colorModeChoice:i,setColorModeChoiceState:l}}();(0,a.useEffect)(()=>{t&&d.del()},[t]);let f=(0,a.useCallback)((t,r={})=>{let{persist:a=!0}=r;if(null===t){let t=n?u():e;h(t),i(t),b(null),c(null)}else h(t),b(t),i(t),c(t);a&&(null===t?d.del():d.set(p(t)))},[i,c,n,e]);return(0,a.useEffect)(()=>d.listen(e=>{f(m(e.newValue))}),[f]),(0,a.useEffect)(()=>{if(null===l&&n){var e,t;let n;return e=e=>{i(e),h(e)},t=()=>e(u()),(n=window.matchMedia("(prefers-color-scheme: dark)")).addEventListener("change",t),()=>n.removeEventListener("change",t)}},[n,l,i]),(0,a.useMemo)(()=>({colorMode:r,colorModeChoice:l,setColorMode:f,get isDarkTheme(){return"dark"===r},setLightTheme(){f("light")},setDarkTheme(){f("dark")}}),[r,l,f])}();return(0,r.jsx)(c.Provider,{value:t,children:e})}function w(){let e=(0,a.useContext)(c);if(null==e)throw new i.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},9965(e,t,n){"use strict";n.d(t,{M:()=>p,e:()=>f});var r=n(4848),a=n(6540),o=n(7e3),i=n(3741),l=n(6629),s=n(1022),u=n(2260);let c=a.createContext(void 0);function d({handler:e}){return(0,l.$Z)(e),null}function f({children:e}){let t=function(){let e=function(){let e=(0,o.YL)(),{items:t}=(0,s.p)().navbar;return 0===t.length&&!e.component}(),t=(0,i.l)(),n=!e&&"mobile"===t,[r,l]=(0,a.useState)(!1),u=(0,a.useCallback)(()=>{l(e=>!e)},[]);return(0,a.useEffect)(()=>{"desktop"===t&&l(!1)},[t]),(0,a.useMemo)(()=>({disabled:e,shouldRender:n,toggle:u,shown:r}),[e,n,u,r])}();return(0,r.jsxs)(r.Fragment,{children:[t.shown&&(0,r.jsx)(d,{handler:()=>(t.toggle(),!1)}),(0,r.jsx)(c.Provider,{value:t,children:e})]})}function p(){let e=a.useContext(c);if(void 0===e)throw new u.dV("NavbarMobileSidebarProvider");return e}},7e3(e,t,n){"use strict";n.d(t,{GX:()=>u,YL:()=>s,y_:()=>l});var r=n(4848),a=n(6540),o=n(2260);let i=a.createContext(null);function l({children:e}){let t=(0,a.useState)({component:null,props:null});return(0,r.jsx)(i.Provider,{value:t,children:e})}function s(){let e=(0,a.useContext)(i);if(!e)throw new o.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u({component:e,props:t}){let n=(0,a.useContext)(i);if(!n)throw new o.dV("NavbarSecondaryMenuContentProvider");let[,r]=n,l=(0,o.Be)(t);return(0,a.useEffect)(()=>{r({component:e,props:l})},[r,e,l]),(0,a.useEffect)(()=>()=>r({component:null,props:null}),[r]),null}},3741(e,t,n){"use strict";n.d(t,{l:()=>o});var r=n(6540),a=n(1289);function o({desktopBreakpoint:e=996}={}){let[t,n]=(0,r.useState)(()=>"ssr");return(0,r.useEffect)(()=>{function t(){n(function(e){if(!a.A.canUseDOM)throw Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?"desktop":"mobile"}(e))}return t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[e]),t}},8287(e,t,n){"use strict";n.d(t,{G:()=>r});let r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},announcementBar:{container:"theme-announcement-bar"},tabs:{container:"theme-tabs-container"},layout:{navbar:{container:"theme-layout-navbar",containerLeft:"theme-layout-navbar-left",containerRight:"theme-layout-navbar-right",mobileSidebar:{container:"theme-layout-navbar-sidebar",panel:"theme-layout-navbar-sidebar-panel"}},main:{container:"theme-layout-main"},footer:{container:"theme-layout-footer",column:"theme-layout-footer-column"}},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`,docCard:{container:"theme-doc-card-container",heading:"theme-doc-card-heading",icon:"theme-doc-card-icon",title:"theme-doc-card-title",description:"theme-doc-card-description"}},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},269(e,t,n){"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},4727(e,t,n){"use strict";n.d(t,{v:()=>a});var r=n(1022);function a(e){let{navbar:{hideOnScroll:t}}=(0,r.p)();if(void 0!==e)return t?"anchorTargetHideOnScrollNavbar_vjPI":"anchorTargetStickyNavbar_Vzrq"}},3072(e,t,n){"use strict";n.d(t,{MN:()=>s,k2:()=>c,a2:()=>l,bq:()=>u});var r=n(4848),a=n(6540),o=n(568),i=n(5248);function l(e){return(0,r.jsx)("button",{type:"button",...e,children:(0,r.jsx)(o.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function s({error:e,tryAgain:t}){return(0,r.jsxs)("div",{className:"errorBoundaryFallback_VBag",children:[(0,r.jsx)("p",{children:e.message}),(0,r.jsx)(l,{onClick:t})]})}function u({error:e}){let t=(0,i.getErrorCausalChain)(e).map(e=>e.message).join("\n\nCause:\n");return(0,r.jsx)("p",{className:"errorBoundaryError_a6uf",children:t})}class c extends a.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}},6629(e,t,n){"use strict";n.d(t,{$Z:()=>i,Hl:()=>l,jy:()=>s});var r=n(6540),a=n(6347),o=n(2260);function i(e){let t,n;t=(0,a.W6)(),n=(0,o._q)((t,n)=>{if("POP"===n)return e(t,n)}),(0,r.useEffect)(()=>t.block((e,t)=>n(e,t)),[t,n])}function l(e){let t=(0,a.W6)();return(0,r.useSyncExternalStore)(t.listen,()=>e(t),()=>e({...t,location:{...t.location,search:"",hash:"",state:void 0}}))}function s(e,t){let n=(function(e,t){let n=new URLSearchParams;for(let r of e)for(let[e,a]of r.entries())"append"===t?n.append(e,a):n.set(e,a);return n})(e.map(e=>new URLSearchParams(e??"")),t).toString();return n?`?${n}`:n}},618(e,t,n){"use strict";function r(e){return Array.from(new Set(e))}function a(e,t){let n={},r=0;for(let a of e){let e=t(a,r);n[e]??=[],n[e].push(a),r+=1}return n}n.d(t,{$z:()=>a,sb:()=>r})},4308(e,t,n){"use strict";n.d(t,{Jx:()=>y,be:()=>m,e3:()=>h});var r=n(4848),a=n(6540),o=n(4164),i=n(3572),l=n(8491),s=n(6497),u=n(3899);function c({title:e}){let t=(0,u.s$)().format(e);return(0,r.jsxs)(i.A,{children:[(0,r.jsx)("title",{children:t}),(0,r.jsx)("meta",{property:"og:title",content:t})]})}function d({description:e}){return(0,r.jsxs)(i.A,{children:[(0,r.jsx)("meta",{name:"description",content:e}),(0,r.jsx)("meta",{property:"og:description",content:e})]})}function f({image:e}){let{withBaseUrl:t}=(0,s.hH)(),n=t(e,{absolute:!0});return(0,r.jsxs)(i.A,{children:[(0,r.jsx)("meta",{property:"og:image",content:n}),(0,r.jsx)("meta",{name:"twitter:image",content:n})]})}function p({keywords:e}){return(0,r.jsx)(i.A,{children:(0,r.jsx)("meta",{name:"keywords",content:Array.isArray(e)?e.join(","):e})})}function m({title:e,description:t,keywords:n,image:a,children:o}){return(0,r.jsxs)(r.Fragment,{children:[e&&(0,r.jsx)(c,{title:e}),t&&(0,r.jsx)(d,{description:t}),n&&(0,r.jsx)(p,{keywords:n}),a&&(0,r.jsx)(f,{image:a}),o&&(0,r.jsx)(i.A,{children:o})]})}let g=a.createContext(void 0);function h({className:e,children:t}){let n=a.useContext(g),l=(0,o.A)(n,e);return(0,r.jsxs)(g.Provider,{value:l,children:[(0,r.jsx)(i.A,{children:(0,r.jsx)("html",{className:l})}),t]})}function y({children:e}){var t;let n=(0,l.A)(),a=(t=n.plugin.name,`plugin-${t.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`),i=`plugin-id-${n.plugin.id}`;return(0,r.jsx)(h,{className:(0,o.A)(a,i),children:e})}},2260(e,t,n){"use strict";n.d(t,{Be:()=>u,ZC:()=>l,_q:()=>i,dV:()=>s,fM:()=>c});var r=n(4848),a=n(6540),o=n(9989);function i(e){let t=(0,a.useRef)(e);return(0,o.A)(()=>{t.current=e},[e]),(0,a.useCallback)((...e)=>t.current(...e),[])}function l(e){let t=(0,a.useRef)(void 0);return(0,o.A)(()=>{t.current=e}),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){let t=Object.entries(e);return t.sort((e,t)=>e[0].localeCompare(t[0])),(0,a.useMemo)(()=>e,t.flat())}function c(e){return({children:t})=>(0,r.jsx)(r.Fragment,{children:e.reduceRight((e,t)=>(0,r.jsx)(t,{children:e}),t)})}},9209(e,t,n){"use strict";n.d(t,{Dt:()=>l,ys:()=>i});var r=n(6540),a=n(8460),o=n(898);function i(e,t){let n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){let{baseUrl:e}=(0,o.A)().siteConfig;return(0,r.useMemo)(()=>(function({baseUrl:e,routes:t}){function n(t){return t.path===e&&!0===t.exact}function r(t){return t.path===e&&!t.exact}return function e(t){if(0===t.length)return;let a=t.find(n);return a||e(t.filter(r).flatMap(e=>e.routes??[]))}(t)})({routes:a.A,baseUrl:e}),[e])}},8584(e,t,n){"use strict";n.d(t,{Mq:()=>d,Tv:()=>u,gk:()=>f});var r=n(4848),a=n(6540),o=n(1289),i=n(9863);n(9989);var l=n(2260);let s=a.createContext(void 0);function u({children:e}){let t,n=(t=(0,a.useRef)(!0),(0,a.useMemo)(()=>({scrollEventsEnabledRef:t,enableScrollEvents:()=>{t.current=!0},disableScrollEvents:()=>{t.current=!1}}),[]));return(0,r.jsx)(s.Provider,{value:n,children:e})}let c=()=>o.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t=[]){let{scrollEventsEnabledRef:n}=function(){let e=(0,a.useContext)(s);if(null==e)throw new l.dV("ScrollControllerProvider");return e}(),r=(0,a.useRef)(c()),o=(0,l._q)(e);(0,a.useEffect)(()=>{let e=()=>{if(!n.current)return;let e=c();o(e,r.current),r.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)},[o,n,...t])}function f(){let e=(0,a.useRef)(null),t=(0,i.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{let r,a;e.current=t?(window.scrollTo({top:n,behavior:"smooth"}),()=>{}):(r=null,a=document.documentElement.scrollTop>n,!function e(){let t=document.documentElement.scrollTop;(a&&t>n||!a&&t<n)&&(r=requestAnimationFrame(e),window.scrollTo(0,Math.floor((t-n)*.85)+n))}(),()=>r&&cancelAnimationFrame(r))},cancelScroll:()=>e.current?.()}}},1367(e,t,n){"use strict";n.d(t,{Wf:()=>s}),n(6540);var r=JSON.parse('{"N":"localStorage","M":"-697"}');let a=r.N;function o({key:e,oldValue:t,newValue:n,storage:r}){if(t===n)return;let a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,e,t,n,window.location.href,r),window.dispatchEvent(a)}let i=!1,l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){let n=`${e}${r.M}`;if("u"<typeof window){function s(){throw Error(`Illegal storage API usage for storage key "${n}". +Docusaurus storage APIs are not supposed to be called on the server-rendering process. +Please only call storage APIs in effects and event handlers.`)}return{get:s,set:s,del:s,listen:s}}let u=function(e=a){if("u"<typeof window)throw Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(e){var t;return t=e,i||(console.warn(`Docusaurus browser storage is not available. +Possible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.`,t),i=!0),null}}(t?.persistence);return null===u?l:{get:()=>{try{return u.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{let t=u.getItem(n);u.setItem(n,e),o({key:n,oldValue:t,newValue:e,storage:u})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{let e=u.getItem(n);u.removeItem(n),o({key:n,oldValue:e,newValue:null,storage:u})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{let t=t=>{t.storageArea===u&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(e){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,e),()=>{}}}}}},3899(e,t,n){"use strict";n.d(t,{AL:()=>c,s$:()=>d});var r=n(4848),a=n(6540),o=n(898),i=n(8491),l=n(2260);let s=({title:e,siteTitle:t,titleDelimiter:n})=>{let r=e?.trim();return r&&r!==t?`${r} ${n} ${t}`:t},u=(0,a.createContext)(null);function c({formatter:e,children:t}){return(0,r.jsx)(u.Provider,{value:e,children:t})}function d(){let e=function(){let e=(0,a.useContext)(u);if(null===e)throw new l.dV("TitleFormatterProvider");return e}(),{siteConfig:t}=(0,o.A)(),{title:n,titleDelimiter:r}=t,{plugin:c}=(0,i.A)();return{format:t=>e({title:t,siteTitle:n,titleDelimiter:r,plugin:c,defaultFormatter:s})}}},5243(e,t,n){"use strict";n.d(t,{o:()=>i});var r=n(898),a=n(6347),o=n(5248);function i(){let{siteConfig:{baseUrl:e,trailingSlash:t},i18n:{localeConfigs:n}}=(0,r.A)(),{pathname:i}=(0,a.zy)(),l=(0,o.applyTrailingSlash)(i,{trailingSlash:t,baseUrl:e}).replace(e,"");return{createUrl:function({locale:e,fullyQualified:t}){let r=function(e){let t=n[e];if(!t)throw Error(`Unexpected Docusaurus bug, no locale config found for locale=${e}`);return t}(e),a=`${t?r.url:""}`,o=r.baseUrl;return`${a}${o}${l}`}}}},8398(e,t,n){"use strict";n.d(t,{$:()=>i});var r=n(6540),a=n(6347),o=n(2260);function i(e){let t=(0,a.zy)(),n=(0,o.ZC)(t),i=(0,o._q)(e);(0,r.useEffect)(()=>{n&&t!==n&&i({location:t,previousLocation:n})},[i,t,n])}},1022(e,t,n){"use strict";n.d(t,{p:()=>a});var r=n(898);function a(){return(0,r.A)().siteConfig.themeConfig}},4207(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=a,t.default=function(e,t){let{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#")||void 0===n)return e;let[i]=e.split(/[#?]/),l="/"===i||i===r?i:n?a(i):o(i);return e.replace(i,l)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o;let r=n(9262);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}},7541(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},5248(e,t,n){"use strict";t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0;let r=n(1635);t.blogPostContainerID="__blog-post-container";var a=n(4207);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r.__importDefault(a).default}}),n(9262);var o=n(7541);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},9262(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},4784(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>r});let r={title:"SqlParserX",tagline:"\u591A\u65B9\u8A00 SQL \u89E3\u6790\u5F15\u64CE\u4E0E\u5DE5\u5177\u5305",favicon:"img/logo.png",future:{v4:{removeLegacyPostBuildHeadAttribute:!0,useCssCascadeLayers:!0,siteStorageNamespacing:!0,fasterByDefault:!0,mdx1CompatDisabledByDefault:!0},experimental_vcs:{},experimental_router:"browser",faster:{swcJsLoader:!0,swcJsMinimizer:!0,swcHtmlMinimizer:!0,lightningCssMinimizer:!0,mdxCrossCompilerCache:!0,rspackBundler:!0,rspackPersistentCache:!0,ssgWorkerThreads:!0,gitEagerVcs:!0}},url:"https://dtstack.github.io",baseUrl:"/SqlParserX/en/",organizationName:"DTStack",projectName:"SqlParserX",deploymentBranch:"gh-pages",trailingSlash:!1,onBrokenLinks:"throw",markdown:{mermaid:!0,hooks:{onBrokenMarkdownLinks:"warn",onBrokenMarkdownImages:"throw"},format:"mdx",emoji:!0,mdx1Compat:{comments:!1,admonitions:!1,headingIds:!1},anchors:{maintainCase:!1}},themes:["@docusaurus/theme-mermaid"],i18n:{defaultLocale:"zh-Hans",locales:["zh-Hans","en"],localeConfigs:{"zh-Hans":{label:"\u7B80\u4F53\u4E2D\u6587",direction:"ltr",htmlLang:"zh-Hans"},en:{label:"English",direction:"ltr",htmlLang:"en"}},path:"i18n"},presets:[["classic",{docs:{sidebarPath:"./sidebars.js",editUrl:"https://github.com/DTStack/SqlParserX/tree/master/website/",showLastUpdateAuthor:!1,showLastUpdateTime:!1,versions:{current:{label:"Next \u{1F6A7}"}},lastVersion:"1.0"},blog:{showReadingTime:!0,feedOptions:{type:["rss","atom"],xslt:!0},editUrl:"https://github.com/DTStack/SqlParserX/tree/master/website/",onInlineTags:"warn",onInlineAuthors:"warn",onUntruncatedBlogPosts:"warn"},theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{image:"img/social-card.svg",colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!0},announcementBar:{id:"announcement",content:"\u2B50 \u5982\u679C\u4F60\u89C9\u5F97 SqlParserX \u6709\u7528\uFF0C\u6B22\u8FCE\u5230 GitHub \u70B9\u4E2A Star",backgroundColor:"#fafbfc",textColor:"#091E42",isCloseable:!0},navbar:{title:"SqlParserX",logo:{alt:"SqlParserX Logo",src:"img/logo.png"},items:[{to:"/",label:"Home",position:"left"},{type:"docSidebar",sidebarId:"docs",position:"left",label:"Document"},{to:"/blog",label:"Blog",position:"left"},{to:"/community",label:"Community",position:"left"},{type:"docsVersionDropdown",position:"right",dropdownItemsBefore:[],dropdownItemsAfter:[]},{type:"localeDropdown",position:"right",dropdownItemsBefore:[],dropdownItemsAfter:[]},{href:"https://github.com/DTStack/SqlParserX",position:"right",className:"header-github-link","aria-label":"GitHub repository"}],hideOnScroll:!1},footer:{style:"light",links:[{title:"Docs",items:[{label:"Introduction",to:"/docs/about/introduction"},{label:"Quick Start",to:"/docs/quickstart/setup"},{label:"Contributing",to:"/docs/contributing"}]},{title:"Community",items:[{label:"GitHub",href:"https://github.com/DTStack/SqlParserX"},{label:"Blog",to:"/blog"},{label:"Community",to:"/community"}]},{title:"More",items:[{label:"Releases",href:"https://github.com/DTStack/SqlParserX/releases"},{label:"Architecture",to:"/docs/about/architecture"}]}],copyright:"Copyright \xa9 2026 SqlParserX. Built with Docusaurus."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["bash","json","nginx","java","sql","python"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3},mermaid:{theme:{dark:"dark",light:"default"},options:{}}},baseUrlIssueBanner:!0,storage:{type:"localStorage",namespace:!0},onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},plugins:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1}},8168(e,t,n){"use strict";function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}n.d(t,{A:()=>r})},594(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>a})},8587(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}n.d(t,{A:()=>r})},4164(e,t,n){"use strict";n.d(t,{A:()=>r});let r=function(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=function e(t){var n,r,a="";if("string"==typeof t||"number"==typeof t)a+=t;else if("object"==typeof t)if(Array.isArray(t)){var o=t.length;for(n=0;n<o;n++)t[n]&&(r=e(t[n]))&&(a&&(a+=" "),a+=r)}else for(r in t)t[r]&&(a&&(a+=" "),a+=r);return a}(e))&&(r&&(r+=" "),r+=t);return r}},1765(e,t,n){"use strict";let r,a,o,i,l;n.d(t,{My:()=>U,f4:()=>eb});var s,u,c,d,f,p,m,g,h,y,b,v,w,S,k,x,E,T,_=n(6540),A=n(4164),C=Object.create,N=Object.defineProperty,P=Object.defineProperties,O=Object.getOwnPropertyDescriptor,L=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertyNames,R=Object.getOwnPropertySymbols,j=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,z=(e,t)=>{for(var n in t||(t={}))D.call(t,n)&&M(e,n,t[n]);if(R)for(var n of R(t))F.call(t,n)&&M(e,n,t[n]);return e},B=(e,t)=>{var n={};for(var r in e)D.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&R)for(var r of R(e))0>t.indexOf(r)&&F.call(e,r)&&(n[r]=e[r]);return n},U=(l=null!=(o=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(n[o=r.util.objId(t)])return n[o];for(var i in a={},n[o]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":if(n[o=r.util.objId(t)])return n[o];return a=[],n[o]=a,t.forEach(function(t,r){a[r]=e(t,n)}),a;default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],i={};for(var l in o)if(o.hasOwnProperty(l)){if(l==t)for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s]);n.hasOwnProperty(l)||(i[l]=o[l])}var u=a[e];return a[e]=i,r.languages.DFS(r.languages,function(t,n){n===u&&t!=e&&(this[t]=i)}),i},DFS:function e(t,n,a,o){o=o||{};var i=r.util.objId;for(var l in t)if(t.hasOwnProperty(l)){n.call(t,l,t[l],a||l);var s=t[l],u=r.util.type(s);"Object"!==u||o[i(s)]?"Array"!==u||o[i(s)]||(o[i(s)]=!0,e(s,n,l,o)):(o[i(s)]=!0,e(s,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",o),!o.grammar)throw Error('The language "'+o.language+'" has no grammar.');return o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var s in n)t[s]=n[s];delete t.rest}var u=new i;return l(u,u.head,e),function e(t,n,i,s,u,c){for(var d in i)if(i.hasOwnProperty(d)&&i[d]){var f=i[d];f=Array.isArray(f)?f:[f];for(var p=0;p<f.length;++p){if(c&&c.cause==d+","+p)return;var m=f[p],g=m.inside,h=!!m.lookbehind,y=!!m.greedy,b=m.alias;if(y&&!m.pattern.global){var v=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,v+"g")}for(var w=m.pattern||m,S=s.next,k=u;S!==n.tail&&(!c||!(k>=c.reach));k+=S.value.length,S=S.next){var x,E=S.value;if(n.length>t.length)return;if(!(E instanceof a)){var T=1;if(y){if(!(x=o(w,k,t,h))||x.index>=t.length)break;var _=x.index,A=x.index+x[0].length,C=k;for(C+=S.value.length;_>=C;)C+=(S=S.next).value.length;if(C-=S.value.length,k=C,S.value instanceof a)continue;for(var N=S;N!==n.tail&&(C<A||"string"==typeof N.value);N=N.next)T++,C+=N.value.length;T--,E=t.slice(k,C),x.index-=k}else if(!(x=o(w,0,E,h)))continue;var _=x.index,P=x[0],O=E.slice(0,_),L=E.slice(_+P.length),I=k+E.length;c&&I>c.reach&&(c.reach=I);var R=S.prev;if(O&&(R=l(n,R,O),k+=O.length),function(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}(n,R,T),S=l(n,R,new a(d,g?r.tokenize(P,g):P,b,P)),L&&l(n,S,L),T>1){var j={cause:d+","+p,reach:I};e(t,n,i,S.prev,k,j),c&&j.reach>c.reach&&(c.reach=j.reach)}}}}}}(e,u,t,u.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(u)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function i(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach(function(t){a+=e(t,n)}),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(o.classes,i):o.classes.push(i)),r.hooks.run("wrap",o);var l="";for(var s in o.attributes)l+=" "+s+'="'+(o.attributes[s]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+l+">"+o.content+"</"+o.tag+">"},r}();t.exports=n,n.default=n}},function(){return a||(0,r[I(r)[0]])((a={exports:{}}).exports,a),a.exports})())?C(j(o)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of I(t))D.call(e,a)||a===n||N(e,a,{get:()=>t[a],enumerable:!(r=O(t,a))||r.enumerable});return e})(!i&&o&&o.__esModule?l:N(l,"default",{value:o,enumerable:!0}),o));U.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},U.languages.markup.tag.inside["attr-value"].inside.entity=U.languages.markup.entity,U.languages.markup.doctype.inside["internal-subset"].inside=U.languages.markup,U.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(U.languages.markup.tag,"addInlined",{value:function(e,t){var n={},n=(n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:U.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}),t=(n["language-"+t]={pattern:/[\s\S]+/,inside:U.languages[t]},{});t[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:n},U.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(U.languages.markup.tag,"addAttribute",{value:function(e,t){U.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:U.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),U.languages.html=U.languages.markup,U.languages.mathml=U.languages.markup,U.languages.svg=U.languages.markup,U.languages.xml=U.languages.extend("markup",{}),U.languages.ssml=U.languages.xml,U.languages.atom=U.languages.xml,U.languages.rss=U.languages.xml,s={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},c=RegExp((c="(?:[^\\\\-]|"+(u=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")")+"-"+c),d={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},U.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:c,inside:{escape:u,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":s,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:u}},"special-escape":s,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":d}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:u,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":d}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},U.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},U.languages.javascript=U.languages.extend("clike",{"class-name":[U.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),U.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,U.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:U.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:U.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:U.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:U.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:U.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),U.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:U.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),U.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),U.languages.markup&&(U.languages.markup.tag.addInlined("script","javascript"),U.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),U.languages.js=U.languages.javascript,U.languages.actionscript=U.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),U.languages.actionscript["class-name"].alias="function",delete U.languages.actionscript.parameter,delete U.languages.actionscript["literal-property"],U.languages.markup&&U.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:U.languages.markup}}),f=/#(?!\{).+/,p={pattern:/#\{[^}]+\}/,alias:"variable"},U.languages.coffeescript=U.languages.extend("javascript",{comment:f,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:p}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),U.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:f,interpolation:p}}}),U.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:U.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:p}}]}),U.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete U.languages.coffeescript["template-string"],U.languages.coffee=U.languages.coffeescript,Object.defineProperty(m=U.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/},"addSupport",{value:function(e,t){(e="string"==typeof e?[e]:e).forEach(function(e){var n=function(e){e.inside||(e.inside={}),e.inside.rest=t},r="doc-comment";if(a=U.languages[e]){var a,o=a[r];if((o=o||(a=U.languages.insertBefore(e,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[r])instanceof RegExp&&(o=a[r]={pattern:o}),Array.isArray(o))for(var i=0,l=o.length;i<l;i++)o[i]instanceof RegExp&&(o[i]={pattern:o[i]}),n(o[i]);else n(o)}})}}),m.addSupport(["java","javascript","php"],m),g=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,U.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+g.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+g.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+g.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+g.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:g,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},U.languages.css.atrule.inside.rest=U.languages.css,(g=U.languages.markup)&&(g.tag.addInlined("style","css"),g.tag.addAttribute("style","css")),h=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,U.languages.css.selector={pattern:U.languages.css.selector.pattern,lookbehind:!0,inside:h={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+h.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[h,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},U.languages.css.atrule.inside["selector-function-argument"].inside=h,U.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),h={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},y={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},U.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:h,number:y,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:h,number:y}),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ ]+"+t.source+")?|"+t.source+"(?:[ ]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){return t=(t||"").replace(/m/g,"")+"m",RegExp(/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e}),t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return"(?:"+a+"|"+o+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(U),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return r}),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(t){["url","bold","italic","strike","code-snippet"].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add("after-tokenize",function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a,o=t[n];"code"!==o.type?e(o.content):(a=o.content[1],o=o.content[3],a&&o&&"code-language"===a.type&&"code-block"===o.type&&"string"==typeof a.content&&(a=a.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),a="language-"+(a=(/[a-z][\w-]*/i.exec(a)||[""])[0].toLowerCase()),o.alias?"string"==typeof o.alias?o.alias=[o.alias,a]:o.alias.push(a):o.alias=[a]))}}(e.tokens)}),e.hooks.add("wrap",function(t){if("code-block"===t.type){for(var n,r="",a=0,o=t.classes.length;a<o;a++){var u=t.classes[a],u=/language-(.+)/.exec(u);if(u){r=u[1];break}}var c,d=e.languages[r];d?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(e,t){return"#"===(t=t.toLowerCase())[0]?s("x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1))):l[t]||e}),d,r):r&&"none"!==r&&e.plugins.autoloader&&(c="md-"+new Date().valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(r,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[r],r))}))}}),RegExp(e.languages.markup.tag.pattern.source,"gi")),l={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(U),U.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:U.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},U.hooks.add("after-tokenize",function(e){if("graphql"===e.language)for(var t=e.tokens.filter(function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type}),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(c(["definition-mutation","punctuation"])&&"("===t[n+1].content){n+=2;var o=d(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=t[n+0];"variable"===i.type&&(f(i,"variable-input"),a.push(i.content))}n=o+1}if(c(["punctuation","property-query"])&&"{"===t[n+0].content&&(f(t[++n+0],"property-mutation"),0<a.length)){var l=d(/^\{$/,/^\}$/);if(-1!==l)for(var s=n;s<l;s++){var u=t[s];"variable"===u.type&&0<=a.indexOf(u.content)&&f(u,"variable-input")}}}}function c(e,r){r=r||0;for(var a=0;a<e.length;a++){var o=t[n+(a+r)];if(!o||o.type!==e[a])return}return 1}function d(e,r){for(var a=1,o=n;o<t.length;o++){var i=t[o],l=i.content;if("punctuation"===i.type&&"string"==typeof l){if(e.test(l))a++;else if(r.test(l)&&0==--a)return o}}return -1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}}),U.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var s={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};e.hooks.add("after-tokenize",function(t){t.language in s&&function t(n){for(var i=0,s=n.length;i<s;i++){var u,c,d,f=n[i];"string"!=typeof f&&(Array.isArray(u=f.content)?"template-string"===f.type?(f=u[1],3===u.length&&"string"!=typeof f&&"embedded-code"===f.type&&(c=function e(t){return"string"==typeof t?t:Array.isArray(t)?t.map(e).join(""):e(t.content)}(f),f=Array.isArray(f=f.alias)?f[0]:f,d=e.languages[f])&&(u[1]=function(t,n,i){var s=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),u=0,c={},s=l(s.map(function(e){if("string"==typeof e)return e;for(var n,r,e=e.content;-1!==t.indexOf((r=u++,n="___"+i.toUpperCase()+"_"+r+"___")););return c[n]=e,n}).join(""),n,i),d=Object.keys(c);return u=0,function t(n){for(var o=0;o<n.length;o++){if(u>=d.length)return;var i,s,f,p,m,g,h,y=n[o];"string"==typeof y||"string"==typeof y.content?(i=d[u],-1!==(h=(g="string"==typeof y?y:y.content).indexOf(i))&&(++u,s=g.substring(0,h),m=c[i],f=void 0,(p={})["interpolation-punctuation"]=a,3===(p=e.tokenize(m,p)).length&&((f=[1,1]).push.apply(f,l(p[1],e.languages.javascript,"javascript")),p.splice.apply(p,f)),f=new e.Token("interpolation",p,r.alias,m),p=g.substring(h+i.length),m=[],s&&m.push(s),m.push(f),p&&(t(g=[p]),m.push.apply(m,g)),"string"==typeof y?(n.splice.apply(n,[o,1].concat(m)),o+=m.length-1):y.content=m)):Array.isArray(h=y.content)?t(h):t([h])}}(s),new e.Token(i,s,"language-"+i,t)}(c,d,f))):t(u):"string"!=typeof u&&t([u]))}}(t.tokens)})}(U),U.languages.typescript=U.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),U.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete U.languages.typescript.parameter,delete U.languages.typescript["literal-property"],b=U.languages.extend("typescript",{}),delete b["class-name"],U.languages.typescript["class-name"].inside=b,U.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:b}}}}),U.languages.ts=U.languages.typescript,v=U.languages.javascript,S="(@(?:arg|argument|param|property)\\s+(?:"+(w=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source)+"\\s+)?)",U.languages.jsdoc=U.languages.extend("javadoclike",{parameter:{pattern:RegExp(S+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),U.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(S+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:v,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,function(){return w})),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+w),lookbehind:!0,inside:{string:v.string,number:v.number,boolean:v.boolean,keyword:U.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:v,alias:"language-javascript"}}}}),U.languages.javadoclike.addSupport("javascript",U.languages.jsdoc),U.languages.flow=U.languages.extend("javascript",{}),U.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),U.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete U.languages.flow.parameter,U.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(U.languages.flow.keyword)||(U.languages.flow.keyword=[U.languages.flow.keyword]),U.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0}),U.languages.n4js=U.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),U.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),U.languages.n4jsd=U.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source}),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a],a=(o="RegExp"===e.util.type(o)?e.languages.javascript[a]={pattern:o}:o).inside||{};(o.inside=a)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(U),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return RegExp(e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return a}),t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""};e.hooks.add("after-tokenize",function(t){"jsx"!==t.language&&"tsx"!==t.language||function t(n){for(var r=[],a=0;a<n.length;a++){var o=n[a],l=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<r.length&&r[r.length-1].tagName===i(o.content[0].content[1])&&r.pop():"/>"!==o.content[o.content.length-1].content&&r.push({tagName:i(o.content[0].content[1]),openedBraces:0}):0<r.length&&"punctuation"===o.type&&"{"===o.content?r[r.length-1].openedBraces++:0<r.length&&0<r[r.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?r[r.length-1].openedBraces--:l=!0),(l||"string"==typeof o)&&0<r.length&&0===r[r.length-1].openedBraces&&(l=i(o),a<n.length-1&&("string"==typeof n[a+1]||"plain-text"===n[a+1].type)&&(l+=i(n[a+1]),n.splice(a+1,1)),0<a&&("string"==typeof n[a-1]||"plain-text"===n[a-1].type)&&(l=i(n[a-1])+l,n.splice(a-1,1),a--),n[a]=new e.Token("plain-text",l,null,l)),o.content&&"string"!=typeof o.content&&t(o.content)}}(t.tokens)})}(U),k=U.util.clone(U.languages.typescript),(U.languages.tsx=U.languages.extend("jsx",k),delete U.languages.tsx.parameter,delete U.languages.tsx["literal-property"],k=U.languages.tsx.tag).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+k.pattern.source+")",k.pattern.flags),k.lookbehind=!0,U.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ ]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},U.languages.swift["string-literal"].forEach(function(e){e.inside.interpolation.inside=U.languages.swift}),U.languages.kotlin=U.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete U.languages.kotlin["class-name"],x={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:U.languages.kotlin}},U.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:x},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:x},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete U.languages.kotlin.string,U.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),U.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),U.languages.kt=U.languages.kotlin,U.languages.kts=U.languages.kotlin,U.languages.c=U.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),U.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),U.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},U.languages.c.string],char:U.languages.c.char,comment:U.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:U.languages.c}}}}),U.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete U.languages.c.boolean,U.languages.objectivec=U.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete U.languages.objectivec["class-name"],U.languages.objc=U.languages.objectivec,U.languages.reason=U.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),U.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete U.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return/[^\s\S]/.source}),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(U),U.languages.go=U.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),U.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete U.languages.go["class-name"],E=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,T=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,function(){return E.source}),U.languages.cpp=U.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,function(){return E.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:E,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),U.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return T})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),U.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:U.languages.cpp}}}}),U.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),U.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:U.languages.extend("cpp",{})}}),U.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},U.languages.cpp["base-clause"]),U.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},U.languages.python["string-interpolation"].inside.interpolation.inside.rest=U.languages.python,U.languages.py=U.languages.python,U.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},U.languages.webmanifest=U.languages.json;var $={},q={dracula:()=>V,duotoneDark:()=>X,duotoneLight:()=>G,github:()=>W,gruvboxMaterialDark:()=>ed,gruvboxMaterialLight:()=>ef,jettwaveDark:()=>el,jettwaveLight:()=>es,nightOwl:()=>Y,nightOwlLight:()=>K,oceanicNext:()=>J,okaidia:()=>ee,oneDark:()=>eu,oneLight:()=>ec,palenight:()=>et,shadesOfPurple:()=>en,synthwave84:()=>er,ultramin:()=>ea,vsDark:()=>eo,vsLight:()=>ei};for(var H in q)N($,H,{get:q[H],enumerable:!0});var V={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},X={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},G={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},W={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},Y={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},K={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},Q="#c5a5c5",Z="#8dc891",J={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:Q}},{types:["attr-value"],style:{color:Z}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:Z}},{types:["punctuation"],style:{color:Z}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:Q}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},ee={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},et={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},en={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},er={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},ea={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},eo={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},ei={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},el={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},es={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},eu={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},ec={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},ed={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},ef={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},ep=/\r\n|\r|\n/,em=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},eg=(e,t)=>{let n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},eh=e=>{let t=[[]],n=[e],r=[0],a=[e.length],o=0,i=0,l=[],s=[l];for(;i>-1;){for(;(o=r[i]++)<a[i];){let e,u=t[i],c=n[i][o];if("string"==typeof c?(u=i>0?u:["plain"],e=c):(u=eg(u,c.type),c.alias&&(u=eg(u,c.alias)),e=c.content),"string"!=typeof e){i++,t.push(u),n.push(e),r.push(0),a.push(e.length);continue}let d=e.split(ep),f=d.length;l.push({types:u,content:d[0]});for(let e=1;e<f;e++)em(l),s.push(l=[]),l.push({types:u,content:d[e]})}i--,t.pop(),n.pop(),r.pop(),a.pop()}return em(l),s},ey=({children:e,language:t,code:n,theme:r,prism:a})=>{let o,i=t.toLowerCase(),l=((e,t)=>{let{plain:n}=e,r=e.styles.reduce((e,n)=>{let{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach(t=>{let n=z(z({},e[t]),a);e[t]=n}),e},{});return r.root=n,r.plain=P(z({},n),L({backgroundColor:void 0})),r})(r,i),s=(0,_.useCallback)(e=>{var{className:t,style:n,line:r}=e;let a=P(z({},B(e,["className","style","line"])),L({className:(0,A.A)("token-line",t)}));return"object"==typeof l&&"plain"in l&&(a.style=l.plain),"object"==typeof n&&(a.style=z(z({},a.style||{}),n)),a},[l]),u=(o=(0,_.useCallback)(({types:e,empty:t})=>{if(null!=l)return 1===e.length&&"plain"===e[0]?null!=t?{display:"inline-block"}:void 0:1===e.length&&null!=t?l[e[0]]:Object.assign(null!=t?{display:"inline-block"}:{},...e.map(e=>l[e]))},[l]),(0,_.useCallback)(e=>{var{token:t,className:n,style:r}=e;let a=P(z({},B(e,["token","className","style"])),L({className:(0,A.A)("token",...t.types,n),children:t.content,style:o(t)}));return null!=r&&(a.style=z(z({},a.style||{}),r)),a},[o])),c=a.languages[i];return e({tokens:(({prism:e,code:t,grammar:n,language:r})=>(0,_.useMemo)(()=>{if(null==n)return eh([t]);let a={code:t,grammar:n,language:r,tokens:[]};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(t,n),e.hooks.run("after-tokenize",a),eh(a.tokens)},[t,n,r,e]))({prism:a,language:i,code:n,grammar:c}),className:`prism-code language-${i}`,style:null!=l?l.root:{},getLineProps:s,getTokenProps:u})},eb=e=>(0,_.createElement)(ey,P(z({},e),L({prism:e.prism||U,theme:e.theme||eo,code:e.code,language:e.language})))},1561(e,t,n){"use strict";n.d(t,{A:()=>r});function r(e,t){if(!e)throw Error("Invariant failed")}},1635(e,t,n){"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>j,__assign:()=>o,__asyncDelegator:()=>T,__asyncGenerator:()=>E,__asyncValues:()=>_,__await:()=>x,__awaiter:()=>m,__classPrivateFieldGet:()=>L,__classPrivateFieldIn:()=>R,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>l,__disposeResources:()=>F,__esDecorate:()=>u,__exportStar:()=>y,__extends:()=>a,__generator:()=>g,__importDefault:()=>O,__importStar:()=>P,__makeTemplateObject:()=>A,__metadata:()=>p,__param:()=>s,__propKey:()=>d,__read:()=>v,__rest:()=>i,__rewriteRelativeImportExtension:()=>M,__runInitializers:()=>c,__setFunctionName:()=>f,__spread:()=>w,__spreadArray:()=>k,__spreadArrays:()=>S,__values:()=>b,default:()=>z});var r=function(e,t){return(r=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function i(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,r=Object.getOwnPropertySymbols(e);a<r.length;a++)0>t.indexOf(r[a])&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]]);return n}function l(e,t,n,r){var a,o=arguments.length,i=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(i=(o<3?a(i):o>3?a(t,n,i):a(t,n))||i);return o>3&&i&&Object.defineProperty(t,n,i),i}function s(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r,a,o){function i(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var l,s=r.kind,u="getter"===s?"get":"setter"===s?"set":"value",c=!t&&e?r.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),f=!1,p=n.length-1;p>=0;p--){var m={};for(var g in r)m[g]="access"===g?{}:r[g];for(var g in r.access)m.access[g]=r.access[g];m.addInitializer=function(e){if(f)throw TypeError("Cannot add initializers after decoration has completed");o.push(i(e||null))};var h=(0,n[p])("accessor"===s?{get:d.get,set:d.set}:d[u],m);if("accessor"===s){if(void 0===h)continue;if(null===h||"object"!=typeof h)throw TypeError("Object expected");(l=i(h.get))&&(d.get=l),(l=i(h.set))&&(d.set=l),(l=i(h.init))&&a.unshift(l)}else(l=i(h))&&("field"===s?a.unshift(l):d[u]=l)}c&&Object.defineProperty(c,r.name,d),f=!0}function c(e,t,n){for(var r=arguments.length>2,a=0;a<t.length;a++)n=r?t[a].call(e,n):t[a].call(e);return r?n:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function f(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function m(e,t,n,r){return new(n||(n=Promise))(function(a,o){function i(e){try{s(r.next(e))}catch(e){o(e)}}function l(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?a(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(i,l)}s((r=r.apply(e,t||[])).next())})}function g(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=l(0),i.throw=l(1),i.return=l(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(l){return function(s){var u=[l,s];if(n)throw TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===u[0]||2===u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{n=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var h=Object.create?function(e,t,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(t,n);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,a)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function y(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||h(t,e,n)}function b(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function S(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),a=0,t=0;t<n;t++)for(var o=arguments[t],i=0,l=o.length;i<l;i++,a++)r[a]=o[i];return r}function k(e,t,n){if(n||2==arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}function x(e){return this instanceof x?(this.v=e,this):new x(e)}function E(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r,a=n.apply(e,t||[]),o=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),i("next"),i("throw"),i("return",function(e){return function(t){return Promise.resolve(t).then(e,u)}}),r[Symbol.asyncIterator]=function(){return this},r;function i(e,t){a[e]&&(r[e]=function(t){return new Promise(function(n,r){o.push([e,t,n,r])>1||l(e,t)})},t&&(r[e]=t(r[e])))}function l(e,t){try{var n;(n=a[e](t)).value instanceof x?Promise.resolve(n.value.v).then(s,u):c(o[0][2],n)}catch(e){c(o[0][3],e)}}function s(e){l("next",e)}function u(e){l("throw",e)}function c(e,t){e(t),o.shift(),o.length&&l(o[0][0],o[0][1])}}function T(e){var t,n;return t={},r("next"),r("throw",function(e){throw e}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,a){t[r]=e[r]?function(t){return(n=!n)?{value:x(e[r](t)),done:!1}:a?a(t):t}:a}}function _(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=b(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,a){var o,i,l;o=r,i=a,l=(t=e[n](t)).done,Promise.resolve(t.value).then(function(e){o({value:e,done:l})},i)})}}}function A(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var C=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},N=function(e){return(N=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t})(e)};function P(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=N(e),r=0;r<n.length;r++)"default"!==n[r]&&h(t,e,n[r]);return C(t,e),t}function O(e){return e&&e.__esModule?e:{default:e}}function L(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function I(e,t,n,r,a){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!a)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(e,n):a?a.value=n:t.set(e,n),n}function R(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function j(e,t,n){if(null!=t){var r,a;if("object"!=typeof t&&"function"!=typeof t)throw TypeError("Object expected.");if(n){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(a=r)}if("function"!=typeof r)throw TypeError("Object not disposable.");a&&(r=function(){try{a.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var D="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function F(e){function t(t){e.error=e.hasError?new D(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}var n,r=0;return function a(){for(;n=e.stack.pop();)try{if(!n.async&&1===r)return r=0,e.stack.push(n),Promise.resolve().then(a);if(n.dispose){var o=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(o).then(a,function(e){return t(e),a()})}else r|=1}catch(e){t(e)}if(1===r)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}()}function M(e,t){return"string"==typeof e&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,n,r,a,o){return n?t?".jsx":".js":!r||a&&o?r+a+"."+o.toLowerCase()+"js":e}):e}let z={__extends:a,__assign:o,__rest:i,__decorate:l,__param:s,__esDecorate:u,__runInitializers:c,__propKey:d,__setFunctionName:f,__metadata:p,__awaiter:m,__generator:g,__createBinding:h,__exportStar:y,__values:b,__read:v,__spread:w,__spreadArrays:S,__spreadArray:k,__await:x,__asyncGenerator:E,__asyncDelegator:T,__asyncValues:_,__makeTemplateObject:A,__importStar:P,__importDefault:O,__classPrivateFieldGet:L,__classPrivateFieldSet:I,__classPrivateFieldIn:R,__addDisposableResource:j,__disposeResources:F,__rewriteRelativeImportExtension:M}},2654(e){"use strict";e.exports=JSON.parse('{"theme.ErrorPageContent.title":"This page crashed.","theme.BackToTopButton.buttonAriaLabel":"Scroll back to top","theme.blog.archive.title":"Archive","theme.blog.archive.description":"Archive","theme.blog.paginator.navAriaLabel":"Blog list page navigation","theme.blog.paginator.newerEntries":"Newer entries","theme.blog.paginator.olderEntries":"Older entries","theme.tags.tagsPageLink":"View all tags","theme.blog.post.paginator.navAriaLabel":"Blog post page navigation","theme.blog.post.paginator.newerPost":"Newer post","theme.blog.post.paginator.olderPost":"Older post","theme.colorToggle.ariaLabel.mode.system":"system mode","theme.colorToggle.ariaLabel.mode.light":"light mode","theme.colorToggle.ariaLabel.mode.dark":"dark mode","theme.colorToggle.ariaLabel":"Switch between dark and light mode (currently {mode})","theme.docs.breadcrumbs.navAriaLabel":"Breadcrumbs","theme.docs.paginator.navAriaLabel":"Docs pages","theme.docs.paginator.previous":"Previous","theme.docs.paginator.next":"Next","theme.docs.tagDocListPageTitle.nDocsTagged":"One doc tagged|{count} docs tagged","theme.docs.tagDocListPageTitle":"{nDocsTagged} with \\"{tagName}\\"","theme.docs.versionBadge.label":"Version: {versionLabel}","theme.docs.versions.unreleasedVersionLabel":"This is unreleased documentation for {siteTitle} {versionLabel} version.","theme.docs.versions.unmaintainedVersionLabel":"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.","theme.docs.versions.latestVersionSuggestionLabel":"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).","theme.docs.versions.latestVersionLinkLabel":"latest version","theme.common.editThisPage":"Edit this page","theme.lastUpdated.atDate":" on {date}","theme.lastUpdated.byUser":" by {user}","theme.lastUpdated.lastUpdatedAtBy":"Last updated{atDate}{byUser}","theme.common.headingLinkTitle":"Direct link to {heading}","theme.navbar.mobileVersionsDropdown.label":"Versions","theme.NotFound.title":"Page Not Found","theme.tags.tagsListLabel":"Tags:","theme.AnnouncementBar.closeButtonAriaLabel":"Close","theme.blog.sidebar.navAriaLabel":"Blog recent posts navigation","theme.admonition.caution":"caution","theme.admonition.danger":"danger","theme.admonition.info":"info","theme.admonition.note":"note","theme.admonition.tip":"tip","theme.admonition.warning":"warning","theme.DocSidebarItem.expandCategoryAriaLabel":"Expand sidebar category \'{label}\'","theme.DocSidebarItem.collapseCategoryAriaLabel":"Collapse sidebar category \'{label}\'","theme.IconExternalLink.ariaLabel":"(opens in new tab)","theme.NavBar.navAriaLabel":"Main","theme.navbar.mobileLanguageDropdown.label":"Languages","theme.NotFound.p1":"We could not find what you were looking for.","theme.NotFound.p2":"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.","theme.TOCCollapsible.toggleButtonLabel":"On this page","theme.blog.post.readMore":"Read more","theme.blog.post.readMoreLabel":"Read more about {title}","theme.CodeBlock.copy":"Copy","theme.CodeBlock.copied":"Copied","theme.CodeBlock.copyButtonAriaLabel":"Copy code to clipboard","theme.blog.post.readingTime.plurals":"One min read|{readingTime} min read","theme.CodeBlock.wordWrapToggle":"Toggle word wrap","theme.docs.sidebar.collapseButtonTitle":"Collapse sidebar","theme.docs.sidebar.collapseButtonAriaLabel":"Collapse sidebar","theme.docs.breadcrumbs.home":"Home page","theme.docs.sidebar.navAriaLabel":"Docs sidebar","theme.docs.sidebar.closeSidebarButtonAriaLabel":"Close navigation bar","theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel":"\u2190 Back to main menu","theme.docs.sidebar.toggleSidebarButtonAriaLabel":"Toggle navigation bar","theme.navbar.mobileDropdown.collapseButton.expandAriaLabel":"Expand the dropdown","theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel":"Collapse the dropdown","theme.docs.sidebar.expandButtonTitle":"Expand sidebar","theme.docs.sidebar.expandButtonAriaLabel":"Expand sidebar","theme.blog.post.plurals":"One post|{count} posts","theme.blog.tagTitle":"{nPosts} tagged with \\"{tagName}\\"","theme.blog.author.pageTitle":"{authorName} - {nPosts}","theme.blog.authorsList.pageTitle":"Authors","theme.blog.authorsList.viewAll":"View all authors","theme.blog.author.noPosts":"This author has not written any posts yet.","theme.contentVisibility.unlistedBanner.title":"Unlisted page","theme.contentVisibility.unlistedBanner.message":"This page is unlisted. Search engines will not index it, and only users having a direct link can access it.","theme.contentVisibility.draftBanner.title":"Draft page","theme.contentVisibility.draftBanner.message":"This page is a draft. It will only be visible in dev and be excluded from the production build.","theme.docs.DocCard.categoryDescription.plurals":"1 item|{count} items","theme.ErrorPageContent.tryAgain":"Try again","theme.common.skipToMainContent":"Skip to main content","theme.tags.tagsPageTitle":"Tags","homepage.hero.badge":"Java 8 \xb7 Druid 1.2.28 \xb7 15+ dialects","homepage.hero.tagline":"A multi-dialect SQL parsing engine and toolkit","homepage.hero.desc":"SQL type detection \xb7 Table & column lineage \xb7 Table/DDL parsing \xb7 Function extraction \xb7 Parameter extraction and prepared SQL","homepage.hero.cta.primary":"Quick Start","homepage.hero.cta.secondary":"Introduction","homepage.hero.meta.parse":"\u{1F9E9} Multi-dialect parsing","homepage.hero.meta.lineage":"\u{1F517} Table/column lineage","homepage.hero.meta.i18n":"\u{1F30D} i18n","homepage.hero.meta.version":"\u{1F4DA} Versioning","homepage.features.heading":"One engine for the full SQL parsing pipeline","homepage.feature.type.title":"SQL type detection","homepage.feature.type.desc":"Detect query, DML, DDL, SHOW and EXPLAIN statement types.","homepage.feature.dialect.title":"Multi-dialect parsing","homepage.feature.dialect.desc":"Route Druid dialects via DbType with a unified AST, covering 15+ datasources.","homepage.feature.lineage.title":"Table & column lineage","homepage.feature.lineage.desc":"Table and column lineage across JOIN, UNION, subqueries, aggregates and CTEs.","homepage.feature.table.title":"Table & DDL parsing","homepage.feature.table.desc":"Resolve real tables through JOINs, CTEs and subqueries, then parse fields, keys, partitions and buckets.","homepage.feature.tableLineage.title":"Table lineage","homepage.feature.tableLineage.desc":"Trace data flow from source tables to targets in INSERT and CTAS statements.","homepage.feature.columnLineage.title":"Column lineage","homepage.feature.columnLineage.desc":"Map source columns to targets across expressions, functions and CASE clauses.","homepage.feature.function.title":"Function parsing","homepage.feature.function.desc":"Extract and deduplicate regular, aggregate and window function names across multiple statements.","homepage.feature.parameter.title":"Parameter extraction & prepared SQL","homepage.feature.parameter.desc":"Extract dynamic SELECT parameters and produce JDBC placeholder SQL with ordered bindings.","homepage.feature.split.title":"SQL splitting & validation","homepage.feature.split.desc":"Split multi-statement scripts, validate syntax and rewrite row-level permissions.","homepage.feature.arch.title":"Two-layer extension","homepage.feature.arch.desc":"Syntax differences extend the syntax layer, business differences the core layer, via unified points.","homepage.case.arch.title":"Two-layer unified extension architecture","homepage.case.arch.desc":"The syntax layer extends dialect Lexer/Parser/AST on Druid; the business layer extends parsing, lineage and rewriting via the ISqlParser contract, aligned by DbType and AST.","homepage.case.version.title":"Version / i18n coexistence","homepage.case.version.desc":"Switch version (1.0 / Next) and language (\u7B80\u4F53\u4E2D\u6587 / English) from the navbar.","community.title":"Join the SqlParserX Community","community.subtitle":"Discuss multi-dialect SQL parsing, lineage and governance with developers.","homepage.community.forum.title":"Forum","homepage.community.forum.desc":"Ask questions and share best practices in GitHub Discussions.","homepage.community.github.title":"GitHub","homepage.community.github.desc":"File issues and open pull requests to improve multi-dialect parsing.","homepage.community.qa.title":"Q&A","homepage.community.qa.desc":"Search existing issues or start a new discussion when you get stuck.","homepage.hero.stat.datasource":"Datasource dialects","homepage.hero.stat.capability":"Core capabilities","homepage.hero.stat.layer":"Unified layers","homepage.hero.stat.compat":"Java 8 compatible","homepage.hero.pane.input":"SQL Input","homepage.hero.pane.output":"Parse Result","homepage.hero.tag.table":"Table lineage","homepage.hero.tag.field":"Field lineage","homepage.features.eyebrow":"Capabilities","homepage.features.subheading":"From dialect syntax to business semantics \u2014 unified contract, unified result, ready to use.","homepage.datasource.lead":"15+ datasource dialects supported","homepage.case.arch.eyebrow":"Architecture","homepage.case.docs.eyebrow":"Documentation","homepage.case.step1":"Feed SQL + DbType","homepage.case.step2":"Syntax layer parses into Druid AST","homepage.case.step3":"Business layer unified parsing","homepage.case.step4":"Table / lineage / function / parameter results","homepage.cta.title":"Ready to parse your SQL?","homepage.cta.desc":"Get started in minutes with multi-dialect parsing, lineage tracing and prepared SQL.","homepage.cta.primary":"Quick Start","homepage.cta.secondary":"View Source"}')},4054(e){"use strict";e.exports=JSON.parse('{"/SqlParserX/en/blog-c47":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"4b0ae1c1"}],"__props":"a02bd756"},"/SqlParserX/en/blog/archive-bf0":{"__comp":"9e4087bc","__context":{"plugin":"36994c47"},"__props":"e9caf4bd"},"/SqlParserX/en/blog/authors-ac8":{"__comp":"621db11d","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","__props":"db80618e"},"/SqlParserX/en/blog/authors/changlu-a8d":{"__comp":"33fc5bb8","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"items":[{"content":"4b0ae1c1"}],"sidebar":"814f3328","__props":"5abf25f6"},"/SqlParserX/en/blog/origin-of-sqlparserx-a52":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"4a65a190"},"/SqlParserX/en/blog/tags-2aa":{"__comp":"01a85c17","__context":{"plugin":"36994c47"},"sidebar":"814f3328","__props":"22e0017f"},"/SqlParserX/en/blog/tags/origin-121":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"4b0ae1c1"}],"__props":"136d9fb6"},"/SqlParserX/en/community-2bf":{"__comp":"672ba3d6","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"},"/SqlParserX/en/docs-5b1":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/SqlParserX/en/docs/next-a22":{"__comp":"a7bd4aaa","__props":"aa9e3246"},"/SqlParserX/en/docs/next-12e":{"__comp":"a94703ab"},"/SqlParserX/en/docs/next/about/architecture-7df":{"__comp":"17896441","content":"d611a6ba"},"/SqlParserX/en/docs/next/about/introduction-9f1":{"__comp":"17896441","content":"a84fc31f"},"/SqlParserX/en/docs/next/contributing-083":{"__comp":"17896441","content":"a16ef744"},"/SqlParserX/en/docs/next/core/field-lineage-d01":{"__comp":"17896441","content":"e539d78b"},"/SqlParserX/en/docs/next/core/function-parse-2b2":{"__comp":"17896441","content":"f798a39c"},"/SqlParserX/en/docs/next/core/parameter-compile-7b3":{"__comp":"17896441","content":"dae5e6b9"},"/SqlParserX/en/docs/next/core/sql-type-d46":{"__comp":"17896441","content":"1f5cb825"},"/SqlParserX/en/docs/next/core/table-lineage-a0c":{"__comp":"17896441","content":"533336a0"},"/SqlParserX/en/docs/next/core/table-parse-69c":{"__comp":"17896441","content":"ac311984"},"/SqlParserX/en/docs/next/intro-684":{"__comp":"17896441","content":"5b44acae"},"/SqlParserX/en/docs/next/quickstart/setup-65f":{"__comp":"17896441","content":"02854a60"},"/SqlParserX/en/docs-193":{"__comp":"a7bd4aaa","__props":"bd32d0d5"},"/SqlParserX/en/docs-634":{"__comp":"a94703ab"},"/SqlParserX/en/docs/about/architecture-d26":{"__comp":"17896441","content":"2cb18a50"},"/SqlParserX/en/docs/about/introduction-046":{"__comp":"17896441","content":"9c37e8a9"},"/SqlParserX/en/docs/contributing-d4c":{"__comp":"17896441","content":"ac4ff279"},"/SqlParserX/en/docs/core/field-lineage-4f9":{"__comp":"17896441","content":"7ba64a19"},"/SqlParserX/en/docs/core/function-parse-906":{"__comp":"17896441","content":"92d5f697"},"/SqlParserX/en/docs/core/parameter-compile-818":{"__comp":"17896441","content":"1a0052a3"},"/SqlParserX/en/docs/core/sql-type-89c":{"__comp":"17896441","content":"e65be245"},"/SqlParserX/en/docs/core/table-lineage-2f2":{"__comp":"17896441","content":"1078a278"},"/SqlParserX/en/docs/core/table-parse-a91":{"__comp":"17896441","content":"9aae347e"},"/SqlParserX/en/docs/intro-9c5":{"__comp":"17896441","content":"c61d1296"},"/SqlParserX/en/docs/quickstart/setup-646":{"__comp":"17896441","content":"773100d1"},"/SqlParserX/en/-624":{"__comp":"c4f5d8e4","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')}},function(e){e.O(0,["4014"],function(){return e(e.s=354)}),e.O()}]); \ No newline at end of file diff --git a/en/assets/js/runtime~main.b4181d59.js b/en/assets/js/runtime~main.b4181d59.js new file mode 100644 index 0000000..3f790db --- /dev/null +++ b/en/assets/js/runtime~main.b4181d59.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,c,f,d,r,t,b={},o={};function n(e){var a=o[e];if(void 0!==a)return a.exports;var c=o[e]={exports:{}};return b[e].call(c.exports,c,c.exports,n),c.exports}n.m=b,n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a:a}),a},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(c,f){if(1&f&&(c=this(c)),8&f||"object"==typeof c&&c&&(4&f&&c.__esModule||16&f&&"function"==typeof c.then))return c;var d=Object.create(null);n.r(d);var r={};e=e||[null,a({}),a([]),a(a)];for(var t=2&f&&c;("object"==typeof t||"function"==typeof t)&&!~e.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach(e=>{r[e]=()=>c[e]});return r.default=()=>c,n.d(d,r),d},n.d=(e,a)=>{for(var c in a)n.o(a,c)&&!n.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((a,c)=>(n.f[c](e,a),a),[])),n.u=e=>"assets/js/"+(({1033:"9c37e8a9",106:"17896441",1221:"621db11d",1389:"1a0052a3",1591:"22e0017f",1668:"5e95c892",1759:"9aae347e",1811:"dae5e6b9",1833:"814f3328",191:"36994c47",2030:"e9caf4bd",2687:"aa9e3246",2705:"4a65a190",3056:"a7456010",3080:"e65be245",3179:"5abf25f6",3220:"acecf23e",3224:"c61d1296",3674:"1078a278",3747:"aba21aa0",4128:"92d5f697",4413:"773100d1",4684:"1f5cb825",48:"33fc5bb8",4823:"c4f5d8e4",5301:"e539d78b",5415:"a02bd756",5575:"a7bd4aaa",5940:"bd32d0d5",6056:"db80618e",6074:"ccc49370",6785:"a94703ab",7266:"f798a39c",7496:"a6aa9e1f",766:"6875c492",8102:"533336a0",8222:"ac4ff279",8384:"02854a60",8637:"5b44acae",8893:"672ba3d6",9375:"4b0ae1c1",9414:"a84fc31f",947:"7ba64a19",9548:"2cb18a50",9590:"ac311984",9660:"9e4087bc",9786:"01a85c17",9794:"d611a6ba",9901:"136d9fb6",9984:"a16ef744"})[e]||e)+"."+({1016:"1b255e6a",1033:"53558edc",106:"06353295",1134:"87475e33",1221:"cd6afb65",1389:"2e24b2ea",1491:"cb46ae3f",1567:"9f44ced9",1591:"f9dfb251",1668:"a44b09d4",1759:"a020d1e5",181:"90e2d56b",1811:"c9da5438",1833:"a11b30f2",1862:"1a43044f",190:"c766b1ae",191:"a19db22c",2030:"325d73b3",2107:"f3b80883",2240:"925a2a48",2268:"485f02c6",2358:"f2f121b1",2395:"66d8d46d",255:"9c291378",2687:"77f04ee4",2705:"1b475153",2853:"1bd4804e",2881:"cdbfd8a4",2951:"c9b9b0af",3009:"12978314",3017:"e8b74ccb",3056:"5acfbe30",3080:"ce1b26fe",3179:"9830132d",3220:"98c2f734",3224:"6ae31ced",3312:"b999d1ad",3535:"18db5811",3636:"d70391ac",3674:"d2a43e18",3693:"178dfbe0",3747:"33b48647",3788:"070794c2",3851:"7f972b73",4128:"8d513838",4137:"1b2a1b68",4413:"f9c041bb",4551:"88d2b179",4617:"6e66f439",4684:"56402be9",4709:"1ea5418e",4788:"eef239cb",48:"3fe0f57b",480:"1eb9a3a7",4823:"97d426b8",4875:"484cb0fc",4892:"beb61f34",4936:"2ebabc8b",4950:"3fa51f56",5062:"689c71ca",5082:"46e3206e",5250:"ce6f0efa",5301:"ad039c37",5415:"f50fe793",5428:"8c0b8a2a",5493:"5c969992",5505:"ad92f9fd",5575:"f3b25130",5576:"62e087a6",5651:"49615f32",5783:"7e9699db",5940:"2cdaeaae",6056:"29a55518",6073:"79b4ff37",6074:"0fff0dec",612:"7ca96f70",6184:"b444265b",6326:"27d6a633",6374:"05518a82",6520:"c5a12252",6726:"ac90325c",6762:"affd9a83",6771:"da21afb4",6785:"0bcffcab",6832:"438cdfc9",6856:"9f4ebf6f",718:"659975ba",7256:"bfa531c9",7266:"0ace19ab",7472:"ede4e6b6",7496:"5f4ef81b",766:"0883a958",7693:"c2b73a77",7874:"d706704a",8102:"1b9c14e6",8222:"267aacc1",8272:"20c4caca",8384:"7f72547b",8637:"22f632d6",8645:"4532c47b",8665:"cdad3879",8683:"9ee3384f",8738:"3885adf6",8893:"6f76c648",8927:"68e81f0d",896:"d7dfba44",9010:"278a1aa9",9156:"a3122fd7",9375:"9cebb942",9414:"9913e20d",947:"89e1fa40",9548:"881d2316",9590:"55eb5a96",9660:"294903d8",9729:"f747c8de",9786:"35e1a59a",9794:"4cd3e7d8",9901:"e7c4760d",9948:"5ccdc219",9956:"43a95bde",9984:"604b3864"})[e]+".js",n.miniCssF=e=>""+e+".css",n.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},n.l=function(e,a,f,d){if(c[e])return void c[e].push(a);if(void 0!==f)for(var r,t,b=document.getElementsByTagName("script"),o=0;o<b.length;o++){var i=b[o];if(i.getAttribute("src")==e||i.getAttribute("data-rspack")=="sqlparserx:"+f){r=i;break}}r||(t=!0,(r=document.createElement("script")).timeout=120,n.nc&&r.setAttribute("nonce",n.nc),r.setAttribute("data-rspack","sqlparserx:"+f),r.src=e),c[e]=[a];var u=function(a,f){r.onerror=r.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],r.parentNode&&r.parentNode.removeChild(r),d&&d.forEach(function(e){return e(f)}),a)return a(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),t&&document.head.appendChild(r)},n.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f=[],n.O=(e,a,c,d)=>{if(a){d=d||0;for(var r=f.length;r>0&&f[r-1][2]>d;r--)f[r]=f[r-1];f[r]=[a,c,d];return}for(var t=1/0,r=0;r<f.length;r++){for(var a=f[r][0],c=f[r][1],d=f[r][2],b=!0,o=0;o<a.length;o++)(!1&d||t>=d)&&Object.keys(n.O).every(e=>n.O[e](a[o]))?a.splice(o--,1):(b=!1,d<t&&(t=d));if(b){f.splice(r--,1);var i=c();void 0!==i&&(e=i)}}return e},n.p="/SqlParserX/en/",n.rv=()=>"1.7.12",n.gca=function(e){return e=({0x11113f9:"106","33fc5bb8":"48","36994c47":"191","6875c492":"766","7ba64a19":"947","9c37e8a9":"1033","621db11d":"1221","1a0052a3":"1389","22e0017f":"1591","5e95c892":"1668","9aae347e":"1759",dae5e6b9:"1811","814f3328":"1833",e9caf4bd:"2030",aa9e3246:"2687","4a65a190":"2705",a7456010:"3056",e65be245:"3080","5abf25f6":"3179",acecf23e:"3220",c61d1296:"3224","1078a278":"3674",aba21aa0:"3747","92d5f697":"4128","773100d1":"4413","1f5cb825":"4684",c4f5d8e4:"4823",e539d78b:"5301",a02bd756:"5415",a7bd4aaa:"5575",bd32d0d5:"5940",db80618e:"6056",ccc49370:"6074",a94703ab:"6785",f798a39c:"7266",a6aa9e1f:"7496","533336a0":"8102",ac4ff279:"8222","02854a60":"8384","5b44acae":"8637","672ba3d6":"8893","4b0ae1c1":"9375",a84fc31f:"9414","2cb18a50":"9548",ac311984:"9590","9e4087bc":"9660","01a85c17":"9786",d611a6ba:"9794","136d9fb6":"9901",a16ef744:"9984"})[e]||e,n.p+n.u(e)},d={4014:0,9783:0},n.f.j=function(e,a){var c=n.o(d,e)?d[e]:void 0;if(0!==c)if(c)a.push(c[2]);else if(/^(4014|9783)$/.test(e))d[e]=0;else{var f=new Promise((a,f)=>c=d[e]=[a,f]);a.push(c[2]=f);var r=n.p+n.u(e),t=Error();n.l(r,function(a){if(n.o(d,e)&&(0!==(c=d[e])&&(d[e]=void 0),c)){var f=a&&("load"===a.type?"missing":a.type),r=a&&a.target&&a.target.src;t.message="Loading chunk "+e+" failed.\n("+f+": "+r+")",t.name="ChunkLoadError",t.type=f,t.request=r,c[1](t)}},"chunk-"+e,e)}},n.O.j=e=>0===d[e],r=(e,a)=>{var c,f,r=a[0],t=a[1],b=a[2],o=0;if(r.some(e=>0!==d[e])){for(c in t)n.o(t,c)&&(n.m[c]=t[c]);if(b)var i=b(n)}for(e&&e(a);o<r.length;o++)f=r[o],n.o(d,f)&&d[f]&&d[f][0](),d[f]=0;return n.O(i)},(t=self.webpackChunksqlparserx=self.webpackChunksqlparserx||[]).forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t)),n.ruid="bundler=rspack@1.7.12"})(); \ No newline at end of file diff --git a/en/blog.html b/en/blog.html new file mode 100644 index 0000000..b33ba8d --- /dev/null +++ b/en/blog.html @@ -0,0 +1,8 @@ +<!doctype html><html lang=en dir=ltr class="blog-wrapper blog-list-page plugin-blog plugin-id-default" data-has-hydrated=false><head><meta charset=UTF-8><meta name=generator content="Docusaurus v3.10.2"><title data-rh=true>Blog | SqlParserX + + +

SqlParserX 的诞生起源背景与内部改造

· 17 min read
changlu
SqlParserX 维护者
+

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+
\ No newline at end of file diff --git a/en/blog/archive.html b/en/blog/archive.html new file mode 100644 index 0000000..4bbf832 --- /dev/null +++ b/en/blog/archive.html @@ -0,0 +1,4 @@ +Archive | SqlParserX + + + \ No newline at end of file diff --git a/en/blog/atom.css b/en/blog/atom.css new file mode 100644 index 0000000..d2fc20b --- /dev/null +++ b/en/blog/atom.css @@ -0,0 +1,75 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +main { + flex: 1 0 auto; + width: 100%; + margin: 2rem auto; + max-width: 800px; + /* stylelint-disable-next-line font-family-name-quotes */ + font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell; +} + +.info { + display: block; + margin: 2rem 0; + padding: 1.6rem 2.4rem; + border: 1px solid dodgerblue; + border-left-width: 0.5rem; + border-radius: 0.4rem; + background-color: #edf5ff; +} + +a { + color: #005aff; + text-decoration: none; +} + +h1 { + text-wrap: balance; + font-size: 3.4rem; + font-weight: 800; + margin-bottom: 2rem; + display: flex; + align-items: center; +} + +h1 .rss-icon { + height: 3.2rem; + width: 3.2rem; + margin-right: 1rem; +} + +h2 { + font-size: 2.2rem; + font-weight: 700; + margin-bottom: 0.2rem; +} + +h3 { + font-size: 1.8rem; + font-weight: 700; + margin-bottom: 0.1rem; +} + +.blog-description { + font-size: 1.4rem; + margin-bottom: 0.6rem; +} + +.blog-post-date { + font-size: 1rem; + line-height: 1.4rem; + font-style: italic; + color: #797b7e; +} + +.blog-post-description { + font-size: 1rem; + line-height: 1.4rem; + color: #434349; +} diff --git a/en/blog/atom.xml b/en/blog/atom.xml new file mode 100644 index 0000000..76dac84 --- /dev/null +++ b/en/blog/atom.xml @@ -0,0 +1,209 @@ + + + https://dtstack.github.io/SqlParserX/en/blog + SqlParserX Blog + 2026-09-28T00:00:00.000Z + https://github.com/jpmonette/feed + + SqlParserX Blog + https://dtstack.github.io/SqlParserX/en/img/logo.png + + <![CDATA[SqlParserX 的诞生起源背景与内部改造]]> + https://dtstack.github.io/SqlParserX/en/blog/origin-of-sqlparserx + + 2026-09-28T00:00:00.000Z + + +

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+ + +

一、为什么需要懂解析器​

+

1.1 什么是解析器​

+

解析器是计算机科学和编程语言领域中至关重要的工具,其核心作用是将人类可理解的「形式化语言」(如代码、数据格式、表达式等)转换为机器可处理的结构,从而实现信息的解析、验证和后续处理。

+

人类使用的语言(无论是编程语言如 Python、数据格式如 JSON,还是查询语句如 SQL)本质是结构化的字符串,但机器无法直接理解这种字符串的逻辑含义。

+

例如,程序员写的 x = (a + b) * 3 是一串字符,但机器需要知道这是「先算 a + b,再乘以 3,最后赋值给 x」的运算逻辑。解析器把这个字符串解析为一棵语法树,再按规则一步步运算。

+
// 解析器 扫描解析方程 x = (a + b) * 3 得到的语法树 AST

[=]
/ \
[x] [*]
/ \
[+] [3]
/ \
[a] [b]

解释执行步骤:
1、从根节点 = 开始,表示这是一个赋值操作。
2、左子树 x 是赋值目标,右子树 * 是计算内容。
3、计算 * 时,先计算左子树 +(a + b),再乘以右子树 3。
4、最后将结果赋值给 x。
+

编程语言同理,如 C、Java 等都有特定的语法规则,通过解析器把代码转为 AST 语法树,再编译字节码、机器码来执行。

+
// 解析器 扫描解析 Java 代码 if (x > 0) { y = 10; } 得到的语法树 AST
[if]
/ \
[>] [block]
/ \ \
[x] [0] [=]
/ \
[y] [10]

解析执行步骤:
1、根节点 if 表示条件判断。
2、先计算条件 >(x > 0),如果为真:
3、进入 block 执行内部语句 y = 10。
4、如果为假,跳过整个 block。
+

解析器的作用,就是把这种字符串「拆解」为有意义的语法结构(如抽象语法树 AST),让机器能按规则执行。

+

1.2 如何实现解析器​

+

在编译器实现中,主要要做的是词法分析和语法分析:

+
    +
  • 词法分析:解析代码并生成 Token(一个单词的字面和它的种类及语义值)序列,实现一般称为扫描器(Scanner)。核心逻辑是定义 token(语义)与 scanner(扫描 token)。
  • +
  • 语法分析:利用扫描器生成的 Token 序列生成抽象语法树,实现一般称为解析器(Parser)。核心逻辑是进行语法检查,并构建由输入单词组成的层次化数据结构(语法分析树、抽象语法树等)。
  • +
+
数学表达式:1 + 2 * 3

// 首先在进行词法、语法分析前,我们先定义好 token
单词字面 Token 类型 说明
1 INTEGER 整数 1
+ ADD_OP 加法运算符
2 INTEGER 整数 2
* MUL_OP 乘法运算符
3 INTEGER 整数 3

// 1、词法分析:从前往后扫描得到一组 Token 流
[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)]

// 2、语法分析:根据运算符优先级(* 优先于 +)和 Token 流构建 AST
[+]
/ \
1 [*]
/ \
2 3
+

实现一种规则的解析器有两种方式:

+
    +
  • 方式一:不依赖任何工具,手写扫描器和解析器。
  • +
  • 方式二:使用现成的解析器生成器(Yacc、ANTLR、JavaCC 等),根据自定义语法规则文件自动生成解析器代码,从而专注于语法规则设计。
  • +
+

1.3 什么是 SQL 解析器​

+

SQL 解析器是能够将 SQL 语句转换为计算机可理解和执行结构的程序组件。它将文本形式的 SQL 转换为抽象语法树(AST),为后续的查询优化和执行提供基础。通俗地说,就是能对 SQL 进行解析、转换成语法树的工具。

+
# 查询
SELECT * FROM users WHERE status = 'active';
# 插入
INSERT INTO customers (name, email) VALUES ('李四', 'lisi@example.com');
# 更新
UPDATE products SET price = 5999 WHERE id = 1001;
# 删除
DELETE FROM logs WHERE create_time < '2024-01-01';
# 创建表
CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2));
# 修改表
ALTER TABLE employees ADD COLUMN department VARCHAR(20);
# 删除表
DROP TABLE temp_data;
# 授权
GRANT SELECT ON customers TO user1;
+

1.4 SQL 解析位于整条链路的哪个位置​

+

常见数据库执行 SQL 的整个过程:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 语义分析 → 优化SQL → 产生执行计划/执行任务
+

而 SQL 解析中间件关注的是 AST 之后的应用层能力:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 应用层(类型识别、表字段血缘、表解析、SQL脱敏)→ 子产品应用
+

这正是 SqlParserX 的定位:不重复实现数据库引擎,只基于一套统一的 AST,把「表、血缘、函数、权限改写」等解析能力做成可复用的中间件。

+
+

二、市面上常见的 SQL 解析方案​

+

在动手之前,我们先横向比较了主流方案。

+

市面上常见的解析器整体介绍

+

2.1 底层解析器件:JavaCC / ANTLR 3 / ANTLR 4​

+
特性JavaCCANTLR 3ANTLR 4
语法分析算法LL(k)LL(*)LL(*)(自适应预测)
左递归处理不支持,需手动转换需手动转换自动处理
目标语言JavaJava、C#、Python 等同 ANTLR 3
错误处理基础错误恢复增强的错误恢复智能错误恢复与诊断
语法复杂度简单直观较复杂简化(相比 ANTLR 3)
应用场景小型项目、教育中大型项目大型项目、复杂语法
+

2.2 SQL 解析器脚手架:Calcite / hive-exec​

+

所谓脚手架,是基于 JavaCC 或 ANTLR 已经实现了标准 SQL 的词法、语法规则,我们只需按其规范扩展:

+
    +
  • Calcite(基于 JavaCC):模块化、可扩展的 SQL 解析与优化框架,很多开源 SQL 引擎用它来做标准 SQL 解析与优化。
  • +
  • hive-exec(基于 ANTLR3):Hive 的核心包,支持 Hive/Spark 语法解析。
  • +
+

2.3 更「具象化」的解析器:JSqlParser / Druid​

+
    +
  • JSqlParser:基于 JavaCC,能将 SQL 转为更语义化的结构(如 select → SelectStatement),支持语法树类继承、JavaAPI 构建 SQL、语法树转 SQL;但 API 无明显的特定方言解析分层,支持的数据源解析能力较弱。
  • +
  • Druid:完全用 Java 自实现扫描器、解析器,解析出的语法树是具象化的抽象语法树(具有继承关系),并且支持按数据源分层扩展(Lexer、Parser 扫描可分层隔离)。
  • +
+

2.4 核心对比与选型结论​

+
工具依赖工具解析 SQL 能力语法树类继承优缺点
JavaCC原生定义解析规则无无需从零定义 SQL 规则
ANTLR4原生定义解析规则有,官方语法生态极好无语法生态强,但解析语法树无抽象继承关系
Calcite基于 JavaCC标准 SQL,多方言扩展、生态较弱有需手动扩展分层写语法规则,成本大
hive-exec基于 ANTLR3仅 Hive、Spark无无法扩展分层到其他数据源
JSqlParser基于 JavaCC标准 SQL,部分方言有API 无明显数据源分层
Druid原生 Java 实现扫描、解析器件支持 MySQL、Oracle、Hive、Spark、Doris、StarRocks 等有(极强)数据源生态好、AST 有继承关系;缺点是 Java 自实现扫描器,入门有难度
+

面向数栈「大量异构数据源都要有同样继承关系的语法树」的场景,需要抽象定义统一的 Insert、Select、Update、Delete 等结构。

+

基于 Druid 这样一套有继承关系的 AST,不同功能只需实现一套解析逻辑即可对应所有数据源,部分数据源再单独通过分层兼容即可。 这成为后续选型的决定性理由。

+

2.5 为什么不直接用 ANTLR4​

+

ANTLR4 生态确实很好(官方有 grammars-v4),但它的语法树没有抽象继承关系,难以在多数据源上沉淀「一套业务解析逻辑」,需要在业务层重新抽象一套结构,反而增加维护成本。Druid 的 AST 天然带继承体系,更契合我们的目标。

+
+

三、历史背景:改造前的 SQL 解析为什么难维护​

+

3.1 子产品各自为战​

+

改造前,SQL 解析散落在多个子产品中,各用各的方案:

+
离线 batchparser:SQL 类型识别、真实表解析、SQL 脱敏、行列级权限
面向 SQL 类型:rdb(mysql、oracle、doris...)、hive、spark、impala
实现:calcite & hive-exec 模块解析器,加上 druid 兜底【中间各种兼容语法正则匹配替换逻辑】

API apiparser:API 解析(预编译、非预编译)、真实表解析、行列级权限
面向 SQL 类型:rdb
实现:calcite + druid,druid 兜底

label labelparser:标签解析
实现:calcite

实时 streamparser
StreamCreateTableParser 直接使用正则匹配解析
StreamCreateViewParser 使用 hive-exec 进行表、字段血缘解析
StreamInsertParser 使用 FlinkPlanner & hive parser 进行表、字段血缘解析

资产 sqlparser:表、字段血缘解析、真实表解析、SQL 类型识别
实现:比较混乱,calcite、druid 以及 hive parser 混用
+

核心问题是:历史上针对 SQL 语法层面的扩展很少,导致语法解析「一个不行就换另一个」,各种兜底;做过语法扩展的主要是基于 Calcite 扩展了少量语法(limit、starrocks 等)。

+

3.2 历史设计架构​

+

改造前主要针对 Calcite(rdb 类型)、hive-exec(spark、hive)两类 SQL,Druid 与正则方式作为兜底。

+

改造前的历史设计架构

+

业务逻辑可以分为两类:

+

一类:SQL 类型识别、表解析、SQL 脱敏、行列级权限

+
    +
  1. 根据 SQL 类型用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 基于语法树做上述业务。
  4. +
+

另一类:血缘实现

+
    +
  1. 用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 自定义语法树,实现两套转换器(Calcite AST → 自定义 AST、hive-exec AstNode → 自定义 AST);
  4. +
  5. 针对自定义语法树写一套血缘解析逻辑。
  6. +
+
+

问题:转换与解析扫描过程中,历史上曾出现死循环导致子产品服务挂掉等各种情况。

+
+

Calcite 分层扩展文章的探索

+

3.3 主要问题​

+
    +
  1. 不同数据源语法解析扩展能力弱:不同 rdb 语法需要正则前置处理,或单独去扩展语法,且扩展语法集中在一个模块;
  2. +
  3. 使用多种解析框架、各种兜底,代码维护难:拿到语法树后的应用层解析逻辑也冗余在一起,到处是 if 判断数据源兼容逻辑,改一个地方可能影响其他地方,难以维护;
  4. +
  5. 血缘解析扩展弱、学习成本极高:需要先了解 Calcite / AstNode 的节点定义,再具备自定义语法树能力,然后扩展两层转换逻辑(还容易死循环),最后才到血缘解析本身。
  6. +
+
+

四、技术改造:双层分层​

+

技术改造围绕两个层面分层:语法解析层 与 业务解析层。

+

4.1 语法解析层(基于 Druid)​

+

语法解析层分层

+

分层实现后,扫描器、解析器都支持继承复用,且相互独立、互不影响,结构类可自定义扩展:

+

Druid 分层结构类

+
// 工具类指定数据源类型实现解析
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris);
SQLStatement statement = parser.parseStatement();

// 或直接 new 特定 Parser
DorisStatementParser statementParser = new DorisStatementParser(sql);
SQLStatement sqlStatement = statementParser.parseStatement();
+

4.2 业务解析层​

+
    +
  • 解析层:不同数据源 → 统一抽象结构语法树;
  • +
  • 应用层:针对统一 AST 实现一套解析方法;特定数据源在 AST 中自定义了部分节点时,应用层再针对该数据源的节点做分层处理。
  • +
+

业务解析分层

+

针对抽象语法树实现通用解析组件:

+

应用层通用解析组件

+

后续扩展时,若在语法层单独实现了某个节点,只需继承 BaseXxxClient,单独实现差异方法即可,重复逻辑复用:

+

继承 BaseXxxClient 扩展

+

创建 Client 后,在对应 XxxSqlParser 中注册:

+

在方言解析器中注册 Client

+

示例:

+
// 准备 SQL
String sql = getSql();

// 1、获取解析器(工厂方式)
ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2.1、解析表
ParseTableResult parseTableResult = sqlParser.parseTables(sql);
System.out.println(parseTableResult.getMainTable()); // 主表
System.out.println(parseTableResult.getAllTableName()); // 所有表

// 2.2、解析字段血缘(select * 场景可传入 tableColumnsMap 提供字段元数据)
ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap);

// 2.3、解析表血缘
TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql);

// 2.4、解析函数
Set<String> functions = sqlParser.parseFunction(sql);
+

4.3 改造后整体实现​

+

后续语法解析、业务层解析都可独立扩展:

+

改造后整体实现

+
+

五、业务层解析的重新实现​

+

历史上基于 Druid 的业务层实现很少(仅 API 解析、离线部分解析用 Druid 兜底),因此表解析、血缘解析都需要重新实现。

+

有血缘特征的 SQL 类型:insert into/overwrite ... select、create ... select、with as ... insert。

+

5.1 字段血缘解析​

+

核心思路是把来源与目标各自归一为一张二维表。

+

以一条 insert select 为例:

+
insert into new_table (id, name)
select a.id as aid, b.name as bname
from old_table as a
left join old_table2 b on a.id = b.id
+
    +
  1. 拆成两个部分:insert 目标端、select 来源端;
  2. +
  3. 各自追溯得到一组列表:
  4. +
+
# 目标端
真实字段 别名字段 真实表名
id id new_table
name name new_table

# 来源端
真实字段 别名字段 真实表名
id aid old_table
name bname old_table2
+
    +
  1. 两组按固定规则匹配,即得字段血缘:
  2. +
+
# 第一条
admin 目标端 new_table.id ← 来源端 old_table.id
# 第二条
目标端 new_table.name ← 来源端 old_table2.name
+

来源端的「真实表名 → 来源表」「真实字段 → 来源字段」,目标端的「别名字段 → 目标字段」。

+

对于 with as 场景,每个 CTE 的 () 作为一组同样归一为二维表再匹配;对于单列来源于多字段的场景(如 concat(t1.name, t2.name)),真实字段与真实表名以 , 合并,最终拆成多条血缘。

+

5.2 表血缘解析​

+

本质与字段血缘类似,更多是对表进行分组列表,一个 select 同样得到一组「表、表别名」的二维表,最终与 insert 目标表匹配即可完成表血缘。

+

5.3 表解析​

+

与表血缘类似,需要解析出所有真实表;除了追溯真实表的过程,还要合并没有被追溯到的真实表,同时覆盖比表血缘更多的 SQL 结构(select、update、delete、insert、drop、rename 等)。

+

5.4 函数解析​

+

函数与血缘无关,直接使用 Visitor 模式收集所有函数即可:

+

基于 Visitor 的函数解析

+

5.5 其他业务能力​

+
    +
  • SQL 脱敏(离线):复用字段血缘的 select column 组件拿到字段列表,再结合语法层位点能力进行改写;难点是 Druid 无精确原始 SQL 位点,需要扩展。
  • +
  • 行级权限改写 SQL:利用 Druid API 补充 AST 节点,再转回 SQL,本质是根据主体 select 封装/补充条件节点后重新输出。
  • +
+
+

六、SqlParserX 的诞生​

+

在内部双层改造验证落地之后,一个更清晰的想法出现了:能不能把「基于 Druid 的 SQL 解析」做成一个纯净、可独立演进的开源项目?

+

于是有了 SqlParserX —— 一个无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各类不同 SQL 解析的开源项目。

+

6.1 双层架构​

+

SqlParserX 将解析内核拆分为两个独立 Jar Module,结构对称、职责清晰:

+
SqlParserX(根 Reactor)
├── sqlparserx-engine(聚合父模块,packaging=pom)
│ ├── sqlparserx-syntax(jar,语法解析层,基于 Druid) ← 只管 SQL → AST
│ └── sqlparserx-core(jar,业务解析层,依赖 syntax) ← 只管 AST → 业务结果
├── sqlparserx-web(HTTP 服务)
├── sqlparserx-mcp-server-sse(MCP Server)
└── sqlparserx-ui(前端)
+
    +
  • 语法解析层(sqlparserx-syntax):统一维护 Druid 依赖、SQL→AST、多语句解析与切分,以及后续数据源 Lexer / StatementParser / AST Node 扩展;
  • +
  • 业务解析层(sqlparserx-core):基于统一 AST 实现真实表、建表结构、表/字段血缘、函数与 SQL 权限改写。
  • +
+

两层以 DbType + SQLStatement AST 作为连接契约,不额外复制一套 AST,避免长期转换与同步。详细设计见 模块依赖包引用结构设计。

+

6.2 从内部二开走向官方 Druid​

+

项目早期依赖内部二开的 Druid 版本,随着能力沉淀,SqlParserX 已统一为官方 Druid 1.2.28,降低维护成本、方便社区协作。语法层坚持「不在业务层用大量正则替换规避语法问题」,方言语法差异一律回到语法层按 Druid 的方式扩展。

+

6.3 能力与文档体系​

+

SqlParserX 不仅提供代码,也提供了一套可维护的文档体系:

+ +

6.4 目标​

+
    +
  • 无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各种数据源的 SQL 解析;
  • +
  • 语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖;
  • +
  • 新增数据源时,语法差异在语法层扩展,业务差异在业务层扩展,上下两层通过 DbType 与 AST 对齐。
  • +
+
+

七、结语​

+

从「散落各处的解析器 + 各种兜底」到「统一 AST + 双层分层」,再到「一个纯净、只依赖 Druid 的开源项目」,SqlParserX 的诞生不是一次性的重构,而是一次次把问题放回正确层次的取舍:

+
+

语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖。

+
+

如果你在做多数据源的 SQL 解析、血缘、表解析相关工作,欢迎一起交流与共建。

+
+
+

作者:changlu | 2026-09-28

+

本文图片位于 assets/ 目录,仓库内以相对路径引用。

+
]]>
+ + changlu + https://github.com/DTStack/SqlParserX + + +
+
\ No newline at end of file diff --git a/en/blog/atom.xsl b/en/blog/atom.xsl new file mode 100644 index 0000000..b4b2d96 --- /dev/null +++ b/en/blog/atom.xsl @@ -0,0 +1,92 @@ + + + + + + + + Atom Feed | <xsl:value-of + select="atom:feed/atom:title" + /> + + + +
+
+
+ This is an Atom feed. Subscribe by copying the URL + from the address bar into your newsreader. Visit + About Feeds to learn more + and get started. It’s free. +
+

+
+ + + + + + + + + + +
+ +

+

+ +

+
+

Recent Posts

+
+ +
+

+ +
+ +
+
+
+
+
+ + +
+
diff --git a/en/blog/authors.html b/en/blog/authors.html new file mode 100644 index 0000000..95b2233 --- /dev/null +++ b/en/blog/authors.html @@ -0,0 +1,4 @@ +Authors | SqlParserX + + +

Authors

\ No newline at end of file diff --git a/en/blog/authors/changlu.html b/en/blog/authors/changlu.html new file mode 100644 index 0000000..53487a8 --- /dev/null +++ b/en/blog/authors/changlu.html @@ -0,0 +1,8 @@ +changlu - One post | SqlParserX + + +
changlu
SqlParserX 维护者
View all authors

SqlParserX 的诞生起源背景与内部改造

· 17 min read
changlu
SqlParserX 维护者
+

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+
\ No newline at end of file diff --git a/en/blog/origin-of-sqlparserx.html b/en/blog/origin-of-sqlparserx.html new file mode 100644 index 0000000..0cd1cc6 --- /dev/null +++ b/en/blog/origin-of-sqlparserx.html @@ -0,0 +1,190 @@ +SqlParserX 的诞生起源背景与内部改造 | SqlParserX + + +

SqlParserX 的诞生起源背景与内部改造

· 17 min read
changlu
SqlParserX 维护者
+

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+
+ +

一、为什么需要懂解析器​

+

1.1 什么是解析器​

+

解析器是计算机科学和编程语言领域中至关重要的工具,其核心作用是将人类可理解的「形式化语言」(如代码、数据格式、表达式等)转换为机器可处理的结构,从而实现信息的解析、验证和后续处理。

+

人类使用的语言(无论是编程语言如 Python、数据格式如 JSON,还是查询语句如 SQL)本质是结构化的字符串,但机器无法直接理解这种字符串的逻辑含义。

+

例如,程序员写的 x = (a + b) * 3 是一串字符,但机器需要知道这是「先算 a + b,再乘以 3,最后赋值给 x」的运算逻辑。解析器把这个字符串解析为一棵语法树,再按规则一步步运算。

+
// 解析器 扫描解析方程 x = (a + b) * 3 得到的语法树 AST

[=]
/ \
[x] [*]
/ \
[+] [3]
/ \
[a] [b]

解释执行步骤:
1、从根节点 = 开始,表示这是一个赋值操作。
2、左子树 x 是赋值目标,右子树 * 是计算内容。
3、计算 * 时,先计算左子树 +(a + b),再乘以右子树 3。
4、最后将结果赋值给 x。
+

编程语言同理,如 C、Java 等都有特定的语法规则,通过解析器把代码转为 AST 语法树,再编译字节码、机器码来执行。

+
// 解析器 扫描解析 Java 代码 if (x > 0) { y = 10; } 得到的语法树 AST
[if]
/ \
[>] [block]
/ \ \
[x] [0] [=]
/ \
[y] [10]

解析执行步骤:
1、根节点 if 表示条件判断。
2、先计算条件 >(x > 0),如果为真:
3、进入 block 执行内部语句 y = 10。
4、如果为假,跳过整个 block。
+

解析器的作用,就是把这种字符串「拆解」为有意义的语法结构(如抽象语法树 AST),让机器能按规则执行。

+

1.2 如何实现解析器​

+

在编译器实现中,主要要做的是词法分析和语法分析:

+
    +
  • 词法分析:解析代码并生成 Token(一个单词的字面和它的种类及语义值)序列,实现一般称为扫描器(Scanner)。核心逻辑是定义 token(语义)与 scanner(扫描 token)。
  • +
  • 语法分析:利用扫描器生成的 Token 序列生成抽象语法树,实现一般称为解析器(Parser)。核心逻辑是进行语法检查,并构建由输入单词组成的层次化数据结构(语法分析树、抽象语法树等)。
  • +
+
数学表达式:1 + 2 * 3

// 首先在进行词法、语法分析前,我们先定义好 token
单词字面 Token 类型 说明
1 INTEGER 整数 1
+ ADD_OP 加法运算符
2 INTEGER 整数 2
* MUL_OP 乘法运算符
3 INTEGER 整数 3

// 1、词法分析:从前往后扫描得到一组 Token 流
[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)]

// 2、语法分析:根据运算符优先级(* 优先于 +)和 Token 流构建 AST
[+]
/ \
1 [*]
/ \
2 3
+

实现一种规则的解析器有两种方式:

+
    +
  • 方式一:不依赖任何工具,手写扫描器和解析器。
  • +
  • 方式二:使用现成的解析器生成器(Yacc、ANTLR、JavaCC 等),根据自定义语法规则文件自动生成解析器代码,从而专注于语法规则设计。
  • +
+

1.3 什么是 SQL 解析器​

+

SQL 解析器是能够将 SQL 语句转换为计算机可理解和执行结构的程序组件。它将文本形式的 SQL 转换为抽象语法树(AST),为后续的查询优化和执行提供基础。通俗地说,就是能对 SQL 进行解析、转换成语法树的工具。

+
# 查询
SELECT * FROM users WHERE status = 'active';
# 插入
INSERT INTO customers (name, email) VALUES ('李四', 'lisi@example.com');
# 更新
UPDATE products SET price = 5999 WHERE id = 1001;
# 删除
DELETE FROM logs WHERE create_time < '2024-01-01';
# 创建表
CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2));
# 修改表
ALTER TABLE employees ADD COLUMN department VARCHAR(20);
# 删除表
DROP TABLE temp_data;
# 授权
GRANT SELECT ON customers TO user1;
+

1.4 SQL 解析位于整条链路的哪个位置​

+

常见数据库执行 SQL 的整个过程:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 语义分析 → 优化SQL → 产生执行计划/执行任务
+

而 SQL 解析中间件关注的是 AST 之后的应用层能力:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 应用层(类型识别、表字段血缘、表解析、SQL脱敏)→ 子产品应用
+

这正是 SqlParserX 的定位:不重复实现数据库引擎,只基于一套统一的 AST,把「表、血缘、函数、权限改写」等解析能力做成可复用的中间件。

+
+

二、市面上常见的 SQL 解析方案​

+

在动手之前,我们先横向比较了主流方案。

+

市面上常见的解析器整体介绍

+

2.1 底层解析器件:JavaCC / ANTLR 3 / ANTLR 4​

+
特性JavaCCANTLR 3ANTLR 4
语法分析算法LL(k)LL(*)LL(*)(自适应预测)
左递归处理不支持,需手动转换需手动转换自动处理
目标语言JavaJava、C#、Python 等同 ANTLR 3
错误处理基础错误恢复增强的错误恢复智能错误恢复与诊断
语法复杂度简单直观较复杂简化(相比 ANTLR 3)
应用场景小型项目、教育中大型项目大型项目、复杂语法
+

2.2 SQL 解析器脚手架:Calcite / hive-exec​

+

所谓脚手架,是基于 JavaCC 或 ANTLR 已经实现了标准 SQL 的词法、语法规则,我们只需按其规范扩展:

+
    +
  • Calcite(基于 JavaCC):模块化、可扩展的 SQL 解析与优化框架,很多开源 SQL 引擎用它来做标准 SQL 解析与优化。
  • +
  • hive-exec(基于 ANTLR3):Hive 的核心包,支持 Hive/Spark 语法解析。
  • +
+

2.3 更「具象化」的解析器:JSqlParser / Druid​

+
    +
  • JSqlParser:基于 JavaCC,能将 SQL 转为更语义化的结构(如 select → SelectStatement),支持语法树类继承、JavaAPI 构建 SQL、语法树转 SQL;但 API 无明显的特定方言解析分层,支持的数据源解析能力较弱。
  • +
  • Druid:完全用 Java 自实现扫描器、解析器,解析出的语法树是具象化的抽象语法树(具有继承关系),并且支持按数据源分层扩展(Lexer、Parser 扫描可分层隔离)。
  • +
+

2.4 核心对比与选型结论​

+
工具依赖工具解析 SQL 能力语法树类继承优缺点
JavaCC原生定义解析规则无无需从零定义 SQL 规则
ANTLR4原生定义解析规则有,官方语法生态极好无语法生态强,但解析语法树无抽象继承关系
Calcite基于 JavaCC标准 SQL,多方言扩展、生态较弱有需手动扩展分层写语法规则,成本大
hive-exec基于 ANTLR3仅 Hive、Spark无无法扩展分层到其他数据源
JSqlParser基于 JavaCC标准 SQL,部分方言有API 无明显数据源分层
Druid原生 Java 实现扫描、解析器件支持 MySQL、Oracle、Hive、Spark、Doris、StarRocks 等有(极强)数据源生态好、AST 有继承关系;缺点是 Java 自实现扫描器,入门有难度
+

面向数栈「大量异构数据源都要有同样继承关系的语法树」的场景,需要抽象定义统一的 Insert、Select、Update、Delete 等结构。

+

基于 Druid 这样一套有继承关系的 AST,不同功能只需实现一套解析逻辑即可对应所有数据源,部分数据源再单独通过分层兼容即可。 这成为后续选型的决定性理由。

+

2.5 为什么不直接用 ANTLR4​

+

ANTLR4 生态确实很好(官方有 grammars-v4),但它的语法树没有抽象继承关系,难以在多数据源上沉淀「一套业务解析逻辑」,需要在业务层重新抽象一套结构,反而增加维护成本。Druid 的 AST 天然带继承体系,更契合我们的目标。

+
+

三、历史背景:改造前的 SQL 解析为什么难维护​

+

3.1 子产品各自为战​

+

改造前,SQL 解析散落在多个子产品中,各用各的方案:

+
离线 batchparser:SQL 类型识别、真实表解析、SQL 脱敏、行列级权限
面向 SQL 类型:rdb(mysql、oracle、doris...)、hive、spark、impala
实现:calcite & hive-exec 模块解析器,加上 druid 兜底【中间各种兼容语法正则匹配替换逻辑】

API apiparser:API 解析(预编译、非预编译)、真实表解析、行列级权限
面向 SQL 类型:rdb
实现:calcite + druid,druid 兜底

label labelparser:标签解析
实现:calcite

实时 streamparser
StreamCreateTableParser 直接使用正则匹配解析
StreamCreateViewParser 使用 hive-exec 进行表、字段血缘解析
StreamInsertParser 使用 FlinkPlanner & hive parser 进行表、字段血缘解析

资产 sqlparser:表、字段血缘解析、真实表解析、SQL 类型识别
实现:比较混乱,calcite、druid 以及 hive parser 混用
+

核心问题是:历史上针对 SQL 语法层面的扩展很少,导致语法解析「一个不行就换另一个」,各种兜底;做过语法扩展的主要是基于 Calcite 扩展了少量语法(limit、starrocks 等)。

+

3.2 历史设计架构​

+

改造前主要针对 Calcite(rdb 类型)、hive-exec(spark、hive)两类 SQL,Druid 与正则方式作为兜底。

+

改造前的历史设计架构

+

业务逻辑可以分为两类:

+

一类:SQL 类型识别、表解析、SQL 脱敏、行列级权限

+
    +
  1. 根据 SQL 类型用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 基于语法树做上述业务。
  4. +
+

另一类:血缘实现

+
    +
  1. 用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 自定义语法树,实现两套转换器(Calcite AST → 自定义 AST、hive-exec AstNode → 自定义 AST);
  4. +
  5. 针对自定义语法树写一套血缘解析逻辑。
  6. +
+
+

问题:转换与解析扫描过程中,历史上曾出现死循环导致子产品服务挂掉等各种情况。

+
+

Calcite 分层扩展文章的探索

+

3.3 主要问题​

+
    +
  1. 不同数据源语法解析扩展能力弱:不同 rdb 语法需要正则前置处理,或单独去扩展语法,且扩展语法集中在一个模块;
  2. +
  3. 使用多种解析框架、各种兜底,代码维护难:拿到语法树后的应用层解析逻辑也冗余在一起,到处是 if 判断数据源兼容逻辑,改一个地方可能影响其他地方,难以维护;
  4. +
  5. 血缘解析扩展弱、学习成本极高:需要先了解 Calcite / AstNode 的节点定义,再具备自定义语法树能力,然后扩展两层转换逻辑(还容易死循环),最后才到血缘解析本身。
  6. +
+
+

四、技术改造:双层分层​

+

技术改造围绕两个层面分层:语法解析层 与 业务解析层。

+

4.1 语法解析层(基于 Druid)​

+

语法解析层分层

+

分层实现后,扫描器、解析器都支持继承复用,且相互独立、互不影响,结构类可自定义扩展:

+

Druid 分层结构类

+
// 工具类指定数据源类型实现解析
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris);
SQLStatement statement = parser.parseStatement();

// 或直接 new 特定 Parser
DorisStatementParser statementParser = new DorisStatementParser(sql);
SQLStatement sqlStatement = statementParser.parseStatement();
+

4.2 业务解析层​

+
    +
  • 解析层:不同数据源 → 统一抽象结构语法树;
  • +
  • 应用层:针对统一 AST 实现一套解析方法;特定数据源在 AST 中自定义了部分节点时,应用层再针对该数据源的节点做分层处理。
  • +
+

业务解析分层

+

针对抽象语法树实现通用解析组件:

+

应用层通用解析组件

+

后续扩展时,若在语法层单独实现了某个节点,只需继承 BaseXxxClient,单独实现差异方法即可,重复逻辑复用:

+

继承 BaseXxxClient 扩展

+

创建 Client 后,在对应 XxxSqlParser 中注册:

+

在方言解析器中注册 Client

+

示例:

+
// 准备 SQL
String sql = getSql();

// 1、获取解析器(工厂方式)
ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2.1、解析表
ParseTableResult parseTableResult = sqlParser.parseTables(sql);
System.out.println(parseTableResult.getMainTable()); // 主表
System.out.println(parseTableResult.getAllTableName()); // 所有表

// 2.2、解析字段血缘(select * 场景可传入 tableColumnsMap 提供字段元数据)
ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap);

// 2.3、解析表血缘
TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql);

// 2.4、解析函数
Set<String> functions = sqlParser.parseFunction(sql);
+

4.3 改造后整体实现​

+

后续语法解析、业务层解析都可独立扩展:

+

改造后整体实现

+
+

五、业务层解析的重新实现​

+

历史上基于 Druid 的业务层实现很少(仅 API 解析、离线部分解析用 Druid 兜底),因此表解析、血缘解析都需要重新实现。

+

有血缘特征的 SQL 类型:insert into/overwrite ... select、create ... select、with as ... insert。

+

5.1 字段血缘解析​

+

核心思路是把来源与目标各自归一为一张二维表。

+

以一条 insert select 为例:

+
insert into new_table (id, name)
select a.id as aid, b.name as bname
from old_table as a
left join old_table2 b on a.id = b.id
+
    +
  1. 拆成两个部分:insert 目标端、select 来源端;
  2. +
  3. 各自追溯得到一组列表:
  4. +
+
# 目标端
真实字段 别名字段 真实表名
id id new_table
name name new_table

# 来源端
真实字段 别名字段 真实表名
id aid old_table
name bname old_table2
+
    +
  1. 两组按固定规则匹配,即得字段血缘:
  2. +
+
# 第一条
admin 目标端 new_table.id ← 来源端 old_table.id
# 第二条
目标端 new_table.name ← 来源端 old_table2.name
+

来源端的「真实表名 → 来源表」「真实字段 → 来源字段」,目标端的「别名字段 → 目标字段」。

+

对于 with as 场景,每个 CTE 的 () 作为一组同样归一为二维表再匹配;对于单列来源于多字段的场景(如 concat(t1.name, t2.name)),真实字段与真实表名以 , 合并,最终拆成多条血缘。

+

5.2 表血缘解析​

+

本质与字段血缘类似,更多是对表进行分组列表,一个 select 同样得到一组「表、表别名」的二维表,最终与 insert 目标表匹配即可完成表血缘。

+

5.3 表解析​

+

与表血缘类似,需要解析出所有真实表;除了追溯真实表的过程,还要合并没有被追溯到的真实表,同时覆盖比表血缘更多的 SQL 结构(select、update、delete、insert、drop、rename 等)。

+

5.4 函数解析​

+

函数与血缘无关,直接使用 Visitor 模式收集所有函数即可:

+

基于 Visitor 的函数解析

+

5.5 其他业务能力​

+
    +
  • SQL 脱敏(离线):复用字段血缘的 select column 组件拿到字段列表,再结合语法层位点能力进行改写;难点是 Druid 无精确原始 SQL 位点,需要扩展。
  • +
  • 行级权限改写 SQL:利用 Druid API 补充 AST 节点,再转回 SQL,本质是根据主体 select 封装/补充条件节点后重新输出。
  • +
+
+

六、SqlParserX 的诞生​

+

在内部双层改造验证落地之后,一个更清晰的想法出现了:能不能把「基于 Druid 的 SQL 解析」做成一个纯净、可独立演进的开源项目?

+

于是有了 SqlParserX —— 一个无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各类不同 SQL 解析的开源项目。

+

6.1 双层架构​

+

SqlParserX 将解析内核拆分为两个独立 Jar Module,结构对称、职责清晰:

+
SqlParserX(根 Reactor)
├── sqlparserx-engine(聚合父模块,packaging=pom)
│ ├── sqlparserx-syntax(jar,语法解析层,基于 Druid) ← 只管 SQL → AST
│ └── sqlparserx-core(jar,业务解析层,依赖 syntax) ← 只管 AST → 业务结果
├── sqlparserx-web(HTTP 服务)
├── sqlparserx-mcp-server-sse(MCP Server)
└── sqlparserx-ui(前端)
+
    +
  • 语法解析层(sqlparserx-syntax):统一维护 Druid 依赖、SQL→AST、多语句解析与切分,以及后续数据源 Lexer / StatementParser / AST Node 扩展;
  • +
  • 业务解析层(sqlparserx-core):基于统一 AST 实现真实表、建表结构、表/字段血缘、函数与 SQL 权限改写。
  • +
+

两层以 DbType + SQLStatement AST 作为连接契约,不额外复制一套 AST,避免长期转换与同步。详细设计见 模块依赖包引用结构设计。

+

6.2 从内部二开走向官方 Druid​

+

项目早期依赖内部二开的 Druid 版本,随着能力沉淀,SqlParserX 已统一为官方 Druid 1.2.28,降低维护成本、方便社区协作。语法层坚持「不在业务层用大量正则替换规避语法问题」,方言语法差异一律回到语法层按 Druid 的方式扩展。

+

6.3 能力与文档体系​

+

SqlParserX 不仅提供代码,也提供了一套可维护的文档体系:

+ +

6.4 目标​

+
    +
  • 无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各种数据源的 SQL 解析;
  • +
  • 语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖;
  • +
  • 新增数据源时,语法差异在语法层扩展,业务差异在业务层扩展,上下两层通过 DbType 与 AST 对齐。
  • +
+
+

七、结语​

+

从「散落各处的解析器 + 各种兜底」到「统一 AST + 双层分层」,再到「一个纯净、只依赖 Druid 的开源项目」,SqlParserX 的诞生不是一次性的重构,而是一次次把问题放回正确层次的取舍:

+
+

语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖。

+
+

如果你在做多数据源的 SQL 解析、血缘、表解析相关工作,欢迎一起交流与共建。

+
+
+

作者:changlu | 2026-09-28

+

本文图片位于 assets/ 目录,仓库内以相对路径引用。

+
\ No newline at end of file diff --git a/en/blog/rss.css b/en/blog/rss.css new file mode 100644 index 0000000..d2fc20b --- /dev/null +++ b/en/blog/rss.css @@ -0,0 +1,75 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +main { + flex: 1 0 auto; + width: 100%; + margin: 2rem auto; + max-width: 800px; + /* stylelint-disable-next-line font-family-name-quotes */ + font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell; +} + +.info { + display: block; + margin: 2rem 0; + padding: 1.6rem 2.4rem; + border: 1px solid dodgerblue; + border-left-width: 0.5rem; + border-radius: 0.4rem; + background-color: #edf5ff; +} + +a { + color: #005aff; + text-decoration: none; +} + +h1 { + text-wrap: balance; + font-size: 3.4rem; + font-weight: 800; + margin-bottom: 2rem; + display: flex; + align-items: center; +} + +h1 .rss-icon { + height: 3.2rem; + width: 3.2rem; + margin-right: 1rem; +} + +h2 { + font-size: 2.2rem; + font-weight: 700; + margin-bottom: 0.2rem; +} + +h3 { + font-size: 1.8rem; + font-weight: 700; + margin-bottom: 0.1rem; +} + +.blog-description { + font-size: 1.4rem; + margin-bottom: 0.6rem; +} + +.blog-post-date { + font-size: 1rem; + line-height: 1.4rem; + font-style: italic; + color: #797b7e; +} + +.blog-post-description { + font-size: 1rem; + line-height: 1.4rem; + color: #434349; +} diff --git a/en/blog/rss.xml b/en/blog/rss.xml new file mode 100644 index 0000000..47e55b9 --- /dev/null +++ b/en/blog/rss.xml @@ -0,0 +1,207 @@ + + + + SqlParserX Blog + https://dtstack.github.io/SqlParserX/en/blog + SqlParserX Blog + Mon, 28 Sep 2026 00:00:00 GMT + https://validator.w3.org/feed/docs/rss2.html + https://github.com/jpmonette/feed + en + + <![CDATA[SqlParserX 的诞生起源背景与内部改造]]> + https://dtstack.github.io/SqlParserX/en/blog/origin-of-sqlparserx + https://dtstack.github.io/SqlParserX/en/blog/origin-of-sqlparserx + Mon, 28 Sep 2026 00:00:00 GMT + + +

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+ + +

一、为什么需要懂解析器​

+

1.1 什么是解析器​

+

解析器是计算机科学和编程语言领域中至关重要的工具,其核心作用是将人类可理解的「形式化语言」(如代码、数据格式、表达式等)转换为机器可处理的结构,从而实现信息的解析、验证和后续处理。

+

人类使用的语言(无论是编程语言如 Python、数据格式如 JSON,还是查询语句如 SQL)本质是结构化的字符串,但机器无法直接理解这种字符串的逻辑含义。

+

例如,程序员写的 x = (a + b) * 3 是一串字符,但机器需要知道这是「先算 a + b,再乘以 3,最后赋值给 x」的运算逻辑。解析器把这个字符串解析为一棵语法树,再按规则一步步运算。

+
// 解析器 扫描解析方程 x = (a + b) * 3 得到的语法树 AST

[=]
/ \
[x] [*]
/ \
[+] [3]
/ \
[a] [b]

解释执行步骤:
1、从根节点 = 开始,表示这是一个赋值操作。
2、左子树 x 是赋值目标,右子树 * 是计算内容。
3、计算 * 时,先计算左子树 +(a + b),再乘以右子树 3。
4、最后将结果赋值给 x。
+

编程语言同理,如 C、Java 等都有特定的语法规则,通过解析器把代码转为 AST 语法树,再编译字节码、机器码来执行。

+
// 解析器 扫描解析 Java 代码 if (x > 0) { y = 10; } 得到的语法树 AST
[if]
/ \
[>] [block]
/ \ \
[x] [0] [=]
/ \
[y] [10]

解析执行步骤:
1、根节点 if 表示条件判断。
2、先计算条件 >(x > 0),如果为真:
3、进入 block 执行内部语句 y = 10。
4、如果为假,跳过整个 block。
+

解析器的作用,就是把这种字符串「拆解」为有意义的语法结构(如抽象语法树 AST),让机器能按规则执行。

+

1.2 如何实现解析器​

+

在编译器实现中,主要要做的是词法分析和语法分析:

+
    +
  • 词法分析:解析代码并生成 Token(一个单词的字面和它的种类及语义值)序列,实现一般称为扫描器(Scanner)。核心逻辑是定义 token(语义)与 scanner(扫描 token)。
  • +
  • 语法分析:利用扫描器生成的 Token 序列生成抽象语法树,实现一般称为解析器(Parser)。核心逻辑是进行语法检查,并构建由输入单词组成的层次化数据结构(语法分析树、抽象语法树等)。
  • +
+
数学表达式:1 + 2 * 3

// 首先在进行词法、语法分析前,我们先定义好 token
单词字面 Token 类型 说明
1 INTEGER 整数 1
+ ADD_OP 加法运算符
2 INTEGER 整数 2
* MUL_OP 乘法运算符
3 INTEGER 整数 3

// 1、词法分析:从前往后扫描得到一组 Token 流
[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)]

// 2、语法分析:根据运算符优先级(* 优先于 +)和 Token 流构建 AST
[+]
/ \
1 [*]
/ \
2 3
+

实现一种规则的解析器有两种方式:

+
    +
  • 方式一:不依赖任何工具,手写扫描器和解析器。
  • +
  • 方式二:使用现成的解析器生成器(Yacc、ANTLR、JavaCC 等),根据自定义语法规则文件自动生成解析器代码,从而专注于语法规则设计。
  • +
+

1.3 什么是 SQL 解析器​

+

SQL 解析器是能够将 SQL 语句转换为计算机可理解和执行结构的程序组件。它将文本形式的 SQL 转换为抽象语法树(AST),为后续的查询优化和执行提供基础。通俗地说,就是能对 SQL 进行解析、转换成语法树的工具。

+
# 查询
SELECT * FROM users WHERE status = 'active';
# 插入
INSERT INTO customers (name, email) VALUES ('李四', 'lisi@example.com');
# 更新
UPDATE products SET price = 5999 WHERE id = 1001;
# 删除
DELETE FROM logs WHERE create_time < '2024-01-01';
# 创建表
CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2));
# 修改表
ALTER TABLE employees ADD COLUMN department VARCHAR(20);
# 删除表
DROP TABLE temp_data;
# 授权
GRANT SELECT ON customers TO user1;
+

1.4 SQL 解析位于整条链路的哪个位置​

+

常见数据库执行 SQL 的整个过程:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 语义分析 → 优化SQL → 产生执行计划/执行任务
+

而 SQL 解析中间件关注的是 AST 之后的应用层能力:

+
SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 应用层(类型识别、表字段血缘、表解析、SQL脱敏)→ 子产品应用
+

这正是 SqlParserX 的定位:不重复实现数据库引擎,只基于一套统一的 AST,把「表、血缘、函数、权限改写」等解析能力做成可复用的中间件。

+
+

二、市面上常见的 SQL 解析方案​

+

在动手之前,我们先横向比较了主流方案。

+

市面上常见的解析器整体介绍

+

2.1 底层解析器件:JavaCC / ANTLR 3 / ANTLR 4​

+
特性JavaCCANTLR 3ANTLR 4
语法分析算法LL(k)LL(*)LL(*)(自适应预测)
左递归处理不支持,需手动转换需手动转换自动处理
目标语言JavaJava、C#、Python 等同 ANTLR 3
错误处理基础错误恢复增强的错误恢复智能错误恢复与诊断
语法复杂度简单直观较复杂简化(相比 ANTLR 3)
应用场景小型项目、教育中大型项目大型项目、复杂语法
+

2.2 SQL 解析器脚手架:Calcite / hive-exec​

+

所谓脚手架,是基于 JavaCC 或 ANTLR 已经实现了标准 SQL 的词法、语法规则,我们只需按其规范扩展:

+
    +
  • Calcite(基于 JavaCC):模块化、可扩展的 SQL 解析与优化框架,很多开源 SQL 引擎用它来做标准 SQL 解析与优化。
  • +
  • hive-exec(基于 ANTLR3):Hive 的核心包,支持 Hive/Spark 语法解析。
  • +
+

2.3 更「具象化」的解析器:JSqlParser / Druid​

+
    +
  • JSqlParser:基于 JavaCC,能将 SQL 转为更语义化的结构(如 select → SelectStatement),支持语法树类继承、JavaAPI 构建 SQL、语法树转 SQL;但 API 无明显的特定方言解析分层,支持的数据源解析能力较弱。
  • +
  • Druid:完全用 Java 自实现扫描器、解析器,解析出的语法树是具象化的抽象语法树(具有继承关系),并且支持按数据源分层扩展(Lexer、Parser 扫描可分层隔离)。
  • +
+

2.4 核心对比与选型结论​

+
工具依赖工具解析 SQL 能力语法树类继承优缺点
JavaCC原生定义解析规则无无需从零定义 SQL 规则
ANTLR4原生定义解析规则有,官方语法生态极好无语法生态强,但解析语法树无抽象继承关系
Calcite基于 JavaCC标准 SQL,多方言扩展、生态较弱有需手动扩展分层写语法规则,成本大
hive-exec基于 ANTLR3仅 Hive、Spark无无法扩展分层到其他数据源
JSqlParser基于 JavaCC标准 SQL,部分方言有API 无明显数据源分层
Druid原生 Java 实现扫描、解析器件支持 MySQL、Oracle、Hive、Spark、Doris、StarRocks 等有(极强)数据源生态好、AST 有继承关系;缺点是 Java 自实现扫描器,入门有难度
+

面向数栈「大量异构数据源都要有同样继承关系的语法树」的场景,需要抽象定义统一的 Insert、Select、Update、Delete 等结构。

+

基于 Druid 这样一套有继承关系的 AST,不同功能只需实现一套解析逻辑即可对应所有数据源,部分数据源再单独通过分层兼容即可。 这成为后续选型的决定性理由。

+

2.5 为什么不直接用 ANTLR4​

+

ANTLR4 生态确实很好(官方有 grammars-v4),但它的语法树没有抽象继承关系,难以在多数据源上沉淀「一套业务解析逻辑」,需要在业务层重新抽象一套结构,反而增加维护成本。Druid 的 AST 天然带继承体系,更契合我们的目标。

+
+

三、历史背景:改造前的 SQL 解析为什么难维护​

+

3.1 子产品各自为战​

+

改造前,SQL 解析散落在多个子产品中,各用各的方案:

+
离线 batchparser:SQL 类型识别、真实表解析、SQL 脱敏、行列级权限
面向 SQL 类型:rdb(mysql、oracle、doris...)、hive、spark、impala
实现:calcite & hive-exec 模块解析器,加上 druid 兜底【中间各种兼容语法正则匹配替换逻辑】

API apiparser:API 解析(预编译、非预编译)、真实表解析、行列级权限
面向 SQL 类型:rdb
实现:calcite + druid,druid 兜底

label labelparser:标签解析
实现:calcite

实时 streamparser
StreamCreateTableParser 直接使用正则匹配解析
StreamCreateViewParser 使用 hive-exec 进行表、字段血缘解析
StreamInsertParser 使用 FlinkPlanner & hive parser 进行表、字段血缘解析

资产 sqlparser:表、字段血缘解析、真实表解析、SQL 类型识别
实现:比较混乱,calcite、druid 以及 hive parser 混用
+

核心问题是:历史上针对 SQL 语法层面的扩展很少,导致语法解析「一个不行就换另一个」,各种兜底;做过语法扩展的主要是基于 Calcite 扩展了少量语法(limit、starrocks 等)。

+

3.2 历史设计架构​

+

改造前主要针对 Calcite(rdb 类型)、hive-exec(spark、hive)两类 SQL,Druid 与正则方式作为兜底。

+

改造前的历史设计架构

+

业务逻辑可以分为两类:

+

一类:SQL 类型识别、表解析、SQL 脱敏、行列级权限

+
    +
  1. 根据 SQL 类型用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 基于语法树做上述业务。
  4. +
+

另一类:血缘实现

+
    +
  1. 用 Calcite、hive-exec 解析得到语法树;
  2. +
  3. 自定义语法树,实现两套转换器(Calcite AST → 自定义 AST、hive-exec AstNode → 自定义 AST);
  4. +
  5. 针对自定义语法树写一套血缘解析逻辑。
  6. +
+
+

问题:转换与解析扫描过程中,历史上曾出现死循环导致子产品服务挂掉等各种情况。

+
+

Calcite 分层扩展文章的探索

+

3.3 主要问题​

+
    +
  1. 不同数据源语法解析扩展能力弱:不同 rdb 语法需要正则前置处理,或单独去扩展语法,且扩展语法集中在一个模块;
  2. +
  3. 使用多种解析框架、各种兜底,代码维护难:拿到语法树后的应用层解析逻辑也冗余在一起,到处是 if 判断数据源兼容逻辑,改一个地方可能影响其他地方,难以维护;
  4. +
  5. 血缘解析扩展弱、学习成本极高:需要先了解 Calcite / AstNode 的节点定义,再具备自定义语法树能力,然后扩展两层转换逻辑(还容易死循环),最后才到血缘解析本身。
  6. +
+
+

四、技术改造:双层分层​

+

技术改造围绕两个层面分层:语法解析层 与 业务解析层。

+

4.1 语法解析层(基于 Druid)​

+

语法解析层分层

+

分层实现后,扫描器、解析器都支持继承复用,且相互独立、互不影响,结构类可自定义扩展:

+

Druid 分层结构类

+
// 工具类指定数据源类型实现解析
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris);
SQLStatement statement = parser.parseStatement();

// 或直接 new 特定 Parser
DorisStatementParser statementParser = new DorisStatementParser(sql);
SQLStatement sqlStatement = statementParser.parseStatement();
+

4.2 业务解析层​

+
    +
  • 解析层:不同数据源 → 统一抽象结构语法树;
  • +
  • 应用层:针对统一 AST 实现一套解析方法;特定数据源在 AST 中自定义了部分节点时,应用层再针对该数据源的节点做分层处理。
  • +
+

业务解析分层

+

针对抽象语法树实现通用解析组件:

+

应用层通用解析组件

+

后续扩展时,若在语法层单独实现了某个节点,只需继承 BaseXxxClient,单独实现差异方法即可,重复逻辑复用:

+

继承 BaseXxxClient 扩展

+

创建 Client 后,在对应 XxxSqlParser 中注册:

+

在方言解析器中注册 Client

+

示例:

+
// 准备 SQL
String sql = getSql();

// 1、获取解析器(工厂方式)
ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2.1、解析表
ParseTableResult parseTableResult = sqlParser.parseTables(sql);
System.out.println(parseTableResult.getMainTable()); // 主表
System.out.println(parseTableResult.getAllTableName()); // 所有表

// 2.2、解析字段血缘(select * 场景可传入 tableColumnsMap 提供字段元数据)
ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap);

// 2.3、解析表血缘
TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql);

// 2.4、解析函数
Set<String> functions = sqlParser.parseFunction(sql);
+

4.3 改造后整体实现​

+

后续语法解析、业务层解析都可独立扩展:

+

改造后整体实现

+
+

五、业务层解析的重新实现​

+

历史上基于 Druid 的业务层实现很少(仅 API 解析、离线部分解析用 Druid 兜底),因此表解析、血缘解析都需要重新实现。

+

有血缘特征的 SQL 类型:insert into/overwrite ... select、create ... select、with as ... insert。

+

5.1 字段血缘解析​

+

核心思路是把来源与目标各自归一为一张二维表。

+

以一条 insert select 为例:

+
insert into new_table (id, name)
select a.id as aid, b.name as bname
from old_table as a
left join old_table2 b on a.id = b.id
+
    +
  1. 拆成两个部分:insert 目标端、select 来源端;
  2. +
  3. 各自追溯得到一组列表:
  4. +
+
# 目标端
真实字段 别名字段 真实表名
id id new_table
name name new_table

# 来源端
真实字段 别名字段 真实表名
id aid old_table
name bname old_table2
+
    +
  1. 两组按固定规则匹配,即得字段血缘:
  2. +
+
# 第一条
admin 目标端 new_table.id ← 来源端 old_table.id
# 第二条
目标端 new_table.name ← 来源端 old_table2.name
+

来源端的「真实表名 → 来源表」「真实字段 → 来源字段」,目标端的「别名字段 → 目标字段」。

+

对于 with as 场景,每个 CTE 的 () 作为一组同样归一为二维表再匹配;对于单列来源于多字段的场景(如 concat(t1.name, t2.name)),真实字段与真实表名以 , 合并,最终拆成多条血缘。

+

5.2 表血缘解析​

+

本质与字段血缘类似,更多是对表进行分组列表,一个 select 同样得到一组「表、表别名」的二维表,最终与 insert 目标表匹配即可完成表血缘。

+

5.3 表解析​

+

与表血缘类似,需要解析出所有真实表;除了追溯真实表的过程,还要合并没有被追溯到的真实表,同时覆盖比表血缘更多的 SQL 结构(select、update、delete、insert、drop、rename 等)。

+

5.4 函数解析​

+

函数与血缘无关,直接使用 Visitor 模式收集所有函数即可:

+

基于 Visitor 的函数解析

+

5.5 其他业务能力​

+
    +
  • SQL 脱敏(离线):复用字段血缘的 select column 组件拿到字段列表,再结合语法层位点能力进行改写;难点是 Druid 无精确原始 SQL 位点,需要扩展。
  • +
  • 行级权限改写 SQL:利用 Druid API 补充 AST 节点,再转回 SQL,本质是根据主体 select 封装/补充条件节点后重新输出。
  • +
+
+

六、SqlParserX 的诞生​

+

在内部双层改造验证落地之后,一个更清晰的想法出现了:能不能把「基于 Druid 的 SQL 解析」做成一个纯净、可独立演进的开源项目?

+

于是有了 SqlParserX —— 一个无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各类不同 SQL 解析的开源项目。

+

6.1 双层架构​

+

SqlParserX 将解析内核拆分为两个独立 Jar Module,结构对称、职责清晰:

+
SqlParserX(根 Reactor)
├── sqlparserx-engine(聚合父模块,packaging=pom)
│ ├── sqlparserx-syntax(jar,语法解析层,基于 Druid) ← 只管 SQL → AST
│ └── sqlparserx-core(jar,业务解析层,依赖 syntax) ← 只管 AST → 业务结果
├── sqlparserx-web(HTTP 服务)
├── sqlparserx-mcp-server-sse(MCP Server)
└── sqlparserx-ui(前端)
+
    +
  • 语法解析层(sqlparserx-syntax):统一维护 Druid 依赖、SQL→AST、多语句解析与切分,以及后续数据源 Lexer / StatementParser / AST Node 扩展;
  • +
  • 业务解析层(sqlparserx-core):基于统一 AST 实现真实表、建表结构、表/字段血缘、函数与 SQL 权限改写。
  • +
+

两层以 DbType + SQLStatement AST 作为连接契约,不额外复制一套 AST,避免长期转换与同步。详细设计见 模块依赖包引用结构设计。

+

6.2 从内部二开走向官方 Druid​

+

项目早期依赖内部二开的 Druid 版本,随着能力沉淀,SqlParserX 已统一为官方 Druid 1.2.28,降低维护成本、方便社区协作。语法层坚持「不在业务层用大量正则替换规避语法问题」,方言语法差异一律回到语法层按 Druid 的方式扩展。

+

6.3 能力与文档体系​

+

SqlParserX 不仅提供代码,也提供了一套可维护的文档体系:

+ +

6.4 目标​

+
    +
  • 无需依赖 Calcite、ANTLR 等其他解析组件,完全基于 Druid 实现各种数据源的 SQL 解析;
  • +
  • 语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖;
  • +
  • 新增数据源时,语法差异在语法层扩展,业务差异在业务层扩展,上下两层通过 DbType 与 AST 对齐。
  • +
+
+

七、结语​

+

从「散落各处的解析器 + 各种兜底」到「统一 AST + 双层分层」,再到「一个纯净、只依赖 Druid 的开源项目」,SqlParserX 的诞生不是一次性的重构,而是一次次把问题放回正确层次的取舍:

+
+

语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖。

+
+

如果你在做多数据源的 SQL 解析、血缘、表解析相关工作,欢迎一起交流与共建。

+
+
+

作者:changlu | 2026-09-28

+

本文图片位于 assets/ 目录,仓库内以相对路径引用。

+
]]>
+ 起源与背景 +
+
+
\ No newline at end of file diff --git a/en/blog/rss.xsl b/en/blog/rss.xsl new file mode 100644 index 0000000..e9695b2 --- /dev/null +++ b/en/blog/rss.xsl @@ -0,0 +1,86 @@ + + + + + + + + RSS Feed | <xsl:value-of select="rss/channel/title" /> + + + +
+
+
+ This is an RSS feed. Subscribe by copying the URL + from the address bar into your newsreader. Visit + About Feeds to learn more + and get started. It’s free. +
+

+
+ + + + + + + + + + +
+ +

+

+ +

+
+

Recent Posts

+
+ +
+

+ +
+ +
+
+
+
+
+ + +
+
diff --git a/en/blog/tags.html b/en/blog/tags.html new file mode 100644 index 0000000..8d22883 --- /dev/null +++ b/en/blog/tags.html @@ -0,0 +1,4 @@ +Tags | SqlParserX + + + \ No newline at end of file diff --git a/en/blog/tags/origin.html b/en/blog/tags/origin.html new file mode 100644 index 0000000..aed67d7 --- /dev/null +++ b/en/blog/tags/origin.html @@ -0,0 +1,8 @@ +One post tagged with "起源与背景" | SqlParserX + + +

One post tagged with "起源与背景"

SqlParserX 的诞生起源与内部改造历程

View all tags

SqlParserX 的诞生起源背景与内部改造

· 17 min read
changlu
SqlParserX 维护者
+

作者:changlu | 日期:2026-09-28

+

这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 +项目地址与使用方式见 SqlParserX 仓库,双层架构设计见 架构设计。

+
\ No newline at end of file diff --git a/en/community.html b/en/community.html new file mode 100644 index 0000000..9d7609e --- /dev/null +++ b/en/community.html @@ -0,0 +1,4 @@ +Community | SqlParserX + + +

Join the SqlParserX Community

Discuss multi-dialect SQL parsing, lineage and governance with developers.

💬

Forum

Ask questions and share best practices in GitHub Discussions.

前往讨论区
🐙

GitHub

File issues and open pull requests to improve multi-dialect parsing.

访问仓库
❓

Q&A

Search existing issues or start a new discussion when you get stuck.

查看 Issues
\ No newline at end of file diff --git a/en/docs/about/architecture.html b/en/docs/about/architecture.html new file mode 100644 index 0000000..9a0e9fc --- /dev/null +++ b/en/docs/about/architecture.html @@ -0,0 +1,16 @@ +Architecture | SqlParserX + + +
Version: Next 🚧

Two-Layer Unified Extension Architecture

+

The SqlParserX parsing kernel consists of two connected, structurally symmetric extension systems, each in its own Jar module:

+
    +
  • SQL syntax layer (sqlparserx-syntax): built on official Druid, extending Lexer, StatementParser and AST nodes per datasource through unified dialect routing, parser base and AST model.
  • +
  • SqlParserX business layer (sqlparserx-core): extending table parsing, lineage and SQL rewriting per datasource through unified dialect routing, the ISqlParser contract and business clients.
  • +
+

Both layers follow the pattern unified entry → common base → unified extension point → datasource implementation → unified result. When adding a datasource, syntax differences are extended in the Druid layer and business differences in the SqlParserX layer, aligned via DbType and Druid AST.

+

SqlParserX two-layer unified extension architecture

+

Overall Architecture​

+ +

Module Dependencies​

+
Access: sqlparserx-web (REST) / sqlparserx-ui
│ unified ISqlParser contract
Business layer: sqlparserx-core
│ SQL + DbType / SQLStatement AST
Syntax layer: sqlparserx-syntax (Druid 1.2.28)
+

Business extensions follow SqlParserFactory → ISqlParser → BaseSqlParser → dialect implementations.

\ No newline at end of file diff --git a/en/docs/about/introduction.html b/en/docs/about/introduction.html new file mode 100644 index 0000000..1f62a05 --- /dev/null +++ b/en/docs/about/introduction.html @@ -0,0 +1,16 @@ +Introduction | SqlParserX + + +
Version: Next 🚧

Introduction to SqlParserX

+

SqlParserX is a multi-dialect SQL parsing engine and toolkit offering SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation.

+

Problems It Solves​

+
ProblemSolution
Dialects differ greatlyRoute Druid dialects via DbType with a unified AST
Real tables and DDL hide in SQL textTable, CTE, CREATE TABLE, partition and property parsing
Data dependencies are hard to traceTable/column lineage across JOIN, UNION, subqueries, aggregates and CTEs
Scripts contain multiple statementsSQL splitting and syntax validation
Permission predicates are hard to maintainRow-level permission SQL rewriting
+

Modules​

+
ModuleLayerDescriptionTechnology
sqlparserx-syntaxSyntax parsingSQL-to-AST, validation, splitting and Druid dialect extensionsJava 8 + Druid 1.2.28
sqlparserx-coreBusiness parsingTables, lineage, DDL, functions and SQL rewritingJava 8 + sqlparserx-syntax
sqlparserx-webAccess layerSpring Boot REST serviceSpring Boot 2.3.12 + Java 8
sqlparserx-uiAccess layerLineage visualization and online parsing toolsVue 2.7 + Element UI 2.x + Vite 5 + ECharts 5
+

Supported Datasources​

+
DatasourceSupport
MySQLPriority support with enhanced RENAME TABLE handling
DorisStrong support with dedicated DDL and lineage tests
StarRocksDedicated DISTRIBUTED BY and key DDL support
Hive / ClickHouse / Oracle / DMRegistered parsers with common business implementation
+

Further Reading​

+
\ No newline at end of file diff --git a/en/docs/contributing.html b/en/docs/contributing.html new file mode 100644 index 0000000..e73320e --- /dev/null +++ b/en/docs/contributing.html @@ -0,0 +1,30 @@ +Contributing | SqlParserX + + +
Version: Next 🚧

Contributing

+

Thanks for your interest in SqlParserX! Issues and Pull Requests are welcome.

+

Ways to Contribute​

+ +

Development Workflow​

+
    +
  1. Fork the repo and create a feature branch: git checkout -b feature/xxx
  2. +
  3. Build locally: mvn clean install -DskipTests
  4. +
  5. Write code and tests, ensure mvn test passes
  6. +
  7. Push the branch and open a Pull Request
  8. +
  9. Merge after CI and review
  10. +
+

Conventions​

+
    +
  • Follow the module layering: syntax differences → sqlparserx-syntax, business differences → sqlparserx-core
  • +
  • When adding a datasource, also update capability docs and regression tests
  • +
  • Match the existing code style and avoid unrelated dependencies
  • +
+

Documentation​

+
    +
  • Docs are maintained in the project root docs/ and synced to this site
  • +
  • Update the relevant capability docs when adding parsing capabilities
  • +
\ No newline at end of file diff --git a/en/docs/core/field-lineage.html b/en/docs/core/field-lineage.html new file mode 100644 index 0000000..389293f --- /dev/null +++ b/en/docs/core/field-lineage.html @@ -0,0 +1,22 @@ +Field Lineage | SqlParserX + + +
Version: Next 🚧

Field Lineage

+

1. Add the Dependency​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core transitively brings in sqlparserx-syntax and Druid.

+
+

2. Complete Example​

+

A complete runnable class from parser creation to printing column lineage, using the official sqlparserx-core/README.md sample SQL:

+
FieldLineageDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;

import com.alibaba.druid.DbType;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FieldLineageDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1. Metadata: table -> columns (used for select * / column expansion)
Map<String, List<Column>> tableColumnsMap = new HashMap<>();
tableColumnsMap.put("users", Arrays.asList(
new Column("id", 0), new Column("name", 1)));
tableColumnsMap.put("orders", Arrays.asList(
new Column("amount", 0), new Column("id", 1)));

// 2. Get a parser
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 3. Parse column lineage
ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap);

// 4. Print result: target table + target column -> source column
System.out.println("target table: " + result.getTargetTable());
result.printColumnLineage();
}
}
+

Console output (example):

+
target table: user_order_summary
users.id -> user_order_summary.user_id
users.name -> user_order_summary.name
orders.amount -> user_order_summary.total_amount
orders.id -> user_order_summary.order_count
+

3. Goal​

+

Derive source table.column → target table.column column-level lineage from SQL.

+

The core idea: normalize the source select field list and target field list into sets of (real column, alias, real table) triples, then generate lineage by fixed matching rules. Field lineage takes insert/create-table SQL as input; pure query SQL produces no lineage.

+
SQLInsertStatement / SQLCreateTableStatement(AS SELECT)
→ ColumnLineageClient.parseColumnLineages
→ target column list + source select column list
→ addColumnRelations match one by one
→ ColumnLineageResult
+

4. Entry & Implementation​

+
ItemContent
Core entryISqlParser.parseColumnLineages(sql, tableColumnsMap)
Default implBaseSqlParser.parseColumnLineages → ColumnLineageClient
Return typeColumnLineageResult (getColumnRelations() + getColumnLineages())
ApplicableSQLInsertStatement, SQLCreateTableStatement (AS SELECT)
Metadata inputMap<String, List<Column>> tableColumnsMap
+

5. Supported Scenarios​

+
CapabilityStatusNotes
catalog.db.table.columnSupported ✅Multi-catalog scenarios such as Hive/Trino/StarRocks
db.table.columnSupported ✅Standard MySQL/PostgreSQL usage
Column expressions (SQLBinaryOpExpr)Supported ✅e.g. t5.level + 1, recursively collect columns
* / xx.* expansionSupported ✅Read from metadata tableColumnsMap; keep * without metadata
\ No newline at end of file diff --git a/en/docs/core/function-parse.html b/en/docs/core/function-parse.html new file mode 100644 index 0000000..255f198 --- /dev/null +++ b/en/docs/core/function-parse.html @@ -0,0 +1,21 @@ +Function Parsing | SqlParserX + + +
Version: Next 🚧

Function Parsing

+

1. Add the Dependency​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core transitively brings in sqlparserx-syntax and Druid.

+
+

2. Complete Example​

+

Using the official sqlparserx-core/README.md sample SQL to extract the set of functions:

+
FunctionParseDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;

import com.alibaba.druid.DbType;

import java.util.Set;

public class FunctionParseDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1. Get a parser
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2. Parse functions used in the SQL
Set<String> functions = parser.parseFunction(sql);

// 3. Read the result
System.out.println("functions: " + functions);
}
}
+

Console output (example):

+
functions: [sum, count]
+

3. Goal​

+

Extract function calls from SQL as a de-duplicated set of function names for function-level governance and dependency analysis.

+
SQLStatement AST
→ BaseSqlParser.parseFunction
→ traverse AST to collect function expressions
→ Set<String> functions
+

4. Entry & Implementation​

+
ItemContent
Core entryISqlParser.parseFunction(sql)
Default implBaseSqlParser.parseFunction
Return typeSet<String> (function names, lower-cased)
Coveragebuilt-in, aggregate, window, custom functions
+

5. Supported Scenarios​

+
CapabilityStatusNotes
Regular function callsSupported ✅e.g. substr(name, 1, 3)
Aggregate functionsSupported ✅e.g. sum, count, max
Window functionsSupported ✅e.g. row_number() over(...)
Nested functionsSupported ✅Recursively collect inner and outer functions
\ No newline at end of file diff --git a/en/docs/core/parameter-compile.html b/en/docs/core/parameter-compile.html new file mode 100644 index 0000000..c2dc5fd --- /dev/null +++ b/en/docs/core/parameter-compile.html @@ -0,0 +1,8 @@ +Parameter Extraction and Prepared SQL | SqlParserX + + +
Version: Next 🚧

Parameter Extraction and Prepared SQL

+

SqlParserX extracts ${variable} expressions and output fields from SELECT statements. Given parameter values, it produces JDBC ? placeholders and an ordered binding list.

+
ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);
String sql = "SELECT id, name FROM users "
+ "WHERE dt = '${bizdate}' AND region = '${region}'";

ParseParameterResult parsed = parser.parseParameterSql(
sql, false, Collections.emptyMap());

Map<String, Object> values = new HashMap<>();
values.put("bizdate", "20261014");
values.put("region", "hangzhou");

PrepareCompileResult compiled = parser.buildSqlByPrepareCompile(
sql, values, Collections.emptyMap());
System.out.println(compiled.getBeautifulSql());
System.out.println(compiled.getInputFields());
+
SELECT id, name FROM users WHERE dt = ? AND region = ?
[20261014, hangzhou]
+

The common implementation currently targets SELECT statements. Variables used as identifiers in sorting or grouping clauses are inlined.

\ No newline at end of file diff --git a/en/docs/core/sql-type.html b/en/docs/core/sql-type.html new file mode 100644 index 0000000..f14077f --- /dev/null +++ b/en/docs/core/sql-type.html @@ -0,0 +1,7 @@ +SQL Type Detection | SqlParserX + + +
Version: Next 🚧

SQL Type Detection

+

parseSqlType parses SQL with the selected datasource dialect and maps the resulting Druid AST to a unified SqlType. It can drive statement routing, audit classification, and execution policies.

+
ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);

SqlType queryType = parser.parseSqlType("SELECT id FROM users");
SqlType insertType = parser.parseSqlType(
"INSERT INTO target_table SELECT id FROM source_table");

System.out.println(queryType); // QUERY
System.out.println(insertType); // INSERT
+

The common implementation recognizes query, DML, DDL, SHOW, DESCRIBE, and EXPLAIN statements. An unclassified AST returns OTHER; syntax support still depends on the selected dialect.

\ No newline at end of file diff --git a/en/docs/core/table-lineage.html b/en/docs/core/table-lineage.html new file mode 100644 index 0000000..4ee6f96 --- /dev/null +++ b/en/docs/core/table-lineage.html @@ -0,0 +1,21 @@ +Table Lineage | SqlParserX + + +
Version: Next 🚧

Table Lineage

+

1. Add the Dependency​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core transitively brings in sqlparserx-syntax and Druid.

+
+

2. Complete Example​

+

Using the official sqlparserx-core/README.md sample SQL, from parser creation to printing table lineage:

+
TableLineageDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;
import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;

import com.alibaba.druid.DbType;

import java.util.List;

public class TableLineageDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1. Get a parser
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2. Parse table lineage
TableLineageResult result = parser.parseTableLineages(sql);

// 3. Read the result
System.out.println("target table: " + result.getTargetTable());
System.out.println("source tables: " + result.getSourceTables());

List<TableLineage> tableLineages = result.getTableLineages();
for (TableLineage lineage : tableLineages) {
System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable());
}
}
}
+

Console output (example):

+
target table: user_order_summary
source tables: [users, orders]
users -> user_order_summary
orders -> user_order_summary
+

3. Goal​

+

Parse target table → source table table-level lineage from SQL, covering JOIN, UNION, subqueries, aggregates and CTEs.

+
SQLStatement AST
→ TableLineageClient.parseTableLineages
→ collect source tables + target tables
→ TableLineageResult
+

4. Entry & Implementation​

+
ItemContent
Core entryISqlParser.parseTableLineages(sql)
Default implBaseSqlParser.parseTableLineages → TableLineageClient
Return typeTableLineageResult (getTargetTable() + getSourceTables() + getTableLineages())
CoverageJOIN, UNION, subquery, aggregate, CTE
+

5. Supported Scenarios​

+
CapabilityStatusNotes
Single/multi-table JOINSupported ✅All participating tables
UNION / UNION ALLSupported ✅Merge branches
Subquery / derived tableSupported ✅Recursively collect real tables
CTE (WITH)Supported ✅Recognize CTE and real sources
INSERT INTO ... SELECTSupported ✅Output target and source tables
\ No newline at end of file diff --git a/en/docs/core/table-parse.html b/en/docs/core/table-parse.html new file mode 100644 index 0000000..6c74869 --- /dev/null +++ b/en/docs/core/table-parse.html @@ -0,0 +1,21 @@ +Table Parsing | SqlParserX + + +
Version: Next 🚧

Table Parsing

+

1. Add the Dependency​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core transitively brings in sqlparserx-syntax and Druid.

+
+

2. Complete Example​

+

Using the official sqlparserx-core/README.md sample SQL to demonstrate both "parse real tables" and "parse CREATE TABLE":

+
TableParseDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;

import com.alibaba.druid.DbType;

public class TableParseDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1. Get a parser
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2. Parse real tables in the SQL
ParseTableResult tableResult = parser.parseTables(sql);
System.out.println("main table: " + tableResult.getMainTable().getName());
System.out.println("all tables: " + tableResult.getAllTableName());

// 3. Parse the CREATE TABLE structure
ParseCreateTableResult createResult = parser.parseCreateTable(sql);
System.out.println("created table: " + createResult.getDb() + "." + createResult.getTableName());
System.out.println("column count: " + createResult.getTableElementList().size());
}
}
+

Console output (example):

+
main table: users
all tables: [user_order_summary, users, orders]
created table: null.user_order_summary
column count: 4
+

3. Goal​

+

Identify real tables from SQL text, including query tables, CTEs, CREATE TABLE definitions, partitions and table properties.

+
SQLStatement AST
→ ParseTableClient.parseTables / parseCreateTable
→ collect tables / CTEs / DDL / partitions / properties
→ ParseTableResult / ParseCreateTableResult
+

4. Entry & Implementation​

+
ItemContent
Core entryISqlParser.parseTables(sql), ISqlParser.parseCreateTable(sql)
Default implBaseSqlParser.parseTables → ParseTableClient
Return typeParseTableResult, ParseCreateTableResult
Coveragequery tables, CTE, CREATE TABLE, partitions, properties
+

5. Supported Scenarios​

+
CapabilityStatusNotes
Query table detectionSupported ✅SELECT / INSERT / UPDATE / DELETE
CTE detectionSupported ✅WITH-defined temporary tables
CREATE TABLE DDLSupported ✅Table name, columns, types, comments
Partitions & propertiesSupported ✅Dialect differences internalized in syntax layer
catalog.db.tableSupported ✅Multi-catalog scenarios
\ No newline at end of file diff --git a/en/docs/intro.html b/en/docs/intro.html new file mode 100644 index 0000000..896625a --- /dev/null +++ b/en/docs/intro.html @@ -0,0 +1,22 @@ +SqlParserX Docs | SqlParserX + + +
Version: Next 🚧

Welcome to SqlParserX

+

SqlParserX is a multi-dialect SQL parsing engine and toolkit for SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation.

+

It is built around two layers: sqlparserx-syntax parses SQL into Druid ASTs and owns syntax extensions; sqlparserx-core consumes those ASTs through the unified ISqlParser contract and produces business parsing results. sqlparserx-web and sqlparserx-ui provide service and visualization access.

+

Get Started​

+ +

Documentation Map​

+
    +
  • About SqlParserX: project introduction and two-layer architecture
  • +
  • Quick Start: environment setup, build and run
  • +
  • Core Parsing Capabilities: SQL type detection, field lineage, table lineage, table parsing, function extraction, and parameter extraction
  • +
  • Contributing: how to contribute
  • +
+

:::tip Tip +Use the navbar to switch version (1.0 / Next) and language (简体中文 / English). +:::

\ No newline at end of file diff --git a/en/docs/next/about/architecture.html b/en/docs/next/about/architecture.html new file mode 100644 index 0000000..b2aa869 --- /dev/null +++ b/en/docs/next/about/architecture.html @@ -0,0 +1,16 @@ +Architecture | SqlParserX + + +
Version: Next 🚧

Two-Layer Unified Extension Architecture

+

The SqlParserX parsing kernel consists of two connected, structurally symmetric extension systems, each in its own Jar module:

+
    +
  • SQL syntax layer (sqlparserx-syntax): built on official Druid, extending Lexer, StatementParser and AST nodes per datasource through unified dialect routing, parser base and AST model.
  • +
  • SqlParserX business layer (sqlparserx-core): extending table parsing, lineage and SQL rewriting per datasource through unified dialect routing, the ISqlParser contract and business clients.
  • +
+

Both layers follow the pattern unified entry → common base → unified extension point → datasource implementation → unified result. When adding a datasource, syntax differences are extended in the Druid layer and business differences in the SqlParserX layer, aligned via DbType and Druid AST.

+

SqlParserX two-layer unified extension architecture

+

Overall Architecture​

+ +

Module Dependencies​

+
Access: sqlparserx-web (REST) / sqlparserx-ui
│ unified ISqlParser contract
Business layer: sqlparserx-core
│ SQL + DbType / SQLStatement AST
Syntax layer: sqlparserx-syntax (Druid 1.2.28)
+

Business extensions follow SqlParserFactory → ISqlParser → BaseSqlParser → dialect implementations.

\ No newline at end of file diff --git a/en/docs/next/about/introduction.html b/en/docs/next/about/introduction.html new file mode 100644 index 0000000..200ead9 --- /dev/null +++ b/en/docs/next/about/introduction.html @@ -0,0 +1,16 @@ +Introduction | SqlParserX + + +
Version: Next 🚧

Introduction to SqlParserX

+

SqlParserX is a multi-dialect SQL parsing engine and toolkit offering SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation.

+

Problems It Solves​

+
ProblemSolution
Dialects differ greatlyRoute Druid dialects via DbType with a unified AST
Real tables and DDL hide in SQL textTable, CTE, CREATE TABLE, partition and property parsing
Data dependencies are hard to traceTable/column lineage across JOIN, UNION, subqueries, aggregates and CTEs
Scripts contain multiple statementsSQL splitting and syntax validation
Permission predicates are hard to maintainRow-level permission SQL rewriting
+

Modules​

+
ModuleLayerDescriptionTechnology
sqlparserx-syntaxSyntax parsingSQL-to-AST, validation, splitting and Druid dialect extensionsJava 8 + Druid 1.2.28
sqlparserx-coreBusiness parsingTables, lineage, DDL, functions and SQL rewritingJava 8 + sqlparserx-syntax
sqlparserx-webAccess layerSpring Boot REST serviceSpring Boot 2.3.12 + Java 8
sqlparserx-uiAccess layerLineage visualization and online parsing toolsVue 2.7 + Element UI 2.x + Vite 5 + ECharts 5
+

Supported Datasources​

+
DatasourceSupport
MySQLPriority support with enhanced RENAME TABLE handling
DorisStrong support with dedicated DDL and lineage tests
StarRocksDedicated DISTRIBUTED BY and key DDL support
Hive / ClickHouse / Oracle / DMRegistered parsers with common business implementation
+

Further Reading​

+
\ No newline at end of file diff --git a/en/docs/next/contributing.html b/en/docs/next/contributing.html new file mode 100644 index 0000000..c063534 --- /dev/null +++ b/en/docs/next/contributing.html @@ -0,0 +1,30 @@ +Contributing | SqlParserX + + +
Version: Next 🚧

Contributing

+

Thanks for your interest in SqlParserX! Issues and Pull Requests are welcome.

+

Ways to Contribute​

+ +

Development Workflow​

+
    +
  1. Fork the repo and create a feature branch: git checkout -b feature/xxx
  2. +
  3. Build locally: mvn clean install -DskipTests
  4. +
  5. Write code and tests, ensure mvn test passes
  6. +
  7. Push the branch and open a Pull Request
  8. +
  9. Merge after CI and review
  10. +
+

Conventions​

+
    +
  • Follow the module layering: syntax differences → sqlparserx-syntax, business differences → sqlparserx-core
  • +
  • When adding a datasource, also update capability docs and regression tests
  • +
  • Match the existing code style and avoid unrelated dependencies
  • +
+

Documentation​

+
    +
  • Docs are maintained in the project root docs/ and synced to this site
  • +
  • Update the relevant capability docs when adding parsing capabilities
  • +
\ No newline at end of file diff --git a/en/docs/next/core/field-lineage.html b/en/docs/next/core/field-lineage.html new file mode 100644 index 0000000..4cc1c3c --- /dev/null +++ b/en/docs/next/core/field-lineage.html @@ -0,0 +1,22 @@ +Field Lineage | SqlParserX + + +
Version: Next 🚧

Field Lineage

+

1. Add the Dependency​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core transitively brings in sqlparserx-syntax and Druid.

+
+

2. Complete Example​

+

A complete runnable class from parser creation to printing column lineage, using the official sqlparserx-core/README.md sample SQL:

+
FieldLineageDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;

import com.alibaba.druid.DbType;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FieldLineageDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1. Metadata: table -> columns (used for select * / column expansion)
Map<String, List<Column>> tableColumnsMap = new HashMap<>();
tableColumnsMap.put("users", Arrays.asList(
new Column("id", 0), new Column("name", 1)));
tableColumnsMap.put("orders", Arrays.asList(
new Column("amount", 0), new Column("id", 1)));

// 2. Get a parser
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 3. Parse column lineage
ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap);

// 4. Print result: target table + target column -> source column
System.out.println("target table: " + result.getTargetTable());
result.printColumnLineage();
}
}
+

Console output (example):

+
target table: user_order_summary
users.id -> user_order_summary.user_id
users.name -> user_order_summary.name
orders.amount -> user_order_summary.total_amount
orders.id -> user_order_summary.order_count
+

3. Goal​

+

Derive source table.column → target table.column column-level lineage from SQL.

+

The core idea: normalize the source select field list and target field list into sets of (real column, alias, real table) triples, then generate lineage by fixed matching rules. Field lineage takes insert/create-table SQL as input; pure query SQL produces no lineage.

+
SQLInsertStatement / SQLCreateTableStatement(AS SELECT)
→ ColumnLineageClient.parseColumnLineages
→ target column list + source select column list
→ addColumnRelations match one by one
→ ColumnLineageResult
+

4. Entry & Implementation​

+
ItemContent
Core entryISqlParser.parseColumnLineages(sql, tableColumnsMap)
Default implBaseSqlParser.parseColumnLineages → ColumnLineageClient
Return typeColumnLineageResult (getColumnRelations() + getColumnLineages())
ApplicableSQLInsertStatement, SQLCreateTableStatement (AS SELECT)
Metadata inputMap<String, List<Column>> tableColumnsMap
+

5. Supported Scenarios​

+
CapabilityStatusNotes
catalog.db.table.columnSupported ✅Multi-catalog scenarios such as Hive/Trino/StarRocks
db.table.columnSupported ✅Standard MySQL/PostgreSQL usage
Column expressions (SQLBinaryOpExpr)Supported ✅e.g. t5.level + 1, recursively collect columns
* / xx.* expansionSupported ✅Read from metadata tableColumnsMap; keep * without metadata
\ No newline at end of file diff --git a/en/docs/next/core/function-parse.html b/en/docs/next/core/function-parse.html new file mode 100644 index 0000000..b58ca8d --- /dev/null +++ b/en/docs/next/core/function-parse.html @@ -0,0 +1,21 @@ +Function Parsing | SqlParserX + + +
Version: Next 🚧

Function Parsing

+

1. Add the Dependency​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core transitively brings in sqlparserx-syntax and Druid.

+
+

2. Complete Example​

+

Using the official sqlparserx-core/README.md sample SQL to extract the set of functions:

+
FunctionParseDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;

import com.alibaba.druid.DbType;

import java.util.Set;

public class FunctionParseDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1. Get a parser
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2. Parse functions used in the SQL
Set<String> functions = parser.parseFunction(sql);

// 3. Read the result
System.out.println("functions: " + functions);
}
}
+

Console output (example):

+
functions: [sum, count]
+

3. Goal​

+

Extract function calls from SQL as a de-duplicated set of function names for function-level governance and dependency analysis.

+
SQLStatement AST
→ BaseSqlParser.parseFunction
→ traverse AST to collect function expressions
→ Set<String> functions
+

4. Entry & Implementation​

+
ItemContent
Core entryISqlParser.parseFunction(sql)
Default implBaseSqlParser.parseFunction
Return typeSet<String> (function names, lower-cased)
Coveragebuilt-in, aggregate, window, custom functions
+

5. Supported Scenarios​

+
CapabilityStatusNotes
Regular function callsSupported ✅e.g. substr(name, 1, 3)
Aggregate functionsSupported ✅e.g. sum, count, max
Window functionsSupported ✅e.g. row_number() over(...)
Nested functionsSupported ✅Recursively collect inner and outer functions
\ No newline at end of file diff --git a/en/docs/next/core/parameter-compile.html b/en/docs/next/core/parameter-compile.html new file mode 100644 index 0000000..f2e16d5 --- /dev/null +++ b/en/docs/next/core/parameter-compile.html @@ -0,0 +1,8 @@ +Parameter Extraction and Prepared SQL | SqlParserX + + +
Version: Next 🚧

Parameter Extraction and Prepared SQL

+

SqlParserX extracts ${variable} expressions and output fields from SELECT statements. Given parameter values, it produces JDBC ? placeholders and an ordered binding list.

+
ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);
String sql = "SELECT id, name FROM users "
+ "WHERE dt = '${bizdate}' AND region = '${region}'";

ParseParameterResult parsed = parser.parseParameterSql(
sql, false, Collections.emptyMap());

Map<String, Object> values = new HashMap<>();
values.put("bizdate", "20261014");
values.put("region", "hangzhou");

PrepareCompileResult compiled = parser.buildSqlByPrepareCompile(
sql, values, Collections.emptyMap());
System.out.println(compiled.getBeautifulSql());
System.out.println(compiled.getInputFields());
+
SELECT id, name FROM users WHERE dt = ? AND region = ?
[20261014, hangzhou]
+

The common implementation currently targets SELECT statements. Variables used as identifiers in sorting or grouping clauses are inlined.

\ No newline at end of file diff --git a/en/docs/next/core/sql-type.html b/en/docs/next/core/sql-type.html new file mode 100644 index 0000000..6a8e168 --- /dev/null +++ b/en/docs/next/core/sql-type.html @@ -0,0 +1,7 @@ +SQL Type Detection | SqlParserX + + +
Version: Next 🚧

SQL Type Detection

+

parseSqlType parses SQL with the selected datasource dialect and maps the resulting Druid AST to a unified SqlType. It can drive statement routing, audit classification, and execution policies.

+
ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL);

SqlType queryType = parser.parseSqlType("SELECT id FROM users");
SqlType insertType = parser.parseSqlType(
"INSERT INTO target_table SELECT id FROM source_table");

System.out.println(queryType); // QUERY
System.out.println(insertType); // INSERT
+

The common implementation recognizes query, DML, DDL, SHOW, DESCRIBE, and EXPLAIN statements. An unclassified AST returns OTHER; syntax support still depends on the selected dialect.

\ No newline at end of file diff --git a/en/docs/next/core/table-lineage.html b/en/docs/next/core/table-lineage.html new file mode 100644 index 0000000..1f0f297 --- /dev/null +++ b/en/docs/next/core/table-lineage.html @@ -0,0 +1,21 @@ +Table Lineage | SqlParserX + + +
Version: Next 🚧

Table Lineage

+

1. Add the Dependency​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core transitively brings in sqlparserx-syntax and Druid.

+
+

2. Complete Example​

+

Using the official sqlparserx-core/README.md sample SQL, from parser creation to printing table lineage:

+
TableLineageDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;
import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;

import com.alibaba.druid.DbType;

import java.util.List;

public class TableLineageDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1. Get a parser
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2. Parse table lineage
TableLineageResult result = parser.parseTableLineages(sql);

// 3. Read the result
System.out.println("target table: " + result.getTargetTable());
System.out.println("source tables: " + result.getSourceTables());

List<TableLineage> tableLineages = result.getTableLineages();
for (TableLineage lineage : tableLineages) {
System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable());
}
}
}
+

Console output (example):

+
target table: user_order_summary
source tables: [users, orders]
users -> user_order_summary
orders -> user_order_summary
+

3. Goal​

+

Parse target table → source table table-level lineage from SQL, covering JOIN, UNION, subqueries, aggregates and CTEs.

+
SQLStatement AST
→ TableLineageClient.parseTableLineages
→ collect source tables + target tables
→ TableLineageResult
+

4. Entry & Implementation​

+
ItemContent
Core entryISqlParser.parseTableLineages(sql)
Default implBaseSqlParser.parseTableLineages → TableLineageClient
Return typeTableLineageResult (getTargetTable() + getSourceTables() + getTableLineages())
CoverageJOIN, UNION, subquery, aggregate, CTE
+

5. Supported Scenarios​

+
CapabilityStatusNotes
Single/multi-table JOINSupported ✅All participating tables
UNION / UNION ALLSupported ✅Merge branches
Subquery / derived tableSupported ✅Recursively collect real tables
CTE (WITH)Supported ✅Recognize CTE and real sources
INSERT INTO ... SELECTSupported ✅Output target and source tables
\ No newline at end of file diff --git a/en/docs/next/core/table-parse.html b/en/docs/next/core/table-parse.html new file mode 100644 index 0000000..85acb1a --- /dev/null +++ b/en/docs/next/core/table-parse.html @@ -0,0 +1,21 @@ +Table Parsing | SqlParserX + + +
Version: Next 🚧

Table Parsing

+

1. Add the Dependency​

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+
+

sqlparserx-core transitively brings in sqlparserx-syntax and Druid.

+
+

2. Complete Example​

+

Using the official sqlparserx-core/README.md sample SQL to demonstrate both "parse real tables" and "parse CREATE TABLE":

+
TableParseDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;

import com.alibaba.druid.DbType;

public class TableParseDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1. Get a parser
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2. Parse real tables in the SQL
ParseTableResult tableResult = parser.parseTables(sql);
System.out.println("main table: " + tableResult.getMainTable().getName());
System.out.println("all tables: " + tableResult.getAllTableName());

// 3. Parse the CREATE TABLE structure
ParseCreateTableResult createResult = parser.parseCreateTable(sql);
System.out.println("created table: " + createResult.getDb() + "." + createResult.getTableName());
System.out.println("column count: " + createResult.getTableElementList().size());
}
}
+

Console output (example):

+
main table: users
all tables: [user_order_summary, users, orders]
created table: null.user_order_summary
column count: 4
+

3. Goal​

+

Identify real tables from SQL text, including query tables, CTEs, CREATE TABLE definitions, partitions and table properties.

+
SQLStatement AST
→ ParseTableClient.parseTables / parseCreateTable
→ collect tables / CTEs / DDL / partitions / properties
→ ParseTableResult / ParseCreateTableResult
+

4. Entry & Implementation​

+
ItemContent
Core entryISqlParser.parseTables(sql), ISqlParser.parseCreateTable(sql)
Default implBaseSqlParser.parseTables → ParseTableClient
Return typeParseTableResult, ParseCreateTableResult
Coveragequery tables, CTE, CREATE TABLE, partitions, properties
+

5. Supported Scenarios​

+
CapabilityStatusNotes
Query table detectionSupported ✅SELECT / INSERT / UPDATE / DELETE
CTE detectionSupported ✅WITH-defined temporary tables
CREATE TABLE DDLSupported ✅Table name, columns, types, comments
Partitions & propertiesSupported ✅Dialect differences internalized in syntax layer
catalog.db.tableSupported ✅Multi-catalog scenarios
\ No newline at end of file diff --git a/en/docs/next/intro.html b/en/docs/next/intro.html new file mode 100644 index 0000000..c492f56 --- /dev/null +++ b/en/docs/next/intro.html @@ -0,0 +1,22 @@ +SqlParserX Docs | SqlParserX + + +
Version: Next 🚧

Welcome to SqlParserX

+

SqlParserX is a multi-dialect SQL parsing engine and toolkit for SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation.

+

It is built around two layers: sqlparserx-syntax parses SQL into Druid ASTs and owns syntax extensions; sqlparserx-core consumes those ASTs through the unified ISqlParser contract and produces business parsing results. sqlparserx-web and sqlparserx-ui provide service and visualization access.

+

Get Started​

+ +

Documentation Map​

+
    +
  • About SqlParserX: project introduction and two-layer architecture
  • +
  • Quick Start: environment setup, build and run
  • +
  • Core Parsing Capabilities: SQL type detection, field lineage, table lineage, table parsing, function extraction, and parameter extraction
  • +
  • Contributing: how to contribute
  • +
+

:::tip Tip +Use the navbar to switch version (1.0 / Next) and language (简体中文 / English). +:::

\ No newline at end of file diff --git a/en/docs/next/quickstart/setup.html b/en/docs/next/quickstart/setup.html new file mode 100644 index 0000000..e61d7cc --- /dev/null +++ b/en/docs/next/quickstart/setup.html @@ -0,0 +1,29 @@ +Quick Start | SqlParserX + + +
Version: Next 🚧

Quick Start

+

1. Requirements​

+
DependencyVersion
JDKJava 8+
Maven3.6+
Node.js (only sqlparserx-ui)>= 20
+

2. Add the Dependency​

+

Add the business parsing layer sqlparserx-core to your pom.xml:

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+

:::tip Dependency note +sqlparserx-core transitively brings in sqlparserx-syntax (syntax layer) and official Druid, so business parsing only needs the single core coordinate. If you only need SQL→AST syntax parsing, you can depend on sqlparserx-syntax alone. +:::

+

:::note Use from source +If 1.0-SNAPSHOT is not published to a remote repository yet, build and install it locally first:

+
git clone https://github.com/DTStack/SqlParserX.git
cd SqlParserX
mvn clean install -DskipTests
+

:::

+

3. Hello World: Parse a SQL​

+

A complete runnable class covering table parsing, column lineage, table lineage and functions, consistent with the official sqlparserx-core/README.md demo:

+
SqlParserXDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;
import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;
import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;

import com.alibaba.druid.DbType;

import java.util.*;

public class SqlParserXDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1. Get a parser by datasource type (mysql/hive/doris/... 15+ dialects)
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2. Parse real tables
ParseTableResult tableResult = parser.parseTables(sql);
System.out.println("main table: " + tableResult.getMainTable().getName());
System.out.println("all tables: " + tableResult.getAllTableName());

// 3. Parse column lineage (pass metadata for select * cases)
Map<String, List<Column>> tableColumnsMap = new HashMap<>();
tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1)));
tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1)));
ColumnLineageResult columnLineageResult =
parser.parseColumnLineages(sql, tableColumnsMap);
columnLineageResult.printColumnLineage();

// 4. Parse table lineage
TableLineageResult tableLineageResult = parser.parseTableLineages(sql);
List<TableLineage> tableLineages = tableLineageResult.getTableLineages();
System.out.println("table lineage: " + tableLineages);

// 5. Parse functions
Set<String> functions = parser.parseFunction(sql);
System.out.println("functions: " + functions);
}
}
+

Console output (example):

+
main table: users
all tables: [user_order_summary, users, orders]
users.id -> user_order_summary.user_id
users.name -> user_order_summary.name
orders.amount -> user_order_summary.total_amount
orders.id -> user_order_summary.order_count
table lineage: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...]
functions: [sum, count]
+

4. Next Steps​

+

Dependency + complete example for each capability:

+
\ No newline at end of file diff --git a/en/docs/quickstart/setup.html b/en/docs/quickstart/setup.html new file mode 100644 index 0000000..fe1fa6e --- /dev/null +++ b/en/docs/quickstart/setup.html @@ -0,0 +1,29 @@ +Quick Start | SqlParserX + + +
Version: Next 🚧

Quick Start

+

1. Requirements​

+
DependencyVersion
JDKJava 8+
Maven3.6+
Node.js (only sqlparserx-ui)>= 20
+

2. Add the Dependency​

+

Add the business parsing layer sqlparserx-core to your pom.xml:

+
<dependency>
<groupId>com.dtstack</groupId>
<artifactId>sqlparserx-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+

:::tip Dependency note +sqlparserx-core transitively brings in sqlparserx-syntax (syntax layer) and official Druid, so business parsing only needs the single core coordinate. If you only need SQL→AST syntax parsing, you can depend on sqlparserx-syntax alone. +:::

+

:::note Use from source +If 1.0-SNAPSHOT is not published to a remote repository yet, build and install it locally first:

+
git clone https://github.com/DTStack/SqlParserX.git
cd SqlParserX
mvn clean install -DskipTests
+

:::

+

3. Hello World: Parse a SQL​

+

A complete runnable class covering table parsing, column lineage, table lineage and functions, consistent with the official sqlparserx-core/README.md demo:

+
SqlParserXDemo.java
import com.dtstack.sqlparserx.core.parser.ISqlParser;
import com.dtstack.sqlparserx.core.parser.SqlParserFactory;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column;
import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult;
import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage;
import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult;
import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult;

import com.alibaba.druid.DbType;

import java.util.*;

public class SqlParserXDemo {

public static void main(String[] args) {
String sql = "CREATE TABLE user_order_summary AS\n"
+ "SELECT\n"
+ " u.id as user_id,\n"
+ " u.name,\n"
+ " SUM(o.amount) as total_amount,\n"
+ " COUNT(o.id) as order_count\n"
+ "FROM users u JOIN orders o ON u.id = o.user_id\n"
+ "GROUP BY u.id, u.name";

// 1. Get a parser by datasource type (mysql/hive/doris/... 15+ dialects)
ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql);

// 2. Parse real tables
ParseTableResult tableResult = parser.parseTables(sql);
System.out.println("main table: " + tableResult.getMainTable().getName());
System.out.println("all tables: " + tableResult.getAllTableName());

// 3. Parse column lineage (pass metadata for select * cases)
Map<String, List<Column>> tableColumnsMap = new HashMap<>();
tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1)));
tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1)));
ColumnLineageResult columnLineageResult =
parser.parseColumnLineages(sql, tableColumnsMap);
columnLineageResult.printColumnLineage();

// 4. Parse table lineage
TableLineageResult tableLineageResult = parser.parseTableLineages(sql);
List<TableLineage> tableLineages = tableLineageResult.getTableLineages();
System.out.println("table lineage: " + tableLineages);

// 5. Parse functions
Set<String> functions = parser.parseFunction(sql);
System.out.println("functions: " + functions);
}
}
+

Console output (example):

+
main table: users
all tables: [user_order_summary, users, orders]
users.id -> user_order_summary.user_id
users.name -> user_order_summary.name
orders.amount -> user_order_summary.total_amount
orders.id -> user_order_summary.order_count
table lineage: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...]
functions: [sum, count]
+

4. Next Steps​

+

Dependency + complete example for each capability:

+
\ No newline at end of file diff --git "a/website/static/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en.png" "b/en/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en.png" similarity index 100% rename from "website/static/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en.png" rename to "en/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en.png" diff --git "a/website/static/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.png" "b/en/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.png" similarity index 100% rename from "website/static/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.png" rename to "en/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.png" diff --git a/docs/images/banner.png b/en/img/banner.png similarity index 100% rename from docs/images/banner.png rename to en/img/banner.png diff --git a/website/static/img/case/navigation.svg b/en/img/case/navigation.svg similarity index 100% rename from website/static/img/case/navigation.svg rename to en/img/case/navigation.svg diff --git a/website/static/img/case/version.svg b/en/img/case/version.svg similarity index 100% rename from website/static/img/case/version.svg rename to en/img/case/version.svg diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/clickhouse.png" b/en/img/datasource/clickhouse.png similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/clickhouse.png" rename to en/img/datasource/clickhouse.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/doris.png" b/en/img/datasource/doris.png similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/doris.png" rename to en/img/datasource/doris.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/greenplum.png" b/en/img/datasource/greenplum.png similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/greenplum.png" rename to en/img/datasource/greenplum.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/hive.png" b/en/img/datasource/hive.png similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/hive.png" rename to en/img/datasource/hive.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/mysql.png" b/en/img/datasource/mysql.png similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/mysql.png" rename to en/img/datasource/mysql.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/oceanbase.png" b/en/img/datasource/oceanbase.png similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/oceanbase.png" rename to en/img/datasource/oceanbase.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/postgresql.png" b/en/img/datasource/postgresql.png similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/postgresql.png" rename to en/img/datasource/postgresql.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/spark.png" b/en/img/datasource/spark.png similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/spark.png" rename to en/img/datasource/spark.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/sqlserver.png" b/en/img/datasource/sqlserver.png similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/sqlserver.png" rename to en/img/datasource/sqlserver.png diff --git "a/docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/tidb.png" b/en/img/datasource/tidb.png similarity index 100% rename from "docs/\346\236\266\346\236\204\350\256\276\350\256\241/assets/datasource/tidb.png" rename to en/img/datasource/tidb.png diff --git a/website/static/img/favicon.svg b/en/img/favicon.svg similarity index 100% rename from website/static/img/favicon.svg rename to en/img/favicon.svg diff --git a/sqlparserx-ui/public/logo.png b/en/img/logo.png similarity index 100% rename from sqlparserx-ui/public/logo.png rename to en/img/logo.png diff --git a/website/static/img/logo.svg b/en/img/logo.svg similarity index 100% rename from website/static/img/logo.svg rename to en/img/logo.svg diff --git a/website/static/img/social-card.svg b/en/img/social-card.svg similarity index 100% rename from website/static/img/social-card.svg rename to en/img/social-card.svg diff --git a/en/index.html b/en/index.html new file mode 100644 index 0000000..0627a76 --- /dev/null +++ b/en/index.html @@ -0,0 +1,4 @@ +SqlParserX + + +
Java 8 · Druid 1.2.28 · 15+ dialects

SqlParserX

A multi-dialect SQL parsing engine and toolkit

SQL type detection · Table & column lineage · Table/DDL parsing · Function extraction · Parameter extraction and prepared SQL

  • 15Datasource dialects
  • 6Core capabilities
  • 2Unified layers
  • 100%Java 8 compatible
LineagePreview
SQL Input
INSERT INTO dwd.order_di
SELECT o.id, u.name, o.amount
FROM ods.orders o
JOIN ods.users u ON o.uid = u.id;
Parse Result
✓Table lineageods.orders → dwd.order_di
✓表血缘ods.users → dwd.order_di
✓Field lineageods.orders.amount → dwd.order_di.amount

15+ datasource dialects supported

MySQL
Hive
Doris
StarRocks
ClickHouse
Oracle
PostgreSQL
Spark
Trino
DM
OceanBase
OceanBase Oracle
SQL Server
Greenplum
TiDB
Capabilities

One engine for the full SQL parsing pipeline

From dialect syntax to business semantics — unified contract, unified result, ready to use.

SQL type detection

Detect query, DML, DDL, SHOW and EXPLAIN statement types.

Table & DDL parsing

Resolve real tables through JOINs, CTEs and subqueries, then parse fields, keys, partitions and buckets.

Table lineage

Trace data flow from source tables to targets in INSERT and CTAS statements.

Column lineage

Map source columns to targets across expressions, functions and CASE clauses.

Function parsing

Extract and deduplicate regular, aggregate and window function names across multiple statements.

Parameter extraction & prepared SQL

Extract dynamic SELECT parameters and produce JDBC placeholder SQL with ordered bindings.

Architecture

Two-layer unified extension architecture

The syntax layer extends dialect Lexer/Parser/AST on Druid; the business layer extends parsing, lineage and rewriting via the ISqlParser contract, aligned by DbType and AST.

  1. 1Feed SQL + DbType
  2. 2Syntax layer parses into Druid AST
  3. 3Business layer unified parsing
  4. 4Table / lineage / function / parameter results
SqlParserX 两层架构
Documentation

Version / i18n coexistence

Switch version (1.0 / Next) and language (简体中文 / English) from the navbar.

version

Ready to parse your SQL?

Get started in minutes with multi-dialect parsing, lineage tracing and prepared SQL.

\ No newline at end of file diff --git a/en/sitemap.xml b/en/sitemap.xml new file mode 100644 index 0000000..40b8ebd --- /dev/null +++ b/en/sitemap.xml @@ -0,0 +1 @@ +https://dtstack.github.io/SqlParserX/en/blogweekly0.5https://dtstack.github.io/SqlParserX/en/blog/archiveweekly0.5https://dtstack.github.io/SqlParserX/en/blog/authorsweekly0.5https://dtstack.github.io/SqlParserX/en/blog/authors/changluweekly0.5https://dtstack.github.io/SqlParserX/en/blog/origin-of-sqlparserxweekly0.5https://dtstack.github.io/SqlParserX/en/blog/tagsweekly0.5https://dtstack.github.io/SqlParserX/en/blog/tags/originweekly0.5https://dtstack.github.io/SqlParserX/en/communityweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/about/architectureweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/about/introductionweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/contributingweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/core/field-lineageweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/core/function-parseweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/core/parameter-compileweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/core/sql-typeweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/core/table-lineageweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/core/table-parseweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/introweekly0.5https://dtstack.github.io/SqlParserX/en/docs/next/quickstart/setupweekly0.5https://dtstack.github.io/SqlParserX/en/docs/about/architectureweekly0.5https://dtstack.github.io/SqlParserX/en/docs/about/introductionweekly0.5https://dtstack.github.io/SqlParserX/en/docs/contributingweekly0.5https://dtstack.github.io/SqlParserX/en/docs/core/field-lineageweekly0.5https://dtstack.github.io/SqlParserX/en/docs/core/function-parseweekly0.5https://dtstack.github.io/SqlParserX/en/docs/core/parameter-compileweekly0.5https://dtstack.github.io/SqlParserX/en/docs/core/sql-typeweekly0.5https://dtstack.github.io/SqlParserX/en/docs/core/table-lineageweekly0.5https://dtstack.github.io/SqlParserX/en/docs/core/table-parseweekly0.5https://dtstack.github.io/SqlParserX/en/docs/introweekly0.5https://dtstack.github.io/SqlParserX/en/docs/quickstart/setupweekly0.5https://dtstack.github.io/SqlParserX/en/weekly0.5 \ No newline at end of file diff --git "a/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en.png" "b/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en.png" new file mode 100644 index 0000000..75d03eb Binary files /dev/null and "b/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204-en.png" differ diff --git "a/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.png" "b/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.png" new file mode 100644 index 0000000..f612c0e Binary files /dev/null and "b/img/architecture/SqlParserX\344\270\244\345\261\202\346\236\266\346\236\204.png" differ diff --git a/website/static/img/banner.png b/img/banner.png similarity index 100% rename from website/static/img/banner.png rename to img/banner.png diff --git a/img/case/navigation.svg b/img/case/navigation.svg new file mode 100644 index 0000000..edf1ec1 --- /dev/null +++ b/img/case/navigation.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/case/version.svg b/img/case/version.svg new file mode 100644 index 0000000..baa2153 --- /dev/null +++ b/img/case/version.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + v1.0.0 + Next + diff --git a/website/static/img/datasource/clickhouse.png b/img/datasource/clickhouse.png similarity index 100% rename from website/static/img/datasource/clickhouse.png rename to img/datasource/clickhouse.png diff --git a/website/static/img/datasource/doris.png b/img/datasource/doris.png similarity index 100% rename from website/static/img/datasource/doris.png rename to img/datasource/doris.png diff --git a/website/static/img/datasource/greenplum.png b/img/datasource/greenplum.png similarity index 100% rename from website/static/img/datasource/greenplum.png rename to img/datasource/greenplum.png diff --git a/website/static/img/datasource/hive.png b/img/datasource/hive.png similarity index 100% rename from website/static/img/datasource/hive.png rename to img/datasource/hive.png diff --git a/website/static/img/datasource/mysql.png b/img/datasource/mysql.png similarity index 100% rename from website/static/img/datasource/mysql.png rename to img/datasource/mysql.png diff --git a/website/static/img/datasource/oceanbase.png b/img/datasource/oceanbase.png similarity index 100% rename from website/static/img/datasource/oceanbase.png rename to img/datasource/oceanbase.png diff --git a/website/static/img/datasource/postgresql.png b/img/datasource/postgresql.png similarity index 100% rename from website/static/img/datasource/postgresql.png rename to img/datasource/postgresql.png diff --git a/website/static/img/datasource/spark.png b/img/datasource/spark.png similarity index 100% rename from website/static/img/datasource/spark.png rename to img/datasource/spark.png diff --git a/website/static/img/datasource/sqlserver.png b/img/datasource/sqlserver.png similarity index 100% rename from website/static/img/datasource/sqlserver.png rename to img/datasource/sqlserver.png diff --git a/website/static/img/datasource/tidb.png b/img/datasource/tidb.png similarity index 100% rename from website/static/img/datasource/tidb.png rename to img/datasource/tidb.png diff --git a/img/favicon.svg b/img/favicon.svg new file mode 100644 index 0000000..1d21a12 --- /dev/null +++ b/img/favicon.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/website/static/img/logo.png b/img/logo.png similarity index 100% rename from website/static/img/logo.png rename to img/logo.png diff --git a/img/logo.svg b/img/logo.svg new file mode 100644 index 0000000..1d21a12 --- /dev/null +++ b/img/logo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/img/social-card.svg b/img/social-card.svg new file mode 100644 index 0000000..f87db38 --- /dev/null +++ b/img/social-card.svg @@ -0,0 +1,11 @@ + + + + + + + + + AcmeKit + 开源项目官网文档模板 + diff --git a/index.html b/index.html new file mode 100644 index 0000000..79603b6 --- /dev/null +++ b/index.html @@ -0,0 +1,4 @@ +SqlParserX + + +
Java 8 · Druid 1.2.28 · 15+ 方言

SqlParserX

多方言 SQL 解析引擎与工具包

SQL 类型识别 · 表与字段血缘 · 表/DDL 解析 · 函数提取 · 参数提取与预编译

  • 15数据源方言
  • 6核心解析能力
  • 2层统一架构
  • 100%Java 8 兼容
LineagePreview
SQL 输入
INSERT INTO dwd.order_di
SELECT o.id, u.name, o.amount
FROM ods.orders o
JOIN ods.users u ON o.uid = u.id;
解析结果
✓表血缘ods.orders → dwd.order_di
✓表血缘ods.users → dwd.order_di
✓字段血缘ods.orders.amount → dwd.order_di.amount

已适配 15+ 数据源方言

MySQL
Hive
Doris
StarRocks
ClickHouse
Oracle
PostgreSQL
Spark
Trino
DM
OceanBase
OceanBase Oracle
SQL Server
Greenplum
TiDB
核心能力

一个引擎,覆盖 SQL 解析全链路

从方言语法到业务语义,统一契约、统一结果,开箱即用。

SQL 类型识别

识别查询、写入、建表、SHOW 与 EXPLAIN 等语句类型。

真实表与建表结构

穿透 JOIN、CTE 与子查询,解析字段、键、分区及分桶结构。

表级血缘

从 INSERT 与 CTAS 追溯来源表到目标表的数据流转关系。

字段级血缘

分析表达式、函数与 CASE 中来源字段到目标字段的映射。

函数名提取

提取普通、聚合与窗口函数名称,支持多语句解析与去重。

参数提取与预编译

提取 SELECT 动态参数,生成 JDBC 占位符 SQL 与有序绑定值。

架构设计

两层统一扩展架构

语法层基于 Druid 扩展方言 Lexer / Parser / AST,业务层通过 ISqlParser 契约扩展表解析、血缘与改写逻辑,两层由 DbType 与 AST 对齐。

  1. 1接入 SQL + DbType
  2. 2语法层解析为 Druid AST
  3. 3业务层统一解析
  4. 4表 / 血缘 / 函数 / 参数解析结果
SqlParserX 两层架构
文档站

版本 / 多语言共存

右侧导航栏即可切换版本(1.0 / Next)与语言(简体中文 / English),互不干扰。

version

准备好开始解析你的 SQL 了吗?

几分钟完成接入,体验多方言解析、血缘追溯与参数预编译能力。

\ No newline at end of file diff --git a/pom.xml b/pom.xml deleted file mode 100644 index fbbb1ab..0000000 --- a/pom.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - 4.0.0 - - com.dtstack - SqlParserX - 1.0-SNAPSHOT - pom - - sqlparserx-engine - sqlparserx-web - - - - 8 - 8 - UTF-8 - - false - - - - - - com.google.guava - guava - 30.1-jre - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - ${maven.compiler.source} - ${maven.compiler.target} - - - - - - - - com.diffplug.spotless - spotless-maven-plugin - 2.30.0 - - - - - ${session.executionRootDirectory}/config/license-header.txt - package - - - - ${session.executionRootDirectory}/config/eclipse-formatter.xml - - - - - - com.dtstack,,javax,java,scala,\# - - - - - - pom.xml - - - 4 - - - - - - - format - - - - - check - - - process-sources - - - - - - diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..5cb13b2 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://dtstack.github.io/SqlParserX/blogweekly0.5https://dtstack.github.io/SqlParserX/blog/archiveweekly0.5https://dtstack.github.io/SqlParserX/blog/authorsweekly0.5https://dtstack.github.io/SqlParserX/blog/authors/changluweekly0.5https://dtstack.github.io/SqlParserX/blog/origin-of-sqlparserxweekly0.5https://dtstack.github.io/SqlParserX/blog/tagsweekly0.5https://dtstack.github.io/SqlParserX/blog/tags/originweekly0.5https://dtstack.github.io/SqlParserX/communityweekly0.5https://dtstack.github.io/SqlParserX/docs/next/about/architectureweekly0.5https://dtstack.github.io/SqlParserX/docs/next/about/introductionweekly0.5https://dtstack.github.io/SqlParserX/docs/next/contributingweekly0.5https://dtstack.github.io/SqlParserX/docs/next/core/field-lineageweekly0.5https://dtstack.github.io/SqlParserX/docs/next/core/function-parseweekly0.5https://dtstack.github.io/SqlParserX/docs/next/core/parameter-compileweekly0.5https://dtstack.github.io/SqlParserX/docs/next/core/sql-typeweekly0.5https://dtstack.github.io/SqlParserX/docs/next/core/table-lineageweekly0.5https://dtstack.github.io/SqlParserX/docs/next/core/table-parseweekly0.5https://dtstack.github.io/SqlParserX/docs/next/introweekly0.5https://dtstack.github.io/SqlParserX/docs/next/quickstart/setupweekly0.5https://dtstack.github.io/SqlParserX/docs/about/architectureweekly0.5https://dtstack.github.io/SqlParserX/docs/about/introductionweekly0.5https://dtstack.github.io/SqlParserX/docs/contributingweekly0.5https://dtstack.github.io/SqlParserX/docs/core/field-lineageweekly0.5https://dtstack.github.io/SqlParserX/docs/core/function-parseweekly0.5https://dtstack.github.io/SqlParserX/docs/core/parameter-compileweekly0.5https://dtstack.github.io/SqlParserX/docs/core/sql-typeweekly0.5https://dtstack.github.io/SqlParserX/docs/core/table-lineageweekly0.5https://dtstack.github.io/SqlParserX/docs/core/table-parseweekly0.5https://dtstack.github.io/SqlParserX/docs/introweekly0.5https://dtstack.github.io/SqlParserX/docs/quickstart/setupweekly0.5https://dtstack.github.io/SqlParserX/weekly0.5 \ No newline at end of file diff --git a/sqlparserx-engine/config/eclipse-formatter.xml b/sqlparserx-engine/config/eclipse-formatter.xml deleted file mode 100644 index ddf190f..0000000 --- a/sqlparserx-engine/config/eclipse-formatter.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/sqlparserx-engine/config/license-header.txt b/sqlparserx-engine/config/license-header.txt deleted file mode 100644 index 2379dda..0000000 --- a/sqlparserx-engine/config/license-header.txt +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git a/sqlparserx-engine/pom.xml b/sqlparserx-engine/pom.xml deleted file mode 100644 index c4c7c13..0000000 --- a/sqlparserx-engine/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - 4.0.0 - - - com.dtstack - SqlParserX - 1.0-SNAPSHOT - - - sqlparserx-engine - pom - - - sqlparserx-syntax - sqlparserx-core - - - - 8 - 8 - UTF-8 - - - - - - - com.alibaba - druid - 1.2.28 - - - - org.apache.commons - commons-lang3 - 3.12.0 - - - junit - junit - 4.13.2 - test - - - - diff --git a/sqlparserx-engine/sqlparserx-core/README.md b/sqlparserx-engine/sqlparserx-core/README.md deleted file mode 100644 index 08374e4..0000000 --- a/sqlparserx-engine/sqlparserx-core/README.md +++ /dev/null @@ -1,121 +0,0 @@ -# 快速使用指南 - -sqlparserx-core 是 SqlParserX 的核心解析模块。它在 Druid 语法树的基础上,针对不同数据源提供了统一的扩展解析能力:只需传入 SQL 与数据源类型,即可获得表、函数、字段血缘、表血缘等结构化结果。 - -## 特性 - -- **面向数据源扩展**:基于数据源实现差异化解析,同一套 API 覆盖多方言 SQL。 -- **统一解析能力**,包含: - - 解析表 - - 解析函数 - - 解析字段血缘 - - 解析表血缘 - -## 使用示范 - -```java -package com.dtstack.sqlparserx.core; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; -import org.junit.Test; - -import java.util.*; - -public class READMETest { - @Test - public void demoTest() { - // 准备sql - String sql = getSql(); - // 1、获取到sqlparser解析器 - // 方式一:工厂方式获取 - ISqlParser sqlParser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - // 方式二:直接new -// MySqlParser mySqlParser = new MySqlParser(); - - // 2、实现解析功能 - // 2.1、解析表 - ParseTableResult parseTableResult = sqlParser.parseTables(sql); - System.out.println("====解析表===="); - System.out.println(parseTableResult.getMainTable());// 获取主表 - System.out.println(parseTableResult.getAllTableName()); // 获取解析到的所有表 -// Set allTables = parseTableResult.getAllTables(); -// for (Table allTable : allTables) { -// System.out.println(allTable.getCatalog()); -// System.out.println(allTable.getDb()); -// System.out.println(allTable.getName()); -// } - - // 2.2、解析字段血缘 - System.out.println("\n====解析字段血缘===="); - // 针对select * from table 场景,可传入tableColumnsMap封装真实的表字段信息 - Map> tableColumnsMap = new HashMap>(){ - { - this.put("users", - Arrays.asList(new Column("id", 0) - , new Column("name", 1) - )); - this.put("orders", - Arrays.asList(new Column("amount", 0) - , new Column("id", 1) - )); - } - }; - ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap); - columnLineageResult.printColumnLineage(); - - // 2.3、解析表血缘 - System.out.println("\n====解析表血缘===="); - TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql); - List tableLineages = tableLineageResult.getTableLineages(); - System.out.println(tableLineages); - - // 2.4、解析函数 - System.out.println("\n====解析函数===="); - Set functions = sqlParser.parseFunction(sql); - System.out.println(functions); - } - - public String getSql() { - return "CREATE TABLE user_order_summary AS\n" + - "SELECT\n" + - " u.id as user_id,\n" + - " u.name,\n" + - " SUM(o.amount) as total_amount,\n" + - " COUNT(o.id) as order_count\n" + - "FROM users u JOIN orders o ON u.id = o.user_id\n" + - "GROUP BY u.id, u.name"; - } - -} -``` - -# 关于分层能力扩展 - -SqlParserX 采用分层设计,便于解耦与按数据源定制解析逻辑: - -- **语法解析层**:位于 `sqlparserx-syntax` 模块,基于 Druid 负责 SQL 语法、Lexer/Parser 和 AST 解析扩展。 -- **解析业务层**:位于本模块(`sqlparserx-core`),基于语法层输出的 AST 负责面向业务场景的解析能力。 - -分层的目的: - -1. 解耦:语法解析与业务解析职责分离。 -2. 可扩展:不同数据源可重写相应的解析实现。 - -主要场景:当 `sqlparserx-syntax` 语法层针对某个数据源扩展了 Lexer、Parser 或 AST 节点时,`sqlparserx-core` 中对应数据源的业务解析实现也应同步扩展维护。 - -## 扩展示范:解析表操作 - -以 MySQL 为例,语法解析层在 `sqlparserx-syntax` 中自定义了 `MySqlRenameTableStatement`,而通用的 `ParseTableClient` 并未处理该节点。此时可在如下包目录下: - -``` -com.dtstack.sqlparserx.core.parser.base.table.client.mysql -``` - -自定义一个 `MySqlParseTableClient` 类,继承 `ParseTableClient` 并重写 `parseTables` 方法,额外对 `MySqlRenameTableStatement` 进行解析处理即可。 diff --git a/sqlparserx-engine/sqlparserx-core/pom.xml b/sqlparserx-engine/sqlparserx-core/pom.xml deleted file mode 100644 index fa63f22..0000000 --- a/sqlparserx-engine/sqlparserx-core/pom.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - 4.0.0 - - - com.dtstack - sqlparserx-engine - 1.0-SNAPSHOT - - - sqlparserx-core - - - 8 - 8 - UTF-8 - - false - - - - - com.dtstack - sqlparserx-syntax - ${project.version} - - - junit - junit - test - - - org.slf4j - slf4j-api - 1.7.26 - - - org.projectlombok - lombok - 1.18.38 - - - - - - - - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 3.2.2 - - - ${skipTests} - - - **/TmpDruidTest.java - **/READMETest.java - - - - - - - diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/config/Constant.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/config/Constant.java deleted file mode 100644 index 3b628a2..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/config/Constant.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.config; - -public class Constant { - - public static final String ALL = "*"; - - /** - * JDBC 预编译占位符:变量参数改写为 ? 后统一使用该符号 - */ - public static final String PREPARED_PLACEHOLDER = "?"; - - /** - * 若是某个字段无来自某个表,此时该字段的table则为" ",最终血缘会完成过滤 - * 举例:create table new_table select id, '0' as num from table - */ - public static final String NO_RELATION_TABLE = " "; - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/domain/Pair.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/domain/Pair.java deleted file mode 100644 index b4d0730..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/domain/Pair.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.domain; - -import java.util.Objects; - -/** - * 通用的键值对容器,可存储任意两个类型的值 - * @param 第一个值的类型 - * @param 第二个值的类型 - */ -public class Pair { - private final K first; - private final V second; - - public Pair(K first, V second) { - this.first = first; - this.second = second; - } - - public K getFirst() { - return first; - } - - public V getSecond() { - return second; - } - - @Override - public String toString() { - return "Pair{" + - "first=" + first + - ", second=" + second + - '}'; - } - - // 可选:实现 equals 和 hashCode 方法,方便比较 - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - Pair pair = (Pair) o; - return Objects.equals(first, pair.first) && - Objects.equals(second, pair.second); - } - - @Override - public int hashCode() { - return Objects.hash(first, second); - } - - // 提供一个静态工厂方法,方便构造 Pair - public static Pair of(K first, V second) { - return new Pair<>(first, second); - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/ColumnTypeEnum.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/ColumnTypeEnum.java deleted file mode 100644 index e4177b4..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/ColumnTypeEnum.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.enums; - -public enum ColumnTypeEnum { - - // 属于字段(默认) - BELONGS_TO_FIELD("BELONGS_TO_FIELD"), - //字面量值 - LITERAL_VALUE("LITERAL_VALUE"); - - private final String fieldName; - - // 构造函数 - ColumnTypeEnum(String fieldName) { - this.fieldName = fieldName; - } - - // 获取字段名称 - public String getFieldName() { - return fieldName; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/ParamOperatorEnum.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/ParamOperatorEnum.java deleted file mode 100644 index 2304e49..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/ParamOperatorEnum.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.enums; - -import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; - -/** - * @description 参数解析操作符枚举 - * @author changlu - * @date 2026/10/12 15:20 - */ -public enum ParamOperatorEnum { - EQ("="), NE("<>"), GT(">"), GTE(">="), LT("<"), LTE("<="), IS_NULL("is null"), IS_NOT_NULL("is not null"), LIKE( - "like"), NOT_LIKE("not like"), IN("in"), NOT_IN("not in"), BETWEEN("between"), NOT_BETWEEN( - "not between"), CUSTOM("CUSTOM"), CASE_WHEN("CASE_WHEN"), ORDER_BY_CASE_WHEN( - "ORDER_BY_CASE_WHEN"), SELECT_LIST("API_PARAM_IN_SELECT_LIST"), UNKNOWN("UNKNOWN"); - - private final String symbol; - - ParamOperatorEnum(String symbol) { - this.symbol = symbol; - } - public String getSymbol() { - return symbol; - } - - public static ParamOperatorEnum ofSymbol(String symbol) { - if (symbol != null) { - for (ParamOperatorEnum value : values()) { - if (value.symbol.equalsIgnoreCase(symbol.trim())) - return value; - } - } - return UNKNOWN; - } - - public static ParamOperatorEnum ofDruid(SQLBinaryOperator operator) { - return operator == null ? UNKNOWN : ofSymbol(operator.getName()); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/SQLParseStrategy.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/SQLParseStrategy.java deleted file mode 100644 index 7a84c7c..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/SQLParseStrategy.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.enums; - -/** - * SQL解析策略配置(包含列名匹配、表名匹配等可扩展策略)通用场景 - */ -public enum SQLParseStrategy { - // ===== 列名匹配策略 ===== - /** - * 列名忽略大小写匹配 - */ - COLUMN_IGNORE_CASE, - /** - * 特性:子查询字段忽略大小写匹配 - * 示范:select的字段匹配子查询的字段时忽略大小写【doris支持这种写法】 - * insert into new_table - * select id, name from ( - * select ID, NAME - * from table1 - * ) t1 - */ - SUBQUERY_COLUMN_IGNORE_CASE, - - // ===== CTE 相关策略 ===== - /** - * 特性:CTE 支持向前引用(Forward Reference) - * 当前支持CTE 支持向前引用数据源类型:Doris。 - * - * 示范:WITH 子句中允许后面的 CTE 引用前面未定义的 CTE - * WITH - * t1 AS (SELECT * FROM t2), -- 引用了后面定义的 t2 - * t2 AS (SELECT * FROM table) - * SELECT * FROM t1 - * - * 注:某些数据库(如 SQL Server)支持这种写法,但标准的 SQL 和大多数数据库(如 PostgreSQL、MySQL)不支持。 - * 开启此策略后,解析器会自动处理 CTE 的依赖关系。 - */ - CTE_FORWARD_REFERENCE, - ; - - SQLParseStrategy() { - mask = (1 << ordinal()); - } - - public final int mask; - - /** - * 检查指定策略是否启用 - * @param strategies 当前策略组合值(位掩码) - * @param strategy 要检查的策略枚举 - * @return 当策略已启用时返回true - * @throws IllegalArgumentException 如果strategy为null - */ - public static boolean isEnabled(int strategies, SQLParseStrategy strategy) { - return (strategies & strategy.mask) != 0; - } - - /** - * 修改策略状态 - * @param strategies 原始策略组合值 - * @param strategy 要修改的策略 - * @param enable 是否启用该策略 - * @return 更新后的策略组合值 - * @throws IllegalArgumentException 如果strategy为null - */ - public static int config(int strategies, SQLParseStrategy strategy, boolean enable) { - return enable ? strategies | strategy.mask : strategies & ~strategy.mask; - } - - /** - * 创建策略组合 - * @param features 要组合的策略数组 - * @return 组合后的策略位掩码 - * (空输入返回DEFAULT_STRATEGIES,null输入抛出异常) - * @throws IllegalArgumentException 如果strategies数组为null - */ - public static int of(SQLParseStrategy... features) { - if (features == null) - return 0; - - int value = 0; - for (SQLParseStrategy s : features) { - value |= s.mask; - } - return value; - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/SqlParserDataSourceType.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/SqlParserDataSourceType.java deleted file mode 100644 index 1486138..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/SqlParserDataSourceType.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.enums; - -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.clickhouse.ClickHouseSqlParser; -import com.dtstack.sqlparserx.core.parser.dm.DmSqlParser; -import com.dtstack.sqlparserx.core.parser.doris.DorisSqlParser; -import com.dtstack.sqlparserx.core.parser.greenplum.GreenplumSqlParser; -import com.dtstack.sqlparserx.core.parser.hive.HiveSqlParser; -import com.dtstack.sqlparserx.core.parser.mysql.MySqlParser; -import com.dtstack.sqlparserx.core.parser.oceanbase.OceanBaseSqlParser; -import com.dtstack.sqlparserx.core.parser.oceanbase_oracle.OceanBaseOracleSqlParser; -import com.dtstack.sqlparserx.core.parser.oracle.OracleSqlParser; -import com.dtstack.sqlparserx.core.parser.postgresql.PostgresqlSqlParser; -import com.dtstack.sqlparserx.core.parser.spark.SparkSqlParser; -import com.dtstack.sqlparserx.core.parser.sqlserver.SqlServerSqlParser; -import com.dtstack.sqlparserx.core.parser.starrocks.StarrocksSqlParser; -import com.dtstack.sqlparserx.core.parser.tidb.TidbSqlParser; -import com.dtstack.sqlparserx.core.parser.trino.TrinoSqlParser; - -import com.alibaba.druid.DbType; - -import java.util.function.Supplier; - -/** - * SqlParserX Core 业务解析层支持的数据源类型。 - * - *

该枚举是 Core 支持范围及解析器初始化方式的唯一来源。Druid {@link DbType} - * 仅作为底层 SQL 方言标识,不再决定 SqlParserX 支持哪些数据源。

- */ -public enum SqlParserDataSourceType { - - MYSQL(1, DbType.mysql, MySqlParser::new), HIVE(2, DbType.hive, HiveSqlParser::new), TRINO(3, DbType.trino, - TrinoSqlParser::new), ORACLE(4, DbType.oracle, OracleSqlParser::new), GREENPLUM(5, DbType.greenplum, - GreenplumSqlParser::new), TIDB(6, DbType.tidb, TidbSqlParser::new), POSTGRESQL(7, DbType.postgresql, - PostgresqlSqlParser::new), SQLSERVER(8, DbType.sqlserver, - SqlServerSqlParser::new), STARROCKS(9, DbType.starrocks, - StarrocksSqlParser::new), DORIS(10, DbType.doris, - DorisSqlParser::new), OCEANBASE(11, DbType.oceanbase, - OceanBaseSqlParser::new), OCEANBASE_ORACLE(12, - DbType.oceanbase_oracle, - OceanBaseOracleSqlParser::new), DM(13, DbType.dm, - DmSqlParser::new), CLICKHOUSE(14, - DbType.clickhouse, - ClickHouseSqlParser::new), SPARK(15, - DbType.spark, - SparkSqlParser::new); - - private final int value; - private final DbType dbType; - private final Supplier parserSupplier; - - SqlParserDataSourceType(int value, DbType dbType, Supplier parserSupplier) { - this.value = value; - this.dbType = dbType; - this.parserSupplier = parserSupplier; - } - - public int getValue() { - return value; - } - - public DbType getDbType() { - return dbType; - } - - public ISqlParser createSqlParser() { - return parserSupplier.get(); - } - - /** - * 将底层 Druid 方言转换为 Core 支持的数据源类型。 - * - * @return 匹配的数据源类型;Core 不支持或参数为空时返回 null - */ - public static SqlParserDataSourceType fromDbType(DbType dbType) { - if (dbType == null) { - return null; - } - for (SqlParserDataSourceType dataSourceType : values()) { - if (dataSourceType.dbType == dbType) { - return dataSourceType; - } - } - return null; - } - - /** - * Find the core data source type by its stable numeric value. - * - * @return matching data source type; {@code null} when the value is unknown - */ - public static SqlParserDataSourceType fromValue(Integer value) { - if (value == null) { - return null; - } - for (SqlParserDataSourceType dataSourceType : values()) { - if (dataSourceType.value == value) { - return dataSourceType; - } - } - return null; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/SqlType.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/SqlType.java deleted file mode 100644 index 3c2c672..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/SqlType.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.enums; - -/** - * @description SQL 业务操作类型。 - * 仅收录可由 {@code ISqlParser#parseSqlType} 基于 Druid 语法树判定出的类型; - * 无法识别的一律返回 {@link #OTHER}。{@code type} 为对外业务标识串,{@code value} 为整型编码。 - * @author changlu - * @date 2026/10/12 17:40 - */ -public enum SqlType { - - // 查询 - QUERY("select", 44), WITH_QUERY("with_query", 49), QUERY_NO_FROM("xxx", 48), - - // 数据操作 - INSERT("insert", 41), UPDATE("update", 45), DELETE("delete", 46), TRUNCATE("truncate", 43), MERGE_INTO( - "merge_into", 50), BEGIN_END("begin_end", 51), - - // 结构操作 - CREATE("create", 101), CREATE_AS("create_as", 103), CREATE_LIKE("create_like", 102), CREATE_TEMP("create_temp", - 200), DROP("drop", 104), ALTER("alter", 105), ALTERTABLE_RENAME("altertable_rename", - 106), ALTERTABLE_RENAMECOL("altertable_renamecol", 113), ALTERTABLE_ADDCOLS("altertable_addcols", - 114), ALTERTABLE_REPLACECOLS("altertable_replacecols", - 115), ALTERTABLE_ADDPARTS("altertable_addparts", - 109), ALTERTABLE_DROPPARTS("altertable_dropparts", - 111), ALTERTABLE_RENAMEPART("altertable_renamepart", - 110), COMMENT_ON("comment_on", 200), - - // 描述 / SHOW - DESC_TABLE("desc_table", 176), DATABASE_DESC("databases_desc", 13), SHOW("show", 180), SHOW_TABLES("show_tables", - 171), SHOW_CREATETABLE("show_createtable", 172), SHOW_COLUMNS("show_columns", 175), SHOW_FUNCTION( - "show_function", 25), SHOW_MATERIALIZED_VIEW("show_materialized_view", - 406), SHOW_CREATE_MATERIALIZED_VIEW( - "show_create_materialized_view", 407), EXPLAIN("explain", 177), - - // 视图 / 物化视图 - CREATE_VIEW("create_view", 401), CREATE_MATERIALIZED_VIEW("create_materialized_view", - 403), DROP_MATERIALIZED_VIEW("drop_materialized_view", 404), ALTER_MATERIALIZED_VIEW( - "alter_materialized_view", 405), REFRESH_MATERIALIZED_VIEW("refresh_materialized_view", 408), - - // 函数 / 过程 - CREATE_FUNCTION("create_function", 22), DROP_FUNCTION("drop_function", 23), PROCEDURE_EXEC("procedure_exec", 410), - - // 数据库 - DATABASE_CREATE("databases_create", 11), DATABASE_DROP("databases_drop", 12), DATABASE_SHOW("databases_show", 14), - - // 兜底 - OTHER("other", 500); - - private final String type; - private final Integer value; - - SqlType(String type, Integer value) { - this.type = type; - this.value = value; - } - - public String getType() { - return type; - } - - public Integer getValue() { - return value; - } - - /** - * 按业务标识串解析(忽略大小写) - */ - public static SqlType getByType(String type) { - if (type != null) { - for (SqlType sqlType : values()) { - if (sqlType.type.equalsIgnoreCase(type.trim())) { - return sqlType; - } - } - } - return OTHER; - } - - /** - * 按整型编码解析 - */ - public static SqlType getByValue(Integer value) { - if (value != null) { - for (SqlType sqlType : values()) { - if (sqlType.value.equals(value)) { - return sqlType; - } - } - } - return OTHER; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/TableNameMatchStrategy.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/TableNameMatchStrategy.java deleted file mode 100644 index e1be005..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/enums/TableNameMatchStrategy.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.enums; - -public enum TableNameMatchStrategy { - DEFAULT_FROM_TABLE, // 策略1:默认使用from表名 - CHECK_COLUMN_EXISTS // 策略2:根据外界元数据传入表字段来检查列是否存在 -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IColumnLineageClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IColumnLineageClient.java deleted file mode 100644 index 91bb82c..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IColumnLineageClient.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser; - -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; - -import com.alibaba.druid.sql.ast.SQLStatement; - -public interface IColumnLineageClient { - - ColumnLineageResult parseColumnLineages(SQLStatement sqlStatement); - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IParseParameterClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IParseParameterClient.java deleted file mode 100644 index f946e9c..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IParseParameterClient.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser; - -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.DataTypeColumn; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ParamInfo; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult; - -import com.alibaba.druid.sql.ast.SQLStatement; - -import java.util.List; -import java.util.Map; - -/** - * 参数相关sql解析client器 - * 历史来源:特定针对api场景提供下面两个场景 - * 预编译场景:buildSqlByPrepareCompile - * 非预编译场景(解析sql中带有变量场景):parseParameterSql - */ -public interface IParseParameterClient { - - /** - * 解析带变量的sql场景 - * @param stmt sql语法树 - * @param isIgnoreSyntaxCheck Boolean - * @param tableColumnsMap Map> - * @return ParseParameterResult - */ - ParseParameterResult parseParameterSql(SQLStatement stmt, Boolean isIgnoreSyntaxCheck, - Map> tableColumnsMap); - - /** - * 生成预编译场景处理带变量sql - * @param stmt sql语法树 - * @param inParams Map 客户输入参数值map - * @param columns Map 参数信息 - * @return PrepareCompileResult 构建预编译处理结果集合 - */ - PrepareCompileResult buildSqlByPrepareCompile(SQLStatement stmt, Map inParams, - Map columns); - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IParseSqlTypeClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IParseSqlTypeClient.java deleted file mode 100644 index 55c072e..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IParseSqlTypeClient.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser; - -import com.dtstack.sqlparserx.core.enums.SqlType; - -import com.alibaba.druid.sql.ast.SQLStatement; - -/** - * @description SQL 类型解析 Client,基于 Druid 语法树判定业务类型 - * @author changlu - * @date 2026/10/12 17:40 - */ -public interface IParseSqlTypeClient { - - /** - * 根据 Druid 语法树解析 SQL 类型 - * @param stmt Druid 语法树 - * @return 业务 SQL 类型,无法识别时返回 {@link SqlType#OTHER} - */ - SqlType parseSqlType(SQLStatement stmt); -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IParseTableClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IParseTableClient.java deleted file mode 100644 index e899734..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/IParseTableClient.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser; - -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.sql.ast.SQLStatement; - -public interface IParseTableClient { - - default ParseTableResult parseTables(SQLStatement stmt) { - return null; - } - - default ParseCreateTableResult parseCreateTable(SQLStatement stmt) { - return null; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/ISqlFilterClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/ISqlFilterClient.java deleted file mode 100644 index b1c8d06..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/ISqlFilterClient.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser; - -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.RowLevelPermissionHandler; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo.RowLevelPermissionFilterParam; - -import java.util.LinkedHashSet; -import java.util.List; - -/** - * SQL过滤相关的服务接口 - * 按照输出参数排序过滤:filterSortSelectField - * 列级权限过滤:getColumnLevelPermissionSql - * 行级权限管控:getRowLevelPermissionSql - */ -public interface ISqlFilterClient { - - /** - * 列级权限过滤 - * 注意:过滤select的输出参数以及按照outputParams顺序进行排序。 - * 入参:select name1, name, id from table, outputparams = [id, name] - * 输出:select id, name from table - * @param sql sql - * @param outputParams 应当输出的参数名 - * @param filterFiled 过滤属性 - * @return sql保留outputParams中指定的参数名返回,没有的参数名则从sql中剔除 - */ - String filterSortSelectField(String sql, LinkedHashSet outputParams, List filterFiled); - - /** - * 行级权限过滤 - * @param sql 原始SQL语句 - * @param permissionParams 权限过滤参数列表 - * @return 返回结果中的standardSql为生成的行级权限过滤的SQL语句 - * @throws Exception 如果发生异常 - */ - String getRowLevelPermissionSql(String sql, List permissionParams); - - /** - * 获取行级权限执行器 - * @param - * @return RowLevelPermissionHandler - */ - RowLevelPermissionHandler getRowLevelPermissionHandler(); - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/ISqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/ISqlParser.java deleted file mode 100644 index 9043032..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/ISqlParser.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.enums.SqlType; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageClient; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageClient; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.parameter.BaseParseParameterClient; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.DataTypeColumn; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ParamInfo; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.BaseSqlFilterClient; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo.RowLevelPermissionFilterParam; -import com.dtstack.sqlparserx.core.parser.base.sqltype.BaseParseSqlTypeClient; -import com.dtstack.sqlparserx.core.parser.base.table.BaseParseTableClient; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; - -import java.util.List; -import java.util.Map; -import java.util.Set; - -public interface ISqlParser { - - /** - * 解析列血缘 - * @param sql sql sql - * @param tableColumnsMap 元数据表及字段映射关系 - * @return 字段血缘结果 - */ - ColumnLineageResult parseColumnLineages(String sql, Map> tableColumnsMap); - - /** - * 解析列血缘 - * @param sqlStatement druid语法树 - * @param tableColumnsMap 元数据表及字段映射关系 - * @return 字段血缘结果 - */ - ColumnLineageResult parseColumnLineages(SQLStatement sqlStatement, Map> tableColumnsMap); - - /** - * 解析表血缘 - * @param sql sql sql - * @return 表血缘结果 - */ - TableLineageResult parseTableLineages(String sql); - - /** - * 解析表血缘 - * @param sqlStatement druid语法树 - * @return 表血缘结果 - */ - TableLineageResult parseTableLineages(SQLStatement sqlStatement); - - /** - * 解析真实表 - * @param sql String - * @return ParseTableResult 解析表结果 - */ - ParseTableResult parseTables(String sql); - - /** - * 解析真实表 - * @param sqlStatement druid语法树 - * @return ParseTableResult 解析表结果 - */ - ParseTableResult parseTables(SQLStatement sqlStatement); - - /** - * 解析create table语句 - * @param sql String sql - * @return ParseCreateTableResult 解析结果 - */ - ParseCreateTableResult parseCreateTable(String sql); - - /** - * 解析sql中的函数 - * @param sql String sql - * @return Set 函数集合 - */ - Set parseFunction(String sql); - - /** - * 根据 SQL 文本解析 SQL 类型 - * @param sql String sql - * @return SqlType 业务SQL类型 - */ - SqlType parseSqlType(String sql); - - /** - * 根据 Druid 语法树解析 SQL 类型 - * @param sqlStatement druid语法树 - * @return SqlType 业务SQL类型 - */ - SqlType parseSqlType(SQLStatement sqlStatement); - - /** - * 解析带变量的sql场景 - * @param sql sql语法树 - * @param isIgnoreSyntaxCheck Boolean - * @param tableColumnsMap Map> - * @return ParseParameterResult - */ - ParseParameterResult parseParameterSql(String sql, Boolean isIgnoreSyntaxCheck, - Map> tableColumnsMap); - - /** - * 预编译场景处理带变量sql - * @param sql sql语法树 - * @param inParams Map 客户输入参数值map - * @param columns Map 参数信息 - * @return PrepareCompileResult 构建预编译处理结果集合 - */ - PrepareCompileResult buildSqlByPrepareCompile(String sql, Map inParams, - Map columns); - - /** - * 行级权限过滤 - * @param sql 原始SQL语句 - * @param permissionParams 权限过滤参数列表 - * @return 返回结果中的standardSql为生成的行级权限过滤的SQL语句 - * @throws Exception 如果发生异常 - */ - String getRowLevelPermissionSql(String sql, List permissionParams); - - default IParseTableClient getParseTableClient() { - return new BaseParseTableClient(); - } - - default IParseSqlTypeClient getParseSqlTypeClient() { - return new BaseParseSqlTypeClient(); - } - - default IColumnLineageClient getColumnLineageClient(Map> tableColumnsMap) { - return new ColumnLineageClient(tableColumnsMap); - } - - default ITableLineageClient getTableLineageClient() { - return new TableLineageClient(); - } - - default ISqlFilterClient getSqlFilterClient() { - return new BaseSqlFilterClient(getDbType()); - } - - default IParseParameterClient getParseParameterClient() { - return new BaseParseParameterClient(SqlParserDataSourceType.fromDbType(getDbType())); - } - - default DbType getDbType() { - // null -> SQLStatementParser - return null; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/ITableLineageClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/ITableLineageClient.java deleted file mode 100644 index 9a99540..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/ITableLineageClient.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser; - -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; - -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.statement.SQLCreateTableStatement; -import com.alibaba.druid.sql.ast.statement.SQLInsertStatement; - -public interface ITableLineageClient { - - TableLineageResult parseTableLineages(SQLStatement sqlStatement); - - void parseInsertSQL(SQLInsertStatement sqlStatement); - - void parseCreateSQL(SQLCreateTableStatement sqlStatement); - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/SqlParserFactory.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/SqlParserFactory.java deleted file mode 100644 index 02be3f4..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/SqlParserFactory.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -import java.util.Collections; -import java.util.EnumSet; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -/** - * 可根据不同数据源类型来完成不同组件的使用 - */ -public class SqlParserFactory { - - /** - * 当前核心库实际支持的数据源集合。 - */ - private static final Set SUPPORTED_DATA_SOURCE_TYPES = Collections.unmodifiableSet(EnumSet - .allOf(SqlParserDataSourceType.class)); - - private static final Set SUPPORTED_DB_TYPES = buildSupportedDbTypes(); - - /** 每种数据源对应一个解析器实例,首次获取时再创建。 */ - private static final Map SQL_PARSER_CACHE = new ConcurrentHashMap<>(); - - private static Set buildSupportedDbTypes() { - Set dbTypes = new HashSet<>(); - for (SqlParserDataSourceType dataSourceType : SUPPORTED_DATA_SOURCE_TYPES) { - dbTypes.add(dataSourceType.getDbType()); - } - return Collections.unmodifiableSet(dbTypes); - } - - /** - * 根据 SqlParserX Core 自有的数据源类型创建业务解析器。 - * - * @param dataSourceType SqlParserX 支持的数据源类型 - * @return 对应数据源的业务解析器 - * @throws IllegalArgumentException 数据源类型为空时抛出 - */ - public static ISqlParser getSqlParser(SqlParserDataSourceType dataSourceType) { - if (dataSourceType == null) { - throw new IllegalArgumentException("SqlParser data source type must not be null"); - } - return SQL_PARSER_CACHE.computeIfAbsent(dataSourceType, SqlParserDataSourceType::createSqlParser); - } - - public static boolean supports(SqlParserDataSourceType dataSourceType) { - return dataSourceType != null && SUPPORTED_DATA_SOURCE_TYPES.contains(dataSourceType); - } - - public static Set getSupportedDataSourceTypes() { - return SUPPORTED_DATA_SOURCE_TYPES; - } - - /** - * 判断指定的 Druid DbType 是否为核心库实际支持的方言(有独立解析器实现,非回退默认解析器) - * @param dbType DbType - * @return true=支持 - */ - @Deprecated - public static boolean supports(DbType dbType) { - return SqlParserDataSourceType.fromDbType(dbType) != null; - } - - /** - * 获取核心库实际支持的方言集合(不可变) - * @return Set - */ - @Deprecated - public static Set getSupportedDbTypes() { - return SUPPORTED_DB_TYPES; - } - - /** - * 基于 Druid DbType 的兼容入口。新代码请使用 - * {@link #getSqlParser(SqlParserDataSourceType)}。 - * @param dbType DbType - * @return ISqlParser - */ - @Deprecated - public static ISqlParser getSqlParser(DbType dbType) { - SqlParserDataSourceType dataSourceType = SqlParserDataSourceType.fromDbType(dbType); - return dataSourceType == null ? new BaseSqlParser() : getSqlParser(dataSourceType); - } - - // 根据可接入不同场景去自行提供转换 - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/BaseSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/BaseSqlParser.java deleted file mode 100644 index 771a5d7..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/BaseSqlParser.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base; - -import com.dtstack.sqlparserx.core.enums.SqlType; -import com.dtstack.sqlparserx.core.parser.*; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.DataTypeColumn; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ParamInfo; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo.RowLevelPermissionFilterParam; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; -import com.dtstack.sqlparserx.syntax.SqlSyntaxParser; -import com.dtstack.sqlparserx.syntax.SqlSyntaxParserFactory; - -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.SQLAggregateExpr; -import com.alibaba.druid.sql.ast.expr.SQLMethodInvokeExpr; -import com.alibaba.druid.sql.visitor.SQLASTVisitorAdapter; - -import java.util.*; - -public class BaseSqlParser implements ISqlParser { - - private SQLStatement createStatement(String sql) { - return getSyntaxParser().parseStatement(sql); - } - - private List createStatements(String sql) { - return getSyntaxParser().parseStatements(sql); - } - - protected SqlSyntaxParser getSyntaxParser() { - return SqlSyntaxParserFactory.getParser(this.getDbType()); - } - - @Override - public ColumnLineageResult parseColumnLineages(String sql, Map> tableColumnsMap) { - SQLStatement sqlStatement = this.createStatement(sql); - return this.parseColumnLineages(sqlStatement, tableColumnsMap); - } - - @Override - public ColumnLineageResult parseColumnLineages(SQLStatement sqlStatement, - Map> tableColumnsMap) { - IColumnLineageClient columnLineageClient = this.getColumnLineageClient(tableColumnsMap); - return columnLineageClient.parseColumnLineages(sqlStatement); - } - - @Override - public TableLineageResult parseTableLineages(String sql) { - SQLStatement sqlStatement = this.createStatement(sql); - return this.parseTableLineages(sqlStatement); - } - - @Override - public TableLineageResult parseTableLineages(SQLStatement sqlStatement) { - ITableLineageClient tableLineageClient = this.getTableLineageClient(); - return tableLineageClient.parseTableLineages(sqlStatement); - } - - @Override - public ParseTableResult parseTables(String sql) { - SQLStatement sqlStatement = this.createStatement(sql); - return this.parseTables(sqlStatement); - } - - @Override - public ParseTableResult parseTables(SQLStatement sqlStatement) { - IParseTableClient parseTableClient = this.getParseTableClient(); - return parseTableClient.parseTables(sqlStatement); - } - - @Override - public ParseCreateTableResult parseCreateTable(String sql) { - IParseTableClient parseTableClient = this.getParseTableClient(); - return parseTableClient.parseCreateTable(this.createStatement(sql)); - } - - @Override - public Set parseFunction(String sql) { - Set res = new HashSet<>(); - List statements = this.createStatements(sql); - for (SQLStatement sqlStatement : statements) { - sqlStatement.accept(new SQLASTVisitorAdapter() { - @Override - public boolean visit(SQLMethodInvokeExpr x) { - res.add(x.getMethodName()); - return super.visit(x); - } - - @Override - public boolean visit(SQLAggregateExpr x) { - res.add(x.getMethodName()); - return super.visit(x); - } - }); - } - return res; - } - - @Override - public SqlType parseSqlType(String sql) { - return this.parseSqlType(this.createStatement(sql)); - } - - @Override - public SqlType parseSqlType(SQLStatement sqlStatement) { - return getParseSqlTypeClient().parseSqlType(sqlStatement); - } - - @Override - public ParseParameterResult parseParameterSql(String sql, Boolean isIgnoreSyntaxCheck, - Map> tableColumnsMap) { - SQLStatement statement = this.createStatement(sql); - return getParseParameterClient().parseParameterSql(statement, isIgnoreSyntaxCheck, tableColumnsMap); - } - - @Override - public PrepareCompileResult buildSqlByPrepareCompile(String sql, Map inParams, - Map columns) { - SQLStatement statement = this.createStatement(sql); - return getParseParameterClient().buildSqlByPrepareCompile(statement, inParams, columns); - } - - @Override - public String getRowLevelPermissionSql(String sql, List permissionParams) { - ISqlFilterClient sqlFilterClient = this.getSqlFilterClient(); - return sqlFilterClient.getRowLevelPermissionSql(sql, permissionParams); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/ColumnLineageAnalyzer.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/ColumnLineageAnalyzer.java deleted file mode 100644 index 89dcf09..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/ColumnLineageAnalyzer.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage; - -import com.dtstack.sqlparserx.core.parser.IColumnLineageClient; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.syntax.SqlSyntaxParserFactory; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; - -import java.util.List; -import java.util.Map; - -public class ColumnLineageAnalyzer { - - public ColumnLineageResult analyze(String sql) { - return analyze(sql, null); - } - - public ColumnLineageResult analyze(String sql, Map> tableColumnsMap) { - return analyze(sql, tableColumnsMap, DbType.mysql); - } - - public ColumnLineageResult analyze(String sql, Map> tableColumnsMap, DbType dbType) { - SQLStatement stmt = SqlSyntaxParserFactory.getParser(dbType).parseStatement(sql); - return this.analyze(stmt, dbType, tableColumnsMap); - } - - /** - * 传入druid的statement & 字段map集合 - */ - public ColumnLineageResult analyze(SQLStatement stmt, DbType dbType, Map> tableColumnsMap) { - ISqlParser sqlParser = SqlParserFactory.getSqlParser(dbType); - IColumnLineageClient columnLineageClient = sqlParser.getColumnLineageClient(tableColumnsMap); - return columnLineageClient.parseColumnLineages(stmt); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/TableLineageAnalyzer.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/TableLineageAnalyzer.java deleted file mode 100644 index 4e43e77..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/TableLineageAnalyzer.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage; - -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.ITableLineageClient; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.syntax.SqlSyntaxParserFactory; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; - -public class TableLineageAnalyzer { - private DbType dbType; - - public TableLineageAnalyzer(DbType dbType) { - this.dbType = dbType; - } - - public TableLineageResult analyze(String sql) { - SQLStatement stmt = SqlSyntaxParserFactory.getParser(dbType).parseStatement(sql); - return analyze(stmt, dbType); - } - - /** - * 传入druid的statement - */ - public static TableLineageResult analyze(SQLStatement stmt, DbType dbType) { - ISqlParser sqlParser = SqlParserFactory.getSqlParser(dbType); - ITableLineageClient tableLineageClient = sqlParser.getTableLineageClient(); - return tableLineageClient.parseTableLineages(stmt); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/column/Column.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/column/Column.java deleted file mode 100644 index 6c930a3..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/column/Column.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage.column; - -public class Column { - - private String columnName; - private Integer index; - - public Column(String columnName, Integer index) { - this.columnName = columnName; - this.index = index; - } - - public String getColumnName() { - return columnName; - } - - public void setColumnName(String columnName) { - this.columnName = columnName; - } - - public Integer getIndex() { - return index; - } - - public void setIndex(Integer index) { - this.index = index; - } - - @Override - public String toString() { - return "Column{" + - "columnName='" + columnName + '\'' + - ", index=" + index + - '}'; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/column/ColumnLineageClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/column/ColumnLineageClient.java deleted file mode 100644 index df81c83..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/column/ColumnLineageClient.java +++ /dev/null @@ -1,320 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage.column; - -import com.dtstack.sqlparserx.core.config.Constant; -import com.dtstack.sqlparserx.core.enums.SQLParseStrategy; -import com.dtstack.sqlparserx.core.parser.IColumnLineageClient; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.ColumnLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.Table; -import com.dtstack.sqlparserx.core.select.column.SelectColumn; -import com.dtstack.sqlparserx.core.select.column.SelectColumnItem; -import com.dtstack.sqlparserx.core.select.column.SelectColumnSpecialLineageService; -import com.dtstack.sqlparserx.core.utils.TableSourceUtil; - -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.statement.*; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.*; - -public class ColumnLineageClient implements IColumnLineageClient { - - private Logger log = LoggerFactory.getLogger(ColumnLineageClient.class); - - // 目标表:主体表 - private Table targetTable; - // key:写入目标table.column value:一组来源column - private final Map> columnRelations = new LinkedHashMap<>(); - // 记录了每一组血缘的的目标表及关联的来源表及字段 包含有catalog、db、table、column - private final List columnLineages = new ArrayList<>(); - - // 真实表&字段关联关系(外部查询元数据) - private Map> tableColumnsMap; - private SelectColumnSpecialLineageService selectColumnSpecialLineageService; - - public ColumnLineageClient() { - this(new SQLParseStrategy[0]); // Calls the other constructor with empty features - } - - public ColumnLineageClient(SQLParseStrategy... features) { - this.tableColumnsMap = new HashMap<>(); - this.selectColumnSpecialLineageService = new SelectColumnSpecialLineageService(features); - } - - public ColumnLineageClient(Map> tableColumnsMap, SQLParseStrategy... features) { - this.tableColumnsMap = tableColumnsMap; - if (tableColumnsMap != null && !tableColumnsMap.isEmpty()) { - this.selectColumnSpecialLineageService = new SelectColumnSpecialLineageService(tableColumnsMap, features); - } else { - this.selectColumnSpecialLineageService = new SelectColumnSpecialLineageService(features); - } - } - - /** - * 字段血缘解析:只有insert、create sql有血缘 - */ - @Override - public ColumnLineageResult parseColumnLineages(SQLStatement sqlStatement) { - if (sqlStatement instanceof SQLInsertStatement) { - this.parseInsertSQL((SQLInsertStatement) sqlStatement); - } else if (sqlStatement instanceof SQLCreateTableStatement) { - this.parseCreateSQL((SQLCreateTableStatement) sqlStatement); - } - return getResult(); - } - - /** - * 解析insert sql - */ - protected void parseInsertSQL(SQLInsertStatement x) { - targetTable = TableSourceUtil.extractTable(x.getTableSource()); - - // 1、获取到目标表的columns信息 - List insertTableColumns = x.getColumns(); - List targetColumns = new ArrayList<>(); -// if (insertTableColumns == null || insertTableColumns.isEmpty()) { -// // 写法1:无插入指定列场景 INSERT INTO target_table SELECT column1, column2, column3 -// SQLSelect select = x.getQuery(); -// if (select != null) { -// SQLSelectQuery selectQuery = select.getQuery(); -// // 获取到目标字段集合 -// targetColumns = matchFirstSelectColumns(selectQuery); -// } -// }else - // 若是insert sql指定字段写入 - if (insertTableColumns != null && !insertTableColumns.isEmpty()) { - // 写法2:插入指定列场景 insert into table values(xxx, xxx) select xxx, xxx - targetColumns = selectColumnSpecialLineageService.buildSelectColumnsBySQLExprs(insertTableColumns, - targetTable); - } - - // 2、优先with as场景处理 - SQLSelect query = x.getQuery(); - // check是否是with as结构 - // 情况1:with 在 insert 上场景 【x.getWith()】 => 大部分数据源 - SQLWithSubqueryClause withSubqueryClause = x.getWith(); - // 场景2:with 在 insert 下场景 【x.getQuery().getWithSubQuery()】=> doris - if (withSubqueryClause == null && query != null) { - withSubqueryClause = query.getWithSubQuery(); - } - // check是否满足with as场景 - Map> columnInfoByTableMap = null; - Set withSqlAliasTableNames = new HashSet<>(); - if (withSubqueryClause != null) { - // 2.1、构建with map 别名与一组字段关系 - columnInfoByTableMap = selectColumnSpecialLineageService.buildColumnInfoByTableMap(withSubqueryClause); - withSqlAliasTableNames = columnInfoByTableMap.keySet(); - } - - // 3、获取到主体查询的一组columns - List selectColumns = selectColumnSpecialLineageService.queryColumnsBySqlSelect(query, - withSqlAliasTableNames); - - // 处理含有with as场景 & 主体selct字段情况 过滤掉主体中引用with as 别名字段依赖 - if (columnInfoByTableMap != null) { - selectColumns = selectColumnSpecialLineageService.matchWithAsAndSelectColumns(selectColumns, - columnInfoByTableMap); - } - - // 4、若是没有指定insert的字段,那么此时targetColumns为空 - if (insertTableColumns.isEmpty() || targetColumns.isEmpty()) { - List columns = tableColumnsMap.get(targetTable.getName()); - if (columns != null && !columns.isEmpty()) { - // 从元数据表中获取字段信息 - targetColumns = queryMetaTableColumns(columns, targetTable); - } else { - // 没有对应元数据源表字段信息 从主体select中获取字段信息 - targetColumns = queryTargetTableColumns(selectColumns, targetTable); - } - } - - if (targetColumns.size() > selectColumns.size()) { - throw new RuntimeException("血缘解析异常,sql写法问题"); - } - - // 4、构建字段血缘信息 - addColumnRelations(selectColumns, targetColumns); - } - - /** - * 查询元数据表中获取目标字段集合 - * @param columns 元数据表字段信息 - * @return List - */ - private List queryMetaTableColumns(List columns, Table targetTable) { - // 检查是否有index为null的情况 - boolean hasNullIndex = columns.stream().anyMatch(column -> column.getIndex() == null); - - // 如果没有null的index,则进行排序 - if (!hasNullIndex) { - columns.sort(Comparator.comparing(Column::getIndex)); - } - - List insertTableColumns = new ArrayList<>(); - for (Column column : columns) { - insertTableColumns.add(new SelectColumnItem(Table.TableTransfer.transfer(targetTable), column - .getColumnName())); - } - return insertTableColumns; - } - - /** - * 查询获取insert目标字段集合 从主体selectColumns中获取目标字段集合 - * @param selectColumns 主体select字段 - * @return List - */ - private List queryTargetTableColumns(List selectColumns, Table targetTable) { - List insertTableColumns = new ArrayList<>(); - for (SelectColumn selectColumn : selectColumns) { - insertTableColumns.add(new SelectColumnItem(Table.TableTransfer.transfer(targetTable), selectColumn - .getAliasName())); - } - return insertTableColumns; - } - - /** - * 解析create sql - */ - protected void parseCreateSQL(SQLCreateTableStatement x) { - // 获取到目标表 - // 留口子 可以根据实际业务方法调用传入指定catalog、db情况完成赋值 - targetTable = TableSourceUtil.extractTable(x.getTableSource()); - - // 处理CREATE TABLE AS SELECT 其他场景无血缘情况 - SQLSelect select = x.getSelect(); - if (select != null) { - SQLSelectQuery selectQuery = select.getQuery(); - - // 1、获取到目标字段集合 -// List targetColumns = matchFirstSelectColumns(selectQuery); - // 初始化目标表 -// for (SelectColumn targetColumn : targetColumns) { -// targetColumn.setTableInfo(Table.TableTransfer.transfer(targetTable)); -// } - - // 提前剪枝 -// if (targetColumns.isEmpty()) return false; - - // 2、收集以当前select主体结构所追溯汇总得到的一组来源字段 - List selectColumns = selectColumnSpecialLineageService.queryColumnsBySqlSelectQuery( - selectQuery); - - List targetColumns = this.queryTargetTableColumns(selectColumns, targetTable); - - // 3、完成CREATE TABLE AS SELECT的血缘分析 - if (targetColumns.size() > selectColumns.size()) { - throw new RuntimeException("血缘解析异常,sql写法问题"); - } - addColumnRelations(selectColumns, targetColumns); - } - } - - /** - * 针对来源columns & 目标columns 来构件字段级血缘 - * @param selectColumns 主体select压缩合并的字段集合 - * @param targetColumns 目标表字段集合 - */ - private void addColumnRelations(List selectColumns, List targetColumns) { - for (int i = 0; i < targetColumns.size(); i++) { - // #feat5:字段血缘核心匹配逻辑 - SelectColumnItem targetColumn = targetColumns.get(i); - SelectColumn selectColumn = selectColumns.get(i); - // 确认select的字段是否为聚合字段、union字段场景,会出现血缘匹配多条情况 - String[] selectColumnNameArr = selectColumn.getColumnName().split(",", -1); - String[] selectTableNameArr = selectColumn.getTableInfo().split(",", -1); - int lineageRelationsCount = selectColumnNameArr.length; - for (int j = 0; j < lineageRelationsCount; j++) { - try { - // 针对最终无匹配表场景情况,应当过滤 举例:select '0' as a from table 这类并不能作为血缘 - if (selectTableNameArr[j] == null - || selectColumnNameArr[j].isEmpty() - || Constant.NO_RELATION_TABLE.equals(selectTableNameArr[j])) - continue; - // 添加血缘关系 - // 目标端一组列表中的真实表名 => 目标表、目标端一组列表中的别名字段 => 目标字段 - // 来源端的真实表名 => 来源表名、来源端的真实字段 => 来源字段 - addRelation(selectTableNameArr[j], selectColumnNameArr[j], targetColumn.getTableInfo(), targetColumn - .getColumnName()); - } catch (Exception e) { - String msgInfo = String.format("addColumnRelations error! columnName => %s, tableInfo => %s", - selectColumn.getColumnName(), selectColumn.getTableInfo()); - log.error(msgInfo, e); - throw new RuntimeException(msgInfo); - } - } - } - } - - /** - * 添加关联关系 - * @param sourceTable 原始表 - * @param sourceColumn 原始字段 - * @param targetTable 目标表 - * @param targetColumn 目标字段 - */ - private void addRelation(String sourceTable, String sourceColumn, - String targetTable, String targetColumn) { - String relationKey = targetTable + "." + targetColumn; - // 无来源表 & 无来源字段场景情况 - if (sourceTable == null && sourceColumn == null - || sourceTable != null && sourceTable.isEmpty() // 无来源表场景(一般是来源字段为一个字面量值,而非一个表的字段,不算作血缘) - ) { - columnRelations.computeIfAbsent(relationKey, k -> new ArrayList<>()); - return; - } - // 1、构建血缘关系map组 - // 来源不为空情况 - ColumnLineageResult.ColumnRelation relation = new ColumnLineageResult.ColumnRelation( - sourceTable != null ? sourceTable + "." + sourceColumn : sourceColumn, - targetTable + "." + targetColumn); - - // 检查是否已存在相同关系 - List relations = columnRelations.computeIfAbsent(relationKey, - k -> new ArrayList<>()); - boolean relationExists = relations.stream().anyMatch(r -> Objects.equals(r.getSource(), relation.getSource()) && - Objects.equals(r.getTarget(), relation.getTarget())); - - if (!relationExists) { - // 添加到来源表中 - relations.add(relation); - - // 2、构建血缘关系记录集合 - ColumnLineage columnLineage = new ColumnLineage(); - Table sourceTableObj = Table.TableTransfer.parse(sourceTable); - Table targetTableObj = Table.TableTransfer.parse(targetTable); - - columnLineage.setFromCatalog(sourceTableObj.getCatalog()); - columnLineage.setFromDb(sourceTableObj.getDb()); - columnLineage.setFromTable(sourceTableObj.getName()); - columnLineage.setFromColumn(sourceColumn); - - columnLineage.setToCatalog(targetTableObj.getCatalog()); - columnLineage.setToDb(targetTableObj.getDb()); - columnLineage.setToTable(targetTableObj.getName()); - columnLineage.setToColumn(targetColumn); - columnLineages.add(columnLineage); - } - } - - public ColumnLineageResult getResult() { - return new ColumnLineageResult(Table.TableTransfer.transfer(targetTable), columnRelations, columnLineages); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/column/ColumnLineageResult.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/column/ColumnLineageResult.java deleted file mode 100644 index 5bab672..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/column/ColumnLineageResult.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage.column; - -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.ColumnLineage; - -import java.util.*; - -public class ColumnLineageResult { - private final String targetTable; - // 字段血缘关系 key:目标字段 value:目标字段来源字段 - private final Map> columnRelations; - private final List columnLineages; - - public ColumnLineageResult(String targetTable, - Map> columnRelations, List columnLineages) { - this.targetTable = targetTable; - this.columnRelations = Collections.unmodifiableMap(columnRelations); - this.columnLineages = columnLineages; - } - - public List getColumnLineages() { - return columnLineages; - } - - public String getTargetTable() { - return targetTable; - } - - public Map> getColumnRelations() { - return columnRelations; - } - - public static class ColumnRelation { - private final String source; - private final String target; - - public ColumnRelation(String source, String target) { - this.source = source; - this.target = target; - } - - public String getSource() { - return source; - } - - public String getTarget() { - return target; - } - - @Override - public String toString() { - return source + " -> " + target; - } - } - - /** - * 打印字段血缘关系 - */ - public void printColumnLineage() { - Map> columnRelations = this.columnRelations; - // 遍历每一个目标字段的血缘情况 - for (Map.Entry> entry : columnRelations.entrySet()) { - String targetColumn = entry.getKey(); - List value = entry.getValue(); - if (value != null && !value.isEmpty()) { - for (ColumnLineageResult.ColumnRelation relation : value) { - System.out.println(relation); - } - } else { - System.out.println("null -> " + targetColumn); - } - } - } - - @Override - public String toString() { - return "ColumnLineageResult{" + - "targetTable='" + targetTable + '\'' + - ", columnRelations=" + columnRelations + - '}'; - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/domain/ColumnLineage.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/domain/ColumnLineage.java deleted file mode 100644 index 34511f0..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/domain/ColumnLineage.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage.domain; - -import java.util.Objects; - -/** - * 字段血缘 - */ -public class ColumnLineage { - private String fromCatalog; - private String fromDb; - private String fromTable; - private String fromColumn; - - private String toCatalog; - private String toDb; - private String toTable; - private String toColumn; - - public ColumnLineage() { - } - - public ColumnLineage(String fromCatalog, String fromDb, String fromTable, String fromColumn, String toCatalog, - String toDb, String toTable, String toColumn) { - this.fromCatalog = fromCatalog; - this.fromDb = fromDb; - this.fromTable = fromTable; - this.fromColumn = fromColumn; - this.toCatalog = toCatalog; - this.toDb = toDb; - this.toTable = toTable; - this.toColumn = toColumn; - } - - public String getFromCatalog() { - return fromCatalog; - } - - public void setFromCatalog(String fromCatalog) { - this.fromCatalog = fromCatalog; - } - - public String getFromDb() { - return fromDb; - } - - public void setFromDb(String fromDb) { - this.fromDb = fromDb; - } - - public String getFromTable() { - return fromTable; - } - - public void setFromTable(String fromTable) { - this.fromTable = fromTable; - } - - public String getFromColumn() { - return fromColumn; - } - - public void setFromColumn(String fromColumn) { - this.fromColumn = fromColumn; - } - - public String getToCatalog() { - return toCatalog; - } - - public void setToCatalog(String toCatalog) { - this.toCatalog = toCatalog; - } - - public String getToDb() { - return toDb; - } - - public void setToDb(String toDb) { - this.toDb = toDb; - } - - public String getToTable() { - return toTable; - } - - public void setToTable(String toTable) { - this.toTable = toTable; - } - - public String getToColumn() { - return toColumn; - } - - public void setToColumn(String toColumn) { - this.toColumn = toColumn; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - ColumnLineage that = (ColumnLineage) o; - return Objects.equals(fromCatalog, that.fromCatalog) && Objects.equals(fromDb, that.fromDb) && Objects.equals( - fromTable, that.fromTable) && Objects.equals(fromColumn, that.fromColumn) && Objects.equals(toCatalog, - that.toCatalog) && Objects.equals(toDb, that.toDb) && Objects.equals(toTable, that.toTable) - && Objects.equals(toColumn, that.toColumn); - } - - @Override - public int hashCode() { - return Objects.hash(fromCatalog, fromDb, fromTable, fromColumn, toCatalog, toDb, toTable, toColumn); - } - - @Override - public String toString() { - return "ColumnLineage{" + - "fromCatalog='" + fromCatalog + '\'' + - ", fromDb='" + fromDb + '\'' + - ", fromTable='" + fromTable + '\'' + - ", fromColumn='" + fromColumn + '\'' + - ", toCatalog='" + toCatalog + '\'' + - ", toDb='" + toDb + '\'' + - ", toTable='" + toTable + '\'' + - ", toColumn='" + toColumn + '\'' + - '}'; - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/domain/TableLineage.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/domain/TableLineage.java deleted file mode 100644 index e32801f..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/domain/TableLineage.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage.domain; - -import java.util.Objects; - -public class TableLineage { - private String fromCatalog; - private String fromDb; - private String fromTable; - private String toCatalog; - private String toDb; - private String toTable; - - // Getters and Setters - public String getFromCatalog() { - return fromCatalog; - } - - public void setFromCatalog(String fromCatalog) { - this.fromCatalog = fromCatalog; - } - - public String getFromDb() { - return fromDb; - } - - public void setFromDb(String fromDb) { - this.fromDb = fromDb; - } - - public String getFromTable() { - return fromTable; - } - - public void setFromTable(String fromTable) { - this.fromTable = fromTable; - } - - public String getToCatalog() { - return toCatalog; - } - - public void setToCatalog(String toCatalog) { - this.toCatalog = toCatalog; - } - - public String getToDb() { - return toDb; - } - - public void setToDb(String toDb) { - this.toDb = toDb; - } - - public String getToTable() { - return toTable; - } - - public void setToTable(String toTable) { - this.toTable = toTable; - } - - // toString() - @Override - public String toString() { - return "TableLineage{" + - "fromCatalog='" + fromCatalog + '\'' + - ", fromDb='" + fromDb + '\'' + - ", fromTable='" + fromTable + '\'' + - ", toCatalog='" + toCatalog + '\'' + - ", toDb='" + toDb + '\'' + - ", toTable='" + toTable + '\'' + - '}'; - } - - // equals() - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - TableLineage that = (TableLineage) o; - return Objects.equals(fromCatalog, that.fromCatalog) && - Objects.equals(fromDb, that.fromDb) && - Objects.equals(fromTable, that.fromTable) && - Objects.equals(toCatalog, that.toCatalog) && - Objects.equals(toDb, that.toDb) && - Objects.equals(toTable, that.toTable); - } - - // hashCode() - @Override - public int hashCode() { - return Objects.hash(fromCatalog, fromDb, fromTable, toCatalog, toDb, toTable); - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/Table.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/Table.java deleted file mode 100644 index fdb9a93..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/Table.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage.table; - -import java.util.Objects; - -public class Table { - - // 所在catalog - private String catalog; - - // 表所在数据库 - private String db; - - // 名称 - private String name; - - // 别名 - private String aliasTableName; - - public Table() { - } - - public Table(String catalog, String db, String name, String aliasTableName) { - this.catalog = catalog; - this.db = db; - this.name = name; - this.aliasTableName = aliasTableName; - } - - public String getCatalog() { - return catalog; - } - - public void setCatalog(String catalog) { - this.catalog = catalog; - } - - public String getDb() { - return db; - } - - public void setDb(String db) { - this.db = db; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getAliasTableName() { - return aliasTableName; - } - - public void setAliasTableName(String aliasTableName) { - this.aliasTableName = aliasTableName; - } - - public static class TableTransfer { - - /** - * 将Table对象转换为字符串表示 - * 规则: - * - 若catalog、db、table都不为空:返回 catalog.db.table - * - 若只有db、table不为空:返回 db.table - * - 若只有table不为空:返回 table - * - 若都为空:返回空字符串 - */ - public static String transfer(Table table) { - if (table == null) { - return ""; - } - - String catalog = table.getCatalog(); - String db = table.getDb(); - String name = table.getName(); - - boolean hasCatalog = catalog != null && !catalog.isEmpty(); - boolean hasDb = db != null && !db.isEmpty(); - boolean hasName = name != null && !name.isEmpty(); - - if (hasCatalog && hasDb && hasName) { - return catalog + "." + db + "." + name; - } else if (hasDb && hasName) { - return db + "." + name; - } else if (hasName) { - return name; - } else { - return ""; - } - } - - /** - * 将字符串解析为Table对象 - * 支持格式: - * - catalog.db.table - * - db.table - * - table - * @param tableName 表名字符串 - * @return Table对象 - */ - public static Table parse(String tableName) { - if (tableName == null || tableName.isEmpty()) { - return new Table(null, null, null, null); - } - - String[] parts = tableName.split("\\."); - Table table = new Table(); - - if (parts.length == 3) { - // catalog.db.table 格式 - table.setCatalog(parts[0]); - table.setDb(parts[1]); - table.setName(parts[2]); - } else if (parts.length == 2) { - // db.table 格式 - table.setDb(parts[0]); - table.setName(parts[1]); - } else if (parts.length == 1) { - // table 格式 - table.setName(parts[0]); - } - - return table; - } - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - Table table = (Table) o; - return Objects.equals(catalog, table.catalog) && Objects.equals(db, table.db) && Objects.equals(name, - table.name) && Objects.equals(aliasTableName, table.aliasTableName); - } - - @Override - public int hashCode() { - return Objects.hash(catalog, db, name, aliasTableName); - } - - @Override - public String toString() { - return "Table{" + - "catalog='" + catalog + '\'' + - ", db='" + db + '\'' + - ", name='" + name + '\'' + - ", aliasTableName='" + aliasTableName + '\'' + - '}'; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/TableLineageClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/TableLineageClient.java deleted file mode 100644 index e2b8aab..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/TableLineageClient.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage.table; -import com.dtstack.sqlparserx.core.enums.SQLParseStrategy; -import com.dtstack.sqlparserx.core.parser.ITableLineageClient; -import com.dtstack.sqlparserx.core.select.table.SelectTable; -import com.dtstack.sqlparserx.core.select.table.SelectTableSpecialLineageService; -import com.dtstack.sqlparserx.core.utils.TableSourceUtil; - -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.statement.*; - -import java.util.*; - -public class TableLineageClient implements ITableLineageClient { - - // 目标表 即 主体表 - private Table targetTable; - // 来源表 - private Set sourceTables = new HashSet<>(); - private Set relations = new HashSet<>(); - private final SelectTableSpecialLineageService selectTableSpecialLineageService; - - // sql语法特征 - protected int features; - - public TableLineageClient() { - this.selectTableSpecialLineageService = new SelectTableSpecialLineageService(); - } - - public TableLineageClient(SQLParseStrategy... features) { - this.features = SQLParseStrategy.of(features); - this.selectTableSpecialLineageService = new SelectTableSpecialLineageService(features); - } - - private void backInit() { - this.targetTable = null; - this.sourceTables = new HashSet<>(); - this.relations = new HashSet<>(); - } - - /** - * 表血缘解析:只有insert、create sql有血缘 - */ - @Override - public TableLineageResult parseTableLineages(SQLStatement sqlStatement) { - if (sqlStatement instanceof SQLInsertStatement) { - this.parseInsertSQL((SQLInsertStatement) sqlStatement); - } else if (sqlStatement instanceof SQLCreateTableStatement) { - this.parseCreateSQL((SQLCreateTableStatement) sqlStatement); - } - return getResult(); - } - - /** - * 处理create 类型sql - * @param x druid node sql - * @return - */ - @Override - public void parseCreateSQL(SQLCreateTableStatement x) { - this.backInit(); - - targetTable = TableSourceUtil.extractTable(x.getTableSource()); - // 处理CREATE TABLE AS SELECT 其他场景无血缘情况 - SQLSelect select = x.getSelect(); - if (select != null) { - SQLSelectQuery selectQuery = select.getQuery(); - // select结构中的来源表 - List selectTables = selectTableSpecialLineageService.queryTablesBySqlSelectQuery(selectQuery); - // 添加到原始表中 - addSourceTable(selectTables); - } - } - - /** - * 处理create 类型sql - * @param x druid node sql - * @return - */ - @Override - public void parseInsertSQL(SQLInsertStatement x) { - this.backInit(); - - // 1、目标表 - targetTable = TableSourceUtil.extractTable(x.getTableSource()); - // 2、获取到主体查询的一组tables - SQLSelect query = x.getQuery(); - List selectTables = selectTableSpecialLineageService.queryTablesBySqlSelect(query); - // check是否是with as结构 - // 情况1:with 在 insert 上场景 【x.getWith()】 => 大部分数据源 - SQLWithSubqueryClause withSubqueryClause = x.getWith(); - // 场景2:with 在 insert 下场景 【x.getQuery().getWithSubQuery()】=> doris - if (withSubqueryClause == null && query != null) { - withSubqueryClause = query.getWithSubQuery(); - } - // check是否满足with as场景 - if (withSubqueryClause != null) { - // 3.1、构建with map - Map> tableInfoByTableMap = selectTableSpecialLineageService - .buildTableInfoByTableMap(withSubqueryClause); - - // 3.2、处理with as场景 & 主体select字段情况 过滤掉主体中引用with as 别名表字段情况 - selectTables = selectTableSpecialLineageService.matchWithAsAndSelectTables(selectTables, - tableInfoByTableMap); - } - - // 添加到原始表中 - addSourceTable(selectTables); - } - - /** - * 添加到原始来源表 - */ - public void addSourceTable(List selectTables) { - for (SelectTable selectTable : selectTables) { - String[] sourceTableArr = selectTable.getTableInfo().split(","); - Collections.addAll(this.sourceTables, sourceTableArr); - } - } - - /** - * 获取到血缘解析及结果 - * @return 表血缘结果 - */ - public TableLineageResult getResult() { - // 初始化血缘解析结果 - if (!sourceTables.isEmpty()) { - for (String sourceTable : sourceTables) { - relations.add(new TableRelation(sourceTable, Table.TableTransfer.transfer(targetTable))); - } - } - return new TableLineageResult(Table.TableTransfer.transfer(targetTable), sourceTables, relations); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/TableLineageResult.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/TableLineageResult.java deleted file mode 100644 index 2cbe6b3..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/TableLineageResult.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage.table; - -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -/** - * @ClassName TableLineageResult - * @Author ChangLu - * @Date 2025/3/30 21:08 - * @Description 表血缘结果 - */ -public class TableLineageResult { - private final String targetTable; - private final Set sourceTables; - private final Set relations; - private final List tableLineages; - - public TableLineageResult(String targetTable, Set sourceTables, Set relations) { - this.targetTable = targetTable; - this.sourceTables = sourceTables; - this.relations = relations; - this.tableLineages = buildTableLineages(relations); - } - - public String getTargetTable() { - return targetTable; - } - - public Set getSourceTables() { - return sourceTables; - } - - public Set getRelations() { - return relations; - } - - /** - * 对外提供的table血缘集合 - */ - private List buildTableLineages(Set relations) { - if (relations == null || relations.isEmpty()) { - return new ArrayList<>(); - } - List tableLineages = new ArrayList<>(); - for (TableRelation relation : relations) { - Table sourceTable = relation.getSourceTableObj(); - Table targetTable = relation.getTargetTableObj(); - // 创建关联关系 - TableLineage tableLineage = new TableLineage(); - // 来源表 - tableLineage.setFromCatalog(sourceTable.getCatalog()); - tableLineage.setFromDb(sourceTable.getDb()); - tableLineage.setFromTable(sourceTable.getName()); - // 目标表 - tableLineage.setToCatalog(targetTable.getCatalog()); - tableLineage.setToDb(targetTable.getDb()); - tableLineage.setToTable(targetTable.getName()); - - tableLineages.add(tableLineage); - } - return tableLineages; - } - - public List getTableLineages() { - return tableLineages; - } - - @Override - public String toString() { - return "TableLineageResult{" + - "targetTable='" + targetTable + '\'' + - ", sourceTables=" + sourceTables + - ", relations=" + relations + - '}'; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/TableRelation.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/TableRelation.java deleted file mode 100644 index c53bf0a..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/lineage/table/TableRelation.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.lineage.table; - -import java.util.Objects; - -public class TableRelation { - private final String sourceTable; - private final String targetTable; - - public TableRelation(String sourceTable, String targetTable) { - this.sourceTable = sourceTable; - this.targetTable = targetTable; - } - - public String getSourceTable() { - return sourceTable; - } - - public String getTargetTable() { - return targetTable; - } - - public Table getSourceTableObj() { - return Table.TableTransfer.parse(this.sourceTable); - } - - public Table getTargetTableObj() { - return Table.TableTransfer.parse(this.targetTable); - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - TableRelation that = (TableRelation) o; - return Objects.equals(sourceTable, that.sourceTable) && Objects.equals(targetTable, that.targetTable); - } - - @Override - public int hashCode() { - return Objects.hash(sourceTable, targetTable); - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/BaseParseParameterClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/BaseParseParameterClient.java deleted file mode 100644 index 0a06093..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/BaseParseParameterClient.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.parser.IParseParameterClient; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.DataTypeColumn; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ParamInfo; -import com.dtstack.sqlparserx.core.parser.base.parameter.rewrite.PrepareSqlRewriter; -import com.dtstack.sqlparserx.core.parser.base.parameter.service.ParamParseService; -import com.dtstack.sqlparserx.core.parser.base.parameter.transfer.BaseParamDataTypeTransfer; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; - -import java.util.List; -import java.util.Map; - -/** - * @description 变量参数解析与预编译客户端 - * @author changlu - * @date 2026/10/12 15:20 - */ -public class BaseParseParameterClient implements IParseParameterClient { - private final ParamParseService parseService; - private final PrepareSqlRewriter prepareSqlRewriter; - - public BaseParseParameterClient() { - this(null); - } - - public BaseParseParameterClient(SqlParserDataSourceType dataSourceType) { - DbType dbType = dataSourceType == null ? null : dataSourceType.getDbType(); - this.parseService = getParamParseService(); - this.prepareSqlRewriter = getPrepareSqlRewriter(dbType); - } - - /** - * 默认参数解析服务实现,子类可覆盖 - */ - protected ParamParseService getParamParseService() { - return new ParamParseService(); - } - - /** - * 默认预编译改写器实现,子类可覆盖并注入数据源方言类型转换 - */ - protected PrepareSqlRewriter getPrepareSqlRewriter(DbType dbType) { - return new PrepareSqlRewriter(dbType, new BaseParamDataTypeTransfer()); - } - - @Override - public ParseParameterResult parseParameterSql(SQLStatement statement, Boolean isIgnoreSyntaxCheck, - Map> tableColumnsMap) { - return parseService.parse(statement, isIgnoreSyntaxCheck, tableColumnsMap); - } - - @Override - public PrepareCompileResult buildSqlByPrepareCompile(SQLStatement statement, Map inputParams, - Map columns) { - return prepareSqlRewriter.rewrite(statement, inputParams, columns); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/domain/ApiParamSpan.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/domain/ApiParamSpan.java deleted file mode 100644 index dbde9fa..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/domain/ApiParamSpan.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.domain; - -import java.util.List; - -/** - * @author chener - * @Classname ApiParamSpan - * @Description API 输出字段定义 - * @Date 2020/12/15 15:54 - * @Created chener@dtstack.com - */ -public class ApiParamSpan { - - /** - * 参数块全名,也就是sql片段 - */ - private String sqlPart; - - /** - * 作为出参时,代表别名 - */ - private String alias; - - /** - * 参数块中使用的表字段【实际场景 api只会取其中的第一个】 - */ - private List bindColumns; - - public ApiParamSpan() { - } - - public ApiParamSpan(String sqlPart) { - this.sqlPart = sqlPart; - } - - public String getSqlPart() { - return sqlPart; - } - - public void setSqlPart(String sqlPart) { - this.sqlPart = sqlPart; - } - - public String getAlias() { - return alias; - } - - public void setAlias(String alias) { - this.alias = alias; - } - - public List getBindColumns() { - return bindColumns; - } - - public void setBindColumns(List bindColumns) { - this.bindColumns = bindColumns; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/domain/DataTypeColumn.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/domain/DataTypeColumn.java deleted file mode 100644 index 7ef2a27..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/domain/DataTypeColumn.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.domain; - -public class DataTypeColumn { - - // 表字段真实名称 - private String name; - // 表字段类型:数据源方言的原始类型字符串(如 BIGINT / VARCHAR / array / NUMBER(10,2)), - // 由调用方按「表名+字段名」查元数据后原样注入,不做归一化,不使用固定枚举 - private String type; - // 表注释 - private String comment; - - public DataTypeColumn() { - } - - public DataTypeColumn(String name, String type, String comment) { - this.name = name; - this.type = type; - this.comment = comment; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getComment() { - return comment; - } - - public void setComment(String comment) { - this.comment = comment; - } - - @Override - public String toString() { - return "DataTypeColumn{" + - "name='" + name + '\'' + - ", type='" + type + '\'' + - ", comment='" + comment + '\'' + - '}'; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/domain/ParamInfo.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/domain/ParamInfo.java deleted file mode 100644 index 58cb3f0..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/domain/ParamInfo.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.domain; - -import java.util.Objects; - -/** - * @description 参数键值对 - * @author changlu - * @date 2025/5/15 17:32 - */ -public class ParamInfo { - /** - * 参数名 - */ - private String name; - - /** - * 参数值 - */ - private Object value; - - /** - * 是否必填 - */ - private boolean imperative; - - /** - * 参数类型 - */ - private String dataType; - - /** - * 默认值 - */ - private String defaultValue; - - /** - * 字段描述 - */ - private String desc; - - /** - * 字段名 - */ - private String fieldName; - - /** - * 操作类型 - */ - private String operator; - - /** - * 参数块对应的 SQL 片段(标明该参数来自源 SQL 的哪一部分) - */ - private String sqlPart; - - public ParamInfo() { - } - - public ParamInfo(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Object getValue() { - return value; - } - - public void setValue(Object value) { - this.value = value; - } - - public boolean isImperative() { - return imperative; - } - - public void setImperative(boolean imperative) { - this.imperative = imperative; - } - - /** - * 检查参数是否是必填参数且没有填写值 - */ - private void checkValueOmit() { - if (this.imperative && Objects.isNull(this.value)) { - throw new RuntimeException("必填参数" + this.name + "未没有值"); - } - } - - public boolean hasValue() { - checkValueOmit(); - return Objects.nonNull(this.value); - } - - public String getDataType() { - return dataType; - } - - public void setDataType(String dataType) { - this.dataType = dataType; - } - - public String getDefaultValue() { - return defaultValue; - } - public void setDefaultValue(String defaultValue) { - this.defaultValue = defaultValue; - } - public String getDesc() { - return desc; - } - public void setDesc(String desc) { - this.desc = desc; - } - public String getFieldName() { - return fieldName; - } - public void setFieldName(String fieldName) { - this.fieldName = fieldName; - } - public String getOperator() { - return operator; - } - public void setOperator(String operator) { - this.operator = operator; - } - public String getSqlPart() { - return sqlPart; - } - public void setSqlPart(String sqlPart) { - this.sqlPart = sqlPart; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/resolve/ParameterColumnResolver.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/resolve/ParameterColumnResolver.java deleted file mode 100644 index 6b3985d..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/resolve/ParameterColumnResolver.java +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.resolve; - -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.DataTypeColumn; -import com.dtstack.sqlparserx.core.utils.TableSourceUtil; - -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.SQLObject; -import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; -import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr; -import com.alibaba.druid.sql.ast.statement.SQLExprTableSource; -import com.alibaba.druid.sql.ast.statement.SQLJoinTableSource; -import com.alibaba.druid.sql.ast.statement.SQLLateralViewTableSource; -import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock; -import com.alibaba.druid.sql.ast.statement.SQLTableSource; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -/** - * 在参数所在查询块的 FROM 作用域内,将字段限定符解析为真实表名。 - * - *

该组件只服务参数绑定,不修改或依赖字段血缘的内部状态。

- */ -public class ParameterColumnResolver { - - /** - * 将参数条件中的字段表达式定位为当前查询块内的真实表字段。 - * - *

核心流程:

- *
    - *
  1. 拆解字段 AST:{@code u.tenant_id -> owner=u, column=tenant_id};
  2. - *
  3. 沿 AST parent 找到最近的 {@link SQLSelectQueryBlock},保证内外层查询别名互不串用;
  4. - *
  5. 递归扫描当前查询块的 FROM/JOIN,建立“别名/表名 -> 真实表名”映射;
  6. - *
  7. 限定字段按 owner 精确定位真实表;裸字段按当前作用域元数据唯一性消歧;
  8. - *
  9. 只返回真实表和字段身份,字段类型与注释由 parameter 自己的元数据模型查询。
  10. - *
- */ - public ResolvedParameterColumn resolve(SQLExpr field, Map> metadata) { - // 1. 当前阶段只解析简单字段。复杂表达式由后续阶段递归提取其中的字段集合。 - FieldReference reference = fieldReference(field); - if (reference == null) - return null; - - // 2. 字段 AST 最近的 QueryBlock 就是它的查询作用域;例如内层也声明别名 u 时, - // 只读取内层 FROM,不会错误使用外层 u 对应的真实表。 - Map tablesByQualifier = new LinkedHashMap<>(); - collectTables(findQueryBlock(field), tablesByQualifier); - - // 3. u.tenant_id:先用 u 查询当前作用域别名映射;若 SQL 直接写真实表名, - // 再与 metadata key(table/schema.table/catalog.schema.table)进行兼容匹配。 - if (reference.owner != null) { - String realTable = tablesByQualifier.get(normalize(reference.owner)); - if (realTable == null) - realTable = matchTableName(reference.owner, metadata); - return new ResolvedParameterColumn(realTable, reference.column); - } - - // 裸字段只允许在当前查询块中唯一命中;多表同名字段保持未解析,禁止依赖 Map 顺序任选一个。 - List matches = new ArrayList<>(); - for (String table : uniqueTables(tablesByQualifier)) - if (findColumn(table, reference.column, metadata) != null) - matches.add(table); - if (matches.size() == 1) - return new ResolvedParameterColumn(matches.get(0), reference.column); - - // 没有可识别的 FROM 实表时,仅允许全局元数据唯一命中,用于兼容缺少查询上下文的简单表达式。 - if (tablesByQualifier.isEmpty()) { - String uniqueTable = uniqueMetadataTable(reference.column, metadata); - if (uniqueTable != null) - return new ResolvedParameterColumn(uniqueTable, reference.column); - } - return new ResolvedParameterColumn(null, reference.column); - } - - public DataTypeColumn findColumn(ResolvedParameterColumn resolved, - Map> metadata) { - if (resolved == null || resolved.getTableName() == null) - return null; - // 4. 真实表已经确定后,只允许在该表内查字段,不再扫描所有表使用最后一个同名字段。 - return findColumn(resolved.getTableName(), resolved.getColumnName(), metadata); - } - - private SQLSelectQueryBlock findQueryBlock(SQLObject object) { - SQLObject current = object; - while (current != null && !(current instanceof SQLSelectQueryBlock)) - current = current.getParent(); - return (SQLSelectQueryBlock) current; - } - - private void collectTables(SQLSelectQueryBlock block, Map result) { - if (block != null) - collectTables(block.getFrom(), result); - } - - private void collectTables(SQLTableSource source, Map result) { - if (source instanceof SQLExprTableSource) { - // FROM schema.user_info u 同时登记: - // u -> schema.user_info - // schema.user_info -> schema.user_info - // user_info -> schema.user_info - SQLExprTableSource table = (SQLExprTableSource) source; - String realTable = TableSourceUtil.extractTableName(table); - String alias = TableSourceUtil.removeQuotes(table.getAlias()); - put(result, realTable, realTable); - if (alias != null) - put(result, alias, realTable); - } else if (source instanceof SQLJoinTableSource) { - // JOIN 的左右两侧属于同一 QueryBlock 作用域,分别递归收集后才能对裸字段做唯一性判断。 - SQLJoinTableSource join = (SQLJoinTableSource) source; - collectTables(join.getLeft(), result); - collectTables(join.getRight(), result); - } else if (source instanceof SQLLateralViewTableSource) { - collectTables(((SQLLateralViewTableSource) source).getTableSource(), result); - } - // 派生表、CTE 和 UNION 的输出列穿透由后续阶段补充;这里不做全局同名字段猜测。 - } - - private void put(Map result, String qualifier, String realTable) { - if (qualifier == null || realTable == null) - return; - result.put(normalize(qualifier), realTable); - int dot = realTable.lastIndexOf('.'); - if (dot >= 0) - result.putIfAbsent(normalize(realTable.substring(dot + 1)), realTable); - } - - private List uniqueTables(Map tablesByQualifier) { - List result = new ArrayList<>(); - for (String table : tablesByQualifier.values()) - if (!containsIgnoreCase(result, table)) - result.add(table); - return result; - } - - private boolean containsIgnoreCase(List values, String expected) { - for (String value : values) - if (value.equalsIgnoreCase(expected)) - return true; - return false; - } - - private String matchTableName(String tableName, Map> metadata) { - if (metadata == null) - return null; - for (String key : metadata.keySet()) - if (sameTable(key, tableName)) - return key; - return null; - } - - private DataTypeColumn findColumn(String tableName, String columnName, - Map> metadata) { - String metadataTable = matchTableName(tableName, metadata); - if (metadataTable == null) - return null; - List columns = metadata.get(metadataTable); - if (columns != null) - for (DataTypeColumn column : columns) - if (column.getName().equalsIgnoreCase(columnName)) - return column; - return null; - } - - private String uniqueMetadataTable(String columnName, Map> metadata) { - String result = null; - if (metadata != null) - for (Map.Entry> entry : metadata.entrySet()) - for (DataTypeColumn column : entry.getValue()) - if (column.getName().equalsIgnoreCase(columnName)) { - if (result != null && !result.equalsIgnoreCase(entry.getKey())) - return null; - result = entry.getKey(); - } - return result; - } - - private boolean sameTable(String left, String right) { - String normalizedLeft = normalize(left); - String normalizedRight = normalize(right); - return normalizedLeft.equals(normalizedRight) || normalizedLeft.endsWith("." + normalizedRight) - || normalizedRight.endsWith("." + normalizedLeft); - } - - private String normalize(String value) { - return TableSourceUtil.removeQuotes(value).toLowerCase(Locale.ROOT); - } - - private FieldReference fieldReference(SQLExpr field) { - if (field instanceof SQLPropertyExpr) { - SQLPropertyExpr property = (SQLPropertyExpr) field; - return new FieldReference(TableSourceUtil.removeQuotes(property.getOwnerName()), - TableSourceUtil.removeQuotes(property.getName())); - } - if (field instanceof SQLIdentifierExpr) - return new FieldReference(null, - TableSourceUtil.removeQuotes(((SQLIdentifierExpr) field).getName())); - return null; - } - - private static class FieldReference { - private final String owner; - private final String column; - - private FieldReference(String owner, String column) { - this.owner = owner; - this.column = column; - } - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/resolve/ResolvedParameterColumn.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/resolve/ResolvedParameterColumn.java deleted file mode 100644 index f7c7eba..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/resolve/ResolvedParameterColumn.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.resolve; - -/** - * 参数绑定字段在当前查询块中解析出的真实表字段。 - */ -public class ResolvedParameterColumn { - private final String tableName; - private final String columnName; - - public ResolvedParameterColumn(String tableName, String columnName) { - this.tableName = tableName; - this.columnName = columnName; - } - - public String getTableName() { - return tableName; - } - - public String getColumnName() { - return columnName; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/rewrite/PrepareSqlRewriter.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/rewrite/PrepareSqlRewriter.java deleted file mode 100644 index 2fdf8fc..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/rewrite/PrepareSqlRewriter.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.rewrite; - -import com.dtstack.sqlparserx.core.config.Constant; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ParamInfo; -import com.dtstack.sqlparserx.core.parser.base.parameter.support.ParameterAstUtils; -import com.dtstack.sqlparserx.core.parser.base.parameter.transfer.ParamDataTypeTransfer; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.SQLUtils; -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.*; -import com.alibaba.druid.sql.ast.statement.*; -import com.alibaba.druid.sql.visitor.SQLASTVisitorAdapter; - -import java.util.*; - -/** - * @description 变量参数预编译SQL改写器 - * @author changlu - * @date 2026/10/12 15:30 - */ -public class PrepareSqlRewriter { - private final DbType dbType; - private final ParamDataTypeTransfer transfer; - private final SqlConditionPruner conditionPruner; - - public PrepareSqlRewriter(DbType dbType, ParamDataTypeTransfer transfer) { - this.dbType = dbType; - this.transfer = transfer; - this.conditionPruner = new SqlConditionPruner(); - } - - public PrepareCompileResult rewrite(SQLStatement statement, Map input, - Map columns) { - // 0) 预编译改写仅面向「SQL 转 API」的 SELECT 查询 - if (!(statement instanceof SQLSelectStatement)) - throw new IllegalArgumentException("预编译改写仅支持 SELECT 查询: " + statement.getClass().getSimpleName()); - - // 1) 克隆 AST,避免改写调用方传入的语法树;规整入参值与参数定义 - final SQLStatement sql = statement.clone(); - final Map values = input == null ? Collections.emptyMap() : input; - final Map definitions = columns == null ? Collections.emptyMap() : columns; - - // 2) 条件剪枝:可选条件缺值则从 WHERE / HAVING 中移除;必填缺值则触发异常 - sql.accept(new SQLASTVisitorAdapter() { - @Override - public boolean visit(SQLSelectQueryBlock x) { - x.setWhere(conditionPruner.prune(x.getWhere(), values, definitions)); - if (x.getGroupBy() != null) - x.getGroupBy().setHaving( - conditionPruner.prune(x.getGroupBy().getHaving(), values, definitions)); - return true; - } - }); - - // 3) 变量改写:IN 展开、ORDER BY/GROUP BY 内联、其余 ${变量} 改为占位符并记录绑定值 - final IdentityHashMap pairs = new IdentityHashMap<>(); - sql.accept(new SQLASTVisitorAdapter() { - // 3.1) IN / NOT IN:变量值按集合展开为多个占位符 - @Override - public boolean visit(SQLInListExpr x) { - List targets = new ArrayList<>(); - for (SQLExpr target : x.getTargetList()) { - if (!ParameterAstUtils.isVariable(target)) { - targets.add(target); - continue; - } - String name = ParameterAstUtils.variableName(target); - for (Object value : ParameterAstUtils.asList(ParameterAstUtils.value(values, definitions, name))) { - SQLVariantRefExpr marker = new SQLVariantRefExpr(Constant.PREPARED_PLACEHOLDER); - pairs.put(marker, transfer.transfer(type(definitions, name), value)); - targets.add(marker); - } - } - x.setTargetList(targets); - return true; - } - // 3.2) ORDER BY:变量值直接内联为标识符,不产生占位符 - @Override - public boolean visit(SQLSelectOrderByItem x) { - if (ParameterAstUtils.isVariable(x.getExpr())) - x.setExpr(identifierValue(x.getExpr())); - return true; - } - // 3.3) GROUP BY:变量值直接内联为标识符,不产生占位符 - @Override - public boolean visit(SQLSelectGroupByClause x) { - for (int i = 0; i < x.getItems().size(); i++) - if (ParameterAstUtils.isVariable(x.getItems().get(i))) - x.getItems().set(i, identifierValue(x.getItems().get(i))); - return true; - } - private SQLIdentifierExpr identifierValue(SQLExpr expression) { - String name = ParameterAstUtils.variableName(expression); - return new SQLIdentifierExpr(String.valueOf(ParameterAstUtils.value(values, definitions, name))); - } - // 3.4) 其余 ${变量}:改为占位符,并按参数定义的字段类型转换绑定值 - @Override - public boolean visit(SQLVariantRefExpr x) { - if (ParameterAstUtils.isVariable(x)) { - String name = ParameterAstUtils.variableName(x); - pairs.put(x, transfer.transfer(type(definitions, name), - ParameterAstUtils.value(values, definitions, name))); - x.setName(Constant.PREPARED_PLACEHOLDER); - } - return true; - } - }); - - // 4) 按改写后 AST 的遍历顺序收集绑定值,保证与最终渲染出的占位符顺序一致 - final List ordered = new ArrayList<>(); - sql.accept(new SQLASTVisitorAdapter() { - @Override - public boolean visit(SQLVariantRefExpr x) { - if (Constant.PREPARED_PLACEHOLDER.equals(x.getName()) && pairs.containsKey(x)) - ordered.add(pairs.get(x)); - return true; - } - }); - - // 5) 渲染预编译 SQL,返回「占位符 SQL + 有序绑定值」 - String rendered = dbType == null ? SQLUtils.toSQLString(sql) : SQLUtils.toSQLString(sql, dbType); - return new PrepareCompileResult(ordered, rendered); - } - - private String type(Map definitions, String name) { - ParamInfo definition = definitions.get(name); - return definition == null ? null : definition.getDataType(); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/rewrite/SqlConditionPruner.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/rewrite/SqlConditionPruner.java deleted file mode 100644 index 1835443..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/rewrite/SqlConditionPruner.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.rewrite; - -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ParamInfo; -import com.dtstack.sqlparserx.core.parser.base.parameter.support.ParameterAstUtils; - -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; -import com.alibaba.druid.sql.ast.expr.SQLVariantRefExpr; -import com.alibaba.druid.sql.visitor.SQLASTVisitorAdapter; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * @description 缺省可选参数SQL条件剪枝器 - * @author changlu - * @date 2026/10/12 15:30 - */ -public class SqlConditionPruner { - public SQLExpr prune(SQLExpr expression, Map values, Map definitions) { - if (expression == null) - return null; - if (expression instanceof SQLBinaryOpExpr - && ParameterAstUtils.isLogical(((SQLBinaryOpExpr) expression).getOperator())) { - SQLBinaryOpExpr binary = (SQLBinaryOpExpr) expression; - SQLExpr left = prune(binary.getLeft(), values, definitions); - SQLExpr right = prune(binary.getRight(), values, definitions); - if (left == null) - return right; - if (right == null) - return left; - binary.setLeft(left); - binary.setRight(right); - return binary; - } - for (String name : variableNames(expression)) - if (ParameterAstUtils.value(values, definitions, name) == null) { - ParamInfo definition = definitions.get(name); - if (definition != null && definition.isImperative()) - definition.hasValue(); - return null; - } - return expression; - } - - private List variableNames(SQLExpr expression) { - final List names = new ArrayList<>(); - expression.accept(new SQLASTVisitorAdapter() { - @Override - public boolean visit(SQLVariantRefExpr x) { - if (ParameterAstUtils.isVariable(x)) - names.add(ParameterAstUtils.variableName(x)); - return true; - } - }); - return names; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/service/ParamParseService.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/service/ParamParseService.java deleted file mode 100644 index cb6c9a9..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/service/ParamParseService.java +++ /dev/null @@ -1,325 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.service; - -import com.dtstack.sqlparserx.core.enums.ParamOperatorEnum; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.*; -import com.dtstack.sqlparserx.core.parser.base.parameter.resolve.ParameterColumnResolver; -import com.dtstack.sqlparserx.core.parser.base.parameter.resolve.ResolvedParameterColumn; -import com.dtstack.sqlparserx.core.parser.base.parameter.support.ParameterAstUtils; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult; - -import com.alibaba.druid.sql.ast.*; -import com.alibaba.druid.sql.ast.expr.*; -import com.alibaba.druid.sql.ast.statement.*; -import com.alibaba.druid.sql.visitor.SQLASTVisitorAdapter; - -import java.util.*; - -/** - * @description 变量参数配置期解析服务,按照SQL节点类型递归分派 - * @author changlu - * @date 2026/10/12 15:30 - */ -public class ParamParseService { - private final ParameterColumnResolver columnResolver = new ParameterColumnResolver(); - - public ParseParameterResult parse(SQLStatement statement, Boolean isIgnoreSyntaxCheck, - Map> metadata) { - // 1) 初始化结果容器:入参按首次出现顺序(LinkedHashMap)、出参 span、表 - Map params = new LinkedHashMap<>(); - List outputs = new ArrayList<>(); - - // 2) 「SQL 转 API」变量参数解析仅支持 SELECT 查询;其他语句在开启语法校验时抛异常,否则忽略 - if (statement instanceof SQLSelectStatement) - parseSelectStatement((SQLSelectStatement) statement, params, outputs, metadata); - else if (!Boolean.TRUE.equals(isIgnoreSyntaxCheck)) - throw new IllegalArgumentException("变量参数解析仅支持 SELECT 查询: " + statement.getClass().getSimpleName()); - - // 3) 组装结果(tables 当前暂为空) - return new ParseParameterResult(new ArrayList<>(params.values()), outputs, Collections.emptyList()); - } - - private void parseSelectStatement(SQLSelectStatement selectStatement, Map params, - List outputs, Map> metadata) { - walkSelect(selectStatement.getSelect(), params, outputs, metadata); - } - - private void walkSelect(SQLSelect select, Map params, List outputs, - Map> meta) { - if (select == null) - return; - // 1) 先递归 WITH ... AS ... 中的每个 CTE 子查询。 - // CTE 内的变量仍写入同一个 params,但 CTE 投影列只是中间结果,不能写入最终 API outputs。 - if (select.getWithSubQuery() != null) - for (SQLWithSubqueryClause.Entry e : select.getWithSubQuery().getEntries()) - walkSelect(e.getSubQuery(), params, new ArrayList(), meta); - // 2) 再解析主体查询(query block 或 union) - walkQuery(select.getQuery(), params, outputs, meta); - // 3) SELECT 级别的 ORDER BY / LIMIT(简单查询在 query block 上,此处兼容极端形态) - walkOrderBy(select.getOrderBy(), params, meta); - walkLimit(select.getLimit(), params, meta); - } - private void walkQuery(SQLSelectQuery query, Map params, List outputs, - Map> meta) { - if (query instanceof SQLSelectQueryBlock) - walkBlock((SQLSelectQueryBlock) query, params, outputs, meta); - else if (query instanceof SQLUnionQuery) { - SQLUnionQuery union = (SQLUnionQuery) query; - // UNION 各分支输出列按位置形成同一套结果结构,因此最终 API 输出只取第一分支; - // 后续分支仍递归解析变量,但使用临时 outputs,避免重复追加相同位置的输出列。 - for (int i = 0; i < union.getRelations().size(); i++) - walkQuery(union.getRelations().get(i), params, - i == 0 ? outputs : new ArrayList(), meta); - // union 级别的 ORDER BY / LIMIT 挂在 SQLUnionQuery 上 - walkOrderBy(union.getOrderBy(), params, meta); - walkLimit(union.getLimit(), params, meta); - } - } - private void walkOrderBy(SQLOrderBy orderBy, Map params, - Map> meta) { - if (orderBy != null) - for (SQLSelectOrderByItem item : orderBy.getItems()) - walkExpr(item.getExpr(), params, meta); - } - private void walkLimit(SQLLimit limit, Map params, Map> meta) { - if (limit != null) { - walkExpr(limit.getOffset(), params, meta); - walkExpr(limit.getRowCount(), params, meta); - } - } - private void walkBlock(SQLSelectQueryBlock block, Map params, List outputs, - Map> meta) { - // 按 SQL 结构顺序递归:FROM -> WHERE -> GROUP BY/HAVING -> ORDER BY -> LIMIT -> SELECT 列表 - walkTable(block.getFrom(), params, outputs, meta); - walkExpr(block.getWhere(), params, meta); - if (block.getGroupBy() != null) { - for (SQLExpr e : block.getGroupBy().getItems()) - walkExpr(e, params, meta); - walkExpr(block.getGroupBy().getHaving(), params, meta); - } - walkOrderBy(block.getOrderBy(), params, meta); - walkLimit(block.getLimit(), params, meta); - for (SQLSelectItem item : block.getSelectList()) { - if (ParameterAstUtils.isVariable(item.getExpr())) { - ParameterSpan s = span(item, null, Collections.singletonList(item.getExpr()), - ParamOperatorEnum.SELECT_LIST.getSymbol(), true, meta); - register(params, s); - } else { - ApiParamSpan out = new ApiParamSpan(item.getExpr().toString()); - out.setAlias(item.getAlias()); - out.setBindColumns(bind(item.getExpr(), meta)); - outputs.add(out); - walkExpr(item.getExpr(), params, meta); - } - } - } - private void walkTable(SQLTableSource source, Map params, List outputs, - Map> meta) { - // 按表来源类型递归:派生表 / JOIN / UNION 子查询 / LATERAL VIEW。 - // FROM 内的查询只提供中间表,其投影列不属于当前最外层 API 输出,统一使用临时 outputs。 - if (source instanceof SQLSubqueryTableSource) - walkSelect(((SQLSubqueryTableSource) source).getSelect(), params, new ArrayList(), meta); - else if (source instanceof SQLJoinTableSource) { - SQLJoinTableSource join = (SQLJoinTableSource) source; - walkTable(join.getLeft(), params, outputs, meta); - walkTable(join.getRight(), params, outputs, meta); - walkExpr(join.getCondition(), params, meta); - } else if (source instanceof SQLUnionQueryTableSource) - walkQuery(((SQLUnionQueryTableSource) source).getUnion(), params, new ArrayList(), meta); - else if (source instanceof SQLLateralViewTableSource) - walkTable(((SQLLateralViewTableSource) source).getTableSource(), params, outputs, meta); - } - private void walkExpr(SQLExpr expr, Map params, Map> meta) { - if (expr == null) - return; - // 1) 二元比较条件:右侧为变量则登记参数,并把左侧表达式作为待绑定的真实字段。 - // 例如 u.tenant_id = ${tenantId} 中:field=u.tenant_id、variable=tenantId; - // 后续 span -> bind 会使用 field 的 owner/column 去 tableColumnsMap 查字段类型与注释。 - if (expr instanceof SQLBinaryOpExpr) { - SQLBinaryOpExpr b = (SQLBinaryOpExpr) expr; - if (ParameterAstUtils.isVariable(b.getRight()) && !ParameterAstUtils.isLogical(b.getOperator())) { - register(params, span(b, b.getLeft(), Collections.singletonList(b.getRight()), ParamOperatorEnum - .ofDruid(b.getOperator()).getSymbol(), false, meta)); - walkExpr(b.getLeft(), params, meta); - } else { - walkExpr(b.getLeft(), params, meta); - walkExpr(b.getRight(), params, meta); - } - return; - } - // 2) IN / NOT IN:列表中的变量归到同一参数定义,左值为绑定字段 - if (expr instanceof SQLInListExpr) { - SQLInListExpr in = (SQLInListExpr) expr; - List vars = new ArrayList<>(); - for (SQLExpr target : in.getTargetList()) - if (ParameterAstUtils.isVariable(target)) - vars.add(target); - if (!vars.isEmpty()) - register(params, span(in, in.getExpr(), vars, in.isNot() - ? ParamOperatorEnum.NOT_IN.getSymbol() - : ParamOperatorEnum.IN.getSymbol(), false, meta)); - walkExpr(in.getExpr(), params, meta); - for (SQLExpr target : in.getTargetList()) - if (!ParameterAstUtils.isVariable(target)) - walkExpr(target, params, meta); - return; - } - // 2.1) BETWEEN / NOT BETWEEN:区间两端变量归到同一参数定义,被比较值为绑定字段 - if (expr instanceof SQLBetweenExpr) { - SQLBetweenExpr between = (SQLBetweenExpr) expr; - List vars = new ArrayList<>(); - if (ParameterAstUtils.isVariable(between.getBeginExpr())) - vars.add(between.getBeginExpr()); - if (ParameterAstUtils.isVariable(between.getEndExpr())) - vars.add(between.getEndExpr()); - if (!vars.isEmpty()) - register(params, span(between, between.getTestExpr(), vars, (between.isNot() - ? ParamOperatorEnum.NOT_BETWEEN - : ParamOperatorEnum.BETWEEN).getSymbol(), false, meta)); - walkExpr(between.getTestExpr(), params, meta); - if (!ParameterAstUtils.isVariable(between.getBeginExpr())) - walkExpr(between.getBeginExpr(), params, meta); - if (!ParameterAstUtils.isVariable(between.getEndExpr())) - walkExpr(between.getEndExpr(), params, meta); - return; - } - // 3) 子查询表达式:递归进入内部 select - if (expr instanceof SQLQueryExpr) { - walkSelect(((SQLQueryExpr) expr).getSubQuery(), params, new ArrayList(), meta); - return; - } - // 4) EXISTS 子查询:递归进入内部 select - if (expr instanceof SQLExistsExpr) { - walkSelect(((SQLExistsExpr) expr).getSubQuery(), params, new ArrayList(), meta); - return; - } - // 5) IN 子查询:左表达式与内部 select 分别递归 - if (expr instanceof SQLInSubQueryExpr) { - SQLInSubQueryExpr inSubQuery = (SQLInSubQueryExpr) expr; - walkExpr(inSubQuery.getExpr(), params, meta); - walkSelect(inSubQuery.getSubQuery(), params, new ArrayList(), meta); - return; - } - // 6) 变量本体:登记为 CUSTOM 参数 - if (ParameterAstUtils.isVariable(expr)) { - register(params, span(expr, null, Collections.singletonList(expr), ParamOperatorEnum.CUSTOM.getSymbol(), - false, meta)); - return; - } - // 7) 其他复合表达式(函数/CASE 等):Druid visitor 兜底收集其中变量 - walkChildren(expr, params, meta); - } - private void walkChildren(SQLObject object, Map params, Map> meta) { - object.accept(new SQLASTVisitorAdapter() { - @Override - public boolean visit(SQLVariantRefExpr variable) { - if (ParameterAstUtils.isVariable(variable)) - register(params, span(variable, null, Collections.singletonList(variable), - ParamOperatorEnum.CUSTOM.getSymbol(), false, meta)); - return true; - } - }); - } - private ParameterSpan span(SQLObject part, SQLExpr field, List vars, String op, boolean must, - Map> meta) { - ParameterSpan s = new ParameterSpan(part.toString(), op, must); - List names = new ArrayList<>(); - for (SQLExpr v : vars) - names.add(ParameterAstUtils.variableName(v)); - s.params = names; - // 将变量所在条件的字段表达式绑定到外部传入的表字段元数据。 - // 绑定结果随后会由 register/applyBindInfo 写入 ParamInfo.fieldName/dataType/desc。 - s.bindColumns = bind(field, meta); - return s; - } - private void register(Map result, ParameterSpan span) { - for (String name : span.params) { - ParamInfo existing = result.get(name); - if (existing == null) { - ParamInfo param = new ParamInfo(name); - param.setImperative(span.must); - param.setOperator(span.operator); - param.setSqlPart(span.sqlPart); - applyBindInfo(param, span); - result.put(name, param); - } else { - // 同一变量多次出现:必填优先;首次缺失的字段绑定信息补齐,其余保留首次出现 - mergeParamInfo(existing, span); - } - } - } - - private void mergeParamInfo(ParamInfo existing, ParameterSpan span) { - if (span.must) { - existing.setImperative(true); - } - if (existing.getSqlPart() == null) - existing.setSqlPart(span.sqlPart); - if (existing.getFieldName() == null && !span.bindColumns.isEmpty()) { - DataTypeColumn column = span.bindColumns.get(0); - existing.setFieldName(column.getName()); - if (existing.getDataType() == null) - existing.setDataType(column.getType()); - if (existing.getDesc() == null) - existing.setDesc(column.getComment()); - } - } - - private void applyBindInfo(ParamInfo param, ParameterSpan span) { - if (!span.bindColumns.isEmpty()) { - DataTypeColumn column = span.bindColumns.get(0); - param.setFieldName(column.getName()); - param.setDataType(column.getType()); - param.setDesc(column.getComment()); - } - } - - /** 参数识别过程中的内部状态,不暴露到 ParseParameterResult.outputParams。 */ - private static class ParameterSpan { - private final String sqlPart; - private final String operator; - private final boolean must; - private List params = Collections.emptyList(); - private List bindColumns = Collections.emptyList(); - - private ParameterSpan(String sqlPart, String operator, boolean must) { - this.sqlPart = sqlPart; - this.operator = operator; - this.must = must; - } - } - private List bind(SQLExpr field, Map> meta) { - if (field == null) - return Collections.emptyList(); - - // 参数字段绑定分成两步: - // 1) 定位:基于字段所在 SQLSelectQueryBlock 的 FROM/JOIN 作用域,把 u.tenant_id - // 确定性地解析为 user_info.tenant_id; - // 2) 取元数据:只在解析出的真实表内查询 DataTypeColumn,并回填类型和注释。 - // 裸字段在当前作用域存在多个同名候选时,resolver 会返回 tableName=null;此时保留字段名, - // 但不猜测 dataType/comment,避免类型结果随 tableColumnsMap 遍历顺序变化。 - ResolvedParameterColumn resolved = columnResolver.resolve(field, meta); - if (resolved == null) - return Collections.emptyList(); - DataTypeColumn hit = columnResolver.findColumn(resolved, meta); - return Collections.singletonList(hit == null - ? new DataTypeColumn(resolved.getColumnName(), null, null) - : new DataTypeColumn(hit.getName(), hit.getType(), hit.getComment())); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/support/ParameterAstUtils.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/support/ParameterAstUtils.java deleted file mode 100644 index f08812f..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/support/ParameterAstUtils.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.support; - -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ParamInfo; - -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; -import com.alibaba.druid.sql.ast.expr.SQLVariantRefExpr; - -import java.lang.reflect.Array; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -/** - * @description 变量参数AST处理工具类 - * @author changlu - * @date 2026/10/12 15:30 - */ -public final class ParameterAstUtils { - private ParameterAstUtils() { - } - - public static boolean isVariable(SQLExpr expr) { - if (!(expr instanceof SQLVariantRefExpr)) - return false; - String name = ((SQLVariantRefExpr) expr).getName(); - return name != null && name.matches("\\$\\{[a-zA-Z_0-9]+}"); - } - - public static String variableName(SQLExpr expr) { - String name = ((SQLVariantRefExpr) expr).getName(); - return name.substring(2, name.length() - 1); - } - - public static boolean isLogical(SQLBinaryOperator operator) { - return operator == SQLBinaryOperator.BooleanAnd || operator == SQLBinaryOperator.BooleanOr; - } - - public static Object value(Map values, Map definitions, String name) { - if (values.containsKey(name)) - return values.get(name); - ParamInfo definition = definitions.get(name); - if (definition == null) - return null; - return definition.getValue() != null ? definition.getValue() : definition.getDefaultValue(); - } - - public static List asList(Object value) { - if (value == null) - return Collections.emptyList(); - List result = new ArrayList<>(); - if (value instanceof Iterable) { - for (Object item : (Iterable) value) - result.add(item); - } else if (value.getClass().isArray()) { - for (int i = 0; i < Array.getLength(value); i++) - result.add(Array.get(value, i)); - } else - result.add(value); - return result; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/transfer/BaseParamDataTypeTransfer.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/transfer/BaseParamDataTypeTransfer.java deleted file mode 100644 index 02a31c4..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/transfer/BaseParamDataTypeTransfer.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.transfer; - -import java.math.BigDecimal; -import java.sql.Timestamp; -import java.util.Locale; - -/** - * @description 通用参数字段类型转换器 - * @author changlu - * @date 2026/10/12 15:30 - */ -public class BaseParamDataTypeTransfer implements ParamDataTypeTransfer { - @Override - public Object transfer(String dataType, Object value) { - if (value == null || dataType == null) - return value; - String type = dataType.trim().toUpperCase(Locale.ROOT); - try { - if (type.startsWith("BIGINT") || type.startsWith("INT8")) - return Long.valueOf(value.toString()); - if (type.startsWith("TINYINT") || type.startsWith("SMALLINT") || type.startsWith("INT")) - return Integer.valueOf(value.toString()); - if (type.startsWith("DECIMAL") || type.startsWith("NUMERIC") || type.startsWith("NUMBER")) - return new BigDecimal(value.toString()); - if (type.startsWith("FLOAT")) - return Float.valueOf(value.toString()); - if (type.startsWith("DOUBLE")) - return Double.valueOf(value.toString()); - if (type.startsWith("BOOL")) - return Boolean.valueOf(value.toString()); - if (type.startsWith("TIMESTAMP")) - return Timestamp.valueOf(value.toString()); - return value.toString(); - } catch (RuntimeException exception) { - return value.toString(); - } - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/transfer/ParamDataTypeTransfer.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/transfer/ParamDataTypeTransfer.java deleted file mode 100644 index bbd9403..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/transfer/ParamDataTypeTransfer.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.transfer; - -/** - * @description 参数字段类型转换接口,用于「SQL 转 API」预编译场景下的参数值类型适配。 - *

- * 用途场景:用户手写带 {@code ${变量}} 的 SQL,平台分两步处理,类型转换发生在运行期: - *

    - *
  1. 配置期 {@code parseParameterSql}:解析变量绑定的真实表字段,把字段的方言类型写入 - * {@code ParamInfo.dataType} 随 API 配置落库;
  2. - *
  3. 运行期 {@code buildSqlByPrepareCompile}:依据 {@code columns[param].dataType} 决定每个 - * {@code ?} 的绑定类型,调用本接口把请求值转成 JDBC 绑定对象,按顺序写入 - * {@code PrepareCompileResult.inputFields} 供绑定执行。
  4. - *
- *

- * 使用位置:由 {@code PrepareSqlRewriter} 持有,在把 {@code ${变量}} 改写为 {@code ?} 时对每个 - * 参数值调用;具体实现通过对应 Parser 注入,默认实现为 {@code BaseParamDataTypeTransfer},各数据源可在 - * 自身 {@code parser//parameter} 包下提供方言转换实现。 - *

- * 约定:{@code dataType} 或 {@code value} 为空时原样返回;无法识别的非空类型按字符串处理; - * 转换异常应回退为原始值而不是抛出,保证预编译流程不中断。 - * @author changlu - * @date 2026/10/12 15:30 - */ -public interface ParamDataTypeTransfer { - - /** - * 将参数原始值转换为预编译绑定对象 - * @param dataType 数据源方言原始类型字符串(如 BIGINT / VARCHAR(32) / DECIMAL(10,2)),可为空 - * @param value 调用方传入的原始值,可为空 - * @return 绑定到 PreparedStatement 的 Java 对象 - */ - Object transfer(String dataType, Object value); -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/vo/ParseParameterResult.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/vo/ParseParameterResult.java deleted file mode 100644 index 7f0ad04..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/vo/ParseParameterResult.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.vo; - -import com.dtstack.sqlparserx.core.parser.base.lineage.table.Table; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ApiParamSpan; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ParamInfo; - -import java.util.List; - -public class ParseParameterResult { - - // 输出参数集合 - private List outputParams; - - // 输入参数集合 - private List inputParams; - - // 表集合 - private List

tables; - - public ParseParameterResult() { - } - - public ParseParameterResult(List inputParams, List outputParams, List
tables) { - this.inputParams = inputParams; - this.outputParams = outputParams; - this.tables = tables; - } - - public List getOutputParams() { - return outputParams; - } - public void setOutputParams(List outputParams) { - this.outputParams = outputParams; - } - public List getInputParams() { - return inputParams; - } - public void setInputParams(List inputParams) { - this.inputParams = inputParams; - } - public List
getTables() { - return tables; - } - public void setTables(List
tables) { - this.tables = tables; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/vo/PrepareCompileResult.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/vo/PrepareCompileResult.java deleted file mode 100644 index 9cf90a0..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/parameter/vo/PrepareCompileResult.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.parameter.vo; - -import java.util.List; - -public class PrepareCompileResult { - - // 预编译结果集合 - private List inputFields; - // 预编译之后的sql - private String beautifulSql; - - public PrepareCompileResult() { - } - - public PrepareCompileResult(List inputFields, String beautifulSql) { - this.inputFields = inputFields; - this.beautifulSql = beautifulSql; - } - - public String getBeautifulSql() { - return beautifulSql; - } - - public void setBeautifulSql(String beautifulSql) { - this.beautifulSql = beautifulSql; - } - - public List getInputFields() { - return inputFields; - } - - public void setInputFields(List inputFields) { - this.inputFields = inputFields; - } - - @Override - public String toString() { - return "PrepareCompileResult{" + - "inputFields=" + inputFields + - ", beautifulSql='" + beautifulSql + '\'' + - '}'; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/BaseSqlFilterClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/BaseSqlFilterClient.java deleted file mode 100644 index d08754a..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/BaseSqlFilterClient.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.sqlfilter; - -import com.dtstack.sqlparserx.core.parser.ISqlFilterClient; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.BaseRowLevelPermissionHandler; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo.RowLevelPermissionFilterParam; -import com.dtstack.sqlparserx.syntax.SqlSyntaxParserFactory; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.*; -import com.alibaba.druid.sql.ast.statement.*; - -import java.util.LinkedHashSet; -import java.util.List; - -/** - * @description sql过滤相关client,如行级、列级权限sql - * @author changlu - * @date 2025/7/1 00:42 - */ -public class BaseSqlFilterClient implements ISqlFilterClient { - - private DbType dbType; - - public BaseSqlFilterClient(DbType dbType) { - this.dbType = dbType; - } - - private SQLStatement parseSqlStatement(String sql) { - return SqlSyntaxParserFactory.getParser(this.dbType).parseStatement(sql); - } - - @Override - public String filterSortSelectField(String sql, LinkedHashSet outputParams, List filterFiled) { - return ""; - } - - @Override - public String getRowLevelPermissionSql(String sql, List permissionParams) { - if (permissionParams == null || permissionParams.isEmpty()) { - return sql; - } - SQLStatement sqlStatement = this.parseSqlStatement(sql); - return getRowLevelPermissionHandler().getRowLevelPermissionSql(sqlStatement, permissionParams); - } - - @Override - public RowLevelPermissionHandler getRowLevelPermissionHandler() { - return new BaseRowLevelPermissionHandler(); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/RowLevelPermissionHandler.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/RowLevelPermissionHandler.java deleted file mode 100644 index c94e372..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/RowLevelPermissionHandler.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.sqlfilter; - -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.builder.BaseExprBuilder; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo.RowLevelPermissionFilterParam; - -import com.alibaba.druid.sql.ast.SQLStatement; - -import java.util.List; - -public interface RowLevelPermissionHandler { - - /** - * 行级权限过滤 - * @param sqlStatement SQL语法树 - * @param permissionParams 权限过滤参数列表 - * @return 返回结果中的standardSql为生成的行级权限过滤的SQL语句 - * @throws Exception 如果发生异常 - */ - String getRowLevelPermissionSql(SQLStatement sqlStatement, List permissionParams); - - /** - * 获取Expr构建器 - * @return BaseExprBuilder - */ - default BaseExprBuilder getExprBuilder() { - return new BaseExprBuilder(); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/BaseRowLevelPermissionHandler.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/BaseRowLevelPermissionHandler.java deleted file mode 100644 index 3409de3..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/BaseRowLevelPermissionHandler.java +++ /dev/null @@ -1,260 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.sqlfilter.row; - -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.RowLevelPermissionHandler; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo.RowLevelPermissionFilterParam; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo.TableInfo; -import com.dtstack.sqlparserx.core.utils.TableSourceUtil; - -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; -import com.alibaba.druid.sql.ast.statement.*; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Consumer; - -public class BaseRowLevelPermissionHandler implements RowLevelPermissionHandler { - - @Override - public String getRowLevelPermissionSql(SQLStatement sqlStatement, - List permissionParams) { - if (sqlStatement instanceof SQLInsertStatement) { - handleInsertStatement((SQLInsertStatement) sqlStatement, permissionParams); - } else if (sqlStatement instanceof SQLSelectStatement) { - handleSelectStatement((SQLSelectStatement) sqlStatement, permissionParams); - } else if (sqlStatement instanceof SQLUpdateStatement) { - handleUpdateStatement((SQLUpdateStatement) sqlStatement, permissionParams); - } else if (sqlStatement instanceof SQLDeleteStatement) { - handleDeleteStatement((SQLDeleteStatement) sqlStatement, permissionParams); - } - return sqlStatement.toString(); - } - - /** - * 通用处理方法 - 适用于带有WHERE子句的语句(UPDATE/DELETE) - */ - protected void handleStatementWithWhereClause(SQLTableSource from, - SQLExpr existingWhere, - List permissionParams, - Consumer whereSetter) { - List tableInfos = handleInSQLTableSource(from, permissionParams); - - SQLExpr combinedCondition = buildCombinedConditionForTables(tableInfos, permissionParams); - - if (combinedCondition != null) { - whereSetter.accept(mergeConditions(existingWhere, combinedCondition)); - } - } - - /** - * 为多个表构建组合条件 - */ - protected SQLExpr buildCombinedConditionForTables(List tableInfos, - List permissionParams) { - boolean paramNotNeedUseTable = tableInfos.size() == 1; - SQLExpr combinedCondition = null; - - for (TableInfo tableInfo : tableInfos) { - SQLExpr tableCondition = buildCombinedCondition(permissionParams, tableInfo, paramNotNeedUseTable); - if (tableCondition != null) { - if (combinedCondition == null) { - combinedCondition = tableCondition; - } else { - combinedCondition = new SQLBinaryOpExpr(combinedCondition, SQLBinaryOperator.BooleanAnd, - tableCondition); - } - } - } - - return combinedCondition; - } - - /** - * 合并现有条件和新增条件 - */ - private SQLExpr mergeConditions(SQLExpr existingWhere, SQLExpr newCondition) { - if (existingWhere == null) { - return newCondition; - } - - if (existingWhere instanceof SQLBinaryOpExpr) { - SQLBinaryOpExpr sqlBinaryOpExpr = (SQLBinaryOpExpr) existingWhere; - if (SQLBinaryOperator.BooleanOr.equals(sqlBinaryOpExpr.getOperator())) { - sqlBinaryOpExpr.setParenthesized(true); - } - } - - return new SQLBinaryOpExpr(existingWhere, SQLBinaryOperator.BooleanAnd, newCondition); - } - - private void handleSelectStatement(SQLSelectStatement selectStatement, - List permissionParams) { - SQLSelect select = selectStatement.getSelect(); - if (select != null) { - handleSelectQuery(select.getQuery(), permissionParams); - } - } - - private void handleInsertStatement(SQLInsertStatement insertStatement, - List permissionParams) { - SQLSelect query = insertStatement.getQuery(); - if (query != null) { - handleSelectQuery(query.getQuery(), permissionParams); - } - } - - private void handleSelectQuery(SQLSelectQuery selectQuery, List permissionParams) { - if (selectQuery instanceof SQLSelectQueryBlock) { - handleSelectQueryBlock((SQLSelectQueryBlock) selectQuery, permissionParams); - } else if (selectQuery instanceof SQLUnionQuery) { - SQLUnionQuery unionQuery = (SQLUnionQuery) selectQuery; - handleSelectQuery(unionQuery.getLeft(), permissionParams); - handleSelectQuery(unionQuery.getRight(), permissionParams); - } - } - - // 处理select结构 - private void handleSelectQueryBlock(SQLSelectQueryBlock selectQueryBlock, - List permissionParams) { - SQLTableSource from = selectQueryBlock.getFrom(); - - List tableInfos = handleInSQLTableSource(from, permissionParams); - - boolean paramNotNeedUseTable = tableInfos.size() == 1; - for (TableInfo tableInfo : tableInfos) { - // 根据当前的table表名信息来进行构建条件expr节点 - SQLExpr combinedCondition = buildCombinedCondition(permissionParams, tableInfo, paramNotNeedUseTable); - // 合并 新构建的 & 原始select结构的条件到一起 - if (combinedCondition != null) { - SQLExpr existingWhere = selectQueryBlock.getWhere(); - if (existingWhere == null) { - selectQueryBlock.setWhere(combinedCondition); - } else { - // 若是原始存在的为or条件,如:WHERE price > 45.0 OR customer_name = 'John',新条件为newCondition,则需要将条件进行(price > 45.0 OR customer_name = 'John') - if (existingWhere instanceof SQLBinaryOpExpr) { - SQLBinaryOpExpr sqlBinaryOpExpr = (SQLBinaryOpExpr) existingWhere; - if (SQLBinaryOperator.BooleanOr.equals(sqlBinaryOpExpr.getOperator())) { - sqlBinaryOpExpr.setParenthesized(true); - } - } - selectQueryBlock.setWhere(new SQLBinaryOpExpr(existingWhere, SQLBinaryOperator.BooleanAnd, - combinedCondition)); - } - } - } - } - - // 处理update结构 - protected void handleUpdateStatement(SQLUpdateStatement sqlStatement, - List permissionParams) { - handleStatementWithWhereClause( - // SQLUpdateStatement中的from表通过tablesource获取 - (sqlStatement).getTableSource(), - (sqlStatement).getWhere(), - permissionParams, - (sqlStatement)::setWhere); - } - - // 处理delete结构 - private void handleDeleteStatement(SQLDeleteStatement sqlStatement, - List permissionParams) { - handleStatementWithWhereClause( - (sqlStatement).getFrom(), - (sqlStatement).getWhere(), - permissionParams, - (sqlStatement)::setWhere); - } - - public List handleInSQLTableSource(SQLTableSource from, - List permissionParams) { - List collectSelectTables = new ArrayList<>(); - - if (from instanceof SQLExprTableSource) { - SQLExprTableSource tableSource = (SQLExprTableSource) from; - String fullTableName = TableSourceUtil.extractTableName(tableSource); - String alias = tableSource.getAlias(); - TableInfo tableInfo = new TableInfo(fullTableName, alias); - collectSelectTables.add(tableInfo); - } else if (from instanceof SQLSubqueryTableSource) { - // 子查询无需收集 - handleSubqueryTableSource((SQLSubqueryTableSource) from, permissionParams); - } else if (from instanceof SQLJoinTableSource) { - SQLJoinTableSource sqlJoinTableSource = (SQLJoinTableSource) from; - collectSelectTables.addAll(handleInSQLTableSource(sqlJoinTableSource.getLeft(), permissionParams)); - collectSelectTables.addAll(handleInSQLTableSource(sqlJoinTableSource.getRight(), permissionParams)); - } - return collectSelectTables; - } - - private void handleSubqueryTableSource(SQLSubqueryTableSource subqueryTableSource, - List permissionParams) { - handleSelectQuery(subqueryTableSource.getSelect().getQuery(), permissionParams); - } - - /** - * 一个表 & 多个权限参数合并为一个条件 - * @param permissionParams List - * @param tableInfo TableInfo - * @param paramNotNeedUseTable boolean 构建的条件中是否属性不需要带表名,若是例如 select * from order,单表就无需带上表名 如:select * from table where region in ('abc') - */ - private SQLExpr buildCombinedCondition(List permissionParams, - TableInfo tableInfo, boolean paramNotNeedUseTable) { - SQLExpr combinedCondition = null; - - for (RowLevelPermissionFilterParam param : permissionParams) { - if (!isParamApplicable(param, tableInfo.getTableName())) { - continue; - } - - SQLExpr condition = createSingleCondition(param, tableInfo, paramNotNeedUseTable); - if (condition != null) { - combinedCondition = combineConditions(combinedCondition, condition, param); - } - } - - return combinedCondition; - } - - private boolean isParamApplicable(RowLevelPermissionFilterParam param, String tableName) { - return tableName == null || tableName.endsWith(param.getTableName()); - } - - private SQLExpr createSingleCondition(RowLevelPermissionFilterParam param, TableInfo tableInfo, - boolean paramNotNeedUseTable) { - if (param.getFieldValue() == null || param.getFieldValue().isEmpty()) { - return null; - } - return getExprBuilder().buildCondition(param, tableInfo, paramNotNeedUseTable); - } - - private SQLExpr combineConditions(SQLExpr existing, SQLExpr newCondition, - RowLevelPermissionFilterParam param) { - if (existing == null) - return newCondition; - - SQLBinaryOperator operator = param.getLinkOperatorEnum() == RowLevelPermissionFilterParam.LinkOperatorEnum.OR - ? SQLBinaryOperator.BooleanOr - : SQLBinaryOperator.BooleanAnd; - return new SQLBinaryOpExpr(existing, operator, newCondition); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/builder/BaseExprBuilder.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/builder/BaseExprBuilder.java deleted file mode 100644 index 452a323..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/builder/BaseExprBuilder.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.builder; - -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo.RowLevelPermissionFilterParam; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo.TableInfo; - -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.expr.*; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -public class BaseExprBuilder { - - public BaseExprBuilder() { - } - - public SQLExpr buildCondition(RowLevelPermissionFilterParam param, TableInfo tableInfo, - boolean paramNotNeedUseTable) { - SQLExpr fieldExpr = createFieldExpression(param.getFieldName(), tableInfo, paramNotNeedUseTable); - String dataType = param.getFieldType(); - - if (param.getOperatorEnum() == null) { - return buildFallbackCondition(fieldExpr, param, dataType); - } - return buildConditionByOperator(fieldExpr, param, dataType); - } - - private SQLExpr buildConditionByOperator(SQLExpr fieldExpr, - RowLevelPermissionFilterParam param, - String dataType) { - switch (param.getOperatorEnum()) { - case IN : - case NOT_IN : - return buildInCondition(fieldExpr, param, dataType); - case EQ : - case NOT_EQ : - return buildComparisonCondition(fieldExpr, param, dataType); - case NULL : - return createNullCondition(fieldExpr); - default : - return buildFallbackCondition(fieldExpr, param, dataType); - } - } - - private SQLExpr buildInCondition(SQLExpr fieldExpr, - RowLevelPermissionFilterParam param, - String dataType) { - SQLInListExpr inExpr = new SQLInListExpr(fieldExpr); - param.getFieldValue().forEach(value -> inExpr.getTargetList().add(createValueExpression(value, dataType))); - inExpr.setNot(param.getOperatorEnum() == RowLevelPermissionFilterParam.OperatorEnum.NOT_IN); - return inExpr; - } - - private SQLExpr buildComparisonCondition(SQLExpr fieldExpr, - RowLevelPermissionFilterParam param, - String dataType) { - return new SQLBinaryOpExpr( - fieldExpr, - getComparisonOperator(param.getOperatorEnum()), - createValueExpression(param.getFieldValue().get(0), dataType)); - } - - private SQLExpr buildFallbackCondition(SQLExpr fieldExpr, - RowLevelPermissionFilterParam param, - String dataType) { - List fieldValues = param.getFieldValue(); - if (fieldValues == null || fieldValues.isEmpty()) - return null; - // 若是有一个元素默认就是eq,多个元素就是in - if (fieldValues.size() == 1) { - return new SQLBinaryOpExpr( - fieldExpr, - SQLBinaryOperator.Equality, - createValueExpression(param.getFieldValue().get(0), dataType)); - } else { - SQLInListExpr inExpr = new SQLInListExpr(fieldExpr); - fieldValues.forEach(value -> inExpr.getTargetList().add(createValueExpression(value, dataType))); - return inExpr; - } - } - - private SQLBinaryOperator getComparisonOperator(RowLevelPermissionFilterParam.OperatorEnum operator) { - return operator == RowLevelPermissionFilterParam.OperatorEnum.EQ - ? SQLBinaryOperator.Equality - : SQLBinaryOperator.NotEqual; - } - - // 后续可扩展各个supportBuild方法 根据传递具体filed类型来判断创建expr - private SQLExpr createValueExpression(Object value, String fieldType) { - if (value == null) - return new SQLNullExpr(); - - if (fieldType == null) { - return new SQLCharExpr(value.toString()); - } - - String upperFieldType = fieldType.toUpperCase(); - - // 根据类型匹配去创建expr - if (getSupportBuildNumberExprDataTypes().contains(upperFieldType)) { - return createNumberExpr(value); - } - if (getSupportBuildBooleanExprDataTypes().contains(upperFieldType)) { - return createBooleanExpr(value); - } - - return new SQLCharExpr(value.toString()); - } - - private SQLExpr createNullCondition(SQLExpr fieldExpr) { - return new SQLBinaryOpExpr(fieldExpr, SQLBinaryOperator.Is, new SQLNullExpr()); - } - - private SQLExpr createFieldExpression(String fieldName, TableInfo tableInfo, boolean paramNotNeedUseTable) { - // 1、优先走别名 - String alias = tableInfo.getAlias(); - if (alias != null) - return new SQLPropertyExpr(alias, fieldName); - - // 2、若是没有别名且当前一组select关联表只有一个时,直接使用属性,无需带table - if (paramNotNeedUseTable) - return new SQLIdentifierExpr(fieldName); - - // 3、若是无别名,有table名则带上table名 - String tableName = tableInfo.getTableName(); - if (tableName != null) - return new SQLPropertyExpr(tableName, fieldName); - - // 4、无表、别名 不带任何属性 - return new SQLIdentifierExpr(fieldName); - } - - protected List getSupportBuildNumberExprDataTypes() { - return Arrays.asList( - "BIT", "TINYINT", "SMALLINT", "MEDIUMINT", "INT", "BIGINT", - "FLOAT", "DOUBLE", "DECIMAL"); - } - - protected List getSupportBuildBooleanExprDataTypes() { - return Collections.singletonList("BOOLEAN"); - } - - private SQLExpr createNumberExpr(Object value) { - if (value instanceof Number) { - return new SQLNumberExpr((Number) value); - } - try { - return new SQLNumberExpr(Double.parseDouble(value.toString())); - } catch (NumberFormatException e) { - return new SQLCharExpr(value.toString()); - } - } - - private SQLExpr createBooleanExpr(Object value) { - if (value instanceof Boolean) { - return new SQLBooleanExpr((Boolean) value); - } - String strValue = value.toString().toLowerCase(); - if ("true".equals(strValue) || "1".equals(strValue)) { - return new SQLBooleanExpr(true); - } - if ("false".equals(strValue) || "0".equals(strValue)) { - return new SQLBooleanExpr(false); - } - return new SQLCharExpr(value.toString()); - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/vo/RowLevelPermissionFilterParam.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/vo/RowLevelPermissionFilterParam.java deleted file mode 100644 index 6d2fe11..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/vo/RowLevelPermissionFilterParam.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo; -import java.util.List; - -public class RowLevelPermissionFilterParam { - - /** - * 表名称,这个是包含了catalog和schema - */ - private String tableName; - - /** - * 字段名称 - */ - private String fieldName; - - /** - * 字段值 - */ - private List fieldValue; - - /** - * 符号 - */ - private OperatorEnum operatorEnum; - - /** - * 链接符 - */ - private LinkOperatorEnum linkOperatorEnum; - - /** - * 字段类型 - */ - private String fieldType; - - public String getTableName() { - return tableName; - } - - public void setTableName(String tableName) { - this.tableName = tableName; - } - - public String getFieldName() { - return fieldName; - } - - public void setFieldName(String fieldName) { - this.fieldName = fieldName; - } - - public List getFieldValue() { - return fieldValue; - } - - public void setFieldValue(List fieldValue) { - this.fieldValue = fieldValue; - } - - public String getFieldType() { - return fieldType; - } - - public void setFieldType(String fieldType) { - this.fieldType = fieldType; - } - - public OperatorEnum getOperatorEnum() { - return operatorEnum; - } - - public void setOperatorEnum(OperatorEnum operatorEnum) { - this.operatorEnum = operatorEnum; - } - - public LinkOperatorEnum getLinkOperatorEnum() { - return linkOperatorEnum; - } - - public void setLinkOperatorEnum(LinkOperatorEnum linkOperatorEnum) { - this.linkOperatorEnum = linkOperatorEnum; - } - - public enum OperatorEnum { - IN(1, " IN "), NOT_IN(2, " NOT IN "), EQ(3, " = "), NOT_EQ(4, " != "), NULL(5, " is null"); - - final int code; - - final String opera; - - OperatorEnum(int code, String opera) { - this.code = code; - this.opera = opera; - } - - public int getCode() { - return code; - } - - public String getOpera() { - return opera; - } - } - - public enum LinkOperatorEnum { - AND(1, " AND "), OR(2, " OR "); - - final int code; - - final String opera; - - LinkOperatorEnum(int code, String opera) { - this.code = code; - this.opera = opera; - } - - public int getCode() { - return code; - } - - public String getOpera() { - return opera; - } - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/vo/TableInfo.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/vo/TableInfo.java deleted file mode 100644 index 9a5dd53..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqlfilter/row/vo/TableInfo.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo; - -/** - * @description Table信息类 - * @author changlu - * @date 2025/7/1 23:27 - */ -public class TableInfo { - // 表名(可能为catalog.db.table、db.table、table) - String tableName; - String alias; - - public TableInfo(String tableName, String alias) { - this.tableName = tableName; - this.alias = alias; - } - - public String getTableName() { - return tableName; - } - - public String getAlias() { - return alias; - } - - public void setTableName(String tableName) { - this.tableName = tableName; - } - - public void setAlias(String alias) { - this.alias = alias; - } - - @Override - public String toString() { - return "TableInfo{" + - "tableName='" + tableName + '\'' + - ", alias='" + alias + '\'' + - '}'; - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqltype/BaseParseSqlTypeClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqltype/BaseParseSqlTypeClient.java deleted file mode 100644 index 663b454..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/sqltype/BaseParseSqlTypeClient.java +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.sqltype; - -import com.dtstack.sqlparserx.core.enums.SqlType; -import com.dtstack.sqlparserx.core.parser.IParseSqlTypeClient; - -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.statement.*; -import com.alibaba.druid.sql.dialect.sqlserver.ast.stmt.SQLServerExecStatement; - -/** - * @description SQL 类型解析默认实现:按 Druid 语句类型分派判定业务 SQL 类型;无法识别返回 {@link SqlType#OTHER} - * @author changlu - * @date 2026/10/12 17:40 - */ -public class BaseParseSqlTypeClient implements IParseSqlTypeClient { - - @Override - public SqlType parseSqlType(SQLStatement stmt) { - if (stmt == null) { - return SqlType.OTHER; - } - // 查询 - if (stmt instanceof SQLSelectStatement) { - return selectType((SQLSelectStatement) stmt); - } - // 数据操作 - if (stmt instanceof SQLInsertStatement) { - return SqlType.INSERT; - } - if (stmt instanceof SQLUpdateStatement) { - return SqlType.UPDATE; - } - if (stmt instanceof SQLDeleteStatement) { - return SqlType.DELETE; - } - if (stmt instanceof SQLTruncateStatement) { - return SqlType.TRUNCATE; - } - if (stmt instanceof SQLMergeStatement) { - return SqlType.MERGE_INTO; - } - if (stmt instanceof SQLBlockStatement || stmt instanceof SQLBeginStatement) { - return SqlType.BEGIN_END; - } - // 结构操作 - if (stmt instanceof SQLCreateTableStatement) { - return createTableType((SQLCreateTableStatement) stmt); - } - if (stmt instanceof SQLCreateViewStatement) { - return createViewType((SQLCreateViewStatement) stmt); - } - if (stmt instanceof SQLCreateMaterializedViewStatement) { - return SqlType.CREATE_MATERIALIZED_VIEW; - } - if (stmt instanceof SQLDropTableStatement || stmt instanceof SQLDropViewStatement) { - return SqlType.DROP; - } - if (stmt instanceof SQLDropMaterializedViewStatement) { - return SqlType.DROP_MATERIALIZED_VIEW; - } - if (stmt instanceof SQLAlterTableStatement) { - return alterTableType((SQLAlterTableStatement) stmt); - } - if (stmt instanceof SQLAlterMaterializedViewStatement) { - return SqlType.ALTER_MATERIALIZED_VIEW; - } - if (stmt instanceof SQLRefreshMaterializedViewStatement) { - return SqlType.REFRESH_MATERIALIZED_VIEW; - } - if (stmt instanceof SQLCommentStatement) { - return SqlType.COMMENT_ON; - } - // 描述 - if (stmt instanceof SQLDescribeStatement) { - return describeType((SQLDescribeStatement) stmt); - } - // SHOW:具体子类优先于笼统 SHOW - if (stmt instanceof SQLShowDatabasesStatement) { - return SqlType.DATABASE_SHOW; - } - if (stmt instanceof SQLShowStatement) { - return showType((SQLShowStatement) stmt); - } - // 执行计划 - if (stmt instanceof SQLExplainStatement || stmt instanceof SQLExplainAnalyzeStatement) { - return SqlType.EXPLAIN; - } - // 函数 / 过程 - if (stmt instanceof SQLCreateFunctionStatement) { - return SqlType.CREATE_FUNCTION; - } - if (stmt instanceof SQLDropFunctionStatement) { - return SqlType.DROP_FUNCTION; - } - if (stmt instanceof SQLServerExecStatement || stmt instanceof SQLCallStatement) { - return SqlType.PROCEDURE_EXEC; - } - // 数据库 - if (stmt instanceof SQLCreateDatabaseStatement) { - return SqlType.DATABASE_CREATE; - } - if (stmt instanceof SQLDropDatabaseStatement) { - return SqlType.DATABASE_DROP; - } - return SqlType.OTHER; - } - - /** - * 查询:WITH_QUERY(含 CTE)/ QUERY_NO_FROM(无 from)/ QUERY - */ - protected SqlType selectType(SQLSelectStatement stmt) { - SQLSelect select = stmt.getSelect(); - if (select != null && select.getWithSubQuery() != null) { - return SqlType.WITH_QUERY; - } - if (isQueryNoFrom(select)) { - return SqlType.QUERY_NO_FROM; - } - return SqlType.QUERY; - } - - private boolean isQueryNoFrom(SQLSelect select) { - if (select == null) { - return false; - } - SQLSelectQuery query = select.getQuery(); - return query instanceof SQLSelectQueryBlock && ((SQLSelectQueryBlock) query).getFrom() == null; - } - - /** - * 建表:CREATE_AS(as select)/ CREATE_LIKE(like)/ CREATE_TEMP(临时表)/ CREATE - */ - protected SqlType createTableType(SQLCreateTableStatement stmt) { - if (stmt.getSelect() != null) { - return SqlType.CREATE_AS; - } - if (stmt.getLike() != null) { - return SqlType.CREATE_LIKE; - } - if (stmt.isTemporary()) { - return SqlType.CREATE_TEMP; - } - return SqlType.CREATE; - } - - /** - * 建视图:CREATE_AS(as select)/ CREATE_VIEW - */ - protected SqlType createViewType(SQLCreateViewStatement stmt) { - return stmt.getSubQuery() != null ? SqlType.CREATE_AS : SqlType.CREATE_VIEW; - } - - /** - * 改表:按 alter item 细分,未命中归 ALTER - */ - protected SqlType alterTableType(SQLAlterTableStatement stmt) { - for (SQLAlterTableItem item : stmt.getItems()) { - if (item instanceof SQLAlterTableRenameColumn) { - return SqlType.ALTERTABLE_RENAMECOL; - } - if (item instanceof SQLAlterTableAddColumn) { - return SqlType.ALTERTABLE_ADDCOLS; - } - if (item instanceof SQLAlterTableReplaceColumn) { - return SqlType.ALTERTABLE_REPLACECOLS; - } - if (item instanceof SQLAlterTableAddPartition) { - return SqlType.ALTERTABLE_ADDPARTS; - } - if (item instanceof SQLAlterTableDropPartition) { - return SqlType.ALTERTABLE_DROPPARTS; - } - if (item instanceof SQLAlterTableRenamePartition) { - return SqlType.ALTERTABLE_RENAMEPART; - } - if (item instanceof SQLAlterTableRename) { - return SqlType.ALTERTABLE_RENAME; - } - } - return SqlType.ALTER; - } - - /** - * 描述:DATABASE_DESC / DESC_TABLE - */ - protected SqlType describeType(SQLDescribeStatement stmt) { - return stmt.getObjectType() == SQLObjectType.DATABASE ? SqlType.DATABASE_DESC : SqlType.DESC_TABLE; - } - - /** - * SHOW 细分:具体语句优先,未命中归 SHOW - */ - protected SqlType showType(SQLShowStatement stmt) { - if (stmt instanceof SQLShowTablesStatement) { - return SqlType.SHOW_TABLES; - } - if (stmt instanceof SQLShowCreateTableStatement) { - return SqlType.SHOW_CREATETABLE; - } - if (stmt instanceof SQLShowColumnsStatement) { - return SqlType.SHOW_COLUMNS; - } - if (stmt instanceof SQLShowFunctionsStatement) { - return SqlType.SHOW_FUNCTION; - } - if (stmt instanceof SQLShowCreateMaterializedViewStatement) { - return SqlType.SHOW_CREATE_MATERIALIZED_VIEW; - } - if (stmt instanceof SQLShowMaterializedViewStatement) { - return SqlType.SHOW_MATERIALIZED_VIEW; - } - return SqlType.SHOW; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/BaseParseTableClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/BaseParseTableClient.java deleted file mode 100644 index ad42594..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/BaseParseTableClient.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table; - -import com.dtstack.sqlparserx.core.parser.IParseTableClient; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.sql.ast.SQLStatement; - -/** - * @description 解析表基类client - * 目前支持支持解析真实表-parseTables - * 解析create table类型-parseCreateTable - * @author changlu - * @date 2025/8/4 11:30 - */ -public class BaseParseTableClient implements IParseTableClient { - - @Override - public ParseCreateTableResult parseCreateTable(SQLStatement stmt) { - return getParseCreateTableClient().parseCreateTable(stmt); - } - - @Override - public ParseTableResult parseTables(SQLStatement stmt) { - return getParseTableClient().parseTables(stmt); - } - - protected ParseTablesClient getParseTableClient() { - return new ParseTablesClient(); - } - - protected ParseCreateTableClient getParseCreateTableClient() { - return new ParseCreateTableClient(); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/ParseCreateTableClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/ParseCreateTableClient.java deleted file mode 100644 index 7d09040..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/ParseCreateTableClient.java +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table; - -import com.dtstack.sqlparserx.core.domain.Pair; -import com.dtstack.sqlparserx.core.parser.IParseTableClient; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.Table; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.domain.*; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.DistributedByTypeEnum; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.TableKeyEnum; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.TablePartitionEnum; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; -import com.dtstack.sqlparserx.core.utils.CollectionUtil; -import com.dtstack.sqlparserx.core.utils.CommonUtil; -import com.dtstack.sqlparserx.core.utils.TableSourceUtil; - -import com.alibaba.druid.sql.ast.*; -import com.alibaba.druid.sql.ast.expr.SQLCharExpr; -import com.alibaba.druid.sql.ast.statement.*; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * @description 解析create table 类型client - * @author changlu - * @date 2025/8/4 11:20 - */ -public class ParseCreateTableClient implements IParseTableClient { - - @Override - public ParseCreateTableResult parseCreateTable(SQLStatement stmt) { - if (stmt instanceof SQLCreateTableStatement) { - return parseCreateTableInfo((SQLCreateTableStatement) stmt); - } else { - throw new UnsupportedOperationException("该方言暂未支持"); - } - } - - protected ParseCreateTableResult parseCreateTableInfo(SQLCreateTableStatement stmt) { - ParseCreateTableResult result = new ParseCreateTableResult(); - - // 是否存在if not exist判断 - boolean ifNotExists = stmt.isIfNotExists(); - result.setNotExists(ifNotExists); - - // 获取到建表基本信息 - SQLExprTableSource tableSource = stmt.getTableSource(); - Table table = TableSourceUtil.extractTable(tableSource); - result.setDb(table.getDb()); - result.setTableName(table.getName()); - - // 获取到表注释信息 - SQLExpr tableComment = stmt.getComment(); - if (tableComment != null) { - result.setTableComment(CommonUtil.removeQuotes(tableComment.toString())); - } - - // 获取到表的建表字段信息 - result.setTableElementList(parseCreateTableElement(stmt.getTableElementList())); - // 获取到表的分区信息 - result.setPartitionedByList(parseColumnDefinition(stmt.getPartitionColumns())); - // 获取到表的指定类型键信息 - result.setTableKey(parseTableKey(stmt.getUnique())); - // 获取到分桶信息 - result.setTableDistributedBuckets(parseTableDistributedBuckets(stmt)); - // 获取表的特定分区 - result.setTablePartition(parseTablePartition(stmt.getPartitioning())); - // 获取表的properties参数 - result.setProperties(parseTableProperties(stmt.getTableOptions())); - - // 是否开启识别动态分区 - if (isDynamicPartitionEnabled()) { - TablePartition tablePartition = result.getTablePartition(); - Map properties = result.getProperties(); - if (analyzeHasDynamicPartitionTypeProperties(properties)) { - tablePartition.setTablePartitionEnum(TablePartitionEnum.DYNAMIC); - } - } - return result; - } - - /** - * 分析配置参数中是否有动态分区 - * @param properties Map - * @return boolean - * @author changlu - */ - protected boolean analyzeHasDynamicPartitionTypeProperties(Map properties) { - return false; - } - - /** - * 是否开启识别动态分区 - * @param - * @return boolean - */ - protected boolean isDynamicPartitionEnabled() { - return false; - } - - /** - * 解析表的properties参数 - * @param tableOptions 表的properties参数 - * @return Map - */ - protected Map parseTableProperties(List tableOptions) { - Map properties = new HashMap<>(); - if (CollectionUtil.isEmpty(tableOptions)) - return properties; - for (SQLAssignItem tableOption : tableOptions) { - String target = CommonUtil.sqlExpr2Value(tableOption.getTarget()); - String value = CommonUtil.sqlExpr2Value(tableOption.getValue()); - properties.put(target, value); - } - return properties; - } - - /** - * 解析表的分桶信息 - * @param stmt SQLCreateTableStatement - * @return TableDistributedBuckets - */ - protected TableDistributedBuckets parseTableDistributedBuckets(SQLCreateTableStatement stmt) { - if (stmt == null) - return new TableDistributedBuckets(); - // 分桶数 - int buckets = stmt.getBuckets(); - // 获取到分桶类型 & 分桶字段 - Pair> distributedByTypeEnumListPair = dealDistributeByColumns(stmt); - DistributedByTypeEnum distributedByTypeEnum = distributedByTypeEnumListPair.getFirst(); - List columnNames = distributedByTypeEnumListPair.getSecond(); - - // 设置分桶结果类 - TableDistributedBuckets tableDistributedBuckets = new TableDistributedBuckets(); - tableDistributedBuckets.setBucketNum(buckets); - tableDistributedBuckets.setDistributedByTypeEnum(distributedByTypeEnum); - tableDistributedBuckets.setColumnNames(columnNames); - return tableDistributedBuckets; - } - - /** - * 获取到key:DistributedByType,value为字段名 - * @param stmt SQLCreateTableStatement - * @return Pair> - */ - protected Pair> dealDistributeByColumns(SQLCreateTableStatement stmt) { - // 暂无实现 - return new Pair<>(null, new ArrayList<>()); - } - - protected TablePartition parseTablePartition(SQLPartitionBy partitionBy) { - if (partitionBy == null) - return new TablePartition(); - TablePartition tablePartition = new TablePartition(); - List columns = partitionBy.getColumns(); - List partitions = partitionBy.getPartitions(); - - // 设置分区字段 - if (CollectionUtil.isNotEmpty(columns)) { - tablePartition.setColumnName(CommonUtil.sqlExprs2Values(columns)); - } - // 设置分区元素 - tablePartition.setTablePartitionElement(dealTablePartitionElement(partitions)); - // 设置分区类型枚举 - tablePartition.setTablePartitionEnum(dealTablePartitionEnum(partitionBy)); - return tablePartition; - } - - /** - * 处理表分区元素 - * @param partitions SQLPartition - * @return List - */ - protected List dealTablePartitionElement(List partitions) { - List partitionElements = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(partitions)) { - partitionElements = partitions.stream() - .map(partition -> { - TablePartitionElement tablePartitionElement = new TablePartitionElement(); - if (partition instanceof SQLPartitionSingle) { - SQLPartitionSingle sqlPartitionSingle = (SQLPartitionSingle) partition; - SQLName name = sqlPartitionSingle.getName(); - SQLPartitionValue values = sqlPartitionSingle.getValues(); - List items = values.getItems(); - - tablePartitionElement.setName(name.getSimpleName()); - tablePartitionElement.setValues(CommonUtil.sqlExprs2Values((items))); - } - return tablePartitionElement; - }) - .collect(Collectors.toList()); - } - return partitionElements; - } - - /** - * 处理表分区枚举 - * @param partitionBy SQLPartitionBy - * @return TablePartitionEnum - */ - protected TablePartitionEnum dealTablePartitionEnum(SQLPartitionBy partitionBy) { - TablePartitionEnum tablePartitionEnum = null; - if (partitionBy instanceof SQLPartitionByRange) { - tablePartitionEnum = TablePartitionEnum.RANGER; - } else if (partitionBy instanceof SQLPartitionByList) { - tablePartitionEnum = TablePartitionEnum.LIST; - } - return tablePartitionEnum; - } - - /** - * 解析建表指定类型的键值 - * @param unique SQLUnique - * @return TableKey - */ - protected TableKey parseTableKey(SQLUnique unique) { - if (unique == null) - return new TableKey(); - TableKey tableKey = new TableKey(); - // 处理指定类型键值的类型信息(默认unique) - tableKey.setTableKeyEnum(dealTableKey(unique)); - - // 处理指定类型键值的列信息 - List columns = unique.getColumns(); - List columnNames = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(columns)) { - columnNames = columns.stream().map((column) -> { - String columnName = column.getExpr().toString(); - return CommonUtil.removeQuotes(columnName); - }).collect(Collectors.toList()); - } - tableKey.setColumnName(columnNames); - - return tableKey; - } - - protected TableKeyEnum dealTableKey(SQLUnique unique) { - return TableKeyEnum.UNIQUE; - } - - protected List parseCreateTableElement(List tableElementList) { - if (CollectionUtil.isEmpty(tableElementList)) { - return new ArrayList<>(); - } - List resultList = new ArrayList<>(); - for (SQLTableElement sqlTableElement : tableElementList) { - if (sqlTableElement instanceof SQLColumnDefinition) { - resultList.addAll(parseColumnDefinition(Collections.singletonList( - (SQLColumnDefinition) sqlTableElement))); - } - } - return resultList; - } - - private List parseColumnDefinition(List columnDefinitions) { - if (CollectionUtil.isEmpty(columnDefinitions)) { - return new ArrayList<>(); - } - List resultList = new ArrayList<>(); - for (SQLColumnDefinition columnDefinition : columnDefinitions) { - TableElement element = new TableElement(); - String name = columnDefinition.getName().getSimpleName(); - String typeName = columnDefinition.getDataType().getName(); - SQLExpr comment = columnDefinition.getComment(); - SQLCharExpr aggType = columnDefinition.getAggType(); - - element.setName(CommonUtil.removeQuotes(name)); - element.setType(CommonUtil.removeQuotes(typeName)); - if (Objects.nonNull(comment)) { - element.setComment(CommonUtil.removeQuotes(comment.toString())); - } - element.setArguments(columnDefinition.getDataType().getArguments().stream().map(x -> x.toString()).collect( - Collectors.toList())); - element.setAggType(CommonUtil.sqlExpr2Value(aggType)); - resultList.add(element); - } - return resultList; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/ParseTablesClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/ParseTablesClient.java deleted file mode 100644 index 623f891..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/ParseTablesClient.java +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table; - -import com.dtstack.sqlparserx.core.parser.IParseTableClient; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.Table; -import com.dtstack.sqlparserx.core.parser.base.table.component.ParseSelectTableService; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; -import com.dtstack.sqlparserx.core.select.column.SelectColumnItem; -import com.dtstack.sqlparserx.core.select.column.SelectColumnSpecialLineageService; -import com.dtstack.sqlparserx.core.select.table.SelectTable; -import com.dtstack.sqlparserx.core.utils.CollectionUtil; -import com.dtstack.sqlparserx.core.utils.TableSourceUtil; - -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.statement.*; -import com.alibaba.druid.util.StringUtils; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * @description 解析真实表Client - * @author changlu - * @date 2025/8/4 14:35 - */ -public class ParseTablesClient implements IParseTableClient { - - protected Set
allTables = new HashSet<>(); - protected Table mainTable; - private final ParseSelectTableService parseSelectTableService = new ParseSelectTableService(); - - public ParseTablesClient() { - } - - /** - * 对外解析表入口 - */ - @Override - public ParseTableResult parseTables(SQLStatement stmt) { - if (stmt instanceof SQLSelectStatement) { - parseSelectTables((SQLSelectStatement) stmt); - } else if (stmt instanceof SQLUpdateStatement) { - parseUpdateTables((SQLUpdateStatement) stmt); - } else if (stmt instanceof SQLDeleteStatement) { - parseDeleteTables((SQLDeleteStatement) stmt); - } else if (stmt instanceof SQLDropTableStatement) { - parseDropTables((SQLDropTableStatement) stmt); - } else if (stmt instanceof SQLTruncateStatement) { - parseTruncateTables((SQLTruncateStatement) stmt); - } else if (stmt instanceof SQLCommentStatement) { - parseCommentTables((SQLCommentStatement) stmt); - } else if (stmt instanceof SQLCreateTableStatement) { - parseCreateTables((SQLCreateTableStatement) stmt); - } else if (stmt instanceof SQLInsertStatement) { - parseInsertTables((SQLInsertStatement) stmt); - } - return getParseTableResult(); - } - - protected void parseSelectTables(SQLSelectStatement x) { - SQLSelect select = x.getSelect(); - if (select != null) { - List selectTables = parseSelectTableService.queryTablesBySqlSelect(select); - if (!selectTables.isEmpty()) { - this.mainTable = transferTable(selectTables.get(0)); - - Set
tables = this.transferTables(selectTables); - this.allTables.addAll(tables); - } - } - } - - protected void parseUpdateTables(SQLUpdateStatement x) { - Table table = TableSourceUtil.extractTable(x.getTableSource()); - if (table != null) { - this.mainTable = table; - this.allTables.add(table); - } - } - - protected void parseDeleteTables(SQLDeleteStatement x) { - Table table = TableSourceUtil.extractTable(x.getTableSource()); - if (table != null) { - this.mainTable = table; - this.allTables.add(table); - } - } - - protected void parseDropTables(SQLDropTableStatement x) { - parseCommonStatement(x.getTableSources()); - } - - protected void parseTruncateTables(SQLTruncateStatement x) { - parseCommonStatement(x.getTableSources()); - } - - protected void parseCommentTables(SQLCommentStatement x) { - SQLExprTableSource exprTableSource = x.getOn(); - SQLCommentStatement.Type type = x.getType(); - // 示范场景:COMMENT ON COLUMN batch_601.employees2.name IS '姓名' - if (type == SQLCommentStatement.Type.COLUMN) { - SelectColumnSpecialLineageService selectColumnSpecialLineageService = new SelectColumnSpecialLineageService(); - // expr表达式为 - SelectColumnItem selectColumnItem = selectColumnSpecialLineageService.buildSelectColumnItem(exprTableSource - .getExpr()); - String tableName = selectColumnItem.getTableInfo(); - mainTable = Table.TableTransfer.parse(tableName); - } else { - mainTable = TableSourceUtil.extractTable(exprTableSource); - } - this.allTables.add(mainTable); - } - - protected void parseCreateTables(SQLCreateTableStatement x) { - // 主表 - mainTable = TableSourceUtil.extractTable(x.getTableSource()); - - // 处理CREATE TABLE AS SELECT 其他场景无血缘情况 - SQLSelect select = x.getSelect(); - if (select != null) { - SQLSelectQuery selectQuery = select.getQuery(); - // select结构中的来源表 - List selectTables = parseSelectTableService.queryTablesBySqlSelectQuery(selectQuery); - this.allTables.addAll(transferTables(selectTables)); - } - this.allTables.add(mainTable); - } - - protected void parseInsertTables(SQLInsertStatement x) { - // 逻辑步骤与表血缘一致 - // 1、目标表 - mainTable = TableSourceUtil.extractTable(x.getTableSource()); - // 2、获取到主体查询的一组tables - SQLSelect query = x.getQuery(); - List selectTables = parseSelectTableService.queryTablesBySqlSelect(query); - // 3、with as场景处理 - // check是否是with as结构 - // 情况1:with 在 insert 上场景 【x.getWith()】 => 大部分数据源 - SQLWithSubqueryClause withSubqueryClause = x.getWith(); - // 场景2:with 在 insert 下场景 【x.getQuery().getWithSubQuery()】=> doris - if (withSubqueryClause == null && query != null) { - withSubqueryClause = query.getWithSubQuery(); - } - // check是否满足with as场景 - if (withSubqueryClause != null) { - // 3.1、构建with map - Map> tableInfoByTableMap = parseSelectTableService.buildTableInfoByTableMap( - withSubqueryClause); - - // 3.2、处理with as场景 & 主体select字段情况 过滤掉主体中引用with as 别名表字段情况 - selectTables = matchWithAsAndAddAnotherTables(selectTables, tableInfoByTableMap); - } - - // 处理来源表 - this.allTables.addAll(transferTables(selectTables)); - // 处理目标表 - this.allTables.add(mainTable); - } - - public void parseCommonStatement(List tableSources) { - mainTable = TableSourceUtil.extractTable(tableSources.get(0)); - - for (SQLExprTableSource tableSource : tableSources) { - this.allTables.add(TableSourceUtil.extractTable(tableSource)); - } - } - - /** - * with as 场景处理:考虑完成selectTables中具有的别名替换 & 其他未引用别名场景的tables也要添加进来 - */ - private List matchWithAsAndAddAnotherTables(List selectTables, - Map> tableInfoByTableMap) { - // 用于记录后续替换过的with as 的别名 - Set usedAliases = new HashSet<>(); - // 1、提前转换map - /** - * filter逻辑:针对with as递归cte场景单独处理,过滤掉一组中同样引用别名情况 - * 转换效果如下: - * t5 -> [{tableInfo:"t5, table1"}, {tableInfo:"table2"}] - * => 只过滤得到最终为 - * t5->table1,table2 - */ - Map aliasNameBySourceTables = tableInfoByTableMap.entrySet().stream() - .collect(Collectors.toMap( - Map.Entry::getKey, - entry -> entry.getValue().stream() - .map(SelectTable::getTableInfo) // 获取每个 TableInfo - .flatMap(tableInfo -> Arrays.stream(tableInfo.split(",", -1))) // 将每个 TableInfo 按逗号分割为多个 tableName - .map(String::trim) // 去除多余的空格 - .filter(tableName -> !tableName.equals(entry.getKey())) // 过滤掉与 entryKey 相同的 tableName - .collect(Collectors.joining(",")) // 将剩余的 tableName 拼接为字符串 - )); - - // 2、重新构建匹配替换select主体引用的别名表 - List newSelectTables = new ArrayList<>(); - for (SelectTable selectTable : selectTables) { - List tableGroup = new ArrayList<>(); - String[] selectTableArr = selectTable.getTableInfo().split(","); - for (String tableName : selectTableArr) { - if (aliasNameBySourceTables.containsKey(tableName)) { - String tableInfo = aliasNameBySourceTables.get(tableName); - // 如果with as中的某个别名表中实际无真实引用表,如 with t1 as (select 1 as id, "name1" as name),无真实表则无需添加 - if (!StringUtils.isEmpty(tableInfo)) { - tableGroup.add(tableInfo); - usedAliases.add(tableName); - } - } else { - tableGroup.add(tableName); - } - - } - if (CollectionUtil.isNotEmpty(tableGroup)) { - newSelectTables.add(new SelectTable(String.join(",", tableGroup), selectTable.getAliasName())); - } - } - - // 筛选出来未进行替换的所有key、value - // 3. 添加未在主查询中使用但定义了的CTE对应的表 - for (Map.Entry entry : aliasNameBySourceTables.entrySet()) { - String alias = entry.getKey(); - String sourceTables = entry.getValue(); - - if (!usedAliases.contains(alias) && !sourceTables.isEmpty()) { - // 添加未使用的CTE对应的实际表 - newSelectTables.add(new SelectTable(sourceTables, alias)); - } - } - - return newSelectTables; - } - - private Table transferTable(SelectTable selectTable) { - String tableInfo = selectTable.getTableInfo(); - if (tableInfo.contains(",")) { - tableInfo = tableInfo.split(",", -1)[0]; - } - return Table.TableTransfer.parse(tableInfo); - } - - private Set
transferTables(List selectTables) { - Set
tables = new HashSet<>(); - for (SelectTable selectTable : selectTables) { - String[] sourceTableArr = selectTable.getTableInfo().split(","); - for (String tableName : sourceTableArr) { - tables.add(Table.TableTransfer.parse(tableName)); - } - } - return tables; - } - - public Set
getTables() { - return allTables; - } - - public Table getMainTable() { - return mainTable; - } - - public ParseTableResult getParseTableResult() { - return new ParseTableResult(mainTable, allTables); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/component/ParseSelectTableService.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/component/ParseSelectTableService.java deleted file mode 100644 index 350c583..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/component/ParseSelectTableService.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.component; - -import com.dtstack.sqlparserx.core.select.table.SelectTable; -import com.dtstack.sqlparserx.core.select.table.SelectTableSpecialLineageService; - -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; -import com.alibaba.druid.sql.ast.expr.SQLInSubQueryExpr; -import com.alibaba.druid.sql.ast.statement.SQLSelect; -import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock; - -import java.util.ArrayList; -import java.util.List; - -/** - * @description 真实表解析select结构组件 - * 1、select 字段、from 表逻辑有追溯真实表的逻辑过程 【SelectTableSpecialLineageService中代码实现】 - * 2、针对于select结构中的额外场景情况,如【where in 中带有表】,这里就进行单独处理,不与血缘中追溯逻辑相耦合。 - * @author changlu - * @date 2025/4/27 14:28 - */ -public class ParseSelectTableService extends SelectTableSpecialLineageService { - - @Override - public List queryTableBySqlSelectQueryBlock(SQLSelectQueryBlock selectQueryBlock) { - List tables = super.queryTableBySqlSelectQueryBlock(selectQueryBlock); - // 针对 where in 场景中的真实表解析 - tables.addAll(queryTableBySQLExpr(selectQueryBlock.getWhere())); - return tables; - } - - private List queryTableBySQLExpr(SQLExpr sqlExpr) { - List tables = new ArrayList<>(); - // 举例:id in (select * from table) - if (sqlExpr instanceof SQLInSubQueryExpr) { - SQLInSubQueryExpr sqlInSubQueryExpr = (SQLInSubQueryExpr) sqlExpr; - // 即为select * from table,查询到表 - SQLSelect sqlSelect = sqlInSubQueryExpr.getSubQuery(); - List selectTables = super.queryTablesBySqlSelect(sqlSelect); - tables.addAll(selectTables); - } else if (sqlExpr instanceof SQLBinaryOpExpr) { - // 举例:id IN ( SELECT id FROM tz2) AND name IN ( SELECT name FROM tz3) - SQLBinaryOpExpr sqlBinaryOpExpr = (SQLBinaryOpExpr) sqlExpr; - SQLExpr left = sqlBinaryOpExpr.getLeft(); - SQLExpr right = sqlBinaryOpExpr.getRight(); - tables.addAll(this.queryTableBySQLExpr(left)); - tables.addAll(this.queryTableBySQLExpr(right)); - } - return tables; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TableDistributedBuckets.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TableDistributedBuckets.java deleted file mode 100644 index ea5f369..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TableDistributedBuckets.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.createtable.domain; - -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.DistributedByTypeEnum; - -import java.util.List; - -public class TableDistributedBuckets { - - private DistributedByTypeEnum distributedByTypeEnum; - - private Integer bucketNum; - - private List columnNames; - - public DistributedByTypeEnum getDistributedByTypeEnum() { - return distributedByTypeEnum; - } - - public void setDistributedByTypeEnum(DistributedByTypeEnum distributedByTypeEnum) { - this.distributedByTypeEnum = distributedByTypeEnum; - } - - public Integer getBucketNum() { - return bucketNum; - } - - public void setBucketNum(Integer bucketNum) { - this.bucketNum = bucketNum; - } - - public List getColumnNames() { - return columnNames; - } - - public void setColumnNames(List columnNames) { - this.columnNames = columnNames; - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TableElement.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TableElement.java deleted file mode 100644 index 833e33e..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TableElement.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.createtable.domain; - -import lombok.Data; -import lombok.ToString; - -import java.util.List; - -@Data -@ToString -public class TableElement { - private String name; - private String type; - private List arguments; - private String polymerizeType; - private String comment; - /** - * 字段策略:0 可以 null, 1 不可以 null - */ - private Integer columnStrategy; - - /** - * 字段精度 - */ - private Integer scale; - - /** - * 字段精度 - */ - private Integer precision; - - /** - * 聚合类型 - */ - private String aggType; - - public TableElement() { - } - - public TableElement(String name, String type, List arguments, String polymerizeType, String comment, - Integer columnStrategy, Integer scale, Integer precision) { - this.name = name; - this.type = type; - this.arguments = arguments; - this.polymerizeType = polymerizeType; - this.comment = comment; - this.columnStrategy = columnStrategy; - this.scale = scale; - this.precision = precision; - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TableKey.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TableKey.java deleted file mode 100644 index 710305b..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TableKey.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.createtable.domain; - -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.TableKeyEnum; - -import java.util.List; - -public class TableKey { - - private TableKeyEnum tableKeyEnum; - - private List columnName; - - public TableKeyEnum getTableKeyEnum() { - return tableKeyEnum; - } - - public void setTableKeyEnum(TableKeyEnum tableKeyEnum) { - this.tableKeyEnum = tableKeyEnum; - } - - public List getColumnName() { - return columnName; - } - - public void setColumnName(List columnName) { - this.columnName = columnName; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TablePartition.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TablePartition.java deleted file mode 100644 index 137c69c..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TablePartition.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.createtable.domain; - -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.TablePartitionEnum; - -import java.util.List; - -public class TablePartition { - - /** - * 分区类型 - */ - private TablePartitionEnum tablePartitionEnum; - - /** - * 分区字段 - */ - private List columnName; - - /** - * 分区元素: 只有 LIST和 RANG 有 - */ - private List tablePartitionElement; - - public TablePartitionEnum getTablePartitionEnum() { - return tablePartitionEnum; - } - - public void setTablePartitionEnum(TablePartitionEnum tablePartitionEnum) { - this.tablePartitionEnum = tablePartitionEnum; - } - - public List getColumnName() { - return columnName; - } - - public void setColumnName(List columnName) { - this.columnName = columnName; - } - - public List getTablePartitionElement() { - return tablePartitionElement; - } - - public void setTablePartitionElement(List tablePartitionElement) { - this.tablePartitionElement = tablePartitionElement; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TablePartitionElement.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TablePartitionElement.java deleted file mode 100644 index cb08ee8..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/domain/TablePartitionElement.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.createtable.domain; - -import java.util.List; - -public class TablePartitionElement { - - private String name; - - private List values; - - private boolean isMaxvalue; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public List getValues() { - return values; - } - - public void setValues(List values) { - this.values = values; - } - - public boolean isMaxvalue() { - return isMaxvalue; - } - - public void setMaxvalue(boolean maxvalue) { - isMaxvalue = maxvalue; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/enums/DistributedByTypeEnum.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/enums/DistributedByTypeEnum.java deleted file mode 100644 index 0440f97..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/enums/DistributedByTypeEnum.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.createtable.enums; - -public enum DistributedByTypeEnum { - - Hash(1), Random(2); - - private final Integer code; - - DistributedByTypeEnum(int code) { - this.code = code; - } - - public static DistributedByTypeEnum getByCode(int type) { - DistributedByTypeEnum[] values = DistributedByTypeEnum.values(); - - for (DistributedByTypeEnum value : values) { - if (value.code == type) { - return value; - } - } - return null; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/enums/TableKeyEnum.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/enums/TableKeyEnum.java deleted file mode 100644 index 47c1316..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/enums/TableKeyEnum.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.createtable.enums; - -public enum TableKeyEnum { - - // DUPLICATE(1)重复键 - // AGGREGATE(2)聚合键 - // UNIQUE(3)唯一键 - // PRIMARY(4)主键 - DUPLICATE(1), AGGREGATE(2), UNIQUE(3), PRIMARY(4); - - private final Integer code; - - TableKeyEnum(int code) { - this.code = code; - } - - public static TableKeyEnum getByCode(int type) { - TableKeyEnum[] values = TableKeyEnum.values(); - - for (TableKeyEnum value : values) { - if (value.code == type) { - return value; - } - } - return null; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/enums/TablePartitionEnum.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/enums/TablePartitionEnum.java deleted file mode 100644 index 41392fa..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/createtable/enums/TablePartitionEnum.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.createtable.enums; - -public enum TablePartitionEnum { - - RANGER(1), DATE_TRUNC(2), LIST(3), NORMAL(4), DYNAMIC(5); - - final int type; - - TablePartitionEnum(int type) { - this.type = type; - } - - public int getType() { - return type; - } - - public static TablePartitionEnum getByCode(int type) { - TablePartitionEnum[] values = TablePartitionEnum.values(); - - for (TablePartitionEnum value : values) { - if (value.type == type) { - return value; - } - } - return null; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/domain/ParseCreateTableResult.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/domain/ParseCreateTableResult.java deleted file mode 100644 index fe5a4e6..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/domain/ParseCreateTableResult.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.domain; - -import com.dtstack.sqlparserx.core.parser.base.table.createtable.domain.TableDistributedBuckets; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.domain.TableElement; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.domain.TableKey; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.domain.TablePartition; - -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * @description 解析create table表info 包含分区表、分桶表、普通表等 - * @author changlu - * @date 2025/8/4 11:02 - */ -public class ParseCreateTableResult { - // 是否带有if not exists判断 - private boolean isNotExists; - // 建表所属db - private String db; - // 建表名称 - private String tableName; - // 建表注释 - private String tableComment; - // 表字段属性 - List tableElementList; - // 分区字段属性【无指定类型情况】 - List partitionedByList; - // 所属表键分类 主键、唯一键、聚合键等 - private TableKey tableKey; - // 表分桶 - private TableDistributedBuckets tableDistributedBuckets; - // 表分区 - private TablePartition tablePartition; - // 表properties参数 - private Map properties; - - public ParseCreateTableResult() { - } - - public boolean isNotExists() { - return isNotExists; - } - - public void setNotExists(boolean notExists) { - isNotExists = notExists; - } - - public String getDb() { - return db; - } - - public void setDb(String db) { - this.db = db; - } - - public String getTableName() { - return tableName; - } - - public void setTableName(String tableName) { - this.tableName = tableName; - } - - public String getTableComment() { - return tableComment; - } - - public void setTableComment(String tableComment) { - this.tableComment = tableComment; - } - - public List getTableElementList() { - return tableElementList; - } - - public void setTableElementList(List tableElementList) { - this.tableElementList = tableElementList; - } - - public List getPartitionedByList() { - return partitionedByList; - } - - public void setPartitionedByList(List partitionedByList) { - this.partitionedByList = partitionedByList; - } - - public TableKey getTableKey() { - return tableKey; - } - - public void setTableKey(TableKey tableKey) { - this.tableKey = tableKey; - } - - public TableDistributedBuckets getTableDistributedBuckets() { - return tableDistributedBuckets; - } - - public void setTableDistributedBuckets(TableDistributedBuckets tableDistributedBuckets) { - this.tableDistributedBuckets = tableDistributedBuckets; - } - - public TablePartition getTablePartition() { - return tablePartition; - } - - public void setTablePartition(TablePartition tablePartition) { - this.tablePartition = tablePartition; - } - - public Map getProperties() { - return properties; - } - - public void setProperties(Map properties) { - this.properties = properties; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - ParseCreateTableResult that = (ParseCreateTableResult) o; - return isNotExists == that.isNotExists && Objects.equals(db, that.db) && Objects.equals(tableName, - that.tableName) && Objects.equals(tableComment, that.tableComment) && Objects.equals(tableElementList, - that.tableElementList) && Objects.equals(partitionedByList, that.partitionedByList) && Objects - .equals(tableKey, that.tableKey) && Objects.equals(tableDistributedBuckets, - that.tableDistributedBuckets) && Objects.equals(tablePartition, - that.tablePartition) && Objects.equals(properties, that.properties); - } - - @Override - public int hashCode() { - return Objects.hash(isNotExists, db, tableName, tableComment, tableElementList, partitionedByList, tableKey, - tableDistributedBuckets, tablePartition, properties); - } - - @Override - public String toString() { - return "ParseCreateTableResult{" + - "isNotExists=" + isNotExists + - ", db='" + db + '\'' + - ", tableName='" + tableName + '\'' + - ", tableComment='" + tableComment + '\'' + - ", tableElementList=" + tableElementList + - ", partitionedByList=" + partitionedByList + - ", tableKey=" + tableKey + - ", tableDistributedBuckets=" + tableDistributedBuckets + - ", tablePartition=" + tablePartition + - ", properties=" + properties + - '}'; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/domain/ParseTableResult.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/domain/ParseTableResult.java deleted file mode 100644 index 92fdc3f..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/base/table/domain/ParseTableResult.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.base.table.domain; - -import com.dtstack.sqlparserx.core.parser.base.lineage.table.Table; - -import java.util.Set; -import java.util.stream.Collectors; - -/** - * @description 解析表结果 - * @author changlu - * @date 2025/4/30 17:16 - */ -public class ParseTableResult { - private Table mainTable; - private Set
allTables; - - public ParseTableResult() { - } - - public ParseTableResult(Table mainTable, Set
allTables) { - this.mainTable = mainTable; - this.allTables = allTables;; - } - - public Table getMainTable() { - return mainTable; - } - - public void setMainTable(Table mainTable) { - this.mainTable = mainTable; - } - - public Set
getAllTables() { - return allTables; - } - - public void setAllTables(Set
allTables) { - this.allTables = allTables; - } - - // 对外暴露 - public Set getAllTableName() { - Set tables = this.allTables.stream().map((table -> Table.TableTransfer.transfer(table))).collect( - Collectors.toSet()); - return tables; - } - - @Override - public String toString() { - return "ParseTableResult{" + - "mainTable=" + mainTable + - ", allTables=" + allTables + - '}'; - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/clickhouse/ClickHouseSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/clickhouse/ClickHouseSqlParser.java deleted file mode 100644 index bbe48b5..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/clickhouse/ClickHouseSqlParser.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.clickhouse; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class ClickHouseSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.clickhouse; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/dm/DmSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/dm/DmSqlParser.java deleted file mode 100644 index 1d0a154..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/dm/DmSqlParser.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.dm; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class DmSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.dm; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/DorisSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/DorisSqlParser.java deleted file mode 100644 index 0666dca..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/DorisSqlParser.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.doris; - -import com.dtstack.sqlparserx.core.enums.SQLParseStrategy; -import com.dtstack.sqlparserx.core.parser.IColumnLineageClient; -import com.dtstack.sqlparserx.core.parser.IParseParameterClient; -import com.dtstack.sqlparserx.core.parser.IParseTableClient; -import com.dtstack.sqlparserx.core.parser.ITableLineageClient; -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageClient; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageClient; -import com.dtstack.sqlparserx.core.parser.doris.parameter.DorisParseParameterClient; -import com.dtstack.sqlparserx.core.parser.doris.table.DorisParseTableClient; - -import com.alibaba.druid.DbType; - -import java.util.List; -import java.util.Map; - -public class DorisSqlParser extends BaseSqlParser { - - @Override - public IParseParameterClient getParseParameterClient() { - return new DorisParseParameterClient(); - } - - @Override - public DbType getDbType() { - return DbType.doris; - } - - @Override - public IColumnLineageClient getColumnLineageClient(Map> tableColumnsMap) { - // doris支持大小写敏感 - return new ColumnLineageClient(tableColumnsMap, - SQLParseStrategy.COLUMN_IGNORE_CASE, // SQL中的字段 & 元数据表字段忽略大小写 - SQLParseStrategy.SUBQUERY_COLUMN_IGNORE_CASE // 子查询字段忽略大小写匹配 - ); - } - - @Override - public IParseTableClient getParseTableClient() { - return new DorisParseTableClient(); - } - - @Override - public ITableLineageClient getTableLineageClient() { - return new TableLineageClient( - SQLParseStrategy.CTE_FORWARD_REFERENCE // 支持 CTE 前向引用 推断 - ); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/parameter/DorisParamDataTypeTransfer.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/parameter/DorisParamDataTypeTransfer.java deleted file mode 100644 index 2028a4e..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/parameter/DorisParamDataTypeTransfer.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.doris.parameter; - -import com.dtstack.sqlparserx.core.parser.base.parameter.transfer.BaseParamDataTypeTransfer; - -import java.sql.Date; -import java.sql.Timestamp; -import java.util.Locale; - -/** - * @description Doris参数字段类型转换器 - * @author changlu - * @date 2026/10/12 16:20 - */ -public class DorisParamDataTypeTransfer extends BaseParamDataTypeTransfer { - @Override - public Object transfer(String dataType, Object value) { - if (value == null || dataType == null) - return value; - String type = dataType.trim().toUpperCase(Locale.ROOT); - try { - if (type.startsWith("BOOLEAN")) - return value instanceof Boolean ? value : Boolean.valueOf(value.toString()); - if (type.startsWith("DATETIME")) - return value instanceof Timestamp ? value : Timestamp.valueOf(value.toString()); - if (type.startsWith("DATE")) - return value instanceof Date ? value : Date.valueOf(value.toString()); - if (type.startsWith("LARGEINT")) - return value.toString(); - } catch (RuntimeException exception) { - return value.toString(); - } - return super.transfer(dataType, value); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/parameter/DorisParseParameterClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/parameter/DorisParseParameterClient.java deleted file mode 100644 index 3b0f5ad..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/parameter/DorisParseParameterClient.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.doris.parameter; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.parser.base.parameter.BaseParseParameterClient; -import com.dtstack.sqlparserx.core.parser.base.parameter.rewrite.PrepareSqlRewriter; - -import com.alibaba.druid.DbType; - -/** - * @description Doris变量参数解析与预编译客户端 - * @author changlu - * @date 2026/10/12 16:25 - */ -public class DorisParseParameterClient extends BaseParseParameterClient { - public DorisParseParameterClient() { - super(SqlParserDataSourceType.DORIS); - } - - @Override - protected PrepareSqlRewriter getPrepareSqlRewriter(DbType dbType) { - return new PrepareSqlRewriter(dbType, new DorisParamDataTypeTransfer()); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/table/DorisParseCreateTableClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/table/DorisParseCreateTableClient.java deleted file mode 100644 index 92550d3..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/table/DorisParseCreateTableClient.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.doris.table; - -import com.dtstack.sqlparserx.core.parser.starrocks.table.StarrocksParseCreateTableClient; - -import java.util.Map; - -// 继承 StarrocksParseTableClient 以复用其逻辑 -public class DorisParseCreateTableClient extends StarrocksParseCreateTableClient { - - @Override - protected boolean isDynamicPartitionEnabled() { - return true; - } - - @Override - protected boolean analyzeHasDynamicPartitionTypeProperties(Map properties) { - if (properties == null || properties.isEmpty()) { - return false; - } - // 是否是否有分析识别到时动态分区属性 - String dynamicPartition = properties.get("dynamic_partition.enable"); - return "true".equalsIgnoreCase(dynamicPartition); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/table/DorisParseTableClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/table/DorisParseTableClient.java deleted file mode 100644 index d0bbfe5..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/doris/table/DorisParseTableClient.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.doris.table; - -import com.dtstack.sqlparserx.core.parser.base.table.ParseCreateTableClient; -import com.dtstack.sqlparserx.core.parser.starrocks.table.StarrocksParseTableClient; - -// 继承 StarrocksParseTableClient 以复用其逻辑 -public class DorisParseTableClient extends StarrocksParseTableClient { - - @Override - protected ParseCreateTableClient getParseCreateTableClient() { - return new DorisParseCreateTableClient(); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/greenplum/GreenplumSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/greenplum/GreenplumSqlParser.java deleted file mode 100644 index d31824c..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/greenplum/GreenplumSqlParser.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.greenplum; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class GreenplumSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.greenplum; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/hive/HiveColumnLineageClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/hive/HiveColumnLineageClient.java deleted file mode 100644 index 7e78eb7..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/hive/HiveColumnLineageClient.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.hive; - -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageClient; - -public class HiveColumnLineageClient extends ColumnLineageClient { -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/hive/HiveSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/hive/HiveSqlParser.java deleted file mode 100644 index 8c87a6e..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/hive/HiveSqlParser.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.hive; - -import com.dtstack.sqlparserx.core.parser.IColumnLineageClient; -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; - -import com.alibaba.druid.DbType; - -import java.util.List; -import java.util.Map; - -public class HiveSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.hive; - } - - @Override - public IColumnLineageClient getColumnLineageClient(Map> tableColumnsMap) { - return new HiveColumnLineageClient(); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/MySqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/MySqlParser.java deleted file mode 100644 index 3da187f..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/MySqlParser.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.mysql; - -import com.dtstack.sqlparserx.core.parser.IParseParameterClient; -import com.dtstack.sqlparserx.core.parser.IParseTableClient; -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; -import com.dtstack.sqlparserx.core.parser.mysql.parameter.MysqlParseParameterClient; -import com.dtstack.sqlparserx.core.parser.mysql.table.MysqlParseTablesClient; - -import com.alibaba.druid.DbType; - -/** - * @description MySqlParser 提供各类处理器 - * @author changlu - * @date 2025/4/27 12:07 - */ -public class MySqlParser extends BaseSqlParser { - - @Override - public IParseParameterClient getParseParameterClient() { - return new MysqlParseParameterClient(); - } - - @Override - public IParseTableClient getParseTableClient() { - return new MysqlParseTablesClient(); - } - - @Override - public DbType getDbType() { - return DbType.mysql; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/parameter/MysqlParamDataTypeTransfer.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/parameter/MysqlParamDataTypeTransfer.java deleted file mode 100644 index b1af3e0..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/parameter/MysqlParamDataTypeTransfer.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.mysql.parameter; - -import com.dtstack.sqlparserx.core.parser.base.parameter.transfer.BaseParamDataTypeTransfer; - -import java.sql.Date; -import java.sql.Timestamp; -import java.util.Locale; - -/** - * @description MySQL参数字段类型转换器 - * @author changlu - * @date 2026/10/12 16:20 - */ -public class MysqlParamDataTypeTransfer extends BaseParamDataTypeTransfer { - @Override - public Object transfer(String dataType, Object value) { - if (value == null || dataType == null) - return value; - String type = dataType.trim().toUpperCase(Locale.ROOT); - try { - if (type.startsWith("BIT") || type.startsWith("BOOL")) - return value instanceof Boolean ? ((Boolean) value ? 1 : 0) : Integer.valueOf(value.toString()); - if (type.startsWith("DATETIME") || type.startsWith("TIMESTAMP")) - return value instanceof Timestamp ? value : Timestamp.valueOf(value.toString()); - if (type.startsWith("DATE")) - return value instanceof Date ? value : Date.valueOf(value.toString()); - if (type.startsWith("YEAR")) - return Integer.valueOf(value.toString()); - } catch (RuntimeException exception) { - return value.toString(); - } - return super.transfer(dataType, value); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/parameter/MysqlParseParameterClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/parameter/MysqlParseParameterClient.java deleted file mode 100644 index 6743802..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/parameter/MysqlParseParameterClient.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.mysql.parameter; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.parser.base.parameter.BaseParseParameterClient; -import com.dtstack.sqlparserx.core.parser.base.parameter.rewrite.PrepareSqlRewriter; - -import com.alibaba.druid.DbType; - -/** - * @description MySQL变量参数解析与预编译客户端 - * @author changlu - * @date 2026/10/12 16:25 - */ -public class MysqlParseParameterClient extends BaseParseParameterClient { - public MysqlParseParameterClient() { - super(SqlParserDataSourceType.MYSQL); - } - - @Override - protected PrepareSqlRewriter getPrepareSqlRewriter(DbType dbType) { - return new PrepareSqlRewriter(dbType, new MysqlParamDataTypeTransfer()); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/table/MysqlParseTablesClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/table/MysqlParseTablesClient.java deleted file mode 100644 index 6b1f0ca..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/mysql/table/MysqlParseTablesClient.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.mysql.table; - -import com.dtstack.sqlparserx.core.parser.base.lineage.table.Table; -import com.dtstack.sqlparserx.core.parser.base.table.ParseTablesClient; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlRenameTableStatement; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * @description 针对mysql数据源提供的解析表client - * @author changlu - * @date 2025/4/27 12:01 - */ -public class MysqlParseTablesClient extends ParseTablesClient { - - @Override - public ParseTableResult parseTables(SQLStatement stmt) { - if (stmt instanceof MySqlRenameTableStatement) { - this.parseMySqlRenameTable((MySqlRenameTableStatement) stmt); - } - return super.parseTables(stmt); - } - - public void parseMySqlRenameTable(MySqlRenameTableStatement mySqlRenameTableStatement) { - List items = mySqlRenameTableStatement.getItems(); - List tableNames = items.stream().map(item -> item.getName().getSimpleName()).collect(Collectors - .toList()); - if (!tableNames.isEmpty()) { - this.mainTable = Table.TableTransfer.parse(tableNames.get(0)); - this.allTables = tableNames.stream().map(Table.TableTransfer::parse).collect(Collectors.toSet()); - } - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/oceanbase/OceanBaseSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/oceanbase/OceanBaseSqlParser.java deleted file mode 100644 index 726456f..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/oceanbase/OceanBaseSqlParser.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.oceanbase; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class OceanBaseSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.oceanbase; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/oceanbase_oracle/OceanBaseOracleSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/oceanbase_oracle/OceanBaseOracleSqlParser.java deleted file mode 100644 index ea0811b..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/oceanbase_oracle/OceanBaseOracleSqlParser.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.oceanbase_oracle; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class OceanBaseOracleSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.oceanbase_oracle; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/oracle/OracleSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/oracle/OracleSqlParser.java deleted file mode 100644 index 5b28258..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/oracle/OracleSqlParser.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.oracle; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class OracleSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.oracle; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/postgresql/PostgresqlSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/postgresql/PostgresqlSqlParser.java deleted file mode 100644 index 63e20ec..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/postgresql/PostgresqlSqlParser.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.postgresql; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class PostgresqlSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.postgresql; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/spark/SparkSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/spark/SparkSqlParser.java deleted file mode 100644 index aa9b7be..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/spark/SparkSqlParser.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.spark; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class SparkSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.spark; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/sqlserver/SqlServerSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/sqlserver/SqlServerSqlParser.java deleted file mode 100644 index 39bdc7d..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/sqlserver/SqlServerSqlParser.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.sqlserver; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class SqlServerSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.sqlserver; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/starrocks/StarrocksSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/starrocks/StarrocksSqlParser.java deleted file mode 100644 index dd893da..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/starrocks/StarrocksSqlParser.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.starrocks; - -import com.dtstack.sqlparserx.core.parser.IParseTableClient; -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; -import com.dtstack.sqlparserx.core.parser.starrocks.table.StarrocksParseTableClient; - -import com.alibaba.druid.DbType; - -public class StarrocksSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.starrocks; - } - - @Override - public IParseTableClient getParseTableClient() { - return new StarrocksParseTableClient(); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/starrocks/table/StarrocksParseCreateTableClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/starrocks/table/StarrocksParseCreateTableClient.java deleted file mode 100644 index 2d41050..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/starrocks/table/StarrocksParseCreateTableClient.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.starrocks.table; - -import com.dtstack.sqlparserx.core.domain.Pair; -import com.dtstack.sqlparserx.core.parser.base.table.ParseCreateTableClient; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.DistributedByTypeEnum; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.TableKeyEnum; -import com.dtstack.sqlparserx.core.utils.CommonUtil; - -import com.alibaba.druid.sql.ast.DistributedByType; -import com.alibaba.druid.sql.ast.statement.SQLCreateTableStatement; -import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem; -import com.alibaba.druid.sql.ast.statement.SQLUnique; -import com.alibaba.druid.sql.dialect.starrocks.ast.StarRocksAggregateKey; -import com.alibaba.druid.sql.dialect.starrocks.ast.StarRocksDuplicateKey; -import com.alibaba.druid.sql.dialect.starrocks.ast.statement.StarRocksCreateTableStatement; - -import java.util.List; - -/** - * @description Starrocks解析create table特定处理 - * @author changlu - * @date 2025/8/4 14:22 - */ -public class StarrocksParseCreateTableClient extends ParseCreateTableClient { - - @Override - protected Pair> dealDistributeByColumns(SQLCreateTableStatement stmt) { - if (stmt instanceof StarRocksCreateTableStatement) { - StarRocksCreateTableStatement starRocksCreateTableStatement = (StarRocksCreateTableStatement) stmt; - DistributedByType distributedByType = starRocksCreateTableStatement.getDistributedByType(); - List distributedBy = starRocksCreateTableStatement.getDistributedBy(); - - // 设置结果值 - DistributedByTypeEnum resDistributedByType = null; - // 设置类型 - if (distributedByType != null) { - if (distributedByType == DistributedByType.Hash) { - resDistributedByType = DistributedByTypeEnum.Hash; - } else if (distributedByType == DistributedByType.Random) { - resDistributedByType = DistributedByTypeEnum.Random; - } - } - // 设置分布列 - List resDistributedByColumns = CommonUtil.sqlSelectOrderByItems2Values(distributedBy); - - return new Pair<>(resDistributedByType, resDistributedByColumns); - } - // 其他场景继承基类逻辑 - return super.dealDistributeByColumns(stmt); - } - - @Override - protected TableKeyEnum dealTableKey(SQLUnique unique) { - if (unique instanceof StarRocksDuplicateKey) { - return TableKeyEnum.DUPLICATE; - } else if (unique instanceof StarRocksAggregateKey) { - return TableKeyEnum.AGGREGATE; - } - return super.dealTableKey(unique); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/starrocks/table/StarrocksParseTableClient.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/starrocks/table/StarrocksParseTableClient.java deleted file mode 100644 index 941ad3e..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/starrocks/table/StarrocksParseTableClient.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.starrocks.table; -import com.dtstack.sqlparserx.core.parser.base.table.BaseParseTableClient; -import com.dtstack.sqlparserx.core.parser.base.table.ParseCreateTableClient; - -public class StarrocksParseTableClient extends BaseParseTableClient { - - @Override - protected ParseCreateTableClient getParseCreateTableClient() { - return new StarrocksParseCreateTableClient(); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/tidb/TidbSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/tidb/TidbSqlParser.java deleted file mode 100644 index c119801..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/tidb/TidbSqlParser.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.tidb; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class TidbSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.tidb; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/trino/TrinoSqlParser.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/trino/TrinoSqlParser.java deleted file mode 100644 index 0bd5b17..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/parser/trino/TrinoSqlParser.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser.trino; - -import com.dtstack.sqlparserx.core.parser.base.BaseSqlParser; - -import com.alibaba.druid.DbType; - -public class TrinoSqlParser extends BaseSqlParser { - - @Override - public DbType getDbType() { - return DbType.trino; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/column/SelectColumn.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/column/SelectColumn.java deleted file mode 100644 index 16515a3..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/column/SelectColumn.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.select.column; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -// 通用select 转换的字段追溯信息 -public class SelectColumn { - - // 真实表信息 - private String tableInfo; - // 真实字段名 (可能为多个,例如select concat(t.id, '_', t.name) as name => id,name,同时tableInfo也是一一对应 table1,table2) - private String columnName; - // 字段别名 - private String aliasName; - - public SelectColumn() { - } - - public SelectColumn(String tableInfo, String columnName, String aliasName) { - this.tableInfo = tableInfo; - this.columnName = columnName; - this.aliasName = aliasName; - } - - public String getColumnName() { - return columnName; - } - - public void setColumnName(String columnName) { - this.columnName = columnName; - } - - public String getAliasName() { - return aliasName; - } - - public void setAliasName(String aliasName) { - this.aliasName = aliasName; - } - - public String getTableInfo() { - return tableInfo; - } - - public void setTableInfo(String tableInfo) { - this.tableInfo = tableInfo; - } - - /** - * 属于优化逻辑 - * 一般是union场景,在合并之后会出现一个别名字段对应相应的真实表名-真实字段 重复情况,需要过滤掉 - * 真实字段 真实表名 别名字段 - * col1,col1,col1 table1,table4,table1 cc1 - * - * 过滤之后,去除掉相同真实表名 & 真实字段情况 - * - * 真实字段 真实表名 别名字段 - * col1,col1 table1,table4 cc1 - * - * @param selectColumn selectColumn - * @return SelectColumn - */ - public static SelectColumn filterDuplicateRealColumns(SelectColumn selectColumn) { - if (selectColumn == null) { - return null; - } - - String[] tableInfos = selectColumn.getTableInfo().split(",", -1); - String[] columnNames = selectColumn.getColumnName().split(",", -1); - String aliasName = selectColumn.getAliasName(); - - if (tableInfos.length != columnNames.length) { - throw new IllegalArgumentException("tableInfo 和 columnName 数量不匹配"); - } - - // 使用 Map 去重(key: tableInfo + columnName, value: 是否已存在) - Map seen = new LinkedHashMap<>(); - List filteredTableInfos = new ArrayList<>(); - List filteredColumnNames = new ArrayList<>(); - - for (int i = 0; i < tableInfos.length; i++) { - String key = tableInfos[i] + "|" + columnNames[i]; - if (!seen.containsKey(key)) { - seen.put(key, true); - filteredTableInfos.add(tableInfos[i]); - filteredColumnNames.add(columnNames[i]); - } - } - - SelectColumn filtered = new SelectColumn(); - filtered.setTableInfo(String.join(",", filteredTableInfos)); - filtered.setColumnName(String.join(",", filteredColumnNames)); - filtered.setAliasName(aliasName); - - return filtered; - } - - /** - * 克隆一份自己全新的对象 - * @return SelectColumn - */ - public SelectColumn cloneOwn() { - return new SelectColumn(tableInfo, columnName, aliasName); - } - - @Override - public String toString() { - return "SelectColumn{" + - "tableInfo='" + tableInfo + '\'' + - ", columnName='" + columnName + '\'' + - ", aliasName='" + aliasName + '\'' + - '}'; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/column/SelectColumnItem.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/column/SelectColumnItem.java deleted file mode 100644 index 09cb295..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/column/SelectColumnItem.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.select.column; - -import com.dtstack.sqlparserx.core.enums.ColumnTypeEnum; - -import java.util.Objects; - -public class SelectColumnItem { - // 真实表信息 - private String tableInfo; - // 真实字段名 - private String columnName; - // Column字段类型 - private String columnType; - - public SelectColumnItem() { - this.columnType = ColumnTypeEnum.BELONGS_TO_FIELD.getFieldName(); - } - - public SelectColumnItem(String tableInfo, String columnName) { - this.tableInfo = tableInfo; - this.columnName = columnName; - this.columnType = ColumnTypeEnum.BELONGS_TO_FIELD.getFieldName(); - } - - public SelectColumnItem(String tableInfo, String columnName, ColumnTypeEnum columnType) { - this.tableInfo = tableInfo; - this.columnName = columnName; - this.columnType = columnType.getFieldName(); - } - - public String getColumnName() { - return columnName; - } - - public void setColumnName(String columnName) { - this.columnName = columnName; - } - - public String getTableInfo() { - return tableInfo; - } - - public void setTableInfo(String tableInfo) { - this.tableInfo = tableInfo; - } - - public String getColumnType() { - return columnType; - } - - public void setColumnType(String columnType) { - this.columnType = columnType; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - SelectColumnItem that = (SelectColumnItem) o; - return Objects.equals(tableInfo, that.tableInfo) && Objects.equals(columnName, that.columnName); - } - - @Override - public int hashCode() { - return Objects.hash(tableInfo, columnName); - } - - @Override - public String toString() { - return "SelectColumnItem{" + - "tableInfo='" + tableInfo + '\'' + - ", columnName='" + columnName + '\'' + - ", columnType='" + columnType + '\'' + - '}'; - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/column/SelectColumnSpecialLineageService.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/column/SelectColumnSpecialLineageService.java deleted file mode 100644 index f5b385a..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/column/SelectColumnSpecialLineageService.java +++ /dev/null @@ -1,1072 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.select.column; - -import com.dtstack.sqlparserx.core.config.Constant; -import com.dtstack.sqlparserx.core.domain.Pair; -import com.dtstack.sqlparserx.core.enums.ColumnTypeEnum; -import com.dtstack.sqlparserx.core.enums.SQLParseStrategy; -import com.dtstack.sqlparserx.core.enums.TableNameMatchStrategy; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.Table; -import com.dtstack.sqlparserx.core.utils.CollectionUtil; -import com.dtstack.sqlparserx.core.utils.ColumnUtil; -import com.dtstack.sqlparserx.core.utils.TableSourceUtil; - -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.SQLOrderBy; -import com.alibaba.druid.sql.ast.SQLOver; -import com.alibaba.druid.sql.ast.expr.*; -import com.alibaba.druid.sql.ast.statement.*; -import com.alibaba.druid.util.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.*; -import java.util.stream.Collectors; - -public class SelectColumnSpecialLineageService { - - private Logger log = LoggerFactory.getLogger(SelectColumnSpecialLineageService.class); - - // 真实表&字段关联关系(用于外部查询元数据) - private final Map> tableColumnsMap; - // 策略选择控制 - private TableNameMatchStrategy tableNameStrategy = TableNameMatchStrategy.CHECK_COLUMN_EXISTS; - // 临时存储withsql 表别名 - private Set withSqlAliasTableNames = new HashSet<>(); - protected int features; - - public SelectColumnSpecialLineageService(SQLParseStrategy... features) { - this.tableColumnsMap = new HashMap<>(); - this.tableNameStrategy = TableNameMatchStrategy.DEFAULT_FROM_TABLE; - this.features = SQLParseStrategy.of(features); - } - - public SelectColumnSpecialLineageService(Map> tableColumnsMap, SQLParseStrategy... features) { - this.tableColumnsMap = tableColumnsMap; - this.features = SQLParseStrategy.of(features); - } - - /** - * 查询到SQLSelect中所有涉及字段 匹配 真实表所关联的信息 - * @param sqlSelect SQLSelect - * @return List 每一个SelectColumn中包含字段来源表名 & 字段名 - */ - public List queryColumnsBySqlSelect(SQLSelect sqlSelect, Set withSqlAliasTableNames) { - if (sqlSelect == null) { - return new ArrayList<>(); - } - // 临时保存with表 - this.withSqlAliasTableNames = withSqlAliasTableNames; - // 表查询 - SQLSelectQuery sqlSelectQuery = sqlSelect.getQuery(); - List result = queryColumnsBySqlSelectQuery(sqlSelectQuery); - this.withSqlAliasTableNames = new HashSet<>(); - return result; - } - - /** - * 查询到SQLSelect中所有涉及字段 匹配 真实表所关联的信息 - * @param sqlSelect SQLSelect - * @return List 每一个SelectColumn中包含字段来源表名 & 字段名 - */ - public List queryColumnsBySqlSelect(SQLSelect sqlSelect) { - if (sqlSelect == null) { - return new ArrayList<>(); - } - // 表查询 - SQLSelectQuery sqlSelectQuery = sqlSelect.getQuery(); - return queryColumnsBySqlSelectQuery(sqlSelectQuery); - } - - /** - * 查询选择字段 - * @param sqlSelectQuery - * @return - */ - public List queryColumnsBySqlSelectQuery(SQLSelectQuery sqlSelectQuery) { - List selectColumns = new ArrayList<>(); - if (sqlSelectQuery instanceof SQLSelectQueryBlock) { - return queryColumnsBySqlSelectQueryBlock((SQLSelectQueryBlock) sqlSelectQuery); - } else if (sqlSelectQuery instanceof SQLUnionQuery) { - // 场景4:select union 场景特殊化处理含合并逻辑 - SQLUnionQuery sqlUnionQuery = (SQLUnionQuery) sqlSelectQuery; - List relations = sqlUnionQuery.getRelations(); - if (relations == null || relations.isEmpty()) - return selectColumns; - // 遍历所有union 查询 - List preSelectColumnList = queryColumnsBySqlSelectQuery(relations.get(0)); - int firstSelectColumnSize = preSelectColumnList.size(); - for (int i = 1; i < relations.size(); i++) { - List curSelectColumns = queryColumnsBySqlSelectQuery(relations.get(i)); - if (curSelectColumns != null && curSelectColumns.size() != firstSelectColumnSize) { - log.error("检测到select union查询匹配的字段不一致,请检查sql写法是否有问题!"); - } - // 实现合并字段逻辑 - preSelectColumnList = unionMergeSelectColumns(preSelectColumnList, curSelectColumns); - } - selectColumns = preSelectColumnList; - } - return selectColumns; - } - - /** - * 针对union场景,合并n组字段列表,仅仅涉及到真实字段、表名合并,别名字段采用preSelectColumnList中的 - * 示范: - * 真实字段 别名字段 真实表名 - * col1 cc1 table1 - * col2 cc2 table1 - * - * col1 tt_col3 table4 - * col2 tt_col4 table5 - * - * 合并为: - * 真实字段 别名字段 真实表名 - * col1,col1 cc1 table1, table4 - * col2,col2 cc2 table1, table5 - * - * 额外处理:针对union all 场景中前后字段数量不一致时,我们依旧支持匹配处理 - * - * @param preSelectColumnList - * @param curSelectColumns - * @return - */ - public List unionMergeSelectColumns(List preSelectColumnList, - List curSelectColumns) { - int minSize = Math.min(preSelectColumnList.size(), curSelectColumns.size()); - int maxSize = Math.max(preSelectColumnList.size(), curSelectColumns.size()); - List unionSelectColumns = new ArrayList<>(); - // 遍历前minSize个字段 - for (int i = 0; i < minSize; i++) { - String tableName = preSelectColumnList.get(i).getTableInfo() + "," + curSelectColumns.get(i).getTableInfo(); - String columnName = preSelectColumnList.get(i).getColumnName() + "," + curSelectColumns.get(i) - .getColumnName(); - String aliasName = preSelectColumnList.get(i).getAliasName(); - SelectColumn selectColumn = new SelectColumn(tableName, columnName, aliasName); - // 过滤处理,针对别名相同情况,真实表名 & 真实字段名 相同情况只保留一个 - selectColumn = SelectColumn.filterDuplicateRealColumns(selectColumn); - unionSelectColumns.add(selectColumn); - } - // 处理额外情况:针对union all 场景中前后字段数量不一致时,我们依旧支持匹配处理 - if (maxSize != minSize) { - // 识别到最多字段的一组 - List moreSelectColumns = preSelectColumnList.size() > curSelectColumns.size() - ? preSelectColumnList - : curSelectColumns; - // 举例:min=2、max=3, - // 0 1 2 - // id name age - // id1 name1 - for (int i = minSize; i < maxSize; i++) { - SelectColumn curSelectColumn = moreSelectColumns.get(i); - SelectColumn selectColumn = SelectColumn.filterDuplicateRealColumns(curSelectColumn); - unionSelectColumns.add(selectColumn); - } - } - return unionSelectColumns; - } - - /** - * 获取到SQLSelect中所有的字段【不关注别名】 - * @param selectQueryBlock select语句 - * @return 关联到的所有字段(只关注获取到字段来源表名 & 字段名) - */ - public List queryColumnsBySqlSelectQueryBlock(SQLSelectQueryBlock selectQueryBlock) { - if (selectQueryBlock == null) - return null; - // 遍历SELECT项并处理 - List selectColumns = buildSelectColumnsBySelectItems(selectQueryBlock.getSelectList()); - - // 表来源拆分 - SQLTableSource fromTable = selectQueryBlock.getFrom(); - // 基于from、select选项完成构造表字段记录逻辑 - selectColumns = queryFromTableByColumns(fromTable, selectColumns); - return selectColumns; - } - - /** - * select & from表各类场景匹配规则逻辑处理 - * @param fromTable 来源表数据源类型 - * @param selectColumns select字段集合封装 - * @return select字段集合转换封装结果 - */ - public List queryFromTableByColumns(SQLTableSource fromTable, List selectColumns) { - // 不同场景 - // 场景1:from 普通表场景(SQLExprTableSource) 如:from table1 或者 from table1 as t1 - if (fromTable instanceof SQLExprTableSource) { - // #feat2:结合select & from 结合转换字段处理 - SQLExprTableSource sqlExprTableSource = (SQLExprTableSource) fromTable; - // 真实表名 表别名 - String sourceTableName = TableSourceUtil.extractTableName((SQLExprTableSource) fromTable); - String aliasSourceTableName = sqlExprTableSource.getAlias() == null - ? sourceTableName - : TableSourceUtil.removeQuotes(sqlExprTableSource.getAlias()); - // 完成真实表名的替换 - for (SelectColumn selectColumn : selectColumns) { - // #feat3:基于#feat2的特殊情况(单列多字段场景) - // 跟随真实字段数量匹配多个tableName场景走 - // 真实字段 别名字段 真实表名 - // 场景1: id sum o - // 场景2: tt1,tt2 tmp n,n2 - // 场景3(无表名情况): tt2,tt3 tmp2 - String tableInfo = selectColumn.getTableInfo(); - String columnName = selectColumn.getColumnName(); - // -1参数场景:"," => ["",""] - String[] tableNames = tableInfo.split(",", -1); - String[] columnNames = columnName.split(",", -1); - // 用于组装tables集合 - List tableNameList = new ArrayList<>(); - for (int i = 0; i < tableNames.length; i++) { - String curColumnTableName = tableNames[i]; - // 1、字段中真实表名为空情况 - if (curColumnTableName == null || curColumnTableName.isEmpty()) { - // 2、若字段中真实表名不存在情况 - // 可进行开关设置:默认就是from的表名 或者 根据外界(表元数据)传入的表字段来进行判断是否有来匹配 - // 这里直接默认from的表名 - // 根据当前选择策略 - if (tableNameStrategy == TableNameMatchStrategy.DEFAULT_FROM_TABLE) { - // 策略1:默认就是from对应的表名 - tableNameList.add(sourceTableName); - } else { - // 策略2:根据外界(表元数据)传入的表字段来进行判断是否有来匹配 -// tableNameList.add(sourceTableName); - if (Constant.ALL.equals(columnNames[i]) || - checkExistInWithTables(sourceTableName) || - checkColumnRealExists(columnNames[i], sourceTableName)) { - tableNameList.add(sourceTableName); - } else { - // 无来源表情况 - tableNameList.add(Constant.NO_RELATION_TABLE); - } - } - } else { - // 2、真实表不为空情况 - // 如果字段的表名与当前from表的别名一致,则设置当前from的真实表名 - if (curColumnTableName.equals(aliasSourceTableName)) { - tableNameList.add(sourceTableName); - } else { - // 如果不一致,表明当前并非使用的是别名,直接使用当前该字段的表名 - tableNameList.add(curColumnTableName); - } - } - } - // 替换真实表名 - selectColumn.setTableInfo(String.join(",", tableNameList)); - } - - // 针对参数中 * 场景替换处理 - if (tableNameStrategy == TableNameMatchStrategy.CHECK_COLUMN_EXISTS) { - - // 提前check是否有需要替换操作 - boolean isMatchHasAllColumns = false; - for (SelectColumn selectColumn : selectColumns) { - if (selectColumn.getColumnName().contains(Constant.ALL)) { - isMatchHasAllColumns = true; - break; - } - } - - // 是否有匹配到元数据表填充字段 - List metaTableColumns = this.getColumnByRealTable(sourceTableName); - if (isMatchHasAllColumns && metaTableColumns != null && !metaTableColumns.isEmpty()) { - List newBuildSelectColumns = new ArrayList<>(); - // 真实表替换后 => 针对字段 * 构建逻辑 - // 真实字段 别名字段 真实表名 - // 场景4(*情况): * * table1 => *场景,需要补充多个selectColumn,真实字段与别名字段一致,真实表名复制一份 - // 场景5(字段中带有*情况) *,id tmp table1, o => 一个字段中带有*,在同一个selectColumn扩展字段 - // 普通from 查询中的带有*字段处理 - // 举例:select * from (select * from new_table) as t; 内层的* - for (SelectColumn selectColumn : selectColumns) { - String tableInfo = selectColumn.getTableInfo(); - String columnName = selectColumn.getColumnName(); - // 场景4情况 - if (Constant.ALL.equals(columnName)) { - if (sourceTableName.equals(tableInfo)) { - // 场景4 *,扩建多个selectColumn - // * * table1 - // 转为 - // name name table1 - // age age table1 - for (Column metaTableColumn : metaTableColumns) { - String metaTableColumnColumnName = metaTableColumn.getColumnName(); - newBuildSelectColumns.add(new SelectColumn(sourceTableName, - metaTableColumnColumnName, metaTableColumnColumnName)); - } - } else { - newBuildSelectColumns.add(selectColumn); - } - } else { - String[] columnNameArr = columnName.split(",", -1); - String[] tableNameArr = tableInfo.split(",", -1); - List columnNameList = new ArrayList<>(); - List tableNameList = new ArrayList<>(); - for (int i = 0; i < columnNameArr.length; i++) { - if (Constant.ALL.equals(columnNameArr[i]) && sourceTableName.equals(tableNameArr[i])) { - // 在一个selectColumn中扩展多个情况 - // *,id tmp table1, o => 一个字段中带有*,在同一个selectColumn扩展字段 - // 填充 - // name,age,id tmp table1,table1,o - for (Column metaTableColumn : metaTableColumns) { - columnNameList.add(metaTableColumn.getColumnName()); - tableNameList.add(sourceTableName); - } - } else { - columnNameList.add(columnNameArr[i]); - tableNameList.add(tableNameArr[i]); - } - } - selectColumn.setColumnName(String.join(",", columnNameList)); - selectColumn.setTableInfo(String.join(",", tableNameList)); - newBuildSelectColumns.add(selectColumn); - } - } - selectColumns = newBuildSelectColumns; - } - } - - }// 场景2:子查询表(SQLSubqueryTableSource) 如:from (select xxx, xxx from table 1) - else if (fromTable instanceof SQLSubqueryTableSource) { - SQLSubqueryTableSource sqlSubqueryTableSource = (SQLSubqueryTableSource) fromTable; - SQLSelect select = sqlSubqueryTableSource.getSelect(); - // 查询到子查询中的字段集合 - List subquerySelectColumns = this.queryColumnsBySqlSelect(select); - - // 获取到子查询的别名 - String subQueryTableAliasName = TableSourceUtil.removeQuotes(sqlSubqueryTableSource.getAlias()); - // 实现当前一组columns & 子查询columns合并处理 - selectColumns = this.doMergeSubqueryColumns(selectColumns, subquerySelectColumns, subQueryTableAliasName); - } // 场景3:join表 如:from table1 left|inner|right join table2 on table1.id = table2.id - else if (fromTable instanceof SQLJoinTableSource) { - SQLJoinTableSource sqlJoinTableSource = (SQLJoinTableSource) fromTable; - SQLTableSource left = sqlJoinTableSource.getLeft(); - SQLTableSource right = sqlJoinTableSource.getRight(); - // 左表匹配扫描 - selectColumns = queryFromTableByColumns(left, selectColumns); - // 右表匹配扫描 - selectColumns = queryFromTableByColumns(right, selectColumns); - } // 场景5:select union场景 - else if (fromTable instanceof SQLUnionQueryTableSource) { - SQLUnionQueryTableSource sqlUnionQueryTableSource = (SQLUnionQueryTableSource) fromTable; - SQLUnionQuery sqlUnionQuery = sqlUnionQueryTableSource.getUnion(); - List subquerySelectColumns = this.queryColumnsBySqlSelectQuery(sqlUnionQuery); - - // 子查询别名 - String subQueryTableAliasName = TableSourceUtil.removeQuotes(sqlUnionQueryTableSource.getAlias()); - - // 实现当前一组columns & 子查询columns合并处理 - selectColumns = this.doMergeSubqueryColumns(selectColumns, subquerySelectColumns, subQueryTableAliasName); - }// 场景6:LATERAL VIEW表源(SQLLateralViewTableSource),内部有一个tableSource,复用方法逻辑即可 - else if (fromTable instanceof SQLLateralViewTableSource) { - SQLLateralViewTableSource sqlLateralViewTableSource = (SQLLateralViewTableSource) fromTable; - SQLTableSource tableSource = sqlLateralViewTableSource.getTableSource(); - selectColumns = this.queryFromTableByColumns(tableSource, selectColumns); - } - - return selectColumns; - } - - /** - * 合并当前最新的一组selectColumns & 子查询的一组columns - * @param selectColumns List - * @param subquerySelectColumns List - * @return List - */ - private List doMergeSubqueryColumns(List selectColumns, - List subquerySelectColumns, String subQueryTableAliasName) { - // subquerySelectColumns中 外层属性* 切带有子查询情况 - // 举例:select * from (select * from new_table) as t; 外层的* 字段取决于子查询中的所有字段 - selectColumns = dealSubQuerySelectColumnsByAllColumns(selectColumns, subquerySelectColumns, - subQueryTableAliasName); - // selectColumns & subquerySelectColumns 进行match匹配操作 - selectColumns = matchSubQuerySelectColumns(selectColumns, subquerySelectColumns, subQueryTableAliasName); - return selectColumns; - } - - /** - * check是否在with sql中有该表名,如果有,那么就设置其为true - * @param sourceTableName String - * @return boolean - */ - private boolean checkExistInWithTables(String sourceTableName) { - return withSqlAliasTableNames.contains(sourceTableName); - } - - /** - * 场景 select * from (select * from new_table) as t; 外层的* 字段取决于子查询中的所有字段 - * selectColumns如下: - * 字段名 别名 真实表名 - * * * - * - * subquerySelectColumns如下: 这里必然会拿到*匹配的所有情况,因为在内部select * from xxx 中已经做过一次匹配了,无需再考虑会有*情况(除非是没有提供元数据相应表字段属性) - * 字段名 别名 真实表名 - * gh gh dwd_jszt_jyjs0504 - * xm xm dwd_jszt_jyjs0504 - * dqszdwmc dqszdwmc dwd_jszt_jyjs0504 - * zdxsjsjlmc zdxsjsjlmc dwd_jszt_jyjs0504 - * - * 效果: * => 构建多个selectColumns,拷贝subquerySelectColumns - * - * @param selectColumns 当前select xxx 中的xxx作为一组selectColumns - * @param subquerySelectColumns from (select xxx from table1) 中的子查询查询字段列表集合 - * @return selectColumns - */ - private List dealSubQuerySelectColumnsByAllColumns(List selectColumns, - List subquerySelectColumns, String subQueryTableAliasName) { - List buildNewSelectColumns = new ArrayList<>(); - for (SelectColumn selectColumn : selectColumns) { - String tableInfo = selectColumn.getTableInfo(); - boolean flag = true; - // check 字段名是否匹配子查询表别名 - if (checkColumnTableMatchSubQueryTable(tableInfo, subQueryTableAliasName)) { - if (Constant.ALL.equals(selectColumn.getColumnName())) { - for (SelectColumn subquerySelectColumn : subquerySelectColumns) { - buildNewSelectColumns.add(subquerySelectColumn.cloneOwn()); - } - flag = false; - } - } - - if (flag) { - buildNewSelectColumns.add(selectColumn); - } - } - return buildNewSelectColumns; - } - - /** - * select id from table1 场景,判断id是否真实存在table1中 - * - * 兼容场景为: - * this.tableColumnsMap中的key可能会出现db.table或者.table场景 - * 若是map中的key为table1 匹配table1 应当可以匹配到 - * 若是map中的key为.table1 匹配table1 应当可以匹配到 - * 若是map中的key为db.table2 匹配table2 应当可以匹配到 - * - * @param columnName sql中的字段 - * @param sourceTableName 测试验证的表名 - * @return true:存在,false:不存在 - */ - private boolean checkColumnRealExists(String columnName, String sourceTableName) { - // 先尝试直接匹配 避免全扫描一遍 - if (this.tableColumnsMap.containsKey(sourceTableName)) { - return checkColumns(this.tableColumnsMap.get(sourceTableName), columnName); - } - - // 再尝试匹配带数据库前缀的情况 - for (Map.Entry> entry : this.tableColumnsMap.entrySet()) { - String tableKey = entry.getKey(); - // 兼容.table情况,所以这里去匹配后缀 - if (tableKey.endsWith(sourceTableName)) { - return checkColumns(entry.getValue(), columnName); - } - } - - return false; - } - - /** - * 与checkColumnRealExists方法进行check保持一致 - * @param sourceTableName String - * @return List - */ - private List getColumnByRealTable(String sourceTableName) { - // 先尝试直接匹配 避免全扫描一遍 - if (this.tableColumnsMap.containsKey(sourceTableName)) { - return this.tableColumnsMap.get(sourceTableName); - } - - // 再尝试匹配带数据库前缀的情况 - for (Map.Entry> entry : this.tableColumnsMap.entrySet()) { - String tableKey = entry.getKey(); - // 兼容.table情况,所以这里去匹配后缀 - if (tableKey.endsWith(sourceTableName)) { - return this.tableColumnsMap.get(tableKey); - } - } - return new ArrayList<>(); - } - - // 辅助方法,检查列是否存在 - private boolean checkColumns(List columns, String columnName) { - boolean ignoreCase = SQLParseStrategy.isEnabled( - this.features, - SQLParseStrategy.COLUMN_IGNORE_CASE); - - for (Column column : columns) { - boolean isMatch = ignoreCase - ? column.getColumnName().equalsIgnoreCase(columnName) - : column.getColumnName().equals(columnName); - - if (isMatch) { - return true; - } - - } - return false; - } - - /** - * 场景2:from查询表(SQLSubqueryTableSource)核心匹配逻辑 - * @param selectColumns select字段集合 - * @param subquerySelectColumns 子查询select集合 - * @return - */ - private List matchSubQuerySelectColumns(List selectColumns, - List subquerySelectColumns, String subQueryTableAliasName) { - if (subquerySelectColumns == null || subquerySelectColumns.isEmpty()) - return selectColumns; - - List res = new ArrayList<>(); - - // 是否开启子查询字段匹配忽略大小写 - boolean isEnableSubqueryColumnIgnore = SQLParseStrategy.isEnabled( - this.features, - SQLParseStrategy.SUBQUERY_COLUMN_IGNORE_CASE); - - Map subQuerySelectMap = subquerySelectColumns.stream() - .collect(Collectors.toMap( - column -> isEnableSubqueryColumnIgnore ? column.getAliasName().toLowerCase() : // 开启忽略大小写时使用小写 - column.getAliasName(), // 不开启时使用原值 - column -> column, // Value mapper - (existing, replacement) -> { // 处理重复key的情况 - // 这里可以根据业务需求决定保留哪个 - // 例如记录日志或抛出异常 - log.info("Duplicate aliasName found: {}", existing.getAliasName()); - return existing; // 默认保留已存在的 - })); - - // 1、遍历select所有字段尝试去进行匹配 - for (SelectColumn selectColumn : selectColumns) { - // 初始化一个 - SelectColumn curSelectColumn = new SelectColumn(); - - // 别名字段 - String aliasName = selectColumn.getAliasName(); - //2、拿select某条字段中的【真实字段】尝试去匹配子查询全部字段的【别名字段】 - String columnName = selectColumn.getColumnName(); - - // 使用真实字段去匹配表中的别名字段 - // 注:其中的真实字段里可能有多条字段场景 - String[] columnNames = columnName.split(",", -1); - String[] columnTableNames = selectColumn.getTableInfo().split(",", -1); - List filterColumnNames = new ArrayList<>(); - List filterColumnTableNames = new ArrayList<>(); - for (int i = 0; i < columnNames.length; i++) { - String curColumnName = columnNames[i]; - String curColumnTableName = columnTableNames[i]; - - boolean flag = true; - // check 字段名是否匹配子查询表别名 - if (checkColumnTableMatchSubQueryTable(curColumnTableName, subQueryTableAliasName)) { - - // 根据配置决定匹配时是否忽略大小写 - String lookupKey = isEnableSubqueryColumnIgnore ? curColumnName.toLowerCase() : curColumnName; - - // core match alias name - if (subQuerySelectMap.containsKey(lookupKey)) { - SelectColumn subQuerySelectColumn = subQuerySelectMap.get(curColumnName); - filterColumnNames.add(subQuerySelectColumn.getColumnName()); - filterColumnTableNames.add(subQuerySelectColumn.getTableInfo()); - flag = false; - } - } - - if (flag) { - filterColumnNames.add(curColumnName); - filterColumnTableNames.add(curColumnTableName); - } - } - - // 设置字段、table以及别名 - curSelectColumn.setColumnName(String.join(",", filterColumnNames)); - curSelectColumn.setTableInfo(String.join(",", filterColumnTableNames)); - curSelectColumn.setAliasName(aliasName); - - res.add(curSelectColumn); - } - return res; - } - - // check字段当前所属的表是否匹配子查询表别名 - private boolean checkColumnTableMatchSubQueryTable(String curColumnTableName, String subQueryTableAliasName) { - return StringUtils.isEmpty(curColumnTableName) || curColumnTableName.equals(subQueryTableAliasName); - } - - /** - * insert into values(xxx, xxx),其中(xxx, xxx)场景就是一组selectExprList - * @param sqlExprs sqlExprs - * @return 查询到一组column字段信息集合 - */ - public List buildSelectColumnsBySQLExprs(List sqlExprs, Table targetTable) { - List selectColumnItems = new ArrayList<>(); - for (SQLExpr sqlExpr : sqlExprs) { - SelectColumnItem selectColumnItem = buildSelectColumnItem(sqlExpr); - selectColumnItem.setTableInfo(Table.TableTransfer.transfer(targetTable)); - selectColumnItems.add(selectColumnItem); - } - return selectColumnItems; - } - - /** - * select xxx, xxx, xxx 场景,xxx, xxx, xxx作为一组 List - * @param selectList selectList - * @return List(完整带别名情况) - */ - public List buildSelectColumnsBySelectItems(List selectList) { - List selectColumns = new ArrayList<>(); - for (SQLSelectItem sqlSelectItem : selectList) { - SelectColumn selectColumn = buildSelectColumnBySelectItem(sqlSelectItem); - if (selectColumn != null) - selectColumns.add(selectColumn); - } - return selectColumns; - } - - // #feat1:筛选select字段场景(带别名情况) - private SelectColumn buildSelectColumnBySelectItem(SQLSelectItem selectItem) { - SQLExpr expr = selectItem.getExpr(); - SelectColumn selectColumn = new SelectColumn(); - // 将expr表达式 => SelectColumn(无别名) - SelectColumnItem selectColumnItem = buildSelectColumnItem(expr); - if (selectColumn == null) - return null; - - // 移除别名中的引号 - String aliasColumnName = ColumnUtil.removeQuotes(selectItem.getAlias()); - String tableInfo = selectColumnItem.getTableInfo(); - String columnName = selectColumnItem.getColumnName(); - - // 别名为空情况设置 - if (aliasColumnName == null) { - // 别名为空情况无法直接设置columnName,保证aliasColumnName在SelectColumn中只有一个 - aliasColumnName = columnName; - // 举例:select concat(t.id, '_', t.name), t.num + 1 from table,这种情况别名只能够是当前selectItem的字符串情况 -// aliasColumnName = selectItem.toString(); - } - - selectColumn.setColumnName(columnName); - selectColumn.setTableInfo(tableInfo); - selectColumn.setAliasName(aliasColumnName); - return selectColumn; - } - - /** - * 单独去获取到select中的一个字段选项 可以是如下场景 - * select - * sum(o.id) as sum, - * CONCAT(n.tt1, n2.tt2) as tmp => 函数场景 SQLAggregateExpr、SQLMethodInvokeExpr - * t5.level + 1 => SQLBinaryOpExpr - * - * 真实字段 别名字段 真实表名 - * id sum o - * tt1,tt2 tmp n,n2 - * level level t5 - * @param expr - * @return - */ - public SelectColumnItem buildSelectColumnItem(SQLExpr expr) { - if (expr == null) - return null; - ColumnTypeEnum columnTypeEnum = ColumnTypeEnum.BELONGS_TO_FIELD; - String columnName = ""; - String tableInfo = ""; - if (expr instanceof SQLIdentifierExpr) { - // 如:select id 中的id - columnName = ((SQLIdentifierExpr) expr).getName(); - - // 统一处理字段 引号情况 - columnName = ColumnUtil.removeQuotes(columnName); - } else if (expr instanceof SQLPropertyExpr) { - // 如:select catalog.db.table.id 中的id - columnName = ((SQLPropertyExpr) expr).getName(); - // 统一处理字段 引号情况 - columnName = ColumnUtil.removeQuotes(columnName); - - // 如:select catalog.db.table.id 中的catalog.db.table - SQLExpr owner = ((SQLPropertyExpr) expr).getOwner(); - tableInfo = Table.TableTransfer.transfer(TableSourceUtil.extractTable(owner)); - } else if (expr instanceof SQLAggregateExpr || expr instanceof SQLMethodInvokeExpr) { - // SQLAggregateExpr 聚合表达式场景:如sum、count、avg、concat场景。 - // SQLMethodInvokeExpr:now()、concat(id, name) - SQLMethodInvokeExpr aggregateExpr = (SQLMethodInvokeExpr) expr; - // 函数中的参数 - List arguments = aggregateExpr.getArguments(); - - // 处理SQLAggregateExpr中的特定参数存放到arguments中 - List sqlAggregateSqlExprs = getSQLAggregateExprArguments(expr); - if (CollectionUtil.isNotEmpty(sqlAggregateSqlExprs)) { - arguments.addAll(sqlAggregateSqlExprs); - } - - // 如concat函数可能带有多个字段场景 如concat(o.id, '_', t.id) - if (!arguments.isEmpty()) { - // 原始写法 -// List columnNameItems = new ArrayList<>(); -// List tableNameItems = new ArrayList<>(); -// for (SQLExpr argumentExpr : arguments) { -// // 递归逻辑获取 -// SelectColumnItem selectColumnItem = buildSelectColumnItem(argumentExpr); -// if (selectColumnItem == null) continue; -// columnNameItems.add(selectColumnItem.getColumnName()); -// tableNameItems.add(selectColumnItem.getTableInfo()); -// } - // 复用写法 - Pair columnNameAndTableInfo = getColumnAndTablePairBySQLExpr(arguments); - columnName = columnNameAndTableInfo.getFirst(); - tableInfo = columnNameAndTableInfo.getSecond(); - } else { - // 函数中无参数场景,如now() - columnName = expr.toString(); - tableInfo = Constant.NO_RELATION_TABLE; - columnTypeEnum = ColumnTypeEnum.LITERAL_VALUE; - } - } else if (expr instanceof SQLBinaryOpExpr) { - // SELECT t5.level + 1 二元表达式场景 - SQLBinaryOpExpr sqlBinaryOpExpr = (SQLBinaryOpExpr) expr; - // 左右两边表达式情况 - List sqlBinaryOpExprList = Arrays.asList( - sqlBinaryOpExpr.getLeft(), - sqlBinaryOpExpr.getRight()); - Pair columnNameAndTableInfo = getColumnAndTablePairBySQLExpr(sqlBinaryOpExprList); - columnName = columnNameAndTableInfo.getFirst(); - tableInfo = columnNameAndTableInfo.getSecond(); - } else if (expr instanceof SQLAllColumnExpr) { - // select db.t1.* from xxx,其中db.t1.*就是一个SQLAllColumnExpr - SQLAllColumnExpr sqlAllColumnExpr = (SQLAllColumnExpr) expr; - columnName = Constant.ALL; - tableInfo = Table.TableTransfer.transfer(TableSourceUtil.extractTable(sqlAllColumnExpr.getOwner())); - } else if (expr instanceof SQLQueryExpr) { - SQLQueryExpr sqlQueryExpr = (SQLQueryExpr) expr; - // select (SELECT COUNT(*) FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count - SQLSelect sqlSelect = sqlQueryExpr.getSubQuery(); - List selectColumns = this.queryColumnsBySqlSelect(sqlSelect); - if (!selectColumns.isEmpty()) { - // 若是匹配到多个字段,则取第一个 -// SelectColumn selectColumn = selectColumns.get(0); - // 若是匹配到多个字段,则完成合并 - Pair columnAndTablePairBySelectColumns = getColumnAndTablePairBySelectColumns( - selectColumns); - columnName = columnAndTablePairBySelectColumns.getFirst(); - tableInfo = columnAndTablePairBySelectColumns.getSecond(); - } - } else if (expr instanceof SQLCaseExpr) { - /** - * 示例: - * CASE - * WHEN salary > 10000 THEN 'High' - * WHEN salary BETWEEN 5000 AND 10000 THEN 'Medium' - * WHEN salary < 5000 THEN 'Low' - * ELSE 'Unknown' - * END - */ - SQLCaseExpr sqlCaseExpr = (SQLCaseExpr) expr; - // when 集合 - List items = sqlCaseExpr.getItems(); - List sqlExprs = new ArrayList<>(); - // case when xxx else xxx end中的else部分 - if (sqlCaseExpr.getElseExpr() != null) { - sqlExprs.add(sqlCaseExpr.getElseExpr()); - } - for (SQLCaseExpr.Item item : items) { - sqlExprs.add(item.getConditionExpr()); - sqlExprs.add(item.getValueExpr()); - } - // 走通用方法获取到目标字段集合即可 - Pair columnNameAndTableInfo = this.getColumnAndTablePairBySQLExpr(sqlExprs); - columnName = columnNameAndTableInfo.getFirst(); - tableInfo = columnNameAndTableInfo.getSecond(); - } else if (expr instanceof SQLCastExpr) { - // 场景:select CAST(ROUND(ATTACHNO) AS char) - SQLCastExpr sqlCastExpr = (SQLCastExpr) expr; - Pair columnNameAndTableInfo = this.getColumnAndTablePairBySQLExpr(Arrays.asList(sqlCastExpr - .getExpr())); - columnName = columnNameAndTableInfo.getFirst(); - tableInfo = columnNameAndTableInfo.getSecond(); - } else if (expr instanceof SQLInListExpr) { - // 场景:select sum(case when t.RATINGCHANGE in(0,2) then 1 else 0 end) as tg_num - // 其中t.RATINGCHANGE in(0,2)为一个SQLInListExpr - SQLInListExpr sqlInListExpr = (SQLInListExpr) expr; - List sqlExprs = new ArrayList<>(); - sqlExprs.add(sqlInListExpr.getExpr()); - if (sqlInListExpr.getTargetList() != null) { - for (SQLExpr sqlExpr : sqlInListExpr.getTargetList()) { - sqlExprs.add(sqlExpr); - } - } - Pair columnNameAndTableInfo = this.getColumnAndTablePairBySQLExpr(sqlExprs); - columnName = columnNameAndTableInfo.getFirst(); - tableInfo = columnNameAndTableInfo.getSecond(); - } else { - // 其他场景暂无匹配逻辑 - // 目前如字符串类型expr忽略,如 select 'test' 中的'test',得到的expr类型为:SQLCharExpr -// return null; - // 引入字段匹配table机制之后,可以返回相应的字面量值 - columnName = expr.toString(); - tableInfo = Constant.NO_RELATION_TABLE; - columnTypeEnum = ColumnTypeEnum.LITERAL_VALUE; - } - - return new SelectColumnItem(tableInfo, columnName, columnTypeEnum); - } - - /** - * 获取SQLAggregateExpr中的SQLOver参数表达式列表 - * @param expr SQLExpr - * @return List - */ - private List getSQLAggregateExprArguments(SQLExpr expr) { - List arguments = new ArrayList<>(); - if (expr instanceof SQLAggregateExpr) { - SQLAggregateExpr sqlAggregateExpr = (SQLAggregateExpr) expr; - SQLOver over = sqlAggregateExpr.getOver(); - arguments.addAll(getSqlExprBySqlOver(over)); - } - return arguments; - } - - private List getSqlExprBySqlOver(SQLOver over) { - List sqlExprs = new ArrayList<>(); - if (over == null) - return sqlExprs; - - // 添加partitionBy中的表达式参数 - List partitionBy = over.getPartitionBy(); - if (CollectionUtil.isNotEmpty(partitionBy)) { - sqlExprs.addAll(partitionBy); - } - // 添加orderBy中的表达式参数 - SQLOrderBy orderBy = over.getOrderBy(); - if (orderBy != null) { - List items = orderBy.getItems(); - if (CollectionUtil.isNotEmpty(items)) { - for (SQLSelectOrderByItem item : items) { - sqlExprs.add(item.getExpr()); - } - } - } - return sqlExprs; - } - - // 优化多个SQLExpr场景需要递归处理场景(通常是聚合函数、表达式情况) - private Pair getColumnAndTablePairBySQLExpr(List sqlExprs) { - Set checkColumnNames = new HashSet<>(); - - List columnNameItems = new ArrayList<>(); - List tableNameItems = new ArrayList<>(); - String columnName = ""; - String tableInfo = ""; - for (SQLExpr sqlExpr : sqlExprs) { - // 递归逻辑获取 - SelectColumnItem selectColumnItem = buildSelectColumnItem(sqlExpr); - // 若是在当前聚合函数、表达式情况,过滤掉其中的字面量值 - if (selectColumnItem == null || !ColumnTypeEnum.BELONGS_TO_FIELD.getFieldName().equals(selectColumnItem - .getColumnType())) - continue; - // 复杂场景情况去除重复字段 - String[] selectColumns = selectColumnItem.getColumnName().split(",", -1); - String[] selectColumnTables = selectColumnItem.getTableInfo().split(",", -1); - List filterSelectColumns = new ArrayList<>(); - List filterSelectColumnTables = new ArrayList<>(); - for (int i = 0; i < selectColumns.length; i++) { - // 去除掉重复字段的情况 - if (checkColumnNames.contains(selectColumns[i])) - continue; - filterSelectColumns.add(selectColumns[i]); - filterSelectColumnTables.add(selectColumnTables[i]); - - // 用于check 同名的情况 - checkColumnNames.add(selectColumns[i]); - } - // 去除之后只有搜集到的元素>0才可被添加 - if (!filterSelectColumns.isEmpty()) { - columnNameItems.add(String.join(",", filterSelectColumns)); - tableNameItems.add(String.join(",", filterSelectColumnTables)); - } - } - columnName = String.join(",", columnNameItems); - tableInfo = String.join(",", tableNameItems); - return Pair.of(columnName, tableInfo); // 返回不可变的 Pair - } - - /** - * 多个SelectColumn时,来进行合并为一个SelectColumn的columnName & tableInfo (无需关心别名) - * 该种场景为: - * select (SELECT COUNT(*) FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count - * select (SELECT concat(id,name) FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count - * 不可能出现 select (SELECT id, name FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count,若是出现这种sql后续走db也会失败 - * 举例如下: - * 真实字段 真实表 别名 - * id table id - * name table name - * @param selectColumns - * @return - */ - private Pair getColumnAndTablePairBySelectColumns(List selectColumns) { - List columnNameItems = new ArrayList<>(); - List tableNameItems = new ArrayList<>(); - String columnName = ""; - String tableInfo = ""; - for (SelectColumn selectColumn : selectColumns) { - columnNameItems.add(selectColumn.getColumnName()); - tableNameItems.add(selectColumn.getTableInfo()); - } - columnName = String.join(",", columnNameItems); - tableInfo = String.join(",", tableNameItems); - return Pair.of(columnName, tableInfo); // 返回不可变的 Pair - } - - /** - * 构建with map - * key:with as别名 value:List - * @param with SQLWithSubqueryClause - * @return Map> - */ - public Map> buildColumnInfoByTableMap(SQLWithSubqueryClause with) { - Map> columnInfoByTableMap = new HashMap<>(); - if (with != null) { - List entries = with.getEntries(); - if (!entries.isEmpty()) { - // 遍历每一组with as结构 - for (SQLWithSubqueryClause.Entry entry : entries) { - // as 的别名 - String aliasTableName = entry.getAlias(); - // select 主体过滤得到的字段记录含追溯真实表记录 - List withAsTableSelectColumns = this.queryColumnsBySqlSelect(entry.getSubQuery()); - List filterSelectColumns = new ArrayList<>(); - // with as 递归CTE场景 去除tableInfo中相对应匹配别名table相对应的字段记录信息 - for (SelectColumn selectColumn : withAsTableSelectColumns) { - List selectColumnNames = new ArrayList<>(); - List seletTableNames = new ArrayList<>(); - String[] selectColumnNameArr = selectColumn.getColumnName().split(","); - String[] selectTableNameArr = selectColumn.getTableInfo().split(","); - for (int i = 0; i < selectColumnNameArr.length; i++) { - // 核心过滤掉递归CTE场景的字段依赖别名情况 - if (aliasTableName.equals(selectTableNameArr[i])) - continue; - selectColumnNames.add(selectColumnNameArr[i]); - seletTableNames.add(selectTableNameArr[i]); - } - // 若是去除引入别名字段依赖情况后,数组数量为空情况,则跳过(一般不会出现该问题) - if (selectColumnNames.isEmpty()) - continue; - selectColumn.setColumnName(String.join(",", selectColumnNames)); - selectColumn.setTableInfo(String.join(",", seletTableNames)); - filterSelectColumns.add(selectColumn); - } - - columnInfoByTableMap.put(aliasTableName, filterSelectColumns); - } - } - } - return columnInfoByTableMap; - } - - /** - * 处理with as场景 & 主体selct字段情况 消除掉主体select引用with as别名问题 - * @param selectColumns 主体select字段 - * @param columnInfoByTableMap with as map场景 - * @return 消除掉主体select引用with as别名后得到的一组selectColumns - */ - public List matchWithAsAndSelectColumns(List selectColumns, - Map> columnInfoByTableMap) { - List result = new ArrayList<>(); - - // 遍历每个SELECT列 - for (SelectColumn selectColumn : selectColumns) { - // 拆分表信息和列名(可能包含多个以逗号分隔的值) - String[] tableInfos = selectColumn.getTableInfo().split(","); - String[] columnNames = selectColumn.getColumnName().split(","); - String aliasName = selectColumn.getAliasName(); - - // 验证表信息和列名数量是否匹配 - if (tableInfos.length != columnNames.length) { - throw new IllegalArgumentException("SELECT列中的表信息和列名数量不匹配"); - } - - List newTableInfos = new ArrayList<>(); - List newColumnNames = new ArrayList<>(); - - // 处理每个表/列对 - for (int i = 0; i < tableInfos.length; i++) { - String tableInfo = tableInfos[i]; - String columnName = columnNames[i]; - - // 检查别名是否是WITH AS表(存在于map中) - if (columnInfoByTableMap.containsKey(tableInfo)) { - List curMatchMapColumns = columnInfoByTableMap.get(tableInfo); - // * 场景直接匹配全部返回 - if (Constant.ALL.equals(columnName)) { - if (!curMatchMapColumns.isEmpty()) { - for (SelectColumn curMatchMapColumn : curMatchMapColumns) { - result.add(curMatchMapColumn.cloneOwn()); - } - } - } else { - // 非*场景 - boolean found = false; - // 在WITH AS表的列中搜索匹配项 - for (SelectColumn withColumn : curMatchMapColumns) { - // 匹配列名与WITH AS表中的别名 - if (columnName.equals(withColumn.getAliasName())) { - newTableInfos.add(withColumn.getTableInfo()); - newColumnNames.add(withColumn.getColumnName()); - found = true; - break; - } - } - if (!found) { - // 未在WITH AS表中找到匹配项,保留原始值 - newTableInfos.add(Constant.NO_RELATION_TABLE); - newColumnNames.add(columnName); - } - } - } else { - // 无匹配到,表示该表名非with as中,保留原始值 - newTableInfos.add(tableInfo); - newColumnNames.add(columnName); - } - } - - // 过滤掉无匹配到with as表情况 - if (newTableInfos.isEmpty()) - continue;; - - // 创建新的SelectColumn对象(使用解析后的引用) - SelectColumn newColumn = new SelectColumn( - String.join(",", newTableInfos), - String.join(",", newColumnNames), - aliasName); - result.add(newColumn); - } - - return result; - } - - public Map> getTableColumnsMap() { - return tableColumnsMap; - } - - public TableNameMatchStrategy getTableNameStrategy() { - return tableNameStrategy; - } - - public void setTableNameStrategy(TableNameMatchStrategy tableNameStrategy) { - this.tableNameStrategy = tableNameStrategy; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/table/SelectTable.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/table/SelectTable.java deleted file mode 100644 index a29c407..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/table/SelectTable.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.select.table; - -public class SelectTable { - - // 真实表信息 - private String tableInfo; - - // 别名 - private String aliasName; - - public SelectTable(String tableInfo, String aliasName) { - this.tableInfo = tableInfo; - this.aliasName = aliasName; - } - - public String getTableInfo() { - return tableInfo; - } - - public void setTableInfo(String tableInfo) { - this.tableInfo = tableInfo; - } - - public String getAliasName() { - return aliasName; - } - - public void setAliasName(String aliasName) { - this.aliasName = aliasName; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/table/SelectTableSpecialLineageService.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/table/SelectTableSpecialLineageService.java deleted file mode 100644 index a662bde..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/select/table/SelectTableSpecialLineageService.java +++ /dev/null @@ -1,327 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.select.table; - -import com.dtstack.sqlparserx.core.enums.SQLParseStrategy; -import com.dtstack.sqlparserx.core.utils.CollectionUtil; -import com.dtstack.sqlparserx.core.utils.TableSourceUtil; - -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.expr.SQLQueryExpr; -import com.alibaba.druid.sql.ast.statement.*; -import com.alibaba.druid.util.StringUtils; - -import java.util.*; -import java.util.stream.Collectors; - -public class SelectTableSpecialLineageService { - - private int features; - - public SelectTableSpecialLineageService() { - } - - public SelectTableSpecialLineageService(SQLParseStrategy... features) { - this.features = SQLParseStrategy.of(features); - } - - public List queryTablesBySqlSelect(SQLSelect sqlSelect) { - if (sqlSelect == null) { - return new ArrayList<>(); - } - SQLSelectQuery sqlSelectQuery = sqlSelect.getQuery(); - return this.queryTablesBySqlSelectQuery(sqlSelectQuery); - } - - public List queryTablesBySqlSelectQuery(SQLSelectQuery sqlSelectQuery) { - List selectTables = new ArrayList<>(); - if (sqlSelectQuery instanceof SQLSelectQueryBlock) { - selectTables = this.queryTableBySqlSelectQueryBlock((SQLSelectQueryBlock) sqlSelectQuery); - } else if (sqlSelectQuery instanceof SQLUnionQuery) { - SQLUnionQuery sqlUnionQuery = (SQLUnionQuery) sqlSelectQuery; - List relations = sqlUnionQuery.getRelations(); - if (relations == null || relations.isEmpty()) - return selectTables; - for (int i = 0; i < relations.size(); i++) { - List curSelectTables = queryTablesBySqlSelectQuery(relations.get(i)); - selectTables.addAll(curSelectTables); - } - } - - // 去除无真实表的记录 - if (CollectionUtil.isNotEmpty(selectTables)) { - selectTables = selectTables.stream() - .filter(table -> table != null && !StringUtils.isEmpty(table.getTableInfo())) - .collect(Collectors.toList()); - } - return selectTables; - } - - protected List queryTableBySqlSelectQueryBlock(SQLSelectQueryBlock selectQueryBlock) { - if (selectQueryBlock == null) - return null; - // 从表字段中筛选得到表 - List tables = this.queryTableBySQLSelectItems(selectQueryBlock.getSelectList()); - // 表来源拆分 - SQLTableSource fromTable = selectQueryBlock.getFrom(); - // 基于from、select选项完成构造表字段记录逻辑 - tables.addAll(queryFromTable(fromTable)); - return tables; - } - - /** - * 查询出来一组字段中的表 - */ - protected List queryTableBySQLSelectItems(List selectList) { - List selectTables = new ArrayList<>(); - for (SQLSelectItem sqlSelectItem : selectList) { - SQLExpr expr = sqlSelectItem.getExpr(); - selectTables.addAll(this.queryFromTableBySQLExpr(expr)); - } - return selectTables; - } - - /** - * 查询字段表达式中是否带有真实表场景 - */ - private List queryFromTableBySQLExpr(SQLExpr expr) { - List selectTables = new ArrayList<>(); - if (expr instanceof SQLQueryExpr) { - SQLQueryExpr sqlQueryExpr = (SQLQueryExpr) expr; - // select (SELECT COUNT(*) FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count - SQLSelect sqlSelect = sqlQueryExpr.getSubQuery(); - selectTables = this.queryTablesBySqlSelect(sqlSelect); - } - return selectTables; - } - - protected List queryFromTable(SQLTableSource fromTable) { - List tables = new ArrayList<>(); - // 不同场景 - // 场景1:from 普通表场景(SQLExprTableSource) 如:from table1 或者 from table1 as t1 - if (fromTable instanceof SQLExprTableSource) { - // #feat2:结合select & from 结合转换字段处理 - SQLExprTableSource sqlExprTableSource = (SQLExprTableSource) fromTable; - // 真实表名 表别名 - String sourceTableName = TableSourceUtil.extractTableName((SQLExprTableSource) fromTable); - String aliasTableName = sqlExprTableSource.getAlias() == null - ? sourceTableName - : sqlExprTableSource.getAlias(); - tables.add(new SelectTable(sourceTableName, aliasTableName)); - }// 场景2:子查询表(SQLSubqueryTableSource) 如:from (select xxx, xxx from table 1) - else if (fromTable instanceof SQLSubqueryTableSource) { - SQLSubqueryTableSource sqlSubqueryTableSource = (SQLSubqueryTableSource) fromTable; - SQLSelect select = sqlSubqueryTableSource.getSelect(); - String aliasTableName = sqlSubqueryTableSource.getAlias(); - // 查询到主体select中的多个表 - // 如:select * from table3 as tt3 left join table4 as tt4 on tt3.id = tt4.id - // 得到多条表记录 - // 真实表 表别名 - // table3 tt3 - // table4 tt4 - List subQuerySelectTables = this.queryTablesBySqlSelect(select); - - SelectTable selectTable = this.doMergeSubqueryTables(subQuerySelectTables, aliasTableName); - tables.add(selectTable); - } // 场景3:join表 如:from table1 left|inner|right join table2 on table1.id = table2.id - else if (fromTable instanceof SQLJoinTableSource) { - SQLJoinTableSource sqlJoinTableSource = (SQLJoinTableSource) fromTable; - SQLTableSource left = sqlJoinTableSource.getLeft(); - SQLTableSource right = sqlJoinTableSource.getRight(); -// // 左表匹配扫描 - tables.addAll(queryFromTable(left)); -// // 右表匹配扫描 - tables.addAll(queryFromTable(right)); - } // 场景5:子查询+union结构(SQLUnionQueryTableSource) 与场景2基本一致 - else if (fromTable instanceof SQLUnionQueryTableSource) { - SQLUnionQueryTableSource sqlUnionQueryTableSource = (SQLUnionQueryTableSource) fromTable; - SQLUnionQuery sqlUnionQuery = sqlUnionQueryTableSource.getUnion(); - String aliasTableName = sqlUnionQueryTableSource.getAlias(); - - List subQuerySelectTables = this.queryTablesBySqlSelectQuery(sqlUnionQuery); - - SelectTable selectTable = this.doMergeSubqueryTables(subQuerySelectTables, aliasTableName); - tables.add(selectTable); - } // 场景6:LATERAL VIEW表源(SQLLateralViewTableSource),内部有一个tableSource,复用方法逻辑即可 - else if (fromTable instanceof SQLLateralViewTableSource) { - SQLLateralViewTableSource sqlLateralViewTableSource = (SQLLateralViewTableSource) fromTable; - SQLTableSource tableSource = sqlLateralViewTableSource.getTableSource(); - tables.addAll(this.queryFromTable(tableSource)); - } - return tables; - } - - /** - * 将子查询中的一组表 合并 为一个SelectTable - * @param subQuerySelectTables List - * @return SelectTable - */ - public SelectTable doMergeSubqueryTables(List subQuerySelectTables, String aliasTableName) { - // 合并为一条表记录 - // 真实表 表别名 - // table3, table4 t34 - List tableGroup = new ArrayList<>(); - for (SelectTable subQuerySelectTable : subQuerySelectTables) { - tableGroup.add(subQuerySelectTable.getTableInfo()); - } - return new SelectTable(String.join(",", tableGroup), aliasTableName); - } - - /** - * 构建with map - * key:with as别名 value:List - * @param with SQLWithSubqueryClause - * @return Map> - */ - public Map> buildTableInfoByTableMap(SQLWithSubqueryClause with) { - // 为了支持后续的cte向前推断,这里的map就应该是有序的 - Map> tableInfoByTableMap = new LinkedHashMap<>(); - if (with != null) { - List entries = with.getEntries(); - if (!entries.isEmpty()) { - // 遍历每一组with as结构 - for (SQLWithSubqueryClause.Entry entry : entries) { - // as 的别名 - String aliasTableName = entry.getAlias(); - SQLSelect withSubquerySQLSelect = entry.getSubQuery(); - List withSubqueryTables = this.queryTablesBySqlSelect(withSubquerySQLSelect); - tableInfoByTableMap.put(aliasTableName, withSubqueryTables); - } - } - } - // 单独处理cte向前引用场景 - boolean enableCteForwardReference = SQLParseStrategy.isEnabled( - this.features, - SQLParseStrategy.CTE_FORWARD_REFERENCE); - - // 开启cte向前引用场景 - if (enableCteForwardReference) { - // 按照with as cte机制 从前往后去顺序依次替换with as的别名表 - tableInfoByTableMap = findRealCteForwardReferenceTableMap(tableInfoByTableMap); - } - return tableInfoByTableMap; - } - - /** - * 按照with as cte机制 从前往后去顺序依次替换with as的表 - * @param tableInfoByTableMap Map> - * @return Map> - */ - private Map> findRealCteForwardReferenceTableMap( - Map> tableInfoByTableMap) { - Map> tempRealWithasMap = new LinkedHashMap<>(); - if (tableInfoByTableMap != null && !tableInfoByTableMap.isEmpty()) { - // 遍历每一个现有可能存在临时with as 别名表的map - for (Map.Entry> entry : tableInfoByTableMap.entrySet()) { - String withAsKey = entry.getKey(); - List curTables = entry.getValue(); - - // 需要去拿到当前pos前的一组map 去比对其中的key是否为当前的curTables的,若是则需要替换进来 - if (CollectionUtil.isNotEmpty(curTables)) { - // 查询到真实的一组with as tables表 - curTables = findRealWithasTables(curTables, tempRealWithasMap); - } - - // 每次暂存最新的with as map - tempRealWithasMap.put(withAsKey, curTables); - } - } - return tempRealWithasMap; - } - - /** - * 对当前的withas 真实表去寻找真实的一组集合 - * @param curTables List - * @param tempRealWithasMap Map> - * @return List - */ - private List findRealWithasTables(List curTables, - Map> tempRealWithasMap) { - if (tempRealWithasMap.isEmpty()) - return curTables; - - List realTables = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(curTables)) { - for (SelectTable curSelectTable : curTables) { - - Set realTableNameList = new HashSet<>(); - // 会有多个表同时存在在一个字段中 - String[] selectTableNameArr = curSelectTable.getTableInfo().split(",", -1); - int realSelectTableLength = selectTableNameArr.length; - for (int i = 0; i < realSelectTableLength; i++) { - String tableName = selectTableNameArr[i]; - // 寻找with as别名情况 - boolean exists = tempRealWithasMap.containsKey(tableName); - if (exists) { - List selectTables = tempRealWithasMap.get(tableName); - // 收集最新的真实表名 - if (CollectionUtil.isNotEmpty(selectTables)) { - for (SelectTable selectTable : selectTables) { - realTableNameList.add(selectTable.getTableInfo()); - } - } - } else { - realTableNameList.add(tableName); - } - } - - // 变更最新的tableInfo - curSelectTable.setTableInfo(String.join(",", realTableNameList)); - realTables.add(curSelectTable); - } - } - return realTables; - } - - /** - * with as 场景处理:当前只考虑完成selectTables中具有的别名替换 - * 注意:这块逻辑表血缘 与 表解析有一些小区别(表解析应当将with as中的所有表字段全部解析拿到的) - */ - public List matchWithAsAndSelectTables(List selectTables, - Map> tableInfoByTableMap) { - /** - * filter逻辑:针对with as递归cte场景单独处理 - * t5 -> [{tableInfo:"t5, table1"}, {tableInfo:"table2"}] - * => 只过滤得到最终为 - * t5->table1,table2 - */ - Map aliasNameBySourceTables = tableInfoByTableMap.entrySet().stream() - .collect(Collectors.toMap( - Map.Entry::getKey, - entry -> entry.getValue().stream() - .map(SelectTable::getTableInfo) // 获取每个 TableInfo - .flatMap(tableInfo -> Arrays.stream(tableInfo.split(",", -1))) // 将每个 TableInfo 按逗号分割为多个 tableName - .map(String::trim) // 去除多余的空格 - .filter(tableName -> !tableName.equals(entry.getKey())) // 过滤掉与 entryKey 相同的 tableName - .collect(Collectors.joining(",")) // 将剩余的 tableName 拼接为字符串 - )); - - // 重新构建匹配替换select主体引用的别名表 - List newSelectTables = new ArrayList<>(); - for (SelectTable selectTable : selectTables) { - List tableGroup = new ArrayList<>(); - String[] selectTableArr = selectTable.getTableInfo().split(","); - for (String tableName : selectTableArr) { - tableGroup.add(aliasNameBySourceTables.getOrDefault(tableName, tableName)); - } - newSelectTables.add(new SelectTable(String.join(",", tableGroup), selectTable.getAliasName())); - } - return newSelectTables; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/CollectionUtil.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/CollectionUtil.java deleted file mode 100644 index eb305ba..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/CollectionUtil.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.utils; - -import java.util.Collection; - -/** - * @description 集合工具库 - * @author changlu - * @date 2025/8/4 11:09 - */ -public class CollectionUtil { - - public static boolean isEmpty(Collection coll) { - return coll == null || coll.isEmpty(); - } - - public static boolean isNotEmpty(Collection coll) { - return !isEmpty(coll); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/ColumnUtil.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/ColumnUtil.java deleted file mode 100644 index 81863f2..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/ColumnUtil.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.utils; - -/** - * @description 字段相关utils - * @author changlu - * @date 2025/7/24 16:11 - */ -public class ColumnUtil { - - /** - * 去除字符串中的反引号(`)和单引号(') - * @param input 输入字符串 - * @return 处理后的字符串,如果输入为null则返回null - */ - public static String removeQuotes(String input) { - if (input == null) { - return null; - } - // 去除字符串开头和结尾的反引号或单引号 - return input.replaceAll("`", "") - .replaceAll("'", "") - .replaceAll("\"", ""); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/CommonUtil.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/CommonUtil.java deleted file mode 100644 index d67f2f7..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/CommonUtil.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.utils; - -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.expr.SQLCharExpr; -import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem; - -import java.util.ArrayList; -import java.util.List; - -/** - * @description 通用工具类 SQLParser解析器过程中使用 - * @author changlu - * @date 2025/7/24 16:11 - */ -public class CommonUtil { - - /** - * 去除字符串中的反引号(`)和单引号(') - * @param input 输入字符串 - * @return 处理后的字符串,如果输入为null则返回null - */ - public static String removeQuotes(String input) { - if (input == null) { - return null; - } - // 去除字符串开头和结尾的反引号或单引号 - return input.replaceAll("`", "") - .replaceAll("'", "") - .replaceAll("\"", ""); - } - - /** - * 将SQLExpr类型的列名转换为值 - * @param sqlExprs SQLExpr类型的列名列表 - * @return 字符串列表,如果输入为空则返回null - */ - public static List sqlExprs2Values(List sqlExprs) { - if (CollectionUtil.isEmpty(sqlExprs)) { - return new ArrayList<>(); - } - List values = new ArrayList<>(); - for (SQLExpr sqlExpr : sqlExprs) { - values.add(sqlExpr2Value(sqlExpr)); - } - return values; - } - - /** - * 将SQLExpr类型的列名转换为值 - * @param sqlExpr sqlExpr - * @return 字符串列表,如果输入为空则返回null - */ - public static String sqlExpr2Value(SQLExpr sqlExpr) { - if (sqlExpr == null) - return null; - String value = sqlExpr.toString(); - if (sqlExpr instanceof SQLCharExpr) { - SQLCharExpr sqlCharExpr = (SQLCharExpr) sqlExpr; - value = sqlCharExpr.getText(); - } - return ColumnUtil.removeQuotes(value); - } - - /** - * 将SQLSelectOrderByItem类型的列名转换为值 - * @param sqlSelectOrderByItems SQLSelectOrderByItem类型的列名列表 - * @return 字符串列表,如果输入为空则返回null - */ - public static List sqlSelectOrderByItems2Values(List sqlSelectOrderByItems) { - if (CollectionUtil.isEmpty(sqlSelectOrderByItems)) { - return new ArrayList<>(); - } - List values = new ArrayList<>(); - for (SQLSelectOrderByItem sqlSelectOrderByItem : sqlSelectOrderByItems) { - String value = sqlSelectOrderByItem.getExpr().toString(); - values.add(ColumnUtil.removeQuotes(value)); - } - return values; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/SQLSplitterUtil.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/SQLSplitterUtil.java deleted file mode 100644 index 038fe94..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/SQLSplitterUtil.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.utils; - -import com.dtstack.sqlparserx.syntax.SqlSyntaxParserFactory; - -import com.alibaba.druid.DbType; - -import java.util.List; - -/** - * sql切分工具类库 - */ -public class SQLSplitterUtil { - public static void main(String[] args) { - // 1. 输入包含多条 SQL 的字符串 -// String sql = "CREATE OR REPLACE TRIGGER kaifa_transactions_trg\n" + -// "BEFORE INSERT ON kaifa_transactions\n" + -// "FOR EACH ROW\n" + -// "BEGIN\n" + -// "SELECT kaifa_transactions_seq.NEXTVAL\n" + -// "INTO :NEW.id\n" + -// "FROM dual;\n" + -// "END;\n" + -// "SELECT id, name FROM student WHERE id = 1 AND name = 'changlu';"; - String sql = "SELECT id, name FROM student WHERE id = 1 AND name = 'changlu';" + - "CREATE OR REPLACE TRIGGER kaifa_transactions_trg\n" + - "-- 测试; /\n" + - "BEFORE INSERT ON kaifa_transactions\n" + - "FOR EACH ROW\n" + - "BEGIN\n" + - "SELECT kaifa_transactions_seq.NEXTVAL\n" + - "INTO :NEW.id\n" + - "FROM dual;\n" + - "END;\n" + - "SELECT id, name FROM student WHERE id = 1 AND name = 'changlu';"; -// String sql = "CREATE OR REPLACE FUNCTION add_numbers(\n" + -// " p_num1 IN NUMBER,\n" + -// " p_num2 IN NUMBER \n" + -// ") RETURN NUMBER IS\n" + -// "BEGIN\n" + -// " RETURN p_num1 + p_num2;\n" + -// "END add_numbers;" + -// "select * from WWV_FLOW_FILE_OBJECTS$ ;"; -// String sql = "CREATE OR REPLACE FUNCTION add_numbers(\n" + -// "p_num1 IN NUMBER,\n" + -// "p_num2 IN NUMBER \n" + -// ") RETURN NUMBER IS\n" + -// "BEGIN\n" + -// "RETURN p_num1 + p_num2;\n" + -// "END add_numbers;\n" + -// "\n" + -// "select * from WWV_FLOW_FILE_OBJECTS$;"; - -// System.setProperty("druid_sql_parser_end_token_checking_disabled", "true"); - - // 2. 调用切分方法 -// List stmtList = SQLUtils.parseStatements(sql, DbType.oracle); -// System.out.println(stmtList); -// List splitSQLs = splitSQL(sql, DbType.oracle); - List splitSQLs = SqlSyntaxParserFactory.getParser(DbType.oracle).splitByDruid(sql); - for (String splitSQL : splitSQLs) { - System.out.println(splitSQL); - } -// -// // 3. 输出切分结果 -// System.out.println("Splitted SQL Statements:"); -// for (int i = 0; i < splitSQLs.size(); i++) { -// System.out.println("SQL " + (i + 1) + ":"); -// System.out.println(splitSQLs.get(i)); -// System.out.println(); -// } - } - - /** - * 切分 SQL 并保留原始内容 - * 说明:parser.parseStatement() 极其不稳定,有问题 - * - * @param sql 原始 SQL 字符串 - * @return 切分后的 SQL 列表 - */ - public static List splitSQL(String sql, DbType dbType) { - return SqlSyntaxParserFactory.getParser(dbType).split(sql); - } - - /** - * 最稳的切割sql,解析语法树,然后转sql - * @param sql String - * @param dbType DbType - * @return List - */ - public static List splitSQL2(String sql, DbType dbType) { - return SqlSyntaxParserFactory.getParser(dbType).splitAndFormat(sql); - } - - /** - * 基于官方druid提供的切分sql 【有问题例如:oracle的 - * CREATE OR REPLACE FUNCTION add_numbers( - * p_num1 IN NUMBER, - * p_num2 IN NUMBER - * ) RETURN NUMBER IS - * BEGIN - * RETURN p_num1 + p_num2; - * END add_numbers; - * - * select * from WWV_FLOW_FILE_OBJECTS$; - * 】 - * @param sql String - * @param dbType DbType - * @return List - */ - public static List splitSQL3(String sql, DbType dbType) { - return SqlSyntaxParserFactory.getParser(dbType).splitByDruid(sql); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/TableSourceUtil.java b/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/TableSourceUtil.java deleted file mode 100644 index 8de8e24..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/main/java/com/dtstack/sqlparserx/core/utils/TableSourceUtil.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.utils; - -import com.dtstack.sqlparserx.core.parser.IParseTableClient; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.Table; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLExpr; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; -import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr; -import com.alibaba.druid.sql.ast.statement.*; -import com.alibaba.druid.sql.visitor.SQLASTVisitor; - -import java.util.*; - -/** - * 收集table表名 key - */ -public class TableSourceUtil implements SQLASTVisitor { - - /** - * 解析真实表 - */ - public static List parseTables(String sql, DbType dbType) { - ISqlParser sqlParser = SqlParserFactory.getSqlParser(dbType); - ParseTableResult parseTableResult = sqlParser.parseTables(sql); - return new ArrayList<>(parseTableResult.getAllTableName()); - } - - /** - * 解析真实表 - */ - public static ParseTableResult parseTables(SQLStatement stmt) { - return parseTables(stmt, null); - } - - /** - * 解析真实表 - */ - public static ParseTableResult parseTables(SQLStatement stmt, DbType dbType) { - ISqlParser sqlParser = SqlParserFactory.getSqlParser(dbType); - IParseTableClient parseTableClient = sqlParser.getParseTableClient(); - return parseTableClient.parseTables(stmt); - } - - /** - * 获取表名 - * @param tableSource 表名source - * @return 表名 - */ - public static String extractTableName(SQLExprTableSource tableSource) { - return Table.TableTransfer.transfer(extractTable(tableSource)); - } - - public static Table extractTable(SQLTableSource sqlTableSource) { - if (sqlTableSource instanceof SQLExprTableSource) { - return extractTable((SQLExprTableSource) sqlTableSource); - } - return null; - } - - /** - * 获取表对象信息 - * 1、极端场景 select * from ttt.catalog.db.table as tmp - * 2、全包含场景 select * from catalog.db.table as tmp - * 3、仅仅有db、table场景 select * from table as tmp - * 4、仅仅有table场景 select * table as tmp - * @param tableSource - * @return - */ - public static Table extractTable(SQLExprTableSource tableSource) { - if (tableSource == null) - return null; - // 别名 - String aliasTableName = null; - - // 获取到catalog、db、table - SQLExpr expr = tableSource.getExpr(); - Table table = extractTable(expr); - - // 初始化别名 - aliasTableName = tableSource.getAlias() == null ? table.getName() : tableSource.getAlias(); - table.setAliasTableName(aliasTableName); - return table; - } - - /** - * 获取到table对象信息,其中别名字段在expr中获取不到 - * @param expr 表达式 无as - * @return table信息 - */ - public static Table extractTable(SQLExpr expr) { - String catalog = null; - String db = null; - String tableName = null; - if (expr instanceof SQLIdentifierExpr) { - tableName = ((SQLIdentifierExpr) expr).getName(); - } else if (expr instanceof SQLPropertyExpr) { - SQLPropertyExpr hasTableNamePropertyExpr = (SQLPropertyExpr) expr; - tableName = hasTableNamePropertyExpr.getName(); - SQLExpr hasDbNamePropertyExprOwner = hasTableNamePropertyExpr.getOwner(); - - // 尝试去获取db - if (hasDbNamePropertyExprOwner instanceof SQLIdentifierExpr) { - db = ((SQLIdentifierExpr) hasDbNamePropertyExprOwner).getName(); - } else if (hasDbNamePropertyExprOwner instanceof SQLPropertyExpr) { - db = ((SQLPropertyExpr) hasDbNamePropertyExprOwner).getName(); - - // 尝试去获取catalog - SQLExpr hasCataLogPropertyExprOwner = ((SQLPropertyExpr) hasDbNamePropertyExprOwner).getOwner(); - if (hasCataLogPropertyExprOwner instanceof SQLIdentifierExpr) { - catalog = ((SQLIdentifierExpr) hasCataLogPropertyExprOwner).getName(); - } else if (hasCataLogPropertyExprOwner instanceof SQLPropertyExpr) { - catalog = ((SQLPropertyExpr) hasCataLogPropertyExprOwner).getName(); - } - } - } - // 针对解析得到的catalog、db、tableName 进行`` or ''去除 - catalog = removeQuotes(catalog); - db = removeQuotes(db); - tableName = removeQuotes(tableName); - return new Table(catalog, db, tableName, null); - } - - /** - * 去除字符串中的反引号(`)和单引号(') - * @param input 输入字符串 - * @return 处理后的字符串,如果输入为null则返回null - */ - public static String removeQuotes(String input) { - if (input == null) { - return null; - } - // 去除字符串开头和结尾的反引号或单引号 - return input.replaceAll("`", "") - .replaceAll("'", "") - .replaceAll("\"", ""); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/AllTestsSuite.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/AllTestsSuite.java deleted file mode 100644 index 86c135d..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/AllTestsSuite.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core; - -import com.dtstack.sqlparserx.core.base.BaseSuite; -import com.dtstack.sqlparserx.core.datasource.DatasourceSuite; -import com.dtstack.sqlparserx.core.util.SQLParseStrategySimpleTest; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -/** - * @description 全局聚合单测套件 - * @author changlu - * @date 2025/4/23 - */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ - // 基础通用模板测试 - BaseSuite.class, - // 数据源集合测试 - DatasourceSuite.class, - // 工具类集合测试 - SQLParseStrategySimpleTest.class -}) -public class AllTestsSuite { -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/READMETest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/READMETest.java deleted file mode 100644 index d40e9da..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/READMETest.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import org.junit.Test; - -import java.util.*; - -public class READMETest { - @Test - public void demoTest() { - // 准备sql - String sql = getSql(); - // 1、获取到sqlparser解析器 - // 方式一:工厂方式获取 - ISqlParser sqlParser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - // 方式二:直接new -// MySqlParser mySqlParser = new MySqlParser(); - - // 2、实现解析功能 - // 2.1、解析表 - ParseTableResult parseTableResult = sqlParser.parseTables(sql); - System.out.println("====解析表===="); - System.out.println(parseTableResult.getMainTable());// 获取主表 - System.out.println(parseTableResult.getAllTableName()); // 获取解析到的所有表 -// Set
allTables = parseTableResult.getAllTables(); -// for (Table allTable : allTables) { -// System.out.println(allTable.getCatalog()); -// System.out.println(allTable.getDb()); -// System.out.println(allTable.getName()); -// } - - // 2.2、解析字段血缘 - System.out.println("\n====解析字段血缘===="); - // 针对select * from table 场景,可传入tableColumnsMap封装真实的表字段信息 - Map> tableColumnsMap = new HashMap>() { - { - this.put("users", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - this.put("orders", - Arrays.asList(new Column("amount", 0), new Column("id", 1))); - } - }; - ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap); - columnLineageResult.printColumnLineage(); - - // 2.3、解析表血缘 - System.out.println("\n====解析表血缘===="); - TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql); - List tableLineages = tableLineageResult.getTableLineages(); - System.out.println(tableLineages); - - // 2.4、解析函数 - System.out.println("\n====解析函数===="); - Set functions = sqlParser.parseFunction(sql); - System.out.println(functions); - } - - public String getSql() { - return "CREATE TABLE user_order_summary AS\n" + - "SELECT\n" + - " u.id as user_id,\n" + - " u.name,\n" + - " SUM(o.amount) as total_amount,\n" + - " COUNT(o.id) as order_count\n" + - "FROM users u JOIN orders o ON u.id = o.user_id\n" + - "GROUP BY u.id, u.name"; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/TmpDruidTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/TmpDruidTest.java deleted file mode 100644 index 02739bc..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/TmpDruidTest.java +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core; - -import com.dtstack.sqlparserx.core.parser.base.lineage.table.Table; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.SQLUtils; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.SQLVariantRefExpr; -import com.alibaba.druid.sql.ast.statement.*; -import com.alibaba.druid.sql.parser.SQLParserFeature; -import com.alibaba.druid.sql.parser.SQLParserUtils; -import com.alibaba.druid.sql.parser.SQLStatementParser; -import com.alibaba.druid.sql.parser.SQLType; -import com.alibaba.druid.sql.visitor.SQLASTVisitor; -import org.junit.Test; - -import java.util.ArrayList; -import java.util.List; - -public class TmpDruidTest { - - @Test - public void tempTest() { - String sql = "SELECT * FROM my_catalog.my_catalog.my_schema.my_table"; - SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql); - SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatement(); - System.out.println(stmt); - } - - @Test - public void tempTest2() { - String sql = "SELECT * FROM batch63.sales_order_details WHERE quantity = (SELECT MAX(quantity) FROM batch63.sales_order_details)"; - SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.spark); - SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatement(); - - SQLType sqlType = SQLParserUtils.getSQLType(sql, DbType.spark); - System.out.println(sqlType); - System.out.println(stmt); - } - - @Test - public void tempTest_01() { - String sql = "SELECT \n" + - " id, \n" + - " origin_news_id, \n" + - " company_code, \n" + - " company_name, \n" + - " company_credit_code, \n" + - " company_tag_code, \n" + - " company_sentiment, \n" + - " company_sentiment_level, \n" + - " is_major_company, \n" + - " create_time, \n" + - " update_time, \n" + - " status, \n" + - " supplier, \n" + - " rec_id\n" + - "FROM \n" + - " \"dwldata\".\"t_data_ibfa_news_company\"\n" + - "where \n" + - " company_name like '%${company_name}%'\n" + - " and company_credit_code = ${company_credit_code}\n" + - " and create_time > ('${date_dt}'::date - INTERVAL '1 year')::timestamp"; - SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.postgresql); - SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatement(); - System.out.println(stmt); - } - - @Test - public void tempTest_02_starrocks() { - String sql = "insert into ods.t_dtinsight_test values(6, '1' ,1,1.1,'2022-02-02 00:00:00');\n"; - SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.starrocks); - SQLStatement sqlStatement = parser.parseStatement(); - System.out.println(sqlStatement); - } - - @Test - public void tempTest_03() { - String sql = "-- 完整查询(包含WITH AS、JOIN、子查询、UNION等)\n" + - "WITH \n" + - "-- 第一个AS:简单SELECT\n" + - "t1 AS (\n" + - " SELECT id, name, age\n" + - " FROM digua_ceshi.demo_table_digua\n" + - "),\n" + - "\n" + - "-- 第二个AS:SELECT FROM (SELECT) 嵌套形式\n" + - "t2 AS (\n" + - " SELECT sub.id, sub.name\n" + - " FROM (\n" + - " SELECT id, name\n" + - " FROM digua_ceshi.demo_table_digua\n" + - " WHERE id IS NOT NULL\n" + - " ) AS sub\n" + - "),\n" + - "\n" + - "-- 第三个AS:UNION查询(使用新的表)\n" + - "t3 AS (\n" + - " SELECT id, name, age\n" + - " FROM digua_ceshi.new_table\n" + - " WHERE age > 18\n" + - " UNION\n" + - " SELECT id, name, age\n" + - " FROM digua_ceshi.new_table\n" + - " WHERE age IS NULL\n" + - "),\n" + - "\n" + - "-- 第四个AS:LEFT JOIN查询(使用新的表)\n" + - "t4 AS (\n" + - " SELECT id, name, age\n" + - " FROM digua_ceshi.new_table\n" + - "),\n" + - "\n" + - "-- 第五个AS:递归CTE(使用新的表)\n" + - "t5 AS (\n" + - " -- 递归CTE的初始查询\n" + - " SELECT id, name, manager_id, level\n" + - " FROM digua_ceshi.hierarchy_table\n" + - " WHERE manager_id IS NULL -- 假设顶级节点的manager_id为NULL\n" + - "\n" + - " UNION ALL\n" + - "\n" + - " -- 递归部分\n" + - " SELECT h.id, h.name, h.manager_id, t5.level + 1\n" + - " FROM digua_ceshi.hierarchy_table h\n" + - " INNER JOIN t5 ON h.manager_id = t5.id\n" + - ")\n" + - "\n" + - "-- 最终主查询(包含所有JOIN、子查询、UNION操作)\n" + - "INSERT INTO digua_ceshi.result_table\n" + - "SELECT \n" + - " t1.*, \n" + - " t2.name AS t2_name, \n" + - " t3.name AS t3_name, \n" + - " t4.age AS t4_age,\n" + - " t5.level AS t5_level, -- 添加递归CTE中的层级字段\n" + - " -- 添加与真实表的JOIN\n" + - " dt.department,\n" + - " -- 添加子查询示例\n" + - " (SELECT COUNT(*) FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count\n" + - "FROM t1\n" + - "JOIN t2 ON t1.id = t2.id\n" + - "LEFT JOIN t3 ON t1.id = t3.id\n" + - "LEFT JOIN t4 ON t1.id = t4.id\n" + - "LEFT JOIN t5 ON t1.id = t5.id\n" + - "-- 添加与真实表的JOIN\n" + - "JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id\n" + - "-- 添加UNION示例\n" + - "WHERE t1.age > 20\n" + - "\n" + - "UNION ALL\n" + - "\n" + - "SELECT \n" + - " t1.*, \n" + - " t2.name AS t2_name, \n" + - " t3.name AS t3_name, \n" + - " t4.age AS t4_age,\n" + - " t5.level AS t5_level, -- 添加递归CTE中的层级字段\n" + - " dt.department,\n" + - " 0 AS older_count -- 默认值\n" + - "FROM t1\n" + - "JOIN t2 ON t1.id = t2.id\n" + - "LEFT JOIN t3 ON t1.id = t3.id\n" + - "LEFT JOIN t4 ON t1.id = t4.id\n" + - "LEFT JOIN t5 ON t1.id = t5.id\n" + - "JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id\n" + - "WHERE t1.age <= 20;"; -// String sql = "SELECT t1.id, t1.name, dt.age\n" + -// "FROM (\n" + -// " SELECT id, name\n" + -// " FROM digua_ceshi.demo_table_digua\n" + -// " WHERE age > 25\n" + -// ") t1\n" + -// "JOIN digua_ceshi.demo_table_digua dt ON t1.id = dt.id;"; -// String sql = "SELECT t1.id, t1.name, dt.age\n" + -// "FROM (\n" + -// " SELECT id, name\n" + -// " FROM digua_ceshi.demo_table_digua\n" + -// " WHERE age > 25\n" + -// ") t1"; - SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.hive); - SQLStatement sqlStatement = parser.parseStatement(); -// SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatement(); - List
tables = new ArrayList<>(); - SQLUtils.acceptTableSource( - sql, - DbType.oracle, - e -> { - if (e instanceof SQLExprTableSource) { - SQLExprTableSource tableSource = (SQLExprTableSource) e; -// Table table = new Table(tableSource.getTableName(), tableSource.getAlias()); -// tables.add(table); - } - }, - e -> e instanceof SQLExprTableSource); - System.out.println(tables); - } - - @Test - public void testParser() { - String sql = "select name name1 from kano where id = %${id}%"; - SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql, - SQLParserFeature.KeepSourceLocation); -// SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql); - SQLStatement sqlStatement = parser.parseStatement(); - System.out.println(sqlStatement); - sqlStatement.accept(new SQLASTVisitor() { - @Override - public boolean visit(SQLVariantRefExpr x) { - String name = x.getName(); - x.setName("changlu"); - return SQLASTVisitor.super.visit(x); - } - }); - System.out.println(sqlStatement); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/BaseSuite.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/BaseSuite.java deleted file mode 100644 index 4d1037c..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/BaseSuite.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base; - -import com.dtstack.sqlparserx.core.base.function.BaseParseFunctionTest; -import com.dtstack.sqlparserx.core.base.lineage.BaseLineageSuite; -import com.dtstack.sqlparserx.core.base.parameter.BaseParseParameterClientTest; -import com.dtstack.sqlparserx.core.base.sqlfilter.BaseFilterSortSelectFieldTest; -import com.dtstack.sqlparserx.core.base.sqltype.BaseParseSqlTypeClientTest; -import com.dtstack.sqlparserx.core.base.tables.BaseParseTablesTest; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - // 血缘测试集合 包含字段、表血缘 - BaseLineageSuite.class, - // 解析表单测 - BaseParseTablesTest.class, - // 解析函数单测 - BaseParseFunctionTest.class, - // 变量参数解析与预编译单测 - BaseParseParameterClientTest.class, - // SQL 语句类型解析单测 - BaseParseSqlTypeClientTest.class, - // SELECT 字段排序单测 - BaseFilterSortSelectFieldTest.class -}) -public class BaseSuite { -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/function/BaseParseFunctionTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/function/BaseParseFunctionTest.java deleted file mode 100644 index 05a7e39..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/function/BaseParseFunctionTest.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.function; - -import com.dtstack.sqlparserx.core.common.AbstractSqlParserTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; - -import com.alibaba.druid.DbType; -import org.junit.Test; - -import java.util.Set; - -import static org.junit.Assert.assertEquals; - -/** - * 测试BaseSqlParser中的parseFunction 解析函数 - */ -public class BaseParseFunctionTest extends AbstractSqlParserTest { - - private final ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - private String sqlTxtName = "BaseParseFunctionTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/base/function/"; - } - - @Test - public void test_01() { - String sql = readSqlByIndex(sqlTxtName, 1); - ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.trino); - Set functions = sqlParser.parseFunction(sql); - assertEquals(3, functions.size()); - assertEquals(true, functions.contains("sum")); - assertEquals(true, functions.contains("row_number")); - assertEquals(true, functions.contains("substr")); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/BaseLineageSuite.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/BaseLineageSuite.java deleted file mode 100644 index 081af72..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/BaseLineageSuite.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.lineage; - -import com.dtstack.sqlparserx.core.base.lineage.column.BaseColumnLineageCreateTableAsSelectTest; -import com.dtstack.sqlparserx.core.base.lineage.column.BaseColumnLineageInsertSelectTest; -import com.dtstack.sqlparserx.core.base.lineage.column.BaseColumnLineageWithAsInsertTest; -import com.dtstack.sqlparserx.core.base.lineage.table.BaseTableLineageCreateTableAsSelectTest; -import com.dtstack.sqlparserx.core.base.lineage.table.BaseTableLineageInsertSelectTest; -import com.dtstack.sqlparserx.core.base.lineage.table.BaseTableLineageWithAsInsertTest; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - // base 字段血缘 - BaseColumnLineageCreateTableAsSelectTest.class, - BaseColumnLineageInsertSelectTest.class, - BaseColumnLineageWithAsInsertTest.class, - // base 表血缘 - BaseTableLineageCreateTableAsSelectTest.class, - BaseTableLineageInsertSelectTest.class, - BaseTableLineageWithAsInsertTest.class -}) -public class BaseLineageSuite { -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/column/BaseColumnLineageCreateTableAsSelectTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/column/BaseColumnLineageCreateTableAsSelectTest.java deleted file mode 100644 index 482f9b8..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/column/BaseColumnLineageCreateTableAsSelectTest.java +++ /dev/null @@ -1,361 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.lineage.column; - -import com.dtstack.sqlparserx.core.common.BaseColumnLineageAnalyzerTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.ColumnLineage; - -import com.alibaba.druid.DbType; -import org.junit.Test; - -import java.util.*; - -import static org.junit.Assert.assertEquals; - -/** - * @description 测试CREATE TABLE AS SELECT结构 - * @author changlu - * @date 2025/4/22 11:00 - */ -public class BaseColumnLineageCreateTableAsSelectTest extends BaseColumnLineageAnalyzerTest { - - private final ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - private String sqlTxtName = "BaseColumnLineageCreateTableAsSelectTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/base/lineage/column/"; - } - - /** - * 普通CREATE TABLE - */ - @Test - public void test_01_CreateTable() { - String sql = readSqlByIndex(sqlTxtName, 1); - ColumnLineageResult analyze = sqlParser.parseColumnLineages(sql, new HashMap<>()); - - assertEquals("students", analyze.getTargetTable()); - assertEquals(0, analyze.getColumnRelations().size()); - } - - /** - * 字段中带有catalog.schema.table.column 如 default_catalog.changluya_db.orders2.order_id2 - */ - @Test - public void test_02_SimpleCreateTableAsSelectByCatalogSchemaTableColumn() { - String sql = readSqlByIndex(sqlTxtName, 2); - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, new HashMap<>()); - System.out.println(result); - } - - /** - * 测试用例3:CREATE TABLE AS SELECT - */ - @Test - public void test_03_SimpleCreateTableByAsSelect() { - String sql = readSqlByIndex(sqlTxtName, 3); - Map> tableColumnsMap = new HashMap>() { - { - this.put("source_table", Arrays.asList(new Column("id", 0), new Column("name", 1))); - } - }; - // 实现字段血缘分析 - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - // 校验血缘分析结果 -// result.printColumnLineage(); - assertEquals("new_table", result.getTargetTable()); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertRelation(relations, "new_table.id", "source_table.id"); - assertRelation(relations, "new_table.name", "source_table.name"); - } - - /** - * 测试用例4-较复杂:CREATE TABLE AS SELECT - */ - @Test - public void test_04_ComplexCreateTableAsSelect() { - String sql = readSqlByIndex(sqlTxtName, 4); - Map> tableColumnsMap = new HashMap>() { - { - this.put("users", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - this.put("orders", - Arrays.asList(new Column("amount", 0), new Column("id", 1))); - } - }; - // 实现字段血缘分析 - ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.hive); - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - // 校验血缘分析结果 -// result.printColumnLineage(); - assertEquals("user_order_summary", result.getTargetTable()); - Map> relations = result.getColumnRelations(); - assertEquals(4, relations.size()); - assertRelation(relations, "user_order_summary.user_id", "users.id"); - assertRelation(relations, "user_order_summary.name", "users.name"); - assertRelation(relations, "user_order_summary.total_amount", "orders.amount"); - assertRelation(relations, "user_order_summary.order_count", "orders.id"); - } - - /** - * 测试用例5-子查询:CREATE TABLE AS SELECT xxx from (select xxx, xxx from xxx) - */ - @Test - public void test_05_createTableAsSelectSubQuery() { - String sql = readSqlByIndex(sqlTxtName, 5); - Map> tableColumnsMap = new HashMap>() { - { - this.put("table2", - Arrays.asList(new Column("col1", 0), new Column("col2", 1))); - } - }; - // 实现字段血缘分析 - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - // 校验血缘分析结果 -// result.printColumnLineage(); - assertEquals("new_table", result.getTargetTable()); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertRelation(relations, "new_table.col3", "table2.col1"); - assertRelation(relations, "new_table.col4", "table2.col2"); - } - - /** - * 测试用例6 - */ - @Test - public void test_06() { - String sql = readSqlByIndex(sqlTxtName, 6); - Map> tableColumnsMap = new HashMap>(); - // 实现字段血缘分析 - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - // 校验血缘分析结果 - result.printColumnLineage(); - List columnLineages = result.getColumnLineages(); - System.out.println("============="); - for (ColumnLineage columnLineage : columnLineages) { - System.out.println(columnLineage); - } - System.out.println("============="); - System.out.println(); - assertEquals("tz", result.getTargetTable()); - assertEquals(6, columnLineages.size()); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "CDSY_PICTURES", "EID", null, null, - "tz", "ID"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "CDSY_PICTURES", "OBJECTCODE", null, - null, "tz", "CompanyCode"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "CDSY_PICTURES", "ADDRESS", null, null, - "tz", "LOGOPath"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "CDSY_PICTURES", "EITIME", null, null, - "tz", "EnterTime"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "CDSY_PICTURES", "EUTIME", null, null, - "tz", "UpdateTime"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "CDSY_PICTURES", "EisDel", null, null, - "tz", "EISDEL"))); - } - - /** - * 测试用例7 - */ - @Test - public void test_07() { - String sql = readSqlByIndex(sqlTxtName, 7); - Map> tableColumnsMap = new HashMap>(); - // 实现字段血缘分析 - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - // 校验血缘分析结果 - result.printColumnLineage(); - List columnLineages = result.getColumnLineages(); -// System.out.println("============="); -// for (ColumnLineage columnLineage : columnLineages) { -// System.out.println(columnLineage); -// } -// System.out.println("============="); - System.out.println(); - assertEquals("a", result.getTargetTable()); - assertEquals(4, columnLineages.size()); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "b", "id1", null, null, "a", "id1"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "b", "name1", null, null, "a", - "name1"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "c", "id2", null, null, "a", "id2"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "c", "name2", null, null, "a", - "name2"))); - } - - /** - * 测试用例8:支持case when end 场景 - */ - @Test - public void test_08_case_when_end() { - String sql = readSqlByIndex(sqlTxtName, 8); - Map> tableColumnsMap = new HashMap>(); - // 实现字段血缘分析 - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - // 校验血缘分析结果 - result.printColumnLineage(); - List columnLineages = result.getColumnLineages(); - assertEquals("tz", result.getTargetTable()); - assertEquals(2, columnLineages.size()); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "employees", "id", null, null, "tz", - "id"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "employees", "salary", null, null, - "tz", "salary_level"))); - } - - /** - * 测试用例9 - */ - @Test - public void test_09() { - String sql = readSqlByIndex(sqlTxtName, 9); - Map> tableColumnsMap = new HashMap>(); - // 实现字段血缘分析 - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - // 校验血缘分析结果 - result.printColumnLineage(); - List columnLineages = result.getColumnLineages(); - assertEquals("tz", result.getTargetTable()); - // 暂未确认 - assertEquals(28, columnLineages.size()); - } - - /** - * 测试用例10:带有复杂case when end & cast函数场景 - */ - @Test - public void test_10() { - String sql = readSqlByIndex(sqlTxtName, 10); - Map> tableColumnsMap = new HashMap>(); - // 实现字段血缘分析 - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - // 校验血缘分析结果 - result.printColumnLineage(); - List columnLineages = result.getColumnLineages(); - assertEquals("tz", result.getTargetTable()); - // 暂未确认(后期可再验证) - assertEquals(20, columnLineages.size()); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "EID", null, null, - "tz", "ID"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "INFOCODE", null, - null, "tz", "LAS_Code"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "AttachType", - null, null, "tz", "AttachType"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "AttachName", - null, null, "tz", "AttachName"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "AttachNo", null, - null, "tz", "AttachNo"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "ATTACHNAME", - null, null, "tz", "AttachOrigName"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "AttachSize", - null, null, "tz", "AttachSize"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "AttachPages", - null, null, "tz", "AttachPages"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "SOUATTACHNAME", - null, null, "tz", "SouAttchname"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "ATTACHNAME", - null, null, "tz", "D_Path"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "ATTACHNAME", - null, null, "tz", "F_Name"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "INFOCODE", null, - null, "tz", "F_Name"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "ATTACHNO", null, - null, "tz", "F_Name"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "ATTACHNAME", - null, null, "tz", "F_Type"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "ATTACHNO", null, - null, "tz", "F_Url"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "ATTACHNAME", - null, null, "tz", "F_Url"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "INFOCODE", null, - null, "tz", "F_Url"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "EUTIME", null, - null, "tz", "UpdateTime"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "EITIME", null, - null, "tz", "EnterTime"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "INFO_NW_RELATTACH", "EISDEL", null, - null, "tz", "EisDel"))); - } - - /** - * 测试用例11: - */ - @Test - public void test_11() { - String sql = readSqlByIndex(sqlTxtName, 11); - Map> tableColumnsMap = new HashMap>(); - // 实现字段血缘分析 - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - // 校验血缘分析结果 - result.printColumnLineage(); - List columnLineages = result.getColumnLineages(); - assertEquals("tz", result.getTargetTable()); - // 暂未确认(后期可再验证) - assertEquals(15, columnLineages.size()); - } - - @Test - public void test_12() { - String sql = readSqlByIndex(sqlTxtName, 12); - Map> tableColumnsMap = new HashMap>(); - // 实现字段血缘分析 - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - List columnLineages = result.getColumnLineages(); - assertEquals("newTable", result.getTargetTable()); - assertEquals(4, columnLineages.size()); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "table1", "id", null, null, "newTable", - "id"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "table1", "name", null, null, - "newTable", "name"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "table2", "id", null, null, "newTable", - "id"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, null, "table2", "name", null, null, - "newTable", "name"))); - } - - @Test - public void test_13() { - String sql = readSqlByIndex(sqlTxtName, 13); - Map> tableColumnsMap = new HashMap>(); - // 实现字段血缘分析 - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - List columnLineages = result.getColumnLineages(); - assertEquals("newTable", result.getTargetTable()); - assertEquals(7, columnLineages.size()); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, "ods", "ods_task_condition_invite_hf", "id", - null, null, "newTable", "id"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, "ods", "ods_task_condition_invite_hf", - "invite_task_ids", null, null, "newTable", "invite_task_ids"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, "ods", "ods_task_condition_invite_hf", - "condition_id", null, null, "newTable", "condition_id1"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, "ods", "ods_task_condition_invite_hf", - "created_time", null, null, "newTable", "created_time"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, "ods", "ods_task_condition_invite_hf", - "updated_time", null, null, "newTable", "updated_time"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, "ods", "ods_task_condition_invite_hf", - "from_channel", null, null, "newTable", "from_channel"))); - assertEquals(true, columnLineages.contains(new ColumnLineage(null, "ods", "ods_task_condition_invite_hf", - "invite_nums", null, null, "newTable", "invite_nums"))); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/column/BaseColumnLineageInsertSelectTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/column/BaseColumnLineageInsertSelectTest.java deleted file mode 100644 index e6ecedc..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/column/BaseColumnLineageInsertSelectTest.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.lineage.column; - -import com.dtstack.sqlparserx.core.common.BaseColumnLineageAnalyzerTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; - -import com.alibaba.druid.DbType; -import org.junit.Test; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.junit.Assert.assertEquals; - -/** - * @description 测试INSERT INTO/OVERWRITE SELECT结构 - * @author changlu - * @date 2025/4/22 11:00 - */ -public class BaseColumnLineageInsertSelectTest extends BaseColumnLineageAnalyzerTest { - - private final ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - private String sqlTxtName = "BaseColumnLineageInsertSelectTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/base/lineage/column/"; - } - - // ************ select * from ************** - /** - * insert OVERWRITE结构 - */ - @Test - public void test_01_select_allcolumn_from() { - String sql = readSqlByIndex(sqlTxtName, 1); - Map> tableColumnsMap = new HashMap>() { - { - this.put("dwd_jszt_jyjs0504", - Arrays.asList(new Column("gh", 0), new Column("xm", 1), new Column("dqszdwmc", 2), new Column( - "zdxsjsjlmc", 3))); - } - }; - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - Map> relations = result.getColumnRelations(); - assertEquals(4, relations.size()); - assertRelation(relations, "dws_jyjs0504.gh", "dwd_jszt_jyjs0504.gh"); - assertRelation(relations, "dws_jyjs0504.xm", "dwd_jszt_jyjs0504.xm"); - assertRelation(relations, "dws_jyjs0504.dqszdwmc", "dwd_jszt_jyjs0504.dqszdwmc"); - assertRelation(relations, "dws_jyjs0504.zdxsjsjlmc", "dwd_jszt_jyjs0504.zdxsjsjlmc"); - } - - @Test - public void test_02_select_allcolumn_from() { - String sql = readSqlByIndex(sqlTxtName, 2); - Map> tableColumnsMap = new HashMap>() { - { - this.put("dwd_jszt_jyjs0504", - Arrays.asList(new Column("gh", 0), new Column("xm", 1), new Column("dqszdwmc", 2), new Column( - "zdxsjsjlmc", 3))); - } - }; - ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.hive); - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - Map> relations = result.getColumnRelations(); - assertEquals(4, relations.size()); - assertRelation(relations, "dws_jyjs0504.gh", "dwd_jszt_jyjs0504.gh"); - assertRelation(relations, "dws_jyjs0504.xm", "dwd_jszt_jyjs0504.xm"); - assertRelation(relations, "dws_jyjs0504.dqszdwmc", "dwd_jszt_jyjs0504.dqszdwmc"); - assertRelation(relations, "dws_jyjs0504.zdxsjsjlmc", "dwd_jszt_jyjs0504.zdxsjsjlmc"); - } - - @Test - public void test_03_insert_select() { - String sql = readSqlByIndex(sqlTxtName, 3); - Map> tableColumnsMap = new HashMap>() { - { - this.put("a1", - Arrays.asList(new Column("id1", 0), new Column("name1", 1))); - this.put("a2", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - this.put("a3", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - this.put("a4", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - } - }; - ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertRelation(relations, "a1.id1", "a2.id"); - assertRelation(relations, "a1.id1", "a3.id"); - assertRelation(relations, "a1.id1", "a4.id"); - assertRelation(relations, "a1.name1", "a2.name"); - assertRelation(relations, "a1.name1", "a3.name"); - assertRelation(relations, "a1.name1", "a4.name"); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/column/BaseColumnLineageWithAsInsertTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/column/BaseColumnLineageWithAsInsertTest.java deleted file mode 100644 index 320ba48..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/column/BaseColumnLineageWithAsInsertTest.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.lineage.column; - -import com.dtstack.sqlparserx.core.common.BaseColumnLineageAnalyzerTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; - -import com.alibaba.druid.DbType; -import org.junit.Test; - -import java.util.*; - -import static org.junit.Assert.assertEquals; - -/** - * @description 测试WITH AS搭配INSERT的结构 - * @author changlu - * @date 2025/4/22 11:00 - */ -public class BaseColumnLineageWithAsInsertTest extends BaseColumnLineageAnalyzerTest { - - private final ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - private String sqlTxtName = "BaseColumnLineageWithAsInsertTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/base/lineage/column/"; - } - - /** - * 复杂复合查询sql,主体insert两种: - * 1、with as select xxx insert into table select xxx - * 2、with as select xxx insert into table(column1, column2, xxx) select xxx - * 复合内容涉及: - * 1、from各类场景 unionall、join - * 2、with as select unionall 各种情况 - * 3、select 内部字段各种情况场景 - */ - @Test - public void test_01_02_insert_complex_sql() { - List insertSqlList = new ArrayList<>(); - // 01、insert无字段类型指定 - // String insertSql_01 = "INSERT INTO digua_ceshi.result_table\n"; - insertSqlList.add(readSqlByIndex(sqlTxtName, 1)); - // 02、insert复合指定字段类型 其他结构与01相同 -// String insertSql_02 = "INSERT INTO digua_ceshi.result_table (\n" + -// " t1_col1, t1_col2, t1_col3, \n" + -// " t2_name, t3_name, t4_age,\n" + -// " t5_level, department, older_count\n" + -// ")\n"; - insertSqlList.add(readSqlByIndex(sqlTxtName, 2)); - Map> tableColumnsMap = new HashMap>() { - { - this.put("digua_ceshi.demo_table_digua", - Arrays.asList(new Column("id", 0), new Column("name", 1), new Column("age", 2))); - this.put("digua_ceshi.new_table", - Arrays.asList(new Column("id", 0), new Column("name", 1), new Column("age", 2))); - this.put("digua_ceshi.new_table2", - Arrays.asList(new Column("id", 0), new Column("name", 1), new Column("age", 2))); - this.put("digua_ceshi.hierarchy_table", - Arrays.asList(new Column("id", 0), new Column("name", 1), new Column("manager_id", 2), - new Column("level", 3))); - this.put("digua_ceshi.departments", - Arrays.asList(new Column("department", 0), new Column("employee_id", 1))); - } - }; - // sql1测试 - String insertSql1 = insertSqlList.get(0); - ColumnLineageResult result = sqlParser.parseColumnLineages(insertSql1, tableColumnsMap); - Map> relations = result.getColumnRelations(); - assertEquals(12, result.getColumnLineages().size()); - assertRelation(relations, "digua_ceshi.result_table.id", "digua_ceshi.demo_table_digua.id"); - assertRelation(relations, "digua_ceshi.result_table.name", "digua_ceshi.demo_table_digua.name"); - assertRelation(relations, "digua_ceshi.result_table.age", "digua_ceshi.demo_table_digua.age"); - assertRelation(relations, "digua_ceshi.result_table.t2_name", "digua_ceshi.demo_table_digua.name"); - assertRelation(relations, "digua_ceshi.result_table.t3_name", "digua_ceshi.new_table.name"); - assertRelation(relations, "digua_ceshi.result_table.t3_name", "digua_ceshi.new_table2.name"); - assertRelation(relations, "digua_ceshi.result_table.t4_age", "digua_ceshi.new_table.age"); - assertRelation(relations, "digua_ceshi.result_table.t5_level", "digua_ceshi.hierarchy_table.level"); - assertRelation(relations, "digua_ceshi.result_table.department", "digua_ceshi.departments.department"); - assertRelation(relations, "digua_ceshi.result_table.older_count", "digua_ceshi.demo_table_digua.id"); - assertRelation(relations, "digua_ceshi.result_table.older_count", "digua_ceshi.demo_table_digua.name"); - assertRelation(relations, "digua_ceshi.result_table.older_count", "digua_ceshi.demo_table_digua.age"); - - // sql2测试 - String insertSql2 = insertSqlList.get(1); - result = sqlParser.parseColumnLineages(insertSql2, tableColumnsMap); - relations = result.getColumnRelations(); - assertEquals(12, result.getColumnLineages().size()); - assertRelation(relations, "digua_ceshi.result_table.t1_col1", "digua_ceshi.demo_table_digua.id"); - assertRelation(relations, "digua_ceshi.result_table.t1_col2", "digua_ceshi.demo_table_digua.name"); - assertRelation(relations, "digua_ceshi.result_table.t1_col3", "digua_ceshi.demo_table_digua.age"); - assertRelation(relations, "digua_ceshi.result_table.t2_name", "digua_ceshi.demo_table_digua.name"); - assertRelation(relations, "digua_ceshi.result_table.t3_name", "digua_ceshi.new_table.name"); - assertRelation(relations, "digua_ceshi.result_table.t3_name", "digua_ceshi.new_table2.name"); - assertRelation(relations, "digua_ceshi.result_table.t4_age", "digua_ceshi.new_table.age"); - assertRelation(relations, "digua_ceshi.result_table.t5_level", "digua_ceshi.hierarchy_table.level"); - assertRelation(relations, "digua_ceshi.result_table.department", "digua_ceshi.departments.department"); - assertRelation(relations, "digua_ceshi.result_table.older_count", "digua_ceshi.demo_table_digua.id"); - assertRelation(relations, "digua_ceshi.result_table.older_count", "digua_ceshi.demo_table_digua.name"); - assertRelation(relations, "digua_ceshi.result_table.older_count", "digua_ceshi.demo_table_digua.age"); - - } - - @Test - public void test_01_02_insert_complex_sql111() { - String sql = "INSERT INTO b\n" + - "WITH cte AS (\n" + - " SELECT *\n" + - " FROM a\n" + - ")\n" + - "SELECT * FROM cte;"; - Map> tableColumnsMap = new HashMap>() { - { - this.put("digua_ceshi.a", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - } - }; - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - Map> relations = result.getColumnRelations(); - System.out.println(relations); - } - - @Test - public void test_01_02_insert_complex_sql1112() { - String sql = "INSERT INTO wwz_00001(id,name)\n" + - "WITH wwz_00003 AS (\n" + - " SELECT *\n" + - " FROM wwz_00002\n" + - ")\n" + - "SELECT * FROM wwz_00003;"; - Map> tableColumnsMap = new HashMap>() { - { - this.put("digua_ceshi.wwz_00002", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - } - }; - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - Map> relations = result.getColumnRelations(); - System.out.println(relations); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/table/BaseTableLineageCreateTableAsSelectTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/table/BaseTableLineageCreateTableAsSelectTest.java deleted file mode 100644 index 942f938..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/table/BaseTableLineageCreateTableAsSelectTest.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.lineage.table; - -import com.dtstack.sqlparserx.core.common.AbstractSqlParserTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableRelation; - -import com.alibaba.druid.DbType; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -public class BaseTableLineageCreateTableAsSelectTest extends AbstractSqlParserTest { - - private final ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - private String sqlTxtName = "BaseTableLineageCreateTableAsSelectTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/base/lineage/table/"; - } - - /** - * 普通CREATE TABLE - */ - @Test - public void test_01_CreateTable() { - String sql = readSqlByIndex(sqlTxtName, 1); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("students", result.getTargetTable()); - assertEquals(0, result.getSourceTables().size()); - assertEquals(0, result.getRelations().size()); - } - - /** - * 表中带有default_catalog.changluya_db.orders - */ - @Test - public void test_02_SimpleCreateTableAsSelectByCatalogSchemaTableColumn() { - String sql = readSqlByIndex(sqlTxtName, 2); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals(1, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("default_catalog.changluya_db.orders")); - - assertEquals(1, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("default_catalog.changluya_db.orders", - "new_table"))); - } - - /** - * 测试用例3:CREATE TABLE AS SELECT - */ - @Test - public void test_03_SimpleCreateTableByAsSelect() { - String sql = readSqlByIndex(sqlTxtName, 3); - TableLineageResult result = sqlParser.parseTableLineages(sql); - assertEquals("new_table", result.getTargetTable()); - assertEquals(1, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("source_table")); - - assertEquals(1, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("source_table", "new_table"))); - } - - /** - * 测试用例4-较复杂:CREATE TABLE AS SELECT - */ - @Test - public void test_04_ComplexCreateTableAsSelect() { - String sql = readSqlByIndex(sqlTxtName, 4); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("user_order_summary", result.getTargetTable()); - assertEquals(2, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("users")); - assertTrue(result.getSourceTables().contains("orders")); - - assertEquals(2, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("users", "user_order_summary"))); - assertTrue(result.getRelations().contains(new TableRelation("orders", "user_order_summary"))); - } - - /** - * 测试用例5-子查询:CREATE TABLE AS SELECT xxx from (select xxx, xxx from xxx) - */ - @Test - public void test_05_createTableAsSelectSubQuery() { - String sql = readSqlByIndex(sqlTxtName, 5); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("new_table", result.getTargetTable()); - assertEquals(1, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("table2")); - - assertEquals(1, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("table2", "new_table"))); - } - - /** - * 测试用例6-复合join、union、subquery查询 - */ - @Test - public void test_06_createTableAsComplexFrom() { - String sql = readSqlByIndex(sqlTxtName, 6); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("new_table", result.getTargetTable()); - assertEquals(6, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("table1")); - assertTrue(result.getSourceTables().contains("table3")); - assertTrue(result.getSourceTables().contains("table4")); - assertTrue(result.getSourceTables().contains("table5")); - assertTrue(result.getSourceTables().contains("table6")); - assertTrue(result.getSourceTables().contains("table7")); - - assertEquals(6, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("table1", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table3", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table4", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table5", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table6", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table7", "new_table"))); - } - - /** - * 测试用例7-子查询+union_all - */ - @Test - public void test_07_subquery_union() { - String sql = readSqlByIndex(sqlTxtName, 7); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("newTable", result.getTargetTable()); - assertEquals(2, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("table1")); - assertTrue(result.getSourceTables().contains("table2")); - - assertEquals(2, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("table1", "newTable"))); - assertTrue(result.getRelations().contains(new TableRelation("table2", "newTable"))); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/table/BaseTableLineageInsertSelectTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/table/BaseTableLineageInsertSelectTest.java deleted file mode 100644 index d3a4d5e..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/table/BaseTableLineageInsertSelectTest.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.lineage.table; - -import com.dtstack.sqlparserx.core.common.AbstractSqlParserTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableRelation; - -import com.alibaba.druid.DbType; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -public class BaseTableLineageInsertSelectTest extends AbstractSqlParserTest { - - private final ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - private String sqlTxtName = "BaseTableLineageInsertSelectTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/base/lineage/table/"; - } - - /** - * insert OVERWRITE结构 - */ - @Test - public void test_01_select_allcolumn_from() { - String sql = readSqlByIndex(sqlTxtName, 1); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("dws_jyjs0504", result.getTargetTable()); - assertEquals(1, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("dwd_jszt_jyjs0504")); - - assertEquals(1, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("dwd_jszt_jyjs0504", "dws_jyjs0504"))); - } - - @Test - public void test_02_select_allcolumn_from() { - String sql = readSqlByIndex(sqlTxtName, 2); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("dws_jyjs0504", result.getTargetTable()); - assertEquals(1, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("dwd_jszt_jyjs0504")); - - assertEquals(1, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("dwd_jszt_jyjs0504", "dws_jyjs0504"))); - } - - /** - * insert into结构 - */ - @Test - public void test_03_insert_into() { - String sql = readSqlByIndex(sqlTxtName, 3); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("dws_jyjs0504", result.getTargetTable()); - assertEquals(1, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("dwd_jszt_jyjs0504")); - - assertEquals(1, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("dwd_jszt_jyjs0504", "dws_jyjs0504"))); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/table/BaseTableLineageWithAsInsertTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/table/BaseTableLineageWithAsInsertTest.java deleted file mode 100644 index da69038..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/lineage/table/BaseTableLineageWithAsInsertTest.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.lineage.table; - -import com.dtstack.sqlparserx.core.common.AbstractSqlParserTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableRelation; - -import com.alibaba.druid.DbType; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -public class BaseTableLineageWithAsInsertTest extends AbstractSqlParserTest { - - private final ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - private String sqlTxtName = "BaseTableLineageWithAsInsertTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/base/lineage/table/"; - } - - /** - * insert into结构 - */ - @Test - public void test_01_insert_into_withas() { - String sql = readSqlByIndex(sqlTxtName, 1); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("new_table", result.getTargetTable()); - assertEquals(8, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("table1")); - assertTrue(result.getSourceTables().contains("table2")); - assertTrue(result.getSourceTables().contains("table3")); - assertTrue(result.getSourceTables().contains("table4")); - assertTrue(result.getSourceTables().contains("table5")); - assertTrue(result.getSourceTables().contains("table6")); - assertTrue(result.getSourceTables().contains("table7")); - assertTrue(result.getSourceTables().contains("table8")); - - assertEquals(8, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("table1", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table2", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table3", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table4", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table5", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table6", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table7", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("table8", "new_table"))); - } - - /** - * insert into结构 table 全字段 场景 复杂sql场景 - */ - @Test - public void test_02_insert_into_withas_complex() { - String sql = readSqlByIndex(sqlTxtName, 2); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("digua_ceshi.result_table", result.getTargetTable()); - assertEquals(5, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("digua_ceshi.demo_table_digua")); - assertTrue(result.getSourceTables().contains("digua_ceshi.new_table")); - assertTrue(result.getSourceTables().contains("digua_ceshi.new_table2")); - assertTrue(result.getSourceTables().contains("digua_ceshi.hierarchy_table")); - assertTrue(result.getSourceTables().contains("digua_ceshi.departments")); - - assertEquals(5, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("digua_ceshi.demo_table_digua", - "digua_ceshi.result_table"))); - assertTrue(result.getRelations().contains(new TableRelation("digua_ceshi.new_table", - "digua_ceshi.result_table"))); - assertTrue(result.getRelations().contains(new TableRelation("digua_ceshi.new_table2", - "digua_ceshi.result_table"))); - assertTrue(result.getRelations().contains(new TableRelation("digua_ceshi.hierarchy_table", - "digua_ceshi.result_table"))); - assertTrue(result.getRelations().contains(new TableRelation("digua_ceshi.departments", - "digua_ceshi.result_table"))); - } - - /** - * insert into结构 指定插入字段 复杂sql场景 - */ - @Test - public void test_03_insert_into() { - String sql = readSqlByIndex(sqlTxtName, 3); - TableLineageResult result = sqlParser.parseTableLineages(sql); - - assertEquals("digua_ceshi.result_table", result.getTargetTable()); - assertEquals(5, result.getSourceTables().size()); - assertTrue(result.getSourceTables().contains("digua_ceshi.demo_table_digua")); - assertTrue(result.getSourceTables().contains("digua_ceshi.new_table")); - assertTrue(result.getSourceTables().contains("digua_ceshi.new_table2")); - assertTrue(result.getSourceTables().contains("digua_ceshi.hierarchy_table")); - assertTrue(result.getSourceTables().contains("digua_ceshi.departments")); - - assertEquals(5, result.getRelations().size()); - assertTrue(result.getRelations().contains(new TableRelation("digua_ceshi.demo_table_digua", - "digua_ceshi.result_table"))); - assertTrue(result.getRelations().contains(new TableRelation("digua_ceshi.new_table", - "digua_ceshi.result_table"))); - assertTrue(result.getRelations().contains(new TableRelation("digua_ceshi.new_table2", - "digua_ceshi.result_table"))); - assertTrue(result.getRelations().contains(new TableRelation("digua_ceshi.hierarchy_table", - "digua_ceshi.result_table"))); - assertTrue(result.getRelations().contains(new TableRelation("digua_ceshi.departments", - "digua_ceshi.result_table"))); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/parameter/BaseParseParameterClientTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/parameter/BaseParseParameterClientTest.java deleted file mode 100644 index 9065577..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/parameter/BaseParseParameterClientTest.java +++ /dev/null @@ -1,800 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.parameter; - -import com.dtstack.sqlparserx.core.common.AbstractSqlParserTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ApiParamSpan; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.DataTypeColumn; -import com.dtstack.sqlparserx.core.parser.base.parameter.domain.ParamInfo; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult; -import com.dtstack.sqlparserx.core.parser.doris.DorisSqlParser; -import com.dtstack.sqlparserx.core.parser.mysql.MySqlParser; - -import org.junit.Test; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -/** - * 变量参数配置期解析与运行期预编译回归测试。 - * - *

配置期验证 `${变量}` 的发现顺序、操作符、必填属性、真实表字段及类型绑定,并同时锁定输入参数和最终 - * API 输出字段数量;复杂查询覆盖 CTE、派生表、JOIN、UNION、EXISTS 和标量子查询,确保内部投影不会污染 - * 最外层输出契约。运行期验证条件剪枝、占位符顺序、集合展开、方言类型转换,以及配置期字段类型向预编译值 - * 类型的完整传递。 - */ -public class BaseParseParameterClientTest extends AbstractSqlParserTest { - - private final ISqlParser parser = new MySqlParser(); - private final String sqlTxtName = "BaseParseParameterClientTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/base/parameter/"; - } - - // ---------- 基础:入参/出参全字段 ---------- - - @Test - public void shouldParseBasicVariablesAndCoverAllOutputFields() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 1), false, userInfo()); - - assertParameterCounts(result, 2, 2); - - ParamInfo tenant = result.getInputParams().get(0); - assertEquals("tenantId", tenant.getName()); - assertEquals("tenant_id", tenant.getFieldName()); - assertEquals("BIGINT", tenant.getDataType()); - assertEquals("=", tenant.getOperator()); - assertFalse(tenant.isImperative()); - assertEquals("租户", tenant.getDesc()); - assertNull(tenant.getValue()); - assertNull(tenant.getDefaultValue()); - // sqlPart 标明参数块来源片段 - assertTrue(tenant.getSqlPart().contains("u.tenant_id")); - assertTrue(tenant.getSqlPart().contains("${tenantId}")); - - ParamInfo states = result.getInputParams().get(1); - assertEquals("states", states.getName()); - assertEquals("status", states.getFieldName()); - assertEquals("VARCHAR(32)", states.getDataType()); - assertEquals("in", states.getOperator()); - assertEquals("状态", states.getDesc()); - assertTrue(states.getSqlPart().contains("u.status")); - - ApiParamSpan idSpan = result.getOutputParams().get(0); - assertEquals("u.id", idSpan.getSqlPart()); - assertNull(idSpan.getAlias()); - assertEquals(1, idSpan.getBindColumns().size()); - assertEquals("id", idSpan.getBindColumns().get(0).getName()); - assertEquals("BIGINT", idSpan.getBindColumns().get(0).getType()); - assertEquals("主键", idSpan.getBindColumns().get(0).getComment()); - - ApiParamSpan nameSpan = result.getOutputParams().get(1); - assertEquals("u.name", nameSpan.getSqlPart()); - assertEquals("name", nameSpan.getBindColumns().get(0).getName()); - assertEquals("VARCHAR(64)", nameSpan.getBindColumns().get(0).getType()); - - assertNotNull(result.getTables()); - assertTrue(result.getTables().isEmpty()); - } - - @Test - public void shouldParseComparisonOperators() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 2), false, - Collections.>emptyMap()); - - assertParameterCounts(result, 6, 1); - assertEquals(Arrays.asList("gt", "gte", "lt", "lte", "ne", "kw"), names(result)); - assertEquals(Arrays.asList(">", ">=", "<", "<=", "<>", "like"), - result.getInputParams().stream().map(ParamInfo::getOperator).collect(Collectors.toList())); - } - - @Test - public void shouldTreatSelectListVariableAsRequired() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 3), false, userInfo()); - - assertParameterCounts(result, 2, 2); - assertEquals(Arrays.asList("tenantId", "dynamicColumn"), names(result)); - ParamInfo dynamic = result.getInputParams().get(1); - assertEquals("API_PARAM_IN_SELECT_LIST", dynamic.getOperator()); - assertTrue(dynamic.isImperative()); - assertNull(dynamic.getFieldName()); - assertNull(dynamic.getDataType()); - - assertEquals("id", result.getOutputParams().get(0).getSqlPart()); - assertEquals("user_id", result.getOutputParams().get(0).getAlias()); - assertEquals("name", result.getOutputParams().get(1).getSqlPart()); - assertNull(result.getOutputParams().get(1).getAlias()); - } - - @Test - public void shouldIgnoreVariableInsideStringLiteral() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 4), false, - Collections.>emptyMap()); - assertParameterCounts(result, 0, 1); - } - - @Test - public void shouldReturnSingleAllColumnOutput() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 14), false, userInfo()); - assertParameterCounts(result, 1, 1); - assertEquals(Collections.singletonList("tenantId"), names(result)); - assertEquals("*", result.getOutputParams().get(0).getSqlPart()); - assertTrue(result.getOutputParams().get(0).getBindColumns().isEmpty()); - } - - // ---------- 结构:分组/排序/分页 ---------- - - @Test - public void shouldParseGroupHavingOrderLimitVariables() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 5), false, userInfo()); - - assertParameterCounts(result, 6, 2); - assertEquals(Arrays.asList("tenantId", "groupColumn", "minCount", "sortColumn", "offset", "rows"), - names(result)); - assertEquals(Arrays.asList("=", "CUSTOM", ">", "CUSTOM", "CUSTOM", "CUSTOM"), - result.getInputParams().stream().map(ParamInfo::getOperator).collect(Collectors.toList())); - } - - @Test - public void shouldPrepareCompileGroupHavingOrderLimit() { - Map values = new LinkedHashMap<>(); - values.put("tenantId", 1001L); - values.put("groupColumn", "department_id"); - values.put("minCount", 5); - values.put("sortColumn", "created_at"); - values.put("offset", 0); - values.put("rows", 20); - - PrepareCompileResult result = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 5), values, - columns(param("tenantId", "BIGINT"), param("minCount", "INT"), param("offset", "INT"), param("rows", - "INT"), param("groupColumn", "VARCHAR"), param("sortColumn", "VARCHAR"))); - - assertEquals(Arrays.asList(1001L, 5, 0, 20), result.getInputFields()); - assertEquals(4, count(result.getBeautifulSql(), '?')); - assertTrue(result.getBeautifulSql().contains("GROUP BY department_id")); - assertTrue(result.getBeautifulSql().contains("ORDER BY created_at DESC")); - assertTrue(result.getBeautifulSql().contains("HAVING count(*) > ?")); - assertTrue(result.getBeautifulSql().contains("LIMIT ?, ?")); - } - - // ---------- 嵌套:CTE / 派生表 / JOIN / EXISTS ---------- - - @Test - public void shouldParseVariablesFromNestedSqlStructures() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 6), false, - nestedSqlMetadata()); - - assertParameterCounts(result, 7, 1); - assertEquals(Arrays.asList("cteTenant", "startTime", "states", "minAmount", "sortColumn", "offset", "rows"), - names(result)); - assertEquals("DECIMAL(10,2)", result.getInputParams().get(3).getDataType()); - assertOutputProjection(result, "u.id"); - } - - @Test - public void shouldPrepareCompileNestedSqlInRenderedOrder() { - Map values = new HashMap<>(); - values.put("cteTenant", "9"); - values.put("startTime", "2026-01-01"); - values.put("states", Arrays.asList("OPEN", "CLOSED")); - values.put("minAmount", "99.50"); - values.put("sortColumn", "u.id"); - values.put("offset", "0"); - values.put("rows", "20"); - - PrepareCompileResult result = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 6), values, - columns(param("cteTenant", "BIGINT"), param("startTime", "VARCHAR"), param("states", "VARCHAR"), param( - "minAmount", "DECIMAL(10,2)"), param("offset", "INT"), param("rows", "INT"))); - - assertEquals(Arrays.asList(9L, "2026-01-01", "OPEN", "CLOSED", new BigDecimal("99.50"), 0, 20), - result.getInputFields()); - assertEquals(7, count(result.getBeautifulSql(), '?')); - assertTrue(result.getBeautifulSql().contains("JOIN tenant_users tu ON tu.id = u.id")); - assertTrue(result.getBeautifulSql().contains("ORDER BY u.id DESC")); - assertFalse(result.getBeautifulSql().contains("${")); - } - - // ---------- 嵌套:SELECT 列表标量子查询(顺序一致性) ---------- - - @Test - public void shouldParseScalarSubqueryAndOuterConditions() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 7), false, userInfo()); - - assertParameterCounts(result, 3, 2); - assertEquals(Arrays.asList("tenantId", "states", "minAmount"), names(result)); - assertOutputProjection(result, "rid", "max_amount"); - } - - @Test - public void shouldPrepareCompileScalarSubqueryInRenderedOrder() { - Map values = new LinkedHashMap<>(); - values.put("minAmount", "99.50"); - values.put("tenantId", "9"); - values.put("states", Arrays.asList("OPEN", "CLOSED")); - - PrepareCompileResult result = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 7), values, - columns(param("minAmount", "DECIMAL(10,2)"), param("tenantId", "BIGINT"), param("states", "VARCHAR"))); - - assertEquals(Arrays.asList(new BigDecimal("99.50"), 9L, "OPEN", "CLOSED"), result.getInputFields()); - assertEquals(4, count(result.getBeautifulSql(), '?')); - } - - // ---------- 嵌套:UNION ---------- - - @Test - public void shouldParseTopLevelUnionWithOrderLimitVariables() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 8), false, userInfo()); - - assertParameterCounts(result, 3, 2); - assertEquals(Arrays.asList("tenantIdA", "tenantIdB", "rows"), names(result)); - assertOutputProjection(result, "id", "name"); - } - - @Test - public void shouldPrepareCompileTopLevelUnionOrderLimit() { - Map values = new LinkedHashMap<>(); - values.put("tenantIdA", "1"); - values.put("tenantIdB", "2"); - values.put("rows", "10"); - - PrepareCompileResult result = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 8), values, - columns(param("tenantIdA", "BIGINT"), param("tenantIdB", "BIGINT"), param("rows", "INT"))); - - assertEquals(Arrays.asList(1L, 2L, 10), result.getInputFields()); - assertEquals(3, count(result.getBeautifulSql(), '?')); - assertTrue(result.getBeautifulSql().contains("ORDER BY id")); - assertTrue(result.getBeautifulSql().contains("LIMIT ?")); - } - - @Test - public void shouldParseUnionInsideDerivedTable() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 9), false, userInfo()); - - assertParameterCounts(result, 3, 1); - assertEquals(Arrays.asList("tenantIdA", "tenantIdB", "minId"), names(result)); - assertOutputProjection(result, "t.id"); - } - - // ---------- 嵌套:多层 EXISTS / IN 子查询 ---------- - - @Test - public void shouldParseMultiLevelNestedSubqueries() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 10), false, - Collections.>emptyMap()); - - assertParameterCounts(result, 2, 1); - assertEquals(Arrays.asList("flag", "minPay"), names(result)); - assertOutputProjection(result, "id"); - } - - // ---------- 重复变量 ---------- - - @Test - public void shouldDeduplicateRepeatedVariable() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 11), false, userInfo()); - assertParameterCounts(result, 1, 1); - assertEquals(Collections.singletonList("tenantId"), names(result)); - assertEquals("tenant_id", result.getInputParams().get(0).getFieldName()); - assertEquals("=", result.getInputParams().get(0).getOperator()); - } - - @Test - public void shouldBindSameValueForRepeatedVariable() { - Map values = new HashMap<>(); - values.put("tenantId", "5"); - - PrepareCompileResult result = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 11), values, - columns(param("tenantId", "BIGINT"))); - - assertEquals(Arrays.asList(5L, 5L), result.getInputFields()); - assertEquals(2, count(result.getBeautifulSql(), '?')); - } - - // ---------- BETWEEN ---------- - - @Test - public void shouldParseBetweenAndNotBetween() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 13), false, userInfo()); - - assertParameterCounts(result, 4, 3); - assertEquals(Arrays.asList("minScore", "maxScore", "minAged", "maxAged"), names(result)); - assertEquals(Arrays.asList("between", "between", "not between", "not between"), - result.getInputParams().stream().map(ParamInfo::getOperator).collect(Collectors.toList())); - assertEquals("score", result.getInputParams().get(0).getFieldName()); - assertEquals("aged", result.getInputParams().get(2).getFieldName()); - } - - @Test - public void shouldPrepareCompileBetween() { - Map values = new LinkedHashMap<>(); - values.put("minScore", "1"); - values.put("maxScore", "5"); - values.put("minAged", "10"); - values.put("maxAged", "20"); - - PrepareCompileResult result = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 13), values, - columns(param("minScore", "INT"), param("maxScore", "INT"), param("minAged", "INT"), param("maxAged", - "INT"))); - - assertEquals(Arrays.asList(1, 5, 10, 20), result.getInputFields()); - assertEquals(4, count(result.getBeautifulSql(), '?')); - assertTrue(result.getBeautifulSql().contains("BETWEEN ? AND ?")); - assertTrue(result.getBeautifulSql().contains("NOT BETWEEN ? AND ?")); - } - - // ---------- 复杂嵌套:预编译值顺序 ---------- - - @Test - public void shouldOrderPlaceholdersForMultipleScalarSubqueries() { - ParseParameterResult parseResult = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 15), false, userInfo()); - assertParameterCounts(parseResult, 4, 3); - // 配置期按结构顺序(from -> where -> selectList) - assertEquals(Arrays.asList("tenantId", "minId", "minAmount", "payStatus"), names(parseResult)); - assertOutputProjection(parseResult, "t.id", "max_amt", "cnt"); - - Map values = new LinkedHashMap<>(); - values.put("minAmount", "10.00"); - values.put("payStatus", "PAID"); - values.put("tenantId", "9"); - values.put("minId", "100"); - - PrepareCompileResult result = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 15), values, - columns(param("minAmount", "DECIMAL(10,2)"), param("payStatus", "VARCHAR"), param("tenantId", "BIGINT"), - param("minId", "INT"))); - - // 渲染顺序(selectList 标量子查询 -> from -> where) - assertEquals(Arrays.asList(new BigDecimal("10.00"), "PAID", 9L, 100), result.getInputFields()); - assertEquals(4, count(result.getBeautifulSql(), '?')); - - String sql = result.getBeautifulSql(); - assertTrue(placeholderIndex(sql, "a.amount >") < placeholderIndex(sql, "p.status =")); - assertTrue(placeholderIndex(sql, "p.status =") < placeholderIndex(sql, "tenant_id =")); - assertTrue(placeholderIndex(sql, "tenant_id =") < placeholderIndex(sql, "t.id >")); - } - - @Test - public void shouldOrderPlaceholdersForCteUnionSubqueryLimit() { - ParseParameterResult parseResult = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 16), false, userInfo()); - assertParameterCounts(parseResult, 4, 1); - assertOutputProjection(parseResult, "b.id"); - - Map values = new LinkedHashMap<>(); - values.put("tenantId", "9"); - values.put("minAmount", "50"); - values.put("payStatus", "PAID"); - values.put("rows", "10"); - - PrepareCompileResult result = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 16), values, - columns(param("tenantId", "BIGINT"), param("minAmount", "INT"), param("payStatus", "VARCHAR"), param( - "rows", "INT"))); - - assertEquals(Arrays.asList(9L, 50, "PAID", 10), result.getInputFields()); - assertEquals(4, count(result.getBeautifulSql(), '?')); - - String sql = result.getBeautifulSql(); - assertTrue(placeholderIndex(sql, "tenant_id =") < placeholderIndex(sql, "o.amount >")); - assertTrue(placeholderIndex(sql, "o.amount >") < placeholderIndex(sql, "p.status =")); - assertTrue(placeholderIndex(sql, "p.status =") < sql.lastIndexOf('?')); - } - - // ---------- 同名参数合并 ---------- - - @Test - public void shouldUpgradeRepeatedParamToRequired() { - ParseParameterResult result = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 17), false, userInfo()); - - assertParameterCounts(result, 1, 1); - assertEquals(Collections.singletonList("dupParam"), names(result)); - ParamInfo dup = result.getInputParams().get(0); - assertTrue(dup.isImperative()); - assertEquals("tenant_id", dup.getFieldName()); - assertEquals("BIGINT", dup.getDataType()); - assertEquals("=", dup.getOperator()); - } - - @Test - public void shouldBindSameValueForRequiredRepeatedParam() { - Map values = new HashMap<>(); - values.put("dupParam", "7"); - - PrepareCompileResult result = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 17), values, - columns(param("dupParam", "BIGINT"))); - - assertEquals(Arrays.asList(7L, 7L), result.getInputFields()); - assertEquals(2, count(result.getBeautifulSql(), '?')); - assertTrue(result.getBeautifulSql().contains("AS dup_col")); - } - - // ---------- 解析 → 预编译 组合 ---------- - - @Test - public void shouldParseThenPrepareCompileWithParsedParams() { - String sql = readSqlByIndex(sqlTxtName, 6); - ParseParameterResult parseResult = parser.parseParameterSql(sql, false, nestedSqlMetadata()); - assertParameterCounts(parseResult, 7, 1); - Map columns = columnsFrom(parseResult); - - Map values = new HashMap<>(); - values.put("cteTenant", 9L); - values.put("startTime", "2026-01-01"); - values.put("states", Arrays.asList("OPEN", "CLOSED")); - values.put("minAmount", new BigDecimal("99.50")); - values.put("sortColumn", "u.id"); - values.put("offset", 0); - values.put("rows", 20); - - PrepareCompileResult compileResult = parser.buildSqlByPrepareCompile(sql, values, columns); - - assertEquals(Arrays.asList(9L, "2026-01-01", "OPEN", "CLOSED", new BigDecimal("99.50"), 0, 20), - compileResult.getInputFields()); - assertFalse(compileResult.getBeautifulSql().contains("${")); - } - - // ---------- 类型转换 ---------- - - @Test - public void shouldUseMysqlDataTypeTransferForPreparedValues() { - Map values = new LinkedHashMap<>(); - values.put("enabled", true); - values.put("birthday", "2026-10-12"); - values.put("createdAt", "2026-10-12 16:20:30"); - - PrepareCompileResult result = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 12), values, - columns(param("enabled", "BIT(1)"), param("birthday", "DATE"), param("createdAt", "DATETIME"))); - - assertEquals(Integer.class, result.getInputFields().get(0).getClass()); - assertEquals(java.sql.Date.class, result.getInputFields().get(1).getClass()); - assertEquals(java.sql.Timestamp.class, result.getInputFields().get(2).getClass()); - assertEquals(Arrays.asList(1, java.sql.Date.valueOf("2026-10-12"), java.sql.Timestamp.valueOf( - "2026-10-12 16:20:30")), result.getInputFields()); - } - - @Test - public void shouldUseDorisDataTypeTransferForPreparedValues() { - ISqlParser dorisParser = new DorisSqlParser(); - Map values = new LinkedHashMap<>(); - values.put("enabled", "true"); - values.put("birthday", "2026-10-12"); - values.put("createdAt", "2026-10-12 16:20:30"); - - PrepareCompileResult result = dorisParser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 12), values, - columns(param("enabled", "BOOLEAN"), param("birthday", "DATE"), param("createdAt", "DATETIME"))); - - assertEquals(Arrays.asList(true, java.sql.Date.valueOf("2026-10-12"), java.sql.Timestamp.valueOf( - "2026-10-12 16:20:30")), result.getInputFields()); - } - - // ---------- 参数字段真实表定位 ---------- - - @Test - public void shouldResolveQualifiedColumnToRealTableInJoin() { - String sql = "select u.id from user_info u join audit_log a on a.user_id = u.id " - + "where u.tenant_id = ${tenantId}"; - - ParseParameterResult result = parser.parseParameterSql(sql, false, conflictingTenantMetadata(false)); - assertParameterCounts(result, 1, 1); - ParamInfo tenant = result.getInputParams().get(0); - - assertEquals("tenant_id", tenant.getFieldName()); - assertEquals("BIGINT", tenant.getDataType()); - assertEquals("用户租户", tenant.getDesc()); - } - - @Test - public void shouldResolveQualifiedColumnIndependentlyOfMetadataOrder() { - String sql = "select u.id from user_info u join audit_log a on a.user_id = u.id " - + "where u.tenant_id = ${tenantId}"; - - ParseParameterResult userFirstResult = parser.parseParameterSql(sql, false, conflictingTenantMetadata(false)); - ParseParameterResult auditFirstResult = parser.parseParameterSql(sql, false, conflictingTenantMetadata(true)); - assertParameterCounts(userFirstResult, 1, 1); - assertParameterCounts(auditFirstResult, 1, 1); - ParamInfo userFirst = userFirstResult.getInputParams().get(0); - ParamInfo auditFirst = auditFirstResult.getInputParams().get(0); - - assertEquals("BIGINT", userFirst.getDataType()); - assertEquals(userFirst.getDataType(), auditFirst.getDataType()); - assertEquals(userFirst.getDesc(), auditFirst.getDesc()); - } - - @Test - public void shouldNotGuessAmbiguousUnqualifiedColumnInJoin() { - String sql = "select u.id from user_info u join audit_log a on a.user_id = u.id " - + "where tenant_id = ${tenantId}"; - - ParseParameterResult result = parser.parseParameterSql(sql, false, conflictingTenantMetadata(false)); - assertParameterCounts(result, 1, 1); - ParamInfo tenant = result.getInputParams().get(0); - - assertEquals("tenant_id", tenant.getFieldName()); - assertNull(tenant.getDataType()); - assertNull(tenant.getDesc()); - } - - @Test - public void shouldResolveEachJoinAliasToItsOwnRealTable() { - String sql = "select u.id from user_info u join audit_log a on a.user_id = u.id " - + "where a.tenant_id = ${auditTenant}"; - - ParseParameterResult result = parser.parseParameterSql(sql, false, conflictingTenantMetadata(false)); - assertParameterCounts(result, 1, 1); - ParamInfo tenant = result.getInputParams().get(0); - - assertEquals("tenant_id", tenant.getFieldName()); - assertEquals("VARCHAR(64)", tenant.getDataType()); - assertEquals("审计租户", tenant.getDesc()); - } - - @Test - public void shouldResolveAliasForSchemaQualifiedTable() { - String sql = "select u.id from app.user_info u where u.tenant_id = ${tenantId}"; - Map> metadata = new LinkedHashMap<>(); - metadata.put("app.user_info", Arrays.asList(new DataTypeColumn("id", "BIGINT", "主键"), - new DataTypeColumn("tenant_id", "BIGINT", "租户"))); - - ParseParameterResult result = parser.parseParameterSql(sql, false, metadata); - assertParameterCounts(result, 1, 1); - ParamInfo tenant = result.getInputParams().get(0); - - assertEquals("tenant_id", tenant.getFieldName()); - assertEquals("BIGINT", tenant.getDataType()); - assertEquals("租户", tenant.getDesc()); - } - - @Test - public void shouldResolveUniqueUnqualifiedColumnWithinJoinScope() { - String sql = "select u.id from user_info u join audit_log a on a.user_id = u.id " - + "where status = ${status}"; - Map> metadata = conflictingTenantMetadata(false); - metadata.get("user_info").add(new DataTypeColumn("status", "VARCHAR(32)", "用户状态")); - - ParseParameterResult result = parser.parseParameterSql(sql, false, metadata); - assertParameterCounts(result, 1, 1); - ParamInfo status = result.getInputParams().get(0); - - assertEquals("status", status.getFieldName()); - assertEquals("VARCHAR(32)", status.getDataType()); - assertEquals("用户状态", status.getDesc()); - } - - @Test - public void shouldUseNearestQueryBlockForRepeatedAlias() { - String sql = "select u.id from user_info u where exists (select 1 from audit_log u " - + "where u.tenant_id = ${auditTenant})"; - - ParseParameterResult result = parser.parseParameterSql(sql, false, conflictingTenantMetadata(false)); - assertParameterCounts(result, 1, 1); - ParamInfo tenant = result.getInputParams().get(0); - - assertEquals("VARCHAR(64)", tenant.getDataType()); - assertEquals("审计租户", tenant.getDesc()); - } - - @Test - public void shouldUseResolvedFieldTypeWhenPreparingValue() { - String sql = "select u.id from user_info u join audit_log a on a.user_id = u.id " - + "where u.tenant_id = ${tenantId}"; - ParseParameterResult parsed = parser.parseParameterSql(sql, false, conflictingTenantMetadata(false)); - assertParameterCounts(parsed, 1, 1); - Map values = new HashMap<>(); - values.put("tenantId", "9"); - - PrepareCompileResult compiled = parser.buildSqlByPrepareCompile(sql, values, columnsFrom(parsed)); - - assertEquals(Collections.singletonList(9L), compiled.getInputFields()); - assertTrue(compiled.getBeautifulSql().contains("u.tenant_id = ?")); - } - - @Test - public void shouldUseConfiguredValueWhenRequestValueIsMissing() { - String sql = "select id from user_info where tenant_id = ${tenantId}"; - ParamInfo definition = param("tenantId", "BIGINT"); - definition.setValue("9"); - - PrepareCompileResult compiled = parser.buildSqlByPrepareCompile(sql, Collections.emptyMap(), - columns(definition)); - - assertEquals(Collections.singletonList(9L), compiled.getInputFields()); - assertTrue(compiled.getBeautifulSql().contains("tenant_id = ?")); - } - - @Test - public void shouldUseDefaultValueWhenRequestAndConfiguredValuesAreMissing() { - String sql = "select id from user_info where tenant_id = ${tenantId}"; - ParamInfo definition = param("tenantId", "BIGINT"); - definition.setDefaultValue("8"); - - PrepareCompileResult compiled = parser.buildSqlByPrepareCompile(sql, Collections.emptyMap(), - columns(definition)); - - assertEquals(Collections.singletonList(8L), compiled.getInputFields()); - assertTrue(compiled.getBeautifulSql().contains("tenant_id = ?")); - } - - @Test - public void shouldResolveRealColumnsInComplexNestedQuery() { - ParseParameterResult parsed = parser.parseParameterSql(readSqlByIndex(sqlTxtName, 18), false, - complexNestedMetadata()); - - assertParameterCounts(parsed, 8, 7); - assertEquals(Arrays.asList("t1MinAge", "t2Name", "t3AgeA", "t3AgeB", "t4MinAge", "department", - "olderAge", "backupDepartment"), names(parsed)); - - assertParamBinding(parsed, "t1MinAge", "age", "INT", "年龄"); - assertParamBinding(parsed, "t2Name", "name", "VARCHAR(64)", "名称"); - assertParamBinding(parsed, "t3AgeA", "age", "INT", "年龄"); - assertParamBinding(parsed, "t3AgeB", "age", "INT", "年龄"); - assertParamBinding(parsed, "t4MinAge", "age", "INT", "年龄"); - assertParamBinding(parsed, "olderAge", "age", "INT", "年龄"); - assertParamBinding(parsed, "department", "department", "VARCHAR(64)", "部门"); - assertParamBinding(parsed, "backupDepartment", "department", "VARCHAR(64)", "部门"); - - // API 输出契约只取最外层 UNION 第一分支的投影结构;CTE、派生表、标量子查询及后续 - // UNION 分支只参与字段来源/参数解析,不能追加成最终输出参数。 - assertOutputProjection(parsed, "t1.id", "t1.name", "t2_name", "t3_name", "t4_age", "dt.department", - "older_count"); - - Map values = new LinkedHashMap<>(); - values.put("t1MinAge", "10"); - values.put("t2Name", "A%"); - values.put("t3AgeA", "18"); - values.put("t3AgeB", "65"); - values.put("t4MinAge", "20"); - values.put("olderAge", "30"); - values.put("department", "研发"); - values.put("backupDepartment", "平台"); - PrepareCompileResult compiled = parser.buildSqlByPrepareCompile(readSqlByIndex(sqlTxtName, 18), values, - columnsFrom(parsed)); - - assertEquals(Arrays.asList(10, "A%", 18, 65, 20, 30, "研发", "平台"), compiled.getInputFields()); - assertEquals(8, count(compiled.getBeautifulSql(), '?')); - } - - // ---------- helpers ---------- - - /** - * 每个配置期解析用例都同时锁定输入参数和最终 API 输出字段数量,防止嵌套查询、CTE 或 UNION - * 的内部投影被误追加到最外层输出契约中。 - */ - private static void assertParameterCounts(ParseParameterResult result, int expectedInputCount, - int expectedOutputCount) { - assertEquals("input parameter count", expectedInputCount, result.getInputParams().size()); - assertEquals("output parameter count", expectedOutputCount, result.getOutputParams().size()); - } - - private static Map> conflictingTenantMetadata(boolean auditFirst) { - Map> metadata = new LinkedHashMap<>(); - List userColumns = new ArrayList<>(Arrays.asList(new DataTypeColumn("id", "BIGINT", "用户主键"), - new DataTypeColumn("tenant_id", "BIGINT", "用户租户"))); - List auditColumns = Arrays.asList(new DataTypeColumn("user_id", "BIGINT", "用户主键"), - new DataTypeColumn("tenant_id", "VARCHAR(64)", "审计租户")); - if (auditFirst) { - metadata.put("audit_log", auditColumns); - metadata.put("user_info", userColumns); - } else { - metadata.put("user_info", userColumns); - metadata.put("audit_log", auditColumns); - } - return metadata; - } - - private static Map> complexNestedMetadata() { - Map> metadata = new LinkedHashMap<>(); - metadata.put("digua_ceshi.demo_table_digua", Arrays.asList(new DataTypeColumn("id", "BIGINT", "主键"), - new DataTypeColumn("name", "VARCHAR(64)", "名称"), new DataTypeColumn("age", "INT", "年龄"))); - metadata.put("digua_ceshi.new_table", Arrays.asList(new DataTypeColumn("id", "BIGINT", "主键"), - new DataTypeColumn("name", "VARCHAR(64)", "名称"), new DataTypeColumn("age", "INT", "年龄"))); - metadata.put("digua_ceshi.new_table2", Arrays.asList(new DataTypeColumn("id", "BIGINT", "主键"), - new DataTypeColumn("name", "VARCHAR(64)", "名称"), new DataTypeColumn("age", "INT", "年龄"))); - metadata.put("digua_ceshi.departments", Arrays.asList(new DataTypeColumn("employee_id", "BIGINT", "员工"), - new DataTypeColumn("department", "VARCHAR(64)", "部门"))); - return metadata; - } - - private static void assertParamBinding(ParseParameterResult result, String paramName, String fieldName, - String dataType, String desc) { - ParamInfo param = null; - for (ParamInfo inputParam : result.getInputParams()) - if (paramName.equals(inputParam.getName())) { - param = inputParam; - break; - } - assertNotNull(param); - assertEquals(fieldName, param.getFieldName()); - assertEquals(dataType, param.getDataType()); - assertEquals(desc, param.getDesc()); - } - - private static void assertOutputProjection(ParseParameterResult result, String... expected) { - List actual = result.getOutputParams().stream() - .map(output -> output.getAlias() == null ? output.getSqlPart() : output.getAlias()) - .collect(Collectors.toList()); - assertEquals(Arrays.asList(expected), actual); - } - - private static Map> userInfo() { - Map> metadata = new HashMap<>(); - metadata.put("user_info", Arrays.asList(new DataTypeColumn("id", "BIGINT", "主键"), new DataTypeColumn("name", - "VARCHAR(64)", "名称"), new DataTypeColumn("tenant_id", "BIGINT", "租户"), new DataTypeColumn("status", - "VARCHAR(32)", "状态"), new DataTypeColumn("score", "INT", "分数"), new DataTypeColumn("aged", - "INT", "年龄"))); - return metadata; - } - - private static Map> nestedSqlMetadata() { - Map> metadata = new HashMap<>(); - metadata.put("user_info", Arrays.asList(new DataTypeColumn("tenant_id", "BIGINT", null), new DataTypeColumn( - "created_at", "VARCHAR", null), new DataTypeColumn("status", "VARCHAR", null))); - metadata.put("orders", Arrays.asList(new DataTypeColumn("user_id", "BIGINT", null), new DataTypeColumn("amount", - "DECIMAL(10,2)", null))); - return metadata; - } - - private static List names(ParseParameterResult result) { - return result.getInputParams().stream().map(ParamInfo::getName).collect(Collectors.toList()); - } - - private static ParamInfo param(String name, String type) { - ParamInfo info = new ParamInfo(name); - info.setDataType(type); - return info; - } - - private static Map columns(ParamInfo... params) { - Map columns = new HashMap<>(); - for (ParamInfo param : params) - columns.put(param.getName(), param); - return columns; - } - - private static Map columnsFrom(ParseParameterResult result) { - Map columns = new HashMap<>(); - for (ParamInfo inputParam : result.getInputParams()) - columns.put(inputParam.getName(), inputParam); - return columns; - } - - private static int placeholderIndex(String sql, String marker) { - return sql.indexOf('?', sql.indexOf(marker)); - } - - private static int count(String value, char target) { - int count = 0; - for (int i = 0; i < value.length(); i++) - if (value.charAt(i) == target) - count++; - return count; - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/sqlfilter/BaseFilterSortSelectFieldTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/sqlfilter/BaseFilterSortSelectFieldTest.java deleted file mode 100644 index d0e1f8f..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/sqlfilter/BaseFilterSortSelectFieldTest.java +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.sqlfilter; - -import com.dtstack.sqlparserx.core.common.AbstractSqlParserTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.sqlfilter.row.vo.RowLevelPermissionFilterParam; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.parser.SQLParserUtils; -import com.alibaba.druid.sql.parser.SQLStatementParser; -import org.junit.Assert; -import org.junit.Test; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class BaseFilterSortSelectFieldTest extends AbstractSqlParserTest { - - private String sqlTxtName = "BaseFilterSortSelectFieldTest.txt"; - private ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - - @Override - public String getSqlTestPath() { - return "/core/base/sqlfilter/"; - } - - @Test - public void demo() { - // 简单SELECT - String sql = "SELECT * FROM orders WHERE region = 'beijing';"; - SQLStatementParser sqlStatementParser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql); - SQLStatement sqlStatement = sqlStatementParser.parseStatement(); - - // SELECT带复杂WHERE约束 - sql = "SELECT * FROM orders WHERE (price > 45.0 OR customer_name = 'John') AND region = 'beijing';"; - sqlStatementParser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql); - sqlStatement = sqlStatementParser.parseStatement(); - - // 两表JOIN且含子查询 - sql = "SELECT\n" + - " o.*,\n" + - " p.name,\n" + - " p.description\n" + - "FROM \n" + - " (SELECT\n" + - " *\n" + - " FROM \n" + - " orders\n" + - " WHERE \n" + - " order_status = FALSE AND region = 'beijing'\n" + - " ) AS o\n" + - "LEFT JOIN products AS p ON o.product_id = p.id\n" + - "WHERE\n" + - " o.price > 45.0 OR o.customer_name = 'John' "; - sqlStatementParser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql); - sqlStatement = sqlStatementParser.parseStatement(); - - // 三表JOIN - sql = "SELECT\n" + - " o.*,\n" + - " p.name,\n" + - " p.description,\n" + - " s.shipment_id,\n" + - " s.origin,\n" + - " s.destination,\n" + - " s.is_arrived\n" + - "FROM\n" + - " orders AS o\n" + - " LEFT JOIN products AS p ON o.product_id=p.id\n" + - " LEFT JOIN shipments AS s ON o.order_id=s.order_id\n" + - "WHERE\n" + - " o.region='beijing'\n" + - " AND p.name='hammer'\n" + - " AND s.is_arrived=FALSE;"; - sqlStatementParser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql); - sqlStatement = sqlStatementParser.parseStatement(); - - // INSERT来自带子查询的SELECT - sql = "INSERT INTO print_sink (SELECT * FROM (SELECT * FROM orders WHERE region = 'beijing'));"; - sqlStatementParser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql); - sqlStatement = sqlStatementParser.parseStatement(); - - System.out.println(sqlStatement); - } - - @Test - public void test_01_select_table() { - List permissionParams = new ArrayList<>(); - RowLevelPermissionFilterParam param1 = new RowLevelPermissionFilterParam(); - param1.setTableName("orders"); - param1.setFieldName("region"); - param1.setFieldValue(Arrays.asList("beijing")); - param1.setFieldType("varchar"); - permissionParams.add(param1); - - // 测试单表带有别名 - String sql = readSqlByIndex(sqlTxtName, 1); - String rowLevelPermissionSql = sqlParser.getRowLevelPermissionSql(sql, permissionParams); - Assert.assertEquals(rowLevelPermissionSql, readSqlByIndex(sqlTxtName, 2)); - - // 测试单表不带有别名 - sql = readSqlByIndex(sqlTxtName, 3); - rowLevelPermissionSql = sqlParser.getRowLevelPermissionSql(sql, permissionParams); - Assert.assertEquals(rowLevelPermissionSql, readSqlByIndex(sqlTxtName, 4)); - } - - @Test - public void test_02_select_multi_params() { - List permissionParams = new ArrayList<>(); - RowLevelPermissionFilterParam param1 = new RowLevelPermissionFilterParam(); - param1.setTableName("orders"); - param1.setFieldName("region"); - param1.setFieldValue(Arrays.asList("beijing")); - param1.setFieldType("varchar"); - permissionParams.add(param1); - - RowLevelPermissionFilterParam param2 = new RowLevelPermissionFilterParam(); - param2.setTableName("orders"); - param2.setFieldName("name"); - param2.setFieldValue(Arrays.asList("xiaoming", "xiaohua")); - param2.setFieldType("varchar"); - permissionParams.add(param2); - - // 测试同一张表有多个字段增加权限限制 - String sql = readSqlByIndex(sqlTxtName, 5); - String rowLevelPermissionSql = sqlParser.getRowLevelPermissionSql(sql, permissionParams); - Assert.assertEquals(rowLevelPermissionSql, readSqlByIndex(sqlTxtName, 6)); - } - - @Test - public void test_03_where_subquery() { - List permissionParams = new ArrayList<>(); - RowLevelPermissionFilterParam param1 = new RowLevelPermissionFilterParam(); - param1.setTableName("orders"); - param1.setFieldName("region"); - param1.setFieldValue(Arrays.asList("beijing")); - param1.setFieldType("varchar"); - permissionParams.add(param1); - - RowLevelPermissionFilterParam param2 = new RowLevelPermissionFilterParam(); - param2.setTableName("orders"); - param2.setFieldName("name"); - param2.setFieldValue(Arrays.asList("xiaoming", "xiaohua")); - param2.setFieldType("varchar"); - permissionParams.add(param2); - - // 测试单表where中有or条件 - String sql = readSqlByIndex(sqlTxtName, 7); - String rowLevelPermissionSql = sqlParser.getRowLevelPermissionSql(sql, permissionParams); - Assert.assertEquals(rowLevelPermissionSql, readSqlByIndex(sqlTxtName, 8)); -// System.out.println(rowLevelPermissionSql); - - // 测试from后面跟子查询 - sql = readSqlByIndex(sqlTxtName, 9); - rowLevelPermissionSql = sqlParser.getRowLevelPermissionSql(sql, permissionParams); - Assert.assertEquals(rowLevelPermissionSql, readSqlByIndex(sqlTxtName, 10)); -// System.out.println(rowLevelPermissionSql); - } - - @Test - public void test_04_join() { - List permissionFilterParams = new ArrayList<>(); - RowLevelPermissionFilterParam param1 = new RowLevelPermissionFilterParam(); - param1.setTableName("orders"); - param1.setFieldName("region"); - param1.setFieldValue(Arrays.asList("beijing")); - param1.setFieldType("varchar"); - permissionFilterParams.add(param1); - - RowLevelPermissionFilterParam param2 = new RowLevelPermissionFilterParam(); - param2.setTableName("products"); - param2.setFieldName("name"); - param2.setFieldValue(Arrays.asList("hammer")); - param2.setFieldType("VARCHAR"); - permissionFilterParams.add(param2); - - RowLevelPermissionFilterParam param3 = new RowLevelPermissionFilterParam(); - param3.setTableName("shipments"); - param3.setFieldName("is_arrived"); - param3.setFieldValue(Arrays.asList("FALSE")); - param3.setFieldType("boolean"); - permissionFilterParams.add(param3); - - // 测试join - String sql = readSqlByIndex(sqlTxtName, 11); - String rowLevelPermissionSql = sqlParser.getRowLevelPermissionSql(sql, permissionFilterParams); - Assert.assertEquals(rowLevelPermissionSql, readSqlByIndex(sqlTxtName, 12)); -// System.out.println(rowLevelPermissionSql); - } - - @Test - public void test_05_update() { - List permissionFilterParams = new ArrayList<>(); - RowLevelPermissionFilterParam param1 = new RowLevelPermissionFilterParam(); - param1.setTableName("orders"); - param1.setFieldName("region"); - param1.setFieldValue(Arrays.asList("beijing")); - param1.setFieldType("varchar"); - permissionFilterParams.add(param1); - - // 测试join - String sql = readSqlByIndex(sqlTxtName, 13); - String rowLevelPermissionSql = sqlParser.getRowLevelPermissionSql(sql, permissionFilterParams); - Assert.assertEquals(rowLevelPermissionSql, readSqlByIndex(sqlTxtName, 14)); -// System.out.println(rowLevelPermissionSql); - } - - @Test - public void test_06_join() { - List permissionFilterParams = new ArrayList<>(); - RowLevelPermissionFilterParam param1 = new RowLevelPermissionFilterParam(); - param1.setTableName("source_table"); - param1.setFieldName("key"); - param1.setFieldValue(Arrays.asList("beijing", "hangzhou")); - param1.setFieldType("varchar"); - permissionFilterParams.add(param1); - - // 测试join - String sql = readSqlByIndex(sqlTxtName, 15); - String rowLevelPermissionSql = sqlParser.getRowLevelPermissionSql(sql, permissionFilterParams); - Assert.assertEquals(rowLevelPermissionSql, readSqlByIndex(sqlTxtName, 16)); -// System.out.println(rowLevelPermissionSql); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/sqltype/BaseParseSqlTypeClientTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/sqltype/BaseParseSqlTypeClientTest.java deleted file mode 100644 index 1238321..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/sqltype/BaseParseSqlTypeClientTest.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.sqltype; - -import com.dtstack.sqlparserx.core.enums.SqlType; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.mysql.MySqlParser; -import com.dtstack.sqlparserx.core.parser.oracle.OracleSqlParser; -import com.dtstack.sqlparserx.core.parser.postgresql.PostgresqlSqlParser; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.SQLUtils; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -/** - * SQL 语句类型解析回归测试。 - * - *

验证基于 Druid AST 的语句分类结果,覆盖查询、DML、DDL、SHOW/DESCRIBE/EXPLAIN、方言特有语句、 - * 文本与 AST 两种入口及未分类语句兜底,并校验 MySQL、Oracle、PostgreSQL 的公共类型和方言差异。 - */ -public class BaseParseSqlTypeClientTest { - - private final ISqlParser mysql = new MySqlParser(); - private final ISqlParser oracle = new OracleSqlParser(); - private final ISqlParser postgres = new PostgresqlSqlParser(); - - @Test - public void shouldDetectCommonMysqlTypes() { - assertEquals(SqlType.QUERY, mysql.parseSqlType("select * from t1")); - assertEquals(SqlType.QUERY_NO_FROM, mysql.parseSqlType("select 1")); - assertEquals(SqlType.WITH_QUERY, mysql.parseSqlType("with c as (select 1) select * from c")); - assertEquals(SqlType.INSERT, mysql.parseSqlType("insert into t1(id) values (1)")); - assertEquals(SqlType.UPDATE, mysql.parseSqlType("update t1 set name = 'a' where id = 1")); - assertEquals(SqlType.DELETE, mysql.parseSqlType("delete from t1 where id = 1")); - assertEquals(SqlType.TRUNCATE, mysql.parseSqlType("truncate table t1")); - } - - @Test - public void shouldDetectDdlTypes() { - assertEquals(SqlType.CREATE, mysql.parseSqlType("create table t1(id int)")); - assertEquals(SqlType.CREATE_AS, mysql.parseSqlType("create table t2 as select * from t1")); - assertEquals(SqlType.CREATE_LIKE, mysql.parseSqlType("create table t2 like t1")); - assertEquals(SqlType.CREATE_TEMP, mysql.parseSqlType("create temporary table t2(id int)")); - assertEquals(SqlType.DROP, mysql.parseSqlType("drop table t1")); - assertEquals(SqlType.ALTERTABLE_ADDCOLS, mysql.parseSqlType("alter table t1 add column c int")); - assertEquals(SqlType.ALTERTABLE_RENAMECOL, mysql.parseSqlType("alter table t1 rename column a to b")); - assertEquals(SqlType.ALTER, mysql.parseSqlType("alter table t1 engine = innodb")); - } - - @Test - public void shouldDetectShowDescribeExplain() { - assertEquals(SqlType.SHOW_TABLES, mysql.parseSqlType("show tables")); - assertEquals(SqlType.SHOW_CREATETABLE, mysql.parseSqlType("show create table t1")); - assertEquals(SqlType.EXPLAIN, mysql.parseSqlType("explain select * from t1")); - // MySQL 中 desc 等价于 explain - assertEquals(SqlType.EXPLAIN, mysql.parseSqlType("desc t1")); - // describe 在 PG / Spark 等方言下为独立描述语句 - assertEquals(SqlType.DESC_TABLE, postgres.parseSqlType("describe t1")); - } - - @Test - public void shouldDetectDialectSpecificTypes() { - assertEquals(SqlType.COMMENT_ON, oracle.parseSqlType("comment on table t1 is 'x'")); - assertEquals(SqlType.CREATE_AS, oracle.parseSqlType("create view v1 as select * from t1")); - assertEquals(SqlType.MERGE_INTO, - postgres.parseSqlType("merge into t1 using t2 on t1.id = t2.id when matched then update set x = 1")); - } - - @Test - public void shouldDetectByStatementOverload() { - assertEquals(SqlType.QUERY, - mysql.parseSqlType(SQLUtils.parseSingleStatement("select * from t1", DbType.mysql))); - } - - @Test - public void shouldFallbackToOtherForUnsupported() { - assertEquals(SqlType.OTHER, mysql.parseSqlType("grant select on t1 to u1")); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/tables/BaseParseTablesTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/tables/BaseParseTablesTest.java deleted file mode 100644 index e7acfc8..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/base/tables/BaseParseTablesTest.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.base.tables; - -import com.dtstack.sqlparserx.core.common.AbstractSqlParserTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.Table; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; -import com.dtstack.sqlparserx.core.utils.TableSourceUtil; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.parser.SQLParserUtils; -import com.alibaba.druid.sql.parser.SQLStatementParser; -import org.junit.Test; - -import java.util.List; -import java.util.Set; - -import static org.junit.Assert.assertEquals; - -/** - * @description 数据源工具类单测 - * @author changlu - * @date 2025/4/22 19:08 - */ -public class BaseParseTablesTest extends AbstractSqlParserTest { - - private String sqlTxtName = "BaseParseTablesTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/base/tables/"; - } - - @Test - public void test_01_parseTables() { - String sql = readSqlByIndex(sqlTxtName, 1); - List tables = TableSourceUtil.parseTables(sql, DbType.mysql); - assertEquals(9, tables.size()); - assertEquals(true, tables.contains("table1")); - assertEquals(true, tables.contains("table2")); - assertEquals(true, tables.contains("table3")); - assertEquals(true, tables.contains("table4")); - assertEquals(true, tables.contains("table5")); - assertEquals(true, tables.contains("table6")); - assertEquals(true, tables.contains("table7")); - assertEquals(true, tables.contains("table8")); - assertEquals(true, tables.contains("new_table")); - } - - @Test - public void test_02_parseTables() { - String sql = readSqlByIndex(sqlTxtName, 2); - List tables = TableSourceUtil.parseTables(sql, DbType.hive); - assertEquals(3, tables.size()); - assertEquals(true, tables.contains("table1")); - assertEquals(true, tables.contains("table2")); - assertEquals(true, tables.contains("new_table")); - } - - @Test - public void test_03_parseTables_comment_on_column() { - String sql = readSqlByIndex(sqlTxtName, 3); - SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.greenplum); - SQLStatement stmt = parser.parseStatement(); - - ParseTableResult parseTableResult = TableSourceUtil.parseTables(stmt); - Table mainTable = parseTableResult.getMainTable(); - assertEquals(true, mainTable.getDb().contains("batch_601")); - assertEquals(true, mainTable.getName().contains("employees2")); - } - - @Test - public void test_04_parseTables_select_in() { - String sql = readSqlByIndex(sqlTxtName, 4); - SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql); - SQLStatement stmt = parser.parseStatement(); - ParseTableResult parseTableResult = TableSourceUtil.parseTables(stmt); - Table mainTable = parseTableResult.getMainTable(); - Set tableNames = parseTableResult.getAllTableName(); - assertEquals(4, tableNames.size()); - assertEquals(true, mainTable.getName().contains("test_2a")); - assertEquals(true, tableNames.contains("test_2a")); - assertEquals(true, tableNames.contains("Customers")); - assertEquals(true, tableNames.contains("Orders")); - assertEquals(true, tableNames.contains("OrderItems")); - } - - @Test - public void test_04_parseTables_select_in_and() { - String sql = readSqlByIndex(sqlTxtName, 5); - SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql); - SQLStatement stmt = parser.parseStatement(); - ParseTableResult parseTableResult = TableSourceUtil.parseTables(stmt); - Table mainTable = parseTableResult.getMainTable(); - Set tableNames = parseTableResult.getAllTableName(); - assertEquals(3, tableNames.size()); - assertEquals(true, tableNames.contains("tz")); - assertEquals(true, tableNames.contains("tz2")); - assertEquals(true, tableNames.contains("tz3")); - } - - @Test - public void test_05_parseTables_select_subquery_union() { - String sql = readSqlByIndex(sqlTxtName, 6); - SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.mysql); - SQLStatement stmt = parser.parseStatement(); - ParseTableResult parseTableResult = TableSourceUtil.parseTables(stmt); - Set

allTables = parseTableResult.getAllTables(); - assertEquals(2, allTables.size()); - assertEquals(true, allTables.contains(new Table(null, null, "table3", null))); - assertEquals(true, allTables.contains(new Table(null, null, "table2", null))); - } - - @Test - public void test_06_parseTables_select_subquery_union() { - String sql = readSqlByIndex(sqlTxtName, 7); - ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - ParseTableResult parseTableResult = sqlParser.parseTables(sql); - Set
allTables = parseTableResult.getAllTables(); - assertEquals(2, allTables.size()); - assertEquals(true, allTables.contains(new Table(null, "ods", "ods_task_condition_invite_hf", null))); - assertEquals(true, allTables.contains(new Table(null, "ods", "ods_task_rule_condition_hf", null))); - } - - @Test - public void test_07_parseTables_noTable() { - String sql = readSqlByIndex(sqlTxtName, 8); - ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - ParseTableResult parseTableResult = sqlParser.parseTables(sql); - Set
allTables = parseTableResult.getAllTables(); - assertEquals(0, allTables.size()); - } - - @Test - public void test_08_parseTables_withas() { - String sql = readSqlByIndex(sqlTxtName, 9); - ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - ParseTableResult parseTableResult = sqlParser.parseTables(sql); - Set
allTables = parseTableResult.getAllTables(); - assertEquals(2, allTables.size()); - assertEquals(true, allTables.contains(new Table(null, null, "new_t", "new_t"))); - assertEquals(true, allTables.contains(new Table(null, null, "t1", null))); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/common/AbstractSqlParserTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/common/AbstractSqlParserTest.java deleted file mode 100644 index 4c8f8a9..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/common/AbstractSqlParserTest.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.common; - -import java.io.BufferedReader; -import java.io.FileInputStream; -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.Map; - -/** - * 提供了读取文件中的sql实现 - */ -public class AbstractSqlParserTest { - - public String readSqlFile(String testFile) { - try { - String path = getSqlTestPath() + testFile; - String relativePath = this.getClass().getResource(path).getPath(); - StringBuilder sql = new StringBuilder(); - try (BufferedReader reader = new BufferedReader(new InputStreamReader( - new FileInputStream(relativePath), StandardCharsets.UTF_8))) { - String line; - while ((line = reader.readLine()) != null) { - sql.append(line).append("\n"); - } - } - return sql.toString(); - } catch (Exception e) { - e.printStackTrace(); - throw new RuntimeException("读取文件异常!"); - } - } - - /** - * 读取指定文件中的第n条SQL语句 - * @param testFile 文件名 - * @param index SQL索引(从1开始) - * @return 指定的SQL语句 - */ - public String readSqlByIndex(String testFile, int index) { - try { - String path = getSqlTestPath() + testFile; - String relativePath = this.getClass().getResource(path).getPath(); - - Map sqlMap = new HashMap<>(); - StringBuilder currentSql = new StringBuilder(); - Integer currentIndex = null; - - try (BufferedReader reader = new BufferedReader(new InputStreamReader( - new FileInputStream(relativePath), StandardCharsets.UTF_8))) { - String line; - while ((line = reader.readLine()) != null) { - if (line.trim().matches("-{5,}\\d+-{5,}")) { - // 遇到索引分隔线 - if (currentIndex != null && currentSql.length() > 0) { - // 保存上一个SQL - sqlMap.put(currentIndex, currentSql.toString().trim()); - currentSql = new StringBuilder(); - } - // 提取当前索引 - currentIndex = extractIndexFromDelimiter(line.trim()); - } else { - // 普通SQL行,添加到当前SQL - if (currentIndex != null) { - currentSql.append(line).append("\n"); - } - } - } - // 添加最后一个SQL - if (currentIndex != null && currentSql.length() > 0) { - sqlMap.put(currentIndex, currentSql.toString().trim()); - } - } - - if (!sqlMap.containsKey(index)) { - throw new IllegalArgumentException("SQL索引" + index + "不存在,有效范围:" + sqlMap.keySet()); - } - - return sqlMap.get(index); - } catch (Exception e) { - e.printStackTrace(); - throw new RuntimeException("读取文件异常!"); - } - } - - /** - * 从分隔符中提取索引数字 - * @param delimiter 分隔符字符串,如"-----1-----" - * @return 提取到的数字 - */ - private Integer extractIndexFromDelimiter(String delimiter) { - // 移除所有横线,只保留数字 - String numStr = delimiter.replaceAll("-", "").trim(); - return Integer.parseInt(numStr); - } - - public String getSqlTestPath() { - return "/"; - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/common/BaseColumnLineageAnalyzerTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/common/BaseColumnLineageAnalyzerTest.java deleted file mode 100644 index dd224d8..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/common/BaseColumnLineageAnalyzerTest.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.common; - -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; - -import java.util.*; - -import static org.junit.Assert.*; - -public class BaseColumnLineageAnalyzerTest extends AbstractSqlParserTest { - - /** - * 验证关联关系 - * @param relations - * @param target 目标端字段 table.column - * @param source 来源字段 table.column - */ - public void assertRelation(Map> relations, - String target, String source) { - List rels = relations.get(target); - if (rels == null) - assertTrue(false); - boolean flag = false; - // check指定来源字段中的关联关系中包含有期望来源:expectedSource - for (ColumnLineageResult.ColumnRelation rel : rels) { - if (rel.getSource().equals(source)) { - flag = true; - break; - } - } - assertTrue(flag); - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/DatasourceSuite.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/DatasourceSuite.java deleted file mode 100644 index 7e971ae..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/DatasourceSuite.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.datasource; - -import com.dtstack.sqlparserx.core.datasource.doris.DorisColumnLineageTest; -import com.dtstack.sqlparserx.core.datasource.doris.DorisCreateTableTest; -import com.dtstack.sqlparserx.core.datasource.doris.DorisTableLineageTest; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; - -@RunWith(Suite.class) -@Suite.SuiteClasses({ - // doris - DorisColumnLineageTest.class, - DorisCreateTableTest.class, - DorisTableLineageTest.class -}) -public class DatasourceSuite { -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/doris/DorisColumnLineageTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/doris/DorisColumnLineageTest.java deleted file mode 100644 index 3b80ddd..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/doris/DorisColumnLineageTest.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.datasource.doris; - -import com.dtstack.sqlparserx.core.common.BaseColumnLineageAnalyzerTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; - -import com.alibaba.druid.DbType; -import org.junit.Test; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.junit.Assert.assertEquals; - -public class DorisColumnLineageTest extends BaseColumnLineageAnalyzerTest { - - private final ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.doris); - private String sqlTxtName = "DorisColumnLineageTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/datasource/doris/"; - } - - @Test - public void test_01_insert() { - String sql = readSqlByIndex(sqlTxtName, 1); - Map> tableColumnsMap = new HashMap>() { - { - this.put("wwz_0122", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - } - }; - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertRelation(relations, "wwz_0111.id", "wwz_0122.id"); - assertRelation(relations, "wwz_0111.name", "wwz_0122.name"); - } - - @Test - public void test_02_insert_allcolumns() { - String sql = readSqlByIndex(sqlTxtName, 2); - Map> tableColumnsMap = new HashMap>() { - { - this.put("wwz_012", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - } - }; - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertRelation(relations, "wwz_011.id", "wwz_012.id"); - assertRelation(relations, "wwz_011.name", "wwz_012.name"); - } - - @Test - public void test_03_insert_overwrite() { - String sql = readSqlByIndex(sqlTxtName, 3); - Map> tableColumnsMap = new HashMap>() { - { - this.put("wwz_012", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - this.put("wwz_013", - Arrays.asList(new Column("id", 0), new Column("name", 1))); - } - }; - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertEquals(4, result.getColumnLineages().size()); - assertRelation(relations, "wwz_011.id", "wwz_012.id"); - assertRelation(relations, "wwz_011.name", "wwz_012.name"); - assertRelation(relations, "wwz_011.name", "wwz_013.name"); - assertRelation(relations, "wwz_011.name", "wwz_013.name"); - } - - @Test - public void test_04_insert_overwrite() { - String sql = readSqlByIndex(sqlTxtName, 4); - Map> tableColumnsMap = new HashMap>() { - { - this.put("t1", - Arrays.asList(new Column("id1", 0), new Column("name1", 1))); - this.put("t2", - Arrays.asList(new Column("ID", 0), new Column("NAME", 1))); - } - }; - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, tableColumnsMap); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertEquals(2, result.getColumnLineages().size()); - // 目前针对目标表的字段列名以SQL中的字段为准,而不是以表中的字段为准 - assertRelation(relations, "t1.id1", "t2.id"); - assertRelation(relations, "t1.name1", "t2.name"); - } - - @Test - public void test_05_insert_overwrite() { - String sql = readSqlByIndex(sqlTxtName, 5); - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, new HashMap<>()); - Map> relations = result.getColumnRelations(); - assertEquals(30, relations.size()); - assertEquals(30, result.getColumnLineages().size()); - // 目前针对目标表的字段列名以SQL中的字段为准,而不是以表中的字段为准 - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.activity_channel_id", - "ods.ods_growth_adjust_activity_channel_hf.id"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.activity_id", - "ods.ods_growth_adjust_activity_channel_hf.activity_id"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.activity_name", - "dim.dim_growth_activity_activity_info_df.activity_name"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.activity_status", - "dim.dim_growth_activity_activity_info_df.activity_status"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.ch_type", - "dim.dim_growth_activity_channel_info_df.ch_type"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.first_ch_name", - "dim.dim_growth_activity_channel_info_df.first_ch_name"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.first_ch_sign", - "ods.ods_growth_adjust_activity_channel_hf.first_ch"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.second_ch_name", - "dim.dim_growth_activity_channel_info_df.second_ch_name"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.second_ch_sign", - "ods.ods_growth_adjust_activity_channel_hf.second_ch"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.third_ch_name", - "dim.dim_growth_activity_channel_info_df.third_ch_name"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.third_ch_sign", - "ods.ods_growth_adjust_activity_channel_hf.third_ch"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.ch", - "ods.ods_growth_adjust_activity_channel_hf.ch"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.activity_type", - "dim.dim_growth_activity_activity_info_df.activity_type"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.activity_type_name", - "dim.dim_growth_activity_activity_info_df.activity_type_name"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.preview_url", - "dim.dim_growth_activity_activity_info_df.preview_url"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.activity_url", - "dim.dim_growth_activity_activity_info_df.activity_url"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.business_id", - "dim.dim_growth_activity_activity_info_df.business_id"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.business_name", - "dim.dim_growth_activity_activity_info_df.business_name"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.reward_amt", - "dim.dim_growth_activity_activity_info_df.reward_amt"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.activity_begin_time", - "dim.dim_growth_activity_activity_info_df.activity_begin_time"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.activity_end_time", - "dim.dim_growth_activity_activity_info_df.activity_end_time"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.register_begin_time", - "dim.dim_growth_activity_activity_info_df.register_begin_time"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.register_end_time", - "dim.dim_growth_activity_activity_info_df.register_end_time"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.create_user_id", - "dim.dim_growth_activity_activity_info_df.create_user_id"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.create_user_name", - "dim.dim_growth_activity_activity_info_df.create_user_name"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.source_system_id", - "dim.dim_growth_activity_activity_info_df.source_system_id"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.source_system_name", - "dim.dim_growth_activity_activity_info_df.source_system_name"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.source_system_create_user_id", - "dim.dim_growth_activity_activity_info_df.source_system_create_user_id"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.source_system_create_user_name", - "dim.dim_growth_activity_activity_info_df.source_system_create_user_name"); - assertRelation(relations, "dim.dim_growth_activity_activity_channel_df.source_system_business_type", - "dim.dim_growth_activity_activity_info_df.source_system_business_type"); - } - - @Test - public void test_06_insert() { - String sql = readSqlByIndex(sqlTxtName, 6); - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, new HashMap<>()); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertRelation(relations, "new_table.id", "table1.id"); - assertRelation(relations, "new_table.name", "table1.name"); - } - - @Test - public void test_07_insert() { - String sql = readSqlByIndex(sqlTxtName, 7); - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, new HashMap<>()); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertRelation(relations, "new_table.id", "table1.id"); - assertRelation(relations, "new_table.name", "table1.name"); - assertRelation(relations, "new_table.id", "table2.id"); - assertRelation(relations, "new_table.name", "table2.name"); - } - - @Test - public void test_08_insert() { - String sql = readSqlByIndex(sqlTxtName, 8); - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, new HashMap<>()); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertRelation(relations, "new_table.id", "table1.id"); - assertRelation(relations, "new_table.name", "table1.name"); - } - - @Test - public void test_09_insert() { - String sql = readSqlByIndex(sqlTxtName, 9); - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, new HashMap<>()); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertRelation(relations, "new_table.id", "table1.ID"); - assertRelation(relations, "new_table.name", "table1.NAME"); - } - - /** - * 支持 SQLOver形式,如 select 字段中 字段为 - * ROW_NUMBER() OVER (PARTITION BY b.customer_key ORDER BY a.is_basic_household DESC, a.updation_ts DESC) real_param2 - * @param - * @return void - */ - @Test - public void test_10_insert() { - String sql = readSqlByIndex(sqlTxtName, 10); - ColumnLineageResult result = sqlParser.parseColumnLineages(sql, new HashMap<>()); - Map> relations = result.getColumnRelations(); - assertEquals(2, relations.size()); - assertRelation(relations, "dw_dim.dim_lease_account_df.param1", "real_table.real_param1"); - assertRelation(relations, "dw_dim.dim_lease_account_df.param2", "real_table2.customer_key"); - assertRelation(relations, "dw_dim.dim_lease_account_df.param2", "real_table.is_basic_household"); - assertRelation(relations, "dw_dim.dim_lease_account_df.param2", "real_table.updation_ts"); - } - -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/doris/DorisCreateTableTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/doris/DorisCreateTableTest.java deleted file mode 100644 index ff72ea8..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/doris/DorisCreateTableTest.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.datasource.doris; - -import com.dtstack.sqlparserx.core.common.BaseColumnLineageAnalyzerTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.domain.TableElement; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.DistributedByTypeEnum; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.TableKeyEnum; -import com.dtstack.sqlparserx.core.parser.base.table.createtable.enums.TablePartitionEnum; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; - -import com.alibaba.druid.DbType; -import org.junit.Test; - -import java.util.ArrayList; -import java.util.Arrays; - -import static org.junit.Assert.assertEquals; - -public class DorisCreateTableTest extends BaseColumnLineageAnalyzerTest { - - private final ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.doris); - private String sqlTxtName = "DorisCreateTableTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/datasource/doris/"; - } - - @Test - public void test_01_creatable_commonTable() { - String sql = readSqlByIndex(sqlTxtName, 1); - ParseCreateTableResult parseCreateTableResult = sqlParser.parseCreateTable(sql); -// System.out.println(parseCreateTableResult); - - assertEquals(null, parseCreateTableResult.getDb()); - assertEquals("ods_gate_common_rebate_ref_code_df", parseCreateTableResult.getTableName()); - assertEquals("用户邀请码表", parseCreateTableResult.getTableComment()); - assertEquals(8, parseCreateTableResult.getTableElementList().size()); - assertEquals(new TableElement("part_date", "date", new ArrayList<>(), null, "分区字段 按日分区", null, null, null), - parseCreateTableResult.getTableElementList().get(0)); - // 校验表字段指定类型 - assertEquals(TableKeyEnum.UNIQUE, parseCreateTableResult.getTableKey().getTableKeyEnum()); - assertEquals(Arrays.asList("part_date", "id"), parseCreateTableResult.getTableKey().getColumnName()); - // 校验分桶字段 - assertEquals(DistributedByTypeEnum.Hash, parseCreateTableResult.getTableDistributedBuckets() - .getDistributedByTypeEnum()); - assertEquals(3, parseCreateTableResult.getTableDistributedBuckets().getBucketNum().intValue()); - assertEquals(Arrays.asList("id"), parseCreateTableResult.getTableDistributedBuckets().getColumnNames()); - // 校验分区类型 - assertEquals(TablePartitionEnum.DYNAMIC, parseCreateTableResult.getTablePartition().getTablePartitionEnum()); - assertEquals(1, parseCreateTableResult.getTablePartition().getColumnName().size()); - assertEquals(9, parseCreateTableResult.getTablePartition().getTablePartitionElement().size()); - assertEquals("p20250624", parseCreateTableResult.getTablePartition().getTablePartitionElement().get(0) - .getName()); - assertEquals(Arrays.asList("2025-06-24", "2025-06-25"), parseCreateTableResult.getTablePartition() - .getTablePartitionElement().get(0).getValues()); - // 校验配置项 - assertEquals(26, parseCreateTableResult.getProperties().size()); - assertEquals(true, parseCreateTableResult.getProperties().containsKey("min_load_replica_num")); - assertEquals("-1", parseCreateTableResult.getProperties().get("min_load_replica_num")); - } - - // 明细表 - @Test - public void test_02_creatable_mingxi() { - String sql = readSqlByIndex(sqlTxtName, 2); - ParseCreateTableResult parseCreateTableResult = sqlParser.parseCreateTable(sql); - assertEquals(TableKeyEnum.DUPLICATE, parseCreateTableResult.getTableKey().getTableKeyEnum()); - } - - // 聚合表 - @Test - public void test_03_creatable_aggregate() { - String sql = readSqlByIndex(sqlTxtName, 3); - ParseCreateTableResult parseCreateTableResult = sqlParser.parseCreateTable(sql); - assertEquals(TableKeyEnum.AGGREGATE, parseCreateTableResult.getTableKey().getTableKeyEnum()); - } - - // 分区类型 PARTITION BY List - @Test - public void test_04_creatable_list() { - String sql = readSqlByIndex(sqlTxtName, 4); - ParseCreateTableResult parseCreateTableResult = sqlParser.parseCreateTable(sql); - assertEquals(TablePartitionEnum.LIST, parseCreateTableResult.getTablePartition().getTablePartitionEnum()); - assertEquals("REPLACE", parseCreateTableResult.getTableElementList().get(3).getAggType()); - } - - // 分区类型 为DYNAMIC - @Test - public void test_05_creatable_DYNAMIC() { - String sql = readSqlByIndex(sqlTxtName, 5); - ParseCreateTableResult parseCreateTableResult = sqlParser.parseCreateTable(sql); - assertEquals(TablePartitionEnum.DYNAMIC, parseCreateTableResult.getTablePartition().getTablePartitionEnum()); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/doris/DorisTableLineageTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/doris/DorisTableLineageTest.java deleted file mode 100644 index 0bd49f5..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/datasource/doris/DorisTableLineageTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.datasource.doris; - -import com.dtstack.sqlparserx.core.common.AbstractSqlParserTest; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableRelation; - -import com.alibaba.druid.DbType; -import org.junit.Test; - -import java.util.List; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -/** - * @description doris特殊表血缘解析 - * @author changlu - * @date 2026/1/31 18:59 - */ -public class DorisTableLineageTest extends AbstractSqlParserTest { - - private final ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.doris); - private String sqlTxtName = "DorisTableLineageTest.txt"; - - @Override - public String getSqlTestPath() { - return "/core/datasource/doris/"; - } - - /** - * 支持CTE_FORWARD_REFERENCE 特性,cte表引用向前表追溯 - */ - @Test - public void test_1_withas_cte_forward() { - String sql = readSqlByIndex(sqlTxtName, 1); - TableLineageResult result = sqlParser.parseTableLineages(sql); - List tableLineages = result.getTableLineages(); - assertEquals(2, tableLineages.size()); - assertTrue(result.getRelations().contains(new TableRelation("demo_table2", "new_table"))); - assertTrue(result.getRelations().contains(new TableRelation("demo_table", "new_table"))); - } - -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/parser/SqlParserFactoryTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/parser/SqlParserFactoryTest.java deleted file mode 100644 index 70feaef..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/parser/SqlParserFactoryTest.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.parser; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; - -import com.alibaba.druid.DbType; -import org.junit.Assert; -import org.junit.Test; - -public class SqlParserFactoryTest { - - @Test - public void shouldCreateEveryRegisteredParser() { - for (SqlParserDataSourceType dataSourceType : SqlParserDataSourceType.values()) { - ISqlParser parser = SqlParserFactory.getSqlParser(dataSourceType); - Assert.assertNotNull(parser); - Assert.assertEquals(dataSourceType.getDbType(), parser.getDbType()); - Assert.assertTrue(SqlParserFactory.supports(dataSourceType)); - } - } - - @Test - public void shouldExposeCoreTypesAsSupportedTypes() { - Assert.assertEquals(SqlParserDataSourceType.values().length, - SqlParserFactory.getSupportedDataSourceTypes().size()); - Assert.assertEquals(SqlParserDataSourceType.MYSQL, - SqlParserDataSourceType.fromDbType(DbType.mysql)); - Assert.assertNull(SqlParserDataSourceType.fromDbType(DbType.db2)); - } - - @Test - public void shouldReturnSameParserInstanceForDataSourceType() { - ISqlParser first = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - ISqlParser second = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - - Assert.assertSame(first, second); - } - - @Test(expected = IllegalArgumentException.class) - public void shouldRejectNullDataSourceType() { - SqlParserFactory.getSqlParser((SqlParserDataSourceType) null); - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/util/SQLParseStrategySimpleTest.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/util/SQLParseStrategySimpleTest.java deleted file mode 100644 index d5a0600..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/util/SQLParseStrategySimpleTest.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.util; - -import com.dtstack.sqlparserx.core.enums.SQLParseStrategy; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * @description 解析策略枚举测试 - * @author changlu - * @date 2025/7/24 11:17 - */ -public class SQLParseStrategySimpleTest { - - // 测试构造函数和mask赋值 - @Test - public void test_ConstructorAndMask() { - assertEquals(1, SQLParseStrategy.COLUMN_IGNORE_CASE.mask); - } - - // 测试isEnabled方法 - @Test - public void testIsEnabled() { - // 启用COLUMN_IGNORE_CASE策略 - int strategies = SQLParseStrategy.COLUMN_IGNORE_CASE.mask; - assertTrue(SQLParseStrategy.isEnabled(strategies, SQLParseStrategy.COLUMN_IGNORE_CASE)); - - // 没有启用任何策略 - assertFalse(SQLParseStrategy.isEnabled(0, SQLParseStrategy.COLUMN_IGNORE_CASE)); - } - - // 测试config方法 - 启用策略 - @Test - public void testConfigEnable() { - int original = 0; - int updated = SQLParseStrategy.config(original, SQLParseStrategy.COLUMN_IGNORE_CASE, true); - assertTrue(SQLParseStrategy.isEnabled(updated, SQLParseStrategy.COLUMN_IGNORE_CASE)); - } - - // 测试config方法 - 禁用策略 - @Test - public void testConfigDisable() { - int original = SQLParseStrategy.COLUMN_IGNORE_CASE.mask; - int updated = SQLParseStrategy.config(original, SQLParseStrategy.COLUMN_IGNORE_CASE, false); - assertFalse(SQLParseStrategy.isEnabled(updated, SQLParseStrategy.COLUMN_IGNORE_CASE)); - } - - // 测试of方法 - 单个策略 - @Test - public void testOfSingleStrategy() { - int result = SQLParseStrategy.of(SQLParseStrategy.COLUMN_IGNORE_CASE); - assertEquals(SQLParseStrategy.COLUMN_IGNORE_CASE.mask, result); - } - - // 测试of方法 - 空数组 - @Test - public void testOfEmptyArray() { - int result = SQLParseStrategy.of(); - assertEquals(0, result); - } -} \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/util/SqlSplictUtil.java b/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/util/SqlSplictUtil.java deleted file mode 100644 index 2e61644..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/java/com/dtstack/sqlparserx/core/util/SqlSplictUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.core.util; - -public class SqlSplictUtil { - - public static void main(String[] args) { - } -} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/function/BaseParseFunctionTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/function/BaseParseFunctionTest.txt deleted file mode 100644 index 67d592b..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/function/BaseParseFunctionTest.txt +++ /dev/null @@ -1,375 +0,0 @@ ---------------------1-------------------- -insert into hive.hzfh_pri.net_report_valid_cust_warning_df (proj_no,rule,cert_no,cdate) - -------1.有放款无授信 - -----借呗 -select distinct 'ALIPAY' as proj_no,'有放款无授信' as rule,cert_no, '${cdate}' -from hive.hzfh_pri.net_ods_alipay_loan_detail_allbranch_di where cdate = '${cdate}' and cert_no not in -( -select distinct cert_no from net_dw_loan_apply_valid where quota_status in (1,2) and proj_no in ('ALIPAY','XZD_ALIPAY') -) - -union - ----花呗 -select distinct 'HUABEI' as proj_no,'有放款无授信' as rule,cert_no, '${cdate}' -from hive.hzfh_pri.net_ods_huabei_bill_loan_detail_allbranch_di where cdate = '${cdate}' and cert_no not in -( -select distinct cert_no from net_dw_loan_apply_valid where quota_status in (1,2) and proj_no in ('HUABEI','XZD_HUABEI') -) - -union - ----网商贷 - -select distinct 'MYBANK' as proj_no,'有放款无授信' as rule,cert_no, '${cdate}' -from hive.hzfh_pri.net_ods_mybank_loan_detail_dfh_allbranch_di where cdate = '${cdate}' and cert_no not in -( -select distinct cert_no from net_dw_loan_apply_valid where quota_status in (1,2) and proj_no in ('MYBANK') -) - - ----------2.该笔放款我行授信已清退 -union -----借呗 -select distinct 'ALIPAY' as proj_no,'该笔放款我行授信已清退' as rule,cert_no, '${cdate}' -from hive.hzfh_pri.net_ods_alipay_loan_detail_allbranch_di where cdate = '${cdate}' and cert_no in -( -select distinct cert_no from hive.hzfh_pri.net_ods_icp_loan_after_clear_up_detail_di WHERE proj_no in ('XZD_ALIPAY') and status = '2' -) - - -union - ----花呗 -select distinct 'HUABEI' as proj_no,'该笔放款我行授信已清退' as rule,cert_no, '${cdate}' -from hive.hzfh_pri.net_ods_huabei_bill_loan_detail_allbranch_di where cdate = '${cdate}' and cert_no in -( -select distinct cert_no from hive.hzfh_pri.net_ods_icp_loan_after_clear_up_detail_di WHERE proj_no in ('XZD_HUABEI') and status = '2' -) - - -union - ----网商贷 -select distinct 'MYBANK' as proj_no,'该笔放款我行授信已清退' as rule,cert_no, '${cdate}' -from hive.hzfh_pri.net_ods_mybank_loan_detail_dfh_allbranch_di where cdate = '${cdate}' and cert_no in -( -select distinct cert_no from hive.hzfh_pri.net_ods_icp_loan_after_clear_up_detail_di WHERE proj_no in ('MYBANK') and status = '2' -) - - -union - -------3.文件中的有效户在我行未匹配到授信记录 - - ----借呗 -select 'ALIPAY' as proj_no,'文件有效户在我行未匹配到授信记录' as rule,common_string_1 as cert_no, '${cdate}' -from net_ods_alipay_info_change_di where cdate = '${cdate}' and change_type = 'TOTAL_CREDIT_AMT' and common_string_1 not in -( -select distinct cert_no from net_dw_loan_apply_valid where quota_status in (1,2) and proj_no in ('ALIPAY','XZD_ALIPAY') -) - -union - ----花呗 - -select 'HUABEI' as proj_no,'文件有效户在我行未匹配到授信记录' as rule,common_string_1 as cert_no, '${cdate}' -from net_ods_huabei_bill_daily_change_memo_di where cdate = '${cdate}' and change_type = 'TOTAL_CREDIT_AMT' and common_string_1 not in -( -select distinct cert_no from net_dw_loan_apply_valid where quota_status in (1,2) and proj_no in ('HUABEI','XZD_HUABEI') -) - - -union - ----网商贷 - - - -select 'MYBANK' as proj_no,'文件有效户在我行未匹配到授信记录' as rule,cert_no , '${cdate}' -from hive.hzfh_pri.net_ods_mybank_credit_detail_dfh_di where cdate = '${cdate}' and status = 'ENABLE' and cert_no not in -( -select distinct cert_no from net_dw_loan_apply_valid where quota_status in (1,2) and proj_no in ('MYBANK') -) - - -union - -----4.非有效户有放款 - -----借呗 -select distinct 'ALIPAY' as proj_no,'该笔放款我行授信已清退' as rule,cert_no, '${cdate}' -from hive.hzfh_pri.net_ods_alipay_loan_detail_allbranch_di where cdate = '${cdate}' and cert_no not in -( -select distinct cert_no from net_dw_loan_apply_valid where proj_no in ('ALIPAY','XZD_ALIPAY') -) - -union - ----花呗 - -select distinct 'HUABEI' as proj_no,'该笔放款我行授信已清退' as rule,cert_no , '${cdate}' -from hive.hzfh_pri.net_ods_huabei_bill_loan_detail_allbranch_di where cdate = '${cdate}' and cert_no not in -( -select distinct cert_no from net_dw_loan_apply_valid where proj_no in ('HUABEI','XZD_HUABEI') -) - -union - -----网商贷 - -select distinct 'MYBANK' as proj_no,'该笔放款我行授信已清退' as rule,cert_no , '${cdate}' -from hive.hzfh_pri.net_ods_mybank_loan_detail_dfh_allbranch_di where cdate = '${cdate}' and cert_no not in -( -select distinct cert_no from net_dw_loan_apply_valid where proj_no in ('MYBANK') -) - - - ------5.增量文件中的额度高于我行授信额度 - ----借呗 -union - -select 'ALIPAY' as proj_no,'增量文件中的额度高于我行授信额度' as rule,a.cert_no, '${cdate}' from -( -select common_string_1 as cert_no,cast(common_string_4 as decimal(16,2))/100 as credit_quota -from net_ods_alipay_info_change_di where cdate = '${cdate}' and change_type = 'TOTAL_CREDIT_AMT' -)a -left join -( -select cert_no,credit_quota from -( -select cert_no,credit_quota,row_number() over (partition by cert_no order by credit_date desc) as rn -from net_dw_loan_apply_valid where proj_no in ('ALIPAY','XZD_ALIPAY') and quota_status in (1,2) and credit_date <= '${cdate}' -)tt -where rn = 1 -)b -on a.cert_no = b.cert_no -where a.credit_quota > b.credit_quota - -union - ----花呗 - -select 'HUABEI' as proj_no,'增量文件中的额度高于我行授信额度' as rule,a.cert_no, '${cdate}' from -( -select common_string_1 as cert_no,cast(common_string_4 as decimal(16,2))/100 as credit_quota -from net_ods_huabei_bill_daily_change_memo_di where cdate = '${cdate}' and change_type = 'TOTAL_CREDIT_AMT' -)a -left join -( -select cert_no,credit_quota from -( -select cert_no,credit_quota,row_number() over (partition by cert_no order by credit_date desc) as rn -from net_dw_loan_apply_valid where proj_no in ('HUABEI','XZD_HUABEI') and quota_status in (1,2) and credit_date <= '${cdate}' -)tt -where rn = 1 -)b -on a.cert_no = b.cert_no -where a.credit_quota > b.credit_quota - -union - ----网商贷 - -select 'MYBANK' as proj_no,'增量文件中的额度不等于我行授信额度' as rule,a.cert_no, '${cdate}' from -( -select cert_no,cast(block_amt as decimal(16,2))/100 as credit_quota -from net_ods_mybank_credit_detail_dfh_di where cdate = '${cdate}' and status = 'ENABLE' -)a -left join -( -select cert_no,credit_quota from -( -select cert_no,credit_quota,row_number() over (partition by cert_no order by credit_date desc) as rn -from net_dw_loan_apply_valid where proj_no in ('MYBANK') and quota_status in (1,2) and credit_date <= '${cdate}' -)tt -where rn = 1 -)b -on a.cert_no = b.cert_no -where a.credit_quota <> b.credit_quota - -union - ----放款客户与授信客户分流行号是否一致 -select 'MYBANK' as proj_no,'放款客户与授信客户分流行号不一致' as rule,a.cert_no, '${cdate}' from -( -select distinct cert_no,bhid from hive.hzfh_pri.net_ods_mybank_loan_detail_dfh_allbranch_di where cdate = '${cdate}' -) a -left join -( -select distinct cert_no,bhid from net_dw_loan_apply_valid where proj_no = 'MYBANK' and quota_status in (1,2) and credit_date <= '${cdate}' -)b -on a.cert_no = b.cert_no -where a.bhid <> b.bhid - - - -union - ----T日有放款且T-1日贷款余额小于等于T日最新授信额度且T日贷款余额大于T日授信额度 - -----借呗 - -select 'ALIPAY' as proj_no,'T日有放款且T-1日贷款余额小于等于T日最新授信额度且T日贷款余额大于T日授信额度' as rule,a.cert_no, '${cdate}' from -( -select distinct aa.cert_no from -( -select cert_no,sum(cast(prin_bal+ovd_prin_bal as decimal(16,2)))/100 as loan_bal -from net_dwd_alipay_loan_stat_allbranch_df where cdate = '${yesterday}' -group by cert_no -)aa -left join -( -select cert_no,credit_quota from -( - select cert_no,credit_quota,row_number() over (partition by cert_no order by credit_date desc) as rn - from net_dw_loan_apply_valid where proj_no in ('ALIPAY','XZD_ALIPAY') and quota_status in (1,2) and substr(credit_date,1,10) <= '${cdate}' -)tt -where rn = 1 -)bb -on aa.cert_no = bb.cert_no -where loan_bal <= credit_quota -)a -join -( -select distinct aa.cert_no from -( -select cert_no,sum(cast(prin_bal+ovd_prin_bal as decimal(16,2)))/100 as loan_bal -from net_dwd_alipay_loan_stat_allbranch_df where cdate = '${cdate}' -group by cert_no -)aa -left join -( -select cert_no,credit_quota from -( - select cert_no,credit_quota,row_number() over (partition by cert_no order by credit_date desc) as rn - from net_dw_loan_apply_valid where proj_no in ('ALIPAY','XZD_ALIPAY') and quota_status in (1,2) and substr(credit_date,1,10) <= '${cdate}' -)tt -where rn = 1 -)bb -on aa.cert_no = bb.cert_no -where loan_bal > credit_quota -)b -on a.cert_no = b.cert_no -join -( -select distinct cert_no from hive.hzfh_pri.net_ods_alipay_loan_detail_allbranch_di where cdate = '${cdate}' --and substr(encash_date,1,10) = '${cdate}' -)c -on a.cert_no = c.cert_no - -union - -----花呗 - - -select 'HUABEI' as proj_no,'T日有放款且T-1日贷款余额小于等于T日最新授信额度且T日贷款余额大于T日授信额度' as rule,a.cert_no, '${cdate}' from -( -select distinct aa.cert_no from -( -select cert_no,sum(cast(prin_bal+ovd_prin_bal as decimal(16,2)))/100 as loan_bal -from hive.hzfh_pri.net_dwd_huabei_loan_stat_allbranch_df where cdate = '${yesterday}' -group by cert_no -)aa -left join -( -select cert_no,credit_quota from -( - select cert_no,credit_quota,row_number() over (partition by cert_no order by credit_date desc) as rn - from net_dw_loan_apply_valid where proj_no in ('HUABEI','XZD_HUABEI') and quota_status in (1,2) and substr(credit_date,1,10) <= '${cdate}' -)tt -where rn = 1 -)bb -on aa.cert_no = bb.cert_no -where loan_bal <= credit_quota -)a -join -( -select distinct aa.cert_no from -( -select cert_no,sum(cast(prin_bal+ovd_prin_bal as decimal(16,2)))/100 as loan_bal -from hive.hzfh_pri.net_dwd_huabei_loan_stat_allbranch_df where cdate = '${cdate}' -group by cert_no -)aa -left join -( -select cert_no,credit_quota from -( - select cert_no,credit_quota,row_number() over (partition by cert_no order by credit_date desc) as rn - from net_dw_loan_apply_valid where proj_no in ('HUABEI','XZD_HUABEI') and quota_status in (1,2) and substr(credit_date,1,10) <= '${cdate}' -)tt -where rn = 1 -)bb -on aa.cert_no = bb.cert_no -where loan_bal > credit_quota -)b -on a.cert_no = b.cert_no -join -( -select distinct cert_no from hive.hzfh_pri.net_ods_huabei_bill_loan_detail_allbranch_di -where cdate = '${cdate}' --and substr(encash_date,1,10) = '${cdate}' -)c -on a.cert_no = c.cert_no - - -union - ----网商贷 - - -select 'MYBANK' as proj_no,'T日有放款且T-1日贷款余额小于等于T日最新授信额度且T日贷款余额大于T日授信额度' as rule,a.cert_no, '${cdate}' from -( -----T-1日贷款余额小于等于T日最新授信 -select distinct aa.cert_no from -( -select cert_no,sum(cast(prin_bal+ovd_prin_bal as decimal(16,2)))/100 as loan_bal -from hive.hzfh_pri.net_dwd_mybank_loan_stat_dfh_allbranch_df -where cdate = '${yesterday}' -group by cert_no -)aa -left join -( -select cert_no,credit_quota from -( - select cert_no,credit_quota,row_number() over (partition by cert_no order by credit_date desc) as rn - from net_dw_loan_apply_valid where proj_no in ('MYBANK') and quota_status in (1,2) and substr(credit_date,1,10) <= '${cdate}' -)tt -where rn = 1 -)bb -on aa.cert_no = bb.cert_no -where loan_bal > credit_quota -)a -join -( ---T日贷款余额大于T日最新授信 -select distinct aa.cert_no from -( -select cert_no,sum(cast(prin_bal+ovd_prin_bal as decimal(16,2)))/100 as loan_bal -from hive.hzfh_pri.net_dwd_mybank_loan_stat_dfh_allbranch_df -where cdate = '${cdate}' -group by cert_no -)aa -left join -( -select cert_no,credit_quota from -( - select cert_no,credit_quota,row_number() over (partition by cert_no order by credit_date desc) as rn - from net_dw_loan_apply_valid where proj_no in ('MYBANK') and quota_status in (1,2) and substr(credit_date,1,10) <= '${cdate}' -)tt -where rn = 1 -)bb -on aa.cert_no = bb.cert_no -where loan_bal > credit_quota -)b -on a.cert_no = b.cert_no -join -( -----T日有放款 -select distinct cert_no from hive.hzfh_pri.net_ods_mybank_loan_detail_dfh_allbranch_di -where cdate = '${cdate}' and substr(encash_date,1,10) = '${cdate}' -)c -on a.cert_no = c.cert_no \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/column/BaseColumnLineageCreateTableAsSelectTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/column/BaseColumnLineageCreateTableAsSelectTest.txt deleted file mode 100644 index 9781fa7..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/column/BaseColumnLineageCreateTableAsSelectTest.txt +++ /dev/null @@ -1,395 +0,0 @@ ---------------------1-------------------- -CREATE TABLE students ( - id INT AUTO_INCREMENT PRIMARY KEY, - name VARCHAR(50) NOT NULL, - age INT, - gender ENUM('Male', 'Female') -); ---------------------2-------------------- -CREATE TABLE new_table AS select default_catalog.changluya_db.orders2.order_id2 from default_catalog.changluya_db.orders ---------------------3-------------------- -CREATE TABLE new_table AS SELECT id, name FROM source_table as st ---------------------4-------------------- -CREATE TABLE user_order_summary AS -SELECT - u.id as user_id, - u.name, - SUM(o.amount) as total_amount, - COUNT(o.id) as order_count -FROM users u JOIN orders o ON u.id = o.user_id -GROUP BY u.id, u.name ---------------------5-------------------- -CREATE TABLE new_table AS --- 理解为 table2.col1、table2.col2 -select col3, col4 from ( - select col1 as col3, col2 as col4, col5 from table2 -)as table3 ---------------------6-------------------- -create table tz as SELECT - EID AS ID, - OBJECTCODE AS CompanyCode, - CONCAT( - 'http://pdf.dfcfw.com/pdf/H6_', - UPPER( SUBSTRING_INDEX( ADDRESS, '.', - 1 ) ), - SUBSTRING_INDEX( SUBSTRING_INDEX( ADDRESS, '.', 1 ), '/', - 1 ), - '_1.', - SUBSTRING_INDEX( ADDRESS, '.', - 1 ) - ) AS LOGOPath, - EITIME AS EnterTime, - EUTIME AS UpdateTime, - 'choice' AS ResourceID, - EisDel AS EISDEL -FROM - ( -SELECT - EID, - OBJECTCODE, - ADDRESS, - EisDel, - EITIME, - EUTIME, - row_number ( ) over ( PARTITION BY objectcode ORDER BY PICTURETYPE ) AS porder -FROM - CDSY_PICTURES -WHERE - EDITTYPE NOT IN (101,301,307) - AND EUTIME>=DATE_SUB(NOW(),INTERVAL 1 DAY) - ) A -WHERE - A.porder = 1 ---------------------7-------------------- -create table a as select b1.id1,b1.name1,c1.id2,c1.name2 from b b1 left join c c1 on c1.id2 = b1.id1 ---------------------8-------------------- -create table tz as -SELECT - id, - CASE - WHEN salary > 10000 THEN 'High' - WHEN salary BETWEEN 5000 AND 10000 THEN 'Medium' - WHEN salary < 5000 THEN 'Low' - ELSE 'Unknown' - END as salary_level -FROM - employees; ---------------------9-------------------- -create table tz as SELECT - a.ID, - a.RPTCode, - a.RPTitle, - a.PublishDate, - a.PubCompanyCode, - a.PubCompanyName, - GROUP_CONCAT( DISTINCT b.RelateCode ORDER BY b.RelateCode DESC ) AS Union_PersonCode, - GROUP_CONCAT( DISTINCT b.RelateName ORDER BY b.RelateCode DESC ) AS Union_PersonName, - GROUP_CONCAT( DISTINCT a.SWDUCode ORDER BY a.SWDUCode DESC ) AS Union_SWCode, - GROUP_CONCAT( DISTINCT a.INDSort ORDER BY a.SWDUCode DESC ) AS Union_SWName, - NULL AS Union_SecuCode, - NULL Union_SecuName, - NULL AS SecuTypeCode, - a.AttachName, - p.ItemName AS AttachType, - a.SourceURL, - a.Pages, - a.ColumnCode, - a.ColumnName, - a.SratingCode, - a.SratingName, - a.RatingChange, - t.ItemName AS RatingChangeName, - a.ReportDate, - a.EnterTime, - a.UpdateTime, - a.RecTime, - a.eisdel , - NOW() AS EnterDBTime -FROM - RPT_BaseInfo a - INNER JOIN RPT_ReportBaseAdd h ON a.RPTCode = h.RPTCode - LEFT JOIN RPT_RelateCode b ON a.RPTCode = b.RPTCode - AND b.RelateType = '04' - AND b.EisDel = '0' - LEFT JOIN RPT_Encode t ON a.RatingChange = t.ItemCode - AND t.ItemClassCode = 'RatingChangeCode' - LEFT JOIN RPT_Encode p ON a.AttachType = p.ItemCode - AND p.ItemClassCode = 'fileTypeCode' -WHERE - a.EisDel = '0' - AND a.ResourceID = 'choice' - AND a.COLUMNCODE NOT LIKE '002006%' - AND a.COLUMNCODE NOT LIKE '002004%' AND a.PubCompanyCode NOT IN ( '10014783', '10004823', '10983760' ) - AND h.RECTime >= DATE_SUB( CURDATE(), INTERVAL 3 DAY ) -GROUP BY - a.RPTCode - UNION ALL -SELECT DISTINCT - a.ID, - a.RPTCode, - a.RPTitle, - a.PublishDate, - a.PubCompanyCode, - a.PubCompanyName, - GROUP_CONCAT( DISTINCT b.RelateCode ORDER BY b.RelateCode DESC ) AS Union_PersonCode, - GROUP_CONCAT( DISTINCT b.RelateName ORDER BY b.RelateCode DESC ) AS Union_PersonName, - GROUP_CONCAT( DISTINCT a.SWDUCode ORDER BY a.SWDUCode DESC ) AS Union_SWCode, - GROUP_CONCAT( DISTINCT a.INDSort ORDER BY a.SWDUCode DESC ) AS Union_SWName, - GROUP_CONCAT( DISTINCT c.RelateCode ORDER BY c.RelateCode DESC ) AS Union_SecuCode, - GROUP_CONCAT( DISTINCT c.RelateName ORDER BY c.RelateCode DESC ) AS Union_SecuName, -CASE - WHEN c.SecuTypeCode = '058001001' THEN - '01' - WHEN c.SecuTypeCode = '058001002' THEN - '02' - WHEN c.SecuTypeCode LIKE '058001003%' THEN - '03' - WHEN c.SecuTypeCode = '058001008' THEN - '08' ELSE NULL - END AS SecuTypeCode, - a.AttachName, - p.ItemName AS AttachType, - a.SourceURL, - a.Pages, - a.ColumnCode, - a.ColumnName, - a.SratingCode, - a.SratingName, - a.RatingChange, - t.ItemName AS RatingChangeName, - a.ReportDate, - a.EnterTime, - a.UpdateTime, - a.RecTime, - a.eisdel , - NOW() AS EnterDBTime -FROM - RPT_BaseInfo a - INNER JOIN RPT_ReportBaseAdd h ON a.RPTCode = h.RPTCode - LEFT JOIN RPT_RelateCode b ON a.RPTCode = b.RPTCode - AND b.RelateType = '04' - AND b.EisDel = '0' - LEFT JOIN RPT_RelateCode c ON c.RPTCode = a.RPTCode - AND c.RelateType = '01' - AND c.EisDel = '0' - LEFT JOIN RPT_Encode t ON a.RatingChange = t.ItemCode - AND t.ItemClassCode = 'RatingChangeCode' - LEFT JOIN RPT_Encode p ON a.AttachType = p.ItemCode - AND p.ItemClassCode = 'fileTypeCode' -WHERE - a.EisDel = '0' - AND a.ResourceID = 'choice' - AND ( a.COLUMNCODE LIKE '002006%' OR a.COLUMNCODE LIKE '002004%' ) AND a.PubCompanyCode NOT IN ( '10014783', '10004823', '10983760' ) - AND h.RECTime >= DATE_SUB( CURDATE(), INTERVAL 3 DAY ) -GROUP BY -a.RPTCode ---------------------10-------------------- -CREATE TABLE tz -AS -SELECT EID AS ID, INFOCODE AS LAS_Code, AttachType AS AttachType, AttachName AS AttachName, AttachNo AS AttachNo - , SUBSTRING_INDEX(ATTACHNAME, '/', -1) AS AttachOrigName - , AttachSize AS AttachSize, AttachPages AS AttachPages, SOUATTACHNAME AS SouAttchname, 'H4' AS InfoType - , SUBSTRING_INDEX(ATTACHNAME, SUBSTRING_INDEX(ATTACHNAME, '/', -1), 1) AS D_Path - , CASE - WHEN INSTR(ATTACHNAME, '.') > 0 THEN CONCAT(INFOCODE, '_', CAST(ROUND(ATTACHNO) AS CHAR), '.', SUBSTRING_INDEX(ATTACHNAME, '.', -1)) - ELSE CONCAT(INFOCODE, '_', CAST(ROUND(ATTACHNO) AS CHAR)) - END AS F_Name - , CASE - WHEN INSTR(ATTACHNAME, '.') > 0 THEN SUBSTRING_INDEX(ATTACHNAME, '.', -1) - ELSE NULL - END AS F_Type - , CONCAT('http://pdf.dfcfw.com/pdf/H4_', INFOCODE, '_', CAST(ROUND(ATTACHNO) AS char), '.', SUBSTRING_INDEX(ATTACHNAME, '.', -1)) AS F_Url - , EUTIME AS UpdateTime, EITIME AS EnterTime, 1 AS ResourceID, EISDEL AS EisDel -FROM INFO_NW_RELATTACH -WHERE EUTIME >= DATE_SUB(CURRENT_TIME(), INTERVAL 1 HOUR) ---------------------11-------------------- -create table tz as select curdate() as STAT_DATE,'6' as STAT_PRD,f.SECURITYCODE,f.SECURITYNAME, -f.all_num,f.buy_num,f.incr_num,f.neut_num,f.redu_num,f.sell_num,f.tg_num,f.td_num,f.kp_num,f.rat_score, -case when f.rat_score>=4.5 then '买入' - when f.rat_score<4.5 and f.rat_score>=3.5 then '增持' - when f.rat_score<3.5 and f.rat_score>=2.5 then '中性' - when f.rat_score<2.5 and f.rat_score>=1.5 then '减持' - when f.rat_score<1.5 then '卖出' -end as rat_desc -from( - select p.SECURITYCODE,p.SECURITYNAME, - p.all_num,p.buy_num,p.incr_num,p.neut_num,p.redu_num,p.sell_num,p.tg_num,p.td_num,p.kp_num, - (p.buy_num*5+p.incr_num*4+p.neut_num*3+p.redu_num*2+p.sell_num)/all_num as rat_score - from( - select t.SECURITYCODE,t.SECURITYNAME, - count(distinct t.COMPANYCODE) all_num, - sum(case when t.EMRATINGVALUE=1 then 1 else 0 end) as buy_num, - sum(case when t.EMRATINGVALUE=2 then 1 else 0 end) as incr_num, - sum(case when t.EMRATINGVALUE=3 then 1 else 0 end) as neut_num, - sum(case when t.EMRATINGVALUE=4 then 1 else 0 end) as redu_num, - sum(case when t.EMRATINGVALUE=5 then 1 else 0 end) as sell_num, - sum(case when t.RATINGCHANGE in(0,2) then 1 else 0 end) as tg_num, - sum(case when t.RATINGCHANGE=1 then 1 else 0 end) as td_num, - sum(case when t.RATINGCHANGE not in (0,1,2) or t.RATINGCHANGE is null then 1 else 0 end) as kp_num - from ( - select distinct - a.SECURITYCODE,a.SECURITYNAME,a.EMRATINGVALUE,a.EMRATINGNAME,c.RATINGCHANGE,d.PARAMCHNAME,a.COMPANYCODE,a.COMPANYNAME - from INFO_RE_RATINGINFO a - inner join( - select SECURITYCODE,COMPANYCODE,max(PUBLISHDATE) PUBLISHDATE - from INFO_RE_RATINGINFO - where PUBLISHDATE>=DATE_SUB(curdate(),interval 6 month) - group by SECURITYCODE,COMPANYCODE - )b on a.SECURITYCODE=b.SECURITYCODE and a.COMPANYCODE=b.COMPANYCODE and a.PUBLISHDATE=b.PUBLISHDATE - left join INFO_RE_BASINFO c on a.INFOCODE=c.INFOCODE - left join CFP_PVALUE d on c.RATINGCHANGE=d.PARAMCODE and d.NIPMID='138000000404610438' - where a.PUBLISHDATE>=DATE_SUB(curdate(),interval 6 month) - )t group by t.SECURITYCODE,t.SECURITYNAME - )p -)f - -union all - -select curdate() as STAT_DATE,'3' as STAT_PRD,f.SECURITYCODE,f.SECURITYNAME, -f.all_num,f.buy_num,f.incr_num,f.neut_num,f.redu_num,f.sell_num,f.tg_num,f.td_num,f.kp_num,f.rat_score, -case when f.rat_score>=4.5 then '买入' - when f.rat_score<4.5 and f.rat_score>=3.5 then '增持' - when f.rat_score<3.5 and f.rat_score>=2.5 then '中性' - when f.rat_score<2.5 and f.rat_score>=1.5 then '减持' - when f.rat_score<1.5 then '卖出' -end as rat_desc -from( - select p.SECURITYCODE,p.SECURITYNAME, - p.all_num,p.buy_num,p.incr_num,p.neut_num,p.redu_num,p.sell_num,p.tg_num,p.td_num,p.kp_num, - (p.buy_num*5+p.incr_num*4+p.neut_num*3+p.redu_num*2+p.sell_num)/all_num as rat_score - from( - select t.SECURITYCODE,t.SECURITYNAME, - count(distinct t.COMPANYCODE) all_num, - sum(case when t.EMRATINGVALUE=1 then 1 else 0 end) as buy_num, - sum(case when t.EMRATINGVALUE=2 then 1 else 0 end) as incr_num, - sum(case when t.EMRATINGVALUE=3 then 1 else 0 end) as neut_num, - sum(case when t.EMRATINGVALUE=4 then 1 else 0 end) as redu_num, - sum(case when t.EMRATINGVALUE=5 then 1 else 0 end) as sell_num, - sum(case when t.RATINGCHANGE in(0,2) then 1 else 0 end) as tg_num, - sum(case when t.RATINGCHANGE=1 then 1 else 0 end) as td_num, - sum(case when t.RATINGCHANGE not in (0,1,2) or t.RATINGCHANGE is null then 1 else 0 end) as kp_num - from ( - select distinct - a.SECURITYCODE,a.SECURITYNAME,a.EMRATINGVALUE,a.EMRATINGNAME,c.RATINGCHANGE,d.PARAMCHNAME,a.COMPANYCODE,a.COMPANYNAME - from INFO_RE_RATINGINFO a - inner join( - select SECURITYCODE,COMPANYCODE,max(PUBLISHDATE) PUBLISHDATE - from INFO_RE_RATINGINFO - where PUBLISHDATE>=DATE_SUB(curdate(),interval 3 month) - group by SECURITYCODE,COMPANYCODE - )b on a.SECURITYCODE=b.SECURITYCODE and a.COMPANYCODE=b.COMPANYCODE and a.PUBLISHDATE=b.PUBLISHDATE - left join INFO_RE_BASINFO c on a.INFOCODE=c.INFOCODE - left join CFP_PVALUE d on c.RATINGCHANGE=d.PARAMCODE and d.NIPMID='138000000404610438' - where a.PUBLISHDATE>=DATE_SUB(curdate(),interval 3 month) - )t group by t.SECURITYCODE,t.SECURITYNAME - )p -)f - -union all - -select curdate() as STAT_DATE,'1' as STAT_PRD,f.SECURITYCODE,f.SECURITYNAME, -f.all_num,f.buy_num,f.incr_num,f.neut_num,f.redu_num,f.sell_num,f.tg_num,f.td_num,f.kp_num,f.rat_score, -case when f.rat_score>=4.5 then '买入' - when f.rat_score<4.5 and f.rat_score>=3.5 then '增持' - when f.rat_score<3.5 and f.rat_score>=2.5 then '中性' - when f.rat_score<2.5 and f.rat_score>=1.5 then '减持' - when f.rat_score<1.5 then '卖出' -end as rat_desc -from( - select p.SECURITYCODE,p.SECURITYNAME, - p.all_num,p.buy_num,p.incr_num,p.neut_num,p.redu_num,p.sell_num,p.tg_num,p.td_num,p.kp_num, - (p.buy_num*5+p.incr_num*4+p.neut_num*3+p.redu_num*2+p.sell_num)/all_num as rat_score - from( - select t.SECURITYCODE,t.SECURITYNAME, - count(distinct t.COMPANYCODE) all_num, - sum(case when t.EMRATINGVALUE=1 then 1 else 0 end) as buy_num, - sum(case when t.EMRATINGVALUE=2 then 1 else 0 end) as incr_num, - sum(case when t.EMRATINGVALUE=3 then 1 else 0 end) as neut_num, - sum(case when t.EMRATINGVALUE=4 then 1 else 0 end) as redu_num, - sum(case when t.EMRATINGVALUE=5 then 1 else 0 end) as sell_num, - sum(case when t.RATINGCHANGE in(0,2) then 1 else 0 end) as tg_num, - sum(case when t.RATINGCHANGE=1 then 1 else 0 end) as td_num, - sum(case when t.RATINGCHANGE not in (0,1,2) or t.RATINGCHANGE is null then 1 else 0 end) as kp_num - from ( - select distinct - a.SECURITYCODE,a.SECURITYNAME,a.EMRATINGVALUE,a.EMRATINGNAME,c.RATINGCHANGE,d.PARAMCHNAME,a.COMPANYCODE,a.COMPANYNAME - from INFO_RE_RATINGINFO a - inner join( - select SECURITYCODE,COMPANYCODE,max(PUBLISHDATE) PUBLISHDATE - from INFO_RE_RATINGINFO - where PUBLISHDATE>=DATE_SUB(curdate(),interval 1 month) - group by SECURITYCODE,COMPANYCODE - )b on a.SECURITYCODE=b.SECURITYCODE and a.COMPANYCODE=b.COMPANYCODE and a.PUBLISHDATE=b.PUBLISHDATE - left join INFO_RE_BASINFO c on a.INFOCODE=c.INFOCODE - left join CFP_PVALUE d on c.RATINGCHANGE=d.PARAMCODE and d.NIPMID='138000000404610438' - where a.PUBLISHDATE>=DATE_SUB(curdate(),interval 1 month) - )t group by t.SECURITYCODE,t.SECURITYNAME - )p -)f ---------------------12-------------------- -create table tz as SELECT distinct - a.SWDUCode AS Union_SWCode, - case when a.ColumnCode like '002001%' then substr(a.ColumnCode,1,9) else substr(a.ColumnCode,1,6) end as Xh_ColumnCode, - t.ItemName AS RatingChangeName, - NOW() AS EnterDBTime -FROM RPT_BaseInfo a - INNER JOIN RPT_ReportBaseAdd h ON a.RPTCode = h.RPTCode - LEFT JOIN RPT_RelateCode b ON a.RPTCode = b.RPTCode - LEFT JOIN RPT_Encode t ON a.RatingChange = t.ItemCode - LEFT JOIN RPT_Encode p ON a.AttachType = p.ItemCode -WHERE a.EisDel = '0' - AND h.RECTime >= DATE_SUB( CURDATE(), INTERVAL 3 DAY ) -GROUP BY a.RPTCode - UNION ALL -SELECT DISTINCT - a.PubCompanyName, - a.INDSort AS Union_SWName, -CASE - WHEN c.SecuTypeCode = '058001001' THEN - '01' - WHEN c.SecuTypeCode = '058001002' THEN - '02' - WHEN c.SecuTypeCode LIKE '058001003%' THEN - '03' - WHEN c.SecuTypeCode = '058001008' THEN - '08' ELSE NULL - END AS SecuTypeCode, - case when a.ColumnCode like '002001%' then substr(a.ColumnCode,1,9) else substr(a.ColumnCode,1,6) end as Xh_ColumnCode, - NOW() AS EnterDBTime -FROM RPT_BaseInfo a - INNER JOIN RPT_ReportBaseAdd h ON a.RPTCode = h.RPTCode - LEFT JOIN RPT_RelateCode b ON a.RPTCode = b.RPTCode - LEFT JOIN RPT_RelateCode c ON c.RPTCode = a.RPTCode - LEFT JOIN RPT_Encode t ON a.RatingChange = t.ItemCode - LEFT JOIN RPT_Encode p ON a.AttachType = p.ItemCode -WHERE -a.PubCompanyCode NOT IN ( '10014783', '10004823', '10983760' ) -AND h.RECTime >= DATE_SUB(CURDATE(), INTERVAL 3 DAY ) -GROUP BY a.RPTCode ---------------------12-------------------- -create table newTable as -select id, name from ( - select id, name from table1 - union all - select id, name from table2 -) as t1 ---------------------13-------------------- -create table newTable -select - id, - invite_task_ids, - condition_id1, - created_time, - updated_time, - from_channel, - invite_nums -from - ( - select - id, - condition_id as condition_id1, - invite_task_ids, - from_unixtime(created_time) created_time, - from_unixtime(updated_time) updated_time, - if(from_channel = "",null,from_channel) from_channel, - invite_nums - from - ods.ods_task_condition_invite_hf - )t lateral view explode(split_by_string(invite_task_ids, ",")) tab1 as invite_task_id \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/column/BaseColumnLineageInsertSelectTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/column/BaseColumnLineageInsertSelectTest.txt deleted file mode 100644 index 56e0f35..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/column/BaseColumnLineageInsertSelectTest.txt +++ /dev/null @@ -1,38 +0,0 @@ ---------------------1-------------------- -insert - OVERWRITE table dws_jyjs0504 -select - b.gh as gh, - b.xm as xm, - b.dqszdwmc as dqszdwmc, - b.zdxsjsjlmc as zdxsjsjlmc -FROM - ( - SELECT - * - FROM - dwd_jszt_jyjs0504 - where - dt = '${bdp.system.bizdate}' - ) as b ---------------------2-------------------- -insert - OVERWRITE table dws_jyjs0504 -select - * -FROM - ( - SELECT - gh,xm,dqszdwmc,zdxsjsjlmc - FROM - dwd_jszt_jyjs0504 - where - dt = '${bdp.system.bizdate}' - ) as b ---------------------3-------------------- -INSERT INTO a1 -select id, name from a2 -union all -select id, name from a3 -union all -select id, name from a4 \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/column/BaseColumnLineageWithAsInsertTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/column/BaseColumnLineageWithAsInsertTest.txt deleted file mode 100644 index 89bdc22..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/column/BaseColumnLineageWithAsInsertTest.txt +++ /dev/null @@ -1,194 +0,0 @@ ---------------------1-------------------- --- 完整查询(包含WITH AS、JOIN、子查询、UNION等) -WITH --- 第一个AS:简单SELECT -t1 AS ( - SELECT id, name, age - FROM digua_ceshi.demo_table_digua -), - --- 第二个AS:SELECT FROM (SELECT) 嵌套形式 -t2 AS ( - SELECT sub.id, sub.name - FROM ( - SELECT id, name - FROM digua_ceshi.demo_table_digua - WHERE id IS NOT NULL - ) AS sub -), - --- 第三个AS:UNION查询(使用新的表) -t3 AS ( - SELECT id, name, age - FROM digua_ceshi.new_table - WHERE age > 18 - UNION - SELECT id, name, age - FROM digua_ceshi.new_table - WHERE age IS NULL - UNION - SELECT id, name, age - FROM digua_ceshi.new_table2 - WHERE age IS NULL -), - --- 第四个AS:LEFT JOIN查询(使用新的表) -t4 AS ( - SELECT t.id, t.name, nt.age AS new_table_age - FROM digua_ceshi.demo_table_digua t - LEFT JOIN digua_ceshi.new_table nt ON t.id = nt.id -), - --- 第五个AS:递归CTE(使用新的表) -t5 AS ( - -- 递归CTE的初始查询 - SELECT id, name, manager_id, level - FROM digua_ceshi.hierarchy_table - WHERE manager_id IS NULL -- 假设顶级节点的manager_id为NULL - - UNION ALL - - -- 递归部分 - SELECT h.id, h.name, h.manager_id, t5.level + 1 - FROM digua_ceshi.hierarchy_table h - INNER JOIN t5 ON h.manager_id = t5.id -) - --- 最终主查询(包含所有JOIN、子查询、UNION操作) -INSERT INTO digua_ceshi.result_table -SELECT - t1.*, - t2.name AS t2_name, - t3.name AS t3_name, - t4.new_table_age AS t4_age, - t5.level AS t5_level, -- 添加递归CTE中的层级字段 - -- 添加与真实表的JOIN - dt.department, - -- 添加子查询示例 - (SELECT COUNT(*) FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count -FROM t1 -JOIN t2 ON t1.id = t2.id -LEFT JOIN t3 ON t1.id = t3.id -LEFT JOIN t4 ON t1.id = t4.id -LEFT JOIN t5 ON t1.id = t5.id --- 添加与真实表的JOIN -JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id --- 添加UNION示例 -WHERE t1.age > 20 - -UNION ALL - -SELECT - t1.*, - t2.name AS t2_name, - t3.name AS t3_name, - t4.new_table_age AS t4_age, - t5.level AS t5_level, -- 添加递归CTE中的层级字段 - dt.department, - 0 AS older_count -- 默认值 -FROM t1 -JOIN t2 ON t1.id = t2.id -LEFT JOIN t3 ON t1.id = t3.id -LEFT JOIN t4 ON t1.id = t4.id -LEFT JOIN t5 ON t1.id = t5.id -JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id -WHERE t1.age <= 20; ---------------------2-------------------- --- 完整查询(包含WITH AS、JOIN、子查询、UNION等) -WITH --- 第一个AS:简单SELECT -t1 AS ( - SELECT id, name, age - FROM digua_ceshi.demo_table_digua -), - --- 第二个AS:SELECT FROM (SELECT) 嵌套形式 -t2 AS ( - SELECT sub.id, sub.name - FROM ( - SELECT id, name - FROM digua_ceshi.demo_table_digua - WHERE id IS NOT NULL - ) AS sub -), - --- 第三个AS:UNION查询(使用新的表) -t3 AS ( - SELECT id, name, age - FROM digua_ceshi.new_table - WHERE age > 18 - UNION - SELECT id, name, age - FROM digua_ceshi.new_table - WHERE age IS NULL - UNION - SELECT id, name, age - FROM digua_ceshi.new_table2 - WHERE age IS NULL -), - --- 第四个AS:LEFT JOIN查询(使用新的表) -t4 AS ( - SELECT t.id, t.name, nt.age AS new_table_age - FROM digua_ceshi.demo_table_digua t - LEFT JOIN digua_ceshi.new_table nt ON t.id = nt.id -), - --- 第五个AS:递归CTE(使用新的表) -t5 AS ( - -- 递归CTE的初始查询 - SELECT id, name, manager_id, level - FROM digua_ceshi.hierarchy_table - WHERE manager_id IS NULL -- 假设顶级节点的manager_id为NULL - - UNION ALL - - -- 递归部分 - SELECT h.id, h.name, h.manager_id, t5.level + 1 - FROM digua_ceshi.hierarchy_table h - INNER JOIN t5 ON h.manager_id = t5.id -) - --- 最终主查询(包含所有JOIN、子查询、UNION操作) -INSERT INTO digua_ceshi.result_table ( - t1_col1, t1_col2, t1_col3, - t2_name, t3_name, t4_age, - t5_level, department, older_count -) -SELECT - t1.*, - t2.name AS t2_name, - t3.name AS t3_name, - t4.new_table_age AS t4_age, - t5.level AS t5_level, -- 添加递归CTE中的层级字段 - -- 添加与真实表的JOIN - dt.department, - -- 添加子查询示例 - (SELECT COUNT(*) FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count -FROM t1 -JOIN t2 ON t1.id = t2.id -LEFT JOIN t3 ON t1.id = t3.id -LEFT JOIN t4 ON t1.id = t4.id -LEFT JOIN t5 ON t1.id = t5.id --- 添加与真实表的JOIN -JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id --- 添加UNION示例 -WHERE t1.age > 20 - -UNION ALL - -SELECT - t1.*, - t2.name AS t2_name, - t3.name AS t3_name, - t4.new_table_age AS t4_age, - t5.level AS t5_level, -- 添加递归CTE中的层级字段 - dt.department, - 0 AS older_count -- 默认值 -FROM t1 -JOIN t2 ON t1.id = t2.id -LEFT JOIN t3 ON t1.id = t3.id -LEFT JOIN t4 ON t1.id = t4.id -LEFT JOIN t5 ON t1.id = t5.id -JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id -WHERE t1.age <= 20; \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/table/BaseTableLineageCreateTableAsSelectTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/table/BaseTableLineageCreateTableAsSelectTest.txt deleted file mode 100644 index ff0b613..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/table/BaseTableLineageCreateTableAsSelectTest.txt +++ /dev/null @@ -1,47 +0,0 @@ ---------------------1-------------------- -CREATE TABLE students ( - id INT AUTO_INCREMENT PRIMARY KEY, - name VARCHAR(50) NOT NULL, - age INT, - gender ENUM('Male', 'Female') -); ---------------------2-------------------- -CREATE TABLE new_table AS select default_catalog.changluya_db.orders2.order_id2 from default_catalog.changluya_db.orders ---------------------3-------------------- -CREATE TABLE new_table AS SELECT id, name FROM source_table as st ---------------------4-------------------- -CREATE TABLE user_order_summary AS -SELECT - u.id as user_id, - u.name, - SUM(o.amount) as total_amount, - COUNT(o.id) as order_count -FROM users u JOIN orders o ON u.id = o.user_id -GROUP BY u.id, u.name ---------------------5-------------------- -CREATE TABLE new_table AS --- 理解为 table2.col1、table2.col2 -select col3, col4 from ( - select col1 as col3, col2 as col4, col5 from table2 -)as table3 ---------------------6-------------------- -create table new_table -select * from table1 as t1 - left join ( - select * from table3 as tt3 left join table4 as tt4 on tt3.id = tt4.id - ) as t34 on t1.id = t34.id -union -select * from table4 as t4 -union -select - id, - (SELECT MAX(col1) FROM table5 as t5) AS col2, - (SELECT COUNT(*) FROM table6 as t6 WHERE t6.age > 10) AS col3 -from table7 ---------------------7-------------------- -create table newTable as -select id, name from ( - select id, name from table1 - union all - select id, name from table2 -) as t1 \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/table/BaseTableLineageInsertSelectTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/table/BaseTableLineageInsertSelectTest.txt deleted file mode 100644 index 2651f27..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/table/BaseTableLineageInsertSelectTest.txt +++ /dev/null @@ -1,92 +0,0 @@ ---------------------1-------------------- -insert - OVERWRITE table dws_jyjs0504 -select - b.gh as gh, - b.xm as xm, - b.dqszdwmc as dqszdwmc, - b.zdxsjsjlmc as zdxsjsjlmc -FROM - ( - SELECT - * - FROM - dwd_jszt_jyjs0504 - where - dt = '${bdp.system.bizdate}' - ) as b ---------------------2-------------------- -insert - OVERWRITE table dws_jyjs0504 -select - * -FROM - ( - SELECT - gh,xm,dqszdwmc,zdxsjsjlmc - FROM - dwd_jszt_jyjs0504 - where - dt = '${bdp.system.bizdate}' - ) as b - --------------------3-------------------- - insert - into table dws_jyjs0504 - select - b.gh as gh, - b.xm as xm, - b.dqszdwmc as dqszdwmc, - b.zdxsjsjlmc as zdxsjsjlmc - FROM - ( - SELECT - * - FROM - dwd_jszt_jyjs0504 - where - dt = '${bdp.system.bizdate}' - ) as b - --------------------4-------------------- - -- name sql_test_0414 - -- type Inceptor SQL - -- author admin@dtstack.com - -- create time 2025-04-14 16:25:17 - -- desc - INSERT OVERWRITE TABLE CMI.LOAN_ACCT_INFO_TEMP - SELECT - V_ETL_DATE AS DATE_STAT, - A.ITEMNO COD_IDSTR, - A.ITEMNAME TXT_IDSTR, - B.ITEMNO COD_ONE_IDSTR, - B.ITEMNAME TXT_ONE_IDSTR, - C.ITEMNO COD_TWO_IDSTR, - C.ITEMNAME TXT_TWO_IDSTR, - D.ITEMNO COD_THREE_IDSTR, - D.ITEMNAME TXT_THREE_IDSTR - FROM OMI.CM_CODE_LIBRARY_HS A --信贷参数表 - LEFT JOIN OMI.CM_CODE_LIBRARY_HS B - ON B.ITEMNO = SUBSTR(A.ITEMNO,1,1) - AND B.CODENO = 'IndustryType' - AND LENGTH(B.ITEMNO) = '1' - AND B.BEGNDT <= v_etl_date - AND B.OVERDT > v_etl_date - AND B.PARTID = v_partid - LEFT JOIN omi.cm_code_library_hs C - ON C.ITEMNO = SUBSTR(A.ITEMNO,1,3) - AND C.CODENO = 'IndustryType' - AND LENGTH(C.ITEMNO) = '3' - AND C.BEGNDT <= v_etl_date - AND C.OVERDT > v_etl_date - AND C.PARTID = v_partid - LEFT JOIN omi.cm_code_library_hs D - ON D.ITEMNO = SUBSTR(A.ITEMNO,1,4) - AND D.CODENO = 'IndustryType' - AND LENGTH(D.ITEMNO) = '4' - AND D.BEGNDT <= v_etl_date - AND D.OVERDT > v_etl_date - AND D.PARTID = v_partid - WHERE A.CODENO = 'IndustryType' - AND LENGTH(A.ITEMNO) = '5' - AND A.BEGNDT <= v_etl_date - AND A.OVERDT > v_etl_date - AND A.PARTID = v_partid; \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/table/BaseTableLineageWithAsInsertTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/table/BaseTableLineageWithAsInsertTest.txt deleted file mode 100644 index 29d93cd..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/lineage/table/BaseTableLineageWithAsInsertTest.txt +++ /dev/null @@ -1,217 +0,0 @@ ---------------------1-------------------- -with t8 as ( - select * from table8 -) -insert into new_table -select * from table1 as t1 - left join ( - select * from table3 as tt3 left join table4 as tt4 on tt3.id = tt4.id - union - select * from table2 - ) as t34 on t1.id = t34.id -union -select * from table1 -union -select * from table4 as t4 -union -select - id, - (SELECT MAX(col1) FROM table5 as t5) AS col2, - (SELECT COUNT(*) FROM table6 as t6 WHERE t6.age > 10) AS col3 -from table7 -union -select * from t8 ---------------------2-------------------- --- 完整查询(包含WITH AS、JOIN、子查询、UNION等) -WITH --- 第一个AS:简单SELECT -t1 AS ( - SELECT id, name, age - FROM digua_ceshi.demo_table_digua -), - --- 第二个AS:SELECT FROM (SELECT) 嵌套形式 -t2 AS ( - SELECT sub.id, sub.name - FROM ( - SELECT id, name - FROM digua_ceshi.demo_table_digua - WHERE id IS NOT NULL - ) AS sub -), - --- 第三个AS:UNION查询(使用新的表) -t3 AS ( - SELECT id, name, age - FROM digua_ceshi.new_table - WHERE age > 18 - UNION - SELECT id, name, age - FROM digua_ceshi.new_table - WHERE age IS NULL - UNION - SELECT id, name, age - FROM digua_ceshi.new_table2 - WHERE age IS NULL -), - --- 第四个AS:LEFT JOIN查询(使用新的表) -t4 AS ( - SELECT t.id, t.name, nt.age AS new_table_age - FROM digua_ceshi.demo_table_digua t - LEFT JOIN digua_ceshi.new_table nt ON t.id = nt.id -), - --- 第五个AS:递归CTE(使用新的表) -t5 AS ( - -- 递归CTE的初始查询 - SELECT id, name, manager_id, level - FROM digua_ceshi.hierarchy_table - WHERE manager_id IS NULL -- 假设顶级节点的manager_id为NULL - - UNION ALL - - -- 递归部分 - SELECT h.id, h.name, h.manager_id, t5.level + 1 - FROM digua_ceshi.hierarchy_table h - INNER JOIN t5 ON h.manager_id = t5.id -) - --- 最终主查询(包含所有JOIN、子查询、UNION操作) -INSERT INTO digua_ceshi.result_table -SELECT - t1.*, - t2.name AS t2_name, - t3.name AS t3_name, - t4.new_table_age AS t4_age, - t5.level AS t5_level, -- 添加递归CTE中的层级字段 - -- 添加与真实表的JOIN - dt.department, - -- 添加子查询示例 - (SELECT COUNT(*) FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count -FROM t1 -JOIN t2 ON t1.id = t2.id -LEFT JOIN t3 ON t1.id = t3.id -LEFT JOIN t4 ON t1.id = t4.id -LEFT JOIN t5 ON t1.id = t5.id --- 添加与真实表的JOIN -JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id --- 添加UNION示例 -WHERE t1.age > 20 - -UNION ALL - -SELECT - t1.*, - t2.name AS t2_name, - t3.name AS t3_name, - t4.new_table_age AS t4_age, - t5.level AS t5_level, -- 添加递归CTE中的层级字段 - dt.department, - 0 AS older_count -- 默认值 -FROM t1 -JOIN t2 ON t1.id = t2.id -LEFT JOIN t3 ON t1.id = t3.id -LEFT JOIN t4 ON t1.id = t4.id -LEFT JOIN t5 ON t1.id = t5.id -JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id -WHERE t1.age <= 20; ---------------------3-------------------- --- 完整查询(包含WITH AS、JOIN、子查询、UNION等) -WITH --- 第一个AS:简单SELECT -t1 AS ( - SELECT id, name, age - FROM digua_ceshi.demo_table_digua -), - --- 第二个AS:SELECT FROM (SELECT) 嵌套形式 -t2 AS ( - SELECT sub.id, sub.name - FROM ( - SELECT id, name - FROM digua_ceshi.demo_table_digua - WHERE id IS NOT NULL - ) AS sub -), - --- 第三个AS:UNION查询(使用新的表) -t3 AS ( - SELECT id, name, age - FROM digua_ceshi.new_table - WHERE age > 18 - UNION - SELECT id, name, age - FROM digua_ceshi.new_table - WHERE age IS NULL - UNION - SELECT id, name, age - FROM digua_ceshi.new_table2 - WHERE age IS NULL -), - --- 第四个AS:LEFT JOIN查询(使用新的表) -t4 AS ( - SELECT t.id, t.name, nt.age AS new_table_age - FROM digua_ceshi.demo_table_digua t - LEFT JOIN digua_ceshi.new_table nt ON t.id = nt.id -), - --- 第五个AS:递归CTE(使用新的表) -t5 AS ( - -- 递归CTE的初始查询 - SELECT id, name, manager_id, level - FROM digua_ceshi.hierarchy_table - WHERE manager_id IS NULL -- 假设顶级节点的manager_id为NULL - - UNION ALL - - -- 递归部分 - SELECT h.id, h.name, h.manager_id, t5.level + 1 - FROM digua_ceshi.hierarchy_table h - INNER JOIN t5 ON h.manager_id = t5.id -) - --- 最终主查询(包含所有JOIN、子查询、UNION操作) -INSERT INTO digua_ceshi.result_table ( - t1_col1, t1_col2, t1_col3, - t2_name, t3_name, t4_age, - t5_level, department, older_count -) -SELECT - t1.*, - t2.name AS t2_name, - t3.name AS t3_name, - t4.new_table_age AS t4_age, - t5.level AS t5_level, -- 添加递归CTE中的层级字段 - -- 添加与真实表的JOIN - dt.department, - -- 添加子查询示例 - (SELECT COUNT(*) FROM digua_ceshi.demo_table_digua WHERE age > t1.age) AS older_count -FROM t1 -JOIN t2 ON t1.id = t2.id -LEFT JOIN t3 ON t1.id = t3.id -LEFT JOIN t4 ON t1.id = t4.id -LEFT JOIN t5 ON t1.id = t5.id --- 添加与真实表的JOIN -JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id --- 添加UNION示例 -WHERE t1.age > 20 - -UNION ALL - -SELECT - t1.*, - t2.name AS t2_name, - t3.name AS t3_name, - t4.new_table_age AS t4_age, - t5.level AS t5_level, -- 添加递归CTE中的层级字段 - dt.department, - 0 AS older_count -- 默认值 -FROM t1 -JOIN t2 ON t1.id = t2.id -LEFT JOIN t3 ON t1.id = t3.id -LEFT JOIN t4 ON t1.id = t4.id -LEFT JOIN t5 ON t1.id = t5.id -JOIN digua_ceshi.departments dt ON t1.id = dt.employee_id -WHERE t1.age <= 20; \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/parameter/BaseParseParameterClientTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/parameter/BaseParseParameterClientTest.txt deleted file mode 100644 index ba27854..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/parameter/BaseParseParameterClientTest.txt +++ /dev/null @@ -1,191 +0,0 @@ ---------------------1-------------------- -select u.id, u.name -from user_info u -where u.tenant_id = ${tenantId} - and u.status in (${states}) ---------------------2-------------------- -select id -from metric -where score > ${gt} - and score >= ${gte} - and score < ${lt} - and score <= ${lte} - and score <> ${ne} - and name like ${kw} ---------------------3-------------------- -select id as user_id, ${dynamicColumn} as dyn_col, name -from user_info -where tenant_id = ${tenantId} ---------------------4-------------------- -select id -from user_info -where name = '${name}' ---------------------5-------------------- -select department_id, count(*) as cnt -from user_info -where tenant_id = ${tenantId} -group by ${groupColumn} -having count(*) > ${minCount} -order by ${sortColumn} desc -limit ${offset}, ${rows} ---------------------6-------------------- -with tenant_users as ( - select id - from user_info - where tenant_id = ${cteTenant} -) -select u.id -from ( - select id, status - from user_info - where created_at >= ${startTime} -) u -join tenant_users tu on tu.id = u.id -where u.status in (${states}) - and exists ( - select 1 - from orders o - where o.user_id = u.id - and o.amount > ${minAmount} - ) -order by ${sortColumn} desc -limit ${offset}, ${rows} ---------------------7-------------------- -select t.id as rid, - (select max(o.amount) from orders o where o.user_id = t.id and o.amount > ${minAmount}) as max_amount -from ( - select id, status - from user_info - where tenant_id = ${tenantId} -) t -where t.status in (${states}) ---------------------8-------------------- -select id, name from user_info where tenant_id = ${tenantIdA} -union all -select id, name from user_info where tenant_id = ${tenantIdB} -order by id -limit ${rows} ---------------------9-------------------- -select t.id -from ( - select id from user_info where tenant_id = ${tenantIdA} - union all - select id from user_info where tenant_id = ${tenantIdB} -) t -where t.id > ${minId} ---------------------10-------------------- -select id -from user_info u -where exists ( - select 1 - from orders o - where o.user_id = u.id - and o.status in ( - select status from order_status where flag = ${flag} - ) - and exists ( - select 1 from pay p where p.order_id = o.id and p.amount > ${minPay} - ) -) ---------------------11-------------------- -select id -from user_info -where tenant_id = ${tenantId} or backup_tenant_id = ${tenantId} ---------------------12-------------------- -select id -from type_table -where enabled = ${enabled} - and birthday = ${birthday} - and created_at = ${createdAt} ---------------------13-------------------- -select id, score, aged -from user_info -where score between ${minScore} and ${maxScore} - and aged not between ${minAged} and ${maxAged} ---------------------14-------------------- -select * -from user_info -where tenant_id = ${tenantId} ---------------------15-------------------- -select t.id, - (select max(a.amount) from orders a where a.user_id = t.id and a.amount > ${minAmount}) as max_amt, - (select count(*) from pay p where p.order_id = t.id and p.status = ${payStatus}) as cnt -from ( - select id from user_info where tenant_id = ${tenantId} -) t -where t.id > ${minId} ---------------------16-------------------- -with base as ( - select id from user_info where tenant_id = ${tenantId} -) -select b.id -from base b -where b.id in ( - select o.user_id from orders o where o.amount > ${minAmount} -) -union all -select p.id from pay p where p.status = ${payStatus} -order by id -limit ${rows} ---------------------17-------------------- -select id, ${dupParam} as dup_col -from user_info -where tenant_id = ${dupParam} ---------------------18-------------------- -with t1 as ( - select id, name, age - from digua_ceshi.demo_table_digua - where age >= ${t1MinAge} -), -t2 as ( - select sub.id, sub.name - from ( - select id, name - from digua_ceshi.demo_table_digua - where name like ${t2Name} - ) sub -), -t3 as ( - select id, name, age - from digua_ceshi.new_table - where age > ${t3AgeA} - union all - select id, name, age - from digua_ceshi.new_table2 - where age <= ${t3AgeB} -), -t4 as ( - select t.id, t.name, nt.age as new_table_age - from digua_ceshi.demo_table_digua t - left join digua_ceshi.new_table nt - on t.id = nt.id and nt.age > ${t4MinAge} -) -select t1.id, - t1.name, - t2.name as t2_name, - t3.name as t3_name, - t4.new_table_age as t4_age, - dt.department, - (select count(*) - from digua_ceshi.demo_table_digua d - where d.id = t1.id and d.age > ${olderAge}) as older_count -from t1 -join t2 on t1.id = t2.id -left join t3 on t1.id = t3.id -left join t4 on t1.id = t4.id -join digua_ceshi.departments dt on t1.id = dt.employee_id -where dt.department = ${department} -union all -select t1.id, - t1.name, - t2.name as t2_name, - t3.name as t3_name, - t4.new_table_age as t4_age, - dt.department, - 0 as older_count -from t1 -join t2 on t1.id = t2.id -left join t3 on t1.id = t3.id -left join t4 on t1.id = t4.id -join digua_ceshi.departments dt on t1.id = dt.employee_id -where dt.department = ${backupDepartment} diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/sqlfilter/BaseFilterSortSelectFieldTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/sqlfilter/BaseFilterSortSelectFieldTest.txt deleted file mode 100644 index c8b875f..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/sqlfilter/BaseFilterSortSelectFieldTest.txt +++ /dev/null @@ -1,184 +0,0 @@ ---------------------1-------------------- -SELECT * FROM orders as aa ---------------------2-------------------- -SELECT * -FROM orders aa -WHERE aa.region = 'beijing' ---------------------3-------------------- -SELECT * FROM a.orders ---------------------4-------------------- -SELECT * -FROM a.orders -WHERE region = 'beijing' ---------------------5-------------------- -SELECT * FROM orders where orders.region IN ('beijing','hangzhou') ---------------------6-------------------- -SELECT * -FROM orders -WHERE orders.region IN ('beijing', 'hangzhou') - AND region = 'beijing' - AND name IN ('xiaoming', 'xiaohua') ---------------------7-------------------- -SELECT * FROM orders WHERE price > 45.0 OR customer_name = 'John' ---------------------8-------------------- -SELECT * -FROM orders -WHERE (price > 45.0 - OR customer_name = 'John') - AND region = 'beijing' - AND name IN ('xiaoming', 'xiaohua') ---------------------9-------------------- -SELECT - o.*, - p.name, - p.description -FROM - (SELECT - * - FROM - orders - WHERE - order_status = FALSE - ) AS o -LEFT JOIN products AS p ON o.product_id = p.id -WHERE - o.price > 45.0 OR o.customer_name = 'John' ---------------------10-------------------- -SELECT o.*, p.name, p.description -FROM ( - SELECT * - FROM orders - WHERE order_status = false - AND region = 'beijing' - AND name IN ('xiaoming', 'xiaohua') -) o - LEFT JOIN products p ON o.product_id = p.id -WHERE o.price > 45.0 - OR o.customer_name = 'John' ---------------------11-------------------- -SELECT - o.*, - p.name, - p.description, - s.shipment_id, - s.origin, - s.destination, - s.is_arrived -FROM - orders AS o - LEFT JOIN products AS p ON o.product_id=p.id - LEFT JOIN shipments AS s ON o.order_id=s.order_id ---------------------12-------------------- -SELECT o.*, p.name, p.description, s.shipment_id, s.origin - , s.destination, s.is_arrived -FROM orders o - LEFT JOIN products p ON o.product_id = p.id - LEFT JOIN shipments s ON o.order_id = s.order_id -WHERE o.region = 'beijing' - AND p.name = 'hammer' - AND s.is_arrived = false ---------------------13-------------------- -update orders set region = 'shanghai' ---------------------14-------------------- -UPDATE orders -SET region = 'shanghai' -WHERE region = 'beijing' ---------------------15-------------------- -SELECT key, salted_key, value -FROM ( - SELECT key, concat(key, random_salt) AS salted_key, value - FROM source_table -) t -JOIN another_table ON t.salted_key = another_table.salted_key ---------------------16-------------------- -SELECT key, salted_key, value -FROM ( - SELECT key, concat(key, random_salt) AS salted_key, value - FROM source_table - WHERE key IN ('beijing', 'hangzhou') -) t - JOIN another_table ON t.salted_key = another_table.salted_key ---------------------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-------------------- ---------------------65-------------------- ---------------------66-------------------- ---------------------67-------------------- ---------------------68-------------------- ---------------------69-------------------- ---------------------70-------------------- ---------------------71-------------------- ---------------------72-------------------- ---------------------73-------------------- ---------------------74-------------------- ---------------------75-------------------- ---------------------76-------------------- ---------------------77-------------------- ---------------------78-------------------- ---------------------79-------------------- ---------------------80-------------------- ---------------------81-------------------- ---------------------82-------------------- ---------------------83-------------------- ---------------------84-------------------- ---------------------85-------------------- ---------------------86-------------------- ---------------------87-------------------- ---------------------88-------------------- ---------------------89-------------------- ---------------------90-------------------- ---------------------91-------------------- ---------------------92-------------------- ---------------------93-------------------- ---------------------94-------------------- ---------------------95-------------------- ---------------------96-------------------- ---------------------97-------------------- ---------------------98-------------------- ---------------------99-------------------- ---------------------100------------------- \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/tables/BaseParseTablesTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/tables/BaseParseTablesTest.txt deleted file mode 100644 index 4e49895..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/base/tables/BaseParseTablesTest.txt +++ /dev/null @@ -1,133 +0,0 @@ ---------------------1-------------------- -with t8 as ( - select * from table8 -) -insert into new_table -select * from table1 as t1 - left join ( - select * from table3 as tt3 left join table4 as tt4 on tt3.id = tt4.id - union - select * from table2 - ) as t34 on t1.id = t34.id -union -select * from table1 -union -select * from table4 as t4 -union -select - id, - (SELECT MAX(col1) FROM table5 as t5) AS col2, - (SELECT COUNT(*) FROM table6 as t6 WHERE t6.age > 10) AS col3 -from table7 -union -select * from t8 ---------------------2-------------------- -with t1 as (select * from table1), t2 as (select * from table2) -insert into new_table -select * from t1 ---------------------3-------------------- -COMMENT on column batch_601.employees2.name is '姓名' ---------------------4-------------------- -CREATE TABLE test_2a -as SELECT cust_name, cust_contact -FROM Customers -WHERE cust_id IN (SELECT cust_id - FROM Orders - WHERE order_num IN (SELECT order_num - FROM OrderItems - WHERE prod_id = 'RGAN01')); ---------------------5-------------------- -select id,name from tz where id in(select id from tz2) and name in (select name from tz3) ---------------------6-------------------- -select * from (select id, name from table2 union all select id2, name2 from table3) as table1 ---------------------7-------------------- -select - t1.id, - t1.invite_task_id, - t2.rule_id, - t2.task_id, - nvl(t1.condition_id, t2.condition_id) condition_id, - t1.created_time, - t1.updated_time, - t1.from_channel, - t1.invite_nums, - now() - from - ( - select - id, - invite_task_id, - condition_id, - created_time, - updated_time, - from_channel, - invite_nums - from - ( - select - id, - condition_id, - invite_task_ids, - from_unixtime(created_time) created_time, - from_unixtime(updated_time) updated_time, - if(from_channel = "",null,from_channel) from_channel, - invite_nums - from - ods.ods_task_condition_invite_hf - )t lateral view explode(split_by_string(invite_task_ids, ",")) tab1 as invite_task_id - ) t1 left join ( - select - rule_id, - task_id, - condition_id - from - ( - SELECT - id, - rule_id, - task_id, - condition_ids - FROM - ods.ods_task_rule_condition_hf - WHERE - status = 1 - ) t1 lateral view explode( - split_by_string(condition_ids, ",") - ) tab1 as condition_id - ) t2 on t1.condition_id = t2.condition_id ---------------------8-------------------- -SELECT earn_order_type -FROM ( - SELECT 'uni_loan' AS earn_order_type - UNION ALL - SELECT 'fixed_earn' - UNION ALL - SELECT 'dual_savings' - UNION ALL - SELECT 'dual_sniper' - UNION ALL - SELECT 'structured_financing' - UNION ALL - SELECT 'finances_lock' - UNION ALL - SELECT 'launchpool' - UNION ALL - SELECT 'coin_staking' - UNION ALL - SELECT 'wealth_finance' - UNION ALL - SELECT 'stable_income' - UNION ALL - SELECT 'structured_products' - UNION ALL - SELECT 'hybrid_interest' - UNION ALL - SELECT 'quant_fund' - UNION ALL - SELECT 'dual_savings_auto_renewal' -) t1 ---------------------9-------------------- -with t2 as (select 1 as id, 'name1' as name) -insert into new_t -select id, name from t1 -left join t2 on t1.id = t2.id diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/datasource/doris/DorisColumnLineageTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/datasource/doris/DorisColumnLineageTest.txt deleted file mode 100644 index e9f5eee..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/datasource/doris/DorisColumnLineageTest.txt +++ /dev/null @@ -1,197 +0,0 @@ ---------------------1-------------------- -INSERT INTO wwz_0111 (id, name) -WITH wwz_0133 AS ( - SELECT id, name - FROM wwz_0122 -) -SELECT id, name FROM wwz_0133; ---------------------2-------------------- -INSERT INTO wwz_011 (id, name) -WITH wwz_013 AS ( - SELECT * - FROM wwz_012 -) -SELECT * FROM wwz_013; ---------------------3-------------------- -INSERT OVERWRITE table wwz_011 -SELECT * -FROM wwz_012 -UNION ALL -SELECT * -FROM wwz_013; ---------------------4-------------------- -INSERT into t1 -select id, name from t2 ---------------------5-------------------- -INSERT INTO dim.`dim_growth_activity_activity_channel_df`( - `activity_channel_id`, - `part_date`, - `activity_id`, - `activity_name`, - `activity_status`, - `ch_type`, - `first_ch_name`, - `first_ch_sign`, - `second_ch_name`, - `second_ch_sign`, - `third_ch_name`, - `third_ch_sign`, - `ch`, - `activity_type`, - `activity_type_name`, - `preview_url`, - `activity_url`, - `business_id`, - `business_name`, - `reward_amt`, - `activity_begin_time`, - `activity_end_time`, - `register_begin_time`, - `register_end_time`, - `create_user_id`, - `create_user_name`, - `source_system_id`, - `source_system_name`, - `source_system_create_user_id`, - `source_system_create_user_name`, - `source_system_business_type` -) -WITH first_mapping AS ( - SELECT - first_ch_sign, - MAX(first_ch_name) AS first_ch_name, - MAX(ch_type) ch_type - FROM dim.dim_growth_activity_channel_info_df - WHERE part_date = "${utc0yyyy_MM_dd_1d}" - GROUP BY first_ch_sign -), -second_mapping AS ( - SELECT - second_ch_sign, - MAX(second_ch_name) AS second_ch_name - FROM dim.dim_growth_activity_channel_info_df - WHERE part_date = "${utc0yyyy_MM_dd_1d}" - GROUP BY second_ch_sign -), -third_mapping AS ( - SELECT - third_ch_sign, - MAX(third_ch_name) AS third_ch_name - FROM dim.dim_growth_activity_channel_info_df - WHERE part_date = "${utc0yyyy_MM_dd_1d}" - GROUP BY third_ch_sign -), -ch AS ( - SELECT - `id`, - `activity_id`, - `first_ch`, - `second_ch`, - `third_ch`, - `ch` - FROM ods.ods_growth_adjust_activity_channel_hf - WHERE DATE(created_at) <= "${utc0yyyy_MM_dd_1d}" - AND part_hour = ( - SELECT MAX(part_hour) - FROM ods.`ods_growth_adjust_activity_channel_hf` - ) -) -SELECT - ch.id AS `activity_channel_id`, - "${utc0yyyy_MM_dd_1d}" AS `part_date`, - ch.activity_id AS `activity_id`, - t1.activity_name AS `activity_name`, - t1.activity_status AS `activity_status`, - first_mapping.ch_type AS `ch_type`, - first_mapping.first_ch_name AS `first_ch_name`, - ch.first_ch AS `first_ch_sign`, - second_mapping.second_ch_name AS `second_ch_name`, - ch.second_ch AS `second_ch_sign`, - third_mapping.third_ch_name AS `third_ch_name`, - ch.third_ch AS `third_ch_sign`, - ch.ch AS `ch`, - t1.activity_type AS `activity_type`, - t1.`activity_type_name` AS `activity_type_name`, - t1.`preview_url` AS `preview_url`, - t1.`activity_url` AS `activity_url`, - t1.`business_id` AS `business_id`, - t1.`business_name` AS `business_name`, - t1.`reward_amt` AS `reward_amount`, - t1.`activity_begin_time` AS `activity_start_at`, - t1.`activity_end_time` AS `activity_end_at`, - t1.`register_begin_time` AS `register_start_at`, - t1.`register_end_time` AS `register_end_at`, - t1.`create_user_id` AS `create_user_id`, - t1.`create_user_name` AS `create_user_name`, - t1.`source_system_id` AS `source_system_id`, - t1.`source_system_name` AS `source_system_name`, - t1.`source_system_create_user_id` AS `source_system_create_user_id`, - t1.`source_system_create_user_name` AS `source_system_create_user_name`, - t1.`source_system_business_type` AS `source_system_business_type` -FROM ch -JOIN ( - SELECT - activity_id, - activity_name, - activity_status, - activity_type, - activity_type_name, - preview_url, - activity_url, - business_id, - business_name, - reward_amt, - register_begin_time, - register_end_time, - activity_begin_time, - activity_end_time, - create_user_id, - create_user_name, - source_system_id, - source_system_name, - source_system_create_user_id, - source_system_create_user_name, - source_system_business_type - FROM dim.`dim_growth_activity_activity_info_df` - WHERE part_date = "${utc0yyyy_MM_dd_1d}" -) t1 ON ch.activity_id = t1.activity_id -LEFT JOIN first_mapping ON ch.first_ch = first_mapping.first_ch_sign -LEFT JOIN second_mapping ON ch.second_ch = second_mapping.second_ch_sign -LEFT JOIN third_mapping ON ch.third_ch = third_mapping.third_ch_sign ---------------------6-------------------- -insert into new_table -select `o`.id, `o`.name -from ( - select `t`.* from ( - select id, name from table1 - ) `t` -) `o` ---------------------7-------------------- -insert into new_table -select `t1`.id, `t1`.name from ( - select id, name from table1 - union all - select id, name from table2 -) as `t1` ---------------------8-------------------- -insert into new_table -select `t1`.id, `t1`.name from ( - select `t2`.id, `t2`.name - from table1 `t2` -) `t1` ---------------------9-------------------- -insert into new_table -select id, name from ( - select ID, NAME - from table1 -) t1 ---------------------10-------------------- -INSERT OVERWRITE TABLE dw_dim.dim_lease_account_df PARTITION (p20220718) ( - param1, - param2 -) -SELECT - real_param1, - ROW_NUMBER() OVER (PARTITION BY b.customer_key ORDER BY a.is_basic_household DESC, a.updation_ts DESC) real_param2 -from real_table a -left join real_table2 b; \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/datasource/doris/DorisCreateTableTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/datasource/doris/DorisCreateTableTest.txt deleted file mode 100644 index 337ac55..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/datasource/doris/DorisCreateTableTest.txt +++ /dev/null @@ -1,111 +0,0 @@ ---------------------1-------------------- -CREATE TABLE `ods_gate_common_rebate_ref_code_df` ( - `part_date` date NULL COMMENT '分区字段 按日分区', - `id` bigint NULL COMMENT '业务主键ID', - `ref_code` varchar(255) NULL COMMENT '邀请码', - `uid` int NULL COMMENT '用户uid', - `type` tinyint NULL COMMENT '类型', - `updated_at` datetime(6) NULL COMMENT '更新时间', - `created_at` datetime(6) NULL COMMENT '创建时间', - `status` tinyint NULL COMMENT '状态' -) ENGINE=OLAP -UNIQUE KEY(`part_date`, `id`) -COMMENT '用户邀请码表' -PARTITION BY RANGE(`part_date`) -(PARTITION p20250624 VALUES [('2025-06-24'), ('2025-06-25')), -PARTITION p20250625 VALUES [('2025-06-25'), ('2025-06-26')), -PARTITION p20250626 VALUES [('2025-06-26'), ('2025-06-27')), -PARTITION p20250627 VALUES [('2025-06-27'), ('2025-06-28')), -PARTITION p20250628 VALUES [('2025-06-28'), ('2025-06-29')), -PARTITION p20250629 VALUES [('2025-06-29'), ('2025-06-30')), -PARTITION p20250630 VALUES [('2025-06-30'), ('2025-07-01')), -PARTITION p20250701 VALUES [('2025-07-01'), ('2025-07-02')), -PARTITION p20250702 VALUES [('2025-07-02'), ('2025-07-03'))) -DISTRIBUTED BY HASH(`id`) BUCKETS 3 -PROPERTIES ( -"replication_allocation" = "tag.location.default: 3", -"min_load_replica_num" = "-1", -"is_being_synced" = "false", -"dynamic_partition.enable" = "true", -"dynamic_partition.time_unit" = "DAY", -"dynamic_partition.time_zone" = "Etc/UTC", -"dynamic_partition.start" = "-7", -"dynamic_partition.end" = "1", -"dynamic_partition.prefix" = "p", -"dynamic_partition.replication_allocation" = "tag.location.default: 3", -"dynamic_partition.buckets" = "3", -"dynamic_partition.create_history_partition" = "false", -"dynamic_partition.history_partition_num" = "-1", -"dynamic_partition.hot_partition_num" = "0", -"dynamic_partition.reserved_history_periods" = "NULL", -"dynamic_partition.storage_policy" = "", -"storage_medium" = "hdd", -"storage_format" = "V2", -"inverted_index_storage_format" = "V1", -"enable_unique_key_merge_on_write" = "true", -"light_schema_change" = "true", -"disable_auto_compaction" = "false", -"enable_single_replica_compaction" = "false", -"group_commit_interval_ms" = "10000", -"group_commit_data_bytes" = "134217728", -"enable_mow_light_delete" = "false" -); ---------------------2-------------------- -CREATE TABLE IF NOT EXISTS example_tbl_duplicate -( - log_time DATETIME NOT NULL, - log_type INT NOT NULL, - error_code INT, - error_msg VARCHAR(1024), - op_id BIGINT, - op_time DATETIME -) -DUPLICATE KEY(log_time, log_type, error_code) -DISTRIBUTED BY HASH(log_type) BUCKETS 10; ---------------------3-------------------- -CREATE TABLE IF NOT EXISTS example_tbl_agg -( - user_id LARGEINT NOT NULL, - load_dt DATE NOT NULL, - city VARCHAR(20), - last_visit_dt DATETIME REPLACE DEFAULT "1970-01-01 00:00:00", - cost BIGINT SUM DEFAULT "0", - max_dwell INT MAX DEFAULT "0", -) -AGGREGATE KEY(user_id, load_dt, city) -DISTRIBUTED BY HASH(user_id) BUCKETS 10; ---------------------4-------------------- -CREATE TABLE IF NOT EXISTS example_tbl_agg -( - user_id LARGEINT NOT NULL, - load_dt DATE NOT NULL, - city VARCHAR(20), - last_visit_dt DATETIME REPLACE DEFAULT "1970-01-01 00:00:00", - cost BIGINT SUM DEFAULT "0", - max_dwell INT MAX DEFAULT "0" -) -AGGREGATE KEY(user_id, load_dt, city) -PARTITION BY LIST(user_id, city) -( - PARTITION p1_city VALUES IN (("1", "Beijing"), ("1", "Shanghai")), - PARTITION p2_city VALUES IN (("2", "Beijing"), ("2", "Shanghai")), - PARTITION p3_city VALUES IN (("3", "Beijing"), ("3", "Shanghai")) -) -DISTRIBUTED BY HASH(user_id) BUCKETS 10; ---------------------5-------------------- -CREATE TABLE test_dynamic_partition( - order_id BIGINT, - create_dt DATE, - username VARCHAR(20) -) -DUPLICATE KEY(order_id) -PARTITION BY RANGE(create_dt)() -DISTRIBUTED BY HASH(order_id) BUCKETS 10 -PROPERTIES( - "dynamic_partition.enable" = "true", - "dynamic_partition.time_unit" = "DAY", - "dynamic_partition.start" = "-1", - "dynamic_partition.end" = "2", - "dynamic_partition.prefix" = "p", - "dynamic_partition.create_history_partition" = "true" -); \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/datasource/doris/DorisTableLineageTest.txt b/sqlparserx-engine/sqlparserx-core/src/test/resources/core/datasource/doris/DorisTableLineageTest.txt deleted file mode 100644 index b8efb56..0000000 --- a/sqlparserx-engine/sqlparserx-core/src/test/resources/core/datasource/doris/DorisTableLineageTest.txt +++ /dev/null @@ -1,22 +0,0 @@ ---------------------1-------------------- -insert into new_table -WITH -t1 AS ( - SELECT id, name - FROM demo_table -), -t3 AS ( - SELECT t1.id, t1.name - FROM t1 -), -t2 AS ( - SELECT t1.id, t1.name - FROM t3 -), -t4 AS ( - SELECT id1, name1 - FROM demo_table2 -) -SELECT * FROM t2 -union all -select * from t4 \ No newline at end of file diff --git a/sqlparserx-engine/sqlparserx-syntax/pom.xml b/sqlparserx-engine/sqlparserx-syntax/pom.xml deleted file mode 100644 index a39e19b..0000000 --- a/sqlparserx-engine/sqlparserx-syntax/pom.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - 4.0.0 - - - com.dtstack - sqlparserx-engine - 1.0-SNAPSHOT - - - sqlparserx-syntax - - - 8 - 8 - UTF-8 - - - - - com.alibaba - druid - - - - org.apache.commons - commons-lang3 - - - junit - junit - test - - - diff --git a/sqlparserx-engine/sqlparserx-syntax/src/main/java/com/dtstack/sqlparserx/syntax/SqlSyntaxParser.java b/sqlparserx-engine/sqlparserx-syntax/src/main/java/com/dtstack/sqlparserx/syntax/SqlSyntaxParser.java deleted file mode 100644 index a8408da..0000000 --- a/sqlparserx-engine/sqlparserx-syntax/src/main/java/com/dtstack/sqlparserx/syntax/SqlSyntaxParser.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.syntax; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; - -import java.util.List; - -/** - * SqlParserX 语法解析层统一契约。 - * - *

该接口只负责 SQL 文本到 Druid AST 的语法处理,不包含表解析、血缘等业务语义。

- */ -public interface SqlSyntaxParser { - - DbType getDbType(); - - SQLStatement parseStatement(String sql); - - List parseStatements(String sql); - - List split(String sql); - - List splitAndFormat(String sql); - - List splitByDruid(String sql); -} diff --git a/sqlparserx-engine/sqlparserx-syntax/src/main/java/com/dtstack/sqlparserx/syntax/SqlSyntaxParserFactory.java b/sqlparserx-engine/sqlparserx-syntax/src/main/java/com/dtstack/sqlparserx/syntax/SqlSyntaxParserFactory.java deleted file mode 100644 index 9cc9e18..0000000 --- a/sqlparserx-engine/sqlparserx-syntax/src/main/java/com/dtstack/sqlparserx/syntax/SqlSyntaxParserFactory.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.syntax; - -import com.dtstack.sqlparserx.syntax.druid.DruidSqlSyntaxParser; - -import com.alibaba.druid.DbType; - -/** SqlParserX 语法解析器工厂。 */ -public final class SqlSyntaxParserFactory { - - private SqlSyntaxParserFactory() { - } - - public static SqlSyntaxParser getParser(DbType dbType) { - return new DruidSqlSyntaxParser(dbType); - } -} diff --git a/sqlparserx-engine/sqlparserx-syntax/src/main/java/com/dtstack/sqlparserx/syntax/druid/DruidSqlSyntaxParser.java b/sqlparserx-engine/sqlparserx-syntax/src/main/java/com/dtstack/sqlparserx/syntax/druid/DruidSqlSyntaxParser.java deleted file mode 100644 index 927e206..0000000 --- a/sqlparserx-engine/sqlparserx-syntax/src/main/java/com/dtstack/sqlparserx/syntax/druid/DruidSqlSyntaxParser.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.syntax.druid; - -import com.dtstack.sqlparserx.syntax.SqlSyntaxParser; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.parser.Lexer; -import com.alibaba.druid.sql.parser.SQLParserUtils; -import com.alibaba.druid.sql.parser.SQLStatementParser; -import com.alibaba.druid.sql.parser.Token; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** 基于 Druid 的默认语法解析实现。 */ -public class DruidSqlSyntaxParser implements SqlSyntaxParser { - - private final DbType dbType; - - public DruidSqlSyntaxParser(DbType dbType) { - this.dbType = dbType; - } - - @Override - public DbType getDbType() { - return dbType; - } - - @Override - public SQLStatement parseStatement(String sql) { - return createParser(sql).parseStatement(); - } - - @Override - public List parseStatements(String sql) { - return createParser(sql).parseStatementList(); - } - - @Override - public List split(String sql) { - List result = new ArrayList<>(); - SQLStatementParser parser = createParser(sql); - Lexer lexer = parser.getLexer(); - int startIndex = 0; - while (true) { - SQLStatement statement = parser.parseStatement(); - if (statement == null) { - break; - } - int backLength = lexer.token().name != null ? lexer.token().name.length() : 0; - int endIndex = lexer.pos() - backLength; - result.add(sql.substring(startIndex, endIndex).trim()); - startIndex = endIndex; - if (lexer.token() == Token.EOF) { - break; - } - } - return result; - } - - @Override - public List splitAndFormat(String sql) { - return parseStatements(sql).stream().map(SQLStatement::toString).collect(Collectors.toList()); - } - - @Override - public List splitByDruid(String sql) { - return SQLParserUtils.split(sql, dbType); - } - - private SQLStatementParser createParser(String sql) { - return SQLParserUtils.createSQLStatementParser(sql, dbType); - } -} diff --git a/sqlparserx-engine/sqlparserx-syntax/src/test/java/com/dtstack/sqlparserx/syntax/DruidSqlSyntaxParserTest.java b/sqlparserx-engine/sqlparserx-syntax/src/test/java/com/dtstack/sqlparserx/syntax/DruidSqlSyntaxParserTest.java deleted file mode 100644 index 2aa3ca0..0000000 --- a/sqlparserx-engine/sqlparserx-syntax/src/test/java/com/dtstack/sqlparserx/syntax/DruidSqlSyntaxParserTest.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.syntax; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; -import org.junit.Assert; -import org.junit.Test; - -import java.util.List; - -public class DruidSqlSyntaxParserTest { - - private final SqlSyntaxParser parser = SqlSyntaxParserFactory.getParser(DbType.mysql); - - @Test - public void shouldParseSingleStatement() { - SQLStatement statement = parser.parseStatement("select id from users"); - Assert.assertNotNull(statement); - } - - @Test - public void shouldParseAndSplitMultipleStatements() { - String sql = "select 1; select 2;"; - Assert.assertEquals(2, parser.parseStatements(sql).size()); - List statements = parser.splitAndFormat(sql); - Assert.assertEquals(2, statements.size()); - } -} diff --git a/sqlparserx-mcp-server-sse/config/eclipse-formatter.xml b/sqlparserx-mcp-server-sse/config/eclipse-formatter.xml deleted file mode 100644 index ddf190f..0000000 --- a/sqlparserx-mcp-server-sse/config/eclipse-formatter.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/sqlparserx-mcp-server-sse/config/license-header.txt b/sqlparserx-mcp-server-sse/config/license-header.txt deleted file mode 100644 index 2379dda..0000000 --- a/sqlparserx-mcp-server-sse/config/license-header.txt +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git a/sqlparserx-mcp-server-sse/pom.xml b/sqlparserx-mcp-server-sse/pom.xml deleted file mode 100644 index a173d7e..0000000 --- a/sqlparserx-mcp-server-sse/pom.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - 4.0.0 - - com.dtstack - SqlParserX - 1.0-SNAPSHOT - - - sqlparserx-mcp-server-sse - - - 17 - 17 - UTF-8 - - 1.0.0.2 - - 3.4.0 - - 1.0.0 - - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - org.springframework.ai - spring-ai-bom - ${spring-ai.version} - pom - import - - - - - - - org.springframework.ai - spring-ai-starter-mcp-server-webflux - - - - org.springframework - spring-web - - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - - - - com.dtstack - sqlparserx-syntax - 1.0-SNAPSHOT - - - org.projectlombok - lombok - - - - org.slf4j - slf4j-api - 2.0.9 - - - ch.qos.logback - logback-classic - 1.4.11 - - - - - - - false - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - - - false - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - - - false - - - true - - central-portal-snapshots - Central Portal Snapshots - https://central.sonatype.com/repository/maven-snapshots/ - - - - - - - - com.diffplug.spotless - spotless-maven-plugin - - - - ${project.basedir}/config/license-header.txt - package - - - ${project.basedir}/config/eclipse-formatter.xml - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.11.0 - - 17 - 17 - - - --add-exports=java.xml.crypto/com.sun.org.slf4j.internal=ALL-UNNAMED - - --add-opens=java.base/java.lang=ALL-UNNAMED - --add-opens=java.base/java.util=ALL-UNNAMED - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - --add-exports=java.xml.crypto/com.sun.org.slf4j.internal=ALL-UNNAMED - - - - - - repackage - - - - - - - - diff --git a/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/McpServerApplication.java b/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/McpServerApplication.java deleted file mode 100644 index a25ff14..0000000 --- a/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/McpServerApplication.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx; - -import com.dtstack.sqlparserx.service.SqlParserToolService; - -import org.springframework.ai.tool.ToolCallbackProvider; -import org.springframework.ai.tool.method.MethodToolCallbackProvider; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.Bean; - -@SpringBootApplication -public class McpServerApplication { - - public static void main(String[] args) { - SpringApplication.run(McpServerApplication.class, args); - } - - @Bean - public ToolCallbackProvider weatherTools(SqlParserToolService sqlParserToolService) { - return MethodToolCallbackProvider.builder().toolObjects(sqlParserToolService).build(); - } -} diff --git a/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/enums/DataSourceType2DbType.java b/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/enums/DataSourceType2DbType.java deleted file mode 100644 index aabd185..0000000 --- a/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/enums/DataSourceType2DbType.java +++ /dev/null @@ -1,238 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.enums; - -import com.alibaba.druid.DbType; - -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.Set; - -/** - * DatasourceType映射 - */ -public enum DataSourceType2DbType { - ORACLE(DbType.oracle, new HashSet<>(Arrays.asList(DatasourceTypeEnum.ORACLE.getCode()))), OCEANBASE_ORACLE( - DbType.oceanbase_oracle, new HashSet<>(Arrays.asList(DatasourceTypeEnum.OCEANBASE_ORACLE - .getCode()))), MYSQL(DbType.mysql, new HashSet<>(Arrays.asList(DatasourceTypeEnum.MYSQL - .getCode()))), TIDB(DbType.mysql, new HashSet<>(Arrays.asList(DatasourceTypeEnum.TIDB - .getCode()))), MARIADB(DbType.mariadb, new HashSet<>(Arrays.asList( - DatasourceTypeEnum.MARIADB.getCode()))), GOLDENDB(DbType.mysql, - new HashSet<>(Arrays.asList(DatasourceTypeEnum.GOLDENDB - .getCode()))), OCEANBASE(DbType.oceanbase, new HashSet<>( - Arrays.asList(DatasourceTypeEnum.OCEANBASE - .getCode()))), DRDS(DbType.drds, - new HashSet<>(Arrays.asList( - DatasourceTypeEnum.DRDS - .getCode()))), POLARDBX( - DbType.polardb, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.POLARDBX - .getCode()))), ELASTIC_SEARCH( - DbType.elastic_search, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.ELASTIC_SEARCH - .getCode()))), POSTGRESQL( - DbType.postgresql, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.POSTGRESQL - .getCode()))), GREENPLUM( - DbType.postgresql, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.GREENPLUM - .getCode()))), EDB( - DbType.edb, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.EDB - .getCode()))), GAUSSDB( - DbType.postgresql, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.GAUSSDB - .getCode()))), HOLOGRES( - DbType.postgresql, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.HOLOGRES - .getCode()))), REDSHIFT( - DbType.postgresql, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.REDSHIFT - .getCode()))), SQLSERVER( - DbType.sqlserver, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.SQLSERVER - .getCode()))), JTDS( - DbType.jtds, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.JTDS - .getCode()))), H2( - DbType.h2, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.H2 - .getCode()))), LEALONE( - DbType.lealone, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.LEALONE - .getCode()))), BLINK( - DbType.blink, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.BLINK - .getCode()))), DB2( - DbType.db2, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.DB2 - .getCode()))), ODPS( - DbType.odps, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.ODPS - .getCode()))), PHOENIX( - DbType.phoenix, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.PHOENIX - .getCode()))), HIVE( - DbType.hive, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.HIVE - .getCode()))), PRESTO( - DbType.presto, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.PRESTO - .getCode()))), TRINO( - DbType.trino, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.TRINO - .getCode()))), ATHENA( - DbType.athena, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.ATHENA - .getCode()))), BIGQUERY( - DbType.bigquery, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.BIGQUERY - .getCode()))), SNOWFLAKE( - DbType.snowflake, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.SNOWFLAKE - .getCode()))), SPARK( - DbType.spark, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.SPARK - .getCode()))), CLICKHOUSE( - DbType.clickhouse, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.CLICKHOUSE - .getCode()))), STARROCKS( - DbType.starrocks, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.STARROCKS - .getCode()))), INFORMIX( - DbType.informix, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.INFORMIX - .getCode()))), IMPALA( - DbType.impala, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.IMPALA - .getCode()))), DORIS( - DbType.doris, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.DORIS - .getCode()))), OSCAR( - DbType.oscar, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.OSCAR - .getCode()))), TERADATA( - DbType.teradata, - new HashSet<>( - Arrays.asList( - DatasourceTypeEnum.TERADATA - .getCode()))); - - private final Set codes; - private final DbType dbType; - - DataSourceType2DbType(DbType dbType, Set codes) { - this.dbType = dbType; - this.codes = Collections.unmodifiableSet(new HashSet<>(codes)); // 确保不可变 - } - - public Set getCodes() { - return codes; - } - - public DbType getDbType() { - return dbType; - } - - /** - * 根据数据源类型代码获取对应的DbType - * @param dataSourceType 数据源类型代码 - * @return 对应的DbType,如果找不到则返回mysql - */ - public static DbType getDbType(int dataSourceType) { - for (DataSourceType2DbType type : values()) { - if (type.getCodes().contains(dataSourceType)) { - return type.getDbType(); - } - } - return DbType.mysql; - } - - /** - * 根据数据源类型代码获取对应的枚举实例 - * @param dataSourceType 数据源类型代码 - * @return 对应的枚举实例,如果找不到则返回MYSQL - */ - public static DataSourceType2DbType getByCode(int dataSourceType) { - for (DataSourceType2DbType type : values()) { - if (type.getCodes().contains(dataSourceType)) { - return type; - } - } - return DataSourceType2DbType.MYSQL; - } -} \ No newline at end of file diff --git a/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/enums/DatasourceTypeEnum.java b/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/enums/DatasourceTypeEnum.java deleted file mode 100644 index 23dd066..0000000 --- a/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/enums/DatasourceTypeEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.enums; - -public enum DatasourceTypeEnum { - - ORACLE(1), OCEANBASE_ORACLE(2), MYSQL(3), TIDB(4), MARIADB(5), GOLDENDB(6), OCEANBASE(7), DRDS(8), POLARDBX( - 9), ELASTIC_SEARCH(10), POSTGRESQL(11), GREENPLUM(12), EDB(13), GAUSSDB(14), HOLOGRES(15), REDSHIFT( - 16), SQLSERVER(17), JTDS(18), H2(19), LEALONE(20), BLINK(21), DB2(22), ODPS(23), PHOENIX(24), HIVE( - 25), PRESTO(26), TRINO(27), ATHENA(28), BIGQUERY(29), SNOWFLAKE(30), SPARK(31), CLICKHOUSE( - 32), STARROCKS(33), INFORMIX(34), IMPALA(35), DORIS(36), OSCAR(37), TERADATA(38); - - private final int code; - - DatasourceTypeEnum(int code) { - this.code = code; - } - - public int getCode() { - return code; - } -} \ No newline at end of file diff --git a/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/service/SqlParserToolService.java b/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/service/SqlParserToolService.java deleted file mode 100644 index aaf468c..0000000 --- a/sqlparserx-mcp-server-sse/src/main/java/com/dtstack/sqlparserx/service/SqlParserToolService.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.service; - -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; -import com.dtstack.sqlparserx.enums.DataSourceType2DbType; -import com.dtstack.sqlparserx.enums.DatasourceTypeEnum; - -import com.alibaba.druid.DbType; -import lombok.extern.slf4j.Slf4j; -import org.springframework.ai.tool.annotation.Tool; -import org.springframework.ai.tool.annotation.ToolParam; -import org.springframework.stereotype.Service; - -import java.util.Set; - -@Service -@Slf4j -public class SqlParserToolService { - - /** - * 获取当前支持的所有数据源类型 - * @return 支持的数据源类型描述字符串 - */ - @Tool(description = "获取当前支持的所有数据源类型,包含数据源类型名称 & datasourceType(int数字)") - public String getSupportedDataSourceTypes() { - log.info("查询getSupportedDataSourceTypes"); - StringBuilder sb = new StringBuilder(); - for (DatasourceTypeEnum type : DatasourceTypeEnum.values()) { - sb.append(type.name()) - .append(" (dataSourceType: ").append(type.getCode()) - .append(", 数据源名称: ").append(type.name()) - .append(")\n"); - } - return sb.toString(); - } - - /** - * 解析SQL中的真实表 - * @param dataSourceType 数据源类型代码 - * @param sql 需要解析的SQL语句 - * @return 解析表结果对象 - */ - @Tool(description = "解析SQL中的所有真实表名,解析调用之前确认datasourceType真实数字") - public String parseTables( - @ToolParam(description = "数据源类型是数字,需要调用tools工具getSupportedDataSourceTypes获取数据源的dataSourceType") int dataSourceType, - @ToolParam(description = "需要解析的SQL语句") String sql) { - log.info(String.format("数据源类型:%s,sql为:%s", dataSourceType, sql)); - DbType dbType = DataSourceType2DbType.getDbType(dataSourceType); - ISqlParser sqlParser = SqlParserFactory.getSqlParser(dbType); - ParseTableResult parseTableResult = sqlParser.parseTables(sql); - String res = String.format("主表为:%s, 解析到的真实表为:%s", - parseTableResult.getMainTable().toString(), - parseTableResult.getAllTableName().toString()); - log.info("解析表结果为:{}", res); - return res; - } - - /** - * 解析SQL中的字段血缘关系 - * @param dataSourceType 数据源类型代码 - * @param sql 需要解析的SQL语句 - * @return 字段血缘解析结果 - */ - @Tool(description = "解析SQL中的真实字段血缘关系,解析调用之前确认datasourceType真实数字") - public String parseColumnLineages( - @ToolParam(description = "数据源类型是数字,需要调用tools工具getSupportedDataSourceTypes获取数据源的dataSourceType") int dataSourceType, - @ToolParam(description = "需要解析的SQL语句") String sql) { - log.info(String.format("数据源类型:%s,sql为:%s", dataSourceType, sql)); - DbType dbType = DataSourceType2DbType.getDbType(dataSourceType); - ISqlParser sqlParser = SqlParserFactory.getSqlParser(dbType); - ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, null); - String res = columnLineageResult.getColumnLineages().toString(); - log.info("解析字段血缘结果为:{}", res); - return res; - } - - /** - * 解析SQL中的表血缘关系 - * @param dataSourceType 数据源类型代码 - * @param sql 需要解析的SQL语句 - * @return 表血缘解析结果 - */ - @Tool(description = "解析SQL中的真实表血缘关系,解析调用之前确认datasourceType真实数字") - public String parseTableLineages( - @ToolParam(description = "数据源类型是数字,需要调用tools工具getSupportedDataSourceTypes获取数据源的dataSourceType") int dataSourceType, - @ToolParam(description = "需要解析的SQL语句") String sql) { - log.info(String.format("数据源类型:%s,sql为:%s", dataSourceType, sql)); - DbType dbType = DataSourceType2DbType.getDbType(dataSourceType); - ISqlParser sqlParser = SqlParserFactory.getSqlParser(dbType); - TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql); - String res = tableLineageResult.getTableLineages().toString(); - log.info("解析表血缘结果为:{}", res); - return res; - } - - /** - * 解析SQL中的函数 - * @param dataSourceType 数据源类型代码 - * @param sql 需要解析的SQL语句 - * @return 函数名称集合 - */ - @Tool(description = "解析SQL中的所有函数名,解析调用之前确认datasourceType真实数字") - public String parseFunction( - @ToolParam(description = "数据源类型是数字,需要调用tools工具getSupportedDataSourceTypes获取数据源的dataSourceType") int dataSourceType, - @ToolParam(description = "需要解析的SQL语句") String sql) { - log.info(String.format("数据源类型:%s,sql为:%s", dataSourceType, sql)); - DbType dbType = DataSourceType2DbType.getDbType(dataSourceType); - ISqlParser sqlParser = SqlParserFactory.getSqlParser(dbType); - Set functions = sqlParser.parseFunction(sql); - String res = functions.toString(); - log.info("解析真实函数结果为:{}", res); - return res; - } -} \ No newline at end of file diff --git a/sqlparserx-mcp-server-sse/src/main/resources/application.yaml b/sqlparserx-mcp-server-sse/src/main/resources/application.yaml deleted file mode 100644 index a824eb5..0000000 --- a/sqlparserx-mcp-server-sse/src/main/resources/application.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# Using spring-ai-starter-mcp-server-webmvc -spring: - application: - name: mcp-server - main: - web-application-type: reactive - banner-mode: off - ai: - mcp: - server: - name: sqlparserx-sse - version: 1.0.0 - type: ASYNC - stdio: false - sse: true - sse-endpoint: /sse - capabilities: - tool: true - resource: true - prompt: true - completion: true -server: - port: 8067 \ No newline at end of file diff --git a/sqlparserx-ui/.env b/sqlparserx-ui/.env deleted file mode 100644 index cd41370..0000000 --- a/sqlparserx-ui/.env +++ /dev/null @@ -1 +0,0 @@ -VITE_API_URL=http://localhost:3000 \ No newline at end of file diff --git a/sqlparserx-ui/.env.development b/sqlparserx-ui/.env.development deleted file mode 100644 index 1bb4252..0000000 --- a/sqlparserx-ui/.env.development +++ /dev/null @@ -1 +0,0 @@ -VITE_API_URL=http://localhost:8888 \ No newline at end of file diff --git a/sqlparserx-ui/.env.production b/sqlparserx-ui/.env.production deleted file mode 100644 index 91b4a81..0000000 --- a/sqlparserx-ui/.env.production +++ /dev/null @@ -1 +0,0 @@ -VITE_API_URL=http://172.16.114.23:16758 diff --git a/sqlparserx-ui/.gitignore b/sqlparserx-ui/.gitignore deleted file mode 100644 index a547bf3..0000000 --- a/sqlparserx-ui/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/sqlparserx-ui/README.md b/sqlparserx-ui/README.md deleted file mode 100644 index 1511959..0000000 --- a/sqlparserx-ui/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Vue 3 + Vite - -This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` - - - SqlParserX - 多方言 SQL 解析引擎 - - -
- - - diff --git a/sqlparserx-ui/package-lock.json b/sqlparserx-ui/package-lock.json deleted file mode 100644 index 4668496..0000000 --- a/sqlparserx-ui/package-lock.json +++ /dev/null @@ -1,1516 +0,0 @@ -{ - "name": "sqlparserx-ui", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "sqlparserx-ui", - "version": "0.0.0", - "dependencies": { - "axios": "^1.9.0", - "echarts": "^5.4.0", - "element-ui": "^2.15.14", - "vue": "^2.7.16", - "vue-router": "^3.6.5" - }, - "devDependencies": { - "@vitejs/plugin-vue2": "^2.3.1", - "cross-env": "^7.0.3", - "vite": "^5.4.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.27.0", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.0.tgz", - "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/types": { - "version": "7.27.0", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.27.0.tgz", - "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.39.0.tgz", - "integrity": "sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.39.0.tgz", - "integrity": "sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.39.0.tgz", - "integrity": "sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.39.0.tgz", - "integrity": "sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.39.0.tgz", - "integrity": "sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.39.0.tgz", - "integrity": "sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.39.0.tgz", - "integrity": "sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.39.0.tgz", - "integrity": "sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.39.0.tgz", - "integrity": "sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.39.0.tgz", - "integrity": "sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.39.0.tgz", - "integrity": "sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.39.0.tgz", - "integrity": "sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.39.0.tgz", - "integrity": "sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.39.0.tgz", - "integrity": "sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.39.0.tgz", - "integrity": "sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.39.0.tgz", - "integrity": "sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.39.0.tgz", - "integrity": "sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.39.0.tgz", - "integrity": "sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.39.0.tgz", - "integrity": "sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.39.0.tgz", - "integrity": "sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vitejs/plugin-vue2": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue2/-/plugin-vue2-2.3.1.tgz", - "integrity": "sha512-/ksaaz2SRLN11JQhLdEUhDzOn909WEk99q9t9w+N12GjQCljzv7GyvAbD/p20aBUjHkvpGOoQ+FCOkG+mjDF4A==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.18.0 || >= 16.0.0" - }, - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0", - "vue": "^2.7.0-0" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "2.7.16", - "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", - "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", - "dependencies": { - "@babel/parser": "^7.23.5", - "postcss": "^8.4.14", - "source-map": "^0.6.1" - }, - "optionalDependencies": { - "prettier": "^1.18.2 || ^2.0.0" - } - }, - "node_modules/async-validator": { - "version": "1.8.5", - "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-1.8.5.tgz", - "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", - "dependencies": { - "babel-runtime": "6.x" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.9.0", - "resolved": "https://registry.npmmirror.com/axios/-/axios-1.9.0.tgz", - "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/babel-helper-vue-jsx-merge-props": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", - "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==", - "license": "MIT" - }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", - "license": "MIT", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true, - "license": "MIT" - }, - "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" - }, - "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/echarts": { - "version": "5.6.0", - "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz", - "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "2.3.0", - "zrender": "5.6.1" - } - }, - "node_modules/element-ui": { - "version": "2.15.14", - "resolved": "https://registry.npmmirror.com/element-ui/-/element-ui-2.15.14.tgz", - "integrity": "sha512-2v9fHL0ZGINotOlRIAJD5YuVB8V7WKxrE9Qy7dXhRipa035+kF7WuU/z+tEmLVPBcJ0zt8mOu1DKpWcVzBK8IA==", - "license": "MIT", - "dependencies": { - "async-validator": "~1.8.1", - "babel-helper-vue-jsx-merge-props": "^2.0.0", - "deepmerge": "^1.2.0", - "normalize-wheel": "^1.0.1", - "resize-observer-polyfill": "^1.5.0", - "throttle-debounce": "^1.0.1" - }, - "peerDependencies": { - "vue": "^2.5.17" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/normalize-wheel": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/normalize-wheel/-/normalize-wheel-1.0.1.tgz", - "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==", - "license": "BSD-3-Clause" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "license": "MIT", - "optional": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" - }, - "node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "license": "MIT" - }, - "node_modules/resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", - "license": "MIT" - }, - "node_modules/rollup": { - "version": "4.39.0", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.39.0.tgz", - "integrity": "sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.7" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.39.0", - "@rollup/rollup-android-arm64": "4.39.0", - "@rollup/rollup-darwin-arm64": "4.39.0", - "@rollup/rollup-darwin-x64": "4.39.0", - "@rollup/rollup-freebsd-arm64": "4.39.0", - "@rollup/rollup-freebsd-x64": "4.39.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.39.0", - "@rollup/rollup-linux-arm-musleabihf": "4.39.0", - "@rollup/rollup-linux-arm64-gnu": "4.39.0", - "@rollup/rollup-linux-arm64-musl": "4.39.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.39.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.39.0", - "@rollup/rollup-linux-riscv64-gnu": "4.39.0", - "@rollup/rollup-linux-riscv64-musl": "4.39.0", - "@rollup/rollup-linux-s390x-gnu": "4.39.0", - "@rollup/rollup-linux-x64-gnu": "4.39.0", - "@rollup/rollup-linux-x64-musl": "4.39.0", - "@rollup/rollup-win32-arm64-msvc": "4.39.0", - "@rollup/rollup-win32-ia32-msvc": "4.39.0", - "@rollup/rollup-win32-x64-msvc": "4.39.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/throttle-debounce": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-1.1.0.tgz", - "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", - "license": "0BSD" - }, - "node_modules/vite": { - "version": "5.4.17", - "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.17.tgz", - "integrity": "sha512-5+VqZryDj4wgCs55o9Lp+p8GE78TLVg0lasCH5xFZ4jacZjtqZa6JUw9/p0WeAojaOfncSM6v77InkFPGnvPvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vue": { - "version": "2.7.16", - "resolved": "https://registry.npmmirror.com/vue/-/vue-2.7.16.tgz", - "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", - "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.", - "license": "MIT", - "dependencies": { - "@vue/compiler-sfc": "2.7.16", - "csstype": "^3.1.0" - } - }, - "node_modules/vue-router": { - "version": "3.6.5", - "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-3.6.5.tgz", - "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==", - "license": "MIT" - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/zrender": { - "version": "5.6.1", - "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz", - "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==", - "license": "BSD-3-Clause", - "dependencies": { - "tslib": "2.3.0" - } - } - } -} diff --git a/sqlparserx-ui/package.json b/sqlparserx-ui/package.json deleted file mode 100644 index 8486bb5..0000000 --- a/sqlparserx-ui/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "sqlparserx-ui", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite --mode development", - "pro": "vite --mode production", - "build:dev": "vite build --mode development", - "build:prod": "vite build --mode production", - "validate:demos": "node scripts/validate-demo-sql.mjs", - "preview": "vite preview" - }, - "dependencies": { - "axios": "^1.9.0", - "echarts": "^5.4.0", - "element-ui": "^2.15.14", - "vue": "^2.7.16", - "vue-router": "^3.6.5" - }, - "devDependencies": { - "@vitejs/plugin-vue2": "^2.3.1", - "cross-env": "^7.0.3", - "vite": "^5.4.0" - } -} diff --git a/sqlparserx-ui/public/vite.svg b/sqlparserx-ui/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/sqlparserx-ui/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/sqlparserx-ui/scripts/validate-demo-sql.mjs b/sqlparserx-ui/scripts/validate-demo-sql.mjs deleted file mode 100644 index 30395cc..0000000 --- a/sqlparserx-ui/scripts/validate-demo-sql.mjs +++ /dev/null @@ -1,120 +0,0 @@ -import { readdir, readFile } from 'node:fs/promises' -import { join, relative } from 'node:path' -import { fileURLToPath } from 'node:url' - -const demoRoot = fileURLToPath(new URL('../src/demos/sql/', import.meta.url)) -const baseUrl = (process.env.DEMO_SQL_API_BASE_URL || 'http://127.0.0.1:16758').replace(/\/$/, '') -const tools = { - 'lineage': { path: '/api/lineage/column/query', bodyType: 'text' }, - 'sql-splitter': { path: '/api/sql/split', bodyType: 'text' }, - 'syntax-validator': { path: '/api/datasource/grammarCheck', bodyType: 'text' }, - 'table-parser': { path: '/api/datasource/parseTables', bodyType: 'json' }, - 'create-table-parser': { path: '/api/datasource/parseCreateTable', bodyType: 'json' }, - 'parameter-workbench': { path: '/api/parameter/parse', bodyType: 'json' } -} - -async function listSqlFiles(directory) { - const entries = await readdir(directory, { withFileTypes: true }) - const nested = await Promise.all(entries.map(entry => { - const path = join(directory, entry.name) - return entry.isDirectory() ? listSqlFiles(path) : entry.name.endsWith('.sql') ? [path] : [] - })) - return nested.flat() -} - -function makeRequest(tool, datasourceType, sql) { - const definition = tools[tool] - const query = definition.bodyType === 'text' ? `?datasourceType=${datasourceType}` : '' - const url = `${baseUrl}${definition.path}${query}` - const headers = { 'Content-Type': definition.bodyType === 'text' ? 'text/plain' : 'application/json' } - let body = sql - - if (tool === 'table-parser' || tool === 'create-table-parser') { - body = JSON.stringify({ datasourceType, sql }) - } else if (tool === 'parameter-workbench') { - body = JSON.stringify({ - datasourceType, - sql, - ignoreSyntaxCheck: false, - tableColumnsMap: { - users: [ - { name: 'id', type: 'BIGINT' }, - { name: 'name', type: 'VARCHAR(64)' }, - { name: 'status', type: 'VARCHAR(32)' }, - { name: 'tenant_id', type: 'BIGINT' } - ] - } - }) - } - - return fetch(url, { method: 'POST', headers, body }) -} - -function parseDemoContent(rawSql) { - const lines = rawSql.split(/\r?\n/) - const metadata = {} - let firstSqlLine = 0 - while (firstSqlLine < lines.length) { - const entry = lines[firstSqlLine].match(/^\s*--\s*demo-(title|min-relations):\s*(.*?)\s*$/i) - if (!entry) break - metadata[entry[1].toLowerCase()] = entry[2] - firstSqlLine += 1 - } - return { - sql: lines.slice(firstSqlLine).join('\n').trim(), - minRelations: Number(metadata['min-relations']) || 0 - } -} - -const typesResponse = await fetch(`${baseUrl}/api/datasource/types`) -if (!typesResponse.ok) throw new Error(`Cannot read data-source types from ${baseUrl}: HTTP ${typesResponse.status}`) -const typesPayload = await typesResponse.json() -const dataSources = typesPayload.data || [] -if (!dataSources.length) throw new Error('The API returned no data-source types.') - -const demos = new Map() -for (const file of await listSqlFiles(demoRoot)) { - const parts = relative(demoRoot, file).split(/[\\/]/) - if (parts.length !== 3) continue - const [tool, dialect, filename] = parts - const { sql, minRelations } = parseDemoContent(await readFile(file, 'utf8')) - if (!sql) throw new Error(`Empty demo SQL: ${file}`) - if (!demos.has(tool)) demos.set(tool, new Map()) - const dialectDemos = demos.get(tool) - if (!dialectDemos.has(dialect.toUpperCase())) dialectDemos.set(dialect.toUpperCase(), new Map()) - dialectDemos.get(dialect.toUpperCase()).set(filename.replace(/\.sql$/i, ''), { file, sql, minRelations }) -} - -let passed = 0 -const failures = [] -for (const [tool, dialectDemos] of demos) { - for (const source of dataSources) { - const common = dialectDemos.get('COMMON') || new Map() - const specific = dialectDemos.get(String(source.label).toUpperCase()) || new Map() - const scenes = new Set([...common.keys(), ...specific.keys()]) - for (const scene of scenes) { - const demo = specific.get(scene) || common.get(scene) - try { - const response = await makeRequest(tool, source.value, demo.sql) - const payload = await response.json() - if (!response.ok || payload.code !== 200) { - failures.push(`${tool}/${source.label}/${scene}: ${payload.msg || `HTTP ${response.status}`}`) - } else if (tool === 'lineage' && (!payload.data?.relationData?.length - || payload.data.relationData.length < demo.minRelations)) { - failures.push(`${tool}/${source.label}/${scene}: expected at least ${demo.minRelations || 1} lineage relations, got ${payload.data?.relationData?.length || 0}`) - } else { - passed += 1 - console.log(`PASS ${tool}/${source.label}/${scene}`) - } - } catch (error) { - failures.push(`${tool}/${source.label}/${scene}: ${error.message}`) - } - } - } -} - -console.log(`\nValidated ${passed} demo/source combinations.`) -if (failures.length) { - console.error(`\n${failures.length} validation failure(s):\n${failures.join('\n')}`) - process.exitCode = 1 -} diff --git a/sqlparserx-ui/src/App.vue b/sqlparserx-ui/src/App.vue deleted file mode 100644 index 8c71e67..0000000 --- a/sqlparserx-ui/src/App.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/sqlparserx-ui/src/api/DatasourceApi.js b/sqlparserx-ui/src/api/DatasourceApi.js deleted file mode 100644 index 881ad68..0000000 --- a/sqlparserx-ui/src/api/DatasourceApi.js +++ /dev/null @@ -1,67 +0,0 @@ -// DatasourceApi.js -import request from '@/utils/request' - -/** - * 获取数据源类型列表 - * @returns {Promise>} 数据源类型数组 - */ -export function fetchDataSourceTypes() { - return request({ - url: '/api/datasource/types', - method: 'GET' - }) -} - -/** Load the data source options returned by the backend Core parser enum. */ -export async function loadDataSourceOptions(preferredName) { - const response = await fetchDataSourceTypes() - const options = Array.isArray(response && response.data) - ? response.data - .filter(option => option && Number.isFinite(Number(option.value))) - .map(option => ({ ...option, value: Number(option.value) })) - : [] - const preferred = options.find(option => option.label === preferredName) - - return { - options, - selectedValue: preferred ? preferred.value : (options.length ? options[0].value : null) - } -} - -export function parseTables(form) { - return request({ - url: '/api/datasource/parseTables', - method: 'post', - data: form - }) -} -// 新增:解析建表SQL -export function parseCreateTable(data) { - return request({ - url: '/api/datasource/parseCreateTable', - method: 'post', - data - }) -} - -/** 解析 SQL 中的输入参数、输出字段及其元数据绑定 */ -export function parseParameters(data) { - return request({ - url: '/api/parameter/parse', - method: 'post', - data - }) -} - -/** 将带变量 SQL 改写为预编译 SQL,并返回有序绑定值 */ -export function prepareCompile(data) { - return request({ - url: '/api/parameter/prepareCompile', - method: 'post', - data - }) -} - -export default { - fetchDataSourceTypes, loadDataSourceOptions, parseTables, parseCreateTable, parseParameters, prepareCompile -} diff --git a/sqlparserx-ui/src/api/LineageApi.js b/sqlparserx-ui/src/api/LineageApi.js deleted file mode 100644 index c5fc655..0000000 --- a/sqlparserx-ui/src/api/LineageApi.js +++ /dev/null @@ -1,26 +0,0 @@ -import request from '@/utils/request' - -function queryLineage(url, sql, dataSourceType) { - return request({ - url, - method: 'POST', - headers: { 'Content-Type': 'text/plain' }, - data: sql, - params: { datasourceType: dataSourceType } - }) -} - -/** 调用字段血缘解析接口。 */ -export function analyzeColumnLineage(sql, dataSourceType) { - return queryLineage('/api/lineage/column/query', sql, dataSourceType) -} - -/** 调用表血缘解析接口。 */ -export function analyzeTableLineage(sql, dataSourceType) { - return queryLineage('/api/lineage/table/query', sql, dataSourceType) -} - -// 保留原有调用名称,默认解析字段血缘。 -export const analyzeSQL = analyzeColumnLineage - -export default { analyzeSQL, analyzeColumnLineage, analyzeTableLineage } diff --git a/sqlparserx-ui/src/api/sqlparser.js b/sqlparserx-ui/src/api/sqlparser.js deleted file mode 100644 index c87a62f..0000000 --- a/sqlparserx-ui/src/api/sqlparser.js +++ /dev/null @@ -1,48 +0,0 @@ -// sqlparser.js -import request from '@/utils/request' - - -/** - * 切分SQL语句 - * @param {string} sql - 要切分的SQL语句 - * @param {number} datasourceType - 数据源类型 - * @returns {Promise>} 切分后的SQL语句数组 - */ -export function splitSQL(sql, datasourceType) { - return request({ - url: '/api/sql/split', - method: 'POST', - headers: { - 'Content-Type': 'text/plain' - }, - params: { - datasourceType: datasourceType - }, - data: sql - }) -} - -/** - * 验证SQL语法 - * @param {string} sql - 要验证的SQL语句 - * @param {number} datasourceType - 数据源类型 - * @returns {Promise} 验证结果对象 - */ -export function validateSQL(sql, datasourceType) { - return request({ - url: '/api/datasource/grammarCheck', - method: 'POST', - headers: { - 'Content-Type': 'text/plain' - }, - params: { - datasourceType: datasourceType - }, - data: sql - }) -} - -export default { - splitSQL, - validateSQL -} \ No newline at end of file diff --git a/sqlparserx-ui/src/assets/vue.svg b/sqlparserx-ui/src/assets/vue.svg deleted file mode 100644 index 770e9d3..0000000 --- a/sqlparserx-ui/src/assets/vue.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/sqlparserx-ui/src/components/CreateTableParser.vue b/sqlparserx-ui/src/components/CreateTableParser.vue deleted file mode 100644 index 2d66fa6..0000000 --- a/sqlparserx-ui/src/components/CreateTableParser.vue +++ /dev/null @@ -1,665 +0,0 @@ - - - - - diff --git a/sqlparserx-ui/src/components/DemoSqlSelector.vue b/sqlparserx-ui/src/components/DemoSqlSelector.vue deleted file mode 100644 index 3cf3432..0000000 --- a/sqlparserx-ui/src/components/DemoSqlSelector.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - - - diff --git a/sqlparserx-ui/src/components/HelloWorld.vue b/sqlparserx-ui/src/components/HelloWorld.vue deleted file mode 100644 index 51a0be6..0000000 --- a/sqlparserx-ui/src/components/HelloWorld.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - - \ No newline at end of file diff --git a/sqlparserx-ui/src/components/Home.vue b/sqlparserx-ui/src/components/Home.vue deleted file mode 100644 index 15c4f78..0000000 --- a/sqlparserx-ui/src/components/Home.vue +++ /dev/null @@ -1,485 +0,0 @@ - - - - - diff --git a/sqlparserx-ui/src/components/LineageVisualizer.vue b/sqlparserx-ui/src/components/LineageVisualizer.vue deleted file mode 100644 index 792b6ff..0000000 --- a/sqlparserx-ui/src/components/LineageVisualizer.vue +++ /dev/null @@ -1,1169 +0,0 @@ - - - - - diff --git a/sqlparserx-ui/src/components/MockupTerminal.vue b/sqlparserx-ui/src/components/MockupTerminal.vue deleted file mode 100644 index 9d2ac71..0000000 --- a/sqlparserx-ui/src/components/MockupTerminal.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - - - \ No newline at end of file diff --git a/sqlparserx-ui/src/components/NavDropdown.vue b/sqlparserx-ui/src/components/NavDropdown.vue deleted file mode 100644 index 8c5cd74..0000000 --- a/sqlparserx-ui/src/components/NavDropdown.vue +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - diff --git a/sqlparserx-ui/src/components/ParameterWorkbench.vue b/sqlparserx-ui/src/components/ParameterWorkbench.vue deleted file mode 100644 index 6e687ab..0000000 --- a/sqlparserx-ui/src/components/ParameterWorkbench.vue +++ /dev/null @@ -1,570 +0,0 @@ - - - - - diff --git a/sqlparserx-ui/src/components/SQLSplitterTester.vue b/sqlparserx-ui/src/components/SQLSplitterTester.vue deleted file mode 100644 index eb7b047..0000000 --- a/sqlparserx-ui/src/components/SQLSplitterTester.vue +++ /dev/null @@ -1,375 +0,0 @@ - - - - - diff --git a/sqlparserx-ui/src/components/SyntaxValidator.vue b/sqlparserx-ui/src/components/SyntaxValidator.vue deleted file mode 100644 index a9895ea..0000000 --- a/sqlparserx-ui/src/components/SyntaxValidator.vue +++ /dev/null @@ -1,413 +0,0 @@ - - - - - diff --git a/sqlparserx-ui/src/components/TableParser.vue b/sqlparserx-ui/src/components/TableParser.vue deleted file mode 100644 index c2f45da..0000000 --- a/sqlparserx-ui/src/components/TableParser.vue +++ /dev/null @@ -1,523 +0,0 @@ - - - - - diff --git a/sqlparserx-ui/src/components/ToolCapabilityTip.vue b/sqlparserx-ui/src/components/ToolCapabilityTip.vue deleted file mode 100644 index ee2ad29..0000000 --- a/sqlparserx-ui/src/components/ToolCapabilityTip.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - diff --git a/sqlparserx-ui/src/demos/README.md b/sqlparserx-ui/src/demos/README.md deleted file mode 100644 index 1ffe3aa..0000000 --- a/sqlparserx-ui/src/demos/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# SQL Demo 样例维护 - -示例 SQL 由前端统一维护,目录结构为: - -```text -src/demos/sql/{工具}/{数据源方言}/{场景}.sql -``` - -例如: - -```text -sql/lineage/COMMON/insert-join.sql -sql/table-parser/MYSQL/cte-union.sql -sql/create-table-parser/DORIS/duplicate-key.sql -``` - -- `COMMON` 表示通用方言样例;没有某个数据源专用文件时会回退到它。 -- 专用方言目录中的同名场景会覆盖 `COMMON` 版本;也可以新增该方言独有场景。 -- 每个文件第一行可写 `-- demo-title: 场景名称`,用于界面展示;该元数据行不会载入编辑器。 -- 血缘示例可额外写 `-- demo-min-relations: 数量`,校验时要求后端至少返回这么多条血缘关系。 -- 工具目录使用 `lineage`、`sql-splitter`、`syntax-validator`、`table-parser`、`create-table-parser`、`parameter-workbench`。 - -新增或调整示例后,启动对应版本的 SqlParserX 服务,并运行: - -```bash -DEMO_SQL_API_BASE_URL=http://127.0.0.1:16758 npm run validate:demos -``` - -校验脚本会逐一调用对应工具接口,并覆盖服务端返回的所有数据源类型及其实际匹配到的示例。仓库现有解析用例可参考 `sqlparserx-engine/sqlparserx-core/src/test/resources`;前端示例保持为独立、精简的 SQL 文件,避免构建依赖测试资源目录。 diff --git a/sqlparserx-ui/src/demos/sql/create-table-parser/COMMON/basic-table.sql b/sqlparserx-ui/src/demos/sql/create-table-parser/COMMON/basic-table.sql deleted file mode 100644 index 4ea6e0b..0000000 --- a/sqlparserx-ui/src/demos/sql/create-table-parser/COMMON/basic-table.sql +++ /dev/null @@ -1,7 +0,0 @@ --- demo-title: 通用字段定义 -CREATE TABLE demo_users ( - id BIGINT, - name VARCHAR(100), - status VARCHAR(20), - created_at TIMESTAMP -); diff --git a/sqlparserx-ui/src/demos/sql/create-table-parser/DORIS/duplicate-key.sql b/sqlparserx-ui/src/demos/sql/create-table-parser/DORIS/duplicate-key.sql deleted file mode 100644 index ae53f54..0000000 --- a/sqlparserx-ui/src/demos/sql/create-table-parser/DORIS/duplicate-key.sql +++ /dev/null @@ -1,12 +0,0 @@ --- demo-title: Doris 明细表 + 分桶 -CREATE TABLE IF NOT EXISTS example_tbl_duplicate -( - log_time DATETIME NOT NULL, - log_type INT NOT NULL, - error_code INT, - error_msg VARCHAR(1024), - op_id BIGINT, - op_time DATETIME -) -DUPLICATE KEY(log_time, log_type, error_code) -DISTRIBUTED BY HASH(log_type) BUCKETS 10; diff --git a/sqlparserx-ui/src/demos/sql/lineage/COMMON/insert-join.sql b/sqlparserx-ui/src/demos/sql/lineage/COMMON/insert-join.sql deleted file mode 100644 index c4b31f9..0000000 --- a/sqlparserx-ui/src/demos/sql/lineage/COMMON/insert-join.sql +++ /dev/null @@ -1,6 +0,0 @@ --- demo-title: INSERT + JOIN 聚合血缘 -INSERT INTO demo_user_summary (user_id, user_name, total_amount) -SELECT u.id, u.name, SUM(o.amount) AS total_amount -FROM demo_users u -JOIN demo_orders o ON o.user_id = u.id -GROUP BY u.id, u.name; diff --git a/sqlparserx-ui/src/demos/sql/lineage/MYSQL/complex-aggregation-union.sql b/sqlparserx-ui/src/demos/sql/lineage/MYSQL/complex-aggregation-union.sql deleted file mode 100644 index 99ff013..0000000 --- a/sqlparserx-ui/src/demos/sql/lineage/MYSQL/complex-aggregation-union.sql +++ /dev/null @@ -1,237 +0,0 @@ --- demo-title: 多层子查询 + 聚合 + CASE + UNION 血缘 --- demo-min-relations: 15 -CREATE TABLE tz AS -SELECT - CURDATE() AS STAT_DATE, - '6' AS STAT_PRD, - f.SECURITYCODE, - f.SECURITYNAME, - f.all_num, - f.buy_num, - f.incr_num, - f.neut_num, - f.redu_num, - f.sell_num, - f.tg_num, - f.td_num, - f.kp_num, - f.rat_score, - CASE - WHEN f.rat_score >= 4.5 THEN '买入' - WHEN f.rat_score >= 3.5 THEN '增持' - WHEN f.rat_score >= 2.5 THEN '中性' - WHEN f.rat_score >= 1.5 THEN '减持' - ELSE '卖出' - END AS rat_desc -FROM ( - SELECT - p.SECURITYCODE, - p.SECURITYNAME, - p.all_num, - p.buy_num, - p.incr_num, - p.neut_num, - p.redu_num, - p.sell_num, - p.tg_num, - p.td_num, - p.kp_num, - (p.buy_num * 5 + p.incr_num * 4 + p.neut_num * 3 + p.redu_num * 2 + p.sell_num) / p.all_num AS rat_score - FROM ( - SELECT - t.SECURITYCODE, - t.SECURITYNAME, - COUNT(DISTINCT t.COMPANYCODE) AS all_num, - SUM(CASE WHEN t.EMRATINGVALUE = 1 THEN 1 ELSE 0 END) AS buy_num, - SUM(CASE WHEN t.EMRATINGVALUE = 2 THEN 1 ELSE 0 END) AS incr_num, - SUM(CASE WHEN t.EMRATINGVALUE = 3 THEN 1 ELSE 0 END) AS neut_num, - SUM(CASE WHEN t.EMRATINGVALUE = 4 THEN 1 ELSE 0 END) AS redu_num, - SUM(CASE WHEN t.EMRATINGVALUE = 5 THEN 1 ELSE 0 END) AS sell_num, - SUM(CASE WHEN t.RATINGCHANGE IN (0, 2) THEN 1 ELSE 0 END) AS tg_num, - SUM(CASE WHEN t.RATINGCHANGE = 1 THEN 1 ELSE 0 END) AS td_num, - SUM(CASE WHEN t.RATINGCHANGE NOT IN (0, 1, 2) OR t.RATINGCHANGE IS NULL THEN 1 ELSE 0 END) AS kp_num - FROM ( - SELECT DISTINCT - a.SECURITYCODE, - a.SECURITYNAME, - a.EMRATINGVALUE, - a.EMRATINGNAME, - c.RATINGCHANGE, - d.PARAMCHNAME, - a.COMPANYCODE, - a.COMPANYNAME - FROM INFO_RE_RATINGINFO a - INNER JOIN ( - SELECT SECURITYCODE, COMPANYCODE, MAX(PUBLISHDATE) AS PUBLISHDATE - FROM INFO_RE_RATINGINFO - WHERE PUBLISHDATE >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH) - GROUP BY SECURITYCODE, COMPANYCODE - ) b ON a.SECURITYCODE = b.SECURITYCODE - AND a.COMPANYCODE = b.COMPANYCODE - AND a.PUBLISHDATE = b.PUBLISHDATE - LEFT JOIN INFO_RE_BASINFO c ON a.INFOCODE = c.INFOCODE - LEFT JOIN CFP_PVALUE d ON c.RATINGCHANGE = d.PARAMCODE - AND d.NIPMID = '138000000404610438' - WHERE a.PUBLISHDATE >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH) - ) t - GROUP BY t.SECURITYCODE, t.SECURITYNAME - ) p -) f - -UNION ALL - -SELECT - CURDATE() AS STAT_DATE, - '3' AS STAT_PRD, - f.SECURITYCODE, - f.SECURITYNAME, - f.all_num, - f.buy_num, - f.incr_num, - f.neut_num, - f.redu_num, - f.sell_num, - f.tg_num, - f.td_num, - f.kp_num, - f.rat_score, - CASE - WHEN f.rat_score >= 4.5 THEN '买入' - WHEN f.rat_score >= 3.5 THEN '增持' - WHEN f.rat_score >= 2.5 THEN '中性' - WHEN f.rat_score >= 1.5 THEN '减持' - ELSE '卖出' - END AS rat_desc -FROM ( - SELECT - p.SECURITYCODE, - p.SECURITYNAME, - p.all_num, - p.buy_num, - p.incr_num, - p.neut_num, - p.redu_num, - p.sell_num, - p.tg_num, - p.td_num, - p.kp_num, - (p.buy_num * 5 + p.incr_num * 4 + p.neut_num * 3 + p.redu_num * 2 + p.sell_num) / p.all_num AS rat_score - FROM ( - SELECT - t.SECURITYCODE, - t.SECURITYNAME, - COUNT(DISTINCT t.COMPANYCODE) AS all_num, - SUM(CASE WHEN t.EMRATINGVALUE = 1 THEN 1 ELSE 0 END) AS buy_num, - SUM(CASE WHEN t.EMRATINGVALUE = 2 THEN 1 ELSE 0 END) AS incr_num, - SUM(CASE WHEN t.EMRATINGVALUE = 3 THEN 1 ELSE 0 END) AS neut_num, - SUM(CASE WHEN t.EMRATINGVALUE = 4 THEN 1 ELSE 0 END) AS redu_num, - SUM(CASE WHEN t.EMRATINGVALUE = 5 THEN 1 ELSE 0 END) AS sell_num, - SUM(CASE WHEN t.RATINGCHANGE IN (0, 2) THEN 1 ELSE 0 END) AS tg_num, - SUM(CASE WHEN t.RATINGCHANGE = 1 THEN 1 ELSE 0 END) AS td_num, - SUM(CASE WHEN t.RATINGCHANGE NOT IN (0, 1, 2) OR t.RATINGCHANGE IS NULL THEN 1 ELSE 0 END) AS kp_num - FROM ( - SELECT DISTINCT - a.SECURITYCODE, - a.SECURITYNAME, - a.EMRATINGVALUE, - a.EMRATINGNAME, - c.RATINGCHANGE, - d.PARAMCHNAME, - a.COMPANYCODE, - a.COMPANYNAME - FROM INFO_RE_RATINGINFO a - INNER JOIN ( - SELECT SECURITYCODE, COMPANYCODE, MAX(PUBLISHDATE) AS PUBLISHDATE - FROM INFO_RE_RATINGINFO - WHERE PUBLISHDATE >= DATE_SUB(CURDATE(), INTERVAL 3 MONTH) - GROUP BY SECURITYCODE, COMPANYCODE - ) b ON a.SECURITYCODE = b.SECURITYCODE - AND a.COMPANYCODE = b.COMPANYCODE - AND a.PUBLISHDATE = b.PUBLISHDATE - LEFT JOIN INFO_RE_BASINFO c ON a.INFOCODE = c.INFOCODE - LEFT JOIN CFP_PVALUE d ON c.RATINGCHANGE = d.PARAMCODE - AND d.NIPMID = '138000000404610438' - WHERE a.PUBLISHDATE >= DATE_SUB(CURDATE(), INTERVAL 3 MONTH) - ) t - GROUP BY t.SECURITYCODE, t.SECURITYNAME - ) p -) f - -UNION ALL - -SELECT - CURDATE() AS STAT_DATE, - '1' AS STAT_PRD, - f.SECURITYCODE, - f.SECURITYNAME, - f.all_num, - f.buy_num, - f.incr_num, - f.neut_num, - f.redu_num, - f.sell_num, - f.tg_num, - f.td_num, - f.kp_num, - f.rat_score, - CASE - WHEN f.rat_score >= 4.5 THEN '买入' - WHEN f.rat_score >= 3.5 THEN '增持' - WHEN f.rat_score >= 2.5 THEN '中性' - WHEN f.rat_score >= 1.5 THEN '减持' - ELSE '卖出' - END AS rat_desc -FROM ( - SELECT - p.SECURITYCODE, - p.SECURITYNAME, - p.all_num, - p.buy_num, - p.incr_num, - p.neut_num, - p.redu_num, - p.sell_num, - p.tg_num, - p.td_num, - p.kp_num, - (p.buy_num * 5 + p.incr_num * 4 + p.neut_num * 3 + p.redu_num * 2 + p.sell_num) / p.all_num AS rat_score - FROM ( - SELECT - t.SECURITYCODE, - t.SECURITYNAME, - COUNT(DISTINCT t.COMPANYCODE) AS all_num, - SUM(CASE WHEN t.EMRATINGVALUE = 1 THEN 1 ELSE 0 END) AS buy_num, - SUM(CASE WHEN t.EMRATINGVALUE = 2 THEN 1 ELSE 0 END) AS incr_num, - SUM(CASE WHEN t.EMRATINGVALUE = 3 THEN 1 ELSE 0 END) AS neut_num, - SUM(CASE WHEN t.EMRATINGVALUE = 4 THEN 1 ELSE 0 END) AS redu_num, - SUM(CASE WHEN t.EMRATINGVALUE = 5 THEN 1 ELSE 0 END) AS sell_num, - SUM(CASE WHEN t.RATINGCHANGE IN (0, 2) THEN 1 ELSE 0 END) AS tg_num, - SUM(CASE WHEN t.RATINGCHANGE = 1 THEN 1 ELSE 0 END) AS td_num, - SUM(CASE WHEN t.RATINGCHANGE NOT IN (0, 1, 2) OR t.RATINGCHANGE IS NULL THEN 1 ELSE 0 END) AS kp_num - FROM ( - SELECT DISTINCT - a.SECURITYCODE, - a.SECURITYNAME, - a.EMRATINGVALUE, - a.EMRATINGNAME, - c.RATINGCHANGE, - d.PARAMCHNAME, - a.COMPANYCODE, - a.COMPANYNAME - FROM INFO_RE_RATINGINFO a - INNER JOIN ( - SELECT SECURITYCODE, COMPANYCODE, MAX(PUBLISHDATE) AS PUBLISHDATE - FROM INFO_RE_RATINGINFO - WHERE PUBLISHDATE >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) - GROUP BY SECURITYCODE, COMPANYCODE - ) b ON a.SECURITYCODE = b.SECURITYCODE - AND a.COMPANYCODE = b.COMPANYCODE - AND a.PUBLISHDATE = b.PUBLISHDATE - LEFT JOIN INFO_RE_BASINFO c ON a.INFOCODE = c.INFOCODE - LEFT JOIN CFP_PVALUE d ON c.RATINGCHANGE = d.PARAMCODE - AND d.NIPMID = '138000000404610438' - WHERE a.PUBLISHDATE >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) - ) t - GROUP BY t.SECURITYCODE, t.SECURITYNAME - ) p -) f; diff --git a/sqlparserx-ui/src/demos/sql/lineage/MYSQL/ctas-join.sql b/sqlparserx-ui/src/demos/sql/lineage/MYSQL/ctas-join.sql deleted file mode 100644 index 14e756b..0000000 --- a/sqlparserx-ui/src/demos/sql/lineage/MYSQL/ctas-join.sql +++ /dev/null @@ -1,10 +0,0 @@ --- demo-title: CTAS + JOIN 字段血缘 -CREATE TABLE user_order_summary AS -SELECT - u.id AS user_id, - u.name, - SUM(o.amount) AS total_amount, - COUNT(o.id) AS order_count -FROM users u -JOIN orders o ON u.id = o.user_id -GROUP BY u.id, u.name; diff --git a/sqlparserx-ui/src/demos/sql/parameter-workbench/COMMON/single-parameter.sql b/sqlparserx-ui/src/demos/sql/parameter-workbench/COMMON/single-parameter.sql deleted file mode 100644 index 5de924f..0000000 --- a/sqlparserx-ui/src/demos/sql/parameter-workbench/COMMON/single-parameter.sql +++ /dev/null @@ -1,5 +0,0 @@ --- demo-title: 单参数条件 -SELECT u.id, u.name -FROM users u -WHERE u.id = ${userId} - AND u.status IN (${statuses}); diff --git a/sqlparserx-ui/src/demos/sql/parameter-workbench/MYSQL/tenant-filter.sql b/sqlparserx-ui/src/demos/sql/parameter-workbench/MYSQL/tenant-filter.sql deleted file mode 100644 index b4b88ee..0000000 --- a/sqlparserx-ui/src/demos/sql/parameter-workbench/MYSQL/tenant-filter.sql +++ /dev/null @@ -1,5 +0,0 @@ --- demo-title: 租户 + 状态集合筛选 -SELECT u.id, u.name -FROM users u -WHERE u.tenant_id = ${tenantId} - AND u.status IN (${states}); diff --git a/sqlparserx-ui/src/demos/sql/sql-splitter/COMMON/multiple-statements.sql b/sqlparserx-ui/src/demos/sql/sql-splitter/COMMON/multiple-statements.sql deleted file mode 100644 index a465a8a..0000000 --- a/sqlparserx-ui/src/demos/sql/sql-splitter/COMMON/multiple-statements.sql +++ /dev/null @@ -1,6 +0,0 @@ --- demo-title: 多条查询语句 -SELECT id, name FROM demo_users; - -SELECT user_id, SUM(amount) AS total_amount -FROM demo_orders -GROUP BY user_id; diff --git a/sqlparserx-ui/src/demos/sql/syntax-validator/COMMON/select-cte-join.sql b/sqlparserx-ui/src/demos/sql/syntax-validator/COMMON/select-cte-join.sql deleted file mode 100644 index 1660ebe..0000000 --- a/sqlparserx-ui/src/demos/sql/syntax-validator/COMMON/select-cte-join.sql +++ /dev/null @@ -1,10 +0,0 @@ --- demo-title: CTE + JOIN 查询 -WITH order_totals AS ( - SELECT user_id, SUM(amount) AS total_amount - FROM demo_orders - GROUP BY user_id -) -SELECT u.id, u.name, COALESCE(o.total_amount, 0) AS total_amount -FROM demo_users u -LEFT JOIN order_totals o ON o.user_id = u.id -WHERE u.status = 'ACTIVE'; diff --git a/sqlparserx-ui/src/demos/sql/table-parser/COMMON/join-subquery.sql b/sqlparserx-ui/src/demos/sql/table-parser/COMMON/join-subquery.sql deleted file mode 100644 index 745439f..0000000 --- a/sqlparserx-ui/src/demos/sql/table-parser/COMMON/join-subquery.sql +++ /dev/null @@ -1,9 +0,0 @@ --- demo-title: JOIN + 子查询 -SELECT u.id, u.name, o.total_amount -FROM demo_users u -JOIN ( - SELECT user_id, SUM(amount) AS total_amount - FROM demo_orders - GROUP BY user_id -) o ON o.user_id = u.id -WHERE u.status = 'ACTIVE'; diff --git a/sqlparserx-ui/src/demos/sql/table-parser/HIVE/cte-insert.sql b/sqlparserx-ui/src/demos/sql/table-parser/HIVE/cte-insert.sql deleted file mode 100644 index cc66154..0000000 --- a/sqlparserx-ui/src/demos/sql/table-parser/HIVE/cte-insert.sql +++ /dev/null @@ -1,5 +0,0 @@ --- demo-title: CTE + INSERT 表提取 -WITH t1 AS (SELECT * FROM table1), - t2 AS (SELECT * FROM table2) -INSERT INTO new_table -SELECT * FROM t1; diff --git a/sqlparserx-ui/src/demos/sql/table-parser/MYSQL/cte-union.sql b/sqlparserx-ui/src/demos/sql/table-parser/MYSQL/cte-union.sql deleted file mode 100644 index 0b6bf75..0000000 --- a/sqlparserx-ui/src/demos/sql/table-parser/MYSQL/cte-union.sql +++ /dev/null @@ -1,21 +0,0 @@ --- demo-title: CTE + 多层 JOIN + UNION 表提取 -WITH t8 AS ( - SELECT * FROM table8 -) -INSERT INTO new_table -SELECT * FROM table1 AS t1 -LEFT JOIN ( - SELECT * FROM table3 AS tt3 LEFT JOIN table4 AS tt4 ON tt3.id = tt4.id - UNION - SELECT * FROM table2 -) AS t34 ON t1.id = t34.id -UNION -SELECT * FROM table1 -UNION -SELECT * FROM table4 AS t4 -UNION -SELECT id, (SELECT MAX(col1) FROM table5 AS t5) AS col2, - (SELECT COUNT(*) FROM table6 AS t6 WHERE t6.age > 10) AS col3 -FROM table7 -UNION -SELECT * FROM t8; diff --git a/sqlparserx-ui/src/demos/sqlDemoCatalog.js b/sqlparserx-ui/src/demos/sqlDemoCatalog.js deleted file mode 100644 index df5bfbf..0000000 --- a/sqlparserx-ui/src/demos/sqlDemoCatalog.js +++ /dev/null @@ -1,72 +0,0 @@ -const demoModules = import.meta.glob('./sql/**/*.sql', { - eager: true, - query: '?raw', - import: 'default' -}) - -const toolLabels = { - 'lineage': '血缘解析', - 'sql-splitter': 'SQL 切分', - 'syntax-validator': '语法验证', - 'table-parser': '表解析', - 'create-table-parser': '建表解析', - 'parameter-workbench': '参数解析与预编译' -} - -function formatSceneName(scene) { - return scene - .split('-') - .filter(Boolean) - .map(word => word.charAt(0).toUpperCase() + word.slice(1)) - .join(' ') -} - -function parseDemo(path, rawSql) { - const [, tool, dialect, filename] = path.match(/^\.\/sql\/([^/]+)\/([^/]+)\/([^/]+)\.sql$/) || [] - if (!tool || !dialect || !filename) return null - - const lines = rawSql.split(/\r?\n/) - const metadata = {} - let firstSqlLine = 0 - while (firstSqlLine < lines.length) { - const entry = lines[firstSqlLine].match(/^\s*--\s*demo-(title|min-relations):\s*(.*?)\s*$/i) - if (!entry) break - metadata[entry[1].toLowerCase()] = entry[2] - firstSqlLine += 1 - } - const sql = lines.slice(firstSqlLine).join('\n').trim() - if (!sql) return null - - return { - tool, - dialect: dialect.toUpperCase(), - scene: filename, - id: `${tool}:${filename}`, - title: metadata.title || formatSceneName(filename), - minRelations: Number(metadata['min-relations']) || null, - sql - } -} - -const allDemos = Object.entries(demoModules) - .map(([path, sql]) => parseDemo(path, sql)) - .filter(Boolean) - -/** Return the exact-dialect demo when available, otherwise the common demo. */ -export function getSqlDemoOptions(tool, dialect) { - const common = allDemos.filter(demo => demo.tool === tool && demo.dialect === 'COMMON') - const exact = allDemos.filter(demo => demo.tool === tool && demo.dialect === String(dialect || '').toUpperCase()) - const byScene = new Map(common.map(demo => [demo.scene, demo])) - exact.forEach(demo => byScene.set(demo.scene, demo)) - - return [...byScene.values()] - .sort((left, right) => left.title.localeCompare(right.title, 'zh-CN')) - .map(demo => ({ - ...demo, - sourceLabel: demo.dialect === 'COMMON' ? '通用示例' : `${demo.dialect} 示例` - })) -} - -export function getSqlToolLabel(tool) { - return toolLabels[tool] || tool -} diff --git a/sqlparserx-ui/src/layouts/MainLayout.vue b/sqlparserx-ui/src/layouts/MainLayout.vue deleted file mode 100644 index 7cc4b52..0000000 --- a/sqlparserx-ui/src/layouts/MainLayout.vue +++ /dev/null @@ -1,144 +0,0 @@ - - - - - diff --git a/sqlparserx-ui/src/main.js b/sqlparserx-ui/src/main.js deleted file mode 100644 index 843b769..0000000 --- a/sqlparserx-ui/src/main.js +++ /dev/null @@ -1,13 +0,0 @@ -import Vue from 'vue'; -import App from './App.vue'; -import router from './router' -import ElementUI from 'element-ui'; -import 'element-ui/lib/theme-chalk/index.css'; - -Vue.config.productionTip = false; -Vue.use(ElementUI); - -new Vue({ - router, - render: h => h(App), -}).$mount('#app'); \ No newline at end of file diff --git a/sqlparserx-ui/src/router/index.js b/sqlparserx-ui/src/router/index.js deleted file mode 100644 index 3801d78..0000000 --- a/sqlparserx-ui/src/router/index.js +++ /dev/null @@ -1,60 +0,0 @@ -import Vue from 'vue' -import Router from 'vue-router' -import Home from '@/components/Home.vue' -import LineageVisualizer from '@/components/LineageVisualizer.vue' -import SQLSplitterTester from '@/components/SQLSplitterTester.vue' -import SyntaxValidator from '@/components/SyntaxValidator.vue' // Add this import -import TableParser from '@/components/TableParser.vue' // 添加导入 -import CreateTableParser from '@/components/CreateTableParser.vue' // 新增导入 -import ParameterWorkbench from '@/components/ParameterWorkbench.vue' -import MainLayout from '@/layouts/MainLayout.vue'; - -Vue.use(Router) - -export default new Router({ - // mode: 'history', - routes: [ - { - path: '/', - component: MainLayout, // 使用布局组件 - children: [ - { - path: '', - name: 'Home', - component: Home - }, - { - path: '/lineage', - name: 'LineageVisualizer', - component: LineageVisualizer - }, - { - path: '/sql-splitter', - name: 'SQLSplitterTester', - component: SQLSplitterTester - }, - // Add this new route - { - path: '/syntax-validator', - name: 'SyntaxValidator', - component: SyntaxValidator - }, - { - path: '/table-parser', - name: 'TableParser', - component: TableParser - }, // 新增建表SQL解析路由 - { - path: '/create-table-parser', - name: 'CreateTableParser', - component: CreateTableParser - }, - { - path: '/parameter-workbench', - name: 'ParameterWorkbench', - component: ParameterWorkbench - } - ] - }, - ] -}) diff --git a/sqlparserx-ui/src/style.css b/sqlparserx-ui/src/style.css deleted file mode 100644 index e20baf2..0000000 --- a/sqlparserx-ui/src/style.css +++ /dev/null @@ -1,142 +0,0 @@ -:root { - /* SqlParserX 主题色(浅色商务风) */ - --px-primary: #2563eb; /* 主蓝 */ - --px-primary-2: #3b82f6; /* 亮蓝 */ - --px-primary-3: #7c3aed; /* 紫 */ - --px-gradient: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%); - --px-bg: #ffffff; /* 卡片/导航背景 */ - --px-bg-muted: #f7f8fa; /* 页面浅灰背景 */ - --px-bg-light: #f3f4f6; /* 输入区域背景 */ - --px-border: #e5e7eb; - --px-border-strong: #d1d5db; - --px-text: #1f2937; - --px-text-dim: #6b7280; - --px-muted: #9ca3af; - --px-success: #10b981; - --px-danger: #ef4444; - - font-family: Inter, system-ui, Avenir, 'Helvetica Neue', 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light; - color: var(--px-text); - background-color: var(--px-bg-muted); - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -* { - box-sizing: border-box; -} - -html, body { - margin: 0; - padding: 0; - min-width: 320px; - min-height: 100vh; -} - -body { - min-height: 100vh; - color: var(--px-text); - background-color: var(--px-bg-muted); - display: block; -} - -a { - font-weight: 500; - color: var(--px-primary); - text-decoration: inherit; -} -a:hover { - color: var(--px-primary-2); -} - -h1, h2, h3 { - color: var(--px-text); -} - -/* 全局滚动条(浅色主题) */ -::-webkit-scrollbar { - width: 8px; - height: 8px; -} -::-webkit-scrollbar-thumb { - background: #cbd5e1; - border-radius: 4px; -} -::-webkit-scrollbar-thumb:hover { - background: #94a3b8; -} -::-webkit-scrollbar-track { - background: #f1f5f9; -} - -#app { - max-width: none; - margin: 0; - padding: 0; - text-align: left; - min-height: 100vh; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - cursor: pointer; - transition: border-color 0.25s; -} - -/* ===== element-ui 浅色主题适配 ===== */ -/* 普通按钮 */ -.el-button { - background-color: #ffffff; - border-color: #d1d5db; - color: #374151; -} -.el-button:hover, -.el-button:focus { - background-color: #eff6ff; - border-color: #2563eb; - color: #2563eb; -} -/* 消息提示 */ -.el-message { - background-color: #ffffff; - border-color: #d1d5db; - box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); -} -.el-message__content { color: #1f2937; } -/* 下拉菜单 */ -.el-dropdown-menu { - background-color: #ffffff !important; - border: 1px solid #e5e7eb !important; -} -.el-dropdown-menu__item { color: #374151; } -.el-dropdown-menu__item:hover { background-color: #eff6ff !important; color: #2563eb; } -/* Tooltip */ -.el-tooltip__popper.is-dark { - background: #1f2937; - border: none; - color: #f9fafb; -} -/* 消息弹窗 */ -.el-message-box { - background-color: #ffffff; - border: 1px solid #e5e7eb; -} -.el-message-box__title { color: #1f2937; } -.el-message-box__content { color: #4b5563; } -.el-message-box__headerbtn .el-message-box__close { color: #9ca3af; } -.el-message-box__btns .el-button--primary { - background: #2563eb; - border: none; -} \ No newline at end of file diff --git a/sqlparserx-ui/src/utils/fullscreen.js b/sqlparserx-ui/src/utils/fullscreen.js deleted file mode 100644 index 44c8325..0000000 --- a/sqlparserx-ui/src/utils/fullscreen.js +++ /dev/null @@ -1,19 +0,0 @@ -export async function fullscreen(element) { - if (element.requestFullscreen) { - await element.requestFullscreen(); - } else if (element.webkitRequestFullscreen) { - await element.webkitRequestFullscreen(); - } else if (element.msRequestFullscreen) { - await element.msRequestFullscreen(); - } -} - -export async function exitFullscreen() { - if (document.exitFullscreen) { - await document.exitFullscreen(); - } else if (document.webkitExitFullscreen) { - await document.webkitExitFullscreen(); - } else if (document.msExitFullscreen) { - await document.msExitFullscreen(); - } -} \ No newline at end of file diff --git a/sqlparserx-ui/src/utils/request.js b/sqlparserx-ui/src/utils/request.js deleted file mode 100644 index e48400d..0000000 --- a/sqlparserx-ui/src/utils/request.js +++ /dev/null @@ -1,37 +0,0 @@ -import axios from 'axios' - -const service = axios.create({ - baseURL: import.meta.env.VITE_API_URL, - timeout: 5000 -}) - -// request 拦截器 -service.interceptors.request.use( - config => { - // 在这里可以设置请求头、请求参数等return config - return config - }, - error => { - console.log(error) - return Promise.reject(error) - } -) - -// response 拦截器 -service.interceptors.response.use( - response => { - // 在这里处理返回数据const { data } = response - if (response.data.code !== 200) { - const message = response.data.msg || '请求失败' - console.error('Error:', message) - return Promise.reject(new Error(message)) - } else { - return response.data - } - }, - error => { - console.log(error) - return Promise.reject(error) - } -) -export default service; diff --git a/sqlparserx-ui/vite.config.js b/sqlparserx-ui/vite.config.js deleted file mode 100644 index a8f6602..0000000 --- a/sqlparserx-ui/vite.config.js +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from 'vite' -import vue2 from '@vitejs/plugin-vue2' - -// https://vitejs.dev/config/ -export default defineConfig({ - base: './', // 打包的静态资源引用路径 - plugins: [vue2()], // 放插件用的 - resolve: { - alias: { - '@': '/src' // 配置@/提示符 - } - }, -}) \ No newline at end of file diff --git a/sqlparserx-web/.gitignore b/sqlparserx-web/.gitignore deleted file mode 100644 index 549e00a..0000000 --- a/sqlparserx-web/.gitignore +++ /dev/null @@ -1,33 +0,0 @@ -HELP.md -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/**/target/ -!**/src/test/**/target/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ -!**/src/main/**/build/ -!**/src/test/**/build/ - -### VS Code ### -.vscode/ diff --git a/sqlparserx-web/pom.xml b/sqlparserx-web/pom.xml deleted file mode 100644 index db6761e..0000000 --- a/sqlparserx-web/pom.xml +++ /dev/null @@ -1,238 +0,0 @@ - - - 4.0.0 - - - com.dtstack - SqlParserX - 1.0-SNAPSHOT - - - sqlparserx-web - jar - - - 1.8 - UTF-8 - UTF-8 - 2.3.12.RELEASE - - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - - - - - org.springframework.boot - spring-boot-starter-web - - - ch.qos.logback - logback-classic - - - - - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - - - - com.dtstack - sqlparserx-syntax - 1.0-SNAPSHOT - - - org.springframework.boot - spring-boot-starter-test - test - - - org.junit.vintage - junit-vintage-engine - - - - - - ch.qos.logback - logback-classic - 1.2.11 - - - - org.projectlombok - lombok - 1.18.38 - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - true - - - - org.apache.maven.plugins - maven-shade-plugin - 3.0.0 - - false - false - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - - - shade - - package - - - - com.dtstack:sqlparserx-* - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 8 - 8 - - - - - pl.project13.maven - git-commit-id-plugin - 2.2.6 - - yyyy.MM.dd HH:mm:ss - git - true - - true - - false - - ${project.basedir}/src/main/resources/git.properties - - false - -dirty - false - - - - - get-the-git-infos - - revision - - - - - - org.apache.maven.plugins - maven-jar-plugin - 3.2.0 - - - - . - - - - com.dtstack.sqlparserx.SqlParserXWebApplication - true - - - - application.properties - application.yaml - logback.xml - - - - - maven-antrun-plugin - 1.8 - - - copy-resources - - run - - - package - - - - - - - - - - - org.apache.maven.plugins - maven-assembly-plugin - 2.6 - - - data-module - - single - - package - - - assembly.xml - - target - - dtstack-platform - false - - - - - - - - diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/SqlParserXWebApplication.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/SqlParserXWebApplication.java deleted file mode 100644 index 1669a73..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/SqlParserXWebApplication.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx; - -import com.dtstack.sqlparserx.env.SystemPropertyUtil; - -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; - -@SpringBootApplication -public class SqlParserXWebApplication { - - public static void main(String[] args) { - SystemPropertyUtil.setSystemUserDir(); - System.out.println("Static resources path: " + System.getProperty("user.dir.conf") + "/static/"); - new SpringApplicationBuilder(SqlParserXWebApplication.class) - .properties( - "spring.config.location=file:${user.dir.conf}/application.properties", - "spring.resources.static-locations=file:${user.dir.conf}/static/").run(args); - } - -} diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/config/LogbackComponent.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/config/LogbackComponent.java deleted file mode 100644 index 171ef3c..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/config/LogbackComponent.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.config; - -import ch.qos.logback.classic.LoggerContext; -import ch.qos.logback.classic.joran.JoranConfigurator; -import ch.qos.logback.core.joran.spi.JoranException; -import ch.qos.logback.core.util.StatusPrinter; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.stereotype.Component; - -import java.io.File; -import java.io.IOException; - -/** - * 功能:重新加载自定义的logback配置文件路径 - */ -@Component -public class LogbackComponent implements InitializingBean { - - private static Logger LOGGER = LoggerFactory.getLogger(LogbackComponent.class); - - // logback文件路径 - private static String logback = System.getProperty("user.dir") + "/conf/logback.xml"; - - /** - * 初始化logger - * @throws IOException - * @throws JoranException - */ - private void setupLogger() throws IOException, JoranException { - // 获取Logback的LoggerContext实例,管理Logback配置的上下文环境 - LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); - File externalConfigFile = new File(logback); - // 检查配置文件是否存在,如果不存在则抛出IOException。 - if (!externalConfigFile.exists()) { - throw new IOException("Logback External Config File Parameter does not reference a file that exists"); - } else { - // 如果文件存在,检查它是否是一个普通文件(而不是目录) - if (!externalConfigFile.isFile()) { - throw new IOException("Logback External Config File Parameter exists, but does not reference a file"); - } else { - // 如果是一个文件,检查它是否可读 - if (!externalConfigFile.canRead()) { - throw new IOException("Logback External Config File exists and is a file, but cannot be read."); - } else { - // 如果文件存在、是一个文件且可读,创建一个JoranConfigurator实例,用于解析和应用Logback配置文件 - JoranConfigurator configurator = new JoranConfigurator(); - // 将LoggerContext实例设置到JoranConfigurator中 - configurator.setContext(lc); - // 重置LoggerContext,以便重新加载配置 - lc.reset(); - // 使用JoranConfigurator解析指定路径的Logback配置文件,并应用配置 - configurator.doConfigure(logback); - StatusPrinter.printInCaseOfErrorsOrWarnings(lc); - } - } - } - } - - @Override - public void afterPropertiesSet() { - try { - setupLogger(); - } catch (Throwable e) { - LOGGER.error("contextInitialized error!", e); - } - } -} \ No newline at end of file diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/config/MyWebMvcConfig.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/config/MyWebMvcConfig.java deleted file mode 100644 index c57336c..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/config/MyWebMvcConfig.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.config; - -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.CorsRegistry; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -@Configuration -public class MyWebMvcConfig implements WebMvcConfigurer { - - /** - * 解决跨域问题 - */ - @Override - public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**") //指定的映射地址 - .allowedHeaders("*") //允许携带的请求头 - .allowedMethods("*") //允许的请求方法 - .allowedOrigins("*"); //添加跨域请求头 Access-Control-Allow-Origin,值如:"https://domain1.com"或"*" - } - - /** - * Serve the static site entry points at directory URLs. - */ - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/front").setViewName("redirect:/front/"); - registry.addViewController("/front/").setViewName("forward:/front/index.html"); - registry.addViewController("/website").setViewName("redirect:/website/"); - registry.addViewController("/website/").setViewName("forward:/website/index.html"); - } -} diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/controller/DataSourceController.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/controller/DataSourceController.java deleted file mode 100644 index 7b2c5bf..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/controller/DataSourceController.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.controller; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; -import com.dtstack.sqlparserx.core.utils.TableSourceUtil; -import com.dtstack.sqlparserx.domain.ResponseResult; -import com.dtstack.sqlparserx.enums.DataSourceType2DbType; -import com.dtstack.sqlparserx.syntax.SqlSyntaxParserFactory; -import com.dtstack.sqlparserx.vo.TableParseRequest; - -import com.alibaba.druid.DbType; -import com.alibaba.druid.sql.ast.SQLStatement; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.*; - -import java.io.PrintWriter; -import java.io.StringWriter; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -@RestController -@RequestMapping("/api/datasource") -public class DataSourceController { - - private static final Logger log = LoggerFactory.getLogger(DataSourceController.class); - - @GetMapping("/types") - public ResponseResult getDataSourceTypes() { - // 直接从 Core 业务解析器枚举生成前端选项,名称和值与解析器一一对应。 - List dataSourceOptions = Arrays.stream(SqlParserDataSourceType.values()) - .filter(type -> DataSourceType2DbType.isCoreSupported(type.getValue())) - .map(type -> new DataSourceOption(type.getValue(), type.name())) - .collect(Collectors.toList()); - return ResponseResult.success(dataSourceOptions); - } - - @PostMapping("/grammarCheck") - public ResponseResult grammarCheck(@RequestParam Integer datasourceType, @RequestBody String sql) { - if (datasourceType == null || !DataSourceType2DbType.isCoreSupported(datasourceType)) { - return ResponseResult.error("暂不支持该数据源方言"); - } - DbType dbType = DataSourceType2DbType.getDbType(datasourceType); - try { - SQLStatement stmt = SqlSyntaxParserFactory.getParser(dbType).parseStatement(sql); - log.info("stmt: \n" + stmt.toString()); - } catch (Exception e) { - String msg = e.getMessage(); - StringWriter sw = new StringWriter(); - e.printStackTrace(new PrintWriter(sw)); - String stackTrace = sw.toString(); - log.info("grammarCheck error!", e); - return ResponseResult.error(msg, stackTrace); - } - return ResponseResult.success("成功!"); - } - - @PostMapping("/parseCreateTable") - public ResponseResult parseCreateTable(@RequestBody TableParseRequest request) { - if (request == null || request.getDatasourceType() == null - || !DataSourceType2DbType.isCoreSupported(request.getDatasourceType())) { - return ResponseResult.error("暂不支持该数据源方言"); - } - try { - ISqlParser sqlParser = SqlParserFactory - .getSqlParser(DataSourceType2DbType.getSqlParserDataSourceType(request.getDatasourceType())); - ParseCreateTableResult result = sqlParser.parseCreateTable(request.getSql()); - return ResponseResult.success(result); - } catch (Exception e) { - String msg = e.getMessage(); - StringWriter sw = new StringWriter(); - e.printStackTrace(new PrintWriter(sw)); - String stackTrace = sw.toString(); - log.error("parseCreateTable error!", e); - return ResponseResult.error(msg, stackTrace); - } - } - - @PostMapping("/parseTables") - public ResponseResult parseTables(@RequestBody TableParseRequest request) { - if (request == null || request.getDatasourceType() == null - || !DataSourceType2DbType.isCoreSupported(request.getDatasourceType())) { - return ResponseResult.error("暂不支持该数据源方言"); - } - DbType dbType = DataSourceType2DbType.getDbType(request.getDatasourceType()); - try { - List tables = TableSourceUtil.parseTables(request.getSql(), dbType); - return ResponseResult.success(tables); - } catch (Exception e) { - String msg = e.getMessage(); - StringWriter sw = new StringWriter(); - e.printStackTrace(new PrintWriter(sw)); - String stackTrace = sw.toString(); - log.info("parseTables error!", e); - return ResponseResult.error(msg, stackTrace); - } - } - - public static class DataSourceOption { - private final int value; - private final String label; - - public DataSourceOption(int value, String label) { - this.value = value; - this.label = label; - } - - public int getValue() { - return value; - } - - public String getLabel() { - return label; - } - } -} diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/controller/LineageController.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/controller/LineageController.java deleted file mode 100644 index 07b2721..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/controller/LineageController.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.controller; - -import com.dtstack.sqlparserx.domain.ResponseResult; -import com.dtstack.sqlparserx.enums.DataSourceType2DbType; -import com.dtstack.sqlparserx.service.LineageService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -@RestController -@RequestMapping("/api/lineage") -public class LineageController { - - @Autowired - private LineageService lineageService; - - /** - * 查询SQL字段血缘关系接口 - * @param sql 要分析的SQL语句(通过请求参数传入) - * @return 字段血缘分析结果 - */ - @PostMapping({"/query", "/column/query"}) - public ResponseResult query(@RequestParam Integer datasourceType, @RequestBody String sql) { - if (datasourceType == null || !DataSourceType2DbType.isCoreSupported(datasourceType)) { - return ResponseResult.error("暂不支持该数据源方言"); - } - // 调用服务层方法并返回结果 - Map lineage = lineageService.getLineage(sql, datasourceType); - return ResponseResult.success(lineage); - } - - /** 查询 SQL 表级血缘关系。 */ - @PostMapping("/table/query") - public ResponseResult queryTable(@RequestParam Integer datasourceType, @RequestBody String sql) { - if (datasourceType == null || !DataSourceType2DbType.isCoreSupported(datasourceType)) { - return ResponseResult.error("暂不支持该数据源方言"); - } - return ResponseResult.success(lineageService.getTableLineage(sql, datasourceType)); - } - -} diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/controller/SQLSplitterController.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/controller/SQLSplitterController.java deleted file mode 100644 index ca9e40c..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/controller/SQLSplitterController.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.controller; - -import com.dtstack.sqlparserx.core.utils.SQLSplitterUtil; -import com.dtstack.sqlparserx.domain.ResponseResult; -import com.dtstack.sqlparserx.enums.DataSourceType2DbType; - -import com.alibaba.druid.DbType; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -@RestController -@RequestMapping("/api/sql") -public class SQLSplitterController { - - @PostMapping("/split") - public ResponseResult splitSQL(@RequestParam Integer datasourceType, @RequestBody String sql) { - if (datasourceType == null || !DataSourceType2DbType.isCoreSupported(datasourceType)) { - return ResponseResult.error("暂不支持该数据源方言"); - } - // 获取对应的DbType - DbType dbType = DataSourceType2DbType.getDbType(datasourceType); - List sqls = SQLSplitterUtil.splitSQL(sql, dbType); - // 切分SQL - return ResponseResult.success(sqls); - } -} diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/domain/ResponseResult.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/domain/ResponseResult.java deleted file mode 100644 index 548e243..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/domain/ResponseResult.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.domain; - -/** - * @description 响应结果体 - * @author changlu - * @date 2025/6/8 23:24 - */ -public class ResponseResult { - /** - * 状态码 - */ - private Integer code; - /** - * 提示信息,如果有错误时,前端可以获取该字段进行提示 - */ - private String msg; - /** - * 查询到的结果数据, - */ - private T data; - - public ResponseResult(Integer code, String msg) { - this.code = code; - this.msg = msg; - } - - public ResponseResult(Integer code, T data) { - this.code = code; - this.data = data; - } - - public static ResponseResult success(String msg, T data) { - return new ResponseResult(200, msg, data); - } - - public static ResponseResult success() { - return new ResponseResult(200, null); - } - - public static ResponseResult success(T data) { - return new ResponseResult(200, data); - } - - public static ResponseResult error(String msg) { - return new ResponseResult(500, msg, null); - } - - public static ResponseResult error(String msg, T data) { - return new ResponseResult(500, msg, data); - } - - public static ResponseResult error(Integer code, String msg) { - return new ResponseResult(code, msg, null); - } - - /** - * 根据实际影响结果来判断是否操作成功 - * @param rows 影响行数 - * @return - */ - public static ResponseResult toResponse(int rows) { - if (rows > 0) { - return ResponseResult.success("成功", null); - } else { - return ResponseResult.error("操作失败"); - } - } - - /** - * 根据实际影响结果来判断是否操作成功 - * @param bool 结果 - * @return - */ - public static ResponseResult toResponse(boolean bool) { - if (bool) { - return ResponseResult.success("成功", null); - } else { - return ResponseResult.error("操作失败"); - } - } - - public Integer getCode() { - return code; - } - - public void setCode(Integer code) { - this.code = code; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public T getData() { - return data; - } - - public void setData(T data) { - this.data = data; - } - - public ResponseResult(Integer code, String msg, T data) { - this.code = code; - this.msg = msg; - this.data = data; - } -} diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/enums/DatasourceTypeEnum.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/enums/DatasourceTypeEnum.java deleted file mode 100644 index 54bbad0..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/enums/DatasourceTypeEnum.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.enums; - -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; - -public enum DatasourceTypeEnum { - - ORACLE(1, SqlParserDataSourceType.ORACLE), OCEANBASE_ORACLE(2, SqlParserDataSourceType.OCEANBASE_ORACLE), MYSQL(3, - SqlParserDataSourceType.MYSQL), TIDB(4, SqlParserDataSourceType.TIDB), OCEANBASE(7, - SqlParserDataSourceType.OCEANBASE), POSTGRESQL(11, SqlParserDataSourceType.POSTGRESQL), GREENPLUM( - 12, SqlParserDataSourceType.GREENPLUM), SQLSERVER(17, - SqlParserDataSourceType.SQLSERVER), HIVE(25, SqlParserDataSourceType.HIVE), TRINO( - 27, SqlParserDataSourceType.TRINO), SPARK(31, - SqlParserDataSourceType.SPARK), CLICKHOUSE(32, - SqlParserDataSourceType.CLICKHOUSE), STARROCKS(33, - SqlParserDataSourceType.STARROCKS), DORIS(36, - SqlParserDataSourceType.DORIS), DM(39, - SqlParserDataSourceType.DM); - - private final int code; - private final SqlParserDataSourceType sqlParserDataSourceType; - - DatasourceTypeEnum(int code, SqlParserDataSourceType sqlParserDataSourceType) { - this.code = code; - this.sqlParserDataSourceType = sqlParserDataSourceType; - } - - public int getCode() { - return code; - } - - public SqlParserDataSourceType getSqlParserDataSourceType() { - return sqlParserDataSourceType; - } -} diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/env/SystemPropertyUtil.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/env/SystemPropertyUtil.java deleted file mode 100644 index db935fd..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/env/SystemPropertyUtil.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.env; - -import java.io.File; - -public class SystemPropertyUtil { - - public static void setSystemUserDir() { - String dir = System.getProperty("user.dir"); - String conf = String.format("%s/%s", dir, "conf"); - File file = new File(conf); - if (!file.exists()) { - dir = dir.substring(0, dir.lastIndexOf("/")); - conf = String.format("%s/%s", dir, "conf"); - file = new File(conf); - if (file.exists()) { - System.setProperty("user.dir", dir); - } - } - System.setProperty("user.dir.conf", System.getProperty("user.dir") + "/conf"); - System.out.println("Config path: " + System.getProperty("user.dir.conf")); - } - - public static String getSystemUserDir() { - return System.getProperty("user.dir.conf"); - } - -} \ No newline at end of file diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/service/LineageService.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/service/LineageService.java deleted file mode 100644 index 2657a5c..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/service/LineageService.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.service; - -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult.ColumnRelation; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableRelation; -import com.dtstack.sqlparserx.enums.DataSourceType2DbType; - -import org.springframework.stereotype.Service; - -import java.util.*; - -@Service -public class LineageService { - - public Map getLineage(String sql, Integer datasourceType) { - ISqlParser sqlParser = SqlParserFactory - .getSqlParser(DataSourceType2DbType.getSqlParserDataSourceType(datasourceType)); - ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, new HashMap<>()); - - Set allTables = new HashSet<>(); - Map> tableFields = new HashMap<>(); - List> relationData = new ArrayList<>(); - - String targetTable = columnLineageResult.getTargetTable(); - Set targetFields = new HashSet<>(); - - columnLineageResult.getColumnRelations().forEach((targetColumn, relations) -> { - // Split on last dot only to handle cases like "digua_ceshi.result_table.id" - int lastDotIndex = targetColumn.lastIndexOf('.'); - if (lastDotIndex > 0) { - String columnName = targetColumn.substring(lastDotIndex + 1); - targetFields.add(columnName); - } - - if (relations != null) { - for (ColumnRelation relation : relations) { - String source = relation.getSource(); - String target = relation.getTarget(); - - // JDK8兼容写法:使用HashMap创建关系Map - Map relationMap = new HashMap<>(); - relationMap.put("from", source); - relationMap.put("to", target); - relationData.add(relationMap); - - // Handle source with same logic (split on last dot) - int sourceLastDotIndex = source.lastIndexOf('.'); - if (sourceLastDotIndex > 0) { - String tableName = source.substring(0, sourceLastDotIndex); - String sourceColumnName = source.substring(sourceLastDotIndex + 1); - - allTables.add(tableName); - if (!tableFields.containsKey(tableName)) { - tableFields.put(tableName, new HashSet<>()); - } - tableFields.get(tableName).add(sourceColumnName); - } - } - } - }); - - allTables.add(targetTable); - tableFields.put(targetTable, targetFields); - - // JDK8兼容写法:构建tableData - List> tableData = new ArrayList<>(); - for (Map.Entry> entry : tableFields.entrySet()) { - Map tableInfo = new HashMap<>(); - tableInfo.put("tableName", entry.getKey()); - tableInfo.put("fields", new ArrayList<>(entry.getValue())); - tableData.add(tableInfo); - } - - // JDK8兼容写法:构建最终返回结果 - Map result = new HashMap<>(); - result.put("tableData", tableData); - result.put("relationData", relationData); - return result; - } - public Map getTableLineage(String sql, Integer datasourceType) { - ISqlParser sqlParser = SqlParserFactory - .getSqlParser(DataSourceType2DbType.getSqlParserDataSourceType(datasourceType)); - TableLineageResult lineage = sqlParser.parseTableLineages(sql); - Set tableNames = new TreeSet<>(); - List> relationData = new ArrayList<>(); - if (lineage.getSourceTables() != null) { - tableNames.addAll(lineage.getSourceTables()); - } - if (lineage.getTargetTable() != null && !lineage.getTargetTable().isEmpty()) { - tableNames.add(lineage.getTargetTable()); - } - if (lineage.getRelations() != null) { - for (TableRelation relation : lineage.getRelations()) { - tableNames.add(relation.getSourceTable()); - tableNames.add(relation.getTargetTable()); - Map relationMap = new LinkedHashMap<>(); - relationMap.put("from", relation.getSourceTable()); - relationMap.put("to", relation.getTargetTable()); - relationData.add(relationMap); - } - } - List> tableData = new ArrayList<>(); - for (String tableName : tableNames) { - Map tableInfo = new LinkedHashMap<>(); - tableInfo.put("tableName", tableName); - tableInfo.put("fields", Collections.emptyList()); - tableData.add(tableInfo); - } - Map result = new LinkedHashMap<>(); - result.put("tableData", tableData); - result.put("relationData", relationData); - return result; - } - -} diff --git a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/vo/TableParseRequest.java b/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/vo/TableParseRequest.java deleted file mode 100644 index c5e5dc7..0000000 --- a/sqlparserx-web/src/main/java/com/dtstack/sqlparserx/vo/TableParseRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx.vo; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -// 添加请求体类 -@Data -@AllArgsConstructor -@NoArgsConstructor -public class TableParseRequest { - private Integer datasourceType; - private String sql; -} \ No newline at end of file diff --git a/sqlparserx-web/src/main/resources/git.properties b/sqlparserx-web/src/main/resources/git.properties deleted file mode 100644 index 709502c..0000000 --- a/sqlparserx-web/src/main/resources/git.properties +++ /dev/null @@ -1,23 +0,0 @@ -#Generated by Git-Commit-Id-Plugin -#Mon Oct 12 22:23:12 CST 2026 -git.branch=feat_1.0.x_1 -git.build.host=MacBook-Air-21.local -git.build.time=2026.10.12 22\:23\:12 -git.build.user.email=939974883@qq.com -git.build.user.name=changlu -git.build.version=1.0-SNAPSHOT -git.closest.tag.commit.count= -git.closest.tag.name= -git.commit.id=18d4075a94c1494996bc373ac8eba6eb2a894269 -git.commit.id.abbrev=18d4075 -git.commit.id.describe=18d4075-dirty -git.commit.id.describe-short=18d4075-dirty -git.commit.message.full=[feat_1.0.x_1][SqlParserX][\u8865\u5145\u53D8\u91CF\u53C2\u6570\u89E3\u6790\u4E0E\u9884\u7F16\u8BD1\u80FD\u529B\u8BBE\u8BA1\u53CA\u901A\u7528\u89E3\u6790\u80FD\u529B\u6587\u6863]\n\n- \u65B0\u589E\u300C\u53D8\u91CF\u53C2\u6570\u89E3\u6790\u4E0E\u9884\u7F16\u8BD1\u652F\u6301\u60C5\u51B5\u300D\u901A\u7528\u80FD\u529B\u6587\u6863\uFF0C\u660E\u786E SQL \u8F6C API \u914D\u7F6E\u671F/\u8FD0\u884C\u671F\u4E24\u9636\u6BB5\u4E0E\u4E24\u6838\u5FC3\u65B9\u6CD5\n- \u65B0\u589E\u300C\u53D8\u91CF\u53C2\u6570\u89E3\u6790\u4E0E\u9884\u7F16\u8BD1\uFF08\u7EAF Druid\uFF09\u5B9E\u73B0\u65B9\u6848\u300D\uFF0C\u57FA\u4E8E Druid 1.2.28 \u5B9E\u6D4B\u7ED9\u51FA\u5B9E\u73B0\u84DD\u672C\u3001\u53EF\u590D\u7528\u7EC4\u4EF6\u4E0E\u5206\u671F\u8BA1\u5212\n- \u901A\u7528\u89E3\u6790\u80FD\u529B\uFF08\u8868/\u51FD\u6570/\u8868\u8840\u7F18/\u5B57\u6BB5\u8840\u7F18/\u53D8\u91CF\u53C2\u6570\uFF09\u6587\u6863\u8865\u5145\u7528\u4F8B\u793A\u8303\uFF0C\u5E76\u767B\u8BB0\u80FD\u529B\u5BFC\u822A\n- \u660E\u786E IParseParameterClient \u4E24\u6838\u5FC3\u65B9\u6CD5\u8BED\u4E49\uFF0C\u8865\u5145 DataTypeColumn.type \u65B9\u8A00\u539F\u59CB\u7C7B\u578B\u8BF4\u660E\n- \u65B0\u589E\u5E02\u9762\u5F00\u6E90 SQL \u89E3\u6790\u5668\u76F8\u5173\u4EA7\u54C1\u8C03\u7814\u6587\u6863 -git.commit.message.short=[feat_1.0.x_1][SqlParserX][\u8865\u5145\u53D8\u91CF\u53C2\u6570\u89E3\u6790\u4E0E\u9884\u7F16\u8BD1\u80FD\u529B\u8BBE\u8BA1\u53CA\u901A\u7528\u89E3\u6790\u80FD\u529B\u6587\u6863] -git.commit.time=2026.10.10 16\:52\:02 -git.commit.user.email=939974883@qq.com -git.commit.user.name=changlu -git.dirty=true -git.remote.origin.url=Unknown -git.tags= -git.total.commit.count=99 diff --git a/sqlparserx-web/src/test/java/com/dtstack/sqlparserx/SqlParserXWebApplicationTests.java b/sqlparserx-web/src/test/java/com/dtstack/sqlparserx/SqlParserXWebApplicationTests.java deleted file mode 100644 index 104720d..0000000 --- a/sqlparserx-web/src/test/java/com/dtstack/sqlparserx/SqlParserXWebApplicationTests.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.dtstack.sqlparserx; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class SqlParserXWebApplicationTests { - - @Test - void contextLoads() { - } - -} diff --git a/website/.gitignore b/website/.gitignore deleted file mode 100644 index b2d6de3..0000000 --- a/website/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -# Dependencies -/node_modules - -# Production -/build - -# Generated files -.docusaurus -.cache-loader - -# Misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/website/README.md b/website/README.md deleted file mode 100644 index 4b5d7bb..0000000 --- a/website/README.md +++ /dev/null @@ -1,139 +0,0 @@ -# SqlParserX 文档站(Docusaurus) - -SqlParserX 的**官网 + 文档站**,基于 [Docusaurus 3](https://docusaurus.io/)(classic 预设)+ React 19 构建,参考 [DTStack/Taier](https://github.com/DTStack/Taier) 官网结构。 - -| 能力 | 说明 | -| --- | --- | -| 🎨 深浅色主题切换 | 跟随系统 / 手动切换,Infima 变量驱动 | -| 📚 文档版本管理 | `v1.0` 与 `Next` 多版本共存 | -| 🌍 多语言 i18n | 简体中文 / English,语言目录化维护 | -| 🚀 一键发布 | 推送 `main` 即自动发布 GitHub Pages | -| 🧜 Mermaid | 架构文档中的流程图直接渲染 | - ---- - -## 快速开始 - -```bash -# 1. 安装依赖 -npm install - -# 2. 启动开发服务器(默认简体中文) -npm start # http://localhost:3000/SqlParserX/ - -# 3. 生产构建 + 本地预览(中英双语同时可用) -npm run build -npm run serve - -# 4. 只开发英文 -npm start -- --locale en -``` - -> `baseUrl` 为 `/SqlParserX/`(与仓库名大小写一致),本地访问必须带该前缀。 - ---- - -## 站点结构 - -导航栏:**首页 / 文档 / 博客 / 社区**,右侧为版本切换与语言切换。 - -``` -website/ -├── docusaurus.config.js # 站点总配置(品牌/导航/页脚/i18n/版本/主题) -├── sidebars.js # 文档侧边栏结构 -├── docs/ # 当前(Next)文档 -│ ├── intro.md -│ ├── about/ # SqlParserX介绍、架构设计 -│ ├── quickstart/ # 环境准备与构建 -│ ├── core/ # 字段血缘、表血缘、表解析、函数解析 -│ └── contributing.md # 贡献指南 -├── versioned_docs/ # v1.0 历史版本文档快照 -├── versioned_sidebars/ # v1.0 侧边栏 -├── versions.json # 版本清单 -├── blog/ # 博客(含 2026-09-28 起源文章与 assets) -├── i18n/en/ # 英文翻译 -│ ├── docusaurus-plugin-content-docs/{current,version-1.0}/ # 文档 -│ ├── docusaurus-plugin-content-blog/ # 博客 -│ └── docusaurus-theme-classic/{navbar,footer}.json # 导航/页脚 -├── src/ -│ ├── pages/index.js # 首页入口 -│ ├── pages/community.js # 社区页 -│ ├── components/ # Intro / Features / Case 首页组件 -│ └── css/custom.css # 全局主题(深浅色变量) -├── static/img/ # 静态资源(含 architecture/ 架构图) -└── .github/workflows/deploy.yml # GitHub Pages 自动发布 -``` - ---- - -## 内容维护 - -### 新增一篇文档 - -1. 在 `docs/` 对应目录新建 `xxx.md`,补 `title` / `sidebar_label`; -2. 在 `sidebars.js` 对应分类的 `items` 中注册 `'路径/xxx'`; -3. 图片放 `static/img/`,正文用 `/img/...` 引用; -4. `npm start` 预览,`npm run build` 校验死链。 - -> **链接约定**:正文站内链接一律用**相对文件路径**(`./x.md`、`../y/z.md`),Docusaurus 会自动补 `baseUrl` 与语言前缀;不要写死 `/docs/...`。 - -### 版本管理 - -```bash -# 把当前 docs 快照为新版本(例:1.1) -npm run docs:version 1.1 -``` - -生成 `versioned_docs/version-1.1/`、`versioned_sidebars/version-1.1-sidebars.json`,并更新 `versions.json`。当前已发布版本通过 `docusaurus.config.js` 的 `lastVersion: '1.0'` 指定为默认访问版本,`Next` 为开发版。 - -### 多语言 - -```bash -npm run write-translations:en # 生成英文翻译骨架 -npm start -- --locale en # 只开发英文 -``` - -- 文档:`i18n/en/docusaurus-plugin-content-docs/{current,version-1.0}/` -- 导航/页脚:`i18n/en/docusaurus-theme-classic/{navbar,footer}.json` -- 首页组件文案:`i18n/en/code.json`(组件文本用 `` 包裹) - -> ⚠️ dev server 只服务单一语言,`npm start` 下访问 `/en/` 会 404,属正常现象;本地验证语言/版本切换请用 `npm run build && npm run serve`。 - -### 博客 - -文章放 `blog/`,文件名建议 `YYYY-MM-DD-slug.md`,图片放 `blog/assets/` 并以相对路径引用;作者与标签在 `blog/authors.yml`、`blog/tags.yml` 维护。 - -### 发布 GitHub Pages - -CI 工作流位于**仓库根** [`.github/workflows/deploy.yml`](../.github/workflows/deploy.yml): -推送到 `main` 且改动命中 `website/**` 时,自动 `npm ci && npm run build`, -并将 `website/build` 发布到 `gh-pages` 分支。 - -仓库端需完成 3 项设置: - -1. **Settings → Actions → General → Workflow permissions** 选 **Read and write**; -2. **Settings → Pages → Source** 选 **Deploy from a branch** → `gh-pages` / `(root)`; -3. 触发分支为 `main`。 - -`baseUrl` 必须与仓库名大小写一致(当前仓库为 `SqlParserX` → `/SqlParserX/`)。 -也可本地兜底发布:`GIT_USER= npm run deploy`。 - ---- - -## 常用命令 - -| 命令 | 说明 | -| --- | --- | -| `npm start` | 启动开发服务器 | -| `npm run build` | 生产构建(中英双语)→ `build/` | -| `npm run serve` | 本地预览构建产物 | -| `npm run clear` | 清理缓存 | -| `npm run docs:version ` | 创建版本文档快照 | -| `npm run write-translations:en` | 生成英文翻译骨架 | -| `npm run deploy` | 发布到 GitHub Pages | - ---- - -## 来源 - -文档内容同步自项目根目录 [`docs/`](../docs/),架构图与博客素材同源。项目地址:。 diff --git a/website/blog/2026-09-28-origin-of-sqlparserx.md b/website/blog/2026-09-28-origin-of-sqlparserx.md deleted file mode 100644 index 1fd165f..0000000 --- a/website/blog/2026-09-28-origin-of-sqlparserx.md +++ /dev/null @@ -1,451 +0,0 @@ ---- -slug: origin-of-sqlparserx -title: SqlParserX 的诞生起源背景与内部改造 -authors: [changlu] -tags: [origin] -date: 2026-09-28 -description: 记录从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 ---- - -> 作者:changlu | 日期:2026-09-28 -> -> 这是一篇关于 SqlParserX 起源的技术博客。它记录了从「为什么要做 SQL 解析」到「在大量异构数据源下如何统一解析」的思考过程,以及最终促成一个纯 Druid 实现的开源 SQL 解析项目诞生的背景。 -> 项目地址与使用方式见 [SqlParserX 仓库](https://github.com/DTStack/SqlParserX),双层架构设计见 [架构设计](/docs/about/architecture)。 - -{/* truncate */} - -## 一、为什么需要懂解析器 - -### 1.1 什么是解析器 - -解析器是计算机科学和编程语言领域中至关重要的工具,其核心作用是**将人类可理解的「形式化语言」(如代码、数据格式、表达式等)转换为机器可处理的结构**,从而实现信息的解析、验证和后续处理。 - -人类使用的语言(无论是编程语言如 Python、数据格式如 JSON,还是查询语句如 SQL)本质是**结构化的字符串**,但机器无法直接理解这种字符串的逻辑含义。 - -例如,程序员写的 `x = (a + b) * 3` 是一串字符,但机器需要知道这是「先算 `a + b`,再乘以 3,最后赋值给 `x`」的运算逻辑。解析器把这个字符串解析为一棵语法树,再按规则一步步运算。 - -```sql -// 解析器 扫描解析方程 x = (a + b) * 3 得到的语法树 AST - - [=] - / \ - [x] [*] - / \ - [+] [3] - / \ - [a] [b] - -解释执行步骤: -1、从根节点 = 开始,表示这是一个赋值操作。 -2、左子树 x 是赋值目标,右子树 * 是计算内容。 -3、计算 * 时,先计算左子树 +(a + b),再乘以右子树 3。 -4、最后将结果赋值给 x。 -``` - -编程语言同理,如 C、Java 等都有特定的语法规则,通过解析器把代码转为 AST 语法树,再编译字节码、机器码来执行。 - -```sql -// 解析器 扫描解析 Java 代码 if (x > 0) { y = 10; } 得到的语法树 AST - [if] - / \ - [>] [block] - / \ \ -[x] [0] [=] - / \ - [y] [10] - -解析执行步骤: -1、根节点 if 表示条件判断。 -2、先计算条件 >(x > 0),如果为真: -3、进入 block 执行内部语句 y = 10。 -4、如果为假,跳过整个 block。 -``` - -**解析器的作用**,就是把这种字符串「拆解」为有意义的语法结构(如抽象语法树 AST),让机器能按规则执行。 - -### 1.2 如何实现解析器 - -在编译器实现中,主要要做的是**词法分析和语法分析**: - -- **词法分析**:解析代码并生成 Token(一个单词的字面和它的种类及语义值)序列,实现一般称为扫描器(Scanner)。核心逻辑是定义 token(语义)与 scanner(扫描 token)。 -- **语法分析**:利用扫描器生成的 Token 序列生成抽象语法树,实现一般称为解析器(Parser)。核心逻辑是进行语法检查,并构建由输入单词组成的层次化数据结构(语法分析树、抽象语法树等)。 - -```sql -数学表达式:1 + 2 * 3 - -// 首先在进行词法、语法分析前,我们先定义好 token -单词字面 Token 类型 说明 -1 INTEGER 整数 1 -+ ADD_OP 加法运算符 -2 INTEGER 整数 2 -* MUL_OP 乘法运算符 -3 INTEGER 整数 3 - -// 1、词法分析:从前往后扫描得到一组 Token 流 -[INTEGER(1), ADD_OP(+), INTEGER(2), MUL_OP(*), INTEGER(3)] - -// 2、语法分析:根据运算符优先级(* 优先于 +)和 Token 流构建 AST - [+] - / \ - 1 [*] - / \ - 2 3 -``` - -实现一种规则的解析器有两种方式: - -- **方式一**:不依赖任何工具,手写扫描器和解析器。 -- **方式二**:使用现成的解析器生成器(Yacc、ANTLR、JavaCC 等),根据自定义语法规则文件自动生成解析器代码,从而专注于语法规则设计。 - -### 1.3 什么是 SQL 解析器 - -SQL 解析器是**能够将 SQL 语句转换为计算机可理解和执行结构的程序组件**。它将文本形式的 SQL 转换为抽象语法树(AST),为后续的查询优化和执行提供基础。通俗地说,就是能对 SQL 进行解析、转换成语法树的工具。 - -```sql -# 查询 -SELECT * FROM users WHERE status = 'active'; -# 插入 -INSERT INTO customers (name, email) VALUES ('李四', 'lisi@example.com'); -# 更新 -UPDATE products SET price = 5999 WHERE id = 1001; -# 删除 -DELETE FROM logs WHERE create_time < '2024-01-01'; -# 创建表 -CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), salary DECIMAL(10,2)); -# 修改表 -ALTER TABLE employees ADD COLUMN department VARCHAR(20); -# 删除表 -DROP TABLE temp_data; -# 授权 -GRANT SELECT ON customers TO user1; -``` - -### 1.4 SQL 解析位于整条链路的哪个位置 - -常见数据库执行 SQL 的整个过程: - -```text -SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 语义分析 → 优化SQL → 产生执行计划/执行任务 -``` - -而 SQL 解析中间件关注的是 AST 之后的应用层能力: - -```text -SQL文本 → 词法分析(Tokenizer)→ 语法分析(Parser)→ AST → 应用层(类型识别、表字段血缘、表解析、SQL脱敏)→ 子产品应用 -``` - -**这正是 SqlParserX 的定位**:不重复实现数据库引擎,只基于一套统一的 AST,把「表、血缘、函数、权限改写」等解析能力做成可复用的中间件。 - ---- - -## 二、市面上常见的 SQL 解析方案 - -在动手之前,我们先横向比较了主流方案。 - -![市面上常见的解析器整体介绍](assets/01-parser-market.png) - -### 2.1 底层解析器件:JavaCC / ANTLR 3 / ANTLR 4 - -| 特性 | JavaCC | ANTLR 3 | ANTLR 4 | -|---|---|---|---| -| 语法分析算法 | LL(k) | LL(*) | LL(*)(自适应预测) | -| 左递归处理 | 不支持,需手动转换 | 需手动转换 | 自动处理 | -| 目标语言 | Java | Java、C#、Python 等 | 同 ANTLR 3 | -| 错误处理 | 基础错误恢复 | 增强的错误恢复 | 智能错误恢复与诊断 | -| 语法复杂度 | 简单直观 | 较复杂 | 简化(相比 ANTLR 3) | -| 应用场景 | 小型项目、教育 | 中大型项目 | 大型项目、复杂语法 | - -### 2.2 SQL 解析器脚手架:Calcite / hive-exec - -所谓脚手架,是基于 JavaCC 或 ANTLR 已经实现了标准 SQL 的词法、语法规则,我们只需按其规范扩展: - -- **Calcite(基于 JavaCC)**:模块化、可扩展的 SQL 解析与优化框架,很多开源 SQL 引擎用它来做标准 SQL 解析与优化。 -- **hive-exec(基于 ANTLR3)**:Hive 的核心包,支持 Hive/Spark 语法解析。 - -### 2.3 更「具象化」的解析器:JSqlParser / Druid - -- **JSqlParser**:基于 JavaCC,能将 SQL 转为更语义化的结构(如 `select` → `SelectStatement`),支持语法树类继承、JavaAPI 构建 SQL、语法树转 SQL;但 **API 无明显的特定方言解析分层,支持的数据源解析能力较弱**。 -- **Druid**:完全用 Java 自实现扫描器、解析器,解析出的语法树是**具象化的抽象语法树(具有继承关系)**,并且**支持按数据源分层扩展**(Lexer、Parser 扫描可分层隔离)。 - -### 2.4 核心对比与选型结论 - -| 工具 | 依赖工具 | 解析 SQL 能力 | 语法树类继承 | 优缺点 | -|---|---|---|---|---| -| JavaCC | 原生定义解析规则 | 无 | 无 | 需从零定义 SQL 规则 | -| ANTLR4 | 原生定义解析规则 | 有,官方语法生态极好 | 无 | 语法生态强,但解析语法树无抽象继承关系 | -| Calcite | 基于 JavaCC | 标准 SQL,多方言扩展、生态较弱 | 有 | 需手动扩展分层写语法规则,成本大 | -| hive-exec | 基于 ANTLR3 | 仅 Hive、Spark | 无 | 无法扩展分层到其他数据源 | -| JSqlParser | 基于 JavaCC | 标准 SQL,部分方言 | 有 | API 无明显数据源分层 | -| **Druid** | 原生 Java 实现扫描、解析器件 | 支持 MySQL、Oracle、Hive、Spark、Doris、StarRocks 等 | **有(极强)** | 数据源生态好、AST 有继承关系;缺点是 Java 自实现扫描器,入门有难度 | - -面向数栈「大量异构数据源都要有同样继承关系的语法树」的场景,需要抽象定义统一的 `Insert`、`Select`、`Update`、`Delete` 等结构。 - -**基于 Druid 这样一套有继承关系的 AST,不同功能只需实现一套解析逻辑即可对应所有数据源,部分数据源再单独通过分层兼容即可。** 这成为后续选型的决定性理由。 - -### 2.5 为什么不直接用 ANTLR4 - -ANTLR4 生态确实很好(官方有 grammars-v4),但它的语法树**没有抽象继承关系**,难以在多数据源上沉淀「一套业务解析逻辑」,需要在业务层重新抽象一套结构,反而增加维护成本。Druid 的 AST 天然带继承体系,更契合我们的目标。 - ---- - -## 三、历史背景:改造前的 SQL 解析为什么难维护 - -### 3.1 子产品各自为战 - -改造前,SQL 解析散落在多个子产品中,各用各的方案: - -```sql -离线 batchparser:SQL 类型识别、真实表解析、SQL 脱敏、行列级权限 - 面向 SQL 类型:rdb(mysql、oracle、doris...)、hive、spark、impala - 实现:calcite & hive-exec 模块解析器,加上 druid 兜底【中间各种兼容语法正则匹配替换逻辑】 - -API apiparser:API 解析(预编译、非预编译)、真实表解析、行列级权限 - 面向 SQL 类型:rdb - 实现:calcite + druid,druid 兜底 - -label labelparser:标签解析 - 实现:calcite - -实时 streamparser - StreamCreateTableParser 直接使用正则匹配解析 - StreamCreateViewParser 使用 hive-exec 进行表、字段血缘解析 - StreamInsertParser 使用 FlinkPlanner & hive parser 进行表、字段血缘解析 - -资产 sqlparser:表、字段血缘解析、真实表解析、SQL 类型识别 - 实现:比较混乱,calcite、druid 以及 hive parser 混用 -``` - -核心问题是:**历史上针对 SQL 语法层面的扩展很少**,导致语法解析「一个不行就换另一个」,各种兜底;做过语法扩展的主要是基于 Calcite 扩展了少量语法(limit、starrocks 等)。 - -### 3.2 历史设计架构 - -改造前主要针对 Calcite(rdb 类型)、hive-exec(spark、hive)两类 SQL,Druid 与正则方式作为兜底。 - -![改造前的历史设计架构](assets/02-legacy-architecture.png) - -业务逻辑可以分为两类: - -**一类:SQL 类型识别、表解析、SQL 脱敏、行列级权限** - -1. 根据 SQL 类型用 Calcite、hive-exec 解析得到语法树; -2. 基于语法树做上述业务。 - -**另一类:血缘实现** - -1. 用 Calcite、hive-exec 解析得到语法树; -2. **自定义语法树**,实现两套转换器(Calcite AST → 自定义 AST、hive-exec AstNode → 自定义 AST); -3. 针对自定义语法树写一套血缘解析逻辑。 - -> 问题:转换与解析扫描过程中,历史上曾出现死循环导致子产品服务挂掉等各种情况。 - -![Calcite 分层扩展文章的探索](assets/03-calcite-layered-article.png) - -### 3.3 主要问题 - -1. **不同数据源语法解析扩展能力弱**:不同 rdb 语法需要正则前置处理,或单独去扩展语法,且扩展语法集中在一个模块; -2. **使用多种解析框架、各种兜底,代码维护难**:拿到语法树后的应用层解析逻辑也冗余在一起,到处是 `if` 判断数据源兼容逻辑,改一个地方可能影响其他地方,难以维护; -3. **血缘解析扩展弱、学习成本极高**:需要先了解 Calcite / AstNode 的节点定义,再具备自定义语法树能力,然后扩展两层转换逻辑(还容易死循环),最后才到血缘解析本身。 - ---- - -## 四、技术改造:双层分层 - -技术改造围绕两个层面分层:**语法解析层** 与 **业务解析层**。 - -### 4.1 语法解析层(基于 Druid) - -![语法解析层分层](assets/04-druid-syntax-layer.png) - -分层实现后,扫描器、解析器都支持继承复用,且相互独立、互不影响,结构类可自定义扩展: - -![Druid 分层结构类](assets/05-druid-layer-structure.png) - -```java -// 工具类指定数据源类型实现解析 -SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, DbType.doris); -SQLStatement statement = parser.parseStatement(); - -// 或直接 new 特定 Parser -DorisStatementParser statementParser = new DorisStatementParser(sql); -SQLStatement sqlStatement = statementParser.parseStatement(); -``` - -### 4.2 业务解析层 - -- **解析层**:不同数据源 → 统一抽象结构语法树; -- **应用层**:针对统一 AST 实现一套解析方法;特定数据源在 AST 中自定义了部分节点时,应用层再针对该数据源的节点做分层处理。 - -![业务解析分层](assets/06-business-layer.png) - -针对抽象语法树实现通用解析组件: - -![应用层通用解析组件](assets/07-application-components.png) - -后续扩展时,若在语法层单独实现了某个节点,只需继承 `BaseXxxClient`,单独实现差异方法即可,重复逻辑复用: - -![继承 BaseXxxClient 扩展](assets/08-inherit-baseclient.png) - -创建 Client 后,在对应 `XxxSqlParser` 中注册: - -![在方言解析器中注册 Client](assets/09-register-client.png) - -示例: - -```java -// 准备 SQL -String sql = getSql(); - -// 1、获取解析器(工厂方式) -ISqlParser sqlParser = SqlParserFactory.getSqlParser(DbType.mysql); - -// 2.1、解析表 -ParseTableResult parseTableResult = sqlParser.parseTables(sql); -System.out.println(parseTableResult.getMainTable()); // 主表 -System.out.println(parseTableResult.getAllTableName()); // 所有表 - -// 2.2、解析字段血缘(select * 场景可传入 tableColumnsMap 提供字段元数据) -ColumnLineageResult columnLineageResult = sqlParser.parseColumnLineages(sql, tableColumnsMap); - -// 2.3、解析表血缘 -TableLineageResult tableLineageResult = sqlParser.parseTableLineages(sql); - -// 2.4、解析函数 -Set functions = sqlParser.parseFunction(sql); -``` - -### 4.3 改造后整体实现 - -后续语法解析、业务层解析都可独立扩展: - -![改造后整体实现](assets/10-after-refactor.png) - ---- - -## 五、业务层解析的重新实现 - -历史上基于 Druid 的业务层实现很少(仅 API 解析、离线部分解析用 Druid 兜底),因此表解析、血缘解析都需要重新实现。 - -**有血缘特征的 SQL 类型**:`insert into/overwrite ... select`、`create ... select`、`with as ... insert`。 - -### 5.1 字段血缘解析 - -核心思路是**把来源与目标各自归一为一张二维表**。 - -以一条 `insert select` 为例: - -```sql -insert into new_table (id, name) -select a.id as aid, b.name as bname -from old_table as a -left join old_table2 b on a.id = b.id -``` - -1. 拆成两个部分:`insert` 目标端、`select` 来源端; -2. 各自追溯得到一组列表: - -```text -# 目标端 -真实字段 别名字段 真实表名 - id id new_table - name name new_table - -# 来源端 -真实字段 别名字段 真实表名 - id aid old_table - name bname old_table2 -``` - -3. 两组按固定规则匹配,即得字段血缘: - -```text -# 第一条 -admin 目标端 new_table.id ← 来源端 old_table.id -# 第二条 -目标端 new_table.name ← 来源端 old_table2.name -``` - -来源端的「真实表名 → 来源表」「真实字段 → 来源字段」,目标端的「别名字段 → 目标字段」。 - -对于 `with as` 场景,每个 CTE 的 `()` 作为一组同样归一为二维表再匹配;对于**单列来源于多字段**的场景(如 `concat(t1.name, t2.name)`),真实字段与真实表名以 `,` 合并,最终拆成多条血缘。 - -### 5.2 表血缘解析 - -本质与字段血缘类似,更多是对表进行分组列表,一个 `select` 同样得到一组「表、表别名」的二维表,最终与 `insert` 目标表匹配即可完成表血缘。 - -### 5.3 表解析 - -与表血缘类似,需要解析出所有真实表;除了追溯真实表的过程,还要合并没有被追溯到的真实表,同时覆盖比表血缘更多的 SQL 结构(`select`、`update`、`delete`、`insert`、`drop`、`rename` 等)。 - -### 5.4 函数解析 - -函数与血缘无关,直接使用 **Visitor 模式**收集所有函数即可: - -![基于 Visitor 的函数解析](assets/11-function-visitor.png) - -### 5.5 其他业务能力 - -- **SQL 脱敏(离线)**:复用字段血缘的 select column 组件拿到字段列表,再结合语法层位点能力进行改写;难点是 Druid 无精确原始 SQL 位点,需要扩展。 -- **行级权限改写 SQL**:利用 Druid API 补充 AST 节点,再转回 SQL,本质是根据主体 select 封装/补充条件节点后重新输出。 - ---- - -## 六、SqlParserX 的诞生 - -在内部双层改造验证落地之后,一个更清晰的想法出现了:**能不能把「基于 Druid 的 SQL 解析」做成一个纯净、可独立演进的开源项目?** - -于是有了 **SqlParserX** —— 一个无需依赖 Calcite、ANTLR 等其他解析组件,**完全基于 Druid 实现各类不同 SQL 解析**的开源项目。 - -### 6.1 双层架构 - -SqlParserX 将解析内核拆分为两个独立 Jar Module,结构对称、职责清晰: - -```text -SqlParserX(根 Reactor) -├── sqlparserx-engine(聚合父模块,packaging=pom) -│ ├── sqlparserx-syntax(jar,语法解析层,基于 Druid) ← 只管 SQL → AST -│ └── sqlparserx-core(jar,业务解析层,依赖 syntax) ← 只管 AST → 业务结果 -├── sqlparserx-web(HTTP 服务) -├── sqlparserx-mcp-server-sse(MCP Server) -└── sqlparserx-ui(前端) -``` - -- **语法解析层(`sqlparserx-syntax`)**:统一维护 Druid 依赖、SQL→AST、多语句解析与切分,以及后续数据源 Lexer / StatementParser / AST Node 扩展; -- **业务解析层(`sqlparserx-core`)**:基于统一 AST 实现真实表、建表结构、表/字段血缘、函数与 SQL 权限改写。 - -两层以 `DbType + SQLStatement AST` 作为连接契约,**不额外复制一套 AST**,避免长期转换与同步。详细设计见 [模块依赖包引用结构设计](https://github.com/DTStack/SqlParserX/blob/master/docs/02、SQL业务层解析能力支撑情况/模块依赖包引用结构设计.md)。 - -### 6.2 从内部二开走向官方 Druid - -项目早期依赖内部二开的 Druid 版本,随着能力沉淀,SqlParserX 已统一为**官方 Druid 1.2.28**,降低维护成本、方便社区协作。语法层坚持「**不在业务层用大量正则替换规避语法问题**」,方言语法差异一律回到语法层按 Druid 的方式扩展。 - -### 6.3 能力与文档体系 - -SqlParserX 不仅提供代码,也提供了一套可维护的文档体系: - -- [双层架构设计](/docs/about/architecture) -- [模块依赖包引用结构设计](https://github.com/DTStack/SqlParserX/blob/master/docs/02、SQL业务层解析能力支撑情况/模块依赖包引用结构设计.md) -- [Druid 版本与 SQL 语法支持情况](https://github.com/DTStack/SqlParserX/blob/master/docs/01、SQL语法层解析能力支撑情况/Druid版本与SQL语法支持情况.md) -- [能力支持情况(数据源 + 通用解析能力)](https://github.com/DTStack/SqlParserX/tree/master/docs/02、SQL业务层解析能力支撑情况/能力支持情况) -- [解析能力标准迭代维护扩展指南](https://github.com/DTStack/SqlParserX/blob/master/docs/02、SQL业务层解析能力支撑情况/标准迭代维护扩展文档/SqlParserX解析能力标准迭代维护扩展指南.md) - -### 6.4 目标 - -- 无需依赖 Calcite、ANTLR 等其他解析组件,**完全基于 Druid** 实现各种数据源的 SQL 解析; -- **语法问题扩展 Druid,业务语义扩展 SqlParserX**;通用能力沉淀 Base,数据源差异按方言覆盖; -- 新增数据源时,语法差异在语法层扩展,业务差异在业务层扩展,上下两层通过 `DbType` 与 AST 对齐。 - ---- - -## 七、结语 - -从「散落各处的解析器 + 各种兜底」到「统一 AST + 双层分层」,再到「一个纯净、只依赖 Druid 的开源项目」,SqlParserX 的诞生不是一次性的重构,而是一次次把问题放回正确层次的取舍: - -> **语法问题扩展 Druid,业务语义扩展 SqlParserX;通用能力沉淀 Base,数据源差异按方言覆盖。** - -如果你在做多数据源的 SQL 解析、血缘、表解析相关工作,欢迎一起交流与共建。 - ---- - -> 作者:changlu | 2026-09-28 -> -> 本文图片位于 `assets/` 目录,仓库内以相对路径引用。 diff --git a/website/blog/authors.yml b/website/blog/authors.yml deleted file mode 100644 index ecd90a5..0000000 --- a/website/blog/authors.yml +++ /dev/null @@ -1,8 +0,0 @@ -changlu: - name: changlu - title: SqlParserX 维护者 - url: https://github.com/DTStack/SqlParserX - image_url: https://github.com/github.png - page: true - socials: - github: DTStack \ No newline at end of file diff --git a/website/blog/tags.yml b/website/blog/tags.yml deleted file mode 100644 index 2d0e3e0..0000000 --- a/website/blog/tags.yml +++ /dev/null @@ -1,4 +0,0 @@ -origin: - label: 起源与背景 - permalink: /origin - description: SqlParserX 的诞生起源与内部改造历程 \ No newline at end of file diff --git a/website/docs/about/architecture.md b/website/docs/about/architecture.md deleted file mode 100644 index 9d162b7..0000000 --- a/website/docs/about/architecture.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: 架构设计 -description: SqlParserX 双层统一扩展架构 -sidebar_label: 架构设计 -sidebar_position: 2 ---- - -# SqlParserX 双层统一扩展架构 - -SqlParserX 的解析内核由两套相互衔接、结构对称的扩展体系组成,分别落在两个独立 Jar Module: - -- **SQL 语法解析层(`sqlparserx-syntax`)**:基于官方 Druid,通过统一的方言路由、Parser 基座和 AST 模型,扩展不同数据源的 Lexer、StatementParser 与 AST Node。 -- **SqlParserX 业务解析层(`sqlparserx-core`)**:通过统一的方言路由、`ISqlParser` 契约和业务 Client,扩展不同数据源的表解析、血缘解析与 SQL 改写逻辑。 - -两层都遵循“**统一入口 → 通用基座 → 统一扩展点 → 数据源实现 → 统一结果**”的模式。新增数据源时,语法差异在 Druid 层扩展,业务差异在 SqlParserX 层扩展,上下两层通过 `DbType` 和 Druid AST 对齐。 - -![SqlParserX 双层统一扩展架构](/img/architecture/SqlParserX两层架构.png) - -## 总体架构 - -```mermaid -flowchart TB - subgraph Business[sqlparserx-core|SqlParserX 业务解析层] - direction LR - B_ROUTE[统一方言路由
SqlParserFactory] - B_BASE[统一业务基座
ISqlParser · BaseSqlParser · Base Client] - B_EXT[统一扩展点
方言 Client · 解析策略] - B_DIALECT[数据源业务实现
MySQL · Doris · StarRocks · ...] - B_RESULT[统一业务结果
表 · 建表结构 · 血缘 · SQL] - B_ROUTE --> B_BASE --> B_EXT --> B_DIALECT --> B_RESULT - end - - subgraph Syntax[sqlparserx-syntax|SQL 语法解析层,基于 Druid] - direction LR - S_ROUTE[统一方言路由
SqlSyntaxParserFactory · DbType] - S_BASE[统一语法基座
Lexer · StatementParser · AST] - S_EXT[统一扩展点
方言 Lexer · Parser · AST Node] - S_DIALECT[数据源语法实现
MySQL · Doris · Oracle · ...] - S_RESULT[统一语法结果
SQLStatement AST] - S_ROUTE --> S_BASE --> S_EXT --> S_DIALECT --> S_RESULT - end - - B_ROUTE -. DbType 对齐 .-> S_ROUTE - B_DIALECT -. 同一数据源方言 .-> S_DIALECT - B_BASE -->|SQL + DbType| S_BASE - S_RESULT -->|SQLStatement AST| B_BASE -``` - -## 两层职责 - -| 统一扩展阶段 | SQL 语法解析层(`sqlparserx-syntax`) | SqlParserX 业务解析层(`sqlparserx-core`) | -|---|---|---| -| 统一方言路由 | `SqlSyntaxParserFactory` 按 `DbType` 选择对应语法方言 | `SqlParserFactory` 根据同一个 `DbType` 选择业务解析器 | -| 通用基座 | 通用 Lexer、StatementParser 和 AST | `ISqlParser`、`BaseSqlParser` 和 Base Client | -| 统一扩展点 | 方言 Lexer、方言 StatementParser、方言 AST Node | `IParseTableClient`、`IColumnLineageClient`、`ITableLineageClient`、解析策略等 | -| 数据源实现 | MySQL、Doris、Oracle、Hive 等 Druid 方言实现 | MySQL、Doris、StarRocks、Hive 等业务方言实现 | -| 统一结果 | `SQLStatement` AST | 表、建表结构、字段血缘、表血缘、函数及改写后的 SQL | - -## 模块依赖 - -```text -Access: sqlparserx-web (REST) / sqlparserx-ui - │ unified ISqlParser contract -Business layer: sqlparserx-core - │ SQL + DbType / SQLStatement AST -Syntax layer: sqlparserx-syntax (Druid 1.2.28) -``` - -业务扩展遵循 `SqlParserFactory` → `ISqlParser` → `BaseSqlParser` → 方言实现的模式。完整的模块依赖与包结构见 `sqlparserx-core` 模块的 README。 \ No newline at end of file diff --git a/website/docs/about/introduction.md b/website/docs/about/introduction.md deleted file mode 100644 index 74bf933..0000000 --- a/website/docs/about/introduction.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: SqlParserX 介绍 -description: SqlParserX 的定位、能力与模块组成 -sidebar_label: SqlParserX介绍 -sidebar_position: 1 ---- - -# SqlParserX 介绍 - -SqlParserX 是一个**多方言 SQL 解析引擎与工具包**,提供 SQL 类型识别、表/DDL 解析、表与字段血缘、函数提取以及参数提取与预编译能力。 - -## 解决的典型问题 - -| 问题 | 方案 | -|---|---| -| 不同 SQL 方言语法差异大 | 通过 `DbType` 路由 Druid 方言,统一 AST | -| 真实表与 DDL 藏在 SQL 文本中 | 表、CTE、`CREATE TABLE`、分区与属性解析 | -| 数据依赖难以追踪 | 覆盖 JOIN、UNION、子查询、聚合与 CTE 的表/字段血缘 | -| 脚本中包含多条语句 | SQL 拆分与语法校验 | -| 权限谓词难以维护 | 行级权限 SQL 改写 | - -## 模块组成 - -| 模块 | 层次 | 说明 | 技术栈 | -|---|---|---|---| -| `sqlparserx-syntax` | 语法解析层 | SQL 转 AST、校验、拆分与 Druid 方言扩展 | Java 8 + Druid 1.2.28 | -| `sqlparserx-core` | 业务解析层 | 表、血缘、DDL、函数与 SQL 改写 | Java 8 + `sqlparserx-syntax` | -| `sqlparserx-web` | 访问层 | Spring Boot REST 服务 | Spring Boot 2.3.12 + Java 8 | -| `sqlparserx-ui` | 访问层 | 血缘可视化与在线解析工具 | Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5 | - -## 数据源支持 - -| 数据源 | 支持说明 | -|---|---| -| MySQL | 重点支持,增强 `RENAME TABLE` 处理 | -| Doris | 重度支持,DDL 与血缘有专项测试 | -| StarRocks | 支持独立的 `DISTRIBUTED BY` 与关键 DDL | -| Hive / ClickHouse / Oracle / DM | 已注册解析器,通用业务实现 | - -完整的语法层与业务层支撑矩阵见[核心解析能力使用](../core/field-lineage.md)与项目 `docs/` 目录下的能力支持文档。 - -## 延伸阅读 - -- [架构设计](./architecture.md) -- 项目背景:[SqlParserX 的诞生起源背景](/blog/origin-of-sqlparserx) diff --git a/website/docs/contributing.md b/website/docs/contributing.md deleted file mode 100644 index 36b147c..0000000 --- a/website/docs/contributing.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: 贡献指南 -description: 参与 SqlParserX 开发的流程与规范 -sidebar_label: 贡献指南 -sidebar_position: 1 ---- - -# 贡献指南 - -感谢你对 SqlParserX 的关注!欢迎通过 Issue、Pull Request 参与共建。 - -## 参与方式 - -- 提交 Bug 或需求:[GitHub Issues](https://github.com/DTStack/SqlParserX/issues) -- 提交代码:[GitHub Pull Requests](https://github.com/DTStack/SqlParserX/pulls) -- 讨论交流:见[社区](/community) - -## 开发流程 - -1. Fork 仓库并创建特性分支:`git checkout -b feature/xxx` -2. 本地构建:`mvn clean install -DskipTests` -3. 编写代码与测试,确保 `mvn test` 通过 -4. 提交并推送分支,发起 Pull Request -5. 通过 CI 与 Review 后合并 - -## 代码约定 - -- 遵循现有模块分层:语法差异改 `sqlparserx-syntax`,业务差异改 `sqlparserx-core` -- 新增数据源时,同步补充能力支持文档与回归测试 -- 保持与现有代码风格一致,不引入无关依赖 - -## 文档约定 - -- 文档统一维护在项目根目录 `docs/`,本站文档从中同步 -- 新增解析能力时,更新对应「能力支持情况」文档 -- 参考[架构设计](./about/architecture.md)理解两层扩展模式 \ No newline at end of file diff --git a/website/docs/core/field-lineage.md b/website/docs/core/field-lineage.md deleted file mode 100644 index 25651d5..0000000 --- a/website/docs/core/field-lineage.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: 字段血缘解析 -description: 从 SQL 推导来源表.来源字段 → 目标表.目标字段 的字段级血缘关系 -sidebar_label: 字段血缘解析 -sidebar_position: 1 ---- - -# 字段血缘解析 - -## 1. 引入依赖 - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` 已传递依赖 `sqlparserx-syntax` 与 Druid,无需额外引入。 - -## 2. 完整示例 - -从获取解析器、构造元数据到打印字段血缘的**完整可运行**类: - -```java title="FieldLineageDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; - -import com.alibaba.druid.DbType; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class FieldLineageDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1、准备元数据:表 -> 字段列表(用于 select * / 字段展开) - Map> tableColumnsMap = new HashMap<>(); - tableColumnsMap.put("users", Arrays.asList( - new Column("id", 0), new Column("name", 1))); - tableColumnsMap.put("orders", Arrays.asList( - new Column("amount", 0), new Column("id", 1))); - - // 2、获取解析器 - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 3、解析字段血缘 - ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap); - - // 4、打印结果:目标表 + 目标字段 -> 来源字段 - System.out.println("目标表: " + result.getTargetTable()); - result.printColumnLineage(); - } -} -``` - -控制台输出(示例): - -```text -目标表: user_order_summary -users.id -> user_order_summary.user_id -users.name -> user_order_summary.name -orders.amount -> user_order_summary.total_amount -orders.id -> user_order_summary.order_count -``` - -## 3. 实现目标 - -从 SQL 中推导 **来源表.来源字段 → 目标表.目标字段** 的字段级血缘关系。 - -核心思路:把「来源 select 字段列表」与「目标字段列表」各自归一为 `(真实字段, 别名字段, 真实表名)` 的三元组集合,再按固定匹配规则生成血缘。字段血缘的输入是插入/建表类 SQL,纯查询 SQL 不产生血缘。 - -```text -SQLInsertStatement / SQLCreateTableStatement(AS SELECT) - → ColumnLineageClient.parseColumnLineages - → 目标字段列表 + 来源 select 字段列表 - → addColumnRelations 逐条匹配 - → ColumnLineageResult -``` - -## 4. 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseColumnLineages(sql, tableColumnsMap)` | -| 默认实现 | `BaseSqlParser.parseColumnLineages` → `ColumnLineageClient` | -| 返回类型 | `ColumnLineageResult`(`getColumnRelations()` + `getColumnLineages()`) | -| 适用语句 | `SQLInsertStatement`、`SQLCreateTableStatement`(AS SELECT) | -| 元数据输入 | `Map> tableColumnsMap`(表 → 字段列表) | - -## 5. 支持粒度与深度 - -### 字段场景 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| `catalog.db.table.column` 字段识别 | **已支持 ✅** | 支持 Hive/Trino/StarRocks 等多 catalog 场景 | -| `db.table.column` 字段识别 | **已支持 ✅** | MySQL/PostgreSQL 等标准用法 | -| 字段表达式计算(`SQLBinaryOpExpr`) | **已支持 ✅** | 如 `t5.level + 1`,左右递归收集字段 | -| `*` / `xx.*` 展开 | **已支持 ✅** | 依据元数据 `tableColumnsMap` 读取字段;无元数据保留 `*` | - -> 更多字段场景、表达式与子查询的覆盖情况,以项目 `docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/字段血缘解析支持情况.md` 为准。 \ No newline at end of file diff --git a/website/docs/core/function-parse.md b/website/docs/core/function-parse.md deleted file mode 100644 index 23da227..0000000 --- a/website/docs/core/function-parse.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: 函数解析 -description: 提取 SQL 中使用的函数及其参数与上下文 -sidebar_label: 函数解析 -sidebar_position: 4 ---- - -# 函数解析 - -## 1. 引入依赖 - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` 已传递依赖 `sqlparserx-syntax` 与 Druid,无需额外引入。 - -## 2. 完整示例 - -沿用官方 `sqlparserx-core/README.md` 的示例 SQL,提取 SQL 中出现的函数集合: - -```java title="FunctionParseDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; - -import com.alibaba.druid.DbType; - -import java.util.Set; - -public class FunctionParseDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1、获取解析器 - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2、解析 SQL 中出现的函数 - Set functions = parser.parseFunction(sql); - - // 3、读取结果 - System.out.println("函数集合: " + functions); - } -} -``` - -控制台输出(示例): - -```text -函数集合: [sum, count] -``` - -## 3. 实现目标 - -从 SQL 中提取**函数调用**信息,返回去重后的函数名集合,便于做函数级治理与依赖分析。 - -```text -SQLStatement AST - → BaseSqlParser.parseFunction - → 遍历 AST 收集函数表达式 - → Set 函数集合 -``` - -## 4. 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseFunction(sql)` | -| 默认实现 | `BaseSqlParser.parseFunction` | -| 返回类型 | `Set`(函数名集合,统一小写) | -| 覆盖范围 | 内置函数、聚合函数、窗口函数、自定义函数 | - -## 5. 支持粒度 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| 普通函数调用 | **已支持 ✅** | 如 `substr(name, 1, 3)` | -| 聚合函数 | **已支持 ✅** | 如 `sum`、`count`、`max` | -| 窗口函数 | **已支持 ✅** | 如 `row_number() over(...)` | -| 嵌套函数 | **已支持 ✅** | 递归收集内外层函数 | - -> 更多函数场景与数据源差异,以项目 `docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/函数解析支持情况.md` 为准。 \ No newline at end of file diff --git a/website/docs/core/parameter-compile.md b/website/docs/core/parameter-compile.md deleted file mode 100644 index 4627522..0000000 --- a/website/docs/core/parameter-compile.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: 参数提取与预编译 -description: 提取 SELECT 动态参数并生成 JDBC 预编译 SQL -sidebar_label: 参数提取与预编译 -sidebar_position: 6 ---- - -# 参数提取与预编译 - -SqlParserX 可识别 SELECT 中的 `${变量}`,返回输入参数和输出字段;传入参数值后,可生成 JDBC `?` 占位符 SQL 与按出现顺序排列的绑定值。 - -```java title="ParameterCompileDemo.java" -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); -String sql = "SELECT id, name FROM users " - + "WHERE dt = '${bizdate}' AND region = '${region}'"; - -// 第一步:提取输入参数与输出字段 -ParseParameterResult parsed = parser.parseParameterSql( - sql, false, Collections.emptyMap()); -parsed.getInputParams().forEach(param -> - System.out.println(param.getName() + " / " + param.getSqlPart())); - -// 第二步:传入参数值并生成预编译 SQL -Map values = new HashMap<>(); -values.put("bizdate", "20261014"); -values.put("region", "hangzhou"); - -PrepareCompileResult compiled = parser.buildSqlByPrepareCompile( - sql, values, Collections.emptyMap()); -System.out.println(compiled.getBeautifulSql()); -System.out.println(compiled.getInputFields()); -``` - -输出示例: - -```text -SELECT id, name FROM users WHERE dt = ? AND region = ? -[20261014, hangzhou] -``` - -## 返回内容 - -| 阶段 | 返回内容 | -|---|---| -| 参数提取 | 输入参数名称、类型、是否必填、默认值、SQL 片段以及输出字段 | -| 预编译 | 格式化后的占位符 SQL 与有序绑定值列表 | - -当前通用实现面向 SELECT;排序、分组等标识符位置的变量会以内联方式处理。 diff --git a/website/docs/core/sql-type.md b/website/docs/core/sql-type.md deleted file mode 100644 index 14b0c42..0000000 --- a/website/docs/core/sql-type.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: SQL 类型识别 -description: 基于解析后的语法树识别 SQL 业务类型 -sidebar_label: SQL 类型识别 -sidebar_position: 1 ---- - -# SQL 类型识别 - -`parseSqlType` 先按所选数据源方言构建 Druid AST,再返回统一的 `SqlType`,适合语句路由、审计分类和执行策略选择。 - -```java title="SqlTypeDemo.java" -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.enums.SqlType; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; - -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -SqlType queryType = parser.parseSqlType("SELECT id FROM users"); -SqlType insertType = parser.parseSqlType( - "INSERT INTO target_table SELECT id FROM source_table"); - -System.out.println(queryType); // QUERY -System.out.println(insertType); // INSERT -``` - -## 支持范围 - -| 分类 | 典型类型 | -|---|---| -| 查询 | `QUERY`、`WITH_QUERY`、`QUERY_NO_FROM` | -| DML | `INSERT`、`UPDATE`、`DELETE`、`MERGE_INTO` | -| DDL | `CREATE`、`CREATE_AS`、`ALTER`、`DROP`、`TRUNCATE` | -| 管理与查看 | `SHOW_TABLES`、`SHOW_COLUMNS`、`DESC_TABLE`、`EXPLAIN` | -| 其他 | 无法归类的 AST 返回 `OTHER` | - -具体 SQL 能否构建 AST,仍取决于所选数据源的方言支持情况。 diff --git a/website/docs/core/table-lineage.md b/website/docs/core/table-lineage.md deleted file mode 100644 index 9f0a9a6..0000000 --- a/website/docs/core/table-lineage.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: 表血缘解析 -description: 解析 SQL 中来源表到目标表的血缘关系 -sidebar_label: 表血缘解析 -sidebar_position: 2 ---- - -# 表血缘解析 - -## 1. 引入依赖 - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` 已传递依赖 `sqlparserx-syntax` 与 Druid,无需额外引入。 - -## 2. 完整示例 - -沿用官方 `sqlparserx-core/README.md` 的示例 SQL,从获取解析器到打印表血缘: - -```java title="TableLineageDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; - -import com.alibaba.druid.DbType; - -import java.util.List; - -public class TableLineageDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1、获取解析器 - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2、解析表血缘 - TableLineageResult result = parser.parseTableLineages(sql); - - // 3、读取结果 - System.out.println("目标表: " + result.getTargetTable()); - System.out.println("来源表: " + result.getSourceTables()); - - List tableLineages = result.getTableLineages(); - for (TableLineage lineage : tableLineages) { - System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable()); - } - } -} -``` - -控制台输出(示例): - -```text -目标表: user_order_summary -来源表: [users, orders] -users -> user_order_summary -orders -> user_order_summary -``` - -## 3. 实现目标 - -从 SQL 中解析**目标表 → 来源表**的表级血缘关系,覆盖 JOIN、UNION、子查询、聚合与 CTE 等结构。 - -```text -SQLStatement AST - → TableLineageClient.parseTableLineages - → 收集来源表 + 目标表 - → TableLineageResult -``` - -## 4. 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseTableLineages(sql)` | -| 默认实现 | `BaseSqlParser.parseTableLineages` → `TableLineageClient` | -| 返回类型 | `TableLineageResult`(`getTargetTable()` + `getSourceTables()` + `getTableLineages()`) | -| 覆盖结构 | JOIN、UNION、子查询、聚合、CTE | - -## 5. 支持粒度 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| 单表 / 多表 JOIN | **已支持 ✅** | 解析所有参与表 | -| UNION / UNION ALL | **已支持 ✅** | 归并各分支来源表 | -| 子查询 / 派生表 | **已支持 ✅** | 递归收集真实表 | -| CTE(WITH) | **已支持 ✅** | 识别 CTE 与其真实来源 | -| `INSERT INTO ... SELECT` | **已支持 ✅** | 输出目标表与来源表 | - -> 更多表血缘场景与数据源差异,以项目 `docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表血缘解析支持情况.md` 为准。 \ No newline at end of file diff --git a/website/docs/core/table-parse.md b/website/docs/core/table-parse.md deleted file mode 100644 index ad70fd5..0000000 --- a/website/docs/core/table-parse.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: 表解析 -description: 从 SQL 文本中解析真实表、CTE、CREATE TABLE、分区与属性 -sidebar_label: 表解析 -sidebar_position: 3 ---- - -# 表解析 - -## 1. 引入依赖 - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` 已传递依赖 `sqlparserx-syntax` 与 Druid,无需额外引入。 - -## 2. 完整示例 - -同样沿用官方 `sqlparserx-core/README.md` 的示例 SQL,演示「解析真实表」与「解析建表语句」: - -```java title="TableParseDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.DbType; - -public class TableParseDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1、获取解析器 - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2、解析 SQL 中的真实表 - ParseTableResult tableResult = parser.parseTables(sql); - System.out.println("主表: " + tableResult.getMainTable().getName()); - System.out.println("所有表: " + tableResult.getAllTableName()); - - // 3、解析 CREATE TABLE 语句结构 - ParseCreateTableResult createResult = parser.parseCreateTable(sql); - System.out.println("建表名: " + createResult.getDb() + "." + createResult.getTableName()); - System.out.println("字段数: " + createResult.getTableElementList().size()); - } -} -``` - -控制台输出(示例): - -```text -主表: users -所有表: [user_order_summary, users, orders] -建表名: null.user_order_summary -字段数: 4 -``` - -## 3. 实现目标 - -从 SQL 文本中识别**真实表**,包括普通查询用表、CTE、`CREATE TABLE` 定义、分区与表属性等。 - -```text -SQLStatement AST - → ParseTableClient.parseTables / parseCreateTable - → 收集表 / CTE / 建表结构 / 分区 / 属性 - → ParseTableResult / ParseCreateTableResult -``` - -## 4. 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseTables(sql)`、`ISqlParser.parseCreateTable(sql)` | -| 默认实现 | `BaseSqlParser.parseTables` → `ParseTableClient` | -| 返回类型 | `ParseTableResult`、`ParseCreateTableResult` | -| 覆盖对象 | 查询用表、CTE、`CREATE TABLE`、分区、表属性 | - -## 5. 支持粒度 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| 查询用表识别 | **已支持 ✅** | SELECT / INSERT / UPDATE / DELETE | -| CTE 识别 | **已支持 ✅** | WITH 定义的临时表 | -| `CREATE TABLE` DDL | **已支持 ✅** | 表名、字段、类型、注释 | -| 分区与表属性 | **已支持 ✅** | 各数据源方言差异内聚在语法层 | -| `catalog.db.table` 多级命名 | **已支持 ✅** | 多 catalog 场景 | - -> 更多表解析场景与数据源差异,以项目 `docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表解析支持情况.md` 为准。 \ No newline at end of file diff --git a/website/docs/intro.md b/website/docs/intro.md deleted file mode 100644 index 5dab59f..0000000 --- a/website/docs/intro.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: SqlParserX 文档 -description: SqlParserX 多方言 SQL 解析引擎与工具包的文档入口 -slug: /intro -sidebar_label: 文档导读 -sidebar_position: 1 ---- - -# 欢迎使用 SqlParserX - -SqlParserX 是一个**多方言 SQL 解析引擎与工具包**,面向 SQL 类型识别、表/DDL 解析、表与字段血缘、函数提取以及参数提取与预编译等场景。 - -项目采用两层架构:`sqlparserx-syntax` 负责把 SQL 解析为 Druid AST 并承载语法扩展;`sqlparserx-core` 通过统一的 `ISqlParser` 契约消费 AST,产出业务解析结果。`sqlparserx-web` 与 `sqlparserx-ui` 提供服务化与可视化访问能力。 - -## 从这里开始 - -- 🚀 [快速开始](./quickstart/setup.md) -- 📖 [SqlParserX 介绍](./about/introduction.md) -- 🏗️ [架构设计](./about/architecture.md) - -## 文档结构 - -- **关于 SqlParserX**:项目介绍与两层架构设计 -- **快速开始**:环境准备、构建与运行 -- **核心解析能力使用**:SQL 类型识别、字段血缘、表血缘、表解析、函数解析、参数提取与预编译 -- **贡献指南**:参与贡献的流程与规范 - -:::tip 提示 -本站右侧导航栏可切换**版本**(`1.0` / `Next`)与**语言**(简体中文 / English)。 -::: diff --git a/website/docs/quickstart/setup.md b/website/docs/quickstart/setup.md deleted file mode 100644 index 041794e..0000000 --- a/website/docs/quickstart/setup.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: 快速开始 -description: 引入依赖、构建并在本地运行 SqlParserX 的完整示例 -sidebar_label: 环境准备与构建 -sidebar_position: 1 ---- - -# 快速开始 - -## 1. 环境要求 - -| 依赖 | 版本 | -|---|---| -| JDK | Java 8+ | -| Maven | 3.6+ | -| Node.js(仅 `sqlparserx-ui`) | >= 20 | - -## 2. 引入依赖 - -在业务工程的 `pom.xml` 中引入**业务解析层** `sqlparserx-core` 即可: - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -:::tip 依赖说明 -`sqlparserx-core` 会**传递依赖** `sqlparserx-syntax`(语法层)与官方 Druid,因此业务解析只需引入 `core` 一个坐标;若只做 SQL→AST 的语法解析,也可以单独引入 `sqlparserx-syntax`。 -::: - -:::note 从源码使用 -`1.0-SNAPSHOT` 若尚未发布到远程仓库,请先拉取源码并安装到本地仓库: - -```bash -git clone https://github.com/DTStack/SqlParserX.git -cd SqlParserX -mvn clean install -DskipTests -``` - -之后上面的坐标即可在本地直接使用。 -::: - -## 3. Hello World:解析一段 SQL - -下面是一个**完整可运行**的类,覆盖解析表、字段血缘、表血缘与函数四类能力, -与官方 `sqlparserx-core/README.md` 中的示例保持一致: - -```java title="SqlParserXDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.DbType; - -import java.util.*; - -public class SqlParserXDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1、按数据源类型获取解析器(支持 mysql/hive/doris/... 15+ 方言) - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2、解析真实表 - ParseTableResult tableResult = parser.parseTables(sql); - System.out.println("主表: " + tableResult.getMainTable().getName()); - System.out.println("所有表: " + tableResult.getAllTableName()); - - // 3、解析字段血缘(select * 场景可传入真实字段元数据) - Map> tableColumnsMap = new HashMap<>(); - tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1))); - tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1))); - ColumnLineageResult columnLineageResult = - parser.parseColumnLineages(sql, tableColumnsMap); - columnLineageResult.printColumnLineage(); - - // 4、解析表血缘 - TableLineageResult tableLineageResult = parser.parseTableLineages(sql); - List tableLineages = tableLineageResult.getTableLineages(); - System.out.println("表血缘: " + tableLineages); - - // 5、解析函数 - Set functions = parser.parseFunction(sql); - System.out.println("函数集合: " + functions); - } -} -``` - -控制台输出(示例): - -```text -主表: users -所有表: [user_order_summary, users, orders] -users.id -> user_order_summary.user_id -users.name -> user_order_summary.name -orders.amount -> user_order_summary.total_amount -orders.id -> user_order_summary.order_count -表血缘: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...] -函数集合: [sum, count] -``` - -## 4. 下一步 - -各核心能力的**依赖引入 + 完整示例**见: - -- [字段血缘解析](../core/field-lineage.md) -- [表血缘解析](../core/table-lineage.md) -- [表解析](../core/table-parse.md) -- [函数解析](../core/function-parse.md) \ No newline at end of file diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js deleted file mode 100644 index d87958b..0000000 --- a/website/docusaurus.config.js +++ /dev/null @@ -1,191 +0,0 @@ -// @ts-check -// 这是本站(SqlParserX 官网文档模板)的 Docusaurus 总配置。 -// 参考 DTStack/Taier 官网结构复刻,并内置: -// 1) 深浅色主题切换 2) 文档版本管理 3) 多语言 i18n 4) GitHub Pages 一键发布 -// See: https://docusaurus.io/docs/api/docusaurus-config - -import {themes as prismThemes} from 'prism-react-renderer'; - -// 运行在 Node 侧,不要在这里写浏览器代码。 -/** @type {import('@docusaurus/types').Config} */ -const config = { - // -------- 品牌信息(改这里即可换品牌) -------- - title: 'SqlParserX', - tagline: '多方言 SQL 解析引擎与工具包', - favicon: 'img/logo.png', - - // 兼容未来的 Docusaurus v4 - future: { - v4: true, - }, - - // -------- 部署信息(GitHub Pages 必改) -------- - // 组织/用户站点:https://.github.io,baseUrl 用 '/' - // 项目站点:https://.github.io//,baseUrl 用 '//' - url: 'https://dtstack.github.io', - baseUrl: process.env.DOCUSAURUS_BASE_URL || '/SqlParserX/', - organizationName: 'DTStack', // GitHub 组织/用户名 - projectName: 'SqlParserX', // GitHub 仓库名 - deploymentBranch: 'gh-pages', // docusaurus deploy 推送到的分支 - trailingSlash: false, - - // -------- 质量约束 -------- - onBrokenLinks: 'throw', - markdown: { - mermaid: true, - hooks: { - onBrokenMarkdownLinks: 'warn', - }, - }, - - themes: ['@docusaurus/theme-mermaid'], - - // -------- 多语言 i18n:能力 3 -------- - i18n: { - defaultLocale: 'zh-Hans', - locales: ['zh-Hans', 'en'], - localeConfigs: { - 'zh-Hans': {label: '简体中文', direction: 'ltr', htmlLang: 'zh-Hans'}, - en: {label: 'English', direction: 'ltr', htmlLang: 'en'}, - }, - }, - - presets: [ - [ - 'classic', - /** @type {import('@docusaurus/preset-classic').Options} */ - ({ - docs: { - sidebarPath: './sidebars.js', - // 每页「编辑此页」链接,替换成你的仓库地址 - editUrl: - 'https://github.com/DTStack/SqlParserX/tree/master/website/', - // 显示「最后更新时间/作者」需要站点位于 Git 仓库中; - // 若已纳入 Git 管理,可改为 true 开启。 - showLastUpdateAuthor: false, - showLastUpdateTime: false, - // -------- 版本管理:能力 2 -------- - // 新增版本:npm run docs:version 1.0.0 - versions: { - current: { - label: 'Next 🚧', - // 当前开发版(未发布)的访问路径为 /docs/next/ - }, - }, - lastVersion: '1.0', - }, - blog: { - showReadingTime: true, - feedOptions: { - type: ['rss', 'atom'], - xslt: true, - }, - editUrl: - 'https://github.com/DTStack/SqlParserX/tree/master/website/', - onInlineTags: 'warn', - onInlineAuthors: 'warn', - onUntruncatedBlogPosts: 'warn', - }, - theme: { - customCss: './src/css/custom.css', - }, - // 如需接入 Google Analytics,取消下面注释并填入你的 trackingID - // gtag: { - // trackingID: 'G-XXXXXXXXXX', - // anonymizeIP: true, - // }, - }), - ], - ], - - themeConfig: - /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ - ({ - image: 'img/social-card.svg', - - // -------- 深浅色主题切换:能力 1 -------- - colorMode: { - defaultMode: 'light', - disableSwitch: false, - respectPrefersColorScheme: true, // 跟随系统 - }, - - announcementBar: { - id: 'announcement', - content: '⭐ 如果你觉得 SqlParserX 有用,欢迎到 GitHub 点个 Star', - backgroundColor: '#fafbfc', - textColor: '#091E42', - isCloseable: true, - }, - - navbar: { - title: 'SqlParserX', - logo: { - alt: 'SqlParserX Logo', - src: 'img/logo.png', - }, - items: [ - {to: '/', label: '首页', position: 'left'}, - { - type: 'docSidebar', - sidebarId: 'docs', - position: 'left', - label: '文档', - }, - {to: '/blog', label: '博客', position: 'left'}, - {to: '/community', label: '社区', position: 'left'}, - // 版本下拉:多版本切换 - {type: 'docsVersionDropdown', position: 'right'}, - // 语言下拉:多语种切换 - {type: 'localeDropdown', position: 'right'}, - { - href: 'https://github.com/DTStack/SqlParserX', - position: 'right', - className: 'header-github-link', - 'aria-label': 'GitHub repository', - }, - ], - }, - - footer: { - style: 'light', - links: [ - { - title: '文档', - items: [ - {label: '介绍', to: '/docs/about/introduction'}, - {label: '快速开始', to: '/docs/quickstart/setup'}, - {label: '参与贡献', to: '/docs/contributing'}, - ], - }, - { - title: '社区', - items: [ - { - label: 'GitHub', - href: 'https://github.com/DTStack/SqlParserX', - }, - {label: '博客', to: '/blog'}, - {label: '社区', to: '/community'}, - ], - }, - { - title: '更多', - items: [ - {label: '发行版', href: 'https://github.com/DTStack/SqlParserX/releases'}, - {label: '架构设计', to: '/docs/about/architecture'}, - ], - }, - ], - copyright: `Copyright © ${new Date().getFullYear()} dtstack · SqlParserX`, - }, - - prism: { - theme: prismThemes.github, - darkTheme: prismThemes.dracula, - additionalLanguages: ['bash', 'json', 'nginx', 'java', 'sql', 'python'], - }, - }), -}; - -export default config; diff --git a/website/i18n/en/code.json b/website/i18n/en/code.json deleted file mode 100644 index 11333d1..0000000 --- a/website/i18n/en/code.json +++ /dev/null @@ -1,518 +0,0 @@ -{ - "theme.ErrorPageContent.title": { - "message": "This page crashed.", - "description": "The title of the fallback page when the page crashed" - }, - "theme.BackToTopButton.buttonAriaLabel": { - "message": "Scroll back to top", - "description": "The ARIA label for the back to top button" - }, - "theme.blog.archive.title": { - "message": "Archive", - "description": "The page & hero title of the blog archive page" - }, - "theme.blog.archive.description": { - "message": "Archive", - "description": "The page & hero description of the blog archive page" - }, - "theme.blog.paginator.navAriaLabel": { - "message": "Blog list page navigation", - "description": "The ARIA label for the blog pagination" - }, - "theme.blog.paginator.newerEntries": { - "message": "Newer entries", - "description": "The label used to navigate to the newer blog posts page (previous page)" - }, - "theme.blog.paginator.olderEntries": { - "message": "Older entries", - "description": "The label used to navigate to the older blog posts page (next page)" - }, - "theme.tags.tagsPageLink": { - "message": "View all tags", - "description": "The label of the link targeting the tag list page" - }, - "theme.blog.post.paginator.navAriaLabel": { - "message": "Blog post page navigation", - "description": "The ARIA label for the blog posts pagination" - }, - "theme.blog.post.paginator.newerPost": { - "message": "Newer post", - "description": "The blog post button label to navigate to the newer/previous post" - }, - "theme.blog.post.paginator.olderPost": { - "message": "Older post", - "description": "The blog post button label to navigate to the older/next post" - }, - "theme.colorToggle.ariaLabel.mode.system": { - "message": "system mode", - "description": "The name for the system color mode" - }, - "theme.colorToggle.ariaLabel.mode.light": { - "message": "light mode", - "description": "The name for the light color mode" - }, - "theme.colorToggle.ariaLabel.mode.dark": { - "message": "dark mode", - "description": "The name for the dark color mode" - }, - "theme.colorToggle.ariaLabel": { - "message": "Switch between dark and light mode (currently {mode})", - "description": "The ARIA label for the color mode toggle" - }, - "theme.docs.breadcrumbs.navAriaLabel": { - "message": "Breadcrumbs", - "description": "The ARIA label for the breadcrumbs" - }, - "theme.docs.paginator.navAriaLabel": { - "message": "Docs pages", - "description": "The ARIA label for the docs pagination" - }, - "theme.docs.paginator.previous": { - "message": "Previous", - "description": "The label used to navigate to the previous doc" - }, - "theme.docs.paginator.next": { - "message": "Next", - "description": "The label used to navigate to the next doc" - }, - "theme.docs.tagDocListPageTitle.nDocsTagged": { - "message": "One doc tagged|{count} docs tagged", - "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.docs.tagDocListPageTitle": { - "message": "{nDocsTagged} with \"{tagName}\"", - "description": "The title of the page for a docs tag" - }, - "theme.docs.versionBadge.label": { - "message": "Version: {versionLabel}" - }, - "theme.docs.versions.unreleasedVersionLabel": { - "message": "This is unreleased documentation for {siteTitle} {versionLabel} version.", - "description": "The label used to tell the user that he's browsing an unreleased doc version" - }, - "theme.docs.versions.unmaintainedVersionLabel": { - "message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.", - "description": "The label used to tell the user that he's browsing an unmaintained doc version" - }, - "theme.docs.versions.latestVersionSuggestionLabel": { - "message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).", - "description": "The label used to tell the user to check the latest version" - }, - "theme.docs.versions.latestVersionLinkLabel": { - "message": "latest version", - "description": "The label used for the latest version suggestion link label" - }, - "theme.common.editThisPage": { - "message": "Edit this page", - "description": "The link label to edit the current page" - }, - "theme.lastUpdated.atDate": { - "message": " on {date}", - "description": "The words used to describe on which date a page has been last updated" - }, - "theme.lastUpdated.byUser": { - "message": " by {user}", - "description": "The words used to describe by who the page has been last updated" - }, - "theme.lastUpdated.lastUpdatedAtBy": { - "message": "Last updated{atDate}{byUser}", - "description": "The sentence used to display when a page has been last updated, and by who" - }, - "theme.common.headingLinkTitle": { - "message": "Direct link to {heading}", - "description": "Title for link to heading" - }, - "theme.navbar.mobileVersionsDropdown.label": { - "message": "Versions", - "description": "The label for the navbar versions dropdown on mobile view" - }, - "theme.NotFound.title": { - "message": "Page Not Found", - "description": "The title of the 404 page" - }, - "theme.tags.tagsListLabel": { - "message": "Tags:", - "description": "The label alongside a tag list" - }, - "theme.AnnouncementBar.closeButtonAriaLabel": { - "message": "Close", - "description": "The ARIA label for close button of announcement bar" - }, - "theme.blog.sidebar.navAriaLabel": { - "message": "Blog recent posts navigation", - "description": "The ARIA label for recent posts in the blog sidebar" - }, - "theme.admonition.caution": { - "message": "caution", - "description": "The default label used for the Caution admonition (:::caution)" - }, - "theme.admonition.danger": { - "message": "danger", - "description": "The default label used for the Danger admonition (:::danger)" - }, - "theme.admonition.info": { - "message": "info", - "description": "The default label used for the Info admonition (:::info)" - }, - "theme.admonition.note": { - "message": "note", - "description": "The default label used for the Note admonition (:::note)" - }, - "theme.admonition.tip": { - "message": "tip", - "description": "The default label used for the Tip admonition (:::tip)" - }, - "theme.admonition.warning": { - "message": "warning", - "description": "The default label used for the Warning admonition (:::warning)" - }, - "theme.DocSidebarItem.expandCategoryAriaLabel": { - "message": "Expand sidebar category '{label}'", - "description": "The ARIA label to expand the sidebar category" - }, - "theme.DocSidebarItem.collapseCategoryAriaLabel": { - "message": "Collapse sidebar category '{label}'", - "description": "The ARIA label to collapse the sidebar category" - }, - "theme.IconExternalLink.ariaLabel": { - "message": "(opens in new tab)", - "description": "The ARIA label for the external link icon" - }, - "theme.NavBar.navAriaLabel": { - "message": "Main", - "description": "The ARIA label for the main navigation" - }, - "theme.navbar.mobileLanguageDropdown.label": { - "message": "Languages", - "description": "The label for the mobile language switcher dropdown" - }, - "theme.NotFound.p1": { - "message": "We could not find what you were looking for.", - "description": "The first paragraph of the 404 page" - }, - "theme.NotFound.p2": { - "message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.", - "description": "The 2nd paragraph of the 404 page" - }, - "theme.TOCCollapsible.toggleButtonLabel": { - "message": "On this page", - "description": "The label used by the button on the collapsible TOC component" - }, - "theme.blog.post.readMore": { - "message": "Read more", - "description": "The label used in blog post item excerpts to link to full blog posts" - }, - "theme.blog.post.readMoreLabel": { - "message": "Read more about {title}", - "description": "The ARIA label for the link to full blog posts from excerpts" - }, - "theme.CodeBlock.copy": { - "message": "Copy", - "description": "The copy button label on code blocks" - }, - "theme.CodeBlock.copied": { - "message": "Copied", - "description": "The copied button label on code blocks" - }, - "theme.CodeBlock.copyButtonAriaLabel": { - "message": "Copy code to clipboard", - "description": "The ARIA label for copy code blocks button" - }, - "theme.blog.post.readingTime.plurals": { - "message": "One min read|{readingTime} min read", - "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.CodeBlock.wordWrapToggle": { - "message": "Toggle word wrap", - "description": "The title attribute for toggle word wrapping button of code block lines" - }, - "theme.docs.sidebar.collapseButtonTitle": { - "message": "Collapse sidebar", - "description": "The title attribute for collapse button of doc sidebar" - }, - "theme.docs.sidebar.collapseButtonAriaLabel": { - "message": "Collapse sidebar", - "description": "The title attribute for collapse button of doc sidebar" - }, - "theme.docs.breadcrumbs.home": { - "message": "Home page", - "description": "The ARIA label for the home page in the breadcrumbs" - }, - "theme.docs.sidebar.navAriaLabel": { - "message": "Docs sidebar", - "description": "The ARIA label for the sidebar navigation" - }, - "theme.docs.sidebar.closeSidebarButtonAriaLabel": { - "message": "Close navigation bar", - "description": "The ARIA label for close button of mobile sidebar" - }, - "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { - "message": "← Back to main menu", - "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" - }, - "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { - "message": "Toggle navigation bar", - "description": "The ARIA label for hamburger menu button of mobile navigation" - }, - "theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": { - "message": "Expand the dropdown", - "description": "The ARIA label of the button to expand the mobile dropdown navbar item" - }, - "theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": { - "message": "Collapse the dropdown", - "description": "The ARIA label of the button to collapse the mobile dropdown navbar item" - }, - "theme.docs.sidebar.expandButtonTitle": { - "message": "Expand sidebar", - "description": "The ARIA label and title attribute for expand button of doc sidebar" - }, - "theme.docs.sidebar.expandButtonAriaLabel": { - "message": "Expand sidebar", - "description": "The ARIA label and title attribute for expand button of doc sidebar" - }, - "theme.blog.post.plurals": { - "message": "One post|{count} posts", - "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.blog.tagTitle": { - "message": "{nPosts} tagged with \"{tagName}\"", - "description": "The title of the page for a blog tag" - }, - "theme.blog.author.pageTitle": { - "message": "{authorName} - {nPosts}", - "description": "The title of the page for a blog author" - }, - "theme.blog.authorsList.pageTitle": { - "message": "Authors", - "description": "The title of the authors page" - }, - "theme.blog.authorsList.viewAll": { - "message": "View all authors", - "description": "The label of the link targeting the blog authors page" - }, - "theme.blog.author.noPosts": { - "message": "This author has not written any posts yet.", - "description": "The text for authors with 0 blog post" - }, - "theme.contentVisibility.unlistedBanner.title": { - "message": "Unlisted page", - "description": "The unlisted content banner title" - }, - "theme.contentVisibility.unlistedBanner.message": { - "message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.", - "description": "The unlisted content banner message" - }, - "theme.contentVisibility.draftBanner.title": { - "message": "Draft page", - "description": "The draft content banner title" - }, - "theme.contentVisibility.draftBanner.message": { - "message": "This page is a draft. It will only be visible in dev and be excluded from the production build.", - "description": "The draft content banner message" - }, - "theme.docs.DocCard.categoryDescription.plurals": { - "message": "1 item|{count} items", - "description": "The default description for a category card in the generated index about how many items this category includes" - }, - "theme.ErrorPageContent.tryAgain": { - "message": "Try again", - "description": "The label of the button to try again rendering when the React error boundary captures an error" - }, - "theme.common.skipToMainContent": { - "message": "Skip to main content", - "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" - }, - "theme.tags.tagsPageTitle": { - "message": "Tags", - "description": "The title of the tag list page" - }, - "homepage.hero.badge": { - "message": "Java 8 · Druid 1.2.28 · 15+ dialects" - }, - "homepage.hero.tagline": { - "message": "A multi-dialect SQL parsing engine and toolkit" - }, - "homepage.hero.desc": { - "message": "SQL type detection · Table & column lineage · Table/DDL parsing · Function extraction · Parameter extraction and prepared SQL" - }, - "homepage.hero.cta.primary": { - "message": "Quick Start" - }, - "homepage.hero.cta.secondary": { - "message": "Introduction" - }, - "homepage.hero.meta.parse": { - "message": "🧩 Multi-dialect parsing" - }, - "homepage.hero.meta.lineage": { - "message": "🔗 Table/column lineage" - }, - "homepage.hero.meta.i18n": { - "message": "🌍 i18n" - }, - "homepage.hero.meta.version": { - "message": "📚 Versioning" - }, - "homepage.features.heading": { - "message": "One engine for the full SQL parsing pipeline" - }, - "homepage.feature.type.title": { - "message": "SQL type detection" - }, - "homepage.feature.type.desc": { - "message": "Detect query, DML, DDL, SHOW and EXPLAIN statement types." - }, - "homepage.feature.dialect.title": { - "message": "Multi-dialect parsing" - }, - "homepage.feature.dialect.desc": { - "message": "Route Druid dialects via DbType with a unified AST, covering 15+ datasources." - }, - "homepage.feature.lineage.title": { - "message": "Table & column lineage" - }, - "homepage.feature.lineage.desc": { - "message": "Table and column lineage across JOIN, UNION, subqueries, aggregates and CTEs." - }, - "homepage.feature.table.title": { - "message": "Table & DDL parsing" - }, - "homepage.feature.table.desc": { - "message": "Resolve real tables through JOINs, CTEs and subqueries, then parse fields, keys, partitions and buckets." - }, - "homepage.feature.tableLineage.title": { - "message": "Table lineage" - }, - "homepage.feature.tableLineage.desc": { - "message": "Trace data flow from source tables to targets in INSERT and CTAS statements." - }, - "homepage.feature.columnLineage.title": { - "message": "Column lineage" - }, - "homepage.feature.columnLineage.desc": { - "message": "Map source columns to targets across expressions, functions and CASE clauses." - }, - "homepage.feature.function.title": { - "message": "Function parsing" - }, - "homepage.feature.function.desc": { - "message": "Extract and deduplicate regular, aggregate and window function names across multiple statements." - }, - "homepage.feature.parameter.title": { - "message": "Parameter extraction & prepared SQL" - }, - "homepage.feature.parameter.desc": { - "message": "Extract dynamic SELECT parameters and produce JDBC placeholder SQL with ordered bindings." - }, - "homepage.feature.split.title": { - "message": "SQL splitting & validation" - }, - "homepage.feature.split.desc": { - "message": "Split multi-statement scripts, validate syntax and rewrite row-level permissions." - }, - "homepage.feature.arch.title": { - "message": "Two-layer extension" - }, - "homepage.feature.arch.desc": { - "message": "Syntax differences extend the syntax layer, business differences the core layer, via unified points." - }, - "homepage.case.arch.title": { - "message": "Two-layer unified extension architecture" - }, - "homepage.case.arch.desc": { - "message": "The syntax layer extends dialect Lexer/Parser/AST on Druid; the business layer extends parsing, lineage and rewriting via the ISqlParser contract, aligned by DbType and AST." - }, - "homepage.case.version.title": { - "message": "Version / i18n coexistence" - }, - "homepage.case.version.desc": { - "message": "Switch version (1.0 / Next) and language (简体中文 / English) from the navbar." - }, - "community.title": { - "message": "Join the SqlParserX Community" - }, - "community.subtitle": { - "message": "Discuss multi-dialect SQL parsing, lineage and governance with developers." - }, - "homepage.community.forum.title": { - "message": "Forum" - }, - "homepage.community.forum.desc": { - "message": "Ask questions and share best practices in GitHub Discussions." - }, - "homepage.community.github.title": { - "message": "GitHub" - }, - "homepage.community.github.desc": { - "message": "File issues and open pull requests to improve multi-dialect parsing." - }, - "homepage.community.qa.title": { - "message": "Q&A" - }, - "homepage.community.qa.desc": { - "message": "Search existing issues or start a new discussion when you get stuck." - }, - "homepage.hero.stat.datasource": { - "message": "Datasource dialects" - }, - "homepage.hero.stat.capability": { - "message": "Core capabilities" - }, - "homepage.hero.stat.layer": { - "message": "Unified layers" - }, - "homepage.hero.stat.compat": { - "message": "Java 8 compatible" - }, - "homepage.hero.pane.input": { - "message": "SQL Input" - }, - "homepage.hero.pane.output": { - "message": "Parse Result" - }, - "homepage.hero.tag.table": { - "message": "Table lineage" - }, - "homepage.hero.tag.field": { - "message": "Field lineage" - }, - "homepage.features.eyebrow": { - "message": "Capabilities" - }, - "homepage.features.subheading": { - "message": "From dialect syntax to business semantics — unified contract, unified result, ready to use." - }, - "homepage.datasource.lead": { - "message": "15+ datasource dialects supported" - }, - "homepage.case.arch.eyebrow": { - "message": "Architecture" - }, - "homepage.case.docs.eyebrow": { - "message": "Documentation" - }, - "homepage.case.step1": { - "message": "Feed SQL + DbType" - }, - "homepage.case.step2": { - "message": "Syntax layer parses into Druid AST" - }, - "homepage.case.step3": { - "message": "Business layer unified parsing" - }, - "homepage.case.step4": { - "message": "Table / lineage / function / parameter results" - }, - "homepage.cta.title": { - "message": "Ready to parse your SQL?" - }, - "homepage.cta.desc": { - "message": "Get started in minutes with multi-dialect parsing, lineage tracing and prepared SQL." - }, - "homepage.cta.primary": { - "message": "Quick Start" - }, - "homepage.cta.secondary": { - "message": "View Source" - } -} diff --git a/website/i18n/en/docusaurus-plugin-content-blog/options.json b/website/i18n/en/docusaurus-plugin-content-blog/options.json deleted file mode 100644 index 9239ff7..0000000 --- a/website/i18n/en/docusaurus-plugin-content-blog/options.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "title": { - "message": "Blog", - "description": "The title for the blog used in SEO" - }, - "description": { - "message": "Blog", - "description": "The description for the blog used in SEO" - }, - "sidebar.title": { - "message": "Recent posts", - "description": "The label for the left sidebar" - } -} diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current.json b/website/i18n/en/docusaurus-plugin-content-docs/current.json deleted file mode 100644 index 3963709..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "version.label": { - "message": "Next 🚧", - "description": "The label for version current" - }, - "sidebar.docs.category.关于项目": { - "message": "About", - "description": "The label for category '关于项目' in sidebar 'docs'" - }, - "sidebar.docs.category.快速开始": { - "message": "Getting Started", - "description": "The label for category '快速开始' in sidebar 'docs'" - }, - "sidebar.docs.category.功能说明": { - "message": "Features", - "description": "The label for category '功能说明' in sidebar 'docs'" - }, - "sidebar.docs.category.组件配置": { - "message": "Components", - "description": "The label for category '组件配置' in sidebar 'docs'" - }, - "sidebar.docs.category.任务类型": { - "message": "Task Types", - "description": "The label for category '任务类型' in sidebar 'docs'" - }, - "sidebar.docs.category.参与贡献": { - "message": "Contributing", - "description": "The label for category '参与贡献' in sidebar 'docs'" - } -} diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/about/architecture.md b/website/i18n/en/docusaurus-plugin-content-docs/current/about/architecture.md deleted file mode 100644 index 81e81cb..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/about/architecture.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Architecture -description: The two-layer unified extension architecture of SqlParserX -sidebar_label: Architecture -sidebar_position: 2 ---- - -# Two-Layer Unified Extension Architecture - -The SqlParserX parsing kernel consists of two connected, structurally symmetric extension systems, each in its own Jar module: - -- **SQL syntax layer (`sqlparserx-syntax`)**: built on official Druid, extending Lexer, StatementParser and AST nodes per datasource through unified dialect routing, parser base and AST model. -- **SqlParserX business layer (`sqlparserx-core`)**: extending table parsing, lineage and SQL rewriting per datasource through unified dialect routing, the `ISqlParser` contract and business clients. - -Both layers follow the pattern **unified entry → common base → unified extension point → datasource implementation → unified result**. When adding a datasource, syntax differences are extended in the Druid layer and business differences in the SqlParserX layer, aligned via `DbType` and Druid AST. - -![SqlParserX two-layer unified extension architecture](/img/architecture/SqlParserX两层架构-en.png) - -## Overall Architecture - -```mermaid -flowchart TB - subgraph Business[sqlparserx-core|Business parsing layer] - direction LR - B_ROUTE[Dialect routing
SqlParserFactory] - B_BASE[Common base
ISqlParser · BaseSqlParser · Base Client] - B_EXT[Extension points
Dialect Client · Strategy] - B_DIALECT[Datasource implementations
MySQL · Doris · StarRocks · ...] - B_RESULT[Unified results
Table · DDL · Lineage · SQL] - B_ROUTE --> B_BASE --> B_EXT --> B_DIALECT --> B_RESULT - end - - subgraph Syntax[sqlparserx-syntax|Syntax parsing layer, on Druid] - direction LR - S_ROUTE[Dialect routing
SqlSyntaxParserFactory · DbType] - S_BASE[Common base
Lexer · StatementParser · AST] - S_EXT[Extension points
Dialect Lexer · Parser · AST Node] - S_DIALECT[Datasource implementations
MySQL · Doris · Oracle · ...] - S_RESULT[Unified results
SQLStatement AST] - S_ROUTE --> S_BASE --> S_EXT --> S_DIALECT --> S_RESULT - end - - B_ROUTE -. DbType alignment .-> S_ROUTE - B_DIALECT -. same datasource dialect .-> S_DIALECT - B_BASE -->|SQL + DbType| S_BASE - S_RESULT -->|SQLStatement AST| B_BASE -``` - -## Module Dependencies - -```text -Access: sqlparserx-web (REST) / sqlparserx-ui - │ unified ISqlParser contract -Business layer: sqlparserx-core - │ SQL + DbType / SQLStatement AST -Syntax layer: sqlparserx-syntax (Druid 1.2.28) -``` - -Business extensions follow `SqlParserFactory` → `ISqlParser` → `BaseSqlParser` → dialect implementations. \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/about/introduction.md b/website/i18n/en/docusaurus-plugin-content-docs/current/about/introduction.md deleted file mode 100644 index f28d786..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/about/introduction.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Introduction -description: Positioning, capabilities and modules of SqlParserX -sidebar_label: Introduction -sidebar_position: 1 ---- - -# Introduction to SqlParserX - -SqlParserX is a **multi-dialect SQL parsing engine and toolkit** offering SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation. - -## Problems It Solves - -| Problem | Solution | -|---|---| -| Dialects differ greatly | Route Druid dialects via `DbType` with a unified AST | -| Real tables and DDL hide in SQL text | Table, CTE, `CREATE TABLE`, partition and property parsing | -| Data dependencies are hard to trace | Table/column lineage across JOIN, UNION, subqueries, aggregates and CTEs | -| Scripts contain multiple statements | SQL splitting and syntax validation | -| Permission predicates are hard to maintain | Row-level permission SQL rewriting | - -## Modules - -| Module | Layer | Description | Technology | -|---|---|---|---| -| `sqlparserx-syntax` | Syntax parsing | SQL-to-AST, validation, splitting and Druid dialect extensions | Java 8 + Druid 1.2.28 | -| `sqlparserx-core` | Business parsing | Tables, lineage, DDL, functions and SQL rewriting | Java 8 + `sqlparserx-syntax` | -| `sqlparserx-web` | Access layer | Spring Boot REST service | Spring Boot 2.3.12 + Java 8 | -| `sqlparserx-ui` | Access layer | Lineage visualization and online parsing tools | Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5 | - -## Supported Datasources - -| Datasource | Support | -|---|---| -| MySQL | Priority support with enhanced `RENAME TABLE` handling | -| Doris | Strong support with dedicated DDL and lineage tests | -| StarRocks | Dedicated `DISTRIBUTED BY` and key DDL support | -| Hive / ClickHouse / Oracle / DM | Registered parsers with common business implementation | - -## Further Reading - -- [Architecture](./architecture.md) -- Background: [The Origin of SqlParserX](/blog/origin-of-sqlparserx) diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/contributing.md b/website/i18n/en/docusaurus-plugin-content-docs/current/contributing.md deleted file mode 100644 index 8b4b782..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/contributing.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Contributing -description: How to contribute to SqlParserX -sidebar_label: Contributing -sidebar_position: 1 ---- - -# Contributing - -Thanks for your interest in SqlParserX! Issues and Pull Requests are welcome. - -## Ways to Contribute - -- Report bugs or request features: [GitHub Issues](https://github.com/DTStack/SqlParserX/issues) -- Submit code: [GitHub Pull Requests](https://github.com/DTStack/SqlParserX/pulls) -- Join discussions: see [Community](/community) - -## Development Workflow - -1. Fork the repo and create a feature branch: `git checkout -b feature/xxx` -2. Build locally: `mvn clean install -DskipTests` -3. Write code and tests, ensure `mvn test` passes -4. Push the branch and open a Pull Request -5. Merge after CI and review - -## Conventions - -- Follow the module layering: syntax differences → `sqlparserx-syntax`, business differences → `sqlparserx-core` -- When adding a datasource, also update capability docs and regression tests -- Match the existing code style and avoid unrelated dependencies - -## Documentation - -- Docs are maintained in the project root `docs/` and synced to this site -- Update the relevant capability docs when adding parsing capabilities \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/core/field-lineage.md b/website/i18n/en/docusaurus-plugin-content-docs/current/core/field-lineage.md deleted file mode 100644 index a4b797b..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/core/field-lineage.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: Field Lineage -description: Derive source.table.source_column → target.table.target_column lineage from SQL -sidebar_label: Field Lineage -sidebar_position: 1 ---- - -# Field Lineage - -## 1. Add the Dependency - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` transitively brings in `sqlparserx-syntax` and Druid. - -## 2. Complete Example - -A **complete runnable** class from parser creation to printing column lineage, using the official `sqlparserx-core/README.md` sample SQL: - -```java title="FieldLineageDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; - -import com.alibaba.druid.DbType; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class FieldLineageDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1. Metadata: table -> columns (used for select * / column expansion) - Map> tableColumnsMap = new HashMap<>(); - tableColumnsMap.put("users", Arrays.asList( - new Column("id", 0), new Column("name", 1))); - tableColumnsMap.put("orders", Arrays.asList( - new Column("amount", 0), new Column("id", 1))); - - // 2. Get a parser - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 3. Parse column lineage - ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap); - - // 4. Print result: target table + target column -> source column - System.out.println("target table: " + result.getTargetTable()); - result.printColumnLineage(); - } -} -``` - -Console output (example): - -```text -target table: user_order_summary -users.id -> user_order_summary.user_id -users.name -> user_order_summary.name -orders.amount -> user_order_summary.total_amount -orders.id -> user_order_summary.order_count -``` - -## 3. Goal - -Derive **source table.column → target table.column** column-level lineage from SQL. - -The core idea: normalize the source select field list and target field list into sets of `(real column, alias, real table)` triples, then generate lineage by fixed matching rules. Field lineage takes insert/create-table SQL as input; pure query SQL produces no lineage. - -```text -SQLInsertStatement / SQLCreateTableStatement(AS SELECT) - → ColumnLineageClient.parseColumnLineages - → target column list + source select column list - → addColumnRelations match one by one - → ColumnLineageResult -``` - -## 4. Entry & Implementation - -| Item | Content | -|---|---| -| Core entry | `ISqlParser.parseColumnLineages(sql, tableColumnsMap)` | -| Default impl | `BaseSqlParser.parseColumnLineages` → `ColumnLineageClient` | -| Return type | `ColumnLineageResult` (`getColumnRelations()` + `getColumnLineages()`) | -| Applicable | `SQLInsertStatement`, `SQLCreateTableStatement` (AS SELECT) | -| Metadata input | `Map> tableColumnsMap` | - -## 5. Supported Scenarios - -| Capability | Status | Notes | -|---|---|---| -| `catalog.db.table.column` | **Supported ✅** | Multi-catalog scenarios such as Hive/Trino/StarRocks | -| `db.table.column` | **Supported ✅** | Standard MySQL/PostgreSQL usage | -| Column expressions (`SQLBinaryOpExpr`) | **Supported ✅** | e.g. `t5.level + 1`, recursively collect columns | -| `*` / `xx.*` expansion | **Supported ✅** | Read from metadata `tableColumnsMap`; keep `*` without metadata | \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/core/function-parse.md b/website/i18n/en/docusaurus-plugin-content-docs/current/core/function-parse.md deleted file mode 100644 index aebbfc3..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/core/function-parse.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: Function Parsing -description: Extract functions, arguments and contexts used in SQL -sidebar_label: Function Parsing -sidebar_position: 4 ---- - -# Function Parsing - -## 1. Add the Dependency - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` transitively brings in `sqlparserx-syntax` and Druid. - -## 2. Complete Example - -Using the official `sqlparserx-core/README.md` sample SQL to extract the set of functions: - -```java title="FunctionParseDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; - -import com.alibaba.druid.DbType; - -import java.util.Set; - -public class FunctionParseDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1. Get a parser - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2. Parse functions used in the SQL - Set functions = parser.parseFunction(sql); - - // 3. Read the result - System.out.println("functions: " + functions); - } -} -``` - -Console output (example): - -```text -functions: [sum, count] -``` - -## 3. Goal - -Extract **function calls** from SQL as a de-duplicated set of function names for function-level governance and dependency analysis. - -```text -SQLStatement AST - → BaseSqlParser.parseFunction - → traverse AST to collect function expressions - → Set functions -``` - -## 4. Entry & Implementation - -| Item | Content | -|---|---| -| Core entry | `ISqlParser.parseFunction(sql)` | -| Default impl | `BaseSqlParser.parseFunction` | -| Return type | `Set` (function names, lower-cased) | -| Coverage | built-in, aggregate, window, custom functions | - -## 5. Supported Scenarios - -| Capability | Status | Notes | -|---|---|---| -| Regular function calls | **Supported ✅** | e.g. `substr(name, 1, 3)` | -| Aggregate functions | **Supported ✅** | e.g. `sum`, `count`, `max` | -| Window functions | **Supported ✅** | e.g. `row_number() over(...)` | -| Nested functions | **Supported ✅** | Recursively collect inner and outer functions | \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/core/parameter-compile.md b/website/i18n/en/docusaurus-plugin-content-docs/current/core/parameter-compile.md deleted file mode 100644 index b3eedc4..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/core/parameter-compile.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Parameter Extraction and Prepared SQL -description: Extract dynamic SELECT parameters and build JDBC prepared SQL -sidebar_label: Parameter Extraction -sidebar_position: 6 ---- - -# Parameter Extraction and Prepared SQL - -SqlParserX extracts `${variable}` expressions and output fields from SELECT statements. Given parameter values, it produces JDBC `?` placeholders and an ordered binding list. - -```java -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); -String sql = "SELECT id, name FROM users " - + "WHERE dt = '${bizdate}' AND region = '${region}'"; - -ParseParameterResult parsed = parser.parseParameterSql( - sql, false, Collections.emptyMap()); - -Map values = new HashMap<>(); -values.put("bizdate", "20261014"); -values.put("region", "hangzhou"); - -PrepareCompileResult compiled = parser.buildSqlByPrepareCompile( - sql, values, Collections.emptyMap()); -System.out.println(compiled.getBeautifulSql()); -System.out.println(compiled.getInputFields()); -``` - -```text -SELECT id, name FROM users WHERE dt = ? AND region = ? -[20261014, hangzhou] -``` - -The common implementation currently targets SELECT statements. Variables used as identifiers in sorting or grouping clauses are inlined. diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/core/sql-type.md b/website/i18n/en/docusaurus-plugin-content-docs/current/core/sql-type.md deleted file mode 100644 index f60bb74..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/core/sql-type.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: SQL Type Detection -description: Detect the business SQL type from the parsed syntax tree -sidebar_label: SQL Type Detection -sidebar_position: 1 ---- - -# SQL Type Detection - -`parseSqlType` parses SQL with the selected datasource dialect and maps the resulting Druid AST to a unified `SqlType`. It can drive statement routing, audit classification, and execution policies. - -```java -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -SqlType queryType = parser.parseSqlType("SELECT id FROM users"); -SqlType insertType = parser.parseSqlType( - "INSERT INTO target_table SELECT id FROM source_table"); - -System.out.println(queryType); // QUERY -System.out.println(insertType); // INSERT -``` - -The common implementation recognizes query, DML, DDL, SHOW, DESCRIBE, and EXPLAIN statements. An unclassified AST returns `OTHER`; syntax support still depends on the selected dialect. diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/core/table-lineage.md b/website/i18n/en/docusaurus-plugin-content-docs/current/core/table-lineage.md deleted file mode 100644 index 47ad091..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/core/table-lineage.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: Table Lineage -description: Parse source-to-target table lineage from SQL -sidebar_label: Table Lineage -sidebar_position: 2 ---- - -# Table Lineage - -## 1. Add the Dependency - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` transitively brings in `sqlparserx-syntax` and Druid. - -## 2. Complete Example - -Using the official `sqlparserx-core/README.md` sample SQL, from parser creation to printing table lineage: - -```java title="TableLineageDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; - -import com.alibaba.druid.DbType; - -import java.util.List; - -public class TableLineageDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1. Get a parser - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2. Parse table lineage - TableLineageResult result = parser.parseTableLineages(sql); - - // 3. Read the result - System.out.println("target table: " + result.getTargetTable()); - System.out.println("source tables: " + result.getSourceTables()); - - List tableLineages = result.getTableLineages(); - for (TableLineage lineage : tableLineages) { - System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable()); - } - } -} -``` - -Console output (example): - -```text -target table: user_order_summary -source tables: [users, orders] -users -> user_order_summary -orders -> user_order_summary -``` - -## 3. Goal - -Parse **target table → source table** table-level lineage from SQL, covering JOIN, UNION, subqueries, aggregates and CTEs. - -```text -SQLStatement AST - → TableLineageClient.parseTableLineages - → collect source tables + target tables - → TableLineageResult -``` - -## 4. Entry & Implementation - -| Item | Content | -|---|---| -| Core entry | `ISqlParser.parseTableLineages(sql)` | -| Default impl | `BaseSqlParser.parseTableLineages` → `TableLineageClient` | -| Return type | `TableLineageResult` (`getTargetTable()` + `getSourceTables()` + `getTableLineages()`) | -| Coverage | JOIN, UNION, subquery, aggregate, CTE | - -## 5. Supported Scenarios - -| Capability | Status | Notes | -|---|---|---| -| Single/multi-table JOIN | **Supported ✅** | All participating tables | -| UNION / UNION ALL | **Supported ✅** | Merge branches | -| Subquery / derived table | **Supported ✅** | Recursively collect real tables | -| CTE (WITH) | **Supported ✅** | Recognize CTE and real sources | -| `INSERT INTO ... SELECT` | **Supported ✅** | Output target and source tables | \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/core/table-parse.md b/website/i18n/en/docusaurus-plugin-content-docs/current/core/table-parse.md deleted file mode 100644 index 5d9ff38..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/core/table-parse.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: Table Parsing -description: Parse real tables, CTEs, CREATE TABLE, partitions and properties from SQL -sidebar_label: Table Parsing -sidebar_position: 3 ---- - -# Table Parsing - -## 1. Add the Dependency - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` transitively brings in `sqlparserx-syntax` and Druid. - -## 2. Complete Example - -Using the official `sqlparserx-core/README.md` sample SQL to demonstrate both "parse real tables" and "parse CREATE TABLE": - -```java title="TableParseDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.DbType; - -public class TableParseDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1. Get a parser - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2. Parse real tables in the SQL - ParseTableResult tableResult = parser.parseTables(sql); - System.out.println("main table: " + tableResult.getMainTable().getName()); - System.out.println("all tables: " + tableResult.getAllTableName()); - - // 3. Parse the CREATE TABLE structure - ParseCreateTableResult createResult = parser.parseCreateTable(sql); - System.out.println("created table: " + createResult.getDb() + "." + createResult.getTableName()); - System.out.println("column count: " + createResult.getTableElementList().size()); - } -} -``` - -Console output (example): - -```text -main table: users -all tables: [user_order_summary, users, orders] -created table: null.user_order_summary -column count: 4 -``` - -## 3. Goal - -Identify **real tables** from SQL text, including query tables, CTEs, `CREATE TABLE` definitions, partitions and table properties. - -```text -SQLStatement AST - → ParseTableClient.parseTables / parseCreateTable - → collect tables / CTEs / DDL / partitions / properties - → ParseTableResult / ParseCreateTableResult -``` - -## 4. Entry & Implementation - -| Item | Content | -|---|---| -| Core entry | `ISqlParser.parseTables(sql)`, `ISqlParser.parseCreateTable(sql)` | -| Default impl | `BaseSqlParser.parseTables` → `ParseTableClient` | -| Return type | `ParseTableResult`, `ParseCreateTableResult` | -| Coverage | query tables, CTE, `CREATE TABLE`, partitions, properties | - -## 5. Supported Scenarios - -| Capability | Status | Notes | -|---|---|---| -| Query table detection | **Supported ✅** | SELECT / INSERT / UPDATE / DELETE | -| CTE detection | **Supported ✅** | WITH-defined temporary tables | -| `CREATE TABLE` DDL | **Supported ✅** | Table name, columns, types, comments | -| Partitions & properties | **Supported ✅** | Dialect differences internalized in syntax layer | -| `catalog.db.table` | **Supported ✅** | Multi-catalog scenarios | \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/intro.md b/website/i18n/en/docusaurus-plugin-content-docs/current/intro.md deleted file mode 100644 index 9d5dbb4..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/intro.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: SqlParserX Docs -description: Entry point for the SqlParserX multi-dialect SQL parsing engine -sidebar_label: Docs Guide -sidebar_position: 1 ---- - -# Welcome to SqlParserX - -SqlParserX is a **multi-dialect SQL parsing engine and toolkit** for SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation. - -It is built around two layers: `sqlparserx-syntax` parses SQL into Druid ASTs and owns syntax extensions; `sqlparserx-core` consumes those ASTs through the unified `ISqlParser` contract and produces business parsing results. `sqlparserx-web` and `sqlparserx-ui` provide service and visualization access. - -## Get Started - -- 🚀 [Quick Start](./quickstart/setup.md) -- 📖 [Introduction](./about/introduction.md) -- 🏗️ [Architecture](./about/architecture.md) - -## Documentation Map - -- **About SqlParserX**: project introduction and two-layer architecture -- **Quick Start**: environment setup, build and run -- **Core Parsing Capabilities**: SQL type detection, field lineage, table lineage, table parsing, function extraction, and parameter extraction -- **Contributing**: how to contribute - -:::tip Tip -Use the navbar to switch **version** (`1.0` / `Next`) and **language** (简体中文 / English). -::: diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/quickstart/setup.md b/website/i18n/en/docusaurus-plugin-content-docs/current/quickstart/setup.md deleted file mode 100644 index 5cb8253..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/quickstart/setup.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: Quick Start -description: Add the dependency, build and run SqlParserX locally -sidebar_label: Setup & Build -sidebar_position: 1 ---- - -# Quick Start - -## 1. Requirements - -| Dependency | Version | -|---|---| -| JDK | Java 8+ | -| Maven | 3.6+ | -| Node.js (only `sqlparserx-ui`) | >= 20 | - -## 2. Add the Dependency - -Add the **business parsing layer** `sqlparserx-core` to your `pom.xml`: - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -:::tip Dependency note -`sqlparserx-core` transitively brings in `sqlparserx-syntax` (syntax layer) and official Druid, so business parsing only needs the single `core` coordinate. If you only need SQL→AST syntax parsing, you can depend on `sqlparserx-syntax` alone. -::: - -:::note Use from source -If `1.0-SNAPSHOT` is not published to a remote repository yet, build and install it locally first: - -```bash -git clone https://github.com/DTStack/SqlParserX.git -cd SqlParserX -mvn clean install -DskipTests -``` -::: - -## 3. Hello World: Parse a SQL - -A **complete runnable** class covering table parsing, column lineage, table lineage and functions, consistent with the official `sqlparserx-core/README.md` demo: - -```java title="SqlParserXDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.DbType; - -import java.util.*; - -public class SqlParserXDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1. Get a parser by datasource type (mysql/hive/doris/... 15+ dialects) - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2. Parse real tables - ParseTableResult tableResult = parser.parseTables(sql); - System.out.println("main table: " + tableResult.getMainTable().getName()); - System.out.println("all tables: " + tableResult.getAllTableName()); - - // 3. Parse column lineage (pass metadata for select * cases) - Map> tableColumnsMap = new HashMap<>(); - tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1))); - tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1))); - ColumnLineageResult columnLineageResult = - parser.parseColumnLineages(sql, tableColumnsMap); - columnLineageResult.printColumnLineage(); - - // 4. Parse table lineage - TableLineageResult tableLineageResult = parser.parseTableLineages(sql); - List tableLineages = tableLineageResult.getTableLineages(); - System.out.println("table lineage: " + tableLineages); - - // 5. Parse functions - Set functions = parser.parseFunction(sql); - System.out.println("functions: " + functions); - } -} -``` - -Console output (example): - -```text -main table: users -all tables: [user_order_summary, users, orders] -users.id -> user_order_summary.user_id -users.name -> user_order_summary.name -orders.amount -> user_order_summary.total_amount -orders.id -> user_order_summary.order_count -table lineage: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...] -functions: [sum, count] -``` - -## 4. Next Steps - -Dependency + complete example for each capability: - -- [Field lineage](../core/field-lineage.md) -- [Table lineage](../core/table-lineage.md) -- [Table parsing](../core/table-parse.md) -- [Function parsing](../core/function-parse.md) \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0.json b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0.json deleted file mode 100644 index 3963709..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "version.label": { - "message": "Next 🚧", - "description": "The label for version current" - }, - "sidebar.docs.category.关于项目": { - "message": "About", - "description": "The label for category '关于项目' in sidebar 'docs'" - }, - "sidebar.docs.category.快速开始": { - "message": "Getting Started", - "description": "The label for category '快速开始' in sidebar 'docs'" - }, - "sidebar.docs.category.功能说明": { - "message": "Features", - "description": "The label for category '功能说明' in sidebar 'docs'" - }, - "sidebar.docs.category.组件配置": { - "message": "Components", - "description": "The label for category '组件配置' in sidebar 'docs'" - }, - "sidebar.docs.category.任务类型": { - "message": "Task Types", - "description": "The label for category '任务类型' in sidebar 'docs'" - }, - "sidebar.docs.category.参与贡献": { - "message": "Contributing", - "description": "The label for category '参与贡献' in sidebar 'docs'" - } -} diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/about/architecture.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/about/architecture.md deleted file mode 100644 index 81e81cb..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/about/architecture.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Architecture -description: The two-layer unified extension architecture of SqlParserX -sidebar_label: Architecture -sidebar_position: 2 ---- - -# Two-Layer Unified Extension Architecture - -The SqlParserX parsing kernel consists of two connected, structurally symmetric extension systems, each in its own Jar module: - -- **SQL syntax layer (`sqlparserx-syntax`)**: built on official Druid, extending Lexer, StatementParser and AST nodes per datasource through unified dialect routing, parser base and AST model. -- **SqlParserX business layer (`sqlparserx-core`)**: extending table parsing, lineage and SQL rewriting per datasource through unified dialect routing, the `ISqlParser` contract and business clients. - -Both layers follow the pattern **unified entry → common base → unified extension point → datasource implementation → unified result**. When adding a datasource, syntax differences are extended in the Druid layer and business differences in the SqlParserX layer, aligned via `DbType` and Druid AST. - -![SqlParserX two-layer unified extension architecture](/img/architecture/SqlParserX两层架构-en.png) - -## Overall Architecture - -```mermaid -flowchart TB - subgraph Business[sqlparserx-core|Business parsing layer] - direction LR - B_ROUTE[Dialect routing
SqlParserFactory] - B_BASE[Common base
ISqlParser · BaseSqlParser · Base Client] - B_EXT[Extension points
Dialect Client · Strategy] - B_DIALECT[Datasource implementations
MySQL · Doris · StarRocks · ...] - B_RESULT[Unified results
Table · DDL · Lineage · SQL] - B_ROUTE --> B_BASE --> B_EXT --> B_DIALECT --> B_RESULT - end - - subgraph Syntax[sqlparserx-syntax|Syntax parsing layer, on Druid] - direction LR - S_ROUTE[Dialect routing
SqlSyntaxParserFactory · DbType] - S_BASE[Common base
Lexer · StatementParser · AST] - S_EXT[Extension points
Dialect Lexer · Parser · AST Node] - S_DIALECT[Datasource implementations
MySQL · Doris · Oracle · ...] - S_RESULT[Unified results
SQLStatement AST] - S_ROUTE --> S_BASE --> S_EXT --> S_DIALECT --> S_RESULT - end - - B_ROUTE -. DbType alignment .-> S_ROUTE - B_DIALECT -. same datasource dialect .-> S_DIALECT - B_BASE -->|SQL + DbType| S_BASE - S_RESULT -->|SQLStatement AST| B_BASE -``` - -## Module Dependencies - -```text -Access: sqlparserx-web (REST) / sqlparserx-ui - │ unified ISqlParser contract -Business layer: sqlparserx-core - │ SQL + DbType / SQLStatement AST -Syntax layer: sqlparserx-syntax (Druid 1.2.28) -``` - -Business extensions follow `SqlParserFactory` → `ISqlParser` → `BaseSqlParser` → dialect implementations. \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/about/introduction.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/about/introduction.md deleted file mode 100644 index f28d786..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/about/introduction.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Introduction -description: Positioning, capabilities and modules of SqlParserX -sidebar_label: Introduction -sidebar_position: 1 ---- - -# Introduction to SqlParserX - -SqlParserX is a **multi-dialect SQL parsing engine and toolkit** offering SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation. - -## Problems It Solves - -| Problem | Solution | -|---|---| -| Dialects differ greatly | Route Druid dialects via `DbType` with a unified AST | -| Real tables and DDL hide in SQL text | Table, CTE, `CREATE TABLE`, partition and property parsing | -| Data dependencies are hard to trace | Table/column lineage across JOIN, UNION, subqueries, aggregates and CTEs | -| Scripts contain multiple statements | SQL splitting and syntax validation | -| Permission predicates are hard to maintain | Row-level permission SQL rewriting | - -## Modules - -| Module | Layer | Description | Technology | -|---|---|---|---| -| `sqlparserx-syntax` | Syntax parsing | SQL-to-AST, validation, splitting and Druid dialect extensions | Java 8 + Druid 1.2.28 | -| `sqlparserx-core` | Business parsing | Tables, lineage, DDL, functions and SQL rewriting | Java 8 + `sqlparserx-syntax` | -| `sqlparserx-web` | Access layer | Spring Boot REST service | Spring Boot 2.3.12 + Java 8 | -| `sqlparserx-ui` | Access layer | Lineage visualization and online parsing tools | Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5 | - -## Supported Datasources - -| Datasource | Support | -|---|---| -| MySQL | Priority support with enhanced `RENAME TABLE` handling | -| Doris | Strong support with dedicated DDL and lineage tests | -| StarRocks | Dedicated `DISTRIBUTED BY` and key DDL support | -| Hive / ClickHouse / Oracle / DM | Registered parsers with common business implementation | - -## Further Reading - -- [Architecture](./architecture.md) -- Background: [The Origin of SqlParserX](/blog/origin-of-sqlparserx) diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/contributing.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/contributing.md deleted file mode 100644 index 8b4b782..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/contributing.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Contributing -description: How to contribute to SqlParserX -sidebar_label: Contributing -sidebar_position: 1 ---- - -# Contributing - -Thanks for your interest in SqlParserX! Issues and Pull Requests are welcome. - -## Ways to Contribute - -- Report bugs or request features: [GitHub Issues](https://github.com/DTStack/SqlParserX/issues) -- Submit code: [GitHub Pull Requests](https://github.com/DTStack/SqlParserX/pulls) -- Join discussions: see [Community](/community) - -## Development Workflow - -1. Fork the repo and create a feature branch: `git checkout -b feature/xxx` -2. Build locally: `mvn clean install -DskipTests` -3. Write code and tests, ensure `mvn test` passes -4. Push the branch and open a Pull Request -5. Merge after CI and review - -## Conventions - -- Follow the module layering: syntax differences → `sqlparserx-syntax`, business differences → `sqlparserx-core` -- When adding a datasource, also update capability docs and regression tests -- Match the existing code style and avoid unrelated dependencies - -## Documentation - -- Docs are maintained in the project root `docs/` and synced to this site -- Update the relevant capability docs when adding parsing capabilities \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/field-lineage.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/field-lineage.md deleted file mode 100644 index a4b797b..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/field-lineage.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: Field Lineage -description: Derive source.table.source_column → target.table.target_column lineage from SQL -sidebar_label: Field Lineage -sidebar_position: 1 ---- - -# Field Lineage - -## 1. Add the Dependency - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` transitively brings in `sqlparserx-syntax` and Druid. - -## 2. Complete Example - -A **complete runnable** class from parser creation to printing column lineage, using the official `sqlparserx-core/README.md` sample SQL: - -```java title="FieldLineageDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; - -import com.alibaba.druid.DbType; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class FieldLineageDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1. Metadata: table -> columns (used for select * / column expansion) - Map> tableColumnsMap = new HashMap<>(); - tableColumnsMap.put("users", Arrays.asList( - new Column("id", 0), new Column("name", 1))); - tableColumnsMap.put("orders", Arrays.asList( - new Column("amount", 0), new Column("id", 1))); - - // 2. Get a parser - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 3. Parse column lineage - ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap); - - // 4. Print result: target table + target column -> source column - System.out.println("target table: " + result.getTargetTable()); - result.printColumnLineage(); - } -} -``` - -Console output (example): - -```text -target table: user_order_summary -users.id -> user_order_summary.user_id -users.name -> user_order_summary.name -orders.amount -> user_order_summary.total_amount -orders.id -> user_order_summary.order_count -``` - -## 3. Goal - -Derive **source table.column → target table.column** column-level lineage from SQL. - -The core idea: normalize the source select field list and target field list into sets of `(real column, alias, real table)` triples, then generate lineage by fixed matching rules. Field lineage takes insert/create-table SQL as input; pure query SQL produces no lineage. - -```text -SQLInsertStatement / SQLCreateTableStatement(AS SELECT) - → ColumnLineageClient.parseColumnLineages - → target column list + source select column list - → addColumnRelations match one by one - → ColumnLineageResult -``` - -## 4. Entry & Implementation - -| Item | Content | -|---|---| -| Core entry | `ISqlParser.parseColumnLineages(sql, tableColumnsMap)` | -| Default impl | `BaseSqlParser.parseColumnLineages` → `ColumnLineageClient` | -| Return type | `ColumnLineageResult` (`getColumnRelations()` + `getColumnLineages()`) | -| Applicable | `SQLInsertStatement`, `SQLCreateTableStatement` (AS SELECT) | -| Metadata input | `Map> tableColumnsMap` | - -## 5. Supported Scenarios - -| Capability | Status | Notes | -|---|---|---| -| `catalog.db.table.column` | **Supported ✅** | Multi-catalog scenarios such as Hive/Trino/StarRocks | -| `db.table.column` | **Supported ✅** | Standard MySQL/PostgreSQL usage | -| Column expressions (`SQLBinaryOpExpr`) | **Supported ✅** | e.g. `t5.level + 1`, recursively collect columns | -| `*` / `xx.*` expansion | **Supported ✅** | Read from metadata `tableColumnsMap`; keep `*` without metadata | \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/function-parse.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/function-parse.md deleted file mode 100644 index aebbfc3..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/function-parse.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: Function Parsing -description: Extract functions, arguments and contexts used in SQL -sidebar_label: Function Parsing -sidebar_position: 4 ---- - -# Function Parsing - -## 1. Add the Dependency - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` transitively brings in `sqlparserx-syntax` and Druid. - -## 2. Complete Example - -Using the official `sqlparserx-core/README.md` sample SQL to extract the set of functions: - -```java title="FunctionParseDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; - -import com.alibaba.druid.DbType; - -import java.util.Set; - -public class FunctionParseDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1. Get a parser - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2. Parse functions used in the SQL - Set functions = parser.parseFunction(sql); - - // 3. Read the result - System.out.println("functions: " + functions); - } -} -``` - -Console output (example): - -```text -functions: [sum, count] -``` - -## 3. Goal - -Extract **function calls** from SQL as a de-duplicated set of function names for function-level governance and dependency analysis. - -```text -SQLStatement AST - → BaseSqlParser.parseFunction - → traverse AST to collect function expressions - → Set functions -``` - -## 4. Entry & Implementation - -| Item | Content | -|---|---| -| Core entry | `ISqlParser.parseFunction(sql)` | -| Default impl | `BaseSqlParser.parseFunction` | -| Return type | `Set` (function names, lower-cased) | -| Coverage | built-in, aggregate, window, custom functions | - -## 5. Supported Scenarios - -| Capability | Status | Notes | -|---|---|---| -| Regular function calls | **Supported ✅** | e.g. `substr(name, 1, 3)` | -| Aggregate functions | **Supported ✅** | e.g. `sum`, `count`, `max` | -| Window functions | **Supported ✅** | e.g. `row_number() over(...)` | -| Nested functions | **Supported ✅** | Recursively collect inner and outer functions | \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/parameter-compile.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/parameter-compile.md deleted file mode 100644 index b3eedc4..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/parameter-compile.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Parameter Extraction and Prepared SQL -description: Extract dynamic SELECT parameters and build JDBC prepared SQL -sidebar_label: Parameter Extraction -sidebar_position: 6 ---- - -# Parameter Extraction and Prepared SQL - -SqlParserX extracts `${variable}` expressions and output fields from SELECT statements. Given parameter values, it produces JDBC `?` placeholders and an ordered binding list. - -```java -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); -String sql = "SELECT id, name FROM users " - + "WHERE dt = '${bizdate}' AND region = '${region}'"; - -ParseParameterResult parsed = parser.parseParameterSql( - sql, false, Collections.emptyMap()); - -Map values = new HashMap<>(); -values.put("bizdate", "20261014"); -values.put("region", "hangzhou"); - -PrepareCompileResult compiled = parser.buildSqlByPrepareCompile( - sql, values, Collections.emptyMap()); -System.out.println(compiled.getBeautifulSql()); -System.out.println(compiled.getInputFields()); -``` - -```text -SELECT id, name FROM users WHERE dt = ? AND region = ? -[20261014, hangzhou] -``` - -The common implementation currently targets SELECT statements. Variables used as identifiers in sorting or grouping clauses are inlined. diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/sql-type.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/sql-type.md deleted file mode 100644 index f60bb74..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/sql-type.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: SQL Type Detection -description: Detect the business SQL type from the parsed syntax tree -sidebar_label: SQL Type Detection -sidebar_position: 1 ---- - -# SQL Type Detection - -`parseSqlType` parses SQL with the selected datasource dialect and maps the resulting Druid AST to a unified `SqlType`. It can drive statement routing, audit classification, and execution policies. - -```java -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -SqlType queryType = parser.parseSqlType("SELECT id FROM users"); -SqlType insertType = parser.parseSqlType( - "INSERT INTO target_table SELECT id FROM source_table"); - -System.out.println(queryType); // QUERY -System.out.println(insertType); // INSERT -``` - -The common implementation recognizes query, DML, DDL, SHOW, DESCRIBE, and EXPLAIN statements. An unclassified AST returns `OTHER`; syntax support still depends on the selected dialect. diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/table-lineage.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/table-lineage.md deleted file mode 100644 index 47ad091..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/table-lineage.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: Table Lineage -description: Parse source-to-target table lineage from SQL -sidebar_label: Table Lineage -sidebar_position: 2 ---- - -# Table Lineage - -## 1. Add the Dependency - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` transitively brings in `sqlparserx-syntax` and Druid. - -## 2. Complete Example - -Using the official `sqlparserx-core/README.md` sample SQL, from parser creation to printing table lineage: - -```java title="TableLineageDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; - -import com.alibaba.druid.DbType; - -import java.util.List; - -public class TableLineageDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1. Get a parser - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2. Parse table lineage - TableLineageResult result = parser.parseTableLineages(sql); - - // 3. Read the result - System.out.println("target table: " + result.getTargetTable()); - System.out.println("source tables: " + result.getSourceTables()); - - List tableLineages = result.getTableLineages(); - for (TableLineage lineage : tableLineages) { - System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable()); - } - } -} -``` - -Console output (example): - -```text -target table: user_order_summary -source tables: [users, orders] -users -> user_order_summary -orders -> user_order_summary -``` - -## 3. Goal - -Parse **target table → source table** table-level lineage from SQL, covering JOIN, UNION, subqueries, aggregates and CTEs. - -```text -SQLStatement AST - → TableLineageClient.parseTableLineages - → collect source tables + target tables - → TableLineageResult -``` - -## 4. Entry & Implementation - -| Item | Content | -|---|---| -| Core entry | `ISqlParser.parseTableLineages(sql)` | -| Default impl | `BaseSqlParser.parseTableLineages` → `TableLineageClient` | -| Return type | `TableLineageResult` (`getTargetTable()` + `getSourceTables()` + `getTableLineages()`) | -| Coverage | JOIN, UNION, subquery, aggregate, CTE | - -## 5. Supported Scenarios - -| Capability | Status | Notes | -|---|---|---| -| Single/multi-table JOIN | **Supported ✅** | All participating tables | -| UNION / UNION ALL | **Supported ✅** | Merge branches | -| Subquery / derived table | **Supported ✅** | Recursively collect real tables | -| CTE (WITH) | **Supported ✅** | Recognize CTE and real sources | -| `INSERT INTO ... SELECT` | **Supported ✅** | Output target and source tables | \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/table-parse.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/table-parse.md deleted file mode 100644 index 5d9ff38..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/core/table-parse.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: Table Parsing -description: Parse real tables, CTEs, CREATE TABLE, partitions and properties from SQL -sidebar_label: Table Parsing -sidebar_position: 3 ---- - -# Table Parsing - -## 1. Add the Dependency - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` transitively brings in `sqlparserx-syntax` and Druid. - -## 2. Complete Example - -Using the official `sqlparserx-core/README.md` sample SQL to demonstrate both "parse real tables" and "parse CREATE TABLE": - -```java title="TableParseDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.DbType; - -public class TableParseDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1. Get a parser - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2. Parse real tables in the SQL - ParseTableResult tableResult = parser.parseTables(sql); - System.out.println("main table: " + tableResult.getMainTable().getName()); - System.out.println("all tables: " + tableResult.getAllTableName()); - - // 3. Parse the CREATE TABLE structure - ParseCreateTableResult createResult = parser.parseCreateTable(sql); - System.out.println("created table: " + createResult.getDb() + "." + createResult.getTableName()); - System.out.println("column count: " + createResult.getTableElementList().size()); - } -} -``` - -Console output (example): - -```text -main table: users -all tables: [user_order_summary, users, orders] -created table: null.user_order_summary -column count: 4 -``` - -## 3. Goal - -Identify **real tables** from SQL text, including query tables, CTEs, `CREATE TABLE` definitions, partitions and table properties. - -```text -SQLStatement AST - → ParseTableClient.parseTables / parseCreateTable - → collect tables / CTEs / DDL / partitions / properties - → ParseTableResult / ParseCreateTableResult -``` - -## 4. Entry & Implementation - -| Item | Content | -|---|---| -| Core entry | `ISqlParser.parseTables(sql)`, `ISqlParser.parseCreateTable(sql)` | -| Default impl | `BaseSqlParser.parseTables` → `ParseTableClient` | -| Return type | `ParseTableResult`, `ParseCreateTableResult` | -| Coverage | query tables, CTE, `CREATE TABLE`, partitions, properties | - -## 5. Supported Scenarios - -| Capability | Status | Notes | -|---|---|---| -| Query table detection | **Supported ✅** | SELECT / INSERT / UPDATE / DELETE | -| CTE detection | **Supported ✅** | WITH-defined temporary tables | -| `CREATE TABLE` DDL | **Supported ✅** | Table name, columns, types, comments | -| Partitions & properties | **Supported ✅** | Dialect differences internalized in syntax layer | -| `catalog.db.table` | **Supported ✅** | Multi-catalog scenarios | \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/intro.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/intro.md deleted file mode 100644 index 9d5dbb4..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/intro.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: SqlParserX Docs -description: Entry point for the SqlParserX multi-dialect SQL parsing engine -sidebar_label: Docs Guide -sidebar_position: 1 ---- - -# Welcome to SqlParserX - -SqlParserX is a **multi-dialect SQL parsing engine and toolkit** for SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation. - -It is built around two layers: `sqlparserx-syntax` parses SQL into Druid ASTs and owns syntax extensions; `sqlparserx-core` consumes those ASTs through the unified `ISqlParser` contract and produces business parsing results. `sqlparserx-web` and `sqlparserx-ui` provide service and visualization access. - -## Get Started - -- 🚀 [Quick Start](./quickstart/setup.md) -- 📖 [Introduction](./about/introduction.md) -- 🏗️ [Architecture](./about/architecture.md) - -## Documentation Map - -- **About SqlParserX**: project introduction and two-layer architecture -- **Quick Start**: environment setup, build and run -- **Core Parsing Capabilities**: SQL type detection, field lineage, table lineage, table parsing, function extraction, and parameter extraction -- **Contributing**: how to contribute - -:::tip Tip -Use the navbar to switch **version** (`1.0` / `Next`) and **language** (简体中文 / English). -::: diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/quickstart/setup.md b/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/quickstart/setup.md deleted file mode 100644 index 5cb8253..0000000 --- a/website/i18n/en/docusaurus-plugin-content-docs/version-1.0/quickstart/setup.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: Quick Start -description: Add the dependency, build and run SqlParserX locally -sidebar_label: Setup & Build -sidebar_position: 1 ---- - -# Quick Start - -## 1. Requirements - -| Dependency | Version | -|---|---| -| JDK | Java 8+ | -| Maven | 3.6+ | -| Node.js (only `sqlparserx-ui`) | >= 20 | - -## 2. Add the Dependency - -Add the **business parsing layer** `sqlparserx-core` to your `pom.xml`: - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -:::tip Dependency note -`sqlparserx-core` transitively brings in `sqlparserx-syntax` (syntax layer) and official Druid, so business parsing only needs the single `core` coordinate. If you only need SQL→AST syntax parsing, you can depend on `sqlparserx-syntax` alone. -::: - -:::note Use from source -If `1.0-SNAPSHOT` is not published to a remote repository yet, build and install it locally first: - -```bash -git clone https://github.com/DTStack/SqlParserX.git -cd SqlParserX -mvn clean install -DskipTests -``` -::: - -## 3. Hello World: Parse a SQL - -A **complete runnable** class covering table parsing, column lineage, table lineage and functions, consistent with the official `sqlparserx-core/README.md` demo: - -```java title="SqlParserXDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.DbType; - -import java.util.*; - -public class SqlParserXDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1. Get a parser by datasource type (mysql/hive/doris/... 15+ dialects) - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2. Parse real tables - ParseTableResult tableResult = parser.parseTables(sql); - System.out.println("main table: " + tableResult.getMainTable().getName()); - System.out.println("all tables: " + tableResult.getAllTableName()); - - // 3. Parse column lineage (pass metadata for select * cases) - Map> tableColumnsMap = new HashMap<>(); - tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1))); - tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1))); - ColumnLineageResult columnLineageResult = - parser.parseColumnLineages(sql, tableColumnsMap); - columnLineageResult.printColumnLineage(); - - // 4. Parse table lineage - TableLineageResult tableLineageResult = parser.parseTableLineages(sql); - List tableLineages = tableLineageResult.getTableLineages(); - System.out.println("table lineage: " + tableLineages); - - // 5. Parse functions - Set functions = parser.parseFunction(sql); - System.out.println("functions: " + functions); - } -} -``` - -Console output (example): - -```text -main table: users -all tables: [user_order_summary, users, orders] -users.id -> user_order_summary.user_id -users.name -> user_order_summary.name -orders.amount -> user_order_summary.total_amount -orders.id -> user_order_summary.order_count -table lineage: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...] -functions: [sum, count] -``` - -## 4. Next Steps - -Dependency + complete example for each capability: - -- [Field lineage](../core/field-lineage.md) -- [Table lineage](../core/table-lineage.md) -- [Table parsing](../core/table-parse.md) -- [Function parsing](../core/function-parse.md) \ No newline at end of file diff --git a/website/i18n/en/docusaurus-theme-classic/footer.json b/website/i18n/en/docusaurus-theme-classic/footer.json deleted file mode 100644 index 4ca3b14..0000000 --- a/website/i18n/en/docusaurus-theme-classic/footer.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "link.title.文档": { - "message": "Docs", - "description": "The title of the footer links column with title=文档 in the footer" - }, - "link.title.社区": { - "message": "Community", - "description": "The title of the footer links column with title=社区 in the footer" - }, - "link.title.更多": { - "message": "More", - "description": "The title of the footer links column with title=更多 in the footer" - }, - "link.item.label.介绍": { - "message": "Introduction", - "description": "The label of footer link with label=介绍" - }, - "link.item.label.快速开始": { - "message": "Quick Start", - "description": "The label of footer link with label=快速开始" - }, - "link.item.label.参与贡献": { - "message": "Contributing", - "description": "The label of footer link with label=参与贡献" - }, - "link.item.label.GitHub": { - "message": "GitHub", - "description": "The label of footer link with label=GitHub" - }, - "link.item.label.博客": { - "message": "Blog", - "description": "The label of footer link with label=博客" - }, - "link.item.label.社区": { - "message": "Community", - "description": "The label of footer link with label=社区" - }, - "link.item.label.发行版": { - "message": "Releases", - "description": "The label of footer link with label=发行版" - }, - "link.item.label.架构设计": { - "message": "Architecture", - "description": "The label of footer link with label=架构设计" - }, - "copyright": { - "message": "Copyright © 2026 SqlParserX. Built with Docusaurus.", - "description": "The footer copyright" - } -} \ No newline at end of file diff --git a/website/i18n/en/docusaurus-theme-classic/navbar.json b/website/i18n/en/docusaurus-theme-classic/navbar.json deleted file mode 100644 index f9c05d9..0000000 --- a/website/i18n/en/docusaurus-theme-classic/navbar.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "title": { - "message": "SqlParserX", - "description": "The title in the navbar" - }, - "logo.alt": { - "message": "SqlParserX Logo", - "description": "The alt text of navbar logo" - }, - "item.label.首页": { - "message": "Home", - "description": "Navbar item with label 首页" - }, - "item.label.文档": { - "message": "Document", - "description": "Navbar item with label 文档" - }, - "item.label.博客": { - "message": "Blog", - "description": "Navbar item with label 博客" - }, - "item.label.社区": { - "message": "Community", - "description": "Navbar item with label 社区" - } -} \ No newline at end of file diff --git a/website/package-lock.json b/website/package-lock.json deleted file mode 100644 index c040257..0000000 --- a/website/package-lock.json +++ /dev/null @@ -1,20691 +0,0 @@ -{ - "name": "sqlparserx", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "sqlparserx", - "version": "0.0.0", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/faster": "3.10.2", - "@docusaurus/preset-classic": "3.10.2", - "@docusaurus/theme-mermaid": "^3.10.2", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "prism-react-renderer": "^2.3.0", - "react": "^19.0.0", - "react-dom": "^19.0.0" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "3.10.2", - "@docusaurus/types": "3.10.2" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@11ty/gray-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/@11ty/gray-matter/-/gray-matter-1.0.0.tgz", - "integrity": "sha512-7mJJl+wf1AByoT0PknQiQfOPnVNT4fevGrUBVWO4HXsnYn1aQPyRyrELYrNUFleUBM++KzMKN6QaxHPk0t/6/g==", - "license": "MIT", - "dependencies": { - "js-yaml": "^4.1.0", - "kind-of": "^6.0.3", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=11" - } - }, - "node_modules/@algolia/abtesting": { - "version": "1.25.0", - "resolved": "https://registry.npmmirror.com/@algolia/abtesting/-/abtesting-1.25.0.tgz", - "integrity": "sha512-rSTin9Uta23uaewYVQEp8XI9T3iA/zrg0/1G2vhf8oFFDxFL5vybnZ5IQwsVAg4JpKxPX4/WYNKdcfWrZymk7w==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/autocomplete-core": { - "version": "1.19.12", - "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.12.tgz", - "integrity": "sha512-nJU03L3Q0LlfnFsQTE1YppSrNcbP0lBg29mCaGCeYPog841HP9WWk5KtrTvNH2LPX6p5eELPFetSeSO8I1MFPg==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.19.12", - "@algolia/autocomplete-shared": "1.19.12" - } - }, - "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.19.12", - "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.12.tgz", - "integrity": "sha512-L3Fvu4Ajb7c9X1DMTHFFD8d1uK898b9bg9ENrjLpkSP8BAzO4vS5/MIsU0ks0FqpOihZ4VDAVYRaU6bhm/CljQ==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-shared": "1.19.12" - }, - "peerDependencies": { - "search-insights": ">= 1 < 3" - } - }, - "node_modules/@algolia/autocomplete-shared": { - "version": "1.19.12", - "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.12.tgz", - "integrity": "sha512-goe55oftoEduuOHhTg4viHr58/ZsZvYEtfxkKFy6LdJxZ7+jOdVwp2bZz7qjip9CdFqkIB+34d4esftcaErCzA==", - "license": "MIT", - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/client-abtesting": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/client-abtesting/-/client-abtesting-5.59.0.tgz", - "integrity": "sha512-bm2XN0hCSMYwStSsCBT0/PUB2BDxoyR1Lnub3c392HMEy9bi8PUSW8vR6zltVEKWG2t4PQFWMD5C07bmJxGgPg==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/client-analytics/-/client-analytics-5.59.0.tgz", - "integrity": "sha512-XOFPOTa69WuqHR6c5tMgnUUwwqQgNSzMpxmhrgA9KmxRf8WIqEa0cokHJvohk5CYb7CZx0xeSL6Bk2IUJ7Lv7Q==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-common": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/client-common/-/client-common-5.59.0.tgz", - "integrity": "sha512-PC8ipLOYFKRTfIUY1J3FJxS6ryzWziaXmIX9/sNMoUR8L+XhF7hX2QAeUI87YVl5zujvlYTSOb+HAIqKXDjyHQ==", - "license": "MIT", - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-insights": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/client-insights/-/client-insights-5.59.0.tgz", - "integrity": "sha512-yFNcCMM5fHiyoR0HuxMrzy+VjDcmhFUZTm2IJ2DHwGsVH3B5SEob4zTmeEZ3j/AZqNnmrJOCKl/tJnBg7+84bA==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-personalization": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/client-personalization/-/client-personalization-5.59.0.tgz", - "integrity": "sha512-GYja6HkDt2VrQhWmB2cLx3Z5fDwI9no7q+xwCWcFrTPm5CLH9QZvK0XLO9co1FcNIDxxkMaP3AXM39/XcecEOg==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-query-suggestions": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.59.0.tgz", - "integrity": "sha512-Wofg7bMpWh8N5qDDZs0wy6whc+KMmdNsxgrIGp9Ug2s1Bka0uq7AjyckdxReKPHLA0Q1qH8X/SNh0wn2t2X2Lw==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-search": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/client-search/-/client-search-5.59.0.tgz", - "integrity": "sha512-fHnALZfbEnODczGk14Y/1YBRApp6UEpZUTexGcMUPzY7RDc7q4HN2Y6jh0KUG8Jo9B+q+wOoQEc3ziR0ErbuFg==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/events": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", - "license": "MIT" - }, - "node_modules/@algolia/ingestion": { - "version": "1.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/ingestion/-/ingestion-1.59.0.tgz", - "integrity": "sha512-Fa38s1mHgoaLCT117sfJ6P78rtxUt93CYxBYpq1VOIcslaF+cH+1h5uikAPsKfxLnsuEDZHiBiaI6eNPTsQMRA==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/monitoring": { - "version": "1.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/monitoring/-/monitoring-1.59.0.tgz", - "integrity": "sha512-NyNsRSqM2tF1MX7ZGw/j4rduoEJiQ5wfvbSo/CFVdEzYCjyxbGFRPOZyS/GETJG9rk1TdHOq8NZqKqk/u1fm4g==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/recommend": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/recommend/-/recommend-5.59.0.tgz", - "integrity": "sha512-nXBK2uygWtvbCOffMWqqfjjcEtp9enDKY5/2Pw/Hhw8VVaOyK2ThbGK04bNX/Le+qoK1VHYkodWGVTKfw0Otkw==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.59.0.tgz", - "integrity": "sha512-yb+4afX/zja8QwX0KmV4/ae2kyYkRknsE79CRusYS2U5D8qwn2wq0cn1x12f3tm3F3+5FgmDdbuGdQTuCLSKMQ==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-fetch": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/requester-fetch/-/requester-fetch-5.59.0.tgz", - "integrity": "sha512-Lp52TmpA1QtNmdHzs505Xwf4tgII7RAapkDSF9AAtWIBETcGaTIaXci4Rd9nS6SdaWK1BWTSqAPp5wzh6UN3Ag==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-node-http": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/@algolia/requester-node-http/-/requester-node-http-5.59.0.tgz", - "integrity": "sha512-YYHLEs5rC6oRTFwT7bJaKBR9NSFzikeVHGAT1ffATmUQzR8XqyhHXjoieAUoR7fBU6I5cfy1FVeh5GoRgriuzA==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@antfu/install-pkg": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/@antfu/install-pkg/-/install-pkg-2.1.0.tgz", - "integrity": "sha512-sdg9NxU3zR4Mnawfbc/x6GB5Wf17WYud5qOuEuxXjaKpYpMkISSJEjItGebXJ2bQ4DIcly4NYH23mtkGJjvKUw==", - "license": "MIT", - "dependencies": { - "package-manager-detector": "^1.8.0", - "tinyexec": "^1.3.1" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.29.7.tgz", - "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.29.7", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.29.7.tgz", - "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.29.7.tgz", - "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.7", - "@babel/generator": "^7.29.7", - "@babel/helper-compilation-targets": "^7.29.7", - "@babel/helper-module-transforms": "^7.29.7", - "@babel/helpers": "^7.29.7", - "@babel/parser": "^7.29.7", - "@babel/template": "^7.29.7", - "@babel/traverse": "^7.29.7", - "@babel/types": "^7.29.7", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.29.8", - "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.29.8.tgz", - "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.8", - "@babel/types": "^7.29.8", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.29.7.tgz", - "integrity": "sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", - "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.29.7", - "@babel/helper-validator-option": "^7.29.7", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.7.tgz", - "integrity": "sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.29.7", - "@babel/helper-member-expression-to-functions": "^7.29.7", - "@babel/helper-optimise-call-expression": "^7.29.7", - "@babel/helper-replace-supers": "^7.29.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", - "@babel/traverse": "^7.29.7", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.29.7.tgz", - "integrity": "sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.29.7", - "regexpu-core": "^6.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.8", - "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", - "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "debug": "^4.4.3", - "lodash.debounce": "^4.0.8", - "resolve": "^1.22.11" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-globals/-/helper-globals-7.29.7.tgz", - "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.29.7.tgz", - "integrity": "sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.29.7", - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", - "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.29.7", - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", - "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.29.7", - "@babel/helper-validator-identifier": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.29.7.tgz", - "integrity": "sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", - "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.29.7.tgz", - "integrity": "sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.29.7", - "@babel/helper-wrap-function": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.29.7.tgz", - "integrity": "sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.29.7", - "@babel/helper-optimise-call-expression": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.29.7.tgz", - "integrity": "sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.29.7", - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", - "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", - "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", - "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.29.7.tgz", - "integrity": "sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.29.7", - "@babel/traverse": "^7.29.7", - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.29.7.tgz", - "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.29.7", - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.9", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.9.tgz", - "integrity": "sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.8" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.29.7.tgz", - "integrity": "sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.29.7.tgz", - "integrity": "sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.29.7.tgz", - "integrity": "sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/-/plugin-bugfix-safari-rest-destructuring-rhs-array-7.29.7.tgz", - "integrity": "sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.29.7.tgz", - "integrity": "sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", - "@babel/plugin-transform-optional-chaining": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.29.7.tgz", - "integrity": "sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.29.7.tgz", - "integrity": "sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.29.7.tgz", - "integrity": "sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz", - "integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz", - "integrity": "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.29.7.tgz", - "integrity": "sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.7.tgz", - "integrity": "sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-remap-async-to-generator": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.29.7.tgz", - "integrity": "sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-remap-async-to-generator": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.29.7.tgz", - "integrity": "sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.29.7.tgz", - "integrity": "sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.29.7.tgz", - "integrity": "sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.29.7.tgz", - "integrity": "sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.29.7.tgz", - "integrity": "sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.29.7", - "@babel/helper-compilation-targets": "^7.29.7", - "@babel/helper-globals": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-replace-supers": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.29.7.tgz", - "integrity": "sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/template": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.29.7.tgz", - "integrity": "sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.29.7.tgz", - "integrity": "sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.29.7.tgz", - "integrity": "sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.7.tgz", - "integrity": "sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.29.7.tgz", - "integrity": "sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-explicit-resource-management": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.29.7.tgz", - "integrity": "sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/plugin-transform-destructuring": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.29.7.tgz", - "integrity": "sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.29.7.tgz", - "integrity": "sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.29.7.tgz", - "integrity": "sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.29.7.tgz", - "integrity": "sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.29.7.tgz", - "integrity": "sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.29.7.tgz", - "integrity": "sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.29.7.tgz", - "integrity": "sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.29.7.tgz", - "integrity": "sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.29.7.tgz", - "integrity": "sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.29.7.tgz", - "integrity": "sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.29.8", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.8.tgz", - "integrity": "sha512-6iSnEK0zlkLKU4heofK/AdmRD4e2SHVpJMtrwnTCzhnaM98ria4rTrOXBBi45BTTYnJtO8txnPsX4fChYXkmeA==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-validator-identifier": "^7.29.7", - "@babel/traverse": "^7.29.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.29.7.tgz", - "integrity": "sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.7.tgz", - "integrity": "sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.29.7.tgz", - "integrity": "sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.29.7.tgz", - "integrity": "sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.29.7.tgz", - "integrity": "sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.29.7.tgz", - "integrity": "sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/plugin-transform-destructuring": "^7.29.7", - "@babel/plugin-transform-parameters": "^7.29.7", - "@babel/traverse": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.29.7.tgz", - "integrity": "sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-replace-supers": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.29.7.tgz", - "integrity": "sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.29.7.tgz", - "integrity": "sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.29.7.tgz", - "integrity": "sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.29.7.tgz", - "integrity": "sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.29.7.tgz", - "integrity": "sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.29.7", - "@babel/helper-create-class-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.29.7.tgz", - "integrity": "sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.29.7.tgz", - "integrity": "sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.29.7.tgz", - "integrity": "sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.29.7.tgz", - "integrity": "sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.29.7", - "@babel/helper-module-imports": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/plugin-syntax-jsx": "^7.29.7", - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.29.7.tgz", - "integrity": "sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==", - "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.29.7.tgz", - "integrity": "sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.29.8", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.8.tgz", - "integrity": "sha512-0UpIXPtdDtMXfnV2OJAVMLpj3H/92vmkA6lpSRakmycJvj3VUy6Xs1dM8tXRugupykr5WB+LpiVl0J8LMVg2mg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.29.7.tgz", - "integrity": "sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.29.7.tgz", - "integrity": "sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.7.tgz", - "integrity": "sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7", - "babel-plugin-polyfill-corejs2": "^0.4.14", - "babel-plugin-polyfill-corejs3": "^0.13.0", - "babel-plugin-polyfill-regenerator": "^0.6.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.29.7.tgz", - "integrity": "sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.29.8", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.29.8.tgz", - "integrity": "sha512-4S9ksMGVWUshvgK0mKfvZky7leuG5/uoFVwMpAomJ8bMoDJiNHRVmc1EglwW/CmGVSqqWpEbXm9FmbRit22qoA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.29.7.tgz", - "integrity": "sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.29.7.tgz", - "integrity": "sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.29.7.tgz", - "integrity": "sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.29.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.29.9.tgz", - "integrity": "sha512-FFwIwzU+7SCOuxxV4YtJql6T9981ZVTm+FHO5GhVsRqCTdy0WwrEZh3l42ARpXruJUDGOptdduHW6Zr7pNPLNg==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.29.7", - "@babel/helper-create-class-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", - "@babel/plugin-syntax-typescript": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.29.7.tgz", - "integrity": "sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.29.7.tgz", - "integrity": "sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.29.7.tgz", - "integrity": "sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.29.7.tgz", - "integrity": "sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.29.7.tgz", - "integrity": "sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.29.7", - "@babel/helper-compilation-targets": "^7.29.7", - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-validator-option": "^7.29.7", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.29.7", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.29.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.29.7", - "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": "^7.29.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.29.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.29.7", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.29.7", - "@babel/plugin-syntax-import-attributes": "^7.29.7", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.29.7", - "@babel/plugin-transform-async-generator-functions": "^7.29.7", - "@babel/plugin-transform-async-to-generator": "^7.29.7", - "@babel/plugin-transform-block-scoped-functions": "^7.29.7", - "@babel/plugin-transform-block-scoping": "^7.29.7", - "@babel/plugin-transform-class-properties": "^7.29.7", - "@babel/plugin-transform-class-static-block": "^7.29.7", - "@babel/plugin-transform-classes": "^7.29.7", - "@babel/plugin-transform-computed-properties": "^7.29.7", - "@babel/plugin-transform-destructuring": "^7.29.7", - "@babel/plugin-transform-dotall-regex": "^7.29.7", - "@babel/plugin-transform-duplicate-keys": "^7.29.7", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.7", - "@babel/plugin-transform-dynamic-import": "^7.29.7", - "@babel/plugin-transform-explicit-resource-management": "^7.29.7", - "@babel/plugin-transform-exponentiation-operator": "^7.29.7", - "@babel/plugin-transform-export-namespace-from": "^7.29.7", - "@babel/plugin-transform-for-of": "^7.29.7", - "@babel/plugin-transform-function-name": "^7.29.7", - "@babel/plugin-transform-json-strings": "^7.29.7", - "@babel/plugin-transform-literals": "^7.29.7", - "@babel/plugin-transform-logical-assignment-operators": "^7.29.7", - "@babel/plugin-transform-member-expression-literals": "^7.29.7", - "@babel/plugin-transform-modules-amd": "^7.29.7", - "@babel/plugin-transform-modules-commonjs": "^7.29.7", - "@babel/plugin-transform-modules-systemjs": "^7.29.7", - "@babel/plugin-transform-modules-umd": "^7.29.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.7", - "@babel/plugin-transform-new-target": "^7.29.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.29.7", - "@babel/plugin-transform-numeric-separator": "^7.29.7", - "@babel/plugin-transform-object-rest-spread": "^7.29.7", - "@babel/plugin-transform-object-super": "^7.29.7", - "@babel/plugin-transform-optional-catch-binding": "^7.29.7", - "@babel/plugin-transform-optional-chaining": "^7.29.7", - "@babel/plugin-transform-parameters": "^7.29.7", - "@babel/plugin-transform-private-methods": "^7.29.7", - "@babel/plugin-transform-private-property-in-object": "^7.29.7", - "@babel/plugin-transform-property-literals": "^7.29.7", - "@babel/plugin-transform-regenerator": "^7.29.7", - "@babel/plugin-transform-regexp-modifiers": "^7.29.7", - "@babel/plugin-transform-reserved-words": "^7.29.7", - "@babel/plugin-transform-shorthand-properties": "^7.29.7", - "@babel/plugin-transform-spread": "^7.29.7", - "@babel/plugin-transform-sticky-regex": "^7.29.7", - "@babel/plugin-transform-template-literals": "^7.29.7", - "@babel/plugin-transform-typeof-symbol": "^7.29.7", - "@babel/plugin-transform-unicode-escapes": "^7.29.7", - "@babel/plugin-transform-unicode-property-regex": "^7.29.7", - "@babel/plugin-transform-unicode-regex": "^7.29.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.29.7", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.15", - "babel-plugin-polyfill-corejs3": "^0.14.0", - "babel-plugin-polyfill-regenerator": "^0.6.6", - "core-js-compat": "^3.48.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.14.2", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", - "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.8", - "core-js-compat": "^3.48.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/preset-react/-/preset-react-7.29.7.tgz", - "integrity": "sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-validator-option": "^7.29.7", - "@babel/plugin-transform-react-display-name": "^7.29.7", - "@babel/plugin-transform-react-jsx": "^7.29.7", - "@babel/plugin-transform-react-jsx-development": "^7.29.7", - "@babel/plugin-transform-react-pure-annotations": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/preset-typescript/-/preset-typescript-7.29.7.tgz", - "integrity": "sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.29.7", - "@babel/helper-validator-option": "^7.29.7", - "@babel/plugin-syntax-jsx": "^7.29.7", - "@babel/plugin-transform-modules-commonjs": "^7.29.7", - "@babel/plugin-transform-typescript": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.29.7.tgz", - "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.29.7", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.29.7.tgz", - "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.7", - "@babel/parser": "^7.29.7", - "@babel/types": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.8", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.29.8.tgz", - "integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.7", - "@babel/generator": "^7.29.8", - "@babel/helper-globals": "^7.29.7", - "@babel/parser": "^7.29.8", - "@babel/template": "^7.29.7", - "@babel/types": "^7.29.8", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.8", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.8.tgz", - "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.29.7", - "@babel/helper-validator-identifier": "^7.29.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@braintree/sanitize-url": { - "version": "7.1.2", - "resolved": "https://registry.npmmirror.com/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz", - "integrity": "sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==", - "license": "MIT" - }, - "node_modules/@chevrotain/cst-dts-gen": { - "version": "11.1.2", - "resolved": "https://registry.npmmirror.com/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.1.2.tgz", - "integrity": "sha512-XTsjvDVB5nDZBQB8o0o/0ozNelQtn2KrUVteIHSlPd2VAV2utEb6JzyCJaJ8tGxACR4RiBNWy5uYUHX2eji88Q==", - "license": "Apache-2.0", - "dependencies": { - "@chevrotain/gast": "11.1.2", - "@chevrotain/types": "11.1.2", - "lodash-es": "4.17.23" - } - }, - "node_modules/@chevrotain/gast": { - "version": "11.1.2", - "resolved": "https://registry.npmmirror.com/@chevrotain/gast/-/gast-11.1.2.tgz", - "integrity": "sha512-Z9zfXR5jNZb1Hlsd/p+4XWeUFugrHirq36bKzPWDSIacV+GPSVXdk+ahVWZTwjhNwofAWg/sZg58fyucKSQx5g==", - "license": "Apache-2.0", - "dependencies": { - "@chevrotain/types": "11.1.2", - "lodash-es": "4.17.23" - } - }, - "node_modules/@chevrotain/regexp-to-ast": { - "version": "11.1.2", - "resolved": "https://registry.npmmirror.com/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.1.2.tgz", - "integrity": "sha512-nMU3Uj8naWer7xpZTYJdxbAs6RIv/dxYzkYU8GSwgUtcAAlzjcPfX1w+RKRcYG8POlzMeayOQ/znfwxEGo5ulw==", - "license": "Apache-2.0" - }, - "node_modules/@chevrotain/types": { - "version": "11.1.2", - "resolved": "https://registry.npmmirror.com/@chevrotain/types/-/types-11.1.2.tgz", - "integrity": "sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==", - "license": "Apache-2.0" - }, - "node_modules/@chevrotain/utils": { - "version": "11.1.2", - "resolved": "https://registry.npmmirror.com/@chevrotain/utils/-/utils-11.1.2.tgz", - "integrity": "sha512-4mudFAQ6H+MqBTfqLmU7G1ZwRzCLfJEooL/fsF6rCX5eePMbGhoy5n4g+G4vlh2muDcsCTJtL+uKbOzWxs5LHA==", - "license": "Apache-2.0" - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@csstools/cascade-layer-name-parser": { - "version": "2.0.5", - "resolved": "https://registry.npmmirror.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz", - "integrity": "sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/color-helpers": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", - "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - } - }, - "node_modules/@csstools/css-calc": { - "version": "2.1.4", - "resolved": "https://registry.npmmirror.com/@csstools/css-calc/-/css-calc-2.1.4.tgz", - "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-color-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", - "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/color-helpers": "^5.1.0", - "@csstools/css-calc": "^2.1.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", - "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", - "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/@csstools/media-query-list-parser": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz", - "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - } - }, - "node_modules/@csstools/postcss-alpha-function": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-alpha-function/-/postcss-alpha-function-1.0.1.tgz", - "integrity": "sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-cascade-layers": { - "version": "5.0.2", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.2.tgz", - "integrity": "sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, - "node_modules/@csstools/postcss-cascade-layers/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@csstools/postcss-color-function": { - "version": "4.0.12", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-color-function/-/postcss-color-function-4.0.12.tgz", - "integrity": "sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-color-function-display-p3-linear": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-color-function-display-p3-linear/-/postcss-color-function-display-p3-linear-1.0.1.tgz", - "integrity": "sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-color-mix-function": { - "version": "3.0.12", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.12.tgz", - "integrity": "sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-color-mix-variadic-function-arguments": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.2.tgz", - "integrity": "sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-content-alt-text": { - "version": "2.0.8", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.8.tgz", - "integrity": "sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-contrast-color-function": { - "version": "2.0.12", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-contrast-color-function/-/postcss-contrast-color-function-2.0.12.tgz", - "integrity": "sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-exponential-functions": { - "version": "2.0.9", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.9.tgz", - "integrity": "sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-calc": "^2.1.4", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-font-format-keywords": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz", - "integrity": "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-gamut-mapping": { - "version": "2.0.11", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.11.tgz", - "integrity": "sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-gradients-interpolation-method": { - "version": "5.0.12", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.12.tgz", - "integrity": "sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-hwb-function": { - "version": "4.0.12", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.12.tgz", - "integrity": "sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-ic-unit": { - "version": "4.0.4", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.4.tgz", - "integrity": "sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-initial": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz", - "integrity": "sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "5.0.3", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.3.tgz", - "integrity": "sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, - "node_modules/@csstools/postcss-is-pseudo-class/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@csstools/postcss-light-dark-function": { - "version": "2.0.11", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.11.tgz", - "integrity": "sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-logical-float-and-clear": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz", - "integrity": "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-logical-overflow": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz", - "integrity": "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-logical-overscroll-behavior": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz", - "integrity": "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-logical-resize": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz", - "integrity": "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-logical-viewport-units": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.4.tgz", - "integrity": "sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-media-minmax": { - "version": "2.0.9", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.9.tgz", - "integrity": "sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^2.1.4", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/media-query-list-parser": "^4.0.3" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { - "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.5.tgz", - "integrity": "sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/media-query-list-parser": "^4.0.3" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-nested-calc": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz", - "integrity": "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-normalize-display-values": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz", - "integrity": "sha512-TQUGBuRvxdc7TgNSTevYqrL8oItxiwPDixk20qCB5me/W8uF7BPbhRrAvFuhEoywQp/woRsUZ6SJ+sU5idZAIA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-oklab-function": { - "version": "4.0.12", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.12.tgz", - "integrity": "sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-position-area-property": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-position-area-property/-/postcss-position-area-property-1.0.0.tgz", - "integrity": "sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "4.2.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.2.1.tgz", - "integrity": "sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-property-rule-prelude-list": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-property-rule-prelude-list/-/postcss-property-rule-prelude-list-1.0.0.tgz", - "integrity": "sha512-IxuQjUXq19fobgmSSvUDO7fVwijDJaZMvWQugxfEUxmjBeDCVaDuMpsZ31MsTm5xbnhA+ElDi0+rQ7sQQGisFA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-random-function": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-random-function/-/postcss-random-function-2.0.1.tgz", - "integrity": "sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-calc": "^2.1.4", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-relative-color-syntax": { - "version": "3.0.12", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.12.tgz", - "integrity": "sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-scope-pseudo-class": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz", - "integrity": "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@csstools/postcss-sign-functions": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.4.tgz", - "integrity": "sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-calc": "^2.1.4", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "4.0.9", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.9.tgz", - "integrity": "sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-calc": "^2.1.4", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-syntax-descriptor-syntax-production": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-syntax-descriptor-syntax-production/-/postcss-syntax-descriptor-syntax-production-1.0.1.tgz", - "integrity": "sha512-GneqQWefjM//f4hJ/Kbox0C6f2T7+pi4/fqTqOFGTL3EjnvOReTqO1qUQ30CaUjkwjYq9qZ41hzarrAxCc4gow==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-tokenizer": "^3.0.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-system-ui-font-family": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-system-ui-font-family/-/postcss-system-ui-font-family-1.0.0.tgz", - "integrity": "sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-text-decoration-shorthand": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.3.tgz", - "integrity": "sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/color-helpers": "^5.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "4.0.9", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.9.tgz", - "integrity": "sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-calc": "^2.1.4", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/postcss-unset-value": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz", - "integrity": "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@csstools/utilities": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/utilities/-/utilities-2.0.0.tgz", - "integrity": "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@docsearch/core": { - "version": "4.7.0", - "resolved": "https://registry.npmmirror.com/@docsearch/core/-/core-4.7.0.tgz", - "integrity": "sha512-p/9xVKmPDj3FPvMfPf5naVO3Ej8SCbcUugGvx1+8GgkuBNbqxqN2Irx3WLBv8VY0jH7XpRwKWdlmjXLZsmTLsg==", - "license": "MIT", - "peerDependencies": { - "@types/react": ">= 16.8.0 < 20.0.0", - "react": ">= 16.8.0 < 20.0.0", - "react-dom": ">= 16.8.0 < 20.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@docsearch/css": { - "version": "4.7.0", - "resolved": "https://registry.npmmirror.com/@docsearch/css/-/css-4.7.0.tgz", - "integrity": "sha512-Sk5xkdRFeE7PeWjG9l4AfTwdvMfr9wHiwNNCpHXT4v4SNyNMKdHGvEILc31BgaVFGDDNbv5u/a73tofRiwbEZw==", - "license": "MIT" - }, - "node_modules/@docsearch/react": { - "version": "4.7.0", - "resolved": "https://registry.npmmirror.com/@docsearch/react/-/react-4.7.0.tgz", - "integrity": "sha512-x6oedjJ8O8/pIDBsMo5Orca3/6cQCz616/CwthVe68l43mqnj2lrJ9kFQITBqy8hMsS3nWeBWFoVO5dJ1DCFKA==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-core": "1.19.2", - "@docsearch/core": "4.7.0", - "@docsearch/css": "4.7.0" - }, - "peerDependencies": { - "@types/react": ">= 16.8.0 < 20.0.0", - "react": ">= 16.8.0 < 20.0.0", - "react-dom": ">= 16.8.0 < 20.0.0", - "search-insights": ">= 1 < 3" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "search-insights": { - "optional": true - } - } - }, - "node_modules/@docsearch/react/node_modules/@algolia/autocomplete-core": { - "version": "1.19.2", - "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz", - "integrity": "sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.19.2", - "@algolia/autocomplete-shared": "1.19.2" - } - }, - "node_modules/@docsearch/react/node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.19.2", - "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz", - "integrity": "sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-shared": "1.19.2" - }, - "peerDependencies": { - "search-insights": ">= 1 < 3" - } - }, - "node_modules/@docsearch/react/node_modules/@algolia/autocomplete-shared": { - "version": "1.19.2", - "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz", - "integrity": "sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==", - "license": "MIT", - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@docusaurus/babel": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/babel/-/babel-3.10.2.tgz", - "integrity": "sha512-aJ1hpGyvfkte3dDAfNbWM4biW4yWZBVz7TIGLZP+v+tWOBgxX3e0N5ZIXHIvmfNNXTI77pcHUx3KmtOk05Ze3Q==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.25.9", - "@babel/preset-env": "^7.25.9", - "@babel/preset-react": "^7.25.9", - "@babel/preset-typescript": "^7.25.9", - "@babel/runtime": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@docusaurus/logger": "3.10.2", - "@docusaurus/utils": "3.10.2", - "babel-plugin-dynamic-import-node": "^2.3.3", - "fs-extra": "^11.1.1", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/bundler": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/bundler/-/bundler-3.10.2.tgz", - "integrity": "sha512-i0ZNcy0f0WhaOlYVgzLsWhIoEXO9kS3HRoKPtgE6vQtZUq7arKZaYdNBudr3mqCmd+TyOkwtwfHgs1ENj07r5g==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.25.9", - "@docusaurus/babel": "3.10.2", - "@docusaurus/cssnano-preset": "3.10.2", - "@docusaurus/logger": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils": "3.10.2", - "babel-loader": "^9.2.1", - "clean-css": "^5.3.3", - "copy-webpack-plugin": "^11.0.0", - "css-loader": "^6.11.0", - "css-minimizer-webpack-plugin": "^5.0.1", - "cssnano": "^6.1.2", - "file-loader": "^6.2.0", - "html-minifier-terser": "^7.2.0", - "mini-css-extract-plugin": "^2.9.2", - "null-loader": "^4.0.1", - "postcss": "^8.5.4", - "postcss-loader": "^7.3.4", - "postcss-preset-env": "^10.2.1", - "terser-webpack-plugin": "^5.3.9", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "webpack": "^5.95.0", - "webpackbar": "^7.0.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/faster": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/faster": { - "optional": true - } - } - }, - "node_modules/@docusaurus/core": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/core/-/core-3.10.2.tgz", - "integrity": "sha512-EYByj6nk+aD9KeVxV6Hmo2/nAAT79P21Y82ycTBOBtrmqilloIbIEhgL2/8Xpt2Jz/pgNqHAwyusOGwmbKeJmA==", - "license": "MIT", - "dependencies": { - "@docusaurus/babel": "3.10.2", - "@docusaurus/bundler": "3.10.2", - "@docusaurus/logger": "3.10.2", - "@docusaurus/mdx-loader": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-common": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "cli-table3": "^0.6.3", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "core-js": "^3.31.1", - "detect-port": "^2.1.0", - "escape-html": "^1.0.3", - "eta": "^2.2.0", - "eval": "^0.1.8", - "execa": "^5.1.1", - "fs-extra": "^11.1.1", - "html-tags": "^3.3.1", - "html-webpack-plugin": "^5.6.0", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "open": "^8.4.0", - "p-map": "^4.0.0", - "prompts": "^2.4.2", - "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", - "react-loadable-ssr-addon-v5-slorber": "^1.0.3", - "react-router": "^5.3.4", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.4", - "semver": "^7.5.4", - "serve-handler": "^6.1.7", - "tinypool": "^1.0.2", - "tslib": "^2.6.0", - "update-notifier": "^6.0.2", - "webpack": "^5.95.0", - "webpack-bundle-analyzer": "^4.10.2", - "webpack-dev-server": "^5.2.2", - "webpack-merge": "^6.0.1" - }, - "bin": { - "docusaurus": "bin/docusaurus.mjs" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/faster": "*", - "@mdx-js/react": "^3.0.0", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@docusaurus/faster": { - "optional": true - } - } - }, - "node_modules/@docusaurus/cssnano-preset": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.10.2.tgz", - "integrity": "sha512-4gCnHRbJLTloiwfvFAa92tgb2gI4KYhvjfQVYnEaiMO/EgvWfCo1LwytHXen+1oZAN0VAlS0JAPxp3MsvKDa3A==", - "license": "MIT", - "dependencies": { - "cssnano-preset-advanced": "^6.1.2", - "postcss": "^8.5.4", - "postcss-sort-media-queries": "^5.2.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/faster": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/faster/-/faster-3.10.2.tgz", - "integrity": "sha512-p/5E5/RyHv+QWusJMPN5i3OMJTqTgkhuwzVbB1AReDWTUHXQCmf5mlTFzGiDrWeQWIDOKsuOPn1jJh0s9LUOHA==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.10.2", - "@rspack/core": "^1.7.10", - "@swc/core": "^1.15.40", - "@swc/html": "^1.15.40", - "browserslist": "^4.24.2", - "lightningcss": "^1.27.0", - "semver": "^7.5.4", - "swc-loader": "^0.2.6", - "tslib": "^2.6.0", - "webpack": "^5.95.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/types": "*" - } - }, - "node_modules/@docusaurus/logger": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/logger/-/logger-3.10.2.tgz", - "integrity": "sha512-gSEwqtPfCAnC3ZSJY6xL7tcIfgg0vFD39jbv93eakuweyvO2864xR0K+kmKwBhkTCtWRNjuGGnb5rdmkD/ndqw==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/mdx-loader": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/mdx-loader/-/mdx-loader-3.10.2.tgz", - "integrity": "sha512-9Fd4V/SFjfrVQ0JH5EN0+iPWyFunvTeQE3gfyFeetqPaXMP0OylIjOw16dCuXG4NZJrYdBqwzjh18/h3gRi47w==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "@mdx-js/mdx": "^3.0.0", - "@slorber/remark-comment": "^1.0.0", - "escape-html": "^1.0.3", - "estree-util-value-to-estree": "^3.0.1", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "image-size": "^2.0.2", - "mdast-util-mdx": "^3.0.0", - "mdast-util-to-string": "^4.0.0", - "rehype-raw": "^7.0.0", - "remark-directive": "^3.0.0", - "remark-emoji": "^4.0.0", - "remark-frontmatter": "^5.0.0", - "remark-gfm": "^4.0.0", - "stringify-object": "^3.3.0", - "tslib": "^2.6.0", - "unified": "^11.0.3", - "unist-util-visit": "^5.0.0", - "url-loader": "^4.1.1", - "vfile": "^6.0.1", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/module-type-aliases": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.10.2.tgz", - "integrity": "sha512-h/I5e4jaAhDHW4vaLENi1i2hnOEnXY1t9R+nnRTbgUl7ymVRzN/HF7dDfj8rKYGj8gfIge+Ef+iYRAMtbGvsrQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.10.2", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.10.2.tgz", - "integrity": "sha512-0cbEnNKf0InmLkhj/+nVRmqEnWEoOE8Mh+2x1qOXI0qYpCnphq4RXknVJ8BvybKRXqYVvbmdMfiJSup+k4tm5w==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/logger": "3.10.2", - "@docusaurus/mdx-loader": "3.10.2", - "@docusaurus/theme-common": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-common": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "cheerio": "1.0.0-rc.12", - "combine-promises": "^1.1.0", - "feed": "^4.2.2", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "schema-dts": "^1.1.2", - "srcset": "^4.0.0", - "tslib": "^2.6.0", - "unist-util-visit": "^5.0.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.10.2.tgz", - "integrity": "sha512-Sqwl4FPoZBDrlY8I2VU2H8O0M91CHp9T8ToMSkTZmjvHCif+1laqfXi6sTk8IfyVS/trN5yNjcWd1bFsGB6W5Q==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/logger": "3.10.2", - "@docusaurus/mdx-loader": "3.10.2", - "@docusaurus/module-type-aliases": "3.10.2", - "@docusaurus/theme-common": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-common": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "@types/react-router-config": "^5.0.7", - "combine-promises": "^1.1.0", - "fs-extra": "^11.1.1", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "schema-dts": "^1.1.2", - "tslib": "^2.6.0", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.10.2.tgz", - "integrity": "sha512-h5R12sZ/vV9EPiVjvIl9YFCOwkpwXes7dQMYt3EvP6Pphu4amHxxTqWxf08Fl5DR8h+oZMbWpFTNw5vKEYfvzQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/mdx-loader": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "fs-extra": "^11.1.1", - "tslib": "^2.6.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/plugin-css-cascade-layers": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.10.2.tgz", - "integrity": "sha512-UkdvQby5OQUKWrw3lLnSTJXQ6VETaUVTuPQX9AABtmFm5h+ifEBx1OQ+LN726Q4byuwBf2ElHkf4qU4hTxdvRg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/plugin-debug": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/plugin-debug/-/plugin-debug-3.10.2.tgz", - "integrity": "sha512-8vbZNOSCpnsT57EY6CgN7sgRVmx3KTYwO8Uvo2pbxOyb8tbqAwtT9SslqaQ41HbA1v1hpn5RP7u5s2KvRwAFpQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils": "3.10.2", - "fs-extra": "^11.1.1", - "react-json-view-lite": "^2.3.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.10.2.tgz", - "integrity": "sha512-kMHMBK9j4VAtgd5owwrRLRIi0EjkrpXlX7ePj1+y68XfVZV9I1T4S+koPDm+Hfw2TtnyHvh0uNrDvjz+DjQGVA==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.10.2.tgz", - "integrity": "sha512-Vt90nNFhtAChRe9+it1hcHFgFvETdSnOkL5Bma+p6E/yU2tAYrvvyk+gv+LJGM2ZUkyKuKXLRsZ2Lb0bO7+Vog==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.10.2.tgz", - "integrity": "sha512-MLCffCldysi/R0nzJQP7ZWd0xAoGNnSTiVOo6TTR6mKVGFhE+/XArGe67ZcaZv1uytgQXoXs92VJrgVDrz80rQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.10.2.tgz", - "integrity": "sha512-PODkwg5XetLML3hU/3xpCKJUZ9cqExLaBnD/Fzzwj2VHogLeqnDisLIujae87zuze7T4mCm2A6KEqZkyiz07EQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/logger": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-common": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "fs-extra": "^11.1.1", - "sitemap": "^7.1.1", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/plugin-svgr": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/plugin-svgr/-/plugin-svgr-3.10.2.tgz", - "integrity": "sha512-JgfT3jWM0TJ8Uw0cEcqxHpybngQY1vlBYpuuNO+gEh5iPh5Ar+vxq/u9CFrYsWeXy48BN7Db76Pzp2edNXUQ8A==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "@svgr/core": "8.1.0", - "@svgr/webpack": "^8.1.0", - "tslib": "^2.6.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/preset-classic": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/preset-classic/-/preset-classic-3.10.2.tgz", - "integrity": "sha512-a4B3VczmDl99zK0EufDQYomdJ186WDingjmDXxhN2PNPS9Ty/Y2M5CLFX1KQMRKqRTLiRDKfutzG5IY1FC/ceg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/plugin-content-blog": "3.10.2", - "@docusaurus/plugin-content-docs": "3.10.2", - "@docusaurus/plugin-content-pages": "3.10.2", - "@docusaurus/plugin-css-cascade-layers": "3.10.2", - "@docusaurus/plugin-debug": "3.10.2", - "@docusaurus/plugin-google-analytics": "3.10.2", - "@docusaurus/plugin-google-gtag": "3.10.2", - "@docusaurus/plugin-google-tag-manager": "3.10.2", - "@docusaurus/plugin-sitemap": "3.10.2", - "@docusaurus/plugin-svgr": "3.10.2", - "@docusaurus/theme-classic": "3.10.2", - "@docusaurus/theme-common": "3.10.2", - "@docusaurus/theme-search-algolia": "3.10.2", - "@docusaurus/types": "3.10.2" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-classic": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/theme-classic/-/theme-classic-3.10.2.tgz", - "integrity": "sha512-JqTSLQmqmA9uKWZsD5iwBGJ4JyKB4/yTw6PsSXVPRJG/6GAm/u+add9Iip+hvwP12/AnPNztrdxsI14NJW4KeA==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/logger": "3.10.2", - "@docusaurus/mdx-loader": "3.10.2", - "@docusaurus/module-type-aliases": "3.10.2", - "@docusaurus/plugin-content-blog": "3.10.2", - "@docusaurus/plugin-content-docs": "3.10.2", - "@docusaurus/plugin-content-pages": "3.10.2", - "@docusaurus/theme-common": "3.10.2", - "@docusaurus/theme-translations": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-common": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "copy-text-to-clipboard": "^3.2.0", - "infima": "0.2.0-alpha.45", - "lodash": "^4.17.21", - "nprogress": "^0.2.0", - "postcss": "^8.5.4", - "prism-react-renderer": "^2.3.0", - "prismjs": "^1.29.0", - "react-router-dom": "^5.3.4", - "rtlcss": "^4.1.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-common": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/theme-common/-/theme-common-3.10.2.tgz", - "integrity": "sha512-R9b/vMpK1yye6hNZTA6x/ivRv+at6GhxnXcxkpzCGzO1R1RwiquqiFg2wMFh6aqlJTpWRFKpFD2TzCDQcyOU0A==", - "license": "MIT", - "dependencies": { - "@docusaurus/mdx-loader": "3.10.2", - "@docusaurus/module-type-aliases": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-common": "3.10.2", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^2.0.0", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^2.3.0", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "@docusaurus/plugin-content-docs": "*", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-mermaid": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/theme-mermaid/-/theme-mermaid-3.10.2.tgz", - "integrity": "sha512-Stssh5MYQJ+EdYugUXf+ZcpeJFQPKXf0KCd/SWp10o3CmXNaOoh5IEgVjVqY1e1XhQf3on4+Y4BnrMiD95E2SQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/module-type-aliases": "3.10.2", - "@docusaurus/theme-common": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "mermaid": ">=11.6.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "@mermaid-js/layout-elk": "^0.1.9", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@mermaid-js/layout-elk": { - "optional": true - } - } - }, - "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.10.2.tgz", - "integrity": "sha512-1msxllyhi/5m77JukXtp5UFnUAriwZIC1oJ7MTnpQpCwLTbclJi5BK5n28CTZuSXpQN2ewbbnqRgAhMM6c6ihg==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-core": "^1.19.2", - "@docsearch/react": "^3.9.0 || ^4.3.2", - "@docusaurus/core": "3.10.2", - "@docusaurus/logger": "3.10.2", - "@docusaurus/plugin-content-docs": "3.10.2", - "@docusaurus/theme-common": "3.10.2", - "@docusaurus/theme-translations": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-validation": "3.10.2", - "algoliasearch": "^5.37.0", - "algoliasearch-helper": "^3.26.0", - "clsx": "^2.0.0", - "eta": "^2.2.0", - "fs-extra": "^11.1.1", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=20.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/theme-translations": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/theme-translations/-/theme-translations-3.10.2.tgz", - "integrity": "sha512-iv20wrxnyXkY89LM3TzRlzGlt5fIGO5UnaR6UL1ZVfB9RRFjxQFQ6awDrwAc6Km8Y5gD8pInuwYPF+6/TiCxXA==", - "license": "MIT", - "dependencies": { - "fs-extra": "^11.1.1", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/types": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/types/-/types-3.10.2.tgz", - "integrity": "sha512-B6rvfwIFSapUqUJjMriZswX13K8l5Z7AcmVE6uTEJpYddQieSTR12DsGaFtcZAIDsQd4p+0WTl0Vc6jmZK0Trw==", - "license": "MIT", - "dependencies": { - "@mdx-js/mdx": "^3.0.0", - "@types/history": "^4.7.11", - "@types/mdast": "^4.0.2", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.9.2", - "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.95.0", - "webpack-merge": "^5.9.0" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/@docusaurus/types/node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@docusaurus/utils": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/utils/-/utils-3.10.2.tgz", - "integrity": "sha512-xx0W3eav2uW1NRIpuHJWNwLTC15xPNjU4Uxi9NSnd3swYC96BE3vFiT93SD8s24kmAAWNwgZwfZ2fghGZ01Lcw==", - "license": "MIT", - "dependencies": { - "@11ty/gray-matter": "^1.0.0", - "@docusaurus/logger": "3.10.2", - "@docusaurus/types": "3.10.2", - "@docusaurus/utils-common": "3.10.2", - "escape-string-regexp": "^4.0.0", - "execa": "^5.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^11.1.1", - "github-slugger": "^1.5.0", - "globby": "^11.1.0", - "jiti": "^1.20.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "p-queue": "^6.6.2", - "prompts": "^2.4.2", - "resolve-pathname": "^3.0.0", - "tslib": "^2.6.0", - "url-loader": "^4.1.1", - "utility-types": "^3.10.0", - "webpack": "^5.88.1" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/utils-common": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/utils-common/-/utils-common-3.10.2.tgz", - "integrity": "sha512-x3Dz6jv6iQKBNjBmVTu8p57abMp/VNTUgKBMgRVXJc5444orBTsArv0+cdfrXTiz/VMmHfDRVkPbL7GH2B7T7w==", - "license": "MIT", - "dependencies": { - "@docusaurus/types": "3.10.2", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@docusaurus/utils-validation": { - "version": "3.10.2", - "resolved": "https://registry.npmmirror.com/@docusaurus/utils-validation/-/utils-validation-3.10.2.tgz", - "integrity": "sha512-sn8unbDfUL585NtR3cwHefPicOyaHvPaX7VD0aOg/siIxUBoKyKKaGEqzJZDS64mM43TnxurkYDtmB1wsJlZsw==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "3.10.2", - "@docusaurus/utils": "3.10.2", - "@docusaurus/utils-common": "3.10.2", - "fs-extra": "^11.2.0", - "joi": "^17.9.2", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.6.0" - }, - "engines": { - "node": ">=20.0" - } - }, - "node_modules/@emnapi/core": { - "version": "1.11.3", - "resolved": "https://registry.npmmirror.com/@emnapi/core/-/core-1.11.3.tgz", - "integrity": "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==", - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.3", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.11.3", - "resolved": "https://registry.npmmirror.com/@emnapi/runtime/-/runtime-1.11.3.tgz", - "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.3", - "resolved": "https://registry.npmmirror.com/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz", - "integrity": "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@iconify/types": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/@iconify/types/-/types-2.0.0.tgz", - "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", - "license": "MIT" - }, - "node_modules/@iconify/utils": { - "version": "3.1.7", - "resolved": "https://registry.npmmirror.com/@iconify/utils/-/utils-3.1.7.tgz", - "integrity": "sha512-JZHlwdID+dy+lTgbYC8NEC4zeugqeYsc6jewvzb4c58kHauJn+X7rNwQjxz5p2qSjqaEeQoLkCIQ9v/H4PK0/w==", - "license": "MIT", - "dependencies": { - "@antfu/install-pkg": "^2.0.1", - "@iconify/types": "^2.0.0", - "import-meta-resolve": "^4.2.0" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmmirror.com/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmmirror.com/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmmirror.com/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.11", - "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.11.tgz", - "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.6.0", - "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", - "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jsonjoy.com/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/buffers": { - "version": "17.67.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/buffers/-/buffers-17.67.0.tgz", - "integrity": "sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/codegen": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", - "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-core": { - "version": "4.79.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/fs-core/-/fs-core-4.79.0.tgz", - "integrity": "sha512-bxSwMrDY71OjEdj2mAYBxSe4BnHtAOjOxqUoFJc0WsllcGgA8iYl6wRF+4aVdFUjjEyHfBwxVv0QqW4AweIUZw==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-node-builtins": "4.79.0", - "@jsonjoy.com/fs-node-utils": "4.79.0", - "thingies": "^2.5.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-fsa": { - "version": "4.79.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/fs-fsa/-/fs-fsa-4.79.0.tgz", - "integrity": "sha512-EdadmStAvZw4jYg4iW3mDxBmzMFSI8jcHQkSl+rIQIO7dWbPdXaB83PBQhNCCtMBeX7zwcOFjpp0ecXqbYbjUA==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-core": "4.79.0", - "@jsonjoy.com/fs-node-builtins": "4.79.0", - "@jsonjoy.com/fs-node-utils": "4.79.0", - "thingies": "^2.5.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-node": { - "version": "4.79.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/fs-node/-/fs-node-4.79.0.tgz", - "integrity": "sha512-/k18aT1X+A2yLdlTe3WKpL5y2qrvbcUY1BXA4A+s8fBfTeXfi+xdvEB85JVXVf2i9kzASQZFx8dHw9OchgMUhQ==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-core": "4.79.0", - "@jsonjoy.com/fs-node-builtins": "4.79.0", - "@jsonjoy.com/fs-node-utils": "4.79.0", - "@jsonjoy.com/fs-print": "4.79.0", - "@jsonjoy.com/fs-snapshot": "4.79.0", - "glob-to-regex.js": "^1.3.1", - "thingies": "^2.5.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-node-builtins": { - "version": "4.79.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.79.0.tgz", - "integrity": "sha512-LoBHewVHp/bZQ8Om1Iivl6NEHg7Mmby9kXJZysfnHYW4256rzXFSEcEpto1qgSAka+sq2v4N/Cnl562Z15MByA==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-node-to-fsa": { - "version": "4.79.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.79.0.tgz", - "integrity": "sha512-xFza/t81sVL4rik7h3SlcymC6X7pvNllI88LW1GESEANDXinf5lZoqju59i3AsGLyy4i0eBQvPiizWSMwCunQA==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-fsa": "4.79.0", - "@jsonjoy.com/fs-node-builtins": "4.79.0", - "@jsonjoy.com/fs-node-utils": "4.79.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-node-utils": { - "version": "4.79.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.79.0.tgz", - "integrity": "sha512-Rj/WevHB8DV8VyEvFGSvDD3m3JHOVk3fO1biH26iworL9/rqdUMKQQeyiKTLbdf3Z9s9vVZnn8ZC0FWZgtO2mg==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-node-builtins": "4.79.0", - "glob-to-regex.js": "^1.3.1" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-print": { - "version": "4.79.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/fs-print/-/fs-print-4.79.0.tgz", - "integrity": "sha512-Bp5Q+OV1Dnl8oKf8hVhmboeI+NWbWRk1GxtJzuRvopDeNBDBh0RLevEsfnOVtwBwgRZaptSXn3e/mm3kbOzfDw==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-node-utils": "4.79.0", - "tree-dump": "^1.1.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-snapshot": { - "version": "4.79.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.79.0.tgz", - "integrity": "sha512-/GY+eMvOl4ZQHUnrKYjC/t3N0BImBg7zv/cAGm3kiwUfqSQuo87jtbjmD3mzgQMv16K8zttkHE2wT9GaVsehvA==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/buffers": "^17.65.0", - "@jsonjoy.com/fs-node-utils": "4.79.0", - "@jsonjoy.com/json-pack": "^17.65.0", - "@jsonjoy.com/util": "^17.65.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/base64": { - "version": "17.67.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/base64/-/base64-17.67.0.tgz", - "integrity": "sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/codegen": { - "version": "17.67.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/codegen/-/codegen-17.67.0.tgz", - "integrity": "sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pack": { - "version": "17.67.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/json-pack/-/json-pack-17.67.0.tgz", - "integrity": "sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/base64": "17.67.0", - "@jsonjoy.com/buffers": "17.67.0", - "@jsonjoy.com/codegen": "17.67.0", - "@jsonjoy.com/json-pointer": "17.67.0", - "@jsonjoy.com/util": "17.67.0", - "hyperdyperid": "^1.2.0", - "thingies": "^2.5.0", - "tree-dump": "^1.1.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pointer": { - "version": "17.67.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/json-pointer/-/json-pointer-17.67.0.tgz", - "integrity": "sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/util": "17.67.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/util": { - "version": "17.67.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/util/-/util-17.67.0.tgz", - "integrity": "sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/buffers": "17.67.0", - "@jsonjoy.com/codegen": "17.67.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/json-pack": { - "version": "1.21.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", - "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/base64": "^1.1.2", - "@jsonjoy.com/buffers": "^1.2.0", - "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/json-pointer": "^1.0.2", - "@jsonjoy.com/util": "^1.9.0", - "hyperdyperid": "^1.2.0", - "thingies": "^2.5.0", - "tree-dump": "^1.1.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/json-pack/node_modules/@jsonjoy.com/buffers": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", - "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/json-pointer": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", - "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/util": "^1.9.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/util": { - "version": "1.9.0", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/util/-/util-1.9.0.tgz", - "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/buffers": "^1.0.0", - "@jsonjoy.com/codegen": "^1.0.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/util/node_modules/@jsonjoy.com/buffers": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", - "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", - "license": "MIT" - }, - "node_modules/@mdx-js/mdx": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/@mdx-js/mdx/-/mdx-3.1.1.tgz", - "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdx": "^2.0.0", - "acorn": "^8.0.0", - "collapse-white-space": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-util-scope": "^1.0.0", - "estree-walker": "^3.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "markdown-extensions": "^2.0.0", - "recma-build-jsx": "^1.0.0", - "recma-jsx": "^1.0.0", - "recma-stringify": "^1.0.0", - "rehype-recma": "^1.0.0", - "remark-mdx": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "source-map": "^0.7.0", - "unified": "^11.0.0", - "unist-util-position-from-estree": "^2.0.0", - "unist-util-stringify-position": "^4.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/react": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/@mdx-js/react/-/react-3.1.1.tgz", - "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", - "license": "MIT", - "dependencies": { - "@types/mdx": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" - } - }, - "node_modules/@mermaid-js/parser": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/@mermaid-js/parser/-/parser-2.0.0.tgz", - "integrity": "sha512-K8BeapFUfrfxbRAUQAG5oBOCwo1+bNWzaVnPxTCutkfrTBn6T/j91FIhqxWJ32SUeQ9T3iy1zcmPZ5ROZEvDrg==", - "license": "MIT", - "dependencies": { - "@chevrotain/types": "~11.1.2" - }, - "engines": { - "node": ">=22.12.0" - } - }, - "node_modules/@module-federation/error-codes": { - "version": "0.22.0", - "resolved": "https://registry.npmmirror.com/@module-federation/error-codes/-/error-codes-0.22.0.tgz", - "integrity": "sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==", - "license": "MIT" - }, - "node_modules/@module-federation/runtime": { - "version": "0.22.0", - "resolved": "https://registry.npmmirror.com/@module-federation/runtime/-/runtime-0.22.0.tgz", - "integrity": "sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==", - "license": "MIT", - "dependencies": { - "@module-federation/error-codes": "0.22.0", - "@module-federation/runtime-core": "0.22.0", - "@module-federation/sdk": "0.22.0" - } - }, - "node_modules/@module-federation/runtime-core": { - "version": "0.22.0", - "resolved": "https://registry.npmmirror.com/@module-federation/runtime-core/-/runtime-core-0.22.0.tgz", - "integrity": "sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==", - "license": "MIT", - "dependencies": { - "@module-federation/error-codes": "0.22.0", - "@module-federation/sdk": "0.22.0" - } - }, - "node_modules/@module-federation/runtime-tools": { - "version": "0.22.0", - "resolved": "https://registry.npmmirror.com/@module-federation/runtime-tools/-/runtime-tools-0.22.0.tgz", - "integrity": "sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==", - "license": "MIT", - "dependencies": { - "@module-federation/runtime": "0.22.0", - "@module-federation/webpack-bundler-runtime": "0.22.0" - } - }, - "node_modules/@module-federation/sdk": { - "version": "0.22.0", - "resolved": "https://registry.npmmirror.com/@module-federation/sdk/-/sdk-0.22.0.tgz", - "integrity": "sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==", - "license": "MIT" - }, - "node_modules/@module-federation/webpack-bundler-runtime": { - "version": "0.22.0", - "resolved": "https://registry.npmmirror.com/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.22.0.tgz", - "integrity": "sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==", - "license": "MIT", - "dependencies": { - "@module-federation/runtime": "0.22.0", - "@module-federation/sdk": "0.22.0" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", - "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.5.0", - "@emnapi/runtime": "^1.5.0", - "@tybys/wasm-util": "^0.10.1" - } - }, - "node_modules/@noble/hashes": { - "version": "1.8.0", - "resolved": "https://registry.npmmirror.com/@noble/hashes/-/hashes-1.8.0.tgz", - "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", - "license": "MIT", - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@peculiar/asn1-cms": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/@peculiar/asn1-cms/-/asn1-cms-2.10.0.tgz", - "integrity": "sha512-CkX0H4NCIOMHOU3rh2xXZywinYZ/EnJlaOlJiGI0e5L4XjFqHf4iH30LMbXWChVppdA9ljbanjtzQFOhDNfTWg==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.10.0", - "@peculiar/asn1-x509": "^2.10.0", - "@peculiar/asn1-x509-attr": "^2.10.0", - "asn1js": "^3.0.10", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@peculiar/asn1-csr": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/@peculiar/asn1-csr/-/asn1-csr-2.10.0.tgz", - "integrity": "sha512-jTPTr/9rxKM+niQLMF3jiAMb0lWHUhUHIuSOhdGCIfpB4FAQYf9SoiXOgxP8bS/68IB+bj+1OHvVnDVCQfVUZw==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.10.0", - "@peculiar/asn1-x509": "^2.10.0", - "asn1js": "^3.0.10", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@peculiar/asn1-ecc": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/@peculiar/asn1-ecc/-/asn1-ecc-2.10.0.tgz", - "integrity": "sha512-GFd3iOjFrWX+QWH2R2dO5QSJyyRGv9CIBKtRlGlPNCvb2RvmCbBDexe91MJgV76c69d998Xsa+CvuQ98seoiPg==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.10.0", - "@peculiar/asn1-x509": "^2.10.0", - "asn1js": "^3.0.10", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@peculiar/asn1-pfx": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/@peculiar/asn1-pfx/-/asn1-pfx-2.10.0.tgz", - "integrity": "sha512-1y3QK9ZH1IPleAMmRoJlPS10eGkAWnULETW8zDFNUK1ffqpG7zmDY+kYBMYQgwlcQZ2iitLm2z2EBP0xzRXpaA==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-cms": "^2.10.0", - "@peculiar/asn1-pkcs8": "^2.10.0", - "@peculiar/asn1-rsa": "^2.10.0", - "@peculiar/asn1-schema": "^2.10.0", - "asn1js": "^3.0.10", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@peculiar/asn1-pkcs8": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.10.0.tgz", - "integrity": "sha512-Ri+BZT9bnwqlHWmhs7lvWjvJRxKev2hA2+4EbZajgeYWCbR8hyv0znF4DhsFouOhMj2nSDV/iGJ6DMQtwITnCw==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.10.0", - "@peculiar/asn1-x509": "^2.10.0", - "asn1js": "^3.0.10", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@peculiar/asn1-pkcs9": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.10.0.tgz", - "integrity": "sha512-XIXsbDQFezYk6fudczkuvawkRD4GNpISGCqfYhdkJlvcGF/RFknU+0DDJagOaJqBf+PdPzk4J9oMqDGcvfR9HQ==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-cms": "^2.10.0", - "@peculiar/asn1-pfx": "^2.10.0", - "@peculiar/asn1-pkcs8": "^2.10.0", - "@peculiar/asn1-schema": "^2.10.0", - "@peculiar/asn1-x509": "^2.10.0", - "@peculiar/asn1-x509-attr": "^2.10.0", - "asn1js": "^3.0.10", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@peculiar/asn1-rsa": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/@peculiar/asn1-rsa/-/asn1-rsa-2.10.0.tgz", - "integrity": "sha512-4Jvmwlh3gZAhNZ4/u7JSyLuce9hofOFZ4o3PYKAccCImGnyaT5CMym/ATgvAvqpOYFNW531oPZvJlEBhJy9VfA==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.10.0", - "@peculiar/asn1-x509": "^2.10.0", - "asn1js": "^3.0.10", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@peculiar/asn1-schema": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/@peculiar/asn1-schema/-/asn1-schema-2.10.0.tgz", - "integrity": "sha512-GhokD41lV4gQrrLYm3wCkHfBOnJrnhDMgt4XeMW8gzfE1UdJqIuSwsE+ggf82XBjUXRJylcm+KIGQFa4utIVLw==", - "license": "MIT", - "dependencies": { - "@peculiar/utils": "^2.0.2", - "asn1js": "^3.0.10", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@peculiar/asn1-x509": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/@peculiar/asn1-x509/-/asn1-x509-2.10.0.tgz", - "integrity": "sha512-ucNVg8+ANveTpMN3fy9lA2alryONdXc2A4cEG2hMniWbvQt+YOZoe8BI80YYNO8FBcuDY1qbDQ4uQGQVraHxGA==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.10.0", - "@peculiar/utils": "^2.0.2", - "asn1js": "^3.0.10", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@peculiar/asn1-x509-attr": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.10.0.tgz", - "integrity": "sha512-/85GtKOKmgvuSJNlaFfwGWNdRSZZ+hpF02NyM01XiCdzpaZONiBltDyfluFPvFx966CR+ZHNSG1jniwpy07oGg==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.10.0", - "@peculiar/asn1-x509": "^2.10.0", - "asn1js": "^3.0.10", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@peculiar/utils": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/@peculiar/utils/-/utils-2.0.3.tgz", - "integrity": "sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==", - "license": "MIT", - "dependencies": { - "tslib": "^2.8.1" - } - }, - "node_modules/@peculiar/x509": { - "version": "1.14.3", - "resolved": "https://registry.npmmirror.com/@peculiar/x509/-/x509-1.14.3.tgz", - "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-cms": "^2.6.0", - "@peculiar/asn1-csr": "^2.6.0", - "@peculiar/asn1-ecc": "^2.6.0", - "@peculiar/asn1-pkcs9": "^2.6.0", - "@peculiar/asn1-rsa": "^2.6.0", - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", - "pvtsutils": "^1.3.6", - "reflect-metadata": "^0.2.2", - "tslib": "^2.8.1", - "tsyringe": "^4.10.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@pnpm/config.env-replace": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", - "license": "MIT", - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/@pnpm/network.ca-file": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", - "license": "MIT", - "dependencies": { - "graceful-fs": "4.2.10" - }, - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "license": "ISC" - }, - "node_modules/@pnpm/npm-conf": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/@pnpm/npm-conf/-/npm-conf-3.0.3.tgz", - "integrity": "sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA==", - "license": "MIT", - "dependencies": { - "@pnpm/config.env-replace": "^1.1.0", - "@pnpm/network.ca-file": "^1.0.1", - "config-chain": "^1.1.11" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.29", - "resolved": "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.29.tgz", - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "license": "MIT" - }, - "node_modules/@rspack/binding": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding/-/binding-1.7.12.tgz", - "integrity": "sha512-f4HHuLbvuld8Ba4iB/4ibse5XrKxFrgmM3S4P2AOKnPlekAFlBjmltCuaTL/W2ggYvILaVY+YcFXrEH1rrKeQA==", - "license": "MIT", - "optionalDependencies": { - "@rspack/binding-darwin-arm64": "1.7.12", - "@rspack/binding-darwin-x64": "1.7.12", - "@rspack/binding-linux-arm64-gnu": "1.7.12", - "@rspack/binding-linux-arm64-musl": "1.7.12", - "@rspack/binding-linux-x64-gnu": "1.7.12", - "@rspack/binding-linux-x64-musl": "1.7.12", - "@rspack/binding-wasm32-wasi": "1.7.12", - "@rspack/binding-win32-arm64-msvc": "1.7.12", - "@rspack/binding-win32-ia32-msvc": "1.7.12", - "@rspack/binding-win32-x64-msvc": "1.7.12" - } - }, - "node_modules/@rspack/binding-darwin-arm64": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.12.tgz", - "integrity": "sha512-rbFprJaJiqrmfy8SHth8EsoRS0wg4bXcucwj9NiMzpGFq14Opw8c04iQ6H9BECYzgmN0PKZ9rh41LdVvhdZe4A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rspack/binding-darwin-x64": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.12.tgz", - "integrity": "sha512-jnOp+/UXOJa9xqUb8KXH03sysoO2e4Ij6tw6MqDdmdj8n/A8PQENRPUbW9AwXpPtVDJPus9r4fi7b3+6e4B8Hg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rspack/binding-linux-arm64-gnu": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.12.tgz", - "integrity": "sha512-C8owWG+yvo7X0oVLIXetkoJhIFBP1LYNcAQqtgLmJnQLQDklGuP83dKC+zISGQWpjawHfZ1ER96vLgoTrxKZdw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rspack/binding-linux-arm64-musl": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.12.tgz", - "integrity": "sha512-i51WWI64aRpsfSki6rN0aepPqXkVfS+vZM7+4bWDcmnhUmdMvhIPcYg0QRk3DtyJnu33jqNLM0WHY78k00NyfA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rspack/binding-linux-x64-gnu": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.12.tgz", - "integrity": "sha512-MSos0FuPEefqo9V92ULd5hggKG29EkSNg1zDcypy0OkpsKh5pfjVxTLYFXgTcVyFoUQQbdG8zFBzYbwmJ8V4ew==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rspack/binding-linux-x64-musl": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.12.tgz", - "integrity": "sha512-JcAMVKXOnjfpC3coWjCFPWD3Yl8RBw6a+IXQQ8mfRlHaHMIiOv8IfZqx15XRxMUn49CtP7Z0Na8iiAg2aKrcfw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rspack/binding-wasm32-wasi": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.12.tgz", - "integrity": "sha512-n+ZqP6ZMc0nhOgvadg5VhEs9ojtbES80AcWeFnmGkbzIszvGSO63GKNiRkXtjJ9KFuRzytbbmsCqkUVH+Tywxg==", - "cpu": [ - "wasm32" - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "1.0.7" - } - }, - "node_modules/@rspack/binding-win32-arm64-msvc": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.12.tgz", - "integrity": "sha512-8+h5fYDXYdmugbdfZ+D1y8IQ3rv2EhSfyGP7vBe+bjNyaMa4jWrpucmZbtxojUL1AzaeuHbvMdj9UO/gelk/+g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rspack/binding-win32-ia32-msvc": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.12.tgz", - "integrity": "sha512-cDMGwTRSa2p9fNBVe1wTRkF2AEXZ9ARWW36QeC5CkLaI0Ezz8lvhF2+CSOPnhaQ1O1qtn0L0SF+lFnrY+I7xGQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rspack/binding-win32-x64-msvc": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.12.tgz", - "integrity": "sha512-wIqFvlgFqrgUyj/6S/FJcvShnkZOmIeXTfqvheLY67MGq8qd8jb1YimQVKAIrmWB3yuJKUFACI3Ag1UBtEedEA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rspack/core": { - "version": "1.7.12", - "resolved": "https://registry.npmmirror.com/@rspack/core/-/core-1.7.12.tgz", - "integrity": "sha512-6CwFIHlhRmXfZoMj3v9MZ1SMTPBn+cHVXeMIeaGp5sufqinKsISbsqHu6ZMJu2wDSmZLdmQJX6zLxkhcAUlhkQ==", - "license": "MIT", - "dependencies": { - "@module-federation/runtime-tools": "0.22.0", - "@rspack/binding": "1.7.12", - "@rspack/lite-tapable": "1.1.0" - }, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "@swc/helpers": ">=0.5.1" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@rspack/lite-tapable": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz", - "integrity": "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==", - "license": "MIT" - }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmmirror.com/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "license": "BSD-3-Clause" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.12", - "resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.12.tgz", - "integrity": "sha512-hhyNJ+nbR6ZR7pToHvllEFun9TL0sbL+tk/ON75lo+Xas054uez98qRbsuNt7MBCyZKK4+8Yli/OAGZhmfBZ/g==", - "license": "MIT" - }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@slorber/remark-comment": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", - "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.1.0", - "micromark-util-symbol": "^1.0.1" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", - "license": "MIT", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", - "@svgr/babel-plugin-transform-svg-component": "8.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/core": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/@svgr/core/-/core-8.1.0.tgz", - "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^8.1.3", - "snake-case": "^3.0.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.3", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", - "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.1.3", - "deepmerge": "^4.3.1", - "svgo": "^3.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@svgr/webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/@svgr/webpack/-/webpack-8.1.0.tgz", - "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@babel/plugin-transform-react-constant-elements": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@svgr/core": "8.1.0", - "@svgr/plugin-jsx": "8.1.0", - "@svgr/plugin-svgo": "8.1.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@swc/core": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core/-/core-1.16.2.tgz", - "integrity": "sha512-95I4kiSMeveI/Mhi+tE4fiWcWLUMfzfKrk0jtr8LRMqHgOgq+xHS+zExkDqoO4b5OeeuXHMWVdD5MeP3X6sULw==", - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.28" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.16.2", - "@swc/core-darwin-x64": "1.16.2", - "@swc/core-linux-arm-gnueabihf": "1.16.2", - "@swc/core-linux-arm64-gnu": "1.16.2", - "@swc/core-linux-arm64-musl": "1.16.2", - "@swc/core-linux-ppc64-gnu": "1.16.2", - "@swc/core-linux-s390x-gnu": "1.16.2", - "@swc/core-linux-x64-gnu": "1.16.2", - "@swc/core-linux-x64-musl": "1.16.2", - "@swc/core-win32-arm64-msvc": "1.16.2", - "@swc/core-win32-ia32-msvc": "1.16.2", - "@swc/core-win32-x64-msvc": "1.16.2" - }, - "peerDependencies": { - "@swc/helpers": ">=0.5.17" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.16.2.tgz", - "integrity": "sha512-i/j0HNbnn79qnTVPicvay92Nark8fW8NQqn1e2mGERjUXNpBV0+SwQxlRpk2zBhn6laJ8PDI6Kn1nHZhnz3LCA==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-darwin-x64": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-darwin-x64/-/core-darwin-x64-1.16.2.tgz", - "integrity": "sha512-HrwqHyEyHVXO3qTk8EkNK7/b6sOZSEoNh+pot6RdE5x0LbNqfo8LtJUvi3UTXr+5ja/o5HbJdW80eCXo+NjbiA==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.16.2.tgz", - "integrity": "sha512-MdXi83Z/gGp1LIrg+h7HKxiul/z/Bty/ZJSvYAFqDl9zteC1XLSAZdScquKtXPp50rdyXqritTDCqQBhwVfZKA==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.16.2.tgz", - "integrity": "sha512-/jcTmK6Ktz3owM3YtiKvjofV6p3VpHnYzTIrOGwDIOsDigRAAVuZ8east33wYO/7UTdKYFlyHNnJNT0WJqOA3Q==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.16.2.tgz", - "integrity": "sha512-4gFarKaFnlJTSlJYKmMhV4u+3YE4uYfiydpBoYjmgQhCf9lAieOq+WilZaK9vVSHeqLuQpTEiGULZqAdsRX5Dw==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-ppc64-gnu": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-linux-ppc64-gnu/-/core-linux-ppc64-gnu-1.16.2.tgz", - "integrity": "sha512-syqSLGd6KlZ1PciNzs6bIUlhOuFztZufebOHaERjc4N4SqNZxyqYd4I+jj/EfOYnpe0kNjccn9HJLN1p5dz3+w==", - "cpu": [ - "ppc64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-s390x-gnu": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-linux-s390x-gnu/-/core-linux-s390x-gnu-1.16.2.tgz", - "integrity": "sha512-ZBBLK+ewGyXLzWeMS7wbKtWBdnif6etn7xvPY/iOfbdsjX/+bgkp1pQt2lWF2wlu2hXYZuhJ/tHZE/QR8/apzg==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.16.2.tgz", - "integrity": "sha512-LyHJgxCA4Tje0ysBMbEb0tt/ie8kgUKoFE3JAKFhpevmTmhYEoC0H9s47WuDsqiFckF1ITUguZIXJG6K5e0dvg==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-musl": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.16.2.tgz", - "integrity": "sha512-PghXJlVM1cgtLfNUR1vxFo1z+PDRAe8cWAJlZZ7spmeiN7BospGXg/MHUg7oNSgwSX7Zo//YKv9P5yD9apsFJQ==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.16.2.tgz", - "integrity": "sha512-StTOSefYBxemvNYYUI3UmO1a8y+hSPjjfHogC2TEHL+Z1PlEBim/XtLas5rS04jAzT9RrNmbtX911SZ42H9jSQ==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.16.2.tgz", - "integrity": "sha512-fycER209DYIzsibpTMC+chND05OfOjgztWL9U8OE6/uUlsOUZH3eh98isBLEnOymYUhlJLEt5++W1+KL/FOh5Q==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.16.2.tgz", - "integrity": "sha512-cSd1z6ivSrJPVr+moVwOHWjeKy6TpO4/Shwcv5KCrKYXCccxwh4pRy1C3fDioNx2PF1jPZWHKZjtXt+Be9VbaQ==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmmirror.com/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "license": "Apache-2.0" - }, - "node_modules/@swc/html": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html/-/html-1.16.2.tgz", - "integrity": "sha512-RmWH8m5dePWDFpHpmFKquZCRe5SyD/Sb0FBPxWcWv/tsjtlJl6oHeaxBsTL2edvaHuW385Fy5nPuTjDD/a+GEA==", - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3" - }, - "engines": { - "node": ">=14" - }, - "optionalDependencies": { - "@swc/html-darwin-arm64": "1.16.2", - "@swc/html-darwin-x64": "1.16.2", - "@swc/html-linux-arm-gnueabihf": "1.16.2", - "@swc/html-linux-arm64-gnu": "1.16.2", - "@swc/html-linux-arm64-musl": "1.16.2", - "@swc/html-linux-ppc64-gnu": "1.16.2", - "@swc/html-linux-s390x-gnu": "1.16.2", - "@swc/html-linux-x64-gnu": "1.16.2", - "@swc/html-linux-x64-musl": "1.16.2", - "@swc/html-win32-arm64-msvc": "1.16.2", - "@swc/html-win32-ia32-msvc": "1.16.2", - "@swc/html-win32-x64-msvc": "1.16.2" - } - }, - "node_modules/@swc/html-darwin-arm64": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-darwin-arm64/-/html-darwin-arm64-1.16.2.tgz", - "integrity": "sha512-SNBUxkxLBXD0ATwnOG1rF8mpSrRtFDfqWnEUmbm/g4KwmCt7NuHHv9YYqA3lqfq90Ucc+Xlk7afx8KAW/utz4A==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-darwin-x64": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-darwin-x64/-/html-darwin-x64-1.16.2.tgz", - "integrity": "sha512-WVBgn6yrBPMZu+DL95/XGAXYcgd1nhd67Ml1UjMtFoFMVKY+VRpCq8JpTZTMXhWbVoRENUHk+3PHu0nNjlE/Fg==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-linux-arm-gnueabihf": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-linux-arm-gnueabihf/-/html-linux-arm-gnueabihf-1.16.2.tgz", - "integrity": "sha512-V9F/Akd2TXrf5nUhdLgdy3FoVFxQbw8pA2AOyqnEOa2Mbm1R7DZJJ0GdShEMcoyMyMDB9r/4pWuWfxNtP4mFHA==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-linux-arm64-gnu": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.16.2.tgz", - "integrity": "sha512-jonZVtHc6BesMjC/muUEJGzE1L2kVdgiPVuHc7CL79MrUm0Hjf8LS4Wmtjqe2bLTfRcaMfaYl/60ZcRXHCaYSQ==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-linux-arm64-musl": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-linux-arm64-musl/-/html-linux-arm64-musl-1.16.2.tgz", - "integrity": "sha512-dvki9/sgacHk9ouORmnIok5FbpeE9zUE8yqGGhL1kitNJi6/TKzfnMOpRxSxeDk1/ccvJTAdjRGDIGkT45+b3Q==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-linux-ppc64-gnu": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-linux-ppc64-gnu/-/html-linux-ppc64-gnu-1.16.2.tgz", - "integrity": "sha512-6m0vVWHl9MW7cmWKVgKlFW6yhRv0uahMEaDxNIvXrPC3LdbbiiYZui+ryhyQGIYeVps3OMujzUjc0GihNz/afQ==", - "cpu": [ - "ppc64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-linux-s390x-gnu": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-linux-s390x-gnu/-/html-linux-s390x-gnu-1.16.2.tgz", - "integrity": "sha512-TOlz6wgKyZjg4THJsNZfDz/rAMO+rBa0s2eewTeHEfuJhI+jGu7H6Co6bdbMpN3oyDvTMG7N1f1ktSbkE0erAg==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-linux-x64-gnu": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.16.2.tgz", - "integrity": "sha512-5EduoVpsnuAAkG9BW8COxcIKAe5swgNAEo+BVkAJCOy1ZMZm0krQYBdvlaDCsGGE9yLDKVPm7rpYIi7vTTZTbA==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-linux-x64-musl": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-linux-x64-musl/-/html-linux-x64-musl-1.16.2.tgz", - "integrity": "sha512-c0Z84dvBd0oh1ZcBHnM18itmvJFLbCZBKFF2lEDHsGBSLQ/1sPbggEKsVO4KgWkkhwQV2l9AB4jnsw1HrwZJCg==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-win32-arm64-msvc": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-win32-arm64-msvc/-/html-win32-arm64-msvc-1.16.2.tgz", - "integrity": "sha512-Aq7V2B5gS23X59DzV2z892c4NBHYtJbwhvsCjJN1MBMx723htjgNE9KVIJp9dQaJBr2PrNfb/u3QFwnWV2tAoQ==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-win32-ia32-msvc": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-win32-ia32-msvc/-/html-win32-ia32-msvc-1.16.2.tgz", - "integrity": "sha512-9gslPcsfXxKvAZtOvDkxGuEbM7lqBrONzLAyRsyUtw8KxFcSYkGIO48RDTstGWOkgTgKjjAq/WWqt9qr/NcE3A==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/html-win32-x64-msvc": { - "version": "1.16.2", - "resolved": "https://registry.npmmirror.com/@swc/html-win32-x64-msvc/-/html-win32-x64-msvc-1.16.2.tgz", - "integrity": "sha512-Kdb4VdC8FyF5s1MQaFUNeASLckHECrb/oYy/6OCtU+hbgxQ/o/JCgE4uCe8YAg0LCWSOjhx73PCZDGwPf1TpKw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/types": { - "version": "0.1.28", - "resolved": "https://registry.npmmirror.com/@swc/types/-/types-0.1.28.tgz", - "integrity": "sha512-V6Mnml8v09QALx6K0elJ7o9K/MkVDtW3t6L+7Ou/JcWtb3xwId2AH4FeOceySd2JaO87IMw4+6vSZxLm34LPbw==", - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "license": "MIT", - "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.4", - "resolved": "https://registry.npmmirror.com/@tybys/wasm-util/-/wasm-util-0.10.4.tgz", - "integrity": "sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.6", - "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.6.tgz", - "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "license": "MIT", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/d3": { - "version": "7.4.3", - "resolved": "https://registry.npmmirror.com/@types/d3/-/d3-7.4.3.tgz", - "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", - "license": "MIT", - "dependencies": { - "@types/d3-array": "*", - "@types/d3-axis": "*", - "@types/d3-brush": "*", - "@types/d3-chord": "*", - "@types/d3-color": "*", - "@types/d3-contour": "*", - "@types/d3-delaunay": "*", - "@types/d3-dispatch": "*", - "@types/d3-drag": "*", - "@types/d3-dsv": "*", - "@types/d3-ease": "*", - "@types/d3-fetch": "*", - "@types/d3-force": "*", - "@types/d3-format": "*", - "@types/d3-geo": "*", - "@types/d3-hierarchy": "*", - "@types/d3-interpolate": "*", - "@types/d3-path": "*", - "@types/d3-polygon": "*", - "@types/d3-quadtree": "*", - "@types/d3-random": "*", - "@types/d3-scale": "*", - "@types/d3-scale-chromatic": "*", - "@types/d3-selection": "*", - "@types/d3-shape": "*", - "@types/d3-time": "*", - "@types/d3-time-format": "*", - "@types/d3-timer": "*", - "@types/d3-transition": "*", - "@types/d3-zoom": "*" - } - }, - "node_modules/@types/d3-array": { - "version": "3.2.2", - "resolved": "https://registry.npmmirror.com/@types/d3-array/-/d3-array-3.2.2.tgz", - "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", - "license": "MIT" - }, - "node_modules/@types/d3-axis": { - "version": "3.0.6", - "resolved": "https://registry.npmmirror.com/@types/d3-axis/-/d3-axis-3.0.6.tgz", - "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", - "license": "MIT", - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-brush": { - "version": "3.0.6", - "resolved": "https://registry.npmmirror.com/@types/d3-brush/-/d3-brush-3.0.6.tgz", - "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", - "license": "MIT", - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-chord": { - "version": "3.0.6", - "resolved": "https://registry.npmmirror.com/@types/d3-chord/-/d3-chord-3.0.6.tgz", - "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", - "license": "MIT" - }, - "node_modules/@types/d3-color": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/@types/d3-color/-/d3-color-3.1.3.tgz", - "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", - "license": "MIT" - }, - "node_modules/@types/d3-contour": { - "version": "3.0.6", - "resolved": "https://registry.npmmirror.com/@types/d3-contour/-/d3-contour-3.0.6.tgz", - "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", - "license": "MIT", - "dependencies": { - "@types/d3-array": "*", - "@types/geojson": "*" - } - }, - "node_modules/@types/d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmmirror.com/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", - "license": "MIT" - }, - "node_modules/@types/d3-dispatch": { - "version": "3.0.7", - "resolved": "https://registry.npmmirror.com/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz", - "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==", - "license": "MIT" - }, - "node_modules/@types/d3-drag": { - "version": "3.0.7", - "resolved": "https://registry.npmmirror.com/@types/d3-drag/-/d3-drag-3.0.7.tgz", - "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", - "license": "MIT", - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-dsv": { - "version": "3.0.7", - "resolved": "https://registry.npmmirror.com/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", - "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", - "license": "MIT" - }, - "node_modules/@types/d3-ease": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/@types/d3-ease/-/d3-ease-3.0.2.tgz", - "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", - "license": "MIT" - }, - "node_modules/@types/d3-fetch": { - "version": "3.0.7", - "resolved": "https://registry.npmmirror.com/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", - "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", - "license": "MIT", - "dependencies": { - "@types/d3-dsv": "*" - } - }, - "node_modules/@types/d3-force": { - "version": "3.0.10", - "resolved": "https://registry.npmmirror.com/@types/d3-force/-/d3-force-3.0.10.tgz", - "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", - "license": "MIT" - }, - "node_modules/@types/d3-format": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/@types/d3-format/-/d3-format-3.0.4.tgz", - "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", - "license": "MIT" - }, - "node_modules/@types/d3-geo": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/@types/d3-geo/-/d3-geo-3.1.1.tgz", - "integrity": "sha512-65Emv9fQiQQqphLlRkuQ5ypPsOmWPhtBGCMv61JDPEPMvsx+gzhGf74yw1a78xFKPj6zw4AgQICJoQv0vK9M2w==", - "license": "MIT", - "dependencies": { - "@types/geojson": "*" - } - }, - "node_modules/@types/d3-hierarchy": { - "version": "3.1.7", - "resolved": "https://registry.npmmirror.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", - "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", - "license": "MIT" - }, - "node_modules/@types/d3-interpolate": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", - "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", - "license": "MIT", - "dependencies": { - "@types/d3-color": "*" - } - }, - "node_modules/@types/d3-path": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/@types/d3-path/-/d3-path-3.1.1.tgz", - "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", - "license": "MIT" - }, - "node_modules/@types/d3-polygon": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", - "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", - "license": "MIT" - }, - "node_modules/@types/d3-quadtree": { - "version": "3.0.6", - "resolved": "https://registry.npmmirror.com/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", - "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", - "license": "MIT" - }, - "node_modules/@types/d3-random": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/@types/d3-random/-/d3-random-3.0.4.tgz", - "integrity": "sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA==", - "license": "MIT" - }, - "node_modules/@types/d3-scale": { - "version": "4.0.9", - "resolved": "https://registry.npmmirror.com/@types/d3-scale/-/d3-scale-4.0.9.tgz", - "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", - "license": "MIT", - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-scale-chromatic": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", - "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", - "license": "MIT" - }, - "node_modules/@types/d3-selection": { - "version": "3.0.12", - "resolved": "https://registry.npmmirror.com/@types/d3-selection/-/d3-selection-3.0.12.tgz", - "integrity": "sha512-Qe/KWYhEiIIxGs7HrAAjMfShxKldx19SJtr5zu53f3afPsdZNz7HHtdTLXo/kqeiWNXVycI24kSnfzBYkTzpgw==", - "license": "MIT" - }, - "node_modules/@types/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/@types/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-kVd74ta9eof3eJOvbNd1vGKS/XERRyQbT26Og63hIsvDO84cjD5gEOhsXf26w3FSoNlPVz84DOFcKv/oou+fMw==", - "license": "MIT", - "dependencies": { - "@types/d3-path": "*" - } - }, - "node_modules/@types/d3-time": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/@types/d3-time/-/d3-time-3.0.4.tgz", - "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", - "license": "MIT" - }, - "node_modules/@types/d3-time-format": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", - "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", - "license": "MIT" - }, - "node_modules/@types/d3-timer": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/@types/d3-timer/-/d3-timer-3.0.2.tgz", - "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", - "license": "MIT" - }, - "node_modules/@types/d3-transition": { - "version": "3.0.9", - "resolved": "https://registry.npmmirror.com/@types/d3-transition/-/d3-transition-3.0.9.tgz", - "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", - "license": "MIT", - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-zoom": { - "version": "3.0.9", - "resolved": "https://registry.npmmirror.com/@types/d3-zoom/-/d3-zoom-3.0.9.tgz", - "integrity": "sha512-0sE1406XBYJGiqD3AusTl9ZqC//2mIXix51tbom25gDCA8ri4xnSZg28CaSE8Srl6FClqABUKfsn0qghgdepMA==", - "license": "MIT", - "dependencies": { - "@types/d3-interpolate": "*", - "@types/d3-selection": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.13", - "resolved": "https://registry.npmmirror.com/@types/debug/-/debug-4.1.13.tgz", - "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.9", - "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.9.tgz", - "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - "license": "MIT" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/express": { - "version": "4.17.25", - "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.25.tgz", - "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "^1" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.9", - "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.9.tgz", - "integrity": "sha512-QP2ESEe/ImWY0HDwNAnK9PvEffUyhLTnWkk7KXzHfyeWAnlrDe1fN77bXl6ia8KT3wPlmA7t9/VPRpnf4Ex9sg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/geojson": { - "version": "7946.0.16", - "resolved": "https://registry.npmmirror.com/@types/geojson/-/geojson-7946.0.16.tgz", - "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", - "license": "MIT" - }, - "node_modules/@types/hast": { - "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/@types/hast/-/hast-3.0.5.tgz", - "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmmirror.com/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "license": "MIT" - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "license": "MIT" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", - "license": "MIT" - }, - "node_modules/@types/http-errors": { - "version": "2.0.5", - "resolved": "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.5.tgz", - "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", - "license": "MIT" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.17", - "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.17.tgz", - "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "license": "MIT" - }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmmirror.com/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdx": { - "version": "2.0.14", - "resolved": "https://registry.npmmirror.com/@types/mdx/-/mdx-2.0.14.tgz", - "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "26.6.3", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-26.6.3.tgz", - "integrity": "sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==", - "license": "MIT", - "dependencies": { - "undici-types": "~8.9.0" - } - }, - "node_modules/@types/prismjs": { - "version": "1.26.6", - "resolved": "https://registry.npmmirror.com/@types/prismjs/-/prismjs-1.26.6.tgz", - "integrity": "sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw==", - "license": "MIT" - }, - "node_modules/@types/qs": { - "version": "6.15.1", - "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.15.1.tgz", - "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "19.3.0", - "resolved": "https://registry.npmmirror.com/@types/react/-/react-19.3.0.tgz", - "integrity": "sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==", - "license": "MIT", - "dependencies": { - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmmirror.com/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" - } - }, - "node_modules/@types/react-router-config": { - "version": "5.0.11", - "resolved": "https://registry.npmmirror.com/@types/react-router-config/-/react-router-config-5.0.11.tgz", - "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "^5.1.0" - } - }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmmirror.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "license": "MIT" - }, - "node_modules/@types/sax": { - "version": "1.2.7", - "resolved": "https://registry.npmmirror.com/@types/sax/-/sax-1.2.7.tgz", - "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/send": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@types/send/-/send-1.2.1.tgz", - "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.10", - "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.10.tgz", - "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "<1" - } - }, - "node_modules/@types/serve-static/node_modules/@types/send": { - "version": "0.17.6", - "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.6.tgz", - "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "license": "MIT", - "optional": true - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.35", - "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.35.tgz", - "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "license": "MIT" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.4.0.tgz", - "integrity": "sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==", - "license": "ISC" - }, - "node_modules/@upsetjs/venn.js": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/@upsetjs/venn.js/-/venn.js-2.0.0.tgz", - "integrity": "sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==", - "license": "MIT", - "optionalDependencies": { - "d3-selection": "^3.0.0", - "d3-transition": "^3.0.1" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "license": "Apache-2.0" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.18.0", - "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.18.0.tgz", - "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.5", - "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.5.tgz", - "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/address/-/address-2.0.3.tgz", - "integrity": "sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA==", - "license": "MIT", - "engines": { - "node": ">= 16.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "8.20.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.20.0.tgz", - "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/algoliasearch": { - "version": "5.59.0", - "resolved": "https://registry.npmmirror.com/algoliasearch/-/algoliasearch-5.59.0.tgz", - "integrity": "sha512-wUXzaeI7B526W4y1gFg3lcxgDZ67XSgRJIiellYWOas/pLpO7rOtxm9Gr2E/C8aiSDXIgx1q5TdSsvK67Uakqw==", - "license": "MIT", - "dependencies": { - "@algolia/abtesting": "1.25.0", - "@algolia/client-abtesting": "5.59.0", - "@algolia/client-analytics": "5.59.0", - "@algolia/client-common": "5.59.0", - "@algolia/client-insights": "5.59.0", - "@algolia/client-personalization": "5.59.0", - "@algolia/client-query-suggestions": "5.59.0", - "@algolia/client-search": "5.59.0", - "@algolia/ingestion": "1.59.0", - "@algolia/monitoring": "1.59.0", - "@algolia/recommend": "5.59.0", - "@algolia/requester-browser-xhr": "5.59.0", - "@algolia/requester-fetch": "5.59.0", - "@algolia/requester-node-http": "5.59.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/algoliasearch-helper": { - "version": "3.29.3", - "resolved": "https://registry.npmmirror.com/algoliasearch-helper/-/algoliasearch-helper-3.29.3.tgz", - "integrity": "sha512-gVOMbbPVrCO3Xs+B+BLAIGFqIQow6qHMTYCEeBqLQB9m4ZmKUqMwkEumlal2iyyezHEd4Y0FvFTLbCRutCutIQ==", - "license": "MIT", - "dependencies": { - "@algolia/events": "^4.0.1" - }, - "peerDependencies": { - "algoliasearch": ">= 3.1 < 6" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ansis": { - "version": "3.17.0", - "resolved": "https://registry.npmmirror.com/ansis/-/ansis-3.17.0.tgz", - "integrity": "sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==", - "license": "ISC", - "engines": { - "node": ">=14" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/asn1js": { - "version": "3.0.10", - "resolved": "https://registry.npmmirror.com/asn1js/-/asn1js-3.0.10.tgz", - "integrity": "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==", - "license": "BSD-3-Clause", - "dependencies": { - "pvtsutils": "^1.3.6", - "pvutils": "^1.1.5", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/astring": { - "version": "1.9.0", - "resolved": "https://registry.npmmirror.com/astring/-/astring-1.9.0.tgz", - "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/autoprefixer": { - "version": "10.6.1", - "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.6.1.tgz", - "integrity": "sha512-cL1Qz6ADZhcEbny/8HPfe99J6HhNoYtpX2LFLIbhgGE7Q1hlQVkYFdetDN7Id3KiQxhDrHwzlHr/YQCnZ8+xSA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.28.9", - "caniuse-lite": "^1.0.30001810", - "fraction.js": "^5.3.4", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/babel-loader": { - "version": "9.2.1", - "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-9.2.1.tgz", - "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", - "license": "MIT", - "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "license": "MIT", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.17", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", - "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-define-polyfill-provider": "^0.6.8", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.13.0", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", - "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5", - "core-js-compat": "^3.43.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.8", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", - "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.8" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.11.26", - "resolved": "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.26.tgz", - "integrity": "sha512-GLQdD3y6UF8iVuMJl5fHgE4jdn/ua7n+toKfLgNlg3BqQtOZjpy68T8Tup8/wGWZCDlm7KMg7tPb4MPn7oN0TQ==", - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "license": "MIT" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "1.20.8", - "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.8.tgz", - "integrity": "sha512-JNcyFQ64OiijEkPzUBTCe+hyPXUD/3LEldGQ6iF5LR1w00mx9o7xtDWHXBY2iItjdCFGoilOLNQbH943ut7pHA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.16.0", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/bonjour-service": { - "version": "1.4.4", - "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.4.4.tgz", - "integrity": "sha512-jCZcVv7eoc4QesRscwEZtSROBen+6LpKAmBIsQYQrsAeVHLyMXWX/t6eIV5KiRZYNUBl8eVqImEEMQ8L5+c/Kw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "license": "ISC" - }, - "node_modules/boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmmirror.com/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^6.2.0", - "chalk": "^4.1.2", - "cli-boxes": "^3.0.0", - "string-width": "^5.0.1", - "type-fest": "^2.5.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.21", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.21.tgz", - "integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.29.2", - "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.29.2.tgz", - "integrity": "sha512-/u9r8k8ue4ZhHCw9ovDtltpWdXeXzjhdxCGj6vm1RGLPXb8lu33EMdoCHF5Sx8oYBS+Q/FYYNmAqlHncxR3RmA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.11.26", - "caniuse-lite": "^1.0.30001812", - "electron-to-chromium": "^1.5.439", - "node-releases": "^2.0.57", - "update-browserslist-db": "^1.3.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" - }, - "node_modules/bundle-name": { - "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/bundle-name/-/bundle-name-4.1.1.tgz", - "integrity": "sha512-DdH81/zPLVS11EUgWq3tEu/xn+EzljlMYooDNdzWEnFha3R3NBMpMV1UqYIpjYHV/SgpFKMIX1Oh7o06SjM/oA==", - "license": "MIT", - "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/bytestreamjs": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/bytestreamjs/-/bytestreamjs-2.0.1.tgz", - "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", - "license": "MIT", - "engines": { - "node": ">=14.16" - } - }, - "node_modules/cacheable-request": { - "version": "10.2.14", - "resolved": "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-10.2.14.tgz", - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", - "license": "MIT", - "dependencies": { - "@types/http-cache-semantics": "^4.0.2", - "get-stream": "^6.0.1", - "http-cache-semantics": "^4.1.1", - "keyv": "^4.5.3", - "mimic-response": "^4.0.0", - "normalize-url": "^8.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - } - }, - "node_modules/call-bind": { - "version": "1.0.9", - "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.9.tgz", - "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "get-intrinsic": "^1.3.0", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001813", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001813.tgz", - "integrity": "sha512-zfjJo4rM0+fUomGDBW/xcDjhIwz/210DGvip2MAMDZ8KHcRPnOHmEgHPZP0UHlZoxr8fYKVJOqcORhYQcG4FKQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmmirror.com/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "license": "MIT", - "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/chevrotain": { - "version": "11.1.2", - "resolved": "https://registry.npmmirror.com/chevrotain/-/chevrotain-11.1.2.tgz", - "integrity": "sha512-opLQzEVriiH1uUQ4Kctsd49bRoFDXGGSC4GUqj7pGyxM3RehRhvTlZJc1FL/Flew2p5uwxa1tUDWKzI4wNM8pg==", - "license": "Apache-2.0", - "dependencies": { - "@chevrotain/cst-dts-gen": "11.1.2", - "@chevrotain/gast": "11.1.2", - "@chevrotain/regexp-to-ast": "11.1.2", - "@chevrotain/types": "11.1.2", - "@chevrotain/utils": "11.1.2", - "lodash-es": "4.17.23" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/clean-css": { - "version": "5.3.3", - "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.3.tgz", - "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", - "license": "MIT", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.5", - "resolved": "https://registry.npmmirror.com/cli-table3/-/cli-table3-0.6.5.tgz", - "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", - "license": "MIT", - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/cli-table3/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/cli-table3/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/collapse-white-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz", - "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/colord": { - "version": "2.10.0", - "resolved": "https://registry.npmmirror.com/colord/-/colord-2.10.0.tgz", - "integrity": "sha512-AidJptpBJmjTclAp9BkLwJi0T93fo5epJnbaZslpg6QVzpHjAiveF55mE9AcUJiGMqRHgMDY8soMsQtuNYMHfw==", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "license": "MIT" - }, - "node_modules/combine-promises": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/combine-promises/-/combine-promises-1.2.0.tgz", - "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "license": "ISC" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compressible/node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.8.2", - "resolved": "https://registry.npmmirror.com/compression/-/compression-1.8.2.tgz", - "integrity": "sha512-o8vI5RE5A6EVVOd9o41jKp41aJom+QTEO/Bx8MYNjexMo/Bv2WOjUfZr+aL0WnYSgymUy6zeguqLTsIhV0gMvQ==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "destroy": "1.2.0", - "negotiator": "~0.6.4", - "on-headers": "~1.1.0", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmmirror.com/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "license": "MIT", - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/config-chain/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, - "node_modules/configstore": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/configstore/-/configstore-6.0.0.tgz", - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", - "license": "BSD-2-Clause", - "dependencies": { - "dot-prop": "^6.0.1", - "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", - "write-file-atomic": "^3.0.3", - "xdg-basedir": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/yeoman/configstore?sponsor=1" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/consola": { - "version": "3.4.2", - "resolved": "https://registry.npmmirror.com/consola/-/consola-3.4.2.tgz", - "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", - "license": "MIT", - "engines": { - "node": "^14.18.0 || >=16.10.0" - } - }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", - "license": "MIT" - }, - "node_modules/copy-text-to-clipboard": { - "version": "3.2.2", - "resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz", - "integrity": "sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmmirror.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "license": "MIT", - "dependencies": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmmirror.com/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "license": "MIT", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/core-js": { - "version": "3.50.0", - "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.50.0.tgz", - "integrity": "sha512-BRWgOLKkFeCgRudR6zrs8p9XJZcE14grzKMMssoYrk6krtuEZ7MTKPIY5RzOnqsEKIR9kst7wNzphttraT+Yqw==", - "hasInstallScript": true, - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.50.0", - "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.50.0.tgz", - "integrity": "sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.28.7" - }, - "engines": { - "node": ">=6.4.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/cose-base": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/cose-base/-/cose-base-1.0.3.tgz", - "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", - "license": "MIT", - "dependencies": { - "layout-base": "^1.0.0" - } - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "license": "MIT", - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz", - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", - "license": "MIT", - "dependencies": { - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/crypto-random-string/node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/css-blank-pseudo": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz", - "integrity": "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-blank-pseudo/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-declaration-sorter": { - "version": "7.4.0", - "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-7.4.0.tgz", - "integrity": "sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw==", - "license": "ISC", - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-has-pseudo": { - "version": "7.0.3", - "resolved": "https://registry.npmmirror.com/css-has-pseudo/-/css-has-pseudo-7.0.3.tgz", - "integrity": "sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-has-pseudo/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, - "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-loader": { - "version": "6.11.0", - "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-6.11.0.tgz", - "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", - "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "cssnano": "^6.0.1", - "jest-worker": "^29.4.3", - "postcss": "^8.4.24", - "schema-utils": "^4.0.1", - "serialize-javascript": "^6.0.1" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } - } - }, - "node_modules/css-prefers-color-scheme": { - "version": "10.0.0", - "resolved": "https://registry.npmmirror.com/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz", - "integrity": "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-select": { - "version": "5.2.2", - "resolved": "https://registry.npmmirror.com/css-select/-/css-select-5.2.2.tgz", - "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.2.2", - "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssdb": { - "version": "8.11.0", - "resolved": "https://registry.npmmirror.com/cssdb/-/cssdb-8.11.0.tgz", - "integrity": "sha512-VzY/8kcK5M8oCVr/cwh24J8XVlCOITpmzCizKBC28o7Z1s23MMojXoJ3q7a+TQQoMKvxC3YlG0Z9yU10kJF1uQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - } - ], - "license": "MIT-0" - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", - "license": "MIT", - "dependencies": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-preset-advanced": { - "version": "6.1.2", - "resolved": "https://registry.npmmirror.com/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", - "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", - "license": "MIT", - "dependencies": { - "autoprefixer": "^10.4.19", - "browserslist": "^4.23.0", - "cssnano-preset-default": "^6.1.2", - "postcss-discard-unused": "^6.0.5", - "postcss-merge-idents": "^6.0.3", - "postcss-reduce-idents": "^6.0.3", - "postcss-zindex": "^6.0.2" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-preset-default": { - "version": "6.1.2", - "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", - "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^4.0.2", - "postcss-calc": "^9.0.1", - "postcss-colormin": "^6.1.0", - "postcss-convert-values": "^6.1.0", - "postcss-discard-comments": "^6.0.2", - "postcss-discard-duplicates": "^6.0.3", - "postcss-discard-empty": "^6.0.3", - "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.5", - "postcss-merge-rules": "^6.1.1", - "postcss-minify-font-values": "^6.1.0", - "postcss-minify-gradients": "^6.0.3", - "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.4", - "postcss-normalize-charset": "^6.0.2", - "postcss-normalize-display-values": "^6.0.2", - "postcss-normalize-positions": "^6.0.2", - "postcss-normalize-repeat-style": "^6.0.2", - "postcss-normalize-string": "^6.0.2", - "postcss-normalize-timing-functions": "^6.0.2", - "postcss-normalize-unicode": "^6.1.0", - "postcss-normalize-url": "^6.0.2", - "postcss-normalize-whitespace": "^6.0.2", - "postcss-ordered-values": "^6.0.2", - "postcss-reduce-initial": "^6.1.0", - "postcss-reduce-transforms": "^6.0.2", - "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.4" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-utils": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz", - "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmmirror.com/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "license": "MIT", - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "license": "CC0-1.0" - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "license": "MIT" - }, - "node_modules/cytoscape": { - "version": "3.34.3", - "resolved": "https://registry.npmmirror.com/cytoscape/-/cytoscape-3.34.3.tgz", - "integrity": "sha512-yfYGhRcGAntq6YBD583j4n0Eg3jIxvWmZtz/5uz9UYkeIStSlMxuUja+ec5j3iBD8nv1rwaOAYMW09tBdkSeaQ==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/cytoscape-cose-bilkent": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", - "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", - "license": "MIT", - "dependencies": { - "cose-base": "^1.0.0" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-fcose": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", - "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", - "license": "MIT", - "dependencies": { - "cose-base": "^2.2.0" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-fcose/node_modules/cose-base": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/cose-base/-/cose-base-2.2.0.tgz", - "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", - "license": "MIT", - "dependencies": { - "layout-base": "^2.0.0" - } - }, - "node_modules/cytoscape-fcose/node_modules/layout-base": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/layout-base/-/layout-base-2.0.1.tgz", - "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", - "license": "MIT" - }, - "node_modules/d3": { - "version": "7.9.0", - "resolved": "https://registry.npmmirror.com/d3/-/d3-7.9.0.tgz", - "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", - "license": "ISC", - "dependencies": { - "d3-array": "3", - "d3-axis": "3", - "d3-brush": "3", - "d3-chord": "3", - "d3-color": "3", - "d3-contour": "4", - "d3-delaunay": "6", - "d3-dispatch": "3", - "d3-drag": "3", - "d3-dsv": "3", - "d3-ease": "3", - "d3-fetch": "3", - "d3-force": "3", - "d3-format": "3", - "d3-geo": "3", - "d3-hierarchy": "3", - "d3-interpolate": "3", - "d3-path": "3", - "d3-polygon": "3", - "d3-quadtree": "3", - "d3-random": "3", - "d3-scale": "4", - "d3-scale-chromatic": "3", - "d3-selection": "3", - "d3-shape": "3", - "d3-time": "3", - "d3-time-format": "4", - "d3-timer": "3", - "d3-transition": "3", - "d3-zoom": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "license": "ISC", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-axis": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/d3-axis/-/d3-axis-3.0.0.tgz", - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-brush": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/d3-brush/-/d3-brush-3.0.0.tgz", - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", - "license": "ISC", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "3", - "d3-transition": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", - "license": "ISC", - "dependencies": { - "d3-path": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-contour": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/d3-contour/-/d3-contour-4.0.2.tgz", - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", - "license": "ISC", - "dependencies": { - "d3-array": "^3.2.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmmirror.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", - "license": "ISC", - "dependencies": { - "delaunator": "5" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "license": "ISC", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "license": "ISC", - "dependencies": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "bin": { - "csv2json": "bin/dsv2json.js", - "csv2tsv": "bin/dsv2dsv.js", - "dsv2dsv": "bin/dsv2dsv.js", - "dsv2json": "bin/dsv2json.js", - "json2csv": "bin/json2dsv.js", - "json2dsv": "bin/json2dsv.js", - "json2tsv": "bin/json2dsv.js", - "tsv2csv": "bin/dsv2dsv.js", - "tsv2json": "bin/dsv2json.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dsv/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/d3-dsv/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", - "license": "ISC", - "dependencies": { - "d3-dsv": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "license": "ISC", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-format": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/d3-format/-/d3-format-3.1.2.tgz", - "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-geo": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/d3-geo/-/d3-geo-3.1.1.tgz", - "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", - "license": "ISC", - "dependencies": { - "d3-array": "2.5.0 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "license": "ISC", - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-polygon": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-polygon/-/d3-polygon-3.0.1.tgz", - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-sankey": { - "version": "0.12.3", - "resolved": "https://registry.npmmirror.com/d3-sankey/-/d3-sankey-0.12.3.tgz", - "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", - "license": "BSD-3-Clause", - "dependencies": { - "d3-array": "1 - 2", - "d3-shape": "^1.2.0" - } - }, - "node_modules/d3-sankey/node_modules/d3-array": { - "version": "2.12.1", - "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-2.12.1.tgz", - "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", - "license": "BSD-3-Clause", - "dependencies": { - "internmap": "^1.0.0" - } - }, - "node_modules/d3-sankey/node_modules/d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmmirror.com/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", - "license": "BSD-3-Clause" - }, - "node_modules/d3-sankey/node_modules/d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmmirror.com/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", - "license": "BSD-3-Clause", - "dependencies": { - "d3-path": "1" - } - }, - "node_modules/d3-sankey/node_modules/internmap": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/internmap/-/internmap-1.0.1.tgz", - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", - "license": "ISC" - }, - "node_modules/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "license": "ISC", - "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale-chromatic": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", - "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", - "license": "ISC", - "dependencies": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "license": "ISC", - "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "license": "ISC", - "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "license": "ISC", - "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "license": "ISC", - "dependencies": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "d3-selection": "2 - 3" - } - }, - "node_modules/d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "license": "ISC", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/dagre-d3-es": { - "version": "7.0.14", - "resolved": "https://registry.npmmirror.com/dagre-d3-es/-/dagre-d3-es-7.0.14.tgz", - "integrity": "sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==", - "license": "MIT", - "dependencies": { - "d3": "^7.9.0", - "lodash-es": "^4.17.21" - } - }, - "node_modules/dayjs": { - "version": "1.11.23", - "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.23.tgz", - "integrity": "sha512-QDTCU0M0MxR3hQfnlDJfwekQiaanm1ubOD231u73WBckQ/fsamwRLiE2GBz6D3a/xF1NgfiDLJjXBa1hYOYTtQ==", - "license": "MIT" - }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", - "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-browser": { - "version": "5.5.1", - "resolved": "https://registry.npmmirror.com/default-browser/-/default-browser-5.5.1.tgz", - "integrity": "sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==", - "license": "MIT", - "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-5.0.1.tgz", - "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delaunator": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/delaunator/-/delaunator-5.1.0.tgz", - "integrity": "sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==", - "license": "ISC", - "dependencies": { - "robust-predicates": "^3.0.2" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "license": "MIT" - }, - "node_modules/detect-port": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/detect-port/-/detect-port-2.1.0.tgz", - "integrity": "sha512-epZuWb/6Q62L+nDHJc/hQAqf8pylsqgk3BpZXVBx1CDnr3nkrVNn73Uu1rXcFzkNcc+hkP3whuOg7JZYaQB65Q==", - "license": "MIT", - "dependencies": { - "address": "^2.0.1" - }, - "bin": { - "detect": "dist/commonjs/bin/detect-port.js", - "detect-port": "dist/commonjs/bin/detect-port.js" - }, - "engines": { - "node": ">= 16.0.0" - } - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "license": "MIT", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "license": "MIT", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/dompurify": { - "version": "3.4.16", - "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.4.16.tgz", - "integrity": "sha512-sqo+pNp3qRhCIpbgRi1y8Tgk27Bo2Ry7w0dC1NBeNTdZChWjz9Xb/KOoZbRP/R6pQZ80Qw8YhXw13hWWBbMRnQ==", - "license": "(MPL-2.0 OR Apache-2.0)", - "optionalDependencies": { - "@types/trusted-types": "^2.0.7" - } - }, - "node_modules/domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmmirror.com/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dot-prop/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.440", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.440.tgz", - "integrity": "sha512-SghDzqdJokdz8zP8YNlvS74+CwLRoUPDGvP/gFA+HrKVw+pOshUAgx8pXR37xl/u16zGae746rFNWvZ/22kU2Q==", - "license": "ISC" - }, - "node_modules/elkjs": { - "version": "0.9.3", - "resolved": "https://registry.npmmirror.com/elkjs/-/elkjs-0.9.3.tgz", - "integrity": "sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==", - "license": "EPL-2.0" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/emojilib": { - "version": "2.4.0", - "resolved": "https://registry.npmmirror.com/emojilib/-/emojilib-2.4.0.tgz", - "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/emoticon": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/emoticon/-/emoticon-4.1.0.tgz", - "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.25.1", - "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.25.1.tgz", - "integrity": "sha512-nGXts5znJzmWPu+mIE9izCOzdg63oJca2mDzGWWTth7sr4aCToKcoyFVBQwN75Ij5Pf6p510EwkTqViTRzDV+w==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.3.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-2.3.2.tgz", - "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==", - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.2.tgz", - "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-toolkit": { - "version": "1.52.0", - "resolved": "https://registry.npmmirror.com/es-toolkit/-/es-toolkit-1.52.0.tgz", - "integrity": "sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==", - "license": "MIT", - "workspaces": [ - "docs", - "benchmarks", - "tests/types", - "tests/browser-compat" - ] - }, - "node_modules/esast-util-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", - "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/esast-util-from-js": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", - "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "acorn": "^8.0.0", - "esast-util-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/escape-goat/-/escape-goat-4.0.0.tgz", - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/estree-util-attach-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", - "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-build-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", - "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-walker": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-scope": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/estree-util-scope/-/estree-util-scope-1.0.1.tgz", - "integrity": "sha512-B0np3dcdxqILX5e9nEi5/Fr4K7gL4oYFVPV1zRa2e9wRCbQoZZNWOZFYyoInvXUPJXBXjss+QXlWLJChDEHDkA==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-to-js": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", - "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-value-to-estree": { - "version": "3.5.0", - "resolved": "https://registry.npmmirror.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.5.0.tgz", - "integrity": "sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/remcohaszing" - } - }, - "node_modules/estree-util-visit": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz", - "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eta": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/eta/-/eta-2.2.0.tgz", - "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "url": "https://github.com/eta-dev/eta?sponsor=1" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eval": { - "version": "0.1.8", - "resolved": "https://registry.npmmirror.com/eval/-/eval-0.1.8.tgz", - "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", - "dependencies": { - "@types/node": "*", - "require-like": ">= 0.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/express": { - "version": "4.22.3", - "resolved": "https://registry.npmmirror.com/express/-/express-4.22.3.tgz", - "integrity": "sha512-Bdcs4+3qlpVlx2NRn6fgX2Ue2/gGRaPeawebgclM0ERSCqDpA+owF1fdPwjJUTAJWMTuAaxjDf+hzb0/4eKvvw==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.5", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.13", - "proxy-addr": "~2.0.7", - "qs": "~6.16.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.13", - "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.13.tgz", - "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", - "license": "MIT" - }, - "node_modules/express/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.1.8", - "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.1.8.tgz", - "integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/fastq": { - "version": "1.20.3", - "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.20.3.tgz", - "integrity": "sha512-XKv5nnLs6nLF71NgiKJLIZFLkPyIEuOselLG7ujZnGrRfQK8HpvY+WqKhAJUAdLomwVHErVS4LfxFlPq0/FTAw==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fault": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/fault/-/fault-2.0.1.tgz", - "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", - "license": "MIT", - "dependencies": { - "format": "^0.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/feed": { - "version": "4.2.2", - "resolved": "https://registry.npmmirror.com/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", - "license": "MIT", - "dependencies": { - "xml-js": "^1.6.11" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmmirror.com/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/file-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/file-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.3.2", - "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.2.tgz", - "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "statuses": "~2.0.2", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", - "license": "MIT", - "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmmirror.com/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmmirror.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", - "license": "MIT", - "engines": { - "node": ">= 14.17" - } - }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmmirror.com/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "11.4.1", - "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.4.1.tgz", - "integrity": "sha512-KYAb4c9BJQI6QqGKthV68OHe0badztdXJWKo0WtBA9IuCFPTKvE5ZdUBglP833aMjhaSPNO4A5j/EkzZtGlKjA==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "license": "ISC" - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", - "license": "ISC" - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regex.js": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/glob-to-regex.js/-/glob-to-regex.js-1.3.1.tgz", - "integrity": "sha512-zhWhMRsgnOym+1txhUmYJGD6eUsbUdrZv55gCYKuJX8t2p3+M8My23PD09bEIsreGUs5pnSa/idmcfp2/IlqGg==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "license": "MIT", - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmmirror.com/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/got/node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hachure-fill": { - "version": "0.5.2", - "resolved": "https://registry.npmmirror.com/hachure-fill/-/hachure-fill-0.5.2.tgz", - "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", - "license": "MIT" - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "license": "MIT" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-yarn": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/has-yarn/-/has-yarn-3.0.0.tgz", - "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hasown": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.4.tgz", - "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.3", - "resolved": "https://registry.npmmirror.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", - "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^9.0.0", - "property-information": "^7.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "9.1.0", - "resolved": "https://registry.npmmirror.com/hast-util-raw/-/hast-util-raw-9.1.0.tgz", - "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", - "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-attach-comments": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.6", - "resolved": "https://registry.npmmirror.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", - "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmmirror.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", - "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "9.0.1", - "resolved": "https://registry.npmmirror.com/hastscript/-/hastscript-9.0.1.tgz", - "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmmirror.com/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "license": "MIT" - }, - "node_modules/html-minifier-terser": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", - "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "~5.3.2", - "commander": "^10.0.0", - "entities": "^4.4.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.15.1" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - } - }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.6.8", - "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.6.8.tgz", - "integrity": "sha512-MZmKQcTnhEh1SPSyMiEytIeDZDUoBZVorNHivQGXMASHf/BSGGOrKa2xQ5bGx3TCe1n109ecCt+cpww7wwWhKA==", - "license": "MIT", - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x || 2.x", - "webpack": "^5.20.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/html-webpack-plugin/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "license": "BSD-2-Clause" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.10", - "resolved": "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.10.tgz", - "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", - "license": "MIT" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.10", - "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.10.tgz", - "integrity": "sha512-RKzRWNPxUZqbuk3BC5mGVJbBnWgr+diEnjJexIOytFbBzDy88Fbh/YvBr3DsNrl1jYAfjWfpATEv0NO35FDuPQ==", - "license": "MIT", - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", - "license": "MIT", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/hyperdyperid": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz", - "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", - "license": "MIT", - "engines": { - "node": ">=10.18" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/image-size/-/image-size-2.0.4.tgz", - "integrity": "sha512-QRUkFFsRV/6fuESxb9Vkq+a0LkSrgKXuc2NEqfikiXxxN/G3tjWt5EVUlMaImRBZRZK/jRBEbYvpPYZL8t08Zw==", - "license": "MIT", - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/import-meta-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", - "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/infima": { - "version": "0.2.0-alpha.45", - "resolved": "https://registry.npmmirror.com/infima/-/infima-0.2.0-alpha.45.tgz", - "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/inline-style-parser": { - "version": "0.2.7", - "resolved": "https://registry.npmmirror.com/inline-style-parser/-/inline-style-parser-0.2.7.tgz", - "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", - "license": "MIT" - }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ipaddr.js": { - "version": "2.5.0", - "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.5.0.tgz", - "integrity": "sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "license": "MIT", - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.17.0", - "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.17.0.tgz", - "integrity": "sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-inside-container/node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "license": "MIT", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-network-error": { - "version": "1.3.2", - "resolved": "https://registry.npmmirror.com/is-network-error/-/is-network-error-1.3.2.tgz", - "integrity": "sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-npm": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/is-npm/-/is-npm-6.1.0.tgz", - "integrity": "sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "license": "MIT" - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz", - "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmmirror.com/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/joi": { - "version": "17.13.8", - "resolved": "https://registry.npmmirror.com/joi/-/joi-17.13.8.tgz", - "integrity": "sha512-iPKOGmiRw1jxf/JOPwxmCcUQAOdF359mdzYiP2DJ+TMX0YK2zjK3D+zYOaGjpumWxOFF/l2xVWjRVK5bGSLdEw==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", - "@sideway/address": "^4.1.5", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.3.2", - "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.3.2.tgz", - "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/puzrin" - }, - { - "type": "github", - "url": "https://github.com/sponsors/nodeca" - } - ], - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.2.1", - "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.1.tgz", - "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/katex": { - "version": "0.16.47", - "resolved": "https://registry.npmmirror.com/katex/-/katex-0.16.47.tgz", - "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==", - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], - "license": "MIT", - "dependencies": { - "commander": "^8.3.0" - }, - "bin": { - "katex": "cli.js" - } - }, - "node_modules/katex/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/khroma": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/khroma/-/khroma-2.1.0.tgz", - "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", - "license": "MIT", - "dependencies": { - "package-json": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/launch-editor": { - "version": "2.14.1", - "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.14.1.tgz", - "integrity": "sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==", - "license": "MIT", - "dependencies": { - "picocolors": "^1.1.1", - "shell-quote": "^1.8.4" - } - }, - "node_modules/layout-base": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/layout-base/-/layout-base-1.0.2.tgz", - "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", - "license": "MIT" - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lightningcss": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss/-/lightningcss-1.33.0.tgz", - "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.33.0", - "lightningcss-darwin-arm64": "1.33.0", - "lightningcss-darwin-x64": "1.33.0", - "lightningcss-freebsd-x64": "1.33.0", - "lightningcss-linux-arm-gnueabihf": "1.33.0", - "lightningcss-linux-arm64-gnu": "1.33.0", - "lightningcss-linux-arm64-musl": "1.33.0", - "lightningcss-linux-x64-gnu": "1.33.0", - "lightningcss-linux-x64-musl": "1.33.0", - "lightningcss-win32-arm64-msvc": "1.33.0", - "lightningcss-win32-x64-msvc": "1.33.0" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz", - "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz", - "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz", - "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz", - "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz", - "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==", - "cpu": [ - "arm" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz", - "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz", - "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz", - "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz", - "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz", - "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz", - "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.18.1", - "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", - "license": "MIT" - }, - "node_modules/lodash-es": { - "version": "4.17.23", - "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.23.tgz", - "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "license": "MIT" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "license": "MIT" - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/markdown-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz", - "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/markdown-table": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/markdown-table/-/markdown-table-3.0.4.tgz", - "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/marked": { - "version": "16.4.2", - "resolved": "https://registry.npmmirror.com/marked/-/marked-16.4.2.tgz", - "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", - "license": "MIT", - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 20" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mdast-util-directive": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", - "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", - "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", - "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-frontmatter": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", - "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "escape-string-regexp": "^5.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-gfm": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", - "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", - "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.1.tgz", - "integrity": "sha512-OuJHqvr455pwu2OaOrir7dbzqs4jlWKOtlu9L6GjcIjjQwNyw02VntQsr/Ek6/A13vgnXfUhBekWRUP1OkNivw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", - "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", - "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", - "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.1", - "resolved": "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", - "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.3.tgz", - "integrity": "sha512-wgyJtgUkUcdU7zci7uuwc/tzoAhm0TswWhaXuvnWolqug+8jY7bgNkBBL0dYBnHgc/tHL7lCzRdPsdUxUKKBqw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "license": "CC0-1.0" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "4.79.0", - "resolved": "https://registry.npmmirror.com/memfs/-/memfs-4.79.0.tgz", - "integrity": "sha512-vDFqA9WSa//xa3XIKwMmVqxgWWft4PMKW0k69gBM2rYOzZ3VqL9BrK3Kyl45jSxS7qImDgwejZzEb/xDWhP37g==", - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-core": "4.79.0", - "@jsonjoy.com/fs-fsa": "4.79.0", - "@jsonjoy.com/fs-node": "4.79.0", - "@jsonjoy.com/fs-node-builtins": "4.79.0", - "@jsonjoy.com/fs-node-to-fsa": "4.79.0", - "@jsonjoy.com/fs-node-utils": "4.79.0", - "@jsonjoy.com/fs-print": "4.79.0", - "@jsonjoy.com/fs-snapshot": "4.79.0", - "@jsonjoy.com/json-pack": "^1.11.0", - "@jsonjoy.com/util": "^1.9.0", - "glob-to-regex.js": "^1.3.1", - "thingies": "^2.5.0", - "tree-dump": "^1.0.3", - "tslib": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/mermaid": { - "version": "12.0.0", - "resolved": "https://registry.npmmirror.com/mermaid/-/mermaid-12.0.0.tgz", - "integrity": "sha512-/wQXC9iBxoGV8p3erbvaXs9h77VyLDBH6GdayVjj3hEcSQhFU4N1WUhUppotCEqlIxI2pRMwjwBSwTB1MfZBgQ==", - "license": "MIT", - "dependencies": { - "@braintree/sanitize-url": "^7.1.2", - "@iconify/utils": "^3.0.2", - "@mermaid-js/parser": "^2.0.0", - "@types/d3": "^7.4.3", - "@upsetjs/venn.js": "^2.0.0", - "chevrotain": "~11.1.2", - "cytoscape": "^3.34.0", - "cytoscape-cose-bilkent": "^4.1.0", - "cytoscape-fcose": "^2.2.0", - "d3": "^7.9.0", - "d3-sankey": "^0.12.3", - "dagre-d3-es": "7.0.14", - "dayjs": "^1.11.21", - "dompurify": "^3.4.12", - "elkjs": "^0.9.3", - "es-toolkit": "^1.45.1", - "katex": "^0.16.47", - "khroma": "^2.1.0", - "marked": "^16.3.0", - "roughjs": "^4.6.6", - "stylis": "^4.3.6", - "ts-dedent": "^2.2.0", - "uuid": "^11.1.0 || ^12 || ^13 || ^14.0.0" - }, - "engines": { - "node": ">=22.12.0" - } - }, - "node_modules/mermaid/node_modules/uuid": { - "version": "14.0.2", - "resolved": "https://registry.npmmirror.com/uuid/-/uuid-14.0.2.tgz", - "integrity": "sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist-node/bin/uuid" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromark": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/micromark/-/micromark-4.0.3.tgz", - "integrity": "sha512-oGYfQzHSG5dOMovQcJ3fyTmZlWAWpi0XA0sJwJs+i6OT88o1+Jtw/8z0CmdowSLxGhhFK89rQ/oXph/wN02PNw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-edit-map": "^1.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.4.tgz", - "integrity": "sha512-wxEeE8v8XVvOrxn1TZj74qYhAtTQsSqufHVS3uNVyT1MupXxhyaHk8/9xDNPh9BmL77QNDgWTkZ3RsYHB2ry7w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.1.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-edit-map": "^1.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.3" - } - }, - "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-directive": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", - "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "parse-entities": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-frontmatter": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", - "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", - "license": "MIT", - "dependencies": { - "fault": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", - "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", - "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.2.tgz", - "integrity": "sha512-pRzm4kDTu0MjlmBkxmS9yYhw60nncfcEwu9NNdPFSQEFXS95ZKyIIyTSHu/o3ReBUrLKYEq+7YaXCRn/bPB4MA==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", - "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-mdx-expression": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", - "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", - "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-mdx-md": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", - "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", - "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", - "license": "MIT", - "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^3.0.0", - "micromark-extension-mdx-jsx": "^3.0.0", - "micromark-extension-mdx-md": "^2.0.0", - "micromark-extension-mdxjs-esm": "^3.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", - "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-mdx-expression": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", - "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-space/node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-edit-map": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/micromark-util-edit-map/-/micromark-util-edit-map-1.0.0.tgz", - "integrity": "sha512-Pa2ljlsEL6sVwFaYeyrOLSYbQt73JvGbPOYFq+9AElXiSnfI5Q4465RRZ1sHv7lDjDOnGRDDaqPXqClqWK/q1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-events-to-acorn": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", - "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", - "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-2.0.3.tgz", - "integrity": "sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark/node_modules/micromark-factory-space": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz", - "integrity": "sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "license": "MIT", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.10.2", - "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.2.tgz", - "integrity": "sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg==", - "license": "MIT", - "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "license": "ISC" - }, - "node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minimizer-webpack-plugin": { - "version": "5.12.0", - "resolved": "https://registry.npmmirror.com/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.12.0.tgz", - "integrity": "sha512-PCN1x1OzFeFB2GlP91s46q7Gz8Jf16Z7M45bzpoqrYZlh12QeY6tYVM5h299wbwy1DxnQ69VFmmh8Hb2Ff8mbw==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.31", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.3", - "terser": "^5.51.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@minify-html/node": { - "optional": true - }, - "@napi-rs/image": { - "optional": true - }, - "@swc/core": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "@swc/html": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "cssnano": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "html-minifier-terser": { - "optional": true - }, - "imagemin": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "postcss": { - "optional": true - }, - "sharp": { - "optional": true - }, - "svgo": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/minimizer-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/minimizer-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "license": "MIT", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/nanoid": { - "version": "3.3.19", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.19.tgz", - "integrity": "sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-emoji": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/node-emoji/-/node-emoji-2.2.0.tgz", - "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^4.6.0", - "char-regex": "^1.0.2", - "emojilib": "^2.4.0", - "skin-tone": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/node-releases": { - "version": "2.0.57", - "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.57.tgz", - "integrity": "sha512-kQK9LGGFiHtrWiNhZtA7Qbw17AQz+dmsEKODRIVTXA9+e5MS/2gZEBhYJt13GrAz5/IOZKddH/0Z3TP/Zgo+yw==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-8.1.1.tgz", - "integrity": "sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", - "license": "MIT" - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/null-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/null-loader/-/null-loader-4.0.1.tgz", - "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/null-loader/node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/null-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/null-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/null-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "license": "MIT" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.1.0.tgz", - "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmmirror.com/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "license": "MIT", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "license": "MIT", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmmirror.com/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmmirror.com/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", - "license": "MIT", - "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "license": "MIT", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/package-json": { - "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/package-json/-/package-json-8.1.1.tgz", - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", - "license": "MIT", - "dependencies": { - "got": "^12.1.0", - "registry-auth-token": "^5.0.1", - "registry-url": "^6.0.0", - "semver": "^7.3.7" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-manager-detector": { - "version": "1.8.0", - "resolved": "https://registry.npmmirror.com/package-manager-detector/-/package-manager-detector-1.8.0.tgz", - "integrity": "sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==", - "license": "MIT" - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/parse-entities/-/parse-entities-4.0.2.tgz", - "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmmirror.com/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", - "license": "ISC" - }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmmirror.com/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "license": "MIT", - "dependencies": { - "entities": "^6.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.1.0", - "resolved": "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", - "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", - "license": "MIT", - "dependencies": { - "domhandler": "^5.0.3", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-data-parser": { - "version": "0.1.0", - "resolved": "https://registry.npmmirror.com/path-data-parser/-/path-data-parser-0.1.0.tgz", - "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "license": "(WTFPL OR MIT)" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkijs": { - "version": "3.4.1", - "resolved": "https://registry.npmmirror.com/pkijs/-/pkijs-3.4.1.tgz", - "integrity": "sha512-Oo/NZcSWccq8KyoG7gLE9fnltgHns+pNCjCAp/WmjsUySi+sX7y4z4Xqu4fVb42CDHzRPl33fjzT15V1wvcyhA==", - "license": "BSD-3-Clause", - "workspaces": [ - "website" - ], - "dependencies": { - "@noble/hashes": "1.8.0", - "asn1js": "^3.0.6", - "bytestreamjs": "^2.0.1", - "pvtsutils": "^1.3.6", - "pvutils": "^1.1.3", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/points-on-curve": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/points-on-curve/-/points-on-curve-0.2.0.tgz", - "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", - "license": "MIT" - }, - "node_modules/points-on-path": { - "version": "0.2.1", - "resolved": "https://registry.npmmirror.com/points-on-path/-/points-on-path-0.2.1.tgz", - "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", - "license": "MIT", - "dependencies": { - "path-data-parser": "0.1.0", - "points-on-curve": "0.2.0" - } - }, - "node_modules/postcss": { - "version": "8.5.28", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.28.tgz", - "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.18", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz", - "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" - } - }, - "node_modules/postcss-color-functional-notation": { - "version": "7.0.12", - "resolved": "https://registry.npmmirror.com/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.12.tgz", - "integrity": "sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-color-hex-alpha": { - "version": "10.0.0", - "resolved": "https://registry.npmmirror.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz", - "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "10.0.0", - "resolved": "https://registry.npmmirror.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz", - "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-colormin": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz", - "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-convert-values": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", - "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-custom-media": { - "version": "11.0.6", - "resolved": "https://registry.npmmirror.com/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz", - "integrity": "sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.5", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/media-query-list-parser": "^4.0.3" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-custom-properties": { - "version": "14.0.6", - "resolved": "https://registry.npmmirror.com/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz", - "integrity": "sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.5", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-custom-selectors": { - "version": "8.0.5", - "resolved": "https://registry.npmmirror.com/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz", - "integrity": "sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.5", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-dir-pseudo-class": { - "version": "9.0.1", - "resolved": "https://registry.npmmirror.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz", - "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-discard-comments": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", - "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", - "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-empty": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", - "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", - "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-unused": { - "version": "6.0.5", - "resolved": "https://registry.npmmirror.com/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", - "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-double-position-gradients": { - "version": "6.0.4", - "resolved": "https://registry.npmmirror.com/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.4.tgz", - "integrity": "sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-focus-visible": { - "version": "10.0.1", - "resolved": "https://registry.npmmirror.com/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz", - "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-focus-within": { - "version": "9.0.1", - "resolved": "https://registry.npmmirror.com/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz", - "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "license": "MIT", - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-gap-properties": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz", - "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-image-set-function": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz", - "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/utilities": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-lab-function": { - "version": "7.0.12", - "resolved": "https://registry.npmmirror.com/postcss-lab-function/-/postcss-lab-function-7.0.12.tgz", - "integrity": "sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/css-color-parser": "^3.1.0", - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/utilities": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-loader": { - "version": "7.3.4", - "resolved": "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-7.3.4.tgz", - "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.3.5", - "jiti": "^1.20.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-logical": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/postcss-logical/-/postcss-logical-8.1.0.tgz", - "integrity": "sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-merge-idents": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", - "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", - "license": "MIT", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.5", - "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", - "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.1" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-rules": { - "version": "6.1.1", - "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", - "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", - "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", - "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", - "license": "MIT", - "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-params": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", - "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", - "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", - "license": "ISC", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-nesting": { - "version": "13.0.2", - "resolved": "https://registry.npmmirror.com/postcss-nesting/-/postcss-nesting-13.0.2.tgz", - "integrity": "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/selector-resolve-nested": "^3.1.0", - "@csstools/selector-specificity": "^5.0.0", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz", - "integrity": "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, - "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, - "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", - "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", - "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", - "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", - "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-string": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", - "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", - "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", - "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", - "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", - "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-opacity-percentage": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz", - "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==", - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-ordered-values": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", - "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", - "license": "MIT", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-overflow-shorthand": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz", - "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "license": "MIT", - "peerDependencies": { - "postcss": "^8" - } - }, - "node_modules/postcss-place": { - "version": "10.0.0", - "resolved": "https://registry.npmmirror.com/postcss-place/-/postcss-place-10.0.0.tgz", - "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-preset-env": { - "version": "10.6.1", - "resolved": "https://registry.npmmirror.com/postcss-preset-env/-/postcss-preset-env-10.6.1.tgz", - "integrity": "sha512-yrk74d9EvY+W7+lO9Aj1QmjWY9q5NsKjK2V9drkOPZB/X6KZ0B3igKsHUYakb7oYVhnioWypQX3xGuePf89f3g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "@csstools/postcss-alpha-function": "^1.0.1", - "@csstools/postcss-cascade-layers": "^5.0.2", - "@csstools/postcss-color-function": "^4.0.12", - "@csstools/postcss-color-function-display-p3-linear": "^1.0.1", - "@csstools/postcss-color-mix-function": "^3.0.12", - "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.2", - "@csstools/postcss-content-alt-text": "^2.0.8", - "@csstools/postcss-contrast-color-function": "^2.0.12", - "@csstools/postcss-exponential-functions": "^2.0.9", - "@csstools/postcss-font-format-keywords": "^4.0.0", - "@csstools/postcss-gamut-mapping": "^2.0.11", - "@csstools/postcss-gradients-interpolation-method": "^5.0.12", - "@csstools/postcss-hwb-function": "^4.0.12", - "@csstools/postcss-ic-unit": "^4.0.4", - "@csstools/postcss-initial": "^2.0.1", - "@csstools/postcss-is-pseudo-class": "^5.0.3", - "@csstools/postcss-light-dark-function": "^2.0.11", - "@csstools/postcss-logical-float-and-clear": "^3.0.0", - "@csstools/postcss-logical-overflow": "^2.0.0", - "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", - "@csstools/postcss-logical-resize": "^3.0.0", - "@csstools/postcss-logical-viewport-units": "^3.0.4", - "@csstools/postcss-media-minmax": "^2.0.9", - "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5", - "@csstools/postcss-nested-calc": "^4.0.0", - "@csstools/postcss-normalize-display-values": "^4.0.1", - "@csstools/postcss-oklab-function": "^4.0.12", - "@csstools/postcss-position-area-property": "^1.0.0", - "@csstools/postcss-progressive-custom-properties": "^4.2.1", - "@csstools/postcss-property-rule-prelude-list": "^1.0.0", - "@csstools/postcss-random-function": "^2.0.1", - "@csstools/postcss-relative-color-syntax": "^3.0.12", - "@csstools/postcss-scope-pseudo-class": "^4.0.1", - "@csstools/postcss-sign-functions": "^1.1.4", - "@csstools/postcss-stepped-value-functions": "^4.0.9", - "@csstools/postcss-syntax-descriptor-syntax-production": "^1.0.1", - "@csstools/postcss-system-ui-font-family": "^1.0.0", - "@csstools/postcss-text-decoration-shorthand": "^4.0.3", - "@csstools/postcss-trigonometric-functions": "^4.0.9", - "@csstools/postcss-unset-value": "^4.0.0", - "autoprefixer": "^10.4.23", - "browserslist": "^4.28.1", - "css-blank-pseudo": "^7.0.1", - "css-has-pseudo": "^7.0.3", - "css-prefers-color-scheme": "^10.0.0", - "cssdb": "^8.6.0", - "postcss-attribute-case-insensitive": "^7.0.1", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^7.0.12", - "postcss-color-hex-alpha": "^10.0.0", - "postcss-color-rebeccapurple": "^10.0.0", - "postcss-custom-media": "^11.0.6", - "postcss-custom-properties": "^14.0.6", - "postcss-custom-selectors": "^8.0.5", - "postcss-dir-pseudo-class": "^9.0.1", - "postcss-double-position-gradients": "^6.0.4", - "postcss-focus-visible": "^10.0.1", - "postcss-focus-within": "^9.0.1", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^6.0.0", - "postcss-image-set-function": "^7.0.0", - "postcss-lab-function": "^7.0.12", - "postcss-logical": "^8.1.0", - "postcss-nesting": "^13.0.2", - "postcss-opacity-percentage": "^3.0.0", - "postcss-overflow-shorthand": "^6.0.0", - "postcss-page-break": "^3.0.4", - "postcss-place": "^10.0.0", - "postcss-pseudo-class-any-link": "^10.0.1", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^8.0.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "10.0.1", - "resolved": "https://registry.npmmirror.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz", - "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-reduce-idents": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", - "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", - "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", - "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "license": "MIT", - "peerDependencies": { - "postcss": "^8.0.3" - } - }, - "node_modules/postcss-selector-not": { - "version": "8.0.1", - "resolved": "https://registry.npmmirror.com/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", - "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { - "version": "7.1.6", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz", - "integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.4", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.1.4.tgz", - "integrity": "sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-sort-media-queries": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", - "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", - "license": "MIT", - "dependencies": { - "sort-css-media-queries": "2.2.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.4.23" - } - }, - "node_modules/postcss-svgo": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz", - "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.2.0" - }, - "engines": { - "node": "^14 || ^16 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", - "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT" - }, - "node_modules/postcss-zindex": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/postcss-zindex/-/postcss-zindex-6.0.2.tgz", - "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/prism-react-renderer": { - "version": "2.4.1", - "resolved": "https://registry.npmmirror.com/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", - "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==", - "license": "MIT", - "dependencies": { - "@types/prismjs": "^1.26.0", - "clsx": "^2.0.0" - }, - "peerDependencies": { - "react": ">=16.0.0" - } - }, - "node_modules/prismjs": { - "version": "1.30.0", - "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.30.0.tgz", - "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/property-information": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/property-information/-/property-information-7.2.0.tgz", - "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "license": "ISC" - }, - "node_modules/proxy-addr": { - "version": "2.0.8", - "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.8.tgz", - "integrity": "sha512-5nnx0yGyVUcY6t9RnWcARWtwT9F1D8O9rt08htPvnd49W1IgZtmLkhu9WfMzQj1cFxjHIO6connUNVW5k7AVyQ==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pupa": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/pupa/-/pupa-3.3.0.tgz", - "integrity": "sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==", - "license": "MIT", - "dependencies": { - "escape-goat": "^4.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pvtsutils": { - "version": "1.3.6", - "resolved": "https://registry.npmmirror.com/pvtsutils/-/pvtsutils-1.3.6.tgz", - "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.8.1" - } - }, - "node_modules/pvutils": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/pvutils/-/pvutils-1.2.0.tgz", - "integrity": "sha512-BbubeCEyTuQjVMakvJQ/Sxbc93F2pwmbsxONT/ZRrwU7Ua38d8unYTwXpTVLAKJ4BDuH9IGztCjQcd/N/39Dvg==", - "license": "MIT", - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/qs": { - "version": "6.16.0", - "resolved": "https://registry.npmmirror.com/qs/-/qs-6.16.0.tgz", - "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==", - "license": "BSD-3-Clause", - "dependencies": { - "es-define-property": "^1.0.1", - "side-channel": "^1.1.1" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmmirror.com/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "19.3.0", - "resolved": "https://registry.npmmirror.com/react/-/react-19.3.0.tgz", - "integrity": "sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.3.0", - "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-19.3.0.tgz", - "integrity": "sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.28.0" - }, - "peerDependencies": { - "react": "^19.3.0" - } - }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmmirror.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", - "license": "MIT" - }, - "node_modules/react-helmet-async": { - "name": "@slorber/react-helmet-async", - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.12.5", - "invariant": "^2.2.4", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.2.0", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/react-json-view-lite": { - "version": "2.5.0", - "resolved": "https://registry.npmmirror.com/react-json-view-lite/-/react-json-view-lite-2.5.0.tgz", - "integrity": "sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0" - } - }, - "node_modules/react-loadable": { - "name": "@docusaurus/react-loadable", - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", - "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", - "license": "MIT", - "dependencies": { - "@types/react": "*" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.3.tgz", - "integrity": "sha512-GXfh9VLwB5ERaCsU6RULh7tkemeX15aNh6wuMEBtfdyMa7fFG8TXrhXlx1SoEK2Ty/l6XIkzzYIQmyaWW3JgdQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.3" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "react-loadable": "*", - "webpack": ">=4.41.1 || 5.x" - } - }, - "node_modules/react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmmirror.com/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2" - }, - "peerDependencies": { - "react": ">=15", - "react-router": ">=5" - } - }, - "node_modules/react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.3.4", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recma-build-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", - "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-build-jsx": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recma-jsx": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/recma-jsx/-/recma-jsx-1.0.1.tgz", - "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", - "license": "MIT", - "dependencies": { - "acorn-jsx": "^5.0.0", - "estree-util-to-js": "^2.0.0", - "recma-parse": "^1.0.0", - "recma-stringify": "^1.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/recma-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/recma-parse/-/recma-parse-1.0.0.tgz", - "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "esast-util-from-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recma-stringify": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/recma-stringify/-/recma-stringify-1.0.0.tgz", - "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-to-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmmirror.com/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "license": "Apache-2.0" - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.3.0", - "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.3.0.tgz", - "integrity": "sha512-9ns8odR8e9q3otKeHj3DE80jZYKg6zVeZKE+zQmRKXFoVUcuiTGeO6iusDhPRoIQQPVPRvH+SfBhrTud4eczuw==", - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regexpu-core": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-6.4.0.tgz", - "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.2", - "regjsgen": "^0.8.0", - "regjsparser": "^0.13.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.2.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/registry-auth-token/-/registry-auth-token-5.1.1.tgz", - "integrity": "sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==", - "license": "MIT", - "dependencies": { - "@pnpm/npm-conf": "^3.0.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/registry-url": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/registry-url/-/registry-url-6.0.1.tgz", - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", - "license": "MIT", - "dependencies": { - "rc": "1.2.8" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "license": "MIT" - }, - "node_modules/regjsparser": { - "version": "0.13.3", - "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.13.3.tgz", - "integrity": "sha512-ycwFAS14Jw4mppvmK4GR/J6u3WpWpjkEApehuHtLc/8VpPNpDMbQ4WjqwplXifGeyKOzHSFLmSPqzksDQE2Sfg==", - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~3.1.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/rehype-raw": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/rehype-raw/-/rehype-raw-7.0.0.tgz", - "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-raw": "^9.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-recma": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/rehype-recma/-/rehype-recma-1.0.0.tgz", - "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "hast-util-to-estree": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remark-directive": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/remark-directive/-/remark-directive-3.0.1.tgz", - "integrity": "sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-directive": "^3.0.0", - "micromark-extension-directive": "^3.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-emoji": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/remark-emoji/-/remark-emoji-4.0.1.tgz", - "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.2", - "emoticon": "^4.0.1", - "mdast-util-find-and-replace": "^3.0.1", - "node-emoji": "^2.1.0", - "unified": "^11.0.4" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/remark-frontmatter": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", - "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-frontmatter": "^2.0.0", - "micromark-extension-frontmatter": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/remark-gfm/-/remark-gfm-4.0.1.tgz", - "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/remark-mdx/-/remark-mdx-3.1.1.tgz", - "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", - "license": "MIT", - "dependencies": { - "mdast-util-mdx": "^3.0.0", - "micromark-extension-mdxjs": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmmirror.com/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.2", - "resolved": "https://registry.npmmirror.com/remark-rehype/-/remark-rehype-11.1.2.tgz", - "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmmirror.com/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "license": "MIT", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/renderkid/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmmirror.com/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", - "engines": { - "node": "*" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.12", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.12.tgz", - "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "license": "MIT" - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", - "license": "MIT" - }, - "node_modules/responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "license": "MIT", - "dependencies": { - "lowercase-keys": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/robust-predicates": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.3.tgz", - "integrity": "sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==", - "license": "Unlicense" - }, - "node_modules/roughjs": { - "version": "4.6.6", - "resolved": "https://registry.npmmirror.com/roughjs/-/roughjs-4.6.6.tgz", - "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", - "license": "MIT", - "dependencies": { - "hachure-fill": "^0.5.2", - "path-data-parser": "^0.1.0", - "points-on-curve": "^0.2.0", - "points-on-path": "^0.2.1" - } - }, - "node_modules/rtlcss": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/rtlcss/-/rtlcss-4.3.0.tgz", - "integrity": "sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==", - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0", - "postcss": "^8.4.21", - "strip-json-comments": "^3.1.1" - }, - "bin": { - "rtlcss": "bin/rtlcss.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/run-applescript": { - "version": "7.1.0", - "resolved": "https://registry.npmmirror.com/run-applescript/-/run-applescript-7.1.0.tgz", - "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmmirror.com/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", - "license": "BSD-3-Clause" - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/sax": { - "version": "1.6.1", - "resolved": "https://registry.npmmirror.com/sax/-/sax-1.6.1.tgz", - "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=11.0.0" - } - }, - "node_modules/scheduler": { - "version": "0.28.0", - "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.28.0.tgz", - "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==", - "license": "MIT" - }, - "node_modules/schema-dts": { - "version": "1.1.5", - "resolved": "https://registry.npmmirror.com/schema-dts/-/schema-dts-1.1.5.tgz", - "integrity": "sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==", - "license": "Apache-2.0" - }, - "node_modules/schema-utils": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.5.0.tgz", - "integrity": "sha512-zJlMCZ0cAR5p/Y4oVpRoqioDMJcGxaXRrQ/4rP4WyR84vc5z/DolXdbvXeDpTwbtocDFr2rhPqHPErDCUtz2kA==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.15", - "ajv": "^8.20.0", - "ajv-formats": "^3.0.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/search-insights": { - "version": "2.17.3", - "resolved": "https://registry.npmmirror.com/search-insights/-/search-insights-2.17.3.tgz", - "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", - "license": "MIT", - "peer": true - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "5.5.0", - "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-5.5.0.tgz", - "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==", - "license": "MIT", - "dependencies": { - "@peculiar/x509": "^1.14.2", - "pkijs": "^3.3.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/semver": { - "version": "7.8.5", - "resolved": "https://registry.npmmirror.com/semver/-/semver-7.8.5.tgz", - "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", - "license": "MIT", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/send": { - "version": "0.19.2", - "resolved": "https://registry.npmmirror.com/send/-/send-0.19.2.tgz", - "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/send/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-handler": { - "version": "6.1.7", - "resolved": "https://registry.npmmirror.com/serve-handler/-/serve-handler-6.1.7.tgz", - "integrity": "sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==", - "license": "MIT", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "mime-types": "2.1.18", - "minimatch": "3.1.5", - "path-is-inside": "1.0.2", - "path-to-regexp": "3.3.0", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/path-to-regexp": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-3.3.0.tgz", - "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", - "license": "MIT" - }, - "node_modules/serve-index": { - "version": "1.9.2", - "resolved": "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.2.tgz", - "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.8.0", - "mime-types": "~2.1.35", - "parseurl": "~1.3.3" - }, - "engines": { - "node": ">= 0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.16.3", - "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.3.tgz", - "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", - "license": "MIT", - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.11.0", - "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.11.0.tgz", - "integrity": "sha512-JdxDPD0DBTyu08pq0kPC0xSNet/qsU07qT6IsX1AS8oO2ICNRY4ldNa8OAI6PuwAH8tG3lxEhbqmyp4Dw4036g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.1.tgz", - "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4", - "side-channel-list": "^1.0.1", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.1.tgz", - "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/sirv": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/sirv/-/sirv-2.0.4.tgz", - "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "license": "MIT" - }, - "node_modules/sitemap": { - "version": "7.1.3", - "resolved": "https://registry.npmmirror.com/sitemap/-/sitemap-7.1.3.tgz", - "integrity": "sha512-tAjEd+wt/YwnEbfNB2ht51ybBJxbEWwe5ki/Z//Wh0rpBFTCUSj46GnxUKEWzhfuJTsee8x3lybHxFgUMig2hw==", - "license": "MIT", - "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=5.6.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "license": "MIT" - }, - "node_modules/skin-tone": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/skin-tone/-/skin-tone-2.0.0.tgz", - "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", - "license": "MIT", - "dependencies": { - "unicode-emoji-modifier-base": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/snake-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/snake-case/-/snake-case-3.0.4.tgz", - "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sort-css-media-queries": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", - "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", - "license": "MIT", - "engines": { - "node": ">= 6.3.0" - } - }, - "node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 12" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/srcset": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/srcset/-/srcset-4.0.0.tgz", - "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmmirror.com/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", - "license": "MIT" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.4.0.tgz", - "integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmmirror.com/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "license": "BSD-2-Clause", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-to-js": { - "version": "1.1.21", - "resolved": "https://registry.npmmirror.com/style-to-js/-/style-to-js-1.1.21.tgz", - "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", - "license": "MIT", - "dependencies": { - "style-to-object": "1.0.14" - } - }, - "node_modules/style-to-object": { - "version": "1.0.14", - "resolved": "https://registry.npmmirror.com/style-to-object/-/style-to-object-1.0.14.tgz", - "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.7" - } - }, - "node_modules/stylehacks": { - "version": "6.1.1", - "resolved": "https://registry.npmmirror.com/stylehacks/-/stylehacks-6.1.1.tgz", - "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/stylis": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.4.0.tgz", - "integrity": "sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==", - "license": "MIT" - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/svg-parser/-/svg-parser-2.1.0.tgz", - "integrity": "sha512-bwLf38YmY+TDYHJw1Ex0Co8c4yeXuJAo8YnXGZrscxrvYoVVIvLeniEkV1Ks/54VteMnL4FtyN1+P+TZJdUPmQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/svgo": { - "version": "3.3.5", - "resolved": "https://registry.npmmirror.com/svgo/-/svgo-3.3.5.tgz", - "integrity": "sha512-8SQMzdrvWaD8deUmrnYB+ASyxBVgWUOilg+A75nE/76WdLpj6LopCwiAVvkzkcqy/9b7t2Mg7faFLjg0ZRcZ3w==", - "license": "MIT", - "dependencies": { - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0", - "sax": "^1.5.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/swc-loader": { - "version": "0.2.7", - "resolved": "https://registry.npmmirror.com/swc-loader/-/swc-loader-0.2.7.tgz", - "integrity": "sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w==", - "license": "MIT", - "dependencies": { - "@swc/counter": "^0.1.3" - }, - "peerDependencies": { - "@swc/core": "^1.2.147", - "webpack": ">=2" - } - }, - "node_modules/tapable": { - "version": "2.3.3", - "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.3.3.tgz", - "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser": { - "version": "5.51.2", - "resolved": "https://registry.npmmirror.com/terser/-/terser-5.51.2.tgz", - "integrity": "sha512-bWnjSNscmuI+GJze6ZupnHP8G/cTcsJF+bXCeQknk2SHQsgbNJnLrqiH9jZ2W4STPVXH2mDKKRX3iwPhc9Cn/Q==", - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.15.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.6.1", - "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", - "integrity": "sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@minify-html/node": { - "optional": true - }, - "@swc/core": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "@swc/html": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "cssnano": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "html-minifier-terser": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "postcss": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT" - }, - "node_modules/thingies": { - "version": "2.6.1", - "resolved": "https://registry.npmmirror.com/thingies/-/thingies-2.6.1.tgz", - "integrity": "sha512-cV/CMGTK3M4MlnJ/0At6ismOw/A0EEniDNScajjz/Br3c1sqE72YD01rGpPTKwd27wAxI5Pr+6+0w8yofzFRYw==", - "license": "MIT", - "engines": { - "node": ">=10.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "^2" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "license": "MIT" - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", - "license": "MIT" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/tinyexec/-/tinyexec-1.3.1.tgz", - "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/tinypool": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/tinypool/-/tinypool-1.1.1.tgz", - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tree-dump": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/tree-dump/-/tree-dump-1.1.0.tgz", - "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-dedent": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/ts-dedent/-/ts-dedent-2.3.0.tgz", - "integrity": "sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg==", - "license": "MIT", - "engines": { - "node": ">=6.10" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/tsyringe": { - "version": "4.10.0", - "resolved": "https://registry.npmmirror.com/tsyringe/-/tsyringe-4.10.0.tgz", - "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", - "license": "MIT", - "dependencies": { - "tslib": "^1.9.3" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/tsyringe/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "license": "0BSD" - }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-is/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-is/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/undici-types": { - "version": "8.9.0", - "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-8.9.0.tgz", - "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", - "license": "MIT" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-emoji-modifier-base": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", - "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.1", - "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", - "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", - "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "11.0.5", - "resolved": "https://registry.npmmirror.com/unified/-/unified-11.0.5.tgz", - "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unique-string": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/unique-string/-/unique-string-3.0.0.tgz", - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", - "license": "MIT", - "dependencies": { - "crypto-random-string": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/unist-util-is/-/unist-util-is-6.0.1.tgz", - "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", - "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-5.1.0.tgz", - "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", - "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.3.3", - "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.3.3.tgz", - "integrity": "sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-notifier": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/update-notifier/-/update-notifier-6.0.2.tgz", - "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", - "license": "BSD-2-Clause", - "dependencies": { - "boxen": "^7.0.0", - "chalk": "^5.0.1", - "configstore": "^6.0.0", - "has-yarn": "^3.0.0", - "import-lazy": "^4.0.0", - "is-ci": "^3.0.1", - "is-installed-globally": "^0.4.0", - "is-npm": "^6.0.0", - "is-yarn-global": "^0.4.0", - "latest-version": "^7.0.0", - "pupa": "^3.1.0", - "semver": "^7.3.7", - "semver-diff": "^4.0.0", - "xdg-basedir": "^5.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmmirror.com/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/url-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/url-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/url-loader/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/url-loader/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "license": "MIT" - }, - "node_modules/utility-types": { - "version": "3.11.0", - "resolved": "https://registry.npmmirror.com/utility-types/-/utility-types-3.11.0.tgz", - "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", - "license": "MIT" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmmirror.com/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "5.0.3", - "resolved": "https://registry.npmmirror.com/vfile-location/-/vfile-location-5.0.3.tgz", - "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/vfile-message/-/vfile-message-4.0.3.tgz", - "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/watchpack": { - "version": "2.5.2", - "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.5.2.tgz", - "integrity": "sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/webpack": { - "version": "5.111.1", - "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.111.1.tgz", - "integrity": "sha512-cNypaz0RP+S4cvQVi1M/3bRUkvNP0xZpL0TjFx+c6jg64VbxD+2weWDgY9UnjRI6dhZgtaj8DU76GGFcJ79xPQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.8", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "browserslist": "^4.28.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.25.0", - "es-module-lexer": "^2.1.0", - "events": "^3.2.0", - "graceful-fs": "^4.2.11", - "mime-db": "^1.54.0", - "minimizer-webpack-plugin": "^5.7.0", - "schema-utils": "^4.5.0", - "tapable": "^2.3.0", - "watchpack": "^2.5.2", - "webpack-sources": "^3.5.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.10.2", - "resolved": "https://registry.npmmirror.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", - "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", - "license": "MIT", - "dependencies": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "commander": "^7.2.0", - "debounce": "^1.2.1", - "escape-string-regexp": "^4.0.0", - "gzip-size": "^6.0.0", - "html-escaper": "^2.0.2", - "opener": "^1.5.2", - "picocolors": "^1.0.0", - "sirv": "^2.0.3", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "7.4.6", - "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-7.4.6.tgz", - "integrity": "sha512-yBWCMvIfUmuhAE8vdqUKzH0vg9kuWN0KeG4vBnqRplUFHRU7lMQjkiJWxVQzvo2BTewqhPhDlMB41rAt2jVA9A==", - "license": "MIT", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^4.43.1", - "mime-types": "^3.0.1", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/webpack-dev-middleware/node_modules/range-parser": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.3.0.tgz", - "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/webpack-dev-server": { - "version": "5.2.6", - "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-5.2.6.tgz", - "integrity": "sha512-HNLRmamRvVavZQ+avceZifmv8hmdUjg43t6MI4SqJDwFdW7RPQwH5vzGhDRZSX59SgfbeHhLnq3g+uooWo7pVw==", - "license": "MIT", - "dependencies": { - "@types/bonjour": "^3.5.13", - "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.25", - "@types/express-serve-static-core": "^4.17.21", - "@types/serve-index": "^1.9.4", - "@types/serve-static": "^1.15.5", - "@types/sockjs": "^0.3.36", - "@types/ws": "^8.5.10", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.2.1", - "chokidar": "^3.6.0", - "colorette": "^2.0.10", - "compression": "^1.8.1", - "connect-history-api-fallback": "^2.0.0", - "express": "^4.22.1", - "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.9", - "ipaddr.js": "^2.1.0", - "launch-editor": "^2.14.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", - "selfsigned": "^5.5.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-server/node_modules/open": { - "version": "10.2.0", - "resolved": "https://registry.npmmirror.com/open/-/open-10.2.0.tgz", - "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", - "license": "MIT", - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "wsl-utils": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.22.0", - "resolved": "https://registry.npmmirror.com/ws/-/ws-8.22.0.tgz", - "integrity": "sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-merge": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.6.0", - "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.6.0.tgz", - "integrity": "sha512-EIMmPVvNI0CYXyRPp34F2Qk7W37/BZVZIofS6LAUnrNjCVahS+hO4mxwFJDjQjODTGZDtVzLYoN2+1dYkhk9qA==", - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpackbar": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/webpackbar/-/webpackbar-7.0.0.tgz", - "integrity": "sha512-aS9soqSO2iCHgqHoCrj4LbfGQUboDCYJPSFOAchEK+9psIjNrfSWW4Y0YEz67MKURNvMmfo0ycOg9d/+OOf9/Q==", - "license": "MIT", - "dependencies": { - "ansis": "^3.2.0", - "consola": "^3.2.3", - "pretty-time": "^1.1.0", - "std-env": "^3.7.0" - }, - "engines": { - "node": ">=14.21.3" - }, - "peerDependencies": { - "@rspack/core": "*", - "webpack": "3 || 4 || 5" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/websocket-driver": { - "version": "0.7.5", - "resolved": "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.5.tgz", - "integrity": "sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==", - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "license": "MIT", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "license": "MIT" - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.4.0", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.4.0.tgz", - "integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.13", - "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.13.tgz", - "integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==", - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/wsl-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmmirror.com/wsl-utils/-/wsl-utils-0.1.0.tgz", - "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", - "license": "MIT", - "dependencies": { - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wsl-utils/node_modules/is-wsl": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-3.1.1.tgz", - "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/xdg-basedir": { - "version": "5.1.0", - "resolved": "https://registry.npmmirror.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz", - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmmirror.com/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "license": "MIT", - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "license": "ISC" - }, - "node_modules/yocto-queue": { - "version": "1.2.2", - "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-1.2.2.tgz", - "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } -} diff --git a/website/package.json b/website/package.json deleted file mode 100644 index e3c3dee..0000000 --- a/website/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "sqlparserx", - "version": "0.0.0", - "private": true, - "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start", - "start:en": "docusaurus start --locale en", - "build": "docusaurus build", - "build:en": "docusaurus build --locale en", - "preview": "docusaurus build && docusaurus serve", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-translations:en": "docusaurus write-translations --locale en", - "write-heading-ids": "docusaurus write-heading-ids", - "docs:version": "docusaurus docs:version" - }, - "dependencies": { - "@docusaurus/core": "3.10.2", - "@docusaurus/faster": "3.10.2", - "@docusaurus/preset-classic": "3.10.2", - "@docusaurus/theme-mermaid": "^3.10.2", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "prism-react-renderer": "^2.3.0", - "react": "^19.0.0", - "react-dom": "^19.0.0" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "3.10.2", - "@docusaurus/types": "3.10.2" - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 3 chrome version", - "last 3 firefox version", - "last 5 safari version" - ] - }, - "engines": { - "node": ">=20.0" - } -} diff --git a/website/sidebars.js b/website/sidebars.js deleted file mode 100644 index a3f6123..0000000 --- a/website/sidebars.js +++ /dev/null @@ -1,46 +0,0 @@ -// @ts-check - -/** - * 侧边栏采用「显式手动定义」,分类、顺序、折叠态完全可控。 - * 新增文档后,记得把它的 docId 加到下面的 items 中。 - * - * @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} - */ -const sidebars = { - docs: [ - 'intro', - { - type: 'category', - label: '关于 SqlParserX', - collapsed: false, - items: ['about/introduction', 'about/architecture'], - }, - { - type: 'category', - label: '快速开始', - collapsed: false, - items: ['quickstart/setup'], - }, - { - type: 'category', - label: '核心解析能力使用', - collapsed: false, - items: [ - 'core/sql-type', - 'core/field-lineage', - 'core/table-lineage', - 'core/table-parse', - 'core/function-parse', - 'core/parameter-compile', - ], - }, - { - type: 'category', - label: '贡献指南', - collapsed: true, - items: ['contributing'], - }, - ], -}; - -export default sidebars; diff --git a/website/src/components/CTA/index.jsx b/website/src/components/CTA/index.jsx deleted file mode 100644 index 43a365d..0000000 --- a/website/src/components/CTA/index.jsx +++ /dev/null @@ -1,35 +0,0 @@ -import React from 'react'; -import Link from '@docusaurus/Link'; -import Translate from '@docusaurus/Translate'; -import styles from './styles.module.css'; - -export default function CTA() { - return ( -
-
-

- - 准备好开始解析你的 SQL 了吗? - -

-

- - 几分钟完成接入,体验多方言解析、血缘追溯与参数预编译能力。 - -

-
- - 快速开始 - - - 查看源码 - -
-
-
- ); -} diff --git a/website/src/components/CTA/styles.module.css b/website/src/components/CTA/styles.module.css deleted file mode 100644 index ab9c548..0000000 --- a/website/src/components/CTA/styles.module.css +++ /dev/null @@ -1,89 +0,0 @@ -.band { - max-width: 1160px; - margin: 0 auto 5rem; - padding: 0 1.5rem; -} - -.inner { - position: relative; - overflow: hidden; - border-radius: 24px; - padding: 4rem 2rem; - text-align: center; - background: var(--home-cta-bg); - color: #fff; -} - -.inner::before { - content: ''; - position: absolute; - inset: 0; - background-image: linear-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px), - linear-gradient(90deg, rgba(255, 255, 255, 0.09) 1px, transparent 1px); - background-size: 40px 40px; - mask-image: radial-gradient(ellipse 70% 70% at 50% 0%, #000 20%, transparent 80%); - -webkit-mask-image: radial-gradient( - ellipse 70% 70% at 50% 0%, - #000 20%, - transparent 80% - ); - pointer-events: none; -} - -.title { - position: relative; - font-size: 2rem; - font-weight: 800; - letter-spacing: -0.02em; - color: #fff; - margin: 0 0 0.75rem; -} - -.desc { - position: relative; - font-size: 1.05rem; - color: rgba(255, 255, 255, 0.85); - margin: 0 0 2rem; -} - -.actions { - position: relative; - display: flex; - gap: 1rem; - justify-content: center; - flex-wrap: wrap; -} - -.primary { - background: #fff; - color: #4f46e5; - border: none; - font-weight: 700; -} - -.primary:hover { - background: #f1f0ff; - color: #4f46e5; -} - -.secondary { - background: rgba(255, 255, 255, 0.12); - color: #fff; - border: 1px solid rgba(255, 255, 255, 0.4); - font-weight: 700; -} - -.secondary:hover { - background: rgba(255, 255, 255, 0.2); - color: #fff; - border-color: rgba(255, 255, 255, 0.7); -} - -@media (max-width: 600px) { - .inner { - padding: 3rem 1.25rem; - } - .title { - font-size: 1.5rem; - } -} diff --git a/website/src/components/Case/index.jsx b/website/src/components/Case/index.jsx deleted file mode 100644 index 2dd1a57..0000000 --- a/website/src/components/Case/index.jsx +++ /dev/null @@ -1,92 +0,0 @@ -import React from 'react'; -import useBaseUrl from '@docusaurus/useBaseUrl'; -import Translate from '@docusaurus/Translate'; -import styles from './styles.module.css'; - -const STEPS = [ - { - id: 'homepage.case.step1', - label: '接入 SQL + DbType', - }, - { - id: 'homepage.case.step2', - label: '语法层解析为 Druid AST', - }, - { - id: 'homepage.case.step3', - label: '业务层统一解析', - }, - { - id: 'homepage.case.step4', - label: '表 / 血缘 / 函数 / 参数解析结果', - }, -]; - -export default function Case() { - const baseUrl = useBaseUrl('/'); - - return ( -
-
-
- - 架构设计 - -

- - 两层统一扩展架构 - -

-

- - 语法层基于 Druid 扩展方言 Lexer / Parser / AST,业务层通过 - ISqlParser 契约扩展表解析、血缘与改写逻辑,两层由 DbType 与 AST - 对齐。 - -

-
    - {STEPS.map((step, i) => ( -
  1. - {i + 1} - {step.label} -
  2. - ))} -
-
-
- SqlParserX 两层架构 -
-
- -
-
- - 文档站 - -

- - 版本 / 多语言共存 - -

-

- - 右侧导航栏即可切换版本(1.0 / Next)与语言(简体中文 / - English),互不干扰。 - -

-
-
- version -
-
-
- ); -} diff --git a/website/src/components/Case/styles.module.css b/website/src/components/Case/styles.module.css deleted file mode 100644 index 9d527c9..0000000 --- a/website/src/components/Case/styles.module.css +++ /dev/null @@ -1,99 +0,0 @@ -.section { - max-width: 1160px; - margin: 0 auto; - padding: 1rem 1.5rem 5rem; -} - -.row { - display: flex; - align-items: center; - gap: 3.5rem; - margin: 4rem 0; -} - -.reverse { - flex-direction: row-reverse; -} - -.info { - flex: 1; -} - -.eyebrow { - display: inline-block; - font-size: 0.78rem; - font-weight: 700; - letter-spacing: 0.1em; - text-transform: uppercase; - color: var(--ifm-color-primary); - margin-bottom: 0.6rem; -} - -.title { - font-size: 1.75rem; - font-weight: 800; - letter-spacing: -0.02em; - margin-bottom: 1rem; -} - -.desc { - color: var(--ifm-color-content-secondary); - font-size: 1rem; - line-height: 1.75; - margin-bottom: 1.5rem; -} - -.steps { - list-style: none; - padding: 0; - margin: 0; - display: flex; - flex-direction: column; - gap: 0.6rem; - counter-reset: step; -} - -.step { - display: flex; - align-items: center; - gap: 0.7rem; - font-size: 0.95rem; - color: var(--ifm-color-content); -} - -.stepNo { - flex: 0 0 auto; - width: 26px; - height: 26px; - display: grid; - place-items: center; - border-radius: 50%; - font-size: 0.78rem; - font-weight: 700; - color: #fff; - background: var(--home-brand-gradient); -} - -.showcase { - flex: 1.15; -} - -.showcase img { - width: 100%; - border-radius: 16px; - border: 1px solid var(--home-border); - background: var(--ifm-background-surface-color); - box-shadow: 0 24px 50px -28px var(--home-primary-glow); -} - -@media (max-width: 996px) { - .row, - .reverse { - flex-direction: column; - gap: 2rem; - margin: 3rem 0; - } - .showcase { - width: 100%; - } -} diff --git a/website/src/components/Datasource/index.jsx b/website/src/components/Datasource/index.jsx deleted file mode 100644 index a9565d2..0000000 --- a/website/src/components/Datasource/index.jsx +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import useBaseUrl from '@docusaurus/useBaseUrl'; -import Translate from '@docusaurus/Translate'; -import styles from './styles.module.css'; - -const DATASOURCES = [ - ['mysql', 'MySQL'], ['hive', 'Hive'], ['doris', 'Doris'], - ['starrocks', 'StarRocks'], ['clickhouse', 'ClickHouse'], - ['oracle', 'Oracle'], ['postgresql', 'PostgreSQL'], ['spark', 'Spark'], - [null, 'Trino'], [null, 'DM'], ['oceanbase', 'OceanBase'], - [null, 'OceanBase Oracle'], ['sqlserver', 'SQL Server'], - ['greenplum', 'Greenplum'], ['tidb', 'TiDB'], -]; - -export default function Datasource() { - const baseUrl = useBaseUrl('/'); - - return ( -
-

- - 已适配 15+ 数据源方言 - -

-
- {DATASOURCES.map(([file, name]) => ( -
- {file ? : } - {name} -
- ))} -
-
- ); -} diff --git a/website/src/components/Datasource/styles.module.css b/website/src/components/Datasource/styles.module.css deleted file mode 100644 index ec502d3..0000000 --- a/website/src/components/Datasource/styles.module.css +++ /dev/null @@ -1,76 +0,0 @@ -.section { - max-width: 1160px; - margin: 0 auto; - padding: 0 1.5rem 1rem; - text-align: center; -} - -.lead { - font-size: 0.85rem; - font-weight: 600; - letter-spacing: 0.06em; - text-transform: uppercase; - color: var(--ifm-color-content-secondary); - margin-bottom: 1.75rem; -} - -.row { - display: flex; - flex-wrap: wrap; - justify-content: center; - gap: 0.75rem; -} - -.item { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.5rem 0.85rem; - border: 1px solid var(--home-border); - border-radius: 10px; - background: var(--ifm-background-surface-color); - font-size: 0.85rem; - font-weight: 600; - color: var(--ifm-color-content-secondary); - transition: transform 0.18s ease, border-color 0.18s ease, - color 0.18s ease; -} - -.item:hover { - transform: translateY(-3px); - border-color: var(--home-border-strong); - color: var(--ifm-color-content); -} - -.item img { - width: 20px; - height: 20px; - object-fit: contain; - filter: grayscale(100%); - opacity: 0.75; - transition: filter 0.18s ease, opacity 0.18s ease; -} - -.fallbackIcon { - display: grid; - place-items: center; - width: 20px; - height: 20px; - color: var(--ifm-color-primary); - font-size: 0.65rem; - opacity: 0.72; -} - -.item:hover img { - filter: grayscale(0%); - opacity: 1; -} - -@media (max-width: 600px) { - .item span { - display: none; - } - .item { - padding: 0.55rem; - } -} diff --git a/website/src/components/Features/index.jsx b/website/src/components/Features/index.jsx deleted file mode 100644 index 5bbb79c..0000000 --- a/website/src/components/Features/index.jsx +++ /dev/null @@ -1,87 +0,0 @@ -import React from 'react'; -import Translate from '@docusaurus/Translate'; -import styles from './styles.module.css'; - -function CapabilityIcon({type}) { - const common = { - viewBox: '0 0 24 24', - fill: 'none', - stroke: 'currentColor', - strokeWidth: 1.7, - strokeLinecap: 'round', - strokeLinejoin: 'round', - 'aria-hidden': true, - }; - - if (type === 'type') return ; - if (type === 'structure') return ; - if (type === 'tableLineage') return ; - if (type === 'columnLineage') return ; - if (type === 'function') return ; - return ; -} - -const CARDS = [ - { - icon: 'type', key: 'type', titleId: 'homepage.feature.type.title', title: 'SQL 类型识别', - descId: 'homepage.feature.type.desc', desc: '识别查询、写入、建表、SHOW 与 EXPLAIN 等语句类型。', - }, - { - icon: 'structure', key: 'table', titleId: 'homepage.feature.table.title', title: '真实表与建表结构', - descId: 'homepage.feature.table.desc', desc: '穿透 JOIN、CTE 与子查询,解析字段、键、分区及分桶结构。', - }, - { - icon: 'tableLineage', key: 'tableLineage', titleId: 'homepage.feature.tableLineage.title', title: '表级血缘', - descId: 'homepage.feature.tableLineage.desc', desc: '从 INSERT 与 CTAS 追溯来源表到目标表的数据流转关系。', - }, - { - icon: 'columnLineage', key: 'columnLineage', titleId: 'homepage.feature.columnLineage.title', title: '字段级血缘', - descId: 'homepage.feature.columnLineage.desc', desc: '分析表达式、函数与 CASE 中来源字段到目标字段的映射。', - }, - { - icon: 'function', key: 'function', titleId: 'homepage.feature.function.title', title: '函数名提取', - descId: 'homepage.feature.function.desc', desc: '提取普通、聚合与窗口函数名称,支持多语句解析与去重。', - }, - { - icon: 'parameter', key: 'parameter', titleId: 'homepage.feature.parameter.title', title: '参数提取与预编译', - descId: 'homepage.feature.parameter.desc', desc: '提取 SELECT 动态参数,生成 JDBC 占位符 SQL 与有序绑定值。', - }, -]; - -export default function Features() { - return ( -
-
- - 核心能力 - -

- - 一个引擎,覆盖 SQL 解析全链路 - -

-

- - 从方言语法到业务语义,统一契约、统一结果,开箱即用。 - -

-
- -
- {CARDS.map((card) => ( -
-
- -
-

- {card.title} -

-

- {card.desc} -

-
- ))} -
-
- ); -} diff --git a/website/src/components/Features/styles.module.css b/website/src/components/Features/styles.module.css deleted file mode 100644 index 604af46..0000000 --- a/website/src/components/Features/styles.module.css +++ /dev/null @@ -1,123 +0,0 @@ -.section { - max-width: 1160px; - margin: 0 auto; - padding: 5.5rem 1.5rem 4.5rem; -} - -.header { - text-align: center; - max-width: 640px; - margin: 0 auto 3rem; -} - -.eyebrow { - display: inline-block; - font-size: 0.8rem; - font-weight: 700; - letter-spacing: 0.1em; - text-transform: uppercase; - color: var(--ifm-color-primary); - margin-bottom: 0.75rem; -} - -.heading { - font-size: 2.15rem; - font-weight: 800; - letter-spacing: -0.02em; - margin: 0 0 0.75rem; -} - -.subheading { - color: var(--ifm-color-content-secondary); - font-size: 1.05rem; - margin: 0; -} - -.grid { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 1.25rem; -} - -.card { - position: relative; - padding: 1.85rem 1.6rem; - border: 1px solid var(--home-border); - border-radius: 16px; - background: var(--ifm-background-surface-color); - overflow: hidden; - transition: transform 0.2s ease, box-shadow 0.2s ease, - border-color 0.2s ease; -} - -.card::before { - content: ''; - position: absolute; - inset: 0 0 auto 0; - height: 3px; - background: var(--home-brand-gradient); - opacity: 0; - transition: opacity 0.2s ease; -} - -.card:hover { - transform: translateY(-5px); - border-color: transparent; - box-shadow: 0 18px 40px -18px var(--home-primary-glow); -} - -.card:hover::before { - opacity: 1; -} - -.iconWrap { - width: 48px; - height: 48px; - display: grid; - place-items: center; - border-radius: 13px; - margin-bottom: 1.1rem; - background: var(--home-badge-bg); - border: 1px solid var(--home-badge-border); -} - -.iconWrap svg { - width: 27px; - height: 27px; - color: var(--ifm-color-primary); -} - -.iconAccent { - stroke-width: 2.15; -} - -.cardTitle { - font-size: 1.15rem; - font-weight: 700; - margin: 0 0 0.5rem; -} - -.cardDesc { - color: var(--ifm-color-content-secondary); - font-size: 0.95rem; - line-height: 1.65; - margin: 0; -} - -@media (max-width: 996px) { - .grid { - grid-template-columns: repeat(2, 1fr); - } -} - -@media (max-width: 600px) { - .section { - padding: 3.5rem 1.25rem 3rem; - } - .heading { - font-size: 1.7rem; - } - .grid { - grid-template-columns: 1fr; - } -} diff --git a/website/src/components/Intro/index.jsx b/website/src/components/Intro/index.jsx deleted file mode 100644 index 3bfd4ba..0000000 --- a/website/src/components/Intro/index.jsx +++ /dev/null @@ -1,162 +0,0 @@ -import React from 'react'; -import Link from '@docusaurus/Link'; -import Translate from '@docusaurus/Translate'; -import useBaseUrl from '@docusaurus/useBaseUrl'; -import styles from './styles.module.css'; - -export default function Intro() { - const logoUrl = useBaseUrl('/img/logo.png'); - - return ( -
-
- ); -} diff --git a/website/src/components/Intro/styles.module.css b/website/src/components/Intro/styles.module.css deleted file mode 100644 index 01f6529..0000000 --- a/website/src/components/Intro/styles.module.css +++ /dev/null @@ -1,413 +0,0 @@ -.hero { - position: relative; - overflow: hidden; - padding: 6rem 1.5rem 5rem; - border-bottom: 1px solid var(--home-border); - background: var(--home-hero-bg); -} - -.gridBg { - position: absolute; - inset: 0; - background-image: var(--home-grid-image); - background-size: 44px 44px; - mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 40%, transparent 100%); - -webkit-mask-image: radial-gradient( - ellipse 80% 60% at 50% 0%, - #000 40%, - transparent 100% - ); - pointer-events: none; -} - -.glowA, -.glowB { - position: absolute; - border-radius: 50%; - filter: blur(90px); - opacity: 0.55; - pointer-events: none; -} - -.glowA { - width: 460px; - height: 460px; - top: -180px; - right: 6%; - background: var(--home-glow-a); -} - -.glowB { - width: 380px; - height: 380px; - bottom: -200px; - left: -80px; - background: var(--home-glow-b); -} - -.inner { - position: relative; - z-index: 1; - max-width: 1200px; - margin: 0 auto; - display: grid; - grid-template-columns: 1.05fr 0.95fr; - gap: 3.5rem; - align-items: center; -} - -/* ---------------- left ---------------- */ -.left { - text-align: left; -} - -.badge { - display: inline-flex; - align-items: center; - gap: 0.5rem; - padding: 0.35rem 0.85rem; - margin-bottom: 1.5rem; - font-size: 0.82rem; - font-weight: 600; - letter-spacing: 0.01em; - border-radius: 999px; - color: var(--ifm-color-primary-dark); - background: var(--home-badge-bg); - border: 1px solid var(--home-badge-border); -} - -[data-theme='dark'] .badge { - color: var(--home-badge-text-dark); -} - -.badgeDot { - width: 7px; - height: 7px; - border-radius: 50%; - background: var(--ifm-color-primary); - box-shadow: 0 0 0 3px var(--home-glow-a); -} - -.title { - display: flex; - align-items: center; - gap: 0; - font-size: 4.25rem; - line-height: 1.02; - font-weight: 900; - letter-spacing: -0.035em; - margin: 0 0 0.5rem; -} - -.brandLogo { - width: 74px; - height: 74px; - margin-right: 0.7rem; - object-fit: contain; -} - -.titleGrad { - background: var(--home-brand-gradient); - -webkit-background-clip: text; - background-clip: text; - -webkit-text-fill-color: transparent; - color: transparent; -} - -@media (max-width: 600px) { - .title { - font-size: 3rem; - } - - .brandLogo { - width: 56px; - height: 56px; - margin-right: 0.45rem; - } -} - -.tagline { - font-size: 1.55rem; - font-weight: 700; - color: var(--ifm-color-content); - margin: 0 0 0.85rem; -} - -.desc { - font-size: 1.05rem; - line-height: 1.7; - color: var(--ifm-color-content-secondary); - margin: 0 0 2rem; - max-width: 34rem; -} - -.actions { - display: flex; - align-items: center; - gap: 0.9rem; - flex-wrap: wrap; -} - -.ctaPrimary { - border: none; - background: var(--home-brand-gradient); - box-shadow: 0 10px 24px -8px var(--home-primary-glow); - transition: transform 0.18s ease, box-shadow 0.18s ease; -} - -.ctaPrimary:hover { - transform: translateY(-2px); - box-shadow: 0 16px 32px -8px var(--home-primary-glow); - background: var(--home-brand-gradient); -} - -.arrow { - margin-left: 0.5rem; - transition: transform 0.18s ease; - display: inline-block; -} - -.ctaPrimary:hover .arrow { - transform: translateX(3px); -} - -.ctaSecondary { - background: transparent; - border: 1px solid var(--home-border-strong); - color: var(--ifm-color-content); -} - -.ctaSecondary:hover { - border-color: var(--ifm-color-primary); - color: var(--ifm-color-primary); - background: transparent; -} - -.ghLink { - font-weight: 600; - color: var(--ifm-color-content-secondary); - text-decoration: none; -} - -.ghLink:hover { - color: var(--ifm-color-primary); - text-decoration: none; -} - -.stats { - list-style: none; - display: flex; - flex-wrap: wrap; - gap: 2.25rem; - margin: 3rem 0 0; - padding: 1.75rem 0 0; - border-top: 1px solid var(--home-border); -} - -.stats li { - display: flex; - flex-direction: column; - gap: 0.2rem; -} - -.stats strong { - font-size: 1.6rem; - font-weight: 800; - letter-spacing: -0.02em; - color: var(--ifm-color-content); - background: var(--home-brand-gradient); - -webkit-background-clip: text; - background-clip: text; - -webkit-text-fill-color: transparent; -} - -.stats span { - font-size: 0.85rem; - color: var(--ifm-color-content-secondary); -} - -/* ---------------- right / code window ---------------- */ -.right { - perspective: 1200px; -} - -.window { - border-radius: 16px; - border: 1px solid var(--home-border); - background: var(--home-window-bg); - box-shadow: var(--home-window-shadow); - overflow: hidden; - transform: rotateY(-2deg) rotateX(1deg); - transition: transform 0.4s ease; -} - -.window:hover { - transform: rotateY(0deg) rotateX(0deg); -} - -.windowBar { - display: flex; - align-items: center; - gap: 0.75rem; - padding: 0.7rem 1rem; - border-bottom: 1px solid var(--home-border); - background: var(--home-window-bar); -} - -.dots { - display: inline-flex; - gap: 6px; -} - -.dots i { - width: 11px; - height: 11px; - border-radius: 50%; - display: block; -} - -.dots i:nth-child(1) { - background: #ff5f57; -} -.dots i:nth-child(2) { - background: #febc2e; -} -.dots i:nth-child(3) { - background: #28c840; -} - -.windowTitle { - font-size: 0.82rem; - font-family: var(--ifm-font-family-monospace); - color: var(--ifm-color-content-secondary); -} - -.pane { - padding: 1.1rem 1.25rem; -} - -.paneLabel { - font-size: 0.72rem; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - color: var(--ifm-color-content-secondary); - margin-bottom: 0.6rem; -} - -.code { - font-family: var(--ifm-font-family-monospace); - font-size: 0.88rem; - line-height: 1.85; - white-space: pre; - overflow-x: auto; - color: var(--ifm-color-content); -} - -.kw { - color: var(--home-code-kw); - font-weight: 700; -} - -.tbl { - color: var(--home-code-tbl); -} - -.divider { - display: flex; - align-items: center; - gap: 0.5rem; - padding: 0.55rem 1.25rem; - margin: 0; - font-size: 0.72rem; - text-transform: uppercase; - letter-spacing: 0.08em; - font-weight: 700; - color: var(--ifm-color-content-secondary); - background: var(--home-window-bar); - border-top: 1px solid var(--home-border); - border-bottom: 1px solid var(--home-border); -} - -.dividerDot { - width: 7px; - height: 7px; - border-radius: 50%; - background: #28c840; - box-shadow: 0 0 0 3px rgba(40, 200, 64, 0.18); -} - -.result { - display: flex; - flex-direction: column; - gap: 0.55rem; -} - -.resLine { - display: flex; - align-items: center; - gap: 0.5rem; - font-family: var(--ifm-font-family-monospace); - font-size: 0.82rem; - color: var(--ifm-color-content); - flex-wrap: wrap; -} - -.check { - color: #22c55e; - font-weight: 800; -} - -.tag { - font-size: 0.68rem; - font-weight: 700; - padding: 0.1rem 0.45rem; - border-radius: 6px; - color: var(--ifm-color-primary-dark); - background: var(--home-tag-bg); -} - -.tagWarm { - font-size: 0.68rem; - font-weight: 700; - padding: 0.1rem 0.45rem; - border-radius: 6px; - color: var(--home-tag-warm-text); - background: var(--home-tag-warm-bg); -} - -.arrowSm { - color: var(--ifm-color-content-secondary); -} - -/* ---------------- responsive ---------------- */ -@media (max-width: 996px) { - .hero { - padding: 4.5rem 1.25rem 3.5rem; - } - .inner { - grid-template-columns: 1fr; - gap: 2.5rem; - } - .title { - font-size: 3.25rem; - } - .tagline { - font-size: 1.3rem; - } - .stats { - gap: 1.75rem; - } - .window { - transform: none; - } -} - -@media (max-width: 600px) { - .title { - font-size: 2.6rem; - } - .stats li { - min-width: 40%; - } -} diff --git a/website/src/css/custom.css b/website/src/css/custom.css deleted file mode 100644 index 571870b..0000000 --- a/website/src/css/custom.css +++ /dev/null @@ -1,149 +0,0 @@ -/** - * 全局样式:基于 Infima CSS 变量实现「深浅色双主题」。 - * 修改品牌色只需改下面的 --ifm-color-primary-* 系列。 - */ - -:root { - /* 品牌主色:与产品 Logo 一致的明亮蓝色 */ - --ifm-color-primary: #1684ff; - --ifm-color-primary-dark: #0872eb; - --ifm-color-primary-darker: #066bdc; - --ifm-color-primary-darkest: #0758b4; - --ifm-color-primary-light: #3495ff; - --ifm-color-primary-lighter: #43a0ff; - --ifm-color-primary-lightest: #7abfff; - - --ifm-code-font-size: 95%; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); - - --ifm-navbar-background-color: rgba(255, 255, 255, 0.85); - --ifm-background-surface-color: #ffffff; - --ifm-color-content: #1f2430; - --ifm-color-content-secondary: #6b7280; - - /* 首页 Hero 渐变(浅色) */ - --banner-gradient-from: #f8fbff; - --banner-gradient-to: #ecfeff; - - /* -------- 首页设计变量(浅色) -------- */ - --home-border: rgba(15, 23, 42, 0.08); - --home-border-strong: rgba(15, 23, 42, 0.16); - --home-hero-bg: linear-gradient(180deg, #f7fbff 0%, #ffffff 72%); - --home-grid-image: linear-gradient(rgba(22, 132, 255, 0.055) 1px, transparent 1px), - linear-gradient(90deg, rgba(22, 132, 255, 0.055) 1px, transparent 1px); - --home-glow-a: rgba(22, 132, 255, 0.28); - --home-glow-b: rgba(17, 201, 232, 0.2); - --home-brand-gradient: linear-gradient(120deg, #11c9e8 0%, #1684ff 52%, #073de1 100%); - --home-primary-glow: rgba(22, 132, 255, 0.35); - --home-badge-bg: rgba(22, 132, 255, 0.075); - --home-badge-border: rgba(22, 132, 255, 0.18); - --home-badge-text-dark: #0864c8; - --home-window-bg: #ffffff; - --home-window-bar: #f8fafc; - --home-window-shadow: 0 30px 60px -20px rgba(15, 23, 42, 0.25); - --home-code-kw: #2563eb; - --home-code-tbl: #0891b2; - --home-tag-bg: rgba(22, 132, 255, 0.1); - --home-tag-warm-bg: rgba(245, 158, 11, 0.14); - --home-tag-warm-text: #b45309; - --home-soft-bg: #f8fafc; - --home-cta-bg: linear-gradient(120deg, #0b72e7 0%, #1684ff 52%, #08b9d7 100%); -} - -[data-theme='dark'] { - --ifm-color-primary: #53a8ff; - --ifm-color-primary-dark: #2993ff; - --ifm-color-primary-darker: #1689ff; - --ifm-color-primary-darkest: #0070df; - --ifm-color-primary-light: #7dbdff; - --ifm-color-primary-lighter: #91c7ff; - --ifm-color-primary-lightest: #cbe5ff; - - --docusaurus-highlighted-code-line-bg: rgba(255, 255, 255, 0.1); - - --ifm-background-color: #0f1220; - --ifm-background-surface-color: #171a2b; - --ifm-navbar-background-color: rgba(15, 18, 32, 0.85); - --ifm-color-content: #e7e9f3; - --ifm-color-content-secondary: #9aa0b5; - - /* 首页 Hero 渐变(暗色) */ - --banner-gradient-from: #12162a; - --banner-gradient-to: #0f1220; - - /* -------- 首页设计变量(暗色) -------- */ - --home-border: rgba(255, 255, 255, 0.08); - --home-border-strong: rgba(255, 255, 255, 0.16); - --home-hero-bg: linear-gradient(180deg, #0c0f1d 0%, #0f1220 100%); - --home-grid-image: linear-gradient(rgba(56, 189, 248, 0.09) 1px, transparent 1px), - linear-gradient(90deg, rgba(56, 189, 248, 0.09) 1px, transparent 1px); - --home-glow-a: rgba(22, 132, 255, 0.34); - --home-glow-b: rgba(17, 201, 232, 0.22); - --home-brand-gradient: linear-gradient(120deg, #22d3ee 0%, #53a8ff 50%, #4770ff 100%); - --home-primary-glow: rgba(22, 132, 255, 0.46); - --home-badge-bg: rgba(83, 168, 255, 0.12); - --home-badge-border: rgba(83, 168, 255, 0.28); - --home-badge-text-dark: #bae0ff; - --home-window-bg: #12162a; - --home-window-bar: #0d101d; - --home-window-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6); - --home-code-kw: #7dbdff; - --home-code-tbl: #38bdf8; - --home-tag-bg: rgba(83, 168, 255, 0.16); - --home-tag-warm-bg: rgba(245, 158, 11, 0.18); - --home-tag-warm-text: #fbbf24; - --home-soft-bg: #10131f; - --home-cta-bg: linear-gradient(120deg, #075fc4 0%, #137fe8 52%, #078da8 100%); -} - -/* 表格:更宽的展示与斑马纹 */ -table { - display: table; - width: 100%; -} - -table thead tr { - border-bottom: none; -} - -/* 导航栏毛玻璃效果 */ -.navbar { - backdrop-filter: saturate(180%) blur(8px); - border-bottom: 1px solid var(--home-border); - box-shadow: 0 4px 18px rgba(15, 67, 120, 0.045); -} - -.navbar__logo { - width: 38px; - height: 38px; -} - -.navbar__logo img { - width: 100%; - height: 100%; - object-fit: contain; -} - -.navbar__title { - font-weight: 800; - letter-spacing: -0.025em; -} - -/* GitHub 图标(内联 SVG,深浅色自适应) */ -.header-github-link:hover { - opacity: 0.6; -} - -.header-github-link::before { - content: ''; - width: 24px; - height: 24px; - display: flex; - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; -} - -[data-theme='dark'] .header-github-link::before { - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; -} diff --git a/website/src/pages/community.js b/website/src/pages/community.js deleted file mode 100644 index 9d29ce4..0000000 --- a/website/src/pages/community.js +++ /dev/null @@ -1,72 +0,0 @@ -import React from 'react'; -import Layout from '@theme/Layout'; -import Link from '@docusaurus/Link'; -import Translate from '@docusaurus/Translate'; -import styles from './community.module.css'; - -const channels = [ - { - icon: '💬', - id: 'homepage.community.forum.title', - title: '论坛', - idDesc: 'homepage.community.forum.desc', - desc: '在 GitHub Discussions 中提问、分享使用经验与最佳实践。', - href: 'https://github.com/DTStack/SqlParserX/discussions', - label: '前往讨论区', - }, - { - icon: '🐙', - id: 'homepage.community.github.title', - title: 'GitHub', - idDesc: 'homepage.community.github.desc', - desc: '提交 Issue、参与 Pull Request,一起完善多方言解析能力。', - href: 'https://github.com/DTStack/SqlParserX', - label: '访问仓库', - }, - { - icon: '❓', - id: 'homepage.community.qa.title', - title: '问答', - idDesc: 'homepage.community.qa.desc', - desc: '遇到使用问题,可在 Issues 中检索或发起新的讨论。', - href: 'https://github.com/DTStack/SqlParserX/issues', - label: '查看 Issues', - }, -]; - -export default function Community() { - return ( - -
-
-

- 加入 SqlParserX 社区 -

-

- - 与开发者一起交流多方言 SQL 解析、血缘与治理实践。 - -

-
-
- {channels.map((c) => ( -
-
{c.icon}
-

- {c.title} -

-

- {c.desc} -

- - {c.label} - -
- ))} -
-
-
- ); -} \ No newline at end of file diff --git a/website/src/pages/community.module.css b/website/src/pages/community.module.css deleted file mode 100644 index 265b65d..0000000 --- a/website/src/pages/community.module.css +++ /dev/null @@ -1,49 +0,0 @@ -.main { - padding: 3rem 1rem 5rem; - max-width: 1100px; - margin: 0 auto; -} - -.hero { - text-align: center; - margin-bottom: 3rem; -} - -.title { - font-size: 2.4rem; - margin-bottom: 0.75rem; -} - -.subtitle { - color: var(--ifm-color-content-secondary); - font-size: 1.1rem; -} - -.grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); - gap: 1.5rem; -} - -.card { - border: 1px solid var(--ifm-color-emphasis-200); - border-radius: 12px; - padding: 1.75rem; - background: var(--ifm-background-surface-color); - display: flex; - flex-direction: column; - gap: 0.6rem; -} - -.icon { - font-size: 2rem; -} - -.cardTitle { - margin: 0; -} - -.cardDesc { - color: var(--ifm-color-content-secondary); - flex: 1; -} \ No newline at end of file diff --git a/website/src/pages/index.js b/website/src/pages/index.js deleted file mode 100644 index 4c9f2cd..0000000 --- a/website/src/pages/index.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import Layout from '@theme/Layout'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; -import Intro from '@site/src/components/Intro'; -import Datasource from '@site/src/components/Datasource'; -import Features from '@site/src/components/Features'; -import Case from '@site/src/components/Case'; -import CTA from '@site/src/components/CTA'; -import styles from './index.module.css'; - -export default function Home() { - const {siteConfig} = useDocusaurusContext(); - return ( - - -
- - - - -
-
- ); -} \ No newline at end of file diff --git a/website/src/pages/index.module.css b/website/src/pages/index.module.css deleted file mode 100644 index daad883..0000000 --- a/website/src/pages/index.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.main { - background: var(--ifm-background-color); -} diff --git a/website/versioned_docs/version-1.0/about/architecture.md b/website/versioned_docs/version-1.0/about/architecture.md deleted file mode 100644 index 9d162b7..0000000 --- a/website/versioned_docs/version-1.0/about/architecture.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: 架构设计 -description: SqlParserX 双层统一扩展架构 -sidebar_label: 架构设计 -sidebar_position: 2 ---- - -# SqlParserX 双层统一扩展架构 - -SqlParserX 的解析内核由两套相互衔接、结构对称的扩展体系组成,分别落在两个独立 Jar Module: - -- **SQL 语法解析层(`sqlparserx-syntax`)**:基于官方 Druid,通过统一的方言路由、Parser 基座和 AST 模型,扩展不同数据源的 Lexer、StatementParser 与 AST Node。 -- **SqlParserX 业务解析层(`sqlparserx-core`)**:通过统一的方言路由、`ISqlParser` 契约和业务 Client,扩展不同数据源的表解析、血缘解析与 SQL 改写逻辑。 - -两层都遵循“**统一入口 → 通用基座 → 统一扩展点 → 数据源实现 → 统一结果**”的模式。新增数据源时,语法差异在 Druid 层扩展,业务差异在 SqlParserX 层扩展,上下两层通过 `DbType` 和 Druid AST 对齐。 - -![SqlParserX 双层统一扩展架构](/img/architecture/SqlParserX两层架构.png) - -## 总体架构 - -```mermaid -flowchart TB - subgraph Business[sqlparserx-core|SqlParserX 业务解析层] - direction LR - B_ROUTE[统一方言路由
SqlParserFactory] - B_BASE[统一业务基座
ISqlParser · BaseSqlParser · Base Client] - B_EXT[统一扩展点
方言 Client · 解析策略] - B_DIALECT[数据源业务实现
MySQL · Doris · StarRocks · ...] - B_RESULT[统一业务结果
表 · 建表结构 · 血缘 · SQL] - B_ROUTE --> B_BASE --> B_EXT --> B_DIALECT --> B_RESULT - end - - subgraph Syntax[sqlparserx-syntax|SQL 语法解析层,基于 Druid] - direction LR - S_ROUTE[统一方言路由
SqlSyntaxParserFactory · DbType] - S_BASE[统一语法基座
Lexer · StatementParser · AST] - S_EXT[统一扩展点
方言 Lexer · Parser · AST Node] - S_DIALECT[数据源语法实现
MySQL · Doris · Oracle · ...] - S_RESULT[统一语法结果
SQLStatement AST] - S_ROUTE --> S_BASE --> S_EXT --> S_DIALECT --> S_RESULT - end - - B_ROUTE -. DbType 对齐 .-> S_ROUTE - B_DIALECT -. 同一数据源方言 .-> S_DIALECT - B_BASE -->|SQL + DbType| S_BASE - S_RESULT -->|SQLStatement AST| B_BASE -``` - -## 两层职责 - -| 统一扩展阶段 | SQL 语法解析层(`sqlparserx-syntax`) | SqlParserX 业务解析层(`sqlparserx-core`) | -|---|---|---| -| 统一方言路由 | `SqlSyntaxParserFactory` 按 `DbType` 选择对应语法方言 | `SqlParserFactory` 根据同一个 `DbType` 选择业务解析器 | -| 通用基座 | 通用 Lexer、StatementParser 和 AST | `ISqlParser`、`BaseSqlParser` 和 Base Client | -| 统一扩展点 | 方言 Lexer、方言 StatementParser、方言 AST Node | `IParseTableClient`、`IColumnLineageClient`、`ITableLineageClient`、解析策略等 | -| 数据源实现 | MySQL、Doris、Oracle、Hive 等 Druid 方言实现 | MySQL、Doris、StarRocks、Hive 等业务方言实现 | -| 统一结果 | `SQLStatement` AST | 表、建表结构、字段血缘、表血缘、函数及改写后的 SQL | - -## 模块依赖 - -```text -Access: sqlparserx-web (REST) / sqlparserx-ui - │ unified ISqlParser contract -Business layer: sqlparserx-core - │ SQL + DbType / SQLStatement AST -Syntax layer: sqlparserx-syntax (Druid 1.2.28) -``` - -业务扩展遵循 `SqlParserFactory` → `ISqlParser` → `BaseSqlParser` → 方言实现的模式。完整的模块依赖与包结构见 `sqlparserx-core` 模块的 README。 \ No newline at end of file diff --git a/website/versioned_docs/version-1.0/about/introduction.md b/website/versioned_docs/version-1.0/about/introduction.md deleted file mode 100644 index 74bf933..0000000 --- a/website/versioned_docs/version-1.0/about/introduction.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: SqlParserX 介绍 -description: SqlParserX 的定位、能力与模块组成 -sidebar_label: SqlParserX介绍 -sidebar_position: 1 ---- - -# SqlParserX 介绍 - -SqlParserX 是一个**多方言 SQL 解析引擎与工具包**,提供 SQL 类型识别、表/DDL 解析、表与字段血缘、函数提取以及参数提取与预编译能力。 - -## 解决的典型问题 - -| 问题 | 方案 | -|---|---| -| 不同 SQL 方言语法差异大 | 通过 `DbType` 路由 Druid 方言,统一 AST | -| 真实表与 DDL 藏在 SQL 文本中 | 表、CTE、`CREATE TABLE`、分区与属性解析 | -| 数据依赖难以追踪 | 覆盖 JOIN、UNION、子查询、聚合与 CTE 的表/字段血缘 | -| 脚本中包含多条语句 | SQL 拆分与语法校验 | -| 权限谓词难以维护 | 行级权限 SQL 改写 | - -## 模块组成 - -| 模块 | 层次 | 说明 | 技术栈 | -|---|---|---|---| -| `sqlparserx-syntax` | 语法解析层 | SQL 转 AST、校验、拆分与 Druid 方言扩展 | Java 8 + Druid 1.2.28 | -| `sqlparserx-core` | 业务解析层 | 表、血缘、DDL、函数与 SQL 改写 | Java 8 + `sqlparserx-syntax` | -| `sqlparserx-web` | 访问层 | Spring Boot REST 服务 | Spring Boot 2.3.12 + Java 8 | -| `sqlparserx-ui` | 访问层 | 血缘可视化与在线解析工具 | Vue 2.7 + Element UI 2.x + Vite 5 + ECharts 5 | - -## 数据源支持 - -| 数据源 | 支持说明 | -|---|---| -| MySQL | 重点支持,增强 `RENAME TABLE` 处理 | -| Doris | 重度支持,DDL 与血缘有专项测试 | -| StarRocks | 支持独立的 `DISTRIBUTED BY` 与关键 DDL | -| Hive / ClickHouse / Oracle / DM | 已注册解析器,通用业务实现 | - -完整的语法层与业务层支撑矩阵见[核心解析能力使用](../core/field-lineage.md)与项目 `docs/` 目录下的能力支持文档。 - -## 延伸阅读 - -- [架构设计](./architecture.md) -- 项目背景:[SqlParserX 的诞生起源背景](/blog/origin-of-sqlparserx) diff --git a/website/versioned_docs/version-1.0/contributing.md b/website/versioned_docs/version-1.0/contributing.md deleted file mode 100644 index 36b147c..0000000 --- a/website/versioned_docs/version-1.0/contributing.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: 贡献指南 -description: 参与 SqlParserX 开发的流程与规范 -sidebar_label: 贡献指南 -sidebar_position: 1 ---- - -# 贡献指南 - -感谢你对 SqlParserX 的关注!欢迎通过 Issue、Pull Request 参与共建。 - -## 参与方式 - -- 提交 Bug 或需求:[GitHub Issues](https://github.com/DTStack/SqlParserX/issues) -- 提交代码:[GitHub Pull Requests](https://github.com/DTStack/SqlParserX/pulls) -- 讨论交流:见[社区](/community) - -## 开发流程 - -1. Fork 仓库并创建特性分支:`git checkout -b feature/xxx` -2. 本地构建:`mvn clean install -DskipTests` -3. 编写代码与测试,确保 `mvn test` 通过 -4. 提交并推送分支,发起 Pull Request -5. 通过 CI 与 Review 后合并 - -## 代码约定 - -- 遵循现有模块分层:语法差异改 `sqlparserx-syntax`,业务差异改 `sqlparserx-core` -- 新增数据源时,同步补充能力支持文档与回归测试 -- 保持与现有代码风格一致,不引入无关依赖 - -## 文档约定 - -- 文档统一维护在项目根目录 `docs/`,本站文档从中同步 -- 新增解析能力时,更新对应「能力支持情况」文档 -- 参考[架构设计](./about/architecture.md)理解两层扩展模式 \ No newline at end of file diff --git a/website/versioned_docs/version-1.0/core/field-lineage.md b/website/versioned_docs/version-1.0/core/field-lineage.md deleted file mode 100644 index 25651d5..0000000 --- a/website/versioned_docs/version-1.0/core/field-lineage.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: 字段血缘解析 -description: 从 SQL 推导来源表.来源字段 → 目标表.目标字段 的字段级血缘关系 -sidebar_label: 字段血缘解析 -sidebar_position: 1 ---- - -# 字段血缘解析 - -## 1. 引入依赖 - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` 已传递依赖 `sqlparserx-syntax` 与 Druid,无需额外引入。 - -## 2. 完整示例 - -从获取解析器、构造元数据到打印字段血缘的**完整可运行**类: - -```java title="FieldLineageDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; - -import com.alibaba.druid.DbType; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class FieldLineageDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1、准备元数据:表 -> 字段列表(用于 select * / 字段展开) - Map> tableColumnsMap = new HashMap<>(); - tableColumnsMap.put("users", Arrays.asList( - new Column("id", 0), new Column("name", 1))); - tableColumnsMap.put("orders", Arrays.asList( - new Column("amount", 0), new Column("id", 1))); - - // 2、获取解析器 - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 3、解析字段血缘 - ColumnLineageResult result = parser.parseColumnLineages(sql, tableColumnsMap); - - // 4、打印结果:目标表 + 目标字段 -> 来源字段 - System.out.println("目标表: " + result.getTargetTable()); - result.printColumnLineage(); - } -} -``` - -控制台输出(示例): - -```text -目标表: user_order_summary -users.id -> user_order_summary.user_id -users.name -> user_order_summary.name -orders.amount -> user_order_summary.total_amount -orders.id -> user_order_summary.order_count -``` - -## 3. 实现目标 - -从 SQL 中推导 **来源表.来源字段 → 目标表.目标字段** 的字段级血缘关系。 - -核心思路:把「来源 select 字段列表」与「目标字段列表」各自归一为 `(真实字段, 别名字段, 真实表名)` 的三元组集合,再按固定匹配规则生成血缘。字段血缘的输入是插入/建表类 SQL,纯查询 SQL 不产生血缘。 - -```text -SQLInsertStatement / SQLCreateTableStatement(AS SELECT) - → ColumnLineageClient.parseColumnLineages - → 目标字段列表 + 来源 select 字段列表 - → addColumnRelations 逐条匹配 - → ColumnLineageResult -``` - -## 4. 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseColumnLineages(sql, tableColumnsMap)` | -| 默认实现 | `BaseSqlParser.parseColumnLineages` → `ColumnLineageClient` | -| 返回类型 | `ColumnLineageResult`(`getColumnRelations()` + `getColumnLineages()`) | -| 适用语句 | `SQLInsertStatement`、`SQLCreateTableStatement`(AS SELECT) | -| 元数据输入 | `Map> tableColumnsMap`(表 → 字段列表) | - -## 5. 支持粒度与深度 - -### 字段场景 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| `catalog.db.table.column` 字段识别 | **已支持 ✅** | 支持 Hive/Trino/StarRocks 等多 catalog 场景 | -| `db.table.column` 字段识别 | **已支持 ✅** | MySQL/PostgreSQL 等标准用法 | -| 字段表达式计算(`SQLBinaryOpExpr`) | **已支持 ✅** | 如 `t5.level + 1`,左右递归收集字段 | -| `*` / `xx.*` 展开 | **已支持 ✅** | 依据元数据 `tableColumnsMap` 读取字段;无元数据保留 `*` | - -> 更多字段场景、表达式与子查询的覆盖情况,以项目 `docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/字段血缘解析支持情况.md` 为准。 \ No newline at end of file diff --git a/website/versioned_docs/version-1.0/core/function-parse.md b/website/versioned_docs/version-1.0/core/function-parse.md deleted file mode 100644 index 23da227..0000000 --- a/website/versioned_docs/version-1.0/core/function-parse.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: 函数解析 -description: 提取 SQL 中使用的函数及其参数与上下文 -sidebar_label: 函数解析 -sidebar_position: 4 ---- - -# 函数解析 - -## 1. 引入依赖 - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` 已传递依赖 `sqlparserx-syntax` 与 Druid,无需额外引入。 - -## 2. 完整示例 - -沿用官方 `sqlparserx-core/README.md` 的示例 SQL,提取 SQL 中出现的函数集合: - -```java title="FunctionParseDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; - -import com.alibaba.druid.DbType; - -import java.util.Set; - -public class FunctionParseDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1、获取解析器 - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2、解析 SQL 中出现的函数 - Set functions = parser.parseFunction(sql); - - // 3、读取结果 - System.out.println("函数集合: " + functions); - } -} -``` - -控制台输出(示例): - -```text -函数集合: [sum, count] -``` - -## 3. 实现目标 - -从 SQL 中提取**函数调用**信息,返回去重后的函数名集合,便于做函数级治理与依赖分析。 - -```text -SQLStatement AST - → BaseSqlParser.parseFunction - → 遍历 AST 收集函数表达式 - → Set 函数集合 -``` - -## 4. 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseFunction(sql)` | -| 默认实现 | `BaseSqlParser.parseFunction` | -| 返回类型 | `Set`(函数名集合,统一小写) | -| 覆盖范围 | 内置函数、聚合函数、窗口函数、自定义函数 | - -## 5. 支持粒度 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| 普通函数调用 | **已支持 ✅** | 如 `substr(name, 1, 3)` | -| 聚合函数 | **已支持 ✅** | 如 `sum`、`count`、`max` | -| 窗口函数 | **已支持 ✅** | 如 `row_number() over(...)` | -| 嵌套函数 | **已支持 ✅** | 递归收集内外层函数 | - -> 更多函数场景与数据源差异,以项目 `docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/函数解析支持情况.md` 为准。 \ No newline at end of file diff --git a/website/versioned_docs/version-1.0/core/parameter-compile.md b/website/versioned_docs/version-1.0/core/parameter-compile.md deleted file mode 100644 index 4627522..0000000 --- a/website/versioned_docs/version-1.0/core/parameter-compile.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: 参数提取与预编译 -description: 提取 SELECT 动态参数并生成 JDBC 预编译 SQL -sidebar_label: 参数提取与预编译 -sidebar_position: 6 ---- - -# 参数提取与预编译 - -SqlParserX 可识别 SELECT 中的 `${变量}`,返回输入参数和输出字段;传入参数值后,可生成 JDBC `?` 占位符 SQL 与按出现顺序排列的绑定值。 - -```java title="ParameterCompileDemo.java" -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.ParseParameterResult; -import com.dtstack.sqlparserx.core.parser.base.parameter.vo.PrepareCompileResult; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); -String sql = "SELECT id, name FROM users " - + "WHERE dt = '${bizdate}' AND region = '${region}'"; - -// 第一步:提取输入参数与输出字段 -ParseParameterResult parsed = parser.parseParameterSql( - sql, false, Collections.emptyMap()); -parsed.getInputParams().forEach(param -> - System.out.println(param.getName() + " / " + param.getSqlPart())); - -// 第二步:传入参数值并生成预编译 SQL -Map values = new HashMap<>(); -values.put("bizdate", "20261014"); -values.put("region", "hangzhou"); - -PrepareCompileResult compiled = parser.buildSqlByPrepareCompile( - sql, values, Collections.emptyMap()); -System.out.println(compiled.getBeautifulSql()); -System.out.println(compiled.getInputFields()); -``` - -输出示例: - -```text -SELECT id, name FROM users WHERE dt = ? AND region = ? -[20261014, hangzhou] -``` - -## 返回内容 - -| 阶段 | 返回内容 | -|---|---| -| 参数提取 | 输入参数名称、类型、是否必填、默认值、SQL 片段以及输出字段 | -| 预编译 | 格式化后的占位符 SQL 与有序绑定值列表 | - -当前通用实现面向 SELECT;排序、分组等标识符位置的变量会以内联方式处理。 diff --git a/website/versioned_docs/version-1.0/core/sql-type.md b/website/versioned_docs/version-1.0/core/sql-type.md deleted file mode 100644 index 14b0c42..0000000 --- a/website/versioned_docs/version-1.0/core/sql-type.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: SQL 类型识别 -description: 基于解析后的语法树识别 SQL 业务类型 -sidebar_label: SQL 类型识别 -sidebar_position: 1 ---- - -# SQL 类型识别 - -`parseSqlType` 先按所选数据源方言构建 Druid AST,再返回统一的 `SqlType`,适合语句路由、审计分类和执行策略选择。 - -```java title="SqlTypeDemo.java" -import com.dtstack.sqlparserx.core.enums.SqlParserDataSourceType; -import com.dtstack.sqlparserx.core.enums.SqlType; -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; - -ISqlParser parser = SqlParserFactory.getSqlParser(SqlParserDataSourceType.MYSQL); - -SqlType queryType = parser.parseSqlType("SELECT id FROM users"); -SqlType insertType = parser.parseSqlType( - "INSERT INTO target_table SELECT id FROM source_table"); - -System.out.println(queryType); // QUERY -System.out.println(insertType); // INSERT -``` - -## 支持范围 - -| 分类 | 典型类型 | -|---|---| -| 查询 | `QUERY`、`WITH_QUERY`、`QUERY_NO_FROM` | -| DML | `INSERT`、`UPDATE`、`DELETE`、`MERGE_INTO` | -| DDL | `CREATE`、`CREATE_AS`、`ALTER`、`DROP`、`TRUNCATE` | -| 管理与查看 | `SHOW_TABLES`、`SHOW_COLUMNS`、`DESC_TABLE`、`EXPLAIN` | -| 其他 | 无法归类的 AST 返回 `OTHER` | - -具体 SQL 能否构建 AST,仍取决于所选数据源的方言支持情况。 diff --git a/website/versioned_docs/version-1.0/core/table-lineage.md b/website/versioned_docs/version-1.0/core/table-lineage.md deleted file mode 100644 index 9f0a9a6..0000000 --- a/website/versioned_docs/version-1.0/core/table-lineage.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: 表血缘解析 -description: 解析 SQL 中来源表到目标表的血缘关系 -sidebar_label: 表血缘解析 -sidebar_position: 2 ---- - -# 表血缘解析 - -## 1. 引入依赖 - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` 已传递依赖 `sqlparserx-syntax` 与 Druid,无需额外引入。 - -## 2. 完整示例 - -沿用官方 `sqlparserx-core/README.md` 的示例 SQL,从获取解析器到打印表血缘: - -```java title="TableLineageDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; - -import com.alibaba.druid.DbType; - -import java.util.List; - -public class TableLineageDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1、获取解析器 - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2、解析表血缘 - TableLineageResult result = parser.parseTableLineages(sql); - - // 3、读取结果 - System.out.println("目标表: " + result.getTargetTable()); - System.out.println("来源表: " + result.getSourceTables()); - - List tableLineages = result.getTableLineages(); - for (TableLineage lineage : tableLineages) { - System.out.println(lineage.getFromTable() + " -> " + lineage.getToTable()); - } - } -} -``` - -控制台输出(示例): - -```text -目标表: user_order_summary -来源表: [users, orders] -users -> user_order_summary -orders -> user_order_summary -``` - -## 3. 实现目标 - -从 SQL 中解析**目标表 → 来源表**的表级血缘关系,覆盖 JOIN、UNION、子查询、聚合与 CTE 等结构。 - -```text -SQLStatement AST - → TableLineageClient.parseTableLineages - → 收集来源表 + 目标表 - → TableLineageResult -``` - -## 4. 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseTableLineages(sql)` | -| 默认实现 | `BaseSqlParser.parseTableLineages` → `TableLineageClient` | -| 返回类型 | `TableLineageResult`(`getTargetTable()` + `getSourceTables()` + `getTableLineages()`) | -| 覆盖结构 | JOIN、UNION、子查询、聚合、CTE | - -## 5. 支持粒度 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| 单表 / 多表 JOIN | **已支持 ✅** | 解析所有参与表 | -| UNION / UNION ALL | **已支持 ✅** | 归并各分支来源表 | -| 子查询 / 派生表 | **已支持 ✅** | 递归收集真实表 | -| CTE(WITH) | **已支持 ✅** | 识别 CTE 与其真实来源 | -| `INSERT INTO ... SELECT` | **已支持 ✅** | 输出目标表与来源表 | - -> 更多表血缘场景与数据源差异,以项目 `docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表血缘解析支持情况.md` 为准。 \ No newline at end of file diff --git a/website/versioned_docs/version-1.0/core/table-parse.md b/website/versioned_docs/version-1.0/core/table-parse.md deleted file mode 100644 index ad70fd5..0000000 --- a/website/versioned_docs/version-1.0/core/table-parse.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: 表解析 -description: 从 SQL 文本中解析真实表、CTE、CREATE TABLE、分区与属性 -sidebar_label: 表解析 -sidebar_position: 3 ---- - -# 表解析 - -## 1. 引入依赖 - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -> `sqlparserx-core` 已传递依赖 `sqlparserx-syntax` 与 Druid,无需额外引入。 - -## 2. 完整示例 - -同样沿用官方 `sqlparserx-core/README.md` 的示例 SQL,演示「解析真实表」与「解析建表语句」: - -```java title="TableParseDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseCreateTableResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.DbType; - -public class TableParseDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1、获取解析器 - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2、解析 SQL 中的真实表 - ParseTableResult tableResult = parser.parseTables(sql); - System.out.println("主表: " + tableResult.getMainTable().getName()); - System.out.println("所有表: " + tableResult.getAllTableName()); - - // 3、解析 CREATE TABLE 语句结构 - ParseCreateTableResult createResult = parser.parseCreateTable(sql); - System.out.println("建表名: " + createResult.getDb() + "." + createResult.getTableName()); - System.out.println("字段数: " + createResult.getTableElementList().size()); - } -} -``` - -控制台输出(示例): - -```text -主表: users -所有表: [user_order_summary, users, orders] -建表名: null.user_order_summary -字段数: 4 -``` - -## 3. 实现目标 - -从 SQL 文本中识别**真实表**,包括普通查询用表、CTE、`CREATE TABLE` 定义、分区与表属性等。 - -```text -SQLStatement AST - → ParseTableClient.parseTables / parseCreateTable - → 收集表 / CTE / 建表结构 / 分区 / 属性 - → ParseTableResult / ParseCreateTableResult -``` - -## 4. 入口与实现位置 - -| 项目 | 内容 | -|---|---| -| Core 入口 | `ISqlParser.parseTables(sql)`、`ISqlParser.parseCreateTable(sql)` | -| 默认实现 | `BaseSqlParser.parseTables` → `ParseTableClient` | -| 返回类型 | `ParseTableResult`、`ParseCreateTableResult` | -| 覆盖对象 | 查询用表、CTE、`CREATE TABLE`、分区、表属性 | - -## 5. 支持粒度 - -| 能力项 | 支持情况 | 说明 | -|---|---|---| -| 查询用表识别 | **已支持 ✅** | SELECT / INSERT / UPDATE / DELETE | -| CTE 识别 | **已支持 ✅** | WITH 定义的临时表 | -| `CREATE TABLE` DDL | **已支持 ✅** | 表名、字段、类型、注释 | -| 分区与表属性 | **已支持 ✅** | 各数据源方言差异内聚在语法层 | -| `catalog.db.table` 多级命名 | **已支持 ✅** | 多 catalog 场景 | - -> 更多表解析场景与数据源差异,以项目 `docs/02、SQL业务层解析能力支撑情况/能力支持情况/通用解析能力/表解析支持情况.md` 为准。 \ No newline at end of file diff --git a/website/versioned_docs/version-1.0/intro.md b/website/versioned_docs/version-1.0/intro.md deleted file mode 100644 index 5dab59f..0000000 --- a/website/versioned_docs/version-1.0/intro.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: SqlParserX 文档 -description: SqlParserX 多方言 SQL 解析引擎与工具包的文档入口 -slug: /intro -sidebar_label: 文档导读 -sidebar_position: 1 ---- - -# 欢迎使用 SqlParserX - -SqlParserX 是一个**多方言 SQL 解析引擎与工具包**,面向 SQL 类型识别、表/DDL 解析、表与字段血缘、函数提取以及参数提取与预编译等场景。 - -项目采用两层架构:`sqlparserx-syntax` 负责把 SQL 解析为 Druid AST 并承载语法扩展;`sqlparserx-core` 通过统一的 `ISqlParser` 契约消费 AST,产出业务解析结果。`sqlparserx-web` 与 `sqlparserx-ui` 提供服务化与可视化访问能力。 - -## 从这里开始 - -- 🚀 [快速开始](./quickstart/setup.md) -- 📖 [SqlParserX 介绍](./about/introduction.md) -- 🏗️ [架构设计](./about/architecture.md) - -## 文档结构 - -- **关于 SqlParserX**:项目介绍与两层架构设计 -- **快速开始**:环境准备、构建与运行 -- **核心解析能力使用**:SQL 类型识别、字段血缘、表血缘、表解析、函数解析、参数提取与预编译 -- **贡献指南**:参与贡献的流程与规范 - -:::tip 提示 -本站右侧导航栏可切换**版本**(`1.0` / `Next`)与**语言**(简体中文 / English)。 -::: diff --git a/website/versioned_docs/version-1.0/quickstart/setup.md b/website/versioned_docs/version-1.0/quickstart/setup.md deleted file mode 100644 index 041794e..0000000 --- a/website/versioned_docs/version-1.0/quickstart/setup.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: 快速开始 -description: 引入依赖、构建并在本地运行 SqlParserX 的完整示例 -sidebar_label: 环境准备与构建 -sidebar_position: 1 ---- - -# 快速开始 - -## 1. 环境要求 - -| 依赖 | 版本 | -|---|---| -| JDK | Java 8+ | -| Maven | 3.6+ | -| Node.js(仅 `sqlparserx-ui`) | >= 20 | - -## 2. 引入依赖 - -在业务工程的 `pom.xml` 中引入**业务解析层** `sqlparserx-core` 即可: - -```xml - - com.dtstack - sqlparserx-core - 1.0-SNAPSHOT - -``` - -:::tip 依赖说明 -`sqlparserx-core` 会**传递依赖** `sqlparserx-syntax`(语法层)与官方 Druid,因此业务解析只需引入 `core` 一个坐标;若只做 SQL→AST 的语法解析,也可以单独引入 `sqlparserx-syntax`。 -::: - -:::note 从源码使用 -`1.0-SNAPSHOT` 若尚未发布到远程仓库,请先拉取源码并安装到本地仓库: - -```bash -git clone https://github.com/DTStack/SqlParserX.git -cd SqlParserX -mvn clean install -DskipTests -``` - -之后上面的坐标即可在本地直接使用。 -::: - -## 3. Hello World:解析一段 SQL - -下面是一个**完整可运行**的类,覆盖解析表、字段血缘、表血缘与函数四类能力, -与官方 `sqlparserx-core/README.md` 中的示例保持一致: - -```java title="SqlParserXDemo.java" -import com.dtstack.sqlparserx.core.parser.ISqlParser; -import com.dtstack.sqlparserx.core.parser.SqlParserFactory; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.Column; -import com.dtstack.sqlparserx.core.parser.base.lineage.column.ColumnLineageResult; -import com.dtstack.sqlparserx.core.parser.base.lineage.domain.TableLineage; -import com.dtstack.sqlparserx.core.parser.base.lineage.table.TableLineageResult; -import com.dtstack.sqlparserx.core.parser.base.table.domain.ParseTableResult; - -import com.alibaba.druid.DbType; - -import java.util.*; - -public class SqlParserXDemo { - - public static void main(String[] args) { - String sql = "CREATE TABLE user_order_summary AS\n" - + "SELECT\n" - + " u.id as user_id,\n" - + " u.name,\n" - + " SUM(o.amount) as total_amount,\n" - + " COUNT(o.id) as order_count\n" - + "FROM users u JOIN orders o ON u.id = o.user_id\n" - + "GROUP BY u.id, u.name"; - - // 1、按数据源类型获取解析器(支持 mysql/hive/doris/... 15+ 方言) - ISqlParser parser = SqlParserFactory.getSqlParser(DbType.mysql); - - // 2、解析真实表 - ParseTableResult tableResult = parser.parseTables(sql); - System.out.println("主表: " + tableResult.getMainTable().getName()); - System.out.println("所有表: " + tableResult.getAllTableName()); - - // 3、解析字段血缘(select * 场景可传入真实字段元数据) - Map> tableColumnsMap = new HashMap<>(); - tableColumnsMap.put("users", Arrays.asList(new Column("id", 0), new Column("name", 1))); - tableColumnsMap.put("orders", Arrays.asList(new Column("amount", 0), new Column("id", 1))); - ColumnLineageResult columnLineageResult = - parser.parseColumnLineages(sql, tableColumnsMap); - columnLineageResult.printColumnLineage(); - - // 4、解析表血缘 - TableLineageResult tableLineageResult = parser.parseTableLineages(sql); - List tableLineages = tableLineageResult.getTableLineages(); - System.out.println("表血缘: " + tableLineages); - - // 5、解析函数 - Set functions = parser.parseFunction(sql); - System.out.println("函数集合: " + functions); - } -} -``` - -控制台输出(示例): - -```text -主表: users -所有表: [user_order_summary, users, orders] -users.id -> user_order_summary.user_id -users.name -> user_order_summary.name -orders.amount -> user_order_summary.total_amount -orders.id -> user_order_summary.order_count -表血缘: [TableLineage{fromCatalog='null', fromDb='null', fromTable='users', toCatalog='null', toDb='null', toTable='user_order_summary'}, ...] -函数集合: [sum, count] -``` - -## 4. 下一步 - -各核心能力的**依赖引入 + 完整示例**见: - -- [字段血缘解析](../core/field-lineage.md) -- [表血缘解析](../core/table-lineage.md) -- [表解析](../core/table-parse.md) -- [函数解析](../core/function-parse.md) \ No newline at end of file diff --git a/website/versioned_sidebars/version-1.0-sidebars.json b/website/versioned_sidebars/version-1.0-sidebars.json deleted file mode 100644 index 71c55b8..0000000 --- a/website/versioned_sidebars/version-1.0-sidebars.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "docs": [ - "intro", - { - "type": "category", - "label": "关于 SqlParserX", - "collapsed": false, - "items": [ - "about/introduction", - "about/architecture" - ] - }, - { - "type": "category", - "label": "快速开始", - "collapsed": false, - "items": [ - "quickstart/setup" - ] - }, - { - "type": "category", - "label": "核心解析能力使用", - "collapsed": false, - "items": [ - "core/sql-type", - "core/field-lineage", - "core/table-lineage", - "core/table-parse", - "core/function-parse", - "core/parameter-compile" - ] - }, - { - "type": "category", - "label": "贡献指南", - "collapsed": true, - "items": [ - "contributing" - ] - } - ] -} diff --git a/website/versions.json b/website/versions.json deleted file mode 100644 index 9a369ed..0000000 --- a/website/versions.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - "1.0" -]